Как появилась команда FLAIR

ЛУН начинался как поисковик объявлений: он собирал и обрабатывал информацию с других сайтов. «Разного рода алгоритмы обработки информации мы применяем с первого дня существования проекта, то есть уже более 10 лет. Еще в 2008 году мы реализовали первую систему анализа объявлений, работающую на простых правилах “если то”, чтоб находить дубликаты объявлений», – рассказывает Владимир Кубицкий, глава команды, которая работает над AI-решениями. Полноценно нейросети в продукты ЛУН начали внедрять только в 2014 году, с тех пор их количество превысило два десятка. Для поддержки существующих нейросетей и работу над новыми AI\ML-алгоритмов в компании и создали команду Flatfy & Lun Artificial Intelligence Researchers  – FLAIR.

AI для наружной рекламы

О наработках команды вспомнили летом этого года. В июне компания проводила рекламную кампанию «Будують чи тільки рекламують?». Она продвигала новую функцию на сайте – проверку надежности застройщика при покупке квартиры в новостройке. В рамках рекламной кампании планировались и рекламные борды, для них нужно было найти места. Как рассказывает сооснователь ЛУН Андрей Мима, обычно в таких случаях рекламные агентства работают по одному шаблону: присылают список из нескольких сот отобранных рекламных мест, из которых нужно выбрать, к примеру, 50. «Называют это “преимуществом”, типа ты же сам можешь выбрать на свой вкус. А для выбора у тебя есть только адрес борда, его старая плохая фотография и странный показатель OTS. А если просишь выбрать за тебя – то выбирают самые красивые “по фото”», – говорит Мима. 

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

  • размер борда;
  • реальную картинку (не заслоняют ли его деревья);
  • время нахождения в зоне видимости;
  • конкуренцию с другими бордами в зоне видимости.

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

  • чтобы можно было анализировать любое количество рекламных мест,
  • чтобы увеличить скорость такого анализа. 

На этом этапе и началась работа с нейронными сетями. Как раз в это же время в команде FLAIR работали над системой для определения вотермарков (водяных знаков) на фотографиях квартир, чтобы отбирать для заглавного фото в поисковой выдаче картинки без таких знаков. В результате была создана система локализации объекта на фото: нейросети показывали несколько примеров того, что хотели бы найти на фото, и дальше она училась искать сама на новых данных. 

«Как раз в этот момент ребята в маркетинге занимались выбором мест под борды. Пересеклись в коридоре, кто-то проронил слово о том, что научились детектить вотермарки, а можем вообще находить любой объект на любых фото. Так возникла идея попробовать проанализировать видео с регистратора, чтобы найти борды», – рассказывает Владимир Кубицкий. 

По его словам, решение для поиска рекламных мест создавали с нуля. «Для реализации нейросети использовали фреймворк tensorflow от Google, который упростил решение задачи локализации. В переходе от локализации к трекингу (локализация покадровая, а борд содержится в многих кадрах видео и его нужно не потерять) – писали собственный пост-процессор», – рассказывает он. 

Как работает нейросеть

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

Эффект = Площадь борда х Время в зоне видимости / Количество других бордов на экране.

По словам Кубицкого, нейросеть работает так: 

  • Поданное на вход видео потоково превращается в набор кадров (обычно это 24 кадра в секунду) с помощью OpenCV.
  • Затем начинает работать нейросеть с архитектурой Faster R-CNN, обученная, чтоб находить именно борды на кадрах: на каждый кадр сеть отдает ответ в виде координат найденных бордов, если такие имеются.
  • После этого наступает этап пост-обработки, на котором нужно из кадров снова собрать видео и понять что от кадра к кадру отслеживается один и тот же борд, а не каждый раз новый. Здесь подключаются алгоритмы компьютерного зрения для сравнения изображений и фильтр Калмана для работы с найденными координатами от кадра к кадру. Так как нейросеть научилась работать с множеством бордов одновременно, она вычисляет, есть ли в поле зрения борды-конкуренты.
  • Все это суммируется в отчет.

По словам Андрея Мимы, возможности такой системы могут быть шире, чем текущий прототип. К примеру, можно показать системе конкретные борды и она автоматически найдет их на видео, выделит их и сделает оценку по параметрам. Это может быть полезно для мониторинга текущих рекламных кампаний. 

«Где-то прочитал, что в Киеве 1600 км дорог. Со средней скоростью 16 км\ч можно проехать их все 3 машинами за 4-5 рабочих дней. А если убрать мелкие дороги, то скорее всего задача еще в пару раз проще и дешевле. Но что потом делать с 100 часами видео? Это 360 000 секунд, где каждые 5-10 секунд нужно останавливаться, засекать время, считать площадь и записывать в табличку? Нужно провести измерения порядка 50 000 конструкций – кажется, на это может уйти несколько месяцев. Колоссальный объем работы, который мы просто автоматизировали», – говорит сооснователь компании. 

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

Напомним, ранее команда ЛУН рассказыла AIN.UA, почему покупает рекламу на ТВ.