DE112010005008B4 - System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb - Google Patents

System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb Download PDF

Info

Publication number
DE112010005008B4
DE112010005008B4 DE112010005008.2T DE112010005008T DE112010005008B4 DE 112010005008 B4 DE112010005008 B4 DE 112010005008B4 DE 112010005008 T DE112010005008 T DE 112010005008T DE 112010005008 B4 DE112010005008 B4 DE 112010005008B4
Authority
DE
Germany
Prior art keywords
cameras
grouping
feature
camera
accuracy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112010005008.2T
Other languages
English (en)
Other versions
DE112010005008T5 (de
Inventor
Xiangyun Ye
David Y. Li
Guruprasad Shivaram
David J. Michael
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cognex Corp
Original Assignee
Cognex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cognex Corp filed Critical Cognex Corp
Publication of DE112010005008T5 publication Critical patent/DE112010005008T5/de
Application granted granted Critical
Publication of DE112010005008B4 publication Critical patent/DE112010005008B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Studio Devices (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

Diese Erfindung sieht ein System und ein Verfahren zur Bestimmung während der Laufzeit (Eigendiagnose) von Kamerafehlkalibrierung (Genauigkeit) vor, das sich typischerweise auf extrinsische Kamerawerte bezieht, die auf historischen Statistiken von Laufzeitausrichtungsergebnissen von Objekten beruhen, die in der Szene erfasst werden, die auf der Anpassung von beobachteten und erwarteten Bilddaten von trainierten Objektmodellen beruhen. Diese Anordnung vermeidet es, dass die Laufzeitoperation des Bildverarbeitungssystems eingestellt werden muss und/oder die Produktionslinie, die vom Biuldverarbeitungssystem bedient wird, gestoppt werden muss, um zu diagnostizieren, ob die Kamera(s) des Systems weiterhin kalibriert ist/sind. Angenommen, dass Objekte oder Merkmale, die vom Bildverarbeitungssystem über die Zeit überprüft werden, im Wesentlichen die gleichen sind, sammelt das Bildverarbeitungssystem Statistiken von Teileausrichtungsergebnissen und speichert Zwischenresultate, die als Indikator für die gegenwärtige Systemgenauigkeit verwendet werden. Bei Mehrkamerabildverarbeitungssystemen wird anschaulicherweise Vergleichsprüfung angewandt, um einzelne Problemkameras zu identifizieren. Das System und Verfahren macht schnellere, ökonomischere und direktere Diagnose von Bildverarbeitungssystemfehlern möglich, die mit nachlassender Kamerakalibrierung in Verbindung stehen.

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung betrifft Bildverarbeitungssyteme und insbesondere Kalibrierung von Bildverarbeitungssystemkameras.
  • HINTERGRUND DER ERFINDUNG
  • Bildverarbeitungssysteme werden in der Industrie im Allgemeinen eingesetzt, um die Ausrichtung von Teilen und Objekten in Bezug auf einen vorher festgelegten zwei (2D)- oder drei (3D)-dimensionalen Koordinatenraum zu bestimmen. Diese Systeme setzen verschiedene Techniken und Programme ein, um Ausrichtung von Objekten zu bestimmen, die oft auf trainierten Modellen der Objekte beruhen. Kamerakalibrierung ist ein wesentlicher Schritt beim Computersehen - sowohl bei zweidimensionalen (2D) als auch bei dreidimensionalen (3D) Abbildungssystemen. Kamerakalibrierung schließt die Modellierung einer Position der Kamera und von Linsenmerkmalen, die als extrinsische und intrinsische Parameter bekannt sind, ein. Kamerakalibrierung kann entweder an einer einzelnen oder an einer Anordnung von mehreren Kameras, wie etwa einem System, das eine oder mehrere Stereokameraköpfe einschließt, durchgeführt werden. Stereokameraköpfe und andere Formen von 3D-Sensoren machen die Erzeugung einer 3D-Tiefenabbildung eines Objekts möglich. Die Kalibrierung dieser Kameras bestimmt die Beziehung zwischen den beobachteten 2D-Abbildungsräumen und der 3D-Welt. Nach der Kamerakalibrierung können die 3D-Informationen aus den 2D-Computerbildkoordinaten abgeleitet werden, und in ähnlicher Weise können die 2D-Bildkoordinaten aus den 3D-Informationen abgeleitet werden.
  • Insbesondere schließt Kamerakalibrierung die Modellierung eines Bildentstehungssystems durch die Beurteilung der internen geometrischen und optischen Kameramerkmale (intrinsische Parameter, die effektive Brennweite oder Abstand Bildebene zu Projektionsmitte, Linsenverzerrungskoeffizient, Skalierungsfaktor für x aufgrund des Fehlers der Kameraabtastung und des Erfassungstimings, Computerbildkoordinate für den Ursprung in der Bildebene einschließen) und der 3D-Position und -Ausrichtung der Kamera relativ zu einem definierten Weltkoordinatensystem (extrinsische Parameter) ein. Die intrinsischen und extrinsischen Werte einer Kamera (oft auch Kamerakalibrierungsparameter genannt) werden bei Ausrichtungaufgaben im Laufzeitbetrieb oder Überprüfungsaufgaben eingesetzt, um die Linsenverzerrung zu beseitigen und die beobachteten 2D-Bildmerkmalspunkte in einem 3D-Raum zu interpretieren. Die Genauigkeit der Kamerakalibrierung beeinflusst unmittelbar die Leistung eines Bildverarbeitungssystems.
  • Der Einsatz einer oder mehrerer 2D- oder 3D-Kameras an einem oder mehreren entsprechenden Aussichtspunkten um eine Szene, die ein Objekt enthält herum kann Vorteile beim Erzeugen eines Gesamtbildes des Subjektobjekts mit Blick auf einen Weltkoordinatenraum haben. Durch die Kombination der Bilder von verschiedenen Kameras, werden viele Verdeckungen und Behinderungen von Teilen des Objekts, die in einem oder mehreren Bildern erscheinen können, durch Bilder aus anderen Blickrichtungen kompensiert. So ist in allen Fällen, aber besonders da, wo ein Bildverarbeitungssystem eine Vielzahl von 2D- oder 3D-Kameras einsetzen kann, die Genauigkeit der Kamerakalibrierung entscheidend für die Gesamtleistung des Bildverarbeitungssystems. Allerdings wird die Kamerakalibrierung normalerweise als einmaliger Vorgang für das Einrichten des Bildverarbeitungssystems angesehen. Normalerweise wird sie von Technikern durchgeführt, die wesentlich mehr Kenntnisse über das Bildverarbeitungssystem besitzen als die typischen Benutzer während der Laufzeit, die oft Fließbandarbeiter und ihre Vorgesetzten sind. So werden typischerweise die Kameraparameter - nachdem das System kalibriert wurde - wiederholt durch Arbeiten des Computersehens durch diese Benutzer während der Laufzeit ohne Rücksicht auf die wirkliche Genauigkeit der augenblicklichen Kalibrierung verwendet. Da Kalibrierung eine aufwendige und zeitintensive Aufgabe darstellt, die von erfahrenen Technikern ausgeführt wird, wird sie am besten nur dann vorgenommen, wenn sie wirklich notwendig ist.
  • Wenn allerdings das Bildverarbeitungssystem in einer ungünstigen Umgebung, wie etwa einem Fließband, arbeitet, kann sich die tatsächliche Kameraposition und Linsenverzerrungen je nach Wärmeausdehnung, Vibration, unbeabsichtigter Änderung der Brennweite etc. ändern. Als Folge davon kann die Anwendung des Computersehens nicht optimal arbeiten, wenn die Kamerakalibrierung nicht mehr das Verhältnis zwischen beobachteten 2D-Bildern und der 3D-Welt darstellt. Weiterhin, selbst wenn eine Anordnung für Computersehen nicht optimal arbeitet, kann es schwierig sein, den Grund für die nachlassende Leistung der Anordnung wegen der Kamerafehlkalibrierung nachzuverfolgen.
  • Überprüfung von Kamerakalibrierung in regelmäßigen Abständen kann eine Hilfe sein, um sicherzustellen, dass Kameras mit akzeptablen Kalibrierungsparametern funktionieren, und unnötige Kalibrierungsvorgänge vermeiden, oder im Gegenzug dass unkalibrierte Kameras weiterlaufen. Ein neuer und effektiver Ansatz für eine regelmäßige Überprüfung von Kamerakalibrierung, der sich auf eine einzelne oder eine Vielzahl von 2D- oder 3D-Kameras anwenden lässt, zeigt die US Patentanmeldung, Seriennummer 12/346.773, veröffentlicht als US 9,734,419 B1 mit dem Titel SYSTEM AND METHOD FOR VALIDATING CAMERA CALIBRATION IN A VISION SYSTEM von Xiangyun Ye et al., auf deren Lehre hierin als wichtige Hintergrundinformation Bezug genommen wird. Kurz gesagt, hat dieser Überprüfungsvorgang zur Folge, dass das Kamerasystem aus dem laufenden Betrieb genommen wird und dass ein Kalibrierungsziel ins Blickfeld der Kameras gesetzt wird. Unter Einsatz dieses Ziels wird dann ein Überprüfungsvorgang vorgenommen, normalerweise von den Laufzeitbenutzern des Systems, weniger von Kalibrierungstechnikern. Dieser Vorgang ergibt dann die gegenwärtigen intrinsischen und (im Falle von Mehrkamerasystemen) extrinsischen Parameter. Intrinsische Parameter schließen effektive Brennweite oder Entfernung von Bildebene zum Projektionszentrum, Linsenverzerrungs-koeffizient, Skalierungsfaktor für x, Verschiebung beim Ursprung der erfassten Bilder je nach Kameraabtastung und Timing-Erfassungsfehler ein. Extrinsische Parameter sind normalerweise durch die 3D-Position und -Ausrichtung der Kamera relativ zu einem gegebenen Weltkoordinatensystem definiert. Diese geltenden Parameter werden in Bezug auf gespeicherte, die Einrichtungszeit betreffende intrinsische und extrinsische Werte analysiert, um zu bestimmen, ob das Kamerasystem und/oder einzelne Kameras darin innerhalb der akzeptablen Kalibrierung bleiben. Dieser Überprüfungsvorgang verkürzt die Stillstandszeit des Systems erheblich, weil der Überprüfungsvorgang nur einen Bruchteil der Kalibrierungszeit in Anspruch nimmt, und eine erneute Kalibrierung nur ausgeführt werden muss, wenn der Überprüfungsvorgang ergibt, dass die Kamera „aus der Kalibrierung“ ist. Er kann ebenfalls von den Laufzeitbenutzern des Systems ausgeführt werden. Trotzdem macht es der Ansatz noch notwendig, dass das System aus der Produktion genommen wird, wenn der Überprüfungsvorgang ausgeführt wird. Die Häufigkeit der Durchführung der Überprüfung kann sich als problematisch erweisen, da die Überprüfung oft mehrere Stillstandszeiten des Bildverarbeitungssystems erforderlich macht, was den Durchsatz der Produktionslinie reduziert. Im Gegenzug kann eine zu seltene Überprüfung das 3D-Bildverarbeitungssystem dem Risiko aussetzen, dass zu viele Stücke als Ausschuss zurückgewiesen oder angenommen werden, wenn die Kamerakalibrierung sich verschlechtert.
  • Aus dem Stand der Technik ist weiterhin der Artikel Shu, Fangwu, Jianwei Zhang, and Youfu Li. „A multi-camera system for precise pose estimation in industrial applications." Automation and Logistics, 2009. ICAL'09. IEEE International Conference on. IEEE, 2009, (Conference: 5-7 Aug. 2009; in IEEE Xplore: 25 September 2009) bekannt, des sich unter Anderem mit der Kalibrierung von Kamerasystemen befasst.
  • Auch der Artikel A. Zomet, L. Wolf and A. Shashua, „Omni-rig: linear self-recalibration of a rig with varying internal and external parameters," Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001, Vancouver, BC, 2001, pp. 135-141 vol.1.doi: 10.1109/ICCV.2001.937509 beschäftigt sich mit Problemen bei der Kamerakalibrierung.
  • Schließlich ist aus dem Stand der Technik der Artikel C. Hermans, M. Dumont and P. Bekaert, „Extrinsic Recalibration in Camera Networks" Computer and Robot Vision, 2007. CRV '07. Fourth Canadian Conference on, Montreal, Que., 2007, pp. 3-10. doi: 10.1109/CRV.2007.31 bekannt.
  • Alle bekannten Systeme und Verfahren weisen Nachteile bezüglich für die Kalibrierung anfallender Ausfallzeiten der Kamerasysteme auf.
  • Deshalb ist es wünschenswert, ein System und ein Verfahren für eine Diagnose der Kalibrierung eines Kamerasystems während der Laufzeit vorzusehen, bei dem das System nicht abgeschaltet werden muss, oder für einen getrennten Überprüfungsvorgang, der von den Systembetreibern vorgenommen wird. Ein solches System und Verfahren sollte eine häufige Überprüfung ermöglichen, die besser sicherstellt, dass keine falschen Ablesewerte als Folge eines außerhalb der Kalibrierung stehenden Kamerasystems auftreten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Diese Erfindung stellt ein System und ein Verfahren für die Bestimmung während der Laufzeit (Selbstdiagnose) von Kamerafehlkalibrierung (Genauigkeit) zur Verfügung, das normalerweise mit den extrinsischen Werten der Kamera zusammenhängt und das auf historischen Statistiken von Laufzeitmessungen von Objekten, die in der Szene erfasst wurden, beruht. Ein Beispiel der Laufzeitmessung ist das Ausrichtungsergebnis, das auf der Anpassung von beobachteten und erwarteten Bilddaten von trainierten Objektmodellen basiert. Dieser Anordnung vermeidet, dass der laufende Betrieb des Bildsystems beendet werden und/oder die Produktionslinie, die vom Bildsystem bedient wird, gestoppt werden muss, um zu diagnostizieren, ob die Kamera(s) des Systems kalibriert bleiben. Unter der Annahme, dass Objekte oder Merkmale, die vom Bildverarbeitungssystem im Laufe der Zeit überprüft werden, im Wesentlichen die gleichen sind, sammelt das Bildverarbeitungssystem Statistiken von Teileausrichtungs-ergebnissen an und speichert Zwischenergebnisse, die als Indikator für die gegenwärtige Systemgenauigkeit verwendet werden sollen. Für Bildverarbeitungssysteme mit mehreren Kameras wird zur Erläuterung eine Vergleichsprüfung eingesetzt, um einzelne Problemkameras zu identifizieren. Das System und Verfahren ermöglicht eine schnellere, weniger kostenintensive und gezieltere Diagnose von Fehlern in Bildverarbeitungssystemen im Zusammenhang mit sich verschlechternder Kamerakalibrierung.
  • Das der Erfindung zu Grunde liegende Problem wird gelöst durch ein Verfahren gemäß Anspruch 1, durch ein Verfahren gemäß Anspruch 15, sowie durch Systeme gemäß den Ansprüchen 17 und 20. Die Unteransprüche stellen bevorzugte Ausführungsformen der Lösung dar.
  • In einem Anschauungsbeispiel wird ein System, das eine Vielzahl von Kameras, anschaulicher Weise drei oder mehr Kameras, umfasst, von diskreten Blickwinkeln heraus auf eine Szene gerichtet. Die mindestens drei Kameras sind anfänglich kalibriert, was das Auffinden entsprechender extrinsischer Kalibrierungsparameter für jede der mindestens drei Kameras einschließt. Ein erstes Objektmerkmal oder das ganze Objekt (oder ein Teil davon) wird im dreidimensionalen Raum mit einer ersten Vielzahl der mindestens drei Kameras aufgefunden. Eine erste Messung des ersten Objektmerkmals oder einer ersten Objektlage wird dann abgeleitet. Ein zweites Objektmerkmal oder das ganze Objekt (oder ein Teil davon) wird im dreidimensionalen Raum mit einer zweiten Vielzahl der mindestens drei Kameras aufgefunden. Eine zweite Messung des zweiten Objektmerkmals oder der zweiten Objektlage wird dann abgeleitet. Das aufgefundene erste Merkmal kann im Wesentlichen ähnlich sein wie das aufgefundene zweite Merkmal, oder die beiden Merkmale können sich unterscheiden und durch bekannte physikalische Größen getrennt werden. Die erste Messung und die zweite Messung werden dann mit Blick auf jeweils eines von: (i) eine beim Kalibrierungsvorgang ermittelte Genauigkeit, (ii) eine gewünschte Systemgenauigkeit und (iii) eine bekannte Eigenschaft der beiden Merkmale, verglichen. Anschaulicherweise umfasst die erste Messung eine erste geschätzte Position des ersten Merkmals und die zweite Messung umfasst eine geschickte zweite Position des zweiten Merkmals. Die erste Messung kann eine Erfolgsrate bei der Auffindung des ersten Merkmals umfassen und die zweite Messung kann etliche Erfolge bei der Auffindung des zweiten Merkmals umfassen. In einer Ausführungsform schließt der Vergleichsschritt oder -Vorgang die Berechnung einer Abweichung von erster und zweiter Messung und den Vergleich der Abweichung mit Blick auf jeweils mindestens eines von: (i) die Genauigkeit, die bei der Kalibrierung ermittelt wurde, (ii) die gewünschte Systemgenauigkeit und (iii) eine bekannte Eigenschaft des Objekts, ein.
  • In illustrativen Ausführungsformen wird als Antwort auf den Vergleichsschritt oder -Vorgang ein Signal ausgegeben, das eine erforderliche Neukalibrierung basierend auf einem Ergebnis des Vergleichsschrittes anzeigt, der mindestens einen der Punkte überschreitet: (i) Genauigkeit, die beim Schritt (a) bestimmt wurde und (ii) die gewünschte Systemgenauigkeit. Dies kann die Erzeugung von neuen extrinsischen Parametern, die auf dem Vergleich beruhen, und die Bereitstellung der extrinsischen Kalibrierungsparameter für mindestens eine der mindestens drei Kameras einschließen, so dass die mindestens eine der mindestens drei Kameras neu kalibriert wird. Anschaulicherweise kann das System von mindestens drei Kameras eine Überprüfungsfunktion für ein Bildverarbeitungssystem einschliessen, um eine Überprüfung der Laufzeitbild-verarbeitung für Objekte durchzuführen, die einen Volumenraum, der von den mindestens drei Kameras gesehen wird, durchlaufen. Diese Objekte bilden die Grundlage für die Erzeugung von Messungen durch die Vielzahl an Kameras.
  • Figurenliste
  • Die untenstehende Beschreibung der Erfindung bezieht sich auf die beigefügten Zeichnungen, in welchen:
    • 1 ein Diagramm eines Bildverarbeitungs-systems ist, das mindestens drei diskreten Kameras zur Erfassung von Bildern eines Objekts innerhalb einer Szene im dreidimensionalen Raum gemäß einem Anschauungsbeispiel einsetzt, einschließlich eines exemplarischen Kalibrierungsobjekts, das für eine Anfangskalibrierung des Kamerasystems verwendet wird;
    • 1A ein Diagramm eines beispielhaften Systems von drei Kameras ist, das eingesetzt wird, um Aufgaben der Bildverarbeitung in Bezug auf ein Objekt zu übernehmen;
    • 1B ein Diagramm eines beispielhaften Systems von vier Kameras, das eingesetzt wird, um Aufgaben der Bildverarbeitung in Bezug auf ein Objekt zu übernehmen;
    • 1C ein Diagramm eines beispielhaften Systems, bei dem zwei Paare (zwei Vielzahlen) von Kameras jeweils Aufgaben der Bildverarbeitung in Bezug auf ein Objekt übernehmen, wobei jede der Vielzahlen in Bezug auf ein, unterschiedliches diskretes Merkmal des Objekts arbeitet;
    • 2 ein Blockdiagramm des Einrichtungs- und Kalibrierungsvorgangs für ein Bildverarbeitungssystem, das mindestens drei Kameras und die Laufzeitüberprüfung und das Eigendiagnoseverfahren aufweist, gemäß eines Anschauungsbeispiels;
    • 3 ein Diagramm, das die verschiedenen Fehlerstatistiken zeigt, deren Teilmengen beim Eigendiagnoseverfahren der 2 verwendet werden;
    • 4 ein Flussdiagramm für ein illustratives Vorgehen bei der Durchführung einer Laufzeiteigendiagnose, der eine erneute Kalibrierung, gemäß dem System und dem Verfahren hierin, folgt;
    • 5 eine grafische Darstellung der Abbildungspunkte zwischen einem 3D-Weltkoordinatenraum und einem 2D-Kamerakoordinatenraum, zum Einsatz in Ausführungsformen hier; und
    • 6 eine grafische Darstellung einer Triangulation eines Punktes in einem Weltkoordinatensystem aus seinen Bildpunkten in zwei oder mehr (eine Vielzahl von) Kameras zum Einsatz in Ausführungsformen hierin, ist.
  • GENAUE BESCHREIBUNG
  • Systemüberblick und Kalibrierung
  • 1 zeigt eine typische Anordnung für ein Bildverarbeitungssystem 100 zur Bestimmung der zwei-(2D) oder dreidimensionalen (3D) Ausrichtung oder Lage einer betrachteten Szene, die ein oder mehrere Laufzeitobjekte einschließen kann, die geprüft oder ausgerichtet werden, auf die ein Robotergreifarm oder irgendeine andere Operation einwirkt, die von Vorgängen des Computersehens gesteuert oder unterstützt wird. Das System kann gemäß einer illustrativen Ausführungsform dieser Erfindung kalibriert werden (und die Kalibrierung kann später der Eigendiagnose unterzogen werden).
  • Im Allgemeinen kann das System 100 jede Bildverarbeitungssystemanordnung sein, die mindestens drei Kameras enthält, die die Szene 128, die das Objekt enthält, innerhalb ihres Blickwinkels haben. Die Kamera(s) oder Sensor(en) 120, 122, 124 kann/können jeweils eine 2D-Kamera, wie gezeigt, umfassen, oder optional einen 3D-Sensor. Wo zur Verfügung gestellt, kann ein 3D-Sensor angepasst werden, um Tiefenbilder einer Szene zu erzeugen, indem optische Triangulation zwischen zwei diskreten Kameras (binokulare Optik) innerhalb eines Stereokamerakopfes, der von einer bekannten Grundlinie dazwischen getrennt ist, eingesetzt wird. Allgemeiner, kann ein 3D-Sensor auf verschiedenen Abtastmodalitäten basieren, die Tiefendaten erzeugen können, indem sie eine Anzahl von Techniken anwenden, wobei die Anzahl von Techniken wie Stereoabbildung (Mehrfachkamera), Light Detection and Ranging oder LIDAR, strukturiertes Licht oder Vorrichtungen, die einen Abtastlaser verwenden, einschließt, hierauf jedoch nicht beschränkt ist. In ähnlicher Weise können 2D- und 3D-Abbildungsvorrichtungen gemäß einer Anzahl von Prinzipien, einschließlich CCD und CMOS arbeiten. Für entweder 2D-Kameras oder 3D-Sensoren kann eine Vielzahl von zusätzlichen Kameras/Sensoren, die im Allgemeinen als Block 125 dargestellt sind, an unterschiedlichen, diskreten Aussichtspunkten in Bezug auf die Szene 128 angeordnet sein. Wird eine Vielzahl von Stereokameraköpfen zur Verfügung gestellt, sind einzelne Kameras innerhalb jedes Kopfes getrennt durch das System zugänglich oder das Tiefenbild, das vom Kopf erzeugt wird, wird als Rohdatenzufuhr einem Prozessor zur Verfügung gestellt. Dieser Prozessor, an den die 2D-Kamera(s) und/oder 3D-Sensoren angeschlossen ist/sind, ist beispielsweise als Mehrzweckcomputer 130 mit Interface und Bildschirm gezeigt, der einen software- und/oder hardwarebasierten Kalibrierungsvorgang (150) implementiert, und der auch die Laufzeitbildverarbeitungsprozesse (Überprüfung, Ausrichtung, Manipulation etc.) (152) implementiert. Die Anordnung, der Typ und die Position des/der Bildverarbeitungsprozessor(en) sind hoch variabel. In illustrativen Ausführungsformen kann/können der/die Prozessor(en) innerhalb der einen oder mehreren 2D-Kameras und/oder 3D-Sensoren enthalten sein und entsprechende Kabel- oder kabellose Verbindungen zwischen den Mehrfachkameras und/oder den Sensoren können vorgesehen sein.
  • In Ausführungsformen, in denen mehrfache 2D-Kameras und/oder mehrfache 3D-Sensoren eingesetzt werden, legt jede Kamera 120, 122, 124 ihr eigenes, internes Koordinatensystem fest, hier dargestellt als senkrechte x-, y- und z-Achsen 140, 142, 143, wobei z die optische Kameraachse darstellt, die auf die Szene gerichtet ist, und x und y die Bildebene definieren. Der Bildverarbeitungsprozessor (130) ist geeignet, um jedes dieser individuellen Koordinatensysteme der Kameras auf ein gemeinsames 3D-Weltkoordinatensystem 148 zu kalibrieren, das durch die x-, y- und z-Achsen mit Bezug auf die Szene 128 dargestellt ist. Eine allgemeine Abhandlung der 3D-Abbildung und damit in Zusammenhang stehenden Konzepten sind als weiteres allgemein zugeordnetes Hintergrundwissen zu finden in der US Patentanmeldung, Seriennummer 12/345.130, Offenlegungsnummer US 2010-0166294 A1 mit dem Titel SYSTEM AND METHOD FOR THREE-DIMENSIONAL ALIGNMENT OF OBJECTS USING MACHINE VISION von Cyril B. Marrion et al., deren Lehren hier als nützliche Hintergrundinformation eingebunden sind.
  • 1A und 1B zeigen im Detail zwei Beispiele von Kamerasystemanordnungen, die kalibriert und anschließend (wie gezeigt) bei Überprüfungsvorgängen der Bildverarbeitung während der Laufzeit auf Objekten gemäß dieser Erfindung angewendet werden können. Bei jeder gezeigten Anordnung wird die Ausrichtung eines Objektes im dreidimensionalen Raum durch Triangulation der erfassten Merkmale des Bildes und Bewertung der Übereinstimmung der erwarteten Merkmale und der gemessenen Merkmale erreicht.
  • Gemäß der beispielhaften Anordnung mit drei Kameras 153 von 1A sind drei Kameras 154, 155, 156 an unterschiedlichen Ausrichtungen in Bezug auf das Objekt oder das Teil 157, das das Blickfeld des Systems durchläuft, auf der Basis eines bewegten Förderbands oder eines anderen Mechanismus, der eine Abfolge von Objekten, die überprüft und/oder ausgerichtet werden sollen, ermöglicht, positioniert. Dieses System 163 kann unter Anderem eingesetzt werden, um Teile auf Qualität zu überprüfen oder um die Ausrichtung eines Robotergreifarms (nicht gezeigt) zu ermöglichen. Die Kameraanordnung 153 in diesem Beispiel ähnelt im Allgemeinen der, die bei Vision Guided Robotics (VGS)-Anwendungen eingesetzt wird. Bei solchen VGR-Anwendungen ist typischerweise das Teil 157 für alle Kameras 154, 155, 156 sichtbar. Wie weiter unten beschrieben wird, basiert das Ergebnis der Lage eines Teils auf einem Triangulationsfehler, der misst, wie die beobachteten Bilder mit dem trainierten Modell übereinstimmen. In diesem Fall, schließt das Modell eine oder mehrere Eigenschaften 158, 159, 160 ein, die für jede Kamera sichtbar sind, wie mit den gestrichelten Linien dargestellt. Die Querverweisabweichung misst, wie eng sich die Strahlen von gleichen Merkmalspunkten aus Mehrfachkameras gegenseitig schneiden.
  • Eine abweichende beispielhafte Anordnung 161 eines Kamerasystems, das vier Kameras 163, 164, 165, 166 enthält, wird in 1B gezeigt. Jede der Kameras 163, 164, 165, 166 ist auf einer diskreten Position mit Bezug auf das Teil 162 positioniert, wie gezeigt, und jede definiert eine entsprechende Bildebene 167, die mit einer einzelnen x-, y-, z-Orientierung (oder einem anderen Koordinatensystem) ausgerichtet ist. Bei dieser Anordnung muss die Ausrichtung eines Teils 162 nicht auf Kameras beruhen, die allgemeine Merkmale gleichzeitig sehen, sondern das Ergebnis einer Teilelage beruht anschaulicher Weise darauf, wie die beobachteten Bilder mit den vorhergesagten Bildern eines trainierten 3D-Formmodells übereinstimmen. Eine Anzahl von alternativen Mehrkameraanordnungen und Laufzeitüberprüfungs-/ Ausrichtungsvorgängen werden ausdrücklich in Betracht gezogen.
  • Mit weiterem Bezug auf 1 verwendet ein exemplarischer Kamerakalibrierungsvorgang, wie etwa (aber nicht beschränkt auf) Kalibrierungssoftware, die in Verbindung mit Bildverarbeitungssystemen erhältlich ist, die von Cognex Corporation in Natick, Massachusetts, USA, bezogen werden kann, eine flexible Technik, die typischerweise erfordert, dass die Kamera ein planares Kalibrierungsobjekt 170 mit bekannter Größe und Form beobachtet, das der Kamera/den Kameras 120, 122 und 124 in einer Fülle von unterschiedlichen Orientierungen (dargestellt durch ein Beispiel in Phantom) geboten wird. Dieser Kalibrierungsvorgang dient zur Einstellung der intrinsischen und extrinsischen Werte (typischerweise bei einer Mehrfachkameraausbildung) für jede Kamera, zur Festlegung des 3D-Weltkoordinatenraums für jede Kamera. Beim gezeigten Kalibrierungsvorgang bewegt der Techniker oder ein Roboter (Pfeile 171) das Kalibrierungsobjekt 170 - hier zur Erläuterung ein Schachbrett mit bekannter Größe und Form, das auch eine Bezugsmitte 172 einschließen kann - zwischen jeder der vielen Positionen, während die Kalibrierungsanwendung 150 am Bildverarbeitungssystem 130 arbeitet, um Bilder des Objekts 170 in jeder Position zu erfassen und zu analysieren. Der Kamerakalibrierungsvorgang kalkuliert intrinsische und extrinsische Werte unter Verwendung der erfassten Bilder des Objektes aus (bildliche gegen physikalische) Merkmalsübereinstimmungen, die sich auf die beobachteten 2D-Bildmerkmalspunkte und 3D-Merkmale beziehen, die sich auf einer ebenen Oberfläche befinden. Bei einem Beispiel können diese (bildlichen gegen physikalischen) Merkmalsüberein-stimmungen automatisch bestimmt werden, beispielsweise dadurch, dass man die Bildverarbeitungssystemsoftware des Schachbrettmerkmalsextraktors bei Bildern einer Schachbrettkalibrierungsplatte laufen lässt, wobei sowohl die Software als auch die Kalibrierungsplatte von Cognex Corporation bezogen werden können.
  • Eine wohlbekannte Technik zur Kamerakalibrierung, die bei veranschaulichenden Systemen angewendet werden kann, wird bei Roger Tsai in „ A Versatile Camera Calibration Technique for High- Accuracy 3D Machine Vision Metrology Using Off-the-shelf TV Cameras and Lenses", IEEE JOURNAL OF ROBOTICS AND AUTOMATION, Band. RA-3, Nr. 4, August 1987, Seiten 323 - 344, beschrieben, deren Lehren hierin als nützliche Hintergrundinformationen einbezogen werden. Kalibrierungsvorgänge werden allgemeiner in der oben aufgenommenen US Patentanmeldung, Seriennr. 12/346.773, veröffentlicht als US 9,734,419 B1 mit dem Titel SYSTEM AND METHOD FOR VALIDATING CAMERA CALIBRATION IN A VISION SYSTEM beschrieben. Zusätzlich wird auf solche Vorgänge allgemein unten im Zusammenhang mit der Abschätzung der Lage, die auf erfassten Merkmalen bei zwei einzelnen Kameras beruht, Bezug genommen.
  • Zusammengefasst beinhaltet Kamerakalibrierung ein nichtlineares Optimierungverfahren, um die Abweichungen zwischen den entdeckten 2D-Bildmerkmalspunkten (Ecke des Schachbrettmusters) und den vorhergesagten Merkmalspunkten zu minimalisieren. Dieses Kamerakalibrierungsverfahren berechnet die Kalibrierungsplattenlagen (mit Bezug auf die Kamera).
  • Nun wird auf 2 Bezug genommen, die einen schematischen Überblick 200 über den Systemkalibrierungsprozess, der Ausrichtungs- oder Überprüfungsaufgaben während der Laufzeit und der Eigendiagnose der Systemkalibrierung zeigt. Wie gezeigt, sind der Teil- oder Objekttrainingsprozess 213 Teil der Offline-Prozess 212, bei dem das Bildsystem trainiert wird, damit es ein oder mehrere unterschiedliche Objektmerkmale (z. B. eine Ecke, einen Aufdruck, ein Loch, usw.) von vorgegebener Größe, Position und/oder Form erkennt. Alternativ dazu kann das System trainiert werden, damit es die Gesamtform des Objektes oder eines Teils davon erkennt. Das Training hängt ab von den speziellen Anwendungen, die vom Bildverarbeitungssystem eingesetzt werden. Diese kann Blobanalyse, Eckenerkennung, Rotation und skaleninvariante Suche usw. einschließen. Andere Einrichtungsprozesse 214, die spezifisch für Bildverarbeitungssysteme sind, treten auch während des Offline-Prozesses 212 auf. Diese können Beleuchtungskontrolle, Koordination mit einem Robotergreifarm und eine Anzahl anderer Operationen einschließen. Insbesondere werden die intrinsischen Werte 222 und die extrinsischen Werte 224 der Kamera bei der Kalibrierung 226 abgeleitet. Diese intrinsischen und extrinsischen Werte werden (Pfeil 225) während der Systemlaufzeitoperation (Block 230) eingesetzt. Genauer gesagt, extrinsische Werte werden in einer illustrativen Kalibrierungseigendiagnose, die während der Laufzeit 230 ausgeführt wird, eingesetzt. In der illustrativen Ausführungsform speichert der Einrichtungsspeicher 220 auch „Fehler“-Statistiken 228, die Informationen in Bezug auf die Abweichungen zwischen den beobachteten Bildmerkmalen und den vorhergesagten physikalischen Merkmalen enthalten, die zur Festlegung von akzeptierten Schwellen verwendet werden, die es möglich machen, dass das System bestimmt, ob die Kalibrierung sich immer noch innerhalb der Toleranzen befindet.
  • Mit Bezug auch auf 3 schließen die Fehlerstatistiken 228 ein, sind aber nicht beschränkt auf:
    1. a) Genauigkeit oder Abweichung bei den verzerrten Bildkoordinaten (tatsächlich erfasste Pixel) 310. Für jede geschätzte Kalibrierungsobjekt/Plattenlage kalkuliert der Kalibrierungsprozess die 2D-Position auf der Bildebene jedes 3D-Merkmalpunkts (Ecken der Schachbrettmuster im Muster der Platte), wobei die Linsenverzerrung berücksichtigt wird. Die Genauigkeitsmessungen entsprechen der Abweichung zwischen jedem beobachteten 2D-Punkt und der damit verbundenen projizierten/verzerrten 2D-Position, und werden als Fehlerstatstiken 228 gespeichert;
    2. b) Genauigkeit oder Abweichung in den unverzerrten Bildkoordinaten (d. h., die z = 1 Projektionsebene in einem 3D-Koordinatensystem, bei dem z die Tiefe für jedes Pixel ist und x, y die 2D-Koordinaten für jedes Pixel innerhalb des Blickfelds sind) 320. Für jede geschätzte Kalibrierungsplattenlage berechnet der Prozess die lineare Projektion der 3D-Punkte auf der z = 1 Projektionsebene. Zusätzlich bildet der Prozess die erfassten 2D-Bildpunkte durch die Umkehrfunktion der Linsenverzerrung ab (in anderen Worten, Punkte werden mit Hilfe der gespeicherten Linsenkorrekturfaktoren neu berechnet). Die Genauigkeitsmessungen entsprechen der Abweichung zwischen den projizierten 2D-Punkten und den entsprechenden, verzerrten 2D-Punkten und werden als Fehlerstatistiken 228 gespeichert; und
    3. c) Genauigkeit der 3D-Position, die aus Stereotriangulation 330 erhalten wird. Für ein Mehrkamerasystem berechnet der Prozess für jede kalkulierte Kalibrierungsplattenlage die 3D-Koordinaten jedes Merkmalspunktes, der von mehreren Kameras über Triangulation abgebildet wird und hält den rms-FitError zurück. Die Abweichungen zwischen den triangulierten und kalkulierten Positionen von Merkmalspunkten für die mehreren Kameras werden als Fehlerstatistiken 228 gespeichert.
  • Die oben beschriebenen Genauigkeitsmessungen a - c sind allen mit durchschnittlichem Wissen auf dem Gebiet der Bildverarbeitungssysteme bekannt und können mit Hilfe von Vorgängen, die allen mit durchschnittlichem Wissen bekannt sind, erzeugt werden. Typischerweise werden diese Messungen verwendet, um ein Kamerakalibrierungsverfahren mit einem anderen zu vergleichen. Gemäß eines Anschauungsbeispiels werden diese Fehlerstatistiken 228 gespeichert, so dass sie verwendet werden können, um anschließend die Genauigkeit der Kamerakalibrierung bei einer Laufzeitbildverarbeitungssystemoperation (Block 230 in 2) zu diagnostizieren. Es wird angemerkt, dass die Akzeptanzschwelle gemäß der speziellen Anforderungen an eine Bildverarbeitungs-systemanwendung variabel eingestellt werden kann. Das heißt, bestimmte Anwendungen können einen höheren Grad an Genauigkeit verlangen, wobei eine niedrigere Akzeptanzschwelle nötig ist (z. B. ein kleinerer Unterschied zwischen Kalibrierung und Laufzeit-/Überprüfungs-abweichungen).
  • Die Genauigkeit von Kamerakalibrierung, die oben beschrieben wird, hat direkten Einfluss auf die Leistung eines Bildverarbeitungssystems. Während für die meisten Bildverarbeitungssysteme die Kalibrierung als einmalige Systemeinrichtungsaufgabe gesehen wird, kann sich das tatsächliche Verhalten eines Bildentstehungssystems über die Zeit je nach Wärmeausdehnung des Kamerarahmens, versehentlicher Kamerabewegung usw. verschieben. Ein Weg um diese Verschiebung anzugehen ist, die Kameras regelmäßig neu zu kalibrieren. Allerdings ist Kalibrieren von Kameras eine aufwändige Aufgabe, die es erforderlich macht, mehrere Bilder eines Kalibrierungszieles mit verschiedenen Lagen zu erfassen, was zeitraubend sein kann. Weiterhin erfordert es normalerweise einen Experten, wie etwa einen Systemintegrator. Folglich wird eine Kamerakalibrierung (Block 226) typischerweise nur wenn notwendig, und von ausgebildeten Spezialisten, ausgeführt.
  • Laufzeitverfahren
  • Gemäß eines Anschauungsbeispiels ist der Kalibrierungseigendiagnoseprozess Teil der gesamten Laufzeitbildverarbeitungssystemoperation 230. Allgemein setzt das System in diesem Beispiel mehrere Kameras ein, um Objekte/Teile auf der Basis eines trainierten Modells zusammen mit den gespeicherten intrinsischen Werten 222, extrinsischen Werten 224 und Fehlerstatistiken 228 (über den Prozesszweig 234) auszurichten und zu überprüfen. Ausrichtungsergebnisse werden von Messungen gesammelt, die aus kalkulierten Positionen (in x-, y- und z-Weltkoordinaten oder einem anderen Weltkoordinatensystem) eines oder mehrerer Objektmerkmalen bestehen, oder der Objektlage. Diese Daten können verwendet werden, um die Ausrichtungsergebnisse gemäß Laufzeitblock 240 zu berechnen. Wie gezeigt, kann der Laufzeitprozess historische Statistiken von Ausrichtungsergebnissen ebenso wie Zwischenergebnisse (Block 250) erfassen. Diese werden einem Speicher 260 zur Verfügung gestellt, der die Staistiken von Ausrichtungsergebnissen und Zwischenergebnissen, die auf Teilmengen oder Gruppierungen (einer Vielzahl) oder dem Gesamtsystem von drei oder mehreren Kameras beruht, sammelt und organisiert. So können die Gruppierungen als eine Vielzahl, die aus mindestens zwei Kameras besteht, aber aus weniger als der ganzen Kameragruppe der mindestens drei Kameras definiert werden. Das heißt, das System erzeugt einen Satz von N-Choose-M-Gruppierungen oder Teilmengen von Kamerakombinationen. Jede Merkmalsposition oder -Lage, die gerade vom Bildverarbeitungssystem geschätzt wird, wird mit einer Ergebnisfunktion, die definiert wurde, um die Übereinstimmung des trainierten 3D-Modells mit den beobachteten Bilddaten zu messen, anschaulich ausgewertet. Lagekandidaten und zugehörige Ergebnisse können durch Auswahl jeder der N-Choose-M-Kamerakombinationen geschätzt werden. Genauer gesagt, kann der Speicher 260 die Statistik der Abweichungen zwischen den beobachteten Bildmerkmalen und den vorhergesagten physikalischen Merkmalen enthalten.
  • Beispielsweise definiert die 3-Kamera (VGR)-Einrichtung der 1A 3-Choose-2, das heißt 3 Kamerakombinationen können für Teileausrichtung (Lageabschätzung) verwendet werden. Die 4-Kameraanordnung, gezeigt in Fig. 1B, definiert 4-Choose-2 plus 4-Choose-3, das heißt, 10 Kamerakombinationen können für Teileausrichtung (Lageabschätzung) verwendet werden. Unter den 10 Kamerakombinationen können 4 Kamerakombinationen, die 2 benachbarte Kameras für Teileausrichtung einsetzen, wegen ihrer günstigen Blickwinkel sehr repräsentativ sein.
  • Beim Laufzeitprozessschritt 270 werden die gespeicherten Statistiken (Block 260) eingesetzt, um zu bestimmen, ob die Kameras innerhalb einer vorgegebenen Kalibrierungs-genauigkeit oder -Schwelle bleiben. Die Schwelle kann auf einem vorgegebenen Wert, der von der speziellen Bildverarbeitungsaufgabe abhängt oder auch nicht, beruhen. Beispielsweise kann die Schwelle für eine sehr genaue Aufgabe einen kleinen Wert haben, während eine Grobbearbeitungsaufgabe einen größeren Wert zulassen kann. Der Prozessschritt 270 bestimmt, welche der einzelnen Kamera(s) genügend von der Genauigkeit abgewichen ist. Allgemein beinhalten solche Abweichungen extrinsische Parameter - der relative Stand einer Kamera in Bezug auf die anderen im System eher als die intrinsischen Werte. Allerdings wird die Speicherung intrinsischer Parameter ausdrücklich in Betracht gezogen und diese Parameter können bei jedem nachfolgenden Neukalibrierungsschritt (226) zugänglich gemacht werden. Der Entscheidungsschritt 280 bestimmt, ob eine oder mehrere Kameras genügend in ihrer Kalibrierung abgewichen sind, um eine Durchführung der Neukalibrierung zu rechtfertigen. Wenn die Schwelle nicht erreicht wurde, beobachtet und speichert das System weiter Statistiken (über den Prozesszweig 290), während der normalen Durchführung von Laufzeitteile- oder Objektüberprüfung und/oder-Ausrichtung, gemäß der Schritte 240, 250, 260 und 270. Wenn allerdings eine vorgegebene Genauigkeit/Schwelle bei einer oder mehreren Kameras des Systems überschritten wird, dann verzweigt sich der Entscheidungsschritt 280 (über Abzweigung 292) in dem Kalibrierungsschritt 226. Wie unten beschrieben, kann das System Online bleiben und dem Operator anzeigen oder ihn aufmerksam machen, oder die Arbeit einstellen und das Eingreifen der Operatoren abwarten (z. B. einen Neukalibrierungsvorgang). Als Teil des Schritts 280 kann das System die extrinsischen Parameter und die Abweichungsdaten, die während des Laufzeitprozesses (230) abgeleitet wurden, liefern, so dass es zur Identifizierung der Kamera(s) verwendet werden kann, die einer Neukalibrierung bedarf/bedürfen. Zusätzlich wird in Betracht gezogen, dass automatisierte Neukalibrierungsprozesse eingesetzt werden können, um (gemäß herkömmlichen Techniken) automatisch die Kamera(s) neu zu kalibrieren, wobei die aktualisierten, extrinsischen Parameter verwendet werden.
  • Der Abgleich von Kalibrierungsmessungen gegenüber Laufzeitstatistiken gemäß Schritt 270 kann mit Hilfe verschiedener Techniken erreicht werden. Bei einer Ausführungsform werden die Genauigkeitsbeobachtung beim Laufzeitstatistikprozess und jene Messungen, die beim Kalibrierungsprozess mit Hilfe des Statistical Hypothesis Testing erhalten wurden, verglichen. Das heißt, bei einer gegebenen Verteilung von Kalibrierungsmessungen und einer Verteilung von Messungen im Laufzeit-Betrieb, der statistische Zusammenhang der zwei Verteilungen. Die Nullhypothese kann eingestellt werden, da die beiden Vorgänge die gleiche Genauigkeit mit bestimmter statistischer Bedeutung haben. Wenn eine Entscheidung auf der Basis von zwei Beobachtungssätzen einmal gefallen ist, kann der Endverbraucher festlegen, ob die Kameras neu kalibriert werden müssen. Eine andere Ausführungsform stellt einen Prozess zur Verfügung, der die maximale Abweichung mit einer Schwelle vergleicht, die als Funktion der Abweichungen, die bei der Kamerakalibrierung beobachtet wurden, eingestellt ist.
  • Nun wird auf 4 Bezug genommen, die einen verallgemeinerten Prozess 400 zur Eigendiagnose im Laufzeitbetrieb der Kamerakalibrierung in einer Anordnung von drei oder mehr Kameras gemäß eines Anschauungsbeispiels beschreibt. Beispielsweise kann dieser Prozess bei einer Diagnoseanwendung 180 (1), die auf einem Computer oder dem Prozessor läuft, instanziiert werden oder er kann direkt für die Hardware einer oder mehrerer Kameras innerhalb des Systems vorgesehen sein. Der Kalibrierungsprozess wird anfangs offline durchgeführt, gemäß Schritt 410 und wie oben beschrieben. Während des Prozesses werden extrinsische Parameter und andere Parameter und Statistiken, wie etwa Abweichungen zwischen Messungen von Merkmalspositionen oder Lage mit Bezug auf verschiedene Kameragruppierungen oder Teilmengen (z. B. Kamerapaare) erzeugt und gespeichert. Wie angemerkt, ist eine „Kamera“, wie sie hierin definiert ist, jede Vorrichtung, die ein diskretes Bild der Szene erfasst. Ein Sensor ist eine Form einer Kamera, die eine oder mehrere Abbildungsvorrichtungen (Kameras ebenso wie andere Entfernungsmessungsvorrichtungen für 3D-Abbildung) einschließen kann.
  • Der Prozess 400 tritt dann in ein Laufzeitstadium (gestrichelte Linie 420) ein, bei dem das Objektmerkmal oder das gesamte Objekt von jeder Kamera im System gefunden wird - mindestens drei Kameras sind als Blöcke 430, 432, 434 dargestellt, und gegebenenfalls andere Kameras, (Block 436). Das aufgefundene Merkmal kann im Wesentlichen das gleiche sein (das heißt, jede Kamera findet im Allgemeinen das gleiche Merkmal mit ihrer eigenen Abschätzung von Position in Weltkoordinaten x, y, z oder anderen Koordinaten). Alternativ können verschiedene Kameras ein oder mehrere verschiedene Merkmale finden, die sich an bekannten Positionen im physikalischen Raum mit Bezug zueinander befinden. Das kann zweckmäßig sein, wo einige Kameras einen schlechten oder verdeckten Blick auf ein Merkmal haben, das andere Kameras gefunden haben. Alternativ kann jede Kamera eine Lage im dreidimensionalen Raum des Objekts bestimmen, der auf dem trainierten Modell beruht. Gemäß der Blocks 430, 432, 434, 436 bestimmt jede der Kameras eine „Messung“ des Merkmals des Objekts. Anschaulicherweise, kann die Messung eine berechnete x-, y-, z-Lage (oder ein anderes Koordinatensystem) für ein Merkmal, eine Lage oder ein Ergebnis sein, wie erfolgreich das Merkmal oder Objekt von jeder Kamera aufgefunden wird. Die Messungen jeder Kamera können in Schritt 440 mit Bezug auf jede Kamera im System gespeichert werden. Sie können in Kameragruppierungen organisiert sein und in ein entsprechendes Format übersetzt werden.
  • Merkmalspositionen und/oder -Lage im dreidimensionalen Raum können durch einen weiten Bereich von konventionellen Bildverarbeitungstechniken, einschließlich Eckenauffindung, Blobanalyse, Rotation und Skalainvarianzsuche usw., bestimmt werden. Eine Technik zur Auffindung der Lage in 3D ist in der oben einbezogenen US Patentanmeldung, Seriennummer 12/345.130, Offenlegungsnummer US 2010-0166294 A1 , mit dem Titel SYSTEM AND METHOD FOR THREE-DIMENSIONAL ALIGNMENT OF OBJECTS USING MACHINE VISION beschrieben.
  • Im Schritt 450 werden dann die Messungen der Merkmale, die von jeder einer Vielzahl von Kameras (Gruppierungen oder Teilmengen von Kameras vom gesamten Mehrkamerasystem, typischerweise in Kamerapaaren) aufgefunden wurden, verglichen, um ein Ergebnis oder einen Restfehler des Triangulationsresultats dazwischen abzuleiten. Dies kann auch als die Abweichung definiert werden. Diese Vergleiche werden wiederum in Bezug auf einen Schwellen- oder Genauigkeitswert analysiert. Der Genauigkeitswert kann dann als der gewünschte, vorgegebene Wert definiert werden, der vom Benutzer bereitgestellt wird oder im System vorprogrammiert ist. Solch ein einzelner Schwellenwert kann teilweise auf der erforderlichen Genauigkeit beruhen, die das Toleranzniveau für die Kameraabweichung vorgibt - das heißt, geringe Genauigkeit macht eine größere Kameraabweichung möglich, bevor neu kalibriert werden muss, während höhere Genauigkeit weniger Kameraabweichung vorgibt. Alternativ kann es sich bei der Genauigkeit um eine Systemgenauigkeit handeln, die auf der Basis einer Ansammlung von Restfehlern oder Abweichungen, die während der Kalibrierung abgeleitet werden, definiert ist.
  • Beim Entscheidungsschritt 460 bringt der Vergleich der Messungen aus jeder Kameragruppierung oder Teilmenge beim Schritt 450, der das Überschreiten der Schwelle oder der Genauigkeit zum Ergebnis hat, das System dazu, dass es ein Signal zur Neukalibrierung ausgibt, oder eine andere entsprechende Maßnahme (Schritt 470) einleitet. Die ergriffene Maßnahme kann von einer Anzahl von Faktoren und programmierten Anweisungen abhängen. Wenn zum Beispiel die Schwelle nicht deutlich überschritten wird, kann das System eine Warnung zur Neukalibrierung aussenden, aber weiterarbeiten. Alternativ kann das Signal bewirken, dass das System gestoppt wird und ein Alarm ertönt. In einer weiteren Ausführungsform kann das System wahlweise die gespeicherten Messungen einsetzen, die über eine Anzahl von Objektüberprüfungszyklen als einigermaßen genauer Indikator des aktuellen Systemstatus dienen, um neue extrinsische Parameter (Schritt 480) für die eine oder mehreren Kamera (s), die nicht mehr kalibriert sind, abzuleiten. Diese neuen extrinsischen Parameter können an die entsprechenden Kamera(s) zurückgegeben (über den Prozesszweig 482), und zur Durchführung einer Neukalibrierung verwendet werden, entweder vom Personal oder in einem automatisierten Vorgang (z. B. Ersetzen der gegenwärtigen extrinsischen Parameter der Kamera durch neue extrinsische Parameter, die die entdeckte Abweichung ausmachen). Die Neukalibrierung kann offline durchgeführt werden oder, wenn entsprechende Anwendungen vorhanden sind, spontan mit der Neukalibrierungskamera oder mindestens anderen Nicht-Neukalibrierungskameras im System, wobei man online bleibt, um Überprüfungsaufgaben weiterlaufen zu lassen. Bei jeder Neukalibrierung wird in Betracht gezogen, dass intrinsische Werte auch mit Hilfe von entsprechenden Kalibrierungsobjekten und/oder anderen Vorgängen aktualisiert werden können.
  • Wo Entscheidungsschritt 460 bestimmt, dass die Messungen verglichen für jede der Kameragruppierungen innerhalb der erlaubten Genauigkeit bleiben, geht der Laufzeitvorgang weiter (über den Prozesszweig 484), und häuft weitere Messungen an. Es muss angemerkt werden, dass jeder Vergleich mit Bezug auf System- oder gewünschte Genauigkeit, die durchschnittlichen (historischen) Messungen über viele Prüfungszyklen berücksichtigen kann, so dass eine ziemlich kleine Anzahl von anormalen Messungen kein vorzeitiges Neukalibrierungssignal auslöst
  • Es wird angemerkt, dass der akzeptable Fehler für eine Kamera wegen Verschiebung auf einer Fehlerverteilung beruhen kann. Das System kann beispielsweise so angepasst sein, dass es einen RMS-Fehler der Position mit Bezug auf die Fehlerhistorie erneut überprüft.
  • Im Allgemeinen schließt das System bei drei oder mehr Kameras innewohnende Redundanz bei der Messung der Objekte ein. Diese Redundanz macht Abweichungen bei Messungen zwischen Teilmengengruppierungen der gesamten Gruppe von Kameras möglich, um zumindest bei einer Kamera anzuzeigen, dass sie ausserhalb der Kalibrierung liegt.
  • Eine anschauliche Technik zur Bestimmung und zum Vergleich von Positions- und Lageschätzungen
  • Gemäß des Vergleichsschritts 450 der 4 kann das System eine Anzahl von Techniken einsetzen, um die 3D-Merkmalsposition oder - Lage eines Objekts zu bestimmen und Fehler oder Abweichungen auf der Basis der Kalkulation abzuleiten. Im Folgenden wird eine Technik zur Bestimmung und zum Vergleich erläutert.
  • Abschätzung der 3D-Position eines Merkmalspunktes aus 2D-Bildpunkten bei mehreren Kameras
  • Nach der Kamerakalibrierung kann ein 3D-Punkt im physikalischen Raum auf einen 2D-Punkt im Bildraum abgebildet werden; ein 2D-Punkt im Bildraum kann auf einem 3D-Strahl im physikalischen Raum abgebildet werden. Die folgende Beschreibung von Abbildung wird als Hintergrund im Buch Geometrie der Mehrfachansicht, zweite Ausgabe von Richard I. Hartley und Andrew Zissermann, Cambridge University Press, 2004, weiter erörtert. Um die vorliegende Beschreibung zu vereinfachen, wird nun angenommen, dass die radiale Verzerrung vernachlässigt werden kann. So wird die Abbildung aus einem Punkt im 3D-Weltkoordinatensystem 510 zu Prozessorbildkoordinatensystem 520 durch die Kamerakalibrierungsmatrix M bestimmt. Für ein System mit n Kameras, können diese Matrizen mit Mi,1≤i≤n bezeichnet werden. Mit Bezug auf 6 wird ein Punkt P in der Welt als pi gemäß der Gleichung pi = MiP abgebildet. In ähnlicher Weise kann, wenn das Bild eines Punktes (Beispielspunkte p1 und p2, wie gezeigt) in zwei oder mehr Kameras (beispielsweise KAMERA1 und KAMERA2, wie gezeigt) gegeben ist, dessen Stellung im Weltkoordinatensystem mit Triangulation berechnet werden. Für einen Punkt pi (p1, p2) in der entsprechenden Kamera i (KAMERA1, KAMERA2) projiziert das Bild als Strahl Ri (R1 und R2). Die Gleichung des Strahls im Weltkoordinatensystem wird angegeben durch Pi(λ)= Mi +pi+λCi, wobei Ci (C1 und C2) das Zentrum der Kamera im Weltkoordinatensystem ist. Ci und Mi + werden aus den Kamerakalibrierungsparametern erhalten. Der Punkt im Weltkoordinatensystem kann durch das Auffinden des Kreuzungspunktes zwischen den Strahlen aus den mehreren Kameras erhalten werden.
  • In der Praxis, wenn es Rauschen gibt, ist es nicht sicher, ob sich die zwei Strahlen (R1 und R2) schneiden. Es gibt verschiedene Techniken, um in solchen Situationen zu triangulieren. Das Anschauungsbeispiel setzt eine Technik ein, die zuerst einen Punkt im Weltkoordinatensystem auffindet, der die kleinste Summe des Abstands zwischen dem Punkt und allen Strahlen aufweist. Diese Schätzung wird auf der Basis des Abstands des Punktes von den Mittelpunkten der Kamera und des Winkels der Strahlen zur optischen Achse verfeinert. Andere Techniken für Triangulation können auch zusätzlich zu oder anstatt dieser Technik eingesetzt werden.
  • So wird, unter weiterer Bezugnahme auf 6, der Wert für Punkt P mit Hilfe von Triangulation, wie hier beschrieben, abgeleitet, und die Position P wird durch das Auffinden der Werte von λ und β in den Gleichungen Pi(λ)=Mi +pi+λCi und P2 (β)=M2 +p2+βC2 berechnet.
  • Abschätzung der 3D-Lage eines Objekts aus 2D-3D-Entsprechungen
  • Eine Lage eines Objekts ist die strikte 3D-Transformation, die notwendig ist, um ein Objektmodell aus seinem inhärenten Koordinatensystem in Übereinstimmung mit den sensorischen Daten abzubilden. Die Lage eines starren Körpers zu kalkulieren bedeutet, die Bewegung des starren Körpers im 3D-Raum aus den 2D-Bildern zu bestimmen. Wenn das 3D-Modell bekannt ist, baut der Kalkulationsprozess auf Entsprechungen zwischen einigen 2D-Merkmalen in den Bildern und ihren Gegenstücken auf dem 3D-Modell auf.
  • Lösungen für verschiedene Lagekalkulationsprobleme lehrt Haralick, R.M. in Pose estimation from corresponding point data, IEEE Transactions on Systems, Man and Cybernetics, Band 19, Ausgabe 6, Nov./Dez. 1989, Seiten 1426 - 1446.
  • Zur weitern Erläuterung und wie in der Tsai-Veröffentlichung wiedergegeben, erläutert 5 die grundlegende Geometrie des Kameramodells. (xw, yw, zw) die die 3D-Koordinaten des Objektpunts P im 3D-Weltkoordinatensystem festlegt. (x, y, z) legen die 3D-Koordinaten 510 des Objektpunktes P im 3D-Kamerakoordinatensystem 520 fest, das am Punkt 0, dem optischen Zentrum, zentriert ist, wobei die z-Achse gleich der optischen Achse (siehe auch 1) ist. (x, y) ist das Bildkoordinatensystem mit Zentrum bei 01 (Kreuzung der optischen Achse z und der vorderen Bildebene 530) und parallel zu x- und y- Achsen. f ist der Abstand zwischen der vorderen Bildebene 530 und dem optischen Zentrum 0. (xu, yu) ist die Bildkoordinate von (X, Y, Z), wenn ein perfektes Pinhole-Kameramodell verwendet wird. (xd, yd) ist die tatsächliche Bildkoordinate, die sich von (xu, yu) wegen der Linsenverzerrung unterscheidet. Da allerdings die Kamera nun kalibriert ist, kann die Linsenverzerrung vor dem Mapping korrigiert werden.
  • Das Mapping aus den 3D-Weltkoordinaten zum 2D-Kamerakoordinatensystem wird anschaulich als Vierschritttransformation vorgesehen, die gemäß der folgenden Schritte abläuft:
    1. 1. Führen eine Transformation des starren Körpers aus dem Objekt-3D-Weltkoordinatensystem (xw, yw, zw) 510 zum Kamera-3D-Koordinatensystem (x, y, z) [ X Y Z ] = R [ X w Y w Z w ] + T
      Figure DE112010005008B4_0001
      durch, wobei R eine 3X3-Rotationsmatrix und T der 3X1-Translationsvektor ist. Die Parameter, die zu kalibrieren sind, sind R und T.
    2. 2. Führen eine Transformation aus 3D-Kamerakoordinaten (X, Y, Z) zu idealen (unverzerrten) Bildkoordinaten (xu, yu) mit Hilfe der perspektivischen Projektion mit Pinholekamerageometrie durch. x u = f X Z
      Figure DE112010005008B4_0002
      y u = f Y Z
      Figure DE112010005008B4_0003
    3. 3. Berechnen radiale Linsenverzerrung als x d + D x = x u
      Figure DE112010005008B4_0004
      y d + D y = y u
      Figure DE112010005008B4_0005
      wobei (xd, yd) die verzerrte oder wahre Bildkoordinate auf der Bildebene 530 ist. Es steht eine Anzahl von Modellen zur Spezifizierung der radialen Linsenverzerrung zur Verfügung. Für eines der Modelle, D x = x d ( κ 1 r 2 + κ 2 r 4 + )
      Figure DE112010005008B4_0006
      D y = y d ( κ 1 r 2 + κ 2 r 4 + )
      Figure DE112010005008B4_0007
      r = x d 2 + y d 2
      Figure DE112010005008B4_0008
      Über die Art des Modells, das benutzt werden soll, kann auf Grund des Linsentyps, der bei der Abbildung verwendet wird, entschieden werden.
    4. 4. Führen eine Transformation der wahren Bildkoordinate (xd, yd) zur Prozessorbildkoordinaten-(xf, yf)-durch. x f = a x d x ' 1 x d + C x
      Figure DE112010005008B4_0009
      y f = d y 1 y d + C y
      Figure DE112010005008B4_0010
      Wobei
      • (xf, yf) Reihen- und Spaltennummern der Bildpixel beim Prozessorbildrahmenspeicher sind
      • (cx, cy) Computerbildkoordinaten für den Ursprung in der Bildebene sind d x ' = d x N c x N f x
        Figure DE112010005008B4_0011
      • dx Der Abstand Mitte zu Mitte zwischen benachbarten Sensorelementen in x(Abtastlinie)-Richtung ist
      • dy Der Abstand Mitte zu Mitte zwischen benachbarten CCD-Sensor in der y-Richtung ist
      • Ncx Die Anzahl der Sensorelemente in der x-Richtung ist
      • Nfx Die Anzahl der Pixel in einer Reihe, wie vom Prozessor getestet, ist
      ax2 entspricht einer Anzahl von Faktoren, wie etwa leichten Hardwaretimingfehlanpassung zwischen Bilderfassungs-/Prozessorhardware und der Kameraabtasthardware, oder der Ungenauigkeit des Timings der Abtastung selbst. Wenn Sx = axd'x -1 eingesetzt wird, und dy auf eins gesetzt wird, müssen wir sx finden. Wenn dy auf eins gesetzt wird, ist die berechnete Brennweite f ein Produkt der tatsächlichen Brennweite und dem Skalierungsfaktor in y.
  • Das Problem der Lageabschätzung ist das gleiche wie extrinsische Kamerakalibrierung, für die die intrinsischen Werte der Kamera bereits bekannt sind. Um das Problem zu vereinfachen, werden die 2D-Bildpunkte, die in Rohbildern gefunden wurden, normalisiert, um in der Bezugsbildebene als Schritt 2 in der obigen Beschreibung dargestellt werden zu können. Daher kann das Problem der Lageabschätzung wie folgt formuliert werden:
  • Mit einem gegebenen Satz von Weltpunkten (Xw, Yw, Zw), i = 1, 2,..,n, und einem entsprechenden Satz von normalisierten Bildpunkten (xu, yu)i, besteht das Problem der Lagekalkulation darin, eine Rotationsmatrix R und einen Translationsvektor T zu finden, die den geometrischen Rückprojektionsfehler minimalisieren: i = 1 n [ ( x u f R X w + t x R Z w + t z ) 2 + ( y u f R Y w + t y R Z w + t z ) 2 ] 2
    Figure DE112010005008B4_0012
    Da jeder Bildpunkt einen Projektionsstrahl definiert, der als 3D-Linie dargestellt werden kann, ist alternativ das Problem der Lageabschätzung gleichwertig zur Auffindung einer Transform derart, dass der 3D Punkt-zu-Linie-Abstand für alle Paare minimal ist, was auch als Objektraumkollinearität bekannt ist.
  • Die Minimierung der Fehlermessung kann durch eine nicht lineare Optimierungsmethode geschehen, wie etwa Levenberg-Marquardt. Bei einem Mehrkamera- (oder Mehrblick) Bildsystem, können, nachdem alle Kameras auf das gleiche Weltkoordinatensystem kalibriert sind, die Entsprechungen für jede Kamera zu einem linearen System hinzugefügt werden und gleichzeitig gelöst werden. Der Einsatz von mehreren Kameras hat den Vorteil der besseren Auflösung von Mehrdeutigkeiten und verbesserter Genauigkeit.
  • Abschätzung der 3D-Lage eines Objektes durch direkte Anpassung von vielflächigen Modellen an Graupegelgradienten
  • Abschnitt 2 oben beschreibt das Problem der Lagekalkulation als nicht lineares Optimierungsproblem, bei dem die starre Transformation (Rotation und Translation) des Objekts durch Minimierung einer Fehlermessung auf der Basis von Fehlerrückprojektion entsprechender 2D- und 3D-Punkte gefunden wird.
  • Alternativ dazu kann, wenn die 2D-3D-Entsprechung schwierig hergestellt werden kann, die 3D-Lage eines Objekts durch die direkte Anpassung des Modells bei verschiedenen, hypothetischen Lagen an Graupegelgradientbildern geschätzt werden und die Lage mit den höchsten Abgleichergebnissen wird gemeldet.
  • Beispielsweise kann der Abgleichungsprozess mit den folgenden Schritten durchgeführt werden:
    1. a) Richte einen Suchraum für Rx, Ry, Rz und tx, ty, tz ein. Jeder Probepunkt im sechsdimensionalen Raum Rx, Ry, Rz, tx, ty, tz definiert eine hypothetische Lage.
    2. b) Für jeden Probepunkt (hypothetische Lage) Projiziere das 3D-Modell des Objekts auf den Bildraum, der auf Kamerakalibrierung beruht. Berechne das Abgleichungsergebnis zwischen den projizierten 2D-Punkten und Graupegelgradientbildern.
    3. c) Suche nach dem maximalen Ergebnis im sechsdimensionalen Raum Rx, Ry, Rz, tx, ty, tz. Wende typische Techniken zur Peakermittlung, wie etwa eine nicht maximale Unterdrückung an.
    4. d) Die Lage, die mit dem maximalen Ergebnis in Zusammenhang steht, ist die geschätzte Lage für das Objekt.
  • In Schritt b muss bemerkt werden, dass, wenn das 3D Modell auf eine Bildebene projiziert wird, die Topologie des 3D Modells durch Entfernen selbst-verdeckender Merkmale berücksichtigt werden sollte.
  • Das Folgende ist eine Technik zur Anwendung der Abschätzungen von Position und Lage, wie oben beschrieben, um zwei Messungen von diesen zu vergleichen, gemäß der Anschauungsbeispiele.
  • Vergleichen zweier Kalkulationen der 3D Position eines Merkmalspunktes
  • Beim Vergleich von zwei Berechnungen der 3D Position eines Merkmalspunkts kann der euklidische Abstand von zwei kalkulierten 3D-Punkten verwendet werden: D i s t ( P 1 , P 2 ) = ( ( P 1 x P 2 x ) 2 + ( P 1 y P 2 y ) 2 + ( P 1 z P 2 z ) 2 ) 1 / 2
    Figure DE112010005008B4_0013
  • Wenn das erste aufgefundene Merkmal und das zweite aufgefundene Merkmal im Wesentlichen gleich sind, kann ein direkter Vergleich zwischen dem euklidischen Abstand der beiden aufgefundenen Positionen mit mindestens einem der Punkte gemacht werden: (i) eine Genauigkeit, die im Schritt (a) bestimmt wurde und (ii) eine gewünschte Systemgenauigkeit.
  • Kurz Bezug nehmend auf die Bildverarbeitungssystemanordnung 180 in Fig. 1C, sind die Kameras 182, 184, 186, 188 in zwei Gruppierungen (182, 184) und (186, 188) angeordnet, wobei jede eine Vielzahl von Kameras umfasst. Wie in anderen Ausführungsbeispielen hierin beschrieben, kann jede der Kameras 182, 184, 186, 188 eine Anzahl interner und externer Hardware- und Softwareprozesse für Bilderfassung und Bildsystemverarbeitung einschließen. Externe Prozessoren und zugehörige Vorrichtungen (nicht gezeigt) können auch als geeignet vorgesehen sein, die Kameras und/oder externen Vorrichtungen können geeigneter Weise durch Kabel- oder drahtlose Verbindungen verbunden sein. Alle Kameras erfassen Bilder eines Beispielsobjekts 190 innerhalb des Volumenraums. Ein beispielhaftes erstes Merkmal 192 und ein beispielhaftes zweites Merkmal 194 sind an entfernten Positionen und/oder unterschiedlichen Oberflächen/3D-Orientierungen am Objekt vorgesehen. Die Kameragruppierung/Vielzahl 182, 184 erfasst und findet das erste Merkmal, und die zweite Gruppierung/Vielzahl 186, 188 erfasst und findet das zweite Merkmal 194. Beachte, dass, wenn andere Merkmale zur Verfügung gestellt werden, die Gruppierungen variiert werden können, um jene Kameras einzusetzen, die am besten positioniert sind, um die Position und Orientierung dieses Merkmals auf dem Objekt zu erfassen. Gemäß eines Anschauungsbeispiels, kann allgemein, wenn das erste gefundene Merkmal und das zweite gefundene Merkmal sich im physikalischen Raum unterscheiden und durch eine bekannte physikalische Größe getrennt werden, wie gezeigt (das heißt eine „bekannte Eigenschaft“), ein Vergleich zwischen dem euklidischen Abstand der zwei gefundenen Positionen und der bekannten physikalischen Größe gemacht werden. Ein anderer Vergleich kann zwischen den beiden Restfehlern der jeweiligen Triangulationsergebnisse gemacht werden.
  • ii. Vergleich von zwei Abschätzungen von 3D-Lage eines Objekts
  • Eine Lage eines Objekts ist die starre 3D-Transformation, die nötig ist, um ein Objektmodell aus seinem inhärenten Koordinatensystem in Übereinstimmung mit den Sensordaten abzubilden. Lageabschätzung besteht aus einer Rotationsmatrix R und einem Translationsvektor T. Eine Anzahl von Wegen kann eingesetzt werden, um zwei Lageabschätzungen eines Objektes zu vergleichen.
  • Eine intuitive Messung ist der quadratische mittlere Abstand zwischen den beiden Modellpunktsätzen, die mit den zwei Lagen transformiert sind:
  • Lässt man P = { p i } ,   i = 1,2, , N
    Figure DE112010005008B4_0014
    einen Satz Modellpunkte sein, ist der quadratische mittlere Abstand von zwei Lageabschätzungen definiert als D = ( 1 N i = 1 N ( R 1 p i + T 1 ) ( R 2 p i + T 2 ) 2 ) 1 / 2 ,
    Figure DE112010005008B4_0015
    wobei [R1|T1] die erste Lageabschätzung, [R2|T2] eine zweite Lageabschätzung darstellt.
  • Der Modellpunktsatz kann als eine Handvoll einzigartiger Merkmalspunkte auf der Oberfläche oder im Inneren des Objektmodells definiert werden. Alternativ dazu kann er als die Eckpunkte der mosaikartigen Facetten auf der Oberfläche von festen Modellen definiert werden.
  • Eine alternative Technik des Vergleiches von zwei Lagen ist die Berechnung der Arbeitsmenge, die eingesetzt würde, um einen Roboter das Objekt von einer ersten Lage [R1|T1] zu einer zweiten Lage [R2|T2] bewegen zu lassen. Die Transformation zwischen den zwei Lagen ist immer noch eine Starrkörpertransformation [R1|T1]-1•[R2|T2]. Das Objekt kann aus der ersten Lage in eine zweite Lage mit einer kombinierten Operation aus Rotation und Translation, die als Skew-Theorie bekannt ist, bewegt werden. Um die zwei Lagen zu vergleichen, kann man die Schraubenachse und die Schraubenbewegungsparameter der Transformation [R1|T1]-1•[R2|T2] berechnen. Für jeden Punkt im Modellpunktsatz kann ein Linienintegral entlang der Helix der Operation berechnet werden. Der Versatz zwischen den beiden Lagen wird dann als Summierung aller Punkte im Modellpunktsatz berechnet. Wiederum kann der Modellpunktsatz ein Satz von eindeutigen Merkmalspunkten auf der Oberfläche des Objekts oder die Eckpunkte der mosaikartigen Facetten auf dem Objekt sein.
  • Es sollte klar sein, dass das System und Verfahren des Anschauungsbeispiels eine effektive Technik zur Identifizierung von Fehlkalibrierung einer oder mehrerer Kameras in einem System von drei oder mehr Bildverarbeitungskameras aufgrund der Variation der extrinsischen Parameter bietet. Dieses System und Verfahren stellt sicher, dass Fehlkalibrierung identifiziert wird, bevor fehlerhafte Aufgaben der Bildverarbeitung auftreten können und kann sicherstellen, dass eine Neukalibrierung automatisch erfolgen kann. Es ist anzumerken, dass sich dieses System und Verfahren sich auf eine Reihe von Überprüfungsanwendungen und Mechanismen zur Bestimmung der Position oder Lage des Objektmerkmals anwenden lässt.
  • Das oben Ausgeführte ist eine detaillierte Beschreibung von Anschauungsbeispielen der Erfindung. Verschiedene Änderungen und Zusätze können gemacht werden, ohne vom Sinn und Umfang dieser Erfindung abzuweichen. Jedes der verschiedenen, oben beschriebenen Ausführungsbeispiele kann mit anderen beschriebenen Ausführungsbeispielen kombiniert werden, um mehrfache Merkmale zu erhalten. Weiterhin, während das oben Gesagte eine Anzahl von getrennten Ausführungsbeispielen der Vorrichtung und des Verfahrens der vorliegenden Erfindung beschreibt, ist das, was hierin beschrieben ist, nur eine anschauliche Anwendung der Prinzipien der vorliegenden Erfindung. Beispielsweise kann das System mit vielen Merkmalen und Lagen eines Objektes arbeiten, um einen Vergleich mit einer gewünschten Genauigkeit oder anderen Schwellen durchzuführen. Auch sollte der Begriff „position“ weit aufgefasst werden, um eine Reihe von verschiedenen Konstrukten zu definieren, die es möglich machen, dass ein erfasstes Bild eines Merkmals oder Objekts mit einem anderen Bild verglichen wird, um einen Versatz bei der Kalibrierungsgenauigkeit festzustellen. Alternative Ansätze zur Lokalisierung eines Objektes können ebenfalls eingesetzt werden. Beispielsweise kann eine Silhouettenanpassungstechnik gemäß herkömmlicher Techniken eingesetzt werden, um Messungen gemäß einer Ausführungsform abzuleiten. Darüber hinaus kann das Objekt oder Teil als permanentes Merkmal (zum Beispiel ein Referenzpunkt) innerhalb der Szene definiert werden, das zusammen mit jeder Teileerfassung erfasst wird. Dieses permanente Merkmal oder Muster wird eingesetzt, um Messungen gemäß eines Anschauungsbeispiels zu bestimmen. Darüber hinaus wird ausdrücklich in Betracht gezogen, dass jeder Prozess und Vorgang, der hier beschrieben wurde, als Hardware, Software, die aus computerlesbaren Programmanweisungen oder einer Kombination von Hardware und Software besteht, hier durchgeführt werden kann. Entsprechend ist diese Beschreibung nur als Beispiel zu verstehen und beschränkt nicht anderweitig den Umfang dieser Anmeldung.

Claims (20)

  1. Verfahren zur Bestimmung einer Kamerafehlkalibrierung in einem System mit mindestens drei Kameras, das folgende Schritte umfasst: a) Kalibrieren der mindestens drei Kameras, ausgeführt im Offline-Betrieb des Systems, einschließend Feststellen von jeweils extrinsischen Kalibrierungsparametern für jede der mindestens drei Kameras; b) Feststellen eines ersten Merkmals im dreidimensionalen Raum mit einer ersten Gruppierung der mindestens drei Kameras und Bestimmen einer ersten Messung des ersten Merkmals, ausgeführt im Laufzeit-Betrieb des Systems; c) Feststellen eines zweiten Merkmals im dreidimensionalen Raum mit einer zweiten Gruppierung der mindestens drei Kameras, wobei diese zweite Gruppierung eine von der ersten Gruppierung unterschiedliche Kamerakombination darstellt und Bestimmen einer zweiten Messung des zweiten Merkmals, ausgeführt im Laufzeit-Betrieb des Systems; und d) Vergleichen der ersten Messung mit der zweiten Messung mit Bezug auf mindestens eines der Folgenden: (i) eine Genauigkeit, die während des Schrittes (a) festgestellt wurde, wobei die Genauigkeit, die in Schritt (a) festgelegt wurde, eine Sammlung von Werten, die auf Restfehlern der Kalibrierung beruhen, einschließt, (ii) eine gewünschte Systemgenauigkeit wobei die gewünschte Systemgenauigkeit auf historischen Werten jeweils für die erste und die zweite Messung beruht, und (iii) eine bekannte Eigenschaft des ersten und des zweiten Merkmals, wobei die bekannte Eigenschaft einen bekannten Abstand zwischen dem ersten und dem zweiten Merkmal einschließt.
  2. Verfahren nach Anspruch 1, wobei das erste Merkmal entweder (a) im Wesentlichen das Gleiche wie das zweite Merkmal ist oder (b) sich vom zweiten Merkmal unterscheidet.
  3. Verfahren nach Anspruch 2, wobei die erste Messung eine geschätzte erste Lokalisierung des ersten Merkmals und die zweite Messung eine geschätzte zweite Lokalisierung des zweiten Merkmals umfasst.
  4. Verfahren nach Anspruch 2, wobei die erste Messung eine Erfolgsrate bei der Suche nach dem ersten Merkmal und die zweite Messung eine Erfolgsrate bei der Suche nach dem zweiten Merkmal umfasst.
  5. Verfahren nach Anspruch 1, wobei Schritt (d) Berechnen einer Abweichung von erster und zweiter Messung und Vergleichen der Abweichung mit Bezug auf mindestens eines der Folgenden beinhaltet: (i) die Genauigkeit, die während Schritt (a) festgestellt wurde, (ii) die gewünschte Systemgenauigkeit und (iii) eine bekannte Eigenschaft des ersten und des zweiten Merkmals.
  6. Verfahren nach Anspruch 5, wobei die erste Gruppierung von mindestens drei Kameras eine erste Gruppierung von mindestens zwei Kameras und die zweite Gruppierung von mindestens drei Kameras eine zweite Gruppierung von mindestens zwei Kameras einschließt.
  7. Verfahren nach Anspruch 1, weiter umfassend: als Antwort auf Schritt (d) Ausgabe eines Signals, das anzeigt, dass basierend auf einem Ergebnis des Schritts, der die Überschreitung mindestens eines der Folgenden: (i) Genauigkeit, die im Schritt (a) ermittelt wurde und (ii) die gewünschte Systemgenauigkeit, vergleicht eine Neukalibrierung erforderlich ist.
  8. Verfahren nach Anspruch 7, wobei der Schritt der Ausgabe die Erzeugung von neuen, extrinsischen Kalibrierungsparametern, basierend auf Schritt (d), und die Bereitstellung der extrinsischen Kalibrierungsparametern für mindestens eine der mindestens drei Kameras umfasst, um die mindestens eine der mindestens drei Kameras neu zu kalibrieren.
  9. Verfahren nach Anspruch 1, das weiter die Bereitstellung der neuen, extrinsischen Parameter umfasst, um mindestens eine der mindestens drei Kameras gemäß Schritt (a) neu zu kalibrieren.
  10. Verfahren nach Anspruch 1, wobei das System von mindestens drei Kameras eine Überprüfungsfunktion des Bildverarbeitungssystems einschließt, um während der Laufzeit durch das Bildverarbeitungssystem eine Überprüfung von Objekten durchzuführen, die einen Volumenraum durchlaufen, der von den mindestens drei Kameras überblickt wird, vorzunehmen.
  11. Verfahren nach Anspruch 1, wobei die gewünschte Systemgenauigkeit auf einem vorfestgelegten Schwellenwert beruht.
  12. Verfahren nach Anspruch 11, wobei der Schwellenwert definiert wird basierend auf einer gewünschten Genauigkeit eines Bildverarbeitungssystemprozesses während der Laufzeit.
  13. Verfahren nach Anspruch 1, das weiter umfasst Bereitstellen von intrinsischen Parametern für mindestens eine der mindestens drei Kameras in Schritt (a) und die Neukalibrieren der mindestens einen der mindestens drei Kameras basierend auf neuen, intrinsischen Parameter.
  14. Verfahren nach Anspruch 1, wobei die bekannte Eigenschaft eine bekannte Entfernung zwischen dem ersten und dem zweiten Merkmal einschließt, und die erste Gruppierung von mindestens drei Kameras eine erste Gruppierung von mindesten zwei Kameras einschließt und die zweite Gruppierung von mindestens drei Kameras eine zweite Gruppierung von mindestens zwei Kameras einschließt.
  15. Verfahren zur Ermittlung einer Kamerafehlkalibrierung in einem System mit mindestens drei Kameras, umfassend die Schritte: a) Kalibrieren der zumindest drei Kameras, ausgeführt im Offline-Betrieb des Systems, einschließlich Feststellen entsprechender extrinsischer Kalibrierungsparameter für jede der mindestens drei Kameras; b) Feststellen einer ersten Objektlage im dreidimensionlen Raum mit einer ersten Gruppierung der mindestens drei Kameras und Bestimmen einer ersten Messung der ersten Objektlage, ausgeführt im Laufzeit-Betrieb des Systems; c) Feststellen einer zweiten Objektlage im dreidimensionalen Raum mit einer zweiten Gruppierung der mindestens drei Kameras, wobei diese zweite Gruppierung eine von der ersten Gruppierung unterschiedliche Kamerakombination darstellt, und Bestimmen einer zweiten Messung der zweiten Objektlage, ausgeführt im Laufzeit-Betrieb des Systems; und d) Vergleichen der ersten Messung mit der zweiten Messung mit Bezug auf mindestens eines: (i) einer im Schritt (a) ermittelten Genauigkeit, wobei die Genauigkeit, die in Schritt (a) festgelegt wurde, eine Sammlung von Werten, die auf Restfehlern der Kalibrierung beruhen, einschließt, (ii) einer gewünschten Systemgenauigkeit wobei die gewünschte Systemgenauigkeit auf historischen Werten jeweils für die erste und die zweite Messung beruht.
  16. Verfahren nach Anspruch 15, wobei die erste Messung ein erster Lagewert und die zweite Messung ein zweiter Lagewert ist.
  17. System zur Ermittlung einer Kamerafehlkalibrierung in einem System mit mindestens drei Kameras, umfassend: a) mindestens drei Kameras, wobei jede entsprechende, extrinsische Kalibrierungsparameter einschließt, die im Offline-Betrieb des Systems bei der Kalibrierung ermittelt werden; b) eine erste Gruppierung der mindestens drei Kameras, die ein erstes Merkmal im dreidimensionalen Raum feststellen und eine erste Messung des ersten Merkmals im Laufzeit-Betrieb des Systems bestimmen; c) eine zweite Gruppierung der mindestens drei Kameras wobei diese zweite Gruppierung eine von der ersten Gruppierung unterschiedliche Kamerakombination darstellt, die ein zweites Merkmal im dreidimensionalen Raum feststellen und eine zweite Messung des zweiten Merkmals im Laufzeit-Betrieb des Systems bestimmen; und d) einen Vergleichsprozess, der die erste Messung mit der zweiten Messung mit Bezug auf mindestens eines von: (i) eine mit den extrinsischen Kalibrierungsparametern verbundene Genauigkeit, wobei die Genauigkeit, die in Schritt (a) festgelegt wurde, eine Sammlung von Werten, die auf Restfehlern der Kalibrierung beruhen, einschließt, (ii) eine gewünschte Systemgenauigkeit, wobei die gewünschte Systemgenauigkeit auf historischen Werten jeweils für die erste und die zweite Messung beruht, und (iii) eine bekannte Eigenschaft des ersten Merkmals und des zweiten Merkmals, wobei die bekannte Eigenschaft einen bekannten Abstand zwischen dem ersten und dem zweiten Merkmal einschließt, vergleicht.
  18. System nach Anspruch 17, wobei die bekannte Eigenschaft einen bekannten Abstand zwischen dem ersten und dem zweiten Merkmal einschließt, und die erste Gruppierung von mindestens drei Kameras eine erste Gruppierung von mindestens zwei Kameras einschließt und die zweite Gruppierung von mindestens drei Kameras eine zweite Gruppierung von mindestens zwei Kameras einschließt.
  19. System nach Anspruch 18, wobei die mindestens zwei Kameras der ersten Gruppierung sich jeweils von den mindestens zwei Kameras der zweiten Gruppierung unterscheiden.
  20. System zur Bestimmung von Kamerafehlkalibrierung in einem System mit mindestens drei Kameras, bestehend aus: a) mindestens drei Kameras, jeweils beinhaltend entsprechende Kalibrierungsparameter extrinsischer Kalibrierungsparameter, die im Offline-Betrieb des Systems bei der Kalibrierung ermittelt werden; b) eine erste Gruppierung der mindestens drei Kameras, die eine erste Objektlage im Laufzeit-Betrieb des Systems im dreidimensionalen Raum feststellen und eine erste Messung der ersten Objektlage bestimmen; c) eine zweite Gruppierung der mindestens drei Kameras wobei diese zweite Gruppierung eine von der ersten Gruppierung unterschiedliche Kamerakombination darstellt, die eine zweite Objektlage im Laufzeit-Betrieb des Systems im dreidimensionalen Raum feststellen und eine zweite Messung der zweiten Objektlage bestimmen; und d) einen Vergleichsprozess, der die erste Messung mit der zweiten Messung mit Bezug auf mindestens eines von: (i) eine mit den extrinsischen Kalibrierungsparametern verbundene Genauigkeit, wobei die Genauigkeit, die in Schritt (a) festgelegt wurde, eine Sammlung von Werten, die auf Restfehlern der Kalibrierung beruhen, einschließt und (ii) eine gewünschte Systemgenauigkeit, wobei die gewünschte Systemgenauigkeit auf historischen Werten jeweils für die erste und die zweite Messung beruht, vergleicht.
DE112010005008.2T 2009-12-24 2010-12-23 System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb Active DE112010005008B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/647,192 US11699247B2 (en) 2009-12-24 2009-12-24 System and method for runtime determination of camera miscalibration
US12/647,192 2009-12-24
PCT/US2010/061989 WO2011079258A1 (en) 2009-12-24 2010-12-23 System and method for runtime determination of camera miscalibration

Publications (2)

Publication Number Publication Date
DE112010005008T5 DE112010005008T5 (de) 2012-11-15
DE112010005008B4 true DE112010005008B4 (de) 2018-09-13

Family

ID=43731811

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010005008.2T Active DE112010005008B4 (de) 2009-12-24 2010-12-23 System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb

Country Status (5)

Country Link
US (1) US11699247B2 (de)
JP (2) JP2013515959A (de)
CN (2) CN102782721B (de)
DE (1) DE112010005008B4 (de)
WO (1) WO2011079258A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10290118B2 (en) 2015-08-06 2019-05-14 Cognex Corporation System and method for tying together machine vision coordinate spaces in a guided assembly environment

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9533418B2 (en) * 2009-05-29 2017-01-03 Cognex Corporation Methods and apparatus for practical 3D vision system
US9179106B2 (en) * 2009-12-28 2015-11-03 Canon Kabushiki Kaisha Measurement system, image correction method, and computer program
US9393694B2 (en) 2010-05-14 2016-07-19 Cognex Corporation System and method for robust calibration between a machine vision system and a robot
WO2012001793A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 画像処理プログラムおよび画像処理装置
US20110298916A1 (en) * 2011-04-18 2011-12-08 Lmi Technologies Ltd. Sensor system processing architecture
US9188973B2 (en) 2011-07-08 2015-11-17 Restoration Robotics, Inc. Calibration and transformation of a camera system's coordinate system
JP2013137760A (ja) * 2011-12-16 2013-07-11 Cognex Corp 複数のカメラに対する複数部品コレスポンダ
DE102012103495B8 (de) * 2012-03-29 2014-12-04 Sick Ag Optoelektronische Vorrichtung zur Vermessung von Struktur- oder Objektgrößen und Verfahren zur Kalibrierung
CN104169965B (zh) * 2012-04-02 2018-07-03 英特尔公司 用于多拍摄装置系统中图像变形参数的运行时调整的系统、方法和计算机程序产品
CN102708378B (zh) * 2012-04-28 2014-06-11 浙江工业大学 一种基于图像异常特征的智能交通抓拍设备故障诊断的方法
JP6032987B2 (ja) * 2012-07-24 2016-11-30 オリンパス株式会社 画像出力装置および画像出力装置の作動方法
KR101893788B1 (ko) * 2012-08-27 2018-08-31 삼성전자주식회사 다시점 카메라간 정합 장치 및 방법
JP5991121B2 (ja) * 2012-09-28 2016-09-14 株式会社デンソーウェーブ キャリブレーション装置、および撮像装置のキャリブレーション方法
CN103884272B (zh) * 2012-12-20 2016-10-05 联想(北京)有限公司 一种物体位置确定方法、装置及移动电子设备
TWI554100B (zh) * 2012-12-27 2016-10-11 Metal Ind Res &Development Ct Correction sheet design for correcting a plurality of image capturing apparatuses and correction methods of a plurality of image capturing apparatuses
CN103679693B (zh) * 2013-01-25 2017-06-16 杭州先临三维科技股份有限公司 一种多相机单视图标定装置及其标定方法
EP2952024A2 (de) * 2013-02-04 2015-12-09 Dnv Gl Se Inspektionskameraeinheit, verfahren zur inspektion von innenräumen sowie sensoreinheit
WO2014168974A1 (en) * 2013-04-08 2014-10-16 Omnivision Technologies, Inc. Systems and methods for calibration of a 360 degree camera system
JP6163899B2 (ja) * 2013-06-11 2017-07-19 ソニー株式会社 情報処理装置、撮像装置、情報処理方法、及びプログラム
US9772173B2 (en) * 2013-06-27 2017-09-26 Faro Technologies, Inc. Method for measuring 3D coordinates of a surface with a portable articulated arm coordinate measuring machine having a camera
US10725478B2 (en) 2013-07-02 2020-07-28 The Boeing Company Robotic-mounted monument system for metrology systems
US10489912B1 (en) * 2013-12-20 2019-11-26 Amazon Technologies, Inc. Automated rectification of stereo cameras
CN106255938B (zh) * 2014-02-28 2019-12-17 惠普发展公司,有限责任合伙企业 传感器和投影仪的校准
CN104897053A (zh) * 2014-03-05 2015-09-09 泰科电子(上海)有限公司 可编程数字化机器视觉检测平台
JP6299879B2 (ja) * 2014-03-21 2018-04-11 オムロン株式会社 光学システムにおける光学性能劣化の検出および緩和のための方法および装置
WO2015149043A1 (en) 2014-03-28 2015-10-01 Dorin Panescu Quantitative three-dimensional imaging and printing of surgical implants
EP3125808B1 (de) 2014-03-28 2023-01-04 Intuitive Surgical Operations, Inc. Quantitative dreidimensionale visualisierung von instrumenten in einem sichtfeld
EP3125809B1 (de) 2014-03-28 2020-09-09 Intuitive Surgical Operations, Inc. Chirurgisches system mit haptischem feedback auf basis von quantitativer dreidimensionaler bildgebung
JP6609616B2 (ja) 2014-03-28 2019-11-20 インテュイティブ サージカル オペレーションズ, インコーポレイテッド マルチポートの視点からの手術シーンの定量的な3次元イメージング
WO2015149040A1 (en) * 2014-03-28 2015-10-01 Dorin Panescu Quantitative three-dimensional imaging of surgical scenes
US20150355030A1 (en) * 2014-06-04 2015-12-10 Honeywell International Inc. Equipment and method for intensity-temperature transformation of imaging system
US10021379B2 (en) 2014-06-12 2018-07-10 Faro Technologies, Inc. Six degree-of-freedom triangulation scanner and camera for augmented reality
EP2983131A1 (de) * 2014-08-06 2016-02-10 Thomson Licensing Verfahren und Vorrichtung zur Kamerakalibrierung
US9596459B2 (en) 2014-09-05 2017-03-14 Intel Corporation Multi-target camera calibration
US9491452B2 (en) * 2014-09-05 2016-11-08 Intel Corporation Camera calibration
FR3026591B1 (fr) 2014-09-25 2016-10-21 Continental Automotive France Procede de calibration extrinseque de cameras d'un systeme de formation d'images stereos embarque
US10176625B2 (en) 2014-09-25 2019-01-08 Faro Technologies, Inc. Augmented reality camera for use with 3D metrology equipment in forming 3D images from 2D camera images
US9506744B2 (en) 2014-12-16 2016-11-29 Faro Technologies, Inc. Triangulation scanner and camera for augmented reality
US20160191901A1 (en) 2014-12-24 2016-06-30 3M Innovative Properties Company 3d image capture apparatus with cover window fiducials for calibration
CN105806320B (zh) * 2014-12-29 2020-04-21 同方威视技术股份有限公司 拍摄测量系统以及拍摄测量方法
US11019330B2 (en) * 2015-01-19 2021-05-25 Aquifi, Inc. Multiple camera system with auto recalibration
US10119809B2 (en) * 2015-02-16 2018-11-06 Intel Corporation Simulating multi-camera imaging systems
US10223589B2 (en) * 2015-03-03 2019-03-05 Cognex Corporation Vision system for training an assembly system through virtual assembly of objects
EP3293960A4 (de) * 2015-04-28 2018-12-05 Sony Corporation Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und programm
JP6578737B2 (ja) * 2015-05-20 2019-09-25 株式会社リコー 情報処理システム、情報処理装置、情報処理方法およびプログラム
JP6446329B2 (ja) * 2015-06-03 2018-12-26 株式会社日立製作所 カメラのキャリブレーション装置、カメラシステム及び、カメラのキャリブレーション方法
CN104964652B (zh) * 2015-06-25 2017-12-29 惠州时代电池有限公司 一种基于机器视觉的电池卷绕生产检测方法及设备
US10412369B2 (en) * 2015-07-31 2019-09-10 Dell Products, Lp Method and apparatus for compensating for camera error in a multi-camera stereo camera system
US11070793B2 (en) * 2015-07-31 2021-07-20 Cognex Corporation Machine vision system calibration
US10334209B2 (en) * 2015-12-17 2019-06-25 Nike, Inc. Image stitching for footwear component processing
WO2017104448A1 (ja) * 2015-12-17 2017-06-22 セイコーエプソン株式会社 情報処理装置、3次元モデル生成装置、情報処理装置の制御方法、及び、コンピュータープログラム
US20190026924A1 (en) * 2016-01-15 2019-01-24 Nokia Technologies Oy Method and Apparatus for Calibration of a Multi-Camera System
US10142544B1 (en) * 2016-01-27 2018-11-27 RAPC Systems, Inc. Real time wide angle video camera system with distortion correction
US10140687B1 (en) * 2016-01-27 2018-11-27 RAPC Systems, Inc. Real time wide angle video camera system with distortion correction
JP6416814B2 (ja) * 2016-03-04 2018-10-31 Necプラットフォームズ株式会社 判定装置、搬送装置、判定方法及び判定プログラム
JP6702543B2 (ja) * 2016-05-31 2020-06-03 株式会社東芝 情報処理装置、方法およびプログラム
CN106126933B (zh) * 2016-06-24 2018-11-30 清华大学 一种基于动态数据协调降低测量参数噪音的方法
WO2018029950A1 (ja) * 2016-08-12 2018-02-15 オリンパス株式会社 較正装置、較正方法、光学装置、撮影装置、および投影装置
JP6803570B2 (ja) * 2016-09-08 2020-12-23 パナソニックIpマネジメント株式会社 カメラパラメタセット算出装置、カメラパラメタセット算出方法、および、プログラム
US11540725B2 (en) 2016-09-18 2023-01-03 Yeda Research And Development Co. Ltd. Systems and methods for generating 3D images based on fluorescent illumination
JP7165484B2 (ja) * 2017-04-17 2022-11-04 コグネックス・コーポレイション 高精密な校正システム及び方法
US10186051B2 (en) 2017-05-11 2019-01-22 Dantec Dynamics A/S Method and system for calibrating a velocimetry system
US10304210B2 (en) * 2017-05-25 2019-05-28 GM Global Technology Operations LLC Method and apparatus for camera calibration
DE102017115587A1 (de) * 2017-07-12 2019-01-17 Connaught Electronics Ltd. Verfahren zum Bestimmen einer räumlichen Unsicherheit in Bildern eines Umgebungsbereiches eines Kraftfahrzeugs, Fahrerassistenzsystem sowie Kraftfahrzeug
US10666926B1 (en) * 2017-07-18 2020-05-26 Edge 3 Technologies, Inc. Residual error mitigation in multiview calibration
JP2019025572A (ja) * 2017-07-28 2019-02-21 セイコーエプソン株式会社 ロボットの制御装置、ロボット、ロボットシステム、並びに、ロボットの異常を確認する方法
DE102017213362A1 (de) * 2017-08-02 2019-02-07 Siemens Aktiengesellschaft Bewerten einer Kalibrierung eines Sensorsystems
US10636173B1 (en) 2017-09-28 2020-04-28 Alarm.Com Incorporated Dynamic calibration of surveillance devices
US11012683B1 (en) 2017-09-28 2021-05-18 Alarm.Com Incorporated Dynamic calibration of surveillance devices
US10958895B1 (en) * 2017-10-04 2021-03-23 Amazon Technologies, Inc. High speed automated capture of 3D models of packaged items
US10542211B2 (en) * 2017-10-05 2020-01-21 GM Global Technology Operations LLC Camera subsystem evaluation using sensor report integration
US11072074B2 (en) * 2017-12-13 2021-07-27 Cognex Corporation Calibration and operation of vision-based manipulation systems
JP7008942B2 (ja) 2017-12-21 2022-01-25 株式会社安川電機 較正方法及び較正装置
JP2019158414A (ja) * 2018-03-08 2019-09-19 東芝テック株式会社 情報処理装置
EP3561773B1 (de) * 2018-04-26 2022-03-02 Continental Automotive GmbH Online-auswertung für kameraeigene parameter
WO2019213666A1 (en) * 2018-05-04 2019-11-07 Aquifi, Inc. Systems and methods for three-dimensional data acquisition and processing under timing constraints
KR102023087B1 (ko) * 2018-05-31 2019-09-20 주식회사 미르기술 카메라 캘리브레이션 방법
CN108986164B (zh) 2018-07-03 2021-01-26 百度在线网络技术(北京)有限公司 基于图像的位置检测方法、装置、设备及存储介质
US11291507B2 (en) 2018-07-16 2022-04-05 Mako Surgical Corp. System and method for image based registration and calibration
JP7237483B2 (ja) * 2018-07-18 2023-03-13 キヤノン株式会社 ロボットシステムの制御方法、制御プログラム、記録媒体、制御装置、ロボットシステム、物品の製造方法
JP2021532382A (ja) * 2018-07-30 2021-11-25 ポニー エーアイ インコーポレイテッド 車載型車両カメラを較正するシステムおよび方法
WO2020024576A1 (zh) 2018-08-01 2020-02-06 Oppo广东移动通信有限公司 摄像头校准方法和装置、电子设备、计算机可读存储介质
CN109040745B (zh) * 2018-08-01 2019-12-27 Oppo广东移动通信有限公司 摄像头自校准方法和装置、电子设备、计算机存储介质
CN109040746B (zh) * 2018-08-01 2019-10-25 Oppo广东移动通信有限公司 摄像头校准方法和装置、电子设备、计算机可读存储介质
RU2699401C1 (ru) * 2018-08-03 2019-09-05 Общество с ограниченной ответственностью "ДиСиКон" (ООО "ДСК") Способ и система определения параметров калибровки PTZ камеры
DE102018128990B4 (de) * 2018-11-19 2021-11-18 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Kalibrieren sowie Verfahren und Vorrichtung zur Vermessung
US11911914B2 (en) 2019-01-28 2024-02-27 Cognex Corporation System and method for automatic hand-eye calibration of vision system for robot motion
US11293748B2 (en) 2019-03-07 2022-04-05 Faro Technologies, Inc. System and method for measuring three-dimensional coordinates
CN110175960B (zh) * 2019-05-21 2021-04-13 Oppo广东移动通信有限公司 图像校正方法、装置、电子设备以及存储介质
JP7324639B2 (ja) * 2019-07-23 2023-08-10 日本放送協会 被写体位置推定装置、フォーカス補助装置、及び、それらのプログラム
GB202305331D0 (en) * 2019-12-18 2023-05-24 Motional Ad Llc Camera-to-lidar calibration and validation
US11557086B2 (en) * 2020-01-02 2023-01-17 Sony Group Corporation Three-dimensional (3D) shape modeling based on two-dimensional (2D) warping
US11227173B2 (en) 2020-02-18 2022-01-18 Datalogic IP Tech, S.r.l. Virtual-frame preprocessing for optical scanning
DE102020108910B3 (de) * 2020-03-31 2021-07-22 Sick Ag Austausch einer Kamera
US11095870B1 (en) 2020-04-23 2021-08-17 Sony Corporation Calibration of cameras on unmanned aerial vehicles using human joints
CN111861976B (zh) * 2020-05-20 2024-02-02 西安理工大学 一种基于硬件指纹相关性的数字图像源拍摄设备识别方法
US20220128347A1 (en) * 2020-10-28 2022-04-28 Kamerai Private Limited System and method to measure object dimension using stereo vision
CN112381889A (zh) * 2020-11-19 2021-02-19 北京百度网讯科技有限公司 相机检验方法、装置、设备及存储介质
CN112511747B (zh) * 2020-11-27 2022-09-13 广州富港生活智能科技有限公司 基于物联网的自动拍摄设备控制方法及装置
CN112833816A (zh) * 2020-12-31 2021-05-25 武汉中观自动化科技有限公司 一种标志点定位与智能反向定位混合的定位方法和系统
US20220264072A1 (en) * 2021-02-12 2022-08-18 Sony Group Corporation Auto-calibrating n-configuration volumetric camera capture array
DE102021202993A1 (de) 2021-03-26 2022-09-29 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Ermittlung einer Kalibrierungsgüte eines optischen Sensors
FR3128561B1 (fr) * 2021-10-26 2024-03-22 Commissariat Energie Atomique Procédé de calibration automatique des paramètres extrinsèques d’un réseau de caméras optiques ; Produit programme d’ordinateur, système de vision par ordinateur et véhicule automobile associés.
US11587258B1 (en) * 2021-11-10 2023-02-21 GM Cruise Holdings LLC. Focal length validation using three-dimensional pose estimates
US11893450B2 (en) 2021-12-06 2024-02-06 Datalogic IP Tech, S.r.l. Robust optical aimer for triangulation-based distance measurement
WO2023220593A1 (en) * 2022-05-09 2023-11-16 Cognex Corporation System and method for field calibration of a vision system

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US346773A (en) 1886-08-03 Bath-pad
US345130A (en) 1886-07-06 Take-up for knitting-machines
US5257203A (en) * 1989-06-09 1993-10-26 Regents Of The University Of Minnesota Method and apparatus for manipulating computer-based representations of objects of complex and unique geometry
US6026172A (en) * 1996-09-06 2000-02-15 Lewis, Jr.; Clarence A. System and method for zoom lens calibration and method using same
US6075881A (en) * 1997-03-18 2000-06-13 Cognex Corporation Machine vision methods for identifying collinear sets of points from an image
US6078701A (en) * 1997-08-01 2000-06-20 Sarnoff Corporation Method and apparatus for performing local to global multiframe alignment to construct mosaic images
US6151406A (en) * 1997-10-09 2000-11-21 Cognex Corporation Method and apparatus for locating ball grid array packages from two-dimensional image data
US6178392B1 (en) * 1998-09-22 2001-01-23 Intel Corporation Method for combining the computer models of two surfaces in 3-D space
DE19848765C2 (de) * 1998-10-22 2000-12-21 Brainlab Med Computersyst Gmbh Positionsverifizierung in Kamerabildern
US6553138B2 (en) * 1998-12-30 2003-04-22 New York University Method and apparatus for generating three-dimensional representations of objects
US7068825B2 (en) * 1999-03-08 2006-06-27 Orametrix, Inc. Scanning system and calibration method for capturing precise three-dimensional information of objects
US6476803B1 (en) * 2000-01-06 2002-11-05 Microsoft Corporation Object modeling system and process employing noise elimination and robust surface extraction techniques
AU2001245834A1 (en) * 2000-03-23 2001-10-03 Snap-On Technologies, Inc. Self-calibrating, multi-camera machine vision measuring system
CN100346133C (zh) * 2000-03-23 2007-10-31 捷装技术公司 自校准、多相机机器视觉测量系统
US7027642B2 (en) * 2000-04-28 2006-04-11 Orametrix, Inc. Methods for registration of three-dimensional frames to create three-dimensional virtual models of objects
EP1285224A1 (de) * 2000-05-16 2003-02-26 Steinbichler Optotechnik Gmbh Verfahren und vorrichtung zum bestimmen der 3d-form eines objektes
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
EP1176557A1 (de) * 2000-07-24 2002-01-30 Setrix AG Verfahren und Anordnung zur Kamerakalibrierung
JP2003279315A (ja) 2002-01-16 2003-10-02 Advanced Telecommunication Research Institute International カメラの自動校正方法
US7212228B2 (en) * 2002-01-16 2007-05-01 Advanced Telecommunications Research Institute International Automatic camera calibration method
US7085622B2 (en) * 2002-04-19 2006-08-01 Applied Material, Inc. Vision system
JP4354708B2 (ja) 2003-01-15 2009-10-28 独立行政法人科学技術振興機構 多視点カメラシステム
US7333113B2 (en) * 2003-03-13 2008-02-19 Sony Corporation Mobile motion capture cameras
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
JP4285279B2 (ja) 2003-03-26 2009-06-24 ソニー株式会社 ロボットに搭載されたステレオ・カメラの診断用装置、並びにロボット装置に搭載されたステレオ・カメラの診断方法
JP2004354256A (ja) 2003-05-29 2004-12-16 Olympus Corp キャリブレーションずれ検出装置及びこの装置を備えたステレオカメラ並びにステレオカメラシステム
US7215810B2 (en) * 2003-07-23 2007-05-08 Orametrix, Inc. Method for creating single 3D surface model from a point cloud
JP4307283B2 (ja) 2004-02-17 2009-08-05 三菱電機株式会社 ステレオカメラシステムおよび該システムのステレオカメラ同士のキャリブレーション方法
US7512261B2 (en) * 2004-07-27 2009-03-31 Microsoft Corp. System and method for calibrating multiple cameras without employing a pattern by inter-image homography
JP3946716B2 (ja) * 2004-07-28 2007-07-18 ファナック株式会社 ロボットシステムにおける3次元視覚センサの再校正方法及び装置
JP2006214735A (ja) 2005-02-01 2006-08-17 Viewplus Inc 複合ステレオビジョン装置
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
JP2007010419A (ja) 2005-06-29 2007-01-18 Komatsu Engineering Corp 対象物の3次元形状検証システム。
JP2007033087A (ja) * 2005-07-22 2007-02-08 Sony Corp キャリブレーション装置及び方法
JP2007064836A (ja) * 2005-08-31 2007-03-15 Kyushu Institute Of Technology カメラキャリブレーションの自動化アルゴリズム
CN100412503C (zh) 2005-09-30 2008-08-20 中国海洋大学 多视角激光测头及其标定方法
US8111904B2 (en) 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
TWI307484B (en) * 2006-02-21 2009-03-11 Univ Nat Chiao Tung Image capture apparatus calibration system and method there
CN101226638B (zh) * 2007-01-18 2010-05-19 中国科学院自动化研究所 一种对多相机系统的标定方法及装置
US8655052B2 (en) * 2007-01-26 2014-02-18 Intellectual Discovery Co., Ltd. Methodology for 3D scene reconstruction from 2D image sequences
JP4886560B2 (ja) * 2007-03-15 2012-02-29 キヤノン株式会社 情報処理装置、情報処理方法
KR100886655B1 (ko) * 2007-04-10 2009-03-04 삼성중공업 주식회사 로봇 기반 멀티 레이저 비전 시스템의 자동 캘리브레이션방법
WO2008147355A1 (en) 2007-05-29 2008-12-04 Cognex Technology And Investment Corporation 3d assembly verification from 2d images
JP4442661B2 (ja) 2007-08-29 2010-03-31 オムロン株式会社 3次元計測方法および3次元計測装置
CN101216681B (zh) * 2007-12-28 2010-10-20 上海微电子装备有限公司 机器视觉动态标定方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A. Zomet, L. Wolf and A. Shashua, "Omni-rig: linear self-recalibration of a rig with varying internal and external parameters," Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001, Vancouver, BC, 2001, pp. 135-141 vol.1.doi: 10.1109/ICCV.2001.937509
C. Hermans, M. Dumont and P. Bekaert, "Extrinsic Recalibration in Camera Networks," Computer and Robot Vision, 2007. CRV '07. Fourth Canadian Conference on, Montreal, Que., 2007, pp. 3-10. doi: 10.1109/CRV.2007.31
R. M. Haralick, H. Joo, C. Lee, X. Zhuang, V. G. Vaidya and M. B. Kim, "Pose estimation from corresponding point data," in IEEE Transactions on Systems, Man, and Cybernetics, vol. 19, no. 6, pp. 1426-1446, Nov/Dec 1989. doi: 10.1109/21.44063
R. Tsai, "A versatile camera calibration technique for high-accuracy 3D machine vision metrology using off-the-shelf TV cameras and lenses," in IEEE Journal on Robotics and Automation, vol. 3, no. 4, pp. 323-344, August 1987. doi: 10.1109/JRA.1987.1087109
Shu, Fangwu, Jianwei Zhang, and Youfu Li. "A multi-camera system for precise pose estimation in industrial applications." Automation and Logistics, 2009. ICAL'09. IEEE International Conference on. IEEE, 2009, (Conference: 5-7 Aug. 2009; in IEEE Xplore: 25 September 2009)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10290118B2 (en) 2015-08-06 2019-05-14 Cognex Corporation System and method for tying together machine vision coordinate spaces in a guided assembly environment
US11049280B2 (en) 2015-08-06 2021-06-29 Cognex Corporation System and method for tying together machine vision coordinate spaces in a guided assembly environment

Also Published As

Publication number Publication date
CN102782721A (zh) 2012-11-14
JP6280525B2 (ja) 2018-02-14
JP2013515959A (ja) 2013-05-09
US11699247B2 (en) 2023-07-11
CN110084854A (zh) 2019-08-02
JP2016001181A (ja) 2016-01-07
WO2011079258A1 (en) 2011-06-30
US20110157373A1 (en) 2011-06-30
DE112010005008T5 (de) 2012-11-15
CN102782721B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
DE112010005008B4 (de) System und Verfahren zur Bestimmung von Kamerafehlkalibrierung im Laufzeitbetrieb
DE102015011914B4 (de) Konturlinienmessvorrichtung und Robotersystem
DE102015101710B4 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE69826753T2 (de) Optischer Profilsensor
EP2489977B1 (de) Verfahren zur Bestimmung der 3-D-Koordinaten eines Objekts und zum Kalibrieren eines Industrieroboters
DE102018109774B4 (de) Bildverarbeitungssystem, Bildverarbeitungsvorrichtung und Bildverarbeitungsprogramm
DE69723213T2 (de) System zum Messen des Spiels und der Koplanarität zweier nebeneinander liegender Objekte
EP2603767B1 (de) Verfahren zum kalibrieren eines messsystems und vorrichtung zum durchführen des verfahrens
DE102006055758B4 (de) Verfahren zur Kalibrierung von Kameras und Projektoren
DE102016013274A1 (de) Bildverarbeitungsvorrichtung und verfahren zur erkennung eines bilds eines zu erkennenden objekts aus eingabedaten
DE112010002174T5 (de) Verfahren und vorrichtung für ein praktisches 3d-sehsystem
DE102017116952A1 (de) System und verfahren für verbessertes scoring von 3d-lagen und entfernen von störpunkten in 3d-bilddaten
DE112006002674T5 (de) Verfahren und Vorrichtungen für praktisches 3D-Sichtigkeitssystem
EP2886043A1 (de) Verfahren zum Fortsetzen von Aufnahmen zum Erfassen von dreidimensionalen Geometrien von Objekten
EP3195256B1 (de) Verfahren und vorrichtung zum identifizieren von strukturelementen eines projizierten strukturmusters in kamerabildern
DE112011100652T5 (de) Dreidimensionale messvorrichtung, verarbei- tungsverfahren und nichtflüchtiges computer- lesbares speichermedium
DE10137241A1 (de) Registrierung von Tiefenbildern mittels optisch projizierter Marken
DE10135300A1 (de) Verfahren und Einrichtung zum Messen dreidimensionaler Information
EP3775767B1 (de) Verfahren und system zur vermessung eines objekts mittels stereoskopie
DE102009030644B4 (de) Berührungslose Erfassungseinrichtung
DE102018201692A1 (de) Verfahren zu einer indirekten Abstandsmessung
DE102019124810A1 (de) Bildverarbeitungsgerät und Bildverarbeitungsverfahren
DE102018121481A1 (de) Entfernungsmesssystem und Entfernungsmessverfahren
EP2819109A1 (de) Vorrichtung umfassend einen optoelektronischen 3D-Sensor und Verfahren zum Erkennen von Objekten
WO2018133890A1 (de) Verfahren und vorrichtung zum erzeugen eines 3d-thermogramms

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06T0007000000

Ipc: G06T0007800000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE

R082 Change of representative

Representative=s name: PATENTANWAELTE OLBRICHT, BUCHHOLD, KEULERTZ PA, DE