Blog-Eintrag

Multiperspektivisches Stitchen

In früheren Beiträgen hatte ich die grundsätzlichen Aufnahmetechniken für Panorama-Fotografie in stereografischem 3D ("s3D") vorgestellt. Hier zeige ich erstmals auf, wie sich zwei unterschiedliche Perspektiven für ein s3D-Panorama aus einer monokular fotografierten Aufnahmenserie stitchen lassen.

Einfach und zugleich kostengünstig gelingt ein s3D-Panorama mit einem monokularen Setup mit einem Fullframe Fisheye an einem speziell konfigurierten Nodalpunktadapter und einem genau rastenden Rotator. Ich erstelle inzwischen alle s3D-Panoramen mit 24 Aufnahmen und verwende in der Regel ein Fullframe Fisheye. Mit einem speziell konfigurierten KISS oder UniQ NPA lässt sich abhängig vom Aufnahmeabstand ein definierter Nodalpunkt-Offset einstellen, so dass beim Rotieren der Kamera deren Eintrittspupille auf einer Kreisbahn läuft. Deren Durchmesser definiert dabei die Breite der Stereobasis im s3D-Panorama.
Aus der einen Aufnahmenserie lassen sich dann zwei Panoramen aus unterschiedlichen Perspektiven stitchen.
Da bei der Aufnahme die Kamera nicht um den Nodalpunkt rotiert, sind alle Aufnahme mit einem deutlichen Nodalpunktversatz aufgenommen. In der Praxis kann so ein Versatz 40mm und mehr betragen. Jede einzelne Aufnahme ist also aus einer anderen, definierten Perspektive aufgenommen. Daher nene ich das Verfahren zum Stitchen solcher Aufnahmenserien "multiperspektivisch".
Natürlich lassen sich solche Serien mit einem normalen Stitchingprozess nicht fehlerfrei zu einem monoperspektivischen Panorama stitchen. Aber durch "multiperspektivisches Stitchen" lassen sich nahezu fehlerfrei gestitchte Panoramen aus diesen Aufnahmeserien generieren. Visuell erkennt man keinen Unterschied zu einem "normal" aufgenommen und monoperspektivisch gestitchten Panorama.

Monoperspektivisches Stitchen
Bei "normalen" Panorama werden alle Aufnahmen mit Hilfe eines NPA aus genau der selben Perspektive aufgenommen. Egal wie breit das Panorama ist, jedes Segment zeigt einen Ausschnitt des Sujets aus genau dieser Perspektive. Zum Stitchen werden alle Quellbilder zusammen und in voller Breite in den Stitcher geladen. Benachbarte Aufnahmen sollen dabei etwa 30% überlappen. Im Überlappbereich haben alle Kontrollpunkt-Paare ein gemeinsames perspektivisches Zentrum, nämlich genau den Mittelpunkt des Kugelpanoramas.

Multiperspektivisches Stitchen
Dagegen zeigen die Aufnahmen mit dem o.a. monokularen s3D-Setup im Überlappbereich der Quellbilder große Parallaxenfehler. Lädt man dann alle Aufnahmen in voller Breite in den Stitcher, findet das Alignment Kontrollpunkt-Offsets mit einer Bandbreite von null bis mehrere hundert Pixel. Aufgrund des großen Bildüberlapps bei den erforderlichen "vielen" Aufnahmen (z.B. 24 anstatt 6) gibt es nicht nur Überlappung mit dem direkt benachbarten Bild, sondern auch mit dem nächsten, übernächsten ... usw. Die im Überlappbereich mit den nicht direkt benachbarten Bildern gefundenen Kontrollpunktpaare verfälschen beim Alignment und der Optimierung die Wölbungsparameter und verschlechtern damit die Stitching-Qualität signifikant.
Zudem ist der Stitcher frei in der Positionierung der Stitchingkante, also der Lage der Nähte im Panorama. Wenn man dagegen nur direkt benachbarte Bilder einer solchen Aufnahmenserie in den Stitcher läd und die Breite der Bilder auf ein Mindestmaß reduziert, lassen sie sich sehr gut stitchen. Je mehr Aufnahmen /360° man macht, desto kleiner ist der Schwenkwinkel zwischen den Aufnahmen, desto schmäler sind die Streifen und desto geringer ist die Parallaxe zwischen benachbarten Aufnahmen.
Daher sind drei Maßnahmen notwendig, um weit überlappende Aufnahmen aus unterschiedlichen Perspektiven nahezu fehlerfrei stitchen zu können:

  • Die zu stitchenden Einzelbilder müssen möglichst schmal sein.
  • Die Lage der Naht zwischen benachbarten Quellbildern muss zwangsweise in den Bereich verlegt werden, in dem die Kontrollpunkt-Offsets aus den unterschiedlichen Perspektiven am kleinsten sind.
  • Dem Alignment und dem Optimizer dürfen nur Kontrollpunktpaare aus direkt benachbarten Quellbildern angeboten werden

Um die Situation einfach vorstellbar zu machen, betrachten wir zunächst nur die Situation auf dem Äquator des Panoramas und nicht in den Polargebieten. Und wir gehen davon aus, dass die Quellbilder in genau 15 Grad Schritten erstellt wurden, also mit 24 Aufnahmen /360°. So würden 15 Grad breite Bildstreifen ja bereits ausreichen, um das 360-Grad-Panorama vollständig darzustellen.
Sinnvollerweise bietet man dem Stitchingprogramm nur jeweils einen schmalen vertikalen Ausschnitt aus jedem Quellbild anbietet, der so breit ist, dass er nicht auch noch mit dem übernächsten Bild überlappt. So findet der Stitcher nur Kontrollpunkte in den jeweils direkt angrenzenden Quellbild-Streifen. Bei nur 20 oder 25 Grad breiten Streifen ist das gewährleistet.
Derart schmale Bilder kann man dann gleichzeitig in den Stitcher laden und hat doch die Situation wie bei einem benachbarten Pärchen.
Man könnte also aus jedem Quellbild einen z.B. mittigen 25 Grad breiten Streifen herausschneiden und dann diese Streifen stitchen.

Als einziges Stitchingprogramm bietet PTGUI Pro mit dem Maskier-Tool die Möglichkeit, nur Ausschnitte aus den Bildern einer Aufnahmenserie zu stitchen. Damit lässt sich sehr elegant der Bereich außerhalb des 25 Grad breiten Streifens rot maskieren.
Dazu muss eine solche Maske nicht mit Pinsel für jedes einzelne Bild gemalt werden. Man kann Sie separat generieren und mit einem Mausklick zu den Bildern laden. Dann nimmt PTGUI Pro ausschließlich den nicht rot maskierten Bereich zum Stitchen her.

Wenn die Quellbilder alle mit den gleichen Verzeichnungsparametern korrigiert und gewölbt wurden, ist der insgesamt resultierende Kontrollpunkt-Fehler dann minimal, wenn die Naht benachbarter Quellbilder genau in der Mitte der Bildüberlapps verläuft. In PTGUI Pro lässt sich auch das genial einfach mit Hilfe einer entsprechenden grünen Maske erzwingen.

Ich zeige hier also den Weg zum Stitchen multiperspektivischer Panoramen mit Hilfe von 3Ton-Masken auf.  Dieses Verfahren wurde meines Wissens noch nie irgendwo beschrieben. Aber ich gehe noch einen Schritt weiter: Die optimale Form der 3Ton-Maske lässt sich berechnen und mit Hilfe folgender Eingangsgrößen parametrisieren, als Vektorgrafik generieren und als PNG in PTGUi laden:

  • Projektion der verwendeten Linse (Brennweite, Projektion)
  • Sensorgröße (Pixel Höhe x Breite)
  • Anzahl der Aufnahmen / 360°
  • Aufnahme-Anordnung (monokular / binokular)

Und diese Art der Maskierung lässt sich noch weiter optimieren !
Unter Berücksichtigung der geometrische Breite der Stereobasis und des Abstands zum Nahpunkt im Sujet lässt sich mit der Maskiertechnik im Nachhinein, also direkt beim Stitchen, die Stereobasis in Grenzen variieren.
Ich verwende diese Technik inzwischen auch zur Basismodulation innerhalb des Stereo-Panos. Bei den meisten Sujets, die ich als Stereo-Panorama abbildete, war der Nahpunkt nicht im Bereich des Äquators, sondern im Polargebiet des Nadirs.
Durch die Form der Maske kann man zum Beispiel die wirksame Stereobasis in einem voll sphärischen Stereo-Panorama derart modulieren, dass sie am Äquator groß und am (naheliegenden) Nadir klein ist. So wird eine große Tiefenwirkung im eigentlichen Sujet erreicht, ohne dass beim stereoskopischen Betrachten des Nadirbereichs die Augen weh tun oder das Stereobild zerfällt.

M24_lNach so viel trockener Theorie stelle ich hier eine "linke" 3Ton-Maske für ein monokulares Setup mit der Fuji X und dem f2,8/8mm Samyang oder dem preiswerten 7artisans-Fisheye f2,8/7,5mm vor.  Die Maske hat genauso viele Pixel wie der 16 Megapixel Fuji-X-Sensor, 3264 x 4896 Pixel.
Ein 360° Panorama mit dem Set hat eine native Breite von 11.400 Pixel. Bei 24 Aufnahmen /360 Grad muss dann ein grüner Streifen am Äquator 11.400/24=475 Pixel breit sein. 
Die Maskenöffnung ist in der PNG-Darstellung der Maske schwarz. Sie sollte etwa doppelt so breit sein, entsprechend 50...75% Bildüberlapp. Der prozentual große Überlapp gewährleistet, dass in den schmalen Überlappbereichen genug Kontrollpunkte gefunden werden.
Die hier gezeigte Sichelform der Maske gewährleistet, dass die Stereobasis am Äquator groß ist und sich zu den Polen hin verjüngt, und dass der große vertikale Bildwinkel in einem omnistereo-Panorama überhaupt möglich ist. 
Linke und rechte Perspektive des Stereo-Panoramas werden mit dem monokularen Setup aus nur einer Aufnahmenserie gestitcht.  Die Maske für die rechte Perspektive ist dabei die gespiegelte Version der linken.
Damit beim Alignment die Kontrollpunkt-Paare ausschließlich in den benachbarten Überlappbereichen gefunden werden, kann man die Stitching-Maske vor dem Alignment laden. Das macht man am besten so, dass man in der "source image"-Ansicht alle Quellbilder aktiviert und mit der rechten Maustaste "load mask" auswählt. (Diese Möglichkeit ist in PTGUI V11B3 noch nicht gegeben aber für die Beta4 zugesichert).
Dann stitcht man die Quellbilder wie gewohnt und generiert mit der linken Maske die linke Perspektive als equirectangulares Panorama (z.B. pano_l) mit definierter Größe, z.B. 10.000 x 5.000 Pixel. Danach generiert man entsprechend die rechte Perspektive mit der rechten Maske, natürlich in der gleichen Auflösung.
In der Praxis ist es sinnvoll, zunächst ein Pre-Alignment der Quellbilder mit einer etwas breiteren, symmetrischen Maske zu machen, auf dem man mit der linken und rechten Maske aufsetzt. Auch die Devignettierung und etwaige Tonwertkorrektueren erfolgen sinnvollerweise nach dem Pre-Alignment und werden danach nicht mehr angefasst.

PTGUI Pro ist ein wirklich geniales Stitchingprogramm !
Es bietet dank der Maskentechnik viele Möglichkeiten, die sich für spezielle Anwendungen nutzen lassen. Mit der nächsten Version PTGUI 11 werden die Fähigkeiten noch einmal wesentlich erweitert, insbesondere durch die genaue Modellierung der Fisheye-Projektion. Damit ließ sich die Anzahl der erforderlichen Aufnahmen für s3D-Panoramen gegenüber der PTGUI V10 bei gleicher Stitchingqualität weiter reduzieren.
Ein Tip: Die PTGUI V11 Beta3 ist verfügbar unter www.ptgui.com/beta

 

Im nächsten Beitrag will ich erklären, wieso die so generierten Panos unterschiedliche Perspektiven darstellen und warum diese nicht zeitlich synchronisiert sind, obwohl sie doch beide aus der einen Aufnahmenserie generiert werden. Auch das Thema Basismodulation werde ich näher erläutern.

 

Für kommerzielle Nutzer biete ich ein ausführliches und sehr fundiertes Personal Training zum Generiern von Stereo-Panoramen an, sowohl für ein monokulares als auch für ein binokulares Aufnahme-Setup.

Neuen Kommentar schreiben