СПОСОБ ОБУЧЕНИЯ СИСТЕМЫ РАСПОЗНАВАНИЯ ТОВАРОВ НА ИЗОБРАЖЕНИЯХ
METHOD OF TRAINING GOODS RECOGNITION SYSTEM ON IMAGES

ОБЛАСТЬ ТЕХНИКИ
Техническое решение относится к системам технического зрения на базе алгоритмов машинного обучения (в частности, на основе искусственных нейронных сетей), а именно к системам распознавания товаров на изображениях. Под распознаванием товаров на изображениях в настоящем документе понимается автоматическое определение местоположения (координаты центра и размеры описанного прямоугольника) и наименования (среди одного из известных классов) товаров на фото- или видео-изображении выкладки товара в торговом оборудовании.
УРОВЕНЬ ТЕХНИКИ
Из уровня техники известны различные решения, обеспечивающие распознавание товаров на изображениях.
В документах US8923893B2 (США, 2015), US20030154141A1 (США, 2001), US9665794B2 (США, 2012) описывается только технический процесс распознавания товаров и обходят стороной вопрос обучения; патенты US20130051611A1 (США, 2011), US20160155011A1 (США, 2014) используют эталонные изображения товаров для сравнения и распознавания, не раскрывая процесс создания каталога эталонных изображений товаров. Другие патенты, например, US20160342863A1 (США, 2016), упоминают о возможности дообучения и поддержки каталога, но не указывают конкретных механизмов его актуализации.
Для каталогизации, разметки и доразметки изображений в большинстве используются системы колл-центров (такие как Mechanical Turk и пр.). Таким образом, текущий уровень техники обучения распознавания товаров использует ручную разметку и ручную каталогизацию как для задачи распознавания по известному каталогу, так и для задачи обновления каталога товаров.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Технической задачей, на решение которой направлено заявленное решение, обеспечение возможности обучения системы технического зрения распознаванию новых классов объектов, а именно обучение системы распознавания товаров на изображениях распознаванию новых товаров или новых вариантах дизайна упаковки товаров. В начальном состоянии система обучена распознаванию определенного количества «старых» товаров, а также имеется множество изображений, на каждом из которых изображены один или несколько товаров «старых», а также неизвестных («новых») товаров. Описываемый способ обучения позволяет получить в конечном состоянии систему, обученную распознаванию как «старых», так и «новых» товаров. Особенностью описываемого способа является кратное снижение ручных операций, выполняемых человеком, в процессе обучения, по сравнению с альтернативными методами, в том числе возможность полностью автоматического режима работы, без привлечения человека в процессе обучения распознаванию «новых» товаров.
Техническим результатом является обеспечение возможности автоматизированного обучения нейронных сетей распознаванию изображений товаров на основе новых изображений товаров.
Для обеспечения достижения указанного технического результата разработан способ обучения системы распознавания товаров на изображениях, содержащий этапы, на которых: извлекают из блока хранения данных изображения товаров, полученных с помощью устройств пользователей; формируют для каждого изображения товара многомерный вектор изображения; кластеризируют сформированные многомерные вектора изображения для получения кластеров изображений; идентифицируют по меньшей мере один кластер изображений либо как один из известных системе товаров, либо как новый, ранее не известный товар; присваивают по меньшей мере одному кластеру изображений, который был идентифицирован как новый товар, уникальную метку кластера; обучают нейронную сеть распознавать товары на изображениях на основе изображений упомянутых кластеров изображений, причем товару, который был определен ранее как неизвестный товар, назначается уникальная метка кластера в качестве уникальной характеристики товара.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Для лучшего понимания сущности изобретения, и чтобы более ясно показать, каким образом оно может быть осуществлено, далее будет сделана ссылка, лишь в качестве примера, на прилагаемый чертеж, на котором изображено:
фиг. 1 – система распознавания товаров на изображениях.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
В соответствии со схемой, приведенной на фиг. 1, система распознавания товаров на изображениях содержит: блок обработки данных 10, содержащий блок приема и передачи данных 11 и блок хранения данных 12; подсистему распознавания изображений 20; базу каталога товаров 30 и устройство 40 обучения нейронной сети.
Блок обработки данных 10 реализован на базе программно-аппаратных средств и предназначен для сбора данных, например, изображений, текста и геопозиции от различных источников данных. Например, блок обработки данных 10 может принимать посредством блока приема и передачи данных 11 фотографии от устройств пользователя, в частности, мобильных телефонов, смартфонов или планшетов, подключенных к Интернет посредством беспроводного соединения и оснащенных специализированным мобильным приложением. Посредством мобильного приложения пользователи могут получать фотографии выкладки товаров в торговом оборудовании, отправлять в блок приема и передачи данных 11 фотографии и другие данные, например, время и место съёмки, и получать от блока приема и передачи данных 11 результаты распознавания, например, информацию о соответствии выкладки правилам и требованиям. Полученный данные блок приема и передачи данных 11 сохраняет в блоке хранения данных 12, а также передает их в подсистему распознавания изображений 20.
Подсистема распознавания изображений 20 реализована на базе по меньшей мере одного сервера, выполненного в программно-аппаратной части таким образом, чтобы обеспечить выполнение приписанный в настоящей заявке ей функций, в частности, подсистема распознавания изображений 20 может быть реализована на базе искусственной нейронной сети. Подсистема распознавания изображений 20 получает фотографии выкладки товаров в торговом оборудовании, а также время и место съёмки от блока приема и передачи данных 11, определяет местоположение товара на изображении и характеристики внешнего вида товара. Характеристики внешнего вида товара определяются заранее обученной нейронной сетью на основе обучающей выборки из каталога, например, методами, раскрытыми в заявке EP3032461 (A1), опубл. 15.06.2016.
Далее подсистема распознавания изображений 20 на основе информации о времени и месте съёмки и характеристик внешнего вида товара для каждого товара, распознанном на изображении, осуществляет построение многомерного вектора, описывающего неявные и явные признаки этого товара. Под неявными признаками понимаются признаки, полученные нейросетью, которая описывает характеристики внешнего вида данного товара, а под явными – время и место съёмки. Дополнительно при формировании многомерного вектора могут учитываться характеристики внешнего вида товаров, распознанных на том же изображении товара. Полученные многомерные вектора для изображений сохраняются в блоке хранения данных 12.
База каталога товаров 30 представляет собой базу данных, содержащую примеры изображений товаров, информацию о местоположении товаров на примерах изображений, характеристики внешнего вида товара на примерах изображений, метка товара, информацию о географическом местоположении товаров, производные показатели, например, информация о правилах выкладки, а также уникальные характеристики товара, например, его наименование, торговую марку, компанию-производителя и т.п. В качестве уникального идентификатора товара в каталоге товаров выступает один или несколько числовых «штрих-кодов» стандарта EAN-13, EAN-8 или другого стандарта. Информация о географическом местоположении задается пользователем в зависимости от точек продаж, где данный товар находится на полке.
Подсистема распознавания изображений 20 обращается к базе каталога товаров 30, извлекает характеристики внешнего вида товара на примерах изображений и информацию о географическом местоположении данного товара и осуществляет построение многомерных векторов для примеров изображений товаров аналогичным ранее способом. В альтернативном варианте реализации заявленного решения многомерные вектора для примера изображения могут быть заранее рассчитаны и сохранены в базе каталога товаров 30.
Полученные многомерные вектора для примера изображений товара сравниваются упомянутой подсистемой 20 с многомерными векторами, сохраненными в блоке хранения данных 12 для определения коэффициентов похожести товаров, распознанном на изображении, на товары из каталога товаров 30.  Коэффициенты похожести товара, распознанном на изображении, может определяться по различным метрикам, например, по евклидовому расстоянию от многомерного вектора, сохраненного в блоке хранения данных 12 до многомерных векторов для примеров изображений товара. Далее подсистема распознавания изображений 20 выбирает минимальное значение коэффициента похожести товара и сравнивает его с заранее заданным диапазоном минимальных значений коэффициента похожести товара. Диапазон минимальных значений коэффициента похожести товара может быть заранее задан пользователем в подсистеме распознавания изображений 20 с учетом данных о характеристиках внешнего вида товаров, распознанных на том же изображении товара, а также с учетом места и времени съемки.
Подсистема распознавания изображений 20 определяет многомерный вектор для примера изображения товара, ближайший по заданной метрике к тому вектору, у которого получилось выбранное минимальное значение коэффициента похожести товара, и обращается к базе каталога товаров 30 и определяет товар, соответствующий данному многомерному вектору для примера изображения товара, а также извлекает уникальные характеристиками данного товара и производные показатели. Полученные уникальные характеристиками товара назначаются товару, распознанному на изображении, и сохраняются в блок хранения данных 12. Уникальные характеристиками товара и производные показатели могут быть переданы в мобильное приложение в ответ на направленное им ранее изображение товара в блок приема и передачи данных 11.
Если выбранное минимальное значение коэффициента похожести находится в пределах заданного диапазона минимальных значений коэффициента похожести товара, то товар классифицируется системой 20 как известный с меткой или уникальным идентификатором товара, полученных из каталога товаров 30; если выбранное минимальное значение коэффициента похожести выходит за пределы заданного диапазона минимальных значений коэффициента похожести товара, то подсистема распознавания изображений 20 определяет данный товар как неизвестный системе.
В процессе работы подсистемы распознавания изображений 20 возникает необходимость в обучении искусственной сети распознаванию товаров на изображениях в соответствии с новыми примерами изображений товаров. Для обучения подсистемы 20 в систему распознавания товаров на изображениях введено устройство 40 обучения нейронной сети. Устройство 40 обучения нейронной сети может быть выполнено на базе по меньшей мере одного процессора или микроконтроллера, выполненных в программно-аппаратной части таким образом, чтобы обеспечить выполнение приписанных устройству ниже функций.
В соответствии с заложенным в устройство 40 обучения нейронной сети программным алгоритмом или по запросу пользователя, упомянутое устройство обращается к блоку хранения данных 12 и извлекает из него изображения товаров, полученных с помощью устройств пользователей, уникальные характеристики товаров, многомерные вектора для товаров, распознанных на изображении, информацию о местонахождении товара на изображении, информацию о соседних товарах и месте съемки. Далее для каждого извлеченного изображения товара устройство 40 обучения нейронной сети формирует многомерный вектор изображения с учетом информации о уникальных характеристиках товаров, распознанном на данном изображении, многомерных векторов товаров, местонахождении товара на изображении, о соседних товарах и месте съемки.
Полученные многомерные вектора изображений кластеризуются устройством 40 обучения нейронной сети для получения кластеров изображений. Кластеризация этих векторов может осуществляться посредством известных алгоритмов, например, алгоритмом KMeans, EM-алгоритмом и др. алгоритмами с L2-метрикой. Затем каждый кластер изображений устройство 40 обучения нейронной сети идентифицирует либо как один из известных системе товаров, либо как новый, ранее не известный товар. Соответственно, кластеры, в которые вошли изображения товаров с назначенными ранее уникальными характеристиками товара, идентифицируется как на основе упомянутых назначенных уникальных характеристик, например, кластеру присваивается наименование товара, распознанном на изображениях, которые вошли в данный кластер. Кластеры, в которые вошли изображения неизвестных товаров, идентифицируются как неизвестные и им присваивается уникальная метка, сформированная, например, на основе информации о характеристиках внешнего вида товаров, изображение которых вошли в кластер, в частности, информации о размерах товара и/или цвете товара.
Далее устройство 40 обучения нейронной сети переходит к этапу обучения нейронной сети. На данном этапе устройство 40 обучения нейронной сети обращается к базе каталога товаров 30 и формирует в ней новый вид товара, которому в качестве уникальной характеристики товара назначается уникальная метка кластера, а примерами изображений товара назначаются изображения, которые вошли в кластер с данной уникальной меткой кластера. После того, как новый вид товара создан в базе каталога товаров 30, устройство 40 обучения нейронной сети инициирует процесс распознавания товаров соответствующим запросом на подсистему 20. При получении запроса подсистема распознавания изображений 20 определяет, в какой кластер попало изображение товара, который был определен ранее как неизвестный товар, назначает данному товару уникальную метку кластера и сохраняет ее в блок хранения данных 12 в качестве уникальной характеристики товара. Уникальная метка кластера и производные показатели товара могут быть переданы в мобильное приложение пользователя в ответ на направленное им ранее изображение товара в блок приема и передачи данных 11.
Таким образом, достигается обеспечение возможности автоматизированного обучения нейронных сетей распознаванию изображений товаров на основе новых изображений товаров, полученных от устройств пользователей. Для реализации заявленного способа не требуется высоких затрат вычислительных ресурсов, при этом автоматизированное обучения нейронных сетей осуществляется в максимально короткие сроки.