Communication system
The communication system for POS systems addresses the challenge of improving product code reading operability by enabling switching between communication methods within the POS system, thereby enhancing registration efficiency and user experience.
Patent Information
- Application Number
- JP2023163067
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-07
AI Technical Summary
Existing POS systems face challenges in improving the operability of reading product codes, particularly in self-POS systems where customers need to scan product barcodes, leading to difficulties in product registration.
A communication system that includes a first device with an imaging function and a second device with image recognition capabilities, connected via a local area network, allowing for switching between different communication methods to optimize data transmission based on the communication situation.
The system enhances the efficiency of product information registration by allowing seamless switching between communication methods, reducing errors and improving user experience in self-POS systems.
Smart Images

Figure 2025053935000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE The present invention relates to a communication system. [Background technology]
[0002] POS (Point Of Sales) systems are used in stores that sell products and services (hereinafter collectively referred to as "products"). This type of POS system is capable of registering information about a product that a customer wishes to purchase by using a scanner to read the barcode (hereinafter referred to as "product barcode") attached to the product. 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 the package that contains the product.
[0003] The POS system operator must search for the product barcode on the product and hold it up to the scanner, making the operation of reading the product barcode cumbersome. As a result, the operator must register product information (hereinafter also referred to as "product registration") in a time-consuming manner. In particular, in so-called self-service POS systems, customers who are not familiar with product registration must scan product barcodes, so there is a demand for improving the operability of reading product codes, in other words, the operability of the operator to identify products.
[0004] Some POS systems transmit an image captured by a scanner to an image recognition device, which then uses image recognition technology to obtain a product code from the image and returns the obtained product code to the scanner.
[0005] There are several communication methods that can be used for communication between a scanner and an image recognition device. Each communication method has its advantages and disadvantages. For this reason, it is preferable to be able to switch the communication method depending on the communication situation, etc. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2019-21168 A Summary of the Invention [Problem to be solved by the invention]
[0007] An object of the present invention is to provide a communication system capable of switching communication methods. [Means for solving the problem]
[0008] A communication system according to an embodiment includes a first device having an imaging function, a second device having an image recognition function, and a local area network that communicatively connects the first device and the second device. The first device includes a first communication method switching unit that can switch a communication method between a first communication method and a second communication method different from the first communication method. The second device includes a second communication method switching unit that can switch a communication method between the first communication method and the second communication method. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a product information management system according to an embodiment. [Diagram 2] FIG. 2 is a perspective view showing the appearance of a self-service POS system as an example of a product information registration system according to the embodiment. [Diagram 3] FIG. 3 is a block diagram showing a hardware configuration of the POS terminal according to the embodiment. [Figure 4] FIG. 4 is a block diagram showing a hardware configuration of the scanner according to the embodiment. [Diagram 5] FIG. 5 is a block diagram showing a hardware configuration of the image recognition device according to the embodiment. [Figure 6] FIG. 6 is a block diagram showing a hardware configuration of the server according to the embodiment. [Figure 7] FIG. 7 is a diagram showing a data configuration of the product master stored in the storage unit of the POS terminal of FIG. [Figure 8] FIG. 8 is a diagram showing a data structure of the comparison dictionary stored in the storage unit of the image recognition device of FIG. [Figure 9] FIG. 9 is a block diagram showing a functional configuration of the control unit of the POS terminal of FIG. [Figure 10] FIG. 10 is a block diagram showing the functional configuration of the control unit of the scanner of FIG. [Figure 11] FIG. 11 is a block diagram showing a functional configuration of the control unit of the image recognition device of FIG. [Figure 12] FIG. 12 is a block diagram showing a functional configuration of the control unit of the server in FIG. [Figure 13] FIG. 13 is a flowchart showing the flow of operations of the scanner and the image recognition device when registering one product in the product information registration system according to the embodiment. [Figure 14] FIG. 14 is a diagram showing the configuration of a communication system between a scanner and an image recognition device according to an embodiment. [Figure 15] FIG. 15 is a sequence diagram of an example of communication between a scanner and an image recognition device in the short-lived mode in the communication system of the embodiment. [Figure 16] FIG. 16 is a sequence diagram of an example of communication between a scanner and an image recognition device in the communication system according to the embodiment, using the keep alive method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, an embodiment will be described with reference to the drawings. Note that the present invention is not limited to the embodiment described below.
[0011] (Product Information Management System) First, a product information management system MS according to an embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram showing an overall configuration of the product information management system MS according to an embodiment. The product information management system MS has a product information registration system RS and a server 40.
[0012] The product information registration system RS includes a POS terminal 10, a scanner 20, and an image recognition device 30. The POS terminal 10 and the scanner 20 are communicatively connected via a LAN (Local Area Network) or a USB (Universal Serial Bus) cable. The scanner 20 and the image recognition device 30 are communicatively connected via a LAN. The LAN may be a wired LAN or a wireless LAN, or a combination of wired and wireless LANs may be used.
[0013] The POS terminal 10 and the image recognition device 30 are communicatively connected to a LAN hub LH via a LAN. The LAN hub LH is communicatively connected to a router RT via a LAN. The router RT is capable of wireless communication with the server 40 via a network NW. The router RT may be wired-connected to the network NW for wired communication, or wirelessly connected to the network NW for wireless communication.
[0014] In addition, although only one product information registration system RS is shown for one LAN hub LH in FIG. 1, there may be multiple product information registration systems RS. Also, although only one LAN hub LH is shown for one router RT, there may be multiple LAN hubs LH. Furthermore, there may be multiple routers RT. For example, one or more LAN hubs LH under one router RT and one or more product information registration systems RS under each LAN hub LH may be disposed in one store. For example, the server 40 may be a management server disposed in the headquarters that manages and supervises the operation of multiple stores in a company that operates multiple stores.
[0015] The scanner 20 captures an image of a product to obtain a product image, which is a captured image. The scanner 20 transmits the obtained product image to the image recognition device 30 via a LAN. The scanner 20 also detects and decodes product barcodes (one-dimensional codes and two-dimensional codes) included in the obtained product image. That is, the scanner 20 reads information held by the product barcode. The decoded result of the product barcode includes the product code held by the product barcode. The scanner 20 transmits the decoded result to the image recognition device 30 via a LAN.
[0016] The image recognition device 30 receives the product image, which is the captured image from the scanner 20, via a LAN. The image recognition device 30 has an image recognition function using a trained model by machine learning, for example, and performs image recognition on the product image using the image recognition function. In detail, the image recognition device 30 acquires a feature amount included in the product image using the image recognition function, compares the acquired feature amount with a matching dictionary in which a plurality of feature amounts and product codes are associated, and acquires a product barcode associated with a feature amount that is closest to the acquired feature amount. That is, the image recognition result includes a product code of a product shown in the product image. The image recognition device 30 may perform image recognition on the product image using a method such as deep learning. The image recognition device 30 transmits the image recognition result to the scanner 20 via a LAN.
[0017] The scanner 20 receives the image recognition result from the image recognition device 30 via the LAN. The scanner 20 merges the decoded result and the image recognition result. Here, merging means obtaining one product code from the decoded result and the image recognition result. Therefore, the merged result includes the product barcode contained in the product image or the product code of the product shown in the product image. The scanner 20 transmits the merged result to the POS terminal 10 via the LAN or a USB cable. The POS terminal 10 registers the product based on the product code of the merged result received from the scanner 20.
[0018] Furthermore, the image recognition device 30 determines whether the product image received from the scanner 20 is to be used for additional learning. For example, if the difference between the acquired feature amount and the feature amount closest to the acquired feature amount is equal to or greater than a predetermined amount, the image recognition device 30 determines that the product image received from the scanner 20 is a product image to be used for additional learning. The image recognition device 30 transmits the product image determined to be used for additional learning and the product code of the decoded result received from the scanner 20 to the server 40 via the LAN.
[0019] The server 40 receives product images and product codes from the image recognition device 30 via the LAN. The server 40 stores the received product images and product codes in association with each other. The server 40 performs additional learning of a trained model for product image recognition using the stored product images and product codes. The server 40 updates the trained model through the additional learning. The server 40 also updates the matching dictionary in conjunction with the additional learning. Updating the matching dictionary includes correcting existing records and adding new records. The server 40 transmits the updated trained model and the updated matching dictionary to the image recognition device 30 via the LAN.
[0020] The image recognition device 30 receives the updated trained model and the updated matching dictionary from the server 40 via a LAN. The image recognition device 30 updates the currently held trained model with the received updated trained model. The image recognition device 30 also updates the currently held matching dictionary with the received updated matching dictionary.
[0021] In this product information management system MS, if the product packaging is changed, it is possible to eliminate the need to collect new product images for additional training of the trained model for product image recognition.
[0022] The server 40 also manages the product master. The POS terminal 10 transmits transaction processing information (information related to a processed transaction) via the LAN to the router RT via the LAN hub LH. The router RT transmits the received transaction processing information to the server 40 via the network NW. The server 40 manages the product master based on the received transaction processing information. For example, the server 40 receives transaction processing information from multiple POS terminals 10 and manages the product master for each of the multiple POS terminals 10. Managing the product master includes modifying existing records and adding new records. The server 40 also transmits the product master suitable for each POS terminal 10 to that POS terminal 10 via the network NW, router RT, and LAN hub LH.
[0023] (Product Information Registration System) Hereinafter, as an example of a product information registration system, a self-service POS system operated by a customer who purchases a product will be described. However, the product information registration system is not limited to a self-service POS system. The product information registration system may be a POS system operated by a salesperson at a store that sells the product.
[0024] 2 is a perspective view showing the appearance of the self-service POS system 1. The self-service POS system 1 has a POS terminal 10, a scanner 20 built into the POS terminal 10, and an image recognition device 30 built into the POS terminal 10. Here, the self-service POS system 1 is an example of a product information registration system, the POS terminal 10 is an example of a registration device, and the scanner 20 and the image recognition device 30 are examples of an information processing device.
[0025] The scanner 20 identifies the product that the customer purchases, and transmits the product code of the identified product to the POS terminal 10. The product code is an example of product identification information that identifies the product. The POS terminal 10 executes product registration based on the product code input from the scanner 20, and also executes accounting processing for the registered product. The accounting processing is processing executed by the POS terminal 10 to allow the customer to pay for the purchase price of the product.
[0026] 2, the POS terminal 10 includes a main body 50, a first basket mounting stand 70, and a second basket mounting stand 80. The main body 50 includes a display 51 and a touch panel 52 on an upper portion, and also houses a printer 53, a card reader 54, and a change dispenser 55 (see FIG. 3 for each).
[0027] Display 51 is a display device such as an LCD (Liquid Crystal Display) and displays various information. For example, display 51 displays product information such as the product name and price of a product registered by a customer's registration operation. Display 51 also displays accounting information such as the total amount of the transaction and the amount of change in accordance with the customer's accounting operation.
[0028] The touch panel 52 is provided on the surface of the display 51, and inputs information according to the touched position into the control unit 100 (see FIG. 3) of the POS terminal 10. A customer 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 FIG. 2, below the display 51, a reading window 230 for the scanner 20, an issuing port 531 for receipts printed by the printer 53, and a card insertion port 541 for the card reader 54 are formed facing the direction in which the customer is positioned.
[0030] The reading window 230 is a window through which the scanner 20 captures an image of the exterior of a commodity. A customer who is an operator operating the self-service POS system 1 performs an operation related to commodity registration by holding the commodity to be purchased over the reading window 230. The customer holds the commodity over the reading window 230 while changing the orientation of the commodity with respect to the reading window 230 until the self-service POS system 1 executes the commodity registration and generates a registration completion sound.
[0031] The issuing port 531 is an opening through which a receipt printed by the printer 53 is ejected. Information (transaction processing information) related to a transaction processed by the POS terminal 10 is printed on the receipt. The POS terminal 10 may be configured to issue an electronic receipt instead of a paper receipt printed by the printer 53.
[0032] Card insertion slot 541 is an opening for inserting a credit card or the like to be read by card reader 54. A card is inserted through card insertion slot 541 when a customer makes a payment with a credit card or when a customer has a store membership card or the like read.
[0033] The main body 50 is also formed with a coin insertion slot 551, a coin ejection slot 552, a coin receiving tray 553, a bill insertion slot 554, and a bill ejection slot 555 in correspondence with the position of the change machine 55 housed therein.
[0034] The coin slot 551 is an opening through which a customer inserts coins to be paid. Coins inserted into the coin slot 551 are stored in the change machine 55. The coin outlet 552 is an opening through which coins to be dispensed from the change machine 55 are discharged. The coin outlet 552 discharges change or coins inserted into the coin slot 551 but not accepted by the change machine 55. The coin tray 553 is a tray that receives coins discharged from the coin outlet 552. The banknote slot 554 is an opening through which a customer inserts banknotes to be paid. Banknotes inserted into the banknote slot 554 are stored in the change machine 55. The banknote outlet 555 is an opening through which banknotes that are change to be dispensed from the change machine 55 are discharged.
[0035] The first basket placement table 70 is a table on which a shopping basket (not shown) containing products that a customer wishes to purchase is placed. The first basket placement table 70 includes a first weighing unit 71. The first weighing unit 71 weighs the total weight of a shopping basket placed on the first basket placement table 70 and the products contained in the shopping basket.
[0036] The second basket placement table 80 is a table for placing shopping baskets (not shown) that contain products that have been removed from the shopping basket placed on the first basket placement table 70 and whose product codes have been read, i.e., registered products. The second basket placement table 80 includes a second weighing unit 81, a pair of support rods 82, and a temporary placement table 83.
[0037] The second weighing unit 81 weighs the total weight of a shopping basket placed on the second basket placement table 80 and the products contained in the shopping basket, or the total weight of a shopping bag (not shown) supported by a pair of support rods 82 and the products contained in the shopping bag. The support rods 82 are rods for hanging and supporting a shopping bag containing registered products. The support rods 82 support the shopping bag in an open state, making it easier to put products into the shopping bag. The temporary placement table 83 is a table on which registered products that are easily broken or deformed, such as tofu and eggs, are temporarily placed. The customer can finally place the products placed on the temporary placement table 83 into a shopping basket or shopping bag.
[0038] The customer registers the product by holding the product taken out of the shopping basket placed on the first basket placement stand 70 over the reading window 230. The customer then places the registered product in a shopping basket placed on the second basket placement stand 80 or in a shopping bag supported by the support rod 82.
[0039] The control unit 100 (see FIG. 3) recognizes the weight change when the first weighing unit 71 weighs the weight before and after an item is removed from the shopping basket placed on the first basket placement table 70. The control unit 100 recognizes the weight change when the second weighing unit 81 weighs the weight before and after an item is placed in the shopping basket placed on the second basket placement table 80 or a shopping bag supported by the support rod 82. Depending on whether these two weight changes are equal, the control unit 100 can determine whether all of the items the customer wishes to purchase have been registered.
[0040] The main body 50 also includes a cylindrical pole 57 extending upward. The pole 57 has a light emitting section 571 at its upper end that emits light when a store clerk is called.
[0041] (POS terminal hardware configuration) Next, the hardware configuration of the POS terminal 10 will be described with reference to Fig. 3. Fig. 3 is a block diagram showing the hardware configuration of the POS terminal 10.
[0042] The POS terminal 10 includes a control unit 100, a memory unit 110, a display 51, a touch panel 52, a printer 53, a card reader 54, a change machine 55, a first weighing unit 71, a second weighing unit 81, a light-emitting unit 571, an audio output unit 120, a connection interface 121, and a LAN interface 122. The control unit 100, the memory unit 110, the display 51, the touch panel 52, the printer 53, the card reader 54, the change machine 55, the first weighing unit 71, the second weighing unit 81, the light-emitting unit 571, the audio output unit 120, the connection interface 121, and the LAN interface 122 are connected to each other via a bus 123 or the like.
[0043] The control unit 100 is configured as a computer including a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, and a RAM (Random Access Memory) 103. The CPU 101, the ROM 102, and the RAM 103 are connected to each other via a bus 123.
[0044] The CPU 101 controls the entire POS terminal 10. The CPU 101 is an example of a processor, and instead of the CPU 101, an MPU (Micro Processing Unit) may be used. If the processor is a multi-core / multi-thread processor, it can execute multiple processes in parallel. The processor may be realized in various other forms including integrated circuits such as an ASIC (Application Specific Integrated Circuit), a GPU (Graphics Processing Unit), an FPGA (Field-Programmable Gate Array), a DSP (Digital Signal Processor), a SoC (System on a Chip), and a PLD (Programmable Logic Device), or may be a combination of two or more of these.
[0045] The ROM 102 stores various programs and various data, such as a program used to drive the CPU 101. The RAM 103 is used as a work area for the CPU 101, and loads various programs and data stored in the ROM 102 and the storage unit 110. The control unit 100 executes various control processes of the POS terminal 10, for example, by the CPU 101 operating in accordance with a control program 111 stored in the storage unit 110 and loaded in the RAM 103.
[0046] RAM 103 has a product information section 1031. Product information section 1031 stores product information read from product master 112 (described later) based on the product code acquired from scanner 20. A product is registered by storing (registering) product information in product information section 1031. Product information stored in product information section 1031 includes product code, product name, price, etc. Product information section 1031 stores product information related to one transaction, and is cleared when the accounting process for that transaction is completed.
[0047] The storage unit 110 is configured with a storage medium such as a hard disk drive (HDD) or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 110 stores a control program 111 and a product master 112.
[0048] The control program 111 is a program for realizing a function of receiving a product code from the scanner 20, a function of registering a product based on the received product code, a function of processing an account for the registered product, etc. The control program 111 may be stored in the ROM 102 instead of in the storage unit 110.
[0049] The product master 112 is a master file that stores product information about products handled in the store. Since the products handled in the store change daily, the product master 112 is updated as appropriate by the server 40 or a store server (not shown) connected via the LAN interface 122. Fig. 7 is a diagram showing the data configuration of the product master 112. The product master 112 includes product codes, product categories, product names, and prices associated with the product codes.
[0050] The product code is information that identifies a product. The product code can be set independently by each store, for example. The product classification is information that classifies the products sold in the store. The product name is information that indicates the name of the product. The price is information that indicates the price (unit price) of the product. The product master 112 may also include other information in association with the product code.
[0051] Returning to Fig. 3, the description will continue of the hardware configuration of the POS terminal 10. The configurations and functions of the display 51 and the touch panel 52 are as described above.
[0052] The printer 53 is, for example, a thermal printer. The printer 53 prints information about the transaction on a roll of receipt paper and issues the paper as a receipt from an issuing port 531.
[0053] Card reader 54 reads credit information required for payment from a credit card inserted through card insertion slot 541. Card reader 54 also reads membership information identifying a member from a medium such as a membership card or a point card inserted through card insertion slot 541. Card reader 54 may magnetically read information from a card, or may be an IC card reader that reads information from an IC card with a built-in IC (Integrated Circuit) chip.
[0054] The change machine 55 accepts bills and coins paid by a customer when the customer pays for the purchase price of a product in cash, and dispenses change as necessary. Bills are inserted through a bill insertion slot 554, and coins are inserted through a coin insertion slot 551. Bills as change are discharged from a bill discharge slot 555, and coins as change are discharged from a coin discharge slot 552.
[0055] The configurations and functions of first weighing unit 71, second weighing unit 81, and light-emitting unit 571 are as described above. Audio output unit 120 generates sound as necessary to notify the customer of information. For example, audio output unit 120 outputs an alarm sound that notifies the customer that product registration has been completed. The audio output unit is an example of an alarm unit.
[0056] The connection interface 121 is an interface for communicating with the scanner 20 via a LAN or a USB cable. The control unit 100 transmits and receives information (data) to and from the scanner 20 via the connection interface 121, via the LAN or the USB cable. For example, the control unit 100 receives a product code from the scanner 20 via the connection interface 121, via the LAN or the USB cable.
[0057] The LAN interface 122 is an interface for communicating with the LAN hub LH via the LAN. The control unit 100 transmits and receives information (data) to and from the LAN hub LH via the LAN interface 122. For example, the control unit 100 transmits and receives the product master 112 to and from the server 40 via the LAN, via the LAN hub LH and the router RT.
[0058] The LAN interface 122 is also an interface for communicating with external devices such as a store server (not shown) managed by the store. The control unit 100 transmits and receives information to and from external devices via the LAN interface 122 and the LAN.
[0059] (Scanner hardware configuration) Next, the hardware configuration of the scanner 20 will be described with reference to Fig. 4. Fig. 4 is a diagram showing the hardware configuration of the scanner 20.
[0060] The scanner 20 captures an image of a product purchased by a customer to obtain the product image. The scanner 20 then detects a product barcode included in the product image, i.e., a barcode attached to the captured product, and decodes the detected product barcode. The decoded result of the product barcode includes the product code held by the product barcode. The scanner 20 also transmits the product image to the image recognition device 30 via a LAN.
[0061] The scanner 20 includes a control unit 200, a storage unit 210, an imaging unit 220, a connection interface 221, and a LAN interface 222. The control unit 200, the storage unit 210, the imaging unit 220, the connection interface 221, and the LAN interface 222 are connected to each other via a bus 223 or the like.
[0062] The control unit 200 is configured as a computer including a CPU 201, a ROM 202, and a RAM 203. The CPU 201, the ROM 202, and the RAM 203 are connected to each other via a bus 223.
[0063] The CPU 201 controls the entire scanner 20. The ROM 202 stores various programs, such as a program used to drive the CPU 201, and various data. The RAM 203 is used as a work area for the CPU 201, and loads various programs and data stored in the ROM 202 and the storage unit 210. The control unit 200 executes various control processes for the scanner 20, for example, by the CPU 201 operating in accordance with a control program 211 stored in the storage unit 210 and loaded in the RAM 203.
[0064] The storage unit 210 is configured with a storage medium such as a HDD or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 210 stores a control program 211 and a processing result 212.
[0065] The control program 211 is a program for realizing a function of capturing an image of a commodity by the imaging unit 220 and storing it in the RAM 203, a function of acquiring a frame image (commodity image) held in the RAM 203, a function of detecting a commodity barcode included in the commodity image, a function of decoding a commodity barcode, a function of transmitting a commodity image to the image recognition device 30, a function of receiving an image recognition result from the image recognition device 30, a function of merging the decoded result and the image recognition result, a function of transmitting a commodity code of the merged result to the POS terminal 10, etc. The control program 211 may be stored in the ROM 202 instead of being stored in the storage unit 210.
[0066] The processing result 212 includes a decoded result of the product barcode, an image recognition result by the image recognition device 30, and a merged result of merging the decoded result and the image recognition result. The merged result includes a product barcode included in the product image or a product code of the product shown in the product image.
[0067] The imaging unit 220 is composed of, for example, a color CCD image sensor or a color CMOS image sensor. The imaging unit 220 images a product through the reading window 230 under the control of the control unit 200, and outputs the acquired product image. For example, the imaging unit 220 captures a moving image at a predetermined frame rate (e.g., 30 fps). The imaging unit 220 stores the captured frame images in sequence in the RAM 203. The frame images (product images) stored in the RAM 203 are used to identify the product code of the product shown in the frame image.
[0068] The connection interface 221 is an interface for communicating with the POS terminal 10 via a LAN or a USB cable. The control unit 200 transmits and receives information (data) to and from the POS terminal 10 via the connection interface 221, the LAN, or the USB cable.
[0069] The LAN interface 222 is an interface for communicating with the image recognition device 30 via a LAN. The control unit 200 transmits and receives information (data) to and from the image recognition device 30 via the LAN through the LAN interface 222. The control unit 200 also transmits and receives information (data) to and from the image recognition device 30 via the LAN through the connection interface 221.
[0070] The control unit 200 detects a product barcode included in a frame image (product image) held by the RAM 203, decodes the product barcode, and acquires a product code held by the product barcode. The control unit 200 also transmits the frame image (product image) held by the RAM 203 to the image recognition device 30 via the LAN interface 222, and receives an image recognition result (product code) by the image recognition device 30 from the image recognition device 30. The control unit 200 also merges the decoded result and the image recognition result to identify the product barcode included in the product image or the product code of the product shown in the product image, and transmits the identified product code to the POS terminal 10 via the connection interface 221.
[0071] (Hardware configuration of image recognition device) Next, the hardware configuration of the image recognition device 30 will be described with reference to Fig. 5. Fig. 5 is a diagram showing the hardware configuration of the image recognition device 30.
[0072] The image recognition device 30 receives product images from the scanner 20 via the LAN. The image recognition device 30 performs image recognition on the received product images. That is, the image recognition device 30 acquires a product code of the product depicted in the product image based on the feature amount of the product image. The image recognition device 30 transmits the image recognition result to the scanner 20 via the LAN. Furthermore, the image recognition device 30 transmits the product image and the product code to the server 40 via the LAN as necessary. 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 includes a control unit 300, a storage unit 310, and a LAN interface 321. The control unit 300, the storage unit 310, and the LAN interface 321 are connected to each other via a bus 322 or the like.
[0074] The control unit 300 is configured as a computer including a CPU 301, a ROM 302, and a RAM 303. The CPU 301, the ROM 302, and the RAM 303 are connected to each other via a bus 322.
[0075] The CPU 301 controls the entire image recognition device 30. The ROM 302 stores various programs, such as a program used to drive the CPU 301, and various data. The RAM 303 is used as a work area for the CPU 301, and loads various programs and data stored in the ROM 302 and the storage unit 310. The control unit 300 executes various control processes of the image recognition device 30, for example, by the CPU 301 operating in accordance with a control program 311 stored in the storage unit 310 and loaded in the RAM 303.
[0076] The storage unit 310 is configured with a storage medium such as a HDD or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 310 stores a control program 311, a trained model 312, and a matching dictionary 313.
[0077] The control program 311 is a program for realizing functions such as receiving a product image from the scanner 20, performing image recognition on the product image, determining whether the image recognition has been successful, transmitting the image recognition result to the scanner 20, receiving the product code of the decoded result from the scanner 20, determining whether the product image is to be used for additional learning, transmitting the product image and the product code to the server 40, receiving an updated trained model and an 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 in the storage unit 310.
[0078] The trained model 312 is an image recognition model for performing image recognition on product images. The trained model 312 has been trained by machine learning and is additionally trained by machine learning.
[0079] The matching dictionary 313 is a data table that manages products in association with the features of the appearance of the products. FIG. 8 is a diagram showing the data structure of the matching dictionary 313. The matching dictionary 313 includes product codes and features associated with the product codes. The matching dictionary 313 may have multiple features for one product code. The product codes in the matching dictionary 313 are the same as the product codes in the product master 112 held in the memory unit 110 of the POS terminal 10.
[0080] As described above, the product code is information for identifying a product. The feature amount is, for example, a parameterized feature of the product's appearance, such as the product's standard shape, surface color, pattern, and unevenness. In addition to the product appearance feature, the feature amount may also include a parameterized feature of the shape of a sticker label on which a product barcode is printed and the character string or number string written thereon, which is affixed to the product. The control unit 300 acquires the feature amount included in the product image, compares the acquired feature amount with a matching dictionary, and acquires a product code associated with the acquired feature amount. In other words, the control unit 300 acquires a product code of a product shown in the product image from products pre-recorded in the matching dictionary 313 based on the feature amount acquired from the product image.
[0081] Returning to FIG. 5, the description of the hardware configuration of the image recognition device 30 will be continued.
[0082] The LAN interface 321 is an interface for communicating with the scanner 20 and the LAN hub LH. The control unit 300 transmits and receives information (data) to and from the scanner 20 and the LAN hub LH via the LAN interface 321.
[0083] For example, the control unit 300 receives a frame image (product image) from the scanner 20 via the LAN interface 321. In addition, the control unit 300 acquires the product code of the product shown in the product image as described above, and transmits the acquired product code to the scanner 20 via the LAN interface 321.
[0084] Furthermore, the control unit 300 transmits the product image that has been subjected to image recognition and the product code that is the decoded result received from the scanner 20 to the server 40 via the LAN interface 321 as necessary. The control unit 300 also receives the updated trained model 412 (see FIG. 6) and the updated matching dictionary 413 (see FIG. 6) from the server 40 via the LAN interface 321. The control unit 300 updates the currently held trained model 312 with the updated trained model 412. 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 the server 40 will be described with reference to Fig. 6. Fig. 6 is a diagram showing the hardware configuration of the server 40.
[0086] The server 40 receives and stores product images and product codes from the image recognition device 30. The server 40 uses the stored product images and product codes to perform additional learning of a trained model for product image recognition, and updates the trained model and the matching dictionary. The server 40 transmits the updated trained model and the updated matching dictionary to the image recognition device 30. The server 40 also manages product master data. The server 40 receives transaction processing information from the POS terminal 10, and manages the product master data based on the received transaction processing information. The server 40 transmits to each POS terminal 10 a product master data suitable for that POS terminal 10.
[0087] The server 40 includes a control unit 400, a storage unit 410, and a communication unit 421. The control unit 400, the storage unit 410, and the communication unit 421 are connected to each other via a bus 422 or the like.
[0088] The control unit 400 is configured by a computer including a CPU 401, a ROM 402, and a RAM 403. The CPU 401, the ROM 402, and the RAM 403 are connected to each other via a bus 422.
[0089] The CPU 401 controls the entire server 40. The ROM 402 stores various programs, such as a program used to drive the CPU 401, and various data. The RAM 403 is used as a work area for the CPU 401, and loads various programs and data stored in the ROM 402 and the storage unit 410. The control unit 400 executes various control processes of the server 40, for example, by the CPU 401 operating in accordance with a control program 411 stored in the storage unit 410 and loaded in the RAM 403.
[0090] The storage unit 410 is configured with a storage medium such as a HDD or a flash memory, and maintains the stored contents even when the power is cut off. The storage unit 410 stores a control program 411, a trained model 412, a comparison dictionary 413, and a product master 414.
[0091] The control program 411 is a program for realizing functions such as receiving product images and product codes from the image recognition device 30, storing product images and product codes, additionally learning and updating the trained model 412, updating the matching dictionary 413, sending the updated trained model 412 and the updated matching dictionary 413 to the image recognition device 30, receiving transaction processing information from the POS terminal 10, managing the product master 414, and sending the product master 414 to the POS terminal 10. The control program 411 may be stored in the ROM 402 instead of in the storage unit 410.
[0092] The trained model 412 is a model trained by machine learning for performing image recognition on product images. In detail, the trained model 412 is an image recognition model that acquires a feature amount included in the product image and compares the acquired feature amount with a matching dictionary 413 to acquire a product code of a product shown in the product image.
[0093] The matching dictionary 413 is a data table that manages product codes of products in association with the appearance features of the products, similar to the matching dictionary 313 held by the image recognition device 30. The matching dictionary 413 includes the matching dictionaries 313 held by multiple image recognition devices 30. The server 40 transmits to each image recognition device 30 the matching dictionary 313 suitable for that image recognition device 30.
[0094] Like the product master data 112 held by the POS terminal 10, the product master data 414 includes product codes, and product categories, product names, and prices associated with the product codes. The product master data 414 includes the product master data 112 held by multiple POS terminals 10. The server 40 manages the product master data 414 based on transaction processing information received from the POS terminals 10. For example, the server 40 updates the product master data 414 based on the transaction processing information. The server 40 sends to each POS terminal 10 the product master data 112 suitable for that POS terminal 10.
[0095] The communication unit 421 is an interface for communicating with the router RT. The control unit 400 transmits and receives information (data) to and from the router RT via the communication unit 421.
[0096] For example, the control unit 400 receives and stores product images and image recognition results from the image recognition device 30 via the communication unit 421. The control unit 400 performs additional learning of the trained model 412 using the stored product images and image recognition results, and updates the trained model 412 and the matching dictionary 413. The control unit 400 transmits the updated trained model and the updated matching dictionary to the image recognition device 30 via the communication unit 421.
[0097] The server 40 also receives transaction processing information from the POS terminal 10 via the communication unit 421. The server 40 manages the product master based on the received transaction processing information. The server 40 transmits the product master suitable for each POS terminal 10 to that POS terminal 10 via the communication unit 421.
[0098] (Functional configuration of POS terminal) Next, the functional configuration of the POS terminal 10 will be described with reference to Fig. 9. Fig. 9 is a block diagram showing the functional configuration of the control unit 100 of the POS terminal 10.
[0099] The control unit 100 has an input means 1001, a registration means 1002, an accounting processing means 1003, and an output means 1004. The control unit 100 functions as the input means 1001, the registration means 1002, the accounting processing means 1003, and the output means 1004 by the CPU 101 operating in accordance with a control program stored in the ROM 102 or the storage unit 110. Each of these functions may be configured by hardware such as a dedicated circuit.
[0100] Various information is input to the input means 1001 from the scanner 20, the touch panel 52, the card reader 54, the first weighing unit 71, the second weighing unit 81, etc. For example, a product code is input to the input means 1001 from the scanner 20.
[0101] Furthermore, information based on the operation of the touch panel 52 is input to the input means 1001. For example, transaction start information declaring the start of one transaction is input to the input means 1001. Furthermore, registration completion information indicating that product registration of the product related to one transaction has been completed is input to the input means 1001.
[0102] The registration means 1002 executes product registration of a product that a customer wishes to purchase through an operation of the customer. In other words, the registration means 1002 registers information on a product identified by product identification information inputted to the input means 1001. Specifically, the registration means 1002 reads product information from the product master 112 based on the product code inputted to the input means 1001. Then, the registration means 1002 stores the read product information in the product information section 1031. The product information is information including a product code, a product name, a price, etc.
[0103] The transaction processing means 1003 executes transaction processing related to the payment of the prices of the products registered by the registration means 1002. Specifically, the transaction processing means 1003 executes processing to calculate the total price (transaction amount) of the registered products, calculate the amount of change, display various information, issue receipts, etc. If the customer desires cashless payment such as credit card payment or two-dimensional code payment, the transaction processing means 1003 can execute the transaction processing necessary for payment.
[0104] The output unit 1004 outputs various information to the scanner 20, the printer 53, the change machine 55, the light emitting unit 571, the audio output unit 120, etc. For example, when transaction start information is input to the input unit 1001, the output unit 1004 outputs an imaging start signal that instructs the scanner 20 to start imaging. Also, when registration completion information is input to the input unit 1001, the output unit 1004 outputs an imaging stop signal that instructs the scanner 20 to stop imaging.
[0105] When the registration means 1002 completes the product registration for one product, the output means 1004 outputs a control signal for causing the audio output unit 120 to output an alarm sound. The output means 1004 functions as an alarm means for causing an alarm unit (audio output unit 120) to notify that the registration means 1002 has completed the registration of product information. It is also possible to provide the audio output unit 120 in the scanner 20. In this case, the audio output unit 120 may be configured to emit an alarm sound when the scanner 20 identifies the product code.
[0106] Furthermore, when the transaction processing unit 1003 has completed transaction processing, the output unit 1004 transmits transaction processing information to the server 40 via the LAN hub LH.
[0107] (Scanner Functional Configuration) Next, the functional configuration of the scanner 20 will be described with reference to Fig. 10. Fig. 10 is a block diagram showing the functional configuration of the control unit 200 of the scanner 20.
[0108] The control unit 200 has an acquiring means 2001, a decoding means 2002, a transmitting / receiving means 2003, a merging means 2004, and a transmitting means 2005. The control unit 200 functions as the acquiring means 2001, the decoding means 2002, the transmitting / receiving means 2003, the merging means 2004, and the transmitting means 2005 by the CPU 201 operating in accordance with a control program stored in the ROM 202 or the storage unit 210. Each of these functions may be configured by hardware such as a dedicated circuit.
[0109] The acquisition means 2001 acquires one frame image as a product image from a moving image captured by the imaging unit 220. The acquisition means 2001 stores the acquired product image in the RAM 203. For example, the acquisition means 2001 acquires all or some of a plurality of frame images sequentially captured by the imaging unit 220 as candidates for product images, stores all or some of the acquired frame images in the RAM 203, and selects a product image from all or some of the stored frame images.
[0110] In addition, the acquiring unit 2001 acquires various other information, for example, an image capture start signal and an image capture stop signal from the POS terminal 10.
[0111] The decoding means 2002 detects a product barcode included in the product image acquired by the acquisition means 2001, and extracts the product barcode from the product image. The decoding means 2002 decodes the extracted product barcode. The decoding means 2002 acquires the product code held by the product barcode as a decoding result of the decoding of the product barcode.
[0112] The transmitting / receiving means 2003 transmits the product image acquired by the acquiring means 2001 to the image recognition device 30. The image recognition device 30 performs image recognition on the received product image and transmits the image recognition result (product code of the product shown in the product image) to the scanner 20. The transmitting / receiving means 2003 receives the image recognition result transmitted by the image recognition device 30. In addition, the transmitting / receiving means 2003 transmits the decoded result by the decoding means 2002 (product code held by the product barcode) to the image recognition device 30.
[0113] The merging means 2004 merges the decoded result (the product code held by the product barcode) and the image recognition result (the product code of the product shown in the product image). That is, the merging means 2004 acquires one product code from the decoded result and the image recognition result. The merged result includes the product code held by the product barcode included in the product image or the product code of the product shown in the product image.
[0114] If no decoded result is obtained, the merging means 2004 uses the product code of the image recognition result as the merged result. Situations in which no decoded result is obtained include when the consumer does not properly hold the product barcode over the imaging unit 220 of the scanner 20, or when the product barcode is unnaturally bent or folded.
[0115] If both the decoded result and the image recognition result are obtained and match, the merging means 2004 naturally takes the matching product code as the merged result. Also, if both the decoded result and the image recognition result are obtained but do not match, the merging means 2004 takes the product code of the more reliable decoded result as the merged result.
[0116] The transmitting means 2005 transmits the product code resulting from the merging by the merging means 2004 to the POS terminal 10 via the connection interface 221 .
[0117] (Functional configuration of image recognition device) Next, the functional configuration of the image recognition device 30 will be described with reference to Fig. 11. Fig. 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 has a receiving means 3001, an image recognition means 3002, a determination means 3003, an update means 3004, and a transmission means 3005. The control unit 300 functions as the receiving means 3001, the image recognition means 3002, the determination means 3003, the update means 3004, and the transmission means 3005 by the CPU 301 operating in accordance with a control program stored in the ROM 302 or the storage unit 310. Each of these functions may be configured by hardware such as a dedicated circuit.
[0119] The receiving means 3001 receives the product image from the scanner 20 via the LAN interface 321. The receiving means 3001 stores the received product image in the RAM 303.
[0120] The image recognition means 3002 performs image recognition on the product image by an image recognition function using the trained model 312. In detail, the image recognition means 3002 acquires a feature amount included in the product image, compares the acquired feature amount with the matching dictionary 313, and acquires a product code associated with the feature amount that is closest to the acquired feature amount. The image recognition means 3002 stores the acquired product code in the RAM 303.
[0121] The transmission means 3005 transmits the product code, which is the image recognition result by the image recognition means 3002 , to the transmission / reception means 2003 of the scanner 20 via the LAN interface 321 .
[0122] The determination means 3003 determines whether the image recognition by the image recognition means 3002 has been successful. For example, if the difference between the acquired feature amount and the feature amount closest to the acquired feature amount is less than a predetermined amount, the determination means 3003 determines that the image recognition has been successful, and conversely, if the difference is equal to or greater than the predetermined amount, the determination means 3003 determines that the image recognition has failed. In addition, if the determination means 3003 determines that the image recognition has failed, it determines that the product image that has been subjected to image recognition is a product image to be used for additional learning.
[0123] Furthermore, the receiving means 3001 receives the product code, which is the decoded result, from the scanner 20 via the LAN interface 321. The receiving means 3001 stores the received product code in the RAM 303.
[0124] When the determination means 3003 determines that the product image that has been subjected to image recognition is a product image to be used for additional learning, the transmission means 3005 transmits the product image and its product code to the server 40 via the LAN interface 321.
[0125] The server 40 performs additional learning of the trained model 412 for product image recognition using the received product image and product code, and updates the trained model 412 and the matching dictionary 413. The server 40 transmits the updated trained model 412 and the updated matching dictionary 413 to the receiving means 3001 of the image recognition device 30 via the LAN interface 321.
[0126] The receiving means 3001 receives the updated trained model 412 and the updated matching dictionary 413 from the server 40 via the LAN interface 321. The receiving means 3001 stores the received updated trained model 412 and updated matching dictionary 413 in the RAM 303.
[0127] The update means 3004 updates the trained model 312 currently held in the storage unit 310 with the received updated trained model 412. In addition, the image recognition device 30 updates the matching dictionary 313 currently held in the storage unit 310 with the received updated matching dictionary 413.
[0128] (Server Functionality Configuration) Next, the functional configuration of the server 40 will be described with reference to Fig. 12. Fig. 12 is a block diagram showing the functional configuration of the control unit 400 of the server 40.
[0129] The control unit 400 has a receiving means 4001, an additional learning means 4002, a master management means 4003, and a transmitting means 4004. The control unit 400 functions as the receiving means 4001, the additional learning means 4002, the master management means 4003, and the transmitting means 4004 by the CPU 401 operating in accordance with a control program stored in the ROM 402 or the storage unit 410. Each of these functions may be configured by hardware such as a dedicated circuit.
[0130] The receiving means 4001 receives a product image for additional learning to be used for additional learning and a product code of the product image for additional learning from the image recognition device 30 via the communication unit 421. The receiving means 4001 stores the received product image and product code in the RAM 403.
[0131] The additional learning means 4002 performs additional learning on the trained model 412 held in the storage unit 410 at an appropriate timing, for example, when a certain amount of product images and product codes for additional learning have been accumulated, and updates the trained model 412. In addition, the additional learning means 4002 updates the matching dictionary 413 held in the storage unit 410 in accordance with the additional learning of the trained model 412.
[0132] The transmitting means 4004 transmits the updated trained model 412 and the matching dictionary 413 updated by the additional learning means 4002 to the receiving means 3001 of the image recognition device 30 via the communication unit 421, for example as an image file or a compressed file.
[0133] The receiving means 4001 also receives transaction processing information from the POS terminal 10 via the communication unit 421. The receiving means 4001 stores the received transaction processing information in RAM 403.
[0134] The master data management means 4003 manages the product master data 414 held in the storage unit 410 based on the received transaction processing information. For example, the product master data 414 includes a store code that identifies the store, the product master data 112 for each store code, and information such as whether or not a product with a product code for each store code is available and the remaining quantity, and the master data management means 4003 updates the product master data 414, for example, information such as the remaining quantity of a product with a product code, based on the received transaction processing information.
[0135] The transmission means 4004 transmits the product master 112 suitable for each store to the POS terminal 10 of the store via the communication unit 421 based on the product master 414 updated by the master management means 4003.
[0136] (Scanner and image recognition device operation) Next, the operation of the scanner 20 and the image recognition device 30 will be described with reference to FIG. 13. FIG. 13 is a flowchart showing the flow of the operation of the scanner 20 and the image recognition device 30 when registering one product in the product information registration system according to the embodiment. In FIG. 13, the operation of the scanner 20 is shown on the left side, and the operation of the image recognition device 30 is shown on the right side. The operation of the scanner 20 is performed by each part of the scanner 20 under the control of the control unit 200 that 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 that executes the control program 311. Unless otherwise specified, the processing operation of the scanner 20 and the image recognition device 30 shown in FIG. 13 transitions from ACTn (n is a natural number) to ACT(n+1).
[0137] In ACT11, the scanner 20 acquires one product image from a moving image captured by the imaging unit 220. For example, the scanner 20 first stores in the RAM 203 all or some of the multiple frame images captured sequentially by the imaging unit 220 as product image candidates. Next, the scanner 20 selects one frame image from the multiple frame images stored in the RAM 203, and sets the selected frame image as the product image. The scanner 20 also assigns an identification code to the product image for identifying the product image. In the following, for convenience, the product image is assumed to include the identification code.
[0138] In ACT12, the scanner 20 transmits the product image to the image recognition device 30 via the LAN, for example, by TCP communication.
[0139] In ACT21, the image recognition device 30 receives the product image and the identification code from the scanner 20 via the LAN. The image recognition device 30 stores the received product image in the RAM 303.
[0140] In ACT22, the image recognition device 30 performs image recognition on the product image. For example, the image recognition device 30 performs image recognition based on features such as the contour and color of the product depicted in the product image. In this case, first, the image recognition device 30 acquires the features included in the product image. Next, the image recognition device 30 checks the acquired features against the matching dictionary 313 and searches for features that are closest to the acquired features. Next, the image recognition device 30 acquires the product code associated with the search result (the feature that is closest to the acquired feature).
[0141] In ACT23, the image recognition device 30 determines whether the image recognition has been successful. For example, the image recognition device 30 first obtains a difference between the acquired feature amount and a feature amount closest to the acquired feature amount. Next, the image recognition device 30 compares the obtained difference with a predetermined amount.
[0142] If the comparison result shows that the difference is less than a predetermined amount, the image recognition device 30 determines that the image recognition was successful. In this case (Yes in ACT23), the image recognition device 30 stores the product code acquired in ACT22 as the image recognition result in the RAM 303. Then, the operation proceeds to ACT24.
[0143] On the other hand, if the comparison result shows that the difference is equal to or greater than the predetermined amount, the image recognition device 30 determines that the image recognition has failed. In this case (No in ACT23), 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 that has undergone image recognition is a product image to be used for additional learning.
[0144] In ACT24, the image recognition device 30 transmits the image recognition result held 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.
[0145] In ACT13, the scanner 20 detects a product barcode from the product image. In other words, the scanner 20 determines whether or not a product barcode is captured in the product image.
[0146] If the product barcode is detected in ACT 13 (YES in ACT 13), the scanner 20 extracts and decodes the detected product barcode in ACT 14, and obtains the product code held by the product barcode as the decoding result. The scanner 20 stores the obtained product code in the RAM 203.
[0147] Next, in ACT15, the scanner 20 transmits the product code of the decoded result (the product code held by the product barcode) to the image recognition device 30. Since the operations of ACT14 and ACT15 are performed when the product barcode is detected in ACT13, the scanner 20 may not transmit the product code of the decoded result in ACT15.
[0148] In ACT16, the scanner 20 checks whether it has received the image recognition result of the product image (the product code of the product shown in the product image) from the image recognition device 30. If it has received the image recognition result (Yes in ACT16), the scanner 20 stores the received image recognition result in the RAM 203. The scanner 20 may identify the product image corresponding to the image recognition result based on the identification code received together with the image recognition result. Then, it proceeds to the merging operation in ACT17.
[0149] If the product barcode cannot be detected in ACT13 (No in ACT13), the operations in ACT14 and ACT15 are skipped and the process moves to the operation of confirming receipt of the image recognition result in ACT16.
[0150] If the image recognition result has not been received in ACT16 (No in ACT16), the scanner 20 repeats the operations in ACT11 and ACT13 to ACT15. At this time, the image recognition device 30 does not require a new product image, so the product image transmission in ACT12 is omitted. That is, until the image recognition result is received from the image recognition device 30, the scanner 20 continues a series of regular operations such as obtaining a product image in ACT11, detecting a product barcode in ACT13, decoding in ACT14, and transmitting the product code of the decoded result in ACT15.
[0151] In ACT17, the scanner 20 merges the decoded result (the product code held by the product barcode) and the image recognition result (the product code of the product shown in the product image). That is, the scanner 20 obtains one product code that is considered to be the most correct from the decoded result and the image recognition result.
[0152] If no decoded result is obtained, the product code from the image recognition result is treated as the merged result. Situations in which no decoded result is obtained include when the consumer does not hold the product barcode over the image capturing unit 220 of the scanner 20 correctly, or when the product barcode is unnaturally bent or folded.
[0153] When both the decoded result and the image recognition result are obtained, the scanner 20 compares the decoded result with the image recognition result. If the comparison shows that the decoded result and the image recognition result match, the scanner 20 merges the product code of the matching decoded result and image recognition result. If the comparison shows that the decoded result and the image recognition result do not match, the scanner 20 merges the product code of the more reliable decoded result.
[0154] In ACT 18, the scanner 20 transmits the merged product code (the product code that is considered to be the most correct) to the POS terminal 10.
[0155] When the scanner 20 transmits the decoded product code (the product code held by the product barcode) in ACT 15, the image recognition device 30 receives the decoded product code in ACT 25. The image recognition device 30 stores the received decoded product code in the RAM 303.
[0156] In ACT 26, the image recognition device 30 determines whether there is a product image to be used for additional learning. For example, if there is a product image for which image recognition has failed in ACT 23 and a product code of the decoded result has been received from the scanner 20 in ACT 25, the image recognition device 30 determines that there is a product image to be used for additional learning.
[0157] If it is determined in ACT26 that there is a product image to be used for additional learning, in ACT27, the image recognition device 30 transmits to the server 40 the product image that failed image recognition and is stored in the RAM 303, and the product code that is the decoded result received from the scanner 20.
[0158] If it is determined in ACT26 that there are no product images to be used for additional learning, the operation in ACT27 is skipped and the process ends.
[0159] (Communication system between scanner and image recognition device) Next, the communication system CS between the scanner 20 and the image recognition device 30 will be described with reference to Fig. 14. Fig. 14 is a block diagram showing the configuration of the communication system CS between the scanner 20 and the image recognition device 30 according to the embodiment.
[0160] The scanner 20 and the image recognition device 30 are connected to each other via a LAN (Local Area Network) so as to be capable of bidirectional communication.
[0161] The scanner 20 transmits product images via the LAN, and the image recognition device 30 receives the product images via the LAN. The scanner 20 also transmits product codes resulting from decoding via the LAN, and the image recognition device 30 receives the product codes resulting from decoding via the LAN. The image recognition device 30 transmits product codes resulting from image recognition via the LAN, and the scanner 20 receives the product codes resulting from image recognition via the LAN.
[0162] The scanner 20 and the image recognition device 30 transmit and receive information (data) through TCP communication. The communication methods used in TCP communication can be roughly divided into two types: a short-lived method and a keep alive method.
[0163] The short-lived method is a communication method in which connection, transmission, reception, and disconnection are one sequence in one communication. In other words, the short-lived method is a method in which only one transmission and reception occurs between connection and disconnection. The short-lived method provides highly reliable communication. On the other hand, it takes a long time to communicate large amounts of information.
[0164] The keep alive method is a method in which connection and disconnection are performed only once, and transmission and reception are continued as desired until disconnection. In other words, it is a method in which transmission and reception are performed multiple times between connection and disconnection. With the keep alive method, confirmation that the other party is alive is made by checking if transmission fails. Since the keep alive method performs transmission and reception multiple times while the connection is alive, it is possible to communicate a large amount of information in a relatively short period of time. On the other hand, the keep alive method places a heavy load on communications because it keeps the connection established.
[0165] Both the short-lived method and the keep alive method have their advantages and disadvantages, and it is preferable to be able to switch between these two communication methods depending on the communication situation.
[0166] For this reason, the scanner 20 has a communication method switching unit 250 capable of switching the communication method between the short-lived method and the keep alive method. Also, the image recognition device 30 has a communication method switching unit 350 capable of switching between the short-lived method and the keep alive method. The communication method switching unit 250 and the switchable communication method switching unit 350 are synchronized and switch the communication method to the same communication method.
[0167] For example, when the communication method switching unit 250 switches the communication method to the short-lived method, the communication method switching unit 350 also switches the communication method to the short-lived method. Conversely, when the communication method switching unit 250 switches the communication method to the keep alive method, the communication method switching unit 350 also switches the communication method to the keep alive method. The reverse is also true. In other words, when the communication method switching unit 350 switches the communication method, the communication method switching unit 250 also switches to the same communication method.
[0168] The communication method switching unit 250 and the communication method switching unit 350 switch the communication method to either the short-lived method or the keep alive method according to the type of information to be transmitted. For example, when transmitting a product image from the scanner 20 to the image recognition device 30, the amount of information in the product image is relatively large, so the communication method switching unit 250 switches the communication method to the keep alive method. Also, when transmitting an image recognition result from the image recognition device 30 to the scanner 20, communication errors are not permitted, so the communication method switching unit 350 switches the communication method to the short-lived method.
[0169] Furthermore, the communication method switching unit 250 and the communication method switching unit 350 may switch the communication method to either the short-lived method or the keep alive method depending on the communication load. For example, when information is being transmitted from one of the scanner 20 and the image recognition device 30 to the other in the short-lived method, if it is predicted that a long time will be required until the communication is completed, the communication method switching unit 250 and the communication method switching unit 350 switch the communication method from the short-lived method to the keep alive method. Furthermore, if the proportion of communication in the overall processing of the communication method switching unit 250 and the communication method switching unit 350 is high, the communication method switching unit 250 and the communication method switching unit 350 switch the communication method to the short-lived method.
[0170] The communication method may be switched by a user issuing an instruction to the communication method switching unit 250 and the communication method switching unit 350 .
[0171] For example, the function of the communication method switching unit 250 is realized by the control unit 200 of the scanner 20 operating in accordance with the control program 211. Also, the function of the communication method switching unit 350 is realized by the control unit 300 of the image recognition device 30 operating in accordance with the control program 311.
[0172] (Example of short-lived communication) Next, an example of communication in the short-lived mode between the scanner 20 and the image recognition device 30 in the communication system CS will be described with reference to Fig. 15. Fig. 15 is a sequence diagram of an example of communication in the short-lived mode between the scanner 20 and the image recognition device 30 in the communication system CS of the embodiment. The communication example in Fig. 15 is an example in which the image recognition device 30 transmits a request to the scanner 20.
[0173] In this communication example, first, the image recognition device 30 transmits a connection request to the scanner 20. The connection request includes an IP address, a port number, etc. Upon receiving the connection request, the scanner 20 completes a connection with the image recognition device 30 based on the received IP address, port number, etc.
[0174] After the connection is established, the image recognition device 30 transmits a request to the scanner 20. The request includes a request, data, etc. Upon receiving the request, the scanner 20 transmits a response, such as data, to the image recognition device 30 in accordance with the request, etc.
[0175] After sending the response, the scanner 20 and the image recognition device 30 each disconnect.
[0176] When the image recognition device 30 transmits the next request to the scanner 20, the above series of operations is performed.
[0177] In this way, in short-lived communications, connection and disconnection are performed before and after each request and response transmission.
[0178] (Example of communication using the keep alive method) Next, an example of communication between the scanner 20 and the image recognition device 30 in the communication system CS using the keep alive method will be described with reference to Fig. 16. Fig. 16 is a sequence diagram of an example of communication between the scanner 20 and the image recognition device 30 in the communication system CS of the embodiment using the keep alive method. The communication example in Fig. 16 is an example in which the image recognition device 30 transmits a request to the scanner 20.
[0179] In this communication example, first, the image recognition device 30 transmits a connection request to the scanner 20. The connection request includes an IP address, a port number, etc. Upon receiving the connection request, the scanner 20 completes a connection with the image recognition device 30 based on the received IP address, port number, etc.
[0180] After the connection is established, the image recognition device 30 transmits a request to the scanner 20. The request includes a request, data, etc. Upon receiving the request, the scanner 20 transmits a response, such as data, to the image recognition device 30 in accordance with the request, etc.
[0181] Even after transmitting the response, the connection between the scanner 20 and the image recognition device 30 continues. While the connection continues, the image recognition device 30 can transmit requests to the scanner 20, and the scanner 20 can transmit responses to the image recognition device 30.
[0182] After the necessary requests and responses have been transmitted and received, the scanner 20 and the image recognition device 30 each disconnect.
[0183] In this way, in communication using the keep alive method, an arbitrary number of requests and responses are sent and received between connection and disconnection.
[0184] (effect) In the product information registration system RS of the embodiment, the computer constituting the control unit 200 of the scanner 20 and the computer constituting the control unit 300 of the image recognition device 30 are separate entities. That is, the control unit 200 of the scanner 20 does not need to execute control processing related to image recognition, but only needs to execute control processing related to the functions of the scanner 20. Similarly, the control unit 300 of the image recognition device 30 does not need to execute control processing related to the functions of the scanner 20, but only needs to execute control processing related to image recognition. Compared with a configuration in which the control unit 200 of the scanner 20 and the control unit 300 of the image recognition device 30 are configured by a common computer, the load borne by the control unit 200 of the scanner 20 and the control unit 300 of the image recognition device 30 is greatly reduced.
[0185] Since the scanner 20 and the image recognition device 30 are capable of bidirectional communication via a LAN, the communication load between the scanner 20 and the image recognition device 30 is small.
[0186] Furthermore, in the communication system CS of the scanner 20, the image recognition device 30, and the server 40 of the embodiment, it is possible to switch the communication method for communication between the scanner 20 and the image recognition device 30. Specifically, the communication method switching unit 250 of the scanner 20 and the communication method switching unit 350 of the image recognition device 30 can switch the communication method to either the short-lived method or the keep alive method.
[0187] The communication method switching unit 250 and the communication method switching unit 350 can switch the communication method between the short-lived method and the keep alive method depending on the type of information to be transmitted. The communication method switching unit 250 and the communication method switching unit 350 can switch the communication method between the short-lived method and the keep alive method depending on the transmission load.
[0188] (others) In the above embodiment, the control programs executed by the POS terminal 10, the scanner 20, the image recognition device 30, and the server 40 may be configured to be provided by recording them on a computer-readable recording medium such as a CD-ROM. Also, the control programs executed by the POS terminal 10, the scanner 20, the image recognition device 30, and the server 40 in the above embodiment may be configured to be stored on a computer connected to a network such as the Internet and provided by downloading them via the network, or may be configured to be provided via a network such as the Internet.
[0189] Although the embodiment of the present invention has been described above, this embodiment is presented as an example and is not intended to limit the scope of the invention. This embodiment can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. This embodiment and its modifications are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0190] 1... Self-service POS system, 10... POS terminal, 100... control unit, 1001... input means, 1002... registration means, 1003... accounting means, 1004... output means, 101... CPU, 102... ROM, 103... RAM, 1031... product information unit, 110... memory unit, 111... control program, 112... product master, 120... audio output unit, 121... connection interface, 122... LAN interface, 123... bus, 50... main body, 51... display, 52... touch panel, 53... printer, 531... issue port, 54... card reader, 541...card insertion slot, 55...change machine, 551...coin insertion slot, 552...coin discharge slot, 553...coin tray, 554...banknote insertion slot, 555...banknote discharge slot, 57...pole, 571...light emitting unit, 70...first basket placement stand, 71...first weighing unit, 80...second basket placement stand, 81...second weighing unit, 82...support rod, 83...temporary placement stand, 20...scanner, 200...control unit, 2001...acquisition means, 2002...decoding means, 2003...transmission / reception means, 2004...merging means, 2005...transmission means, 201...CPU, 202...ROM, 203...RAM, 210...storage Memory unit, 211...control program, 212...processing result, 220...imaging unit, 221...connection interface, 222...LAN interface, 223...bus, 230...reading window, 250...communication method switching unit, 30...image recognition device, 300...control unit, 3001...receiving means, 3002...image recognition means, 3003...determination means, 3004...updating means, 3005...transmitting means, 301...CPU, 302...ROM, 303...RAM, 310...memory unit, 311...control program, 312...trained model, 313...matching dictionary, 321...LAN interface interface, 322...bus, 350...communication method switching unit, 40...server, 400...control unit, 4001...receiving means, 4002...additional learning means, 4003...master management means, 4004...transmitting means, 401...CPU, 402...ROM, 403...RAM, 410...memory unit, 411...control program, 412...trained model, 413...matching dictionary, 414...product master, 421...communication unit, 422...bus, CS...communication system, LH...LAN hub, MS...product information management system, NW...network, RS...product information registration system, RT...router.
Claims
1. A first device having an imaging function; a second device having an image recognition function; a local area network communicatively connecting the first device and the second device; the first device has a first communication method switching unit capable of switching a communication method between a first communication method and a second communication method different from the first communication method; the second device has a second communication method switching unit capable of switching the communication method between the first communication method and the second communication method; Communication systems.
2. the first communication method switching unit and the second communication method switching unit are synchronized and switch the communication method to the same communication method; The communication system according to claim 1 .
3. the first communication method is a short-lived method in which only one transmission and reception is performed between connection and disconnection, The second communication method is a keep alive method in which multiple transmissions and receptions are performed between connection and disconnection. The communication system according to claim 2 .
4. the first communication method switching unit and the second communication method switching unit switch the communication method to either the short-lived method or the keep alive method according to a type of information to be transmitted; The communication system according to claim 3.
5. the first communication method switching unit and the second communication method switching unit switch the communication method to either the short-lived method or the keep alive method according to a communication load; The communication system according to claim 3.
Citation Information
Patent Citations
Image recognition apparatus and image recognition method
JP2008242712A
Radio communication device and communication method for radio communication device
JP2019068302A
Product data processing apparatus and product data processing program
JP2019021168A
Cited By
Information processing device, information processing method, and program
JP7828595B1
情報処理装置、情報処理方法及びプログラム
JP7936494B1