Авторизация
Забыли пароль?
Сброс пароля
Вернуться к авторизации

Распознавание товаров в видео

08 апреля ‘25

Заказчик: Amiga

"Shazam для фильмов": мобильное приложение, которое за секунды распознаёт фильмы через камеру смартфона и показывает товары из кадра: одежду, аксессуары и прочее.

Агентство-исполнитель кейса

Эпоха Восемь (Epoch8)

В Epoch8 мы проектируем системы, объединяющие ML, компьютерное зрение и мобильные платформы. От идеи до работающего решения, которое распознаёт, ищет и приносит реальную пользу.

1. Вводная задача от заказчика, проблематика, цели

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

Например, по телевизору идет «Мистер и миссис Смит». Пользователь запускает приложение и направляет камеру на экран. Система отображает название фильма и список товаров: одежду героев, аксессуары, автомобили и другие предметы – всё, что правообладатель загрузил в базу.

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

2. Описание реализации кейса и творческого пути по поиску оптимального решения

Этапы разработки

1. Распознавание монитора

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

2. Эмбеддинг кадра

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

3. Работа с видеобазой

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

4. Каталог товаров

Создали облачную базу, где для каждого видеосегмента можно связать товары: одежду, аксессуары, технику. Эти данные загружают правообладатели — вместе с названиями, описаниями и изображениями.

Как устроено распознавание видео

Приложение фиксирует серию кадров с экрана и сравнивает их с раскадровками из Milvus. Эту базу предварительно заполнили раскадровками 150 фильмов, преобразовав каждый кадр в числовой вектор.

Числовые векторы-кадры из видео пользователя сопоставляются с векторами-кадрами из базы Milvus. Посредством голосования большинством определяется наиболее похожее видео из базы и конкретный сегмент этого видео.

Автоматическое обновление базы

Для добавления нового видео в базу требуется обновление данных в Milvus. Этот процесс автоматизирован с помощью нашего собственного сервиса – Datapipe. Мы разработали его в Epoch8 для подготовки данных и обучения ML-моделей.

Datapipe уже успешно использовался в двух проектах:

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

«Сервис отслеживает изменения в облачной базе данных. Если в базе появляется новое видео – название и ссылка на файл, то сервис автоматически скачивает его, кадрирует, присваивает числовые векторы и загружает векторы в Milvus. После этого пользователь сможет найти это видео с помощью приложения». — Анна Закутняя, ML-инженер.

Как создаются списки товаров

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

Схема работы выглядит так:

1. Приложение определяет сегмент фильма.

2. Приложение отображает пользователю:

  • информацию о фильме;
  • список товаров, представленных в этом сегменте.

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

Андрей Татаринов

генеральный директор, Epoch8

«Этот проект уникален с точки зрения машинного обучения. Здесь было важно сделать не только решение с высоким качеством распознавания, но и оптимизировать его для исполнения в реальном времени на мобильном устройстве. Вместе с командой Amiga мы портатировали пайплайн распознавания на Dart и получили решение, которое отлично работает реальном времени на широком спектре мобильных устройств и на iOS, и на Android».

Этапы разработки. Как устроено распознавание видео.

3. Результаты сотрудничества

  • Приложение за секунды распознаёт фильмы и определяет точный момент на экране.
  • Распознавание работает стабильно на iOS и Android.
  • База данных включает 150 фильмов, и расширяется автоматически.
  • Платформа поддерживает интеграцию с каталогами товаров и правами на контент.
  • Все вычисления работают в реальном времени на мобильном устройстве.

4. Заключение

Мы объединили компьютерное зрение, машинное обучение и векторный поиск в систему, которая распознаёт видео за секунды и масштабируется без ручной доработки. Концепция “Shazam для видео” превратилась в работающий продукт: пользователь получает мгновенный ответ, а правообладатели – возможность превращать сцену из фильма в витрину с товарами. Этот кейс показывает, как технологии меняют сам формат потребления контента: зритель больше не просто смотрит — он взаимодействует.

Агентство-исполнитель кейса

Эпоха Восемь (Epoch8)

В Epoch8 мы проектируем системы, объединяющие ML, компьютерное зрение и мобильные платформы. От идеи до работающего решения, которое распознаёт, ищет и приносит реальную пользу.