Открыть сервис

Эмбеддинг изображения

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

История

Ранние подходы (до 2012 года)

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

  • SIFT (Scale-Invariant Feature Transform) — дескриптор, инвариантный к масштабу и повороту, использовавшийся для поиска соответствий между изображениями.
  • HOG (Histogram of Oriented Gradients) — гистограммы направленных градиентов, применяемые для детекции объектов.
  • Bag of Visual Words — метод, заимствованный из обработки текстов: локальные дескрипторы квантовались в «визуальные слова», а изображение представлялось гистограммой их встречаемости.

Эти методы были трудоёмки в настройке, не обладали достаточной обобщающей способностью и не учитывали высокоуровневые семантические признаки.

Эпоха глубокого обучения (2012 — настоящее время)

Переломным моментом стало появление глубоких свёрточных нейронных сетей (CNN). В 2012 году архитектура AlexNet (Крижевский, Суцкевер, Хинтон) показала значительное превосходство в задаче классификации ImageNet. Внутренние слои такой сети, обученной на миллионах изображений, стали естественным источником эмбеддингов: активации последнего полносвязного слоя перед выходным классификатором представляют собой компактный вектор признаков.

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

  • Siamese Networks (1993, 2005) — парное обучение на парах изображений, где сеть учится выдавать близкие векторы для похожих изображений и далёкие — для разных.
  • Triplet Loss (2015, FaceNet) — обучение на тройках (anchor, positive, negative), минимизирующее расстояние между anchor и positive и максимизирующее до negative.
  • Contrastive Learning (SimCLR, MoCo, 2020) — метод самоконтролируемого обучения, при котором эмбеддинги строятся без использования размеченных данных, путём сопоставления разных аугментаций одного изображения.

Архитектуры и методы построения

Свёрточные нейронные сети (CNN)

Классические архитектуры (VGG, ResNet, Inception, EfficientNet) остаются основой для извлечения эмбеддингов. Обычно удаляют последний классификационный слой, а выход предыдущего слоя (после Global Average Pooling) используют как вектор признаков размерностью 512–2048.

Трансформеры для зрения (Vision Transformers, ViT)

С 2020 года набирают популярность модели на основе архитектуры Transformer, адаптированные для изображений. ViT (Dosovitskiy et al., 2020) разбивает изображение на патчи, которые подаются на вход трансформеру. Эмбеддинг извлекается из выходного токена классификации (CLS-token). Модели на основе ViT (DeiT, Swin Transformer) показывают сопоставимые или лучшие результаты по сравнению с CNN.

Предобученные модели (Foundation Models)

Современные эмбеддинги изображений часто получают с помощью больших предобученных моделей, обученных на огромных наборах данных (сотни миллионов — миллиарды изображений):

  • CLIP (OpenAI, 2021)модель, обученная на парах изображение-текст. Эмбеддинги изображений и текстов проецируются в общее мультимодальное пространство, что позволяет выполнять поиск по текстовому описанию.
  • DINOv2 (Meta, 2023) — самоконтролируемая модель, дающая эмбеддинги, устойчивые к различным преобразованиям и пригодные для широкого круга задач.
  • ImageBind (Meta, 2023) — модель, объединяющая эмбеддинги изображений, текста, аудио, глубины, тепловых карт и инерциальных данных.

Свойства эмбеддингов

Хороший эмбеддинг изображения должен обладать рядом свойств:

  • Компактность — размерность вектора (обычно 128–2048) значительно меньше исходного изображения (миллионы пикселей).
  • Семантическая близость — изображения одного класса или содержания имеют близкие векторы в пространстве эмбеддингов.
  • Инвариантность — устойчивость к изменениям освещения, ракурса, масштаба, фона.
  • Обобщаемость — способность переноситься на другие, невиданные ранее классы и задачи (transfer learning).

Применение

Поиск изображений (Content-Based Image Retrieval, CBIR)

Эмбеддинги позволяют находить визуально похожие изображения в больших базах данных. Пользователь загружает запрос, система вычисляет его эмбеддинг и ищет ближайшие векторы в базе с помощью метрик расстояния (косинусное сходство, евклидово расстояние, L2). Современные системы (например, Google Images, Pinterest Lens) обрабатывают миллиарды изображений с использованием специализированных библиотек для приближённого поиска ближайших соседей (FAISS, Annoy, HNSW).

Распознавание и верификация лиц

FaceNet, ArcFace и другие модели преобразуют лицо в эмбеддинг. Верификация сводится к сравнению расстояния между эмбеддингами двух лиц с порогом. Системы распознавания лиц (например, в аэропортах, в смартфонах) используют базы эмбеддингов для идентификации.

Классификация и кластеризация

Эмбеддинги можно подавать на вход простым классификаторам (логистическая регрессия, SVM) или использовать для кластеризации (K-means, DBSCAN) без размеченных данных. Это особенно полезно при малом количестве размеченных примеров (few-shot learning).

Визуальные рекомендательные системы

На основе эмбеддингов товаров (одежда, мебель) строятся рекомендации «похожие товары» в интернет-магазинах. Система находит изображения с близкими эмбеддингами в каталоге.

Генерация изображений

В диффузионных моделях (Stable Diffusion, DALL-E) эмбеддинги текста или изображения используются как условие для генерации нового контента. Модель учится отображать эмбеддинг в пространство изображений.

Медицинская диагностика

Эмбеддинги медицинских снимков (рентген, МРТ, КТ) применяются для поиска похожих клинических случаев, автоматической классификации патологий и выявления аномалий.

Технические аспекты

Размерность и сжатие

Размерность эмбеддинга — компромисс между точностью и вычислительной эффективностью. Типичные значения: 128 (для мобильных устройств), 512 (для средних баз), 2048 (для высокоточных систем). Для сжатия эмбеддингов применяют методы Product Quantization и PCA.

Индексация и поиск

Для быстрого поиска в миллиардных базах используются структуры данных для приближённого поиска ближайших соседей (ANN). FAISS (Facebook AI Similarity Search) — одна из самых популярных библиотек, поддерживающая GPU-ускорение.

Метрики качества

Качество эмбеддингов оценивается по точности задач, в которых они применяются:

  • Recall@k — доля релевантных результатов среди первых k найденных.
  • mAP (mean Average Precision) — средняя точность по всем запросам.
  • NMI (Normalized Mutual Information) — для оценки качества кластеризации.
  • Accuracy — для задач классификации и верификации.

Ограничения и критика

  • Зависимость от данных обучения — эмбеддинги наследуют предвзятости и ограничения обучающих наборов. Модели, обученные на западных наборах данных, могут хуже работать на изображениях из других регионов.
  • Проблема «чёрного ящика» — интерпретация конкретных компонент эмбеддинга затруднена, что снижает доверие в критических приложениях (медицина, автономное вождение).
  • Атаки с использованием состязательных примеров — небольшие, незаметные для человека искажения изображения могут радикально изменить его эмбеддинг, что используется для обхода систем безопасности.
  • Вычислительные затраты — получение эмбеддинга для одного изображения на современных моделях требует значительных вычислительных ресурсов (GPU), что ограничивает применение на устройствах с низким энергопотреблением.

Перспективы развития

Основные направления исследований включают:

  • Мультимодальные эмбеддинги — объединение изображений, текста, аудио и других модальностей в единое пространство (ImageBind, GATO).
  • Эффективные архитектуры — разработка лёгких моделей для edge-устройств (MobileNet, EfficientNet-Lite, TinyViT).
  • Самоконтролируемое обучение — снижение зависимости от размеченных данных (SimCLR, BYOL, DINO).
  • Эмбеддинги видео — представление видеопоследовательностей с учётом временной динамики (VideoMAE, TimeSformer).

Источники

  • Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet Classification with Deep Convolutional Neural Networks.
  • Schroff, F., Kalenichenko, D., & Philbin, J. (2015). FaceNet: A Unified Embedding for Face Recognition and Clustering.
  • He, K., Zhang, X., Ren, S., & Sun, J. (2016). Deep Residual Learning for Image Recognition.
  • Dosovitskiy, A., et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale.
  • Radford, A., et al. (2021). Learning Transferable Visual Models From Natural Language Supervision (CLIP).
  • Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020). A Simple Framework for Contrastive Learning of Visual Representations (SimCLR).
  • Meta (организация признана экстремистской, деятельность запрещена в РФ) (2023). DINOv2: Learning Robust Visual Features without Supervision.
  • Meta (2023). ImageBind: One Embedding Space To Bind Them All.
  • Johnson, J., Douze, M., & Jégou, H. (2019). Billion-scale similarity search with GPUs (FAISS).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →