PatentDe  


Dokumentenidentifikation DE102005025470B4 20.12.2007
Titel Verfahren und System zur Ermittlung der Position und Orientierung einer Kamera relativ zu einem realen Objekt
Anmelder metaio GmbH, 85748 Garching, DE
Erfinder Platonov, Juri, Dipl.-Inf., 81547 München, DE;
Heibel, Hauke, Dipl.-Inf., 80798 München, DE;
Meier, Peter, Dipl.-Ing., 80333 München, DE
Vertreter Klunker, Schmitt-Nilson, Hirsch, 80797 München
DE-Anmeldedatum 02.06.2005
DE-Aktenzeichen 102005025470
Offenlegungstag 07.12.2006
Veröffentlichungstag der Patenterteilung 20.12.2007
Veröffentlichungstag im Patentblatt 20.12.2007
IPC-Hauptklasse H04N 5/247(2006.01)A, F, I, 20060206, B, H, DE

Beschreibung[de]

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 dadurch 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 zweidimensionalen 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 zwischen 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 Bildmerkmalen 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.


Anspruch[de]
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.
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. 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. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in das Optimierungsverfahren das Downhill-Simplex-Optimierungsverfahren implementiert ist. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in das Optimierungsverfahren das Levenberg-Marquard-Optimierungsverfahren implementiert ist. Verfahren nach einem der vorhergehenden Ansprüche, bei dem in das Verfahren zur Verfolgung von Bildmerkmalen das Kanade-Lucas-Tomasi-Trackingverfahren implementiert ist. Verfahren nach einem der vorhergehenden Ansprüche, bei dem zur Erkennung von Bildmerkmalen im zweidimensionalen Bild das Harris-Corner-Detektionsverfahren verwendet wird. 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.
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. 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. 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.
Verfahren nach Anspruch 11, bei dem nach Anwendung des Optimierungsverfahrens eine Qualität der jeweiligen Korrespondenz überprüft wird. 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. 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.
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.
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. 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. 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. 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. 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. 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. 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.
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.
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.
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.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com