DE102012223047A1 - Mehrteil-Korrespondierer für mehrere Kameras - Google Patents

Mehrteil-Korrespondierer für mehrere Kameras Download PDF

Info

Publication number
DE102012223047A1
DE102012223047A1 DE102012223047A DE102012223047A DE102012223047A1 DE 102012223047 A1 DE102012223047 A1 DE 102012223047A1 DE 102012223047 A DE102012223047 A DE 102012223047A DE 102012223047 A DE102012223047 A DE 102012223047A DE 102012223047 A1 DE102012223047 A1 DE 102012223047A1
Authority
DE
Germany
Prior art keywords
feature
calculating
camera image
camera
feature coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102012223047A
Other languages
English (en)
Other versions
DE102012223047B4 (de
Inventor
Lifeng LIU
Cyril C. Marrion
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE102012223047A1 publication Critical patent/DE102012223047A1/de
Application granted granted Critical
Publication of DE102012223047B4 publication Critical patent/DE102012223047B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Abstract

Beschrieben sind Verfahren, Systeme und Vorrichtungen, einschließlich Computerprogrammprodukte zum Auffinden von Korrespondenzen einer oder mehrerer Teile in einem Kamerabild von zwei oder mehreren Kameras. Für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera wird ein erster 3D-Strahl, welcher eine erste Rückprojektion einer ersten Merkmalskoordinate des ersten Teils des ersten Kamerabild zu einem 3D-physischen Raum ist, berechnet. Für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera wird ein zweiter 3D-Strahl, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate des zweiten Teils in dem zweiten Kamerabild zu dem 3D-phyischen Raum ist, berechnet, wobei die erste Merkmalskoordinate und die zweite Merkmalskoordinate mit einem ersten Merkmal, wie in einem Modell identifiziert, korrespondieren. Ein erster Abstand zwischen dem ersten 3D-Strahl und dem zweiten 3D-Strahl wird berechnet.

Description

  • Querverweis auf verwandte Anmeldungen
  • Diese Anmeldung beansprucht den Nutzen aus und die Priorität von US-Patentanmeldung Nr. 61/516,952, eingereicht am 16. Dezember 2011, mit dem Titel ”Multi-Part Corresponder for Multiple Cameras”, deren gesamter Inhalt hierin durch Verweis aufgenommen wird.
  • Gebiet der Technologie
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet des maschinellen Sehens und insbesondere auf korrespondierende Teile in separaten Kamerabildern.
  • Hintergrund
  • Digitale Bilder werden durch viele Vorrichtungen erzeugt und für viele praktische Zwecke verwendet. Vorrichtungen umfassen Kameras, welche mit sichtbarem oder infrarotem Licht operieren, Line-Scan-Sensoren, Flying-Spot-Scanner, Elektronenmikroskope, Röntgenstrahlenvorrichtungen einschließlich CT-Scanner, magnetische Resonanzaufnahmegeräte und andere Vorrichtungen, welche dem Fachmann bekannt sind. Praktische Anwendungen werden in industrieller Automatisierung, medizinischer Diagnostik, Satellitenbildaufnahme für eine Vielzahl von militärischen, zivilen und wissenschaftlichen Zwecken, fotografische Verarbeitung, Überwachung und Verkehrsüberwachung, Dokumentenverarbeitung und vieles mehr gefunden.
  • Um diesen Anwendungen zu dienen, werden die Bilder, welche durch die verschiedenen Vorrichtungen erzeugt werden, durch digitale Vorrichtungen analysiert, um geeignete Informationen zu extrahieren. Eine Form der Analyse, welche von bemerkenswerter praktischer Bedeutung ist, ist das Bestimmen der Position, Orientierung und Größe der Muster in einem Bild, welche Objekten in dem Blickfeld der Bildaufnahmevorrichtung entsprechen. Musterortungsverfahren sind von spezieller Bedeutung in industrieller Automatisierung, wo sie verwendet werden, um Roboter und andere Automatisierungsausrüstung in Halbleiterherstellung, Elektronikfertigung, Arzneimittel, Lebensmittelverarbeitung, Gebrauchsgüterherstellung und vielen anderen zu lenken.
  • In Anwendungen, welche mehr als eine Bildaufnahmevorrichtung verwenden, ist eine andere Form der digitalen Bildanalyse von praktischer Bedeutung Identifizieren der Korrespondenz zwischen Teilen in einem Blickfeld der Vorrichtung und in dem Blickfeld einer anderen Vorrichtung (z. B. welche Teile in den separaten Blickfeldern mit dem gleichen physischen Teil korrespondieren). Dementsprechend werden Systeme und Verfahren von schnell korrespondierenden Teilen in separaten Blickfeldern benötigt.
  • Zusammenfassung der Technologie
  • In einem Aspekt bezieht sich die Technologie auf ein computerimplementiertes Verfahren des Findens von Korrespondenzen eines oder mehrerer Teile in einem Kamerabild von zwei oder mehreren Kameras. Das Verfahren umfasst für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera ein Berechnen eines ersten 3D-Strahls, welcher eine erste Rückprojektion einer ersten Merkmalskoordinate des ersten Teils in dem ersten Kamerabild zu einem 3D-physischen Raum ist. Das Verfahren umfasst für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera ein Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate des zweiten Teils in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die zweite Merkmalskoordinate mit einem ersten Merkmal wie in einem Modell identifiziert korrespondieren. Das Verfahren umfasst das Berechnen eines ersten Abstands zwischen dem ersten 3D-Strahl und dem zweiten 3D-Strahl.
  • In einem Aspekt bezieht sich die Technologie auf ein computerimplementiertes Verfahren des Findens einer Korrespondenz einer oder mehrerer Teile in einem Kamerabild von zwei oder mehreren Kameras. Das Verfahren umfasst für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera ein Berechnen eines ersten 3D-Strahls, welcher eine Rückprojektion einer ersten Merkmalskoordinate in dem ersten Kamerabild zu einem 3D-physischen Raum ist, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate in dem ersten Kamerabild zu dem 3D-physischen Raum ist. Das Verfahren umfasst für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera das Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, Berechnen eines vierten 3D-Strahls, welcher eine vierte Rückprojektion einer vierten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die dritte Merkmalskoordinate mit einem gleichen ersten Merkmal wie in einem Modell identifiziert korrespondieren und die zweite Merkmalskoordinate und die vierte Merkmalskoordinate mit einem gleichen zweiten Merkmal wie in dem Modell identifiziert korrespondieren. Das Verfahren umfasst das Berechnen eines ersten Punkts zwischen nächsten Punkten auf den ersten und dritten 3D-Strahlen und einen zweiten Punkt zwischen den nächsten Punkten auf den zweiten und vierten 3D-Strahlen.
  • In einigen Ausführungsformen umfasst das Verfahren für den ersten Teil in dem ersten Kamerabild der ersten Kamera das Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate in dem ersten Kamerabild zu dem 3D-physischen Raum ist, für den zweiten Teil in dem zweiten Kamerabild der zweiten Kamera, Berechnen eines vierten 3D-Strahls, welcher eine vierte Rückprojektion einer vierten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die dritte Merkmalskoordinate und die vierte Merkmalskoordinate mit einem zweiten Merkmal wie in dem Modell identifiziert korrespondieren, und das Berechnen eines zweiten Abstands zwischen dem dritten 3D-Strahl und dem vierten 3D-Strahl.
  • In einigen Ausführungsformen umfasst das Verfahren Berechnen eines Kandidatenteilkorrespondenzstands basierend auf mindestens einem des ersten Abstands und des zweiten Abstands. In einigen Ausführungsformen ist der Kandidatenteilkorrespondenzstand ein Durschnitt des ersten Abstands und des zweiten Abstands. In einigen Ausführungsformen umfasst das Verfahren Ausschließen eines Paarens des ersten Teils in dem ersten Kamerabild der ersten Kamera und des zweiten Teils in dem zweiten Kamerabild der zweiten Kamera als eine Kandidatenteilkorrespondenz, wenn der erste Abstand eine vorbestimmte Schwelle überschreitet.
  • In einigen Ausführungsformen umfasst das Verfahren für einen dritten Teil in einem dritten Kamerabild einer dritten Kamera Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate des dritten Teils in dem dritten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate, die zweite Merkmalskoordinate und die dritte Merkmalskoordinate mit dem ersten Merkmal wie in dem Modell identifiziert korrespondieren, und Berechnen eines zweiten Abstands zwischen dem dritten 3D-Strahl und einem ersten Punkt zwischen nächsten Punkten auf den ersten und den zweiten 3D-Strahlen.
  • In einigen Ausführungsformen umfasst das Verfahren für einen dritten Teil in einem dritten Kamerabild einer dritten Kamera, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate des dritten Teils in dem dritten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate, die zweite Merkmalskoordinate und die dritte Merkmalskoordinate mit dem Merkmal wie in dem Modell identifiziert korrespondieren, und Berechnen eines zweiten Abstands zwischen dem ersten 3D-Strahl und dem dritten 3D-Strahl und Berechnen eines dritten Abstands zwischen dem zweiten 3D-Strahl und dem dritten 3D-Strahl.
  • In einigen Ausführungsformen umfasst das Verfahren Berechnen eines Abstands zwischen dem ersten Punkt und dem zweiten Punkt. In einigen Ausführungsformen umfasst das Verfahren Vergleichen des Abstands mit einem vorbestimmten Wert, um den Abstandsrest zu bestimmen. In einigen Ausführungsformen basiert der vorbestimmte Wert auf dem ersten Merkmal und dem zweiten Merkmal wie in dem Modell identifiziert. In einigen Ausführungsformen basiert der vorbestimmte Wert auf einem eingegebenen Wert.
  • In einigen Ausführungsformen umfasst das Verfahren Berechnen eines Kandidatenkorrespondenzstands basierend auf dem Abstandsrest. In einigen Ausführungsformen umfasst das Verfahren das Ausschließen eines Paarens des ersten Teils in dem ersten Kamerabild und des zweiten Teils in dem zweiten Kamerabild als eine Kandidatenteilkorrespondenz, wenn der Abstandsrest eine vorbestimmte Schwelle überschreitet. In einigen Ausführungsformen umfasst das Verfahren Berechnen eines ersten Abstands zwischen dem ersten 3D-Strahl und dem dritten 3D-Strahl und Berechnen eines zweiten Abstands zwischen dem zweiten 3D-Strahl und dem vierten 3D-Strahl; und Berechnen eines Kandidatenteilkorrespondenzstands basierend auf dem Abstandsrest, dem ersten Abstand und dem zweiten Abstand.
  • In einem anderen Aspekt bezieht sich die Technologie auf ein System. Das System umfasst zwei oder mehrere Kameras; ein Korrespondenzmodul eingerichtet zum: für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera der zwei oder mehreren Kameras, Berechnen eines ersten 3D-Strahls, welcher eine erste Rückprojektion einer ersten Merkmalskoordinate des ersten Teils in dem ersten Kamerabild zu einem 3D-physischen Raum ist; für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera der zwei oder mehreren Kameras, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate des zweiten Teils des zweiten Kamerabilds zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die zweite Merkmalskoordinate mit einem ersten Merkmal wie in einem Modell identifiziert korrespondieren; und Berechnen eines ersten Abstands zwischen dem ersten 3D-Strahl und dem zweiten 3D-Strahl.
  • In einem anderen Aspekt bezieht sich die Technologie auf ein System. Das System umfasst zwei oder mehrere Kameras; ein Korrespondenzmodul eingerichtet zum: für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera der zwei oder mehreren Kameras, Berechnen eines ersten 3D-Strahls, welcher eine Rückprojektion einer ersten Merkmalskoordinate in dem ersten Kamerabild zu einem 3D-physischen Raum ist, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate in dem ersten Kamerabild zu dem 3D-physischen Raum ist; für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera der zwei oder mehreren Kameras, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, Berechnen eines vierten 3D-Strahls, welcher eine vierte Rückprojektion einer vierten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die dritte Merkmalskoordinate mit einem gleichen ersten Merkmal wie in einem Modell identifiziert korrespondieren und die zweite Merkmalskoordinate und die vierte Merkmalskoordinate mit einem gleichen zweiten Merkmal wie in dem Modell identifiziert korrespondieren; und Berechnen eines ersten Punkts zwischen nächsten Punkten auf den ersten und dritten 3D-Strahlen und eines zweiten Punkts zwischen nächsten Punkten auf den zweiten und vierten 3D-Strahlen.
  • Andere Aspekte und Vorteile der vorliegenden Technologie werden aus der folgenden detaillierten Beschreibung klar werden, die in Verbindung zu setzen ist mit den begleitenden Zeichnungen, welche die Prinzipien der Technologie nur beispielhaft zeigen.
  • Kurze Beschreibung der Zeichnungen
  • Das Vorangegangene und andere Ziele, Merkmale und Vorteile der vorliegend beschriebenen Technologie werden vollständiger verstanden werden aus der folgenden Beschreibung der verschiedenen Ausführungsformen, wenn zusammen mit den begleitenden Zeichnungen gelesen, in welchen:
  • 1 ein System zeigt, welches mit der Technologie verwendet werden kann;
  • 2 die Blickfelder von zwei Bildaufnahmevorrichtungen zeigt;
  • 3 ein Flussdiagramm ist, welches ein Verfahren zum Finden einer Korrespondenz einer oder mehrerer Teile in dem Blickfeld von zwei oder mehreren Kameras zeigt; und
  • 4 Teile und Bilder der Teile zeigt.
  • Detaillierte Beschreibung
  • Im Allgemeinen umfasst die Technologie computerisierte Systeme und computerimplementierte Verfahren für korrespondierende Teile unter mehreren Kamerabildern. Im System von 3D-maschinellem Sehen, können zwei oder mehrere 2D-Kameras, welche die gleichen oder überlappende Szenen aufnehmen, verwendet werden, um 3D-Informationen zu bestimmen (z. B. Abstand von einer Kamera oder einem anderen bekannten Punkt) über Gegenstände in der Szene oder den Szenen. Bestimmen, ob ein Gegenstand in dem Blickfeld einer Kamera und ein Gegenstand in dem Blickfeld einer zweiten Kamera mit dem gleichen physischen Gegenstand korrespondieren kann das Verwenden der separaten Bilder in Verbindung mit dem Bestimmen von 3D-Informationen über Gegenstände in der Szene vereinfachen. Die computerisierten Systeme und computerimplementierten Verfahren, welche hierin beschrieben werden, vereinfachen das Korrespondieren von Gegenständen in den Blickfeldern separater Kameras.
  • 1 zeigt ein System 100, welches mit der Technologie verwendet werden kann. System 100 umfasst eine Bilderfassungsvorrichtung (z. B. Kamera) 105 und eine Bilderfassungsvorrichtung 110. Die Bilderfassungsvorrichtung 105 und die Bilderfassungsvorrichtung 110 werden positioniert, um Bilder von einem Arbeitsraum 112 zu erfassen. Die Bildebene 115 ist die Bildebene der Bilderfassungsvorrichtung 105 und stellt die zweidimensionale Ebene der Bilder des Arbeitsbereichs 112 dar, welche durch die Bilderfassungsvorrichtung 105 erfasst wurden. Die Bildebene 120 ist die Bildebene der Bilderfassungsvorrichtung 110 und stellt die zweidimensionale Ebene der Bilder des Arbeitsbereichs 112 dar, welche durch die Bilderfassungsvorrichtung 110 erfasst wurden. Während das System 100 mit zwei Bilderfassungsvorrichtungen gezeigt wird (Bilderfassungsvorrichtung 105 und Bilderfassungsvorrichtung 110), kann die Technologie mit Systemen verwendet werden mit zwei oder mehreren Bilderfassungsvorrichtungen.
  • Das System 100 umfasst ein Korrespondenzmodul 125. Das Korrespondenzmodul 125 empfängt Bilder von der Bilderfassungsvorrichtung 105 und der Bilderfassung 110. Das Korrespondenzmodul 125 kann eingerichtet sein zum Verwenden der Verfahren, welche hierin beschrieben werden, um die Korrespondenz der Teile in der Bildebene 115 zu bestimmen (z. B. das Blickfeld der Bilderfassungsvorrichtung 105) zu Teilen in der Bildebene 120 (z. B. das Blickfeld der Bilderfassungsvorrichtung 110).
  • Das System 100 kann kalibriert werden, um eine mathematische Transformation von einem Koordinatensystem einer Bilderfassungsvorrichtung zu einem Koordinatensystem einer anderen Bilderfassungsvorrichtung bereitzustellen. Das System 100 kann kalibriert werden, um eine mathematische Transformation von den Koordinatensystemen der Bilderfassungsvorrichtungen zu einem Koordinatensystem für die physische Szene in dem Blickfeld der Bilderfassungsvorrichtungen bereitzustellen. Ein Bildpunkt x, welcher mit einer Merkmalskoordinate assoziiert ist, wird rückprojiziert zu einem 3D-Strahl, welcher durch x und dem Kameramittelpunkt definiert ist. Die Kalibrierung bezieht den Bildpunkt auf die Richtung des Strahls. Zusätzliche Informationen bezüglich Kamerakalibrierung können gefunden werden in US-Patent Nr. 6 798 925 , mit dem Titel ”Method and apparatus for calibrating an image acquisition system” und eingereicht am 22. Dezember 2000, und ”Multiple view Geometry in Computer Vision”, Second Edition, Richard Hartley and Andrew Zisserman (2004), die hiermit durch Verweis in ihrer Gesamtheit aufgenommen werden.
  • Das System 100 ist ein Beispiel eines computerisierten Systems, welches speziell eingerichtet ist zum Ausführen der hierin beschriebenen computerimplementierten Verfahren. Jedoch sind die Systemstruktur und der Inhalt, welche mit Bezug auf 1 zitiert werden, nur für beispielhafte Zwecke und sollen nicht andere Beispiele auf die spezifische Struktur, welche in 1 gezeigt ist, beschränken. Wie einem Fachmann klar sein wird, können viele variante Systemstrukturen gebaut werden, ohne von den computerisierten Systemen und Verfahren, welche hierin beschrieben werden, abzuweichen.
  • 2 zeigt die Blickfelder der zwei Bilderfassungsvorrichtungen. Das Blickfeld 210 ist das Blickfeld einer ersten Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 105). Das Blickfeld 220 ist das Blickfeld einer zweiten Bilderfassungsvorrichtung (z. B. Bilderfassungsvorrichtung 110). Die Blickfelder 210 und 220 zeigen die gleiche Gruppe von Teilen. Die Technologie, welche hierin beschrieben wird, kann verwendet werden, um das Identifizieren, welche Teilinstanz in einem Blickfeld mit einer Teilinstanz in dem anderen Blickfeld korrespondiert, zu vereinfachen. Wie hierin verwendet, bezieht sich die Teilinstanz auf eine Darstellung eines physischen Teils innerhalb eines Bildes.
  • In 2 beispielweise enthalten die Blickfelder 210 und 220 beide einige Teilinstanzen. Die computerisierten Systeme und computerimplementierten Verfahren, welche hierin beschrieben werden, helfen dabei, Teile in dem Blickfeld 210 zu Teilen in dem Blickfeld 220 passend zu machen (z. B. Bestimmen, dass das Teil 225 in dem Blickfeld 210 und das Teil 230 in dem Blickfeld 220 mit dem gleichen physischen Teil korrespondieren).
  • 3 ist ein Flussdiagramm 300, welches ein Verfahren zum Auffinden einer Korrespondenz eines oder mehrerer Teile in dem Blickfeld zweier oder mehrerer Kameras zeigt. Bei Schritt 305 werden 3D-Modellmerkmale für einen Teil erzeugt. In einigen Ausführungsformen können die 3D-Modellmerkmale 3D-Punkte sein. In einigen Ausführungsformen können die 3D-Modellmerkmale auch mindestens eine von Ecken, Kreisen und Liniensegmenten sein. Ein 3D-Modell kann eine mathematische Beschreibung eines physischen Teils sein. Verfahren des Erzeugens von 3D-Modellen sind dem Fachmann wohlbekannt. Siehe z. B. "Computer Graphics: principles and practice", James D. Foley (1996), die hiermit durch Verweis in ihrer Gesamtheit aufgenommen wird. Zum Beispiel kann ein 3D-Modell die Dimensionen eines Teils, seine Eckpunkte oder andere Attribute, welche die physischen Charakteristika des Teils spezifizieren, umfassen. Teilmerkmale sind Aspekte der Teile, welche ausgewählt werden können, um bei der Identifikation von Teilen in einem Bild zu helfen, welches durch eine Bilderfassungsvorrichtung erfasst wurde. Zum Beispiel können Teilmerkmale eine gezackte Kante des Teils, ein Loch in dem Teil oder irgendein anderer physischer Aspekt des Teils sein. Teilmerkmale können manuell oder programmatisch basierend auf dem Modell ausgewählt werden. Ein 3D-Modell kann unter Verwendung von Cognex VisionPro® 3D-Triangulationsfunktionalität erzeugt werden, welche durch Cognex Corporation aus Natick, MA, angeboten wird.
  • Bei Schritt 310 wird ein Teilortungstool trainiert, um Teilinstanzen zu lokalisieren. Ein Merkmalsfindertool wird trainiert, um Teilmerkmale zu lokalisieren. In einigen Ausführungsformen wird das Teillokalisieren und Merkmalsfinden unter Verwendung des gleichen Tools ausgeführt. In einigen Ausführungsformen wird das Teillokalisieren und das Merkmalsfinden unter Verwendung von separaten Tools ausgeführt. In einigen Ausführungsformen können die Merkmale unter Verwendung von Eckfindern, Kreisfindern oder anderen Musteranpassungstools lokalisiert werden. In einigen Ausführungsformen können die Merkmale direkt durch Anwenden der 2D-Stellung lokalisiert sein, welche aus dem Teillokalisierungstool resultiert (z. B. durch Verwenden der Teillokalisierungsstellung, um Orte der Merkmale aus dem Trainingsbild auf das Laufzeitbild abzubilden).
  • Der Trainingsschritt trainiert das Merkmalsfindertool, um den Teil zu lokalisieren, welcher durch das 3D-Modell in dem 2D-Bild einer Bilderfassungsvorrichtung beschrieben wird. Zum Beispiel kann Cognex Pat-Max trainiert werden, um die Teilmerkmale in einem Bild zu finden.
  • Bei Schritt 315 sind 2D-Teilinstanzen in dem Bild jeder Kamera angeordnet. 4 zeigt Teile und Bilder dieser Teile. In 4 hat das Teil 402 das Merkmal 405 (z. B. eine boxed-corner des Teils 405) und Teil 407 weist Merkmal 410 auf. Sowohl das Teil 402 als auch das Teil 407 sind durch das gleiche Modell (nicht gezeigt) modelliert und das Merkmal 405 und das Merkmal 410 sind Instanzen des gleichen Merkmals in dem Modell. Die Kamera 415 kann ein Bild 420 einschließlich 2D-Projektionen des Teils 405 (Teilinstanz 425) und des Teils 407 (Teilinstanz 430) in die Bildebene der Kamera 415 erfassen. Die Kamera 435 kann ein Bild 440 einschließlich 2D-Projektionen des Teils 405 (Teilinstanz 445) und des Teils 407 (Teilinstanz 450) in die Bildebene der Kamera 435 erfassen. Die Teilinstanzen können in einem speziellen Bild (z. B. Teilinstanzen 425 und 430 in dem Bild 420 und Teilinstanzen 445 und 450 in dem Bild 440) unter Verwendung z. B. von Cognex PatMax angeordnet sein. Weitere Beschreibung wie Cognex PatMax Teilinstanzen in einem Bild finden kann, kann in US-Patent Nr. 7 016 539 mit dem Titel ”Method for Fast, Robust, Multi-Dimensional Pattern Recognition” und eingereicht am 13. Juli 1998 und in US-Patent 7 065 262 mit dem Titel ”Fast high-accuracy multi-dimensional pattern inspection” und eingereicht am 10. November 2003 gefunden werden, die hiermit in ihrer Gesamtheit durch Verweis aufgenommen werden.
  • Bei Schritt 320 werden die Merkmalsorte oder Koordinaten für jede 2D-Teilinstanz in dem Bild jeder Kamera gefunden. In dem gezeigten Beispiel der 4 können das Merkmal 455 (die 2D-Projektion des Merkmals 405 in das Bild 420), Merkmal 460 (die 2D-Projektion des Merkmals 410 in das Bild 420), Merkmal 465 (die 2D-Projektion des Merkmals 405 in das Bild 440) und das Merkmal 470 (die 2D-Projektion des Merkmals 410 in das Bild 440) z. B. unter Verwendung von Cognex Pat-Max gefunden werden. In einigen Ausführungsformen können die Merkmalsorte durch Anwenden der Teilortsstellung auf den Merkmalsortsversatz innerhalb der Teilinstanz berechnet werden. Zum Beispiel kann der Versatz für das Merkmal 455 innerhalb der Teilinstanz 425 mit der gefundenen Stellung des Teils 425 kombiniert werden und als ein Merkmalsort verwendet werden. Ein Nutzen dieser Herangehensweise ist, dass die Orte der verdeckten Merkmale auf diese Weise erhalten werden können.
  • Bei Schritt 325 wird eine Liste von Korrespondenzkandidaten erzeugt. In einigen Ausführungsformen kann die Korrespondenzkandidatenliste eine Liste von allen Kombinationen, welche durch Auswählen einer Teilinstanz aus dem Bild jeder Kamera produziert wird, sein. In einigen Ausführungsformen kann die Korrespondenzkandidatenliste eine Liste einschließlich einer Untermenge von allen Kombinationen, welche durch das Auswählen einer Teilinstanz aus dem Bild jeder Kamera produziert wird, sein. Zum Beispiel Bezug nehmend auf 4, können die Korrespondenzkandidaten sein (Teilinstanz 425/Teilinstanz 445); (Teilinstanz 425/Teilinstanz 450); (Teilinstanz 430/Teilinstanz 445); (Teilinstanz 430/Teilinstanz 450) (z. B. jede Kombination einer Teilinstanz aus dem Bild 420 und einer Teilinstanz aus dem Bild 440).
  • In Ausführungsformen, welche drei Kameras verwenden, können die Korrespondenzkandidaten alle Kombinationen umfassen, welche durch Auswählen einer Teilinstanz aus dem Bild der ersten Kamera, einer Teilinstanz aus dem Bild der zweiten Kamera und einer Teilinstanz aus dem Bild der dritten Kamera produziert werden, sein. Wie zuvor angemerkt, können die Verfahren, welche hierin beschrieben werden, mit irgendeiner Zahl von Kameras verwendet werden, welche größer als Eins ist.
  • Bei Schritt 330 werden die Korrespondenzkandidaten ausgewertet. In einigen Ausführungsformen wird ein Korrespondenzkandidat basierend auf einer Triangulation unter Verwendung der Instanzen der gleichen Teilmerkmale in jeder Teilinstanz der Korrespondenzkandidaten ausgewertet. Die korrespondierenden Teilmerkmale können verglichen werden (z. B. ein Merkmal 455 in einer Teilinstanz 425 wird verglichen mit dem gleichen Merkmal 465 in einer anderen Teilinstanz 445). Bezug nehmend auf 4 z. B. kann der Korrespondenzkandidat (Teilinstanz 425/Teilinstanz 445) ausgewertet werden. Beginnend mit Merkmal 455 wird der Strahl 475 (welcher eine Rückprojektion der Koordinate des Merkmals 455 in dem Bild 420 zu dem 3D-physischen Raum ist) berechnet. Der Strahl 480 (welcher eine Rückprojektion der Koordinate des Merkmals 465 im Bild 440 zu dem 3D-physischen Raum ist) wird auch berechnet. Ein Strahlrest zwischen dem Strahl 475 und Strahl 480 (z. B. der Abstand zwischen den nächsten Punkten auf den Strahlen 475 und 480) wird berechnet. In einigen Ausführungsformen, wenn der Strahlrest größer als eine Schwelle ist, wird der Korrespondenzkandidat aus der Korrespondenzkandidatenliste entfernt. Ein großer Strahlenrest kann darauf hinweisen, dass die Teilinstanzen, welche verglichen werden, mit zwei unterschiedlichen physischen Teilen korrespondieren. Wenn der Strahlrest kleiner als eine Schwelle ist, werden die verbleibenden Merkmale in einer ähnlichen Weise ausgewertet und die Strahlenreste werden mit der Schwelle verglichen. Wenn jeder Rest für jedes der Merkmale kleiner als die Schwelle ist, wird der Korrespondenzkandidatenstand berechnet und der Korrespondenzkandidat verbleibt in der Korrespondenzkandidatenliste. In einigen Ausführungsformen werden die Strahlenreste für weniger als alle der Merkmale berechnet.
  • In einigen Ausführungsformen basiert die Schwelle auf Teildimensionen. Zum Beispiel kann die Schwelle ein Prozentsatz einer Dimension des Teils entlang einer Seite sein.
  • In einigen Ausführungsformen kann der Korrespondenzkandidatenstand der Durchschnitt der Reste sein. In einigen Ausführungsformen kann der Korrespondenzkandidatenstand eine Summe der Reste sein.
  • Der Strahlenrest kann in einer Anzahl von unterschiedlichen Weisen abhängig von der Anzahl der vorliegenden Kameras berechnet werden. Zum Beispiel in Ausführungsformen, welche drei Kameras verwenden, kann der Strahlenrest berechnet werden als die Summe der Abstände zwischen drei Strahlen (z. B. jeder Strahl ist eine Rückprojektion einer Merkmalskoordinate für jedes Kamerabild zu dem 3D-physischen Raum). In einigen Ausführungsformen kann der Rest als die Summe des Abstands zwischen den ersten und den zweiten Strahlen und dem Abstand zwischen einem Punkt zwischen den ersten zwei Strahlen und dem dritten Strahl berechnet werden. In einer anderen Ausführungsform, welche drei oder mehrere Kameras verwendet, kann der Strahlenrest berechnet werden durch Bestimmen eines Punktes zwischen dem nächsten Punkt der ersten und der zweiten Strahlen und dann Projizieren des 3D-Punkts in das Bild der dritten Kamera und Vergleichen des Abstands des projizierten Punkts mit dem Ort des Merkmals in dem dritten Bild.
  • In einigen Ausführungsformen kann der Korrespondenzkandidat basierend auf den Geometrien des Modells ausgewertet werden. Zum Beispiel kann ein erster Punkt zwischen den nächsten Punkten auf dem Strahl 475 und dem Strahl 480 berechnet werden. Ein Punkt zwischen den nächsten Punkten für Strahlen für andere Merkmale kann berechnet werden. Der berechnete Abstand zwischen jenen zwei Punkten kann verglichen werden mit einem bereitgestellten Abstand zwischen jenen zwei Merkmalen in dem Teilmodell. Zum Beispiel kann ein Abstandsrest berechnet werden, welcher die Differenz zwischen dem berechneten Abstand und dem bereitgestellten Abstand ist. In einigen Ausführungsformen, wenn der Abstandsrest größer als eine Schwelle ist, wird der Korrespondenzkandidat aus der Korrespondenzkandidatenliste entfernt. Ein großer Abstandsrest kann darauf hinweisen, dass Teilinstanzen, welche mit zwei unterschiedlichen physischen Teilen korrespondieren, ausgewertet werden. Wenn der Abstandsrest kleiner als eine Schwelle ist, werden die verbleibenden Abstände zwischen Merkmalen in einer ähnlichen Weise ausgewertet und die Abstandsreste werden mit der Schwelle verglichen. Wenn jeder Abstandsrest kleiner als die Schwelle ist, wird der Korrespondenzkandidatenstand berechnet und der Korrespondenzkandidat verbleibt auf der Korrespondenzkandidatenliste. In einigen Ausführungsformen kann der Korrespondenzkandidatenstand der Durchschnitt der Abstandsreste sein. In einigen Ausführungsformen kann der Korrespondenzkandidatenstand eine Summe der Abstandsreste sein. In einigen Ausführungsformen kann der Korrespondenzkandidatenstand ein gewichteter Durchschnitt der Abstandsreste sein, wo die Gewichtung auf der Modelldimension basiert. In einigen Ausführungsformen basiert der Korrespondenzkandidatenstand auf den Strahlenresten und den Abstandsresten.
  • Bei Schritt 335 werden die Korrespondenzkandidaten in der Korrespondenzkandidatenliste sortiert. In einigen Ausführungsformen werden die Korrespondenzkandidaten durch ihre entsprechenden Korrespondenzkandidatenstände sortiert, so dass der wahrscheinlichste Korrespondenzkandidat erster ist. Die Korrespondenzkandidatenliste kann ein Feld, eine verkettete Liste oder andere Datenstruktur sein.
  • Bezug nehmend auf 4 z. B. kann die sortierte Korrespondenzkandidatenliste die folgenden Korrespondenzkandidaten umfassen:
    Teilinstanz 425/Teilinstanz 445 (Korrespondenzkandidatenstand 8);
    Teilinstanz 430/Teilinstanz 450 (Korrespondenzkandidatenstand 9);
    Teilinstanz 425/Teilinstanz 450 (Korrespondenzkandidatenstand 20);
    Teilinstanz 430/Teilinstanz 445 (Korrespondenzkandidatenstand 35).
  • Bei Schritt 340 wird der beste Korrespondenzkandidat aus der Korrespondenzkandidatenliste entfernt und der Ergebnisliste hinzugefügt. In einigen Ausführungsformen muss der beste Korrespondenzkandidat einen Stand haben, welcher eine vorbestimmte Schwelle befriedigt und wird dann zu der Ergebnisliste hinzugefügt. Die Ergebnisliste ist eine Liste von gefundenen Teilkorrespondenzen.
  • Bei Schritt 345 werden die Korrespondenzkandidaten in der Korrespondenzkandidatenliste, welche eine Teilinstanz in dem Korrespondenzkandidaten, welcher in Schritt 340 entfernt wurde, umfassen, aus der Korrespondenzkandidatenliste entfernt. Zum Beispiel Bezug nehmend auf die obige Korrespondenzkandidatenliste, nachdem der Korrespondenzkandidat (Teilinstanz 425/Teilinstanz 445) aus der Korrespondenzkandidatenliste als der Korrespondenzkandidat mit dem niedrigsten Stand entfernt wird, können beide Korrespondenzkandidaten (Teilinstanz 445/Teilinstanz 450) und Korrespondenzkandidat (Teilinstanz 430/Teilinstanz 445) entfernt werden, weil jeder eine Teilinstanz mit Korrespondenzkandidat (Teilinstanz 425/Teilinstanz 445) teilt.
  • Bei Schritt 350 wird bestimmt, ob es irgendwelche Kandidaten gibt, die in der Korrespondenzkandidatenliste übrig sind. Wenn die Liste leer ist, kann das Verfahren zurückkehren. Die Korrespondenzkandidaten in der Ergebnisliste identifizieren die gefundenen Teilinstanzkorrespondenzen.
  • Wenn es mehrere Korrespondenzkandidaten in der Korrespondenzkandidatenliste gibt, wird der Korrespondenzkandidat mit dem niedrigsten Korrespondenzkandidatenstand aus der Korrespondenzkandidatenliste entfernt, wie mit Bezug auf Schritt 340 beschrieben. Die Korrespondenzkandidatenliste wird dann ausgelesen, wobei Korrespondenzkandidaten, welche eine Teilinstanz mit Korrespondenzkandidaten mit dem niedrigsten Korrespondenzkandidatenstand teilen, entfernt werden, wie mit Bezug auf Schritt 345 beschrieben.
  • Die oben beschriebenen Techniken können in digitalen und/oder analogen elektronischen Schaltungen oder in Computerhardware, Firmware, Software oder in verschiedenen Kombinationen implementiert werden. Die Ausführungsform kann ein Computerprogrammprodukt sein, d. h. ein Computerprogramm, welches in einer maschinenlesbaren Speichervorrichtung, für die Ausführung durch oder zum Steuern der Operation von einer Datenverarbeitungsvorrichtung, z. B. einem programmierbaren Prozessor, einem Computer und/oder mehreren Computern greifbar verkörpert ist. Ein Computerprogramm kann in irgendeiner Form von Computer- oder Programmiersprache, einschließlich Quellcode, kompiliertem Code, interpretiertem Code und/oder Maschinencode geschrieben werden, und das Computerprogramm kann angewendet werden, um auf einem Computer oder auf mehreren Computern an einer oder mehreren Orten ausgeführt zu werden.
  • Verfahrensschritte können durch einen oder mehrere Prozessoren ausgeführt werden, welche ein Computerprogramm ausführen, um Funktionen der Erfindung durch Operieren auf Eingabedaten und/oder Erzeugen von Ausgabedaten auszuführen. Verfahrensschritte können auch ausgeführt werden durch, und eine Vorrichtung kann implementiert werden als Spezialzweck logische Schaltung, z. B. ein FPGA (Field Programmable Gate Array), FPAA (Field Programmable Analog Array), ein CPLD (Complex Programmable Logic Device), ein PSoC (Programmable System-on-Chip), ASIP (Application-Specific Instruction-Set Processor), oder ein ASIC (Application-Specific Integrated Circuit). Subroutinen können sich auf Abschnitte des Computerprogramms und/oder den Prozessor/die Spezialschaltung beziehen, welche eine oder mehrere Funktionen implementiert.
  • Prozessoren, welche zur Ausführung eines Computerprogramms geeignet sind, umfassen beispielhaft sowohl allgemeine als auch Spezialzweckmikroprozessoren und irgendeinen oder mehrere Prozessoren irgendeiner Art von Digital- oder Analogcomputer. Im Allgemeinen empfingt ein Prozessor Instruktionen und Daten von einem Nur-Lese-Speicher oder einem Speicher mit wahlfreiem Zugriff oder beiden. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Ausführen von Instruktionen und eine oder mehrere Speichervorrichtungen zum Speichern der Instruktionen und/oder Daten. Die Speichervorrichtungen, wie beispielsweise ein Cache, können zum temporären Speichern von Daten verwendet werden. Die Speichervorrichtungen können auch zur Langzeitdatenspeicherung verwendet werden. Im Allgemeinen umfasst ein Computer auch oder ist operativ gekoppelt zum Empfangen von Daten von oder Übertragen von Daten zu oder beidem einer oder mehreren Massenspeichervorrichtungen zum Speichern von Daten, z. B. magnetische, magneto-optische Platten oder optische Platten. Ein Computer kann auch mit einem Kommunikationsnetzwerk operativ gekoppelt sein, um Instruktionen und/oder Daten von dem Netzwerk zu empfangen und/oder Instruktionen und/oder Daten an das Netzwerk zu übertragen. Computerlesbare Speichervorrichtungen, welche geeignet sind zum Verkörpern von Computerprogramminstruktionen und Daten, umfassen alle Formen von flüchtigen und nicht-flüchtigen Speichern, einschließlich beispielhaft Halbleiterspeichervorrichtungen, z. B. DRAM, SRAM, EPROM, EEPROM und Flashspeichervorrichtungen; magnetische Platten, z. B. interne Festplatten oder entfernbare Platten; magneto-optische Platten; und optische Platten, z. B. CD, DVD, HD-DVD und Bluray-Disks. Der Prozessor und der Speicher können ergänzt werden durch und/oder aufgenommen werden in Spezialzweck-logischen Schaltungen.
  • Um die Interaktion mit einem Nutzer bereitzustellen, können die oben beschriebenen Techniken auf einem Computer in Kommunikation mit einer Anzeigevorrichtung implementiert werden, z. B. einem CRT (Cathode Ray Tube), Plasma, oder LCD (Liquid Crystal Display) Monitor, zum Anzeigen von Informationen an den Nutzer und einer Tastatur und einer Zeigevorrichtung, z. B. einer Maus, einem Trackball und einem Touchpad oder einem Bewegungssensor, durch welchen der Nutzer Eingabe an den Computer bereitstellen kann (z. B. Interagieren mit einem Nutzerschnittstellenelement). Andere Arten von Vorrichtungen können auch verwendet werden zum Bereitstellen von Interaktion mit einem Nutzer; z. B. Rückmeldung, welche dem Nutzer bereitgestellt wird, kann irgendeine Form von fühlbarer Rückmeldung sein, z. B. visuelle Rückmeldung, hörbare Rückmeldung oder taktile Rückmeldung; und eine Eingabe von dem Nutzer kann in irgendeiner Form einschließlich akustisch, Sprach- und/oder taktiler Eingabe empfangen werden.
  • Die oben beschriebenen Techniken können in einem verteilten Computersystem implementiert werden, welches eine Back-End-Komponente umfasst. Die Back-End-Komponente kann z. B. ein Datenserver, eine Middleware-Komponente und/oder ein Anwendungsserver sein. Die oben beschriebenen Techniken können in einem verteilten Computersystem implementiert werden, welches eine Front-End-Komponente umfasst. Die Front-End-Komponente kann z. B. ein Clientcomputer mit einer grafischen Nutzerschnittstelle, einem Webbrowser, durch welchen ein Nutzer mit einer beispielhaften Ausführungsform interagieren kann, und/oder anderen grafischen Nutzerschnittstellen für eine Übertragungsvorrichtung sein. Die oben beschriebenen Techniken können in einem verteilten Computersystem implementiert werden, welches irgendeine Kombination solcher Back-End-, Middleware- oder Front-End-Komponenten umfasst.
  • Das Rechnersystem kann Clients und Server umfassen. Ein Client und ein Server sind im Allgemeinen entfernt voneinander und typischerweise agieren sie über ein Kommunikationsnetzwerk. Die Beziehung des Clients und des Servers entsteht aufgrund von Computerprogrammen, welche auf den entsprechenden Computern laufen und eine Client-Server-Beziehung zueinander haben.
  • Die Komponenten des Computersystems können durch irgendeine Art oder Medium von digitaler oder analoger Datenkommunikation (z. B. ein Kommunikationsnetzwerk) verbunden werden. Beispiele von Kommunikationsnetzwerken umfassen schaltungsbasierte und paketbasierte Netzwerke. Paketbasierte Netzwerke können z. B. das Internet, ein Trägerinternetprotokoll-(IP)-Netzwerk (z. B. lokales Netzwerk (LAN), Großraumnetzwerk (wide area network) (WAN), Campus Area Network (CAN), Metropolraumnetzwerk (Metropolitan Area Network) (MAN), Home Area Network (HAN)), ein privates IP-Netzwerk, ein IP Private Branch Exchange (IPBX), ein drahtloses Netzwerk (z. B. Radio Access Network (RAN), 802.11 Netzwerk, 802.16 Netzwerk, General Paket Radio Device(GPRS)-Netzwerk, und HiperLAN), und/oder andere paketbasierte Netzwerke umfassen. Schaltungsbasierte Netzwerke können z. B. das Public Switch Telephone Network (PSTN), ein Private Branch Exchange (PBX), ein drahtloses Netzwerk (z. B. RAN, Bluetooth, Code-Division Multiple Access(CDMA)-Netzwerk, Time Division Multiple Access(TDMA)-Netzwerk, Global System for Mobile Communication(GSM)-Netzwerk), und/oder andere schaltungsbasierte Netzwerke umfassen.
  • Vorrichtungen des Rechnersystems und/oder der Rechnervorrichtung können z. B. einen Computer, einen Computer mit einer Browservorrichtung, ein Telefon, ein IP-Phone, eine Mobilvorrichtung (z. B. Mobiltelefon, Persönlicher Digitaler Assistent(PDA)-Vorrichtung, Laptopcomputer, elektronische Mailvorrichtung), einen Server, einen Rahmen (Rack) mit einer oder mehreren Verarbeitungskarten, Spezialzweckschaltungen, und/oder andere Kommunikationsvorrichtungen umfassen. Die Browservorrichtung umfasst z. B. einen Computer (z. B. Desktopcomputer, Laptopcomputer) mit einem World Wide Web Browser (z. B. Microsoft® Internet Explorer® verfügbar von Microsoft Corporation, Mozilla® Firefox verfügbar von Mozilla Corporation). Eine mobile Rechenvorrichtung umfasst z. B. einen Blackberry®. IP-Phones umfassen z. B. ein Cisco® Unified IP Phone 7985G verfügbar von Cisco Systems, Inc., und/oder ein Cisco® Unified Wireless Phone 7920 verfügbar von Cisco Systems, Inc.
  • Ein Fachmann wird realisieren, dass die Erfindung in anderen spezifischen Formen verkörpert sein kann, ohne vom Geist oder den wesentlichen Charakteristiken davon abzuweichen. Die vorangegangenen Ausführungsformen sind somit in allen Bezügen als veranschaulichend anstatt beschränkend für die Erfindung, welche hierin beschrieben ist, anzusehen. Der Geltungsbereich der Erfindung ist somit angedeutet durch die angehängten Ansprüche anstatt durch die vorangegangene Beschreibung und alle Änderungen, welche innerhalb der Bedeutung und dem Bereich der Äquivalenz der Ansprüche kommen, sind somit als darin umfasst beabsichtigt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 6798925 [0025]
    • US 7016539 [0032]
    • US 7065262 [0032]
  • Zitierte Nicht-Patentliteratur
    • ”Computer Graphics: principles and practice”, James D. Foley (1996) [0029]

Claims (17)

  1. Computerimplementiertes Verfahren zum Auffinden von Korrespondenzen einer oder mehrerer Teile in einem Kamerabild von zwei oder mehreren Kameras aufweisend: für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera, Berechnen eines ersten 3D-Strahls, welcher eine erste Rückprojektion einer ersten Merkmalskoordinate des ersten Teils in dem ersten Kamerabild zu einem 3D-physischen Raum ist; für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate des zweiten Teils in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die zweite Merkmalskoordinate mit einem ersten Merkmal, wie in einem Modell identifiziert, korrespondieren; und Berechnen eines ersten Abstands zwischen dem ersten 3D-Strahl und dem zweiten 3D-Strahl.
  2. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: für den ersten Teil in dem ersten Kamerabild der ersten Kamera, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate in dem ersten Kamerabild zu dem 3D-physischen Raum ist, für den zweiten Teil in dem zweiten Kamerabild der zweiten Kamera, Berechnen eines vierten 3D-Strahls, welcher eine vierte Rückprojektion einer vierten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die dritte Merkmalskoordinate und die vierte Merkmalskoordinate mit einem zweiten Merkmal, wie in dem Modell identifiziert, korrespondieren; und Berechnen eines zweiten Abstands zwischen dem dritten 3D-Strahl und dem vierten 3D-Strahl.
  3. Computerimplementiertes Verfahren gemäß Anspruch 2, weiterhin aufweisend: Berechnen eines Kandidatenteilkorrespondenzstands basierend auf mindestens einem des ersten Abstands und des zweiten Abstands.
  4. Computerimplementiertes Verfahren gemäß Anspruch 3, wobei der Kandidatenteilkorrespondenzstand ein Durchschnitt des ersten Abstands und des zweiten Abstands ist.
  5. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: Ausschließen eines Paares des ersten Teils in dem ersten Kamerabild der ersten Kamera und des zweiten Teils in dem zweiten Kamerabild der zweiten Kamera als eine Kandidatenteilkorrespondenz, wenn der erste Abstand eine vorbestimmte Schwelle überschreitet.
  6. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: für einen dritten Teil in einem dritten Kamerabild einer dritten Kamera, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate des dritten Teils in dem dritten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate, die zweite Merkmalskoordinate und die dritte Merkmalskoordinate mit dem ersten Merkmal, wie in dem Modell identifiziert, korrespondieren, und Berechnen eines zweiten Abstands zwischen dem dritten 3D-Strahls und einem ersten Punkt zwischen nächsten Punkten auf den ersten und den zweiten 3D-Strahlen.
  7. Computerimplementiertes Verfahren gemäß Anspruch 1, weiterhin aufweisend: für einen dritten Teil in einem dritten Kamerabild einer dritten Kamera, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate des dritten Teils in dem dritten Kamerabild zu dem 3D-physichen Raum ist, wobei die erste Merkmalskoordinate, die zweite Merkmalskoordinate und die dritte Merkmalskoordinate mit dem Merkmal, wie in dem Modell identifiziert, korrespondieren, und Berechnen eines zweiten Abstands zwischen dem ersten 3D-Strahl und dem dritten 3D-Strahl und Berechnen eines dritten Abstands zwischen dem zweiten 3D-Strahl und dem dritten 3D-Strahl.
  8. Computerimplementiertes Verfahren zum Auffinden einer Korrespondenz einer oder mehrerer Teile in einem Kamerabild von zwei oder mehreren Kameras, aufweisend: für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera, Berechnen eines ersten 3D-Strahls, welcher eine Rückprojektion einer ersten Merkmalskoordinate in dem ersten Kamerabild zu einem 3D-physischen Raum ist, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate in dem ersten Kamerabild zu dem 3D-physischen Raum ist; für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, Berechnen eines vierten 3D-Strahls, welcher eine vierte Rückprojektion einer vierten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die dritte Merkmalskoordinate mit einem gleichen ersten Merkmal wie in einem Modell identifiziert korrespondieren und die zweite Merkmalskoordinate und die vierte Merkmalskoordinate mit einem gleichen zweiten Merkmal wie in dem Modell identifiziert korrespondieren; und Berechnen eines ersten Punkts zwischen nächsten Punkten auf dem ersten und dritten 3D-Strahl und eines zweiten Punkts zwischen nächsten Punkten auf dem zweiten und dem vierten 3D-Strahl.
  9. Verfahren gemäß Anspruch 8, weiterhin aufweisend Berechnen des Abstands zwischen dem ersten Punkt und dem zweiten Punkt.
  10. Verfahren gemäß Anspruch 9, weiterhin aufweisend Vergleichen des Abstands mit einem vorbestimmten Wert, um den Abstandsrest zu bestimmen.
  11. Verfahren gemäß Anspruch 10, wobei der vorbestimmte Wert auf dem ersten Merkmal und dem zweiten Merkmal basiert, wie in dem Modell identifiziert.
  12. Verfahren gemäß Anspruch 10, wobei der vorbestimmte Wert auf einem eingegeben Wert basiert.
  13. Verfahren gemäß Anspruch 10, weiterhin aufweisend Berechnen eines Kandidatenkorrespondenzstands basierend auf dem Abstandsrest.
  14. Verfahren gemäß Anspruch 13, weiterhin aufweisend Ausschließen eines Paares des ersten Teils in dem ersten Kamerabild und des zweiten Teils in dem zweiten Kamerabild als eine Kandidatenteilkorrespondenz, wenn der Abstandrest eine vorbestimmte Schwelle überschreitet.
  15. Verfahren gemäß Anspruch 10, weiterhin aufweisend Berechnen eines ersten Abstands zwischen dem ersten 3D-Strahl und dem dritten 3D-Strahl und Berechnen eines zweiten Abstands zwischen dem zweiten 3D-Strahl und dem vierten 3D-Strahl; und Berechnen eines Kandidatenteilkorrespondenzstands basierend auf dem Abstandsrest, dem ersten Abstand und dem zweiten Abstand.
  16. System aufweisend: zwei oder mehrere Kameras, ein Korrespondenzmodul eingerichtet zum: für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera der zwei oder mehreren Kameras, Berechnen eines ersten 3D-Strahls, welcher eine erste Rückprojektion einer ersten Merkmalskoordinate des ersten Teils in dem ersten Kamerabild zu einem 3D-physischen Raum ist; für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera der zwei oder mehreren Kameras, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate des zweiten Teils in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die zweite Merkmalskoordinate mit einem ersten Merkmal, wie in einem Modell identifiziert, korrespondieren; und Berechnen eines ersten Abstands zwischen dem ersten 3D-Strahl und dem zweiten 3D-Strahl.
  17. System aufweisend: zwei oder mehrere Kameras; ein Korrespondenzmodul eingerichtet zum: für einen ersten Teil in einem ersten Kamerabild einer ersten Kamera der zwei oder mehreren Kameras, Berechnen eines ersten 3D-Strahls, welcher eine Rückprojektion einer ersten Merkmalskoordinate in dem ersten Kamerabild zu einem 3D-physischen Raum ist, Berechnen eines zweiten 3D-Strahls, welcher eine zweite Rückprojektion einer zweiten Merkmalskoordinate in dem ersten Kamerabild zu dem 3D-physischen Raum ist; für einen zweiten Teil in einem zweiten Kamerabild einer zweiten Kamera der zwei oder mehreren Kameras, Berechnen eines dritten 3D-Strahls, welcher eine dritte Rückprojektion einer dritten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, Berechnen eines vierten 3D-Strahls, welcher eine vierte Rückprojektion einer vierten Merkmalskoordinate in dem zweiten Kamerabild zu dem 3D-physischen Raum ist, wobei die erste Merkmalskoordinate und die dritte Merkmalskoordinate mit einem gleichen ersten Merkmal wie in einem Modell identifiziert korrespondieren und die zweite Merkmalskoordinate und die vierte Merkmalskoordinate mit einem gleichen zweiten Merkmal wie in dem Modell identifiziert korrespondieren; und Berechnen eines ersten Punkts zwischen nächsten Punkten auf dem ersten und dritten 3D-Strahl und eines zweiten Punkts zwischen nächsten Punkten auf dem zweiten und dem vierten 3D-Strahl.
DE102012223047.5A 2011-12-16 2012-12-13 Mehrteil-Korrespondierer (corresponder) für mehrere Kameras Active DE102012223047B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161576952P 2011-12-16 2011-12-16
US61/576,952 2011-12-16

Publications (2)

Publication Number Publication Date
DE102012223047A1 true DE102012223047A1 (de) 2013-07-11
DE102012223047B4 DE102012223047B4 (de) 2015-09-10

Family

ID=48609738

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012223047.5A Active DE102012223047B4 (de) 2011-12-16 2012-12-13 Mehrteil-Korrespondierer (corresponder) für mehrere Kameras

Country Status (4)

Country Link
US (1) US10097811B2 (de)
JP (3) JP2013137760A (de)
CN (1) CN103208112B (de)
DE (1) DE102012223047B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582864B2 (en) * 2014-01-10 2017-02-28 Perkinelmer Cellular Technologies Germany Gmbh Method and system for image correction using a quasiperiodic grid
GB2532077B (en) * 2014-11-10 2017-11-22 Vision Rt Ltd Method of calibrating a patient monitoring system for use with a radiotherapy treatment apparatus
JP7013144B2 (ja) * 2016-10-12 2022-01-31 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP6766995B2 (ja) * 2016-11-09 2020-10-14 株式会社ミツトヨ 位相シフト干渉計
CN110969662B (zh) * 2018-09-28 2023-09-26 杭州海康威视数字技术股份有限公司 鱼眼摄像机内参标定方法、装置、标定装置控制器和系统
CN112797900B (zh) * 2021-04-07 2021-07-06 中科慧远视觉技术(北京)有限公司 多相机板材尺寸测量方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798925B1 (en) 2000-12-22 2004-09-28 Cognex Corporation Method and apparatus for calibrating an image acquisition system
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US7065262B1 (en) 1997-11-26 2006-06-20 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724493A (en) * 1994-12-13 1998-03-03 Nippon Telegraph & Telephone Corporation Method and apparatus for extracting 3D information of feature points
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
US20090010507A1 (en) * 2007-07-02 2009-01-08 Zheng Jason Geng System and method for generating a 3d model of anatomical structure using a plurality of 2d images
US8442304B2 (en) * 2008-12-29 2013-05-14 Cognex Corporation System and method for three-dimensional alignment of objects using machine vision
US11699247B2 (en) * 2009-12-24 2023-07-11 Cognex Corporation System and method for runtime determination of camera miscalibration
JP5024410B2 (ja) * 2010-03-29 2012-09-12 カシオ計算機株式会社 三次元モデリング装置、三次元モデリング方法、ならびに、プログラム
JP5346863B2 (ja) * 2010-03-30 2013-11-20 大日本スクリーン製造株式会社 3次元位置・姿勢認識装置およびそれを用いたシステム、方法、プログラム
US8811719B2 (en) * 2011-04-29 2014-08-19 Microsoft Corporation Inferring spatial object descriptions from spatial gestures
US8432435B2 (en) * 2011-08-10 2013-04-30 Seiko Epson Corporation Ray image modeling for fast catadioptric light field rendering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065262B1 (en) 1997-11-26 2006-06-20 Cognex Corporation Fast high-accuracy multi-dimensional pattern inspection
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US6798925B1 (en) 2000-12-22 2004-09-28 Cognex Corporation Method and apparatus for calibrating an image acquisition system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Computer Graphics: principles and practice", James D. Foley (1996)

Also Published As

Publication number Publication date
CN103208112B (zh) 2017-09-15
JP2018092636A (ja) 2018-06-14
US10097811B2 (en) 2018-10-09
DE102012223047B4 (de) 2015-09-10
US20130155199A1 (en) 2013-06-20
CN103208112A (zh) 2013-07-17
JP2015072715A (ja) 2015-04-16
JP2013137760A (ja) 2013-07-11

Similar Documents

Publication Publication Date Title
DE112012001984B4 (de) Integrieren von Video-Metadaten in 3D-Modelle
DE112018000332T5 (de) Dichtes visuelles slam mit probabilistic-surfel-map
DE102012223047A1 (de) Mehrteil-Korrespondierer für mehrere Kameras
DE112016001830T5 (de) Das Entdecken von Unternehmen aus Bildern
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE102017116192A1 (de) Verwenden von virtuellen Daten zum Testen und Trainieren von Parkplatzerfassungssystemen
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
DE112010004767T5 (de) Punktwolkedaten-Verarbeitungsvorrichtung, Punktwolkedaten-Verarbeitungsverfahren und Punktwolkedaten-Verarbeitungsprogramm
WO2011023657A1 (de) Verfahren und vorrichtung zum zusammenfügen von mehreren digitalen einzelbildern zu einem gesamtbild
DE112006003380T5 (de) Verfahren und Vorrichtung für die Positionsabgleichung von dreidimensionalen Formdaten
DE112011103690T5 (de) Erkennung und Verfolgung sich bewegender Objekte
DE112006003361T5 (de) Verfahren und Vorrichtung für das Aufzeichnen/Anzeigen von dreidimensionalen Formdaten und Verfahren und Vorrichtung für das Messen einer dreidimensionalen Form
DE202016008004U1 (de) Automatische Verbindung von Bildern unter Verwendung visueller Eigenschaftsquerverweise auf zugehörige Anwendungen
DE102019102866A1 (de) Identifizierung eines Herstellungsteils unter Verwendung von Computervision und Maschinenlernen
DE202015009137U1 (de) Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern
DE102016014188A1 (de) Erzeugung eines 3-D-Modells aus 2-D-Bildern
DE202014010895U1 (de) Techniken für die Navigation zwischen mehreren Bildern
DE202016006008U1 (de) Automatische Erkennung von Panoramagesten
DE102017116853A1 (de) System und Verfahren zur automatischen Auswahl von 3D-Ausrichtungsalgorithmen in einem Sehsystem
DE102019122402A1 (de) Das klassifizieren von zeitreihenbilddaten
DE102015115789A1 (de) Doppler-basierte Segmentierung und optischer Fluss in Radarbildern
EP2859531B1 (de) Verfahren zur bildbasierten veränderungserkennung
DE102019105293A1 (de) Schätzung der Bewegung einer Bildposition
DE102006028813A1 (de) Einarbeitung früherer Informationen von vorausgerichteten Bildpaaren in der Bildregistrierung auf Basis eines Euklidschen minimalen Aufspannbaums
DE102016223079B4 (de) Verfahren und Vorrichtung zur Ermittlung einer Zuordnung zwischen einem Matrixelement einer Matrix und einem Vergleichsmatrixelement einer Vergleichsmatrix mittels Korrespondenztabelle

Legal Events

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