30 000 камер, 1 компьютер и нейросеть / Блог компании М.Видео-Эльдорадо / Хабр

[ [ad_1]

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

Тридцать тысяч глаз

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

Нам категорически не подходил этот вариант просто в силу гигантского масштаба торговой сети «М.Видео-Эльдорадо». Сегодня она состоит более чем из тысячи магазинов, в каждом из которых установлено порядка 30 камер. Причем, самых разных моделей.

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

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

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

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

Маленькие компоненты, большая архитектура

Так как речь, по сути, шла о внутреннем стартапе с продуктом ad hoc, ребята получили полный карт бланш. Для начала они изучили текущую структуру систем видеонаблюдения. Она выглядела достаточно просто: изображение с камер через сетевые коммутаторы поступало на видеорекордеры не покидало периметр магазина (стандартная схема охранной системы видеонаблюдения).

Так как аналитический движок системы предполагалось сделать единым и разместить в частном облаке нашего ЦОД, встал вопрос о выгрузке realtime потока в облако.

Для выгрузки было выбрано решение из семейства raspberry, которое в силу своей стоимости (~$50) отлично укладывается в концепцию «мало тратим, много получаем». Его оказалось достаточно чтобы организовать выгрузку с камер.

Стандартная CCTV камера имеет разрешение 1080p, записывает 25 кадров в секунду кодеком H.264, поддерживает выгрузку через RTSP (Real Time Streaming Protocol), которому на это нужно 6 Мбит/с. Так же на камере обычно присутствует возможность чтения второго, более «слабого» потока, с разрешением 720p, при этом RTSP поток требует чуть менее 3 Мбит/с.

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

Проблему большого внешнего трафика рабочая группа решила в лоб: был создан сложный rtsp-фильтр, который из исходного потока брал только опорные кадры (key frames) и из них создавал новый rtsp поток с новыми, еще более редкими опорными кадрами.

В итоге вместо 50 кадров в отправлялся 1 кадр (примерно 1 кадр раз в две секунды), решив, что для наших нужд этого будет достаточно. Так оно и получилось. В итоге необходимая скорость интернета для 30 камер — 3Мб/сек.

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

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

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

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

Одна система, три сценария

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

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

Запустив «одинокого покупателя» в тестовую эксплуатацию, мы начали собирать данные. Через полтора месяца тестирования в реальном магазине, ежедневное количество алертов этого типа снизилось с 25 до 5. Очевидно, что нововведение привело к резкому росту уровня внимательности персонала и, как следствие, повышению качества его работы с посетителями.

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

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

Самым, пожалуй, интересным из уже созданных на базе нейросети продуктов стали «тепловые карты». Идентифицируя всех посетителей магазина, система научилась строить их плотностное распределение по помещениям. Проще говоря, оценивать человеческий трафик в разных частях магазина. Подобный информационный продукт принято называть «теплокартами», хотя правильнее было бы использовать термин «фоновая картограмма».

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

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

Простое непростое внедрение

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

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

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

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

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

Планы на будущее

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

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

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

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

Сейчас работа над проектом ведется очень активно. Надеемся, вскоре мы сможем рассказать о новых интересных результатах, наблюдениях и инсайтах. Stay tuned!

[ad_2]

Перейти в источник

0

Автор публикации

не в сети 1 день

admin

500
Комментарии: 4Публикации: 1455Регистрация: 12-02-2020

Похожие статьи

Цифровая трансформация офисной печати от зарождения до современных технологий

[ [ad_1] СодержаниеГлава №1. Краткая история зарождения офисной печати1.1. Пионеры1.2. ЭнтузиастыГлава №2. От CapEx к MPS и далее к DaaS2.1. Капитальные расходы (CapEx)2.2. Управляемые сервисы…

0

О классах Program и Startup — инициализация ASP.NET приложения. Часть II: IWebHostBuilder и Startup / Хабр

[ [ad_1] Введение Это — продолжение статьи, первая часть которой была опубликована ранее. В той части был рассмотрен процесс инициализации, общий для любого приложения .NET…

0

BlackRock — хозяин всех технологий. Как корпорации контролируют Open source / Хабр

[ [ad_1] Технологические гиганты при помощи денег инвестиционных фондов контролируют всё большую часть новых разработчиков и продуктов, перекрывая тем самым путь для новых программ и…

0

Ответы

Авторизация
*
*

Забыли пароль?

Регистрация
*
*
*
Генерация пароля