Крис Баллард, руководитель исследований в области машинного обучения, Nielsen Connect Data Science

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

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

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

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

Как источник единой истины для потребителей, Nielsen помогает клиентам понять потребителей и решения, которые они принимают на своем пути к покупке, и упаковка продукта играет решающую роль в этих решениях. Чтобы помочь предприятиям розничной торговли отслеживать эту информацию, Nielsen Brandbank собирает изображения упаковки продуктов, которые затем превращаются в структурированные данные и распространяются среди розничных продавцов для использования на их сайтах продуктовых магазинов электронной коммерции. Эта информация включает списки ингредиентов, таблицы питания, товарный знак производителя и стандартные отраслевые логотипы, например, изготовлена ​​ли упаковка из переработанного материала и соответствует ли продукт конкретным диетическим потребностям (например, веганский).

Учитывая наше присутствие в пространстве, а также понимание сложного процесса преобразования информации о пакете в полезные данные, команда НИОКР Nielsen Connect AI решила решить задачу сбора этих данных более эффективным способом.

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

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

Почему нужно быть таким точным? Сегодня потребители больше, чем когда-либо, сосредоточены на ингредиентах, заявлениях о продуктах и ​​прозрачности. А это значит, что маркировка продукта может улучшить продажу или сорвать ее. Это также может иметь гораздо более серьезные последствия. Если у потребителя, например, есть аллергия, а товарная маркировка неверна, последствия могут быть намного хуже, чем просто потеря продажи.

Обнаружение объектов 101

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

Итак, как это связано с обнаружением информации на упаковке продукта?

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

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

Потребность в новых методах обнаружения объектов

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

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

Внешний вид и текстовая информация в CNN

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

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

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

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

В ходе тестирования мы обнаружили, что наша автоматизированная система распознавания работает значительно лучше, чем стандартная Faster R-CNN, для определения ингредиентов и информации о питании.

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

Примечания

Команда Nielsen Connect AI впервые представила это исследование на CVPR 2019 в семинаре Language and Vision Workshop. Команда также представила исследование в статье от мая 2019 года (авторы: Арройо, Роберто и Товар, Хавьер и Х. Дельгадо, Франсиско и Х. Альмазан, Эмилио и Дж. Серрадор, Диего и Уртадо, Антонио).