Beschreibung
System und Verfahren zur Bestimmung der Position und der Orientierung eines Anwenders
Die Erfindung betrifft ein System und ein Verfahren zur Bestimmung der Position und der Orientierung eines Anwenders in Bezug auf eine von ihm betrachtete reale Umgebung.
Ein derartiges System bzw. ein derartiges Verfahren kommen beispielsweise bei Augmented-Reality-Anwendungen zum Einsatz. Augmented-Reality, erweiterte Realität, ist eine Form der Mensch-Technik-Interaktion, die dem Menschen z.B. über eine Datenbrille Informationen in sein Sichtfeld einblendet und damit die von ihm wahrgenommene Realität erweitert. Diese Erweiterung der Realität wird auch als Augmentierung bezeichnet. Sie geschieht kontextabhängig, d.h. passend zum und abgeleitet vom betrachteten Objekt. Bei dem betrachteten Objekt kann es sich beispielsweise um ein Bauteil, ein Werkzeug, ei- ne Maschine, eine automatisierungstechnische Anlage oder ein geöffneten Motorraum eines PKW' s handeln, um hier nur einige Beispiele zu nennen. Beispielsweise werden bei der Augmentie- rung des Sichtfeldes des Anwenders Sicherheits- , Montage- o- der Demontagehinweise eingeblendet, die einen Anwender bei seiner Tätigkeit unterstützen.
Automatisierungsgeräte können in den Anwendungsdomänen produzierende Industrie, Medizin oder auch im Konsumerbereich eingesetzt werden. In der produzierenden Industrie können Anwen- düngen von einfachen Bedien- und Beobachtungsprozessen bis hin zu komplexen Servicetätigkeiten unterstützt werden. Bei Operationen, Untersuchungen und Behandlungen im medizinischen Umfeld dienen solche Verfahren und Geräte einem Anwender zur Verbesserung der Arbeitsqualität. Im Konsumerbereich können Anwendungen wie z.B. Navigation von Personen, Informationsbereitstellungen usw. realisiert werden.
Um eine positionsgenaue Augmentierung der eingeblendeten Informationen in Bezug auf die realen Objekte im Blickfeld des Anwenders gewährleisten zu können, werden Trackingverfahren eingesetzt. Mit diesen Verfahren werden Position und Orien- tierung des Anwenders zunächst ermittelt. Position und Orientierung des Anwenders in Bezug auf seine reale Umgebung werden auch im allgemeinen Fachjargon auch mit dem beide Größen umfassenden Ausdruck "Pose" bezeichnet.
Zur Bestimmung der Pose wird mit einer Kamera kontinuierlich das Blickfeld des Anwenders aufgenommen. Bei einem sogenannten markerlosen Tracking werden Übereinstimmungen zwischen bestimmten Merkmalen im aufgenommenen Kamerabild und einem Modell der realen Umgebung des Anwenders ermittelt und daraus die Pose des Anwenders bestimmt. Ein solches Verfahren wird als markerloses Tracking bezeichnet, da hierfür keine besonderen Hervorhebungen in der Realität benötigt werden. Das Augmented-Reality-System erkennt die Pose ausschließlich mittels der Bildmerkmale im Erfassungsbereich der Kamera.
Um ein markerloses Tracking durchführen zu können, muss zunächst eine so genannte Initialisierung durchgeführt werden. Diese liefert erstmalig die Pose des Benutzers. Die Initialisierung des Augmented-Reality-Systems ist rechenintensiv und erfordert eine Interaktion seitens des Benutzers. Beispielsweise muss der Benutzer zur Initialisierung explizit mit der Kamera seine Blickrichtung zu einem definierten Objekt derart justieren, dass das Augmented-Reality-System das reale Objekt anhand einer dem Benutzer an einer definierten Position ange- zeigten Augmentierung des Objektes im Kamerabild erkennt. Er muss also die Augmentierung des Objektes und das reale Objekt zur Deckung bringen. Hieraus kann das System eine initiale Position und Orientierung, eine so genannte Initialpose, im Raum ermitteln. Die Augmentierung muss dabei jedoch nicht ab- solut exakt durch den Benutzer zur Deckung gebracht werden. Das Augmented-Reality-System kann die Augmentierung mit dem realen Objekt innerhalb eines gewissen Toleranzbereiches selbständig zur Deckung führen.
Ein alternatives Verfahren zur Initialisierung ist die Verwendung von so genannten Keyframes, d.h. vordefinierten Ansichten der Umgebung, die das Augmented-Reality-System anhand des aktuellen Kamerabildes, innerhalb eines Toleranzbe- reiches, wieder erkennen muss. Je nach verwendeten Initialisierungsverfahren wird mehr oder weniger Interaktion durch den Benutzer erfordert.
Nach der so beschriebenen erfolgreichen Initialisierung kann der Benutzer seine Blickrichtung und damit den Erfassungsbereich der Kamera beliebig variieren. Das Augmented-Reality- System kann dann Augmentierungen so lange positionsgenau anzeigen, wie das zur Initialisierung verwendete Objekt bzw. dessen Modell im Erfassungsbereich der Kamera liegt. Das Tra- cking untersucht die Bewegungen des Kamerabildes und leitet daraus die Position und die Orientierung des Anwenders in Bezug auf die reale Umgebung, die so genannte Pose, ab. Dies geschieht beinahe in Echtzeit und ohne jegliche Interaktionen seitens des Benutzers. Insgesamt gliedert sich also die Po- senbestimmung in eine Initialisierungsphase und eine darauf anschließende Trackingphase, bei der die Pose von Bild zu Bild neu bestimmt wird.
Die Arbeitsbereiche, denen ein Anwender ein Augmented-Reali- ty-System einsetzen möchte, können jedoch sehr viel größer sein als der Erfassungsbereich der Kamera, insbesondere bei sinnvollen Entfernungen des Benutzers zu den zu augmentieren- den Objekten. Sobald sich das zur Initialisierung verwendete Objekt nicht mehr im Erfassungsbereich der Kamera befindet, kann keine Posenbestimmung im Rahmen der zuvor beschriebenen Trackingphase erfolgen. Das Augmented-Reality-System verliert seine Initialisierung und seine Pose bezogen auf das ursprünglich zur Initialisierung verwendete Objekt. Resultierend bricht das Trackingverfahren ab, und es kann zunächst keine Augmentierung angezeigt werden.
Der Erfindung liegt die Aufgabe zugrunde, eine Posenbestimmung eines Anwenders innerhalb einer räumlich ausgedehnten realen Umgebung möglichst effizient zu ermöglichen.
Diese Aufgabe wird durch ein Verfahren zur Bestimmung der Pose eines Anwenders in Bezug auf eine für ihn betrachtete reale Umgebung gelöst, bei dem Ausschnitte der realen Umgebung, die im Blickfeld des Anwenders liegen, mit einer Kamera er- fasst werden, wobei das Verfahren eine Initialisierungsphase mit den Verfahrensschritten:
Auswahl eines zur Bestimmung einer Initialpose eines Anwenders geeigneten Teilmodells aus einem in verschiedene Teilmodelle zerlegten Gesamtmodell der realen Umgebung, wobei die Auswahl in Abhängigkeit eines von der Kamera während der Initialisierungsphase erfassten Ausschnittes der realen Umgebung durchgeführt wird, und Bestimmung der Initialpose des Anwenders durch Vergleich des Ausschnittes mit dem Teilmodell, aufweist und wobei das Verfahren eine auf die Initialisie- rungsphase folgende Trackingphase aufweist, bei der die Pose des Anwenders ausgehend von der Initialpose kontinuierlich mittels eines Trackingalgorithmus bestimmt wird, wobei die Initialisierungsphase neu gestartet wird, sobald die in der Trackingphase erzielte oder erzielbare Genauigkeit der Posen- bestimmung ein vorgegebenes Qualitätskriterium nicht mehr erfüllt wird.
Ferner wird die Aufgabe durch ein System zur Bestimmung der Pose eines Anwenders in Bezug auf eine von ihm betrachtete reale Umgebung gelöst, wobei das System umfasst: eine Kamera zur Erfassung von Ausschnitten der realen Umgebung, die im Blickfeld des Anwenders liegen, einen ersten Speicherbereich für ein in verschiedene Teilmodelle zerlegtes Gesamtmodell der realen Umgebung, - Initialisierungsmittel zur Auswahl eines zur Bestimmung einer Initialpose eines Anwenders geeigneten Teilmodells aus dem Gesamtmodell in Abhängigkeit eines von der Kamera während einer Initialisierungsphase erfassten Ausschnit-
tes der realen Umgebung und zur Bestimmung der Initialpose durch Vergleich des Ausschnitts mit dem ersten Teilmodell,
Trackingmittel zur Bestimmung der Pose des Anwenders wäh- rend einer auf die Initialisierungsphase folgenden Tra- ckingphase, wobei die Trackingmittel zur kontinuierlichen Bestimmung der Pose ausgehend von der Initialpose mittels eines Trackingalgorithmus vorgesehen sind, und Überwachungsmittel zum Neustarten der Initialisierungs- phase, sobald die in der Trackingphase erzielte oder erzielbare Genauigkeit der Posenbestimmung ein vorgegebenes Qualitätskriterium nicht mehr erfüllt.
Die Bestimmung der Pose des Anwenders gliedert sich in zwei Phasen: die Initialisierungsphase und die Trackingphase. Die Trackingphase kann erst durchgeführt werden, wenn zuvor mindestens einmal eine Initialpose des Anwenders bestimmt wurde, also mindestens eine Initialisierungsphase vorausgegangen ist, während der erstmalig die Position und die Orientierung des Anwenders in Bezug auf -die reale Umgebung bestimmt wurde. Im Sinne einer möglichst schnellen und möglichst wenig rechenintensiven Posenbestimmung wird in der Regel versucht, die Pose im Anschluss möglichst lange mit Hilfe eines effizienten und schnellen Trackingalgorithmus zu bestimmen. Ver- ändert nun aber der Anwender nach der Bestimmung der Initialpose seine Blickrichtung sehr stark, so dass sich der Erfassungsbereich der Kamera stark von dem bei der Initialisierungsphase verwendeten Ausschnitt unterscheidet, so leidet im Allgemeinen die Qualität der Posenbestimmung beim Tracking. Spätestens dann, wenn sich der Erfassungsbereich vollständig außerhalb des bei der Initialposenbestimmung verwendeten Ausschnitts befindet, ist eine Posenbestimmung mittels des Trackingalgorithmus nicht mehr möglich.
Erfindungsgemäß wird eine neue Initialisierungsphase gestartet, sobald die erzielte Genauigkeit das zuvor bestimmte Qualitätskriterium nicht mehr erfüllt oder sobald die erzielbare Genauigkeit dieses Kriterium nicht mehr erfüllt. Letztgenann-
ter Kausalzusammenhang hat prophylaktischen Charakter. Es wird hierbei eine Neuinitialisierung durchgeführt, wenn beispielsweise aufgrund der seit der letzten Initialisierung geschehenen Posenveränderung eine Erfüllung des Qualitätskrite- riums nicht mehr erwartet werden kann.
In den genannten Fällen muss also ein neuer Vergleich des neuen erfassten Ausschnittes mit einem Modell der realen Umgebung durchgeführt werden. Die Initialisierungsphase muss also neu gestartet werden.
Ein Kriterium für die Genauigkeit der Posenbestimmung ist der Trackingfehler während der Trackingphase. Zur Bestimmung des Trackingfehlers sind verschiedene Verfahren bekannt. Bei- spielsweise wird kontinuierlich die Anzahl von Modellmerkmalen, die bei der Initialposenbestiinmung verwendet wurden, im aktuellen Bild bestimmt. Unterschreitet diese insbesondere dauerhaft einen vorbestimmten Schwellwert, so wird hieraus auf einen zu großen Trackingfehler und damit auf die Nicht- einhaltung des geforderten Qualitätskriteriums geschlossen.
Ein solches Verfahren wird auch als robustes Verfahren bezeichnet . So genannte nichtrobuste Verfahren geben hingegen für jedes Merkmal eine Wahrscheinlichkeit zurück, mit der es gefunden wurde. Aus der Gesamtwahrscheinlichkeit für alle Merkmale ergibt sich dann Gesamtgenauigkeit des Trackings.
Der Erfindung liegt die Erkenntnis zugrunde, dass der Aufwand für die Neuinitialisierung deutlich reduziert werden kann, wenn das Gesamtmodell, welches die vom Anwender betrachtete reale Umgebung nachbildet, in einzelne kleinere Teilmodelle zerlegt ist. Zweck dieser Zerlegung ist es, bei der Neuinitialisierung nicht das komplette Gesamtmodell verwenden zu müssen, sondern nur ein geeignetes und sehr viel kleineres Teilmodell. Dies hat den Vorteil, dass die Algorithmen, die zur Initialisierung verwendet werden, auf einen sehr viel kleineren Datenbereich angewendet werden müssen. Damit kann der Initialisierungsvorgang deutlich schneller durchgeführt werden. Dieser Vorteil macht sich insbesondere in sehr großen
Umgebungen des Anwenders bemerkbar, die entsprechend mit sehr großen Umgebungsmodellen nachgebildet werden müssen.
Erfindungsgemäß wird also innerhalb der Trackingphase unter- sucht, ob die mit dem Trackingalgorithmus bestimmte Pose des Anwenders eine geforderte Genauigkeit noch erreicht bzw. erreichen kann. Wird dieses vorgegebene Qualitätskriterium nicht mehr erfüllt, so wird die Trackingphase unterbrochen und eine neue Initialisierungsphase aktiviert. Hierbei wird der am Ende der Trackingphase erfasste Bildausschnitt der Kamera wiederum als Grundlage für die Bestimmung eines neuen Teilmodells verwendet. Unter Zuhilfenahme dieses neuen geeigneten Teilmodells wird anschließend wieder ein Vergleich mit dem Ausschnitt im Erfassungsbereich der Kamera durchgeführt und eine entsprechende Initialpose neu bestimmt. Dies geschieht zumindest weitgehend ohne Interaktion des Benutzers und kann dabei nahezu unbemerkt im Hintergrund ablaufen. Sobald die neue Initialpose bestimmt ist, kann der sehr schnelle Trackingalgorithmus zur kontinuierlichen, fortlaufenden PosenbeStimmung verwendet werden.
Durch die erfindungsgemäße Zerlegung des Gesamtmodells in einzelne Teilmodelle, die jeweils unabhängig voneinander zur Initialposenbestimmung verwendet werden können, eröffnet der Gegenstand der Erfindung erstmalig die Möglichkeit, ein Aug- mented-Reality-System auch in sehr großen Umgebungen zweckmäßig einzusetzen. Durch die gezielte Auswahl einzelner Teilmodelle zur Initialposenbestimmung in Abhängigkeit eines aktuellen Blickwinkels eines Anwenders und in Abhängigkeit von dessen Position wird der Rechenaufwand, den die Bildverarbeitungsalgorithmen zur Bestimmung der Initialpose benötigen, beherrschbar .
In vorteilhafter Ausgestaltung der Erfindung wird bei einem Neustart der Initialisierungsphase ein Teilmodell bestimmt, welches zu einem in der vorhergehenden Initialisierungsphase verwendeten Teilmodell im Gesamtmodell benachbart ist. Wird also während der Trackingphase festgestellt, dass die Quali-
tät der Posenbestimmung nicht mehr dem vorgegebenen Qualitätskriterium entspricht oder aber eine derartige Abweichung aufgrund der während der Trackingphase geschehenen Veränderungen des Anwenderblickfeldes zu erwarten ist, wird eines der zum vorherigen Teilmodell benachbarten Teilmodelle ausgewählt, um die Initialpose neu zu bestimmen. Es müssen also nicht sämtliche Teilmodelle des Gesamtmodells in Betracht gezogen werden, da vorausgesetzt werden kann, dass nach einer Veränderung des Blickfeldes des Anwenders und damit des Er- fassungsbereiches der Kamera ein zum vorherigen Teilmodell benachbartes Teilmodells für die Bestimmung der Initialpose geeignet ist.
In weiterer vorteilhafter Ausgestaltung der Erfindung wird insbesondere die Ermittlung eines geeigneten Teilmodells unter den benachbarten Teilmodellen dadurch vereinfacht, dass das Teilmodell durch Auswerten der zuletzt innerhalb der Trackingphase bestimmten Pose und der Lage des in der vorhergehenden Initialisierungsphase verwendeten Teilmodells bestimmt wird. Das in der vorhergehenden Initialisierungsphase verwendete Teilmodell gilt als Ausgangspunkt bei der Suche nach einen neuen Teilmodell. Während der Trackingphase wurde die Veränderung des Blickfeldes des Anwenders bzw. des Erfassungsbereichs der Kamera verfolgt, so dass sich mit diesen Informationen ein neues Teilmodell zur Bestimmung einer neuen Initialpose auffinden lässt.
Um das Entstehen eines Trackingfehlers bereits im Vorfeld zu vermeiden, kann in weiterer vorteilhafter Ausgestaltung der Erfindung vorgesehen werden, dass die Initialisierungsphase neu gestartet wird, sobald der Erfassungsbereich der Kamera den während der Initialisierungsphase erfassten Ausschnitt um ein vorbestimmtes Maß verlassen hat. Sobald dies geschehen ist, wird ein neues geeignetes Teilmodell beispielsweise un- ter Auswertung der während der Trackingphase ermittelten Veränderung des Erfassungsbereiches der Kamera bestimmt und eine neue Initialpose berechnet. Dies geschieht insbesondere ohne
Anwenderinteraktion und kann daher nahezu unbemerkt durch den Benutzer des Systems erfolgen.
Eine weitere vorteilhafte Ausgestaltungsform der Erfindung kennzeichnet sich dadurch, dass der Umfang der von den Teilmodellen modellierten Umgebung von der Größe des Erfassungsbereiches der Kamera abhängig ist. Dies ist sinnvoll, da die Initialpose durch Vergleich des Erfassungsbereiches der Kamera mit einem oder mehreren Elementen eines geeigneten Teilmo- dells durchgeführt wird. Wäre das Teilmodell sehr viel größer als der Erfassungsbereich der Kamera, so müssten Elemente des Teilmodells durch einen entsprechenden Algorithmus untersucht werden, die im Erfassungsbereich der Kamera gar nicht auftauchen und somit nicht für einen Vergleich zur Verfügung ste- hen. Umgekehrt wäre bei einem zu kleinen Teilmodell das Problem, dass von der Kamera erfasste Elemente der realen Umgebung erfolglos im entsprechenden Teilmodell gesucht werden würden .
Da sich die Größe des Erfassungsbereiches der Kamera ändern kann, z.B. indem der Anwender sich weiter von der realen Umgebung entfernt oder indem er den Zoomfaktor der Kamera verändert, ist eine Ausführungsform der Erfindung vorteilhaft, bei der das Gesamtmodell bei einer Änderung der Größe des Er- fassungsbereiches der Kamera neu in verschiedene Teilmodelle zerlegt wird. Somit würde die Zerlegung des Gesamtmodells in einzelne Teilmodelle "on the fly" geschehen. Bei der Initialposenbestimmung wäre gewährleistet, dass immer ein Teilmodell idealer Größe für den Vergleich mit dem Erfassungsbereich der Kamera zur Verfügung steht. Selbstverständlich ist auch eine weniger performante Ausführung der Erfindung möglich, bei der die Zerlegung des Gesamtmodells in einzelne Teilmodelle bereits in einer vorhergehenden Engineeringphase durchgeführt wird. Hierbei ist in der Regel sicherzustellen, dass der Er- fassungsbereich der Kamera während der Posenbestimmung nicht zu stark variiert. Bei der zuvor genannten "on the fly" Zerlegung des Gesamtmodells ist eine derartige nahezu starre Festlegung des Erfassungsbereiches nicht notwendig.
Eine einfache Ermittlung des für die Initialposenbestimmung geeigneten Teilmodells kann in einer vorteilhaften Ausgestaltung der Erfindung dadurch erreicht werden, dass das Teilmodell durch Rückprojektion des erfassten Ausschnittes auf die reale Umgebung ermittelt wird.
Ein geeignetes Kriterium zur Ermittlung des geeigneten Teilmodells ist bei einer weiteren vorteilhaften Ausgestaltung der Erfindung dadurch gegeben, dass das Teilmodell derart ausgewählt wird, dass es unter den verschiedenen Teilmodellen den größten Überlappungsbereich mit dem erfassten Ausschnitt der realen Umgebung aufweist. Je größer der Überlappungsbereich des erfassten Ausschnittes mit dem Teilmodell ist, desto größer ist die Wahrscheinlichkeit, dass der Vergleich des Ausschnitts mit dem Teilmodell zu einer erfolgreichen Initialposenbestimmung führt.
Eine geeignete Vorgehensweise beim Vergleich des Ausschnittes mit dem ausgewählten Teilmodell ist in einer vorteilhaften Ausgestaltung dadurch gegeben, dass zur Bestimmung der Initialpose ein im erfassten Ausschnitt befindliches Objekt der realen Umgebung mit Hilfe des ausgewählten Teilmodells erkannt und eine Augmentierung des Objektes mit dem Objekt zur Deckung gebracht wird. Insbesondere bei der erstmaligen Ini- tialposenbestimmung kann hierfür eine Benutzerinteraktion notwendig sein, in dem der Benutzer sein Blickfeld in Bezug auf die reale Umgebung so ausrichtet, dass die Augmentierung des Objektes mit dem Objekt selbst zur Deckung kommt. Insbesondere kleinere Abweichungen können jedoch auch durch das System selbst ausgeglichen werden, indem Augmentierung und reales Objekt rein rechnerisch zur Deckung gebracht werden und aus diesem Vorgang die zur Initialposenbestimmung benötigten Informationen ermittelt werden.
Eine besonders vorteilhafte Anwendung des Verfahrens ergibt sich in einer Ausgestaltungsform, bei der die bestimmte Pose zur positionsgenauen Augmentierung des Blickfeldes des Anwenders mit Informationen verwendet wird. Derartige Informatio-
nen können beispielsweise positionsgenau eingeblendete Montagehinweise für einen Automatisierungstechniker sein, Hilfestellungen für einen Chirurgen, die in sein Sichtfeld während einer Operation eingeblendet werden, oder aber auch einfache Erläuterungen für einen Besucher einer Ausstellung passend zu- und abgeleitet von den von ihm betrachteten Elementen.
Eine besonders benutzerfreundliche Einblendung derartiger Augmentierungen ist durch eine Ausführungsform der Erfindung gegeben, bei der die Informationen mittels einer Datenbrille in das Blickfeld des Anwenders eingeblendet werden. Beispielsweise kann mit einer derartigen Datenbrille ein so genanntes Optical-See-Through Verfahren realisiert werden, bei dem der Benutzer die Objekte der realen Umgebung direkt durch die Datenbrille wahrnimmt und ihm die Informationen hierzu an geeigneter Stelle in der Datenbrille eingeblendet werden.
Im Folgenden wird die Erfindung anhand der in den Figuren dargestellten Ausführungsbeispiele näher beschrieben und er- läutert. Dabei zeigen
FIG 1 einen Erfassungsbereich einer Kamera einer Ausführungsform des Systems zur Bestimmung der Pose eines Anwenders, FIG 2 eine augmentierte Information im Sichtfeld des Anwenders ,
FIG 3 eine Initialisierung einer Ausführungsform des Systems zur Bestimmung der Pose eines Anwenders,
FIG 4 eine planare Darstellung eines erfassten Aus- Schnitts der realen Umgebung und deren Modellierung,
FIG 5 eine perspektivische Darstellung des erfassten Ausschnitts der realen Umgebung und deren Modellierung, FIG 6 Bewegungsmöglichkeiten innerhalb des durch benachbarte Teilmodelle modellierten Raumes,
FIG 7 ein erster von einer Kamera erfasster Ausschnitt bei einer ersten Initialisierungsphase,
FIG 8 ein zweiter von der Kamera erfasster Ausschnitt zu Beginn einer zweiten Intialisierungsphase,
FIG 9 ein Ablaufdiagramm einer Ausführungsform des Verfahrens zur Bestimmung der Pose eines Anwenders und FIG 10 ein Anwendungsbeispiel für eine Ausführungsform des Verfahrens innerhalb eines Augmented-Reality-Systems .
FIG 1 zeigt einen Erfassungsbereich 30 einer Kamera 20 einer Ausführungsform des Systems zur Bestimmung der Pose eines Anwenders. Die dargestellte Kamera 20 ist Teil eines Augmented- Reality-Systems, mit dem Informationen positionsgenau und kontextabhängig zu von einem Anwender betrachteten Objekten der realen Umgebung in dessen Sichtfeld eingeblendet werden. Das System ist derart ausgeführt, dass die Kamera 20 stets das Sichtfeld des Anwenders zumindest teilweise erfasst. Beispielsweise wird hierzu die Kamera 20 derart auf dem Kopf des Anwenders montiert, so dass sie seinem Blick automatisch folgt. Bei der Bestimmung von Position und Orientierung des Anwenders, der sogenannten Pose, werden im Erfassungsbereich 30 der Kamera 20 liegende Objekte der realen Umgebung mit einem dreidimensionalen Modell der realen Umgebung verglichen. Wenn die von der Kamera 20 erkannten Objekte im dreidimensionalen Modell wieder gefunden werden, so ist eine Bestimmung der Pose des Anwenders möglich.
Welche Objekte sich im Erfassungsbereich 30 der Kamera 20 befinden, hängt zum einen von den Einstellungen der Kamera 20 wie z.B. dem Zoomfaktor ab, zum anderen aber auch von dem Ab- stand 70, den die Kamera 20 zur betrachteten realen Umgebung aufweist. Insbesondere in sehr großen Arbeitsumgebungen des Anwenders kann es vorkommen, dass zu einem Zeitpunkt nur ein sehr kleiner Ausschnitt der realen Umgebung im Erfassungsbereich 30 der Kamera 20 liegt. Ein zunächst im Erfassungsbe- reich 30 der Kamera 20 befindliches Objekt, welches zur Bestimmung einer Initialpose verwendet wurde, kann bei der Anwendung des Systems in einer sehr großen Umgebung sehr
schnell außerhalb des Erfassungsbereiches 30 liegen, was eine Neuinitialisierung des Systems erfordern würde.
FIG 2 zeigt eine augmentierte Information 60 im Sichtfeld des Anwenders, welches von einer Kamera 20 aufgenommen wird. Die augmentierte Information 60 wurde zuvor abhängig von einem im Erfassungsbereich 30 der Kamera 20 erkannten Objekt abgeleitet und wird nun positionsgenau hierzu in das Sichtfeld des Anwenders beispielsweise über eine Datenbrille eingeblendet. Verändert nun der Anwender sein Sichtfeld und damit den Erfassungsbereich 30 der Kamera 20 so bleibt die augmentierte Information 60 zunächst an besagtem Objekt "haften" . Dies ist gerade eine erwünschte Eigenschaft des Augmented-Reality-Systems .
Die vier um die augmentierte Information 60 angeordneten gestrichelten Rechtecke zeigen die maximale Auslenkung des Erfassungsbereichs 30 der Kamera 20 an, die ohne Augmentie- rungsverlust möglich ist. Unter der Vorraussetzung, dass der Erfassungsbereich dem Trackingbereich entspricht, kann die augmentierte Information 60 nicht mehr angezeigt werden, sobald sich der Erfassungsbereich 30 weiter von der in FIG 2 dargestellten Ausgangsposition entfernt als durch diese gestrichelten Rechtecke angedeutet. Ein derartiger Trackingver- lust und damit Augmentierungsverlust tritt insbesondere in großen Umgebungen häufig auf .
FIG 3 zeigt eine Initialisierung einer Ausführungsform des Systems zur Bestimmung der Pose eines Anwenders. Im Erfas- sungsbereich 30 der Kamera 20 befindet sich ein reales Objekt 40, welches von einem dreidimensionalen Umgebungsmodell nachgebildet wird und zur Initialisierung des Systems, d.h. zur Bestimmung der Position und der Orientierung des Anwenders, verwendet wird. Das reale Objekt 40 wird im Modell der realen Umgebung wieder gefunden. Eine entsprechende Augmentierung 50 wird schließlich in die reale Umgebung projiziert. Zur erstmaligen initialen Posenbestimmung muss nun der Anwender versuchen, die Augmentierung 50 mit dem realen Objekt 40 in De-
ckung zu bringen. Dies geschieht, in dem er seine Pose und damit die Pose der Kamera 20 in Bezug auf die reale Umgebung entsprechend justiert. Sobald die Augmentierung 50 und das reale Objekt 40 in Deckung gebracht sind, kann die Pose des Anwenders eindeutig bestimmt werden. Anschließend erfolgt eine kontinuierliche Posenbestimmung durch einen Trackingalgo- rithmus, mit dem Positionsänderungen des realen Objektes 40 im Erfassungsbereich 30 der Kamera 20 verfolgt werden und daraus mit relativ wenig Rechenaufwand die Pose kontinuier- lieh bestimmt wird. Dies ist jedoch nur solange möglich, wie sich das reale Objekt 40 zumindest teilweise im Erfassungsbereich 30 der Kamera 20 befindet. Sobald sich das Blickfeld des Anwenders so stark ändert, dass das reale Objekt 40 den Erfassungsbereich 30 komplett verlässt, muss eine Neuinitia- lisierung des Systems anhand eines anderen Objektes im Erfassungsbereich der Kamera 20 durchgeführt werden.
Die vorher beschriebene erstmalige Initialisierung des Systems kann auch zumindest teilweise ohne Benutzerinteraktion durchgeführt werden. Bei geringeren Abweichungen kann die Augmentierung 50 auch automatisch durch das System mit dem realen Objekt 40 "rechnerisch" in Deckung gebracht werden und daraus die Initialpose bestimmt werden.
FIG 4 zeigt eine planare Darstellung eines erfassten Ausschnitts der realen Umgebung und deren Modellierung. Zur Modellierung der realen Umgebung ist ein Gesamtmodell vorgesehen, welches in einzelne Teilmodelle 0..8 zerlegt ist. Dargestellt sind hier exemplarisch ein erstes Teilmodell 0, dessen modellierte Realität sich im Erfassungsbereich einer Kamera 20 befindet, und hierzu unmittelbar benachbarte Teilmodelle 1..8. In der Regel ist das Gesamtmodell der realen Umgebung in wesentlich mehr Teilmodelle aufgeteilt, die sowohl hier als auch in den Figuren 5,6, 7 und 8 aus Gründen der Über- sichtlichkeit nicht alle dargestellt sind.
Die Größe der Teilmodelle 0..8 entspricht weitgehend dem Erfassungsbereich der Kamera 20. Wenn also während einer Initi-
alisierungsphase der im Erfassungsbereich liegende Ausschnitt der realen Umgebung mit dessen Abbild im Modell verglichen werden soll, so ist das für die entsprechenden Algorithmen zu bearbeitende dreidimensionale Modell deutlich kleiner als das Gesamtmodell der gesamten realen Umgebung des Arbeitsbereiches des Anwenders. Wie in FIG 4 dargestellt, befindet sich im aktuellen Erfassungsbereich der Kamera 20 das erste Teilmodell 0. Bei einer Bewegung der Kamera 20 kann u.U. der vom ersten Teilmodell 0 modellierte Bereich der realen Umgebung verlassen werden, so dass eines der benachbarten Teilmodelle 1..8 für eine erneute Initialposenbestimmung verwendet werden muss .
FIG 5 zeigt eine perspektivische Darstellung des erfassten Bereiches der realen Umgebung und deren Modellierung. Auch hier ist zu erkennen, dass Bewegungen der Kamera 20 stets zu einer stufenlosen Verschiebung des Erfassungsbereiches innerhalb des Nachbarschaftsbereiches bezogen auf die letzte Kameraposition führen.
FIG 6 zeigt schließlich verschiedene Bewegungsmöglichkeiten innerhalb des durch die benachbarten Teilmodelle 0..8 modellierten Raumes .
FIG 7 zeigt einen ersten von einer Kamera 20 erfassten Ausschnitt 10 bei einer ersten Initialisierungsphase. Der im Erfassungsbereich der Kamera 20 liegende erste Ausschnitt 10 der realen Umgebung wird zumindest teilweise durch ein erstes Teilmodell 0 modelliert, welches Teil eines Gesamtmodells der realen Umgebung ist. Um erstmalig die Position und die Orientierung des Anwenders zu bestimmen, wird ein Vergleich des ersten Ausschnitts 10 mit dem ersten Teilmodell 0 durchgeführt. Beispielsweise wird die Initialpose nach dem bereits unter FIG 3 beschriebenen Verfahren bestimmt. Stehen Position und Orientierung des Anwenders in Bezug zur realen Umgebung erstmalig fest, so kann die Pose zunächst mit Hilfe eines Trackingalgorithmus, der Bewegungen realer Objekte innerhalb von mit der Kamera 20 aufgenommenen Abbildern verfolgt, kon-
tinuierlich und mit relativ geringem Rechenaufwand nahezu in Ξchtzeit bestimmt werden. Dies ist jedoch nur solange möglich, wie sich im Erfassungsbereich der Kamera 20 zur Initialisierung verwendete Objekte zumindest teilweise befinden. Verlässt der Erfassungsbereich der Kamera 20 den besagten Bereich der realen Umgebung darüber hinaus, so muss das System neu initialisiert werden.
FIG 8 zeigt einen zweiten von der Kamera 20 erfassten Aus- schnitt zu Beginn einer zweiten Initialisierungsphase, die sich an die zuvor unter FIG 7 beschriebene Trackingphase anschließt. In dem dargestellten Fall ist die Kamera soweit aus der Position herausbewegt worden, die sie während der ersten Initialisierungsphase innehatte, dass ein Trackingfehler ei- nen zuvor bestimmten Maximalwert übersteigt. Daher wird zunächst überprüft, welches Teilmodell 0..8 der realen Umgebung am besten geeignet ist, um innerhalb einer erneuten Initialisierungsphase die Initialpose neu zu bestimmen. In dem dargestellten Fall wurde festgestellt, dass der nunmehr erfasste zweite Ausschnitt 11 der realen, Umgebung mit einem zweiten
Teilmodell 5 welches in direkter Nachbarschaft zu dem ersten Teilmodell 0 angeordnet ist, den größtmöglichen Überlappungsbereich von allen Teilmodellen 0 bis 8 des Gesamtmodells bildet. Daher wird dieses zweite Teilmodell 5 zur Neuinitiali- sierung ausgewählt. Nach dem die Initialpose erneut bestimmt wurde, können weitere Posenveränderungen mit Hilfe des Tra- ckingalgorithmus verfolgt werden.
Die Neubestimmung der Initialpose kann nahezu unbemerkt vom Anwender und ohne dessen Interaktion durchgeführt werden.
Dies ist möglich, da dass bei der vorhergehenden Initialisierung verwendete erste Teilmodell 0 bekannt ist und auch die seit dem durchgeführten Änderungen der Pose von dem Trackin- galgorithmus verfolgt werden. Somit stehen genügend Informa- tionen für das System zur Verfügung, um ohne Benutzerinteraktion eine Neubestimmung der Pose nach Auswahl des geeigneten zweiten Teilmodells 5 durchzuführen.
FIG 9 zeigt ein Ablaufdiagramm einer Ausführungsform des Verfahrens zur Bestiiranung der Pose eines Anwenders . In einem ersten Verfahrensschritt 80 wird die Initialisierungsphase erstmals zur Initialposenbestimmung durchgeführt. Es wird erstmalig ein geeignetes Teilmodell aus dem Gesamtmodell ausgewählt. Durch Vergleich dieses ausgewählten Teilmodells mit dem in diesem Schritt von der Kamera erfassten Bereich der realen Umgebung wird erstmalig die Position und die Orientierung des Anwenders bestimmt. Nach dem die Initialpose auf diese Art und Weise festgelegt wurde, wird in einem zweiten Verfahrensschritt 81 die Trackingphase gestartet, bei der kontinuierlich ein Trackingfehler ermittelt wird. Solange dieser Trackingfehler kleiner als ein zuvor festgelegter Maximalwert ist, wird die Trackingphase fortgesetzt. Ist der Trackingfehler jedoch größer als der zuvor festgelegte Maximalwert, so wird in einem dritten Verfahrensschritt 82 überprüft, ob das im ersten Verfahrensschritt 80 verwendete Teilmodell genügend Überdeckung mit dem aktuellen Erfassungsbereich der Kamera aufweist. Ist dies der Fall, so wird eine automatische Neuinitialisierung mit dem bereits zuvor verwendeten Teilmodell durchgeführt. Ist die Überdeckungsqualität jedoch nicht ausreichend, so wird in einem vierten Verfahrensschritt 83 ein neues Teilmodell ermittelt, welches in einem fünften Verfahrensschritt 84 in einen schnellen Speicher geladen wird. Schließlich wird im sechsten Verfahrensschritt 85 eine automatische Initialisierung des Systems, also eine erneute Bestimmung der Initialpose, unter Verwendung des neu bestimmten Teilmodells durchgeführt, sofern zuvor eine nicht ausreichende Überdeckungsqualität mit dem alten Teilmodell festgestellt wurde, oder eine automatische Intialisierung anhand des bereits zuvor verwendeten Teilmodells, sofern die Überdeckungsqualität im dritten Verfahrensschritt 82 ausreichend zu schein schien. Nach der automatischen Neuinitialisierung des Systems kann die Pose erneut anhand des Trackin- galgorithmus wie im zweiten Verfahrensschritt 81 beschrieben fortgesetzt werden.
FIG 10 zeigt ein Anwendungsbeispiel für eine Ausführungsform des Verfahrens innerhalb eines Augmented-Reality-Systems. Das Augmented-Reality-System weist eine Kamera 20 auf, mit der ein räumlich weit ausgedehntes Rohrleitungssystem in der rea- len Umgebung eines Anwenders aufgenommen wird. Der Anwender ist beispielsweise ein Monteur, der Reparaturarbeiten an dem dargestellten Rohrleitungssystem durchführen soll. Zur Unterstützung des Anwenders sollen diesen Informationen kontextabhängig in sein Sichtfeld eingeblendet werden. Hierzu trägt der Anwender eine Datenbrille, die eine positionsgenaue Einblendung dieser Informationen gestattet. Der Anwender soll während seiner Arbeit an dem Rohrleitungssystem nacheinander an drei auseinander liegenden Stellen 90,91,92 Augmentierun- gen angezeigt bekommen. Zunächst befindet er sich zum Zeit- punkt tl an einer Position, an der eine auf seinem Kopf befindliche Kamera 20 einen ersten Ausschnitt 10 des Rohrleitungssystems erfasst. Da der Erfassungsbereich der Kamera 20 in etwa dem Sichtfeld des Anwenders entspricht, kann besagtes Sichtfeld mit dem ersten Ausschnitt 10 in etwa gleichgesetzt werden. Nach einer ersten Initialisierung des Augmented-Rea- lity-Systems kann die Augmentierung positionsgenau an der hierfür vorgesehenen Stelle 90 eingeblendet werden. Bewegt er sich danach derart weiter, dass sein Blickfeld den zweiten Ausschnitt 11 erfasst, so verlässt der Erfassungsbereich der Kamera 20 den ersten Ausschnitt 10 und somit die Elemente des für die Initialisierung verwendeten Teilmodells. Die mittels Tracking bestimmte Pose wird bereits im Vorfeld schlechter, was zu einer Überprüfung der aktuellen Überdeckung des Erfassungsbereiches der Kamera mit dem zur Initialisierung verwen- deten Teilmodell bewirkt. Es wird erkannt, dass ein dem zuvor benutzten Teilmodell benachbartes Teilmodell für eine Neuinitialisierung verwendet werden sollte. Das entsprechende Teilmodell wird automatisch in einen Speicher geladen und zur Neuinitialisierung verwendet. Von hier an kann ein genaues Tracking wieder stattfinden. Das im ersten Ausschnitt 10 verwendete Teilmodell für die Initialisierung wird entsprechend aus dem Speicher gelöscht . Ein analoges Vorgehen findet statt, wenn der Erfassungsbereich der Kamera zum Zeitpunkt t3
auch den zweiten Ausschnitt 11 soweit verlassen hat, dass der Trackingalgorithmus nur unzureichende Ergebnisse liefert. Entsprechend wird auch in einem dritten von der Kamera er- fassten Ausschnitt 12 eine Neuinitialisierung des Systems an- hand eines dritten Teilmodells durchgeführt.