DE112006002674B4 - Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem - Google Patents
Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/147—Details of sensors, e.g. sensor lenses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition 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 -
US 2003/0025788 A1 - Die
WO 2000/08856 -
US2003/0156189 A1 - 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 System10 für Maschinensichtigkeit gemäß der Erfindung, das imstande ist, die Pose eines Objekts12 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-Achsen14 ,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 Achse16 und das Gieren; die Position längs der Achsen14 -18 ; Rollen; usw.). Die veranschaulichten Achsen14 -18 sind mit einem Rahmen20 des Sichtsystems10 ausgerichtet; obwohl in anderen Ausführungsformen andere Bezugsrahmen verwendet werden können. Der Rahmen20 der veranschaulichten Ausführungsform ist figurativ durch Kameraträger20a und die Plattform20b 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 Digitaldatenprozessor22 und Bilderfassungsvorrichtungen24 . Der Digitaldatenprozessor22 , 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 Pentium4 -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 Objekts12 aus von Erfassungsvorrichtungen24 zugeführten Bildern zu bestimmen. Der Digitaldatenprozessor kann eine Anzeige22a , wie gezeigt, sowie eine Tastatur22b , eine Maus22c 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 Objekts12 im sichtbaren oder einem anderen relevanten Spektrum zu erfassen. Ohne Verlust der Allgemeinheit werden in dem folgenden Text die Vorrichtungen24 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 Vorrichtungen24 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 Objekts24 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 Vorrichtung24 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 Kalibrierungsschritt30 jede der mehreren Kameras24 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 Kalibrierungsplatten40 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 Kamera24 . - In der veranschaulichten Ausführungsform werden die Registrierungsziele, Kalibrierungsplatten
40 usw. eingesetzt, um mehrere Kameras24 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 Bilderfassungsvorrichtungen24 platzieren, welche das Ziel zu Kalibrierungszwecken gleichzeitig abbilden. Wo Kalibrierungsplatten40 oder dergleichen zur Kalibrierung herangezogen werden, zeigen sie vorzugsweise ein Fiducial bzw. eine Referenzmarke41 (zum Beispiel ein einzigartiges Muster, das sich von dem gleichförmigen Schachbrettmuster unterscheidet) an einem Ursprung, so dass alle Erfassungsvorrichtungen24 bezüglich des gleichen einzigartigen Referenzpunktes mit spezifizierter Ausrichtung kalibriert werden können. Indem die Vorrichtungen24 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 Kamera24 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 Objekts12 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 Objekts12 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 Trainingsschritt32 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 Kamera24 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 Kameras24 (um als Schablone für die Suche in Schritt34 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 Kamera24 , 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 Digitaldatenprozessor22 Orte im dreidimensionalen Raum von einem oder mehreren der Muster42a -42c auf dem Objekt12 auf der Basis von Pixel betreffenden Positionen von Darstellungen jener Muster in Laufzeitbildern des Objekts12 und aus den Abbildungen, die während des Kalibrierungsschritts32 wahrgenommen wurden. In der veranschaulichten Ausführungsform werden jene Laufzeitbilder des Objekts12 von den Vorrichtungen24 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 Objekts12 , der Vorrichtungen24 , des Rahmens20 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 Kameras24 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 Kamera24 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 aufgenommenenUS-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 Kameras24 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 Kameras24 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 Laufzeitschritt34 das Probieren von Teilmengen der Musterursprünge (und genauer gesagt, Teilmengen der Orte, die den Musterursprüngen entsprechen), die von den Erfassungsvorrichtungen24 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 Erfassungsvorrichtungen24 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 Laufzeitschritt34 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:
wegen der Kettenregel für Quotienten:
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:
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)
- 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.
- 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. - 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. - 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. - Verfahren nach
Anspruch 1 , wobei Schritt (A) das algorithmische Charakterisieren der Korrelationen beinhaltet. - 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. - Verfahren nach
Anspruch 6 , wobei Schritt (A) das Abbilden von Registrierungszielen beinhaltet, die auf einer oder mehreren Kalibrierungsplatten zum Wahrnehmen der Abbildungsfunktion angeordnet sind. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - 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. - System für die Maschinensichtigkeit, das in Übereinstimmung mit einem der
Ansprüche 1 ,2 ,10 oder17 arbeitet.
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)
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)
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)
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 |
-
2005
- 2005-10-07 US US11/246,024 patent/US8111904B2/en not_active Expired - Fee Related
-
2006
- 2006-10-06 JP JP2008534751A patent/JP4976402B2/ja active Active
- 2006-10-06 DE DE112006002674.7T patent/DE112006002674B4/de active Active
- 2006-10-06 WO PCT/US2006/039324 patent/WO2007044629A2/en active Application Filing
Patent Citations (18)
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 |