Как стать автором
Обновить

Распознавание товаров на полках с помощью нейронных сетей на технологиях Keras и Tensorflow Object Detection API

Время на прочтение18 мин
Количество просмотров34K
Всего голосов 28: ↑27 и ↓1+26
Комментарии8

Комментарии 8

Буквально позавчера уже была статья про похожую задачу, писал там комментарий. В принципе, у вас он почти такой же :)
Нельзя решать задачу поиска товаров в магазинах переходя к задаче «поиск пачек сигарет». Как только ваша задача станет более общей, когда у вас появятся стиральные порошки, молочка, планограммы с товарами прикрепленными к стойкам — ваши методы перестанут работать. В первую очередь отлетит SSD. В нём нет математики которая бы разбирала большое число нагромождённых объектов в одной области. У вас каждый гиперпиксель выхода даёт 4 координаты:
image
Х смещения, Y смещения, высота и ширина объекта.
Сейчас вы боретесь с этим увеличением размера (что нельзя будет автоматизировать по разнородной выборке), а так же ручным разбором выдачи. Ручной разбор выдачи у вас сделан поглащением. Это перестанет работать когда у вас на снимаемой полке будет сложная архитектура выкладки, будет передний/задний план, и.т.д.
Смотрите сетки, которые не страдают такими проблемами как ограниченная разметка выхода. Их много, но да, они не настолько простые как TensorFlowApi.

Про то как вы классификацию выхода делаете — вообще промолчу. 10 классов с точностью 92% это очень плохо.
Когда мы такое делали — у нас по десятку тысяч классов была неплохая точность (были проблемы, конечно, когда два одинаковых порошка с разными вкусовыми добавками проскакивали). Но и для добавления нового класса ничего переобучать было не нужно.
Так что смотрите не в сторону классификационных алгоритмов лучше…
Буквально позавчера уже была статья про похожую задачу, писал там комментарий. В принципе, у вас он почти такой же :)

Читал и статью и комментарий. Согласен полностью. Поставил бы +, но кармы не было :).
Нельзя решать задачу поиска товаров в магазинах переходя к задаче «поиск пачек сигарет». Как только ваша задача станет более общей, когда у вас появятся стиральные порошки, молочка, планограммы с товарами прикрепленными к стойкам — ваши методы перестанут работать.

К счастью, мы не решаем общую задачу поиска всех товаров на всех прилавках. Сейчас мы делаем решение для определённой группы товаров на довольно стандартизированных стеллажах в границах одной страны. С детектированием проблем практически нет. В статье тоже рассматриваем частный случай.
Про то как вы классификацию выхода делаете — вообще промолчу. 10 классов с точностью 92% это очень плохо.

Опять же, про 92% согласен. Но в данных, которые мы использовали для статьи, у нас на 10 классов меньше 2000 примеров, для некоторых классов примеров для тренировки в районе 50, а для проверки в районе 10. Цель статьи была не добиться максимально возможного результата на этом скудном объёме данных (доверия к цифре всё равно не было бы), но показать, что точность, для которой раньше приходилось реализовывать каскад алгоритмов, сейчас достигается использованием примера из Keras без усилий.
К счастью, мы не решаем общую задачу поиска всех товаров на всех прилавках. Сейчас мы делаем решение для определённой группы товаров на довольно стандартизированных стеллажах в границах одной страны. С детектированием проблем практически нет. В статье тоже рассматриваем частный случай.


Вы дошли уже до того что реальные пользователи снимают фото? Просто всё начинает рушиться именно в этот момент. Например одна фирма начала закупать своим бегункам более качественные смартфоны, ибо по другому уже никак не решалось кривость их рук.
И всё равно данные были сильно хуже.
Вообще, успехов, вам конечно. Но рынок этот очень странный. Вроде их всех 4-5 компаний которые я знаю в какой-то плюс сейчас одна всего смогла выйти. Остальные инвестиции проедают/тестовые пилотные проекты с минимальным плюсом.

сейчас достигается использованием примера из Keras без усилий.

Ой, тут вы заблуждаетесь:)
Принципиально на Keras можно сделать решение лучше. Без нейронных сетей такое качество было не достижимо. Но объём работы который тратиться- значительно больше. Просто он даёт более предсказуемый результат. А вместо науки и математики приходиться заниматься набором, менеджментом базы и проверкой переобучением разных алгоритмов.
Вы дошли уже до того что реальные пользователи снимают фото?

Да, мы работаем именно с фотографиями мерчандайзеров (они и так делают снимки каждого стеллажа для отчётов и отсылают своим менеджерам), так что им даже не надо специально что-то фотографировать для нас.

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

У нас немного проще ситуация. Мы и так делаем решение для заказчика, просто добавляем ещё одну фичу. С точки зрения бизнес-процесса, никому не надо делать дополнительной работы (мерчандайзеры и так ездят по торговым точкам, и так фотографируют, и так отправляют фотографии), а мы просто аккуратно встраиваем распознавание в эту цепочку.
Очень познавательно. ИНтересный хорошо объяснённый пример практического применения сетей.
Если уйти от математики, все сводится к тому, что в магазине товар должен стоят так, чтобы покупатель вероятнее всего купил не лучшее на полке, а то, что хотят продать сильнее всего.

Зачем морочиться? Просто обязать жителей каждого дома отчислять определенную сумму (или некий %) от их з/п, после вычета налогов, в карман каждого из работающих рядом магазинов. Все равно речь не идет о вдумчивом выборе товара покупателем, а, фактически, об «алгоритмическом навязывании» ему товара-фаворита (на что законодателям пофиг, типа человек же сам ходит, в корзину кладет), так выкинем этап «свободного выбора». Это, кстати, вообще и в тренде будет общей нашей жизни.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий