Разработка ПО на основе AI для вычисления человекопотока и анализа эффективности рекламных билбордов

Заказчик
Европейский поставщик цифровых инструментов для маркетологов крупных компаний.
Задача
Создать технологическое решение для независимого анализа эффективности рекламных билбордов.

Всем привет! Я директор питерской студии разработки Unistory. Мы специализируемся на продуктах с интеграциями искусственного интеллекта. В своем Telegram-канале пишу о том, как разные сферы бизнеса используют ИИ — подписывайтесь :) 

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

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

Есть только два вида билбордов: эффективный и неэффективный. Возле первого проходят сотни людей в минуту, второй не видит никто. 

Легко отличить один от другого, если маркетолог, который заказывает рекламу out-of-home, хорошо знает город. Но если он живет в Мадриде, а рекламу размещает в Стокгольме? Именно для таких ситуаций и нужен независимый инструмент оценки человекопотока возле билборда.

Почему мы не могли использовать обычные камеры

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

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

Почему мы решили использовать лидары

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

Лидары оказались более надежной технологией, так что поиграть в хищников из фильма со Шварценеггером нам не удалось. 

Перешли к расчетам: какой лидар нам нужен, с каким углом обзора, в каком положении его установить возле билборда.

Высота, на которой заказчик планировал устанавливать наши устройства, около 3-4 метров. 

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

Какой лидар мы выбрали для наших задач

Оптимальной моделью оказалась MID-360. Компактная, высокое качество сборки, большое разрешение, а главное — 10 кадров в секунду. 

Как научить нейросеть «видеть» координаты?

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

Было два варианта, что делать: 

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

Написали специальный софт, который превращает координаты в изображения. На таких изображениях невозможно рассмотреть лицо человека — фиксация данных на лидар не является нарушением GDPR. 

Какие еще «детали» нам понадобились

Чтобы собирать данные и передавать их на сервер, мы:

  • Подключили лидар к мини-компьютеру Raspberry Pi
  • Подключили 4G модем к Raspberry Pi
  • Написали сценарии на Ansible, чтобы одновременно запускать устройства, даже если они раскиданы по всему миру

Подготовка датасета и обучение нейросети

Теперь вопрос, какую нейросеть использовать, чтобы считать людей на таких картинках с лидара? Мы решили использовать YOLO8, потому что она не требовательна к мощностям и есть много открытых библиотек, что упростило работу программистов. 

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

Чтобы обучать нейросети, нужен размеченный датасет. Что это такое? Это когда вы берете картинку и показываете нейросети, где находятся разные объекты. 

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

Как это работает: саммари

Готовый сервис работает следующим образом:

  • Ansible запускает съемку на устройствах возле разных билбордов
  • Лидар несколько минут фиксирует фигуры прохожих
  • Ansible выключает съемку на всех устройствах
  • Наш софт превращает координаты с лидара в изображения
  • YOLO8 считает людей, которые прошли мимо билборда за время съемки
  • Raspberry Pi отправляет на сервер информацию о человекопотоке
  • Маркетологи используют данные для анализа эффективности билборда

Как мы все это тестировали

Итак! Нейросеть обучена, софт готов, лидар подключен к компьютеру и модему. Выходим на осеннюю питерскую улицу — тестировать.

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

Теперь у нашего заказчика есть инструмент, который позволяет маркетологам узнать, какие точки наружной рекламы — самые эффективные, а на какие не стоит тратить деньги. 

Наши следующие шаги 

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

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


В своем Телеграм-канале я постоянно рассказываю о новинках в мире нейросетей и юзкейсах AI в разных сферах бизнеса. А еще — делюсь с подписчиками полезными гайдами и другими материалами. Подписывайтесь — я активно отвечаю на комменты, будем оставаться на связи :)

В карточку агентства

Письмо автору кейса

Пользуйтесь реальным опытом в IT и следите за успехами потенциальных подрядчиков и конкурентов
Подпишитесь на рассылку
Читайте также
Кейсы по теме#Маркетинг, дизайн, реклама
Проекты компании Proactivity Group