DE102009029478A1 - System und Verfahren für einen schnellen ungefähren Fokus - Google Patents

System und Verfahren für einen schnellen ungefähren Fokus Download PDF

Info

Publication number
DE102009029478A1
DE102009029478A1 DE102009029478A DE102009029478A DE102009029478A1 DE 102009029478 A1 DE102009029478 A1 DE 102009029478A1 DE 102009029478 A DE102009029478 A DE 102009029478A DE 102009029478 A DE102009029478 A DE 102009029478A DE 102009029478 A1 DE102009029478 A1 DE 102009029478A1
Authority
DE
Germany
Prior art keywords
focus
image
focus value
inspection
interest
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
DE102009029478A
Other languages
English (en)
Other versions
DE102009029478B4 (de
Inventor
Robert K. Bothell Bryll
Michael M. Kirkland Nahum
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 DE102009029478A1 publication Critical patent/DE102009029478A1/de
Application granted granted Critical
Publication of DE102009029478B4 publication Critical patent/DE102009029478B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B13/00Viewfinders; Focusing aids for cameras; Means for focusing for cameras; Autofocus systems for cameras
    • G03B13/32Means for focusing
    • G03B13/34Power focusing
    • G03B13/36Autofocus systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B7/00Mountings, adjusting means, or light-tight connections, for optical elements
    • G02B7/28Systems for automatic generation of focusing signals
    • G02B7/36Systems for automatic generation of focusing signals using image sharpness techniques, e.g. image processing techniques for generating autofocus signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N23/635Region indicators; Field of view indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/673Focus control based on electronic image sensor signals based on contrast or high frequency components of image signals, e.g. hill climbing method

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Human Computer Interaction (AREA)
  • Automatic Focus Adjustment (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)
  • Microscoopes, Condenser (AREA)

Abstract

Schnelle ungefähre Fokusabläufe stellen ein ungefähr fokussiertes Bild bereit, welches ausreichend fokussiert ist, um bestimmte, aufeinander abfolgende Inspektionsabläufe zu unterstützen. Die Abläufe sind besonders vorteilhaft, wenn sie zur Bereitstellung von Bildern für aufeinander abfolgende Inspektionsabläufe verwendet werden, die beim Inspizieren ebener Arbeitsstücke vorherrschen. Ein verbesserter Inspektionsdurchsatz wird bereitgestellt, da im Gegensatz zu konventionellen Autofokusabläufen, die schnellen ungefähren Fokusabläufe keinen Bildstapel während eines Laufmodus als eine Basis zur Bestimmung eines am besten fokussierten Bildes erfassen. Stattdessen wird während eines Lernmodus eine repräsentative merkmalsspezifische Fokuskurve und ein Fokusschwellwert bestimmt und während des Laufmodus verwendet, um ein ungefähr fokussiertes Bild bereitzustellen, welches zuverlässig bestimmte Inspektionsabläufe unterstützt. In einer Ausführungsform wird ein akzeptables ungefähr fokussiertes Inspektionsbild innerhalb einer Begrenzung von zwei Fokuseinstellbewegungen bereitgestellt, die zwei entsprechende Bilder bereitstellen. Die Einstellbewegungen basieren auf der jeweiligen merkmalsspezifischen Fokuskurve, die in dem Lernmodus bereitgestellt wurde.

Description

  • Gebiet der Erfindung
  • Die Erfindung betrifft im Allgemeinen maschinelle Sichtinspektionssysteme und insbesondere Systeme und Verfahren zum automatischen Fokussieren eines maschinellen Sichtinspektionssystems.
  • Hintergrund der Erfindung
  • Maschinelle Präzisionssichtinspektionssysteme (oder kurz „Visionssysteme”) können verwendet werden, um präzise dimensionale Messungen inspizierter Objekte zu erhalten und, um verschiedene andere Objektcharakteristiken zu inspizieren. Solche Systeme können einen Computer, eine Kamera und ein optisches System und eine Präzisionsstufe einschließen, die in mehreren Richtungen beweglich ist, um eine Arbeitsstückinspektion zu ermöglichen. Ein exemplarisches System des Standes der Technik, das als ein „off-line” Präzisionsvisionssystem für einen allgemeinen Zweck gekennzeichnet werden kann, ist die kommerziell erhältliche QUICKVISION®-Serie von PC-basierten Visionssystemen und die QVPAK®-Software, die bei der Mitutoyo Cooperation (MAC) erhältlich ist, die in Aurora, IL. ansässig ist. Die Merkmale und der Betrieb der QICKVISION®-Serie der Visionssysteme und der QVPAK®-Software sind z. B. im QVPAK 3D CNC-Visionsmessmaschinennutzerhandbuch beschrieben, welches im Januar 2003 veröffentlicht wurde, und in dem QVPAK 3D CNC-Visionmessmaschinenbetriebshandbuch, welches im September 1996 veröffentlicht wurde, welche beide vollständig durch Bezug hier eingefügt werden. Diese Art von System ist in der Lage ein mikroskopartiges optisches System zu verwenden und die Stufe zu bewegen, so dass Inspektionsbilder von entweder kleinen oder relativ großen Arbeitsstücken bei verschiedenen Größenordnungen bereitgestellt werden können.
  • Maschinelle Präzisionssichtinspektionssysteme für einen allgemeinen Zweck, wie das QUICK VISION TM-System sind, ebenso im Allgemeinen programmierbar, um eine automatisierte Videoinspektion durchzuführen. Solche Systeme schließen üblicherweise GUI-Merkmale und vordefinierte Bildanalyse „Videowerkzeuge” ein, so dass der Betrieb und die Programmierung durch „Nichtexpertenbenutzter” durchgeführt werden können. Zum Beispiel lehrt US Patentnummer 6,542,180 (hier später das „ '180 Patent”), welches hier vollständig durch Bezug eingefügt wird, ein Sichtsystem, welches eine automatisierte Videoinspektion verwendet.
  • Wie in dem '180 Patent gelehrt wird, weisen automatisierte Videoinspektionsmesstechnikinstrumente üblicherweise eine programmierende Fähigkeit auf, die einen durch den Nutzer zu definierende automatische Inspektionsereignisabfolge für jede einzelne Arbeitsstückgestaltung erlaubt. Eine solche Programmierung kann als eine textbasierte Programmierung umgesetzt werden, oder auch durch einen Aufnahmemodus, der fortlaufend die Inspektionsereignisabfolge „lernt” durch Speichern einer Abfolge von Maschinensteuerinstruktionen entsprechend einer Abfolge von Inspektionsabläufen, die durch einen Nutzer durchgeführt werden, oder durch eine Kombination beider Verfahren. Solch ein Aufnahmemodus wird häufig als „Lernmodus” oder „Trainingsmodus” bezeichnet. In jeder der beiden Technologien werden die Maschinensteuerinstruktionen im Allgemeinen als ein Teilprogramm gespeichert, welches spezifisch für die bestimmte Arbeitsstückgestaltung ist, und automatisch eine vordefinierte Abfolge von Inspektionsabläufen während eines „Laufmodus” des Ablaufes durchführt.
  • Im Allgemeinen bewegt sich die Kamera, während einer bekannten Abfolge von Autofokusabläufen, durch einen Bereich von Positionen entlang einer Z-Achse und erfasst an jeder Position ein Bild. Für jedes erfasste Bild wird eine Fokusmetrik berechnet und auf die entsprechende Position der Kamera entlang der Z-Achse zu der Zeit bezogen, wenn das Bild erfasst wurde. Ein bekanntes Autofokussierungsverfahren ist in der „Robust Autofocusing in Microscopy" von Jan-Mark Geusebroek und Arnold Smeulders in der ISIS Technical Report Series, Band 17, November 2000, diskutiert, welche hier vollständig durch Bezug eingefügt wird. Um eine Z-Achsenposition der Kamera zu bestimmen, die einem Autofokusbild entspricht, schätzt das diskutierte Verfahren eine Position der Kamera entlang einer Z-Achse, aufgrund einer gemessenen Zeitdauer, während der sich die Kamera von einer bekannten Ausgangsposition auf der Z-Achse mit einer konstanten Geschwindigkeit entlang der Z-Achse bewegt, bis das Bild erfasst wird. Während der Bewegung mit konstanter Geschwindigkeit werden die Autofokusbilder in 40 Millisekundenintervallen erfasst (Videorate). Das offenbarte Verfahren lehrt, dass die Videohardwareerfassungsrahmen mit einer konstanten Rate erfasst, und dass die Probendichte der fokussierenden Kurve, durch Einstellen der Stufengeschwindigkeit, beeinflusst werden kann. Ein anderes bekanntes Autofokusverfahren und eine Vorrichtung ist im US Patentnummer 5,790,710 beschrieben (hierin später das „ '710 Patent”), welches hier vollständig durch Bezug eingefügt wird. In dem – 710 Patent wird ein piezoelektrischer Positionierer in Zusammenarbeit mit einem konventionellen motorgetriebenen Bewegungssteuersystem verwendet, um die Z-Achsenpositionbewegung während dem Erfassen der Autofokusbilder zu steuern. Ein anderes verbessertes Autofokussystem und -verfahren ist in dem US Patentnummer 7,030,351 beschrieben, welches allgemein zugeteilt und vollständig durch Bezug hier eingefügt wird. In all diesen Fällen werden eine relativ große Anzahl von Bildern während des Laufmodus als eine Basis für die Autofokussierung vor dem Erfassen der Inspektionsbilder erfasst. Aufgrund zunehmender Berechnungsgeschwindigkeiten, trotz dieser Verbesserungen, bleiben die physikalischen Bewegungen, die für die oben beschriebenen Systeme und Verfahren benötigt werden, allgemein als ein erster Faktor, der den Inspektionsdurchsatz beschränkt. Ein Autofokussystem und -verfahren, welches den Durchsatz weiter verbessern kann, ist wünschenswert.
  • Die vorliegende Erfindung ist auf ein System und ein Verfahren zur Bereitstellung von Inspektionsbildern bei einer verbesserten Rate gerichtet. Insbesondere werden ein System und ein Verfahren zum schnellen Einstellen für akzeptable ungefähre Fokuspositionen bereitgestellt, unter Verwendung einer beschränkten Anzahl physikalischer Bewegungen.
  • Zusammenfassung der Erfindung
  • Dieser Zusammenfassung ist bereitgestellt, um eine Auswahl von Konzepten in vereinfachter Form einzuführen, die unten weiter in der detaillierten Beschreibung beschrieben werden. Diese Zusammenfassung ist nicht dafür gedacht Schlüsselmerkmale des beanspruchten Gegenstandes zu identifizieren, noch ist sie dafür gedacht, als eine Hilfe zur Bestimmung des Bereichs des beanspruchten Gegenstandes verwendet zu werden.
  • Im Gegensatz zu jedem der vorher beschriebenen, bekannten Systeme und Verfahren zum Durchführen von Autofokusabläufen, bietet die vorliegende Erfindung einen verbesserten Inspektionsdurchsatz durch Verwenden einer schnellen ungefähren Autofokussierung, die für bestimmte Abläufe in einem maschinellen Präzisionssichtinspektionssystem für einen allgemeinen Zweck geeignet ist. Die Begriffe „schnelle ungefähre Autofokussierung” und „schnelle ungefähre Fokussierung” werden im Allgemeinen hier austauschbar verwendet, und es kann angenommen werden, dass sie dasselbe bedeuten, solange nichts anderes bezeichnet ist. Einige vorteilhafte Merkmale der Verfahren schließen ein, dass sie umgesetzt werden können, um den Durchsatz von bereits eingesetzten Maschinen zu verbessern, und dass sie keinen speziellen Fokussensor benötigen. Entsprechend einem Aspekt der Erfindung wird ein allgemeines Verfahren zum Umsetzten der schnellen ungefähren Autofokusabläufe während eines Lernmodus bereitgestellt (z. B. in einer Ausführungsform durch Trainieren eines schnellen ungefähren Autofokusvideowerkzeugs). Im Allgemeinen wird ein Satz von Lernmodusabläufen zur Bestimmung einer repräsentativen Fokuskurve und eines verwandten Fokusschwellwertes bereitgestellt, bei einem gegebenen Bild eines repräsentativen Bereichsvon-Interesse (ROI). In einer Ausführungsform, schließen Lernmodus schnelles ungefähres Autofokuslernen oder „Werkzeugtrainingsabläufe” ein Erfassen eines repräsentativen Bildes des repräsentativen Bereichs-von-Interesse ein. Der Be reich-von-Interesse kann unter Verwendung einer Videowerkzeugbenutzerschnittstelle z. B. definiert werden und schließt im Allgemeinen ein repräsentatives zu inspizierendes Merkmal ein. Für den Zweck ein Teilprogramm zu entwerfen, ist das repräsentative Merkmal für entsprechende Merkmale auf anderen Arbeitsstücken repräsentativ. Dann wird eine repräsentative merkmalsspezifische Fokuskurve für den Bereich-von-Interesse (ROI) bestimmt. Die merkmalsspezifische Fokuskurve, welche den Bildfokus für den ROI als eine Funktion der Z-Koordinate kennzeichnet, die für die Bildgebung verwendet wurde, kann durch konventionelle Verfahren während des Lernmodus bestimmt werden. Dann wird ein Fokusschwellwert bestimmt und/oder gelernt, entsprechend einem Level mit „ungefährem” Fokus, welches ausreichend zur Unterstützung der gewünschten Merkmalinspektionsabläufe ist (in diesem Zusammenhang kann „gelernt” „bestimmt” und „aufgenommen” bedeuten, in einer Form in einem Teilprogramm (z. B. als ein Videowerkzeugparameter) als Basis für eine spätere automatische Inspektion der entsprechenden Merkmale). Allgemeiner können die bestimmten und/oder gelernten repräsentativen merkmalsspezifischen Fokuskurvendaten und die Fokusschwellwertdaten in jeder bequemen Art charakterisiert und aufgenommen werden. In einer Ausführungsform können die „Kurvendaten” einer konventionellen Form einer Fokuskurve entsprechen, und die „Wertdaten” können einem Standardschwellwert entsprechen. In anderen Ausführungsformen können die Kurvendaten anderen Arten von Daten entsprechen, wie eine dichte Fokuskurven „F-Z-Nachschlagetabelle”, Koeffizienten, welche eine nominale analytische Kurvenform individualisieren, eine gestutzte Nachschlagetabelle usw.. Ähnlicherweise können in anderen Ausführungsformen die Schwellwertdaten anderen Arten von Daten entsprechen, wie „Fokusstiefe (DOF-Einheiten)”, die gemeinsam mit den Kurvendaten verwendet werden zur Berechnung des numerischen Werts im Laufmodus, eines numerischen Werts, der in der Lernzeit berechnet und gespeichert wird, und eines Multiplizierungsfaktors (z. B. einen Bruch) für die Fokuskurvenpeakhöhe usw..
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung ist ein allgemeines Verfahren zur Umsetzung schneller ungefährer Autofokusabläufe während des Laufmodus bereitgestellt (z. B. durch Ausführen von Abläufen eines schnellen ungefähren Autofokusvideowerkzeugs). Im Allgemeinen werden ein Satz von Laufmodusabläufen bereitgestellt, zum Verwenden repräsentativer Fokuskurvendaten und Fokusschwellwertdaten, zur Bestätigung oder Bereitstellung eines schnellen ungefähren Fokus für ein Bild, welches zur Inspektion eines Arbeitsstücksmerkmals verwendet werden soll. Im Allgemeinen werden die repräsentativen Fokuskurvendaten und die Fokusschwellwertdaten vorher festgesetzt worden sein, für ein entsprechendes Merkmal in einem entsprechenden Werkstück, so wie während eines Lernmodus. Solch eine Verwendung eines schnellen ungefähren Fokus ermöglicht ein akzeptables Präzisionslevel in vielen Anwendungsfällen, wo der Inspektionsablauf keine präzisen Z-Koordinatendaten erfordert. Zum Beispiel können unter Verwendung einer geeigneten Bildverarbeitung verschiedene XY-Kantenstellenmessungen relativ präzise und wiederholbar bleiben, sogar, wenn sie aus einem Inspektionsbild bestimmt werden, welches Bild und Schärfen einschließt (z. B. ein Bild, welches nur ungefähr im Fokus ist).
  • In einer Ausführungsform schließt der Laufmodus schnelle ungefähre Autofokusabläufe und das Erfassen eines ersten Bildes im Bereich-von-Interesse einschließlich des zu inspizierenden Merkmals ein. Dann werden vorher gelernte repräsentative merkmalsspezifische Fokuskurvendaten und Fokusschwellwertdaten entsprechend dem gegenwärtigen Bereich-von-Interesse und dem zu inspizierenden Merkmal erfasst. Ein erster Bildfokuswert wird dann für den gegenwärtigen Bereich-von-Interesse bestimmt, und eine Bestimmung wird vorgenommen, ob der erste Bildfokuswert größer als der Fokusschwellwert ist. Wenn der erste Bildfokuswert größer als der Fokusschwellwert ist, dann werden Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt, und wenn nicht, wird eine Z-Achsenbewegung in einer ersten Einstellrichtung für eine geschätzte erste Einstellentfernung zu einer Peakfokus Z-Höhe durchgeführt, wobei die erste Einstellentfernung aufgrund der repräsentativen merkmalsspezifischen Fokuskurvendaten und dem ersten Bildfokuswert geschätzt werden. An der geschätzten ersten Einstellentfernung wird ein zweites Bild erfasst und ein zweiter Bildfokuswert wird für den Bereich-von-Interesse bestimmt. In einer Ausführungsform wird dann eine Bestimmung durchgeführt, ob der zweite Bildfokuswert schlechter als der erste Bildfokuswert ist. Wenn bestimmt wird, dass der zweite Bildfokuswert nicht schlechter als der erste Bildfokuswert ist, werden dann, in einer Ausführungsform, Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt. Wenn der zweite Bildfokuswert schlechter als der erste ist, wird dann eine Z-Achsenbewegung in einer Richtung durchgeführt, die der ersten Einstellrichtung entgegengesetzt ist, für eine geschätzte zweite Einstellentfernung zu einer Peakfokus Z-Höhe, wobei die zweite Einstellentfernung auf Grundlage zumindest einer der ersten Einstellentfernung unter repräsentativen merkmalsspezifischen Fokuskurvendaten geschätzt wird. An der geschätzten zweiten Einstellentfernung wird ein drittes Bild erfasst und Merkmalinspektionsabläufe werden dann in dem gegenwärtigen Bild durchgeführt (das dritte Bild). In einer Ausführungsform ist die zweite Einstellentfernung ungefähr zweimal die erste Einstellentfernung.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung kann eine erhöhte Umsetzung des schnellen ungefähren Fokuslernmodus verwendet werden. In der erhöhten Umsetzung wird ein repräsentatives Arbeitsstück in einer betriebsfähigen Position zur Inspektion bereitgestellt, und ein erstes/nächstes zu inspizierendes Merkmal wird in dem Gesichtsfeld positioniert, wobei das repräsentative Merkmal entsprechenden Merkmalen auf anderen Arbeitsstücken entspricht, und ein Bild wird erfasst. Eine Bestimmung wird dann durchgeführt, ob der schnelle ungefähre Fokus verwendet werden wird (z. B. auf Grund einer Benutzereingabe). Wenn bestimmt wird, dass der schnelle ungefähre Fokus nicht verwendet werden wird, werden dann andere Merkmalsinspektionsabläufe definiert. Wenn der schnelle ungefähre Fokus verwendet werden wird, dann wird ein schnelles ungefähres Autofokuswerkzeug ausgewählt (z. B. durch einen Benutzer unter Verwendung einer grafischen Benutzerschnittstelle). Sobald das Werkzeug ausgewählt ist, kann es verwendet werden, um einen Bereich-von-Interesse (ROI) zu definieren, einschließlich des repräsentativen Merkmals, und eine repräsentative merkmalsspezifische Fokuskurve kann für den Bereich-von-Interesse (ROI), wie oben beschrieben, bestimmt werden. Dann wird ein Fokusschwellwert, entsprechend einem Level des „ungefähren” Fokus, bestimmt, welches ausreichend zur Unterstützung der gewünschten Merkmalinspektionsabläufe ist. in einer Ausführungsform kann der Benutzer die Sichtmaschine bedienen, um ein Bild bereitzustellen, welches in einem Level defokussiert ist, der als schlechtester Fokus beurteilt wird, den er akzeptabel findet. In einer Ausführungsform, wird dies subjektiv, durch Betrachten des Bildes, bestimmt. In einer anderen Ausführungsform bestimmt er dies durch Durchführung von Inspektionsabläufen bei verschiedenen Fokusleveln, und durch Auswerten der Präzision und/oder Wiederholbarkeit der Ergebnisse, verglichen mit den Ergebnissen eines gut fokussierten Bildes. Der Fokusschwellwert kann alternativ automatisch bestimmt werden. Zum Beispiel kann in einigen Ausführungsformen dies durch Bestimmung des Fokuswertes geschehen, welcher einer vorbestimmten Anzahl von Inkrementen der Fokallänge in dem gegenwärtigen optischen System, weg von der Fokuspeakstelle auf der repräsentativen merkmalsspezifischen Fokuskurve, entspricht. Schnelle ungefähre Autofokuswerkzeugdaten und/oder Parameter werden dann aufgenommen, einschließlich der repräsentativen merkmalsspezifischen Fokuskurvendaten und der Fokusschwellwertdaten in Verbindung mit einem Teilprogramm. Als nächstes werden die Merkmalinspektionsabläufe definiert, welche in dem Bereich-von-Interesse auszuführen sind. Wenn dort mehr zu inspizierende Merkmale vorhanden sind, dann wird die Routine für das nächste Merkmal wiederholt. Jedoch, in einer anderen Ausführungsform der Routine, sind Abläufe eingeschlossen, so dass, wenn die zusätzlichen Merkmale im Wesentlichen gleich dem gegenwärtigen Merkmal sind, die Abläufe am Block 740, welche die repräsentative merkmalsspezifische Fokuskurve bestimmen, und der repräsentative Fokusschwellwert durch Abläufe ersetzt werden, die die wesentliche Gleichartigkeit bestimmen (z. B. aufgrund einer Nutzereingabe oder einer Merkmalserkennung usw.) und dann die vorher bestimmte repräsentative merkmalsspezifische Fokuskurve und den repräsentativen Fokusschwellwert wiederverwenden, welche für das im Wesentlich gleiche Merkmal bestimmt wurden.
  • In Übereinstimmung mit noch einem Aspekt der Erfindung kann eine erhöhte Implementierung eines schnellen ungefähren Fokus in einem Laufmodus verwendet werden, z. B. wie folgt. Am Start des Laufmodus ist ein Teilprogramm bereitgestellt, entlang mit einem Arbeitsstück in Position zur Inspektion. Das Teilprogramm wird gestartet und das erste/nächste Werkzeug wird bestimmt und das erste/nächste (zu inspizierende) Merkmal wird in dem Gesichtsfeld positioniert. Wenn das schnelle ungefähre Autofokuswerkzeug verwendet wird, dann werden die repräsentativen merkmalsspezifischen Fokuskurvendaten und Fokusschwellwertdaten entsprechend dem gegenwärtigen Merkmal aufgerufen. Ein erstes Bild wird dann erfasst und ein erster Bildfokuswert wird in dem Bereich-von-Interesse bestimmt, welcher durch das Werkzeug bestimmt wurde, und eine Bestimmung wird vorgenommen, ob der erste Bildfokuswert größer als der Fokusschwellwert ist. Wenn der erste Bildfokuswert größer als der Fokusschwellwert ist, werden dann die Merkmalsinspektionsabläufe beginnen. Wenn der erste Bildfokuswert nicht größer ist, dann wird eine erste Einstellentfernung auf eine Peakfokus Z-Höhe aufgrund der repräsentativen merkmalsspezifischen Fokuskurvendaten und des ersten Bildfokuswerts geschätzt. Die Sichtmaschine wird dann zur Einstellung der Z-Höhe durch die erste Einstellentfernung in einer ersten Einstellrichtung bewegt (z. B. um Z zu erhöhen), und danach wird ein zweites Bild erfasst und ein zweiter Bildfokuswert für den Bereich-von-Interesse bestimmt. Eine Bestimmung wird dann vorgenommen, ob der zweite Bildfokuswert größer als der Fokusschwellwert ist. Wenn der zweite Bildfokuswert größer als der Fokusschwellwert ist, dann beginnen die Merkmalinspektionsabläufe, und wenn er nicht größer ist, dann wird eine Bestimmung weiterhin durchgeführt, ob der zweite Bildfokuswert größer als der erste Bildfokuswert ist. Wenn der zweite Bildfokuswert größer als der erste Bildfokuswert ist, dann bezeichnet dies, dass die erste Einstellrichtung richtig war, aber die erste Einstellentfernung nicht. Daher, in einer Ausführungsform, rufen oder führen die schnellen ungeführen Fokusabläufe Standardfokusab- Läufe aus (z. B. konventionelle Abläufe wie ein Erfassen zusätzlicher Bilder, Bestimmen einer neuen Fokuskurve, finden ihres Peaks usw.). Solche Abläufe sind langsamer, aber robuster. In einer anderen Ausführungsform können die Autofokusabläufe abgeschlossen werden, und eine Fehlerbezeichnung kann ausgegeben werden. In einer anderen Ausführungsform können eines oder mehrere zusätzliche vorberechnete Einstellungen durchgeführt werden, in Abhängigkeit von der Form der Kontrastkurve. Wenn der zweite Bildfokuswert nicht größer als der erste Bildfokuswert ist, dann wird eine zweite Einstellentfernung bestimmt und die Sichtmaschine wird in eine „entgegengesetzte” Einstellrichtung bewegt, die der ersten Einstellrichtung entgegengesetzt ist, um die Z-Höhe durch die zweite Einstellentfernung einzustellen. Die zweite Einstellentfernung wird aufgrund von zumindest entweder der ersten Einstellentfernung oder den repräsentativen merkmalspezifischen Fokuskurvendaten bestimmt. Zum Beispiel wird in einer Ausführungsform die zweite Einstellentfernung als ungefähr zweimal die erste Einstellentfernung bestimmt. In einer anderen Ausführungsform wird die zweite Einstellentfernung unabhängig der ersten Einstellentfernung bestimmt, aber auf dieselbe Art. Ein drittes Bild wird dann erfasst und ein dritter Bildfokuswert wird in dem Bereich-von-Interesse bestimmt, und eine Bestimmung wird vorgenommen, ob der dritte Bildfokuswert größer als der Fokusschwellwert ist. Wenn der dritte Bildfokuswert nicht größer als der Fokusschwellwert ist, dann rufen oder führen aus die schnellen ungefähren Standartfokusabläufe (z. B. wie oben beschrieben), und wenn er größer ist, dann werden Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt. In einer Ausführungsform können die schnellen ungefähren Fokusabläufe (optional) einen zusätzlichen Aspekt aufweisen, wobei, unter manchen Umständen, die letzte erfolgreiche plus oder minus Z-Einstellrichtung aufgenommen werden kann und/oder als die erste Einstellrichtung in einem darauffolgenden nächsten Vorgang zur Durchführung der schnellen ungefähren Autofokusabläufe verwendet werden, für ein nächstes zu inspizierendes Merkmal. Wenn es mehrere zu inspizierende Merkmale gibt, dann beginnt die Routine noch mal mit dem nächsten Merkmal oder aber die Inspektionsergebnisse werden gespeichert/ausgegeben und/oder das Teilprogramm wird beendet.
  • Es sollte geschätzt werden, dass das Durchführen einer nachfolgenden Einstellung oder Suche in derselben Richtung, wie die letzte (vorherige) erfolgreiche Einstellrichtung vorteilhaft ist, wenn ein Teil, welches als nominell flach (oder ungefähr so) inspiziert wird, aber auf der Stufe des maschinellen Sichtsystems geneigt oder gewölbt ist. Wenn ein Feld von Merkmalen auf solchen Teilen inspiziert wird (z. B. gedruckte Schaltkreislöcher) ist die Neigung wahrscheinlich gleichbleibend oder zumindest nur langsam wechselnd, so dass eine Fokuseinstellrichtung, die während der Inspektion des vorherigen Arbeitsstückmerkmals erfolgreich war, wahrscheinlich die korrekte Fokuseinstellrichtung für das nächste Arbeitsstückmerkmal ist. Daher wird dieses Verfahren wahrscheinlich beim Inspizieren solcher Arbeitsstücke den Durchsatz verbessern oder maximieren.
  • Kurze Beschreibung der Zeichnungen
  • Die vorangegangenen Aspekte und viele der vorhandenen Vorteile dieser Erfindung werden schneller geschätzt werden, da dieselben besser verständlich werden durch Bezug auf die folgende detaillierte Beschreibung, und wenn sie in Zusammenhang mit dem beigefügten Zeichnungen genommen werden, in denen:
  • 1 ein Diagramm ist, welches verschiedene, typische Komponenten eines maschinellen Präzisionssichtinspektionssystems für einen allgemeinen Zweck zeigt;
  • 2 ein Diagramm eines Steuersystemabschnittes ist und eines Sichtkomponentenabschnittes eines maschinellen Sichtinspektionssystems;
  • 3 ein Diagramm ist, welches Auf- und Seitenansichten eines Arbeitsstückes und einer Reihe zu inspizierender Merkmale zeigt, entlang mit einer Abfolge von Fokuspositionen einer Kamera gemäß einer Ausführungsform von schnellen ungefähren Autofokusabläufen während einer Abfolge von Merkmalsinspektionen.
  • 4 ein repräsentativer Graph ist, der eine gelernte repräsentative Fokuskurve und eine diskrepante Laufzeit Fokuskurve zeigt;
  • 5 ein Flussdiagramm ist, welches einen exemplarischen allgemeinen Ablauf für schnelle ungefähre Fokusabläufe während des Lernmodus zeigt;
  • 6 ein Flussdiagramm ist, welches eine exemplarische allgemeine Routine für schnelle ungefähre Fokusabläufe während des Laufmodus zeigt;
  • 7 ein Flussdiagramm ist, welches eine Routine für eine erhöhte Implementierung schneller ungefährer Fokusabläufe während des Lernmodus zeigt;
  • 8A und 8B Flussdiagramme sind, die eine Routine für eine erhöhte Implementierung schneller ungefährer Fokusabläufe während des Laufmodus zeigen;
  • 9A bis 9C Diagramme sind, welche verschiedene Merkmale einer Ausführungsform einer schnellen ungefähren Autofokuswerkzeugbenutzterschnittstelle zeigen, einschließlich einer Werkzeugparameter bearbeitenden Dialogbox; und
  • 10 ein Diagramm ist, welches eine Ausführungsform einer maschinellen Sichtinspektionssystembenutzerschnittstellenanzeige, einschließlich verschiedener, mit einem schnellen ungefähren Autofokuswerkzeug verbundenen Merkmal, zeigt.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • 1 ist ein Blockdiagramm eines exemplarischen maschinellen Sichtinspektionssystems 10, welches in Übereinstimmung mit der vorliegenden Verbindung verwendet werden kann. Das maschinelle Sichtinspektionssystem 10 schließt eine Sicht messende Maschine 12 ein, die wirksam zum Austausch von Daten und Steuersignalen mit einem steuernden Computersystem 14 verbunden ist. Das steu ernde Computersystem 14 ist weiterhin wirksam zum Austausch von Daten und Steuersignalen mit einem Monitor oder einer Anzeige 16, einem Drucker 18, einem Joystick 20, einer Tastatur 24 und einer Maus 26 verbunden. Der Monitor oder die Anzeige 16 kann eine Benutzerschnittstelle anzeigen, die zur Steuerung und/oder Programmierung der Abläufe des maschinellen Sichtinspektionssystems 10 geeignet ist.
  • Die Sicht messende Maschine 12 schließt eine bewegliche Arbeitsstückstufe 32 und ein optisches Bildsystem 34 ein, welches eine Zoomlinse oder austauschbare Linsen einschließen kann. Die Zoomlinse oder die austauschbaren Linsen, stellen im Allgemeinen verschiedene Vergrößerungen für die Bilder bereit, die durch das optische Bildsystem 34 bereitgestellt werden. Das maschinelle Sichtinspektionssystem 10 ist im Allgemeinen mit der QUICK VISION®-Serie der Sichtsysteme und der QVPAK®-Software vergleichbar, wie oben diskutiert, und ähnlichen kommerziell erhältlichen maschinellen Präzisionssichtinspektionssystemen des Standes der Technik. Das maschinelle Sichtinspektionssystem 10 ist auch in dem US Patentnummer 7,454,053 beschrieben, welches hier vollständig durch Bezug eingefügt wird. Verschiedene Aspekte von Sichtmessmaschinen und Steuersystemen sind ebenfalls detaillierter in der parallelen anhängigen und allgemein zugänglichen US Patentabmeldung Nr. 10/632,823 beschrieben, die am 4. August 2003 angemeldet wurde, und in US Patentnummer 7,324,682 , welche am 25. März 2004 angemeldet wurde, welche beide ebenso hier durch Bezug vollständig eingefügt werden. Die schnellen ungefähren Fokusabläufe, wie hier diskutiert, können dramatisch den Durchsatz für einige Anwendungen von maschinellen Sichtinspektionssystemen erhöhen. Weiterhin können die Verfahren als ein einfach zu verwendendes Videowerkzeug und/oder Autofokusablaufmodus verwendet werden.
  • 2 ist ein Diagramm eines Steuersystemabschnittes 120 und eines Sichtkomponentenabschnittes 200 eines maschinellen Sichtinspektionssystems 100 in Übereinstimmung mit der vorliegenden Erfindung. Wie unten detaillierter beschrie ben werden wird, wird der Steuersystemabschnitt 120 zur Steuerung des Sichtkomponentenabschnittes 200 verwendet. Der Sichtkomponentenabschnitt 200 schließt einen optischen Anordnungsabschnitt 205, Lichtquellen 220, 230 und 240 und eine Arbeitsstückstufe 210 mit einem mittleren transparenten Abschnitt 212 ein. Die Arbeitsstückstufe 210 ist gesteuert zwischen X- und Y-Achsen beweglich, die in einer Ebenen liegen, die im Allgemeinen parallel der Oberfläche der Stufe ist, auf der ein Arbeitsstück 20 positioniert werden kann. Der optische Anordnungsabschnitt 205 schließt ein Kamerasystem 260 und eine austauschbare Objektivlinse 250 ein, und kann eine Revolverlinsenanordnung 280 mit Linsen 286 und 288 einschließen, und die koaxiale Lichtquelle 230. Alternativ zu der Revolverlinsenanordnung, kann eine starre oder manuell austauschbare Vergrößerungsänderungslinse, oder eine Zoomlinsengestaltung, oder ähnliches eingeschlossen sein. Der optische Anordnungsabschnitt 205 ist gesteuert entlang einer Z-Achse beweglich, die im Allgemeinen senkrecht zu den X- und Y-Achsen ist, unter Verwendung eines steuerbaren Motors 294, wie unten weiter beschrieben wird.
  • Ein Arbeitsstück 20, das abzubilden ist, unter Verwendung des maschinellen Sichtinspektionssystems 100 wird auf die Arbeitsstückstufe 210 platziert. Eines oder mehrere eines Stufenlichts 220, eines koaxialen Lichts 230 und eines Oberflächenlichts 240 kann Quelllicht 222, 232 oder 242 jeweils emittieren, um das Arbeitsstück 20 zu beleuchten. Das Quelllicht wird als Werkstücklicht 255 reflektiert oder übertragen, welches durch die austauschbare Objektivlinse 250 und die Revolverlinsenanorndung 280 verläuft und durch das Kamerasystem 260 gesammelt wird. Das Bild des Arbeitsstückes 220, welches durch das Kamerasystem 260 erfasst wird, wird an eine Signalleitung 262 zu dem Steuersystemabschnitt 120 ausgegeben. Die Lichtquellen 220, 230 und 240 können mit dem Steuersystemabschnitt 120 durch Signalleitungen oder Busse 221, 231 und 241 jeweils verbunden sein. Um die Bildvergrößerung zu ändern kann der Steuersystemabschnitt 120 die Revolverlinsenanordnung 280 entlang der Achse 284 rotieren, um eine Revolverlinse durch eine Signalleitung oder einen Bus 281 auszuwählen.
  • In verschiedenen exemplarischen Ausführungsformen ist der optische Anordnungsabschnitt 205 in der vertikalen Z-Achsenrichtung relativ zu der Arbeitsstückstufe 210 beweglich unter Verwendung eines steuerbaren Motors 294, welcher einen Betätiger, ein verbindendes Kabel oder ähnliches antreibt und den optischen Anordnordnungsabschnitt 205 entlang der Z-Achse zu bewegen, um den Fokus des Bildes des Arbeitsstückes 20 zu ändern, welches durch das Kamerasystem 260 erfasst wurde. Der Begriff Z-Achse, wie hier verwendet, bezieht sich auf die Achse, die dafür gedacht ist zum Fokussieren des Bildes verwendet zu werden, welches durch den optischen Anordnungsabschnitt 205 erhalten wurde. Der steuerbare Motor 294, wenn er verwendet wird, ist mit der Eingabe-/Ausgabeschnittstelle 130 über eine Signalleitung 296 verbunden.
  • Wie in 2 gezeigt, schließt in verschiedenen exemplarischen Ausführungsformen der Steuersystemabschnitt 120 eine Steuerung 125, eine Eingabe-/Ausgabeschnittstelle 130, ein Speicher 140, einen Arbeitsstückprogrammerzeuger und -ausführer 170 und einen Energieversorgungsabschnitt 190 ein. Jede dieser Komponenten, ebenso wie die unten beschriebenen zusätzlichen Komponenten, können durch einen oder mehrere Daten/Steuerbusse und/oder Anwendungsprogrammschnittstellen oder durch direkte Verbindungen zwischen den verschiedenen Elementen miteinander verbunden sein.
  • Die Eingabe-/Ausgabeschnittstelle 130 schließt eine Bildsteuerschnittstelle 131, eine Bewegungssteuerschnittstelle 132, eine Beleuchtungssteuerschnittstelle 133 und eine Linsensteuerschnittstelle 134 ein. Die Bewegungssteuerschnittstelle 132 kann ein Positionssteuerelement 132a und ein Geschwindigkeits-Beschleunigungssteuerelement 132b einschließen. Jedoch sollte geschätzt werden, dass in verschiedenen exemplarischen Ausführungsformen solche Elemente zusammengefasst und/oder ununterscheidbar sein können. Die Beleuchtungssteuerschnittstelle 133 schließt Beleuchtungssteuerelemente 133a bis 133n ein, welche z. B. die Auswahl, die Leistung, den Ein-/Ausschalter und die Stroboskoptaktzei ten steuern, wenn anwendbar, für die verschiedenen entsprechenden Lichtquellen des maschinellen Sichtinspektionssystems 100.
  • Der Speicher 140 schließt einen Bilddateispeicherabschnitt 141, einen Arbeitsstückprogrammspeicherabschnitt 142, welcher eines oder mehrere Teilprogramme einschließen kann oder ähnliches, und einen Videowerkzeugabschnitt 143 ein. Der Videowerkzeugabschnitt 143 schließt einen Werkzeugabschnitt 143a und andere ähnliche Werkzeugabschnitte (nicht gezeigt) ein, welche den GUI, den Bildverarbeitungsablauf usw., für jedes der entsprechenden Werkzeuge bestimmt. Der Videowerkzeugabstandabschnitt 143 schließt ebenso einen Bereich-von-Interesse-Erzeuger 143x ein, der automatische, halbautomatische und/oder manuelle Abläufe unterstützt, welche verschiedene ROIs definieren, die in verschiedenen Videowerkzeugen ausführbar sind, die in dem Videowerkzeugabschnitt 143 eingeschlossen sind.
  • Insbesondere schließt in verschiedenen Ausführungsformen gemäß dieser Erfindung der Videowerkzeugabschnitt 143 den Autofokuswerkzeugabschnitt 143f ein, welcher verschiedene Abläufe und Merkmale in Bezug auf die Autofokusabläufe bereitstellt, wie unten detaillierter beschrieben. In einer Ausführungsform kann der Autofokuswerkzeugabschnitt 143f eine Autofokusmodussteuerung 143fa, Hochpräzisionsautofokuswerkzeuge 143fb und ein schnelles ungefähres Autofokuswerkzeug 143fc einschließen. Kurz, können die Hochpräzisionsautofokuswerkzeuge 143fb ähnlich bekannten Autofokuswerkzeugen arbeiten, z. B. Abläufe im Lernmodus und Laufmodus ausführen, wie ein Erfassen eines gegenwärtigen Bildstapels an verschiedenen Z-Höhen, ein Erzeugen der gesamten oder eines Teils einer Fokuskurve und ein Auffinden ihres Peaks als eine am besten fokussierte Position, die immer zu dem gegenwärtigen Arbeitsstückmerkmal und den Betriebsbedingungen „passt”. Das schnelle ungefähre Autofokuswerkzeug 143fc arbeitet aufgrund schneller ungefährer Fokusverfähren der vorliegenden Erfindung. Im Gegensatz zu den „Hochpräzisionsautofokuswerkzeugen” 143fb bestimmt das schnelle ungefähre Autofokuswerkzeug 143fc eine repräsentative Fo kuskurve für ein bestimmtes Merkmal im Lernmodus, und bezieht sich auf dieselben Fokuskurvendaten, wenn ein ähnliches bestimmtes Merkmal während des Laufmodus inspiziert wird, um das Zeit kostende Verfahren des Erfassens und Analysierens eines neuen Bildstapels im Laufmodus zu vermeiden. Die Autofokusmodussteuerung 143fa kann Abläufe durchführen, wie hier offenbart, um die Autofokuswerkzeuge (d. h. die Hochpräzisionswerkzeuge 143fb oder das schnelle ungefähre Autofokuswerkzeug 143fc) oder Werkzeugmodi davon abhängig zu konfigurieren, welches Werkzeug oder welcher Modus aktiviert ist.
  • Die Beschreibung „Hochpräzision” der Autofokuswerkzeuge 143fb ist nicht als beschreibend gedacht, er ist einfach nur im Gegensatz zu der niedrigen Fokuspräzision des schnellen ungefähren Autofokuswerkzeugs 143fc ausgewählt, welches zum Akzeptieren eines einigermaßen verschlechterten Bildfokus gedacht ist, im Austausch für einen höheren Durchsatz. Die Hochpräzisionsautofokuswerkzeuge 143fb stellen im Allgemeinen die am besten fokussierte Position bereit, welche die entsprechende Oberflächen Z-Höhe präziser bezeichnet. Im Gegensatz dazu verwendet das schnelle ungefähre Autofokuswerkzeug 143fc die Verfahren der vorliegenden Erfindung, um schnell ein ungefähr fokussiertes Bild bereitzustellen, welches zuverlässig ausreichend präzise X-Y-Kantenmessungen unterstützen kann, aber meistens nicht zur Bestimmung einer präzisen Z-Höhenmessung geeignet ist.
  • Alternative Gestaltungen sind für den Autofokuswerkzeugabschnitt 143f möglich. Zum Beispiel kann das Hochpräzisionsautofokuswerkzeug 143fb und das schnelle ungefähre Autofokuswerkzeug 143fc partitionierte Modussteuerfunktionen einschließen, sodass ein einzelner Modussteuerabschnitt 143fa ausgelassen werden kann. Alternativ kann der Autofokuswerkzeugabschnitt 143f eines oder mehrere allgemeine Autofokuswerkzeugelemente bereitstellen, und der Modussteuerabschnitt 143fa kann Abläufe bereitstellen, die die Benutzerschnittstelle und die Wechselwirkungen der allgemeinen Autofokuswerkzeugelemente in einer Art regeln, die davon abhängen, ob ein Hochpräzisionsautofokuswerkzeugverhalten oder ein schnelles ungefähres Autofokuswerkzeugverhalten gewünscht ist. In solch einem Fall können die Schaltungen, Routinen oder Anwendungen, die die Abläufe der Hochpräzisionsautofokuswerkzeuge 143fb und/oder des schnellen ungefähren Autofokuswerkzeugs 143fc bereitstellen, zusammengelegt und/oder unterscheidbar sein. In bestimmten Implementierungen kann die Autofokusmodussteuerung 143fa zur Implementierung eines schnellen ungefähren Autofokusmodus verwendet werden (im Gegensatz zu einem einzelnen Werkzeug). Insbesondere kann diese Erfindung in jeder jetzt bekannten oder später entwickelten Form implementiert werden, die in Zusammenarbeit mit dem maschinellen Sichtinspektionssystem 100 betreibbar ist, um die hier offenbarten Merkmale in Bezug auf die schnellen ungefähren Autofokusabläufe bereitzustellen.
  • Im Allgemeinen speichert der Speicherabschnitt 140 Daten, die zum Betreiben des Sichtsystemkomponentenabschnittes 200 zum Erbringen oder Erfassen eines Bildes des Werkstücks 20 verwendbar sind, sodass das erfasste Bild des Werkstücks 20 gewünschte Bildcharakteristiken aufweist. Der Speicherabschnitt 140 kann ebenso Inspektionsergebnisdaten speichern, und kann weiterhin Daten speichern, die zum Betreiben des maschinellen Sichtinspektionssystems 100 zum Durchführen verschiedener Inspektions- und Messabläufe auf den erfassten Bildern verwendbar sind (z. B. implementiert, teilweise als Videowerkzeuge), entweder manuell oder automatisch, und die Ergebnisse durch die Eingabe-/Ausgabeschnittstelle 130 ausgeben. Der Speicherabschnitt 140 kann ebenso Daten beinhalten, die eine grafische Benutzerschnittstelle definieren, die durch die Eingabe-/Ausgabeschnittstelle 130 betreibbar ist.
  • Die Signalleitungen oder Busse 221, 231 und 241 des Stufenlichts 220, des koaxialen Lichtes 230 und des Oberflächenlichtes 240 sind jeweils alle durch die Eingabe-/Ausgabeschnittstelle 130 verbunden. Die Signalleitung 262 von dem Kamerasystem 260 und die Signalleitung 296 von dem steuerbaren Motor 294 sind mit der Eingabe-/Ausgabeschnittstelle 130 verbunden. Zusätzlich, zum Übertragen von Bilddaten, kann die Signalleitung 262 ein Signal von der Steuerung 125 übertragen, welches eine Bilderfassung auslöst.
  • Eine oder mehrere Anzeigevorrichtungen 136 und eine oder mehrere Eingabevorrichtungen 138 können ebenso mit der Eingabe-/Ausgabeschnittstelle 130 verbunden sein. Die Anzeigevorrichtungen 136 und die Eingabevorrichtungen 138 können zur Anzeige einer Benutzerschnittstelle verwendet werden, welche verschiedene graphische Benutzerschnittstellen (GUI) Merkmale einschließen kann, die zur Durchführung von Inspektionsabläufen und/oder zur Erzeugung und/oder Modifizierung von Teilprogrammen verwendbar sind, um die durch das Kamerasystem 260 erfassten Bilder anzusehen und/oder den Sichtsystemkomponentenabschnitt 200 direkt zu steuern. In einem vollständig automatisierten System mit einem vordefinierten Teilprogramm (oder Arbeitsstückprogramm) können die Anzeigevorrichtungen 136 und/oder die Eingabevorrichtungen 138 ausgelassen werden.
  • In verschiedenen exemplarischen Ausführungsformen, wenn ein Benutzer das maschinelle Sichtinspektionssystem 100 zur Erzeugung eines Teilprogramms für das Arbeitsstück 20 verwendet, erzeugt der Benutzer Teilprogramminstruktionen, entweder durch expliziertes Kodieren der Instruktionen automatisch, halbautomatisch oder manuell unter Verwendung einer Arbeitsstückprogrammiersprache oder durch Erzeugen der Instruktionen durch Betätigen des maschinellen Sichtinspektionssystems 100 in einem Lernmodus, um eine gewünschte Bilderfassungstrainingssequenz bereitzustellen. Zum Beispiel kann eine Trainingssequenz das Positionieren eines Arbeitsstückmerkmals in dem Gesichtsfeld (FOV), das Einstellen von Lichtleveln, das Fokussieren oder Autofokussieren, das Erfassen eines Bildes und die Bereitstellung einer Inspektionstrainingssequenz umfassen, die auf das Bild angewandt wird (z. B. unter Verwendung von Videowerkzeugen). Der Lernmodus arbeitet so, dass die Sequenz(en) erfasst werden und in entsprechende Teilprogramminstruktionen konvertiert werden. Diese Instruktionen bringen die maschinelle Sichtinspektion dazu, die trainierte Bilderfassung und Inspektionsab lauf zum automatischen Inspizieren eines Arbeitsstückes oder Arbeitsstücken auszuführen, die zum Arbeitsstück passen, welches bei Erzeugung des Teilprogramms verwendet wurde.
  • Diese Analyse und Inspektionsverfahren, die zum Inspizieren von Merkmalen in einem Arbeitsstückbild verwendet werden, sind typischerweise in verschiedenen Videowerkzeugen verkörpert, einschließlich dem Videowerkzeugabschnitt 143 des Speichers 140 und einschließlich der Autofokuswerkzeuge 143fb und 143fc. Viele bekannte Videowerkzeuge oder kurz „Werkzeuge” sind in kommerziell verfügbaren maschinellen Sichtinspektionssystemen eingeschlossen, wie die QUICK VISION®-Serie von Sichtsystemen und die damit verbundene QVPAK®-Software, wie oben diskutiert.
  • 3 ist ein Diagramm 300, welches eine Draufsicht 310 und eine Seitenansicht 320 eine Serie zu inspizierenden Arbeitsstückmerkmalen im Laufmodus zeigt, entlang mit einer Sequenz von Kamerafokuspositionen während einer Sequenz von Merkmalinspektionen entsprechend einer Ausführungsform von schnellen ungefähren Autofokusabläufen. Wie in der Draufsicht 310 gezeigt, schließt das Arbeitsstück 311 Arbeitsstückmerkmale 312A bis 312D ein. Zur Erklärung ist jedes der Arbeitsstückmerkmale 312A bis 312D umschlossen in einem Bereichvon-Interesse (ROI) gezeigt, welches durch die äußeren Begrenzungen seines entsprechenden schnellen Autofokusvideowerkzeugs definiert ist, um ausgewählt zu werden, untersucht und im Lernmodus manipuliert, um ein Teilprogramm zu erzeugen, wie unten mit Bezug zu 10 detaillierter beschrieben. Jedoch wird verstanden werden, dass die verschiedenen Merkmale und ihre entsprechenden Videowerkzeuge typischerweise im Gesichtsfeld der Kamera, jeweils eines, alleine positioniert sind, wie durch die Beschreibung unten impliziert. Jeder einzelne Vorgang einer schnellen Autofokusvideowerkzeug GUI-Vorrichtung ist Teil eines entsprechenden Vorgangs des schnellen Autofokusvideowerkzeugs. Aufgrund dieses eins zu eins Verhältnisses, ist es häufig angenehm sich untereinander austauschbar auf die graphische Vorrichtung und das Werkzeug zu beziehen und die Bedeutung wird aufgrund des Zusammenhangs klarwerden. Nichtsdestotrotz wird verstanden werden, dass die zwei Begriffe nicht tatsächlich identisch sind, und dass das Werkzeug zugrundeliegende Abläufe und andere Merkmale zusätzlich zu der Vorrichtung umfasst.
  • In 3 verläuft die Teilprogramminspektionssequenz von links nach rechts, wie durch die Pfeile bezeichnet, beginnend mit der Inspektion des Arbeitsstücksmerkmals 312A und danach voranschreitend zu jedem der Arbeitsstückmerkmale 312B, 312C und 312D. Zur Erklärung kann man sich denken, dass sich eine Kamera von links nach rechts über das Arbeitsstück 311 bewegt und nacheinander Bilder der Bereiche von Interesse von jedem der Videowerkzeuge 314A bis 314D erfasst, wie unten beschrieben. Die schnellen Autofokusvideowerkzeuge 314A bis 314D regeln die fokussierenden Abläufe, die durchgeführt werden, um akzeptable Inspektionsbilder der entsprechenden Bereiche-von-Interesse zu erfassen.
  • Wie in der Seitenansicht 320 gezeigt, ist in diesem Beispiel das Arbeitsstück 311, relativ zu einer horizontalen gestrichelten Linie 321 gewölbt, die eine flache Oberflächenebene eines Arbeitsstückes darstellt, welches zur Erzeugung des Teilprogramms während des Lernmodus verwendet wurde, wie unten detaillierter beschrieben werden wird. Im Allgemeinen wird geschätzt werden, dass bestimmte nominalflache und dünne Arbeitsstückteile relativ einfach deformieren und/oder unabsichtlich auf der Stufe geneigt werden können (z. B. bedruckte Schaltkreise, große flache Panelanzeigen usw.). Demnach können die Laufmodusarbeitsstücke nicht der Form der jeweiligen Arbeitsstücke entsprechen, die zum Training im Lernmodus verwendet wurden. Die Deformation des Arbeitsstückes 311 in 3 ist in der Z-Richtung zur besseren Illustration übertrieben. Zusätzlich wurde eine rein schematische Darstellung der Kamera verwendet, um die fokussierenden Bewegungen zu betonen, die unten detaillierter beschrieben werden.
  • Wie in der Seitenansicht 320 für das Arbeitsstückmerkmal 312A gezeigt, wird die Kamera ursprünglich auf eine nominelle Z-Höhe 322A gesetzt, die einer gelernten ursprünglichen Fokussierungsposition (einer Z-Position) relativ zu der flachen Ebene 321 entspricht, wie während des Lernmodus festgelegt wurde. Es wird geschätzt werden, dass, da das Arbeitsstückmerkmal 312A auf der gewölbten Oberfläche des Arbeitsstückes 311 signifikant unter die flache Ebene 321 fällt, die nominelle Z-Höhe 320A der Kamera nicht zu einem akzeptablen Fokus metrischen Wert führt (also bezogen auf einen Fokuswert) in dem ROI, wie unten detaillierter beschrieben. Eine Standard erste Einstellungsrichtung war ursprünglich programmiert oder festgelegt, welche in diesem Fall die Kamera dazu bringt, sich aufwärts um eine ursprüngliche Einstellentfernung zu bewegen, von der Z-Höhe 322A zu einer Z-Höhe 322A'. Die ursprüngliche Einstellentfernung ist eine geschätzte Entfernung von der Z-Höhe 322A zu einer am besten fokussierten Position aufgrund der Fokuskurvendaten, die während des Lernmodus bestimmt wurden, und des gegenwärtigen Fokuswertes, wie unten detaillierter beschrieben werden wird. An der Z-Höhe 322A' wird ein neues Bild erfasst und der Fokuswert wird wieder ausgewertet, und wird wieder als nicht akzeptabel bestimmt, und wird weiterhin als schlechter als der erste Fokuswert bestimmt. Als Ergebnis dieses Ausgangs bewegt die Routine die Kamera in die entgegen gesetzte Richtung, um eine Einstellentfernung, die, wie zuvor, als die Entfernung zu einer am besten fokussierten Position geschätzt wird (z. B. um zweimal die Entfernung, die sich in die ursprüngliche Einstellrichtung bewegt wurde), und ein neues Bild wird erfasst. Diese Einstellung führt dazu, dass sich die Kamera in der Z-Höhe 322A'' befindet. An der Z-Höhe 322A'' befindet sich die Kamera unterhalb der ursprünglich gelernten und programmierten Position 322A, so wie sich das Arbeitsstückmerkmal 312A unter der Position seines entsprechenden Merkmals während des Lernmodus befindet. Als ein Ergebnis wird ein Fokuswert, der für den ROI in dem neuen/gegenwärtigen Bild bestimmt wurde, als auf ein akzeptables Niveau bestimmt (z. B. wie unten mit Bezug zu 4 betont), und die Inspektionsabläufe (z. B. X-Y-Kantenortmessabläufe) werden in dem gegenwärtigen Bild durchgeführt.
  • Das Teilprogramm bewegt dann die Kamera zu der programmierten X-Y-Stelle des nächsten Arbeitsstückmerkmals 312B. In der schnellen ungefähren Fokusvi deowerkzeugabläufeausführungsform nach 3 wird die Kamera an die letzte, erfolgreiche Kamera Z-Höhe bewegt und positioniert, die ein akzeptables Inspektionsbild produziert hat (d. h. zur Z-Höhe 322A''), wobei jede Z-Höhe des Merkmals 312B „verworfen” wird, welches im Lernmodus beobachtet oder aufgenommen wurde. Es ist vorteilhaft dieses Merkmal in verschiedenen Ausführungsformen der schnellen ungefähren Fokusvideowerkzeugsoperationen aufzunehmen, jedoch ist es nicht strikt notwendig. Ein Bild wird an der ursprünglichen Z-Höhe 322B erfasst (welche 322A'' entspricht) und der in dem ROI bestimmte Fokuswert wird aufgrund der Wölbung des Arbeitsstückes 311 akzeptabel sein, wobei die Positionen des Arbeitsstücksmerkmals 312B ungefähr auf derselben Höhe wie die des Arbeitsstückmerkmals 312A sind. Inspektionsabläufe werden in dem Bild durchgeführt.
  • Das Teilprogramm bewegt die Kamera dann zu der programmierten X-Y-Stelle des nächsten Arbeitsstückmerkmals 312C. Wie zuvor wird die Kamera zu der letzten erfolgreichen Kamera Z-Höhe bewegt und positioniert, die ein akzeptables Inspektionsbild erzeugt hat (d. h. zu einer Z-Höhe 320B). Ein Bild wird bei der ursprünglichen Z-Höhe 322C (welche 322B entspricht) erfasst. Da das Arbeitsstückmerkmal 312C sich an einer deutlich unterschiedlichen Höhe befindet als das Arbeitsstückmerkmal 312B, und die Kamera ursprünglich auf derselben Z-Höhe ist, ist das erfasste Bild deutlich außerhalb des Fokus und stellt keinen akzeptablen Fokuswert in diesem ROI bereit. In der schnellen ungefähren Fokusvideowerkzeugabläufeausführungsform von 3, wenn ein vorheriges schnelles ungefähres Fokuswerkzeug zu einer erfolgreichen Bildhöhe bewegt wird, wird die Richtung dieser Bewegung gespeichert und als die erste Einstellrichtung für einen folgenden Vorgang des schnellen ungefähren Fokuswerkzeugs verwendet. In diesem Beispiel verursacht die Kamera eine Abwärtsbewegung, um eine ursprüngliche Einstellentfernung, von der Z-Höhe 322C zu einer Z-Höhe 322C'. So wie mit allen Einstellentfernungen ist die ursprüngliche Einstellentfernung eine geschätzte Entfernung von der gegenwärtigen Z-Höhe 322A zu einer am besten fokussierten Position aufgrund von Fokuskurvendaten, die während des Lernmodus erfasst wurden, und dem gegenwärtigen Fokuswert, wie unten detaillierter beschrieben wird. An der Z-Höhe 322C' wird ein neues Bild erfasst und der Fokuswert wird wieder ausgewertet, und wird wieder als nicht akzeptabel bestimmt und weiterhin als schlechter als der erste Fokuswert bestimmt. Als Ergebnis dieses Ausgangs bewegt die Routine dann die Kamera in die entgegen gesetzte Richtung, um eine Einstellentfernung, die, wie zuvor, als die Entfernung zu einer am besten fokussierten Position geschätzt wird (z. B. zweimal die Entfernung, in die ursprüngliche Einstellrichtung bewegt) und ein neues Bild wird erfasst. Die Einstellung führt dazu, dass sich die Kamera in der Z-Höhe 322C'' befindet. An der Z-Höhe 322C'' befindet sich die Kamera oberhalb der letzten erfolgreichen Z-Höhe 332B gerade so, wie sich das Arbeitsstückmerkmal 312C oberhalb der Position des vorherigen Arbeitsstückmerkmals 312B befindet. Die Kamera folgte nun der lokalen Deformation oder Neigung des Teils. Als ein Ergebnis wird ein Fokuswert, der für den ROI in dem neuen/gegenwärtigen Bild bestimmt ist, bestimmt, auf einem akzeptablen Niveau zu sein, und Inspektionsabläufe werden in dem gegenwärtigen Bild durchgeführt.
  • Das Teilprogramm bewegt dann die Kamera zu der programmierten X-Y-Stelle des nächsten Arbeitsstückmerkmals 312D und die letzte erfolgreiche Kamera X-Höhe, die ein akzeptables Inspektionsbild erzeugt hat (d. h. die Z-Höhe 322C''). Ein Bild wird in der ursprünglichen Z-Höhe 322D erfasst (welche 322C'' entspricht). Da das Arbeitsstückmerkmal 312D an einer deutlich unterschiedlichen Höhe ist, als das Arbeitsstückmerkmal 312C, ist das erfasste Bild deutlich außerhalb des Fokus und stellt keinen akzeptablen Fokuswert in dem ROI bereit. Wie vorher bemerkt, in der schnellen ungefähren Fokusvideowerkzeugabläufeausführungsform von 3, wenn ein vorheriges schnelles ungefähres Fokuswerkzeug in eine erfolgreiche Bildhöhe bewegt wird, wird die Richtung davon gespeichert und als die Ausgangssuchrichtung für ein folgendes schnelles ungefähres Fokuswerkzeug verwendet. Dies ist eine gute Strategie für leicht gewölbte oder geneigte Oberflächen, welche im Allgemeinen eine konstante Neigungsrichtung für große Abschnitte der Oberfläche beibehalten (was für das gegenwärtige Merkmal der Fall ist). Daher bewegt sich in diesem Beispiel die Kamera dann aufwärts, um eine ursprüngliche Einstellrichtung von der Z-Höhe 322D zu einer Z-Höhe 322D'. Die ursprüngliche Einstellentfernung wird, wie oben beschrieben, geschätzt. An der Z-Höhe 322D' wird ein neues Bild erfasst und der Fokuswert wird wieder ausgewertet und wird als akzeptabel bestimmt. An der Z-Höhe 322D' befindet sich die Kamera oberhalb der letzten erfolgreichen Z-Höhe 322C'', genauso wie sich das Arbeitsstückmerkmal 312D oberhalb der Position des vorherigen Arbeitsstückmerkmals 312C befindet. Die Kamera verfolgt weiterhin die lokale Deformation oder Neigung des Teils. Als ein Ergebnis wird ein Fokuswert, der für den ROI in dem neuen/gegenwärtigen Bild bestimmt wurde, als auf einem akzeptablen Niveau liegend bestimmt, und die Inspektionsabläufe werden in dem gegenwärtigen Bild durchgeführt.
  • 4 ist ein Diagramm eines Graphen 400, der eine gelernte repräsentative Fokuskurve 410 zeigt, welche in dem Teilprogramm während der Lernmodusabläufe bestimmt und/oder aufgenommen wurde, und eine diskrepante Laufmodusfokuskurve 420. Jede Fokuskurve entspricht dem ROI, der in einem Vorgang eines schnellen ungefähren Fokuswerkzeugs definiert wurde. Insbesondere entspricht der ROI demselben Merkmal während des Lernmodus und den Laufmodusabläufen. In diesem Zusammenhang bedeutet „dasselbe Merkmal” ein Merkmal, welches gleich und kongruent auf zwei verschiedenen Arbeitsstücken ist. Es sollte geschätzt werden, dass die diskrepante Laufmodusfokuskurve 420 nicht tatsächlich bestimmt ist, sondern Laufmodusfokusverhalten unterliegt oder dieses reflektiert und hier nur für die Erklärung gezeigt ist. Im Allgemeinen, um die gelernte repräsentative Fokuskurve 410 während eines Lernmodus zu erzeugen, wie die Kamera des maschinellen Sichtsystems durch einen Bereich durch Positionen entlang der Z-Achse bewegt wird, um ein Bild an jeder Position zu erfassen. Exemplarische Technologien für die Bestimmung und Analyse von Fokuskurven sind in der US Patentnummer 6,542,180 gelehrt, welches hier vollständig durch Bezug eingefügt ist. Für jedes erfasste Bild wird ein Fokusmetrikwert für den ROI berechnet und mit der entsprechenden Z-Position der Kamera zu der Zeit gepaart, bei welcher das Bild erfasst wurde, um Datenpunkte (Koordinaten) bereitzustellen, die die Fokuskurve definieren. In einer Ausführungsform kann die Fokusmetrik eine Berechnung des Kontrasts oder der Schärfe des Bereichs-von-Interesse in einem Bild beinhalten. In verschiedenen Ausführungsformen können die Fokuswerte oder die Kurve normalisiert sein (z. B. wie durch 4 gezeigt). In einer Ausführungsform können die Fokuswerte oder die Kurve durch den Mittelgraustufenwert oder das Mittel der quadratischen Graustufenwerte der Bildpixel in dem ROI normalisiert sein. Verschiedene Fokusmetriken sind detailliert in den eingefügten Dokumenten beschrieben und verschiedene geeignete Fokuswertfunktionen sind dem Fachmann bekannt. Demnach werden solche Funktionen nicht weiterhin beschrieben.
  • Wie allgemein bekannt ist, hängt die Form einer Fokuskurve von einer Anzahl von Faktoren ab, wie die Art der Oberfläche (z. B. Form, Textur usw.), der Fokallänge, der Größe des Bereichs-von-Interesse (z. B. kann ein größerer Bereich-von-Interesse weniger Rauschen entsprechen), Beleuchtungsbedingungen usw.. Die Fokusmetrikwerte (z. B. normalisierte Kontrastwerte) auf der Y-Achse von 4 entsprechen im Allgemeinen der Qualität des Fokus eines Merkmals, welches in dem Bereich-von-Interesse eines entsprechenden Bildes eingeschlossen ist. Ein Fokuswert, der höher auf der Y-Achse liegt, entspricht einem besseren Fokus. Demnach entspricht eine beste Fokusposition dem Peak der Fokuskurve (z. B. der Peakfokuskurven Z-Höhe 211), wie unten detaillierter beschrieben werden wird. Eine Fokuskurve ist häufig ungefähr symmetrisch und ähnelt einer Glockenkurve. In der in 4 gezeigten Ausführungsform wurden die Fokuswerte für die Kurven 410 und 420 „ideal” normalisiert (d. h. ihre Maxima wurden gleichgesetzt, obwohl sie in der Praxis normalerweise leicht unterschiedlich werden, sogar nach einer Normalisierung), so dass sie anständig verglichen werden können. Es wird geschätzt werden, dass die Normalisierung der vollen Fokuskurve 420 in einer tatsächlichen Ausführungsform nicht durchgeführt würde, da die Daten der Fokuskurve 420 tatsächlich in der Praxis nicht erfasst werden (es ist nur zur Erklärung in 4 gezeigt). Jedoch kann eine Normalisierung des ersten Bildfokus werts 424 und anderer einzelner Bildfokuswerte, die während des Laufmodus bestimmt wurden (z. B. durch den mittleren Graustufenwert oder den mittleren Quadratgraustufenwert in dem Bereich-von-Interesse) im Allgemeinen in verschiedenen Ausführungsformen durchgeführt werden, um die Effekte von Faktoren zu kompensieren, wie verschiedene Beleuchtungsbedingungen, Oberflächenausführungen und ähnliches.
  • Wie oben beschrieben, kann die gelernte repräsentative Fokuskurve 410 eine Kurve sein, die zu einem Satz von Fokuswertdatenpunkten passt, die während eines Trainings bei einem Vorgang eines schnellen ungefähren Fokuswerkzeug während dem Lernmodus bestimmt wurden. Im Gegensatz dazu ist die Laufmodusfokuskurve 420 nicht durch schnelle ungefähre Fokusabläufe bestimmt. Jedoch, wenn Hochpräzisionsautofokusabläufe während dem Laufmodus durchgeführt werden, würde die Fokuskurve 420 dabei herauskommen. Wie unten detaillierter beschrieben werden wird, ist ein wichtiger Vorteil der schnellen ungefähren Fokusabläufe der vorliegenden Erfindung, dass die Fokuskurve 420 im Allgemeinen nicht bestimmt ist, was die Zeit kostende Bilderfassungsabläufe in Zusammenhang mit dem Erzeugen einer Fokuskurve eliminiert. Die gelernte repräsentative Fokuskurve 410 repräsentiert oder ersetzt eher die Fokuskurve 420 für den zugrundeliegenden Laufmodus, um eine akzeptable ungefähre Fokusposition zu bestimmen.
  • Zur Erklärung können wir 4 so betrachten, dass es die Basis für einige vorher mit Bezug zu 3 beschriebene Abläufe bildet. Zum Beispiel kann die gelernte repräsentative Fokuskurve 410 einem Merkmal auf der flachen Ebene 321 von 3 während der Lernmodusabläufe entsprechen. Die diskrepante (z. B. breitere) Laufmodusfokuskurve 420 kann demselben Merkmal auf dem gewölbten Arbeitsstück 311 während der Laufmodusabläufe entsprechen (Merkmal 312A in dieser Erklärung). Beide Kurven sind normalisiert, wie vorher diskutiert. Die Laufmodusfokuskurve 420 kann diskrepant relativ zu der gelernten repräsentativen Fokuskurve 410 sein, da das gewölbte Arbeitsstück 311 eine etwas andere Gestal tung als die flache Ebene 321 des Lernmodus Arbeitsstückes aufweist. Aufgrund solcher Diskrepanzen werden die geschätzten Einstellentfernungen, wie vorher mit Bezug auf 3 beschrieben, welche auf der gelernten repräsentativen Fokuskurve 410 basieren, irgendwie inkorrekt sein. Die geschätzten Einstellentfernungen werden daher die Kamera nicht präzise an der Peakfokus Z-Höhe 411 positionieren. Jedoch in den in 4 gezeigten Ausführungsformen, wenn die geschätzte Einstellentfernung eine ungefähr fokussierte Z-Höhe bereitstellt, die zwischen den Z-Höhenbegrenzungen 414 liegt, akzeptieren die schnellen ungefähren Fokusabläufe dies als einen ausreichenden Fokuslevel zum Unterstützen der darauffolgenden Inspektionsabläufe, welche in dem korrespondierenden Bild auszuführen sind. Das Anwenden der schnellen ungefähren Fokusabläufe kann besonders vorteilhaft sein, wenn die darauffolgenden Inspektionsabläufe eine X-Y-Kantenerfassung und bezogene X-Y-Messabläufe sind. Dies ist so, da solche X-Y-Messabläufe relativ unempfindlich auf ein gewisses Maß von Bildunschärfe sind, welche dazu neigen ein Kantenprofil ohne eine deutliche Versetzung einer Mittelposition (z. B. ein maximaler Gradientenpunkt) des Kantenprofils zu verbreitern. Daher kann in solchen Fällen ein schnelles ungefähres Fokuswerkzeug oder Modus zur Erhöhung des Inspektionsdurchsatzes verwendet werden, ohne die Inspektionspräzision beträchtlich zu beeinflussen.
  • Die ungefähr fokussierten Z-Höhenbegrenzungen 414 können entsprechend einem vorher festgelegten Wert oder Algorithmus festgelegt werden, der in einem schnellen ungefähren Fokuswerkzeug oder Modus eingeschlossen ist, und darauffolgend in dem Teilprogramm angewandt werden. In dieser Beziehung, wenn die ungefähr fokussierten Z-Höhenbegrenzungen 414 auf die repräsentative Fokuskurve 410 angewandt werden, können sie betrachtet werden, als einen repräsentativen Fokusschwellwert 415 an ihrem Teilabschnitt definierend. Wie unten detaillierter beschrieben werden wird, kann der Fokusschwellwert 415 verwendet werden, um dazu beizutragen, schnell einen akzeptablen ungefähren Fokus zu erreichen, und dabei die Zeit kostende Aufgabe der Bestimmung einer Laufmodusfokuskurve 420 zu verhindern. In verschiedenen Ausführungsformen sind die Z- Höhenbegrenzungen 414 vorteilhaft von der Peakfokus Z-Höhe zwischen 1 und 7 mal die bekannte Fokallänge (DOF) des gegenwärtigen optischen Systems gesetzt und noch vorteilhafter zwischen 2 und 7 mal DOF. Die Z-Höhenbegrenzungen, die auf diese Art gesetzt sind, definieren typischerweise einen genügend niedrigen Schwellwert für die schnellen ungefähren Fokusabläufe, auf die sich oben bezogen wurde, um ausreichend fokussierte Bilder zu identifizieren, trotz der Diskrepanzen zwischen dem Lernmodus und den Laufmodusfokuskurven. Zur selben Zeit wurden solche Einstellungen gezeigt, um einen normalisierten Fokusschwellwert zu definieren (auf einer Lernmodusfokuskurve), der einen gewünschten Level von X-Y-Messpräzision und Wiederholbarkeit für einen weiten Bereich von Arbeitsstücken bereitstellt. Jedoch, allgemeiner, können die Z-Höhenbegrenzungen 414 an jeder Anzahl von DOF's gesetzt werden, die zuverlässig ausreichend fokussierte Bilder bereitstellen, und schon genug Bilddefokussierung erlauben, sodass die schnellen ungefähren Fokusabläufe typischerweise in der Lage sind ein akzeptables Bild bereitzustellen, welches ein Fokuswert oberhalb des Schwellwertes 415 aufweist, welches den Z-Höhenbegrenzungen 414 entspricht.
  • Die vorhergehenden Ausführungsformen sind nicht beschränkt. Zum Beispiel wird in einigen Ausführungsformen der entsprechende Fokusschwellwert 415 in dem Teilprogramm angewendet, eher als explizit die ungefähr fokussierten Z-Höhenbeschränkungen 414 zu verwenden. In anderen Ausführungsformen können andere Schwellwert bestimmende Verfahren und/oder Werte verwendet werden, und in gewissen Ausführungsformen kann der Fokusschwellwert 415 variabel sein. In einigen Ausführungsformen kann der Fokusschwellwert 415 leicht, aufgrund von Informationen, angepasst werden, die während des Laufmodus erhalten werden.
  • Die folgende Beschreibung wiederholt im Wesentlichen die vorangegangene Beschreibung der Abläufe, die das Merkmal 312A der 3 umgeben, während zusätzliche Erklärungen in Bezug auf 4 hinzugefügt werden. Wie in 3 ge zeigt, befindet sich in der Seitenansicht 320 des Arbeitsstückmerkmals 312A die Kamera von Anfang an auf eine nominelle Z-Höhe 322A gesetzt, die einer gelernten Ausgangsfokussierungsposition (einer Z-Position) relativ der flachen Ebene 321 entspricht, wie während des Lernmodus festgesetzt. Ein erstes Bild wird erfasst und ein erster Bildfokuswert wird für den ROI in dem Bild bestimmt, wie durch die Linie 424 in 4 gezeigt. Wie in 4 gezeigt, wird geschätzt werden, dass, aufgrund der unbekannten Gestaltung des Laufmoduswerkstücks, die Stelle der am besten fokussierten Z-Höhe im Allgemeinen nicht bekannt ist, und der erste Bildfokuswert 424 einer der zwei Kandidaten Z-Höhen entsprechen kann, die durch die Punkte 423A und 423D dargestellt sind. Die schnellen ungefähren Fokusmethoden der vorliegenden Erfindung sind dafür gedacht, um automatisch diese beiden Fälle mit sehr wenigen Bewegungen anzufahren. Die Beschreibung der Fokusabläufe in 3 entspricht dem Fall, wenn die Z-Höhe 322A tatsächlich dem Kandidatenpunkt 423A entspricht. In jenem Fall, da das Arbeitsstückmerkmal 312A auf der gewölbten Oberfläche des Arbeitsstückes 311 deutlich unterhalb seine angenommene Z-Höhe fällt (die Höhe der flachen Ebene 321 während des Lernmodus), wie in 3 gezeigt, führt das Bild an der ersten Z-Höhe 322A zu einem relativ niedrigen Fokuswert 424, wie in 4 gezeigt. Da der Fokuswert 424 unterhalb des repräsentativen Fokusschwellwertes 415 liegt, ist der Fokuswert 424 inakzeptabel und das erste Bild wird als ein inakzeptables Inspektionsbild bestimmt. Daher stellen die schnellen ungefähren Fokusabläufe die Z-Höhe durch Bewegen entlang einer Ausgangs- oder ersten Einstellrichtung ein, die ursprünglich programmiert oder festgesetzt wurde, für eine geschätzte erste Einstellentfernung, welche in diesem Fall die Kamera dazu bringt, sich aufwärts um eine ursprüngliche Einstellentfernung 417 zu bewegen, in 4 gezeigt, von der Z-Höhe 322A zu einer Z-Höhe 322A'. Eine geschätzte erste Einstellentfernung ist eine geschätzte Entfernung von der Z-Höhe 322A zu einer Peakfokus Z-Höhe 411 aufgrund der repräsentativen Fokuskurve 410 (während des Lernmodus bestimmt) und dem gegenwärtigen Fokuswert 424. An der Z-Höhe 322A' wird ein zweites Bild erfasst und ein zweiter Fokuswert 424A' wird für den ROI bestimmt.
  • In diesem Fall, da die erste Einstellrichtung die falsche Richtung war, befindet sich der zweite Fokuswert 424A' unterhalb des repräsentativen Fokusschwellwertes 415 und ist sogar noch schlechter als der erste Fokuswert 424, und das zweite Bild wird als ein inakzeptables Inspektionsbild bestimmt. Als ein Ergebnis stellen die schnellen ungefähren Fokusabläufe die Z-Höhe durch Bewegen von der Z-Höhe 322A' entlang der Richtung, die der ersten Einstellrichtung entgegengesetzt ist, um eine zweite Einstellentfernung 418 ein, und erreichen die Z-Höhe 322A'. Wie zuvor ist die zweite Einstellentfernung 418 eine geschätzte Entfernung zu der Peakfokus Z-Höhe 411 von der gegenwärtigen Z-Höhe. In einer Ausführungsform wird die zweite Einstellentfernung einfach als zweimal die in der ersten Einstellrichtung bewegte Entfernung geschätzt, was die Peakfokus Z-Höhe erreichen sollte, wenn die Fokuskurve 420 nicht relativ zu der Fokuskurve 410 diskrepant ist und die Fokuskurve 410 ungefähr symmetrisch ist. In einer anderen Ausführungsform basiert die zweite Einstellentfernung auf der repräsentativen Fokuskurve 410 (wie während des Lernmodus bestimmt) und der gegenwärtige Fokuswert 424A', welcher vorteilhaft wäre, wenn die Fokuskurve 410 asymmetrisch ist. In jedem Fall wird an der Z-Höhe 322A'' ein drittes Bild erfasst und ein dritter Bildfokuswert 424A'' wird für den ROI bestimmt. In diesem Fall, da die zweite Einstellrichtung die richtige Richtung war, trotz der Effekte der diskrepanten Fokuskurve 420, befindet sich der dritte Bildfokuswert 424A'' oberhalb des repräsentativen Fokusschwellwerts 415 und das dritte Bild wird als ungefähr fokussiert bestimmt, so dass es ein akzeptables Inspektionsbild ist. Es wird geschätzt werden, dass auf die erste Bilderfassung an dem gegenwärtigen zu inspizierenden Merkmal folgend, die schnellen ungefähren oben beschriebenen Autofokusabläufe höchstens zwei Bewegungen entlang der Z-Richtung erfordern, um ein akzeptables, ungefähr fokussiertes Inspektionsbild bereitzustellen. Im Vergleich zu konventionellen Autofokusverfahren und Werkzeugen (z. B. aufgrund tatsächlicher Bestimmung der Laufmodusfokuskurve und ihrer Peakfokus Z-Höhe) erlaubt dies den beschriebenen schnellen ungefähren Fokusabläufen den Inspektionsdurchsatz deutlich zu erhöhen (z. B. den Durchsatz zu verdoppeln), wenn wiederholt kompatible Inspektionsabläufe für eine Serie von Merkmalen durchgeführt werden (z. B. wenn die X-Y-Dimensionen und Orte eines gedruckten Schaltkreises oder IC-Elementes wie Löcher, Durchgänge, Verbindungsspuren oder ähnliches gemessen werden).
  • Die folgende Beschreibung kann im Allgemeinen verstanden werden, als der ursprünglichen Sequenz von Abläufen folgend, wie vorher beschrieben. Jedoch entspricht die folgende Beschreibung einem hypothetischen Fall, in dem das Laufmodusarbeitsstück nicht die in 3 gezeigte Gestaltung aufweist. Eher weist es eine Gestaltung auf, so dass das gegenwärtige Arbeitsstückmerkmal signifikant über seine angenommenen Z-Höhe positioniert ist (z. B. aufgrund einer Wölbung, die das Spiegelbild von dem ist, was in 3 gezeigt ist). Wie in 4 gezeigt, wird die angenommene Z-Höhe 322A-2 für die erste Bilderfassung verwendet (d. h. die repräsentative Merkmalshöhe während dem Lernmodus). Dies entspricht dem Fall, wenn die ursprüngliche Z-Höhe 322A-2 tatsächlich dem Kandidaten 423D entspricht. Wie in 4 gezeigt, führt das Bild in der ersten Z-Höhe 322A-2 zu einem relativ niedrigen Fokuswert 424. Da sich der Fokuswert 424 unterhalb dem repräsentativen Fokusschwellwert 415 befindet, ist der Fokuswert 424 unakzeptabel und das erste Bild wird als ein unakzeptables Inspektionsbild bestimmt. Daher stellen die schnellen ungefähren Fokusabläufe die Z-Höhe durch Bewegen entlang der ursprünglichen oder ersten Einstellrichtung ein, die ursprünglich programmiert oder festgelegt wurde, für eine geschätzte erste Einstellentfernung, welche in diesem Fall die Kamera dazu bringt, sich aufwärts, um eine ursprüngliche Einstellentfernung 417 zu bewegen, wie in 4 gezeigt, von der Z-Höhe 322A-2 zu einer Z-Höhe 322A''-2. Die geschätzte erste Einstellentfernung ist wieder eine geschätzte Entfernung von der Z-Höhe 322A-2 zu der Peakfokus Z-Höhe 411 aufgrund der repräsentativen Fokuskurve 410 (während des Lernmodus bestimmt) und dem gegenwärtigen Fokuswert 424. An der Z-Höhe 322A''-2 wird ein zweites Bild erfasst und ein zweiter Bildfokuswert 424D' für den ROI bestimmt. In diesem Fall, da die erste Einstellrichtung die richtige Richtung war, trotz der Effekte der diskrepanten Fokuskurve 420, befindet sich der zweite Bildfokuswert 424D' über dem repräsentativen Fokusschwellwert 415 und das zweite Bild wird als ungefähr fokussiert bestimmt, sodass es ein akzeptables Inspektionsbild darstellt.
  • 5 ist ein Flussdiagramm, welches einen exemplarischen allgemeinen Ablauf 500 zur Umsetzung der schnellen ungefähren Fokusabläufe während des Lernmodus darstellt. Im Allgemeinen beschreibt 5 einen Satz von Abläufen zur Bestimmung einer repräsentativen Fokuskurve und dem Fokusschwellwert, bei einem gegebenen Bild eines repräsentativen Bereichs-von-Interesse (ROI) einschließlich eines repräsentativen zu inspizierenden Merkmals. Wie in 5 gezeigt, wird an einem Block 510 ein repräsentatives Bild des Bereichs-von-Interesse einschließlich des repräsentativen zu inspizierenden Merkmals erfasst, wobei das repräsentative Merkmal entsprechenden Merkmalen auf anderen Arbeitsstücken entspricht (z. B. eines der Merkmale 312A bis 312D aus 3). An einem Block 540 wird eine repräsentative merkmalsspezifische Fokuskurve (z. B. siehe Kurve 410 von 4) für den Bereich-von-Interesse (ROI) bestimmt und/oder gelernt. Die repräsentative fokusspezifische Fokuskurve entspricht einer Vielzahl von Bildern an jeweiligen Z-Höhenschritten zwischen der Kamera und dem repräsentativen Merkmal. Ein Fokusschwellwert (z. B. siehe Schwellwert 415 aus 4), der einen ausreichenden Fokuslevel für Inspektionsabläufe definiert, wird ebenso bestimmt und/oder gelernt. Es wird geschätzt werden, dass wenn ein Bild einen Fokuswert bereitstellt, der sich oberhalb des Fokusschwellwertes befindet, es als ausreichend „im Fokus” für Zwecke von Inspektionsabläufen betrachtet werden kann, die auszuführen sind, sogar, wenn der Fokuslevel nicht der beste Fokuslevel sein kann, sondern nur ein ungefährer Fokus.
  • An einem Block 550 werden die bestimmten und/oder gelernten repräsentativen merkmalsspezifischen Fokuskurvendaten und die Fokusschwellwertdaten zur späteren Verwendung gespeichert, wenn entsprechende Merkmale andere Arbeitsstücke inspiziert werden. In einer Ausführungsform können die „Kurvendaten” einer konventionellen Form einer Fokuskurve entsprechen und die „Wertdaten” können einem Standartschwellwert entsprechen, wie im Folgenden detaillierter beschrie ben werden wird. In anderen Ausführungsformen können die Kurvendaten anderen Arten von Daten entsprechen, wie eine dichte Fokuskurven „Fokuswert bis Z”-Nachschlagetabelle, Koeffizienten, welche eine nominale analytische Kurvenform anpassen, eine gekürzte Nachschlagetabelle usw.. Ähnlich können in anderen Ausführungsformen die Fokusschwellwertdaten anderen Arten von Daten entsprechen, wie „Fokallänge (DUF) Einheiten”, die gemeinsam mit den Kurvendaten verwendet werden, um Berechnen eines numerischen Fokuswerts in einem Laufmodus, einen zu einer Lernzeit berechneten und gespeicherten numerischen Werts, eines Multiplikationsfaktors (z. B. eines Bruchs) für die Fokuskurvenpeakhöhe usw..
  • 6 ist ein Flussdiagramm, welches eine exemplarische allgemeine Routine 600 für eine Ausführungsform von schnellen ungefähren Fokusabläufen während des Laufmodus zeigt. Im Allgemeinen beschreibt 6 einen Satz von Abläufen entsprechend der vorliegenden Erfindung zum Anwenden eines Satzes von repräsentativen Fokuskurvendaten und Fokusschwellwertdaten zur Bereitstellung eines schnellen ungefähren Fokus für ein zum Inspizieren eines Arbeitsstückmerkmals zu verwendendes Bild. Im Allgemeinen werden die repräsentativen Fokuskurvendaten und die Fokusschwellwertdaten vorher für ein entsprechendes Merkmal in einem entsprechenden Arbeitsstück festgesetzt (z. B. in einem Lernmodus). Eine solche Verwendung schneller ungefährer Fokusabläufe bietet ein akzeptables Präzisionslevel in vielen Anwendungsfällen, in denen die Inspektion zuerst auf X-Y-Messungen basiert wird, welche in verschiedenen Anwendungsfällen zuverlässig bleiben können, sogar wenn sie aus einem Inspektionsbild bestimmt wurden, welches ein gewisses Ausmaß an Bildunschärfe erhielt (z. B. ein Bild, welches nur als ungefähr im Fokus betrachtet wurde).
  • Wie in 6 gezeigt, wird an einem Block 615 ein erstes Bild des Bereichs-von-Interesse erfasst, einschließlich des zu inspizierenden Merkmals. An einem Block 622 werden die vorher gelernten repräsentativen merkmalsspezifischen Fokuskurvendaten und Fokusschwellwertdaten entsprechend dem gegenwärtigen Bereich von-Interesse festgesetzt. An einem Block 632 wird ein erster Bildfokuswert in dem gegenwärtigen Bereich-von-Interesse bestimmt. An einem Entscheidungsblock 634 wird eine Bestimmung durchgeführt, ob der erste Bildfokuswert größer als der Fokusschwellwert ist. Wenn der erste Bildfokuswert nicht größer als der Fokusschwellwert ist, dann geht die Routine an einem Block 640 weiter, wie unten detaillierter beschrieben wird. Wenn an einem Entscheidungsblock 634 bestimmt wurde, dass der erste Bildfokuswert größer als der Fokusschwellwert ist, dann fährt die Routine an einen Block 680 fort, wo die Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt werden.
  • An dem Block 640 wird eine Bewegung in eine erste Einstellrichtung für eine geschätzte erste Einstellentfernung zu einer Peakfokus Z-Höhe durchgeführt, wobei die erste Einstellentfernung aufgrund der repräsentativen merkmalsspezifischen Fokuskurvendaten und dem ersten Bildfokuswert geschätzt ist. In einem Block 652 wird ein zweites Bild erfasst und ein zweiter Bildfokuswert wird in den Bereich-von-Interesse bestimmt. An einem Entscheidungsblock 656 wird eine Bestimmung durchgeführt, ob der zweite Bildfokuswert schlechter als der erste Bildfokuswert ist. Wenn der zweite Bildfokuswert schlechter als der erste Bildfokuswert ist, fährt die Routine an einen Block 660 fort, wie unten detaillierter beschrieben werden wird. Wenn an dem Entscheidungsblock 656 bestimmt wird, dass der zweite Bildfokuswert nicht schlechter als der erste Bildfokuswert ist, dann fährt die Routine an den Block 680 fort, wo Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt werden. Wie unten detaillierter beschrieben werden wird, mit Bezug zu den 8A und 8B, kann in anderen Ausführungsformen eine schnelle ungefähre Fokuslaufmodusroutine zusätzlich verifizieren, dass der zweite Bildfokuswert größer als der Fokusschwellwert ist, bevor Merkmalsinspektionen in dem gegenwärtigen Bild durchgeführt werden. In anderen Worten kann die Routine 600 in einem gewünschten Fall vorteilhaft sein, in dem gut gesteuerte Arbeitsstücke Laufmodusfokuskurven bereitstellen, die vorhersehbar ähnlich zu der gelernten repräsentativen Fokuskurve sind (z. B. siehe Beispiele der 4), sodass, wenn eine Fokuswertverbesserung an dem Entscheidungs block 656 erkannt wird, da die geschätzte erste Einstellentfernung auf der gelernten repräsentativen Fokuskurve basierte, von welcher angenommen wurde, dass sie gleich der Laufmodusfokuskurve ist, wird weiterhin angenommen, dass die resultierende Z-Höhe, die nahe genug an dem Peak der Fokuskurve ist, oberhalb des Fokusschwellwertes sein soll.
  • An dem Block 660, da der zweite Bildfokuswert vorher als schlechter als der erste Bildfokus bestimmt wurde, wird eine Bewegung in eine Richtung durchgeführt, die entgegengesetzt der ursprünglichen oder ersten Einstellrichtung für eine geschätzte zweite Einstellentfernung zu einer Peakfokus Z-Höhe durchgeführt, wobei die zweite Einstellentfernung aufgrund von zumindest entweder der ersten Einstellentfernung oder den repräsentativen merkmalsspezifischen Fokuskurvendaten in Kombination mit dem zweiten Bildfokuswert geschätzt wird. In einer Ausführungsform kann die geschätzte Einstellentfernung ungefähr zweimal die erste Einstellentfernung sein, aber in die entgegen gesetzte Richtung. An einem Block 662 wird ein drittes Bild erfasst. An dem Block 680 werden Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt. Wie unten detaillierter mit Bezug zu den 8A und 8B beschrieben werden wird, kann in anderen Ausführungsformen eine schnelle ungefähre Fokuslaufmodusroutine zusätzlich verifizieren, dass der dritte Bildfokuswert größer als der Fokusschwellwert ist, bevor die Merkmalsinspektionsabläufe in dem dritten Bild durchgeführt werden.
  • 7 ist ein Flussdiagramm, welches eine Routine 700 für eine verbesserte Umsetzung der schnellen ungefähren Fokusabläufe während des Lernmodus darstellt. Es wird geschätzt werden, dass die schnelle ungefähre Fokuslernmodusroutine 700 in manchen Ausführungsformen als eine verbesserte Umsetzung betrachtet werden kann, die in den Bereich verschiedener Ausführungsformen der allgemeinen schnellen ungefähren Fokuslernmodusroutine 500 aus 5 fällt oder damit überlappt. Wie in 7 gezeigt, wird an einem Block 710 ein repräsentatives Arbeitsstück in einer betriebsfähigen Position zur Inspektion bereitgestellt. An einem Block 712 wird ein Lernmodus gestartet. An einem Block 714 wird ein ers tes/nächstes repräsentatives zu inspizierendes Merkmal in dem Gesichtsfeld positioniert, wobei das repräsentative Merkmal entsprechende Merkmale auf anderen Arbeitsstücken repräsentiert. An einem Block 716 wird ein Bild erfasst. An einem Entscheidungsblock 720 wird eine Entscheidung vorgenommen, ob die schnellen ungefähren Fokusabläufe verwendet werden. Wenn schnelle ungefähre Fokusabläufe verwendet werden, fährt die Routine an einen Block 722 fort, wie unten detaillierter beschrieben werden wird. Wenn an einem Entscheidungsblock 720 bestimmt wird, dass die schnellen ungefähren Fokusabläufe nicht verwendet werden, dann fährt die Routine an einen Block 780 fort, wo andere Merkmalsinspektionsabläufe definiert sind. Es wird geschätzt werden, dass, wenn die Routine von dem Entscheidungsblock 720 zu dem Block 780 fortfährt, dass in manchen Umsetzungen dies bedeutet, dass für die an dem gegenwärtigen Merkmal durchzuführenden Inspektionsabläufen der schnelle ungefähre Fokus nicht geeignet ist. Daher, wenn an dem Block 720 fortgesetzt wird, kann der Block 780 die Funktionen für traditionellere Autofokuswerkzeuge umfassen (z. B. die Hochpräzisionsautofokuswerkzeuge 143fb aus 2 und den vollen Satz von Abläufen des maschinellen Sichtsystems 100).
  • An einem Block 722 wird ein schnelles ungefähres Autofokuswerkzeug (oder Modus) ausgewählt. An einem Block 730 wird ein Bereich-von-Interesse (ROI) für das jeweilige Merkmal definiert (z. B. durch Konfigurieren einer schnellen ungefähren Autofokuswerkzeugvorrichtung in einer GUI). An einem Block 740 wird eine repräsentative merkmalsspezifische Fokuskurve für den Bereich-von-Interesse (ROI) bestimmt und/oder gelernt. Die repräsentative merkmalsspezifische Fokuskurve entspricht einer Vielzahl von Bildern an jeweiligen Z-Höhenschritten zwischen der Kamera und dem repräsentativen Merkmal. Ein Fokusschwellwert, der einen ausreichenden Fokuslevel für Inspektionsabläufe definiert, wird ebenso bestimmt und/oder gelernt. An einem Block 750 werden schnelle ungefähre Autofokuswerkzeugdaten in Verbindung mit einem Teilprogramm gespeichert, wobei die Werkzeugdaten die repräsentativen merkmalsspezifischen Fokuskurvendaten und die Fokusschwellwertdaten einschließen. An ei nem Block 780 werden Merkmalsinspektionsabläufe definiert. Es wird geschätzt werden, dass, wenn die Routine von dem Block 750 zu dem Block 780 fortfährt, dass in manchen Umsetzungen der Ablauf des Blockes 780 zum Lehren/Lernen von Inspektionsabläufen verwendet werden kann, welche in dem ungefähr fokussierten Bild durchgeführt werden könnten, welches durch das schnelle ungefähre Autofokuswerkzeug während des Laufmodus bereitgestellt werden wird. Im Gegensatz dazu kann während des Lernmodus das schnelle ungefähre Autofokuswerkzeug automatisch ein fokussiertes Bild für den Benutzer zur Verwendung mit Block 780 Abläufen bereitstellen, d. h. es wird gerade eben Abläufe zur Charakterisierung der gesamten Fokuskurve durchgeführt haben, sodass, wenn sie vollständig ist, sie eine Bewegung zur Bereitstellung des am besten fokussierten Bildes machen kann. Es wird geschätzt werden, dass komplexere Versionen des schnellen ungefähren Autofokuswerkzeugs mit zusätzlichen potentiellen Lernmodusabläufen ebenso bereitgestellt werden können.
  • Zurück zu 7, an einem Entscheidungsblock 790 wird eine Entscheidung getroffen, ob es mehr zu inspizierende Merkmale gibt. Wenn es mehr zu inspizierende Merkmale gibt, kehrt die Routine zu dem Block 714 zurück. Wenn an dem Entscheidungsblock 790 bestimmt wird, dass es keine weiter zu inspizierenden Merkmale gibt, dann fährt die Routine an einen Block 795 fort, wo das Teilprogramm gespeichert ist, welches optional den Lernmodus beenden kann. Es wird geschätzt werden, dass gewisse Schritte der Routine 700 als die allgemeinen Abläufe der allgemeineren Routine 500 aus 5 expandierend betrachtet werden kann. Insbesondere kann die Routine 700 in gewissen Ausführungsformen so betrachtet werden, als ob die allgemeinen Abläufe der Routine 500 im Zusammenhang mit einem Training eines schnellen ungefähren Fokusvideowerkzeug im Lernmodus implementieren und/oder expandieren, und sie im Zusammenhang mit dem Training wiederholter Vorgänge des Werkzeugs in Zusammenhang setzen, welche in manchen Vorgängen im Lernmodus mit dem Training anderer Arten von Werkzeugen durchsetzt werden kann (z. B. durch die Benutzerentscheidung gezeigt, die am Entscheidungsblock 720 benötigt wird, die Auswahl des Benut zers eines schnellen ungefähren Fokuswerkzeugs an dem Block 722 und den potentiellen Benutzerabläufen an dem Block 730).
  • 8A und 8B sind Flussdiagramme, die Abschnitte 800A und 800B einer Routine 800 für eine verbesserte Umsetzung von schnellen ungefähren Fokusabläufen während eines Laufmodus zeigen. Es wird geschätzt werden, dass die schnelle ungefähre Fokuslaufmdusroutine 800 in gewissen Ausführungsformen betrachtet werden kann, als eine verbesserte Umsetzung der allgemeineren schnellen ungefähren Fokusablaufmodusroutine 600 der 6. Wie in 8A gezeigt, sind an einem Block 810 ein Teilprogramm und ein Arbeitsstück in Position zur Inspektion bereitgestellt. An einem Block 812 wird das Teilprogramm gestartet (z. B. im Laufmodus). An einem Block 814 wird das erste/nächste Werkzeug bestimmt (und/oder konfiguriert und/oder definiert) und das erste/nächste (zu inspizierende Merkmal) wird in dem Gesichtsfeld positioniert.
  • An einem Entscheidungsblock 820 wird eine Entscheidung getroffen, ob das schnelle ungefähre Autofokuswerkzeug verwendet wird. Wenn das schnelle ungefähre Autofokuswerkzeug verwendet wird, dann fährt die Routine an einem Block 822 fort, wie unten detaillierter beschrieben werden wird. Wenn an einem Entscheidungsblock 820 bestimmt wird, dass das schnelle ungefähre Autofokuswerkzeug nicht verwendet wird, dann fährt die Routine an einem Punkt A fort, welcher an einem Block 870 in 8B fortfährt, wie unten detaillierter beschrieben werden wird.
  • An einem Block 822 werden repräsentative merkmalsspezifische Fokuskurvendaten und Fokusschwellwertdaten erfasst, entsprechend dem gegenwärtigen Merkmal. An einem Block 832 wird ein erstes Bild erfasst und ein erster Bildfokuswert bestimmt im Bereich-von-Interesse. An einem Entscheidungsblock 834 wird eine Entscheidung getroffen, ob der erste Bildfokuswert größer als der Fokusschwellwert ist. Wenn der erste Bildfokuswert nicht größer als der Fokusschwellwert ist, dann fährt die Routine an einem Block 840 fort, wie unten im Detail beschrieben werden wird. Wenn an einem Entscheidungsblock 834 bestimmt wird, dass der erste Bildfokuswert größer als der Fokusschwellwert ist, dann fährt die Routine an einem Punkt B fort, welcher an einem Block 880 in 8B fortfährt, wie unten im Detail beschrieben wird.
  • An einem Block 840 wird eine erste Einstellentfernung zu einer Peakfokus Z-Höhe geschätzt, aufgrund der repräsentativen merkmalsspezifischen Fokuskurvendaten und dem ersten Bildfokuswert. An einem Block 850 wird die Z-Höhe eingestellt durch Bewegen der geschätzten ersten Einstellentfernung in eine erste Einstellrichtung. An einem Block 852 wird ein zweites Bild erfasst und ein zweiter Bildfokuswert wird für den Bereich-von-Interesse bestimmt.
  • An einem Entscheidungsblock 854 wird eine Entscheidung getroffen, ob der zweite Bildfokuswert größer als der Fokusschwellwert ist. Wenn der zweite Bildfokuswert nicht größer als der Fokusschwellwert ist, dann fährt die Routine an einem Entscheidungsblock 856 fort, wie unten im Detail beschrieben werden wird. Wenn an dem Entscheidungsblock 854 bestimmt wird, dass der zweite Bildfokuswert größer als der Fokusschwellwert ist, dann fährt die Routine an dem Punkt B fort, welcher an dem Block 880 in 8B fortfährt, wie unten im Detail beschrieben werden wird.
  • An einem Entscheidungsblock 856 wird eine Entscheidung getroffen, ob der zweite Bildfokuswert größer als der erste Bildfokuswert ist. Wenn der zweite Bildfokuswert nicht größer als der erste Bildfokuswert ist, dann fährt die Routine an einem Punkt C fort, welcher an einem Block 860 in 8B fortfährt, wie unten im Detail beschrieben werden wird. Wenn an einem Entscheidungsblock 856 bestimmt wird, dass der zweite Bildfokuswert größer als der erste Bildfokuswert ist, dann fährt die Routine an dem Punkt A fort, welcher an dem Block 870 in 8B fortfährt, wie unten im Detail beschrieben werden wird.
  • Wie in 8B gezeigt, wird an einem Block 860 (welcher von einem Punkt C in 8A fortfährt) die Z-Höhe eingestellt durch Bewegen einer geschätzten zweiten Einstellentfernung in einer Richtung, die der ersten Einstellrichtung entgegengesetzt ist, wobei die geschätzte zweite Einstellentfernung aufgrund von zumindest entweder der ersten Einstellentfernung oder den repräsentativen merkmalsspezifischen Fokuskurvendaten in Kombination mit dem zweiten Bildfokuswert bestimmt wird. An einem Block 862 wird ein drittes Bild erfasst und ein dritter Bildfokuswert wird in dem Bereich-von-Interesse bestimmt.
  • An einem Entscheidungsblock 866 wird eine Entscheidung getroffen, ob der dritte Bildfokuswert größer als der Fokusschwellwert ist. Wenn der dritte Bildfokuswert nicht größer als der Fokusschwellwert ist, dann fährt die Routine an einem Block 870 fort, wie unten im Detail beschrieben werden wird. Wenn an dem Entscheidungsblock 866 bestimmt wird, dass der dritte Bildfokuswert größer als der Bildfokusschwellwert ist, dann fährt die Routine an einem Block 880 fort, wie unten im Detail beschrieben wird. An einem Block 870 werden Standartfokusabläufe durchgeführt (z. B. Autofokusabläufe, welche eine neue Fokuskurve während dem Laufmodus bestimmen). Es wird geschätzt werden, dass eine Ankunft an dem Block 870 bedeutet, dass die vorangegangenen schnellen ungefähren Fokusabläufe dabei versagten ein ausreichend fokussiertes Bild bereitzustellen. Wenn der Block 870 wiederholt erreicht wird, beim Bestimmen eines Arbeitsstückteilprogramms im Lernmodus, kann dies bedeuten, dass die Arbeitsstückoberfläche oder ihre Merkmale im Allgemeinen eine „sich schlecht verhaltende” Fokuskurve erzeugen (z. B. eine deutlich asymmetrische Fokuskurve oder eine Fokuskurve mit einer Vielzahl signifikanter Fokuspeaks über ihren Z-Bereich). In solchen Fällen wird die Verwendung der schnellen ungefähren Fokusabläufe nicht geeignet sein. An einem Block 880 werden Merkmalsinspektionsabläufe in dem gegenwärtigen Bild durchgeführt. An einem optionalen Block 885 wird die letzte erfolgreiche Einstellrichtung des letzten erfolgreichen schnellen ungefähren Fokusvideowerkzeugs verwendet/gespeichert als die erste Einstellrichtung (z. B. für einen nächsten Vorgang des schnellen ungefähren Autofokuswerkzeugs).
  • An einem Entscheidungsblock 890 wird eine Entscheidung getroffen, ob es weitere zu inspizierende Merkmale gibt. Wenn es keine weiteren zu inspizierenden Merkmale gibt, dann fährt die Routine an einem Block 895 fort, wie unten im Detail beschrieben werden wird. Wenn an einem Entscheidungsblock 890 bestimmt wird, dass es mehr zu inspizierende Merkmale gibt, dann fährt die Routine an einem Punkt D fort, welcher an dem Block 814 in 8A fortfährt, wie oben beschrieben. An einem Block 895 werden die Inspektionsergebnisse gespeichert/ausgegeben und/oder das Teilprogramm wird beendet.
  • Es wird geschätzt werden, dass die Routine 800 der 8A und 8B in einer zu betrachtenden Ausführungsform eine verbesserte Umsetzung der Routine 600 der 6 sein kann. Zum Beispiel beim Vergleich des Blocks 656 aus 6 mit den Blocks 854 und 856 und der darauffolgenden Abläufe aus 8A und 8B wird geschätzt werden, dass der Block 656 ideale Bedingungen annimmt, unter welchen die Laufzeitfokuskurve und die repräsentative Fokuskurve (z. B. siehe 4) im Wesentlichen gleich sind. Bei dem idealen Umstand, wenn die Laufzeitfokuskurve und die repräsentative Fokuskurve als im Wesentlichen gleich angenommen werden, der Entscheidungsblock 656 aus 6 ausreichend darin, dass es nur eine geringe Diskrepanz zwischen beiden gibt, sodass es typischerweise keine Notwendigkeit gibt, Standardautofokusabläufe zu schalten (z. B. solche, wie jene, die durch die Hochpräzisionsautofokuswerkzeuge 143fb aus 2 verwendet werden). Solche idealen Bedingungen können z. B. unter Bedingungen auftreten, wenn hochgradig reproduzierbare Teile, konsistente Beleuchtung usw. verwendet werden. Im Gegensatz dazu zeigen die Entscheidungsblöcke 854 und 856 und die darauffolgenden Abläufe der 8A und 8B eine robustere, verbesserte Umsetzung, die für potentiell nicht ideale Bedingungen geeignet ist, in welchen die Fokuskurve und die repräsentative Fokuskurve unähnlich sein können. Demnach, wie oben beschrieben, wird an dem Entscheidungsblock 854 eine Entscheidung vorgenommen, ob der zweite Bildfokuswert größer als der Fokusschwellwert ist, und wenn er es nicht ist, dann wird an dem Block 856 eine Entscheidung getrof fen, ob der zweite Bildfokuswert größer als der erste Bildfokuswert ist. Dies ist eine Kombination von Schritten, die den besten Gesamtdurchsatz bereitstellen kann, d. h. wenn der zweite Bildfokuswert größer als der erste Bildfokuswert ist, dann kann abgeleitet wirken, dass die Z-Höheneinstellung in der korrekten Richtung durchgeführt wurde, aber dabei versagte, die erwartete Menge an Verbesserung in dem resultierenden Bildfokus bereitzustellen. Davon ausgehend kann abgeleitet werden wirken, dass die Laufmodusbedingungen nicht ausreichend zu den Lernmodusbedingungen passen, sodass die Lernmodus- und die Laufmodusfokuskurven beträchtlich unterschiedlich sind, und die schnellen ungefähren Fokusabläufe wahrscheinlich kein ausreichend fokussiertes Bild bereitstellen, wobei in diesem Fall die Routine an dem Block 870 fortfährt, wo Standartfokusabläufe durchgeführt werden (z. B. solche wie jene der Hochpräzisionsautofokuswerkzeuge 143fb aus 2). Im Gegensatz dazu, wenn an dem Entscheidungsblock 856 bestimmt wird, dass der zweite Bildfokuswert nicht größer als der erste Bildfokuswert ist, dann kann abgeleitet werden, dass die Z-Höheneinstellung in die Richtung gemacht wurde. Dies ist eines der möglichen Zwischenergebnisse, welches in den schnellen ungefähren Fokusabläufen erwartet wird, und daher geht der Ablauf mit einer normalen schnellen ungefähren Einstellung weiter, die an dem Block 860 durchgeführt wird.
  • 9A bis 9C sind Diagramme, die verschiedene Merkmale einer Ausführungsform einer schnellen ungefähren Autofokuswerkzeugnutzerschnittstelle zeigen, einschließlich einer schnellen ungefähren Autofokuswerkzeugparameterdialogbox 900. In einer Ausführungsform kann eine registerartige Dialogboxgestaltung verwendet werden, sowie die Autofokusparameterdialogbox 900, welche vom Benutzer auswählbare registerartige Abschnitte 910a, 910b und 910c einschließt. 9A zeigt den registerartigen Abschnitt 910a, welcher für „Stellenauswahlen” da ist, und welcher die X- und Y-Mittelkoordinaten darstellt, ebenso wie die Breite (W) und Höhe (H) des schnellen ungefähren Autofokuswerkzeugs (ROI). Diese Werte können durch graphische Definition eines Bereichs-von- Interesse für ein zu inspizierendes Arbeitsstückmerkmal bestimmt werden, und/oder sie können direkt in die Dialogbox eingegeben werden.
  • 9B zeigt den registerartigen Abschnitt 910b, welcher für „Basisauswahlen” da ist, und welcher das gewünschte Verfahren zur Bestimmung der ursprünglichen Z-Höhe („Z-ursprünglich”) darstellt, welche zur Erfassung des ersten Bildes während der schnellen ungefähren Autofokuswerkzeugabläufe zu verwenden ist, und ebenso das gewünschte Verfahren zur Bestimmung der ersten Einstellrichtung während der Laufmodus schnellen ungefähren Fokuswerkzeugabläufe darstellt. Für das Z ursprünglich wird ein Benutzer mit einer Option der „manuellen” oder „automatischen” (flache Sequenz) ausgestattet. Wird die „automatische” Auswahl, wie oben mit Bezug zu 3 und 4 beschrieben, betrachtet, wenn schnelle ungefähre Fokusabläufe für eine Sequenz von Arbeitsstückmerkmalen entlang einer ungefähr flachen Oberfläche durchgeführt werden, können die schnellen ungefähren Fokuswerkzeugabläufe ein automatisches angepasstes Verfahren zur Bestimmung von Z ursprünglich umsetzen. In einer Ausführungsform, während des Laufmodus, wenn ein gegenwärtiger Vorgang eines schnellen ungefähren Fokuswerkzeugs einem vorangegangenen schnellen ungefähren Fokuswerkzeug folgt, wird die ursprüngliche Z-Höhe, die für das erste Bild solch eines Werkzeugs verwendet wird, angepasst ausgewählt werden, aufgrund der letzten vorherigen „erfolgreichen” Z-Höhe, die ein ausreichend fokussiertes Bild bereitstellte. Das Auswählen der „auf automatischen (flachen Sequenz)” Einstellung kann solch ein Verfahren für die damit verbundenen schnellen ungefähren Fokuswerkzeug(e) aktivieren. In einer Ausführungsform kann die ursprüngliche Z-Höhe als gleich der letzten erfolgreichen Z-Höhe gesetzt werden. In einer anderen Ausführungsform kann die ursprüngliche Z-Höhe angepasst gleich der letzten erfolgreichen Z-Höhe plus ein angepasst bestimmtes zusätzliches Entfernungsinkrement in der Richtung der letzten erfolgreichen Einstellrichtung gesetzt werden (z. B. auf Grundlage einer Steigung, die durch eine Vielzahl vorheriger erfolgreicher Z-Höhen bezeichnet wird). Die automatische (flache) Sequenzauswahl wird in bestimmten Ausführungsformen allgemein als am effektivsten betrachtet, wenn eine Serie zu inspizierender Merkmale ungefähr koplanar auf einer Werkstückoberfläche liegen.
  • Wenn die „manuelle” Auswahl für Z ursprünglich durchgeführt wird, kann dies ein Verfahren implementieren, bei welchem, während dem Laufmodus die ursprüngliche Z-Höhe, die für das erste Bild eines gegenwärtigen Vorgangs eines schnellen ungefähren Fokuswerkzeuges verwendet wurde, die Z-Höhe ist, die beim Training jenes Werkzeugs während dem Lernmodus verwendet wurde. In manchen Ausführungsformen kann dieser Art von manuellem Ablauf als der effektivste betrachtet werden, bei Umständen, in denen relativ wenige isolierte zu inspizierende Merkmale vorliegen, oder, wenn die Arten zu inspizierender Arbeitsstücke dazu neigen, die Merkmale über eine Vielzahl von Oberflächen unterschiedlicher Höhen verteilt zu haben, sodass es am besten sein kann, die ursprünglichen Z-Höhen den Z-Höhen folgen zu lassen, die während des Lernmodus erfasst wurden. Typischerweise können die Z-Höhen in solchen Umständen während des Lernmodus erfasst werden, wenn der Nutzer die Z-Höhe einstellt, oder durch einstellen aufgrund von CAD Daten usw.
  • Der registerähnliche Abschnitt 910b erlaubt dem Nutzer ein geeignetes Verfahren zur Bestimmung der ersten Einstellrichtung auszuwählen, welche während der Laufmodus schnellen ungefähren Fokuswerkzeugabläufe verwendet wird – entweder „manuell” oder „automatisch”. In einer Ausführungsform, wie oben mit Bezug zu den 3 und 4 beschrieben, kann die letzte vorherige erfolgreiche Bewegungsrichtung eines vorherigen Durchgangs für ein schnelles ungefähres Fokuswerkzeug als die erste Einstellrichtung für einen nachfolgenden Vorgang eines schnellen ungefähren Fokuswerkzeugs verwendet werden. Im Gegensatz dazu, ist bei einer „manuellen” Auswahl die erste Einstellrichtung was auch immer der Benutzer als die erste Einstellrichtung während des Lernmodus eingibt. Zum Beispiel, wenn ein Benutzer „manuell” auswählt, kann in einer Ausführungsform eine weitere Pop-up-Box bereitgestellt werden, welche dem Benutzer erlaubt, eine Richtung auszuwählen, wie „Suche aufwärts” oder „Suche abwärts”.
  • Diese Arten von Optionen können in Umständen nützlich sein, wenn das maschinelle Sichtsystem sehr nahe an einer unregelmäßigen Oberfläche arbeitet, sodass es wünschenswert sein kann, ein Suchen in Richtung der Oberfläche anfangs zu vermeiden, damit die Kamera nicht auf dem Arbeitsstück zerschellt.
  • 9C zeigt den registerähnlichen Abschnitt 910c, welcher für die „repräsentativen Datenauswahlen” da ist, und welcher die repräsentative Fokuskurve darstellt oder identifiziert und den repräsentativen Fokusschwellwert, der mit einem entsprechenden Vorgang eines schnellen ungefähren Fokuswerkzeug während des Laufmodus zu verwenden ist. Wie vorher offenbart, verwendet das schnelle ungefähre Autofokuswerkzeug schon existierende Daten oder während des Laufmodus gelernte Daten, im Gegensatz zu Echtzeitfokuskurvendaten. Für die „auf repräsentative Fokuskurvendaten, Name oder Stelle” ist eine Box bereitgestellt, in welche Einträge gemacht werden können, die die repräsentativen Fokuskurvendaten definieren, die während des Laufmodus verwendet werden. In verschiedenen Ausführungsformen können die Daten selber eingegeben werden (z. B. in der Form von rohen Fokuskurvendatenpunkten oder einem Satz von Koeffizienten zur Definition einer Kurve, die zu den rohen Fokuskurvendatenpunkten passt) oder die Eingabe kann ein variabler Stringname oder Dateiname oder eine Speicheradressposition oder ein externer Subroutineidentifizierer oder ähnliches sein, wo die Daten gespeichert sind, oder so charakterisiert, dass sie durch den entsprechenden Vorgang des schnellen ungefähren Fokuswerkzeuges während des Laufmodus aufgerufen werden können. In einer Ausführungsform können die Daten automatisch in die Box während dem Lernmodus eingegeben werden, und ein Benutzer kann die Daten in der Box prüfen (z. B. um eine Entscheidung zu treffen, ob die existierenden Daten verwendet werden, oder sie mit allgemeinen Werten überschrieben werden, oder um die Datenspeicherstelle umzubenennen oder ähnliches).
  • Es sollte geschätzt werden, dass die verschiedenen Benutzerschnittstellenmerkmale und auswählbare Ablaufmerkmale, wie oben beschrieben, nur exemplarisch und nicht beschreibend sind. Zum Beispiel können in verschiedenen Ausführungs formen die repräsentativen Fokuskurvendaten und die repräsentativen Fokusschwellwertdaten direkt in ein Teilprogramm gespeichert werden, und der registerähnliche Abschnitt 910c wurde ausgelassen. Noch allgemeiner können verschiede optionale Merkmale in dem Videowerk ausgelassen werden, und ihre entsprechenden Benutzerschnittstellenmerkmale können daher auch ausgelassen werden. Weiterhin ist ersichtlich, dass die graphische Form und die Menühierarchie, die sich auf die Benutzerschnittstelle eines schnellen ungefähren Autofokuswerkzeugs bezieht, verschiedene Formen in anderen Ausführungsformen einnehmen kann.
  • Der registerähnliche Abschnitt 901c ermöglicht dem Nutzer die Daten für die „repräsentative Fokusschwellwertdaten, Name oder Stelle” zu prüfen oder einzugeben, die den repräsentativen Fokuskurvendaten entspricht, die auf demselben Register und dem selben entsprechenden Vorgang eines schnellen ungefähren Fokuswerkzeugs identifiziert sind. Wie oben in Bezug zu 3 und 4 und anderswo beschrieben, wird der Fokusschwellwert (oder Daten, die den Fokusschwellwert definieren) typischerweise während des Lernmodus erfasst, und während des Laufmodus verwendet, um zu bestimmen, ob ein Bildfokuswert bedeutet, dass das entsprechende Bild einen genügenden Fokus bereitstellt, um Arbeitsstückmerkmalinspektionsabläufe zu unterstützen. Ähnlich zu der „repräsentative Fokuskurvendaten oder Name oder Stelle” können in verschiedenen Ausführungsformen die „repräsentative Fokusschwellwertdaten, Name oder Stelle” die repräsentativen Fokusschwellwertdaten in jedem von einigen Formaten definieren (z. B. ein numerischer Wert, ein Dateiname, ein Dateiname für eine Subroutine, die die gewünschten Werte ausrechnet auf Grundlage der Fokusgruppendaten, usw.). In einer Ausführungsform können die Daten automatisch in die Box während des Lernmodus eingegeben werden, und ein Nutzer kann die Daten in der Box prüfen (z. B. um eine Entscheidung vorzunehmen, ob die existierenden Daten verwendet werden, oder ob sie mit einem anderen Wert überschrieben werden, oder die Datenspeicherstelle oder ähnliches umzubenennen).
  • Für all die registerähnlichen Abschnitte 910a bis 910c stellt der „Standardknopf” unten die Einträge zurück auf ihre Standardwerte (z. B. die manuellen oder automatischen Auswahlen auf dem registerartigen Abschnitt 910b), und der „OK” Knopf akzeptiert die gegenwärtigen Parameter und schließt die Autofokusparameterdialogbox 900, und der „Löschen” Knopf stellt alle Parameter auf ihren Zustand zurück, bevor die gegenwärtige Bearbeitungssequenz begonnen hat, und schließt die Dialogbox 900. Eine andere Art von Modus oder Routine, die in die Lernmodus schnelle ungefähre Fokusabläufe eingeschlossen ist oder darauf bezogen ist, kann ein „leicht zu benutzen” Merkmal bereitstellen, welches für unerfahrene Benutzer nützlich ist, und könnte Parameter auf einem registerförmigen Abschnitt (nicht gezeigt) bezeichnen. Der Modus oder die Unterroutine schließt eine automatische Bewertung bestimmter Sequenzen der Inspektionsabläufe unter Verwendung schneller ungefährer Fokuswerkzeuge während des Lernmodus ein. In einer Ausführungsform kann der Werkzeugmodus oder die Unterroutine eine Vielzahl vorher trainierter schneller ungefährer Fokuswerkzeuge bewerten und bestimmen, ob es wahrscheinlich ist, dass die Arbeitsstückoberfläche, auf der die Merkmalsinspektionsabläufe gegenwärtig definiert sind, nominell planar ist (z. B. durch Auswerten, ob die vorher trainierten schnellen ungefähren Fokuswerkzeuge alle Ursprungs-Z-Höhen einschließen, die innerhalb eines relativ schmalen Bereichs fallen, oder ein anderes geeignetes Verfahren). Wenn das so ist, dann kann der Werkzeugmodus oder die Unterroutine den Nutzer benachrichtigen, dass es tatsächlich geeignet sein könnte, eine oder beide der „automatischen” Einstellungen zu implementieren, wie vorher mit Bezug zu dem „Basisregister 910b” beschrieben, wenn die Einstellungen noch nicht geeignet sind. Im Gegensatz dazu, wenn die Auswertung der vorher trainierten ursprünglichen Z-Höhen signifikante Höhenvariationen aufweisen, dann kann der Werkzeugmodus oder die Subroutine den Benutzer benachrichtigen, dass es tatsächlich geeignet sein könnte, eine oder beide der „manuellen” Einstellungen zu implementieren, wie vorher mit Bezug zu dem „Basisregister 910b” beschrieben, wenn die Einstellungen noch nicht geeignet sind. Solch ein in den Lernmodus schnellen ungefähren Fokusabläufen eingeschlossener Modus oder Routine kann den Benutzern helfen, die nur an konventi onelle Autofokusvorgänge gewöhnt sind, die robustere und/oder schnellere Teilprogramme unter geeigneter Verwendung des schnellen ungefähren Fokuswerkzeugs erzeugen.
  • 10 ist ein Diagramm, welches eine Ausführungsform einer maschinellen Sichtinspektionssystembenutzerschnittstellenanzeige 1000 zeigt, einschließlich einer Anordnung verschiedener Merkmale in Verbindung mit einem schnellen ungefähren Autofokuswerkzeug. In einem exemplarischen in 10 gezeigten Zustand, schließt die Benutzerschnittstellenanzeige 1000 ein Gesichtsfeldfenster 1003 ein, welches ein Arbeitsstückbild 1010 anzeigt. Die Benutzerschnittstelle 1000 schließt weiterhin verschiedene Mess- und/oder Ablaufauswahlschieber ein, wie die Auswahlschieber 1020 und 1040, ein Echtzeit X-Y-Z (Positionskoordinatenfenster 1030 und ein Lichtsteuerfenster 1050).
  • Das Gesichtsfeldfenster 1003 schließt eine exemplarische schnelle ungefähre Autofokusvorrichtung 1014 ein und ein Bereich-von-Interesse 1014' der einem gegenwärtigen zu inspizierenden Arbeitsstückmerkmal 1012 überlagert wird. In verschiedenen Ausführungsformen, wenn der Benutzer ein schnelles ungefähres Autofokuswerkzeug oder Modus auswählt (z. B. durch einen Auswahlschieber, der verschiedenen alternative Werkzeug- und/oder Modusauswahlknöpfe anzeigt), kann die Benutzerschnittstelle automatisch eine Autofokusparameterdialogbox anzeigen, wie die vorher beschriebene, in 9 gezeigte Parameterdialogbox 900. In einer Ausführungsform kann die Vorrichtung 1014 automatisch in der Benutzerschnittstelle angezeigt werden, um einem Benutzer zu erlauben, den Bereichvon-Interesse 1014' graphisch zu definieren, für den Vorgang des schnellen ungefähren Fokuswerkzeugs (z. B. Durchziehen der quadratischen Griffe, die sich an der Grenze der Vorrichtung 1014 befinden und unter Verwendung einer Computermaus und einem Bildschirmcursor). Es wird geschätzt werden, dass in gewissen Ausführungsformen das Arbeitsstückmerkmal 1012 und die schnelle ungefähre Autofokus-Bereich-von-Interesse-Vorrichtung 1014 und der Bereich-von- Interesse 1014', ähnlich den schnellen ungefähren Autofokus-Bereichen-von-Interesse 314A bis 314D aus 3, erscheinen und wirken.
  • Es wird geschätzt werden, dass durch Verwendung der Verfahren der vorliegenden Erfindung signifikante Durchsatzverbesserungen für autofokussierende Abläufe erreicht werden können. In gewissen Ausführungsformen und Anwendungsfällen steigen die schnellen ungefähren Fokussierungsabläufe der vorliegenden Erfindung den Durchsatz um ungefähr 2,5 bis 15 mal verglichen zu konventionelleren autofokussierenden Verfahren, die Fokuskurven im Laufmodus bestimmen. Im Allgemeinen hängt die Verbesserung des Durchsatzes davon ab, welche konventionellen autofokussierenden Betriebsmodi zum Vergleich verwendet werden (z. B. ob eine geringe, mittlere oder hohe Dichte von Fokuskurvenpunkten zur Bestimmung der konventionellen Laufmodusfokuskurven verwendet wurden) und von den Sequenzen erfolgreicher Fokusabläufe, die in dem Teilprogramm verwendet werden, und die in geeigneter Form schnelle ungefähre Autofokusabläufe verwenden können lange Sequenzen oder kurze Sequenzen sind. Die Durchsatzzunahme ist für lange Sequenzen größer, welche auf einer großen Breite von relativ planaren oder flachen Teilen auftreten.
  • Während die bevorzugte Ausführungsform der Erfindung gezeigt und beschrieben wurde, werden viele Variationen in den gezeigten und beschriebenen Anordnungen von Merkmalen und Sequenzen von Abläufen dem Fachmann aufgrund dieser Offenbarung ersichtlich werden. Demnach wird geschätzt werden, dass vielfältige Veränderungen darin gemacht werden können, ohne den Geist und Bereich der Erfindung zu verlassen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - US 6542180 [0003, 0003, 0004, 0048]
    • - US 5790710 [0005, 0005, 0005]
    • - US 7030351 [0005]
    • - US 7454053 [0026]
    • - US 10/632823 [0026]
    • - US 7324682 [0026]
  • Zitierte Nicht-Patentliteratur
    • - „Robust Autofocusing in Microscopy” von Jan-Mark Geusebroek und Arnold Smeulders in der ISIS Technical Report Series, Band 17, November 2000 [0005]

Claims (20)

  1. In einem maschinellen Sichtinspektionssystem umfasst ein Verfahren zum Fokussieren zum Bereitstellen eines Inspektionsbildes das Folgende: automatisches ungefähres Fokussieren eines Inspektionsbildes während eines Laufmodus des maschinellen Sichtinspektionssystems, unter Verwendung eines Satzes von Abläufen, die das Folgende umfassen: Erfassen eines ersten Bildes eines gegenwärtigen Bereichs-von-Interesse, einschließlich eines zu inspizierenden Merkmals, und Bestimmen eines ersten Bildfokuswertes in dem gegenwärtigen Bereich von Interesse; Zugänglichmachen der vorher gelernten jeweiligen merkmalsspezifischen Fokuskurvendaten und der Fokusschwellwertdaten entsprechend dem gegenwärtigen Bereich von Interesse; Auswerten des ersten Bildfokuswertes um zu bestimmen, ob er schlechter als der Fokusschwellwert ist, und wenn der erste Bildfokuswert schlechter als der Fokusschwellwert ist, Durchführen eines Satzes von Unterabläufen, die das Folgende umfassen: Bewegen eines fokussierenden Elementes, welches entweder (a) das zu inspizierende Merkmal ist oder (b) ein Fokus bestimmendes optisches Element, entlang einer ersten Einstellrichtung für eine geschätzte erste Einstellentfernung, wobei die erste Einstellentfernung aufgrund der jeweiligen merkmalsspezifischen Fokuskurvendaten und dem ersten Bildfokuswert geschätzt wird; Erfassen eines zweiten Bildes des gegenwärtigen Bereichs-von-Interesse nach dem Bewegen um die geschätzte erste Einstellentfernung, und Bestimmen eines zweiten Bildfokuswertes im Bereich von Interesse in dem zweiten Bild, und Auswerten des zweiten Bildfokuswertes, um zu bestimmen, ob er schlechter als ein vorher bestimmter Fokuswertparameter ist, und wenn der zweite Bildfokuswert schlechter als der vorher bestimmte Fokuswertparameter ist, Bewegen des fokussierenden Elements entlang einer zweiten Einstellrichtung, die entgegengesetzt zu der ersten Einstellrichtung ist, um eine geschätzte zweite Einstellentfernung, die eine geschätzte Entfernung zu einer am besten fokussierten Position ist, auf Grundlage von zumindest einem Teil von (c) der ersten Einstellentfernung und (d) den jeweils merkmalsspezifischen Fokuskurvendaten.
  2. Verfahren nach Anspruch 1, wobei, wenn der erste Bildfokuswert nicht schlechter als der Fokusschwellwert ist, dann wird bestimmt, dass das erste Bild ungefähr fokussiert ist, und das erste Bild wird als ein Inspektionsbild verwendet, und die zusätzlichen Bewegungs-, Erfassungs- und Auswertungsschritte sind unnötig.
  3. Verfahren nach Anspruch 1, wobei, wenn der zweite Bildfokuswert schlechter als der vorher bestimmte Fokuswertparameter ist, der Satz von Unterabläufen weiterhin umfasst: Erfassen eines dritten Bildes des gegenwärtigen Bereichs-von-Interesse nach einer Bewegung, um eine zweite Einstellentfernung, und Bestimmen eines dritten Bildfokuswerts in dem Bereich von Interesse in dem dritten Bild.
  4. Verfahren nach Anspruch 3, wobei der Satz von Unterabläufen weiterhin umfasst: Auswerten des dritten Bildfokuswerts zur Bestimmung, ob er schlechter als ein vorher bestimmter Fokuswertparameter ist, und wenn der dritte Bildfokuswert schlechter als der vorher bestimmte Fokuswertparameter ist, Standardisieren, um autofokussierende Abläufe zu führen, welche eine Be stimmung einer Laufmodusfokuskurve für den gegenwärtigen Bereich von Interesse einschließt.
  5. Verfahren nach Anspruch 4, wobei jener vorher bestimmte Fokuswertparameter der Fokusschwellwert ist, und wenn der dritte Bildfokuswert nicht schlechter als der Fokusschwellwert ist, dann wird bestimmt, dass das dritte Bild ungefähr fokussiert ist und das dritte Bild wird als ein Inspektionsbild verwendet.
  6. Verfahren nach Anspruch 3, wobei, wenn der zweite Bildfokuswert nicht schlechter als der vorher bestimmte Fokuswertparameter ist, dann wird bestimmt, dass das zweite Bild ungefähr fokussiert ist, und das zweite Bild wird als ein Inspektionsbild verwendet, und die Abläufe des Erfassen eines dritten Bildes und des Bestimmens eines dritten Bildfokuswertes sind unnötig.
  7. Verfahren nach Anspruch 1, wobei nach dem Bewegen des fokussierenden Elements entlang der ersten Einstellrichtung und entlang der zweiten Einstellrichtung, die der ersten Einstellrichtung entgegengesetzt ist, keine zusätzlichen Bewegungen des fokussierenden Elements mit dem Ziel eines automatischen ungefähren Fokussierens eines Bildes des gegenwärtigen Bereichs-von-Interesse durchgeführt werden.
  8. Verfahren nach Anspruch 1, wobei der vorher bestimmte Fokuswertparameter, mit welchem der zweite Bildfokuswert verglichen wird, der erste Bildfokuswert ist.
  9. Verfahren nach Anspruch 1, wobei der vorher bestimmte Fokuswertparameter, mit welchem der zweite Bildfokuswert verglichen wird, der Fokusschwellwert ist.
  10. Verfahren nach Anspruch 1, wobei die erste Einstellrichtung ausgewählt wird, um dieselbe Richtung wie die zuletzt erfolgreiche Einstellrichtung zu sein, die ein ungefähr fokussiertes Bild möglich gemacht hat, welches als ein Inspektionsbild während eines Laufvorgangs eines Satzes von Abläufen zum automatischen ungefähren Fokussieren eines Inspektionsbildes verwendet wurde.
  11. Verfahren nach Anspruch 1, wobei die geschätzte zweite Einstellentfernung nominal zweimal die geschätzte erste Einstellentfernung ist.
  12. Verfahren nach Anspruch 1, wobei das Verfahren zumindest teilweise auf Abläufen basiert, die durch den Betrieb eines Videowerkzeugs eingerichtet wurden, welches in dem maschinellen Sichtinspektionssystem eingeschlossen ist.
  13. Verfahren nach Anspruch 12, weiterhin umfassend einen Nutzer des maschinellen Sichtsystems, der das Videowerkzeug in einem Lernmodus auswählt und trainiert, um die gelernten jeweiligen merkmalsspezifischen Fokuskurvendaten und die Fokusschwellwertdaten entsprechend dem gegenwärtigen Bereich von Interesse zu bestimmen und zu speichern.
  14. Verfahren nach Anspruch 1, wobei die Fokuswerte, die in den vorher gelernten jeweiligen merkmalsspezifischen Fokuskurvendaten eingeschlossen sind, die Fokusschwellwertdaten, der erste Bildfokuswert und der zweite Bildfokuswert normalisierte Fokuswerte sind.
  15. Verfahren nach Anspruch 1, wobei der vorher bestimmte Fokusschwellwert einem Punkt auf der Fokuskurve der repräsentativen merkmalsspezifischen Fokuskurvendaten entspricht, und jener Punkt so bestimmt wird, dass er nicht weniger als 2 und nicht mehr als 7 Fokustiefen, weg von der Peak-Fokusposition der Fokuskurve ist, wobei die Fokustiefe jene eines optischen Systems der maschinellen Vision ist, die zur Erfassung von Bildern innerhalb eines Satzes von Abläufen des Verfahrens verwendet wird.
  16. Verfahren nach Anspruch 1, wobei die geschätzte zweite Einstellentfernung auf der Grundlage der repräsentativen merkmalsspezifischen Fokuskurvendaten und des zweiten Bildfokuswertes geschätzt ist.
  17. Ein computerlesbares Medium, welches Instruktionen enthält, die durch einen Computer ausführbar sind, welche, wenn sie auf einem maschinellen Sichtsystem ausgeführt werden, ein Verfahren zum Fokussieren zur Bereitstellung eines Inspektionsbildes ausführen, wobei das Verfahren umfasst: während eines Laufmodus des maschinellen Sichtinspektionssystems automatisches ungefähres Fokussieren eines Inspektionsbildes unter Verwendung eines Satzes von Abläufen, die umfassen: Erfassen eines ersten Bildes eines gegenwärtigen Bereichs-von-Interesse, einschließlich eines zu inspizierenden Merkmals, und Bestimmen eines ersten Bildfokuswerts in dem gegenwärtigen Bereich von Interesse; Zugänglichmachen der vorher erlernten repräsentativen merkmalsspezifischen Fokuskurvendaten und der Fokusschwellwertdaten entsprechend dem gegenwärtigen Bereich von Interesse; Auswerten des ersten Bildfokuswerts zur Bestimmung, ob er schlechter als der Fokusschwellwert ist, und wenn der erste Bildfokuswert schlechter als der Fokusschwellwert ist, Durchführen eines Satzes von Unterabläufen, umfassend: Bewegen eines Fokuselementes, welches entweder (a) das zu inspizierende Merkmal ist, oder (b) ein Fokus bestimmendes optisches Element entlang einer ersten Einstellrichtung für eine geschätzte erste Einstellentfernung, wobei die erste Einstellentfernung aufgrund der repräsentativen merkmalspezifischen Fokuskurvendaten und dem ersten Bildfokuswert geschätzt ist; Erfassen eines zweiten Bildes des gegenwärtigen Bereichs-von-Interesse nach einem Bewegen, um die geschätzte erste Einstellentfernung, und bestimmen eines zweiten Bildfokuswertes im Bereich von Interesse in dem zweiten Bild, und Auswerten des zweiten Bildfokuswertes, um zu bestimmen, ob er schlechter als ein vorher bestimmter Fokuswertparameter ist, und wenn der zweite Bildfokuswert schlechter ist als der vorher bestimmte Fokuswertparameter, Bewegen des fokussierenden Elements entlang einer zweiten Einstellrichtung, die der ersten Einstellrichtung entgegengesetzt ist, um eine geschätzte zweite Einstellentfernung, die eine geschätzte Entfernung zu einer am besten fokussierten Position ist, auf der Grundlage von zumindest teilweise entweder (c) der ersten Einstellentfernung oder (d) den repräsentativen merkmalsspezifischen Fokuskurvendaten.
  18. Computerlesbares Medium nach Anspruch 17, wobei der vorher bestimmte Fokuswertparameter der Fokusschwellwert ist, und, wenn der zweite Bildfokuswert schlechter als der Fokusschwellwert ist, der Satz von Unterabläufen weiterhin umfasst: Erfassen eines dritten Bilds im Bereich von Interesse nach einem Bewegen um die zweite Einstellentfernung, und Bestimmen eines dritten Bildfokuswertes in dem Bereich von Interesse in dem dritten Bild; Erfassen des dritten Bildfokuswertes, um zu bestimmen, ob er schlechter als der Fokusschwellwert ist, und, wenn der dritte Bildfokuswert schlechter als der Fokusschwellwert ist, Standardisieren zur Durchführung von autofokussierenden Abläufen, die eine Bestimmung einer Laufmodusfokuskurve des gegenwärtigen Bereichs-von-Interesse einschließen, und wenn der dritte Bildfokuswert nicht schlechter als der Fokusschwellwert ist, dann wird bestimmt, dass das dritte Bild ungefähr fokussiert ist, und das dritte Bild wird als ein Inspektionsbild verwendet.
  19. Computerlesbares Medium nach Anspruch 17, wobei das Verfahren weiterhin umfasst, dass nach einem Bewegen des fokussierenden Elements entlang der ersten Einstellrichtung und entlang der zweiten Einstellrichtung, die der ersten Einstellrichtung entgegengesetzt ist, keine zusätzlichen Bewegungen des fokussierenden Elements mit dem Ziel eines automatischen ungefähren Fokussierens eines Bildes des gegenwärtigen Bereichsvon-Interesse durchgeführt werden.
  20. Computerlesbares Medium nach Anspruch 17, wobei das Verfahren weiterhin umfasst, dass die erste Einstellrichtung ausgewählt wird, sodass sie in derselben Richtung wie die letzte erfolgreiche Einstellrichtung liegt, durch die ein ungefähr fokussiertes Bild bereitgestellt wurde, welches als ein Inspektionsbild während eines vorherigen Laufvorgangs eines Satzes von Abläufen zum automatischen, ungefähren Fokussieren eines Inspektionsbildes verwendet wurde.
DE102009029478.3A 2008-12-23 2009-09-15 System und Verfahren für einen schnellen ungefähren Fokus Expired - Fee Related DE102009029478B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/343,383 US8111938B2 (en) 2008-12-23 2008-12-23 System and method for fast approximate focus
US12/343,383 2008-12-23

Publications (2)

Publication Number Publication Date
DE102009029478A1 true DE102009029478A1 (de) 2010-06-24
DE102009029478B4 DE102009029478B4 (de) 2018-02-15

Family

ID=42194267

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009029478.3A Expired - Fee Related DE102009029478B4 (de) 2008-12-23 2009-09-15 System und Verfahren für einen schnellen ungefähren Fokus

Country Status (4)

Country Link
US (1) US8111938B2 (de)
JP (1) JP5427018B2 (de)
CN (1) CN101762268B (de)
DE (1) DE102009029478B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3575862A1 (de) * 2018-05-30 2019-12-04 Beijing Xiaomi Mobile Software Co., Ltd. Verfahren und vorrichtung zur einstellung der linsenposition

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101769475B (zh) * 2008-12-31 2013-04-24 鸿富锦精密工业(深圳)有限公司 影像测量仪光源及利用该光源的自动定位系统
JP5287385B2 (ja) * 2009-03-13 2013-09-11 オムロン株式会社 計測装置
US8155770B2 (en) * 2009-03-31 2012-04-10 Globalfoundries Inc. Method and apparatus for dispatching workpieces to tools based on processing and performance history
WO2011005238A1 (en) * 2009-07-08 2011-01-13 Freescale Semiconductor, Inc. Degree-of-focus determination module, position-of-best-focus selection modules, image processing module, imaging system, and corresponding method
US8111905B2 (en) 2009-10-29 2012-02-07 Mitutoyo Corporation Autofocus video tool and method for precise dimensional inspection
US8581162B2 (en) * 2009-12-08 2013-11-12 Mitutoyo Corporation Weighting surface fit points based on focus peak uncertainty
JP5374651B2 (ja) * 2010-03-12 2013-12-25 カスケード マイクロテック インコーポレイテッド 半導体試験システム
US8194251B2 (en) * 2010-08-26 2012-06-05 Mitutoyo Corporation Method for operating a dual beam chromatic point sensor system for simultaneously measuring two surface regions
US8648906B2 (en) 2010-10-13 2014-02-11 Mitutoyo Corporation Precision solder resist registration inspection method
US8773526B2 (en) 2010-12-17 2014-07-08 Mitutoyo Corporation Edge detection using structured illumination
US8280172B1 (en) 2011-03-22 2012-10-02 Mitutoyo Corporation Edge location measurement correction for coaxial light images
US8269830B1 (en) * 2011-04-14 2012-09-18 Mitutoyo Corporation Inspecting potentially interfering features in a machine vision system
US9080855B2 (en) 2011-09-23 2015-07-14 Mitutoyo Corporation Method utilizing image correlation to determine position measurements in a machine vision system
US9013574B2 (en) 2011-11-15 2015-04-21 Mitutoyo Corporation Machine vision system program editing environment including synchronized user interface features
US8957960B2 (en) 2011-11-15 2015-02-17 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
US8902307B2 (en) 2011-11-15 2014-12-02 Mitutoyo Corporation Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
US9223306B2 (en) 2011-11-15 2015-12-29 Mitutoyo Corporation System and method utilizing an editing initialization block in a part program editing environment in a machine vision system
US9167215B2 (en) 2011-11-15 2015-10-20 Mitutoyo Corporation Machine vision system editing environment for a part program in which a continuous stream of image acquisition operations are performed during a run mode
US20130162806A1 (en) 2011-12-23 2013-06-27 Mitutoyo Corporation Enhanced edge focus tool
WO2013096929A1 (en) 2011-12-23 2013-06-27 Mitutoyo Corporation Points from focus operations using multiple light settings in a machine vision system
US8937654B2 (en) 2012-08-22 2015-01-20 Mitutoyo Corporation Machine vision inspection system comprising two cameras having a rotational offset
US8689127B1 (en) 2012-11-05 2014-04-01 Mitutoyo Corporation Edge measurement video tool parameter-setting user interface
US9177222B2 (en) 2012-11-05 2015-11-03 Mitutoyo Corporation Edge measurement video tool and interface including automatic parameter set alternatives
US8885945B2 (en) 2012-12-27 2014-11-11 Mitutoyo Corporation Method for improving repeatability in edge location results of a machine vision inspection system
US8995749B2 (en) 2013-03-28 2015-03-31 Mitutoyo Corporation Enhanced edge detection tool for edges of irregular surfaces
US9304089B2 (en) 2013-04-05 2016-04-05 Mitutoyo Corporation System and method for obtaining images with offset utilized for enhanced edge resolution
US8917940B2 (en) 2013-04-26 2014-12-23 Mitutoyo Corporation Edge measurement video tool with robust edge discrimination margin
US9235337B2 (en) 2013-05-09 2016-01-12 Mitutoyo Corporation System, GUI and method for editing step and repeat operation instructions in a machine vision inspection system
DE112014002389B4 (de) 2013-05-13 2022-08-04 Mitutoyo Corporation Bearbeitungsumgebung für ein Programm für ein maschinelles Bilderkennungssystem, enthaltend ein betriebskontextbewusstes Kopier-und Einfüge-Merkmal
US9350921B2 (en) 2013-06-06 2016-05-24 Mitutoyo Corporation Structured illumination projection with enhanced exposure control
US9143674B2 (en) 2013-06-13 2015-09-22 Mitutoyo Corporation Machine vision inspection system and method for performing high-speed focus height measurement operations
US9456120B2 (en) 2013-07-11 2016-09-27 Mitutoyo Corporation Focus height repeatability improvement in a machine vision inspection system
JP6274794B2 (ja) * 2013-09-12 2018-02-07 株式会社ミツトヨ 情報処理装置、情報処理方法、プログラム、及び画像測定装置
CN105555180A (zh) * 2013-09-24 2016-05-04 奥林巴斯株式会社 内窥镜装置和内窥镜装置的控制方法
US9444995B2 (en) 2013-10-11 2016-09-13 Mitutoyo Corporation System and method for controlling a tracking autofocus (TAF) sensor in a machine vision inspection system
US9182583B2 (en) 2013-11-15 2015-11-10 Mitutoyo Corporation Structured illumination microscopy optical arrangement including projection artifact supression element
US10178321B2 (en) 2013-11-27 2019-01-08 Mitutoyo Corporation Machine vision inspection system and method for obtaining an image with an extended depth of field
US9726876B2 (en) 2013-11-27 2017-08-08 Mitutoyo Corporation Machine vision inspection system and method for obtaining an image with an extended depth of field
US20150178484A1 (en) 2013-12-20 2015-06-25 Mitutoyo Corporation Remote Accessory Management in a Programming Environment for a Progammable Metrology System
US9606525B2 (en) 2013-12-23 2017-03-28 Mitutoyo Corporation Remote accessory for generating customized and synchronized reference notes for a programmable metrology system
DE102015208337A1 (de) 2014-06-17 2015-12-17 Mitutoyo Corp. Bearbeitungsumgebung eines maschinellen sichtsystems für ein teileprogramm, in dem ein durchgehender datenstrom von bilderfassungsvorgängen in einem laufmodus ausgeführt wird
US9740190B2 (en) 2014-10-09 2017-08-22 Mitutoyo Corporation Method for programming a three-dimensional workpiece scan path for a metrology system
US9602715B2 (en) 2015-07-09 2017-03-21 Mitutoyo Corporation Adaptable operating frequency of a variable focal length lens in an adjustable magnification optical system
JP6599697B2 (ja) * 2015-08-31 2019-10-30 株式会社ミツトヨ 画像測定装置及びその制御プログラム
US9830694B2 (en) 2015-08-31 2017-11-28 Mitutoyo Corporation Multi-level image focus using a tunable lens in a machine vision inspection system
JP6599698B2 (ja) * 2015-08-31 2019-10-30 株式会社ミツトヨ 画像測定装置及びその制御プログラム
US9549125B1 (en) * 2015-09-01 2017-01-17 Amazon Technologies, Inc. Focus specification and focus stabilization
US9774765B2 (en) 2015-09-15 2017-09-26 Mitutoyo Corporation Chromatic aberration correction in imaging system including variable focal length lens
US9930243B2 (en) 2016-05-02 2018-03-27 Mitutoyo Corporation Variable focal length imaging system
US9736355B1 (en) 2016-05-03 2017-08-15 Mitutoyo Corporation Phase difference calibration in a variable focal length lens system
US9961253B2 (en) 2016-05-03 2018-05-01 Mitutoyo Corporation Autofocus system for a high speed periodically modulated variable focal length lens
US10151962B2 (en) 2016-09-29 2018-12-11 Mitutoyo Corporation Variable focal length lens system with focus monitoring and control
US10142550B2 (en) 2016-11-15 2018-11-27 Mitutoyo Corporation Extending a focus search range in an imaging system including a high speed variable focal length lens
DE102017220101A1 (de) 2016-11-23 2018-05-24 Mitutoyo Corporation Prüfsystem unter Verwendung von maschinellem Sehen zum Erhalten eines Bilds mit erweiterter Tiefenschärfe
US10101572B2 (en) 2016-11-23 2018-10-16 Mitutoyo Corporation Variable focal length lens system with multi-level extended depth of field image processing
US10768404B2 (en) 2017-03-22 2020-09-08 Mitutoyo Corporation Modulation monitoring system for use with an imaging system that includes a high speed periodically modulated variable focal length lens
US10593718B2 (en) 2017-03-28 2020-03-17 Mitutoyo Corporation Surface profiling and imaging system including optical channels providing distance-dependent image offsets
US10225457B1 (en) 2017-09-06 2019-03-05 Mitutoyo Corporation Stabilizing operation of a high speed variable focal length tunable acoustic gradient lens in an imaging system
US10341646B2 (en) 2017-09-29 2019-07-02 Mitutoyo Corporation Variable focal length lens system with optical power monitoring
US10281700B1 (en) 2017-12-21 2019-05-07 Mitutoyo Corporation Variable focal length lens system including a focus state reference subsystem
US10171725B1 (en) 2017-12-21 2019-01-01 Mitutoyo Corporation Variable focal length lens system including a focus state reference subsystem
US10656780B2 (en) * 2018-01-12 2020-05-19 Mitutoyo Corporation Position specifying method and program
US10578827B2 (en) 2018-04-27 2020-03-03 Mitutoyo Corporation Variable focal length lens system with quasi-sinusoidal periodic intensity modulated light
US10498948B1 (en) 2018-06-05 2019-12-03 Applied Materials, Inc. Methods and apparatus for absolute and relative depth measurements using camera focus distance
JP2020069301A (ja) * 2018-11-02 2020-05-07 コニカミノルタ株式会社 超音波診断装置
US10812701B2 (en) 2018-12-13 2020-10-20 Mitutoyo Corporation High-speed tag lens assisted 3D metrology and extended depth-of-field imaging
US11125967B2 (en) 2018-12-26 2021-09-21 Mitutoyo Corporation System and method for calibrating variable focal length lens system using calibration object with planar tilted pattern surface
US10520301B1 (en) 2018-12-31 2019-12-31 Mitutoyo Corporation Method for measuring Z height values of a workpiece surface with a machine vision inspection system
US11340439B2 (en) * 2019-03-21 2022-05-24 Sigtuple Technologies Private Limited Method and system for auto focusing a microscopic imaging system
JP2022548206A (ja) 2019-08-30 2022-11-17 株式会社ミツトヨ 高速計測撮像のための高速高パワーパルス光源システム
US10880468B1 (en) 2019-12-19 2020-12-29 Mitutoyo Corporation Metrology system with transparent workpiece surface mode
US11249225B2 (en) 2019-12-20 2022-02-15 Mitutoyo Corporation Tunable acoustic gradient lens system utilizing amplitude adjustments for acquiring images focused at different z-heights
US11119382B2 (en) 2019-12-20 2021-09-14 Mitutoyo Corporation Tunable acoustic gradient lens system with amplitude adjustment corresponding to z-height as indicated by calibration data
US11430105B2 (en) 2020-06-15 2022-08-30 Mitutoyo Corporation Workpiece inspection and defect detection system including monitoring of workpiece images
US11150200B1 (en) 2020-06-15 2021-10-19 Mitutoyo Corporation Workpiece inspection and defect detection system indicating number of defect images for training
US11631196B2 (en) * 2020-07-31 2023-04-18 Zebra Technologies Corporation Systems and methods to optimize imaging settings for a machine vision job
US11328409B2 (en) 2020-09-30 2022-05-10 Mitutoyo Corporation System and method utilizing multi-point autofocus to align an optical axis of an optical assembly portion to be normal to a workpiece surface
US11587246B2 (en) 2020-10-30 2023-02-21 Mitutoyo Corporation Metrology system with projected pattern for points-from-focus type processes
US11486694B2 (en) 2020-12-18 2022-11-01 Mitutoyo Corporation Chromatic range sensor system for measuring workpiece thickness
US11756186B2 (en) 2021-09-15 2023-09-12 Mitutoyo Corporation Workpiece inspection and defect detection system utilizing color channels

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790710A (en) 1991-07-12 1998-08-04 Jeffrey H. Price Autofocus system for scanning microscopy
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
US20050031191A1 (en) 2003-08-04 2005-02-10 Mitutoyo Corporation Methods and apparatus for inspection of lines embedded in highly textured material
US7030351B2 (en) 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
US7324682B2 (en) 2004-03-25 2008-01-29 Mitutoyo Corporation System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system
US7454053B2 (en) 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU612484B2 (en) * 1988-05-11 1991-07-11 Sanyo Electric Co., Ltd. Image sensing apparatus having automatic focusing function of automatically matching focus in response to video signal
US5200828A (en) 1990-03-19 1993-04-06 Sam Jung Co., Ltd. Autofocusing device for use in a video camera and an autofocusing method thereof
JPH05292381A (ja) * 1992-04-08 1993-11-05 Hitachi Ltd 自動焦点調節方法
US5398096A (en) 1992-06-15 1995-03-14 Minolta Co., Ltd. Automated focus point control device
US5932872A (en) * 1994-07-01 1999-08-03 Jeffrey H. Price Autofocus system for scanning microscopy having a volume image formation
US5557097A (en) 1994-09-20 1996-09-17 Neopath, Inc. Cytological system autofocus integrity checking apparatus
WO1999021352A1 (fr) 1997-10-21 1999-04-29 Seiko Epson Corporation Dispositif de lecture d'image et procede de mise au point pour ce dispositif
JPH11127314A (ja) * 1997-10-21 1999-05-11 Seiko Epson Corp 画像読み取り装置及びそのフォーカス調整方法
IL146882A0 (en) 1999-06-04 2002-08-14 Janssen Pharmaceutica Nv Robust autofocus system for a microscope
US7034883B1 (en) * 1999-08-10 2006-04-25 Cellavision Ab Automatic focusing
US20040131348A1 (en) 2001-03-30 2004-07-08 Kohtaro Ohba Real-time omnifocus microscope camera
CN1419147A (zh) * 2001-11-13 2003-05-21 中国科学院力学研究所 三维物体的倍率可变光学成像系统的自动调焦方法和装置
DE10217404A1 (de) 2002-04-18 2003-11-06 Leica Microsystems Autofokusverfahren für ein Mikroskop und System zum Einstellen des Fokus für ein Mikroskop
US6975810B2 (en) 2003-03-26 2005-12-13 Nikon Corporation Focal point detection device and camera
US7394943B2 (en) 2004-06-30 2008-07-01 Applera Corporation Methods, software, and apparatus for focusing an optical system using computer image analysis
US20060012836A1 (en) 2004-07-16 2006-01-19 Christian Boemler Focus adjustment for imaging applications
US7538813B2 (en) * 2005-05-11 2009-05-26 Sony Ericsson Mobile Communications Ab Digital cameras with triangulation autofocus systems and related methods
US7835637B2 (en) * 2006-09-20 2010-11-16 Qualcomm Incorporated Predictive focus value calculation for image capture devices
US20100157086A1 (en) * 2008-12-15 2010-06-24 Illumina, Inc Dynamic autofocus method and system for assay imager

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790710A (en) 1991-07-12 1998-08-04 Jeffrey H. Price Autofocus system for scanning microscopy
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
US20050031191A1 (en) 2003-08-04 2005-02-10 Mitutoyo Corporation Methods and apparatus for inspection of lines embedded in highly textured material
US7030351B2 (en) 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
US7324682B2 (en) 2004-03-25 2008-01-29 Mitutoyo Corporation System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system
US7454053B2 (en) 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Robust Autofocusing in Microscopy" von Jan-Mark Geusebroek und Arnold Smeulders in der ISIS Technical Report Series, Band 17, November 2000

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3575862A1 (de) * 2018-05-30 2019-12-04 Beijing Xiaomi Mobile Software Co., Ltd. Verfahren und vorrichtung zur einstellung der linsenposition
US11061202B2 (en) 2018-05-30 2021-07-13 Beijing Xiaomi Mobile Software Co., Ltd. Methods and devices for adjusting lens position

Also Published As

Publication number Publication date
US20100158343A1 (en) 2010-06-24
JP2010152361A (ja) 2010-07-08
US8111938B2 (en) 2012-02-07
CN101762268B (zh) 2014-02-19
DE102009029478B4 (de) 2018-02-15
CN101762268A (zh) 2010-06-30
JP5427018B2 (ja) 2014-02-26

Similar Documents

Publication Publication Date Title
DE102009029478B4 (de) System und Verfahren für einen schnellen ungefähren Fokus
DE602004003882T2 (de) System und Verfahren zur schnellen automatischen Fokussierung eines Maschinenvisionssystems
DE102010043052B4 (de) Verfahren zur präzisen Dimensionsprüfung und Fokussierung
DE102016213122A1 (de) Mehrstufige Bildschärfe unter Verwendung einer abstimmbaren Linse in einem maschinellen Sichtinspektionssystem
DE102014205726B4 (de) Verfahren zum bestimmen von profildaten für ein kantenmerkmal in einem inspektionssystem mit maschineller bildverarbeitung
DE102017220104A1 (de) Linsensystem mit variabler Brennweite mit Mehrebenen-Bildverarbeitung mit erweiterter Tiefenschärfe
DE102012224320A1 (de) Verbessertes Kantenfokussierungswerkzeug
DE102017207187A1 (de) Phasendifferenz-Kalibrierung in einem Linsensystem mit variabler Brennweite
DE102012220882B4 (de) System und Verfahren unter Verwendung eines Bearbeitungsinitialisierungsblocks in einer Teileprogramm-Bearbeitungsumgebung in einem Maschinenvisionssystem
DE112012005389T5 (de) "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden
DE102012216908B4 (de) Verfahren unter Verwendung einer Bildkorrelation zum Bestimmen von Positionsmessungen in einem Maschinenvisionssystem
DE102012220875A1 (de) Maschinelle Visionssystem-Editierumgebung für ein Teilprogramm, in welchem ein kontinuierlicher Stream der Bilderfassungsoperationen während eines Ablaufmodus ausgeführt wird
DE102014223387A1 (de) Bildverarbeitungs-Inspektionssystem und Verfahren zum Erhalten eines Bilds mit erweiterter Schärfentiefe
DE602005005728T2 (de) Mikromanipulationssystem zum Gebrauch im Gesichtsfeld eines Mikroskops
DE102015219495A1 (de) Verfahren zum Programmieren eines dreidimensionalen Werkstückabtastwegs für ein Metrologiesystem
DE102017220106A1 (de) Erweitern eines fokussuchbereichs in einem bildgebungssystem mit einer linse mit einer mit hochgeschwindigkeit variablen brennweite
DE102012206079A1 (de) Inspizieren von potenziell störenden Eigenschaften in einem maschinellen, visuellen System
DE102019203963A1 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren, programm und bildverarbeitungsmessvorrichtung
DE102014206309A1 (de) System und Verfahren zum Erhalten von Bildern mit Versatz zur Verwendung für verbesserte Kantenauflösung
DE102016202928B4 (de) Verbessertes Autofokusverfahren für ein Koordinatenmessgerät
DE102014218054A1 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren, Programm und optische Messvorrichtung
DE102014211657A1 (de) Verbesserung der Reproduzierbarkeit der Fokushöhe in einem Bildverarbeitungs-Inspektionssystem
DE102019132174A1 (de) Tag-Linsen-unterstützte Hochgeschwindigkeits-3D-Metrologie und Bildgebung mit erweitertem Tiefenschärfenbereich
DE102009041183A1 (de) Verfahren zum automatischen Fokussieren eines Mikroskops auf ein vorbestimmtes Objekt sowie Mikroskop zum automatischen Fokussieren
DE102014006717A1 (de) Verfahren zur Erzeugung einer dreidimensionalen Information eines Objektes mit einem Digitalmikroskop und Datenverarbeitungsprogramm zur Abarbeitung des Verfahrens

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0005232000

Ipc: H04N0023600000

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