The Layer – Telegram
The Layer
889 subscribers
113 photos
10 videos
4 files
84 links
Канал команды компьютерного зрения Layer, R&D Department, SberDevices
Download Telegram
PixArt-Σ – это открытая DiT (Diffusion Transformer) модель для задач создания изображений по тексту (текстовый энкодер аж Flan-T5-XXL, c 11.3B параметров), способная генерировать в 4K.

Модель анонсировали ещё в начале марта, но только самом конце месяца выложили трейн и инференс код, а сегодня, наконец, подъехали и веса для 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 модель видит часть изображения под маской и может не удалить объект, а сгенерировать что-то с учётом этой части изображения.
👍6🔥1
Добавление и передвижение объектов

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

Начнём снова с примера. Добавим на фотографию собаку. Фото слева выглядит нереалистично только из-за того, что у неё нет тени.

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

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

Чтобы обучить такую модель, нам нужно исходное реальное изображение с объектом и такое же, только без теней и отражений объекта.

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

Качество замеряли на 51 примере с известными входными и выходными изображениями, а также на 50 out-of-distribution примерах, где передвигали большие объекты, которых не было в тренировочном датасете. По всем автоматическим метрикам и предпочтению людей модель оказывается лучше, чем AnyDoor и Paint-by-Example.

На мой взгляд, сравнение странное, потому что AnyDoor и Paint-by-Example принимают картинку с объектом, без идеальной маски, в произвольном положении и произвольного размера и перерисовывают его в нужном виде, учитывая пересечения с другими объектами (пример работы Paint-by-Example показан на картинке с кедами, игрушкой и футболкой). Как и в задаче удаления объектов, авторы сравнились с моделями, решающими более широкие и сложные задачи. Кроме того, и на вход эти модели принимают совсем другие, более простые для пользователя вещи. Честнее и полезнее было бы сравниться с методами генерации теней, особенно учитывая то, что авторы мельком упоминают некоторые из них.
🔥62
🔥9
Интересные демки работы FRESCO.

Нет, решать задачи за 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
🔥85🙈1
На днях вышел новый мультимодальный бенчмарк SEED-Bench-2-Plus. Его цель – замер точности работы мультимодальных нейросетей на насыщенных текстом данных в трёх категориях: диаграммы, карты и веб-страницы.

Бенчмарк позиционируется как дополнение к выпущенному теми же авторами основному SEED-Bench-2. Видимо поэтому не очень много примеров, всего 2.3к. Ну и, возможно, было решено, что они достаточно сложные.
Не могут же они майнить Хирша, правда? 😳

Самое интересное в этой статье – сравнение реально всех SOTA моделей, даже ChatGPT и вышедшей за 3 дня 😳 до бенчмарка SEED-X.
Всего проверяют 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🔥42
Наткнулся на интересное исследование с ICLR – Vision Transformers Need Registers.

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

Речь идёт об участках карт признаков, в которых чего-то полезного изначально мало (вроде заднего фона). На первой картинке можно увидеть визуализацию артефактов в этих областях.
Эффект появляется примерно в средних слоях, только в достаточно больших трансформерах (ViT >= L, OpenCLIP и DeiT-III >= B) и при достаточно долгих тренировках.

Эти артефакты вносят искажения и могут ухудшать результаты в некоторых downstream задачах.
Авторы делают логичный вывод - если модель вынуждена так хитро изворачиваться, значит ей чего-то в жизни явно не хватает.
Поэтому в качестве регистров добавляют обучаемые токены (см. пикчу 2), которые непосредственно в предсказании не участвуют, но выполняют техническую функцию (делать ViT счастливым). После этого изменения эффект пропадает. Ну и доказывается экспериментально, что в большинстве случаев от использования регистров есть прирост качества.

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

На лично нашей практике, такие модели показывают себя очень хорошо, по крайней мере на специальных задачах, сочетая все плюсы двух миров: хорошо и быстро сходятся, требуют намного меньшие объёмы данных и достигают как минимум сравнимой точности.
MiVOLO как раз именно из их числа 😄
👍7🔥3🤔1
Очень классный жанр публикаций – это практические советы-рецепты в стиле "cookbook". Хорошо помню, что одной из первых прочитанных мной статей, в начале карьеры, была работа Иошуа Бенджио Practical Recommendations for Gradient-Based Training of Deep Architectures.

Мне это вспомнилось потому, что ребята из HuggingFace выпустили препринт: Что важно при создании визуально-языковых моделей?

Продолжая кулинарные аналогии, к сожалению, несмотря на аппетитное название, под крышкой кастрюли всего 6 рецептов. И не все из них интересные. Поэтому в посте я их немного переделал💊

Авторы делят архитектуры VLM моделей на 2 типа: cross-attention и полностью авторегрессионные. В первом варианте изображение кодируется энкодером и прокидывается в разные слои LLM через механизм внимания. Во втором выход энкодера объединяется с текстовыми эмбеддингами напрямую и всё подаётся на вход LLM.

Рецепт: Для фиксированного количества параметров, качество LLM важнее, чем качество визуального энкодера.
Это проверяли на cross-attention архитектуре, остальное на авторегрессионной.


Рецепт: При применении более комплексных визуальных энкодеров качество растёт слабее, чем можно было бы ожидать. При попытке использовать огромную EVA-CLIP-5B, авторы получают точность даже хуже, чем у SigLIP-SO400M. Из чего делается вывод, что EVA-CLIP-5B сильно недотренирована и у коммьюнити до сих пор нет сильной фундаментальной визуальной модели.


Рецепт: Cross-attention архитектура работает лучше, чем авторегрессионная, если тренировать только новые слои (CA или проекционные). Но так сравнивать не совсем честно, т.к. тогда у первой тренируется 25% параметров, а у второй 15%. А разморозить целиком просто в лоб не получилось, потому что авторы не смогли стабилизировать тренировку авторегрессионной модели. В итоге, использовали LoRA (метод уменьшения количества тренируемых параметров модели). В таком варианте сильно лучше авторегресионный подход и он дал наилучшие результаты вообще.


Рецепт: Количество визуальных токенов важно для точности, но при этом когда их слишком
много, это ухудшает производительность и контекст может распухнуть. Если использовать Perceiver Resampler в качестве обучаемого пуллинга (операция уменьшения размерности входных данных, сохраняющая при этом важные характеристики), то 64 визуальных токена будет за глаза и качество вырастет.


Рецепт: Изначально визуальный энкодер SigLIP тренировался на квадратных изображениях 768х768. Адаптация его для работы с изображениями с сохранённым оригинальным соотношением сторон – это хорошая идея. Делают это через интерполяцию позиционных эмбеддингов и LoRA. Качество немного падает, но зато существенно эффективнее тренировка, инференс и расход памяти.


Рецепты полезные, но не хватает более интенсивных экспериментов с визуальными моделями и LLM.

Вторая часть работы посвящена VLM, которая, понятное дело, натренирована с учётом всех найденных вещей – Idefics2. Метрики хорошие, правда на наших задачах она не взлетела вообще 😳
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4🤔21