Beschreibungdescription
System und Verfahren zur Bestimmung der Position und der Orientierung eines AnwendersSystem and method for determining the position and orientation of a user
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.The invention relates to a system and a method for determining the position and orientation of a user with respect to a real environment which he regards.
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.Such a system or such a method are used, for example, in augmented reality applications. Augmented reality, augmented reality, is a form of human-technology interaction that gives people, e.g. Using a pair of data goggles fades information into his field of view and thus extends the reality perceived by him. This extension of reality is also called augmentation. It happens contextually, i. suitable for and derived from the object considered. The object under consideration may be, for example, a component, a tool, a machine, an automation system or an open engine compartment of a car, to name but a few examples. For example, when augmenting the field of view of the user, safety, assembly or dismantling instructions are displayed which assist a user in his or her activity.
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.Automation devices can be used in the application domain producing industry, medicine or in the consumer sector. In the manufacturing industry, applications ranging from simple operator control and observation processes to complex service activities can be supported. In operations, examinations and treatments in the medical environment, such methods and devices serve a user to improve the quality of work. In the consumer area, applications such as navigation of people, information provision, etc. can be realized. In order to ensure positionally accurate augmentation of the displayed information with respect to the real objects in the field of view of the user, tracking methods are used. With these methods, the position and orientation of the user are first determined. Position and orientation of the user in relation to his real environment are also referred to in the general jargon with the term "pose" which includes both sizes.
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.To determine the pose, the field of view of the user is continuously recorded with a camera. In a so-called markerless tracking matches between certain features in the recorded camera image and a model of the real environment of the user is determined and determines the pose of the user. Such a method is referred to as markerless tracking, since it requires no special emphasis in reality. The augmented reality system recognizes the pose exclusively by means of the image features in the detection range of the camera.
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.In order to be able to perform markerless tracking, a so-called initialization must first be carried out. This provides the user's pose for the first time. The initialization of the augmented reality system is computationally intensive and requires an interaction on the part of the user. For example, the user must explicitly adjust his viewing direction to a defined object with the camera for initialization in such a way that the augmented reality system recognizes the real object based on an augmentation of the object in the camera image displayed to the user at a defined position. So he has to bring the augmentation of the object and the real object to coincide. From this, the system can determine an initial position and orientation, a so-called initial pose, in space. However, the augmentation does not have to be absolutely exactly brought to coincidence by the user. The augmented reality system can independently bring the augmentation with the real object within a certain tolerance range to cover. An alternative method of initialization is the use of so-called keyframes, ie predefined views of the environment, which the augmented reality system must recognize again within a tolerance range based on the current camera image. Depending on the initialization method used, more or less user interaction is required.
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.After the successful initialization described in this way, the user can vary his viewing direction and thus the coverage of the camera as desired. The augmented reality system can then display augmentations with exact position as long as the object or its model used for initialization is within the detection range of the camera. Tracking examines the movements of the camera image and derives therefrom the position and orientation of the user in relation to the real environment, the so-called pose. This happens almost in real time and without any user interaction. Overall, the posi- tion determination is divided into an initialization phase and a subsequent tracking phase in which the pose is redefined from image to image.
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.However, the workspaces to which an operator wishes to use an augmented reality system can be much larger than the detection range of the camera, in particular if the user makes meaningful distances to the objects to be augmented. As soon as the object used for initialization is no longer within the detection range of the camera, no pose determination can take place within the scope of the tracking phase described above. The augmented reality system loses its initialization and pose relative to the object originally used for initialization. As a result, the tracking process aborts, and initially no augmentation can be displayed. The invention is based on the object of enabling a pose determination of a user within a spatially extended real environment as efficiently as possible.
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:This object is achieved by a method for determining the pose of a user with respect to a real environment considered for him, in which sections of the real environment in the field of vision of the user are detected with a camera, the method being an initialization phase with the process steps:
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.Selecting a partial model suitable for determining an initial pose of a user from an overall model of the real environment which is subdivided into different partial models, the selection being carried out as a function of a section of the real environment detected by the camera during the initialization phase, and determining the initial pose of the user by comparing the user Section with the partial model, and wherein the method has a tracking phase following the initialization phase, in which the pose of the user is determined continuously from the initial pose by means of a tracking algorithm, wherein the initialization phase is restarted as soon as it reaches the tracking phase or achievable accuracy of the pose determination a predetermined quality criterion is no longer met.
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,Furthermore, the object is achieved by a system for determining the pose of a user with respect to a real environment which he regards, the system comprising: a camera for capturing sections of the real environment which are in the field of vision of the user, a first memory area for an overall model of the real environment decomposed into different submodels, initialization means for selecting a submodel suitable for determining an initial pose of a user from the overall model as a function of an excerpt captured by the camera during an initialization phase tes of the real environment and for determining the initial pose by comparing the detail with the first partial model,
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.Tracking means for determining the pose of the user during a tracking phase following the initialization phase, wherein the tracking means are provided for continuously determining the pose from the initial pose by means of a tracking algorithm, and monitoring means for restarting the initialization phase as soon as said in the Tracking phase achieved or achievable accuracy of the pose determination no longer meets a predetermined quality criterion.
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.The determination of the pose of the user is divided into two phases: the initialization phase and the tracking phase. The tracking phase can only be carried out if at least once before an initial pose of the user has been determined, ie at least one initialization phase has preceded, during which the position and orientation of the user with respect to the real environment was determined for the first time. In order to determine the poses as fast as possible and as little as possible in the calculation, it is usually attempted to determine the pose as long as possible with the aid of an efficient and fast tracking algorithm. If, however, the user changes his viewing direction very strongly after the initial pose has been determined, so that the detection range of the camera differs greatly from that used during the initialization phase, the quality of the pose determination during tracking generally suffers. At the latest when the detection area is completely outside the section used in the initial position determination, a pose determination by means of the tracking algorithm is no longer possible.
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.According to the invention, a new initialization phase is started as soon as the achieved accuracy no longer fulfills the previously determined quality criterion or as soon as the achievable accuracy no longer fulfills this criterion. Letztgenann- Causal connection has prophylactic character. In this case, a new initialization is carried out if, for example, it is no longer possible to expect a fulfillment of the quality criterion due to the change in the pose that has taken place since the last initialization.
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.In the cases mentioned, therefore, a new comparison of the new captured section with a model of the real environment must be performed. The initialization phase must therefore be restarted.
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.One criterion for the accuracy of the pose determination is the tracking error during the tracking phase. Various methods are known for determining the tracking error. For example, the number of model features used in the initial pose setup is continuously determined in the current frame. If, in particular, this falls permanently below a predetermined threshold value, it is concluded therefrom that the tracking error and thus the non-compliance with the required quality criterion are too great.
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.Such a method is also called a robust method. By contrast, so-called non-robust methods return for each feature a probability with which it was found. From the total probability for all characteristics, the overall accuracy of the tracking results.
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.The invention is based on the finding that the expense for the reinitialization can be significantly reduced if the overall model which simulates the real environment considered by the user is broken down into individual smaller submodels. The purpose of this decomposition is not to have to use the entire model in the reinitialization, but only a suitable and much smaller sub-model. This has the advantage that the algorithms used for initialization must be applied to a much smaller data area. Thus, the initialization process can be performed much faster. This advantage turns out in particular in very large Environments of the user noticeable, which must be emulated accordingly with very large environment models.
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.According to the invention, it is thus investigated within the tracking phase whether the user's pose determined by the tracking algorithm can still achieve or achieve a required accuracy. If this predetermined quality criterion is no longer met, the tracking phase is interrupted and a new initialization phase is activated. In this case, the image section of the camera acquired at the end of the tracking phase is again used as the basis for the determination of a new submodel. With the aid of this new suitable partial model, a comparison with the section in the detection range of the camera is then performed again and a corresponding initial pose is redetermined. This happens at least largely without interaction of the user and can run almost unnoticed in the background. Once the new initial pose is determined, the very fast tracking algorithm can be used for continuous, continuous pose determination.
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 .Due to the decomposition of the overall model according to the invention into individual partial models, which can each be used independently of each other for determination of the initial pose, the subject matter of the invention opens up the possibility, for the first time, of expediently using an augmented reality system even in very large environments. The specific selection of individual partial models for determining the initial position as a function of a current viewing angle of a user and depending on its position makes it possible to control the computational effort that the image processing algorithms need to determine the initial pose.
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 an advantageous embodiment of the invention, when the initialization phase is restarted, a submodel is determined which is adjacent to a submodel used in the overall model in the preceding initialization phase. If, during the tracking phase, it is determined that the quality If the determination of the pose no longer corresponds to the predefined quality criterion or if such a deviation is to be expected on the basis of the changes in the user field of view during the tracking phase, one of the submodels adjacent to the previous submodel is selected in order to redetermine the initial pose. Thus, it is not necessary to consider all submodels of the overall model since it can be assumed that, after a change in the field of view of the user and thus of the detection range of the camera, a submodel adjacent to the previous submodel is suitable for determining the initial pose.
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.In a further advantageous embodiment of the invention, in particular the determination of a suitable submodel among the adjacent submodels is simplified in that the submodel is determined by evaluating the last pose determined within the tracking phase and the position of the submodel used in the preceding initialization phase. The submodel used in the previous initialization phase is the starting point in the search for a new submodel. During the tracking phase, the change in the field of vision of the user or the detection range of the camera was tracked, so that with this information a new sub-model can be found to determine a new initial pose.
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.In order to avoid the emergence of a tracking error in advance, it can be provided in a further advantageous embodiment of the invention that the initialization phase is restarted as soon as the detection range of the camera has left the cutout detected during the initialization phase by a predetermined amount. As soon as this has happened, a new suitable partial model is determined, for example, by evaluating the change in the detection range of the camera determined during the tracking phase and calculating a new initial pose. This happens especially without User interaction and therefore can be done almost unnoticed by the user of the system.
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 .A further advantageous embodiment of the invention is characterized in that the scope of the environment modeled by the submodels is dependent on the size of the detection range of the camera. This makes sense, since the initial pose is performed by comparing the detection range of the camera with one or more elements of a suitable sub-model. If the partial model were much larger than the detection range of the camera, then elements of the partial model would have to be examined by a corresponding algorithm, which does not appear in the detection range of the camera and thus is not available for comparison. Conversely, if the partial model is too small, the problem would be that elements of the real environment captured by the camera would be searched unsuccessfully in the corresponding submodel.
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.Since the size of the detection range of the camera can change, for example by the user moving farther away from the real environment or by changing the zoom factor of the camera, an embodiment of the invention is advantageous in which the overall model changes when the size of the sensor changes. The scope of the camera is now divided into different submodels. Thus, the decomposition of the overall model into individual submodels would happen "on the fly". When determining the initial posi- tion, it would be ensured that a submodel of ideal size is always available for comparison with the detection range of the camera. Of course, a less performant embodiment of the invention is also possible in which the decomposition of the overall model into individual submodels is already carried out in a preceding engineering phase. As a rule, it must be ensured that the detection range of the camera does not vary too much during pose determination. In the aforementioned "on the fly" decomposition of the overall model such a nearly rigid definition of the detection range is not necessary. A simple determination of the partial model suitable for the initial position determination can be achieved in an advantageous embodiment of the invention in that the partial model is determined by backprojecting the detected section onto the real environment.
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.A suitable criterion for determining the suitable submodel is given in a further advantageous embodiment of the invention in that the submodel is selected such that it has the largest overlap area with the detected section of the real environment among the various submodels. The larger the overlapping area of the detected section with the partial model, the greater the probability that the comparison of the section with the partial model leads to a successful initial pose determination.
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.A suitable procedure for comparing the section with the selected submodel is given in an advantageous embodiment in that, to determine the initial pose, an object of the real environment located in the detected section is recognized with the aid of the selected submodel and an augmentation of the object is made to coincide with the object becomes. For the initial initial position determination in particular, user interaction may be necessary for this, in which the user aligns his field of vision with respect to the real environment in such a way that the augmentation of the object coincides with the object itself. However, smaller deviations in particular can also be compensated for by the system itself, in that the augmentation and the real object are reconstructed mathematically and from this process the information required for determining the initial position is determined.
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.A particularly advantageous application of the method results in an embodiment in which the particular pose is used for positionally accurate augmentation of the field of view of the user with information. Such information For example, installation instructions for an automation technician can be displayed with exact position, assistance for a surgeon, which can be shown in his field of view during an operation, or even simple explanations for a visitor to an exhibition, fitting in and out of the elements he is looking at.
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.A particularly user-friendly superimposition of such augmentations is provided by an embodiment of the invention, in which the information is faded into the field of vision of the user by means of data glasses. For example, with such a data goggles, a so-called optical see-through method can be realized, in which the user perceives the objects of the real environment directly through the data goggles and the information about this is displayed at a suitable location in the data goggles.
Im Folgenden wird die Erfindung anhand der in den Figuren dargestellten Ausführungsbeispiele näher beschrieben und er- läutert. Dabei zeigenIn the following, the invention will be described and explained in more detail with reference to the exemplary embodiments illustrated in the figures. Show
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 ,1 shows a detection range of a camera of an embodiment of the system for determining the pose of a user, FIG. 2 shows augmented information in the field of vision of the user, FIG.
FIG 3 eine Initialisierung einer Ausführungsform des Systems zur Bestimmung der Pose eines Anwenders,3 shows an initialization of an embodiment of the system for determining the pose of a user,
FIG 4 eine planare Darstellung eines erfassten Aus- Schnitts der realen Umgebung und deren Modellierung,4 shows a planar representation of a captured section of the real environment and its modeling,
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,5 shows a perspective view of the captured detail of the real environment and its modeling, FIG. 6 shows possibilities of movement within the space modeled by neighboring partial models, FIG.
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,7 shows a first area of a camera detected at a first initialization phase, 8 shows a second section captured by the camera at the beginning of a second initialization phase,
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 .9 shows a flow chart of an embodiment of the method for determining the pose of a user, and FIG. 10 shows an application example of an embodiment of the method within an augmented reality system.
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.1 shows a detection area 30 of a camera 20 of an embodiment of the system for determining the pose of a user. The illustrated camera 20 is part of an augmented reality system with which information is displayed in a positionally accurate and context-dependent manner to objects of the real environment viewed by a user in its field of view. The system is designed such that the camera 20 always at least partially detects the field of view of the user. For example, for this purpose, the camera 20 is mounted on the user's head so that it automatically follows his gaze. When determining the position and orientation of the user, the so-called pose, objects of the real environment lying in the detection area 30 of the camera 20 are compared with a three-dimensional model of the real environment. If the objects recognized by the camera 20 are found again in the three-dimensional model, a determination of the pose of the user is possible.
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.Which objects are located in the detection area 30 of the camera 20 depends on the one hand on the settings of the camera 20, such as the zoom factor, on the other hand on the distance 70, the camera 20 has the considered real environment. In particular, in very large work environments of the user, it may happen that at a time only a very small portion of the real environment in the detection range 30 of the camera 20 is located. An object, which is initially located in the detection area 30 of the camera 20 and was used to determine an initial pose, can become very hot when using the system in a very large environment quickly outside the detection range 30, which would require reinitialization of the system.
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 .FIG. 2 shows an augmented information 60 in the field of vision of the user, which is recorded by a camera 20. The augmented information 60 was previously derived as a function of an object detected in the detection area 30 of the camera 20 and is now superimposed in an exact position for this purpose in the field of view of the user, for example via data glasses. If the user now changes his field of view and thus the detection range 30 of the camera 20, then the augmented information 60 first of all "sticks" to said object. This is just a desirable feature of the augmented reality system.
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 .The four dashed rectangles arranged around the augmented information 60 indicate the maximum deflection of the detection area 30 of the camera 20, which is possible without augmentation loss. Provided that the detection range corresponds to the tracking range, the augmented information 60 can no longer be displayed as soon as the detection range 30 moves further away from the starting position shown in FIG. 2 than indicated by these dashed rectangles. Such a tracking loss and thus augmentation loss occur frequently, especially in large environments.
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.3 shows an initialization of an embodiment of the system for determining the pose of a user. In the detection area 30 of the camera 20 there is a real object 40, which is simulated by a three-dimensional environment model and used to initialize the system, ie to determine the position and orientation of the user. The real object 40 is found again in the model of the real environment. A corresponding augmentation 50 is finally projected into the real environment. For the initial initial determination of poses, the user now has to try to implement the augmentation 50 with the real object 40 in bring. This is done by adjusting his pose and thus the pose of the camera 20 with respect to the real environment. Once the augmentation 50 and the real object 40 are brought into coincidence, the pose of the user can be uniquely determined. Subsequently, a continuous pose determination is carried out by a tracking algorithm with which changes in the position of the real object 40 in the detection area 30 of the camera 20 are tracked and the pose is determined continuously with relatively little computation effort. However, this is only possible as long as the real object 40 is located at least partially in the detection area 30 of the camera 20. As soon as the user's field of vision changes so much that the real object 40 completely leaves the detection area 30, the system must be reinitialized using another object in the detection area of the camera 20.
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.The previously described initial initialization of the system can also be performed at least partially without user interaction. With smaller deviations, the augmentation 50 can also be automatically brought into coincidence by the system with the real object 40 "mathematically" and from this the initial pose can be determined.
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.4 shows a planar representation of a captured section of the real environment and its modeling. To model the real environment, an overall model is provided, which is broken down into individual submodels 0..8. Illustrated here are, by way of example, a first submodel 0, whose modeled reality is located in the detection range of a camera 20, and directly adjacent submodels 1. As a rule, the overall model of the real environment is subdivided into substantially more submodels, which are not all shown here as well as in FIGS. 5, 6, 7 and 8 for reasons of clarity.
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 .The size of the submodels 0..8 largely corresponds to the detection range of the camera 20. If, therefore, during an initial alisierungsphase is located in the detection range section of the real environment with the image to be compared in the model, so to be processed for the corresponding algorithms three-dimensional model is significantly smaller than the overall model of the entire real environment of the user's workspace. As shown in FIG. 4, the first partial model 0 is located in the current detection range of the camera 20. When moving the camera 20, the area of the real environment modeled by the first partial model 0 may possibly be left out, so that one of the adjacent partial models 1..8 must be used for a re-initialization determination.
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.5 shows a perspective view of the detected area of the real environment and its modeling. Again, it can be seen that movements of the camera 20 always lead to a continuous displacement of the detection area within the neighborhood area with respect to the last camera position.
FIG 6 zeigt schließlich verschiedene Bewegungsmöglichkeiten innerhalb des durch die benachbarten Teilmodelle 0..8 modellierten Raumes .Finally, FIG. 6 shows various possibilities of movement within the space modeled by the adjacent partial models 0..8.
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. 7 shows a first section 10 detected by a camera 20 during a first initialization phase. The first detail 10 of the real environment lying in the detection range of the camera 20 is at least partially modeled by a first sub-model 0 which is part of an overall model of the real environment. In order to determine the position and the orientation of the user for the first time, a comparison of the first detail 10 with the first partial model 0 is performed. For example, the initial pose is determined according to the method already described in FIG. If, for the first time, the user's position and orientation relative to the real environment are fixed, the pose can first be tracked using a tracking algorithm that tracks movements of real objects within images recorded with the camera 20. be determined continuously and with relatively little computational time almost in Ξchtzeit. However, this is possible only as long as objects used for initialization in the detection range of the camera 20 are at least partially located. If the detection range of the camera 20 leaves the said area of the real environment beyond, the system must be reinitialized.
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 zweiten8 shows a second section detected by the camera 20 at the beginning of a second initialization phase, which follows the tracking phase described above in FIG. In the illustrated case, the camera has been moved out of the position that it held during the first initialization phase so far that a tracking error exceeds a previously determined maximum value. Therefore, it is first checked which sub-model 0..8 of the real environment is best suited to re-determine the initial pose within a new initialization phase. In the illustrated case, it has been found that the now detected second section 11 of the real, environment with a second
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.Submodel 5, which is arranged in direct proximity to the first submodel 0, forms the largest possible overlap area of all submodels 0 to 8 of the overall model. Therefore, this second submodel 5 is selected for reinitialization. After the initial pose has been redetermined, further pose changes can be tracked using the tracking algorithm.
Die Neubestimmung der Initialpose kann nahezu unbemerkt vom Anwender und ohne dessen Interaktion durchgeführt werden.The redetermination of the initial pose can be performed almost unnoticed by the user and without its interaction.
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.
This is possible because the first submodel 0 used in the previous initialization is known, and also since the changes made to the pose by the trackin algorithm are tracked. Thus, enough information is available to the system to redetermine the pose without selecting user interaction after selecting the appropriate second submodel 5. 9 shows a flow chart of an embodiment of the method for assuring the pose of a user. In a first method step 80, the initialization phase is first performed for the initial pose determination. For the first time, a suitable submodel from the overall model is selected. By comparing this selected sub-model with the area of the real environment captured by the camera in this step, the position and orientation of the user is determined for the first time. After the initial pose has been determined in this way, in a second method step 81, the tracking phase is started, in which a tracking error is continuously determined. As long as this tracking error is less than a predetermined maximum value, the tracking phase will continue. However, if the tracking error is greater than the previously determined maximum value, it is checked in a third method step 82 whether the partial model used in the first method step 80 has sufficient coverage with the current detection range of the camera. If this is the case, an automatic reinitialization is carried out with the partial model already used previously. However, if the coverage quality is not sufficient, a new partial model is determined in a fourth method step 83, which is loaded into a fast memory in a fifth method step 84. Finally, in the sixth method step 85, an automatic initialization of the system, ie a new determination of the initial pose, is carried out using the newly determined submodel, if previously an insufficient coverage quality was determined with the old submodel, or an automatic initialization using the submodel already used previously if the coverage quality in the third method step 82 appeared to be sufficient. After the system has been automatically reinitialized, the pose can be continued again using the track-in algorithm as described in the second method step 81. 10 shows an application example of an embodiment of the method within an augmented reality system. The augmented reality system has a camera 20, with which a spatially far-reaching pipeline system is received in the real environment of a user. The user is, for example, an installer who is to carry out repair work on the illustrated piping system. To assist the user, this information should be displayed contextually in his field of view. For this purpose, the user wears a data glasses, which allows a positionally accurate display of this information. While working on the piping system, the user should be shown successively 90.91.92 augmentations at three separate points. Initially, it is located at the time t 1 at a position at which a camera 20 located on its head detects a first cutout 10 of the pipeline system. Since the detection range of the camera 20 approximately corresponds to the field of view of the user, said field of view can be set approximately equal to the first section 10. After a first initialization of the augmented reality system, the augmentation can be superimposed with exact position at the location 90 provided for this purpose. If it then continues to move in such a way that its field of view detects the second section 11, the detection area of the camera 20 leaves the first section 10 and thus the elements of the partial model used for the initialization. The pose determined by tracking deteriorates in advance, which leads to a check of the current coverage of the detection range of the camera with the partial model used for the initialization. It will be appreciated that a sub-model adjacent to the previously used sub-model should be used for reinitialization. The corresponding submodel is automatically loaded into memory and used for reinitialization. From here an accurate tracking can take place again. The partial model for the initialization used in the first section 10 is accordingly deleted from the memory. An analogous procedure takes place when the detection range of the camera at time t3 has also left the second section 11 so far that the tracking algorithm provides only insufficient results. Correspondingly, in a third section 12 captured by the camera, a re-initialization of the system is carried out on the basis of a third submodel.