cirq GmbH, Mannheim
HomeUnternehmenPortfolioReferenzen

Mosaicing

Idee des so genannten Mosaicing ist es, nacheinander aufgenommene, sich überlappende Bilder in einen räumlichen Kontext zu stellen und so die Bilder wie einzelne Steine eines Mosaiks miteinander zu verknüpfen. Diesen Vorgang nennt man auch registrieren der Bilder. Der räumliche Kontext beschreibt dabei die Bewegung, die die Kamera zwischen jeweils zwei Aufnahmen hinter sich gebracht haben muss, damit sich der von ihr gesehene Ausschnitt ergibt.

Ansatz

Ein vielversprechender Ansatz, Mosaicing automatisch von einem AV-System durchführen zu lassen, ist mit Panoramic Image Mosaics von Shum und Szeliski gegeben.

Im Unterschied zu den meisten auf dem Markt befindlichen Mosaicing-Anwendungen (häufig auch als Stitching bezeichnet) ist dieser Ansatz flexibel bezüglich der Vorbedingungen an die aufnehmende Kamera: Er ist nicht an ausschließlich horizontale Überlappung gebunden (erfordert Aufnahmen mit Stativ), außerdem erlaubt er kleine Veränderungen der Parallaxe, wenn er auch von einer "relativ fixen" Kameraposition ausgeht. Das ermöglicht Mosaicing mit Aufnahmen, die "frei Hand" entstanden sind.

Besonders erwähnenswert ist, dass einzig die Reihenfolge der Bilder in einer Serie bekannt (d.h. vom Anwender vorgegeben) ist; Größe des Überlappungsbereichs, Richtung der Kamerabewegung zwischen zwei aufeinander folgenden Bildern und Brennweite werden ohne vorherige Angabe automatisch geschätzt.

Machbarkeitsstudie

Im Rahmen einer Machbarkeitsstudie wurde von cirq ein AV-System zum Mosaicing in Anlehnung an den Ansatz von Shum und Szeliski mit Ergänzung um einen Schätzer von Punktkorrespondenzen zur Brennweitenschätzung implementiert.

Programmiert wurde das AV-System mit C++, als Oberflächenbibliothek kam QT zum Einsatz. Die rechts gezeigten Beispiele sind mit diesem Mosaicing-Programm entstanden.

Details zur strukturierten Umsetzung der Implementierung können im folgenden Abschnitt nachgelesen werden.

Methodik

Analog zu dem EVA-Prinzip für AV-Systeme lässt sich auch das Mosaicing in vier Phasen unterteilen.

Sensorik. Zunächst werden mit einem Kamerasystem die zu registrierenden Bildserien aufgenommen. Dabei ist zu beachten, dass die einzelnen Bilder mit gleicher Belichtung aufgenommen werden. Weiterhin gelingt die Auswertung des Mosaicing umso besser, je mehr sich aufeinander folgende Bilder überlappen und je weniger sie gegenüber der optischen Achse zueinander gedreht sind. Außerdem ist die Kenntnis der von der Kamera verwendeten Brennweite beim Mosaicing von Vorteil, da ihre exakte Schätzung schwierig ist.

Es können sowohl Bildserien mit einer Fotokamera als auch die Einzelbilder eines Videoausschnitts zum Einsatz kommen. Bei letzterem ist das auszuwertende Datenmaterial viel umfangreicher, allerdings ist auch die mittlere Überlappung zwischen Folgebildern größer und erlaubt eine robustere Auswertung.

Vorverarbeitung. Um die Effizienz der Auswertung zu erhöhen, wird das vorhandene Datenmaterial zunächst reduziert: Farbbilder werden in Grauwertbilder mittels Umwandlung in das YUV-Format und Vernachlässigung der Chroma-Werte konvertiert. Das bedeutet einen nur geringfügigen Informationensverlust, da Helligkeit für die Wahrnehmung wesentlich ist. Weiterhin werden zur Effizienzsteigerung verschiedene Auflösungsstufen der Einzelbilder berechnet, auf denen später so genannte coarse-to-fine Algorithmen aufsetzen. Schließlich werden Kantenbilder mit einem Hochpass berechnet, die zwecks besserer Robustheit in der folgenden Auswertung mit den Grauwertbildern verknüpft werden.

Auswertung. Die Aufgabe der Auswertung des Mosaicing ist es, aufeinander folgende Einzelbilder zu registrieren.

Dabei wird zunächst über Kreuzkorrelation auf Differenzbildern eine Verschiebung aufeinander folgender Bilder ohne Verzerrung berechnet.

Aufbauend auf dieser Initialverschiebung wird über ein iteratives Gradientenabstiegsverfahren die Verzerrung zwischen den Bildern geschätzt. Diese Schätzung entspricht einer Schätzung der Kamerabewegung zwischen der Aufnahme zweier Bilder mittels Optimierung.

Mit bekannter Brennweite und Annahme eines fixen optischen Zentrums der aufnehmenden Kamera ist die Kamerabewegung identisch mit einer Rotation im dreidimensionalen Raum; diese Annahme erlaubt eine effiziente Implementierung, da weniger Freiheitsgrade exisiteren, die optimiert werden müssen. Ist die Brennweite nicht gegeben, wird sie über die Bestimmung von Punktkorrespondenzen geschätzt. Kleine Bewegungen der Parallaxe werden durch die Initialverschiebung ausgeglichen.

Das Ergebnis der Auswertung ist eine 3x3 Matrix für jeweils zwei aufeinander folgende Bilder der Serie. Diese beschreibt die Bewegung der Kamera zwischen den beiden Aufnahmen.

Darstellung. Die einfachste und in den Beispielen rechts gewählte Möglichkeit der Darstellung ist die Anwendung der Matrizen auf jeden Bildpunkt der Bilder und anschließende Projektion auf eine gemeinsame Bildebene. An den Beispielen ist zu erkennen, dass die zur Aufnahme der Bildserien verwendete Digitalkamera das typische Problem der Geräte ihrer Art teilt: Die Lichtempfindlichkeit der CCD-Sensoren nimmt zum Rand hin ab. Das erzeugt in der Ergebnisprojektion sichtbare Schnittstellen an den Rändern der zusammengefügten Bildserien. Diesem Problem lässt sich gut mit Überblendung der Bilder in Abhängigkeit der Distanz zum Bildmittelpunkt begegnen; um die Auswertungsergebnisse anhand der Schnittstellen besser zu erkennen, wurde darauf in den Beispielen allerdings verzichtet.

Mosaicing-Beispiel: Ehrentafel Universität Mannheim, 4 Bilder


Panorama mit Mosaicing Beispiel 1

Mosaicing-Beispiel: Blick aufs Matterhorn - Schweizer Alpen Panorama (Belalp), 4 Bilder


Panorama mit Mosaicing Beispiel 2

Mosaicing-Beispiel: Mannheimer Schloss Panorama, 5 Bilder


Panorama mit Mosaicing Beispiel 3

Mosaicing-Beispiel: Eisenbahnschienen-Panorama bei Nacht, 5 Bilder


Panorama mit Mosaicing Beispiel 4