Codereader

A neural network-based adaptive thresholding system in barcode readers enhances decoding accuracy by minimizing distortions and improving temporal resolution, addressing the challenge of decoding barcodes over varying distances.

DE202025100910U1Undetermined Publication Date: 2026-07-02LEUZE ELECTRONIC GMBH & CO KG

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Utility models
Current Assignee / Owner
LEUZE ELECTRONIC GMBH & CO KG
Filing Date
2025-02-20
Publication Date
2026-07-02

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Code reader (1) configured for capturing barcodes (7), comprising a transmitter unit emitting light beams (2) and a receiver unit, wherein at least one barcode (7) is scanned with the light beams (2) emitted by the transmitter unit and the light beams (2) reflected by the barcode (7) are directed to the receiver unit, wherein the received signals generated thereby are evaluated in an evaluation unit for decoding the barcode (7), characterized in that the evaluation unit has at least one neural network (13) by means of which a differentiation of the received signal is carried out, and that the barcode (7) is detected on the basis of the differentiated received signal.
Need to check novelty before this filing date? Find Prior Art

Description

The invention relates to a code reader for capturing barcodes. To read such barcodes, which generally consist of an alternating sequence of light and dark code elements, code readers, typically in the form of barcode scanners, are used. Such a code reader has a transmitter that emits light beams and a deflection unit downstream of it. The deflection unit deflects the transmitted light beams so that they periodically scan a sample area within each scan. The transmitted light beams are reflected by a barcode located within the sample area and directed to the receiver as received light beams. The received light beams, and consequently the received signals at the receiver's output, exhibit amplitude modulation corresponding to the barcode's contrast pattern. In an evaluation unit of the code reader, the amplitude modulation of the received signals is analyzed, and the barcode is decoded. To decode a barcode, the widths of its individual code elements must be determined. This means that the transitions between the light and dark code elements must be determined as precisely as possible based on the received signal. For this purpose, known code readers differentiate the received signal and then, for each scan, evaluate the differentiated temporal profile of the received signal. To determine the light / dark transitions, the differentiated received signal is then evaluated using two threshold values. A positive threshold determines the maxima of the received signal profile, with a maximum occurring when the local maximum of the differentiated received signal is greater than the positive threshold. A negative threshold determines the minima of the received signal profile, with a minimum occurring when the local minimum of the differentiated received signal is less than the negative threshold. One problem with this evaluation method is that it requires the barcodes to be arranged at a fixed reading distance to the code reader and the transmitted light beams to be focused so that at that reading distance the diameter of the transmitted light beams is smaller than the widths of the code elements of the barcodes. However, a barcode reader is often required to recognize barcodes over a large depth of field, meaning at a large distance from the reader. Within this depth of field, the focus of the transmitted light beams varies, so that at certain distances the diameter of the transmitted light beams is larger than the width of the code elements. In this case, the differentiated received signal is no longer symmetrical about the zero line, meaning that minima with positive values ​​can occur. These cannot be detected with the negative thresholds used for minimum determination. Therefore, reading and decoding the barcodes is no longer possible. EP 3 312 761 B1 relates to a method for capturing barcodes using a code reader comprising a transmitter emitting light beams, a deflection unit, and a receiver onto which the transmitted light beams reflected from a barcode are received. The deflection unit periodically scans a scanning area with the transmitted light beams within each scan. The code reader includes an evaluation unit characterized in that, for barcode capture, received signals at the receiver output are evaluated in the evaluation unit according to the following process steps: • generating the differentiated temporal profile of the received signal for each scan, • determining valid pairs consisting of a minimum and a subsequent maximum within the received signal profile of a scan.• wherein, in a search for a minimum, successive received signal values ​​are compared and the current received signal value is adopted as the current minimum if it is less than the previous received signal value, and wherein a current threshold Smin is calculated from the sum of the current minimum and a threshold δ0, which is specified as an initial value, wherein the search for the minimum is terminated when the current received signal value is above the previously determined current threshold Smin and thereupon the current minimum is stored as a valid minimum and thereupon a search for a maximum is started, and wherein, in a search for a maximum, successive received signal values ​​are compared and the current received signal value is adopted as the current maximum if it is greater than the previous received signal value,and wherein a current threshold Smax is calculated from the difference of the current maximum and the or a further threshold δ0, wherein the search for the maximum is terminated when the current received signal value is below the previously determined current threshold, and thereafter the current maximum is stored as a valid maximum and the search for a minimum is started, • Determining at least one modified threshold δ from the stored valid minima and maxima of this scan, wherein the modified threshold δ is defined as a specific fraction of the magnitude of a selected extreme value and wherein its value is greater in magnitude than its initial value, • Determining final pairs of successive pairs of minima and maxima,by repeating the search for minima and maxima of the stored valid pairs of minima and maxima of the scan with the modified threshold δ. • Decoding the barcode using the determined final pairs of minima and maxima for the respective scan and a derived digital receive signal containing the encoding of the barcode's code elements. In this method, the differentiated received signal, which contains the information about a barcode read by the code reader, is not evaluated with fixed thresholds, but with adaptive thresholds that depend on the course of the differentiated received signal. This continuous adjustment of the thresholds allows barcodes to be recognized across a large depth-of-field range, thus significantly expanding the operating range of the code reader. In this case, too, the prerequisite for error-free barcode recognition is an error-free, distortion-free differentiation of the received signal from the code reader, in which the code information of read barcodes is fully reproduced. The invention is based on the objective of providing a code reader with high functionality. The features of claim 1 are provided to solve this problem. Advantageous embodiments and expedient further developments of the invention are described in the dependent claims. The invention relates to a barcode reader designed for capturing barcodes, comprising a light-emitting transmitter unit and a receiver unit. At least one barcode is scanned by the light beams emitted by the transmitter unit. The light beams reflected by the barcode are directed to the receiver unit, where the resulting received signals are evaluated in an evaluation unit to decode the barcode. The evaluation unit includes at least one neural network by means of which the received signal is differentiated. The barcode is then detected based on the differentiated received signal. The neural network enables an exact differentiation of the code reader's received signal, in which the code information contained therein is fully preserved, which is an essential prerequisite for error-free decoding of the barcode based on its differentiated received signal. Through appropriate training of the neural network, it can be optimally adapted to the respective operating conditions of the code reader. Another significant advantage lies in the filtering properties of the neural network. This allows interference, especially distortions of the received signal, to be minimized. Furthermore, it is advantageous that a filter transfer function with linear phase is implemented using the neural network. This avoids distortions of the received signal, such as those that occur with filters using a non-linear phase transfer function. With a linear phase transfer function, only a non-critical time shift of the received signal occurs. Finally, the neural network can be implemented in a sub-process structure. The same applies to the units assigned to the neural networks. This enables an efficient implementation of the system with the neural network into an optimized hardware structure. According to an advantageous embodiment, a sampling increase is carried out using the neural network. This enhances the functionality of the neural network by increasing the sampling rate of the received signal in addition to differentiating it, thereby increasing its temporal resolution. This allows for a more precise determination of the extreme values ​​of the differentiated received signal. Based on this differentiated received signal, even further improved barcode decoding is possible. The analog signal received at the receiver unit, containing the code information of a read barcode, is digitized in an analog-to-digital converter. The sampling rate increase is then performed on this digitized signal. The digitized received signal contains, in the form of discrete signal values, the temporal or spatial progression of the received signal, which contains the code information of a read barcode. The sampling rate increase is achieved by inserting additional values ​​between adjacent discrete signal values, thus enabling interpolation between the two signal values. This can be achieved by having the neural network have a dense layer. Furthermore, it is possible that a sampling enhancement module is placed upstream of the neural network. The sampling enhancement module increases the sampling rate by a factor of M by inserting zeros between each two consecutive samples of the received signal M-1. Then, to determine parameters of the neural network during training, the signals at the output of the sampling enhancement module are specified as input signals and the derivative of this signal as the desired output signals. In the event that no sample rate increase module is available and the sample rate increase is performed using the dense layer of the neural network, digitized received signals are specified as input signals for training the neural network, and the derivative of the digitized received signals is specified as the desired output signals. It is advantageous if the received signals for training the neural network are described using a low-pass signal. In addition, a noise signal is added to the low-pass signal. According to a beneficial further education method, a distortion filter is placed upstream of the neural network. In the event that a sample enhancement module is present, the distortion filter is placed upstream of the neural network and the sample enhancement module. The distortion filter can further reduce distortion in the received signal. A low-pass filter is advantageous for distortion filters. The cutoff frequency of the low-pass filter is matched to the cutoff frequency of the received signals. Preferably, the cutoff frequency of the low-pass filter is lower than the cutoff frequency of the received signal. According to an initial embodiment, the code reader is designed as a scanner. In this case, the code reader has a deflection unit by means of which the light beams are periodically guided within a scanning area. In this embodiment, the code information of a read barcode is contained in the temporal progression of the received signal. According to a second embodiment, the code reader is designed as a camera sensor. In this case, it has an image sensor that is designed to capture images of the barcodes. In this embodiment, the spatial path of the received signal contains the code information of the read barcode. The decoding of a read barcode is performed by using the differentiated received signal at the output of the neural network to conduct edge detection. The barcode is then decoded based on the identified edges. The method described in EP 3 312 761 B1 is advantageously used for this purpose. The invention is explained below with reference to the drawings. The drawings show: Fig. 1: Representation of optical components of a first embodiment of the code reader according to the invention. Fig. 2: Representation of optical components of a second embodiment of the code reader according to the invention. Fig. 3: Block diagram of the code reader according to the invention with a first embodiment of the evaluation unit. Fig. 4a: Time course of signals at the input of a sampling enhancement module of the evaluation unit according to Fig. 3. Fig. 4b: Time course of signals at the output of a sampling enhancement module of the evaluation unit according to Fig. 3. Fig. 5a: Time derivative of the received signal before the sampling enhancement module of the evaluation unit according to Fig. 2. Fig. 5b: Time derivative of the received signal at the output of the neural network of the evaluation unit according to Fig. 2. Fig. 6: Block diagram of the code reader according to the invention with a second embodiment of the evaluation unit.Fig. 7: Time diagram of the derivation of received signals at the output of the neural network for the evaluation unit of Figs. 3 and 6. Fig. 8: Block diagram of the code reader according to the invention with a third embodiment of the evaluation unit. Fig. 9: Network structure of the neural network of the evaluation unit according to Fig. 8 for specific input / output values. Fig. 10: Network structure of the neural network of the evaluation unit according to Fig. 8 for specific output values. Fig. 11: Network structure of the neural network of the evaluation unit according to Fig. 8 for specific output values. Fig. 1 shows the optical components of a first embodiment of the code reader 1 according to the invention. This code reader 1 has a transmitter 3 in the form of a laser diode that emits light beams 2 as its transmitter unit. Furthermore, a receiver 4 in the form of a photodiode is present as the receiver unit. Additionally, a polygon mirror wheel 5 is present as the deflection unit, which, by means of a drive, performs a uniform rotational movement about an axis of rotation D perpendicular to the drawing plane. The light beams 2 are reflected at facets of the polygon mirror wheel 5. A beam splitter mirror 6 ensures that the light beams 2 emitted by the transmitter 3 and the light beams 2 directed to the receiver 4 are aligned coaxially. The rotation of the polygon mirror wheel 5 periodically guides the light rays 2 within a scanning area A for the detection of barcodes 7. The light rays 2, guided over a barcode 7, are then returned to the receiver 4 via the polygon mirror wheel 5. Fig. 2 shows the optical components of a second embodiment of the code reader 1 according to the invention. This code reader 1 comprises a light beam 2 emitting illumination unit 8 as a transmitter unit and an image sensor 9 as a receiver unit, which consists of a line or matrix CCD or CMOS array. In this case, a barcode 7 is detected by taking an image of this barcode 7 with the image sensor 9. Fig. 3 shows a block diagram of the code reader 1 according to Fig. 1 . A barcode 7 on an object 10 is scanned by light beams 2 guided over the polygon mirror wheel 5. The resulting time sequence of the received signals yA(t) is fed to an analog-to-digital converter 11. By sampling the analog received signals at a predefined sampling rate (sampling duration M·TA), a sequence of digitized received signals yM(m) is generated. In a sampling enhancement module 12, the sampling rate is increased by a factor of M. At the output of the sampling enhancement module 12, the signal ỹ(n) is obtained, which is fed to a neural network 13. There, the signal ỹ(n) is differentiated, yielding the differentiated signal ỹ(n). This is fed to an edge detection unit 14, where the edge positions of the differentiated signal ẏ(n) are obtained. Based on the determined edge positions, the barcode 7 is decoded in a decoder 15.The decoding is carried out, as in the following embodiments, according to the method of EP 3 312 761 B1 . The following approach is chosen for the received signal yA(t) for training the neural network 13. In equation (1), xA(t) is a low-pass signal and n(t) is an additive noise signal. For the low-pass signal xA(t), the frequencies fk are selected according to a probability density function pf(f), which is proportional to the spectral intensity of the signal. The probability density function pf(f) can, for example, be a uniform distribution between -fg and fg, where fg is the cutoff frequency. This corresponds to an ideal low-pass signal with a rectangular spectrum. The zero-frequency phases φk are uniformly distributed between 0 and 2π. To account for optical aspects, the probability density function pf(f) can also be a different function, for example, a Gaussian probability density function. The first derivative of equation (1) is obtained as follows: with The derivative ṅ(t) of the noise n(t) is not described in more detail. K1 in equation (4) is a normalization factor. In the digital realm, equations (1) to (4) become: with with In equations (6) and (8), Ωk = fk·TA, where TA is a target sampling period. Corresponding to the factor K1, the factor ε1 serves for normalization purposes. The signal after the analog-to-digital converter 11 with the sampling period (sampling duration M·TA) is determined as follows: In the sampling enhancement module 12, the sampling rate is increased by a factor of M. For this purpose, M-1 zeros are inserted between two consecutive values ​​yM(m) and yM(m+1), resulting in the signal ỹ(n). The signal after increasing the sampling rate is: To determine the neural network 13, which performs interpolation with the values ​​inserted in the sampling enhancement module 12 and realizes the first derivative, the signals ỹ(n) as input signal and ẋ(n) as desired output signal are passed to the neural network 13 for training. Fig. 4a shows a section of the waveform of the signal yM(m). Fig. 4b shows a section of the waveform of the signal ỹ(n). Figs. 4a and 4b show the case for M=2. As shown in Fig. 4b, every second value of the signal ỹ(n) takes on the value zero due to the sampling rate increase in the sampling intensification module 12. Fig. 4a shows the signal yM(m) at the input of the sampling intensification module 12. Fig. 5b shows the differentiated received signal ỹ(n) at the output of the neural network 13. In comparison, Fig. 5a shows the differentiated received signal yM(m) before the sampling enhancement module 12. As the comparison of Fig. 5a , Fig. 5b shows, the differentiated received signal ẏ(n) at the output of the neural network 13 ( Fig. 5b) has a higher temporal resolution than the differentiated received signal yM(m) ( Fig. 5a) . This results in the extrema in the signal ỹ(n) being positioned more precisely, thus improving the decoding of barcode information in borderline situations (rounding effects in algorithms, resolution of element widths). Fig. 6 shows a block diagram of another embodiment of the code reader 1. This differs from the embodiment according to Fig. 3 only in that a distortion filter 16 is inserted between the analog-to-digital converter 11 and the sampling enhancement module 12. The signal yD,M(m) is present at the output of the distortion filter 16. The signal ỹD(n) is present at the output of the sampling enhancement module 12. The differentiated received signal ẏD(n) is present at the output of the neural network 13. The distortion filter 16 reduces distortions of the digitized received signal yM(m) caused by optical effects. The distortion filter 16 serves only as a conceptual module and does not correspond to any real block. This distortion filter 16 allows distortions caused by optical effects to be taken into account in order to enable their compensation by the neural network 13. For training the neural network 13, the signals ỹD(n) are used as the input signal and ẋ(n) as the desired output signal. The signal ỹD(n) is determined from the signal yD,M(m) by increasing the sampling rate. The signal yD,M(m) is the output signal of the distortion filter 16 with input signal yM(m). In the simplest case, the distortion filter 16 represents a low-pass filter with a lower cutoff frequency ΩTP,M,gals. The signal xM(m) is determined from the signal x(n) by downsampling it by M and thus has the cutoff frequency ΩM,g = M·fg·TA. Therefore, the following relationship applies: Fig. 7 shows the waveforms of the signals ẏ(n) and ẏD(n), i.e. the differentiated received signal at the output of the neural network 13. As can be seen there, the distortion compensation by the neural network 13 raises the extreme points of the differentiated received signal. This increases the signal-to-space distance and makes the subsequent edge detection more robust. Fig. 8 shows a block diagram of another embodiment of the code reader 1. This differs from the embodiment according to Fig. 6 only in that the sampling rate increase module 12 is omitted. In this case, a sampling rate increase is performed by means of a dense layer of the neural network 13. Furthermore, a linear-phase filter transfer function is implemented in the neural network 13. The distortion filter 16 is optional. This embodiment is less complex than the previous embodiments, so that the training of the neural network 13 can be easily explained using it. For the training of the neural network 13, the signals yM(m) or yD,M(m) are used as input signals and ẋ(n) as the desired output signal. For example, for M=2, the following input values ​​can be used to train the neural network: ym(m-11), ..., yM(m), ...yM(m+11) or yD,M(m-11), ..., yD,M(m), ... yD,M(m+11), and the two output values ​​ẋ (2·m) and ẋ(2·m+1). A simple network structure for this is shown in Fig. 9. With FIR filters, it is also possible to achieve a linear phase of the filter transfer function. To realize this property in a neural network 13, a separate neural network must be trained for each of the two output values ​​ẋ (2·m) and ẋ (2·m+1) (i.e., for time points 2mTA and 2mTA+TA). For the output values ​​ẋ (2·m) (time points 2mTA), 23 network parameters are calculated, and for the output values ​​ẋ (2·m+1) (time points 2mTA+TA), 22 network parameters are calculated. Since the linear phase property is to be achieved, the respective neural network 13 must be implemented with 12 or 11 network parameters, respectively. The input values ​​used for the first network are yM(m+11)-yM(m-11), ..., yM(m+1)-yM(m-1), yM(m), yD,M(m+11)-yD,M(m-11), ..., yD,M(m+1)-yD,M(m-1). The input values ​​for the second network are yM(m+11)-yM(m-10), ..., yM(m+1)-yM(m) (yD,M(m+11)-yD,M(m-10), ..., yD,M(m+1)-yD,M(m).The two neural networks 13 each consist of a dense layer, where the number of neurons corresponds to the number of network parameters to be computed. The bias is set to zero for all neurons before training. Fig. 10 visualizes the network structure for the initial values ​​ẋ (2·m) (time points 2mTA). Fig. 11 shows the network structure for the output values ​​ẋ(2·m+1) (time points 2mTA+TA). By implementing a linear phase, it is possible to efficiently combine the two neural networks or their network parameters in a filter structure. Some processors have sub-units that implement filter structures. This enables efficient conversion and calculation of the desired signals. According to another variant, it is possible to model received signals with a sine function (sin j·(2·π·t·φk)) or an exponential function (ej·(2·π·fk·t·φk)). Reference symbol list 1 Code reader 2 Light beam 3 Transmitter 4 Receiver 5 Polygon mirror wheel 6 Beam splitter mirror 7 Barcode 8 Illumination unit 9 Image sensor 10 Object 11 Analog-to-digital converter 12 Sampling enhancement module 13 Neural network 14 Edge detection unit 15 Decoder 16 Distortion filter A Sampling range D Rotation axis QUOTES INCLUDED IN THE DESCRIPTION This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature EP 3 312 761 B1 [0007, 0041, 0050]

Claims

Code reader (1) configured for capturing barcodes (7), comprising a transmitter unit emitting light beams (2) and a receiver unit, wherein at least one barcode (7) is scanned with the light beams (2) emitted by the transmitter unit and the light beams (2) reflected by the barcode (7) are directed to the receiver unit, wherein the received signals generated thereby are evaluated in an evaluation unit for decoding the barcode (7), characterized in that the evaluation unit has at least one neural network (13) by means of which a differentiation of the received signal is carried out, and that the barcode (7) is detected on the basis of the differentiated received signal. Code reader (1) according to claim 1, characterized in that it is a scanner. Code reader (1) according to claim 2, characterized in that it has a deflection unit by means of which the light beams (2) are periodically guided within a scanning area (A). Code reader (1) according to claim 1, characterized in that it is a camera sensor. Code reader (1) according to claim 4, characterized in that it has an image sensor (9) designed to capture images of the barcodes (7). Code reader (1) according to one of claims 1 to 5, characterized in that a sampling increase is carried out by means of the neural network (13). Code reader (1) according to claim 6, characterized in that the analog received signal present at the output of the receiver unit is digitized in an analog-to-digital converter (11), and that the sampling enhancement is performed on the digitized received signal. Code reader (1) according to one of claims 6 or 7, characterized in that the neural network (13) has a dense layer. Code reader (1) according to one of claims 6 to 8, characterized in that a sampling enhancement module (12) is arranged upstream of the neural network (13). Code reader (1) according to claim 9, characterized in that the sampling enhancement module (12) effects a sampling increase by a factor M by inserting zeros between each two successive samples of the received signal M-1. Code reader (1) according to claim 10, characterized in that, for determining parameters of the neural network (13) during training, the signals at the output of the sampling enhancement module (12) are specified as input signals and the derivative of this signal as desired output signals. Code reader (1) according to claim 11, characterized in that the received signals are described with a low-pass signal for the training of the neural network (13). Code reader (1) according to claim 12, characterized in that a noise signal is added to the low-pass signal. Code reader (1) according to one of claims 1 to 13, characterized in that a distortion filter (16) is arranged upstream of the neural network (13). Code reader (1) according to one of claims 9 and 14, characterized in that the distortion filter (16) is arranged upstream of the neural network (13) and the sampling enhancement module (12). Code reader (1) according to one of claims 14 or 15, characterized in that the distortion filter (16) is a low-pass filter. Code reader (1) according to one of claims 1 to 16, characterized in that a filter transfer function with linear phase is implemented with the neural network (13). Code reader (1) according to one of claims 1 to 17, characterized in that the neural network (13) is implemented in a sub-process structure.