Information processing apparatus and program
The information processing device and program facilitate the creation of high-quality dictionaries for image recognition in product registration systems by automatically selecting images without hand reflections, thus addressing the issue of degraded dictionary quality due to hand reflections in existing systems.
Patent Information
- Application Number
- JP2023163050
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-07
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing systems for creating dictionaries for image recognition in product registration processes are hindered by the need for special operations to avoid hand reflections, which degrade the quality of the dictionary.
An information processing device and program that acquire images by shaking products in front of an image capturing unit, recognize the product using a recognition means, and update a dictionary using only images where the product is recognized without hands being displayed.
Enables the creation of high-quality dictionaries for image recognition without requiring special user operations, thereby improving the accuracy and reliability of product registration systems.
Smart Images

Figure 2025053923000001_ABST
Abstract
Description
[Technical field]
[0001] An embodiment of the present invention relates to an information processing device and a program. [Background technology]
[0002] There is a system in which, when registering a product, an image is obtained by holding the product over the imaging section of a scanner, and then a code attached to the product is read from the obtained image using code recognition technology, and the product is identified and registered from the read code.
[0003] When a user or operator holds a product over the scanner's imaging section, their hand may appear in the captured image. If a dictionary for image recognition (package recognition) is created or updated based on an image that includes a hand, the quality of the dictionary will decrease. To prevent this, the user or operator must perform special, time-consuming operations. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2017-123152 A Summary of the Invention [Problem to be solved by the invention]
[0005] An object of the present invention is to provide an information processing device and a program that enable a user or operator to easily create a high-quality dictionary for image recognition without performing any special operations. [Means for solving the problem]
[0006] The information processing device of the embodiment includes an acquisition means for acquiring an image obtained by a user holding a product over an imaging unit, a recognition means for recognizing the product appearing in the image acquired by the acquisition means, and a control means for updating a predetermined dictionary using only those image images in which the hand is not appearing among the individual image images in which the product is recognized by the recognition means. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a product information management system according to an embodiment. [Diagram 2] FIG. 2 is a perspective view showing the appearance of the self-service POS system according to the embodiment. [Diagram 3] FIG. 3 is a block diagram illustrating a hardware configuration of the POS terminal according to the embodiment. [Figure 4] FIG. 4 is a block diagram showing a hardware configuration of the scanner according to the embodiment. [Diagram 5] FIG. 5 is a block diagram illustrating a hardware configuration of the image recognition apparatus according to the embodiment. [Figure 6] FIG. 6 is a block diagram illustrating a hardware configuration of the server according to the embodiment. [Figure 7] FIG. 7 is a diagram showing a data configuration of a product master stored in the storage unit of the POS terminal of the embodiment. [Figure 8] FIG. 8 is a diagram showing a data structure of the comparison dictionary stored in the storage unit of the image recognition device according to the embodiment. [Figure 9] FIG. 9 is a diagram showing an example of image management information indicating the relationship between various pieces of information for each captured image. [Figure 10] FIG. 10 is a diagram showing an example of correct label information indicating the relationship between the identification number of an action and a correct label. [Figure 11] FIG. 11 is a block diagram illustrating a functional configuration of a control unit of the POS terminal according to the embodiment. [Figure 12] FIG. 12 is a block diagram showing the functional configuration of the control unit of the scanner according to the embodiment. [Figure 13]FIG. 13 is a block diagram illustrating a functional configuration of a control unit of the image recognition device according to the embodiment. [Figure 14] FIG. 14 is a block diagram illustrating a functional configuration of a control unit of the server according to the embodiment. [Figure 15] FIG. 15 is a flowchart showing the flow of operations of the scanner according to the embodiment. [Figure 16] FIG. 16 is a flowchart showing the flow of operations of the image recognition device according to the embodiment. [Figure 17] FIG. 17 is a flow chart showing a specific example of the process of "assigning an action ID" in ACT24 in FIG. [Figure 18] FIG. 18 is a flow chart showing a specific example of the "image storage" process of ACT30 in FIG. [Figure 19] FIG. 19 is a flow chart showing a specific example of the process of "adding a correct label" in ACT51 in FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Hereinafter, an embodiment of an information processing device and a program will be described with reference to the drawings. Note that the present invention is not limited to the embodiment described below.
[0009] (Product Information Management System) First, a product information management system MS according to an embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing the overall configuration of the product information management system MS according to an embodiment. The product information management system MS includes a product information registration system RS and a server 40.
[0010] The product information registration system RS includes a POS (Point Of Sales) terminal 10, a scanner 20 (information processing device), and an image recognition device 30 (information processing device). The POS terminal 10 and the scanner 20 are communicatively connected via a LAN (Local Area Network) or a USB (Universal Serial Bus). The scanner 20 and the image recognition device 30 are communicatively connected via a LAN.
[0011] In the embodiment, a combination of Ethernet (registered trademark) and TCP (Transmission Control Protocol) is used for LAN communication, but the communication protocol is not limited.
[0012] The POS terminal 10 and the image recognition device 30 are communicatively connected to a LAN hub LH via a LAN. The LAN hub LH is communicatively connected to a wireless router WR via a LAN. The wireless router WR is capable of wireless communication with a server 40 via a network NW.
[0013] The scanner 20 captures an image of a product to obtain a product image, which is a captured image. The scanner 20 transmits the obtained product image to the image recognition device 30 via a LAN. The scanner 20 also detects and decodes product barcodes (one-dimensional codes and two-dimensional codes) included in the obtained product image. That is, the scanner 20 reads information held by the product barcode. The decoded result of the product barcode includes the product code held by the product barcode. The scanner 20 transmits the decoded result to the image recognition device 30 via a LAN.
[0014] The image recognition device 30 receives the product image, which is the captured image from the scanner 20, via a LAN. The image recognition device 30 has an image recognition function using a trained model by machine learning, for example, and performs image recognition (also called "package recognition") on the product image using the image recognition function. In detail, the image recognition device 30 acquires a feature amount included in the product image using the image recognition function, compares the acquired feature amount with a matching dictionary in which a plurality of feature amounts and product codes are associated, and acquires a product code associated with a feature amount that is closest to the acquired feature amount. That is, the image recognition result includes the product code of the product depicted in the product image. The image recognition device 30 may perform image recognition on the product image using a method such as deep learning. The image recognition device 30 transmits the image recognition result to the scanner 20 via a LAN.
[0015] The scanner 20 receives the image recognition result from the image recognition device 30 via the LAN. The scanner 20 merges the decoded result and the image recognition result. Here, merging means obtaining one product code from the decoded result and the image recognition result. Therefore, the merged result includes the product barcode contained in the product image or the product code of the product shown in the product image. The scanner 20 transmits the merged result to the POS terminal 10 via the LAN or USB. The POS terminal 10 registers the product based on the product code of the merged result received from the scanner 20.
[0016] Furthermore, the image recognition device 30 determines whether the product image received from the scanner 20 is to be used for additional learning. For example, if the difference between the acquired feature amount and the feature amount closest to the acquired feature amount is equal to or greater than a predetermined amount, the image recognition device 30 determines that the product image received from the scanner 20 is a product image to be used for additional learning. The image recognition device 30 transmits the product image determined to be used for additional learning and the product code of the decoded result received from the scanner 20 to the server 40 via the LAN.
[0017] The server 40 receives product images and product codes from the image recognition device 30 via the LAN. The server 40 stores the received product images and product codes in association with each other. The server 40 performs additional learning of a trained model for product image recognition using the stored product images and product codes. The server 40 updates the trained model through the additional learning. The server 40 also updates the matching dictionary in conjunction with the additional learning. Updating the matching dictionary includes correcting existing records and adding new records. The server 40 transmits the updated trained model and the updated matching dictionary to the image recognition device 30 via the LAN.
[0018] The image recognition device 30 receives the updated trained model and the updated matching dictionary from the server 40 via a LAN. The image recognition device 30 updates the currently held trained model with the received updated trained model. The image recognition device 30 also updates the currently held matching dictionary with the received updated matching dictionary.
[0019] In this product information management system MS, if the product packaging is changed, it is possible to eliminate the need to collect new product images for additional training of the trained model for product image recognition.
[0020] The server 40 also manages the product master. The POS terminal 10 transmits transaction processing information (information related to a processed transaction) via the LAN to the wireless router WR via the LAN hub LH. The wireless router WR transmits the received transaction processing information to the server 40 via the network NW. The server 40 manages the product master based on the received transaction processing information. For example, the server 40 receives transaction processing information from multiple POS terminals 10 and manages the product master for each of the multiple POS terminals 10. Managing the product master includes modifying existing records and adding new records. The server 40 also transmits the product master suitable for each POS terminal 10 to that POS terminal 10 via the network NW, the wireless router WR, and the LAN hub LH.
[0021] The image recognition device 30 may transmit the product images received from the scanner 20 to the server 40 regardless of whether they are used for additional learning. In this case, the product images stored in the server 40 may be used, for example, to analyze the state (event) of image recognition in the image recognition device 30.
[0022] (Product Information Registration System) Hereinafter, as an example of a product information registration system, a self-service POS system operated by a customer who purchases a product will be described. However, the product information registration system is not limited to a self-service POS system. The product information registration system may be a POS system operated by a salesperson at a store that sells the product.
[0023] 2 is a perspective view showing the appearance of the self-service POS system 1. The self-service POS system 1 has a POS terminal 10, a scanner 20 built into the POS terminal 10, and an image recognition device 30 built into the POS terminal 10. Here, the self-service POS system 1 is an example of a product information registration system, the POS terminal 10 is an example of a registration device, and the scanner 20 and the image recognition device 30 are examples of an information processing device.
[0024] The scanner 20 identifies the product that the customer purchases, and transmits the product code of the identified product to the POS terminal 10. The product code is an example of product identification information that identifies the product. The POS terminal 10 executes product registration based on the product code input from the scanner 20, and also executes accounting processing for the registered product. The accounting processing is processing executed by the POS terminal 10 to allow the customer to pay for the purchase price of the product.
[0025] 2, the POS terminal 10 includes a main body 50, a first basket mounting stand 70, and a second basket mounting stand 80. The main body 50 includes a display 51 and a touch panel 52 on an upper portion, and also houses a printer 53, a card reader 54, and a change dispenser 55 (see FIG. 3 for each).
[0026] Display 51 is a display device such as an LCD (Liquid Crystal Display) and displays various information. For example, display 51 displays product information such as the product name and price of a product registered by a customer's registration operation. Display 51 also displays accounting information such as the total amount of the transaction and the amount of change in accordance with the customer's accounting operation.
[0027] The touch panel 52 is provided on the surface of the display 51, and inputs information according to the touched position into the control unit 100 (see FIG. 3) of the POS terminal 10. A customer or an administrator (both of whom are operators who are users) who uses the POS terminal 10 can operate the touch panel 52 by touching various buttons and operation keys displayed on the display 51.
[0028] As shown in FIG. 2, below the display 51, a reading window 230 for the scanner 20, an issuing port 531 for receipts printed by the printer 53, and a card insertion port 541 for the card reader 54 are formed facing the direction in which the customer is positioned.
[0029] The reading window 230 is a window through which the scanner 20 captures an image of the exterior of a commodity. A customer who is an operator operating the self-service POS system 1 performs an operation related to commodity registration by holding the commodity to be purchased over the reading window 230. The customer holds the commodity over the reading window 230 while changing the orientation of the commodity with respect to the reading window 230 until the self-service POS system 1 executes the commodity registration and generates a registration completion sound.
[0030] The issuing port 531 is an opening through which a receipt printed by the printer 53 is ejected. Information (transaction processing information) related to a transaction processed by the POS terminal 10 is printed on the receipt. The POS terminal 10 may be configured to issue an electronic receipt instead of a paper receipt printed by the printer 53.
[0031] Card insertion slot 541 is an opening for inserting a credit card or the like to be read by card reader 54. A card is inserted through card insertion slot 541 when a customer makes a payment with a credit card or when a customer has a store membership card or the like read.
[0032] The main body 50 is also formed with a coin insertion slot 551, a coin ejection slot 552, a coin receiving tray 553, a bill insertion slot 554, and a bill ejection slot 555 in correspondence with the position of the change machine 55 housed therein.
[0033] The coin slot 551 is an opening through which a customer inserts coins to be paid. Coins inserted into the coin slot 551 are stored in the change machine 55. The coin outlet 552 is an opening through which coins to be dispensed from the change machine 55 are discharged. The coin outlet 552 discharges change or coins inserted into the coin slot 551 but not accepted by the change machine 55. The coin tray 553 is a tray that receives coins discharged from the coin outlet 552. The banknote slot 554 is an opening through which a customer inserts banknotes to be paid. Banknotes inserted into the banknote slot 554 are stored in the change machine 55. The banknote outlet 555 is an opening through which banknotes that are change to be dispensed from the change machine 55 are discharged.
[0034] The first basket placement table 70 is a table on which a shopping basket (not shown) containing products that a customer wishes to purchase is placed. The first basket placement table 70 includes a first weighing unit 71. The first weighing unit 71 weighs the total weight of a shopping basket placed on the first basket placement table 70 and the products contained in the shopping basket.
[0035] The second basket placement table 80 is a table for placing shopping baskets (not shown) that contain products that have been removed from the shopping basket placed on the first basket placement table 70 and whose product codes have been read, i.e., registered products. The second basket placement table 80 includes a second weighing unit 81, a pair of support rods 82, and a temporary placement table 83.
[0036] The second weighing unit 81 weighs the total weight of a shopping basket placed on the second basket placement table 80 and the products contained in the shopping basket, or the total weight of a shopping bag (not shown) supported by a pair of support rods 82 and the products contained in the shopping bag. The support rods 82 are rods for hanging and supporting a shopping bag containing registered products. The support rods 82 support the shopping bag in an open state, making it easier to put products into the shopping bag. The temporary placement table 83 is a table on which registered products that are easily broken or deformed, such as tofu and eggs, are temporarily placed. The customer can finally place the products placed on the temporary placement table 83 into a shopping basket or shopping bag.
[0037] The customer registers the product by holding the product taken out of the shopping basket placed on the first basket placement stand 70 over the reading window 230. The customer then places the registered product in a shopping basket placed on the second basket placement stand 80 or in a shopping bag supported by the support rod 82.
[0038] The control unit 100 (see FIG. 3) recognizes the weight change when the first weighing unit 71 weighs the weight before and after an item is removed from the shopping basket placed on the first basket placement table 70. The control unit 100 recognizes the weight change when the second weighing unit 81 weighs the weight before and after an item is placed in the shopping basket placed on the second basket placement table 80 or a shopping bag supported by the support rod 82. Depending on whether these two weight changes are equal, the control unit 100 can determine whether all of the items the customer wishes to purchase have been registered.
[0039] The main body 50 also includes a cylindrical pole 57 extending upward. The pole 57 has a light-emitting section 571 at its upper end that emits light when calling a store clerk (also called the manager of the POS terminal 10).
[0040] (POS terminal hardware configuration) Next, the hardware configuration of the POS terminal 10 will be described with reference to Fig. 3. Fig. 3 is a block diagram showing the hardware configuration of the POS terminal 10.
[0041] The POS terminal 10 includes a control unit 100, a memory unit 110, a display 51, a touch panel 52, a printer 53, a card reader 54, a change machine 55, a first weighing unit 71, a second weighing unit 81, a light-emitting unit 571, an audio output unit 120, a connection interface 121, and a LAN interface 122. The control unit 100, the memory unit 110, the display 51, the touch panel 52, the printer 53, the card reader 54, the change machine 55, the first weighing unit 71, the second weighing unit 81, the light-emitting unit 571, the audio output unit 120, the connection interface 121, and the LAN interface 122 are connected to each other via a bus 123 or the like.
[0042] The control unit 100 is configured as a computer including a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, and a RAM (Random Access Memory) 103. The CPU 101, the ROM 102, and the RAM 103 are connected to each other via a bus 123.
[0043] The CPU 101 controls the entire POS terminal 10. The ROM 102 stores various programs, such as a program used to drive the CPU 101, and various data. The RAM 103 is used as a work area for the CPU 101, and loads various programs and data stored in the ROM 102 and the storage unit 110. The control unit 100 executes various control processes of the POS terminal 10, for example, by the CPU 101 operating in accordance with a control program 111 stored in the storage unit 110 and loaded in the RAM 103.
[0044] RAM 103 has a product information section 1031. Product information section 1031 stores product information read from product master 112 (described later) based on the product code acquired from scanner 20. A product is registered by storing (registering) product information in product information section 1031. Product information stored in product information section 1031 includes product code, product name, price, etc. Product information section 1031 stores product information related to one transaction, and is cleared when the accounting process for that transaction is completed.
[0045] The storage unit 110 is configured with a storage medium such as a hard disk drive (HDD) or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 110 stores a control program 111 and a product master 112.
[0046] The control program 111 is a program for realizing a function of receiving a product code from the scanner 20, a function of executing product registration based on the received product code, a function of executing accounting processing for the registered product, a function of executing settings of various operation modes in the product information registration system RS in response to operations by an administrator, etc. The control program 111 may be stored in the ROM 102 instead of in the memory unit 110.
[0047] The product master 112 is a master file that stores product information about products handled in the store. Since the products handled in the store change daily, the product master 112 is updated as appropriate by a store server (not shown) connected via a LAN interface 122. Fig. 7 is a diagram showing the data configuration of the product master 112. The product master 112 includes product codes, product categories, product names, and prices associated with the product codes.
[0048] The product code is information that identifies a product. The product classification is information that classifies products sold in a store. The product name is information that indicates the name of the product. The price is information that indicates the price (unit price) of the product. The product master 112 may include other information in association with the product code.
[0049] Returning to Fig. 3, the description will continue of the hardware configuration of the POS terminal 10. The configurations and functions of the display 51 and the touch panel 52 are as described above.
[0050] The printer 53 is, for example, a thermal printer. The printer 53 prints information about the transaction on a roll of receipt paper and issues the paper as a receipt from an issuing port 531.
[0051] Card reader 54 reads credit information required for payment from a credit card inserted through card insertion slot 541. Card reader 54 also reads membership information identifying a member from a medium such as a membership card or a point card inserted through card insertion slot 541. Card reader 54 may magnetically read information from a card, or may be an IC card reader that reads information from an IC card with a built-in IC (Integrated Circuit) chip.
[0052] The change machine 55 accepts bills and coins paid by a customer when the customer pays for the purchase price of a product in cash, and dispenses change as necessary. Bills are inserted through a bill insertion slot 554, and coins are inserted through a coin insertion slot 551. Bills as change are discharged from a bill discharge slot 555, and coins as change are discharged from a coin discharge slot 552.
[0053] The configurations and functions of first weighing unit 71, second weighing unit 81, and light-emitting unit 571 are as described above. Audio output unit 120 generates sound as necessary to notify the customer of information. For example, audio output unit 120 outputs an alarm sound that notifies the customer that product registration has been completed. The audio output unit is an example of an alarm unit.
[0054] The connection interface 121 is an interface for communicating with the scanner 20 via a LAN or a USB. The control unit 100 transmits and receives information (data) to and from the scanner 20 via the connection interface 121, via the LAN or the USB. For example, the control unit 100 receives a product code from the scanner 20 via the connection interface 121, via the LAN or the USB. Also, for example, the control unit 100 transmits data of an operation mode selected in response to an administrator's operation to the scanner 20 via the connection interface 121, via the LAN or the USB.
[0055] The LAN interface 122 is an interface for communicating with the LAN hub LH via the LAN. The control unit 100 transmits and receives information (data) to and from the LAN hub LH via the LAN interface 122. For example, the control unit 100 transmits and receives the product master 112 to and from the server 40 via the LAN, via the LAN hub LH and the wireless router WR.
[0056] The LAN interface 122 is also an interface for communicating with external devices such as a store server (not shown) managed by the store. The control unit 100 transmits and receives information to and from external devices via the LAN interface 122 and the LAN.
[0057] (Scanner hardware configuration) Next, the hardware configuration of the scanner 20 will be described with reference to Fig. 4. Fig. 4 is a diagram showing the hardware configuration of the scanner 20.
[0058] The scanner 20 captures an image of a product purchased by a customer to obtain a product image. The scanner 20 then detects a product barcode included in the product image, i.e., a barcode attached to the captured product, and decodes the detected product barcode. The decoded product barcode includes the product code held by the product barcode. The scanner 20 also transmits the product image to the image recognition device 30 via a LAN.
[0059] The scanner 20 includes a control unit 200, a storage unit 210, an imaging unit 220, a connection interface 221, and a LAN interface 222. The control unit 200, the storage unit 210, the imaging unit 220, the connection interface 221, and the LAN interface 222 are connected to each other via a bus 223 or the like.
[0060] The control unit 200 is configured as a computer including a CPU 201, a ROM 202, and a RAM 203. The CPU 201, the ROM 202, and the RAM 203 are connected to each other via a bus 223.
[0061] The CPU 201 controls the entire scanner 20. The ROM 202 stores various programs, such as a program used to drive the CPU 201, and various data. The RAM 203 is used as a work area for the CPU 201, and loads various programs and data stored in the ROM 202 and the storage unit 210. The control unit 200 executes various control processes for the scanner 20, for example, by the CPU 201 operating in accordance with a control program 211 stored in the storage unit 210 and loaded in the RAM 203.
[0062] The storage unit 210 is configured with a storage medium such as a HDD or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 210 stores a control program 211 and a processing result 212.
[0063] The control program 211 is a program for realizing a function of starting imaging by the imaging unit 220 in response to receiving a transaction start signal from the POS terminal 10, a function of saving a frame image (captured image) of a commodity captured by the imaging unit 220 in the RAM 203, a function of acquiring a frame image (a commodity image that is a captured image) stored in the RAM 203, a function of detecting a commodity barcode included in the commodity image, a function of decoding a commodity barcode, a function of transmitting a commodity image to the image recognition device 30, a function of receiving an image recognition result from the image recognition device 30, a function of merging the decoded result and the image recognition result, a function of transmitting a commodity code of the merged result to the POS terminal 10, a function of stopping imaging by the imaging unit 220 in response to receiving a registration completion signal from the POS terminal 10, and the like. The control program 211 may be stored in the ROM 202 instead of being stored in the storage unit 210.
[0064] The processing result 212 includes a decoded result of the product barcode, an image recognition result by the image recognition device 30, and a merged result of merging the decoded result and the image recognition result. The merged result includes a product barcode included in the product image or a product code of the product shown in the product image.
[0065] The imaging unit 220 is composed of, for example, a color CCD image sensor or a color CMOS image sensor. The imaging unit 220 outputs a product image, which is an image acquired by capturing an image of a product through the reading window 230, under the control of the control unit 200. For example, the imaging unit 220 captures a moving image at a predetermined frame rate (e.g., 30 fps). The imaging unit 220 stores the captured frame images in sequence in the RAM 203. The frame images (product images) stored in the RAM 203 are used to identify the product code of the product shown in the frame image.
[0066] The connection interface 221 is an interface for communicating with the POS terminal 10 via a LAN or a USB. The control unit 200 transmits and receives information (data) to and from the POS terminal 10 via the connection interface 221, the LAN, or the USB.
[0067] The LAN interface 222 is an interface for communicating with the image recognition device 30 via a LAN. The control unit 200 transmits and receives information (data) to and from the image recognition device 30 via the LAN interface 222 and the LAN.
[0068] The control unit 200 detects a product barcode included in a frame image (product image) held by the RAM 203, decodes the product barcode, and acquires a product code held by the product barcode. The control unit 200 also transmits the frame image (product image) held by the RAM 203 to the image recognition device 30 via the LAN interface 222, and receives an image recognition result (product code) by the image recognition device 30 from the image recognition device 30. The control unit 200 also merges the decoded result and the image recognition result to identify the product barcode included in the product image or the product code of the product shown in the product image, and transmits the identified product code to the POS terminal 10 via the connection interface 221.
[0069] (Hardware configuration of image recognition device) Next, the hardware configuration of the image recognition device 30 will be described with reference to Fig. 5. Fig. 5 is a diagram showing the hardware configuration of the image recognition device 30.
[0070] The image recognition device 30 receives a product image, which is a captured image from the scanner 20, via the LAN. The image recognition device 30 starts image recognition when it receives a captured image from the scanner 20, and stops image recognition when it stops receiving a captured image from the scanner 20. The image recognition device 30 performs image recognition on the product image included in the received captured image. That is, the image recognition device 30 acquires a product code of the product shown in the product image based on the feature amount of the product image. The image recognition device 30 transmits the image recognition result to the scanner 20 via the LAN. In addition, the image recognition device 30 transmits the product image or the product image and the product code to the server 40 via the LAN as necessary. Furthermore, the image recognition device 30 receives an updated trained model and a matching dictionary from the server 40 via the LAN, and updates the trained model and matching dictionary currently held.
[0071] The image recognition device 30 includes a control unit 300, a storage unit 310, and a LAN interface 321. The control unit 300, the storage unit 310, and the LAN interface 321 are connected to each other via a bus 322 or the like.
[0072] The control unit 300 is configured as a computer including a CPU 301, a ROM 302, and a RAM 303. The CPU 301, the ROM 302, and the RAM 303 are connected to each other via a bus 322.
[0073] The CPU 301 controls the entire image recognition device 30. The ROM 302 stores various programs, such as a program used to drive the CPU 301, and various data. The RAM 303 is used as a work area for the CPU 301, and loads various programs and data stored in the ROM 302 and the storage unit 310. The control unit 300 executes various control processes of the image recognition device 30, for example, by the CPU 301 operating in accordance with a control program 311 stored in the storage unit 310 and loaded in the RAM 303.
[0074] The storage unit 310 is configured with a storage medium such as a HDD or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 310 stores a control program 311, a trained model 312, a matching dictionary 313, image management information 314, and correct label information 315.
[0075] The control program 311 is a program for realizing functions such as a function of receiving a product image, which is a captured image, from the scanner 20, a function of performing image recognition on the product image, a function of determining whether the image recognition is successful, a function of transmitting the image recognition result to the scanner 20, a function of receiving a product code of a decoded result from the scanner 20, a function of determining whether the product image is used for additional learning, a function of transmitting a product image or a product image and a product code to the server 40, a function of receiving an updated trained model and an updated matching dictionary from the server 40, a function of updating the currently held trained model with the updated trained model, and a function of updating the currently held matching dictionary with the updated matching dictionary. The control program 311 may be stored in the ROM 302 instead of being stored in the storage unit 310.
[0076] The trained model 312 is an image recognition model for performing image recognition on product images. The trained model 312 has been trained by machine learning and is additionally trained by machine learning.
[0077] The matching dictionary 313 is a data table that manages products in association with the features of the appearance of the products. FIG. 8 is a diagram showing the data structure of the matching dictionary 313. The matching dictionary 313 includes product codes and features associated with the product codes. The matching dictionary 313 may have multiple features for one product code. The product codes in the matching dictionary 313 are the same as the product codes in the product master 112 held in the memory unit 110 of the POS terminal 10.
[0078] As described above, the product code is information for identifying a product. The feature amount is, for example, a parameterized feature of the product's appearance, such as the product's standard shape, surface color, pattern, unevenness, etc. The control unit 300 acquires the feature amount included in the product image, compares the acquired feature amount with the collation dictionary, and acquires the product code associated with the acquired feature amount. In other words, the control unit 300 acquires the product code of the product shown in the product image from the products pre-recorded in the collation dictionary 313 based on the feature amount acquired from the product image.
[0079] The image management information 314 is information created by the control means 3006, which will be described later in detail.
[0080] The correct label information 315 is information generated by the control means 3006, which will be described later in detail.
[0081] Returning to FIG. 5, the description of the hardware configuration of the image recognition device 30 will be continued.
[0082] The LAN interface 321 is an interface for communicating with the scanner 20 and the LAN hub LH. The control unit 300 transmits and receives information (data) to and from the scanner 20 and the LAN hub LH via the LAN interface 321.
[0083] For example, the control unit 300 receives a frame image (product image) from the scanner 20 via the LAN interface 321. In addition, the control unit 300 acquires the product code of the product shown in the product image as described above, and transmits the acquired product code to the scanner 20 via the LAN interface 321.
[0084] Furthermore, the control unit 300 transmits, as necessary, the product image that has been subjected to image recognition, or the product image that has been subjected to image recognition and the product code of the decoded result received from the scanner 20, to the server 40 via the LAN interface 321. Furthermore, the control unit 300 receives the updated trained model 412 (see FIG. 6) and the updated matching dictionary 413 (see FIG. 6) from the server 40 via the LAN interface 321. The control unit 300 updates the currently held trained model 312 with the updated trained model 412. Furthermore, the control unit 300 updates the currently held matching dictionary 313 with the updated matching dictionary 413.
[0085] (Server hardware configuration) Next, the hardware configuration of the server 40 will be described with reference to Fig. 6. Fig. 6 is a diagram showing the hardware configuration of the server 40.
[0086] The server 40 receives and stores product images and product codes from the image recognition device 30. The server 40 uses the stored product images and product codes to perform additional learning of a trained model for product image recognition, and updates the trained model and the matching dictionary. The server 40 transmits the updated trained model and the updated matching dictionary to the image recognition device 30. The server 40 also manages product master data. The server 40 receives transaction processing information from the POS terminal 10, and manages the product master data based on the received transaction processing information. The server 40 transmits to each POS terminal 10 a product master data suitable for that POS terminal 10.
[0087] The server 40 includes a control unit 400, a storage unit 410, and a communication unit 421. The control unit 400, the storage unit 410, and the communication unit 421 are connected to each other via a bus 422 or the like.
[0088] The control unit 400 is configured by a computer including a CPU 401, a ROM 402, and a RAM 403. The CPU 401, the ROM 402, and the RAM 403 are connected to each other via a bus 422.
[0089] The CPU 401 controls the entire server 40. The ROM 402 stores various programs, such as a program used to drive the CPU 401, and various data. The RAM 403 is used as a work area for the CPU 401, and loads various programs and data stored in the ROM 402 and the storage unit 410. The control unit 400 executes various control processes of the server 40, for example, by the CPU 401 operating in accordance with a control program 411 stored in the storage unit 410 and loaded in the RAM 403.
[0090] The storage unit 410 is configured with a storage medium such as a HDD or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 410 stores a control program 411, a trained model 412, a comparison dictionary 413, and a product master 414.
[0091] The control program 411 is a program for realizing functions such as receiving product images and product codes from the image recognition device 30, storing product images and product codes, additionally learning and updating the trained model 412, updating the matching dictionary 413, transmitting the updated trained model 412 and the updated matching dictionary 413 to the image recognition device 30, receiving transaction processing information from the POS terminal 10, managing the product master 414, transmitting the product master 414 to the POS terminal 10, and transmitting the stored product images to an external device as necessary. The control program 411 may be stored in the ROM 402 instead of in the storage unit 410.
[0092] The trained model 412 is a model trained by machine learning for performing image recognition on product images. In detail, the trained model 412 is an image recognition model that acquires a feature amount included in the product image and compares the acquired feature amount with a matching dictionary 413 to acquire a product code of a product shown in the product image.
[0093] The matching dictionary 413 is a data table that manages product codes of products in association with the appearance features of the products, similar to the matching dictionary 313 held by the image recognition device 30. The matching dictionary 413 includes the matching dictionaries 313 held by multiple image recognition devices 30. The server 40 transmits to each image recognition device 30 the matching dictionary 313 suitable for that image recognition device 30.
[0094] Like the product master data 112 held by the POS terminal 10, the product master data 414 includes product codes, and product categories, product names, and prices associated with the product codes. The product master data 414 includes the product master data 112 held by multiple POS terminals 10. The server 40 manages the product master data 414 based on transaction processing information received from the POS terminals 10. For example, the server 40 updates the product master data 414 based on the transaction processing information. The server 40 sends to each POS terminal 10 the product master data 112 suitable for that POS terminal 10.
[0095] The communication unit 421 is an interface for communicating with the wireless router WR. The control unit 400 transmits and receives information (data) to and from the wireless router WR via the communication unit 421.
[0096] For example, the control unit 400 receives and stores product images and image recognition results from the image recognition device 30 via the communication unit 421. The control unit 400 performs additional learning of the trained model 412 using the stored product images and image recognition results, and updates the trained model 412 and the matching dictionary 413. The control unit 400 transmits the updated trained model and the updated matching dictionary to the image recognition device 30 via the communication unit 421. The control unit 400 transmits the stored product images to an external device as necessary.
[0097] The server 40 also receives transaction processing information from the POS terminal 10 via the communication unit 421. The server 40 manages the product master based on the received transaction processing information. The server 40 transmits the product master suitable for each POS terminal 10 to that POS terminal 10 via the communication unit 421.
[0098] (Functional configuration of POS terminal) Next, the functional configuration of the POS terminal 10 will be described with reference to Fig. 11. Fig. 11 is a block diagram showing the functional configuration of the control unit 100 of the POS terminal 10.
[0099] The control unit 100 has an input means 1001, a registration means 1002, an accounting processing means 1003, and an output means 1004. The control unit 100 functions as the input means 1001, the registration means 1002, the accounting processing means 1003, and the output means 1004 by the CPU 101 operating in accordance with a control program stored in the ROM 102 or the storage unit 110. Each of these functions may be configured by hardware such as a dedicated circuit.
[0100] Various information is input to the input means 1001 from the scanner 20, the touch panel 52, the card reader 54, the first weighing unit 71, the second weighing unit 81, etc. For example, a product code is input to the input means 1001 from the scanner 20.
[0101] Furthermore, information based on the operation of the touch panel 52 is input to the input means 1001. For example, transaction start information declaring the start of one transaction is input to the input means 1001. Furthermore, registration completion information indicating that product registration of the product related to one transaction has been completed is input to the input means 1001.
[0102] The registration means 1002 executes product registration of a product that a customer wishes to purchase through an operation of the customer. In other words, the registration means 1002 registers information on a product identified by product identification information inputted to the input means 1001. Specifically, the registration means 1002 reads product information from the product master 112 based on the product code inputted to the input means 1001. Then, the registration means 1002 stores the read product information in the product information section 1031. The product information is information including a product code, a product name, a price, etc.
[0103] The transaction processing means 1003 executes transaction processing related to the payment of the prices of the products registered by the registration means 1002. Specifically, the transaction processing means 1003 executes processing to calculate the total price (transaction amount) of the registered products, calculate the amount of change, display various information, issue receipts, etc. If the customer desires cashless payment such as credit card payment or two-dimensional code payment, the transaction processing means 1003 can execute the transaction processing necessary for payment.
[0104] The output unit 1004 outputs various information to the scanner 20, the printer 53, the change machine 55, the light emitting unit 571, the audio output unit 120, etc. For example, when transaction start information is input to the input unit 1001, the output unit 1004 outputs an imaging start signal that instructs the scanner 20 to start imaging. Also, when registration completion information is input to the input unit 1001, the output unit 1004 outputs an imaging stop signal that instructs the scanner 20 to stop imaging.
[0105] When the registration means 1002 completes the product registration for one product, the output means 1004 outputs a control signal for causing the audio output unit 120 to output an alarm sound. The output means 1004 functions as an alarm means for causing an alarm unit (audio output unit 120) to notify that the registration means 1002 has completed the registration of product information. It is also possible to provide the audio output unit 120 in the scanner 20. In this case, the audio output unit 120 may be configured to emit an alarm sound when the scanner 20 identifies the product code.
[0106] (Scanner Functional Configuration) Next, the functional configuration of the scanner 20 will be described with reference to Fig. 12. Fig. 12 is a block diagram showing the functional configuration of the control unit 200 of the scanner 20.
[0107] The control unit 200 has an acquiring means 2001, a decoding means 2002, a transmitting / receiving means 2003, a merging means 2004, and a transmitting means 2005. The control unit 200 functions as the acquiring means 2001, the decoding means 2002, the transmitting / receiving means 2003, the merging means 2004, and the transmitting means 2005 by the CPU 201 operating in accordance with a control program stored in the ROM 202 or the storage unit 210. Each of these functions may be configured by hardware such as a dedicated circuit.
[0108] The acquisition means 2001 acquires one frame image (captured image) as a product image from a moving image captured by the imaging unit 220. The acquisition means 2001 stores the acquired product image in the RAM 203. For example, the acquisition means 2001 acquires all or some of a plurality of frame images sequentially captured by the imaging unit 220 as candidates for product images, stores all or some of the acquired frame images in the RAM 203, and selects a product image from all or some of the stored frame images.
[0109] The acquiring means 2001 also acquires various other information. For example, the acquiring means 2001 acquires an imaging start signal and an imaging stop signal from the POS terminal 10. The acquiring means 2001 detects that a customer's operation has started (i.e., the customer is using the terminal) by acquiring the imaging start signal from the POS terminal 10, and detects that the customer's operation has been completed (i.e., the customer is not using the terminal) by acquiring the imaging stop signal from the POS terminal 10. When the acquiring means 2001 acquires the imaging start signal from the POS terminal 10, the imaging unit 220 starts imaging, and the acquiring means 2001 acquires the captured image captured by the imaging unit 220. When the acquiring means 2001 acquires the imaging stop signal from the POS terminal 10, the imaging unit 220 stops imaging, and the acquiring means 2001 stops acquiring the captured image.
[0110] The decoding means 2002 detects a product barcode included in the product image, which is the captured image acquired by the acquisition means 2001, and extracts the product barcode from the product image. The decoding means 2002 decodes the extracted product barcode. The decoding means 2002 acquires the product code held by the product barcode as a decoding result of the decoding of the product barcode.
[0111] The transmitting / receiving means 2003 transmits the product image acquired by the acquiring means 2001 to the image recognition device 30. The image recognition device 30 performs image recognition on the received product image and transmits the image recognition result (product code of the product shown in the product image) to the scanner 20. The transmitting / receiving means 2003 receives the image recognition result transmitted by the image recognition device 30. In addition, the transmitting / receiving means 2003 transmits the decoded result by the decoding means 2002 (product code held by the product barcode) to the image recognition device 30.
[0112] The merging means 2004 merges the decoded result (the product code held by the product barcode) and the recognition result (the product code of the product shown in the product image). That is, the merging means 2004 acquires one product code from the decoded result and the image recognition result. The merged result includes the product code held by the product barcode included in the product image or the product code of the product shown in the product image.
[0113] If no decoded result is obtained, the merging means 2004 uses the product code of the image recognition result as the merged result. Situations in which no decoded result is obtained include when the consumer does not properly hold the product barcode over the imaging unit 220 of the scanner 20, or when the product barcode is unnaturally bent or folded.
[0114] If both the decoded result and the image recognition result are obtained and match, the merging means 2004 naturally takes the matching product code as the merged result. Also, if both the decoded result and the image recognition result are obtained but do not match, the merging means 2004 takes the product code of the more reliable decoded result as the merged result.
[0115] The transmitting means 2005 transmits the product code resulting from the merging by the merging means 2004 to the POS terminal 10 via the connection interface 221 .
[0116] (Functional configuration of image recognition device) Next, the functional configuration of the image recognition device 30 will be described with reference to Fig. 13. Fig. 13 is a block diagram showing the functional configuration of the control unit 300 of the image recognition device 30.
[0117] The control unit 300 has a receiving means (acquiring means) 3001, an image recognition means 3002, a determination means 3003, an update means 3004, a transmission means 3005, and a control means 3006. The control unit 300 functions as the receiving means 3001, the image recognition means 3002, the determination means 3003, the update means 3004, the transmission means 3005, and the control means 3006 by the CPU 301 operating in accordance with a control program stored in the ROM 302 or the storage unit 310. Each of these functions may be configured by hardware such as a dedicated circuit.
[0118] The receiving means 3001 receives the product image, which is the captured image from the scanner 20, via the LAN interface 321. In detail, the receiving means 3001 acquires captured images (e.g., 30 frames of images per one holding action) obtained by the user holding the product over the imaging unit 220. The receiving means 3001 stores the received captured image, which is the product image, in the RAM 303.
[0119] The image recognition means 3002 performs image recognition on the product image by an image recognition function using the trained model 312. That is, the image recognition means 3002 recognizes the product shown in the captured image acquired by the receiving means 3001. In detail, the image recognition means 3002 acquires a feature amount included in the product image, compares the acquired feature amount with the matching dictionary 313, and acquires a product code associated with the feature amount that is closest to the acquired feature amount. The image recognition means 3002 stores the acquired product code in the RAM 303.
[0120] The transmission means 3005 transmits the product code, which is the image recognition result by the image recognition means 3002 , to the transmission / reception means 2003 of the scanner 20 via the LAN interface 321 .
[0121] The determination means 3003 determines whether the image recognition by the image recognition means 3002 has been successful. For example, if the difference between the acquired feature amount and the feature amount closest to the acquired feature amount is less than a predetermined amount, the determination means 3003 determines that the image recognition has been successful, and conversely, if the difference is equal to or greater than the predetermined amount, the determination means 3003 determines that the image recognition has failed. In addition, if the determination means 3003 determines that the image recognition has failed, it determines that the product image that has been subjected to image recognition is a product image to be used for additional learning.
[0122] Furthermore, the receiving means 3001 receives the product code, which is the decoded result, from the scanner 20 via the LAN interface 321. The receiving means 3001 stores the received product code in the RAM 303.
[0123] When the determination means 3003 determines that the product image that has been subjected to image recognition is a product image to be used for additional learning, the transmission means 3005 transmits the product image and its product code to the server 40 via the LAN interface 321.
[0124] The control means 3006 has a function for controlling product registration and dictionary creation, and has the following various functions.
[0125] For example, the control means 3006 has a function of updating the currently stored matching dictionary 313 using only captured images that do not show hands, among the individual captured images in which products have been recognized by the image recognition means 3002. With this function, product registration and dictionary update are not performed using captured images that show hands, and product registration and dictionary update are automatically performed based only on captured images that do not show hands without the user or operator performing any special operation, so that appropriate product registration can be performed without hassle, and a dictionary for high-quality image recognition (package recognition) can be created.
[0126] Furthermore, the control means 3006 has a function of assigning identification information to each action of the user holding up one product as one unit, and storing captured images of the product that do not show the hand for each identification number of the action. This function makes it possible to prevent captured images that show the hand from being used for updating the dictionary every time a product is held up, thereby reliably improving the quality of the dictionary.
[0127] The control means 3006 also has a function of storing captured images of products that do not show hands after adding correct labels obtained from the decoded product barcodes. This function makes it possible to easily create information in which correct labels are added to captured images of products that do not show hands, and to create a dictionary that clearly shows the relationship between captured images of products that do not show hands and correct labels.
[0128] The control means 3006 also has a function of storing, for each captured image, image management information in which the identification information of the image, the image data, the identification information of the operation, the decoded result of the product barcode, and the image recognition result (package recognition result) of the image are associated with each other in the memory. Fig. 9 is a diagram showing an example of image management information indicating the relationship between various pieces of information for each captured image. 9, for example, image management information 314 in which "image number" (1, 2, ..., 99, 100, etc.), "image data" (image A, image B, ..., image Y, image Z, etc.), "action ID" (0, 0, ..., 15, 15), "decoding result" (None, 0123456789012, ..., None, 999999999999, etc.), and "package recognition result" (0123456789012, 0123456789012, ..., None, None, etc.) are associated with each captured image may be created and stored in the storage unit 310. In this way, the relationship between various pieces of information associated with each captured image can be clarified.
[0129] Furthermore, the control means 3006 creates correct label information indicating a correct label for each action identification number for managing the correct labels, and stores the information in memory. FIG. 10 is a diagram showing an example of correct label information indicating the relationship between action identification numbers and correct labels. As shown in FIG. 10, for example, correct label information 315 is created in which "correct labels" (0123456789012, none, ..., 9999999999999) corresponding to "action IDs" (0,0, ..., 15,15) respectively are shown. In this way, information in which the relationship between action identification numbers and correct labels is clear can be created.
[0130] In addition, the control means 3006 has a function of comparing an image of a certain frame with an image of a frame captured one frame before, and judging whether an object has gone out of the angle of view, or whether an object has entered the angle of view from a state where nothing was captured in the angle of view, thereby judging whether both images correspond to the same holding action. This function makes it possible to accurately distinguish whether the images of each claim correspond to the same holding action or different holding actions, thereby further improving the quality of the dictionary.
[0131] The server 40 performs additional learning of the trained model 412 for product image recognition using the received product image and product code, and updates the trained model 412 and the matching dictionary 413. The server 40 transmits the updated trained model 412 and the updated matching dictionary 413 to the receiving means 3001 of the image recognition device 30 via the LAN interface 321.
[0132] The receiving means 3001 receives the updated trained model 412 and the updated matching dictionary 413 from the server 40 via the LAN interface 321. The receiving means 3001 stores the received updated trained model 412 and updated matching dictionary 413 in the RAM 303.
[0133] The update means 3004 updates the trained model 312 currently held in the storage unit 310 with the received updated trained model 412. In addition, the image recognition device 30 updates the matching dictionary 313 currently held in the storage unit 310 with the received updated matching dictionary 413.
[0134] (Server Functionality Configuration) Next, the functional configuration of the server 40 will be described with reference to Fig. 14. Fig. 14 is a block diagram showing the functional configuration of the control unit 400 of the server 40.
[0135] The control unit 400 has a receiving means 4001, an additional learning means 4002, a master management means 4003, and a transmitting means 4004. The control unit 400 functions as the receiving means 4001, the additional learning means 4002, the master management means 4003, and the transmitting means 4004 by the CPU 401 operating in accordance with a control program stored in the ROM 402 or the storage unit 410. Each of these functions may be configured by hardware such as a dedicated circuit.
[0136] The receiving means 4001 receives a product image for additional learning to be used for additional learning and a product code of the product image for additional learning from the image recognition device 30 via the communication unit 421. The receiving means 4001 stores the received product image and product code in the RAM 403. The receiving means 4001 may store and accumulate the received product image in the RAM 403 or the storage unit 410 as a product image for analyzing a state (event) of image recognition in the image recognition device 30, for example.
[0137] The additional learning means 4002 performs additional learning on the trained model 412 held in the storage unit 410 at an appropriate timing, for example, when a certain amount of product images and product codes for additional learning have been accumulated, and updates the trained model 412. In addition, the additional learning means 4002 updates the matching dictionary 413 held in the storage unit 410 in accordance with the additional learning of the trained model 412.
[0138] The transmitting means 4004 transmits the updated trained model 412 and the matching dictionary 413 updated by the additional learning means 4002 to the receiving means 3001 of the image recognition device 30 via the communication unit 421, for example as an image file or a compressed file.
[0139] The receiving means 4001 also receives transaction processing information from the POS terminal 10 via the communication unit 421. The receiving means 4001 stores the received transaction processing information in RAM 403.
[0140] The master data management means 4003 manages the product master data 414 held in the storage unit 410 based on the received transaction processing information. For example, the product master data 414 includes a store code that identifies the store, the product master data 112 for each store code, and information such as whether or not a product with a product code for each store code is available and the remaining quantity, and the master data management means 4003 updates the product master data 414, for example, information such as the remaining quantity of a product with a product code, based on the received transaction processing information.
[0141] The transmission means 4004 transmits the product master 112 suitable for each store to the POS terminal 10 of the store via the communication unit 421 based on the product master 414 updated by the master management means 4003.
[0142] (Scanner operation) Next, the operation of the scanner 20 will be described with reference to Fig. 15. Fig. 15 is a flowchart showing the flow of the operation of the scanner 20 according to the embodiment. The operation of the scanner 20 is performed by each unit of the scanner 20 under the control of the control unit 200 which executes the control program 211.
[0143] In ACT11, the scanner 20 acquires a product image, which is one captured image, from a moving image captured by the imaging unit 220. For example, the scanner 20 first stores in the RAM 203 all or some of the multiple frame images captured sequentially by the imaging unit 220 as candidates for the product image. Next, the scanner 20 selects one frame image from the multiple frame images stored in the RAM 203, and sets the selected frame image as the product image. The scanner 20 also assigns an identification code to the product image for identifying the product image. In the following, for convenience, the product image is assumed to include the identification code.
[0144] In ACT12, the scanner 20 transmits the product image to the image recognition device 30 via the LAN, for example, by TCP communication.
[0145] In ACT13, the scanner 20 detects a product barcode from the product image. In other words, the scanner 20 determines whether or not a product barcode is captured in the product image.
[0146] If the product barcode is detected in ACT 13 (YES in ACT 13), the scanner 20 extracts and decodes the detected product barcode in ACT 14, and obtains the product code held by the product barcode as the decoding result. The scanner 20 stores the obtained product code in the RAM 203.
[0147] Next, in ACT15, the scanner 20 transmits the product code of the decoded result (the product code held by the product barcode) to the image recognition device 30. Since the operations of ACT14 and ACT15 are performed when the product barcode is detected in ACT13, the scanner 20 may not transmit the product code of the decoded result in ACT15.
[0148] In ACT16, the scanner 20 checks whether it has received the image recognition result of the product image (the product code of the product shown in the product image) from the image recognition device 30. If it has received the image recognition result (Yes in ACT16), the scanner 20 stores the received image recognition result in the RAM 203. The scanner 20 may identify the product image corresponding to the image recognition result based on the identification code received together with the image recognition result. Then, it proceeds to the merging operation in ACT17.
[0149] If the product barcode cannot be detected in ACT13 (No in ACT13), the operations in ACT14 and ACT15 are skipped and the process moves to the operation of confirming receipt of the image recognition result in ACT16.
[0150] If the image recognition result has not been received in ACT16 (No in ACT16), the scanner 20 repeats the operations in ACT11 and ACT13 to ACT15. At this time, the image recognition device 30 does not require a new product image, so the product image transmission in ACT12 is omitted. That is, until the image recognition result is received from the image recognition device 30, the scanner 20 continues a series of regular operations such as obtaining a product image in ACT11, detecting a product barcode in ACT13, decoding in ACT14, and transmitting the product code of the decoded result in ACT15.
[0151] In ACT17, the scanner 20 merges the decoded result (the product code held by the product barcode) and the image recognition result (the product code of the product shown in the product image). That is, the scanner 20 obtains one product code that is considered to be the most correct from the decoded result and the image recognition result.
[0152] If no decoded result is obtained, the product code from the image recognition result is treated as the merged result. Situations in which no decoded result is obtained include when the consumer does not hold the product barcode over the image capturing unit 220 of the scanner 20 correctly, or when the product barcode is unnaturally bent or folded.
[0153] When both the decoded result and the image recognition result are obtained, the scanner 20 compares the decoded result with the image recognition result. If the comparison shows that the decoded result and the image recognition result match, the scanner 20 merges the product code of the matching decoded result and image recognition result. If the comparison shows that the decoded result and the image recognition result do not match, the scanner 20 merges the product code of the more reliable decoded result.
[0154] In ACT 18, the scanner 20 transmits the merged product code (the product code that is considered to be the most correct) to the POS terminal 10.
[0155] (Image recognition device operation) Next, the operation of the image recognition device 30 will be described with reference to Fig. 16. Fig. 16 is a flowchart showing the flow of the operation of the image recognition device 30 according to the embodiment. The operation of the image recognition device 30 is performed by each unit of the image recognition device 30 under the control of the control unit 300 which executes a control program 311.
[0156] The image recognition device 30 reads a comparison dictionary 313 used for image recognition (package recognition) in ACT 21. The comparison dictionary 313 stores feature amounts corresponding to product package designs.
[0157] The image recognition device 30 starts the product registration process in ACT 22, and acquires an image captured by the imaging unit 220 mounted on the scanner 20 in ACT 23.
[0158] The image recognition device 30 assigns an action ID to the acquired image in ACT 24. Although details will be described later, the same action ID is assigned to each frame image while the user is performing a scan operation on the same product.
[0159] Next, the image recognition device 30 acquires the barcode decoded result from the scanner 20 in ACT 25, and acquires a captured image (product image) from the scanner 20 in ACT 26, and recognizes the acquired captured image (package recognition).
[0160] The barcode decoded result is obtained by detecting an area such as a one-dimensional or two-dimensional barcode and then performing a decoding process. In package recognition, for example, a product area is detected and then the detected area is recognized. The detection of the product area can be performed by any method, such as deep learning using a convolutional neural network (CNN) or graph cuts, which are methods suitable for image recognition. In addition, the package recognition can be performed by any method, such as deep learning using a CNN or feature point matching. The structure of the dictionary loaded in ACT1 changes depending on the recognition method, but there is no particular restriction on the structure as long as the structure can identify the product from the image on the product package, and the structure may be divided into multiple files, for example. In addition, each of ACT24 to ACT26 may be processed in parallel.
[0161] Next, in ACT 27, the image recognition device 30 stores the barcode decoding result and the package recognition result in the storage unit 310. The image recognition device 30 transmits information indicating the package recognition result to the scanner 20 side.
[0162] The information stored in memory unit 310 is stored in memory unit 310 as image management information 314 that associates, for each captured image, an “image number,” “image data,” “action ID,” “decoding result,” and “package recognition result,” as described in FIG. 9, for example.
[0163] Next, in ACT 28, the image recognition device 30 acquires the previous action ID (one frame before), and in ACT 29, determines whether the action ID is different from the previous action ID.
[0164] If the action ID is different from the previous time (Yes in ACT 29), the image recognition device 30 stores the corresponding image in the RAM 303 in ACT 30. If the ID is the same (No in ACT 29), the image is not stored.
[0165] The following operations include operations on the scanner 20 side or the POS terminal 10 side, but because they are closely related to operations on the image recognition device 30 side, the following explanation will also include operations other than those of the image recognition device 30. The following explanation will be given as operations of the product information registration system RS.
[0166] The product information registration system RS judges whether or not the product has been identified in ACT 31. If the product has not been identified (No in ACT 31), the system proceeds to ACT 34. If the product has been identified (Yes in ACT 31), the system proceeds to ACT 32.
[0167] Next, in ACT32, the product information registration system RS determines whether or not the product corresponding to the same operation (i.e., one scan) has been registered. If the product has been registered (Yes in ACT32), the system proceeds to ACT34 without registering the product. If the product has not been registered (No in ACT32), the system proceeds to ACT33.
[0168] Next, in ACT33, the product information registration system RS registers the product on the scanner 20 side and updates the dictionary on the image recognition device 30 side.
[0169] Next, the product information registration system RS judges whether to continue or end the process in ACT34. If the process is to be continued (No in ACT34), the process from ACT23 is repeated. If the process is to be ended (Yes in ACT34), the process proceeds to ACT35.
[0170] Finally, in ACT35, the product information registration system RS transmits the dictionary update result on the image recognition device 30 side to the server 40.
[0171] This completes the series of processes.
[0172] Next, a specific example of the process of "assigning action ID" in ACT24 in Fig. 16 will be described with reference to Fig. 17. Fig. 17 is a flow chart showing a specific example of the process of "assigning action ID" in ACT24 in Fig. 16. Here, the initial value of the action ID will be described as 0.
[0173] The image recognition device 30 detects the same action in ACT 41. Specifically, the image of a certain frame is compared with the image of the frame captured one frame before, and it is determined whether or not an object has moved out of the angle of view, or whether or not an object has entered the angle of view from a state where nothing was captured in the angle of view, thereby determining whether or not both images correspond to the same motion of holding something over.
[0174] Whether an object has entered or left the field of view can be determined by, for example, taking an image difference and checking whether there is a point where the difference changes significantly. Alternatively, a distance sensor or the like may be used to determine that an object is performing the same motion while it is within a certain range from the scanner.
[0175] If it does not correspond to the same holding-up action (No in ACT42), the action ID is updated in ACT43 and the process proceeds to ACT44. If it corresponds to the same holding-up action (Yes in ACT42), the action ID is not updated and the process proceeds to ACT44.
[0176] In ACT44, the image recognition device 30 assigns an action ID to the corresponding image, and ends the series of processes.
[0177] Next, a specific example of the "image storage" process in ACT30 in Fig. 16 will be described with reference to Fig. 18. Fig. 18 is a flow chart showing a specific example of the "image storage" process in ACT30 in Fig. 16.
[0178] The image recognition device 30 assigns a correct label to the corresponding image in ACT 51. The details of the assignment of the correct label will be described later.
[0179] Next, the image recognition device 30 acquires the action ID of the latest result among the individual stored results (decoding result, package recognition result) in ACT 52. The latest result is determined from the result closest to the time when the process was performed, or the most recently stored result is referenced.
[0180] Next, in ACT53, the image recognition device 30 acquires a result having the same action ID as the action ID acquired in ACT52 from the stored individual results.
[0181] Next, in ACT54, the image recognition device 30 judges whether there is a result with the same action ID. If there is no result with the same action ID (No in ACT54), the series of processes ends. If there is a result with the same action ID (Yes in ACT54), the process proceeds to ACT55.
[0182] Next, in ACT55, the image recognition device 30 judges whether or not there is a result with the same action ID and whether or not there is a correct label. If there is no correct label (No in ACT55), the series of processes ends. If there is a correct label (Yes in ACT55), proceed to ACT56.
[0183] Next, the image recognition device 30 performs hand determination in ACT 56. Specifically, for example, a CNN or the like is used to determine whether or not a hand is reflected in the object area of the image. In addition, a semantic segmentation technique that detects objects at the pixel level may be used to determine that an image that occupies a large proportion of the hand area is a hand.
[0184] If the hand is visible (YES in ACT57), the process returns to ACT53 and repeats the process until there are no more results with the same action ID. If the hand is not visible (NO in ACT57), the process proceeds to ACT58.
[0185] Finally, in ACT 58, the image recognition device 30 saves the image if the hand is not captured. When saving the image, the image is saved together with the acquired correct label information, so that the image can be used for dictionary creation without any teaching work.
[0186] Next, a specific example of the process of "adding a correct label" in ACT51 in Fig. 18 will be described with reference to Fig. 19. Fig. 19 is a flow chart showing a specific example of the process of "adding a correct label" in ACT51 in Fig. 18.
[0187] In ACT61, the image recognition device 30 acquires the result stored in ACT27.
[0188] Next, in ACT62, the image recognition device 30 acquires the latest barcode decode result from among the acquired results.
[0189] Next, in ACT63, the image recognition device 30 judges whether or not there is a barcode decoded result. If there is no barcode decoded result (No in ACT63), the image recognition device 30 assigns information indicating "no correct answer" to the action ID in ACT64, and ends the series of processes. If there is a barcode decoded result (Yes in ACT63), the image recognition device 30 acquires the action ID of the image that has been decoded in ACT65 (S30), and assigns a correct answer label corresponding to the acquired action ID as the decoded result in ACT66 (S31), as described in FIG. 10, for example, and ends the series of processes.
[0190] (Summary of the embodiment) According to the embodiment, the control means 3006 can update the currently stored matching dictionary 313 by using only captured images not showing hands among the individual captured images in which products have been recognized by the image recognition means 3002. As a result, product registration and dictionary update are not performed using captured images showing hands, and product registration and dictionary update are automatically performed based only on captured images not showing hands without the user or operator performing any special operation, so that appropriate product registration can be performed without hassle and a high-quality dictionary for image recognition (package recognition) can be created.
[0191] Furthermore, according to the embodiment, the control unit 3006 can assign identification information to each action of the user holding up one product as one unit, and can store captured images of the product that do not show the hand for each identification number of the action. This can prevent captured images that show the hand from being used to update the dictionary every time the action of holding up a product is performed, thereby reliably improving the quality of the dictionary.
[0192] Furthermore, according to the embodiment, the control unit 3006 can store captured images of products that do not show hands after adding correct labels obtained from the decoded results of the product barcodes. This makes it possible to easily create information in which correct labels are added to captured images of products that do not show hands, and to create a dictionary that clearly shows the relationship between captured images of products that do not show hands and correct labels.
[0193] According to the embodiment, the control unit 3006 can store in the memory image management information that associates, for each captured image, the identification information of the image, the image data, the identification information of the action, the decoded result of the product barcode, and the image recognition result (package recognition result) of the image. This makes it possible to clarify the relationship between various pieces of information related to each captured image.
[0194] According to the embodiment, the control unit 3006 can create correct label information indicating a correct label for each action identification number and store it in the memory for managing the correct label. This makes it possible to create information that clearly shows the relationship between the action identification number and the correct label.
[0195] In addition, the control means 3006 can compare an image of a certain frame with an image of a frame captured one frame before, and determine whether an object has gone out of the angle of view, or whether an object has entered the angle of view from a state where nothing was captured in the angle of view, thereby determining whether both images correspond to the same shading action. This makes it possible to accurately distinguish whether the images of each claim correspond to the same shading action or different shading actions, thereby further improving the quality of the dictionary.
[0196] (others) In the above embodiment, the control programs executed by the POS terminal 10, the scanner 20, the image recognition device 30, and the server 40 may be configured to be provided by recording them on a computer-readable recording medium such as a CD-ROM. Also, the control programs executed by the POS terminal 10, the scanner 20, the image recognition device 30, and the server 40 in the above embodiment may be configured to be stored on a computer connected to a network such as the Internet and provided by downloading them via the network, or may be configured to be provided via a network such as the Internet.
[0197] Although the embodiment of the present invention has been described above, this embodiment is presented as an example and is not intended to limit the scope of the invention. This embodiment can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. This embodiment and its modifications are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0198] 1... Self-service POS system, 10... POS terminal, 100... Control unit, 1001... Input means, 1002... Registration means, 1003... Accounting means, 1004... Output means, 101... CPU, 102... ROM, 103... RAM, 1031... Product information unit, 110... Storage unit, 111... Control program, 112... Product master, 120... Audio output unit, 121... Connection interface, 122... LAN interface, 123... Bus, 50... Main unit, 51... Display, 52... Touch panel, 53... Printer, 531... Issuance port, 54... Card card reader, 541...card insertion port, 55...change machine, 551...coin insertion port, 552...coin discharge port, 553...coin tray, 554...banknote insertion port, 555...banknote discharge port, 57...pole, 571...light emitting unit, 70...first basket placement table, 71...first weighing unit, 80...second basket placement table, 81...second weighing unit, 82...support rod, 83...temporary placement table, 20...scanner, 200...control unit, 2001...acquisition means, 2002...decoding means, 2003...transmission and reception means, 2004...merging means, 2005...transmission means, 201...CPU, 202...ROM, 20 3...RAM, 210...storage unit, 211...control program, 212...processing result, 220...imaging unit, 221...connection interface, 222...LAN interface, 223...bus, 230...reading window, 30...image recognition device, 300...control unit, 3001...receiving means (acquisition means), 3002...image recognition means, 3003...determination means, 3004...update means, 3005...transmission means, 3006...control means, 301...CPU, 302...ROM, 303...RAM, 310...storage unit, 311...control program, 312...trained model, 31 3... dictionary for matching, 314... image management information, 315... correct label information, 321... LAN interface, 322... bus, 40... server, 400... control unit, 4001... receiving means, 4002... additional learning means, 4003... master management means, 4004... transmitting means, 401... CPU, 402... ROM, 403... RAM, 410... memory unit, 411... control program, 412... trained model, 413... dictionary for matching, 414... product master, 421... communication unit, 422... bus, LH... LAN hub, NW... network, WR... wireless router.
Claims
1. An acquisition means for acquiring a captured image obtained by a user holding a product over an imaging unit; A recognition means for recognizing a commodity shown in the captured image acquired by the acquisition means; a control means for updating a predetermined dictionary using only captured images in which a hand is not shown among the captured images in which the product is recognized by the recognition means; An information processing device comprising:
2. The control means The action of the user holding up one product is regarded as one unit, and identification information is assigned to the action; The information processing device according to claim 1 , further comprising: storing a captured image of a commodity in which a hand is not shown for each of the identification numbers of the motions.
3. The control means The information processing device according to claim 2 , wherein the captured image of the product in which the hand is not shown is stored after being assigned a correct answer label obtained from a decoded result of the product barcode.
4. The control means The information processing device according to claim 2 , further comprising: creating information for each captured image that associates identification information of the image, data of the image, identification information of the action, a decoded result of a product barcode, and an image recognition result of the image, and storing the information in a memory.
5. The control means An information processing device as described in any one of claims 1 to 4, which compares an image of a certain frame with an image of a frame captured one frame earlier, and determines whether an object has moved out of the field of view, or whether an object has entered the field of view from a state in which nothing was captured within the field of view, thereby determining whether both images correspond to the same holding action.
6. Computer, An acquisition means for acquiring a captured image obtained by a user holding the product over the imaging unit; A recognition means for recognizing a commodity shown in the captured image acquired by the acquisition means; a control means for updating a predetermined dictionary using only captured images in which a hand is not shown among the captured images in which the product is recognized by the recognition means; A program to function as a
Citation Information
Patent Citations
Article-of-commerce recognition device and article-of-commerce recognition program
JP2015099549A
Merchandise registration device, merchandise registration method, and merchandise image providing system
JP2016115298A
Image data registration system and image data registration method
JP2021103442A
Commodity registration device
JP2017123152A