Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
анализ нейронных сетей.docx
Скачиваний:
4
Добавлен:
21.07.2024
Размер:
3.09 Mб
Скачать

Нейронные сети для обработки изображений

Стоит отметить, что, говоря о роли нейронных сетей в компьютерной графике, мы в первую очередь представляем себе непосредственно работу алгоритмов с изображениями, и уже в последнюю говорим об использовании неких алгоритмов для улучшения работы графики на уровне GPGPU (Например, выборка ассетов с помощью нейронных сетей, позволяющая эффективно провести процесс рендеринга), поэтому, считаю нужным для начала описать именно эту сторону работы как самую массовую.

Очевидно, как и любая область компьютерных наук, графика описана математически и работа с любым изображением, в конечном итоге, сводится именно к математике, а где есть математика, там есть и возможности для формализации той или иной задачи. Таким образом, в графике существует огромное количество задач, которые осуществимы с помощью нейронных сетей. Встречаются как вполне тривиальные задачи, которые во многом уже стали для нас обыденностью, так и более сложные, комплексные задачи, требующие особого подхода.

В пример тривиальной задачи, можно привести распознавание рукописного текста. Распознавание текста используется повсеместно, в любом деле, где фигурирует больше число рукописных документов. Я же буду говорить о наиболее близкой мне теме – ЕГЭ. На XV международной научно-практической конференции студентов аспирантов и молодых учёных «Молодёжь и современные информационные технологии» [8] был представлен алгоритм на основе архитектуры подобной СНС (Свёрточной Нейронной Сети) LeNet-5, с изменённым количеством входов для распознавания русского алфавита [9].

По результатам первых тестов, ошибка составила 2.25%, что можно считать неплохим началом, для задачи распознавания объектов.

Поскольку существует проблема распознавания цифр и букв в пределах одной нейронной сети (это связанно с тем, что буква гораздо больше, чем цифр. Как следствие, обучающая выборка для распознавания цифр имеет меньшее количество обучающих примеров, чем прецеденты для букв. А поэтому, нейронная сеть будет определять цифры похожие на буквы, как буквы.) было решено создавать две нейронных сети – одну для распознавания букв, а вторую – для цифр. По задумке, после определения класса вопроса (является ли ответ на вопрос численным или буквенным), символ отправляется в свою нейронную сеть для распознавания, таким образом, получается следующая блок-схема.

Следует отметить, что почерк человека индивидуален и может вызвать сложности в прочтении даже у людей. А посему, СНС может допускать ошибки в ситуациях с непонятным почерком. Например, если ученик нечётко написал в бланке ответов букву «И», в таком случае СНС может распознать её как «Н».

Решением такой проблемы может послужить синтаксический анализ, который бы позволил проверить грамматику слов или фраз целиком, что, к слову, так же является задачей для нейронных сетей.

Примером же нетривиальной, намного более сложной задачи в области компьютерной графики, осуществляемой при помощи нейронных сетей, можно привести следующий:

10 Мая 2021 года Intel представили нейронную сеть, которая в реальном времени улучшает графику видео игры Grand Theft Auto V до фотореалистичной. Нейронная сеть встраивается в графический движок видео игры, получая полный доступ к графическому буферу, а затем, модифицирует содержимое буфера по образу учебной выборки.

В данном примере, мы имеем дело всё с той же СНС, поскольку она является лучшим образом подходит для сравнения объектов на изображении.

Как было сказано ранее, стартовая точка для алгоритма – набор промежуточных буферов (G-buffers), создаваемых игровым движком в процессе рендеринга кадра. Эти буферы предоставляют подробную информацию о геометрии, материалах и освещении сцены. С помощью этой информации, СНС модифицирует графический конвейер учебной выборкой.

Чтобы интегрировать получившийся модифицированный буфер обратно в графический конвейер, были разработаны особые сетевые компоненты, которые модулируют функции визуализированного изображения в соответствии с информацией, извлечённой из буферов.

Синтез фотореалистичного изображения происходит, не влияя на все физические процессы, участвующие в рендеринге изображения (отражения, блики). Однако, такая опция требует намного больше вычислительных мощностей, потому как в некоторых случаях требует физической точности.

В общем схема алгоритма выглядит так:

Как видно из скриншотов работы, после синтеза изображения действительно выглядят фотореалистичными. Это показывает насколько сложные вещи можно делать с помощью нейронных сетей.