EP2158500B1 - Method and system for optoelectronic detection and location of objects - Google Patents
Method and system for optoelectronic detection and location of objects Download PDFInfo
- Publication number
- EP2158500B1 EP2158500B1 EP08779633.0A EP08779633A EP2158500B1 EP 2158500 B1 EP2158500 B1 EP 2158500B1 EP 08779633 A EP08779633 A EP 08779633A EP 2158500 B1 EP2158500 B1 EP 2158500B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- measurements
- responsive
- signal
- process means
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 199
- 238000001514 detection method Methods 0.000 title claims description 46
- 230000005693 optoelectronics Effects 0.000 title claims description 14
- 238000005259 measurement Methods 0.000 claims description 170
- 230000008569 process Effects 0.000 claims description 160
- 238000012360 testing method Methods 0.000 claims description 52
- 230000003287 optical effect Effects 0.000 claims description 31
- 238000012549 training Methods 0.000 claims description 22
- 238000011144 upstream manufacturing Methods 0.000 claims description 15
- 108091008695 photoreceptors Proteins 0.000 claims description 14
- 230000011664 signaling Effects 0.000 claims description 13
- 230000000694 effects Effects 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 101000685982 Homo sapiens NAD(+) hydrolase SARM1 Proteins 0.000 description 5
- 102100023356 NAD(+) hydrolase SARM1 Human genes 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000000849 selective androgen receptor modulator Substances 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/16—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
Definitions
- the invention relates to optoelectronic sensors for detecting objects and providing information describing the objects, particularly their location.
- Optoelectronic sensors for detecting and locating objects are valuable in a wide variety of fields; one example is industrial automation.
- one example is industrial automation.
- a sensor detects the presence of a bottle at a predetermined point as it moves down the production line, and produces a signal that tells a printer to start printing when a bottle is located at that point.
- a signal is produced when a bottle is at the proper location, desired alphanumeric characters are printed on the bottle's label in a desired location. If a bottle is not detected, however, its label will not be printed, a potentially costly mistake. If a signal is produced when no bottle is present, the printer may spray ink into the air, which may have adverse effects on the production process. If a signal is produced when a bottle is present but not in the proper location, the characters will be printed in the wrong location on the label.
- an optoelectronic sensor for detecting and locating objects should detect only the desired objects, and only in the desired location.
- Photoelectric sensors which comprise a type of optoelectronic sensor, have long been used to detect and locate objects. Such sensors typically operate by emitting a beam of light and detecting light received. They come in a variety of configurations suitable for a variety of applications, including the following:
- the application is constrained to insure that only desired objects cross the path, and so that determining the location of an edge of the object is all that is needed. In the bottling application, for example, this would mean that the label is in a fixed position relative to the edge of the bottle.
- an emitter and receiver are placed in one location, with a retro-reflector placed at the opposite end of a path that reflects the beam from the emitter back to the receiver.
- This configuration is similar to the previous, but is more convenient to install because all of the required wiring is done at only one end of the path instead of at both ends. However, if the objects to be detected are reflective, misdetection and/or mislocation errors may occur.
- an emitter and receiver are placed in one location, and the emitter emits a focused beam of light so that anything sufficiently reflective crossing in front of the beam reflects it back to the receiver.
- An object is detected when the receiver sees an amount of light above some predefined threshold.
- the placement of the emitter/receiver assembly determines the location of the beam and thereby the location at which an object is detected.
- the use of a focused beam makes this location relatively precise, and reduces the chances of misdetecting objects in the background because the beam will be out of focus.
- the objects and their environment are constrained so that the reflected light exceeds the threshold only when desired objects are in the desired location.
- a fourth configuration is a variation of the third wherein a diffuse beam of light is used instead of a focused beam. This makes it easier to detect objects whose positions are not well constrained, but decreases the precision of the location at which objects are detected and increases the chances that a detection will occur when no desired object is in front of the beam.
- Photoelectric sensors of these types include those manufactured and sold by Banner Engineering Corp., of Minneapolis, Minnesota, for example their MINI-BEAM® line.
- Photoelectric sensors typically provide a simple signal to indicate that an object has been detected, and to indicate its location. Such a signal has two states, which might be called “present” and “absent". In the first and second configuration, for example, the signal would be in the "present” state when little light is detected by the receiver; in third or fourth configuration, the signal would be in the "present” state when light above a threshold is detected by the receiver.
- An object is detected when the signal is in the "present” state.
- a moving object is located by the time of a transition from “absent” to "present” on the signal-the object is located in a known, predetermined position, called herein a reference point , at the time of the transition.
- the reference point is determined by the position of the beam and is adjusted by physically moving the sensor. Note that as used herein the reference point refers to the desired location of the object; the actual location of the object at the signal time may differ for various reasons as described herein.
- a photoelectric sensor is used to detect specific objects and locate them at a specific position, for example to detect bottles moving down a conveyer belt and indicate the time at which the leading edge of such a bottle has reached a certain reference point, for example in front of a printer.
- No sensor is a perfect judge of object presence and location, and failures will result if a desired object is not detected, if some other condition, such as an unexpected object or light source, results in a false detection, or if a desired object is detected but mislocated.
- a photoelectric sensor may employ one or more techniques.
- the different configurations described above, for example, allow different tradeoffs between missed objects, false detection, and other factors that can be matched to the needs of a specific application.
- a retroreflective configuration is unlikely to miss an object but requires mounting two elements, the sensor and the reflector, in suitable locations.
- a focused beam is less likely to detect an unexpected object because it has a narrow range of focus.
- a sensitivity adjustment is typically used as another tradeoff between missed objects and false detection for each sensor configuration.
- the sensitivity adjustment determines the predefmed detection threshold. Increasing the threshold makes false detections less likely but missed objects more likely; decreasing the threshold makes the opposite tradeoff.
- sensors may employ a suitably modulated beam of light so that stray light is unlikely to cause a misdetection.
- the beam can be pulsed on and off at a high frequency, and the receiver is designed to only detect light pulsed at that frequency.
- a commonly used term of art for photoelectric sensors is background suppression , which describes various means for ignoring reflections of the emitted beam by objects in the background (i.e. beyond some predetermined distance), so that misdetection can be made less likely.
- U.S. Patent 5,760,390 describes such a device as well as providing information on prior art devices.
- Photoelectric sensors are well-suited to object detection and location, and are widely used, but they have a variety of limitations.
- Such sensors have a very limited ability to distinguish desired objects from other conditions such as unexpected objects, variations in object reflectivity, confusing markings or features on the objects, and the like. Generally all the sensor can measure is how much light it's receiving. A gray object at 5 centimeters distance, for example, might reflect as much light back to the receiver as a white object at 10 centimeters, even if the beam is somewhat out of focus at 10 centimeters. Considerable care must be taken to insure that the presence of a desired object at a desired location, and no other condition, results in an amount of light received that is above or below a predetermined threshold. This limits the ways in which such sensors can be installed, the nature of objects to be detected and located, and the manner in which such objects are presented to the sensor, among other concerns. Furthermore, generally only edges of objects can be detected and located; it is difficult and in many cases impractical to detect and locate markings or other features on the object.
- Photoelectric sensors have an inherent delay between the time that an object crosses the reference point and the time that the signal transition occurs. This delay is commonly called latency or response time, and is typically of the order of hundreds of microseconds. An object will move away from the reference point during this delay, by a distance that increases as object velocity increases. Furthermore, since a reference point is usually established at installation time using stationary objects, the actual location of the object at the signal time will always be different in production use where the objects are moving. If the latency and velocity are known it may be possible to compensate for the latency, but doing so adds complexity and cost, and might not always be practical.
- the latency of a photoelectric sensor can generally be reduced by giving up some reliability of detection. The less time the sensor has to make a detection decision, the less reliable the decision will be.
- Photoelectric sensors have an inherent uncertainty in the signal transition time, typically referred to in the art as repeatability, and also typically of the order of hundreds of microseconds. This translates to uncertainty in the location of the object at the signal time, where the uncertainty is proportional to object velocity.
- the combination of physical positioning, latency, and repeatability limit the accuracy of a photoelectric sensor in locating objects.
- a vision detector uses a two-dimensional imager (similar to those used in digital cameras) connected to a computer or like device that analyzes the digital images to make detection and location decisions.
- Vision detectors provide an ability to distinguish desired objects from other conditions that far surpasses that which can be achieved with photoelectric sensors. This ability is achieved by using two-dimensional brightness patterns to detect and locate objects. Establishing a reference point can be done electronically by means of a human-machine interface. These devices, however, exhibit significant latency, on the order of several milliseconds, and repeatability that, even under favorable conditions, is no better than that of photoelectric sensors.
- Vision detectors are very expensive compared to photoelectric sensors, and far more complex to set up for a given application.
- US patent application US4384195, John Nosler , applicant COE MFG Co, May 17m 1983, discloses apparatus for counting conveyor-transported articles, such as newspapers.
- the apparatus employs a laser which projects a beam to create reflections from such articles, which reflections are imaged onto a linear photodetector array.
- the array is scanned recurrently to detect the presence and location of such an image, and related, successive output signals from the array are fed to a data-processing circuit which confirms the occurrence of each passing article.
- Such confirmation is based on the pre-known manner in which the successive leading-edge profiles of passing articles cause multiple output signals of a certain character to be produced by the array.
- US patent application US2005275831 discloses methods and apparatus for automatic optoelectronic detection and inspection of objects, based on capturing digital images of a two-dimensional field of view in which an object to be detected or inspected may be located, analyzing the images, and making and reporting decisions on the status of the object. Decisions are based on evidence obtained from a plurality of images for which the object is located in the field of view, generally corresponding to a plurality of viewing perspectives. Evidence that an object is located in the field of view is used for detection, and evidence that the object satisfies appropriate inspection criteria is used for inspection. Methods and apparatus are disclosed for capturing and analyzing images at high speed so that multiple viewing perspectives can be obtained for objects in continuous motion.
- Japanese patent application JP60147602, Yoshimoto Yukio discloses that a measuring object with a mark is set so as to be fed at certain speed.
- the reflected light is made incident on the line sensor through the beam splitter and the cylinder lens and is processed by the output circuit to detect variation of the angle of inclination of the surface of the measuring object, and the detection signal is outputted only when the mark is detected, and thus, the mark is detected surely even if the color of the measuring object is changed.
- an optoelectronic system for providing information describing an object, as defined in appended independent claim 1.
- Embodiments provide optoelectronic methods and systems for detecting moving objects and providing information describing the objects, including but not limited to the location of the objects.
- the disclosed methods and systems provide embodiments offering some or all of the following benefits:
- Objects to be detected and/or located are in motion relative to the field of view of an optical sensor, which makes light measurements in that field of view.
- One-dimensional images oriented approximately parallel to the direction of motion are captured and analyzed to produce information describing the objects, and the information may be used for any purpose, including communicating to other systems using a signal.
- the optical sensor is a linear optical sensor comprising a one-dimensional array of photoreceptors.
- downstream means "in the direction of motion”
- upstream means "opposite the direction of motion”.
- the use of one-dimensional images orientated approximately parallel to the direction of motion provides significant and unanticipated advantages over prior art systems that use emitter/receiver configurations, two-dimensional imagers, or one-dimensional images in other orientations.
- the object motion combined with the image orientation provide a time-sequence of one-dimensional images of a slice of an object as it enters, moves within, and/or exits the field of view.
- the object motion insures that at least a portion of the captured images correspond to a plurality of positions of the object relative to the field of view. This provides, among other benefits, a plurality of viewing perspectives, giving far more information about the object than can be obtained from a single perspective.
- Embodiments comprising a linear optical sensor and a digital processor powerful enough to handle one-dimensional images are very inexpensive.
- a prior art emitter/receiver configuration is essentially a zero-dimensional sensor that only measures how much light is being received. There is no ability to distinguish desired objects by, for example, pattern detection methods, and no ability to visually track objects passing through a field of view to improve detection reliability or provide more accurate location information.
- One-dimensional images permits a much higher capture and analysis rate, at lower cost, than prior art systems that use two-dimensional images for detection and location.
- An illustrative vision detector described in pending U.S. patent application Ser. No. 10/865,155 operates at 500 images per second.
- An illustrative embodiment of the present invention, described below, operates at over 8000 images per second, and at far lower cost. This high operating rate combined with the processes described herein allows latency to be eliminated and repeatability to be dramatically improved.
- the above-referenced patent application does not describe or contemplate that one-dimensional images oriented approximately parallel to the direction of motion could be used for the purposes described herein, or that latency could be eliminated by any means.
- the methods and systems herein disclosed capture one-dimensional images of a field of view through which objects may be moving, and analyze at least a portion of the images to provide information describing the objects.
- the information describing the object comprises knowledge responsive to object presence in the field of view, for example knowledge that an object is in the field of view or crosses a reference point.
- the information describing the object comprises an estimate of a time at which the object crosses a reference point, called herein a reference time. These embodiments allow the object to be located-the object is located at the reference point at the reference time, an estimate of which is provided by the information describing the object.
- Some embodiments provide an electronic human-machine interface that allows the reference point to be adjusted, for example by providing pushbuttons to move the reference point upstream or downstream. This allows the reference point to be set very precisely, and without physically moving the sensor.
- Some embodiments provide a signal that serves to locate the object by indicating the estimate of the reference time.
- the indication can be made in a variety of ways well-known in the art, and further described below; in some embodiments the signal indicates the estimated time simply by occurring at that time, or responsive to that time, for example delayed or advanced by some amount. In such embodiments the time that the signal occurs is referred to herein as a signal time.
- a human-machine interface can also be provided to allow adjustment of the signal time relative to the estimated time.
- the estimate of the reference time is determined by predicting the reference time.
- Some embodiments provide an example object and a setup signal for setting the reference point.
- the example object is placed at the desired reference point, and the setup signal indicates that it is so placed.
- the setup signal In response to the setup signal, one or more images of the field of view containing the example object are captured and analyzed to set the reference point.
- the setup signal can come from a human-machine interface, from other equipment, from software subroutine calls, or from any means known in the art.
- a signal can be produced at a time when the object crosses the reference point (no latency), is upstream from the reference point (negative latency), or is downstream from the reference point (positive latency).
- Some embodiments employ a test object and a human-machine interface that permit an installation of the sensor to be tested. Suitable indictors tell if the test object is detected in the field of view, and if so whether it is upstream or downstream from the reference point.
- the methods and systems make measurements in at least a plurality of the captured images, select from those measurements those judged responsive to an object in the field of view, use the selected measurements to make decisions that produce information describing an object, and optionally produce signals that communicate that information.
- image measurements are made for captured images, where the image measurements comprise any suitable computation on the image.
- image measurements include brightness, contrast, edge quality, peak correlation value, peak correlation position, and many others well-known in the art.
- a set of object measurements are selected from among the image measurements, wherein the object measurements comprise image measurements that are judged responsive to an object in the field of view. Some or all of the image measurements are used to select the object measurements, so that the judgment is made not blindly but based on conditions in the field of view.
- An image measurement particularly suited to such a judgment is peak correlation value using a model pattern and a normalized correlation process, although many other kinds of measurements can also be used within the scope of the invention.
- Object measurements are used to make decisions that produce information describing an object.
- Information may describe presence or states of being present, events such as an object crossing a reference point, location, velocity, brightness, contrast, and many others that will occur to one of ordinary skill that can be obtained according to the methods and systems of the invention.
- accurate location information with no latency is obtained by predicting the time at which an object will cross a reference point, and scheduling a signal to occur at the predicted time.
- the prediction is obtained by fitting a curve, for example a line, through a set of (time, position) points, where the times correspond to times at which images were captured and the positions are obtained from image measurements.
- latency can be adjusted using a human-machine interface, and even made negative, a novel capability.
- the reference point can be set and adjusted precisely using a human-machine interface.
- a model pattern used in a normalized correlation process for producing certain image measurements can be obtained with a training process that uses an example object to indicate the desired appearance of objects to be detected and located.
- linear detector refers to an optoelectronic system according to an embodiment of the invention, for purposes of providing information describing objects, herein equivalently referred to as object information.
- linear detection method refers to a method according to an embodiment of the invention for like purposes.
- the object information comprises knowledge that an object has been detected in a certain state, for example crossing a reference point.
- the object information comprises the time when an object crosses a fixed reference point.
- a process refers to systematic set of actions directed to some purpose, carried out by any suitable apparatus, including but not limited to a mechanism, device, component, software, or firmware, or any combination thereof that work together in one location or a variety of locations to carry out the intended actions.
- a system according to the invention may include suitable processes, in addition to other elements.
- Figure 1 illustrates an example application of an illustrative embodiment of the invention to detect and locate objects.
- Conveyer 100 moves boxes 110, 112, 114, 116, and 118 in direction of motion 102.
- Each box in this example includes a label, such as example label 120, and a decorative marking, such as example marking 122.
- a printer 130 prints characters, such as example characters 132, on each label as it passes by.
- the labels are the objects to be detected and located.
- the illustrated linear detector 150 provides signal 134 to printer 130 at times when labels to be printed pass, or are in some desirable position relative to, reference point 106.
- signal 134 comprises a pulse indicating that a label has been detected, and wherein the leading edge of the pulse occurs at the time that a label is at reference point 106 and thereby serves to locate the label.
- Linear detector 150 uses lens 164 to form a one-dimensional image of field of view 170 on linear optical sensor 160 comprising linear array of photoreceptors 162.
- Field of view 170 and linear array of photoreceptors 162 are oriented so as to produce one-dimensional images oriented approximately parallel to the direction of motion. Each photoreceptor makes a light measurement in the field of view.
- Photoelectric sensors are generally well-suited to detect the edges of the boxes, but the labels are not in a fixed position relative to the box edges. For example, the label on box 118 is farther away from the left edge than the label on box 116. It is desirable, therefore, to detect the label itself, but the edge of the label is indistinguishable from the edge of the decorative marking, making prior art photoelectric sensors unsuitable.
- the labels are much wider than the decorative markings, however, and the light pattern corresponding to a label in field of view 170 can be distinguished from the light pattern corresponding to a decorative marking by appropriate analysis of the one-dimensional images, for example by using a pattern detection process.
- the invention analyzes the images to provide reliable detection and accurate location, as further described below.
- Figure 2 illustrates another example application of the invention to detect and locate objects.
- Conveyer 200 moves continuous web 210 in direction of motion 202.
- Web 210 contains periodic reference marks, such as example marks 220, 222, and 224.
- the marks move through field of view 270 of linear detector 250 comprising linear optical sensor 260 on which one-dimensional images of field of view 270 are focused.
- Linear optical sensor 260 comprises linear array of photoreceptors 262.
- Field of view 270 and linear array of photoreceptors 262 are oriented so as to produce one-dimensional images oriented approximately parallel to direction of motion 202.
- Linear detector 250 may provide a signal (not shown) to suitable automation equipment (not shown) at times when a reference mark crosses, or is in some desirable position relative to, reference point 206.
- reference marks comprise a pattern of shades of gray that can be distinguished from other marks, features, defects, or shading that might appear on web 210, providing detection that is significantly more reliable than could be achieved by prior art photoelectric sensors.
- FIG. 3 is a block diagram of an illustrative embodiment of a portion of a linear detector according to the invention.
- Microcontroller 300 such as the AT91 SAM7S64 sold by Atmel Corporation of San Jose, California, comprises ARMv4T processor 310, read/write SRAM memory 320, read-only flash memory 322, universal synchronous/asynchronous receiver transmitter (USART) 330, parallel I/O interface (PIO) 332, and timer 334.
- ARMv4T processor 310 controls the other elements of microcontroller 300 and executes software instructions stored in either SRAM 320 or flash 322 for a variety of purposes.
- SRAM 320 holds data used by ARMv4T processor 310.
- Microcontroller 300 operates at a clock frequency of 50 MHz.
- Linear optical sensor 340 such as the TSL3301-LF sold by Texas Advanced Optoelectronic Solutions (TAOS) of Plano, Texas, comprises a linear array of 102 photoreceptors.
- Linear optical sensor 340 under control of ARMv4T processor 310 by commands issued using USART 330, can expose the linear array of photoreceptors to light for an adjustable period of time called the exposure interval , and can digitize the resulting 102 light measurements and transmit them in digital form to USART 330 for storage in SARM 320.
- Linear optical sensor 340 also under control of ARMv4T processor 310, can apply an adjustable analog gain and offset to the light measurements of each of three zones before being digitized, as described in TAOS document TAOS0078, January 2006.
- linear optical sensor 340 is calibrated to compensate for any non-uniformity of illumination, optics, and response of the individual photoreceptors.
- a uniformly white object is placed in the FOV, and the gain for each of the three zones is set so that the brightest pixels are just below saturation. Then a calibration value is computed for each pixel, such that when each gray level is multiplied by the corresponding calibration value, a uniform image is produced for the uniformly white object.
- the calibration values are stored in flash 322 and applied to subsequent captured images. The calibration values are limited such that each gray level is multiplied by no more than 8. Each image used by the calibration procedure is obtained by averaging 512 captured images.
- any suitable means can be employed to illuminate the FOV of linear optical sensor 340.
- two 630 nm LEDs are aimed at the FOV from one side of linear optical sensor 340, and two 516 nm LEDs are aimed at the FOV from the other side.
- a light-shaping diffuser such as those manufactured by Luminit of Torrance, California, is placed in front of the LEDs so that their beams are spread out parallel to linear optical sensor 340.
- HMI 350 Human users of a linear detector, such as manufacturing technicians, can control the system by means of human-machine interface (HMI) 350.
- HMI 350 comprises an arrangement of buttons and indicator lights as further described below.
- ARMv4T processor 310 controls HMI 350 using PIO interface 332.
- an HMI consists of a personal computer or like device; in still other embodiments, no HMI is used.
- the linear detector illustrated in figure 3 produces signal 362 for purposes including indicating detection and location of objects.
- Signal 362 is connected to automation equipment 360 as required by a given application.
- Signal 362 is generated by timer 334 under control of ARMv4T processor 310.
- signal 362 is generated by PIO interface 332, also under control of ARMv4T processor 310.
- automation equipment 360 is shown for illustrative purposes only; signal 362 may be used for any purpose and need not be connected to any form of automation equipment, and signal 362 need not be used at all.
- various processes are carried out by an interacting collection of digital hardware elements, including those shown in the block diagram of figure 3 , suitable software instructions residing in SRAM 320 or flash 322, and data residing in SRAM 320.
- a motion process provides relative motion between the objects and the field of view of an optical sensor, in some direction of motion.
- the objects, the sensor, and/or the field of view can be moving, as long as there is relative motion.
- Example motion processes include, but are not limited to: a conveyer moving objects past a fixed or moving sensor; a sensor attached to a robot arm that moves the sensor past fixed or moving objects; a fixed object and a fixed sensor that uses some means, for example a moving mirror, to move the field of view; and objects in freefall that pass a fixed or moving sensor.
- a capture process obtains one-dimensional images of the field of view of an optical sensor that makes light measurements.
- the images may be in any form that conveys information about light emerging from the field of view and is suitable for analysis by other processes as required.
- the images may be responsive to light of any color, any wavelength or range of wavelengths, any state of polarization, or any other light characteristic or combination thereof that can be measured.
- the images may be analog, digital, or any combination; may reside in the optical sensor, in memory external to the sensor, or any combination; and may be obtained by any suitable form of analog and/or digital signal processing, including but not limited to gain and offset, resampling, change in resolution, time filtering, and/or spatial filtering.
- the capture process comprises digitizing the light measurements so as to obtain an array of numbers, called pixels , whose values, called gray levels , correspond to the light measurements; transferring the pixels from linear optical sensor 340 to microcontroller 300; and storing the pixels into SRAM memory 320 for subsequent analysis.
- a pixel may refer either to an element of the array of numbers, or to a unit of distance corresponding to the distance between two adjacent elements of the array.
- the array of pixels is a one-dimensional digital image.
- the capture process operates cooperatively with the motion process so as to capture a plurality of one-dimensional images oriented approximately parallel to the direction of motion. This insures that at least a portion of the images will correspond to a plurality of positions of an object relative to the field of view, providing a time-sequence of images of a slice of the object as it passes through the field of view.
- “approximately parallel” refers to any orientation that allows the linear detector to obtain a time-sequence of images of a slice of an object in a plurality of positions as it enters, moves within, and/or exits the field of view. It will further be apparent that the range of orientations suitable for use for with the systems and methods described herein has a limit that depends on a particular application of the invention. For example, if the orientation of the image is such that the angle between the image orientation and the direction of motion is 5 degrees, the object will drift 0.09 pixels perpendicular to the direction of motion for every pixel it moves parallel to that direction.
- the drift will be only 2.6 pixels. If the systems and methods described herein function as intended with a 2.6 pixel drift in a given application of the invention, the example 5 degree orientation would be approximately parallel for that application. Clearly, whether the systems and methods described herein function as intended depends on the nature of the object, the desired performance of the invention (for example accuracy and reliability), and other factors.
- the use of one-dimensional images allows very high capture and analysis rates at very low cost compared to prior art two-dimensional systems.
- the high capture and analysis rate allows many images of each object to be analyzed as it passes through the field of view.
- the object motion ensures that the image are obtained from a plurality viewing perspectives, giving far more information about the object than can be obtained from a single perspective. This information provides a basis for reliable detection and accurate location.
- Prior art linear array sensors oriented approximately perpendicular to the direction of motion generally produce a single two-dimensional image of each object. Such systems are useful but do not provide the capabilities of the present invention.
- a two-dimensional optical sensor can be used to capture two-dimensional images, portions of which are then converted to one-dimensional images oriented approximately parallel to the direction of motion.
- the conversion can be accomplished by any suitable form of signal processing, for example by averaging light measurements approximately perpendicular to the direction of motion.
- a two-dimensional optical sensor capable of capturing so-called regions of interest can be used. Many commercially available CMOS optical sensors have this capability.
- a one-dimensional region of interest oriented approximately parallel to the direction of motion would be functionally equivalent to a linear optical sensor.
- the image portion or region of interest need not be the same for each captured image, but can be moved in any manner as long as the systems and methods described herein function as intended.
- Figure 4 shows a portion of an illustrative capture process that obtains one-dimensional image 430 of field of view 410, where image 430 is oriented approximately parallel to direction of motion 400.
- Light emitted from field of view 410 is focused onto an optical sensor (not shown), which makes light measurements.
- an optical sensor (not shown), which makes light measurements.
- 24 discrete light measurements are made in 24 zones of field of view 410, such as example zone 440.
- the zones are shown as rectangular, contiguous, and non-overlapping for ease of illustration, but for typical sensors the geometry is more complex, due in part to the nature of the optics used to focus the light and the requirements of semiconductor fabrication.
- each light measurement is digitized to produce 24 pixels, such as example pixel 450, which corresponds to example zone 440.
- the gray level of example pixel 450 is 56, which is the light measurement for example zone 440.
- the zones of figure 4 may correspond, for example, to individual photoreceptors in a linear array sensor, or to a plurality of photoreceptors of a two-dimensional sensor that have been converted to a single measurement by any suitable form of signal processing, as described above.
- image orientation 420 is oriented approximately parallel to direction of motion 400 if image orientation 420 and direction of motion 400 are such that the capture process can obtain a time-sequence of images of a slice of an object in a plurality of positions as it enters, moves within, and/or exits the field of view.
- image orientation 420 is a direction relative to field of view 410, as defined by the geometry of light measurements contained in image 430.
- the image itself is just an array of numbers residing in a digital memory; there is no significance to its horizontal orientation in figure 4 .
- a measurement process makes measurements in the field of view by analyzing captured images and producing values called image measurements.
- Example image measurements include brightness, contrast, edge quality, edge position, number of edges, peak correlation value, and peak correlation position.
- Image measurements may be obtained by any suitable form of analog and/or digital signal processing.
- a measurement process comprises a digital computation carried out by ARMv4T processor 310, operating on a captured image stored in SARM 320, under the control of software instructions stored in either SRAM 320 or flash 322.
- a brightness image measurement may be made by computing the average of the pixels of an image or portion thereof;
- a contrast image measurement may be made by computing the standard deviation of the pixels of an image or portion thereof.
- An embodiment of the invention may be such that for certain captured images no analysis is done and therefore no image measurements are made, but for clarity of description we ignore such images and assume that all captured images are analyzed by a measurement process.
- a linear detector includes a selection process whose purpose is to select from among the image measurements those that are judged responsive to the object. Image measurements that are selected are called object measurements. The selection process uses at least a portion of the image measurements to decide which ones to select, as will be described in more detail below.
- a selection process comprises a digital computation carried out by ARMv4T processor 310, operating on image measurements stored in SARM 320 or in the registers of ARMv4T processor 310, under the control of software instructions stored in either SRAM 320 or flash 322.
- a linear detector according to the invention may include a decision process whose purpose is to analyze object measurements so as to produce object information.
- a decision process comprises a digital computation carried out by ARMv4T processor 310, operating on object measurements stored in SARM 320 or in the registers of ARMv4T processor 310, under the control of software instructions stored in either SRAM 320 or flash 322.
- a linear detector may optionally include a signaling process whose purpose is to produce a signal that communicates object information.
- a signal can take any form known in the art, including but not limited to an electrical pulse, an analog voltage or current, data transmitted on a serial, USB, or Ethernet line, radio or light transmission, and messages sent or function calls to software routines.
- the signal may be produced autonomously by the linear detector, or may be produced in response to a request from other equipment.
- a signaling process comprises a digital computation carried out by ARMv4T processor 310, operating on object information stored in SARM 320 or in the registers of ARMv4T processor 310, producing signal 362 by means of timer 334, and under the control of software instructions stored in either SRAM 320 or flash 322.
- Signal 362 is an electrical pulse
- timer 334 is used by ARMv4T processor 310 to insure that the pulse appears at a precise time.
- a selection process can use that measurement to select object measurements judged responsive to an object. More specifically, the measurement process would compute a value (or set of values), called herein score measurements , indicative of the likelihood or level of confidence that an object is present; for example, higher values mean more likely or more confident.
- Image measurements made from a given image can be selected when the level of confidence that an object is present is judged to be sufficient according to some criteria, although certain image measurements might also be selected unconditionally or according to some other criteria.
- Image measurements are suitable for determining a confidence level that an object is present, and the choice of which to use depends on the application for which a linear detector is intended.
- Image measurements including brightness, contrast, edge quality, number of edges, and peak correlation value can be used, as well as many others that will occur to a person of ordinary skill in the art.
- a measurement is called herein a position measurement.
- a selection process can use such a measurement, as will be seen below in the description of figure 11 .
- a decision process can use such a measurement to locate an object.
- Many kinds of image measurements suitable for estimating object position are known in the art; an illustrative embodiment is described below.
- a pattern detection process is one that is responsive to the spatial arrangement of gray levels in an image. For example a brightness measurement made by computing an average of pixels, or a contrast measurement made by computing the standard deviation of pixels, are not pattern detection processes because the results are independent of the spatial arrangement of the gray levels. Examples of pattern detection processes include edge detection and correlation; many others are well-known in the art.
- Figures 5 and 6 illustrate image measurements that are responsive to object presence and object position, as produced by a measurement process used by an illustrative embodiment.
- the measurement process incorporates a normalized correlation process based on the well-known normalized correlation operation.
- a normalized correlation process is an example of a pattern detection process, and uses a model pattern that corresponds to an expected pattern of gray levels in an image of an object in the field of view. It searches for the position in a captured image that is most similar to the model pattern, producing image measurements including the degree of similarity at that position, which is an example of a score measurement, and the position itself, which is an example of a position measurement. Note that if there is no position in a captured image that is sufficiently similar, the position measurement may be meaningless. Normalized correlation provides numerous benefits that are well-known in the art.
- the score measurement is responsive to object presence, and the position measurement is responsive to object position.
- the score measurement is min( r , 0) 2 , where r is the normalized correlation coefficient, and the position measurement provides sub-pixel accuracy using the well-known parabolic interpolation method.
- a model pattern can comprise any pattern of gray levels, including a simple edge pattern consisting of two gray levels or a complex pattern containing many gray levels. It can be obtained in a variety of ways, including from prior knowledge of the expected pattern of gray levels, and from an example object using a training process.
- Figure 5 illustrates obtaining a model pattern using a training process in an illustrative embodiment.
- An example object 500 is placed in field of view 502.
- the example object comprises a light pattern including bright regions 510 and 517, dark regions 513 and 515, medium-bright regions 512 and 514, and medium-dark regions 511 and 516.
- the training process captures one-dimensional training image 540 from example object 500.
- the training image 540 is illustrated by graph 520, which plots gray level as a function of position in the image.
- the position of the pattern in the training image is arbitrarily defined to be at 0, as indicated by origin line 532, which in this example is also the reference point, passing through the boundary between region 513 and 514.
- model pattern 542 is obtained from the portion of training image 540 that lies between first position 530 at -25 and second position 534 at +35. It can be seen that training image 540 is subject to some noise, and so model pattern 542 is obtained by averaging 512 captured images and then smoothing using a three-pixel wide boxcar filter. Any method known in the art can be used to obtain a model pattern from one or more training images, including no modification at all. One example of a well-known method uses multiple example objects and averages training images captured from each such object.
- image 540 contains 100 pixels and model pattern 542 contains 60 pixels.
- the normalized correlation process looks for the peak position only where the model pattern lies entirely within the image, so there are 41 such positions.
- Various performance characteristics, such as speed, range, and discrimination can be altered as needed by adjusting these sizes. Such adjustment can be carried out by HMI 350, by programming suitable values into the software, or by other well-known means.
- the image size is 84 pixels and the model pattern size is 54 pixels.
- a model should be at least 3 pixels and captured images should be at least as large as the model, but otherwise there are no limits to the image and model sizes.
- captured images should be at least as large as the model, but otherwise there are no limits to the image and model sizes.
- different sizes represent different engineering tradeoffs among speed, range, discrimination, and other characteristics.
- the direction of motion is left to right, i.e. in the direction of increasing positions.
- the portion of training image 540 that is used to obtain model pattern 542 has been offset downstream from the center of the field of view, in this example by 5 pixels. This allows model pattern 542 to fit completely within the 100-pixel image 540 in more positions between the upstream end and the reference point at origin line 532, providing more data for prediction as discussed below.
- the offset can be adjusted by HMI 350, by programming suitable values into the software, or by other well-known means.
- the offset can be calculated responsive to the location of the reference point and/or the desired latency, and need not be used at all.
- Figure 6 illustrates a measurement process making an image measurement responsive to object position using a normalized correlation process that is responsive to model pattern 542.
- Object 600 having a light pattern similar to that of example object 500, is at some position in field of view 602 at the time that image 640 is captured, as shown by graph 620.
- Graph 622 shows model pattern 642 at the peak position, in this example at position -15.
- the measurement process makes an image measurement of object position in captured image 640, the image measurement being -15 pixels.
- model pattern 642 is very similar to image 640 at the peak position, the score will be high and so the measurement process will make an image measurement of object presence that indicates high confidence that an object is present in the field of view at the time that image 640 is captured. Since the confidence is high, these two image measurements may be assumed to be responsive to the object, and can be selected to be included in the object measurements.
- a common way to design a sensor to detect and locate the object is to produce a signal, typically a pulse, at the precise time that the object crosses the reference point.
- the existence of the pulse serves to indicate that an object is detected, and the timing of the pulse serves to indicate its location by giving the time at which the object is located at the known reference point.
- desired automation equipment can act on the object when it is in a known location. It is important that the signal is produced when the object is present, and not produced at other times in response to whatever else may be happening in front of the sensor.
- any system or method can only estimate the reference time, so there will be some error.
- the mean error i.e. the average interval from the reference time to the signal time, is usually referred to in the art as latency or response time.
- Prior art devices exhibit some latency, typically of the order of hundreds or microseconds. The effect of latency is that the object has moved downstream from the reference point when the signal occurs, and by an amount that varies with the speed of motion. If the latency and speed are precisely known, automation equipment can be set up to act on the object in a known location. In practice, of course, latency and speed are known imprecisely, resulting in location errors that increase as speed or latency increases. An encoder or similar device can be used to compensate for poor knowledge of speed, but not latency.
- the standard deviation of the errors is a measure of the repeatability of the system or method. These errors are random and cannot be compensated for. Overall accuracy combines the effects of latency and repeatability.
- Figure 7 shows this decision delay for the illustrative apparatus of figure 3 .
- Image capture begins when linear optical sensor 340 exposes its photoreceptors to light for exposure interval 700.
- Pixels are transferred to SRAM 320. This transfer takes transfer interval 710.
- Measurement, selection, and decision processes then run on ARMv4T processor 310 over compute interval 720.
- the earliest any action (such as producing a signal) can be taken based on measurements in the image corresponding to exposure interval 700 is at decision point 740, which is delayed by decision delay 750 from the middle 730 of exposure interval 700.
- the decision process can only have knowledge of the past, not the present.
- the exposure, transfer, and compute intervals can all be overlapped, so the interval between images is only the largest of the three intervals, not their sum. This allows much higher time resolution, but does not in any way reduce decision delay 750.
- the invention eliminates latency by predicting when the object will cross the reference point, and scheduling a signal to occur at that time. Prediction is accurate when there is sufficient knowledge of the motion of the object, both from measurements of how it has been moving and expectation that it will continue to do so for sufficient time in the future.
- the invention also allows detection to be much more reliable than prior art systems even when the latency is zero or negative. Detection is based on many images, covering a span of time that can be many milliseconds long, allowing careful decision making without sacrificing latency. Furthermore, detection based on pattern detection including normalized correlation is fundamentally better able to distinguish the desired object from other things happening in the field of view.
- latency can also be made negative.
- range of negative latency that can be achieved is limited, but it provides new capabilities over the prior art that can be useful. If the automation equipment has a short latency between receiving the signal and acting, for example, a negative latency in a linear detector according to the invention can be used to offset the equipment latency so that the total system latency is zero.
- no latency will refer to systems or methods where the latency is significantly less than the repeatability.
- the signal will sometimes arrive before the reference time, and sometimes after.
- a capture process captures images as previously described, and in addition produces a capture time ( t ) for each image, corresponding to the middle of the exposure time.
- capture time can be determined by ARMv4T processor 310 by reading timer 334 at the middle of the exposure interval, or at some other point and correcting for the time difference between that point and the middle of the exposure interval.
- Prediction accuracy comes from several factors.
- a linear detector according to the invention operates at over 8000 images per second and assumes that motion is at constant velocity.
- Decision delay 750 is typically under 300 ⁇ s.
- High time resolution of about 125 ⁇ s allows accurate t measurements and many ( t , x ) pairs to be obtained for each object as it approaches the reference point.
- the short decision delay means that any deviations from constant speed occur over a very short interval.
- Use of normalized correlation with sub-pixel interpolation provide accurate x measurements.
- Figures 8 - 10 show prediction and signal generation for an illustrative embodiment. Note that prediction in this embodiment is a combined effect of the capture, measurement, selection, and decision processes operating in concert.
- Figure 8 shows a plot 800 of capture time t vs. object position x for an object moving through the field of view.
- Time values are in microseconds from some arbitrary starting point, and position values are in pixels measured from reference point 822. Time values come from the capture process and position values come from the measurement process, as described elsewhere.
- the measurement process also produces score measurements s for each point, not shown.
- the image capture/transfer/compute rate is about 10 KHz, giving a period of about 100 ⁇ s.
- ( t , x ) points are plotted, including example point 810.
- Current time 832 is shown, and corresponds to decision point 740 for an image whose exposure interval is centered on exposure time 830, the most recent time for which a position measurement is available.
- Decision delay 840 is the interval between exposure time 830 and current time 832. So far three points have been obtained.
- three points of sufficiently high score are considered sufficient to make a prediction of the reference time.
- the predication is made using best-fit line 820 through the three points obtained so far, where line 820 is computed by the well-known least squares method.
- the predicted time 834 is the time at which best-fit line 820 crosses reference point 822.
- signal delay interval 842 from current time 832 to predicted time 834 is about 2170 ⁇ s.
- a signal delay interval greater than 1000 ⁇ s is considered too long to be reliable; not only is the predicted time inaccurate, but there isn't sufficient evidence that the object will indeed cross the reference point at all. Therefore, no signal is scheduled.
- Figure 9 shows a plot 900 similar to that of figure 8 . In this case, however, 15 ( t , x ) points have been obtained, including example point 910. Current time 932, most recent exposure time 930, and decision delay 940 are shown. Best fit line 920 crosses reference point 922 at predicted time 934. Signal delay interval 942 is about 190 ⁇ s. Since there are at least three points of sufficiently high score, and signal delay interval 942 is less than 1000 ⁇ s, a signal is scheduled to occur at predicted time 934.
- a signal would have been scheduled many times prior to current time 932. For example, at time 950 when point 952 was the most recent data available, the criteria would also be met and a pulse would have been scheduled. As the object moves closer to reference point 922, the prediction becomes more accurate because there are more points with which to fit the line, and because the prediction is less of an extrapolation. Therefore, when a signal is scheduled it replaces any previously scheduled signal, so that in effect the predicted signal time is updated for every image as the object approaches the reference point.
- Figure 10 shows a plot 1000 similar to that of figure 8 . In this case, however, 17 (t, x) points have been obtained, including example point 1010. Current time 1032, most recent exposure time 1030, and decision delay 1040 are shown. Best fit line 1020 crosses reference point 1022 at predicted time 1034. Signal delay interval 1042 is negative by about 130 ⁇ s, which means that the signal should have already happened due to a previously scheduled signal.
- the added latency can be viewed as decreasing the decision delay, e.g. 750 , 840 , 940 , and 1040 , by the latency value. Positive latency effectively makes the decision delay shorter, and negative latency effectively makes it longer.
- the effective decision delay is 0 and the signal generation is no longer a prediction, and the extrapolation becomes an interpolation.
- signal timing accuracy increases as latency increases.
- the best reference point is at the downstream end of the field of view. This allows the entire FOV to be used and the maximum number of ( t , x ) points to be produced for the prediction. As the reference point moves upstream less of the FOV is used and fewer points are available, reducing accuracy. If the reference point is too far upstream in the FOV, the system will not operate properly.
- the extrapolation is greater and accuracy will suffer. At some point it will no longer be possible to satisfy the 1000 ⁇ s maximum signal delay interval criterion. In an illustrative embodiment, once an object moves completely out of the FOV the signal is scheduled regardless of the signal delay interval.
- the two processes operate independently-the selection process chooses object measurements from the image measurements, and passes these along to the decision process, in a manner that is responsive to the image measurements but not to anything that the decision process does.
- the selection process shown by the flowchart of figure 11 and described in this section, operates in concert with the decision processes to select the object measurements and use them to detect and locate an object.
- the two processes will be shown by separate figures and described in separate sections, there will be of necessity some overlap of description.
- the selection and decision processes could equivalently be combined into one complex process, but describing them separately aids clarity.
- a selection process must select object measurements from among the image measurements ( s , x ), to be passed along to the decision process. In the illustrative embodiment selection is done on a per-image basis, so an ( s , x ) pair is either selected or not from a given image. Capture time for a selected image is then included, so the decision process gets ( s , t , x ) triplets from selected images. Any other suitable strategy for selecting object measurements from image measurements, with or without capture times or other data, can be used within the scope of the invention.
- the selection process ignores image measurements when no object appears to be passing through the FOV.
- the selection process is called inactive at these times.
- the selection process When an object appears to be passing through the FOV, the selection process is called active. It selects a set of ( s , t, x ) triplets to be used by the decision process to decide if an object has been detected, and, if so, to locate it by calculating the reference time, wherein the calculation may or may not be a prediction depending on the desired latency as described above.
- the selection process may select some or all of the triplets corresponding to each object, although in typical cases only some are selected.
- the rules will now be summarized, and then described in detail in conjunction with figure 11 .
- numerical constants pertain to the illustrative embodiment; any other suitable values or methods for carrying out selection can be used within the scope of the invention.
- Selection for a given object begins (i.e. the selection process becomes active) when an image is found for which s ⁇ 0.6 and x is upstream from the reference point by at least 2 pixels.
- the upstream requirement provides hysteresis in object detection; an object that is stationary or moving very slowly will not be detected multiple times as it crosses the reference point.
- No more than 128 triplets are used for any object, because as the values get older they tend to be a less reliable indication of what is happening in the present.
- Three 128-element first-in first-out (FIFO) buffers are used to hold the most recent triplets. New triplets are added to the FIFOs, and if they are full the oldest triplet is removed and its object measurements are deselected, as if they were never selected in the first place. It can be seen that the selection process is inactive when the FIFOs are empty, and active otherwise.
- FIFO first-in first-out
- reset step 1100 clears the FIFOs (see figure 12 ), making selection inactive. This is used for system initialization and at times when selection ends for a given object.
- Capture step 1102 (a portion of the capture process) captures the next image, also producing capture time ( t ) 1164.
- Search step 1104 (a portion of the measurement process) uses normalized correlation to produce score ( s ) 1160 and position ( x ) 1162 .
- Presence test step 1106 judges the level of confidence that an object is present in the field of view; if score 1160 ⁇ 0.6, the level of confidence is considered sufficient to indicate object presence. Note that this does not mean that an object is judged to be actually present; that decision is reserved for the decision process based on an analysis of all of the selected triplets.
- first active test step 1108 directs the selection process to continue looking for an object if selection is inactive ("yes" branch). If no object is judged present but first active test step 1108 indicates that selection is active, increment step 1110, missing test step 1112, and missing counter 1150 are used to detect 3 consecutive images for which no object appears present. If fewer than 3 such image are detected so far, control returns to capture step 1102 .
- final decision step 1132 (a portion of the decision process) is entered. If three conditions are met, first signal step 1134 (a portion of a signaling process) schedules a signal to be produced at signal time ( z ) 1170 (computed as described below). The first condition is that no signal has already been scheduled or has occurred. The second condition is that crossed flag 1152 indicates that the object has actually crossed the reference point. The third condition is the good points counter ( g ) 1174 (maintained by the decision process) indicates that at least 3 triplets in the FIFOs have s ⁇ 0.75. This third condition is the criterion that the decision process uses to decide that an object is detected. Whether or not a signal is scheduled, control returns to reset step 1100 .
- Second active test step 1116 determines whether or not this is the first image of a new object. If it is ("yes" branch), hysteresis test step 1121 determines whether or not the object appears sufficiently upstream of reference point ( r ) 1154. If not ("no" branch), control transfers to capture step 1102 , and selection remains inactive. If the object is sufficiently upstream, crossed initialize step 1122 sets crossed flag 1152 to false. Selection now becomes active.
- second active test step 1116 indicates that this is not the first image of a new object ("no" branch)
- cross test step 1118 and cross set step 1120 set crossed flag 1152 to true if the object crosses reference point 1154 .
- object measurements score 1160 and position 1162 have been selected, and capture time 1164 is available. These values are used to calculate a best fit line as described above in relation to figures 8, 9 , and 10 , and below in relation to figure 12 .
- the results of these calculations include signal time (z) 1170 , object velocity (v) 1172 , and good points counter ( g ) 1174 .
- Running decision step 1126 implements the signal scheduling rules described in relation to figures 8, 9 , and 10 .
- a signal is scheduled for signal time 1170 by second signal step 1128 if four conditions are met:
- Centered test step 1130 implements the rule described above for the case where the FIFOs are full and the x measurements are centered around reference point 1154 .
- the test for centered measurements is written as ⁇ x > 128r, which requires that the average x in the FIFO exceeds reference point 1154 .
- the assumptions here apply to the illustrative embodiment: the direction of motion is positive and the FIFOs contain 128 elements. The test is written to avoid a divide, which is typically much more expensive than a multiply. Of course dividing by 128 is just an inexpensive shift, but in other embodiments the FIFO size might not be a power of 2.
- test step 1130 passes (“yes” branch)
- a scheduled signal if a scheduled signal occurs it does not cause selection to become inactive. No additional signal will be scheduled because running decision step 1126 and final decision step 1132 will always fail ("no" branches), but selection waits for the object to pass through to FOV, or for the x measurement to be centered, before becoming inactive. This is further insurance (in addition to the hysteresis provided by hysteresis test step 1121 ) against multiple detections for one object.
- an interpolated reference time can be obtained some time after the reference point has been crossed. This should be more accurate than any predicted time, and can be compared with a predicted time to assess system accuracy and to automatically adjust to eliminate any residual latency in the system.
- Missing counter 1150, crossed flag 1152, reference point 1154, score 1160, position 1162 , capture time 1164 , signal time 1170 , velocity 1172 , and good points counter 1174 are stored in memory 1180 , which can be a portion of SRAM 320 .
- Figure 12 shows a decision process portion 1280 used in the illustrative embodiment described above in relation to figures 8, 9 , 10 , and 11 .
- a capture process provides image 1200
- normalized correlation process 1210 uses model 1202 to produce image measurements position ( x ) 1216 and score ( s ) 1218 .
- a capture process uses clock 1212 to produce capture time ( t ) 1214 .
- Selected ( s, t, x ) triplets are passed to decision process portion 1280 and placed in capture time FIFO 1220 , position FIFO 1222 , and score FIFO 1224 , which together comprise FIFOs 1226 as further described above.
- Selected (s, t, x) triplets are also passed to statistics element 1230 , which computes ⁇ t , ⁇ t 2 , ⁇ x , ⁇ tx , and ⁇ ( s ⁇ 0.75) as required for the well-known least-squared line fit and for good points counter 1174 . Sums are computed by addition element 1232 , and are taken over all the triplets in FIFOs 1226 .
- FIFOs 1226 are full when a new ( s , t , x ) triplet is selected, the oldest triplet is passed to subtraction element 1234 which subtracts from the above sums as required to effectively deselect the measurements. It can be seen that at most one set of additions and one set of subtractions are needed for each selected ( s, t, x ) triplet; it is not necessary to recompute the sums over the entire contents of FIFOs 1226 for each triplet.
- detection element 1240 decides whether or not there are at least 3 scores in score FIFO 1224 that are at least 0.75, i.e. [ ⁇ ( s ⁇ 0.75)] ⁇ 3. If not, the decision process judges that no object has yet been detected and so no signal is produced by signaling process 1260. Detection element 1240 corresponds to a portion of running decision step 1126 and final decision step 1132 , wherein a test is made for good points counter ( g ) 1174 ⁇ 3.
- line fit element 1250 For each selected (s, t, x) triplet, line fit element 1250 uses sums computed by statistics element 1230 , latency value 1252 , and reference point value 1254 , to compute a best-fit line and, from the parameters of that line, signal time 1170 used by the selection process of figure 11 and signaling process 1260 , and object velocity 1172 used by the selection process of figure 11 . Well-known formulas are used to compute the best-fit line, signal time 1170, and object velocity 1172 (which is just the slope of the best-fit line).
- Latency value 1252 and reference point value 1254 are stored in SRAM 320 ( figure 3 ), and can be adjusted if desired using HMI 350 .
- Timer 334 is set up to run at 1/32 of microcontroller 300 clock rate, giving a resolution of 0.64 ⁇ s. It can easily be set up to produce a pulse after a programmable delay (see ATMEL document 6175E-ATARM-04-Apr-06), which would be equal to the difference between the desired signal time and the current time.
- timer 334 is used for both clock 1212 and pulse edge 1050 (which appears on signal 362 ).
- the compare registers of timer 334 are set to produce the pulse edges
- the compare registers are set on-the-fly, without stopping the timer, and only if the pulse has not yet started due to a previous scheduling.
- the desired operation can be achieved with a suitable assembly language routine that runs with interrupts off.
- This object information includes, but is not limited to, knowledge responsive to object presence in the field of view, and more particularly to a state of being present, or an event comprising a transition among such states, or both.
- states of being present include, but are not limited to:
- Examples of events include, but are not limited to:
- M be the set of image measurements produced by a measurement process.
- P be a subset (maybe all) of M containing those image measurements that are responsive to image presence.
- the selection process is responsive to some or all of P and produces object measurements S , a subset of M.
- S may contain some, all, or none of P. S is used to get the knowledge responsive to object presence in the field of view. It may be that no measurement in S is responsive to object presence, but still all of S is responsive to the object because of how they were selected.
- M includes score and position measurements.
- Score measurements are responsive to object presence-higher values mean the object is more likely to be present.
- Position measurements are not responsive to object presence-one cannot tell by the value of a position measurement whether an object is present or not. If there is no object, the position measurements will be meaningless (just noise), but one cannot tell that from their values. So the selection step uses the score values (subset P ) to select the measurements in S, which may be just position measurements. While those position measurements are not responsive to object presence, the fact that they are selected means that they are responsive to the object because, having been selected responsive to the scores, they are the ones that give valid object positions. A decision process can use these selected object positions to determine, for example, whether an object has crossed a reference point.
- Figure 13 shows an HMI and example box for a training process, and for setting a reference point, as might be employed in setting up a linear detector for use in the application shown in figure 1 .
- Example box 1300 containing example object 1302 (a label on example box 1300 ) and decorative marking 1304 is placed so that example object 1302 appears in FOV 1312 of a linear detector (not shown). Reference point 1310 is also shown.
- HMI 1320 contains train button 1330 , run button 1332 , negative position indicator 1340 , positive position indicator 1342 , negative direction indicator 1350, and positive direction indicator 1352.
- train button 1330 is pressed with example object 1302 in FOV 1312 , one or more images are captured and used to create a model as further described above in relation to figure 5 .
- Train button 1330 can also be used to provide a setup signal used to set reference point 1310.
- train button 1330 When train button 1330 is pressed with example object 1302 in FOV 1312, one or more images are captured and used along with a model by a normalized correlation process to find example object 1302. Reference point 1310 is set to the position found.
- train button 1330 can be used to initiate the training process, to provide a setup signal for setting a reference point, or to accomplish both with a single press of the button.
- Figure 14 shows test object 1400 in three test positions relative to FOV 1412 and reference point 1410: first test position 1450 , where test object 1400 is at a negative position relative to reference point 1410 within FOV 1412 ; second test position 1452 where test object 1400 is at a positive position relative to reference point 1410 within FOV 1412 ; and third test position 1454, where test object 1400 is so far away from reference point 1410 that it is no longer be found in FOV 1412 .
- first HMI 1424 corresponds to first test position 1450
- second HMI 1434 corresponds to second test position 1452
- third HMI 1444 corresponds to third test position 1454 . Note that first HMI 1424 , second HMI 1434 , and third HMI 1444 represent the same HMI in three different states.
- first negative position indicator 1420, second negative position indicator 1430 , and third negative position indicator 1440 represent the same indicator in three different test positions
- first positive position indicator 1422 , second positive position indicator 1432, and third positive position indicator 1442 represent the same indicator in three different test positions.
- first negative position indicator 1420 When test object 1400 is at first test position 1450, first negative position indicator 1420 is on and first positive position indicator 1422 is off, indicating that test object 1400 is found in FOV 1412 in a negative position relative to reference point 1410.
- test object 1400 When test object 1400 is at second test position 1452, second negative position indicator 1430 is off and second positive position indicator 1432 is on, indicating that test object 1400 is found in FOV 1412 in a positive position relative to reference point 1410.
- third negative position indicator 1440 and third positive position indicator 1442 are both off, indicating that test object 1400 cannot be found in FOV 1412 .
- test objects similar to test object 1400 can verify that a suitable model is in use, and that the reference point is as desired.
- the indicators should show that a test object is found when one sufficiently similar in appearance to the model in use in placed in the FOV, and should show that nothing is found when no such object is present.
- Figure 15 shows HMI 1520 used to establish positive direction of motion 1512 and place the linear detector into a running state.
- Run button 1550 is pressed to cycle among three states: training mode, with negative direction indicator 1542 and positive direction indicator 1540 both off; running with positive direction of motion, with negative direction indicator 1542 off and positive direction indicator 1540 on, as shown in the figure; and running with negative direction of motion, with negative direction indicator 1542 on and positive direction indicator 1540 off.
- the training process is inhibited when the linear detector is in one of the two running states.
- object 1500 is in FOV 1514, upstream of reference point 1510, which corresponds to a negative position since direction of motion 1512 is positive.
- Negative position indicator 1530 is on, and positive position indicator 1532 is off, indicating the object 1500 is found at a negative position within FOV 1514.
- HMI human independent monitor
- the HMI could make use of a personal computer instead of or in addition to buttons and indicators.
- the HMI could use alphanumeric indicators instead of simple lights, and could allow setting of any parameter used by an embodiment of the invention.
- processors and computing devices herein are exemplary and a variety of processors and computers, both standalone and distributed can be employed to perform computations herein.
- linear array sensor described herein is exemplary and improved or differing components can be employed within the teachings of this invention.
- some, or all, of the capture process, measurement process, decision process, and optional signaling process can be combined or parsed differently.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Length Measuring Devices By Optical Means (AREA)
Description
- The invention relates to optoelectronic sensors for detecting objects and providing information describing the objects, particularly their location.
- Optoelectronic sensors for detecting and locating objects are valuable in a wide variety of fields; one example is industrial automation. In order to understand the operation, capabilities, and limitations of such sensors, consider a specific example application-printing alphanumeric characters on labels in a high-speed production bottling line. In a typical such application, a sensor detects the presence of a bottle at a predetermined point as it moves down the production line, and produces a signal that tells a printer to start printing when a bottle is located at that point.
- If a signal is produced when a bottle is at the proper location, desired alphanumeric characters are printed on the bottle's label in a desired location. If a bottle is not detected, however, its label will not be printed, a potentially costly mistake. If a signal is produced when no bottle is present, the printer may spray ink into the air, which may have adverse effects on the production process. If a signal is produced when a bottle is present but not in the proper location, the characters will be printed in the wrong location on the label.
- From this example it can be seen that an optoelectronic sensor for detecting and locating objects should detect only the desired objects, and only in the desired location.
- Photoelectric sensors, which comprise a type of optoelectronic sensor, have long been used to detect and locate objects. Such sensors typically operate by emitting a beam of light and detecting light received. They come in a variety of configurations suitable for a variety of applications, including the following:
- In one configuration an emitter and a receiver are placed at opposite ends of a path, so that anything crossing the path that is not transparent breaks the beam of light; a object is detected when the receiver sees very little light. The placement of the emitter and receiver determines the path and thereby the location at which an object is detected.
- The application is constrained to insure that only desired objects cross the path, and so that determining the location of an edge of the object is all that is needed. In the bottling application, for example, this would mean that the label is in a fixed position relative to the edge of the bottle.
- In a second configuration an emitter and receiver are placed in one location, with a retro-reflector placed at the opposite end of a path that reflects the beam from the emitter back to the receiver. This configuration is similar to the previous, but is more convenient to install because all of the required wiring is done at only one end of the path instead of at both ends. However, if the objects to be detected are reflective, misdetection and/or mislocation errors may occur.
- In a third configuration an emitter and receiver are placed in one location, and the emitter emits a focused beam of light so that anything sufficiently reflective crossing in front of the beam reflects it back to the receiver. An object is detected when the receiver sees an amount of light above some predefined threshold. The placement of the emitter/receiver assembly determines the location of the beam and thereby the location at which an object is detected. The use of a focused beam makes this location relatively precise, and reduces the chances of misdetecting objects in the background because the beam will be out of focus. The objects and their environment are constrained so that the reflected light exceeds the threshold only when desired objects are in the desired location.
- A fourth configuration is a variation of the third wherein a diffuse beam of light is used instead of a focused beam. This makes it easier to detect objects whose positions are not well constrained, but decreases the precision of the location at which objects are detected and increases the chances that a detection will occur when no desired object is in front of the beam.
- Photoelectric sensors of these types include those manufactured and sold by Banner Engineering Corp., of Minneapolis, Minnesota, for example their MINI-BEAM® line.
- Photoelectric sensors typically provide a simple signal to indicate that an object has been detected, and to indicate its location. Such a signal has two states, which might be called "present" and "absent". In the first and second configuration, for example, the signal would be in the "present" state when little light is detected by the receiver; in third or fourth configuration, the signal would be in the "present" state when light above a threshold is detected by the receiver.
- An object is detected when the signal is in the "present" state. A moving object is located by the time of a transition from "absent" to "present" on the signal-the object is located in a known, predetermined position, called herein a reference point, at the time of the transition. For any of the four photoelectric sensor configurations described above, the reference point is determined by the position of the beam and is adjusted by physically moving the sensor. Note that as used herein the reference point refers to the desired location of the object; the actual location of the object at the signal time may differ for various reasons as described herein.
- Usually a photoelectric sensor is used to detect specific objects and locate them at a specific position, for example to detect bottles moving down a conveyer belt and indicate the time at which the leading edge of such a bottle has reached a certain reference point, for example in front of a printer. No sensor is a perfect judge of object presence and location, and failures will result if a desired object is not detected, if some other condition, such as an unexpected object or light source, results in a false detection, or if a desired object is detected but mislocated.
- In order to increase the reliability of detection and location, a photoelectric sensor may employ one or more techniques. The different configurations described above, for example, allow different tradeoffs between missed objects, false detection, and other factors that can be matched to the needs of a specific application. For example, a retroreflective configuration is unlikely to miss an object but requires mounting two elements, the sensor and the reflector, in suitable locations. A focused beam is less likely to detect an unexpected object because it has a narrow range of focus.
- A sensitivity adjustment is typically used as another tradeoff between missed objects and false detection for each sensor configuration. In the focused beam configuration, for example, the sensitivity adjustment determines the predefmed detection threshold. Increasing the threshold makes false detections less likely but missed objects more likely; decreasing the threshold makes the opposite tradeoff.
- In addition, sensors may employ a suitably modulated beam of light so that stray light is unlikely to cause a misdetection. For example, the beam can be pulsed on and off at a high frequency, and the receiver is designed to only detect light pulsed at that frequency.
- A commonly used term of art for photoelectric sensors is background suppression, which describes various means for ignoring reflections of the emitted beam by objects in the background (i.e. beyond some predetermined distance), so that misdetection can be made less likely.
U.S. Patent 5,760,390 , for example, describes such a device as well as providing information on prior art devices. - Photoelectric sensors are well-suited to object detection and location, and are widely used, but they have a variety of limitations.
- Such sensors have a very limited ability to distinguish desired objects from other conditions such as unexpected objects, variations in object reflectivity, confusing markings or features on the objects, and the like. Generally all the sensor can measure is how much light it's receiving. A gray object at 5 centimeters distance, for example, might reflect as much light back to the receiver as a white object at 10 centimeters, even if the beam is somewhat out of focus at 10 centimeters. Considerable care must be taken to insure that the presence of a desired object at a desired location, and no other condition, results in an amount of light received that is above or below a predetermined threshold. This limits the ways in which such sensors can be installed, the nature of objects to be detected and located, and the manner in which such objects are presented to the sensor, among other concerns. Furthermore, generally only edges of objects can be detected and located; it is difficult and in many cases impractical to detect and locate markings or other features on the object.
- With a photoelectric sensor, establishing or adjusting the reference point generally involves physically moving the sensor. Such an adjustment is challenging to make and may have undesirable consequences if not made carefully. Furthermore, it is difficult to establish a reference point with high precision.
- Photoelectric sensors have an inherent delay between the time that an object crosses the reference point and the time that the signal transition occurs. This delay is commonly called latency or response time, and is typically of the order of hundreds of microseconds. An object will move away from the reference point during this delay, by a distance that increases as object velocity increases. Furthermore, since a reference point is usually established at installation time using stationary objects, the actual location of the object at the signal time will always be different in production use where the objects are moving. If the latency and velocity are known it may be possible to compensate for the latency, but doing so adds complexity and cost, and might not always be practical.
- The latency of a photoelectric sensor can generally be reduced by giving up some reliability of detection. The less time the sensor has to make a detection decision, the less reliable the decision will be.
- Photoelectric sensors have an inherent uncertainty in the signal transition time, typically referred to in the art as repeatability, and also typically of the order of hundreds of microseconds. This translates to uncertainty in the location of the object at the signal time, where the uncertainty is proportional to object velocity.
- The combination of physical positioning, latency, and repeatability limit the accuracy of a photoelectric sensor in locating objects.
- Recently a new class of optoelectronic sensors have been developed, described in pending
U.S. patent application Ser. No. 10/865,155 filed Jun. 9, 2004 - Vision detectors provide an ability to distinguish desired objects from other conditions that far surpasses that which can be achieved with photoelectric sensors. This ability is achieved by using two-dimensional brightness patterns to detect and locate objects. Establishing a reference point can be done electronically by means of a human-machine interface. These devices, however, exhibit significant latency, on the order of several milliseconds, and repeatability that, even under favorable conditions, is no better than that of photoelectric sensors.
- Vision detectors, furthermore, are very expensive compared to photoelectric sensors, and far more complex to set up for a given application.
- US patent application
US4384195, John Nosler , applicant COE MFG Co, May 17m 1983, discloses apparatus for counting conveyor-transported articles, such as newspapers. The apparatus employs a laser which projects a beam to create reflections from such articles, which reflections are imaged onto a linear photodetector array. The array is scanned recurrently to detect the presence and location of such an image, and related, successive output signals from the array are fed to a data-processing circuit which confirms the occurrence of each passing article. Such confirmation is based on the pre-known manner in which the successive leading-edge profiles of passing articles cause multiple output signals of a certain character to be produced by the array. - US patent application
US2005275831, William M Silver, published December 15, 2005 , discloses methods and apparatus for automatic optoelectronic detection and inspection of objects, based on capturing digital images of a two-dimensional field of view in which an object to be detected or inspected may be located, analyzing the images, and making and reporting decisions on the status of the object. Decisions are based on evidence obtained from a plurality of images for which the object is located in the field of view, generally corresponding to a plurality of viewing perspectives. Evidence that an object is located in the field of view is used for detection, and evidence that the object satisfies appropriate inspection criteria is used for inspection. Methods and apparatus are disclosed for capturing and analyzing images at high speed so that multiple viewing perspectives can be obtained for objects in continuous motion. - Japanese patent application
JP60147602, Yoshimoto Yukio - According to a first aspect of the present invention, there is provided an optoelectronic system for providing information describing an object, as defined in appended independent claim 1.
- Preferred embodiments are defined in the dependent claims.
- The invention will be understood from the following detailed description, along with the accompanying figures, wherein:
-
FIG. 1 shows an example application of a system according to the invention for detecting and locating discrete objects moving down a production line. -
FIG. 2 shows an example application of a system according to the invention for detecting and locating markings on a moving continuous web. -
FIG. 3 shows a block diagram of an illustrative apparatus. -
FIG. 4 shows a portion of a capture process that obtains an image of a field of view, where the image is oriented approximately parallel to a direction of motion. -
FIG. 5 shows a portion of a training process used to obtain a model pattern for use in a measurement process of an illustrative embodiment. -
FIG. 6 shows an object located at a certain position as part of a measurement process of an illustrative embodiment. -
FIG. 7 shows a timing diagram that explains decision delay, for use in conjunction with the discussion of latency and prediction. -
FIG. 8 shows a prediction of the time at which an object will cross a reference point, but with the crossing time too far in the future to schedule a signal. -
FIG. 9 shows a prediction of the time at which an object will cross a reference point, and the scheduling of a signal to occur at that time. -
FIG. 10 shows a prediction of the time at which an object will cross a reference point, but wherein the predicted time is in the past and a signal has already occurred. -
FIG. 11 shows a flowchart of a portion of a selection process in an illustrative embodiment, portions of other processes that interact with the selection process, and a memory used to hold values needed by the processes. -
FIG. 12 shows a block diagram of a portion of a decision process in an illustrative embodiment, as well as portions of other processes that interact with the decision process. -
FIG. 13 shows a human-machine interface used as part of a training process, and to set a reference point, in an illustrative embodiment, as well as an example object used by the training process. -
FIG. 14 shows a human-machine interface used to test the operation of an illustrative embodiment of a system according to the invention, as well as an example object used in the testing. -
FIG. 15 shows a human-machine interface used in an illustrative embodiment to establish a direction of motion and place the system into a running state, as well as an example object used in so doing. - Embodiments provide optoelectronic methods and systems for detecting moving objects and providing information describing the objects, including but not limited to the location of the objects. The disclosed methods and systems provide embodiments offering some or all of the following benefits:
- advanced ability to distinguish desired objects from other conditions, based on measurements made in one-dimensional images, including embodiments that use normalized correlation pattern detection methods and processes; electronic setting and adjustment of a reference point using a human-machine interface;
- no latency, or even negative latency, optionally adjustable using a human-machine interface and based on predicting a time at which an object will cross a reference point;
- very high repeatability, based on very high image capture and analysis rates and precise methods for determining object position;
- relatively low cost;
- relatively easy to set up and test; and
- other advantages described herein or that will be apparent to one of ordinary skill in the art.
- Objects to be detected and/or located are in motion relative to the field of view of an optical sensor, which makes light measurements in that field of view. One-dimensional images oriented approximately parallel to the direction of motion are captured and analyzed to produce information describing the objects, and the information may be used for any purpose, including communicating to other systems using a signal. In typical embodiments, the optical sensor is a linear optical sensor comprising a one-dimensional array of photoreceptors.
- As used herein the term downstream means "in the direction of motion", and the term upstream means "opposite the direction of motion".
- The use of one-dimensional images orientated approximately parallel to the direction of motion provides significant and unanticipated advantages over prior art systems that use emitter/receiver configurations, two-dimensional imagers, or one-dimensional images in other orientations. The object motion combined with the image orientation provide a time-sequence of one-dimensional images of a slice of an object as it enters, moves within, and/or exits the field of view. The object motion insures that at least a portion of the captured images correspond to a plurality of positions of the object relative to the field of view. This provides, among other benefits, a plurality of viewing perspectives, giving far more information about the object than can be obtained from a single perspective. The use of images obtained from multiple viewpoints contributes to the ability to reliably distinguish desired objects from other conditions, and to track object motion so as to provide highly repeatable location information with no latency. Embodiments comprising a linear optical sensor and a digital processor powerful enough to handle one-dimensional images are very inexpensive.
- By contrast a prior art emitter/receiver configuration is essentially a zero-dimensional sensor that only measures how much light is being received. There is no ability to distinguish desired objects by, for example, pattern detection methods, and no ability to visually track objects passing through a field of view to improve detection reliability or provide more accurate location information.
- Use of one-dimensional images permits a much higher capture and analysis rate, at lower cost, than prior art systems that use two-dimensional images for detection and location. An illustrative vision detector described in pending
U.S. patent application Ser. No. 10/865,155 , for example, operates at 500 images per second. An illustrative embodiment of the present invention, described below, operates at over 8000 images per second, and at far lower cost. This high operating rate combined with the processes described herein allows latency to be eliminated and repeatability to be dramatically improved. The above-referenced patent application does not describe or contemplate that one-dimensional images oriented approximately parallel to the direction of motion could be used for the purposes described herein, or that latency could be eliminated by any means. - It has long been known in the prior art to image moving objects using linear array sensors oriented approximately perpendicular to the direction of motion. One purpose of such a configuration is to obtain a two-dimensional image of an object from a single viewpoint, not a time-sequence of a slice of the object in multiple positions. Such a linear array, oriented approximately perpendicular to the direction of motion, is simply an alternative to a two-dimensional camera that has certain advantages and disadvantages compared to such a camera. It is not suitable for the purposes described herein. Other uses of linear array sensors oriented approximately perpendicular to the direction of motion are known, but likewise are not suitable for the purposes described herein.
- The methods and systems herein disclosed capture one-dimensional images of a field of view through which objects may be moving, and analyze at least a portion of the images to provide information describing the objects.
- In some embodiments, the information describing the object comprises knowledge responsive to object presence in the field of view, for example knowledge that an object is in the field of view or crosses a reference point.
- In some embodiments, the information describing the object comprises an estimate of a time at which the object crosses a reference point, called herein a reference time. These embodiments allow the object to be located-the object is located at the reference point at the reference time, an estimate of which is provided by the information describing the object.
- Some embodiments provide an electronic human-machine interface that allows the reference point to be adjusted, for example by providing pushbuttons to move the reference point upstream or downstream. This allows the reference point to be set very precisely, and without physically moving the sensor.
- Some embodiments provide a signal that serves to locate the object by indicating the estimate of the reference time. The indication can be made in a variety of ways well-known in the art, and further described below; in some embodiments the signal indicates the estimated time simply by occurring at that time, or responsive to that time, for example delayed or advanced by some amount. In such embodiments the time that the signal occurs is referred to herein as a signal time. A human-machine interface can also be provided to allow adjustment of the signal time relative to the estimated time.
- In some embodiments, there is no latency between the actual reference time and the signal time. In some embodiments, the estimate of the reference time is determined by predicting the reference time.
- Some embodiments provide an example object and a setup signal for setting the reference point. The example object is placed at the desired reference point, and the setup signal indicates that it is so placed. In response to the setup signal, one or more images of the field of view containing the example object are captured and analyzed to set the reference point. This allows the sensor to be installed in an approximate location, and then have the reference point set precisely without physically moving the sensor. The setup signal can come from a human-machine interface, from other equipment, from software subroutine calls, or from any means known in the art. In such embodiments, a signal can be produced at a time when the object crosses the reference point (no latency), is upstream from the reference point (negative latency), or is downstream from the reference point (positive latency).
- Some embodiments employ a test object and a human-machine interface that permit an installation of the sensor to be tested. Suitable indictors tell if the test object is detected in the field of view, and if so whether it is upstream or downstream from the reference point.
- In some embodiments, the methods and systems make measurements in at least a plurality of the captured images, select from those measurements those judged responsive to an object in the field of view, use the selected measurements to make decisions that produce information describing an object, and optionally produce signals that communicate that information.
- In such embodiments, image measurements are made for captured images, where the image measurements comprise any suitable computation on the image. Examples of image measurements include brightness, contrast, edge quality, peak correlation value, peak correlation position, and many others well-known in the art.
- A set of object measurements are selected from among the image measurements, wherein the object measurements comprise image measurements that are judged responsive to an object in the field of view. Some or all of the image measurements are used to select the object measurements, so that the judgment is made not blindly but based on conditions in the field of view. An image measurement particularly suited to such a judgment is peak correlation value using a model pattern and a normalized correlation process, although many other kinds of measurements can also be used within the scope of the invention.
- Object measurements are used to make decisions that produce information describing an object. Information may describe presence or states of being present, events such as an object crossing a reference point, location, velocity, brightness, contrast, and many others that will occur to one of ordinary skill that can be obtained according to the methods and systems of the invention.
- In an illustrative embodiment, accurate location information with no latency is obtained by predicting the time at which an object will cross a reference point, and scheduling a signal to occur at the predicted time. The prediction is obtained by fitting a curve, for example a line, through a set of (time, position) points, where the times correspond to times at which images were captured and the positions are obtained from image measurements.
- In an illustrative embodiment, latency can be adjusted using a human-machine interface, and even made negative, a novel capability.
- In an illustrative embodiment the reference point can be set and adjusted precisely using a human-machine interface.
- In an illustrative embodiment, a model pattern used in a normalized correlation process for producing certain image measurements can be obtained with a training process that uses an example object to indicate the desired appearance of objects to be detected and located.
- In the following detailed description of the illustrative embodiments, reference is made to the accompanying drawings which form a part hereof, and in which are shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
- As used herein the term linear detector refers to an optoelectronic system according to an embodiment of the invention, for purposes of providing information describing objects, herein equivalently referred to as object information. Similarly, the term linear detection method refers to a method according to an embodiment of the invention for like purposes.
- Applications of a linear detector include but are not limited to analysis, detection, and location of objects. In an illustrative embodiment intended for object detection, the object information comprises knowledge that an object has been detected in a certain state, for example crossing a reference point. In an illustrative embodiment intended for object location, the object information comprises the time when an object crosses a fixed reference point.
- As used herein a process refers to systematic set of actions directed to some purpose, carried out by any suitable apparatus, including but not limited to a mechanism, device, component, software, or firmware, or any combination thereof that work together in one location or a variety of locations to carry out the intended actions. A system according to the invention may include suitable processes, in addition to other elements.
- The description herein generally describes embodiments of systems according to the invention, wherein such systems comprise various processes and other elements. It will be understood by one of ordinary skill in the art that descriptions can easily be understood to describe methods according to the invention, where the processes and other elements that comprise the systems would correspond to steps in the methods.
-
Figure 1 illustrates an example application of an illustrative embodiment of the invention to detect and locate objects.Conveyer 100 movesboxes motion 102. Each box in this example includes a label, such asexample label 120, and a decorative marking, such as example marking 122. Aprinter 130 prints characters, such asexample characters 132, on each label as it passes by. In the example offigure 1 , the labels are the objects to be detected and located. - The illustrated
linear detector 150 providessignal 134 toprinter 130 at times when labels to be printed pass, or are in some desirable position relative to,reference point 106. In anillustrative embodiment signal 134 comprises a pulse indicating that a label has been detected, and wherein the leading edge of the pulse occurs at the time that a label is atreference point 106 and thereby serves to locate the label. -
Linear detector 150 useslens 164 to form a one-dimensional image of field ofview 170 on linearoptical sensor 160 comprising linear array ofphotoreceptors 162. Field ofview 170 and linear array ofphotoreceptors 162 are oriented so as to produce one-dimensional images oriented approximately parallel to the direction of motion. Each photoreceptor makes a light measurement in the field of view. - In the example of
figure 1 , certain features of the boxes make the use of prior art photoelectric sensors to detect and locate the labels unsuitable. Photoelectric sensors are generally well-suited to detect the edges of the boxes, but the labels are not in a fixed position relative to the box edges. For example, the label onbox 118 is farther away from the left edge than the label onbox 116. It is desirable, therefore, to detect the label itself, but the edge of the label is indistinguishable from the edge of the decorative marking, making prior art photoelectric sensors unsuitable. - The labels are much wider than the decorative markings, however, and the light pattern corresponding to a label in field of
view 170 can be distinguished from the light pattern corresponding to a decorative marking by appropriate analysis of the one-dimensional images, for example by using a pattern detection process. The invention analyzes the images to provide reliable detection and accurate location, as further described below. -
Figure 2 illustrates another example application of the invention to detect and locate objects.Conveyer 200 movescontinuous web 210 in direction ofmotion 202.Web 210 contains periodic reference marks, such as example marks 220, 222, and 224. The marks move through field ofview 270 oflinear detector 250 comprising linearoptical sensor 260 on which one-dimensional images of field ofview 270 are focused. Linearoptical sensor 260 comprises linear array ofphotoreceptors 262. Field ofview 270 and linear array ofphotoreceptors 262 are oriented so as to produce one-dimensional images oriented approximately parallel to direction ofmotion 202. -
Linear detector 250 may provide a signal (not shown) to suitable automation equipment (not shown) at times when a reference mark crosses, or is in some desirable position relative to,reference point 206. - In the example of
figure 2 , reference marks comprise a pattern of shades of gray that can be distinguished from other marks, features, defects, or shading that might appear onweb 210, providing detection that is significantly more reliable than could be achieved by prior art photoelectric sensors. -
Figure 3 is a block diagram of an illustrative embodiment of a portion of a linear detector according to the invention.Microcontroller 300, such as the AT91 SAM7S64 sold by Atmel Corporation of San Jose, California, comprisesARMv4T processor 310, read/writeSRAM memory 320, read-only flash memory 322, universal synchronous/asynchronous receiver transmitter (USART) 330, parallel I/O interface (PIO) 332, andtimer 334.ARMv4T processor 310 controls the other elements ofmicrocontroller 300 and executes software instructions stored in eitherSRAM 320 or flash 322 for a variety of purposes.SRAM 320 holds data used byARMv4T processor 310.Microcontroller 300 operates at a clock frequency of 50 MHz. - Linear
optical sensor 340, such as the TSL3301-LF sold by Texas Advanced Optoelectronic Solutions (TAOS) of Plano, Texas, comprises a linear array of 102 photoreceptors. Linearoptical sensor 340, under control ofARMv4T processor 310 by commands issued usingUSART 330, can expose the linear array of photoreceptors to light for an adjustable period of time called the exposure interval, and can digitize the resulting 102 light measurements and transmit them in digital form to USART 330 for storage inSARM 320. Linearoptical sensor 340, also under control ofARMv4T processor 310, can apply an adjustable analog gain and offset to the light measurements of each of three zones before being digitized, as described in TAOS document TAOS0078, January 2006. - In an illustrative embodiment, linear
optical sensor 340 is calibrated to compensate for any non-uniformity of illumination, optics, and response of the individual photoreceptors. A uniformly white object is placed in the FOV, and the gain for each of the three zones is set so that the brightest pixels are just below saturation. Then a calibration value is computed for each pixel, such that when each gray level is multiplied by the corresponding calibration value, a uniform image is produced for the uniformly white object. The calibration values are stored in flash 322 and applied to subsequent captured images. The calibration values are limited such that each gray level is multiplied by no more than 8. Each image used by the calibration procedure is obtained by averaging 512 captured images. - Any suitable means can be employed to illuminate the FOV of linear
optical sensor 340. In an illustrative embodiment, two 630 nm LEDs are aimed at the FOV from one side of linearoptical sensor 340, and two 516 nm LEDs are aimed at the FOV from the other side. A light-shaping diffuser, such as those manufactured by Luminit of Torrance, California, is placed in front of the LEDs so that their beams are spread out parallel to linearoptical sensor 340. - Human users of a linear detector, such as manufacturing technicians, can control the system by means of human-machine interface (HMI) 350. In an illustrative embodiment,
HMI 350 comprises an arrangement of buttons and indicator lights as further described below.ARMv4T processor 310controls HMI 350 usingPIO interface 332. In other embodiments, an HMI consists of a personal computer or like device; in still other embodiments, no HMI is used. - The linear detector illustrated in
figure 3 produces signal 362 for purposes including indicating detection and location of objects.Signal 362 is connected toautomation equipment 360 as required by a given application.Signal 362 is generated bytimer 334 under control ofARMv4T processor 310. In an alternative embodiment, signal 362 is generated byPIO interface 332, also under control ofARMv4T processor 310. Note thatautomation equipment 360 is shown for illustrative purposes only; signal 362 may be used for any purpose and need not be connected to any form of automation equipment, and signal 362 need not be used at all. - In an illustrative embodiment, various processes are carried out by an interacting collection of digital hardware elements, including those shown in the block diagram of
figure 3 , suitable software instructions residing inSRAM 320 or flash 322, and data residing inSRAM 320. - As used herein a motion process provides relative motion between the objects and the field of view of an optical sensor, in some direction of motion. The objects, the sensor, and/or the field of view can be moving, as long as there is relative motion. Example motion processes include, but are not limited to: a conveyer moving objects past a fixed or moving sensor; a sensor attached to a robot arm that moves the sensor past fixed or moving objects; a fixed object and a fixed sensor that uses some means, for example a moving mirror, to move the field of view; and objects in freefall that pass a fixed or moving sensor.
- As used herein a capture process obtains one-dimensional images of the field of view of an optical sensor that makes light measurements. The images may be in any form that conveys information about light emerging from the field of view and is suitable for analysis by other processes as required. The images may be responsive to light of any color, any wavelength or range of wavelengths, any state of polarization, or any other light characteristic or combination thereof that can be measured. The images may be analog, digital, or any combination; may reside in the optical sensor, in memory external to the sensor, or any combination; and may be obtained by any suitable form of analog and/or digital signal processing, including but not limited to gain and offset, resampling, change in resolution, time filtering, and/or spatial filtering.
- In the illustrative apparatus of
figure 3 , the capture process comprises digitizing the light measurements so as to obtain an array of numbers, called pixels, whose values, called gray levels, correspond to the light measurements; transferring the pixels from linearoptical sensor 340 tomicrocontroller 300; and storing the pixels intoSRAM memory 320 for subsequent analysis. Following the usual convention in the art, a pixel may refer either to an element of the array of numbers, or to a unit of distance corresponding to the distance between two adjacent elements of the array. The array of pixels is a one-dimensional digital image. - The capture process operates cooperatively with the motion process so as to capture a plurality of one-dimensional images oriented approximately parallel to the direction of motion. This insures that at least a portion of the images will correspond to a plurality of positions of an object relative to the field of view, providing a time-sequence of images of a slice of the object as it passes through the field of view.
- It will be apparent to one skilled in the art that "approximately parallel" refers to any orientation that allows the linear detector to obtain a time-sequence of images of a slice of an object in a plurality of positions as it enters, moves within, and/or exits the field of view. It will further be apparent that the range of orientations suitable for use for with the systems and methods described herein has a limit that depends on a particular application of the invention. For example, if the orientation of the image is such that the angle between the image orientation and the direction of motion is 5 degrees, the object will drift 0.09 pixels perpendicular to the direction of motion for every pixel it moves parallel to that direction. If the range of the plurality of positions covers 30 pixels in the direction of motion, for example, the drift will be only 2.6 pixels. If the systems and methods described herein function as intended with a 2.6 pixel drift in a given application of the invention, the example 5 degree orientation would be approximately parallel for that application. Clearly, whether the systems and methods described herein function as intended depends on the nature of the object, the desired performance of the invention (for example accuracy and reliability), and other factors.
- Similarly, it will be apparent to one skilled in the art that the direction of motion need not be exactly uniform or consistent, as long as the systems and methods described herein function as intended.
- The use of one-dimensional images allows very high capture and analysis rates at very low cost compared to prior art two-dimensional systems. The high capture and analysis rate allows many images of each object to be analyzed as it passes through the field of view. The object motion ensures that the image are obtained from a plurality viewing perspectives, giving far more information about the object than can be obtained from a single perspective. This information provides a basis for reliable detection and accurate location.
- Prior art linear array sensors oriented approximately perpendicular to the direction of motion generally produce a single two-dimensional image of each object. Such systems are useful but do not provide the capabilities of the present invention.
- While the illustrative embodiments of
figures 1, 2 , and3 use linear optical sensors to produce one-dimensional images oriented approximately parallel to the direction of motion, it will be apparent to one skilled in the art that other types of optical sensors can also be used for like purposes. For example, a two-dimensional optical sensor can be used to capture two-dimensional images, portions of which are then converted to one-dimensional images oriented approximately parallel to the direction of motion. The conversion can be accomplished by any suitable form of signal processing, for example by averaging light measurements approximately perpendicular to the direction of motion. As another example, a two-dimensional optical sensor capable of capturing so-called regions of interest can be used. Many commercially available CMOS optical sensors have this capability. A one-dimensional region of interest oriented approximately parallel to the direction of motion would be functionally equivalent to a linear optical sensor. The image portion or region of interest need not be the same for each captured image, but can be moved in any manner as long as the systems and methods described herein function as intended. -
Figure 4 shows a portion of an illustrative capture process that obtains one-dimensional image 430 of field ofview 410, whereimage 430 is oriented approximately parallel to direction ofmotion 400. - Light emitted from field of
view 410 is focused onto an optical sensor (not shown), which makes light measurements. In the illustrative capture process offigure 4 , 24 discrete light measurements are made in 24 zones of field ofview 410, such asexample zone 440. The zones are shown as rectangular, contiguous, and non-overlapping for ease of illustration, but for typical sensors the geometry is more complex, due in part to the nature of the optics used to focus the light and the requirements of semiconductor fabrication. - In the illustrative capture process of
figure 4 , each light measurement is digitized to produce 24 pixels, such asexample pixel 450, which corresponds toexample zone 440. The gray level ofexample pixel 450 is 56, which is the light measurement forexample zone 440. - The zones of
figure 4 may correspond, for example, to individual photoreceptors in a linear array sensor, or to a plurality of photoreceptors of a two-dimensional sensor that have been converted to a single measurement by any suitable form of signal processing, as described above. - The geometry of the light measurement zones of field of
view 410 defineimage orientation 420 ofimage 430.Image 430 is oriented approximately parallel to direction ofmotion 400 ifimage orientation 420 and direction ofmotion 400 are such that the capture process can obtain a time-sequence of images of a slice of an object in a plurality of positions as it enters, moves within, and/or exits the field of view. Note thatimage orientation 420 is a direction relative to field ofview 410, as defined by the geometry of light measurements contained inimage 430. The image itself is just an array of numbers residing in a digital memory; there is no significance to its horizontal orientation infigure 4 . - As used herein a measurement process makes measurements in the field of view by analyzing captured images and producing values called image measurements. Example image measurements include brightness, contrast, edge quality, edge position, number of edges, peak correlation value, and peak correlation position. Many other image measurements are known in the art that can be used within the scope of the invention. Image measurements may be obtained by any suitable form of analog and/or digital signal processing.
- In the illustrative embodiment of
figure 3 , a measurement process comprises a digital computation carried out byARMv4T processor 310, operating on a captured image stored inSARM 320, under the control of software instructions stored in eitherSRAM 320 or flash 322. For example, a brightness image measurement may be made by computing the average of the pixels of an image or portion thereof; a contrast image measurement may be made by computing the standard deviation of the pixels of an image or portion thereof. - It is not necessary that the same image measurements be made in every captured image, or that the same number of image measurements be made. An embodiment of the invention may be such that for certain captured images no analysis is done and therefore no image measurements are made, but for clarity of description we ignore such images and assume that all captured images are analyzed by a measurement process.
- In some applications of the invention there will be captured images for which no object is in the field of view, and therefore the image measurements tell nothing about an object. In other applications an object is always in the field of view, but not all image measurements are relevant for determining object information. It may also be that all image measurements are relevant, but at various points some object information must be determined so a signal can be produced. Therefore, a linear detector according to some embodiments of the invention includes a selection process whose purpose is to select from among the image measurements those that are judged responsive to the object. Image measurements that are selected are called object measurements. The selection process uses at least a portion of the image measurements to decide which ones to select, as will be described in more detail below.
- In the illustrative embodiment of
figure 3 , a selection process comprises a digital computation carried out byARMv4T processor 310, operating on image measurements stored inSARM 320 or in the registers ofARMv4T processor 310, under the control of software instructions stored in eitherSRAM 320 or flash 322. - A linear detector according to the invention may include a decision process whose purpose is to analyze object measurements so as to produce object information. In the illustrative embodiment of
figure 3 , a decision process comprises a digital computation carried out byARMv4T processor 310, operating on object measurements stored inSARM 320 or in the registers ofARMv4T processor 310, under the control of software instructions stored in eitherSRAM 320 or flash 322. - A linear detector according to some embodiments of the invention may optionally include a signaling process whose purpose is to produce a signal that communicates object information. A signal can take any form known in the art, including but not limited to an electrical pulse, an analog voltage or current, data transmitted on a serial, USB, or Ethernet line, radio or light transmission, and messages sent or function calls to software routines. The signal may be produced autonomously by the linear detector, or may be produced in response to a request from other equipment.
- In the illustrative embodiment of
figure 3 , a signaling process comprises a digital computation carried out byARMv4T processor 310, operating on object information stored inSARM 320 or in the registers ofARMv4T processor 310, producingsignal 362 by means oftimer 334, and under the control of software instructions stored in eitherSRAM 320 or flash 322.Signal 362 is an electrical pulse, andtimer 334 is used byARMv4T processor 310 to insure that the pulse appears at a precise time. - It should be clear that any combination of processes that interact in any way is also a process. Thus the description of various embodiments as comprising various specific processes is made for convenience and ease of comprehension only. Any rearrangement of an embodiment into more or fewer processes that combine to carry out an equivalent set of actions directed to an equivalent purpose shall be understood to constitute an equivalent embodiment.
- Often it is desirable to make an image measurement that is responsive to object presence in the field of view, so that a selection process can use that measurement to select object measurements judged responsive to an object. More specifically, the measurement process would compute a value (or set of values), called herein score measurements, indicative of the likelihood or level of confidence that an object is present; for example, higher values mean more likely or more confident. Image measurements made from a given image can be selected when the level of confidence that an object is present is judged to be sufficient according to some criteria, although certain image measurements might also be selected unconditionally or according to some other criteria.
- Many kinds of image measurements are suitable for determining a confidence level that an object is present, and the choice of which to use depends on the application for which a linear detector is intended. Image measurements including brightness, contrast, edge quality, number of edges, and peak correlation value can be used, as well as many others that will occur to a person of ordinary skill in the art.
- Often it is desirable to make an image measurement that is responsive to object position in the field of view. Such a measurement is called herein a position measurement. A selection process can use such a measurement, as will be seen below in the description of
figure 11 . A decision process can use such a measurement to locate an object. Many kinds of image measurements suitable for estimating object position are known in the art; an illustrative embodiment is described below. - Of particular interest are measurement processes that incorporate a pattern detection process. A pattern detection process is one that is responsive to the spatial arrangement of gray levels in an image. For example a brightness measurement made by computing an average of pixels, or a contrast measurement made by computing the standard deviation of pixels, are not pattern detection processes because the results are independent of the spatial arrangement of the gray levels. Examples of pattern detection processes include edge detection and correlation; many others are well-known in the art.
-
Figures 5 and6 illustrate image measurements that are responsive to object presence and object position, as produced by a measurement process used by an illustrative embodiment. The measurement process incorporates a normalized correlation process based on the well-known normalized correlation operation. A normalized correlation process is an example of a pattern detection process, and uses a model pattern that corresponds to an expected pattern of gray levels in an image of an object in the field of view. It searches for the position in a captured image that is most similar to the model pattern, producing image measurements including the degree of similarity at that position, which is an example of a score measurement, and the position itself, which is an example of a position measurement. Note that if there is no position in a captured image that is sufficiently similar, the position measurement may be meaningless. Normalized correlation provides numerous benefits that are well-known in the art. - The score measurement is responsive to object presence, and the position measurement is responsive to object position. In an illustrative embodiment, the score measurement is min(r, 0)2, where r is the normalized correlation coefficient, and the position measurement provides sub-pixel accuracy using the well-known parabolic interpolation method.
- A model pattern can comprise any pattern of gray levels, including a simple edge pattern consisting of two gray levels or a complex pattern containing many gray levels. It can be obtained in a variety of ways, including from prior knowledge of the expected pattern of gray levels, and from an example object using a training process.
-
Figure 5 illustrates obtaining a model pattern using a training process in an illustrative embodiment. Anexample object 500 is placed in field ofview 502. The example object comprises a light pattern includingbright regions dark regions bright regions dark regions - The training process captures one-
dimensional training image 540 fromexample object 500. Thetraining image 540 is illustrated bygraph 520, which plots gray level as a function of position in the image. The position of the pattern in the training image is arbitrarily defined to be at 0, as indicated byorigin line 532, which in this example is also the reference point, passing through the boundary betweenregion - In the illustrative embodiment of
figure 5 ,model pattern 542 is obtained from the portion oftraining image 540 that lies betweenfirst position 530 at -25 andsecond position 534 at +35. It can be seen thattraining image 540 is subject to some noise, and somodel pattern 542 is obtained by averaging 512 captured images and then smoothing using a three-pixel wide boxcar filter. Any method known in the art can be used to obtain a model pattern from one or more training images, including no modification at all. One example of a well-known method uses multiple example objects and averages training images captured from each such object. - In the illustrative embodiment of
figure 5 ,image 540 contains 100 pixels andmodel pattern 542 contains 60 pixels. In this embodiment the normalized correlation process looks for the peak position only where the model pattern lies entirely within the image, so there are 41 such positions. Various performance characteristics, such as speed, range, and discrimination, can be altered as needed by adjusting these sizes. Such adjustment can be carried out byHMI 350, by programming suitable values into the software, or by other well-known means. In another illustrative embodiment designed to operate at higher speeds but with smaller range and somewhat less discrimination, the image size is 84 pixels and the model pattern size is 54 pixels. - For embodiments along the lines of the foregoing discussion, a model should be at least 3 pixels and captured images should be at least as large as the model, but otherwise there are no limits to the image and model sizes. One skilled in the art will understand that different sizes represent different engineering tradeoffs among speed, range, discrimination, and other characteristics.
- In the illustrative embodiment of
figure 5 the direction of motion is left to right, i.e. in the direction of increasing positions. It can be seen that the portion oftraining image 540 that is used to obtainmodel pattern 542 has been offset downstream from the center of the field of view, in this example by 5 pixels. This allowsmodel pattern 542 to fit completely within the 100-pixel image 540 in more positions between the upstream end and the reference point atorigin line 532, providing more data for prediction as discussed below. In general the offset can be adjusted byHMI 350, by programming suitable values into the software, or by other well-known means. The offset can be calculated responsive to the location of the reference point and/or the desired latency, and need not be used at all. -
Figure 6 illustrates a measurement process making an image measurement responsive to object position using a normalized correlation process that is responsive tomodel pattern 542.Object 600, having a light pattern similar to that ofexample object 500, is at some position in field ofview 602 at the time thatimage 640 is captured, as shown bygraph 620. -
Graph 622shows model pattern 642 at the peak position, in this example at position -15. In this example, therefore, the measurement process makes an image measurement of object position in capturedimage 640, the image measurement being -15 pixels. - Since
model pattern 642 is very similar toimage 640 at the peak position, the score will be high and so the measurement process will make an image measurement of object presence that indicates high confidence that an object is present in the field of view at the time thatimage 640 is captured. Since the confidence is high, these two image measurements may be assumed to be responsive to the object, and can be selected to be included in the object measurements. - The foregoing description of a measurement process pertains to specific embodiments, and it is contemplated that significant modifications or entirely different methods and processes that occur to one skilled in the art can be used to achieve similar effects, or other desired effects in accordance with the teachings described herein. For example, all of the numerical constants used are understood to be examples and not limiting. A model can be obtained from prior knowledge of objects instead of from a training image. Well-known edge detection methods that use gradient instead of correlation and models can be used to provide score and position measurements, for example.
- Consider an object moving so as to cross a reference point at a reference time. A common way to design a sensor to detect and locate the object is to produce a signal, typically a pulse, at the precise time that the object crosses the reference point. The existence of the pulse serves to indicate that an object is detected, and the timing of the pulse serves to indicate its location by giving the time at which the object is located at the known reference point. Using the signal, desired automation equipment can act on the object when it is in a known location. It is important that the signal is produced when the object is present, and not produced at other times in response to whatever else may be happening in front of the sensor.
- Of course in practice any system or method can only estimate the reference time, so there will be some error. The mean error, i.e. the average interval from the reference time to the signal time, is usually referred to in the art as latency or response time. Prior art devices exhibit some latency, typically of the order of hundreds or microseconds. The effect of latency is that the object has moved downstream from the reference point when the signal occurs, and by an amount that varies with the speed of motion. If the latency and speed are precisely known, automation equipment can be set up to act on the object in a known location. In practice, of course, latency and speed are known imprecisely, resulting in location errors that increase as speed or latency increases. An encoder or similar device can be used to compensate for poor knowledge of speed, but not latency.
- The standard deviation of the errors is a measure of the repeatability of the system or method. These errors are random and cannot be compensated for. Overall accuracy combines the effects of latency and repeatability.
- Latency results because it takes some time for a sensor to decide reliably that the object is present. Generally taking more time to make a decision results in more reliable decisions. A simple phototransistor could have an insignificant latency of a few nanoseconds, for example, but it would respond incorrectly to so many things that it would be useless. Prior art sensors make a tradeoff between acceptable latency and acceptable reliability.
-
Figure 7 shows this decision delay for the illustrative apparatus offigure 3 . Image capture begins when linearoptical sensor 340 exposes its photoreceptors to light forexposure interval 700. Under control ofARMv4T processor 310, pixels are transferred toSRAM 320. This transfer takestransfer interval 710. Measurement, selection, and decision processes then run onARMv4T processor 310 overcompute interval 720. The earliest any action (such as producing a signal) can be taken based on measurements in the image corresponding toexposure interval 700 is atdecision point 740, which is delayed bydecision delay 750 from the middle 730 ofexposure interval 700. The decision process can only have knowledge of the past, not the present. - Note that in the illustrative apparatus of
figure 3 the exposure, transfer, and compute intervals can all be overlapped, so the interval between images is only the largest of the three intervals, not their sum. This allows much higher time resolution, but does not in any way reducedecision delay 750. - While a decision delay is unavoidable, latency is not. The invention eliminates latency by predicting when the object will cross the reference point, and scheduling a signal to occur at that time. Prediction is accurate when there is sufficient knowledge of the motion of the object, both from measurements of how it has been moving and expectation that it will continue to do so for sufficient time in the future.
- The invention also allows detection to be much more reliable than prior art systems even when the latency is zero or negative. Detection is based on many images, covering a span of time that can be many milliseconds long, allowing careful decision making without sacrificing latency. Furthermore, detection based on pattern detection including normalized correlation is fundamentally better able to distinguish the desired object from other things happening in the field of view.
- By using a good prediction method, latency can also be made negative. In practice the range of negative latency that can be achieved is limited, but it provides new capabilities over the prior art that can be useful. If the automation equipment has a short latency between receiving the signal and acting, for example, a negative latency in a linear detector according to the invention can be used to offset the equipment latency so that the total system latency is zero.
- Of course, no practical system or method can have a latency that is exactly zero; herein the term no latency will refer to systems or methods where the latency is significantly less than the repeatability. For such systems or methods, the signal will sometimes arrive before the reference time, and sometimes after.
- In an illustrative embodiment, a capture process captures images as previously described, and in addition produces a capture time (t) for each image, corresponding to the middle of the exposure time. For example, capture time can be determined by
ARMv4T processor 310 by readingtimer 334 at the middle of the exposure interval, or at some other point and correcting for the time difference between that point and the middle of the exposure interval. - Employing a measurement process using normalized correlation as described above, a set of score (s), position (x) pairs are obtained for an object moving through the field of view. Thus for each captured image we have three values (s, t, x); two image measurements from the measurement process and a capture time from the capture process. In this section we will consider (t, x) pairs only, ignore the selection process, and consider only that portion of the detection and signaling processes that pertains to prediction. Selection and detection will be further described in other sections below.
- Prediction accuracy comes from several factors. For example, in the illustrative embodiment, a linear detector according to the invention operates at over 8000 images per second and assumes that motion is at constant velocity.
Decision delay 750 is typically under 300 µs. High time resolution of about 125 µs allows accurate t measurements and many (t, x) pairs to be obtained for each object as it approaches the reference point. The short decision delay means that any deviations from constant speed occur over a very short interval. Use of normalized correlation with sub-pixel interpolation provide accurate x measurements. -
Figures 8 - 10 show prediction and signal generation for an illustrative embodiment. Note that prediction in this embodiment is a combined effect of the capture, measurement, selection, and decision processes operating in concert. -
Figure 8 shows aplot 800 of capture time t vs. object position x for an object moving through the field of view. Time values are in microseconds from some arbitrary starting point, and position values are in pixels measured fromreference point 822. Time values come from the capture process and position values come from the measurement process, as described elsewhere. The measurement process also produces score measurements s for each point, not shown. For simplicity of illustration the image capture/transfer/compute rate is about 10 KHz, giving a period of about 100 µs. - (t, x) points are plotted, including
example point 810.Current time 832 is shown, and corresponds todecision point 740 for an image whose exposure interval is centered onexposure time 830, the most recent time for which a position measurement is available.Decision delay 840 is the interval betweenexposure time 830 andcurrent time 832. So far three points have been obtained. - In the illustrative embodiment, three points of sufficiently high score are considered sufficient to make a prediction of the reference time. The predication is made using best-
fit line 820 through the three points obtained so far, whereline 820 is computed by the well-known least squares method. The predictedtime 834 is the time at which best-fit line 820 crossesreference point 822. - It is of course possible to fit any suitable curve to (t, x) points, where the curve represent some function f wherein x = f(t). Clearly best-
fit line 820 is an example of such a curve, corresponding to an assumption of constant velocity. In another embodiment wherein constant acceleration is assumed, a best-fit parabola could be used. - In the example of
figure 8 , signaldelay interval 842 fromcurrent time 832 to predictedtime 834 is about 2170 µs. In the illustrative embodiment, a signal delay interval greater than 1000 µs is considered too long to be reliable; not only is the predicted time inaccurate, but there isn't sufficient evidence that the object will indeed cross the reference point at all. Therefore, no signal is scheduled. -
Figure 9 shows aplot 900 similar to that offigure 8 . In this case, however, 15 (t, x) points have been obtained, includingexample point 910.Current time 932, mostrecent exposure time 930, anddecision delay 940 are shown. Bestfit line 920 crossesreference point 922 atpredicted time 934.Signal delay interval 942 is about 190 µs. Since there are at least three points of sufficiently high score, and signaldelay interval 942 is less than 1000 µs, a signal is scheduled to occur atpredicted time 934. - Given the criteria for scheduling a signal in the illustrative embodiment, it is clear that a signal would have been scheduled many times prior to
current time 932. For example, attime 950 whenpoint 952 was the most recent data available, the criteria would also be met and a pulse would have been scheduled. As the object moves closer toreference point 922, the prediction becomes more accurate because there are more points with which to fit the line, and because the prediction is less of an extrapolation. Therefore, when a signal is scheduled it replaces any previously scheduled signal, so that in effect the predicted signal time is updated for every image as the object approaches the reference point. -
Figure 10 shows aplot 1000 similar to that offigure 8 . In this case, however, 17 (t, x) points have been obtained, includingexample point 1010.Current time 1032, mostrecent exposure time 1030, anddecision delay 1040 are shown. Bestfit line 1020 crossesreference point 1022 at predictedtime 1034.Signal delay interval 1042 is negative by about 130 µs, which means that the signal should have already happened due to a previously scheduled signal. - There are two cases. First, if a signal has indeed happened, as shown in
figure 10 bypulse edge 1050 occurring beforecurrent time 1032, there is nothing left to do for the current object. No signal is scheduled. If for some reason a signal has not yet happened (one may be scheduled but not yet happened, or none may be scheduled), a signal is produced immediately. - While
figures 8 - 10 and the accompanying description describe an embodiment with no latency, it is possible to introduce a positive or negative latency by adding a positive or negative value to the predicted reference time,e.g. times HMI 350. Other than the additional mechanism for adding this value, the above-described embodiment remains unchanged. No matter what the latency, the signal is generated with the best available data. - The added latency can be viewed as decreasing the decision delay, e.g. 750, 840, 940, and 1040, by the latency value. Positive latency effectively makes the decision delay shorter, and negative latency effectively makes it longer. When the latency equals the actual decision delay, the effective decision delay is 0 and the signal generation is no longer a prediction, and the extrapolation becomes an interpolation. As latency increases, furthermore, more data points can be obtained for the line fitting. Thus signal timing accuracy increases as latency increases.
- With no latency, the best reference point is at the downstream end of the field of view. This allows the entire FOV to be used and the maximum number of (t, x) points to be produced for the prediction. As the reference point moves upstream less of the FOV is used and fewer points are available, reducing accuracy. If the reference point is too far upstream in the FOV, the system will not operate properly.
- As the reference point moves beyond the FOV downstream, the extrapolation is greater and accuracy will suffer. At some point it will no longer be possible to satisfy the 1000 µs maximum signal delay interval criterion. In an illustrative embodiment, once an object moves completely out of the FOV the signal is scheduled regardless of the signal delay interval.
- The forgoing discussion of prediction pertains to specific embodiments and it is contemplated that significant modifications or entirely different methods and processes that occur to one skilled in the art can be used to achieve similar effects, or other desired effects in accordance with the teachings described herein. For example, all of the numerical constants used are understood to be examples and not limiting. It is not necessary that any signal delay be considered too long to be reliable. The maximum reliable signal delay, and the minimum number of points needed to schedule a signal, can vary from image to image or object to object based on any desired criteria. A limit on the maximum number of points could be used, such that once such a limit is reached no rescheduling of the signal would occur.
- There are a wide variety of ways to arrange a selection process and a decision process for a linear detector according to the invention. In some embodiments, the two processes operate independently-the selection process chooses object measurements from the image measurements, and passes these along to the decision process, in a manner that is responsive to the image measurements but not to anything that the decision process does. In an illustrative embodiment the selection process, shown by the flowchart of
figure 11 and described in this section, operates in concert with the decision processes to select the object measurements and use them to detect and locate an object. Thus while the two processes will be shown by separate figures and described in separate sections, there will be of necessity some overlap of description. Furthermore, as noted above, the selection and decision processes could equivalently be combined into one complex process, but describing them separately aids clarity. - As described above, for each captured image we have three values (s, t, x); two image measurements from the measurement process and a capture time from the capture process. A selection process must select object measurements from among the image measurements (s, x), to be passed along to the decision process. In the illustrative embodiment selection is done on a per-image basis, so an (s, x) pair is either selected or not from a given image. Capture time for a selected image is then included, so the decision process gets (s, t, x) triplets from selected images. Any other suitable strategy for selecting object measurements from image measurements, with or without capture times or other data, can be used within the scope of the invention.
- The selection process ignores image measurements when no object appears to be passing through the FOV. The selection process is called inactive at these times.
- When an object appears to be passing through the FOV, the selection process is called active. It selects a set of (s, t, x) triplets to be used by the decision process to decide if an object has been detected, and, if so, to locate it by calculating the reference time, wherein the calculation may or may not be a prediction depending on the desired latency as described above.
- The selection process may select some or all of the triplets corresponding to each object, although in typical cases only some are selected. The rules will now be summarized, and then described in detail in conjunction with
figure 11 . In the following description, numerical constants pertain to the illustrative embodiment; any other suitable values or methods for carrying out selection can be used within the scope of the invention. - Selection for a given object begins (i.e. the selection process becomes active) when an image is found for which s ≥ 0.6 and x is upstream from the reference point by at least 2 pixels. The upstream requirement provides hysteresis in object detection; an object that is stationary or moving very slowly will not be detected multiple times as it crosses the reference point.
- If selection is active and s < 0.6 for 3 consecutive images, the object is considered to have passed through the field of view, and selection becomes inactive.
- No more than 128 triplets are used for any object, because as the values get older they tend to be a less reliable indication of what is happening in the present. Three 128-element first-in first-out (FIFO) buffers are used to hold the most recent triplets. New triplets are added to the FIFOs, and if they are full the oldest triplet is removed and its object measurements are deselected, as if they were never selected in the first place. It can be seen that the selection process is inactive when the FIFOs are empty, and active otherwise.
- If the FIFOs are full and the x measurements within are centered around the reference point, selection ends and becomes inactive. This rule is useful in the case where the desired latency is long enough that reference time can be calculated by interpolation (i.e. not predicted); once the FIFOs are full and the x measurements are centered about the reference point, any additional measurements will degrade the accuracy of the interpolation.
- In the following description of
figure 11 , it is assumed that the direction of motion is positive x, so that downstream positions have x values greater than upstream positions. It will be clear to one skilled in the art how to modify the description so as to have a negative direction of motion, or to have objects be detected and located moving in either direction. - In
figure 11 , resetstep 1100 clears the FIFOs (seefigure 12 ), making selection inactive. This is used for system initialization and at times when selection ends for a given object. - Capture step 1102 (a portion of the capture process) captures the next image, also producing capture time (t) 1164. Search step 1104 (a portion of the measurement process) uses normalized correlation to produce score (s) 1160 and position (x) 1162.
Presence test step 1106 judges the level of confidence that an object is present in the field of view; ifscore 1160 ≥ 0.6, the level of confidence is considered sufficient to indicate object presence. Note that this does not mean that an object is judged to be actually present; that decision is reserved for the decision process based on an analysis of all of the selected triplets. - If no object is judged present, first
active test step 1108 directs the selection process to continue looking for an object if selection is inactive ("yes" branch). If no object is judged present but firstactive test step 1108 indicates that selection is active,increment step 1110, missingtest step 1112, and missingcounter 1150 are used to detect 3 consecutive images for which no object appears present. If fewer than 3 such image are detected so far, control returns to capturestep 1102. - If 3 consecutive images for which no object appears present are detected when selection is active, final decision step 1132 (a portion of the decision process) is entered. If three conditions are met, first signal step 1134 (a portion of a signaling process) schedules a signal to be produced at signal time (z) 1170 (computed as described below). The first condition is that no signal has already been scheduled or has occurred. The second condition is that crossed
flag 1152 indicates that the object has actually crossed the reference point. The third condition is the good points counter (g) 1174 (maintained by the decision process) indicates that at least 3 triplets in the FIFOs have s ≥ 0.75. This third condition is the criterion that the decision process uses to decide that an object is detected. Whether or not a signal is scheduled, control returns to resetstep 1100. - If
presence test step 1106 judges that the level of confidence is sufficient (score 1160 ≥ 0.6), missinginitialize step 1114sets missing counter 1150 to 0. Secondactive test step 1116 determines whether or not this is the first image of a new object. If it is ("yes" branch),hysteresis test step 1121 determines whether or not the object appears sufficiently upstream of reference point (r) 1154. If not ("no" branch), control transfers to capturestep 1102, and selection remains inactive. If the object is sufficiently upstream, crossedinitialize step 1122 sets crossedflag 1152 to false. Selection now becomes active. - If second
active test step 1116 indicates that this is not the first image of a new object ("no" branch),cross test step 1118 and cross setstep 1120 set crossedflag 1152 to true if the object crossesreference point 1154. - When control transfers to line fit step 1124 (a portion of the decision process), object measurements score 1160 and
position 1162 have been selected, and capturetime 1164 is available. These values are used to calculate a best fit line as described above in relation tofigures 8, 9 , and10 , and below in relation tofigure 12 . The results of these calculations include signal time (z) 1170, object velocity (v) 1172, and good points counter (g) 1174. - Running
decision step 1126 implements the signal scheduling rules described in relation tofigures 8, 9 , and10 . A signal is scheduled forsignal time 1170 bysecond signal step 1128 if four conditions are met: - 1. The signal has not already happened;
- 2.
Signal time 1170 is within 1 ms. of the current time (which includes cases where the current time has passed signal time 1170); - 3.
Object velocity 1172 indicates downstream motion (crossedflag 1152 cannot be used here because the object may only be predicted to crossreference point 1154 at some future time; requiring downstream motion is a suitable alternative); - 4. Good points counter 1174 indicates that at least 3 triplets in the FIFOs have s ≥ 0.75.
-
Centered test step 1130 implements the rule described above for the case where the FIFOs are full and the x measurements are centered aroundreference point 1154. Note that the test for centered measurements is written as Σx > 128r, which requires that the average x in the FIFO exceedsreference point 1154. The assumptions here apply to the illustrative embodiment: the direction of motion is positive and the FIFOs contain 128 elements. The test is written to avoid a divide, which is typically much more expensive than a multiply. Of course dividing by 128 is just an inexpensive shift, but in other embodiments the FIFO size might not be a power of 2. - If centered
test step 1130 passes ("yes" branch"), control transfers tofinal decision step 1132 and selection will become inactive atreset step 1100. If the test fails ("no" branch), control passes to capturestep 1102 and selection remains active. - In should be noted that in the illustrative embodiment, if a scheduled signal occurs it does not cause selection to become inactive. No additional signal will be scheduled because running
decision step 1126 andfinal decision step 1132 will always fail ("no" branches), but selection waits for the object to pass through to FOV, or for the x measurement to be centered, before becoming inactive. This is further insurance (in addition to the hysteresis provided by hysteresis test step 1121) against multiple detections for one object. - Other benefits arise from keeping selection active even though a signal has already occurred. One is that an interpolated reference time can be obtained some time after the reference point has been crossed. This should be more accurate than any predicted time, and can be compared with a predicted time to assess system accuracy and to automatically adjust to eliminate any residual latency in the system. Another is that other characteristics of the object (such as its velocity) can be obtained and, if desired, communicated by means of other signals.
-
Missing counter 1150, crossedflag 1152,reference point 1154,score 1160,position 1162,capture time 1164,signal time 1170,velocity 1172, and good points counter 1174 are stored inmemory 1180, which can be a portion ofSRAM 320. - The forgoing discussion of a selection process pertains to specific embodiments and it is contemplated that significant modifications or entirely different methods and processes that occur to one skilled in the art can be used to achieve similar effects, or other desired effects in accordance with the teachings described herein. For example, all of the numerical constants used are understood to be examples and not limiting. The rules for scheduling a signal can be changed as appropriate. There need not be a limit on the number of triplets used for an object. Good points counter 1174 can be eliminated, or replaced with different statistics such as an average of the scores in the FIFO, for example.
-
Figure 12 shows adecision process portion 1280 used in the illustrative embodiment described above in relation tofigures 8, 9 ,10 , and11 . A capture process providesimage 1200, and normalizedcorrelation process 1210 usesmodel 1202 to produce image measurements position (x) 1216 and score (s) 1218. A capture process usesclock 1212 to produce capture time (t) 1214. - Selected (s, t, x) triplets are passed to
decision process portion 1280 and placed incapture time FIFO 1220,position FIFO 1222, and scoreFIFO 1224, which together comprise FIFOs 1226 as further described above. Selected (s, t, x) triplets are also passed tostatistics element 1230, which computes Σt, Σt 2 , Σx, Σtx, and Σ(s≥ 0.75) as required for the well-known least-squared line fit and for good points counter 1174. Sums are computed byaddition element 1232, and are taken over all the triplets in FIFOs 1226. - If FIFOs 1226 are full when a new (s, t, x) triplet is selected, the oldest triplet is passed to
subtraction element 1234 which subtracts from the above sums as required to effectively deselect the measurements. It can be seen that at most one set of additions and one set of subtractions are needed for each selected (s, t, x) triplet; it is not necessary to recompute the sums over the entire contents of FIFOs 1226 for each triplet. - For reasons of numerical accuracy and computational efficiency, it is desirable to keep all of the sums using t values that are relative to the oldest time in
capture time FIFO 1220. This requires a somewhat more complex procedure for handling a new triplet when FIFOs 1226 are full, but the extra cost of doing so is more than offset by other savings in many embodiments. - In the formulas below for updating the sums when FIFOs 1226 are full, make the following definitions:
- t
-
new capture time 1214 - x
-
new position 1216 - t 0
- oldest time from
capture time FIFO 1220 - t 1
- second oldest time from
capture time FIFO 1220 - x 0
- oldest position from
position FIFO 1222 - T
- current Σt
- Q
- current Σt 2
- X
- current Σx
- C
- current Σtx
- T'
- updated Σt
- Q'
- updated Σt 2
- X'
- updated Σx
- C'
- updated Σtx
- N
- size of FIFOs 1226 (128 in illustrative embodiment)
- t u
- t 1 - t 0
- t v
- t - t 0
-
- For each selected (s, t, x) triplet,
detection element 1240 decides whether or not there are at least 3 scores inscore FIFO 1224 that are at least 0.75, i.e. [Σ(s≥ 0.75)] ≥ 3. If not, the decision process judges that no object has yet been detected and so no signal is produced by signalingprocess 1260.Detection element 1240 corresponds to a portion of runningdecision step 1126 andfinal decision step 1132, wherein a test is made for good points counter (g) 1174 ≥ 3. - For each selected (s, t, x) triplet, line
fit element 1250 uses sums computed bystatistics element 1230,latency value 1252, andreference point value 1254, to compute a best-fit line and, from the parameters of that line,signal time 1170 used by the selection process offigure 11 andsignaling process 1260, and objectvelocity 1172 used by the selection process offigure 11 . Well-known formulas are used to compute the best-fit line,signal time 1170, and object velocity 1172 (which is just the slope of the best-fit line). -
Latency value 1252 andreference point value 1254 are stored in SRAM 320 (figure 3 ), and can be adjusted if desired usingHMI 350. - The forgoing discussion of a decision process pertains to specific embodiments and it is contemplated that significant modifications or entirely different methods and processes that occur to one skilled in the art can be used to achieve similar effects, or other desired effects in accordance with the teachings described herein. For example, all of the numerical constants used are understood to be examples and not limiting. Other curves can be fit to the points instead of a line. A weighted line fit can be used, where for example the weights are a function of the age of the points.
- The signaling process of an illustrative embodiment has been described above in relation to
timer 334 and signal 362 offigure 3 ; signal scheduling in relation tofigures 8, 9 , and10 ;pulse edge 1050 offigure 10 ;first signal step 1134 andsecond signal step 1128 offigure 11 ; andsignaling process 1260 offigure 12 . -
Timer 334 is set up to run at 1/32 ofmicrocontroller 300 clock rate, giving a resolution of 0.64 µs. It can easily be set up to produce a pulse after a programmable delay (see ATMEL document 6175E-ATARM-04-Apr-06), which would be equal to the difference between the desired signal time and the current time. - To achieve slightly higher timing accuracy,
timer 334 is used for bothclock 1212 and pulse edge 1050 (which appears on signal 362). When a signal is scheduled for a certain time, the compare registers oftimer 334 are set to produce the pulse edges The compare registers are set on-the-fly, without stopping the timer, and only if the pulse has not yet started due to a previous scheduling. The desired operation can be achieved with a suitable assembly language routine that runs with interrupts off. - The forgoing discussion of a signaling process pertains to specific embodiments and it is contemplated that significant modifications or entirely different methods and processes that occur to one skilled in the art can be used to achieve similar effects, or other desired effects in accordance with the teachings described herein. Signals need not be pulse edges and can be produced by many other means known in the art. Many different software and hardware elements can be used to achieve desired effects.
- It will be apparent to one skilled in the art that, based on the above discussion of illustrative measurement, selection, and decision processes, a wide range of object information can be produced by a decision process that analyzes object measurements. This object information includes, but is not limited to, knowledge responsive to object presence in the field of view, and more particularly to a state of being present, or an event comprising a transition among such states, or both.
- Examples of states of being present include, but are not limited to:
- an object is in the FOV;
- an object is in the FOV upstream from a reference point;
- an object is in the FOV downstream from a reference point;
- an object is moving in the FOV at or above a certain velocity; and
- an object is in the FOV between two reference points.
- Examples of events include, but are not limited to:
- an object enters the FOV;
- an object passes through the FOV;
- an object crosses a reference point in either direction;
- an object crosses a reference point in a specific direction;
- an object reaches an apex of motion in the FOV; and
- an object comes to rest in the FOV.
- In order to more fully understand illustrative embodiments that produce knowledge responsive to object presence in the field of view, consider an example. Let M be the set of image measurements produced by a measurement process. Let P be a subset (maybe all) of M containing those image measurements that are responsive to image presence. The selection process is responsive to some or all of P and produces object measurements S, a subset of M. S may contain some, all, or none of P. S is used to get the knowledge responsive to object presence in the field of view. It may be that no measurement in S is responsive to object presence, but still all of S is responsive to the object because of how they were selected.
- To make this concrete, suppose that M includes score and position measurements. Score measurements are responsive to object presence-higher values mean the object is more likely to be present. These are the subset P that the selection step uses. Position measurements are not responsive to object presence-one cannot tell by the value of a position measurement whether an object is present or not. If there is no object, the position measurements will be meaningless (just noise), but one cannot tell that from their values. So the selection step uses the score values (subset P) to select the measurements in S, which may be just position measurements. While those position measurements are not responsive to object presence, the fact that they are selected means that they are responsive to the object because, having been selected responsive to the scores, they are the ones that give valid object positions. A decision process can use these selected object positions to determine, for example, whether an object has crossed a reference point.
-
Figure 13 shows an HMI and example box for a training process, and for setting a reference point, as might be employed in setting up a linear detector for use in the application shown infigure 1 . -
Example box 1300 containing example object 1302 (a label on example box 1300) anddecorative marking 1304 is placed so thatexample object 1302 appears inFOV 1312 of a linear detector (not shown).Reference point 1310 is also shown. -
HMI 1320 containstrain button 1330,run button 1332,negative position indicator 1340,positive position indicator 1342,negative direction indicator 1350, andpositive direction indicator 1352. Whentrain button 1330 is pressed withexample object 1302 inFOV 1312, one or more images are captured and used to create a model as further described above in relation tofigure 5 . -
Train button 1330 can also be used to provide a setup signal used to setreference point 1310. Whentrain button 1330 is pressed withexample object 1302 inFOV 1312, one or more images are captured and used along with a model by a normalized correlation process to findexample object 1302.Reference point 1310 is set to the position found. - Note that
train button 1330 can be used to initiate the training process, to provide a setup signal for setting a reference point, or to accomplish both with a single press of the button. -
Figure 14 showstest object 1400 in three test positions relative toFOV 1412 and reference point 1410:first test position 1450, wheretest object 1400 is at a negative position relative toreference point 1410 withinFOV 1412;second test position 1452 wheretest object 1400 is at a positive position relative toreference point 1410 withinFOV 1412; andthird test position 1454, wheretest object 1400 is so far away fromreference point 1410 that it is no longer be found inFOV 1412. - An HMI comparable to
HMI 1320 offigure 13 is shown in three states corresponding to the three test positions:first HMI 1424 corresponds tofirst test position 1450;second HMI 1434 corresponds tosecond test position 1452; andthird HMI 1444 corresponds tothird test position 1454. Note thatfirst HMI 1424,second HMI 1434, andthird HMI 1444 represent the same HMI in three different states. - Similarly, first
negative position indicator 1420, secondnegative position indicator 1430, and thirdnegative position indicator 1440 represent the same indicator in three different test positions, and firstpositive position indicator 1422, secondpositive position indicator 1432, and thirdpositive position indicator 1442 represent the same indicator in three different test positions. - When
test object 1400 is atfirst test position 1450, firstnegative position indicator 1420 is on and firstpositive position indicator 1422 is off, indicating thattest object 1400 is found inFOV 1412 in a negative position relative toreference point 1410. - When
test object 1400 is atsecond test position 1452, secondnegative position indicator 1430 is off and secondpositive position indicator 1432 is on, indicating thattest object 1400 is found inFOV 1412 in a positive position relative toreference point 1410. - When
test object 1400 is atthird test position 1454, thirdnegative position indicator 1440 and thirdpositive position indicator 1442 are both off, indicating thattest object 1400 cannot be found inFOV 1412. - By using test objects similar to
test object 1400, and indicators as shown and described, an installation technician or other user of a linear detector can verify that a suitable model is in use, and that the reference point is as desired. The indicators should show that a test object is found when one sufficiently similar in appearance to the model in use in placed in the FOV, and should show that nothing is found when no such object is present. -
Figure 15 showsHMI 1520 used to establish positive direction ofmotion 1512 and place the linear detector into a running state.Run button 1550 is pressed to cycle among three states: training mode, withnegative direction indicator 1542 andpositive direction indicator 1540 both off; running with positive direction of motion, withnegative direction indicator 1542 off andpositive direction indicator 1540 on, as shown in the figure; and running with negative direction of motion, withnegative direction indicator 1542 on andpositive direction indicator 1540 off. In an illustrative embodiment, the training process is inhibited when the linear detector is in one of the two running states. - In
FIG. 15 ,object 1500 is inFOV 1514, upstream ofreference point 1510, which corresponds to a negative position since direction ofmotion 1512 is positive.Negative position indicator 1530 is on, andpositive position indicator 1532 is off, indicating theobject 1500 is found at a negative position withinFOV 1514. - The forgoing discussion of an HMI pertains to specific embodiments and it is contemplated that significant modifications or entirely different methods and processes that occur to one skilled in the art can be used to achieve similar effects, or other desired effects in accordance with the teachings described herein. The HMI could make use of a personal computer instead of or in addition to buttons and indicators. The HMI could use alphanumeric indicators instead of simple lights, and could allow setting of any parameter used by an embodiment of the invention.
- The foregoing has been a detailed description of various embodiments of the invention. It is expressly contemplated that a wide range of modifications, omissions, and additions in form and detail can be made hereto without departing from the scope of this invention as defined in the claims. For example, the processors and computing devices herein are exemplary and a variety of processors and computers, both standalone and distributed can be employed to perform computations herein. Likewise, the linear array sensor described herein is exemplary and improved or differing components can be employed within the teachings of this invention. Also, some, or all, of the capture process, measurement process, decision process, and optional signaling process can be combined or parsed differently. Numerical constants used herein pertain to illustrative embodiments; any other suitable values or methods for carrying out the desired operations can be used within the scope of the invention. Accordingly, this description is meant to be taken only by way of example, and not to otherwise limit the scope of this invention, which is defined by the claims.
Claims (15)
- An optoelectronic system for providing information describing an object (114, 210), comprising:an optical sensor (160) that makes light measurements in a field of view (410), the optical sensor comprising a plurality of photoreceptors (162);a motion process means (100, 200) configured to provide relative motion between the object (114, 210) and the field of view (410) in a direction of motion (102, 202), such that the object (114, 210) passes through the field of view (410); andcharacterised in that the optoelectronic system further comprises:a capture process means (340) configured to capture a plurality of one-dimensional images of objects (430) in the field of view (410) illuminated over the imaged region, wherein the capture process means (340) is configured to perform said capture of the plurality of images (430) using said optical sensor (160), whereineach of the plurality of images (430) is responsive to the respective light measurements,the images are oriented approximately parallel to the direction of motion (102, 202), andthe images (430) are obtained from a plurality of viewing perspectives relative to the field of view (410);a measurement process means (310) configured to analyze at least one of the images (430) so as to produce image measurements;a selection process means (310) configured to select object measurements from among the image measurements, the object measurements comprising image measurements that are judged responsive to the object (114, 210); anda decision process means (310) configured to analyze the object measurements so as to provide said information describing the object (114, 210).
- The system of claim 1, wherein said information describing the object includes information indicating a first position of the object and the optoelectronic system is configured to provide a signal to act with respect to the object when the object is at a second, predetermined position relative to the first position.
- The system of claim 1 or 2, wherein
at least one of the image measurements are responsive to presence of the object (114, 210) in the field of view (410);
the selection process means (310) is configured to be responsive to at least one of the image measurements that are responsive to the presence of the object (114, 210) in the field of view (410); and
the information describing the object (114, 210) comprises knowledge responsive to the presence of the object in the field of view (410). - The system of claim 1, 2 or 3, wherein
the motion process means (100, 200) is configured such that the object (114, 210) crosses a reference point at a reference time;
at least one of the image measurements are responsive to position of the object in the field of view (410);
at least one of the object measurements are selected from among the image measurements that are responsive to the position of the object in the field of view (410);
the decision process means (310) is configured to be responsive to at least one of the object measurements that are selected from among the image measurements that are responsive to the object position in the field of view (410); and
the information describing the object comprises an estimate of the reference time. - The system of any one of claims 1 to 4, wherein
the capture process means (340) is configured to produce a plurality of capture times, each capture time being responsive to a time at which a corresponding image (430) was captured; and
the decision process means (310) is configured to be responsive to at least one of the capture times. - The system of any one of claims 1 to 5, wherein the decision process means (310) comprises means configured to fit a curve to points comprising at least one of the capture times and corresponding object measurements that are selected from among the image measurements that are responsive to object position in the field of view (410).
- The system of claim 4, further comprising a signalling process means (310) configured to produce a signal responsive to the information describing the object (114, 210), and wherein the signal indicates the information describing the object (114, 210) by occurring at a signal time that is responsive to the estimate of the reference time.
- The system of claim 7, wherein there is no latency between the reference time and the signal time.
- The system of one of claims 4 to 8, wherein the decision process means (310) is configured to determine the estimate of the reference time by predicting the reference time.
- The system of any one of claims 4 to 9, further comprising
an example object (114, 210); and
a setup signal that indicates that the example object (114, 210) is placed in the field of view (410) at a setup position;
and wherein the reference point is set responsive to the example object (114, 210), the setup signal, and the setup position. - The system of any one of claims 1 to 10, further comprising a signalling process means (310) that is configured to produce a signal responsive to the information describing the object (114, 210), such that the signal occurs at a time when the object (114, 210) crosses the setup position.
- The system of any one of claims 4 to 11, further comprising
a test object (114, 210); and
a human-machine interface comprising an indicator that indicates a detection state chosen from among:the test object (114, 210) is detected upstream from the reference point;the test object (114, 210) is detected downstream from the reference point; andthe test object (114, 210) is not detected. - The system as claimed in any one of claims 1 to 12,
wherein the measurement process means (310) comprises a pattern detection process means, preferably wherein the pattern detection process means (310) comprises a normalized correlation process means and/or
the system further comprising:an example object (114, 210); anda training process means (310) configured to obtain a model pattern responsive to the example object;and wherein the pattern detection process means (310) is configured to be responsive to the model pattern. - The system as claimed in any of claims 1 to 13, wherein the optical sensor comprises a linear optical sensor comprising a one-dimensional array of photoreceptors.
- The system as claimed in any of claims 1 to 14, further comprising an automation system configured to receive said signal to act with respect to the object.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP12181715.9A EP2528041B1 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/763,752 US8237099B2 (en) | 2007-06-15 | 2007-06-15 | Method and system for optoelectronic detection and location of objects |
PCT/US2008/007280 WO2008156608A2 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12181715.9A Division-Into EP2528041B1 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
EP12181715.9A Division EP2528041B1 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2158500A2 EP2158500A2 (en) | 2010-03-03 |
EP2158500B1 true EP2158500B1 (en) | 2014-04-30 |
Family
ID=40032565
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12181715.9A Active EP2528041B1 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
EP08779633.0A Active EP2158500B1 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12181715.9A Active EP2528041B1 (en) | 2007-06-15 | 2008-06-11 | Method and system for optoelectronic detection and location of objects |
Country Status (4)
Country | Link |
---|---|
US (2) | US8237099B2 (en) |
EP (2) | EP2528041B1 (en) |
JP (2) | JP5642541B2 (en) |
WO (1) | WO2008156608A2 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092841B2 (en) | 2004-06-09 | 2015-07-28 | Cognex Technology And Investment Llc | Method and apparatus for visual detection and inspection of objects |
US8127247B2 (en) | 2004-06-09 | 2012-02-28 | Cognex Corporation | Human-machine-interface and method for manipulating data in a machine vision system |
US8243986B2 (en) * | 2004-06-09 | 2012-08-14 | Cognex Technology And Investment Corporation | Method and apparatus for automatic visual event detection |
US8891852B2 (en) | 2004-06-09 | 2014-11-18 | Cognex Technology And Investment Corporation | Method and apparatus for configuring and testing a machine vision detector |
US20050276445A1 (en) * | 2004-06-09 | 2005-12-15 | Silver William M | Method and apparatus for automatic visual detection, recording, and retrieval of events |
US9659769B1 (en) | 2004-10-22 | 2017-05-23 | Novellus Systems, Inc. | Tensile dielectric films using UV curing |
US9292187B2 (en) | 2004-11-12 | 2016-03-22 | Cognex Corporation | System, method and graphical user interface for displaying and controlling vision system operating parameters |
US8889233B1 (en) | 2005-04-26 | 2014-11-18 | Novellus Systems, Inc. | Method for reducing stress in porous dielectric films |
US8454750B1 (en) | 2005-04-26 | 2013-06-04 | Novellus Systems, Inc. | Multi-station sequential curing of dielectric films |
US8980769B1 (en) | 2005-04-26 | 2015-03-17 | Novellus Systems, Inc. | Multi-station sequential curing of dielectric films |
US10037905B2 (en) | 2009-11-12 | 2018-07-31 | Novellus Systems, Inc. | UV and reducing treatment for K recovery and surface clean in semiconductor processing |
US8237099B2 (en) | 2007-06-15 | 2012-08-07 | Cognex Corporation | Method and system for optoelectronic detection and location of objects |
US8718319B2 (en) * | 2007-06-15 | 2014-05-06 | Cognex Corporation | Method and system for optoelectronic detection and location of objects |
US8238639B2 (en) * | 2008-04-09 | 2012-08-07 | Cognex Corporation | Method and system for dynamic feature detection |
US9050623B1 (en) | 2008-09-12 | 2015-06-09 | Novellus Systems, Inc. | Progressive UV cure |
US20100199475A1 (en) * | 2009-02-06 | 2010-08-12 | Tremblay Robert J | System and method for utilizing a linear sensor |
FI20115326A0 (en) * | 2011-04-05 | 2011-04-05 | Zenrobotics Oy | Procedure for canceling sensor measurements after a picking function in a robotic system |
US9651499B2 (en) | 2011-12-20 | 2017-05-16 | Cognex Corporation | Configurable image trigger for a vision system and method for using the same |
US9502255B2 (en) | 2014-10-17 | 2016-11-22 | Lam Research Corporation | Low-k damage repair and pore sealing agents with photosensitive end groups |
DE102015107730B4 (en) * | 2015-05-18 | 2020-07-23 | Hmgeb Holding B.V. | Blister tape inspection device |
CN106002826B (en) * | 2016-07-11 | 2018-04-10 | 京东方科技集团股份有限公司 | Lamp bar assembling device and the method using its progress lamp bar assembling |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE394146B (en) * | 1975-10-16 | 1977-06-06 | L Olesen | SATURATION DEVICE RESP CONTROL OF A FOREMAL, IN ESPECIALLY THE SPEED OF A VEHICLE. |
US4384195A (en) * | 1980-06-09 | 1983-05-17 | The Coe Manufacturing Company | Edge-responsive apparatus for counting conveyor-transported articles |
JPS60132473A (en) * | 1983-12-20 | 1985-07-15 | Asahi Optical Co Ltd | Automatic focusing device of video camera |
JPS60147602A (en) * | 1984-01-13 | 1985-08-03 | Yamatake Honeywell Co Ltd | Mark sensor |
DE3617774C2 (en) * | 1985-05-27 | 1994-04-21 | Fuji Electric Co Ltd | Serial data processing device |
JPS63179206A (en) * | 1987-01-21 | 1988-07-23 | Teijin Eng Kk | Method and device for measuring size |
US4847772A (en) * | 1987-02-17 | 1989-07-11 | Regents Of The University Of Minnesota | Vehicle detection through image processing for traffic surveillance and control |
US4896211A (en) * | 1988-04-26 | 1990-01-23 | Picker International, Inc. | Asynchronously triggered single field transfer video camera |
US5018213A (en) * | 1988-05-11 | 1991-05-21 | Web Printing Controls Co., Inc. | Method and apparatus for registration mark identification |
GB8824258D0 (en) | 1988-10-17 | 1988-11-23 | Gifford Eng Ltd | Scanning system |
US4962538A (en) * | 1989-02-13 | 1990-10-09 | Comar, Inc. | Image analysis counting system |
JP2771594B2 (en) * | 1989-05-11 | 1998-07-02 | 株式会社キーエンス | Method and apparatus for measuring displacement of object |
JP2633694B2 (en) * | 1989-08-25 | 1997-07-23 | フジテック 株式会社 | Person detection device |
US5040056A (en) * | 1990-01-29 | 1991-08-13 | Technistar Corporation | Automated system for locating and transferring objects on a conveyor belt |
US5210798A (en) * | 1990-07-19 | 1993-05-11 | Litton Systems, Inc. | Vector neural network for low signal-to-noise ratio detection of a target |
US5184217A (en) * | 1990-08-02 | 1993-02-02 | Doering John W | System for automatically inspecting a flat sheet part |
US5233541A (en) * | 1990-08-10 | 1993-08-03 | Kaman Aerospace Corporation | Automatic target detection process |
US5317645A (en) * | 1991-02-28 | 1994-05-31 | Kirby Lester Inc. | Method and apparatus for the recognition and counting of discrete objects |
US5164998A (en) * | 1991-03-04 | 1992-11-17 | Reinsch Roger A | Apparatus and method for image pattern analysis |
US5619593A (en) * | 1991-09-12 | 1997-04-08 | Fuji Photo Film Co., Ltd. | Method for extracting object images and method for detecting movements thereof |
JPH0578048A (en) * | 1991-09-19 | 1993-03-30 | Hitachi Ltd | Detecting device for waiting passenger in elevator hall |
EP0631683B1 (en) * | 1992-03-20 | 2001-08-01 | Commonwealth Scientific And Industrial Research Organisation | An object monitoring system |
JPH06147602A (en) | 1992-11-06 | 1994-05-27 | Matsushita Seiko Co Ltd | Defroster |
US5481712A (en) * | 1993-04-06 | 1996-01-02 | Cognex Corporation | Method and apparatus for interactively generating a computer program for machine vision analysis of an object |
DE69429006T2 (en) * | 1993-08-26 | 2002-07-18 | The Regents Of The University Of California, Oakland | NEURONAL NETWORK TOPOGRAPHIC SENSOR ORGANS AND METHOD |
US5687249A (en) * | 1993-09-06 | 1997-11-11 | Nippon Telephone And Telegraph | Method and apparatus for extracting features of moving objects |
US5943432A (en) * | 1993-11-17 | 1999-08-24 | Gilmore; Jack R. | Postage due detection system |
US5581625A (en) * | 1994-01-31 | 1996-12-03 | International Business Machines Corporation | Stereo vision system for counting items in a queue |
US5942741A (en) * | 1994-03-04 | 1999-08-24 | Welch Allyn, Inc. | Apparatus for optimizing throughput in decoded-output scanners and method of using same |
US5932862A (en) * | 1994-03-04 | 1999-08-03 | Welch Allyn, Inc. | Optical reader having improved scanning-decoding features |
US5852669A (en) * | 1994-04-06 | 1998-12-22 | Lucent Technologies Inc. | Automatic face and facial feature location detection for low bit rate model-assisted H.261 compatible coding of video |
US5457490A (en) * | 1994-04-28 | 1995-10-10 | Texas Instruments Incorporated | Device and method for acquiring substantially centered images of moving items |
US6885968B2 (en) * | 2000-05-08 | 2005-04-26 | Automotive Technologies International, Inc. | Vehicular exterior identification and monitoring system-agricultural product distribution |
US5734742A (en) * | 1994-09-19 | 1998-03-31 | Nissan Motor Co., Ltd. | Inspection system and process |
WO1996031067A1 (en) | 1995-03-24 | 1996-10-03 | Ppt Vision, Inc. | High speed digital video serial link |
CA2172791C (en) * | 1995-03-31 | 2000-11-14 | Teruyoshi Washizawa | Method and apparatus for processing visual information |
US5781648A (en) * | 1995-04-07 | 1998-07-14 | California Institute Of Technology | Pulse domain neuromorphic integrated circuit for computing motion |
AR002082A1 (en) * | 1995-05-25 | 1998-01-07 | Gillette Co | METHOD TO PRODUCE A CUTTING EDGE IN A METAL STRIP AND THE APPLIANCE TO PERFORM IT |
JP2000501184A (en) * | 1995-11-30 | 2000-02-02 | クロマビジョン メディカル システムズ,インコーポレイテッド | Method and apparatus for automatic image analysis of biological specimens |
US5802220A (en) * | 1995-12-15 | 1998-09-01 | Xerox Corporation | Apparatus and method for tracking facial motion through a sequence of images |
GB9600348D0 (en) | 1996-01-09 | 1996-03-13 | Intelligent Manufacturing Syst | Inspection systems |
US6049619A (en) * | 1996-02-12 | 2000-04-11 | Sarnoff Corporation | Method and apparatus for detecting moving objects in two- and three-dimensional scenes |
US6259827B1 (en) * | 1996-03-21 | 2001-07-10 | Cognex Corporation | Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images |
IT1283729B1 (en) * | 1996-04-12 | 1998-04-30 | Datologic S P A | ELECTROOPTIC DEVICE TO DETECT THE PRESENCE OF AN ADJUSTABLE REMOTE BODY WITH BACKGROUND SUPPRESSION |
US6061471A (en) * | 1996-06-07 | 2000-05-09 | Electronic Data Systems Corporation | Method and system for detecting uniform images in video signal |
US6081606A (en) * | 1996-06-17 | 2000-06-27 | Sarnoff Corporation | Apparatus and a method for detecting motion within an image sequence |
CA2260195C (en) * | 1996-06-28 | 2003-09-23 | T. Eric Hopkins | Image acquisition system |
IT1286684B1 (en) * | 1996-07-26 | 1998-07-15 | Paolo Sodi | DEVICE AND METHOD FOR DETECTION OF ROAD INFRINGEMENTS WITH DYNAMIC POINTING SYSTEMS |
JP3129245B2 (en) * | 1996-10-31 | 2001-01-29 | オムロン株式会社 | Imaging device |
US5960125A (en) * | 1996-11-21 | 1999-09-28 | Cognex Corporation | Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object |
US6526156B1 (en) * | 1997-01-10 | 2003-02-25 | Xerox Corporation | Apparatus and method for identifying and tracking objects with view-based representations |
US5960097A (en) * | 1997-01-21 | 1999-09-28 | Raytheon Company | Background adaptive target detection and tracking with multiple observation and processing stages |
EP0880023A1 (en) * | 1997-05-23 | 1998-11-25 | Siemag Transplan Gmbh | Method and device for the automatic detection of surface faults during the continuous mechanical removal of material from casted products |
JPH10334221A (en) * | 1997-05-30 | 1998-12-18 | Fanuc Ltd | Image acquisition device |
US6346966B1 (en) * | 1997-07-07 | 2002-02-12 | Agilent Technologies, Inc. | Image acquisition system for machine vision applications |
US6618074B1 (en) * | 1997-08-01 | 2003-09-09 | Wells Fargo Alarm Systems, Inc. | Central alarm computer for video security system |
US7088387B1 (en) * | 1997-08-05 | 2006-08-08 | Mitsubishi Electric Research Laboratories, Inc. | Video recording device responsive to triggering event |
JP3512988B2 (en) * | 1997-08-12 | 2004-03-31 | 株式会社東芝 | Image processing device |
US6072882A (en) * | 1997-08-29 | 2000-06-06 | Conexant Systems, Inc. | Method and apparatus for sensing an audio signal that is sensitive to the audio signal and insensitive to background noise |
JP3114668B2 (en) * | 1997-10-03 | 2000-12-04 | 日本電気株式会社 | Object detection / background removal method, apparatus, and recording medium recording program |
US6072494A (en) * | 1997-10-15 | 2000-06-06 | Electric Planet, Inc. | Method and apparatus for real-time gesture recognition |
US6173070B1 (en) * | 1997-12-30 | 2001-01-09 | Cognex Corporation | Machine vision method using search models to find features in three dimensional images |
US6175652B1 (en) * | 1997-12-31 | 2001-01-16 | Cognex Corporation | Machine vision system for analyzing features based on multiple object images |
US6587122B1 (en) * | 1998-01-30 | 2003-07-01 | Rockwell Automation Technologies, Inc. | Instruction syntax help information |
US6545705B1 (en) * | 1998-04-10 | 2003-04-08 | Lynx System Developers, Inc. | Camera with object recognition/data output |
US6175644B1 (en) * | 1998-05-01 | 2001-01-16 | Cognex Corporation | Machine vision system for object feature analysis and validation based on multiple object images |
JP2000021738A (en) * | 1998-06-26 | 2000-01-21 | Nikon Corp | Position detecting apparatus and method using the apparatus |
WO2000031707A1 (en) * | 1998-11-23 | 2000-06-02 | Nestor, Inc. | Non-violation event filtering for a traffic light violation detection system |
US6608930B1 (en) * | 1999-08-09 | 2003-08-19 | Koninklijke Philips Electronics N.V. | Method and system for analyzing video content using detected text in video frames |
JP3826598B2 (en) * | 1999-01-29 | 2006-09-27 | 株式会社日立製作所 | Image monitoring apparatus and recording medium |
TW413795B (en) * | 1999-02-26 | 2000-12-01 | Cyberlink Corp | An image processing method of 3-D head motion with three face feature points |
US6396517B1 (en) * | 1999-03-01 | 2002-05-28 | Agilent Technologies, Inc. | Integrated trigger function display system and methodology for trigger definition development in a signal measurement system having a graphical user interface |
JP2000292123A (en) * | 1999-04-05 | 2000-10-20 | Toshiba Corp | Shape measuring apparatus |
US6944584B1 (en) * | 1999-04-16 | 2005-09-13 | Brooks Automation, Inc. | System and method for control and simulation |
JP2000339923A (en) * | 1999-05-27 | 2000-12-08 | Mitsubishi Electric Corp | Apparatus and method for collecting image |
US6487304B1 (en) * | 1999-06-16 | 2002-11-26 | Microsoft Corporation | Multi-view approach to motion and stereo |
US6597381B1 (en) * | 1999-07-24 | 2003-07-22 | Intelligent Reasoning Systems, Inc. | User interface for automated optical inspection systems |
US6483935B1 (en) * | 1999-10-29 | 2002-11-19 | Cognex Corporation | System and method for counting parts in multiple fields of view using machine vision |
US6525810B1 (en) * | 1999-11-11 | 2003-02-25 | Imagexpert, Inc. | Non-contact vision based inspection system for flat specular parts |
US6549647B1 (en) * | 2000-01-07 | 2003-04-15 | Cyberoptics Corporation | Inspection system with vibration resistant video capture |
US6301610B1 (en) * | 2000-02-11 | 2001-10-09 | Union Switch & Signal, Inc. | Communication system |
US6681195B1 (en) * | 2000-03-22 | 2004-01-20 | Laser Technology, Inc. | Compact speed measurement system with onsite digital image capture, processing, and portable display |
US6891570B2 (en) * | 2001-01-31 | 2005-05-10 | Itt Manufacturing Enterprises Inc. | Method and adaptively deriving exposure time and frame rate from image motion |
EP1249415A3 (en) * | 2001-04-14 | 2004-02-04 | NexPress Solutions LLC | Method and device for measuring positions of continuously moving sheets |
US6347762B1 (en) * | 2001-05-07 | 2002-02-19 | The United States Of America As Represented By The Secretary Of The Army | Multispectral-hyperspectral sensing system |
US20020196336A1 (en) * | 2001-06-19 | 2002-12-26 | Applied Materials, Inc. | Method and apparatus for substrate imaging |
AU2002310496A1 (en) | 2001-06-21 | 2003-01-08 | Walker Digital, Llc | Methods and systems for documenting a player's experience in a casino environment |
US7274800B2 (en) * | 2001-07-18 | 2007-09-25 | Intel Corporation | Dynamic gesture recognition from stereo sequences |
US6997556B2 (en) * | 2001-10-01 | 2006-02-14 | Ernst Pfleger | Method for detecting, evaluating, and analyzing look sequences |
US7085401B2 (en) | 2001-10-31 | 2006-08-01 | Infowrap Systems Ltd. | Automatic object extraction |
US6646244B2 (en) * | 2001-12-19 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | Optical imaging device with speed variable illumination |
US7305114B2 (en) * | 2001-12-26 | 2007-12-04 | Cognex Technology And Investment Corporation | Human/machine interface for a machine vision sensor and method for installing and operating the same |
JP3885999B2 (en) | 2001-12-28 | 2007-02-28 | 本田技研工業株式会社 | Object detection device |
US20030137590A1 (en) * | 2002-01-18 | 2003-07-24 | Barnes Danny S. | Machine vision system with auxiliary video input |
US9092841B2 (en) * | 2004-06-09 | 2015-07-28 | Cognex Technology And Investment Llc | Method and apparatus for visual detection and inspection of objects |
WO2003088157A1 (en) | 2002-04-08 | 2003-10-23 | Newton Security Inc. | Tailgating and reverse entry detection, alarm, recording and prevention using machine vision |
US6954544B2 (en) | 2002-05-23 | 2005-10-11 | Xerox Corporation | Visual motion analysis method for detecting arbitrary numbers of moving objects in image sequences |
US7227978B2 (en) * | 2002-06-20 | 2007-06-05 | Casio Computer Co., Ltd. | Image input device |
US6999625B1 (en) | 2002-07-12 | 2006-02-14 | The United States Of America As Represented By The Secretary Of The Navy | Feature-based detection and context discriminate classification for digital images |
US7602962B2 (en) * | 2003-02-25 | 2009-10-13 | Hitachi High-Technologies Corporation | Method of classifying defects using multiple inspection machines |
GB0305304D0 (en) | 2003-03-07 | 2003-04-09 | Qinetiq Ltd | Scanning apparatus and method |
US7274808B2 (en) * | 2003-04-18 | 2007-09-25 | Avago Technologies Ecbu Ip (Singapore)Pte Ltd | Imaging system and apparatus for combining finger recognition and finger navigation |
US20070282480A1 (en) | 2003-11-10 | 2007-12-06 | Pannese Patrick D | Methods and systems for controlling a semiconductor fabrication process |
US7088846B2 (en) | 2003-11-17 | 2006-08-08 | Vidient Systems, Inc. | Video surveillance system that detects predefined behaviors based on predetermined patterns of movement through zones |
JP3834041B2 (en) | 2004-03-31 | 2006-10-18 | オリンパス株式会社 | Learning type classification apparatus and learning type classification method |
US8165355B2 (en) * | 2006-09-11 | 2012-04-24 | Validity Sensors, Inc. | Method and apparatus for fingerprint motion tracking using an in-line array for use in navigation applications |
US8229184B2 (en) * | 2004-04-16 | 2012-07-24 | Validity Sensors, Inc. | Method and algorithm for accurate finger motion tracking |
US8175345B2 (en) * | 2004-04-16 | 2012-05-08 | Validity Sensors, Inc. | Unitized ergonomic two-dimensional fingerprint motion tracking device and method |
US8131026B2 (en) * | 2004-04-16 | 2012-03-06 | Validity Sensors, Inc. | Method and apparatus for fingerprint image reconstruction |
US20050276445A1 (en) * | 2004-06-09 | 2005-12-15 | Silver William M | Method and apparatus for automatic visual detection, recording, and retrieval of events |
EP1766364B1 (en) * | 2004-06-09 | 2018-12-19 | Cognex Technology and Investment Corporation | Method and apparatus for visual detection and inspection of objects |
US7175090B2 (en) * | 2004-08-30 | 2007-02-13 | Cognex Technology And Investment Corporation | Methods and apparatus for reading bar code identifications |
US20080166015A1 (en) | 2004-09-24 | 2008-07-10 | Object Video, Inc. | Method for finding paths in video |
US8169484B2 (en) * | 2005-07-05 | 2012-05-01 | Shai Silberstein | Photography-specific digital camera apparatus and methods useful in conjunction therewith |
JP2007139756A (en) * | 2005-10-17 | 2007-06-07 | Ricoh Co Ltd | Relative position detection apparatus, rotator travel detection apparatus, and image forming apparatus |
JP2007111966A (en) * | 2005-10-20 | 2007-05-10 | Dainippon Printing Co Ltd | Method and apparatus for metering deviation of registering |
US7546026B2 (en) * | 2005-10-25 | 2009-06-09 | Zoran Corporation | Camera exposure optimization techniques that take camera and scene motion into account |
US8237099B2 (en) * | 2007-06-15 | 2012-08-07 | Cognex Corporation | Method and system for optoelectronic detection and location of objects |
US8718319B2 (en) * | 2007-06-15 | 2014-05-06 | Cognex Corporation | Method and system for optoelectronic detection and location of objects |
US9734376B2 (en) * | 2007-11-13 | 2017-08-15 | Cognex Corporation | System and method for reading patterns using multiple image frames |
US8204281B2 (en) * | 2007-12-14 | 2012-06-19 | Validity Sensors, Inc. | System and method to remove artifacts from fingerprint sensor scans |
US8238639B2 (en) * | 2008-04-09 | 2012-08-07 | Cognex Corporation | Method and system for dynamic feature detection |
US8464950B2 (en) * | 2008-12-22 | 2013-06-18 | Cognex Corporation | Fast vision system |
-
2007
- 2007-06-15 US US11/763,752 patent/US8237099B2/en not_active Expired - Fee Related
-
2008
- 2008-06-11 EP EP12181715.9A patent/EP2528041B1/en active Active
- 2008-06-11 WO PCT/US2008/007280 patent/WO2008156608A2/en active Application Filing
- 2008-06-11 JP JP2010512170A patent/JP5642541B2/en active Active
- 2008-06-11 EP EP08779633.0A patent/EP2158500B1/en active Active
-
2012
- 2012-07-26 US US13/558,828 patent/US8927917B2/en active Active
-
2014
- 2014-06-25 JP JP2014129880A patent/JP6054917B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2010530070A (en) | 2010-09-02 |
JP2014222235A (en) | 2014-11-27 |
US8237099B2 (en) | 2012-08-07 |
WO2008156608A3 (en) | 2009-02-19 |
JP6054917B2 (en) | 2016-12-27 |
EP2528041A1 (en) | 2012-11-28 |
EP2158500A2 (en) | 2010-03-03 |
US8927917B2 (en) | 2015-01-06 |
US20080309920A1 (en) | 2008-12-18 |
EP2528041B1 (en) | 2014-05-14 |
US20130039536A1 (en) | 2013-02-14 |
JP5642541B2 (en) | 2014-12-17 |
WO2008156608A2 (en) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2158500B1 (en) | Method and system for optoelectronic detection and location of objects | |
US8718319B2 (en) | Method and system for optoelectronic detection and location of objects | |
US5319442A (en) | Optical inspection probe | |
US6369401B1 (en) | Three-dimensional optical volume measurement for objects to be categorized | |
US8411929B2 (en) | Method and system for dynamic feature detection | |
US7545949B2 (en) | Method for setting parameters of a vision detector using production line information | |
CN107084663B (en) | Position determining method, measuring device and measuring system | |
EP1766575B1 (en) | Method and apparatus for configuring and testing a machine vision detector | |
US4962538A (en) | Image analysis counting system | |
US8687060B1 (en) | System and method for providing distance-based pulses relative to motion of a surface scanned by a vision system | |
US10440217B2 (en) | Apparatus and method for processing three dimensional image | |
CN113554637B (en) | Method and device for detecting dirt on camera cover plate | |
CN111397517A (en) | Pole piece size detection method and pole piece size detection system | |
CN109230353A (en) | A kind of belt slippage detection system of belt conveyor | |
US20100199475A1 (en) | System and method for utilizing a linear sensor | |
JPH07128013A (en) | Optical position detector | |
CN117589061A (en) | Workpiece position detection system | |
JP2006133050A (en) | Count sensor | |
JPH04200337A (en) | Device for inspecting pottery product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20091216 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
AX | Request for extension of the european patent |
Extension state: AL BA MK RS |
|
17Q | First examination report despatched |
Effective date: 20100817 |
|
DAX | Request for extension of the european patent (deleted) | ||
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G01S 17/89 20060101ALI20130613BHEP Ipc: G06T 7/20 20060101ALI20130613BHEP Ipc: G01S 7/48 20060101AFI20130613BHEP Ipc: G01S 5/16 20060101ALI20130613BHEP |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
INTG | Intention to grant announced |
Effective date: 20130726 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 665477 Country of ref document: AT Kind code of ref document: T Effective date: 20140515 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602008031895 Country of ref document: DE Effective date: 20140612 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 665477 Country of ref document: AT Kind code of ref document: T Effective date: 20140430 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: VDEP Effective date: 20140430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140830 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140730 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140730 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140731 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140901 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140611 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 Ref country code: BE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602008031895 Country of ref document: DE |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20140730 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20150227 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
26N | No opposition filed |
Effective date: 20150202 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140630 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140611 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140630 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602008031895 Country of ref document: DE Effective date: 20150202 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140630 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20140730 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20080611 Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20140430 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230525 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20240328 Year of fee payment: 17 |