Object identification based on partial visual object identifier code scan at point of sale
The POS system improves item identification by scanning partial UPCs, displaying candidates, and using AI for accurate retail item recognition, addressing barcode damage issues and reducing complexity.
Patent Information
- Application Number
- JP2024096512
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-30
- Filing Date
- 2024-06-14
- Publication Date
- 2025-01-20
AI Technical Summary
Barcodes on retail items may be damaged, bent, hidden, obscured, or faded, leading to difficulties in obtaining accurate Universal Product Codes (UPCs) for item identification at the point of sale, necessitating improved techniques for determining the corresponding retail item using a portion of the UPC.
A POS system scans a portion of the UPC from a damaged barcode and uses a database to identify candidate items, displaying images for selection on a touchscreen, with optional LED confirmation and network verification, and incorporates artificial intelligence for object identification.
Enhances item identification accuracy by allowing selection from candidate items and reduces computational complexity, making it practical for retailers with thousands of products.
Smart Images

Figure 2025009913000001_ABST
Abstract
Description
[Background technology]
[0001] Retailers use Point of Sale (POS) hardware and software systems to streamline checkout operations, allowing retailers to process sales, handle payments, and store transactions for later retrieval. Each POS system typically includes several components, including a POS terminal station device and a POS bagging station device. The POS bagging station device can allow customers or retail staff to bag retail items purchased during checkout at the POS system into shopping bags. The POS terminal station device can include a computer, a monitor, a cash drawer, a receipt printer, a customer display, a barcode scanner, or a debit / credit card reader. The POS system can also include a conveyor belt, a checkout divider, a weighing scale, an integrated credit card processing system, a signature capture device, or a customer pin pad device. The POS system can include a keyboard and mouse, although an increasing number of POS monitors use touch screen technology. The POS software can be configured to handle a myriad of customer-based functions, such as sales, returns, exchanges, layaways, gift cards, gift registries, customer loyalty programs, promotions, and discounts. In a retail environment, there can be multiple POS systems that communicate with a server over a network. Summary of the Invention
[0002]
[0002] The present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the present disclosure are shown. However, the present disclosure should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art. Like numbers refer to like elements throughout. [Brief description of the drawings]
[0003] [Figure 1]
[0003] FIG. 1 illustrates one embodiment of a system operable to perform object identification based on partial visual object identifier code scanning at a point of sale in accordance with various aspects described herein. [Diagram 2]
[0004] FIG. 1 illustrates an embodiment of a POS system in accordance with various aspects described herein. [Figure 3A]
[0005] FIG. 2 illustrates another embodiment of a POS system in accordance with various aspects described herein. [Figure 3B] FIG. 1 illustrates an embodiment of a network node in accordance with various aspects described herein. [Figure 4A]
[0006] FIG. 1 illustrates an embodiment of a method performed by a POS system for object identification based on partial visual object identifier code scanning at the point of sale in accordance with various aspects described herein. [Figure 4B] FIG. 1 illustrates an embodiment of a method performed by a POS system for object identification based on partial visual object identifier code scanning at the point of sale in accordance with various aspects described herein. [Figure 4C] FIG. 1 illustrates an embodiment of a method performed by a POS system for object identification based on partial visual object identifier code scanning at the point of sale in accordance with various aspects described herein. [Figure 4D] FIG. 1 illustrates an embodiment of a method performed by a POS system for object identification based on partial visual object identifier code scanning at the point of sale in accordance with various aspects described herein. [Figure 4E] FIG. 1 illustrates an embodiment of a method performed by a POS system for object identification based on partial visual object identifier code scanning at the point of sale in accordance with various aspects described herein. [Diagram 5]
[0007] FIG. 2 illustrates another embodiment of a POS system in accordance with various aspects described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0004]
[0008] For the purpose of simplicity and illustration, the present disclosure will be described mainly by referring to its exemplary embodiments. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be readily apparent to one skilled in the art that the present disclosure can be practiced without being limited to these specific details.
[0005]
[0009] In a retail environment, barcodes placed on retail items may be damaged, bent, hidden, obscured, faded, scratched, etc., such that a barcode scanner cannot obtain a Universal Product Code (UPC) from scanning the barcode at the point of sale. Instead, the consumer or retail store clerk is required to exchange the retail item for another retail item having the same barcode / UPC, request a price lookup for the retail item, manually search for the retail item on a touch screen display of the POS system, manually enter the UPC through the POS system, etc. Thus, there is a need for improved techniques for determining the corresponding retail item using a portion of the UPC obtained from a barcode scan. Additionally, other desirable features and characteristics of the present disclosure will become apparent from the following detailed description and embodiments, taken in conjunction with the accompanying drawings and the foregoing technical and background art.
[0006]
[0010] In one exemplary embodiment, the barcode scanner of the POS system may be operable to scan a barcode located on a particular retail item to obtain a portion of the UPC, and then those candidate retail items having the same portion of the UPC may be determined based on a UPC database, where each UPC has a manufacturer name, retail item name, retail item image, barcode, UPC identifier, retail item description, available quantities, potential weight ranges, etc., or any combination thereof. All or a portion of the UPC database may be stored in a memory of the POS system or in a memory of a network node communicatively coupled to the POS device via a network (e.g., Ethernet, Internet). The POS system may output an image of each candidate retail item for display on a touchscreen display of the POS system, such that a consumer or retail store clerk may select a retail item corresponding to the particular retail item on the touchscreen from the displayed candidate retail items.
[0007]
[0011] In another exemplary embodiment, a consumer may select a retail item from the displayed candidate retail items on the touch screen that corresponds to a portion of the UPC of the particular retail item. In response to the selection, the POS system may transmit, by the POS system's processing circuitry, an indication to a light emitting device (LED) of the POS system that activates the LED. When the LED is illuminated, a retail store associate near the POS system is visually alerted by the illuminated LED and may responsively confirm the consumer's selection of the particular retail item at the POS system.
[0008]
[0012] In another exemplary embodiment, a consumer may select a retail item from the displayed candidate retail items on the touch screen that corresponds to a portion of the UPC of the particular retail item. In response to the selection, the POS system may transmit an indication over the network to the network node including a request to confirm the consumer's selection of the particular retail item in the POS system. The network node may receive the request indication and, in response, transmit, by processing circuitry of the network node, a visual representation for display on the touch screen of the network node including a request to confirm the consumer's selection of the particular retail item in the POS system. A retail store associate may view the confirmation request on the touch screen and, in response, may confirm the consumer's selection of the particular retail item on the touch screen at the network node or the POS system.
[0009]
[0013] In another exemplary embodiment, the consumer may select a retail item from the displayed candidate retail items on the touch screen that corresponds to a portion of the UPC of the particular retail item. In response to the selection, the POS system may transmit an indication over the network to the network node including a request to confirm the consumer's selection of the particular retail item in the POS system, the indication including image data representative of an image of the particular retail item captured by an optical sensor of the POS system and image data representative of the image of the selected retail item. The network node may receive the request indication and, in response, transmit, by processing circuitry of the network node, an indication for display on a display of the network node including a request to confirm the consumer's selection of the particular retail item in the POS system and an image of the selected retail item and a visual representation of the image of the particular retail item. A retail store associate may view the confirmation request and the displayed image and, in response, may confirm the consumer's selection of the particular retail item in the network node or the POS system.
[0010]
[0014] In another exemplary embodiment, the POS system may receive an indication from a load sensor (e.g., a scanner scale) of the POS system by processing circuitry of the POS system, including a weight measurement of a particular retail item. The POS system may then determine, based on a database of retail items, that the measured weight of the particular retail item corresponds to a range of potential weights associated with one of the candidate retail items, each retail item having a retail item name, retail item image, barcode, UPC identifier, retail item description, available quantity, range of potential weights, etc., or any combination thereof. All or a portion of the retail item database may be stored in a memory of the POS system or in a memory of a network node communicatively coupled to the POS device via a network (e.g., Ethernet, Internet).
[0011]
[0015] Another desirable feature and characteristic of the present disclosure includes the need for improved techniques to reduce the computational complexity in applying artificial intelligence for object identification. The computational complexity in applying artificial intelligence to object identification increases dramatically as the set of identifiable objects increases. For retailers with thousands of products, the use of artificial intelligence for object identification may be impractical due to the time, energy, cost, or performance required to identify the objects.
[0012]
[0016] In one exemplary embodiment, the POS system may receive image data representing an image of a particular retail item from an image sensor of the POS system. The POS system may transmit an indication including the image data of the particular retail item to an artificial intelligence circuit of the POS system. The artificial intelligence circuit may be operable to perform object detection, classification, or identification of the retail item captured in the image. Additionally, the artificial intelligence circuit may be trained with image data of retail items, such as all or a portion of the retail items available from or sold at a retail store. In response, the artificial intelligence circuit may transmit an indication including one or more predicted retail items and their confidence levels to the POS system. The POS system may then identify the particular retail item based on the one or more predicted retail items and their confidence levels and the candidate retail items corresponding to the particular retail item. In one example, the POS system may determine that the particular retail item corresponds to one of the one or more predicted retail items to identify the particular retail item. In another example, to identify a particular retail item, the POS system may determine that the particular retail item corresponds to one of one or more predicted retail items and that the confidence level of the predicted retail item is greater than a particular confidence level threshold (e.g., 50%, 60%, 70%, 80%, 90%, 95%, 99%).
[0013]
[0017] In another exemplary embodiment, the POS system may receive image data representing an image of a particular retail item from an image sensor of the POS system. The POS system may transmit an indication including the image data of the particular retail item over a network to a network node. The network node may receive the indication and, in response, transmit an indication including the image data of the particular retail item to an artificial intelligence circuit of the network node. The artificial intelligence circuit may be operable to perform object detection, classification, or identification of the retail item captured in the image. Further, the artificial intelligence circuit may be trained with image data of the retail item, such as all or a portion of the retail item available from or sold at the retail store. In response, the artificial intelligence circuit may transmit an indication including one or more predicted retail items and their confidence levels to the network node. The network node may then transmit an indication including the one or more predicted retail items and their confidence levels to the POS system. The POS system may then identify the particular retail item based on the one or more predicted retail items and their confidence levels and the candidate retail items corresponding to the particular retail item.
[0014]
[0018] FIG. 1 illustrates one embodiment of a system 100 operable to perform object identification based on partial visual object identifier code scanning at a point of sale according to various aspects described herein. As illustrated in FIG. 1, the system 100 includes a POS system 101 (e.g., a checkout device, a self-checkout device) communicatively coupled to a network node 161 (e.g., a server) via a network 165 (e.g., Ethernet, WiFi, Internet). The POS system 101 may include a terminal station device 102 and a bagging station device 141. The terminal station device 102 has a housing 112, one or more optical scanners 114, 116, a display device 118, a payment processing mechanism 122, a printer 124, a coupon slot mechanism 125, a cash receiving mechanism 126, a change interface mechanism 128, etc., or any combination thereof. Additionally, the terminal station device 102 may be configured to include a set of light emitting element (LED) devices 130a-e (collectively LED devices 130). The housing 112 may be configured to include a cabinet including processing circuitry operable to control the operation and functionality of the POS system 101. Each of the LED devices 130a-e may be configured to be individually or collectively controlled by the processing circuitry of the POS system 101 to indicate specific contextual information to a consumer or retail store associate. Although not explicitly described herein, the housing 112 may also include cables and other functional components that communicatively couple the POS system 101 to a network 165 (e.g., Ethernet, WiFi, Internet) or via the network 165 to a network node 161 (e.g., a server), or that communicatively couple the terminal station device 102 to the bagging station device 141. The network node 161 may include, for example, one or more server devices that may or may not be collocated with the POS system 101 or that may or may not be located within a retail store that includes the POS system 101.
[0015]
[0019] In FIG. 1, each scanner 114, 116 may be configured as an optical scanner operable to scan a visual object identifier code 153 (e.g., barcode, QR code) located on an object 151 (e.g., retail item) that a consumer intends to purchase via the POS system 101. Each visual object identifier code 153 may represent an object identifier of a set of object identifiers (e.g., UPC), each identifier being unique to a particular object (e.g., retail item, trade item) and represented by a sequence of characters (e.g., numbers, alphabetic characters, alphanumeric characters). The Universal Product Code (UPC), technically referred to as UPC-A, is composed of a sequence of 12 characters (e.g., 12 digits) uniquely assigned to each trade item (e.g., retail item). The UPC, together with the associated International Item Number (EAN) barcode, is a barcode primarily used for scanning trade items at the point of sale according to the specifications of the international GS1 organization. In one example, a UPC-A barcode consists of a sequence of 12 characters (e.g., 12 digits) and is made up of four sections: a numeric system character, a five-character serial number, a five-character item number, and a check character.
[0016]
[0020] The scanner 116 may be configured as a handheld battery-powered scanner that can be removed from its battery charging dock by a consumer or store clerk to scan the barcode of a retail item without having to remove it from a shopping cart. In those situations where the visual object identifier code 153 disposed on the object 151 is damaged, folded, wrinkled, obscured, hidden, faded, scratched, etc., the scanner 114, 116 is operable to scan the damaged visual object identifier code 153 to obtain a portion of the series of characters of the object identifier. In one example, the portion of the series of characters may include characters at a first position and a last position of the series of characters, with one or more positions between the first and last positions of the series of characters corresponding to unscanned, undetected, or undecoded characters of the series of characters. In another example, one or more positions of the series of characters starting at the first position or ending at the last position of the series of characters corresponding to unscanned, undetected, or undecoded characters of the series of characters.
[0017]
[0021] In FIG. 1 , the scanner 114 may be operable to perform the dual functions of a scanner and a scale to allow the consumer to simultaneously scan and weigh a retail item for purchase. The display 118 may be operable to display information associated with the retail item purchased by the consumer. The payment processing mechanism 122 may be comprised of a pin pad device operable to accept a payment instrument other than cash (e.g., credit card or debit card), while the printer 124 may be configured to print receipts or coupons. The coupon slot mechanism 125 may include a generally elongated slot configured to accept a coupon to be redeemed by the consumer. The cash receiving mechanism 126 may be operable to accept cash (e.g., bills, coins) from the consumer for the retail item purchased by the consumer. The change interface mechanism 128 may be operable to provide change to the consumer in the form of bills or coins. The terminal station device 102 may also include a second sensor 117 (e.g., optical sensor, camera) operable to capture an image of an object on or near the surface of the optical scanner 114. The area of detection of the second sensor 117 may be directed to a specific area on or near the surface of the optical scanner 114 .
[0018]
[0022] In operation, the POS system 101 can obtain a portion of a series of characters representing an object identifier (e.g., UPC) of the visual object identifier code 153 based on a scan performed by the first optical sensor 114, 116 on the visual object identifier code 153 (e.g., a barcode, a QR code) placed on a particular object 151 (e.g., a retail item, a trade item). The POS system 101 can obtain an object identifier of a set of object identifiers (e.g., a UPC database) corresponding to the portion of the series of characters of the object identifier of the particular object 151 to obtain a candidate object identifier. The POS system 101 can identify the particular object 151 based on the candidate object identifier. The POS system 101 can transmit an indication associated with the identification of the particular object 151 to the network node 161 via the network 165 (e.g., Ethernet, Internet) so that the identification of the particular object 151 can be confirmed.
[0019]
[0023] In another embodiment, the POS system 101 can receive image data from the first optical sensor 114, 116 that represents an image or scan of the visual object identifier code 153 of the particular object 151. Additionally, the POS system 101 can decode the visual object identifier code 153 based on the image data to obtain a portion of the series of characters that represent the object identifier of the particular object 151.
[0020]
[0024] In another embodiment, the POS system 101 may determine an object identifier of a set of object identifiers that corresponds to a portion of a sequence of characters in an object identifier of a particular object 151 as having the same characters in the same position or order as the portion of the sequence of characters in the object identifier of the particular object 151.
[0021]
[0025] In another embodiment, the POS system 101 can determine an object identifier of the set of object identifiers that corresponds to a portion of the sequence of characters to obtain a candidate object identifier. Additionally, the POS system 101 can obtain an image of an object specific to the candidate object identifier (e.g., from a retail database) to obtain a candidate object image. The POS system 101 can output a visual representation associated with a request to select one of the candidate objects based on the visual representation of the candidate object images for display on the display 118. In response, the POS system 101 can receive an indication from the display 118 of a touch gesture detected at or near the visual representation associated with one of the candidate object images. The POS system 101 can determine that the detected touch gesture corresponds to that one candidate object image to obtain the selected object. The POS system 101 can then identify the particular object 151 as the selected object.
[0022]
[0026] In another embodiment, the POS system 101 can transmit an indication associated with the request to confirm the object at the POS system 101 to the network node 161 over the network 165. Additionally, the POS system 101 can output a visual representation associated with the request to confirm that the particular object 151 is one of the candidate objects (e.g., the selected object) for display on the presence sensitive display 118. The network node 161 can receive the indication and, in response, obtain the request to confirm the particular object 151 from the indication. The network node 161 can then decide to execute the request to confirm the particular object 151 at the POS system 101, for example, by outputting a visual representation associated with the request to confirm the object at the POS system 101 to the presence sensitive display of the network node 161. The retail store associate can see the visual representation of the confirmation request at the POS system 101 on the presence sensitive display of the network node 161 and, in response, can walk to the POS system 101. At the POS system 101, a retail store associate can view a visual representation associated with the request to confirm that the particular object 151 is one of the candidate objects. The POS system 101 can receive an indication from the display 118 of a touch gesture detected at or near the visual representation of the confirmation request. The POS system 101 can then confirm that the particular object 151 is one of the candidate objects based on the detected touch gesture.
[0023]
[0027] In another embodiment, the POS system 101 receives image data representing an image of the particular object 151 from the second optical sensor 117. In one example, the POS system 101 can transmit an indication to the second optical sensor 117 capturing image data representing an image of the particular object 151 at the same time that the first optical sensor 114 scans the visual object identifier code 153 disposed on the particular object 151. In another example, the POS system 101 can transmit an indication to the second sensor 117 capturing image data representing an image of the particular object 151 in response to determining that the scanning of the visual object identifier code 153 yielded a portion of a sequence of characters of the corresponding object identifier. The POS system 101 can then transmit an indication 171 to the network node 161 over the network 165 including a request to identify whether the particular object 151 corresponds to the selected object based on the included image data of the particular object 151 and the image data of the selected object. Network node 161 may output a visual representation of the request to confirm the particular object 151, image data of the particular object 151, and image data of the selected object for display on a presence sensitive display of network node 161. A retail store associate may confirm that the particular object 151 corresponds to the selected object by a touch gesture on the display of network node 151. Network node 161 may receive an indication from the display of a touch gesture detected at or near the visual representation of the confirmation request. Network node 161 may determine that the detected touch gesture corresponds to the visual representation of the confirmation request, and in response, may determine that the particular object 151 is identified as the selected object.The network node 161 may then transmit an indication 173 to the POS system 101 over the network 165 indicating that the particular object 151 has been identified as the selected object. The POS system 101 may receive the object identification indication 173 and, in response, identify the particular object 151 as the selected object.
[0024]
[0028] In another exemplary embodiment, the POS system 101 may receive image data representing an image of a particular retail item 151 from the second optical sensor 117 of the POS system 101. The POS system 101 may transmit an indication 171 including a request to identify the particular object 151, including image data of the particular object 151, to the network node 161 over the network 165. The network node 161 may receive the indication 171 and, in response, may transmit an indication including the image data of the particular retail item 151 to the artificial intelligence circuit 163 of the network node 161. The artificial intelligence circuit 163 may be operable to perform object detection, classification, or identification of the object displayed in the image. Additionally, the artificial intelligence circuit 163 may be trained with image data of a set of objects, such as all or a portion of the retail items available from or sold at the retail store. In response, the artificial intelligence circuit 163 may transmit an indication including one or more predicted objects and their confidence levels to the network node 161. The network node 161 may then transmit an indication including the one or more predicted objects and their confidence levels to the POS system 101 over the network 165. The POS system 101 may receive this indication and, in response, may identify a particular retail item based on the one or more predicted retail items and their confidence levels and the candidate object specific to the candidate object identifier.
[0025]
[0029] In another embodiment, the first light sensor and the second light sensor are the same sensor.
[0026]
[0030] 2 illustrates one embodiment of a POS system 200 according to various aspects described herein. In FIG. 2, the device 200 implements various functional means, units, or modules (e.g., via processing circuitry 301a of FIG. 3A, via processing circuitry 501 of FIG. 5, or via software code, etc.) or circuits.In one embodiment, these functional means, units, modules or circuits (e.g. for implementing the methods described herein) include, for example: an input / output interface circuit 201 operable to communicate with input / output devices such as a presence sensitive display 203 (e.g. a touch screen), a first optical sensor 205 (e.g. a scanner), a second optical sensor 207 (e.g. a camera), a load sensor 209 (e.g. a weight sensor), or the like, or any combination thereof; an object identifier acquisition circuit 211 operable to acquire, based on a scan performed by the first or second optical sensor 205, 207 of a visual object identifier code placed on a particular object, a whole or a part of a series of characters representing a corresponding object identifier of that visual object identifier code; and an object identifier acquisition circuit 211 operable to acquire, based on a scan performed by the first or second optical sensor 205, 207 of a visual object identifier code placed on a particular object, a whole or a part of a series of characters representing a corresponding object identifier of that visual object identifier code. a visual object identifier code receiving circuit 213 operable to receive image data corresponding to an image of a visual object identifier code placed on the particular object based on the visual object identifier code; a visual object identifier code decoding circuit 215 operable to decode image data corresponding to the image of the visual object identifier code placed on the particular object to obtain all or a portion of an object identifier represented by a sequence of characters; a candidate object identifier obtaining circuit 217 operable to obtain an object identifier of a set of object identifiers 219 corresponding to a portion of the sequence of characters of the object identifier to obtain a candidate object identifier; an object identifier circuit 221 operable to identify the particular object based on the candidate object identifier; a transmitting circuit 223 operable to transmit information; and an object verification circuit 225 operable to verify the particular object.
[0027]
[0031] FIG. 3A illustrates another embodiment of a POS system 300a according to various aspects described herein. In FIG. 3A, the device 300a may include a processing circuitry 301a operably coupled to one or more of a memory 303a, a network communication circuitry 305a, a presence-sensitive display 307a, a first light sensor 309a (e.g., a scanner), a second light sensor 309a (e.g., a camera), one or more second sensors 311a (e.g., a presence, proximity, or motion sensor), a load sensor 313a (e.g., a weight sensor), or the like, or any combination thereof. The network communication circuitry 305a is configured to transmit and receive information to and from one or more other devices via any communication technology. The processing circuitry 301a is configured to perform the processes described herein, such as by executing instructions stored in the memory 303a. In this regard, the processing circuitry 301a may implement a particular functional means, unit, or module.
[0028]
[0032] FIG. 3B illustrates another embodiment of a network node device 300b according to various aspects described herein. In FIG. 3B, the device 300b may include processing circuitry 301b operably coupled to one or more of a memory 303b and a network communication circuitry 305b, or the like, or any combination thereof. The network communication circuitry 305b is configured to transmit and receive information to and from one or more other network node devices via any communication technology. The processing circuitry 301b is configured to perform the processes described herein, such as by executing instructions stored in the memory 303b. In this regard, the processing circuitry 301b may implement a particular functional means, unit, or module.
[0029]
[0033] FIG. 4A illustrates an embodiment of a method 400a performed by the POS system 101, 200, 300a, 500 of object identification based on partial visual object identifier code scanning at the point of sale according to various aspects described herein. In FIG. 4A, the method 400a may begin, for example, at block 401, where the method 400a includes obtaining a portion of a series of characters representing a corresponding object identifier based on a scan performed by a first optical sensor of one of the visual object identifier codes disposed on a particular object, such that the particular object can be selected based on the portion of the series of characters representing the corresponding object identifier and the set of object identifiers. At block 403a, the method 400a may include receiving image data from the first optical sensor by a processing circuit of the POS system, the image data representing an image of the visual object identifier code. The method 400a may include decoding the visual object identifier code based on the image data to obtain the portion of the series of characters representing the corresponding object identifier, as referenced at block 405a. At block 407a, the method 400a may include determining an object identifier of the set of object identifiers that corresponds to the portion of the series of characters to obtain a candidate object identifier. The method 400a may include determining an object identifier of the set of object identifiers that corresponds to the portion of the series of characters, as referenced at block 409a. At block 411a, the method 400a may include determining an object identifier of the set of object identifiers that has the same characters in the same position or order as the portion of the series of characters. At block 413a, the method 400a may include identifying a particular object based on the candidate object identifier. The method 400a may include transmitting, by the POS system, an indication associated with the identification of the particular object over the network to a network node, such that the identification of the particular object may be confirmed, as represented at block 415a.At block 417a, the method 400a may identify a particular object.
[0030]
[0034] FIG. 4B illustrates another embodiment of a method 400b performed by the POS system 101, 200, 300a, 500 for object identification based on partial visual object identifier code scanning at the point of sale according to various aspects described herein. In FIG. 4B, the method 400b may begin, for example, at block 401b, where the method 400b may include determining an object identifier of a set of object identifiers that corresponds to a portion of a sequence of characters of an object identifier of a particular object to obtain a candidate object identifier. At block 403b, the method 400b may include obtaining an image of an object unique to the candidate object identifier to obtain a candidate object image. At block 405b, the method 400b may include outputting, for display on a display, a visual representation associated with a request to select one of the candidate objects based on the visual representation of the candidate object images. The method 400b may include receiving, from the display, an indication of a touch gesture detected at or near the visual representation of one of the candidate object images, as represented by block 407b. At block 409b, the method 400b may include determining that the detected touch gesture corresponds to one of the candidate object images to obtain the selected object. At block 411b, the method 400b may include identifying the particular object as the selected object.
[0031]
[0035] FIG. 4C illustrates another embodiment of a method 400c performed by the POS system 101, 200, 300a, 500 for object identification based on partial visual object identifier code scanning at the point of sale according to various aspects described herein. In FIG. 4C, the method 400c can begin, for example, at block 401c, where the method 400c includes transmitting an indication associated with a request to confirm that the particular object is one of the candidate objects to a network node over a network. At block 403c, the method 400c can include outputting a visual representation associated with the request to confirm that the particular object is one of the candidate objects for display on a presence-sensitive display. At block 405c, the method 400c can include receiving an indication from the display of a touch gesture detected at or near the visual representation of the confirmation request. At block 407c, the method 400c can include determining that the detected touch gesture corresponds to a visual representation associated with the confirmation request. The method 400c may include validating that the particular object is one of the candidate objects based on the detected touch gesture, as represented by block 409c.
[0032]
[0036] FIG. 4D illustrates another embodiment of a method 400d performed by the POS system 101, 200, 300a, 500 of object identification based on partial visual object identifier code scanning at the point of sale according to various aspects described herein. In FIG. 4D, the method 400d can begin, for example, at block 401d, where the method 400d can include receiving image data representing an image of a particular object from a second optical sensor. At block 403d, the method 400d can include identifying a particular object based on a set of object identifiers, the image data, and a portion thereof of a series of characters representing the corresponding object identifier. The method 400d can include transmitting an indication to a network node over a network including a request to confirm that the particular object corresponds to one of the candidate objects based on the image data of the particular object, as represented by block 405d. At block 407d, the method 400d can include receiving an indication from the network node over a network that the particular object corresponds to one of the candidate objects. The method 400d may include identifying a particular object based on the received indication, as represented by block 409d.
[0033]
[0037] FIG. 4E illustrates another embodiment of a method 400e performed by the POS system 101, 200, 300a, 500 of object identification based on partial visual object identifier code scanning at the point of sale according to various aspects described herein. In FIG. 4E, the method 400e can begin, for example, at block 401e, where the method 400e can include receiving an indication from a load sensor of the POS system including a weight measurement of the particular object. At block 403e, the method 400e includes identifying the particular object based on the portion of the series of characters representing the corresponding object identifier, the set of object identifiers, and the weight measurement. The method 400e can include determining that the measured weight of the particular object corresponds to a range of potential weights associated with the candidate objects of the set of candidate objects, where each of the set of objects has a particular range of potential weights, as represented by block 405e.
[0034]
[0038] 5 illustrates another embodiment of a POS system 500 according to various aspects described herein. In FIG. 5, the device 500 includes processing circuitry 501 operably coupled to an input / output interface 505 via a bus 503, artificial intelligence circuitry 509 (e.g., neural network circuitry, machine learning circuitry), a network connection interface 511, a power source 513, memory 515 including random access memory (RAM) 517, read only memory (ROM) 519, and storage medium 521, a communication subsystem 531, and / or any other components, or any combination thereof.
[0035]
[0039] The input / output interface 505 may be configured to provide a communication interface to an input device, an output device, or an input / output device. The device 500 may be configured to use an output device via the input / output interface 505. The output device 561 may use the same type of interface port as the input device. For example, a USB port or a Bluetooth port may be used to provide input to and output from the device 500. The output device may be a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, a transducer 575 (e.g., a speaker, an ultrasonic emitter), an emitter, a smart card, another output device, or any combination thereof. The device 500 may be configured to use an input device via the input / output interface 505 to allow a user to capture information into the device 500. The input devices may include a touch-sensitive or presence-sensitive display 563, a first light sensor 575 (e.g., a scanner), a second light sensor 577 (e.g., a camera), a load sensor 579 (e.g., a weight sensor), a microphone, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smart card, etc. The presence-sensitive display may include a capacitive or resistive touch sensor for sensing input from a user. The sensor may be, for example, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, a light or image sensor, an infrared sensor, a proximity sensor, a microphone, an ultrasonic sensor, other like sensors, or any combination thereof. As shown in diagram 500, the input / output interface 505 may be configured to provide a communication interface to components of the terminal station device 102, such as the scanner 114, 116, the scale 114, the display device 118, the touch screen 118, the payment processing mechanism 122, the printer 124, the coupon slot mechanism 125, the cash receiving mechanism 126, the light emitting device 130, a keyboard, a keypad, a card reader, etc., or any combination thereof.
[0036]
[0040] In FIG. 5, storage medium 521 may include an operating system 523, application programs 525, data 527, etc., or any combination thereof. In other embodiments, storage medium 521 may include other similar types of information. Some devices may utilize all of the components shown in FIG. 5 or only a subset of the components. The level of integration between components may vary from device to device. Additionally, some devices may include multiple instances of components, such as multiple processors, memories, neural networks, network connection interfaces, transceivers, etc.
[0037]
[0041] In Fig. 5, the processing circuitry 501 may be configured to process computer instructions and data. The processing circuitry 501 may be configured to implement any sequential state machine that operates to execute machine instructions stored in memory as a machine-readable computer program, such as one or more hardware-implemented state machines (e.g., in discrete logic, FPGA, ASIC, etc.), programmable logic with appropriate firmware, one or more stored-program general-purpose processors, such as a microprocessor or digital signal processor (DSP) with appropriate software, or any combination of the above. For example, the processing circuitry 501 may include two central processing units (CPUs). The data may be information in a form suitable for use by a computer.
[0038]
[0042] In FIG. 5, the artificial intelligence circuitry 509 may be configured to learn to perform a task by considering examples, such as performing object detection, classification, or identification. In one example, a first artificial intelligence circuitry is configured to perform object detection or classification. Additionally, a second artificial intelligence circuitry is configured to perform object identification as described herein. In FIG. 5, the network connection interface 511 may be configured to provide a communication interface to the network 543a. The network 543a may encompass wired and / or wireless networks, such as a local area network (LAN), a wide area network (WAN), a computer network, a wireless network, a telecommunications network, other similar networks, or any combination thereof. For example, the network 543a may comprise a Wi-Fi network. The network connection interface 511 may be configured to include a receiver and transmitter interface used to communicate with one or more other devices over a communication network according to one or more communication protocols, such as Ethernet, TCP / IP, SONET, or ATM. The network connection interface 511 may implement receiver and transmitter functionality suitable for a communication network link (e.g., optical, electrical, etc.). The functions of the transmitter and receiver may share circuit components, software, firmware, or may be implemented separately.
[0039]
[0043] The RAM 517 may be configured to interface to the processing circuitry 501 via the bus 503 to provide storage or caching of data or computer instructions during execution of software programs such as an operating system, application programs, and device drivers. The ROM 519 may be configured to provide computer instructions or data to the processing circuitry 501. For example, the ROM 519 may be configured to store unchanging low-level system code or data for basic system functions such as basic input / output (I / O), start-up, or receiving keystrokes from a keyboard, stored in non-volatile memory. The storage medium 521 may be configured to include memory such as RAM, ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disk, optical disk, floppy disk, hard disk, removable cartridge, or flash drive. In one example, storage medium 521 may be configured to include an operating system 523, an application program 525, such as a web browser, a web application, a user interface, a browser data manager, a widget or gadget engine, or another application described herein, and data files 527. Storage medium 521 may store any of a variety of operating systems or combinations of operating systems for use by device 500.
[0040]
[0044] The storage medium 521 may be configured to include several physical drive units, such as a redundant array of independent disks (RAID), a floppy disk drive, a flash memory, a USB flash drive, an external hard disk drive, a thumb drive, a pen drive, a key drive, a high density digital versatile disk (HD-DVD) optical disk drive, an internal hard disk drive, a Blu-Ray optical disk drive, a holographic digital data storage (HDDS) optical disk drive, an external mini dual in-line memory module (DIMM), a synchronous dynamic random access memory (SDRAM), an external micro-DIMM SDRAM, a smart card memory such as a subscriber identity module or a removable user identity (SIM / RUIM) module, other memory, or any combination thereof. The storage medium 521 may enable the devices 500a-b to access computer executable instructions or application programs, etc. stored on a temporary or non-transitory memory medium to offload or upload data. An article of manufacture, such as one utilizing a communication system, may be tangibly embodied in the storage medium 521, which may comprise a device-readable medium.
[0041]
[0045] The processing circuitry 501 may be configured to communicate with the network 543b using the communication subsystem 531. The network 543a and the network 543b may be the same network or networks, or may be different networks or networks. The communication subsystem 531 may be configured to include one or more transceivers used to communicate with the network 543b. For example, the communication subsystem 531 may be configured to include one or more transceivers used to communicate with one or more remote transceivers of another device capable of wireless communication according to one or more communication protocols, such as IEEE 802.11, CDMA, WCDMA, GSM, LTE, UTRAN, or WiMax. Each transceiver may include a transmitter 533 and / or a receiver 535 for implementing transmitter or receiver functionality, respectively, appropriate for the RAN link (e.g., frequency allocation, etc.). Additionally, the transmitter 533 and receiver 535 of each transceiver may share circuitry, software, or firmware, or may be implemented separately.
[0042]
[0046] In FIG. 5, the communication functions of the communication subsystem 531 may include data communication, voice communication, multimedia communication, short-range communication such as Bluetooth, short-range communication, location-based communication such as using a global positioning system (GPS) to determine location, another similar communication function, or any combination thereof. For example, the communication subsystem 531 may include cellular communication, Wi-Fi communication, Bluetooth communication, and GPS communication. The network 543b may encompass wired and / or wireless networks such as a local area network (LAN), a wide area network (WAN), a computer network, a wireless network, a telecommunications network, another similar network, or any combination thereof. For example, the network 543b may be a cellular network, a Wi-Fi network, and / or a short-range network. The power source 513 may be configured to provide alternating current (AC) or direct current (DC) power to the components of the devices 500a-b.
[0043]
[0047] The features, benefits, and / or functions described herein may be implemented in one of the components of device 500 or may be split across multiple components of device 500. Furthermore, the features, benefits, and / or functions described herein may be implemented in any combination of hardware, software, or firmware. In one example, communication subsystem 531 may be configured to include any of the components described herein. Furthermore, processing circuitry 501 may be configured to communicate with any of such components via bus 503. In another example, any of such components may be represented by program instructions stored in memory that, when executed by processing circuitry 501, perform the corresponding functions described herein. In another example, the functionality of any of such components may be split between processing circuitry 501 and communication subsystem 531. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware, and computationally intensive functions may be implemented in hardware.
[0044]
[0048] Those skilled in the art will also appreciate that the embodiments herein further include corresponding computer programs.
[0045]
[0049] The computer program comprises instructions that, when executed on at least one processor of the apparatus, cause the apparatus to perform any of the respective operations described above. In this regard, the computer program may comprise one or more code modules corresponding to the means or units described above.
[0046]
[0050] Embodiments further include a carrier containing such a computer program, which may comprise any one of an electronic, optical, or radio signal, or a computer-readable storage medium.
[0047]
[0051] In this regard, embodiments herein also include a computer program product comprising instructions stored on a non-transitory computer-readable (storage or recording) medium that, when executed by a processor of the device, causes the device to perform as described above.
[0048]
[0052] The embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device. The computer program product may be stored on a computer readable recording medium.
[0049]
[0053] Additional embodiments are now described, at least some of which may be described as applicable in particular contexts for illustrative purposes, but the embodiments are likewise applicable in other contexts not expressly described.
[0050]
[0054] In one exemplary embodiment, the method is performed by a POS system having a first optical sensor operable to scan visual object identifier codes placed on an object. Each code represents an object identifier of a set of object identifiers, each identifier being unique to a particular object and represented by a series of characters. The first optical sensor is positioned on or about the POS system such that a field of view of the first optical sensor is directed to a particular area of the POS system associated with scanning the visual object identifier codes placed on the object. The method includes obtaining a portion of the series of characters representing a corresponding object identifier based on a scan performed by the first optical sensor of one of the visual object identifier codes placed on the particular object, such that the particular object can be identified based on the portion of the series of characters representing the corresponding object identifier and the set of object identifiers.
[0051]
[0055] In another exemplary embodiment, the method includes receiving, by a processing circuit of the POS system, an indication that includes a portion of a series of characters that represents a corresponding object identifier.
[0052]
[0056] In another exemplary embodiment, the method further includes identifying a particular object based on a portion of the sequence of characters representing a corresponding object identifier and the set of object identifiers.
[0053]
[0057] In another exemplary embodiment, the method further includes receiving, by a processing circuitry of the POS system, image data representing the captured image of the particular object from a second optical sensor of the POS system. The second optical sensor is positioned on or about the POS system such that a field of view of the second optical sensor is directed to and when within a particular area of the POS system associated with capturing an image of the object. The method also includes identifying the particular object based on a portion of the series of characters representing a corresponding object identifier, the set of object identifiers, and the image data of the particular object.
[0054]
[0058] In another exemplary embodiment, the method further includes transmitting, by the POS system, an indication over the network to the network node including a request to confirm that the particular object corresponds to one of the candidate objects based on image data of the particular object. Further, the network node includes an artificial intelligence circuit operable to perform object identification to determine that the particular object corresponds to one of the candidate objects. The artificial intelligence circuit is trained with image data associated with the set of objects. The method also includes receiving, by the POS system, an indication from the network node over the network that the particular object corresponds to one of the candidate objects. Further, the method includes identifying the particular object as one of the candidate objects based on the received indication.
[0055]
[0059] In another exemplary embodiment, the method further includes receiving, by a processing circuit of the POS system, an indication from a load sensor of the POS system including a weight measurement of the particular object. The method also includes identifying the particular object based on the portion of the series of characters representing a corresponding object identifier, the set of object identifiers, and the weight measurement.
[0056]
[0060] In another exemplary embodiment, the method further includes determining that the measured weight of the particular item corresponds to a range of potential weights associated with candidate objects of the set of candidate objects, each of the set of objects having a particular range of potential weights. The method further includes identifying the particular item as a candidate object of the set of candidate objects.
[0057]
[0061] In another exemplary embodiment, the method further includes determining an object identifier of the set of object identifiers that corresponds to a portion of the sequence of characters to obtain a candidate object identifier.
[0058]
[0062] In another exemplary embodiment, the method further includes determining an object identifier of a set of object identifiers that have the same characters in the same positions as the portion of the sequence of characters.
[0059]
[0063] In another exemplary embodiment, the method further includes determining an object identifier of the set of object identifiers that has the same characters in the same order as the portion of the sequence of characters.
[0060]
[0064] In another exemplary embodiment, the method further includes determining an object identifier of the set of object identifiers that corresponds to a portion of the series of characters to obtain a candidate object identifier. The method also includes obtaining an object specific to the candidate object identifier to obtain a candidate object. The method further includes outputting a visual representation associated with a request to select one of the candidate objects for display on a presence sensitive display of the POS system, and then receiving an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with one of the candidate objects. Additionally, the method includes determining that the detected touch gesture corresponds to one of the candidate objects. The method further includes identifying a particular object as one of the candidate objects.
[0061]
[0065] In another exemplary embodiment, the method further includes outputting a visual representation associated with the request to confirm that the particular object is one of the candidate objects for display on a presence sensitive display of the POS system. The method also includes receiving an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with the confirmation request. The method further includes determining that the detected touch gesture corresponds to the visual representation associated with the confirmation request. Additionally, the method includes confirming that the particular object is one of the candidate objects.
[0062]
[0066] In another exemplary embodiment, the portion of the series of characters includes characters at a first position and a last position of the series of characters, and further, one or more positions between the first position and the last position of the series of characters correspond to unscanned, undetected, or undecoded characters of the series of characters.
[0063]
[0067] In another exemplary embodiment, one or more positions starting at the first position or ending at the last position of the series of characters correspond to unscanned, undetected, or undecoded characters of the series of characters.
[0064]
[0068] In one exemplary embodiment, the POS system includes a first optical sensor operable to scan visual object identifier codes disposed on the object, each code representing an object identifier of a set of object identifiers, each identifier being unique to a particular object and represented by a series of characters. Additionally, the first optical sensor is positioned on or about the POS system such that a field of view of the first optical sensor is directed to a particular area of the POS system associated with scanning the visual object identifier codes disposed on the object. The POS system further includes a memory, the memory including instructions executable by the processing circuitry, the processing circuitry configured to obtain a portion of the series of characters representing a corresponding object identifier based on a scan performed by the first optical sensor of one of the visual object identifier codes disposed on the particular object, such that the particular object can be identified based on the portion of the series of characters representing the corresponding object identifier and the set of object identifiers.
[0065]
[0069] In another exemplary embodiment, the memory includes further instructions executable by the processing circuitry, the processing circuitry configured to identify a particular object based on the portion of the series of characters representing a corresponding object identifier and the set of object identifiers.
[0066]
[0070] In another exemplary embodiment, the POS system further includes a presence sensitive display, and the memory includes further instructions executable by the processing circuitry configured to: determine an object identifier of the set of object identifiers corresponding to a portion of the series of characters to obtain a candidate object identifier, obtain an object unique to the candidate object identifier to obtain a candidate object, output a visual representation associated with a request to select one of the candidate objects for display on the presence sensitive display, receive an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with one of the candidate objects, determine that the detected touch gesture corresponds to one of the candidate objects, and identify the particular object as one of the candidate objects.
[0067]
[0071] In another exemplary embodiment, the memory includes further instructions executable by the processing circuitry configured to: determine an object identifier of the set of object identifiers corresponding to a portion of the series of characters to obtain a candidate object identifier; obtain an object unique to the candidate object identifier to obtain a candidate object; identify a particular object as one of the candidate objects; output a visual representation associated with a request to confirm that the particular object is one of the candidate objects for display on a presence sensitive display of the POS system; receive an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with the confirmation request; determine that the detected touch gesture corresponds to the visual representation associated with the confirmation request; and confirm that the particular object is one of the candidate objects.
[0068]
[0072] In another exemplary embodiment, the POS system includes a second light sensor operable to capture an image, the second light sensor positioned on or about the POS system such that a field of view of the second light sensor is directed to and when within a particular area of the POS system associated with capturing an image of the object. Additionally, the memory includes further instructions executable by the processing circuitry, the processing circuitry configured to receive image data from the second light sensor representing the captured image of the particular object, and to identify the particular object based on the portion of the series of characters representing a corresponding object identifier, the set of object identifiers, and the image data.
[0069]
[0073] In another exemplary embodiment, the POS system includes a load sensor operable to measure a weight of the object, and the memory further includes further instructions executable by the processing circuitry configured to receive an indication from the load sensor including a weight measurement of a particular object, and to identify the particular object based on a portion of the series of characters representing a corresponding object identifier, the set of object identifiers, and the weight measurement.
[0070]
[0074] The above detailed description is merely exemplary in nature and is not intended to limit the disclosure or the application and uses of the disclosure. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the above field of use, background, summary, or detailed description. The present disclosure provides various examples and embodiments, etc., which may be described herein in terms of functional or logical block elements. Various aspects described herein are presented as methods, devices (or apparatus), systems, or articles of manufacture that may include several components, elements, members, modules, nodes, or peripherals, etc. Furthermore, these methods, devices, systems, or articles of manufacture may or may not include additional components, elements, members, modules, nodes, or peripherals, etc.
[0071]
[0075] Furthermore, the various aspects described herein may be implemented using standard programming or engineering techniques to create software, firmware, hardware (e.g., circuitry), or any combination thereof, to control a computing device to implement the disclosed subject matter. It will be understood that some embodiments may be comprised of one or more general-purpose or special-purpose processors, such as microprocessors, digital signal processors, customized processors, and field programmable gate arrays (FPGAs), and unique stored program instructions (including both software and firmware) that control the one or more processors to implement some, most, or all of the functionality of the methods, devices, and systems described herein in conjunction with specific non-processor circuitry.
[0072]
[0076] Alternatively or additionally, some or all of the functions may be implemented by a state machine with no stored program instructions, or may be implemented in one or more application specific integrated circuits (ASICs) in which each function or some combination of specific functions is implemented as custom logic circuitry. Of course, a combination of the two approaches may be used. Moreover, it is expected that those skilled in the art, guided by the concepts and principles disclosed herein, will be readily able to generate such software instructions and programs and ICs with minimal experimentation, although there may be considerable effort and many design choices motivated, for example, by available time, current technology, and economic considerations.
[0073]
[0077] The term "article of manufacture" as used herein is intended to encompass a computer program accessible from any computing device, carrier, or medium. For example, computer-readable media may include magnetic storage devices such as hard disks, floppy disks, or magnetic strips, optical disks such as compact disks (CDs) or digital versatile disks (DVDs), smart cards, and flash memory devices such as cards, sticks, or key drives. In addition, it should be understood that carrier waves may be utilized to carry computer-readable electronic data, including those used in sending and receiving electronic data such as electronic mail (email), or in accessing a computer network such as the Internet or a local area network (LAN). Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope or spirit of the subject matter of this disclosure.
[0074]
[0078] Throughout the specification and embodiments, the following terms have at least the meanings expressly associated therewith herein, unless otherwise clearly indicated by the context. Relative terms such as "first" and "second" and the like may be used only to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The term "or" is intended to mean an inclusive "or" unless otherwise specified or clear from the context to be directed to an exclusive form. Additionally, the terms "a", "an", and "the" are intended to mean one or more, unless otherwise specified or clear from the context to be directed to the singular form. The term "including" and its various forms are intended to mean including, but not limited to. References to "one embodiment", "embodiment", "exemplary embodiment", "various embodiments", and other similar terms indicate that an embodiment of the disclosed technology so described may include a particular feature, feature, structure, or characteristic, but not necessarily all embodiments include that particular feature, feature, structure, or characteristic. Additionally, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, although it may. The terms "substantially," "essentially," "approximately," "about," or any other version thereof, are defined as close as understood by one of ordinary skill in the art, and such terms are defined in one non-limiting embodiment to within 10%, in another embodiment to within 5%, in another embodiment to within 1%, and in another embodiment to within 0.5%. A device or structure "configured" in a particular way is configured in at least that way, but may also be configured in ways not described.
Claims
1. 1. A method performed by a Point of Sale (POS) system having a first optical sensor operable to scan a visual object identifier code disposed on an object, the method comprising: Each code represents one of a set of object identifiers; Each identifier is unique to a particular object and is represented by a sequence of characters, the first optical sensor is located on or about the POS system; a field of view of the first optical sensor is directed toward a particular area of the POS system associated with scanning the visual object identifier code disposed on the object; obtaining the portion of the series of characters representing the corresponding object identifier by a scan performed by the first optical sensor of one of the visual object identifier codes located on the particular object such that a particular object can be identified based on the set of object identifiers and the portion of the series of characters representing the corresponding object identifier. method.
2. The obtaining step includes: receiving, by a processing circuitry of the POS system, an indication from the first optical sensor, the indication including the portion of the series of characters representing the corresponding object identifier; The method of claim 1 , comprising:
3. identifying the particular object based on the set of object identifiers and the portion of the sequence of characters representing the corresponding object identifier. The method of claim 1 further comprising:
4. receiving, by a processing circuitry of the POS system, image data representative of a captured image of the particular object from a second optical sensor of the POS system, the second optical sensor being positioned on or about the POS system such that a field of view of the second optical sensor is directed toward the particular area of the POS system associated with scanning the visual object identifier code disposed on the object; identifying the particular object based on the set of object identifiers, the image data, and the portion of the series of characters representing the corresponding object identifier; The method of claim 1 further comprising:
5. The identifying step further comprises: transmitting, by the POS system, an indication over a network to a network node including a request to confirm that the particular object corresponds to one of the candidate objects based on the image data of the particular object, wherein the network node includes an artificial intelligence circuit operable to perform object identification to determine that the particular object corresponds to one of the candidate objects, the artificial intelligence circuit being trained with image data associated with the set of objects; receiving, by the POS system, from the network node via the network, an indication that the particular object corresponds to the one of the candidate objects; Further equipped with the identifying step being further based on the received indication. The method according to claim 4.
6. receiving, by processing circuitry of the POS system, an indication from a load sensor of the POS system, the indication including a weight measurement of the particular object; identifying the particular object based on the portion of the sequence of characters representing the corresponding object identifier, the set of object identifiers, and the weight measurement; The method of claim 1 further comprising:
7. The identifying step includes: determining that the measured weight of the particular object corresponds to a range of potential weights associated with candidate objects of the set of candidate objects, each of the set of objects having a particular range of potential weights; The method of claim 6 further comprising:
8. The method of claim 1 , further comprising the step of determining an object identifier from the set of object identifiers that corresponds to the portion of the sequence of characters to obtain a candidate object identifier.
9. The step of determining an object identifier comprises: determining object identifiers of the set of object identifiers having the same characters in the same positions as the portion of the series of characters; The method of claim 8 further comprising:
10. The step of determining an object identifier comprises: determining an object identifier of the set of object identifiers having the same characters in the same order as the portion of the series of characters; The method of claim 8 further comprising:
11. determining an object identifier from the set of object identifiers that corresponds to the portion of the sequence of characters to obtain a candidate object identifier; obtaining an object specific to the candidate object identifier to obtain the candidate object; outputting a visual representation associated with a request to select one of the candidate objects for display on a presence sensitive display of the POS system; and receiving an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with one of the candidate objects; determining that the detected touch gesture corresponds to the one of the candidate objects; identifying the particular object as the one of the candidate objects; The method of claim 1 further comprising:
12. outputting, for display on a presence sensitive display of the POS system, a visual representation associated with a request to confirm that the particular object is one of the candidate objects; receiving an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with the confirmation request; determining that the detected touch gesture corresponds to the visual representation associated with the confirmation request; verifying that the particular object is one of the candidate objects; The method of claim 11 further comprising:
13. 2. The method of claim 1, wherein the portion of the series of characters includes characters at a first position and a last position of the series of characters, and one or more positions between the first position and the last position of the series of characters correspond to unscanned, undetected, or undecoded characters of the series of characters.
14. 2. The method of claim 1, wherein one or more positions starting at a first position or ending at a last position of the series of characters correspond to unscanned, undetected, or undecoded characters of the series of characters.
15. A POS (Point of Sale) system, the POS system has a first optical sensor operable to scan visual object identifier codes placed on objects, each code representing an object identifier of a set of object identifiers, each identifier being unique to a particular object and represented by a series of characters, the first optical sensor being positioned on or about the POS system such that a field of view of the first optical sensor is directed toward a particular area of the POS system associated with scanning the visual object identifier codes placed on the objects; The POS system further includes a memory, the memory including instructions executable by processing circuitry, the processing circuitry including: configured to obtain, based on a scan performed by the first optical sensor of one of the visual object identifier codes located on a particular object, the portion of the series of characters representing the corresponding object identifier, such that a particular object can be identified based on the set of object identifiers and the portion of the series of characters representing the corresponding object identifier. POS system.
16. The memory includes further instructions executable by the processing circuitry, the processing circuitry comprising: Identifying the particular object based on the set of object identifiers and the portion of the series of characters that represents the corresponding object identifier. The POS system according to claim 15, configured as follows:
17. the POS system further comprises a presence sensitive display; wherein the memory includes further instructions executable by the processing circuitry; The processing circuitry includes: determining an object identifier from the set of object identifiers that corresponds to the portion of the sequence of characters to obtain a candidate object identifier; obtaining an object specific to the candidate object identifier to obtain the candidate object; outputting a visual representation associated with a request to select one of the candidate objects for display on the presence sensitive display; and receiving an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with one of the candidate objects; determining that the detected touch gesture corresponds to the one of the candidate objects; identifying the particular object as the one of the candidate objects; The POS system of claim 15 configured to:
18. The memory includes further instructions executable by the processing circuitry, the processing circuitry comprising: determining an object identifier from the set of object identifiers that corresponds to the portion of the sequence of characters to obtain a candidate object identifier; obtaining an object specific to the candidate object identifier to obtain the candidate object; identifying the particular object as the one of the candidate objects; outputting, for display on a presence sensitive display of the POS system, a visual representation associated with a request to confirm that the particular object is one of the candidate objects; receiving an indication from the presence sensitive display of a touch gesture detected at or near the visual representation associated with the confirmation request; determining that the detected touch gesture corresponds to the visual representation associated with the confirmation request; verifying that the particular object is one of the candidate objects; The POS system of claim 15 configured to:
19. the POS system includes a second optical sensor operable to capture an image, the second optical sensor positioned on or about the POS system such that a field of view of the second optical sensor is directed toward the particular area of the POS system associated with scanning the visual object identifier code disposed on the object; wherein the memory includes further instructions executable by the processing circuitry; The processing circuitry includes: receiving image data from the second optical sensor representative of a captured image of the particular object; identifying the particular object based on the portion of the series of characters representing the corresponding object identifier, the set of object identifiers, and the image data; The POS system of claim 15 configured to:
20. the POS system includes a load sensor operable to measure a weight of an object; wherein the memory includes further instructions executable by the processing circuitry; The processing circuitry includes: receiving an indication from the load sensor including a weight measurement of the particular object; identifying the particular object based on the portion of the series of characters representing the corresponding object identifier, the set of object identifiers, and the weight measurement; The POS system of claim 15 configured to: