DE10254435A1 - Verfahren und Vorrichtung zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung - Google Patents

Verfahren und Vorrichtung zur dreidimensionalen Kantenerkennung mit Z-Höhenjustierung

Info

Publication number
DE10254435A1
DE10254435A1 DE10254435A DE10254435A DE10254435A1 DE 10254435 A1 DE10254435 A1 DE 10254435A1 DE 10254435 A DE10254435 A DE 10254435A DE 10254435 A DE10254435 A DE 10254435A DE 10254435 A1 DE10254435 A1 DE 10254435A1
Authority
DE
Germany
Prior art keywords
edge point
edge
determining
scan line
source image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10254435A
Other languages
English (en)
Other versions
DE10254435B4 (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

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

Es werden ein Verfahren, eine Vorrichtung zum Erkennen einer Randkontur eines Objektes im dreidimensionalen Raum bereitgestellt. Das Verfahren und die Vorrichtung werden in einem Computerabbildungssystem verwendet, das so gestaltet ist, um präzise Abmessungen eines abgetasteten Objektes zu erhalten. Um Fokussierzeit während einer automatischen Spurerkennungsmessung einzusparen, werden mehrere Bilder für eine Reihe von Z-Höhen für eine spezielle Position der XY-Halterung aufgenommen und gespeichert. Diese gespeicherten Bilder können später verwendet werden, um eine Brennpunkt-Position für jede Randpunkt-Versuchsposition in dem ausgewählten XY-Bereich zu berechnen, anstatt dass eine physikalische Z-Halterungsbewegung erforderlich ist. Ferner kann eine Z-Höhenextrapolation auf der Grundlage der Z-Höhen vorgehender Randpunkte deutlich den Suchvorgang beschleunigen, insbesondere für Objekte, in denen die Z-Höhenänderung einer Kontur graduell und vorhersagbar ist.

Description

    GEBIET DER ERFINDUNG
  • Die Erfindung betrifft im Allgemeinen Verfahren und Vorrichtungen zum elektronischen Abtasten und Messen eines Objektes und betrifft insbesondere ein Verfahren und eine Vorrichtung 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 Fig. 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 Fig. 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 Fig. 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 Fig. 1B beschrieben wird.
  • Fig. 1B zeigt ein zusätzliches lineares Extrapolationsverfahren, das aufgerufen wird, wenn die in Fig. 1A dargestellte Prozedur keinen Randpunkt lokalisieren kann. Entsprechend Fig. 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 Fig. 1A zurückgesetzt. Daher wird eine neue Extrapolationslinie E2B durch die Randpunkte B2 und B3 gezeigt.
  • Der Halbierungsvorgang, der in Fig. 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 Fig. 1C erläutert ist.
  • Fig. 1C zeigt eine Ringsuche. In Fig. 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 Fig. 1A und 1B beschriebenen Verfahren durchgeführt wurden und keinen Randpunkt über den Randpunkt C3 hinaus ermittelt haben.
  • Gemäß den Prozeduren aus Fig. 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 EIC in der umgekehrten Richtung zur vorhergehenden Suchrichtung des Randprofils gezeigt. Anzumerken ist, dass in dem in Fig. 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 Fig. 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 RIC 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 Fig. 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 Fig. 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. In der Praxis ist es allerdings 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 eine 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. Die Erfinder haben 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 und eine Vorrichtung zu Erkennung einer Randkontur eines Objektes im dreidimensionalen Raum bereit gestellt. 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 Systeme und 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.
  • Gemäß einem Aspekt der Erfindung können, um Fokussierzeit während einer automatischen Bahnmessung zu sparen, mehrere Bilder an diversen Höhenpositionen aufgenommen und für eine spezielle Position der XY-Halterung nach Bedarf gespeichert werden. Diese gespeicherten Bilder können später verwendet werden, um Randpunkte an der gleichen Fokusposition für jede Versuchsposition eines Randpunktes in dem gleichen XY-Bereich zu berechnen. Dies ist vorteilhaft dahingehend, dass eine wiederholte physikalische Z-Halterungsbewegung unter gewissen Umständen vermeidbar ist, und das wiederholte Verwenden gespeicherter Bilder kann einen bedeutenden Anteil der Maschinenbewegungs- und Signalverarbeitungszeit einsparen. Somit ist der gesamte Durchsatz des Bilderkennungssystems erhöht.
  • Gemäß einem weiteren Aspekt der Erfindung kann eine Z-Höhenextrapolation erreicht werden, indem Informationen verwendet werden, die zu zuvor festgelegten Randpunkten in Beziehung stehen. Für eine große Anzahl von Anwendungen ist die Z-Höhenänderung eines Randes graduell und vorhersagbar. Auf der Grundlage dieser Eigenschaft kann die Z-Höhenextrapolation unter Verwendung der Z-Höhen zweier vorhergehender Punkte berechnet werden, wenn ein Bildstapel für eine spezielle Position nicht verfügbar ist. Dieses Verfahren beschleunigt den Suchvorgang deutlich und ist äußerst effizient für Messanwendungen mit sich graduell ändernden Randkonturen.
  • Gemäß einem weiteren Aspekt der Erfindung definiert ein Anwender anfänglich ein Randverfolgungs- und/oder Messwerkzeug hinsichtlich der Werkzeugposition, der Werkzeugabtastrichtung und des Abtastlinien-Abtastintervalls. Der Anwender kann ferner einen Z-Suchbereich definieren. Alternativ kann ein Wert für den Z-Suchbereich, die Werkzeugabtastrichtung und das Abtastlinien-Abtastintervall automatisch von dem System ausgewählt oder auf einen mit dem Werkzeug verknüpften Ersatzwert festgelegt werden. Der Z-Suchbereich kann größer gewählt werden als der größte Schritt in der Höhen/Tiefenänderung, die zwischen zwei benachbarten Randpunkten erwartet wird. Mit der obigen Information kann ein Anfangsbildstapel in dem vordefinierten Z-Suchbereich aufgenommen und für die Startposition gespeichert werden.
  • Gemäß einem weiteren Aspekt der Erfindung wird die Z-Position für jeweils die ersten beiden Randpunkte aus Quellenbildern bestimmt, die aus einem Bildstapel so gewählt sind, dass die Bilder die maximalen Kontrastwerte im Vergleich zu anderen Bildern in dem Stapel bei diesen Punkten aufweisen. Es besteht die Option, entweder die Halterung zu der Z-Position physikalisch zu bewegen, die den maximalen Kontrast ergibt, um ein neues Bild für die folgende Randdetektion zu erhalten, oder einfach das Bild aus dem Bildstapel zu wählen, das am Nächsten zu der berechneten Z-Position liegt. Die erste Option liefert bessere Bildresultate, eine gute XY-Messgenauigkeit und eine gute Z-Messgenauigkeit, während die zweite Option eine gute XY-Messgenauigkeit beibehält und Messzeit einspart, indem kein neues Quellenbild an einer neuen Z-Position aufgenommen wird, oder indem die Z-Messgenauigkeit nicht verfeinert wird. Die Entscheidung darüber, welche Option verwendet wird, kann im Hinblick auf Genauigkeits- und Geschwindigkeitsanforderungen getroffen werden.
  • Gemäß einem noch weiteren Aspekt der Erfindung wird, bevor eine Suche nach einem Versuchsort für einen Randpunkt ausgeführt wird, die Stelle überprüft, um sicherzustellen, dass diese innerhalb des aktuellen Videofensters liegt. Wenn die Stelle nicht innerhalb des aktuellen Videofensters liegt, wird die Halterung zu einer berechneten Position bewegt.
  • In einem weiteren Aspekt der Erfindung wird anfänglich ein zweidimensionales automatisches Verfolgungsverfahren verwendet, um die nächste Randpunkt-Versuchsposition zu extrapolieren, die hierin auch als eine nächste XY-Randpunkt-Versuchsposition bezeichnet wird. Der Bildstapel wird verwendet, um das Bild oder die Z-Position zu finden, die den maximalen Kontrastspitzenwert für die nächste XY-Randpunkt-Versuchsposition aufweist. Es ist anzumerken, dass keine physikalische Bewegung oder eine zusätzliche Bildaufnahme für die Suche des maximalen Kontrastspitzenwertes erforderlich ist, die unter Verwendung der gespeicherten Bilder aus dem Bildstapel durchgeführt wird. Wenn diese Prozedur erfolgreich ist, wird der neue Randpunkt bestimmt und gespeichert und der Suchvorgang wird fortgesetzt. Wenn kein Randpunkt lokalisiert wird, kann eine Abschätzung für die Z-Höhe der Randpunkt-Versuchsposition bestimmt werden, indem unter Verwendung der Z-Höhen der beiden vorhergehenden Randpunkte extrapoliert werden. Wenn dennoch kein Randpunkt lokalisiert wird, wird ein neuer Bildstapel genommen, wobei die Z-Höhe des letzten detektierten Randpunktes als der Mittelpunkt verwendet wird, und der Suchvorgang beginnt erneut mit dem Anfangsbereich des automatischen Spurerkennungsverfahrens. Wenn wiederum kein neuer Randpunkt lokalisiert wird, wird eine Halbierungsroutine aufgerufen.
  • Gemäß einem weiteren Aspekt der Erfindung kann ein beliebiger zuvor bestimmter Stapel an Bildern erneut verwendet werden, wenn die X-, Y- und Z-Positionen für einen zu lokalisierenden Randpunkt mit vernünftigster Wahrscheinlichkeit innerhalb der zu dem Stapel gehörender Bilder liegen. Dies kann für gewöhnlich beispielsweise auftreten, wenn eine zu verfolgende Randkontur klein ist im Verhältnis zu dem Videofenster, wenn eine Kontur eine relativ kleine Tiefe aufweist, wenn das Abtastlinien-Abtastintervall im Vergleich zum Videofenster relativ klein ist und wenn das Spurverfolgen in der Nähe des Endpunktes einer geschlossenen Kontur sich dem Anfangspunkt nähert, der bereits für die geschlossene Kontur bestimmt ist.
  • Gemäß einem weiteren Aspekt der Erfindung umfasst eine Halbierungsroutine eine Prozedur, in der das Abtastlinien-Abtastintervall zum Extrapolieren halbiert wird. Der Suchvorgang wird dann zu dem Anfangsbereich des automatischen Spurerkennungsverfahrens umgeleitet. Wenn ein neuer Randpunkt lokalisiert wird, wird der neue Randpunkt gespeichert und der Suchvorgang geht weiter. Wenn kein neuer Randpunkt lokalisiert wird, wird das Abtastlinien-Abtastintervall erneut halbiert und dieser Vorgang wird wiederholt, bis entweder ein neuer Randpunkt lokalisiert ist oder das Abtastlinien-Abtastintervall ein vorbestimmtes Kriterium erreicht. Wenn das vorbestimmte Kriterium erreicht ist, wird eine Ringsuche aufgerufen.
  • Gemäß einem weiteren Aspekt der Erfindung wird in einer Ringsuche, wenn es keinen Bildstapel gibt, der an dem letzten detektierten Randpunkt aufgenommen ist, ein neuer Bildstapel aufgenommen, wobei die Z-Höhe des letzten detektierten Randpunktes als der Z-Abtastmittelpunkt verwendet wird. Anschließend wird der Suchvorgang mit vielen Randpunkt-Versuchspositionen und Richtungen wiederholt, die eine Tangente zum Umfang eines an dem letzten detektierten Randpunkt zentrierten Kreises bilden. Der Radius des Kreises ist gleich dem Abtastlinien-Abtastintervall. Während dieses Vorganges wird in einer Ausführungsform die Z-Extrapolation unter Verwendung vorhergehender Z- Höhen nicht angewendet, um damit die Anzahl von Fehlgriffen zu minimieren, die beim Verwenden nicht korrekter Randpunkte auftreten können.
  • 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:
  • Fig. 1A-1C ein konventionelles Verfahren zum Verfolgen bzw. Erkennen einer Randkontur im zweidimensionalen Raum;
  • Fig. 2A-2C Objekte mit dreidimensionalen Randkonturen;
  • Fig. 3 ein Flussdiagramm, das ein allgemeines Verfahren zum Bestimmen zeigt, ob ein Bildstapel aufgenommen werden soll;
  • Fig. 4 ein Flussdiagramm, das ein allgemeines Verfahren zum Bestimmen zeigt, ob eine Z-Höhenextrapolation angewendet werden sollte;
  • Fig. 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;
  • Fig. 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;
  • Fig. 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;
  • Fig. 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;
  • Fig. 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
  • Fig. 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
  • Fig. 2A, 2B und 2C zeigen Objekte, die Randkonturen mit Z-Höhenänderungen aufweisen. Die vorliegende Erfindung ist vorteilhaft zum Verarbeiten derartiger Randkonturen. Fig. 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.
  • Fig. 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.
  • Fig. 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 Fig. 2A, 2B und 2C gezeigt sind, verfolgt bzw. erkennt.
  • Fig. 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 Fig. 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.
  • Fig. 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 Fig. 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.
  • Fig. 5-10 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-Abtastintervail 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 Fig. 1A-1C 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-Abtastintervail 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.
  • Fig. 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 Fig. 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 Fig. 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.
  • Fig. 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 Fig. 6 gezeigt ist, wird die Routine vom Punkt A fortgesetzt, der aus den Fig. 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 Fig. 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 Fig. 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 Fig. 10 fortgeführt wird. Wenn sich die Routine nicht in dem Ringmodus befindet, dann geht die Routine zu einem Punkt C weiter, der in Fig. 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 Fig. 10 weitergeführt wird. Wenn die Routine nicht in einem Ringmodus ist, dann geht die Routine zu einem Punkt C weiter, der in Fig. 7 weitergeführt ist.
  • Fig. 7 ist ein Flussdiagramm, das Routinen zum Extrapolieren von Randpunkt-Versuchspositionen und zum Lokalisieren von Randpunkten enthält. Zusammengefasst gesagt, die Routinen aus Fig. 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 Fig. 9 beschrieben wird.
  • Wie in Fig. 7 gezeigt ist, wird die Routine von einem Punkt C aus weitergeführt, der aus den Fig. 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 Fig. 1A-1C 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 Fig. 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 Fig. 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 Fig. 9 weitergefü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.
  • Fig. 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 Fig. 7 oder 10 kommen kann, oder von einem Punkt G aus, der von Fig. 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 Fig. 6 fortgesetzt wird.
  • Fig. 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 Fig. 7 umgeleitet. Wenn die Suche erfolgreich ist, wird der Suchvorgang zum Anfang der Fig. 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 Fig. 10 beschrieben ist.
  • Wie in Fig. 9 gezeigt ist, wird die Routine von einem Punkt H aus fortgesetzt, der aus Fig. 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 Fig. 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 Fig. 7 fortgeführt wird.
  • Fig. 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 Fig. 10 gezeigt ist, wird die Routine von einem Punkt D aus fortgesetzt, der von Fig. 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 Fig. 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 Fig. 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 Fig. 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 Fig. 3-10 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 Fig. 2A-2C 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 Beispiel 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.
  • Figurenbeschreibung Fig. 1A-1C Stand der Technik Fig. 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
  • Fig.
  • 6
  • Fig. 6
  • A von
  • Fig.
  • 5 & 8
  • 110
  • Endpunkt gefunden?
  • B von
  • Fig.
  • 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
  • Fig.
  • 10
  • C zu
  • Fig.
  • 7
  • D zu
  • Fig.
  • 10
  • No Nein
  • Yes Ja
  • Fig. 7
  • C von
  • Fig.
  • 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
  • Fig.
  • 9
  • G zu
  • Fig.
  • 8
  • F zu
  • Fig.
  • 8
  • 136
  • Ausführen einer Abtastung mit Werkzeug, um Randpunkt zu erhalten
  • No Nein
  • Yes Ja
  • Fig. 8
  • G von
  • Fig.
  • 7
  • F von den
  • Fig.
  • 7 und 10
  • 150
  • Aktualisieren des Punktspeichers
  • 152
  • Zurücksetzen des Suchmodus
  • A zu
  • Fig.
  • 6
  • Fig. 9
  • H von
  • Fig.
  • 7
  • 160
  • Intervallkriterium?
  • 162
  • Setze Suchmodus auf Rotation
  • B zu
  • Fig.
  • 6
  • 164
  • Halbieren des Abtastintervalls
  • C zu
  • Fig.
  • 7
  • Fig. 10
  • D von
  • Fig.
  • 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
  • Fig.
  • 6
  • 182
  • Fehler melden und Stop
  • 180
  • Durchführen der Abtastung mit Werkzeug, um Randpunkt zu erhalten
  • F zu
  • Fig.
  • 8
  • E von
  • Fig.
  • 6

Claims (17)

1. Verfahren zum Betreiben eines Abbildungssystems zur Bestimmung eines Satzes von Koordinaten für mehrere Randpunkte entlang einer Randkontur eines Objektes, wobei die mehreren Randpunkte sich über einen Tiefenbereich erstrecken, der größer als die Schärfentiefe eines Bildes der Randkontur ist, wobei das Verfahren umfasst:
Bestimmen der Koordinaten für mindestens einen letzten vorhergehenden Randpunkt in mindestens einem letzten vorhergehenden Randpunktbild;
Automatisches Bestimmen einer nächsten XY-Randpunkt-Versuchsposition zumindest teilweise auf der Grundlage der XY-Position des letzten vorhergehenden Randpunktes;
Bestimmen eines gewünschten nächsten Randpunkt-Quellenbildes auf der Grundlage der nächsten XY-Randpunkt-Versuchsposition und zuvor gesammelter Daten;
und
Suchen nach dem nächsten Randpunkt in dem gewünschten nächsten Randpunkt-Quellenbild.
2. Das Verfahren nach Anspruch 1, wobei die zuvor gesammelten Daten mehrere Bilder umfassen, die an mehreren entsprechenden Fokuspositionen aufgenommen sind, und wobei der Schritt des Bestimmens eines gewünschten nächsten Randpunkt-Quellenbildes umfasst: Auswählen desjenigen Bildes der mehreren Bilder, das als jenes mit dem besten Fokus in der Nähe der nächsten XY-Randpunkt- Versuchsposition bestimmt wird.
3. Das Verfahren nach Anspruch 1, wobei die zuvor gesammelten Daten die vorbestimmten Koordinaten für den letzten vorhergehenden Randpunkt und für einen vorhergehenden Randpunkt vor dem letzten vorhergehenden Randpunkt aufweisen und wobei der Schritt des Bestimmens eines gewünschten nächsten Randpunkt-Quellenbildes umfasst:
Bestimmen einer abgeschätzten Z-Koordinate in der Nähe der nächsten XY-Randpunkt-Versuchsposition; und
Aufnehmen eines gewünschten nächsten Randpunkt-Quellenbildes an einer Fokusposition auf der Grundlage der abgeschätzten Z-Koordinate.
4. Das Verfahren nach Anspruch 3, 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.
5. Das Verfahren nach Anspruch 1, wobei die zuvor gesammelten Daten mehrere Bilder umfassen, die an mehreren entsprechenden Fokuspositionen aufgenommen sind und wobei der Schritt des Bestimmens eines gewünschten nächsten Randpunkt-Quellenbildes:
Bestimmen einer Fokus-Eigenschaft in der Nähe der nächsten XY-Randpunkt- Versuchsposition für mindestens einige der mehreren Bilder;
Anpassen einer Kurve an die bestimmten Fokus-Eigenschaften als eine Funktion der entsprechenden Fokuspositionen;
Bestimmen einer besten Fokusposition entsprechend einem Spitzenwert der angepassten Kurve; und
Aufnehmen eines gewünschten nächsten Randpunkt-Quellenbildes auf der Grundlage der bestimmten besten Fokusposition.
6. Das Verfahren nach Anspruch 5, wobei die Fokus-Eigenschaft einen Kontrastwert umfasst.
7. Das Verfahren nach Anspruch 6, wobei der Kontrastwert einen Spitzengradientenwert umfasst, der entlang einer Abtastlinie in den mindestens einigen der mehreren Bilder bestimmt ist.
8. Das Verfahren nach Anspruch 7, wobei die gleiche Abtastlinienposition im Schritt zum Suchen des nächsten Randpunktes in dem gewünschten nächsten Randpunkt-Quellenbild verwendet wird.
9. Das Verfahren nach Anspruch 8, wobei der gleiche Spitzengradientenwert im Schritt des Suchens des nächsten Randpunktes in dem gewünschten nächsten Randpunkt-Quellenbild verwendet wird.
10. Das Verfahren nach Anspruch 1, wobei der Schritt des Bestimmens eines gewünschten nächsten Randpunkt-Quellenbildes umfasst:
Bestimmen einer gewünschten nächsten Randpunkt-Fokusposition auf der Grundlage der nächsten XY-Randpunkt-Versuchsposition und der zuvor gesammelten Daten; und
Bestimmen eines gewünschten nächsten Randpunkt-Quellenbildes auf der Grundlage der gewünschten nächsten Randpunkt-Fokusposition.
11. 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 gewünschten nächsten Randpunkt-Quellenbildes 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 gewünschten nächsten Randpunkt-Quellenbildes auf der Grundlage der aufgenommen mehreren Bilder.
12. Das Verfahren nach Anspruch 1, wobei der Schritt des Suchens des nächsten Randpunktes in dem gewünschten nächsten Randpunkt-Quellenbild die Koordinaten des nächsten Randpunktes bestimmt und wobei das Verfahren ferner umfasst:
der gerade bestimmte nächste Randpunkt wird zu dem letzten vorhergehenden Randpunkt;
das gewünschte nächste Randpunktbild wird zu dem letzten vorhergehenden Randpunktbild; und
das Verfahren geht iterativ weiter mit dem Schritt des automatischen Bestimmens einer nächsten XY-Randpunkt-Versuchsposition.
13. Das Verfahren nach Anspruch 1, wobei der Schritt des Suchens des nächsten Randpunktes in dem gewünschten nächsten Randpunkt-Quellenbild 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 gewünschten Randpunkt-Quellenbild übereinstimmt.
14. Das Verfahren nach Anspruch 13, 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.
15. Das Verfahren nach Anspruch 14, 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.
16. Das Verfahren nach Anspruch 1, wobei das Verfahren zum Betreiben eines Abbildungssystems während eines Lernbetriebsmodus angewendet wird.
17. 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/990238 2001-11-21
US09/990,238 US7120286B2 (en) 2001-11-21 2001-11-21 Method and apparatus for three dimensional edge tracing with Z height adjustment

Publications (2)

Publication Number Publication Date
DE10254435A1 true DE10254435A1 (de) 2003-05-28
DE10254435B4 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011114932A1 (de) * 2011-10-06 2013-04-11 Hommel-Etamic Gmbh Verfahren zur Ermittlung einer Kontur einer Oberfläche

Families Citing this family (22)

* 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
EP1756750A4 (de) * 2004-05-27 2010-10-20 Aperio Technologies Inc Systeme und verfahren zum erzeugen und betrachten dreidimensionaler virtueller folien
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
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
JP6899963B2 (ja) 2017-09-29 2021-07-07 ライカ バイオシステムズ イメージング インコーポレイテッドLeica Biosystems Imaging, Inc. リアルタイムの自動焦点調節走査

Family Cites Families (10)

* 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次元のソリッド物体を表す表示可能情報を生成する装置と方法
JPH06203157A (ja) * 1992-10-14 1994-07-22 Fujitsu Ltd カラー画像処理方法および装置
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 株式会社ミツトヨ 画像測定装置及び方法
DE19941771B4 (de) * 1999-09-02 2010-10-21 E. Zoller GmbH & Co. KG Einstell- und Messgeräte Verfahren zur Vermessung von ein- oder mehrschneidigen Zerspanungswerkzeugen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011114932A1 (de) * 2011-10-06 2013-04-11 Hommel-Etamic Gmbh Verfahren zur Ermittlung einer Kontur einer Oberfläche

Also Published As

Publication number Publication date
DE10254435B4 (de) 2013-02-21
US7120286B2 (en) 2006-10-10
US20030095700A1 (en) 2003-05-22
JP4009525B2 (ja) 2007-11-14
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
DE10253674B4 (de) Verfahren zum Erkennen von Grenzen in Bildern
DE3735091C2 (de)
EP1916046B1 (de) Verfahren und Vorrichtung zum maschinellen Schneiden eines plattenförmigen Werkstücks
DE102016200386B4 (de) Verfahren zum Steuern eines Manipulatorsystems
DE112007001360T5 (de) Stent-Inspektionssystem
AT518895B1 (de) Biegemaschine mit einer Arbeitsbereich-Bilderfassungsvorrichtung
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
EP2787485B1 (de) Verfahren und Vorrichtung zur automatischen Fehlerstellenerkennung bei biegeschlaffen Körpern
DE102017212371A1 (de) Bestimmung einer Marke in einem Datensatz mit mittels zumindest eines Laserscanners erfassten dreidimensionalen Oberflächen-Koordinaten einer Szene
EP1098268A2 (de) Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
DE102020120887B4 (de) Verfahren zum erfassen einer einhängeposition eines auflagestegs und flachbettwerkzeugmaschine
DE102020121396A1 (de) Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn
EP1352363B1 (de) Verfahren und vorrichtung zum kompensieren einer dejustage einer bilderzeugungsvorrichtung
EP3855359A1 (de) Kabelbearbeitungsstation, kabelmaschine mit kabelbearbeitungsstationen sowie computerimplementiertes verfahren
DE102007038785A1 (de) Verfahren und Vorrichtung zum Bestimmen von Geometriedaten eines Messobjekts
DE102017117594A1 (de) Automatisierte Erkennung einer Scheinwerferfehlstellung
EP3582140B1 (de) System zur automatischen erkennung von laborarbeitsgegenständen sowie verfahren zum betrieb eines systems zur automatischen erkennung von laborgegenständen
DE102020131808A1 (de) Vorrichtung zur Unterstützung von Kalibrierungsvorgängen bei Industriekameras
DE19506328C2 (de) Verfahren zur Erkennung der Position und Lage eines Objekts im dreidimensionalen Raum
EP2808843A2 (de) Verfahren zur Parametrierung eines Bildverarbeitungssystems für die Überwachung einer Werkzeugmaschine
DE102009015500B4 (de) Verfahren und Vorrichtung zur Bestimmung einer Lageänderung eines Objekts mittels einer Stereokamera
DE10066189B4 (de) Verfahren zur Erkennung von Objekten

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