Switti: Designing Scale-Wise Transformers for Text-to-Image Synthesis
Часть 1, предыстория и предшественники

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

Весной исследователи из ByteDance в работе VAR предложили альтернативную авторегрессионную парадигму для генерации изображений: из одного пикселя 1х1 генерируем картинку 2х2, потом 4х4 и так далее, причем каждое следующее разрешение предсказывается за один проход модели. В пиксельном пространстве работать все еще дорого, поэтому переходим в латентное пространство VAE, где с помощью метода Residual Quantization (RQ), представляем латентную переменную в виде пирамидки: нижние уровни соответствуют общей семантике, а верхние — мелким деталям и текстурам.

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

Но генерация из фиксированного набора (1000 классов) не так интересна, как генерация по произвольным текстовым запросам. Поэтому очевидный шаг — перенести идею в более прикладной сценарий. Так появился STAR, который адаптировал подход для генерации изображений по тексту, но саму модель авторы так и не выложили. Поэтому мы решили обучить свою генеративную модель и опубликовать её в открытом доступе, чтобы стимулировать дальнейшее развитие парадигмы.

Обзор подготовил Дмитрий Баранчук
CV Time
1 756 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
Тематическая подборка статей: галлюцинации VLM

Сегодня пробуем новый формат — делимся целой подборкой интересных статей по теме. Забирайте в избранное и читайте полные материалы в свободное время! А в комментариях пишите, полезен ли такой формат и хотите ли вы, чтобы наши авторы разобрали одну или несколько статей подробно.

Magnifier Prompt: Tackling Multimodal Hallucination via Extremely Simple Instructions
Авторы получают на бенчмарке POPE буст, просто добавляя в промпт явную просьбу больше внимания обращать на изображение, а в случае конфликта знаний и содержимого изображения приоритизировать именно изображение.

MLLM can see? Dynamic Correction Decoding for Hallucination Mitigation
Для борьбы с галлюцинациями авторы предлагают костыльный фикс: определять, когда в средних слоях VLM уверена в ответе, и пропагейтить эти знания до финальных слоев, где они могут затираться знаниями LLM. Таким образом они исправляют ситуацию, когда по мере прохождения в более глубокие слои language bias начинает перевешивать токены изображения.

The Curse of Multi-Modalities: Evaluating Hallucinations of Large Multimodal Models across Language, Visual, and Audio
Авторы винят в галлюцинациях "Over reliance on unimodal priors" и" Spurious inter-modality correlations", а на основе своих находок делают бенчмарк для диагностики VLM.

Trust but Verify: Programmatic VLM Evaluation in the Wild
Бенчмарк со сложным пайплайном для оценки галлюцинирования: берем картинки с подробными кэпшнами, строим по ним граф сцены, подаем в LLM, которая возвращает вопросы-ответы и программы верификации для них. Авторы утверждают, что такой подход позволяет разложить модель на helpfulness и trustfulness + делают анализ по этому разбиению. Спойлер: большинство моделей оказываются хороши только по одному из этих аспектов.

Mitigating Hallucinations in Large Vision-Language Models via Summary-Guided Decoding
Авторы считают, что по мере написания кэпшна VLM все больше начинает зависеть от language prior’а, а не от изображения; при этом есть трейдофф между числом галлюцинаций и качеством текста. Для борьбы с проблемой предлагают укорачивать сгенерированный текст, а также используют дополнительную LLM.

Подборку подготовил
Артём Конев
CV Time
2 239 просмотров · 32 реакций Открыть в Telegram · Открыть пост на сайте
Pyramidal Flow Matching for Efficient Video Generative Modeling

Чтобы сгенерировать видео, свежие Sora-like-модели (как на первой картинке) создают каждый кадр из чистого шума, а потом расшумляют его. Но сделать видео так гораздо сложнее, чем картинку:

1. Нужно смоделировать не одно изображение, а целую последовательность. То есть, если один кадр размером хотя бы 500 пикселей, а видео должно длиться 5 секунд с частотой 30 FPS, то нейросеть нарисует 150 кадров по 500 пикселей — потребуются значительные вычислительные мощности.
2. Sora-like-модели не авторегрессионные, а значит, не могут создать видео длиннее тех, на которых обучались. Это можно обойти трюками, например, генерируя кадры «внахлëст».

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

Как и все модные ребята, эти предлагают обучать модель на flow-matching-лоссе: предсказывать векторное поле пикселей. То есть, пытаться угадать, куда они сдвинутся и как изменят кадр с течением времени.

В чём же пирамидальность? Обычно для видео используют multistage-генерацию: сначала предсказывают кадры маленького разрешения, а потом апскейлят их. В препринте избавляются от multistage: моделируют все разрешения в одном лоссе.

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

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

Авторы не приводят сравнения с диффузионным лоссом. Как думаете, сошлось бы?

Разбор подготовил Александр Маркович
CV Time
2 606 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
DART: Denoising Autoregressive Transformer for Scalable Text-to-Image Generation, часть 2

На иллюстрации к посту изображено устройство самой наивной имплементации такой модели — DART. У неё стандартный диффузионный loss, а её единственный существенный недостаток — слишком малый объём входных данных, 4000 токенов. Это накладывает ограничение на скорость обучения модели.

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

Ещё одна модификация — DART-FM, с Flow Matching. Схема усложняется: поверх основного алгоритма DART добавляют несколько прогонов простой нейросети. Эта легковесная «голова» используется на стадии инференса: для итерирования между основными шагами расшумления, чтобы повысить качество генераций.

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

Разбор подготовил Александр Шишеня
CV Time
2 610 просмотров · 30 реакций Открыть в Telegram · Открыть пост на сайте
DART: Denoising Autoregressive Transformer for Scalable Text-to-Image Generation, часть 1

Превратить авторегрессионную визуальную генерацию в диффузионную можно, если соблюдать три ограничения:

1. Фиксировать процесс зашумления.
2. Работать в парадигме, где модель зависит только от одного предыдущего состояния, а не от целой последовательности: тогда процесс становится Марковским.
3. Взвешивать loss на коэффициенты, которые зависят от timestamp и наложенного шума.

Авторы сегодняшнего препринта предлагают ослабить второе условие: добавить зависимость от предыдущих зашумлённых изображений. Такую модель они называют DART — Denoising Autoregressive Transformer или диффузионная авторегрессионная модель.

Саму последовательность при этом можно генерировать по-разному:

1. На каждом шаге генерировать частично расшумлëнное изображение — такой метод называется DART.
2. На каждой стадии расшумления авторегрессионно генерировать изображение по патчам — DART-AR (ДАРТ с авторегрессией).
3. Генерировать изображения, последовательно увеличивая их размер — Matryoshka-DART.
4. Кроме изображения, генерировать ещë и его текстовое описание — Kaleydo-DART.

В качестве трансформера для генерации на основе текстового промпта используется предобученная модель Flan-T5-XL, а для генерации на основе заданного класса — дополнительные слои Adaptive LayerNorm.

Разбор подготовил Александр Шишеня
CV Time
2 272 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
Впечатления от ECCV 2024

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

А остальные посты по следам конференции вы можете найти в канале по тегу #YaECCV.

CV Time
1 991 просмотров · 38 реакций Открыть в Telegram · Открыть пост на сайте
Как LLaMA 3.1 работает с изображениями

Сегодня расскажем, как LLaMA 3.1 работает с изображениями. Как устроена архитектура модели, на чём её обучали и какие результаты она показывает на разных бенчмарках.

В основе энкодера изображений в Llama 3 выступает модель ViT-H/14 с 630 миллионами параметров, обученная на наборе из 2,5 миллиарда пар изображений и текстов. Картинку, полученную на вход, делят на патчи размером 16X16, прогоняют через линейное преобразование и трансформерные слои.

На выходе получается картиночное представление из 2 308 токенов, что весьма много. Эта последовательность с помощью кросс-аттеншен блоков подается в LLM. Это интересно, потому что, как правило, в мультимодальных LLM (visual language models, VLM) картиночные токены подают прямо в промпт, добавляя к текстовым. Это сделано для того, чтобы заморозить веса LLM и обучать только голубые блоки на схеме.

Тем самым не забивается исходный контекст LLM, а свойства модели на текстовом домене не теряются. Веса языковой модели остаются замороженными, чтобы сохранить производительность на текстовых задачах, то есть обновляются только веса визуального энкодера и адаптера изображений.

Что касается видео, то тут меняется количество кадров на входе: на претрейне их 16, а на файнтюне — 64. Далее их сводят к фиксированной размерности и точно так же, как с изображениями, добавляют через кросс-аттеншн в LLM.

На претрейне используют 6 миллиардов пар картинка-текст. Для фильтрации датасета убирают все описания на языках, отличных от английского, и пары с низким CLIP-скором. Дальше происходит дедупликация, чтобы исключить часто повторяющиеся картинки.

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

Существует весьма необычная стадия пост-претрейна — с применением небольшого датасета на 500 миллионов сэмплов. 150 миллионов из них — это изображения вроде скриншотов с HTML-кодами и таблицами.

На файнтюне инженеры прибегают к ещё одному нестандартному трюку — hot-swap. Они подменяют веса предварительно обученной LLM на веса языковой модели, прошедшей Instruction Tuning. На SFT используют академические датасеты, ответы, написанные людьми, и синтетические данные — например, изображения, созданные из текстовых описаний.

Далее создают пары, оцененные асессорами по семибалльной шкале. Кроме того, есть процедура Rejection sampling для итеративного выбора высококачественных ответов, сгенерированных моделью. Потом авторы статьи обучают reward-модель и делают DPO, как и для текстовой модели.

Получившаяся модель на 405 миллиардов параметров показывает 80,2 пункта в бенчмарке VQAv2 и 84,8 пункта в TextVQA. При этом она уступает Claude 3.5 в DocVQA, ChartQA и AI2 Diagram.

Разбор подготовил Роман Исаченко

CV Time
3 432 просмотров · 43 реакций Открыть в Telegram · Открыть пост на сайте
Movie Gen: A Cast of Media Foundation Models

Кажется, что после ECCV 2024 только ленивый не написал о Movie Gen. Тем не менее далеко не все авторы ссылаются на оригинальный технический отчёт и описывают подробности.

Movie Gen — большая модель на 30 миллиардов параметров, которую исследователи из Meta* разработали для генерации видео. Она может создавать клипы длительностью до 16 секунд с частотой 16 кадров в секунду и разрешением 1080p. Новой модели можно доверить:

— cтандартную генерацию видео по текстовому запросу;
— персонализированную генерацию по референсному изображению;
— редактирование видео по текстовому запросу.

Movie Gen сочетает в себе несколько интересных архитектурных решений. Создатели модели:

— позаимствовали базовый трансформер у языковой модели LLaMA от той же Meta, но дополнили его блоками, специфичными для диффузионных генеративных моделей;
— обучили собственную эффективную модель, которая преобразует высокоразмерное пиксельно-временное пространство в куда более компактное латентное;
— добавили video-super-resolution-модель, которая повышает разрешение исходной генерации с 768p до 1080p;
— скомбинировали несколько моделей для кодирования текстовой информации с разными свойствами;
— использовали отдельную модель, чтобы генерировать синтетические промпты специально для видео.

На иллюстрации к посту — процедура обучения Movie Gen. Сначала модель предобучали на большом количестве изображений с низким разрешением, потом — тренировали на клипах низкого (256p) и высокого (768p) разрешения. А после всего — файнтюнили на небольшом датасете из вручную отобранных и размеченных данных высокого качества.

Для того, чтобы оценить качество модели, команда собрала примерно тысячу текстовых запросов из разных областей и сравнила качество их обработки с текущей SOTA (все closed-source) — Runway Gen3, Kling 1.5 и Sora от OpenAI. Согласно user preference study, модель от Meta превосходит конкурентов (или не уступает им) в большинстве аспектов: например, в следовании текстовому запросу, естественности и плавности движений.

В задачах персонализации и редактирования модель тоже показывает хорошее качество. Самый существенный недостаток Movie Gen — большой размер: для работы с ней потребуются значительные вычислительные ресурсы.

P. S. А ещё команда из Meta обучила модель для генерации звука и музыки — Movie Gen Audio, которая тоже представляет собой большой (на 13 миллиардов параметров) трансформер. Но это уже совсем другая история несколько иная архитектура.

Разбор подготовил Денис Кузнеделев

CV Time
___
Meta признана экстремистской организацией, а Facebook и Instagram запрещены на территории РФ
1 944 просмотров · 32 реакций Открыть в Telegram · Открыть пост на сайте
Minimalist Vision with Freeform Pixels

На ECCV-24 была секция, посвящённая низкоуровневому устройству систем компьютерного зрения. По настоящему low-level решение предложили в статье Minimalist Vision with Freeform Pixels, которая получила награду Best Paper Award. Авторы создали прототип полностью автономной по электропитанию камеры.

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

По сути первый слой обеспечивает произвольную форму для каждого пикселя — против фиксированной квадратной у традиционных камер. А последующие слои выводят результат задачи. Так авторы демонстрируют возможность мониторинга рабочего пространства и оценки дорожного трафика при помощи всего лишь 8 пикселей из 24.

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

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

Разбор подготовила Алиса Родионова
CV Time
9 456 просмотров · 42 реакций Открыть в Telegram · Открыть пост на сайте
Making LLaMA SEE and Draw with SEED Tokenizer

LLaMA — семейство больших языковых моделей от Meta AI, которые до недавнего времени понимали только текстовые запросы и не умели обрабатывать изображения.

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

Так можно решить задачу распознавания, но объединить еë с чем-то другим, например, с генерацией изображений уже не получится.

Авторы сегодняшней статьи попробовали это исправить: добавить к обычной LLaMA токенайзер SEED, чтобы она могла не только распознавать, что изображено на картинке, но и генерировать что-то новое на основе входных данных.

Суть похода — на схемах. Сначала авторы в несколько стадий обучают картиночные токены на VQ-кодбуках — так токен сразу получает причинное свойство и его остаëтся только векторизировать. Интересно, что сначала обучается именно SEED tokenizer, а после того, как он будет готов, языковую VLM-модель отдельно обучают предсказывать следующие токены, в том числе новые картиночные.

А дальше детокенайз — через кодбук дискретные коды превращают обратно в вещественные вектора и подают в диффузионную нейросеть.

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

Разбор подготовил Андрей Чернов
CV Time
1 825 просмотров · 40 реакций Открыть в Telegram · Открыть пост на сайте
ECCV 2024 — всё!

Это было круто, познавательно и насыщенно. Спасибо, вам, что читали, и спасибо нашим экспертам, которые рассказывали о самых интересных статьях, докладах и воркшопах. Их вы можете найти на канале по хэштегу #YaECCV.

Но это ещё не всё — совсем скоро мы вернёмся с впечатлениями от конференции из первых уст. Ну и, конечно, с новыми разборами статей о CV. Оставайтесь с нами!
1 581 просмотров · 17 реакций Открыть в Telegram · Открыть пост на сайте
Новая порция материалов с ECCV 2024

В последний день конференции принесли ещё несколько статей, которые точно заслуживают внимания.

TurboEdit: Text-Based Image Editing Using Few-Step Diffusion Models

Статья о редактировании реальных изображении при помощи text2image дифузионных моделей. В основе работы лежат два наблюдения:

1. При равных сидах редактирование длинных текстовых промптов заметно меньше влияет на изменение общей композиции генерации, в отличие от манипуляций с короткими промптами. Это объясняется меньшей магнитудой изменения в cross-attention-слоях.

2. Одношаговые генеративные модели вроде SDXL Turbo не сталкиваются с трудностями в оптимизационной задаче инверсии, а также позволяет проводить манипуляции с attention-картами для редактирования изображения.

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

Для улучшения реконструкции предлагается два подхода. Вместо одношаговой модели обучать многошаговую refiner-модель в стиле ReStyle. Либо можно маскировать attention-карты для локализации изменений.

EDICT: Exact Diffusion Inversion via Coupled Transformations

Авторы предлагают новый семплер для редактирования картинок на основе текстовой инверсии. Суть в том, что для для интегрирования используют результаты предыдущего и следующего шага. При этом не добавляют вычислительного оверхеда, потому что результаты и так получаются естественным образом. В сравнении с DDIM-инверсией такой подход даёт почти идеальное восстановление.

Be Yourself: Bounded Attention for Multi-Subject Text-to-Image Generation

Работа о multi-subject grounded генерации. Поднимается всем известная проблема «запутанности» семантически похожих концептов, происходящей в аttention-блоках. Авторы предлагают использовать пространственную информацию карт внимания не только для маскирования «соседних» конкурирующих токенов, но и для guidance во время инференса модели. А кроме того — смещать диффузионную траекторию по направлению, максимизирующему концентрацию attention в заданном bounding box для соответствующего объекта в промпте.

ReGround: Improving Textual and Spatial Grounding at No Cost

Статья, в основе которой архитектурный анализ сети. В качестве базовой авторы рассматривают очень популярную в своё время модель GLIGEN — она позволяет добавлять дополнительное условие на пространственное расположение объектов на генерации посредством bounding box.

Исследователи обратили внимание на последовательный характер внедрённого в сеть блока gated self-attention, который отвечает за grounding-токены. Подобный архитектурный выбор нарушает ожидаемое распределение входа в cross-attention-модуль и тем самым нарушает текстовую составляющую условной генерации.

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

ReCON: Training-Free Acceleration for Text-to-Image Synthesis with Retrieval of Concept Prompt Trajectories

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

Для генерации картинки по полному промпту, нужные частичные генерации складывают, а остаток траектории — генерируют отдельно. Авторы завяляют, что ускорение составляет в среднем 30% без сильной потери в качестве.

Поделились любопытным Александр Устюжанин и Сергей Кастрюлин

#YaECCV

CV Time
1 594 просмотров · 12 реакций Открыть в Telegram · Открыть пост на сайте
⚡️Прямое включение с ECCV 2024

Наш специальный корреспондент Дарья Виноградова заметила роботов, похожих на собак, и постеры со статьями. Наступил последний день конференции, но нам ещё есть, что рассказать!
1 323 просмотров · 19 реакций Открыть в Telegram · Открыть пост на сайте
Blueberry оказалась Flux 1.1. Pro

Помните загадочную Blueberry, которая лидировала на text2image-арене? На ECCV выяснилось, что это была Flux 1.1 Pro от Black Forest Labs — об этом сообщил сооснователь компании Алекс Зауэр. Более того, по его словам, сегодня нас ждёт ещё один анонс, связанный с этой моделью.

CV Time

#YaECCV
9 420 просмотров · 11 реакций Открыть в Telegram · Открыть пост на сайте
Доклады с ECCV 2024? Их есть у нас!

Продолжаем рассказывать о самых интересных статьях, докладах и воркшопах с неё. Вот, что принесли сегодня.

Stable Video 3D

Stability AI предлагает модель image-to-3d. Они используют image-to-video-модель Stable Video и файнтюнят её на задачу генерации видео с вращением виртуальной камеры вокруг заданного на изображении объекта. Подобно вчерашнему ControlNet Light подходу, здесь добавляют в сам unet сферические параметры камеры в качестве кондишена, а также clip embedding входной картинки. Далее модель обучают на регулярной сетке азимутов и постоянном значении элевации, а только на следующем этапе переходят на непрерывную параметризацию с произвольными значениями. Праеры из Stable Video позволяют получать консистентные novel views.

Чтобы приблизиться к получению 3D-мэша, авторы предлагают двухэтапный пайплайн: сначала обучить нерф на задачу реконструкции (без SDS) поверх выходов зафайнтьюненной SV под орбитальную съемку на регулярных позах камеры. Затем, уже на втором этапе, используется Masked SDS на непрерывных позах. Причём маскирование происходит по не наблюдаемым с регулярных ракурсов частях мэша. Это важно, чтобы не произошла деградация (блюр) наблюдаемых частей.

Авторы также говорят о проблемах baked-in lighting. Чтобы их решить, простую illumination-модель обучают на задизентанглинг diffuse color и освещения. Авторы сравнивают multiview-генерации с Zero 1-to-3 и разносят их в одну калитку.

Long-CLIP: Unlocking the Long-Text Capability of CLIP

Сначала авторы определяют, что эффективная длина последовательности в клипе составляет порядка 20 токенов. Этого очень мало для некоторых приложений — например, для ретривала или определения схожести картинки с длинными текстами. А ещё клипы часто используются в качестве текстовых энкодеров для text-conditional генеративных моделей, где такая длина последовательности тоже не достаточна.

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

1. тюнинг на длинных кепшенах (fine-grained tuning);
2. извлечение главных компонентов изображений и текстов с помощью PCA и алайнмент их между собой обычным контрастив-лоссом (coarse-grained tuning).

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

VideoAgent: A Memory-augmented Multimodal Agent for Video Understanding

Авторы предлагают использовать мультимодальный агент для анализа длинных видео. Они наделяют его памятью нескольких типов.

Во-первых, это текстовые описания каждого 2-секундного клипа (здесь используют модель LaViLa). Во-вторых, — описания на уровне эмбеддингов: самого клипа (тут берут ViCLIP) и полученного текстового кэпшна (text-embedding-3-large от OpenAI). И память о конкретных затреканных объектах: их эмбеддинги для реидентификации (из CLIP) и моменты появления в видео (отслеживаются ByteTrack) складываются в SQL-базу

Используя такую память, агент может:

— описывать 2-секундные фрагменты видео;
— искать клип по текстовому запросу с описание происходящего — используются текстовые и видео-фичи клипов, чтобы определить сходство с текстовым запросом;
— отвечать на вопрос по видео — выделяется наиболее релевантный фрагмент и запускается Video-LLaVA;
— рассказывать о качествах конкретных объектов — например, их количестве. Здесь происходит поиск по фичам в трекинговой базе и отправка соответствующего SQL-запроса.

Агент сам выбирает наиболее подходящее действие с помощью дополнительной LLM. Система выглядит тяжёлой, учитывая то, сколько моделей для неё нужно. Однако она позволяет побить на известных QA-видео-датасетах крутые модели вроде VideoLLaVA, LaViLa и InternVideo.

Разборы подготовили Александр Устюжанин, Сергей Кастрюлин и Дарья Виноградова

CV Time

#YaECCV
1 370 просмотров · 13 реакций Открыть в Telegram · Открыть пост на сайте
Ещё интересное с ECCV 2024

Продолжаем освещать конференцию и подсвечивать самые занятные воркшопы и доклады.

Рассказ из воркшопа Knowledge in Generative Models

Авторы задаются вопросом: как в сети кодируются знания о каком-либо визуальном образе? Классический способ — сегментировать объект на изображении, а потом посмотреть активации нейронов, которые ведут к пикселям внутри маски. Однако этот способ обнаруживает далеко не всю информацию, которой обладает модель.

Предлагается взять множество «картиночных» моделей: генеративную StyleGAN2, дискриминативные DINO VIT, ResNet и так далее, — а затем посмотреть на одних картинках схожесть в послойных активациях. Для этого генерируем картинку через StyleGAN2, а затем прогоняем через дискриминативные модели.Все найденные пары — и есть искомые знания в модели. Далее эти Rosetta-нейроны можно использовать в инверсии и редактировании. Но это для ганов.

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

Investigating Style Similarity in Diffusion Models

Авторы стремятся понять, умеет ли модель воспроизводить стили художников из реально сделанных ими картин. Классические SSL-методы вроде CLIP кодируют семантическую информацию и, соответственно, для такого анализа не подходят. Поэтому авторы сначала обучают модельку для выделения стилистических эмбедов и даже выкладывают её.

Дальше они берут LAION-aesthetics, выделяют оттуда сабсет на 12 миллионов пар с эстетическим скором более шести и парсят так, чтобы выделить информацию о стилях (на основе кепшенов). Например, Если в кепшене есть что-то вроде “in a style of van Goth”, то они кладут семпл в класс Винсент ван Гог. Разметка получается шумная, тем не менее полученный сабсет называют LAION styles.

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

FlashTex: Fast Relightable Mesh Texturing with Light ControlNet

Работа посвящена генерации text-to-texture для трёх моделей. Они фиксируют регулярные параметры освещения и позы камеры, а также три типа материалов. Затем рендерят мэш входного объекта при вышеописанных условиях для каждого материала, подают в ControlNet в качестве кондишена и учат текстурировать мэш в 2D. Затем авторы представляют материал в виде multi-resolution hash grid. И проводят оптимизацию материала с классическими лоссами: реконструкция по выходам ControlNet Light для регулярных параметров света и камеры и SDS — как у DreamFusion — для непрерывных параметров.

Для консистентности multiview генерации авторы подают в ControlNet коллаж сразу с несколькими параметрами камеры. Параметризация ControlNet по свету позволяет отделить материал модели от освещения для генерации более реалистичной текстуры.

Рассказали об интересном и крутом Александр Устюжанин и Сергей Кастрюлин.

CV Time

#YaECCV
1 093 просмотров · 13 реакций Открыть в Telegram · Открыть пост на сайте
Интересное с ECCV 2024

29 сентября в Милане стартовала конференция ECCV 2024, которая собрала ведущих специалистов в области компьютерного зрения — в том числе, и от Яндекса. Мы не могли обойти такое громкое событие стороной, и будем освещать его с самых разных сторон. Но прежде всего расскажем о самых интересных докладах первого дня мероприятия. К делу!

Synthetic to Authentic: Transferring Realism to 3D Face Renderings for Boosting Face Recognition

Авторы предлагают «механизм реалистичности», который позволяет сократить доменный сдвиг между реальными и синтетическими изображения людей. В итоге — более высокие результаты на исходной задаче по сравнению с обучением на синтетике и без преобразований. На некоторых бенчмарках использование такого механизма сравнимо даже с обучением на реальных данных.

DPA-Net: Structured 3D Abstraction from Sparse Views via Differentiable Primitive Assembly

Современные text-to-3D и image-to-3D-модели не очень хорошо понимают физику — они рисуют неправильные тени и формы объектов. Исследователи предлагают разные подходы к решению этой проблемы: например, использование диффузии и технологий рендера вроде NeRF или 3D Gaussian Splatting. Автор же представленной работы утверждает, что для понимания физики требуется строить сетку с 3D моделированием (противопоставление rendering и modeling) через примитивы.

Воркшоп Knowledge as Association

Дэвид Бау из Северо-Восточного университета предполагает, что модели содержат в себе две сущности. Первая — Knowledge — отражает знания. Они находятся в весах модели. Вторая — Memory — это то, что модель может вспомнить в процессе генерации при определённых входных данных. Memory содержится в активациях.

Доклады бережно отбирали Дарья Виноградова, Александр Устюжанин и Сергей Кастрюлин.

CV Time

#YaECCV
3 670 просмотров · 18 реакций Открыть в Telegram · Открыть пост на сайте
PaliGemma — открытая и производительная VLM

Сегодняшняя статья о PaliGemma. Это VLM, которая разработана на основе технологий семейства моделей PaLI и Gemma. На вход PaliGemma может получать изображения или видео как последовательность кадров.

Модель обучается в четыре этапа:

Unimodal pretraining — на этом этапе PaLI и Gemma обучаются отдельно на данных одного типа.

Multimodal pretraining — здесь вся модель обучается на большом — миллиард сэмплов — наборе мультимодальных задач, таких как объединение визуальных и текстовых данных. Здесь важно, что ни одна часть модели не остаётся «замороженной» — все её компоненты обучаются вместе.

Resolution increase — происходит дополнительное обучение на данных с более высоким разрешением изображений (448 и 896 пикселей).

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

Важная особенность PaiGemma — использование подхода prefix-LM. Ко всей входной последовательности — изображениям и префиксам — здесь применяется фулл (двунаправленный) аттеншн. Это сделано для того, чтобы большее количество токенов могло активно участвовать в процессе «мышления» с самого начала, так как токены изображения могут обращаться к токенам префикса, которые представляют собой запрос.

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

В задаче генерации описаний для изображений на датасете COCO PaliGemma выдала результат 141,9 балла при разрешении 224 пикселей и улучшила показатели до 144,6 на 448. В задаче визуальных вопросов и ответов VQAv2 модель продемонстрировала результат в 83,2 и 85,6 балла для разрешения в 224 и 448 пикселей соответственно.

Разбор подготовил Александр Шишеня
CV Time
1 447 просмотров · 18 реакций Открыть в Telegram · Открыть пост на сайте
One-step Diffusion with Distribution Matching Distillation

С помощью диффузионных моделей можно генерировать изображения отличного качества по текстовому описанию, но без дистилляции они требуют десятки прогонов модели, что снижает их эффективность эффективными по сравнению с альтернативными парадигмами. Авторы сегодняшней статьи разработали Distribution Matching Distillation (DMD) — процедуру дистилляции диффузионной модели (учителя) в одношаговый генератор изображений (студента), который хорошо сохраняет качество картинок и их соответствие текстовому описанию.

Авторы предлагают учить одношаговый генератор изображений p_\theta(x) за счет минимизации обратной KL-дивергенции между распределением студента и распределением данных: KL(p_\theta(x) || p_{data}). Напомним, что в таком KL-е мат-ожидание берется по распределению студента и следовательно при оценке методом Монте-Карло примеры сэмплируются из текущей версии модели-студента.

Тем не менее, посчитать обратный KL явно все еще не получится. Однако главная идея работы заключается в том, что мы можем оценить производную обратного KL-я, используя прямой проход уже обученных диффузионных моделей: одна модель оценивает скор реального распределения (\nabla_x \log p_data(x)), а другая скор распределения студента (\nabla_x \log p_\theta(x)). Отметим, что в самом начале у нас есть только одна модель, которая оценивает \nabla_x \log p_data(x), а вторую нужно учить на текущих генерациях студентов тем самым адаптируя её под изменяющееся распределение студента по ходу обучения. Процедура напоминает обучение GAN-a, но с другим обджективом.

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

Важный нюанс при минимизации обратного KL — он склонен к потере мод распределения, что часто выражается в генерации однотипных картинок для одного текстового описания. Чтобы побороть проблему, авторы предлагают добавить дополнительный дистилляционный лосс, который заставляет модель не забывать куски распределения учителя. Дополнительный обджектив представляет собой регрессионный лосс, когда сначала собираются пары (шум — картинка), сгенерированные учителем, и затем по MSE многошаговый выход учителя сближается с одношаговым студентом по тому же входному шуму.

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

По словам авторов статьи, такой подход позволяет добиться лучших результатов, чем предыдущие методы (на момент декабря 2023 года), достигая 2.62 FID на ImageNet 64x64 и 11.49 FID на zero-shot COCO-30k, что сравнимо с результатами Stable Diffusion, но при этом DMD работает гораздо быстрее, генерируя изображения со скоростью до 20 FPS. Однако, стоит обратить внимание, что метрики для генерации картинок — ненадежный показатель качества, поэтому в идеале нужно проводить оценку на людях, чего авторы не сделали. Модели и кода в открытом доступе тоже не было, поэтому о реальном качестве результатов остается только догадываться.

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

Разбор подготовил Дмитрий Баранчук
CV Time
1 211 просмотров · 15 реакций Открыть в Telegram · Открыть пост на сайте
InternVL

Визуальные модели в своем развитии несколько отстают от языковых, хотя и то, и то важно для создания сильного искусственного интеллекта (AGI). Преодолеть разрыв попытались авторы сегодняшней статьи, в которой представлена модель InternVL.

InternVL отличается тем, что включает визуальный энкодер InternViT-6B и языковую прослойку QLLaMA с 8 миллиардами параметров. Обучение проходило в несколько этапов:

1. Контрастивный претрейн. Здесь использовали миллионы пар изображений и текстов из датасетов LAION, COYO, CC12M. На этом этапе модель училась сопоставлять картинки и их описание.

2. Генеративный претрейн. Здесь использовали пары с более чистыми изображениями из таких датасетов, как COCO и TextCaps. На этом этапе модель училась создавать текстовое описание для картинок.

3. Файнтюнинг.

В итоге получились две модели, которые призваны решать одну задачу: InternVL-C (contrastive) и InternVL-G (generative). Первая, по сути, это модель раннего связывания, а вторая — позднего. На бенчмарках можно увидеть, какой результат дает ранняя и поздняя привязка изображения к тексту.

Так, в задаче мультиязычного поиска изображений по тексту на наборе данных XTD, средний показатель recall@10 составил 95,1% для InternVL-C и 96,6% для InternVL-G. В задаче zero-shot классификации видео на наборах данных Kinetics-400, Kinetics-600 и Kinetics-700, InternVL-C продемонстрировала точность 76,1%, 75,5% и 67,5% соответственно.

Разбор подготовил Артём Конев
CV Time
974 просмотров · 14 реакций Открыть в Telegram · Открыть пост на сайте
Привет! Это канал, полностью посвященный CV. Здесь мы, специалисты по компьютерному зрению из Яндекса, будем анализировать и комментировать свежие научные публикации, делиться опытом, рассказывать об интересных кейсах из практики и вместе с вами искать ответы на сложные вопросы. Подписывайтесь и приглашайте друзей и коллег, если вам близка тема CV 👀🤖
830 просмотров · 14 реакций Открыть в Telegram · Открыть пост на сайте