DE102009046295B4 - Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme - Google Patents

Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme Download PDF

Info

Publication number
DE102009046295B4
DE102009046295B4 DE102009046295.3A DE102009046295A DE102009046295B4 DE 102009046295 B4 DE102009046295 B4 DE 102009046295B4 DE 102009046295 A DE102009046295 A DE 102009046295A DE 102009046295 B4 DE102009046295 B4 DE 102009046295B4
Authority
DE
Germany
Prior art keywords
image
region
interest roi
height
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.)
Active
Application number
DE102009046295.3A
Other languages
English (en)
Other versions
DE102009046295A1 (de
Inventor
Robert K. Bryll
Mark L. Delaney
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 DE102009046295A1 publication Critical patent/DE102009046295A1/de
Application granted granted Critical
Publication of DE102009046295B4 publication Critical patent/DE102009046295B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/06Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness for measuring thickness ; e.g. of sheet material
    • G01B11/0608Height gauges
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/02Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
    • G01B21/04Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
    • G01B21/045Correction of measurements

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Automatic Focus Adjustment (AREA)

Abstract

Verfahren zum Betreiben eines maschinellen Sichtinspektionssystems (100') zum Definieren einer Vielzahl von Bereichen von Interesse ROI(k), die auf einem Arbeitsstück (20) zu messen sind, und zum Bereitstellen einer korrigierten Z-Höhenmessung entsprechend jedem der Bereiche von Interesse ROI(k), wobei das Verfahren umfasst:(a) Definieren der Vielzahl von Bereichen von Interesse ROI(k), für welche Z-Höhen auf dem Arbeitsstück (1705) zu bestimmen sind;(b) Definieren eines Bildstapelsatzes, umfassend eine Vielzahl von Bildern (i), wobei die Bilder des Bildstapelsatzes den Satz von Bereichen von Interesse ROI(k) umfassen, und der Bildstapelsatz die Z-Höhen umspannt, welche für die Vielzahl von Bereichen von Interesse ROI(k) (1710) zu bestimmen sind;(c) Erfassen der Bilder des Bildstapelsatzes, wobei jedes Teilbild (i) des Bildstapelsatzes an einer entsprechenden bekannten Z-Höhe Z(i) (1715, 1715') erfasst wird;(d) Bestimmen eines jeweiligen Fokus-Peak bestimmenden Datensatzes für jeden Bereich von Interesse ROI(k), umfassend eine Vielzahl von Fokusmetriken (k, i) und entsprechenden bekannten Z-Höhen Z(i), wobei die Vielzahl von Fokusmetriken (k, i) aufgrund dem jeweiligen Bereich von Interesse ROI(k) in einer Vielzahl von Bildern (i) (1730, 1730') bestimmt wird, und(e) Bestimmen einer jeweiligen am Besten fokussierten, unkorrigierten Z-Höhe für jeden Bereich von Interesse ROI(k) aufgrund des jeweiligen Fokus-Peak bestimmenden Datensatzes (1750);(f) Bestimmen jeweiliger winkeliger Inhaltskennzeichen für jeden Bereich von Interesse ROI(k) aufgrund eines ausreichend fokussierten Bilds des jeweiligen Bereichs von Interesse ROI(k) (1760, 1760', 1742');(g) Bestimmen eines jeweiligen Z-Höhenkorrekturwerts für jeden Bereich von Interesse ROI(k) aufgrund der jeweiligen winkeligen Inhaltskennzeichen für den jeweiligen Bereich von Interesse ROI(k), einschließlich Aufrufen von Z-Höhen-Fehlerkalibrierungsdaten, die eine Kennzeichnung einer Variation in Z-Höhenmessergebnissen aufgrund eines Fokus-Bereichs von Interesse einschließen, der zur Kalibrierung verwendet wurde, in Bezug auf eine Variation in einem Orientierungswinkel des anisotropischen Bildinhalts in dem Fokus-Bereich von Interesse, der zur Kalibrierung (1765, 1742'') verwendet wurde; und(h) Bestimmen einer jeweiligen korrigierten Z-Höhe für jeden Bereich von Interesse ROI(k) aufgrund des jeweiligen Z-Höhenkorrekturwerts und der jeweiligen am Besten fokussierten unkorrigierten Z-Höhen für jeweilige Bereiche von Interesse ROI(k) (1770, 1770'), wobei:in Schritt b) der Bildstapelsatz so definiert ist, dass er für jeden Bereich von Interesse ROI(k) zumindest ein Teilbild (i) umfasst, das an einer Z-Höhe Z(i) erfasst wurde, die nahe der jeweiligen am Besten fokussierten unkorrigierten Z-Höhe in dem jeweiligen Bereich von Interesse ROI(k) ist;in Schritt f) das ausreichend fokussierte Bild des Bereichs von Interesse ROI(k), welches zur Bestimmung seiner jeweiligen winkeligen Inhaltskennzeichnung verwendet wurde, ein Teilbild (i) des Bildstapelsatzes ist, welches an einer Z-Höhe Z(i) erfasst wurde, die proximal zu der jeweiligen am Besten fokussierten unkorrigierten Z-Höhe für den jeweiligen Bereich von Interesse ROI(k) ist, wie in Schritt e) bestimmt;in Schritt d) das Bestimmen einer Vielzahl von Fokusmetriken (k, i) aufgrund des jeweiligen Bereichs von Interesse ROI(k) in einer Vielzahl von Bildern (i) das Bestimmen von zumindest einigen der Fokusmetriken (k, i) iterativ (1717, 1744) umfasst, so dass eine aktuelle Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) aufgrund eines aktuellen jeweiligen Bilds (i) bestimmt wird,nachdem eine vorherige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) aufgrund eines vorherigen jeweiligen Bilds (i) bestimmt und gespeichert wurde; und das Verfahren weiterhin umfasst:W1) Bestimmen für einen Bereich von Interesse ROI(k), ob eine aktuelle jeweilige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) in einem aktuellen jeweiligen Bild (i) besser als eine vorher gespeicherte Standard- oder vorherige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) in einem vorherigen jeweiligen Bild (i) (1740) ist; undW2) Durchführen eines bedingten Ablaufs, wobei, wenn die aktuelle jeweilige Fokusmetrik (k, i) nicht besser als die vorher gespeicherte Standard- oder vorherige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) ist, Bilddaten entsprechend jenem Fokusbereich von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) aus einem Speicherelement des maschinellen Sichtinspektionssystems (1741) gelöscht werden.

Description

  • Querverweis zu einer verwandten Anmeldung
  • Diese Anmeldung ist eine Continuation-in-Part der US-Patentanmeldung US 2007/0112535 A1 , angemeldet am 31. Oktober 2005, deren vollständige Offenbarung hier durch Bezug eingefügt wird.
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft maschinelle Sichtmesstechniksysteme und insbesondere ein Hochpräzisions-optisches Abweichkorrektursystem und ein Verfahren, welches Fehler (z.B. Z-Höhen Messfehler) durch Linsenabweichungen wie Astigmatismus korrigiert.
  • Hintergrund der Erfindung
  • Präzise, maschinelle Sichtinspektionssysteme (oder kurz „Sichtsysteme“) können verwendet werden, um präzise, dimensionale Messungen inspizierter Gegenstände zu erhalten, und um verschiedene andere Gegenstandseigenschaften zu inspizieren. Solche Systeme können einen Computer, eine Kamera und ein optisches System einschließen, und eine Präzisionsstufe, die in mehreren Richtungen beweglich ist, um der Kamera zu ermöglichen, die Eigenschaften eines zu inspizierenden Arbeitsstücks abzuscannen. Ein beispielhaftes System des Stands der Technik ist die QUICK VISION® Serie von PC-basierten Sichtsystemen, die kommerziell verfügbar sind, und die QVPAK® Software, die bei der Mitutoyo America Corporation (MAC) mit Sitz in Aurora, IL, erhältlich ist. Die Eigenschaften und der Betrieb der QUICK VISION® Serie von Sichtsystemen und der QVPAK® Softwäre werden im Allgemeinen beschrieben, z.B. in dem QVPAK 3D CNC Sichtmessmaschinen-Benutzerhandbuch, im Januar 2003 veröffentlicht und in dem QVPAK 3D CNC Sichtmessmaschinen-Betriebshandbuch, im September 1996 veröffentlicht, die beide hier durch Bezug vollständig einbezogen werden. Dieses Produkt, durch das QV-302 Pro Modell beispielhaft erläutert, ist z.B. in der Lage, ein Mikroskop-artiges optisches System zu verwenden, um Bilder eines Arbeitsstücks mit verschiedenen Vergrößerungen bereitzustellen, und um die Stufe so weit wie möglich zu bewegen, um die Arbeitsstückoberfläche über die Beschränkungen jedes einzelnen Videobilds hinaus zu durchqueren.
  • Präzisionen im Mikrometerbereich sind in solchen Systemen häufig gewünscht. Z-Höhenmessungen (entlang der optischen Achse des Kamerasystems) werden im Allgemeinen aus einer „besten Fokus“-Position ausgeführt. Der Grad an Präzision und Zuverlässigkeit, der für Z-Höhenmessungen erreicht wird, ist häufig geringer als der, welcher für andere Messachsen erreicht wird. Es wäre für ein maschinelles Sichtinspektionssystem wünschenswert, in der Lage zu sein, Z-Höhenmessungen mit einer verbesserten Präzision und Zuverlässigkeit durchzuführen. Weiterhin können in bestimmten maschinellen Sichtinspektionssystemen ein Autofokus-Werkzeug verwendet werden, um die beste Fokus-Position und die daraus resultierende Z-Höhenmessung zu erhalten. Es wäre für ein Autofokus-Werkzeug wünschenswert, automatisch mit einer verbesserten Präzision und Zuverlässigkeit zu arbeiten. Die vorliegende Erfindung ist auf die Bereitstellung eines Systems und eines Verfahrens gerichtet, welche die vorangegangenen und andere Nachteile überwinden können.
  • US-Patentanmeldung US 2007/0112535 A1 offenbart ein System und ein entsprechendes Verfahren zur hochgenauen Korrektur optischer Aberrationen. Die von einem Autofokus-Werkzeug bestimmten Z-Höhen, die andernfalls in Abhängigkeit vom Ausrichtungswinkel von Oberflächenmerkmalen oder Kanten in dem Bereich von Interesse und von der Lage des Bereichs von Interesse im Sichtfeld variieren würden, werden basierend auf einem neuartigen Verfahren zur Fehlerkalibrierung korrigiert. Die Fehlerkalibrierungsdaten beinhalten einen Satz von Z-Korrekturen für einen Bereich verschiedener Ausrichtungswinkel von Merkmalen (z. B. 180 Grad) und für mehrere Positionen im Sichtfeld. Die Fehlerkalibrierungsdaten können interpoliert werden, um der Position des aktuellen Bereichs von Interesse zu entsprechen. Während Autofokusmessungen kann eine Z-Korrektur für eine aktuelle Messung eingerichtet werden, indem die orientierungsabhängigen Fehlerkalibrierungsdaten basierend auf einem Histogramm der Gradienten-(Kanten-)Richtungen, die im aktuellen Bereich von Interesse dargestellt sind, gewichtet werden.
  • Zusammenfassung der Erfindung
  • Die Zusammenfassung ist bereitgestellt, um eine Konzeptauswahl in einer vereinfachten Form bereitzustellen, die unten in der detaillierten Beschreibung näher beschrieben ist. Diese Zusammenfassung ist weder dafür gedacht, Schlüsselmerkmale des beanspruchten Gegenstands zu identifizieren, noch ist sie dafür gedacht, um als Hilfe zur Bestimmung des Bereichs des beanspruchten Gegenstands verwendet zu werden.
  • Ein hochpräzises, optisches Abweichungskorrektursystem und ein Verfahren werden bereitgestellt. Insbesondere ist die vorliegende Erfindung auf ein hochpräzises, optisches Abweichungskorrektursystem und ein Verfahren gerichtet, welches Fokusfehler und/oder Z-Höhenmessfehler korrigiert, was eine Abhängigkeit von der Orientierung der „gerichteten“ Merkmale im Gesichtsfeld einschließt. Solche Fehler können durch Linsenabweichungen wie Astigmatismus verursacht werden, ebenso wie durch andere Eigenschaften oder Mängel des maschinellen sichtoptischen Systems. Beim Astigmatismus unterscheidet sich die fokale Länge der Linse für Strahlen, die die Linse in verschiedenen Ebenen durchqueren (was Merkmalen entspricht, z.B. Kanten, die sich in verschiedenen Winkeln des Gesichtsfelds befinden). Als Ergebnis unterscheidet sich die Fokus-(Z)-Position der Linse von verschiedenen (dominanten) Kantenrichtungen im Gesichtsfeld.
  • Insbesondere hat der Erfinder herausgefunden, dass beträchtliche Z-Höhenmessvariationen (Fehler) beim Messen einer Oberfläche oder eines Merkmals auftreten können, welche „gerichtete“ Merkmale in dem Gesichtsfeld aufweisen. Die Variationen hängen von der Orientierung der gerichteten Merkmale ab (z.B. die Orientierung gestreifter Texturen, Linien, Kanten und Ähnliches im Gesichtsfeld). Solche gerichteten Oberflächen und Merkmale werden hier als anisotrope Oberflächen und Merkmale bezeichnet. Solche Variationen (Fehler), die von der Orientierung gerichteter Merkmale abhängen, werden hier im Allgemeinen als Astigmatismus-Fehler bezeichnet, unabhängig von den zugrunde liegenden physikalischen Prozessen, die für die Fehler verantwortlich sind.
  • Wenn die Fokusposition entsprechend einem Fokusbereich von Interesse (ROI) im Gesichtsfeld als eine Funktion der Richtung (Winkel) der im Fokus ROI sichtbaren Kanten oder Textur gekennzeichnet ist, und die gemessenen Oberflächen dann in Bezug auf ihre dominante Kanten-(oder Gradienten-) Richtung charakterisiert werden, kann die geeignete Z-Kompensierung für jede in diesem ROI-Fokus gemessene Oberfläche angewandt werden und dabei den Fokuspositionsfehler entsprechend der dominanten Kantenrichtung in dem ROI-Fokus eliminieren. Dadurch sind alle Z-Messungen weniger abhängig und nominal unabhängig von der Richtung der Kanten oder der Textur in dem ROI-Fokus.
  • In vielen Fällen, je stärker oder je offensichtlicher die Textur oder Linienkanten und/oder Richtungen sind, desto deutlicher sind die Astigmatismus-Fehler. Weiterhin wurde herausgefunden, dass Astigmatismus-Fehler deutlich über das Gesichtsfeld der Kamera variieren können. Das bedeutet bei einer gegebenen gleichmäßig gerichteten Textur durch das Gesichtsfeld, dass ein Fokusbetrieb aufgrund von Bilddaten aus einem Teil des Gesichtsfelds (aus einem ROI) zu einer Z-Höhenmessung führen kann, die anders ist als ein Fokusbetrieb aufgrund von Bilddaten aus einem anderen Teil des Gesichtsfelds (aus einem anderen ROI). Solche ROI abhängigen Astigmatismus-Fehler können zumindest teilweise durch die hier offenbarten Systeme und Verfahren kompensiert oder korrigiert werden, um die Z-Höhenmesspräzision zu verbessern, und die Messvariabilität über das Gesichtsfeld zu verringern.
  • Die hier offenbarten Fehlerkorrektursysteme und Verfahren können also allgemein Fokus-Variationen und/oder Z-Höhenvariationen korrigieren, die vom Ort der Messung in dem Gesichtsfeld abhängen, unabhängig von irgendwelchen Astigmatismus-Fehlern. Beispielsweise können solche Variationen aufgrund von Linsenfeldkrümmungen, aufgrund der nicht perfekten Rechtwinkligkeit der Kamera CCD zu der optischen Systemachse, aufgrund der Krümmung der CCD, aufgrund der nicht perfekten Rechtwinkligkeit der optischen Achse des Sichtsystems zu der Sichtsystemstufe und ähnlichen Fehlerquellen auftreten, die dazu führen können, dass die beste Fokusposition über das Gesichtsfeld variiert. Solche Fehler werden hier im Allgemeinen insgesamt als statische optische Fehler bezeichnet, unabhängig von dem zugrunde liegenden physikalischen Prozess, der für die Fehler verantwortlich ist. Statische optische Fehler führen zum Variieren von Z-Höhenmessungen einer Werkstückoberfläche mit einer statischen Höhe, wenn sie an verschiedenen Stellen in dem Kamera-Gesichtsfeld gemessen wird, sogar für Oberflächen oder Muster, die keine direktionalen Merkmale aufweisen. Solche nicht direktionalen Oberflächen und Muster“ werden hier als isotopische Oberflächen und Muster bezeichnet.
  • In Übereinstimmung mit einem Aspekt der Erfindung werden Astigmatismus-Fehler dadurch gekennzeichnet, dass sie ein direktionales Muster verwenden, welches bei unterschiedlichen, jeweiligen Kalibrierungswinkeln als Basis für die jeweiligen Z-Höhenmessungen orientiert ist, was jeweilige Astigmatismus-Fehlerkomponenten einschließt. Solche Z-Höhenmessungen von direktionalen Mustern werden hier als anisotropische Messungen bezeichnet.
  • Es wird geschätzt werden, dass anisotropische Messungen im Allgemeinen sowohl eine Astigmatismus-Fehlerkomponente als auch eine statische optische Fehlerkomponente einschließen, d.h. kombinierte Fehler. Solche kombinierten Fehler in einer anisotropischen Messung werden hier als anisotropische Fehler bezeichnet. In Übereinstimmung mit einem Aspekt der Erfindung können anisotropische Fehler bestimmt werden und die resultierenden anisotropischen Fehlerkalibrierungsdaten können zur Kompensierung oder Korrektur der anisotropischen Fehler zukünftiger Z-Höhenmessungen gespeichert werden.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung kann der Unterschied zwischen einer Z-Höhenmessung unter Verwendung eines gerichteten Musters (eine anisotropische Messung) und einer isotropischen Z-Höhenmessung (unten weiter beschrieben) an derselben Stelle des Gesichtsfelds die Astigmatismus-Fehlerkomponente oder die Astigmatismus-Fehlerkalibrierungsdaten an der Stelle bestimmen. Die resultierenden Astigmatismus-Fehlerkalibrierungsdaten können dann zur Kompensierung oder Korrektur der Astigmatismus-Fehlerkomponente zukünftiger Z-Höhenmessungen gespeichert werden.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung werden anisotropische Fehler und/oder Astigmatismus-Fehler an einer Vielzahl von Stellen innerhalb des Gesichtsfelds gekennzeichnet. Die resultierenden Kalibrierungsdaten werden zur Kompensierung oder Korrektur zukünftiger Z-Höhenmessfehler gespeichert, einschließlich der Korrektur der Stelle innerhalb des Gesichtsfelds, welche die zur Bestimmung einer Z-Höhenmessung verwendeten Daten bereitstellt. In verschiedenen Ausführungsformen kann eine Vielzahl isotropischer Messungen und/oder isotropischer Fehler und/oder Astigmatismus-Fehler entsprechend bekannter präziser Positionen in dem Gesichtsfeld bestimmt werden, und eine Interpolierung kann ausgeführt werden, um anisotropische Messungen und/oder anisotropische Fehler und/oder Astigmatismus-Fehler in Verbindung mit jeder bestimmten Stelle in dem Gesichtsfeld zu schätzen.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung werden anisotropische Fehler und/oder Astigmatismus-Fehler für jede bestimmte Linse oder Linsenkombination (oder Vergrößerung) gekennzeichnet, die in einem maschinellen Sichtsystem verwendet werden. Die resultierenden Kalibrierungsdaten werden zur Kompensierung oder Korrektur zukünftiger Z-Höhenmessfehler gespeichert, wenn die bestimmte Linse oder Linsenkombination oder (Vergrößerung) verwendet wird.
  • In Übereinstimmung mit einem Aspekt der Erfindung kann ein Kalibrierungsziel zum Erhalt der Kalibrierungsdaten verwendet werden. Ein Kalibrierungsziel kann aus einer Vielzahl jeweiliger anisotropischer Zielelemente bestehen, wobei jedes davon ein direktionales Muster einschließt, welches in einer unterschiedlichen jeweiligen Winkelrichtung orientiert ist. In einer Ausführungsform können die jeweiligen anisotropischen Zielelemente verschiedene jeweilige Winkelrichtungen bereitstellen, die 0° bis 180° in diskreten winkeligen Schritten abdecken. Die Schrittgröße kann in Abhängigkeit von der gewünschten Körnigkeit der Kalibrierungsdaten variieren. Beispielswiese kann die Körnigkeit einer Schrittgröße von 5° oder 7,5° oder 15° usw. entsprechen.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung können statische optische Fehler gekennzeichnet werden durch die Verwendung von Z-Höhenmessdaten, die unter Verwendung des Kalibrierungsziels bereitgestellt werden. In einer Ausführungsform sind die statischen optischen Fehler gekennzeichnet auf Grundlage einer Mittelung einer Serie von Messungen der anisotropischen Zielelemente, um eine Z-Höhenmessung bereitzustellen, bei der die Astigmatismus-Fehlerkomponente(n) tatsächlich durch Mittelung entfernt wurde(n). Derartiges Mitteln stellt eine erste Art von isotropischer oder nicht gerichteter Messung bereit, die zur Bestimmung statischer optischer Fehler verwendbar ist.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung werden statische optische Fehler an einer Vielzahl von Stellen innerhalb des Gesichtsfelds gekennzeichnet. Die resultierenden Kalibrierungsdaten werden zur Kompensierung oder Korrektur zukünftiger Z-Höhenmessfehler gespeichert werden, einschließlich einer Referenzierung der Korrektur auf der Stelle innerhalb des Gesichtsfelds, was die Daten bereitstellt, die zur Bestimmung der statischen optischen Fehler verwendet wurden. In einer Ausführungsform kann eine Vielzahl von isotropischen Messungen und/oder statischen optischen Fehlern entsprechend präziser bekannter Positionen in dem Gesichtsfeld bestimmt werden und eine Interpolation kann durchgeführt werden, um isotropische Messungen und/oder statische optische Fehler in Verbindung mit jeder bestimmten Stelle in dem Gesichtsfeld zu schätzen.
  • In Übereinstimmung mit noch einem Aspekt der Erfindung können isotropische Zielelemente, d.h. Zielelemente, die aus einem Muster bestehen, welchem es an „Gerichtetheit“ fehlt, auf dem Kalibrierungsziel bereitgestellt werden. Da Astigmatismus-Fehler durch Fokussieren auf eines dieser Muster minimiert oder eliminiert werden, wenn isotropische Muster gemessen werden, kann eine Z-Höhenmessung erhalten werden, die, wenn überhaupt, nominell nur statische optische Fehler einschließt. Solche isotropischen Zielelementmessungen stellen eine zweite Art isotropischer oder nicht gerichteter Messung bereit, die zur Bestimmung statischer optischer Fehler verwendbar ist. Eine Vielzahl isotropischer Zielelemente kann bereitgestellt werden, und da ihre Positionen auf dem Kalibrierungsziel genau bekannt sind, kann eine Interpolation ausgeführt werden, um isotropische Messungen und/oder statische optische Fehler in Verbindung mit jeder bestimmten Stelle auf dem Kalibrierungsziel zu schätzen.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung, wie unten detaillierter ausgeführt, ist es möglich, eine „wahre“ oder Referenz-Z-Höhenmessung aufgrund eines Satzes isotropischer Messungen zu bestimmen. D.h., eine „wahre“ oder Referenz-Z-Höhenmessung kann geschätzt werden, die nominell keinen statischen optischen Fehler und keine Astigmatismus-Fehler einschließt. Der Unterschied zwischen einer „wahren“ oder Referenz-Z-Höhenschätzung und einer anisotropischen Z-Höhenmessung an derselben Stelle bestimmt einen anisotropischen Fehler oder anisotropische Fehlerkalibrierungsdaten an dieser Stelle. Der Unterschied zwischen einer „wahren“ oder Referenz-Z-Höhenschätzung und einer isotropischen Z-Höhenmessung an derselben Stelle bestimmt eine statische optische Fehlerkomponente oder statische optische Fehlerkalibrierungsdaten an der Stelle. Statische optische Fehler können hier auch als „isotropische Fehler“ bezeichnet werden.
  • In Übereinstimmung mit einem anderen Aspekt der Erfindung kann ein Kalibrierungsziel aus mehreren unterschiedlich großen Sätzen jeweiliger Zielelemente bestehen. Innerhalb jedes Satzes kann jedes der jeweiligen Zielelemente gestaltet sein, um leicht größer als das Gesichtsfeld bei der geringsten Vergrößerung zu sein, für welche der bestimmte Satz von Zielelementen gestaltet ist. Zusätzlich kann innerhalb jedes Satzes die Dichte oder Beabstandung jeglicher anisotropischer Merkmale innerhalb der Zielelementmuster (und isotropischer Merkmale, wenn eingeschlossen) ausgewählt werden, um eine gute Kalibrierung mit der Vergrößerung/den Vergrößerungen bereitzustellen, für die sie gestaltet sind. Beispielsweise sollten die Merkmale „dick“ genug im Vergleich zu der Kamerapixelbeabstandung sein, um einen Alias-Effekt zu verhindern, und es sollten genug Merkmale im Gesichtsfeld sein (z.B. Linien und Abstände, Textur-„Kratzer“ und Ähnliches), um ein „starkes“ Muster in dem Gesichtsfeld bereitzustellen, insbesondere für die anisotropischen Zielelemente.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung werden, nachdem Kalibrierungsdaten erhalten wurden, während einer folgenden Z-Höhenmessung für einen bestimmten Bereich von Interesse (ROI) innerhalb des Gesichtsfelds (z.B. unter Verwendung eines Autofokus-Werkzeugs) die Z-Höhenmessung durch Interpolation oder Extrapolation der Kalibrierungsdaten korrigiert, um einen Korrekturwert zu erhalten, welcher der bestimmten Stelle des Bereichs von Interesse entspricht. Ein erster Teil dieses Verfahrens kann ein Rekonstruieren oder Anhäufen existierender Kalibrierungsfehler-Korrekturdaten einschließen, um Werte entsprechend der bestimmten Position auf einem Autofokus-Werkzeugbereich von Interesse in dem Gesichtsfeld zu schätzen. Die Rekonstruktion oder Schätzung kann durch Interpolation durchgeführt werden, z.B. bilinear, biquadratisch, bikubisch usw.) der Fehlerkorrekturdaten, die an bestimmten Stellen innerhalb des Gesichtsfelds während des Kalibrierungsprozesses genommen wurden. Ein zweiter Teil dieses Verfahrens kann die Verwendung der rekonstruierten oder geschätzten Fehlerkorrekturdaten einschließen, um die Z-Korrektur zu der ursprünglichen oder rohen Z-Position zu berechnen, die durch die Autofokus-Routine bestimmt wird.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird, nachdem die Kalibrierungsdaten gemäß dieser Erfindung erhalten wurden, während einer folgenden Z-Höhenmessung für einen bestimmten Bereich von Interesse (ROI) innerhalb des Gesichtsfelds, z.B. auf Grundlage eines Autofokus-Werkzeugs, eine Z-Korrektur berechnet und entsprechend der Kalibrierungsfehlerkorrekturdaten angewandt, die gemäß einem oder mehreren Charakterisierungs- oder Gewichtsfaktoren gewichtet werden, die von der Stärke und/oder Orientierung der Merkmale in dem Bereich von Interesse abhängen. Die Charakterisierungs- und/oder Orientierungsmerkmale im Bereich von Interesse in einem Bild können unabhängig von seiner Form allgemein als ein Orientierungswinkelinhaltkennzeichen oder alternativ als ein Winkelinhaltkennzeichen oder Ähnliches bezeichnet werden. In einer Ausführungsform wird die Stärke und/oder Orientierung der Merkmale in dem Bereich von Interesse im Vergleich mit der Stärke und/oder Orientierung der Merkmale der anisotropischen Zielelemente, die zur Bestimmung der relevanten Kalibrierungsdaten verwendet werden bestimmt.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung kann in verschiedenen Ausführungsformen ein Histogramm gradueller (Kanten)-Richtungen, die im Bereich von Interesse bestimmt sind, zur Bestimmung von einer oder mehreren „Richtungs“-, Gewichtungs- oder Interpolierungsfaktoren verwendet werden. In verschiedenen Ausführungsformen kann ein Histogramm der graduellen (Kanten)-Stärke, welches in dem Bereich von Interesse bestimmt wurde, zur Bestimmung von einem oder mehreren „Stärke“-Gewichtungsfaktoren verwendet werden.
  • In Übereinstimmung mit einem Aspekt der Erfindung kann ein Histogramm durch Berechnen von sowohl der Gradientenhöhen als auch der Richtungen bestimmt werden (oder ungefähre Richtungen, die in einer Ausführungsform senkrecht zu den Gradientenrichtungen liegen, so dass sie konsistent mit den Kantenrichtungsdaten in einem Satz von Fehlerkalibrierungsdaten sind). Die Gradientenberechnungen können entsprechend jedem Pixel in einem Autofokus-Werkzeugbereich von Interesse durchgeführt werden. Die Pixel, für welche die Gradientenhöhen kleiner als ein bestimmter (niedriger) Rauschschwellenwert sind, können in Ausführungsformen, in denen es wünschenswert ist, nur mit relativ starken Kanten zu arbeiten, aus der Betrachtung ausgeschlossen werden, im Vergleich zu dem Bildrauschen. Wenn das Bildrauschen signifikant ist, kann der Bereich von Interesse zusätzlich vor der Gradientenhöhen- und Richtungsberechnung mit einem räumlich-kleinen Mittelungsfilter geglättet werden. Ein Histogramm der Gradientenrichtungen kann dann für all die verbleibenden „qualifizierten“ Pixel erzeugt werden (d.h., die Pixel, für welche die Gradientenhöhe den geeigneten Rauschschwellenwert überschreitet) und die Kalibrierungsdaten entsprechend gewichtet werden.
  • Entsprechend verschiedener oben beschriebener Aspekte der Erfindung können die Kalibrierungsdaten statische optische Fehler von Astigmatismus-Fehlern unterscheiden. In solch einem Fall können die statischen optischen Fehler direkt durch die statischen optischen Fehlerkalibrierungsdaten kompensiert werden, ohne die Notwendigkeit von zusätzlichen Berechnungen mit Bezug zu Gewichtungsfaktoren oder Ähnlichem, wenn es einem Messbereich von Interesse an signifikantem gerichteten Inhalt fehlt.
  • In verschiedenen Ausführungsformen ist aufgrund einer Analyse oder eines Experiments zur Bestimmung des anisotropischen Fehlers und/oder des statischen optischen Fehlers an verschiedenen Stellen in dem Gesichtsfeld ein realistisches allgemeines Modell für die Kalibrierungszielsubstratform eingerichtet. Beispielsweise kann sie als eben oder möglicherweise relativ zu der optischen Systemachse gekippt angenommen werden. Alternativ kann sie ebenso als mit einer Krümmung entlang einer oder mehreren Richtungen angenommen werden. In Abhängigkeit von dem Modell können gerade Linien, gekrümmte Linien oder eine Ebene, oder eine gekrümmte Oberfläche zu einer Vielzahl von isotropischen Z-Höhenmessungen passen, wie unten detaillierter beschrieben. Die resultierende am besten passende“ Substratstelle kann als eine Schätzung der Referenz oder des wahren Z-Höhenmesswerts an Stellen durchwegs in diesem Anwendungsbereich angenommen werden. Der Unterschied zwischen der anisotropischen Z-Höhenmessung und dem wahren Z-Höhenwert an verschiedenen Stellen kann zur Bestimmung der anisotropischen Fehler und der damit verbundenen anistropischen Fehlerkalibrierungsdaten für die verschiedenen Stellen verwendet werden. Der Unterschied zwischen der isotropischen Z-Höhenmessung und dem wahren Z-Höhenwert an verschiedenen Stellen kann zur Bestimmung der statischen optischen Fehler und der damit verbundenen statischen optischen Fehlerkalibrierungsdaten für die verschiedenen Stellen verwendet werden.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung können Fehlerkorrektursysteme und Verfahren der Erfindung auf mehrere Primärbereiche von Interesse angewandt werden (z.B. ein Primärbereich von Interesse kann ein umfangreicher Bereich von Interesse in Verbindung mit einem Video-Werkzeugbereich von Interesse abgegrenzt in einer grafischen Benutzerschnittstelle sein) und/oder eine Vielzahl von Unterbereichen in Verbindung mit Punkten innerhalb eines bestimmten Primärbereichs von Interesse. Dies kann erforderlich sein, wenn bestimmte Arten von Autofokus-Werkzeugen verwendet werden (z.B. Mehrbereich- oder Mehrfachpunkt-Autofokus-Werkzeuge). Ein Mehrbereichautofokuswerkzeug kann Abläufe in Verbindung mit der Bereitstellung jeweiliger Z-Fokuspositionen und/oder Höhenkoordinaten für mehrere jeweilige Primärfokusbereiche von Interesse für das Werkzeug durchführen. Ein Mehrfachpunkt-Autofokus-Werkzeug kann analoge Abläufe verbunden mit der Bereitstellung jeweiliger Z-Fokuspositionen oder Höhenwerte für mehrfache jeweilige Sekundärfokusbereiche oder Unterbereiche von Interesse durchführen, welche mit Punkten verbunden sein können, die sich innerhalb des Primärbereichs von Interesse für das Werkzeug befinden. Mehrfachbereich- und Mehrfachpunkt-Autofokus-Werkzeuge können zumindest oberflächenartige Autofokus-Abläufe als eine Basis für Z-Höhenmessungen bereitstellen.
  • Im Vergleich zum Analysieren von nur einem einzelnen Bereich von Interesse, z.B. für ein einzelnes Autofokus-Werkzeug, sollte geschätzt werden, dass mehrere Probleme in Bezug auf das Analysieren der Z-Höhe verschiedener Bereiche und/oder Unterbereiche von Interesse mit einem hohen Durchgang auftreten können (z.B. für Mehrfachbereich- oder Mehrfachpunkt-Autofokus-Werkzeuge), und insbesondere, wenn ein Speicher- und/oder Verarbeitungsablauf betrachtet wird, der zur Korrektur jeder Z-Höhe für anisotropische Fehler gemäß dieser Erfindung benötigt wird. Beispielsweise sollte geschätzt werden, dass es, wenn mehrere Bereiche von Interesse analysiert werden, keine einzelne „im Fokus“ Position oder „beste Fokus“ Z-Höhe mehr gibt, die universell für jeden Bereich und/oder jeden Unterbereich von Interesse gilt, da jeder der mehreren Bereiche und/oder Unterbereiche von Interesse verschiedene Höhen aufweisen kann. Weiterhin kann es unpraktisch sein, die Arbeitsstückstufe oder Kamera wiederholt zu bewegen, um separate Sätze von Autofokus-Bildern bereitzustellen (auch als ein Autofokus-Bildstapel bezeichnet), und/oder separate endgültige „am besten“ fokussierte Autofokus-Bilder für jeden Bereich und/oder Unterbereich von Interesse, da ein Bereitstellen der nötigen mechanischen Bewegung im Allgemeinen der zeitaufwändigste (und Durchgang begrenzende) Aspekt einer Autofokus-Höhenbestimmung ist. Dies könnte einen Geschwindigkeitsflaschenhals begründen und der Verlust des Inspektionsdurchsatzes könnte untragbar sein, insbesondere, wenn eine große Anzahl zu analysierender Bereiche und/oder Unterbereiche von Interesse vorherrscht. Weiterhin kann in machen Ausführungsformen oder Anwendungsfällen die Menge an Speicher- und/oder Hardwareabläufen unpraktisch werden, die zum Analysieren mehrerer Bereiche und/oder Unterbereiche von Interesse benötigt werden, oder zumindest im Verhältnis zu vernünftigen Durchsatzerwartungen und Echtzeitinspektionsabläufen unerwünscht langsam werden.
  • Um mechanische Bewegungsflaschenhälse in verschiedenen Ausführungsformen zu vermeiden, kann es für einen einzelnen globalen Bilderstapel vorteilhaft sein (oder auch einfach als einzelner voller oder globaler Bildstapel oder Ähnliches bezeichnet), als die Basis für ein gesamtes Mehrfachbereich- und/oder Mehrfachunterbereich- (z.B. Mehrfachpunkt-Werkzeug-Unterbereiche) Höhenbestimmungsverfahren erworben zu werden, wie unten detaillierter beschrieben. Zusätzlich kann es in verschiedenen Ausführungsformen vorteilhafter sein, die hier beschriebenen Orientierungswinkel-Analyseabläufe (in Bezug auf jeweilige Z-Höhenkorrekturen) auf jeweilige Bildabschnitte zu stützen, die innerhalb des globalen Bildstapels verfügbar sind, eher als auf Abschnitten zusätzlicher „bestmögliche“ Bilder, die separat an der bestmöglichen Fokusposition erlangt wurden (z.B. separate Bilder, die an der bestimmten Z-Höhe oder der Fokuskurven-Peakposition erworben wurden).
  • In Bezug auf die Bestimmung jeweiliger Z-Höhenkorrekturen aufgrund jeweiliger Bildabschnitte, die innerhalb eines globalen Bildstapels verfügbar sind, sollte es geschätzt werden, dass, während ein bestmögliches Fokusbild (z.B. welches in einem Fokuskurven-Peak erworben wird) verwendet werden kann, und die präziseste und/oder wiederholbare Bestimmung der Orientierungswinkelinhalteigenschaft erlaubt, die als Basis für die Z-Höhenkorrektur verwendet wurde, in einigen Ausführungsformen oder Anwendungsfällen die Orientierungswinkelinhalteigenschaft mit ausreichender Präzision aufgrund jedes ausreichend fokussierten Bilds bestimmt oder geschätzt werden kann. In einigen Ausführungsformen kann ein geeigneter ausreichend fokussierter Bildabschnitt durch Auswahl aus einem globalen Bilderstapel eines Bildabschnitts gesichert werden, welcher eine Fokusmetrik aufweist (z.B. einen Bildkontrast oder Schärfenmetrik jeder bekannten Art, oder jede andere geeignete Art von Fokuskennzeichnung), die einen Schwellwert überschreitet, der als einem relativ guten Fokus entsprechend bekannt ist. In anderen Ausführungsformen kann ein ausreichend fokussierter Bildabschnitt gesichert werden durch Auswählen des Bildabschnitts aus dem globalen Bilderstapel, der die beste Fokusmetrik aufweist, die für diesen Abschnitt im Vergleich zu anderen Bildern in dem Bilderstapel verfügbar ist. In anderen Ausführungsformen kann ein ausreichend fokussierter Bildabschnitt gesichert werden durch Auswählen des Bildabschnitts, der in einem Bild des Bilderstapels eingeschlossen ist, der ausreichend nahe oder am Nächsten an der unkorrigierten besten Fokus-Z-Höhe ist, die für den Abschnitt bestimmt wurde. Diese alternativen Ausführungsformen werden unten detaillierter beschrieben. Auf jeden Fall wird es geschätzt werden, dass jedes der vorher erwähnten Verfahren ein Winkelinhaltskennzeichen auf Grundlage eines Bereichs oder eines Unterbereichs von Interesse aus einem Bild entsprechend einer Z-Höhe bereitstellen kann, die ausreichend nahe an der am besten fokussierten und nicht korrigierten Z-Höhe für den Bereich von Interesse ist, so dass sie eine ausreichend präzise Z-Höhenkorrektur in verschiedenen Ausführungsformen oder Anwendungen dieser Erfindung bereitstellen kann. In verschiedenen Ausführungsformen können die vorher beschriebenen Abläufe mit einem Nahe-Peak-Ablauf-Steuerelement verbunden sein (z.B. eine Schaltung oder Routine), die ausreichend fokussierte Bilder entsprechend jeweiligen Bereichen oder Unterbereichen von Interesse identifiziert. In einigen Ausführungsformen kann das Nahe-Peak-Ablauf-Steuerelement auch mit der Bestimmung des entsprechenden Orientierungswinkel-Orientierungskennzeichens und/oder der Z-Höhenkorrektur verbunden sein.
  • Das Nahe-Peak-Ablauf-Steuerelement kann auch mit gewissen Bedingungsspeichermanagement-Abläufen in manchen Ausführungsformen verbunden sein. Bedingungsspeichermanagement-Abläufe aufgrund von „Nahe-Peak“-Daten und/oder -Abläufen können besonders vorteilhaft zum Erhalten von Speicher in Ausführungsformen oder Anwendungen sein, wie solche, die Großbereich-Mehrfachpunkt-Autofokus-Werkzeuge benötigen und/oder große Megapixel-Kamerabilder und/oder große Autofokus- und/oder Höhenvariations-Scannbereiche und/oder eine große Anzahl von hochauflösenden Autofokus- (z.B. Mikrometer-Level) und/oder Höhenvariations-Scanninkrementen. Im Allgemeinen werden nur „Nahe-Peak“-Daten (d.h. Bilddaten von Bildern bei einer Höhe erfasst, die ungefähr einem Autofokus-Kurvenpeak entspricht) im Verhältnis zu Z-Höhenkorrektur-Abläufen benötigt. In verschiedenen Ausführungsformen kann das Nahe-Peak-Ablauf-Steuerelement auch solche Nahe-Peak-Daten von nicht benötigten Daten unterscheiden und die nicht benötigten Daten und/oder betreffenden Abläufe eliminieren. Mit anderen Worten kann eine bestimmte Datenspeicherung und/oder Verarbeitung durch das Nahe-Peak-Daten-Steuerelement unterdrückt oder eliminiert werden, unter der Bedingung, dass die Daten keine „Nahe-Peak-Daten“ sind. In verschiedenen Ausführungsformen kann auf Grundlage von jeweiligen Fokus-Charakterisierungen oder Fokusmetriken für einen bestimmten Unterbereich von Interesse bei jeweiligen Bildern des Bilderstapels zwischen Nahe-Peak-Daten und Nicht-Nahe-Peak-Daten unterschieden werden. Verschiedene Verwendungen der Fokuskennzeichnungsdaten zum Steuern der bedingten Abläufe werden unten beschrieben. Jedoch sollte geschätzt werden, dass in verschiedenen Ausführungsformen einige oder alle der bestimmten Fokus-Kennzeichnungen oder -Metriken auch als Datenpunkte verwendet werden können, die eine „FokusKurve“ für einen entsprechenden Bereich oder Unterbereich von Interesse definieren. Wie dem Fachmann bekannt ist, kann eine Fokuskurve entsprechend einer Serie von Datenpunkten definiert werden, die jeweils eine Fokuskennzeichnung oder einen Fokusmetrikwert umfassen (die abhängige Variable), die für einen Bereich von Interesse in einem Bild bestimmt ist, das für eine entsprechende bekannte Höhe erfasst wurde (die unabhängige Variable). Im Allgemeinen kann die Fokuskennzeichnung oder Fokusmetrik ein Bildkontrast oder eine Schärfemetrik jeder bekannten Art sein, oder jeder anderen geeigneten Art von Fokuskennzeichnung (z.B. eine Fuzzy-Logik-artige Kennzeichnung oder Ähnliches). Der interpolierte Peak der Fokuskurve (z.B. der zu den Fokuskurvendaten passende Peak einer Kurve) kann dann entsprechend bekannten Autofokus- und/oder Höhenbestimmungstechnologien bestimmt werden. Wie hier anderswo beschrieben, kann ein solcher interpolierter Peak einer Fokuskurve einer unkorrigierten Z-Höhenmessung entsprechen, welche mit der entsprechenden anisotropischen Fehlerkorrektur kombiniert ist, um eine jeweilige korrigierte Z-Höhe entsprechend der Erfindung bereitzustellen.
  • Bezüglich der Verwendung der Fokuskennzeichnungsdaten zur Steuerung bestimmter bedingter Abläufe entsprechend einem Aspekt der Erfindung kann in mehreren Ausführungsformen ein bedingtes Datenspeichern und/oder Verarbeiten darauf basieren, ob eine Fokuskennzeichnung für einen aktuelle Bereich oder Unterbereich von Interesse, der für ein „aktuelles“ Bild eines globalen Bilderstapels analysiert ist, besser ist (z.B. näher an einem Fokuskurven-Peak) als eine vorher bestimmte Fokuskennzeichnung für den Bereich oder Unterbereich von Interesse in einem „vorherigen“ Bild. In einigen Ausführungsformen kann die bedingte Datenspeicherung und/oder Prozessabläufe auch oder alternativ davon abhängen, ob die Fokuskennzeichnung für einen aktuellen Bereich oder Unterbereich von Interesse einen Anfangs- oder Schwellenwert überschreitet, der für einen ausreichend guten Fokus beschreibend ist.
  • In einigen Ausführungsformen, wenn die gegenwärtige Fokuskennzeichnung besser als eine vorher bestimmte „am besten laufende“ Fokuskennzeichnung ist (z.B. einen Fokusmetrikwert aufweist, der größer ist, als ein vorher bestimmter „am besten laufender“ Fokusmetrikwert) dann wird er gespeichert oder anders als die neue am besten laufende“ Fokuskennzeichnung für den Bereich oder Unterbereich von Interesse identifiziert. In einige Ausführungsformen kann, nachdem der gesamte globale Bilderstapel für einen Bereich oder Unterbereich von Interesse analysiert wurde, die endgültige am besten laufende Fokusmetrik verwendet werden, um das am besten fokussierte Bild in dem Bilderstapel zu identifizieren (für den entsprechenden Bereich oder Unterbereich von Interesse), welches dann verwendet wird, um die entsprechende Orientierungswinkelinhaltkennzeichnung zu bestimmen, die zur Bestimmung der entsprechenden Höhenkorrektur verwendet wird. In anderen Ausführungsformen kann der Zustand die Speicherung des entsprechenden Abschnitts des bestimmten Bilds für eine mögliche zukünftige Verwendung zur Z-Höhenkorrektur auslösen, wenn eine neue „am besten laufende“ Fokuskennzeichnung entsprechend einem bestimmten Bereich oder Unterbereich in einem bestimmten Bild des Stapels bestimmt wurde. In solchen Ausführungsformen können die gespeicherten neuen am besten laufenden“ Daten ähnliche, früher gespeicherte am besten laufende“ Daten ersetzen, welche dann gelöscht werden, um Speicher zu sparen.
  • In einigen Ausführungsformen kann der Zustand auch oder zusätzlich eine Bestimmung und Speicherung des winkeligen Inhaltskennzeichens und/oder der resultierenden Z-Höhenkorrektur entsprechend dem Abschnitt des bestimmten Bilds auslösen, wenn eine neue am besten laufende“ Fokuskennzeichnung entsprechend einem bestimmten Bereich oder Unterbereich in einem bestimmten Bild bestimmt wurde. In einigen Ausführungsformen können die gespeicherten Daten ähnliche früher gespeicherte am besten laufende Daten ersetzen, welche dann gelöscht werden können, um Speicherplatz zu sparen, wenn das winkelige Inhaltskennzeichen oder die Z-Höhenkorrektur entsprechend einer neuen am besten laufenden Fokuskennzeichnung gespeichert ist. Es wird geschätzt werden, dass, wenn ein am besten laufendes winkeliges Inhaltskennzeichen gespeichert oder anderweitig wie oben identifiziert wurde, dies in mehreren verschiedenen Ausführungsformen die oben beschriebenen Abläufe in Bezug auf das Speichern oder anderweitige Identifizieren der entsprechenden am besten laufenden“ Bilddaten entweder ablösen, ersetzen oder überschreiben kann. D.h., da ein am besten laufendes Orientierungswinkelinhaltkennzeichen ausreichend ist, um eine entsprechende anisotropische Fehlerkorrektur gemäß der Erfindung bereitzustellen, können die entsprechenden zugrunde liegenden Bilddaten aus dem Speicher zu jeder vorteilhaften Zeit während des Ablaufs gelöscht werden. Gleichermaßen, wenn eine neue am besten laufende“ anisotropische Fehlerkorrektur gespeichert ist, kann sie ein früher gespeichertes Orientierungswinkelinhaltkennzeichen und/oder eine früher gespeicherte anisotropische Fehlerkorrektur ablösen oder ersetzen, welche dann zu jeder vorteilhaften Zeit während des Ablaufs gelöscht werden können, um Speicher zu sparen. In einigen Ausführungsformen, nachdem der gesamte Bilderstapel für einen Bereich oder Unterbereich von Interesse analysiert wurde, ist die daraus resultierende am besten laufende“ anisotropische Fehlerkorrektur augenblicklich zur Verwendung zur Bestimmung der entsprechenden korrigierten Z-Höhe in dem Bereich oder Unterbereich von Interesse verfügbar.
  • Es wird geschätzt werden, dass es für jedes der bedingten oben beschriebenen Ablaufverfahren im Vergleich zum Verfahren des Stands der Technik zu deutlich reduzierten Memory- und Speicheranforderungen führen kann, da Bilder erfasst und verarbeitet werden, während den Autofokus-Z Höhen-bestimmenden Abläufen. D.h., Bilddaten (z.B. Bereich oder Unterbereichdaten in verschiedenen Bildern in einem Bilderstapel) können am frühesten vorteilhaften Zeitpunkt unterdrückt oder gespeichert werden (z.B. nacheinander, während der Analyse), eher als erfasst und behalten zu werden bis ein gesamter Bilderstapel vollständig analysiert wurde. In einer bestimmten beispielhaften Ausführungsform kann für nicht überlappende Bereiche oder Unterbereiche von Interesse die Gesamtmenge gleichzeitig gespeicherter Informationen gering genug sein, um nicht die Größe eines einzelnen Bilds zu überschreiten. Zusätzlich können die bedingten Ablaufverfahren, wie oben beschrieben, auch die Verfahrenszeit deutlich reduzieren, und den Durchsatz von Z-Höhenbestimmungs-Abläufen erhöhen, insbesondere wenn eine anisotropische Fehlerkorrektur für Z-Höhen in Mehrfachpunkt-Autofokus-Werkzeugen mit einer großen Anzahl von Messunterbereichen bereitgestellt wird. Weiterhin passen die Verfahren in bestimmten Ausführungsformen gut mit gegenwärtigen Autofokus-Werkzeugen in bestimmten existierenden Produkten zusammen.
  • In verschiedenen Ausführungsformen ist eine Routine vorgegeben zum Definieren eines Satzes von Bereichen von Interesse ROI(k), die zu messen sind, und zum Erzeugen korrigierter Z-Höhenmessungen. Die Routine beginnt mit dem Definieren eines Satzes ausgewählter Bereiche oder Unterbereiche von Interesse ROI(k), für k=1 bis P, für welche Z-Höhen zu bestimmen sind. Es wird geschätzt werden, dass, wie oben beschrieben, die Bereiche von Interesse ROI(k) allgemeine oder Primärbereiche von Interesse umfassen können (z.B. im Fall des Mehrbereich-Autofokus-Werkzeugs) oder Sekundär- oder Unterbereiche von Interesse umfassen können (z.B. im Fall des Mehrfachpunkt-Autofokus-Werkzeugs). Ein Bildstapelsatz besteht dann aus Bildern (i) für i=1 bis N, die den Satz von Bereichen von Interesse ROI(k) umfassen, und welche die zu bestimmenden Z-Höhen umfassen, und der Bildstapelsatz wird dann erfasst. Fokusmetriken (k, i) werden für die Bereiche oder Unterbereiche von Interesse ROI(k) in den Bildern (i) bestimmt. In einer Ausführungsform können die Fokusmetriken eine Schärfemessung in den Bereichen von Interesse ROI(k) in den Bildern (i) einschließen. Die besten Fokusunkorrigierten Z-Höhen werden für die Bereiche von Interesse ROI(k) bestimmt, und die winkeligen Inhaltkennzeichnungen werden für die Bereiche von Interesse ROI(k) für Bilder entsprechend den Z-Höhen nahe den besten Fokusunkorrigierten Z-Höhen für die Bereiche von Interesse ROI(k) bestimmt. In einer Ausführungsform kann das winkelige Inhaltskennzeichen auf Grundlage eines Gradienten (Kantenwinkel-Histogramm) bestimmt werden. Z-Höhenkorrekturwerte werden für Bereiche von Interesse ROI(k) bestimmt, auf Grundlage von winkeligen Inhaltskennzeichen für die Bereiche von Interesse ROI(k), und korrigierte Z-Werte werden für die Bereiche von Interesse ROI(k) auf Grundlage der Z-Höhenkorrekturwerte und der besten Fokus unkorrigierten Z-Höhen für die Bereiche von Interesse ROI(k) bestimmt. Der Ablauf kann auch eine oder mehrere Datenanalysen und/oder Speicherverfahren einschließen, wie vorher beschrieben und unten detaillierter beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • Die vorangegangenen Aspekte und viele der zu erwartenden Vorteile dieser Erfindung werden schneller geschätzt werden, wenn sie besser verstanden werden in Bezug auf die vorliegende detaillierte Beschreibung im Zusammenhang mit den beigefügten Zeichnungen, in denen:
    • 1 ein Diagramm ist, welches viele typische Komponenten eines maschinellen Sichtinspektionssystems für einen allgemeinen Zweck zeigt;
    • 2 ein Diagramm eines Steuersystemabschnitts und eines Sichtkomponentenabschnitts eines maschinellen Sichtinspektionssystems ist;
    • 3A bis 3D Diagramme von flachen Oberflächen mit gerichteten gestreiften, gerichteten texturierten und isotropisch texturierten Mustern sind;
    • 4 ein Graph ist, der die Z-Variabilität von Messungen als eine Funktion der Orientierung der Oberflächen aus den 3A bis 3D zeigt;
    • 5 ein Diagramm ist, welches ein exemplarisches Kalibrierungsziel zeigt, welches in Übereinstimmung mit der vorliegenden Erfindung gebildet ist;
    • 6 ein Graph einer exemplarischen Gruppe von Astigmatismus-Fehlerkalibrierungsdaten ist, die unter Verwendung der Kalibrierungsziele aus 5 bestimmt wurden;
    • 7 ein Diagramm ist, welches verschiedene Stellen innerhalb eines Gesichtsfelds einer Linse und verschiedene anisotropische FehlerKalibrierungsdaten-Ergebnisse zeigt, die an den verschiedenen Stellen für ein gerichtetes Muster auftreten, welches in einem [0,180°] Intervall rotiert;
    • 8A bis 8C Diagramme sind, die exemplarische Interpolationstechnologien zeigen, die zur Bestimmung von Fehlerkorrekturen für Stellen zwischen diskreten Kalibrierungsstellen im Gesichtsfeld des Diagramms aus 7 verwendet werden können;
    • 9A bis 9D Diagramme sind, die Histogrammergebnisse für eine exemplarische gleichmäßig gestreifte Oberfläche zeigen;
    • 10A bis 10 B Diagramme sind, die Histogrammergebnisse für eine exemplarische nicht gleichmäßig texturierte Oberfläche zeigen;
    • 11A bis 11B Diagramme sind, die unkorrigierte und korrigierte Messergebnisse für eine gestreifte Oberfläche zeigen;
    • 12A bis 12B Diagramme sind, die unkorrigierte und korrigierte Messergebnisse für eine texturierte Oberfläche zeigen;
    • 13A und 13B Diagramme sind, die unkorrigierte und korrigierte Messergebnisse für eine rau texturierte gerichtete Oberfläche einschließlich eines anomal orientierten Kratzers zeigen;
    • 14 ein Flussdiagramm ist, welches für einen exemplarischen Ablauf eines Laufzeit-Betriebs zum Erzeugen korrigierter Z-Höhenmessungen in Übereinstimmung mit der vorliegenden Erfindung zeigt;
    • 15 ein Flussdiagramm ist, welches einen exemplarischen Ablauf zum Durchführen einer winkeligen Kennzeichnungsbestimmung und Nachschlagetabelle-Konstruktionsabläufe von 14 zeigt;
    • 16 ein Diagramm eines Steuersystemabschnitts und eines Sichtkomponentenabschnitts eines maschinellen Sichtinspektionssystems ähnlich 2 ist, was auch einen Autofokus-Werkzeugabschnitt, einen Satz von Autofokus-Werkzeugen und ein Nahe-Peak-Ablauf-Steuerelement einschließt;
    • 17 ein Flussdiagramm ist, welches einen allgemeinen exemplarischen Ablauf zum Definieren eines Satzes von Bereichen von Interesse zeigt, die zu messen sind, und korrigierte Z-Höhenmessungen in Übereinstimmung mit der vorliegenden Erfindung erzeugt; und
    • 18A bis 18 C Flussdiagramme sind, die besondere Ausführungsformen exemplarischer Abläufe analog dem Ablauf von 17 zeigen.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • 1 ist ein Blockdiagramm eines exemplarischen maschinellen Sichtinspektionssystems 10 in Übereinstimmung mit der vorliegenden Erfindung. Das maschinelle Sichtinspektionssystem 10 schließt eine Sichtmessmaschine 12 ein, die wirksam mit einem Steuercomputersystem 14 verbunden ist, um Daten und Steuersignale auszutauschen. Das Steuercomputersystem 14 ist weiterhin wirksam verbunden um Daten und Steuersignale mit einem Monitor 16, einem Drucker 18, einem Joystick 22, einer Tastatur 24 und einer Maus 26 auszutauschen. Der Monitor oder die Anzeige 16 können eine Benutzeroberfläche anzeigen, die geeignet ist, zum Steuern und/oder Programmieren der Abläufe des maschinellen Sichtinspektionssystems 10.
  • Die Sichtmessmaschine 12 schließt eine bewegliche Arbeitsstückstufe 32 und ein optisches Bildsystem 34 ein, welches eine Zoom-Linse oder austauschbare Linsen einschließt. Die Zoom-Linse oder die austauschbaren Linsen bieten im Allgemeinen verschiedene Vergrößerungen für die Bilder, die durch das optische Bildsystem 34 bereitgestellt werden. Das maschinelle Sichtinspektionssystem 10 ist im Allgemeinen mit den QUICK VISION® Serien von Sichtsystemen und der QVPAK® Software vergleichbar, wie oben diskutiert, und ähnlichen, kommerziell verfügbaren maschinellen Präzisionssichtinspektionssystemen des Stands der Technik. Das maschinelle Sichtinspektionssystem 10 ist auch in der US-Patentanmeldung US 2006/0093205 Albeschrieben, die hier durch Bezug eingefügt wird.
  • 2 ist ein Diagramm eines Steuersystemabschnitts 120 und eines Sichtkomponentenabschnitts 200 eines maschinellen Sichtinspektionssystems 100 in Übereinstimmung mit der vorliegenden Erfindung. Wie detaillierter beschrieben werden wird, wird der Steuersystemabschnitt 120 zur Steuerung des Sichtkomponentenabschnitts 200 verwendet. Der Sichtkomponentenabschnitt 200 schließt einen optischen Anordnungsabschnitt 205, Lichtquellen 220, 230 und 240 und eine Arbeitsstückstufe 210 mit einem zentralen transparenten Abschnitt 212 ein. Die Arbeitsstückstufe 210 ist gesteuert entlang X- und Y-Achsen beweglich, die auf einer Ebene liegen, die im Allgemeinen parallel zu der Oberfläche der Stufe ist, wo ein Arbeitsstück 20 positioniert werden kann. Der optische Anordnungsabschnitt 205 schließt ein Kamerasystem 260 und eine auswechselbare Objektivlinse 250 ein, und kann eine Revolverlinsenanordnung 280 in die koaxiale Lichtquelle 230 einschließen. Alternativ zu der Revolverlinsenanordnung kann eine starre oder manuell auswechselbare Vergrößerung-ändernde Linse oder eine Zoomlinsen-Gestaltung oder Ähnliches eingeschlossen sein. Der optische Anordnungsabschnitt 205 ist entlang einer Z-Achse die im Allgemeinen senkrecht zu den X- und Y-Achsen steht, durch einen steuerbaren Motor 294 steuerbar beweglich, wie unten weiter beschrieben.
  • Ein Arbeitsstück 20, welches unter Verwendung des maschinellen Sichtinspektionssystems 100 abzubilden ist, wird auf die Arbeitsstückstufe 210 gelegt. Eine oder mehrere der Lichtquellen 220, 230 und 240 emittiert jeweils Quelllicht 222, 232 oder 242, welches zum Beleuchten des Arbeitsstücks 20 geeignet ist. Durch die Lichtquellen 220, 230 und/oder 240 emittiertes Licht beleuchtet das Arbeitsstück 20 und wird als Arbeitsstücklicht 255 reflektiert oder gesendet, welches durch die auswechselbare Objektivlinse 250 und die Revolverlinsenanordnung 280 verläuft und durch das Kamerasystem 260 gesammelt wird. Das Bild des Arbeitsstücks 20, durch das Kamerasystem 260 eingefangen, wird durch eine Signalleitung 262 an dem Steuersystemabschnitt 120 ausgegeben. Die Lichtquellen 220, 230 und 240 werden zum Beleuchten des Arbeitsstücks 20 verwendet und können ein Stufenlicht 220, ein koaxiales Licht 230 und ein Oberflächenlicht 240 einschließen, sowie ein Ringlicht oder ein programmierbares Ringlicht, die alle durch Signalleitungen oder Busse 221, 231 und 241 jeweils mit dem Steuersystemabschnitt 120 verbunden sind. Als eine erste optische Anordnung des maschinellen Sichtinspektionssystems 100 kann der optische Anordnungsabschnitt 205 zusätzlich zu den vorher beschriebenen Komponenten andere Linsen und andere optische Elemente wie Öffnungen, Strahlensplitter und Ähnliches einschließen, die zur Bereitstellung einer koaxialen Beleuchtung benötigt werden, oder andere gewünschte Merkmale des maschinellen Sichtinspektionssystems. Wenn die Revolverlinsenanordnung 280 als eine zweite optische Anordnung des maschinellen Sichtinspektionssystems 100 eingeschlossen ist, schließt sie zumindest eine erste Revolverlinsenposition und eine Linse 286 und eine zweite Revolverlinsenposition und eine Linse 288 ein. Der Steuersystemabschnitt 120 steuert die Rotation der Revolverlinsenanordnung 280 entlang der Achse 284 zwischen den zumindest ersten und zweiten Revolverlinsenpositionen durch eine Signalleitung oder einen Bus 281.
  • Der Abstand zwischen der Arbeitsstückstufe 210 und dem optischen Anordnungsabschnitt 205 kann eingestellt werden, um den Fokus des Bilds des Arbeitsstücks 20 zu ändern, der durch das Kamerasystem 260 erfasst wird. Insbesondere ist der optische Anordnungsabschnitt 205 in verschiedenen exemplarischen Ausführungsformen in der vertikalen Z-Achsenrichtung relativ zu der Arbeitsstückstufe 210 beweglich unter Verwendung eines steuerbaren Motors 294, der einen Betätiger, ein Verbindungskabel oder Ähnliches antreibt, um den optischen Anordnungsabschnitt 205 entlang der Z-Achse zu bewegen. Der Begriff Z-Achse, wie hier verwendet, bezieht sich auf die Achse, die dafür vorgesehen ist, zum Fokussieren des Bilds verwendet zu werden, welches durch den optischen Anordnungsabschnitt 205 erhalten wird. Der steuerbare Motor 294 wird, wenn er verwendet wird, mit der Eingabe-/Ausgabeschnittstelle 130 über eine Signalleitung 296 verbunden.
  • Wie in 2 gezeigt, schließt in verschiedenen exemplarischen Ausführungsformen der Steuersystemabschnitt 120 einen Controller 125, eine Eingabe-/Ausgabeschnittstelle 130, einen Speicher 140, einen Arbeitsstückprogrammgenerator und Ausführer 170, einen CAD Datei-Merkmalextrahierer 180 und einen Stromversorgungsabschnitt 190 ein. Es wird geschätzt werden, dass jede dieser Komponenten, ebenso wie die unten beschriebenen zusätzlichen Komponenten, mit einem oder mehreren Daten/Steuerbussen und/oder Anwendungsprogrammierungs-Schnittstellen oder durch direkte Verbindungen zwischen den diversen Elementen miteinander verbunden werden können.
  • Die Eingabe-/Ausgabeschnittstelle 130 schließt eine Bildsteuerschnittstelle 131, eine Bewegungssteuerschnittstelle 132, eine Beleuchtungssteuerschnittstelle 133 und eine Linsensteuerschnittstelle 134 ein. Die Bewegungssteuerschnittstelle 132 schließt ein Positionssteuerelement 132A und ein Geschwindigkeits-/Beschleunigungssteuerelement 132B ein. Jedoch sollte geschätzt werden, dass solche Elemente in mehreren exemplarischen Ausführungsformen zusammengefasst und/oder ununterscheidbar sein können. Die Beleuchtungssteuerschnittstelle 133 schließt Beleuchtungssteuerelemente ein, welche z.B. die Auswahl, Leistung, den Ein-/Ausschalter und Stroboskop-Puls-Zeiten steuern, falls verfügbar, für die verschiedenen entsprechenden Lichtquellen des maschinellen Sichtinspektionssystems 100, wie die Lichtquellen 220, 230 und 240.
  • Der Speicher 140 schließt einen Bilddateispeicherabschnitt 141, einen Arbeitsstückprogrammspeicherabschnitt 142 ein, der einen oder mehrere Teilprogramme oder Ähnliches einschließen kann, und einen Video-Werkzeugabschnitt 143. Der Video-Werkzeugabschnitt 143 schließt Werkzeugabschnitte 143a bis 143m ein, welche die GUI Bildverarbeitungsabläufe usw. für jedes der entsprechenden Werkzeuge bestimmen. In verschiedenen exemplarischen Ausführungsformen der vorliegenden Erfindung schließt der Video-Werkzeugabschnitt 143 auch ein Autofokuswerkzeug 145, einen Autofokuskorrekturabschnitt 148, einen Nachschlagetabelle-Generatorabschnitt 148A, einen Nachschlagetabelle-Speicherabschnitt 148B, einen Interpolierungsabschnitt 148C und einen Richtungsstärken bestimmenden Abschnitt 148D ein. Wie unten detaillierter beschrieben werden wird, kann der Autofokus-Korrekturabschnitt 148 Z-Höhenmessungsfehler korrigieren, die aus Abläufen des Autofokus-Werkzeugs 145 resultieren, einschließlich der Korrektur von Astigmatismus-Fehlern, wenn diese vorliegen.
  • Der Nachschlagetabelle-Generatorabschnitt 148A kann Fehlerkorrekturkalibrierungsdaten vorbereiten (z.B. Nachschlagetabellen oder jede andere alternative Form oder Anordnung von Fehlerkorrekturkalibrierungsdaten) für jede einzelne Linse und/oder einzelne Vergrößerung. In einer Ausführungsform schließen die Kalibrierungsdaten für eine Linse einen Satz von vertikalen Z-Korrekturen ein, einschließlich Korrekturen für Astigmatismus-Fehler über einem 0 bis 180°-Bereich von Orientierungen eines gerichteten Musters, für mehrere Punkte in einem Linsen-/Kamera-Gesichtsfeld. In einer Ausführungsform können die Kalibrierungsdaten vertikale Z-Korrekturen, einschließlich eines Satzes von Korrekturen für statische optische Fehler und einem Satz von Korrekturen für Astigmatismus-Fehler für mehrere Punkte in einem Gesichtsfeld einschließen. In einer weiteren Ausführungsform können die Kalibrierungsdaten vertikale Z-Korrekturen einschließen, einschließlich eines Satzes von Korrekturen für anisotropische Fehler für mehrere Punkte in einem Gesichtsfeld. Die Nachschlagetabellen sind in dem Nachschlagetabellen-Speicherabschnitt 148 B gespeichert. Es sollte geschätzt werden, dass solche Ausführungsformen nur exemplarisch und nicht beschreibend sind, obwohl die Fehlerkalibrierungsdaten im Allgemeinen hier als bestimmt und als in der Form von „Nachschlagetabellen“ gespeichert beschrieben sind. Noch allgemeiner sollte jedes hier als eine „Nachschlagetabelle“ erzeugende oder speichernde Element oder Verfahren als repräsentatives von mehreren allgemeinen Elementen oder Verfahren verstanden werden, die in jeder anderen nicht bekannten oder später entwickelten Form oder Anordnung von Fehlerkalibrierungsdaten erzeugen oder speichern können, die zum Korrigieren von Z-Höhenmessungen gemäß den Prinzipien dieser Erfindung verwendbar sind.
  • Der Interpolierungsabschnitt 148C wird für die Interpolierung, Extrapolierung oder zur anderen Schätzung oder Rekonstruktion der Nachschlagetabellendaten für die Position in dem Gesichtsfeld entsprechend einem gegenwärtigen Fokusbereich von Interesse verwendet, z.B. ein Autofokus-Werkzeugbereich von Interesse. Allgemein wird die Rekonstruktion durch Interpolierung (z.B. bilinear, biquadratisch, bikubisch usw.) der Fehlerkalibrierungswerte der Nachschlagetabellen oder Ähnlichem durchgeführt, die in dem Nachschlagetabellen-Speicherabschnitt 148B gespeichert sind. Der Richtungsstärke (Richtung und Stärke) bestimmende Abschnitt 148D wird zur Bestimmung geeigneter Messungen der Richtung (nominale Orientierung) und/oder Stärke (z.B. GradientenHöhe) des Inhalts eines Fokusbereichs von Interesse verwendet. In einer Ausführungsform bestimmt der Richtungsstärke bestimmende Abschnitt 148D ein Histogramm der Gradienten (Kanten-Richtungen, die in dem gegenwärtigen Fokusbereich von Interesse vorliegen, welche, wie unten detaillierter beschrieben werden wird, mit rekonstruierten (interpolierten) Fehlerkalibrierungsdaten zur Berechnung und Anwendung einer geeigneten Korrektur für eine Z-Höhenmessung verwendet werden können.
  • Der Video-Werkzeugabschnitt 143 schließt weiterhin einen Bereich-von-Interesse-Generator 143x ein, der automatische, halbautomatische und/oder manuelle Abläufe unterstützt, die verschiedene Bereiche von Interesse definieren, die in verschiedenen Video-Werkzeugen bedienbar sind, einschließlich in dem Video-Werkzeugabschnitt 143. Im Allgemeinen speichert der Speicherabschnitt 140 Daten, die zum Betreiben des Sichtsystemkomponentenabschnitts 200 geeignet sind, um ein Bild des Arbeitsstücks 20 zu erfassen oder zu erhalten, so dass das erfasste Bild des Arbeitsstücks 20 die gewünschten Bildeigenschaften hat. Der Speicherabschnitt 140 speichert weiterhin Daten, die zum Betreiben des maschinellen Sichtinspektionssystems 100 geeignet sind, um verschiedene Inspektions- und Messabläufe auf den erfassten Bildern entweder manuell oder automatisch durchzuführen, und um die Ergebnisse durch die Eingabe-/Ausgabeschnittstelle 130 auszugeben.
  • Die Signalleitungen oder Busse 221, 231 und 241 des Stufenlichts 220, des koaxialen Lichts 230 und des Oberflächenlichts 240 sind jeweils alle mit der Eingabe-/Ausgabeschnittstelle 130 verbunden. Die Signalleitung 262 des Kamerasystems 260 und die Signalleitung 296 des steuerbaren Motors 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 die Bilderfassung startet.
  • Eine oder mehrere Anzeigevorrichtungen 136 und eine oder mehrere Eingabevorrichtungen 138 können auch mit der Eingabe-/Ausgabeschnittstelle 130 verbunden sein. Die Anzeigevorrichtungen 136 und Eingabevorrichtungen 138 können verwendet werden, um Teilprogramme anzusehen, zu erzeugen und/oder zu modifizieren, und um die Bilder anzusehen, die durch das Kamerasystem 260 erfasst wurden, und/oder um direkt den Sichtsystemkomponentenabschnitt 200 zu steuern. In einem vollständig automatisierten System mit einem vordefinierten Teilprogramm (oder Arbeitsstückprogramm) können die Anzeigevorrichtungen 136 und/oder die Eingabevorrichtung 138 ausgelassen werden.
  • In Bezug auf den CAD Datei-Merkmalextrahierer 80 ist Information, wie eine CAD Datei, die das Werkstück zeigt, häufig in industriellen Anwendungsfällen der maschinellen Sichtinspektionssysteme verfügbar. Die Orte von Kanten, Grenzen und Arbeitsstückmerkmalmustern in der CAD Dateidarstellung kann manuell bestimmt werden, halbautomatisiert oder vollautomatisiert, und eine solche Information kann nützlich für die Werkstück-Teilprogrammierung oder die Navigation zu einem gewünschten Arbeitsstückmerkmal sein.
  • In vielen exemplarischen Ausführungsformen, wenn ein Benutzer das maschinelle Sichtinspektionssystem 100 zum Erzeugen eines Arbeitsstück-Bilderfassungsprogramms für das Arbeitsstück 20 verwendet, erzeugt der Benutzer die Arbeitsstück-Programminstruktionen entweder durch automatisches, halbautomatisches oder manuelles explizites Kodieren der Instruktionen, unter Verwendung einer Arbeitsstück-Programmsprache oder durch Erzeugen der Instruktionen durch Bewegen des maschinellen Sichtinspektionssystems 100 durch eine Bilderfassungs-Trainingsabfolge, so dass die Arbeitsstück-Programminstruktionen den Trainingsablauf erfassen. Dieser Prozess wird für viele Bilder in einem Satz von Bildern wiederholt, der zu erfassen ist. Diese Instruktionen bringen, wenn sie ausgeführt werden, das maschinelle Sichtinspektionssystem dazu, die Arbeitsstückstufe 210 und/oder das Kamerasystem 260 mit gewissen/r Geschwindigkeit(en) zu manipulieren, so dass ein bestimmter Abschnitt des Arbeitsstücks 20 innerhalb des Gesichtsfelds des Kamerasystems 260 und in einem gewünschten Fokuszustand für jedes aus einem Satz zu erfassender Bildern ist. Zusätzlich zu den Programminstruktionen, welche die relative Bewegung der Kamera und des Arbeitsstücks steuern, benötigt das Arbeitsstück-Bilderfassungsprogramm auch das Einschließen von Programminstruktionen, die eine oder mehrere der Lichtquellen 220 bis 240 aktivieren, um eine gewünschte Beleuchtung des Arbeitsstücks 20 während jeder Bilderfassung zu erhalten.
  • Sobald ein Satz von Arbeitsstück-Bilderfassungsinstruktionen definiert ist, führt das Steuersystem 120 in mehreren exemplarischen Ausführungsformen der vorliegenden Erfindung die Instruktionen und Kommandos des Kamerasystems 260 zum Erfassen von einem oder mehreren Bildern des Arbeitsstücks 20 gemäß den Instruktionen aus. Das Steuersystem 120 wird dann unter Steuerung der Steuerung 125 das/die erfassten Bild(er) durch die Eingabe-/Ausgabeschnittstelle 130 eingeben, und das/die erfassten Bild(er) in dem Speicher 140 speichern. Die Steuerung 125 kann auch die erfassten Bilder auf der Anzeigevorrichtung 136 anzeigen.
  • Der Steuersystem-Abschnitt 120 ist weiterhin nützlich, um erfasste und gespeicherte Arbeitsstück-Inspektionsbilder erneut zu laden, um Arbeitsstückmerkmale in solchen Arbeitsstück-Inspektionsbildern zu inspizieren und zu analysieren, und um die Inspektionsergebnisse zu speichern und/oder auszugeben. Diese Verfahren sind typischerweise in verschiedenen Video-Werkzeugen ausgeführt, einschließlich dem Video-Werkzeugabschnitt 143 des Speichers 140, sowie dem Autofokus-Werkzeug 145, Kanten-/Grenzenerfassungs-Werkzeugen, Dimensionsmess-Werkzeugen, Koordinatenpass-Werkzeugen und Ähnlichem. Einige dieser Werkzeuge werden üblicherweise in einer Variierung kommerziell verfügbarer maschineller Sichtinspektionssysteme verwendet, wie die QUICK VISION® Serie von Sichtsystemen und die damit verbundene QVPAK® Software.
  • Nachdem der Bildinspektions-/Analyseablauf der Verwendung von einem oder mehreren dieser Video-Werkzeuge abgeschlossen ist, gibt das Steuersystem 120 die Ergebnisse von jedem Analyse-/Inspektionsablauf an die Eingabe-/Ausgabeschnittstelle zur Ausgabe an die verschiedenen Anzeigevorrichtungen 136 aus, wie an eine Videoanzeige, einen Drucker und Ähnliches. Das Steuersystem 120 kann die Ergebnisse von jedem Inspektionsablauf in dem Speicher 140 speichern.
  • 3A bis 3D sind Diagramme von exemplarischen Oberflächen, für welche eine Z-Höhe gemessen und in Übereinstimmung mit der vorliegenden Erfindung korrigiert werden kann. 3A und 3B sind jeweils Diagramme von „ideal“ gestreiften Oberflächen 300A und 300B, welche ein gerichtetes Muster mit Orientierungen von Werten von 0° bzw. 90° umfassen. Es wird geschätzt werden, dass diese Orientierungsbestimmung beliebig ist, und dass andere Orientierungsanordnungen verwendet werden können, vorausgesetzt, dass eine Anwendung konsequent während der Kalibrierung und den späteren Fehlerkorrekturen angewandt wird. 3C ist ein Diagramm einer anisotropisch texturierten Oberfläche 300C (einer Oberfläche, die eine deutliche Gerichtetheit aufweist), während 3D ein Diagramm einer isotropisch texturierten Oberfläche 300D ist (einer Oberfläche, die keine deutliche Gerichtetheit aufweist). Die Messergebnisse für die Oberflächen von 3A bis 3D werden unten detaillierter beschrieben werden in Bezug auf 4.
  • Die ideal gestreiften Oberflächen von 3A und 3B zeigen ein gerichtetes Muster, welches ein grundlegendes Messproblem erzeugt, was dazu gedacht ist, durch diese Erfindung gelöst zu werden. Insbesondere wurde experimentell bestimmt, dass für einige geläufige maschinelle Sichtsysteme Höhenmessungen (Z-Position) auf Grundlage einer Gegensatzmetrik oder Ähnlichem durchgeführt, signifikant variieren kann, wenn die Messziele Texturen oder Linien in einer ersichtlichen Orientierung aufweisen. Konventionelle Autofokus-Werkzeuge nutzen solche Kontrast-Metriken üblicherweise zur Bestimmung ihrer besten Fokus-Position und der damit verbundenen Z-Höhenmessung. Daher, wie hier offenbart, können die Z-Höhenmessungen, bestimmt unter Verwendung solcher Werkzeuge, deutlich variieren, wenn ein Ziel, welches ein gerichtetes Muster einschließt, in verschiedenen Orientierungen angeordnet wird, wie die 0° Orientierung von 3A, verglichen mit der 90° Orientierung von 3B, sogar wenn die wahre Z-Höhe der Zieloberfläche nicht verändert wird. Solche unerwünschten Messvariationen werden unten detaillierter in Bezug auf 4 beschrieben.
  • 4 ist ein Graph 400, der die Variabilität von Z-Höhenmessergebnissen für die Oberflächen von 3A bis 3D zeigt. Die drei Graphenlinien 410, 412 und 414 basieren auf Rohdaten, die alle an derselben Stelle in dem Gesichtsfeld genommen wurden. Die Rohdaten wurden normalisiert durch Zuordnen des Durchschnittswerts jedes Satzes von Punkten (weniger der 180° Punkt, welcher nominell redundant gegenüber dem 0° Punkt ist) zu einem Wert Null in dem Graph 400. Aus weiter unten beschriebenen Gründen bedeutet dies, dass die Graphenlinien 410, 412 und 414 tatsächlich ungefähr die Astigmatismus-Fehlerkomponente darstellen, die in jeder der Rohdaten-Z-Messungen vorhanden ist. Die Graphenlinie 410 zeigt die Z-Höhen Messvariation für das ideal gestreifte Oberflächenmuster aus 3A und 3B bei verschiedenen Orientierungen (Rotationswinkeln), während die Graphenlinie 412 die Z-Höhen- Messvariation für die texturierte Oberfläche von 3C in verschiedenen Orientierungen (Rotationswinkeln) zeigt, und die Graphenlinie 414 die Z-Höhen Messvariation für die isotropische Oberfläche von 3D in verschiedenen Orientierungen (Rotationswinkeln) zeigt.
  • Die variierenden Höhenmessungen der Graphenlinien 410, 412 und 414 wurden mit einem konventionellen Autofokuswerkzeug erhalten. Die Messungen wurden an einer gleichbleibenden Bereich-von-Interesse-Stelle im Gesichtsfeld genommen, wenn die nominale Orientierung jedes Oberflächenmusters um 180° gedreht wurde. Die Graphenlinien 410, 412 und 414 zeigen, das die Astigmatismus-Fehler variierende Z-Höhenmessungen für anisotropische Oberflächenmuster (Graphenlinien 410 und 412) verursachen, wenn sie um 180° gedreht werden, und dass die Astigmatismus-Fehler die Z-Höhenmessungen für isotropische Oberflächenmuster (Graphenlinie 414) nicht deutlich beeinflussen. Wie in 4 gezeigt, zeigen die Z-Höhenmessungen jeweils für die Graphenlinien 410 und 412 entsprechend den ideal gestreiften und texturierten Oberflächen signifikante Z-Wert Variationen als eine Funktion der Orientierung, wobei das „stärker“ gerichtete Muster (das ideal gestreifte Muster - Graphenlinie 410) größere Astigmatismus-Fehler zeigt als das „schwächer“ gerichtete Muster (das gerichtete Texturmuster - Graphenlinie 412). Insbesondere zeigt die Graphenlinie 410 eine Z-Höhenvariation von ungefähr 5 Mikrometern, während die Z-Höhenvariation für die Graphenlinie 412 ungefähr 3,7 Mikrometer beträgt, verglichen mit der Graphenlinie 414 für die isotropische Oberfläche, welche eine geringe Z-Höhenvariation von ungefähr 0,26 Mikrometern zeigt.
  • Die vorliegende Erfindung stellt ein Verfahren zur Korrektur von Astigmatismus-Fehlern bereit. In bevorzugten Ausführungsformen korrigiert das Verfahren statische, optische Fehler, wenn sie vorhanden sind. Wie unten detaillierter in Bezug auf die 5 und 6 beschrieben werden wird, werden Fehlerkalibrierungsdaten (z.B. Nachschlagetabellen) für jede bestimmte Linsenkombination und/oder bestimmte Vergrößerung vorbereitet. In einer Ausführungsform können die Kalibrierungsdaten einen Satz von Z-Höhenmesskorrekturen einschließen, einschließlich Korrekturen für Astigmatismus-Fehler über einen 0 bis 180° Bereich von Orientierungen eines gerichteten Musters, z.B. mehrere Punkte in einem Gesichtsfeld einer Linse. Die Kalibrierungsdaten können auch Z-Höhenmesskorrekturen für statische optische Fehler für mehrere Punkte in einem Gesichtsfeld einer Linse einschließen. In einer bevorzugten Ausführungsform können die Kalibrierungsdaten einen Satz von Z-Höhenmesskorrekturen einschließlich Korrekturen für anisotropische Fehler über einem 0 bis 180° Bereich von Orientierungen eines direktionalen Musters für mehrere Punkte im Gesichtsfeld einer Linse einschließen. Dann wird, wie unten in Bezug auf die 7 bis 10 beschrieben werden wird, während einer Autofokus-Z-Höhenmessung eine Z-Korrektur berechnet und angewandt. Die Z-Korrektur kann entsprechend interpolierter Kalibrierungsdaten bestimmt werden, die aus der/den Kalibrierungs-Nachschlagetabelle(n) rekonstruiert wurden, um einer gegenwärtigen Stelle in dem Gesichtsfeld zu entsprechen. Die Z-Korrektur kann eine Einstellung, Gewichtung oder Auswahl der Größenordnung einer anisotropischen Fehlerkorrektur oder einer Astigmatismus-Fehlerkorrektur auf Grundlage eines Histogramms der Gradientenrichtungen einschließen (welche die Orientierungswinkelinhaltkennzeichen der direktionalen Oberflächenmerkmale darstellen), die in dem gegenwärtigen Autofokus-Werkzeugbereich von Interesse vorhanden sind.
  • 5 ist ein Diagramm, welches schematisch ein Kalibrierungsziel 500 zeigt, welches in Übereinstimmung mit der vorliegenden Erfindung gebildet und verwendbar ist. Das Kalibrierungsziel 500 kann ein flaches Substrat 520 umfassen, welches Zielelementgruppen 500A und 500B einschließt. Die Zielelementgruppe 500A schließt ein 6x4-Netz von anisotropischen Zielelementen ein, die zum Erzeugen von Astigmatismus-Fehlerkalibrierungsdaten verwendet werden, wie weiter unten beschrieben. Insbesondere schließt die Zielelementgruppe 500A ein 6x4-Netz aus rechtwinkligen Zielelementen ein, die in Spalten 512 bis 517 und Reihen 522 bis 525 angeordnet sind.
  • In einer Ausführungsform kann jedes der rechtwinkligen anisotropischen Zielelemente ein gestreiftes Oberflächenmuster einschließen (z.B. ein Muster ähnlich dem, welches in 3A und 3B gezeigt ist), welches in einem bestimmten Winkel orientiert ist. Beispielsweise kann das „0°“ rechtwinklige Zielelement in der Spalte 512 und der Reihe 522 horizontal orientierte Streifen einschließen, während das 90° rechtwinklige Ziel in der Spalte 512 und der Reihe 524 vertikal orientierte Streifen einschließen kann. Jedes der anderen rechtwinkligen Zielelemente beinhaltet ein identisch gestreiftes Muster, was in dem jeweiligen in 5 gezeigten Winkel orientiert ist. Zusammen decken sie einen 0° bis 180° Bereich von Orientierungen von Winkeln in diskreten Schritten von 7,5° ab. Da die 180° Richtung äquivalent zu der 0° Richtung ist, ist kein zusätzliches 180° Zielelement wie in der Ausführungsform eingeschlossen. In verschiedenen anderen Ausführungsformen kann die Schrittgröße in Abhängigkeit von einer gewünschten Körnigkeit der Anisotropie oder des Astigmatismus oder der Fehlerkalibrierungsdaten oder der Nachschlagetabellen variieren. In 5 beträgt die Körnigkeit 7,5°. Es wird verstanden werden, dass all die rechtwinkligen Zielelemente gestreifte Oberflächenmuster einschließen (nicht gezeigt), die jeweils in den gezeigten Gradzahlen dargestellt sind. Daher wird verstanden werden, dass das rechtwinklige Zielelement in der tatsächlichen Ausführungsform eigentlich ein gestreiftes Oberflächenmuster einschließen wird, was mit 15° orientiert ist, obwohl sogar das 15° rechtwinklige Zielelement in der Spalte 514 und der Reihe 522 als die Nummer „15°“ bezeichnet wird. In anderen Ausführungsformen können die anisotropischen Zielelemente andere Arten von direkt gerichteten Mustern aufweisen, z.B. ein Texturmuster oder ein gestreiftes Texturmuster oder ein anisotropisches Muster, welches ausgewählt ist, um zu einem Muster zu passen, welches häufig auf einem Inspektions-Arbeitsstück vorliegt.
  • Die oben beschriebenen anisotropischen Kalibrierungsziele sind allgemeine Zweck-Astigmatismus-Fehlerkalibrierungsziele. Eine weitere Art von anisotropischem Kalibrierungsziel kann insbesondere für Kalibrierungsfehler nützlich sein, die andererseits in einer „Kantenfokus“-Art des Autofokus-Ablaufs vorliegt, im Gegensatz zu dem „Oberflächen-Autofokus“, der hier im Allgemeinen zugrunde liegt. Ein Kantenfokus-Ablauf kann eine Z-Höhe aufweisen, die den Intensitätsgradienten über eine Kante maximiert, z.B. eher als die allgemeinen Flächenbasierten Kontrastmessungen, die üblicherweise für Oberflächen-Autofokus-Abläufe verwendet werden. In einer Ausführungsform, die eine Korrektur von Kantenfokus-Astigmatismus-Fehlern betont, kann eine einzelne gerade Kante (eine Grenze zwischen einer beleuchteten Zone und einer dunklen Zone) als ein anisotropisches Zielelement verwendet werden. Da solch ein Zielelement asymmetrisch ist, liegt der Bereich von Orientierungswinkeln vorzugsweise zwischen 0° und 360°, die für die Kalibrierung verwendet werden, eher als der 0-180°-Bereich, der vorher beschrieben wurde.
  • Die Zielelementgruppe 500A schließt einen Satz von 35 isotropischen Zielelementen 510 ein. Wie unten detaillierter beschrieben wird, kann jedes jeweilige isotropische Zielelement 510 zum Auffinden einer „isotropischen Mess-Z-Höhe“ verwendet werden, was auch als eine „isotropische Messung“ an ihren jeweiligen Stellen bezeichnet wird. Es kann bequem sein, den Mittelpunkt eines isotropischen Zielelements als Referenzpunkt für diese Stelle zu verwenden. Wenn gewünscht, können die Astigmatismus-Fehlerkomponenten, die in benachbarten anisotropischen Zielelement-Messungen eingeschlossen sind, durch Subtrahieren einer damit zusammenfallenden interpolierten isotropischen Messung isoliert werden, wie unten beschrieben, um Astigmatismus-Fehlerkalibrierungsdaten bereitzustellen. Da die Astigmatismus-Fehler in Betrieb minimiert oder nicht vorhanden sind, wenn isotropische Muster, z.B. die isotropischen Zielelemente 510, gemessen werden, werden Autofokus-Messungen auf diesen Mustern ausgeführt, die isotropische Messungen bereitstellen, die nominell frei von Astigmatismus-Fehlern sind. In einem exemplarischen Satz von Abläufen zur Bestimmung von wahren und/oder Referenz-Z-Höhenwerten für verschiedene Stellen auf dem Kalibrierungsziel 500, wenn dieselbe Autofokus-Bereich-von-Interesse-Position innerhalb des Gesichtsfelds (z.B. im Mittelpunkt des Gesichtsfelds) zum Messen von jedem der isotropischen Muster 510 verwendet wird, werden die statischen optischen Fehlerkomponenten nominal dieselben für alle solchen Messungen sein. Daher wird dieser Ablauf die Z-Höhen-Rohmessungen an den Stellen der isotropischen Muster 510 auf dem Kalibrierungsziel 500 bereitstellen, die jeweils nur die gleichen „gemeinsamer Modus“ statischen optischen Fehler beinhalten. Daher gelten die Unterschiede zwischen solchen Z-Höhenmessungen nominal nur für wahre Z-Höhenunterschiede in verschiedenen Abschnitten der Kalibrierungsziel-Substratoberfläche. Demnach kann ein Satz solch isotropischer Z-Höhenmessungen, die am selben Punkt im Gesichtsfeld gemessen wurden, als ein Satz wahrer Z-Höhenwerte über das gesamte Kalibrierungsziel verwendet werden, was die Position, Neigung und/oder Versetzung des Kalibrierungsziels wiedergibt. In einer Ausführungsform können die isotropischen Ziele von dem Kalibrierungsziel 500 ausgelassen werden, und eine isotropische Messung für einen unterschiedlichen Typ kann für jeden Satz von (konstanter) Stellung in dem Gesichtsfeld bereitgestellt werden durch Mittel eines Satzes anisotropischer Messungen, die über dem Bereich von Orientierungswinkeln durchgeführt wurden, um einen Z-Höhenmessmittelwert bereitzustellen, wobei die Astigmatismus-Fehlerkomponente(n) tatsächlich durch das Mitteln entfernt wurden. Diese Art isotropischer Messung kann dann auf dieselbe Weise wie die oben beschriebene Weise von isotropischer Messung verwendet werden.
  • Auf jeden Fall können zusätzliche wahre Z-Höhenwerte zwischen den tatsächlichen Messstellen geschätzt werden, da die X-Y-Position jeder isotropischen Messung präzise bekannt sein kann. Wenn eine bilineare Interpolation verwendet wird, können die geschätzten wahren Z-Höhenwerte jede globale und/oder lokale Neigung des Kalibrierungsziels darstellen. Bei höherer Ordnung, z.B. biquadratisch oder anderen komplexeren Interpolationsschemata, die verwendet wurden, können gekrümmte Versetzungen des Kalibrierungsziels akkurater dargestellt werden.
  • Es wird geschätzt werden, dass eine Referenz oder „Null“-Z-Ebene weitgehend beliebig gewählt werden kann, vorausgesetzt, dass alle anderen Z-Messungen relativ zu dieser Ebene gemessen werden. Demnach kann jeder Satz wahrer Z-Höhenwerte, der am selben Punkt im Gesichtsfeld wie oben beschrieben bestimmt wurde, als Referenz-Z-Höhenwert über das gesamte Kalibrierungsziel verwendet werden, was die Position, Neigung und/oder Versetzung des Kalibrierungsziels darstellt. Es mag bequem sein, den Mittelpunkt des Gesichtsfelds als Punkt in dem Gesichtsfeld zu verwenden, der die Referenz-Z-Höhenwerte für das Kalibrierungsziel bereitstellt. Es sollte geschätzt werden, dass die Referenz-Z-Höhenwerte behandelt werden können, als ob sie frei von sowohl Astigmatismus-Fehlern als auch von statischen optischen Fehlern sind.
  • In einer Ausführungsform gemäß dieser Erfindung können anisotropische Fehlerkalibrierungsdaten an verschiedenen Stellen über das Gesichtsfeld bestimmt werden. Eine Beschreibung einer exemplarischen Ausführungsform dieses Ablaufs beginnt hier mit einem exemplarischen Satz von Abläufen zur Bestimmung eines einzelnen anisotropischen Fehlerkalibrierungswerts für einen Orientierungswinkel an einer Stelle im Gesichtsfeld.
  • Zur Bestimmung eines einzelnen anisotropischen Fehlerkalibrierungswerts kann zuerst eines der oben beschriebenen anisotropischen Zielelemente positioniert werden, um das Gesichtsfeld mit seinen anisotropischen Mustern in seinem jeweiligen Orientierungswinkel auszufüllen. Dann wird der Mittelpunkt eines Fokusbereichs von Interesse an einem gewünschten Ort in dem Gesichtsfeld positioniert (dies setzt voraus, dass der Mittelpunkt eines Bereichs von Interesse als der Referenzpunkt für diese Stelle verwendet wird). Dann wird eine anisotropische Messung an dieser Stelle in dem Gesichtsfeld erhalten, z.B. durch Autofokussierung unter Verwendung des Fokusbereichs von Interesse. Der Unterschied zwischen einer anisotropischen Messung an einem jeweiligen Orientierungswinkel an der Stelle in dem Gesichtsfeld und einem Referenz-Z-Höhenwert an derselben Stelle in dem Gesichtsfeld kann den anisotropischen Fehlerkalibrierungswert bereitstellen, der mit dem jeweiligen Orientierungswinkel an der Stelle in dem Gesichtsfeld verbunden werden sollte.
  • Die oben beschriebenen anisotropischen Fehlerkalibrierungsschritte können wiederholt werden an derselben Stelle im Gesichtsfeld für jedes jeweilige anisotropische Ziel an seinem jeweiligen Orientierungswinkel, um einen vollständigen Satz von anisotropischen Fehlerkalibrierungsdaten bereitzustellen, die der Stelle im Gesichtsfeld entsprechen. Die Eigenschaften eines solchen Satzes von anisotropischen Kalibrierungsdaten, die an einer einzelnen Stelle im Gesichtsfeld gesammelt wurden, können auf Grundlage der unten folgenden Beschreibung von 6 besser verstanden werden.
  • Der gesamte Satz von oben beschriebenen anisotropischen Fehlerkalibrierungsabläufen kann dann an einer Anzahl gewünschter Stellen über das Gesichtsfeld wiederholt werden, um vollständige Sätze von anisotropischen Fehlerkalibrierungsdaten bereit zu stellen, die jeder der gewünschten Stellen entsprechen. Anisotropische Fehlerkalibrierungswerte oder Daten entsprechend jedem der jeweiligen Orientierungswinkel können dann an anderen ungemessenen Stellen in dem Gesichtsfeld geschätzt werden, unter Verwendung verschiedener Interpolationstechnologien analog zu denen, die oben oder unten weiter beschrieben wurden. Im Allgemeinen entspricht die anisotropische Fehler-„Form“, die durch die anisotropischen Fehlerwerte dargestellt wird, demselben Orientierungswinkel, aber an verschiedenen Stellen in dem Gesichtsfeld, und kann komplexer sein als die Form der Kalibrierungszieloberfläche. Demnach können höhere Ordnungen der Interpolation eine bessere Präzision liefern. Ein Beispiel jeweiliger Sätze von anisotropischen Fehlerkalibrierungsdaten an jeweiligen Stellen in dem Gesichtsfeld wird unten in Bezug auf 7 beschrieben.
  • Statische optische Fehler können bestimmt werden, wenn gewünscht. In einem exemplarischen Satz von Abläufen zur Bestimmung statischer optischer Fehler, die mit einer gewünschten Stelle in dem Gesichtsfeld zu verbinden sind, wird ein jeweiliges isotropisches Zielelement mit einem jeweiligen bekannten Referenz-Z-Höhenwert an der gewünschten Stelle im Gesichtsfeld positioniert. Als nächstes wird ein Fokusbereich von Interesse an diese Stelle in dem Gesichtsfeld gesetzt, und eine neue isotropische Messung wird an dieser Stelle im Gesichtsfeld durchgeführt. Der Unterschied zwischen der bekannten Referenz-Z-Höhe dieses isotropischen Zielelements und der neu erhaltenen isotropischen Mess-Z-Höhe ist der statische optische Fehler, der mit dieser Stelle im Gesichtsfeld zu verbinden ist. Wenn gewünscht, kann dieses Verfahren an der Stelle in dem Gesichtsfeld wiederholt werden unter Verwendung zusätzlicher isotropischer Zielelemente mit jeweiligen bekannten Referenz-Z-Höhenwerten und die Ergebnissen können gemittelt werden, um einen noch feineren Wert für den statischen optischen Fehler an dieser Stelle im Gesichtsfeld bereitzustellen. Auf jeden Fall kann der resultierende statische optische Fehler als statische optische Fehlerkalibrierungsdaten gespeichert werden, entsprechend dieser Stelle im Gesichtsfeld, wenn gewünscht.
  • Das oben beschriebene statische optische Fehlerkalibrierungsverfahren kann an jeweiligen Stellen über das Gesichtsfeld wiederholt werden, um jeweilige statische optische Fehlerkalibrierungsdaten entsprechend diesen Stellen über das Gesichtsfeld zu erhalten. Statische optische Fehlerkalibrierungswerte oder Daten können dann für die ungemessenen Stellen in dem Gesichtsfeld geschätzt werden, unter Verwendung verschiedener Interpolationstechnologien analog zu den oben beschriebenen, jedoch zum Interpolieren der statischen optischen Fehler in diesem Fall. Im Allgemeinen kann die statische optische Fehler-„Form“ komplexer sein als die Form der Kalibrierungsziel-Oberfläche, so dass höhere Ordnungen der Interpolation eine bessere Präzision bereitstellen können.
  • Wenn statische optische Fehler an verschiedenen Stellen über das Gesichtsfeld bestimmt werden, dann können Astigmatismus-Fehlerkalibrierungsdaten ebenso an verschiedenen Stellen über das Gesichtsfeld bestimmt werden, wenn gewünscht. Komplette Sätze von Astigmatismus-Fehlerkalibrierungsdaten entsprechend jeder gewünschten Stelle in dem Gesichtsfeld können auf die oben beschriebene Art bestimmt werden, um anisotropische Fehlerkalibrierungsdaten zu bestimmen, außer anstatt einen zusammenfallenden Referenz-Z-Höhenwert von jeder anisotropischen Messung an jeder Stelle zu subtrahieren, wird ein zusammenfallender isotropischer Messwert von jeder anisotropischen Messung an jeder Stelle subtrahiert. Die Eigenschaften eines Satzes von Astigmatismus-Kalibrierungsdaten, die für eine einzelne Stelle in dem Gesichtsfeld gesammelt wurden, können durch die unten folgende Beschreibung von 6 besser verstanden werden.
  • In vielen Ausführungsformen kann ein anisotropischer Fehlerwert entsprechend der Stelle und dem Orientierungswinkelinhalt eines Fokusbereichs von Interesse von einer Z-Höhen-Rohmessung auf Grundlage jenes Fokusbereichs von Interesse subtrahiert werden, um einen korrigierten Z-Höhenmesswert bereitzustellen. Ein korrigierter Z-Höhenmesswert ist nominell derselbe wie der wahre Z-Höhenwert des gemessenen Bereichs eines Werkstücks. Alternativ sollte geschätzt werden, dass das Subtrahieren sowohl eines statischen optischen Fehlerwerts und eines Astigmatismus-Fehlerwerts entsprechend der Stelle und dem Orientierungswinkelinhalt eines Fokusbereichs von Interesse äquivalent zum Subtrahieren eines anisotropischen Fehlerwerts entsprechend der Stelle und dem Orientierungswinkelinhalt eines Fokusbereichs von Interesse ist. Demnach können in verschiedenen Ausführungsformen gemäß dieser Erfindung die Fehlerkalibrierungsdaten in verschiedenen Formen mit dem gleichen Ergebnis vorbereitet und angewandt werden.
  • Es wird geschätzt werden, dass es im Allgemeinen vorteilhafter ist, sowohl eine Astigmatismus-Fehlerkorrektur und eine statische optische Fehlerkorrektur anzuwenden um einen korrigierten Z-Höhenmesswert zu erhalten, sogar wenn die Astigmatismus-Fehlerkalibrierungsdaten und die statischen optischen Fehlerkalibrierungsdaten getrennt werden. Im Allgemeinen wird jedoch die Verwendung jeder der Korrekturen allein immer noch zumindest teilweise korrigierte Z-Höhenmesswerte bereitstellen, die unabhängiger von einer Oberflächeneigenschaft und/oder Messstelle in dem Gesichtsfeld sind als die Z-Höhen-Rohmessungen. Demnach kann die Verwendung von jeder der Korrekturen alleine immer noch gewisse Vorteile in verschiedenen Anwendungsfällen bereitstellen. Beispielsweise in einigen besonders gut gefertigten Präzisionsmaschinen-Sichtinspektionssystemen können statische optische Fehler unbedeutend sein und die Verwendung der Astigmatismus-Fehlerkalibrierung und der Korrekturabläufe alleine kann die einfachste und vorteilhafteste Alternative sein.
  • Es wird geschätzt werden, dass die oben in Bezug auf 5 beschriebenen Fehlerkalibrierungsabläufe beispielhaft sind und viele Variationen möglich sind. Die oben bestimmten verschiedenen Werte basieren alle auf verschiedenen Kombinationen von isotropischen und anisotropischen Messwerten. Allgemein können all die verschiedenen benötigten isotropischen und anisotropischen Messwerte auf jede effiziente (oder ineffiziente) Art erhalten werden, und nachfolgend zur Bereitstellung der gewünschten anisotropischen Fehlerkalibrierungsdaten, Astigmatismus-Fehlerkalibrierungsdaten oder statischer optischer Fehlerkalibrierungsdaten usw. in jeder funktionell äquivalenten Art verarbeitet werden.
  • Obwohl die oben beschriebenen Fehlerkalibrierungsdaten im Allgemeinen gespeicherte Fehlerwerte umfassen, könnten die Fehlerkalibrierungsdaten weiterhin alternativ die verschiedenen Messwerte umfassen, die zur Bestimmung jener Fehlerwerte verwendet wurden. In solch einer Ausführungsform können verschiedene Arten von Messwerten in einer oder mehreren Nachschlagetabellen gespeichert werden, und werden nachher verarbeitet, wenn benötigt, um Z-Höhen-Rohmessungen zu korrigieren. In einer anderen Ausführungsform können verschiedene Arten von Messwerten oder Fehlern als analytische Ausdrücke gespeichert werden, die verschiedene „Oberflächen“ entsprechend den verschiedenen Arten von Messungen oder Fehlern beschreiben. Beispielsweise eine Referenz-Z-Höhen-Oberfläche, eine isotropische Messoberfläche, eine Anzahl anisotropischer Messoberflächen entsprechend verschiedener Orientierungswinkel usw. All die vorangegangenen Datenformen können als eine Art von Z-Höhenfehlerkalibrierungsdaten betrachtet werden, die eine Variation in den Z-Höhenmessergebnissen auf Grundlage eines Fokusbereichs von Interesse in Bezug auf eine Variation im Orientierungswinkel des anisotropischen Bildinhalts in dem Fokusbereich von Interesse kennzeichnet. Auf jeden Fall können Z-Höhenfehler in Rohmessungen durch die richtige Verwendung jeder dieser Formen von Daten korrigiert werden. Demnach wird jedes davon als eine Form von gespeicherten Fehlerkalibrierungsdaten betrachtet. In verschiedenen Ausführungsformen kann jede isotropische oder anisotropische Messung so oft wie gewünscht wiederholt werden, und die Ergebnisse gemittelt werden, um einen zuverlässigeren und/oder wiederholbaren Wert bereitzustellen, der anstatt eines einzelnen Messwerts verwendet werden kann. Diese und andere Variationen werden auf Grundlage dieser Offenbarung offensichtlich werden.
  • Es wird verstanden werden, dass die in 5 gezeigte Zielelementgruppe 500B Elemente einschließt, die ähnlich zu jenen der Zielelementgruppe 500A sind, jedoch in einem kleineren Bereich. Die Zielelementgruppe 500B wird demnach bequemerweise in derselben Form wie vorher für die Zielelementgruppe 500A beschrieben verwendet, jedoch mit einer Linsenanordnung mit einer höheren Vergrößerung als jene, für welche die Zielelementgruppe 500A typischerweise verwendet wird.
  • Jedes der anisotropischen Zielelemente in den Zielelementgruppen 500A und 500B ist gestaltet, um leicht größer als das Gesichtsfeld der Linse bei der niedrigsten Vergrößerung zu sein, für welche das Ziel mit dem bezeichneten winkelorientierten gerichteten Mustern gestaltet ist. Die Dichte der Linien oder Eigenschaften innerhalb der anisotropischen Zielelemente wird ausgewählt, um eine gute Kalibrierung in den Autofokus-Bereichen von Interesse bei allen Vergrößerungen bereitzustellen, für welche das Ziel gestaltet ist. Insbesondere sind die Linien oder Merkmale als nicht zu dünn gestaltet (was einen Alias-Effekt mit den Kamerapixel verursachen kann) und sind ebenso gestaltet, um genug Zyklen in dem Autofokusbereich von Interesse aufzuweisen, um ein „starkes“ anisotropisches Muster in dem Autofokus-Bereich von Interesse bereitzustellen. In einem besonderen Beispiel ist die Zielelementgruppe 500A dazu gedacht, mit einem 100 x 100 Pixel Autofokusbereich von Interesse gut zusammenzuarbeiten (eine Gesichtsfeldgröße von 640x 480 Pixel vorausgesetzt) bei 1x und 2x Revolverlinsenanordnungssätzen mit einer 2,5x Objektivlinse. In diesem Beispiel wäre die Zielelementgruppe 500B zur guten Zusammenarbeit mit einem 100 x 100 Autofokusbereich von Interesse bei einer 6-fachen Revolverposition gedacht (die Zielelementgruppe 500B ist dreimal kleiner als die Zielelementgruppe 500A).
  • Es wird geschätzt werden, dass die Merkmale, Anordnungen und/oder Aspektverhältnisse der Zielelementgruppen 500A und 500B von 5 nur beispielhaft sind, und sich von dem Gezeigten unterscheiden können. Beispielsweise hängt in einer Ausführungsform die Größe von jedem der anisotropischen Zielelemente im Allgemeinen von der Gesamtlinsen-Vergrößerung und/oder dem Gesichtsfeld ab, für welches die Zielelementgruppe verwendet wird. Jedes der anisotropischen Zielelemente ist leicht größer als das größte gedachte Gesichtsfeld. Diese Bedingung erlaubt die Verwendung kommerziell erhältlicher Mehrfachpunkt-Autofokus-Werkzeuge oder -Abläufe, um schnell anisotropische Messungen für einen bestimmten Orientierungswinkel über das gesamte Gesichtsfeld zu sammeln.
  • Die Anzahl der anisotropischen Zielelemente kann kleiner oder größer sein, in Abhängigkeit von der ausgewählten Körnigkeit der Nachschlagetabellen, die für die Astigmatismus-Korrektur verwendet werden. Das Kalibrierungsziel 500 weist eine Körnigkeit von 7,5° auf, die Körnigkeit kann jedoch kleiner oder größer sein, in Abhängigkeit von der gewünschten Präzision oder Geschwindigkeit der Kalibrierung. Aufgrund der sanften Natur der Astigmatismus-Fehlerkurven ist es im Allgemeinen ausreichend, in verschiedenen Ausführungsformen eine Körnigkeit zum Sammeln der Daten in 5°, 7,5°, 10° oder 15° Intervallen zu verwenden. Die Anzahl anisotropischer Zielelemente kann im Allgemeinen als 180° durch Körnigkeit berechnet werden.
  • In einer Ausführungsform, in welcher die anisotropischen Zielelemente periodische Linienmuster umfassen, ist es wünschenswert, den Linienabstand so zu wählen, dass ein Autofokusbereich von Interesse deutlich kleiner als das Gesichtsfeld (z.B. 100 x 100 Pixel in einem 640 x 480 Pixel Gesichtsfeld) zumindest zwei bis drei volle Zyklen beinhalten wird, das die Linien jedoch gleichzeitig nicht zu fein sind (z.B. nicht dünner als 5 Pixel) um einen Alias-Effekt mit dem Pixel-Abstand zu verhindern, welcher die Kalibrierungsergebnisse verdrehen könnte. In einer beispielhaften Ausführungsform ist der in der Zielelementgruppe 500A verwendete Linienabstand ausgewählt, um ungefähr drei volle Zyklen in einer 91 x 91 Autofokusregion bei einer 5-fachen Vergrößerung mit ungefähr einer 7,5 Pixel Linienbreite bei einer 2,5-fachen Vergrößerung bereitzustellen. Die bei einer 15-fachen Vergrößerung verwendete skalierte Version der Zielelementgruppe 500B stellt die gleiche Anzahl von Zyklen in dem Autofokusbereich von Interesse bereit (ungefähr drei), die durch die Zielelementgruppe 500A für die 5-fache Vergrößerung gegeben ist. Das Verhältnis der Liniendicke zur Abstanddicke in den Linienmustern kann bei 1:1 liegen, das Verhältnis kann jedoch auch variieren.
  • Die isotropischen Zielelemente 510 können auch verschiedene Muster wie die in 5 gezeigten konzentrischen Kreise beinhalten. In einer Ausführungsform kann jedes Muster ohne eine dominanten Gradienten-(Kanten)-Richtung verwendet werden (d.h. mit einem gleichmäßigen Gradientenrichtungs-Histogramm). Die Anzahl isotropischer Muster kann erhöht oder verringert werden, oder sie können ausgelassen werden und ein Mittelwert der anisotropischen Messwerte kann zur Bereitstellung ihrer Funktion verwendet werden, wie vorher beschrieben.
  • In einer Ausführungsform gemäß dieser Erfindung wird ein Kalibrierungsziel wie das in 5 gezeigte nicht verwendet. Das folgende Kalibrierungsverfahren hat den Nachteil, dass es arbeitsintensiver ist und mehr Ausrüstung benötigt, und dennoch zu geeigneten Fehlerkalibrierungsdaten führt. In dieser Ausführungsform wird ein Drehtisch in dem maschinellen Sichtinspektionssystem-Gesichtsfeld positioniert, wobei seine Rotationsachse nominell parallel zu der Z-Achse des Systems ausgerichtet wird. Eine flache Oberfläche, welche ein anisotropisches Muster beinhaltet, wie das, welches für eines der anisotropischen Zielelemente des Kalibrierungsziels 500 verwendet wurde, wird parallel zu der X-Y Ebene des maschinellen Sichtinspektionssystems ausgerichtet. Das anisotropische Muster kann eine Größe aufweisen, die das Gesichtsfeld unabhängig von seinem Orientierungswinkel ausfüllt. Um anisotropische Messungen für eine gewünschte Stelle in dem Gesichtsfeld zu erhalten, wird die Rotationsachse des Drehtischs an der gewünschten Stelle positioniert. Dann wird durch Drehen des Drehtischs in diskreten Schritten entsprechend einem Satz von Orientierungswinkeln, wie den in Bezug auf 5 vorhergehend beschriebenen, ein Satz anisotropischer Messungen an jener Stelle in dem Gesichtsfeld genommen. Dieses Verfahren wird an jeder gewünschten Stelle in dem Gesichtsfeld wiederholt, wobei die Rotationsachse an jeder gewünschten Stelle positioniert wird. Wie vorher beschrieben, kann der Satz anisotropischer Messungen an jeder Stelle in dem Gesichtsfeld so gemittelt werden, dass der Effekt der Astigmatismus-Fehlerkomponenten aufgehoben wird, um tatsächlich eine isotropische Messung an der Stelle im Gesichtsfeld bereitzustellen. Diese anisotropischen und isotropischen Messungen können auf dieselbe Weise wie die vorher in Bezug auf die mit 5 verbundenen Abläufen beschriebenen anisotropischen und isotropischen Messungen verwendet werden. Auch die gesamten selben Kalibrierungsdaten können sich aus solchen Messungen ergeben.
  • 6 ist ein Diagramm, welches Astigmatismus-Fehlerkalibrierungsdaten 600 zeigt, die wie vorher in Bezug auf 5 beschrieben erhalten werden können, und als eine Nachschlagetabelle oder in jeder anderen bequemen Form gespeichert werden können. Insbesondere schließt 6 Astigmatismus-Fehlerdatenpunkte ein, welche verschiedenen Orientierungswinkeln eines gestreiften anisotropischen Zielelements entsprechen, an einer bestimmten Stelle für einen Fokusbereich von Interesse in dem Gesichtsfeld. Die Astigmatismus-Fehlerkalibrierungsdaten können verwendet werden, um eine Z-Höheneinstellung zu bestimmen, die auf einer Z-Höhenmessung auf einem Werkstück angewandt werden sollte, um die Astigmatismus-Fehlerkomponente zu korrigieren oder zu eliminieren, wenn ein Fokusbereich von Interesse verwendet wird, der sich an derselben Stelle in dem Gesichtsfeld befindet, wie jener, der zum Erhalt der Fehlerkalibrierungsdaten verwendet wird. Wenn die Fokusbereich-von-Interesse-Inhalte ungefähr den gleichen gerichteten Inhalt wie das gestreifte anisotropische Zielelement aufweisen, kann die Z-Höheneinstellung, d.h. der Astigmatismus-Fehlerkorrekturwert direkt von dem Graphen entnommen werden, an dem Orientierungswinkel entsprechend den Inhalten des Fokusbereichs von Interesse. Beispielsweise wird ein maximaler positiver Fehlerkorrekturwert von ungefähr 2,5 Mikrometern für einen Orientierungswinkel von ungefähr 140° gezeigt, wobei eine maximale negative Fehlerkorrektur von ungefähr 2,5 Mikrometern für eine Drehung von ungefähr 60° gezeigt ist.
  • Es sollte geschätzt werden, dass die anisotropischen Fehlerkalibrierungsdaten, welche verschiedenen Orientierungswinkeln des gleichen gestreiften anisotropischen Zielelements entsprechen, an derselben bestimmten Stelle für einen Fokusbereich von Interesse in dem Gesichtsfeld identisch zu den Astigmatismus-Fehlerkalibrierungsdaten 600 aussehen würde, außer dass die Fehlerkalibrierungsdaten (die Kurve) in der vertikalen Richtung um eine Größe des statischen optischen Fehlers an der Stelle verschoben wäre. Solche anisotropischen Fehlerkalibrierungsdaten können zur Bestimmung einer Z-Höheneinstellung verwendet werden, die auf eine Z-Höhenmessung auf einem Arbeitsstück angewandt werden sollte, um die anisotropischen Fehler zu korrigieren oder zu eliminieren (in Kombination mit Astigmatismus- und statischen Fehlern), wenn ein Fokusbereich von Interesse verwendet wird, der sich an derselben Stelle in dem Gesichtsfeld befindet, wie der, welcher zum Erhalt der Fehlerkalibrierungsdaten verwendet wird. Wenn die Fokusbereich-von-Interesse-Inhalte ungefähr den gleichen gerichteten Inhalt wie das gestreifte anisotropische Zielelement aufweisen, kann die Z-Höheneinstellung, d.h. der anisotropische Fehlerkorrekturwert, direkt den Daten entnommen werden, wenn der Orientierungswinkel entsprechend des Inhalts des Fokusbereichs von Interesse ist.
  • 7 zeigt ein beschreibendes Beispiel von Sätzen anisotropischer Fehlerkalibrierungsdaten analog zu 6, ausgewählt für neun Stellen im Gesichtsfeld 700. In einer Ausführungsform sind 9 Sätze von anisotropischen Kalibrierungsdaten die Minimalanzahl, die zum Schützen anisotropischer Fehlerkalibrierungsdaten an anderen Stellen notwendig ist, unter Verwendung einer biquadratischen Interpolation. In anderen Ausführungsformen können Sätze anisotropischer Fehlerkalibrierungsdaten für mehr oder weniger Stellen bereitgestellt werden, in Abhängigkeit von der Variationsbreite, die zwischen den verschiedenen Sätzen von Daten erwartet wird, und der gewünschten anisotropischen Fehlerkorrektur-Präzision. Eine bikubische Interpolation kann Sätze von anisotropischen Kalibrierungsdaten benötigen, die an 16 Stellen gesammelt wurden.
  • Wie in 7 gezeigt, sind die neun Sätze von anisotropischen Fehlerkalibrierungsdaten an den verschiedenen Stellen innerhalb des Gesichtsfelds 7 durch die Graphen 710 bis 790 dargestellt. Die Graphen 710, 730, 770 und 790 basieren auf anisotropischen Messungen an den vier Ecken des Gesichtsfelds, während die rechtwinkligen Graphen 720, 740, 760 und 780 auf anisotropischen Messungen an den Mittelteilen der Seiten des Gesichtsfelds basieren, und der rechtwinklige Graph 750 auf anisotropischen Messungen im Mittelpunkt des Gesichtsfelds basiert. Die bestimmten anisotropischen Messungen, die in 7 dargestellt sind, wurden unter Verwendung eines 100 x 100 (Quadrat) Autofokus-Werkzeugbereichs von Interesse gesammelt, welcher ungefähr wie gezeigt positioniert war. Es wird verstanden werden, dass die Graphen 710 bis 790 nur zu Illustrationszwecken vorgesehen sind, und symbolisch darstellen, wie die anisotropischen Fehlerkalibrierungsergebnisse an jenen Stellen innerhalb des Gesichtsfelds 700 sein können. Wie unten in Bezug auf 8A bis 8C detaillierter beschrieben werden wird, zeigt ein rechtwinkliger Abschnitt 795, dass für zusätzliche Stellen innerhalb des Gesichtsfelds 700 eine Interpolation zwischen benachbarten Sätzen von Fehlerkalibrierungsdaten zur Schätzung der anisotropischen Fehlerkalibrierungsdaten zum Korrigieren der Z-Höhenmessergebnisse für Astigmatismus- und statische optische Fehler an jeder Stelle in dem Gesichtsfeld verwendet werden kann.
  • Da in kleinen Nachbarschaften die Fehleroberfläche ungefähr „stückweise planar“ sein kann, ist die Verwendung einer bilinearen Interpolation für die Sätze von anisotropischen Fehlerkalibrierungsdaten in einigen Anwendungsfällen ausreichend, die zu den vier engsten Gesichtsfeldstellen gehören. Jedoch ist es in einigen Ausführungsformen für eine höhere Präzision wünschenswert, mehr als neun Nachschlagetabellen und eine biquadratische Interpolation der neun nächsten Sätze von anisotropischen Fehlerkalibrierungsdaten zu verwenden.
  • 8A bis 8C sind Diagramme, die verschiedene Interpolierungstechniken zeigen. In einer Ausführungsform wird eine bilineare Interpolation zur Kompensierung der Kalibrierungszielneigung/-wölbung/-senkung verwendet, und eine Laufzeit-biquadratische Interpolation wird in Bezug auf Fehlerkalibrierungs-Nachschlagetabellen verwendet, die in dem Gesichtsfeld gesammelt wurden, um eine Nachschlagetabelle für die gegenwärtige Autofokus-Bereich-von-Interesse-Position innerhalb des Gesichtsfelds zu schätzen.
  • 8A zeigt die Konzepte eines bilinearen Interpolationsschemas. Die vier Punkte A, B, C und D entsprechen Messstellen auf einem rechtwinkligen Netz in dem Gesichtsfeld. Die Bezeichnungen A, B, C und D dieser vier Punkte entsprechen in diesem Fall auch den zu interpolierenden Werten. In diesem bestimmten Beispiel werden die Werte als Z-Höhenmesswerte angesehen, aber dieselben Prinzipien gelten auch für jede Art von Werten. Der horizontale Abstand des rechtwinkligen Netzes ist W und der vertikale Abstand ist V. Die Abstände W und V müssen nicht identisch sein, d.h. das Netz muss nicht, kann aber, rechtwinklig sein. Es ist erwünscht, den interpolierten Wert (Z) an einem Punkt Z3 zu schätzen (wiederherzustellen), der in 8A mit dem Fragezeichen bezeichnet ist. Die Position des Punktes Z3 wird in Bezug auf den Punkt A ausgedrückt, welcher als der Ursprung des zeitweisen lokalen Koordinatensystems behandelt wird. Der Punkt Z3 weist einen horizontalen Abstand m und einen vertikalen Abstand n von einem Punkt A auf.
  • Das Verfahren der bilinearen Interpolation für die vier Punkte A, B, C und D besteht aus zwei Schritten. Der erste Schritt ist die Interpolation in der horizontalen Richtung unter Verwendung der Punktpaare (A, B) und (C, D) um zwei horizontal interpolierte Punkte Z1 und Z2 zu erhalten (siehe 8A). Der zweite Schritt ist die Interpolation in der vertikalen Richtung unter Verwendung des Paares interpolierter Punkte (Z1, Z2), die im vorherigen Schritt berechnet wurden, um den endgültigen interpolierten Wert Z3 zu erhalten. Alternativ kann das Verfahren mit dem Interpolieren der vertikalen Richtung beginnen und dann mit der horizontalen Richtung weitermachen. Das Ergebnis hängt nicht davon ab, welche Interpolationsrichtung zuerst betrachtet wird.
  • Wenn die zusätzlichen Verhältnisse r und s (siehe 8A) verwendet wurden, wobei r = m/W und s = n/V, können die Punkte Z1 und Z2 horizontal interpoliert werden unter Verwendung der grundliegenden linearen Abhängigkeiten (gewichtetes Mittel): Z1 = ( r 1 ) A + rB
    Figure DE102009046295B4_0001
    Z2 = ( r 1 ) C + rD
    Figure DE102009046295B4_0002
  • Nachdem Z1 und Z2 berechnet wurden, wird das endgültig gewünschte Ergebnis (Z-Wert) vertikal interpoliert unter Verwendung des Verhältnisses (gewichtetes Mittel): Z3 = ( 1 s ) Z1 + sZ2
    Figure DE102009046295B4_0003
  • Z3 ist daher ein Ergebnis der bilinearen Interpolation der vier Ausgangswerte (A, B, C und D) an der Stelle innerhalb des rechtwinkligen Netzes, die durch die Verhältnisse r und s bestimmt ist (ausgehend von dem Netzabstand und der Stelle des Punktes Z3 innerhalb des Netzes). Es wird geschätzt werden, dass dieses Interpolationsverfahren für jede Art von Werten verwendet werden kann, die mit der Stelle/dem Punkt A, B, C und D verbunden sind, z.B. anisotropische Messungen, isotropische Messungen, Referenz-Z-Höhenwerte, statische optische Fehlerwerte, anisotropische Fehlerwerte oder Astigmatismus-Fehlerwerte entsprechend derselben winkeligen Orientierung usw.
  • 8B zeigt die Konzepte eines biquadratischen Interpolationsschemas. Das Grundprinzip der biquadratischen Interpolation ist dem ähnlich, was in der bilinearen Interpolation von 8A verwendet wird, d.h. die Interpolation wird zuerst horizontal ausgeführt, und dann vertikal. Der einzige Unterschied ist, dass die Interpolation anstatt von Interpolationspunkten in geraden Linen mit Parabeln durchgeführt wird. Dies erfordert mehr Interpolationspunkte, d.h. Werte an drei Stellen sind für die Interpolation in jeder der Richtungen notwendig. So werden 9 anstatt von vier Punkten für die biquadratische Interpolation verwendet.
  • Wie in 8B gezeigt, entsprechen die neun Punkte A, B, C, D, E, F, G, H und K Messstellen in einem rechtwinkligen Netz in dem Gesichtsfeld. Die Namen dieser 9 Punkte stellen die zu interpolierenden Werte dar. In diesem besonderen Beispiel werden die Werte als Z-Höhenmesswerte angenommen. Der Name K wird anstelle von I lediglich zur Verbesserung der Lesbarkeit verwendet. Der horizontale Abstand des rechtwinkligen Netzes ist W und der vertikale Abstand ist V. Es ist erwünscht, den interpolierten Wert Z am Punkt Z4 zu berechnen (wiederherzustellen), der in 8B durch das Fragezeichen markiert ist. Die Position des Punktes Z4 wird im Verhältnis zum Punkt E ausgedrückt, welcher als der Ursprung in dem temporären lokalen Koordinatensystem behandelt wird. Die horizontale Koordinate des Punktes Z4 zum Punkt E ist m, und seine vertikale Koordinate in Bezug auf Punkt Eist n. Die Koordinaten (m, n) können positiv oder negativ sein, in Abhängigkeit von der relativen Position des Punkts Z4 und der in 8B gezeigten Richtung der Koordinatensystem-(x, y)-Achsen.
  • Das Verfahren der biquadratischen Interpolation der neun Punkte A, B, C, D, E, F, G, H und K besteht aus zwei Schritten. Der erste Schritt ist die Interpolation in der horizontalen Richtung für jeden Satz horizontal ausgerichteter Punkte (A, B, C), (D, E, F) und (G, H, K), um drei horizontal interpolierte Punkte (Z1, Z2, Z3) zu erhalten (siehe 8B). Der zweite Schritt ist die Interpolation in der vertikalen Richtung unter Verwendung der drei interpolierten Punkte (Z1, Z2, Z3), die im vorherigen Schritt berechnet wurden, um den endgültigen interpolierten Wert (Z4) zu erhalten. Alternativ kann das Verfahren mit dem Interpolieren in der vertikalen Richtung beginnen und dann die horizontale Interpolierung durchgeführt werden.
  • Um die Punkte Z1, Z2, Z3 und Z4 in 8B zu interpolieren, werden die Parameter von Parabeln berechnet, die durch diese Punkte verlaufen, was etwas komplexer als für die lineare Interpolation ist. Gleichungen zum Einpassen einer einzelnen Parabel in drei Punkte wird unten in Bezug auf 8C beschrieben, nach welcher die vollen biquadratischen Interpolationsgleichungen für 8B gezeigt sind.
  • 8C zeigt ein Segment einer Parabel, welche durch drei Punkte mit gegebenen Z (vertikale Koordinate) Koordinaten gleich ZI, ZII und ZIII verläuft. Die Gleichung der Parabel lautet f ( x ) = a x 2 + b x + c
    Figure DE102009046295B4_0004
    und f ( Δ x ) = Z I
    Figure DE102009046295B4_0005
    f ( 0 ) = Z I I
    Figure DE102009046295B4_0006
    f ( Δ x ) = Z I I I
    Figure DE102009046295B4_0007
    für welche die Parameter a, b und c der Parabel gemäß bekannten Verfahren berechnet werden können. Die Ergebnisse sind: c = Z I I
    Figure DE102009046295B4_0008
    b = Z I I I Z I 2 Δ x
    Figure DE102009046295B4_0009
    a = Z I + Z I I I 2 Z I I 2 ( Δ x ) 2
    Figure DE102009046295B4_0010
  • Daher kann die vollständige Gleichung der Parabel durch die in 8C gezeigten drei Punkte wie folgt geschrieben werden: f ( x ) Z I + Z I I I 2 Z I I 2 ( Δ x ) 2 x 2 + Z I I I Z I 2 Δ x x + Z I I
    Figure DE102009046295B4_0011
  • Unter Verwendung der Gleichung 11 kann die Z-Koordinate eines Punktes an einer beliebigen X-Stelle geschätzt (interpoliert) werden. Es wird geschätzt wer- den, dass dieses Interpolationsverfahren für jede Art von Werten in Verbindung mit den Stellen/Punkten A, B, C, D, E, F, G, H und K verwendet werden kann.
  • Kehren wir zu der biquadratischen Interpolation von 8B zurück durch Behandeln der Punkte B, E und H als Mittelpunkte der horizontalen Parabeln und durch Ersetzen von Δx in der Gleichung 11 durch den horizontalen Netzabstand W, der Werte Z1, Z2 und Z3 durch das entsprechende horizontale Punktetrio ((A, B, C), (D, E, F) oder (G, H, K)) und unter Verwendung der horizontalen Koordinate m des Punktes Z4 als die X-Variable in Bezug auf die zentralen Stellen der horizontalen Parabeln: Z 1 = A + C 2 B 2 W 2 m 2 + C A 2 W m + B
    Figure DE102009046295B4_0012
    Z 2 = D + F 2 E 2 W 2 m 2 + F D 2 W m + E
    Figure DE102009046295B4_0013
    Z 3 = G + K 2 H 2 W 2 m 2 + K G 2 W m + H
    Figure DE102009046295B4_0014
  • Durch den Schritt der biquadratischen Interpolation kann der Wert Z4 durch Einpassen einer vertikalen Parabel in die drei oben geschätzten (interpolierten) Punkte interpoliert werden. In diesem Fall werden die Werte Z1, Z2 und Z3 der Gleichung 11 durch Z1, Z2, Z3 ersetzt und Δx wird durch den vertikalen Netzabstand V ersetzt, und die X-Variable durch die vertikale Koordinate n des Punktes Z4 in Bezug auf die zentrale Stelle der vertikalen Parabel (Z2). Die endgültige Gleichung zum Berechnen von Z4 ist: Z 4 = Z 3 + Z 1 2 Z 2 2 V 2 m 2 + Z 1 Z 3 2 V n + Z 2
    Figure DE102009046295B4_0015
  • In einer Ausführungsform eines Fehlerkalibrierungsverfahrens gemäß dieser Erfindung kann das Kalibrierungsziel von 5 und die verschiedenen anisotropischen und isotropischen Messtechniken und Fehlerkalibrierungsdaten bestimmenden Technologien, die in Bezug auf 5 und 6 beschrieben sind, und eine oder mehrere der Interpolationstechnologien, die in Bezug auf 7 und 8 beschrieben sind, verwendet werden, um Fehlerkalibrierungsdaten bereit zu stellen, die zum Korrigieren von anisotropischen Fehlern oder Astigmatismus-Fehlerkomponenten und/oder statischen optischen Fehlerkomponenten einschließlich in Z-Höhenrohmessungen verwendet werden können, die beim Erfassen eines Arbeitsstücks einer gewünschten Stelle in dem Gesichtsfeld erhalten werden. Der zu Erfassungszwecken verwendete Wert ist dann die korrigierte Z-Höhenmessung, die durch Korrigieren der anisotropischen Fehler oder der Astigmatismus-Fehlerkomponenten und/oder der statischen optischen Fehlerkomponenten erhalten wurde. All die oben beschriebenen Fehlerkalibrierungsschritte können für jede Objektiv-Linse und Kraftrevolver-Positionskombination wiederholt werden, die durch ein maschinelles Sichtinspektionssystem verwendet werden (da sich die anisotropischen Fehler, Astigmatismus-Fehler und die statischen optischen Fehler zwischen verschiedenen Objektivlinsen und Kraftrevolver-Position unterscheiden).
  • Ein maschinelles Sichtinspektionssystem kann generell programmiert sein, um automatisch Schritt- und Wiederhol-anisotropische und isotropische Kalibrierungszielmessungen durchzuführen, und um all die benötigten Fehlerkalibrierungsdatenwerte zu bestimmen, z.B. gemäß den vorher beschriebenen Prinzipien. Die automatischen Abläufe können ein Bestimmen all der Fehlerkalibrierungsdatenwerte entsprechend einer Linsenkombination oder Vergrößerung einschließen, und dann ein automatisches Wechseln der Vergrößerung und ein Wiederholen der Fehlerkalibrierungsabläufe unter Verwendung einer unterschiedlichen Zielelementgruppe der geeigneten Größe für diese Vergrößerung.
  • 9A bis 9D zeigen die Bildung einer Kante (oder eines Gradienten)-Winkelhistogramms für eine ideal gestreifte Oberfläche, die in einem Fokusbereich von Interesse vorhanden ist. Wie unten detaillierter beschrieben werden wird, können Histogramme als Teil des Z-Höhenkorrekturverfahrens verwendet werden. Wie in 9A gezeigt, weist eine ideal gestreifte Oberfläche 900A einen nominellen Orientierungswinkel auf, wie unten mit Bezug auf 9B und 9D detaillierter beschrieben werden wird. Wie in 9B gezeigt, wird ein Histogramm gebildet durch Bestimmung der gegenwärtigen Kantenwinkel in Verbindung mit den verschiedenen gestreiften Abschnitten der Oberfläche 900A aus 9A. Die verschiedenen Kantenwinkel können durch bekannte Gradientenrichtungs-Analyseverfahren bestimmt werden. Die Gradientenrichtung, welche einfach um 90° relativ zu dem entsprechenden Kantenorientierungswinkel gedreht ist, kann anstatt des Kantenorientierungswinkels als Basis für ein Histogramm verwendet werden, wenn gewünscht. Die horizontale Achse kann entsprechend einem gewünschten Winkel „Schrittgröße“ bestimmt werden. Die vertikale Achse kann als eine normalisierte Auftrittsfrequenz für jeden winkeligen Schritt bestimmt werden. Das Histogramm 900B aus 9B zeigt, da die Kanten der gestreiften Abschnitte der Oberfläche relativ konsistent und parallel sind, dass das Histogramm die meisten Erscheinungen zeigt, die ungefähr im gleichen Orientierungswinkel mit nur geringer Abweichung auftreten.
  • 9C ist ein Diagramm 900C, welches die Verwendung eines triangulären Kernels in Anwendung für „Zwischen“-Winkel während der Bildung des Histogramms für die gestreifte Oberfläche 900A zeigt. Wie unten detaillierter beschrieben, kann dies zu einem Histogramm führen, welches präziser die Verteilung von Kanten- (oder Gradienten)-Winkeln darstellt. 9D zeigt das präzisere Histogramm, welches durch Verwendung des triangulären Kernels aus 9C gebildet ist. Das Histogramm aus 9D wird als präziser betrachtet, als das Histogramm aus 9B, welches den triangulären Kernel nicht verwendete, d.h. der höhere Wert der Bin 910D (die sechste Bin) in dem Histogramm von 9D verglichen mit der Bin 910B (die sechste Bin) von 9B stellt den gegenwärtigen nominellen Orientierungswinkel des Musters besser dar (welches tatsächlich „zwischen“ den Mittelpunkten der zwei Histogramm-Bins liegt).
  • 10A und 10B zeigen die Bildung eines Histogramms für eine texturierte Oberfläche. Wie in 10A gezeigt, schließt die texturierte Oberfläche 1000A, welche einem Fokusbereich von Interesse entsprechen kann, Texturmerkmale ein, die im Allgemeinen über einen relativ schmalen Bereich von Orientierungswinkeln verteilt sind, und schließt zusätzlich wenige Merkmale ein, die außerhalb des relativ schmalen Bereichs liegen. Wie in 10B gezeigt, zeigt das Diagramm 1000B für die texturierte Oberfläche 1000A, dass es eine Verteilung von Merkmalsorientierungswinkeln gibt, welche einen Peak in dem winkeligen Bereich der sechsten Bin des Histogramms erreichen, und sich dann zu einer niedrigeren normalisierten Frequenz für die Bins mit größeren winkeligen Werten für das Histogramm absenken. Wie unten detaillierter beschrieben werden wird, zeigt diese Verteilung von winkeligen Orientierungen einen Teil der Verwendung von Histogrammen, d.h. um geeignete Astigmatismus-Fehlerkorrekturen für verschiedene gerichtete oder anisotropische Oberflächen zu bestimmen ist es wünschenswert, die Astigmatismus-Fehlerkorrektur an die verschiedenen Richtungen der Merkmalskanten anzupassen, einschließlich in einem Fokusbereich von Interesse.
  • In einer Ausführungsform werden Histogramme wie jene in den 9D und 10B durch Berechnen von Gradientenvergrößerungen und Richtungen für alle Pixel in einem Autofokus-Werkzeugbereich von Interesse gebildet. Die Gradienten-Größenordnung ist hier als gleich dem absoluten Wert des Gradienten zu verstehen. In einer Ausführungsform sind die berechneten Richtungen senkrecht zu den Gradientenrichtungen, um sie konsistent mit den Kantenrichtungsdaten in einer Nachschlagetabelle, wie der in 6 zu gestalten. Die Pixel, für welche die Gradienten-Größenordnungen kleiner sind als ein bestimmter (niedriger) Rauschschwellenwert, können aus der Betrachtung in Ausführungsformen entfernt werden, in denen es wünschenswert ist, nur mit relativ „starken“ Kanten zu arbeiten, verglichen mit einem Bildrauschen oder Oberflächenabweichungen. Wenn das Bildrauschen beträchtlich ist, könnte der Bereich von Interesse zusätzlich mit einem räumlich kleinen Mittelungsfilter geglättet werden, vor der Gradienten-Größenordnungs- und -Richtungsberechnung. Das Histogramm H der Gradientenrichtung wird dann für all die verbleibenden Pixel erzeugt. Das Histogramm H wird dann normalisiert, so dass all seine Bins zu 1 addiert werden.
  • Es wird geschätzt werden, dass in einer Ausführungsform die Option des Auslassens der Niedriggradienten-Pixel oder des Glättens des Bereich-von-Interesse-Bilds vor dem Berechnen der Gradienten nicht kritisch ist, da zufällige (Rausch)-Gradientenrichtungen, die für Pixel mit relativ schwachen Gradienten erhalten werden, (am Wahrscheinlichsten aufgrund von Bildrauschen) eine gleichmäßige Verteilung bilden (alle Gradientenrichtungen) und daher all die Histogramm-Bins gleichmäßig beeinflussen, ohne seine Form oder den nominellen Wert zu ändern. Nichtsdestotrotz kann ein Herausfiltern der Pixel mit relativ geringen Gradienten-Größenordnungen in manchen Ausführungsformen das Leistungsverhalten des Algorithmus verbessern. In einer Ausführungsform können die Gradientenrichtungen z.B. unter Verwendung eines Sobel-Operators berechnet werden oder durch jedes andere Verfahren zur Bestimmung von Gradientenrichtungen über den Fokusbereich von Interesse.
  • In einer Ausführungsform zum Anpassen einer anisotropischen (oder Astigmatismus-) Fehlerkorrektur für eine bestimmte Oberfläche in dem Fokusbereich von Interesse mit einem Gradienten-Histogramm H für einen Fokusbereich von Interesse an einer Stelle in dem Gesichtsfeld, und einer Nachschlagetabelle L (ähnlich dem, was z.B. in 6 gezeigt ist) entsprechend jener Stelle in dem Gesichtsfeld einer gesamten oder angepassten isotropischen (oder Astigmatismus-) Fehlerkorrektur C, welche zum Korrigieren der Roh-Z-Position verwendet werden kann, die durch ein konventionelles Autofokus-Verfahren bestimmt wurde, berechnet werden als C = a = 0 N 1 H a L a
    Figure DE102009046295B4_0016
    wobei N die Anzahl der Bins in dem Histogramm ist (gleich der Anzahl von Eingängen in der Nachschlagetabelle L), Ha der Wert des a-ten Bins in dem Histogramm ist und La der anisotropische (oder Astigmatismus)-Fehlerkorrekturwert (positiv oder negativ) der an dem entsprechenden Orientierungswinkel oder dem Wert der Nachschlagetabelle L gespeichert ist.
  • Ein wichtiges Verhältnis ist: a = 0 N 1 H a = 1
    Figure DE102009046295B4_0017
    welches dem Normalisieren des Histogramms entspricht.
  • Intuitiv ist die angepasste anisotropische (oder Astigmatismus)-Fehlerkorrektur eine gewichtete Summe von anisotropischen (oder Astigmatismus)-Korrekturen entsprechend verschiedener Kantenorientierungswinkel, wobei die Gewichte proportional dem „gerichtete-Kante-Inhalt“ der Oberfläche innerhalb des AutofokusBereichs von Interesse sind. Daher werden die gerichteten Textureigenschaften der gemessenen Oberfläche (als das Gradientenrichtungs-Histogramm H gezeigt) verwendet, um die relativen Beiträge der anisotropischen (oder Astigmatismus)-Fehlerkorrekturen für verschiedene Kantenorientierungswinkel zu beeinflussen. Die obige Formel stellt ein Verfahren zur Bestimmung vernünftiger anisotropischer (oder Astigmatismus)-Fehlerkorrekturwerte für alle Arten von Oberflächen bereit, wie solche mit einer klar definierten gerichteten Struktur (z.B. ein „ideales“ Streifenmuster, wie das in den 3A und 3B gezeigte, oder ein texturiertes Muster, wie das in 3C gezeigte), ebenso wie isotropische Oberflächen mit keiner dominanten Gradientenrichtung (z.B. ein isotropisches Muster, wie das in 3D gezeigte). Es sollte geschätzt werden, dass eine Bestimmung eines Astigmatismus-Fehlerkorrekturwerts gemäß dieser Technologie und ein Addieren des statischen optischen Fehlerkorrekturwerts für dieselbe Stelle ein gesamtes Fehlerkorrekturergebnis erzeugt, welches zu einer Bestimmung des anisotropischen Fehlerkorrekturwerts entsprechend dieses Verfahrens für dieselbe Stelle äquivalent ist.
  • In einer weiteren Ausführungsform zum Anpassen einer anisotropischen (oder Astigmatismus)-Fehlerkorrektur für eine bestimmte Oberfläche in dem Fokusbereich von Interesse kann jeder Histogramm-Binwert, der vorher als beispielhaft bestimmt war, weiter eingestellt werden auf Grundlage der Gradientengrößenordnungen der Pixelverteilung in dem Bin. Eine Gradientengrößenordnung kann im Allgemeinen der Schärfe oder „Stärke“ einer Kante entsprechen. In einer Ausführungsform wird ein Histogramm-Bin durch 1 inkrementiert (Exponent von 0,0, angewandt auf den absoluten Wert des Gradienten) für jeden Pixel mit einem Gradientenwinkel innerhalb des Bereichs der Bin. In einer weiteren Ausführungsform wird eine Histogramm-Bin durch die Quadratwurzel des absoluten Werts des Gradienten inkrementiert (Exponent von 0,5, angewandt auf den absoluten Wert des Gradienten) für jeden Pixel mit einem Gradientenwinkel innerhalb des Bereichs des Bins. In noch einer weiteren Ausführungsform wird eine Histogramm-Bin durch den absoluten Wert des Gradienten inkrementiert (Exponent von 1,0 auf den absoluten Wert des Gradienten angewandt) jedes Pixels mit einem Gradientenwinkel innerhalb des Bereichs der Bin. Ein Inkrementieren der Bin durch den absoluten Wert des Gradienten verstärkt die stärkeren Kanten, welche am Wahrscheinlichsten den stärksten Einfluss auf den Autofokus-Algorithmus aufweisen (Kontrastberechnung). Aufgrund der Tatsache, dass der Autofokus-Bereich von Interesse eine 2D-Struktur ist, und das Gradientenwinkel-Histogramm ein 1D-Feld ist, ist der Einfluss eines einzelnen Pixels auf eine Kontrast-artige Fokusmetrik innerhalb eines Fokusbereichs von Interesse kleiner als sein Einfluss auf das Gradientenwinkel-Histogramm. Dies kann zu einer Überkorrektur führen, wenn nur eine kleine Anzahl von Hochgradienten-Pixel innerhalb des Bereichs von Interesse vorhanden ist. Daher ist es in einigen Ausführungsformen oder Anwendungsfällen wünschenswert, die Histogramm-Bins durch eine Teilpotenz des absoluten Werts des Gradienten für die Pixel in jeder Bin zu inkrementieren. In einer besonderen Implementierung wird ein Exponent von 0,5 verwendet, was zu einer Inkrementierung der Histogramm-Bins durch die Quadratwurzel der absoluten Werte der Gradienten führt, was tatsächlich wünschenswerte Ergebnisse erzeugt.
  • In der vorangegangenen Diskussion der Histogramm-Bestimmung wurde ein Histogramm durch Berechnen der Gradienten-Größenordnungen und -Richtungen für alle Pixel in einem Autofokus-Werkzeugbereich von Interesse gebildet. Jedoch kann ein Histogramm in einer anderen Ausführungsform durch Berechnen der Gradienten-Größenordnungen und -Richtungen für ein Unterbeispiel von Pixeln berechnet werden, welche relativ gleichmäßig über einen Fokusbereich von Interesse verteilt sind.
  • Die vorher beschriebenen Verfahren der Fehlerkalibrierung und -korrektur werden allgemein beschrieben als angewandt auf Z-Höhenmessungen, die auf Grundlage von Oberflächen-Fokusabläufen bestimmt wurden. Jedoch sind „Kantenfo-kus“-Verfahren oder Werkzeuge ebenso üblicherweise in maschinellen Sichtinspektionssystemen verfügbar. Die Handhabung von anisotropischen oder Astigmatismus-Fehlern, die während Kantenfokusabläufen auftreten, kann auf ähnliche Weise gehandhabt werden, wie vorher beschrieben wurde, wobei der Unterschied darin liegt, jede Instanz eines Oberflächenfokus-Ablaufs durch den Kantenfokus-Ablauf zu ersetzen, sowohl während der Kalibrierungsabläufe, als auch während der Arbeitsstück-Sichtabläufe. Sobald die Fehlerkalibrierungsdaten bestimmt und gespeichert sind, verringert das Verfahren zur Bestimmung der Gradientenrichtungen innerhalb des Bereichs von Interesse das Erzeugen der Histogramme und das Berechnen der gesamten, angepassten Z-Korrektur die Geschwindigkeit eines Autofokus-Ablaufs in verschiedenen Ausführungsformen nicht signifikant. Das Verfahren ist nicht berechnungsintensiv und der Autofokus-Bereich von Interesse ist üblicherweise nur ein kleiner Teil des gesamten Gesichtsfelds. In einer exemplarischen Ausführungsform, legt die beobachtete Verlangsamung des Autofokus in einer tatsächlichen Implementierung im Bereich von 1 % bis 3 % und hängt von der ausgewählten Autofokus-Geschwindigkeit ab (größere Verlangsamung für höhere Geschwindigkeit, geringere Präzision, Autofokus-Abläufe) und von dem Autofokus-Bereich von Interesse (größere Verlangsamung für größere Bereiche von Interesse).
  • Die vorliegende Erfindung ist gedacht zur Bereitstellung eines korrigierten Z-Höhenmesswerts, welcher unabhängig von den Arbeitsstück-Oberflächeneigenschaften und ihrem Orientierungswinkel ist, und ebenso unabhängig von der Messstelle in dem Gesichtsfeld. In einigen Ausführungsformen können die korrigierten Z-Höhenmessungen von jenen abstammen, die der tatsächlichen oder theoretischen besten Fokusposition entsprechen würden. Aus diesem Grund ist es im Allgemeinen wünschenswert, die korrigierten Z-Höhenmesswerte als Sichtmesswerte auszugeben, und nicht tatsächlich die verschiedenen Fehlerkorrekturen physikalisch in einem Autofokus-Ablauf einzufügen, oder das maschinelle Sichtinspektionssystem zu einem korrigierten Z-Höhenwert zu bewegen. Beispielsweise besteht das erste Ziel eines Autofokus-Ablaufs darin, regelmäßig nur ein scharf fokussiertes Bild bereitzustellen, welches eine gute Basis für X- und Y-Messungen bereitstellt. Ein Einstellen von physikalischen Positionierungs- oder Bewegungsabläufen gemäß den verschiedenen Fehlerkorrekturen würde demnach für diesen Zweck kontraproduktiv sein. In einigen Ausführungsformen kann die Z-Höhenkorrektur für die Ausgabewerte manuell oder automatisch ein- oder ausgeschaltet werden. Das Ein- und Ausschalten der Z-Korrektur könnte automatisch in Abhängigkeit von der Art des Autofokus-Werkzeugs betätigt werden, welches durch den Benutzer betrieben wird. Einige kommerziell verfügbaren maschinellen Sichtinspektionssysteme schließen ein „Autofokus-Werkzeug mit Punkt“ ein, welches ein „Z-Korrektur ein“ benutzen, da die zurückkehrenden oder Ausgabe-Messwerte (X, Y, Z)-Koordinaten sind, die für die dimensionalen Messungen oder Ähnliches zu verwenden sind. Im Gegensatz dazu könnte ein „Autofokus-Werkzeug“ ohne Punkt eine „Z-Korrektur aus“ verwenden, da das erste Ziel dieses Werkzeugs der Erhalt von scharfen Bildern für X- und Y-Messungen sein kann (keine Messkoordinaten werden zurückgegeben).
  • 11 bis 13 sind Diagramme, die unkorrigierte und korrigierte Z-Höhenmessergebnisse für verschiedene Oberflächen zeigen. Die 11A, 12A und 13A sind jeweils Diagramme von Beispieloberflächen, einschließlich einer ideal gestreiften Oberfläche 1100A, einer gerichtet texturierten Oberfläche 1200A und einer rau texturierten Oberfläche 1300A. 11B, 12B und 13B sind Graphen 1100B, 1200B und 1300B jeweils von unkorrigierten und korrigierten Z-Höhenmessergebnissen für jede der jeweiligen Oberflächen für verschiedene Orientierungswinkel an einer bestimmten Stelle in dem Gesichtsfeld. In jenem Fall sind die vertikalen Achseneinheiten Millimeter und die Horizontalachse zeigt den Orientierungswinkel in Grad. Wie in 11B gezeigt, stellt für die gestreifte Oberfläche 1100A aus 11A die korrigierten Z-Höhenmesswerte eine Z-Höhenvariation von nur 0,7 Mikrometern für den gesamten Bereich von Orientierungswinkeln bereit, verglichen mit der ursprünglichen 4,9 Mikrometer Z-Höhenvariation der unkorrigierten Messergebnisse. Wie in 12B gezeigt, zeigen die korrigierten Messergebnisse für die texturierte Oberfläche 1200A aus 12A eine Z-Höhenvariation von nur 0,9 Mikrometer über den gesamten Bereich von Orientierungswinkeln verglichen mit einer 4,0 Mikrometer Z-Höhenvariation für die unkorrigierten Messergebnisse. Wie in 13B gezeigt, stellen für die raue texturierte Oberfläche 1300A aus 13A die korrigierten Messergebnisse eine Z-Höhenvariation von nur 1,4 Mikrometer über den gesamten Bereich von Orientierungswinkeln bereit, verglichen mit einer ursprünglichen 3,9 Mikrometer Z-Höhenvariation für die unkorrigierten Messergebnisse. Demnach hat in diesen besonderen Beispielen das anisotropische Fehlerkorrekturverfahren (oder äquivalent das Astigmatismus- und das statische optische Fehlerkorrekturverfahren) der vorliegenden Erfindung für verschiedene anisotropische Oberflächen die Z-Höhen Astigmatismus-Fehlerkomponente um ungefähr 40 % bis 80 % reduziert.
  • Alle in den in 11B bis 13B gezeigten Datensätzen eingeschlossene statische optische Fehler tragen nicht zu den Variationen jedes Datensatzes bei, da die Messstelle in dem Gesichtsfeld dieselbe über den gesamten Satz ist. Das heißt, ein statischer optischer Fehler, wenn vorhanden, trägt gleichmäßig zu jeder Messung bei. Nichtsdestotrotz betrugen Messvariationen in anderen Tests, die statische optische Fehlerkomponenten orientieren, an verschiedenen Stellen im Gesichtsfeld aufgrund unkorrigierter statischer optischer Fehler im Bereich von wenigen Mikrometern oder mehr und wurden durch die Fehlerkalibrierung und Korrekturtechnologien, wie vorher beschrieben, sehr deutlich reduziert.
  • 14 ist ein Flussdiagramm, welches eine exemplarische Ablaufroutine 1500 zum Verwenden gespeicherter anisotropischer Fehlernachschlagetabellen zeigt, die gemäß vorher in Bezug auf 5 und anderswo hier beschriebener Verfahren zur Bestimmung eines anisotropischen Fehlerkorrekturwerts für eine Z-Höhenmessung bestimmt wurden, die auf einer Werkstückoberfläche durchgeführt wurde, welche sich in einem Autofokus-Bereich von Interesse befand. Verschiedene Aspekte dieses Verfahrens können besser verstanden werden durch Bezugnahme auf die Beschreibung verschiedener anisotropischer Fehlerkorrekturwert-Bestimmungsverfahren, die oben in Bezug auf 7 bis 10 beschrieben wurden. Wie in 14 gezeigt, wird an einem Block 1510 ein konventioneller Autofokus-Ablauf gemäß einem Teilprogramm durchgeführt, und die resultierende Z-Höhenrohmessung (z.B. der beste Fokus, die beste Kontrastposition) wird als spätere Referenz gespeichert. An einem Block 1520 wird für eine gegenwärtige Autofokus-Bereich-von-Interesse-Mittelposition (z.B. XC, YC) eine geschätzte anisotropische Fehlernachschlagetabelle für diese Stelle durch Interpolieren der gespeicherten Nachschlagetabellen bestimmt, die für Gesichtsfeldstellen am Nächsten des gegenwärtigen Autofokusbereichs von Interesse gelten. Verschiedene anwendbare Interpolationstechniken können verwendet werden, wie bilineare, biquadratische oder bikubische Interpolation. Es wird bemerkt, dass eine bilineare Interpolation zumindest vier gespeicherte Nachschlagetabellen benötigt, eine biquadratische Interpolation neun Nachschlagetabellen und eine bikubische Interpolation 16 Nachschlagetabellen benötigt.
  • An einem Block 1530 werden die winkeligen Inhaltseigenschaften, d.h. die Orientierungswinkelinhalts-Eigenschaften des Oberflächenbilds in dem Autofokus-Bereich von Interesse, bestimmt oder gekennzeichnet und eine geschätzte anisotropische Fehlerquelle wird angepasst an die bestimmte Oberfläche in dem Autofokus-Bereich von Interesse aufgrund der winkeligen Inhaltseigenschaften und der anisotropischen Fehlernachschlagetabelle bestimmt, die bei dem Block 1520 geschätzt wird. In einer Ausführungsform können die winkeligen Inhaltseigenschaften in einem winkeligen Inhalts-Histogramm ähnlich dem vorher Beschriebenen verkörpert sein, und die angepasste anisotropische Fehlerkorrektur wird wie vorher in Bezug auf die Gleichungen 16 und 17 beschrieben bestimmt. An einem Block 1540 wird die berechnete (positive oder negative) Korrektur von der Z-Höhenmessung subtrahiert, die am Block 1510 gespeichert ist, und der korrigierte Z-Höhenwert kann als korrigierte Z-Höhenmessung berichtet werden.
  • 15 ist ein Flussdiagramm, welches einen exemplarischen Ablauf 1600 beschreibt, welcher verwendet werden kann, um die Abläufe des Blocks 1530 in 14 durchzuführen. An einem Block 1610 wird für jedes Bildpixel in dem gegenwärtigen Autofokus-Bereich von Interesse die Gradienten-Größenordnung und der Gradienten-Richtungswinkel bestimmt. In einer Ausführungsform kann ein Sobel-Operator oder ein ähnlicher bekannter Operator zur Bestimmung der Gradienten-Größenordnung und des Gradientenwinkels verwendet werden. An eine Block 1620 ist in einer ersten Ausführungsform ein Gradientenwinkel-Histogramm unter Verwendung der absoluten Werte der bestimmten Gradienten gestaltet. In einer weiteren Ausführungsform ist jedes Bin des Gradientenrichtungswinkel-Histogramms weiterhin für jedes Pixel in dem Bin durch den absoluten Wert des Gradienten des Pixels inkrementiert, der durch eine vorher festgelegte Potenz (Exponentenwert) zwischen 0 und 1 angehoben wurde. In einer Modifizierung der zweiten Ausführungsform bleiben die Pixel vor der Inkrementierung unbeachtet, welche eine absolute Gradienten-Größenordnung geringer als ein bestimmter Schwellwert T aufweisen. In noch einer weiteren Ausführungsform kann der Absolutwert des Gradienten für jeden Pixel auf eine vorher festgelegte Potenz (Exponentenwert) angehoben werden, und ein Histogramm kann auf Grundlage dieser Werte kompiliert werden, um den Effekt eines einzelnen „gerichteten“ Pixels auf die Z-Korrektur dem Effekt dieses Pixels auf die Autofokus-Kontrastberechnung weiter anzunähern. Die vorher bestimmte Potenz kann durch Analyse oder durch ein Experiment bestimmt werden. Typischerweise fällt sie in den Bereich von null bis zwei. In einer Ausführungsform kann sie auf 0.5 festgelegt sein. In jeder dieser Ausführungsformen wird die Anzahl von Histogramm-Bins der Anzahl von Orientierungswinkeln angeglichen, die für die am Block 1520 bestimmte anisotropische Fehlerkalibrierungs-Nachschlagetabelle verwendet werden, und ihre Mittelwerte können diesen Orientierungswinkeln entsprechen. Ein Dreieck oder ein anderer Kernel (tatsächlich ein Kernel-Schätzer) kann verwendet werden während die Histogramm-Bins kompiliert und inkrementiert werden, um ein glatteres Histogramm zu erhalten und um unerwünschte Effekte aufgrund der Bin-Diskretisierung zu reduzieren.
  • An einem Block 1630 wird das am Block 1620 bestimmte Histogramm normalisiert, so dass die Summe seiner Bin-Werte 1 ist. An einem Block 1640 wird eine anisotropische Fehlerkorrektur, die an die bestimmte Oberfläche in dem Autofokus-Bereich von Interesse angepasst ist, durch Multiplizieren von jedem Orientierungswinkel-Eingang von der anisotropischen Fehlernachschlagetabelle bestimmt, welche am Block 1520 in 14 durch den Bin-Wert entsprechend dem Orientierungswinkel entsprechend dem normalisierten Histogramm bestimmt werden, welcher am Block 1630 bestimmt wird, und die resultierenden Produkte summiert.
  • 16 ist ein Diagramm eines Steuersystem-Abschnitts 120 und eines Sichtkomponenten-Abschnitts 200 eines maschinellen Sichtinspektionssystems 100', ähnlich 2 und schließt ebenfalls einen deutlicher gezeigten Autofokus-Werkzeugabschnitt 143f ein, welcher verschiedene Autofokus-Werkzeuge, ein Nahe-Peak-Ablauf-Steuerelement und verwandte Elemente einschließt. In einer Ausführungsform können eines oder mehrere der Autofokus-Werkzeuge 143fb1, 143fb2, 143fc usw. aus 16 dem Autofokus-Werkzeug 145 aus 2 entsprechen, wie unten detaillierter beschrieben werden wird. Es wird geschätzt werden, dass die verbleibenden Komponenten aus 16 ähnlich den Komponenten aus 2 sind, und analog verstanden werden können, soweit es unten nicht anders bezeichnet ist.
  • Wie in 16 gezeigt, schließt in vielen Ausführungsformen gemäß dieser Erfindung der Video-Werkzeugabschnitt 143 den Autofokus-Werkzeugabschnitt 143f ein, welcher verschiedene Abläufe und Merkmale bereitstellt, die mit bereich- und Mehrpunkt-Autofokus-Abläufen verwandt sind wie unten detaillierter beschrieben werden wird. Bestimmte Abschnitte des Autofokus-Werkzeugabschnitts 143f für die Mehrbereich-Autofokus-Abläufe sind detaillierter in der US-Patentanmeldung US 2008/0019683 A1 beschrieben, welche am 18. Juli 2006 angemeldet wurde, welche in ihrer Gesamtheit hier durch Bezug eingefügt wird. In einer Ausführungsform kann der Autofokus-Werkzeugabschnitt 143f eine Autofokus-Modussteuerung 143fa, Video-Werkzeuge wie ein Mehrbereich-Autofokus-Werkzeug 143fb1, ein Mehrpunkt-Autofokus-Werkzeug 143fb2 und/oder ein individuelles Autofokus-Werkzeug 143fc und ein Nahe-Peak-Ablauf-Steuerelement 143fd einschließen. Kurz gesagt führt das individuelle Autofokus-Werkzeug 143fc Abläufe aus, die verbunden sind zur Bereitstellung einer einzelnen Z-Höhenmessung über einen gesamten oder Primärbereich von Interesse des Werkzeugs (z.B. ein ausgedehnter Bereich von Interesse, welcher durch eine Video-Werkzeugbereich-von-Interesse-Abgrenzung in einer grafischen Benutzerschnittstelle abgegrenzt ist). Das individuelle Autofokus-Werkzeug 143c kann ebenso die Kamera auto-fokussieren und die Z-Höhe der Kameraposition entsprechend dem besten Fokus berichten. Das Mehrbereich-Autofokus-Werkzeug 143fb1 kann gleiche Z-Höhenmessabläufe durchführen, verbunden mit der Bereitstellung mehrerer jeweiliger Z-Höhenmessungen für mehrere jeweilige Primärbereiche von Interesse, die durch das Mehrbereich-Autofokus-Werkzeug bezeichnet sind (z.B. wie in der '030 Anmeldung beschrieben). Das Mehrpunkt-Autofokus-Werkzeug 143fb2 kann ähnliche Z-Höhenmessabläufe durchführen, die verbunden sind mit der Bereitstellung von mehreren jeweiligen Z-Höhenmessungen für mehrere jeweilige Sekundärbereiche oder Unterbereiche von Interesse, welche mit jeweiligen Messpunkten verbunden sein können, die sich innerhalb eines Primärbereichs von Interesse befinden, welcher durch das Mehrpunkt-Autofokus-Werkzeug bezeichnet wird.
  • Die Autofokus-Modussteuerung 143fa führt Abläufe aus, wie hierin beschrieben, um zu bestimmen und/oder zu steuern, welches der Autofokus-Werkzeuge (z.B. das Mehrbereich-Autofokus-Werkzeug 143fb1, das Mehrpunkt-Autofokus-Werkzeug 143fb2 oder das individuelle Autofokus-Werkzeug 143fc) und/oder Werkzeugmodi aktiviert ist. Das Nahe-Peak-Ablauf-Steuerelement 143fd ist im Allgemeinen dazu gedacht, Bilder zu identifizieren, die ausreichend fokussiert sind, so dass sie für Z-Höhenkorrekturabläufe gemäß dieser Erfindung verwendet werden können, und auch um bestimmte bedingte Datenspeicher- und/oder - verarbeitungsabläufe zu regeln oder bei deren Regelung zu helfen, in Abhängigkeit davon, ob eine Fokus-Charakterisierung für einen gegenwärtigen Bereich oder Unterbereich von Interesse, der für ein gegenwärtiges „Bild“ des Bildstapels analysiert wurde, besser ist als die vorher bestimmte Fokus-Charakterisierung für diesen Bereich oder Unterbereich von Interesse. In einigen Ausführungsformen kann das Nahe-Peak-Ablauf-Steuerelement 143fd ausgeprägte Schaltungen und/oder Abläufe umfassen, welche die verschiedenen Funktionen bereitstellen, die, wie hier beschrieben, mit dem Nahe-Peak-Ablauf-Steuerelement verbunden sind. Jedoch sollte geschätzt werden, dass in anderen Ausführungsformen jene Nahe-Peak-Abläufe und Steuerfunktionen alternativ durch Elemente bereitgestellt werden können, welche mit anderen Teilen des Steuersystemabschnitts 120 zusammenfallen oder davon nicht unterscheidbar sind.
  • In einigen Ausführungsformen kann das Nahe-Peak-Ablauf-Steuerelement 143fd zur Reduzierung oder Minimierung von Speichererfordernissen und bestimmten Datenspeicher- und/oder Verarbeitungsabläufen verwendet werden, um effizient korrigierte Z-Höhenmessungen für eine große Anzahl von Messpositionen bereitzustellen. Im Allgemeinen wird die beste Fokus-Charakterisierung an einer Fokusposition auftreten, die nahe dem Peak einer Fokuskurve liegt. Der Name des „Nahe-Peak-Ablauf-Steuerelements 143fd“ zeigt die Bedeutung, die dem Speichern und/oder der Analyse von Daten nahezu oder entsprechend dem Peak einer Fokuskurve in verschiedenen Ausführungsformen beigemessen wird. Die allgemeine Bestimmung und Verwendung von Fokuskurven in Bezug auf Autofokus- und Höhenmessabläufe sind allgemein im Stand der Technik bekannt, z.B. wie im US-Patent US 7 030 351 B2 detailliert beschrieben, welches hier vollständig durch Bezug eingefügt wird.
  • Es sollte geschätzt werden, dass alternative Gestaltungen für den Autofokus-Werkzeug-Abschnitt 143f möglich sind. Beispielsweise können das Mehrbereich-Autofokus-Werkzeug 143fb1, das Mehrpunkt-Autofokus-Werkzeug 143fb2 und das individuelle Autofokus-Werkzeug 143fc Modus-Steuerfunktionen einschließen, so dass ein separater Modus-Steuerabschnitt 143fa ausgelassen werden kann. Alternativ kann der Autofokus-Werkzeugabschnitt 143f eines oder mehrere allgemeine Autofokus-Werkzeugelemente bereitstellen und der Modus-Steuerabschnitt 143fa kann Abläufe bereitstellen, welche die Benutzerschnittstelle und die Wechselwirkungen der allgemeinen Autofokus-Werkzeugelemente in einer Weise steuern, die davon abhängt, ob ein Mehrbereich-Autofokus-Werkzeugverhalten, ein Mehrpunkt-Autofokus-Werkzeugverhalten oder ein individuelles Autofokus-Werkzeugverhalten gewünscht ist. In solch einem Fall können die Schaltungen, Abläufe oder Anwendungen, welche die Abläufe des Mehrbereich-Autofokus-Werkzeugs 143fb1, des Mehrpunkt-Autofokus-Werkzeugs 143fb2 und des individuellen Autofokus-Werkzeugs 143fc bereitstellen, vermischt oder ununterscheidbar sein. Allgemeiner kann diese Erfindung in jeder heute bekannten oder später entwickelten Form inkrementiert werden, die in Zusammenarbeit mit dem maschinellen Sichtinspektionssystem 100 wirksam ist, um die hier offenbarten Merkmale in Bezug auf die verschiedenen Autofokus-Z-Höhenmessabläufe bereitzustellen.
  • Für den Betrieb des Mehrbereich-Autofokus-Werkzeugs 143fb1 stellt der Mehrbereich-Autofokus-Modus mehrere jeweilige Z-Höhenmessungen bereit, die mehreren jeweiligen ersten Bereichen von Interesse (ROI) des Werkzeugs entsprechen. Während einem Lernmodus des Ablaufs kann einer neuer Mehrbereichsatz primärer Bereiche von Interesse definiert und/oder angezeigt werden, wenn der Benutzer den Mehrbereich-Autofokus-Werkzeugmodus des Ablaufs als den gegenwärtige Ablaufmodus auswählt (oder damit fortfährt), und einen ersten Teilbereich von Interesse des neuen Mehrbereichsatzes definiert. Der Benutzer kann dann einen zweiten Teilbereich von Interesse des Satzes definieren, während der gegenwärtige Ablaufmodus der Mehrbereich-Autofokus-Modus ist. Der Benutzer kann den Mehrbereich-Autofokus-Werkzeugmodus unterbrechen und einen Ablauf ausführen, der mit diesem Modus nicht verwandt ist. Der Benutzer kann danach den Mehrbereich-Autofokus-Werkzeugmodus wieder aufnehmen und zusätzliche Teile des Satzes definieren. Im Allgemeinen kann der Satz von Teilen, der einem bestimmten Fall des Mehrbereich-Autofokus-Werkzeugs 143fb1 entspricht, vollständig in einem einzelnen Bild oder Gesichtsfeld definiert und dargestellt werden (z.B. durch jeweilige Bereich-von-Interesse-Abgrenzungen in einer grafischen Benutzerschnittstelle eines Mehrbereich-Autofokus-Werkzeugs fb1). Demnach können all die jeweiligen Z-Höhenmessungen in Verbindung mit einem bestimmten Fall des Mehrbereich-Autofokus-Werkzeugs 143fb1 auf Grundlage eines einzelnen, globalen Bilderstapels bestimmt werden. Das Mehrbereich-Autofokus-Werkzeug 143fb1 kann am besten für eine schnellere Messung mehrerer diskreter Oberflächenbereiche in einem Gesichtsfeld geeignet sein, wobei jedes davon dazu neigt, in einer ausgeprägten Z-Höhe zu sein.
  • Für den Betrieb des Mehrpunkt-Autofokus-Werkzeugs 143fb2 bietet der Mehrpunkt-Autofokus-Modus mehrere jeweilige Z-Höhenmessungen an, die mehreren jeweiligen Sekundärbereichen oder Unterbereichen von Interesse entsprechen, welche mit den Messpunkten verbunden sein können, die sich in einem Primärbereich von Interesse befinden, welcher durch das Mehrpunkt-Autofokus-Werkzeug bezeichnet ist (z.B. durch eine „allgemeine“ Bereich-von-Interesse-Abgrenzung in einer grafischen Benutzerschnittstelle des Mehrpunkt-Autofokus-Werkzeugs 143fb2). Beispielsweise teilen in einigen Ausführungsformen die Abläufe des Mehrpunkt-Autofokus-Werkzeugs 143fb2 automatisch oder halbautomatisch einen bezeichneten Bereich von Interesse in ein Netz aus Z-Höhenmesspunkten, wobei jeder Messpunkt durch einen automatisch definierten Unterbereich von Interesse umgeben ist, der mit jenem Punkt verbunden ist. In verschiedenen Ausführungsformen werden die Unterbereiche von Interesse (auch als Sekundärbereiche von Interesse bezeichnet) dem Benutzer nicht angezeigt. Auf jeden Fall basiert die Z-Höhenmessung, die für einen bestimmten Messpunkt bestimmt ist, auf dem Unterbereich von Interesse, der mit jenem Punkt verbunden ist (z.B. ein 5x5 Pixel Unterbereich mit Zentrum an dem Messpunkt). In einigen Ausführungsformen kann die Größe eines Unterbereichs, welcher mit einem bestimmten Messpunkt verbunden ist, von der Dichte des umgebenden Messpunktnetzes abhängen (z.B. ein Netzabstand von 50 Pixeln, 10 Pixeln oder weniger usw.). In einigen Ausführungsformen kann ein Benutzer die Messpunkt-Netzbeabstandung in Pixel oder X und Y Messeinheiten oder implizit als eine Anzahl zurückzugebender Punkte innerhalb des Primärbereichs von Interesse auswählen.
  • Es wird geschätzt werden, dass während hier sowohl Sekundär- oder Unterbereiche von Interesse und allgemeine, gesamte oder Primärbereiche von Interesse als „Bereiche von Interesse“ oder „ROIs“ bezeichnet werden können, so dass im Allgemeinen die jeweiligen Unterbereiche von Interesse mit den jeweiligen Z-Höhenmesspunkten verbunden sind, solange nicht explizit oder implizit anders gekennzeichnet, wenn das Mehrpunkt-Autofokus-Werkzeug die „Bereiche von Interesse“ oder „ROIs“ diskutiert, auf die sich bezogen wird. Während eines Lernmodus des Ablaufs kann ein neuer Mehrpunkt-globaler Bereich von Interesse definiert und/oder angezeigt werden, wenn der Benutzer den Mehrpunkt-Autofokus-Werkzeug-Ablaufmodus als den gegenwärtigen Ablaufmodus auswählt, und eine Begrenzung des Mehrpunkt-Autofokus-Werkzeug Primärbereichs von Interesse zieht oder definiert. Eine Anzahl (z.B. „n × m“) von Z-Höhenmesspunkten und/oder Unterbereichen von Interesse wird dann innerhalb des Primärbereichs von Interesse entweder durch den Benutzer oder aufgrund automatischer Anfangs-Werte definiert. Im Allgemeinen kann der Primärbereich von Interesse entsprechend einem bestimmten Fall des Mehrpunkt-Autofokuswerkzeugs 143fb2 vollständig durch ein einzelnes Bild oder Gesichtsfeld definiert und dargestellt werden (z.B. durch eine jeweilige Bereich-von-Interesse-Abgrenzung in einer grafischen Benutzerschnittstelle des Mehrpunkt-Autofokus-Werkzeugs 143fb2). Daher können all die jeweiligen Z-Höhenmessungen verbunden mit den jeweiligen Messpunkten und/oder Unterbereichen eines bestimmten Falls des Mehrpunkt-Autofokus-Werkzeugs 143fb2 auf Grundlage eines einzelnen Bildstapels bestimmt werden. Das Mehrpunkt-Autofokus-Werkzeug 143fb2 kann am besten für eine schnelle Messung einer hohen Anzahl von Messpunkten geeignet sein, welche die Konturen oder die 3D-Form eines Oberflächenbereichs innerhalb eines Gesichtsfelds definieren.
  • Die „Autofokus“-Abläufe, die zur Bestimmung jeweiliger Z-Höhen verbunden mit jeweiligen Bereichen-von-Interesse eines Mehrbereich-Werkzeugs oder entsprechender Unterbereiche von Interesse eines Mehrpunkt-Werkzeugs verwendet werden, können ein Analysieren eines Satzes (oder „Stapels“) von Bildern über einen Z-Höhensuchbereich einschließen, der geschätzt oder definiert wird, um eine Vielzahl oder alle der erwarteten Z-Höhenwerten entsprechend dem Mehrbereich- oder Mehrpunkt-Werkzeug einzuschließen. Der Stapel von Bildern kann während einer kontinuierlichen Bewegung über den Z-Höhensuchbereich erfasst werden. Der Suchbereich kann auf einen Standardbereich gesetzt werden oder durch den Benutzer definiert werden oder auf Grundlage von Abläufen während eines Lernmodus definiert werden (z.B. auf Grundlage von Z-Höhenpositionen, die während des Definierens eines Mehrbereich- oder Mehrpunkt-Satzes verwendet werden, oder durch eine oder mehrere automatische Autofokus-Abläufe oder Ähnlichem). Ein Standard-Suchbereich kann auch aufgrund von zumindest einer gegenwärtigen optischen Gestaltung bestimmt sein.
  • Wie vorher bezeichnet, kann in einigen Ausführungsformen das Nahe-Peak-Ablauf-Steuerelement 143fd verwendet werden, um Bilder zu identifizieren, die ausreichend fokussiert sind, so dass sie für Z-Höhenkorrekturabläufe gemäß dieser Erfindung verwendet werden können, und in einigen Ausführungsformen zum Regeln bestimmter bedingter Datenspeicher- und/oder Verarbeitungsabläufe beitragen, mit dem zugrunde liegenden Gedanken, die Speicheranforderungen und/oder bestimmte Datenspeicher- und/oder Verarbeitungsabläufe zu reduzieren, um korrigierte Z-Höhenmessungen für eine große Anzahl von Messpositionen effektiv bereitzustellen. Das Nahe-Peak-Ablauf-Steuerelement 143fd kann im Zusammenhang mit einem Mehrbereich-Autofokus-Modus und/oder -Werkzeug arbeiten, oder im Zusammenhang mit einem Mehrpunkt-Autofokus-Modus und/oder -Werkzeug. In einigen Ausführungsformen kann der Ablauf des Nahe-Peak-Ablauf-Steuerelements 143fd darauf basieren, ob eine Fokus-Kennzeichnung (z.B. eine Bildschärfe-Metrik) für einen gegenwärtigen Bereich oder Unterbereich von Interesse für ein „gegenwärtiges Bild“ eines Bildstapels besser ist, als eine vorher bestimmte Fokus-Kennzeichnung für jeden Bereich oder Unterbereich von Interesse in einem anderen Bild des Bildstapels. Eine bessere „gegenwärtige“ Fokuscharakterisierung bezeichnet, dass das entsprechende „gegenwärtige“ Bild einer Höhe entspricht, die näher an dem besten Fokus-Peak einer Fokuskurve ist, verglichen mit vorher analysierten Bildern, wie unten detaillierter beschrieben.
  • Wie vorher erklärt, können verschiedene Schwierigkeiten in Bezug auf das Analysieren der Z-Höhe mehrerer Bereiche und/oder Unterbereiche von Interesse mit einem hohen Durchsatz (z.B. für Mehrbereich- oder Mehrpunkt-Autofokus-Werkzeuge) auftreten, und insbesondere wenn Speicher- und/oder Verarbeitungsabläufe zum Korrigieren jeder Z-Höhe für anisotropische Fehler gemäß dieser Erfindung benötigt werden. Beispielsweise sollte geschätzt werden, dass es keine einzelne „im-Fokus“-Position oder „beste-Fokus“-Z-Höhe mehr gibt, die universell auf jeden Bereich oder Unterbereich von Interesse angewandt werden kann, wenn mehrere Bereiche von Interesse analysiert werden, da jeder der mehreren Bereiche und/oder Unterbereiche von Interesse verschiedene Höhen aufweisen kann. Weiterhin kann es unpraktisch sein, die Arbeitsstückstufe oder Kamera wiederholt zu bewegen, um einzelne Bilderstapel und/oder einzelne endgültige „am besten fokussierte“ Autofokusbilder für jeden Bereich und/oder Unterbereich von Interesse bereitzustellen, da das Bereitstellen der nötigen mechanischen Bewegung im Allgemeinen der zeitaufwändigste (Durchsatz beschränkende) Aspekt einer Autofokus-Höhenbestimmung ist. Weiterhin kann in einigen Ausführungsformen oder Anwendungsfällen die Menge an Speicher- und/oder Hardware-Abläufen unpraktisch oder zumindest unerwünscht langsam werden, die zum Analysieren mehrerer Bereiche und/oder Unterbereiche von Interesse benötigt werden, in Bezug auf vernünftige Durchsatzerwartungen und Echtzeit-Sichtabläufe. Um mechanische Bewegungsflaschenhälse in verschiedenen Ausführungsformen zu vermeiden, kann es daher vorteilhaft sein, einen einzelnen globalen Bilderstapel als Basis für ein gesamtes Mehrbereich- oder Mehrunterbereich-Höhenbestimmungsverfahren zu erfassen und zu verwenden, wie unten detaillierter beschrieben werden wird. Zusätzlich kann es in verschiedenen Ausführungsformen vorteilhaft sein, die hier beschriebenen Orientierungswinkel-Analyseabläufe (in Bezug auf jeweilige Z-Höhenkorrekturen) auf jeweilige Bildabschnitte zurückzuführen, die innerhalb eines globalen Bilderstapels verfügbar sind, eher als auf Abschnitte zusätzlicher „bestmöglicher“ Bilder, die separat an der bestmöglichen Fokusposition erfasst wurden (z.B. separate Bilder, die an der bestimmten Z-Höhe oder Fokuskurven-Peakposition erfasst wurden).
  • In Bezug auf die Bestimmung jeweiliger Z-Höhenkorrekturen aufgrund jeweiliger Bildabschnitte, die innerhalb des globalen Bilderstapels verfügbar sind, sollte geschätzt werden, dass, während ein bestmögliches Fokusbild (z.B. eines, was an einem Fokuskurven-Peak erfasst wurde) die präziseste und am besten wiederholbare Bestimmung der Orientierungswinkel-Inhaltskennzeichnung erlaubt, die als Basis für die Z-Höhenkorrektur verwendet wurde, in einigen Ausführungsformen oder Anwendungsfällen die Orientierungswinkel-Inhaltscharakteristik mit ausreichender Genauigkeit aufgrund jedes ausreichend fokussierten Bilds bestimmt oder geschätzt werden kann. Wie vorher erklärt, kann das Nahe-Peak-Ablauf-Steuerelement 143fd (z.B. ein Schaltkreis oder eine Routine) solche ausreichend fokussierten Bilder identifizieren oder betreffende Abläufe regeln, z.B. wie unten beschrieben. In einigen Ausführungsformen kann das Nahe-Peak-Ablauf-Steuerelement 143fd mit der Bestimmung der jeweiligen Orientierungswinkel-Inhaltscharakteristik oder Z-Höhenkorrektur verbunden sein.
  • In einigen Ausführungsformen kann ein geeigneter, ausreichend fokussierter Bildabschnitt durch das Nahe-Peak-Ablauf-Steuerelement 143fd gesichert sein, welches aus dem globalen Bilderstapel einen Bildabschnitt aussucht, der eine Fokusmetrik aufweist, welche einen Schwellenwert überschreitet, der bekannterweise einem relativ guten Fokus entspricht (z.B. wie durch ein Experiment oder eine Analyse herausgefunden). In weiteren Ausführungsformen kann ein ausreichend fokussierter Bildabschnitt durch Auswahl aus dem globalen Bilderstapels des Bildabschnitts gesichert werden, welches die höchste Fokusmetrik aufweist, die für jenen Abschnitt im Vergleich zu anderen Bildern in dem Bilderstapel verfügbar ist. In anderen Ausführungsformen kann ein ausreichend fokussierter Bildabschnitt durch Auswahl des Bildabschnitts gesichert werden, der in einem Bild des Bilderstapels eingeschlossen ist, der ausreichend nahe oder am nächsten zu einer unkorrigierten besten Fokus Z-Höhe ist, die für jenen Abschnitt bestimmt wurde. Diese alternativen Ausführungsformen werden unten detaillierter beschrieben werden. Auf jeden Fall wird geschätzt werden, dass jedes der vorher erwähnten Verfahren eine winkelige Inhaltscharakteristik auf Grundlage eines Bereichs oder Unterbereichs von Interesse eines Bilds entsprechend einer Z-Höhe bereitstellen kann, die nahe der besten fokussierten unkorrigierten Z-Höhe für jenen Bereich von Interesse ist, welche eine ausreichend präzise Z-Höhenkorrektur in verschiedenen Ausführungsformen oder Anwendungsfällen gemäß dieser Erfindung bereitstellen kann.
  • In einigen Ausführungsformen bestimmt das Nahe-Peak-Ablauf-Steuerelement 143fd, ob die gegenwärtige Fokus-Charakterisierung besser ist als eine vorher bestimmte „am besten laufende“ Fokus-Charakterisierung (z.B. einen Fokus-metrik-Wert aufweist, der größer ist ein vorher bestimmter „am besten laufender“ Fokusmetrik-Wert), dann wird sie als die neue „am besten laufende“ Fokus-Charakterisierung für jeden Bereich oder Unterbereich von Interesse gespeichert oder anderweitig identifiziert. Nachdem der gesamte globale Bildstapel für einen Bereich oder Unterbereich von Interesse analysiert wurde, kann in einigen Ausführungsformen die endgültige am besten laufende Fokusmetrik zur Identifizierung des am besten fokussierten Bilds in dem Bilderstapel verwendet werden (für den entsprechenden Bereich oder Unterbereich von Interesse), welche dann zur Bestimmung der entsprechenden Orientierungswinkel-Inhaltscharakteristik verwendet werden kann, die zur Bestimmung der jeweiligen Z-Höhenkorrektur verwendet wird. Wenn eine neue „am besten laufende“ Fokus-Charakterisierung entsprechend einem bestimmten Bereich oder Unterbereich in dem bestimmten Bild des Stapels bestimmt ist, kann dieser Zustand in weiteren Ausführungsformen zur Folge haben, dass ein Nahe-Peak-Ablauf-Steuerelement 143fd den entsprechenden Abschnitt des bestimmten Bilds für eine mögliche spätere Verwendung zur Z-Höhenkorrektur speichert. In einigen Ausführungsformen können die gespeicherten neuen „am besten laufenden“ Daten ähnlich früher gespeicherte am besten laufende Daten ersetzen, welche dann gelöscht werden können, um Speicher zu sparen, wie unten in Bezug auf 18A beschrieben wird.
  • Es wird geschätzt werden, dass in solchen Ausführungsformen die Stufe nicht in eine „am besten fokussierte“ Position zurückbewegt werden muss, um ein Bild zu erfassen, das ausreichend zur Charakterisierung des winkeligen Inhalts eines Bereichs oder Unterbereichs von Interesse fokussiert ist. Für einen Bereich oder Unterbereich von Interesse kann der winkelige Inhalt eher charakterisiert und die Z-Höhenkorrektur eher bestimmt werden auf Grundlage der entsprechenden gespeicherten „am besten laufenden“ Fokus-Charakterisierung und/oder der Bilddaten.
  • In einigen Ausführungsformen können weitere Speichereinsparungen erreicht werden durch Speichern einer geringeren Datenmenge im Zusammenhang mit den abgeleiteten am besten laufenden Inhalts-Charakterisierungen (z.B. winkelige Inhalts-Histrogramme oder Gewichtungskoeffizienten usw.) oder sogar die resultierenden Z-Höhenkorrekturen für einen Bereich oder Unterbereich von Interesse, eher als das Speichern der am besten laufenden Bildabschnitte selbst. Einige exemplarische Ausführungsformen, die dieses Prinzip verwenden, werden unten in Bezug auf die 18B und 18C beschrieben.
  • Es wird geschätzt werden, dass jedes der bedingten Ablaufverfahren, die oben beschrieben wurden, im Vergleich zu Verfahren des Stands der Technik zu signifikant reduzierten Speicher- und Gedächtnisanforderungen führen können, da die Bilder während der Autofokus-Z-Höhen-bestimmenden Abläufe erfasst und verarbeitet werden. Das bedeutet, die Bilddaten (z.B. Bereich- oder Unterbereichdaten in verschiedenen Bildern in einem Bildstapel) können zur erstmöglichen vorteilhaften Zeit unterdrückt oder gelöscht werden (z.B. nachfolgend während der Analyse), eher als sie erfasst und behalten werden bis der gesamte Bildstapel vollständig analysiert wurde. In einer bestimmten beispielhaften Ausführungsform kann die Gesamtlänge für nicht überlappende Bereiche oder Unterbereiche von Interesse gleichzeitig gespeicherter Informationen gering genug sein, um nicht die Größe eines einzelnen Bilds zu überschreiten. In der Praxis können diese Betrachtungen besonders wichtig sein aufgrund bestimmter existierender praktischer Hardware-/Softwarebeschränkungen (z.B. Anwendungsspeicherort-Beschränkungen, die durch 32-Bit Ablaufsysteme erzwungen werden). Andere Alternativen zum Überwinden dieser Beschränkungen können technisch und praktisch unerfreulich sein (z.B. Nicht-Standard Hardware- oder Software-Ansätze benötigen). Zusätzlich können die oben beschriebenen bedingten Ablaufverfahren die Verarbeitungszeit signifikant reduzieren und den Durchsatz für Z-Höhen bestimmende Abläufe signifikant erhöhen, insbesondere wenn eine anisotropische Fehlerkorrektur für Z-Höhen in Mehrpunkt-Autofokus-Werkzeugen mit einer hohen Anzahl von Messpunkten oder Unterbereichen bereitgestellt werden. Weiterhin passen die Verfahren in gewissen Ausführungsformen gut zu gegenwärtigen Autofokus-Werkzeugen (z.B. Mehrbereich- oder Mehrpunkt-Autofokus-Werkzeuge in bestimmten existierenden Produkten). Beispielsweise ist das Zufügen von Abläufen verwandt mit dem Erhalt eines laufenden Maximums für eine Fokus-Metrik und das Verwalten des bedingten Speichers verwandter Bilddaten oder winkeliger Inhaltscharakteristiken oder Histogrammen zusammen mit all den notwendigen Verarbeitungsfunktionen kompatibel mit existierenden Software-Zielen oder Autofokus-Routinen in bestimmten oben beschriebenen QVPAK® Sichtinspektionssystemen. Besondere exemplarische Umsetzungen der Verfahren der vorliegenden Erfindung, die vorteilhaft für eine effektive Bestimmung der korrigierten Z-Höhenmessungen für eine hohe Anzahl von Messpositionen ist, wird unten detaillierter in Bezug auf 17 und 18A bis 18C beschrieben werden.
  • 17 ist ein Flussdiagramm, welches einen allgemeinen beispielhaften Ablauf 1700 zum Definieren eines Satzes von Bereichen von Interesse ROI(k) zeigt, welcher zu messen ist, und korrigierte Z-Höhenmessungen in Übereinstimmung mit der vorliegenden Erfindung erzeugt. An einem Block 1705 wird ein Bereich-von-Interesse-(ROI)-Satz definiert oder ausgewählt, umfassend Bereiche von Interesse ROI(k) für k = 1 bis P, für welche die Z-Höhen zu bestimmen sind. Es wird geschätzt werden, dass, wie oben beschrieben, die Bereiche von Interesse ROI(k) Primärbereiche von Interesse umfassen können (z.B. im Fall des Mehrbereich-Autofokus-Werkzeugs 143fb1) oder Sekundär- oder Unterbereiche von Interesse umfassen können (z.B. im Fall des Mehrpunkt-Autofokus-Werkzeugs 143fb2). An einem Block 1710 wird ein Bildstapelsatz von Bildern definiert, umfassend die Bilder (i) für i = 1 bis N. Das Gesichtsfeld des Bildstapelsatzes kann den Satz von Bereichen von Interesse ROI(k) umgeben, und der Z-Bereich des Bildstapelsatzes umspannt im Allgemeinen die Z-Höhen, die für den Satz von Bereichen von Interesse ROI(k) erwartet werden. An einem Block 1715 wird ein Bildstapelsatz erfasst, umfassend die Teilbilder(i), die an entsprechenden bekannten Z-
  • Höhen Z(i) erfasst wurden. Eine Z-Höhe Z(i) ist die Z-Höhe, die durch das maschinelle Sichtinspektionssystem an der Erfassungszeit des Bilds (i) bezeichnet wird und der fokussierten Gegenstandsebenenstelle des Bilds (i) unabhängig davon entspricht, ob sich eine Arbeitsstückoberfläche tatsächlich in der fokussierten Gegenstandsebene befindet oder nicht.
  • In einigen Ausführungsformen kann es vorteilhaft sein, wenn die Abläufe der anderen Blöcke teilweise parallel zu dem Block 1715 durchgeführt werden, d.h. die Bildanalyse-Abläufe können zu jeder passenden Zeit beginnen nachdem einer oder mehrere Bereiche oder Unterbereiche von einem oder mehreren Ausgangsbildern erfasst wurden. An einem Block 1720 beginnt eine Verarbeitungsschleife für die verarbeitenden Abläufe, die auf die primären/nächsten Bereichen von Interesse ROI(k) für k = 1 bis P bezogen sind.
  • An einem Block 1730 wird eine Fokusmetrik (k, i) für die gegenwärtigen Bereiche von Interesse ROI(k) für eine Vielzahl (z.B. die meisten oder alle) der Bilder in dem Bilderstapelsatz bestimmt, und jede derartige Fokusmetrik (k, i) und jedes entsprechende Z(i) wird zu einem Fokus-Peak bestimmenden Datensatz (z.B. ein Fokuskurven-Datensatz) hinzugefügt. Wie vorher beschrieben, kann die Fokus-Metrik in einer Ausführungsform eine oder mehrere quantitative Fokusmetriken für den Bereich von Interesse ROI(k) in dem Bild (i) umfassen, z.B. eine Bildschärfe oder Kontrastmetrik.
  • An einem Block 1750 wird eine am besten fokussierte unkorrigierte Z-Höhe für den gegenwärtigen Bereich von Interesse ROI(k) bestimmt (d.h. für eine Oberfläche oder einen Oberflächenabschnitt in dem gegenwärtigen Bereich von Interesse ROI(k)) auf Grundlage des Fokus-Peak bestimmenden Datensatzes, der sich im Block 1730 befindet. Beispielsweise kann die unkorrigierte Z-Höhe dem Peak einer Kurvenpassung an dem Fokus-Peak bestimmenden Datensatz entsprechen. An einem Block 1760 wird eine winkelige Inhaltscharakteristik für den Bereich von Interesse ROI(k) für ein Bild (i) entsprechend einer Z-Höhe nahe der am besten fokussierten unkorrigierten Z-Höhe für den Bereich von Interesse ROI(k) bestimmt (z.B. ausreichend nahe der am besten fokussierten unkorrigierten Z-Höhe, so dass es ein ausreichend fokussiertes Bild ergibt, wie vorher erklärt). Mehrere besondere Ausführungsformen von Abläufen, die zur Identifizierung eines Bildes(i) entsprechend einer Z-Höhe nahe der am besten fokussierten unkorrigierten Z-Höhe für den Bereich von Interesse ROI(k) geeignet sind, werden unten in Bezug auf die 18A bis 18C beschrieben. Wie oben beschrieben, kann in einer Ausführungsform die winkelige Inhaltscharakteristik auf Grundlage eines Gradienten (Kantenwinkel-Histogramms) bestimmt werden. An einem Block 1765 wird ein Z-Höhenkorrekturwert für den Bereich von Interesse ROI(k) bestimmt auf Grundlage der winkeligen Inhaltscharakteristik, die für den Bereich von Interesse ROI(k) am Block 1760 bestimmt wurde. Wie oben beschrieben, kann die Bestimmung des Z-Höhenkorrekturwerts in bestimmten Ausführungsformen eine Gewichtung gespeicherter richtungsabhängiger Kalibrierungsdaten auf Grundlage der winkeligen Inhaltscharakteristik einschließen. An einem Block 1770 wird eine korrigierte Z-Höhe für den Bereich von Interesse ROI(k) bestimmt (d.h. für eine Oberfläche oder einen Oberflächeabschnitt in dem gegenwärtigen Bereich von Interesse ROI(k) auf Grundlage des Z-Höhenkorrekturwerts, der an dem Block 1765 feststeht und der am besten fokussierten unkorrigierten Z-Höhe für den Bereich von Interesse ROI(k), der am Block 1750 feststeht. An einem Block 1780 wird eine Bestimmung durchgeführt, ob die gegenwärtigen Bereiche von Interesse ROI(k) die letzten „zu verarbeitenden“ ROI(k) sind. Wenn zusätzliche Bereiche von Interesse ROI(k) zu verarbeiten sind, kehrt der Ablauf an den Anfang der Bereich-von-Interesse-ROI(k)-Verarbeitungsschleife am Block 1720 zurück, andernfalls endet der Ablauf. Es wird geschätzt werden, dass die in 17 gezeigte Ausführungsform nicht beschränkend ist. Beispielsweise wird geschätzt werden, dass es in verschiedenen anderen Ausführungsformen möglich ist, verschiedene Abläufe in Verbindung mit den Blöcken 1730 bis 1765 in einer anderen Reihenfolge durchzuführen als gezeigt. Auf jeden Fall wird geschätzt werden, dass der Ablauf 1700 (ebenso wie die Abläufe 1700' bis 1700''', unten beschrieben) eine winkelige Inhaltscharakteristik und eine resultierende Z-
  • Höhenkorrektur bereitstellen, die auf einem ausreichend fokussierten Nahe-Peak-Bild basiert (d.h. einem Bild nahe einer Peak-Fokus-Höhe) aus dem Bildstapel, eher als eines oder mehrere zusätzliche Bilder zu erfordern, die an einer besten Fokus-Höhe erfasst werden müssen. Zusätzlich können solche Abläufe und/oder die eingeschlossenen Abläufe die Ablaufszeit deutlich reduzieren, welche auf die Bewegung und die Bilderfassung in verschiedenen Ausführungsformen gemäß dieser Erfindung bezogen ist. Auch die Speicheranforderungen für den Bildspeicher können reduziert werden.
  • Die 18A bis 18C sind Flussdiagramme, die besondere Ausführungsformen von exemplarischen Abläufen zeigen, welche analog zu bestimmten Blöcken oder Abläufen aus 17 sind. Es wird geschätzt werden, dass bestimmte Blöcke und Abläufe der 18A bis 18C gleich oder analog zu bestimmten Blöcken und Abläufen aus 17 und/oder analog zueinander sind. Ähnliche oder analoge Blöcke oder Abläufe sind identisch oder ähnlich in den 17 und den 18A bis 18C bezeichnet (z.B. 1760' ist ähnlich 1760). In solchen Fällen müssen einige solcher Blöcke nicht unten im Besonderen beschrieben werden, und können durch Analogie verstanden werden, außer falls anders beschrieben.
  • 18A ist ein Flussdiagramm, welches eine besondere Ausführungsform eines exemplarischen Ablaufs 1700' zum Definieren eines Satzes von Bereichen von Interesse ROI(k) zeigt, die zum Messen sind, und korrigierte Z-Höhenmessungen in Übereinstimmung mit der vorliegenden Erfindung erzeugen. Der Ablauf 1700' schließt explizit bedingte Abläufe ein, die effektiv Nahe-Peak-Daten verarbeiten und speichern, wie unten detaillierter beschrieben. Der Ablauf 1700' beginnt und die Blöcke 1705 und 1710 können gleich oder identisch zu jenen sein, die in Bezug auf 17 beschrieben wurden. An einem Block 1715' werden die Abläufe begonnen um einen Bildstapelsatz zu erfassen, welcher Teilbilder (i) umfasst, die an entsprechenden bekannten Z-Höhen Z (i) erfasst wurden. An einem Block 1717 kann eine Verarbeitungsschleife für Bildanalyseabläufe auf dem ersten/nächsten Bild (i) zu jeder passenden Zeit beginnen, nachdem eines oder mehrere der Bereiche oder Unterbereiche des ersten/nächsten Bildes (i) erfasst wurden. Demnach werden in dem Ablauf 1700' verschiedene Abläufe (z.B. Abläufe innerhalb des Schleifenablaufs 1720' bis 1743) parallel zu dem Erfassen des Bildstapelsatzes ausgeführt, um Ablaufzeit und/oder Speichern zu sparen. An einem Block 1720' beginnt eine Verarbeitungsschleife zum Verarbeiten von Abläufen, die sich auf die ersten/nächsten Bereiche von Interesse ROI(k) für k = 1 bis P in dem gegenwärtigen Bild (i) beziehen.
  • An einem Block 1730' wird eine Fokusmetrik (k, i) für die gegenwärtigen Bereiche von Interesse ROI(k) in dem gegenwärtigen Bild(i) bestimmt, und jede solche Fokusmetrik (k, i) und entsprechendes Z(i) wird zu einem Fokus-Peak bestimmenden Datensatz hinzugefügt (z.B. in den Fokus-Kurven-Datensatz). An einem Entscheidungsblock 1740 wird eine Bestimmung durchgeführt, ob die gegenwärtige Fokusmetrik (k, i) besser als eine früher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist. Die Standard am besten laufende Fokusmetrik (k) kann in einigen Ausführungsformen ein Schwellenwert für die Fokusmetrik sein, die bezeichnend für ein Bild ist, welches ausreichend fokussiert ist, um zur Bestimmung der winkeligen Inhaltscharakteristiken für eine Z-Höhenkorrektur verwendet zu werden. In einigen Ausführungsformen kann der Standard-Level für einen bestimmten Bereich oder Unterbereich von Interesse für eine bestimmte Arbeitsstück-Art bestimmt oder festgestellt werden, während Lernmodus-Abläufen und in einem darauf bezogenen Teilprogramm oder Ähnlichem gespeichert werden. Wenn in einem Entscheidungsblock 1740 bestimmt ist, dass die gegenwärtige Fokusmetrik (k, i) nicht besser als die vorher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, dann fährt der Ablauf zu einem Block 1741 fort, wo der gegenwärtige Bereich-von-Interesse-ROI(k)-Abschnitt des gegenwärtigen Bildes (i) aus dem Speicher gelöscht wird. Es wird geschätzt werden, dass, wenn die gegenwärtige Fokusmetrik (k, i) nicht besser als eine früher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, sie dann nicht als „Nahe-Peak“-Daten verstanden wird, die für eine Z-Höhenkorrektur verwendbar ist. Dementsprechend muss sie nicht weiter analysiert werden, und sie kann überschrieben oder gelöscht werden. Wenn in dem Entscheidungsblock 1740 bestimmt ist, dass die gegenwärtige Fokusmetrik (k, i) besser als eine vorher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, dann fährt der Ablauf zu einem Block 1742 fort, wo der Bereich-von-Interesse-ROI(k)-Abschnitt des gegenwärtigen Bildes (i) als die neue am besten laufende winkelige Inhaltsquelle (k) gespeichert wird. Das endgültige am besten laufende winkelige Inhalts-quellenbild (k) (z.B. nach Abschließen des Verfahrensschleifen-Endes am Block 1744) kann am Block 1760' wie unten beschrieben verwendet werden. Entweder vom Block 1742 oder 1741 kann der Ablauf an einem Entscheidungsblock 1743 weitergehen, wo eine Entscheidung getroffen wird, ob es noch mehr Bereiche von Interesse ROI(k) gibt, welche für das gegenwärtige Bild (i) zu verarbeiten sind. Wenn dem so ist, kehrt der Ablauf zum Block 1720' zurück, anderweitig fährt der Ablauf am Entscheidungsblock 1744 fort. Am Entscheidungsblock 1744 wird eine Bestimmung vorgenommen, ob es noch ein weiteres zu verarbeitendes Bild (i) gibt. Wenn dem so ist, kehrt der Ablauf zum Block 1730' zurück, anderweitig fährt der Ablauf am Block 1750 fort.
  • Am Block 1750 wird für jedes ROI(k) (z.B. für k = 1 bis P) die am besten fokussierte und nicht korrigierte Z-Höhe für jenen ROI(k) bestimmt auf Grundlage des Fokus-Peak bestimmenden Datensatzes, der am Block 1730' für jenen ROI(k) festgelegt wurde. Der Ablauf geht dann am Block 1760' weiter, wo für jeden ROI(k) eine winkelige Inhaltscharakteristik für jenen ROI(k) bestimmt wird auf Grundlage des letzten am besten laufenden winkeligen Inhaltsquellenbilds (k), welches am Block 1742 für jenen ROI(k) erfasst wurde. Der Ablauf geht dann am Block 1765 weiter, wo für jeden ROI(k) ein Z-Höhenkorrekturwert für jenen ROI(k) auf Grundlage der winkeligen Inhaltscharakteristik bestimmt wird, die am Block 1760' für jenen ROI(k) festgelegt wurde. Der Ablauf geht dann am Block 1770 weiter, wo für jeden ROI(k) eine korrigierte Z-Höhe für jenen Bereich von Interesse ROI(k) bestimmt wird aufgrund des Z-Höhenkorrekturwerts, der am Block 1765 erfasst wurde, und aufgrund der am besten fokussierten unkorrigierten Z-Höhe, die am Block 1750 erfasst wurde, für jenen Bereich von Interesse ROI(k). Sobald die korrigierte Z-Höhe für jeden gewünschten ROI(k) am Block 1770 bestimmt wurde, endet der Ablauf.
  • Es kann geschätzt werden, dass in einigen Ausführungsformen die oben beschriebenen Abläufe in Bezug auf die Blöcke 1740 bis 1742 Abschnitte eines Nahe-Peak-Ablauf-Steuerelements einschließen oder umfassen kann (z.B. das Nahe-Peak-Ablauf-Steuerelement 143fd, wie im Vorangegangenen beschrieben). In einigen Ausführungsformen können die Abläufe in Bezug auf die Blöcke 1760, 1760' und/oder 1765 Abschnitte eines Nahe-Peak-Ablauf-Steuerelements umfassen. Die grundlegenden Unterschiede zwischen den Ausführungsformen der 18A bis 18C sind im Allgemeinen in diesen Blöcken eingeschlossen, wie unten beschrieben.
  • 18B ist ein Flussdiagramm, welches eine besondere Ausführungsform eines exemplarischen Ablaufs 1700" zum Definieren eines Satzes von Bereichen von Interesse ROI(k) zeigt, die zu messen sind, und korrigierte Z-Höhenmessungen in Übereinstimmung mit der vorliegenden Erfindung erzeugt. Ähnlich zu dem Ablauf 1700' schließt der Ablauf 1700" explizit bedingte Abläufe ein, die effektiv Nahe-Peak-Daten verarbeiten und speichern, wie unten detaillierter beschrieben. Der Ablauf 1702' beginnt und die Blöcke 1705 bis 1741 können gleich oder identisch zu jenen sein, die vorher in Bezug auf 18A beschrieben wurden. Wenn an dem Entscheidungsblock 1740 bestimmt wird, dass die gegenwärtige Fokus-metrik (k, i) nicht besser als die vorher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, dann fährt der Ablauf an einem Block 1741 fort, wie unten beschrieben. Wenn an einem Entscheidungsblock 1740 bestimmt wird, dass die gegenwärtige Fokusmetrik (k, i) besser als eine vorher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, dann fährt der Ablauf an einem Block 1742' fort, wo eine winkelige Inhaltscharakteristik für jenen ROI(k) bestimmt wird auf Grundlage des Bereich-von-Interesse-ROI(k)-Abschnitts des gegenwärtigen Bilds (i). Am Block 1742' wird die bestimmte winkelige Inhaltscharakteristik ebenso wie die neue am besten laufende winkelige Inhaltscharakteristik für jeden ROI(k) gespeichert. Die endgültige am besten laufende winkelige Inhaltscharakteristik für jeden ROI(k) (z.B. nach Abschließen des Verfahrensschleifen-Endes am Block 1744) kann am Block 1765 verwendet werden, wie unten beschrieben. Vom Block 1742' fährt der Ablauf am Block 1741 fort. An dem Block 1741, je nachdem, ob vom Block 1740 oder vom Block 1742' kommend, kann der gegenwärtige Bereich-von-Interesse-ROI(k)-Abschnitt des gegenwärtigen Bilds (i) gelöscht werden. Die Ankunft am Block 1741 vom Block 1740 bezeichnet, dass die gegenwärtige Fokusmetrik (k, i) nicht besser als eine früher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, so dass der gegenwärtige Bereich-von-Interesse-ROI(k)-Abschnitt des gegenwärtigen Bilds (i) nicht als „Nahe-Peak-Daten“ qualifiziert ist, die für eine Z-Höhenkorrektur verwendet werden können, und daher gelöscht werden kann, um Speicher zu sparen. Eine Ankunft am Block 1741 vom Block 1742' bezeichnet, dass die relevante winkelige Inhaltscharakteristik, die für die Z-Höhenkorrektur notwendig ist, schon bestimmt und für den gegenwärtigen Bereich von Interesse ROI(k) des gegenwärtigen Bilds (i) gespeichert wurde. Daher werden die Bilddaten vom ROI(k) nicht mehr für das gegenwärtige Bild (i) benötigt und können gelöscht werden, um Speicher zu sparen.
  • Vom Block 1741 aus geht der Ablauf an einem Entscheidungsblock 1743 weiter. Die Blöcke 1743 bis 1750 können gleich oder identisch zu jenen sein, die vorher in Bezug auf 18A beschrieben wurden. Vom Block 1750 kann der Ablauf am Block 1765 weitergehen, wo für jeden ROI(k) ein Z-Höhenkorrekturwert für jenen ROI(k) bestimmt wird auf Grundlage der letzten am Besten laufenden winkeligen Inhaltscharakteristik, die am Block 1742' für jenen ROI(k) erfasst wurde. Der Ablauf geht dann am Block 1770 weiter, welcher gleich oder identisch zu jenem vorher beschriebenen in Bezug auf 18A sein kann, nach welchem der Ablauf endet.
  • 18C ist ein Flussdiagramm, welches eine besondere Ausführungsform eines beispielhaften Ablaufs 1700''' zum Definieren eines Satzes von Bereichen von Interesse ROI(k) zeigt, die zu messen sind, und korrigierte Z-Höhenmessungen in Übereinstimmung mit der vorliegenden Erfindung erzeugt. Ähnlich zu der Routine 1700" schließt die Routine 1700''' explizit bedingte Abläufe ein, die effektiv Nahe-Peak-Daten verarbeiten und speichern, wie unten detaillierter beschrieben. Der Ablauf 1700''' beginnt und die Blöcke 1705 bis 1741 können gleich oder identisch zu jenen sein, die im Vorangegangenen in Bezug auf 18B beschrieben wurden. Wenn an dem Entscheidungsblock 1740 bestimmt wird, dass die gegenwärtige Fokusmetrik (k, i) nicht besser als die vorher gespeicherte oder die Standard am besten laufende Fokusmetrik (k) ist, fährt der Ablauf an einem Block 1741 fort, wie unten beschrieben. Wenn an einem Entscheidungsblock 1740 bestimmt wird, dass die gegenwärtige Fokusmetrik (k, i) besser als eine vorher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, dann fährt der Ablauf an einem Block 1742" fort, wo ein Z-Höhenkorrekturwert bestimmt wird auf Grundlage der Bestimmung der winkeligen Inhaltscharakteristik in dem Bildabschnitt entsprechend der Fokusmetrik (k, i). Am Block 1742" wird jener bestimmte Z-Höhenkorrekturwert ebenso gespeichert wie der neue am besten laufende Z-Höhenkorrekturwert für jenes ROI(k) in dem gegenwärtigen Bild (i). Der endgültige Z-Höhenkorrekturwert für jenen ROI(k) (z.B. nach Verlassen des Verfahrensschleifen-Endes am Block 1744) kann am Block 1770' verwendet werden, wie unten beschrieben. Vom Block 1742" geht der Ablauf zum Block 1741 weiter. Am Block 1741 kann der gegenwärtige Bereich-von-Interesse-ROI(k)-Abschnitt des gegenwärtigen Bilds (i) entweder bei Ankunft vom Block 1740 oder vom Block 1742" gelöscht werden. Die Ankunft am Block 1741 vom Block 1740 bedeutet, dass die gegenwärtige Fokusmetrik (k, i) nicht besser als eine vorher gespeicherte oder Standard am besten laufende Fokusmetrik (k) ist, so dass der gegenwärtige Bereich-von-Interesse-ROI(k)-Abschnitt des gegenwärtigen Bilds (i) nicht als „Nahe-Peak-Daten“ qualifiziert ist, die für eine Z-Höhenkorrektur verwendet werden können, und kann daher gelöscht werden. Eine Ankunft am Block 1741 vom Block 1742" bedeutet, dass die benötigte Z-Höhenkorrektur schon bestimmt und für den gegenwärtigen Bereich von Interesse ROI(k) des gegenwärtigen Bilds (i) gespeichert wurde. Daher werden die Bilddaten von ROI(k) nicht mehr für das gegenwärtige Bild (i) benötigt und können gelöscht werden um Speicher zu sparen.
  • Vom Block 1741 fährt der Ablauf an einem Entscheidungsblock 1743 fort. Die Blöcke 1743 bis 1750 können gleich oder identisch zu jenen vorher in Bezug auf 18A oder 18B beschriebenen sein. Vom Block 1750 kann der Ablauf am Block 1770' fortfahren, wo für jeden ROI(k) eine korrigierte Z-Höhe für jenen Bereich von Interesse ROI(k) bestimmt wird auf Grundlage des Z-Höhenkorrekturwerts, der am Block 1742" erfasst wurde und der am besten fokussierten unkorrigierten Z-Höhe, die am Block 1750 erfasst wurde, für jenen Bereich von Interesse ROI(k). Sobald die korrigierte Z-Höhe für jeden gewünschten ROI(k) am Block 1770' bestimmt ist, endet der Ablauf.
  • Es wird geschätzt werden, dass im Vergleich zu dem Ablauf 1700' aus 18A die Abläufe 1700'' und 1700''' aus 18B und 18C jeweils die Menge an für die Bilddaten benötigtem Speicher reduzieren können und ein effektives Verarbeiten zum Bestimmen der korrigierten Z-Höhen für hohe Anzahlen von Bereichen oder Unterbereichen von Interesse erlauben. In manchen Ausführungsformen können Bilddaten so schnell analysiert und gespeichert werden (z.B. an den Blöcken 1740, 1742', 1742'' und 1741), so dass Speichererfordernisse für Bilddaten auf wenige Bilder oder sogar weniger entsprechend beschränkt werden können (z.B. ungefähr ein einzelnes Bild), so dass auch ein deutlich größerer Stapel von Bildern erfasst und analysiert werden kann.
  • Während die bevorzugte Ausführungsform der Erfindung gezeigt und beschrieben wurde, werden viele Variationen in den gezeigten und beschriebenen Anordnungen von Merkmalen und Abfolgen von Abläufen dem Fachmann ersichtlich sein auf Grundlage dieser Offenbarung. Verschiedene Aspekte der Erfindung können einzeln oder in Kombinationen und in anderen Abfolgen als den explizit offenbarten Abfolgen verwendet werden. Demnach wird geschätzt werden, dass viele Veränderungen darin vorgenommen werden können ohne den Geist und Bereich der Erfindung zu verlassen.

Claims (12)

  1. Verfahren zum Betreiben eines maschinellen Sichtinspektionssystems (100') zum Definieren einer Vielzahl von Bereichen von Interesse ROI(k), die auf einem Arbeitsstück (20) zu messen sind, und zum Bereitstellen einer korrigierten Z-Höhenmessung entsprechend jedem der Bereiche von Interesse ROI(k), wobei das Verfahren umfasst: (a) Definieren der Vielzahl von Bereichen von Interesse ROI(k), für welche Z-Höhen auf dem Arbeitsstück (1705) zu bestimmen sind; (b) Definieren eines Bildstapelsatzes, umfassend eine Vielzahl von Bildern (i), wobei die Bilder des Bildstapelsatzes den Satz von Bereichen von Interesse ROI(k) umfassen, und der Bildstapelsatz die Z-Höhen umspannt, welche für die Vielzahl von Bereichen von Interesse ROI(k) (1710) zu bestimmen sind; (c) Erfassen der Bilder des Bildstapelsatzes, wobei jedes Teilbild (i) des Bildstapelsatzes an einer entsprechenden bekannten Z-Höhe Z(i) (1715, 1715') erfasst wird; (d) Bestimmen eines jeweiligen Fokus-Peak bestimmenden Datensatzes für jeden Bereich von Interesse ROI(k), umfassend eine Vielzahl von Fokusmetriken (k, i) und entsprechenden bekannten Z-Höhen Z(i), wobei die Vielzahl von Fokusmetriken (k, i) aufgrund dem jeweiligen Bereich von Interesse ROI(k) in einer Vielzahl von Bildern (i) (1730, 1730') bestimmt wird, und (e) Bestimmen einer jeweiligen am Besten fokussierten, unkorrigierten Z-Höhe für jeden Bereich von Interesse ROI(k) aufgrund des jeweiligen Fokus-Peak bestimmenden Datensatzes (1750); (f) Bestimmen jeweiliger winkeliger Inhaltskennzeichen für jeden Bereich von Interesse ROI(k) aufgrund eines ausreichend fokussierten Bilds des jeweiligen Bereichs von Interesse ROI(k) (1760, 1760', 1742'); (g) Bestimmen eines jeweiligen Z-Höhenkorrekturwerts für jeden Bereich von Interesse ROI(k) aufgrund der jeweiligen winkeligen Inhaltskennzeichen für den jeweiligen Bereich von Interesse ROI(k), einschließlich Aufrufen von Z-Höhen-Fehlerkalibrierungsdaten, die eine Kennzeichnung einer Variation in Z-Höhenmessergebnissen aufgrund eines Fokus-Bereichs von Interesse einschließen, der zur Kalibrierung verwendet wurde, in Bezug auf eine Variation in einem Orientierungswinkel des anisotropischen Bildinhalts in dem Fokus-Bereich von Interesse, der zur Kalibrierung (1765, 1742'') verwendet wurde; und (h) Bestimmen einer jeweiligen korrigierten Z-Höhe für jeden Bereich von Interesse ROI(k) aufgrund des jeweiligen Z-Höhenkorrekturwerts und der jeweiligen am Besten fokussierten unkorrigierten Z-Höhen für jeweilige Bereiche von Interesse ROI(k) (1770, 1770'), wobei: in Schritt b) der Bildstapelsatz so definiert ist, dass er für jeden Bereich von Interesse ROI(k) zumindest ein Teilbild (i) umfasst, das an einer Z-Höhe Z(i) erfasst wurde, die nahe der jeweiligen am Besten fokussierten unkorrigierten Z-Höhe in dem jeweiligen Bereich von Interesse ROI(k) ist; in Schritt f) das ausreichend fokussierte Bild des Bereichs von Interesse ROI(k), welches zur Bestimmung seiner jeweiligen winkeligen Inhaltskennzeichnung verwendet wurde, ein Teilbild (i) des Bildstapelsatzes ist, welches an einer Z-Höhe Z(i) erfasst wurde, die proximal zu der jeweiligen am Besten fokussierten unkorrigierten Z-Höhe für den jeweiligen Bereich von Interesse ROI(k) ist, wie in Schritt e) bestimmt; in Schritt d) das Bestimmen einer Vielzahl von Fokusmetriken (k, i) aufgrund des jeweiligen Bereichs von Interesse ROI(k) in einer Vielzahl von Bildern (i) das Bestimmen von zumindest einigen der Fokusmetriken (k, i) iterativ (1717, 1744) umfasst, so dass eine aktuelle Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) aufgrund eines aktuellen jeweiligen Bilds (i) bestimmt wird, nachdem eine vorherige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) aufgrund eines vorherigen jeweiligen Bilds (i) bestimmt und gespeichert wurde; und das Verfahren weiterhin umfasst: W1) Bestimmen für einen Bereich von Interesse ROI(k), ob eine aktuelle jeweilige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) in einem aktuellen jeweiligen Bild (i) besser als eine vorher gespeicherte Standard- oder vorherige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) in einem vorherigen jeweiligen Bild (i) (1740) ist; und W2) Durchführen eines bedingten Ablaufs, wobei, wenn die aktuelle jeweilige Fokusmetrik (k, i) nicht besser als die vorher gespeicherte Standard- oder vorherige Fokusmetrik (k, i) für den jeweiligen Bereich von Interesse ROI(k) ist, Bilddaten entsprechend jenem Fokusbereich von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) aus einem Speicherelement des maschinellen Sichtinspektionssystems (1741) gelöscht werden.
  2. Verfahren nach Anspruch 1, wobei der jeweilige Z-Höhen-Fehlerkorrekturwert zumindest eines der i) einer Astigmatismus-Fehlerkomponente, ii) einer Astigmatismus-Fehlerkomponente und einer statischen optische Fehlerkomponente, und iii) eines anisotropischen Fehlers, der/die in der jeweiligen am Besten fokussierten unkorrigierten Z-Höhe beinhaltet ist/sind.
  3. Verfahren nach Anspruch 1, wobei die Z-Höhen-Fehlerkalibrierungsdaten jeweilige Datensätze entsprechend einer Vielzahl jeweiliger Stellen innerhalb eines Gesichtsfelds des maschinellen Sichtinspektionssystems umfassen, wobei für jede der jeweiligen Stellen der jeweilige Satz von Fehlerkalibrierungsdaten eine Variation der Z-Höhenmessergebnisse aufgrund eines Fokus-Bereichs von Interesse kennzeichnet, der zur Kalibrierung an jener Stelle verwendet wurde, in Bezug auf eine Variation in einem Orientierungswinkel des anisotropischen Bildinhalts in dem Fokus-Bereich von Interesse, der zur Kalibrierung an jener Stelle verwendet wurde.
  4. Verfahren nach Anspruch 1, wobei jeder Bereich von Interesse ROI(k) zumindest einer eines gesamten, ersten, zweiten oder Unterbereichs von Interesse ist, der durch ein Video-Werkzeug (143fb1, 143fb2, 143fc) definiert wird, das in einer Benutzerschnittstelle des maschinellen Sichtinspektionssystems beinhaltet ist.
  5. Verfahren nach Anspruch 4, wobei das Video-Werkzeug zumindest eines eines Autofokus-Werkzeugs (143f), eines Mehrbereich-Autofokus-Werkzeugs (143fb1) und eines Mehrpunkt-Autofokus-Werkzeugs (143fb2) umfasst.
  6. Verfahren nach Anspruch 1, wobei das Verfahren umfasst: Auswählen des ausreichend fokussierten Bilds des jeweiligen Bereichs von Interesse ROI(k), welches zur Bestimmung des jeweiligen winkeligen Inhaltskennzeichen des jeweiligen Bereichs von Interesse ROI(k) verwendet wurde, um ein Teilbild (i) des Bildstapelsatzes zu sein, welches eine Fokusmetrik (k, i) aufweist, die bezeichnend für ein Bild ist, welches ausreichend fokussiert in jenem Bereich von Interesse ROI(k) ist.
  7. Verfahren nach Anspruch 1, wobei das Verfahren umfasst: Auswählen des ausreichend fokussierten Bilds des jeweiligen Fokus-Bereichs von Interesse ROI(k), welches zur Bestimmung des jeweiligen winkeligen Inhaltskennzeichen des jeweiligen Fokus-Bereichs von Interesse ROI(k) verwendet wurde, um ein Teilbild (i) des Bildstapelsatzes zu sein, welches eine Fokusmetrik (k, i) aufweist, die bezeichnend dafür ist, dass das ausgewählte Bild das am Besten fokussierte Teilbild (i) in jenem Fokus-Bereich von Interesse ROI(k) ist.
  8. Verfahren nach Anspruch 1, wobei in Schritt W2) der Ablauf des Löschens von Bilddaten entsprechend jenem Fokus-Bereich von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) aus dem Speicherelement ein Löschen jener Bilddaten vor der vervollständigenden Erfassung aller Bilder des Bildstapelsatzes in Schritt c) umfasst.
  9. Verfahren nach Anspruch 1, wobei das Verfahren weiterhin umfasst: W3) Durchführen eines bedingten Ablaufs, wobei, wenn die aktuelle jeweilige Fokusmetrik (k, i) besser als die vorher gespeicherte Standard- oder vorherige Fokusmetrik (k, i) ist, der bedingte Ablauf dann zumindest eines von W3a) Speichern von Bilddaten entsprechend jenem Fokus-Bereich von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) als ein zuletzt am Besten laufendes winkeliges Inhalts-Quellenbild (k) in einem Speicherelement des maschinellen Sichtinspektionssystems (1742), W3b) Bestimmen von winkeligen Inhaltskennzeichen aufgrund jenem Fokus-Bereich von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) und Speichern jener winkeligen Inhaltskennzeichen als zuletzt am Besten laufende winkelige Inhaltskennzeichen in einem Speicherelement des maschinellen Sichtinspektionssystems (1742') und W3c) Bestimmen von winkeligen Inhaltskennzeichen und eines entsprechenden Z-Höhenkorrekturwerts aufgrund jenes Bereichs von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) und Speichern jenes entsprechenden Z-Höhenkorrekturwerts als einen zuletzt am Besten laufenden Z-Höhenkorrekturwert in einem Speicherelement des maschinellen Sichtinspektionssystems (1742'') umfasst.
  10. Verfahren nach Anspruch 9, wobei W3b) und W3c) jeweils weiterhin umfassen: Löschen von Bilddaten entsprechend jenem Fokus-Bereich von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) aus einem Speicherelement des maschinellen Sichtinspektionssystems nach dem Bestimmen der winkeligen Inhaltskennzeichen aufgrund jenes Bereichs von Interesse ROI(k) in dem aktuellen jeweiligen Bild (i) (1741).
  11. Verfahren nach Anspruch 9, wobei der Schritt g) umfasst: Verwenden eines am letzten gespeicherten am Besten laufenden Z-Höhenkorrekturwerts, der in den bedingten Abläufen W3c) als der jeweilige Z-Höhenkorrekturwert aufgrund der jeweiligen winkeligen Inhaltskennzeichen für jenen Bereich von Interesse ROI(k) (1770', 1772'') bestimmt wurde.
  12. Verfahren nach Anspruch 9, wobei der Schritt f) umfasst: Verwenden eines am letzten gespeicherten am Besten laufenden winkeligen Inhaltskennzeichen, die in den bedingten Abläufen W3b) als die jeweiligen winkeligen Inhaltskennzeichen bestimmt wurden, die auf dem ausreichend fokussierten Bild eines Bereichs von Interesse ROI(k) (1765, 1742') basieren.
DE102009046295.3A 2008-11-04 2009-11-02 Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme Active DE102009046295B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/264,850 2008-11-04
US12/264,850 US8311311B2 (en) 2005-10-31 2008-11-04 Optical aberration correction for machine vision inspection systems

Publications (2)

Publication Number Publication Date
DE102009046295A1 DE102009046295A1 (de) 2010-05-27
DE102009046295B4 true DE102009046295B4 (de) 2024-02-29

Family

ID=42114794

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009046295.3A Active DE102009046295B4 (de) 2008-11-04 2009-11-02 Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme

Country Status (3)

Country Link
US (2) US8311311B2 (de)
CN (1) CN101738728B (de)
DE (1) DE102009046295B4 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5374651B2 (ja) * 2010-03-12 2013-12-25 カスケード マイクロテック インコーポレイテッド 半導体試験システム
KR20130061663A (ko) * 2010-03-16 2013-06-11 가부시키가이샤 니콘 높이 측정 방법, 높이 측정용 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 높이 측정 장치
US20120050490A1 (en) * 2010-08-27 2012-03-01 Xuemin Chen Method and system for depth-information based auto-focusing for a monoscopic video camera
US8648906B2 (en) * 2010-10-13 2014-02-11 Mitutoyo Corporation Precision solder resist registration inspection method
WO2013026205A1 (en) * 2011-08-25 2013-02-28 Harman International (Shanghai) Management Co., Ltd. System and method for detecting and recognizing rectangular traffic signs
DE102012220759A1 (de) * 2011-11-15 2013-06-27 Mitutoyo Corporation Programmbearbeitungsumgebung eines maschinell sehenden Systems mit synchronisierten Benutzerschnittstellenmerkmalen
US20130162806A1 (en) * 2011-12-23 2013-06-27 Mitutoyo Corporation Enhanced edge focus tool
CN104884894B (zh) * 2012-02-07 2018-05-15 株式会社尼康 成像光学系统、测定装置、形状测定装置、构造物制造系统、及构造物制造方法
US9621780B2 (en) * 2012-10-04 2017-04-11 Nvidia Corporation Method and system of curve fitting for common focus measures
US9392158B2 (en) 2012-10-04 2016-07-12 Nvidia Corporation Method and system for intelligent dynamic autofocus search
US9177222B2 (en) 2012-11-05 2015-11-03 Mitutoyo Corporation Edge measurement video tool and interface including automatic parameter set alternatives
US8689127B1 (en) * 2012-11-05 2014-04-01 Mitutoyo Corporation Edge measurement video tool parameter-setting user interface
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
US11176655B2 (en) * 2014-01-27 2021-11-16 Cognex Corporation System and method for determining 3D surface features and irregularities on an object
US9833962B2 (en) 2014-02-26 2017-12-05 Toyota Motor Engineering & Manufacturing Norh America, Inc. Systems and methods for controlling manufacturing processes
US9675430B2 (en) 2014-08-15 2017-06-13 Align Technology, Inc. Confocal imaging apparatus with curved focal surface
US9740190B2 (en) * 2014-10-09 2017-08-22 Mitutoyo Corporation Method for programming a three-dimensional workpiece scan path for a metrology system
WO2016136151A1 (ja) * 2015-02-25 2016-09-01 パナソニックIpマネジメント株式会社 画像処理装置、画像処理方法及びそれを実行させるためのプログラム
US9786053B2 (en) 2015-03-06 2017-10-10 ZephaVision, LLC Optical measuring device
DE102015112651B3 (de) * 2015-07-31 2016-07-28 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren und Messgerät zum Bestimmen von dimensionalen Eigenschaften eines Messobjekts
CN105321206B (zh) * 2015-11-16 2017-10-13 中国工程物理研究院核物理与化学研究所 一种适用于中子层析成像系统的旋转轴线偏摆角的误差补偿方法
CN114549447A (zh) * 2016-01-15 2022-05-27 英卓美特公司 用于跨越多个组装单元自动生成公共测量的方法
KR102477658B1 (ko) * 2016-07-07 2022-12-14 한화정밀기계 주식회사 보정규칙 생성방법
CN110381812B (zh) * 2016-12-30 2022-08-30 巴科股份有限公司 用于相机校准的系统和方法
JP6858878B2 (ja) * 2017-02-28 2021-04-14 クオリティー ヴィジョン インターナショナル インコーポレイテッドQuality Vision International, Inc. 3dモデルの試験対象物への自動アライメント
US11049236B2 (en) * 2017-11-17 2021-06-29 Kodak Alaris Inc. Automated in-line object inspection
US11042146B2 (en) 2017-11-17 2021-06-22 Kodak Alaris Inc. Automated 360-degree dense point object inspection
US10807579B2 (en) * 2018-01-19 2020-10-20 Goodrich Corporation System for maintaining near-peak friction of a braking wheel
WO2019147834A1 (en) * 2018-01-24 2019-08-01 Cyberoptics Corporation Structured light projection for specular surfaces
CN109283651B (zh) * 2018-12-12 2021-12-14 广东奥普特科技股份有限公司 一种体积小的高分辨率机器视觉镜头结构
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
CN110376623B (zh) * 2019-07-08 2021-09-07 中国空间技术研究院 星载gnss-r镜面反射点海洋潮汐修正定位方法和系统
CN110909732B (zh) * 2019-10-14 2022-03-25 杭州电子科技大学上虞科学与工程研究院有限公司 一种图中数据的自动提取方法
US11499817B2 (en) * 2020-05-29 2022-11-15 Mitutoyo Corporation Coordinate measuring machine with vision probe for performing points-from-focus type measurement operations
DE102020216419B4 (de) 2020-12-21 2023-09-28 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren zum Bestimmen einer Astigmatismuskorrektur
DE102021108238A1 (de) * 2021-03-31 2022-10-06 Carl Zeiss Industrielle Messtechnik Gmbh Computerimplementiertes Verfahren, Verfahren, Messgerät und Computerprogrammprodukt
DE102022118582A1 (de) 2022-07-25 2024-01-25 Carl Zeiss Industrielle Messtechnik Gmbh Computerimplementiertes Verfahren, Verfahren, Messgerät und Computerprogrammprodukt
CN115760595B (zh) * 2022-10-26 2023-07-21 中国电子科技集团公司第五十四研究所 一种基于线段特征的超广角镜头相片畸变校正方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7030351B2 (en) 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
US20060093205A1 (en) 2004-10-29 2006-05-04 Bryll Robert K System and method for automatically recovering video tools in a vision system
US20070112535A1 (en) 2005-10-31 2007-05-17 Bryll Robert K Optical aberration correction for machine vision inspection systems
US20080019683A1 (en) 2006-07-18 2008-01-24 Mitutoyo Corporation Multi-region autofocus tool and mode

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2928548B2 (ja) * 1989-08-02 1999-08-03 株式会社日立製作所 立体形状検出方法及びその装置
JP2690603B2 (ja) * 1990-05-30 1997-12-10 ファナック株式会社 視覚センサのキャリブレーション方法
US6137893A (en) * 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
US6219461B1 (en) * 1997-07-29 2001-04-17 Cognex Corporation Determining a depth
US6915007B2 (en) * 1998-01-16 2005-07-05 Elwin M. Beaty Method and apparatus for three dimensional inspection of electronic components
US6239590B1 (en) * 1998-05-26 2001-05-29 Micron Technology, Inc. Calibration target for calibrating semiconductor wafer test systems
US6076915A (en) * 1998-08-03 2000-06-20 Hewlett-Packard Company Inkjet printhead calibration
US6677565B1 (en) * 1998-08-18 2004-01-13 Veeco Tucson Inc. High speed autofocus and tilt for an optical imaging system
TW490596B (en) * 1999-03-08 2002-06-11 Asm Lithography Bv Lithographic projection apparatus, method of manufacturing a device using the lithographic projection apparatus, device manufactured according to the method and method of calibrating the lithographic projection apparatus
US7800758B1 (en) * 1999-07-23 2010-09-21 Faro Laser Trackers, Llc Laser-based coordinate measuring device and laser-based method for measuring coordinates
US6825480B1 (en) * 1999-06-23 2004-11-30 Hitachi, Ltd. Charged particle beam apparatus and automatic astigmatism adjustment method
US6630681B1 (en) * 1999-07-21 2003-10-07 Nikon Corporation Charged-particle-beam microlithography apparatus and methods including correction of aberrations caused by space-charge effects
US6535291B1 (en) * 2000-06-07 2003-03-18 Cyberoptics Corporation Calibration methods for placement machines incorporating on-head linescan sensing
US6816625B2 (en) * 2000-08-16 2004-11-09 Lewis Jr Clarence A Distortion free image capture system and method
US6703634B2 (en) * 2000-12-11 2004-03-09 Matsushita Electric Industrial Co., Ltd. 3D-shape measurement apparatus
US6796240B2 (en) * 2001-06-04 2004-09-28 Quad/Tech, Inc. Printing press register control using colorpatch targets
EP1412918B1 (de) * 2001-07-12 2007-02-21 DO Labs Verfahren und system zur herstellung von auf geometrischen verzerrungen bezogenen formatierten informationen
DE10154125A1 (de) * 2001-10-25 2003-05-22 Zeiss Carl Semiconductor Mfg Messverfahren und Messsystem zur Vermessung der Abbildungsqualität eines optischen Abbildunsgssystems
US7003161B2 (en) * 2001-11-16 2006-02-21 Mitutoyo Corporation Systems and methods for boundary detection in images
US6778275B2 (en) * 2002-02-20 2004-08-17 Micron Technology, Inc. Aberration mark and method for estimating overlay error and optical aberrations
US7119351B2 (en) * 2002-05-17 2006-10-10 Gsi Group Corporation Method and system for machine vision-based feature detection and mark verification in a workpiece or wafer marking system
US7164128B2 (en) * 2003-11-25 2007-01-16 Hitachi High-Technologies Corporation Method and apparatus for observing a specimen
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
DE602005003012T2 (de) * 2005-05-06 2008-08-07 Satisloh Gmbh Verfahren für die automatische Kalibrierung der Werkzeuge in einer Drehmaschine benutzt für die Herstellung von insbesondere Brillenlinsen
US7466466B2 (en) * 2005-05-11 2008-12-16 Gsi Group Corporation Optical scanning method and system and method for correcting optical aberrations introduced into the system by a beam deflector
US7277810B2 (en) * 2005-07-05 2007-10-02 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for automating calibration of test instruments
JP2010098143A (ja) * 2008-10-16 2010-04-30 Canon Inc 露光装置およびデバイス製造方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7030351B2 (en) 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
US20060093205A1 (en) 2004-10-29 2006-05-04 Bryll Robert K System and method for automatically recovering video tools in a vision system
US20070112535A1 (en) 2005-10-31 2007-05-17 Bryll Robert K Optical aberration correction for machine vision inspection systems
US20080019683A1 (en) 2006-07-18 2008-01-24 Mitutoyo Corporation Multi-region autofocus tool and mode

Also Published As

Publication number Publication date
US8534113B2 (en) 2013-09-17
CN101738728B (zh) 2013-07-17
CN101738728A (zh) 2010-06-16
US20130061650A1 (en) 2013-03-14
DE102009046295A1 (de) 2010-05-27
US8311311B2 (en) 2012-11-13
US20090088999A1 (en) 2009-04-02

Similar Documents

Publication Publication Date Title
DE102009046295B4 (de) Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme
DE10081029B4 (de) Bildbearbeitung zur Vorbereitung einer Texturnalyse
DE102014205726B4 (de) Verfahren zum bestimmen von profildaten für ein kantenmerkmal in einem inspektionssystem mit maschineller bildverarbeitung
DE102014206309B4 (de) System und Verfahren zum Erhalten von Bildern mit Versatz zur Verwendung für verbesserte Kantenauflösung
DE19623172C1 (de) Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
DE102007054906B4 (de) Verfahren zur optischen Vermessung der dreidimensionalen Geometrie von Objekten
DE102012217240B4 (de) Vorrichtung zum Messen einer dreidimensionalen Form
DE112007000009B4 (de) Musterdimensionsmessgerät und Musterflächenmessverfahren
DE112012005389T5 (de) "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden
DE102015210442A1 (de) Inspektionsvorrichtung, Inspektionsverfahren und Programm
DE102012224320A1 (de) Verbessertes Kantenfokussierungswerkzeug
DE102008041523A1 (de) Verfahren zur dreidimensionalen Messung und Vorrichtung zur dreidimensionalen Messung
DE202019105838U1 (de) Anordnung mit einem Koordinatenmessgerät oder Mikroskop
DE102007025304B4 (de) Verfahren zur Verbesserung der Reproduzierbarkeit einer Koordinaten-Messmaschine und deren Genauigkeit
DE102012216908A1 (de) Verfahren unter Verwendung einer Bildkorrelation zum Bestimmen von Positionsmessungen in einem Maschinenvisionssystem
DE112014006672T5 (de) Bildverarbeitungsvorrichtung, Bildgebungsvorrichtung, Mikroskopsystem, Bildverarbeitungsverfahren und ein Bildverarbeitungsprogramm
DE102016205382A1 (de) Randerkennungsabweichungskorrekturwertberechnungsverfahren, Randerkennungsabweichungskorrekturverfahren und Randerkennungsabweichungskorrekturprogramm
DE102014211657A1 (de) Verbesserung der Reproduzierbarkeit der Fokushöhe in einem Bildverarbeitungs-Inspektionssystem
DE102005037841A1 (de) Verfahren und Anordnung zur Bestimmung der relativen Lage eines ersten Objektes bezüglich eines zweiten Objektes, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE112017001464T5 (de) Abstandmessvorrichtung und Abstandsmessverfahren
DE102017110339A1 (de) Computerimplementiertes Verfahren zur Vermessung eines Objekts aus einer digitalen Darstellung des Objekts
EP1098268A2 (de) Verfahren zur dreidimensionalen optischen Vermessung von Objektoberflächen
DE102016008744A1 (de) Bildmessapparat, Regel- bzw. Steuerprogramm eines derartigen Apparats und nicht-flüchtiges Aufzeichnungsmedium, auf welchem das Regel- bzw. Steuerprogramm aufgezeichnet is
DE102006050850B4 (de) Verfahren und Vorrichtung zur Wegmessung
DE102017106764A1 (de) Prüfvorrichtung, speichermedium und programm

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