The Layer – Telegram
The Layer
889 subscribers
113 photos
10 videos
4 files
84 links
Канал команды компьютерного зрения Layer, R&D Department, SberDevices
Download Telegram
Добавление и передвижение объектов

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

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

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

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

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

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
Пару недель назад вышел новый метод дистилляции диффузионных моделей Flash Diffusion, а сейчас подвезли демку для SD3!

Дистилляция занимает от пары десятков (SD1.5) до пары сотен (SDXL) GPU-часов, протестирована на множестве задач: text-to-image, inpainting, super resolution, face swap и на T2I адаптерах, а FID и CLIP-Score на COCO датасетах лучше, чем у других методов.

Авторы выложили код, в том числе и для обучения, модели (SD3, SDXL, Pixart-alpha) и онлайн-демо.

А умельцы уже добавили TinyAutoencoder для SD3, что ещё ускорило модель, попробуйте сами!
8🔥41👍1
Встречайте GigaCheck – наш внезапный, удивительный и потрясающий продукт для детектирования русскоязычных текстов, сгенерированных LLM.

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

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

Больше хочется поговорить про решаемость задачи. Мнения тут сильно разнятся – не специалисты почему-то зачастую крепко убеждены, что распознать текст, сгенерированный LLM очень просто, в то время как в профессиональной среде популярно ровно обратное мнение: задача нерешаема. Подливает масла в огонь и то, что OpenAI делали свой собственный детектор, но спустя непродолжительное время его спрятали, посчитав нерабочим.

В пабликах по всему Телеграму можно найти много достаточно близких мнений: раз, два, три... имя им легион.
Да, задача, безусловно, очень сложная, а ещё для решения требуется много данных, кропотливого труда, усердия и постоянной поддержки в проде.

Но, если очертить ей какие-то практические рамки, то всё меняется.

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

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

GigaCheck доступен:
- На сайте developers.sber.ru.
- Как Телеграм бот: @layer_ai_detector_bot
- Как API для бизнеса [скоро].

Интересный факт:
Ради интереса мы прогнали 220 000 текстов, взятых за последний месяц из крупных новостных изданий. Оказалось, что 6% из них были сгенерированы LLM, а в случае некоторых конкретных изданий эта доля больше трети!


А ещё мы скоро выпустим дополнение – интервальную детекцию, которая позволяет работать со смешанными текстами.
🔥1273
Мы выпустили монстра из клетки: Цербер уже тут 🔥

Цербер – наша многоголовая модель для детекции объектов, такая же используется в беспилотниках Тесла (HydraNets).
Он работал верой и правдой в сервисах Layer годами, а сегодня мы хотим открыть его миру.

Фишки модели:
- Позволяет тренироваться на нескольких датасетах одновременно, таким образом избегая единой разметки, которая не всегда возможна и всегда болезненна.
- Классы, атрибуты или любые другие аннотации в этих датасетах могут быть конфликтующими – никаких проблем. Например, в одном датасете светофор обводили боксом вместе со столбом, а в другом нет.
- Уже на двух задачах / датасетах ускоряет тренировку и инференс на 36%, если сравнивать со специализированными моделями. Чем больше задач, тем больше ускорение. На 8 задачах ускорение будет больше 50%. Потери в точности, при этом, или отсутствуют, или минимальные.
- Возможность гибко интегрировать подход в любые другие детекционные архитектуры. В open source версии мы использовали YOLOv8x (anchor-free), но нет никаких проблем использовать совсем свежую YOLOv10 или DETR.


🐍 Код и реализация всех необходимых алгоритмов
📖 Статья со всеми деталями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍135🎉2
В марте мы писали про наше исследование способности больших мультимодальных моделей определять возраст и пол человека по фото, а также сравнивали их с MiVOLOv2.
С тех пор, конечно, многое поменялось, и главное – вышел ChatGPT-4o. Модель сильно отличается от предыдущей 4Vision и поэтому было разумно ожидать изменения в результатах.
Недавно дошли руки это проверить, заодно обновили препринт.

TLDR: 🌿

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

А вот определение пола, в случае изображений с лицами, практически никак не улучшилось и осталось на невысоком уровне, ниже открытой LLaVA-NeXT. Дело явно не в возможностях модели.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍7