Искусственный интеллект
UniTune: альтернативная нейронная техника редактирования изображений от Google

Исследователи Google, кажется, атакуют текстовое редактирование изображений с нескольких сторон и, предположительно, ждут, чтобы увидеть, что “сработает”. Горячо на след этой недели выпуска своей статьи Imagic, поисковый гигант предложил дополнительный метод редактирования изображений на основе текстовых команд, называемый UniTune.
Основываясь на примерах, представленных в новой статье проекта, UniTune достигла необычайной степени дезентанглемента семантической позы и идеи от фактического содержания изображения:

UniTune демонстрирует исключительное мастерство семантической композиции. Обратите внимание, как в верхнем ряду изображений лица двух людей не были искажены необычайной трансформацией остальной части исходного изображения (справа). Источник: https://arxiv.org/pdf/2210.09477.pdf
Как поклонники Stable Diffusion уже узнали, применение редактирования к частям изображения без негативного влияния на остальную часть изображения может быть сложной, иногда невозможной операцией. Хотя популярные дистрибутивы, такие как AUTOMATIC1111, могут создавать маски для локальных и ограниченных редактирований, процесс является извилистым и часто непредсказуемым.
Очевидный ответ, по крайней мере для практика компьютерного зрения, заключается в том, чтобы вставить слой семантической сегментации, который может распознавать и изолировать объекты в изображении без вмешательства пользователя, и, действительно, в последнее время было несколько новых инициатив в этом направлении.
Другой возможностью для блокирования беспорядочных и запутанных нейронных операций редактирования изображений является использование модуля Contrastive Language–Image Pre-training (CLIP) от OpenAI, который является сердцем моделей диффузии, таких как DALL-E 2 и Stable Diffusion, для фильтрации на этапе, когда модель текст-изображение готова отправить интерпретированное изображение пользователю. В этом контексте CLIP должен действовать как часовой и модуль контроля качества, отклоняя неправильные или неприемлемые изображения. Это скоро будет реализовано (ссылка на Discord) на портале API-driven от Stability.ai.
Однако, поскольку CLIP по сути является и виновником, и решением в таком сценарии (поскольку он также информировал способ, которым изображение было эволюционировано), и поскольку требования к оборудованию могут превышать то, что, скорее всего, будет доступно локально для конечного пользователя, этот подход может быть не идеальным.
Сжатый язык
Предложенный UniTune вместо этого “тонко настраивает” существующую модель диффузии – в данном случае, собственную модель Google Imagen, хотя исследователи утверждают, что метод совместим с другими архитектурами диффузии – так, что уникальный токен вводится в нее, который может быть вызван, включив его в текстовый запрос.
На первый взгляд, это звучит как DreamBooth от Google, который в настоящее время является одержимостью среди поклонников и разработчиков Stable Diffusion, и который может внедрить новые персонажи или объекты в существующую контрольную точку, часто менее чем за час, на основе нескольких исходных изображений; или как Textual Inversion, который создает “сайдкар”-файлы для контрольной точки, которые затем обрабатываются как если бы они были изначально обучены в модели, и могут воспользоваться огромными ресурсами модели, изменяя ее текстовый классификатор, в результате чего получается крошечный файл (по сравнению с минимум 2 ГБ обрезанных контрольных точек DreamBooth).
Фактически, исследователи утверждают, что UniTune отвергла оба этих подхода. Они обнаружили, что Textual Inversion опускала слишком много важных деталей, в то время как DreamBooth “работала хуже и дольше” чем решение, которое они в конечном итоге приняли.
Тем не менее, UniTune использует тот же подход к семантической “метапrompt”, что и DreamBooth, с обученными изменениями, вызываемыми уникальными словами, выбранными тренером, которые не будут конфликтовать с любыми терминами, которые в настоящее время существуют в общественной модели.
‘Чтобы выполнить операцию редактирования, мы выборочно применяем тонко настроенные модели с запросом “[редкие_токены] редактировать_промпт” (например, “beikkpic два собаки в ресторане” или “beikkpic миньон”).’
Процесс
Метод UniTune по сути отправляет исходное изображение через модель диффузии с набором инструкций о том, как оно должно быть изменено, используя огромные репозитории доступных данных, обученных в модели. По сути, вы можете сделать это прямо сейчас с помощью функции img2img от Stable Diffusion – но не без искажения или изменения частей изображения, которые вы предпочитаете сохранить.
Во время процесса UniTune система тонко настраивается, то есть UniTune заставляет модель возобновить обучение, с большинством ее слоев размороженными (см. ниже). В большинстве случаев тонкая настройка приведет к снижению общих общих значений потерь высокопроизводительной модели в пользу внедрения или уточнения некоторого другого аспекта, который желателен для создания или улучшения.
Однако с UniTune кажется, что копия модели, которая подвергается действию, хотя она может весить несколько гигабайт или больше, будет рассматриваться как одноразовая оболочка и будет выброшена в конце процесса, выполнив единственную цель. Этот тип беззаботного объема данных становится повседневным кризисом хранения для поклонников DreamBooth, чьи собственные модели, даже когда обрезаны, составляют не менее 2 ГБ на объект.
Как и в случае с Imagic, основная настройка в UniTune происходит на двух нижних из трех слоев в Imagen (базовый 64px, 64px>256px и 256px>1024px). В отличие от Imagic, исследователи видят некоторую потенциальную ценность в оптимизации настройки также для последнего и самого большого сверхразрешающего слоя (хотя они еще не попробовали).
Для самого нижнего 64px слоя модель предвзята к базовому изображению во время обучения, с несколькими дубликатами пар изображений/текста, введенных в систему за 128 итераций с размером пакета 4, и с Adafactor в качестве функции потерь, работающей с коэффициентом обучения 0,0001. Хотя T5-кодировщик заморожен во время этой тонкой настройки, он также заморожен во время основного обучения Imagen
Вышеуказанная операция затем повторяется для слоя 64>256px, используя ту же процедуру шумового дополнения, применяемую в исходном обучении Imagen.
Выборка
Существует много возможных методов выборки, с помощью которых можно получить изменения, внесенные в тонко настроенную модель, включая Classifier Free Guidance (CFG), который является основой Stable Diffusion. CFG по сути определяет степень, в которой модель может “следовать своей фантазии” и исследовать возможности рендеринга – или же, при более низких настройках, степень, в которой она должна придерживаться исходных данных, и вносить меньше радикальных или драматических изменений.

Как и Textual Inversion (немного меньше с DreamBooth), UniTune подходит для применения различных графических стилей к исходным изображениям, а также более фотореалистичных редактирований.
Исследователи также экспериментировали с SDEdit ‘s “поздним стартом” техникой, где система поощряется сохранять исходные детали, будучи только частично “шумной” с самого начала, но скорее сохраняя свои основные характеристики. Хотя исследователи использовали это только на самом нижнем слое (64px), они считают, что это может быть полезным дополнительным методом выборки в будущем.
Исследователи также использовали prompt-to-prompt в качестве дополнительной текстовой техники для условного моделирования:
‘В настройке “prompt to prompt” мы обнаружили, что техника, которую мы называем Prompt Guidance, особенно полезна для настройки верности и выразительности. ‘
‘Prompt Guidance похожа на Classifier Free Guidance, за исключением того, что базовая линия представляет собой другой запрос вместо неусловленной модели. Это руководит моделью к разнице между двумя запросами.’
Однако руководство по запросу, утверждают авторы, было необходимо только иногда в случаях, когда CFG не смогла получить желаемый результат.
Другой новый подход к выборке, встреченный во время разработки UniTune, был интерполяция, где области изображения достаточно различны, что исходное и измененное изображение очень похожи по составу, позволяя использовать более “наивную” интерполяцию.

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

В верхнем изображении во втором столбце UniTune, задача которого было вставить ‘красный поезд на заднем плане’, поместила его в подходящее и аутентичное положение. Обратите внимание, как в других примерах семантическая целостность исходного изображения сохраняется даже посреди необычайных изменений в содержании пикселей и основных стилях изображений.
Задержка
Хотя первая итерация любой новой системы будет медленной, и хотя возможно, что либо участие сообщества, либо корпоративная приверженность (обычно не оба) в конечном итоге ускорят и оптимизируют ресурсоемкий процесс, как UniTune, так и Imagic выполняют некоторые довольно значительные манипуляции с машинным обучением, чтобы создать эти удивительные редактирования, и сомнительно, до какой степени такой ресурсоемкий процесс может быть когда-либо масштабирован до бытового использования, а не API-ориентированного доступа (хотя последний может быть более желательным для Google).
В настоящее время полный цикл от ввода к результату составляет около 3 минут на T4 GPU, с дополнительными 30 секундами для вывода (как и в случае с любым выводом). Авторы признают, что это высокая задержка и едва ли квалифицируется как “интерактивная”, но они также отмечают, что модель остается доступной для дальнейших редактирований, пока пользователь не закончит процесс, что сокращает время редактирования.
Опубликовано впервые 21 октября 2022 г.















