Автоматическая расстановка тегов, маркировка или описание изображений — важнейшая задача во многих приложениях, особенно при подготовке наборов данных для машинного обучения. Именно здесь на помощь приходят модели преобразования изображений в текст. Среди ведущих моделей в этой области — CLIP, BLIP, WD 1.4 (также известная как WD14 или Waifu Diffusion 1.4 Tagger), SigLIP 2 и ChatGPT с Vision.
CLIP: Революционный прорыв
Модель Contrastive Language–Image Pretraining (CLIP) от OpenAI получила широкое признание за свой революционный подход к пониманию изображений и созданию их описаний. CLIP использует огромные объемы текстовых и графических данных из интернета, чтобы изучить множество визуальных концепций и на основе этого создавать описательные предложения к изображениям.
Однако, судя по отзывам пользователей, описательные предложения CLIP иногда могут быть избыточными или чересчур многословными. Распространенная критика касается склонности модели повторять похожие описания для одного и того же объекта или чрезмерно акцентировать внимание на определенных атрибутах, например, на цвете объекта.
BLIP: Простота и функциональность
Модель BLIP, хотя и уступает CLIP в детализации описаний, предлагает более простой и прямой подход к преобразованию изображений в текст. Как отметил один из рецензентов, BLIP «крутой, но довольно простой». Простота этой модели может быть преимуществом для приложений, которым требуются понятные и лаконичные теги или описания.
Тем не менее, некоторые пользователи обнаружили, что выходным данным BLIP часто не хватает глубины и детализации, которые предоставляют модели, такие как WD14. Хотя BLIP может выдавать удовлетворительные результаты, он может оказаться не лучшим выбором для приложений, требующих детальных и сложных тегов.
Я обнаружил, что WD14, несмотря на свою ориентацию на аниме, отлично подходит и для реальных фотографий людей. Обычно я комбинирую его с BLIP, и в большинстве случаев он выявляет гораздо больше деталей, чем BLIP.
Toni Corvera at YouTube comments
Blip, конечно, крутой, но довольно простой.
Тегирование WD 1.4 (WD14) намного лучше — больше деталей, более «сочные» теги.
OrphBean at GitHub
WD 1.4 (также известная как WD14): Точность в деталях
Модель WD 1.4 (также известная как WD14 или Waifu Diffusion 1.4 Tagger), изначально разработанная для аниме-изображений, продемонстрировала удивительную универсальность, хорошо работая даже с фотографиями. Пользователи высоко оценили ее расширенные параметры конфигурации и возможности пакетной обработки, которые делают ее надежным инструментом для преобразования изображений в текст.
Что отличает WD14, так это ее способность генерировать детальные, более «сочные» теги, предоставляя более глубокие описания изображений по сравнению с аналогами. Хотя эта модель менее склонна к созданию ложных тегов, ее ориентация на аниме может быть ограничением для определенных типов изображений.
В: Tagger WD14 лучше, чем BLIP или deepdanbooru, встроенные в Automatic1111?
О: Расширение предоставляет больше возможностей для настройки и пакетной обработки, и, по моим наблюдениям, оно реже выдает совершенно ложные теги, чем deepdanbooru.CLIP/BLIP отличаются, поскольку они создают описательные предложения, а не списки тегов, но последнее обычно больше соответствует моим потребностям. А встроенный CLIP interrogator склонен выдавать что-то вроде «картинка (описание) и картинка (немного другое описание того же самого)» или «(почти полное описание) и розовые волосы, и розовые волосы, и розовые волосы, и (повторяется много раз)».
Несмотря на то, что tagger WD14 создан для аниме, он довольно хорошо работает и с фотографиями.
MorganTheDual at Reddit
SigLIP 2: Мощный движок для преобразования изображений в текст
Бесплатная и открытая модель SigLIP 2 от Google — это не просто модель «зрение-язык»; это мощный движок для преобразования изображений в осмысленный текст. Хотя она превосходно справляется с такими задачами, как поиск изображений по тексту и классификация с нулевым количеством примеров, ее архитектура и усовершенствования в обучении делают ее сильным конкурентом в области генерации и понимания текста по изображениям. Вот подробное описание того, как SigLIP 2 работает в этом контексте:
Основа: Vision Transformer (ViT) и сигмоидная функция потерь
- Vision Transformer (ViT): В отличие от сверточных нейронных сетей (CNN), SigLIP 2 использует архитектуру Vision Transformer (ViT). ViT рассматривает изображение как последовательность патчей, подобно тому, как слова рассматриваются как токены в обработке естественного языка. Каждый патч преобразуется в векторное представление (эмбеддинг). Это позволяет модели использовать мощную архитектуру Transformer, известную своей способностью улавливать долгосрочные зависимости, для понимания взаимосвязей между различными частями изображения.
- Сигмоидная функция потерь (не контрастивная): Ключевым отличием SigLIP (и SigLIP 2) является использование сигмоидной функции потерь вместо более распространенной контрастивной функции потерь (используемой в моделях, таких как CLIP). Контрастивное обучение требует сравнения изображения с несколькими текстовыми вариантами. Сигмоидная функция потерь, с другой стороны, рассматривает сопоставление изображения и текста как задачу бинарной классификации для каждой пары «изображение-текст». Это, казалось бы, небольшое изменение имеет большое значение: оно обеспечивает более стабильное обучение и лучшую производительность, особенно при больших размерах пакетов. Она фокусируется на сопоставлении отдельных пар «изображение-текст».
Улучшенное обучение для генерации текста
SigLIP 2 берет за основу SigLIP и добавляет несколько важных улучшений, которые напрямую влияют на ее возможности преобразования изображений в текст:
- Предварительное обучение на основе создания подписей: Это огромный шаг. SigLIP 2 включает создание подписей в процесс предварительного обучения. Это означает, что она явно обучена генерировать текстовые описания изображений. Это отличается от таких моделей, как оригинальная CLIP, которые были обучены в основном сопоставлению изображений и текста, а не генерации.
- Вдохновлено самообучением: SigLIP 2 использует мощные методы:
- Самодистилляция: Модель учится на своих собственных предсказаниях, со временем совершенствуя свое понимание.
- Маскированное предсказание: Части входных данных (патчи изображений или текстовые токены) скрываются, и модель учится предсказывать недостающие части. Это заставляет ее развивать более глубокое понимание обеих модальностей.
- Функция потерь LocCa и декодер: SigLIP 2 интегрирует функцию потерь LocCa, которая добавляет декодер Transformer с перекрестным вниманием. Этот декодер специально обучен для таких задач, как создание подписей к изображениям, предсказание ссылочных выражений (идентификация регионов на основе текста) и обоснованное создание подписей. Это улучшает точную локализацию и детальное извлечение признаков.
Как все это работает вместе (Изображение -> Текст)
- Ввод изображения: Изображение подается на вход энкодера ViT.
- Эмбеддинг патчей: Изображение разбивается на патчи, и каждый патч преобразуется в вектор эмбеддинга.
- Кодирование Transformer: Слои Transformer обрабатывают эти эмбеддинги патчей, улавливая взаимосвязи между различными частями изображения. Изученные позиционные эмбеддинги предоставляют информацию о местоположении каждого патча.
- Пул внимания: Механизм пула на основе внимания (MAP head) агрегирует информацию из эмбеддингов патчей в единое, всеобъемлющее представление изображения.
- Текстовый декодер (Ключевой элемент для преобразования изображения в текст): Именно здесь вступают в действие возможности SigLIP 2 по созданию подписей. Представление изображения от энкодера подается в декодер Transformer (добавленный функцией потерь LocCa). Декодер использует перекрестное внимание, чтобы сосредоточиться на релевантных частях представления изображения при генерации текста.
- Вывод текста: Декодер генерирует последовательность текстовых токенов, формируя подпись или описание изображения.
Многоязычность
SigLIP 2 не ограничивается английским языком. Она обучена на многоязыковом наборе данных (WebLI), что дает ей возможность понимать и генерировать текст на нескольких языках, делая ее по-настоящему глобальным инструментом для преобразования изображений в текст.
В заключение
Сочетание в SigLIP 2 мощной архитектуры на основе ViT, сигмоидной функции потерь и, что особенно важно, предварительного обучения на основе декодера с созданием подписей и самодистилляцией делает ее весьма эффективной моделью для задач преобразования изображений в текст. Она выходит за рамки простого сопоставления изображений и текста, активно генерируя описательный текст, что открывает возможности для таких приложений, как автоматическое создание подписей к изображениям, ответы на визуальные вопросы и детальный анализ изображений.
Ссылки
ChatGPT с Vision
Если вам нужно описать не очень большой набор изображений, вы можете воспользоваться инструментом Image Describer в ChatGPT. Он не подходит для больших пакетов изображений, но идеально подходит для небольших наборов, поскольку предоставляет абсолютно лучшие описания на естественном языке. Описания, полученные с помощью этого инструмента, очень точные и подробные. Это не просто теги, а связный и информативный текст, который также учитывает взаимосвязи между объектами на изображении.
Пример:
Тестовый набор изображений:



Результат работы Image Describer для этих 3 изображений:
Вы загрузили три изображения. Вот описание каждого из них:
- На первом изображении очаровательный стилизованный мультяшный котенок с большими выразительными глазами. Он преимущественно оранжевый с белыми отметинами на мордочке, груди и лапках. Котенок держит ручку, которая почти такая же большая, как он сам, и рисует счастливое личико на ярко-желтом мячике. Художественный стиль очень отточенный и имеет глянцевую поверхность. Фон намекает на причудливую обстановку с красочными абстрактными фигурами и намеком на звездное небо.
- Второе изображение, по-видимому, является скриншотом чата или раздела комментариев на платформе социальных сетей. Различные пользователи оставили комментарии, многие из которых содержат смех или веселье, обозначенные такими акронимами, как «LMAO», и смайликами. Имена пользователей и изображения профилей пикселизированы для сохранения конфиденциальности, при этом в пикселизации отображается множество цветов.
- Третье изображение представляет собой очень детализированную и реалистичную иллюстрацию молодой женщины с дружелюбным выражением лица. У нее длинные черные волосы, светлая кожа, и она одета в фиолетовую толстовку с капюшоном. На женщине также надета гарнитура, что позволяет предположить, что она может быть стримером видеоигр или заниматься какой-либо формой онлайн-коммуникации. Обстановка, по-видимому, представляет собой комнату, освещенную фиолетовым оттенком, возможно, от светодиодных ламп, что указывает на игровую установку.
Каждое изображение имеет совершенно разный контекст и визуальный стиль, от причудливой иллюстрации до скриншота цифрового взаимодействия и более реалистичной цифровой живописи.
Подводя итоги
Выбор между CLIP, BLIP, WD 1.4, SigLIP 2 и Image Describer во многом зависит от конкретных потребностей проекта. Если точность и детализация имеют первостепенное значение, WD 1.4 предлагает привлекательный вариант благодаря своей расширенной конфигурации и возможностям детального тегирования. Для более простых приложений более подходящим может оказаться простой подход BLIP. CLIP, в свою очередь, обеспечивает баланс между детализацией и простотой, хотя и со склонностью к многословию.
Image Describer обеспечивает наилучшие результаты, но не подходит для описания или тегирования больших наборов изображений.
По мере того как эти модели продолжают развиваться и совершенствоваться, они открывают многообещающий потенциал для широкого спектра применений, от создания контента до анализа данных. Несмотря на свои различия, модели CLIP, BLIP, WD 1.4, SigLIP 2 и GPT-Vision являются свидетельством стремительного прогресса в технологии преобразования изображений в текст, каждая из которых вносит свой уникальный вклад в эту захватывающую область.