Автоматизированная система генерации текстур | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 мая, печатный экземпляр отправим 8 мая.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №20 (415) май 2022 г.

Дата публикации: 15.05.2022

Статья просмотрена: 91 раз

Библиографическое описание:

Рыбаков, А. В. Автоматизированная система генерации текстур / А. В. Рыбаков. — Текст : непосредственный // Молодой ученый. — 2022. — № 20 (415). — С. 150-154. — URL: https://moluch.ru/archive/415/91580/ (дата обращения: 26.04.2024).



В статье автор представляет свою автоматизированную систему генерации текстур.

Ключевые слова: свёрточная нейронная сеть, генерация текстур, генеративно-состязательная сеть.

В последние годы люди уделяют много внимания нейросетям, основными задачами которых являются синтез, порождение, генерация изображений. В качестве примера можно рассматривать сеть DALL-E, которая впервые была показана в 2021 году и сразу приобрела популярность. Задача генерации заключается в следующем: компьютер должен просмотреть большое количество изображений, содержащих некоторые объекты, например: лица, собак или машин, в общем тот или иной объект, и, выучив, что такое собака, лицо или машина, он должен учиться создавать новые изображения. Важно, что эти новые изображения должны быть, во-первых, реалистичными для человека, то есть при сравнении двух изображений (реального и сгенерированного) человек не должен видеть разницы. А во-вторых, новые, сгенерированные объекты должны существенным образом отличаться от тех объектов, которые нейросеть видела в ходе обучения. Создание текстур при помощи нейросети позволит людям создавать уникальные объекты в 3D моделировании, добавить уникальности своей работе при создании фильмов/мультфильмов и т. д.

Для решения этой проблемы была создана свёрточная нейронная сеть. Такие нейросети обычно анализируют не все данные сразу, а проходятся по ним фильтром с заданным размером: если у вас есть изображение 200×200, то сеть считает квадрат размера 20x20, сдвинется на 1 пиксель и считает новый квадрат. Затем входные данные передаются через свёрточные слои, в которых не все узлы соединены между собой. Эти слои могут сжиматься с глубиной, причем часто используются степени двойки: 32, 16, 8, 4, 2, 1.

Для улучшения результата при генерации изображения используется генеративно-состязательная сеть (GAN).

GAN состоит из двух сетей:

– Генератор, с помощью которого мы получаем поддельные изображения по входному вектору шума;

– Дискриминатор, различающий реальный набор текстур и сгенерированный генератором.

Основным критерием для сгенерированных текстур является невозможность отличить искусственно созданный объект от реального, созданного иным путём (не сгенерированным нейросетью). Для того, чтобы получать максимально реалистичное изображение, необходимо не только генерировать текстуры, но и делать выборку наиболее реалистичных из полученных в ходе генерации. Для этого в системах генерации изображений часто используется дискриминатор. Сети, в которых используются сразу генератор и дискриминатор называются генеративно-состязательными сетями. Шаги, которые проходит GAN:

– Установка начального рандомного значения для генератора.

– Генерация изображения

– Подача искусственного изображения вместе с реальными на вход дискриминатора.

– Дискриминатор принимает изображения и возвращает вероятность, с которой то или иное изображение является реальным (числа от 0 до 1).

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

Дискриминатор представляет собой стандартную свёрточную сеть, алгоритм нормализации по батчу и функцию активации LeakyReLU. В то время как генератор представляет собой обратную свёрточную сеть, нормализатор по батчу и функцию активации ReLU. На вход генератора поступает рандомное значение (в оригинеле seed), после чего он преобразует вектор случайного шума в изображение.

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

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

,

Здесь подстрочные индексы — это индексы элементов в матрицах, а — величина шага свёртки. Надстрочные индексы — это индексы слоёв сети.

— выход какой-то предыдущей функции, либо входное изображение сети;

— это после прохождения функции активации

— ядро свёртки

— bias или смещение

— результат операции конволюци. То есть операции проходят отдельно для каждого элемента матрицы , размерность которой .

Но при применении данной формулы ядро при свертке «переворачивается». Чтобы элементы ядра при свёртке сохраняли свои позиции мы будем использовать формулу кросс-корреляции вместо конволюции:

Для того, чтобы сделать сеть нелинейной мы будем применять формулу функции активации:

, где — это количество классов.

Далее нам понадобится описать математически слой полносвязной сети:

,

Завершающий этап сети — функция, оценивающая качество работы всей модели. Она находится после всех слоёв сети и выглядит следующим образом:

В данной работе представлена автоматизированная система генерации текстур. В её основе лежит генеративно-состязательная сеть. Система была разработана на языке программирования Python. Использовались библиотеки torch, torchvision, numpy, matplotlib, PyQt5. На рисунке 1 вы можете ознакомиться с алгоритмом работы системы.

Алгоритм работы системы

Рис. 1. Алгоритм работы системы

Для примера работы данной сети при обучении использовался набор данных в виде текстур дерева (529 изображений). При демонстрации работы сети было проведено два сравнительных прогона системы с различными параметрами коэффициента обучения. В первом случае 0.0005, во втором 0.0002. Размер батча 128, количество эпох обучения 1500 в обоих прогонах.

Пример изображений из набора данных

Рис. 2. Пример изображений из набора данных

График потерь при обучении в первом случае

Рис. 3. График потерь при обучении в первом случае

Пример сгенерированных изображений после обучения в первом случае

Рис. 4. Пример сгенерированных изображений после обучения в первом случае

График потерь при обучении во втором случае

Рис. 5. График потерь при обучении во втором случае

Пример сгенерированных изображений после обучения во втором случае

Рис. 6. Пример сгенерированных изображений после обучения во втором случае

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

Литература:

  1. Habr, Сверточная нейронная сеть, часть 1: структура, топология, функции активации и обучающее множество [Электронный ресурс]. — URL: https://habr.com/ru/company/econtenta/blog/303458/. (дата обращения: 25.11.2019).
  2. PGGAN Creates Realistic Faces [Электронный ресурс]. — URL: https://towardsdatascience.com/progressive-gans-new-training-trend-for-2018-c18cb0190239
Основные термины (генерируются автоматически): GAN, изображение, сеть, генеративно-состязательная сеть, DALL-E, автоматизированная система генерации текстур, алгоритм работы системы, Генерация изображения, график потерь, нейронная сеть.


Ключевые слова

свёрточная нейронная сеть, генерация текстур, генеративно-состязательная сеть

Похожие статьи

Искусственный интеллект и проблемы кибербезопасности.

Генеративная состязательная сеть — это система, с помощью которой изображения из автокодировщика сравниваются с реальными изображениями целевого человека. Он отклоняет неточные изображения, вызывая новые попытки, и цикл продолжается бесконечно...

Практическое применение искусственных нейронных сетей...

Искусственная нейронная сеть (ИНС) — математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетейсетей нервных клеток живого организма [1].

Обнаружение объектов на изображении для автономных роботов

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

Применение интерактивного генетического алгоритма для поиска...

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

Разработка системы автоматизированного управления режимом...

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

Искусственные нейронные сети (ИНС)

Таким образом, искусственная нейронная сеть сама найдет закономерности, по которым можно определить тот или иной объект на изображении [2]

Итак, обучение подобной искусственной нейронной сети на центральном процессоре Intel Xeon с 24 ядрами займет в 7 раз больше...

Обзор методов распознавания изображений | Статья в сборнике...

Свёрточная нейронная сеть (Convolutional neural network или CNN) — специальная архитектура нейронных сетей, предложенная в 1988 году и предназначенная для распознавания изображений. Архитектура вдохновлена некоторыми особенностями коры головного мозга, в...

Механизмы работы нейронных сетей | Статья в журнале...

Мухамадиева, К. Б. Механизмы работы нейронных сетей / К. Б. Мухамадиева, С. С. Самадов.

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

Разработка элементов Smart Grid для оптимизации режимов...

Smart Grid — это автоматизированная система, которая самостоятельно

- насыщенность сети активными элементами, позволяющими изменять топологические параметры сети.

- средства автоматической оценки текущей ситуации и построения прогнозов работы сети.

Процесс распознавания изображения нейронной сетью

Нейронная сеть — это математическая модель и ее реализация в виде программной или

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

Нейронная сеть для распознавания изображений, пожалуй, самый...

Похожие статьи

Искусственный интеллект и проблемы кибербезопасности.

Генеративная состязательная сеть — это система, с помощью которой изображения из автокодировщика сравниваются с реальными изображениями целевого человека. Он отклоняет неточные изображения, вызывая новые попытки, и цикл продолжается бесконечно...

Практическое применение искусственных нейронных сетей...

Искусственная нейронная сеть (ИНС) — математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетейсетей нервных клеток живого организма [1].

Обнаружение объектов на изображении для автономных роботов

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

Применение интерактивного генетического алгоритма для поиска...

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

Разработка системы автоматизированного управления режимом...

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

Искусственные нейронные сети (ИНС)

Таким образом, искусственная нейронная сеть сама найдет закономерности, по которым можно определить тот или иной объект на изображении [2]

Итак, обучение подобной искусственной нейронной сети на центральном процессоре Intel Xeon с 24 ядрами займет в 7 раз больше...

Обзор методов распознавания изображений | Статья в сборнике...

Свёрточная нейронная сеть (Convolutional neural network или CNN) — специальная архитектура нейронных сетей, предложенная в 1988 году и предназначенная для распознавания изображений. Архитектура вдохновлена некоторыми особенностями коры головного мозга, в...

Механизмы работы нейронных сетей | Статья в журнале...

Мухамадиева, К. Б. Механизмы работы нейронных сетей / К. Б. Мухамадиева, С. С. Самадов.

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

Разработка элементов Smart Grid для оптимизации режимов...

Smart Grid — это автоматизированная система, которая самостоятельно

- насыщенность сети активными элементами, позволяющими изменять топологические параметры сети.

- средства автоматической оценки текущей ситуации и построения прогнозов работы сети.

Процесс распознавания изображения нейронной сетью

Нейронная сеть — это математическая модель и ее реализация в виде программной или

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

Нейронная сеть для распознавания изображений, пожалуй, самый...

Задать вопрос