RU2726227C1 - Method and system for recognizing encoded data by scanning images - Google Patents
Method and system for recognizing encoded data by scanning images Download PDFInfo
- Publication number
- RU2726227C1 RU2726227C1 RU2020107564A RU2020107564A RU2726227C1 RU 2726227 C1 RU2726227 C1 RU 2726227C1 RU 2020107564 A RU2020107564 A RU 2020107564A RU 2020107564 A RU2020107564 A RU 2020107564A RU 2726227 C1 RU2726227 C1 RU 2726227C1
- Authority
- RU
- Russia
- Prior art keywords
- code
- product
- kiosk
- codes
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/18—Payment architectures involving self-service terminals [SST], vending machines, kiosks or multimedia terminals
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F11/00—Coin-freed apparatus for dispensing, or the like, discrete articles
- G07F11/02—Coin-freed apparatus for dispensing, or the like, discrete articles from non-movable magazines
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
[001] Данное техническое решение в общем относится к области вычислительной техники, а в частности к способам и системам для распознавания кодов на объектах в вендинговых аппаратах и киосках самообслуживания.[001] This technical solution generally relates to the field of computer technology, and in particular to methods and systems for recognizing codes on objects in vending machines and self-service kiosks.
УРОВЕНЬ ТЕХНИКИBACKGROUND
[002] В настоящее время вендинговые аппараты популярны из-за удобства, потому что готовы к работе в любое время дня и ночи. Кроме того, вендинговые аппараты могут быть размещены в удаленных местах, таких как вокзалы, гостиничные коридоры и тому подобное, которые удобны для клиентов.[002] Currently, vending machines are popular because of convenience because they are ready to work at any time of the day or night. In addition, vending machines can be placed in remote places, such as train stations, hotel corridors and the like, which are convenient for customers.
[003] В то же время с развитием вычислительной техники стало возможным решить ряд задач, возникающих в процессе жизнедеятельности, облегчить, ускорить, повысить качество результата. К примеру, работа различных систем жизнеобеспечения, взаимодействие человека с компьютером, появление роботизированных систем и др. Тем не менее, обеспечить удовлетворительный результат в некоторых задачах (распознавание объектов) в настоящее время не удается.[003] At the same time, with the development of computer technology, it has become possible to solve a number of problems arising in the process of life, to facilitate, accelerate, and improve the quality of the result. For example, the operation of various life support systems, human-computer interaction, the appearance of robotic systems, etc. However, at present, it is not possible to provide a satisfactory result in some tasks (object recognition).
[004] Создание устройств, выполняющих функции распознавания различных объектов, в большинстве случаев обеспечивает возможность замены человека специализированным автоматом. Благодаря этому, значительно расширяются возможности сложных систем, выполняющих различные информационные, логические, аналитические задачи. Следует отметить, что качество работ, выполняемых человеком на рабочем месте, зависит от многих факторов (квалификации, опыта, добросовестности и т.д.). Автоматический контроль сложных систем позволяет вести мониторинг и обеспечивать своевременное обслуживание, идентификацию помех и автоматическое применение соответствующих методов обработки данных, позволяет повысить качество передачи информации. Также очевидно, что использование автоматических систем для задач распознавания товаров может обеспечить невозможное для человека быстродействие.[004] the Creation of devices that perform the functions of recognition of various objects, in most cases, provides the ability to replace a person with a specialized machine. Thanks to this, the capabilities of complex systems that perform various informational, logical, analytical tasks are greatly expanded. It should be noted that the quality of the work performed by a person in the workplace depends on many factors (qualifications, experience, integrity, etc.). Automatic control of complex systems allows monitoring and ensuring timely maintenance, identification of interference and the automatic application of appropriate data processing methods, which improves the quality of information transfer. It is also obvious that the use of automatic systems for the recognition of goods can provide impossible performance for humans.
СУЩНОСТЬ ТЕХНИЧЕСКОГО РЕШЕНИЯESSENCE OF TECHNICAL SOLUTION
[005] Данное техническое решение направлено на устранение недостатков, известных из уровня техники.[005] This technical solution is aimed at eliminating the disadvantages known from the prior art.
[006] Технической задачей или технической проблемой, решаемой в данном техническом решении, является распознавание товаров внутри вендингового автомата.[006] The technical task or technical problem to be solved in this technical solution is the recognition of goods inside the vending machine.
[007] Техническим результатом является повышение точности распознавания объектов внутри вендингового автомата.[007] The technical result is to increase the accuracy of recognition of objects inside a vending machine.
[008] Указанный технический результат достигается благодаря осуществлению способа распознавания закодированных данных посредством сканирования изображений, выполняемый по меньшей мере одним вычислительным устройством, в котором получают общий список кодов товаров, которые были загружены в киоск; получают из по меньшей мере одной камеры по меньшей мере один кадр, содержащий по меньшей мере один товар из киоска, причем каждый товар содержит по меньшей мере один код, в котором закодирована информация о товаре после того, как пользователь изъял из киоска по меньшей мере один товар; передают полученный на предыдущем шаге по меньшей мере один кадр с кодом товара алгоритму компьютерного зрения, который идентифицирует на кадре по меньшей мере один код товара посредством получения координат данного кода товара; преобразовывают посредством вычислительного устройства по меньшей мере один идентифицированный посредством алгоритма компьютерного зрения код, расположенный на товаре, в текстовый вид; определяют коды товаров, которые пользователь изъял из киоска посредством сравнения общего списка кодов товаров, полученного на первом шаге до открытия пользователем двери и по меньшей мере одного преобразованного ранее кода, причем удаляют данные коды из общего списка кодов товаров; направляют на сервер команду на списание денежных средств на основании определенных кодов товаров, которые изъял пользователь.[008] This technical result is achieved by implementing a method for recognizing encoded data by scanning images, performed by at least one computing device, in which a general list of product codes that have been downloaded to the kiosk is obtained; receive from at least one camera at least one frame containing at least one product from the kiosk, and each product contains at least one code that encodes product information after the user has removed at least one from the kiosk product; at least one frame with the product code obtained in the previous step is transmitted to the computer vision algorithm, which identifies at least one product code on the frame by obtaining the coordinates of the given product code; by means of a computing device, converting at least one code located on the product identified by the computer vision algorithm into a text view; determining product codes that the user removed from the kiosk by comparing the general list of product codes obtained in the first step before the user opens the door and at least one previously converted code, and these codes are removed from the general list of product codes; send to the server a command to write off funds based on certain codes of goods that the user withdrew.
[009] В некоторых вариантах реализации технического решения код на товаре является линейным кодом или двумерным кодом.[009] In some embodiments of the technical solution, the product code is a linear code or a two-dimensional code.
[0010] В некоторых вариантах реализации технического решения код наклеен на разрушаемую наклейку.[0010] In some embodiments of the technical solution, the code is affixed to a destructible sticker.
[0011] В некоторых вариантах реализации технического решения алгоритм компьютерного возраста реализован в библиотеке OpenCV или libdwt, или SimpleCV.[0011] In some embodiments of the technical solution, a computer age algorithm is implemented in the OpenCV library or libdwt or SimpleCV.
[0012] В некоторых вариантах реализации технического решения определяют координаты кода товара на изображении в пикселях.[0012] In some embodiments of the technical solution, the coordinates of the product code on the image in pixels are determined.
[0013] В некоторых вариантах реализации технического решения блок запирания двери является электромагнитным замком, который состоит из металлической пластины и магнитного датчика, и/или электромеханическим замком.[0013] In some embodiments of the technical solution, the door locking unit is an electromagnetic lock, which consists of a metal plate and a magnetic sensor, and / or an electromechanical lock.
[0014] В некоторых вариантах реализации технического решения система дополнительно содержит блок считывания температурной информации, представляющий собой набор температурных датчиков для формирования данных о температурных показаниях внутри киоска.[0014] In some embodiments of the technical solution, the system further comprises a temperature information reading unit, which is a set of temperature sensors for generating temperature readings within the kiosk.
[0015] В некоторых вариантах реализации технического решения блоком ввода информации является бесконтактный считыватель карт.[0015] In some embodiments of the technical solution, the information input unit is a contactless card reader.
[0016] В некоторых вариантах реализации технического решения блок взаимодействия систем представляет собой Raspberry Pi.[0016] In some embodiments of the technical solution, the system interaction unit is a Raspberry Pi.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
[0017] Признаки и преимущества настоящего технического решения станут очевидными из приведенного ниже подробного описания и прилагаемых чертежей, на которых:[0017] The features and advantages of this technical solution will become apparent from the following detailed description and the accompanying drawings, in which:
[0018] На Фиг. 1 показан пример реализации архитектуры системы распознавания кодов на объекте в вендинговом автомате.[0018] In FIG. Figure 1 shows an example implementation of the architecture of a system for recognizing codes on an object in a vending machine.
[0019] На Фиг. 2 показан пример реализации технического решения, где показан вид с камеры на товар с наклеенным кодом.[0019] In FIG. 2 shows an example of the implementation of a technical solution, which shows a view from the camera on the product with a glued code.
[0020] На Фиг. 3 показан пример реализации согласно которому четыре камеры располагаются над полкой.[0020] In FIG. Figure 3 shows an example implementation in which four cameras are located above a shelf.
[0021] На Фиг. 4 показан пример реализации, в котором отображается вид сверху с установленной над полкой камеры.[0021] In FIG. 4 shows an example implementation in which a top view with a camera mounted above a shelf is displayed.
[0022] На Фиг. 5 показан пример реализации в котором нашли код товара, обвели его рамкой, причем ниже написан код, который будет отправлен в 104 блок.[0022] In FIG. 5 shows an example of implementation in which they found the product code, circled it with a frame, and below is written the code that will be sent to 104 block.
[0023] На Фиг. 6 показан вариант реализации исходных изображений, содержащих товары с наклеенными кодами.[0023] In FIG. Figure 6 shows an embodiment of source images containing products with pasted codes.
[0024] На Фиг. 7 показан вариант реализации исходного изображения, содержащего товары с наклеенным кодом, преобразованным в черно-белый вариант.[0024] In FIG. 7 shows an embodiment of a source image containing products with a pasted code converted to a black and white version.
[0025] На Фиг. 8 показан вариант реализации исходного изображения, содержащего товары с наклеенным кодом, в которых найдены градиенты перехода черный - белый.[0025] In FIG. Figure 8 shows an embodiment of a source image containing products with a pasted code in which black to white transition gradients are found.
[0026] На Фиг. 9 показан вариант реализации исходного изображения, содержащего товар с наклеенным кодом, в котором найдены контуры, которые выделены цветом.[0026] In FIG. 9 shows an embodiment of an original image containing a product with a glued code in which contours that are highlighted are found.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
[0027] Ниже будут подробно рассмотрены термины и их определения, используемые в описании данного технического решения.[0027] Below will be discussed in detail the terms and their definitions used in the description of this technical solution.
[0028] В данном изобретении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций), централизованные и распределенные базы данных, смарт-контракты.[0028] In the present invention, a system is understood to mean a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of operations (actions, instructions), centralized and distributed databases, smart contracts.
[0029] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы), или подобное. Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных. В роли устройства хранения данных могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.[0029] An instruction processing device is understood to mean an electronic unit or an integrated circuit (microprocessor) executing machine instructions (programs), or the like. A command processing device reads and executes machine instructions (programs) from one or more data storage devices. Storage devices may include, but are not limited to, hard disks (HDDs), flash memory, ROM (read only memory), solid state drives (SSDs), and optical drives.
[0030] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.[0030] A program is a sequence of instructions for execution by a computer control device or an instruction processing device.
[0031] Сервер (англ. server) - электронное устройство, выполняющее сервисные функции по запросу клиента, предоставляя ему доступ к определенным ресурсам. В целях настоящего описания рассматривается сервер, имеющий постоянное подключение к объединенной сети, которая может передавать данные на клиентское устройство. Сервер может обрабатывать эти данные и передавать результат обработки обратно на клиентское устройство.[0031] Server (Eng. Server) - an electronic device that performs service functions at the request of the client, giving him access to certain resources. For the purposes of the present description, a server is considered having a permanent connection to a federated network that can transmit data to a client device. The server can process this data and transfer the processing result back to the client device.
[0032] Модуль обмена данных - это модуль сервера, который может представлять приемник входящих сигналов, и преобразователь их для последующей обработки, и транслятор для дальнейшей отправки.[0032] A data exchange module is a server module that can represent a receiver of incoming signals, and a converter for subsequent processing, and a translator for further sending.
[0033] Вычислительный модуль - это модуль сервера, который представляет собой микропроцессор, специально приспособленный для сложной обработки сигналов.[0033] A computing module is a server module that is a microprocessor specially adapted for complex signal processing.
[0034] Модуль хранения базы данных - это модуль сервера, в котором хранятся данные, который может быть выполнен как накопитель на жестком магнитном диске или как флэш-память (flash memory), которая относится к полупроводникам электрически перепрограммируемой памяти.[0034] A database storage module is a server module that stores data that can be executed as a hard disk drive or as flash memory, which refers to semiconductors of electrically reprogrammable memory.
[0035] Электронный замок - это электромеханический замок с системой дистанционного управления (ДУ) и блоком питания. Электромеханический замок состоит из трех частей: замка, ригеля и кронштейнов крепления.[0035] An electronic lock is an electromechanical lock with a remote control system (DU) and a power supply. An electromechanical lock consists of three parts: a lock, a crossbar and mounting brackets.
[0036] В данном техническом решении используется понятие "вендинговый аппарат", "киоск самообслуживания", "киоск", однако любому специалисту в данном уровне техники очевидно, что может использоваться любое вендинговое оборудование, например, торговые автоматы для продажи напитков, автоматы по продаже еды, торговые автоматы для продажи непродовольственных товаров, развлекательные автоматы-аттракционы и т.п.[0036] This technical solution uses the concepts of "vending machine", "self-service kiosk", "kiosk", however, it is obvious to any person skilled in the art that any vending equipment can be used, for example, vending machines for selling drinks, vending machines food, vending machines for the sale of non-food items, amusement rides, etc.
[0037] Предлагаемое устройство может быть использовано для работы с любыми промышленно выпускаемыми торговыми автоматами, в том числе ранее установленными. При этом для функционирования предлагаемой системы несущественным является наличие в автомате таких узлов, как панель выбора товара, дисплей, купюроприемник, монетоприемник, устройство выдачи сдачи, устройство для чтения банковских карт, чековый принтер. По сути, торговый автомат или киоск в предлагаемом решении, представляет собой автоматический пункт выдачи товара, который может содержать только средства хранения товаров и механизм их выдачи, управляемый контроллером, который связан посредством телекоммуникационной сети с сервером через модем и конвертер платежей - устройство, необходимое при наличии в автомате блоков приема монет или купюр, для подтверждения платежа и разрешения выдачи товара.[0037] The proposed device can be used to work with any industrially produced vending machines, including previously installed ones. Moreover, for the functioning of the proposed system, it is not essential that the machine has such components as a product selection panel, a display, a bill acceptor, a coin acceptor, a change issuing device, a bank card reader, a check printer. In fact, the vending machine or kiosk in the proposed solution is an automatic point of delivery of goods, which may contain only means of storing goods and the mechanism for their delivery, controlled by a controller, which is connected via a telecommunication network to the server through a modem and a payment converter - a device necessary for the presence in the machine of blocks for accepting coins or notes to confirm payment and authorize the delivery of goods.
[0038] В некоторых вариантах реализации наличие прозрачной витрины, имеющей место в обычном исполнении киоска, также несущественно, т.к. полный ассортимент товара может передаваться непосредственно на мобильное устройство пользователя при покупке. Отсутствие витрины в автомате способствует повышению его вандалозащищенности.[0038] In some embodiments, the presence of a transparent display case, as is the case in a typical kiosk design, is also not significant, because the full range of goods can be transferred directly to the user's mobile device upon purchase. The absence of a display case in the machine contributes to its vandal proof.
[0039] Данное техническое решение работает следующим образом.[0039] This technical solution works as follows.
[0040] Шаг 110: получают список кодов товаров, которые были загружены в киоск.[0040] Step 110: obtain a list of product codes that have been uploaded to the kiosk.
[0041] Предварительно в холодильник вендингового автомата или киоска загружаются различные товары, предлагаемые к продаже, например, продукты питания. Изъявив желание купить тот или иной товар из конкретного киоска, пользователь открывает (или устанавливает) на мобильном устройстве соответствующее мобильное приложение или сразу открывает непосредственно дверь киоска или вендингового автомата, если он не пользуется мобильным приложением. В базе данных холодильника в блоке взаимодействия систем 104 хранится список товаров (или их кодов, не ограничиваясь). Пользователь открывает дверь, забирает необходимый ему товар или их множество, после чего закрывает дверь.[0041] Previously, various goods offered for sale, such as food, are loaded into the refrigerator of a vending machine or kiosk. Having expressed a desire to buy this or that product from a particular kiosk, the user opens (or installs) the corresponding mobile application on the mobile device or immediately opens the door of the kiosk or vending machine directly if he does not use the mobile application. In the database of the refrigerator in the interaction block of systems 104, a list of goods (or their codes, not limited to) is stored. The user opens the door, picks up the goods he needs or many of them, and then closes the door.
[0042] На товары, находящиеся внутри киоска или вендингового автомата, наклеен код, как показано на Фиг. 2, в котором может быть закодирована информация о товаре, например, код товара, срок годности, уникальный номер продукта и т.д. В некоторых вариантах реализации код может быть линейным кодом или двумерным. В качестве двумерного кода может использоваться, не ограничиваясь, Aztec Code, Data Matrix, MaxiCode, PDF417, QR код, Microsoft Tag и т.д. В качестве линейного кода может использоваться EAN (EAN-8 состоит из 8 цифр, EAN-13 - используются 13 цифр), UPC (UPC-A, UPC-E), Code56, Code128 (UPC/EAN-128), Codabar и т.д., не ограничиваясь. В некоторых вариантах реализации используют RFID-метки для отслеживания товаров.[0042] A code is pasted on goods inside the kiosk or vending machine, as shown in FIG. 2, in which product information can be encoded, for example, product code, expiration date, unique product number, etc. In some embodiments, the code may be a linear code or two-dimensional. As a two-dimensional code, Aztec Code, Data Matrix, MaxiCode, PDF417, QR code, Microsoft Tag, etc. can be used, but not limited to. As a linear code, EAN can be used (EAN-8 consists of 8 digits, EAN-13 - 13 digits are used), UPC (UPC-A, UPC-E), Code56, Code128 (UPC / EAN-128), Codabar, etc. .d., not limited. In some implementations, RFID tags are used to track products.
[0043] В некоторых вариантах реализации камеры располагаются над полками для обзора товаров и блока 100. В конкретном примере реализации над каждой полкой висит четыре камеры. К одному блоку 100 подключено две камеры (в конкретном варианте реализации можно подключить от 1 до 4 камер). Если в холодильнике 4 полки, то получается, что в холодильнике 16 камер и 8 блоков 100. Камеры и блок 100 находятся в корпусе под полкой, как показано на Фиг. 3.[0043] In some embodiments, cameras are located above the shelves for viewing goods and unit 100. In a specific implementation example, four cameras are hanging above each shelf. Two cameras are connected to one unit 100 (in a specific embodiment, from 1 to 4 cameras can be connected). If there are 4 shelves in the refrigerator, then it turns out that there are 16 chambers and 8 blocks 100 in the refrigerator. The chambers and block 100 are located in the body under the shelf, as shown in FIG. 3.
[0044] Камеры направлены на коды товаров, как показано на Фиг. 4, причем таким образом, что области видимости камер перекрывается, и камеры перекрывают всю полку.[0044] The cameras are directed to product codes, as shown in FIG. 4, and in such a way that the camera visibility area overlaps and the cameras overlap the entire shelf.
[0045] Камера(-ы) может(-ут) быть предоставлена(-ы) в виде цифровой камеры, сконфигурированной для получения неподвижных изображений и движущихся изображений (например, видео). Камера может включать в себя объектив и один или более датчиков изображения, сконфигурированных для захвата и преобразования света в электрические сигналы. Исключительно в порядке примера, датчик изображения может включать в себя датчик изображения на основе КМОП (например, датчик с активными пикселями (APS) на основе КМОП) или датчик на основе ПЗС (прибор с зарядовой связью). В общем случае, датчик изображения в камере включает в себя интегральную схему, имеющую матрицу пикселей, в которой каждый пиксель включает в себя фотодетектор, улавливающий свет. Специалистам в данной области техники очевидно, что фотодетекторы в пикселях формирования изображения, в общем случае, регистрируют интенсивность света, улавливаемого через линзы камеры. Однако фотодетекторы, сами по себе, в общем случае, не способны регистрировать длину волны захваченного света и, таким образом, не способны определять информацию цвета.[0045] Camera (s) may be provided (s) in the form of a digital camera configured to receive still images and moving images (eg, video). The camera may include a lens and one or more image sensors configured to capture and convert light into electrical signals. By way of example only, an image sensor may include a CMOS-based image sensor (e.g., an Active Pixel Sensor (APS) based on CMOS) or a CCD-based sensor (charge-coupled device). In general, an image sensor in a camera includes an integrated circuit having a matrix of pixels in which each pixel includes a photodetector detecting light. It will be apparent to those skilled in the art that photodetectors in image forming pixels generally record the intensity of light captured through camera lenses. However, photodetectors, by themselves, in the general case, are not able to detect the wavelength of the captured light and, thus, are not able to determine color information.
[0046] Соответственно, датчик изображения может дополнительно включать в себя матрицу цветовых фильтров (CFA), которая может перекрывать или располагаться поверх пиксельной матрицы датчика изображения для захвата информации цвета. Матрица цветовых фильтров может включать в себя матрицу малых цветовых фильтров, каждый из которых может перекрывать соответствующий пиксель датчика изображения и фильтровать захваченный свет по длине волны. Таким образом, при совместном использовании, матрица цветовых фильтров и фотодетекторы могут обеспечивать информацию длины волны и интенсивности в отношении света, улавливаемого посредством камеры, которая может представлять захваченное изображение.[0046] Accordingly, the image sensor may further include a color filter matrix (CFA), which may overlap or be placed on top of the pixel matrix of the image sensor to capture color information. The color filter matrix may include a matrix of small color filters, each of which can overlap the corresponding pixel of the image sensor and filter the captured light by wavelength. Thus, when used together, the color filter matrix and photo detectors can provide wavelength and intensity information regarding light captured by a camera, which can represent a captured image.
[0047] В одном варианте осуществления, матрица цветовых фильтров может включать в себя матрицу байесовских цветовых фильтров, которая обеспечивает шаблон фильтра, который на 50% состоит из зеленых элементов, на 25% из красных элементов и на 25% из синих элементов. Таким образом, датчик изображения, который использует матрицу байесовских цветовых фильтров, может обеспечивать информацию, касающуюся интенсивности света, принятого камерой на длинах волны зеленого, красного и синего цветов, благодаря чему, каждый пиксель изображения регистрирует только один из трех цветов (RGB). Эта информация, которая может именоваться "первичными данными изображения" или данными в "первичной области", может затем обрабатываться с использованием одного или более методов демозаики для преобразования первичных данных изображения в полноцветное изображение, в общем случае, путем интерполяции набора значений красного, зеленого и синего для каждого пикселя.[0047] In one embodiment, the color filter matrix may include a Bayesian color filter matrix that provides a filter template that is 50% green, 25% red and 25% blue. Thus, an image sensor that uses a matrix of Bayesian color filters can provide information regarding the intensity of light received by the camera at wavelengths of green, red and blue, so that each pixel in the image registers only one of three colors (RGB). This information, which may be referred to as “primary image data” or data in the “primary region,” can then be processed using one or more demosaicing methods to convert the primary image data into a full color image, generally by interpolating a set of red, green, and blue for each pixel.
[0048] Шаг 120: получают из по меньшей мере одной камеры по меньшей мере один кадр, содержащий по меньшей мере один товар из киоска, причем каждый товар содержит по меньшей мере один код, в котором закодирована информация о товаре.[0048] Step 120: receive from at least one camera at least one frame containing at least one item from the kiosk, each item containing at least one code in which the product information is encoded.
[0049] После того как пользователь закрыл дверь и забрал необходимые товары, блок взаимодействия систем 104 отправляет команду на блок 100. Блок 100 делает фотографии полок, находит на них коды и раскодирует их, после чего передает в текстовом виде коды всех товаров в холодильнике в блок взаимодействия систем 104.[0049] After the user has closed the door and collected the necessary goods, the system interaction block 104 sends a command to block 100. Block 100 takes photographs of the shelves, finds codes on them and decodes them, and then transmits in text form the codes of all goods in the refrigerator in block interaction systems 104.
[0050] Затем блок взаимодействия систем 104 сравнивает список кодов, который хранится в базе данных с тем, который получил от блока 100. При загрузке товаров в вендинговый автомат получают список кодов товаров, которые были загружены в киоск. После закрытия холодильника, блок 100 возвращает список кодов, которые смог распознать. Затем сравнивают список кодов, который был до открытия киоска со списком, полученным от блока 100 после закрытия. Далее определяют разницу значений, которая представляет собой коды товаров, которые пользователь изъял из холодильника, после чего удаляют изъятые товары из наличия киоска.[0050] Then, the system interaction block 104 compares the list of codes that is stored in the database with that received from block 100. When loading goods into the vending machine, a list of codes of goods that have been loaded into the kiosk is obtained. After closing the refrigerator, block 100 returns a list of codes that it could recognize. Then compare the list of codes that was before the opening of the kiosk with the list received from block 100 after closing. Next, the difference in values is determined, which is the codes of goods that the user removed from the refrigerator, and then the removed goods are removed from the presence of the kiosk.
[0051] Определив те коды, которые пользователь забрал, блок взаимодействия систем 104 отправляет команду на списание денег.[0051] Having determined the codes that the user has taken, the system interaction unit 104 sends a command to write off money.
[0052] Более детально обработка изображений раскрыта ниже.[0052] More detailed image processing is disclosed below.
[0053] Под обработкой изображения могут пониматься различные этапы обработки изображений, например, операции обнаружения/коррекции дефектных пикселей, коррекции затенения объектива, демозаики и повышения резкости изображения, шумопонижения, гамма-коррекции, улучшения изображения, преобразования цветового пространства, сжатия изображения, цветовой субдискретизации и масштабирования изображение, и т.д. В некоторых вариантах осуществления может использоваться "конвейер" обработки изображений для осуществления каждого из различных этапов обработки изображений. Данный конвейер может состоять из набора компонент, согласно каждому необходимому этапу, причем компоненты можно реализовать с использованием оборудования (например, процессоров цифрового сигнала или ASIC) или программного обеспечения, или посредством комбинации аппаратных и программных компонентов.[0053] Image processing may be understood as the various stages of image processing, for example, operations for detecting / correcting defective pixels, correcting lens shading, demosaicing and sharpening an image, reducing noise, gamma correction, improving an image, converting color space, compressing an image, color sub-sampling and scaling an image, etc. In some embodiments, an image processing pipeline may be used to implement each of the various image processing steps. This conveyor can consist of a set of components, according to each necessary step, and the components can be implemented using equipment (for example, digital signal processors or ASIC) or software, or through a combination of hardware and software components.
[0054] Прежде чем продолжить, следует отметить, что, хотя различные варианты осуществления различных методов обработки изображений, рассмотренных ниже, могут использовать байесовскую CFA, описанное здесь изобретение не подлежит ограничению в связи с этим. Действительно, специалистам в данной области техники очевидно, что представленные здесь методы обработки изображений можно применять к любому типу матрицы цветовых фильтров, включающих в себя фильтры RGBW, фильтры CYGM и т.д.[0054] Before proceeding, it should be noted that although the various embodiments of the various image processing methods discussed below may use Bayesian CFA, the invention described herein is not to be limited in this regard. Indeed, it will be apparent to those skilled in the art that the image processing techniques presented here can be applied to any type of color filter matrix including RGBW filters, CYGM filters, etc.
[0055] Шаг 130: передают полученный на предыдущем шаге по меньшей мере один кадр с кодом товара алгоритму компьютерного зрения, который идентифицирует на кадре по меньшей мере один код товара посредством получения координат данного кода товара.[0055] Step 130: at least one frame with the product code obtained in the previous step is transmitted to a computer vision algorithm that identifies at least one product code on the frame by obtaining the coordinates of the product code.
[0056] Блок 100 получает по меньшей мере одно изображение с камеры, как показано на Фиг. 6, и с помощью, например, библиотеки алгоритмов компьютерного зрения OpenCV или альтернативных библиотек для обработки изображений, например, libdwt, SimpleCV, не ограничиваясь, обрабатывает кадр. Задача алгоритма определить координаты кода товара на изображении в пикселях, "вырезать" область с кодом и прочитать этот код - преобразовав в текстовый вид.[0056] Block 100 receives at least one camera image, as shown in FIG. 6, and using, for example, a library of computer vision algorithms OpenCV or alternative libraries for image processing, for example, libdwt, SimpleCV, not limited to, processes the frame. The task of the algorithm is to determine the coordinates of the product code in the image in pixels, "cut out" the area with the code and read this code - converting it into a text view.
[0057] Для локализации кода преобразовывают изображения с камеры или камер следующим образом:[0057] To localize the code, images from the camera or cameras are converted as follows:
• убирают искажения рыбьего глаза объектива посредством функции коррекции, где задается несколько параметров объектива и изображение исправляется (в библиотеке OpenCV данная функция называется cv2.fisheye.initUndistortRectifyMap);• remove distortion of the fish eye of the lens by means of a correction function where several lens parameters are set and the image is corrected (in the OpenCV library this function is called cv2.fisheye.initUndistortRectifyMap);
• переводят изображения в черно-белый формат, как показано на Фиг. 7, убирают шумы посредством, например, использования двух операций dilate и erode. Первая убирает редкие пиксели белого цвета, вторая редкие пиксели черного цвета;• translate images in black and white, as shown in FIG. 7, remove noise by, for example, using two dilate and erode operations. The first removes rare pixels of white color, the second rare pixels of black color;
• находят места максимального градиента цвета (резкого перехода с белого на черный или наоборот), как показано на Фиг. 8.• find the places of the maximum color gradient (abrupt transition from white to black or vice versa), as shown in FIG. 8.
[0058] Целью всех этих преобразований является выделение на изображениях рамок вокруг кода. В различных вариантах реализации выделение рамкой может иметь квадратную, круглую, прямоугольную и так далее форму, в зависимости от типа штрих-кода.[0058] The purpose of all these transformations is to highlight frames around the code on the images. In various embodiments, the frame selection may have a square, round, rectangular and so on shape, depending on the type of barcode.
[0059] После того как рамки выделены, осуществляют поиск контуров на изображениях, как показано на Фиг. 9. В итоге из всех найденных контуров получают контуры с четырьмя углами и соотношением сторон от 0.5 до 2. Данный диапазон значений подобран эмпирическим образом для конкретного варианта реализации, где контуром является квадрат, причем любому специалисту в уровне техники очевидно, что соотношение может быть изменено. Это могут быть прямоугольники, похожие на квадраты. Также отсекаются контуры слишком малой или большой площади (например, площадь размером от 2000 до 30000 пикселей). Экспериментально подобранные параметры площади позволяют выделить среди всех контуров контуры, содержащие, например, datamatrix коды.[0059] After the frames are selected, the contours are searched for in the images, as shown in FIG. 9. As a result, from all the found contours, contours with four angles and an aspect ratio of 0.5 to 2 are obtained. This range of values is selected empirically for a particular implementation, where the contour is a square, and it is obvious to any person skilled in the art that the ratio can be changed . These can be rectangles that look like squares. The contours of too small or large area are also cut off (for example, an area of size from 2000 to 30000 pixels). The experimentally selected parameters of the area make it possible to distinguish among all the contours contours containing, for example, datamatrix codes.
[0060] Шаг 140: преобразовывают посредством вычислительного устройства по меньшей мере один идентифицированный посредством алгоритма компьютерного зрения код, расположенный на товаре, в текстовый вид.[0060] Step 140: by means of a computing device, at least one code located on the product, identified by a computer vision algorithm, is converted into a text view.
[0061] Эти области вырезаются посредством копирования области изображения в массив и передаются в алгоритм преобразования кода в текст, который является общеизвестным в уровне техники. Эта стандартная библиотека чтения datamatrix кода.[0061] These areas are cut out by copying the image area into an array and transferred to a code-to-text conversion algorithm that is well known in the art. This is a standard datamatrix code reader library.
[0062] В связи с тем, что камеры считывают коды только в момент закрытия двери, возможен такой сценарий, когда пользователь взял товар, отклеил код и вернул код обратно в холодильник. Для защиты от такого мошенничества используют разрушаемые наклейки с кодами.[0062] Due to the fact that the cameras only read codes at the moment the door is closed, a scenario is possible when the user took the goods, unfastened the code and returned the code back to the refrigerator. Destructible code stickers are used to protect against such fraud.
[0063] Как дополнительную защиту внедряют датчики веса на полках. В таком случае датчики подключаются к блоку 100 через адаптер. Вместе со списком кодов блок 100 отправляет вес полки в блок 104. Блок 104 анализирует изменение веса и изменение количества товара. Если данные не совпадают - об этом сообщается в административную панель. Человек может подключиться к холодильнику посмотреть изображения с камер и определить какие товары были действительно куплены.[0063] As additional protection, weight sensors on shelves are introduced. In this case, the sensors are connected to block 100 via an adapter. Together with the list of codes, block 100 sends the shelf weight to block 104. Block 104 analyzes the change in weight and the change in the quantity of goods. If the data does not match, this is reported to the administration panel. A person can connect to the refrigerator to look at the images from the cameras and determine what goods were really bought.
[0064] Ниже будет подробно раскрыта система распознавания закодированных данных посредством сканирования изображений.[0064] A system for recognizing encoded data by image scanning will be described in detail below.
[0065] Блок запирания двери 107 (или электрическая система блокировки) может представлять собой электромагнитный замок, состоящий из металлической пластины и магнитного датчика, или, например, электромеханический замок. Данный блок отправляет сигнал 12V на сервер для разблокировки замка. При прекращении подачи сигнала замок блокируется. Принцип работы электромагнитного замка основан на взаимодействии магнита (встроенного в корпус замка) и ответной части (металлическая пластина, прикрепляемая к двери). В отличие от электромеханического замка, в данном случае питание на катушке присутствует постоянно, при отключении питания контакт между магнитом и контактной пластиной размыкается и дверь открывается. Мощность магнита должна быть достаточно большой, чтобы предотвратить возможность открытия двери силовым усилием. В некоторых вариантах реализации могут использоваться электромагнитные замки магнитного запирания или магнитно-механического запирания.[0065] The door locking unit 107 (or the electrical locking system) may be an electromagnetic lock consisting of a metal plate and a magnetic sensor, or, for example, an electromechanical lock. This unit sends a 12V signal to the server to unlock the lock. When the signal stops, the lock is locked. The principle of operation of an electromagnetic lock is based on the interaction of a magnet (built into the lock case) and the counterpart (a metal plate attached to the door). Unlike an electromechanical lock, in this case, the power on the coil is constantly present, when the power is turned off, the contact between the magnet and the contact plate opens and the door opens. The power of the magnet should be large enough to prevent the door from opening by force. In some embodiments, electromagnetic locks of magnetic locking or magnetic mechanical locking may be used.
[0066] Блок ввода информации 108, который может представлять собой бесконтактный считыватель карт. Считыватель кредитных карт - это специальное устройство, которое распознает данные с различных видов пластиковых карт посредством следующих способов:[0066] An information input unit 108, which may be a contactless card reader. A credit card reader is a special device that recognizes data from various types of plastic cards using the following methods:
[0067] 1. Магнитная лента на карте;[0067] 1. The magnetic tape on the map;
[0068] 2. Чип встроенный в карту;[0068] 2. The chip is embedded in the card;
[0069] 2. Бесконтактный метод оплаты.[0069] 2. Contactless payment method.
[0070] Считыватель кредитных карт при считывании с магнитной ленты или чипа имеет специальный анализирующий слот, через который проводят карточку. Нужная информация сканируется после этого автоматически.[0070] The credit card reader, when reading from a magnetic tape or chip, has a special analysis slot through which the card is passed. The necessary information is then scanned automatically.
[0071] Бесконтактный метод работает по следующему принципу: карточку подносят к модулю на расстояние от 30 до 250 мм. Ее идентификатор попадает под генерируемое прибором электромагнитное излучение и сканирует индивидуальный код. Сведения перенаправляются на контроллер, что происходит в течение доли секунды.[0071] The non-contact method works according to the following principle: the card is brought to the module at a distance of 30 to 250 mm. Its identifier falls under the electromagnetic radiation generated by the device and scans an individual code. Information is redirected to the controller, which occurs within a split second.
[0072] Пользователь подносит пластиковую карту к считывателю, и по протоколу EMV происходит взаимодействие карты и считывателя. Блок ввода информации 108 может представлять собой терминал платежно-информационный универсальный, выполненный в виде компьютера и снабженный портами внешнего управления и мониторинга, служащими для присоединения к центральному блоку управления посредством интерфейсных линий связи устройства отображения информации, устройства ввода информации, блока управления, считывающего устройства для пластиковых электронных или магнитных карт, звукового устройства, отличающийся тем, что снабжен USB-портом.[0072] The user brings the plastic card to the reader, and the card and reader interact with the EMV protocol. The information input unit 108 may be a universal payment and information terminal made in the form of a computer and equipped with external control and monitoring ports that are used to connect to the central control unit via interface lines of the information display device, the information input device, the control unit, the reader for plastic electronic or magnetic cards, sound device, characterized in that it is equipped with a USB port.
[0073] Блок считывания температурной информации 106, представляющий собой блок N температурных датчиков, где N>=0. Блок опрашивает датчики температуры с заданной периодичностью и формирует данные о температурных показаниях. Датчик для измерения температуры основан на зависимости электрического сопротивления от температуры. В примерном варианте реализации датчик может быть маломощным температурным датчиком, например, LM20 от компании Texas Instruments™ или Ds18b20 от Dallas Semiconductor™.[0073] The temperature information readout unit 106, which is a block N of temperature sensors, where N> = 0. The unit interrogates temperature sensors with a given frequency and generates data on temperature readings. A sensor for measuring temperature is based on the dependence of electrical resistance on temperature. In an exemplary embodiment, the sensor may be a low-power temperature sensor, for example, LM20 from Texas Instruments ™ or Ds18b20 from Dallas Semiconductor ™.
[0074] Блок сетевого взаимодействия 103, например, реализованный как роутер для соединения всех компонентов посредством сети Ethernet и доступа к Интернету. Роутер снабжен N слотами для sim карт, где N=2 и М слотами Ethernet, где М>=2. Дублирование sim карт необходимо для бесперебойной работы киоска. Блок выполняет связующую функцию между киоском и его внутренними компонентами, а также между киоском и сервером. Также на роутере есть брандмауэр для защиты киоска от кибератак. В общем случае, вышеупомянутый блок сетевого взаимодействия 103 может содержать коммуникационный интерфейс мобильной радиосети, такой как, например, модем GPRS (Пакетной Радиосвязи Общего Пользования), модем UMTS (Универсальной Системы Мобильной Связи), модем HSPA (Высокоскоростной Пакетной Передачи Данных) или модем LTE (Стандарта Долгосрочного Развития), в котором вышеупомянутый интерфейс соединяется посредством протокола мобильной связи с базовой станцией для обеспечения связи с сетью Интернет. В этом случае система может содержать роутер, такой как, например, роутер ADSL или оптоволоконный роутер, соединяющий сеть LAN с сетью Интернет и обеспечивающий обмен данными с портативным компьютером, осуществляющим связь через сеть Интернет.[0074] A network interaction unit 103, for example, implemented as a router for connecting all components via an Ethernet network and Internet access. The router is equipped with N slots for sim cards, where N = 2 and M Ethernet slots, where M> = 2. Duplication of sim cards is necessary for the smooth operation of the kiosk. The block performs a connecting function between the kiosk and its internal components, as well as between the kiosk and the server. The router also has a firewall to protect the kiosk from cyber attacks. In general, the aforementioned network communication unit 103 may comprise a mobile radio network communication interface, such as, for example, a GPRS (General Packet Radio Communication) modem, a UMTS (Universal Mobile Telecommunication System) modem, an HSPA (High Speed Packet Data Transfer) modem, or an LTE modem (Long-Term Development Standard), in which the aforementioned interface is connected via a mobile communication protocol to a base station to provide communication with the Internet. In this case, the system may include a router, such as, for example, an ADSL router or a fiber optic router that connects a LAN to the Internet and provides data exchange with a laptop computer that communicates via the Internet.
[0075] Блок взаимодействия систем 104, представляет из себя вычислительное устройство, которое опрашивает блок считывания температурной информации 106 с определенной периодичностью для получения данных о температуре внутри киоска.[0075] The system interaction unit 104, is a computing device that polls the temperature information reading unit 106 with a certain frequency to obtain temperature data inside the kiosk.
[0076] Блок обработки информации (процессор), который представляют собой компьютер для распознавания образов в видеопотоке.[0076] An information processing unit (processor), which is a computer for pattern recognition in a video stream.
[0077] Блок ввода/вывода информации 105, реализованный как дисплей с тачскрином для взаимодействия с пользователем. Дисплей получает сигнал с блока взаимодействия систем 104, например, по кабелю HDMI и отображает этот сигнал. Посредством тачскрина дисплей отправляет сигнал на блок взаимодействия систем 104, представляющий из себя компьютер, данные о координатах прикосновения пользователя к дисплею. Как дополнительно показано, дисплей 105 может быть сконфигурирован для формирования различных изображений, которые может просматривать пользователь. Например, в ходе эксплуатации киоска для покупки товаров, дисплей 105 может отображать графический пользовательский интерфейс ("GUI"), который позволяет пользователю взаимодействовать с операционной системой и/или приложением, выполняющимся на киоске. GUI может включать в себя различные слои, окна, экраны, шаблоны или другие графические элементы, которые могут отображаться на всем, или участке, устройства отображения. Например, в представленном варианте осуществления, GUI операционной системы может включать в себя различные графические пиктограммы, каждая из которых может соответствовать различным приложениям, которые могут открываться или выполняться по обнаружении выбора пользователя (например, посредством ввода с помощью клавиатуры или сенсорного экрана). Пиктограммы могут отображаться в док-панели или в одном, или более графических оконных элементах, отображаемых на экране. В некоторых вариантах осуществления, выбор пиктограммы может приводить к иерархическому навигационному процессу, благодаря чему выбор пиктограммы приводит к экрану или открывает другое графическое окно, которое включает в себя одно или более дополнительных пиктограмм или других элементов GUI.[0077] An information input / output unit 105, implemented as a touch screen display for interacting with a user. The display receives a signal from the system interconnect 104, for example, via an HDMI cable and displays this signal. Through the touchscreen, the display sends a signal to the system interaction unit 104, which is a computer, data about the coordinates of the user's touch on the display. As further shown, the display 105 may be configured to form various images that the user can view. For example, during operation of a kiosk for purchasing goods, the display 105 may display a graphical user interface ("GUI") that allows a user to interact with an operating system and / or application running on a kiosk. The GUI may include various layers, windows, screens, templates or other graphic elements that can be displayed on the entire, or portion, of the display device. For example, in the present embodiment, the operating system GUI may include various graphical icons, each of which may correspond to different applications that can be opened or executed upon detection of a user’s choice (for example, by input using a keyboard or touch screen). Icons can be displayed in the dock or in one or more graphical window elements displayed on the screen. In some embodiments, the selection of an icon may lead to a hierarchical navigation process, whereby the selection of an icon leads to a screen or opens another graphic window that includes one or more additional icons or other GUI elements.
[0078] Блок взаимодействия систем 104, представляющий из себя вычислительное устройство, содержащее набор модулей, которые могут быть как программными, так и аппаратными, которые раскрыты ниже.[0078] The system interaction unit 104, which is a computing device containing a set of modules, which can be either software or hardware, are described below.
[0079] В примерном варианте реализации система содержит следующие модули:[0079] In an exemplary embodiment, the system comprises the following modules:
• модуль для распознавания образов в последовательности кадров и подсчета товара, который купил пользователь;• a module for pattern recognition in the sequence of frames and counting the goods that the user bought;
• модуль для выполнения взаимодействия между компонентами киоска;• a module for performing interaction between kiosk components;
• кассовый модуль для выполнения расчетов с пользователем;• cash module for settlements with the user;
• операционная система;• operating system;
• база данных;• database;
• веб-сервер.• web server.
[0080] Взаимодействие вышеуказанных модулей и компонент осуществляется следующим образом:[0080] The interaction of the above modules and components is as follows:
[0081] Пользователь физически приближается к киоску или любому другому вендинговому автомату на достаточное расстояние для начала взаимодействия, например, один метр.[0081] The user physically approaches the kiosk or any other vending machine at a sufficient distance to start interaction, for example, one meter.
[0082] Затем пользователь разблокирует киоск посредством своего мобильного приложения 200 или прикладыванием пластиковой карты к считывателю пластиковых карт 108. Считыватель пластиковых карт 108 отправляет сигнал на блок взаимодействия систем 104 киоска на модуль по взаимодействию между объектами киоска. Данный модуль отправляет сигнал на удаленный сервер 109 для проверки пластиковой карты и определения клиента по ней.[0082] The user then unlocks the kiosk through his mobile application 200 or by attaching a plastic card to a plastic card reader 108. The plastic card reader 108 sends a signal to the kiosk systems interaction unit 104 to a module for interaction between kiosk objects. This module sends a signal to a remote server 109 to check the plastic card and determine the client on it.
[0083] При успешном определении клиента дверца киоска разблокируется, а при неуспешном определении выводят ошибку, например, на дисплей киоска и просят повторить предыдущий шаг на дисплее киоска или в мобильном приложении пользователя.[0083] Upon successful client determination, the kiosk door is unlocked, and upon unsuccessful determination, an error is displayed, for example, on the kiosk display and asked to repeat the previous step on the kiosk display or in the user's mobile application.
[0084] Пользователь открывает дверь киоска рукой за ручку двери киоска.[0084] A user opens a kiosk door by the hand of a kiosk door handle.
[0085] При открытии двери сигнал от замка двери 107 отправляется на блок взаимодействия систем 104 киоска на модуль для взаимодействия между объектами киоска.[0085] When the door is opened, the signal from the door lock 107 is sent to the interaction block of kiosk systems 104 per module for interaction between kiosk objects.
[0086] Пользователь закрывает дверцу киоска, дверь блокируется.[0086] The user closes the kiosk door, the door is locked.
[0087] Замок двери 107 подает сигнал на блок взаимодействия систем 104 киоска на модуль для взаимодействия между объектами киоска.[0087] The door lock 107 provides a signal to the interaction unit of kiosk systems 104 to a module for interaction between kiosk objects.
[0088] Модуль для взаимодействия между объектами киоска отправляет сигнал на сервер по сети Интернет для получения списка действий, которые необходимо совершить при получении сигнала.[0088] The module for interaction between kiosk objects sends a signal to the server via the Internet to obtain a list of actions that must be performed when the signal is received.
[0089] Далее данный модуль для взаимодействия между объектами киоска подает сигнал на кассовый модуль для выполнения расчетов с пользователем за извлеченный/ые объект/ы.[0089] Further, this module for interaction between kiosk objects sends a signal to the cash register module to perform calculations with the user for the extracted object (s).
[0090] Модуль для взаимодействия между объектами киоска отправляет сигнал на сервер по результатам операции расчета с клиентом за извлеченный/ые объект/ы.[0090] A module for interaction between kiosk objects sends a signal to the server based on the results of the calculation operation with the client for the extracted object (s).
[0091] Модуль для взаимодействия между объектами киоска отправляет сигнал на устройство отображения киоска о результате операции.[0091] The module for interaction between kiosk objects sends a signal to the kiosk display device about the result of the operation.
[0092] Все компоненты данного технического решения могут быть соединены шиной. В некоторых примерах информационная шина включает в себя одну или более информационных шин. Информационная шина может быть реализована в соответствии с протоколом шины локальной сети контроллеров (CAN), который определен Международной организацией стандартизации (ISO) 11898-1, протоколом шины передачи данных мультимедийных систем (MOST), протоколом гибкой информационной CAN-шины (CAN-FD) (ISO 11898-7) и/или протоколом шины K-line (ISO 9141 и ISO 14230-1) и/или протоколом Ethernet™-шины IEEE 802.3 (2002 г. и далее), и т.д.[0092] All components of this technical solution can be connected by bus. In some examples, an information bus includes one or more information buses. The information bus can be implemented in accordance with the bus protocol of the local area network of the controllers (CAN), which is defined by the International Organization for Standardization (ISO) 11898-1, the protocol of the data bus of multimedia systems (MOST), the protocol of the flexible information CAN bus (CAN-FD) (ISO 11898-7) and / or the K-line bus protocol (ISO 9141 and ISO 14230-1) and / or the IEEE 802.3 Ethernet ™ bus protocol (2002 onwards), etc.
[0093] Элементы заявляемого технического решения находятся в функциональной взаимосвязи, а их совместное использование приводит к созданию нового и уникального технического решения. Таким образом, все блоки функционально связаны.[0093] Elements of the claimed technical solution are in a functional relationship, and their joint use leads to the creation of a new and unique technical solution. Thus, all blocks are functionally connected.
[0094] Все блоки, используемые в системе, могут быть реализованы с помощью электронных компонент, используемых для создания цифровых интегральных схем, что очевидно для специалиста в данном уровне техники. Не ограничиваюсь, могут быть использоваться микросхемы, логика работы которых определяется при изготовлении, или программируемые логические интегральные схемы (ПЛИС), логика работы которых задается посредством программирования. Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. Альтернативой ПЛИС могут быть программируемые логические контроллеры (ПЛК), базовые матричные кристаллы (БМК), требующие заводского производственного процесса для программирования; ASIC специализированные заказные большие интегральные схемы (БИС), которые при мелкосерийном и единичном производстве существенно дороже.[0094] All the blocks used in the system can be implemented using electronic components used to create digital integrated circuits, which is obvious to a person skilled in the art. Not limited to, can be used microcircuits, the logic of which is determined during manufacture, or programmable logic integrated circuits (FPGA), the logic of which is set by programming. For programming, programmers and debugging environments are used to set the desired structure of a digital device in the form of a circuit diagram or a program in special equipment description languages: Verilog, VHDL, AHDL, etc. Programmable logic controllers (PLCs), base matrix crystals can be an alternative to FPGAs ( BMK) requiring a factory production process for programming; ASIC specialized custom large integrated circuits (LSI), which are much more expensive in small-scale and single-unit production.
[0095] Обычно, сама микросхема ПЛИС состоит из следующих компонент:[0095] Typically, the FPGA chip itself consists of the following components:
• конфигурируемых логических блоков, реализующих требуемую логическую функцию;• configurable logic blocks that implement the required logical function;
• программируемых электронных связей между конфигурируемыми логическими блоками;• programmable electronic communications between configurable logic blocks;
• программируемых блоков ввода/вывода, обеспечивающих связь внешнего вывода микросхемы с внутренней логикой.• programmable I / O blocks, providing the connection of the external output of the microcircuit with internal logic.
[0096] Также блоки могут быть реализованы с помощью постоянных запоминающих устройств.[0096] Also, blocks can be implemented using read-only memory devices.
[0097] Таким образом, реализация всех используемых блоков достигается стандартными средствами, базирующимися на классических принципах реализации основ вычислительной техники.[0097] Thus, the implementation of all used blocks is achieved by standard means based on the classical principles of implementation of the foundations of computer technology.
[0098] Как будет понятно специалисту в данной области техники, аспекты настоящего технического решения могут быть выполнены в виде системы, способа или компьютерного программного продукта. Соответственно, различные аспекты настоящего технического решения могут быть реализованы исключительно как аппаратное обеспечение, как программное обеспечение (включая прикладное программное обеспечение и так далее) или как вариант осуществления, сочетающий в себе программные и аппаратные аспекты, которые в общем случае могут упоминаться как «модуль», «система» или «архитектура». Кроме того, аспекты настоящего технического решения могут принимать форму компьютерного программного продукта, реализованного на одном или нескольких машиночитаемых носителях, имеющих машиночитаемый программный код, который на них реализован.[0098] As one skilled in the art will understand, aspects of the present technical solution may be implemented as a system, method, or computer program product. Accordingly, various aspects of the present technical solution can be implemented solely as hardware, as software (including application software and so on) or as an embodiment combining software and hardware aspects, which in general can be referred to as a “module” , “System” or “architecture”. In addition, aspects of the present technical solution may take the form of a computer program product implemented on one or more computer-readable media having a computer-readable program code that is implemented on them.
[0099] Также может быть использована любая комбинация одного или нескольких машиночитаемых носителей. Машиночитаемый носитель хранилища может представлять собой, без ограничений, электронную, магнитную, оптическую, электромагнитную, инфракрасную или полупроводниковую систему, аппарат, устройство или любую подходящую их комбинацию. Конкретнее, примеры (неисчерпывающий список) машиночитаемого носителя хранилища включают в себя: электрическое соединение с помощью одного или нескольких проводов, портативную компьютерную дискету; жесткий диск, оперативную память (ОЗУ), постоянную память (ПЗУ), стираемую программируемую постоянную память (EPROM или Flash-память), оптоволоконное соединение, постоянную память на компакт-диске (CD-ROM), оптическое устройство хранения, магнитное устройство хранения или любую комбинацию вышеперечисленного. В контексте настоящего описания, машиночитаемый носитель хранилища может представлять собой любой гибкий носитель данных, который может содержать или хранить программу для использования самой системой, устройством, аппаратом или в соединении с ними.[0099] Any combination of one or more computer-readable media may also be used. The computer-readable storage medium may be, without limitation, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus, device, or any suitable combination thereof. More specifically, examples (non-exhaustive list) of computer-readable storage media include: electrical connection using one or more wires, a portable computer diskette; hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), fiber optic connection, read-only memory on a compact disc (CD-ROM), optical storage device, magnetic storage device or any combination of the above. In the context of the present description, a computer-readable storage medium may be any flexible data medium that can contain or store a program for use by or in connection with the system, device, apparatus.
[00100] Программный код, встроенный в машиночитаемый носитель, может быть передан с помощью любого носителя, включая, без ограничений, беспроводную, проводную, оптоволоконную, инфракрасную и любую другую подходящую сеть или комбинацию вышеперечисленного.[00100] The program code embedded in a computer-readable medium can be transmitted using any medium, including, without limitation, wireless, wired, fiber optic, infrared, and any other suitable network or combination of the above.
[00101] Компьютерный программный код для выполнения операций для шагов настоящего технического решения может быть написан на любом языке программирования или комбинаций языков программирования, включая объектно-ориентированный язык программирования, например, Java, Smalltalk, С++ и так далее, и обычные процедурные языки программирования, например, язык программирования «С» или аналогичные языки программирования. Программный код может выполняться на компьютере пользователя полностью, частично, или же как отдельный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере, или же полностью на удаленном компьютере. В последнем случае, удаленный компьютер может быть соединен с компьютером пользователя через сеть любого типа, включая локальную сеть (LAN), глобальную сеть (WAN) или соединение с внешним компьютером (например, через Интернет с помощью Интернет-провайдеров).[00101] The computer program code for performing operations for the steps of the present technical solution can be written in any programming language or combinations of programming languages, including an object-oriented programming language, for example, Java, Smalltalk, C ++ and so on, and ordinary procedural languages programming, for example, programming language "C" or similar programming languages. The program code can be executed on a user's computer completely, partially, or as a separate software package, partially on a user's computer and partially on a remote computer, or completely on a remote computer. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN), wide area network (WAN) or a connection to an external computer (for example, via the Internet using Internet providers).
[00102] Аспекты настоящего технического решения были описаны подробно со ссылкой на блок-схемы, принципиальные схемы и/или диаграммы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления настоящего технического решения. Следует иметь в виду, что каждый блок из блок-схемы и/или диаграмм, а также комбинации блоков из блок-схемы и/или диаграмм, могут быть реализованы компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены процессору компьютера общего назначения, компьютера специального назначения или другому устройству обработки данных для создания процедуры, таким образом, чтобы инструкции, выполняемые процессором компьютера или другим программируемым устройством обработки данных, создавали средства для реализации функций/действий, указанных в блоке или блоках блок-схемы и/или диаграммы.[00102] Aspects of the present technical solution have been described in detail with reference to flowcharts, schematic diagrams and / or diagrams of methods, devices (systems) and computer program products in accordance with embodiments of the present technical solution. It should be borne in mind that each block from the block diagram and / or diagrams, as well as combinations of blocks from the block diagram and / or diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a general purpose computer processor, special purpose computer, or other data processing device to create a procedure so that instructions executed by a computer processor or other programmable data processing device provide means for implementing the functions / actions specified in block or blocks of a flowchart and / or diagram.
[00103] Эти компьютерные программные инструкции также могут храниться на машиночитаемом носителе, который может управлять компьютером, отличным от программируемого устройства обработки данных или отличным от устройств, которые функционируют конкретным образом, таким образом, что инструкции, хранящиеся на машиночитаемом носителе, создают устройство, включающее инструкции, которые осуществляют функции/действия, указанные в блоке блок-схемы и/или диаграммы.[00103] These computer program instructions can also be stored on a computer-readable medium that can control a computer other than a programmable data processing device or other devices that operate in a specific way, such that the instructions stored on the computer-readable medium create a device including instructions that carry out the functions / actions indicated in the block block diagram and / or diagram.
Claims (26)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2020/000083 WO2021167482A1 (en) | 2020-02-19 | 2020-02-19 | Method and system for identifying encoded data by means of image scanning |
RU2020107564A RU2726227C1 (en) | 2020-02-19 | 2020-02-19 | Method and system for recognizing encoded data by scanning images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2020107564A RU2726227C1 (en) | 2020-02-19 | 2020-02-19 | Method and system for recognizing encoded data by scanning images |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2726227C1 true RU2726227C1 (en) | 2020-07-10 |
Family
ID=71510547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020107564A RU2726227C1 (en) | 2020-02-19 | 2020-02-19 | Method and system for recognizing encoded data by scanning images |
Country Status (2)
Country | Link |
---|---|
RU (1) | RU2726227C1 (en) |
WO (1) | WO2021167482A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023009036A1 (en) * | 2021-07-26 | 2023-02-02 | Тимур Юсупович ЗАКИРОВ | Mobile self-service system |
RU2826019C1 (en) * | 2023-04-04 | 2024-09-03 | Общество с ограниченной ответственностью "СП Инжиниринг" | System for recognizing alphanumeric component of matrix code on surface of workpieces |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11961373B2 (en) | 2020-07-01 | 2024-04-16 | Pepsico, Inc. | Method and system of touch-free vending |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2636102C2 (en) * | 2012-12-21 | 2017-11-20 | Ска Хайджин Продактс Аб | System and method for assistance in determination of location and selection of desired subject in storage |
CN107393152A (en) * | 2017-08-14 | 2017-11-24 | 杭州纳戒科技有限公司 | Self-help vending machine and automatic selling system |
CN206757798U (en) * | 2017-01-24 | 2017-12-15 | 广州市蚁道互联网有限公司 | Automatic vending machine |
WO2018161363A1 (en) * | 2017-03-07 | 2018-09-13 | 深圳市楼通宝实业有限公司 | Self-service vending method and system |
RU2671767C2 (en) * | 2013-04-08 | 2018-11-06 | Ронни ХЕЙ | Computer-controlled, unattended, automated checkout store outlet |
CN108831019A (en) * | 2018-05-25 | 2018-11-16 | 杭州纳戒科技有限公司 | Self-service supermarket's vending system and automatic selling system |
CN109360331A (en) * | 2017-12-29 | 2019-02-19 | 广州Tcl智能家居科技有限公司 | A kind of automatic vending method and automatic vending machine based on article identification |
-
2020
- 2020-02-19 RU RU2020107564A patent/RU2726227C1/en active
- 2020-02-19 WO PCT/RU2020/000083 patent/WO2021167482A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2636102C2 (en) * | 2012-12-21 | 2017-11-20 | Ска Хайджин Продактс Аб | System and method for assistance in determination of location and selection of desired subject in storage |
RU2671767C2 (en) * | 2013-04-08 | 2018-11-06 | Ронни ХЕЙ | Computer-controlled, unattended, automated checkout store outlet |
CN206757798U (en) * | 2017-01-24 | 2017-12-15 | 广州市蚁道互联网有限公司 | Automatic vending machine |
WO2018161363A1 (en) * | 2017-03-07 | 2018-09-13 | 深圳市楼通宝实业有限公司 | Self-service vending method and system |
CN107393152A (en) * | 2017-08-14 | 2017-11-24 | 杭州纳戒科技有限公司 | Self-help vending machine and automatic selling system |
CN109360331A (en) * | 2017-12-29 | 2019-02-19 | 广州Tcl智能家居科技有限公司 | A kind of automatic vending method and automatic vending machine based on article identification |
CN108831019A (en) * | 2018-05-25 | 2018-11-16 | 杭州纳戒科技有限公司 | Self-service supermarket's vending system and automatic selling system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023009036A1 (en) * | 2021-07-26 | 2023-02-02 | Тимур Юсупович ЗАКИРОВ | Mobile self-service system |
RU2826019C1 (en) * | 2023-04-04 | 2024-09-03 | Общество с ограниченной ответственностью "СП Инжиниринг" | System for recognizing alphanumeric component of matrix code on surface of workpieces |
Also Published As
Publication number | Publication date |
---|---|
WO2021167482A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107464116B (en) | Order settlement method and system | |
EP3767598A1 (en) | Vending device and method | |
US8794524B2 (en) | Smart scanning system | |
US8746557B2 (en) | Secure self-checkout | |
US20090026270A1 (en) | Secure checkout system | |
RU2726227C1 (en) | Method and system for recognizing encoded data by scanning images | |
US20140070005A1 (en) | Scanner with wake-up mode | |
US11526843B2 (en) | Product identification systems and methods | |
CN116071308A (en) | Evaluating image values | |
WO2018137136A1 (en) | Vending machine and operation method thereof | |
CN102063616A (en) | Automatic identification system and method for commodities based on image feature matching | |
CN107092849A (en) | Method and apparatus for reading optical markings using multiple data sources | |
RU2714901C1 (en) | Method and system for pattern recognition from a video stream | |
US10930104B2 (en) | Systems and methods for actuating an electronic lock upon payment for delivery services | |
CN201047962Y (en) | Self-help book borrowing and returning equipment of library | |
CN110197560A (en) | Automatic selling system based on Weighing module | |
CN109448262A (en) | Channel type intelligent article borrowing and returning management system | |
KR20220075176A (en) | Automated product cabinets for inventory control | |
CN206505504U (en) | A kind of quick flat board cashier's machine of integrated-type | |
US9047742B2 (en) | Visual security for point of sale terminals | |
US11232443B2 (en) | Systems and methods for payment for delivery services | |
EP2397966A1 (en) | Apparatus for detecting and processing data in cash desk | |
Garlapati et al. | Revolutionizing Shopping Experiences with Smart Carts | |
TWI621076B (en) | Billing management system | |
KR20220114719A (en) | System based on user behavior analysis and situational awareness using artificial intelligence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20200914 |