Using barcodes to determine the dimensions of an object

By determining object dimensions using barcode readers and local reference models, the method addresses the vulnerability of image-based systems to ticket switching, enhancing theft prevention with reduced resource demands.

DE102021112659B4Active Publication Date: 2026-05-13ZEBRA TECHNOLOGIES CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
ZEBRA TECHNOLOGIES CORP
Filing Date
2021-05-17
Publication Date
2026-05-13

AI Technical Summary

Technical Problem

Existing image-based barcode scanning systems are vulnerable to ticket switching, requiring significant processing power and data transfer, which strains IT infrastructure and introduces delays, and existing CNN-driven solutions are costly and resource-intensive.

Method used

A method using a barcode reader to determine object dimensions by comparing reference dimensions from the barcode with physical features, reducing data transfer and processing needs by using local reference models instead of cloud-based CNNs.

Benefits of technology

Effectively detects ticket switching with reduced data processing and infrastructure strain, enabling faster and more efficient theft prevention at the point of sale.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for detecting inadmissible objects using a barcode reader (106), wherein the method comprises: Identifying a barcode (124) in an image of an object (152); Determining a reference value assigned to the barcode (124); Identifying a visual feature of the object (152) that is located outside the barcode (124); Comparing the reference value assigned to the barcode (124) with the visual feature and, in response, determining at least one dimensional property of the object (152); and as a response to determining the at least one dimensional property, comparing the at least one dimensional property with at least one reference dimensional property of the object (152), and as a response to a mismatch between the at least one dimensional property and the at least one reference dimensional property, determining that a detection event of an invalid object (152) has occurred; wherein the visual feature comprises one or more physical features and / or printed features; including determining the reference quantity assigned to the barcode (124): Decoding a barcode payload (124); and Determining one dimension of the barcode (124) from the payload.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND

[0001] Image-based scanners are frequently used to read barcodes at the point of sale (POS). In this context, the scanner can read a barcode to charge a customer a specific amount of money. However, thieves have developed a way to circumvent this by transferring the barcode from one product to another. This practice is sometimes called "ticket switching."

[0002] Various applications for preventing ticket swaps and verifying items can be implemented using a convolutional neural network (CNN). For example, a CNN can classify an object in an image captured at the point of sale (POS) and then compare it to what the object "should" be based on information from a barcode classification on the object, thus determining whether a ticket swap has occurred. However, many CNN-driven applications are not easy to implement. They require additional processing beyond that of a typical decoding processor. This translates to extra time and cost. Furthermore, CNNs require a large number of images for training, typically over 10,000. Ideally, the training images are selected from the best images containing only one object.These images can be very large, requiring additional storage space.

[0003] Furthermore, if a universal CNN is to be set up for identifying objects at all points of sale, these images are sent to a central database in the cloud. The number of images then transferred to the cloud puts a strain on a business's existing IT infrastructure. Additionally, further delays can occur if the processing takes place remotely in a cloud.

[0004] CN 110 622 173 A describes a method for detecting a mislabeled product. When a product's Maximum Residual Value (MRL) is scanned, an image of the product is captured. After the product has been identified in the image, a size, including the product's area, can be calculated. If the size of the area containing the product does not match the standard MRL size, it can then be determined whether the MRL does not correspond to the product in the image.

[0005] US 2017 / 0193430A1 describes a system and method for identifying products that need to be restocked on shelves, and in particular the use of markers captured by image data to determine the size of the empty shelf space. To mark areas on the shelves that are not stocked with products and need to be restocked, markers with a pattern are placed on or near the shelves that contain products. A camera captures an image of the shelf, the products, and the price tags. A processor running software is used to analyze the image and identify the markers and the shelf. Subsequently, the storage areas on the shelf are analyzed to identify empty areas characterized by lower light intensity compared to the adjacent areas.The processor determines the position of the empty areas and calculates their size based on the known marker size and the marker size in the image to generate a scale that is applied to the empty area. Using this information and the stored product data, it determines which products should be restocked.

[0006] US 2016 / 0370220A1 describes systems and procedures for calibrating a volume dimensioner. A calibration system comprises a dimensioning device and a reference object. The dimensioning device is configured to remotely detect the properties of an object and calculate the object's physical dimensions from these properties. The reference object has predefined physical dimensions and an outer surface featuring a pattern of reference markings. The dimensioning device is configured to calibrate itself using the reference object as a basis for comparison.

[0007] EP 3 154 015 A1 describes a computer-implemented method, a computer program product, and a device for authenticating a visual identifier arranged on an article based on at least one image, wherein the article has at least one reference feature independent of the identifier and a three-dimensional object feature that deviates from a plane, wherein the authentication is based on the determination and comparison of a relative arrangement between the detected reference feature and the detected visual identifier, as well as on the detection of the three-dimensionality of the three-dimensional object feature and the verification of the detected three-dimensionality.

[0008] Therefore, there is a need for improved techniques to detect and prevent ticket switching. DESCRIPTION

[0009] According to the invention, a method with the features of claim 1, a method with the features of claim 21, and an electronic device with the features of claim 28 are provided.

[0010] According to the invention, a method for determining object dimensions using a barcode reader is provided.The procedure comprises identifying a barcode in an image of an object; determining a reference value associated with the barcode; identifying a physical feature of the object located outside the barcode; comparing the reference value associated with the barcode with the physical feature and, in response, determining at least one dimensional property of the object; and, in response to determining the at least one dimensional property, comparing the at least one dimensional property with at least one reference dimensional property of the object, and, in response to a mismatch between the at least one dimensional property and the at least one reference dimensional property, determining that a detection event of an invalid object has occurred.Determining the reference quantity assigned to the barcode involves decoding a payload of the barcode and determining a dimension of the barcode from the payload.

[0011] In one variant of this embodiment, determining the reference quantity includes determining a dimension of the barcode as the reference quantity.

[0012] In one variant of this embodiment, the dimension of the barcode is a length of the barcode, a length of an element part of the barcode, or a limit dimension of the barcode.

[0013] In one variant of this embodiment, determining the reference quantity comprises: identifying a boundary of the barcode in the image; determining, based on the boundary, whether the barcode in the image is in a geometrically aligned position; and, in response to the fact that the boundary is not in a geometrically aligned position, performing a geometric transformation on the boundary and determining the reference quantity from a geometrically transformed boundary.

[0014] In one variant of this embodiment, the geometric transformation is a geometric rotation of the boundary, a geometric translation of the boundary, a geometric size change of the boundary and / or a geometric tilt correction of the boundary.

[0015] In one variant of this embodiment, the method further includes determining a dimension of a physical feature of the object located outside the barcode by means of geometric transformation.

[0016] In one variant of this embodiment, determining the reference quantity comprises: determining a type of barcode; and determining a dimension of the barcode from the type of barcode, wherein the dimension is the reference quantity associated with the barcode.

[0017] In one variant of this embodiment, the type of barcode is selected from the group consisting of 80% UPC, 100% UPC, a QR code, a 1D barcode, a 2D barcode, a Digimarc and a 2D data matrix.

[0018] In one variant of this embodiment, the physical feature is an edge of the object, an edge of a label containing at least part of the barcode, or a graphic on the object.

[0019] In one variant of this embodiment, the reference dimension is a dimension of the barcode, and comparing the reference dimension with the physical feature includes: determining a geometric distance between the reference dimension and the physical feature.

[0020] In one variant of this embodiment, the graphic on the object is text on the object.

[0021] In one variant of this embodiment, the physical feature is a curvature of the object, and comparing the reference dimension with the physical feature includes: comparing a dimension of the barcode with the curvature of the object.

[0022] In one variant of this embodiment, determining the reference quantity associated with the barcode includes: determining a density of the barcode; and determining a dimension of the barcode from the barcode density.

[0023] Determining the reference quantity assigned to the barcode involves decoding a payload of the barcode and determining a dimension of the barcode from the payload.

[0024] In one variant of this embodiment, the method further includes: transmitting an alarm signal in response to the determination that the detection event of an unauthorized object has occurred.

[0025] In a variant of this embodiment, the method further comprises, in response to the determination of the at least one dimensional property, determining whether there is at least one reference dimensional property of the object to compare with the at least one dimensional property, and in response to the determination that there is not at least one reference dimensional property for comparison, storing the at least one dimensional property in a reference dimensional property model for the object.

[0026] In one variant of this embodiment, the method further comprises, prior to comparing the at least one dimensional property with at least one reference dimensional property of the object: identifying and decoding a payload of the barcode; identifying the at least one reference dimensional property from the decoded payload; and determining that the at least one dimensional property corresponds to the at least one reference dimensional property.

[0027] In one variant of this embodiment, the at least one dimensional property comprises at least one of: an outer dimension of the object; a position of a label on the object; a position of text on the object; and an inner dimension of the object.

[0028] In a variant of this embodiment, the method further comprises: detecting a character near the barcode; determining the position of the character based on the reference; and using optical character recognition (OCR) technology to perform at least one of: storing the character and its position in a reference model; and comparing the character data with similarly positioned character data stored in a reference model.

[0029] According to the invention, a method for detecting an inadmissible object and for developing a reference measurement model for an object is provided.The procedure comprises: a) identifying a barcode in an image of an object; b) determining at least one reference quantity associated with the barcode; c) identifying a plurality of physical features of the object, each physical feature being located outside the barcode; d) comparing the at least one reference quantity associated with the barcode with the physical features and determining a plurality of dimensional properties for the object; e) storing the plurality of dimensional properties as the reference dimensional model; and f) determining that a detection event of an invalid object has occurred by: (i) comparing a dimensional property of the plurality of dimensional properties with a dimensional property of a detected object, and (ii) determining a mismatch between the dimensional property of the plurality of dimensional properties and the dimensional property of the detected object.Determining the reference quantity assigned to the barcode involves decoding a payload of the barcode and determining a dimension of the barcode from the payload.

[0030] In one variant of this embodiment, the at least one reference dimension comprises a length of the barcode, a length of an element part of the barcode, or a limit dimension of the barcode.

[0031] In one variant of this embodiment, determining the at least one reference quantity comprises: identifying a boundary of the barcode in the image; determining, based on the boundary, whether the barcode in the image is in a geometrically aligned position; and, in response to the fact that the boundary is not in a geometrically aligned position, performing a geometric transformation on the boundary and determining the reference quantity based on a geometrically transformed boundary.

[0032] In one variant of this embodiment, the geometric transformation is a geometric rotation of the boundary, a geometric translation of the boundary, a geometric change in the size of the boundary and / or a geometric tilt correction of the boundary.

[0033] In one variant of this embodiment, the multitude of physical features is selected from the group consisting of an edge of the object, an edge of a label containing at least part of the barcode, and a graphic on the object.

[0034] In a variant of this embodiment, the method further comprises performing steps a), b), and c) for a subsequent image of the object or another object. In this variant, the method further comprises: determining subsequent values ​​for any of the plurality of dimensions; determining variation tolerances for any of the plurality of dimensions; and storing the variation tolerances in the reference dimension model. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The accompanying figures, in which identical reference numerals denote identical or functionally similar elements in the individual views, are incorporated into the disclosure together with the following detailed description and form an integral part of the disclosure and serve to further illustrate embodiments of concepts comprising the claimed invention described herein and to explain various principles and advantages of these embodiments.

[0036] The accompanying figures, in which identical reference numerals denote identical or functionally similar elements in the individual views, are incorporated into the disclosure together with the following detailed description and form an integral part of the disclosure and serve to further illustrate embodiments of concepts comprising the claimed invention described herein and to explain various principles and advantages of these embodiments. Fig. Figure 1A shows an example of a bi-optic scanner for performing the example procedures and / or operations described herein, including techniques for determining object dimensions. Fig. Figure 1B is a block diagram of an exemplary imaging reader for implementing the example procedures and / or operations described herein, including techniques for determining object dimensions using a barcode reader. Fig. Figure 2 shows an example barcode on an example image and also shows examples of dimensions that can be used as a reference. Fig. 3A shows an example of a rotated barcode. Fig. 3B and Fig. 3C shows examples of slanted barcodes. Fig. Figure 4A shows an example of an object with a shape that deforms a barcode on the object. Fig. Figure 4B shows an example of a barcode on a cylindrical object. Fig. Figure 5 shows an example of measurements from a sample barcode. Fig. Figure 6 shows a block diagram of an example process as it is implemented by the system of Fig. 1B can be implemented to implement example procedures and / or operations described herein, including techniques for determining the dimension(s) of an object. Fig. Figure 7 shows a block diagram of an example process for creating a reference dimension model, which is used when an invalid object scan is detected by the system of Fig. 1 can be used.

[0037] Experts will recognize that elements in the figures are shown for the sake of simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to improve the understanding of embodiments of the present invention.

[0038] Where appropriate, the apparatus and process components have been represented by conventional symbols in the drawings, which show only those specific details relevant to understanding the embodiments of the present invention, so as not to obscure the disclosure with details that are readily apparent to those skilled in the field who refer to the present description. DETAILED DESCRIPTION

[0039] In various embodiments of the present disclosure, a method as well as associated systems and devices for determining object dimensions using a barcode reader and for developing a reference dimension model for an object are described.

[0040] As mentioned above, there is a need for improved systems to prevent illegal practices such as ticket swapping. In this context, an image- or video-based system could be used to detect when a barcode has been transferred from one product to another (e.g., a ticket swap). However, this would likely require transferring large amounts of data to a cloud for processing. Some of the embodiments described herein address this problem by determining the dimensional data of a barcode; some embodiments then use this dimensional data (rather than image or video data) to determine whether a ticket swap has occurred. This significantly reduces the amount of data that needs to be transferred or processed.

[0041] Fig. Figure 1A shows a perspective view of an exemplary imaging system capable of implementing operations of the example procedures described herein, as illustrated in the flowcharts of the drawings accompanying this description. In the example shown, an imaging system 100 takes the form of a POS (Point-of-Sale) system comprising a workstation 102 with a checkout counter 104, a bi-optic (also referred to as "bi-optic") symbol reader 106 (which may be used in the object recognition systems and procedures described herein), and an additional camera 107, which is at least partially enclosed in a housing of the barcode reader 106. In these examples, the symbol reader 106 is referred to as the barcode reader.Furthermore, in the present examples, the camera 107 can be referred to as an image acquisition assembly and can be designed as a color camera or other camera for taking pictures of an object.

[0042] The imaging systems presented here can contain any number of imaging devices housed in any number of different devices. While Fig. Figure 1A shows a bi-optic barcode reader 106 as the image transmitter, but in other examples the image transmitter can be a handheld device, such as a handheld barcode reader, or a stationary image transmitter, such as a barcode reader that is mounted in a base and operated in a so-called "presentation mode".

[0043] In the example shown, the barcode reader 106 comprises a lower housing 112 and an elevated housing 114. The lower housing 112 can be referred to as a first housing part, and the elevated housing 114 as a tower or second housing part. The lower housing 112 includes an upper part 116 with a first optically transparent window 118, which is arranged therein along a generally horizontal plane with respect to the overall configuration and placement of the barcode reader 106. In some examples, the upper part 116 may contain a removable or non-removable plate (e.g., a weighing plate).

[0044] In the Fig. In the example shown in Figure 1A, the barcode reader 106 captures images of an object, in particular a product 122, such as a box. In some embodiments, the barcode reader 106 captures these images of the product 122 through one of the first and second optically transparent windows 118, 120. Image capture can be achieved, for example, by positioning the product 122 within the field of view (FOV) of the digital image sensor(s) in the barcode reader 106. The barcode reader 106 captures images through these windows 118, 120, so that a barcode 124 associated with the product 122 is digitally read through at least one of the first and second optically transparent windows 118, 120.

[0045] In the example shown from Fig. 1A the barcode reader 106 additionally captures images of the product 122 with the camera 107, which captures images and generates image data that can be processed to check whether the scanned product 122 matches the barcode 124, and / or image data can be used to populate a database.

[0046] To carry out the exemplary object recognition techniques described herein, images taken through one of the windows 118, 120 or the camera 107 can be used to identify the product 122, e.g. by determining first object identification data using an image taken of the product 122 and determining second object identification data using the barcode 124 and comparing the two identification data.

[0047] In the example shown from Fig. In 1A, the imaging system 100 includes a remote server 130, which is connected to the barcode reader 106 via a wired or wireless communication link. In some examples, the remote server 130 communicates with multiple imaging systems 100, which are located, for example, in the checkout area of ​​a facility. In some examples, the remote server 130 is implemented as an inventory management server that generates and compares object identification data. In some examples, the remote server 130 is accessible to an administrator to monitor operation and unauthorized product scanning by the imaging system 100.

[0048] Fig. Figure 1B is a representation of an example imaging scanner 150 that is capable of implementing operations of the example procedures described herein, as they may be illustrated in the flowcharts of the drawings that are attached to this description.

[0049] As described in various examples, the imaging scanner 150 can be a barcode reader, e.g. a portable barcode reader or a mountable barcode reader that can read a barcode on an object in the barcode reader's field of view.

[0050] In some examples, the imaging scanner 150 can be a barcode reader configured as an imager, such as a bi-optic imager with a vertically extending plate and a horizontally extending tower, each capable of capturing an image of an object across a field of view and each capable of identifying and reading a barcode on the object. The term "barcode" as used here encompasses any character that contains decodable information and can be represented on or in an object, including but not limited to a one-dimensional (1D) barcode, a two-dimensional (2D) barcode, a three-dimensional (3D) barcode, a four-dimensional (4D) barcode, a QR code, a direct part marking (DPM), etc.

[0051] In the example shown, the image scanner 150 includes an imaging assembly 154 configured to capture an image of a target object. To focus on objects of interest, the exemplary imaging assembly 154 includes any number and / or type(s) of focus / field of view (FOV) assemblies 156 that collect light reflected from an object 152 and project that light onto an imaging sensor 158. These FOV assemblies 156 can be composed of different fields of view, each capturing a different field of view of a room. These FOV assemblies 156 can be characterized by one or more focal lengths and one or more focal plane positions of the image sensor 158. In various examples, one or more of these physical characteristics of the FOV assemblies can be controlled by the processing platform 160 (e.g., a logic circuit).The example shown also includes a dimension determiner 164 for determining the dimensions of a product. The dimension determiner 164 can, for example, perform the operations of... Fig. 6 and Fig. 7. Perform an invalid scan attempt, determine a reference dimension property (e.g., an outer dimension of the object, a position of a label on the object, a position of text on the object, an inner dimension of the object, etc.), save a reference dimension model, and so on.

[0052] In a barcode reader implementation of the imaging scanner 150, these focus / FOV assemblies 156 can, for example, include a variable focusing element, either an optically controlled variable focusing element or a digitally controlled variable focusing element. A barcode reader can include other systems with physical features that can be configured by the processing platform 160. For example, a barcode reader can also include a targeting device configured to generate a target pattern, such as a dot, crosshair, line, rectangle, circle, etc., that is projected onto the target.

[0053] The imaging scanner 150 also includes an illumination assembly 162, which is configured to illuminate a target across one or more fields of view of the imaging scanner 150.

[0054] In one barcode reader implementation, for example, the lighting assembly 162 can generate monochromatic illumination over a viewing area, while in other examples, the lighting assembly 162 generates polychromatic illumination, such as white light illumination, over the viewing area. In various examples, the lighting assembly 162 contains a variety of different light sources, such as light sources that generate illumination with different output wavelengths. In some examples, these light sources differ in type, so the lighting assembly 162 can contain light-emitting diodes (LEDs), visible light sources, and / or infrared light sources. Which light source is used at any given time can be determined by the processing platform 160.

[0055] In this way, the illumination assembly 162 includes numerous configurable settings, including the selected illumination source, the illumination wavelength or wavelength range, the type of illumination source, and the illumination brightness. These features can be configured by instructions from the processing platform 160. Additionally, optical features of the image sensor 158 can be configured, such as the optical gain and the exposure time, where optical gain refers to the control of the optical gain elements in the path of the received light. In other examples, the digital gain can be configured, as applied, for instance, in the integrated readout circuit of the imaging sensor 158.

[0056] Furthermore, in some examples, the lighting assembly 162 can have one or more fields of view for different light sources, such as a bi-optical imager with a horizontal tower lighting assembly to produce a beam of light extending vertically into a first field of view, and a vertical panel lighting assembly to produce a beam of light extending horizontally into a second field of view, with these two fields of view potentially overlapping. The field of view used by the lighting assembly 162 in this case can be selected via configuration settings and, in some examples, can also be adjusted.

[0057] Various applications for theft prevention and object verification can be achieved through intensive data processing in a cloud-based environment. One example is training and using a convolutional neural network (CNN) to identify objects by classifying captured images. Traditional CNN techniques often require significant processing power, incurring time and costs for proper deployment. CNNs typically need a large set of training images, ideally including images selected from the best ones that contain only one object. These images can be very large, requiring additional storage space.

[0058] Furthermore, if a universal network for identifying objects across all retail outlets is to be established, these images are sent to a central database in the cloud. The number of images then transferred to the cloud puts a strain on a store's existing IT infrastructure. Additionally, processing in the cloud can introduce further delays.

[0059] Although the special features contained herein may be advantageous for avoiding a CNN (and thus the additional processing and costs), these processes can still be implemented in coordination with a CNN and / or using a remote server. Therefore, implementations with processes running in the barcode reader are given as examples, not as limitations. For instance, some embodiments use a LAN to manage the systems and procedures described herein for a small number of POS devices in a single system.

[0060] Unlike conventional, standalone CNN systems, the presented techniques enable similarly robust theft monitoring through the use of reference models that can be stored and executed on the barcode reader and that can be generated without CNN training or other machine learning classification processes. While the presented techniques can be integrated into an existing CNN system, they enable faster evaluation of an object in a captured image, the search for visual features in the image, and the assessment, based on the reference models, of whether the scanned object was an unauthorized or legitimate scan.In some examples, these reference models, as described above, can contain a number of different visual features and use the dimensions of each feature to validate the scanning of an object. The dimensions of the visual features can consume far less data, allowing them to be stored locally in a barcode reader, or they can be transferred to a cloud for image processing and / or object identification, requiring fewer resources than a single CNN system. In this respect, some of the embodiments described herein have the advantage of first determining the dimensions of an object and then using those dimensions to determine whether an unauthorized scan attempt has occurred.

[0061] The barcode reader uses the image of the barcode to identify each scanned object. In some embodiments, the barcode is a constant in each decoded image that can be used to determine the object's dimensions. A barcode can be used as a reference point and unit of measurement to determine the object's dimensions relative to the barcode. The ratio of these measurements can then be stored for future comparison.

[0062] In some embodiments, vectors are used to identify directions and distances of visual features. As used herein, a “visual feature” can be a physical feature and / or a printed feature. Examples of physical features include: the length of part of an object, the shape of part of an object, a physical mark on the object, or a physical property of the object. Examples of printed features include alphanumeric characters or text, graphics, and images. References herein to processes performed on a “visual feature,” a “physical feature,” or a “printed feature” are to be understood as representative. The same processes can be performed on any of the other features, whether or not it is expressly mentioned in the example.Further references to one of these features are to be understood as encompassing several features of the referenced feature or of one of the features.

[0063] In some embodiments, a vector stores information that identifies visual features. By using vectors to define some or all of the visual features, an image can be analyzed, and vectors can be used to detect visual features and / or determine whether the visual features are in expected directions and distances.

[0064] Furthermore, directional data from the vectors can be used to point to a specific location on the object. Additionally, vector data can be used to search for features associated with other aspects, such as physical features associated with an edge of an object or printed features associated with a surface.

[0065] In the example of Fig. 2. The length 202 of the barcode 200 is measured (e.g., by the dimension determiner 164) so ​​that the distances to the edges of the product 204 can be easily determined, as can the distances to the edges of a product label 206. These distances can then be compared with the known distances of the item in question to determine if they match the expected scanned item. In this way, cases of fraudulent behavior, such as ticket substitution, can be detected, and the cashier or store security can be alerted. A barcode scanning system can create a database of the dimensions of the items during scanning or upload a database of the dimensions of known items for comparison.

[0066] In the example of Fig. 2. The barcode 200 is well aligned with the imaging field of view of the focus / FOV assemblies 156. However, this is not always possible or even likely during rapid scanning at the POS. It is more probable that the object will be tilted or rotated relative to the imaging FOV of the focus / FOV assemblies 156. In these cases, the dimensions of the barcode boundaries can be located and the boundary dimensions determined by the dimension determiner 164 to assist in determining both rotation and translation.

[0067] In the example of rotation in Fig. 3A locates the boundaries of barcode 310 and determines a rotation angle. Subsequently, the dimensions can be determined by dimension determiner 164 based on the known rotation.

[0068] Given the square boundaries of a slanted barcode (see, for example, barcode 320 in Fig. 3B or barcode 330 in Fig. 3C) The barcode could be rectified into a normal rectangle to compensate for perspective. After rectifying the barcode boundaries, the subsequent dimensions can be rectified using the same factors (e.g., by dimension determiner 164).

[0069] The decoded data can also distinguish, for example, between left and right to determine the code orientation, which helps to establish which sides of the code boundaries the dimensions are assigned to.

[0070] Optical character recognition (OCR) can also be used to search for similar characters near the barcode. This makes it possible to detect when a barcode has been removed from one package and applied to another package of similar size (e.g., when transferring tickets between packages of similar size).

[0071] Some embodiments use OCR to assist in the detection of an unauthorized scanning attempt. In this context, some embodiments detect one or more numeric or alphabetic characters near the barcode or at any location on object 152 and then determine the position of the character(s) based on the reference size. An OCR procedure can then be used, for example, to (i) store the character(s) and their position in a reference model, or (ii) compare the character(s) with similarly positioned characters in a reference model. It should be understood that whether the character(s) are located near the barcode may depend on the size of object 152.

[0072] The spacing may vary slightly with certain packaging. Some examples include bags that deform (e.g., bag 410 in Fig. 4A), or packages where the barcode is not uniformly placed. In such cases, the dimension determiner 164 can determine the typical tolerances for the dimensions of the packaging or label edges and flag cases that exceed the specified tolerance (e.g., detect an invalid scan attempt if a tolerance is exceeded).

[0073] Furthermore, the curvature of barcodes on cylindrical objects can be determined to ascertain that the code has not been shifted to a surface with a different curvature. Fig. Figure 4B shows an example of a 420 barcode placed on a cylindrical object. For curved objects, barcode measurement parallel to the axis of rotation can also be used to determine the diameter of the curved object in relation to the barcode size.

[0074] In some cases, the barcode density is irrelevant for the calculations, as the specific barcode of each item can be used both as a reference point and as a unit of measurement for the dimensions of that item. Thus, it makes no difference whether the barcode is 80% UPC or 100% UPC – the dimension determiner 164 would still be able to determine the dimensions relative to any code.

[0075] Alternatively or additionally, some models are pre-programmed with the barcode density of the respective object. These embodiments can (since the barcode density is known) use the dimensions of the barcode as a final measurement method to determine the actual dimensions of the object. Conversely, if the dimensions of the object were known to the system, the barcode density could be derived in a similar manner. Such data would be extremely useful for other object identification systems that could use the data acquired by a scanner using the techniques described in this disclosure. In some embodiments, the information itself (e.g., about the barcode density, the dimensions of the object, etc.) is acquired by the barcode reader by looking up the information in the database (e.g., using an identifier found in the barcode payload).In other cases, the information is encoded in the barcode itself (e.g., read directly from the payload).

[0076] Furthermore, different dimensions of the barcode can be determined and used as a reference point. Fig. Figure 5, for example, shows an example of the dimensions of a barcode. These dimensions can be used as a reference point.

[0077] Fig. Figure 6 shows an example process 600, which in some embodiments is carried out by the dimension determiner 164. In process 602, a barcode on an object is identified (e.g., by the processing platform 160 of the imaging scanner 150).

[0078] In process 604, a reference dimension associated with the barcode is determined. In some embodiments, the determination of the reference dimension is achieved by the imaging sensor 158 receiving an image; the processing platform 160 then identifying a barcode in the image; and the dimension determiner 164 then determining the reference dimension from the barcode, as described below. It should be understood that in some embodiments, the reference dimension is a dimension of the barcode (e.g., a length of the barcode; a length of a segment of the barcode; a boundary dimension of the barcode; a distance from a first or last line of the barcode to an edge of a product or product label; or so forth).

[0079] In some approaches, determining the reference size may involve identifying a boundary of the barcode in the image (e.g., using the Processing Platform 160). The boundary can then be used to determine whether the barcode in the image is in a geometrically aligned position. If the boundary is not, a geometric transformation can be performed on the boundary. The reference size can then be determined based on the geometrically transformed boundary. In one example, the geometric transformation might involve a geometric rotation of the boundary, a geometric translation of the boundary, a geometric resizing of the boundary, and / or a geometric skew correction of the boundary.

[0080] In other examples, determining the reference quantity includes specifying a barcode type and determining a dimension of the barcode from that barcode type (where the dimension is, for example, the reference quantity associated with the barcode). In some embodiments, the barcode type may be an 80% UPC, a 100% UPC, a QR code, a 1D barcode, a 2D barcode, or a 2D data matrix.

[0081] In some embodiments, the reference quantity is determined by first determining the density of the barcode and then deriving a dimension of the barcode from the barcode density. In other embodiments, the reference quantity is determined by first decoding a payload of the barcode and then determining a dimension of the barcode from the payload.

[0082] In process 606, a physical feature of object 152 located outside the barcode is determined. This physical feature could be, for example, an edge of object 152, an edge of a label containing at least part of the barcode, or a graphic (e.g., text) on object 152. The physical feature can be determined in various ways. For example, the physical feature can be determined by the processing platform 160, which analyzes an image of object 152 received from the imaging sensor 158. The processing platform 160 can store a variety of different possible physical features for which it searches in the captured images. The physical features can be stored in a memory of the imaging scanner 150. In some examples, the physical features are stored separately.In some examples, the physical features are stored in a reference model that contains a variety of reference dimension features. In some examples, the physical features may depend on recognized features in the captured image. For example, the processing platform 160 may be determined by recognizing that an outer edge of an object in an image has been captured, or that a label has been captured, or that an edge of a label has been captured, or that a graphic on the object has been captured, or that text on the object has been captured. The processing platform can determine that these captured features are physical features. In some examples, in response to the identification of one of these features, the processing platform 160 identifies another physical feature.For example, the Processing Platform 160 can identify a multitude of outer edges of an object and determine the outer edge closest to an edge of the barcode as the physical feature. The identified edges can be outer edges, but also edges or boundaries of features within the outer perimeter of the object, such as edges on internal features captured in an image. In another example, the Processing Platform 160 can use an OCR technique to determine a graphic (e.g., text) on the object as the physical feature. In some examples, the physical feature can represent multiple features, such as several edges captured in an image or an edge at the location of the OCR-captured text or graphic on the object.

[0083] In another example, the physical feature could be one or more alphabetic or numeric characters located near the barcode or anywhere within object 152. It should be understood that whether the character(s) are located near the barcode may depend on the size of object 152.

[0084] In process 608, the reference quantity associated with the barcode is compared with the physical feature(s), and in response, at least one dimension of the object is determined. The comparison can be made by determining a geometric distance between the reference quantity and the physical feature. In some embodiments, the physical feature is a curvature of the object, and the comparison is made by comparing a dimension of the barcode with the curvature of the object.

[0085] Process 610 involves the detection of an unauthorized object scan, such as an attempted unauthorized object scan (e.g., an attempted theft by ticket swapping). Within block 610, the dimension determiner 164 can, for example, detect a difference between a dimensional property (e.g., an external dimension of the object; the position of a label on the object; the position of text on the object; an internal dimension of the object; etc.) determined from the object's image and a reference dimensional property stored, for example, by the dimension determiner 164. In response to this detection, an alarm (e.g., audible, visual, or silent) can be triggered, and store security personnel or local law enforcement can be notified.

[0086] The reference dimension property can be determined in several ways. For example, the reference dimension property can be determined upon the first scan of an object (e.g., dimension determiner 164 stores the position of the text on an object as the reference dimension upon the first scan); however, as can be seen, this approach does not work if the ticket change has not occurred on the first scanned object. In another example, the reference dimension property is determined based on the reference dimension property found in a predetermined number of scans of imaging sensor 158. In yet another example, a reference model can also store reference dimensions / properties, as shown below with respect to Fig. 7 described.

[0087] In this context, it is useful to create a "reference model" of an object. For example, the dimensions (or dimension properties) of a reference model can be compared with the dimension data of an object to determine whether a ticket change has occurred. In some cases, a reference model can thus be used instead of training a CNN.

[0088] Fig.Figure 7 shows an example process 700 for creating a reference model, which in some embodiments is performed by the dimension determiner 164. In process 702, a barcode on an object is identified (e.g., by the imaging scanner 150). In process 704, a reference dimension associated with the barcode is determined. In some embodiments, the reference dimension is a dimension of the barcode (e.g., a length of the barcode; a length of a segment of the barcode; a boundary dimension of the barcode; a distance from a first or last barcode line to an edge of a product or product label; or so on). In some approaches, determining the reference dimension may first involve identifying a boundary of the barcode in the image.The boundary can then be used to determine whether the barcode in the image is in a geometrically aligned position. If the boundary is not geometrically aligned, a geometric transformation can be performed on the boundary. The reference dimension can then be determined based on the geometrically transformed boundary. For example, the geometric transformation could be a geometric rotation of the boundary, a geometric translation of the boundary, a geometric resizing of the boundary, and / or a geometric tilt correction of the boundary.

[0089] In other examples, determining the reference quantity includes specifying a barcode type and determining a dimension of the barcode from that barcode type (where the dimension is, for example, the reference quantity associated with the barcode). In some embodiments, the barcode type may be an 80% UPC, a 100% UPC, a QR code, a 1D barcode, a 2D barcode, or a 2D data matrix.

[0090] In some embodiments, the reference quantity is determined by first determining the density of the barcode and then deriving a dimension of the barcode from the barcode density. In other embodiments, the reference quantity is determined by first decoding a payload of the barcode and then deriving a dimension of the barcode from the payload. In some embodiments, if the barcode is only partially visible (e.g., a person's finger obscures part of the barcode), the dimension determiner 164 attempts to determine the information it can glean from the visible part of the barcode; in this way, if the density or other information is learned, the dimension determiner 164 may still be able to determine the dimensions of the object.

[0091] In process 706, a physical feature of the object located outside the barcode is determined. This physical feature could be, for example, an edge of the object, an edge of a label that contains at least part of the barcode, or a graphic (e.g., text) on the object.

[0092] In process 708, the reference quantity associated with the barcode is compared with the physical feature(s), and in response, a variety of dimensions of the object are determined. The comparison can be made by determining a geometric distance between the reference quantity and the physical feature. In some embodiments, the physical feature is a curvature of the object, and the comparison is made by comparing a dimension of the barcode with the curvature of the object.

[0093] In process 710, a reference model is created from the multitude of dimensions. To improve the reference model, processes 702, 704, and 706 can be repeated for one or more subsequent images, and the reference model can be updated accordingly. Additionally, variation tolerances for each dimension can be determined and stored. In some embodiments, these variation tolerances are useful for determining whether an invalid scan attempt has occurred, as described below. Furthermore, the reference model can include reference dimensions and / or reference dimension properties (e.g., an outer dimension of the object, the position of a label on the object, the position of text on the object, an inner dimension of the object, etc.). The reference dimensions and / or reference dimension properties can be determined in any desired manner.For example, they can be easily determined by the dimension determiner 164 using the reference model (e.g., the dimension determiner 164 considers the reference model and determines a position of a label and makes the position of the label the reference feature).

[0094] In Process 712, an unauthorized scanning attempt (e.g., an attempted theft by ticket swapping) can be detected by determining a difference between a dimension derived from the object's image and a dimension of the reference model. In response to this detection, an alarm (e.g., audible, visual, or silent) can be triggered, and store security personnel or local law enforcement can be notified. In some embodiments, an unauthorized scanning attempt is detected if a dimension derived from an image of the object falls outside the deviation tolerance.In some embodiments, the invalid scan event is determined by: (i) comparing a dimensional property of the reference model with a dimensional property of a detected object, and (ii) determining whether there is a mismatch between the dimensional property of the reference model and the dimensional property of the detected object.

[0095] The above description refers to a block diagram in the accompanying drawings. Alternative embodiments of the example shown in the block diagram include one or more additional or alternative elements, methods, and / or devices. Additionally or alternatively, one or more of the example blocks of the diagram may be combined, split, rearranged, or omitted. The components represented by the blocks of the diagram are implemented by hardware, software, firmware, and / or any combination thereof. In some examples, at least one of the components represented by the blocks is implemented by a logic circuit. As used herein, the term "logic circuit" is expressly defined as a physical device containing at least one hardware component that (e.g.,A logic circuit is a device configured (by operating according to a predetermined configuration and / or by executing stored machine-readable instructions) to control one or more machines and / or perform operations on one or more machines. Examples of logic circuits include one or more processors, one or more coprocessors, one or more microprocessors, one or more controllers, one or more digital signal processors (DSPs), one or more application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), one or more microcontroller units (MCUs), one or more hardware accelerators, one or more special-purpose computer chips, and one or more system-on-a-chip (SoC) devices. Some example logic circuits, such as ASICs or FPGAs, are specially configured hardware for performing operations (e.g.,one or more of the operations described herein and illustrated in the flowcharts of this disclosure, if any). Some example logic circuits are hardware that executes machine-readable instructions to perform operations (e.g., one or more of the operations described herein and illustrated by the flowcharts of this disclosure, if any). Some example logic circuits comprise a combination of specially configured hardware and hardware that executes machine-readable instructions. The above description refers to various operations described herein and flowcharts that may be included to illustrate the sequence of these operations. All such flowcharts are representative of the example procedures disclosed herein. In some examples, the procedures illustrated by the flowcharts implement the devices represented by the block diagrams.Alternative implementations of the example methods disclosed herein may include additional or alternative operations. Furthermore, operations of alternative implementations of the methods disclosed herein may be combined, split, rearranged, or omitted. In some examples, the operations described herein are implemented by machine-readable instructions (e.g., software and / or firmware) stored on a medium (e.g., an accessible machine-readable medium) for execution by one or more logic circuits (e.g., processor(s)). In some examples, the operations described herein are implemented by one or more configurations of one or more custom-designed logic circuits (e.g., ASIC(s)). In some examples, the operations described herein are implemented by a combination of custom-designed logic circuits and machine-readable instructions stored on a medium (e.g.,(stored on an accessible, machine-readable medium) for execution by logic circuits, implemented.

[0096] As used herein, each of the terms “accessible machine-readable medium”, “non-transitory machine-readable medium”, and “machine-readable storage device” is expressly defined as a storage medium (e.g., a disk of a hard disk drive, a digital versatile disc, a compact disc, flash memory, read-only memory, random access memory, etc.) on which machine-readable instructions (e.g., program code in the form of, for example, software and / or firmware) are stored for any suitable duration (e.g., permanently, for a longer period (e.g., during the execution of a program associated with the machine-readable instructions), and / or for a short period (e.g., during the temporary storage of the machine-readable instructions and / or during a buffering process)).Furthermore, the terms “accessible, machine-readable medium”, “non-transitory, machine-readable medium”, and “machine-readable storage device” are expressly defined here in such a way as to exclude the transmission of signals. This means that none of the terms “accessible, machine-readable medium”, “non-transitory, machine-readable medium”, and “machine-readable storage device”, as used in the claims of this patent, can be read as being implemented by a propagating signal.

[0097] Specific embodiments have been described in the foregoing description. However, a person skilled in the art will recognize that various modifications and changes can be made without altering the scope of protection of the invention as defined in the claims below. Accordingly, the description and figures are to be considered illustrative rather than limiting, and all such modifications are to be included within the scope of the present teachings. Furthermore, the described embodiments / examples / implementations are not to be understood as mutually exclusive, but rather as potentially combinable if such combinations are in any way permissive.In other words, any feature disclosed in one of the aforementioned embodiments / examples / implementations may be included in any of the other aforementioned embodiments / examples / implementations.

[0098] The benefits, advantages, solutions to problems, and all elements that may lead to the occurrence or enhancement of a benefit, advantage, or solution are not to be understood as critical, necessary, or essential features or elements in some or all of the claims. The invention is defined solely by the attached claims, including any amendments made during the pendency of this application and all equivalents of the granted claims.

[0099] Furthermore, in this document, relational terms such as first and second, upper and lower, and the like may be used merely to distinguish one entity or action from another, without necessarily requiring or implying any actual relationship or order of such an entity or action between such entities or actions. The expressions "includes," "comprising," "has," "have," "exhibits," "exhibiting," "contains," "containing," or any other variation thereof are intended to cover non-exclusive inclusion, such that a process, procedure, product, or device that includes, has, exhibits, or contains a list of elements may not only have those elements but may also have other elements not expressly listed or inherent in such process, procedure, product, or device. An element that "includes," "has," "exhibits," or "contains"The use of the term "a" does not, without further limitations, preclude the existence of additional identical elements in the process, method, product, or device that comprises, has, features, or contains the element. The terms "a" and "a" are defined as one or more unless expressly stated otherwise herein. The terms "essentially," "generally," "approximately," "about," or any other version thereof are defined in such a way as to be understood by a person skilled in the art in this field, and in one non-restrictive embodiment, the expression is defined as within 10%, in another embodiment as within 5%, in yet another embodiment as within 1%, and in yet another embodiment as within 0.5%. The term "coupled," as used herein, is defined as connected, but not necessarily directly and not necessarily mechanically.A device or structure that is “configured” in a certain way is at least also configured in that way, but may also be configured in ways that are not listed.

[0100] The summary of the disclosure is provided to enable the reader to quickly ascertain the essence of the technical disclosure. It is provided with the understanding that it is not intended to be used for interpreting or limiting the scope or meaning of the claims. Furthermore, it can be inferred from the preceding detailed description that various features in different embodiments have been summarized for the purpose of streamlining the disclosure. This type of disclosure is not to be interpreted as reflecting the intention that the claimed embodiments require more features than are expressly stated in each claim. Rather, as the following claims demonstrate, the inventive step lies in fewer than all the features of a single disclosed embodiment.The following claims are hereby incorporated into the detailed description, each claim being a separately claimed subject matter.

Claims

[1] Method for detecting inadmissible objects using a barcode reader (106), the method comprising: Identifying a barcode (124) in an image of an object (152); Determining a reference value assigned to the barcode (124); Identifying a visual feature of the object (152) that is located outside the barcode (124); Comparing the reference value assigned to the barcode (124) with the visual feature and, in response, determining at least one dimensional property of the object (152); and as a response to determining the at least one dimensional property, comparing the at least one dimensional property with at least one reference dimensional property of the object (152), and as a response to a mismatch between the at least one dimensional property and the at least one reference dimensional property, determining that a detection event of an invalid object (152) has occurred; wherein the visual feature comprises one or more physical features and / or printed features; including determining the reference quantity assigned to the barcode (124): Decoding a barcode payload (124); and Determining one dimension of the barcode (124) from the payload. [2] Method according to claim 1, wherein determining the reference quantity comprises: Determining one dimension of the barcode (124) as the reference dimension. [3] Method according to claim 2, wherein the dimension of the barcode (124) is a length of the barcode (124), a length of an element part of the barcode (124) or a limit dimension of the barcode (124). [4] Method according to claim 2, wherein determining the reference quantity comprises: Identifying a boundary of the barcode (124) in the image; Determine, based on the boundary, whether the barcode (124) in the image is in a geometrically aligned position; and In response to the fact that the boundary is not in a geometrically aligned position, a geometric transformation is performed on the boundary and the reference quantity is determined from a geometrically transformed boundary. [5] Method according to claim 4, wherein the geometric transformation is a geometric rotation of the boundary, a geometric translation of the boundary, a geometric size change of the boundary and / or a geometric inclination equalization at the boundary. [6] Method according to claim 4, further comprising determining a dimension of a visual feature of the object (152) located outside the barcode (124) from the geometric transformation. [7] Method according to claim 1, wherein determining the reference quantity comprises: Determining a barcode type (124); and Determining a dimension of the barcode (124) from the type of barcode (124), where the dimension is the reference size assigned to the barcode (124). [8] Method according to claim 7, wherein the type of barcode (124) is selected from the group consisting of 80% UPC, 100% UPC, a QR code, a 1D barcode (124), a 2D barcode (124), a Digimarc and a 2D data matrix. [9] Method according to claim 1, wherein the visual feature is an edge of the object (152), an edge of a label containing at least part of the barcode (124), or a graphic on the object (152). [10] Method according to claim 9, wherein the reference dimension is a dimension of the barcode (124), and wherein comparing the reference dimension with the visual feature comprises: Determining a geometric distance between the reference quantity and the visual feature. [11] Method according to claim 9, wherein the graphic on the object (152) is text on the object (152). [12] Method according to claim 1, wherein the visual feature is a curvature of the object (152), and wherein comparing the reference dimension with the visual feature comprises: comparing a dimension of the barcode (124) with the curvature of the object (152). [13] Method according to claim 1, wherein determining the reference quantity associated with the barcode (124) comprises: Determining a density of the barcode (124); and Determining one dimension of the barcode (124) from the barcode density. [14] The method of claim 1, further comprising: in response to the determination that the detection event of an impermissible object (152) has occurred, transmitting an alarm signal. [15] Method according to claim 1, further comprising: In response to determining the at least one dimension property, determine whether there is at least one reference dimension property of the object (152) to compare with the at least one dimension property, and in response to determining that there is no at least one reference dimension property to compare, store the at least one dimension property in a reference dimension property model for the object (152). [16] Method according to claim 1, further comprising, before comparing the at least one dimensional property with at least one reference dimensional property of the object (152): Identifying and decoding a barcode payload (124); Identifying at least one reference dimension property from the decoded payload; and Determine that at least one dimensional property corresponds to at least one reference dimensional property. [17] Method according to claim 1, wherein the at least one dimensional property comprises at least one of: an outer dimension of the object (152); a position of a label on the object (152); a position of the text on the object (152); and an internal dimension of the object (152). [18] The method of claim 1, further comprising: Detecting a character near the barcode (124); Determining the position of the symbol based on the reference size; and Using optical character recognition (OCR) technology for at least one of: Storing the character and its position in a reference model; and Comparing the character data with similarly positioned character data stored in a reference model. [19] The method of claim 1, wherein the at least one reference dimension property is part of a reference model, and wherein the method further comprises: Checking the reference model for a visual feature of the reference model; Examining the image of the object (152) for the visual feature, and not finding the visual feature of the reference model in the examined image; and as a reaction to the failure to find the visual feature of the reference model in the image under investigation, triggering an alarm. [20] Method according to claim 1, wherein each of the steps is performed by a barcode reader (106). [21] Method for detecting an inadmissible object (152) and for developing a reference dimension model for an object (152), wherein the method comprises: a) Identifying a barcode (124) in an image of an object (152); b) Determine at least one reference value assigned to the barcode (124); c) Identifying a plurality of visual features of the object (152), wherein each visual feature is located outside the barcode (124), wherein the plurality of visual features includes physical features and / or printed features; d) Comparing the at least one reference quantity assigned to the barcode (124) with the visual features and determining a variety of dimensional properties for the object (152); e) Storing the multitude of dimension properties as the reference dimension model; and f) Determine that a detection event of an invalid object (152) has occurred by: (i) comparing a dimensional property of the plurality of dimensional properties with a dimensional property of a detected object (152), and (ii) determining a mismatch between the dimensional property of the plurality of dimensional properties and the dimensional property of the detected object (152); including determining the reference quantity assigned to the barcode (124): Decoding a barcode payload (124); and Determining one dimension of the barcode (124) from the payload. [22] Method according to claim 21, wherein the at least one reference dimension comprises a length of the barcode (124), a length of an element part of the barcode (124) or a limit dimension of the barcode (124). [23] Method according to claim 21, wherein determining the at least one reference quantity comprises: Identifying a boundary of the barcode (124) in the image; Determine, based on the boundary, whether the barcode (124) in the image is in a geometrically aligned position; and In response to the fact that the boundary is not in a geometrically aligned position, a geometric transformation is performed on the boundary and the reference quantity is determined from a geometrically transformed boundary. [24] Method according to claim 23, wherein the geometric transformation is a geometric rotation of the boundary, a geometric translation of the boundary, a geometric size change of the boundary and / or a geometric inclination equalization at the boundary. [25] Method according to claim 23, wherein the plurality of visual features are selected from the group consisting of an edge of the object (152), an edge of a label containing at least part of the barcode (124), and a graphic on the object (152). [26] The method of claim 23, further comprising performing a), b) and c) for a subsequent image of the object (152) or another object (152), wherein the method further comprises: Determine the following values ​​for each of the multitude of dimensions; Determining deviation tolerances for each of the multitude of dimensions; and Storing the deviation tolerances in the reference dimension model. [27] Method according to claim 21, wherein the steps are carried out by a barcode reader (106). [28] Electronic device for detecting an unauthorized object (152) using a barcode reader (106), wherein the electronic device comprises a housing (112) with a controller, the controller being configured to: to identify a barcode (124) in an image of an object (152); to determine a reference value assigned to the barcode (124); to identify a visual feature of the object (152) that is located outside the barcode (124); to compare the reference quantity assigned to the barcode (124) with the visual feature and, in response, to determine at least one dimensional property of the object (152); and in response to the determination of the at least one dimensional property, to compare the at least one dimensional property with at least one reference dimensional property of the object (152), and in response to a mismatch between the at least one dimensional property and the at least one reference dimensional property, to determine that a detection event of an invalid object (152) has occurred; wherein the visual feature comprises one or more physical features and / or printed features; including determining the reference quantity assigned to the barcode (124): Decoding a barcode payload (124); and Determining one dimension of the barcode (124) from the payload. [29] Electronic device according to claim 28, wherein the device comprises a barcode reader (106).