DE112012005389T5 - "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden - Google Patents

"Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden Download PDF

Info

Publication number
DE112012005389T5
DE112012005389T5 DE112012005389.3T DE112012005389T DE112012005389T5 DE 112012005389 T5 DE112012005389 T5 DE 112012005389T5 DE 112012005389 T DE112012005389 T DE 112012005389T DE 112012005389 T5 DE112012005389 T5 DE 112012005389T5
Authority
DE
Germany
Prior art keywords
image
height
focus
interest
illumination
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.)
Pending
Application number
DE112012005389.3T
Other languages
English (en)
Inventor
Robert Kamil Bryll
Shannon Roy Campbell
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 DE112012005389T5 publication Critical patent/DE112012005389T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/70Circuitry for compensating brightness variation in the scene
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/673Focus control based on electronic image sensor signals based on contrast or high frequency components of image signals, e.g. hill climbing method

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Input (AREA)

Abstract

Ein Verfahren zum automatischen Anpassen von Lichtverhältnissen verbessert die Ergebnisse von Points-from-focus(PFF)-3D-Oberflächenprofilrekonstruktion. Mehrere Beleuchtungsstärken werden automatisch auf der Grundlage von Helligkeitskriterien festgestellt und ein Bildstapel wird bei jeder Beleuchtungsstärke aufgenommen. In einigen Ausführungsformen kann die Anzahl von Beleuchtungsstärken und ihre entsprechenden Beleuchtungseinstellungen auf der Grundlage von Testbelichtungsbildern bestimmt werden, die bei einer einzelnen Höhe eines globalen Fokus, die eine beste Höhe für einen gesamten Bereich von Interesse ist, anstatt der Höhe des besten Fokus nur für die dunkelsten oder die hellsten Bildpixel in einem Bereich von Interesse, erfasst werden. Die Ergebnisse von 3D-Rekonstruktion bei jeder gewählten Beleuchtungsstärke werden unter Verwendung einer Z-Höhe-Qualitätsmetrik kombiniert. In einer Ausführungsform wird der PFF-Datenpunkt-Z-Höhe-Wert, der einer X-Y-Position zuzuordnen ist, auf der Grundlage der Tatsache gewählt, dass dieser PFF-Datenpunkt den besten entsprechenden Z-Höhe-Qualitätsmetrikwert bei dieser X-Y-Position hat.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung beansprucht den Nutzen der am 23. Dezember 2011 angemeldeten US-Patentanmeldung Nr. 61/580,145, deren Offenbarung hiermit durch Bezugnahme in ihrer Gesamtheit einbezogen ist.
  • GEBIET
  • Die hierin offenbarten Ausführungsformen beziehen sich allgemein auf maschinell sehende Inspektionssysteme, und insbesondere auf Videowerkzeuge und -verfahren, die präzise und effiziente Oberflächenforminspektion unter Verwendung von depth-from-focus-Operationen für nicht fachkundige Bediener bereitstellen.
  • HINTERGRUND
  • Maschinell sehende Präzisionsinspektionssysteme (bzw. kurz „maschinell sehende Systeme”) können verwendet werden, um präzise Dimensionsmessungen von inspizierten Objekten zu erzielen und um verschiedene andere Objekteigenschaften zu inspizieren. Solche Systeme können einen Computer, eine Kamera, ein optisches System und einen Präzisionsobjekttisch umfassen, der in mehrere Richtungen bewegbar ist, um eine Werkstückinspektion zu ermöglichen. Ein Beispiel für ein System nach dem Stand der Technik, das als ein maschinell sehendes Universal-„Offline”-System charakterisiert werden kann, sind die im Handel erhältlichen Reihen QUICK VISION® von PC-basierten maschinell sehenden Systemen sowie die Software QVPAK®, beide bei Mitutoyo America Corporation (MAC), Aurora, IL, erhältlich. Die Merkmale und der Betrieb der Reihe QUICK VISION® von maschinell sehenden Systemen und der Software QVPAK® werden beispielsweise in „QVPAK 3D CNC Vision Measuring Machine User's Guide”, veröffentlicht im Januar 2003, und in „QVPAK 3D CNC Vision Measuring Machine Operation Guide”, veröffentlicht im September 1996, die hiermit in ihrer Gesamtheit miteinbezogen sind, allgemein beschrieben. Dieser Typ von System ist in der Lage, ein optisches System vom Typ eines Mikroskops zu verwenden, um den Objekttisch je nach Bedarf so zu bewegen, dass es Inspektionsbilder von entweder kleinen oder relativ großen Werkstücken in verschiedenen Vergrößerungen liefern kann.
  • Maschinell sehende Inspektionssysteme verwenden im Allgemeinen automatisierte Videoinspektion. Das US-Patent Nr. 6,542,180 (das '180 Patent) lehrt verschiedene Aspekte einer derartigen automatisierten Videoinspektion und ist hiermit in seiner Gesamtheit in den vorliegenden Gegenstand miteinbezogen. Wie das Patent '180 lehrt, haben automatisierte messtechnische Videoinspektionsinstrumente im Allgemeinen eine Programmierfähigkeit, die es ermöglicht, dass ein Benutzer eine automatische Inspektionsereignissequenz für jede spezielle Werkstückkonfiguration definiert. Dies kann beispielsweise durch eine textbasierte Programmierung oder durch einen Aufzeichnungsmodus, der die Inspektionsereignissequenz nach und nach „erlernt”, indem er eine Sequenz von Maschinensteueranweisungen speichert, die einer Sequenz von von einem Benutzer ausgeführten Inspektionsoperationen entspricht, oder durch eine Kombination der beiden Verfahren umgesetzt werden. Ein derartiger Aufzeichnungsmodus wird häufig als „Lernmodus” oder „Trainingsmodus” bezeichnet. Sobald die Inspektionsereignissequenz im „Lernmodus” definiert ist, kann eine derartige Sequenz dann verwendet werden, um im „Programmlaufmodus” Bilder eines Werkstücks automatisch zu erfassen (und zusätzlich zu analysieren oder zu inspizieren).
  • Die Maschinensteueranweisungen, die die spezifische Inspektionsereignissequenz umfassen (d. h. die Art und Weise, wie jedes Bild zu erfassen ist und wie jedes erfasste Bild zu analysieren/inspizieren ist), werden im Allgemeinen als „Teil-Programm” bzw. „Werkstück-Programm” gespeichert, das für die spezielle Werkstückkonfiguration spezifisch ist. Beispielsweise definiert ein Teil-Programm, wie jedes Bild zu erfassen ist, etwa wie die Kamera im Verhältnis zum Werkstück zu positionieren ist, mit welcher Beleuchtungsstärke, mit welcher Vergrößerung usw. Ferner definiert das Teil-Programm, wie ein erfasstes Bild zu analysieren/inspizieren ist, beispielsweise unter Verwendung eines oder mehrerer Videowerkzeuge.
  • Video-Werkzeuge (bzw. kurz „Werkzeuge”) können bei Inspektion- und/oder Maschinensteuervorgängen verwendet werden. Videowerkzeuge sind eine wichtige und gut bekannte Betriebs- und Programmierungshilfe, die Bildverarbeitungs- und Inspektionsvorgänge für nicht fachkundige Nutzer von maschinell sehenden Präzisionsinspektionssystemen bieten. Videowerkzeuge werden z. B. in dem zuvor einbezogenen '180 Patent sowie auch in dem US-Patent Nr. 7,627,162 , das hierin durch Bezugnahme in seiner Gesamtheit einbezogen ist, erörtert. Im Lernmodus können ihre Einrichtungsparameter und ihr Betrieb auch für spezielle Bereiche von Interesse an einem repräsentativen Werkstück bestimmt werden, was oft als „trainieren” des Videowerkzeugs bezeichnet wird, und aufgezeichnet werden, um ähnliche Werkstücke automatisch und zuverlässig zu inspizieren. Einstellungsparameter können typischerweise dafür konfiguriert sein, verschiedene graphische Benutzerschnittstellen-Widgets und/oder Menus der Software des maschinell sehenden Inspektionssystems zu verwenden. Solche Werkzeuge können beispielsweise Werkzeuge zur Kanten-/Randerkennung, Autofokus-Werkzeuge, Werkzeuge zum Form- oder Musterabgleich, Werkzeuge zur Dimensionsmessung und dergleichen umfassen. Solche Werkzeuge werden routinemäßig in diversen handelsüblichen maschinell sehenden Inspektionssystemen verwendet, wie etwa bei der zuvor erörterten Reihe der maschinell sehenden Systeme QUICK VISION® und der damit verbundenen Software QVPAK®.
  • Ein bekannter Typ von Videowerkzeug ist ein „Mehrpunkt-Werkzeug”- oder ein „Mehrpunkt-Autofokus-Werkzeug”-Videowerkzeug. Solch ein Werkzeug liefert Z-Höhe-Messungen oder -Koordinaten (entlang der optischen Achse und Fokussierungsachse des Kamerasystems), die von einer „Bester Fokus”-Position für eine Mehrzahl von Teilbereichen an definierten X-Y-Koordinaten innerhalb eines Bereichs von Interesse des Werkzeugs abgeleitet werden, wie durch ein Autofokus-Verfahren bestimmt. Ein Satz von solchen X, Y, Z-Koordinaten kann als Punktwolkedaten oder kurz als eine Punktwolke bezeichnet werden. Gemäß Autofokus-Verfahren und/oder -Werkzeugen aus dem Stand der Technik bewegt sich die Kamera im Allgemeinen durch einen Bereich von Positionen entlang einer Z-Achse (der Fokussierungsachse) und nimmt an jeder Position ein Bild (als Bildstapel bezeichnet) auf. Für jedes aufgenommene Bild wird eine Fokusmetrik für jeden Teilbereich auf der Grundlage des Bildes berechnet und auf die entsprechende Position der Kamera entlang der Z-Achse, zu der Zeit, zu der das Bild aufgenommen wurde, bezogen. Dies ergibt Fokuskurvendaten für jeden Teilbereich, was einfach als eine „Fokuskurve” oder eine „Autofokuskurve” bezeichnet werden kann. Die Spitze der Fokuskurve, die der Position des besten Fokus entlang der Z-Achse entspricht, kann durch Anpassen einer Kurve an die Fokuskurvendaten und Schätzen der Spitze der angepassten Kurve festgestellt werden. Variationen solcher Autofokus-Verfahren sind in der Technik gut bekannt. Zum Beispiel wird ein bekanntes Verfahren für Autofokussierung, das dem vorstehend skizzierten ähnlich ist, in „Robust Autofocusing in Microscopy” von Jan-Mark Geusebroek und Arnold Smeulders in ISIS Technical Report Series, Band 17, November 2000, erörtert. Ein anderes bekanntes Autofokus-Verfahren samt Vorrichtung ist in dem US Patent Nr. 5,790,710 beschrieben, das hierin durch Bezugnahme in seiner Gesamtheit einbezogen ist.
  • Genauigkeit im Mikron- oder Submikronbereich ist in maschinell sehenden Präzisionsinspektionssystemen oft erwünscht. Dies stellt besonders im Bezug auf Z-Höhe-Messungen eine Herausforderung dar. Ein besonderes Problem ergibt sich bei der Bestimmung eines Satzes von Z-Höhe-Messungen über die Oberfläche eines Werkstücks, wie bei einem Mehrpunkt-Werkzeug. Die Z-Höhe-Genauigkeit und -zuverlässigkeit können für wenigstens einige der Datenpunkte in einem Bereich von Interesse aus vielen Gründen mangelhaft sein. Als ein erstes Beispiel sind, wenn die Oberfläche in dem Bereich von Interesse stark gekrümmt ist (z. B. die Oberfläche einer IC-Kugelgitteranordnung-Lötkugel), einige Teile der Oberfläche in einem extremen Einfallswinkel, so dass sie wenig Licht durch das optische System zurückstrahlen und in den Autofokus-Bildern unterbelichtet sind, während andere Teile der Oberfläche einen kleinen Einfallswinkel haben und hoch reflektierend sein können, so dass sie übermäßiges Licht durch das optische System zurückstrahlen und in den Autofokus-Bildern überbelichtet sind. Keine einzelne Bildbelichtung ist für alle Teile solch eines Bereiches von Interesse geeignet. Unterbelichtete und überbelichtete Teilbereiche weisen einen geringen Kontrast und/oder ein hohes Bildrauschen auf. Die gemeinsam übertragene US-Veröffentlichung vor Erteilung Nr. 2011/0133054 (die '054 Veröffentlichung), die hierin durch Bezugnahme in ihrer Gesamtheit einbezogen ist, offenbart eine Ausführungsform eines Mehrpunkt-Werkzeugs und ein Verfahren zur Charakterisierung von Z-Höhe-Messungen (z. B. in Punktwolkedaten), die aufgrund von geringem Kontrast und/oder hohem Bildrauschen unzuverlässig sein können.
  • Es ist bekannt, das vorstehend beschriebene Problem durch Bereitstellen einer Mehrzahl von Autofokus-Bildstapeln zu überwinden, wobei jeder Bildstapel unter Verwendung einer anderen Belichtungsstärke erfasst wird. Die Position des besten Fokus für einen speziellen Teilbereich kann dann in dem speziellen Bildstapel bestimmt werden, wo dieser Teilbereich am geeignetsten belichtet ist. Ein solches System ist erhältlich bei Alicona Imaging GmbH aus Grambach/Graz, Österreich. Das Alicona-System ist jedoch ein speziell auf dieses spezifische Problem ausgerichtetes Oberflächenabbildungssystem und verwendet spezielle Hardware und Beleuchtung, die in maschinell sehenden Universalpräzisionsinspektionssystem möglicherweise nicht verfügbar sind. Solche Systeme für Spezialanwendungen bieten keine ausreichend vielseitige Lösung zum Bestimmen, wann eine Mehrzahl von Autofokus-Bildstapeln mit verschiedenen Belichtungsgraden zu verwenden ist, oder zum Bestimmen von speziellen Belichtungsgraden im Zusammenhang mit der Programmierung für ein maschinell sehendes Universalpräzisionsinspektionssystem. Umgekehrt sind Bildfusionsverfahren, die zum Konstruieren von zusammengesetzten Photographien mit einer erweiterten Schärfentiefe und einem erweiterten Dynamikbereich (das heißt, einem erweiterten Belichtungsbereich) bekannt sind, auf Bildgebung und nicht auf präzise Z-Höhe-Messung ausgerichtet. Es ist weder klar, wie solche Verfahren im Zusammenhang mit einem Videowerkzeug durchgeführt werden können, das von einem nicht-fachkundigen Nutzer zuverlässig bedient werden kann, um ein maschinell sehendes Universalinspektionssystem für Z-Höhe-Messung zu programmieren, noch wie sie einen akzeptablen Durchsatz und akzeptable Zuverlässigkeit zum Zweck industrieller Messanwendungen liefern würden.
  • Für die Anwendung in maschinell sehenden Universalpräzisionsinspektionssystemen stellt es ein besonderes Problem dar, dass die verschiedenen in dem System integrierten Mehrpunkt-Messvorgänge und Bildverarbeitungsverfahren oft von nicht-erfahrenen Nutzern, das heißt, Nutzern, die nicht fachkundig auf dem Gebiet der Bildgebungs- und/oder Bildverarbeitung sind, für optimalen Durchsatz und optimale Zuverlässigkeit auf der Grundlage der Eigenschaften eines besonderen Werkstücks angepasst und bedient werden müssen. Dementsprechend besteht hinsichtlich der vorstehend aufgeworfenen Überlegung ein Bedarf an einem Mehrpunkt-Z-Höhen-Videowerkzeug für ein maschinell sehendes System, das von nicht-fachkundigen Nutzern verstanden und bedient werden kann, um bei Bedarf eine geeignete Anzahl von Autofokus-Bildstapeln mit verschiedenen Belichtungsgraden zu liefern, und das die erforderlichen Belichtungsgrade im Zusammenhang mit der Programmierung für ein maschinell sehendes Universalpräzisionsinspektionssystem bestimmt.
  • ZUSAMMENFASSUNG
  • Die vorliegende Zusammenfassung wird bereitgestellt, um eine Auswahl von Konzepten in vereinfachter Form einzuführen, die nachstehend in der ausführlichen Beschreibung näher beschrieben werden. Diese Zusammenfassung ist nicht dazu gedacht, die Hauptmerkmale des beanspruchten Gegenstandes zu identifizieren, und ist auch nicht dazu gedacht, als Hilfe zum Bestimmen des Umfangs des beanspruchten Gegenstandes verwendet zu werden.
  • Es wird ein Mehrpunkt-Videowerkzeug, das auf depth-from-focus-Operationen basiert, für ein maschinell sehendes System bereitgestellt. Das Mehrpunkt-Videowerkzeug bestimmt Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen, die in einem Bereich von Interesse an einem Werkstück enthalten sind. Das Mehrpunkt-Videowerkzeug liefert bei Bedarf eine geeignete Anzahl von Autofokus-Bildstapeln mit verschiedenen Belichtungsgraden und bestimmt die erforderlichen Belichtungsgrade, um einen gut belichteten Bildstapel für jeden einer Mehrzahl von Teilbereichen zu liefern. Das Mehrpunkt-Videowerkzeug wird von einfachen Benutzerschnittstellenmerkmalen unterstützt, die dafür konfiguriert sind, von nicht-fachkundigen Nutzern, d. h. Nutzern mit wenig oder keinen Kenntnissen der zugrunde liegenden optischen, mathematischen und/oder bildverarbeitenden Operationen, im Zusammenhang mit der Programmierung von Inspektionsvorgängen für ein maschinell sehendes Universalpräzisionsinspektionssystem verstanden und bedient zu werden.
  • Eine Beschreibung einer Ausführungsform kann beinhalten: ein Verfahren zum Betreiben eines maschinell sehenden Universalpräzisionsinspektionssystems, um einen Satz von Mehrpunkt-Z-Höhe-Messdaten zu bestimmen, die fokusbasierte Z-Höhe-Messungen in einem speziellen Bereich von Interesse an einem Werkstück umfassen, wobei das maschinell sehende Universalpräzisionsinspektionssystem aufweist:
    einen Bildgebungsteil, der eine Kamera umfasst;
    einen steuerbaren Beleuchtungsteil;
    einen Fokussierungsteil;
    einen Steuerteil, der einen Bildprozessor umfasst;
    einen ersten Messmodus zum Ausführen von Mehrpunkt-Fokus-basierten Z-Höhe-Messungen an einem Werkstück, der Operationen umfasst, die die Mehrpunkt-Fokus-basierten Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereich von Interesse auf der Grundlage eines einzelnen Bildstapels bestimmen, der unter Verwendung der gleichen Beleuchtungsparameter für jedes Bild in diesem Bildstapel erfasst wird;
    einen zweiten Messmodus zum Ausführen von Mehrpunkt-Fokus-basierten Z-Höhe-Messungen an einem Werkstück, der Operationen umfasst, die die Mehrpunkt-Fokus-basierten Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereich von Interesse auf der Grundlage einer Mehrzahl von Bildstapeln bestimmen, wobei ein erster Bildstapel unter Verwendung von Dunkelheitsbeschränkungsbeleuchtungsparametern erfasst wird, die ein Dunkelheitbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen und die gleichen für jedes Bild in dem ersten Bildstapel sind, und ein zweiter Bildstapel unter Verwendung von Helligkeitsbeschränkungsbeleuchtungsparametern erfasst wird, die ein Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen und die gleichen für jedes Bild in dem zweiten Bildstapel sind;
    eine Benutzerschnittstelle, die eine Bildanzeige und eine graphische Benutzerschnittstelle (GUI) umfasst; und
    ein Mehrpunkt-Z-Höhe-Messwerkzeug, das aufweist:
    den zweiten Messmodus;
    das Helligkeitbeschränkungskriterium für Bildpixel in dem Bereich von Interesse;
    das Dunkelheitbeschränkungskriterium für Bildpixel in dem Bereich von Interesse; und
    ein Mehrpunkt-GUI-Element, das einen Indikator für einen Bereich von Interesse umfasst;
    wobei das Verfahren beinhaltet:
    Ausführen von Operationen des maschinell sehenden Universalinspektionssystem, die beinhalten:
    Erfassen eines Bildes des speziellen Bereiches von Interesse an einem Werkstück,
    Aktivieren einer Instanz eines Mehrpunkt-Z-Höhe-Messwerkzeugs, und
    Definieren eines Bereichs von Interesse in dem erfassten Bild; und
    Ausführen von automatischen Operationen dieses Vorgangs/des Mehrpunkt-Z-Höhe-Messwerkzeugs entsprechend dem zweiten Messmodus, die beinhalten:
    • (a) Operationen, die den Bildgebungsteil bei einer Höhe des globalen besten Fokus für den Bereich von Interesse automatisch fokussieren, wobei die Höhe des globalen besten Fokus auf Grundlage eines Bildstapels, der unter Verwendung eines vorläufigen Satzes von Beleuchtungsparametern erfasst wird, und auf Grundlage einer Fokusmetrik, die auf Grundlage des gesamten Bereiches von Interesse bestimmt wird, bestimmt wird;
    • (b) Operationen, die bei der Höhe des globalen besten Fokus erfasste Bilder analysieren und die Beleuchtungsparameter derart einstellen, dass sie Helligkeitbeschränkungsbeleuchtungsparameter bestimmen, die das Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen, und
    • (c) Operationen, die auf der Höhe des globalen besten Fokus erfasste Bilder analysieren und die Beleuchtungsparameter derart einstellen, dass sie Dunkelheitsbeschränkungsbeleuchtungsparameter bestimmen, die das Dunkelheitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen.
  • In einigen Ausführungsformen kann das Verfahren ferner beinhalten: Erfassen einer Mehrzahl von Bildstapeln, die den Bereich von Interesse umfassen, wobei diese Mehrzahl von Bildstapeln wenigstens einen ersten unter Verwendung der bestimmten Dunkelheitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel und einen zweiten unter Verwendung der bestimmten Helligkeitbeschränkungsbeleuchtungsparameter erfassten Bildstapel umfassen; und Bestimmen der Mehrpunkt-Fokus-basierten Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen innerhalb des Bereiches von Interesse auf der Grundlage der Mehrzahl von Bildstapeln. In einigen Ausführungsformen kann die Mehrzahl von Bildstapeln einen oder mehrere unter Verwendung eines Satzes von Beleuchtungsparametern erfasste zusätzliche Bildstapel umfassen, die im Vergleich zu denjenigen, die für den ersten und den zweiten Bildstapel verwendet wurden, Zwischenbeleuchtungsgrade liefern. In einigen Ausführungsformen weist die Mehrzahl von Bildstapeln den unter Verwendung des vorläufigen Satzes von Beleuchtungsparametern erfassten Bildstapel auf.
  • In einigen Ausführungsformen kann das Verfahren ferner die Operationen umfassen, die die Mehrpunkt-Fokus-basierten Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereichs von Interesse auf der Grundlage einer Mehrzahl von Bildstapeln bestimmen, und diese Operationen können für jede der Mehrzahl von Teilbereichen beinhalten: Bestimmen einer Z-Höhe-Qualitätsmetrik für diesen Teilbereich für jede der Mehrzahl von Bildstapeln; und Bestimmen der fokusbasierten Z-Höhe-Messung für diesen Teilbereich auf der Grundlage desjenigen der Mehrzahl von Bildstapeln, der die beste Z-Höhe-Qualitätsmetrik liefert.
  • In einigen Ausführungsformen kann das Verfahren das Ausführen wenigstens eines Teils des Verfahrens unter Steuerung von Teil-Programmanweisungen während eines Programmlaufmodus beinhalten.
  • In einigen Ausführungsformen kann das Verfahren das Ausführen wenigstens eines Teils des Verfahrens während eines Lernmodus beinhalten und ferner Teil-Programmanweisungen für Aufzeichnung beinhalten, die einer gegenwärtigen Instanz des Mehrpunkt-Z-Höhe-Messwerkzeugs entsprechen, wobei die Teil-Programmanweisungen zum Ausführen von Operationen verwendet werden können, die beinhalten: Erfassen einer Mehrzahl von Bildstapeln, die den Bereich von Interesse umfassen, wobei diese Mehrzahl von Bildstapeln wenigstens einen ersten unter Verwendung der bestimmten Dunkelheitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel und einen zweiten unter Verwendung der bestimmten Helligkeitbeschränkungsbeleuchtungsparameter erfassten Bildstapel umfassen; und Bestimmen der Mehrpunkt-Fokus-basierten Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen innerhalb des Bereiches von Interesse auf der Grundlage der Mehrzahl von Bildstapeln, was für jeden Teilbereich umfasst:
    Bestimmen einer Z-Höhe-Qualitätsmetrik für diesen Teilbereich für jeden der Mehrzahl von Bildstapeln; und Bestimmen der fokusbasierten Z-Höhe-Messung für diesen Teilbereich auf der Grundlage desjenigen der Mehrzahl von Bildstapeln, der die beste Z-Höhe-Qualitätsmetrik liefert.
  • In einigen Ausführungsformen kann das Verfahren das Ausführen der Operationen des maschinell sehenden Inspektionssystems während eines Lernmodus beinhalten, wobei: in dem Schritt des Erfassens eines Bildes des speziellen Bereichs von Interesse das Werkstück ein repräsentatives Werkstück ist und der Schritt das Anzeigen des erfassten Bildes auf der Bildanzeigevorrichtung beinhaltet; der Schritt des Aktivierens einer Instanz eines Mehrpunkt-Z-Höhe-Messwerkzeugs das Anzeigen seines Mehrpunkt-GUI-Elements auf der Bildanzeigevorrichtung beinhaltet; und der Schritt des Definierens eines Bereichs von Interesse in dem erfassten Bild das Definieren eines Bereichs von Interesse in dem angezeigten Bild durch derartiges Positionieren des Indikators des Bereichs von Interesse des Mehrpunkt-GUI-Elements, dass er den speziellen Bereich von Interesse umgibt, beinhaltet.
  • Eine andere Beschreibung von verschiedenen Ausführungsformen kann beinhalten: ein Verfahren zum Betreiben eines maschinell sehenden Universalpräzisionsinspektionssystems zum Bestimmen eines Satzes von Z-Höhe-Messdaten, die fokusbasierte Z-Höhe-Messungen an einem Werkstück umfassen, wobei das maschinell sehende Universalpräzisionsinspektionssystem eine Benutzerschnittstelle, einen Bildgebungsteil, der eine Kamera umfasst, einen steuerbaren Beleuchtungsteil, einen Fokussierungsteil und einen Steuerteil, der einen Bildprozessor umfasst, aufweist, wobei das Verfahren beinhaltet:
    • (a) Betreiben des maschinell sehenden Präzisionsinspektionssystems derart, dass ein Bereich von Interesse zum Ausführen von Punkten-von-Fokus-Operationen an dem Werkstück definiert wird;
    • (b) Betreiben des maschinell sehenden Präzisionsinspektionssystems derart, dass N entsprechende Beleuchtungsvektoren definiert werden, die N Bildstapeln zugeordnet sind, die Bilder umfassen, die den Bereich von Interesse umfassen und unterschiedliche Fokus-Z-Höhen in einem definierten Z-Höhenbereich haben, wobei N mindestens 2 ist und das Definieren der N entsprechenden Beleuchtungsvektoren aufweist;
    • (b1) Definieren eines ersten entsprechenden Beleuchtungsvektors, so dass ein erstes Helligkeitskriterium erfüllt ist, wobei die hellsten Pixelpositionen in dem Bereich von Interesse Helligkeitswerte in den oberen 25% eines Helligkeitsbereichs der Kamera umfassen, und so dass eine erste Anzahl der hellsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder oberhalb einer oberen Helligkeitsgrenze haben, auf einen ersten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in wenigstens einem ersten Bild mit einer jeweiligen Z-Höhe in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem ersten entsprechenden Beleuchtungsvektor entspricht, bestimmt; und
    • (b2) Definieren eines zweiten entsprechenden Beleuchtungsvektors, so dass ein zweites Helligkeitskriterium erfüllt ist, wobei eine zweite Anzahl der dunkelsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen zweiten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in wenigstens einem ersten Bild mit einer entsprechenden Z-Höhe in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem ersten entsprechenden Beleuchtungsvektor entspricht, bestimmt; und
    • (c) Ausführen mindestens eines der Sätze von Operationen (c1) und (c2), wobei:
    • (c1) aufweist: Speichern der N entsprechenden Beleuchtungsvektoren in Verbindung mit einem Teil-Programm für spätere Verwendung beim Inspizieren eines entsprechenden Bereichs von Interesse an einem entsprechenden Werkstück, wobei das Teil-Programm Anweisungen zum Ausführen von Operationen umfasst, die beinhalten: Erfassen von N Bildstapeln auf der Grundlage der N entsprechenden Beleuchtungsvektoren; Bestimmen, welcher der N Bildstapel die beste Z-Höhe-Qualitätsmetrik bei jeder Points-from-focus-Daten-Punkt-Position hat; und Liefern von Z-Höhe-Messdaten, die von den Bildstapeln derart abgeleitet werden, dass bei jeder Points-from-focus-Daten-Punkt-Position die Z-Höhe-Messung, die dem Bildstapel mit der besten Z-Höhe-Qualitätsmetrik zugeordnet ist, als die Z-Höhe-Messung bei der Points-from-focus-Daten-Punkt-Position identifiziert wird,
    • und (c2) beinhaltet: Betreiben des maschinell sehenden Universalpräzisionsinspektionssystems, um N Bildstapel auf der Grundlage der N entsprechenden Beleuchtungsvektoren zu erfassen; Bestimmen, welcher der N Bildstapel die beste Z-Höhe-Qualitätsmetrik bei jeder Points-from-focus-Daten-Punkt-Position hat; und Liefern von Z-Höhe-Messdaten, die von den Bildstapeln derart abgeleitet werden, dass bei jeder Points-from-focus-Daten-Punkt-Position die Z-Höhe-Messung auf dem Bildstapel mit der besten Z-Höhe-Qualitätsmetrik bei der Points-from-focus-Daten-Punkt-Position basiert.
  • In einigen Ausführungsformen kann in Schritt (b1) die erste Anzahl der hellsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder oberhalb einer oberen Helligkeitsgrenze haben, auf einen ersten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt werden, wie in einer ersten Anzahl von Bildern mit entsprechenden Fokus-Z-Höhen in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem ersten entsprechenden Beleuchtungsvektor entspricht, bestimmt; und
    in Schritt (b2) die zweite Anzahl der dunkelsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen zweiten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt werden, wie in einer zweiten Anzahl von Bildern mit entsprechenden Fokus-Z-Höhen in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem zweiten entsprechenden Beleuchtungsvektor entspricht, bestimmt.
  • In einigen Ausführungsformen kann in Schritt (b1) das wenigstens eine erste Bild aus dem ersten Bild bestehen und in Schritt (b2) das wenigstens eine zweite Bild aus dem zweiten Bild bestehen. In einigen Ausführungsformen können die entsprechenden Fokus-Z-Höhen des ersten und des zweiten Bildes unterschiedlich sein. In einigen Ausführungsformen können die entsprechenden Fokus-Z-Höhen des ersten und des zweiten Bildes gleich sein.
  • In einigen Ausführungsformen kann Schritt (b) das Ausführen von Operationen umfassen, die beinhalten: Definieren des Z-Höhe-Bereichs; Erfassen eines vorläufigen Bildstapels, der eine Mehrzahl von Bildern umfasst, bei einer Mehrzahl von entsprechenden Fokus-Z-Höhen in dem Z-Höhe-Bereich unter Verwendung eines vorläufigen Beleuchtungsvektors; Bestimmen einer Spitzen-Fokus-Z-Höhe auf Grundlage des vorläufigen Bildstapels; und Verwendung dieser Spitzenfokus-Z-Höhe als die jeweilige Fokus-Z-Höhe des ersten und des zweiten Bildes. In einigen Ausführungsformen kann das Definieren des ersten entsprechenden Beleuchtungsvektors das wiederholte Analysieren von bei der Spitzen-Fokus-Z-Höhe erfassten entsprechenden Bildern unter Verwendung von entsprechenden Beleuchtungsvektoren, bis wenigstens ein erstes entsprechendes Bild identifiziert ist, das das erste Helligkeitskriterium erfüllt, und das Verwenden des entsprechenden Beleuchtungsvektors, der dem wenigstens einen ersten entsprechenden Bild entspricht, als den ersten entsprechenden Beleuchtungsvektor beinhalten; und das Definieren des entsprechenden zweiten Beleuchtungsvektors das wiederholte Analysieren von bei der Spitzen-Fokus-Z-Höhe erfassten entsprechenden Bildern unter Verwendung von entsprechenden Beleuchtungsvektoren, bis wenigstens ein zweites entsprechendes Bild identifiziert ist, das das zweite Helligkeitskriterium erfüllt, und das Verwenden des entsprechenden Beleuchtungsvektors, der dem wenigstens zweiten entsprechenden Bild entspricht, als den zweiten entsprechenden Beleuchtungsvektor beinhalten.
  • In einigen Ausführungsformen kann das Verfahren charakterisiert werden als das automatische Anpassen von Lichtverhältnissen, um die Ergebnisse von fokusbasierter (Points-from-focus oder PFF) 3D-Oberflächenprofilrekonstruktion zu verbessern. In einer Ausführungsform bestimmt das Verfahren adaptiv eine Anzahl von Bildstapeln und entsprechenden Beleuchtungseinstellungen zur Verwendung für Datenerfassung. Die bestimmte Anzahl von Bildstapeln und entsprechenden Beleuchtungseinstellungen wird in einem Programm aufgezeichnet, das die Anzahl von Bildstapeln bei den entsprechenden Beleuchtungseinstellungen erfasst und den PFF-Datenpunkt, der einer X-Y-Position zuzuordnen ist, auf der Grundlage wählt, dass der PFF-Datenpunkt von der Anzahl von Bildstapeln bei der X-Y-Position den besten entsprechenden Z-Höhe-Qualitätsmetrikwert hat. In einigen Ausführungsformen können mehrere Beleuchtungsstärken (z. B. mindestens zwei, und in einigen Ausführungsformen drei Beleuchtungsstärken oder mehr) auf der Grundlage von Helligkeitskriterien automatisch festgestellt werden. Mehrere Bildstapel können erfasst werden (z. B. einer bei jeder Beleuchtungsstärke) und die Ergebnisse bei jeder gewählten Beleuchtungsstärke können unter Verwendung einer Z-Höhe-Qualitätsmetrik effektiv kombiniert werden, um die 3D-Oberflächenprofilrekonstruktion zu liefern. Es wird zu verstehen sein, dass die automatische Beleuchtungsanpassung die 3D-Rekonstruktion von mehr Oberflächenpunkten ermöglichen kann als eine einzelne Beleuchtungseinstellung, insbesondere wenn der gemessene Bereich ein breites Spektrum von Oberflächenwinkeln enthält, was z. B. Beleuchtungsschwankungen verursachen kann, die über den dynamischen Bereich der Kamera hinausgehen können.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung beginnt das Verfahren in einer Ausführung damit, einen ersten Bildstapel bei einer ersten vom Nutzer gewählten oder einer Standard-Beleuchtungseinstellung aufzunehmen. Dann wird die Spitzenfokusposition für diesen Bildstapel bestimmt. Der Objekttisch wird dann in die Spitzenfokusposition bewegt. Daraufhin wird eine niedrigere Beleuchtungseinstellung bestimmt, die nur einige wenige gesättigte oder „helle” Pixel bei der Spitzenfokusposition erzeugt. Dann wird eine höhere Beleuchtungseinstellung bestimmt, die nur einige wenige „dunkle” Pixel bei der Spitzenfokusposition erzeugt. Anschließend wird bestimmt, ob der Unterschied zwischen der niedrigeren Beleuchtungseinstellung und der höheren Beleuchtungseinstellung (oder zwischen diesen Einstellungen und der Ausgangsbeleuchtungseinstellung) erheblich ist. Sind die Unterschiede für jede der niedrigeren und der höheren Beleuchtungseinstellung erheblich, dann wird ein entsprechender Bildstapel bei jeder der jeweiligen niedrigeren und höheren Beleuchtungseinstellung erfasst, ansonsten können die Ausgangsbeleuchtungseinstellung oder eine Kompromissbeleuchtungseinstellung verwendet werden.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung können in einer speziellen Ausführung die niedrigere und die höhere Beleuchtungsstärkeeinstellung automatisch bestimmt werden, um die „zu hellen” und „zu dunklen” Oberflächenbereiche in den jeweiligen Bildstapeln zu reduzieren. Welche Pixel als zu hell (z. B. übersättigt) oder zu dunkel klassifiziert werden, kann gemäß dem Kriterium bestimmt werden, welche Pixel oberhalb oder unterhalb gewisser bestimmter Grauwertstufen liegen. Die Suche nach der Beleuchtungsstärke kann dann als abgeschlossen betrachtet werden, wenn eine festgelegte Anzahl oder Prozentzahl der Gesamtanzahl von Pixeln in dem Bereich von Interesse bei den festgelegten zu hellen/zu dunklen Stufen ist. In einem speziellen Ausführungsbeispiel kann die erwünschte „niedrige” Beleuchtungsstärke entsprechend dem Zeitpunkt gewählt werden, zu dem ein festgelegter kleiner Prozentsatz der Gesamtanzahl von Pixeln zu hell ist, während die erwünschte „hohe” Beleuchtungsstärke entsprechend dem Zeitpunkt gewählt werden kann, zu dem ein festgelegter kleiner Prozentsatz der Gesamtanzahl von Pixeln zu dunkel ist.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung beinhaltet in einem speziellen Ausführungsbeispiel die Bestimmung der niedrigeren Beleuchtungseinstellung, die die „zu hellen” Oberflächenbereiche in einem Bildstapel minimiert, das Definieren eines ersten entsprechenden Beleuchtungsvektors, so dass ein erstes Helligkeitskriterium erfüllt ist, wobei die hellsten Pixelpositionen in dem Bereich von Interesse Helligkeitswerte in einem oberen Prozentbereich (z. B. in den oberen 25%) eines Helligkeitsbereichs der Kamera umfassen, und so dass eine erste Anzahl der hellsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder oberhalb einer oberen Helligkeitsgrenze haben, auf einen ersten kleinen Anteil (z. B. 0,1%) der Gesamtanzahl von Bildpixeln in dem Bereich von Interesse begrenzt wird. Zum Bestimmen der höheren Beleuchtungseinstellung, die die Anzahl von „zu dunklen” Oberflächenbereichen in dem Bildstapel minimiert, wird ein zweiter entsprechender Beleuchtungsvektor so definiert, dass ein zweites Helligkeitskriterium erfüllt ist, wobei eine zweite Anzahl der dunklen Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen zweiten kleinen Anteil (z. B. 0,1%) begrenzt wird.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung können die bestimmte niedrigere und höhere Beleuchtungseinstellung je nach ihrer Leistung mit dem Teil-Programm gespeichert werden oder nicht. Mit anderen Worten können je nach den Lichtverhältnissen nur einer oder kein zusätzlicher Satz von Beleuchtungsstärken verwendet werden (z. B. kann der Algorithmus keine zusätzlichen Sätze von Beleuchtungsstärke speichern, wenn die nutzerspezifische oder Standard-Beleuchtungsstärke eine geeignete Oberflächenbeleuchtung schafft, so dass es ausreichend wenig „zu helle” oder „zu dunkle” Pixel gibt.)
  • In einer Ausführungsform eines anderen Aspekts der Erfindung wird aus dem vorläufigen Bildstapel ein Einzelbild (d. h. einer repräsentativen Z-Position entsprechend) zwecks der Bestimmung der erwünschten Beleuchtungsstärken ausgewählt. In einer Ausführung kann eine Standardschärfe (z. B. Kontrast) angewandt werden, um das repräsentative Bild aus dem vorläufigen Bildstapel zu finden. In diesem Prozess kann der gesamte Bereich von Interesse eines Mehrpunkt-points-from-focus-Videowerkzeugs verwendet werden, um das Maß zu berechnen (im Gegensatz zu nur einem kleinen lokalen Bereich von Interesse). Mit anderen Worten kann man sich in speziellen Ausführungen auf ein Einzelbild (d. h. eine einzelne Z-Position, zu der der Objekttisch bewegt wird) verlassen, um zu bestimmen, wie die Beleuchtungsanpassungen die Beleuchtung der Oberfläche ändern. Dieses „Live”-Kamera-Einzelbild an der festgelegten Z-Position kann dann aufgenommen und in den Anpassungsschleifen des Algorithmus wiederholt und schnell analysiert werden.
  • Viele Fachkundige würden annehmen, dass für zuverlässige Ergebnisse ein Verfahren zur Beleuchtungseinstellung notwendig ist, in dem der Fokus erst derart eingestellt wird, dass nur (oder wenigstens) der dunkle Teil eines Bildes gut fokussiert wird, um die Beleuchtung für diesen dunklen Teil einzustellen, und dann derart eingestellt wird, dass nur (oder wenigstens) der helle Teil des Bildes gut fokussiert wird, um die Beleuchtung für diesen hellen Teil einzustellen. Im Gegensatz zu einem solchen Verfahren wurde allerdings experimentell festgestellt, dass für eine große Vielfalt von industriellen Werkstücken ein Bild, das bei einer Z-Höhe erfasst wird, die die höchste (oder fast höchste) Gesamtschärfe- oder Fokusmaß für einen Bereich von Interesse in einem Bildstapel hat, der unter Verwendung einer Nenn-Beleuchtungsstärke (z. B. Beleuchtung, die ein subjektiv „gutes” Bild eines Bereichs von Interesse liefert, zum Beispiel wie von einem Bediener/Beobachter eingestellt, oder eine automatisch bestimmte Nenn-Beleuchtungsstärke) erfasst wird, tendenziell ein geeignetes oder sogar bestes Bild für das Einstellen der Beleuchtungsstärke sowohl des hellen als auch des dunklen Teils ist. Dieses Verfahren wird bevorzugt, ist aber in verschiedenen Ausführungsformen nicht unbedingt erforderlich. In einer alternativen Ausführungsform kann ein Bild (d. h. eine festgelegte Z-Höhe) mit der größten Anzahl von „zu hellen” Pixeln für die erste Phase der Anpassung zum Finden der niedrigeren Beleuchtungseinstellung ausgewählt werden und ein Bild (d. h. eine festgelegte Z-Höhe) mit der größten Anzahl von „zu dunklen” Pixeln für die zweite Phase der Anpassung zum Finden der höheren Beleuchtungseinstellung ausgewählt werden. Wie vorstehend aufgezeigt, wurde jedoch in speziellen Ausführungen experimentell festgestellt, dass die Ergebnisse dieser Zwei-Bildanpassungstechnik weniger vorteilhaft sind als die Technik der Verwendung eines Einzelbildes (d. h. eine einzelne Z-Position) mit der höchsten „Durchschnitts”-Schärfe in dem Bereich von Interesse.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung kann das Einstellen der Beleuchtungsstärke mehrere Einstellungen für mehrere einzelne Leuchten umfassen. In einem speziellen Ausführungsbeispiel können die individuell anpassbaren Leuchten Leuchten wie z. B. die Koaxialleuchte, den Objekttisch, vier Segmente eines Ringlichts, eine Ringlichtposition, usw. umfassen. In einer anderen Ausführungsform können aus Effizienzgründen während der Suche nach den Beleuchtungseinstellungen die Beleuchtungsanpassungen auf eine ausgewählte Anzahl von einzelnen Leuchten (z. B. nur die Koaxialleuchte und/oder den Objekttisch usw.) beschränkt werden.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung kann in einer Ausführungsform die Suche nach zusätzlichen Beleuchtungseinstellungen nur während eines Lernmodus ausgeführt werden. Dies kann durchgeführt werden, da die Suche nach verschiedenen Beleuchtungseinstellungen ziemlich zeitaufwändig sein kann (z. B. in der Größenordnung einer Minute), so dass sie zu ineffizient sein können, um während eines Programmlaufmodus Leistung zu bringen. Sobald die Beleuchtungseinstellungen während des Lernmodus eingerichtet sind, werden sie in einem Teil-Programm gespeichert und dann während eines Programmlaufmodus verwendet, um mehrere Bildstapel ohne jegliche zusätzliche Suche nach neuen Beleuchtungseinstellungen aufzunehmen. Somit ist in solch einer Ausführung die einzelne während des Programmlaufmodus erforderliche zusätzliche Zeit diejenige Zeit, die für das Aufnehmen und Analysieren der zusätzlichen Bildstapel nötig ist, im Gegensatz zu der zusätzlichen Zeit, die für die Suche nach zusätzlichen Beleuchtungseinstellungen während des Programmlaufmodus erforderlich wäre. Es wird zu verstehen sein, dass durch derart adaptives Bestimmen der Anzahl der Bildstapel und der entsprechenden Beleuchtungseinstellungen während eines Lernmodus, und dann das Verwenden dieser Parameter während eines Programmlaufmodus, ein schnelles und effizientes Verfahren bereitgestellt wird. In einer alternativen Ausführungsform kann unter speziellen Umständen ein dynamischer Programmlaufmodus durchgeführt werden, wobei eine Suche nach zusätzlichen Beleuchtungseinstellungen während des Programmlaufmodus ausgeführt werden kann. Solch eine Ausführung kann bei einem Versuch verwendet werden, die Genauigkeit der Programmlaufmodusergebnisse auf Kosten der zusätzlichen Zeit zu verbessern, die für das Ausführen der Suche nach den zusätzlichen Beleuchtungseinstellungen während des Laufmodus erforderlich ist.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung kann die Z-Höhe-Qualitätsmetrik für die Bestimmung verwendet werden, welche Daten für die Oberflächenrekonstruktion (d. h. zum Kombinieren der Ergebnisse der 3D-Rekonstruktionen von mehreren bei wechselnden Beleuchtungseinstellungen aufgenommenen Bildstapeln) verwendet werden sollten. Mit anderen Worten kann, wenn mehrere Bildstapel bei wechselnden Beleuchtungseinstellungen zum Erzeugen einer 3D-Rekonstruktion einer Oberfläche für ein gegebenes Pixel (d. h. eine gegebene Oberflächenposition in der X-Y-Ebene) aufgenommen werden, eine Schärfekurve entsprechend derjenigen, die von den mehreren Bildstapeln die höchste Z-Höhe-Qualitätsmetrik hat, gewählt werden. Die Verwendung dieses Merkmals in Verbindung mit den Verfahren von Beleuchtungseinstellung für eine Mehrzahl von hierin offenbarten Bildstapeln schafft ein besonders rationalisiertes und schnelles, und dennoch zuverlässiges Verfahren zum Messen von Z-Höhen in einem hierin offenbarten Mehrpunkt-Videowerkzeug.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung kann die Z-Höhe-Qualitätsmetrik in einer Ausführungsform allgemein als eine Metrik definiert werden, die auf einer Beziehung (z. B. einem Verhältnis oder Quotienten) zwischen einer repräsentativen Spitzenhöhe, die von einem Datensatz zur Bestimmung der Fokusspitze angegeben wird, und einem repräsentativen Rauschpegel oder „Rauschhöhe” basiert. In einer speziellen Ausführung kann die Z-Höhe-Qualitätsmetrik als das Verhältnis des Höchstwerts des Datensatzes zur Bestimmung der Fokusspitze (oder einer Kurve, die dem Datensatz zur Bestimmung der Fokusspitze angepasst ist) minus einen Basiswert des Datensatzes zur Bestimmung der Fokusspitze (oder einer Kurve, die dem Datensatz zur Bestimmung der Fokusspitze angepasst ist) geteilt durch einen geschätzten Rauschwert des Datensatzes zur Bestimmung der Fokusspitze definiert werden. In speziellen Ausführungen kann die Basis des Datensatzes zur Bestimmung der Fokusspitze als dessen Medianwert geschätzt werden, wobei sich die meisten Werte in diesem Satz in der Nähe der Basis befinden können und normalerweise eine relativ kleine Anzahl von Werten in dem Bereich der Fokusspitze auftreten kann. Solch ein Datensatz zur Bestimmung der Fokusspitze kann einem Bildstapel entsprechen, der eine relativ große Anzahl von Bildern (z. B. 100 Bilder) umfasst, verteilt über beispielsweise einen ziemlich großen Z-Höhe-Bereich um die Position des besten Fokus. In bestimmten Ausführungen kann der geschätzte Rauschwert als Median der absoluten Differenz von dem Median des Datensatzes zur Bestimmung der Fokusspitze bestimmt werden.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung kann in einem speziellen Ausführungsbeispiel die spezielle Gleichung zum Berechnen der Z-Höhe-Qualitätsmetrik einen Zähler haben, der einen Höchstkontrastwert minus einen Basiskontrastwert, der der Median aller Kontrastwerte in der entsprechenden Kontrastkurve ist, haben. Der Nenner der Gleichung kann den Median der absoluten Abweichung der Differenz zwischen allen Kontrastwerten der Kontrastkurve und des Basiskontrastwerts umfassen. Es wird zu verstehen sein, dass in dieser Gleichung im Allgemeinen der Nenner das Rauschen der Kurve schätzt. Starkes Rauschen (d. h. eine große mittlere absolute Abweichung von der Basis) zeigt eine geringere Fokusqualität an.
  • In einer Ausführungsform eines anderen Aspekts der Erfindung schafft, während die verschiedenen beleuchteten Bildstapel auf der Grundlage eines Helligkeitskriteriums kombiniert/ausgewählt werden könnten, die Verwendung einer Z-Höhe-Qualitätsmetrik als das Kombinations/Auswahlkriterium in gewissen Ausführungen bessere Ergebnisse. Ein bekannter Vorteil der Verwendung einer Z-Höhe-Qualitätsmetrik als das Kriterium besteht darin, dass das Wählen der Beleuchtungsstärken toleranter gemacht wird, da die Verwendung einer Z-Höhe-Qualitätsmetrik als die Basis für die Auswahl im Allgemeinen umfassender und relevanter und robuster als die Verwendung eines Helligkeitskriteriums für die Auswahl ist. Außerdem können auch gewisse Fokusqualität-Metadaten gespeichert und für spätere Anwendungen verwendet werden.
  • In einigen Ausführungsformen kann ein Mehrpunkt-Z-Höhe-Messwerkzeug, das in einem Modus arbeitet, der Mehrpunkt-Z-Höhe-Messungen auf der Grundlage der Bereitstellung von mehreren Bildstapeln liefert, deren Beleuchtung und Analyse auf den hierin offenbarten Lehren basieren, auch in einem Modus betrieben werden, der zuvor bekannte Operationen bereitstellt, wobei ein einzelner Bildstapel und eine einzelne Beleuchtungseinstellung verwendet werden, um Mehrpunkt-Z-Höhe Messungen zu liefern. Der Modus kann unter Verwendung von GUI-Elementen gewählt werden, die dem Mehrpunkt-Z-Höhe-Messwerkzeug zugeordnet sind. In einigen Ausführungsformen kann ein Nutzer bestimmen, ob ein Mehrpunkt-Z-Höhe-Messwerkzeug in einem Modus arbeitet, der „höhere Genauigkeit” priorisiert (z. B. wo Bildstapel vorgesehen sein können, die eine optimalere Beleuchtung in einigen Teilbereichen auf Kosten der Datenerfassungs- und/oder Ausführungszeit haben) oder in dem Modus, der „höhere Geschwindigkeit” priorisiert (z. B. wo Bildstapel vorgesehen sein können, die in einigen Teilbereichen eine weniger optimale Beleuchtung liefern, um die Datenerfassungs- und/oder Ausführungszeit zu reduzieren).
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorstehend genannten Aspekte und viele der entsprechenden Vorteile der hierin offenbarten Ausführungsformen werden durch Bezugnahme auf die folgende detaillierte Beschreibung in Verbindung mit den begleitenden Zeichnungen leichter zu würdigen und besser zu verstehen sein. Dabei sind:
  • 1 ein Diagramm, das verschiedene repräsentative Komponenten eines maschinell sehenden Universalpräzisionsinspektionssystems zeigt;
  • 2 ein Blockdiagramm eines Steuersystemteils und eines Teils mit maschinell sehenden Komponenten eines maschinell sehenden Universalinspektionssystems;
  • 3 ein Diagramm eines Bildes einer Oberfläche eines mit einer einzelnen Beleuchtungseinstellung aufgenommenen komplexen Objekts;
  • 4A4C Diagramme von Bildern der Oberfläche des komplexen Objekts aus 3, das mit wechselnden Beleuchtungseinstellungen aufgenommen wurde;
  • 5A und 5B Graphen, die Kurven darstellen, die repräsentativ für niedrige und hohe Fokusqualitätswerte sind;
  • 6 ein Diagramm einer Serie von schematisch dargestellten variablen Fokusbildstapeln, die mit wechselnden Beleuchtungseinstellungen aufgenommen wurden;
  • 7A und 7B Diagramme, die verschiedene Merkmale einer Ausführungsform einer Benutzerschnittstelle eines Z-Höhe-Messwerkzeugs darstellen;
  • 8A8D Diagramme, die verschiedene Einstellungen darstellen, die einer Ausführungsform eines Z-Höhe-Messwerkzeugs zugeordnet sind und Parameter umfassen, die der Verwendung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren zugeordnet sind;
  • 9A und 9B Ablaufdiagramme, die ein Beispiel für eine Routine zeigen, die eine Ausführungsform zum Ausführen von Z-Höhe-Messungen unter Verwendung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren zeigt;
  • 10 ein Ablaufdiagramm, das ein Beispiel für eine Routine zum Suchen nach mehreren Beleuchtungsvektoren unter Verwendung nur eines einzelnen Bildes und einer einzelnen Z-Höhe darstellt;
  • 11A und 11B Ablaufdiagramme, die ein Beispiel für eine Routine darstellen, die eine andere Ausführungsform zum Ausführen von Z-Höhe-Messungen unter Verwendung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren zeigt.
  • 12 ein Ablaufdiagramm, das ein Beispiel für eine Routine darstellt, die eine Ausführungsform von Operationen zum Bestimmen von Beleuchtungsparametern in den Routinen von 9, 10 oder 11 zeigt;
  • 13 ein Diagramm, das eine Ausführungsform einer Benutzerschnittstellenanzeigevorrichtung eines maschinell sehenden Inspektionssystems zeigt, die verschiedene Merkmale umfasst, die einem Z-Höhe-Messwerkzeug zugeordnet sind, das mehrere Bildstapel und Beleuchtungseinstellungen verwendet; und
  • 14 ein Ablaufdiagramm, das ein Beispiel für eine Routine darstellt, die eine Ausführungsform von in der einbezogenen '054 Veröffentlichung beschriebenen Operationen zeigt, die verwendet werden können, um jeden einer Mehrzahl von Bildstapeln zu analysieren, die von einem hierin offenbarten Mehrpunkt-Z-Höhe-Messwerkzeug analysiert werden. Die in 14 gezeigte Z-Höhe-Metrik kann als eine Z-Höhe-Qualitätsmetrik in den Routinen von 9 oder 11 verwendet werden.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Blockdiagramm eines Beispiels für ein maschinell sehendes Inspektionssystem 10, das in einer Ausführungsform verwendbar ist. Das maschinell sehende Inspektionssystem 10 umfasst eine maschinell sehende Messmaschine 12, die betriebsfähig ist, Daten und Steuersignale mit einem Steuercomputersystem 14 auszutauschen. Das Steuercomputersystem 14 ist ferner betriebsfähig, Daten und Steuersignale mit einem Bildschirm oder Display 16, einem Drucker 18, einem Joystick 22, einer Tastatur 24 und einer Maus 26 auszutauschen. Der Bildschirm oder das Display 16 können eine Benutzerschnittstelle anzeigen, die dazu geeignet ist, die Vorgänge des maschinell sehenden Inspektionssystems 10 zu steuern und/oder zu programmieren.
  • Die maschinell sehende Messmaschine 12 umfasst einen bewegbaren Werkstücktisch 32 und ein optisches Bildgebungssystem 34, das ein Zoomobjektiv oder auswechselbare Linsen umfassen kann. Das Zoomobjektiv oder die auswechselbaren Linsen stellen im Allgemeinen diverse Vergrößerungen für die Bilder bereit, die von dem optischen Bildgebungssystem 34 bereitgestellt werden. Das maschinell sehende Inspektionssystem 10 ist im Allgemeinen mit der zuvor erwähnten Reihe QUICK VISION® von maschinell sehenden Systemen und der vorstehend erörterten Software QVPAK® und ähnlichen handelsüblichen maschinell sehenden Präzisionsinspektionssystemen aus dem Stand der Technik vergleichbar. Das maschinell sehende Inspektionssystem 10 ist auch in US-Patent Nr. 7,454,053 und in dem gleichzeitig anhängigen und gemeinsam übertragenen Patent 8,111,938 , eingereicht am 23. Dezember 2008, die hierin jeweils durch Bezugnahme in ihrer Gesamtheit miteinbezogen sind, beschrieben. Verschiedene Aspekte von maschinell sehenden Maschinen und Steuersystemen sind auch detaillierter in der gleichzeitig anhängigen und gemeinsam übertragenen Veröffentlichung vor Erteilung, eingereicht am 4. August 2004, und dem US-Patent 7,324,682 , eingereicht am 25. März 2004, beschrieben, die ebenfalls hierin durch Bezugnahme in ihrer Gesamtheit miteinbezogen sind.
  • Bild 2 ist ein Blockdiagramm eines Steuersystemteils 120 und eines Teils 200 mit Komponenten zum maschinellen Sehen eines maschinell sehenden Inspektionssystems 100 in einer Ausführungsform. Wie nachstehend ausführlicher beschrieben wird, wird der Steuersystemteil 120 verwendet, um den Teil 200 mit Komponenten zum maschinellen Sehen zu steuern. Der Teil 200 mit Komponenten zum maschinellen Sehen umfasst einen optischen Baugruppenteil 205, Lichtquellen 220, 230 und 240 und einen Werkstücktisch 210 mit einem transparenten Mittelteil 212. Der Werkstücktisch 210 ist an der X- und Y-Achse entlang steuerbar bewegbar, die in einer Ebene liegen, die im Allgemeinen parallel zur Oberfläche des Objekttisches ist, auf dem ein Werkstück 20 positioniert sein kann. Der optische Baugruppenteil 205 umfasst ein Kamerasystem 260, eine auswechselbare Objektivlinse 250 und kann eine Revolverlinsenbaugruppe 280 mit den Linsen 286 und 288 umfassen. Alternativ zur Revolverlinsenbaugruppe kann eine feste oder manuell auswechselbare vergrößerungsändernde Linse oder eine Zoomobjektivkonfiguration oder dergleichen enthalten sein. Der optische Baugruppenteil 205 ist steuerbar an einer Z-Achse entlang bewegbar, die zu der X- und Y-Achse im Wesentlichen orthogonal ist, indem ein steuerbarer Motor 294 verwendet wird, wie er nachstehend beschrieben wird.
  • Ein Werkstück 20, das unter Verwendung des maschinell sehenden Inspektionssystems 100 abzubilden ist, wird auf den Werkstücktisch 210 gelegt. Eine oder mehrere von einer Objekttischleuchte 220, einer koaxialen Leuchte 230 und einer Oberflächenleuchte 240 können jeweils ein Quelllicht 222, 232 bzw. 242 emittieren, um das Werkstück 20 zu beleuchten. Das Quelllicht wird als Werkstücklicht 255, das durch die auswechselbare Objektivlinse 250 und die Revolverlinsenbaugruppe 280 tritt, reflektiert oder übertragen und von dem Kamerasystem 260 gesammelt. Das Bild des Werkstücks 20, das von dem Kamerasystem 260 aufgenommen wird, wird auf einer Signalleitung 262 an den Steuersystemteil 120 ausgegeben. Die Lichtquellen 220, 230 und 240 können jeweils über Signalleitungen oder Busse 221, 231 bzw. 241 mit dem Steuersystemteil 120 verbunden sein. Um die Bildvergrößerung zu ändern, kann der Steuersystemteil 120 die Revolverlinsenbaugruppe 280 an der Achse 284 entlang drehen, um über eine Signalleitung oder einen Bus 281 eine Revolverlinse auszuwählen.
  • Bei diversen Ausführungsbeispielen ist der optische Baugruppenteil 205 in der vertikalen Z-Achsenrichtung im Verhältnis zum Werkstücktisch 210 unter Verwendung eines steuerbaren Motors 294 bewegbar, der ein Stellglied, ein Verbindungskabel oder dergleichen antreibt, um den optischen Baugruppenteil 205 an der Z-Achse entlang zu bewegen, um den Fokus des Bildes des Werkstücks 20, das von dem Kamerasystem 260 aufgenommen wird, zu ändern. Der Begriff Z-Achse, wie er hier verwendet wird, bezieht sich auf die Achse, die dazu gedacht ist, zum Fokussieren des Bildes verwendet zu werden, das durch den optischen Baugruppenteil 205 erzielt wird. Der gegebenenfalls verwendete steuerbare Motor 294 ist über eine Signalleitung 296 mit der Ein-/Ausgangsschnittstelle 130 verbunden.
  • Wie in 2 gezeigt, umfasst der Steuersystemteil 120 in diversen Ausführungsformen eine Steuereinrichtung 125, eine Ein-/Ausgangsschnittstelle 130, einen Speicher 140, eine Vorrichtung 170 zum Erzeugen und Ausführen von Werkstück-Programmen und einen Energieversorgungsteil 190. Jede dieser Komponenten sowie die nachstehend beschriebenen zusätzlichen Komponenten, können über einen oder mehrere Daten-/Steuerbusse und/oder Schnittstellen zur Anwendungsprogrammierung oder über direkte Verbindungen zwischen den diversen Elementen zusammengeschaltet sein.
  • Die Ein-/Ausgangsschnittstelle 130 umfasst eine Schnittstelle zur Bildgebungssteuerung 131, eine Schnittstelle zur Bewegungssteuerung 132, eine Schnittstelle 133 zur Beleuchtungssteuerung und eine Schnittstelle zur Linsensteuerung 134. Die Schnittstelle 132 zur Bewegungssteuerung kann ein Positionssteuerelement 132a und ein Element zum Steuern der Geschwindigkeit/Beschleunigung 132b umfassen. Es sollte jedoch zu verstehen sein, dass in manchen Ausführungsformen solche Elemente zusammengelegt und/oder nicht unterscheidbar sein können. Die Schnittstelle 133 zur Beleuchtungssteuerung umfasst Beleuchtungssteuerelemente 133a133b, die die Auswahl, die Energie, den Ein/Aus-Schalter und gegebenenfalls die Stroboskop-Puls-Zeit für die diversen entsprechenden Lichtquellen des maschinell sehenden Inspektionssystems 100 steuern.
  • Der Speicher 140 umfasst einen Speicherteil für Bilddateien 141, einen Speicherteil für Werkstück-Programme 142, der ein oder mehrere Teil-Programme oder dergleichen umfassen kann, und einen Videowerkzeugteil 143. Der Videowerkzeugteil 143 umfasst den Videowerkzeugteil 143a und andere Videowerkzeugteile, die die GUI, den Bildverarbeitungsvorgang usw. für jedes der entsprechenden Videowerkzeuge bestimmen. Der Videowerkzeugteil 143 umfasst auch eine Vorrichtung 143x zum Erzeugen eines Bereichs von Interesse (ROI), die automatische, halbautomatische und/oder manuelle Vorgänge unterstützt, die diverse ROIs definieren, die in diversen Videowerkzeugen betreibbar sind, die in dem Videowerkzeugteil 143 enthalten sind.
  • Der Videowerkzeugteil 143 umfasst außerdem den Z-Höhe-Messwerkzeugeteil 149, der verschiedene Operationen und Merkmale im Zusammenhang mit Z-Höhe-Messoperationen bereitstellt, wie nachstehend detaillierter beschrieben ist. In einer Ausführungsform kann der Z-Höhe-Messwerkzeugteil 143g Z-Höhe-Werkzeuge 143ga und eine Z-Höhe-Werkzeug-Modussteuerung 143gb umfassen. Die Z-Höhe-Werkzeuge 143ga können ein Mehrfachbereich-Autofokus-Werkzeug 143gaa, ein Mehrpunkt-Autofokus-Werkzeug 143gab und ein Weißlicht-Interferometriewerkzeug 143gac umfassen. Die Z-Höhe-Werkzeug-Modussteuerung 143gb kann einen Teil 143gba zur Steuerung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren und einen Z-Höhe-Qualitätbestimmungsteil 143gbb umfassen.
  • Kurz gesagt kann der Z-Höhe-Messwerkzeugteil 143g wenigstens einige Operationen auf ähnliche Weise wie bekannte Z-Höhe-Messwerkzeuge ausführen, wie zum Beispiel Operationen im Lernmodus und Programmlaufmodus zum Erzeugen einer Gesamt- oder Teilfokuskurve und Feststellen ihrer Spitze als eine Position des besten Fokus. Zusätzliche Z-Höhe-Messwerkzeugoperationen, die Gegenstand dieser Offenbarung sind, sind nachstehend detaillierter beschrieben.
  • Wie nachstehend detaillierter beschrieben wird, arbeitet der Teil 143gba zur Steuerung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren in einer Ausführungsform, in der mehrere Bildstapel verwendet werden, die mit mehreren Beleuchtungsvektoren aufgenommen werden, um die Genauigkeit der Rekonstruktion einer gemessenen Oberfläche zu erhöhen. In einer Ausführungsform werden mehrere Beleuchtungsstärken (z. B. zwei, drei oder mehr Beleuchtungsstärken) auf der Grundlage von Helligkeitskriterien automatisch festgestellt und werden die Ergebnisse der 3D-Konstruktion bei jeder gewählten Beleuchtungsstärke (z. B. bis zu drei Bildstapel) unter Verwendung einer Z-Höhe-Qualitätsmetrik effektiv kombiniert. Die Z-Höhe-Qualitätsmetrik wird von dem Z-Höhe-Qualität-Bestimmungsteil 143gbb bestimmt und kann für einen speziellen Bereich von Interesse definiert werden. In einigen Ausführungsformen kann ein Bereich oder Teilbereich von Interesse einen kleinen Satz von Pixeln umfassen, die derart definiert sind, dass sie einzelnen Pixelpositionen entsprechen oder diese darstellen.
  • Alternative Konfigurationen sind auch für den Z-Höhe-Messwerkzeugteil 143g möglich. Zum Beispiel können die Z-Höhe-Werkzeuge 143ga zusätzliche Z-Höhe-Messwerkzeugelemente bieten und kann der Modussteuerteil 143gb Operationen bereitstellen, die die Benutzerschnittstelle und Wechselbeziehungen der Z-Höhe-Messwerkzeugelemente je nach dem erwünschten Werkzeugverhalten steuern. Allgemeiner können die hierin offenbarten Ausführungsformen auf jegliche jetzt bekannte oder später entwickelte Weise ausgeführt sein, die in Verbindung mit dem maschinell sehenden Inspektionssystem 100 durchführbar ist, um die hierin in Bezug auf die Z-Höhe-Messoperationen offenbarten Merkmale bereitzustellen.
  • Im Allgemeinen speichert der Speicherteil 140 Daten, die verwendet werden können, um den Teil 200 mit Komponenten zum maschinellen Sehen so zu betreiben, dass er ein Bild des Werkstücks 20 aufnimmt oder erfasst, so dass das erfasste Bild des Werkstücks 20 erwünschte Bildeigenschaften hat. Der Speicherteil 140 kann auch Inspektionsergebnisdaten speichern und ferner Daten speichern, die verwendet werden können, um das maschinell sehende Inspektionssystem 100 so zu betreiben, dass es verschiedene Inspektions- und Messoperationen an den erfassten Bildern entweder manuell oder automatisch ausführt (z. B. teilweise als Videowerkzeuge ausgeführt) und die Ergebnisse über die Ein-/Ausgangsschnittstelle 130 ausgibt. Der Speicherteil 140 kann auch Daten enthalten, die eine graphische Benutzerschnittstelle definieren, die über die Ein-/Ausgangsschnittstelle 130 bedient werden kann.
  • Die Signalzeilen oder Busse 221, 231 und 241 der Objekttischbeleuchtung 220, der Koaxialleuchte 230 und der Oberflächenleuchte 240 sind jeweils mit der Ein-/Ausgangsschnittstelle 130 verbunden. Die Signalleitung 262 des Kamerasystems 260 und die Signalleitung 296 des steuerbaren Motors 294 sind mit der Ein-/Ausgangsschnittstelle 130 verbunden. Zusätzlich zum Transport von Bilddaten kann die Signalleitung 262 ein Signal von der Steuereinrichtung 125 transportieren, das die Bildaufnahme initiiert.
  • Eine oder mehrere Anzeigeeinheiten 136 und eine oder mehrere Eingabevorrichtungen 138 können auch mit der Ein-/Ausgangsschnittstelle 130 verbunden sein. Die Anzeigeeinheiten 136 und Eingabevorrichtungen 138 können verwendet werden, um eine Benutzerschnittstelle anzuzeigen, die verschiedene graphische Benutzerschnittstellen(GUI)-Merkmale umfassen kann, die verwendet werden können, um Inspektionsoperationen auszuführen und/oder Teil-Programme zu entwickeln oder zu modifizieren, um die von dem Kamerasystem 260 aufgenommenen Bilder zu sehen und/oder den Teil 200 mit Komponenten zum maschinellen Sehen direkt zu steuern. In einem vollständig automatisierten System mit einem vordefinierten Teil-Programm (oder Werkstück-Programm) können die Anzeigeeinheiten 136 und/oder die Eingabevorrichtungen 138 weggelassen werden.
  • In verschiedenen Ausführungsbeispielen erzeugt ein Nutzer, wenn er das maschinell sehende Inspektionssystem 100 verwendet, um ein Teil-Programm für das Werkstück 20 zu entwickeln, Teil-Programmanweisungen entweder durch explizites automatisches, halbautomatisches oder manuelles Kodieren der Anweisungen unter Verwendung einer Werkstück-Programmiersprache oder durch Erzeugen der Anweisungen durch Betreiben des maschinell sehenden Inspektionssystems 100 in einem Lernmodus, um eine erwünschte Bildaufnahmestrainingssequenz bereitzustellen. Zum Beispiel kann eine Trainingssequenz das Positionieren eines Werkstückmerkmals im Sichtfeld (FOV), das Einstellen von Beleuchtungsstärken, Fokussieren oder Autofokussieren, Erfassen eines Bildes und Bereitstellen einer Inspektionstrainingssequenz, die auf das Bild angewandt wird (z. B. Verwendung von Videowerkzeugen), umfassen. Der Lernmodus arbeitet so, dass die Sequenz(en) aufgenommen und in entsprechende Teil-Programmanweisungen umgewandelt werden. Diese Anweisungen bewirken bei Ausführung des Teil-Programms, dass das maschinell sehende Inspektionssystem die trainierte Bildaufnahme und die trainierte Inspektionsoperation reproduziert, um automatisch ein Werkstück oder Werkstücke zu inspizieren, die zu dem bei der Entwicklung des Teil-Programms verwendeten Werkstück passen.
  • Diese Analyse- und Inspektionsverfahren, die für die Inspektion von Merkmalen in einem Werkstückbild verwendet werden, werden typischerweise in verschiedenen Videowerkzeugen ausgeführt, die in dem Videowerkzeugteil 143 des Speichers 140 enthalten sind, der den Z-Höhe-Messungswerkzeugteil 143g umfasst. Viele bekannte Videowerkzeuge oder kurz „Werkzeuge” sind in handelsüblichen maschinell sehenden Inspektionssystemen enthalten, wie z. B. in den QUICK VERSION® Serien von maschinell sehenden Systemen und in der zugehörigen QVPAK® Software, die vorstehend erörtert wurden.
  • Wie zuvor skizziert und nachstehend detaillierter beschrieben, erfassen Z-Höhe-Messungswerkzeuge, wie z. B. Z-Höhe-Werkzeuge 143ga, typischerweise eine Serie von Bildern und entwickeln Fokuskurven als Teil eines Prozesses zum Bestimmen einer Position des „besten Fokus”. Durch Verwendung der Verfahren, die den Teil 143gba zur Steuerung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren und den Z-Höhe-Qualitätbestimmungsteil 143gbb verwenden, können präzisere Z-Höhe-Messungen für Points-from-focus(PFF)-Operationen und Oberflächenrekonstruktionen erreicht werden.
  • 3 ist ein Diagramm eines Bildes 300 einer Oberfläche eines komplexen Objekts 301 (z. B. eine medizinische Bohrspitze), das mit einer einzelnen Beleuchtungseinstellung aufgenommen wurde. Wie nachstehend detaillierter beschrieben, wurde festgestellt, dass eine einzelne Beleuchtungseinstellung für Bildgebungsvorgänge zum Rekonstruieren einer präzisen Darstellung einer komplexen Oberfläche in speziellen Fällen unzulänglich sein kann. Dies trifft besonders dann zu, wenn die gemessene Oberfläche ein breites Spektrum an Oberflächenwinkeln enthält, was zu Beleuchtungsschwankungen führt, die über den dynamischen Bereich einer gegebenen Kamera hinausgehen können. Wie in 3 dargestellt, ist es möglich, dass, wenn während der Rekonstruktion der Oberfläche des komplexen Objekts 301 eine einzelne Beleuchtungseinstellung verwendet wird, ein Bild des zentralen Bereichs 314 von 3 nicht übersättigt ist und der Bereich 314 somit für die Rekonstruktion der Oberfläche verwendet wird, aber die rekonstruierte Oberfläche fehlende Bereiche hat (z. B. Bereich 310, der zu dunkel ist, und Bereiche 312 und 316, die zu hell sind).
  • Mit anderen Worten variiert die Beleuchtungsstärke aufgrund der komplexen Form des Objekts 301 auf der Oberfläche stark. Dies führt zu mangelndem Kontrast in sehr dunklen Bereichen (z. B. Bereich 310) und sehr hellen (übersättigten) Bereichen (z. B. Bereichen 312 und 316.) Der mangelnde Kontrast macht es schwierig, die Oberfläche in diesen Positionen zuverlässig zu rekonstruieren. In einigen Fällen kann der Mangel an Kontrast dadurch bedingt sein, dass die Beleuchtungsschwankung über den dynamischen Bereich der Kamera hinausgeht. In einer Ausführungsform kann die Bestimmung, ob der Kontrast zu schwach ist, um eine zuverlässige Rekonstruktion gewisser Bereiche der Oberfläche zu ermöglichen, entsprechend einer Z-Höhe-Qualitäts-Metrik ausgeführt werden, wie nachstehend mit Bezug auf 5A und 5B detaillierter beschrieben wird.
  • 4A4C sind Diagramme von Bildern der Oberfläche des komplexen Objekts 301 aus 3, die mit drei verschiedenen Beleuchtungseinstellungen aufgenommen wurden. Wie in 4A gezeigt, wird eine relativ niedrige Beleuchtungseinstellung verwendet (z. B. eine Beleuchtungseinstellung, bei der relativ wenige Pixel in dem Bild übersättigt sind). Wie nachstehend detaillierter beschrieben, kann solch eine niedrige Beleuchtungseinstellung in gewissen Ausführungsformen gemäß gewissen festgelegten Kriterien gewählt werden (z. B. Beschränkung der Anzahl von hellen Pixeln in dem Bild, die sich in den oberen 25% eines Helligkeitsbereichs der Kamera befinden, auf einen relativ kleinen Anteil der Gesamtanzahl von Pixeln in dem Bereich von Interesse, wie z. B. 0,1%). In Folge der in 4A gezeigten relativ niedrigen Beleuchtungseinstellung sind Bereiche, die sonst übersättigte Pixel bei einer standardmäßigeren Beleuchtungsstärke haben könnten (z. B. hoch reflektierende Bereiche 412A und 416A mit entsprechenden Winkeln), als innerhalb des dynamischen Bereichs der Kamera dargestellt und führen somit zu Bildteilen, deren Oberfläche in diesen Bereichen zuverlässiger rekonstruiert werden kann.
  • 4B zeigt eine Beleuchtungseinstellung im mittleren Bereich (z. B. entsprechend der Beleuchtungsstärke aus 3 oder einer vom Nutzer gewählten oder „Standard-”Beleuchtungsstärke usw.). Wie vorstehend mit Bezug auf 3 beschrieben, zeigen die Bereiche 412B und 416B Pixel, die übersättigt sind, in denen die Beleuchtung über den dynamischen Bereich der Kamera hinausgegangen ist. Der zentrale Bereich 414B aus 4B ist jedoch als nicht übersättigt gezeigt und kann somit für eine präzise Rekonstruktion der Oberfläche in diesem Bereich verwendet werden. 4B zeigt auch einen Bereich 410B, der immer noch zu dunkel für eine sinnvolle Oberflächenrekonstruktion ist.
  • 4C zeigt eine relativ hohe Beleuchtungseinstellung (z. B. eine, in der es sehr wenige dunkle Bereiche gibt). Wie nachstehend detaillierter beschrieben, kann die Beleuchtungseinstellung aus Bild 4C in einer Ausführungsform entsprechend gewisser festgelegter Kriterien gewählt werden (z. B. Definition eines Beleuchtungsvektors so, dass die Anzahl von dunklen Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen kleinen Anteil der Gesamtpixelpositionen in dem Bereich von Interesse, wie z. B. 0,1%, begrenzt sind). Wie in 4C gezeigt, sind ein Bereich 410C und ein Bereich 418C gezeigt, die beide in 4A und 4B im Allgemeinen zu dunkel sind, jetzt mit ausreichend Kontrast gezeigt, um eine zuverlässigere Oberflächenrekonstruktion in diesen Bereichen zu ermöglichen.
  • Wie vorstehend mit Bezug auf 4A4C beschrieben, kann es bei einem Objekt mit einer komplexen Oberflächenstruktur (z. B. wie einer medizinischen Bohrspitze 301) schwierig sein, eine einzelne Beleuchtungsstärke zu bestimmen, die alle Oberflächenbereiche des Objekts ausreichend beleuchtet, um eine zuverlässige Oberflächenrekonstruktion zu erreichen. Wie nachstehend detaillierter beschrieben, können in einer Ausführungsform mehrere Bildstapel bei verschiedenen Beleuchtungsstärken aufgenommen werden, so dass eine Serie von Bildern erzeugt werden kann, von der verschiedene Teile für eine zuverlässigere Rekonstruktion der Oberfläche des Objekts genommen werden können. Zum Beispiel kann durch Verwendung von verschiedenen Teilen des Bildes aus 4A4C (z. B. Bereiche 412A und 416A aus 4A, Bereich 414B aus 4B und Bereiche 410C und 418C aus 4C) eine zuverlässigere Rekonstruktion der Oberfläche des Objekts 301 erzeugt werden. Wie nachstehend mit Bezug auf 5A und 5B detaillierter beschrieben, kann in einer Ausführungsform die Bestimmung, welche Daten von welchen Bildern zu verwenden sind, sowie auch die Bestimmung, ob der Kontrast in gewissen Bereichen in irgendwelchen Bildern für zuverlässige Oberflächenrekonstruktion zu gering ist, gemäß einer Z-Höhe-Qualitätsmetrik ausgeführt werden.
  • Wie nachstehend detaillierter beschrieben, stellen die hierin offenbarten verschiedenen Ausführungsformen im Allgemeinen eine einfache automatisierte Lösung bereit, die unerwünschte fehlende Bereiche auf Oberflächen, die große Schwankungen von Beleuchtungseigenschaften haben können, reduziert. Es können mehrere Bildstapel aufgenommen werden (in einer Ausführungsform können z. B. bis zu drei Bildstapel verwendet werden), wobei jeder Bildstapel bei einer anderen Beleuchtungseinstellung aufgenommen wird. Die 3D-Rekonstruktionsergebnisse für alle aufgenommenen Bildstapel werden dann unter Verwendung einer Z-Höhe-Qualitätsmetrik kombiniert, um eine einzelne Rekonstruktion mit höherer Qualität zu erzeugen. Auf diese Weise kann es trotz des breiten Spektrums von Oberflächenwinkeln und Reflexionsvermögen in der Oberfläche des Objekts auch wenige oder keine fehlenden Bereiche in der rekonstruierten Oberfläche geben.
  • In einer Ausführungsform kann die Suche nach zusätzlichen Beleuchtungseinstellungen nur während eines Lernmodus ausgeführt werden. Dies kann so sein, weil die Suche nach verschiedenen Beleuchtungseinstellungen ziemlich zeitaufwändig (z. B. in der Größenordnung einer Minute) sein kann, so dass es ineffizient sein kann, dies während eines Programmlaufmodus zu leisten. Sobald die Beleuchtungseinstellungen während des Lernmodus festgestellt sind, werden sie in einem Teil-Programm gespeichert und dann während eines Programmlaufmodus verwendet, um mehrere Bildstapel ohne jegliche zusätzliche Suche nach neuen Beleuchtungseinstellungen aufzunehmen. Somit ist in solch einer Ausführung die einzelne während des Programmlaufmodus erforderliche zusätzliche Zeit die Zeit, die für das Aufnehmen und Analysieren der zusätzlichen Bildstapel nötig ist, im Gegensatz zu der zusätzlichen Zeit, die für die Suche nach zusätzlichen Beleuchtungseinstellungen während des Programmlaufmodus erforderlich wäre. Jedoch kann auf Wunsch auch ein dynamischer Programmlaufmodus verwendet werden, wobei eine Suche nach zusätzlichen Beleuchtungsstärken während des Programmlaufmodus ausgeführt wird. Dieser Typ von dynamischem Programmlaufmodus kann in Fällen verwendet werden, in denen bestimmt wird, dass es sich lohnt, Geschwindigkeit hinsichtlich der dadurch entstehenden höheren Präzision der Programmlaufmodusergebnisse zu opfern.
  • 5A und 5B sind Diagramme von Graphen 500A und 500B, die repräsentative Kurven mit niedrigen bzw. hohen Z-Höhe-Qualitätsmetriken zeigen. Die Graphen 500A und 500B umfassen Fokuskurvendaten, die auf eine Z-Höhe-Qualitätsmetrik Q durch Gleichung 1 bezogen sind: Q = (MAX – BAS) / Median{|Ci – BAS|} (Gl.1)
  • In Gleichung 1 umfasst ein kontrastbezogener metrischer Wert eine Z-Höhe-Qualitätsmetrik Q, die auf einem Satz von Fokuskurvendaten basiert, die Kontrastwerte vs. Z-Höhen für jede X-Y-Position in einem entsprechenden Stapel von Werkstückbildern umfassen (wie nachstehend detaillierter in Bezug auf 6 beschrieben). Die Variablen in Gleichung 1 enthalten im Zähler einen maximalen Kontrastwert MAX minus einen Basiskontrastwert BAS, der der Median aller Kontrastwerte in der entsprechenden Kontrastkurve sein kann, und im Nenner den Median der absoluten Abweichung der Differenz zwischen den i-ten Kontrastwerten Ci der Kontrastkurve und dem Basiskontrastwert BAS.
  • Es wird zu verstehen sein, dass im Allgemeinen der Nenner aus Gleichung 1 das Rauschen der Kurve schätzt. Starkes Rauschen (d. h. eine große mittlere absolute Abweichung von der Basis) führt zu geringerer Fokusqualität. Zum Beispiel ist der Graph 500A aus 5A relativ verrauscht und hat deshalb einen hohen Nenner (d. h. eine große mittlere absolute Abweichung von dem Fokusmetrikbasiswert FMbaseline), für den die berechnete Z-Höhe-Qualitätsmetrik Q relativ niedrig ist. Im Gegensatz dazu zeigt der Graph 500B aus 5B eine Kurve mit verhältnismäßig weniger Rauschen, was zu einem verhältnismäßig niedrigeren Nenner führt (d. h. eine kleine mittlere absolute Abweichung von dem Fokusmetrikbasiswert FMbaseline), für den die berechnete Z-Höhe-Qualitätsmetrik Q relativ hoch ist. In den Graphen 500A und 500B kann in manchen Fällen angenommen werden, dass die Höchstwerte der Fokusmetrik FMmax und FMmax' auf identischen Niveaus sind, wie es auch die Fokusmetrik-Basisniveaus FMbaseline und FMbaseline' sein können (es wird z. B. angenommen, dass die Graphen 500A und 500B ähnliche vertikale Ausmaße haben können), für die der Zähler in Gleichung 1 (d. h. MAX – BAS) in jedem Fall identisch ist. In anderen Fällen kann angenommen werden, dass die Fokusmetrik-Höchstwerte FMmax und FMmax' auf verschiedenen Niveaus sind, wie es der Fokusmetrik-Basiswert FMbaseline und FMbaseline' sein kann (es wird z. B. angenommen, dass die Graphen 500A und 500B verschiedene vertikale Ausmaße haben können), für die der Zähler in Gleichung 1 (d. h. MAX – BAS) sich in jedem Fall unterscheiden kann.
  • Die maximale Z-Höhe (z. B. FMmax oder FMmax'), die der Spitze der Fokuskurve entspricht, die der Position des besten Fokus entlang der Z-Achse entspricht, ist die Z-Höhe für den Bereich von Interesse, der verwendet wird, um die Fokuskurve zu bestimmen. In einer Ausführungsform kann die Z-Höhe, die der Spitze der Fokuskurve entspricht, durch Anpassen einer Kurve an die Fokuskurvendaten und Schätzen der Positionsspitze der angepassten Kurve festgestellt werden. Ein Beispiel für Techniken für die Bestimmung und Analyse von Bildstapeln und Fokuskurven wird in US-Patent Nr. 6,542,180 gelehrt, das gemeinsam übertragen und hierin durch Bezugnahme in seiner Gesamtheit einbezogen ist.
  • Allgemeiner kann die Z-Höhe-Qualitätsmetrik Q als eine Metrik definiert werden, die auf einer Beziehung (z. B. einem Verhältnis oder Quotienten) zwischen einer repräsentativen Höchsthöhe, die von einem Datensatz zur Bestimmung der Fokusspitze angegeben ist, und einem repräsentativen Rauschpegel oder „Rauschhöhe” basiert. In einer speziellen Ausführung kann eine solche Metrik als das Verhältnis des Höchstwerts des Datensatzes zur Bestimmung der Fokusspitze (oder einer Kurve, die an den Datensatz zur Bestimmung der Fokusspitze angepasst ist) minus einen Basiswert des Datensatzes zur Bestimmung der Fokusspitze (oder einer Kurve, die an den Datensatz zur Bestimmung der Fokusspitze angepasst ist) geteilt durch einen geschätzten Rauschwert des Datensatzes zur Bestimmung der Fokusspitze definiert werden. In bestimmten Ausführungen kann die Basis des Datensatzes zur Bestimmung der Fokusspitze als dessen Medianwert geschätzt werden, wobei die meisten Werte in diesem Satz in der Nähe der Basis sein können und nur eine relativ kleine Anzahl von Werten in dem Bereich der Fokusspitze auftreten mag. Solch ein Datensatz zur Bestimmung der Fokusspitze kann einem Bildstapel entsprechen, der eine relativ große Anzahl von Bildern (z. B. 100 Bilder) umfasst, die zum Beispiel über einen ziemlich großen Z-Höhe-Bereich um die Position des besten Fokus verteilt sind. In bestimmten Ausführungen kann der geschätzte Rauschwert als der Median der absoluten Differenz von dem Median des Datensatzes zur Bestimmung der Fokusspitze bestimmt werden.
  • Für einen Bildstapel, der eine relativ große Anzahl von Bildern umfasst, die über einen ziemlich großen Z-Höhe-Bereich um die Position des besten Fokus verteilt sind, zeigen große Werte von Q auf der Grundlage von Gleichung 1 zuverlässig eine starke Fokusspitze im Vergleich zu dem Rauschpegel der zugrunde liegenden Daten an, was eine relativ zuverlässige Z-Höhe-Schätzung ergibt. Auf Grundlage dieser Offenbarung kann ein gewöhnlicher Fachmann akzeptable alternative Arten, eine Z-Höhe-Qualitätsmetrik zu schätzen, die einer geschätzten Z-Höhe zugeordnet werden soll, auf Grundlage eines Datensatzes zur Bestimmung einer Fokusspitze bestimmen. Die Standardabweichung des Datensatzes kann z. B. als ein Rauschmaß in dem Fokusmetriksignal verwendet werden (im Nenner der Gleichung 1 verwendet), obwohl dieses Maß in bestimmten Ausführungen weniger wünschenswert ist, da es sowohl die Fokusspitze als auch das Rauschen in einem einzelnen Wert beinhaltet. Ein anderes Rauschmaß kann durch Glätten des Fokusmetriksignals (z. B. Verwendung eines gleitenden Mittelwerts) und dann Berechnen der Abweichung der Fokusmetrikrohsignale von dem geglätteten Signal bestimmt werden. Auf diese Weise kann das geglättete Signal als Annäherung an das Signal ohne Rauschen verwendet und das Rauschen dann geschätzt werden. Jedoch kann dieses Verfahren in bestimmten Ausführungen relativ abhängig von der Technik sein, die zum Glätten des Signals gewählt wird.
  • Ersatzwerte können auch für andere Teile der Gleichung 1 bestimmt werden. Zum Beispiel kann in einigen Ausführungsformen der Höchstwert des die Fokusspitze bestimmenden Datensatzes durch einen Mittelwert der höchsten paar Werte ersetzt werden. Auf ähnliche Weise kann in einigen Ausführungsformen der Basiswert des die Fokusspitze bestimmenden Datensatzes durch einen Mittelwert mehrerer niedrigster Werte ersetzt werden. In anderen Ausführungsformen kann die Differenz zwischen dem Höchst- und dem Basiswert (Verwendung im Zähler von Gleichung 1) auf Grundlage einer angepassten Kurve (z. B. einer Gauß-Kurve) anstatt auf Grundlage der Rohdaten des die Fokusspitze bestimmenden Datensatzes geschätzt werden. Ein Durchschnittsfachmann kann auf Grundlage der hierin offenbarten allgemeinen Prinzipien andere Variationen bestimmen.
  • In einer Ausführungsform kann eine Z-Höhe-Qualitätsmetrik Q für die Bestimmung, welche Daten für die Oberflächenrekonstruktion verwendet werden sollten, verwendet werden. Mit anderen Worten kann, wenn zum Erzeugen einer 3D-Rekonstruktion einer Oberfläche mehrere Bildstapel bei wechselnden Beleuchtungseinstellungen aufgenommen werden, für ein gegebenes Pixel (d. h. eine gegebene Oberflächenposition in der X-Y-Ebene) aus den mehreren Bildstapeln eine Schärfekurve gewählt wird, die demjenigen, der von den mehreren Bildstapeln die höchste Z-Höhe-Qualitätsmetrik hat, entspricht. Zusätzlich kann die Z-Höhe-Qualitätsmetrik auch verwendet werden, um bestimmte Oberflächenpunkte auszuschließen, wo die fokusbasierte 3D-Rekonstruktion aus allen Bildstapeln aus verschiedenen Gründen immer noch unzuverlässig ist (z. B. mangelnde Struktur, unzulängliche Beleuchtung, Übersättigung, Oberfläche außerhalb des Fokusbereichs usw.). Mit anderen Worten kann es in speziellen Ausführungsformen als vorzuziehen erachtet werden, lieber Löcher in der fertig rekonstruierten Oberfläche zu lassen anstatt an diesen Positionen eine falsche oder ungenaue Rekonstruktion zu riskieren.
  • In verschiedenen hierin offenbarten Videowerkzeugen sind alle Bildstapel (z. B. bei allen Beleuchtungsstärken) aus demselben Bereich von Interesse. Da höhere Helligkeit im Allgemeinen erhöhten Kontrast schafft, vorausgesetzt, dass keine wesentliche Sättigung und keine Änderung des Beleuchtungswinkels auftritt, kann in einigen Ausführungsformen Helligkeit als Ersatz für die Z-Höhe-Qualitätsmetrik verwendet werden. Solche Ausführungen sind jedoch möglicherweise weniger robust als die Verwendung einer echten Z-Höhe-Qualität des echten Teilbereichs, wobei unvorhersehbare und unerwünschte Effekte in Verbindung mit Defokussierung eines Teilbereichs erkannt und durch Verwendung einer echten Z-Höhe-Qualitätsmetrik wie hierin offenbart überwunden werden können, während solche unvorhersehbaren und unerwünschten Defokussierungseffekte durch eine einfachere Helligkeitsanalyse eines Teilbereichs möglicherweise nicht detektiert und überwunden werden können.
  • 6 ist ein Diagramm 600 einer Serie von schematisch dargestellten variablen Fokusbildstapeln 610, 620 und 630. Wie in der Technik bekannt ist, kann sich zum Bilden jedes der Bildstapel 610, 620 und 630 eine Kamera durch einen Bereich von Z-Höhen-Positionen entlang einer Z-Achse (der Fokussierungsachse) bewegen und an jeder Position ein Bild aufnehmen. Für jedes aufgenommene Bild kann auf Grundlage eines Bereichs oder Teilbereichs von Interesse (ROI(k)) (z. B. eines Satzes von Pixeln) eine Fokusmetrik in dem Bild berechnet und auf die entsprechende Z-Höhen-Position der Kamera entlang der Z Achse zu der Zeit, zu der das Bild aufgenommen wurde, bezogen werden. Dies ergibt Fokuskurvendaten (z. B. wie die in 5A und 5B gezeigten). In einer Ausführungsform können die Fokusmetrikwerte eine Berechnung des Kontrasts oder der Schärfe des Bereichs von Interesse in dem Bild umfassen. In verschiedenen Ausführungsformen können die Fokuswerte oder -kurven normalisiert werden. Verschiedene Techniken zur Fokusmetrikberechnung sind detailliert in den einbezogenen Referenzen beschrieben und einem Durchschnittsfachmann werden auch verschiedene geeignete Fokusmetrikfunktionen bekannt sein.
  • Wie in 6 gezeigt, ist der erste Bildstapel 610 (z. B. bei einer Beleuchtungsstärke im mittleren Bereich aufgenommen) mit vier Bildern IMG-L1(1) bis IMG-L1(4) dargestellt. Es wird zu verstehen sein, dass in einer tatsächlichen Ausführungsform eine größere Anzahl von Bildern (z. B. 100 Bilder) in einem gegebenen Bildstapel enthalten sein kann. Jedes der Bilder IMG-L1(1) bis IMG-L1(4) kann gegebenen Beleuchtungseinstellungen und einer entsprechenden Z-Höhe zugeordnet werden. Zum Beispiel kann das Bild IMG-L1(1) Beleuchtungseinstellung L1(1) und einer Z-Höhe Z1(1) zugeordnet werden, während das Bild IMG-L1(2) Beleuchtungseinstellung L1(2) und einer Z-Höhe Z1(2) zugeordnet werden kann, während das Bild IMG-L1(3) Beleuchtungseinstellung L1(3) und einer Z-Höhe Z1(3) zugeordnet werden kann und das Bild IMG-L1(4) Beleuchtungseinstellung L1(4) und der Z-Höhe Z1(4) zugeordnet werden kann.
  • Auf ähnliche Weise ist der zweite Bildstapel 620, der bei einer niedrigeren Beleuchtungseinstellung aufgenommen wird (z. B. wo sehr wenige Pixel übersättigt sind), mit vier Bildern IMG-L2(1) bis IMG-L2(4) dargestellt. Jedes dieser Bilder kann auch einer gegebenen Beleuchtungseinstellung und entsprechenden Z-Höhe zugeordnet werden, wie z. B. Bild IMG-L2(1) Beleuchtungseinstellung L2(1) und Z-Höhe Z2(1), wobei die übrigen Bilder IMG-L2(2) bis IMG-L2(4) auf ähnliche Weise entsprechend ihrer gegebenen Beleuchtungseinstellung und entsprechenden Z-Höhe zugeordnet werden. Auf ähnliche Weise ist der dritte Bildstapel 630, der bei einer höheren Beleuchtungseinstellung (z. B. mit sehr wenigen dunklen Pixeln) aufgenommen ist, mit vier Bildern IMG-L3(1) bis IMG-L3(4) dargestellt. Jedes dieser Bilder kann auch einer gegebenen Beleuchtungseinstellung und entsprechenden Z-Höhe zugeordnet werden, wie z. B. Bild IMG-L3(1) Beleuchtungseinstellung L3(1) und Z-Höhe Z3(1), wobei jedes der übrigen Bilder IMG-L3(2) bis IMG-L3(4) entsprechend ihrer gegebenen Beleuchtungseinstellung und entsprechenden Z-Höhe auf ähnliche Weise zugeordnet werden. Mit Bezugnahme auf 4A, 4B und 4C oben kann in einem Ausführungsbeispiel für ein Pixel in dem Bereich 414B das Bild 400B ein am besten fokussiertes Bild aus dem Bildstapel 610 (z. B. Bild IMG-L1(3)) darstellen. Auf ähnliche Weise kann für ein Pixel aus dem Bereich 412A das Bild 400A ein am besten fokussiertes Bild aus dem Bildstapel 620 (z. B. das Bild IMG-L2(2)) darstellen, während für ein Pixel aus dem Bereich 410C das Bild 400C ein am besten fokussiertes Bild aus dem Bildstapel 630 (z. B. das Bild IMG-L3(2)) darstellen kann.
  • Wie auch in 6 gezeigt, kann ein Bildstapel 640 gebildet werden, der alle Bilder umfasst, die in die Bildstapel 610, 620 und 630 einbezogen wurden. In einer Ausführungsform sind die Z-Höhen der in den Stapeln 610, 620 und 630 aufgenommenen Bilder hineingemischt (z. B. das erste in jedem Stapel aufgenommene Bild ist bei einer anderen Z-Höhe gemacht, anstatt dass alle bei derselben Z-Höhe aufgenommen werden), so dass, wenn die Stapel verschachtelt werden, wie in dem Bildstapel 640 dargestellt, alle Bilder bei verschiedenen Höhen sind. In einer anderen Ausführungsform können die Bilder und jeder ihrer entsprechenden Stapel bei ungefähr den gleichen Z-Höhen aufgenommen werden (z. B. das erste Bild in jedem der Bildstapel 610, 620 und 630 wird ungefähr bei der gleichen Z-Höhe aufgenommen). In einer alternativen Ausführungsform kann der Bildstapel 640, anstatt die Bildstapel 610, 620 und 630 individuell aufzunehmen, als ein kontinuierlicher Prozess erfasst werden, wobei die Beleuchtungseinstellungen eingestellt werden, bevor jedes Bild aufgenommen wird. Jedoch ist in bestimmten Ausführungen das Ändern der Beleuchtungseinstellung, bevor jedes Bild aufgenommen wird, aufgrund der langsamen Reaktionszeiten, die bei bestimmten vorhandenen Geräten beim Wechseln der Beleuchtungseinstellungen existieren können, nicht praktisch. Mit anderen Worten kann es, wenn die verwendete Gerätschaft zu viel Zeit zum Einstellen der Beleuchtungseinstellungen benötigt, in speziellen Fällen als weniger praktisch betrachtet werden, den gesamten Bildstapel 640 als einen kontinuierlichen Prozess aufzunehmen.
  • Das erste Bild IMG-L1(1) des Bildstapels 610 ist mit zwei Bereichen von Interesse ROI(1) und ROI(2) dargestellt. Bezüglich des Ausdrucks „Bereich von Interesse” wird zu verstehen sein, dass verschiedene Arten von Werkzeugen (z. B. Z-Höhe-Werkzeuge 143ga) bezüglich des Bereichs von Interesse möglicherweise unterschiedlich definieren und arbeiten. Zum Beispiel können bekannte Autofokuswerkzeuge vom „Mehrpunkt-”Typ (z. B. Werkzeuge 143gab aus 2) mehrere Z-Höhen ergeben, die einzelnen „Teilbereichen von Interesse” (z. B. einem Gitter von Teilbereichen von Interesse) innerhalb eines globalen Bereichs von Interesse entsprechen, der durch das Z-Höhe-Werkzeug vom Mehrpunkttyp definiert wird. Zum Beispiel können solche Teilbereiche von Interesse manuell und/oder automatisch, als auf jedem (oder den meisten) Pixel innerhalb des globalen Bereichs von Interesse zentriert definiert werden. Auf diese Art können die Bereiche von Interesse (z. B. ROI(1) und ROI(2)) in einigen Fällen als repräsentative Teilbereiche von Interesse innerhalb eines globalen Bereichs von Interesse betrachtet werden. Der wesentliche Punkt ist jedoch, dass für jeglichen definierten Bereich von Interesse eine Z-Höhe festgestellt werden kann.
  • Dementsprechend wird zu verstehen sein, dass, wenn der Ausdruck „Bereich von Interesse” in Bezug auf das Feststellen einer Z-Höhe verwendet wird, Teilbereiche von Interesse (z. B. innerhalb eines globalen Bereichs von Interesse, der durch ein Mehrpunkt-Autofokus-Werkzeug definiert wird) in der Bedeutung dieses Ausdrucks enthalten sein können. Um diesen Punkt darzustellen, werden die Bereich von Interesse ROI(1) und ROI(2) relativ klein gezeigt (z. B. 3×3 Pixel), wie es für einige Teilbereiche von Interesse eines Mehrpunkt-Autofokus-Werkzeugs typisch wäre. Zum Beispiel kann solch eine Bereichsgröße zum Bestimmen einer Fokusspitze für ein einzelnes zentrales Pixel in jedem Bereich (oder Teilbereich) von Interesse verwendet werden.
  • Auf der rechten Seite von 6 sind qualitativ dargestellte Fokuskurven für die Teilbereiche ROI(1) und ROI(2) gezeigt. Zum Beispiel stellt die Fokuskurve FCL2(1) die Fokuskurvenergebnisse für Teilbereiche ROI(1) in dem qualitativ dargestellten Bildstapel IMGL2 qualitativ dar, der unmittelbar links davon angeordnet ist, und dann auch so für die anderen Fokuskurven. Auf Grundlage der vorherigen Beschreibung und Lehren wird zu verstehen sein, dass eine höhere Fokuskurvenspitze einem besseren Bildkontrast und/oder einer besseren Z-Höhe-Qualitätsmetrik für die zugrunde liegenden Bilder entsprechen kann. 6 zeigt somit ein Beispiel, in dem der Teilbereich ROI(1) die geeignetste Beleuchtungsstärke in dem Bildstapel IMGL1 hat, wodurch er die höchste Fokuskurvenspitze in diesem Bildstapel aufweist. Gleichzeitig hat der Teilbereich ROI(2) die geeignetste Beleuchtungsstärke in dem Bildstapel IMGL3, wodurch er die höchste Fokuskurvenspitze in diesem Bildstapel aufweist. Auf Grundlage der vorherigen Beschreibung und Lehren wird zu verstehen sein, dass eine höhere Fokuskurvenspitze oft einem besseren Bildskontrast und/oder einer besseren Z-Höhe-Qualitätsmetrik für die zugrunde liegenden Bilder entsprechen kann. Somit kann in diesem Fall die Z-Höhe für den Teilbereich ROI(1) am besten auf Grundlage der Fokuskurve des Bildstapels IMGL1 bestimmt werden und die Z-Höhe für den Teilbereich ROI(2) am besten auf der Grundlage der Fokuskurve des Bildstapels IMGL3 bestimmt werden.
  • 7A und 7B sind Diagramme, die verschiedene Merkmale einer Ausführungsform einer Benutzerschnittstelle 700 darstellen, die eine Z-Höhe-Werkzeug-Benutzerschnittstelle 720 (deren Umsetzung auch als Z-Höhe-Werkzeug-Benutzerschnittstellen-Widget 720 bezeichnet werden kann). 7A zeigt ein Sichtfeld 705, das zwei Werkstückoberflächen 710a und 710b aufweist, und die Z-Höhe-Werkzeug-Benutzerschnittstelle 720, die einen Beleuchtungssymbolmodusindikator 721 umfasst, der anzeigt, dass die Z-Höhe-Werkzeug-Benutzerschnittstelle 720 in einem Z-Höhe-Werkzeug-Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren arbeitet, und einen Bereich von Interesse oder Indikator 722 eines Bereichs von Interesse, der definiert wird, während der Z-Höhe-Werkzeug-Modus aktiv ist. Der Beleuchtungssymbolmodusindikator 721 ist mit drei gekrümmten Pfeilen darin dargestellt, die für die Operation mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren repräsentativ sind. Es wird zu verstehen sein, dass in einigen Bildverarbeitungssystemen ein hierin offenbartes Z-Höhe-Werkzeug, -Modus oder -Verfahren in Verbindung mit bekannten oder herkömmlichen Z-Höhe-Werkzeugen, -Modi oder -Verfahren vorgesehen sein kann. Der Beleuchtungssymbolmodusindikator 721 unterscheidet somit den Z-Höhe-Werkzeug-Betriebsmodus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren von anderen Arten von Z-Höhe-Operationen. Verschiedene Aspekte des Betriebs des Z-Höhe-Werkzeugs und seiner Benutzerschnittstelle 720, die nachstehend nicht im Detail beschrieben sind, können entsprechend bekannten Verfahren in kommerziellen Systemen und/oder sonst wie hierin beschrieben arbeiten.
  • In der in 7A gezeigten Ansicht wurde die Benutzerschnittstelle Bereich von Interesse 722 zur Bearbeitung ausgewählt. Wenn der Bereich von Interesse 722 zur Bearbeitung ausgewählt wird, kann, wie gezeigt, entlang der Ecken und Seiten ein Satz von Größen-Positionsbearbeitungs-Ziehpunkten 725 (der einzelne Ziehpunkte wie z. B. Ziehpunkt 727 aufweist, der durch Ziehen gesteuert werden kann) angezeigt werden. Das Z-Höhe-Werkzeug oder der Z-Höhe-Modus (z. B. wie durch die Benutzerschnittstelle 720 ausgeführt) verfasst bestimmte Kombinationen von Operationen entsprechend den oben skizzierten Prinzipien.
  • 7B zeigt eine Ausführungsform einer Werkzeugauswahlleiste 707, die eine Schaltfläche 740 zur Aktivierung des Z-Höhe-Werkzeugtyps mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren aufweist. 7B zeigt eine Benutzerschnittstellenkonfiguration, bei der die Werkzeugauswahlleiste 707 mittels eines „aktiv” Feldes 745 um die Schaltfläche 740 für das Z-Höhe-Werkzeug oder -Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren herum anzeigt, dass das Z-Höhe-Werkzeug oder -Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren aktiv ist und die anderen Autofokus-Werkzeug/Modus-Schaltflächen auf inaktiv eingestellt sind (es gibt kein „aktiv”-Feld um die anderen Werkzeug-/Modus-Schaltflächen herum). Dies zeigt an, dass der gegenwärtige Z-Höhe-Werkzeug-Modus der Z-Höhe-Werkzeug-Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren ist.
  • In verschiedenen Ausführungsformen würden, wenn der Nutzer einen der anderen Werkzeug-/Modus-Schaltflächen (z. B. die herkömmliche Schaltfläche 750 für das Z-Höhe-Werkzeug oder Modus) „drücken” würde, das gedrückte Werkzeug und/oder der gedrückte Modus aktiviert und die Operationen und Anzeigeelemente, die der Bearbeitung des (Indikators des) 722 einzelnen Bereichs von Interesse (gezeigt in 7A) zugeordnet sind, und die Operationen des Z-Höhe-Werkzeugs oder -Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren dann abgeschlossen und/oder deaktiviert. In einigen Ausführungsformen kann der Status der Werkzeugauswahlleiste 707 in 7B dem Status der in 7A angezeigten Benutzerschnittstelle entsprechen, indem, wenn der (Indikator) 722 Bereich von Interesse ausgewählt oder aktiv ist, das Z-Höhe-Werkzeug oder -Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren in Verbindung mit dem Werkzeug 720 aktiviert wird und andere Werkzeug-/Modus-Schaltflächen ungeachtet ihres vorherigen Status inaktiv werden können. Dies kann auch das jedem anderen Werkzeug zugeordnete Verhalten sein, wenn dessen Bereich von Interesse (Indikator) in dem Sichtfeld 705 ausgewählt wird.
  • In einer Ausführungsform kann eine Operation zur Bestimmung des Werkzeug-Modus vorgesehen sein, die bestimmt, ob eine oder mehrere Instanzen des Z-Höhen-Werkzeugs 720 dafür konfiguriert sind, entsprechend einer bestimmten Ausführung, wie z. B. einer Lernmodus-gesteuerten Ausführung oder einer Programmlaufmodus-erzeugten Ausführung usw., zu arbeiten. In einer Ausführungsform kann die spezielle Ausführung des Z-Höhe-Werkzeugs 720 unter Verwendung von Benutzerschnittstellenmerkmalen, wie z. B. ein Konfigurationsmenüfenster oder dergleichen, das Betriebsparameter für die Z-Höhe-Werkzeuge oder -Modi im Allgemeinen und/oder für den Z-Höhe-Werkzeug-Modus mit mehreren Bildstapeln und mehreren Beleuchtungsvektoren insbesondere einstellt, von einem Nutzer eingestellt werden.
  • 8A8D sind Diagramme, die verschiedene Einstellungen zeigen, die mit einer Ausführungsform einer Z-Höhe-Werkzeug-Benutzerschnittstelle mit Parametern in Verbindung stehen, die mit der Verwendung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren in Verbindung stehen.
  • Insbesondere sind 8A8D Diagramme, die verschiedene Merkmale einer Ausführungsform eines Z-Höhe-Werkzeugparameterdialogfeldes, des tabulierten Z-Höhe-Werkzeugparameterdialogfelds 800, der vom Nutzer wählbaren tabulierten Teile 810a, 810b, 810c und 810d, zeigt. Für alle tabulierten Teile 810a810d stellt die Schaltfläche „Standard” unten die Einträge in den tabulierten Teilen 810B, 810C und 810D in ihren Standardwerten wieder her, nimmt die Schaltfläche „OK” die gegenwärtigen Parameter an und schließt das Z-Höhe-Werkzeugparameterdialogfeld 800 und setzt die Schaltfläche „Abbrechen” alle Parameter auf ihren Status vor dem Beginn der gegenwärtigen Bearbeitungssequenz zurück und schließt das Dialogfeld 800.
  • 8A stellt den tabulierten Teil 810a dar, der die X- und Y-Mittelkoordinate sowie auch die Breite (W), Höhe (H) und Winkelausrichtung (nicht gezeigt) eines ausgewählten globalen Bereichs von Interesse des Z-Höhe-Werkzeugs darstellen kann. Diese Werte können durch graphische Definition des Bereichs von Interesse bestimmt (z. B. wie in 7A gezeigt) und/oder direkt in das Dialogfeld eingetragen werden.
  • 8B stellt den tabulierten Teil 810b dar, der die Z-Höhe-Werkzeug-Suchweise darstellt, die für den gewählten Bereich von Interesse anzuwenden ist. Die Suchweise erlaubt es dem Nutzer, einen erwünschten Kompromiss zwischen Geschwindigkeit und Genauigkeit von Z-Höhe-Werkzeugoperationen in Bezug auf Fokuskurvendaten und -analyse zu wählen, was den Z-Abstand zwischen Bildern (das heißt, den Bildern in einem Bildstapel) und dergleichen beeinflussen kann. Eine der Suchweisen kann als eine Standardsuchweise verwendet werden, falls der Nutzer keine andere Auswahl trifft. Der tabulierte Teil 810b kann es dem Nutzer auch ermöglichen, die Bestimmung des Z-Höhe-Suchbereichs zu beeinflussen, der für Z-Höhe-Werkzeugoperationen verwendet wird (z. B. für den Z-Bereich der in einem Bildstapel enthaltenen Bilder).
  • In verschiedenen Ausführungsformen kann der Nutzer akzeptieren und/oder wählen, dass ein Standardsuchbereich bestimmt und verwendet wird oder dass der Suchbereich auf einem vom Nutzer eingegebenen Nennwert (oder Bereichsmittelpunkt) basiert oder dass der Suchbereich auf vom Nutzer eingegebenen Höchst- und Mindestwerten basiert. In verschiedenen Ausführungsformen kann das Z-Höhe-Werkzeug auf der Grundlage von Operationen während der Einstellung des manuellen Modus und/oder des Lernmodus des Werkzeugs einen Standardsuchbereich bestimmen. In jedem Fall, in dem der Suchbereich nicht vollständig durch Nutzereingabe definiert wird, können Z-Höhe-Werkzeugoperationen den Z-Höhe-Suchbereich auf Grundlage der gegenwärtigen optischen Konfiguration der Maschine (z. B. die gegenwärtige Tiefenschärfe oder Vergrößerung) und/oder Werkstückinformation (z. B. erwartete Obeflächenhöhenschwankungen, die durch Einbau- und Herstellungsschwankungen oder dergleichen bedingt sind) bestimmen, um einen effizienten Suchbereich zu liefern, der auch einen ausreichenden Bereich umfasst, um einen robusten Betrieb mit vernünftigen Schwankungen in den Z-Höhen des Bereichs von Interesse während des Messens und/oder der Teil-Programmausführung zu ermöglichen.
  • In der in 88D gezeigten Ausführungsform ist das Z-Höhe-Werkzeug ein Universalwerkzeug, das dafür konfiguriert sein kann, entweder als Einpunkt- oder als Mehrpunkt-Z-Höhe-Werkzeug zu arbeiten. 8C stellt den tabulierten Teil 810C dar, der den Typ von Messdaten reflektiert, die das Z-Höhe-Werkzeug für den definierten globalen Bereich von Interesse liefert. Die in 8C gezeigte Ausführungsform ermöglicht es dem Nutzer, einen von vier Messdatentypen auszuwählen. Die „Standard-”Auswahl kann eine einzelne Z-Höhe für den Bereich von Interesse ergeben. Die „Mehrpunkt-”Auswahl kann automatisch einen Z-Höhe-Wert für eine Reihe von Teilbereichen (z. B. ROI(k), der repräsentative X-Y-Koordinatenpositionen hat) innerhalb des in dem tabulierten Teil 810 angezeigten globalen Bereichs von Interesse liefern. Die Auswahlmöglichkeiten „Mehrpunkt Max” und „Mehrpunkt Min” können den Höchst- und/oder Mindest-Z-Höhe-Wert innerhalb der Teilbereiche automatisch liefern. Wenn eine „Mehrpunkt-”-Auswahl eingegeben wird, können die Anzahl von Teilbereichen und ihre repräsentativen X-Y-Koordinatenpositionen (relativ zu Position und Erstreckung des globalen Bereiches von Interesse) auf Grundlage der Anzahl von Teilbereichszeilen und -spalten bestimmt werden, die in den Parameterfeldern „Werkzeug Teilbereiche” angezeigt sind.
  • In der in 8A8D gezeigten Ausführungsform ist das Z-Höhe-Werkzeug ein Universalwerkzeug, das dafür konfiguriert sein kann, ein Mehrpunkt-Z-Höhe-Werkzeug entsprechend erwünschten Kompromissen zwischen Geschwindigkeit und Genauigkeit der Mehrpunkt-Z-Höhe-Werkzeugoperationen zu betreiben. 8D stellt den tabulierten Teil 810d dar, der Parameter darstellt, die bei der Konfiguration von Nutzerpräferenzen für die Werkzeugoperationen verwendet werden können. In einigen Ausführungsformen können die Elemente des tabulierten Teils 810d „ausgegraut” und/oder inaktiviert werden, außer wenn eine Mehrpunk-Optionsschaltfläche in dem tabulierten Teil 810c ausgewählt ist. Die in 8D gezeigte Ausführungsform weist eine Optionsschaltfläche „einzelne Beleuchtungsstärke verwenden” auf, die ein Nutzer wählen kann, um die Mehrpunkt-Z-Höhe-Werkzeugoperationen zu veranlassen, eine einzelne Beleuchtungsstärke und einen einzelnen Bildstapel zu verwenden. Solch eine Modusauswahl kann dafür geeignet sein, Werkstücke zu inspizieren, die über einen gesamten Bereich von Interesse in einem Einzelbild gut belichtet sein können. Einige Ausführungsformen eines solchen Modus sind gegenwärtig in handelsüblichen maschinell sehenden Inspektionssystemen verfügbar und/oder sind auf Grundlage dieser Offenbarung zu verstehen und werden im Bezug auf die Optionsschaltfläche „einzelne Beleuchtungsstärke” nicht detaillierter beschrieben. Der tabulierte Teil 810d kann auch eine Optionsschaltfläche „mehrere Beleuchtungsstärken verwenden” umfassen, die ein Nutzer wählen kann, um die Mehrpunkt-Z-Höhe-Werkzeugoperationen zu veranlassen, einen Modus zu verwenden, der Operationen umfasst, bei denen eine Mehrzahl von Beleuchtungsstärken verwendet wird, um eine entsprechende Mehrzahl von Bildstapeln zu erfassen, und Mehrpunkt-Z-Höhe-Messungen auf einer Analyse der Mehrzahl von Bildstapeln basieren, wobei alle eine hierin offenbarte Ausführungsform verwenden. Solch eine Modusauswahl ist für die Inspektion von Werkstücken geeignet, die in einem gesamten Bereich von Interesse in einem Einzelbild nicht gut belichtet werden können (z. B. ein Werkstück wie das in 3 und 4 gezeigte).
  • Die in 8D gezeigte Ausführungsform umfasst eine Optionsschaltfläche „Genauigkeit optimieren” und eine Optionsschaltfläche „Geschwindigkeit optimieren”, die ein Nutzer wählen kann, wenn die Optionsschaltfläche „mehrere Beleuchtungsstärken verwenden” gewählt wird. In einigen Ausführungsformen können diese Elemente „ausgegraut” und/oder deaktiviert werden, wenn die Optionsschaltfläche „mehrere Beleuchtungsstärken verwenden” nicht ausgewählt ist. Die Optionsschaltfläche „Genauigkeit optimieren” kann den Modus „mehrere Beleuchtungsstärken verwenden” veranlassen, zwei oder drei Beleuchtungsstärken und entsprechende Bildstapel zum Bestimmen der Mehrpunkt-Z-Höhe-Messungen zu verwenden.
  • Zum Beispiel können in einer Ausführungsform nur zwei Beleuchtungsstärken bestimmt werden, wie in Bezug auf Beleuchtungsstärken L2 und L3 aus 13 skizziert und beschrieben, wobei die Helligkeit beschränkende Beleuchtungsstärke auf eine Weise bestimmt wird, die Helligkeit und Kontrast für so viele Teilbereiche wie möglich optimieren kann. In einer anderen Ausführungsform können zwei Beleuchtungsstärken bestimmt werden, wie in Bezug auf Beleuchtungsstärken L2 und L3 aus 12 oder 13 skizziert und beschrieben, und kann eine dritte Beleuchtungsstärke eine Nenn-Beleuchtungsstärke zwischen L1 und L3 sein (z. B. die Beleuchtungsstärke L1 oder eine automatisch bestimmte gemittelte Beleuchtungsstärke zwischen L2 und L3 oder dergleichen). Solch eine Ausführungsform kann einen Bildstapel liefern, in dem manche der Teilbereiche eine bessere Z-Höhe-Qualitätsmetrik in einem dritten Bildstapel bei einer mittleren Beleuchtungsstärke haben, was zu genaueren Z-Höhe-Messungen für diese Teilbereiche führt.
  • Die Optionsschaltfläche „Geschwindigkeit optimieren” ermöglicht, dass der Modus „mehrere Beleuchtungsstärken verwenden” zwei oder sogar eine Beleuchtungsstärke verwendet, wenn solche Beleuchtungsstärken ausreichen, um sowohl das Helligkeitsbeschränkungskriterium für Pixel in dem Bereich von Interesse als auch das Dunkelheitbeschränkungskriterium für Pixel in dem Bereich von Interesse zu erfüllen, wie hierin für verschiedene Ausführungsformen offenbart. Zum Beispiel kann in einigen bestimmten Bereichen von Interesse die Beleuchtungsstärke L1 aus 12 beide Kriterien erfüllen und kann ein einzelner Bildstapel, der diese Beleuchtungsstärke verwendet, verwendet werden, um die Z-Höhe-Messungen für alle Teilbereiche zu bestimmen. Es wird zu verstehen sein, dass dies im Wesentlichen äquivalent zur Verwendung des Modus „einzelne Beleuchtungsstärke verwenden” ist, außer dass die Bestimmung, diesen Modus zu verwenden, auf einer von den Videowerkzeugoperationen ausgeführten automatischen Analyse basiert. In einem anderen Beispiel mögen in einigen bestimmten Bereichen von Interesse die Beleuchtungsstärken L2 und L3 aus 12 nicht so optimal sein wie diejenigen, die durch das Verfahren aus 13 bestimmt werden würden, mögen aber dennoch beide Kriterien erfüllen, und kann ein Zweibildstapel, der diese zwei Beleuchtungsstärken verwendet, verwendet werden, um die Z-Höhe-Messungen für alle Teilbereiche zu bestimmen.
  • Der in dem tabulierten Teil 810d gezeigte Z-Höhe-Qualitätsschwellenwert-Schieberegler kann verwendet werden, um einen Ausschlussschwellenwert für Z-Höhe-Messungen einzustellen. Das heißt, wie für verschiedene Ausführungsformen hierin offenbart, wird jede Teilbereich-Z-Höhe-Messung so ausgewählt, dass sie aus einem Bildstapel ist, wo dieser Teilbereich als der mit der besten Z-Höhe-Qualitätsmetrik bestimmt wird. In einigen Anwendungen kann es wichtig sein, dass jede Z-Höhe-Messung unterdrückt oder mit einem Warnungs- oder Fehlerindikator markiert wird, wenn sie eine Z-Höhe-Qualitätsmetrik hat, die anzeigt, dass es aufgrund von unzuverlässigen oder verrauschten Fokuskurvendaten (z. B. ein niedriger Z-Höhe-Qualitätsmetrikwert) eine unzuverlässige Messung sein kann. Der Z-Höhe-Qualitätsschwellenwert-Schieberegler kann von einem Nutzer eingestellt werden, um den Z-Höhe-Qualitätsmetrikausschlussschwellenwert zu ändern, um dadurch eine Z-Höhe-Messung zu unterdrücken oder markieren. Jedoch wird zu verstehen sein, dass die tabulierten Teile 810c und 810d nur ein Beispiel darstellen und nicht einschränkend sind. Allgemeiner können sie je nach Bedarf dafür ausgebildet sein, jegleiche erwünschte Ausführung zu unterstützen, die in den Anwendungsbereich der hierin offenbarten Ausführungsformen fällt.
  • 9A und 9B sind Ablaufdiagramme, die ein Beispiel für eine Routine 900 zum Ausführen von Z-Höhe-Messungen unter Verwendung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren zeigen. Wie in 9A gezeigt, sind an einem Block 910 ein maschinell sehendes Präzisionsinspektionssystem und ein gegenwärtiges Werkstück bereitgestellt. Das maschinell sehende Präzisionsinspektionssystem kann eine Benutzerschnittstelle, einen Bildgebungsteil, der eine Kamera umfasst, einen steuerbaren Beleuchtungsteil, einen Fokussierungsteil und einen Steuerteil, der einen Bildprozessor umfasst, aufweisen. An einem Block 920 wird das maschinell sehende Präzisionsinspektionssystem so betrieben, dass es einen Bereich von Interesse zum Ausführen von Points-from-focus-Operationen an dem Werkstück definiert.
  • An einem Block 930 wird das maschinell sehende Präzisionsinspektionssystem so betrieben, dass N entsprechende Beleuchtungsvektoren definiert werden, die N Bildstapeln zugeordnet sind, welche Bilder mit unterschiedlichen Fokus-Z-Höhen in einem definierten Z-Höhe-Bereich umfassen, wobei N mindestens 2 ist und wobei das Definieren der N entsprechenden Beleuchtungsvektoren mindestens zwei Schritte umfasst. Der erste Schritt zum Definieren der N entsprechenden Beleuchtungsvektoren beinhaltet das Definieren eines ersten entsprechenden Beleuchtungsvektors, so dass ein erstes Helligkeitskriterium erfüllt ist, wobei die hellsten Pixelpositionen in dem Bereich von Interesse Helligkeitswerte in den oberen 25% eines Helligkeitsbereichs der Kamera umfassen, und so dass eine erste Anzahl der hellsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder oberhalb einer oberen Helligkeitsgrenze haben, auf einen ersten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in wenigstens einem ersten Bild mit einer entsprechenden Fokus Z-Höhe in dem Z-Höhe-Bereich und mit einem Bildbelichtungsgrad, der dem ersten entsprechenden Beleuchtungsvektor entspricht, bestimmt.
  • Der zweite Schritt zum Definieren der N entsprechenden Beleuchtungsvektoren beinhaltet das Definieren eines zweiten entsprechenden Beleuchtungsvektors, so dass ein zweites Helligkeitskriterium erfüllt ist, wobei eine zweite Anzahl der dunkelsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen zweiten kleinen Anteil (z. B. 0,1%) der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in wenigstens einem zweiten Bild mit einer entsprechenden Fokus-Z-Höhe in dem Z-Höhe-Bereich und mit einem Bildbelichtungsgrad, der dem zweiten entsprechenden Beleuchtungsvektor entspricht, bestimmt. Die Routine 900A fährt dann bei einem Punkt A fort, wie in 9B fortgeführt.
  • Wie in 9B gezeigt, fährt die Routine 900B von Punkt A aus bei einem Entscheidungsblock 974 fort. An dem Entscheidungsblock 974 wird bestimmt, ob Operationen zum gegenwärtigen Entwickeln eines Teil-Programms im Lernmodus ausgeführt werden. Wenn keine Operationen zum gegenwärtigen Entwickeln eines Teil-Programm im Lernmodus ausgeführt werden (z. B. wenn gegenwärtig ein Programmlaufmodus ausgeführt wird), dann fährt die Routine bei einem Block 980 fort, wie nachstehend detailliert beschrieben wird. Wenn am Entscheidungsblock 974 bestimmt wird, dass Operationen zum gegenwärtigen Entwickeln eines Teil-Programms im Lernmodus ausgeführt werden, dann fährt die Routine bei einem Block 975 fort.
  • An dem Block 975 werden die N entsprechenden Beleuchtungsvektoren in Verbindung mit einem Teil-Programm für spätere Verwendung beim Inspizieren eines entsprechenden Bereichs von Interesse an einem entsprechenden Werkstück gespeichert, wobei das Teil-Programm Anweisungen zum Ausführen von mindestens drei Operationen beinhaltet. Die erste Teil-Programmoperation umfasst das Erfassen von N Bildstapeln auf der Grundlage der N entsprechenden Beleuchtungsvektoren. Die zweite Teil-Programmoperation umfasst das Bestimmen, welcher der N Bildstapel die beste Z-Höhe-Qualitätsmetrik bei jeder Points-from-focus-Datenpunktposition hat. Die dritte Teil-Programmoperation umfasst das Bereitstellen von Z-Höhe-Messdaten, die von den Bildstapeln abgeleitet werden, so dass bei jeder Points-from-focus-Datenpunktposition die Z-Höhe-Messung, die dem Bildstapel mit der besten Z-Höhe-Qualitätsmetrik zugeordnet ist, als die Z-Höhe-Messung bei dieser Points-from-focus-Datenpunktposition identifiziert wird.
  • An dem Block 980 wird (z. B. wenn gegenwärtig ein Programmlaufmodus ausgeführt wird) das maschinell sehende Präzisionsinspektionssystem so betrieben, dass es N Bildstapel auf der Grundlage der N entsprechenden Beleuchtungsvektoren erfasst. An einem Block 990 wird bestimmt, welcher der N Bildstapel die beste Z-Höhe-Qualitätsmetrik bei jeder Points-from-focus-Datenpunktposition hat. An einem Block 995 werden von den Bildstapeln abgeleitete Z-Höhe-Messdaten bereitgestellt, so dass bei jeder Points-from-focus-Datenpunktposition die Z-Höhe-Messung auf dem Bildstapel mit der besten Z-Höhe-Qualitätsmetrik bei dieser Points-from-focus-Datenpunktposition basiert.
  • Im Bezug auf 9A und 9B wird zu verstehen sein, dass die beschriebenen Operationen in verschiedenen Ausführungen zu verschiedenen Zeiten oder in verschiedenen Sequenzen ausgeführt werden können. Zum Beispiel kann das Definieren des ersten und des zweiten Beleuchtungsvektors, das in 9A beschrieben ist, eine gewisse Verarbeitungszeit bei der Suche nach den erwünschten Beleuchtungsstärken benötigen, welche, wie vorstehend angemerkt, in bestimmten Ausführungen nicht während eines Programmlaufmodus ausgeführt wird, um die Geschwindigkeit des Algorithmus zu erhöhen. Dieser Typ von Programmlaufmodus kann als ein „statischer” Programmlaufmodus bezeichnet werden, in dem während des Programmlaufmodus der erste und der zweite Beleuchtungsvektor, die während des Lernmodus als der erste und der zweite Beleuchtungsvektor bestimmt und gespeichert werden, verwendet werden. Jedoch kann in einer alternativen Ausführungsform ein „dynamischer” Programmlaufmodus verwendet werden, in dem der erste und der zweite Beleuchtungsvektor während des Programmlaufmodus bestimmt werden. Solch eine Ausführung kann unter gewissen Bedingungen wünschenswert sein, wie z. B. wenn eine höhere Genauigkeit erforderlich ist, oder entsprechend einer Auswertung, ob der erste und der zweite Beleuchtungsvektor, die während des Lernmodus gespeichert werden, während des Programmlaufmodus zufriedenstellende Ergebnisse erzeugen, wobei es, wenn sie dies nicht tun, sein kann, dass der Programmlaufmodus die zusätzliche dynamische Suche ausführt, um den ersten und den zweiten Beleuchtungsvektor erneut zu bestimmen.
  • Bezüglich der Operationen aus 9B wird typischerweise das Speichern der Beleuchtungsvektoren als Teil des Lernmodus ausgeführt, obwohl in bestimmten Ausführungen die Bildstapel während des Lernmodus noch erfasst werden können, so dass der Nutzer die Ergebnisse überprüfen kann. Mit anderen Worten können während des Lernmodus, sobald die Beleuchtungsvektoren bestimmt sind, anstatt die Beleuchtungsvektoren einfach zu speichern, Operationen ausgeführt werden, um die Bildstapel zu erfassen und die sich daraus ergebenden Z-Höhe-Messungen zu bestimmen, so dass der Nutzer die Ergebnisse überprüfen kann, um festzustellen, ob sie zufriedenstellend sind. Wenn der Nutzer die Ergebnisse als zufriedenstellend erachtet, dann werden die Beleuchtungsvektoren als Teil des Teil-Programms gespeichert, wobei es möglich ist, die Beleuchtungsvektoren nicht zu speichern, wenn die Ergebnisse nicht zufriedenstellend sind.
  • 10 ist ein Ablaufdiagramm, das ein Beispiel für eine Routine 1000 zum Suchen nach mehreren Beleuchtungsvektoren unter Verwendung nur eines einzelnen Bildes und einer einzelnen Z-Höhe darstellt. Wie nachstehend detaillierter beschrieben, erhöht die Verwendung einer einzelnen repräsentativen Z-Position für die Ausführung der Beleuchtungsanpassungen zum Bestimmen der erwünschten Beleuchtungsstärken die Geschwindigkeit des Algorithmus. Wie in 10 bei einem Block 1010 gezeigt, wird ein Z-Höhe-Bereich definiert und bei einer nutzergewählten Ausgangsbeleuchtungseinstellung oder einer Standardbeleuchtungseinstellung im mittleren Bereich ein vorläufiger Bildstapel erfasst, der eine Mehrzahl von Bildern bei einer Mehrzahl von entsprechenden Fokus Z-Höhen innerhalb des Z-Höhe-Bereichs umfasst.
  • An einem Block 1020 wird eine Spitzenfokus-Z-Höhe auf Grundlage des vorläufigen Bildstapels bestimmt und wird der Objekttisch in die Spitzenfokusposition bewegt. In einer Ausführungsform wird die Bestimmung der Spitzenfokus-Z-Höhe entsprechend einem Standardschärfemaß (z. B. Kontrast) ausgeführt, das angewendet wird, um das repräsentative Bild aus dem vorläufigen Bildstapel zu finden. In diesem Prozess kann das gesamte Bild verwendet werden (im Gegensatz zu nur einem kleinen lokalen Bereich von Interesse), um das Maß zu berechnen. An einem Block 1030 wird die Beleuchtung mit dem Objekttisch in der Spitzenfokusposition eingestellt, um den ersten Beleuchtungsvektor zu bestimmen. An einem Block 1040 wird die Beleuchtung eingestellt, während der Objekttisch immer noch in der Spitzenfokusposition ist, um den zweiten Beleuchtungsvektor zu bestimmen.
  • Es wird zu verstehen sein, dass diese Bestimmung eines einzelnen Bildes (d. h. einer einzelnen Z-Position für den Objekttisch), das den Bildstapel am besten repräsentiert, ausgeführt wird, um die Geschwindigkeit des Algorithmus zu erhöhen. Mit anderen Worten wäre in bestimmten Ausführungen das Aufnehmen und Analysieren eines gesamten Bildstapels nach jeder Beleuchtungsanpassung relativ langsam. Stattdessen kann sich auf ein Einzelbild (d. h. eine einzelne Z-Position, zu der der Objekttisch bewegt wird) verlassen werden, um zu bestimmen, wie die Beleuchtungsanpassungen die Beleuchtung der Oberfläche ändern. Dieses einzelne „Live-”Kamerabild bei der festgelegten Z-Position kann dann aufgenommen und in den Anpassungsschleifen des Algorithmus wiederholt und schnell analysiert werden. Diese Verwendung eines Einzelbildes ist effektiv, da in bestimmten Ausführungen experimentell festgestellt wurde, dass Bilder mit höheren Gesamtschärfemaßen den Bildstapel tendenziell am besten repräsentieren. Dies ist durch die Tatsache bedingt, dass solche Bilder den Kontrast tendenziell maximieren, was zu der größten Anzahl von zu dunklen und/oder zu hellen Pixel (wenn vorhanden) führt, die für die Beleuchtungsanpassungsroutinen verschiedener Ausführungsformen verwendet werden.
  • 11A und 11B sind Ablaufdiagramme, die ein Beispiel für eine Routine sind, die Routineteile 1100A und 1100B zum Ausführen von Z-Höhe-Messungen unter Verwendung von mehreren Bildstapeln und mehreren Beleuchtungsvektoren umfasst. In verschiedenen Ausführungsformen können die Operationen der Routine 1100 unter Verwendung von verschiedenen Kombinationen von Merkmalen und Lehren, wie in dieser Anmeldung offenbart und/oder wie in den einbezogenen Referenzen offenbart, ausgeführt werden.
  • Wie in 11A bei einem Block 1110 gezeigt, wird ein maschinell sehendes Inspektionssystem bereitgestellt, das aufweist: einen Bildgebungsteil, der eine Kamera umfasst; einen steuerbaren Beleuchtungsteil; einen Fokussierungsteil; einen Steuerteil, der einen Bildprozessor umfasst; einen ersten Messmodus zum Ausführen von fokusbasierten Mehrpunkt-Z-Höhe-Messungen an einem Werkstück, der Operationen umfasst, die die fokusbasierten Mehrpunkt-Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereichs von Interesse auf der Grundlage eines einzelnen Bildstapels, der unter Verwendung der gleichen Beleuchtungsparameter für jedes Bild in diesem Bildstapel erfasst wird, bestimmen; einen zweiten Messmodus zum Ausführen von fokusbasierten Mehrpunkt-Z-Höhe-Messungen an einem Werkstück, der Operationen umfasst, die die fokusbasierten Mehrpunkt-Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereichs von Interesse auf der Grundlage einer Mehrzahl von Bildstapeln bestimmen, wobei ein erster Bildstapel unter Verwendung von Dunkelheitsbeschränkungsbeleuchtungsparametern erfasst wird, die ein Dunkelheitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen und die gleichen für jedes Bild in dem ersten Bildstapel sind, und ein zweiter Bildstapel unter Verwendung von Helligkeitsbeschränkungsbeleuchtungsparameter erfasst wird, die ein Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen und die gleichen für jedes Bild in dem zweiten Bildstapel sind; eine Benutzerschnittstelle, die eine Bildanzeigevorrichtung und eine graphische Benutzerschnittstelle (GUI) umfasst; und ein Mehrpunkt-Z-Höhe-Messwerkzeug, das aufweist: den zweiten Messmodus, das Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse, das Dunkelheitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse und ein Mehrpunkt-GUI-Element, das einen Indikator für den Bereich von Interesse umfasst.
  • An einem Block 1120 wird ein Bild des bestimmten Bereichs von Interesse an einem repräsentativen Werkstück erfasst und das erfasste Bild des Objekts auf der Bildanzeigevorrichtung angezeigt.
  • An einem Block 1130 wird eine Instanz eines Mehrpunkt-Z-Höhe-Messwerkzeugs aktiviert und dessen Bereich von Interesse in dem erfassten Bild definiert. Die Routine 1100A fährt dann bei einem Punkt A fort, wie in 11B fortgeführt wird.
  • Wie in 11B gezeigt, führt die Routine 1100B von Punkt A aus bei einem Block 1140 fort. Am Block 1140 werden automatische Operationen der Instanz des Mehrpunkt-Z-Höhe-Messwerkzeugs, die dem zweiten Messmodus entspricht, ausgeführt, die automatisch den Bildgebungsteil bei einer Höhe des globalen besten Fokus für den Bereich von Interesse fokussieren, wobei die Höhe des globalen besten Fokus auf Grundlage eines unter Verwendung eines vorläufigen Satzes von Beleuchtungsparametern erfassten Bildstapels und auf Grundlage einer Fokusmetrik, die auf der Grundlage des gesamten Bereichs von Interesse bestimmt wird, bestimmt wird.
  • An einem Block 1150 werden automatische Operationen der Instanz des Mehrpunkt-Z-Höhe-Messwerkzeugs, die dem zweiten Messmodus entspricht, ausgeführt, die Operationen umfassen, die bei der Höhe des globalen besten Fokus erfasste Bilder analysieren und die Beleuchtungsparameter einstellen, um Helligkeitsbeschränkungsbeleuchtungsparameter zu bestimmen, die das Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen, und Operationen, die bei der Höhe des globalen besten Fokus erfasste Bilder analysieren und die Beleuchtungsparameter einstellen, um Dunkelheitsbeschränkungsbeleuchtungsparameter zu bestimmen, die das Dunkelheitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen.
  • Es wird zu verstehen sein, dass die vorstehend skizzierte Routine 1100 nur ein Beispiel und nicht einschränkend ist. In einigen Ausführungsformen kann die Routine ferner umfassen: Erfassen einer Mehrzahl von Bildstapeln, die den Bereich von Interesse enthalten, wobei diese Mehrzahl von Bildstapeln wenigstens einen ersten unter Verwendung der bestimmten Dunkelheitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel und einen zweiten unter Verwendung der Helligkeitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel umfassen, und Bestimmen der fokusbasierten Mehrpunkt-Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen innerhalb des Bereiches von Interesse auf der Grundlage der Mehrzahl von Bildstapeln. In einigen Ausführungsformen kann die Mehrzahl von Bildstapeln einen oder mehrere zusätzliche Bildstapel umfassen, die unter Verwendung eines Satzes von Beleuchtungsparametern erfasst werden, die im Vergleich zu den für den ersten und den zweiten Bildstapel verwendeten mittlere Beleuchtungsstärken liefern. In einigen Ausführungsformen umfasst die Mehrzahl von Bildstapeln den unter Verwendung des vorläufigen Satzes von Beleuchtungsparametern erfassten Bildstapel.
  • In einigen Ausführungsformen kann die Routine ferner die Operationen umfassen, die die fokusbasierten Mehrpunkt-Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereichs von Interesse auf der Grundlage einer Mehrzahl von Bildstapeln bestimmen, und können diese Operationen für jeden der Mehrzahl von Teilbereichen umfassen: Bestimmen einer Z-Höhe-Qualitätsmetrik für diesen Teilbereich für jeden der Mehrzahl von Bildstapeln; und Bestimmen der fokusbasierten Z-Höhe-Messung für diesen Teilbereich auf der Grundlage desjenigen der Mehrzahl von Bildstapeln, der die beste Z-Höhe-Qualitätsmetrik liefert.
  • In einigen Ausführungsformen kann die Routine das Ausführen wenigstens eines Teils der Routine unter der Steuerung von Teil-Programmanweisungen während eines Programmlaufmodus umfassen.
  • In einigen Ausführungsformen kann die Routine das Ausführen wenigstens eines Teils der Routine während eines Lernmodus umfassen und kann ferner Aufzeichnungs-Teil-Programmanweisungen umfassen, die einer gegenwärtigen Instanz des Mehrpunkt-Z-Höhe-Messwerkzeugs entsprechen, wobei die Teil-Programmanweisungen verwendet werden können, um Operationen auszuführen, die umfassen: Erfassen einer Mehrzahl von Bildstapeln, die den Bereich von Interesse enthalten, wobei diese Mehrzahl von Bildstapeln wenigstens einen ersten unter Verwendung der bestimmten Dunkelheitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel und einen zweiten unter Verwendung der Helligkeitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel umfassen, und Bestimmen der fokusbasierten Mehrpunkt-Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen innerhalb des Bereiches von Interesse auf der Grundlage der Mehrzahl von Bildstapeln: Bestimmen einer Z-Höhe-Qualitätsmetrik für diesen Teilbereich für jeden der Mehrzahl von Bildstapeln; und Bestimmen der fokusbasierten Z-Höhe-Messung für diesen Teilbereich auf der Grundlage desjenigen der Mehrzahl von Bildstapeln, der die beste Z-Höhe-Qualitätsmetrik liefert.
  • In einigen Ausführungsformen kann das Verfahren das Ausführen der Operationen des maschinell sehenden Inspektionssystems während eines Lernmodus umfassen, wobei: in dem Schritt des Erfassens eines Bildes des bestimmten Bereichs von Interesse das Werkstück ein repräsentatives Werkstück ist und der Schritt das Anzeigen des erfassten Bildes auf der Bildanzeigevorrichtung umfasst; der Schritt des Aktivierens einer Instanz eines Mehrpunkt-Z-Höhe-Messwerkzeugs das Anzeigen seines Mehrpunkt-GUI-Elements auf der Bildanzeigevorrichtung umfasst; und der Schritt des Definierens eines Bereichs von Interesse in dem erfassten Bild das Definieren eines Bereichs von Interesse in dem angezeigten Bild durch Positionieren des Indikators für den Bereich von Interesse des Mehrpunkt-GUI-Elements derart umfasst, dass er den bestimmten Bereich von Interesse umgibt. Andere mögliche zusätzliche Elemente und Variationen der Routine werden einem Durchschnittsfachmann, der den Vorteil dieser Offenbarung hat, klar sein.
  • 12 ist ein Ablaufdiagramm eines Beispiels für eine Routine 1200 zum Bestimmen einer anpassbaren Anzahl von Beleuchtungsstärken (z. B. innerhalb der Routinen aus 9, 10 oder 11). Wie nachstehend detaillierter beschrieben ist, stellen die Blöcke 1210, 1220, sowie auch die Gruppen von Blöcken 1230 und 1240, bestimmte detaillierte Funktionen dar (z. B. wobei die Anzahl von Beleuchtungsstärken, die gespeichert werden, angepasst werden kann), wie im Vergleich zu den allgemeineren Operationen, wie vorstehend in Bezug auf die Blöcke 11101140 aus 11 beschrieben. Wie in 12 an einem Block 1210 gezeigt, wird ein Bildstapel S1 bei einem vom Nutzer festgelegten (Standard, Ausgangs-)Beleuchtungsstärkesatz L1 aufgenommen. Es wird angenommen, dass der vom Nutzer festgelegte (Standard, Ausgangs-)Beleuchtungsstärkesatz L1 eine sinnvolle mittlere durchschnittliche Beleuchtungseinstellung ist, die die Oberfläche gut zeigt, aber möglicherweise nicht alle zu dunklen oder zu hellen Bereiche erfolgreich entfernen kann.
  • An einem Block 1220 wird in dem Bildstapel S1 ein Bild I mit dem höchsten Schärfemaß bestimmt. Der Objekttisch wird dann bei der Z-Höhe des Bildes I platziert und eine Livekamerabild wird dann für die weitere Suche nach den zusätzlichen Beleuchtungsstärken verwendet. In einer Ausführungsform wird, wenn die Bilder in dem Stapel S1 bewertet werden, um zu bestimmen, welches den Stapel repräsentieren wird, jedes gesamte Bild verwendet, um das Schärfemaß zu berechnen (im Gegensatz zur Verwendung nur eines kleinen lokalen Bereichs von Interesse zur Berechnung des Schärfemaßes). Wie vorstehend beschrieben, ist die Bestimmung eines Einzelbildes (und der entsprechenden Z-Höhe-Position für den Objekttisch), das den Bildstapel am besten repräsentiert, nützlich, da es ermöglicht, dass der Algorithmus mit einer höheren Geschwindigkeit arbeitet. Mit anderen Worten wäre es relativ langsam, den gesamten Bildstapel nach jeder Beleuchtungsanpassung aufzunehmen und zu analysieren. Stattdessen kann sich auf ein einzelnes Livekamerabild verlassen werden, um zu bestimmen, wie die Beleuchtungsanpassungen die Beleuchtung der Oberfläche ändern, wobei solch ein Livekamerabild aufgenommen und in der Anpassungsschleife des Algorithmus wiederholt und schnell analysiert werden kann.
  • Wie nachstehend detaillierter beschrieben, bestimmt die Gruppe von Blöcken 1230 (die Blöcke 12311235 umfasst) einen Beleuchtungsstärkesatz L2 (der in einer Ausführungsform dem ersten Beleuchtungsvektor von Block 1130 aus 11 entspricht) und bestimmt, ob der Beleuchtungsstärkesatz L2 gespeichert wird. Am Entscheidungsblock 1231 wird bestimmt, ob gegenwärtig zu viele helle Pixel in dem Bild IL vorhanden sind. In einer Ausführungsform wird ein Pixel als hell definiert, wenn sein Grauwert über einem Schwellenwert (z. B. einem Grauwert von 230) liegt. Ob es zu viele helle Pixel gibt, kann gemäß der Feststellung bestimmt werden, ob die hellen Pixel mehr als einen Schwellenwertanteil der Gesamtanzahl von Pixeln in dem Bild (z. B. 0,001 der Gesamtanzahl von Bildpixeln) ausmachen.
  • Wenn an dem Entscheidungsblock 1231 bestimmt wird, dass es nicht zu viele helle Pixel in dem Bild IL gibt, dann fährt die Routine bei einem Block 1236 fort, wie nachstehend detaillierter beschrieben ist. Wenn bestimmt wird, dass es zu viele helle Pixel in dem Bild IL gibt, dann fährt die Routine bei einem Entscheidungsblock 1232 fort, wo bestimmt wird, ob eine zusätzliche Beleuchtungsanpassung möglich ist. Im Allgemeinen wird angenommen, dass eine zusätzliche Beleuchtungsanpassung immer noch möglich ist, solange nicht alle Beleuchtungsvariablen schon vollständig runtergedreht wurden. Wenn an dem Entscheidungsblock 1232 bestimmt wird, dass keine weitere Beleuchtungsanpassung mehr möglich ist, dann fährt die Routine bei dem Entscheidungsblock 1234 fort, wie nachstehend detaillierter beschrieben ist. Wenn bestimmt wird, dass eine weitere Beleuchtungsanpassung noch möglich ist, dann werden an einem Block 1233 alle aktiven Leuchten um einen Schritt verringert. In verschiedenen alternativen Ausführungsformen kann die verringerte Menge der Leuchten variieren oder sich von Leuchte zu Leute unterscheiden, im Gegensatz dazu, alle zusammen auszuführen. Leuchten, die bereits vollständig runtergedreht wurden und eine Einstellung von Null haben, werden nicht mehr eingestellt. Das Routine kehrt dann zu dem Entscheidungsblock 1231 zurück.
  • Wie zuvor angegeben, fährt, wenn an dem Entscheidungsblock 1231 bestimmt wird, dass es nicht zu viele helle Pixel in dem Bild IL gibt, die Routine bei einem Block 1236 fort. An dem Block 1236 werden alle aktiven Leuchten um eine Stufe erhöht. Leuchten, die ihre maximale Einstellung erreicht haben, werden nicht mehr eingestellt. Dann fährt die Routine bei einem Entscheidungsblock 1237 fort, wo bestimmt wird, ob gegenwärtig zu viele helle Pixel in dem Bild IL vorhanden sind. Wenn an dem Entscheidungsblock 1237 bestimmt wird, dass es nicht zu viele helle Pixel in dem Bild IL gibt, dann kehrt die Routine zu dem Block 1236 zurück. Wenn an dem Entscheidungsblock 1237 bestimmt wird, dass es zu viele helle Pixel in dem Bild IL gibt, dann fährt die Routine bei einem Block 1238 fort. An dem Block 1238 werden alle aktiven Leuchten um eine Stufe verringert (um zu einer Beleuchtungsstärke zurückzukehren, wo es nicht zu viele helle Pixel gibt) und fährt die Routine bei Entscheidungsblock 1234 fort. Es wird zu verstehen sein, dass das Ergebnis der Operationen der Blöcke 12361238 Beleuchtungsstärken liefern soll, die so hoch wie möglich sind, ohne zu viele helle Pixel zu erzeugen, in dem Fall, dass die Ausgangsbeleuchtungsstärke nicht wenigstens so hell ist wie das „zu viele helle Pixel-Kriterium” erlaubt, was in einigen Ausführungsformen vorteilhaft sein kann.
  • An dem Entscheidungsblock 1234 wird bestimmt, ob der gegenwärtige Beleuchtungsstärkesatz L2 sich von dem Ausgangsbeleuchtungsstärkesatz L1 unterscheidet. Wenn der gegenwärtige Beleuchtungsstärkesatz L2 sich nicht von dem Beleuchtungsstärkesatz L1 unterscheidet, dann fährt die Routine bei einem Block 1241 fort, wie nachstehend detaillierter beschrieben wird. Wenn der gegenwärtige Beleuchtungsstärkesatz L2 sich von dem Beleuchtungsstärkesatz L1 unterscheidet, dann fährt die Routine bei einem Block 1235 fort, wo der Beleuchtungsstärkesatz L2 als Teil des Teil-Programms gespeichert wird, woraufhin die Routine dann bei Block 1241 fortfährt.
  • Wie nachstehend detaillierter beschrieben wird, bestimmt die Gruppe von Blöcken 1240 (die Blöcke 12411246 umfasst) einen Beleuchtungsstärkesatz L3 (der in einer Ausführungsform dem zweiten Beleuchtungsvektor von Block 1140 aus 11 entspricht) und bestimmt, ob der Beleuchtungsstärkesatz L3 gespeichert wird. An dem Block 1241 wird als ein Anfangsschritt die Beleuchtungseinstellung zurück auf den Ausgangsbeleuchtungsstärkesatz L1 gestellt, um mit der Suche in der entgegengesetzten Richtung nach einer höheren Beleuchtungsstärke zu beginnen, die einen festgelegten Satz von Kriterien erfüllt. An einem Entscheidungsblock 1242 wird bestimmt, ob es zu viele dunkle Pixel in dem Bild IL gibt. In einer Ausführungsform wird ein Pixel als zu dunkel definiert, wenn sein Grauwert unter einem festgelegten Schwellenwert (z. B. ein Grauwert von 50) liegt.
  • Außerdem kann die Frage, ob es „zu viele” dunkle Pixel gibt, gemäß der Feststellung bestimmt werden, ob die Anzahl von dunklen Pixeln einen Schwellenwertanteil der Gesamtanzahl von Pixeln in dem Bild übersteigt (z. B. 0,001 der Gesamtanzahl von Bildpixeln.)
  • Wenn an dem Entscheidungsblock 1242 bestimmt wird, dass es nicht zu viele dunkle Pixel in dem Bild IL gibt, dann fährt die Routine bei einem Entscheidungsblock 1245 fort, wie nachstehend detaillierter beschrieben ist. Wenn bestimmt wird, dass es zu viele dunkle Pixel in dem Bild IL gibt, dann fährt die Routine bei einem Entscheidungsblock 1243 fort, wo bestimmt wird, ob eine weitere Beleuchtungsanpassung möglich ist. Es wird angenommen, dass eine zusätzliche Erhöhung der Beleuchtungsanpassung immer noch möglich ist, solange alle Beleuchtungsvariablen nicht schon vollständig erhöht wurden.
  • Wenn an dem Entscheidungsblock 1243 bestimmt wird, dass keine zusätzliche Beleuchtungsanpassung mehr möglich ist (was anzeigt, dass die anpassbaren Beleuchtungseinstellungen schon vollständig erhöht wurden), dann fährt die Routine bei dem Entscheidungsblock 1245 fort, wie nachstehend detaillierter beschrieben ist. Wenn an dem Entscheidungsblock 1243 bestimmt wird, dass eine weitere Beleuchtungsanpassung immer noch möglich ist, dann fährt die Routine bei einem Block 1244 fort, wo die aktiven Leuchten um eine Stufe erhöht werden. In verschiedenen alternativen Ausführungsformen können die erhöhten Lichtmengen variieren oder können sich von Leuchte zu Leute entscheiden, im Gegensatz dazu, dass alle zusammen ausgeführt werden. Einzelne Leuchten, die bereits eine maximale Einstellung erreicht haben, werden nicht weiter eingestellt. Die Routine kehrt dann zu dem Entscheidungsblock 1242 zurück.
  • An dem Entscheidungsblock 1245 wird bestimmt, ob der gegenwärtige Beleuchtungsstärkesatz L3 sich von dem Ausgangsbeleuchtungsstärkesatz L1 und L2 unterscheidet. Wenn bestimmt wird, dass der gegenwärtige Beleuchtungsstärkesatz L3 sich von dem Beleuchtungsstärkesatz L1 und L2 unterscheidet, dann fährt die Routine bei einem Block 1246 fort, wo der Beleuchtungsstärkesatz L3 in dem Teil-Programm gespeichert wird. Wenn bestimmt wird, dass der gegenwärtige Beleuchtungsstärkesatz L3 sich nicht von dem Beleuchtungsstärkesatz L1 oder L2 unterscheidet, dann endet die Routine, ohne den Beleuchtungsstärkesatz L3 zu speichern.
  • Wie vorstehend angemerkt, können die Beleuchtungsstärkensätze L2 und L3 je nach ihrer Bewertung (d. h. ob sie sich ausreichend von dem Ausgangsbeleuchtungsstärkesatz L1 und/oder einander unterscheiden) gespeichert werden oder nicht. Somit können je nach den Lichtverhältnissen zwei, ein oder kein zusätzlicher Beleuchtungsstärkesatz gespeichert und verwendet werden (der Algorithmus speichert möglicherweise keinen zusätzlichen Beleuchtungsstärkesatz, wenn der vom Nutzer festgelegte Beleuchtungsstärkensatz L1 eine geeignete Oberflächenbeleuchtung liefert).
  • 13 ist ein Diagramm, das eine Ausführungsform einer Anzeigevorrichtung 1300 einer Benutzerschnittstelle eines maschinell sehenden Inspektionssystems darstellt, die verschiedene Merkmale umfasst, die einem Z-Höhe-Messwerkzeug zugeordnet sind, das mehrere Beleuchtungseinstellungen und Bildstapel verwendet. In dem in 13 gezeigten Beispiel für einen Status umfasst die Benutzerschnittstellenanzeige 1300 ein Sichtfeldfenster 1303, das ein Werkstückbild 1310 anzeigt. Die Benutzerschnittstelle 1300 umfasst auch verschiedene Mess- und/oder Operationsauswahlleisten, wie z. B. die Auswahlleisten 1320 und 1340, ein Echtzeit-X-Y-Z(Positions)Koordinatenfenster 1330 und ein Lichtsteuerfenster 1350.
  • Das Sichtfeldfenster 1303 umfasst ein Beispiel für ein Mehrpunkt-Z-Höhe-Werkzeug-Widget 1314 und einen entsprechenden globalen Bereich von Interesse 1314, der durch die äußeren Grenzen des Widgets 1314 definiert ist und einem zu inspizierenden Merkmal 1312 des gegenwärtigen Werkstücks überlagert ist. Wie in 13 gezeigt, ist der globale Bereich von Interesse 1314' in 10×10 Teilbereiche von Interesse SROI(k) unterteilt (z. B. für k = 1 bis 100). Jeder Teilbereich SROI(k) kann einer repräsentativen zentralen Position (Xk, Yk) zugeordnet sein und einen Bereich umfassen, der einer Anzahl von Pixelzeilen und Anzahl von Pixelspalten entspricht. Wenn eine Z-Höhe Zpk des besten Fokus auf Grundlage eines Teilbereichs von Interesse bestimmt wird (z. B. wie zuvor skizziert), kann das Punktwolkenelement, das diesem Teilbereich von Interesse entspricht, von den 3-dimensionalen Koordinaten (Xk, Yk, Zpk) dargestellt werden. In verschiedenen Ausführungsformen können die repräsentativen Positionen der Teilbereiche durch mehrere Pixel oder nur durch ein Pixel beabstandet sein. Auf diese Art können in manchen solchen Ausführungsformen die Pixelbereiche, die verwendet werden, um eine Z-Höhe Zpk für den besten Fokus für jeden Teilbereich zu bestimmen, einander teilweise überlappen. In einigen Ausführungen kann der Bereich jedes Teilbereichs relativ klein sein (z. B. 9×9 Pixel, 13×7 Pixel, 3×3 Pixel, 3×5 Pixel usw.). Es wird zu verstehen sein, dass die Verwendung von Z-Höhe-Qualitätsmetriken entsprechend der Auswahl des besten Bildstapels zum Bestimmen einer Z-Höhe-Messung für einen Teilbereich in verschiedenen Ausführungsformen besonders wertvoll in Verbindung mit Bereichen von Interesse mit einem kleinen Fokus sein kann, die zum Erzeugen von „Fokussignalen” oder Fokusmetriken tendieren, die möglicherweise eine relativ große Rauschkomponente umfassen.
  • In verschiedenen Ausführungsformen kann der Nutzer ein speziell zugeordnetes Mehrpunkt-Z-Höhe-Werkzeug oder ein Universal-Z-Höhe-Werkzeug, das einen Mehrpunktmodus umfasst, durch Wählen der entsprechenden Schaltfläche 740 „Z-Höhe-Werkzeug” aus einer Auswahlleiste 707 auswählen, die verschiedene alternative Werkzeug- und/oder Modusauswahlschaltflächen umfasst. Die Werkzeugauswahlleiste 707 kann durch ein „aktives” Feld 745 um die Schaltfläche 740 Z-Höhe-Werkzeug oder Modus herum anzeigen, dass das Z-Höhe-Werkzeug oder -Modus aktiv ist.
  • Auf solch eine Auswahl hin kann die Benutzerschnittstelle in einer Ausführungsform automatisch ein Z-Höhe-Werkzeugparameterdialogfeld, wie z. B. das zuvor beschriebene Parameterdialogfeld 800 wie in 13 gezeigt, zum Wählen eines Mehrpunktmessmodus zum Konfigurieren der verschiedenen Parameter des gewählten Mehrpunktmessmodus, wie hierin zuvor offenbart, anzeigen. In einer Ausführungsform kann das Widget 1314 automatisch in der Benutzerschnittstelle angezeigt werden, um es einem Nutzer zu ermöglichen, den Bereich von Interesse 1314' für die Instanz des Z-Höhe-Werkzeugs graphisch zu definieren (z. B. durch Ziehen der viereckigen Ziehpunkte des Widgets 1314 am Rand unter Verwendung einer Computermaus und eines Bildschirmcursors). Es wird zu verstehen sein, dass die für das Widget 1314 gezeigten 10×10 Teilbereiche den in diesem tabulierten Teil 810c in 13 gezeigten besonderen „Mehrpunkt”-Parametereinstellungen entsprechen.
  • 14 ist Ablaufdiagramm, das ein Beispiel für eine Routine 1400 darstellt, die eine Ausführungsform von Operationen zeigt, die verwendet werden können, um jeden einer Mehrzahl von Bildstapeln zu analysieren, die von einem hierin offenbarten Mehrpunkt-Z-Höhe-Messwerkzeug analysiert werden. Die in 14 gezeigte „Z-Höhe-Metrik” kann zum Beispiel als ein Z-Höhe-Qualitätsmetrik innerhalb der Routinen aus 9 oder 11 verwendet werden. Die Mehrheit der Operationen der Routine 1400 ist in der einbezogenen '054 Veröffentlichung beschrieben, die eine im Wesentlichen ähnliche Figur enthält. Auf der Grundlage der verwandten Lehren der '054 Veröffentlichung und sonstiger Lehren in dieser Offenbarung kann ein Durchschnittsfachmann 14 durch genaue Betrachtung verstehen.
  • An einem Block 1405 wird ein Satz von Bereichen von Interesse ROI(k) für k = 1 bis P definiert oder gewählt, für den Z-Höhen und entsprechende Z-Höhe-Qualitätsmetriken bestimmt werden sollen. Es wird zu verstehen sein, dass in einigen Ausführungsformen jeder Bereich (oder jeder Teilbereich) von Interesse ROI(k) relativ klein sein (z. B. 9×9 Pixel oder 7×7 Pixel oder sogar weniger) und einer individuellen Koordinatenposition (z. B. einer repräsentativen Koordinatenpixelkoordinatenposition) gemäß dem erwünschten Ziel entsprechen kann, geschätzte 3-D Koordinatendaten (Punktwolkendaten), an einen Algorithmus zum Anpassen einer Form für die Anpassung einer Form an den Oberflächenbereich, der die Bereiche von Interesse ROI(k) umfasst, zu liefern.
  • An einem Block 1410 wird ein Bildstapelsatz von Bildern definiert, die image(i) für i = 1 bis N umfassen. Das Sichtfeld des Bildstapelsatzes kann den Satz von Bereichen von Interesse ROI(k) umfassen 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 1415 beginnen Operationen zur Erfassung von Elementen des Bildstapelsatzes image(i) bei entsprechenden Z-Höhen Z(i). Eine Z-Höhe Z(i) ist die Z-Höhe, die von dem maschinell sehenden Inspektionssystem zur Zeit des Erfassens von image(i) angezeigt wird und der Position einer fokussierten Objektebene für dieses Bild entspricht, ungeachtet dessen, ob sich eine Werkstückoberfläche tatsächlich in dieser fokussierten Objektebene befindet.
  • In einigen Ausführungsformen kann es vorteilhaft sein, die Operationen anderer Blöcke (z. B. der Blöcke 14171443) teilweise parallel zu Block 1415 ausführen zu lassen, das heißt, können Bildanalyseoperationen zu jedem günstigen Zeitpunkt beginnen, nachdem ein oder mehrere Bereiche von einem oder mehreren Ausgangsbildern erfasst wurden, um Arbeitszeit und/oder Speicher zu sparen. Auf diese Art kann an einem Block 1417 eine Verarbeitungsschleife für Bildanalyseoperationen an dem ersten/nächsten image(i) zu jedem günstigen Zeitpunkt beginnen, nachdem ein oder mehrere Bereiche oder Teilbereiche des ersten/nächsten image(i) erfasst wurden.
  • An einem Block 1420 beginnt eine verschachtelte Verarbeitungsschleife zum Verarbeiten von Operationen, die in Verbindung mit den ersten/nächsten Bereichen von Interesse ROI(k) stehen, für k = 1 bis P in dem gegenwärtigen image(i). An einem Block 1430 wird eine Fokusmetrik fm(k,i) für den gegenwärtigen Bereich von Interesse ROI(k) in dem gegenwärtigen image(i) bestimmt, und jede solche Fokusmetrik fm(k,i) und entsprechende Z-Höhe Z(i) wird einem Datensatz zur Bestimmung der Fokusspitze (z. B. ein Fokuskurvendatensatz) für den gegenwärtigen Bereich von Interesse ROI(k) hinzugefügt. An einem Entscheidungsblock 1443 wird bestimmt, ob es noch mehr Bereiche von Interesse ROI(k) gibt, die für das gegenwärtige image(i) in der verschachtelten Verarbeitungsschleife zu verarbeiten sind. Wenn ja, kehrt Operation zu Block 1420 zurück, ansonsten fährt Operation bei einem Entscheidungsblock 1444 fort.
  • An dem Entscheidungsblock 1444 wird bestimmt, ob ein anderes image(i) in der an dem Block 1417 begonnenen Verarbeitungsschleife verarbeitet werden soll. Wenn ja, kehrt die Operation zu Block 1417 zurück, ansonsten fährt die Operation bei einem Block 550 fort. In der in 14 gezeigten Ausführungsform fährt die Operation bei einem Block 1450 mit einem vollständigen Datensatz zur Bestimmung der Fokusspitze fort, der für jeden Bereich von Interesse ROI(k) verfügbar ist. In anderen Ausführungsformen können die Operationen des Blocks 1450 jedoch für einen bestimmten Bereich von Interesse zu jeglichem günstigen Zeitpunkt beginnen, nachdem ein ausreichender Datensatz zur Bestimmung der Fokusspitze für diesen bestimmten Bereich von Interesse verfügbar ist. An dem Block 1450 wird für jeden Bereich von Interesse ROI(k) (z. B. für k = 1 bis P) die Z-Höhe des besten Fokus Zp(k) für diesen ROI(k) auf der Grundlage des Datensatzes zur Bestimmung der Fokusspitze bestimmt, der durch die Operationen des Blocks 1430 für diesen ROI(k) festgelegt wird (z. B. geschätzt wie zuvor skizziert). In einigen Ausführungsformen kann jede Z-Höhe für den besten Fokus Zp(k) in dem Speicher 140 gespeichert werden.
  • Die Operation fährt dann bei einem Block 1460 fort, wo für jeden Bereich von Interesse ROI(k) (z. B. für k = 1 bis P) eine entsprechende Z-Höhe-Qualitätsmetrik ZQM(k) für diesen Bereich von Interesse ROI(k) bestimmt wird. Die Z-Höhe-Qualitätsmetrik ZQM(k) kann die Form jeglicher günstigen Z-Höhe-Qualitätsmetrik annehmen, die die Zuverlässigkeit oder Ungewissheit der entsprechenden geschätzten Z-Höhe Zp(k)) annimmt, auf der Grundlage von Daten, die verwendet werden, um die Z-Höhe Zp(k) des besten Fokus für diesen Bereich von Interesse ROI(k) zu bestimmen.
  • In einer Ausführungsform kann die Z-Höhe-Qualitätsmetrik ZQM(k) vorteilhaft und günstig auf dem entsprechenden Datensatz zur Bestimmung der Fokusspitze basieren, der von den Operationen an dem Block 1430 für den Bereich von Interesse ROI(k) festgelegt wird (z. B. wie mit Bezug auf Gleichung 1 oben skizziert). Jedoch wird zu verstehen sein, dass jeder Datensatz zur Bestimmung der Fokusspitze letztendlich auf den zugrunde liegenden Bilddaten basiert, die in dem Bildstapel enthalten sind, auf den vorstehend verwiesen wurde. Auf diese Art kann die Z-Höhe-Qualitätsmetrik ZQM(k) in verschiedenen anderen Ausführungsformen von in dem Bildstapelsatz für den Bereich von Interesse ROI(k) enthaltenen Daten oder von anderen von diesen Bilddaten abgeleiteten Daten abgeleitet werden. Verschiedene Verfahren zur Bestimmung der Z-Höhe-Qualitätsmetrik ZQM(k) sind zuvor (z. B. mit Bezug auf Gleichung 1) oben skizziert worden.
  • Die Operation fährt dann bei einem Block 1470 fort, wo für jeden ROI(k) die Z-Höhe-Qualitätsmetrik ZQM(k) der entsprechenden Z-Höhe Zp(k) für den besten Fokus für diesen ROI(k) zugeordnet wird, so dass die Z-Höhe-Qualitätsmetrik ZQM(k) für die Auswahl der besten Z-Höhe-Messung (Zheight(Zp(k)) aus einer Mehrzahl von Bildstapelergebnissen verwendet werden kann. Zum Beispiel wird die Z-Höhe-Qualitätsmetrik ZQM(k) in einigen Ausführungsformen in Verbindung mit ihren entsprechenden Z-Höhen Zp(k) für den besten Fokus in dem Speicher 140 gespeichert. Die Z-Höhe-Qualitätsmetrik ZQM(k) kann als Metadaten gespeichert werden, wie in der '054 Veröffentlichung beschrieben. In anderen Ausführungsformen wird die Z-Höhe-Qualitätsmetrik ZQM(k) übertragen oder direkt auf Operationen zur Anpassung von Oberflächendarstellung (z. B. 2-dimensionale „Profil”-Anpassungsoperationen oder 3-dimensionale Punktwolken-Anpassungsoperationen) in Verbindung mit ihren entsprechenden Z-Höhen Zp(k) für den besten Fokus angewandt. Nach Block 1470 endet die Routine.
  • Obgleich hierin verschiedene Ausführungsformen dargestellt und beschrieben wurden, werden dem Fachmann auf der Grundlage dieser Offenbarung zahlreiche Variationen der dargestellten und beschriebenen Anordnungen von Merkmalen und Operationssequenzen ersichtlich sein. Somit wird zu verstehen sein, dass darin verschiedene Änderungen vorgenommen werden können, ohne vom Geist und Anwendungsbereich der Erfindung abzuweichen.
  • Zum Beispiel können die Beleuchtungseinstellungen, die Beleuchtungsparameter identifizieren, die die verschiedenen Beleuchtungskriterien erfüllen, in verschiedenen Ausführungsformen auf Grundlage von Operationen erreicht werden, die in den Beleuchtungsanpassungswerkzeugen enthalten sind, die in dem vorstehend einbezogenen '180 Patent und in US-Patent Nr. 6,627,863 (das '863 Patent), das gemeinsam übertragen und hierin durch Bezugnahme in seiner Gesamtheit einbezogen ist, offenbart sind. In einem anderen Beispiel können die in der einbezogenen '054 Veröffentlichung beschriebenen Verfahren verwendet werden, um jeden einer Mehrzahl von Bildstapeln zu analysieren, die durch ein hierin offenbartes Mehrpunkt-Z-Höhe-Messwerkzeug analysiert werden, und „Z-Höhe-Metadaten”, die entsprechend den Verfahren der '054 Veröffentlichung bestimmt werden, können als eine Z-Höhe-Qualitätsmetrik zum Bestimmen verwendet werden, welcher der Mehrzahl von von einem Videowerkzeug analysierten Bildstapeln die beste Z-Höhe-Qualitätsmetrik für einen Teilbereich liefert, und sollten verwendet werden, um die fokusbasierte Z-Höhe-Messung für diesen Teilbereich zu bestimmen. Die Lehren der gemeinsam übertragenen US-Veröffentlichung vor Erteilung mit der Nr. 2011/0103679 (die '679 Veröffentlichung), die hierin durch Bezugnahme in ihrer Gesamtheit einbezogen ist, kann auch dafür ausgebildet sein, Verfahren bereitzustellen, die in verschiedenen Ausführungsformen verwendet werden können, zum Beispiel, um ein Bild mit globalem bestem Fokus für einen Bereich von Interesse zu liefern.
  • Es sollte zu verstehen sein, dass die hierin offenbarten Verfahren direkt für die Verwendung mit einem Weißlicht-Interferometer(WLI)-Messwerkzeug oder -Verfahren angewandt werden können. In einer solchen Ausführungsform werden die durch ein WLI-Element auf das Werkstück projizierten Beleuchtungsstärken und die Anzahl von verwendeten Bildstapel entsprechend den hierin offenbarten Lehren bestimmt. Die Amplitude der gemessenen WLI-Signale (z. B. eine normalisierte WLI-Spitzensignalamplitude) kann in einigen Ausführungsformen in der Rolle der Z-Höhe-Qualitätsmetrik verwendet werden.

Claims (19)

  1. Die Ausführungsformen der Erfindung mit Anspruch auf ausschließliches Eigentum oder Privileg sind folgendermaßen definiert: Verfahren zum Betreiben eines maschinell sehenden Präzisionsinspektionssystems Satzes zum Bestimmen von Mehrpunkt-Z-Höhe-Messdaten, die fokusbasierte Z-Höhe-Messungen in einem speziellen Bereich von Interesse an einem Werkstück umfassen, wobei das maschinell sehende Präzisionsinspektionssystem aufweist: einen Bildgebungsteil, der eine Kamera umfasst; einen steuerbaren Beleuchtungsteil; einen Fokussierungsteil; einen Steuerteil, der einen Bildprozessor umfasst; einen ersten Messmodus zum Ausführen von fokusbasierten Mehrpunkt-Z-Höhe-Messungen an einem Werkstück, der Operationen umfasst, die die fokusbasierten Mehrpunkt-Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereichs von Interesse auf der Grundlage eines einzelnen Bildstapels bestimmen, der unter Verwendung der gleichen Beleuchtungsparameter für jedes Bild in diesem Bildstapel erfasst wird; einen zweiten Messmodus zum Ausführen von fokusbasierten Mehrpunkt-Z-Höhe-Messungen an einem Werkstück, der Operationen umfasst, die die fokusbasierten Mehrpunkt-Z-Höhe-Messungen für eine Mehrzahl von Teilbereichen innerhalb eines Bereichs von Interesse auf der Grundlage einer Mehrzahl von Bildstapeln bestimmen, wobei ein erster Bildstapel unter Verwendung von Dunkelheitsbeschränkungsbeleuchtungsparametern erfasst wird, die ein Dunkelheitbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen und für jedes Bild in dem ersten Bildstapel die gleichen sind, und ein zweiter Bildstapel unter Verwendung von Helligkeitsbeschränkungsbeleuchtungsparametern erfasst wird, die ein Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen und die gleichen für jedes Bild in dem zweiten Bildstapel sind; eine Benutzerschnittstelle, die eine Bildanzeige und eine graphische Benutzerschnittstelle (GUI) umfasst; und ein Mehrpunkt-Z-Höhe-Messwerkzeug, das aufweist: den zweiten Messmodus; das Helligkeitbeschränkungskriterium für Bildpixel in dem Bereich von Interesse; das Dunkelheitbeschränkungskriterium für Bildpixel in dem Bereich von Interesse; und ein Mehrpunkt-GUI-Element, das einen Indikator für einen Bereich von Interesse umfasst; und wobei das Verfahren beinhaltet: Ausführen von Operationen des maschinell sehenden Inspektionssystems, die beinhalten: Erfassen eines Bildes des speziellen Bereiches von Interesse an einem Werkstück, Aktivieren einer Instanz eines Mehrpunkt-Z-Höhe-Messwerkzeugs; und Definieren eines Bereichs von Interesse in dem erfassten Bild; Ausführen von automatischen Operationen dieser Instanz des Mehrpunkt-Z-Höhe-Messwerkzeugs entsprechend dem zweiten Messmodus, die beinhalten: (a) Operationen, die automatisch den Bildgebungsteil bei einer Höhe des globalen besten Fokus für den Bereich von Interesse fokussieren, wobei die Höhe des globalen besten Fokus auf Grundlage eines Bildstapels, der unter Verwendung eines vorläufigen Satzes von Beleuchtungsparametern erfasst wird, und auf Grundlage einer Fokusmetrik, die auf Grundlage des gesamten Bereiches von Interesse bestimmt wird, bestimmt wird; (b) Operationen, die bei der Höhe des globalen besten Fokus erfasste Bilder analysieren und die Beleuchtungsparameter derart einstellen, dass sie Helligkeitsbeschränkungsbeleuchtungsparameter bestimmen, die das Helligkeitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen, und (c) Operationen, die bei der Höhe des globalen besten Fokus erfasste Bilder analysieren und die Beleuchtungsparameter derart einstellen, dass sie Dunkelheitsbeschränkungsbeleuchtungsparameter bestimmen, die das Dunkelheitsbeschränkungskriterium für Bildpixel in dem Bereich von Interesse erfüllen.
  2. Verfahren nach Anspruch 1, wobei das Verfahren das Ausführen der Operationen des maschinell sehenden Inspektionssystems unter der Steuerung von Teil-Programmanweisungen während eines Programmlaufmodus beinhaltet und das Verfahren ferner beinhaltet: Erfassen einer Mehrzahl von Bildstapeln, die den Bereich von Interesse umfassen, wobei diese Mehrzahl von Bildstapeln wenigstens einen ersten unter Verwendung der bestimmten Dunkelheitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel und einen zweiten unter Verwendung der bestimmten Helligkeitbegrenzungsbeleuchtungsparameter erfassten Bildstapel umfasst; und Bestimmen der fokusbasierten Mehrpunkt-Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen innerhalb des Bereiches von Interesse auf der Grundlage der Mehrzahl von Bildstapeln.
  3. Verfahren nach Anspruch 2, wobei das Bestimmen der fokusbasierten Mehrpunkt-Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen beinhaltet: Bestimmen einer Z-Höhe-Qualitätsmetrik für diesen Teilbereich für jeden der Mehrzahl von Bildstapeln; und Bestimmen der fokusbasierten Z-Höhe-Messung für diesen Teilbereich auf der Grundlage desjenigen der Mehrzahl von Bildstapeln, der die beste Z-Höhe-Qualitätsmetrik liefert.
  4. Verfahren nach Anspruch 2, wobei die Mehrzahl von Bildstapeln den unter Verwendung des vorläufigen Satzes von Beleuchtungsparametern erfassten Bildstapel umfasst.
  5. Verfahren nach Anspruch 1, wobei das Verfahren das Ausführen der Operationen des maschinell sehenden Inspektionssystems während eines Lernmodus beinhaltet, wobei: in dem Schritt des Erfassens eines Bildes des speziellen Bereichs von Interesse das Werkstück ein repräsentatives Werkstück ist und der Schritt das Anzeigen des erfassten Bildes auf der Bildanzeigevorrichtung beinhaltet; der Schritt des Aktivierens einer Instanz eines Mehrpunkt-Z-Höhe-Messwerkzeugs das Anzeigen seines Mehrpunkt-GUI-Elements auf der Bildanzeigevorrichtung beinhaltet; und der Schritt des Definierens eines Bereichs von Interesse in dem erfassten Bild das Definieren eines Bereichs von Interesse in dem angezeigten Bild durch derartiges Positionieren des Indikators des Bereichs von Interesse des Mehrpunkt-GUI-Elements, dass er den speziellen Bereich von Interesse umgibt, beinhaltet.
  6. Verfahren nach Anspruch 5, wobei das Verfahren ferner Aufzeichnung-Teil-Programmanweisungen für die Instanz des Mehrpunkt-Z-Höhe-Messwerkzeugs beinhalten die Operationen ausführen, die beinhalten: Erfassen einer Mehrzahl von Bildstapeln, die den Bereich von Interesse umfassen, wobei diese Mehrzahl von Bildstapeln wenigstens einen ersten unter Verwendung der bestimmten Dunkelheitsbeschränkungsbeleuchtungsparameter erfassten Bildstapel und einen zweiten unter Verwendung der bestimmten der Helligkeitbegrenzungsbeleuchtungsparameter erfassten Bildstapel umfassen; und Bestimmen der fokusbasierten Mehrpunkt-Z-Höhe-Messungen für jeden einer Mehrzahl von Teilbereichen innerhalb des Bereiches von Interesse auf der Grundlage der Mehrzahl von Bildstapeln, was für jeden Teilbereich umfasst: Bestimmen einer Z-Höhe-Qualitätsmetrik für diesen Teilbereich für jeden der Mehrzahl von Bildstapeln; und Bestimmen der fokusbasierten Z-Höhe-Messung für diesen Teilbereich auf der Grundlage desjenigen der Mehrzahl von Bildstapeln, der die beste Z-Höhe-Qualitätsmetrik liefert.
  7. Verfahren nach Anspruch 6, wobei die Z-Höhe-Qualitätsmetrik eine Beziehung zwischen einer repräsentativen Spitzenhöhe, die durch einen Datensatz zur Bestimmung einer Fokusspitze angegeben ist, der von der Mehrzahl von Bildstapeln abgeleitet ist, und einen repräsentativen Rauschpegel oder „Rauschhöhe”, die von dem Datensatz zur Bestimmung einer Fokusspitze angegeben ist, umfasst.
  8. Verfahren zum Betreiben eines maschinell sehenden Präzisionsinspektionssystems zum Bestimmen eines Satzes von Z-Höhe-Messdaten, die fokusbasierte Z-Höhe-Messungen an einem Werkstück umfassen, wobei das maschinell sehende Präzisionsinspektionssystem eine Benutzerschnittstelle, einen Bildgebungsteil, der eine Kamera umfasst, einen steuerbaren Beleuchtungsteil, einen Fokussierungsteil und einen Steuerteil, der einen Bildprozessor umfasst, aufweist, wobei das Verfahren beinhaltet: (a) Betreiben des maschinell sehenden Präzisionsinspektionssystems Sehen derart, dass ein Bereich von Interesse zum Ausführen von Points-from-focus-Operationen an dem Werkstück definiert wird; (b) Betreiben des maschinell sehenden Präzisionsinspektionssystems derart, dass N entsprechende Beleuchtungsvektoren definiert werden, die N Bildstapeln zugeordnet sind, die Bilder umfassen, die den Bereich von Interesse umfassen und unterschiedliche Fokus-Z-Höhen in einem definierten Z-Höhenbereich haben, wobei N mindestens 2 ist und das Definieren der N entsprechenden Beleuchtungsvektoren aufweist: (b1) Definieren eines ersten entsprechenden Beleuchtungsvektors, so dass ein erstes Helligkeitskriterium erfüllt ist, wobei die hellsten Pixelpositionen in dem Bereich von Interesse Helligkeitswerte in den oberen 25% eines Helligkeitsbereichs der Kamera umfassen, und so dass eine erste Anzahl der hellsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder oberhalb einer oberen Helligkeitsgrenze haben, auf einen ersten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in wenigstens einem ersten Bild mit einer jeweiligen Z-Höhe in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem ersten entsprechenden Beleuchtungsvektor entspricht bestimmt; und (b2) Definieren eines zweiten entsprechenden Beleuchtungsvektors, so dass ein zweites Helligkeitskriterium erfüllt ist, wobei eine zweite Anzahl der dunkelsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen zweiten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in wenigstens einem zweiten Bild mit einer entsprechenden Z-Höhe in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem zweiten entsprechenden Beleuchtungsvektor entspricht, bestimmt; und (c) Ausführen mindestens eines der Sätze von Operationen (c1) und (c2), wobei: (c1) aufweist: Speichern der N entsprechenden Beleuchtungsvektoren in Verbindung mit einem Teil-Programm für spätere Verwendung beim Inspizieren eines entsprechenden Bereichs von Interesse an einem entsprechenden Werkstück, wobei das Teil-Programm Anweisungen zum Ausführen von Operationen umfasst, die beinhalten: Erfassen von N Bildstapeln auf der Grundlage der N entsprechenden Beleuchtungsvektoren; Bestimmen, welcher der N Bildstapel die beste Z-Höhe-Qualitätsmetrik bei jeder Points-from-focus-Daten-Punkt-Position hat; und Liefern von Z-Höhe-Messdaten, die von den Bildstapeln derart abgeleitet werden, dass bei jeder Points-from-focus-Daten-Punkt-Position die Z-Höhe-Messung, die dem Bildstapel mit der besten Z-Höhe-Qualitätsmetrik zugeordnet ist, als die Z-Höhe-Messung bei der Points-from-focus-Daten-Punkt-Position identifiziert wird; und (c2) beinhaltet: Betreiben des maschinell sehenden Präzisionsinspektionssystems, um N Bildstapel auf der Grundlage der N entsprechenden Beleuchtungsvektoren zu erfassen; Bestimmen, welcher der N Bildstapel die beste Z-Höhe-Qualitätsmetrik bei jeder Punkt-von-Fokus-Daten-Punkt-Position hat; und Liefern von Z-Höhe-Messdaten, die von den Bildstapeln derart abgeleitet werden, dass bei jeder Points-from-focus-Daten-Punkt-Position die Z-Höhe-Messung auf dem Bildstapel mit der besten Z-Höhe-Qualitätsmetrik bei der Points-from-focus-Daten-Punkt-Position basiert.
  9. Verfahren nach Anspruch 8, wobei: in Schritt (b1) die erste Anzahl der hellsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder oberhalb einer oberen Helligkeitsgrenze haben, auf einen ersten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in einer ersten Mehrzahl von Bildern mit entsprechenden Fokus Z-Höhen in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem ersten entsprechenden Beleuchtungsvektor entspricht, bestimmt; und in Schritt (b2) die zweite Anzahl der dunkelsten Pixelpositionen in dem Bereich von Interesse, die Helligkeitswerte bei oder unterhalb einer unteren Helligkeitsgrenze haben, auf einen zweiten kleinen Anteil der Pixelpositionen in dem Bereich von Interesse begrenzt wird, wie in einer zweiten Mehrzahl von Bildern mit entsprechenden Fokus-Z-Höhen in dem Z-Höhenbereich und mit einem Bildbelichtungsgrad, der dem zweiten entsprechenden Beleuchtungsvektor entspricht, bestimmt.
  10. Verfahren nach Anspruch 8, wobei in Schritt (b1) das wenigstens eine erste Bild aus dem ersten Bild besteht und in Schritt (b2) das wenigstens eine zweite Bild aus dem zweiten Bild besteht.
  11. Verfahren nach Anspruch 10, wobei sich die entsprechenden Fokus-Z-Höhen des ersten und des zweiten Bildes unterscheiden.
  12. Verfahren nach Anspruch 10, wobei die entsprechenden Fokus-Z-Höhen des ersten und des zweiten Bildes gleich sind.
  13. Verfahren nach Anspruch 8, wobei Schritt (b) das Ausführen von Operationen umfasst, die beinhalten: Definieren des Z-Höhe-Bereichs; Erfassen eines vorläufigen Bildstapels, der eine Mehrzahl von Bildern, bei einer Mehrzahl von entsprechenden Fokus-Z-Höhen in dem Z-Höhe-Bereich umfasst, unter Verwendung eines vorläufigen Beleuchtungsvektors; Bestimmen einer Spitzen-Fokus-Z-Höhe auf Grundlage des vorläufigen Bildstapels; und Verwenden dieser Spitzenfokus-Z-Höhe als die jeweilige Fokus-Z-Höhe des ersten und des zweiten Bildes.
  14. Verfahren nach Anspruch 13, wobei: das Definieren des ersten entsprechenden Beleuchtungsvektors das wiederholte Analysieren von entsprechenden bei der Spitzen-Fokus-Z-Höhe erfassten Bildern unter Verwendung von entsprechenden Beleuchtungsvektoren, bis wenigstens ein erstes entsprechendes Bild identifiziert ist, das das erste Helligkeitskriterium erfüllt, und das Verwenden des entsprechenden Beleuchtungsvektors, der dem wenigstens einen ersten entsprechenden Bild entspricht, als den ersten entsprechenden Beleuchtungsvektor umfasst; und das Definieren des entsprechenden Beleuchtungsvektors das wiederholte Analysieren von entsprechenden bei der Spitzen-Fokus-Z-Höhe erfassten Bildern unter Verwendung von entsprechenden Beleuchtungsvektoren, bis wenigstens ein zweites entsprechendes Bild identifiziert ist, das das zweite Helligkeitskriterium erfüllt, und das Verwenden des entsprechenden Beleuchtungsvektors, der dem wenigstens zweiten entsprechenden Bild entspricht, als den zweiten entsprechenden Beleuchtungsvektor umfasst.
  15. Verfahren nach Anspruch 8, das das Ausführen der Operationen aus Schritt (c2) in Verbindung mit einem Programmlaufbetriebsmodus des maschinell sehenden Präzisionsinspektionssystems, der von einem Teil-Programm gesteuert wird, beinhaltet.
  16. Verfahren nach Anspruch 15, wobei: in Schritt (c2) während des Programmlaufbetriebsmodus das Betreiben des maschinell sehenden Präzisionsinspektionssystems zum Erfassen von N Bildstapeln auf der Grundlage der N entsprechenden Beleuchtungsvektoren beinhaltet: Abrufen eines Z-Höhe-Bereichs aus dem Teil-Programm; Abrufen der N entsprechenden Beleuchtungsvektoren aus dem Teil-Programm; und Verwenden des abgerufenen Z-Höhe-Bereichs und der abgerufenen N entsprechenden Beleuchtungsvektoren zum Erfassen der N Bildstapel.
  17. Verfahren nach Anspruch 15, wobei: in Schritt (c2) während des Programmlaufbetriebsmodus das Betreiben des maschinell sehenden Präzisionsinspektionssystems zum Erfassen von N Bildstapeln auf der Grundlage der N entsprechenden Beleuchtungsvektoren beinhaltet: Abrufen eines Z-Höhe-Bereichs aus dem Teil-Programm; Erfassen eines vorläufigen Bildstapels, der eine Mehrzahl von Bildern bei einer Mehrzahl von entsprechenden Fokus Z-Höhen im Z-Höhen-Bereich umfasst; Bestimmen einer Spitzenfokus-Z-Höhen auf der Grundlage des vorläufigen Bildstapels; Verwenden dieser Spitzenfokus-Z-Höhe als eine Programmlaufmodus-Fokus-Z-Höhe für das erste und das zweite repräsentative Bild; und Verwenden der N entsprechenden Beleuchtungsvektoren zum Erfassen der N Bildstapel.
  18. Verfahren nach Anspruch 8, wobei die Z-Höhe-Qualitätsmetrik eine Beziehung zwischen einer repräsentativen Spitzenhöhe, die durch einen Datensatz zur Bestimmung einer Fokusspitze angegeben ist, der von der Mehrzahl von Bildstapeln abgeleitet ist, und einen repräsentativen Rauschpegel oder „Rauschhöhe”, die von dem Datensatz zur Bestimmung einer Fokusspitze angegeben ist, umfasst.
  19. Verfahren nach Anspruch 18, wobei die Z-Höhe-Qualitätsmetrik auf einem Satz von Fokuskurvendaten basiert, die Kontrastwerte vs. Z-Höhen für jede X-Y-Position in einem entsprechenden Stapel von Werkstückbildern umfassen, unter Verwendung eines maximalen Kontrastwerts MAX, einen Basiskontrastwerts BAS, der der Median aller Kontrastwerte in der entsprechenden Kontrastkurve ist, und den Median der absoluten Abweichung der Differenz zwischen den i-ten Kontrastwerten Ci der Kontrastkurve und dem Basiskontrastwert BAS, entsprechend der Gleichung Q = (MAX – BAS) / Median{|Ci – BAS|} (Gl.1).
DE112012005389.3T 2011-12-23 2012-12-21 "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden Pending DE112012005389T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161580145P 2011-12-23 2011-12-23
US61/580,145 2011-12-23
PCT/US2012/071522 WO2013096929A1 (en) 2011-12-23 2012-12-21 Points from focus operations using multiple light settings in a machine vision system

Publications (1)

Publication Number Publication Date
DE112012005389T5 true DE112012005389T5 (de) 2014-09-11

Family

ID=48654141

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012005389.3T Pending DE112012005389T5 (de) 2011-12-23 2012-12-21 "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden

Country Status (5)

Country Link
US (1) US9060117B2 (de)
JP (1) JP6101706B2 (de)
CN (1) CN104137147B (de)
DE (1) DE112012005389T5 (de)
WO (1) WO2013096929A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3690391A1 (de) * 2019-01-29 2020-08-05 Senswork GmbH Vorrichtung zur erfassung einer dreidimensionalen struktur

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350921B2 (en) 2013-06-06 2016-05-24 Mitutoyo Corporation Structured illumination projection with enhanced exposure control
DE102015101079A1 (de) * 2014-01-27 2015-07-30 Cognex Corp. System und verfahren zum ermitteln von 3d-oberflächenmerkmalen und unregelmässigkeiten auf einem objekt
US9396571B2 (en) 2014-02-10 2016-07-19 International Business Machines Corporation Simplified lighting compositing
DE102015208337A1 (de) * 2014-06-17 2015-12-17 Mitutoyo Corp. Bearbeitungsumgebung eines maschinellen sichtsystems für ein teileprogramm, in dem ein durchgehender datenstrom von bilderfassungsvorgängen in einem laufmodus ausgeführt wird
US20160073061A1 (en) * 2014-09-04 2016-03-10 Adesa, Inc. Vehicle Documentation System
US9602715B2 (en) 2015-07-09 2017-03-21 Mitutoyo Corporation Adaptable operating frequency of a variable focal length lens in an adjustable magnification optical system
US9830694B2 (en) 2015-08-31 2017-11-28 Mitutoyo Corporation Multi-level image focus using a tunable lens in a machine vision inspection system
US9774765B2 (en) 2015-09-15 2017-09-26 Mitutoyo Corporation Chromatic aberration correction in imaging system including variable focal length lens
US9930243B2 (en) 2016-05-02 2018-03-27 Mitutoyo Corporation Variable focal length imaging system
US9736355B1 (en) 2016-05-03 2017-08-15 Mitutoyo Corporation Phase difference calibration in a variable focal length lens system
US9961253B2 (en) * 2016-05-03 2018-05-01 Mitutoyo Corporation Autofocus system for a high speed periodically modulated variable focal length lens
US10151962B2 (en) 2016-09-29 2018-12-11 Mitutoyo Corporation Variable focal length lens system with focus monitoring and control
US10142550B2 (en) 2016-11-15 2018-11-27 Mitutoyo Corporation Extending a focus search range in an imaging system including a high speed variable focal length lens
US10580234B2 (en) 2017-01-20 2020-03-03 Adesa, Inc. Vehicle documentation system
CN111066062B (zh) * 2017-08-24 2023-03-24 雷迪安特视觉系统有限公司 使用分数像素测量电子视觉显示器的方法和系统
US10776983B2 (en) * 2018-02-27 2020-09-15 Nvidia Corporation Analysis of point cloud data using depth and texture maps
JP6977634B2 (ja) * 2018-03-13 2021-12-08 オムロン株式会社 外観検査装置、外観検査方法及びプログラム
CN109194867A (zh) * 2018-08-29 2019-01-11 广州智摄宝摄影科技有限公司 一种智能拍摄控制方法及智能拍摄控制系统
CN109254382B (zh) * 2018-10-12 2021-11-26 南通大学 基于机器视觉的螺纹检测自动对焦方法
US11125967B2 (en) 2018-12-26 2021-09-21 Mitutoyo Corporation System and method for calibrating variable focal length lens system using calibration object with planar tilted pattern surface
US10520301B1 (en) * 2018-12-31 2019-12-31 Mitutoyo Corporation Method for measuring Z height values of a workpiece surface with a machine vision inspection system
CN110009642B (zh) * 2019-03-14 2021-03-26 华中科技大学 基于白光干涉测量的三维图像噪声区域重建方法及系统
US10880468B1 (en) 2019-12-19 2020-12-29 Mitutoyo Corporation Metrology system with transparent workpiece surface mode
US11499817B2 (en) * 2020-05-29 2022-11-15 Mitutoyo Corporation Coordinate measuring machine with vision probe for performing points-from-focus type measurement operations
US11631196B2 (en) * 2020-07-31 2023-04-18 Zebra Technologies Corporation Systems and methods to optimize imaging settings for a machine vision job
US11328409B2 (en) * 2020-09-30 2022-05-10 Mitutoyo Corporation System and method utilizing multi-point autofocus to align an optical axis of an optical assembly portion to be normal to a workpiece surface
US11587246B2 (en) 2020-10-30 2023-02-21 Mitutoyo Corporation Metrology system with projected pattern for points-from-focus type processes
US11486694B2 (en) 2020-12-18 2022-11-01 Mitutoyo Corporation Chromatic range sensor system for measuring workpiece thickness
US11714051B2 (en) 2021-11-30 2023-08-01 Mitutoyo Corporation Metrology system configured to measure apertures of workpieces
EP4379445A2 (de) 2022-02-11 2024-06-05 Carl Zeiss Industrielle Messtechnik GmbH Bestimmung von tiefenwerten eines oberflächenbereichs eines werkstücks

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790710A (en) 1991-07-12 1998-08-04 Jeffrey H. Price Autofocus system for scanning microscopy
US5325449A (en) 1992-05-15 1994-06-28 David Sarnoff Research Center, Inc. Method for fusing images and apparatus therefor
JP3296513B2 (ja) * 1993-04-09 2002-07-02 株式会社ミツトヨ 微小径測定装置
US5828793A (en) 1996-05-06 1998-10-27 Massachusetts Institute Of Technology Method and apparatus for producing digital images having extended dynamic ranges
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
JP4477782B2 (ja) * 2000-01-18 2010-06-09 株式会社ミツトヨ 被測定物のイメージにおける複数選択領域該当箇所の照明調整装置及び方法
US6627863B2 (en) 2000-12-15 2003-09-30 Mitutoyo Corporation System and methods to determine the settings of multiple light sources in a vision system
SE518050C2 (sv) 2000-12-22 2002-08-20 Afsenius Sven Aake Kamera som kombinerar skarpt fokuserade delar från olika exponeringar till en slutbild
JP2003014433A (ja) 2001-07-04 2003-01-15 Nikon Corp 形状測定装置、形状測定装置の制御装置、及び形状測定装置の制御プログラム
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
JP2006017613A (ja) 2004-07-02 2006-01-19 Mitsutoyo Corp 干渉画像測定装置
JP4480492B2 (ja) * 2004-07-06 2010-06-16 株式会社キーエンス 拡大観察装置、画像ファイル生成装置、画像ファイル生成プログラム、3次元画像表示プログラム及びコンピュータで読み取り可能な記録媒体
US7454053B2 (en) * 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system
US7627162B2 (en) * 2005-01-31 2009-12-01 Mitutoyo Corporation Enhanced video metrology tool
US7653298B2 (en) 2005-03-03 2010-01-26 Fujifilm Corporation Image capturing apparatus, image capturing method, image capturing program, image recording output system and image recording output method
US7570795B2 (en) * 2006-07-18 2009-08-04 Mitutoyo Corporation Multi-region autofocus tool and mode
WO2008031089A2 (en) 2006-09-08 2008-03-13 Sarnoff Corporation System and method for high performance image processing
JP2009265112A (ja) * 2008-04-02 2009-11-12 Casio Hitachi Mobile Communications Co Ltd 撮像装置及びプログラム
CN101477229A (zh) * 2008-10-08 2009-07-08 中南大学 阵列波导对准封装中机器视觉的照明方法及平行光源装置
US8111938B2 (en) 2008-12-23 2012-02-07 Mitutoyo Corporation System and method for fast approximate focus
KR100952202B1 (ko) * 2009-09-11 2010-04-09 주식회사 엘에스텍 도광판용 패턴형성장치
US8111905B2 (en) * 2009-10-29 2012-02-07 Mitutoyo Corporation Autofocus video tool and method for precise dimensional inspection
US8581162B2 (en) * 2009-12-08 2013-11-12 Mitutoyo Corporation Weighting surface fit points based on focus peak uncertainty
JP2011153905A (ja) 2010-01-27 2011-08-11 Mitsutoyo Corp マシンビジョン検査システム用の光学収差補正
CN101840164B (zh) * 2010-05-13 2011-12-14 北京理工大学 一种光刻机投影物镜波像差在线检测装置及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3690391A1 (de) * 2019-01-29 2020-08-05 Senswork GmbH Vorrichtung zur erfassung einer dreidimensionalen struktur
WO2020156817A1 (de) * 2019-01-29 2020-08-06 Senswork Gmbh Vorrichtung zur erfassung einer dreidimensionalen struktur

Also Published As

Publication number Publication date
CN104137147B (zh) 2017-05-31
CN104137147A (zh) 2014-11-05
JP6101706B2 (ja) 2017-03-22
US9060117B2 (en) 2015-06-16
US20130162807A1 (en) 2013-06-27
WO2013096929A1 (en) 2013-06-27
JP2015507262A (ja) 2015-03-05

Similar Documents

Publication Publication Date Title
DE112012005389T5 (de) "Points-from-Focus"-Operationen, die mehrere Beleuchtungseinstellungen in einem maschinell sehenden System verwenden
DE102009029478B4 (de) System und Verfahren für einen schnellen ungefähren Fokus
DE102010043052B4 (de) Verfahren zur präzisen Dimensionsprüfung und Fokussierung
DE102014205726B4 (de) Verfahren zum bestimmen von profildaten für ein kantenmerkmal in einem inspektionssystem mit maschineller bildverarbeitung
DE102012224320A1 (de) Verbessertes Kantenfokussierungswerkzeug
DE102012220882B4 (de) System und Verfahren unter Verwendung eines Bearbeitungsinitialisierungsblocks in einer Teileprogramm-Bearbeitungsumgebung in einem Maschinenvisionssystem
DE102009046295B4 (de) Optische Abweichungskorrektur für maschinelle Sichtinspektionssysteme
DE602004003882T2 (de) System und Verfahren zur schnellen automatischen Fokussierung eines Maschinenvisionssystems
US8581162B2 (en) Weighting surface fit points based on focus peak uncertainty
DE102017220104A1 (de) Linsensystem mit variabler Brennweite mit Mehrebenen-Bildverarbeitung mit erweiterter Tiefenschärfe
DE102014206309B4 (de) System und Verfahren zum Erhalten von Bildern mit Versatz zur Verwendung für verbesserte Kantenauflösung
EP2870500B1 (de) Verfahren zur vorbereitung und durchführung der aufnahme von bildstapeln einer probe aus verschiedenen orientierungswinkeln
DE102012216908B4 (de) Verfahren unter Verwendung einer Bildkorrelation zum Bestimmen von Positionsmessungen in einem Maschinenvisionssystem
DE102015219495A1 (de) Verfahren zum Programmieren eines dreidimensionalen Werkstückabtastwegs für ein Metrologiesystem
DE102013217354B4 (de) Kantenmessungs-videowerkzeug und schnittstelle mit automatischen parametersatzalternativen
DE102012206079A1 (de) Inspizieren von potenziell störenden Eigenschaften in einem maschinellen, visuellen System
DE102016202928B4 (de) Verbessertes Autofokusverfahren für ein Koordinatenmessgerät
DE102014211657A1 (de) Verbesserung der Reproduzierbarkeit der Fokushöhe in einem Bildverarbeitungs-Inspektionssystem
DE102014207095A1 (de) Kantenmessungs-Videowerkzeug mit robustem Kantenunterscheidungs-Spielraum
DE102011084309A1 (de) Präzisions-Bildverarbeitungs-Inspektionsverfahren für Lötstopplack-Passgenauigkeit
WO2017191011A2 (de) Artefaktreduktion bei der winkelselektiven beleuchtung
DE102021115002A1 (de) Werkstückinspektions- und fehlererkennungssystem einschliesslich überwachung der werkstückbilder
WO2009046781A1 (de) Verfahren und vorrichtung zur erfassung von informationen eines werkzeugs
DE202013012450U1 (de) System für die Identifizierung von Tiefendaten, die mit einem Objekt verbunden sind
DE112018001600T5 (de) System und verfahren zur 3d-profilbestimmung unter verwendung einer modellbasierten peak-auswahl

Legal Events

Date Code Title Description
R012 Request for examination validly filed