-
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.