Как мы учим камеры распознавать пустоты на полке и почему не стоит класть тёмно-синий виноград в чёрный ящик. На вопросы о машинном зрении и об искусственном интеллекте в магазинах Х5 отвечает Александр Паринов.
Зачем вообще нужен искусственный интеллект в ритейле? Мы ведь просто продукты продаём.
Многие уверены, что высокие технологии нужны для «высоких» областей, а в магазине у дома используется только простой ручной труд. На самом деле всё наоборот.
Когда имеешь дело с миллионами товаров в почти 2000 магазинов, очень важна автоматизация. Она помогает снизить нагрузку на сотрудников и, как например в нашем случае, не допускать пустот на полках. Для Х5 критически важно, чтобы товар всегда был плотно выложен на полках магазинов.
А почему это важно? Ну, подумаешь где-то есть пустые места. Продуктов-то всё равно много.
Для покупателей важно, чтобы их любимые товары всегда были на полках магазинов. Кто-то пьёт только молоко «Простоквашино». Кто-то идёт в «Перекрёсток» за глазированным сырком «Б.Ю. Александров». Каждый покупатель должен купить всё, что он задумал, всё, что он хочет в данный момент.
В противном случае покупатель расстраивается. Человек действительно может развернуться и уйти, если в магазине нет любимого сырка. Он даже оставит наполовину собранную корзину с продуктами. Ну а что делать? Всё равно за сырком придется идти в другой магазин! Не пойдёшь ведь туда с пакетом продуктов из предыдущего супермаркета. Частный случай — когда человеку нужно купить 2 пачки фарша, а на витрине лежит всего одна.
Поэтому сотрудники магазина постоянно следят за наполненностью полок.
Ну окей, пусть следят. А искусственный интеллект-то им зачем?
С утра до вечера бегать между полок и постоянно пополнять их — тяжелый труд. Причём большую часть времени приходится ходить и смотреть глазами, везде ли всего достаточно. За день можно полумарафон нагулять.
Зачем мучить человека, если можно заставить работать машину? Вот мы и заставляем.
И как работает машина?
Машина — это связка из видеокамер, направленных на полки магазина, и искусственного интеллекта, который «крутится» на небольшом сервере в служебном помещении.
Изображение с камер обрабатывается нейросетью, которая «видит» незаполненные пространства на полках. После этого система выводит сообщение о пустотах на экране в служебном помещении, а также отправляет уведомления на смартфоны сотрудников.
Вот так камера видит привычный нам мир полок в магазине. Красным выделены пустые пространства. Ещё кто-то спрятал пирожки между упаковками молока. Негодяй!
Человек взял последние 10 сырков из холодильника, отошел на пару шагов — а сотрудник уже выкладывает новые сырки. В результате — полки всегда заполнены, а сотрудники не перетруждаются.
И эти технологии — несложные?
Нет, довольно простые. Мы используем недорогие и удобные в обслуживании камеры, сервер в подсобном помещении — не дороже настольного компьютера. Конечно, требуется работа по монтажу, подключению, проверке. Но дальше всё работает автоматически.
Вот, к примеру, как нейронка видит полку с молочной продукцией. Обратите внимание, отдельно она следит за тем, чтобы рядом с товаром были соответствующие ценники.
Отдельно нейронка следит за полками с овощами и фруктами. Это — более сложная задача.
Чтобы определить заполненность полок, программа смотрит на контраст между цветом продукта и цветом контейнера, в котором он лежит. Однажды программа перестала видеть виноград. Оказалось, что тёмный виноград выложили в тёмных ящиках. Пропал контраст, и всё.
Вот тут всё заполнено. Красота!
Важно еще отметить, что нейронка постоянно учится. Сотрудники размечают новые данные и нажимают на специальную кнопку, чтобы сеть дообучалась на свежих данных. И так с каждым днём она все лучше распознаёт продукты на полках. И когда мы монтируем систему в новом магазине, на сервер «приезжает» самая свежая и умная версия ИИ.
А что кроме полок ещё можно видеть?
Например, отдельные продукты на кассе. В «Пятёрочке» сотрудник на кассе взвешивает фрукты и овощи, вводя артикул каждого. Артикулы приходится запоминать, искать в бумажках, спрашивать у коллег, подглядывать в интерфейсе кассы.
Мы установили над рабочим местом небольшую камеру, которая смотрит ровно на весы. Каждый раз, когда на весах появляется весовой товар, мы пытаемся угадать его — и подсказываем артикул. В результате скорость работы кассира значительно повышается, а число ошибок — снижается.
А людей можно определять?
Конечно. Например, мы можем легко и быстро детектировать очереди у касс. Когда перед кассой скапливается, скажем, 4-5 человек, камера видит это и на экран подается сообщение: «Открыть дополнительную кассу». Покупателям не нужно ждать, или звать кого-то.
В пилотном режиме мы также внедряем систему распознавания лиц сотрудников. С ней сотрудники могут проходить в магазин бесконтактно, дата входа и ухода фиксируется автоматически.
А с ворами можно бороться?
Вот эта задача — значительно сложнafyjее. Как понять, что перед нами вор? Смотреть на полки и в корзину? Но человек мог передать товар супругу, чтобы тот положил его в свою корзину. Или мог понести его в руках, потому что удобнее.
Кроме того, люди двигаются, поворачиваются от камеры… Одним словом, пока это направление мы не развиваем, хотя тестируем разные технологии.
Например, мы придумали хитрый способ отпугивать воров в «Перекрестке»: установили камеры и повесили в торговом зале экраны. На экраны выводится изображение с камер, на которые нейронка дорисовывает полоски, определяя положение тела, рук и ног. У недалеких воришек создается ощущение, словно неведомая умная система уже взяла их в оборот, что она все видит. В результате число краж снижается.
И последний вопрос. А как сами сотрудники относятся к соседству с нейронками?
Можно предположить что негативно? На самом деле — наоборот! Камеры и искусственный интеллект помогают людям не бегать по залу. Кроме того, у нас есть доказанный положительный эффект от использования. С ИИ магазин зарабатывает больше, и покупатели в нем становятся довольнее.
Иногда, когда ИИ временно не работает, сотрудники даже пишут нам и просят все скорее починить. Ходить и проверять заполненность полок «ножками» — это прошлый век.