DE112006002674B4 - Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem - Google Patents

Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem Download PDF

Info

Publication number
DE112006002674B4
DE112006002674B4 DE112006002674.7T DE112006002674T DE112006002674B4 DE 112006002674 B4 DE112006002674 B4 DE 112006002674B4 DE 112006002674 T DE112006002674 T DE 112006002674T DE 112006002674 B4 DE112006002674 B4 DE 112006002674B4
Authority
DE
Germany
Prior art keywords
double
patterns
cameras
images
locations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112006002674.7T
Other languages
English (en)
Other versions
DE112006002674T5 (de
Inventor
Aaron Wallack
David Michael
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.)
Cognex Corp
Original Assignee
Cognex 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 Cognex Corp filed Critical Cognex Corp
Publication of DE112006002674T5 publication Critical patent/DE112006002674T5/de
Application granted granted Critical
Publication of DE112006002674B4 publication Critical patent/DE112006002674B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Vascular Medicine (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)

Abstract

Die Erfindung stellt unter anderem Verfahren und Vorrichtungen zu Bestimmung der Pose, d. h. Position längs der x-, y- und z-Achsen, des Neigens, Rollens und Gierens (oder einer oder mehrerer Charakteristiken jener Pose), eines Objekts in drei Dimensionen durch Triangulieren von Daten, die von mehreren Bildern des Objekts gesammelt wurden, zur Verfügung. Somit stellt die Erfindung beispielsweise in einem Aspekt ein Verfahren für 3D-Maschinensichtigkeit bereit, bei dem während eines Kalibrierungsschritts mehrere Kameras, welche angeordnet sind, um Bilder des Objekts aus verschiedenen jeweiligen Blickpunkten zu erfassen, kalibriert werden, um eine Abbildungsfunktion wahrzunehmen, die Strahlen im dreidimensionalen Raum identifiziert, welche von der Linse jeder jeweiligen Kamera ausgehen, die Pixelorten im Sichtfeld jener Kamera entsprechen. In einem Trainingsschritt wird die den Kameras zugeordnete Funktionalität trainiert, um erwartete Muster in Bildern, die von dem Objekt zu erfassen sind, zu erkennen. Ein Laufzeitschritt trianguliert Orte im dreidimensionalen Raum von einem oder mehreren jener Muster von Pixel betreffenden Positionen jener Muster in Bildern des Objekts und von den während des Kalibrierungsschritts wahrgenommenen Abbildungen.

Description

  • Hintergrund der Erfindung
  • Die Erfindung betrifft Maschinensichtigkeit und insbesondere dreidimensionale (3D) Maschinensichtigkeit. Die Erfindung wird bei der Fertigung, Qualitätskontrolle und in der Robotik eingesetzt, um nur einige wenige Gebiete zu nennen.
  • Maschinensichtigkeit betrifft die automatisierte Analyse von Bildern zur Bestimmung von Charakteristiken von in ihnen dargestellten Objekten. Es wird oft bei automatisierten Fertigungslinien bzw. -straßen eingesetzt, wo Bilder von Komponenten analysiert werden, um die Auswahl von Teilen zu vereinfachen und die Platzierung der Teile und die Ausrichtung für die Montage zu bestimmen. Wenn Roboter die Mittel für die automatische Montage sind und eine automatisierte Analyse von Bildern eingesetzt wird, um die Teileauswahl, -platzierung und -ausrichtung zu vereinfachen, wird das System als sichtgeführte Robotik bezeichnet. Maschinensichtigkeit wird auch zur Roboternavigation eingesetzt, zum Beispiel zur Sicherstellung der Erkennung von Orten, wenn Roboter sich durch Umgebungen bewegen.
  • Obwohl die dreidimensionale (3D-) Analyse lange in der Literatur erörtert worden ist, verlassen sich die meisten heutigen Systeme für Maschinensichtigkeit auf eine zweidimensionale (2D-) Bildanalyse. Diese erfordert es typischerweise, dass geprüfte Objekte dem Sichtsystem in beschränkten Ausrichtungen und Orten „präsentiert“ werden. Üblicherweise wird zu diesem Zweck ein Förderband eingesetzt. Objekte, die montiert oder geprüft werden, werden typischerweise in einer bestimmten bekannten, stabilen 3D-Konfiguration, aber in einer unbekannten Position und Ausrichtung, auf dem Band platziert und in das Sichtfeld des Sichtsystems bewegt. Auf der Basis der 2D-Pose (d. h. Position und Ausrichtung) eines Objekts in dem Sichtfeld und unter der Berücksichtigung, dass es auf dem Förderband angeordnet ist (wodurch seine „Lage“ und sein Abstand zur der Sichtsystemkamera sichergestellt wird), wendet das System eine 2D-Geometrie an, um die genaue 3D-Pose und/oder Konformität des Objekts mit einem erwarteten Erscheinungsbild zu bestimmen.
  • Beispiele, bei denen eine solche 2D-Sichtanalyse angewendet wird, sind in früheren Arbeiten des vorliegenden Zessionars bereitgestellt, einschließlich der US-Patente 6 748 104 mit dem Titel „Methods and apparatus for machine vision inspection using single and multiple templates or patterns“, 6 639 624 mit dem Titel „Machine vision methods for inspection of leaded components“, 6 301 396 mit dem Titel „Non-feedback-based machine vision methods for determining a calibration relationship between a camera and a moveable object“, 6 137 893 mit dem Titel „Machine vision calibration targets and methods of determining their location and orientation in an image“, 5 978 521 mit dem Titel „Machine vision methods using feedback to determine calibration locations of multiple cameras that image a common object“, 5 978 080 mit dem Titel „Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view“, 5 960 125 mit dem Titel „Non-feedback-based machine vision method for determining a calibration relationship between a camera and a moveable object“, 6 856 698 mit dem Titel „Fast high-accuracy multi-dimensional pattern localization“, 6 850 646 mit dem Titel „Fast high-accuracy multi-dimensional pattern inspection“ und 6 658 145 mit dem Titel „Fast high-accuracy multi-dimensional pattern inspection“, um nur einige wenige zu nennen.
  • Mit zunehmendem Vertrauen in die Robotik ist überall von Fabrikhallen bis zur Privatwohnung der Bedarf an praktischen 3D-Sichtsystemen hervorgetreten. Dies liegt daran, dass in vielen dieser Umgebungen Objekte, die einer Prüfung unterzogen werden, zum Beispiel nicht unbedingt in einer Gesamtposition und -lage eingeschränkt sind, wie es ansonsten der Fall mit Objekten sein kann, die auf einem Förderband präsentiert werden. Das heißt, die präzise 3D-Konfiguration des Objekts kann unbekannt sein.
  • Zur Aufnahme der zusätzlichen Freiheitsgrade von Pose und Position in einem 3D-Ort sind 3D-Sichtwerkzeuge hilfreich, wenn nicht sogar notwendig. Beispiele für diese schließen die US-Patente Nr. 6 771 808 mit dem Titel „System and method for registering patterns transformed in six degrees of freedom using machine vision“ und 6 728 582 mit dem Titel „System and method for determining the position of an object in three dimensions using a machine vision system with two cameras“ ein.
  • Andere Techniken für Maschinensichtigkeit sind auf dem technischen Gebiet vorgeschlagen worden. Einige erfordern zuviel Prozessorleistung, um für eine Echtzeitanwendung praktisch zu sein. Andere erfordern es, dass Objekte, die einer Prüfung unterzogen werden, komplexe Registrierungsvorgänge durchlaufen und/oder dass während der Laufzeit viele Merkmale der Objekte gleichzeitig im Sichtfeld des Sichtsystems sichtbar sind.
  • Außerhalb des Bereichs der Maschinensichtigkeit stellt die Technik auch auf Kontakt basierende Verfahren zur Bestimmung von 3D-Posen bereit - wie etwa die Verwendung einer x,y,z-Messmaschine mit einem Berührungssensor. Jedoch erfordert dies Kontakt, ist relativ langsam und kann manuelles Eingreifen erfordern. Verfahren auf der Basis von elektromagnetischen Wellen zum Bestimmen von 3D-Posen sind ebenfalls angeboten worden. Diese erfordern keinen physischen Kontakt, leiden aber unter eigenen Nachteilen, wie zum Beispiel, dass sie den oft unpraktischen Schritt des Anbringens von Sendern an Objekt, die einer Prüfung unterzogen werden, erfordern.
  • Die EP 0328687 A1 beschreibt ein Kalibrierungssystem für ein Sichtigkeitssensorsystem. Es werden bestimmte Kalibrierschritte angegeben.
  • Die US 2003/0202691 A1 beschreibt die Kalibrierung mehrerer Kameras. Auch hier werden bestimmte Kalibrierschritte angegeben.
  • US 2003/0025788 A1 beschreibt ein tragbares 3D-Sichtigkeitssystem mit zwei Kameras in fester räumlicher Beziehung. Zweite Bilder der zweiten Kamera werden analysiert, um bei der Aufnahme eines ersten Bilds der ersten Kamera entsprechende Positionen der zweiten Kamera zu bestimmen. die ersten Bilder werden dann unter Verwendung der entsprechenden Punkte und der festen räumlichen Beziehung zu einem 3D-Modell zusammengestellt.
  • Die WO 2000/08856 beschreibt die Figurenverfolgung mit mehreren Kameras mit mehreren Gesichtsfeldern.
  • US2003/0156189 A1 beschreibt ein Verfahren zum Kalibrieren von Kameras eines Überwachungssystems durch Verfolgen der Bewegungen von sich im Blickfeld der Kameras bewegenden Personen.
  • Eine Aufgabe der Erfindung ist die Bereitstellung eines verbesserten Verfahrens und eines entsprechenden Systems für die Maschinensichtigkeit und insbesondere für dreidimensionale Maschinensichtigkeit.
  • Diese Aufgabe wird mit den Merkmalen der Ansprüche 1 und 25 gelöst.
  • Zusammenfassung der Erfindung
  • Die vorstehenden gehören zu den Aufgaben, die von der Erfindung gelöst werden, welche unter anderem Verfahren und Vorrichtungen zur Bestimmung der Pose, d. h. Position längs der x-, y- und z-Achsen, des Neigens, Rollens und Gierens (oder einer oder mehrerer Charakteristiken der Pose), eines Objekts in drei Dimensionen durch Triangulieren von Daten, die von mehreren Bildern des Objekts gesammelt wurden, zur Verfügung stellt.
  • Ein Verfahren für 3D-Maschinensichtigkeit wird angegeben, bei dem während eines Kalibrierungsschritts mehrere Kameras, welche angeordnet sind, um Bilder des Objekts aus verschiedenen jeweiligen Blickpunkten zu erfassen, kalibriert werden, um eine Abbildungsfunktion wahrzunehmen, die Strahlungswege (nachfolgend auch „Strahlen“ genannt) im dreidimensionalen Raum identifiziert, welche von der Linse jeder jeweiligen Kamera ausgehen, die Pixelorten im Sichtfeld jener Kamera entsprechen. In einem Trainingsschritt wird die den Kameras zugeordnete Funktionalität in Bezug auf einen gemeinsamen Referenzpunkt trainiert, um erwartete Muster in Bildern, die von dem Objekt zu erfassen sind, zu erkennen. Ein Laufzeitschritt trianguliert Orte im dreidimensionalen Raum von einem oder mehreren jener Muster von Pixeln betreffenden Positionen jener Muster in Bildern des Objekts und von den während des Kalibrierungsschritts wahrgenommenen Abbildungen auf der Grundlage des dreidimensionalen Schnittpunkts der Strahlungswege des Referenzpunkts.
  • Weitere Aspekte stellen Verfahren, wie vorstehend beschrieben, zur Verfügung, in denen der Laufzeitschritt Orte aus Bildern des Objekts trianguliert, die im Wesentlichen gleichzeitig von den mehreren Kameras aufgenommen wurden.
  • Noch weitere Aspekte stellen solche Verfahren bereit, die einen Rekalibrierungsschritt beinhalten, bei dem Laufzeitbilder des Objekts zur Wahrnehmung der vorstehend angegebenen Abbildungsfunktion, zum Beispiel für eine Kamera, die aus der Kalibrierung geraten ist, eingesetzt werden. Somit können, wenn zum Beispiel eine Kamera Bilder erzeugt, in denen die Muster an Orten zu liegen scheinen (zum Beispiel, wenn sie auf den 3D-Strahlen für jene Kamera abgebildet sind), die mit Bildern von den anderen Kameras inkonsistent und/ oder in wesentlicher Nichtübereinstimmung sind (zum Beispiel, wenn sie unter Verwendung ihrer jeweiligen 3D-Strahlen abgebildet sind), mit den Bildern von jenen anderen Kameras bestimmte Musterorte zur Rekalibrierung der einen Kamera herangezogen werden.
  • Immer noch weitere Aspekte stellen Verfahren, wie oben beschrieben, zur Verfügung, bei denen der Kalibrierungsschritt das Positionieren von Registrierungszielen (wie etwa Vergrößerungsgläsern mit Ständer, Fadenkreuz oder dergleichen, zum Beispiel auf Kalibrierungsplatten oder anderweitig) an bekannten Positionen im dreidimensionalen Raum und das Aufzeichnen - oder anderweitige Charakterisieren, zum Beispiel algorithmisch - von Korrelationen zwischen jenen Positionen und den Pixel betreffenden Orten der jeweiligen Ziele in den Sichtfeldern der Kameras beinhaltet. Verwandte Aspekte der Erfindung stellen solche Verfahren zur Verfügung, bei denen eine(s) oder mehrere jener Registrierungsziele, Kalibrierungsplatten usw. verwendet werden, um mehrere Kameras zur gleichen Zeit, zum Beispiel mittels gleichzeitiges Abbilden, zu kalibrieren.
  • Andere Aspekte stellen Verfahren, wie vorstehend beschrieben, zur Verfügung, bei denen der Kalibrierungsschritt das Wahrnehmen einer Abbildungsfunktion für jede Kamera, die ein Verzerren im Sichtfeld berücksichtigt, beinhaltet.
  • Weitere Aspekte beinhalten Verfahren, wie vorstehend beschrieben, bei denen der Trainingsschritt das Trainieren der den Kameras zugeordneten Funktionalität zur Erkennung erwarteter Muster, wie etwa Buchstaben, Zahlen, anderer Symbole (wie zum Beispiel Registrierungszielen), Ecken oder anderer wahrnehmbarer Merkmale (wie zum Beispiel dunkler und heller Flecken) des Objekts beinhaltet und für welche beispielsweise Messtechniken und Such-/Erfassungsmodelle auf dem technischen Gebiet bekannt sind.
  • Weitere verwandte Aspekte stellen solche Verfahren bereit, bei denen der Trainingsschritt das Trainieren der vorstehend genannten Funktionalität hinsichtlich der „Modellpunkte“ - d. h. erwarteter Orte im dreidimensionalen Raum der Muster (zum Beispiel in absoluten oder relativen Begriffen) auf Objekten beinhaltet, die in der Laufzeit geprüft werden. In Kombination mit den von jenen Bildern wahrgenommenen triangulierten 3D-Orten kann jene Information während des Laufzeitschritts verwendet werden, um die Pose jenes Objekts wahrzunehmen.
  • Gemäß weiteren Aspekten beinhaltet das Trainieren hinsichtlich erwarteter Orte der Muster (d. h. Modellpunkte) das Finden zweidimensionaler Posen eines Referenzpunkts (oder „Ursprungs“) von jedem solchen Muster. Für Muster, von denen erwartet wird, dass sie in den Sichtfeldern von zwei oder mehreren Kameras erscheinen, erleichtern solche Referenzpunkte die Triangulation, wie nachstehend beschrieben, zu Zwecken des Bestimmens der Position jener Muster (und daher des Objekts) im dreidimensionalen Raum.
  • Verwandte Aspekte stellen derartige Verfahren zur Verfügung, bei denen das Training hinsichtlich erwarteter Muster die Verwendung - innerhalb der jeder Kamera zugeordneten Funktionalität - gleicher Modelle zum Trainieren gleicher erwarteter Muster wie zwischen verschiedenen Kameras beinhaltet. Dies hat den Vorteil, dass sichergestellt wird, dass die Referenzpunkte (oder Ursprünge) für in der Laufzeit gefundene Muster wie zwischen Bildern, die von jenen verschiedenen Kameras erhalten wurden, zusammenfallen.
  • Weitere verwandte Aspekte stellen solche Verfahren bereit, bei denen das Training hinsichtlich erwarteter Muster die Verwendung - innerhalb der jeder Kamera zugeordneten Funktionalität - verschiedener Modelle für gleiche Muster wie zwischen verschiedenen Kameras beinhaltet. Dies erleichtert das Finden von Mustern, zum Beispiel, wenn Pose, Sichtwinkel und/oder Hindernisse den Weg ändern, auf dem verschiedene Kameras jene Muster abbilden.
  • Verwandte Aspekte stellen derartige Verfahren bereit, die das Trainieren der Auswahl von Referenzpunkten (oder Ursprüngen) von solcherart modellhaft dargestellten Mustern beinhalten. Ein solches Training kann beispielsweise von einer Bedienperson, die zum Beispiel einen Laserpointer bzw. -zeiger oder etwas anderes verwendet, ausgeführt werden, um sicherzustellen, dass jene Referenzpunkte (oder Ursprünge) wie zwischen Bildern, die von jenen verschiedenen Kameras erhalten werden, zusammenfallen.
  • Verwandte Aspekte stellen derartige Verfahren bereit, bei denen der Trainingsschritt das Wahrnehmen des Orts der Muster, beispielsweise durch Verwendung einer Triangulationsmethodologie ähnlich derjenigen, die während der Laufzeitphase angewendet wird, beinhaltet. Alternativ können die erwarteten (relativen) Orte der Muster von den Bedienpersonen eingegeben und/oder von anderen Messmethodologien wahrgenommen werden.
  • Weitere verwandte Aspekte stellen solche Verfahren zur Verfügung, bei denen der Trainingsschritt das Finden eines erwarteten Musters in einem Bild von einer (oder mehreren) Kamera(s) auf der Basis vorheriger Identifizierung jenes Musters in einem Bild von einer anderen Kamera beinhaltet. Somit kann, wenn die Bedienperson ein erwartetes Muster in einem von einer Kamera aufgenommenen Bild einmal identifiziert hat, der Trainingsschritt automatisch das Finden jenes gleichen Musters in Bildern von den anderen Kameras einschließen.
  • Noch weitere Aspekte stellen Verfahren, wie vorstehend beschrieben, bereit, bei denen der Trainingsschritt mehrere Ansichten des Objekts für jede Kamera erfasst, bevorzugt so, dass die auf jenen Objekten gefundenen Ursprünge der Muster konsistent definiert sind. Zur Berücksichtigung einer möglichen Inkonsistenz unter den Bildern können diejenigen, die das höchste Abgleichergebnis für die Muster erzeugen, verwendet werden. Dies hat den Vorteil, dass die Methodologie zum Finden von Teilen in willkürlichen Posen robuster gemacht werden kann.
  • In noch anderen Aspekten beinhaltet der Laufzeitschritt das Triangulieren der Position von einer oder mehreren der Muster in Laufzeitbildern, zum Beispiel unter Verwendung von Musterabgleich oder anderen zweidimensionalen Sichtwerkzeugen, und das Verwenden der Abbildungen, die während der Kalibrierungsphase wahrgenommen wurden, um die Pixel betreffenden Orte jener Muster in den Sichtfeldern der jeweiligen Kamera mit den oben angegebenen 3D-Strahlen zu korrelieren, auf denen jene Muster liegen.
  • Gemäß verwandten Aspekten kann die Triangulation des Musterorts durch „direkte“ Triangulation erfolgen, wie zum Beispiel dort, wo der Ort eines gegebenen Musters aus dem Schnittpunkt (oder dem Punkt der Anpassung mithilfe der Fehlerquadratmethode) mehrerer 3D-Strahlen (von mehreren Kameras), auf denen jenes Muster liegt, bestimmt wird. Alternativ oder zusätzlich dazu kann die Triangulation „indirekt“ sein, wie dort, wo der Ort eines gegebenen Musters nicht nur aus dem Strahl (oder den Strahlen), auf dem (denen) jenes Muster liegt, bestimmt wird, sondern auch aus (i) den Strahlen, auf denen die anderen Mustern liegen, und (ii) den relativen Orten jener Muster zueinander (zum Beispiel wie während der Trainingsphase bestimmt).
  • Andere Aspekte stellen Verfahren, wie oben beschrieben, zur Verfügung, bei denen die den Kameras zugeordnete Funktionalität „ausläuft“, wenn sie ein erwartetes Muster in einem Bild eines Objekts - während des Trainings oder der Laufzeit - nicht finden kann, wodurch eine übermäßige Verzögerung bei der Positionsbestimmung vermieden wird, zum Beispiel, wenn ein solches Muster fehlt, verdeckt ist oder anderweitig nicht erfasst wird.
  • Noch andere Aspekte entsprechen den oben beschriebenen Verfahren, bei denen ID-Matrixcodes (oder andere Muster, deren Erscheinungsbild und/oder Positionen vordefiniert oder anderweitig bekannt sind) anstelle der vorstehend erörterten Muster verwendet werden. In diesen Aspekten der Erfindung ist der Trainingsschritt ausgeschlossen oder reduziert. Stattdessen können die zweidimensionalen Positionen jener Codes (oder anderen Muster) aus den Trainingsphasen- oder Laufzeitbildern wahrgenommen werden, zum Beispiel durch Sichtwerkzeuge, die für generische Typen von Merkmalen entworfen sind, um auf 3D-Orte abzubilden.
  • Noch andere Aspekte entsprechen den oben beschriebenen Verfahren, bei denen ID-Matrixcodes (oder andere Muster, deren Erscheinungsbild und/oder Positionen vordefiniert oder anderweitig bekannt sind) anstelle der vorstehend erörterten Muster verwendet werden. In diesen Aspekten der Erfindung ist der Trainingsschritt ausgeschlossen oder reduziert. Stattdessen können die zweidimensionalen Positionen jener Codes (oder anderen Muster) aus den Trainingsphasen- oder Laufzeitbildern wahrgenommen werden, zum Beispiel durch Sichtwerkzeuge, die für generische Typen von Merkmalen entworfen sind, um auf 3D-Orte abzubilden.
  • Noch weitere Aspekte der Erfindung sehen Systeme für Maschinensichtigkeit vor, zum Beispiel einschließlich einer digitalen Verarbeitungsfunktionalität und Kameras, die in Übereinstimmung mit den obigen Verfahren arbeiten. Diese und weitere Aspekte der Erfindung sind in den Zeichnungen und in der folgenden Beschreibung ersichtlich.
  • Ein noch weiterer verwandter Aspekt sieht solche Verfahren und Vorrichtungen vor, die die Prüfung eines Objekts erlauben, beispielsweise, um relative Positionen von Bereichen davon zu bestimmen und zu validieren. Solche Verfahren und Vorrichtungen können nach einem nicht-beschränkenden Beispiel eingesetzt werden, um die Prüfung und Verifikation, beispielsweise während einer Montage, Qualitätssicherung, Wartung oder eines anderen Vorgangs, zu unterstützen.
  • Weitere verwandte Aspekte stellen derartige Verfahren und Vorrichtungen bereit, welche die Abwesenheit oder Verlegung eines Teils (oder anderen Bereichs) eines Objekts in Fällen folgern, wo eines oder mehrere erwartete Muster (zum Beispiel jenem Teil/Bereich zugeordnet) in Laufzeitbildern fehlen oder in jenen Bildern vorhanden sind, aber an Pixelorten, die auf 3D-Orte abbilden, die nicht erwartet oder erwünscht sind.
  • Noch weitere verwandte Aspekte stellen derartige Verfahren und Vorrichtungen bereit, wobei während des Laufzeitschritts die Positionen von Teilen oder anderen Bereichen des Objekts auf der Basis von Teilmengen von 3D-Orten entsprechend Mustern, die in Laufzeitbildern gefunden wurden, bestimmt werden und wobei jene 3D-Orte eingesetzt werden, um erwartete Orte noch weiterer Muster zu bestimmen. Die erwarteten Orte jener weiteren Muster können mit ihren tatsächlichen 3D-Orten, wie sie zum Beispiel aus den Laufzeitbildern bestimmt werden, verglichen werden. Wo bei dem Vergleich identifizierte Positionsunterschiede eine angegebene Toleranz überschreiten, kann das System geeignete Mitteilungen (zum Beispiel an die Bedienperson) erzeugen.
  • Vorteile von Systemen und Verfahren wie angegeben bestehen darin, dass sie leichter zu verwenden und praktischer als Vorgehensweisen bei Systemen des Standes der Technik sind - dennoch auf Sicht basieren und daher keinen Kontakt mit oder eine vorherige Vorbereitung von Objekten, die einer Prüfung unterzogen werden, erfordern. Solche Systeme und Verfahren (gemäß der Erfindung) können leicht eingerichtet werden und dann unter Anwendung von „Zeigen-und-Nachmachen“ trainiert werden.
  • Außerdem stellen sie schnelle Leistung und Robustheit zur Verfügung, zum Beispiel bezüglich fehlender und inkorrekter Ergebnisse. Somit können beispielsweise Verfahren und Vorrichtungen gemäß Aspekten der Erfindung die Pose von Objekten bestimmen, selbst wenn einige Muster nicht in einigen (und unter manchen Umständen in keinen) der Laufzeitbildern gefunden werden, zum Beispiel, weil die Muster durch eine oder mehrere Kameras für den Blick versperrt sind oder weil Bilder jener Muster nicht rechtzeitig erfasst werden konnten. Nach einem weiteren Beispiel sehen Verfahren und Vorrichtungen gemäß Aspekten der Erfindung Robustheit bezüglich inkorrekter Ergebnisse (die zum Beispiel durch falsch ausgerichtete Kameras verursacht wurden) durch Triangulieren unter Verwendung von Teilmengen der 3D-Orte vor, die in Laufzeitbildern gefundenen Mustern entsprechen: wenn eine der Teilmengen zu einem niedrigeren Summenquadratfehler (sum squared error) führt, kann jene Teilmenge eher als alle Muster für die Positionstriangulation verwendet werden.
  • Figurenliste
  • Ein umfassenderes Verständnis der Erfindung kann durch Bezugnahme auf die Zeichnungen erreicht werden, in denen:
    • 1 einen Digitaldatenprozessor zeigt, der für die Praxis der Erfindung konfiguriert ist;
    • 2 ein Flussdiagramm ist, das den Betrieb eines Systems gemäß der Erfindung zeigt;
    • 3 die Kalibrierung eines Systems gemäß der Erfindung zeigt; und
    • 4A-4B das Training und/oder den Laufzeitbetrieb eines Systems gemäß der Erfindung zeigen.
  • Detaillierte Beschreibung der veranschaulichten Ausführungsform
  • 1 zeigt ein System 10 für Maschinensichtigkeit gemäß der Erfindung, das imstande ist, die Pose eines Objekts 12 in drei Dimensionen durch Triangulieren von Daten, die von mehreren Bildern des Objekts gesammelt wurden, zu bestimmen. In der veranschaulichten Ausführungsform ist die Pose die definierte Position und Ausrichtung des Objekts im dreidimensionalen Raum - oder genauer gesagt, die Position des Objekts längs der x-, y- und z-Achsen 14, 16, 18 sowie das Nicken, Rollen und Gieren des Objekts relativ zu diesen. In anderen Ausführungsformen kann die Pose auf Teilmengen dieser räumlichen Charakteristiken beschränkt sein (zum Beispiel die Position längs der Achse 16 und das Gieren; die Position längs der Achsen 14 - 18; Rollen; usw.). Die veranschaulichten Achsen 14 - 18 sind mit einem Rahmen 20 des Sichtsystems 10 ausgerichtet; obwohl in anderen Ausführungsformen andere Bezugsrahmen verwendet werden können. Der Rahmen 20 der veranschaulichten Ausführungsform ist figurativ durch Kameraträger 20a und die Plattform 20b dargestellt, die mit dicker Schattierung gezeichnet sind; obwohl in anderen Ausführungsformen andere oder keine solchen Elemente verwendet zu werden brauchen.
  • Das System 10 beinhaltet weiterhin einen Digitaldatenprozessor 22 und Bilderfassungsvorrichtungen 24. Der Digitaldatenprozessor 22, der hier der Einfachheit halber als iMac® G5 Personalcomputer gezeigt ist, kann ein Großrechner, ein Arbeitsplatzrechner, ein Personalcomputer (der zum Beispiel auf einer Windows®/Intel Pentium 4-Plattform oder anderem läuft), dezidierter Sichtcomputer, eingebetteter Prozessor oder eine andere Digitaldatenvorrichtung sein, der mit einem rechtlich geschützten, quelloffenen oder anderes Betriebsprogramm läuft, das in Übereinstimmung mit den vorliegenden Lehren programmiert oder anderweitig konfiguriert ist, um die Pose des Objekts 12 aus von Erfassungsvorrichtungen 24 zugeführten Bildern zu bestimmen. Der Digitaldatenprozessor kann eine Anzeige 22a, wie gezeigt, sowie eine Tastatur 22b, eine Maus 22c und andere Eingabe/Ausgabevorrichtungen einschließen, und zwar alle von dem Typ, der im Stand der Technik bekannt ist.
  • Die Bilderfassungsvorrichtungen 24 können Kameras für Maschinensichtigkeit, Videokameras, Standbildkameras oder andere Vorrichtungen sein, die imstande sind, Bilder des Objekts 12 im sichtbaren oder einem anderen relevanten Spektrum zu erfassen. Ohne Verlust der Allgemeinheit werden in dem folgenden Text die Vorrichtungen 24 typischerweise als „Kameras“ bezeichnet - obwohl sie in der Praxis irgendeine Art von Bilderfassungsfunktionalität umfassen können. In der veranschaulichten Ausführungsform sind drei solcher Vorrichtungen 24 gezeigt, obwohl in der Praxis irgendeine Mehrzahl von Vorrichtungen (zum Beispiel zwei oder mehr) eingesetzt werden können. Jene Vorrichtungen sind angeordnet, um Bilder des Objekts 24 aus verschiedenen jeweiligen Blickpunkten zu erfassen. Der Fachmann auf dem Gebiet wird es auch zu würdigen wissen, dass in einigen Ausführungsformen die dreidimensionale Pose eines Objekts, das geprüft wird, auch unter Verwendung von Bildern von einer einzigen solchen Vorrichtung 24 bestimmt werden kann und dass daher nicht alle Ausführungsformen Bilder von mehreren Kameras erfordern.
  • Der Digitaldatenprozessor 22 beinhaltet weiterhin einen Zentralprozessor (CPU), einen Speicher (RAM) und eine Eingabe/Ausgabe-Funktionalität (E/A) der Art, der auf dem technischen Gebiet bekannt ist, obwohl sie für den Betrieb in Übereinstimmung mit den vorliegenden Lehren programmiert ist.
  • Insbesondere sind diese in der veranschaulichten Ausführungsform konfiguriert, um dreidimensionale Maschinensichtigkeit in Übereinstimmung mit dem in 2 gezeigten Verfahren bereitzustellen. Dort wird im Kalibrierungsschritt 30 jede der mehreren Kameras 24 kalibriert, um eine jeweilige Abbildungsfunktion wahrzunehmen, die Strahlen im dreidimensionalen Raum, welche von der Linse jener Kamera ausgehen und die Pixelorten im Sichtfeld jener Kamera entsprechen, identifiziert.
  • Es wird auf 3 Bezug genommen, worin in dieser Hinsicht der Kalibrierungsschritt das Positionieren von Registrierungszielen (wie etwa Vergrößerungsgläsern mit Ständer, Fadenkreuze oder dergleichen, zum Beispiel auf Kalibrierungsplatten 40 oder anderweitig) an bekannten Positionen im dreidimensionalen Raum und das Aufzeichnen - oder anderweitige Charakterisieren, zum Beispiel algorithmisch - von Korrelationen zwischen jenen Positionen und den Pixel betreffenden Orten der jeweiligen Ziele in den Sichtfeldern der Kameras beinhaltet. Vorzugsweise berücksichtigt dieses Abbilden ein Verzerren im Sichtfeld jeder jeweiligen Kamera 24.
  • In der veranschaulichten Ausführungsform werden die Registrierungsziele, Kalibrierungsplatten 40 usw. eingesetzt, um mehrere Kameras 24 zur gleichen Zeit zu kalibrieren, zum Beispiel mittels simultanen Abbildens. Somit kann die Bedienperson nach einem Beispiel ein Ziel im Sichtfeld von zwei oder mehreren der Bilderfassungsvorrichtungen 24 platzieren, welche das Ziel zu Kalibrierungszwecken gleichzeitig abbilden. Wo Kalibrierungsplatten 40 oder dergleichen zur Kalibrierung herangezogen werden, zeigen sie vorzugsweise ein Fiducial bzw. eine Referenzmarke 41 (zum Beispiel ein einzigartiges Muster, das sich von dem gleichförmigen Schachbrettmuster unterscheidet) an einem Ursprung, so dass alle Erfassungsvorrichtungen 24 bezüglich des gleichen einzigartigen Referenzpunktes mit spezifizierter Ausrichtung kalibriert werden können. Indem die Vorrichtungen 24 in konsistenter Weise so kalibriert werden, können sie alle zum Abbilden von ihren Bildkoordinaten (zum Beispiel den Pixel betreffenden Orten von Musterursprüngen) auf einen gemeinsamen Referenzpunkt oder -rahmen verwendet werden. Bevorzugte derartige Fiducials sind asymmetrisch, wie im Fall des L-förmigen Fiducial in der Zeichnung.
  • Zugrunde liegende Methodologien und Vorrichtungen für eine solche Kalibrierung werden nach einem nicht-beschränkenden Beispiel in den US-Patenten 6 748 104 mit dem Titel „Methods and apparatus for machine vision inspection using single and multiple templates or patterns“, 6 639 624 mit dem Titel „Machine vision methods for inspection of leaded components“, 6 301 396 mit dem Titel „Nonfeedback-based machine vision methods for determining a calibration relationship between a camera and a moveable object“, 6 137 893 mit dem Titel „Machine vision calibration targets and methods of determining their location and orientation in an image“, 5 978 521 mit dem Titel „Machine vision methods using feedback to determine calibration locations of multiple cameras that image a common object“, 5 978 080 mit dem Titel „Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view“, 5 960 125 mit dem Titel „Non-feedback-based machine vision method for determining a calibration relationship between a camera and a moveable object“, 6 856 698 mit dem Titel „Fast high-accuracy multi-dimensional pattern localization“, 6 850 646 mit dem Titel „Fast high-accuracy multi-dimensional pattern inspection“ und 6 658 145 mit dem Titel „Fast high-accuracy multi-dimensional pattern inspection“ gelehrt, deren Lehren alle vorliegend durch Bezugnahme aufgenommen sind. Die in den letzten drei Patenten beschriebenen Methodologien und Vorrichtungen werden vorliegend andernorts mit dem Namen „PatMax“ bezeichnet.
  • In einem optionalen Trainingsschritt 32 wird ein jeder jeweiligen Kamera 24 zugeordnetes Modul (zum Beispiel eine Codesequenz, Subroutine, Funktion, ein Objekt, andere Datenstruktur und/oder zugehörige Software oder eine andere Funktionalität) trainiert, um erwartete Muster in zu erfassenden Bildern des Objekts 12 während der Laufzeit zu erkennen. Diese können Buchstaben, Zahlen, andere Symbole (wie etwa Registrierungsziele), Ecken oder andere Merkmale (wie etwa dunkle und helle Flecken) sein, von denen erwartet wird, dass sie in den Laufzeitbildern des Objekts 12 wahrnehmbar sind und für die beispielsweise Messtechniken und Such-/Erfassungsmodelle auf dem technischen Gebiet bekannt sind. Jene Muster können permanent Teil des Objekts oder an ihm befestigt sein. Jedoch können sie auch temporär sein, wie zum Beispiel in dem Fall von entfernbaren Kalibrierungszielen. In der Tat brauchen sie nicht einmal physisch dem Objekt zugeordnet sein. Beispielsweise können sie optisch oder anderweitig auf Objekte projiziert sein, die während Trainings- und/oder Laufzeitphasen abgebildet werden, zum Beispiel durch einen Laser oder ein anderes Gerät.
  • Zusätzlich zum Trainieren der Module oder einer anderen jeder Kamera 24 zugeordneten Funktionalität zum Erkennen eines Musters beinhaltet der Trainingsschritt 32 der veranschaulichten Ausführungsform deren Trainieren hinsichtlich der Modellpunktorte, d. h. der erwarteten Orte der Muster, zum Beispiel relativ zueinander (d. h. im dreidimensionalen Raum) auf Objekten, die während der Laufzeit geprüft werden. Dies kann beispielsweise durch Verwenden einer Triangulationsmethodologie ähnlich derjenigen sein, die während der Laufzeitphase ausgeübt wurde. Alternativ können die erwarteten (relativen) Orte der Muster durch die Bedienperson eingegeben und/ oder durch andere Messmethodologien (zum Beispiel Maßstäbe, Messschieber, Lineale für optischen Abstand und so weiter) wahrgenommen werden.
  • Ungeachtet dessen, ob die Triangulation oder andere Methodologien eingesetzt werden, beinhaltet der Trainingsschritt 32 bevorzugt die Module oder andere Funktionalität oder andere jeder Kamera 24 zugeordnete Funktionalität hinsichtlich eines Referenzpunkts (oder „Ursprungs“) von jedem solchen trainierten Muster. Für Muster, von denen erwartet wird, dass sie in den Sichtfeldern von zwei oder mehr Kameras erscheinen, erleichtert das Training hinsichtlich solcher Referenzpunkte das direkte und indirekte Triangulieren der Position jener Muster und/oder des Objekts im dreidimensionalen Raum.
  • In der veranschaulichten Ausführungsform kann ein solches Training unter Verwendung gleicher Modelle (zum Beispiel „PatMax“ oder so weiter) zum Trainieren gleicher erwarteter Muster wie zwischen verschiedenen Kameras 24 bewirkt werden. Dies hat den Vorteil, dass sichergestellt wird, dass die Referenzpunkte (oder Ursprünge) für zur Laufzeit gefundene Muster wie zwischen von jenen verschiedenen Kameras erhaltenen Bildern zusammenfallen.
  • Wo die Pose, der Sichtwinkel und/oder Hindernisse den Weg ändern, auf dem verschiedene Kameras 24 gleiche Muster sehen, kann ein solches Training die Verwendung verschiedener Modelle (für gleiche Muster) wie zwischen verschiedenen Kameras beinhalten. Da verschiedene Modelle dazu neigen können, verschiedene Referenzpunkte für gleiche Muster zu identifizieren, erlaubt die veranschaulichte Ausführungsform einer Bedienperson, die Auswahl gleicher Referenzpunkte für gleiche Muster zu trainieren.
  • Dies kann nach einem Beispiel während des Trainingsschritts 32 durch gleichzeitiges Erfassen von Bildern der Muster von mehreren Kameras 24 (um als Schablone für die Suche in Schritt 34 verwendet zu werden) und anschließendes Richten eines Laserpointers auf das Objekt erreicht werden. Aus Bildern, die mit dem Laserbestrahlen erfasst werden, kann der 3D-Ort des Laserpunkts berechnet werden, wodurch zusammenfallende Ursprünge auf allen Bildern der Muster definiert werden (obwohl diese Technik vorliegend bezüglich der Verwendung ganz verschiedener Modelle für das Mustertraining beschrieben ist, kann sie ebenso in Fällen angewendet werden, in denen gleiche Modelle verwendet werden). Zu diesem Zweck kann unter Verwendung der Bilder mit und ohne den überflüssigen Laserpointerfleck eine Autoschwellwertverarbeitung und eine Klecks- bzw. Clusteranalyse laufen gelassen werden, um die Mitte des Flecks in allen Bildern zu finden und dadurch konsistente zusammenfallende Ursprünge zu bestimmen. Wie vorliegend andernorts erörtert, kann die Triangulation eingesetzt werden, um die 3D-Position des Flecks zu erhalten, wodurch der Einsatz dieser Technik für mehrere Muster auf dem (Trainings-) Objekt gestattet wird, vorausgesetzt, dass es sich beispielsweise nicht bewegt.
  • Gemäß einer bevorzugten Praxis der Erfindung beinhaltet der Trainingsschritt 32 das Finden eines erwarteten Musters aus einer (oder mehreren) Kamera(s) 24 auf der Basis einer vorherigen Identifizierung jenes Musters in einem Bild von einer anderen Kamera. Somit kann beispielsweise, sobald die Bedienperson ein erwartetes Muster in einem von einer Kamera aufgenommenen Bild identifiziert hat, der Trainingsschritt automatisch das Finden jenes gleichen Musters in Bildern von den anderen Kameras beinhalten.
  • In bevorzugten Ausführungsformen beinhaltet der Schritt 32 das Erfassen mehrerer Ansichten des Objekts für jede Kamera 24, vorzugsweise so, dass die Ursprünge der auf jenen Objekten gefundenen Muster konsistent definiert sind. Zur Berücksichtigung einer möglichen Inkonsistenz unter den Bildern können diejenigen verwendet werden, die das höchste Abgleichergebnis für die Muster erzeugen.
  • Dies hat den Vorteil, dass die Methodologie für das Finden von Teilen in willkürlichen Posen robuster gemacht wird.
  • Wie vorstehend angegeben, ist der Trainingsschritt 32 optional: in einigen Ausführungsformen der Erfindung wird er in verringerter Kapazität oder überhaupt nicht eingesetzt. Wenn beispielsweise die zur Laufzeit erwarteten Muster für eine Suche über ein Klecksmodell empfänglich sind (zum Beispiel eine, die nach hellen Merkmalen sucht), ist kein Mustertraining erforderlich - obwohl ein Positionstraining der Art, wie es oben beschrieben ist, immer noch verwendet wird. Dies trifft auch nach einem weiteren Beispiel zu, wenn die Muster ID-Matrixcodes sind (oder andere Muster, deren Erscheinungsbild und/oder Positionen vordefiniert oder anderweitig bekannt sind) und anstelle der oben erörterten trainierbaren Muster eingesetzt werden. Vorliegend werden die zweidimensionalen Positionen jener Codes (oder anderer Muster) aus den Trainingsphasen- oder Laufzeitbildern wahrgenommen, zum Beispiel durch Sichtwerkzeuge, die für generische Typen von Merkmalen entworfen sind, um auf 3D-Orten abzubilden. Solche Umsetzungen der Erfindung sind nützlich, da industrielle Teile immer ID-Matrixcodes haben können und mehrere trainingslose Sensoren dadurch 3D-Positionen des ID-Matrixcodes ausgeben könnten. Da weiterhin ein ID-Matrixcode ein rechteckiges Gebiet überspannt - könnten alle Sensoren die 2D-Positionen der 4 Ecken ausgeben; wenn weiterhin die ID-Matrix mit einem bestimmten Verfahren gedruckt wird, kann man die 3D-Positionen kennen (aufgrund der gefundenen Größe/gefundenen Typs des Codes) und die 3D-Pose berechnen.
  • Im Laufzeitschritt 34 trianguliert der Digitaldatenprozessor 22 Orte im dreidimensionalen Raum von einem oder mehreren der Muster 42a - 42c auf dem Objekt 12 auf der Basis von Pixel betreffenden Positionen von Darstellungen jener Muster in Laufzeitbildern des Objekts 12 und aus den Abbildungen, die während des Kalibrierungsschritts 32 wahrgenommen wurden. In der veranschaulichten Ausführungsform werden jene Laufzeitbilder des Objekts 12 von den Vorrichtungen 24 bevorzugt gleichzeitig oder im Wesentlichen gleichzeitig erfasst. In dieser Hinsicht bezieht sich „im Wesentlichen gleichzeitig“ auf eine Bilderfassung, die zeitlich fast so nahe auftritt, dass die Bewegung des Objekts 12, der Vorrichtungen 24, des Rahmens 20 oder anderweitig den Pixel betreffenden Ort von Mustern in den Laufzeitbildern und/ oder aus ihnen bestimmte Abbildungen nicht wesentlich beeinträchtigt. Eine solche gleichzeitige Erfassung kann durch Auslösen der Kameras 24 zur gleichen (oder fast gleichen) Zeit oder durch andere Mittel erreicht werden - einschließlich beispielsweise des stroboskopischen Beleuchtens des abgebildeten Objekts, während die Blenden der Kamera 24 offen sind.
  • In der veranschaulichten Ausführungsform wird die Positionstriangulation erreicht unter Verwendung von Musterabgleich oder anderen zweidimensionalen Sichtwerkzeugen, um den Pixel betreffenden Ort von Mustern in den Laufzeitbildern wahrzunehmen, und unter Verwendung der Abbildungen, die während der Kalibrierungsphase wahrgenommen werden, um die Pixel betreffenden Orte jener Muster in den Sichtfeldern der jeweiligen Kamera 24 mit den vorstehend angegebenen 3D-Strahlen, auf denen jene Muster liegen, zu korrelieren. Beispiele, die solche 2D-Sichtwerkzeuge verwenden, beinhalten die vorstehend genannten, durch Bezugnahme aufgenommenen US-Patente 6 748 104, 6 639 624, 6 301 396, 6 137 893, 5 978 521, 5 978 080, 5 960 125, 6 856 698, 6 850 646 und 6 658 145 .
  • Die Triangulation von einem Musterort kann durch „direkte“ Triangulation erfolgen, wie zum Beispiel dort, wo der Ort eines gegebenen Musters von dem Schnittpunkt mehrerer 3D-Strahlen (von mehreren Kameras) auf denen jenes Muster liegt, bestimmt wird. Alternativ oder zusätzlich dazu kann die Triangulation „indirekt“ sein, wie dort, wo der Ort eines gegebenen Musters nicht nur aus dem Strahl (oder Strahlen), auf dem/denen jenes Muster liegt, bestimmt wird, sondern auch aus (i) den Strahlen, auf denen die anderen Muster liegen, und (ii) den relativen Orten jener Muster zueinander (zum Beispiel so, wie während der Trainingsphase bestimmt) auf dem abgebildeten Objekt.
  • In der veranschaulichten Ausführungsform kann die direkte und/ oder indirekte Triangulation eine „Anpassung mithilfe der Fehlerquadratmethode“ oder andere derartige Methodologien zum Finden von Schnittpunkten (oder nächsten Schnittstellen) wie zwischen oder unter mehreren 3D-Strahlen verwenden (von mehreren Kameras 24), auf welchen (ein) Muster zu liegen scheint/ scheinen. Beispielsweise liegt, wo von zwei oder mehreren Kameras 24 erfasste Bilder angeben, dass ein gegebenes Muster (und genauer gesagt, der anscheinende Ursprung jenes Musters) auf zwei oder mehreren Strahlen liegt, eine Methodologie der Anpassung mithilfe der Fehlerquadratmethode verwendet werden, um einen Schnittstellenort jener Strahlen im dreidimensionalen Raum oder einen nächstliegenden Punkt dazu (d. h. einen Punkt im Raum, der jenen Strahlen am nächsten liegt) zu bestimmen. Gleichermaßen kann, wo Bilder von den Kameras 24 Ursprünge für mehrere Muster auf mehreren Strahlen angeben, eine Anpassung mithilfe der Fehlerquadratmethode unter Verwendung der Modellpunkte jener Muster auf dem Objekt eingesetzt werden, um die wahrscheinlichsten Orte der Muster und/oder des Objekts selbst zu bestimmen.
  • Die veranschaulichte Ausführungsform verwendet einen Optimierer (oder „Löser“), um die Anpassung mithilfe der Fehlerquadratmethode (oder des quadratischen Mittelwerts) von Strahlen und Mustern zu finden. Dieser kann ein Allzweckwerkzeug des Typs sein, der auf dem technischen Gebiet zur Verfügung steht und/oder er kann in der nachstehend detailliert beschriebenen Weise betrieben werden. Auf jeden Fall wird während des Laufzeitschritts 34 der Löser mit Definitionen der 3D-Strahlen versorgt, auf denen die Muster (und genauer gesagt, die Musterursprünge) liegen, die aus den Laufzeitbildern identifiziert wurden, sowie (wo relevant) der Orte oder relativen Orte der Muster auf dem Objekt.
  • Typischerweise definiert diese Information ein überbeschränktes System (d. h. mehr Information wird mittels Strahlendefinitionen und relativen Musterorten auf dem Objekt zugeführt, als notwendig ist, um die tatsächlichen Orte zu folgern), eine Tatsache, die das veranschaulichte System zu Zwecken der Robustheit nutzt. Somit kann beispielsweise der Laufzeitschritt 34 die Objektpose bestimmen, zum Beispiel selbst dort, wo Muster aus dem Objekt oder dessen Laufzeitbild fehlen (wie zum Beispiel dort, wo ein Muster für den Blick von einer oder mehreren Kameras versperrt ist oder wo Beleuchtung oder andere Bedingungen eine rechtzeitige Erfassung eines Musterbilds nicht gestatten). Nach einem weiteren Beispiel kann der Laufzeitschritt 34 das Probieren von Teilmengen der Musterursprünge (und genauer gesagt, Teilmengen der Orte, die den Musterursprüngen entsprechen), die von den Erfassungsvorrichtungen 24 gefunden wurden, um den quadratischen Mittelwert (root mean square - RMS) -Fehler der Anpassung zwischen den Strahlen und den Modellpunkten oder die Triangulation der Strahlen zu minimieren. Wenn eine der Teilmengen einen niedrigeren Summenquadratfehler aufweist, kann jene Teilmenge, eher als alle Musterursprünge, für die Positionstriangulation verwendet werden.
  • Typischerweise definiert diese Information ein überbeschränktes System (d. h. mehr Information wird mittels Strahlendefinitionen und relativen Musterorten auf dem Objekt zugeführt, als notwendig ist, um die tatsächlichen Orte zu folgern), eine Tatsache, die das veranschaulichte System zu Zwecken der Robustheit nutzt. Somit kann beispielsweise der Laufzeitschritt 34 die Objektpose bestimmen, zum Beispiel selbst dann, wenn bestimmte Muster absichtlich aus der Überlegung weggelassen werden (zum Beispiel, um die Position eines Musters zu inspizieren/validieren, indem sie mit der von den anderen gefundenen Mustern vorhergesagten Position verglichen wird).
  • Nach einem weiteren Beispiel kann der Laufzeitschritt 34 das Probieren von Teilmengen der Musterursprünge (und genauer gesagt, Teilmengen der Orte, die Musterursprüngen entsprechend) beinhalten, die von den Erfassungsvorrichtungen 24 gefunden wurden, um den quadratischen Mittelwert (RMS) -Fehler der Anpassung zwischen den Strahlen und den Modellpunkten oder die Triangulation der Strahlen zu minimieren. Dann kann der Schritt die 3D-Position der Muster extrapolieren, die nicht in der Teilmenge eingeschlossen waren (d. h. die absichtlich ausgelassen wurden, wie vorstehend angegeben) und die 2D-Bildpositionen in ihren jeweiligen Kameras vorhersagen. Die vorhergesagte Bildposition kann mit der tatsächlichen gemessenen Bildposition vergleichen werden: wenn der Abstand zwischen der vorhergesagten Bildposition und der tatsächlich gemessenen Bildposition eine bestimmte benutzerspezifizierte Abstandstoleranz überschreitet, dann kann das System eine geeignete Warnung oder andere Benachrichtigung erzeugen. Alternativ oder zusätzlich dazu können die extrapolierten 3D-Positionen der weggelassenen Muster mit 3D-Positionen verglichen werden, die durch Triangulieren bestimmt wurden; wiederum kann, wenn der Abstand zwischen extrapolierten (vorhergesagten) und tatsächlichen Positionen unterschiedlich ist, der Laufzeitschritt 34 das Erzeugen einer geeigneten Warnung oder anderen Benachrichtigung beinhalten.
  • Zur Verbesserung der Geschwindigkeit der Mustererkennung während sowohl der Trainings- als auch der Laufzeitphase kann die veranschaulichte Ausführungsform die gefundene Position eines Musters zur Begrenzung der Such-Freiheitsgrade für das andere Muster ausnutzen. Wenn zum Beispiel eine erste Kamera 24 das Muster bei 15 Grad findet und eine andere Kamera sich in annähernd derselben Ausrichtung wie die erste Kamera befindet, braucht sie nur nach dem Muster bei den Ausrichtungen 15+/-10 Grad zu suchen. Zusätzlich wissen wir, wenn die Position des Ursprungs von einer Kamera gegeben ist, dass der Ursprung längs eines 3D-Strahls liegt; dadurch können wir jenen Strahl auf das Sichtfeld der zweiten Kamera projizieren und nur nach dem Muster längs jener Linie suchen.
  • Wenn zwei Muster miteinander verwechselbar sind (d. h. es gibt zwei Fälle, die ähnlich dem Muster im Sichtfeld der Kamera sind), kann die veranschaulichte Ausführungsform alle verschiedenen möglichen Entsprechungen ausprobieren. Wenn zum Beispiel die Technologie verwendet wird, die in den zuvor angegebenen, durch Bezugnahme aufgenommenen US-Patenten Nr. 6 856 698 mit dem Titel „Fast high-accuracy multi-dimensional pattern localization“, 6 850 646 mit dem Titel „Fast high-accuracy multi-dimenisonal pattern inspection“ und 6 658 145 mit dem Titel „Fast high-accuracy multi-dimensional pattern inspection“ beschrieben ist, sind beispielsweise Muster wie die Buchstabenfolgen „P“, „ST“, „It“ und „Notes“ (von einer POST-IT®-Notes-Aufschrift) alle unterschiedlich, also wissen wir, wenn eine Übereinstimmung gefunden wird, dass es eine korrekte Übereinstimmung ist.
  • Alternativ kann das als „Blob“- bzw. „Cluster“-Analyse bekannte Werkzeug für Maschinensichtigkeit verwende werden, um Muster zu finden (zum Beispiel wenn sie dunkle Löcher sind). In diesem Fall könnte die Hypothese aufgestellt werden, dass Klecks # 1 dem 3D-Modellpunkt 1 und Klecks #2 dem 3D-Modellpunkt 2 usw. entspricht. Wenn dies nicht funktioniert, kann die Analyse dann zur nächsten Hypothese weitergehen: dass Klecks #2 dem 3D-Modellpunkt #2 und Klecks #1 dem 3D-Modellpunkt #1 entspricht.
  • Ein umfassenderes Verständnis des Triangulationsvorgangs der veranschaulichten Ausführungsform kann aus der folgenden Diskussion gewürdigt werden.
  • Um n 3D-Strahlen zu schneiden (d. h. um den Punkt zu finden, der den Summenquadratabstand zu n 3D-Strahlen minimiert), wird zuerst jeder Strahl als zwei separate orthogonale Ebenen charakterisiert (da der Quadratabstand von einem Punkt zu einem Strahl die Summe der Quadratabstände des Punkts zu zwei jenen Strahl schneidenden orthogonalen Ebenen ist). Dies ist in dem folgenden C++-Code beispielhaft dargestellt:
 static void solveMiaimizeSquareErrorEquations(
                             const cmStd vector<cc3Vect> &eqs,
                             const cmStd vactor<double> &val,
                             cc3Vect &ans,
                             double &rmsError)
 (
   int size = eqs.size();
   assert(size==val.sizef)));
   ccNMMatrix func(size,3);
   ccNMMatrix vals(size,1) ;
   int i ,
   for (i = 0; i < size; ++i)
   {
     func.element (i, 0, eqs [i] .x ());
     func. element (i,1,eqs [1] .y());
     func.element (i,2,eqs [i] .z ());
     vals.element: (i, 0, val [i]) ;
 }
   ccNMMatrix func2 = func.Tmultiply(func);
   ccNMMatrix vals2 = func.Tmultiply(vals);

    double cnum;
   ccNMMatrix result =
     ccNMMatrix: :solve (func2,vals2, true/*symmetric*/,cnum,HUGE_VAL);

    // throw in degenerate cases
   if (func2.conditionNumber(false) > 1e12)
     throw ccMathError :: Singular ();

   ans = cc3Vect (result.element (0,0),
                result.element (1,0),
                result.element(2,0));
   double sumSqError = 0;
   for (i = 0; i < size; ++i)
   {
     double error = eqs[i] .dot.(ans)-val[i];
     sumSqError += error*error;
   }
   rmsError = cfSqrt(sumSqError/size);
 }
 void cfComputePerpendiculars(const cc3Vect &start1,
                            const cc3Vect &endl,
                            cc3Vect &perp1,
                            cc3Vect &perp2) 

 {
   cc3Vect diff = end1 - start1;
   cc3Vect axes[3] = {cc3Vect(1,0,0),
                            cc3Vect(0,1,0),
                            cc3Vect (0,0,1)};
   cc3Vect crosses[3];
   double lens[3];
   int i;
   for (i = 0; i < 3; ++i)
      crosses(i] = diff.cross(axes [i]);
   for (i = 0; i < 3; ++i)
     lens[i] = crosses [i].dot (crosses [i]) ;
   int j,
   for (i = 0; i < 2; ++i)
     for (j = i+1; j < 3; ++j)
      if (lens [i] < lens[j])
      {
       double tmp = lens [i];
       lens[i] - lens[j];
       lens[j] = tmp;
       cc3Vect cross = crosses[i];
       crosses[i] = crosses[j];
       crosses[j] = cross;
      }
   perp1 = crosses [0] * 1./lens [0];
   perp2 = crosses[l] * 1./lens[1];
 }
 static void intersectLinesInThreeSpace
 (const cmStd vector<cc3DLineSeg> &segs,
  cc3Vect· &intersection,
  double &rmsError)
 {
   // Find point which minimizes total squared error between
   // segs.size()*2 planes
   int size - segs.size();
   cmStd vector<cc3Vect> eqs (size*2);
   cmStd vector<double> vals(size*2);
   int i;
   for (i = 0; i < size; ++i)
   {
    cfComputePerpendiculars(segs[i].p1(),segs[i].p2(),eqs[i*2), eqs[i*2+1]);
    vals [i*2] = segs[i].p1().dot (eqs[i*2]);
    vals[i*2+1] = segs[i].p1().dot (eqs [i*2+1]);
   }
  solveMinimizeSquareErrorEquations(eqs,vals,intersection,rmsError);
  }
  • Um nach der Pose aufzulösen, die am besten die 3D-Punkte auf den entsprechenden 3D-Strahlen abbildet, kann man sagen, dass die folgenden Gleichungen verwendet werden (die im Maple-Mathepaket ausgedrückt sind, das von Maplesoft, einem Unternehmensbereich von Waterloo Maple, käuflich erhältlich ist), die zur Erzeugung eines optimierten C-Codes verwendet werden.
  • Die Annäherung löst nach der Pose auf (die in Begriffen der Variablen a,b,c,d,tx,ty,tz ausgedrückt ist), die den Summenquadratfehler zwischen Punkten p (die als x,y,z ausgedrückt sind) und Ebenen, die als (px, py, pz, pt) ausgedrückt sind, minimiert. Es ist zu beachten, dass jeder 3D-Strahl zwei solchen Ebenenbeschränkungen entspricht. Die Annäherung berechnet den Summenquadratfehler durch Aufaddieren der Koeffizienten der algebraischen Fehlerfunktion. Dann löst die Annäherung nach der optimalen a,b,c,d,tx,ty,tz unter Verwendung der Gradientenabnahme auf. Es ist zu beachten, dass, da es 7 Variablen (a,b,c,d,tx,ty,tz) und nur 6 Freiheitsgrade gibt, wir 4 verschiedene Fälle ausprobieren - wo a auf 1 gesetzt ist und die Variablen b,c,d sind; wo b auf 1 gesetzt ist und die Variablen a,c,d sind; wo c auf 1 gesetzt ist und die Variablen a,b,d sind; und wo d auf 1 gesetzt ist und die Variablen a,b,c sind.
  • quatRot :=
       matrix (4,4,
         [[a*a+b*b-c*c-d*d,2*b*c-2*a*d,2*a*c+2*b*d,tx],
          [2*a*d+2*b*o,a*a-b*b+c*c-d*d,2*c*d-2*a*b,ty],
          [2*b*d-2*a*c,2*a*b+2*c*d,a*a-b*b-c*c+d*d,tz],
          [0,0,0,a*a+b*b+c*c+d*d]]);
     val := matrix (1, 4, [x, y, z, 1]);
     dot : = matrix (1,4,[px,py,pz,pt]);
     pos := multiply (quatRot, transpose(val));
     unit := (a*a+b*b+c*c+d*d);
     weightMat := multiply(dot,pos);
     weight := weightMat [1,1]/unit;
     weightSq := expand (weight*weight);
     weightSqDA := simplify (expand (diff(weightSq,a)*unit*unit;
     weightSqDB := simplify (expand (diff (weightSq,b)*unit*unit));
     weightsqDC := simplify (expand (diff(weightSq,c)*unit*unit));
     weightSqDD := simplify (expand (diff(weightSq,d)*unit*unit));
     weightSqDTX := simplify (expand (diff(weightSq,tx)*unit*unit));
     weightSqDTY := simplify (expand (diff(weightSq,ty)*unit*unit));
     weightSqDTZ := simplify (expand (diff(weightSq, tz)*unit*unit));
  • Das Vorstehende wird weiterhin angesichts des Folgenden gewürdigt, in dem GenericPoly() eine Funktion ist, die die Koeffizienten einer Funktion extrahiert. Somit ist, wenn die Funktion x*x+2*x*y+y*y ist, die generische Funktion f0x2y0*x*x + f0x1y1*x*y + f0x0y2*y*y, wo f0x2y0 = 1, f0x1y1 = 2, f0x0y2 = 1. GenericPoly() ist in MARS beinhaltet, einem öffentlich und frei erhältlichen Maple Matlab Resultat-Löser-System, zum Beispiel nach nicht-beschränkendem Beispiel von www.cs.unc.edu/ ~geom/MARS.
  • 
     read (‚genericpoly.map‘);
     genPoly:=
     GenericPoly(expand(eval(weightMat[1,1]*weightMat [1,1])),
     array(1..7, [a,b,c,d,tx,ty,tz]), ‚f‘);
     genPolyDA := simplify(expand (unit*diff (eval (genPoly [1]) ,a) -
     eval (genPoly[1])*4*a));
     genPolyDB := simplify(expand(unit*diff(eval(genPoly[1]),b) -
     eval (genPoly[1])*4*b));
     genPolyDC := simplify(expand(unit*diff(eval(genPoly[1],c) -
     eval (genPoly [1]*4*c));
     genPolyDD := simplify(expand(unit*diff(eval(genPoly[1]),d) -
     eval(gen.Poly[1])*4*d));
     genPolyDTX := simplify(expand(diff(eval(genPoly [1]),tx)));
     genPolyDTY := simplify(expand(diff(eval (genPoly [1]),ty)));
     genPolyDTZ := simplify (expand (diff (eval (genPoly [1]),tz)));
     c(genPolyDA);
     c(genPolyDB);
     c(genPolyDC);
     c(genPolyDD);
     c(genPolyDTX);
     c(genPolyDTY);
     c(genPolyDTZ);
  • (Es ist zu beachten, dass daher die Fehlerfunktion nicht nur derivative(weightMat*weightMat) ist, sondern tatsächlich (a*a+b*b+c*c+d*d)* derivative(weightMat*weightMat) minus 4*a*weightMat*weightMat (zum Berechnen der Teilableitung bezüglich a) (die geschrieben ist als: unit*diff ( eval ( genPoly [ 1 ] ) ,  a ) eval ( genPoly [ 1 ] ) * 4 * a ) ) ; )
    Figure DE112006002674B4_0001
    wegen der Kettenregel für Quotienten: deriv ( F ( x ) / G ( x ) ) = = ( G ( x ) * F' ( x ) F ( x ) * G' ( x ) ) / ( G ( x ) * G ( x ) )
    Figure DE112006002674B4_0002
    ist zu beachten, dass wir das Quadrat des Nenners (im Nenner der Kettenregel für Teilableitungen) für diese Analyse ignorieren können, da der Nenner (a*a+b*b+c*c+d*d) gleichmäßig auf alle Teilableitungen zutrifft: d ( ( a * a + b * b + c * c + d * d ) 2 ) / da = 4 * a * ( a * a + b * b + c * c + d * d ) )
    Figure DE112006002674B4_0003
  • Nach weiterer Erläuterung des Vorstehenden verwenden Verfahren mit numerischer Gradientenabnahme eine Fehlerfunktion, ebenso wie Ableitungen jener Fehlerfunktion. Die Derivate einer Fehlerfunktion können numerisch oder symbolisch berechnet werden. Für numerisch berechnete Derivate kann man einfach eine der Variablen um einen kleinen Betrag ändern und dann die Fehlerfunktion neu berechnen und somit die Ableitung numerisch berechnen. Für symbolisch berechnete Ableitungen benötigt man eine der Ableitung entsprechende symbolische Funktion - die wir in diesem Fall haben, da wir die die Fehlerfunktion beschreibenden algebraischen Funktionen haben, und wir können jene algebraische Fehlerfunktion symbolisch differenzieren.
  • In der veranschaulichten Ausführungsform hält eine C-Datenstruktur alle Koeffizienten für den algebraischen Ausdruck wie folgt:
  •  typedef struct ptRayGenericPoly
       {
       double fa0b0c0d0tx0ty0tz2;
       double fa0b0cOd0tx0ty1tz1;
       double fa0b0c0d0tx0ty2tz0;
       double fa0b0c0d0tx1ty0tz1;
       double fa0b0c0d0tx1ty1tz0;
       double fa0b0c0d0tx2ty0tz0;
       double fa0b0c0d2tx0ty0tz1;
       double fa0b0c0d2tx0ty1tz0;
       double fa0b0c0d2tx1ty0tz0;
       double fa0b0c0d4tx0ty0tz0;
       double fa0b0c1d1tx0ty0tz1;
       double fa0b0c1d1tx0ty1tz0;
       double fa0b0c1d1tx1ty0tz0;
       double fa0b0c1d3tx0ty0tz0;
       double fa0b0c2d0tx0ty0tz1;
       double fa0b0c2d0tx0ty1tz0;
       double fa0b0c2d0tx1ty0tz0;
       double fa0b0c2d2tx0ty0tz0;
       double fa0b0c3d1tx0ty0tz0;
       double fa0b0c4d0tx0ty0tz0;
       double fa0b1c0d1tx0ty0tz1;
       double fa0b1c0d1tx0ty1tz0;
       double fa0b1c0d1tx1ty0tz0;
       double fa0b1c0d3tx0ty0tz0;
       double fa0b1c1d0tx0ty0tz1;
       double fa0b1c1d0tx0ty1tz0;
       double ta0b1c1d0tx1ty0tz0;
       double fa0b1c1d2tx0ty0tz0;
       double fa0b1c2d1tx0ty0tz0;
       double fa0b1c3d0tx0ty0tz0;
       double fa0b2c0d0tx0ty0tz1;
       double fa0b2c0d0tx0ty1tz0;
       double fa0b2c0d0tx1ty0tz0;
       double fa0b2c0d2tx0ty0tz0;
       double fa0b2c1d1tx0ty0tz0;
       double fa0b2c2d0tx0ty0tz0;
       double fa0b3c0d1tx0ty0tz0;
       double fa0b3c1d0tx0ty0tz0;
       double fa0b4c0d0tx0ty0tz0;
       double fa1b0c0d1tx0ty0tz1;
       double fa1b0c0d1tx0ty1tz0;
       double fa1b0c0d1tx1ty0tz0;
       double fa1b0c0d3tx0ty0tz0;
       double fa1b0c1d0tx0ty0tz1;
       double fa1b0c1d0tx0ty1tz0;
       double fa1boc1d0tx1ty0tz0;
       double fa1b0c1d2tx0ty0tz0;
       double fa1b0c2d1tx0ty0tz0;
       double fa1b0c3d0tx0ty0tz0;
       double fa1b1c0d0tx0ty0tz1;
       double fa1b1c0d0tx0ty1tz0;
       double fa1b1c0d0tx1ty0tz0;
       double fa1b1c0d2tx0ty0tz0;
       double fa1b1c1d1tx0ty0tz0;
       double fa1b1c2d0tx0ty0tz0;
       double fa1b2c0d1tx0ty0tz0;
       double fa1b2c1d0tx0ty0tz0;
       double fa1b3c0d0tx0ty0tz0;
       double fa2b0c0d0tx0ty0tz1;
       double fa2b0c0d0tx0ty1tz0;
       double fa2b0c0d0tx1ty0tz0;
       double fa2b0c0d2tx0ty0tz0;
       double fa2b0c1d1tx0ty0tz0;
       double fa2b0c2d0tx0ty0tz0;
       double fa2b1c0d1tx0ty0tz0;
       double fa2b1c1d0tx0ty0tz0;
       double fa2b2c0d0tx0ty0tz0;
       double fa3b0c0d1tx0ty0tz0;
       double fa3b0c1d0tx0ty0tz0;
       double fa3b1c0d0tx0ty0tz0;
       double fa4b0c0d0tx0ty0tz0;
     } ptRayGenericPoly;
  • Die veranschaulichte Ausführungsform verwendet auch eine Funktion, die zu den Koeffizienten des algebraischen Ausdrucks (jene Funktionen nehmen als Eingabe einen 3D-Punkt (x,y,z) und eine entsprechende Ebene - charakterisiert durch px,py,pz,pt) Folgendes addiert:
  • void ptRayGenericPoly_addToVals(ptRayGenericPoly *vals,
                                             double x,
                                             double y,
                                             double z,
                                             double px,
                                             double py,
                                             double pz,
                                             double pt);
  • Die veranschaulichte Ausführungsform verwendet auch eine Funktion, die den Fehler an einer gegebenen Pose (a,b,c,d,tx,ty,tz) berechnet, wo (a,b,c,d) eine Quaternion-Darstellung der 3D-Rotation (rollen, nicken, gieren) ist und (tx,ty,ty) die Übersetzung sind:
  • 
     double ptRayGenericPoly_eval (const ptRayGenericPoly *vals,
                                    double a,
                                    double b,
                                    double c,
                                    double d,
                                    double tx,
                                    double ty,
                                  double tz);
  • Die veranschaulichte Ausführungsform stellt auch Funktionen bereit, die die Ableitungen berechnen:
  •  double ptRayGenericPoly_DA(const ptRayGenericPoly *vals,
                                  double a,
                                  double b,
                                  double c,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
     double ptRayGenericPoly_DB (const ptRayGenericPoly *vals,
                                  double a,
                                  double b,
                                  double c,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
     double ptRayGenericPoly_DC(const ptRayGenericPoly *vals,
                                  double a,
                                  double b,
                                  double c,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
     double ptRayGenericPoly_DD (const ptRayGenericPoly *vals,
                                  double a,
                                  double b,
                                  double c,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
     double ptRayGenericPoly_DTX (const ptRayGenericPoly *vals,
                                  double a,
                                  double b,
                                  double a,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
     double ptRayGenericPoly_DTY(const ptRayGenericPoly *vals,
                                  double a,
                                  double b,
                                  double c,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
     double ptRayGenericPoly_DTZ(const ptRayGenericPoly *vals, 
                                  double a,
                                  double b,
                                  double c,
                                  double d,
                                  double tx,
                                  double ty,
                                  double tz);
  • Zum Beispiel kann die Funktion, die zu den Koeffizienten addiert, auf eine Weise ausgedrückt werden, die mit den beispielhaften Auszügen, welche folgen, konsistent ist; die vollständige Funktion ist angesichts der vorliegenden Lehren und dem bereitgestellten Maple-Code evident:
  • 
      void ptRayGenericPoly_addToVals (ptRayGenericPoly *vals,
                                    double x,
                                    double y,
                                    double z,
                                    double px,
                                    double py,
                                    double pz,
                                    double pt)
      {
        double x_2 = x*x;
        double y_2 = y*y;
        double z_2 = z*z;
        double px_2 = px*px;
        double py_2 = py*py;
        double pz_2 = pz*pz;
        double pt_2 = pt*pt;
        vals->fa0b0c0d0tx0ty0tz2 += pz_2;
        vals->fa0b0c0d0tx0ty1tz1 += 2*py*pz;
        vals->fa0b0c0d0tx0ty2tz0 += py_2;
        vals->fa0b0c0d0tx1ty0tz1 += 2*pz*px;
        vals->fa0b0c0d0tx1ty1tz0 += 2*py*px;
        vals->fa0b0c0d0tx2ty0tz0 += px_2;
        vals->fa0b0c0d2tx0ty0tz1 += 2*pt*,pz+2*pz_2*z-2*py*y*pz-2*px*x*pz;
        vals->fa0b0c0d2tx0ty1tz0 += 2*pt*py-2*py_2*y-2*px*x*py+2*pz*z*py;
        vals->fa0b0c0d2tx1ty0tz0 += 2*pt*px-2*px_2*x-2*py*y*-px+2*pz*z*px;
        vals->fa0b0c0d4tx0ty0tz0 += pz_2*z_2+px_2*x_2+py_2*y_2+pt_2+2*pz*z*pt-
                                  2*px*x*pt-2*py*y*-pt+2*px*x*py*y-2*px*x*pz*z-
                                  2*py*y*pz*z;
        vals->fa0b0c1d1tx0ty0tz1 += 4*pz*z*py+4*pz_2*y;
        ...
  • Es ist zu beachten, dass die Art, wie dies funktioniert, darin besteht, dass die fa...'s die Koeffizienten sind und dass die Namen der Variablen den Grad jedes Monoms kodieren
  • 
     F(a,b,c,d,tx,ty,tz) = fa0b0c0d0tx0ty0tz0+ fa0b0c0d0tx0ty0tz1 * tz +
     fa0b0a0d0tx0ty0tz2 * tz^2 + fa0b0c0d0tx0ty1tz1 * ty * tz + ...
     und dass man mit einer generischen Nullfehlerfunktion beginnt
     fa0b0c0d0tx0ty0tz0 = 0
     fa0b0c0d0tx0ty0tz1 = 0
     ...
  • Darauf folgend wird ein Aufruf an eine Funktion ptRayGenericPoly_addToVals() für jeden Satz von Punkten, eine Ebene (charakterisiert durch (x,y,z,px,py,pz,tp)) vorgenommen und er akkumuliert die Monom-Koeffizienten zu der Summenfehlerfunktion.
  • Bezug nehmend auf den optionalen Schritt 36 der 2 kann das veranschaulichte System 10 Bilderfassungsvorrichtungen 24 rekalibrieren, die aus der Ausrichtung geraten sind, zum Beispiel, wenn eine der Kameras auf die Kalibrierung folgend angestoßen wird. (Diesbezüglich wird man anerkennen, dass es in der veranschaulichten Ausführungsform vorzugsweise beabsichtigt ist, dass die Kameras 24 nach der Kalibrierung befestigt und/ oder ortsfest bleiben, um während der Kalibrierungsphase bestimmte Abbildungen zu erhalten). Dies kann während der in Schritt 34 ausgeführten Ortstriangulation und, wenn möglich, während derjenigen, die in Schritt 32 ausgeführt wurde, erfasst werden. Zu diesem Zweck können, wenn eine Kamera 24 Bilder erzeugt, in denen die in Laufzeitbildern gefundenen Muster eines Objekts, das geprüft wird, an Orten zu liegen scheinen (zum Beispiel, wenn sie auf den 3D-Strahlen für jene Kamera abgebildet sind), die mit Bildern von den anderen Kameras inkonsistent und/oder in wesentlicher Nichtübereinstimmung sind (zum Beispiel, wenn sie unter Verwendung ihrer jeweiligen 3D-Strahlen abgebildet werden) Musterorte, die mit den Bildern von jenen anderen Kameras bestimmt wurden, verwendet werden, um die eine Kamera unter Anwendung derselben Kalibrierungsmethodologie zu rekalibrieren, die oben in Verbindung mit Schritt 30 beschrieben wurde.
  • Diesbezüglich wird man anerkennen, dass die in Schritt 30 (ebenso wie in Schritt 36) bestimmten Abbildungen in zwei separate Wirkungen zerlegbar sind: Linsenverzerrung, wie etwa kissenförmige Verzerrung und andere Bildaberrationen, die konstant bleiben, wenn die Kamera 24 angestoßen wird (da sie nur eine Funktion der Linse ist und weil die Linse zum Beispiel bezüglich des CCD, CMOS oder anderen Bildsensors festgeklebt werden kann) und die Pose der Kamera 24 bezüglich des Arbeitsbereichs. Es ist letztere - die Pose -, die sich ändert, wenn die Kamera angestoßen wird. In Schritt 36 kann jener Aspekt der Abbildung, der der Pose der Kamera am Arbeitsbereich zuzuschreiben ist, neu berechnet werden, zum Beispiel, ohne eine Kalibrierungsplatte zu erfordern, da angenommen wird, dass die Linsenverzerrung konstant bleibt.
  • Das veranschaulichte System 10 beinhaltet vorzugsweise ein „Auszeit“-Merkmal, das übermäßige Verzögerung in Fällen verhindert, in denen ein erwartetes Muster nicht in einem Bild entdeckt wird, das während der Laufzeitphase 34 erfasst wurde. Diesbezüglich behandelt das System einfach ein Muster, das nicht innerhalb eines angegebenen Verzögerungsintervalls entdeckt wird (das zum Beispiel durch die Bedienperson oder anderweitig gesetzt ist), als nicht gefunden und fährt mit der Positionsbestimmung auf der Basis der anderen, gefundenen Muster fort. Dies hat den Vorteil, dass das System 10 bezüglich fehlender Merkmale robuster und in seinem Betrieb zeitgerechter gemacht wird.
  • Vorstehend sind Verfahren und Vorrichtungen beschrieben, die unter anderem die oben dargelegten Aufgaben erfüllen. Es wird gewürdigt werden, dass die in den Zeichnungen gezeigten und oben beschriebenen Verfahren und Vorrichtungen nur Beispiele von Ausführungsformen der Erfindung sind und dass andere Ausführungsformen, welche Änderungen enthalten, unter den Rahmen der Erfindung fallen. Angesichts des Vorstehenden wird Folgendes beansprucht:
  • Claims (25)

    1. Verfahren für die dreidimensionale (3D-) Sichtigkeit zur Bestimmung zumindest einer Position oder Ausrichtung eines Objekts in drei Dimensionen, wobei das Verfahren Folgendes umfasst: A. Kalibrieren mehrerer Kameras, welche angeordnet sind, um Bilder des Objekts aus verschiedenen jeweiligen Blickpunkten zu erfassen, um für jede der Kameras eine Abbildungsfunktion zu erhalten, die Strahlen im dreidimensionalen Raum identifiziert, die von der Linse jeder jeweiligen Kamera ausgehen und Pixelorten im Sichtfeld jener Kamera entsprechen, wobei Schritt (A) das Positionieren von Registrierungszielen an bekannten Positionen im dreidimensionalen Raum und für jede Kamera das Charakterisieren von Korrelationen zwischen jenen Positionen und den Pixelorten der jeweiligen Ziele im Sichtfeld der betreffenden Kamera beinhaltet, B. Trainieren einer den Kameras zugehörigen Funktionalität, die trainiert wird, um ein erwartetes Muster in Bildern des Objekts zu erkennen, die von unterschiedlichen der mehreren Kameras zu erfassen sind, und Trainieren dieser Funktionalität in Bezug auf einen gemeinsamen Referenzpunkt des erwarteten Musters, und C. Triangulieren eines Orts des erwarteten Musters im dreidimensionalen Raum auf der Grundlage des Schnittpunkts von in Schritt (A) identifizierten Strahlen im dreidimensionalen Raum, die Pixelorten des gemeinsamen Referenzpunkts in Bildern des Objekts, die von den mehreren Kameras aufgenommen wurden, entsprechen.
    2. Verfahren nach Anspruch 1, bei dem Schritt (C) das Triangulieren der Orte im dreidimensionalen Raum aus Bildern des Objekts beinhaltet, die im Wesentlichen gleichzeitig von den mehreren Kameras gemacht wurden.
    3. Verfahren nach Anspruch 1 mit einem Schritt D. Rekalibrieren einer ausgewählten Kamera, die Bilder erzeugt, in denen die Muster an Orten zu liegen scheinen, die mit Bildern von den anderen Kameras inkonsistent und/oder in wesentlicher Nichtübereinstimmung zu sein scheinen.
    4. Verfahren nach Anspruch 3, wobei Schritt (D) die Verwendung von Orten im dreidimensionalen Raum beinhaltet, welche in Schritt (C) aus den Bildern von den anderen Kameras bestimmt wurden, um eine Abbildungsfunktion wahrzunehmen, die Strahlen im dreidimensionalen Raum identifiziert.
    5. Verfahren nach Anspruch 1, wobei Schritt (A) das algorithmische Charakterisieren der Korrelationen beinhaltet.
    6. Verfahren nach Anspruch 1, wobei der Schritt (A) das Positionieren von einem oder mehreren Registrierungszielen beinhaltet, die gleichzeitig von mehreren Kameras zu Zwecken des Erhaltens der Abbildungsfunktion abgebildet werden.
    7. Verfahren nach Anspruch 6, wobei Schritt (A) das Abbilden von Registrierungszielen beinhaltet, die auf einer oder mehreren Kalibrierungsplatten zum Wahrnehmen der Abbildungsfunktion angeordnet sind.
    8. Verfahren nach Anspruch 1, wobei Schritt (A) das Wahrnehmen einer Abbildungsfunktion für eine oder mehrere Kameras beinhaltet, die ein Verzerren im Sichtfeld jener Kamera berücksichtigt.
    9. Verfahren nach Anspruch 1, wobei Schritt (B) das Trainieren der den Kameras zugeordneten Funktionalität beinhaltet, um erwartete Muster zu erkennen, die irgendwelche Buchstaben, Zahlen, andere Symbole, Ecken oder andere wahrnehmbare Merkmale des Objekts beinhalten, dessen Abbildung erwartet wird.
    10. Verfahren nach Anspruch 1, bei dem Schritt (B) das Trainieren der den Kameras zugeordneten Funktionalität hinsichtlich der erwarteten Orte im dreidimensionalen Raum der Muster auf dem Objekt beinhaltet, dessen Abbildung erwartet wird.
    11. Verfahren nach Anspruch 10, bei dem Schritt (B) das Trainieren der den Kameras zugeordneten Funktionalität hinsichtlich der erwarteten Orte im dreidimensionalen Raum der Muster relativ zueinander auf dem Objekt beinhaltet, dessen Abbildung erwartet wird.
    12. Verfahren nach Anspruch 10, bei dem Schritt (B) das Trainieren der den Kameras zugeordneten Funktionalität hinsichtlich der erwarteten Orte im dreidimensionalen Raum der Muster auf der Basis einer Benutzereingabe beinhaltet.
    13. Verfahren nach Anspruch 10, bei dem Schritt (B) das Trainieren der den Kameras zugeordneten Funktionalität hinsichtlich der erwarteten Orte im dreidimensionalen Raum von einem oder mehreren der Muster durch Triangulieren tatsächlicher Orte jener Muster aus (i) Pixel betreffenden Positionen jener Muster in Bildern eines Trainingsobjekts, (ii) Abbildungen, die während Schritt (A) wahrgenommen wurden, beinhaltet.
    14. Verfahren nach Anspruch 10, bei dem Schritt (B) das Triangulieren erwarteter Orte im dreidimensionalen Raum von einem oder mehreren der Muster aus (i) Pixel betreffenden Positionen jener Muster in Bildern eines Trainingsobjekts, (ii) Abbildungen, die während Schritt (A) wahrgenommen wurden, und (iii) erwarteten Orten im dreidimensionalen Raum der Muster auf dem Objekt, dessen Abbildung erwartet wird, beinhaltet.
    15. Verfahren nach Anspruch 10, bei dem Schritt (B) das Trainieren der Funktionalität beinhaltet, um gleiche Modelle zur Identifizierung gleicher Modelle wie zwischen verschiedenen Kameras zu verwenden.
    16. Verfahren nach Anspruch 10, bei dem Schritt (B) das Trainieren der Funktionalität beinhaltet, um (i) verschiedene Modelle zur Identifizierung gleicher Muster wie zwischen verschiedenen Kameras zu verwenden, und (ii) gleiche Referenzpunkte für mit jenen Mustern bestimmte Muster zu identifizieren.
    17. Verfahren nach Anspruch 1, bei dem Schritt (B) das Finden eines erwarteten Musters in einem Bild von einer Kamera auf der Basis einer vorherigen Identifizierung jenes Musters in einem Bild von einer anderen Kamera beinhaltet.
    18. Verfahren nach Anspruch 1, bei dem Schritt (C) das Triangulieren der Position von einem oder mehreren der Muster unter Verwendung eines Musterabgleichs oder anderer zweidimensionaler Sichtwerkzeuge beinhaltet.
    19. Verfahren nach Anspruch 1, bei dem Schritt (C) das Triangulieren der Position eines Musters im dreidimensionalen Raum von einem nächstgelegenen Schnittpunkt von 3D-Strahlen beinhaltet, auf denen jenes Muster zu liegen scheint.
    20. Verfahren nach Anspruch 1, bei dem Schritt (C) das Triangulieren der Position eines Musters im dreidimensionalen Raum von einem oder mehreren von (i) einem Punkt nächstgelegen zum Schnittpunkt von 3D-Strahlen, auf denen jenes Muster zu liegen scheint, (ii) einem oder mehreren 3D-Strahlen, auf denen andere der Muster liegen, und (iii) erwarteten Orten der Muster beinhaltet.
    21. Verfahren nach Anspruch 1, bei dem Schritt (C) die Verwendung gleicher Modelle zur Identifizierung gleicher Muster in von verschiedenen Kameras erfassten Bildern des Objekts beinhaltet.
    22. Verfahren nach Anspruch 21, bei dem Schritt (C) (i) das Verwenden verschiedener Modelle zur Identifizierung gleicher Muster in von verschiedenen Kameras erfassten Bildern des Objekts und (ii) die Identifizierung gleicher Referenzpunkte für jene Muster, ungeachtet dessen, dass sie unter Verwendung verschiedener Modelle identifiziert wurden, beinhaltet.
    23. Verfahren nach Anspruch 1, bei dem Schritt (C) das Triangulieren des Orts im dreidimensionalen Raum des Objekts beinhaltet, selbst wenn eines oder mehrere der Muster in Bildern des Objekts nicht erfasst werden.
    24. Verfahren nach Anspruch 1, bei dem Schritt (C) den Abbruch der Erfassung von einem oder mehreren Mustern in einem Bild des Objekts beinhaltet, wenn eine solche Erfassung ein Verzögerungsintervall überschreitet.
    25. System für die Maschinensichtigkeit, das in Übereinstimmung mit einem der Ansprüche 1, 2, 10 oder 17 arbeitet.
    DE112006002674.7T 2005-10-07 2006-10-06 Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem Active DE112006002674B4 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US11/246,024 2005-10-07
    US11/246,024 US8111904B2 (en) 2005-10-07 2005-10-07 Methods and apparatus for practical 3D vision system
    PCT/US2006/039324 WO2007044629A2 (en) 2005-10-07 2006-10-06 Methods and apparatus for practical 3d vision system

    Publications (2)

    Publication Number Publication Date
    DE112006002674T5 DE112006002674T5 (de) 2008-09-11
    DE112006002674B4 true DE112006002674B4 (de) 2019-05-09

    Family

    ID=37911111

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112006002674.7T Active DE112006002674B4 (de) 2005-10-07 2006-10-06 Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem

    Country Status (4)

    Country Link
    US (1) US8111904B2 (de)
    JP (1) JP4976402B2 (de)
    DE (1) DE112006002674B4 (de)
    WO (1) WO2007044629A2 (de)

    Families Citing this family (87)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US8944070B2 (en) 1999-04-07 2015-02-03 Intuitive Surgical Operations, Inc. Non-force reflecting method for providing tool force information to a user of a telesurgical system
    US7542034B2 (en) 2004-09-23 2009-06-02 Conversion Works, Inc. System and method for processing video images
    US9789608B2 (en) 2006-06-29 2017-10-17 Intuitive Surgical Operations, Inc. Synthetic representation of a surgical robot
    US8111904B2 (en) 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
    US10008017B2 (en) 2006-06-29 2018-06-26 Intuitive Surgical Operations, Inc. Rendering tool information as graphic overlays on displayed images of tools
    US9718190B2 (en) 2006-06-29 2017-08-01 Intuitive Surgical Operations, Inc. Tool position and identification indicator displayed in a boundary area of a computer display screen
    US20090192523A1 (en) * 2006-06-29 2009-07-30 Intuitive Surgical, Inc. Synthetic representation of a surgical instrument
    US10258425B2 (en) 2008-06-27 2019-04-16 Intuitive Surgical Operations, Inc. Medical robotic system providing an auxiliary view of articulatable instruments extending out of a distal end of an entry guide
    US8655052B2 (en) * 2007-01-26 2014-02-18 Intellectual Discovery Co., Ltd. Methodology for 3D scene reconstruction from 2D image sequences
    US8274530B2 (en) 2007-03-12 2012-09-25 Conversion Works, Inc. Systems and methods for filling occluded information for 2-D to 3-D conversion
    US8145578B2 (en) * 2007-04-17 2012-03-27 Eagel View Technologies, Inc. Aerial roof estimation system and method
    US8078436B2 (en) 2007-04-17 2011-12-13 Eagle View Technologies, Inc. Aerial roof estimation systems and methods
    US8126260B2 (en) 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
    EP2153410B1 (de) * 2007-05-29 2016-11-16 Cognex Technology and Investment Corporation 3d-zusammenstellungsverifikation aus 2d-bildern
    US9138129B2 (en) 2007-06-13 2015-09-22 Intuitive Surgical Operations, Inc. Method and system for moving a plurality of articulated instruments in tandem back towards an entry guide
    US8620473B2 (en) 2007-06-13 2013-12-31 Intuitive Surgical Operations, Inc. Medical robotic system with coupled control modes
    US9469034B2 (en) 2007-06-13 2016-10-18 Intuitive Surgical Operations, Inc. Method and system for switching modes of a robotic system
    US9089256B2 (en) 2008-06-27 2015-07-28 Intuitive Surgical Operations, Inc. Medical robotic system providing an auxiliary view including range of motion limitations for articulatable instruments extending out of a distal end of an entry guide
    US9084623B2 (en) 2009-08-15 2015-07-21 Intuitive Surgical Operations, Inc. Controller assisted reconfiguration of an articulated instrument during movement into and out of an entry guide
    US7953511B1 (en) * 2007-09-21 2011-05-31 National Semiconductor Corporation System and method for reducing processing errors during wafer fabrication employing a 2D wafer scribe and monitoring system
    US20090118600A1 (en) * 2007-11-02 2009-05-07 Ortiz Joseph L Method and apparatus for skin documentation and analysis
    EP2076055B1 (de) * 2007-12-27 2012-10-24 Saab AB Verfahren zur Anzeige eines virtuellen Bildes
    RU2513912C2 (ru) * 2008-12-09 2014-04-20 Сони Корпорейшн Устройство и способ обработки изображений
    US8442304B2 (en) * 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
    US9734419B1 (en) * 2008-12-30 2017-08-15 Cognex Corporation System and method for validating camera calibration in a vision system
    JP5245938B2 (ja) * 2009-03-12 2013-07-24 オムロン株式会社 3次元認識結果の表示方法および3次元視覚センサ
    JP5316118B2 (ja) 2009-03-12 2013-10-16 オムロン株式会社 3次元視覚センサ
    JP5714232B2 (ja) * 2009-03-12 2015-05-07 オムロン株式会社 キャリブレーション装置および3次元計測のためのパラメータの精度の確認支援方法
    JP2010210585A (ja) * 2009-03-12 2010-09-24 Omron Corp 3次元視覚センサにおけるモデル表示方法および3次元視覚センサ
    JP5282614B2 (ja) * 2009-03-13 2013-09-04 オムロン株式会社 視覚認識処理用のモデルデータの登録方法および視覚センサ
    US9533418B2 (en) 2009-05-29 2017-01-03 Cognex Corporation Methods and apparatus for practical 3D vision system
    US9492927B2 (en) 2009-08-15 2016-11-15 Intuitive Surgical Operations, Inc. Application of force feedback on an input device to urge its operator to command an articulated instrument to a preferred pose
    US8918211B2 (en) 2010-02-12 2014-12-23 Intuitive Surgical Operations, Inc. Medical robotic system providing sensory feedback indicating a difference between a commanded state and a preferred pose of an articulated instrument
    US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
    CA2801486C (en) 2010-02-01 2018-12-11 Eagle View Technologies, Inc. Geometric correction of rough wireframe models derived from photographs
    JP5448952B2 (ja) * 2010-03-16 2014-03-19 グローリー株式会社 同一人判定装置、同一人判定方法および同一人判定プログラム
    US9393694B2 (en) * 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
    KR20120011653A (ko) * 2010-07-29 2012-02-08 삼성전자주식회사 영상 처리 장치 및 방법
    US20120062725A1 (en) * 2010-09-10 2012-03-15 Gm Global Technology Operations, Inc. System for error-proofing manual assembly operations using machine vision
    WO2012062813A2 (en) * 2010-11-09 2012-05-18 The Provost, Fellows, And Scholars Of The College Of The Holy And Undivided Trinity Of Queen Elizabeth, Near Dublin Method and system for recovery of 3d scene structure and camera motion from a video sequence
    US9124873B2 (en) 2010-12-08 2015-09-01 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
    US8600192B2 (en) 2010-12-08 2013-12-03 Cognex Corporation System and method for finding correspondence between cameras in a three-dimensional vision system
    US11488322B2 (en) 2010-12-08 2022-11-01 Cognex Corporation System and method for training a model in a plurality of non-perspective cameras and determining 3D pose of an object at runtime with the same
    WO2012076979A1 (en) 2010-12-08 2012-06-14 Cognex Corporation Model-based pose estimation using a non-perspective camera
    DE102011114674C5 (de) * 2011-09-30 2020-05-28 Steinbichler Optotechnik Gmbh Verfahren und Vorrichtung zum Bestimmen der 3D-Koordinaten eines Objekts
    DE102012223047B4 (de) * 2011-12-16 2015-09-10 Cognex Corporation Mehrteil-Korrespondierer (corresponder) für mehrere Kameras
    US9749594B2 (en) * 2011-12-22 2017-08-29 Pelco, Inc. Transformation between image and map coordinates
    WO2013103410A1 (en) 2012-01-05 2013-07-11 California Institute Of Technology Imaging surround systems for touch-free display control
    WO2014107434A1 (en) 2013-01-02 2014-07-10 California Institute Of Technology Single-sensor system for extracting depth information from image blur
    US10507066B2 (en) 2013-02-15 2019-12-17 Intuitive Surgical Operations, Inc. Providing information of tools by filtering image areas adjacent to or on displayed images of the tools
    US9747680B2 (en) 2013-11-27 2017-08-29 Industrial Technology Research Institute Inspection apparatus, method, and computer program product for machine vision inspection
    US9833962B2 (en) 2014-02-26 2017-12-05 Toyota Motor Engineering & Manufacturing Norh America, Inc. Systems and methods for controlling manufacturing processes
    CN104897053A (zh) * 2014-03-05 2015-09-09 泰科电子(上海)有限公司 可编程数字化机器视觉检测平台
    CN106416241B (zh) * 2014-03-21 2019-07-26 欧姆龙株式会社 用于检测和减轻光学系统中的光学损伤的方法和装置
    TWI577493B (zh) 2014-12-26 2017-04-11 財團法人工業技術研究院 校正方法與應用此方法的自動化設備
    WO2016131018A1 (en) 2015-02-12 2016-08-18 Glowforge Inc. Visual preview for laser fabrication
    US10509390B2 (en) 2015-02-12 2019-12-17 Glowforge Inc. Safety and reliability guarantees for laser fabrication
    US20170014945A1 (en) * 2015-07-17 2017-01-19 Laserax Inc. Methods and systems for laser marking an identifier on an industrial product
    US11562502B2 (en) 2015-11-09 2023-01-24 Cognex Corporation System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance
    US10812778B1 (en) 2015-11-09 2020-10-20 Cognex Corporation System and method for calibrating one or more 3D sensors mounted on a moving manipulator
    US10757394B1 (en) 2015-11-09 2020-08-25 Cognex Corporation System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance
    JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
    US10424072B2 (en) 2016-03-01 2019-09-24 Samsung Electronics Co., Ltd. Leveraging multi cues for fine-grained object classification
    US10579860B2 (en) 2016-06-06 2020-03-03 Samsung Electronics Co., Ltd. Learning model for salient facial region detection
    GB2551970B (en) * 2016-06-29 2021-10-27 Sony Europe Bv Determining the position of an object in a scene
    US10482621B2 (en) * 2016-08-01 2019-11-19 Cognex Corporation System and method for improved scoring of 3D poses and spurious point removal in 3D image data
    CN110226137A (zh) 2016-11-25 2019-09-10 格罗弗治公司 借助图像跟踪进行制造
    WO2018098395A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Improved engraving in a computer numerically controlled machine
    WO2018098393A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Housing for computer-numerically-controlled machine
    WO2018098398A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Preset optical components in a computer numerically controlled machine
    WO2018098399A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Controlled deceleration of moveable components in a computer numerically controlled machine
    WO2018098396A1 (en) 2016-11-25 2018-05-31 Glowforge Inc. Multi-user computer-numerically-controlled machine
    WO2018098397A1 (en) * 2016-11-25 2018-05-31 Glowforge Inc. Calibration of computer-numerically-controlled machine
    US20190122388A1 (en) * 2017-04-17 2019-04-25 Cognex Corporation High-accuracy calibration system and method
    US20190012782A1 (en) * 2017-07-05 2019-01-10 Integrated Vision Systems LLC Optical inspection apparatus and method
    CN109672878A (zh) 2017-10-13 2019-04-23 康耐视公司 对校准物体两相对侧成像的视觉系统的场校准系统和方法
    US10503843B2 (en) 2017-12-19 2019-12-10 Eagle View Technologies, Inc. Supervised automatic roof modeling
    TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
    GB2571528A (en) 2018-02-28 2019-09-04 Rolls Royce Plc Controlling a robot in an environment
    ES2928250T3 (es) * 2018-03-21 2022-11-16 Realtime Robotics Inc Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo
    US11291507B2 (en) 2018-07-16 2022-04-05 Mako Surgical Corp. System and method for image based registration and calibration
    CN110465946B (zh) * 2019-08-19 2021-04-30 珞石(北京)科技有限公司 一种像素坐标与机器人坐标关系标定方法
    US20230154099A1 (en) * 2020-03-31 2023-05-18 Pioneer Corporation Information processing device, computer program, recording medium, and display data creation method
    CN112504137B (zh) * 2020-12-07 2022-07-26 北京智博联科技股份有限公司 基于云计算的多目标数字图像检测方法
    US11740608B2 (en) 2020-12-24 2023-08-29 Glowforge, Inc Computer numerically controlled fabrication using projected information
    US11698622B2 (en) 2021-03-09 2023-07-11 Glowforge Inc. Previews for computer numerically controlled fabrication
    US12075024B2 (en) 2021-12-20 2024-08-27 Industrial Technology Research Institute System and method for computing relative rotation and relative translation of back-to-back cameras

    Citations (17)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP0328687A1 (de) 1987-08-22 1989-08-23 Fanuc Ltd. Eicheinrichtung für ein sichtsensorsystem
    US5960125A (en) 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
    US5978080A (en) 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
    US5978521A (en) 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine calibration locations of multiple cameras that image a common object
    WO2000008856A1 (en) 1998-08-07 2000-02-17 Koninklijke Philips Electronics N.V. Figure tracking in a multiple camera system
    US6137893A (en) 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
    US20030025788A1 (en) 2001-08-06 2003-02-06 Mitsubishi Electric Research Laboratories, Inc. Hand-held 3D vision system
    US20030156189A1 (en) 2002-01-16 2003-08-21 Akira Utsumi Automatic camera calibration method
    US6639624B1 (en) 1999-12-30 2003-10-28 Cognex Corporation Machine vision methods for inspection of leaded components
    US20030202691A1 (en) 2002-04-24 2003-10-30 Paul Beardsley Calibration of multiple cameras for a turntable-based 3D scanner
    US6658145B1 (en) 1997-12-31 2003-12-02 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection
    US6728582B1 (en) * 2000-12-15 2004-04-27 Cognex Corporation System and method for determining the position of an object in three dimensions using a machine vision system with two cameras
    US6748104B1 (en) 2000-03-24 2004-06-08 Cognex Corporation Methods and apparatus for machine vision inspection using single and multiple templates or patterns
    US6771808B1 (en) 2000-12-15 2004-08-03 Cognex Corporation System and method for registering patterns transformed in six degrees of freedom using machine vision
    US6850646B1 (en) 1997-12-31 2005-02-01 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection
    US6856698B1 (en) 1997-11-26 2005-02-15 Cognex Corporation Fast high-accuracy multi-dimensional pattern localization
    US20050089214A1 (en) * 1999-03-08 2005-04-28 Rudger Rubbert Scanning system and calibration method for capturing precise three-dimensional information of objects

    Family Cites Families (407)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US3816722A (en) 1970-09-29 1974-06-11 Nippon Electric Co Computer for calculating the similarity between patterns and pattern recognition system comprising the similarity computer
    US3727034A (en) 1972-01-19 1973-04-10 Gen Electric Counting system for a plurality of locations
    US3779178A (en) 1972-02-14 1973-12-18 G Riseley Restrained access protection apparatus
    JPS5425782B2 (de) 1973-03-28 1979-08-30
    US3967100A (en) 1973-11-12 1976-06-29 Naonobu Shimomura Digital function generator utilizing cascade accumulation
    US3968475A (en) 1974-11-11 1976-07-06 Sperry Rand Corporation Digital processor for extracting data from a binary image
    JPS5177047A (de) 1974-12-27 1976-07-03 Naonobu Shimomura
    US4000400A (en) 1975-04-09 1976-12-28 Elder Clarence L Bidirectional monitoring and control system
    US4011403A (en) 1976-03-30 1977-03-08 Northwestern University Fiber optic laser illuminators
    CH611017A5 (de) 1976-05-05 1979-05-15 Zumbach Electronic Ag
    US4183013A (en) 1976-11-29 1980-01-08 Coulter Electronics, Inc. System for extracting shape features from an image
    JPS5369063A (en) 1976-12-01 1978-06-20 Hitachi Ltd Detector of position alignment patterns
    US4200861A (en) 1978-09-01 1980-04-29 View Engineering, Inc. Pattern recognition apparatus and method
    US4385322A (en) 1978-09-01 1983-05-24 View Engineering, Inc. Pattern recognition apparatus and method
    JPS5579590A (en) 1978-12-13 1980-06-16 Hitachi Ltd Video data processor
    US4286293A (en) 1979-05-30 1981-08-25 Western Electric Company, Inc. Laser scanning and multiple detection for video image processing
    US4303851A (en) 1979-10-16 1981-12-01 Otis Elevator Company People and object counting system
    US4300164A (en) 1980-03-21 1981-11-10 View Engineering, Inc. Adaptive video processor
    US4631750A (en) 1980-04-11 1986-12-23 Ampex Corporation Method and system for spacially transforming images
    EP0200284B1 (de) 1980-04-11 1993-09-29 Ampex Corporation Interpolationsfilter für Bildveränderungssystem
    IL64015A (en) 1980-10-24 1984-10-31 Pretini Gisberto Automated bank counter
    JPS57102017A (en) 1980-12-17 1982-06-24 Hitachi Ltd Pattern detector
    US4435837A (en) 1981-03-05 1984-03-06 President And Fellows Of Harvard College Pattern recognition and orientation system
    US4441124A (en) 1981-11-05 1984-04-03 Western Electric Company, Inc. Technique for inspecting semiconductor wafers for particulate contamination
    US5506682A (en) 1982-02-16 1996-04-09 Sensor Adaptive Machines Inc. Robot vision using targets
    US4519041A (en) 1982-05-03 1985-05-21 Honeywell Inc. Real time automated inspection
    DE3267548D1 (en) 1982-05-28 1986-01-02 Ibm Deutschland Process and device for an automatic optical inspection
    US4534813A (en) 1982-07-26 1985-08-13 Mcdonnell Douglas Corporation Compound curve-flat pattern process
    US4736437A (en) 1982-11-22 1988-04-05 View Engineering, Inc. High speed pattern recognizer
    US4577344A (en) 1983-01-17 1986-03-18 Automatix Incorporated Vision system
    FR2540263B1 (fr) 1983-01-31 1988-05-20 Commissariat Energie Atomique Procede de reconnaissance automatique d'une image a partir d'une image correspondante de reference
    US4783829A (en) 1983-02-23 1988-11-08 Hitachi, Ltd. Pattern recognition apparatus
    GB8311813D0 (en) 1983-04-29 1983-06-02 West G A W Coding and storing raster scan images
    US4581762A (en) 1984-01-19 1986-04-08 Itran Corporation Vision inspection system
    US4606065A (en) 1984-02-09 1986-08-12 Imaging Technology Incorporated Image processing-system
    JPS60167069A (ja) 1984-02-09 1985-08-30 Omron Tateisi Electronics Co 図形認識装置
    US4541116A (en) 1984-02-27 1985-09-10 Environmental Research Institute Of Mi Neighborhood image processing stage for implementing filtering operations
    US4860374A (en) 1984-04-19 1989-08-22 Nikon Corporation Apparatus for detecting position of reference pattern
    US4688088A (en) 1984-04-20 1987-08-18 Canon Kabushiki Kaisha Position detecting device and method
    EP0163885A1 (de) 1984-05-11 1985-12-11 Siemens Aktiengesellschaft Anordnung zur Segmentierung von Linien
    JPS6134583A (ja) 1984-07-26 1986-02-18 シャープ株式会社 照明装置
    US4953224A (en) 1984-09-27 1990-08-28 Hitachi, Ltd. Pattern defects detection method and apparatus
    JPS6180222A (ja) 1984-09-28 1986-04-23 Asahi Glass Co Ltd メガネ合せ方法及びメガネ合せ装置
    EP0233888B1 (de) 1984-12-14 1990-12-12 AHLBOM, Sten Hugo Nils Anordnung zur behandlung von bildern
    US4641349A (en) 1985-02-20 1987-02-03 Leonard Flom Iris recognition system
    US4876728A (en) 1985-06-04 1989-10-24 Adept Technology, Inc. Vision system for distinguishing touching parts
    US4831580A (en) 1985-07-12 1989-05-16 Nippon Electric Industry Co., Ltd. Program generator
    JPS6256814A (ja) * 1985-09-06 1987-03-12 Hitachi Ltd 3次元位置計測カメラ較正方式
    JPS6261390A (ja) 1985-09-11 1987-03-18 興和株式会社 プリント基板検査方法およびその装置
    US4617619A (en) 1985-10-02 1986-10-14 American Sterilizer Company Reflector for multiple source lighting fixture
    US4742551A (en) 1985-10-07 1988-05-03 Fairchild Camera & Instrument Corporation Multistatistics gatherer
    US4706168A (en) 1985-11-15 1987-11-10 View Engineering, Inc. Systems and methods for illuminating objects for vision systems
    US4860375A (en) 1986-03-10 1989-08-22 Environmental Research Inst. Of Michigan High speed cellular processing system
    US4728195A (en) 1986-03-19 1988-03-01 Cognex Corporation Method for imaging printed circuit board component leads
    GB8608431D0 (en) 1986-04-07 1986-05-14 Crosfield Electronics Ltd Monitoring digital image processing equipment
    US4891757A (en) * 1986-04-14 1990-01-02 Picker International, Inc. Medical imaging system and method having gray scale mapping means for indicating image saturation regions
    JP2623530B2 (ja) 1986-04-22 1997-06-25 ミノルタ株式会社 固体撮像素子駆動装置
    FR2598019B1 (fr) 1986-04-25 1992-09-11 Thomson Csf Procede d'utilisation d'une matrice photosensible a transfert de charge, et matrice photosensible ainsi utilisee
    US4707647A (en) 1986-05-19 1987-11-17 Gmf Robotics Corporation Gray scale vision method and system utilizing same
    US4783828A (en) 1986-06-02 1988-11-08 Honeywell Inc. Two-dimensional object recognition using chain codes, histogram normalization and trellis algorithm
    US4771469A (en) 1986-06-30 1988-09-13 Honeywell Inc. Means and method of representing an object shape by hierarchical boundary decomposition
    DE3623792C1 (de) 1986-07-15 1987-12-10 Messerschmitt Boelkow Blohm Einrichtung zur Feststellung der Personenzahl und Richtung innerhalb eines zu ueberwachenden Raumes oder einer Durchgangsschleuse
    US4783826A (en) 1986-08-18 1988-11-08 The Gerber Scientific Company, Inc. Pattern inspection system
    US4821333A (en) 1986-08-22 1989-04-11 Environmental Research Inst. Of Michigan Machine learning procedures for generating image domain feature detector structuring elements
    FR2604320B1 (fr) 1986-09-19 1988-11-04 Thomson Csf Systeme de prise de vues en videographie rapide utilisant un capteur optique matriciel a transfert de charges
    US4955062A (en) 1986-12-10 1990-09-04 Canon Kabushiki Kaisha Pattern detecting method and apparatus
    US4752898A (en) 1987-01-28 1988-06-21 Tencor Instruments Edge finding in wafers
    GB8706348D0 (en) 1987-03-17 1987-04-23 Quantel Ltd Electronic image processing systems
    US4972359A (en) 1987-04-03 1990-11-20 Cognex Corporation Digital image processing system
    US4764870A (en) 1987-04-09 1988-08-16 R.A.P.I.D., Inc. System and method for remote presentation of diagnostic image information
    US5005126A (en) 1987-04-09 1991-04-02 Prevail, Inc. System and method for remote presentation of diagnostic image information
    US5012433A (en) 1987-04-27 1991-04-30 International Business Machines Corporation Multistage clipping method
    US4982438A (en) 1987-06-02 1991-01-01 Hitachi, Ltd. Apparatus and method for recognizing three-dimensional shape of object
    US5208750A (en) 1987-06-17 1993-05-04 Nissan Motor Co., Ltd. Control system for unmanned automotive vehicle
    CA1318977C (en) 1987-07-22 1993-06-08 Kazuhito Hori Image recognition system
    JPH07120385B2 (ja) 1987-07-24 1995-12-20 シャープ株式会社 光学的読取り方法
    JP2630605B2 (ja) 1987-07-29 1997-07-16 三菱電機株式会社 曲面創成方法
    US4903218A (en) 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
    US4799243A (en) 1987-09-01 1989-01-17 Otis Elevator Company Directional people counting arrangement
    JPS6478381A (en) 1987-09-21 1989-03-23 Toshiba Corp Picture processing method
    US5119435A (en) 1987-09-21 1992-06-02 Kulicke And Soffa Industries, Inc. Pattern recognition apparatus and method
    US4907169A (en) 1987-09-30 1990-03-06 International Technical Associates Adaptive tracking vision and guidance system
    US4782238A (en) 1987-10-20 1988-11-01 Eastman Kodak Company Apparatus for generating edge position signals for use in locating an address element on a mailpiece
    US5621811A (en) 1987-10-30 1997-04-15 Hewlett-Packard Co. Learning method and apparatus for detecting and controlling solder defects
    US5081656A (en) 1987-10-30 1992-01-14 Four Pi Systems Corporation Automated laminography system for inspection of electronics
    US4912659A (en) 1987-10-30 1990-03-27 International Business Machines Corporation Parallel surface processing system for graphics display
    US5287449A (en) 1987-11-06 1994-02-15 Hitachi, Ltd. Automatic program generation method with a visual data structure display
    JPH01160158A (ja) 1987-12-17 1989-06-23 Murata Mach Ltd 遠隔地の機械制御システム
    JP2622573B2 (ja) 1988-01-27 1997-06-18 キヤノン株式会社 マーク検知装置及び方法
    US5339163A (en) 1988-03-16 1994-08-16 Canon Kabushiki Kaisha Automatic exposure control device using plural image plane detection areas
    FR2631188A1 (fr) 1988-05-03 1989-11-10 Thomson Csf Photodetecteur matriciel a transfert de charges avec dispositif integre de filtrage de charges
    JP2739130B2 (ja) 1988-05-12 1998-04-08 株式会社鷹山 画像処理方法
    US4891767A (en) 1988-06-02 1990-01-02 Combustion Engineering, Inc. Machine vision system for position sensing
    JP2541631B2 (ja) 1988-07-26 1996-10-09 ファナック株式会社 Cncのリモ―ト診断方式
    DE58908000D1 (de) 1988-07-28 1994-08-11 Contraves Ag Automatische Helligkeits- und Kontrast-Steuerung einer Video-Kamera für industrielle/militärische Zwecke.
    JP2512099B2 (ja) 1988-08-24 1996-07-03 松下電器産業株式会社 ロボットの動作教示方法および制御装置
    US5046190A (en) 1988-09-06 1991-09-03 Allen-Bradley Company, Inc. Pipeline image processor
    US5075864A (en) 1988-10-03 1991-12-24 Lucas Industries Public Limited Company Speed and direction sensing apparatus for a vehicle
    US5155775A (en) 1988-10-13 1992-10-13 Brown C David Structured illumination autonomous machine vision system
    US4975972A (en) 1988-10-18 1990-12-04 At&T Bell Laboratories Method and apparatus for surface inspection
    US5054096A (en) 1988-10-24 1991-10-01 Empire Blue Cross/Blue Shield Method and apparatus for converting documents into electronic data for transaction processing
    US4876457A (en) 1988-10-31 1989-10-24 American Telephone And Telegraph Company Method and apparatus for differentiating a planar textured surface from a surrounding background
    US4932065A (en) 1988-11-16 1990-06-05 Ncr Corporation Universal character segmentation scheme for multifont OCR images
    US6067379A (en) 1988-12-09 2000-05-23 Cognex Corporation Method and apparatus for locating patterns in an optical image
    US5717785A (en) 1992-01-30 1998-02-10 Cognex Corporation Method and apparatus for locating patterns in an optical image
    NL8803112A (nl) 1988-12-19 1990-07-16 Elbicon Nv Werkwijze en inrichting voor het sorteren van een stroom voorwerpen in afhankelijkheid van optische eigenschappen van de voorwerpen.
    US5012524A (en) 1989-02-27 1991-04-30 Motorola, Inc. Automatic inspection method
    IL89484A (en) 1989-03-03 1992-08-18 Nct Ltd Numerical Control Tech System for automatic finishing of machined parts
    EP0385009A1 (de) 1989-03-03 1990-09-05 Hewlett-Packard Limited Gerät und Verfahren zur Anwendung bei der Bildverarbeitung
    US5081689A (en) 1989-03-27 1992-01-14 Hughes Aircraft Company Apparatus and method for extracting edges and lines
    US5027419A (en) 1989-03-31 1991-06-25 Atomic Energy Of Canada Limited Optical images by quadrupole convolution
    US4970653A (en) 1989-04-06 1990-11-13 General Motors Corporation Vision method of detecting lane boundaries and obstacles
    US5153925A (en) 1989-04-27 1992-10-06 Canon Kabushiki Kaisha Image processing apparatus
    US5060276A (en) 1989-05-31 1991-10-22 At&T Bell Laboratories Technique for object orientation detection using a feed-forward neural network
    US5253308A (en) 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
    DE3923449A1 (de) 1989-07-15 1991-01-24 Philips Patentverwaltung Verfahren zum bestimmen von kanten in bildern
    US5432525A (en) 1989-07-26 1995-07-11 Hitachi, Ltd. Multimedia telemeeting terminal device, terminal device system and manipulation method thereof
    US5204944A (en) 1989-07-28 1993-04-20 The Trustees Of Columbia University In The City Of New York Separable image warping methods and systems using spatial lookup tables
    US5175808A (en) 1989-09-12 1992-12-29 Pixar Method and apparatus for non-affine image warping
    US5097454A (en) 1989-10-11 1992-03-17 Milan Schwarz Security door with improved sensor for detecting unauthorized passage
    US5201906A (en) 1989-10-11 1993-04-13 Milan Schwarz Anti-piggybacking: sensor system for security door to detect two individuals in one compartment
    JP2810152B2 (ja) 1989-10-13 1998-10-15 株式会社日立製作所 ポイントパターンマッチング方法
    US5063608A (en) 1989-11-03 1991-11-05 Datacube Inc. Adaptive zonal coder
    JP2523222B2 (ja) 1989-12-08 1996-08-07 ゼロックス コーポレーション 画像縮小/拡大方法及び装置
    JP3092809B2 (ja) 1989-12-21 2000-09-25 株式会社日立製作所 検査方法、並びに検査プログラムデータの自動作成機能を有する検査装置
    US5164994A (en) 1989-12-21 1992-11-17 Hughes Aircraft Company Solder joint locator
    JPH03210679A (ja) 1990-01-12 1991-09-13 Hiyuutec:Kk パターンマッチング方法および装置
    US5271068A (en) 1990-03-15 1993-12-14 Sharp Kabushiki Kaisha Character recognition device which divides a single character region into subregions to obtain a character code
    US5151951A (en) 1990-03-15 1992-09-29 Sharp Kabushiki Kaisha Character recognition device which divides a single character region into subregions to obtain a character code
    US5495424A (en) 1990-04-18 1996-02-27 Matsushita Electric Industrial Co., Ltd. Method and apparatus for inspecting solder portions
    DE4013308A1 (de) 1990-04-26 1991-10-31 Zeiss Carl Fa Verfahren zur optischen untersuchung von prueflingen
    US4959898A (en) 1990-05-22 1990-10-02 Emhart Industries, Inc. Surface mount machine with lead coplanarity verifier
    AU7989991A (en) 1990-05-29 1991-12-31 Axiom Innovation Limited Machine vision stereo matching
    JP2690603B2 (ja) 1990-05-30 1997-12-10 ファナック株式会社 視覚センサのキャリブレーション方法
    JP2754871B2 (ja) 1990-06-01 1998-05-20 日産自動車株式会社 走行路検出装置
    US5243607A (en) 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
    US5113565A (en) 1990-07-06 1992-05-19 International Business Machines Corp. Apparatus and method for inspection and alignment of semiconductor chips and conductive lead frames
    JPH0475183A (ja) 1990-07-17 1992-03-10 Mitsubishi Electric Corp 画像の相関度検出装置
    JP2865827B2 (ja) 1990-08-13 1999-03-08 株式会社日立製作所 会議システムにおけるデータ蓄積方法
    US5206820A (en) 1990-08-31 1993-04-27 At&T Bell Laboratories Metrology system for analyzing panel misregistration in a panel manufacturing process and providing appropriate information for adjusting panel manufacturing processes
    JP2591292B2 (ja) 1990-09-05 1997-03-19 日本電気株式会社 画像処理装置とそれを用いた自動光学検査装置
    US5388252A (en) 1990-09-07 1995-02-07 Eastman Kodak Company System for transparent monitoring of processors in a network with display of screen images at a remote station for diagnosis by technical support personnel
    US5115309A (en) 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
    US5083073A (en) 1990-09-20 1992-01-21 Mazada Motor Manufacturing U.S.A. Corp. Method and apparatus for calibrating a vision guided robot
    US5168269A (en) 1990-11-08 1992-12-01 Norton-Lambert Corp. Mouse driven remote communication system
    US5327156A (en) 1990-11-09 1994-07-05 Fuji Photo Film Co., Ltd. Apparatus for processing signals representative of a computer graphics image and a real image including storing processed signals back into internal memory
    US5598345A (en) 1990-11-29 1997-01-28 Matsushita Electric Industrial Co., Ltd. Method and apparatus for inspecting solder portions
    DE69121369T2 (de) 1990-11-30 1997-01-09 Honda Motor Co Ltd Steuervorrichtung für einen sich selbständig bewegenden Körper und Verfahren zur Auswertung der Daten davon
    US5586058A (en) 1990-12-04 1996-12-17 Orbot Instruments Ltd. Apparatus and method for inspection of a patterned object by comparison thereof to a reference
    US5086478A (en) 1990-12-27 1992-02-04 International Business Machines Corporation Finding fiducials on printed circuit boards to sub pixel accuracy
    US5091968A (en) 1990-12-28 1992-02-25 Ncr Corporation Optical character recognition system and method
    US5133022A (en) 1991-02-06 1992-07-21 Recognition Equipment Incorporated Normalizing correlator for video processing
    TW198107B (de) 1991-02-28 1993-01-11 Ibm
    JP3175175B2 (ja) 1991-03-01 2001-06-11 ミノルタ株式会社 合焦検出装置
    US5143436A (en) 1991-03-06 1992-09-01 The United States Of America As Represented By The United States Department Of Energy Ringlight for use in high radiation
    US5265173A (en) 1991-03-20 1993-11-23 Hughes Aircraft Company Rectilinear object image matcher
    FR2674354A1 (fr) 1991-03-22 1992-09-25 Thomson Csf Procede d'analyse de sequences d'images routieres, dispositif pour sa mise en óoeuvre et son application a la detection d'obstacles.
    CA2072198A1 (en) 1991-06-24 1992-12-25 Scott C. Farrand Remote console emulator for computer system manager
    JP2700965B2 (ja) 1991-07-04 1998-01-21 ファナック株式会社 自動キャリブレーション方式
    DE4222804A1 (de) 1991-07-10 1993-04-01 Raytheon Co Einrichtung und verfahren zur automatischen visuellen pruefung elektrischer und elektronischer baueinheiten
    US5477138A (en) 1991-07-23 1995-12-19 Vlsi Technology, Inc. Apparatus and method for testing the calibration of a variety of electronic package lead inspection systems
    DE69222102T2 (de) 1991-08-02 1998-03-26 Grass Valley Group Bedienerschnittstelle für Videoschnittsystem zur Anzeige und interaktive Steuerung von Videomaterial
    DE69232343D1 (de) 1991-08-13 2002-02-14 Canon Kk Bildübertragungsvorrichtung
    US5297238A (en) 1991-08-30 1994-03-22 Cimetrix Incorporated Robot end-effector terminal control frame (TCF) calibration method and device
    US5475766A (en) 1991-09-05 1995-12-12 Kabushiki Kaisha Toshiba Pattern inspection apparatus with corner rounding of reference pattern data
    JPH0568243A (ja) 1991-09-09 1993-03-19 Hitachi Ltd 可変長符号化制御方式
    FR2683340A1 (fr) 1991-11-05 1993-05-07 Sgs Thomson Microelectronics Circuit elevateur au carre de nombres binaires.
    US5315388A (en) 1991-11-19 1994-05-24 General Instrument Corporation Multiple serial access memory for use in feedback systems such as motion compensated television
    US5159281A (en) 1991-11-20 1992-10-27 Nsi Partners Digital demodulator using numerical processor to evaluate period measurements
    US5179419A (en) 1991-11-22 1993-01-12 At&T Bell Laboratories Methods of detecting, classifying and quantifying defects in optical fiber end faces
    US5145432A (en) 1991-11-27 1992-09-08 Zenith Electronics Corporation Optical interprogation system for use in constructing flat tension shadow mask CRTS
    US5337262A (en) 1991-12-03 1994-08-09 Hr Textron Inc. Apparatus for and method of testing hydraulic/pneumatic apparatus using computer controlled test equipment
    US5299269A (en) 1991-12-20 1994-03-29 Eastman Kodak Company Character segmentation using an associative memory for optical character recognition
    US5216503A (en) 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
    US5371690A (en) 1992-01-17 1994-12-06 Cognex Corporation Method and apparatus for inspection of surface mounted devices
    US6002793A (en) 1992-01-30 1999-12-14 Cognex Corporation Machine vision method and apparatus for finding an object orientation angle of a rectilinear object
    EP0664038B1 (de) 1992-02-18 2000-10-11 Neopath, Inc. Verfahren zur identifizierung von objekten mit daten-verarbeitungstechnik
    JP3073599B2 (ja) 1992-04-22 2000-08-07 本田技研工業株式会社 画像のエッジ検出装置
    US5657403A (en) 1992-06-01 1997-08-12 Cognex Corporation Vision coprocessing
    US5594859A (en) 1992-06-03 1997-01-14 Digital Equipment Corporation Graphical user interface for video teleconferencing
    US5715385A (en) 1992-07-10 1998-02-03 Lsi Logic Corporation Apparatus for 2-D affine transformation of images
    US5475803A (en) 1992-07-10 1995-12-12 Lsi Logic Corporation Method for 2-D affine transformation of images
    JP2597802B2 (ja) 1992-08-04 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション イメージ・キャプチャ装置を制御するための方法、イメージ・キャプチャ装置及びユーザ・インターフェース
    GB2270581A (en) 1992-09-15 1994-03-16 Ibm Computer workstation
    US5367667A (en) 1992-09-25 1994-11-22 Compaq Computer Corporation System for performing remote computer system diagnostic tests
    CA2146451C (en) 1992-10-07 1999-09-07 Octrooibureau Kisch N.V. System for detecting and classifying movement of objects along a passage
    JP3225635B2 (ja) 1992-10-20 2001-11-05 株式会社日立製作所 建設支援装置及び方法
    US5387768A (en) 1993-09-27 1995-02-07 Otis Elevator Company Elevator passenger detector and door control system which masks portions of a hall image to determine motion and court passengers
    US5506617A (en) 1992-12-10 1996-04-09 Eastman Kodak Company Electronic camera incorporating a computer-compatible bus interface
    EP0604052B1 (de) 1992-12-23 2001-08-08 AT&T Corp. Verfahren und System zum Lokalisieren von Objekten mit einer Unterpixelpräzision
    US5367439A (en) 1992-12-24 1994-11-22 Cognex Corporation System for frontal illumination
    US5859923A (en) 1992-12-29 1999-01-12 Cognex Corporation Mark quality inspection apparatus and method
    US5529138A (en) 1993-01-22 1996-06-25 Shaw; David C. H. Vehicle collision avoidance system
    US5461417A (en) 1993-02-16 1995-10-24 Northeast Robotics, Inc. Continuous diffuse illumination method and apparatus
    US5608872A (en) 1993-03-19 1997-03-04 Ncr Corporation System for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters
    US5481712A (en) 1993-04-06 1996-01-02 Cognex Corporation Method and apparatus for interactively generating a computer program for machine vision analysis of an object
    JP3051279B2 (ja) 1993-05-13 2000-06-12 シャープ株式会社 バンプ外観検査方法およびバンプ外観検査装置
    JPH06325181A (ja) 1993-05-17 1994-11-25 Mitsubishi Electric Corp パターン認識方法
    JP3205432B2 (ja) 1993-06-10 2001-09-04 松下電器産業株式会社 装着部品検査装置と装着部品検査方法
    JP3169483B2 (ja) 1993-06-25 2001-05-28 富士通株式会社 道路環境認識装置
    US5455933A (en) 1993-07-14 1995-10-03 Dell Usa, L.P. Circuit and method for remote diagnosis of personal computers
    DE69322775T2 (de) 1993-08-12 1999-07-22 International Business Machines Corp., Armonk, N.Y. Verfahren zur Inspektion vom Verbindungskugel-Satz eines intergrierten Schaltungsmoduls
    US5809658A (en) 1993-09-29 1998-09-22 Snap-On Technologies, Inc. Method and apparatus for calibrating cameras used in the alignment of motor vehicle wheels
    US5548326A (en) 1993-10-06 1996-08-20 Cognex Corporation Efficient image registration
    US5640199A (en) 1993-10-06 1997-06-17 Cognex Corporation Automated optical inspection apparatus
    US5532739A (en) 1993-10-06 1996-07-02 Cognex Corporation Automated optical inspection apparatus
    EP0647920A2 (de) 1993-10-08 1995-04-12 AT&T Corp. Verfahren zur Extraktion der Bildhöhe- und Breite aus Bildliniendaten
    US5652658A (en) 1993-10-19 1997-07-29 View Engineering, Inc. Grid array inspection system and method
    US5544256A (en) 1993-10-22 1996-08-06 International Business Machines Corporation Automated defect classification system
    US5805722A (en) 1993-11-22 1998-09-08 Cognex Corporation Method and apparatus for locating, inspecting, and placing large leaded devices
    US5511015A (en) 1993-11-30 1996-04-23 Loral Vought Systems Corporation Double-accumulator implementation of the convolution function
    US5434927A (en) 1993-12-08 1995-07-18 Minnesota Mining And Manufacturing Company Method and apparatus for machine vision classification and tracking
    US5500906A (en) 1994-01-14 1996-03-19 Cognex Corporation Locating curvilinear objects using feathered fiducials
    CA2113752C (en) 1994-01-19 1999-03-02 Stephen Michael Rooks Inspection system for cross-sectional imaging
    US5519840A (en) 1994-01-24 1996-05-21 At&T Corp. Method for implementing approximate data structures using operations on machine words
    US5581625A (en) 1994-01-31 1996-12-03 International Business Machines Corporation Stereo vision system for counting items in a queue
    US5583954A (en) 1994-03-01 1996-12-10 Cognex Corporation Methods and apparatus for fast correlation
    US5526050A (en) 1994-03-31 1996-06-11 Cognex Corporation Methods and apparatus for concurrently acquiring video data from multiple video data sources
    US5550763A (en) 1994-05-02 1996-08-27 Michael; David J. Using cone shaped search models to locate ball bonds on wire bonded devices
    US5642158A (en) 1994-05-02 1997-06-24 Cognex Corporation Method and apparatus to detect capillary indentations
    US5581632A (en) 1994-05-02 1996-12-03 Cognex Corporation Method and apparatus for ball bond inspection system
    DE4415990A1 (de) 1994-05-06 1995-11-23 Philips Patentverwaltung Verfahren zur Wiedergabe insbesondere einer digitalen Röntgenaufnahme als sichtbares Bild sowie Anordnung zur Durchführung des Verfahrens
    US5557410A (en) 1994-05-26 1996-09-17 Lockheed Missiles & Space Company, Inc. Method of calibrating a three-dimensional optical measurement system
    US5559551A (en) 1994-05-30 1996-09-24 Sony Corporation Subject tracking apparatus
    US5495537A (en) 1994-06-01 1996-02-27 Cognex Corporation Methods and apparatus for machine vision template matching of images predominantly having generally diagonal and elongate features
    US5602937A (en) 1994-06-01 1997-02-11 Cognex Corporation Methods and apparatus for machine vision high accuracy searching
    US6308644B1 (en) 1994-06-08 2001-10-30 William Diaz Fail-safe access control chamber security system
    JP3513916B2 (ja) 1994-06-20 2004-03-31 株式会社ニコン カメラシステム
    US5539409A (en) 1994-06-30 1996-07-23 Westinghouse Electric Corp. Apparatus and method for windshear data processing
    JP3603285B2 (ja) 1994-07-21 2004-12-22 株式会社セガ 画像処理装置
    US5640200A (en) 1994-08-31 1997-06-17 Cognex Corporation Golden template comparison using efficient image registration
    FR2725278B1 (fr) 1994-10-04 1997-08-14 Telecommunications Sa Equipement de reconnaissance tridimensionnelle de formes
    US5649032A (en) 1994-11-14 1997-07-15 David Sarnoff Research Center, Inc. System for automatically aligning images to form a mosaic image
    US5496106A (en) 1994-12-13 1996-03-05 Apple Computer, Inc. System and method for generating a contrast overlay as a focus assist for an imaging device
    US5961571A (en) 1994-12-27 1999-10-05 Siemens Corporated Research, Inc Method and apparatus for automatically tracking the location of vehicles
    US5642106A (en) 1994-12-27 1997-06-24 Siemens Corporate Research, Inc. Visual incremental turn detector
    JPH08186761A (ja) 1994-12-30 1996-07-16 Sony Corp ビデオカメラ装置及びビデオカメラ露出制御方法
    US6028626A (en) 1995-01-03 2000-02-22 Arc Incorporated Abnormality detection and surveillance system
    EP0722149B1 (de) 1995-01-13 2003-05-02 STMicroelectronics S.r.l. Hough-Transform mit Fuzzy-Gradient und Wahl
    US5796386A (en) 1995-01-23 1998-08-18 International Business Machines Corporation Precise calibration procedure for sensor-based view point control system
    JPH08201021A (ja) * 1995-01-23 1996-08-09 Mazda Motor Corp キャリブレーション方法
    US5627915A (en) 1995-01-31 1997-05-06 Princeton Video Image, Inc. Pattern recognition system employing unlike templates to detect objects having distinctive features in a video field
    US5850466A (en) 1995-02-22 1998-12-15 Cognex Corporation Golden template comparison for rotated and/or scaled images
    US5574668A (en) 1995-02-22 1996-11-12 Beaty; Elwin M. Apparatus and method for measuring ball grid arrays
    US5581250A (en) 1995-02-24 1996-12-03 Khvilivitzky; Alexander Visual collision avoidance system for unmanned aerial vehicles
    US5696848A (en) 1995-03-09 1997-12-09 Eastman Kodak Company System for creating a high resolution image from a sequence of lower resolution motion images
    US5553859A (en) 1995-03-22 1996-09-10 Lazer-Tron Corporation Arcade game for sensing and validating objects
    EP0815688B1 (de) 1995-03-24 2000-05-10 PPT Vision, Inc. Maschinensichtsteuersystem
    US5566877A (en) 1995-05-01 1996-10-22 Motorola Inc. Method for inspecting a semiconductor device
    US5676302A (en) 1995-06-02 1997-10-14 Cognex Corporation Method and apparatus for crescent boundary thresholding on wire-bonded leads
    WO1996039619A1 (en) 1995-06-06 1996-12-12 Kla Instruments Corporation Optical inspection of a specimen using multi-channel responses from the specimen
    US6002738A (en) 1995-07-07 1999-12-14 Silicon Graphics, Inc. System and method of performing tomographic reconstruction and volume rendering using texture mapping
    US5825913A (en) 1995-07-18 1998-10-20 Cognex Corporation System for finding the orientation of a wafer
    DE69616191T2 (de) 1995-07-19 2002-03-14 Matsushita Electric Industrial Co., Ltd. Bewegungsmuster-Erkennungseinrichtung zum Bestimmen der Bewegung von Menschen sowie zum Zählen vorbeigegangener Personen
    US5801966A (en) 1995-07-24 1998-09-01 Cognex Corporation Machine vision methods and articles of manufacture for determination of convex hull and convex hull angle
    US6026176A (en) 1995-07-25 2000-02-15 Cognex Corporation Machine vision methods and articles of manufacture for ball grid array inspection
    US5757956A (en) 1995-10-31 1998-05-26 Cognex Corp. Template rotating method for locating bond pads in an image
    US5754679A (en) 1995-10-31 1998-05-19 Cognex Corp. Image rotating method for locating bond pads in an image
    US5715369A (en) 1995-11-27 1998-02-03 Microsoft Corporation Single processor programmable speech recognition test system
    US5673334A (en) 1995-11-30 1997-09-30 Cognex Corporation Method and apparatus for inspection of characteristics on non-rigid packages
    US5987172A (en) 1995-12-06 1999-11-16 Cognex Corp. Edge peak contour tracker
    US6870566B1 (en) 1995-12-07 2005-03-22 Canon Kabushiki Kaisha Image sensing system for sensing an image and converting the image into image signals with a controlled operating rate
    US20020014533A1 (en) * 1995-12-18 2002-02-07 Xiaxun Zhu Automated object dimensioning system employing contour tracing, vertice detection, and forner point detection and reduction methods on 2-d range data maps
    US5825483A (en) 1995-12-19 1998-10-20 Cognex Corporation Multiple field of view calibration plate having a reqular array of features for use in semiconductor manufacturing
    US5768443A (en) 1995-12-19 1998-06-16 Cognex Corporation Method for coordinating multiple fields of view in multi-camera
    US5796868A (en) 1995-12-28 1998-08-18 Cognex Corporation Object edge point filtering system for machine vision
    US5751853A (en) 1996-01-02 1998-05-12 Cognex Corporation Locating shapes in two-dimensional space curves
    US5845007A (en) 1996-01-02 1998-12-01 Cognex Corporation Machine vision method and apparatus for edge-based image histogram analysis
    SG42307A1 (en) 1996-01-09 1997-08-15 Peng Seng Toh Measurement and inspection of leads on integrated circuit packages
    US5739846A (en) 1996-02-05 1998-04-14 Universal Instruments Corporation Method of inspecting component placement accuracy for each first selected circuit board to be assembled of a batch
    US5872870A (en) 1996-02-16 1999-02-16 Cognex Corporation Machine vision methods for identifying extrema of objects in rotated reference frames
    US5742037A (en) 1996-03-07 1998-04-21 Cognex Corp. Method and apparatus for high speed identification of objects having an identifying feature
    US5909504A (en) 1996-03-15 1999-06-01 Cognex Corporation Method of testing a machine vision inspection system
    US5949901A (en) 1996-03-21 1999-09-07 Nichani; Sanjay Semiconductor device image inspection utilizing image subtraction and threshold imaging
    US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
    US6298149B1 (en) 1996-03-21 2001-10-02 Cognex Corporation Semiconductor device image inspection with contrast enhancement
    US5848189A (en) 1996-03-25 1998-12-08 Focus Automation Systems Inc. Method, apparatus and system for verification of patterns
    JP3200663B2 (ja) 1996-03-29 2001-08-20 技研トラステム株式会社 移動体検出方法,移動体検出装置,及び移動体計数装置
    US5978502A (en) 1996-04-01 1999-11-02 Cognex Corporation Machine vision methods for determining characteristics of three-dimensional objects
    WO1997039416A2 (en) 1996-04-02 1997-10-23 Cognex Corporation Image formation apparatus for viewing indicia on a planar specular substrate
    US5818443A (en) 1996-05-06 1998-10-06 Cognex Corporation Single step coarse registration and inspection of circular objects
    US5847714A (en) 1996-05-31 1998-12-08 Hewlett Packard Company Interpolation method and apparatus for fast image magnification
    US5835099A (en) 1996-06-26 1998-11-10 Xerox Corporation Representing a region of a color image using a space-color separable model
    EP0817123B1 (de) 1996-06-27 2001-09-12 Kabushiki Kaisha Toshiba Stereoskopisches Display-System und -Verfahren
    US5859924A (en) 1996-07-12 1999-01-12 Robotic Vision Systems, Inc. Method and system for measuring object features
    WO1998004882A1 (en) 1996-07-12 1998-02-05 Linker Frank V Jr Split optics arrangement for vision inspection/sorter module
    JP3233584B2 (ja) 1996-09-04 2001-11-26 松下電器産業株式会社 通過人数検知装置
    US6026172A (en) 1996-09-06 2000-02-15 Lewis, Jr.; Clarence A. System and method for zoom lens calibration and method using same
    JP3064928B2 (ja) 1996-09-20 2000-07-12 日本電気株式会社 被写体抽出方式
    US6408109B1 (en) 1996-10-07 2002-06-18 Cognex Corporation Apparatus and method for detecting and sub-pixel location of edges in a digital image
    US5918196A (en) 1996-11-29 1999-06-29 Cognex Corporation Vision system for analyzing solid-of-revolution radius profile
    IT1289712B1 (it) 1996-12-04 1998-10-16 Ist Trentino Di Cultura Procedimento e dispositivo per la rilevazione ed il conteggio automatico di corpi che attraversano un varco
    US5912984A (en) 1996-12-19 1999-06-15 Cognex Corporation Method and apparatus for in-line solder paste inspection
    US5912768A (en) 1996-12-31 1999-06-15 Cognex Corporation Depth-from-defocus optical apparatus with invariance to surface reflectance properties
    US5953130A (en) 1997-01-06 1999-09-14 Cognex Corporation Machine vision methods and apparatus for machine vision illumination of an object
    DE19700811A1 (de) 1997-01-13 1998-07-16 Heinrich Landert Verfahren und Vorrichtung zur Ansteuerung von Türanlage in Abhängigkeit von der Anwesenheit von Personen
    US5933523A (en) 1997-03-18 1999-08-03 Cognex Corporation Machine vision method and apparatus for determining the position of generally rectangular devices using boundary extracting features
    US6075881A (en) 1997-03-18 2000-06-13 Cognex Corporation Machine vision methods for identifying collinear sets of points from an image
    US5974169A (en) 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
    US6069668A (en) 1997-04-07 2000-05-30 Pinnacle Systems, Inc. System and method for producing video effects on live-action video
    US6005965A (en) 1997-04-07 1999-12-21 Komatsu Ltd. Inspection apparatus for semiconductor packages
    US5917937A (en) 1997-04-15 1999-06-29 Microsoft Corporation Method for performing stereo matching to recover depths, colors and opacities of surface elements
    US6215898B1 (en) 1997-04-15 2001-04-10 Interval Research Corporation Data processing system and method
    US6141033A (en) 1997-05-15 2000-10-31 Cognex Corporation Bandwidth reduction of multichannel images for machine vision
    US5878152A (en) 1997-05-21 1999-03-02 Cognex Corporation Depth from focal gradient analysis using object texture removal by albedo normalization
    US6295367B1 (en) 1997-06-19 2001-09-25 Emtera Corporation System and method for tracking movement of objects in a scene using correspondence graphs
    US6118540A (en) 1997-07-11 2000-09-12 Semiconductor Technologies & Instruments, Inc. Method and apparatus for inspecting a workpiece
    JP3077745B2 (ja) 1997-07-31 2000-08-14 日本電気株式会社 データ処理方法および装置、情報記憶媒体
    US6016152A (en) 1997-08-01 2000-01-18 Avid Technology, Inc. Apparatus and method for non-uniform image scaling
    WO1999014707A1 (en) 1997-09-16 1999-03-25 Invisitech Corporation Personal identification system using multiple parameters having low cross-correlation
    US6205242B1 (en) 1997-09-29 2001-03-20 Kabushiki Kaisha Toshiba Image monitor apparatus and a method
    US6044530A (en) 1997-10-02 2000-04-04 Stanley Fastening Systems, L.P. Slotted clip and method
    US5974365A (en) 1997-10-23 1999-10-26 The United States Of America As Represented By The Secretary Of The Army System for measuring the location and orientation of an object
    US5900975A (en) 1997-10-30 1999-05-04 Cognex Corporation Ghost image extinction in an active range sensor
    US6173070B1 (en) 1997-12-30 2001-01-09 Cognex Corporation Machine vision method using search models to find features in three dimensional images
    US6025854A (en) 1997-12-31 2000-02-15 Cognex Corporation Method and apparatus for high speed image acquisition
    US6072898A (en) * 1998-01-16 2000-06-06 Beaty; Elwin M. Method and apparatus for three dimensional inspection of electronic components
    US6236769B1 (en) 1998-01-28 2001-05-22 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with zero or other uniform offsets
    US6282328B1 (en) 1998-01-28 2001-08-28 Cognex Corporation Machine vision systems and methods for morphological transformation of an image with non-uniform offsets
    US6215915B1 (en) 1998-02-20 2001-04-10 Cognex Corporation Image processing methods and apparatus for separable, general affine transformation of an image
    US6381375B1 (en) 1998-02-20 2002-04-30 Cognex Corporation Methods and apparatus for generating a projection of an image
    US6516092B1 (en) 1998-05-29 2003-02-04 Cognex Corporation Robust sub-model shape-finder
    JP2000073657A (ja) 1998-09-01 2000-03-07 Mitsubishi Electric Corp 自動ドアシステム
    JP3459000B2 (ja) 1998-09-22 2003-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のクライアントエリアに表示されたオブジェクトの表示方法およびそれに用いる表示装置
    DE19848765C2 (de) 1998-10-22 2000-12-21 Brainlab Med Computersyst Gmbh Positionsverifizierung in Kamerabildern
    US6279579B1 (en) * 1998-10-23 2001-08-28 Varian Medical Systems, Inc. Method and system for positioning patients for medical treatment procedures
    US6389029B1 (en) 1998-11-10 2002-05-14 Nortel Networks Limited Local area network incorporating universal serial bus protocol
    US6381366B1 (en) 1998-12-18 2002-04-30 Cognex Corporation Machine vision methods and system for boundary point-based comparison of patterns and images
    JP4453119B2 (ja) 1999-06-08 2010-04-21 ソニー株式会社 カメラ・キャリブレーション装置及び方法、画像処理装置及び方法、プログラム提供媒体、並びに、カメラ
    US6477275B1 (en) 1999-06-16 2002-11-05 Coreco Imaging, Inc. Systems and methods for locating a pattern in an image
    US6304050B1 (en) 1999-07-19 2001-10-16 Steven B. Skaar Means and method of robot control relative to an arbitrary surface using camera-space manipulation
    US6341016B1 (en) * 1999-08-06 2002-01-22 Michael Malione Method and apparatus for measuring three-dimensional shape of object
    US6166811A (en) 1999-08-12 2000-12-26 Perceptron, Inc. Robot-based gauging system for determining three-dimensional measurement data
    US6963661B1 (en) 1999-09-09 2005-11-08 Kabushiki Kaisha Toshiba Obstacle detection system and method therefor
    US6710770B2 (en) 2000-02-11 2004-03-23 Canesta, Inc. Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
    US6594623B1 (en) 1999-11-12 2003-07-15 Cognex Technology And Investment Corporation Determining three-dimensional orientation of objects
    US6297844B1 (en) 1999-11-24 2001-10-02 Cognex Corporation Video safety curtain
    US6678394B1 (en) 1999-11-30 2004-01-13 Cognex Technology And Investment Corporation Obstacle detection system
    US6684402B1 (en) 1999-12-01 2004-01-27 Cognex Technology And Investment Corporation Control methods and apparatus for coupling multiple image acquisition devices to a digital data processor
    US7106898B2 (en) * 1999-12-06 2006-09-12 California Institute Of Technology 3D scanning using shadows
    US7042492B2 (en) 1999-12-10 2006-05-09 The Stanley Works Automatic door assembly with video imaging device
    US6990228B1 (en) * 1999-12-17 2006-01-24 Canon Kabushiki Kaisha Image processing apparatus
    US7479980B2 (en) 1999-12-23 2009-01-20 Wespot Technologies Ab Monitoring system
    US6819353B2 (en) 1999-12-23 2004-11-16 Wespot Ab Multiple backgrounds
    JP3873554B2 (ja) 1999-12-27 2007-01-24 株式会社日立製作所 監視装置、監視プログラムが記録された記録媒体
    US6940545B1 (en) 2000-02-28 2005-09-06 Eastman Kodak Company Face detecting camera and method
    US6301440B1 (en) 2000-04-13 2001-10-09 International Business Machines Corp. System and method for automatically setting image acquisition controls
    WO2001080761A2 (en) 2000-04-19 2001-11-01 Orametrix, Inc. Interactive orthodontic care system based on intra-oral scanning of teeth
    US6469734B1 (en) 2000-04-29 2002-10-22 Cognex Corporation Video safety detector with shadow elimination
    US6701005B1 (en) 2000-04-29 2004-03-02 Cognex Corporation Method and apparatus for three-dimensional object segmentation
    JP2003533685A (ja) 2000-05-16 2003-11-11 シュタインビフラー オプトテヒニク ゲーエムベーハー 物体の3次元形状測定方法及び装置
    US6718074B1 (en) 2000-06-02 2004-04-06 Cognex Corporation Method and apparatus for inspection for under-resolved features in digital images
    US6768509B1 (en) 2000-06-12 2004-07-27 Intel Corporation Method and apparatus for determining points of interest on an image of a camera calibration object
    US6624899B1 (en) 2000-06-29 2003-09-23 Schmitt Measurement Systems, Inc. Triangulation displacement sensor
    JP2002031513A (ja) * 2000-07-14 2002-01-31 Minolta Co Ltd 3次元測定装置
    US7522745B2 (en) 2000-08-31 2009-04-21 Grasso Donald P Sensor and imaging system
    US7082209B2 (en) 2000-08-31 2006-07-25 Hitachi Kokusai Electric, Inc. Object detecting method and object detecting apparatus and intruding object monitoring apparatus employing the object detecting method
    US6720874B2 (en) 2000-09-29 2004-04-13 Ids Systems, Inc. Portal intrusion detection apparatus and method
    US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
    US6680745B2 (en) 2000-11-10 2004-01-20 Perceptive Network Technologies, Inc. Videoconferencing method with tracking of face and dynamic bandwidth allocation
    US6690354B2 (en) 2000-11-19 2004-02-10 Canesta, Inc. Method for enhancing performance in a system utilizing an array of sensors that sense at least two-dimensions
    US6751338B1 (en) 2000-12-15 2004-06-15 Cognex Corporation System and method of using range image data with machine vision tools
    US6681151B1 (en) 2000-12-15 2004-01-20 Cognex Technology And Investment Corporation System and method for servoing robots based upon workpieces with fiducial marks using machine vision
    US6798925B1 (en) 2000-12-22 2004-09-28 Cognex Corporation Method and apparatus for calibrating an image acquisition system
    US6751361B1 (en) 2000-12-22 2004-06-15 Cognex Corporation Method and apparatus for performing fixturing in a machine vision system
    US7079669B2 (en) 2000-12-27 2006-07-18 Mitsubishi Denki Kabushiki Kaisha Image processing device and elevator mounting it thereon
    US7006669B1 (en) * 2000-12-31 2006-02-28 Cognex Corporation Machine vision method and apparatus for thresholding images of non-uniform materials
    JP4639293B2 (ja) 2001-02-27 2011-02-23 オプテックス株式会社 自動ドアセンサ
    JP2002250607A (ja) 2001-02-27 2002-09-06 Optex Co Ltd 物体検知センサ
    EP1245931A1 (de) * 2001-03-31 2002-10-02 Leica Geosystems AG Verfahren zur Kalibrierung eines Messinstrumentes
    JP3698420B2 (ja) 2001-06-12 2005-09-21 シャープ株式会社 画像監視装置及び画像監視方法及び画像監視処理プログラム
    US7203337B2 (en) 2001-06-21 2007-04-10 Wespot Ab Adjusted filters
    JP2003015019A (ja) 2001-06-27 2003-01-15 Minolta Co Ltd 被写体検出装置およびカメラ
    US7302080B2 (en) 2001-09-28 2007-11-27 Secumanagement B.V. System for installation
    SE0103279L (sv) 2001-10-02 2003-04-03 Integrated Vision Prod Förfarande för mätning av ljusspridning och geometrisk profil
    US6993177B1 (en) * 2001-11-02 2006-01-31 Cognex Technology And Investment Corporation Gauging based on global alignment and sub-models
    KR100484640B1 (ko) 2002-01-14 2005-04-20 삼성에스디아이 주식회사 생물분자 고정용 올리고머, 및 이를 포함하는 생물분자고정화 조성물
    JP3799019B2 (ja) * 2002-01-16 2006-07-19 オリンパス株式会社 ステレオ撮影装置及びステレオ撮影装置の撮影方法
    CA2369845A1 (en) * 2002-01-31 2003-07-31 Braintech, Inc. Method and apparatus for single camera 3d vision guided robotics
    EP1493130A1 (de) 2002-04-08 2005-01-05 Newton Security, Inc. Erfassen, alarm, aufzeichnen und verhindern des mehrpersonenzuganges und des zuganges in umgekehrter richtung mittels eines bildverarbeitungsystems
    AUPS170902A0 (en) 2002-04-12 2002-05-16 Canon Kabushiki Kaisha Face detection and tracking in a video sequence
    US7085622B2 (en) 2002-04-19 2006-08-01 Applied Material, Inc. Vision system
    US7003136B1 (en) 2002-04-26 2006-02-21 Hewlett-Packard Development Company, L.P. Plan-view projections of depth image data for object tracking
    US7088236B2 (en) 2002-06-26 2006-08-08 It University Of Copenhagen Method of and a system for surveillance of an environment utilising electromagnetic waves
    JP4226550B2 (ja) 2002-07-25 2009-02-18 ソリューショニックス コーポレーション 光学式マーカーを用いた三次元測定データ自動整列装置及びその方法
    JP2004062980A (ja) 2002-07-29 2004-02-26 Toyota Gakuen 磁性合金、磁気記録媒体、および磁気記録再生装置
    US7397929B2 (en) 2002-09-05 2008-07-08 Cognex Technology And Investment Corporation Method and apparatus for monitoring a passageway using 3D images
    US7400744B2 (en) 2002-09-05 2008-07-15 Cognex Technology And Investment Corporation Stereo door sensor
    US20040061781A1 (en) 2002-09-17 2004-04-01 Eastman Kodak Company Method of digital video surveillance utilizing threshold detection and coordinate tracking
    JP4083554B2 (ja) * 2002-11-29 2008-04-30 株式会社森精機製作所 3次元モデルデータ生成装置
    US6999600B2 (en) 2003-01-30 2006-02-14 Objectvideo, Inc. Video scene background maintenance using change detection and classification
    JP3944091B2 (ja) 2003-02-06 2007-07-11 パルステック工業株式会社 3次元画像データ生成方法
    US7373270B2 (en) 2003-03-26 2008-05-13 Sony Corporation Diagnosing device for stereo camera mounted on robot, and diagnostic method of stereo camera mounted on robot apparatus
    US6919549B2 (en) 2003-04-11 2005-07-19 Canesta, Inc. Method and system to differentially enhance sensor dynamic range
    US7471846B2 (en) 2003-06-26 2008-12-30 Fotonation Vision Limited Perfecting the effect of flash within an image acquisition devices using face detection
    DE10333802B4 (de) 2003-07-24 2005-09-08 Steinbichler Optotechnik Gmbh Verfahren und Vorrichtung zum Prüfen von Reifen
    US7538801B2 (en) 2003-09-15 2009-05-26 Micron Technology, Inc. Region-based auto gain control and auto exposure control method and apparatus
    US7127083B2 (en) 2003-11-17 2006-10-24 Vidient Systems, Inc. Video surveillance system with object detection and probability scoring based on object class
    DE102004003941A1 (de) * 2004-01-26 2005-08-11 Carl Zeiss Industrielle Messtechnik Gmbh Bestimmung von Koordinaten eines Werkstücks
    US7636700B2 (en) * 2004-02-03 2009-12-22 Hrl Laboratories, Llc Object recognition system incorporating swarming domain classifiers
    US7609893B2 (en) * 2004-03-03 2009-10-27 Trw Automotive U.S. Llc Method and apparatus for producing classifier training images via construction and manipulation of a three-dimensional image model
    US7356425B2 (en) 2005-03-14 2008-04-08 Ge Security, Inc. Method and system for camera autocalibration
    US7801330B2 (en) 2005-06-24 2010-09-21 Objectvideo, Inc. Target detection and tracking from video streams
    US8111904B2 (en) 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
    EP2153410B1 (de) 2007-05-29 2016-11-16 Cognex Technology and Investment Corporation 3d-zusammenstellungsverifikation aus 2d-bildern
    US7777300B2 (en) 2007-09-18 2010-08-17 Infineon Technologies Ag Semiconductor device with capacitor
    US8442304B2 (en) 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision

    Patent Citations (18)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    EP0328687A1 (de) 1987-08-22 1989-08-23 Fanuc Ltd. Eicheinrichtung für ein sichtsensorsystem
    US6137893A (en) 1996-10-07 2000-10-24 Cognex Corporation Machine vision calibration targets and methods of determining their location and orientation in an image
    US5960125A (en) 1996-11-21 1999-09-28 Cognex Corporation Nonfeedback-based machine vision method for determining a calibration relationship between a camera and a moveable object
    US6301396B1 (en) 1996-11-21 2001-10-09 Cognex Corporation Nonfeedback-based machine vision methods for determining a calibration relationship between a camera and a moveable object
    US5978521A (en) 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine calibration locations of multiple cameras that image a common object
    US5978080A (en) 1997-09-25 1999-11-02 Cognex Corporation Machine vision methods using feedback to determine an orientation, pixel width and pixel height of a field of view
    US6856698B1 (en) 1997-11-26 2005-02-15 Cognex Corporation Fast high-accuracy multi-dimensional pattern localization
    US6850646B1 (en) 1997-12-31 2005-02-01 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection
    US6658145B1 (en) 1997-12-31 2003-12-02 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection
    WO2000008856A1 (en) 1998-08-07 2000-02-17 Koninklijke Philips Electronics N.V. Figure tracking in a multiple camera system
    US20050089214A1 (en) * 1999-03-08 2005-04-28 Rudger Rubbert Scanning system and calibration method for capturing precise three-dimensional information of objects
    US6639624B1 (en) 1999-12-30 2003-10-28 Cognex Corporation Machine vision methods for inspection of leaded components
    US6748104B1 (en) 2000-03-24 2004-06-08 Cognex Corporation Methods and apparatus for machine vision inspection using single and multiple templates or patterns
    US6728582B1 (en) * 2000-12-15 2004-04-27 Cognex Corporation System and method for determining the position of an object in three dimensions using a machine vision system with two cameras
    US6771808B1 (en) 2000-12-15 2004-08-03 Cognex Corporation System and method for registering patterns transformed in six degrees of freedom using machine vision
    US20030025788A1 (en) 2001-08-06 2003-02-06 Mitsubishi Electric Research Laboratories, Inc. Hand-held 3D vision system
    US20030156189A1 (en) 2002-01-16 2003-08-21 Akira Utsumi Automatic camera calibration method
    US20030202691A1 (en) 2002-04-24 2003-10-30 Paul Beardsley Calibration of multiple cameras for a turntable-based 3D scanner

    Also Published As

    Publication number Publication date
    JP2009511881A (ja) 2009-03-19
    WO2007044629A2 (en) 2007-04-19
    DE112006002674T5 (de) 2008-09-11
    US8111904B2 (en) 2012-02-07
    US20070081714A1 (en) 2007-04-12
    JP4976402B2 (ja) 2012-07-18
    WO2007044629A3 (en) 2007-10-04

    Similar Documents

    Publication Publication Date Title
    DE112006002674B4 (de) Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem
    DE112010002174B4 (de) Verfahren und Vorrichtung für ein praktisches 3D-Sehsystem
    DE102006005036B4 (de) Vorrichtung und Verfahren zur verbesserten Formcharakterisierung
    DE69806894T2 (de) Verfahren zur messung der position und der ausrichtung von einer oder mehreren bewegten kameras
    DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
    DE112010005008B4 (de) System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb
    DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
    DE102008041523B4 (de) Verfahren zur dreidimensionalen Messung und Vorrichtung zur dreidimensionalen Messung
    DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
    EP1969310B1 (de) Verfahren zur optischen fahrwerksvermessung
    DE102006055758B4 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
    AT506110B1 (de) Vorrichtung und verfahren zur erfassung von körpermassdaten und konturdaten
    Wasielewski et al. Calibration of a multi-sensor system laser rangefinder/camera
    DE102020101191B4 (de) Mikroskop und Verfahren zum Ermitteln eines Messortes eines Mikroskops
    DE10137241A1 (de) Registrierung von Tiefenbildern mittels optisch projizierter Marken
    EP1456605B1 (de) Verfahren und anordnung zur erfassung der raumform eines objekts
    DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
    EP1420264A1 (de) Verfahren und Vorrichtung zur Kalibrierung eines Messsystems
    DE102016001337A1 (de) Werkstückpositionierungsvorrichtung, die eine Bildgabeeinheit verwendet
    DE69808431T2 (de) Verfahren und vorrichtung zum graphischen abbilden von strahlungsquellen
    DE10135300A1 (de) Verfahren und Einrichtung zum Messen dreidimensionaler Information
    DE112008002547T5 (de) Bildrekonstruktionsverfahren mittels Röntgenvolumenphotographie
    DE212012000054U1 (de) Geräte, Aufbau, Schaltungen und Systeme zum Beurteilen, Einschätzen und/oder Bestimmen relativer Positionen, Ausrichtungen, Orientierungen und Rotationswinkel eines Teils eines Knochens und zwischen zwei oder mehreren Teilen eines oder mehrerer Knochen
    DE10238579A1 (de) Bildbasiertes Untersuchungssystem, das eine Positionierungskompensation für nichtplanare Ziele umfaßt
    DE102004058655A1 (de) Verfahren und Anordnung zum Messen von Geometrien eines Objektes mittels eines Koordinatenmessgerätes

    Legal Events

    Date Code Title Description
    OP8 Request for examination as to paragraph 44 patent law
    R016 Response to examination communication
    R016 Response to examination communication
    R016 Response to examination communication
    R018 Grant decision by examination section/examining division
    R020 Patent grant now final
    R079 Amendment of ipc main class

    Free format text: PREVIOUS MAIN CLASS: G06K0009000000

    Ipc: G06V0010000000