Практическое использование нейросетей



Наверняка многие помнят 4 серию 4-го сезона Кремниевой Долины, вышедшую в прошлом году, в которой Дзанг Янг запилил приложение Not HotDog.

Как оказалось на самом деле, это было реальное приложение, которое сделало HBO специально для этой серии и об этом Хабр уже писал.

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

Предыстория

Мы не собирались заниматься нейросетями. Мы просто хотели сделать проект для повышения продуктивности мерчандайзеров в ритейл сетях.



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

Как правило за мерчандайзером закреплено несколько магазинов и каждый день они выходят в поля — в закрепленные за ними торговые точки.

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

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

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

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

И возникла идея вообще отказаться от человеческого фактора. Наше решение — мы обеспечиваем визуальный контроль выкладки товаров и контроль наличия товаров на полке вообще без участия мерчандайзеров, и делаем это в режиме 24/7.

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

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

Возникает резонный вопрос — а почему бы не использовать недорогие видеокамеры для такой задачи?

Ответ — простота инсталляции видеонаблюдения с помощью смартфона и простота использования в мессенджере.

В большинстве случаев для недорогой видеокамеры, которая имеет только Wi-Fi подключение, нужно где-то взять этот Wi-Fi и скорее всего понадобится роутер с 3-4Г модемом, т. е. Необходимо уже два устройства. К тому же в смартфоне уже есть батарейка, т. е. Нет проблем во время отключения электричества.

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

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

Стоимость смартфона тоже невелика — от 25-30$ в розницу. Для смартфонов существует множество видов креплений, есть небольшие смартфоны, которые можно разместить например внутри светильников для полок и т. д.

Проблема в 8 млрд. долларов



В процессе погружения в тему оказалось что например проблема наличия товаров на полках в магазинах (OSA — On Shelf Availability) — общемировая и в результате отсутствия необходимых продуктов на полках мировая индустрия теряет до 8 млрд.$ в год.

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

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

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

Для реализации такой идеи мы решили что лучше делать несколько фото в течении дня и периодически отправлять их на распознавание в облако.

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

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

Но есть и контраргументы — делать свой движок — дорогое и долгое удовольствие и нейросеть надо обучать, а это тоже процесс трудоемкий.

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

К тому же на рынке уже есть множество платформ, которые можно использовать — Amazon Rekognition, Google API и т. д. По мере развития таких платформ и конкуренции между ними цена будет только падать.

Поэтому мы решили использовать IBM Watson с его visual recognition движком.

Бот Visual Recognition

Побочным продуктом реализации проекта по контролю выкладки товаров на полках стал бот, которого мы назвали Visual Recognition.

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

Самого бота, его алгоритм мы также разместили на IBM Watson и соответственно он использует там же и движок Visual Recognition с более-менее обученной нейросетью.

На платформе Bluemix бот выглядит так:



Как пользоваться ботом

Скачиваем M1 Messenger для Андроид или для iOS.

После регистрации в поиске находим Visual Recognition Bot:



Добавляемся к боту:



Бот создаст чат во вкладке Бизнес:



Теперь можно загружать ему фотографии:



Нажимаем Processing и получаем результат:



Итак, хотдог определяет, попробуем гамбургер:



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



С помощью Visual Recognition бота можно сделать довольно просто примерно тоже самое и для пива, водки и т.д. — у IBM Watson есть модуль обучения.

Ну и распознавание возраста по фотографии:



Помимо пола и возраста, нейросеть пытается еще определить профессию по одежде:



Определение возраста, пола и координаты на фото:





Mobile One
Company
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 35

    +1
    Начали с интересного заголовка, а продолжили совсем по другой теме…
      –1
      О чем перед катом было сказано, о том и рассказал:
      мы расскажем как сделали бота для определения не только хотдогов, но и множества других предметов, а также для определения пола и возраста людей по фотографии.
      +2
      Пардоньте, а почему просто не использовать какие-то сенсоры, счётчики, которые будут показывать количество товара на полке. Зачем всё так усложнять?
        –2
        Как раз сенсоры — это усложнение.
        Во-первых уже была одна компания, которая делала всякие сенсоры для полок, даже какие-то награды на каких-то стартап-шоу выигрывала, но пару лет назад сдулась.
        Сенсоры — это дорого, представьте каждую полку оборудовать какими-то датчиками, которые будут заточены строго под один размер/объем товара.
        Здесь именно вижуал в тему — все настройки под товар в софте.
        А в случае с сенсорами нужно все полки в магазинах поменять.
          0
          Есть несколько технических вопросов все же
          1. Я правильно понимаю, что вы при помощи смартфона в $25 делаете фото с достаточным качеством, чтобы распознать все единицы товара, включая мелочь, вроде сырков, на площади 5-6м^2 в условиях слабой освещенности? Лично мне (субъективно) кажется, что в таких условиях даже флагманы за $800+ справятся со скрипом. В принципе, за счет неподвижности объектов можно делать фото со сверзнизким ISO и очень долгой выдержкой, но тут тоже вопрос, умеют ли так смартфоны за $25, и не будет ли бутылочным горлышком оптика?
          2. Для гипермаркета размером 5000 м^2, можно прикинуть, что площадь полок (в смысле площадь я меряю, как обои, вертикально, а не как полезная площадь полки) будет где-то 10000 м^2 +, и чтобы такое покрыть надо несколько тысяч смартфонов. Я понимаю, что это дешево ($50000 это ниочем для отрасли), но готов поспорить, что сетевое оборудование, которое позволит им всем сосуществовать вместе, и не забить канал будет совсем недешевым (как в случае wifi, так и для 3G) + часто в гипермаркетах и так плохо работает связь + покупатели будут не рады, если там, где связь работала хорошо, станет работать как попало благодаря коллизиям.
          3. Вопрос скорее риторический, что будут ли себя комфортно чувствовать покупатели в магазине с таким плотным покрытием камер? Они, скорее, будут думать, что это тотальная слежка за ними.
            0
            3. Вопрос скорее риторический, что будут ли себя комфортно чувствовать покупатели в магазине с таким плотным покрытием камер? Они, скорее, будут думать, что это тотальная слежка за ними.

            А почему бы и нет? Возможно, это поможет снизить потери от магазинных краж. Говорят, в некоторых магазинах для этой цели вешают муляжи камер. :)
            0
            1. Я правильно понимаю, что вы при помощи смартфона в $25 делаете фото с достаточным качеством, чтобы распознать все единицы товара, включая мелочь, вроде сырков, на площади 5-6м^2 в условиях слабой освещенности? Лично мне (субъективно) кажется, что в таких условиях даже флагманы за $800+ справятся со скрипом. В принципе, за счет неподвижности объектов можно делать фото со сверзнизким ISO и очень долгой выдержкой, но тут тоже вопрос, умеют ли так смартфоны за $25, и не будет ли бутылочным горлышком оптика?


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

            2. Для гипермаркета размером 5000 м^2, можно прикинуть, что площадь полок (в смысле площадь я меряю, как обои, вертикально, а не как полезная площадь полки) будет где-то 10000 м^2 +, и чтобы такое покрыть надо несколько тысяч смартфонов. Я понимаю, что это дешево ($50000 это ниочем для отрасли), но готов поспорить, что сетевое оборудование, которое позволит им всем сосуществовать вместе, и не забить канал будет совсем недешевым (как в случае wifi, так и для 3G) + часто в гипермаркетах и так плохо работает связь + покупатели будут не рады, если там, где связь работала хорошо, станет работать как попало благодаря коллизиям.


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

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


            1. Эти камеры будут направлены на полку.
            2. Во всех супермаркетах УЖЕ стоит куча камер, которые следят именно за покупателями и покупатели это знают.
              0
              Спасибо за ответы
              Касательно
              Не все производители будут ставить такую систему, потому что у многих нет большого оборота
              , я раньше думал, что систему должны покупать магазины, но если ее покупает производитель, то как гарантировать, что данные по конкурентам (из изменения заполненности легко вывести оборот), и потоку покупателей (что, возможно, является коммерческой тайной магазина) не попадут к заказчику? Вы в другом комментарии упоминали, что можно вырезать с картинки, но тогда вопрос, а кто за это отвечает? Как я понимаю, покупатель системы будет сам регистрировать новые товары в системе, и может, якобы нечаянно, зарегистрировать и товары конкурентов

              Для нейросети неважно супер-пупер качество фотографии — нейросеть в процессе обработки наоборот, загрубляет качество, делает картинку черно-белой и т.д.

              ЕМНИП, для нейросети как раз важны мелкие фрагменты изображения, чуть ли не до пикселя. К примеру, нейросеть определяет леопарда по паттерну, и с легкостью определит его даже по кусочку шкуры 10х10 см, но вот, если качества фото будет достаточно лишь для контура, то не справится. Хотя, уверен, что вы производили тесты на дешевых смартфонах, и видимо, проблема решена.
        0
        полный бред,
        и кто, например, будет заряжать/менять батарейки?
        вообще проблема высосана из пальца,
        есть простые решения
          +1
          Не могли бы вы пояснить, что конкретно вы имеете ввиду под батарейками и более простыми решениями и какая проблема высосана из пальца?
            0
            Например, в ПO Macroscop есть детектор наполненности полок. Ставь камеру — следи за целым стендом. Товар закончился — идешь и заполняешь.
              +1
              Сразу вспоминается история про русского программиста и японский туалет…
              Я бы поставил датчики давления на все полки, сохранил изначальные значения, и значения при полностью заполненных полках. А дальше просто сигнализировать, когда давление ниже середины этих значений.
                –2
                Я бы поставил датчики давления на все полки, сохранил изначальные значения, и значения при полностью заполненных полках. А дальше просто сигнализировать, когда давление ниже середины этих значений.


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

                И я уже не говорю о том что если у вас сменилась номенклатура, появилось что-то другого веса или вы кружку какую-то привязали к товару в качестве бонуса, то вам всю систему из множества точек во множестве магазинов по всем странам надо идти и ручками перенастраивать.
                • UFO just landed and posted this here
                  –2
                  Естественно, что есть и промышленные решения, но они стоят как говорящий слон, потому что работают в составе локально размещенной системы и обрабатываются скорее всего на размещенных локальных серверах в этом же магазине.
                  Как правило, такие решения предназначены для самого магазина, для их службы контроля и представляют из себя LAN, в которую не дадут доступ отдельно взятому менчандайзеру.
                  Это один момент.

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

                  В основном это надо самим брендам, у которых доход зависит от продаж, и у которых немного полочного пространства, но широкая сеть точек продаж.
                  Где-то это большой супермаркет, где-то небольшой магазин класса B или C и т.д.
                  Т.е. бренду не дадут доступ к такой системе, это однозначно, а именно бренду она и нужна.
                  0
                  Вероятно имеется в виду вопрос питания смартфона — питается он от батареи или постоянно находится «на зарядке». Если первое — то кто следит за тем, не разрядился ли смартфон и т.д.
                    0
                    Планируется брать информацию о заряде телефона, температуре процессора непосредственно с телефона в автоматическом режиме и высылать ее в случае превышения допустимых параметров супервайзерам.
                +2
                в результате отсутствия необходимых продуктов на полках мировая индустрия теряет до 8 млрд.$ в год

                Я не очень понимаю, как она может терять что-то. Если покупатель не нашел необходимый продукт в данном магазине, он пойдет и купит в другом. И наоборот.
                Где тут потери у индустрии в целом?
                  –1
                  Совершенно верно:
                  Что происходит, когда покупатель не находит нужный ему товар на полке магазина? На этот вопрос дает ответ статистика. Поведение клиента постепенно меняется от случая к случаю, и в среднем на третий раз отсутствия желаемого товара покупатель уходит в другой магазин, уже практически навсегда. Таким образом, помимо упущенных продаж недостаточно полные полки сулят ритейлеру еще и упущенного клиента.

                  Немного статистики от ECR (ECR («Efficient Consumer Response») – международная некоммерческая организация «Эффективный отклик на запросы потребителей»), характеризующей важность показателей OOS и OSA для поставщиков и ритейлеров:
                  • В среднем всего 20% позиций в статусе OOS пополняется в течение 8 часов.
                  • 8,3%, средний показатель OOS по индустрии в мире, не изменяется последние 8 лет.
                  • Повышение OSA на 3% принесет ~1% инкрементального (с повышательным трендом) роста объемов поставок для поставщика.
                  • Повышение OSA на 2% принесет ~1% инкрементального (с повышательным трендом) роста объемов продаж для розницы.
                  • В 47% случаев при отсутствии нужного ему товара на полке покупатель не совершит покупку в этом магазине.
                  • В 46% случаев при отсутствии на полке магазина нужного ему товара покупатель не совершит покупку товара данного производителя.


                  www.retail-loyalty.org/journal_retail_loyalty/read_online/art189509
                    +1
                    в результате отсутствия необходимых продуктов на полках мировая индустрия теряет до 8 млрд.$ в год

                    Если можно, у меня другой вопрос по тому же предложению: что такое «мировая индустрия»? Это производители товаров, продающихся в розницу, или предприятия розничной торговли?
                      0

                      И те и те.
                      Больше всего страдают призводители товаров. Ритейл тоже, потому что они могли бы продать, но им не завезли.

                        0
                        Конечно, 8 млрд долларов — это огромная сумма, но в мировом масштабе это не так уж много. К примеру, по США есть такая статистика: американцы ежегодно выбрасывают в мусор порядка 70 млн тонн пищевых продуктов на сумму 165 млрд долларов.

                        Food for thought: 40% of groceries are thrown out every year — MarketWatch
                        Отрывок (на английском)
                        As much as 40% of food goes uneaten in the U.S. Americans throw away $165 billion in wasted food every year, according to Harvard Law School’s Food Law and Policy Clinic and the Natural Resources Defense Council, or NRDC, a nonprofit environmental action group. Some 160 billion pounds of discarded food also clogs up landfills.
                          0

                          Да, и вы знаете что эту проблему тоже пытаются решить через использования нейросетей — умными холодильниками которые следят за сроками годности продуктов, а также специальными камерами, которые могут устанавливаться в стандартные холодильники и также высылают в облако изображения при открытии дверцы и считают время.
                          В средем семья выкидывает продуктов на 700 фунтов в UK.:
                          https://smarter.am/fridgecam/

                      0
                      Не утверждаю на 100%, но, видимо, под потерями индустрии подразумевается сумма потерь от данной ситуации, не включая сумму прибылей от данной ситуации (когда магазин с наличием товара получил больше прибыли за счет отсутствия товара у конкурента).
                      +1
                      Я извиняюсь, не совсем в теме. А зачем это всё в обще нужно, если наличие товара можно проверить через кассы, электронно. Поставили 40 йогуртов, 10 продали, значит на полках осталось 30. В большинстве магазинов же нет особо складов, полки и есть склад. Ну это не решает на 100% проблему, там сотрудники не разгрузились вовремя и т.п., но и мерчендайзеров гонять по 100 раз в день не будешь.
                        0

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


                        Что касается предоставить всем брендам доступ в кассу — так никто насколько мне известно не делает, потому что например у супермаркета ТЫСЯЧИ поставщиков в один магазин и надо делать доступ только к своей номенклатуре каждому бренду товара, иначе инфа будет утекать к конкурирующему товару, т.е. технически очень сложно.
                        Супермаркеты — они вообще расслабленные, у них своего товара нет, они же место только предлагают, заморачиваться с такими доступами они не будут — желающих встать на полку очередь стоит, там месяцами товаропроизводители ждут своей очереди.
                        А если еще товары новые появляются, это же по всей сети надо штрихкоды забить, а некоторые бренды могут присутствовать только в некоторых магазинах одной сети и отсутствовать в других и помимо прописывания кодов в базах касс надо еще и доступы всем в систему дать — это сложно очень сделать.

                          +1
                          То есть, основная проблема — нежелание магазинов иметь гемор с разграничением доступа? В таком случае в чем преимущество вашей системы? Ведь тоже придется решать те же проблемы, чтобы поставщики случайно не увидели динамику заполненности полок товаром конкурентов?
                            0
                            Одно дело- видеть заполненость/незаполненность полки конкурента (которое можно обойти размещением камеры и вырезанием позиции на фото) и другое дело видеть конкретные цифры продаж.
                            +1
                            Грубо говоря сравнивается количество проданных товаров одного наименования в текущем дне с предыдущим днем и если есть падение продаж то скорее всего товар кончился.


                            Я таки извиняюсь, а вот базы данных там эскюэль это вот все в супермаркеты еще не завезли?
                            Ну т.е. если было 10 йогуртов и продали 8 — оно ж видно — можно ж отследить — я видел на кассе у них же компьктеры есть, они ж кнопки жмут — у меня в чеке даже есть вся инфа.
                              –1
                              Одно дело — выполнять требования по закону и выдавать чеки и другое — организовать доступ всех поставщиков к этой базе в режиме онлайн с разграничением прав и прочего.
                              У них же как правило комп в локальной сети и доступ имеет только налоговая ( и то, только с недавних пор- с февраля 2017 года в связи с 54-ФЗ) и головной офис товарной сети.
                          0
                          Как-то всё это сочетание высоких технологий с ручным фотографированием напоминает проект автоматизации транспорта: робот-кучер сидит на облучке и правит оттуда лошадьми.
                            0
                            Ну в нашей системе как раз и нет ручного фотографирования, в этом и отличие.
                            А в случае ручного фотографирования у конкурентров как раз нужна хорошая работа нейронки, т.к. каждый раз фото одной и той же полки будет сделано с разных ракурсов.
                            0
                            Была такая профессия — товаровед :)

                            Only users with full accounts can post comments. Log in, please.