DE102014107143B4 - System and method for measuring the displacement of an object surface - Google Patents

System and method for measuring the displacement of an object surface Download PDF

Info

Publication number
DE102014107143B4
DE102014107143B4 DE102014107143.3A DE102014107143A DE102014107143B4 DE 102014107143 B4 DE102014107143 B4 DE 102014107143B4 DE 102014107143 A DE102014107143 A DE 102014107143A DE 102014107143 B4 DE102014107143 B4 DE 102014107143B4
Authority
DE
Germany
Prior art keywords
image
height
laser line
pixel
grayscale
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
Application number
DE102014107143.3A
Other languages
German (de)
Other versions
DE102014107143A1 (en
Inventor
Robert A. Wolff
Michael C. Moed
Mikhail Akopyan
Robert Tremblay
Willard Foster
Aaron S. Wallack
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US14/149,774 external-priority patent/US9605950B2/en
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE102014107143A1 publication Critical patent/DE102014107143A1/en
Application granted granted Critical
Publication of DE102014107143B4 publication Critical patent/DE102014107143B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/06Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness for measuring thickness ; e.g. of sheet material
    • G01B11/0608Height gauges
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/026Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring distance between sensor and object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2518Projection by scanning of the object
    • G01B11/2522Projection by scanning of the object the position of the object changing and being recorded
    • G06T5/77
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing

Abstract

System zur Messung der Verschiebung einer Objektoberfläche (144), umfassend:
- einen Verschiebungssensor (110), der eine Linie (156) auf die Objektoberfläche (144) projiziert und Licht von der projizierten Linie (156) auf einem Imager (164) so empfängt, dass Laserlinienpositionsdaten (1210C) und Laserlinienintensitätsdaten (1220C) definiert werden; und
- einen Visionssystemprozessor (180), der so aufgebaut und angeordnet ist, dass er ein Höhenbild (1010) aus den Laserlinienpositionsdaten (1210C), ein Graustufenbild (1110) aus den Laserlinienpositionsdaten (1210C) und den Laserlinienintensitätsdaten (1220C), und eine Schätzung eines senkrechten Graustufenbildgradienten erzeugt, wobei der Graustufenbildgradient dazu verwendet wird, um einen Höhenkorrekturfaktor zu berechnen, der bei jedem Pixel des Höhenbildes (1010) angewandt wird.

Figure DE102014107143B4_0000
A system for measuring the displacement of an object surface (144) comprising:
- a displacement sensor (110) projecting a line (156) onto the object surface (144) and receiving light from the projected line (156) on an imager (164) to define laser line position data (1210C) and laser line intensity data (1220C) ; and
- a vision system processor (180) constructed and arranged to generate a height image (1010) from the laser line position data (1210C), a gray scale image (1110) from the laser line position data (1210C) and the laser line intensity data (1220C), and an estimate of a vertical grayscale image gradients, the grayscale image gradient being used to calculate a height correction factor to be applied to each pixel of the height image (1010).
Figure DE102014107143B4_0000

Description

GEBIET DER ERFINDUNGFIELD OF THE INVENTION

Diese Erfindung betrifft Maschinenvisionssysteme, die verwendet werden, um die Verschiebung einer abgebildeten Objektoberfläche in drei Dimensionen (3D) festzulegen.This invention relates to machine vision systems used to determine the displacement of an imaged object surface in three dimensions (3D).

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Bei Herstellungs- und Montageprozessen ist es oft wünschenswert, einige oder alle Objektoberflächen mit einem hohen Grad an Genauigkeit zu messen und eine Abbildung der Gesamtverschiebung oder „Profil“ (z. B. Höhe in der physikalischen Z-Koordinatenrichtung) mit Bezug auf verschiedene Lagen an der Objektoberfläche zu erstellen. Dieses Profil kann mithilfe eines Maschinenvisionssystems (hier auch „Visionssystem“ genannt) in Form eines Laserverschiebungssensors (auch Laserstrahl „Profiler“ genannt) festgelegt werden. Ein Laserverschiebungssensor erfasst und definiert das (dreidimensionale) Profil einer gescannten Objektoberfläche mithilfe eines planaren Vorhangs, der durch optische Ausbreitung eines Laserstrahls in einem „Fächer“ quer zum Ausbreitungsweg gebildet wird. Bei einer herkömmlichen Anordnung ist die Visionssystemkameravorrichtung so ausgerichtet, dass sie die Strahlenebene von ausserhalb der Ebene erblickt. Diese Anordnung erfasst das Profil der projizierten Linie (die sich z. B. entlang der physikalischen X-Achse erstreckt) auf der Objektoberfläche, die entsprechend der Grundlinie (das heißt der relative Abstand entlang der Y-Achse) zwischen der Strahlen(Fächer)ebene und der Kamera bewirkt, dass die abgebildete Linie als Variation in der Richtung der Bild-Y-Achse als eine Funktion der physikalischen Z-Achsenhöhe des abgebildeten Punktes (entlang der Bild-X-Achse) erscheint. Bei einer typischen Anordnung schneidet die optische Achse der Kamera die Laserebene in einem spitzen Winkel, und die wohlbekannte Scheimpflug-Konfiguration der Laserebene, Kameralinse und des Kameralinsensensors kann eingesetzt werden, um ein Bild zu formen, bei dem die Laserstrahlenabweichung sich durch den interessierenden Bereich im Brennpunkt befindet trotz der sich ändernden Entfernung von der Kamera. Diese Abweichung stellt das Höhenprofil der Oberfläche dar. Laserverschiebungssensoren sind in einem weiten Bereich von Prüfungs- und Herstellungsvorgängen nützlich, bei denen der Anwender Oberflächendetails eines gescannten Objekts durch Triangulation messen und charakterisieren möchte. Eine Ausführungsform des Laserverschiebungssensors verwendet eine Visionssystemkamera mit einer Linsenanordnung und einem Abbildungssensor (oder „Imager“), der auf einem SSD- oder CMOS-Design basieren kann. Der Imager definiert ein vorher bestimmtes Feld von Graustufen- oder Farbwahrnehmungspixeln auf einer Bildebene, die fokussiertes Licht von einer abgebildeten Szene durch eine Linse empfängt.In manufacturing and assembly processes, it is often desirable to measure some or all of the object surfaces with a high degree of accuracy and map the overall displacement or "profile" (e.g., height in the physical Z coordinate direction) with respect to various locations to create the object surface. This profile can be defined with the help of a machine vision system (also called “vision system” here) in the form of a laser displacement sensor (also called laser beam “profiler”). A laser displacement sensor detects and defines the (three-dimensional) profile of a scanned object surface with the help of a planar curtain, which is formed by the optical propagation of a laser beam in a "fan" across the propagation path. In a conventional arrangement, the vision system camera device is oriented in such a way that it sees the beam plane from outside the plane. This arrangement captures the profile of the projected line (which extends e.g. along the physical X-axis) on the object surface, corresponding to the baseline (i.e. the relative distance along the Y-axis) between the rays (fan) plane and the camera causes the imaged line to appear as a variation in the direction of the image Y-axis as a function of the Z-axis physical height of the imaged point (along the image X-axis). In a typical arrangement, the optical axis of the camera intersects the laser plane at an acute angle and the well-known Scheimpflug configuration of the laser plane, camera lens and camera lens sensor can be used to form an image in which the laser beam deviation travels through the area of interest in the The focus is in spite of the changing distance from the camera. This deviation represents the elevation profile of the surface. Laser displacement sensors are useful in a wide range of inspection and manufacturing operations where the user wishes to triangulate and characterize surface details of a scanned object. One embodiment of the laser displacement sensor uses a vision system camera with a lens assembly and an imaging sensor (or "imager") that may be based on an SSD or CMOS design. The imager defines a predetermined field of grayscale or perceived color pixels on an image plane that receives focused light from an imaged scene through a lens.

Bei einer typischen Anordnung sind der Verschiebungssensor und/oder das Objekt in relativer Bewegung (normalerweise in Richtung der physikalischen Y-Koordinate), so dass die Objektoberfläche durch die Kamera gescannt wird und eine Abfolge von Bildern der Laserlinie bei gewünschten räumlichen Intervallen erfasst wird - typischerweise in Verbindung mit einem Encoder oder einer anderen Bewegungsmessungsvorrichtung (oder alternativ in zeitbasierten Intervallen). Jede dieser einzelnen Profillinien wird typischerweise von einem einzelnen, erfassten Bild eines größeren Blickfeldes, das bekanntermaßen die projizierte Linie enthält, abgeleitet. Diese Linien beschreiben zusammen die Oberfläche des abgebildeten Objektes. Das Sichtfeld wird durch eine Arbeitsdistanz charakterisiert - das heißt, die Oberfläche des Objektes sollte sich zwischen einer maximalen und einer minimalen Höhe befinden, um die Profilinformationen näherungsweise zu erfassen. Innerhalb dieser Arbeitsentfernung können sich die Größe und Form der Linie aufgrund einer Vielzahl von Faktoren ändern, einschließlich der Ausrichtung und des Reflexionsvermögens der Oberfläche, die gescannt werden soll, der sich ändernden Dicke der Laserebene (die Linie ist typischerweise an einer „Taille“ bei einer etwa mittleren Tiefe vom Sensor am schmalsten und breiter sowohl am als auch weiter weg vom Sensor) und der sich ändernden Menge von Vergrößerung und perspektivischer Verkürzung im Kamerasystem als eine Funktion der Höhe. Diese Änderung bei Liniengröße/-Geometrie stellt eine von mehreren Herausforderungen beim Erhalt einer genauen Messung einer Oberfläche bei einer gewünschten Scangeschwindigkeit dar.In a typical arrangement, the displacement sensor and / or the object are in relative motion (usually in the direction of the physical Y coordinate) so that the object surface is scanned by the camera and a sequence of images of the laser line is captured at desired spatial intervals - typically in conjunction with an encoder or other motion measuring device (or alternatively at time-based intervals). Each of these individual profile lines is typically derived from a single captured image of a larger field of view known to include the projected line. These lines together describe the surface of the object shown. The field of view is characterized by a working distance - that is, the surface of the object should be between a maximum and a minimum height in order to approximately capture the profile information. Within this working distance, the size and shape of the line can change due to a variety of factors including the orientation and reflectivity of the surface to be scanned, the changing thickness of the laser plane (the line is typically at a "waist" at a about mean depth from the sensor narrowest and wider both at and further away from the sensor) and the changing amount of magnification and perspective foreshortening in the camera system as a function of the height. This change in line size / geometry presents one of several challenges in obtaining an accurate measurement of a surface at a desired scan speed.

Bei der Messung eines Objektoberflächenprofils ist es manchmal wünschenswert, gleichzeitig ein Graustufenbild des Objektes zu erzeugen. Während solche Graustufenbilder einen Blick auf das Objekt liefern können, können Graustufenbilder unterschiedliche Charakteristika aufweisen, die einen nutzbringenden Vergleich zwischen diesem und dem abgeleiteten Objektoberflächenprofil verhindern können. Beispielsweise können das Graustufenbild und andere erzeugte Bilder unterschiedliche Pixelabstufungen aufweisen. Wenn diesbezüglich ein Objekt im physikalischen Raum weiter von der Kamera weg ist, z. B. bei einer geringeren Höhe, dann kann ein Pixel breiter erscheinen und mehr physikalischen Raum bedecken als ein Objekt, das sich näher bei der Kamera befindet. Dieser Effekt kann eine Verzerrung im resultierenden Graustufenbild verursachen und einen Vergleich zwischen dem Graustufenbild und anderen Bildern, die während des Prozess erzeugt wurden, verhindern oder schwierig machen. Deshalb ist es wünschenswert, dass die Graustufenbilder einheitliche Pixelabstufungen aufweisen, sowohl innerhalb eines einzelnen Graustufenbildes als auch in getrennten Graustufenbildern.When measuring an object surface profile, it is sometimes desirable to simultaneously generate a grayscale image of the object. While such grayscale images can provide a view of the object, grayscale images can have different characteristics that can prevent a useful comparison between this and the derived object surface profile. For example, the grayscale image and other generated images can have different pixel gradations. In this regard, if an object in physical space is further away from the camera, e.g. B. at a lower height, then a pixel can appear wider and cover more physical space than an object that is closer to the camera. This effect can cause a distortion in the resulting grayscale image and a comparison between the grayscale image and other images taken during the process prevent or make them difficult. It is therefore desirable that the grayscale images have uniform pixel gradations, both within a single grayscale image and in separate grayscale images.

Oft erfordern Maschinenvisionsanwendungen den Einsatz von Abbildungskomponenten höchster Qualität. In letzter Zeit haben sich die Kosten von Abbildungsgeräten, wie etwa Kameras, erhöht. Als Folge davon werden die Marktteilnehmer gezwungen sein entweder die ständig steigenden Kosten für Komponenten höchster Qualität zu tragen oder sich mit niederer Qualität von Abbildungsgeräten zu geringeren Kosten zufrieden zu geben. Solche Geräte mit geringerer Qualität schließen oft Defekte oder Unregelmäßigkeiten ein, die diese weniger wünschenswert für den Einsatz als Geräte mit höherer Qualität machen. Der Einsatz von solchen Geräten geringerer Qualität kann möglicherweise die Ergebnisse von Maschinenvisionsanwendungen verschlechtern. Insbesondere können Sensoren oft eines oder mehrere schlechte Messelemente enthalten. Schlechte Messelemente können „klemmen“, indem sie überhaupt nicht sichtbar auf Beleuchtung reagieren, sondern einen in etwa konstanten Wert anzeigen. Andere schlechte Messelemente können auf Beleuchtung reagieren, wobei sich aber einer oder mehre Reaktionsparameter, wie etwa Versatz, Verstärkung, Nichtlinearität oder Rauschpegel wesentlich von der Sollreaktion der „guten“ Elemente unterscheiden.Machine vision applications often require the use of imaging components of the highest quality. Recently, the cost of imaging devices such as cameras has increased. As a result, market participants will either be forced to bear the ever increasing costs for components of the highest quality or be satisfied with lower quality imaging devices at lower costs. Such lower quality devices often include defects or imperfections that make them less desirable for use than higher quality devices. The use of such lower quality devices can potentially degrade the results of machine vision applications. In particular, sensors can often contain one or more bad measuring elements. Bad measuring elements can “jam” because they do not react visibly at all to the lighting, but rather display an approximately constant value. Other bad measuring elements can react to lighting, but one or more reaction parameters such as offset, gain, non-linearity or noise level differ significantly from the target reaction of the "good" elements.

Ähnliche Vorrichtungen und Verfahren zum Vermessen einer dreidimensionalen Objektoberfläche mittels Linientriangulation sind in der DE 10 2006 004 060 A1 , DE 10 2006 036 586 A1 , US 2004/0246473 A1 , DE 20 2012 104 890 U1 , US 2011/0310399 A1 , DE 10 2005 051 318 A1 und DE 10 2005 052 044 A1 beschrieben. Similar devices and methods for measuring a three-dimensional object surface by means of line triangulation are shown in FIG DE 10 2006 004 060 A1 , DE 10 2006 036 586 A1 , US 2004/0246473 A1 , DE 20 2012 104 890 U1 , US 2011/0310399 A1 , DE 10 2005 051 318 A1 and DE 10 2005 052 044 A1 described.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Die oben beschriebenen Probleme sind gelöst mit einem erfindungsgemäßen System nach Anspruch 1 und einem erfindungsgemäßen Verfahren nach Anspruch 11. Diese Erfindung überwindet die Nachteile des Standes der Technik in einem Ausführungsbeispiel, bei dem ein Laserverschiebungssensorsystem und entsprechende Verfahren zum Scannen des Höhenprofils einer Objektoberfläche vorgesehen sind, die den Scandurchlauf, die Verarbeitungsgeschwindigkeit, die Effizienz und die Vielseitigkeit des Systems verbessern. Bei einem nicht von den Ansprüchen erfassten Ausführungsbeispiel projiziert ein Verschiebungssensor eine Linie auf die Objektoberfläche und empfängt Licht von der projizierten Linie auf einem Imager so, dass eine Vielzahl von Verschiebungswerten in einer Höhenrichtung definiert wird. Ein Visionssystemprozessor arbeitet an Reihen von Imagerpixeln, um eine Laserlinienmitte festzulegen, oder ganz allgemein, die Position der Laserlinie und/oder von speziellen Teilen der Linie (z. B. die Stopp- und Startpunkte der Liniendicke) in Spalten von Imagerpixeln in jeder von einer Vielzahl von interessierenden Bereichen. Reihen in Zonen ausserhalb dieser interessierenden Bereiche werden typischerweise nicht erfasst und/oder verarbeitet, so dass die Gesamtgeschwindigkeit der Bilderfassung und -Verarbeitung der Linie erhöht wird. Jeder interessierende Bereich definiert eine Vielzahl von Reihen, die den erwarteten Lagen der projizierten Linie auf der Objektoberfläche entsprechen. Ein Höhenbild wird aus den Lagen der projizierten Laserlinie bei jedem gescannten Bild erzeugt, wenn sich das Objekt relativ zum Imagersichtfeld bewegt. Ein GUI kann eingesetzt werden, um die Bereiche bilden, in denen der Benutzer numerische (physikalische Einheit) oder grafische Grenzen für jeden Bereich betritt. Bei weiteren Ausführungsformen verwendet das System Linienbreite, -Intensität und -Lage, um Graustufeninformationen (z. B. entlang jeder Laserlinie des Scannens) oder volle Graustufenbilder mit der Imager- und Laserbeleuchtung zu erzeugen. Die Graustufenbilderdaten und Höhenbilderdaten können in Verbindung miteinander verwendet werden, um Korrekturfaktoren zu erzeugen, die falsche Höhenmessungen, verursacht durch Kontrast, kompensieren können. Beispielsweise können auch Imagerpixel an den Prozessor in „binärer“ Weise durch Vergleich jeder Pixelintensität („Intensität“ wird definiert als einschliesslich, aber nicht beschränkt auf einen Spannungswert) in jeder Spalte des Imager direkt zu einer Referenzintensität übertragen werden. Die Pixel, die der Referenzintensität entsprechen oder diese übertreffen, werden mit einem logischen Wert 1 (oder einem anderen) versehen und die Pixel, die unter die Schwelle fallen, werden mit einer logischen Wert 0 (oder einem anderen) versehen. Die Linien-„Mitte“ in jeder Spalte ist aus einer wahrscheinlichen Gruppierung von „1“ Pixeln festgelegt, und diese Lage wird an den Prozessor weitergegeben, um einen Teil des Höhenbildes zu formen. Beispielsweise kann die Mitte eine physikalische Mitte der Linie sein oder irgendeine andere passende spezielle Lage, die mit der Linie in Zusammenhang steht, wie etwa Start- und Endpunkte.The problems described above are solved with a system according to the invention according to claim 1 and a method according to the invention according to claim 11. This invention overcomes the disadvantages of the prior art in an embodiment in which a laser displacement sensor system and corresponding methods for scanning the height profile of an object surface are provided, which improve the scanning pass, processing speed, efficiency and versatility of the system. In an embodiment not covered by the claims, a displacement sensor projects a line on the object surface and receives light from the projected line on an imager so that a plurality of displacement values are defined in a height direction. A vision system processor works on rows of imager pixels to define a laser line center, or more generally, the position of the laser line and / or specific parts of the line (e.g. the stop and start points of the line thickness) in columns of imager pixels in each of one Variety of areas of interest. Rows in zones outside of these areas of interest are typically not captured and / or processed, so that the overall speed of image capture and processing of the line is increased. Each region of interest defines a plurality of rows that correspond to the expected locations of the projected line on the object surface. A height image is generated from the positions of the projected laser line for each scanned image when the object moves relative to the imager's field of view. A GUI can be used to define the areas in which the user enters numerical (physical unit) or graphical boundaries for each area. In other embodiments, the system uses line width, intensity, and location to generate grayscale information (e.g., along each laser line of the scan) or full grayscale images with the imager and laser lighting. The grayscale image data and height image data can be used in conjunction with one another to generate correction factors that can compensate for incorrect height measurements caused by contrast. For example, imager pixels can also be transmitted to the processor in a “binary” manner by comparing each pixel intensity (“intensity” is defined as including, but not limited to a voltage value) in each column of the imager directly to a reference intensity. The pixels that match or exceed the reference intensity are given a logical value 1 (or another) and the pixels that fall below the threshold are given a logic value 0 (or another). The line “center” in each column is determined from a probable grouping of “1” pixels, and this position is passed on to the processor in order to form part of the height image. For example, the center can be a physical center of the line or any other suitable special location associated with the line, such as start and end points.

Bei einem nicht von den Ansprüchen erfassten Ausführungsbeispiel schliesst ein System und Verfahren zur Messung der Verschiebung einer Objektoberfläche einen Verschiebungssensor ein, der eine Linie auf die Objektoberfläche projiziert und Licht von der projizierten Linie so auf einem Imager empfängt, dass eine Vielzahl von Verschiebungswerten in einer Höhenrichtung definiert wird. Ein Visionssystemprozessor arbeitet, um Reihen von Imagerpixeln zu verarbeiten, um eine Position der projizierten Linie in Spalten der Imagerpixel ausschliesslich in jeder einer Vielzahl von interessierenden Bereichen festzulegen. Jeder der interessierenden Bereiche definiert jeweils eine Vielzahl von Reihen von Imagerpixeln, die erwarteten Lagen der projizierten Linie auf der Objektoberfläche entspricht. Eine Lage der Position der projizierten Linie in jeder der Spalten entspricht einem physikalischen Verschiebungswert auf der Objektoberfläche. Beispielsweise sind das Objekt und der Verschiebungssensor in relativer Bewegung und eine Vielzahl der erfassten Bilder wird auf der projizierten Linie erfasst. Die erfassten Bilder definieren eine Gesamthöhe der Objektoberfläche. Ein grafisches Benutzerinterface (GUI) ist wirksam mit dem Visionssystemprozessor verbunden. Es versetzt einen Benutzer in die Lage, Grenzen jedes der interessierenden Bereiche zu betreten. Das GUI liefert Eingaben für numerische, physikalische Einheiten der Grenzen. Beispielsweise kann das GUI ein erfasstes Bild des Objekts mit der darin enthaltenen projizierten Linie zeigen. Dieses GUI ist so aufgebaut und angeordnet, dass es grafische Positionierung der Grenzen durch den Benutzer ermöglicht. Das erfasste Bild ist im GUI beweglich, um einen Bereich von Verschiebungen der projizierten Linie während eines Scanningvorganges festzustellen. Beispielsweise befindet sich die Position der projizierten Linie annähernd in der Mitte entlang der Spaltenrichtung. Bei einigen Ausführungsbeispielen analysiert ein Messprozess erfasste Bilddaten bei jeder der Vielzahl der interessierenden Bereiche, um Informationen zum Einsatz in einer nachgelagerten Verarbeitungsaufgabe zu erzeugen. Die Informationen, die in der nachgelagerten Verarbeitungsaufgabe eingesetzt werden, werden aus einer Kombination von analysierten erfassten Daten aus einer Vielzahl von interessierenden Bereichen erzeugt. Die nachgelagerte Verarbeitungsaufgabe kann Informationen aus mindestens einem einzelnen erfassten Bild des Objekts (eine Scheibe), einer Vielzahl von erfassten Bildern des Objektes (einer Gruppe von Scheiben) und allen erfassten Bildern, die dem Objekt entsprechen (ein Gesamthöhenbild), einsetzen. Die nachgelagerte Verarbeitungsaufgabe kann eine Visionssystemaufgabe oder -Tool mit maßgeschneidertem oder konventionellem Design umfassen. Die Visionssystemaufgabe oder -Tool kann mindestens eines der folgenden umfassen: Registrierung, Prüfung, Ausrichtung und Mustervergleich. Andere Aufgaben/Tools können Glätten, Durchschnittsbildung, andere Bildverarbeitungsvorgänge usw. einschließen, die beispielsweise in einer Gruppe von Scheiben durchgeführt werden kann. Beispielsweise schließt die nachgelagerte Verarbeitungsaufgabe eine Entscheidungsfindungsaufgabe ein. Diese Entscheidungsfindungsaufgabe kann so aufgebaut und angeordnet sein, dass sie mindestens einen der folgenden Prozesse ausführt: Objektzurückweisung, Linienkontrolle oder Alarm. Der Messprozess kann einen einzelnen Scanvorgang des Objektes oder eine vorher festgelegte Anzahl von Scanvorgängen in einer Gruppe verwenden (wie etwa bei Glättungs-, Durchschnittbildungs- oder anderen Bildverarbeitungsprozessen).In an embodiment not covered by the claims, a system and method for measuring the displacement of an object surface includes a displacement sensor that projects a line onto the object surface and receives light from the projected line on an imager such that a plurality of displacement values in a height direction is defined. A vision system processor operates to process rows of imager pixels to determine a position of the projected line in columns of the imager pixels to be determined exclusively in each of a large number of areas of interest. Each of the regions of interest defines a plurality of rows of imager pixels, which correspond to the expected positions of the projected line on the object surface. A position of the position of the projected line in each of the columns corresponds to a physical displacement value on the object surface. For example, the object and the displacement sensor are in relative motion and a large number of the captured images are captured on the projected line. The captured images define a total height of the object surface. A graphical user interface (GUI) is operatively connected to the vision system processor. It enables a user to enter the boundaries of any of the areas of interest. The GUI provides inputs for numerical, physical units of the limits. For example, the GUI can show a captured image of the object with the projected line contained therein. This GUI is designed and arranged to allow the user to graphically position the boundaries. The captured image can be moved in the GUI in order to determine a range of displacements of the projected line during a scanning process. For example, the position of the projected line is approximately halfway along the column direction. In some embodiments, a measurement process analyzes captured image data at each of the plurality of areas of interest to generate information for use in a downstream processing task. The information that is used in the downstream processing task is generated from a combination of analyzed recorded data from a large number of areas of interest. The downstream processing task can use information from at least a single captured image of the object (a slice), a plurality of captured images of the object (a group of slices) and all captured images that correspond to the object (an overall height image). The downstream processing task may include a vision system task or tool with a bespoke or conventional design. The vision system task or tool can include at least one of the following: registration, review, alignment, and pattern matching. Other tasks / tools can include smoothing, averaging, other image processing operations, etc. that can be performed on a group of slices, for example. For example, the downstream processing task includes a decision making task. This decision-making task can be structured and arranged to perform at least one of the following processes: object rejection, line control, or alarm. The measurement process can use a single scan of the object or a predetermined number of scans in a group (such as smoothing, averaging, or other image processing processes).

Bei einer anderen nicht von den Ansprüchen erfassten Ausführungsform schließt ein System und Verfahren zur Messung von Verschiebung einer Objektoberfläche einen Verschiebungssensor ein, der eine Linie auf eine Objektoberfläche projiziert und Licht von der projizierten Linie so auf einem Imager empfängt, dass eine Vielzahl von Verschiebungswerten in einer Höhenrichtung definiert wird. Ein Visionssystemprozessor arbeitet, um Reihen von Imagerpixeln zu verarbeiten, um eine Lage der projizierten Linie in Spalten der Imagerpixeln festzulegen. Der Visionssystemprozessor ist so aufgebaut und angeordnet, dass er aus der Lage der projizierten Linie ein Höhenbild der Objektoberfläche erzeugt. Auch ist der Visionssystemprozessor so aufgebaut und angeordnet, dass er aus den Intensitätswerten der projizierten Linie ein Graustufenbild der Objektoberfläche erzeugt. Der Visionssystemprozessor ist so aufgebaut und angeordnet, dass er Messungen im Graustufenbild einsetzt, um Korrekturfaktoren zu berechnen und auf das Höhenbild anzuwenden, so dass Fehler beim Höhenbild kompensiert werden. Die Fehler können falsche Höhenauslesungen im Höhenbild umfassen, so wie sie bei einem Kontrastwechsel auf der Oberfläche auftreten - zum Beispiel, wo ein gedrucktes Zeichen oder Symbol in einer kontrastierenden Stufe oder Farbe vorgesehen ist. Beispielsweise verwendet ein Messprozess (a) Messungen von Daten aus dem Höhenbild, um Messungen des Graustufenbildes zu formen oder (b) Messungen des Graustufenbildes, um Messungen des Höhenbilds zu formen. Auch kann ein Entscheidungsfindungsprozess vorgesehen sein, der Entscheidungen aufgrund des Messprozesses erzeugt.In another embodiment not covered by the claims, a system and method for measuring displacement of an object surface includes a displacement sensor that projects a line onto an object surface and receives light from the projected line on an imager so that a plurality of displacement values in a Height direction is defined. A vision system processor operates to process rows of imager pixels to determine a location of the projected line in columns of the imager pixels. The vision system processor is constructed and arranged in such a way that it generates a height image of the object surface from the position of the projected line. The vision system processor is also constructed and arranged in such a way that it generates a grayscale image of the object surface from the intensity values of the projected line. The vision system processor is constructed and arranged to use measurements in the grayscale image to calculate correction factors and apply them to the height image so that errors in the height image are compensated for. The errors may include incorrect height readings in the height image, such as those that occur with a contrast change on the surface - for example where a printed character or symbol is provided in a contrasting level or color. For example, a measurement process uses (a) measurements of data from the height image to shape measurements of the grayscale image, or (b) measurements of the grayscale image to shape measurements of the height image. A decision-making process can also be provided that generates decisions based on the measurement process.

Bei einem weiteren nicht von den Ansprüchen erfassten Ausführungsbeispiel umfasst ein System zur Messung der Verschiebung einer Objektoberfläche einen Verschiebungssensor, der eine Linie auf die Objektoberfläche projiziert und Licht von der projizierten Linie so auf einem Imager empfängt, dass eine Vielzahl von Verschiebungswerten in einer Höhenrichtung definiert wird. Eine Schwellenschaltung empfängt Intensitätswerte aus Pixeln des Imager und führt einen Vergleich der jeweiligen Intensitätswerte mit einer Referenzintensität durch. Hier wird ein binärer Wert jedem der Pixel aufgrund des Vergleiches zugeordnet. Ein Visionssystemprozessor arbeitet, um Reihen von Pixeln zu verarbeiten, um eine Lage der projizierten Linie in Spalten der Pixel festzulegen, die einen binären Wert aufweisen, der die Gegenwart der projizierten Linie anzeigt, wobei der Visionssystemprozessor so aufgebaut und angeordnet ist, dass er ein Höhenbild aus der Lage der projizierten Linie in den Spalten der Pixel erzeugt. Beispielsweise wird die Intensität entweder als Spannung oder als Stromstärke definiert.In a further embodiment not covered by the claims, a system for measuring the displacement of an object surface comprises a displacement sensor that projects a line onto the object surface and receives light from the projected line on an imager so that a plurality of displacement values are defined in a height direction . A threshold circuit receives intensity values from pixels of the imager and carries out a comparison of the respective intensity values with a reference intensity. Here, a binary value is assigned to each of the pixels on the basis of the comparison. A vision system processor operates to process rows of pixels to determine a location of the projected line in columns of the pixels having a binary value indicating the presence of the projected line, the vision system processor being constructed and arranged to provide a height image generated from the position of the projected line in the columns of the pixels. For example, the intensity is defined either as a voltage or as a current strength.

Bei einem weiteren nicht von den Ansprüchen erfassten Ausführungsbeispiel umfasst ein System zur Korrektur eines verdächtigen Pixel bei einem Graustufenbild einen Prozessor und einen Speicher einschliesslich der darauf befindlichen Anweisungen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, Laserlinienpositionsdaten und entsprechende Laserlinienintensitätsdaten zu erzeugen, die teilweise auf einem erfassten Bild eines Objektes beruhen, wobei die Laserlinienpositionsdaten mindestens eine Laserlinienpositionsangabe umfassen. Der Prozessor kann mindestens eine Laserlinienpositionsangabe identifizieren und mithilfe des Prozessors ersetzen, wobei ein Originalwert der Laserlinienintensitätsangabe der identifizierten Laserlinienpositionsangabe mit einem Ersatzwert für die Laserlinienintensitätsangabe entspricht. Der Prozessor kann das Graustufenbild aus den Laserlinienpositionsdaten und den entsprechenden ersetzten Laserlinienintensitätsdaten erzeugen.In a further embodiment not covered by the claims, a system for correcting a suspect pixel in a grayscale image comprises a processor and a memory including the instructions thereon which, when executed by the processor, cause the processor to generate laser line position data and corresponding laser line intensity data which are based in part on a captured image of an object, the laser line position data including at least one laser line position information. The processor can identify at least one laser line position information and replace it with the aid of the processor, an original value of the laser line intensity information corresponding to the identified laser line position information with a substitute value for the laser line intensity information. The processor can generate the grayscale image from the laser line position data and the corresponding replaced laser line intensity data.

Bei einer weiteren nicht von den Ansprüchen erfassten Ausführungsform umfasst ein System zur Erzeugung eines einheitlich abgestuften Graustufenbildes, das einem Höhenbild entspricht, einen Prozessor und einen Speicher einschliesslich der darin enthaltenen Anweisungen, die, wenn sie vom Prozessor ausgeführt werden, den Prozessor veranlassen, Laserlinienpositionsdaten und Laserlinienintensitätsdaten zu erzeugen, wobei jedes Pixel der Laserlinienintensitätsdaten eine Indizierung einschließt, die einer gemessenen Intensität entspricht. Der Prozessor kann jedes Pixel der Laserlinienpositionsdaten in einem Koordinatensystem abbilden, das einen physikalischen Raum darstellt, wobei mindestens zwei der abgebildeten Pixel eine Verbindungsfunktion aufweisen, die dazwischen angeordnet ist, wobei die Verbindungsfunktion Indizierung einschliesst, die der gemessenen Intensität entspricht. Der Prozessor kann mit dem Prozessor einen repräsentativen Positionswert und einen repräsentativen Indizierungswert für eine Vielzahl von Bins berechnen, wobei jedes der vielen Bins einem oder mehreren der abgebildeten Pixel und einem Teil der Verbindungsfunktion entspricht. Der Prozessor kann das einheitlich abgestufte Graustufenbild mithilfe der repräsentativen Indizierungswerte und die Ausgabe eines Höhenbildes mithilfe repräsentativer Positionswerte ausgeben.In a further embodiment not covered by the claims, a system for generating a uniformly graded grayscale image corresponding to a height image comprises a processor and a memory including the instructions contained therein which, when executed by the processor, cause the processor to read laser line position data and Generate laser line intensity data, each pixel of the laser line intensity data including an index corresponding to a measured intensity. The processor may map each pixel of the laser line position data in a coordinate system representing physical space, with at least two of the mapped pixels having a connection function interposed therebetween, the connection function including indexing corresponding to the measured intensity. The processor can use the processor to calculate a representative position value and a representative indexing value for a plurality of bins, each of the plurality of bins corresponding to one or more of the mapped pixels and part of the connection function. The processor can output the uniformly graded grayscale image with the aid of the representative indexing values and the output of a height image with the aid of representative position values.

Erfindungsgemäß umfasst das System zur Messung der Verschiebung einer Objektoberfläche einen Verschiebungssensor, der eine Linie auf die Objektoberfläche projiziert und Licht von der projizierten Linie so auf einem Imager empfängt, dass die Laserlinienpositionsdaten und die Laserlinienintensitätsdaten definiert werden. Ein Visionssystemprozessor kann so aufgebaut und angeordnet sein, dass er ein Höhenbild aus den Laserlinienpositionsdaten erzeugt, ein Graustufenbild aus den Laserlinienpositionsdaten und den Laserlinienintensitätsdaten und eine Schätzung des Graustufenbildgradienten, wobei der Graustufenbildgradient eingesetzt wird, um einen Höhenkorrekturfaktor zu berechnen, der auf jedes Pixel des Höhenbildes angewendet wird.According to the invention, the system for measuring the displacement of an object surface comprises a displacement sensor which projects a line onto the object surface and receives light from the projected line on an imager so that the laser line position data and the laser line intensity data are defined. A vision system processor can be constructed and arranged to generate a height image from the laser line position data, a grayscale image from the laser line position data and the laser line intensity data, and an estimate of the grayscale image gradient, the grayscale image gradient being used to calculate a height correction factor that is applied to each pixel of the height image is applied.

FigurenlisteFigure list

Die Beschreibung der Erfindung unten bezieht sich auf die beigefügten Zeichnungen, wobei:

  • 1 eine schematische perspektivische Darstellung eines Laserverschiebungssensorsystems ist, das ein Bild eines Objektes erfasst, wenn relative Bewegung dazwischen in einer Scanningrichtung auftritt, gemäß eines Ausführungsbeispiels;
  • 2 ein schematisches Diagramm eines Teils einer Imagerpixelanordnung ist und Bereiche einschließt, die Teile einer beispielhaften abgebildeten Laserlinie enthalten, gemäß der Ausführungsform von 1;
  • 3 ein schematisches Diagramm des Imager der 1 ist, die die Erzeugung eines Höhenbildes aus einem erfassten Bild einer Laserlinie innerhalb des Sichtfeldes des Verschiebungssensors zeigt;
  • 4 ein Flussdiagramm eines Prozesses zur Verarbeitung von Höhenbilddaten innerhalb des interessierenden Bereichs des gesamten erfassten Bildes ist, gemäß eines Ausführungsbeispiels;
  • 5 ein Diagramm eines Bildes einer Laserlinie ist, in der zwei interessierende Bereiche nebeneinander ohne Spalt dazwischen liegen;
  • 6 eine Bildschirmanzeige eines grafischen Benutzerinterface (GUI) zum Einsatz beim Verschiebungssensorsystem der 1 ist, bei dem die interessierenden Bereiche zur Erkennung auf dem Gesamtbild des gescannten Objekts in Bezug zu physikalischen Einheiten gesetzt werden können;
  • 7 ein Diagramm einer Bildschirmanzeige einschließlich eines GUI ist, bei dem der Anwender die interessierenden Bereiche und Ausschluß auf ein Bild des Objektes manipuliert, das vom Verschiebungssensor erfasst ist;
  • 8 ein Diagramm von Teilen eines Imagers an zwei interessierenden Bereichen ist, das Pixelreihen zeigt, die selektiv an- oder abgeschaltet werden, um die Auflösung des Bildes in dem Bereich zu verändern;
  • 8A ein Diagramm von Teilen eines Imager an zwei interessierenden Bereichen ist, bei dem der erste Bereich bei voller Auflösung ist, wobei alle Pixelreihen angeschaltet sind, während die zweite Reihe bei halber Auflösung ist, wobei jede zweite Pixelreihe geschaltet ist;
  • 9 ein Diagramm eines Bildes eines beispielhaften Objektes ist, das sowohl höhenver-ändernde Funktionen als auch Änderungen im Kontrast enthält, von dem ein zeitgleiches Höhenbild und Graustufenbild mithilfe des Verschiebungssensorsystems der 1 erfasst werden kann;
  • 10 ein Diagramm eines Höhenbildes des beispielhaften Objektes der 9 ist, das Änderung in der Höhe verschiedener Funktionen als Intensitätsmessung zeigt und auch kontrastbasierte, falsche Höhenmessungen;
  • 11 ein Diagramm eines Graustufenbildes des beispielhaften Objekts der 9 ist, das Änderung im Kontrast von gewissen Funktionen als Änderung in der Graustufenintensität zeigt und auch Schattierungen von gewissen erhabenen Funktionen an deren Höhenübergängen zeigt;
  • 12 ein Flussdiagramm eines Verfahrens zur Erzeugung eines Höhenbildes und eines Graustufenbildes aus Bilddaten ist, die mithilfe eines gescannten Bildes des Verschiebungssensors der 1 erfasst wurde;
  • 12A ein Flussdiagramm eines Verfahrens zur Korrektur für null oder mehrere verdächtige Pixel in einer Reihe des Graustufenbildes ist, das möglicherweise verdächtige Pixel enthält;
  • 12B ein Flussdiagramm eines Verfahrens zum Resampling der erfassten Bilder oder der Laserlinienpositionsdaten und Laserlinienintensitätsdaten ist, um ein Graustufenbild mit einer einheitlichen Pixelabstufung zu erzeugen;
  • 12C ein Diagramm von Laserlinienpositionsdaten und Laserlinienintensitätsdaten ist;
  • 12D ein Diagramm von abgebildeten Pixelwerten ist, die den Laserlinienpositionsdaten entsprechen;
  • 12E ein Diagramm von abgebildeten Pixelwerten ist, die die Verbindungsfunktionen einschließen;
  • 12F ein Diagramm von abgebildeten Pixelwerten ist, die repräsentative Positionswerte und repräsentative Indizierungswerte einschliessen;
  • 12G ein Diagramm eines Teils des kalibrierten Höhenbildes und des einheitlich abgestuften Graustufenbildes ist;
  • 13 ein Flussdiagramm ist, das die Kompensation für die kontrastbasierten, falschen Höhenauslesungen im Höhenbild mithilfe eines Vergleichs zwischen den Funktionen des Höhenbildes gegen entsprechende Funktionen im Graustufenbild zeigt; und
  • 14 ein Blockdiagramm einer binären Technik zur Festlegung einer Mitte der Laserlinie in jeder Spalte durch Vergleich einer Intensität jedes Spaltenpixel mit einer Referenzintensität ist.
The description of the invention below refers to the accompanying drawings, wherein:
  • 1 Figure 12 is a schematic perspective illustration of a laser displacement sensor system that captures an image of an object when there is relative movement therebetween in a scanning direction, according to an embodiment;
  • 2 FIG. 13 is a schematic diagram of a portion of an imager pixel array including areas containing portions of an exemplary imaged laser line, in accordance with the embodiment of FIG 1 ;
  • 3 a schematic diagram of the imager of the 1 Figure 13 shows the generation of a height image from a captured image of a laser line within the field of view of the displacement sensor;
  • 4th Figure 12 is a flow diagram of a process for processing height image data within the region of interest of the entire captured image, according to one embodiment;
  • 5 Figure 12 is a diagram of an image of a laser line in which two regions of interest are adjacent with no gap therebetween;
  • 6th a screen display of a graphical user interface (GUI) for use with the displacement sensor system of 1 is, in which the areas of interest for recognition on the overall image of the scanned object can be related to physical units;
  • 7th Figure 13 is a diagram of a screen display including a GUI in which the user manipulates the areas of interest and exclusions on an image of the object detected by the displacement sensor;
  • 8th Figure 13 is a diagram of parts of an imager at two areas of interest showing rows of pixels being selectively turned on or off to change the resolution of the image in the area;
  • 8A Figure 13 is a diagram of parts of an imager at two areas of interest with the first area at full resolution with all rows of pixels turned on while the second row is at half resolution with every other row of pixels turned on;
  • 9 FIG. 13 is a diagram of an image of an exemplary object containing both height-changing functions and changes in contrast, of which a simultaneous height image and grayscale image using the displacement sensor system of FIG 1 can be captured;
  • 10 a diagram of a height image of the exemplary object of FIG 9 which shows change in height of various functions as an intensity measurement and also contrast-based, incorrect height measurements;
  • 11 FIG. 3 is a diagram of a grayscale image of the exemplary object of FIG 9 is showing change in contrast of certain functions as a change in grayscale intensity and also showing shades of certain raised functions at their height transitions;
  • 12th FIG. 12 is a flow diagram of a method for generating a height image and a grayscale image from image data obtained using a scanned image of the displacement sensor of FIG 1 was recorded;
  • 12A Figure 3 is a flow diagram of a method of correcting for zero or more suspect pixels in a row of the grayscale image that may contain suspect pixels;
  • 12B Figure 3 is a flow diagram of a method for resampling the captured images or laser line position data and laser line intensity data to produce a grayscale image having a uniform pixel gradation;
  • 12C Fig. 13 is a diagram of laser line position data and laser line intensity data;
  • 12D Figure 12 is a diagram of mapped pixel values corresponding to laser line position data;
  • 12E Figure 3 is a diagram of mapped pixel values including the link functions;
  • 12F Figure 3 is a diagram of mapped pixel values including representative position values and representative indexing values;
  • 12G Figure 13 is a diagram of a portion of the calibrated height image and the uniformly graded grayscale image;
  • 13th Figure 12 is a flow chart showing compensation for the contrast-based false height readings in the height image by comparing the functions of the height image against corresponding functions in the grayscale image; and
  • 14th Figure 13 is a block diagram of a binary technique for determining a center of the laser line in each column by comparing an intensity of each column pixel with a reference intensity.

GENAUE BESCHREIBUNGPRECISE DESCRIPTION

SystemüberblickSystem overview

1 zeigt eine Visionssystemanordnung 100 einschließlich einer Laserverschiebungssensoranordnung 110, die so ausgerichtet ist, dass sie ein Objekt 120 (auch manchmal als „Teil“ bezeichnet) abbildet. Die Verschiebungssensoranordnung (oder einfach „Verschiebungssensor“) kann sich in einem Einzelgehäuse 112 befinden, das an geeigneter Stelle in Bezug auf die abgebildete Szene montiert ist. Bei anderen Ausführungsformen kann der Verschiebungssensor einzelne, getrennte Teilelemente umfassen. Das Objekt 120 und der Verschiebungssensor 110 befinden sich in Relativbewegung (Doppelpfeil My), wobei sich entweder der Verschiebungssensor 110, das Objekt 120 oder beide entlang mindestens einer Achse bewegen (die Scanbewegungsrichtung). Die Bewegungsrichtung wird oft an dem dargestellten relativen (z. B. globalen) Koordinatensystem 124 ausgerichtet (in diesem Beispiel der physikalischen y-Achsenrichtung). Bei einer typischen Anordnung befindet sich das Objekt 120 auf einer beweglichen Oberfläche 130 (gestrichelt dargestellt), wie etwa einem Förderband oder einer beweglichen Plattform, die Bewegungsdaten aus einem Decoder oder einer ähnlichen Vorrichtung liefert, die wirksam mit dem Antriebssystem 132 der beweglichen Oberfläche in einer Art, die für Fachleute auf diesem Gebiet klar ist, verbunden ist. Das Objekt 120 ist beispielsweise eine Struktur mit einer umgebenden Oberfläche 140, die relativ planar ist, mit einer Höhe H1, und sie erstreckt sich bis zu einem äußeren Umfang 142. Innerhalb des beispielhaften äußeren Umfangs 142 befindet sich eine Oberfläche 144, die sich bei Verschiebung entlang der physikalischen z-Achsenrichtung zwischen einer Höhe H2 und einer Höhe H3 ändert. Es wird angemerkt, dass jede Höhe H1, H2 und H3 in physikalischen Größen, wie etwa Millimeter von einer Grundebene, die die Ebene der beweglichen Oberfläche 130 oder eine andere Referenzebene sein kann, beschrieben werden kann. Auch muss bemerkt werden, dass dieses gezeigte Objekt 120 nur ein Beispiel eines weiten Bereichs von möglichen Oberflächenformen darstellt, und dass dieses als Anwendungsbeispiel der Prinzipien des Ausführungsbeispiels des Systems und Verfahrens beschrieben wird. Bei anderen Beispielen kann die äußere, umgebende Oberfläche einen komplexeren Umfang mit zusätzlichen Funktionen, wie etwa Befestigungslöchern, definieren und die innere Struktur kann eine variablere Form aufweisen. Ebenso kann eine äußere, umgebende Oberfläche bei einem beispielhaften Objekt ganz oder teilweise wegfallen. 1 Figure 3 shows a vision system arrangement 100 including a laser displacement sensor assembly 110 that is oriented so that it is an object 120 (also sometimes referred to as “part”). The displacement sensor assembly (or simply "displacement sensor") can be in a single housing 112 that is mounted at a suitable location in relation to the depicted scene. In other embodiments, the displacement sensor can comprise individual, separate sub-elements. The object 120 and the displacement sensor 110 are in relative movement (double arrow My), with either the displacement sensor 110 , the object 120 or move both along at least one axis (the direction of scan motion). The direction of movement is often based on the relative (e.g. global) coordinate system shown 124 aligned (in this example the physical y-axis direction). In a typical arrangement, the object is in place 120 on a moving surface 130 (shown in phantom) such as a conveyor belt or moving platform that provides motion data from a decoder or similar device that is operative with the drive system 132 the moving surface in a manner that is clear to those skilled in the art. The object 120 is for example a structure with a surrounding surface 140 that is relatively planar, with a height H1 , and it extends to an outer perimeter 142 . Within the exemplary outer perimeter 142 there is a surface 144 which when shifted along the physical z-axis direction between a height H2 and a height H3 changes. It is noted that any height H1 , H2 and H3 in physical quantities, such as millimeters from a ground plane, which is the plane of the moving surface 130 or another reference plane can be described. It must also be noted that this object shown 120 represents only one example of a wide range of possible surface shapes, and that this is described as an application example of the principles of the exemplary embodiment of the system and method. In other examples, the outer, surrounding surface can define a more complex perimeter with additional functions, such as mounting holes, and the internal structure can have a more variable shape. An outer, surrounding surface can also be completely or partially omitted in the case of an exemplary object.

Die Verschiebungssensoranordnung 110 schließt eine Laseranordnung 150 ein, die eine Linse oder eine andere optische Anordnung 152 einschließt (z. B. eine Powell-Linse oder eine zylindrische Linse), die einen Vorhang oder Fächer 154 von Laserlicht so auf das Objekt 120 projiziert, dass sich eine Linie 156 entlang der physikalischen x-Achse bildet (im Großen und Ganzen quer zur Scanbewegungsrichtung My). Der Fächer 154 befindet sich im Allgemeinen in einer Ebene, die bei dieser Ausführungsform annähernd (oder im Wesentlichen) senkrecht zu einer Referenzebene ist, wie etwa die physikalische x y Ebene der beweglichen Oberfläche 130 und/oder eine Ebene der umgebenden Oberfläche 140 des Objektes. Der Verschiebungssensor 110 schließt auch eine Kameraanordnung (gestrichelt gezeichneter Kasten 160) ein, die im Allgemeinen aus einer Linsen-/Optikanordnung besteht, die beispielsweise in einer wohlbekannten Scheimpflug-Ausführung 162 angeordnet ist, und eine Imageranordnung („Imager“) 164. Der Imager 164 enthält eine Anordnung von lichtempfindlichen Pixeln mit einer vorher bestimmten Auflösung und die Kameraanordnung definiert im Allgemeinen eine optische Achse OA, die innerhalb des Sichtfeldes fällt, wo die Linie 156 auf dem Objekt bei verschiedenen Oberflächenhöhen sichtbar ist. Die optische Achse OA definiert einen nicht parallelen (z. B. spitzen) Winkel □ mit Bezug auf die Ebene (und damit verbundene Linie 170) des Laserfächers 154. So wird jede Änderung/Verschiebung der Höhe der physikalischen z-Achse in der Linie entlang der physikalischen x-Achse durch die Kameraanordnung 160 als Änderung in der Lage (entlang der Bildachse YI) in der resultierenden Linie 171 eines gezeigten zweidimensionalen (2D) Bildes 172, wie allgemein in der beispielhaften (und optionalen) Anzeige 174 gezeigt, die Teil eines Rechners (z. B. Handgerät, Laptop, Tablet oder PC) sein kann, abgebildet. Wie weiter unten beschrieben kann der Rechner mit Hardware und/oder Software interagieren, was einen grafischen Benutzerinterfaceprozess 176 und einen Vorrichtungseinrichteprozess einschließt, wobei jeder von diesen den Benutzer in die Lage versetzt mit dem Visionssystemprozessor 180 zu interagieren, um die verschiedenen Funktionen und Parameter des Verschiebungssensors 110 einzurichten, zu überwachen und zu steuern.The displacement sensor assembly 110 includes a laser assembly 150 one that is a lens or other optical arrangement 152 includes (such as a Powell lens or a cylindrical lens) that has a curtain or fan 154 of laser light so on the object 120 that projected a line 156 forms along the physical x-axis (by and large transverse to the scanning movement direction My). The subjects 154 is generally in a plane which, in this embodiment, is approximately (or substantially) perpendicular to a reference plane, such as the physical xy plane of the movable surface 130 and / or a plane of the surrounding surface 140 of the property. The displacement sensor 110 also includes a camera assembly (dashed box 160 ), which generally consists of a lens / optic assembly, for example in a well-known Scheimpflug design 162 and an imager assembly ("Imager") 164. The imager 164 includes an array of photosensitive pixels having a predetermined resolution and the camera array generally defines an optical axis OA falling within the field of view where the line is 156 is visible on the object at different surface heights. The optical axis OA defines a non-parallel (e.g. acute) angle □ with respect to the plane (and the line connected to it 170 ) of the laser fan 154 . So any change / shift in the height of the physical z-axis in the line along the physical x-axis is made by the camera arrangement 160 as a change in position (along the image axis YI) in the resulting line 171 of a displayed two-dimensional (2D) image 172 , as generally in the example (and optional) ad 174 shown, which can be part of a computer (e.g. hand-held device, laptop, tablet or PC). As described below, the computer can interact with hardware and / or software, which is a graphical user interface process 176 and includes a device setup process, each of which enables the user with the vision system processor 180 to interact with the various functions and parameters of the displacement sensor 110 set up, monitor and control.

Es muss angemerkt werden, dass die gezeigte Anordnung der Achsen (x, y, z) 124 ein Übereinkommen ist und andere Darstellungen der Ausrichtung zueinander (z. B. Polarkoordinaten) ausdrücklich in Betracht gezogen werden. Wie gezeigt, wird auch eine Rotation um eine gegebene Achse dargestellt, z. B. durch den gekrümmten Doppelpfeil Rx, der die Rotation um die physikalische X-Achse zeigt.It must be noted that the illustrated arrangement of the axes (x, y, z) 124 is a convention and other representations of the orientation to one another (e.g. polar coordinates) are expressly contemplated. As shown, rotation about a given axis is also represented, e.g. B. by the curved double arrow Rx, which shows the rotation around the physical X-axis.

Der Imager 164 ist wirksam mit einem Visionssystemprozessor 180 verbunden, der sich im Gehäuse 112 des Verschiebungssensors 110 bei dieser Ausführungsform befindet. Bei alternativen Ausführungsbeispielen können sich einige oder alle Komponenten der Visionssystemprozessoren und/oder -Prozesse ausserhalb des Gehäuses befinden (z. B. auf einem angeschlossenem PC). Der Visionssystemprozessor 180 führt einen Verschiebungssensorprozess 182 in Übereinstimmung mit dem Darstellungsbeispiel aus, der unten genauer beschrieben wird. Der Prozessor 180 empfängt auch relative Bewegungssignale von der sich bewegenden Oberfläche 130 oder einer anderen Vorrichtung, die Bewegung verursacht (z. B. einem Portal oder einem Manipulator, der den Verschiebungssensor und/oder das Objekt trägt). Erfasste Bilder werden in Verbindung mit solchen Bewegungssignalen erfasst, so dass die Linie 156 an einer ausgewählten Objektpositionierung in der Szene abgebildet wird. So wie er hier verwendet wird, bezieht sich der Begriff erfasste Bilder auf eine Ansammlung von Pixelwerten auf dem Imager. Wie hier ebenfalls verwendet und weiter unten genauer beschrieben, bezieht sich der Begriff Höhenbild (oder Bereichsbild) auf die Ansammlung von Höhenpixelwerten, die von einem oder mehreren erfassten Bilder/n erzeugt wird, und der Begriff Graustufenbild bezieht sich auf die Ansammlung von Graustufenpixelwerten, die von einem oder mehreren erfassten Bilder/n erzeugt wird.The imager 164 is effective with a vision system processor 180 connected, which is in the housing 112 of the displacement sensor 110 in this embodiment is located. In alternative exemplary embodiments, some or all of the components of the vision system processors and / or processes can be located outside the housing (e.g. on a connected PC). The vision system processor 180 conducts a displacement sensor process 182 in accordance with the illustration example, which is described in more detail below. The processor 180 also receives relative motion signals from the moving surface 130 or another device that causes movement (e.g. a portal or a manipulator that carries the displacement sensor and / or the object). Captured images are captured in conjunction with such motion signals so that the line 156 is imaged at a selected object positioning in the scene. As used herein, the term captured images refers to a collection of pixel values on the imager. As also used herein and described in more detail below, the term height image (or area image) refers to the collection of height pixel values generated from one or more captured images, and the term grayscale image refers to the collection of grayscale pixel values that is generated from one or more captured images.

Wie ebenfalls weiter unten beschrieben wird, werden die Bilddaten (das heisst ein 2D Höhenbild - oft auch als „Bereichsbild“ bezeichnet) für die Objekte zu nachgelagerten Datenverarbeitungsvorrichtungen und -Prozessen (190 in 1) übertragen, um sie in verschiedenen Produktionsabläufen einzusetzen, wie etwa Qualitätskontrolle, Objektmanipulation, Montage usw. Anwender verlangen typischerweise Messungen, die in physikalischen Einheiten ausgedrückt werden (z. B. Millimeter oder Mikrometer in x und y und z) eher als Bildeinheiten (das heisst Pixel/Pels in x, bewegungsbasierte Trigger von Encodern in y, und Reihenverschiebungen in z). Aus diesem Grund werden Verschiebungssensoren typischerweise kalibriert, damit sie Bildpixelausgaben in physikalische Einheiten umrechnen, so dass die Ausgabe des kalibrierten Verschiebungssensors in physikalischen Einheiten erscheint. Die Kalibrierung des Verschiebungssensors kann durch den Hersteller vorgenommen werden, so dass der Verschiebungssensor Ausgabe in physikalischen Einheiten liefert (wie etwa das Modell DS1100, das von Cognex Corporation in Natick, Massachusetts, USA lieferbar ist). Alternativ können Sensoren Ausgaben in unkalibrierten Bildeinheiten liefern. Wenn die Ausgabe in unkalibrierten Bildeinheiten erscheint, ist der Anwender oder die Anwendung aufgefordert Eingabedaten in Bildpixeleinheiten zu verarbeiten. Der Anwender kann auch die gewünschten Höheneinheiten in Bezug auf Höhenbildpixelstufe (in physikalischen Einheiten) und Höhenbildpixelebenenstufe (mit Bezug darauf, wie viele physikalische Einheiten jede Pixelebene darstellt) bezeichnen, wenn das Höhenbild integrale Pixelwerte verwendet. Bei einem anderen Beispiel kann das Höhenbild als 2D Anordnung der fließenden Punktwerte dargestellt werden.As will also be described further below, the image data (i.e. a 2D height image - often also referred to as an “area image”) for the objects are transferred to downstream data processing devices and processes (190 in 1 ) in order to use them in various production processes, such as quality control, object manipulation, assembly, etc. Users typically require measurements that are in physical units are expressed (e.g. millimeters or micrometers in x and y and z) rather than image units (i.e. pixels / pels in x, motion-based triggers from encoders in y, and row shifts in z). For this reason, displacement sensors are typically calibrated to convert image pixel outputs into engineering units so that the output of the calibrated displacement sensor appears in engineering units. Calibration of the displacement sensor can be done by the manufacturer so that the displacement sensor provides output in engineering units (such as the model DS1100 available from Cognex Corporation of Natick, Massachusetts, USA). Alternatively, sensors can provide outputs in uncalibrated imaging units. If the output appears in uncalibrated image units, the user or the application is requested to process input data in image-pixel units. The user may also designate the desired height units in terms of height image pixel level (in engineering units) and height image pixel level level (in terms of how many engineering units each pixel level represents) when the height image uses integral pixel values. In another example, the height image can be displayed as a 2D arrangement of the flowing point values.

Es muss auch bemerkt werden, dass die Begriffe „Prozess“ und/oder „Prozessor“, wie sie hier verwendet werden, weit gefasst werden sollten, so dass sie eine Reihe von Funktionen und Komponenten, die auf elektronischer Hardware und/oder Software beruhen, einschließen. Darüberhinaus kann ein gezeigter Prozess oder Prozessor mit anderen Prozessen und/oder Prozessoren kombiniert werden oder in verschiedene Unterprozesse oder -Prozessoren aufgeteilt werde. Solche Unterprozesse und/oder Unterprozessoren können auf verschiedene Weise gemäß der Ausführungsbeispiele hier kombiniert werden. Ebenso wird ausdrücklich in Betracht gezogen, dass jede Funktion, jeder Prozess und/oder Prozessor, der hier erwähnt wird, mit Hilfe elektronischer Hardware, Software, die aus einem nichttransitorischen, computerlesbarem Medium der Programmanweisungen besteht, oder einer Kombination aus Hardware und Software hier umgesetzt werden kann.It should also be noted that the terms "process" and / or "processor" as used herein should be interpreted broadly to encompass a range of functions and components that rely on electronic hardware and / or software, lock in. In addition, a process or processor shown can be combined with other processes and / or processors or divided into different sub-processes or processors. Such sub-processes and / or sub-processors can be combined in various ways according to the exemplary embodiments here. It is also expressly contemplated that every function, every process and / or processor that is mentioned here, implemented here with the help of electronic hardware, software consisting of a non-transitory, computer-readable medium of the program instructions, or a combination of hardware and software can be.

Der Sensorprozess 182 schließt Kalibrierungswerte ein, die als Einrichtung eingeführt werden, die die Lage der Linie innerhalb des Blickfeldes des Imager mit einer physikalischen Höhe (z. B. H1, H2, H3) abbildet. Der Kalibrierungsprozess kann ein Kalibrierungsobjekt einsetzen, das sich entlang der z-Achse über eine Bewegungsplattform oder ein anderes Beförderungsmittel zu präzisen, bekannte Höhen bewegt, und die relative y-Lage (das heißt Y1 in der 2D Darstellung) der abgebildeten Linie bei dieser physikalischen Höhe wird verwendet, um eine Kurve oder Tabelle von Werten zu erstellen, die jede y-Lage mit einer gegebenen physikalischen Höhe in Bezug setzen. Jede y-Lage in jeder Spalte (wie unten bemerkt, können viele y-Werte pro Spalte existieren) wird auf einer physikalischen Höhe abgebildet, und die gleiche y-Lage in verschiedenen Spalten kann auf einer anderen physikalische Höhe abbilden, die auf Kalibrierungsparametern und dergleichen beruht. Alternativ können Werte mithilfe eines parametrischen Modells der Beziehung zwischen Pixellagen und den x, z Lagen in physikalischen Einheiten erzeugt werden. Beispielsweise bestimmt der Sensorprozess 182 die Lage der Linie (z. B. die Mitte oder eine andere ausgesuchte Lage/Lagen, wie etwa Start- und Endlage der erkannten Liniendicke) und verwendet dann diesen Wert zur Bestimmung der physikalischen Höhe dieses Teils der Objektoberfläche. Genauer gesagt und mit Bezug auf das Diagramm von 2 wird ein Teil des Imager 164 gezeigt. Der Imager besteht aus einer M-Reihe X N-Spaltenanordnung von lichtempfindlichen Elementen, die allgemein als „Pixel“ 210 bezeichnet werden. Diese Pixel erzeugen jeweils eine Ladung, die auf Aussetzung des einfallenden Lichts beruht. Diese Ladung wird durch eine Analog-zu-Digital Umwandlungsvorrichtung geschickt (nicht gezeigt), wo sie in einen digitalen, numerischen Wert in Bezug auf den Ladungsstand umgewandelt wird. Dieser Wert wird als Bildpixeldaten zur Verwendung durch den Prozessor 180 gespeichert. In einem Beispiel, das nicht einschränkend ist, kann eine Pixelanordnung von 768 Reihen X 1025 Spalten verwendet werden. Als weiteres, nicht einschränkendes Beispiel wird ein Blickfeld von etwa 175 mm mit einem vertikal arbeitenden Bereich (WR) vorgesehen, der (entlang 170 vom Laser 150) zwischen etwa 140 mm (WRmin) und 315 mm(WRmax) variiert. Diese Maße sind nur ein Beispiel eines weiten Bereichs von wirksamen Parametern und werden durch weitere Darstellungen der Funktionsweise hier geliefert.The sensor process 182 includes calibration values introduced as a means of mapping the location of the line within the field of view of the imager to a physical elevation (e.g., H1, H2, H3). The calibration process can employ a calibration object that moves along the z-axis via a motion platform or other means of transport to precise, known heights, and the relative y-position (i.e. Y1 in the 2D representation) of the imaged line at this physical height is used to create a curve or table of values relating each y-location to a given physical height. Each y-position in each column (as noted below, there can be many y-values per column) is mapped to a physical height, and the same y-position in different columns can map to a different physical height based on calibration parameters and the like is based. Alternatively, values can be generated in engineering units using a parametric model of the relationship between pixel locations and the x, z locations. For example, the sensor process determines 182 the position of the line (e.g. the center or another selected position / positions, such as the start and end position of the recognized line thickness) and then uses this value to determine the physical height of this part of the object surface. More precisely and with reference to the diagram of 2 becomes part of the imager 164 shown. The imager consists of an M row X N column array of photosensitive elements, commonly referred to as "pixels" 210. These pixels each generate a charge based on exposure to incident light. This charge is sent through an analog-to-digital converter (not shown) where it is converted into a digital, numerical value related to the charge level. This value is used as image pixel data for use by the processor 180 saved. In one example that is not limiting, a pixel array of 768 rows X 1025 columns can be used. As another non-limiting example, a field of view of approximately 175 mm is provided with a vertically operating area (WR) extending (along 170 from the laser 150 ) varies between about 140 mm (WRmin) and 315 mm (WRmax). These dimensions are only one example of a wide range of effective parameters and are provided through further descriptions of the functionality here.

Der dargestellte Teil der Pixelanordnung enthält Segmente 220, 230 der abgebildeten Laserlinie, bei der die Höhe übergeht zwischen den niederen und höheren Oberflächen 140 und 144. Das heißt, die Pixel in der Anordnung, die dem Licht der Linie ausgesetzt sind, werden innerhalb der gestrichelten Linien der Segmente 220, 230 gezeigt. Es wird angemerkt, dass einige Reihen innerhalb jedes Liniensegments fallen. Typischerweise berechnet der Visionssensorprozess 182 eine Linienmitte in jeder Spalte. Diese Linienmitte kann in eine Unterpixelebene aufgelöst werden, die auf eine Reihe von Faktoren und Berechnungen beruht, die den Experten auf diesem Gebiet bekannt sind. Beispielsweise kann eine Auflösung von 1/16 eines Pixel mit entsprechenden Algorithmen und den Daten aus einem oder mehreren Scanvorgängen erhalten werden.The illustrated part of the pixel arrangement contains segments 220 , 230 the laser line shown, where the height merges between the lower and higher surfaces 140 and 144 . That is, the pixels in the array that are exposed to the light of the line will be within the dashed lines of the segments 220 , 230 shown. It is noted that some rows fall within each line segment. Typically the vision sensor process calculates 182 a line center in each column. This line center can be resolved into a sub-pixel plane based on a number of factors and calculations known to those skilled in the art. For example, a resolution of 1/16 of a pixel can be obtained with appropriate algorithms and the data from one or more scanning processes.

Jeder Scanvorgang erzeugt eine Linie eines Höhen- oder Bereichsbildes. Wie in 3 gezeigt, wird das erfasste Bild 310 des Sichtfeldes, das eine Laserlinie 312 enthält, verarbeitet, um ein N-breites Feld 320 von Werten 322 zu erzeugen, das eine physikalische Höhe (z-Höhe, z. B. in mm) für jede Pixelspalte (0....N-1) des erfassten Bildes enthält. Während bei einigen Ausführungsformen zu diesem Zeitpunkt die physikalische Höhe für jeden Wert 322 erzeugt werden kann, schiebt die vorliegende Ausführungsform die Erzeugung von physikalischer Höhe bis zu einem anderen, nachgelagerten Prozessschritt hinaus. Bei der vorliegenden Ausführungsform wird die Lage der Laserlinie in Unterpixelauflösung in Pixeleinheiten erzeugt und in einem nachfolgenden Schritt werden Kalibrierungsparameter auf die Pixeleinheiten angewendet, um einen Satz von x, z Werten zu erzeugen (das heisst die Scanlinie bei physikalischen Einheiten). Es wird angemerkt, dass es mehr oder weniger (x, z) Paare in der physikalischen Einheitsscanlinie geben kann als im Linienlagevektor (in Pixel), der durch den Imager erzeugt wird, weil die Scanlinie wieder in physikalischen Einheiten abgebildet werden kann, um, wie gewünscht, eine feinere/gröbere Probe einzuschliessen. Auch kann sich die Anzahl der Werte (322) pro Spalte entlang der X-Richtung ändern, so dass mehr als ein Wert pro Spalte erzeugt wird. Beispielweise können die Start- und Endpositionen der Laserlinie in der x-Richtung vorgesehen werden, ebenso wie die Mitte oder andere Maße, wie etwa eine Standardabweichung. Im Allgemeinen stellt das Feld 320 ein Höhenbild dar, das aus Höhenwerten für jede x-Koordinate (Spalte) über die gescannte Objektoberfläche besteht. Wenn das Objekt gescannt wird, kann eine Serie von aufeinander folgenden Feldern kombiniert werden (mit der Kenntnis der y-Richtungsbewegung zwischen den Scanvorgängen, die auf dem Encoder beruhen), um ein Gesamtprofil der Objektoberfläche abzuleiten.Each scan creates a line of a height or area image. As in 3 the captured image is shown 310 of the field of view, which is a laser line 312 contains, processed to an N-wide field 320 of values 322 to generate a physical height (z-height, e.g. in mm) for each pixel column ( 0 .... N-1) of the captured image. While in some embodiments, at this point in time the physical height for each value 322 can be generated, the present embodiment postpones the generation of physical height to another, downstream process step. In the present embodiment, the position of the laser line is generated in sub-pixel resolution in pixel units and in a subsequent step calibration parameters are applied to the pixel units in order to generate a set of x, z values (i.e. the scan line for physical units). It is noted that there may be more or fewer (x, z) pairs in the physical unit scan line than in the line position vector (in pixels) generated by the imager because the scan line can again be mapped in physical units, such as desired to include a finer / coarser sample. The number of values ( 322 ) per column along the X direction so that more than one value per column is generated. For example, the start and end positions of the laser line can be provided in the x direction, as well as the center or other dimensions, such as a standard deviation. In general, the field represents 320 represents a height image consisting of height values for each x-coordinate (column) over the scanned object surface. When the object is scanned, a series of successive fields can be combined (with knowledge of the y-directional movement between scans based on the encoder) to derive an overall profile of the object surface.

Beim Erzeugen jedes Höhenbildes (320) vermindert der Prozess Rauschen und verbessert die Genauigkeit bei der Auffindung der Linienmittelage (und so des Höhenwertes) durch die Anwendung eines Filteralgorithmus auf einen Umkreis von Reihen. Eine Reihe von herkömmlichen und/oder neuen Filtern kann eingesetzt werden. Bei einem Ausführungsbeispiel läuft ein Liniensuchalgorithmus auf dem Ergebnis der Anwendung eines symmetrischen 1-2-4-2-1 Vertikalfilterkernel zum erfassten Bild etwa für jede Linie, für die eine Messung gemacht wurde, das heisst für jede Reihe im erfassten Bild werden Pixelwerte in vorliegender Reihe mit 1 multipliziert, die Pixelwerte der vorherigen Reihe werden mit 2 multipliziert, die davor liegende Reihe wird mit 4 multipliziert, die davor liegende Reihe wird mit 2 multipliziert und die Reihe davor mit 1. Die Filterausgabe ist die Summe der fünf oben genannten Produkte. Die Wahl des 1-2-4-2-1 Filters ist ungeradzahlig, so dass der Mittelpunkt der Anwendung des Filters als Ergebnis der Anwendung des Filters derselben Lage entsprechen kann. Andere Filter können eingesetzt werden, je nach Vorliebe des Anwenders, der Projektparameter oder anderer Umstände. Beispielsweise können solche anderen Filter unterschiedliche Breiten und/oder unterschiedliche Koeffizienten einschlie-ßen, wie etwa 1-2-4-6-4-2-1 oder 1-3-3-1 usw. Die Filterwerte in den Reihen über, bei und unter der maximalen Filterantwortlage werden verwendet, um die Linienlage mit Unterpixelgenauigkeit mithilfe quadratischer Interpolation (oder anderer bekannter Techniken) festzustellen. Wenn es ein Plateau bei der Filterantwort gibt, dann wird die Mitte des Plateaus verwendet anstatt der Spitzenposition.When generating each height image ( 320 ) the process reduces noise and improves the accuracy in finding the line center position (and thus the height value) by applying a filter algorithm to a perimeter of rows. A variety of conventional and / or new filters can be used. In one embodiment, a line search algorithm runs on the result of applying a symmetrical 1-2-4-2-1 vertical filter kernel to the captured image for approximately every line for which a measurement was made, that is, for each row in the captured image, pixel values are present Row multiplied by 1, the pixel values of the previous row are multiplied by 2, the row before it is multiplied by 4, the row before it is multiplied by 2, and the row before it is multiplied by 1. The filter output is the sum of the five products above. The choice of the 1-2-4-2-1 filter is odd so that the midpoint of the application of the filter as a result of the application of the filter may correspond to the same location. Other filters can be used depending on the user's preference, project parameters, or other circumstances. For example, such other filters may include different widths and / or different coefficients, such as 1-2-4-6-4-2-1 or 1-3-3-1, etc. The filter values in the rows above, at and below the maximum filter response position are used to determine line position with sub-pixel accuracy using quadratic interpolation (or other known techniques). If there is a plateau in the filter response then the center of the plateau is used instead of the peak position.

Besondere Aufmerksamkeit sollte den Reihen gewidmet werden, die sich in der Nähe des Anfangs- und Endbereichs im Bild befinden. Für die ersten und letzten Linien erzeugt das System keine Filtermessung. Für die zweiten und zweitletzten Linien nähert das System den gewünschten 1-2-4-2-1 Kernel mit einem 3-4-2-1 oder einem 1-2-4-3 Kernel. Bei einem Ausführungsbeispiel kann der Liniensuchprozess insbesondere die folgenden Filter relativ zu verschiedenen Lagen im interessierenden Bereich (auch weiter unten beschrieben) des Bildes einsetzen: Reihennummer (im analysierten Bereich) Angewandter Filter 0 keine Filtermessung durchgeführt 1 3-4-2-1 2, 3, ... 1-2-4-2-1 zweitletzte Reihe 1-2-4-3 letzte Reihe keine Filtermessung durchgeführt Particular attention should be paid to the rows that are near the beginning and end of the picture. The system does not generate a filter measurement for the first and last lines. For the second and penultimate lines, the system approximates the desired 1-2-4-2-1 kernel with a 3-4-2-1 or a 1-2-4-3 kernel. In one embodiment, the line search process can specifically employ the following filters relative to different locations in the area of interest (also described below) of the image: Row number (in the analyzed area) Applied filter 0 no filter measurement carried out 1 3-4-2-1 2, 3, ... 1-2-4-2-1 penultimate row 1-2-4-3 last row no filter measurement carried out

Es wird wiederum bemerkt, dass die Filterantwort für eine gegebene Reihe tatsächlich nicht berechnet werden kann, bis die zwei folgenden Reihen erfasst wurden - ausser es wird nur eine einzelne folgende Reihe verwendet, wenn die Antwort für die zweitletzte Reihe in einem Bereich berechnet wird. Wenn zusätzlich der Anwender angibt, dass die Höhenmessung einen Bereich Hmin - Hmax in physikalischen Einheiten umfassen soll, so müssen wir das in einen Bereich von Reihen Rmin bis Rmax umwandeln und dann mindestens jeweils eine Reihe oben und unten addieren, so dass wir Filterausgaben erhalten können, die Messungen im vollen Umfang von Hmin bis Hmax entsprechen.Again, it is noted that the filter response for a given row cannot actually be calculated until the next two rows have been acquired - unless only a single consecutive row is used when calculating the response for the penultimate row in a range. If, in addition, the user specifies that the height measurement should cover a range Hmin - Hmax in physical units, we have to convert this into a range from rows Rmin to Rmax and then add at least one row at the top and one below so that we can get filter outputs that correspond to measurements in full from Hmin to Hmax.

Interessierende TeilbereicheInteresting sub-areas

Mit Bezug auf 2 wird überlegt, dass verschiedene Oberflächenprofile interessierende Funktionen enthalten können, die durch einen beträchtlichen Abstand innerhalb des Arbeitsbereiches getrennt sind und Funktionen ausserhalb der Bereiche, die interessierende Funktionen enthalten, fehlen oder sind für die Analyse des Objekts unwichtig. Beim Beispiel des Objekts 120 ist die Grundfläche 140 und die erhabene Fläche 114 interessant und es gibt keine signifikanten Funktionen im Höhenbereich zwischen diesen Oberflächen. So gibt es einen interessierenden Bereich um die Höhe H1 und zwischen den Höhen H2 und H3. Alle anderen Höhen werden für die Analyse nicht gebraucht. Allerdings können wichtige Verarbeitungszeit und -Ressourcen für die Analyse des gesamten Sichtfeldes für Linieninformationen verbraucht werden. Bei vielen Anwendungen kann die allgemeine Lage einer interessierenden Funktion innerhalb eines Sichtfeldes innerhalb eines relativ kleinen Höhenbereichs vorhersehbar festgestellt werden. Gemäß eines Ausführungsbeispiels und weiter mit Bezug auf das Verfahren 400 der 4 definiert der Sensorprozess eine Vielzahl von interessierenden Bereichen RO11 und RO12 (2) im Sichtfeld. Jeder Bereich schließt eine Vielzahl von Reihen im Imager ein. Jeder interessierende Bereich ist in der Spalteneinheit des Imagers ausreichend groß, um die erwartete Lage einer Laserlinie aufgrund der Höhe der Objektfunktionen und Änderungen in der Höhe entsprechend der Bewegung des Objekts relativ zum Sichtfeld oder entsprechend anderen Prozessanforderungen aufzunehmen. Bei einer Ausführungsform schliesst jeder interessierende Reihenbereich Pixel aus allen angrenzenden Spalten ein. Gemäß des Verfahrens 400 bildet der Benutzer aufgrund einer Schätzung der physikalischen Höhe der interessierenden Objektfunktionen, deren Höhenänderungen, da sich diese Funktionen durch den Scanvorgang und Prozessänderungen bewegen, interessierende Bereiche, die der Prozess mit Pixellagen im Imager (Schritt 410) koordiniert. Beim entsprechenden Encoderwert (oder einem anderen Wert, der auf Bewegung beruht) erfasst der Imager ein erfasstes Bild des Objektes (Schritt 420). Der Prozess des Festlegens von interessierenden Bereichen bringt den Imager oder eine andere nachgelagerte Komponente dazu, Bildpixeldaten ausschließlich (nur) innerhalb der Pixelreihen zu erfassen, die sich innerhalb der festgelegten interessierenden Bereiche befinden. So kann sich der Prozessor auf Ressourcen in Bilddaten nur aus jedem interessierendem Bereich konzentrieren und so die Bildauslesezeit reduzieren (da Bildpixel ausserhalb der interessierenden Bereiche nicht übertragen werden) und die Berechnung der Oberflächenhöhe in jedem Bild beschleunigen. Es wird angemerkt, dass der interessierende Bereich für das Liniensegment 230 ausreichend groß ist, um die Änderung der Oberflächenhöhe der Oberfläche 144 aufzunehmen, da sich das Objekt durch den Scanvorgang entlang der y-Achse bewegt ebenso wie andere Prozesserfordernisse.Regarding 2 It is considered that different surface profiles can contain interesting functions that are separated by a considerable distance within the working area and functions outside the areas that contain interesting functions are missing or are unimportant for the analysis of the object. In the example of the object 120 is the base area 140 and the raised surface 114 interesting and there are no significant functions in the height range between these surfaces. So there is an area of interest around height H1 and between the heights H2 and H3 . All other heights are not used for the analysis. However, important processing time and resources can be consumed in analyzing the entire field of view for line information. In many applications, the general location of a function of interest within a field of view can be predictably determined within a relatively small height range. According to an exemplary embodiment and further with reference to the method 400 of the 4th the sensor process defines a large number of areas of interest RO11 and RO12 ( 2 ) in the field of view. Each area includes a plurality of rows in the imager. Each area of interest is sufficiently large in the column unit of the imager to accommodate the expected location of a laser line based on the height of the object functions and changes in height according to the movement of the object relative to the field of view or according to other process requirements. In one embodiment, each row area of interest includes pixels from all of the adjacent columns. According to the procedure 400 the user forms areas of interest based on an estimate of the physical height of the object functions of interest, their changes in height, since these functions move through the scanning process and process changes, areas of interest that the process with pixel positions in the imager (step 410 ) coordinated. With the corresponding encoder value (or another value based on movement), the imager captures a captured image of the object (step 420 ). The process of defining areas of interest causes the imager or other downstream component to acquire image pixel data only within the rows of pixels that are within the defined areas of interest. The processor can concentrate on resources in image data only from each area of interest and thus reduce the image read-out time (since image pixels outside the areas of interest are not transmitted) and accelerate the calculation of the surface height in each image. It is noted that the area of interest is for the line segment 230 is sufficiently large to accommodate the change in surface height of the surface 144 as the object moves along the y-axis as a result of the scanning process, as well as other process requirements.

Bei einer Ausführungsform schließt der Imager die Fähigkeit ein, die Ausgabe der ausgewählten Reihen über den Prozessor 180 an- oder abzuschalten. Bei anderen Ausführungsbeispielen kann der Imager Bereiche von Reihen zum Anschalten (Auslesung der gewählten Reihen ist möglich) oder Abschalten (Auslesung der abgewählten Reihen wird verhindert) festlegen. Andere Anordnungen, die die Verarbeitung von vorher bestimmten Reihen von Bilddaten blockieren, können bei anderen Ausführungsformen umgesetzt werden.In one embodiment, the imager includes the ability to output the selected rows through the processor 180 on or off. In other exemplary embodiments, the imager can define ranges of rows to be switched on (reading out of the selected rows is possible) or off (reading out of the deselected rows is prevented). Other arrangements that block the processing of predetermined series of image data can be implemented in other embodiments.

Im Schritt 430 verwendet das Verfahren 400 den oben beschriebenen Liniensuchalgorithmus, um die Lage der Linie mit Unterpixelgenauigkeit zu suchen. Laserlinienintensitätsdaten und Laserlinienpositionsdaten können auch durch Spitzenerkennung berechnet werden. Für jede Spalte wird der Spitzenwert/die -Lage der Filterantwort gefunden, z. B. werden die erfassten Pixelwerte dem oben genannten Filterprozess unterworfen. Die Laserlinienpositionsdaten, die eine oder mehrere Laserlinienpositionsangabe/n umfassen, entsprechen der Position des Filterspitzenwerts (in jeder Spalte) Die Laserlinienintensitätsdaten, die eine oder mehrere Laserlinienintensitätsangabe/n umfassen, entsprechen diesem Filterspitzenwert. Der Begriff Angabe wird mit Bezug auf einen gemessenen Wert, wie etwa einen Pixelwert, verwendet; die Linienintensitätsangabe bezieht sich auf den Laserlinienintensitätspixelwert, und die Linienpositionsangabe bezieht sich auf die Laserlinienposition. Der Begriff Daten wird manchmal mit Bezug auf einen Satz von einzelnen Angaben verwendet und manchmal mit Bezug auf eine einzelne Angabe. Die Lage der Linie in jeder Spalte wird im Schritt 440 verwendet, um eine Scheibe eines Gesamthöhenbildes zu formen, das das Profil dieser Scheibe des Objekts darstellt. Im optionalen Entscheidungsschritt 450 können die Messungen einer Scheibe analysiert werden, um festzustellen, ob eine Bedingung vorhanden ist-wie etwa ein Objekt, das ausserhalb der Spezifikation liegt. Wenn das der Fall ist, zeigt das System die Bedingung (z. B. einen Fehler) im Schritt 452 an und ergreift andere passende Maßnahmen (z. B. Auswurf des fehlerhaften Objekts, Alarmläuten, Anhalten des Bandes usw.) und kann eine Schleife bilden, um das nächste Objekt im Schritt 410 zu prüfen. Allerdings wird ausdrücklich in Betracht gezogen, dass verschiedene Anwendungen weiterhin ein Objekt scannen können, sogar nachdem ein fehlerhafter Zustand festgestellt wurde (über den gestrichelten Ast 454, der zum Scanerfassungsschritt 420 zurückführt). Es wird auch angemerkt, dass der Schritt 450 auch dazu verwendet werden kann, einzelne oder mehrere Scanvorgänge (Scheiben) des Bildes zu zählen. Diese Scheibe/n kann/können einen interessierenden Bereich oder eine Kombination von interessierenden Bereichen im Sichtfeld darstellen. Das heisst, während einige Systemprozesse einen Scanvorgang der ganzen Objektoberfläche (beispielsweise um sicherzustellen, dass Ausrichtung, Messungen und Entscheidungsfindung auf der vollen 3D Darstellung des Objektes beruhen) einsetzen, können einige Systemprozesse, wenn gewünscht, einzelne Scanvorgänge (Scheiben) der Objektoberfläche (das heisst Teilquerschnitte) einsetzen und zum Beispiel ausrichten, messen, Daten sammeln und/oder Entscheidungen treffen aufgrund jedes einzelnen Scanvorganges/Scheibe. So wird die Scheibe über Schritt 456 an einen oder mehrere nachgeschalteten Prozesse weitergeleitet. Zusätzlich verwenden einige Systemprozesse Gruppen von Scanvorgängen (z. B. zehn Querschnitte gleichzeitig) und kombinieren diese Daten mithilfe einer passenden Technik (wie Glätten, Durchschnittsbildung, andere Bildverarbeitungsvorgänge usw.). Diese kombinierten Daten werden dann verwendet um auszurichten, zu messen, Daten zu sammeln und/oder Entscheidungen zu treffen. Scannen kann weiter erfolgen, da diese Gruppe über den Zweig 454 verarbeitet wird, da Scheiben zu den nachgeschalteten Systemprozess/en im Schritt 456 gesendet werden. Darüber hinaus verwenden einige Systemprozesse eine Kombination des obigen, um schnelle Messungen/Entscheidungen usw. zu liefern, die auf einzelnen oder Gruppen von Scanvorgängen beruhen und Endmessungen usw., die auf dem gesamten gescannten Objekt (oder einem größeren Teil davon) beruhen.In step 430 uses the procedure 400 the line search algorithm described above to search for the location of the line with sub-pixel accuracy. Laser line intensity data and laser line position data can also be calculated by peak detection. For each column the peak value / position of the filter response is found, e.g. B. the captured pixel values are subjected to the filter process mentioned above. The laser line position data, which includes one or more laser line position indicators, correspond to the position of the filter peak value (in each column). The laser line intensity data, which includes one or more laser line intensity values, correspond to this filter peak value. The term indication is used with reference to a measured value, such as a pixel value; the line intensity indication relates to the laser line intensity pixel value, and the line position indication relates to the laser line position. The term data is sometimes used with reference to a set of individual pieces of information and sometimes with reference to a single piece of information. The location of the line in each column is shown in the step 440 used to form a slice of an overall elevation image that represents the profile of that slice of the object. In the optional decision step 450 For example, measurements of a disc can be analyzed to determine if a condition exists - such as an object that is out of specification. If this is the case, the system shows the condition (e.g. an error) in the step 452 and takes other appropriate action (e.g. ejecting the faulty object, ringing alarms, stopping the tape, etc.) and can loop to the next object in the step 410 to consider. However, it is expressly contemplated that various applications can continue to scan an object even after a faulty state has been detected (via the dashed branch 454 leading to the scan acquisition step 420 returns). It is also noted that the step 450 can also be used to count single or multiple scans (slices) of the image. These slices can represent a region of interest or a combination of regions of interest in the field of view. That is, while some System processes use a scanning process of the entire object surface (for example to ensure that alignment, measurements and decision-making are based on the full 3D representation of the object), some system processes can, if desired, use individual scanning processes (slices) of the object surface (i.e. partial cross-sections) and Align example, measure, collect data and / or make decisions based on each individual scan process / pane. So the disc will step over 456 forwarded to one or more downstream processes. In addition, some system processes use groups of scans (e.g. ten cross sections at a time) and combine this data using an appropriate technique (such as smoothing, averaging, other image processing, etc.). This combined data is then used to align, measure, collect data and / or make decisions. Scanning can continue as this group is on the branch 454 is processed as slices to the downstream system process / s in step 456 be sent. In addition, some system processes use a combination of the above to provide quick measurements / decisions, etc. based on individual or groups of scans, and final measurements, etc. based on the entire (or greater part of) scanned object.

In Abwesenheit eines signalisierten Zustandes (Fehler, einzelne Scheibe, Vielzahl von Scheiben) in Schritt 450, kann der Scanvorgang weitergehen (über den Entscheidungsschritt 460) bis Bilder der Linie, die sich über der gesamten Objektfläche befindet (oder einem gewünschtem Teil der Oberfläche) erfasst sind. Die einzelnen Höhenbilder werden dann verwendet, um ein 3D Profil der Objektoberfläche zu bilden, um sie bei nachgeschalteten Datenverarbeitungsprozessen (190 in 1) wie Qualitätskontrolle, Fehlererkennung, teilweiser Auswurf usw., zu verwenden. Nachgeschaltete Messungen oder ähnliche Informationen, die physikalische Daten umfassen, die durch die Analyse von mehr als einem interessierenden Bereich erzeugt wurden, können in einem oder mehreren Entscheidungsfindungsprozess/en (192 in 1) und/oder Visionssystemaufgabe/n (194 in 1) eingesetzt werden. Es wird auch in Betracht gezogen, dass die nachgeschalteten Messungen oder ähnliche Informationen physikalische Daten zwischen mehr als einem ROI, der vom gleichen Scanvorgang erzeugt wurde, einsetzen können. Genauer gesagt können verschiedene Bildverarbeitungsvorgänge, die in den interessierenden Bereichen vorgenommen wurden, über (und unter Anwendung der Daten von) vielen interessierenden Bereichen im gesamten Höhenbild angewendet werden, um spezielle Informationen über das Objekt abzuleiten. Solche Prozesse können Mustervergleiche, Prüfungen, Aufnehmen und Absetzen (und andere Robotermanipulationen), Toleranzvorgänge, und/oder jede andere Visionssystemfunktion, die Bilddaten einsetzen kann, die von einem Höhenbild abgeleitet sind, einschliessen aber sie sind nicht beschränkt auf diese. Der Prozess geht weiter (über Entscheidungsschritt 480) für jedes Objekt bis zum Ende (Schritt 490).In the absence of a signaled state (error, single target, large number of targets) in step 450 , the scanning process can continue (via the decision step 460 ) until images of the line that is located over the entire object surface (or a desired part of the surface) are captured. The individual height images are then used to form a 3D profile of the object surface in order to use it in downstream data processing processes ( 190 in 1 ) such as quality control, error detection, partial ejection, etc. Downstream measurements or similar information that includes physical data generated by analyzing more than one area of interest may be included in one or more decision making processes (192 in 1 ) and / or vision system task (s) (194 in 1 ) can be used. It is also contemplated that the downstream measurements or similar information may insert physical data between more than one ROI generated by the same scan. More specifically, various image processing operations performed in the areas of interest can be applied over (and using data from) many areas of interest throughout the elevation image to infer specific information about the object. Such processes can include, but are not limited to, pattern matching, testing, picking and dropping (and other robot manipulations), tolerance operations, and / or any other vision system function that can employ image data derived from a height image. The process continues (via decision step 480 ) for each object to the end (step 490 ).

Mit Bezug auf 5 können sich bei gewissen Umsetzungen die interessierenden Funktionen in engerer Nachbarschaft zur Höhe befinden, so dass das Sichtfeld 510 eine Linie enthält, die mithilfe zweier benachbarter oder in engerer Nachbarschaft befindlicher (und nicht überlappender) interessierender Bereiche RO11a und RO12a analysiert wird. In diesem Beispiel einer Anordnung wird der oben beschriebene Liniensuch- und Filterprozess (530) angepasst, um die fehlende Lücke zwischen den Bereichen aufzunehmen. In diesem speziellen Fall wird der Anfangsteil der oben beschriebenen Tabelle angepasst, um den zweiten Teil aufzunehmen. Es wird angemerkt, dass Bereiche allgemein so angeordnet sein können, dass die erste Reihe im zweiten Bereich die vorletzte Reihe im ersten Bild ist, das heisst zwischen ihnen gibt es keine Lücke. So können die Filter auf jeden benachbarten Bereich (RO11a und RO12a) in folgender Weise angewendet werden: Regarding 5 With certain implementations, the functions of interest can be in closer proximity to the height, so that the field of view 510 contains a line that is analyzed using two adjacent or in closer proximity (and non-overlapping) regions of interest RO11a and RO12a. In this example of an arrangement, the line search and filtering process described above ( 530 ) adjusted to accommodate the missing gap between areas. In this particular case, the beginning part of the table described above is adapted to accommodate the second part. It is noted that areas can generally be arranged such that the first row in the second area is the penultimate row in the first image, that is to say there is no gap between them. The filters can be applied to each neighboring area (RO11a and RO12a) in the following way:

Erster Bereich:First area:

Reihennummer Verwendeter Filter 0 Keine Filtermessung durchgeführt 1 3-4-2-1 2, 3, bis zur zweitletzten Reihe 1-2-4-2-1 Letzte Reihe Keine Filtermessung Da der Sensor nur jede zweite Reihe im zweiten Bereich erfasst, kann der engere Filter, der im ersten Bereich eingesetzt wird, nicht im zweiten Bereich laufen. Allerdings kann der breitere Filter, der durch den zweiten Bereich hindurch eingesetzt wird, auch in den letzten paar Reihen des ersten Bereichs angewendet werden. Die Ergebnisse des breiteren Filters in diesem Bereich überlappen mit den Ergebnissen des engen Filters und können dazu verwendet werden, die Daten zwischen den Bereichen zu „vermischen“. Row number Filter used 0 No filter measurement carried out 1 3-4-2-1 2, 3, up to the penultimate row 1-2-4-2-1 Last row No filter measurement Since the sensor only detects every second row in the second area, the narrower filter that is used in the first area cannot run in the second area. However, the wider filter inserted through the second area can also be used in the last few rows of the first area. The results of the wider filter in this area overlap the results of the narrow filter and can be used to “blend” the data between the areas.

Überlappungszone des ersten Bereichs:Overlap zone of the first area:

ReihennummerRow number Eingesetzter FilterInstalled filter Letzte - 3 ReihenLast - 3 rows 1-2-4-2-11-2-4-2-1 Letzte - 1 ReiheLast - 1 row 1-2-4-2-11-2-4-2-1

Zweiter Bereich:Second area:

ReihennummerRow number Eingesetzter FilterInstalled filter 0, 1, weiter0, 1, next 1-2-4-2-11-2-4-2-1 Letzte - 1 ReiheLast - 1 row 1-2-4-31-2-4-3 Letzte ReiheLast row Keine FiltermessungNo filter measurement

Ein GUI Prozess (176 in 1), der im Prozessor 180, der angeschlossenen Rechenvorrichtung, instantiiert wird, oder beide, versetzen den Anwender in die Lage, (typischerweise) interessierende Bereiche während der Einrichtung auszuwählen. 6 zeigt eine GUI Anzeige 610 des Einrichtungsinterface für den angeschlossenen Verschiebungssensor 110. Die Anzeige 610 schließt eine Vielzahl von Tabs 620 ein, die Zutritt haben beziehungsweise die zeigen, mit was der Sensor und die verschiedenen eingesetzten Parameter trainiert werden. Das ausgewählte Tab 622 zeigt den „Profil“ Bildschirm 630, der Eingabekästchen einschliesst, mit denen der Benutzer „Beide“ (632) auswählen kann, um viele (in diesem Beispiel zwei) wahrgenommene interessierende Bereiche in der gesamten Erkennungsbasis zu definieren. Die Wahl „Beide“ liefert beispielsweise zwei Spalten 634 und 636, die mit jedem jeweiligen interessierenden Bereich, der im Sichtfeld gebildet werden soll, in Verbindung stehen. Jeder Bereich enthält eine Einstellung für die physikalische Lage (in mm) der Z-Erkennungsbasis 640 (der Start des Erkennungsbereiches aus dem z-Ursprung des Arbeitsbereichs), der Z-Erkennungshöhe 642 (die z-Entfernung des jeweils interessierenden Bereiches) und einen Z-Erkennungsprobenwert. Bei diesem Beispiel beginnt die Z-Erkennungsbasis des ersten Bereichs bei 30 mm über dem Ursprung und erstreckt sich über eine Höhe von 10 mm. Die Z-Erkennungsbasis des zweiten Bereichs beginnt bei 79 mm und erstreckt sich über 14 mm darüber. Beide Bereiche werden bei einem Wert von 1 als Probe genommen. Alle Bereiche im Sichtfeld ausserhalb dieser Bereiche sind von der Verarbeitung ausgenommen. Es wird angemerkt, dass bei Ausführungsbeispielen, bei denen mehr als zwei interessierende Bereiche gebildet werden sollen, die Auswahl „Beide“ durch ein anderes Dialogkästchen ersetzt werden kann, das die Anzahl der Bereiche bildet, und damit verbundene Spalten eingesetzt werden können. Zum besseren Verständnis des Anwenders sind diese Bezüge (für jeden interessierenden Bereich) einzeln in einer Darstellung 650 an der Seite des Eingabebereichs der Anzeige 630 gezeigt. Dieses Interface kann die Erzeugung einer Vielzahl von interessierenden Bereichen ermöglichen.A GUI process ( 176 in 1 ) that is in the processor 180 , the connected computing device, or both, enable the user to (typically) select areas of interest during setup. 6th shows a GUI display 610 of the setup interface for the connected displacement sensor 110 . The ad 610 includes a variety of tabs 620 one that has access or that shows what the sensor and the various parameters used are being trained with. The selected tab 622 shows the "Profile" screen 630 , which includes input boxes that allow the user to select "Both" (632) to define many (in this example two) perceived areas of interest throughout the recognition base. For example, choosing “Both” returns two columns 634 and 636 associated with each respective area of interest to be formed in the field of view. Each area contains a setting for the physical position (in mm) of the Z recognition base 640 (the start of the detection area from the z origin of the work area), the Z detection height 642 (the z-distance of the particular area of interest) and a z-recognition sample value. In this example, the Z detection base of the first area starts at 30 mm above the origin and extends to a height of 10 mm. The Z detection base of the second area starts at 79mm and extends 14mm above it. Both areas are sampled at a value of 1. All areas in the field of vision outside these areas are excluded from processing. It should be noted that in the case of exemplary embodiments in which more than two areas of interest are to be formed, the selection “Both” can be replaced by another dialog box that forms the number of areas and associated columns can be used. For a better understanding of the user, these references (for each area of interest) are shown individually 650 on the side of the input area of the display 630 shown. This interface can enable the creation of a variety of areas of interest.

7 zeigt eine alternative Umsetzung eines GUI zur Einrichtung von Erkennungs- und Ausschlußbereichen. Bei dieser Ausführungsform schließt die Anzeige 710 ein angezeigtes Bild 720 des gesamten Sichtfeldes des Objekts 730 ein. Eine Laserlinie 740 wird gezeigt, die über das Objekt 730 projiziert ist. Der Anwender kann das Objekt bewegen (über den Förderer, die Bewegungsplattform usw.), um die Grenzen der Bewegung jeder Linie in jedem Bereich festzustellen, und die Grenzen der zugeordneten interessierenden Bereiche RO11b und RO12b werden vom Anwender ausgewählt. Einer oder mehrere entsprechende Button/s 760 kann/können eingesetzt werden, um interessierende Bereiche in Verbindung mit den Cursorbewegungen (750) oder ähnlichen Interfacefunktionen einzustellen, die Fachleuten auf diesem Gebiet bekannt sind. Wenn die interessierenden Bereiche grafisch eingestellt sind, übersetzt der Einrichtungsprozess diese Lagen in physikalische Messungen und Lagen entlang von Pixelspalten im Imager. 7th shows an alternative implementation of a GUI for setting up detection and exclusion areas. In this embodiment the display closes 710 a displayed image 720 of the entire field of view of the object 730 on. A laser line 740 is shown over the object 730 is projected. The user can move the object (via the conveyor, moving platform, etc.) to determine the boundaries of movement of each line in each area, and the boundaries of the associated areas of interest RO11b and RO12b are selected by the user. One or more corresponding Button / s 760 can be used to indicate areas of interest in connection with the cursor movements ( 750 ) or similar interface functions known to those skilled in the art. With the areas of interest set graphically, the setup process translates these locations into physical measurements and locations along columns of pixels in the imager.

Anpassung der AuflösungAdjustment of the resolution

Bei weiteren Ausführungsbeispielen wie unten beschrieben können einige oder alle Reihen bei einer verminderten Auflösung definiert werden - beispielsweise durch Proben in jeder zweiten Reihe. Zusätzlich und wie im Beispiel der 2 gezeigt erscheint das weiter entfernte Liniensegment 220 mit einer niedrigeren Auflösung und definiert eine Breite LW1, kreuzt weniger Pixelreihen als das nähere Liniensegment 230, das eine Breite LW2 definiert, die mehr Pixelreihen kreuzt als das Liniensegment 220. So wird das nähere Liniensegment einem dichteren Scanvorgang und einer höheren Auflösung unterworfen als das weiter entfernte Liniensegment. Allgemein gesprochen, je näher die Entfernung des abgebildeten Lichts innerhalb des Arbeitsbereichs ist, desto höher die Auflösung des Bildes. Typischerweise ist die Auflösung des weiteren Liniensegments im Allgemeinen ausreichend. Beispielsweise kann die Auflösung der interessierenden Bereiche bei einem kürzeren Arbeitsbereich durch selektives Ausschalten der Ausgabe und/oder Verarbeitung von Reihen vermindert werden. Zum Beispiel kann im interessierenden Bereich RO12 immer abwechselnd eine Reihe ausgeschaltet werden. Um die Auslösung weiter zu reduzieren, kann jede dritte oder vierte Reihe angeschaltet werden, während dazwischenliegende Reihen ausgeschaltet werden. Die Auflösung eines Bereiches (RO11) mit längerem Arbeitsbereich kann gegebenenfalls auch eine verminderte Auflösung gemäß dieser Technologie definieren. Wenn die Auflösung beider Bereiche reduziert wird, wird eine größere Reduzierung typischerweise auf den Bereich mit kürzerem Arbeitsbereich angewendet, um dessen anfänglich hohe Auflösung auszugleichen. Es wird angemerkt, dass die Möglichkeit die Auflösung zu ändern auch eingesetzt werden kann, um die Anwesenheit einer verengten „Taille“ im mittleren Bereich der abgebildeten Laserlinie und verbreiterter Enden an jeder Seite der Taille anzusprechen.In further exemplary embodiments as described below, some or all of the rows can be defined at a reduced resolution - for example by samples in every other row. Additionally and as in the example of the 2 the line segment further away appears 220 with a lower resolution and defines a width LW1, crosses fewer rows of pixels than the closer line segment 230 , which defines a width LW2 that crosses more rows of pixels than the line segment 220 . The closer line segment is subjected to a denser scanning process and a higher resolution than the more distant line segment. Generally speaking, the closer the distance of the imaged light is within the work area, the higher the resolution of the image. Typically, the resolution of the further line segment is im Generally sufficient. For example, if the work area is shorter, the resolution of the areas of interest can be reduced by selectively switching off the output and / or processing of rows. For example, one row can be switched off alternately in the area RO12 of interest. To further reduce tripping, every third or fourth row can be turned on while intervening rows are turned off. The resolution of an area (RO11) with a longer working area can, if necessary, also define a reduced resolution according to this technology. When the resolution of both areas is reduced, a larger reduction is typically applied to the area with a shorter working area to compensate for its initially high resolution. It is noted that the ability to change the resolution can also be used to address the presence of a narrowed “waist” in the central area of the imaged laser line and widened ends on either side of the waist.

In einem weiteren Beispiel zeigt 8 einen beispielhaften Teil eines Imager 800 einschliesslich der Pixelreihen 810, die den zwei interessierenden Bereichen RO11c und RO12c zugeordnet sind. Wie gezeigt, werden Ausgabeanweisungen 810 an die Imagerkontrollschaltung 830 und/oder den Visionssystemprozessor (z. B. aufgrund einer automatisierten Anordnung oder einer GUI Einrichtung) ausgegeben, um Signale (Auslesungen) von jeder abwechselnden Reihe (ausgeschaltete Reihen werden durch ein „X“ bezeichnet) im ersten Bereich RO11c zu löschen. Ebenso wird im zweiten Bereich RO12c jede dritte Reihe angeschaltet, während die zwei Reihen dazwischen ausgeschaltet werden. Im Allgemeinen wird durch Verminderung der Auflösung ein annehmbares Profil berechnet, während die Arbeitslast des Prozessors vermindert wird und die Durchgangsgeschwindigkeit für den Scanvorgang wächst. Genauer gesagt liefert das Ausführungsbeispiel in 8A einen Imager 850, der Vollauflösung im ersten Bereich RO11d (angeschaltet, Auslesung jede Reihe) und halbe Auflösung in jedem zweiten Bereich RO12d (angeschaltet, Auslesung jeder zweiten Reihe) überträgt. Kontrollfunktionen und -Anweisungen sind ähnlich denjenigen, die mit Bezug auf 8 oben beschrieben wurden.In another example shows 8th an exemplary part of an imager 800 including the rows of pixels 810 associated with the two regions of interest RO11c and RO12c. As shown, there are output statements 810 to the imager control circuit 830 and / or the vision system processor (e.g. due to an automated arrangement or a GUI facility) to clear signals (readings) from each alternating row (turned-off rows are denoted by an “X”) in the first area RO11c. Likewise, in the second area RO12c, every third row is switched on, while the two rows in between are switched off. In general, lowering the resolution will result in an acceptable profile while reducing the load on the processor and increasing the throughput speed for the scan. More specifically, the embodiment in FIG 8A an imager 850 , which transmits full resolution in the first area RO11d (switched on, read out every row) and half resolution in every second area RO12d (switched on, read out every second row). Control functions and instructions are similar to those related to 8th described above.

Erzeugung von GraustufenbildernGeneration of grayscale images

Bei vielen Produktionsanwendungen ist es, neben anderen Prozessen, wünschenswert sowohl Höhenprofil eines Objektes als auch bestimmte 2D Elemente, wie einen Druck, zu prüfen. Beispielsweise sollten sich alle Tasten einer Tastatur auf einer vorbestimmten Höhe befinden und auch alle die passenden gedruckten Indizierungen (alphanumerische Charakter, Symbole usw.) tragen.In many production applications, among other processes, it is desirable to check both the height profile of an object and certain 2D elements, such as a print. For example, all the keys on a keyboard should be at a predetermined height and they should all have the appropriate printed indexing (alphanumeric characters, symbols, etc.).

Zum Beispiel stellt 9 ein Bild 910 eines gewöhnlichen Objekts 920 (eines Nummernschilds) dar, das sowohl flache (im Vergleich zur umgebenden Schildbasis 930) gedruckte Elemente 940 als auch erhabenen Elemente aufweist. Während jeder Satz von Elementen in einer kontrastierenden Farbe (z. B. blau und rot) geliefert werden kann, wird in Betracht gezogen, dass die Laserfarbe so ausgewählt werden kann, dass sie passenderweise beide Farben in einem erfassten Bild auflöst. Auf Grund der erfassten Bilddaten kann das System die maximale Filterantwort der erfassten Bildintensitäten messen, nachdem jede Spalte den oben beschriebenen Filterprozessen unterworfen wurde, wie einem 1-2-4-2-1 Filter, um ein Graustufenbild zu erzeugen, das so unempfindlich wie möglich gegen Höhenänderungen ist und das Kontraständerungen wie einen Druck auf der Oberfläche zeigt. Alternativ kann das System dieselbe quadratische oder eine andere Interpolationsfunktion einsetzen, um eine Schätzung der Antwort bei der Unterpixelposition der gemessenen Linien zu erzeugen und dies benutzen, um das Graustufenbild zu erzeugen. So kann das System entweder eine Höhenbild, ein Graustufenbild oder beides gleichzeitig (überlappte Bilder) erzeugen. Bei einigen Beispielen kann das Graustufenbild aus den gefilterten Laserlinienintensitätsdaten erzeugt werden, und die gefilterten Laserlinienintensitätsbilder können größer als ein 8 Bit Wert sein. Das kommt daher, dass sich, wenn der 1-2-4-2-1 Filter auf einen 8 Bit Wert angewendet wird, ein Ergebnis größer als 8 Bits ergeben kann. Da einige Maschinenvisionsvorgänge eine 8 Bit Graustufenbildeingabe erwarten, kann das System 100 Laserlinienintensität mit Werten von 16 Bit bis 8 Bit Graustufenbildwerte abbilden. Der Anwender kann eine Pixelabbildung verwenden, um aus dem gefilterten Laserlinienintensitätsbild, das einen Bit-Wert größer als 8 haben kann, ein Graustufenbild mit bis zu 8 Bit abzubilden. Die Graustufenbilddaten können nachträglich gemäß der entsprechenden Höheninformationen verarbeitet werden, da Laserlinien dünner sein können als die Laserrückkehr und die Laserrückkehr dunkler sein kann je weiter die Laserlinien vom Sensor positioniert sind. Die oben beschriebene Bitabbildung kann eine Anwendungsspezifikation sein und/oder teilweise spezifisch.For example poses 9 a picture 910 of an ordinary object 920 (of a license plate), which is both flat (compared to the surrounding shield base 930 ) printed items 940 as well as raised elements. While each set of elements can be supplied in a contrasting color (e.g. blue and red), it is contemplated that the laser color can be selected to suitably resolve both colors in a captured image. On the basis of the captured image data, the system can measure the maximum filter response of the captured image intensities after each column has been subjected to the filtering processes described above, such as a 1-2-4-2-1 filter, in order to generate a grayscale image that is as insensitive as possible against changes in height and that shows changes in contrast like a pressure on the surface. Alternatively, the system can use the same quadratic or other interpolation function to generate an estimate of the response at the sub-pixel position of the measured lines and use this to generate the gray-scale image. The system can either generate a height image, a grayscale image or both at the same time (overlapped images). In some examples, the grayscale image can be generated from the filtered laser line intensity data, and the filtered laser line intensity images can be greater than an 8 bit value. This is because if the 1-2-4-2-1 filter is applied to an 8 bit value, the result can be greater than 8 bits. Since some machine vision operations expect 8 bit grayscale image input, the system can 100 Map laser line intensity with values from 16 bit to 8 bit grayscale image values. The user can use a pixel map to map a grayscale image with up to 8 bits from the filtered laser line intensity image, which can have a bit value greater than 8. The grayscale image data can be processed afterwards according to the corresponding height information, since laser lines can be thinner than the laser return and the laser return can be darker the further the laser lines are positioned from the sensor. The bit mapping described above can be an application specification and / or partially specific.

10 zeigt im Detail ein zugehöriges Höhenbild 1010 des Objekts 920. Es wird angemerkt, dass das Höhenbild 1010 mit unterschiedlicher Intensität aufgrund von Höhe dargestellt ist (aus Gründen der Klarheit), wobei Schwarz 1030 die Höhe der Basislinie des Arbeitsbereiches darstellt, Grau 1040 die angehobene Höhe (von der Basisline) der Plattenbasis 930 und Weiss 1050 die Höhe der erhabenen Elemente 950. Die flachen Druckelemente 940 sind im Allgemeinen auch grau, so dass sie die gleiche Farbe wie die Höhe der Basisplatte 930 haben, aber, wie unten beschrieben, „falsche“ Kanten 1060 einschliessen, die als leichte Höhenänderungen erscheinen. 10 shows a corresponding elevation image in detail 1010 of the object 920 . It is noted that the height image 1010 is shown at different intensities due to altitude (for clarity), being black 1030 represents the height of the baseline of the work area, gray 1040 the raised height (from the baseline) of the plate base 930 and white 1050 the height of the raised elements 950 . The flat printing elements 940 are also generally gray, so they are the same color as the height of the base plate 930 have, but, as described below, "wrong" edges 1060 that appear as slight changes in altitude.

11 zeigt ein Graustufenbild 1110 des Objekts 920, das mithilfe der Bilddaten aus dem Scanvorgang des Objekts unter Beleuchtung der Laserlinie erfasst wurde. Wie gezeigt, werden die kontrastierenden Farben der flachen Elemente 940 klar im Vergleich zum kontrastierenden Hintergrund der Schildbasis 930 abgebildet. Die erhabenen Elemente 950 werden auch abgebildet (obwohl die Farbe ausgewaschen sein kann, wenn eine ähnliche Laserfarbe eingesetzt wird - die Auswahl einer passenden Farbe und/oder eines optischen Filters kann sicherstellen, dass das komplette Graustufenbild des Objekts erfasst wird). Die erhabenen Elemente können auch feine Merkmale 1150 enthalten, entsprechend der Schattengebung von den gewinkelten Aussenkonturen der erhabenen Elemente. Dieser Effekt kann wesentlich durch die Anwendung der Korrekturen auf Grund des Graustufenbildes reduziert werden. Beispielsweise, kann der senkrechte Gradient bei jedem Pixel des Graustufenbildes berechnet werden und die Korrektur, die auf diesem Gradient basiert, kann für jede Höhenmessung beim Höhenbild angewendet werden. 11 shows a grayscale image 1110 of the object 920 that was captured using the image data from the scanning process of the object under illumination of the laser line. As shown, the contrasting colors of the flat elements 940 clear compared to the contrasting background of the shield base 930 pictured. The sublime elements 950 are also mapped (although the color may be washed out if a similar laser color is used - choosing a suitable color and / or optical filter can ensure that the full grayscale image of the object is captured). The raised elements can also have fine features 1150 included, according to the shading of the angled outer contours of the raised elements. This effect can be significantly reduced by applying the corrections due to the gray-scale image. For example, the vertical gradient can be calculated at each pixel of the grayscale image and the correction based on this gradient can be applied to each height measurement in the height image.

Wie im Diagramm der 12 gezeigt, erzeugt der Scanvorgang der Laserlinie ein erfasstes Bild 1210. Dieses erfasste Bild wird den Liniensuchprozessen/-Algorithmen 1220, wie allgemein oben beschrieben, unterworfen. Diese Prozesse/Algorithmen 1220 können auf einen interessierenden Bereich oder gegebenenfalls auf das ganze Bild wirken. Die Bilddaten 1230, die aus Pixelgraustufenintensitätswerten in jeder Spalte bestehen, und die Lage der Spitzenintensität (und Intensitätswert) werden durch den Liniensuchprozess übertragen, damit sie bei der Bildung einer Scheibe des Höhenbildes 1240 und auch einer Scheibe des Graustufenbildes 1250 eingesetzt werden. Bei einem anderen Beispiel können die Bilddaten 1230 Graustufenintensitätswerte einschliessen, die dadurch erzeugt wurden, dass die Laserlinienintensitätsdaten einem oder mehreren der oben beschriebenen Filter unterworfen wurden. Das Höhenbild verwendet die Spitzenlage in jeder Spalte um einen physikalischen Höhenwert zu erzeugen, während die Intensität an der Spitze als Graustufenwert für diese x-y Lage im Bild eingesetzt wird.As in the diagram of the 12th As shown, the scanning process of the laser line creates a captured image 1210 . This captured image is used by the line search processes / algorithms 1220 as generally described above. These processes / algorithms 1220 can act on an area of interest or, if necessary, on the entire image. The image data 1230 , which consist of pixel gray level intensity values in each column, and the location of the peak intensity (and intensity value) are passed through the line search process for use in forming a slice of the height image 1240 and also a slice of the grayscale image 1250 can be used. In another example, the image data 1230 Include grayscale intensity values generated by subjecting the laser line intensity data to one or more of the filters described above. The height image uses the top position in each column to generate a physical height value, while the intensity at the top is used as a gray level value for this xy position in the image.

Wenn das Bild gescannt und eine Vielzahl von Scanvorgängen (1210) erfasst wird, erzeugt der Prozess weitere Höhen- und Graustufenscheiben (1240, 1250), die zu Gesamthöhen- und/oder Graustufenbildern 1260, 1270 des Objekts beitragen. Wie oben beschrieben, kann der Anwender (z. B. über das GUI) bestimmen, dass einer der Typen des Bildes oder beide Bildertypen erzeugt werden. Bei einer Ausführungsform kann eine Gruppe von Pixelreihen dazu verwendet werden, um Höhenbilder zu erzeugen, und eine andere Gruppe von Pixelreihen (z. B. abwechselnde Pixelreihen usw., wie allgemein in 8 gezeigt) kann dazu verwendet werden, um Graustufenbilder zu erzeugen. Auf diese Weise kann die Auflösung jedes Bildes reduziert werden, indem weniger Pixelreihen eingesetzt werden, aber einzelne (unterschiedliche) Reihen von Pixeln im Imager können gleichzeitig dazu verwendet werden, um nebeneinander Höhen- und Graustufenbilder zu erzeugen.If the image is scanned and a variety of scans ( 1210 ) is recorded, the process creates additional height and gray scale slices ( 1240 , 1250 ) leading to overall elevation and / or grayscale images 1260 , 1270 of the property. As described above, the user can determine (e.g. via the GUI) that one of the types of image or both types of images are generated. In one embodiment, one group of rows of pixels can be used to generate height images and another group of rows of pixels (e.g., alternating rows of pixels, etc., as generally in FIG 8th shown) can be used to create grayscale images. In this way, the resolution of each image can be reduced by using fewer rows of pixels, but individual (different) rows of pixels in the imager can be used simultaneously to create side-by-side height and grayscale images.

Bei einigen Beispielen können die erzeugten Graustufenbilddaten Spitzenintensitätsdatenwerte enthalten, die ein Ergebnis einer Lage eines schlechten Pixel im erfassten Bild sind. Wie oben beschrieben, kann das Erscheinen von verdächtigen oder schlechten Pixeln im Graustufenbild eine Manifestation eines Fehlers oder einer Unregelmässigkeit in der Hardware oder Software sein, die verwendet wird, um das Graustufenbild zu erzeugen. Insbesondere kann der Einsatz der Abbildungskomponenten mit schlechten Wahrnehmungselementen das Erscheinen solcher verdächtigen oder schlechten Pixel verursachen. Auch können so falsche Ergebnisse bei den Höhenbildern und den Graustufenbildern entstehen. Deshalb ist es wünschenswert, die Daten, die schlechten Wahrnehmungselementen entsprechen, zu ignorieren, indem verdächtige Spitzendatenwerte identifiziert werden und interpolierte Graustufenwerte aus naheliegenden Daten anstatt der verdächtigen Spitzendatenwerte eingesetzt werden. Bei einem anderen Beispiel können anomale Höhenwerte bedeuten, dass die zugeordneten Graustufeninformationen verdächtig sind, z. B. verdächtige Graustufenbildwerte können durch die Analyse der zugeordneten Höheninformationen identifiziert werden, entweder in den Laserlinieninformationen oder in den Höhen-/Graustufeninformationen.In some examples, the generated grayscale image data may include peak intensity data values that are a result of a bad pixel location in the captured image. As described above, the appearance of suspicious or bad pixels in the grayscale image may be a manifestation of a bug or anomaly in the hardware or software used to create the grayscale image. In particular, the use of the imaging components with poor perceptual elements can cause such suspicious or poor pixels to appear. This can also lead to incorrect results in the height images and the grayscale images. Therefore, it is desirable to ignore the data corresponding to poor perceptual elements by identifying suspicious peak data values and substituting interpolated grayscale values from nearby data in place of the suspicious peak data values. In another example, abnormal height values may mean that the associated gray level information is suspicious, e.g. B. suspicious grayscale image values can be identified by analyzing the associated height information, either in the laser line information or in the height / grayscale information.

12a ist ein Flussdiagramm eines Verfahrens 1200A für die Korrektur von null oder mehreren verdächtigen Pixeln in einer Reihe des Graustufenbildes, das möglicherweise verdächtige Pixeldatenwerte gemäß der obigen Beschreibung enthält. Als Beispiel kann das Verfahren 1200A bei jeder Komponente innerhalb des Systems instantiiert werden, wie etwa dem Visionssystemprozessor 180, dem Sensorprozess 182 oder den Datenverarbeitungsvorrichtungen/-Prozesse 190. Die Blöcke des Verfahrens 1200A können, obwohl sie unten in einer gewissen Ordnung gezeigt sind, von einem oder mehreren Prozessoren in jeder speziellen Ordnung auftauchen oder durchgeführt werden. 12a Figure 3 is a flow diagram of a method 1200A for correcting zero or more suspect pixels in a row of the grayscale image that may contain suspect pixel data values as described above. As an example, the procedure 1200A instantiated at every component within the system, such as the vision system processor 180 , the sensor process 182 or the data processing devices / processes 190 . The blocks of the procedure 1200A Although shown below in some order, may appear or be performed by one or more processors in any particular order.

Beim Block 1210A werden die Laserlinienspitzenpositionsdaten und die entsprechenden Laserlinienspitzenintensitätsdaten empfangen oder erzeugt. Die Laserlinienspitzenpositionsdaten und die entsprechenden Laserlinienspitzenintensitätsdaten können als Ausgabe des Block 430, wie oben beschrieben, erzeugt werden. Die Laserlinienspitzenpositionsdaten und die Laserlinienspitzenintensitätsdaten können jeweils ein oder mehrere einzelne Laserlinienpositionsangaben und Laserlinienintensitätsangaben einschliessen, wobei jede einen Wert aufweist. Bei Block 1220A kann die Spitzenintensitätslage in den Laserlinienspitzenintensitätsdaten wie oben beschrieben identifiziert werden.At the block 1210A the laser line tip position data and the corresponding laser line tip intensity data are received or generated. The laser line tip position data and the corresponding laser line tip intensity data can be output as the block 430 as described above. The laser line tip position data and the laser line tip intensity data may each include one or more individual laser line position information and laser line intensity information, each having a value. At block 1220A For example, the peak intensity location can be identified in the laser line peak intensity data as described above.

Bei Block 1230A wird jeder Datenwert der Laserlinienpositions- und Intensitätsdaten mit einer verdächtigen Pixelabbildung verglichen, um einen oder mehrere verdächtige oder schlechte Datenwerte in den Laserlinienintensitätsdaten zu identifizieren, die den Laserlinienpositionsdaten entsprechen. Die Lage von verdächtigen oder schlechten Pixeln kann vor dem Abbildungsprozess bekannt sein. In dieser Hinsicht kann die verdächtige Pixelabbildung bei Block 1235A während des Kalibrierungsprozesses für den Imager entwickelt werden. Die verdächtige Pixelabbildung kann vorher bestimmte Pixel, die bekannt als verdächtig oder schlecht sind, einer Abbildungsvorrichtung identifizieren. Die verdächtige Pixelabbildung kann jederzeit während des Prozesses erzeugt werden, und sie kann insbesondere während der Kalibrierung des Imager erzeugt werden. Die verdächtige Pixelabbildung kann durch Erfassen eines oder mehrerer Bilder mit einheitlich hellen oder dunklen Szenen während eines Kalibrierungsabbildungsprozesses und der Identifizierung von Pixeln, die Werte misst, die sich deutlich von naheliegenden Wahrnehmungselementen unterscheiden, erzeugt werden. Alternativ oder zusätzlich können ....... mit Hilfe von bekannten verdächtigen Pixelinformationen, die vom Hersteller geliefert werden, erzeugt werden.At block 1230A each data value of the laser line position and intensity data is compared to a suspect pixel map to identify one or more suspicious or poor data values in the laser line intensity data that correspond to the laser line position data. The location of suspicious or bad pixels can be known prior to the imaging process. In this regard, the suspicious pixel map at Block 1235A be developed for the imager during the calibration process. The suspicious pixel map can identify predetermined pixels known to be suspicious or bad to an imaging device. The suspicious pixel image can be generated at any time during the process, and in particular it can be generated during calibration of the imager. The suspicious pixel map can be generated by capturing one or more images with uniformly light or dark scenes during a calibration mapping process and identifying pixels that measure values that are significantly different from nearby perceptual elements. Alternatively or additionally ....... can be generated with the help of known suspicious pixel information supplied by the manufacturer.

Bei Block 1240A wird ein Vergleich zwischen der Spitzenintensitätslage, die bei Block 1220A identifiziert wurde, und der Lage aller verdächtigen Pixellagen durchgeführt. Wenn die Spitzenintensitätspixellage identifiziert ist, die einer verdächtigen Pixellage entspricht, sich überlappt oder sich innerhalb einer vorher bestimmter Nähe (z. B. innerhalb weniger Pixel) befindet, kann das System festlegen, dass eine Korrektur ausgeführt werden soll, um den verdächtigen Datenwert in den Laserlinienintensitätsdaten zu korrigieren. Eine solche Korrektur kann z. B. die Erzeugung eines Ersatzintensitätspixelwertes bei Block 1250A und den Ersatz des Originalintensitätswertes, der einer verdächtigen Pixellage im Imager entspricht, gegen den Ersatzintensitätspixelwert in den Laserlinienintensitätsdaten bei Block 1260A einschließen. Der Begriff Originalwert bezieht sich auf den Intensitätswert, der vom Sensor geliefert wird, oder Verarbeitungsschritte vor der Ausführung der Blocks 1250A und/oder 1260A, und der Term Ersatzwert bezieht sich auf einen neuen Intensitätswert, der von Block 1250A geliefert wird. Der Ersatzpixelwert kann gemäß einer beliebigen Anzahl von Verfahren berechnet werden. Bei einem Beispiel kann der Ersatzpixelwert berechnet werden, indem Durchschnittswerte der Intensität von benachbarten Graustufenpixeln, wie etwa ein Graustufenpixel auf der linken Seite und ein Graustufenpixel auf der rechten Seite des schlechten Pixels, genommen werden. Bei einem anderen Beispiel kann das Ersatzpixel ein vorherbestimmter, konstanter Pixelwert sein. Bei einem weiteren Beispiel kann eine nachbarschaftsbasierte Operation an den Pixelwerten in der Umgebung durchgeführt werden, um den Ersatzpixelwert festzustellen. Solche nachbarschaftsbasierten Operationen können jede Art von Rechnung einschliessen, die an Pixelwerten innerhalb eines vorher bestimmten Bereiches der schlechten Pixel durchgeführt wird. Wie oben ausgeführt, kann, wenn der Ersatzpixelwert festgelegt ist, der Ersatzpixelwert den Wert des Originaldatenwertes, der der schlechten Pixellage auf dem Imager zugeordnet ist, ersetzen. Ein korrigiertes Graulinienpixel für die Laserlinienspitzenintensitätsdaten kann, wenn es ersetzt ist, bei Block 1270A ausgegeben werden.At block 1240A a comparison is made between the peak intensity position at Block 1220A was identified, and the location of all suspicious pixel locations performed. Once the peak intensity pixel location is identified that corresponds to a suspicious pixel location, overlaps, or is within a predetermined proximity (e.g., within a few pixels), the system can determine that a correction should be made to include the suspicious data value in the Correct laser line intensity data. Such a correction can e.g. B. generating a replacement intensity pixel value at block 1250A and the replacement of the original intensity value, which corresponds to a suspicious pixel location in the imager, with the replacement intensity pixel value in the laser line intensity data at block 1260A lock in. The term original value refers to the intensity value returned by the sensor or processing steps prior to the execution of the blocks 1250A and or 1260A , and the term replacement value refers to a new intensity value given by Block 1250A is delivered. The replacement pixel value can be calculated according to any number of methods. In one example, the replacement pixel value can be calculated by taking averages of the intensity of neighboring gray level pixels, such as a gray level pixel on the left and a gray level pixel on the right of the bad pixel. In another example, the replacement pixel can be a predetermined, constant pixel value. In another example, a neighborhood-based operation can be performed on the pixel values in the area to determine the replacement pixel value. Such neighborhood-based operations can include any type of calculation performed on pixel values within a predetermined range of bad pixels. As stated above, when the replacement pixel value is fixed, the replacement pixel value can replace the value of the original data value associated with the bad pixel location on the imager. A corrected gray line pixel for the laser line peak intensity data can, if replaced, at block 1270A are issued.

Wenn die Lage des Spitzenintensitätspixel im Graustufenbild nicht einem Datenwert, der einer verdächtigen Pixellage zugeordnet ist, entspricht, mit ihm überlappt oder sich innerhalb einer vorherbestimmten Nähe (z. B. innerhalb weniger Pixel) befindet, dann kann das System das Graustufenpixel ohne Korrektur am Block 1245A ausgeben. Bei einem anderen Beispiel kann das System alternativ Korrekturen vornehmen wie in den Blocks 1250A - 1270A gezeigt, obwohl es keine Überlappung oder Entsprechung innerhalb der Spitzenintensitätspixellage und der verdächtigen Pixellage gibt.If the location of the peak intensity pixel in the grayscale image does not correspond to a data value that is assigned to a suspicious pixel location, overlaps with it or is within a predetermined proximity (e.g. within a few pixels), then the system can the grayscale pixel without correction to the block 1245A output. In another example, the system can alternatively make corrections as in the blocks 1250A - 1270A although there is no overlap or correspondence within the peak intensity pixel location and the suspect pixel location.

Bei einem anderen Ausführungsbeispiel können verdächtige Pixelwerte aus dem entsprechenden Höhenbild identifiziert werden. Wenn sich beispielsweise ein bestimmter Höhenwert von seinem erwarteten Höhenwert im Höhenbild durch eine vorher bestimmte Schwelle unterscheidet, dann kann das entsprechende Pixel im Graustufenbild als verdächtiges Pixel gekennzeichnet werden. Die vorher bestimmte Schwelle des Unterschieds zwischen den erwarteten und den beobachteten Höhenwerten kann durch den Anwender definiert werden. Bei einem anderen Beispiel kann die vorher bestimmte Schwelle als Unterschied zwischen benachbarten Pixeln berechnet werden.In another embodiment, suspicious pixel values can be identified from the corresponding height image. If, for example, a certain height value differs from its expected height value in the height image by a previously determined threshold, then the corresponding pixel in the grayscale image can be marked as a suspicious pixel. The predetermined threshold of the difference between the expected and the observed altitude values can be defined by the user. In another example, the predetermined threshold can be calculated as the difference between neighboring pixels.

Bei einem anderen Ausführungsbeispiel können verdächtige Pixelwerte aus dem entsprechenden Höhenbild durch Pixel, für die der Höhenwert fehlt, identifiziert werden. Wenn beispielsweise ein bestimmter Höhenwert aus dem Höhenbild wegen Laser Speckle oder Verstopfung oder einem anderen Grund fehlt, dann kann das entsprechende Pixel im Graustufenbild als verdächtiges Pixel gekennzeichnet werden.In another embodiment, suspicious pixel values from the corresponding height image can be identified by pixels for which the height value is missing. If, for example, a certain height value is missing from the height image due to laser speckle or clogging or some other reason, then the corresponding pixel in the grayscale image can be marked as a suspect pixel.

Die Graustufenbilddaten können in einer Vielzahl von Visionssystemprozessen wie Prüfung, Registrierung, Analyse der Druckqualität und jedem anderen Prozess, in dem die Anwesenheit, Abwesenheit, Lage und/oder Qualität von kontrastierenden Elementen analysiert wird, eingesetzt werden. Das System des Beispiels verwendet den gleichen Imager und gleichzeitig erfasste Daten aus dem Imager, um sowohl das Höhenbild als auch das Graustufenbild abzuleiten, so dass diese Bilder im Wesentlichen eine perfekte Registrierung darstellen - das heisst, jedes Bildpixel des Höhenbilds entspricht dem gleichen Pixel im Graustufenbild. Das eliminiert den Bedarf für eine separate Kameraanordnung, um jeden Bildtyp zu erfassen, und den davon abhängenden Bedarf für einen Ausrichtungsschritt für eine Entsprechung der Funktionen des Höhenbildes und des Graustufenbildes. Die Anwesenheit von zwei physikalisch ausgerichteten Bildern mit unterschiedlichen Datentypen (Höhe und Graustufe) macht die Anwendung einer Anzahl von Visionssystemtools mit beiden Datentypen gemeinsam möglich. Das erhöht den Nutzen des gesamten Bilddatensatzes, wobei solche gleichzeitigen Operationen wie Registrierung, Mustervergleich usw. mit Hilfe des Graustufenbildes und der Messung, Prüfung, usw. unter Verwendung des Höhenbildes möglich sind. Bestimmte ähnliche Visionssystemprozesse (z. B. Prüfung) können auch auf beide Bilder angewandt werden, um einen höheren Grad an Vertrauen in das Ergebnis zu liefern. Ein Loch wird beispielsweise im Graustufenbild lokalisiert und die Lage der entsprechenden Höhenänderung in der ausgerichteten Höhe wird verwendet, um seine Lage zu verifizieren. Das System kann, allgemeiner gesprochen, einen Messprozess liefern, der (a) Messungen von Daten aus dem Höhenbild verwendet, um Messungen des Graustufenimagers zu bilden, oder (b) Messungen des Graustufenbildes verwendet, um Messungen des Höhenbildes zu bilden. Ein Entscheidungsfindungsprozess (192 in 1) erzeugt dann Entscheidungen aufgrund des Messprozesses. Eine Anzahl von Entscheidungen kann bei dieser und anderen Ausführungsformen hier getroffen werden, einschliesslich, aber nicht beschränkt auf Objektzurückweisung, Anhalten des Bandes, Alarm und Warnungen.The grayscale image data can be used in a variety of vision system processes such as inspection, registration, print quality analysis, and any other process in which the presence, absence, location and / or quality of contrasting elements is analyzed. The system of the example uses the same imager and simultaneously acquired data from the imager to derive both the height image and the grayscale image, so that these images essentially represent a perfect registration - that is, each image pixel of the height image corresponds to the same pixel in the grayscale image . This eliminates the need for a separate camera assembly to capture each type of image and the dependent need for an alignment step to match the functions of the height image and the grayscale image. The presence of two physically aligned images with different data types (height and gray level) makes it possible to use a number of vision system tools with both data types together. This increases the usefulness of the entire image data set, whereby such simultaneous operations as registration, pattern comparison, etc. are possible with the aid of the gray-scale image and the measurement, inspection, etc. are possible using the height image. Certain similar vision system processes (e.g. testing) can also be applied to both images to provide a higher level of confidence in the outcome. For example, a hole is located in the grayscale image and the position of the corresponding change in height in the aligned height is used to verify its position. More generally speaking, the system can provide a measurement process that uses (a) measurements of data from the height image to form measurements of the gray scale imager, or (b) uses measurements of the gray scale image to form measurements of the height image. A decision making process ( 192 in 1 ) then generates decisions based on the measurement process. A number of decisions can be made in this and other embodiments herein, including, but not limited to, object rejection, tape pausing, alarms and warnings.

Resampling eines Graustufenbildes zur Anpassung an den PixelmaßstabResampling of a grayscale image to match the pixel scale

Bei einigen Beispielen können das Graustufenbild und das Höhenbild unterschiedliche Charakteristika aufweisen, die einen nutzbringenden Vergleich der beiden verhindern oder deren gleichzeitige Verwendung bei einer Maschinenvisionsaufgabe verhindern. Wie oben schon ausgeführt, kann das Graustufenbild verzerrt sein oder einen anderen Pixelmaßstab aufweisen als das Höhenbild. Um solche Unterschiede zu korrigieren, kann das Visionssystem die zugrundeliegenden erfassten Bilder oder der Laserlinienpositionsdaten, Laserlinienintensitätsdaten, oder Intensitätsdaten von korrigierten schlechten Pixeln (wie oben beschrieben) resamplen, um ein Graustufenbild mit einem einheitlichen Pixelmaßstab in Bezug auf das Höhenbild zu erzeugen.In some examples, the grayscale image and the height image may have different characteristics that prevent the two from being usefully compared or prevent them from being used simultaneously in a machine vision task. As already stated above, the grayscale image can be distorted or have a different pixel scale than the height image. To correct for such differences, the vision system can resample the underlying captured images or the laser line position data, laser line intensity data, or intensity data from corrected bad pixels (as described above) to generate a grayscale image with a uniform pixel scale with respect to the height image.

12B ist ein Flussdiagramm eines Verfahrens 1200B des Resampling von erfassten Bildern oder der Laserlinienpositionsdaten und der Laserlinienintensitätsdaten, um ein Graustufenbild mit einem einheitlichen Pixelmaßstab zu erzeugen. Das Resampling-Verfahren 1200B kann als Schritt vor dem Prozess beim Visionssystemprozessor 180 ausgeführt werden, oder genauer gesagt, dem Sensorprozess 182. Die Blöcke des Verfahrens 1200B können, obwohl sie unten in einer bestimmten Ordnung dargestellt sind, durch einen oder mehrere Prozessoren und in jeder speziellen Ordnung auftreten oder ausgeführt werden. 12B Figure 3 is a flow diagram of a method 1200B resampling captured images or the laser line position data and the laser line intensity data to produce a grayscale image with a uniform pixel scale. The resampling process 1200B can be used as a pre-process step at the vision system processor 180 executed, or more precisely, the sensor process 182 . The blocks of the procedure 1200B Although presented below in a particular order, may occur or be carried out by one or more processors and in any particular order.

In Block 1210B werden Laserlinienpositionsdaten 1210C und Laserlinienintensitätsdaten 1220C durch das System 100 aus erfassten Bildern erzeugt. Insbesondere können die Laserlinienpositionsdaten 1210C und die Laserlinienintensitätsdaten 1220C aus den erfassten Bildern am Visionssystemprozessor 180 oder dem Sensorprozess 182 erzeugt werden und können, wie oben beschrieben, die Ausgabe von Block 430 sein, der die Laserlinienintensitätsdaten entsprechend der Laserlinienpositionsdaten ausgibt. Wie in 12C gezeigt, können sowohl die Laserlinienpositionsdaten 1210C als auch die Laserlinienintensitätsdaten 1220C jeweils als Reihen von Pixeln angeordnet werden, aber es wird jede Konfiguration oder Ausrichtung der Pixel in Betracht gezogen. Die Reihe der Laserlinienpositionsdaten1210C kann eine Vielzahl von in einer Reihe angeordneten Pixeln einschließen, die einer Reihe von vom Imager 164 erfassten Bildern entsprechen und die mit Spitzenintensitätswerten versehen sind. Die Laserlinienintensitätsdaten können eine Vielzahl von in einer Reihe angeordneten Pixeln einschließen, die Höhenbilddaten entsprechen, die einem oder mehreren Filtern unterworfen wurden, wie oben beschrieben. Bei einem Beispiel können die Laserlinienintensitätsdaten der Ausgabe des Verfahrens 1200A entsprechen, was auch oben beschrieben wurde. Die Laserlinienintensitätsdaten 1220C können auch eine Indizierung 1230C einschliessen, die auf Albedowerte hinweisen, die bei jedem Pixel gemessen werden. Beispielsweise kann ein Albedowert, der der Farbe Blau entspricht, eingesetzt werden, um einen dunkleren Graustufenwert anzuzeigen, der in den Laserlinienintensitätsdaten gemessen wird, die aus den erfassten Bildern erzeugt werden. Auf ähnliche Weise kann ein Albedowert, der der Farbe Rot entspricht, verwendet werden, um einen helleren Graustufenwert anzuzeigen, der in den Laserlinienintensitätsdaten gemessen wurde, die aus den erfassten Bildern erzeugt werden. Bei anderen Beispielen können andere Albedowerte oder Farben verwendet werden, um besondere Graustufenwerte bei den Laserlinienintensitätsdaten anzuzeigen.In block 1210B become laser line position data 1210C and laser line intensity data 1220C through the system 100 generated from captured images. In particular, the laser line position data 1210C and the laser line intensity data 1220C from the images captured on the vision system processor 180 or the sensor process 182 can be generated and, as described above, the output of Block 430 which outputs the laser line intensity data corresponding to the laser line position data. As in 12C shown, both the laser line position data 1210C as well as the laser line intensity data 1220C can be arranged as rows of pixels, but any configuration or orientation of the pixels is contemplated. The array of laser line position data 1210C may include a plurality of pixels arranged in a row that is a row of pixels from the imager 164 correspond to captured images and which are provided with peak intensity values. The laser line intensity data may include a plurality of arrayed pixels corresponding to height image data that has been subjected to one or more filters as described above. In one example, the laser line intensity data may be the output of the method 1200A correspond to what was also described above. The laser line intensity data 1220C can also do an indexing 1230C that indicate albedo values measured at each pixel. For example, an albedo value that corresponds to the color blue can be used to display a darker gray level value measured in the laser line intensity data generated from the captured images. Similarly, an albedo value corresponding to the color red can be used to indicate a lighter gray level value measured in the laser line intensity data generated from the captured images. In other examples, different albedo values or colors can be used to indicate particular gray level values in the laser line intensity data.

Bei Block 1220B wird jedes Pixel der Reihe der Laserlinienpositionsdaten 1210C auf eine entsprechende Koordinate (x, z) im physikalischen Raum abgebildet. Bei einem Beispiel, wie in 12D gezeigt, kann die Abbildung die grafische Darstellung 1240C einschliessen, was dargestellte Pixel 1250C einschliesst. Jedes der dargestellten Pixel 1250C schliesst eine z-Koordinate ein, die dem Wert der Laserlinienpositionsdaten 1210C entspricht. Insbesondere entsprechen die Pixel der Laserlinienpositionsdaten 1210C mit einem dunkleren Grauton einem größeren z-Wert. Genauer gesagt liefern die oben beschriebenen Kalibrierungsprozesse eine Abbildung von Imagerkoordinaten auf physikalische Koordinaten. Die Kalibrierung wird dazu verwendet, um aus (x, y) Imagerpixelpositionen (x = Spalte und y = Reihe) auf physikalische Positionen (x, z in mm) abzubilden. Die Laserlinienpositionsdaten charakterisieren die gefundene y-Position (Reihe) des Laserlinienspitzenimager für jede Imager x-Position (Spalte). Die Kalibrierung wird verwendet, um die Werte in 1210C auf die dargestellten Pixel 1250C abzubilden. Bei diesem Beispiel entspricht das Pixel der Laserlinienpositionsdaten 1210C, das am weitesten links liegt, dem Pixel 1250C, das am weitesten links dargestellt ist, ebenso wie die restlichen Pixel, die weitergehen bis zur rechten Seite der dargestellten Pixel. Bei anderen Beispielen kann es eine Pixelverschiebung in der x-Richtung geben.At block 1220B becomes each pixel of the series of laser line position data 1210C mapped to a corresponding coordinate (x, z) in physical space. In an example, as in 12D shown, the figure can be the graphical representation 1240C include what is displayed pixel 1250C includes. Each of the displayed pixels 1250C includes a z coordinate that is the value of the laser line position data 1210C corresponds to. In particular, the pixels correspond to the laser line position data 1210C with a darker shade of gray a larger z-value. More precisely, the calibration processes described above provide a mapping from imager coordinates to physical coordinates. The calibration is used to map (x, y) imager pixel positions (x = column and y = row) to physical positions (x, z in mm). The laser line position data characterize the found y position (row) of the laser line tip imager for each imager x position (column). The calibration is used to apply the values in 1210C to the displayed pixels 1250C map. In this example, the pixel corresponds to the laser line position data 1210C furthest to the left, the pixel 1250C , which is shown furthest to the left, as well as the remaining pixels, which continue to the right side of the displayed pixels. In other examples, there may be a pixel shift in the x-direction.

Bei Block 1230B werden, wie in 12E gezeigt, Verbindungsfunktionen 1260C gebildet, um die benachbarten, dargestellten Pixel 1250C zu verbinden. Bei einem Beispiel können die Verbindungsfunktionen 1260C Liniensegmente und ähnliche Indizierungen 1270C einschließen, die der Indizierung 1230C entsprechen, die mit Bezug auf die Laserlinienintensitätsdaten 1220C beschrieben wurden. Auf ähnliche Weise kann die Indizierung 1270C einen Albedowert aufweisen, der dem Albedowert entspricht, der bei den Laserlinienintensitätsdaten 1220C beschrieben wurde. Die entsprechenden Albedowerte ermöglichen es, dass die passende Farbe in das einheitliche Graustufenbild der abgestuften Pixel bei der entsprechenden Lage gezogen wird.At block 1230B as in 12E shown connection functions 1260C formed around the neighboring, displayed pixels 1250C connect to. In one example, the connectivity functions 1260C Line segments and similar indexes 1270C include those of indexing 1230C corresponding to those with respect to the laser line intensity data 1220C have been described. Indexing can be done in a similar way 1270C have an albedo value that corresponds to the albedo value used in the laser line intensity data 1220C has been described. The corresponding albedo values enable the appropriate color to be drawn into the uniform grayscale image of the graded pixels at the corresponding location.

Wie in 12F gezeigt, werden bei Block 1240B für jeden Bin 1280C mit einer Breite parallel der x-Achse repräsentative Lagewerte oder Bereichswerte aus den z-Koordinatenwerten berechnet, die in den Bin fallen. Bei einem Beispiel können die repräsentativen Lagewerte oder Bereichswerte einen Durchschnitt einschliessen. Die Breite des Bin kann durch eine beliebige Anzahl von Faktoren bestimmt werden, einschliesslich der gewünschten Breite und Auflösung des resultierenden einheitlichen Graustufenbildes der abgestuften Pixel. In dieser Hinsicht kann jeder der Bins 1280C null oder mehr Werten aus den Laserlinienpositionsdaten 1210C entsprechen. Aus jedem dieser Werte, der innerhalb jedes jeweiligen Bin 1280C fallen, wird ein Durchschnitt gebildet, um einen Durchschnittspositionswert oder Bereichswert für jeden Bin 1280C zu berechnen. Bei einem anderen Beispiel kann der durchschnittliche Computerpositionswert aus den durchschnittlichen Bereichswerten der Verbindungsfunktionen 1260C innerhalb jedes Bin berechnet werden.As in 12F are shown at block 1240B for every bin 1280C with a width parallel to the x-axis, representative position values or area values are calculated from the z-coordinate values that fall into the bin. In one example, the representative location or area values may include an average. The width of the bin can be determined by any number of factors, including the desired width and resolution of the resulting uniform grayscale image of the graded pixels. In this regard, any of the bins can 1280C zero or more values from the laser line position data 1210C correspond. From each of these values within each respective bin 1280C fall, an average is taken to an average position value or range value for each bin 1280C to calculate. In another example, the average computer position value can be derived from the average range values of the connection functions 1260C within each bin.

Für jeden Bin 1280C wird auch eine entsprechende Indizierung oder ein Albedowert berechnet. Bei einem Beispiel kann die repräsentative Indizierung oder der Albedowert einen Durchschnitt einschliessen. Wie oben besprochen werden die Verbindungsfunktionen 1260C entsprechend der Indizierung, die bestimmten Albedowerten entspricht, gekennzeichnet. Für jeden Bin 1280C wird aus den Albedowerten, die innerhalb des Bin fallen, auch ein Durchschnitt gebildet, um einen durchschnittlichen Albedowert für jeden Bin zu erhalten. Bei einem anderen Beispiel kann der berechnete Durchschnittsalbedowert aus den Durchschnittsalbedowerten der Verbindungsfunktionen innerhalb jedes Bin berechnet werden.For every bin 1280C a corresponding indexing or an albedo value is also calculated. In one example, the representative indexing or albedo value may include an average. The connection functions are discussed as above 1260C labeled according to the indexing that corresponds to certain albedo values. For every bin 1280C the albedo values that fall within the bin are also averaged to obtain an average albedo value for each bin. In another example, the calculated average albedo value can be calculated from the average albedo values of the connection functions within each bin.

Wie in 12G gezeigt, entspricht bei Block 1250B die Ausgabe 1290C dem kalibrierten Höhenbild in Block 440, was die Ausgabe in einheitlicher Pixelmaßstab ist. Das kalibrierte Höhenbild entspricht dem durchschnittlichen Positionswert oder dem durchschnittlichen Bereichswert, die oben berechnet wurden. Ein einheitliches Graustufenbild der abgestuften Pixel 1295C wird auch ausgegeben. Das einheitliche Graustufenbild der abgestuften Pixel 1295C schließt Indizierung 1297C entsprechend der Durchschnittsindizierung oder den Albedowerten ein, die vorher berechnet wurden. Beispielsweise kann die Indizierung 1297C die Farbe Violett einschließen, wobei einer der Bins eine Verbindungsfunktion 1260C einschliesst, die teilweise rot und teilweise blau ist, wobei violett der Durchschnitt von violett(?) (muss hier wohl „rot“ heißen, Anm. der Übersetzerin) und blau ist. Die Ausgaben 1290C und 1295C werden nun resamplet, damit sie den gleichen Pixelmaßstab haben, was einen Vergleich von Pixel zu Pixel erlaubt, der innerhalb der Ausgaben gemacht wird. Das kann viele Vorteile haben und ermöglicht, dass verschiedene Maschinenvisionsaufgaben auf den Bildern ausgeführt werden. Bei einem Ausführungsbeispiel kann das Resampled-Graustufenbild bei anderen (x, y) Maßstäben als das Höhenbild erzeugt werden. Das wird durch die Durchführung der verschiedenen Blocks erreicht, die im Verfahren 1200B zweimal dargelegt sind, um einen anderen x-Maßstab zu liefern. Das Graustufenbild kann weiter in y resamplet werden, um einen anderen y-Maßstab zu liefern.As in 12G shown corresponds to at block 1250B the edition 1290C the calibrated height image in block 440 what the output is in uniform pixel scale. The calibrated height image corresponds to the average position value or the average area value calculated above. A uniform grayscale image of the graded pixels 1295C is also issued. The uniform grayscale image of the graded pixels 1295C closes indexing 1297C according to the average index or the albedo values calculated beforehand. For example, the indexing 1297C Include the color purple, with one of the bins having a connection function 1260C which is partly red and partly blue, where purple is the average of purple (?) (must mean “red” here, translator's note) and blue. Expenditure 1290C and 1295C are now re-sampled to have the same pixel scale, which allows pixel-to-pixel comparison to be made within the outputs. This can have many advantages and allows various machine vision tasks to be performed on the images become. In one embodiment, the resampled grayscale image can be generated at different (x, y) scales than the height image. This is achieved by performing the various blocks that are in the process 1200B are set out twice to provide a different x-measure. The grayscale image can be further resampled in y to provide a different y-scale.

Ausgleich für falsche HöhenübergängeCompensation for wrong height transitions

Wie im Höhenbild 1010 (10) oben gezeigt tauchen Kontraständerungen als leichte, falsche Konturen (das heisst Elemente 1060) im Höhenbild auf. Die Höhenmessung wird nicht wesentlich durch den absoluten Albedo der Oberfläche in einer Zone von konstantem Albedo betroffen, und so zeigt der mittlere Bereich jedes Elementes 940 etwa die gleiche Höhenauslesung wie die umgebende Schildbasis 930. Allerdings wird am Rand der Funktion 940 ein Fehler in der Höhenmessung eingeführt, wenn der Übergang hell nach dunkel oder dunkel nach hell die Messzone passiert.As in the height image 1010 ( 10 ) shown above, changes in contrast appear as slight, false contours (i.e. elements 1060 ) in the height image. The height measurement is not significantly affected by the absolute albedo of the surface in a zone of constant albedo, and so the middle area of each element shows 940 about the same height reading as the surrounding shield base 930 . However, on the verge of function 940 an error introduced in the height measurement when the transition from light to dark or dark to light passes the measuring zone.

13 zeigt ein verallgemeinertes Verfahren 1300, das solche falschen Höhenübergänge ausgleicht. Höhenbilddaten 1310 und Graustufenbilddaten 1320 werden jeweils registriert (Schritt 1330), so dass Höhenkorrekturfaktoren bei jedem Punkt im Bild in Schritt 1340 durch den Prozessor erzeugt werden können. Beispielsweise arbeitet das Verfahren 1300 fortlaufend mit Hilfe einer Schätzung des Graustufenbildgradienten in der Richtung des Scanvorgangs, um den/die-Höhenkorrekturfaktor/en, der/die an jedem Punkt des Höhenbilds (Schritt 1350) angewendet wird/werden, zu berechnen. Der Korrekturfaktor kann beispielsweise einen numerischen Wert liefern - wo beispielsweise null (0) keine Korrektur an einem Punkt im Höhenbild ist. Ein Korrekturfaktor von null oder nahe null wird bei Bereichen des Höhenbildes angewendet, wo sich der Graustufenkontrast nicht ändert. Der Korrekturfaktor ist beispielsweise minimal oder null an Punkten, die sich entfernt von (und innerhalb oder ausserhalb von) den Rändern 1060 der 10 befinden, während ein wichtigerer Korrekturfaktor bei Punkten angewendet wird, die an den Rändern mit Bezug auf den wichtigen Kontrastgradienten liegen. Wenn solche Korrekturfaktoren angewendet werden, wird ein korrigiertes/ausgeglichenes Höhenbild im Schritt 1360 erzeugt. Das Höhenbild lässt die meisten oder alle Effekte von kontrastbasierten falschen Höhenlesungen wegfallen. Eine Vielzahl von Techniken kann bei weiteren Ausführungsbeispielen für falsche Höhen und andere kontrastbasierte Effekte eingesetzt werden. 13th shows a generalized procedure 1300 that compensates for such false height transitions. Height image data 1310 and grayscale image data 1320 are registered in each case (step 1330 ) so that height correction factors are stepped at each point in the image 1340 can be generated by the processor. For example, the method works 1300 continuously using an estimate of the grayscale image gradient in the direction of the scan to determine the height correction factor (s) applied at each point of the height image (step 1350 ) is / are used to calculate. For example, the correction factor can provide a numerical value - where, for example, zero (0) is no correction at a point in the height image. A correction factor of zero or near zero is applied to areas of the height image where the gray level contrast does not change. The correction factor is, for example, minimal or zero at points that are remote from (and inside or outside) the edges 1060 of the 10 while a more important correction factor is applied to points that are on the edges with respect to the important contrast gradient. When such correction factors are applied, a corrected / balanced height image is obtained in step 1360 generated. The elevation image eliminates most or all of the effects of contrast-based false elevation readings. A variety of techniques can be used in other embodiments for false heights and other contrast-based effects.

Bei der Feststellung, ob fasche Höhen- und/oder Graustufenfunktionen vorliegen, kann das Einrichten und Trainieren des Systems Anwenderidentifizierungen oder falsche Kandidatenfunktionen und/oder Bereiche, die Kandidatenfunktionen enthalten, einschließen. Das kann die Analyse solcher Funktionen beschleunigen und den Durchsatz des Verschiebungssensors verbessern.In determining whether there are incorrect height and / or grayscale functions, setting up and training the system may include user identifications or incorrect candidate functions and / or areas that contain candidate functions. This can speed up the analysis of such functions and improve the throughput of the displacement sensor.

Es wird ausdrücklich in Betracht gezogen, dass eine Laufzeit-(oder Einrichtungs-) Anzeige (6) einem Anwender geliefert werden kann, die das oben beschriebene Höhenbild, Graustufenbild und das korrigierte/ausgeglichene Bild einzeln oder in Kombination(en) zeigt. Mit Hilfe von maßgeschneiderten und konventionellen GUI Techniken kann der Anwender mit verschiedenen Funktionen ausgestattet werden, die eine Anpassung der verschiedenen Bildparameter und/oder -Charakteristika ermöglichen. Buttons und Einrichtungseingaben können beispielsweise auf einem GUI vorgesehen werden, um den Anwender in die Lage zu versetzen Schwellen und andere Bildparameter (z. B. Empfindlichkeit, Anzeige, Kontrast usw.) aufgrund des angezeigten Höhenbildes, Graustufenbildes und/oder korrigierten/ausgeglichenen Bildes einzurichten und/oder anzupassen.It is expressly contemplated that a run time (or setup) display ( 6th ) can be provided to a user showing the above-described height image, grayscale image and corrected / balanced image individually or in combination (s). With the help of tailor-made and conventional GUI techniques, the user can be equipped with various functions that enable the various image parameters and / or characteristics to be adapted. Buttons and facility entries can be provided on a GUI, for example, to enable the user to set up thresholds and other image parameters (e.g. sensitivity, display, contrast, etc.) based on the displayed height image, grayscale image and / or corrected / balanced image and / or adapt.

Liniensuche aus Schwellenpixelspannungen von SpaltenLine search from threshold pixel voltages of columns

Es wird in Betracht gezogen, dass die Verarbeitungsgeschwindigkeit bei verschiedenen Imageranordnungen durch das Suchen des Linienmittenwertes für jede Pixelspalte direkt aus „binäre“ Pixeln erhöht werden kann, die entweder die Schwelle überschreiten oder darunter fallen. Auf diese Weise wird jedes Pixel an einen nachgelagerten Prozess/Prozessor geliefert, entweder als logischer Wert 1 (der z. B. die Anwesenheit der Laserlinie anzeigt) oder als Wert 0, der die Abwesenheit der Linie an dieser Lage in dieser Imagerpixelspalte anzeigt. 14 zeigt eine Anordnung 1400, bei der der Imager 1410 Intensitätswerte 1412 aus den Pixeln an eine Schaltung (z. B. eine Vergleichsschaltung) ausgibt, die die Intensität jedes Pixels in einer Spalte mit einer Referenzintensität 1422 vergleicht (1420) und festlegt, welche Pixel den Schwellenwert überschreiten, der durch die Referenzintensität gebildet wurde. Die Spaltenlagen der ersten und letzten Pixel in jeder Spalte, die den Schwellenwert übertreffen (und einen Wert von 1 haben) und im Allgemeinen dazu neigen eine Laserlinie zu bilden, werden in Block 1430 festgelegt. Es wird angemerkt, dass andere Pixel in der Spalte mit Abstand von der Laserlinie einen Wert von 1 aufgrund von Rauschen Glanz usw., zurücksenden können, aber der Prozess solche Pixel, da sie keine Gruppe bilden, die groß und nahe genug (obwohl sie möglicherweise kleine Lücken von Pixel mit 0 Werten enthält) ist, um eine Laserlinie zu definieren, herausfiltern sollte. Es wird angemerkt, dass der Begriff „Intensität“ als Spannungswert bei verschiedenen Ausführungsformen definiert werden kann. Das heißt, während etliche, im Handel erhältliche CMOS-Imager das ausgelesene Pixelsignal jeder Reihe von integrierter Bestrahlungsstärke umwandeln, um aufzuladen und dann den Ausleseprozess mit Spannung beaufschlagen, wird in Betracht gezogen, dass andere Imagertypen möglicherweise direkt auslesen können direkt im Ladungsgebiet oder als Stromstärkenwert anstatt eines Spannungswertes. Der Begriff Intensität bedeutet also die Definition eines solchen Signals.It is contemplated that the processing speed of various imager arrangements can be increased by finding the line center value for each column of pixels directly from "binary" pixels that either exceed or fall below the threshold. In this way, each pixel is delivered to a downstream process / processor, either as a logical value 1 (which e.g. indicates the presence of the laser line) or as a value 0 indicating the absence of the line at that location in this imager pixel column. 14th shows an arrangement 1400 where the imager 1410 Intensity values 1412 outputs from the pixels to a circuit (e.g. a comparison circuit) which compares the intensity of each pixel in a column with a reference intensity 1422 compares (1420) and determines which pixels exceed the threshold value established by the reference intensity. The column locations of the first and last pixels in each column that exceed the threshold (and have a value of 1) and generally tend to form a laser line are in block 1430 set. It should be noted that other pixels in the column spaced from the laser line may return a value of 1 due to noise, shine, etc., but the process does not create a group of such pixels that are large and close enough (although they may contains small gaps of pixels with 0 values) in order to define a laser line, should be filtered out. It is noted that the term “intensity” can be defined as a voltage value in various embodiments. That is, while a number of commercially available CMOS imagers convert the read pixel signal of each row from integrated irradiance to charge and then apply voltage to the readout process, it is contemplated that other types of imagers may be able to read directly directly in the charge area or as a current value instead of a voltage value. The term intensity means the definition of such a signal.

Auf Grund der ersten und letzten Pixellage in der Spalte legt der Prozess den Mittenwert im Block 1440 fest. Das kann durch eine spezialisierte Hardwareschaltung erreicht werden oder durch die Übertragung der Pixelwertlagen an den Visionssystemprozessor. Es wird in Betracht gezogen, dass, während ein Schwellenprozess eingesetzt wird, um Linienpixel in jeder Reihe zum Aufbau des Höhenbildes zu lokalisieren, der Prozessor auch den Intensitätswert der Pixel empfangen kann (zum Beispiel in einem interessierenden Bereich) und diese Werte verwenden kann, um eine Scheibe eines Graustufenbildes der Objektoberfläche zu bilden.Based on the first and last pixel position in the column, the process sets the center value in the block 1440 firmly. This can be achieved by a specialized hardware circuit or by transferring the pixel value positions to the vision system processor. It is contemplated that while a thresholding process is employed to locate line pixels in each row to build the height image, the processor may also receive the intensity value of the pixels (e.g., in an area of interest) and use these values to calculate to form a slice of a grayscale image of the object surface.

Es wird angemerkt, dass bei der Erzeugung eines „Mitte-"Wertes, wie hier verwendet, eine Vielzahl von Techniken einsetzen kann, die eine Erhöhung der Verarbeitungsgeschwindigkeit gegen Genauigkeit erlaubt - zum Beispiel kann der erste Wert in einer Spalte, der die Schwelle übersteigt, in einem Cluster von Pixeln, die über der Schwelle liegen, als die „Mitte“ identifiziert werden. So sollte der Begriff „Mitte“ weit gefasst werden, damit Lagen entlang der Spalte innerhalb des Laserlinienbildes eingeschlossen werden, die das vorhersagbare Ergebnis zurückschicken. Zum Beispiel kann die Kenntnis der Taillengröße des Lasers (Breite) bei einer gegebenen Spalte (x-Lage) in Verbindung mit der Reihenlage des ersten Pixels, das über der Schwelle liegt, eingesetzt werden, um die Mitte zu berechnen. Beispielsweise kann (bei Pixeln) die folgende, vereinfachte Berechnung eingesetzt werden: Mittellage=Erste Pixellage+Taillengröße/2

Figure DE102014107143B4_0001
It is noted that in generating a "mean" value, as used herein, a variety of techniques can be employed that allow an increase in processing speed versus accuracy - for example, the first value in a column that exceeds the threshold can be in a cluster of pixels above the threshold are identified as the “center.” For example, the term “center” should be used broadly to include locations along the column within the laser line image that send back the predictable result For example, knowledge of the laser's waist size (width) for a given column (x-position) in conjunction with the row position of the first pixel above the threshold can be used to calculate the center the following simplified calculation can be used: Middle layer = first pixel layer + waist size / 2nd
Figure DE102014107143B4_0001

Schlussfolgerungconclusion

Es sollte klar sein, dass die verschiedenen hier beschriebenen Ausführungsformen die Vielseitigkeit, Verarbeitungseffizienz und die Durchsatzgeschwindigkeit von Laserverschiebungssensorssystemen erhöhen ohne dass die erforderliche Genauigkeit geopfert wird. Die hier beschriebenen Beispiele von Funktionen können leicht und unkompliziert von einem Anwender während des Einrichtens umgesetzt werden, wenn entsprechende Interfaces eingesetzt werden. Diese Funktionen ermöglichen die Korrektur von gewissen innewohnenden Fehlern in Höhenbildern, wie etwa kontrastbasierte falsche Höhenauslesungen. Systeme und Verfahren sind dazu vorgesehen, registrierte Graustufenbilder eines Objektes unter dem Scanvorgang frei vom Einsatz eines eigenen Kamerasystems und zugeordneten Prozessoren zu produzieren.It should be understood that the various embodiments described herein increase the versatility, processing efficiency, and throughput speed of laser displacement sensor systems without sacrificing the required accuracy. The examples of functions described here can be implemented easily and uncomplicated by a user during the setup, if appropriate interfaces are used. These functions enable the correction of certain inherent errors in height images, such as contrast-based incorrect height readings. Systems and methods are intended to produce registered gray-scale images of an object during the scanning process, free of the use of a dedicated camera system and assigned processors.

Das oben Erwähnte ist eine detaillierte Beschreibung der Ausführungsbeispiele der Erfindung. Funktionen der verschiedenen oben beschriebenen Ausführungsbeispiele können gegebenenfalls mit Funktionen anderer beschriebenen Ausführungsformen kombiniert werden, um eine Vielfalt von Kombinationen von Funktionen in neu verbundenen Ausführungsformen zu liefern. Während weiterhin das oben gesagte eine Anzahl von einzelnen Ausführungsformen der Vorrichtung und des Verfahrens der vorliegenden Erfindung beschreibt, ist das, was hier beschrieben wurde, nur ein Anwendungsbeispiel der Prinzipien der vorliegenden Erfindung. Begriffe von Richtung und Orientierung, die beispielsweise hier verwendet wurden, wie „vertikal“, „horizontal“, „auf“, „unter“, „unten“, „oben“, „seitlich“, „vorne“, „hinten“, „links“, „rechts“ und dergleichen, werden nur als relative Vereinbarungen und nicht als absolute Orientierung in Bezug auf ein festgelegtes Koordinatensystem, wie etwa Schwerkraft, verwendet. Während deshalb interessierende Bereiche konstante Größe und Lage im Sichtfeld/Imager durch den Scanvorgang jeden Objekts haben, wird in Betracht gezogen, dass sich die Größe und/oder Lagen von interessierenden Bereichen während des Scanvorganges ändern kann, um die erwartete Änderung bei den Lagen der Funktion oder Änderung in den interessierenden Funktionen entlang der y-Achse zu berücksichtigen. Eine Änderung der interessierenden Bereiche kann als Reaktion auf die Encoderposition oder eine andere Anzeige der relativen Lage des Objektes mit Bezug auf das Sichtfeld auftreten. Während zusätzlich die Begriffe „Reihen“ und „Spalten“ verwendet werden, um eine spezielle Anordnung von Pixeln im Imager zu beschreiben, wird ausdrücklich in Betracht gezogen, dass diese Begriffe ausgetauscht werden können und ähnliche Ergebnisse gemäß der Ausführungsbeispiele hier erzielen können. Auch während ein Laser eingesetzt wird, um die Beleuchtung zur Erfassung sowohl von Höheninformationen/-Bild als auch Graustufeninformationen/-Bild zu erzeugen, kann eine zusätzliche Beleuchtung eingesetzt werden, um das Graustufenbild zu erfassen - beispielsweise für eine abwechselnde Erfassung des Höhenbildes und des Graustufenbildes und stroboskopisch die zusätzliche Beleuchtung mit jeder Graustufenerfassung. Während Ausführungsbeispiele hier auch interessierende Bereiche definieren, in denen die Verarbeitung von Bildpixeln abläuft, und Bereiche dazwischen, die frei von der Bildpixelbearbeitung sind, können solche dazwischenliegenden Bereiche funktional gleichwertig einer oder mehrere „Ausschlusszonen“ sein, in denen der Anwender die Nichtverarbeitungsbereiche definiert, und das System sonst bei der Verarbeitungsleistung ausserhalb dieser „Ausschlußzone/n“ ausfällt. Allgemeiner gesprochen definieren bei Ausführungsformen das System und Verfahren einen oder mehrere interessierende/n Bereich/e und zugeordnete Ausschlusszon(en), was eine selektive Erkennung oder Nichterkennung (beziehungsweise) einer Laserlinie innerhalb des gesamten Imagersichtfeldes ermöglicht.The above is a detailed description of the embodiments of the invention. Functions of the various embodiments described above may optionally be combined with functions of other described embodiments to provide a variety of combinations of functions in newly connected embodiments. Furthermore, while the foregoing describes a number of individual embodiments of the apparatus and method of the present invention, what has been described herein is only one example of application of the principles of the present invention. Terms of direction and orientation that were used here, for example, such as "vertical", "horizontal", "on", "below", "below", "above", "sideways", "front", "rear", " left ”,“ right ”and the like are only used as relative agreements and not as absolute orientation in relation to a fixed coordinate system, such as gravity. While areas of interest therefore have constant size and position in the field of view / imager through the scanning process of each object, it is taken into account that the size and / or positions of areas of interest may change during the scanning process in order to achieve the expected change in the positions of the function or change in the functions of interest along the y-axis. A change in the areas of interest can occur in response to the encoder position or some other indication of the relative position of the object with respect to the field of view. In addition, while the terms “rows” and “columns” are used to describe a specific arrangement of pixels in the imager, it is expressly contemplated that these terms can be interchanged and similar results can be achieved according to the exemplary embodiments here. Even while a laser is used to generate the lighting to capture both height information / image and grayscale information / image, additional lighting can be used to capture the grayscale image - for example, for alternating acquisition of the height image and the grayscale image and stroboscopically the additional lighting with each gray level detection. While embodiments here also define areas of interest in which the processing of image pixels takes place, and areas in between that are free from image pixel processing, such areas in between can be functionally equivalent to one or more "exclusion zones" in which the user defines the non-processing areas, and the system will otherwise fail in terms of processing power outside of this “exclusion zone (s). More generally speaking, in embodiments, the system and method define one or more areas of interest and associated exclusion zone (s), which enables selective detection or non-detection (or) of a laser line within the entire imager field of view.

Claims (20)

System zur Messung der Verschiebung einer Objektoberfläche (144), umfassend: - einen Verschiebungssensor (110), der eine Linie (156) auf die Objektoberfläche (144) projiziert und Licht von der projizierten Linie (156) auf einem Imager (164) so empfängt, dass Laserlinienpositionsdaten (1210C) und Laserlinienintensitätsdaten (1220C) definiert werden; und - einen Visionssystemprozessor (180), der so aufgebaut und angeordnet ist, dass er ein Höhenbild (1010) aus den Laserlinienpositionsdaten (1210C), ein Graustufenbild (1110) aus den Laserlinienpositionsdaten (1210C) und den Laserlinienintensitätsdaten (1220C), und eine Schätzung eines senkrechten Graustufenbildgradienten erzeugt, wobei der Graustufenbildgradient dazu verwendet wird, um einen Höhenkorrekturfaktor zu berechnen, der bei jedem Pixel des Höhenbildes (1010) angewandt wird.A system for measuring the displacement of an object surface (144) comprising: - a displacement sensor (110) projecting a line (156) onto the object surface (144) and receiving light from the projected line (156) on an imager (164) to define laser line position data (1210C) and laser line intensity data (1220C) ; and - a vision system processor (180) constructed and arranged to generate a height image (1010) from the laser line position data (1210C), a gray scale image (1110) from the laser line position data (1210C) and the laser line intensity data (1220C), and an estimate of a vertical grayscale image gradients, the grayscale image gradient being used to calculate a height correction factor to be applied to each pixel of the height image (1010). System nach Anspruch 1, wobei Höhenbilddaten (1310) des Höhenbildes (1010) und Graustufenbilddaten (1320) des Graustufenbildes (1110) jeweils registriert werden.System according to Claim 1 wherein height image data (1310) of the height image (1010) and grayscale image data (1320) of the grayscale image (1110) are registered, respectively. System nach einem der vorstehenden Ansprüche, wobei der Höhenkorrekturfaktor einen numerischen Wert liefert.A system according to any preceding claim, wherein the altitude correction factor provides a numerical value. System nach Anspruch 3, wobei der numerische Wert null oder ungleich null beträgt.System according to Claim 3 , where the numeric value is zero or non-zero. System nach einem der vorstehenden Ansprüche, wobei das Anwenden des Höhenkorrekturfaktors auf jedes Pixel des Höhenbildes (1010) ein korrigiertes Höhenbild erzeugt.The system of any preceding claim, wherein applying the height correction factor to each pixel of the height image (1010) produces a corrected height image. System nach Anspruch 1, wobei Höhenstufenscheiben (1240) und Graustufenscheiben (1250) zu Gesamthöhen- und/oder Graustufenbildern (1260, 1270) hinzugefügt werden.System according to Claim 1 wherein elevation slices (1240) and grayscale slices (1250) are added to overall elevation and / or grayscale images (1260, 1270). System nach Anspruch 1, wobei das System ausgebildet ist, um entweder den Verschiebungssensor (110), das Objekt (120) oder beide entlang mindestens einer Achse zu bewegen, um eine Vielzahl von Scanvorgängen (1210) von dem Verschiebungssensor (110) zu erfassen.System according to Claim 1 wherein the system is configured to move either the displacement sensor (110), the object (120), or both along at least one axis to detect a plurality of scans (1210) from the displacement sensor (110). System nach Anspruch 7, wobei eine Gruppe von Pixelreihen dazu verwendet wird, um das Höhenbild (1010) zu erzeugen, und eine andere Gruppe von Pixelreihen dazu verwendet wird, um das Graustufenbild (1110) zu erzeugen.System according to Claim 7 wherein one group of rows of pixels is used to create the height image (1010) and another group of rows of pixels is used to create the grayscale image (1110). System nach einem der Ansprüche 7 oder 8, wobei ein auf dem System ausführbares Verfahren (1300) fortlaufend arbeitet mit Hilfe einer Schätzung des Graustufenbildgradienten in der Richtung des Scanvorgangs, um den Höhenkorrekturfaktor, der an jedem Punkt des Höhenbildes (1010) angewendet wird, zu berechnen.System according to one of the Claims 7 or 8th wherein a method (1300) executable on the system operates continuously by estimating the grayscale image gradient in the direction of the scan to calculate the height correction factor applied to each point of the height image (1010). System nach Anspruch 1, wobei das erzeugte Graustufenbild (1110) Spitzenintensitätsdatenwerte enthält, die ein Ergebnis einer Lage eines schlechten Pixels sind.System according to Claim 1 wherein the generated grayscale image (1110) includes peak intensity data values that are a result of a bad pixel location. Verfahren zur Messung der Verschiebung einer Objektoberfläche (144), umfassend: - mittels eines Verschiebungssensors (110), Projizieren einer Linie (156) auf die Objektoberfläche (144) und Empfangen von Licht von der projizierten Linie (156) auf einem Imager (164) so, dass Laserlinienpositionsdaten (1210C) und Laserlinienintensitätsdaten (1220C) definiert werden; und - mittels eines Visionssystemprozessors (180), Erzeugen eines Höhenbildes (1010) aus den Laserlinienpositionsdaten (1210C), eines Graustufenbildes (1110) aus den Laserlinienpositionsdaten (1210C) und den Laserlinienintensitätsdaten (1220C), und Erzeugen einer Schätzung eines senkrechten Graustufenbildgradienten, wobei der Graustufenbildgradient dazu verwendet wird, um einen Höhenkorrekturfaktor zu berechnen, der bei jedem Pixel des Höhenbildes (1010) angewandt wird.A method for measuring the displacement of an object surface (144) comprising: - by means of a displacement sensor (110), projecting a line (156) onto the object surface (144) and receiving light from the projected line (156) on an imager (164) so that laser line position data (1210C) and laser line intensity data (1220C) are defined become; and - by means of a vision system processor (180), generating a height image (1010) from the laser line position data (1210C), a grayscale image (1110) from the laser line position data (1210C) and the laser line intensity data (1220C), and generating an estimate of a vertical grayscale image gradient, the grayscale image gradient is used to calculate a height correction factor to be applied to each pixel of the height image (1010). Verfahren nach Anspruch 11, wobei Höhenbilddaten (1310) des Höhenbildes (1010) und Graustufenbilddaten (1320) des Graustufenbildes (1110) jeweils registriert werden.Procedure according to Claim 11 wherein height image data (1310) of the height image (1010) and grayscale image data (1320) of the grayscale image (1110) are registered, respectively. Verfahren nach einem der Ansprüche 11 oder 12, wobei der Höhenkorrekturfaktor einen numerischen Wert liefert.Method according to one of the Claims 11 or 12th , where the altitude correction factor provides a numerical value. Verfahren nach Anspruch 13, wobei der numerische Wert null oder ungleich null beträgt.Procedure according to Claim 13 , where the numeric value is zero or non-zero. Verfahren nach einem der vorstehenden Ansprüche, wobei das Anwenden des Höhenkorrekturfaktors auf jedes Pixel des Höhenbildes (1010) ein korrigiertes Höhenbild erzeugt.The method of any preceding claim, wherein applying the height correction factor to each pixel of the height image (1010) produces a corrected height image. Verfahren nach Anspruch 11, wobei Höhenstufenscheiben (1240) und Graustufenscheiben (1250) zu Gesamthöhen- und/oder Graustufenbildern (1260, 1270) hinzugefügt werden.Procedure according to Claim 11 wherein elevation slices (1240) and grayscale slices (1250) are added to overall elevation and / or grayscale images (1260, 1270). Verfahren nach Anspruch 11, wobei entweder der Verschiebungssensor (110), das Objekt (120) oder beide entlang mindestens einer Achse bewegt werden, um eine Vielzahl von Scanvorgängen (1210) von dem Verschiebungssensor (110) zu erfassen.Procedure according to Claim 11 wherein either the displacement sensor (110), the object (120), or both are moved along at least one axis to detect a plurality of scans (1210) from the displacement sensor (110). Verfahren nach Anspruch 17, wobei eine Gruppe von Pixelreihen dazu verwendet wird, um das Höhenbild (1010) zu erzeugen, und eine andere Gruppe von Pixelreihen dazu verwendet wird, um das Graustufenbild (1110) zu erzeugen.Procedure according to Claim 17 wherein one group of rows of pixels is used to create the height image (1010) and another group of rows of pixels is used to create the grayscale image (1110). Verfahren nach einem der Ansprüche 17 oder 18, wobei das Verfahren (1300) fortlaufend arbeitet mit Hilfe einer Schätzung des Graustufenbildgradienten in der Richtung des Scanvorgangs, um den Höhenkorrekturfaktor, der an jedem Punkt des Höhenbildes (1010) angewendet wird, zu berechnen.Method according to one of the Claims 17 or 18th wherein the method (1300) operates continuously by estimating the grayscale image gradient in the direction of scanning to calculate the height correction factor applied to each point of the height image (1010). Verfahren nach Anspruch 11, wobei das erzeugte Graustufenbild (1110) Spitzenintensitätsdatenwerte enthält, die ein Ergebnis einer Lage eines schlechten Pixels sind.Procedure according to Claim 11 wherein the generated grayscale image (1110) includes peak intensity data values that are a result of a bad pixel location.
DE102014107143.3A 2013-05-22 2014-05-21 System and method for measuring the displacement of an object surface Active DE102014107143B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361826416P 2013-05-22 2013-05-22
US61/826,416 2013-05-22
US14/149,774 2014-01-07
US14/149,774 US9605950B2 (en) 2013-05-22 2014-01-07 System and method for efficient surface measurement using a laser displacement sensor

Publications (2)

Publication Number Publication Date
DE102014107143A1 DE102014107143A1 (en) 2014-12-04
DE102014107143B4 true DE102014107143B4 (en) 2021-03-04

Family

ID=51899560

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014107143.3A Active DE102014107143B4 (en) 2013-05-22 2014-05-21 System and method for measuring the displacement of an object surface

Country Status (2)

Country Link
CN (1) CN109000583B (en)
DE (1) DE102014107143B4 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023067409A1 (en) * 2021-10-20 2023-04-27 Kuehl Sascha Binocular 3d scanner

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015121673B4 (en) * 2015-12-11 2019-01-10 SmartRay GmbH shape investigation
US10456915B1 (en) 2019-01-25 2019-10-29 Mujin, Inc. Robotic system with enhanced scanning mechanism
US10870204B2 (en) 2019-01-25 2020-12-22 Mujin, Inc. Robotic system control method and controller
CN112147625B (en) * 2020-09-22 2024-03-01 深圳市道通科技股份有限公司 Calibration method, device, monocular laser measurement equipment and calibration system
CN113172342B (en) * 2021-05-14 2023-08-18 郑州磨料磨具磨削研究所有限公司 Laser processing device and method for diamond surface planarization processing
CN113375566B (en) * 2021-06-09 2023-09-08 江苏中科贯微自动化科技有限公司 Accurate measurement method and system for object size
CN115170669B (en) * 2022-09-05 2022-11-22 合肥安迅精密技术有限公司 Identification and positioning method and system based on edge feature point set registration and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040246473A1 (en) * 2003-03-18 2004-12-09 Hermary Terrance John Coded-light dual-view profile scanning apparatus
DE102005052044A1 (en) * 2005-10-31 2007-05-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transparent object measuring device e.g. for defining jet level production mechanism, has first profile line at front surface of transparent object and second profile line at rear surface with radiation provided from jet
DE102005051318A1 (en) * 2005-10-26 2007-05-03 Reiter, Mathias, Dipl.-Ing. shape investigation
DE102006004060A1 (en) * 2006-01-28 2007-08-09 Basler Ag Moved object`s height and/or height progress measuring method, involves reducing and inversing detected object height by correction value with object height that increases in course of movement of object relative to recording axis of sensor
DE102006036586A1 (en) * 2006-08-04 2008-02-14 Reiter, Mathias, Dipl.-Ing. Three-dimensional and lengthwise-running testing contour e.g. recess, irregularity testing method, involves recording longitudinal positions of contour from different angles, where angles are observed in side view towards running direction
US20110310399A1 (en) * 2009-05-29 2011-12-22 Perceptron, Inc. Hybrid sensor
DE202012104890U1 (en) * 2012-12-14 2013-03-05 Faro Technologies, Inc. Device for optically scanning and measuring an environment

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07134013A (en) * 1993-06-28 1995-05-23 Hitachi Ltd Surface shape measuring method and projection aligner
CA2115859C (en) * 1994-02-23 1995-12-26 Brian Dewan Method and apparatus for optimizing sub-pixel resolution in a triangulation based distance measuring device
JPH08292019A (en) * 1995-04-20 1996-11-05 Mazda Motor Corp Calibration method for article detecting device
US5745176A (en) * 1995-10-12 1998-04-28 Ppt Vision, Inc. Machine-vision illumination system and method for delineating a lighted volume from an unlighted volume
US5751853A (en) * 1996-01-02 1998-05-12 Cognex Corporation Locating shapes in two-dimensional space curves
US6252659B1 (en) * 1998-03-26 2001-06-26 Minolta Co., Ltd. Three dimensional measurement apparatus
US6956963B2 (en) * 1998-07-08 2005-10-18 Ismeca Europe Semiconductor Sa Imaging for a machine-vision system
SG73563A1 (en) * 1998-11-30 2000-06-20 Rahmonic Resources Pte Ltd Apparatus and method to measure three-dimensional data
DE69942074D1 (en) * 1998-12-21 2010-04-08 Hitachi Ltd Method for regulating the transmission power for a communication system
US6819358B1 (en) * 1999-04-26 2004-11-16 Microsoft Corporation Error calibration for digital image sensors and apparatus using the same
US6600168B1 (en) * 2000-02-03 2003-07-29 Genex Technologies, Inc. High speed laser three-dimensional imager
US7113652B2 (en) * 2003-01-09 2006-09-26 Banner Engineering Corp. System and method for using normalized gray scale pattern find
US20040184653A1 (en) * 2003-03-20 2004-09-23 Baer Richard L. Optical inspection system, illumination apparatus and method for use in imaging specular objects based on illumination gradients
US7171037B2 (en) * 2003-03-20 2007-01-30 Agilent Technologies, Inc. Optical inspection system and method for displaying imaged objects in greater than two dimensions
US7352892B2 (en) * 2003-03-20 2008-04-01 Micron Technology, Inc. System and method for shape reconstruction from optical images
US6924717B2 (en) * 2003-06-30 2005-08-02 Intel Corporation Tapered electrode in an acoustic resonator
JP4480488B2 (en) * 2003-08-28 2010-06-16 富士通株式会社 Measuring device, computer numerical control device, and program
US7313271B2 (en) * 2004-12-07 2007-12-25 Avago Technologies Ecbuip (Singapore) Pte. Ltd. Color detection using grayscale and position information
DE602005016374D1 (en) * 2005-05-19 2009-10-15 St Microelectronics Res & Dev image sensor
US8103085B1 (en) * 2007-09-25 2012-01-24 Cognex Corporation System and method for detecting flaws in objects using machine vision
JP4294713B1 (en) * 2008-03-14 2009-07-15 株式会社 英田エンジニアリング Shape measurement system
CN201358436Y (en) * 2009-02-10 2009-12-09 长安大学 Road surface track laser detection device
US8244402B2 (en) * 2009-09-22 2012-08-14 GM Global Technology Operations LLC Visual perception system and method for a humanoid robot
US8427632B1 (en) * 2009-12-23 2013-04-23 Trimble Navigation Ltd. Image sensor with laser for range measurements
CN101832764A (en) * 2010-05-17 2010-09-15 南通北极光自动控制技术有限公司 Three-dimensional laser scanning on-line detection profiler
CN103097856B (en) * 2010-09-13 2016-03-16 辛克莱系统国际公司 For the labelled visual identity method of product
CN101969523B (en) * 2010-10-21 2012-10-03 西北农林科技大学 Three-dimensional scanning device and three-dimensional scanning method
US8228315B1 (en) * 2011-07-12 2012-07-24 Google Inc. Methods and systems for a virtual input device
CN102494675B (en) * 2011-11-30 2013-12-25 哈尔滨工业大学 High-speed visual capturing method of moving target features
CN102538705B (en) * 2012-01-12 2014-11-05 杭州浙达精益机电技术股份有限公司 Secondary-projection-algorithm-based on-line non-contact contour detection system and method of intermediate-thick plate
CN103292725A (en) * 2012-02-29 2013-09-11 鸿富锦精密工业(深圳)有限公司 Special boundary measuring system and method
CN102842034B (en) * 2012-07-10 2015-09-16 重庆大学 A kind of laser scanning and the device and the recognition methods that automatically identify engraving character
US8995749B2 (en) * 2013-03-28 2015-03-31 Mitutoyo Corporation Enhanced edge detection tool for edges of irregular surfaces

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040246473A1 (en) * 2003-03-18 2004-12-09 Hermary Terrance John Coded-light dual-view profile scanning apparatus
DE102005051318A1 (en) * 2005-10-26 2007-05-03 Reiter, Mathias, Dipl.-Ing. shape investigation
DE102005052044A1 (en) * 2005-10-31 2007-05-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transparent object measuring device e.g. for defining jet level production mechanism, has first profile line at front surface of transparent object and second profile line at rear surface with radiation provided from jet
DE102006004060A1 (en) * 2006-01-28 2007-08-09 Basler Ag Moved object`s height and/or height progress measuring method, involves reducing and inversing detected object height by correction value with object height that increases in course of movement of object relative to recording axis of sensor
DE102006036586A1 (en) * 2006-08-04 2008-02-14 Reiter, Mathias, Dipl.-Ing. Three-dimensional and lengthwise-running testing contour e.g. recess, irregularity testing method, involves recording longitudinal positions of contour from different angles, where angles are observed in side view towards running direction
US20110310399A1 (en) * 2009-05-29 2011-12-22 Perceptron, Inc. Hybrid sensor
DE202012104890U1 (en) * 2012-12-14 2013-03-05 Faro Technologies, Inc. Device for optically scanning and measuring an environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023067409A1 (en) * 2021-10-20 2023-04-27 Kuehl Sascha Binocular 3d scanner

Also Published As

Publication number Publication date
CN109000583B (en) 2022-04-26
DE102014107143A1 (en) 2014-12-04
CN109000583A (en) 2018-12-14

Similar Documents

Publication Publication Date Title
DE102014107143B4 (en) System and method for measuring the displacement of an object surface
US10775160B2 (en) System and method for efficient surface measurement using a laser displacement sensor
DE102014205726B4 (en) METHOD FOR DETERMINING PROFILE DATA FOR AN EDGE FEATURE IN A MACHINE IMAGE PROCESSING INSPECTION SYSTEM
DE102014206309B4 (en) System and method for obtaining offset images to be used for improved edge resolution
EP2619525B1 (en) Method for optically scanning an edge in or on a surface region
DE69923119T2 (en) Device for the integrated processing of defect images
DE102015205738A1 (en) Motion measuring system of a machine and method for operating the motion measuring system
DE4222804A1 (en) Automatic visual tester for electrical and electronic components - performs video scans of different surfaces with unequal intensities of illumination by annular and halogen lamps
DE112011100269T5 (en) A circuit-board
DE102015113051B4 (en) Measuring device, printed circuit board testing device and method for the control thereof
DE102014207095A1 (en) Edge measurement video tool with robust edge discrimination travel
DE102009030644B4 (en) Non-contact detection device
DE102007025304B4 (en) Method for improving the reproducibility of a coordinate measuring machine and its accuracy
DE102016107900B4 (en) Method and device for determining the edge of a measurement object in optical measurement technology
DE102012216908A1 (en) A method using image correlation for determining position measurements in a machine vision system
DE102017211328A1 (en) image measuring instrument
DE102015103785A1 (en) Method and device for calibrating a camera
EP3557306A2 (en) Autofocus with variable angle illumination
DE102007039982B3 (en) Method for optical inspection and visualization of the optical knife values obtained from disc-shaped objects
DE102016008744A1 (en) Image measuring apparatus, control program of such apparatus and non-volatile recording medium on which the control program is recorded
DE112021004793T5 (en) Device for three-dimensional measurements
DE112018001600T5 (en) SYSTEM AND METHOD FOR 3D PROFILE DETERMINATION USING A MODEL-BASED PEAK SELECTION
DE102004058655A1 (en) Two dimensional coordinate geometry or structure measurement for object, uses image processing, combines partial images to produce results with equidistant pixels
DE102014202977A1 (en) Determination of coordinates of a workpiece using a coordinate measuring machine
DE102018105794B4 (en) Representation of an object using shadows

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R006 Appeal filed
R016 Response to examination communication
R125 Request for further processing filed
R126 Request for further processing allowed
R007 Decision rectified on appeal
R016 Response to examination communication
R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE