Наполовину пуст — наполовину полон

Как мы учим камеры распознавать пустоты на полке и почему не стоит класть тёмно-синий виноград в чёрный ящик. На вопросы о машинном зрении и об искусственном интеллекте в магазинах Х5 отвечает Александр Паринов.

Зачем вообще нужен искусственный интеллект в ритейле? Мы ведь просто продукты продаём.

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

Когда имеешь дело с миллионами товаров в почти 2000 магазинов, очень важна автоматизация. Она помогает снизить нагрузку на сотрудников и, как например в нашем случае, не допускать пустот на полках. Для Х5 критически важно, чтобы товар всегда был плотно выложен на полках магазинов.

А почему это важно? Ну, подумаешь где-то есть пустые места. Продуктов-то всё равно много.

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

В противном случае покупатель расстраивается. Человек действительно может развернуться и уйти, если в магазине нет любимого сырка. Он даже оставит наполовину собранную корзину с продуктами. Ну а что делать? Всё равно за сырком придется идти в другой магазин! Не пойдёшь ведь туда с пакетом продуктов из предыдущего супермаркета. Частный случай — когда человеку нужно купить 2 пачки фарша, а на витрине лежит всего одна.

Поэтому сотрудники магазина постоянно следят за наполненностью полок.

Ну окей, пусть следят. А искусственный интеллект-то им зачем?

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

Зачем мучить человека, если можно заставить работать машину? Вот мы и заставляем.

И как работает машина?

Машина — это связка из видеокамер, направленных на полки магазина, и искусственного интеллекта, который «крутится» на небольшом сервере в служебном помещении.

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

Вот так камера видит привычный нам мир полок в магазине. Красным выделены пустые пространства. Ещё кто-то спрятал пирожки между упаковками молока. Негодяй!

Человек взял последние 10 сырков из холодильника, отошел на пару шагов — а сотрудник уже выкладывает новые сырки. В результате — полки всегда заполнены, а сотрудники не перетруждаются.

И эти технологии — несложные?

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

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

Отдельно нейронка следит за полками с овощами и фруктами. Это — более сложная задача.

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

Вот тут всё заполнено. Красота!

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

А что кроме полок ещё можно видеть?

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

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

А людей можно определять?

Конечно. Например, мы можем легко и быстро детектировать очереди у касс. Когда перед кассой скапливается, скажем, 4-5 человек, камера видит это и на экран подается сообщение: «Открыть дополнительную кассу». Покупателям не нужно ждать, или звать кого-то.

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

А с ворами можно бороться?

Вот эта задача — значительно сложнafyjее. Как понять, что перед нами вор? Смотреть на полки и в корзину? Но человек мог передать товар супругу, чтобы тот положил его в свою корзину. Или мог понести его в руках, потому что удобнее.

Кроме того, люди двигаются, поворачиваются от камеры… Одним словом, пока это направление мы не развиваем, хотя тестируем разные технологии.

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

И последний вопрос. А как сами сотрудники относятся к соседству с нейронками?

Можно предположить что негативно? На самом деле — наоборот! Камеры и искусственный интеллект помогают людям не бегать по залу. Кроме того, у нас есть доказанный положительный эффект от использования. С ИИ магазин зарабатывает больше, и покупатели в нем становятся довольнее.

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