Область техники
Настоящее изобретение относится к способам распознавания розничных товаров, расположенных на полках стеллажей в супермаркете.
Описание предшествующего уровня техники
В настоящее время сфера видеоаналитики товаров и торговых стеллажей находится в стадии активного развития. Конкуренция розничных сетей ведет к развитию новых подходов к привлечению покупателей. Вычислительные мощности быстро увеличиваются и дешевеют, а вместе с этим появляются новые возможности технологий, которые возможно использовать в том числе и в сфере торговли. В гипермаркетах на стеллажах располагаются тысячи товаров, при этом согласно статистике, средняя посещаемость гипермаркетов колеблется от 16000 до 18000 человек в сутки, поэтому необходимы технологические решения, которые помогут быстро анализировать состояния товаров на стеллажах, их наличие и срок годности, чтобы вовремя заменять негодные товары на свежие или вовремя пополнять полки стеллажей популярными товарами.
Распознавание розничного товара является важной задачей визуальной аналитики в ретейле. Распознавание товаров может потребоваться в системах розничного бизнеса, таких как:
внутренние системы управления;
роботы-консультанты и мобильные устройства, помогающие персоналу супермаркетов;
маркетинговые кампании;
предоставление рекомендаций покупателю на основе того, на что смотрит покупатель;
обслуживание покупателей;
помощь покупателю в поиске товара, который он ищет.
Товары на полках магазина расположены произвольно так, что этикетки могут быть не видны, что чрезвычайно затрудняет распознавание и поиск определенного товара не только сотрудникам магазинов, но и покупателям, поскольку большинство товаров выглядят по-разному с разных сторон. Эту проблему можно решить, расширив базу данных товаров изображениями товаров, снятыми с разных ракурсов. Однако это значительно увеличивает время, необходимое для распознавания товара, так как соответственно увеличится количество изображений для сравнения.
Из уровня техники известен документ US 20200380226 A1 (дата публикации 03.12.2020), в котором раскрыты способ и устройство для идентификации товаров. Изображения товаров, снятые обычными или пленоптическими камерами, обрабатываются для получения нескольких различных изображений посредством преобразования перспективы. Складки и другие деформации на упаковке продукта определяют оптически. Известная система содержит первый и второй датчики, причем один из указанных датчиков содержит камеру, другой из указанных датчиков является датчиком, указывающим на наличие или отсутствие товара на полке; один или несколько процессоров и одно или несколько запоминающих устройств. Недостаткам известного решения является необходимость использования двух датчиков, один из которых должен быть прикреплен к потолку и снимать сцену под известным фиксированным ракурсом, что усложняет и ограничивает применимость этого подхода. Кроме того, в данном известном подходе для идентификации продукта используются дополнительные характеристики, такие как штрих код, текст или водяные знаки, что усложняет процесс.
Из уровня техники известен документ US 10922353 B2 (дата публикации 16.02.2021), в котором раскрыты система и способ определения объекта или продукта, представленного на изображении. Система получает первое изображение, определяет интересующую область на первом изображении, определяет классификационную оценку для интересующей области с помощью сверточной нейронной сети, которая присваивает интересующей области классификационную оценку, соответствующую классу, и идентифицирует продукт на изображении на основе оценки классификации. В данном подходе не используется информация о ракурсе объекта, которая позволила бы улучшить качество распознавания.
Из уровня техники известен документ US 8397181 B2 (дата публикации 12.03.2013), в котором раскрыт способ маркировки положения объекта реального мира на прозрачном дисплее. Известный способ включает в себя захват изображения объекта реального мира с помощью устройства формирования изображения. Положение объекта в реальном мире рассчитывается на основе угла обзора объекта и расстояния до объекта. Определяется положение на прозрачном дисплее, которое соответствует реальному положению объекта. Затем на дисплее отображается метка в месте, которое соответствует объекту реального мира. В этом известном решении наравне с цветной камерой и гироскопом используются датчики GPS и датчики дальности, позволяющие определить расстояние до объекта. Необходимость наличия этих устройств ограничивает применимость данного решения. Кроме того, целью известного решения является отображение объектов в виртуальной действительности, а не их идентификация.
Таким образом, необходимо создать простое в использовании и изготовлении устройство, которое позволяет распознавать товар, расположенный на полке стеллажа, по изображению, снятому камерой пользователя.
Сущность изобретения
Предлагается устройство идентификации товара, содержащее:
камеру, выполненную с возможностью съемки по меньшей мере одного изображения товаров, расположенных на полках стеллажа;
инерциальный измерительный блок, соединенный с камерой и выполненный с возможностью определения угла между оптической осью камеры при съемке и направлением гравитации;
детектор, соединенный с камерой, и выполненный с возможностью:
- обнаружения по меньшей мере одного изображения товара с полки, попавшего на отснятое камерой изображение,
- формирования ограничивающих прямоугольников, каждый один из которых описан вокруг каждого одного обнаруженного изображения товара с полки;
- определения положения центра каждого ограничивающего прямоугольника на изображении, отснятом камерой;
вычислительный блок, соединенный с инерциальным измерительным блоком и детектором, выполненный с возможностью вычисления угла Ɣi между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника;
базу данных, включающую в себя изображения известных товаров, причем для каждого известного товара в базе данных хранятся его изображения, на каждом из которых известный товар снят под известным углом между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника, описанного вокруг известного товара на изображении, причем упомянутые известные углы для всех изображений одного и того же известного товара разные;
блок сравнения, соединенный с вычислительным блоком и базой данных, выполненный с возможностью:
- извлечения из базы данных набора изображений известных товаров из базы данных, снятых под упомянутым известным углом, отличным от Ɣi не более чем на заранее заданный угол,
- из полученного набора изображений известных товаров из базы данных, выбора изображения известного товара из базы данных, которое имеет наибольшую степень совпадения с обнаруженным изображением товара с полки, по сравнению с другими изображениями известных товаров из базы данных из упомянутого извлеченного набора изображений известных товаров из базы данных;
- идентификации товара на обнаруженном изображении товара с полки на основании выбранного изображения известного товара из базы данных.
Также предлагается способ работы устройства идентификации товара, содержащий этапы, на которых:
А) производят съемку по меньшей мере одного изображения товаров, расположенных на полках стеллажа, посредством камеры;
Б) определяют угол между оптической осью камеры при съемке и направлением гравитации посредством инерциального измерительного блока;
В) посредством детектора:
- обнаруживают по меньшей мере одно изображение товара с полки, попавшего на отснятое изображение,
- формируют ограничивающие прямоугольники, каждый один из которых описан вокруг каждого одного обнаруженного изображения товара с полки,
- определяют положение центра каждого ограничивающего прямоугольника на изображении, отснятом камерой;
для каждого обнаруженного изображения товара с полки:
Г) вычисляют угол Ɣi между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника посредством вычислительного блока;
Д) посредством блока сравнения:
- извлекают из базы данных набор изображений известных товаров из базы данных, снятых под известным углом между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника, описанного вокруг известного товара на изображении из базы данных, причем упомянутый набор содержит изображения известных товаров из базы данных, снятых под упомянутым известным углом, отличным от Ɣi не более чем на заранее заданный угол;
- выбирают из упомянутых изображений известных товаров из базы данных, изображение известного товара из базы данных, которое имеет наибольшую степень совпадения с обнаруженным изображением товара с полки, по сравнению с другими изображениями известных товаров из базы данных из упомянутого извлеченного набора изображений известных товаров из базы данных;
- идентифицируют товар на обнаруженном изображении товара с полки на основании выбранного изображения известного товара из базы данных.
Угол Ɣi можно вычислять с использованием соотношения:
,
где α - это угол между оптической осью камеры и направлением гравитации,
f - это фокусное расстояние объектива камеры,
bi - это ордината центра ограничивающего прямоугольника, причем начало координат расположено в верхнем углу изображения, снятого камерой, ось у направлена вдоль боковой стороны изображения, отснятого камерой;
с - ордината точки пересечения оптической оси объектива камеры с плоскостью изображения.
Краткое описание чертежей
Вышеописанные и другие признаки и преимущества настоящего изобретения поясняются в последующем описании, иллюстрируемом чертежами, на которых представлено следующее:
Фиг. 1 кратко иллюстрирует алгоритм предлагаемого способа.
Фиг. 2 иллюстрирует различный вид одного и того же товара на изображении в зависимости от его расположения во время съемки относительно камеры.
Фиг. 3 иллюстрирует геометрическое обоснование вычисления угла Ɣi.
Фиг. 4 иллюстрирует блок-схему предлагаемого способа распознавания розничных товаров на изображении, отснятом камерой.
Подробное описание изобретения
Предлагаемое изобретение позволяет быстро и точно распознать товар, расположенный на полке стеллажа, только по его изображению, отснятому камерой в текущий момент времени.
Предлагаемое устройство идентификации розничных товаров представляет собой электронное устройство, содержащее камеру для съемки изображения, инерциальный измерительный блок (IMU), соединенный с камерой, детектор, соединенный с камерой, вычислительный блок, соединенный с инерциальным измерительным блоком и детектором, базу данных, блок сравнения, соединенный с вычислительным блоком и базой данных.
Блоки IMU известны из уровня техники и представляют собой электронное устройство, которое измеряет и сообщает угловую скорость, то есть скорость поворота камеры относительно оси вращения при движении камеры, и ориентацию тела (углы поворота по трем осям), в данном случае IMU определяет угол между оптической осью камеры при съемке и направлением гравитации, используя комбинацию акселерометров, гироскопов и магнитометров. В данном изобретении предлагается использовать информацию об ориентации камеры для оценки угла обзора и улучшения распознавания товара с полки. Блок IMU может быть расположен внутри камеры или прикреплен к камере.
Предлагаемое устройство может быть интегрировано в смартфон или любое другое подходящее компьютерное электронное устройство, имеющее камеру, память и возможность поддержки программного обеспечения.
На фиг. 1 кратко проиллюстрирован алгоритм предлагаемого способа идентификации товара на полке стеллажа.
А) Пользователь снимает полку с товарами на камеру, получая изображение полки с товарами;
Б) Посредством программного обеспечения осуществляется обнаружение (детектирование) каждого изображения товара с полки на полученном изображении полки с товарами, для этого полученное изображение полки с товарами сканируется алгоритмом детекции, обнаруживающим изображения отдельных предметов на изображении полки с товарами. Далее для краткости указанный алгоритм будет называться детектором. В уровне техники известны подобные детекторы, например, алгоритм DenseDet, описанный в статье Tianze Rong, Yanjia Zhu, Hongxiang Cai, and Yichao Xiong. «A Solution to Product Detection in Densely Packed Scenes», arXiv preprint arXiv: 2007.11946 (2020), https://arxiv.org/pdf/2007.11946.pdf, или, например, алгоритм RetailDet, описанный в статье Chen, F. et al. (2022). Unitail: Detecting, Reading, and Matching in Retail Scene. In: Avidan, S., Brostow, G., Cissé, M., Farinella, G.M., Hassner, T. (eds) Computer Vision - ECCV 2022. ECCV 2022. Lecture Notes in Computer Science, vol 13667. Springer, Cham. https://arxiv.org/pdf/2204.00298v4.pdf (RetailDet).
Упомянутый детектор обнаруживает все изображения товаров с полки на изображении полки с товарами, полученном камерой, и далее осуществляется анализ каждого обнаруженного изображения товара с полки.
Каждое обнаруженное изображение товара с полки вписывается в прямоугольник. Для примера на фиг. 1 (позиция Б) только один обнаруженный детектором товар с полки вписан в прямоугольник, однако вся описанная ниже процедура производится со всеми обнаруженными на изображении товарами, а не только с одним.
В известных применяемых алгоритмах детекции объекты, искомые на отснятых изображениях, параметризуются координатами ограничивающих прямоугольников, содержащих в себе изображение объекта. Прямоугольник - это общепринятый формат, которым может быть ограничено изображение товара для дальнейших расчетов. При обработке изображения формируется ограничивающий прямоугольник, который описан вокруг изображения объекта, то есть изображение объекта оказывается вписанным в ограничивающий прямоугольник. Результатом работы детектора являются координаты ограничивающих прямоугольников.
Систему координат связывают с изображением, полученным камерой. Изображение, полученное камерой, представляет собой изображение стеллажа, имеющего полки, на которых расположены товары, подлежащие идентификации. Изображение стеллажа имеет верхний край, расположенный выше изображения самой верхней полки, попавшей в кадр при съемке, и нижний край, расположенный ниже самой нижней полки, попавшей в кадр при съемке, и боковые края изображения, перпендикулярные верхнему и нижнему краю кадра. Начало координат расположим в одном из верхних углов изображения, полученного камерой, ось y направим вдоль одного из боковых краев изображения, ось x вдоль одного из верхнего или нижнего края изображения.
На фиг. 1 центр ограничивающего прямоугольника, который ограничивает один из обнаруженных товаров, обозначен точкой b. Точка b имеет координату bi по оси y, где i - это индекс (номер) обнаруженного изображения товара с полки, i= 1, 2…N. Также на изображении, отснятом камерой, отмечена точка С пересечения оптической оси объектива камеры и плоскости изображения, снимаемого камерой, и проекция с точки C на ось y.
В) По данным, полученным от инерциального измерительного блока, определяют параметры камеры (описанные ниже) для вычисления угла Ɣi между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника, в который вписано обнаруженное изображение i-го товара с полки. Угол Ɣi является ракурсом, под которым виден товар с полки на изображении, или, другими словами, ориентацией Ɣi товара на полке по отношению к камере при съемке.
Г) Каждое обнаруженное изображение товара с полки сравнивают с изображениями известных товаров из базы данных. В базе данных собраны изображения известных товаров (предметов), которые могут быть расположены на полке стеллажа в магазине, причем для каждого известного j-го товара собраны его изображения, снятые с разной ориентацией этого товара по отношению к камере при съемке, то есть под разными углами Ɣj где j - это индекс (номер) изображения известного товара из базы данных, j= 1, 2…M. Сначала выбирают из базы данных изображения всех известных товаров, имеющих по отношению к камере одну и ту же ориентацию Ɣj, совпадающую с ориентацией товара с полки, изображение которого обнаружено на изображении полки с товарами, полученном камерой.
Д) Затем из выбранных из базы данных изображений известных товаров выбирают изображение известного товара из базы данных, которое имеет наибольшую степень совпадения с обнаруженным изображением b товара с полки, по сравнению с другими изображениями известных товаров из выбранных из базы данных. Поиск и выбор похожего изображения из базы данных может производится, например, посредством нейронной сети или другим известным из уровня техники подходящим способом.
Е) На основании сравнения c выбранным изображением известного товара из базы данных идентифицируют товар на обнаруженном изображении товара с полки.
Фиг. 2 иллюстрирует идентичные товары 1 и 2 на полученном изображении полки с товарами в зависимости от их расположения относительно камеры во время съемки, то есть в зависимости от ракурса Ɣi и их поворота вокруг своей оси. Пунктирная линия, проведенная к середине изображения с левой стороны чертежа, обозначает проекцию точки С пересечения оптической оси камеры и плоскости изображения на ось y, то есть с - координата по оси y точки С. Ограничивающие прямоугольники, которыми обведены товар 1 на нижней полке и товар 2 на верхней полке, обозначают примеры изображений товаров, обнаруженных детектором на полученном камерой изображении. Центр ограничивающего прямоугольника обнаруженного изображения товара 1, расположенного на нижней полке, обозначен b1, центр ограничивающего прямоугольника обнаруженного изображения товара 2, расположенного на верхней полке, обозначен b2. Таким образом обрабатываются все обнаруженные изображения товаров с полок, найденных посредством детектирования на изображении полки с товарами, полученном камерой, при этом сам пользователь не принимает участия в выборе товара с полки, а только производит съемку камерой стеллажа с товарами. Точка b1 обозначает проекцию на ось y центра b1 ограничивающего прямоугольника обнаруженного изображения товара 1 с полки.
Товары на полке обычно расположены под разными ракурсами Ɣ относительно камеры при съемке. Во время съемки камера может быть направлена снизу-вверх на одни товары, на другие - сверху вниз, на третьи - сбоку и т.п. То есть, один и тот же товар, получаемый на изображении полки с товарами под разными углами Ɣ, может выглядеть на снятом камерой кадре по-разному, т.к. в кадре могут быть видны разные визуальные признаки одного и того же товара в зависимости от ракурса его съемки. Поэтому необходимо, чтобы набор изображений одного и того же известного товара, содержащийся в базе данных, состоял из изображений этого известного товара, снятых под различными заранее известными ракурсами Ɣj.
Существуют различные известные способы получения базы данных изображений одного и того же известного товара, расположенного на полке стеллажа под разными известными ракурсами Ɣj при съемке. Для предлагаемого изобретения возможно использовать, например, следующие:
1) Включение в базу данных фотографий реальных товаров. Для этого снимают каждый известный товар на камеру под заранее определенным набором углов Ɣj (углом между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего товар прямоугольника). Для каждого из положений товара на полке под углом Ɣj делают снимки с поворотом известного товара вокруг его оси с шагом, например, в 10°-15° (или с любым другим шагом) чтобы товар был под одним и тем же ракурсом Ɣj, но был виден с разных сторон для получения изображений одного и того же товара с разными визуальными признаками изображения товара, видимых с разных сторон. Такими признаками, в случае использования известных из уровня техники программ сравнения изображений, могут быть форма, цвет с разных сторон, градиент интенсивности цвета с одной стороны, наличие надписей и изображений на разных сторонах товара, углы и линии на изображении, и т.п. В случае применения нейронных сетей для целей сравнения указанные визуальные признаки, как правило, плохо интерпретируемы. Иногда возможно выделить некоторые паттерны, например, линии под некоторыми углами, надписи, цвет, формы, на которые будет реагировать нейронная сеть, но в целом могут иметь место и признаки, непонятные человеческому глазу, поскольку признаки, получаемые с помощью нейронной сети, являются абстрактными многомерными векторами.
Полученные изображения сохраняют в базе данных.
2) Включение в базу данных отдельных изображений товара, сформированных из его 3D модели. При наличии 3D модели товара можно осуществить рендеринг, то есть сформировать разные виды одного и того же товара на компьютере под различными известными заранее углами Ɣj. Рендеринг нужно сделать для всех товаров, имеющихся в магазине. 3D модель получают с помощью 3D сканера, такие процессы известны из уровня техники.
В любом из вариантов для каждого товара, имеющегося в магазине, в базе данных должны быть сохранены:
- наборы изображений (снимков) под разными углами Ɣi между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего товар прямоугольника,
- причем каждый набор изображений под каждым из углов Ɣi содержит изображения, на которых товар повернут вокруг своей вертикальной оси или горизонтальной оси, или любой другой своей оси, как это удобно (в зависимости от формы товара и того, как товар может располагаться на полке), чтобы признаки товара были видны на изображении товара с разных сторон товара.
Обычно в уровне техники для идентификации товара изображение обнаруженного товара с полки сравнивается со всеми вариантами изображений, содержащимися в базе данных, что требует много времени и ресурсов памяти. В предлагаемом изобретении для каждого известного товара из базы данных на изображениях, хранящихся в базе данных, угол Ɣj известен. В процессе идентификации товара с полки в первую очередь осуществляется сравнение угла Ɣi идентифицируемого товара с полки и угла Ɣj, под которым сняты изображения известных товаров из базы данных. Поэтому количество сравнений с данными из базы данных значительно уменьшается, то есть уменьшается время идентификации товара с полки, поскольку изображения известных товаров из базы данных, имеющие угол Ɣi, не совпадающий с углом Ɣj обнаруженного изображения товара не принимаются во внимание.
Угол Ɣi, под которым пользователь снимает камерой идентифицируемый товар с полки, при известном угле наклона оптической оси камеры относительно горизонта и известном положении товара на полученном изображении вычисляется следующим образом. Положение товара на изображении полки с товарами определяется координатой y центра ограничивающего прямоугольника, в который вписано обнаруженное изображение товара.
Фиг. 3 схематично иллюстрирует геометрическое обоснование вычисления угла Ɣi. Весь кадр изображения отображается в виде отрезка AB, точка С и ее проекция с на ось у (ось у на виде сбоку совпадает с прямой, на которой расположен отрезок AB), показанные на фиг. 2, визуализируются на фиг. 3 одной точкой с (то есть ординатой точки С).
Ось х направлена вперед на наблюдателя, поэтому она не видна на фиг. 3. Величины bi, то есть b1, b2,…bN - это центры прямоугольников, в которые вписаны обнаруженные изображения товаров с полок, которые на виде сбоку совпадают с y-координатами центров соответствующих ограничивающих прямоугольников, в которые вписаны обнаруженные изображения товаров с полок.
с - это у-координата (ордината) оптического центра С камеры в системе координат, показанной на фиг. 2. Точка С называется принципиальной точкой камеры, и является точкой пересечения оптической оси объектива камеры с плоскостью изображения, которое снимает камера, как правило, эта точка близка или совпадает с центром изображения. В идеальной камере принципиальная точка камеры находится точно в центре изображения, поскольку в идеальной камере не учитываются оптические искажения, из-за которых в реальных камерах принципиальная точка немного смещена от центра изображения, например, тангенциальное искажение или несовершенное центрирование компонентов объектива и другие производственные дефекты. Принципиальная точка камеры является известным внутренним параметром любой камеры, предназначенной для съемки изображения, то есть величина с известна и зависит от выбранной камеры, причем при расчетах может использоваться значение координаты у при проекции точки С на ось y, которое будет одинаковым для любого снимка, сделанного одной и той же камерой. Как показано на фиг. 3, AC не равно BC.
На фиг. 3 приведены примеры для двух обнаруженных изображений товаров с полок, b1 - проекция на ось y центра b1 ограничивающего прямоугольника, описывающего первое обнаруженное изображение товара с полки, показанного на фиг. 2 на нижней полке, b2 - проекция на ось y центра b2 ограничивающего прямоугольника, описывающего второе обнаруженное изображение товара с полки, показанного на фиг. 2 на верхней полке. Если при съемке в кадр попало несколько объектов (товаров), расположенных на одной полке, и несколько объектов (товаров), расположенных на другой полке, то в результате обнаружения (детекции) будут найдены товары и с одной полки, и с другой полки, как бы они ни были расположены друг относительно друга. Изображения всех обнаруженных товаров с полок, попавших в кадр при съемке камерой, обрабатываются посредством программного обеспечения. Фокусное расстояние объектива камеры f - это внутренний параметр камеры. Как было указано выше, Ɣi -это угол между горизонтальной плоскостью и лучом, соединяющим центр камеры и центр прямоугольника, описывающего обнаруженный товар с полки, горизонтальная плоскость - эта плоскость, ортогональная направлению гравитации. Угол α - это угол между оптической осью камеры и направлением гравитации, определяемый с помощью блока IMU.
Точка О - это центр объектива камеры, откуда выходит оптическая ось камеры. Отрезок АВ, проходящий через точки b1, c, b2 - это проекция плоскости изображения на ось y. Величины bi, то есть b1, b2,…bN - это значения y-координаты центров прямоугольников, в которые вписаны обнаруженные изображения товаров 1, 2,…N, которые на виде сбоку совпадают с центрами прямоугольников, в которые вписаны обнаруженные изображения товара с полки.
βi , то есть любой из βi=β1, β2,… βN - это угол, под которым виден i-ый товар на изображении, то есть угол между плоскостью изображения при съемке, которая параллельна плоскости объектива камеры, и лучом, соединяющим центр камеры и центр ограничивающего прямоугольника, в который вписано обнаруженное изображение товара. Если обнаруженное изображение товара i с полки расположено в центре изображения (в центре кадра), то угол βi=0. Если обнаруженное изображение товара i с полки расположено внизу изображения (внизу кадра), то товар виден сверху вниз и угол βi большой. Конкретная величина угла βi зависит от положения обнаруженного изображения товара с полки, ординаты с принципиальной точки С камеры и фокусного расстояния f камеры.
Соотношения, связывающие упомянутые величины, исходя из фиг. 3, представляют собой следующие выражения:
,
,
(1)
На фиг. 3:
Большой треугольник △ ОDЕ: сторона DЕ - это плоскость полки, изображение которой захвачено камерой. Вершина О - это место расположения камеры. ОD и OE ограничивают поле обзора камеры.
Маленький треугольник △OAB: сторона AB - плоскость изображения, куда проецируется реальная полка с помощью камеры. Плоскость кадра (плоскость изображения) ортогональна оптической оси камеры ОН. Поскольку на фиг. 3 показан вид сбоку, то плоскость изображения выглядит как отрезок AB, на котором лежат точки b1, b2, c. Плоскость изображения ортогональна оптической оси камеры, что видно из фиг. 3 (Oc ⊥ AB). Поскольку при съемке оптическая ось камеры может быть направлена не параллельно горизонту (не ортогонально гравитации), прямая AB, соответствующая плоскости изображения, не вертикальна. Точки F и G - это центры прямоугольников, в которые вписаны реальные товары с полок, попадающие на изображение при съемке. Точки b1 и b2 - это точки, в которые проецируются камерой точки F и G при съемке.
α - угол между оптической осью камеры и осью (направлением) гравитации.
OH - направление оптической оси камеры при съемке.
Зная ракурс обнаруженного изображения товара с полки, то есть угол Ɣi, вычисляемый с помощью выражения (1), сравнивают обнаруженное изображение товара с полки с изображениями товаров из базы данных. При этом выбирается из базы данных набор изображений известных товаров с углом Ɣj, отличающимся от вычисленного Ɣi не более чем на заранее заданный угол. Затем из этого набора выбирают единственное изображение известного товара из базы данных, имеющего признаки, которые имеют наибольшую степень совпадения с признаками обнаруженного изображения товара с полки.
По отобранному из базы данных изображению известного товара из базы данных идентифицируют товар на обнаруженном изображении товара с полки, то есть товар на обнаруженном изображении товара с полки будет идентифицирован как товар, изображение которого отобрано из базы данных.
Два или более обнаруженных изображения товара с полки могут иметь одну и ту же у-координату bi центров ограничивающих прямоугольников в кадре, например, если они расположены на одной полке с товарами и имеют одинаковый размер. Тогда для этих обнаруженных изображений товаров с полки углы βi будут равны между собой, также вычисленные углы Ɣi будут равны между собой. В этом случае из базы данных выбирается один и тот же набор изображений известных товаров из базы данных для этих двух или более упомянутых обнаруженных изображений товара с полки. Затем из этого набора для каждого из этих двух или более обнаруженных изображений товара с полки выбирают единственное изображение известного товара из базы данных, признаки которого совпадают с признаками изображения обнаруженного товара с полки. По отобранному из базы данных изображению известного товара идентифицируют реальный товар на обнаруженном изображении товара с полки.
С помощью предложенного способа повышается качество распознавания товара на полученном пользователем изображении. Качество распознавания повышается относительно случая, когда в базе данных имеется только одно изображение каждого известного товара, при этом велик шанс, что товар с полки, снятый на камеру, будет расположен не под тем же углом Ɣi, под которым снято изображение известного товара, находящееся в базе данных, и схожесть изображения обнаруженного товара и соответствующего изображения из базы может быть мала, что может привести к ошибке распознавания.
Изображение, снятое на камеру пользователем, может быть обработано, например, нейронной сетью. После обнаружения изображений товаров с полки на полученном изображении дескрипторы нейронной сети, являющиеся характеристиками (признаками) изображения и вычисленные с помощью нейронной сети, сравниваются, при этом сопоставляют каждое обнаруженное изображение товара с полки с изображениями известных товаров из базы данных. По дескрипторам оценивается «степень похожести» изображений. Такие дескрипторы известны из уровня техники и могут быть получены разными способами, например, с помощью применения предобученной нейронной сети. Нейронная сеть может обучаться, например, на наборах данных товаров из магазинов, например, на известном из уровня техники наборе данных SKU-110K https://paperswithcode.com/dataset/sku110k. Однако, указанный набор не является единственным подобным набором, нейронную сеть можно обучать и на каком-либо другом известном и подходящем по контексту наборе данных.
В качестве дескрипторов могут использоваться классические, известные из уровня техники, такие как, например, SIFT - масштабно-инвариантная трансформация признаков, которая является алгоритмом выявления признаков в компьютерном зрении для выявления и описания локальных признаков в изображениях. Такие способы известны из уровня техники и не являются объектом изобретения. Вкратце, алгоритм распознавания находит соответствующий объекту-запросу объект из базы данных. И это соответствие может быть установлено на основе каких угодно дескрипторов, нейросетевых, или SIFT, или любых других. Возможно применение любых подходящих алгоритмов, известных из уровня техники.
Нейронная сеть является не единственным способом обнаружения товаров. Товары могут быть обнаружены на изображении любым подходящим и известным из уровня техники способом, поэтому изобретение не ограничивается нейросетевыми подходами.
На фиг. 4 показана блок-схема предлагаемого способа идентификации товара на полке стеллажа. Последовательность действий следующая:
1 - пользователь снимает камерой стеллаж с товарами.
2 - получают в камере изображение стеллажа с товарами, которое преобразуется в форму, (то есть, например, числовой массив фиксированного размера с тремя каналами, соответствующими красному, зеленому и синему цветам (RGB)), необходимую для обработки изображения программным обеспечением.
3 - с помощью блока IMU, соединенного с камерой, определяют угол α между оптической осью камеры во время съемки и направлением гравитации;
4 - в работу включается детектор, соединенный с камерой, который обнаруживает изображения всех товаров, попавших на отснятое изображение, при этом формируется ограничивающий прямоугольник, который описан вокруг обнаруженного изображения товара с полки.
Для каждого i-го обнаруженного изображения товара с полки:
4а - с помощью детектора получают координату y (ординату) центра ограничивающего прямоугольника, в который вписано i-ое обнаруженное изображение товара с полки, то есть bi, определяющее положение обнаруженного изображения товара с полки на изображении полки с товарами, отснятом камерой.
Опциально 4b - в полученном детектором изображении возможно вырезать из ограничивающего прямоугольника изображение самого товара с полки, по которому далее будет распознаваться товар. Это необязательный этап. Технически распознавание товара можно реализовать и без этапа вырезания, если в базе данных находятся изображения товаров, не вырезанные из ограничивающих прямоугольников.
5 - с помощью вычислительного блока, соединенного с IMU и детектором, используя выражение (1), вычисляют угол Ɣi для обнаруженного изображения товара с полки. При этом угол α определен на этапе 3, bi определен на этапе 4a, величины с и f, как указано выше, являются известными характеристиками камеры.
Ɣi - это результат применения предыдущего этапа 5, то есть угол Ɣi, вычисленный для обнаруженного изображения товара с полки.
6 - с помощью блока сравнения, соединенного с вычислительным блоком и базой данных, извлекают из базы данных изображения известных товаров, снятых под углом Ɣj, отличающимся от вычисленного Ɣi на предыдущем этапе не более чем на заранее заданный угол. То есть, если, например, база данных собрана с шагом угла Ɣj в 10 градусов, то угол Ɣi, рассчитанный на предыдущем этапе, может отличаться от угла Ɣj из базы данных не более, чем, например, на 5 градусов (то есть на половину от шага угла в базе данных).
6а - это результат применения предыдущего этапа 6, то есть извлеченный из базы данных набор изображений разных известных товаров, снятых под углами Ɣj, отличными от угла Ɣi, вычисленного на этапе 5, не более чем на заранее заданный угол.
7 - далее с помощью блока сравнения по визуальным признакам изображения обнаруженного товара с полки выбирают из полученного набора 6а изображений, изображение известного товара из базы данных с визуальными признаками, наиболее совпадающими с визуальными признаками обнаруженного изображения товара с полки. Например, подобное сравнение изображений по вычисленным признаком описано в уровне техники https://arxiv.org/pdf/1404.1777.pdf, идентифицируя таким образом товар 7а, обнаруженный на отснятом пользователем изображении. Этапы 4а - 7 повторяют для всех обнаруженных изображений товара с полки на изображении, отснятом камерой.
Предлагаемое изобретение позволяет быстро и легко найти необходимый заранее известный товар на полке магазина среди множества других товаров. Например, пользователь просто может нести включенное электронное устройство, содержащее камеру, направленную на стеллажи с товарами, и при обнаружении необходимого товара устройство оповестит пользователя о том, что товар найден. Когда пользователь несет камеру вдоль стеллажей, камера фотографирует полки с заданной частотой и анализирует изображения, выдавая на экран результат распознавания всех товаров в кадре. Этот процесс можно применить для распознавания конкретных заранее отмеченных товаров, интересных пользователю, однако это выходит за рамки изобретения, поскольку изобретение направлено только на идентификацию всех товаров, попавших на изображение, отснятое камерой. В другом варианте осуществления пользователь, наведя электронное устройство, содержащее камеру, на понравившийся товар, может увидеть на экране устройства информацию о товарах, попавших в кадр, например, название, состав, срок годности, стоимость и т.п.
Хотя изобретение описано с некоторыми иллюстративными вариантами осуществления, следует понимать, что сущность изобретения не ограничивается этими конкретными вариантами осуществления. Напротив, предполагается, что сущность изобретения включает в себя все альтернативы, коррекции и эквиваленты, которые могут быть включены в сущность и объем формулы изобретения.
Кроме того, изобретение включает в себя все эквиваленты заявляемого изобретения, даже если пункты формулы изобретения изменяются в процессе рассмотрения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ПОСТРОЕНИЯ ФРОНТАЛЬНОЙ ПАНОРАМЫ СТЕЛЛАЖА ИЗ ПРОИЗВОЛЬНОЙ СЕРИИ КАДРОВ ПО 3D-МОДЕЛИ СТЕЛЛАЖА | 2022 |
|
RU2791291C1 |
Способ подготовки наборов видео для машинного анализа для персональной идентификации собак | 2022 |
|
RU2816267C1 |
СИСТЕМА КОМПЬЮТЕРНОГО ЗРЕНИЯ В РИТЕЙЛЕ | 2022 |
|
RU2785327C1 |
Способ контроля пространственного положения участников спортивного события на игровом поле | 2016 |
|
RU2616152C1 |
Способ автоматической калибровки датчиков машинного зрения рельсового транспортного средства | 2023 |
|
RU2811766C1 |
УСТРОЙСТВО ДЛЯ ПАНОРАМНОЙ ПРОСТРАНСТВЕННОЙ ФОТОСЪЕМКИ | 2023 |
|
RU2804376C1 |
СПОСОБ ВЗАИМНОЙ КАЛИБРОВКИ ВИДЕОКАМЕРЫ И УСТРОЙСТВА ВЕЕРНОГО ЛАЗЕРНОГО ПОДСВЕТА | 2021 |
|
RU2788666C1 |
СПОСОБ ИДЕНТИФИКАЦИИ ТИПА САМОЛЕТА СРЕДСТВАМИ ПАССИВНОЙ ОПТИЧЕСКОЙ ЛОКАЦИИ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2017 |
|
RU2708346C1 |
Способ реконструкции 3D модели статичного объекта и устройство для его реализации | 2018 |
|
RU2693327C1 |
Установка для автоматического измерения параметров растений | 2019 |
|
RU2726257C1 |
Изобретение относится к способам распознавания розничных товаров, расположенных на полках стеллажей супермаркета. Устройство идентификации товара содержит камеру, соединенную с инерциальным измерительным блоком и детектором, вычислительный блок, соединенный с инерциальным измерительным блоком и детектором, базу данных, блок сравнения, соединенный с вычислительным блоком и базой данных. Для идентификации товара производят съемку изображения стеллажа с товарами посредством камеры. Определяют угол между оптической осью камеры при съемке и направлением гравитации. Обнаруживают изображение товара с полки, попавшего на отснятое изображение. Определяют положение центра каждого ограничивающего прямоугольника на изображении, отснятом камерой. Вычисляют угол между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника. Извлекают из базы данных набор изображений известных товаров, из которого выбирают изображение, которое имеет наибольшую степень совпадения с обнаруженным изображением товара с полки, и идентифицируют товар. Технический результат – повышение точности распознавания товара, расположенный на полке стеллажа. 2 н. и 1 з.п. ф-лы, 4 ил.
1. Устройство идентификации товара, содержащее:
камеру, выполненную с возможностью съемки по меньшей мере одного изображения товаров, расположенных на полках стеллажа;
инерциальный измерительный блок, соединенный с камерой и выполненный с возможностью определения угла между оптической осью камеры при съемке и направлением гравитации;
детектор, соединенный с камерой, и выполненный с возможностью:
- обнаружения по меньшей мере одного изображения товара с полки, попавшего на отснятое камерой изображение,
- формирования ограничивающих прямоугольников, каждый один из которых описан вокруг каждого одного обнаруженного изображения товара с полки;
- определения положения центра каждого ограничивающего прямоугольника на изображении, отснятом камерой;
вычислительный блок, соединенный с инерциальным измерительным блоком и детектором, выполненный с возможностью вычисления угла Ɣi между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника;
базу данных, включающую в себя изображения известных товаров, причем для каждого известного товара в базе данных хранятся его изображения, на каждом из которых известный товар снят под известным углом между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника, описанного вокруг известного товара на изображении, причем упомянутые известные углы для всех изображений одного и того же известного товара разные;
блок сравнения, соединенный с вычислительным блоком и базой данных, выполненный с возможностью:
- извлечения из базы данных набора изображений известных товаров из базы данных, снятых под упомянутым известным углом, отличным от Ɣi не более чем на заранее заданный угол,
- из полученного набора изображений известных товаров из базы данных, выбора изображения известного товара из базы данных, которое имеет наибольшую степень совпадения с обнаруженным изображением товара с полки, по сравнению с другими изображениями известных товаров из базы данных из упомянутого извлеченного набора изображений известных товаров из базы данных;
- идентификации товара на обнаруженном изображении товара с полки на основании выбранного изображения известного товара из базы данных.
2. Способ работы устройства идентификации товара по п. 1, содержащий этапы, на которых:
А) производят съемку по меньшей мере одного изображения товаров, расположенных на полках стеллажа, посредством камеры;
Б) определяют угол между оптической осью камеры при съемке и направлением гравитации посредством инерциального измерительного блока;
В) посредством детектора:
- обнаруживают по меньшей мере одно изображение товара с полки, попавшего на отснятое изображение,
- формируют ограничивающие прямоугольники, каждый один из которых описан вокруг каждого одного обнаруженного изображения товара с полки,
- определяют положение центра каждого ограничивающего прямоугольника на изображении, отснятом камерой;
для каждого обнаруженного изображения товара с полки:
Г) вычисляют угол Ɣi между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника посредством вычислительного блока;
Д) посредством блока сравнения:
- извлекают из базы данных набор изображений известных товаров из базы данных, снятых под известным углом между горизонтальной плоскостью и лучом, соединяющим центр объектива камеры и центр ограничивающего прямоугольника, описанного вокруг известного товара на изображении из базы данных, причем упомянутый набор содержит изображения известных товаров из базы данных, снятых под упомянутым известным углом, отличным от Ɣi не более чем на заранее заданный угол;
- выбирают из упомянутых изображений известных товаров из базы данных, изображение известного товара из базы данных, которое имеет наибольшую степень совпадения с обнаруженным изображением товара с полки, по сравнению с другими изображениями известных товаров из базы данных из упомянутого извлеченного набора изображений известных товаров из базы данных;
- идентифицируют товар на обнаруженном изображении товара с полки на основании выбранного изображения известного товара из базы данных.
3. Способ по п. 2, в котором угол Ɣi вычисляют с использованием соотношения
,
где α - это угол между оптической осью камеры и направлением гравитации,
f - это фокусное расстояние объектива камеры,
bi - это ордината центра ограничивающего прямоугольника, причем начало координат расположено в верхнем углу изображения, снятого камерой, ось у направлена вдоль боковой стороны изображения, отснятого камерой;
с - ордината точки пересечения оптической оси объектива камеры с плоскостью изображения.
CN 103295136 B, 03.08.2016 | |||
CN 115661624 A, 31.01.2023 | |||
JP 2019160327 A, 19.09.2019 | |||
US 9330474 B1, 03.05.2016 | |||
СПОСОБ СОДЕЙСТВИЯ ОБНАРУЖЕНИЮ ПРЕДМЕТА В МЕСТЕ ХРАНЕНИЯ | 2012 |
|
RU2597492C2 |
СПОСОБ И СИСТЕМА РАСПОЗНАВАНИЯ ОБРАЗОВ ИЗ ВИДЕОПОТОКА | 2019 |
|
RU2714901C1 |
Авторы
Даты
2023-10-23—Публикация
2023-02-13—Подача