Aiming and positioning in a multi-sensor scanner and triangulation
By using a multi-camera system and laser triangulation technology in an optical scanner, combined with time modulation and position matching, the impact of optical interference on the active autofocus system is resolved, improving the accuracy and reliability of autofocus and making it suitable for the field of automatic vision.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- DATALOGIC IP TECH
- Filing Date
- 2021-12-09
- Publication Date
- 2026-05-01
AI Technical Summary
Active autofocus technology is susceptible to interference in optical scanners, affecting the performance of auxiliary measurement systems, especially in long-distance scanning applications where the target surface and symbols constitute a small part of the image, resulting in significant optical interference from background objects.
By employing multiple camera systems and an active autofocus system based on laser triangulation, false positive aiming spot detection is eliminated through time modulation and position matching in the camera, thereby improving the accuracy and reliability of the focusing system.
It effectively eliminates the influence of optical interference on ranging, improves the accuracy and reliability of autofocus systems, and is suitable for a variety of automatic vision applications such as automated guided vehicles, robots, and autonomous driving.
Smart Images

Figure CN114675289B_ABST
Abstract
Description
Aiming, positioning, and triangulation in multi-sensor scanners Technical Field
[0001] This disclosure generally relates to automated vision, and more specifically, to the capture and processing of images containing subjects of interest such as machine-readable symbols or patterns. Background Technology
[0002] Image-based optical scanning encompasses a wide range of applications, such as reading machine-readable symbols (e.g., one-dimensional symbols, two-dimensional symbols), optical character recognition, object detection, or identification. Generally, such systems operate by capturing digital images of a subject using a camera with an image sensor and processing the captured images computationally to autonomously detect, identify, or read the subject. The output typically includes data representing or describing the subject. For example, in reading one-dimensional or two-dimensional symbols, the output could be a string of numbers or alphanumeric characters represented by that symbol. Similarly, in recognizing printed or handwritten characters or sets of characters, the output could be a textual representation of that character or set; and in object recognition, the output could be a classification result describing the object (e.g., a label).
[0003] Optical scanners offer versatility by capturing many different types of symbols at varying distances from the reader. State-of-the-art optical scanners use multiple cameras with different fields of view to capture multiple images of the subject and employ image processing techniques to determine the optimal image for symbol reading. Such scanners can utilize an autofocus system that focuses the camera's optics at the correct distance.
[0004] Autofocus technology can be passive or active. Passive autofocus performs a fully focused scan while simultaneously evaluating image contrast and determining which focus setting produces the maximum contrast and is therefore the most suitable for use. This method is a type of closed-loop system that is reliable but slow, resulting in unacceptable delays that negatively impact the usability of scanner equipment.
[0005] Active autofocus technology can be significantly faster than passive autofocus. Active autofocus uses an auxiliary measurement system that emits a signal that is not part of the image being captured and senses the reflection of that signal from the target surface. These techniques include time-of-flight sensors, laser triangulation, phase shift measurement, and ultrasonic measurement. Active autofocus provides a measure indicating the distance from the scanner to the target (such as turnaround time, phase shift, or point displacement within the received image). This measured distance is then used to set the correct focus position. Active autofocus systems are open-loop systems; while they can be very fast, their accuracy and reliability depend heavily on the performance of the auxiliary measurement system.
[0006] One type of challenge faced by active autofocus systems is the presence of interference that can affect the performance of their auxiliary measurement systems. For example, in auxiliary measurement systems using light-based signal emission (such as laser spots), other light sources or reflections appearing within the field of view of one or more cameras on the scanner equipment may mislead the auxiliary measurement system into interpreting this interference as a reflection of the emitted signal, or they may prevent the reliable reception of the desired emitted signal reflection from the target surface. Such challenges can be particularly problematic in long-range scanning applications, where the target surface and the symbol to be read constitute a small portion of the captured image, and the captured image contains more background scenery that is of no interest to the scanning operation and is more likely to present optical interference to the scanning equipment. Summary of the Invention
[0007] According to some aspects of this disclosure, an apparatus for an optical scanner for scanning a subject is provided. The apparatus may include a plurality of camera systems and an active autofocus system based on laser triangulation, operable to locate an aimer in an image, change the aimer position to determine the distance to the target, and use the distance information to focus the image capture system. Advantageously, the techniques proposed in this disclosure use time modulation of the laser signal and position matching in the camera to eliminate false positive aimer spot detection, thereby contributing to the accuracy and reliability of the autofocus system.
[0008] According to one embodiment, an apparatus for an optical scanner for scanning a subject includes: an interface circuit having an input for receiving a plurality of images from at least one image capture device; and a controller circuit coupled to the interface circuit and the input. The controller circuit is operable to perform a ranging determination, which includes a positioning phase and a triangulation phase. In the positioning phase, a series of image frames is received via the input. The series of image frames collectively contains an aiming spot captured as a reflection from the surface of the subject. The captured aiming spot is time-modulated according to a modulation pattern. The series of image frames is processed based on the modulation pattern to identify the aiming spot, thereby determining a possible position of the aiming spot within at least one image frame in the series. In the triangulation phase, the possible positions of the aiming spot are processed to generate a ranging determination, wherein the ranging determination represents the distance between at least one image capture device and the surface of the subject.
[0009] In another embodiment, an apparatus for an optical scanner for scanning a subject includes: interface circuitry including inputs for receiving a plurality of images from a plurality of image capture devices; and controller circuitry coupled to the interface circuitry and the inputs, operable to perform a ranging determination, the ranging determination including a positioning phase and a triangulation phase. Each of the plurality of images from each of the plurality of image capture devices has a device-specific positional offset of a captured aiming spot, the positional offset varying based on the distance between the respective image capture device and the surface of the subject, and also based on the relative position of the respective image capture device and a projector of the aiming spot. The positioning phase identifies possible positions of the aiming spot within the captured image frames. In the triangulation phase, the possible positions of the aiming spot are processed based on the different device-specific positional offsets in the image frames captured by the different image capture devices among the plurality of image capture devices to assess whether the possible positions of the aiming spot are within plausible locations. The ranging determination can represent the distance between the optical scanner and the surface of the subject. Attached Figure Description
[0010] Figure 1 is a simplified block diagram illustrating an implementation of a scanning system according to at least one example embodiment.
[0011] Figure 2 is a diagram showing a handheld reader as an example implementation of a scanning system.
[0012] Figure 3 is a high-level block diagram illustrating an example system architecture of a scanning system 100 according to some embodiments.
[0013] Figures 4A-4B are simplified schematic diagrams illustrating examples of arrangements that can be used as one or more image capture devices.
[0014] Figure 5 is a simplified block diagram showing a portion of the processing hardware of a controller 120 according to an example.
[0015] Figure 6 is a high-level state diagram illustrating a simplified operating procedure of the controller of a scanning system according to an example embodiment.
[0016] Figure 7 is a state diagram illustrating autofocus operation according to some embodiments.
[0017] Figure 8 is a process flowchart illustrating an example sequence of operations corresponding to the positioning phase of an autofocus operation according to some embodiments.
[0018] Figure 9A is a diagram illustrating the intensity variation technique of the aiming spot according to some embodiments.
[0019] Figure 9B is a diagram illustrating image exposure and aiming spot timing as an example of another type of embodiment, in which the captured aiming spot can be modulated by controlling the duration of the aiming pulse during the image frame capture timing, while the frame exposure time can be changed.
[0020] Figure 10 is a flowchart illustrating some operations of the triangulation phase according to some embodiments.
[0021] Figure 11 is a graph illustrating an example of the positional offset of the aiming spot in the near-field image capture device and the far-field image capture device of the example scanning system.
[0022] Figure 12 is a diagram showing a pair of captured image portions, with the aiming spot shown, captured by a near-field image capture device and a far-field image capture device respectively, according to an example.
[0023] Figure 13 is a diagram illustrating the functionality of the localization and triangulation phases according to a specific example. Detailed Implementation
[0024] The descriptions included herein are not intended to be actual views of any particular system, storage device, architecture, or process, but are merely idealized representations used to describe the embodiments herein. Elements and features common to the figures may retain the same numerical names, except that, for ease of description, the figure references in most cases begin with the number of the figure on which these elements are introduced or most fully described. Furthermore, the elements shown in the figures are schematic in nature, and many details regarding the physical layout and construction of the memory array and / or all the steps required to access data may not be described in the way that would be understood by one of ordinary skill in the art.
[0025] As used herein, unless the context clearly indicates otherwise, the singular forms “a,” “one,” and “the” are intended to include the plural forms as well.
[0026] As used herein, “or” includes one or more associated list items in either the conjunction or disjunctive sense, and all combinations thereof. Any intentional description of a “mutually exclusive OR” relationship will be specifically noted.
[0027] As used herein, the term “configured as” refers to a structural arrangement, such as size, shape, material composition, physical construction, logical construction (e.g., programming, operating parameter settings), or other operational arrangements of at least one structure and at least one device that facilitate their operation in a defined manner (e.g., to perform a particular function or set of functions).
[0028] As used herein, the phrase “coupled to” or “coupled with” refers to structures that are operationally connected to each other, such as by direct connection or by indirect connection (e.g., via another structure or component).
[0029] Some aspects of this disclosure provide an image-based optical scanning system with multiple image capture devices. Figure 1 is a simplified block diagram illustrating an implementation of a scanning system 100 according to at least one example. As discussed further below, the scanning system 100 can be used to capture multiple images of a subject 104, such as machine-readable symbols or sets of symbols 108 (e.g., barcodes, 2D barcodes, image-encoded information such as digital watermarks, printed characters or text), or machine-detectable or recognizable objects 106. The scanning system 100 can read, recognize, detect, or perform other automated analysis processing on the subject. For simplicity, such operations are referred to as “reading” in this context.
[0030] Various aspects of this invention can also be used in other areas of automated vision, such as automated guided vehicles (AGVs), robots, autonomous driving, and machine vision (MV) systems. The embodiments described below are in the context of visual symbol reading, but the principles of this technology related to positioning or ranging are equally applicable to many other fields.
[0031] The scanning system 100 includes a plurality of image capture devices 102A-102B (collectively referred to as image capture devices 102). In this example, two image capture devices 102A, 102B are shown for clarity; however, it will be understood that additional image capture devices may be employed. Each image capture device 102 may include an image sensor configured and operable to generate a signal representing an image or video frame. In this context, the terms “image” and “video frame” are used interchangeably to refer to a fixed image or a portion thereof, and any distinction between the two data types will be specifically noted where applicable.
[0032] Each image capture device 102 can be assembled with optical components (e.g., objectives, microlens arrays, etc.). In other examples, more than one individual image capture device may share a common optical system. Image capture devices 102A-102B can be constructed using any suitable technology, whether known or future. In a non-limiting sense, some examples include complementary metal-oxide-semiconductor (CMOS) based sensors, charge-coupled device (CCD) based sensors, sensors optimized for the visible spectrum, sensors optimized for infrared or near-infrared frequencies, high dynamic range (HDR) sensors, monochrome sensors, color sensors, Quanta image sensors, hyperspectral sensors, polarization sensors, image sensors with embedded AI capabilities, etc. In related implementations, the collection of image capture devices 102 employed in the scanning system 100 includes various types of sensors, such as groups including conventional image sensors and HDR image sensors.
[0033] As shown in the example of Figure 1, image capture devices 102A-102B each have a field of view 110A-110B. In related examples, the individual image capture devices 102 have different optical characteristics. For example, image capture device 102A may be a near-field camera, while image capture device 102B may be a far-field camera. In other examples, the image capture devices 102 have the same optical characteristics. As another useful feature in some embodiments, the image capture devices 102 are positioned at specific intervals from each other.
[0034] The scanning system 100 also includes a targeting projector 112, which may be a laser emitter as shown. The targeting projector 112 is located at a fixed position relative to the image capture devices 102A-102B. As will be discussed in more detail below, in some embodiments, the positional offset between each image capture device 102 and the targeting projector 112 helps to determine the distance to the target surface using triangulation techniques.
[0035] Image capture device 102 and aiming projector 112 are connected to controller 120 via an interface. Controller 120 includes auxiliary measurement and control system circuitry 122 and image processing system circuitry 124. In some embodiments, each image capture device 102 and aiming projector 112 can be communicatively coupled to controller 120 via a wired or wireless medium. In related embodiments, a network (e.g., LAN, WAN, PAN, Internet) can facilitate communication coupling. In some embodiments, image capture device 102 can be connected via a suitable local interface (e.g., I / O interface). 2 C, USB, SPI, UART, I 3C) Directly connected to controller 120, or may be integrated with controller 120 and interconnected using internal interconnects such as peripheral component interconnect (PCI, serial AT attachment (SATA), mobile industrial processor interface (MIPI) or other suitable variations of interconnects known to those skilled in the art).
[0036] The auxiliary measurement and control system 122 operates in conjunction with the image processing system 124 to coordinate the operation of the aiming projector 112 and the image capture devices 102A-102B to measure the distance to the target surface of the subject 104. The image capture device 102 is communicatively coupled to the image processing system 124, which is configured to receive captured images and perform processing operations for determining the distance, setting operating parameters based on the distance to facilitate image capture of the subject 104, and capturing images of the subject 104 to perform readings of the subject 104.
[0037] To determine the distance, the image processing system 124 is coupled to the auxiliary measurement and control system 122, enabling the two to exchange relevant data and commands. For example, image sensor frame acquisition signaling can be provided by the image processing system 124 to the auxiliary measurement and control system 122, allowing the latter to adjust the activation of the laser spot within the frame of the captured image.
[0038] Figure 2 is a diagram illustrating a handheld reader 200 as an example implementation of the scanning system 100. The handheld reader 200 includes a housing 202, a display 204, and button controls 206A and 206B. As shown, the handheld reader 200 also includes front-facing cameras 208A and 208B, which are positioned in a spaced-apart relationship, resulting in partially overlapping fields of view. A front-facing laser emitter 212 is configured to facilitate distance measurement of the subject. The laser emitter 212 can work in conjunction with one or both of the cameras 208A and 208B according to triangulation techniques, in which the position of the laser spot within the field of view of one or both cameras indicates the distance to the subject. The distance measurement can be used as input (along with other inputs) to determine operating parameters, such as selecting the image sensor for subsequent information processing, focus settings, illumination power, and other settings.
[0039] According to other embodiments, the reader can be mounted on a fixed or mobile structure. Examples of mounting locations for various scanning applications include vehicles, porches, ramps, conveyor belts, buildings, robots, etc. In one mounting implementation, the camera can have its own housing, which can be separate from the image processing system hardware.
[0040] Figure 3 is a high-level block diagram illustrating an example system architecture of scanning system 100, showing various components of controller 120. Controller 120 includes processing hardware 302 operatively coupled to image capture interface 304, input device 308, display or indicator 310, communication circuitry 314, and aiming projector interface 316. Processing hardware 302 includes one or more processor circuits executing software or firmware instructions 303 stored in a non-transient machine-readable medium such as read-only memory, flash memory, or random access memory.
[0041] Controller 120 includes various engines, each configured to perform a function or set of functions, as described below. As used herein, the term "engine" refers to a tangible device, component, or arrangement of components implemented using hardware such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs) or as a combination of hardware and software such as a processor-based computing platform and a set of program instructions that transforms the computing platform into a dedicated device to implement specific functions. An engine can also be implemented as a combination of both, where some functions are implemented by the hardware itself, while others are implemented by a combination of hardware and software.
[0042] In the example, the software may reside on a tangible, machine-readable storage medium in either an executable or non-executable form. Software residing in a non-executable form may be compiled, translated, or otherwise converted into an executable form before or during runtime. In the example, the software causes the hardware to perform the specified operations when executed by the underlying hardware of the engine. Therefore, the engine is specifically configured (e.g., hardwired) or temporarily configured (e.g., programmed) to operate in the specified manner or perform some or all of the operations described herein in conjunction with the engine.
[0043] In the example where engines are temporarily configured, each engine can be instantiated at different times. For example, in the case where the engine includes a general-purpose hardware processor core configured using software; the general-purpose hardware processor core can be configured as a different engine at different times. The software can configure the hardware processor core accordingly, for example, to constitute a specific engine at one time and another engine at another time.
[0044] In some implementations, at least a portion of the engine, and in some cases, the entire engine, can execute on the processors of one or more computers that simultaneously execute the operating system, system programs, and applications using multitasking, multithreading, and, where necessary, distributed (e.g., clustering, peer-to-peer, cloud, etc.) or other such technologies. Therefore, each engine can be implemented in a variety of suitable configurations and should generally not be limited to any particular implementation illustrated herein unless such limitation is explicitly stated.
[0045] Furthermore, an engine itself can consist of more than one sub-engine, and each sub-engine can be considered an engine in itself. Additionally, in the embodiments described herein, each engine corresponds to a defined function; however, it should be understood that in other conceivable embodiments, each function may be distributed across more than one engine. Similarly, in other conceivable embodiments, multiple defined functions may be implemented by a single engine executing these multiple functions (and possibly other functions), or may be distributed across a set of engines differently than specifically described in the examples herein.
[0046] Image capture interface 304 includes circuitry that facilitates data exchange between processing hardware 302 and image sensor 305. In some examples, image capture interface 304 includes a data buffer, video decoder, video encoder, address and data bus interface, serial data receiver / transmitter circuitry, analog-to-digital (A / D) converter circuitry, etc. The data communication portion of image capture interface 304 can facilitate wired or wireless communication. Image capture interface 304 is operable to pass video frames, in their original format output from each image sensor 305, to processing hardware 302 in an appropriate data format for reading by processing hardware 302. Image capture interface 304 and processing hardware 302 can work together to implement image processing system 124 (FIG. 1).
[0047] In a related example, the image capture interface 304 can also be configured to pass information from the processing hardware 302 to one or more image sensors 305. This upstream information may include configuration commands such as sensor gain settings, frame rate, exposure control, activation / deactivation commands, etc.
[0048] In some embodiments, the image capture interface 304 may be integrated as part of a digital signal processor (DSP) device or a microcontroller device. In other embodiments, the image capture interface 304 may be integrated as part of one or more image sensors 305.
[0049] The aiming projector interface 306 includes circuitry for controlling the operation of the aiming projector 312. The aiming interface 306 may include current regulator circuitry, switching circuitry, etc. The aiming projector 312 may include a solid-state laser emitter having a wavelength within the light detection range of the image sensor 305. The aiming projector interface 306 and the processing hardware 302 can work together to implement the auxiliary measurement and control system 122 (FIG. 1).
[0050] Input device 308 includes user-operable controls such as buttons, keypads, touchscreens, etc., and additional sensors such as range sensors, motion sensors, accelerometers, etc. Display or indicator 310 includes devices such as liquid crystal displays (LCDs), LED indicators, speakers or buzzers, and other suitable output devices.
[0051] Communication circuit 314 includes wired or wireless communication facilities providing inputs and outputs to and from processing hardware 302. The communication circuit may include one or more of the following types of communication circuits: Universal Serial Bus (USB), CAN, I... 2 C, SPI, UART, I 3 C. Ethernet, personal area networks such as Bluetooth according to the IEEE 802.15 standard, and Wi-Fi according to the IEEE 802.11 standard.
[0052] Figures 4A-4B are simplified schematic diagrams illustrating an arrangement that can be used as one or more image capture devices, such as image capture device 102. Figure 4A shows an example arrangement consistent with the handheld reader 200 described above with reference to Figure 2. A single housing 402 houses image sensors 305A and 305B, each with corresponding objectives 406A and 406B. A laser emitter 212 is also shown. As described above, the laser emitter 212 can be used to place a light spot on a surface containing a subject 412, and video frames captured by image sensors 305A and 305B can be evaluated to determine the distance to the subject 412. Figure 4B shows an example with separate housings 402A and 402B, each housing having corresponding image sensors 305A, 305B and objectives 406A, 406B. The laser emitter 212 can be placed independently of housings 402A or 402B, or it can be placed within one of housings 402A or 402B.
[0053] Figure 5 is a simplified block diagram illustrating a portion of the processing hardware 302 of a controller 120 according to an example. The processing hardware 302 includes an instruction processor 510, a video processor 512, and an input / output (I / O) controller 514. The instruction processor 510 is configured to execute software or firmware instructions 303, the execution of which enables the instruction processor 510 to implement an engine to perform the overall functionality of the scanning system 100 in conjunction with other components of the controller 120 shown in Figure 3, the image sensor 305, and the aiming projector 312. For example, the instruction processor 510 can read input devices 308 and take action in response to these inputs; the instruction processor 510 can write output to a display or indicator 310; and the instruction processor 510 can exchange data with communication circuitry 314 to send and receive data to or from other devices. Furthermore, according to some embodiments, when executed by the instruction processor 510, the instructions 303 can cause the instruction processor 510 to perform positioning and triangulation operations to determine the distance to the subject, as described in more detail below.
[0054] The instruction processor 510 can have any suitable architecture. As an example, the instruction processor 510 may include a central processing unit (CPU) core, RAM, non-volatile memory, a memory controller, address and data (or shared) buses, a serial communication port such as a universal synchronous receiver / transmitter (UART), and peripheral circuitry such as timers, event counters, A / D or D / A converters, pulse width modulation (PWM) generators, etc.
[0055] The video processor 512 is connected to the instruction processor 510 via an interface and implements an engine to receive captured images from the image capture device 102, and to resample, crop, compress, or combine portions of the images, filter, evaluate the visual characteristics of the captured images, determine the positions of captured visual elements within the image frame (such as the position of the laser spot generated by the laser emitter 212), and execute symbol reading or object detection algorithms. In some embodiments, the video processor 512 includes a digital signal processor (DSP) core with a computing architecture optimized for video processing, and includes additional or dedicated arithmetic logic units (ALUs), direct memory access, fixed-point arithmetic, ASICs, FPGAs, CPLDs, or combinations thereof.
[0056] I / O controller 514 includes circuitry that facilitates addressing, data transfer, memory access, and other interactions between instruction processor 510, video processor 512, and other components of controller 120. As an example, I / O controller 514 may include a bus or system interconnect controller, a serial communication hub controller, etc.
[0057] In related embodiments, instruction processor 510 and video processor 512 are integrated into a single processing device, such as a digital signal controller (DSC) configured to perform the corresponding functions of the instruction processor 510 and video processor 512. Similarly, I / O controller 514 can also be integrated as part of the DSC implementation. In other related embodiments, certain portions of processing hardware 302 can be implemented using logic circuitry 516, such as application-specific integrated circuits (ASICs), FPGAs, CPLDs, hardware coprocessors, etc. Logic circuitry 516 can be used to perform certain operations, such as image filtering, image frame combination, positioning, etc., at a higher speed or power efficiency than is conventionally achievable using an instruction processor.
[0058] Figure 6 is a high-level state diagram illustrating a simplified operating procedure of the controller 120 according to an exemplary embodiment. These states include idle 602, evaluation phase 612, operating parameter setting 614, image acquisition 616, and image processing 618. Evaluation phase 612 begins in response to an activation event 620. In an example of a hand-triggered reader such as the handheld reader 200, the activation event could be button activation.
[0059] Evaluation phase 612 involves rapidly performing one or more initial measurements, such as distance measurements, lighting condition measurements, or other such measurements, to determine the operational mode of image acquisition. In the case of distance measurements, the aiming projector 112 and the auxiliary measurement control system 122 can be used to determine the distance to the subject to generate a distance measurement as part of the initial evaluation data 622. In some embodiments, the speed of evaluation phase 612 is maximized to provide minimal operational latency. As an example, evaluation phase 612 can be performed using a subset of image frames to reduce the amount of image processing required to achieve the initial evaluation 622.
[0060] Operational parameter settings 614 use initial evaluation data 622 to set operational parameters such as camera or image sensor selection, focus settings, exposure settings, image sensor gain settings, active illumination (e.g., flash or light) settings, active illumination source selection (in embodiments utilizing multiple active illumination sources), etc. Operational parameter settings 614 generate acquisition configuration data 624, which may include commands to set focus, activate flash or light, select a region of interest (ROI), or any combination of these and other available settings. Image acquisition 616 involves activating a selected image sensor according to applicable operational parameters to capture one image or a series of images 626. For example, the best image sensor and various settings for that image sensor, such as gain, exposure, etc., can be selected.
[0061] Image processing 618 is generally performed on one or more captured images 626 produced by the operations of the acquisition phase 616. Image processing operations 618 include reading the subject (e.g., symbol reading, text recognition, object detection, object recognition, etc.). Image processing 618 is a computationally more expensive process than the initial evaluation operation performed as part of the evaluation phase 612. The result of image processing 618 is output 628, which may be in the form of a data object indicating data such as machine-readable symbols, recognized text, or objects.
[0062] Figure 7 is a state diagram illustrating autofocus operation 700, which, according to some embodiments, can be considered part of evaluation phase 612. Autofocus operation 700 includes a positioning phase 712 and a triangulation phase 714. Both positioning phase 712 and triangulation phase 714 are performed by an auxiliary measurement control system 122, which uses an aiming projector 112 (such as a laser emitter 212) and an image processing system 124. Specifically, the aiming projector 112 can place a laser spot on the target surface of the subject. The image sensor of each image capture device 102A, 102B senses the aiming spot and rapidly processes the resulting images to determine the distance. Positioning phase 712 determines a set 722 of possible coordinates of the aiming spot appearing in the images captured by each image capture device 102A, 102B. Using the set 722, triangulation phase 714 performs distance determination. As described in more detail below, one aspect of the positioning phase 712 includes modulation of the aiming spot, which helps the controller 120 distinguish the aiming spot from potential interference (such as other light sources) in the captured image. One aspect of the triangulation phase 714 is a cross-checking operation that, taking into account the known positional offsets of various distances from each type of image capture device to the target surface, determines whether the position of the aiming spot within the images captured by the different image capture devices 102A, 102B is reasonable. Therefore, the cross-checking operation can further help improve the accuracy of ranging determination and computational performance by discarding erroneous aiming spot positions.
[0063] Figure 8 is a process flowchart illustrating an example sequence of operations corresponding to positioning phase 712 according to some embodiments. At 802, the aiming projector 112 is operated under the control of the auxiliary measurement control system 122, such that the aiming spot seen by image capture devices 102A and 102B is time-modulated. In this context, time modulation of the aiming spot refers to the aiming spot changing over time, such that the appearance of the aiming spot differs in the captured image frames. One or more of various types of time modulation can be used, either individually or in combination. Some examples of time modulation types are described herein, but these examples do not constitute a complete or exhaustive set of time modulation types that can be used in various embodiments.
[0064] At 804, image capture devices 102A and 102B are operated by an auxiliary measurement and control system 122, which works in conjunction with image processing system 124, to each capture a series of image frames with a target spot. When viewed or analyzed sequentially, the series of image frames captured by each image sensor has a modulation pattern of the captured target spot. In a related embodiment, the frame rate of each image capture device 102 is such that the modulation pattern can be distinguished from random visible noise or other variation patterns (such as flickering light or reflections) that may appear in the series of image frames, relative to the modulation rate of the target spot that can be captured. At 806, the auxiliary measurement and control system processes the series of image frames from each sensor based on the modulation pattern of the captured target spot to distinguish the position of the target spot from other light sources or reflections that may also be captured in the sequence of image frames.
[0065] According to various embodiments, the modulation of the aiming spot of operation 802 can be achieved in multiple ways. In one type of embodiment, the aiming projector can be turned on and off according to a specific mode. The switching mode can be at a specific frequency. Furthermore, the switching mode can have a specific duty cycle (i.e., on for a specific first duration and off for a specific second duration). The switching mode can be encoded using on-off keying, frequency shift keying, pulse position modulation, phase shift keying, or other digital encoding techniques that facilitate carrying information by modulating the carrier spot. For example, the information that can be encoded includes numerical values.
[0066] In related embodiments, the intensity of the aiming projector can be varied. Therefore, in a continuous image, the aiming spot may appear brighter or darker, and the intensity variation can be achieved using a specific mode. Similarly, amplitude shift keying, phase shift keying, frequency shift keying, or other coding techniques can be used in conjunction with variable intensity modulation.
[0067] In related embodiments, the intensity of the captured aiming spot can be modulated by controlling the timing of the aiming transmission relative to the image frame capture timing. Figure 9A is a diagram illustrating an example of this type of embodiment. The image capture timing is represented as image exposure 902, and various aiming activations are indicated at 904-906. Aiming activation 904 is activated for the entire duration of image exposure 902 to produce a captured aiming spot of full intensity. Aiming activation 906 is activated for half the duration of image exposure 902 to produce 50% capture intensity, as shown. Aiming activation 908 is activated for one-quarter of the duration of image exposure 902 to produce 25% of the captured aiming spot intensity, as shown. The percentages given in this example are merely illustrative. Various other ratios of the activation duration of the aiming projector can be used in various embodiments. This method of varying the aiming spot intensity can also be used to encode information on the captured aiming spot.
[0068] In related embodiments, while the frame exposure time can be varied, the intensity of the captured aiming spot can be modulated by controlling the duration of the aiming pulse transmitted during the image frame capture timing. This method provides different overall brightness levels in the acquired image, which can help distinguish the aiming spot from other light sources in the field of view. Figure 9B is a diagram illustrating image exposure and aiming spot timing as an example of this implementation. The capture timings for the three images are denoted as image exposure timings 912, 913, and 914. Different aiming activation timings are indicated in 915-917.
[0069] In the first frame, image exposure 912 has a relatively long duration, while aiming activation 915 is a pulse of medium duration falling within the duration of image exposure 912. This produces a captured aiming spot of medium intensity. In the second frame, image exposure 913 has a relatively long duration, while aiming activation 916 is a pulse of short duration falling within image exposure 913. This produces a captured aiming spot of lower intensity with the same ambient light exposure as in the first frame. In the third frame, image exposure 914 is reduced relative to image exposures 912 and 913, while aiming activation 917 has a longer pulse duration during image exposure 914. This combination produces a captured aiming spot of high intensity with less unwanted ambient light acquired by the sensor.
[0070] The technique shown in Figure 9B allows the aiming spot to be more easily isolated from any reflected light source because ambient light follows a brightness modulation that is partially opposite to that of the aiming spot: that is, between exposures 912 and 913, the aiming spot becomes weaker while the total brightness remains the same, so detection should only come from the modulation of the aiming spot. Then, from image exposures 913 to 914, when the captured ambient image is darker, the aiming spot is brighter, thus enhancing the detection of the aiming spot. Therefore, it is easier to distinguish the aiming spot from any noise from the ambient light. This technique of varying the aiming spot intensity can also be used to encode information on the captured aiming spot.
[0071] The modulation techniques described above can be used in any suitable combination. For example, image capture frame timing can be used to combine on-off keying with intensity variations in aiming reception, allowing a specific pattern of the on-off switching aiming spot to be captured at one intensity level, and another pattern of the on-off switching aiming spot to be captured at another intensity level. In addition to the modulation techniques described above, other modulation techniques can also be used (alone, or in some combination with other modulation techniques).
[0072] In another type of embodiment, the exposure time or sensor gain can be varied to correspondingly change the signal-to-noise ratio of the captured target spot (i.e., signal) to other light sources (i.e., noise) appearing in the captured image frame series. This technique can be used in combination with any of the modulation techniques discussed above.
[0073] According to various embodiments, the processing of the series of image frames used to identify the position of the aiming spot in operation 806 can be performed in various ways. In one example, consecutive image frames in which the aiming spot changes between frames can be processed such that the pixel value of one frame is subtracted from the pixel value of the next frame, thereby producing a difference frame representing the difference between the corresponding pixel values between the compared image frames. In the difference frame, the modulated aiming spot may exhibit the maximum difference.
[0074] According to some embodiments, a more advanced method for using exposure and aiming modulation as described above with reference to FIG9B includes comparing a first image and a second image to see if the difference in pixel values corresponds to aiming spot modulation. For example, if a pixel intensity in the first image is higher than the corresponding pixel value in the second image by, for example, 1.5, then the pixel can be stored with a value of 0 in the "non-aimed pixel" composite image generated during the first processing step; then, similarly, if the third image has a pixel value higher than the corresponding second image pixel value by, for example, 2, then the pixel can also be stored with a value of 0 in the "non-aimed pixel" composite image during the second processing step. If the third image has a pixel value lower than that of the "non-aimed pixel" image, then the pixel can be stored as zero in the "contrast-enhanced aiming pixel" reference image generated in the processing step; otherwise, it can be stored as the difference between the pixel of the third image and the "non-aimed pixel" composite image.
[0075] In this example, since the third frame is the frame with the lowest exposure (and therefore, ideally, the lowest overall pixel value besides the pixel projecting the aiming spot), the "enhanced contrast aiming pixel" image will have unwanted pixels with a value of 0 (assuming no aiming spot) and desired pixels with the pixel values of the third image (assuming the aiming spot exists). At this point, it may be easier to detect the most likely aiming spot pixels, as they will be the pixels with the highest pixel values in this "enhanced contrast aiming pixel" image, and they can be compared to a threshold based on the highest pixel value of that subsequent image. This type of processing, as described in this example, strikes a balance between ideal and realistic operating conditions and achieves good performance (with few false positives and few false negatives) in aiming spot detection, despite all the non-ideal conditions that may affect detection in most operating situations (e.g., illumination noise, laser speckle, target motion in the field of view).
[0076] In related embodiments, more advanced techniques may be applied to compare candidate aiming spot positions in consecutive differential frames (where the actual aiming spot is expected to vary according to a known modulation pattern or coding value) with a reference signal representing a known modulation pattern that represents the coding value, and discard candidate aiming spot positions that do not correspond to the known modulation pattern.
[0077] In other relevant embodiments, filtering operations may be performed, such as thresholding the differential frames to generate a set of candidate aiming spot locations where there are frame-to-frame differences exceeding a threshold, and excluding all other differences that do not meet the differential threshold from this set of candidate aiming spot locations. The threshold may be predefined, or it may be dynamically set based on a defined set of criteria. For example, the threshold setting criteria may be based on the average dynamic range (e.g., 70% of the dynamic range) in the captured image frames. Other thresholding may include windowing (i.e., setting upper and lower boundaries) and excluding differences that fall outside the defined range. The windowing boundaries may vary based on the dynamic range and also on the aiming spot modulation pattern.
[0078] In other embodiments, additional filtering, such as noise reduction or motion effect filtering (e.g., erosion, dilation, blurring), may be used in conjunction with the image processing operations of image processing 806.
[0079] In one type of embodiment, image processing operation 806 may include combining captured image frames from each capture point of multiple image sensors to produce a single frame series for processing.
[0080] The output of the positioning phase 712 (positioning set 722) may include a set of coordinates of candidate aiming spot positions. In related embodiments, the positioning set 722 may also include the spot size of each candidate aiming spot position. For example, each candidate aiming spot may be defined by its (x, y) position and spot size (e.g., spot width in pixels).
[0081] Figure 10 is a flowchart illustrating some operations of the triangulation phase 714 according to some embodiments. This operation includes cross-checking at each candidate aiming spot to determine if the candidate aiming spot is reasonable. Therefore, at 1002, the next candidate aiming spot is selected from the candidate set read from the output of the positioning phase 712. At 1004, the aiming spot coordinates of the selected candidate aiming spot, captured from each image capture device 102, are read. Each image capture device 102 is located at a different mechanical offset from the aiming projector 112; furthermore, in some embodiments, the different image capture devices have different fields of view. Therefore, the positions of the aiming spots captured by different image capture devices are different.
[0082] Figure 11 is a graph illustrating, in pixels, the positional offset of the aiming spot of the near-field image capture device and the far-field image capture device of the example scanning system 100. As shown, curve 1102 corresponds to the positional offset value of the aiming spot captured by the near-field image capture device 102A, while curve 1104 corresponds to the positional offset value of the aiming spot captured by the far-field image capture device 102B. Therefore, at any given distance, the positional offset between the two types of image capture devices is different.
[0083] Figure 12 is a diagram illustrating a pair of captured image portions 1204 and 1206, captured by a near-field image capture device 102A and a far-field image capture device 102B, respectively, according to an example, showing aiming spots 1202A and 1202B. Each captured image portion 1204 and 1206 can be divided into regions, as shown in regions 1212A, 1214A, and 1216A for the near-field image capture device image portion 1204 and regions 1212B and 1214B for the far-field image capture device image portion 1206. In this example, regions 1212A and 1212B correspond to ranging distances greater than 1 m. In this example, regions 1214A and 1214B correspond to ranging distances between 25 cm and 1 meter. In this example, region 1216A corresponds to a ranging distance less than 25 cm and is therefore only visible in the near-field image capture device image 1204. Each region corresponds to a reasonable aiming spot offset depending on the different distances from the target surface. Based on the corresponding mechanical offset and field of view relative to the aiming projector 1212, the aiming spot appearing in region 1212A of the near-field image sensor image portion 1204 is expected to appear in region 1212B of the far-field image sensor image portion 1206, and vice versa. Similarly, the aiming spot appearing in region 1214A of the near-field image sensor image portion 1204 is expected to appear in region 1214B of the far-field image sensor image portion 1206, and vice versa.
[0084] Referring again to Figure 10, at 1006, the first aiming spot position corresponding to the first image capture device and the second aiming spot position corresponding to the second image capture device are compared with a predefined set of reasonable values, such as shown in Figure 11 (which may be stored in the controller 120), or with a predefined region, such as shown in Figure 12 (which may be stored in the controller 120). If the offset value corresponds to the predefined set of values or falls within the expected region, the aiming spot position is considered reasonable, and at 1012, the distance to the target surface is calculated based on the coordinates of the candidate aiming spot position. Otherwise, if the offset value falls outside the applicable value or region, the candidate aiming spot position is discarded at 1010. After accepting a candidate aiming spot position as feasible or discarding it, if one or more candidate aiming spots exist to be considered, the process is repeated for the next candidate aiming spot.
[0085] The distance calculation for 1012 can be performed based on the formula D[mm] = a / (b * X[pixels] + c) + d, where a, b, c, and d are calibration constants empirically determined for the scanning system 100 as part of the manufacturing process. Each camera has different constants based on its mechanical offset relative to the aiming and its field of view. An example of a method for matching a position to a predefined set of values (e.g., as shown in Figure 11) is to calculate the distance to the aiming spot position using a formula based on the calibration constants of the camera used to capture the aiming spot. It is expected that aiming spots from different cameras will only match if the distance difference calculated by the different cameras is less than a predetermined threshold.
[0086] Figure 13 is a diagram illustrating the functionality of the localization phase 712 and triangulation phase 714 according to a specific example. In this example, the number of image capture devices is generalized to M image capture devices. As shown, in the localization phase 712, each image capture device acquires an image frame while modulating the received aiming spot. Modulation can be achieved by changing the exposure time ET, aiming intensity (AI), or some combination thereof of the aiming spot. N image frames are captured and processed, where applicable, they can be compared and filtered using thresholding, windowing, and decoding, and optional additional filtering operations can be applied to reduce noise, motion artifacts, etc. The result of this processing is a discriminated image frame in which candidate aiming spot positions are distinguished from interference sources. The position coordinates of each of these candidate aiming spot positions are placed in a cluster list that can be read by the triangulation phase 714.
[0087] In the triangulation phase 714, each cluster list is processed to calculate the distance via triangulation, which produces a list of potential distances D1-DN from which the most suitable distance is selected as the distance determination R. The selection of the most suitable distance determination may involve cross-checking or other selection criteria as described above.
[0088] While this disclosure is readily adaptable to various modifications and substitutions, specific embodiments have been illustrated by way of example in the accompanying drawings and described in detail herein. However, this disclosure is not limited to the particular forms disclosed. Rather, it covers all modifications, equivalents, and alternatives falling within the scope of the appended claims and their legal equivalents. For example, in some embodiments, according to aspects of this disclosure, positioning and triangulation can be performed using a single image capture device.
[0089] In some embodiments, different exposures can be performed in parallel to improve the system's ambient light level operating range and speed (e.g., fewer frames can be captured to find the aiming spot when the ambient light level is very high). In another type of variation, a sensor dedicated to triangulation can be used, such as a color sensor to more easily find the aiming spot, or a filter sensor can be used to select only the aiming spot wavelength and filter out all other colors as ambient noise.
[0090] In various other embodiments, the controller 120 may be combined with a machine learning system, such as a deep neural network—such as a convolutional neural network (CNN)—to perform at least some localization operations. For example, a trained CNN may be used to efficiently identify candidate aiming spot locations from a series of image frames streaming from a camera in the system.
[0091] In various implementations, a CNN can receive combined information from all cameras, or multiple CNNs can be specific to and dedicated to each camera. A neural network can accept a series of image frames from multiple cameras (two or more) as its input, containing aiming spot and modulation pattern information of the aiming spot, and produce feature vectors including candidate aiming spot positions as its output. In some implementations, the output may include a single aiming spot position determined as the most correct localization result.
[0092] In relevant embodiments, an optimized dataset of preprocessed images can be fed into the neural network to reduce the amount of data to be processed and to optimize the size and complexity of the neural network, making it easy to integrate or implement in a suitable embedded system. For example, the preprocessed dataset may contain only selected portions of the image to limit the number of pixels to be processed. As another example, compressed or simplified information about the pixel features of a region, rather than pixel values, can be sent to the neural network to limit the overall data to be processed, allowing for the efficient identification of candidate aiming spot locations from a series of image frames using a less complex and less deeply trained convolutional neural network.
[0093] In the relevant example, the output of the neural network can include the most likely detection distance and the location of the most likely target spot within the image, the latter discarding only noise. This output can provide the necessary input for a triangulation engine that calculates the target distance as described above.
[0094] In another example, the neural network can be dedicated solely to the spot localization stage, leaving the tasks of triangulation and selecting all detected spots from the cluster list entirely to other algorithms and engines. The system can also include several neural networks, each trained using a different dataset. For example, each neural network can be individually dedicated to each camera in the system (if multiple cameras are used) and trained accordingly. Similar approaches have been implemented on computationally limited computing platforms, such as standard embedded platforms based on advanced RISC machine (ARM) processors (e.g., Cortex A7 equipped with NEON or similar devices).
[0095] Other notes and examples
[0096] Example 1 is an apparatus for an optical scanner for scanning a subject, the apparatus comprising: an interface circuit including an input for receiving a plurality of images from at least one image capturing device; and a controller circuit coupled to the interface circuit and the input, the controller circuit being operable to perform a ranging determination, the ranging determination comprising a positioning phase and a triangulation phase, wherein: in the positioning phase, a series of image frames is received via the input, the series of image frames collectively including an aiming spot captured as a reflection from the surface of the subject, the captured aiming spot is time-modulated according to a modulation pattern, and the series of image frames is processed based on the modulation pattern to identify the aiming spot, thereby determining a possible position of the aiming spot within at least one image frame in the series; and in the triangulation phase, the possible position of the aiming spot is processed to generate the ranging determination, wherein the ranging determination represents a distance between the at least one image capturing device and the surface of the subject.
[0097] In Example 2, the subject of Example 1 includes, wherein the interface circuitry further includes an input for receiving an activation signal, and wherein the controller is operable to perform the ranging determination in response to the activation signal.
[0098] In Example 3, the subject of Examples 1-2 includes, wherein the interface circuitry is used to receive multiple images from each of a plurality of image capture devices.
[0099] In Example 4, the subject of Example 3 includes the plurality of image capturing devices comprising a near-field camera and a far-field camera, wherein the far-field camera has a narrower field of view than the near-field camera.
[0100] In Example 5, the subject matter of Examples 3-4 includes, wherein, in the plurality of images from each of the plurality of image capture devices, there is a device-specific positional offset of a captured aiming spot, the positional offset being based on the distance between the respective image capture device and the surface of the subject and also based on the relative position of the respective image capture device and the projector of the aiming spot; and wherein, in the triangulation phase, the possible positions of the aiming spot are processed based on the different device-specific positional offsets in the image frames captured by the different image capture devices among the plurality of image capture devices to assess whether the possible positions are within a reasonable range.
[0101] In Example 6, the subject matter of Examples 1-5 includes, wherein the interface circuitry includes a targeting output to control a targeting spot projector, the targeting spot projector being operable to generate a targeting emission that results in the targeting spot.
[0102] In Example 7, the subject matter of Examples 1-6 includes, wherein the controller circuit is operable to generate a modulation control signal based on the modulation pattern, and the aiming output is operable to couple the modulation control signal to the aiming spot projector.
[0103] In Example 8, the subject matter of Examples 1-7 includes, wherein the controller circuitry is operable to determine an autofocus setting based on the ranging determination, and wherein the interface circuitry includes a focus control output coupled to the controller circuitry and the optical system of the at least one image capture device to transmit the autofocus setting from the controller circuitry to the optical system.
[0104] In Example 9, the subject of Examples 1-8 includes the capture of the aiming spot being time-modulated by an on-off switch.
[0105] In Example 10, the subject of Example 9 includes the capture of the aiming spot being time-modulated by a change in duty cycle.
[0106] In Example 11, the subject of Examples 9-10 includes the capture of a targeting spot that is time-modulated by a change in pulse position.
[0107] In Example 12, the subject of Examples 1-11 includes, wherein the modulation pattern includes encoded information.
[0108] In Example 13, the subject of Examples 1-12 includes the capture of a targeting spot that is temporally modulated by changes in the intensity of the targeting spot.
[0109] In Example 14, the subject matter of Examples 1-13 includes, wherein, during the positioning phase, the controller is operable to cause a change in image capture parameters to alter the sensitivity of the at least one image capture device.
[0110] In Example 15, the subject matter of Examples 1-14 includes the following: the captured aiming spot is time-modulated by the change in alignment between the aiming spot emission and the image frame captured by the at least one image capturing device.
[0111] In Example 16, the subject matter of Examples 1-15 includes, in the positioning phase, processing the image frame series based on the modulation pattern to identify the aiming spot by calculating pixel-level differences between consecutive image frames of the image frame series to reveal differences caused by the temporal modulation of the aiming spot at the position corresponding to the aiming spot within the image frame.
[0112] In Example 17, the subject of Example 16 includes determining the difference over the series of image frames, wherein the difference varies according to the modulation pattern.
[0113] In Example 18, the subject of Examples 16-17 includes applying a filtering operation to the differences to filter out portions of the image frame series that fail to meet a difference threshold.
[0114] Example 19 is a method for operating an optical scanner for scanning a subject, the method comprising: autonomously receiving a plurality of images from at least one image capturing device; and autonomously performing a ranging determination, the ranging determination comprising a positioning phase and a triangulation phase, wherein: in the positioning phase, a series of image frames is received, the series of image frames collectively including an aiming spot captured as a reflection from the surface of the subject, the captured aiming spot is time-modulated according to a modulation pattern, and the series of image frames is processed based on the modulation pattern to identify the aiming spot, thereby determining a possible position of the aiming spot within at least one image frame in the series; and in the triangulation phase, the possible position of the aiming spot is processed to generate the ranging determination, wherein the ranging determination represents a distance between the at least one image capturing device and the surface of the subject.
[0115] In Example 20, the subject of Example 19 includes receiving an activation signal and performing the ranging determination in response to the activation signal.
[0116] In Example 21, the subject of Examples 19-20 includes receiving multiple images from each of multiple image capture devices.
[0117] In Example 22, the subject of Example 21 includes the plurality of image capturing devices comprising a near-field camera and a far-field camera, wherein the far-field camera has a narrower field of view than the near-field camera.
[0118] In Example 23, the subject matter of Examples 21-22 includes, wherein, in the plurality of images from each of the plurality of image capture devices, there is a device-specific positional offset of a captured aiming spot, the positional offset being based on the distance between the respective image capture device and the surface of the subject and also based on the relative position of the respective image capture device and the projector of the aiming spot; and wherein, in the triangulation phase, the possible positions of the aiming spot are processed based on the different device-specific positional offsets in the image frames captured by the different image capture devices among the plurality of image capture devices to assess whether the possible positions are within a reasonable range.
[0119] In Example 24, the subject of Examples 19-23 includes a targeting spot projector operable to generate targeting emission that results in the targeting spot.
[0120] In Example 25, the subject of Examples 19-24 includes generating a modulation control signal based on the modulation pattern and feeding the modulation control signal to the aiming spot projector.
[0121] In Example 26, the subject of Examples 19-25 includes determining an autofocus setting autonomously based on the ranging and transmitting the autofocus setting to the optical system of the at least one image capturing device.
[0122] In Example 27, the subject of Examples 19-26 includes the capture of a targeting spot that is time-modulated by an on-off switch.
[0123] In Example 28, the subject of Example 27 includes the capture of the aiming spot being time-modulated by a change in duty cycle.
[0124] In Example 29, the subject of Examples 27-28 includes the capture of a targeting spot that is time-modulated by a change in pulse position.
[0125] In Example 30, the subject matter of Examples 19-29 includes, wherein the modulation pattern includes encoded information.
[0126] In Example 31, the subject of Examples 19-30 includes the capture of a targeting spot that is temporally modulated by changes in the intensity of the targeting spot.
[0127] In Example 32, the subject of Examples 19-31 includes changing image capture parameters to alter the sensitivity of the at least one image capture device.
[0128] In Example 33, the subject matter of Examples 19-32 includes the following: the captured aiming spot is temporally modulated by the change in alignment between the aiming spot emission and the image frame captured by the at least one image capturing device.
[0129] In Example 34, the subject matter of Examples 19-33 includes, in the positioning phase, processing the image frame series based on the modulation pattern to identify the aiming spot by calculating pixel-level differences between consecutive image frames of the image frame series to reveal differences caused by the temporal modulation of the aiming spot at the position corresponding to the aiming spot within the image frame.
[0130] In Example 35, the subject of Example 34 includes determining the difference on the series of image frames, wherein the difference varies according to the modulation pattern.
[0131] In Example 36, the subject of Examples 34-35 includes performing a filtering operation on the differences to filter out portions of the image frame series that fail to meet a difference threshold.
[0132] Example 37 is an apparatus for an optical scanner for scanning a subject, the apparatus comprising: an interface circuit including input for receiving a plurality of images from a plurality of image capture devices; and a controller circuit coupled to the interface circuit and the input, the controller circuit being operable to perform a ranging determination, the ranging determination including a positioning phase and a triangulation phase, wherein: each of the plurality of images from each of the plurality of image capture devices has a device-specific positional offset of a captured aiming spot, the positional offset varying based on the distance between the respective image capture device and the surface of the subject and also based on the relative position of the respective image capture device and a projector of the aiming spot; the positioning phase identifying possible positions of the aiming spot within captured image frames; and in the triangulation phase, processing the possible positions of the aiming spot based on different device-specific positional offsets in image frames captured by different image capture devices of the plurality of image capture devices to assess whether the possible positions of the aiming spot are within a reasonable range; wherein the ranging determination represents the distance between the optical scanner and the surface of the subject.
[0133] In Example 38, the subject of Example 37 includes a first image capturing device associated with a first set of position offsets of a captured aiming spot, the first set of position offsets being a function of the distance between the first image capturing device and the surface of the subject, and a second image capturing device associated with a second set of position offsets of a captured aiming spot, the second set of position offsets being a function of the distance between the optical scanner and the surface of the subject.
[0134] In Example 39, the subject of Example 38 includes, wherein the first set of position offsets is stored in the controller circuit, and wherein the second set of position offsets is stored in the controller circuit; and wherein the controller circuit is operable to calculate an assessment of whether the possible position of the aiming spot is within a reasonable position based on: a first position offset of the possible position of the aiming spot in a first image captured by the first image capturing device, a first distance determined according to the first set of position offsets; and comparing (a) a second position offset value of the first distance expected according to the second set of position offsets and (b) a second position offset of the possible position of the aiming spot in a second image captured by the second image capturing device.
[0135] In Example 40, the subject matter of Examples 38-39 includes, wherein the first set of position offsets is stored in the controller circuit, and wherein the second set of position offsets is stored in the controller circuit; and wherein the controller circuit is operable to calculate an assessment of whether the possible position of the aiming spot is within a reasonable position based on: determining a first distance based on a first position offset of the possible position of the aiming spot in a first image captured by the first image capturing device, according to the first set of position offsets; and determining a second distance based on a second position offset of the possible position of the aiming spot in a second image captured by the second image capturing device, according to the second set of position offsets; and comparing the first distance and the second distance.
[0136] In Example 41, the subject matter of Examples 38-40 includes, wherein the first set of position offsets is stored in the controller circuit, the first set of offset regions corresponds to different distance ranges between the first image capturing device and the surface of the subject, and wherein, the second set of position offsets is stored in the controller circuit, the second set of offset regions corresponds to different distance ranges between the second image capturing device and the surface of the subject, wherein, according to a corresponding criterion, certain offset regions in the first set correspond to certain offset regions in the second set.
[0137] In Example 42, the subject of Example 41 includes the following: the controller circuit is operable to calculate an assessment of whether the possible position of the aiming spot is within a reasonable position based on the following operations: determining a first offset region in a first set corresponding to a first position offset of the possible position of the aiming spot in a first image captured by the first image capturing device; determining a second offset region in a second set corresponding to a second position offset of the possible position of the aiming spot in a second image captured by the second image capturing device; and assessing whether the first offset region and the second offset region are corresponding offset regions based on the corresponding criteria.
[0138] In Example 43, the subject of Examples 38-42 includes a first image capturing device having a first field of view, and a second image capturing device having a second field of view different from the first field of view.
[0139] Example 44 is at least one machine-readable medium including instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations to implement any one of Examples 1-43.
[0140] Example 45 is an apparatus that includes components for implementing any one of Examples 1-43.
[0141] Example 46 is a system for implementing any one of Examples 1-43.
[0142] Example 47 is a method for implementing any of Examples 1-43.
[0143] Those skilled in the art will recognize that the present invention may include fewer features than those shown in any of the individual embodiments described above. The embodiments described herein are not intended to represent an exhaustive representation of all ways in which the various features of the invention can be combined. Therefore, the embodiments are not mutually exclusive combinations of features; rather, the invention may include combinations of different individual features selected from different individual embodiments, as will be understood by those skilled in the art.
[0144] Any inclusion by reference of the foregoing documents is limited so that no subject matter contrary to the express disclosure herein is incorporated. Any inclusion by reference of the foregoing documents is further limited so that the claims included in those documents are not incorporated by reference into the claims of this application. However, unless specifically excluded, the claims of any document are incorporated as part of the disclosure herein. Any inclusion by reference of the foregoing documents is further limited so that any definitions provided in those documents are not incorporated by reference unless expressly included herein.
Claims
1. An apparatus for scanning an optical scanner of a subject, the apparatus comprising: Interface circuitry includes input for receiving multiple images from at least one image capture device; and a controller circuit coupled to the interface circuit and the input, the controller circuit being operable to perform a ranging determination comprising a positioning phase and a triangulation phase, wherein: in the positioning phase, a series of image frames is received via the input, the series of image frames collectively comprising a targeting spot captured as a reflection from the surface of the subject, the captured targeting spot being temporally modulated, the temporal modulation of the targeting spot comprising changing the targeting spot over time such that the appearance of the targeting spot differs between the series of image frames, and processing the series of image frames based on the temporal modulation to distinguish the targeting spot from other light sources besides the light source of the targeting spot, thereby determining the possible position of the targeting spot within at least one image frame in the series; and in the triangulation phase, the possible position of the targeting spot is processed to generate the ranging determination, wherein the ranging determination represents the distance between the at least one image capturing device and the surface of the subject, wherein the captured targeting spot is temporally modulated by a change in the duration of the targeting spot projection relative to the exposure duration of the at least one image capturing device used for image frame capture.
2. The apparatus of claim 1, wherein the interface circuitry further includes an input for receiving an activation signal, and wherein the controller is operable to perform the ranging determination in response to the activation signal.
3. The apparatus of claim 1, wherein the interface circuitry is operable to receive a plurality of images from each of a plurality of image capture devices.
4. The apparatus of claim 3, wherein the plurality of image capturing devices includes a near-field camera and a far-field camera, wherein the far-field camera has a narrower field of view than the near-field camera.
5. The apparatus of claim 3, wherein the plurality of images from each of the plurality of image capture devices have a device-specific position offset of the captured aiming spot, the position offset varying based on the distance between the respective image capture device and the surface of the subject and also based on the relative position of the respective image capture device and the projector of the aiming spot; and wherein, during the triangulation phase, the possible positions of the aiming spot are processed based on different device-specific position offsets in image frames captured by different image capture devices among the plurality of image capture devices to assess whether the possible positions are within a reasonable range.
6. The apparatus of claim 1, wherein: The interface circuit includes a aiming output to control an aiming spot projector, which is operable to generate an aiming emission that causes the aiming spot. The controller circuit is operable to generate a modulation control signal based on the time modulation, and the aiming output is operable to couple the modulation control signal to the aiming spot projector.
7. The apparatus of claim 1, wherein the captured aiming spot is time-modulated by the intensity variation of the aiming spot.
8. The apparatus of claim 1, wherein during the positioning phase, the controller is operable to cause a change in the image capture parameters of the at least one image capture device.
9. The apparatus of claim 1, wherein during the positioning phase, pixel-level comparison operations between consecutive image frames of the image frame series are calculated to reveal changes caused by the temporal modulation of the aiming spot at the position corresponding to the aiming spot within the image frame, and the image frame series is processed based on the temporal modulation to identify the aiming spot.
10. The apparatus of claim 9, wherein: The comparison operation is determined on the series of image frames, and the comparison operation varies according to the time modulation; And apply the filtering operation to the comparison operation to filter out the portions of the image frame series that fail to meet the defined threshold.
11. An apparatus for scanning an optical scanner of a subject, the apparatus comprising: Interface circuitry, including input for receiving multiple images from multiple image capture devices; and a controller circuit coupled to the interface circuit and the input, the controller circuit being operable to perform a ranging determination comprising a positioning phase and a triangulation phase, wherein: each of the plurality of images from each of the plurality of image capture devices has a device-specific positional offset of the captured aiming spot, the positional offset being based on the distance between the respective image capture device and the surface of the subject and also based on the relative position of the respective image capture device and the projector of the aiming spot; the positioning phase identifies possible positions of the aiming spot within the captured image frames; and in the triangulation phase, based on different device-specific positional offsets in the image frames captured by different image capture devices among the plurality of image capture devices, the possible positions of the aiming spot are processed to assess whether the possible positions of the aiming spot are within a reasonable range; wherein the ranging determination represents the distance between the optical scanner and the surface of the subject, wherein the first image capture device among the plurality of image capture devices is associated with the first image capture device of the captured aiming spot with the third image capture device of the subject ... A set of position offsets is associated with a first set of position offsets, which is a function of the distance between the first image capturing device and the surface of the subject, and wherein a second image capturing device of the plurality of image capturing devices is associated with a second set of position offsets of the captured aiming spot, which is a function of the distance between the optical scanner and the surface of the subject, wherein the first set of position offsets is stored in the controller circuit, and wherein the second set of position offsets is stored in the controller circuit; and wherein the controller circuit is operable to calculate an assessment of whether the possible position of the aiming spot is within a reasonable position based on: a first position offset of the possible position of the aiming spot in a first image captured by the first image capturing device, a determination of a first distance according to the first set of position offsets; and a comparison of (a) a second position offset value corresponding to the first distance expected according to the second set of position offsets with (b) a second position offset of the possible position of the aiming spot in a second image captured by the second image capturing device.
12. The apparatus of claim 11, wherein the first set of position offsets is stored in the controller circuit, and wherein the second set of position offsets is stored in the controller circuit; and wherein the controller circuit is operable to calculate an assessment of whether the possible position of the aiming spot is within a reasonable position based on: a first position offset of the possible position of the aiming spot in a first image captured by the first image capturing device, a determination of a first distance according to the first set of position offsets; and a second position offset of the possible position of the aiming spot in a second image captured by the second image capturing device, a determination of a second distance according to the second set of position offsets; and a comparison of the first distance and the second distance.
13. The apparatus of claim 11, wherein the first set of position offsets is stored in the controller circuit, the first set of offset regions corresponds to different distance ranges between the first image capturing device and the surface of the subject, and wherein the second set of position offsets is stored in the controller circuit, the second set of offset regions corresponds to different distance ranges between the second image capturing device and the surface of the subject, wherein, according to a corresponding criterion, certain offset regions in the first set correspond to certain offset regions in the second set.
14. The apparatus of claim 13, wherein the controller circuit is operable to calculate an assessment of whether the possible position of the aiming spot is within a reasonable position based on: determining a first offset region in a first set corresponding to a first position offset of the possible position of the aiming spot in a first image captured by the first image capturing device; determining a second offset region in a second set corresponding to a second position offset of the possible position of the aiming spot in a second image captured by the second image capturing device; and assessing whether the first offset region and the second offset region are corresponding offset regions based on the corresponding criteria.
15. A method of operating an optical scanner for scanning a subject, the method comprising: Autonomously receive multiple images from at least one image capture device; The system autonomously performs a ranging determination, which includes a positioning phase and a triangulation phase, wherein: in the positioning phase, a series of image frames is received, the series of image frames collectively containing a targeting spot captured as a reflection from the surface of the subject, the captured targeting spot being temporally modulated, the temporal modulation of the targeting spot including changing the targeting spot over time such that the appearance of the targeting spot differs between the series of image frames, and the series of image frames is processed based on the temporal modulation to distinguish the targeting spot from other light sources besides the light source of the targeting spot, thereby determining the possible position of the targeting spot within at least one image frame in the series; and in the triangulation phase, the possible position of the targeting spot is processed to generate the ranging determination, wherein the ranging determination represents the distance between the at least one image capturing device and the surface of the subject, wherein the captured targeting spot is temporally modulated by a change in the duration of the targeting spot projection relative to the exposure duration of the at least one image capturing device used for image frame capture.
16. The method of claim 15, further comprising: Multiple images are received from each of a plurality of image capture devices, wherein the plurality of images from each of the plurality of image capture devices have a device-specific position offset of a captured aiming spot, the position offset being based on the distance between the respective image capture device and the surface of the subject and also based on the relative position of the respective image capture device and the projector of the aiming spot; and wherein, during the triangulation phase, the possible positions of the aiming spot are processed based on the different device-specific position offsets in the image frames captured by the different image capture devices among the plurality of image capture devices to assess whether the possible positions are within a reasonable range.
17. The method of claim 15, wherein, During the positioning phase, the image frame series is processed based on the time modulation to identify the aiming spot by calculating pixel-level differences between consecutive image frames in the image frame series to reveal the differences caused by the time modulation of the aiming spot at the position corresponding to the aiming spot within the image frame.
Citation Information
Patent Citations
System and method for aiming an optical code scanning device
US20060043191A1
Imaging reader for and method of improving visibility of aiming pattern
US20090084851A1
Arrangement for, and method of, determining a distance to a target to be read by image capture over a range of working distances
US20170343345A1