Spezialitäten mit HUGIN
Rechtwinkelig, zylindrisch, sphärisch ... - im Detail
Architekturaufnahmen
Verzeichnung korrigieren
Der Optimizer im Detail
Stitchen mit enblend/Smartblend
Sphärische Panoramen 360°x180°
Geister jagen

Rechtwinkelig, zylindrisch, sphärisch ... - im Detail
HUGIN, bzw. die Stitcherprogramme bilden die Eingangsbilder (mit den bei der Optimierung gefundenen Parametern) auf eine Fläche ab: sie werden auf die Fläche projiziert, auf die Ebene, die Zylinderfläche oder die Kugelinnenfläche.
Als Projektion kommen verschiedene Arten zur Anwendung. Die bisher, bis vor Version 0.6, in HUGIN vorhandenen: rechtwinkelig, zylindrisch oder equirectangular. Die neuen Projektionen sind meist mathematische Variationen der bisherigen. Zur Veranschaulichung, wieso es zu unterschiedlichen Wirkungen bei der Projektion kommt, betrachten wir die Aufnahmekonfiguration eines Panoramas aus drei Bildern:

Die Abbildung zeigt ein zu photographierendes Motiv, die drei Aufnahmekegel und die zugehörige Bildebene.
Die aufgenommenen Bilder sehen zusammenkopiert so aus:


Rechtwinkelige Projektion
In die Abbildung der Aufnahmekonfiguration kann man die Projektionsfläche (die Ebene) hinzufügen und man erkennt die im Aufnahmekegel verzerrten, projizierten Einzelbilder, die zu dem zugehörigen Panorama zusammengesetzt würden. Hier die Abbildung mit der rectangularen Projektionsfläche:


Schön zu erkennen ist, daß die aussen liegenden Bilder zum Rand hin stärker verzerrt werden.
Rechts das aus der rechtwinkeligen Projektion resultierende Panorama. Bei der rechtwinkeligen/rectangularen Abbildung wird das Panorama so abgebildet, wie ein normales Kameraobjektiv abbildet. Damit werden zum Rand (oben und unten) hin stärker werdende Verzerrung sichtbar. Auffällig wird dies ab einem Bildwinkel von rund 100°. In nebenstehendem Bild sind die Vertikalen und Horizontalen gut sichtbar. Horizontale und Vertikale im Bild werden auch im Panorama horizontal und vertikal abgebildet. Wegen des kleinen Bildwinkels fallen bei diesem Beispiel die Verzerrungen zum Rand kaum ins Gewicht. Der zulässige Bildwinkel ist in der Horizontalen und in der Vertikalen maximal 175°.
Zylindrische und sphärische Projektion
Im Gegensatz dazu sieht die Projektion in den Zylinder oder auch die Kugel anders aus:

Es findet, wie man an dem Bild nachvollziehen kann, keine Verzerrung zum Rand hin statt. Alle drei Bilder werden gleichartig auf die Fläche projiziert. Man kann leicht nachvollziehen, wie ein 'Rundum-Objekt' sich in der Abbildung fortsetzen würde, so wie es bei einem Kugelpanorama der Fall wäre.
Zu 'seltsamen' Bildern kommt es am Monitor, da die Bilder ja wiederum auf den ebenen Monitor projiziert werden. Die realitätsnahe Betrachtung ist ab einem gewissen Blickwinkel bei den nicht ebenen Abbildungen nur als virtuelle Realität z.B. als Quicktime oder als Java-Applet möglich.
Die neuen Projektionen bieten hier schöne Alternativen zur Darstellung auf einer Fläche.
Zylindrisch Nebenstehend das Panorama auf die Fläche eines Zylinders abgebildet. Die Vertikalen im Motiv sind vertikal dargestellt. Es existiert jedoch nur eine richtig dargestellte Horizontale (p=0). Alle Horizontalen oberhalb und unterhalb sind gekrümmt. Der zulässige Bildwinkel ist in der Horizontalen maximal 360° und in der Vertikalen maximal 175°. In der Vertikalen treten zum Rand hin die gleichen Verzerrungen auf, wie bei der rechtwinkeligen Projektion. Somit ist hier als sinnvolle Grenze in der Vertikalen ein Bildwinkel von 100° anzusetzen.
Sphärisch (equirectangular) Die Abbildung auf die Sphäre ist vergleichbar mit der zylindrischen Abbildung, jedoch wird hier auch in der Vertikalen gekrümmt abgebildet. Die Abbildung auf die Kugel (Equirectangulare) erlaubt einen vollständige Rundumblick, also 360° x 180°. Dies ist dann auch der Anwendungszweck der equirectangularen Abbildung. Im Unterschied zur zylindrischen Projektion findet in der Vertikalen keine Streckung statt. Weiterhin gibt es in der Darstellung als einfaches Bild nur eine richtig dargestellte Vertikale und Horizontale . Beide laufen durch den Ankerpunkt (bei y=p=0).
Merkator (zylindrische Projektion) Ist eine Zylinderprojektion mit etwas anderen Verzerrungseigenschaften. Der zulässige Bildwinkel ist in der Horizontalen maximal 360° und in der Vertikalen maximal 175°. In der Vertikalen treten zum Rand hin die gleichen Verzerrungen auf, wie bei der rechtwinkeligen Projektion. Somit ist hier als sinnvolle Grenze in der Vertikalen ein Bildwinkel von 120° anzusetzen.
Transvers Merkator (zylindrische Projektion) Ist die um 90° gedrehte Merkatorprojektion. Der zulässige Bildwinkel ist in der Horizontalen maximal 175° und in der Vertikalen maximal 180°. In der Horizontalen treten zum Rand hin die gleichen Verzerrungen auf, wie bei der Markatorprojektion in der Vertikalen.
Stereographisch (Projektion auf die Ebene) Diese Projektion ist eine Abbildung einer Hemisphäre auf eine Ebene. Bildwinkel über 180° erscheinen nicht sinnvoll, sind aber einstellbar. Es ist eine konforme, winkeltreue Abbildung. Man könnte also Winkel messen.
Vollformat Fisheye So kommt i.d.R. das Bild aus der Kamera, weenn man eine Fisheye Optik verwendet.
Sinosoidal Eine schöne Projektion zur Abbildung der gesamten Sphäre. Sie zeigt starke Verzerrungen der ursprünglichen Formen, zeichnet sich aber mathematisch dadurch aus, daß Flächengößen in der Projektion der Natur entsprechen.
Die mit der Version 0.6 neuen Projektionen sind meist Variationen der bisher bekannten Projektionen. Um die Wirkung zu veranschaulichen, werden die Projektionen anhand eines 360x180 Grad Panoramas gezeigt. Als Referenz ist in das equirectangular projizierte Ergebnis ein Gitter eingebracht.
Sphärisch (equirectangular)
Mercator (zylindrisch)
Transversal Mercator (zylindrisch)
Stereographisch (Projektion auf die Ebene)
Vollformat Fisheye
Sinosoidal
Letztendlich entscheidet der Geschmack über die gewählte Projektion. Man muss sich nur klar darüber sein, welche Verzerrungen wo und wann auftreten, dann ist die richtige Projektion nicht mehr schwer:-).
Eine tiefergehende Betrachtung der Projektionen siehe Referenzen und Links
Architekturaufnahmen
Architekturaufnahmen zeichnen sich i.d.R. dadurch aus, daß die senkrechten und waagerechten Linien im Gebäude auch auf dem Bild als solche abgebildet werden. In der Praxis ist es häufig der Fall, daß Standpunkt und/oder verfügbare Brennweite eine dafür notwendige senkrechte Aufnahme nicht erlauben. Die Kamera muss verschwenkt werden oder es werden mehrer Aufnahmen benötigt. Im Ergebnis liegt ein Bild vor, welches schiefe, stürzenden Linien aufweist. Mit jeder Bildverarbeitung läßt sich die hier anzuwendende Perspektiv-Korrektur durchführen. Mit HUGIN kann diese Perspektiv-Korrektur 'in einem Guß' mit der Panoramaberechnung erfolgen.
Als Beispiel für die Anwendung von HUGIN ist hier ein einzelnes Bild gewählt, welches mit den horizontalen und vertikalen Hilfslinien in der Perspektive korrigiert wird. Zur Korrektur dieser Fehler lassen sich horizontale und/oder vertikale Hilfslinien einführen. Diese Hilfslinien sind Passpunktpaare in einem Bild, die eine im Motiv dargestellt Horizontale oder Vertikale identifizieren. Die Wirkung im Bild hängt von der gewählten Projektion ab:
  • Bei Abbildung auf die Ebene wird jede Vertikale senkrecht ud jede Horizontale waagerecht dargstellt.
  • Auf dem Zylinder wird nur die Horizontale im Ankerpunkt (p=0) waagerecht dargestellt. Alle Vertikale sind senkrecht. -> zylindrisch, Merkator
  • Auf dem um 90 Grad gekippten, transversalen Zylinder wird nur die Vertikale im Ankerpunkt (p=0) gerade dargestellt. Alle Vertikale sind waagerecht. -> transversal Merkator
  • Auf der Sphäre werden nur die Horizontale und Vertikale im Ankerpunkt (y=p=0) waagerecht bzw. senkrecht dargestellt.
  • Bei Sinosoidal, Fisheye, Stereographisch werden nur die Horizontale und Vertikale im Ankerpunkt (y=p=0) waagerecht bzw. senkrecht dargestellt.
Erzeugen der Passpunkte
Die Passpunkte zur perspektivischen Korrektur werden immer paarweise in EINEM Bild erzeugt. Also nicht wie sonst üblich in zwei räumlich aufeinander folgenden Bildern. Es gilt im Bild gut sichtbare senkrechte und waagerechte Strukturen zu suchen, die im Ergebnis als solche zu sehen sein sollen. Die Passpunkt selber werden wie gewohnt angelegt.
Solche Hilfslinien verschieben automatisch den Ankerpunkt. Dem Optimizer muss es erlaubt sein, in allen Achsen der Kamera zu optimieren (y, p, r).

Hier wird nun nur auf das Vorgehen auf dem Passpunkte-Reiter eingegangen. Alle anderen Arbeitsschritte (Bild laden, Kamera- und Objektivparameter einstellen) erfolgen wie gewohnt.

»

  1. Stell die Bildvergrößerung auf '100%'
  2. Deaktiviere 'Automatisches Verfeinern', 'Automatisches Schätzen' und 'Automatisches hinzufügen'
  3. Wähl über die Bildreiter für das linke Fenster und das rechte Fenster das gleiche Bild
  4. Passpunkte werden vom Typ 'vert. Linie' oder 'horiz. Linie' erzeugt
  5. Klick im linken Bild den oberen Punkt einer vertikale Linie im Gebäude an (hier im Beispiel die linke Nikolaus-Hauswand Passpunktpaar-Nr. 0).
  6. Klick im rechten Bild den korrespondierenden Punkt auf der Vertikalen unten an.
  7. Klick mit der rechten Maustaste in das linke oder rechte Bild. Der Passpunkt wird zum Projekt hinzugefügt.
  8. Setze in der Passpunktliste den Modus für den Passpunkt auf 'vert.Linie'. I.d.R erkennt HUGIN selbständig, ob es sich um eine vertikalen oder horizontale Linie handelt.
  9. Erzeuge auf diese Weise eine zweite Hilfslinie

Die horizontalen Hilfslinien werden analog zu den Vertikalen erstellt. Die Wirkung der Hilfslinien ist nach einem Optimierungsvorgang im Vorschaufenster zu ersehen. Rechts das Ergebnis.
Verzeichnung korrigieren
Mit der Version 0.6 liegt eine neue Funktion vor, die es erlaubt, beim Stitchen die Verzeichnung korrigieren zu lassen. Die Verzeichnung, also der durch die Optik bedingte Randlichtabfall, wird durch ein Polynom approximiert und kann mit Kenntnis des für die Linse spezifischen Polynoms beim Stitchen korrigiert werden. Alternativ kann ein Graustufenbild verwendet werden, welches den Lichtabfall als Intensität der Graustufen darstellt. Diese Bild würde beim Stitchen von den Eingangsbildern 'abgezogen' werden.
Zur Bestimmung des Polynoms wird der auf dem zweiten Programmreiter befindliche Schaltknopf 'Parameter ändern' im Abschnitt 'Vignettierung' verwendet. Die Funktion verwendet die richtig orientierten Bilder, bzw. deren Überlappungsbereiche, um den Helligkeitsverlauf zu modellieren. Als Ergebnis kommen die Parameter der Korrekturfunktion heraus.
Zur Nutzung der Funktion muss der Bildverband vollständig optimiert sein (Passpunkt liegen vor, y,p,r, .. sind ermittelt). Sinnvollerweise sollte der Verband aus drei Bildern bestehen, zwei sind aber auch möglich.
Ergebnis einer Parameterschätzung:

Der Optimizer im Detail
Dieser Teil über den Optimizer ist in Teilen eine freie, angepasste vom Autor genehmigte Übersetzung aus dem Englischen. Sie stammt im Original von John Houghton und kann unter http://homepage.ntlworld.com/j.houghton/optitute.htm nachgelesen werden. Das Original bezieht sich auf das graphische Frontend PTGUI und behandelt einige zusätzliche Aspekte, die hier bereits an anderer Stelle betrachtet werden.
Wozu dient der Optimizer
Als erstes ist zu sagen, daß die Verwendung des Optimizers für das Stitchen nicht unbedingt notwendig ist. PTSticher oder Nona führen das Stitchen aus, dies beruht auf einem Script mit Anweisungen (läuft i.d.R.im Hintergrund ab). Das Script beinhaltet, welche Bilder zu stitchen sind, wie ihre Position ist und Informationen zur Optik und dessen Verzerrungseigenschaften. Wenn diese Parameter alle bereits genau bekannt sind (z.B. durch die Verwendung einer kalibrierten Ausrüstung), wird der Optimizer nicht unbedingt benötigt. In den meisten Fällen werden die Parameter jedoch unbekannt sein und der PTOptimizer wird verwendet, um die benötigten Information so genau wie möglich zu bestimmen.
Ist zur Vorverarbeitung der Bilder bereits PTLens eingesetzt worden, sollte/kann auf eine Bestimmung der Objektivfehler (a, b, c, d, e) in HUGIN verzichtet werden.
Wie funktioniert es?
  1. Die Eingabebilder werden auf einer virtuellen Sphäre abgebildet, mit dem Ziel den originalen 360°x180° Kamerablick -oder einen Ausschnitt davon- zu rekonstruieren. Um diese Transformation zu erreichen, müssen die Bilder zusätzlich zur Bildverschiebung um Tonnen- und Kissenverzug korrigiert werden.
  2. Die Position eines jeden Bildes auf der Sphäre wird mit den Parametern Yaw (y), Neigen (p, pitch) und Rollen (r, roll) angegeben. Die Korrektur der Linsenverzerrungen wird kontrolliert von den Parametern a, b und c. Der horizontale Bildwinkel der Optik (hfov) ist ein wesentlicher Parameter, um die Abbildung der Bilder auf die Oberfläche zu berechnen.
  3. Die Bilder werden zurechtgerückt. Wird ein Bild in der Position festgehalten, passt der Optimizer alle anderen Bilder an dieses an um das zusammengesetzte Bild zu erzeugen.
  4. Der Optimizer bestimmt für jedes Bild die optimale Position. Er bestimmt dies unter Beachtung der durch die Parameter gegebenen Bedingungen. Die Kontrollpunkte in den überlappenden Bildbereichen legen fest, wie die Bilder in Hinsicht auf andere Bilder zu positionieren sind. Wenn dem Optimizer alle Freiheiten bezüglich der Bildpositionen geben sind, wird er die Bilder schön zusamensetzen, aber das zusamengesetzte Bild wird irgendwo und irgendwie auf die Sphäre abgebildet werden.
  5. Um ein wenig Kontrolle über den Zusammenfügeprozess zu haben, kann die Position eines oder mehrerer Bilder eingeschränkt werden. Zum Beispiel können die Werte für y, p und r für das zentrale Bild eines Panoramas auf 0 Grad gesetzt werden. Dies wird sicherstellen, daß das zusammengesetzte Bild ungefähr zentriert in der Mitte abgebildet wird. In der Mitte der Sphäre ist y=p=0.
  6. Wenn für die Bilder eine gute, passende Position gefunden ist, dann sollten die Werte für y, p und r sich den Kamerapositionen zum Zeitpunkt der Aufnahme sehr gut annähern. Dies ist die Orientierung der Kamera. Wenn dies erreicht ist, wird der Horizont im Bild mit der Line mit p=0 zusammenfallen (Äquator). Vertikale Objekte werden mit den Linien mit y=const. zusammenfallen (Längengrade)
  7. Der Stitcher benutzt die vom Optimizer (oder manuell) bestimmten Parameter um ein Bild durch Projektion des spährischen Bildes zu erzeugen. Als Projektionsfläche kommen die Ebene, der Zylinder oder die Kugel selber in Frage.
Wie benutzt man den Optimizer?
Man benutzt den Optimizer um zwei verschiedene Ziele zu erreichen: das eine ist, die Bilder so zusammenzufügen, daß sie so genau wie möglich in den Kontrollpunkten ausgerichtet sind; das andere ist, die Position der Bilder auf der virtuellen sphärischen Fläche so einzustellen, daß man den gewünschten Anblick erhält, üblicherweise ein gerader Horizont und senkrechte Vertikale. Bei jedem Optimizer Lauf muss man sich überlegen, was es zu ereichen gilt. Die Parameter sind dementsprechend zu setzen. Normalerweise wird man den Optimizer mehrmals verwenden, um das beste Ergebnis zu erzielen.
Zusammenmontieren der Bilder
Der Optimizer verwendet die aktuelle Anordnung der Bilder/des Bildverbandes (y, p, r für jedes Bild) als Startpunkt. Durch kleine Änderungen an den verschiedenen Parametern versucht er den Bildverband 'passender' zu machen. Er tut dies in wiederkehrenden iterativen Arbeitsschritten. Mit jeder Iteration werden die Parameter verbessert und der Bilderband damit 'passender' gemacht. Für jede neue Iteration werden die Parameter aus dem vorigen Iterationsschritt als Startwerte verwendet. Der Optimizer fährt solang mit der Berechnung fort, bis die Differenzen in den Parametern zweier Iterationsergebnisse kleiner sind als ein intern eingestellter Grenzwert. Der Optimizervorgang kann jederzeit über den 'Abbrechen' Schaltknopf abgebrochen werden oder Ende der Berechnung mit 'Abbruch' verworfen werden.
Das Ergebnis der Berechnung wird nach Übernahme in die Masken im Reiter 'Optimieren' eingetragen.
Die Güte des Optimierungsprozeß wird nach jedem Lauf angezeigt. Die 'Durchschnittliche Kontrollpunktentfernung' die Standardabweichung (ein statistisches Maß) und die maximale Kontrollpunktentfernung sind die Kennwerte der Güte. Alle Angaben sind in der Einheit Pixel. Diese Werte sollte man beachten, um zu kontrollieren, was man tut. Die angegebenen Werte sind in Relation zur Ausgabegröße des Bildes (siehe Reiter 'Zusammenfügen') zu betrachten: wird die Ausgabegröße verdoppelt, verdoppeln sich auch die Kontrollpunktfehler.
Nehmen wir an, die Kontrollpunkte eines Bildverbandes sind gesetzt. Jetzt soll der Optimizer gestartet werden. Normalerweise würde man mit einer Optimierungsvorauswahl beginnen. HUGIN bietet hier in der Auswahlliste im Feld 'Schnelloptimierer' einige Voreinstellungen. Normalerweise wäre 'Position (inkremental von Anker beginnend)' die zu verwendende Wahl. Um die Funktionsweise des Optimizers besser zu zeigen, wird in diesem Fall die Option 'Benutzerdefinierte Parameter unten' ausgewählt.
Wie in der Abbildung zu sehen, sind alle Parameter (y,p,r) für alle Bilder angegeben. In jedem Feld für y, p und r ist die Liste der Bildernummern zu sehen. Jedes mit einem Haken versehene Bild wird im Optimizer berücksichtigt. Die Korrekturparameter für die Linse sind objektivweise angegeben. Zurzeit sind alle Werte auf 0 gesetzt. Das Vorschaubild würde alle Bilder übereinandergelegt in der Mitte der Referenzfläche zeigen.

Hinweis: Bilder, die im Vorschaufenster deaktiviert sind, werden bei entsprechender Einstellung in den Optionen von HUGIN nicht für die Optimierung verwendet. Siehe hierzu den Abschnitt über die Programmeinstellungen von HUGIN.
Nachdem der Optimizer fertig ist, meldet er ein gutes Ergebnis (gemessen an der Kontrollpunktentfernung), aber die Positionen der Bilder ist nicht das Ergebnis, das wir erreichen wollen.
Der mittlere Kontrollpunktabstand ist zwar ein nützlicher Indikator dafür, wie gut die Bilder in den Passpunkten 'zurechtgerückt' wurden; dies ist aber nicht das einzige Maß für die Qualität des Optimizerlaufes. Erinnern wir uns, daß wir zum einen eine gute Ausrichtung der Bilder anhand der Passpunkte erreichen wollen, aber auch eine Abbildung, die die Aufnahmesituation annähernd wiedergibt. Deshalb ist es üblich, dem Optimizer ein paar Hinweise zu geben, zum Beispiel dadurch, daß die Startposition eines oder mehrerer Bilder vorab manuell festgelegt wird (Reiter 'Bilder' Masken Yaw, Neigung, Rollen). Dies erleichtert den Optimierungsprozess und führt schneller zu dem gewünschten Ergebnis. Durch Festlegung der Startposition eines Bildes und Verbot für den Optimizer dieses Bild zu bewegen, wird dem Optimizer weniger Freiheit gelassen, da er an das festgelegte Bild die anderen bestanschliessend anknüpfen muss.
In der Praxis bedeutet dies i.d.R., das Bild in der Mitte des Bildverbandes auszuwählen und die Werte y=p=r=0 zu setzen (Reiter 'Bilder') und im Optimizer dieses Bild von dem Optimierungsprozess auszunehmen (die Häkchen in den Boxen für das Bild müssen entfernt werden. In obiger Abbildung zum Beispiel die Häckchen bei Bild 5). Dieses Bild ist dann der 'Anker' oder das 'Ankerbild'. (Unter Hugin wird dies im Reiter 'Bilder' festgelegt und bei der Verwendung der vordefinierten Optimierungsaufgaben berücksichtigt). Der Optimizer erzeugt ein etwas besseres Ergebnis, wie rechts zu sehen ist.
Die Neigung des Ankerbildes hat einen direkten Einfluss auf die Horizontlinie. Normalerweise soll diese gerade sein. Die Animation zeigt, was passiert, wenn die Neigung des Ankerbildes zwischen -5 und +25 Grad variiert wird.
Wenn man weiss, daß die Kamera um ca. 15 Grad nach oben geneigt war, dann kann man dies als Startwert für das Ankerbild festlegen. Auf dem Reiter 'Bilder' ist für die Neigung des Ankerbildes der Wert 15 einzutragen. Dies liefert als Ergebnis das rechte Bild. Das Fadenkreuz im Voransichtsbild zeigt den Referenzpunkt laut Ankerbild. Dieser kann im Reiter 'Bilder' über die Schaltfläche 'Ankerpunkt ändern' direkt eingestellt werden.
Eine direkte Änderung des Ankerpunktes ändert sofort die zugehörigen Werte für y, p und r. Damit sich dies im Bildverband auswirkt, muss der Optimizer nochmals gestartet werden, wobei das Bild mit dem Ankerpunkt in den Parametern y, p und r natürlich nicht optimiert werden darf. Die gleichzeitige Verwendung von Zwangslinien (horizontale und vertikale Hilfslinien zur Ausrichtung des Bildverbandes) führt hier zu gegensätzlichen Effekten (s.u.).
Bei einer Änderung des Ankerbildes ist zu beachten, daß die Werte für y, p und r für das neue Ankerbild entsprechend neu eingestellt werden müssen und daß diese Werte ggf. nicht mitgeschätzt werden sollen. Vergisst man die Rückstellung der Werte für das neue Ankerbild, konvergiert der Optimierungsprozess evtl. an einer falschen Stellen und der Bildverband kann nicht wunschgemäß positioniert werden.
Die Optimierung der Linsenkorrekturparameter hängt von der verwendeten Optik ab. Normalerweise ist die Bestimmung der Parameter für die Verzerrungen nicht unbedingt notwendig, dies hängt jedoch vom Einsatzzweck ab. Bei einer starken Weitwinkeloptik ist die Bestimmung von a und b sinnvoll. Der Parameter c ist selten mitzuschätzen. Die Werte für d und e (dezentrierte Optik) sind ebenfalls selten relevant, es sei denn, daß die verwendete Optik eben diese Schwächen aufweist. Bei sphärischen Panoramen und bei Fisheye-Objektiven ist die Ermittlung der Korrekturparameter meisten notwendig.
Wurde in der Vorverarbeitung der Bilder bereits PTLens eingesetzt, dann sind die Bilder um die Fehler der Optik korrigiert, sodaß eine Bestimmung der Werte für a, b, c, d und e entfallen kann.
Die Schätzung der Linsenkorrekturparameter sollte nur mit ausreichend gut verteilten Passpunkten und nach der 'Grundoptimierung' des Panoramas erfolgen (y, p, r liegen fest). Hinweis: Die Werte für die Verzerrungen sollten für den Fall einer manuellen Eingabe auf dem Reiter 'Kamera und Objektiv' nicht auf 0 sondern auf 0,00001 gesetzt werden, da sonst (bei 0) die Bestimmung eben dieser Werte nicht funktioniert.
Zuammenfassend kann gesagt werden, daß mit dem Optimizer ein gut zusamengefügter Bildverband schnell kaputt gespielt werden kann:-). Für normale Panoramen sollten die anschliessend behandelten Schnelloptimierungen verwendet werden.
Voreinstellungen des Schnelloptimierers
HUGIN bietet unter dem Begriff 'Schnelloptimierer' einige Voreinstellungen an, die den Optimierungsprozess vereinfachen sollen. Hier gibt es u.a.
  • Position (inkremental von Anker beginnend) Dies sollte die Standardwahl sein. Der Optimierungsprozess startet am Ankerbild und passt ein Bild nach dem anderen an. Die Werte y, p, r werden für alle Bilder ausser dem Anker bestimmt.
  • Positionen und Tonnenverzeichnung (y, p, r, b) Liegen Optiken mit leichten Verzerrungen vor, kann nach dem Optimizerrlauf mit 'Position inkremental' die Tonnenverzerrung mitgeschätzt werden.
  • Benutzerdefinierte Parameter unten Für die freie Steuerung des Optimierungsprozesses notwendig. Es lassen sich alle Parameter einstellen und auswählen.
Zwangslinien und der Optimizer
Werden Zwangslinien verwendet, um zum Beispiel den Horizont im Bildverband auch horizontal in der Abbildung zu erhalten, muss darauf geachtet werden, daß die Werte p und r des Ankerbildes im Optimierungsprozess mitgeschätzt werden. Bekommt der Optimizer nicht die Erlaubnis dazu, kann er den Bildverband nicht so 'hinrücken', daß der Horizont auch waagerecht wird. Je nach gewählter Projektion zeigen die Zwangslinien in der Voransicht direkt Wirkung.
  • Bei Abbildung auf die Ebene wird jede Vertikale senkrecht und jede Horizontale waagerecht dargstellt.
  • Auf dem Zylinder wird nur die Horizontale im Ankerpunkt (p=0) waagerecht dargestellt. Alle Vertikalen sind senkrecht.
  • Auf der Sphäre werden nur die Horizontale und Vertikale im Ankerpunkt (y=p=0) waagerecht bzw. senkrecht dargestellt.
Stitchen mit Enblend
Zusammennähen mit Enblend - wozu?
Der eingebaute Stitcher von HUGIN arbeitet i.d.R. ganz gut. Die besseren Übergänge zwischen den einzelnen Bildern sind aber mit Enblend zu erreichen. Alternativ kann Smartblend verwendet werden. Dieses Programm wird hier icht näher erläutert, da es analog zu enblend verwendet wird. Im Abschnitt Referenzen und Links ist ein Link auf Smartblend vorhanden.
Was ist Enblend?
Enblend ist ein prinzipiell von HUGIN unabhängiges Kommandozeilen-Programm. Es blendet überlappende Bilder so zusammen, daß im Ausgabebild keine Übergänge zu erkennen sind. Wie das im Detail funktioniert, ist unter Enblend interna nachzulesen.
Wie wird Enblend verwendet?
Wie schon oben geschrieben, kann Enblend in der Kommandozeile verwendet werden. HUGIN ermöglicht die Ansteuerung von Enblend, für Standardanwendungen ist dies hinreichend. Nur für Aufgaben, bei denen man direkteren Einfluß auf den Blendvorgang haben möchte, sollte man sich der Kommandozeile bedienen.
Alternativ kann die auf .Net basierte Benutzeroberfläche EnblendGUI verwendet werden (siehe Referenzen und Links).
Wenn die Vorarbeiten mit HUGIN erledigt sind, sodaß das Panorama erzeugt werden kann, muss man nur noch auf dem Programmreiter 'Zusammenfügen' die richtigen Optionen auswählen. Dafür muss
  1. als Stitcher das Programm 'Nona' eingestellt werden
  2. als Ausgabeformat 'TIFF' gewählt werden
  3. die Option 'Weicher Übergang...' angewählt werden

HUGIN erzeugt mit Nona die Einzelbider im Tiff-Format und übergibt diese an Enblend. Fertig. Je nach eingestellter Programmoption von HUGIN bleiben die Einzelbilder im Ausgabeverzeichnis liegen.
Wie wird Enblend extern verwendet?
Analog zu obiger Vorgehensweise ist als Ausgabeformat 'Mehrfach Tiff' zu wählen. Hugin erzeugt nur die Ausgabebilder im angegebenen Verzeichnis. Danach ist in der Kommandozeile in dem Ausgabeverzeichnis der Befehl
enblend -o output.tif input1.tif input2.tif ...
auszuführen. (Wenn dies nicht funktioniert ist der Pfad auf das Programm im Betriebssystem nicht gesetzt.) Hierbei wird das Ausgabebild mit der Option -o bezeichnet und die zu überblendenden Bilder einzeln aufgelistet. Alternativ können die Eingabebilder auch mit Platzhaltern benannt werden. Analog zu obiger Eingabezeile kann folgendes geschrieben werden:
enblend -o output.tif input*.tif
Handelt es sich um ein 360° Panorama, dann sollte der Schalter -w Anwendung finden. Dieser sorgt dafür, daß am Übergang von 360° auf 0° auch überblendet wird. (Dieser Schalter wird bei der internen Verwendung über HUGIN automatisch gesetzt.)
Für das Überblenden ist es wichtig, daß Enblend die Bilder in der richtigen Reihenfolge bearbeitet. Richtige Reihenfolge meint die Reihenfolge der Bilder im Bildverband. Wenn diese nicht über die Numerierung der Bilder gewährleistet ist, dann sind die Eingabebilder in der richtigen Reihenfolge explizit in der Kammanodzeile anzugeben (siehe erste Variante der Kommandozeile oben.)
Durch die externe Verwendung von Enblend hat die Möglichkeit, die von HUGIN ausgegebenen Bilder vor dem Überblenden mit einer Bildverarbeitung zu modifizieren. Dies ist zum Beispiel der Fall, wenn man Personen im Überlappungsbereich entfernen möchte ('Geister jagen'). Wie dies funktioniert, wird weiter unten im Abschnitt Geister jagen behandelt.
Sphärische Panoramen 360°x180°
Wie wird ein sphärisches Panorama erstellt? Der Arbeitsablauf wird in diesem Abschnitt an einem Beispiel dargestellt. Es wird auf die detaillierte Darstellung an den Stellen verzichtet, an denen die Vorgehensweise analog zu einem Standardpanorama ist. Wer an der grundsätzlichen Arbeitsweise von HUGIN interessiert ist, sollte sich vorerst mit dem Abschnitt Panorama-Erstellung im Detail beschäftigen.
Bei den Beispielbildern handelt es sich um acht Fisheyebilder aufgenommen von einem Einbein. Die ersten sechs Bilder sind horizontal in 60° Schritten aufgenommen. Die beiden letzten Bilder sind das Zenit- und Nadirbild (einmal Himmel und einmal Boden). Die Beispielbilder sind hier zu finden. Hier werden sechs plus zwei Bilder verwendet. Es ist auch möglich, das Panorama mit drei oder vier Bildern zu erstellen. Der Nadir und Zenit ist nicht unbedingt notwendig, da er (je nach Motiv) auch mittels 'Stempelfunktion' der Bildverarbeitung erzeugt werden kann. Übliche Aufnahmekonfigurationen sind:
  • Sechs Bilder horizontal plus Nadir und Zenit, Fisheye
  • Vier Bilder horizontal plus Nadir und Zenit, Fisheye
  • Sechs Bilder horizontal, Fisheye
  • Vier Bilder horizontal, Fisheye
  • Ganz viele Bilder als Multirow, wenn kein Fisheye verfügbar ....
Prinzipiell ist es egal mit welcher Optik ein sphärisches Panorama erstellt wird. Je kleiner der Bildwinkel der Optik, desto mehr Bilder müssen erstellt werden.
Arbeitsschritte
Im Überblick sind die Schritte dargestellt, die normalerweise für die Erstellung eines sphärischen Panoramas anfallen:
  1. Bilder machen
  2. Bilder in HUGIN einladen
  3. Passpunkte bestimmen
  4. Kennwerte für die Optik einstellen (Fisheye)
  5. Beschnitt (Crop) für die Bilder einstellen
  6. Optimizer
  7. Feintuning an Passpunkten und Optimizer
  8. Mehrfach TIFF ausgeben
  9. Einzelbilder per EBV nachbearbeiten
  10. Blenden mit Enblend (SmartBlend)
  11. Zenit und Nadir ggf. mittels PTViewer editieren/korrigieren
Bilder machen
... was soll man dazu noch schreiben? Die häufigen Kombinationen sind oben genannt.
Bilder in HUGIN einladen
Nach dem Einladen wird das erste Bild in der Reihe als Ankerbild festgelegt, d.h., daß im Bearbeitungsprozess alle anderen Bilder an dieses Ankerbild angepasst werden. Hier kann jedes Bild mit horizontaler Visur als Anker verwendet werden.
Passpunkte bestimmen
Ob mit Autopano oder Autopano-SIFT gearbeitet wird, ist bei der automatischen Bestimmung der Passpunkte egal. Es ist mitunter ratsam, die Optionen für das jeweilige Programm abzuändern, damit die Passpunkte nicht nur in der Mitte der Bilder erzeugt werden. In den Einstellungen von HUGIN können die Parameter für den Programmaufruf konfiguriert werden (Parameter '-n' bzw. /'validation:3'; siehe Programmeinstellungen von HUGIN).

»Bei den Beispielbildern wird für das Zenitbild wahrscheinlich kein Passpunkt gefunden. Diese sind manuell zu erzeugen. (Bild02.jpg und Bild04.jpg bieten Passpunkte zum Zenitbild).

Kennwerte für die Optik einstellen (Fisheye)
Auf dem zweiten Reiter 'Kamera und Objektiv' werden Startparameter für den Blickwinkel eines jeden Bildes, der Typ des Objektives und die Korrekturparameter der Optik eingestellt.

Der Typ des verwendeten Objektives muss hier eingestellt werden. Die Designparamter beinhalten den Bildwinkel (v) die Brennweite und Beschnittfaktor (Cropfaktor). Standardmäßig wird hier die reale Brennweite und der Cropfaktor der Kamera angegeben. Alternativ könnte auch direkt der Bildwinkel oder die bereits auf 1 normiert Brennweite (KB-Äquivalent) eingegeben werden.

» Für das vorliegende Beispiel wird 'Fischauge kreisförmig' ausgewählt, als Brennweite 8mm bei einem Crop von 1,6.

Beschnitt (Crop) für die Bilder einstellen
Die Verschiebung der Bildmitte tritt in der Praxis meist als Dezentrierung des Objektives auf. (Bei meinem Peleng ist das sichtbar).

Über die Schaltfläche 'Zuschneiden' ist ein Beschnitt für jedes Bild getrennt! einstellbar. Hiermit können die schwarzen Ecken des zikularen Fisheye weggeschnitten werden, damit diese bei der Ausgabe des Panoramas nicht stören.
Zur Einstellung des Beschnittes sind ALLE Bilder in der Bilderliste zu markieren und dann die Schaltfläche 'Zuschneiden' auszuwählen. Rechts zu sehen ist die Auswahl des Beschnittes mit der Maus. Die Option 'Zuschnitt immer auf d, e zentrieren' sollte ausgewählt werden, damit später der Beschnitt auf das Zentrum bezogen wird (Bei starker Denzentrierung wichtig).
Die Parameter a, b, c, d und e werden für ein Fisheye im zweiten Optimizerdurchgang mitgeschätzt.
Optimizer
Als Optimierer-Option kann i.d.R. mit 'Positionen (inkrementell vom Anker beginnend)' begonnen werden. Der Beispielbildersatz sieht nach der Optimierung (deaktivierter Zenit und Nadir) so aus:

» Wähle als Optimierer-Option 'Positionen (inkrementell vom Anker beginnend)'.

Hilfe... wenn die Bilder mit obiger Option nicht zusammenpassen wollen, dann sollte der Optimizer manuell bedient werden. D. h., daß das zweite Bild in y, p, und r optimiert wird. Passt es in der Vorschau zum ersten Bild, wird das dritte Bild in y, p und r optimiert (Parameter für Bild zwei wieder ausschalten!). So wird ein Bild nach dem Anderen an den scchon guten Verband angegliedert. Damit sollte das Panorama zu bestimmen sein. Sind alle Bilder grundsätzlich in Ordnung kann mit der Optimierung im zweiten Schritt fortgefahren werden.
Feintuning an Passpunkten und Optimizer
Ist das Panorama grundsätzlich in Ordnung kann mit der Feinabstimmung begonnen werden. Dies beeinhaltet nochmal die Kontrolle der Passpunkte bzgl. der Restfehler und manuelle Optimierung der Parameter a, b, c, d, e und v. Ob nun a, b, und c optimiert werden sollen, hängt von der verwendeten Optik ab. Im Beispiel werden nur a und b geschätzt.

» Im Optimizer wird dazu die Schnelloptimieroption 'benutzerdefinierte Parameter unten' ausgewählt und die Auswahlboxen der jeweiligen Parameter (a, b, c, d, e und v) angeklickt.

Nach dem Optimizer sieht das Vorschaubild wesentlich besser aus, was man am Vergleich des rot markierten Bereiches mit dem Vorschaubild oben nachvollziehen kann. Hier das Vorschaubild mit Nadir und Zenit:

Mehrfach TIFF ausgeben
Da die Bilder mitunter noch nachbearbeitet werden müssen (Geister jagen, Lens-Flare entfernen, ...) ist es meist anzuraten, von HUGIN Einzelbilder im TIFF Format auszugeben um nach der EBV den Enblend-Vorgnag manuell zu starten.
Als Sticher muss NONA verwedet werden, da der PTStitcher mit dem Beschnitt der Bilder nicht zurecht kommt.

» Für das sphärische Panorama ist der Wert vfov=180 und hfov=360. Die Projektion ist mit 'spährisch (equirectangular)' einzustellen. Nona ist als Stitcher auszuwählen.

Einzelbilder per EBV nachbearbeiten
Treten Geister oder andere störende Bildelemente auf, dann können die EInzelbilder per EBV nachbearbeitet werden. Im Fall der Beispielbilder ist der Photograph aus dem Nadirbild zu löschen. Über den Beschnitt in HUGIN sind alle anderen störenden Dinge (Hände, ...) bereits weg. Nach der Bearbeitung sind die einzelnen Ebenen/Bilder wieder abzuspeichern. Anbei die Löschung meiner selbst:-).

Hinweis Für die Nutzer von GIMP gibt es hier ein Script, welches die Abspeicherung von Ebenen in einzelne Dateien automatisiert.
Blenden mit Enblend
Die Bilder nach EBV oder auch direkt aus HUGIN sind per Enblend zusammenzufügen. Mit der Kommandozeile
enblend -o output.tif -w input*.tif
wird das Panorama erzeugt.
Zenit und Nadir ggf. mittels PTViewer editieren/korrigieren
Treten nach dem Zusammenfügen noch Probleme mit störenden Bildteilen auf (im Beispiel ein Lcoh im Boden), dann kann das Programm PTEditor angewendet werden. Der PTEditor gehört zu den Panotools und ist im Installationspaket der selbigen enthalten.
Der PTEditor ist eine Java-Applikation, benötigt also eine Java-Laufzeitumgebung. Damit das Programm bei großen Panoramen funktioniert, ist den Hinweisen hier How_to_allocate_enough_RAM_for_PTEditorzu folgen.
Die Anwendung des PTEditors gliedert sich wie folgt:
  1. PTEditor starten
  2. Panorama laden
  3. Fehlerhaften Bildbereich einstellen
  4. Teilbild als Datei extrahieren
  5. Per EBV bearbeiten
  6. Teilbild wieder einladen
  7. Panorama speichern
Wenn man den PTEditor startet, kann ein Bild mit 'File-> Open Panorama' geöffnet werden. Mit den Pfeiltasten der Tastatur oder der Maus kann im Panorama navigiert werden. Die Tasten '+' und '-' zoomen das Bild.
Über das Menü ist mit 'Edit-> Extract Partial View' die aktuelle Ansicht in eine Datei zuschreiben.
Achtung: Der Bildausschnitt im PTEditor darf jetzt nicht mehr geändert werden.
In der Bildverarbeitung der Wahl ist jetzt das extrahiert Bild zu bearbeiten. Hier muss das Loch im Boden gestopft werden.
Über den Menüpunkt 'Edit-> Insert Saved View' wird das geänderte Teilbild wieder eingeladen und in das Panorama eingepasst. Das Panorama ist jetzt noch zu speichern - fertig!
Das Ergebnis der Bemühungen sollte in etwa so aussehen:

Jetzt gilt es nur noch die geeignete Präsentationsform für das Panorama zu finden... davon aber an anderer Stelle auf dieser Seite!
Geister jagen
Geister jagen kann sich zur Besessenheit entwickeln:-)...
Was sind Geister? Geister sind Bildteile die sich in zwei oder mehr Bildern an unterschiedlicher Stelle befinden, weil sie zwischen den Aufnahmen ihre absolute Position geändert haben. Häufig tritt dies bei Personen oder Fahrzeugen auf. Im Stitchingprozess würden Doppelbilder entstehen, da die Software nicht wissen kann, welches Objekt das gewollte ist. Das Programm Smartblend soll hier gute Ergebnisse liefern. Wenn man den Prozess aber steuern will, bleibt nur die Jagd.
Voraussetzung -egal für welches Verfahren- ist, daß in zwei Bildern der gleiche Motivausschnitt abgebildet wird. Einmal mit der 'Störung' und im zweiten Bild mit dem gewollten Bildinhalt. Ist dies nicht gegeben, bleibt nur der Griff in die Werkzeugkiste des Bildverarbeitungsprogrammes.
Wie geht das jetzt mit der Jagd?
Der Panorama-Prozess wird wie gewohnt durchlaufen. Der letzte reguläre Arbeitsschritt ist die Ausgabe in einzelne TIFF-Bilder auf dem Reiter 'Zusammenfügen'.
  • Die Einzel-Tiffs werden im gewohnten Bildverarbeitungsprogramm geladen. Idealerweise als überlagerte Ebenen eines Bildes.
  • In den jeweiligen Ebenen werden die nicht gewünschten Bildteile gelöscht/ausradiert, sodaß es transparent ist. Dies geht nur, wenn in einer anderen Ebene der entsprechende Bildteil mit neutraler/besserer Textur vorhanden ist. In der Zusammenschau der Ebenen kann das Ergebnis in etwa kontrolliert werden.
  • Ausgabe der Ebenen in Einzelbilder
  • Zusammenfügen mit Enblend oder Smartblend. Beide Programm erkennen Transparenz als nicht vorhande Bildinformation und es wird ein Bereich aus dem anderen Bild verwendet.
Geisterjagd im Beispiel
Als Beispiel sind hier drei Bilder der gleichen Szene gegeben. Im Ergebnis sollen nur die drei rot markierten Personen zu sehen sein. Die anderen Personen im Treppenbereich sollen durch Ausradieren im Ergebnis nicht sichtbar sein.
Die Eingangsbilder

Per EBV bearbeitete Einzel-TIFFs. Die gelöschten Bildbereiche sind hier weiss dargestellt. Im richtigen Bild jedoch notwendigerweise transparent.


Das Ergebnis nach der Ausgabe in TIFF und zusammenfassen mit Enblend:

Das wars. Nun allzeit einen guten Radierer und viel Spaß beim jagen.





[[--zurück]]
[[weiter--]