![]() |
Даты проведения с 2023-07-19 по 2023-12-01 |
Категория: программирование. ГБОУ Школа 1533 "ЛИТ"; 119296, г. Москва, Ломоносовский пр-кт, д. 16. тел.: +7 499 133-24-35; E-mail: 1533@edu.mos.ru. Разработка метода генерации качественных изображений с помощью text2image нейросетевых моделей. Воложева Таисия. Класс: 11. 117418 г. Москва ул. Новочеремушкинская д. 50 кв. 715 тел.: +7 925 875-50-66; e-mail: t.volozheva@mail.ru. Научный руководитель: Козлов Денис Михайлович, разработчик Яндекса.
В последнее время различные text2image модели приобретают все большую
популярность. Яркими примерами являются такие модели, как Stable Diffusion, DALLE-2,
Midjourney. Их задача — генерировать изображения по текстовому описанию (затравке).
Но хоть теперь text2image модели и используют повсеместно, данная сфера еще очень
молода и имеет некоторые нюансы в использовании.
Например, нейрохудожники часто сталкиваются с различными проблемами при
отрисовке и перерисовке лиц, создавая комиксы и видео. И моей задачей было на основе
модели Stable Diffusion усовершенствовать существующие методы, чтобы решить эти
проблемы. Для реализации была выбрана именно эта модель, так как она имеет открытый
код и является стандартом в научной среде.
Одна из главных проблем, с которой сталкиваются нейрохудожники — генерация
лиц. Человеческий мозг привык обращать внимание, в первую очередь, на лица людей,
поэтому ошибки с количеством пальцев или неправильными пропорциями все же менее
критичны, чем искаженные лица на изображении.
Все text2image модели обучены на ограниченной базе данных и имеют
информацию не обо всех сущностях. Поэтому, чтобы отрисовать каких-либо
знаменитостей, вымышленных персонажей и т.д., обычно необходимо качественно
описать персонажа, что является открытой задачей. Другой, более надежный и
качественный способ добиться желаемого результата — сначала получить вектор,
хранящий в себе информацию об изображении лица желаемого человека, а потом
загрузить его в модель.
Для реализации второго способа мной был выбран Textual Inversion — метод
обучения новым концепциям модели Stable Diffusion. Выбор пал на него, так как, по
сравнению со своими аналогами — методами DreamBooth и LoRa — он требует меньший
размер датасета для обучения, чем остальные, и в результате работы выдает вектор, с
которым несложно далее работать.
Мною было проведено подробное исследование Textual Inversion. И при помощи
кода для экспериментального обучения и генерации изображений в больших объемах и
реализации метода оценки качества полученных векторов, было подтверждено его высокое
качество работы.
В процессе исследования данного метода были выявлены некоторые его
особенности. Оказалось, что, когда с его помощью мы обучаем новое понятие, модель
берет за аксиому тот факт, что на изображениях рендер, рисунок или объект. Поэтому
Textual Inversion на людях и особенно их лицах работает посредственно. Для исправления
данной проблемы мной были подобраны соответствующие лицам описания,
способствующие фокусировке в процессе обучения именно на чертах лица, что помогло
добиться более реалистичных и качественных результатов. Ниже представлено сравнение результатов обучения с изначальными затравками (1.1) и с доработанными мной (1.2).