Identification for triggered item

A computer system addresses barcode inaccuracies by using motion detection and computer vision to identify items, improving transaction efficiency and resource utilization.

JP2025100344APending Publication Date: 2025-07-03TOSHIBA TEC KK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024185058
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-21
Filing Date
2024-10-21
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Checkout systems struggle with accurately identifying items when barcodes are damaged or unreadable, leading to transaction delays and resource inefficiencies.

Method used

A computer system that uses motion detection via video analysis to identify inaccurately scanned barcodes, triggering an item identification process using computer vision to capture and recognize items, thereby adding them to the transaction.

Benefits of technology

Reduces transaction delays and conserves computing resources by automatically identifying items with damaged or unreadable barcodes, enhancing system efficiency and reducing waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025100344000001_ABST
    Figure 2025100344000001_ABST
Patent Text Reader

Abstract

To provide a computer system and a method for identifying a movement activation item.SOLUTION: A computer system includes a memory and a processor communicatively coupled to the memory. A processor detects movement of a user while scanning a bar-code of an item, on the basis of a video of the user, and captures an image of the item when the bar-code is determined to be incorrectly scanned, on the basis of the movement of the user. The processor also determines identity of the item on the basis of the image of the item, and adds the item to a checking-out transaction on the basis of the identity of the item.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001]

[0001] The present invention relates to a checkout system, and more specifically, to triggered item identification for a checkout system.

Brief Description of the Drawings

[0002]

Figure 1

[0002] FIG. 1 illustrates an exemplary system.

Figure 2

[0003] FIG. 2 illustrates an exemplary operation for scanning and identifying items executed by the system of FIG. 1.

Figure 3

[0004] FIG. 3 illustrates an exemplary operation for determining an inaccurate barcode scan executed by the system of FIG. 1.

Figure 4

[0005] FIG. 4 illustrates an exemplary operation for adjusting system components executed by the system of FIG. 1.

Figure 5

[0006] FIG. 5 illustrates an exemplary operation for activating item identification executed by the system of FIG. 1.

Figure 6

[0007] FIG. 6 illustrates an exemplary operation for identifying items executed by the system of FIG. 1.

Figure 7

[0008] FIG. 7 is a flowchart of an exemplary method for scanning and identifying items executed by the system of FIG. 1.

Modes for Carrying Out the Invention

[0003]

[0009] During checkout, the user can scan the barcode on the item. The checkout system may determine the identity of the item from the scanned barcode, and the checkout system may add the item and the price of the item to the transaction. Occasionally, however, the barcode on the item may be damaged or difficult to read. For example, packaging with a printed barcode may be folded or torn. As another example, ink or other markings may cover or distort part of the barcode. As a result, the checkout system may not be able to scan the barcode, which prevents the system from recognizing the item. The system may not be able to complete the transaction, or the system may delay processing the transaction.

[0004]

[0010] The present disclosure describes a system that detects when a barcode has been scanned inaccurately and triggers an item identification system or process. The system may monitor video (e.g., using computer vision techniques) to detect when the user performs a movement indicating that the barcode has been scanned inaccurately. For example, the system can detect when the user attempts to scan the same item repeatedly, or when the user repeatedly flips the item over. The system may then activate the item identification system or process. For example, the system may activate a secondary camera to capture an image of the item. The system may analyze these images to identify the item. After the item has been identified, the system may add the item to the transaction and deactivate the item identification system or process.

[0005]

[0011] In one embodiment, the system provides several technical advantages. For example, the system can automatically identify when a barcode on an item is scanned inaccurately. The system can also automatically trigger an item identification process to identify the item. In this way, the system reduces the amount of time taken to complete a transaction. Further, in some cases, items with damaged barcodes are discarded, but the system reduces waste by identifying items with damaged barcodes and enables the items to be added to the transaction. Additionally, the system may activate an item identification system or process as needed (e.g., when the system detects that a barcode has been scanned inaccurately), which reduces the use of computing resources and power consumption and thus improves the operation of the computer.

[0006]

[0012] Figure 1 illustrates an exemplary system 100. Generally, system 100 may be in a store checkout area. A user may scan an item in the checkout area to add the item to a transaction. For example, each item may be provided with a barcode that can be scanned to identify the item. The item may then be added to the transaction. As shown in Figure 1, system 100 includes a checkout system 102, a checkout system 104, a computer system 106, and a camera 105.

[0007]

[0013] The checkout system 120 may be a self-checkout system. The user may bring the item to the checkout system 102 to scan and purchase the item. As shown in FIG. 1, the checkout system 102 includes a scanner 108, a display 110, one or more cameras 112, and a bagging area 114. Generally, the user may use the scanner 108 to scan the barcode on the item. The checkout system 102 may then identify the item based on the scanned barcode and add the item to the transaction. The display 110 may identify the items added to the transaction. The user may then place the item in the bagging area 114. In some cases, the camera 112 may capture an image or video of the item when the item is scanned.

[0008]

[0014] The checkout system 104 may be an assisted checkout system, and a store clerk or colleague may scan the item for the user. As shown in FIG. 1, the checkout system 104 includes a conveyor 116, a scanner 118, a display 120, one or more cameras 112, and a bagging area 124. The user may place the item on the conveyor 116, and the conveyor 16 may move the item towards the scanner 118. The store clerk or colleague may use the scanner 118 to scan the barcode on the item. The checkout system 104 may identify the item based on the scanned barcode and add the item to the transaction. The display 120 may display the items added to the transaction. The store clerk or colleague may then place the item in the bagging area 124. The camera 122 may capture an image or video of the item when the item is scanned by the scanner 118.

[0009]

[0015] Camera 105 may be positioned throughout system 100. For example, camera 105 may be positioned on the ceiling of a store. Camera 105 may be directed towards checkout systems 102 and 104. For example, camera 105 may be directed towards scanner 108 or a store employee or associate at checkout system 104. Generally, camera 105 captures video of a user (shopper, store employee or associate) who scans an item's barcode using scanners 108 and 118. The video may show the user's movement as the user scans the item's barcode.

[0010]

[0016] When a barcode is damaged or unreadable, scanner 108 or 118 may fail to scan the barcode correctly. For example, if the barcode is damaged, cut, covered, folded, etc., scanner 108 or 118 may not be able to scan the barcode and identify the item. When the barcode fails to scan correctly, the user may perform a specific movement indicating that the barcode was scanned inaccurately. For example, the user may attempt to rescan using scanner 108 or 118, or may start to turn the item over in the user's hand to look for another barcode. Camera 105 can capture video showing these types of movements.

[0011]

[0017] The computer system 106 can determine when a barcode has been scanned inaccurately to trigger an item identification process. Generally, the computer system 106 can analyze video from the camera 105 to determine when a barcode has been scanned inaccurately. When it is determined that a barcode has been scanned inaccurately, the computer system 106 may then trigger an item identification process. The computer system 106 may be integrated with or separate from the checkout systems 102 and 104. The computer system 106 may communicate with the checkout systems 102 and 104 and the camera 105. As shown in FIG. 1, the computer system 106 includes a processor 126 and a memory 128 that are arranged to perform the functions or actions of the computer system 106 described herein.

[0012]

[0018] Processor 126 is communicatively coupled to memory 128 and is any electronic circuit including, but not limited to, one or a combination of a microprocessor, a microcontroller, an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), and / or a state machine that controls the operation of computer system 106. Processor 126 may be of 8-bit, 16-bit, 32-bit, 64-bit, or some other suitable architecture. Processor 126 may include an arithmetic logic unit (ALU) for performing arithmetic and logical operations, processor registers for supplying operands to the ALU and storing the results of ALU operations, a control unit for fetching instructions from memory and executing them by managing the coordinated operations of the ALU, registers, and other components. Processor 126 may include other hardware for operating software that controls and processes information. Processor 126 executes software stored on memory 28 to perform any of the individually described functions. Processor 126 controls the operation and management of computer system 106 based on processing information (e.g., information received from checkout system 102 or 104, camera 105, and memory 128). Processor 126 is not limited to a single processing device and may include a single device or computer, or multiple processing devices distributed across multiple devices or computers. Processor 126 is considered to perform a set of functions or actions even if multiple processing devices perform the set collectively, for example, if different processing devices perform different functions or actions within the set.

[0013]

[0019] Memory 128 may store data, operational software, or other information for the processor 126 either permanently or temporarily. Memory 128 may include any one or combination of volatile or non-volatile local or remote devices suitable for storing information. For example, memory 128 may include random access memory (RAM), read only memory (ROM), magnetic storage devices, optical storage devices, or any other suitable information storage device or combination of these devices. Software represents any suitable set of instructions, logic, or code embodied on a computer-readable storage medium. For example, software may be embodied on memory 128, a disk, a CD, or a flash device. In certain embodiments, software may include applications executable by processor 126 to perform one or more of the functions described herein. Memory 128 is not limited to a single memory and may include multiple memories included in the same device or computer or distributed across multiple devices or computers. Memory 128 is considered to store a set of data, operational software, or information, and in the case of multiple memories, is considered to store a set of data, operational software, or information collectively, and different parts of the data, operational software, or set of information are considered to be stored even if in different memories.

[0014]

[0020] The computer system 106 may analyze the video from the camera 105 to determine whether the barcode is not being scanned or is being scanned inaccurately. For example, the computer system 106 may analyze the video using computer vision to determine whether a user in the video is making a certain type of movement or motion. These movements or motions may include a user who repeatedly scans an item by using the scanner 108 or 118 or by turning the item over in the user's hand. When the computer system 106 detects these movements or motions in the video, the computer system 106 may determine that the barcode on the item is not being scanned or is being scanned inaccurately.

[0015]

[0021] In some embodiments, computer system 106 may consider other indicators that the barcode has been scanned inaccurately. For example, computer system 106 may use a timeout as an additional indication that the barcode has been scanned inaccurately. Computer system 106 may start a timer when an item is scanned using scanner 108 or 118. The timer may be set to a timeout value and may count down from the timeout value. When the time expires, a timeout occurs. If no other item has been scanned before the time expires, computer system 106 may consider the resulting timeout as an additional indication that the barcode has been scanned inaccurately. As another example, computer system 106 may consider or analyze an image from checkout system 102 or 104 as an additional indication that the barcode has been scanned inaccurately. When a user attempts to scan a barcode on an item, scanner 108 or 118 or camera 112 or 122 may capture an image of the barcode on the item. Computer system 106 may analyze the image to determine whether the barcode is damaged or illegible. Computer system 106 may determine that the barcode in the image is damaged or illegible, and then computer system 106 may consider that image as an additional indication that the barcode has been scanned inaccurately.

[0016]

[0022] Computer system 106 may trigger an item identification process in response to a determination that a barcode has been scanned inaccurately. Generally, during the item identification process, computer system 106 may use computer vision techniques to identify an item using an image of the item. For example, when computer system 106 determines that a barcode on an item has been scanned inaccurately, computer system 106 may activate an item identification process. Computer system 106 may activate camera 112 or 122 of checkout system 102 or 104. Camera 112 or 122 may then capture an image or video of the item as the item moves past scanner 108 or 118. Computer system 106 may analyze the image or video of the item using computer vision techniques to identify the item. For example, computer system 106 may compare the image to a database of images to find the closest match. As another example, computer system 106 may convert the image of the item to a vector and then compare the vector to a database of vectors to find the closest match. Computer system 106 may determine the closest match as the identity of the scanned item. Computer system 106 may then add the identified item to the transaction and indicate to the user that the item has been scanned and added to the transaction. After the item has been identified, computer system 106 may deactivate the item identification process. For example, after the item has been identified, computer system 106 may deactivate camera 112 or 122 of checkout system 102 or 104, which saves computational resources and power.

[0017]

[0023] In this way, when the barcode on an item is damaged or unreadable, the computer system 106 can automatically identify the item. Further, the computer system 106 can determine when the barcode was scanned inaccurately in order to trigger the item identification process. Thus, the item identification process may be triggered only when the barcode is scanned inaccurately, which, in some embodiments, saves computing resources and reduces power consumption. Further, the computer system 106 can reduce the delay caused by damaged or unreadable barcodes.

[0018]

[0024] FIG. 2 illustrates an exemplary operation 200 executed by the system 100 of FIG. 1. Generally, the computer system 106 may execute operation 200. By executing operation 200, the computer system 106 identifies damaged or unreadable items.

[0019]

[0025] The computer system 106 may receive video 202 from the camera 105 in the system 100. The video 202 may show a user attempt to scan the barcode of an item using the scanner 108 or 118. The computer system 106 may analyze the video 202 using computer vision techniques and detect the movement made by the user in the video 202. The movement 204 may indicate that the user is experiencing difficulty correctly scanning the barcode on the item. For example, the movement 204 may be a user who repeatedly moves the item over the scanner 108 or 118 of the item. As another example, the movement 204 may be a user who turns the item over in their hand (to locate another barcode). When the computer system 106 detects the movement 204 in the video 202, the computer system 106 may determine that the barcode on the item is being scanned inaccurately.

[0020]

[0026] When the computer system 106 detects a movement 204 indicating that the barcode is being scanned inaccurately, the computer system 106 activates the item identification process. The computer system 106 may activate the camera 112 or 122, and as the item moves across the scanner 108 or 18, the camera 112 or 122 may capture an image 206 of the item. The computer system 106 may use computer vision techniques to analyze the image 206 and determine the identity 208 of the item. For example, the computer system 106 may compare the image 206 with a database of item images to find the closest match. As another example, the computer system 106 may convert the image 206 into a vector that includes a numerical representation of the image 206. The computer system 106 may then compare the vector with a database of vectors for items to identify the closest match. The computer system 106 may determine the identity 208 of the item as the closest match in the database.

[0021]

[0027] After identifying the item in the image 206, the computer system 106 may add the item to the transaction 210. For example, the computer system 106 may include the item name, the price of the item in the transaction 210. In this way, even if the item is scanned inaccurately, the computer system 106 enables the transaction 210 to proceed quickly. As a result, the computer system 106 reduces the delay caused by a damaged or unreadable barcode on the item.

[0022]

[0028] Figure 3 illustrates an exemplary operation 300 executed by the system 100 of Figure 2. Generally, the computer system 106 executes the operation 300. By executing the operation 300, the computer system 106 determines when the barcode on an item is scanned inaccurately.

[0023]

[0029] Computer system 106 receives video 202 from camera 105 and system 100. Video 202 can indicate that the user attempts to scan the barcode of the item using scanner 108 or 118. Computer system 106 may use computer vision technology to detect the movement 204 of the user in video 204. Movement 204 can indicate that the user is experiencing difficulty in correctly scanning the barcode on the item. For example, movement 204 may be that the user repeatedly moves the item with respect to scanner 108 or 118. As another example, movement 204 may be that the user turns the item over in the user's hand. Computer system 106 may determine from movement 204 that the barcode is scanned inaccurately.

[0024]

[0030] When determining whether a barcode has been scanned inaccurately, computer system 106 may consider other indicators. For example, computer system 106 may receive a scan 302 of an item. Scan 302 may be a scan 302 of a previous item (e.g., the item before an item with a damaged or unreadable barcode). When computer system 106 receives scan 302, computer system 106 may start a countdown timer with a timeout value set. Computer system 106 may reset the timer when the barcode on the item has been scanned correctly. Due to the barcode on the item being scanned inaccurately, the timer may continue to run until a timeout 304 occurs. When computer system 106 detects that timeout 304 has occurred, computer system 106 may consider timeout 304 as further indication that the barcode on the item has been scanned inaccurately. In other words, if too much time has elapsed since the barcode was scanned correctly, computer system 106 may process that timeout as further indication that the barcode has been scanned inaccurately.

[0025]

[0031] As another example, computer system 106 may receive an image 306 of a barcode that a user is attempting to scan. Image 306 may be captured by scanner 108 or 118, or camera 112 or 112. For example, scanner 108 or 118 may be an optical scanner that captures an image 306 of the barcode. Computer system 106 may analyze image 306 using computer vision techniques to determine whether the barcode in image 306 is damaged or illegible. For example, computer system 106 may determine that the barcode in image 306 is cut, covered, folded, damaged, etc. Accordingly, computer system 106 may treat image 306 as a further indication that the barcode was scanned inaccurately.

[0026]

[0032] In some embodiments, computer system 106 takes into account the identity 308 of the user attempting to scan the barcode when determining whether the barcode was scanned inaccurately. For checkout system 102, when the user presents or scans a tag (e.g., a loyalty tag) that identifies the user, computer system 106 may determine the identity 308 of the user. For checkout system 104, computer system 106 may determine the identity 308 of the user with a store clerk or colleague who is assisting with the checkout. Computer system 106 may then retrieve and consider information about the identified user when determining whether the barcode was scanned inaccurately. For example, computer system 106 may consider whether the user has a history of inaccurately scanning barcodes. As another example, computer system 106 may consider whether the user has a habit of turning items over in the user's hand. If so, computer system 106 may ignore movement 204 indicating that the user is turning an item over in the user's hand when determining whether the barcode was scanned inaccurately. In this way, computer system 106 may personalize the process of determining whether the barcode was scanned inaccurately.

[0027]

[0033] In some embodiments, computer system 106 uses artificial intelligence to determine a user's habits, tendencies, and history. For example, computer system 106 may use computer vision to analyze a user's video 202. Computer system 106 may also use a neural network to track a user's movements 204 over time to learn the user's behavior and tendencies. The neural network may learn how the user moves when the user repeatedly scans items using scanner 108 or 118. The neural network may learn how the user moves when the user turns an item over in the user's hand. The neural network may even learn that the user has a tendency to turn an item over in the user's hand even when the barcode on the item is accurately scanned. When determining whether movement 204 indicates that the barcode on the item was inaccurately scanned, computer system 106 may consider the user's behavior and tendencies. Computer system 106 may use the neural network to learn any type of information about the user. For example, the neural network may learn the user's height, the position of the user (e.g., the user's hand) when scanning an item, how quickly the user scans an item, etc. Computer system 106 may link the information learned by the neural network to the user's identity 308. Computer system 106 may then store identity 308 along with the linked information in a database for future reference.

[0028]

[0034] FIG. 4 illustrates an exemplary operation 400 executed by system 100 of FIG. 1. Generally, computer system 106 executes operation 400. By executing operation 400, computer system 106 adjusts various components in system 100.

[0029]

[0035] Computer system 106 may determine the identity 308 of a user in system 100. As previously discussed, computer system 106 may determine the identity 308 of a user based on tags scanned by the user. As another example, computer system 106 may determine the identity 308 of a store clerk or colleague in checkout system 104.

[0030]

[0036] Computer system 106 may adjust various components of system 100 based on the identity 308 of a user. For example, computer system 106 may determine from identity 308 that a user scans items quickly or slowly. Accordingly, computer system 106 may perform a timeout adjustment 402 that adjusts the timeout 304 for the user. Timeout 304 may be a time threshold between item scans. If it takes the user longer to scan an item than the timeout allows, computer system 106 may treat the timeout as an indicator that the barcode was scanned inaccurately.

[0031]

[0037] As another example, computer system 106 may determine from identity 308 the height of a user, or where the user positions the user's hand when scanning an item. Computer system 106 may perform camera adjustment for the user. For example, computer system 106 may adjust one or more cameras 105 of system 100 to face the user toward camera 105. Computer system 106 may orient camera 105 to the location where the user positions the user's hand when scanning an item. As a result, camera 105 may be better oriented to capture video 202 that can show movement 204 indicating whether the barcode was scanned accurately or inaccurately.

[0032]

[0038] As another example, computer system 106 may determine from identity 308 that even if the barcode is scanned accurately, the user tends to make a certain movement. For example, computer system 106 may determine that even when the barcode is scanned accurately, the user tends to turn the item over in the user's hand. Accordingly, computer system 106 may perform movement adjustment 406 based on user identity 308. Movement adjustment 406 may cause computer system 106 to ignore a certain movement of the user that it might otherwise treat as an indication that the barcode was scanned inaccurately. For example, if computer system 106 determines that the user has a tendency to turn the item over in the user's hand even when the barcode is scanned accurately, computer system 106 may ignore the user turning the item over in the user's hand as an indication that the barcode was scanned inaccurately.

[0033]

[0039] FIG. 5 illustrates an exemplary operation 500 executed by system 100 of FIG. 1. Generally, computer system 106 executes operation 500. By executing operation 500, computer system 106 activates an item identification process.

[0034]

[0040] Computer system 106 detects movement 204 in video 202. Movement 204 may indicate that a barcode is being scanned inaccurately. For example, movement 204 may be a user repeatedly moving an item with respect to scanner 108 or 118. As another example, movement 204 may be a user turning an item over in their hand. In response to determining that a barcode has been scanned inaccurately, computer system 106 may generate an activation signal 502 and communicate it to other components in system 100. For example, computer system 106 may communicate the activation signal to checkout system 102 or 104. Activation signal 502 may activate cameras 112 or 122 in checkout system 102 or 104. When cameras 112 or 122 are activated, cameras 112 or 122 may capture an image 206 of the item as the item is moved with respect to scanner 108 or 118. Computer system 106 uses image 206 to identify the item.

[0035]

[0041] Figure 6 illustrates an exemplary operation performed by system 100 of FIG. 1. Generally, computer system 106 performs operation 600. By performing operation 600, computer system 106 identifies an item.

[0036]

[0042] Computer system 106 receives an image 206 of an item. The image 206 may be captured by camera 112 or 122 of checkout system 102 or 104 after computer system 106 activates an item identification process. The image 206 may be a frame of a video of the item. Computer system 106 uses the image 206 to reference a table 602 of items. For example, table 602 stores images of items, and computer system 106 may compare the image 206 to the images in table 602 to determine the closest match. As another example, computer system 106 may convert the image 206 into a vector that includes a numerical representation of the image 205. Table 602 stores vectors for items. Computer system 106 compares the vector generated for the image 206 to the vectors in table 602 and determines the closest match. Computer system 106 may then determine the identity of the item as the closest match from table 602.

[0037]

[0043] After computer system 106 determines the identity 208 of the item, computer system 106 generates a deactivation signal 604 and communicates the deactivation signal 604 to checkout system 102 or 104. The deactivation signal 604 may deactivate camera 112 or 122 in checkout system 102 or 104. By deactivating camera 112 or 122, camera 112 or 122 may stop capturing images or video of the item, which saves computational resources and power consumption.

[0038]

[0044] In some embodiments, computer system 106 may request feedback from the user and confirm the determined identity 208 of the item. For example, computer system 106 may determine one or more options regarding the identity 208 of the item in table 602. Computer system 106 may present these one or more options to the user (e.g., on display 110 or 120). The user may look at display 110 or 120 and confirm one of the options as the identity 208 of the item to be scanned. Computer system 106 may confirm the identity 208 of the item based on the user's confirmation.

[0039]

[0045] In some embodiments, computer system 106 generates and communicates a deactivation signal 604 based on other factors. For example, computer system 106 may determine the weight 606 of an item in the bagging area 114 or 124. The weight 606 may indicate that the user has placed an item in the bagging area 114 or 124, which may indicate that the identity 208 of the item is accurate. Computer system 106 may generate and communicate a deactivation signal 604 based on the increase in weight 606.

[0040]

[0046] As another example, computer system 106 may receive a scan 608 of another item. Computer system 106 may determine that the user has scanned another item because the identity 208 of the previous item was accurate. Computer system 106 may generate and communicate a deactivation signal 604 based on scan 608.

[0041]

[0047] As another example, computer system 106 may receive an image of another item. Image 610 may be captured when the user moves a new item across scanner 108 or 118. Computer system 106 may determine from image 610 that the user is scanning another item because the identity 208 of the previous item was accurate. In response to receiving image 610, computer system 106 may generate and communicate a deactivation signal 604.

[0042]

[0048] FIG. 7 is a flowchart of an exemplary method 700 executed by system 100 of FIG. 1. In certain embodiments, computer system 106 executes method 700. By executing method 700, when computer system 106 determines that a barcode on an item has been scanned inaccurately, computer system 106 triggers and uses an item identification process.

[0043]

[0049] In block 702, computer system 106 receives video 202. Video 202 may be captured by camera 105 of system 100. Video 202 may show a user scanning an item at checkout system 102 or 104. In block 704, computer system 106 may detect movement 204 in video 202. Computer system 106 may analyze video 202 using computer vision techniques to detect movement 204. Movement 204 may be the movement of the user in video 202.

[0044]

[0050] In block 706, computer system 106 determines that the barcode has been scanned inaccurately. Computer system 106 may analyze movement 204 to determine whether the barcode has been scanned inaccurately. For example, if movement 204 indicates that the user is repeatedly moving over scanner 108 or 118, computer system 106 may determine that the barcode has been scanned inaccurately. As another example, if movement 204 is a user turning an item over in their hand, computer system 106 may determine that the barcode has been scanned inaccurately.

[0045]

[0051] In block 708, in response to computer system 106 determining that the barcode has been scanned inaccurately, computer system 106 activates the item identification process. For example, computer system 106 may generate activation signal 502 and communicate it to checkout system 102 or 104. Activation signal 502 activates camera 112 or 122. Camera 112 or 122 may capture an image or video of the item.

[0046]

[0052] In block 710, computer system 106 determines the identity 208 of the item. Computer system 106 may compare image 206 from camera 112 or 122 with a database of item images and determine the closest match. As another example, computer system 106 may convert image 206 from camera 112 or 122 into a vector. Computer system 106 may compare the vector with a database of vectors for items and determine the closest match. Computer system 106 determines the closest match from the database as the identity 208 of the item. In block 712, computer system 106 adds the identified item to the transaction. For example, computer system 106 may add the name of the item and the price of the item to transaction 210.

[0047]

[0053] In block 714, computer system 106 deactivates the item identification process. For example, computer system 106 may communicate a deactivation signal 604 to checkout system 102 or 104. The deactivation signal 604 may stop cameras 112 or 122 that capture images or videos of items. As a result, computer system 106 saves computing resources and power consumption.

[0048]

[0054] In summary, system 100 detects when a barcode is scanned inaccurately and triggers an item identification system or process. System 100 may monitor video (using computer vision techniques) to detect when a user performs movements indicating that the barcode is being scanned inaccurately. For example, system 100 may detect when a user attempts to repeatedly scan the same item or when the user repeatedly flips an item over. System 100 may then activate an item identification system or process. For example, the system may activate a secondary camera that captures an image of the item. The system analyzes these images to identify the item. After the item is identified, the system may add the item to a transaction and deactivate the item identification system or process.

[0049]

[0055] The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application, or a technical improvement found in the marketplace, or to enable those skilled in the art to understand the embodiments disclosed herein.

[0050]

[0056] In the following, reference is made to the embodiments presented in the present disclosure. However, the scope of the present disclosure is not limited to the specific described embodiments. Instead, any combination of the following features and elements, whether or not related to different embodiments, is contemplated to implement and carry out the contemplated embodiments. Further, the embodiments disclosed herein may be advantageous over other possible solutions or prior art, but whether a particular embodiment is achieved by a given embodiment does not limit the scope of the present disclosure. Accordingly, the following aspects, features, embodiments, and advantages are merely examples and are not considered as elements or limitations contemplated in the appended claims, unless expressly defined in the claims.

[0051]

[0057] Aspects of the present disclosure generally may take the form of all or part of a hardware embodiment (including firmware, resident software, microcode, etc.), a software embodiment, or an embodiment combining aspects of software and hardware, sometimes referred to herein as a “circuit,” “module,” or “system.”

[0052]

[0058] The present disclosure describes a system, a method, and / or a computer program product. The computer program product may include a computer-readable storage medium (or media) having thereon computer-readable program instructions for causing a processor to execute aspects of the present disclosure.

[0053]

[0059] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile discs (DVDs), memory sticks, floppy disks, punch cards, or mechanically encoded devices such as a raised structure in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium, as used herein, should not be construed to be a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0054]

[0060] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to respective computing / processing devices or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within each respective computing / processing device.

[0055]

[0061] The computer-readable program instructions for carrying out operations of this disclosure may be source code or object code written in any combination of one or more programming languages, including, but not limited to, assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, object-oriented programming languages such as Smalltalk, C++ or the like, and traditional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, an electronic circuit, including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may execute the computer-readable program instructions by utilizing state information of the computer-readable program instructions to personalize the electronic circuit for carrying out aspects of this disclosure.

[0056]

[0062] Aspects of the present disclosure are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0057]

[0063] These computer-readable program instructions may be provided to a processor of a general-purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing apparatus create means for implementing the functions / acts specified in the flowchart and / or block diagram block(s). These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer-readable storage medium having the instructions stored therein comprises an article of manufacture including instructions for implementing the function / act manner specified in one or more blocks of the flowchart and / or block diagram.

[0058]

[0064] The computer-readable program instructions may also be loaded onto a computer, other programmable apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions / acts specified in one or more blocks of the flowchart and / or block diagram.

[0059]

[0065] Flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in a flowchart or block diagram may represent a portion, segment, or module of instructions that comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the drawings. For example, depending on the functionality involved, two blocks shown in succession may, in fact, be executed substantially simultaneously, or the blocks may be executed in the reverse order. It should also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by combinations of dedicated hardware and computer instructions.

[0060]

[0066] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments may be devised without departing from the basic scope thereof, which is determined by the claims that follow.

Claims

1. A memory, and a processor communicably coupled to the memory, wherein the processor is configured to: detect a user's movement while scanning an item's barcode based on a video of the user; if it is determined, based on the user's movement, that the barcode has been scanned inaccurately, capture an image of the item; determine the identity of the item based on the image of the item; and add the item to a checkout transaction based on the identity of the item. A computer system configured as such.

2. The computer system according to claim 1, wherein the user's movement indicates that the user attempts to scan the barcode multiple times.

3. The computer system according to claim 1, wherein the user's movement indicates that the user turns the item over.

4. The processor is further configured to determine that a timeout has occurred since the previous item was scanned, wherein determining that the barcode has been scanned inaccurately is further based on the occurrence of the timeout. The computer system according to claim 1.

5. The processor is further configured to determine, based on an image of the barcode, that the barcode is damaged, wherein determining that the barcode has been scanned inaccurately is further based on determining that the barcode is damaged. The computer system according to claim 1.

6. The processor is further configured to determine the identity of the user, wherein determining that the barcode has been scanned inaccurately is further based on the identity of the user. The computer system according to claim 1.

7. The computer system according to claim 6, wherein the processor is further configured to adjust a camera that captured the video based on the identity of the user.

8. The processor is further configured to adjust a timeout based on the identity of the user, wherein determining that the barcode was scanned inaccurately is further based on the timeout having occurred, the computer system of claim 6.

9. Determining the identity of the item is a response to determining that the barcode was scanned inaccurately, the computer system of claim 1.

10. The processor is further configured to activate a camera arranged to capture an image of the item in response to determining that the barcode was scanned inaccurately, the computer system of claim 1.

11. The processor is further configured to deactivate the camera in response to determining the identity of the item, the computer system of claim 10.

12. The processor is further configured to deactivate the camera in response to determining that the total weight in the bagging area has increased, the computer system of claim 10.

13. Detecting movement of the user while scanning a barcode of an item based on a video of the user; Capturing an image of the item if it is determined that the barcode was scanned inaccurately based on the movement of the user; Determining an identity of the item based on the image of the item; and Adding the item to a checkout transaction based on the identity of the item. A method comprising.

14. The movement of the user indicates that the user attempts to scan the barcode a plurality of times, the method of claim 13.

15. The movement of the user indicates that the user turns the item over, the method of claim 13.

16. Further comprising determining that a timeout has occurred since the previous item scan, wherein determining that the barcode was scanned inaccurately is further based on the timeout having occurred, the method of claim 13.

17. The method according to claim 13, further comprising determining that the barcode is damaged based on an image of the barcode, wherein determining that the barcode is scanned inaccurately is further based on the barcode being damaged.

18. The method according to claim 13, further comprising determining the identity of the user, wherein determining that the barcode is scanned inaccurately is further based on the identity of the user.

19. Determining the identity of the item is a response to determining that the barcode is scanned inaccurately, according to the method of claim 13.

20. A first camera arranged to capture a video of a user, A scanner, A second camera, A memory, A processor communicatively coupled to the memory, the processor Detecting movement of the user while scanning a barcode of an item using the scanner based on the video, Activating the second camera to capture an image of the item if it is determined that the barcode is scanned inaccurately based on the movement of the user, Determining an identity of the item based on the image of the item, Adding the item to a checkout transaction based on the identity of the item, A system configured to deactivate the second camera after determining the identity of the item.