От медицины до агротеха

Как редактирование изображений поможет науке

Айбек Аланов, руководитель группы «Контролируемый генеративный ИИ» лаборатории FusionBrain Института AIRI, заведующий центром глубинного обучения и байесовских методов НИУ ВШЭ, рассказал «Ъ-Науке», почему сложно редактировать изображения с помощью ИИ, зачем нужно контролировать искусственный интеллект и как в этом поможет новый алгоритм.

— Редактирование фотографий с помощью ИИ — это задача, в рамках которой мы можем изменять входное изображение преимущественно с помощью текстового запроса. Например, на картинке изображена кошка, нам нужна собачка — мы формируем запрос, и метод заменяет объект, но все остальные характеристики — поза животного, цвет и другие — остаются неизменными. То есть меняется лишь атрибут, смену которого мы запросили в текстовом описании. Помимо этого, возможно и изменение стиля — например, отрисовка в виде скетча или аниме. Алгоритм тот же: формируем запрос, и происходит стилизация.

Зачем это нужно? Приложений у этой технологии много. Например, если с помощью текстового интерфейса можно автоматически изменять изображение, то это пригодится для генерации новых данных, в частности, для их аугментации. Часто для обучения моделей искусственного интеллекта требуется большой объем данных.

Предположим, мы хотим классифицировать животных. Для этого нужно собирать изображения, размечать их вручную, что долго и дорого. Теперь же мы можем взять изображение животного и с помощью текстового запроса менять его, получая новые примеры. Таким образом можно значительно увеличить обучающую выборку почти бесплатно и без использования человеческой разметки. А размер выборки является ключевым фактором качества итоговой модели. Более того, можно менять не только сам объект, но и задний фон. Например, можно нарисовать животное в лесу, городе или других сценах, что дополнительно обогатит данные.

Еще одно направление применения — индустрия, связанная с графикой и видео. Сегодня существует много инструментов для работы с изображениями, таких как Photoshop, но они рассчитаны на профессионалов. Этот же инструмент делает работу доступной для обычных пользователей через текстовый интерфейс, где достаточно просто описать, что именно нужно изменить. Это также полезно для разработки игр, где нужно создавать большое количество графического контента и миров. Такие инструменты могут значительно ускорить этот процесс и улучшить результат.

— Кто ключевой пользователь подобных решений? В чем их ценность для науки?

— Можно выделить два типа пользователей. Это исследователи или компании, которые обучают модели машинного обучения. Им такие инструменты помогают обогатить обучающую выборку. И все те, кто так или иначе работает с графикой в широком понимании: разработчики веб-сайтов, продавцы товаров, которым нужны изображения продукции, разработчики игр, которым нужно создавать большие объемы графического контента. Конечно, это далеко не все возможные применения, но это первое, что приходит на ум.

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

— Можно ли определить, что сложнее для исследователя/разработчика ИИ-решений — создать алгоритм для генерации изображений с нуля или стилизация/редактура уже существующих изображений?

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

— В чем сложности работы с уже готовыми изображениями? С какими проблемами вы сталкиваетесь?

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

Проблема заключается в том, чтобы найти такое внутреннее представление, которое позволит с высокой точностью восстановить исходное изображение. Если качество представления низкое, то сгенерированное изображение будет отличаться от оригинала — появятся артефакты или искажения. Здесь возникает компромисс: если мы воспроизводим изображение с очень высокой точностью, может возникнуть проблема с его редактированием. В идеале, конечно, нужно найти баланс — сохранить точность, но при этом дать возможность редактировать определенные части изображения. Если восстановить изображение слишком точно, редактировать его будет сложно.

Пример инверсии

Пример инверсии

Фото: Институт AIRI

Пример инверсии

Фото: Институт AIRI

— Название вашей научной группы — «Контролируемый генеративный ИИ». Расскажите подробнее об этом самом контроле. Над чем вы работаете и какие задачи решаете?

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

Что касается контроля, то изначально такие модели просто генерируют картинку по заданному описанию. Если результат нам не нравится, нужно перегенерировать изображение с нуля, что снижает гибкость. Поэтому возникла необходимость в методах, которые позволяют точнее контролировать, что именно будет сгенерировано. Например, кроме текста можно добавить на вход еще одно изображение, чтобы задать форму объекта. Это методы с использованием контрольных картинок (ControlNet).

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

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

— Расскажите о новом алгоритме StyleFeatureEditor (SFE), который разработала команда. Почему возникла необходимость в новом методе и какие проблемы существующих подходов он решает?

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

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

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

Необходимость в разработке такого метода возникла из-за отсутствия подходов, которые одновременно могли бы восстанавливать лицо в высоком качестве и редактировать его. Ученые всегда стремятся найти оптимальное решение, которое будет лучше существующих методов. Задача редактирования лиц актуальна во многих областях, особенно для генерации новых датасетов. Множество приложений требуют возможности качественного редактирования лиц, что повышает востребованность этой технологии.

— В релизе упомянуто, что алгоритм показывает улучшение в четыре раза по метрике LPIPS по сравнению с 11 ведущими аналогами. Расскажите подробнее о проведенных экспериментах и сравнительных тестах.

— Для решения этой задачи существует стандартный протокол сравнения методов, в рамках которого оценивается, насколько хорошо внутреннее представление изображения позволяет восстанавливать исходное изображение с высоким качеством. Метрика LPIPS измеряет степень сходства восстановленного изображения с оригиналом. Чем меньше значение метрики, тем лучше восстановление. Это означает, что расстояние между изображениями меньше.

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

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

— Как проводились эксперименты и тесты?

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

Мы автоматически применяли метод ко всем изображениям, вычисляя разницу между оригиналом и восстановленной версией. Весь процесс тестирования занимает разумное количество времени: для одного метода — несколько минут, для всех 11 методов — десятки минут.

Здесь отмечу, что каждый атрибут тестировался отдельно. Для публикации мы выбрали несколько наиболее распространенных атрибутов, чтобы продемонстрировать, что метод действительно работает эффективно.

— Почему вы выбрали именно диффузионную архитектуру, а не вариационные автокодировщики (VAE) или модели на основе потоков (Flow-based models), генеративно-состязательные сети (GAN)? Какие особенности есть у диффузионных моделей?

— Это связано с развитием наших исследований. В статье про StyleFeatureEditor мы использовали генеративно-состязательные сети (GAN), поскольку они хорошо работают с узкими доменами, такими как лица. GAN обладают высокой скоростью генерации: они могут создавать изображения за доли секунды, что делает их особенно подходящими для задач, где важна скорость. Однако для следующей работы, которая принята на конференцию ECCV, мы уже использовали диффузионные модели.

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

Если говорить о старой модели, StyleFeatureEditor, основная сложность заключалась в нахождении баланса. Мы стремились к тому, чтобы модель восстанавливала все детали лица, но при этом оставалась способной к редактированию. Когда модель слишком хорошо восстанавливает лицо, оно перестает поддаваться изменениям — редактирование становится затруднительным. Нам нужно было найти такой способ обучения, который позволял бы сохранять детали, но при этом давал возможность редактировать атрибуты — например, изменять возраст или эмоции, сохраняя остальные части изображения неизменными. Разработка новых функций потерь и регуляризаторов для достижения этого баланса стала ключевой задачей.

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

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

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

— Какое влияние на область редактирования изображений, по вашему мнению, окажет внедрение алгоритма SFE? Есть ли уже примеры его успешного применения?

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

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

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

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

Подготовлено при поддержке Института AIRI

Источник картинок Института AIRI

Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...
Загрузка новости...