PixArt-Σ – это открытая DiT (Diffusion Transformer) модель для задач создания изображений по тексту (текстовый энкодер аж Flan-T5-XXL, c 11.3B параметров), способная генерировать в 4K.
Модель анонсировали ещё в начале марта, но только самом конце месяца выложили трейн и инференс код, а сегодня, наконец, подъехали и веса для PixArt-Σ-1024.
Github тут 🚀
Статья тут📖
Модель анонсировали ещё в начале марта, но только самом конце месяца выложили трейн и инференс код, а сегодня, наконец, подъехали и веса для PixArt-Σ-1024.
Github тут 🚀
Статья тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
Вышла интересная работа по удалению и добавлению объектов на фото: https://objectdrop.github.io/
Преимущества
- простой и элегантный подход к сбору данных
- хорошие результаты на двух противоположных задачах
- понятно написанная статья
- указаны детали обучения
Недостатки
- некорректные сравнения с моделями, решающими другие задачи и имеющими совсем другие ограничения
- в задаче добавления объекта нет сравнений с подходящими моделями
- нет кода, весов и датасета
Удаление объектов
Рассмотрим пример со стаканом охлаждённого чая на гранитном столе (первое изображение). Чтобы реалистично удалить стакан с фотографии, нужно ещё избавиться от его тени и отражения на поверхности стола.
Мы хотим, чтобы пользователь указывал только маску или контуры объекта, а модель автоматически удаляла все проекции объекта со всех поверхностей. Существующие методы удаления объектов (object removal/inpainting) с этим не справляются, удаляя только ту часть, которая находится непосредственно внутри маски. Можно отдельно удалить тени, но для этого нам потребуется сегментационную маска тени, да и отражения никуда не денутся.
Авторы придумали элегантное решение, как без особых модификаций существующей модели, решить такую задачу. Основная идея - не пытаться по существующим данным выучить механизм создания теней и отражений, а просто собрать небольшой датасет реальных фотографий для целевой задачи. Оказалось достаточно (всего!) 2500 фотографий сцен с объектом и без него, оба фото идентичны, сняты на статичную камеру при одинаковом освещении и с тем же фоном, отличаются лишь наличием объекта. На самом деле даже с 1000 фото заметны улучшения!
Перейдём к обучению ObjectDrop’а, авторы берут предобученную латентно-диффузионную модель inpainting’а (похожую на SDXL), на вход подают зашумленное латентное представление фотографии без объекта, обуславливают фотографией с объектом, маской объекта, пустым текстовым промптом и учат убирать шум.
Дообучение на собранном датасете сильно улучшает несколько автоматических метрик (таблица 2), а финальная модель людям нравится намного больше, чем Emu Edit и MGIE (таблица 3). Кроме этого, и для модели SD Inpainting v1 дообучение на ObjectDrop датасете даёт заметное улучшение (таблица 5). Качество замеряли на своём отложенном датасете неизвестного размера и на датасете Emu Edit из 264 примеров.
Ниже пример сравнения с MGIE и Emu Edit. Стоит отметить, что этим моделям не нужна маска объекта, они понимают текстовые инструкции, причём они умеют не только удалять объект, но и ещё по-всякому редактировать фото, например, изменять объекты или время года. Для ObjectDrop авторы получили маски по тексту с помощью SegmentAnything.
И ещё сравнение с базовой моделью: в нём второй и третий пример, на мой взгляд, странные, и у меня есть подозрение, что авторы указали силу закрашивания 0.99 вместо 1, поэтому SDXL Inpainting модель видит часть изображения под маской и может не удалить объект, а сгенерировать что-то с учётом этой части изображения.
Преимущества
- простой и элегантный подход к сбору данных
- хорошие результаты на двух противоположных задачах
- понятно написанная статья
- указаны детали обучения
Недостатки
- некорректные сравнения с моделями, решающими другие задачи и имеющими совсем другие ограничения
- в задаче добавления объекта нет сравнений с подходящими моделями
- нет кода, весов и датасета
Удаление объектов
Рассмотрим пример со стаканом охлаждённого чая на гранитном столе (первое изображение). Чтобы реалистично удалить стакан с фотографии, нужно ещё избавиться от его тени и отражения на поверхности стола.
Мы хотим, чтобы пользователь указывал только маску или контуры объекта, а модель автоматически удаляла все проекции объекта со всех поверхностей. Существующие методы удаления объектов (object removal/inpainting) с этим не справляются, удаляя только ту часть, которая находится непосредственно внутри маски. Можно отдельно удалить тени, но для этого нам потребуется сегментационную маска тени, да и отражения никуда не денутся.
Авторы придумали элегантное решение, как без особых модификаций существующей модели, решить такую задачу. Основная идея - не пытаться по существующим данным выучить механизм создания теней и отражений, а просто собрать небольшой датасет реальных фотографий для целевой задачи. Оказалось достаточно (всего!) 2500 фотографий сцен с объектом и без него, оба фото идентичны, сняты на статичную камеру при одинаковом освещении и с тем же фоном, отличаются лишь наличием объекта. На самом деле даже с 1000 фото заметны улучшения!
Перейдём к обучению ObjectDrop’а, авторы берут предобученную латентно-диффузионную модель inpainting’а (похожую на SDXL), на вход подают зашумленное латентное представление фотографии без объекта, обуславливают фотографией с объектом, маской объекта, пустым текстовым промптом и учат убирать шум.
Дообучение на собранном датасете сильно улучшает несколько автоматических метрик (таблица 2), а финальная модель людям нравится намного больше, чем Emu Edit и MGIE (таблица 3). Кроме этого, и для модели SD Inpainting v1 дообучение на ObjectDrop датасете даёт заметное улучшение (таблица 5). Качество замеряли на своём отложенном датасете неизвестного размера и на датасете Emu Edit из 264 примеров.
Ниже пример сравнения с MGIE и Emu Edit. Стоит отметить, что этим моделям не нужна маска объекта, они понимают текстовые инструкции, причём они умеют не только удалять объект, но и ещё по-всякому редактировать фото, например, изменять объекты или время года. Для ObjectDrop авторы получили маски по тексту с помощью SegmentAnything.
И ещё сравнение с базовой моделью: в нём второй и третий пример, на мой взгляд, странные, и у меня есть подозрение, что авторы указали силу закрашивания 0.99 вместо 1, поэтому SDXL Inpainting модель видит часть изображения под маской и может не удалить объект, а сгенерировать что-то с учётом этой части изображения.
objectdrop.github.io
ObjectDrop: Bootstrapping Counterfactuals for Photorealistic Object Removal and Insertion
We present ObjectDrop, a supervised method for object removal and insertion, leveraging a counterfactual dataset and bootstrap supervision to achieve photorealistic editing.
👍6🔥1
Добавление и передвижение объектов
Перейдём к более интересным задачам - добавлению и перемещению объектов на фотографии. Подробнее остановимся на добавлении, потому что перемещение - это просто удаление объекта из одной части фотографии, что мы уже умеем делать, и добавление его в другую часть.
Начнём снова с примера. Добавим на фотографию собаку. Фото слева выглядит нереалистично только из-за того, что у неё нет тени.
Как раз эту задачу авторы и решают: они учат модель добавлять тени и отражения к вставленному объекту. Сам объект почти не меняется: то есть тени от сцены на объект не добавятся и гармонизации не будет.
Из плюсов - объект остаётся почти неизменным, то есть модель его не пытается перерисовать. Из недостатков - нужно вручную вырезать объект, отрегулировать его размер, расположение на сцене, прогнать через авторскую модель и самостоятельно сделать гармонизацию. Кроме того, объект должен идеально вписываться в сцену: кривые края останутся кривыми, а пересечения с другими объектами на сцене не предусмотрены.
Чтобы обучить такую модель, нам нужно исходное реальное изображение с объектом и такое же, только без теней и отражений объекта.
2500 фотографий хватает, чтобы научиться удалять объект, но для вставки объекта этого недостаточно. Поэтому авторы сгенерировали ещё 350к изображений: с фотографии удалили объект, его тени и отражения, оставив сцену без объекта, и приклеили этот же вырезанный объект на полученную сцену. На этих изображениях они дообучили латентно-диффузионную модель так же, как модель для удаления объектов, только теперь они подают на вход зашумленное латентное представление реальной фотографии с объектом, обуславливают фотографией сцены с приклеенным объектом без тени и отражений, маской объекта, пустым текстовым промптом и учат убирать шум. Для дальнейшего улучшения качества авторы дообучили модель и на реальных 2500 парах фотографий из своего нового датасета.
Качество замеряли на 51 примере с известными входными и выходными изображениями, а также на 50 out-of-distribution примерах, где передвигали большие объекты, которых не было в тренировочном датасете. По всем автоматическим метрикам и предпочтению людей модель оказывается лучше, чем AnyDoor и Paint-by-Example.
На мой взгляд, сравнение странное, потому что AnyDoor и Paint-by-Example принимают картинку с объектом, без идеальной маски, в произвольном положении и произвольного размера и перерисовывают его в нужном виде, учитывая пересечения с другими объектами (пример работы Paint-by-Example показан на картинке с кедами, игрушкой и футболкой). Как и в задаче удаления объектов, авторы сравнились с моделями, решающими более широкие и сложные задачи. Кроме того, и на вход эти модели принимают совсем другие, более простые для пользователя вещи. Честнее и полезнее было бы сравниться с методами генерации теней, особенно учитывая то, что авторы мельком упоминают некоторые из них.
Перейдём к более интересным задачам - добавлению и перемещению объектов на фотографии. Подробнее остановимся на добавлении, потому что перемещение - это просто удаление объекта из одной части фотографии, что мы уже умеем делать, и добавление его в другую часть.
Начнём снова с примера. Добавим на фотографию собаку. Фото слева выглядит нереалистично только из-за того, что у неё нет тени.
Как раз эту задачу авторы и решают: они учат модель добавлять тени и отражения к вставленному объекту. Сам объект почти не меняется: то есть тени от сцены на объект не добавятся и гармонизации не будет.
Из плюсов - объект остаётся почти неизменным, то есть модель его не пытается перерисовать. Из недостатков - нужно вручную вырезать объект, отрегулировать его размер, расположение на сцене, прогнать через авторскую модель и самостоятельно сделать гармонизацию. Кроме того, объект должен идеально вписываться в сцену: кривые края останутся кривыми, а пересечения с другими объектами на сцене не предусмотрены.
Чтобы обучить такую модель, нам нужно исходное реальное изображение с объектом и такое же, только без теней и отражений объекта.
2500 фотографий хватает, чтобы научиться удалять объект, но для вставки объекта этого недостаточно. Поэтому авторы сгенерировали ещё 350к изображений: с фотографии удалили объект, его тени и отражения, оставив сцену без объекта, и приклеили этот же вырезанный объект на полученную сцену. На этих изображениях они дообучили латентно-диффузионную модель так же, как модель для удаления объектов, только теперь они подают на вход зашумленное латентное представление реальной фотографии с объектом, обуславливают фотографией сцены с приклеенным объектом без тени и отражений, маской объекта, пустым текстовым промптом и учат убирать шум. Для дальнейшего улучшения качества авторы дообучили модель и на реальных 2500 парах фотографий из своего нового датасета.
Качество замеряли на 51 примере с известными входными и выходными изображениями, а также на 50 out-of-distribution примерах, где передвигали большие объекты, которых не было в тренировочном датасете. По всем автоматическим метрикам и предпочтению людей модель оказывается лучше, чем AnyDoor и Paint-by-Example.
На мой взгляд, сравнение странное, потому что AnyDoor и Paint-by-Example принимают картинку с объектом, без идеальной маски, в произвольном положении и произвольного размера и перерисовывают его в нужном виде, учитывая пересечения с другими объектами (пример работы Paint-by-Example показан на картинке с кедами, игрушкой и футболкой). Как и в задаче удаления объектов, авторы сравнились с моделями, решающими более широкие и сложные задачи. Кроме того, и на вход эти модели принимают совсем другие, более простые для пользователя вещи. Честнее и полезнее было бы сравниться с методами генерации теней, особенно учитывая то, что авторы мельком упоминают некоторые из них.
🔥6❤2
Интересные демки работы FRESCO.
Нет, решать задачи за 30 секунд не нужно😆
Название расшифровывается как Spatial-Temporal Correspondence for Zero-Shot Video Translation и посвящена работа zero-shot транслированию видео при помощи диффузионных моделей.
Т.е. на вход какое-то видео + текстовый промпт -> на выходе изменённое видео.
Код есть🐍
Нет, решать задачи за 30 секунд не нужно
Название расшифровывается как Spatial-Temporal Correspondence for Zero-Shot Video Translation и посвящена работа zero-shot транслированию видео при помощи диффузионных моделей.
Т.е. на вход какое-то видео + текстовый промпт -> на выходе изменённое видео.
Код есть🐍
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8 5🙈1
На днях вышел новый мультимодальный бенчмарк SEED-Bench-2-Plus. Его цель – замер точности работы мультимодальных нейросетей на насыщенных текстом данных в трёх категориях: диаграммы, карты и веб-страницы.
Бенчмарк позиционируется как дополнение к выпущенному теми же авторами основному SEED-Bench-2. Видимо поэтому не очень много примеров, всего 2.3к. Ну и, возможно, было решено, что они достаточно сложные.
Не могут же они майнить Хирша, правда? 😳
Самое интересное в этой статье – сравнение реально всех SOTA моделей, даже ChatGPT и вышедшей за 3 дня😳 до бенчмарка SEED-X.
Всего проверяют 34 модели.
Примеры состоят из вопросов по изображениям с 4 вариантами ответов, см. первую пикчу.
А на следующей представлены итоговые результаты.
Интересно, что ChatGPT не первая и даже не вторая модель в подзадаче с веб-страницами и проигрывает ОС моделям. Что ещё раз намекает, как бы ни славились MLLM универсальностью и генерализацией, как бы ни были хороши коммерческие решения, модель всё ещё нужно выбирать конкретно под решаемую задачу.
В целом же, известно, что с такими данными все MLLM справляются со скрежетом и числа в лидерборде это лишний раз подтверждают.
Бенчмарк позиционируется как дополнение к выпущенному теми же авторами основному SEED-Bench-2. Видимо поэтому не очень много примеров, всего 2.3к. Ну и, возможно, было решено, что они достаточно сложные.
Самое интересное в этой статье – сравнение реально всех SOTA моделей, даже ChatGPT и вышедшей за 3 дня
Всего проверяют 34 модели.
Примеры состоят из вопросов по изображениям с 4 вариантами ответов, см. первую пикчу.
А на следующей представлены итоговые результаты.
Интересно, что ChatGPT не первая и даже не вторая модель в подзадаче с веб-страницами и проигрывает ОС моделям. Что ещё раз намекает, как бы ни славились MLLM универсальностью и генерализацией, как бы ни были хороши коммерческие решения, модель всё ещё нужно выбирать конкретно под решаемую задачу.
В целом же, известно, что с такими данными все MLLM справляются со скрежетом и числа в лидерборде это лишний раз подтверждают.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5🔥4❤2
Наткнулся на интересное исследование с ICLR – Vision Transformers Need Registers.
Оказывается, визуальные трансформеры в процессе обучения смекают, что не все токены одинаково полезны и учатся использовать малосодержательные для своих личных технических нужд – для сохранения туда глобальной информации об изображении.
Речь идёт об участках карт признаков, в которых чего-то полезного изначально мало (вроде заднего фона). На первой картинке можно увидеть визуализацию артефактов в этих областях.
Эффект появляется примерно в средних слоях, только в достаточно больших трансформерах (ViT >= L, OpenCLIP и DeiT-III >= B) и при достаточно долгих тренировках.
Эти артефакты вносят искажения и могут ухудшать результаты в некоторых downstream задачах.
Авторы делают логичный вывод - если модель вынуждена так хитро изворачиваться, значит ей чего-то в жизни явно не хватает.
Поэтому в качестве регистров добавляют обучаемые токены (см. пикчу 2), которые непосредственно в предсказании не участвуют, но выполняют техническую функцию (делать ViT счастливым). После этого изменения эффект пропадает. Ну и доказывается экспериментально, что в большинстве случаев от использования регистров есть прирост качества.
Самый интересный вопрос, будет ли этот эффект возникать в гибридных моделях, особенно в таких, где для подготовки патчей используются блоки со свёрточными слоями? Можно предположить, что естественные свойства свёрток и более качественные, плотные, инвариантные признаки сильно уменьшают вероятность возникновения этого эффекта. Было бы интересно исследовать, но, к сожалению, авторы вопроса гибридов совсем никак не касаются.
На лично нашей практике, такие модели показывают себя очень хорошо, по крайней мере на специальных задачах, сочетая все плюсы двух миров: хорошо и быстро сходятся, требуют намного меньшие объёмы данных и достигают как минимум сравнимой точности.
MiVOLO как раз именно из их числа 😄
Оказывается, визуальные трансформеры в процессе обучения смекают, что не все токены одинаково полезны и учатся использовать малосодержательные для своих личных технических нужд – для сохранения туда глобальной информации об изображении.
Речь идёт об участках карт признаков, в которых чего-то полезного изначально мало (вроде заднего фона). На первой картинке можно увидеть визуализацию артефактов в этих областях.
Эффект появляется примерно в средних слоях, только в достаточно больших трансформерах (ViT >= L, OpenCLIP и DeiT-III >= B) и при достаточно долгих тренировках.
Эти артефакты вносят искажения и могут ухудшать результаты в некоторых downstream задачах.
Авторы делают логичный вывод - если модель вынуждена так хитро изворачиваться, значит ей чего-то в жизни явно не хватает.
Поэтому в качестве регистров добавляют обучаемые токены (см. пикчу 2), которые непосредственно в предсказании не участвуют, но выполняют техническую функцию (делать ViT счастливым). После этого изменения эффект пропадает. Ну и доказывается экспериментально, что в большинстве случаев от использования регистров есть прирост качества.
Самый интересный вопрос, будет ли этот эффект возникать в гибридных моделях, особенно в таких, где для подготовки патчей используются блоки со свёрточными слоями? Можно предположить, что естественные свойства свёрток и более качественные, плотные, инвариантные признаки сильно уменьшают вероятность возникновения этого эффекта. Было бы интересно исследовать, но, к сожалению, авторы вопроса гибридов совсем никак не касаются.
На лично нашей практике, такие модели показывают себя очень хорошо, по крайней мере на специальных задачах, сочетая все плюсы двух миров: хорошо и быстро сходятся, требуют намного меньшие объёмы данных и достигают как минимум сравнимой точности.
MiVOLO как раз именно из их числа 😄
👍7🔥3🤔1