Номинируйте кейсы на Workspace Digital Awards 2026. Прием заявок до 15 декабря по льготной цене, успейте принять участие!
Unistory
Как мы разработали систему из 4 нейросетей для анализа TV эфира
Unistory
WDA
2025
#Разработка программного обеспечения

Как мы разработали систему из 4 нейросетей для анализа TV эфира

4700 
Unistory Россия, Санкт-Петербург
Поделиться: 0 0 0
Как мы разработали систему из 4 нейросетей для анализа TV эфира
Клиент

Adello

Бюджет

3 000 000

Сфера

Информационные технологии и интернет

Регион

Швейцария, Цюрих

Сдано

Октябрь 2024

Задача

Один из наших клиентов захотел расширить линейку своих продуктов и обратился за помощью к нам. Суть нового продукта — анализ видео на YouTube. Анализировать нужно было, какие бренды упоминают блогеры в своих роликах, какие предметы попадают в кадр, что говорят люди на видео, какую инфу транслируют.

Зачем это все заказчику? Все очень просто, заказчик — разработчик маркетинговых сервисов. Ребята решили дать европейским маркетологам возможность анализировать, какой контент смотрел пользователь. И на основе этого показывать ему персональную рекламу в следующие полчаса.

Решение

Чтобы выполнить задачу, мы решили подключить несколько разных моделей AI. Компьютерное зрение, speech-to-text, OCR, LLM — нам понадобилось всё.

Глобальная идея проекта сменилась на ходу. Мы шли к тому, чтобы анализировать YouTube-видео. В один момент заказчик понял, что не сможет подключить наш сервис к видеохостингу. Изначальная идея (скачать видео, проанализировать, показать пользователям рекламу) противоречила бы правилам YouTube.

Вместе с заказчиком пришли к новому видению проекта: решили анализировать телевизионное вещание. Для этого будем расширять гейтвей и подключать веб-сокет, который даст возможность анализировать TV-эфир.

1Как это будет работать

— Заказчик, владелец сервиса, заключает контракт с телекоммуникационной компанией

— Наш API анализирует вещание в режиме реального времени

— Система подбирает предложения для пользователей на основании контента, который они смотрели

— Пользователь видит эти рекламные ролики

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

2Что мы решили анализировать

Видео — контент, который состоит из нескольких потоков информации. Здесь и аудиодорожка, и видеодорожка, и субтитры, и надписи в кадре. Аудиодорожка может содержать только музыку, а может включать в себя речь.

Если мы попытаемся решить задачу анализа видео только с помощью компьютерного зрения, то можем упустить важные вещи, о которых говорят ведущие на TV. Поэтому мы решили анализировать все составные части видео по отдельности:

— Появление логотипов в кадре. На протяжении всего видео, на любом фоне.

— Какие объекты попадают в кадр. Одежда, автомобили, еда — вообще всё.

— Текст, который появляется в кадре, в том числе вшитые субтитры.

— Что говорят в тот момент, когда логотип появляется на экране.

— Сентимент в речи: определяем, что говорит спикер на видео, что-то позитивное или негативное.

3Какие нейросети мы объединили в проекте

— Первая YoloV8 находит в кадре предметы

— Вторая YoloV8, обученная отдельно от первой, находит логотипы в кадре

— Rev AI анализирует, какой был язык в аудиофрагменте, а затем транскрибирует речь

— Tesseract распознает статичный текст в кадре

— Расшифровка текста, сделанная через Rev AI, попадает в Chat GPT, который анализирует ее на позитив / негатив

4Какую информацию получаем по результатам анализа

— Результат визуального анализа. Какие предметы, какие логотипы появлялись в кадре, в каких временных промежутках и как часто.

— Результат речевого анализа. Имена селебрити и мест (городов, стран), которые были названы. Позитивные и негативные характеристики, которые ведущий давал людям, предметам и брендам.

— Результат анализа статичного текста. Опять же, позитив / негатив, какие бренды упоминались.  

5Как устроен проект: чуть-чуть архитектуры и микросервисов

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

6Компьютерное зрение

Наша система должна была находить в видео много всего, но максимально важны были обычные предметы (на языке маркетологов — товары!) и логотипы. Именно объекты и логотипы в кадре позволяют эффективнее всего определить тематику трансляции, а значит — более прицельно предлагать зрителю рекламу.

Поэтому максимум внимания на проекте — компьютерному зрению.

Взяли YoloV8 — для нее много библиотек в открытом доступе, а значит, удобнее работать. Высокая производительность — тоже хорошо, учитывая, какой объем данных мы собирались анализировать.

7Датасет для объектов, предметов, товаров

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

Как работает обученная нейросеть, можно посмотреть на видео ниже. Как видите, прекрасно находит зонтик и автомобиль — а значит, сможет помочь маркетологам, которые хотят продать людям зонты и машины (ну вдруг!).

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

8Датасет для поиска логотипов

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

На видео ниже — демонстрация, как Yolo находит логотипы на видео.

9Аугментировали и балансировали

Посовещались с заказчиком и решили добавить еще 40 дополнительных логотипов в наш датасет. Чтобы обучить нейросеть искать 1 логотип, нашли на каждый минимум 50 изображений, а затем аугментировали материал х3.

С изначальным датасетом OpenLogo тоже пришлось поработать. Количество изображений для разных логотипов было неравномерным: могло приходиться на один лого по 20 картинок, а на другие по 150.

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

Результат

— Стоимость показа рекламных роликов снизилась на 15%

— Доля целевой аудитории среди увидевших рекламу выросла на 35%

— Частота показов увеличилась на 17% при том же бюджете


Стек технологий

  • С# С# Язык программирования
  • PostgreSQL PostgreSQL База данных

Награды


Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Unistory с удовольствием обсудит вашу задачу

Оставить заявку