logo
homeproj setupresultsrefscontacts
bar
title

Augmented Reality mittels ARToolkit

In einem ersten Schritt wurde für diese Implementierung auf eine bereits bestehende Lösung aufgesetzt. Dies diente als Benchmark und zum Ausarbeiten der Spezifikation von V-Graph. Die eingesetzte Lösung trägt den Namen ARToolkit und ist im Internet unter http://www.hitl.washington.edu/artoolkit/ frei verfügbar. ARToolkit ist eine Sammlung an Funktionen, die die Implementierung von AR Systemen erleichtern soll. Er wurde von Hirokazu Kato und Mark Billinghurst entwickelt und basiert auf der Programmiersprache C und C++. Die Erstellung von virtuellen Grafiken wird mittels OpenGL bewerkstelligt. ARToolkit löst das Tracking-Problem mittels computerunterstützter Verfahren. Dabei kann die Software auf verschiedenste Muster trainiert werden. Wird eines der trainierten Muster dann durch eine Kamera erfasst und mit Hilfe der Software richtig identifiziert, so wird das gewünschte virtuelle Element in die reale Szene eingebettet. Die Implementierung errechnet also die relative Kameraposition und –ausrichtung in Hinblick auf physische Muster, sogenannte Marker. Im Rahmen dieses Projekts werden zwei verschiedene Marker verwendet, die unten zu sehen sind. Im Rahmen der ersten Implementierung wird auf den Marker ein Würfel mit definierter Struktur projiziert. Die Erstellung des Würfels erfolgt mittels OpenGL. Im anderen Beispiel werden zwei verschiedene Elemente mit Hilfe beider Marker in die reale Szene eingebettet. Die Definition der virtuellen Elemente erfolgt mit Hilfe der Virtual Reality Modeling Language (VRML). VRML ist eine Beschreibungssprache für virtuelle, dreidimensionale Szenen. Mittels Knotenpunkten können definierte geometrische Objekte, Ausleuchtungen, Animationen und Interaktionsmöglichkeiten erstellt werden.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

PTZ Kalibrierung

Um den Zusammenhang zwischen Bild-, Kamera- und Weltkoordinatensystem herstellen zu können gibt es zwei Ansätze: Der erste Ansatz besteht darin, durch eine vollständige Kamerakalibrierung die intrinsischen und extrinsischen Kameraparameter und somit die geometrische Beziehung zwischen beiden Kameras zu bestimmen, wie beispielsweise in [5] und [6]. Der zweite, weniger komplexe Ansatz besteht darin, eine Look-Up-Table (LUT) zu bestimmen die für jeden Punkt im statischen Kamerabild und für jede Zoomstufe der PTZ-Kamera deren optimalen Dreh- und Neigungswinkel angibt.
Im Rahmen des Projektes wurden beide Ansätze untersucht:

PTZ Kalibrierung mittel Lookup-Table

Da eine vollständige und automatische Kamerakalibrierung meist sehr komplex ist, wurde im Rahmen dieses Projektes im ersten Schritt versucht, die Parameter eine PTZ Kamera nur durch das Zusammenspiel der PTZ Kamera mit einer zweiten, statischen Kamera, zu berechnen. Für dieses System ist es nur notwendig, beide Kameras aufeinander abzustimmen (Camera-to-Camera-Mapping) anstatt die PTZ Kamera zu kalibrieren: Für jeden Punkt (Pixel) im statischen Kamerabild müssen die entsprechenden Bewegungsparameter der PTZ-Kamera (Schwenk- und Neigungsgrad) für jede Zoomstufe bekannt sein. Die vorgestellte Methode basiert wie in [BTLPS07] auf lokalen Image Features. Die Methode verwendet aber keine in einer Vorverarbeitung manuell bestimmten Passpunkte sondern orientiert sich direkt an der im Bild gefundenen Interest Points. Die LUT wird somit vollautomatisch berechnet. Zur Bestimmung der Interest Points und Berechnung der lokalen Features wird ein auf SIFT [Lowe04] basierendes Verfahren verwendet, welches im Rahmen des Projektes entwickelt wurde. Zu den Interest Points im statischen Kamerabild werden dann mit Hilfe von RANSAC korrespondierende Punkte im dynamischen Kamerabild gesucht. Die Zuordnung zwischen den korrespondierenden Punkten wird durch eine so genannte Homographie beschrieben. Die beschriebene Methode und die Demo samt GUI wurden in MATLAB 7.5.0.342 (R2007b) implementiert. Um die Genauigkeit der präsentierten Methode darstellen zu können, wurde eine Evaluierung durchgenommen. Nachfolgende Abbildung zeigt ein statische Kamerabild, in dem 5 Zielscheiben zu sehen sind. Nachdem nun auf die Mitte der jeweiligen Zielscheibe geklickt wird, müsste sich der Bildmittelpunkt des dynamischen Bildes genau in der Mitte der Zielscheibe befinden. Je nach Kameraauflösung, Position und Entfernung der Zielscheibe konnten so die Ergebnisse evaluiert werden.

Abb.1 PTZ Kalibrierung - Evaluation

 

Automatische PTZ Kalibrierung

Da die automatische Kamerakalibrierung den Vorteil mit sich bringt, dass nur eine PTZ Kamera notwendig ist, wurde im Rahmen des Projekts auch eine automatische PTZ Kalibriermethode betrachtet. Die Methode basiert auf dem in [AHR00] vorgestellten Algorithmus. Sie geht davon aus, dass es sich bei der zu kalibrierenden Kamera um eine stationäre PTZ Kamera handelt, die ihre inneren Parameter und die Rotationsparameter zeitlich verändern kann. Interest Points werden auch in diesem Fall nach dem gleichen Prinzip, wie oben gefunden. Im Unterschied zum vorigen Algorithmus werden in diesem Fall zwei Bilder (Bild i und Bild j) von derselben Kamera, nur mit unterschiedlicher Rotation aufgenommen. Mit Hilfe der korrespondierenden Punkte wird eine Homographie Hij zwischen den beiden Bildern hergestellt. Wird diese Homographie durch eine Ebene im Unendlichen indiziert, so wird von einer unendlichen Homographie gesprochen. Das Bild des absoluten Kegelschnitts ist die Rückprojektion eines Kegels zwischen Kamerazentrum und einer Bildebene im Unendlichen auf die Bildebene. Diese Projektion hat die Eigenschaft, dass sie sich nicht durch Rotation oder Translation der Kamera verändern lässt, deshalb also konstant bleibt. Diese Eigenschaft macht es möglich, die innere Orientierung einer Kamera direkt aus dem Bild des absoluten Kegelschnitts zu berechnen. Dieser Ansatz würde an sich eine optimale Lösung für das vorliegende Projekt darstellen. Aufgrund der komplexen mathematischen Berechnungen zeigte sich allerdings, dass dieses Verfahren ohne intensive weitere Optimierungen noch nicht praxistauglich ist. Aus diesem Grund wurde als Kompromiss die Selbstkalibrierung einer statischen Kamera im Rahmen des Projektes weiter verfolgt.  

 

Automatische Kalibrierung einer statischen Kamera

Um den Unterschied zwischen der PTZ Kalibrierung und einer automatischen Kalibrierung einer statischen Kamera aufzuzeigen, wurde im Rahmen dieses Projekts eine Selbstkalibrierung mittels Fußgängern, basierend auf [LZN06], realisiert und implementiert. Zusätzlich wurde auch eine Szenenrekonstruktion durchgeführt. Die intrinsischen Parameter werden von jeder Kamera einzeln berechnet. Dazu werden Personen vom Hintergrund extrahiert und deren Kopf- und Fußpunkte als Eingangswerte gespeichert. Nach der Speicherung aller Kopf- und Fußpunkte über einen längeren Zeitraum wird ein vertikaler Fluchtpunkt berechnet.Um eine Kamera vollständig kalibrieren zu können, müssen drei aufeinander orthogonal stehende Fluchtpunkte gefunden werden. Nach dem Erhalt aller drei Fluchtpunkte kann wieder über das Bild des absoluten Kegelschnitts die Kameramatrix K berechnet werden. Um die Genauigkeit des Algorithmus demonstrieren zu können, wurde ein Experiment mit zwei Kameras durchgeführt. Abbildung 2 zeigt links die Kopf- und Fußpunkte aus 10 ausgewählten Frames eines Videos, das eine gehende Person zeigt. Rechts davon sind die rekonstruierten Kamerapositionen und –richtungen zu sehen. Die blauen Punkte stellen dabei die Kameras dar, die roten Punkte sind die 3D Koordinaten aller Kopf- und Fußpunkte. 

                       

Abb.2 Kopf- und Fußpunkte über 10 ausgewählte Frames                Abb3.: Rekonstruierte Kamerapositionen

 
barend