
Авторизация

Сброс пароля
Распознавание товаров в видео
Заказчик: Amiga

"Shazam для фильмов": мобильное приложение, которое за секунды распознаёт фильмы через камеру смартфона и показывает товары из кадра: одежду, аксессуары и прочее.
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 для видео” превратилась в работающий продукт: пользователь получает мгновенный ответ, а правообладатели – возможность превращать сцену из фильма в витрину с товарами. Этот кейс показывает, как технологии меняют сам формат потребления контента: зритель больше не просто смотрит — он взаимодействует.