DE102005025470B4 - Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt - Google Patents

Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt Download PDF

Info

Publication number
DE102005025470B4
DE102005025470B4 DE102005025470A DE102005025470A DE102005025470B4 DE 102005025470 B4 DE102005025470 B4 DE 102005025470B4 DE 102005025470 A DE102005025470 A DE 102005025470A DE 102005025470 A DE102005025470 A DE 102005025470A DE 102005025470 B4 DE102005025470 B4 DE 102005025470B4
Authority
DE
Germany
Prior art keywords
image
data set
image data
current
features
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.)
Expired - Fee Related
Application number
DE102005025470A
Other languages
English (en)
Other versions
DE102005025470A1 (de
Inventor
Juri Dipl.-Inf. Platonov
Hauke Dipl.-Inf. Heibel
Peter Dipl.-Ing. Meier
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.)
Apple Inc
Original Assignee
Metaio GmbH
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 Metaio GmbH filed Critical Metaio GmbH
Priority to DE102005025470A priority Critical patent/DE102005025470B4/de
Publication of DE102005025470A1 publication Critical patent/DE102005025470A1/de
Application granted granted Critical
Publication of DE102005025470B4 publication Critical patent/DE102005025470B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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
    • 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/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Studio Devices (AREA)

Abstract

Verfahren zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt,
– bei dem mit einer Kamera (CA) ein zweidimensionales Bild (IP) aufgenommen wird, welches wenigstens ein Objekt (OB) beinhaltet, das sich in einer realen Umgebung (RW) befindet,
– bei dem im Zuge der Aufnahme des zweidimensionalen Bildes ein aktueller Bilddatensatz (CF(i)) erzeugt wird,
– bei dem bei Bedarf Bildmerkmale (f1 – f4) im zweidimensionalen Bild bestimmt werden,
– bei dem ein Verfahren zur Verfolgung von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz (CF(i – 1), KF) und dem aktuellen Bilddatensatz (CF(i)) durchgeführt wird,
– bei dem ein Optimierungsverfahren durchgeführt wird, welches ein Datenmodell (MD) einer virtuellen Information mit zu bestimmenden Kameraparametern auf die Bildebene projiziert, um eine Projektion (RMD) des Datenmodells mit dem Abbild (ROB) des realen Objekts auf der Bildebene zu überlagern, und welches aktuelle Kameraparameter durch Bestimmung von Extremalwerten einer Kostenfunktion...

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und ein System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt, bei welchen mit einer Kamera ein zweidimensionales Bild aufgenommen wird, welches wenigstens ein Objekt beinhaltet, das sich in einer realen Umgebung befindet, und Kameraparameter anhand eines Datenmodells einer virtuellen Information bestimmt werden.
  • Ein derartiges Verfahren und ein derartiges System sind im Stand der Technik insbesondere im Zusammenhang mit sogenannten Augmented Reality Systemen bekannt. Diese erlauben die Überlagerung von Computer-generierten, virtuellen Informationen mit Seheindrücken der realen Umgebung. Hierzu werden die Seheindrücke der realen Welt vorzugsweise mittels auf dem Kopf getragenen halbdurchlässigen Datenbrillen mit virtuellen Informationen vermischt. Die Einblendung der virtuellen Informationen bzw. Objekte kann dabei kontextabhängig, d.h. angepasst und abgeleitet von der jeweilig betrachteten realen Umgebung ausgeführt sein. Als virtuelle Information kann grundsätzlich jede Art von Daten wie Texte, Abbildungen etc. verwendet werden. Die reale Umgebung kann mit einer, beispielsweise auf dem Kopf des Anwenders getragenen, Kamera erfasst werden. Der Anwender hat durch die Überlagerung von virtueller und realer Umgebung die Möglichkeit, Soll-Ist-Abgleiche einfach durchzuführen.
  • Bei einer Kopfbewegung des Anwenders eines Augmented Reality Systems müssen sämtliche künstlichen Objekte dem sich ändernden Sichtfeld nachgeführt werden. Ist die Bewegung zu schnell oder die Computer-gestützte Berechnung zur Nachführung der virtuellen Information zu langsam, kann der Rechner die neuen Positionen entweder nicht mehr erkennen, oder er berechnet sie in unzutreffender Weise, so dass die Computer-generierten Objekte nicht mehr den jeweiligen realen Objekten zugeordnet werden können.
  • Während eines Initialisierungsvorgangs wird beispielsweise ein Objekt der realen Umgebung mit der Kamera in Beziehung gesetzt. Dadurch kann ein Kamerabild der realen Umgebung zugeordnet werden. Die reale Umgebung kann eine komplexe Vorrichtung und das erfasste Objekt kann ein markantes Element der Vorrichtung sein. Während eines folgenden sogenannten Tracking-Vorgangs, der den eigentlichen Arbeitsvorgang repräsentiert während beispielsweise ein Anwender des Systems kontextabhängige Information an einer gewünschten Position in Bezug zur realen Umgebung in einer verwendeten Anzeigeeinrichtung eingeblendet erhält, dient das während der Initialisierung erfasste Objekt als Referenz, um die Position zu berechnen, an der die virtuelle Information in einem von der Kamera aufgenommenen Bild angezeigt oder eingeblendet werden soll. Da der Anwender seine Position und seine Orientierung ändern kann, muss das Objekt kontinuierlich nachverfolgt werden (Tracking), um die virtuelle Information auch bei einer geänderten Position und/oder einer geänderten Orientierung des Anwenders an der korrekten Position in der Anzeigeeinrichtung anzuzeigen. Damit wird erreicht, dass die Information unabhängig von der Position und/oder der Orientierung des Anwenders in Bezug zur Realität in der Anzeigeeinrichtung angezeigt wird.
  • Ein Augmented Reality System ist ein Beispiel für die Anwendung von sogenannten markerlosen Trackingsystemen, wie zuvor beschrieben. Grundsätzlich geht es bei solchen Trackingsystemen oder Trackingverfahren um die Erkennung der Kamerapose relativ zur Realität. Die Kamerapose ist die Position und Orientierung der Kamera im Raum. Die Realität muss in irgendeiner Form als Modell vorliegen, beispielsweise als 3D-Modell, welches die geometrischen Eigenschaften der Realität oder eines Teils der Realität umschreibt. Die Realität in diesem Sinne wird im Folgenden auch als Tracking-Objekt bezeichnet. Das 3D-Modell kann beispielsweise aus einer Konstruktionszeichnung, etwa einem CAD-Dokument, gewonnen werden.
  • Die einzelnen Vorgänge innerhalb eines Augmented Reality Systems lassen sich grob unterteilen, wobei die sogenannte Registrierung und das Tracking eine wichtige Stellung einnehmen. Registrierung ist die Ermittlung einer Transformation zwischen dem Augmented Reality System und einem beliebigen realen Objekt, um eine Überlagerung des Gegenstands der realen Welt mit einem virtuellen Bild zu ermöglichen. Die Aufgabe der sogenannten 2D-3D-Registrierung ist es, intrinsische und/oder extrinsische Kameraparameter zu finden, welche die Projektion eines 3D-Modells realer Objekte mit dem Abbild realer Objekte auf der Bildebene überlagern. Die intrinsischen Kameraparameter beschreiben die meist festen Eigenschaften einer Kamera, wie Öffnungswinkel (beim Einsatz von Zoom-Objektiven dynamisch) und Verzerrung. Die extrinsischen Kameraparameter beschreiben die Pose der Kamera.
  • Bisher wurden unterschiedliche Ansätze für die 2D-3D-Registrierung untersucht. So wird beispielsweise in "Stable real-time AR framework for training and planning in industrial environments", L. Vacchetti, V. Lepetit, et al., eine jeweilige Korrespondenz zwischen Bildmerkmalen im aktuellen zweidimensionalen Bild der Realität und der 3D-Position von korrespondierenden Merkmalen in dem 3D-Datenmodell bestimmt. Hierin wird eine Vereinfachung der sogenannten Optimierung durch die Annahme getroffen, dass Bildmerkmale auf der Modelloberfläche liegen. Dadurch ist die 3D-Position von Merkmalen in dem Datenmodell bekannt. Zur Bestimmung von starken Bildmerkmalen des Tracking-Objekts im zweidimensionalen Bild wird das Harris-Corner-Detektionsverfahren verwendet.
  • Nachteilig an diesem und an anderen bekannten Verfahren zur Erfassung von Objektpositionen und Orientierungen relativ zu einer Kamera ist insbesondere eine mangelnde Robustheit, eine mangelnde Genauigkeit und keine Echtzeitfähigkeit bei Verwendung von kostengünstiger Standardhardware. Zusätzlich ist eine hohe Empfindlichkeit bei teilweiser Verdeckung des Tracking-Objekts, z.B. durch Hände oder bewegte Gegenstände, festzustellen.
  • Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren und ein System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt anzugeben, die es ermöglichen, das Objekt in einem Trackingverfahren, das mit hoher Robustheit und Genauigkeit arbeitet, nachzuverfolgen.
  • Diese Aufgabe wird gelöst durch ein Verfahren gemäß Patentanspruch 1 und durch ein System gemäß Patentanspruch 25.
  • Bei einem Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt der eingangs genannten Art wird gemäß der Erfindung im Zuge der Aufnahme des zweidimensionalen Bildes ein aktueller Bilddatensatz erzeugt, und es werden bei Bedarf Bildmerkmale im zweidimensionalen Bild bestimmt. Es wird ein Verfahren zur Verfolgung von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz und dem aktuellen Bilddatensatz durchgeführt. Weiterhin wird ein Optimierungsverfahren durchgeführt, welches das Datenmodell mit zu bestimmenden Kameraparametern auf die Bildebene projiziert, um eine Projektion des Datenmodells mit dem Abbild des realen Objekts auf der Bildebene zu überlagern, und welches aktuelle Kameraparameter durch Bestimmung von Extremalwerten einer Kostenfunktion bestimmt, die als Parameter Bilddaten aus dem aktuellen Bilddatensatz und Daten des projizierten Datenmodells beinhaltet.
  • Mögliche Anwendungen des Systems und des Verfahrens gemäß der Erfindung schließen insbesondere Anwendungen der Augmented Reality Technologie in den Bereichen Service und Wartung, Anwendungen in der Produktion sowie allgemein Anwendungen im mobilen Umfeld ein. Die Vorteile, die sich aus der Anwendung des erfindungsgemäßen Verfahrens und des erfindungsgemäßen Systems ergeben, sind insbesondere eine hohe Robustheit bei Verwendung von kostengünstiger Standardhardware durch die mögliche Verwendung von vielen Bildmerkmalen, sogenannten Features, und durch den Einsatz eines Optimierungsverfahrens, welches trotz teilweise ungenauer oder falscher Features korrekte Kameraposen liefert. Dies wird insbesondere da durch erreicht, dass gemäß dem erfindungsgemäßen Verfahren ungültige Bildmerkmale durch das Verfahren zur Verfolgung von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz und dem aktuellen Bilddatensatz entfernt werden. Die Projektionsgüte wird durch die Verwendung des erfindungsgemäßen Optimierungsverfahrens auf Basis der Auswertung einer Kostenfunktion günstig gelöst, während bisher die Bestimmung der Projektionsgüte einem sehr aufwändigen Schritt im Tracking-Verfahren gleichkommt.
  • Gemäß einer vorteilhaften Ausführungsform der Erfindung ist in das Verfahren zur Verfolgung von Bildmerkmalen das Kanade-Lucas-Tomasi-Trackingverfahren implementiert. In das Optimierungsverfahren ist vorteilhafterweise das Downhill-Simplex-Optimierungsverfahren implementiert. Zur Erkennung von Bildmerkmalen im zweidimensionalen Bild wird bevorzugt das Harris-Corner-Detektionsverfahren verwendet. Gemäß einer anderen Ausführungsform der Erfindung ist in das Optimierungsverfahren das Levenberg-Marquard-Optimierungsverfahren implementiert. Insbesondere durch die Verwendung dieser Verfahren wird eine hohe Robustheit bei der Verwendung von kostengünstiger Standardhardware erreicht.
  • Weitere Vorteile des erfindungsgemäßen Verfahrens und Systems sind eine hohe Genauigkeit bei Verwendung kostengünstiger Standardhardware sowie die Echtzeitfähigkeit durch die Verwendung einer effizienten Feature-Verfolgung und eines intelligenten Mechanismus, welcher nur dann aufwändigere Verfahren, wie beispielsweise das Harris-Corner-Detektionsverfahren, einsetzt, wenn diese benötigt werden. Die Echtzeitfähigkeit wird auch durch die Verwendung einer günstigen Kostenfunktion und eines schnell konvergierenden Optimierungsverfahrens erreicht. Eine Unempfindlichkeit bei teilweiser Verdeckung des Tracking-Objekts, z.B. durch Hände oder bewegte Gegenstände, wird erzielt durch eine mögliche automatische Eliminierung ungültiger Bildmerkmale beim bzw. im Anschluss an das Verfahren zur Verfolgung von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz und dem aktuellen Bilddatensatz.
  • Das erfindungsgemäße Verfahren zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt ist auf vielfältigen Anwendungsgebieten anwendbar, welche ein Trackingsystem bzw. Trackingverfahren verwenden. Insbesondere ist die Erfindung auch auf dem Gebiet der industriellen Fertigung verwendbar, bei dem Industriemaschinen wie Industrieroboter automatisch gesteuert bzw. geregelt werden. In diesem Anwendungsfeld kann die Erfindung etwa bei der Regelung der Greifbahn eines Roboters auf Grundlage der Position von realen Objekten vorteilhaft eingesetzt werden. Durch die Ermittlung der Position und Orientierung der Kamera, die ein zweidimensionales Bild der Realität aufnimmt, relativ zu realen Objekten kann die Position und folglich die Greifbahn eines Roboters in Bezug auf die reale Umgebung automatisiert berechnet und geregelt werden.
  • Weitere vorteilhafte Aus- und Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Die Erfindung wird im Folgenden anhand der in der Zeichnung dargestellten Figuren, die vorteilhafte Ausführungsformen der Erfindung darstellen, näher erläutert.
  • 1 zeigt in schematischer Darstellung ein erfindungsgemäßes System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt und das zugrunde liegende Prinzip einer 2D-3D-Registrierung,
  • 2 zeigt ein Flussdiagramm über einen Ablauf eines Verfahrens zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt gemäß der Erfindung,
  • 3 zeigt ein Flussdiagramm über eine vorteilhafte Ausbildung eines Teilverfahrens zur verbesserten Suche von Basisbilddatensätzen,
  • 4 zeigt einen schematischen Ablauf über die Aufnahme mehrerer Bilddatensätze und die Bestimmung und Verfolgung von Bildmerkmalen zwischen unterschiedlichen Bilddatensätzen.
  • 1 zeigt in schematischer Darstellung ein erfindungsgemäßes System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt. Mittels einer Kamera CA wird auf einer zweidimensionalen Bildebene IP ein zweidimensionales Bild eines realen Objekts, im vorliegenden Ausführungsbeispiel eines Fahrzeugs mit geöffneter Motorhaube, aufgenommen. Hierbei befindet sich das aufzunehmende Objekt OB in Form eines Motorblocks in der realen Umgebung RW. Die dreidimensionale Realität wird auf die zweidimensionale Bildebene IP der Kamera abgebildet. Im Zuge der Aufnahme des zweidimensionalen Bildes durch die Kamera CA wird im Zusammenwirken mit einer Verarbeitungsvorrichtung in Form eines Szenengenerators SG ein aktueller Bilddatensatz, ein sogenannter Frame, erzeugt. In einer bevorzugten Ausführung ist an der Kamera ein Sensor, insbesondere in Form eines Inertialsensors IS angebracht, der ebenso mit dem Szenengenerator SG verbunden ist.
  • In dem Szenengenerator SG ist ein Verfahren implementiert, das ein virtuelles 3D-Modell der Realität ebenfalls auf eine 2D-Fläche abbildet. Das virtuelle 3D-Modell MD ist ein dreidimensionales Datenmodell des Objekts OB in Form des Motorblocks. Das auf die Bildebene projizierte 3D-Modell, das sogenannte gerenderte 3D-Modell, ist in 1 mit RMD bezeichnet. Das Abbild des realen Objekts OB ist in 1 mit ROB bezeichnet. Die Darstellung der Bildebenen in 1 ist nicht als räumlich-real zu betrachten, sondern lediglich eine schematische Darstellung zur Verdeutlichung der Verfahrensabläufe in dem Szenengenerator SG.
  • Bei der Anwendung der Erfindung in Zusammenhang mit einem Augmented Reality System ist der Szenengenerator SG mit Darstellungsmitteln verbunden, die dazu dienen, das aufgenommene Bild und die virtuelle Information einem Anwender gemeinsam darzustellen, so dass die virtuelle Information mit Objekten einer realen Umgebung überlagert wird. Die Darstellungsmittel können beispielsweise als ein sogenanntes head-mounted Display HMD ausgeführt sein, das Texte oder 3D-Grafiken über einen Bildschirm vor den Augen eines Benutzers einblenden kann. Bei HMD-Systemen kann wiederum zwischen sogenannten Video-see-through-HMDs und Optical-see-through-HMDs unterschieden werden. Ersteres entspricht einer durchsichtigen Videobrille, während letzteres einer Durchsichtbrille entspricht. Bei der Anwendung der Erfindung auf dem Sektor der Industriefertigung, beispielsweise um eine Greifbahn eines Roboters auf Basis der Position von realen Objekten zu regeln, ist der Szenengenerator SG beispielsweise mit der Regelung eines Roboters RT verbunden.
  • Grundsätzlich geht es bei markerlosen Trackingsystemen um die Erkennung der Kamerapose relativ zur Realität. Die Kamerapose ist hierbei die Position und Orientierung der Kamera CA im Raum. Die Aufgabe der 2D-3D-Registrierung ist es, intrinsische und/oder extrinsische Kameraparameter zu finden, welche die Projektion RMD des 3D-Modells mit dem Abbild ROB des realen Objekts auf der Bildebene überlagern. Das Ziel hierbei ist, das 3D-Modell Kontextrichtig in die Realität einzublenden. Dieser Prozess der Einblendung ist jedoch nicht räumlich-real zu verstehen, sondern die Einblendung erfolgt in datentechnischer Form in dem Szenengenerator SG anhand von abgebildeten optischen Gesetzen. Mit der Bestimmung der Kameraparameter zur Ermittlung der Position und Orientierung der Kamera relativ zum realen Objekt werden die umschreibenden Parameterwerte des datentechnischen Modells festgelegt, so dass das innere Computermodell mit der physikalischen Welt übereinstimmt.
  • Bei einer Initialisierung zu Beginn des erfindungsgemäßen Verfahrens ist die Pose der Kamera CA bekannt. Die sogenannte Korrespondenz zwischen starken Bildmerkmalen im Kamerabild der Realität, in 1 beispielhaft anhand eines einzelnen Merkmals f(2D) verdeutlicht, und der 3D-Position eines korrespondierenden Merkmals in dem Datenmodell, was Rückschlüsse auf die 3D-Position des entsprechenden Merkmals in der Realität (gekennzeichnet in 1 mit f(3D)) zulässt, kann durch die sogenannte Rückprojektion gefunden werden.
  • Vorteilhafterweise kann die Berechnung der Rückprojektion (wann durchstößt der berechnete Kamerastrahl R an dem jeweiligen Bildmerkmal im zweidi mensionalen Bild das korrespondierende Merkmal des 3D-Modells) durch eine Farbkodierung der sogenannten Faces des 3D-Modells beschleunigt werden. Die Faces sind beispielsweise Dreiecke eines polygonalen Modells, das die Oberfläche eines Objekts durch dreidimensionale Punkte im Raum (vertices) und Verbindungen zwischen diesen Punkten (edges) beschreibt. Ein Nachteil eines polygonalen Modells ist die große Datenmenge, welche zur Beschreibung einer Oberfläche benötigt wird, insbesondere wenn es sich um eine komplexe, hochfrequente Struktur handelt, welche dann viele Polygone zur Beschreibung benötigt. Mit Farbkodierung des Faces des 3D-Modells muss nicht die Kollision mit allen Faces des 3D-Modells getestet werden, sondern nur der Durchstoßpunkt an der Stelle, an welcher die Farbe des in 2D projizierten 3D-Modells mit dem Face-Farbcode des 3D-Modells übereinstimmt. Bildmerkmale, sogenannte Features, welche nicht in der 2D-Fläche des projizierten 3D-Modells liegen, müssen gar nicht erst betrachtet werden. Zur Projektion der codierten Faces kann vorteilhafterweise "OpenGL" oder "Direct3D" eingesetzt werden, was durch moderne Grafikhardware beschleunigt wird.
  • Sind die Korrespondenzen zwischen Features im aktuellen zweidimensionalen Bild der Realität und der 3D-Position von korrespondierenden Features in dem Datenmodell bekannt, können die Features verfolgt werden. Diese Verfolgung wird zwischen einem vorliegenden Bilddatensatz und dem aktuellen Bilddatensatz durchgeführt. Ein Optimierungsverfahren projiziert das Datenmodell MD mit zu bestimmenden Kameraparametern auf die Bildebene, um die Projektion RMD des Datenmodells MD mit dem Abbild ROB des realen Objekts OB auf der Bildebene zu überlagern. Die aktuellen Kameraparameter werden durch das Optimierungsverfahren durch Bestimmung von Extremalwerten einer Kostenfunktion bestimmt, die als Parameter Bilddaten aus dem aktuellen Bilddatensatz und Daten des projizierten Datenmodells RMD beinhaltet. Insbesondere variiert das Optimierungsverfahren die Kameraparameter solange, bis die mit den Kameraparametern projizierten 3D-Features einen geringen Abstand zu den korrespondierenden Features aus dem Kamerabild haben. Gemäß dieser Ausführungsform wird also eine Abstandsmetrik zwischen projizierten Bildpunkten des Datenmodells und korrespondierenden Bildpunkten aus dem aktuellen Bilddatensatz ausgewertet, wobei insbesondere ein jeweiliger Abstand zwi schen projizierten Bildpunkten des Datenmodells und korrespondierenden Bildpunkten aus dem aktuellen Bilddatensatz ausgewertet wird und beispielsweise einer Gewichtung anhand wenigstens eines Gütekriteriums unterzogen wird. Sind die Kameraparameter auf diese Art bestimmt, ist die Position und Orientierung der Kamera im Raum bekannt.
  • Bei Anwendung in Augmented Reality Systemen kann somit die virtuelle Information Kontext-richtig in die reale Umgebung eingeblendet werden. Bei Anwendung zur Regelung etwa eines Roboters kann die Greifbahn desselben in Bezug auf die Position des realen Objekts räumlich richtig berechnet und gesteuert werden. Die Kamera CA gemäß 1 befindet sich dabei beispielsweise auf dem HMD und somit auf dem Kopf des Anwenders des Augmented Reality Systems, bzw. ist an einer Stelle des Roboters angebracht.
  • Gemäß der Erfindung werden mit dem Verfahren zur Verfolgung von Bildmerkmalen ungültige Bildmerkmale entfernt, während mit dem Optimierungsverfahren eine Güte der Überlagerung des Datenmodells und des Objekts bestimmt wird. Ein Kriterium, welches eine automatische Beurteilung der Güte der Überlagerung ermöglicht, ist die erwähnte Kostenfunktion. Eine Kostenfunktion errechnet einen Gütewert, welcher von dem Optimierungsverfahren verwendet wird, welches versucht, einen möglichst hohen Gütewert zu erreichen. Die Kostenfunktion hat großen Einfluss auf die Robustheit, Genauigkeit und Effizienz des Trackingsystems. Sie schränkt außerdem die Wahl der Optimierungen ein. Geht man von bekannten intrinsischen Kameraparametern aus, müssen sechs Freiheitsgrade bestimmt werden, drei Freiheitsgrade für die Translation und drei Freiheitsgrade für die Orientierung der Kamera bezüglich des Objekts. Mit der Kostenfunktion wird die Güte der Überlagerung für bestimmte extrinsische Parameter bestimmt. Mögliche Kostenfunktionen können z.B. durch den Abstand zwischen Punkten oder Flächen definiert werden. Dabei kann der Abstand unterschiedlich definiert sein, z.B. als euklidischer Abstand oder als sogenannter Mahalanobis-Abstand. Idealerweise sollte die Kostenfunktion gleichmäßig, monomodal und ableitbar sein. Ist eine Kostenfunktion nicht monomodal, sollten lokale Minima nicht tiefer sein als die wirkliche Lösung.
  • Es gibt unterschiedliche Arten von Kostenfunktionen: flächenbasierte Kostenfunktionen werten den Grad der Überschneidung von Regionen aus. Während eine Region aus dem Bild extrahiert wird, wird die andere durch das Rendern (das Projizieren in die Bildebene) des Modells simuliert. Nachteilig ist die rechenintensive Berechnung der überschneidenden Flächen. Außerdem ist die Extraktion der Fläche aus dem Bild problematisch. Punktbasierte Kostenfunktionen wiederum werten den Abstand zwischen projizierten Punkten des 3D-Modells und korrespondierenden Punkten aus dem Bilddatensatz aus. Die Verwendung von Bildpunkten hat den Vorteil, dass Bildpunkte einfach aus dem Bilddatensatz extrahiert werden können und leicht und effizient verfolgt werden können. Sie sind außerdem relativ robust gegenüber Beleuchtungsänderungen. Die Auswertung einer punktbasierten Kostenfunktion ist weniger aufwändig als die Auswertung einer flächenbasierten Kostenfunktion. Eine intensitätsbasierte Kostenfunktion wertet keine geometrischen Eigenschaften, sondern nur die Unterschiede zwischen den Intensitätswerten zweier Pixelbereiche aus.
  • In der Anwendung in dem erfindungsgemäßen Optimierungsverfahren ist es Ziel, eine Lösung zu finden, welche mit einem globalen Extremum der Kostenfunktion übereinstimmt. Das Optimierungsverfahren variiert die zu schätzenden Kameraparameter und wertet dann die Kostenfunktion aus. Dies wird so lange durchgeführt, bis die Änderung des Güteergebnisses der Kostenfunktion einen zufriedenstellenden Stand erreicht hat.
  • In 2 ist anhand eines Flussdiagramms ein beispielhafter Ablauf eines Verfahrens zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt gemäß der Erfindung gezeigt. Das Verfahren ist hierbei in drei Hauptabschnitte a, b, c unterteilt. Beim Abschnitt a handelt es sich um einen Re-/Initialisierungsabschnitt, bei Abschnitt b um einen Trackingabschnitt und bei Abschnitt c um den Abschnitt der sogenannten zweiten Chance zur Extraktion von Bildmerkmalen.
  • Zunächst wird der Re-/Initialisierungsabschnitt a beschrieben. Ziel der Initialisierung ist es, eine erste Kamerapose zu erhalten, von der aus das Tracking verfahren durchgeführt werden kann. Idealerweise findet die Initialisierung automatisch und in Echtzeit statt. Die Qualität der Initialisierung ist entscheidend für die Qualität der weiteren Ergebnisse im Trackingverfahren, welche auf der Initialisierung aufbauen.
  • Im Verfahrensschritt a1 wird ein aktueller Bilddatensatz CF(i) (siehe auch dazu später 4) durch Aufnahme eines Bildes des realen Objekts OB gemäß 1 erzeugt, wobei vorteilhafterweise im nachfolgenden Schritt a2 optische Fehler vom aufgenommenen Bild entfernt werden, beispielsweise durch Entfernung von optischen Verzerrungen etwa in Randbereichen des Objektivs durch geometrische Entzerrung des Kamerabildes. Im nachfolgenden Schritt a3 wird das Intensitätsbild des aktuellen Bilddatensatzes normalisiert, insbesondere mittels der sogenannten "Histogram Equilization". Mit der Normalisierung des Intensitätsbildes wird eine Kontrastverstärkung im Bilddatensatz erreicht.
  • Um eine erste Kamerapose zu bestimmen, werden gemäß der vorliegenden Erfindung sogenannte Keyframes verwendet. Ein Keyframe ist ein Basisbilddatensatz, welcher optische Informationen (z.B. das Bild selbst oder abgeleitete Kennzahlen) mit bei der Bildaufnahme vorliegenden Kameraparametern kombiniert, wobei bevorzugt zusätzlich 2D-3D-Korrespondenzen bereits enthalten sind. Ein solcher Basisbilddatensatz wird vor einer Initialisierung mit Aufnahme wenigstens eines zweidimensionalen Bildes erzeugt, vorteilhafterweise werden aus unterschiedlichen Kamerapositionen mehrere solcher Basisbilddatensätze erzeugt. Kann dem aktuell aufgenommenen Bilddatensatz ein entsprechender Basisbilddatensatz mit bekannten Kameraparametern zugeordnet werden, der dem aktuellen Bilddatensatz weitgehend ähnlich ist, so wird auf diese Weise die erste Kamerapose erhalten, von der aus das Trackingverfahren durchgeführt werden kann, da mit dem Basisbilddatensatz die Kameraparameter bekannt sind.
  • Die Suche nach einem ähnlichen Basisbilddatensatz wird im Schritt a4 gemäß 2 durchgeführt. Hierbei wird der ähnliche Basisbilddatensatz bevorzugt durch Berechnung einer Korrelation zwischen den vorliegenden Basisbilddatensätzen und dem aktuellen Bilddatensatz bestimmt. Bevorzugt wird zur Be schleunigung der Auswahl eines Basisbilddatensatzes wenigstens ein Ähnlichkeitsmaß zwischen dem aktuellen Bilddatensatz und den vorliegenden Basisbilddatensätzen ausgewertet, insbesondere auf Basis wenigstens einer Kennzahl, die für einen jeweiligen Bilddatensatz vorausberechnet wird. Als Ähnlichkeitsmaß wird beispielsweise die "Normalized-Cross-Correlation" (normalisierte Kreuz-Korrelation) oder das Kriterium der "Sum of Absolute Differences (SAD)" zwischen Bildmerkmalen aus dem aktuellen Bilddatensatz und Bildmerkmalen aus einem der vorliegenden Basisbilddatensätze verwendet.
  • 3 zeigt hierbei ein Flussdiagramm über eine vorteilhafte Ausbildung des Teilverfahrens gemäß dem Schritt a4 zur verbesserten Suche von Basisbilddatensätzen. Im Schritt a4.1 werden zur Beschleunigung der Auswahl eines Basisbilddatensatzes Daten eines Sensors, insbesondere eines Inertialsensors IS gemäß 1, berücksichtigt, wobei diejenigen der Basisbilddatensätze nicht berücksichtigt werden, welche eine stark unterschiedliche Orientierung zu dem Inertialsensor IS aufweisen, für den Fall, dass dem System eine entsprechende Initialisierungsinformation bezüglich der Orientierung mitgeteilt wurde. Im Schritt a4.2 wird die "Sum of Absolute Differences (SAD)" zwischen den in Betracht kommenden Basisbilddatensätzen und dem aktuellen Bilddatensatz jeweils bestimmt. Im Schritt a4.3 wird derjenige der Basisbilddatensätze für das weitere Verfahren extrahiert, dem ein minimaler Wert aus dem SAD zugeordnet ist. Gemäß dem Verfahren der "Sum of Absolute Differences (SAD)" werden Intensitätswerte von einzelnen Bildpunkten von miteinander zu vergleichenden Bilddatensätzen bestimmt, wobei der Intensitätswert eines Bildpunkts eines ersten Bilddatensatzes von einem Intensitätswert eines korrespondierenden Bildpunkts eines zweiten Bilddatensatzes subtrahiert wird. Auf diese Art werden für alle korrespondierenden Bildpunkte der zu vergleichenden Bilddatensätze die jeweiligen Differenzwerte deren Intensitätswerte aufgenommen und deren Absolutbetrag betrachtet. Diese Absolutwerte werden aufsummiert und mit einem Schwellenwert verglichen. Für alle Ergebnisse oberhalb des Schwellenwerts wird bei einem Vergleich eines Basisbilddatensatzes mit dem aktuellen Bilddatensatz der entsprechende Basisbilddatensatz verworfen.
  • Im Schritt a5 gemäß 2 werden Bildmerkmale zwischen dem bestimmten, ähnlichsten Basisbilddatensatz und dem aktuellen Bilddatensatz verfolgt. Als Bildmerkmale werden vorteilhaft starke Bildmerkmale des Objekts OB gemäß 1 verwendet, die im Basisbilddatensatz bereits bestimmt sind. Insbesondere wird im Verfahren zur Verfolgung von Bildmerkmalen ein optischer Fluss von Bildmerkmalen zwischen dem ähnlichsten Basisbilddatensatz und dem aktuellen Bilddatensatz bestimmt.
  • In 4 ist ein schematischer Ablauf über die Aufnahme mehrerer Bilddatensätze und die Bestimmung und Verfolgung von Bildmerkmalen zwischen unterschiedlichen Bilddatensätzen gezeigt. Für das Verfahren zur Verfolgung von Bildmerkmalen wird bevorzugt das Kanade-Lucas-Tomasi-Trackingverfahren (KLT) verwendet. Zum Zeitpunkt i – 1 wurde ein Bilddatensatz (frame) CF(i – 1) oder ein Basisbilddatensatz (keyframe) KF mit Aufnahme eines zweidimensionalen Bildes erzeugt, das eine Kontur beinhaltet mit den markanten Merkmalen f1 bis f4. Diese markanten Merkmale f1 bis f4 sind beispielsweise Eckpunkte der dargestellten Kontur. Zu einem nachfolgenden Zeitpunkt i wird mit Aufnahme eines neuen zweidimensionalen Bildes ein aktueller Bilddatensatz (current frame) CF(i) erzeugt, der im Wesentlichen die Kontur gemäß dem Bilddatensatz CF(i – 1), KF enthält, jedoch geometrisch im Bild verschoben. Dies wird dadurch sichtbar, dass im Bilddatensatz CF(i) das Merkmal f1 nunmehr außerhalb des Bildbereichs gerückt ist, während sich die übrigen Merkmale f2 bis f4 noch innerhalb des Bildes befinden.
  • Im Verfahren zur Verfolgung von Bildmerkmalen wird der optische Fluss (optical flow) OF von Bildmerkmalen f1 bis f4 zwischen dem bereits vorliegenden Bilddatensatz CF(i – 1), KF und dem aktuellen Bilddatensatz CF(i) bestimmt. Hierbei werden Punktepaare pi–1 und pi betrachtet, wobei zwischen einem Bildpunkt pi–1 des vorliegenden Bilddatensatzes CF(i – 1), KF und einem korrespondierenden Bildpunkt pi des aktuellen Bilddatensatzes CF(i) ein Fehlerwert generiert wird, der dem Bildpunkt pi des aktuellen Bilddatensatzes CF(i) zugeordnet wird. Im Falle, dass der Fehlerwert einen Schwellenwert überschreitet, wird der zugeordnete Bildpunkt pi des aktuellen Bilddatensatzes CF(i) entfernt. Alle Punkte pi, deren Fehlerwert den Schwellenwert überschreitet, werden entfernt. Hierzu werden sogenannte Patches PA (i – 1), PA (i) (Bildausschnitte) mit den Mittelpunkten pi–1 und pi gebildet. Die Patchgrößen werden durch zwei Radien bestimmt, rW für die Breite und rh für die Höhe. Die Patchgröße wird dann mit (2rW + 1) × (2rh + 1) berechnet. Der Fehlerwert korreliert mit dem SAD zwischen den Patches mit den Mittelpunkten pi–1 und pi.
  • Das Entfernen von fehlerhaften Bildmerkmalen wird im Schritt a6 durchgeführt. Beispielsweise wird im vorliegenden schematischen Beispiel nach 4 das Merkmal f1 als fehlerhaft bewertet, da es im aktuellen Bilddatensatz CF(i) außerhalb des Bildbereichs gerückt ist.
  • Im Schritt a7 wird eine Entscheidung getroffen, ob ausreichend Bildmerkmale für die nachfolgende Optimierung übrig sind. Wenn nein, ist die Anzahl der verfolgten Bildmerkmale zu niedrig, so dass die Initialisierung von vorne gestartet werden muss. Wenn festgestellt wird, dass für das Optimierungsverfahren genügend geeignete Bildmerkmale verblieben sind (f2 bis f4 gemäß 4), so wird mit dem Optimierungsverfahren gemäß Abschnitt b fortgefahren.
  • Im Trackingabschnitt b wird im Schritt b1 wiederum ein aktueller Bilddatensatz CF(i) durch Aufnahme eines Bildes des realen Objekts OB gemäß 1 erzeugt, wobei auch an dieser Stelle ähnlich den Schritten a2 und a3 optische Fehler vom aufgenommenen Bild entfernt werden können bzw. das Intensitätsbild zur Kontrastverstärkung normalisiert werden kann. Im Schritt b2 wird der optische Fluss von Bildmerkmalen zwischen dem zuvor aufgenommenen Bilddatensatz CF(i – 1) und dem aktuellen Bilddatensatz CF(i) bestimmt. Dies geschieht in der Weise, wie anhand von 4 erläutert. Im Schritt b3 werden nachfolgend fehlerhafte Bildmerkmale aus dem aktuellen Bilddatensatz CF(i) entfernt, wobei im Schritt b8 überprüft wird, ob für das Optimierungsverfahren genügend geeignete Bildmerkmale verblieben sind. Dies ist beispielsweise der Fall, wenn die Anzahl der Bildmerkmale größer als 220 ist.
  • Wenn genügend geeignete Bildmerkmale verblieben sind, wird im Schritt b4 mit dem Optimierungsverfahren fortgefahren. Insbesondere wird die Kamerapose mittels des Downhill-Simplex-Optimierungsverfahrens berechnet, welches die 2D-3D-Korrespondenzen verwendet. Der Startwert ist die letzte Kameraposition, wobei im Optimierungsverfahren die geeignete Kostenfunktion, wie oben beschrieben, bestimmt wird. Weiterhin ist es möglich, in das Optimierungsverfahren das Levenberg-Marquard-Optimierungsverfahren zu implementieren. Das Levenberg-Marquard-Optimierungsverfahren wird beschrieben in: Hartley, R. und Zisserman, A.: "A Multiple View Geometry in Computer Vision", Cambridge University Press 2003, während das Downhill-Simplex-Optimierungsverfahren ein linearer Optimierungsalgorithmus ist, der von Nelder und Mead entwickelt wurde in: "A Simplex Method for Function Minimization", Computer Journal, 7: 308–313, 1965.
  • Im Schritt b5 können optional die vom Optimierungsverfahren zu bestimmenden Kameraparameter anhand von Sensordaten verifiziert werden. Hierbei ist es möglich, das System mit einem Inertialsensor IS gemäß 1 zu kombinieren, der Daten bezüglich einzelner Kameraparameter generiert. Die Sensordaten können durch eine sogenannte Sensor-Fusion (z.B. Kalman-Filter) integriert werden.
  • Beispielsweise wird im Schritt b6 nach Anwendung des Optimierungsverfahrens nach einem zum aktuellen Bilddatensatz CF(i) ähnlichen Basisbilddatensatz KF gesucht, wobei dieser Basisbilddatensatz als Referenz für den weiteren Verfahrensablauf verwendet werden kann. Dies hat den Vorteil, dass bei Finden eines geeigneten Basisbilddatensatzes KF eine "initialisierte" Kameraposition an dieser Stelle vorliegt, so dass eventuell bis dahin aufgetretene Tracking- Fehler eliminiert werden können. Sollte ein solcher Keyframe gefunden werden, wird mit dem Schritt a5 fortgefahren, um die eindeutige Kameraposition für den aktuellen Bilddatensatz zu bestimmen. Die Suche nach einem Basisbilddatensatz, mit dem re-initialisiert werden kann, reduziert den Drift, der über die Zeit durch reines Tracking entstehen kann.
  • Gemäß dem Schritt b7 kann die Qualität der 2D-3D-Korrespondenzen überprüft werden, die z.B. durch Verdeckungen oder schlechte Lichtverhältnisse nicht mehr nutzbar sein können. Die Überprüfung findet statt, indem das Datenmodell mit den aktuellen Kameraparametern auf die Bildebene projiziert wird, nachfolgend ein Abstand zwischen projizierten Merkmalen des Datenmodells und verfolgten Bildmerkmalen im zweidimensionalen Bild bestimmt wird, und in dem Fall, in welchem der Abstand einen Schwellenwert überschreitet, die entsprechende Korrespondenz entfernt wird. Beispielsweise wird die euklidische Distanz zwischen den projizierten Bildmerkmalen und den verfolgten 2D-Bildmerkmalen errechnet. Wird die Distanz zu groß, werden die entsprechenden Korrespondenzen entfernt. Anschließend wird mit dem Schritt b1 mit der Aufnahme eines neuen Bilddatensatzes CF(i + 1) der Trackingabschnitt b von Neuem gestartet.
  • Ist in dem Schritt b8 festgestellt worden, dass nicht genügend geeignete Bildmerkmale für das Optimierungsverfahren verblieben sind, wird der Abschnitt c der sogenannten "zweiten Chance" eröffnet. Das bedeutet, dass der Trackingabschnitt b beendet wird, wenn für das Optimierungsverfahren nicht genügend geeignete Bildmerkmale verblieben sind. Im Schritt c1 werden der Bilddatensatz CF(i – 1) des zuletzt betrachteten Bildes und die korrespondierenden Kameraparameter herangezogen, d.h. das letzte Bild und die letzte Kamerapose werden wiederholt. Nachfolgend werden im Schritt c2 Bildmerkmale gemäß diesem Bilddatensatz bestimmt, vorzugsweise starke Bildmerkmale wie die Merkmale f1 bis f4 gemäß 4. Insbesondere wird zur Erkennung von starken Bildmerkmalen im zweidimensionalen Bild das Harris-Corner-Detektionsverfahren verwendet, wobei vorteilhafterweise die Anzahl der Bildmerkmale auf 100 begrenzt wird. Im Schritt c4 wird eine Entscheidung getroffen, ob ausreichend Bildmerkmale gefunden worden sind. Wenn beispielsweise mehr als 20 Bildmerkmale (Features) gefunden wurden, wird zum nächsten Schritt c3 fortgefahren. Wenn nicht, muss in dem Initialisierungsabschnitt a re-initialisiert werden. Wurden genügend geeignete Bildmerkmale gefunden, wird für die bestimmten Bildmerkmale im zweidimensionalen Bild jeweils eine entsprechende 3D-Position basierend auf den zuletzt vorliegenden Kameraparametern und dem Datenmodell bestimmt, so dass für jedes 2D-Feature der entsprechende 3D-Punkt basierend auf der letzten Pose und dem 3D-Modell errechnet werden kann. Nachfolgend kann mit dem Schritt b2 des Trackingabschnitts b zur Bestimmung des optischen Flusses von Bildmerkma len zwischen dem betrachteten Bilddatensatz CF(i) und dem vorherigen Bilddatensatz CF(i – 1) fortgefahren werden.
  • In einer vorteilhaften Ausführungsform kann im Verfahren zur Verfolgung von Bildmerkmalen der Verfolgungsalgorithmus beschleunigt werden, indem eine neue Position eines Bildmerkmals mit Hilfe von Sensordaten, insbesondere eines Inertialsensors IS gemäß 1, vorausberechnet wird.
  • Die Erfindung wurde anhand von 2 in einem beispielhaften Verfahrensablauf beschrieben. Es ist jedoch grundsätzlich möglich, die einzelnen modulweise aufgebauten Verfahrensabschnitte etwa in anderer Form miteinander zu kombinieren bzw. in den einzelnen Abschnitten unterschiedliche Teilverfahren anzuwenden. Als vorteilhafte Lösung hat sich hierbei eine Kombination des Downhill-Simplex-Optimierungsverfahrens (DST) mit einem Punktverfolgungsalgorithmus, der eine Aussage darüber treffen kann, ob ein Punkt verfolgt werden konnte, und einem Algorithmus zum Finden von starken Bildmerkmalen herausgestellt. Als Punktverfolgungsalgorithmus wird insbesondere das Kanade-Lucas-Tomasi-Trackingverfahren (KLT) verwendet, insbesondere in Kombination mit dem Harris-Corner-Detektionsverfahren als Algorithmus zum Finden starker Bildmerkmale. Bei diesem Verfahren werden ungültige Bildmerkmale durch den Punktverfolgungsalgorithmus und die Projektionsgüte nach DST eliminiert. Dieser sonst sehr aufwändige Schritt wird durch DST günstig gelöst. Durch die Verwendung eines 3D-Modells und der daraus generierten 2D-3D-Korrespondenzen wird ebenfalls eine hohe Performance sichergestellt, beispielsweise gegenüber bekannten "SLAM"-Ansätzen ISLAM = Simultaneous Localization And Mapping), welche die 3D-Position der Bildmerkmale zur Laufzeit aus mehreren Ansichten ("structure from motion") generieren, was Zeit kostet und eher ungenau ist.
  • Das erfindungsgemäße Verfahren arbeitet vorteilhafterweise auf Basis eines polygonalen Modells des 3D-Modells, wobei es auch möglich ist, parametrische dreidimensionale Modelle zu verwenden, welche die Oberfläche eines Objekts mittels mathematischer Funktionen beschreiben, die auf einer geringeren Anzahl von Parametern basieren. Bekannt sind hier sogenannte Bezier- Kurven und B-Splines, welche zu 3D-Oberflächen erweitert werden können. Parametrische Modelle sind meist kompakter als polygonale Modelle.

Claims (25)

  1. Verfahren zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt, – bei dem mit einer Kamera (CA) ein zweidimensionales Bild (IP) aufgenommen wird, welches wenigstens ein Objekt (OB) beinhaltet, das sich in einer realen Umgebung (RW) befindet, – bei dem im Zuge der Aufnahme des zweidimensionalen Bildes ein aktueller Bilddatensatz (CF(i)) erzeugt wird, – bei dem bei Bedarf Bildmerkmale (f1 – f4) im zweidimensionalen Bild bestimmt werden, – bei dem ein Verfahren zur Verfolgung von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz (CF(i – 1), KF) und dem aktuellen Bilddatensatz (CF(i)) durchgeführt wird, – bei dem ein Optimierungsverfahren durchgeführt wird, welches ein Datenmodell (MD) einer virtuellen Information mit zu bestimmenden Kameraparametern auf die Bildebene projiziert, um eine Projektion (RMD) des Datenmodells mit dem Abbild (ROB) des realen Objekts auf der Bildebene zu überlagern, und welches aktuelle Kameraparameter durch Bestimmung von Extremalwerten einer Kostenfunktion bestimmt, die als Parameter Bilddaten aus dem aktuellen Bilddatensatz (CF(i)) und Daten des projizierten Datenmodells (RMD) beinhaltet.
  2. Verfahren nach Anspruch 1, bei dem mit dem Verfahren zur Verfolgung von Bildmerkmalen ungültige Bildmerkmale entfernt werden und mit dem Optimierungsverfahren eine Güte der Überlagerung des Datenmodells (RMD) und des Objekts (ROB) bestimmt wird.
  3. Verfahren nach Anspruch 1 oder 2, bei dem im Verfahren zur Verfolgung von Bildmerkmalen ein optischer Fluss (OF) von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz (CF(i – 1), KF) und dem aktuellen Bilddatensatz (CF(i)) bestimmt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in das Optimierungsverfahren das Downhill-Simplex-Optimierungsverfahren implementiert ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in das Optimierungsverfahren das Levenberg-Marquard-Optimierungsverfahren implementiert ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in das Verfahren zur Verfolgung von Bildmerkmalen das Kanade-Lucas-Tomasi-Trackingverfahren implementiert ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, bei dem zur Erkennung von Bildmerkmalen im zweidimensionalen Bild das Harris-Corner-Detektionsverfahren verwendet wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem – das Verfahren zur Verfolgung von Bildmerkmalen korrespondierende Bildpunkte (pi–1, pi) zwischen dem vorliegenden Bilddatensatz (CF(i – 1), KF) und dem aktuellen Bilddatensatz (CF(i)) verfolgt, – das Optimierungsverfahren Extremalwerte einer punktbasierten Kostenfunktion bestimmt, wobei eine Abstandsmetrik zwischen projizierten Bildpunkten des Datenmodells (RMD) und korrespondierenden Bildpunkten aus dem aktuellen Bilddatensatz (CF(i)) ausgewertet wird.
  9. Verfahren nach Anspruch 8, bei dem mindestens ein jeweiliger Abstand zwischen projizierten Bildpunkten des Datenmodells (RMD) und korrespondierenden Bildpunkten aus dem aktuellen Bilddatensatz (CF(i) ausgewertet wird und einer Gewichtung anhand wenigstens eines Gütekriteriums unterzogen wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mit dem Verfahren zur Verfolgung von Bildmerkmalen bei der Verfolgung zwischen einem Bildpunkt (pi–1) des vorliegenden Bilddatensatzes (CF(i-1), KF) und einem Bildpunkt (pi) des aktuellen Bilddatensatzes (CF(i) ein Fehlerwert generiert wird, der dem Bildpunkt (pi) des aktuellen Bilddatensatzes zugeordnet wird, und im Falle, dass der Fehlerwert einen Schwellenwert überschreitet, der zugeordnete Bildpunkt (pi) des aktuellen Bilddatensatzes entfernt wird.
  11. Verfahren nach einem der vorhergehenden Ansprüche, bei dem – die virtuelle Information ein dreidimensionales Datenmodell (MD) des realen Objekts (OB) beinhaltet, – eine jeweilige Korrespondenz zwischen Bildmerkmalen (f(2D)) im aktuellen zweidimensionalen Bild der Realität und der 3D-Position (f(3D)) von korrespondierenden Merkmalen in dem Datenmodell bestimmt wird.
  12. Verfahren nach Anspruch 11, bei dem nach Anwendung des Optimierungsverfahrens eine Qualität der jeweiligen Korrespondenz überprüft wird.
  13. Verfahren nach Anspruch 11 oder 12, bei dem eine Qualität der jeweiligen Korrespondenz überprüft wird, indem das Datenmodell (MD) mit den aktuellen Kameraparametern auf die Bildebene projiziert wird, nachfolgend ein Abstand zwischen projizierten Merkmalen des Datenmodells und verfolgten Bildmerkmalen im zweidimensionalen Bild bestimmt wird, wobei in dem Fall, in welchem der Abstand einen Schwellenwert überschreitet, die entsprechende Korrespondenz entfernt wird.
  14. Verfahren nach einem der vorhergehenden Ansprüche, bei dem – ein Sensor (IS), insbesondere ein Inertialsensor, Daten bezüglich einzelner Kameraparameter generiert, – die vom Optimierungsverfahren zu bestimmenden aktuellen Kameraparameter anhand der vom Sensor (IS) gelieferten Daten verifiziert werden.
  15. Verfahren nach einem der vorhergehenden Ansprüche, bei dem – vor einer Initialisierung mit Aufnahme wenigstens eines zweidimensionalen Bildes ein entsprechender Basisbilddatensatz (KF) erzeugt wird, welcher optische Informationen mit bei der Bildaufnahme vorliegenden Kameraparametern kombiniert, – bei der Initialisierung mit einer Bildaufnahme ein aktueller Bilddatensatz (CF(i)) erstellt wird, nachfolgend nach einem ähnlichen Basisbilddatensatz (KF) gesucht wird und dieser durch Berechnung einer Korrelation zwischen vorliegenden Basisbilddatensätzen und dem aktuellen Bilddatensatz bestimmt wird, – nachfolgend der optische Fluss (OF) von Bildmerkmalen zwischen dem ähnlichen Basisbilddatensatz (KF) und dem aktuellen Bilddatensatz (CF(i)) bestimmt wird.
  16. Verfahren nach Anspruch 15, bei dem zur Beschleunigung der Auswahl eines Basisbilddatensatzes (KF) wenigstens ein Ähnlichkeitsmaß zwischen dem aktuellen Bilddatensatz (CF(i)) und vorliegenden Basisbilddatensätzen (KF) ausgewertet wird, insbesondere auf Basis wenigstens einer Kennzahl, die für einen jeweiligen Basisbilddatensatz vorausberechnet wird.
  17. Verfahren nach Anspruch 16, bei dem als Ähnlichkeitsmaß die „Normalized-Cross-Correlation" oder das Kriterium der „Sum of Absolute Differences (SAD)" zwischen Bildmerkmalen aus dem aktuellen Bilddatensatz (CF(i)) und einem der Basisbilddatensätze (KF) verwendet wird.
  18. Verfahren nach einem der Anspüche 15 bis 17, bei dem zur Beschleunigung der Auswahl eines Basisbilddatensatzes (KF) Daten eines Sensors (IS) berücksichtigt werden, insbesondere eines Inertialsensors, wobei diejenigen der Basisbilddatensätze nicht berücksichtigt werden, welche eine stark unterschiedliche Orientierung zu dem Inertialsensor aufweisen.
  19. Verfahren nach einem der vorhergehenden Ansprüche, bei dem nach Anwendung des Optimierungsverfahrens nach einem zum aktuellen Bilddatensatz (CF(i)) ähnlichen Basisbilddatensatz (KF) gesucht wird, welcher optische Informationen mit bei der Bildaufnahme vorliegenden Kameraparametern kombiniert, und dieser Basisbilddatensatz als Referenz für den weiteren Verfahrensablauf verwendet wird.
  20. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mit dem Verfahren zur Verfolgung von Bildmerkmalen ungültige Bildmerkmale entfernt werden, wobei nach diesem Schritt überprüft wird, ob für das Optimierungsverfahren genügend geeignete Bildmerkmale (f2 – f4) verblieben sind.
  21. Verfahren nach einem der vorhergehenden Ansprüche, bei dem im Verfahren zur Verfolgung von Bildmerkmalen der Verfolgungsalgorithmus beschleunigt wird, indem eine neue Position eines Bildmerkmals mit Hilfe von Sensordaten, insbesondere eines Inertialsensors (IS), vorausberechnet wird.
  22. Verfahren nach einem der vorhergehenden Ansprüche, bei dem zur Extraktion (c) von Bildmerkmalen – der Bilddatensatz (CF(i – 1)) des zuletzt betrachteten Bildes und die korrespondierenden Kameraparameter herangezogen werden, – Bildmerkmale (f(2D), f1 – f4) gemäß dieses Bilddatensatzes bestimmt werden, – eine Entscheidung getroffen wird, ob genügend geeignete Bildmerkmale vorhanden sind, – wenn ja, für die bestimmten Bildmerkmale (f(2D)) jeweils eine entsprechende 3D-Position (f(3D)) basierend auf den zuletzt vorliegenden Kameraparametern und dem Datenmodell bestimmt wird.
  23. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in einem Initialisierungsabschnitt (a) – ein aktueller Bilddatensatz (CF(i)) durch Aufnahme eines Bildes des realen Objekts (OB) erzeugt wird, wobei insbesondere optische Fehler vom aufgenommenen Bild entfernt werden, – nachfolgend nach einem zum aktuellen Bilddatensatz ähnlichen Basisbilddatensatz (KF) gesucht wird, welcher optische Informationen mit bei der Bildaufnahme vorliegenden Kameraparametern kombiniert, – nachfolgend der optische Fluss (OF) von Bildmerkmalen zwischen dem ähnlichen Basisbilddatensatz (KF) und dem aktuellen Bilddatensatz (CF(i)) bestimmt wird, – nachfolgend fehlerhafte Bildmerkmale aus dem aktuellen Bilddatensatz (CF(i)) entfernt werden, – anschließend überprüft wird, ob für das Optimierungsverfahren genügend geeignete Bildmerkmale (f2 – f4) verblieben sind, - wenn ja, mit dem Optimierungsverfahren fortgefahren wird.
  24. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in einem Trackingabschnitt (b) – ein aktueller Bilddatensatz (CF(i)) durch Aufnahme eines Bildes des realen Objekts (OB) erzeugt wird, wobei insbesondere optische Fehler vom aufgenommenen Bild entfernt werden, – nachfolgend der optische Fluss (OF) von Bildmerkmalen zwischen einem zuvor aufgenommenen Bilddatensatz (CF(i – 1)) und dem aktuellen Bilddatensatz (CF(i)) bestimmt wird, – nachfolgend fehlerhafte Bildmerkmale aus dem aktuellen Bilddatensatz (CF(i)) entfernt werden, – anschließend überprüft wird, ob für das Optimierungsverfahren genügend geeignete Bildmerkmale verblieben sind, – wenn ja, mit dem Optimierungsverfahren fortgefahren wird, – nach Anwendung des Optimierungsverfahrens eine Qualität der jeweiligen Korrespondenz zwischen Bildmerkmalen (f(2D)) im aktuellen zweidimensionalen Bild der Realität und der 3D-Position (f(3D)) von korrespondierenden Merkmalen in dem Datenmodell überprüft wird, wobei fehlerhafte Korrespondenzen entfernt werden, – anschließend der Trackingabschnitt (b) mit Aufnahme eines neuen aktuellen Bilddatensatzes (CF(i + 1)) fortgesetzt wird, – der Trackingabschnitt beendet wird, wenn für das Optimierungsverfahren nicht genügend geeignete Bildmerkmale verblieben sind.
  25. System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt, – mit einer Kamera (CA), mit der ein zweidimensionales Bild (IP) aufgenommen wird, welches wenigstens ein Objekt (OB) beinhaltet, das sich in einer realen Umgebung (RW) befindet, – mit einer Verarbeitungsvorrichtung (SG), durch die – im Zuge der Aufnahme des zweidimensionalen Bildes ein aktueller Bilddatensatz (CF(i)) erzeugt wird, – bei Bedarf Bildmerkmale (f1 – f4) im zweidimensionalen Bild bestimmt werden, – ein Verfahren zur Verfolgung von Bildmerkmalen zwischen einem vorliegenden Bilddatensatz (CF(i – 1), KF) und dem aktuellen Bilddatensatz (CF(i)) durchgeführt wird, – ein Optimierungsverfahren durchgeführt wird, welches ein Datenmodell (MD) einer virtuellen Information mit zu bestimmenden Kameraparametern auf die Bildebene projiziert, um eine Projektion (RMD) des Datenmodells mit dem Abbild (ROB) des realen Objekts auf der Bildebene zu überlagern, und welches aktuelle Kameraparameter durch Bestimmung von Extremalwerten einer Kostenfunktion bestimmt, die als Parameter Bilddaten aus dem aktuellen Bilddatensatz (CF(i)) und Daten des projizierten Datenmodells (RMD) beinhaltet.
DE102005025470A 2005-06-02 2005-06-02 Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt Expired - Fee Related DE102005025470B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102005025470A DE102005025470B4 (de) 2005-06-02 2005-06-02 Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005025470A DE102005025470B4 (de) 2005-06-02 2005-06-02 Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt

Publications (2)

Publication Number Publication Date
DE102005025470A1 DE102005025470A1 (de) 2006-12-07
DE102005025470B4 true DE102005025470B4 (de) 2007-12-20

Family

ID=37401885

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005025470A Expired - Fee Related DE102005025470B4 (de) 2005-06-02 2005-06-02 Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt

Country Status (1)

Country Link
DE (1) DE102005025470B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012014995A1 (de) * 2012-07-28 2014-01-30 Volkswagen Aktiengesellschaft Verfahren zum Betrieb eines Augmented-Reality-Systems

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO327279B1 (no) 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
US8044991B2 (en) * 2007-09-28 2011-10-25 The Boeing Company Local positioning system and method
US8977528B2 (en) 2009-04-27 2015-03-10 The Boeing Company Bonded rework simulation tool
US9108738B1 (en) 2009-05-19 2015-08-18 The Boeing Company Apparatus for refueling aircraft
US8568545B2 (en) 2009-06-16 2013-10-29 The Boeing Company Automated material removal in composite structures
EP2689393A1 (de) 2011-03-23 2014-01-29 Metaio GmbH Verfahren zur registrierung von mindestens einem teil eines ersten und eines zweiten bildes mithilfe einer kollineationsverzerrungsfunktion
DE102012020778B4 (de) 2012-10-23 2018-01-18 Audi Ag Verfahren zum Labeln einer Sequenz von in zeitlicher Abfolge aufgenommenen Bildern mit integrierter Qualitätsprüfung
EP3009833B1 (de) 2014-10-14 2020-12-02 Airbus Defence And Space Gmbh In-Prozess Fehlerüberprüfung durch erweiterte Realität
DE102018128184A1 (de) * 2018-11-12 2020-05-14 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zur Erzeugung eines gelabelten Bildes
DE102021131060B3 (de) * 2021-11-26 2022-07-28 Sick Ag System und Verfahren mit einem System

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19735175A1 (de) * 1997-08-13 1999-03-04 Gta Sensorik Gmbh Verfahren zur digitalen Erfassung räumlicher Szenen sowie zur Bestimmung von Objektkoordinaten
DE20305278U1 (de) * 2003-04-02 2003-06-12 Daimler Chrysler Ag Vorrichtung zur Berücksichtigung der Betrachterposition bei der Darstellung von 3D-Bildinhalten auf 2D-Anzeigevorrichtungen

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19735175A1 (de) * 1997-08-13 1999-03-04 Gta Sensorik Gmbh Verfahren zur digitalen Erfassung räumlicher Szenen sowie zur Bestimmung von Objektkoordinaten
DE20305278U1 (de) * 2003-04-02 2003-06-12 Daimler Chrysler Ag Vorrichtung zur Berücksichtigung der Betrachterposition bei der Darstellung von 3D-Bildinhalten auf 2D-Anzeigevorrichtungen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VACCHETTI, L.; LEPETIT, M.; PONDER, M.; et al: A Stable Real-Time AR Framework for Training and Planning in Industrial Environments, Virtual and Augmented Reality Applications in Manufacturing, S.K. Ong and A.Y.C Nee, Springer Verlag 2004, S. 129-146 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012014995A1 (de) * 2012-07-28 2014-01-30 Volkswagen Aktiengesellschaft Verfahren zum Betrieb eines Augmented-Reality-Systems

Also Published As

Publication number Publication date
DE102005025470A1 (de) 2006-12-07

Similar Documents

Publication Publication Date Title
DE102005025470B4 (de) Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt
DE102007056528B3 (de) Verfahren und Vorrichtung zum Auffinden und Verfolgen von Augenpaaren
DE112004000128B4 (de) Verfahren und Vorrichtung für die automatische lokale Wegplanung bei der virtuellen Kolonoskopie
DE102007045835B4 (de) Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung
EP3330922B1 (de) Verfahren und vorrichtung zum darstellen eines objektes
DE102006005044A1 (de) Verfahren und System zur Bestimmung eines Datenmodells zur Überlagerung mit einem realen Objekt in einem Verfahren zur Objektverfolgung
WO2007107315A1 (de) Multisensorieller hypothesen-basierter objektdetektor und objektverfolger
CN110427797B (zh) 一种基于几何条件限制的三维车辆检测方法
DE102005008131A1 (de) Objektdetektion auf Bildpunktebene in digitalen Bildsequenzen
EP3922005B1 (de) Verfahren zum erzeugen von reproduzierbaren perspektiven von fotografien eines objekts sowie mobiles gerät mit integrierter kamera
EP2546778A2 (de) Verfahren zum evaluieren einer Objekterkennungseinrichtung eines Kraftfahrzeugs
DE102019207448A1 (de) Simultane Lokalisierung und Kartenerstellung in 2D unter Verwendung eines 3D-Scanners
DE102012223047B4 (de) Mehrteil-Korrespondierer (corresponder) für mehrere Kameras
DE102014113372B4 (de) Filtervorrichtung
EP3539085B1 (de) 3d-referenzierung
DE102008036219A1 (de) Verfahren zur Erkennung von Objekten im Umfeld eines Fahrzeugs
EP1657678A1 (de) Videobildunterstützte Patientenregistrierung
WO2020061605A2 (de) Verfahren zum fokussieren einer kamera
EP4148386A1 (de) Ermittlung einer absoluten initialposition eines fahrzeugs
DE102018112171A1 (de) Verfahren zum Beurteilen von Objekten in einer Umgebung eines Kraftfahrzeugs anhand einer dreidimensionalen Fusionskarte, Steuereinrichtung; Fahrerassistenzsystem, Computerprogrammprodukt
EP3271774B1 (de) Vorrichtung und verfahren zur wiedergabe von daten in einer erweiterten realität
WO2017162329A1 (de) Verfahren und vorrichtung zur ermittlung von 3d-koordinaten zumindest eines vorbestimmten punktes eines objekts
DE102018128184A1 (de) Verfahren, Vorrichtung, Computerprogramm und Computerprogrammprodukt zur Erzeugung eines gelabelten Bildes
DE102020126954A1 (de) System und Verfahren zum Erfassen einer räumlichen Orientierung einer tragbaren Vorrichtung
DE102020006160A1 (de) Verfahren zur Lageerkennung eines Objekts mittels eines Lageerfassungssystems, Verfahren zum Bearbeiten eines Objekts sowie Lageerfassungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: SCHMITT-NILSON SCHRAUD WAIBEL WOHLFROM PATENTA, DE

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R081 Change of applicant/patentee

Owner name: APPLE INC., CUPERTINO, US

Free format text: FORMER OWNER: METAIO GMBH, 85748 GARCHING, DE

R082 Change of representative

Representative=s name: BARDEHLE PAGENBERG PARTNERSCHAFT MBB PATENTANW, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0005247000

Ipc: H04N0023900000

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee