DE10254435B4 - Verfahren zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung - Google Patents

Verfahren zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung Download PDF

Info

Publication number
DE10254435B4
DE10254435B4 DE10254435A DE10254435A DE10254435B4 DE 10254435 B4 DE10254435 B4 DE 10254435B4 DE 10254435 A DE10254435 A DE 10254435A DE 10254435 A DE10254435 A DE 10254435A DE 10254435 B4 DE10254435 B4 DE 10254435B4
Authority
DE
Germany
Prior art keywords
edge point
edge
image
scan line
point
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.)
Expired - Fee Related
Application number
DE10254435A
Other languages
English (en)
Other versions
DE10254435A1 (de
Inventor
Dahai Yu
Richard M. Wasserman
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.)
Mitutoyo Corp
Original Assignee
Mitutoyo 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
Application filed by Mitutoyo Corp filed Critical Mitutoyo Corp
Publication of DE10254435A1 publication Critical patent/DE10254435A1/de
Application granted granted Critical
Publication of DE10254435B4 publication Critical patent/DE10254435B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Verfahren zum Betreiben eines Abbildungssystems zur Bestimmung eines Satzes von XYZ-Koordinaten für mehrere Randpunkte entlang einer Randkontur eines Objektes, wobei die mehreren Randpunkte sich über einen Tiefenbereich erstrecken können, der größer als die Schärfentiefe eines Bildes der Randkontur ist, wobei das Verfahren folgende iterativ auszuführende Schritte umfasst: Bestimmen der XYZ-Koordinaten für einen Randpunkt anhand eines Randpunktbildes; Automatisches Bestimmen einer nächsten XY-Randpunkt-Versuchsposition zumindest teilweise auf der Grundlage der XY-Position des vorhergehenden Randpunktes; Bestimmen eines nächsten Randpunktbildes auf der Grundlage der nächsten XY-Randpunkt-Versuchsposition und zuvor gesammelter Daten; Suchen nach dem nächsten Randpunkt in dem nächsten Randpunktbild; wobei das nächste Randpunktbild innerhalb mindestens eines Iterationsschritts dadurch bestimmt wird, dass die zuvor gesammelten Daten mehrere Bilder umfassen, die an mehreren Fokuspositionen aufgenommen sind, und das jenige Bild der mehreren Bilder ausgewählt wird, das als jenes mit dem besten Fokus in der Nähe der nächsten XY-Randpunkt-Versuchsposition bestimmt wird, zur Verwendung...

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft im Allgemeinen ein Verfahren zum elektronischen Abtasten und Messen eines Objektes und betrifft insbesondere ein Verfahren zum automatischen Bestimmen der Ränder bzw. Kanten eines dreidimensionalen Objektes.
  • HINTERGRUND DER ERFINDUNG
  • Computer-Bilderkennungssysteme können verwendet werden, um genaue Abmessungen abgetasteter Objekte zu erhalten. Derartige Systeme können einen Computer und eine Kamera und ein optisches System mit einer Halterung, die so bewegbar ist, dass die Kamera der Randkontur eines Objektes, das abgetastet wird, folgen kann, umfassen. Ein beispielhaftes bekanntes System, das käuflich erhältlich ist, ist die QUICK VISIONTM-Serie von Bilderkennungs-Inspektionsvorrichtungen und QVPAKTM-Software, die von Mitutoyo America Corporation (MAC), Standort in Aurora, II., erhältlich ist. Dieses Produkt umfasst eine zweidimensionale automatische Kanten-Detektionsanlage, die so gestaltet ist, um Punkte entlang einer kontinuierlichen Randkontur eines Objektes zu erfassen und um automatisch die Halterung in der notwendigen Weise zu bewegen, um der Kontur über die Grenzen eines beliebigen einzelnen Videobildes hinaus zu folgen. Ein einzelnes Videobild umfasst oft lediglich einen Teil des abzutastenden Objektes entsprechend der gewünschten Vergrößerung, der Messauflösung und der physikalischen Größenbeschränkungen derartiger Systeme. Die zweidimensionale automatische Rand-Detektionsanlage hilft Zeit zu sparen, wenn das Bilderkennungssystem im ”Lernmodus” betrieben wird, indem es programmiert wird, um diverse Eigenschaften einer relativ langen Randkontur zu messen, die sich über viele Videobilder erstrecken kann. Da diese Anlage die Fähigkeit aufweist, seine Bahn auf der Grundlage einer Randkonturinformation während der Laufzeit für einen speziellen Probenabschnitt zu bestimmen bzw. zu modifizieren, ist diese Anlage ebenso hilfreich, Laufzeitfehler zu vermeiden, die bei Randerfassungsanlagen auftreten, die auf einer fixierten Position und einer vorprogrammierten Randkonfiguration beruhen.
  • Die zweidimensionale automatische Rand-Detektionsanlage arbeitet gemäß einem automatischen Spurerkennungs-Algorithmus, wie dies nachfolgend mit Bezug zu den 1A, 1B und 1C detaillierter beschrieben wird. Zu Beginn des automatischen Spurerkennungs-Algorithmus definiert ein Anwender ein Werkzeug bzw. Tool. Diese anfängliche Werkzeugdefinition umfasst beispielsweise die Werkzeugposition, die Abtastrichtung des Werkzeugs und das Abtastintervall entlang der Abtastzeile. Die diversen Rand-Detektionsschwellwerte und das Vorzeichen der Abtastrichtung und die Randübergänge des zu verfolgenden Randes werden in automatisierter Weise entsprechend bekannter Verfahren gelernt. Das Vorzeichen für den Randübergang zeigt an, ob der erwartete Rand eine Intensitätszunahme aufweist – von Dunkel zu Hell – entlang der geschnittenen Abtastrichtung, oder eine Intensitätsabnahme – Hell zu Dunkel – entlang der definierten Abtastrichtung. Durch Anwenden eines Teils oder der gesamten zuvor genannten Information werden zwei Randpunkte detektiert, wie dies in 1A dargestellt ist, an denen zwei Abtastlinien S1A und S2A zwei Randpunkte A1 und A2 entlang dem Rand eines Zielobjektes TG festlegen. Die Abtastlinien sind anfänglich entsprechend einem voreingestellten Abstand D12 voneinander getrennt. Der Abstand zwischen Abtastlinien wird hierin allgemeiner als das Abtastlinienabtastintervall bezeichnet.
  • Wenn gemäß dem automatischen Spurerkennungs-Algorithmus die Randpunkte A1 und A2 lokalisiert sind, wird versucht, die nächste Randstelle auf der Grundlage der Positionen der Randpunkte A1 und A2 unter Verwendung einer linearen Extrapolation zu bestimmen. Wie in 1A gezeigt ist, ist eine Extrapolationslinie E1A durch die Randpunkte A1 und A2 gelegt. Eine dritte Abtastlinie S3A ist senkrecht zu E1A und mit dem Abstand D12 entlang der linearen Extrapolationslinie E1A zu dem Rand A2 angeordnet. Die dritte Abtastlinie S3A legt einen dritten Randpunkt A3 fest. Der Randpunkt A3 wird dann verwendet, um eine neue lineare Extrapolationslinie E2A durch die Randpunkte A2 und A3 zu bilden, die dann zur Ermittlung eines neuen Randpunktes verwendet wird. Bei Fortsetzung dieses Vorgangs wird, wenn das lineare Extrapolationsverfahren keinen neuen Randpunkt ermitteln kann, dann eine weitere lineare Extrapolation versucht, wie dies detaillierter im Anschluss mit Bezug zu 1B beschrieben wird.
  • 1B zeigt ein zusätzliches lineares Extrapolationsverfahren, das aufgerufen wird, wenn die in 1A dargestellte Prozedur keinen Randpunkt lokalisieren kann. Entsprechend 1B sind zwei Abtastlinien S1B und S2B gezeigt, um zwei Randpunkte B1 und B2 festzulegen. Es ist eine lineare Extrapolationslinie E1B durch die Randpunkte B1 und B2 gezeigt. Eine dritte Abtastlinie S3B ist entlang der Extrapolationslinie E1B gezeigt. Wie dargestellt, legt die Abtastlinie S3B keinen neuen Randpunkt fest.
  • Nachdem die Abtastlinie S3B keinen neuen Randpunkt festlegt, werden dennoch die beiden vorhergehenden detektierten Randpunkte B1 und B2 verwendet, um die nächste Versuchsposition für den Randpunkt zu bestimmen. Es wird die gleiche Extrapolation angewendet, obwohl das Abtastlinien-Abtastintervall, das zur Extrapolation verwendet wird, halbiert ist. Somit wird durch Halbieren des Abtastlinien-Abtastintervalls die Stelle einer neuen Abtastlinie S4B bestimmt. Da die Abtastlinie S4B keinen Randpunkt festlegt, wird das Verfahren erneut so wiederholt, dass das Abtastlinien-Abtastintervall erneut halbiert wird, wie dies durch die Position der Abtastlinie S5B dargestellt ist. Wie gezeigt, legt die Abtastlinie S5B einen Randpunkt B3 fest. Da ein neuer Randpunkt ermittelt worden ist, ersetzt der Randpunkt B3 den Randpunkt B1, der verwendet wurde, um die aktuelle Versuchsposition des Randpunktes zu bestimmen, und der Suchvorgang wird auf die Prozeduren aus 1A zurückgesetzt. Daher wird eine neue Extrapolationslinie E2B durch die Randpunkte B2 und B3 gezeigt.
  • Der Halbierungsvorgang, der in 1B dargestellt ist, wird wiederholt bis ein vorbestimmtes minimales Abtastlinien-Abtastintervall erreicht ist, oder bis ein Randpunkt ermittelt ist. Wenn das minimale Abtastlinien-Abtastintervall erreicht ist und kein Randpunkt ermittelt ist, wird eine Ring- bzw. Rotationssuche aufgerufen, wie dies detaillierter im Anschluss mit Bezug zu 1C erläutert ist.
  • 1C zeigt eine Ringsuche. In 1C sind drei Randpunkte C1, C2 und C3 entlang des Randes des Zielobjektes TG gezeigt. Eine Extrapolationslinie E1C ist durch die Randpunkte C2 und C3 gezeigt. Eine Abtastlinie S1C ist durch den Randpunkt C3 gezeigt. Es wird vorausgesetzt, dass die zuvor mit Bezug zu den 1A und 1B beschriebenen Verfahren durchgeführt wurden und keinen Randpunkt über den Randpunkt C3 hinaus ermittelt haben.
  • Gemäß den Prozeduren aus 1C werden die vorhergehenden beiden detektierten Randpunkte C2 und C3 verwendet, um eine Versuchsposition für den Randpunkt in der umgekehrten Richtung zu der vorhergehenden Suchrichtung entlang der Randkontur zu extrapolieren. Im Prinzip ist dies so, als ob das/die gesamte Randermittlungswerkzeug/Prozedur in der Bildebene um den zuletzt lokalisierten Randpunkt gedreht wird. Anzumerken wäre, dass aufgrund der ”Drehung” des gesamten Werkzeugs das Vorzeichen des Randabtastens des Werkzeugs nunmehr in der entgegengesetzten Richtung relativ zu dem Teil des Randprofils verläuft, der bereits detektiert worden ist. Somit wird ein zuvor detektierter Rand aufgrund des zuvor gelernten/definierten Vorzeichens (der Richtung) des erwarteten Randübergangs nicht mehr detektiert. Daher ist eine zweite Abtastlinie S2C entlang der Extrapolationslinie E1C in der umgekehrten Richtung zur vorhergehenden Suchrichtung des Randprofils gezeigt. Anzumerken ist, dass in dem in 1C gezeigten Falle das Vorzeichen der Werkzeugabtastung so definiert ist, dass die Suche für einen Übergang des Objektes (dunkel) zum Hintergrund (hell) stattfindet, und daher lokalisiert die Abtastlinie S2C keinen Randpunkt, da der Übergang in diesem Falle von Hell zu Dunkel ist.
  • Da kein Randpunkt durch die Abtastlinie S2C ermittelt wird, wird die Orientierung der Werkzeugabtastung um einen vorbestimmten Winkelschritt auf der Grundlage des Drehradius (d. h. das Abtastlinien-Abtastintervall) und der Länge der Abtastlinie gedreht, so dass es unmöglich ist, dass ein Rand zwischen dem Ende einer Abtastlinie und dem Beginn der nächsten, um einen kleinen Schritt gedrehten Abtastlinie liegt. Dieser Vorgang wird wiederholt bis ein Randpunkt detektiert wird oder bis das Abtastwerkzeug an seine ursprüngliche Stelle zurückkehrt. Wie dies in 1C dargestellt ist, wird die Orientierung des Abtastwerkzeugs um einen Winkelschritt mit vorbestimmtem Betrag gedreht, um damit eine Abtastlinie S3C zu erzeugen. Dieser Vorgang wird für Abtastlinien S4C, S5C und S6C wiederholt, deren Drehung eine Tangente zu einer kreisförmigen Drehung R1C bildet. Wie gezeigt, legt die Abtastlinie S6C einen vierten Randpunkt C4 fest.
  • Der Randpunkt C4 ersetzt dann den Randpunkt C2 und der Suchvorgang wird auf die Prozeduren aus 1A zurückgesetzt. Daher ist eine neue Extrapolationslinie E2C durch die Randpunkte C3 und C4 gezeigt. Wenn zuvor kein neuer Randpunkt ermittelt worden ist, geht das Abtastwerkzeug zu seiner ursprünglichen Stelle zurück und der Algorithmus gibt eine entsprechende Fehlermeldung aus.
  • Die obigen Prozeduren aus den 1A, 1B und 1C sind für das automatische Erkennen eines Randes eines Bildes in einem zweidimensionalen Bild, das durchweg gut fokussiert ist, effizient anwendbar. Randverfolgung wird z. B. im US-Patent-Nr. 5,475,507 gelehrt, das ein Farbbildverarbeitungsverfahren offenbart, das die Bestimmung eines Ortes eines Randpunktes in einem Bild in der Nähe einer Kontur, Bestimmung von nächsten Randpunkten basierend zumindest teilweise auf einem Ort eines vorherigen Randpunktes und Suchen eines nächsten Randpunktes umfasst. Jedoch spricht das Verfahren dieses Patents auch nicht Fälle an, wo die Randpunkte über Tiefenbereiche verteilt sind, die größer sind als die Schärfentiefe eines Bildes. In der Praxis ist es wünschenswert, eine ähnliche Art eines automatischen Bahnerkennungswerkzeugs zur Messung von Rändern entlang einer relativ langen Kontur bereit zu stellen, die sich durch zwei oder mehrere Bildbereiche, entsprechend den Größen von Objekten erstreckt, die abgetastet werden sollen, und/oder für kompliziert geformte Teile. In derartigen Fällen treten häufig merkliche Höhenänderungen entlang des Randes relativ zur Brennebene des abbildenden Systems auf. Derartige Höhenänderungen werden hierin auch als Tiefenänderungen bezeichnet, da diese in einer Richtung im Wesentlichen parallel zur Richtung der Schärfentiefe des Abbildungssystems auftreten. Diese Höhen/Tiefenänderungen können einen Verlust an Schärfe und eine Beeinträchtigung des Randkontrastes zur Folge haben. Ein schlechter Randkontrast bewirkt, dass die Vorgänge zur Randdetektion fehlschlagen oder eine Fehlermeldung ergeben – wie dies der Fall sein sollte für ein Bild, das keine zuverlässige Randmessung erlaubt. Bekannte Verfahren zum Beheben eines Fokusverlusts schließt z. B. die deutsche Patentanmeldung Nr. 199 41 771 A1 ein, die eine Werkzeugmessvorrichtung offenbart, die einen Stapel von Bildern in unterschiedlichen Fokusebenen aufnimmt, und ein Bild mit dem höchsten Kontrast zur Verwendung in Messvorgängen auswählt. Die Erfinder haben allerdings ferner festgestellt, dass einfach das Erweitern des bekannten zweidimensionalen Randwerkzeugs mit konventionellen Autofokus-Operationen zu einer äußerst langsamen Randerkennung führt, insbesondere für während der Laufzeit stattfindende Anwendungen. Daher ist der Mangel des bestehenden Werkzeugs, bekannte Probleme über effektive automatisierte Kamerahöheneinstellungen zu korrigieren, eine deutliche Einschränkung in der Anwendbarkeit. Die vorliegende Erfindung richtet sich an das Verbessern des obigen Verfahrens durch Definieren schneller und effizienter Systeme und Verfahren zum Bestimmen der notwendigen Änderungen der Höhe und des Fokus (z. B. entlang der Z-Achse), wenn das Werkzeug einer Randkontur in dreidimensionalem Raum folgt, und in dem möglichst viele Daten wiederverwendet werden, so dass zeitaufwendige Bewegungen des Abbildungssystems minimiert werden.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Es wird ein Verfahren zum Betreiben eines Bilderkennungssystemsbereitgestellt, um einen Satz von XYZ Kooerdinaten für eine Vielzahl von Randpunkten entlang einer Randkontur eines Objektes zu bestimmen, wobei sich die Vielzahl von Randpunkten über eine Schärfentiefe eines Bildes der Randkontur erstrecken. Wie zuvor erläutert ist, sind Bewegungsfunktionen eines maschinellen Bilderkennungssystems besonders zeitaufwendig. Derartige Funktionsabläufe schließen Autofokus-Funktionen, Fokus-Funktionen mit offener Schleife und Bewegungen der Halterung mit ein. Daher wird versucht, jede dieser Funktionen in maximaler Weise in den diversen Ausführungsformen der Verfahren gemäß dieser Erfindung und insbesondere in Laufzeitanwendungen zu vermeiden. Es wird ferner versucht, Fokus-Funktionen mit offener Schleife vorrangig zu Autofokus-Funktionen durchzuführen und möglichst viele Operationen und Bewegungen auf zuvor gesammelte Daten zu gründen, um sowohl die Verfahr- als auch die Bildaufnahmezeit zu minimieren. Es wird weiterhin versucht, die Bildbearbeitungsoperationen auf ein kleines Gebiet zu beschränken, das den zu bestimmenden Randpunkt umgibt, um die Bildbearbeitungszeit zu minimieren.
  • In verschiedenen Ausführungsformen werden Verfahren gemäß den Patentansprüchen 1 bis 14 bereitgestellt.
  • Es soll betont werden, dass das offenbarte Verfahren zur Verfolgung bzw. Erkennung einer dreidimensionalen Randkontur dahingehend vorteilhaft ist, dass dieses in genauer Weise den Rand eines Objektes verfolgen kann, selbst wenn der Rand des Objektes deutliche Höhen/Tiefenänderungen aufweist. Derartige Höhenänderungen treten in der Praxis selbst für flache Objekte häufig auf, da die Objekte groß sind, vergrößert sind und in ungeeigneter Weise zu der XY-Ebene ausgerichtet sind, oder da diese Unregelmäßigkeiten in der Z-Richtung aufweisen. Ferner wird in dem offenbarten Verfahren vorteilhafter Weise ein Stapel gespeicherter Bilder und/oder extrapolierter Z-Positionen als Grundlage für die Quellenbilder zum Ausführen von Randerkennungs-Vorgängen verwendet, anstatt zu versuchen, zeitaufwändige Autofokus-Operationen anzuwenden. Somit sparen die erfindungsgemäßen Systeme und Verfahren einen merklichen Betrag an Verfahrzeiten und Verarbeitungszeiten im Vergleich zu alternativen Verfahren ein. Insbesondere, wenn eine höchst präzise Z-Messung von Randpunkten nicht das Ziel der Aufgabe ist, beispielsweise wenn die Koordinaten eines relativ flachen Teiles zu messen sind, sich aber der Teil trotzdem um mehr als eine Schärfentiefe in der Z-Achsenrichtung erstreckt, beschleunigt das Abschätzen der maximalen Kontrast-Z-Position eines Randpunktes auf der Grundlage bestehender Bilder deutlich den Prozess der Randerkennung und der Randpunkt-Positionsbestimmung.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorhergehenden Aspekte und viele damit verknüpften Vorteile dieser Erfindung gehen deutlicher aus der folgenden detaillierten Beschreibung hervor, wenn diese in Verbindung mit den begleitenden Zeichnungen studiert wird; es zeigen:
  • 1A1C ein konventionelles Verfahren zum Verfolgen bzw. Erkennen einer Randkontur im zweidimensionalen Raum;
  • 2A2C Objekte mit dreidimensionalen Randkonturen;
  • 3 ein Flussdiagramm, das ein allgemeines Verfahren zum Bestimmen zeigt, ob ein Bildstapel aufgenommen werden soll;
  • 4 ein Flussdiagramm, das ein allgemeines Verfahren zum Bestimmen zeigt, ob eine Z-Höhenextrapolation angewendet werden sollte;
  • 5 ein Flussdiagramm, das den Beginn eines detaillierten automatischen Spurerkennungsverfahrens zum Verfolgen einer Randkontur im dreidimensionalen Raum zeigt und die eine Routine zum Auffinden zweier Randpunkte darstellt;
  • 6 ein Flussdiagramm, das ein Teil des detaillierten automatischen Spurerkennungsverfahrens ist und das eine Routine zum Überprüfen einer Position zeigt, um sicher zu stellen, dass diese innerhalb eines aktuellen Videofensters liegt;
  • 7 ein Flussdiagramm, das ein Teil des detaillierten automatischen Spurerkennungsverfahrens ist und das eine Routine zum Extrapolieren von Randpunkt-Versuchspositionen und zum Lokalisieren von Randpunkten darstellt;
  • 8 ein Flussdiagramm, das ein Teil des detaillierten automatischen Spurerkennungsverfahrens ist und das eine Routine zum Aktualisieren eines Randpunkt-Puffers und zum Zurücksetzen eines Suchmodus zeigt;
  • 9 ein Flussdiagramm, das eine Teil des detaillierten automatischen Spurerkennungsverfahrens ist und das eine Routine zeigt, in der das Abtastlinien-Abtastintervall für das Extrapolieren halbiert wird; und
  • 10 ein Flussdiagramm, das ein Teil des detaillierten automatischen Spurerkennungsverfahrens ist und das eine Routine zeigt, in der ein Ring- bzw. Rotationsmodus angewendet wird.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 2A, 2B und 2C zeigen Objekte, die Randkonturen mit Z-Höhenänderungen aufweisen. Die vorliegende Erfindung ist vorteilhaft zum Verarbeiten derartiger Randkonturen. 2A zeigt ein Objekt T1 mit einer Randkontur P1, die in einer einzelnen Ebene des Objektes T1 enthalten ist, die allerdings nicht genau zu der XY-Ebene des Abbildungssystems ausgerichtet ist. In diesem Beispiel ist die XY-Ebene die Auflagenebene der Messanlage. Dies stellt eine übliche Situation dar, wenn ein relativ großes Objekt gemessen wird. Wenn diese Art eines Justierfehlers auftritt, muss, wenn die Randkontur sich über die anfängliche Tiefe des Fokus der Anlage hinaus erstreckt, ein automatisches Spurerkennungswerkzeug ein Mittel zum Aufnehmen und Verwenden zusätzlicher Bilder bereit stellen, um die Position der Randkontur, die sich über die anfängliche Tiefe des Fokus der Anlage hinaus erstreckt, zu bestimmen.
  • 2B zeigt eine Randkontur P2 eines Objektes T2 mit Unregelmäßigkeiten in der Z-Richtung. Diese Arten von Unregelmäßigkeiten können ebenso relativ groß sein und sich über die Anfangstiefe des Fokus der Anlage hinaus erstrecken. Daher muss ein automatisches Spurerkennungswerkzeug ein Mittel zum Aufnehmen und Verwenden zusätzlicher Bilder zur Bestimmung der Position der Randkontur, die sich über die anfängliche Tiefe des Fokus der Anlage hinaus erstreckt, zu bestimmen.
  • 2C zeigt die Außenrandkontur P3 eines Objektes T3, das ein Kegelradgetriebe ist, das in gestricheltem Umriss gezeigt ist (der Körper des Rades ist nicht detailliert gezeigt). Diese Art des Objektes ist so gestaltet, dass es eine Randkontur aufweist, die prinzipiell nicht innerhalb einer einzelnen Ebene liegt. Für ein derartiges Objekt verläuft die Randkontur typischerweise außerhalb der Tiefe des Fokus des Maschinenabbildungssystems. Die Außenrandkontur P3 wurde gemäß einer beispielhaften Ausführungsform der erfindungsgemäßen Systeme und Verfahren bestimmt. Wie im Folgenden detaillierter beschrieben ist, richtet sich die vorliegende Erfindung an ein Verfahren, das in genauer Weise dreidimensionale Randkonturen etwa wie sie in den 2A, 2B und 2C gezeigt sind, verfolgt bzw. erkennt.
  • 3 ist ein Flussdiagramm, das ein allgemeines Verfahren zum Bestimmen darstellt, wenn ein Bildstapel aufgenommen werden sollte. Gemäß der vorliegenden Erfindung werden zur Einsparung von Fokussierzeiten während automatischer Erkennungs- und Messvorgänge manchmal viele Bilder an unterschiedlichen Höhenpositionen aufgenommen und für spezielle Positionen der XY-Halterung bei Bedarf gespeichert. Diese gespeicherten Bilder können später verwendet werden, um die Brennpunkt-Positionen für jede Randpunkt-Versuchsposition in dem gleichen XY-Bereich zu berechnen. Anders ausgedrückt, die physikalische Z-Halterungsbewegung wird nicht benötigt und durch Wiederverwenden der gespeicherten Bilder kann ein deutlicher Anteil an Zeit eingespart werden.
  • Wie in 3 gezeigt ist, bestimmt die Routine im Schritt 50 die XY-Halterungsposition und bewertet die aktuell definierten Messoperationen, um zu bestimmen, ob ein Bildstapel für die ausgewählte Position aufgenommen werden sollte. Wenn beispielsweise der aktuelle Vorgang eine Anfangsoperation eines Satzes automatischer Erkennungs- und Messvorgänge ist, dann wird ein Bildstapel an einer XY-Startposition aufgenommen. Wenn bereits für die vorliegende XY-Position ein Bildstapel existiert, und dieser keine Randpunkt-Detektion an der erforderlichen Position unterstützt, dann wird die Z-Extrapolation als Nächstes ohne Aufnahme eines neuen Bildstapels versucht. Wenn schließlich ein Bild, das auf der Grundlage einer extrapolierten Z-Position aufgenommen ist, die Randdetektion an der erforderlichen Position nicht unterstützt, dann wird ein neuer Bildstapel aufgenommen, wobei dessen zentrale Z-Position an der Z-Position des zuletzt detektierten Randpunktes festgelegt wird – wenn nicht ein derartiger Bildstapel bereits existiert. In einem Entscheidungsschritt 52 bestimmt die Routine, ob ein Bildstapel aufgenommen werden sollte. Wenn kein Bildstapel aufgenommen wird, dann geht die Routine weiter zum Ende, und springt dann zurück. Wenn ein Bildstapel aufgenommen werden soll, dann geht die Routine weiter zum Schritt 54. Im Schritt 54 wird der Bildstapel aufgenommen und zur Verwendung bei der Berechnung von Brennpunktpositionen für Randpunkt-Versuchspositionen in dem selektierten XY-Bereich gespeichert. Die Routine endet dann und springt zurück.
  • 4 ist ein Flussdiagramm, das ein allgemeines Verfahren zum Bestimmen zeigt, wenn eine Z-Höhenextrapolation angewendet werden sollte. Im Allgemeinen ist für eine große Anzahl an Anwendungen die Z-Höhenänderung einer Kontur graduell und vorhersagbar. Dies bedeutet, dass eine gute Z-Höhenextrapolation erhalten werden kann, indem Informationen aus zuvor gewonnenen Randpunkten verwendet werden. Auf der Grundlage dieser Analyse kann die Z-Höhenextrapolation berechnet werden, indem die Z-Höhen zweier oder mehrerer vorhergehender Randpunkte verwendet werden, wenn ein Bildstapel für die nächste XY-Randpunkt-Versuchsposition nicht verfügbar ist. Dieses Verfahren beschleunigt den Suchvorgang deutlich und ist sehr effizient in Messanwendungen mit sich allmählich ändernden Randkonturen.
  • Wie in 4 gezeigt ist, bewertet im Schritt 70 die Routine, ob eine Z-Höhenextrapolation für die nächste XY-Randpunkt-Versuchsposition angewendet werden sollte, etwa für das Festlegen einer neuen Z-Höhe für die Bildaufnahme. Wenn beispielsweise die aktuelle Operation eine Anfangsoperation eines Ersatzwertes automatischer Verfolgungs- und Messoperationen ist, dann gibt es keine Grundlage für eine Z-Höhenextrapolation und diese wird nicht angewendet. Wenn bereits ein Bildstapel für die nächste XY-Randpunkt-Versuchsposition existiert, dann wird dieser verwendet. Wenn jedoch ein Bildstapel bereits nicht in der Lage war, die Randdetektion an der nächsten XY-Randpunkt-Versuchsposition zu gewährleisten, oder wenn die vorhergehenden Randpunkte auf der Grundlage von extrapolierten Z-Höhen bestimmt wurden, dann wird die Z-Höhenextrapolation als eine Grundlage zum Aufnehmen eines neuen Quellenbildes für die nächste XY-Randpunkt-Versuchsposition ausgeführt. In einem Entscheidungsschritt 72 bestimmt die Routine, ob die Z-Höhenextrapolation angewendet werden sollte. Wenn die Z-Höhenextrapolation nicht anzuwenden ist, dann endet die Routine und springt zurück. Wenn eine Z-Höhenextrapolation anzuwenden ist, dann geht die Routine zu einem Schritt 74 weiter. Im Schritt 74 verwendet die Routine die Z-Höhen vorhergehender Randpunkte, um eine Extrapolation der Z-Höhe des Randpunktes, nach dem zu suchen ist, zu berechnen. Die Routine endet dann und springt zurück.
  • 510 zeigen ein detailliertes Verfahren zum Erkennen bzw. zum Verfolgen einer dreidimensionalen Randkontur gemäß der vorliegenden Erfindung. Zusammengefasst kann gesagt werden, dass bei einem Startpunkt ein Anwender oder ein Teilprogramm ein Randerkennungswerkzeug hinsichtlich der Werkzeugposition und eine Werkzeugabtastrichtung und ein Abtastlinien-Abtastintervall bestimmt, wenn diese nicht automatisch festgelegt werden. Ein Z-Suchbereich wird entweder durch den Anwender oder durch einen Ersatzwert definiert. Es wird ein Z-Stapel an der augenblicklichen Halterungsposition aufgenommen und für die Suche der ersten beiden Randpunkte verwendet. In allen weiteren Suchvorgängen für eine beliebige Randpunkt-Versuchsposition wird bestimmt, ob die Suchposition innerhalb des aktuellen Videofensters liegt, ansonsten wird die Halterung nach Bedarf entsprechend einer berechneten Position auf der Grundlage der nächsten XY-Randpunkt-Versuchsposition verfahren.
  • Bei der Suche nach neuen Randpunkten werden zweidimensionale Operationen analog zu den Operationen, die zuvor mit Bezug zu den 1A1C beschrieben sind, durchgeführt, um die XY-Koordinaten der nächsten XY-Randpunkt-Versuchsposition auf der Grundlage des Bildes, das für die zuletzt bestimmte Randpunkt-Position verwendet wurde, zu bestimmen. Dann wird der aktuelle Bildstapel verwendet, um das Quellenbild zu finden, das den besten Fokus für den erwarteten Randpunkt liefert, d. h. für das Bild, das den maximalen Kontrastspitzenwert in der Nähe der Randpunkt-Versuchsposition liefert. Der Begriff Quellenbild wird hierin allgemein verwendet, um ein Bild zu bezeichnen, das von dem Abbildungssystem aufgenommen wird, und das verwendet wird oder verwendbar ist, um Randverfolgungs- und Messoperationen auszuführen. Wenn dann ein neuer Randpunkt erfolgreich in diesem Quellenbild gefunden ist, wird dieser gespeichert und der Suchvorgang wird fortgesetzt. Wenn ein maximaler Kontrastspitzenwert nicht ermittelt wird, oder wenn kein neuer Randpunkt gefunden wird, wird die Z-Höhe für die Randpunkt-Versuchsposition durch Extrapolation abgeschätzt, wobei die Z-Höhen der beiden vorhergehenden Randpunkte verwendet werden. Wenn dennoch kein neuer Randpunkt gefunden wird, wird ein neuer Bildstapel erhalten, in dem die Z-Höhe des zuletzt detektierten Randpunktes als der Mittelpunkt des neuen Bildstapels genommen wird.
  • Wenn wiederum kein neuer Randpunkt gefunden wird, wird eine Halbierungsroutine aufgerufen, in der das Abtastlinien-Abtastintervall für die Extrapolation wiederholt halbiert wird, bis entweder ein neuer Randpunkt gefunden wird oder das Abtastlinien-Abtastintervall ein vordefiniertes Kriterium erfüllt. Wenn immer noch kein neuer Randpunkt gefunden wird, wird eine Ringsuche aufgerufen. In der Ringsuche wird der Suchvorgang mit mehreren Randpunkt-Versuchspositionen und Richtungen wiederholt, die eine Tangente zu dem Umfang eines Kreises, der um den zuletzt detektierten Randpunkt angeordnet ist, bilden. Die zuvor beschriebenen Routinen und Prozeduren lokalisieren wirksam Randpunkte entlang einer dreidimensionalen Randkontur in einer schnellen und effektiven Weise.
  • 5 ist ein Flussdiagramm, das den Beginn des detaillierten automatischen Spurerkennungsverfahrens zum Verfolgen einer Randkontur im dreidimensionalen Raum zeigt, und die eine Routine zum Auffinden der ersten beiden Randpunkte enthält. Am Anfang definiert ein Anwender ein Randwerkzeug einschließlich der Werkzeugposition und bei Bedarf eine Werkzeugabtastrichtung und ein Abtastlinien-Abtastintervall. Es wird ein Z-Suchbereich von dem Anwender definiert oder durch einen Ersatzwert festgelegt. In einer beispielhaften Ausführungsform fokussiert der Anwender das Abbildungssystem auf einen Randpunkt in der Nähe der Randwerkzeugposition und ein Ersatzwert für einen vordefinierten Z-Suchbereich ist auf +/–5 Einheiten der Schärfentiefe entsprechend der aktuellen Vergrößerung des Abbildungssystems festgelegt. Wie in 5 dargestellt ist, werden in einem Schritt 102 die ersten beiden Abtastlinien zusammen mit dem Z-Suchbereich spezifiziert. Die Schwellwerte und die Richtung des zu verfolgenden Randes werden dann automatisch gelernt. Mit dieser Information wird eine Reihe von Bildern in dem vordefinierten Z-Suchbereich (d. h. ein Bildstapel) aufgenommen und für die XY-Startposition gespeichert. In einer beispielhaften Ausführungsform wird der Z-Abstand zwischen den Bildern in dem Stapel auf einen Z-Ersatzabstandswert, der gleich der Schärfentiefe bei der aktuellen Vergrößerung ist, festgelegt. Somit wird in einem Schritt 104 ein Stapel aus Bildern innerhalb des Suchbereichs aufgenommen und gespeichert. Die Routine geht dann zu einem Schritt 106 weiter.
  • Im Schritt 106 wird der Stapel aus Bildern dann verwendet, um die Z-Position für jeden der beiden ersten Randpunkte zu finden. Die maximalen Kontrastwerte innerhalb des Bildstapels werden verwendet, um die Z-Positionen der ersten beiden Randpunkte zu bestimmen. In einer beispielhaften Ausführungsform wird jedes Bild in dem Stapel aus Bildern, entlang einer aktuellen Abtastlinie bewertet, um einen Spitzenwertgradienten für jedes Bild in dem Bildstapel zu bestimmen. Das heißt, in dieser beispielhaften Ausführungsform ist der Spitzenwertgradient für jedes Bild in dem Stapel der Kontrastwert für dieses Bild in dem Stapel. Die aktuelle Abtastlinie ist beispielsweise die Linie, die zur Verwendung beim Bestimmen des nächsten Randpunktes definiert ist. Es sollte beachtet werden, dass das Bestimmen des Spitzenwertgradienten entlang einer Abtastlinie eine anfängliche oder eine frühe Aktion ist, die in vielen Randpunkt-Lokalisieralgorithmen durchgeführt wird, und diese ist daher in diversen beispielhaften Ausführungsformen eingehend bestimmt. Das Bild mit dem maximalen Kontrastwert für jede der beiden ersten Randpunkt-Versuchspositionen wird als das Quellenbild gewählt, das für die Z-Positionen der ersten beiden Randpunkte und zum Bestimmen jedes der beiden YX-Randpositionen der Randpunkte zu verwenden ist.
  • In einer Ausführungsform wird die XY-Randposition in dem ausgewählten Quellenbild gemäß bekannter Rand-Detektionsoperationen mit Spitzenwertgradienten und anderen ergänzenden Operationen entlang einer Abtastlinie bestimmt und die Schwellwerte und die Richtung des Randes, der zu verfolgen ist, werden dann anschließend automatisch gelernt. Es sollte jedoch beachtet werden, dass ein beliebiger anderer bekannter oder noch zu entwickelnder Randpunkt-Lokalisier-Algorithmus in den diversen Ausführungsformen der erfindungsgemäßen Systeme und Verfahren verwendbar ist.
  • Somit wird in Schritt 106 der Bildstapel verwendet, um die ersten beiden Randpunkte in dem einen oder mehreren Quellenbildern, die die besten fokussierten Randpunkte aufweisen, zu messen, wie dies durch ihre maximalen Kontrastwerte angedeutet ist, und danach geht die Routine zu einem Punkt A weiter, der in 6 fortgesetzt ist. Es sollte beachtet werden, dass es die Möglichkeit gibt, entweder die Halterung zu der Z-Position, die den maximalen Kontrastwert ergibt, physikalisch zu verfahren und ein neues Quellenbild für die folgende Randdetektion zu ermitteln, oder einfach das Quellenbild von dem Bildstapel, das am nächsten zu der berechneten Z-Position liegt, auszuwählen. Die erste Option liefert eine bessere Genauigkeit, während die zweite Option Messzeit einspart. Die Entscheidung in Hinblick auf diese Option kann auf der Grundlage der Genauigkeits- oder Geschwindigkeitsanforderungen getroffen werden. Somit kann in der zuvor beschriebenen beispielhaften Ausführungsform das Quellenbild, das den größten Wert des Spitzenwertgradienten entlang der verwendeten Abtastlinie aufweist, als das Bild ausgewählt werden, das den maximalen Kontrastwert ergibt. Die Z-Positionen der ersten beiden Randpunkte werden entsprechend dem ausgewählten Quellenbild (Bilder) bestimmt und dann schreitet die Routine weiter, um die XY-Rand-Detektionsoperationen entlang der Abtastlinie an dem Quellenbild (Bilder) auszuführen. Diese spezielle Ausführungsform zielt auf erhöhte Geschwindigkeit ab.
  • In einer zweiten beispielhaften Ausführungsform werden im Prinzip die diversen Spitzenwertgradienten, die zuvor erläutert sind, gegen die Z-Positionswerte ihrer entsprechenden Bilder in den Bildstapel aufgetragen. Dies erzeugt ein Diagramm von Spitzenwertgradientwerten oder allgemeiner gesagt von Kontrastwerten als eine Funktion der Z-Position. Eine Kurve, etwa eine quadratische Kurve, wird dann an diese aufgetragenen Werte angepasst. Diese Kurve und eine beliebige analoge Kurve wird im weiteren als eine Spitzenwertkontrastkurve für die nächste Randpunkt-Versuchsposition bezeichnet. Der Spitzenwert dieser Spitzenwertkontrastkurve entspricht einer Z-Position, die ein am besten fokussiertes Bild für die XY-Position entsprechend der ungefähren Spitzenwertgradientenposition entlang der Abtastlinie erzeugt. Die Z-Positionen der ersten beiden Randpunkte werden entsprechend dem ausgewählten Quellenbild (Bilder) bestimmt und dann geht die Routine weiter, um die XY-Rand-Detektionsoperationen entlang der Abtastlinie (Linien) auf dem Quellenbild (Bildern) auszuführen. Diese beispielhafte Ausführungsform zielt auf erhöhte Genauigkeit ab, wobei eine relativ hohe Ausführgeschwindigkeit beibehalten bleibt.
  • 6 ist ein Flussdiagramm, das eine Routine zum Überprüfen einer Position enthält, um sicher zu stellen, dass diese innerhalb eines aktuellen Videofensters liegt. In der automatischen Randerkennungs-Detektionsroutine ist es vor dem Ausführen einer Suche auf einer beliebigen Randpunkt-Versuchsposition notwendig, die Position zu überprüfen, um sicher zu stellen, dass diese innerhalb des aktuellen Videofensters liegt. Wenn diese nicht innerhalb des aktuellen Videofensters liegt, hat die Routine die Funktion, die Halterung zu einer berechneten Position zu verfahren.
  • Wie in 6 gezeigt ist, wird die Routine vom Punkt A fortgesetzt, der aus den 5 oder 8 herkommen kann. In einem Entscheidungsschritt 110 bestimmt die Routine, ob der Endpunkt ermittelt worden ist. Der Endpunkt ist in der Routine als der Randpunkt definiert, an dem die Routine endet, wenn dieser erreicht ist. Wenn daher die Routine im Schritt 110 entscheidet, dass der Endpunkt ermittelt ist, dann endet die Routine. Wenn der Endpunkt nicht ermittelt wird, dann schreitet die Routine zu einem Schritt 114 weiter. Der Schritt 114 kann auch von einem Punkt B aus den 9 oder 10 erreicht werden.
  • Im Schritt 114 berechnet die Routine die nächste Abtastlinie. In einem Entscheidungsschritt 116 wird in der Routine dann bestimmt, ob die nächste Abtastlinie sich in dem aktuellen Videofenster befindet. Wie zuvor erläutert ist, ist in einer beispielhaften Ausführungsform die nächste Abtastlinie senkrecht zu einer Extrapolationslinie analog zu der extrapolierten Linie E1A, die in 1A gezeigt ist, mit einem Abstand entlang der Extrapolationslinie angeordnet, der äquivalent zu einem aktuellen Abtastlinienabtastabstand oder Abtastintervall ist. In einer beispielhaften Ausführungsform wird ein Ersatzwert oder ein vorbestimmtes anfängliches Abtastlinienabtastintervall auf einen Wert gleich 20-mal dem Pixelabstand in dem aktuellen Bild festgelegt. Wenn die nächste Abtastlinie in dem aktuellen Videofenster liegt, dann geht die Routine zu einem Entscheidungsschritt 126 weiter. Im Entscheidungsblock 126 bestimmt die Routine, ob sie sich in einem Ring- bzw. Rotationsmodus befindet. Wenn die Routine sich in einem Ringmodus befindet, dann geht die Routine zu einem Punkt D weiter, der in 10 fortgeführt wird. Wenn sich die Routine nicht in dem Ringmodus befindet, dann geht die Routine zu einem Punkt C weiter, der in 7 fortgesetzt wird.
  • Es sei nun wieder auf den Entscheidungsschritt 116 verwiesen, wobei, wenn die aktuelle Abtastlinie nicht in dem aktuellen Videofenster liegt, die Routine dann zu einem Schritt 118 weiter schreitet. Im Schritt 118 berechnet die Routine die Bewegung in den X- und Y-Koordinaten und verfährt dann die Halterung. In einer beispielhaften Ausführungsform wird die Halterung so verfahren, dass eine hypothetische Linie, die die letzten beiden bestimmten Randpunkte in dem Koordinatenrahmen des neuen Videofensters verbindet, sich ungefähr durch den Mittelpunkt des neuen Videofensters erstreckt, und wobei die Enden der nächsten erwarteten Abtastlinie – entsprechend zu der nächsten Randpunkt-Versuchspunktposition – jeweils mit 5 bis 10 Pixelabständen aber mit mindestens 5 Pixelabständen von dem Rand des erwarteten Videofensters entfernt angeordnet sind. Das heißt, wenn der Rand sich entlang der aktuellen linear extrapolierten Bahn fortsetzt, wird von einer sicheren Toleranzgrenze aus in der Nähe eines Randes des Videofensters begonnen und diese verläuft in Richtung des Mittelpunktes des nächsten Videofensters. Eine derartige Positionierung der Halterung führt tendenziell zu einer Minimierung der notwendigen künftigen XY-Halterungsbewegung, wodurch ferner die Randerkennungs- und Messoperationszeit in diversen Ausführungsformen der erfindungsgemäßen Systeme und Verfahren verringert wird. In einem Entscheidungsschritt 120 bestimmt die Routine, ob die Halterung in korrekter Weise verfahren wurde. Wenn die Halterung nicht in korrekter Weise verfahren wurde, geht die Routine zu einem Schritt 122 weiter, wobei ein Fehler gemeldet wird und die Routine dann endet. Wenn die Halterung korrekt verfahren wurde, dann geht die Routine zu einem Entscheidungsschritt 124 weiter.
  • Im Entscheidungsschritt 124 bestimmt die Routine, ob sie sich in einem Ring- bzw. Rotationsmodus befindet. Wenn die Routine in einem Ringmodus ist, dann geht die Routine zu einem Punkt E weiter, der in 10 weitergeführt wird. Wenn die Routine nicht in einem Ringmodus ist, dann geht die Routine zu einem Punkt C weiter, der in 7 weitergeführt ist.
  • 7 ist ein Flussdiagramm, das Routinen zum Extrapolieren von Randpunkt-Versuchspositionen und zum Lokalisieren von Randpunkten enthält. Zusammengefasst gesagt, die Routinen aus 7 beginnen damit, dass der Stapel an Bildern verwendet wird, um den Kontrastspitzenwert, etwa den zuvor beschriebenen maximalen Spitzenwertgradienten, für eine nächste XY-Randpunkt-Versuchsposition zu finden. Wenn ein Kontrastspitzenwert lokalisiert ist, wird das entsprechende Quellenbild gewählt und ein neuer Randpunkt wird lokalisiert und gespeichert und der Randsuchvorgang wird fortgesetzt. Wenn kein Kontrastspitzenwert lokalisiert wird und eine Z-Extrapolation noch nicht versucht worden ist, dann wird die Z-Höhe für die nächste XY-Randpunkt-Versuchsposition extrapoliert, ein Quellenbild aufgenommen und der Randpunkt wird erneut in diesem Quellenbild gesucht. Wenn dennoch kein neuer Randpunkt ermittelt wird, und wenn ein Bildstapel an der Z-Höhe des vorhergehenden Randpunktes noch nicht aufgenommen worden ist, dann wird ein neuer Bildstapel erhalten, indem die Z-Höhe des zuletzt detektierten Randpunktes als der Mittelpunkt genommen wird. Wenn noch immer kein neuer Randpunkt ermittelt wird, dann wird eine Halbierungsroutine aufgerufen, wie dies detaillierter im Weiteren mit Bezug zu 9 beschrieben wird.
  • Wie in 7 gezeigt ist, wird die Routine von einem Punkt C aus weitergeführt, der aus den 6 oder 9 kommen kann. Zunächst verwendet die Routine ein zweidimensionales automatisches Spurerkennungsverfahren in der Ebene des Bildes des zuletzt bestimmten Randpunktes, um die nächste XY-Randpunkt-Versuchsposition zu extrapolieren, wie dies mit Bezug zu den 1A1C beschrieben ist. An einem Entscheidungsschritt 130 bestimmt die Routine, ob ein Bildstapel für die nächste XY-Randpunkt-Versuchsposition verfügbar ist und noch nicht versucht worden ist. Wenn ein Bildstapel für die nächste XY-Randpunkt-Versuchsposition nicht verfügbar ist oder der Bildstapel bereits versucht worden ist, dann schreitet die Routine zu einem Entscheidungsblock 138 weiter, der im Weiteren detaillierter beschrieben ist. Wenn im Entscheidungsschritt 130 die Routine bestimmt, dass ein Bildstapel für die nächste XY-Randpunkt-Versuchsposition verfügbar ist oder noch nicht versucht worden ist, dann geht die Routine zu einem Schritt 132 weiter.
  • Im Schritt 132 wird in der Routine der Bildstapel verwendet, um den maximalen Kontrastwert für die nächste XY-Randpunkt-Versuchsposition zu ermitteln. Der Vorgang zur Anwendung einer Spitzenwertkontrastkurve für die nächste XY-Randpunkt-Versuchsposition ist zuvor beschrieben worden und daher wird eine detaillierte Beschreibung hier weggelassen. Beachtet werden sollte, dass dieser Vorgang des Verwendens des Bildstapels eine beste Versuchsposition erzeugt, aber keine physikalische Bewegung erfordert und daher deutlich Prozesszeit einspart.
  • In einem Entscheidungsschritt 134 bestimmt die Routine, ob ein Kontrastspitzenwert ermittelt worden ist. Wenn ein Kontrastspitzenwert gefunden wurde, dann geht die Routine zu einem Schritt 136 weiter. Im Schritt 136 führt die Routine eine Abtastung mit dem Werkzeug durch, um einen Randpunkt in dem Quellenbild zu erhalten, das den Spitzenwertkontrast aufweist. Die Routine geht dann zu einem Punkt F weiter, der in 8 weiter geführt wird.
  • Wenn in einem Entscheidungsschritt 134 von der Routine bestimmt wird, dass ein maximaler Kontrastwert nicht ermittelt worden ist, dann geht die Routine zu einem Entscheidungsschritt 138 weiter. Im Entscheidungsschritt 138 bestimmt die Routine, ob einen Z-Extrapolation versucht worden ist. Wenn eine Z-Extrapolation versucht worden ist, dann geht die Routine zu einem Entscheidungsschritt 146 weiter, der im Folgenden detaillierter beschrieben ist. Wenn im Entscheidungsschritt 138 die Routine bestimmt, dass eine Z-Extrapolation nicht versucht worden ist, dann geht die Routine zu einem Schritt 140 weiter. Im Schritt 140 führt die Routine die Z-Extrapolation durch. In einer bevorzugten Ausführungsform kann die Z-Extrapolation durchgeführt werden, indem die Z-Höhe für die nächste XY-Randpunkt-Versuchsposition abgeschätzt wird, indem diese unter Verwendung der Z-Höhen und der XY-Positionen der beiden vorhergehenden Randpunkte extrapoliert wird. Das heißt, die extrapolierte Z-Höhe ist eine lineare Extrapolation aus den XYZ-Koordinaten der letzten beiden zuvor bestimmten Randpunkte auf der Grundlage der erwarteten XY-Position des nächsten zu bestimmenden Randpunktes. Ein neues Bild wird an der extrapolierten Z-Position aufgenommen, das die erwartete XY-Position zum Lokalisieren der nächsten Randpunkt-Versuchsposition enthält, und anschließend geht die Routine zu einem Schritt 142 weiter.
  • Im Schritt 142 betreibt die Routine eine Abtastung mit dem Werkzeug, um einen Randpunkt zu erhalten. In einem Entscheidungsschritt 144 bestimmt die Routine, ob ein Randpunkt gefunden worden ist. Wenn ein Randpunkt gefunden worden ist, dann geht die Routine zu einem Punkt G weiter, der in 8 weiter geführt ist. Wenn kein Randpunkt gefunden worden ist, dann geht die Routine zu einem Entscheidungsschritt 146 weiter.
  • Im Entscheidungsschritt 146 bestimmt die Routine, ob ein Bildstapel bereits aufgenommen worden ist, der die gegenwärtige Position enthält und der um die Z-Höhe des zuletzt detektierten Randpunktes herum angeordnet ist. In einer bevorzugten Ausführungsform ist die vorliegende Position die erwartete XY-Position der nächsten Randpunkt-Versuchsposition. Wenn ein Bildstapel bereits aufgenommen worden ist, der die aktuelle Position enthält und der um die Z-Höhe des zuletzt detektierten Randpunktes herum angeordnet ist, dann geht die Routine zu einem Punkt H weiter, der in 9 weiter geführt wird. Wenn die Routine bestimmt, dass ein Bildstapel bereits an der gegenwärtigen Position aufgenommen worden ist, und um die Z-Höhe des zuletzt detektierten Randpunktes herum angeordnet ist, dann geht die Routine zu einem Schritt 148 weiter. Im Schritt 148 nimmt die Routine einen neuen Stapel aus Bildern unter Anwendung der Z-Höhe des zuletzt detektierten Randpunktes als Mittelpunkt auf. Die Routine kehrt dann zu dem Entscheidungsschritt 130 zurück.
  • 8 ist ein Flussdiagramm, das Routinen zur Aktualisierung eines Randpunkt-Speichers oder -Puffers und zum Zurücksetzen eines Suchmodus enthält. Die Routine wird von einem Punkt F aus fortgesetzt, der aus den 7 oder 10 kommen kann, oder von einem Punkt G aus, der von 7 kommen kann. An einem Schritt 150 aktualisiert die Routine den Punktespeicher. Der Punktespeicher enthält im Wesentlichen alle bestimmten Koordinaten für alle bestimmten Randpunkte des aktuellen Randerkennungsvorganges. In einem Schritt 152 wird der Randverfolgungs- bzw. Erkennungssuchmodus zurückgesetzt. Die Routine geht dann zu einem Punkt A weiter, der in 6 fortgesetzt wird.
  • 9 ist ein Flussdiagramm, das eine Routine enthält, in der das Abtasten in dem Abtastintervall für die Extrapolationslinie halbiert wird. Zusammengefasst kann gesagt werden, dass in dieser Routine das Abtastlinien-Abtastintervall zur Extrapolation anfänglich halbiert wird. Dann wird der Randerkennungsprozess zum Beginn der 7 umgeleitet. Wenn die Suche erfolgreich ist, wird der Suchvorgang zum Anfang der 7 umgeleitet und das Extrapolationsintervall wird auf den vorbestimmten Wert zurückgesetzt. Ansonsten wird die Routine wiederholt, bis das Abtastlinien-Abtastintervall ein vorbestimmtes Kriterium erfüllt. Wenn das vorbestimmte Kriterium erfüllt ist, dann wird eine Ringsuche aufgerufen, wie dies detaillierter mit Bezug zu 10 beschrieben ist.
  • Wie in 9 gezeigt ist, wird die Routine von einem Punkt H aus fortgesetzt, der aus 7 kommt. In einem Entscheidungsschritt 160 bestimmt die Routine, ob das Abtastlinien-Abtastintervall so klein geworden ist, dass dieses das Intervallkriterium erfüllt, d. h. einem minimalen zulässigen Abstand zwischen den Abtastlinien entspricht. Wenn das Intervallkriterium erfüllt ist, dann geht die Routine zu einem Schritt 162 weiter. Im Schritt 162 wird der Suchmodus auf den Ringmodus gesetzt, und die Routine geht zu einem Punkt B weiter, der in 6 weiter geführt wird. Wenn im Schritt 160 das Intervallkriterium nicht erfüllt worden ist, dann geht die Routine zu einem Schritt 164 weiter. Im Schritt 164 wird das Abtastlinien-Abtastintervall für die Extrapolation halbiert. Die Routine geht dann zu einem Punkt C weiter, der in 7 fortgeführt wird.
  • 10 ist ein Flussdiagramm, das eine Routine enthält, in der ein Ringmodus verwendet wird. Zusammengefasst gilt: Wenn es keinen Stapel aus Bildern gibt, der an einem benachbarten detektierten Randpunkt aufgenommen ist, nimmt die Routine zuerst einen neuen Stapel aus Bildern auf, wobei die Z-Höhe des zuletzt detektierten Punktes als der Z-Abtastmittelpunkt verwendet wird. Ähnlich zu der Ringsuche aus dem zweidimensionalen konventionellen Verfahren, das zuvor beschrieben ist, wiederholt die Routine den Suchvorgang an mehreren Randpunkt-Versuchspositionen/Richtungen, die tangential zum Umfang eines um den zuletzt detektierten Randpunkt angeordneten Kreises sind. Der Radius des Kreises ist anfangs gleich dem anfänglichen Abtastlinien-Abtastintervall.
  • In einer Ausführungsform dieser Routine wird die Z-Extrapolation unter Verwendung der beiden zuvor detektierten Randpunkte nicht angewendet, da der Ringmodus an sich anzeigt, dass eine Diskontinuität in einem Rand angetroffen worden ist. Unter derartigen Bedingungen kann bei Vorhandensein einer Diskontinuität mit unbekannten Abmessungen eine Extrapolation zur Detektion nicht korrekter Randpunkte beitragen.
  • Wie in 10 gezeigt ist, wird die Routine von einem Punkt D aus fortgesetzt, der von 6 herkommt. In einem Entscheidungsschritt 170 bestimmt die Routine, ob ein Bildstapel an dem zuletzt detektierten benachbarten Randpunkt bereits aufgenommen worden ist. Es sollte beachtet werden, dass der zuletzt detektierte benachbarte Randpunkt der zuvor diskutierte ”Dreh-”Punkt” für den aktuellen Satz an Dreh- bzw. Rotationsoperationen ist. Es ist möglich, dass der zuletzt detektierte benachbarte Rand auf einem einzelnen Quellenbild basiert war, das auf der Grundlage einer extrapolierten Z-Position aufgenommen wurde. Somit wird bei Vorhandensein einer unbekannten Diskontinuität ein Bildstapel aufgenommen, um zuverlässige Rotationsrand-Detektionsoperationen zu unterstützen. Wenn ein Bildstapel an dem zuletzt detektierten benachbarten Randpunkt aufgenommen worden ist, dann geht die Routine zu einem Schritt 174 weiter, der im Folgenden detaillierter beschrieben ist. Wenn im Schritt 170 die Routine bestimmt, dass ein Bildstapel an dem zuletzt detektierten benachbarten Randpunkt nicht aufgenommen worden ist, dann geht die Routine zu einem Schritt 172 weiter.
  • Im Schritt 172 nimmt die Routine einen neuen Stapel aus Bildern auf. Der Schritt 172 kann auch von Punkt E von 6 aus erreicht werden. Im Schritt 174 verwendet die Routine den Bildstapel, um den maximalen Kontrastwert zu ermitteln, wie dies zuvor beschrieben ist. In einem Entscheidungsschritt 176 bestimmt die Routine, ob der maximale Kontrastwert gefunden worden ist. Wenn kein maximaler Kontrastwert gefunden worden ist, dann geht die Routine zu einem Entscheidungsschritt 178 weiter, der im Folgenden detaillierter beschrieben ist. Wenn im Entscheidungsschritt 176 ein maximaler Kontrastwert ermittelt worden ist, dann geht die Routine zu einem Schritt 180 weiter, in dem die Abtastung mit dem Werkzeug ausgeführt wird, um den Randpunkt zu erhalten. Die Routine geht dann zu einem Punkt F weiter, der in 8 fortgesetzt ist.
  • Im Entscheidungsschritt 178 bestimmt die Routine, ob die Drehungen, d. h. die Drehinkremente, versucht worden sind. Wenn nicht alle Drehungen versucht worden sind, dann geht die Routine zu einem Punkt B weiter, der in 6 weitergeführt wird. Wenn im Entscheidungsschritt 178 die Routine bestimmt wird, dass alle Drehungen versucht worden sind, dann geht die Routine zu einem Schritt 182 weiter, in dem ein Fehler angezeigt wird, und die Routine endet.
  • Es sollte betont werden, dass die in den 310 offenbarten Verfahren dahingehend vorteilhaft sind, dass diese in genauer Weise die dreidimensionale Randkontur eines Objekt erkennen können, ohne dass nicht-relevante Operationen erforderlich sind und insbesondere ohne dass ein zusätzliches physikalisches Verfahren des Abbildungssystems erforderlich ist. Wie in den 2A2C dargestellt ist, können Objekte dreidimensionale Randkonturen aus einer Reihe von Gründen aufweisen, wozu eine ungeeignete Justierung zur XY-Ebene, Unregelmäßigkeiten in der Z-Richtung und Formen gehören, die an sich dreidimensional sind. Das offenbarte Verfahren verwendet vorteilhafterweise einen Stapel aus gespeicherten Bildern und/oder extrapolierten Z-Positionen als die Basis für Quellenbilder zur Durchführung von Rand-Detektieroperationen, anstatt zu versuchen, zeitaufwendige Autofokus-Operationen anzuwenden. Somit sparen die erfindungsgemäßen Systeme und Verfahren deutlich an Bewegungs- und Verarbeitungszeit im Vergleich zu alternativen Verfahren ein. Wenn ferner eine höchstgenaue Z-Messung von Randpunkten nicht beabsichtigt ist, beispielsweise wenn die Koordinaten eines relativ flachen Teils zu messen sind, das Teil sich aber dennoch mehr als eine Schärfentiefe in der Z-Achsenrichtung erstreckt, beschleunigt das Abschätzen der maximalen Kontrast–Z-Position eines Randpunktes auf der Grundlage bestehender Bilder deutlich den Vorgang der Randerkennung und der Randpunkt-Positionsbestimmung.
  • Die diversen Ausführungsformen der dreidimensionalen automatischen Rand-Detektionsoperationen gemäß dieser Erfindung sparen Zeit ein, wenn das Abbildungssystem in einem ”Lern”-Modus betrieben wird, in dem es programmiert wird, um diverse Eigenschaften einer relativ langen Randkontur zu messen, die eine ausgedehnte Tiefe aufweist und die mehrere Videobilder durchlaufen könnte. Da ferner diese Operationen die Fähigkeit haben, den Bahnverlauf auf der Grundlage der Randkonturinformation eines speziellen Beispiels in Echtzeit zu bestimmen oder zu modifizieren, hilft dies ebenso, um Laufzeitfehler zu vermeiden, die bei Randwerkzeugen auftreten, die sich auf eine fixierte Position und auf eine vorprogrammierte Randkonfiguration stützen.
  • Es sollte beachtet werden, dass alle der oben beschriebenen Verfahrensschritte vorteilhafterweise auf einem Computer für allgemeine Zwecke ausgeführt werden können und diese ebenso vorteilhafterweise auf einer speziellen Hardware, etwa einem Gate-Array, einem anwendungsspezifischen integrierten Schaltungsbaustein oder einem kundenspezifischen Schaltungsbaustein implementierbar ist. Ferner umfasst die Erfindung die Verfahrensschritte, die hierin erläutert und beansprucht sind, in einer Weise, die als computerlesbare Instruktionen ausgedrückt sind und auf einem magnetischen und optischen Speichermedium gespeichert sind, um damit einen Herstellungsartikel bereitzustellen, der die Erfindung repräsentiert.
  • Es sollte auch beachtet werden, dass viele alternative Anordnungen der zuvor beschriebenen Schritte, Operationen und Blöcke möglich sind und für einen Fachmann offenkundig sind. Es ist daher zu beachten, dass diverse Änderungen durchgeführt werden können, ohne vom Grundgedanken und Schutzbereich der Erfindung abzuweichen, obwohl die bevorzugte Ausführungsform und diverse andere Ausführungsformen der Erfindung hierin dargestellt und beschrieben sind.
  • Bezugszeichenliste
  • Fig. 1A–Fig. 1CStand der TechnikFig. 3
  • 50
    Berechnen der XY-Halterungsposition und aktuelle Operationen, um zu bestimmen, wenn der Bildstapel für die ausgewählte Position aufgenommen werden soll
    52
    Soll Bildstapel aufgenommen werden?
    54
    Aufnahmen des Bildstapels und Speichern zur Verwendung bei der Berechnung von Brennpunktpositionen für Versuchspositionen in dem ausgewählten XY-Bereich
    Return
    Gehe zurück
    Yes
    Ja
    No
    Nein
    Fig. 4
    70
    Bewerte, ob die Z-Höhenextrapolation für die nächste Randpunkt-Versuchsposition angewendet werden soll.
    72
    Z-Höhenextrapolation verwenden?
    74
    Verwenden der Z-Höhen vorhergehender Randpunkte, um die Extrapolation der Z-Höhe des Randpunktes zu berechnen und Verwenden der extrapolierten Z-Höhe für die nächste Randpunkt-Versuchsposition
    Return
    Gehe zurück
    Fig. 5
    102
    Spezifizieren der ersten beiden Abtastlinien und des Z-Suchbereichs
    104
    Aufnehmen und Speichern eines Stapels aus Bildern in dem Suchbereich
    106
    Verwenden des Bildstapels, um den Fokus zu finden, Messen der ersten beiden Randpunkte
    A
    zu 6
    Fig. 6
    A
    von 5 & 8
    110
    Endpunkt gefunden?
    B
    von 9 & 10
    114
    Berechne nächste Abtastlinie
    116
    In aktuellem Video?
    118
    Berechnen der Bewegung in X und Y; Verfahren der Halterung
    120
    Halterung richtig verfahren?
    122
    Zeige Fehler an und Ende
    124
    Rotationsmodus?
    126
    Rotationsmodus?
    E
    zu 10
    C
    zu 7
    D
    zu 10
    No
    Nein
    Yes
    Ja
    Fig. 7
    C
    von 6 & 9
    130
    Bildstapel verfügbar und noch nicht versucht?
    132
    Verwende Bildstapel, um Kontrastspitzenwert zu finden
    134
    Spitzenwert gefunden?
    138
    Z-Extrapolation versucht?
    140
    Ausführen der Z-Extrapolation
    142
    Ausführen der Abtastung mit Werkzeug, um Randpunkt zu erhalten
    144
    Randpunkt ermittelt?
    146
    Bildstapel bei Z-Höhe? des letzten detektierten Randpunktes aufgenommen?
    148
    Aufnehmen eines neuen Bildstapels
    H
    zu 9
    G
    zu 8
    F
    zu 8
    136
    Ausführen einer Abtastung mit Werkzeug, um Randpunkt zu erhalten
    No
    Nein
    Yes
    Ja
    Fig. 8
    G
    von 7
    F
    von den 7 und 10
    150
    Aktualisieren des Punktspeichers
    152
    Zurücksetzen des Suchmodus
    A
    zu 6
    Fig. 9
    H
    von 7
    160
    Intervallkriterium?
    162
    Setze Suchmodus auf Rotation
    B
    zu 6
    164
    Halbieren des Abtastintervalls
    C
    zu 7
    Fig. 10
    D
    von 6
    170
    Stapel bei letztem detektiertem benachbarten Randpunkt aufgenommen?
    172
    Aufnehmen eines neuen Stapels mit Bildern
    174
    Verwenden des Bildstapels, um Kontrastspitzenwert zu finden
    176
    Spitzenwert gefunden?
    178
    Alle Drehungen versucht?
    B
    von 6
    182
    Fehler melden und Stop
    180
    Durchführen der Abtastung mit Werkzeug, um Randpunkt zu erhalten
    F
    zu 8
    E
    von 6

Claims (14)

  1. Verfahren zum Betreiben eines Abbildungssystems zur Bestimmung eines Satzes von XYZ-Koordinaten für mehrere Randpunkte entlang einer Randkontur eines Objektes, wobei die mehreren Randpunkte sich über einen Tiefenbereich erstrecken können, der größer als die Schärfentiefe eines Bildes der Randkontur ist, wobei das Verfahren folgende iterativ auszuführende Schritte umfasst: Bestimmen der XYZ-Koordinaten für einen Randpunkt anhand eines Randpunktbildes; Automatisches Bestimmen einer nächsten XY-Randpunkt-Versuchsposition zumindest teilweise auf der Grundlage der XY-Position des vorhergehenden Randpunktes; Bestimmen eines nächsten Randpunktbildes auf der Grundlage der nächsten XY-Randpunkt-Versuchsposition und zuvor gesammelter Daten; Suchen nach dem nächsten Randpunkt in dem nächsten Randpunktbild; wobei das nächste Randpunktbild innerhalb mindestens eines Iterationsschritts dadurch bestimmt wird, dass die zuvor gesammelten Daten mehrere Bilder umfassen, die an mehreren Fokuspositionen aufgenommen sind, und das jenige Bild der mehreren Bilder ausgewählt wird, das als jenes mit dem besten Fokus in der Nähe der nächsten XY-Randpunkt-Versuchsposition bestimmt wird, zur Verwendung als das nächste Randpunktbild.
  2. Verfahren nach Anspruch 1, wobei das nächste Randpunktbild innerhalb mindestens eines Iterationsschrittes dadurch bestimmt wird, dass die zuvor gesammelten Daten die vorbestimmten Koordinaten für den letzten vorhergehenden Randpunkt und für einen vorhergehenden Randpunkt vor dem letzten vorhergehenden Randpunkt umfassen, eine abgeschätzte Z-Koordinate in der Nähe der nächsten XY-Randpunkt-Versuchsposition bestimmt wird, und ein nächstes Randpunktbild an einer Fokusposition auf der Grundlage der abgeschätzten Z-Koordinate aufgenommen wird.
  3. Das Verfahren nach Anspruch 2, wobei der Schritt des Bestimmens einer abgeschätzten Z-Koordinate in der Nähe der nächsten XY-Randpunkt-Versuchsposition umfasst: Bestimmen einer Linie durch die bestimmten Koordinaten für den letzten vorhergehenden Randpunkt und den vorhergehenden Randpunkt vor dem letzten vorhergehenden Randpunkt; und Bestimmen einer extrapolierten Z-Koordinate auf der Linie in der Nähe der nächsten XY-Randpunkt-Versuchsposition.
  4. Das Verfahren nach Anspruch 1, wobei das nächste Randpunktbild innerhalb mindestens eines Iterationsschrittes dadurch bestimmt wird, dass die zuvor gesammelten Daten mehrere Bilder umfassen, die an mehreren entsprechenden Fokuspositionen aufgenommen sind, eine Fokus- Eigenschaft in der Nähe der nächsten XY-Randpunkt-Versuchsposition für mindestens einige der mehreren Bilder bestimmt wird, eine Kurve an die bestimmten Fokus-Eigenschaften als eine Funktion der entsprechenden Fokuspositionen angepasst wird, eine beste Fokusposition entsprechend einem Spitzenwert der angepassten Kurve bestimmt wird; und ein nächstes Randpunktbild auf der Grundlage der bestimmten besten Fokusposition aufgenommen wird.
  5. Das Verfahren nach Anspruch 4, wobei die Fokus-Eigenschaft einen Kontrastwert umfasst.
  6. Das Verfahren nach Anspruch 5, wobei der Kontrastwert einen Spitzengradientenwert umfasst, der entlang einer Abtastlinie in den mindestens einigen der mehreren Bilder bestimmt ist.
  7. Das Verfahren nach Anspruch 6, wobei die gleiche Abtastlinienposition im Schritt zum Suchen des nächsten Randpunktes in dem nächsten Randpunktbild verwendet wird.
  8. Das Verfahren nach Anspruch 7, wobei der gleiche Spitzengradientenwert im Schritt des Suchens des nächsten Randpunktes in dem nächsten Randpunktbild verwendet wird.
  9. Das Verfahren nach Anspruch 1, wobei die zuvor gesammelten Daten die Z-Koordinate für den letzten vorhergehenden Randpunkt umfassen und wobei der Schritt des Bestimmens eines nächsten Randpunktbildes umfasst: Bestimmen mehrerer Fokuspositionen zumindest teilweise auf der Grundlage der Z-Koordinate für den letzten vorhergehenden Randpunkt; Aufnehmen mehrerer Bilder entsprechend zu den bestimmten mehreren Fokuspositionen, wobei die nächste XY-Randpunkt-Versuchsposition enthalten ist; und Bestimmen eines nächsten Randpunktbildes auf der Grundlage der aufgenommen mehreren Bilder.
  10. Das Verfahren nach Anspruch 1, wobei der Schritt des Suchens des nächsten Randpunktes in dem nächsten Randpunktbild umfasst: Durchführen mindestens einer Rand-Detektionsoperation entlang einer Abtastlinie, die unter einem vorliegenden Abtastlinien-Abtastintervall von dem letzten zuvor bestimmten Randpunkt beabstandet ist und mit der nächsten XY-Randpunkt-Versuchsposition in dem nächsten Randpunktbild übereinstimmt.
  11. Das Verfahren nach Anspruch 10, wobei, wenn die mindestens eine Rand-Detektionsoperation entlang einer Abtastlinie, die mit der nächsten XY-Randpunkt-Versuchsposition übereinstimmt, nicht in der Lage ist, einen Randpunkt zu detektieren, eine neue Abtastlinie definiert wird, die um die Hälfte des momentanen Abtastlinien-Abtastintervalls von dem letzten zuvor bestimmten Randpunkt beabstandet ist, und wobei eine neue nächste XY-Randpunkt-Versuchsposition ermittelt wird, die mit der neuen Abtastlinie übereinstimmt, und wobei der zweite Bestimmungsschritt und der Suchschritt wiederholt werden.
  12. Das Verfahren nach Anspruch 11, wobei, wenn die Hälfte des momentanen Abtastlinien-Abtastintervall kleiner als ein vorbestimmtes minimales Abtastlinien-Abtastintervall ist, der Suchschritt ferner umfasst: Definieren eines neuen Abtastlinien-Abtastintervalls, das größer als das momentane Abtastlinien-Abtastintervall ist, und Ausführen von Rand-Detektionsoperationen entlang von Abtastlinien, die in mehreren Richtungen bestimmt sind, die tangential zu einem kreisförmigen Muster sind, das um den letzten zuvor bestimmten Randpunkt angeordnet ist, und das einen Radius aufweist, der gleich dem neuen Abtastlinien-Abtastintervall ist, bis ein Randpunkt detektiert wird.
  13. Das Verfahren nach Anspruch 1, wobei das Verfahren zum Betreiben eines Abbildungssystems während eines Lernbetriebsmodus angewendet wird.
  14. Das Verfahren nach Anspruch 1, wobei das Verfahren zum Betreiben eines Abbildungssystems während eines Laufzeitbetriebsmodus angewendet wird.
DE10254435A 2001-11-21 2002-11-21 Verfahren zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung Expired - Fee Related DE10254435B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/990,238 US7120286B2 (en) 2001-11-21 2001-11-21 Method and apparatus for three dimensional edge tracing with Z height adjustment
US09/990238 2001-11-21

Publications (2)

Publication Number Publication Date
DE10254435A1 DE10254435A1 (de) 2003-05-28
DE10254435B4 true DE10254435B4 (de) 2013-02-21

Family

ID=25535941

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10254435A Expired - Fee Related DE10254435B4 (de) 2001-11-21 2002-11-21 Verfahren zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung

Country Status (3)

Country Link
US (1) US7120286B2 (de)
JP (1) JP4009525B2 (de)
DE (1) DE10254435B4 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668362B2 (en) 2000-05-03 2010-02-23 Aperio Technologies, Inc. System and method for assessing virtual slide image quality
WO2003036566A2 (de) * 2001-10-22 2003-05-01 Leica Microsystems Wetzlar Gmbh Verfahren und vorrichtung zur erzeugung lichtmikroskopischer, dreidimensionaler bilder
JP5134365B2 (ja) 2004-05-27 2013-01-30 アペリオ・テクノロジーズ・インコーポレイテッド 三次元仮想スライドを生成しかつ可視化するためのシステム及び方法
US7365310B2 (en) * 2005-06-27 2008-04-29 Agilent Technologies, Inc. Increased depth of field for high resolution imaging for a matrix-based ion source
US8164622B2 (en) 2005-07-01 2012-04-24 Aperio Technologies, Inc. System and method for single optical axis multi-detector microscope slide scanner
JP2007108835A (ja) * 2005-10-11 2007-04-26 Keyence Corp 画像処理装置
US7636466B2 (en) * 2006-01-11 2009-12-22 Orbotech Ltd System and method for inspecting workpieces having microscopic features
US7567713B2 (en) * 2006-02-08 2009-07-28 Mitutoyo Corporation Method utilizing intensity interpolation for measuring edge locations in a high precision machine vision inspection system
JP2007293757A (ja) * 2006-04-27 2007-11-08 Nikon Corp 画像抽出方法、画像抽出装置及び対象物認識システム
US8009903B2 (en) * 2006-06-29 2011-08-30 Panasonic Corporation Image processor, image processing method, storage medium, and integrated circuit that can adjust a degree of depth feeling of a displayed high-quality image
US7529404B2 (en) * 2007-06-20 2009-05-05 Ahdoot Ned M Digital video filter and image processing
US7980067B2 (en) 2007-12-20 2011-07-19 Detroit Diesel Corporation Method to operate vehicle with internal combustion engine and exhaust aftertreatment system according to detected drive cycles
DE102009015594B4 (de) * 2009-03-30 2015-07-30 Carl Zeiss Sms Gmbh Verfahren und Vorrichtung zur subpixelgenauen Positionsbestimmung einer Kante einer Markerstruktur in einer Vielzahl von Aufnahmepixeln aufweisenden Aufnahme der Markerstruktur
US8581162B2 (en) * 2009-12-08 2013-11-12 Mitutoyo Corporation Weighting surface fit points based on focus peak uncertainty
US8957956B2 (en) * 2010-06-09 2015-02-17 Honeywell International Inc. Method and system for iris image capture
CN101949687B (zh) * 2010-09-19 2012-05-02 天津大学 基于视觉测量的汽车车门的检测方法
US8538077B2 (en) * 2011-05-03 2013-09-17 Microsoft Corporation Detecting an interest point in an image using edges
DE102011114932A1 (de) * 2011-10-06 2013-04-11 Hommel-Etamic Gmbh Verfahren zur Ermittlung einer Kontur einer Oberfläche
US8995749B2 (en) * 2013-03-28 2015-03-31 Mitutoyo Corporation Enhanced edge detection tool for edges of irregular surfaces
US9350921B2 (en) 2013-06-06 2016-05-24 Mitutoyo Corporation Structured illumination projection with enhanced exposure control
US9456120B2 (en) * 2013-07-11 2016-09-27 Mitutoyo Corporation Focus height repeatability improvement in a machine vision inspection system
US9740190B2 (en) * 2014-10-09 2017-08-22 Mitutoyo Corporation Method for programming a three-dimensional workpiece scan path for a metrology system
CN114779459A (zh) 2017-09-29 2022-07-22 徕卡生物系统成像股份有限公司 实时自动聚焦扫描

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475507A (en) * 1992-10-14 1995-12-12 Fujitsu Limited Color image processing method and apparatus for same, which automatically detects a contour of an object in an image
DE19941771A1 (de) * 1999-09-02 2001-03-15 Zoller Gmbh & Co Kg E Verfahren zur Vermessung von Werkstücken, insbesondere ein- oder mehrschneidigen Zerspanungswerkzeugen

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57164310A (en) * 1981-04-03 1982-10-08 Hitachi Ltd Automatic assembling device
US4657393A (en) 1983-12-29 1987-04-14 Robotic Vision Systems, Inc. Pattern optimization when measuring depth to a surface using lens focusing
US4688184A (en) 1984-03-29 1987-08-18 Mitsubishi Denki Kabushiki Kaisha System for measuring three-dimensional coordinates
JPH07122908B2 (ja) * 1991-03-12 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション 3次元のソリッド物体を表す表示可能情報を生成する装置と方法
US5987172A (en) 1995-12-06 1999-11-16 Cognex Corp. Edge peak contour tracker
US6044170A (en) * 1996-03-21 2000-03-28 Real-Time Geometry Corporation System and method for rapid shape digitizing and adaptive mesh generation
JP3309743B2 (ja) 1996-11-27 2002-07-29 富士ゼロックス株式会社 形状測定方法及び装置
JP3593302B2 (ja) * 1999-06-15 2004-11-24 株式会社ミツトヨ 画像測定装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475507A (en) * 1992-10-14 1995-12-12 Fujitsu Limited Color image processing method and apparatus for same, which automatically detects a contour of an object in an image
DE19941771A1 (de) * 1999-09-02 2001-03-15 Zoller Gmbh & Co Kg E Verfahren zur Vermessung von Werkstücken, insbesondere ein- oder mehrschneidigen Zerspanungswerkzeugen

Also Published As

Publication number Publication date
JP4009525B2 (ja) 2007-11-14
US7120286B2 (en) 2006-10-10
DE10254435A1 (de) 2003-05-28
US20030095700A1 (en) 2003-05-22
JP2003161609A (ja) 2003-06-06

Similar Documents

Publication Publication Date Title
DE10254435B4 (de) Verfahren zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung
DE102014205726B4 (de) Verfahren zum bestimmen von profildaten für ein kantenmerkmal in einem inspektionssystem mit maschineller bildverarbeitung
EP1197935B1 (de) Vorrichtung und Verfahren zur Erfassung von Objekten
EP1173749A2 (de) Bildbearbeitung zur vorbereitung einer texturnalyse
DE19525561C2 (de) 3D-Meßvorrichtung
EP3207333B1 (de) Biegewinkel-messverfahren
DE102017212371A1 (de) Bestimmung einer Marke in einem Datensatz mit mittels zumindest eines Laserscanners erfassten dreidimensionalen Oberflächen-Koordinaten einer Szene
DE102016200386A1 (de) Verfahren zum Steuern eines Manipulatorsystems
DE602004009875T2 (de) Verfahren zur Bildverarbeitung für Profilbestimmung mittels strukturiertem Lichts
EP3089106A1 (de) Verfahren zur reflexionskorrektur von abbildungen und diesbezügliche vorrichtungen
DE102014006717A1 (de) Verfahren zur Erzeugung einer dreidimensionalen Information eines Objektes mit einem Digitalmikroskop und Datenverarbeitungsprogramm zur Abarbeitung des Verfahrens
DE69915655T2 (de) Apparat zur abbildung und zur inspektion der oberfläche von dreidimensionalen objekten
DE19953063A1 (de) Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
DE102018101023B3 (de) Verfahren zur Abstandsmessung mittels trajektoriebasierter Triangulation
DE102020121396A1 (de) Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn
EP3048456B1 (de) Verfahren zur lokalisierung von greifpunkten von objekten
EP3073446A1 (de) Verfahren zum darstellen einer fahrzeugumgebung eines fahrzeuges
DE102007038785A1 (de) Verfahren und Vorrichtung zum Bestimmen von Geometriedaten eines Messobjekts
EP3820805B1 (de) Zuverlässige erkennung von containerkran und geschirr
DE102017117594A1 (de) Automatisierte Erkennung einer Scheinwerferfehlstellung
DE102020131808A1 (de) Vorrichtung zur Unterstützung von Kalibrierungsvorgängen bei Industriekameras
DE112021000595T5 (de) Bildverarbeitungssystem
DE102019100660B4 (de) Verfahren zur Transformation zwischen Bildpunkten und Objektpunkten
DE4407285C2 (de) Verfahren zur Messung der Lage eines Loches
DE102018006834A1 (de) System und Verfahren zur Unterstützung einer Oberflächenbearbeitung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G01B 11/24 AFI20051017BHDE

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

Effective date: 20130522

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee