Information processing device and program
The information processing device automates barcode scanning and optimizes device management in POS systems by using image recognition and server-based model updates, improving efficiency and reducing operator effort while managing high processing loads.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- TOSHIBA TEC KK
- Filing Date
- 2023-09-26
- Publication Date
- 2026-06-18
Smart Images

Figure 0007875840000001 
Figure 0007875840000002 
Figure 0007875840000003
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to an information processing apparatus and a program.
Background Art
[0002] In stores that sell goods and services (hereinafter also collectively referred to as "goods"), a POS (Point Of Sales) system is used. This type of POS system includes a scanner that reads a product code from a barcode attached to a product (hereinafter also referred to as a "product barcode"). Product barcodes include one-dimensional codes and two-dimensional codes. In one example, the product barcode is printed on a sticker and affixed to the product. In another example, the product barcode is printed on a package that houses the product. The POS system registers information on the product that the customer intends to purchase based on the product code read by the scanner.
[0003] An operator who operates the POS system has to search for the product barcode from the product and hold it in front of the scanner, so the operation of reading the product code is troublesome. As a result, the work of registering product information (hereinafter also referred to as "product registration") by the operator requires a lot of effort. In particular, in a so-called self-POS system, since a customer who is not used to product registration has to scan the product barcode, it is desirable to improve the operability of reading the product code, in other words, the operability of the operator for identifying the product.
[0004] And in such a POS system, it is conceivable to connect and communicate a plurality of devices constituting the system via a LAN (Local Area Network). Among the plurality of devices connected via the LAN, for a device that tends to have a large processing load and high power consumption during the processing performed by the device, it is desirable to appropriately control it to reduce the load.
Prior Art Documents
Patent Documents
[0005] [Patent Document 1] Japanese Patent Publication No. 2019-21168 [Patent Document 2] Japanese Patent Publication No. 2018-181251 [Overview of the project] [Problems that the invention aims to solve]
[0006] The problem that this invention aims to solve is to provide an information processing device and program that can appropriately control the operation of a device with a high processing load among multiple devices that constitute a system. [Means for solving the problem]
[0007] The information processing device of this embodiment is an information processing device having a communication function with an external device equipped with image recognition means for recognizing images, and comprises image acquisition means, transmission means, detection means, and stopping means. The image acquisition means acquires the captured image captured by the imaging unit. The transmission means transmits the captured image acquired by the image acquisition means to the external device. The detection means detects when there is no user activity. The stopping means stops the image recognition performed by the image recognition means of the external device when the detection means detects that there is no user activity. [Brief explanation of the drawing]
[0008] [Figure 1] Figure 1 shows the overall configuration of the product information management system according to the embodiment. [Figure 2] Figure 2 is a perspective view showing the external appearance of the self-service POS system according to the embodiment. [Figure 3] Figure 3 is a block diagram showing the hardware configuration of the POS terminal in the embodiment. [Figure 4] Figure 4 is a block diagram showing the hardware configuration of the scanner in the embodiment. [Figure 5] Figure 5 is a block diagram showing the hardware configuration of the image recognition device according to the embodiment. [Figure 6] Figure 6 is a block diagram showing the hardware configuration of the server in the embodiment. [Figure 7] Figure 7 shows the data structure of the product master stored in the memory unit of the POS terminal of this embodiment. [Figure 8] Figure 8 shows the data structure of the matching dictionary stored in the memory unit of the image recognition device according to the embodiment. [Figure 9] Figure 9 is a block diagram showing the functional configuration of the control unit of the POS terminal according to the embodiment. [Figure 10] Figure 10 is a block diagram showing the functional configuration of the control unit of the scanner according to the embodiment. [Figure 11] Figure 11 is a block diagram showing the functional configuration of the control unit of the image recognition device according to the embodiment. [Figure 12] Figure 12 is a block diagram showing the functional configuration of the control unit of the server according to the embodiment. [Figure 13] Figure 13 is a flowchart showing the operation flow of the POS terminal and scanner in the embodiment. [Figure 14] Figure 14 is a flowchart showing the operation flow of the scanner and image recognition device in the embodiment. [Figure 15] Figure 15 is a flowchart showing the operation flow of the scanner and image recognition device in the embodiment. [Modes for carrying out the invention]
[0009] The following describes embodiments of the information processing device and program with reference to the drawings. However, the present invention is not limited to the embodiments described below.
[0010] (Product Information Management System) First, the product information management system MS of the embodiment will be described with reference to Figure 1. Figure 1 is a diagram showing the overall configuration of the product information management system MS of the embodiment. The product information management system MS includes a product information registration system RS and a server 40.
[0011] The product information registration system RS includes a POS terminal 10, a scanner 20 (information processing device), and an image recognition device 30 (external device). The POS terminal 10 (other external device) and the scanner 20 (information processing device) are communicably connected via a LAN (Local Area Network) or a USB (Universal Serial Bus). The scanner 20 (information processing device) and the image recognition device 30 (external device) are communicably connected via a LAN.
[0012] In the embodiment, Ethernet (registered trademark) and TCP (Transmission Control Protocol) are used together for LAN communication, but the communication protocol is not limited.
[0013] The POS terminal 10 and the image recognition device 30 are communicably connected to a LAN hub LH via a LAN. The LAN hub LH is communicably 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.
[0014] The scanner 20 captures an image of a product to obtain a product image which is the captured image. The scanner 20 transmits the obtained product image to the image recognition device 30 via a LAN. Also, the scanner 20 detects and decodes a product barcode (1D barcode and 2D barcode) included in the obtained product image. That is, the scanner 20 reads the information held by the product barcode. The decoding result of the product barcode includes a product code held by the product barcode. The scanner 20 transmits the decoding result to the image recognition device 30 via a LAN.
[0015] The image recognition device 30 receives product images, which are captured images from the scanner 20, via the LAN. The image recognition device 30 has an image recognition function, for example, using a pre-trained model created by machine learning, and performs image recognition on the product images using this function. Specifically, the image recognition device 30 acquires features contained in the product images using its image recognition function, compares the acquired features with a matching dictionary that associates multiple features with product codes, and obtains the product code associated with the feature that is closest to the acquired feature. In other words, the image recognition result includes the product code of the product shown in the product image. The image recognition device 30 may also perform image recognition on the product images using methods such as deep learning. The image recognition device 30 transmits the image recognition result to the scanner 20 via the LAN.
[0016] The scanner 20 receives the image recognition results from the image recognition device 30 via LAN. The scanner 20 merges the decoded results and the image recognition results. Here, merging means obtaining a single product code from the decoded results and the image recognition results. 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 LAN or USB. The POS terminal 10 registers the product based on the product code of the merged result received from the scanner 20.
[0017] Furthermore, the image recognition device 30 determines whether to use the product images received from the scanner 20 for additional training. For example, if the difference between the acquired feature and the feature closest to the acquired feature is greater than or equal to a predetermined amount, the image recognition device 30 determines that the product images received from the scanner 20 are product images to be used for additional training. The image recognition device 30 sends the product images determined to be used for additional training, along with the product codes of the decoded results received from the scanner 20, to the server 40 via LAN.
[0018] Server 40 receives product images and product codes from the image recognition device 30 via LAN. Server 40 stores the received product images and product codes in association with each other. Server 40 uses the stored product images and product codes to perform additional training on the pre-trained model for product image recognition. Server 40 updates the pre-trained model through this additional training. In addition, Server 40 updates the matching dictionary in conjunction with the additional training. Updating the matching dictionary includes modifying existing records and adding new records. Server 40 transmits the updated pre-trained model and the updated matching dictionary to the image recognition device 30 via LAN.
[0019] The image recognition device 30 receives the updated trained model and the updated matching dictionary from the server 40 via LAN. The image recognition device 30 updates its currently held trained model with the received updated trained model. The image recognition device 30 also updates its currently held matching dictionary with the received updated matching dictionary.
[0020] In this product information management system (MS), when a product's packaging changes, the effort required to re-collect product images for additional training of the pre-trained model used for product image recognition is eliminated.
[0021] Furthermore, server 40 manages the product master. POS terminals 10 transmit accounting information (information related to accounting transactions) to wireless router WR via LAN through LAN hub LH. Wireless router WR transmits the received accounting information to server 40 via network NW. Server 40 manages the product master based on the received accounting information. For example, server 40 receives accounting information from multiple POS terminals 10 and manages a product master for each of the multiple POS terminals 10. Product master management includes modifying existing records and adding new records. Server 40 also transmits a product master appropriate for each POS terminal 10 to that terminal 10 via network NW, wireless router WR, and LAN hub LH.
[0022] The image recognition device 30 may also transmit the product images received from the scanner 20 to the server 40 regardless of whether or not they are to be used for additional training. In this case, the product images stored in the server 40 may be used, for example, to analyze the state (events) of image recognition by the image recognition device 30.
[0023] (Product Information Registration System) The following describes a self-service POS system, operated by the customer purchasing the product, as an example of a product information registration system. However, product information registration systems are not limited to self-service POS systems. A product information registration system may also be a POS system operated by the store staff selling the product.
[0024] Figure 2 is a perspective view showing the external appearance of the self-service POS system 1. The self-service POS system 1 comprises 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 image recognition device 30 are examples of information processing devices.
[0025] The scanner 20 identifies the product the customer is purchasing 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 a product. The POS terminal 10 registers the product based on the product code entered from the scanner 20 and also performs accounting processing related to the registered product. Accounting processing is the process that the POS terminal 10 performs in order for the customer to pay for the purchased product.
[0026] As shown in Figure 2, the POS terminal 10 comprises a main unit 50, a first basket stand 70, and a second basket stand 80. The main unit 50 has a display 51 and a touch panel 52 on its top, and houses a printer 53, a card reader 54, and a change dispenser 55 (see Figure 3 for each) inside.
[0027] Display 51 is a display device such as an LCD (Liquid Crystal Display) that displays various information. For example, display 51 displays product information such as the product name and price of products registered by the customer during the customer registration operation. Display 51 also displays accounting information such as the total transaction amount and change amount in conjunction with the customer's accounting operation.
[0028] The touch panel 52 is located on the surface of the display 51 and inputs information corresponding to the touch location to the control unit 100 (see Figure 3) of the POS terminal 10. Customers or administrators (both operators who are users) using the POS terminal 10 can operate the touch panel 52 by touching various buttons and operation keys displayed on the display 51.
[0029] As shown in Figure 2, below the display 51, facing the direction of the customer, are the reading window 230 for the scanner 20, the receipt printing slot 531 for the printer 53, and the card insertion slot 541 for the card reader 54.
[0030] The reading window 230 is a window through which the scanner 20 captures an image of the product's appearance. Inside the reading window 230, there is a lighting unit 224, such as an LED, to illuminate the direction in which the scanner 20 is capturing an image through the reading window 230. The customer, who is the operator of the self-service POS system 1, performs the product registration operation by holding the product they wish to purchase over the reading window 230. The customer holds the product over the reading window 230, changing its orientation relative to the window, until the self-service POS system 1 completes the product registration and a registration completion sound is emitted.
[0031] The issuing slot 531 is an opening for ejecting receipts printed by the printer 53. The receipts have information (accounting information) related to the transactions processed by the POS terminal 10 printed on them. The POS terminal 10 may also be configured to issue electronic receipts instead of paper receipts printed by the printer 53.
[0032] The card slot 541 is an opening for inserting credit cards or other cards to be read by the card reader 54. When a customer makes a payment with a credit card, or when a customer has a store membership card or similar card read, a card is inserted through the card slot 541.
[0033] Furthermore, the main body 50 has a coin slot 551, a coin outlet 552, a coin tray 553, a banknote slot 554, and a banknote outlet 555, which correspond to the position of the change machine 55 housed inside.
[0034] The coin slot 551 is an opening into which customers insert coins to pay. Coins inserted into the coin slot 551 are stored in the change machine 55. The coin outlet 552 is an opening that discharges coins dispensed from the change machine 55. The coin outlet 552 discharges change or coins that were 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 into which customers insert banknotes to pay. Banknotes inserted into the banknote slot 554 are stored in the change machine 55. The banknote outlet 555 is an opening that discharges banknotes, which are the change dispensed from the change machine 55.
[0035] The first basket rest 70 is a rest on which a shopping basket (not shown) containing the goods that a customer intends to purchase is placed. The first basket rest 70 is equipped with a first weighing unit 71. The first weighing unit 71 weighs the total weight of the shopping basket placed on the first basket rest 70 and the goods contained in the shopping basket.
[0036] The second basket placement platform 80 is a platform on which a shopping basket (not shown) containing goods that have been removed from a shopping basket placed on the first basket placement platform 70 and whose product code has been read, i.e., registered goods, is placed. The second basket placement platform 80 comprises a second weighing unit 81, a pair of support rods 82, and a temporary placement platform 83.
[0037] The second weighing unit 81 weighs the total weight of a shopping basket placed on the second basket placement platform 80 and the goods 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 goods contained in the shopping bag. The support rods 82 are rods for hooking and supporting a shopping bag that contains registered goods. The support rods 82 make it easier to put goods into the shopping bag by supporting the shopping bag in an open state. The temporary placement platform 83 is a platform for temporarily placing easily damaged or deformable goods among the registered goods, such as tofu and eggs. The customer can then place the goods placed on the temporary placement platform 83 into the shopping basket or shopping bag at the end.
[0038] The customer registers the items by holding the items they have taken out of the shopping basket placed on the first basket stand 70 up to the reading window 230. The customer then places the registered items into a shopping basket placed on the second basket stand 80 or into a shopping bag supported by the support rod 82.
[0039] The first weighing unit 71 measures the weight before and after removing items from a shopping basket placed on the first basket stand 70, allowing the control unit 100 (see Figure 3) to recognize the weight change. The second weighing unit 81 measures the weight before and after placing items in a shopping basket placed on the second basket stand 80 or in a shopping bag supported by a support rod 82, allowing the control unit 100 to recognize the weight change. By determining whether these two weight changes are equal, the control unit 100 can determine whether all the items the customer intends to purchase have been registered.
[0040] Furthermore, the main body 50 is equipped with a cylindrical pole 57 that extends upward. The upper tip of the pole 57 is provided with a light-emitting part 571 that lights up when calling a store employee (also known as the manager of the POS terminal 10).
[0041] (POS terminal hardware configuration) Next, the hardware configuration of the POS terminal 10 will be described with reference to Figure 3. Figure 3 is a block diagram showing the hardware configuration of the POS terminal 10.
[0042] The POS terminal 10 includes a control unit 100, a storage unit 110, a display 51, a touch panel 52, a printer 53, a card reader 54, a change dispenser 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. These components—the control unit 100, the storage unit 110, the display 51, the touch panel 52, the printer 53, the card reader 54, the change dispenser 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.
[0043] The control unit 100 consists of a computer equipped with a CPU (Central Processing Unit) 101, ROM (Read Only Memory) 102, and RAM (Random Access Memory) 103. The CPU 101, ROM 102, and RAM 103 are connected to each other via a bus 123.
[0044] The CPU 101 controls the entire POS terminal 10. The ROM 102 stores various programs and data, such as the program used to drive the CPU 101. The RAM 103 is used as the work area for the CPU 101 and loads the various programs and data stored in the ROM 102 and the memory unit 110. The control unit 100 executes various control processes of the POS terminal 10, for example, by having the CPU 101 operate according to the control program 111 stored in the memory unit 110 and loaded into the RAM 103.
[0045] RAM103 has a product information unit 1031. The product information unit 1031 stores product information read from the product master 112 (described later) based on the product code acquired from the scanner 20. Product registration is performed when product information is stored (registered) in the product information unit 1031. The product information stored in the product information unit 1031 includes the product code, product name, price, etc. The product information unit 1031 stores product information related to one transaction and is cleared when the accounting processing for that transaction is completed.
[0046] The storage unit 110 is composed of a storage medium such as an HDD (Hard Disk Drive) or flash memory, and retains its contents even when the power is cut off. The storage unit 110 stores the control program 111 and the product master 112.
[0047] The control program 111 is a program that implements functions such as sending an imaging start signal to the scanner 20 to enable the operation of the scanner 20 when transaction start information declaring the start of a transaction is entered from the touch panel 52, receiving a product code from the scanner 20, performing product registration based on the received product code, sending an imaging stop signal to the scanner 20 to disable the operation of the scanner 20 when registration completion information indicating that product registration for a product related to a transaction has been completed is entered from the touch panel 52, performing accounting processing for the registered product, and performing settings for various operating modes within the product information registration system RS according to the administrator's operation. The control program 111 may be stored in the ROM 102 instead of being stored in the storage unit 110.
[0048] The product master 112 is a master file that stores product information for the products handled by the store. Since the products handled by the store change daily, the product master 112 is updated as needed by a store server (not shown) connected via the LAN interface 122. Figure 7 shows the data structure of the product master 112. The product master 112 includes product codes, product categories associated with the product codes, product names, and prices.
[0049] The product code is information that identifies a product. The product classification is information that categorizes products sold in stores. 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. Note that product master 112 may also include other information associated with the product code.
[0050] Returning to Figure 3, we will continue the explanation of the hardware configuration of the POS terminal 10. The configuration and functions of the display 51 and touch panel 52 are as described above.
[0051] The printer 53 is configured, for example, as a thermal printer. The printer 53 prints transaction information on roll-shaped receipt paper and issues it as a receipt from the issuing slot 531.
[0052] The card reader 54 reads the credit information necessary for payment from the credit card inserted through the card slot 541. The card reader 54 also reads member information that identifies the member from a membership card or point card or other medium inserted through the card slot 541. The card reader 54 may read information magnetically from the card, or it may be an IC card reader that reads information from an IC card with a built-in IC (Integrated Circuit) chip.
[0053] The change dispenser 55 accepts the banknotes and coins paid by the customer when they pay for the goods in cash, and dispenses change as needed. Banknotes are inserted through the banknote slot 554, and coins are inserted through the coin slot 551. The banknotes of the change are discharged through the banknote discharge slot 555, and the coins of the change are discharged through the coin discharge slot 552.
[0054] The configuration and functions of the first weighing unit 71, the second weighing unit 81, and the light-emitting unit 571 are as described above. The voice output unit 120 generates voice as needed to notify the customer of information. For example, the voice output unit 120 outputs a notification sound to indicate that product registration is complete. The voice output unit is an example of a notification unit.
[0055] The connection interface 121 is an interface for communicating with the scanner 20 via LAN or USB. The control unit 100 sends and receives information (data) to and from the scanner 20 via the connection interface 121, via LAN or USB. For example, the control unit 100 receives product codes from the scanner 20 via the connection interface 121, via LAN or USB. Also, for example, the control unit 100 sends data for an operating mode selected according to the administrator's operation to the scanner 20 via the connection interface 121, via LAN or USB.
[0056] The LAN interface 122 is an interface for communicating with the LAN hub LH via the LAN. The control unit 100 sends and receives information (data) to and from the LAN hub LH via the LAN interface 122. For example, the control unit 100 sends and receives information between the server 40 and the product master 112 via the LAN through the LAN hub LH and the wireless router WR.
[0057] The LAN interface 122 also serves as an interface for communicating with external devices such as a store server (not shown) managed by the store. The control unit 100 sends and receives information to and from external devices via the LAN interface 122.
[0058] (Scanner hardware configuration) Next, the hardware configuration of the scanner 20 will be described with reference to Figure 4. Figure 4 is a diagram showing the hardware configuration of the scanner 20.
[0059] Scanner 20 captures an image of the product purchased by the customer and obtains a product image. Next, scanner 20 detects the product barcode contained in the product image, i.e., the barcode attached to the captured product, and decodes the detected product barcode. The decoding result of the product barcode includes the product code held by the product barcode. Scanner 20 also transmits the product image to image recognition device 30 via LAN.
[0060] The scanner 20 comprises a control unit 200, a storage unit 210, an imaging unit 220, an illumination unit 224, a connection interface 221, and a LAN interface 222. These components are connected to each other via a bus 223 or the like.
[0061] The control unit 200 consists of a computer equipped with a CPU 201, ROM 202, and RAM 203. The CPU 201, ROM 202, and RAM 203 are connected to each other via a bus 223.
[0062] The CPU 201 controls the entire scanner 20. The ROM 202 stores various programs and data, such as the program used to drive the CPU 201. The RAM 203 is used as the work area for the CPU 201 and loads the 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 having the CPU 201 operate according to the control program 211 stored in the storage unit 210 and loaded into the RAM 203.
[0063] The storage unit 210 is composed of a storage medium such as an HDD or flash memory, and retains its contents even when the power is cut off. The storage unit 210 stores the control program 211 and the processing results 212.
[0064] The control program 211 is a program that implements functions such as: starting imaging with the imaging unit 220 in response to receiving a transaction start signal from the POS terminal 10; saving frame images (images captured) of products captured by the imaging unit 220 to the RAM 203; acquiring frame images (product images, which are the captured images) held by the RAM 203; detecting product barcodes included in the product images; decoding product barcodes; transmitting product images to the image recognition device 30; receiving image recognition results from the image recognition device 30; merging the decoding results and image recognition results; transmitting the product code of the merged results to the POS terminal 10; and stopping imaging with the imaging unit 220 in response to receiving a registration completion signal from the POS terminal 10. The control program 211 may be stored in the ROM 202 instead of the storage unit 210.
[0065] The processing result 212 includes the decoding result obtained by decoding the product barcode, the image recognition result obtained by the image recognition device 30, and the merged result obtained by merging the decoding result and the image recognition result. The merged result includes the product barcode included in the product image or the product code of the product shown in the product image.
[0066] The imaging unit 220 is composed of, for example, a color CCD image sensor or a color CMOS image sensor. The imaging unit 220, in accordance with the control of the control unit 200, captures images of products through the reading window 230 and outputs product images, which are the captured images. For example, the imaging unit 220 captures moving images at a predetermined frame rate (for example, 30fps). The imaging unit 220 sequentially stores the captured frame images in the RAM 203. The frame images (product images) held in the RAM 203 are used to identify the product codes of the products depicted in the frame images.
[0067] The illumination unit 224 lights up when imaging by the imaging unit 220 starts, according to the control of the control unit 200, and turns off when imaging by the imaging unit 220 stops.
[0068] The connection interface 221 is an interface for communicating with the POS terminal 10 via LAN or USB. The control unit 200 sends and receives information (data) to and from the POS terminal 10 via the connection interface 221, either via LAN or USB.
[0069] The LAN interface 222 is an interface for communicating with the image recognition device 30 via the LAN. The control unit 200 sends and receives information (data) to and from the image recognition device 30 via the LAN interface 222.
[0070] The control unit 200 detects the product barcode contained in the frame image (product image) held by the RAM 203, decodes the product barcode, and obtains the 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 the image recognition result (product code) from the image recognition device 30. Furthermore, the control unit 200 merges the decoding result and the image recognition result to identify the product barcode contained 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.
[0071] (Image recognition device hardware configuration) Next, the hardware configuration of the image recognition device 30 will be described with reference to Figure 5. Figure 5 is a diagram showing the hardware configuration of the image recognition device 30.
[0072] The image recognition device 30 receives product images, which are captured images from the scanner 20, via the LAN. The image recognition device 30 starts image recognition upon receiving the captured images from the scanner 20 and stops image recognition when it stops receiving captured images from the scanner 20. The image recognition device 30 performs image recognition on the product images contained in the received captured images. That is, the image recognition device 30 obtains the product codes of the products shown in the product images based on the features of the product images. The image recognition device 30 transmits the image recognition results to the scanner 20 via the LAN. The image recognition device 30 also transmits the product images or the product images and product codes to the server 40 via the LAN as needed. Furthermore, the image recognition device 30 receives the updated trained model and matching dictionary from the server 40 via the LAN and updates the currently held trained model and matching dictionary.
[0073] The image recognition device 30 comprises a control unit 300, a storage unit 310, and a LAN interface 321. These control unit 300, storage unit 310, and LAN interface 321 are connected to each other via a bus 322 or the like.
[0074] The control unit 300 consists of a computer equipped with a CPU 301, ROM 302, and RAM 303. The CPU 301, ROM 302, and RAM 303 are connected to each other via a bus 322.
[0075] The CPU 301 controls the entire image recognition device 30. The ROM 302 stores various programs and data, such as the program used to drive the CPU 301. The RAM 303 is used as the work area for the CPU 301 and loads the 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 having the CPU 301 operate according to the control program 311 stored in the storage unit 310 and loaded into the RAM 303.
[0076] The memory unit 310 is composed of a storage medium such as an HDD or flash memory, and retains its contents even when the power is cut off. The memory unit 310 stores the control program 311, the learned model 312, and the comparison dictionary 313.
[0077] The control program 311 is a program that implements functions such as receiving product images, which are captured images, from the scanner 20; performing image recognition on the product images; determining whether the image recognition was successful; sending the image recognition results to the scanner 20; receiving the decoded product code from the scanner 20; determining whether to use the product images for additional training; sending the product images or the product images and product codes to the server 40; receiving the updated trained model and updated matching dictionary from the server 40; updating the currently held trained model with the updated trained model; and updating the currently held matching dictionary with the updated matching dictionary. The control program 311 may be stored in the ROM 302 instead of the storage unit 310.
[0078] The pre-trained model 312 is an image recognition model for performing image recognition on product images. The pre-trained model 312 has been trained using machine learning and can be further trained using machine learning.
[0079] The matching dictionary 313 is a data table that manages the correspondence between products and the characteristic features of the appearance of those products. Figure 8 shows the data structure of the matching dictionary 313. The matching dictionary 313 includes product codes and the characteristic features associated with the product codes. The matching dictionary 313 may have multiple characteristic features for a single product code. The product codes in the matching dictionary 313 are the same as the product codes in the product master 112 held by the storage unit 110 of the POS terminal 10.
[0080] As described above, the product code is information that identifies a product. Feature quantities are parameterized representations of the product's appearance, such as its standard shape, surface color, pattern, and texture. The control unit 300 acquires the feature quantities contained in the product image, compares the acquired feature quantities with a matching dictionary, and obtains the product code associated with the acquired feature quantities. In other words, based on the feature quantities acquired from the product image, the control unit 300 obtains the product code of the product shown in the product image from among the products pre-recorded in the matching dictionary 313.
[0081] Returning to Figure 5, we will continue the explanation of the hardware configuration of the image recognition device 30.
[0082] The LAN interface 321 is an interface for communicating with the scanner 20 and the LAN hub LH. The control unit 300 sends and receives information (data) with 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. The control unit 300 also obtains the product code of the product shown in the product image, as described above, and transmits the obtained product code to the scanner 20 via the LAN interface 321.
[0084] Furthermore, the control unit 300 transmits the product image that has undergone image recognition, or the product image that has undergone image recognition and the product code received from the scanner 20 via the LAN interface 321 as needed, to the server 40. The control unit 300 also receives the updated trained model 412 (see Figure 6) and the updated matching dictionary 413 (see Figure 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. The control unit 300 also updates the currently held matching dictionary 313 with the updated matching dictionary 413.
[0085] (Server hardware configuration) Next, the hardware configuration of server 40 will be described with reference to Figure 6. Figure 6 is a diagram showing the hardware configuration of server 40.
[0086] Server 40 receives and stores product images and product codes from the image recognition device 30. Using the stored product images and product codes, Server 40 performs additional training on the pre-trained model for product image recognition and updates the pre-trained model and the matching dictionary. Server 40 sends the updated pre-trained model and the updated matching dictionary to the image recognition device 30. Server 40 also manages the product master. Server 40 receives accounting processing information from the POS terminal 10 and manages the product master based on the received accounting processing information. Server 40 sends the product master appropriate for each POS terminal 10 to that POS terminal 10.
[0087] Server 40 comprises a control unit 400, a storage unit 410, and a communication unit 421. These control unit 400, storage unit 410, and communication unit 421 are connected to each other via a bus 422 or the like.
[0088] The control unit 400 consists of a computer equipped with a CPU 401, ROM 402, and RAM 403. The CPU 401, ROM 402, and 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 and data, such as the program used to drive the CPU 401. The RAM 403 is used as the work area for the CPU 401 and loads the 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 having the CPU 401 operate according to the control program 411 stored in the storage unit 410 and loaded into the RAM 403.
[0090] The storage unit 410 is composed of a storage medium such as an HDD or flash memory, and retains its contents even when the power is cut off. The storage unit 410 stores the control program 411, the learned model 412, the comparison dictionary 413, and the product master 414.
[0091] The control program 411 is a program that implements functions such as receiving product images and product codes from the image recognition device 30, storing product images and product codes, further learning and updating the trained model 412, updating the matching dictionary 413, sending the updated trained model 412 and the updated matching dictionary 413 to the image recognition device 30, receiving accounting processing information from the POS terminal 10, managing the product master 414, sending the product master 414 to the POS terminal 10, and sending the stored product images to an external device as needed. The control program 411 may be stored in the ROM 402 instead of the storage unit 410.
[0092] The pre-trained model 412 is a machine learning model trained to perform image recognition on product images. More specifically, the pre-trained model 412 is an image recognition model that obtains the product code of the product shown in the product image by acquiring features contained in the product image and comparing the acquired features with the matching dictionary 413.
[0093] The matching dictionary 413 is a data table that manages the correspondence between the product code of a product and the visual features of that product, 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 the matching dictionary 313 appropriate for each image recognition device 30 to that device 30.
[0094] The product master 414, like the product master 112 held by the POS terminal 10, includes a product code, the product category associated with the product code, the product name, and the price. The product master 414 includes the product masters 112 held by multiple POS terminals 10. The server 40 manages the product master 414 based on accounting processing information received from the POS terminals 10. For example, the server 40 updates the product master 414 based on accounting processing information. The server 40 sends the product master 112 appropriate for each POS terminal 10 to that POS terminal 10.
[0095] The communication unit 421 is an interface for communicating with the wireless router WR. The control unit 400 sends and receives information (data) with 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 uses the stored product images and image recognition results to further train the trained model 412 and update 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 external devices as needed.
[0097] Furthermore, the server 40 receives accounting processing information from the POS terminal 10 via the communication unit 421. Based on the received accounting processing information, the server 40 manages the product master. The server 40 transmits the product master appropriate for each POS terminal 10 to each POS terminal 10 via the communication unit 421.
[0098] (POS terminal function configuration) Next, the functional configuration of the POS terminal 10 will be described with reference to Figure 9. Figure 9 is a block diagram showing the functional configuration of the control unit 100 of the POS terminal 10.
[0099] The control unit 100 includes 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, registration means 1002, accounting processing means 1003, and output means 1004 when the CPU 101 operates according to a control program stored in the ROM 102 or the storage unit 110. These functions may also be configured using hardware such as dedicated circuits.
[0100] Various information is input to the input means 1001 from the scanner 20, touch panel 52, card reader 54, first weighing unit 71, second weighing unit 81, etc. For example, the 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 a transaction is input to the input means 1001. Also, registration completion information indicating that the product registration for the goods related to a transaction has been completed is input to the input means 1001.
[0102] The registration means 1002 performs product registration of the product that the customer intends to purchase based on the customer's operation. In other words, the registration means 1002 registers product information identified by the product identification information entered into the input means 1001. Specifically, the registration means 1002 reads product information from the product master 112 based on the product code entered into the input means 1001. The registration means 1002 then stores the read product information in the product information unit 1031. The product information includes information such as the product code, product name, and price.
[0103] The accounting processing device 1003 performs accounting processing related to the payment of goods registered by the registration device 1002. Specifically, the accounting processing device 1003 performs processing such as calculating the total amount (transaction amount) of the registered goods, calculating the amount of change, displaying various information, and issuing a receipt. In addition, if the customer wishes to make a cashless payment such as credit card payment or QR code payment, the accounting processing device 1003 can perform the accounting processing necessary for the payment.
[0104] The output means 1004 outputs various information to the scanner 20, printer 53, change machine 55, light-emitting unit 571, audio output unit 120, etc. For example, when transaction start information is input to the input means 1001, the output means 1004 outputs an imaging start signal to instruct the scanner 20 to start imaging. Also, when registration completion information is input to the input means 1001, the output means 1004 outputs an imaging stop signal to instruct the scanner 20 to stop imaging.
[0105] The output means 1004 outputs a control signal to the audio output unit 120 to emit a notification sound when the registration means 1002 completes the registration of a product for that product. The output means 1004 functions as a notification means to notify the notification unit (audio output unit 120) that the registration of product information by the registration means 1002 has been completed. It is also possible to provide the audio output unit 120 on the scanner 20. In this case, the audio output unit 120 may emit a notification 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 Figure 10. Figure 10 is a block diagram showing the functional configuration of the control unit 200 of the scanner 20.
[0107] The control unit 200 includes an acquisition means 2001, a decoding means 2002, a transmitting and receiving means 2003, a merging means 2004, a transmitting means 2005, and an automatic stop means 2006. The control unit 200 functions as the acquisition means 2001, the decoding means 2002, the transmitting and receiving means 2003, the merging means 2004, the transmitting means 2005, and the automatic stop means 2006 when the CPU 201 operates according to a control program stored in the ROM 202 or the storage unit 210. Note that each of these functions may be configured with hardware such as dedicated circuits.
[0108] The function of the automatic stopping means 2006 is a function of the control unit 200 of the scanner 20, which will be described later.
[0109] The acquisition means 2001 acquires one frame image (captured image) as a product image from the 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 the multiple frame images sequentially captured by the imaging unit 220 as candidate 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.
[0110] Furthermore, the acquisition means 2001 acquires various other information. For example, the acquisition means 2001 acquires an image capture start signal and an image capture stop signal from the POS terminal 10. The acquisition means 2001 includes detection means that detect when a customer operation has started (i.e., when a customer is using the service) by acquiring an image capture start signal from the POS terminal 10, and detect when a customer operation has been completed (i.e., when a customer is not using the service) by acquiring an image capture stop signal from the POS terminal 10. When the acquisition means 2001 acquires an image capture start signal from the POS terminal 10, the imaging unit 220 starts capturing images, and the acquisition means 2001 acquires the captured image. When the acquisition means 2001 acquires an image capture stop signal from the POS terminal 10, the imaging unit 220 stops capturing images, and the acquisition means 2001 stops acquiring the captured image.
[0111] The decoding means 2002 detects the product barcode contained 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. As a decoding result of decoding the product barcode, the decoding means 2002 obtains the product code held by the product barcode.
[0112] The transmitting / receiving means 2003 transmits the product image acquired by the acquisition 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 (the 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. The transmitting / receiving means 2003 also transmits the decoding result (the product code held by the product barcode) from the decoding means 2002 to the image recognition device 30.
[0113] The merging means 2004 merges the decoding 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 obtains a single product code from the decoding 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.
[0114] The merging means 2004 uses the product code from the image recognition result as the merged result if a decoding result cannot be obtained. Situations in which a decoding result cannot be obtained include when the consumer does not correctly hold the product barcode over the imaging unit 220 of the scanner 20, or when the product barcode is bent or folded in an unnatural way.
[0115] If both the decoded result and the image recognition result are obtained and they match, the merging means 2004 will naturally use the matching product code as the merged result. If both the decoded result and the image recognition result are obtained but they do not match, the product code from the more reliable decoded result will be used as the merged result.
[0116] The transmission means 2005 transmits the product code resulting from the merge by the merge means 2004 to the POS terminal 10 via the connection interface 221.
[0117] (Functional configuration of the image recognition device) Next, the functional configuration of the image recognition device 30 will be described with reference to Figure 11. Figure 11 is a block diagram showing the functional configuration of the control unit 300 of the image recognition device 30.
[0118] The control unit 300 includes a receiving means 3001, an image recognition means 3002, a determination means 3003, an update means 3004, a transmission means 3005, and an object recognition means 3006. The control unit 300 functions as the receiving means 3001, image recognition means 3002, determination means 3003, update means 3004, transmission means 3005, and object recognition means 3006 when the CPU 301 operates according to a control program stored in the ROM 302 or the storage unit 310. Note that each of these functions may be configured with hardware such as dedicated circuits.
[0119] The function of the object recognition means 3006 is a function of the control unit 300 of the image recognition device 30, which will be described later.
[0120] The receiving means 3001 receives product images, which are captured images from the scanner 20, via the LAN interface 321. The receiving means 3001 stores the received product images in the RAM 303.
[0121] The image recognition means 3002 performs image recognition on product images using an image recognition function based on a pre-trained model 312. Specifically, the image recognition means 3002 acquires features contained in the product image, compares the acquired features with a matching dictionary 313, and obtains a product code associated with the feature closest to the acquired feature. The image recognition means 3002 stores the acquired product code in RAM 303.
[0122] The transmission means 3005 transmits the product code obtained from 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.
[0123] The determination means 3003 determines whether the image recognition by the image recognition means 3002 was successful. For example, if the difference between the acquired feature and the feature closest to the acquired feature is less than a predetermined amount, the determination means 3003 determines that the image recognition was successful. Conversely, if the difference is greater than or equal to the predetermined amount, the determination means 3003 determines that the image recognition was unsuccessful. Furthermore, if the determination means 3003 determines that the image recognition was unsuccessful, it determines that the product image on which the image recognition was performed will be used for additional training.
[0124] Furthermore, the receiving means 3001 receives the decoded product code from the scanner 20 via the LAN interface 321. The receiving means 3001 stores the received product code in the RAM 303.
[0125] If the determination means 3003 determines that the product image it has performed image recognition on is a product image to be used for additional training, the transmission means 3005 transmits that product image and its product code to the server 40 via the LAN interface 321.
[0126] Server 40 uses the received product image and product code to further train the pre-trained model 412 for product image recognition and updates the pre-trained model 412 and the matching dictionary 413. Server 40 transmits the updated pre-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.
[0127] 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 the updated matching dictionary 413 in the RAM 303.
[0128] The update means 3004 updates the learned model 312 currently held by the storage unit 310 with the received updated learned model 412. The image recognition device 30 also updates the matching dictionary 313 currently held by the storage unit 310 with the received updated matching dictionary 413.
[0129] In other words, the control unit 300 of the image recognition device 30, which is an external device connected to the scanner 20 via LAN, receives the captured image captured by the scanner 20 via the receiving means 3001 and performs the process of recognizing the image using the image recognition means 3002. The control unit 300 of the image recognition device 30 does not perform the process of recognizing the image using the image recognition means 3002 unless the receiving means 3001 receives the captured image from the scanner 20.
[0130] (Server Functional Configuration) Next, the functional configuration of the server 40 will be described with reference to Figure 12. Figure 12 is a block diagram showing the functional configuration of the control unit 400 of the server 40.
[0131] The control unit 400 includes 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 when the CPU 401 operates according to a control program stored in the ROM 402 or the storage unit 410. These functions may also be configured using dedicated circuits or other hardware.
[0132] The receiving means 4001 receives product images for additional learning and the product codes of those product images from the image recognition device 30 via the communication unit 421. The receiving means 4001 stores the received product images and product codes in the RAM 403. The receiving means 4001 may also store and accumulate the received product images in the RAM 403 or storage unit 410, for example, as product images for analyzing the state (event) of image recognition by the image recognition device 30.
[0133] The additional learning means 4002 performs additional learning on the trained model 412 held by the memory unit 410 at an appropriate time, 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 by the memory unit 410 in conjunction with the additional learning of the trained model 412.
[0134] The transmission means 4004 transmits the updated trained model 412, updated by the additional learning means 4002, and the matching dictionary 413 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.
[0135] Furthermore, the receiving means 4001 receives accounting processing information from the POS terminal 10 via the communication unit 421. The receiving means 4001 stores the received accounting processing information in the RAM 403.
[0136] The master management means 4003 manages the product master 414 held by the storage unit 410 based on the received accounting processing information. For example, the product master 414 includes a store code that identifies a store, a product master 112 for each store code, and information such as whether or not the product for each product code is handled and the remaining quantity. Based on the received accounting processing information, the master management means 4003 updates the product master 414, for example, the information such as the remaining quantity of the product for each product code.
[0137] The transmission means 4004 transmits a 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.
[0138] (POS terminal and scanner operation) Next, referring to Figure 13, the operation of the POS terminal 10 and scanner 20 to start imaging with the scanner 20 in response to the start of a transaction at the POS terminal 10 and stop imaging with the scanner 20 in response to the completion of registration at the POS terminal 10 will be described. Figure 13 is a flowchart showing the operation flow of the POS terminal 10 and scanner 20 in this embodiment. In Figure 13, the operation of the POS terminal 10 is shown on the left, and the operation of the scanner 20 is shown on the right. The operation of the POS terminal 10 is performed by each part of the POS terminal 10 under the control of the control unit 100 which executes the control program 111. The operation of the scanner 20 is performed by each part of the scanner 20 under the control of the control unit 200 which executes the control program 211.
[0139] In ACT31, when the POS terminal 10 inputs transaction start information declaring the start of a transaction in response to the customer's operation on the touch panel 52 (if the answer is Yes in ACT31), in ACT32, the POS terminal 10 transmits an imaging start signal to the scanner 20.
[0140] In ACT41, when the scanner 20 receives an imaging start signal from the POS terminal 10 (i.e., when it detects that a customer is using the device) (if the answer is Yes in ACT41), in ACT42, the scanner 20 turns on the illumination unit 224, starts imaging the product with the imaging unit 220, and starts acquiring the product image captured by the imaging unit 220 and transmitting it to the image recognition device 30 via LAN. The image recognition device 30 starts image recognition of the product image contained in the image captured by the scanner 20.
[0141] Subsequently, in ACT33, the POS terminal 10 inputs registration completion information indicating that product registration for one transaction has been completed in response to the customer's operation on the touch panel 52 (if the answer is Yes in ACT33), and in ACT34, the POS terminal 10 sends an imaging stop signal to the scanner 20.
[0142] In ACT43, when the scanner 20 receives an imaging stop signal from the POS terminal 10 (i.e., when it detects that there is no customer use) (if the answer is Yes in ACT43), in ACT44, the scanner 20 turns off the illumination unit 224, stops imaging with the imaging unit 220, and stops acquiring the images captured by the imaging unit 220 and transmitting those images to the image recognition device 30 via LAN. The image recognition device 30 stops image recognition when it stops receiving images from the scanner 20.
[0143] (Operation of scanner and image recognition device) Next, referring to Figure 14, the operation of the scanner 20 and the image recognition device 30 for identifying the product code of a product from the product image captured by the scanner 20 for each product, between the reception of an imaging start signal upon the start of a transaction and an imaging stop signal upon completion of registration from the POS terminal 10. Figure 14 is a flowchart showing the operation flow of the scanner 20 and the image recognition device 30 in this embodiment. In Figure 14, the operation of the scanner 20 is shown on the left, and the operation of the image recognition device 30 is shown on the right. The operation of the scanner 20 is performed by each part of the scanner 20 under the control of the control unit 200 which executes the control program 211. The operation of the image recognition device 30 is performed by each part of the image recognition device 30 under the control of the control unit 300 which executes the control program 311.
[0144] In ACT11, the scanner 20 acquires a single captured image, which is a product image, from the moving image captured by the imaging unit 220. For example, first, the scanner 20 stores all or some of the multiple frame images sequentially captured by the imaging unit 220 in the RAM 203 as candidate product images. Next, the scanner 20 selects one frame image from the multiple frame images held in the RAM 203 and uses the selected frame image as the product image. The scanner 20 also assigns an identification code to the product image to identify it. For convenience, the product image will be assumed to include the identification code below.
[0145] In ACT12, the scanner 20 transmits the product image to the image recognition device 30 via LAN, for example, using TCP communication.
[0146] In ACT21, the image recognition device 30 receives product images and identification codes from the scanner 20 via LAN. The image recognition device 30 stores the received product images in RAM 303.
[0147] In ACT22, the image recognition device 30 performs image recognition on a product image. For example, the image recognition device 30 performs image recognition based on features such as the outline and color of the product shown in the product image. In this case, first, the image recognition device 30 acquires the features contained in the product image. Next, the image recognition device 30 compares the acquired features with the matching dictionary 313 and searches for the feature that is closest to the acquired features. Subsequently, the image recognition device 30 acquires the product code associated with the search result (the feature that is closest to the acquired features).
[0148] In ACT23, the image recognition device 30 determines whether image recognition was successful. For example, first, the image recognition device 30 calculates the difference between the acquired feature and the feature that is closest to the acquired feature. Next, the image recognition device 30 compares the calculated difference with a predetermined amount.
[0149] If the difference in the comparison is less than a predetermined amount, the image recognition device 30 determines that the image recognition was successful. In this case, the image recognition device 30 stores the product code acquired in ACT22 as the image recognition result in RAM303. After that, it proceeds to the operation of ACT24.
[0150] Conversely, if the difference in the comparison is greater than a predetermined amount, the image recognition device 30 determines that the image recognition has failed. In this case, the image recognition device 30 requests the scanner 20 to acquire and transmit another product image, and performs the operations of ACT21 to ACT23 again. The image recognition device 30 also determines that the product image for which image recognition was performed is the product image to be used for additional training.
[0151] In ACT24, the image recognition device 30 transmits the image recognition results stored in the RAM 303 to the scanner 20 via the LAN. The image recognition device 30 also transmits an identification code to the scanner 20.
[0152] In ACT13, the scanner 20 detects the product barcode in the product image. In other words, the scanner 20 determines whether or not a product barcode is captured in the product image.
[0153] If a product barcode is detected in ACT13 (Yes in ACT13), then in ACT14, the scanner 20 extracts and decodes the detected product barcode, and obtains the product code held by the product barcode as a result of the decoding. The scanner 20 stores the obtained product code in RAM 203.
[0154] Next, in ACT15, the scanner 20 transmits the decoded product code (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 decoded product code in ACT15.
[0155] In ACT16, the scanner 20 checks whether it has received the image recognition result (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 RAM 203. The scanner 20 may also identify the product image corresponding to the image recognition result based on the identification code received along with the image recognition result. After that, the process moves to the merging operation in ACT17.
[0156] If the product barcode cannot be detected in ACT13 (in the case of No in ACT13), the actions in ACT14 and ACT15 are skipped, and the process moves on to the action of confirming receipt of the image recognition result in ACT16.
[0157] In ACT16, if no image recognition result has been received (in the case of No in ACT16), the scanner 20 repeats the operations of ACT11 and ACT13-ACT15. At this time, since the image recognition device 30 does not require a new product image, the transmission of the product image in ACT12 is omitted. In other words, until the scanner 20 receives an image recognition result from the image recognition device 30, it continues a series of steady operations, such as acquiring the product image in ACT11, detecting the product barcode in ACT13, decoding in ACT14, and transmitting the product code of the decoding result in ACT15.
[0158] 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). In other words, the scanner 20 obtains the single product code that it deems to be the most correct from the decoded result and the image recognition result.
[0159] If a decoding result cannot be obtained, the product code from the image recognition result will be used as the merged result. Situations in which a decoding result cannot be obtained include when the consumer does not correctly hold the product barcode over the imaging unit 220 of the scanner 20, or when the product barcode is bent or folded in an unnatural way.
[0160] If both the decoded result and the image recognition result are obtained, the scanner 20 compares the decoded result and the image recognition result. If the decoded result and the image recognition result match, the scanner 20 merges the product codes of the matching decoded result and the image recognition result. If the decoded result and the image recognition result do not match, the scanner 20 merges the product code of the more reliable decoded result.
[0161] In ACT18, the scanner 20 transmits the merged product code (the single product code considered to be the most correct) to the POS terminal 10.
[0162] In ACTs 16 to 18 of this embodiment, the scanner 20, after receiving the image recognition result from the image recognition device 30 (in the case of Yes in ACT 16), transmits (uploads) to the host device (in this case, the POS terminal 10) a product code obtained by merging the product code obtained by decoding the scanned product barcode and the product code obtained by image recognition. However, the scanner 20 may first transmit the product code obtained by decoding the scanned product barcode to the host device before receiving the image recognition result from the image recognition device 30, and then, after receiving the image recognition result from the image recognition device 30, transmit to the host device a product code obtained by merging the product code obtained by decoding the scanned product barcode and the product code obtained by image recognition.
[0163] In ACT15, when the scanner 20 transmits the decoded product code (the product code held by the product barcode), in ACT25, the image recognition device 30 receives the decoded product code. The image recognition device 30 stores the received decoded product code in RAM 303.
[0164] In ACT26, the image recognition device 30 determines whether there are product images to be used for additional training. For example, if there are product images that failed to be recognized in ACT23, and the image recognition device 30 has received the decoded product code from the scanner 20 in ACT25, the image recognition device 30 determines that there are product images to be used for additional training.
[0165] In the judgment of ACT26, if it is determined that there are product images to be used for additional training, in ACT27 the image recognition device 30 sends to the server 40 the product images that failed to be recognized, which are held in RAM 303, and the product codes of the decoded results received from scanner 20.
[0166] If ACT26 determines that there are no product images to use for additional training, the process will skip ACT27 and terminate.
[0167] (Summary of the embodiments) According to the product information registration system RS of this embodiment, the scanner 20 starts imaging a product when it receives an imaging start signal from the POS terminal 10 that enables the operation of the scanner 20 upon the start of a transaction, and starts acquiring the product image, which is the captured image, and transmitting it to the image recognition device 30 via LAN. The image recognition device 30 starts image recognition of the product image contained in the captured image received from the scanner 20.
[0168] Furthermore, upon completion of product registration for one transaction from the POS terminal 10, the scanner 20 receives an imaging stop signal that disables the scanner 20's operation, stopping the imaging of the product, the acquisition of the captured image, and transmission to the image recognition device 30 via LAN. The image recognition device 30 stops image recognition when it no longer receives captured images from the scanner 20.
[0169] The image recognition processing performed by the image recognition device 30 is computationally intensive and consumes a lot of power. However, even though the image recognition device 30 is connected to the scanner 20 as an external device via LAN, it does not need to be constantly running. Instead, it can be operated only during the period from the start of a customer transaction until product registration is completed (i.e., while the customer is using it). This makes it possible to reduce power consumption and extend the lifespan of the external device, the image recognition device 30.
[0170] Therefore, it becomes possible to appropriately control the operation of the device with the highest processing load among the multiple devices that make up the system.
[0171] (Other embodiments) In another embodiment, the product information registration system RS is configured to perform the operations of acquiring captured images by the scanner 20 and transmitting them to the image recognition device 30, and the operation of image recognition by the image recognition device 30, according to the flowchart in Figure 14, even after the store has been set up for opening (i.e., after the system has been started) and before the transaction start information has been entered into the POS terminal 10 (i.e., in a ready state (ready mode)).
[0172] In this preparation state, the customer does not hold the product up to the reading window 230 of the scanner 20, so the captured image acquired by the scanner 20 and transmitted to the image recognition device 30 does not contain an actual product image. However, the image recognition device 30 performs image recognition processing on the received captured image, leading to wasted power consumption and a reduced lifespan. In the flowchart of Figure 14, the scanner 20 repeats the processes in ACT11~ACT13→ACT16→ACT11, and the image recognition device 30 repeats the processes in ACT21~ACT23.
[0173] Therefore, in the ready state of the product information registration system RS, the scanner 20 and the image recognition device 30 are operated as described below to reduce power consumption and extend the lifespan of the image recognition device 30.
[0174] In another embodiment, the image recognition device 30, as shown in Figure 11, has an object recognition means 3006 as part of the functional configuration of the control unit 300.
[0175] The object recognition means 3006 recognizes whether an object is included in the captured image received from the scanner 20. Specifically, for example, it recognizes whether an image of any object (object image) is included within the range of the target to be captured (variable range of focus) captured by the imaging unit 220 of the scanner 20 through the reading window 230. If the object recognition means 3006 recognizes that no object image is included in the captured image of the scanner 20 and a predetermined time (for example, several minutes) has elapsed, the transmission means 3005 transmits an object-free signal to the scanner 20 indicating that no object is present.
[0176] In other embodiments, the scanner 20, as shown in Figure 10, has an automatic stop means 2006 as part of the functional configuration of the control unit 200.
[0177] When the automatic stop means 2006 receives an object-free signal from the image recognition device 30 via the transmitting / receiving means 2003, it turns off the illumination unit 224 that illuminates the direction of imaging through the reading window 230, and stops imaging by the imaging unit 220 and acquisition of the captured image by the acquisition means 2001. When the acquisition means 2001 acquires an imaging start signal from the POS terminal 10, the automatic stop means 2006 turns on the illumination unit 224 and starts imaging of the product with the imaging unit 220, and starts acquiring the product image, which is the captured image taken by the imaging unit 220. The automatic stop means 2006 includes detection means that detects that there is no user activity when the transmitting / receiving means 2003 receives an object-free signal from the image recognition device 30, and detects that user operation has started (i.e., there is user activity) when the acquisition means 2001 acquires an imaging start signal from the POS terminal 10.
[0178] Figure 15 is a flowchart showing the operation flow of the scanner 20 and image recognition device 30 in another embodiment. In Figure 15, the operation of the scanner 20 is shown on the left, and the operation of the image recognition device 30 is shown on the right. The operation of the scanner 20 is performed by each part of the scanner 20 under the control of the control unit 200 which executes the control program 211. The operation of the image recognition device 30 is performed by each part of the image recognition device 30 under the control of the control unit 300 which executes the control program 311.
[0179] In the ready mode after the product information registration system RS is started, in ACT51, the scanner 20 acquires an image captured by the imaging unit 220, and in ACT52, the scanner 20 transmits the acquired image to the image recognition device 30.
[0180] In ACT61, when the image recognition device 30 receives the captured image from the scanner 20, in ACT62, the image recognition device 30 recognizes whether the received captured image contains an object image. At this time, the captured image does not contain a product image, but the image recognition device 30 performs the image recognition processing in ACT21 to ACT23 as shown in the flowchart of Figure 14.
[0181] In ACT63, if the image recognition device 30 recognizes that the image captured by the scanner 20 does not contain an object image (in the case of Yes in ACT63), in ACT64, it determines whether a predetermined time has elapsed since the image was captured without an object image.
[0182] In ACT64, if the image recognition device 30 determines that a predetermined time has elapsed in which the captured image does not contain an object image (if the answer is Yes in ACT64), then in ACT65, the image recognition device 30 transmits an object-free signal to the scanner 20, indicating that there is no object.
[0183] In ACT 53, when the scanner 20 receives an object-free signal from the image recognition device 30 (i.e., when it detects that there is no user activity) (if the answer is Yes in ACT 53), in ACT 54, the scanner 20 turns off the illumination unit 224, and in ACT 55, it stops imaging by the imaging unit 220 and acquiring the captured images. In other words, the scanner 20 stops transmitting the captured images to the image recognition device 30. At this time, the image recognition device 30 no longer receives captured images from the scanner 20, so the image recognition processing in the image recognition device 30 in ACTs 21 to 23, as shown in the flowchart of Figure 14, is no longer performed.
[0184] In ACT56, when the scanner 20 receives an imaging start signal from the POS terminal 10 in response to transaction start information being entered at the POS terminal 10 (i.e., when it detects that a user is using the device) (if the answer is Yes in ACT56), in ACT57, the scanner 20 turns on the illumination unit 224. Then, in ACT58, the scanner 20 starts imaging the product with the imaging unit 220, and begins acquiring the captured product image and transmitting it to the image recognition device 30.
[0185] The processing performed by scanner 20 in ACT56 to ACT58 corresponds to the processing performed by scanner 20 in ACT41 to ACT42 as shown in the flowchart in Figure 13. As shown in the flowchart in Figure 14, scanner 20 and image recognition device 30 start processing for each product to identify the product code of that product from the product image, which is the image of the product captured by scanner 20.
[0186] (Summary of other embodiments) In another embodiment of the product information registration system RS, in the ready mode after system startup, if the image recognition device 30 determines that no objects are included in the image captured by the scanner 20 for a predetermined period of time, the scanner 20 switches to auto power off mode by turning off the illumination unit 224. The scanner 20 then stops capturing images with the imaging unit 220 and stops acquiring captured images and transmitting them to the image recognition device 30 via LAN until it receives, for example, an imaging start signal corresponding to the input of transaction start information from the POS terminal 10. The image recognition device 30 stops image recognition when it stops receiving captured images from the scanner 20.
[0187] As a result, even in a configuration where the scanner 20 acquires captured images and transmits them to the image recognition device 30, and the image recognition device 30 performs image recognition, in the ready mode after system startup, if it can detect that the images captured by the scanner 20 do not contain object images and that there is no user activity, the operation of the image recognition device 30 can be stopped, thereby achieving power saving and extended lifespan for the external device, the image recognition device 30.
[0188] Therefore, it becomes possible to appropriately control the operation of the device with the highest processing load among the multiple devices that make up the system.
[0189] (others) In the above embodiment, the control programs executed by the POS terminal 10, scanner 20, image recognition device 30, and server 40 may be provided by recording them on a computer-readable recording medium such as a CD-ROM. Alternatively, the control programs executed by the POS terminal 10, scanner 20, image recognition device 30, and server 40 in the above embodiment may be stored on a computer connected to a network such as the Internet and provided by allowing downloads via the network, or even provided via a network such as the Internet.
[0190] Although embodiments of the present invention have been described above, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. The invention described in the original claims of this application is listed below. [1] An information processing device having a communication function with an external device equipped with an image recognition means for recognizing an image, comprising: an image acquisition means for acquiring an image captured by an imaging unit; a transmission means for transmitting the image captured by the image acquisition means to the external device; a detection means for detecting that there is no user activity; and a stop means for stopping the image recognition performed by the image recognition means of the external device when the detection means detects that there is no user activity. [2] The information processing apparatus described in Appendix [1], wherein the stopping means stops the imaging unit from capturing images, thereby stopping the acquisition of the captured images and the transmission of the captured images to the external device, and stopping the image recognition means of the external device from recognizing the images. [3] The information processing apparatus described in Appendix [2], which has a communication function with other external devices operated by the user, and the detection means detects that the user is not using the device by receiving a signal from the other external device corresponding to the completion of user operation. [4] The information processing apparatus described in Appendix [2], wherein the external device comprises an object recognition means for recognizing an object from the captured image, and the detection means detects that the user is not using the device by receiving a signal from the external device indicating that a predetermined time has elapsed in which no object has been recognized by the object recognition means. [5] An information processing apparatus as described in Appendix [3] or Appendix [4], comprising: a code acquisition means for acquiring a product code of a product based on code information attached to the product in an image captured by the image acquisition means; a receiving means for receiving the product code of the product acquired by the image recognition means of the external device based on the external appearance features of the product in the image captured; and a code transmission means for transmitting the product code acquired by the code acquisition means or the product code received by the receiving means to another external device, wherein the stopping means includes means for turning off an illumination unit that illuminates the direction in which the imaging unit is capturing images when the detection means detects that the user is not using the device. [6] A program for causing the computer of an information processing device having a communication function with an external device equipped with an image recognition means for recognizing an image to function as an image acquisition means for acquiring an image captured by an imaging unit, a transmission means for transmitting the image captured by the image acquisition means to the external device, a detection means for detecting that there is no user activity, and a stop means for stopping the image recognition performed by the image recognition means of the external device when the detection means detects that there is no user activity. [Explanation of symbols]
[0191] 1...Self-service POS system, 10...POS terminal, 100...Control unit, 1001...Input means, 1002...Registration means, 1003...Accounting processing 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...Issuing slot, 54...Card Reader, 541...Card slot, 55...Change dispenser, 551...Coin slot, 552...Coin outlet, 553...Coin tray, 554...Banknote slot, 555...Banknote outlet, 57...Pole, 571...Light-emitting unit, 70...First basket stand, 71...First weighing unit, 80...Second basket stand, 81...Second weighing unit, 82...Support rod, 83...Temporary stand, 20...Scanner, 200...Control unit, 2001...Acquisition means (detection means), 2002...Decoding means, 2003...Transmission and reception means, 2004...Merge means, 2005...Transmission means, 2006...Automatic stop means (detection means) (stage), 201...CPU, 202...ROM, 203...RAM, 210...Storage unit, 211...Control program, 212...Processing result, 220...Imaging unit, 221...Connection interface, 222...LAN interface, 223...Bus, 224...Illumination unit, 230...Reading window, 30...Image recognition device, 300...Control unit, 3001...Receiving means, 3002...Image recognition means, 3003...Determination means, 3004...Update means, 3005...Transmission means, 3006...Object recognition means, 301...CPU, 302...ROM, 303...RAM, 310...Storage unit, 31 1...Control program, 312...Trained model, 313...Correction dictionary, 321...LAN interface, 322...Bus, 40...Server, 400...Control unit, 4001...Receiving means, 4002...Additional learning means, 4003...Master management means, 4004...Transmission means, 401...CPU, 402...ROM, 403...RAM, 410...Storage unit, 411...Control program, 412...Trained model, 413...Correction dictionary, 414...Product master, 421...Communication unit, 422...Bus, LH...LAN hub, NW...Network, WR...Wireless router.
Claims
1. An information processing device having a communication function between a POS terminal and an image recognition device equipped with an image recognition means for recognizing an image and an object recognition means for recognizing an object from the image, Image acquisition means for acquiring captured images taken by the imaging unit, A first transmission means that transmits the image captured by the image acquisition means to the image recognition device, A reading means for reading information held in a barcode attached to a product included in the captured image acquired by the image acquisition means, The image recognition device includes a receiving means that receives the image recognition result recognized by the image recognition means from the captured image, A second transmission means transmits the product code included in the image recognition result received by the receiving means or the product code included in the information read by the reading means to the POS terminal. A detection means that detects that there is no user activity by receiving a signal from the image recognition device indicating that a predetermined period of time has elapsed during which no object has been recognized by the object recognition means, When the detection means detects that the user is not using the device, the stopping means stops the image recognition performed by the image recognition means of the image recognition device. An information processing device equipped with the following features.
2. The stopping means stops the imaging unit from capturing images, thereby stopping the acquisition of the captured images and the transmission of the captured images to the image recognition device, and stopping the image recognition performed by the image recognition means of the image recognition device. The information processing apparatus according to claim 1.
3. The stopping means includes means for turning off the illumination unit that illuminates the direction in which the imaging unit takes an image when the detection means detects that the user is not using the device. The information processing apparatus according to claim 2.
4. A computer of an information processing device having a communication function between a POS terminal and an image recognition device equipped with an image recognition means for recognizing an image and an object recognition means for recognizing an object from the image, Image acquisition means for acquiring captured images captured by the imaging unit, A first transmission means that transmits the captured image acquired by the image acquisition means to the image recognition device. A reading means for reading information held in a barcode attached to a product included in the captured image acquired by the image acquisition means. Receiving means for receiving image recognition results recognized by the image recognition means from the captured image, from the image recognition device, A second transmission means that transmits the product code included in the image recognition result received by the receiving means or the product code included in the information read by the reading means to the POS terminal. A detection means that detects that there is no user activity by receiving a signal from the image recognition device indicating that a predetermined time has elapsed in which no object has been recognized by the object recognition means, and If the detection means detects that the user is not using the device, the stopping means stops the image recognition performed by the image recognition means of the image recognition device. A program designed to function as such.