Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...
Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...
Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
50 IR-INI 2006–01, c○ 2006 <strong>Institut</strong> <strong>für</strong> Neuroinformatik, Ruhr-Universität Bochum, FRG<br />
8.2.1.4 Levenberg-Marquardt-Algorithmus<br />
Mit dem Levenberg-Marquardt-Algorithmus wird versucht, die Vorteile des Gradientenabstiegs und<br />
des Gauß-Newton-Verfahrens zu verbinden. Die Update-Gleichung im Gradientenabstieg (8.7) mit<br />
(8.6) lässt sich ausdrücken durch<br />
λ∆ = −J T ɛ(p 0 )<br />
In dieser Gleichung bewirkt ein kleines λ eine große Schrittweite, es ist das multiplikative Inverse<br />
des λ aus (8.7). Die Update-Gleichung im Gauß-Newton-Verfahren (8.10) mit (8.6) und (8.12) lässt<br />
sich ausdrücken durch<br />
J T J∆ = −J T ɛ(p 0 )<br />
Beides wird nun kombiniert zu<br />
(J T J + λI)∆ = −J T ɛ(p 0 ) (8.13)<br />
I ist die Identitätsmatrix. Durch den Parameter λ bewegt sich diese Gleichung zwischen einem Gradientenabstieg,<br />
dessen Schrittweite gleichzeitig durch λ bestimmt wird, und dem Gauß-Newton-<br />
Verfahren. Kann der Funktionswert in einem Iterationsschritt nicht vermindert werden, wird λ<br />
erhöht, um in die Nähe des Gradientenabstiegs zu kommen, der <strong>für</strong> eine ausreichend kleine Schrittweite<br />
eine Verringerung garantiert. Die Schrittweite wird durch Erhöhung <strong>von</strong> λ gleichzeitig verkleinert.<br />
Nach einem erfolgreichen Iterationsschritt dagegen wird λ gesenkt, um <strong>von</strong> der schnelleren<br />
Konvergenz des Gauß-Newton-Verfahrens zu profitieren.<br />
Für die Anpassung <strong>von</strong> λ existieren verschiedene Strategien. Üblich ist z. B. ein Startwert λ = 0.001<br />
und eine Verringerung bzw. Erhöhung jeweils um den Faktor 10.<br />
8.2.2 Anwendung des Levenberg-Marquardt-Algorithmus beim Bundle<br />
Adjustment<br />
Der Levenberg-Marquardt-Algorithmus wurde in Abschnitt 8.2.1 so beschrieben, dass er sich auf<br />
das durch (8.2) gegebene Minimierungsproblem problemlos anwenden lässt. Die Parameter, die<br />
wir anpassen wollen, sind die in einer initialen Rekonstruktion (nach Abschnitt 7.3.2) berechneten<br />
Kameras und Raumpunkte. Im Folgenden bezeichnen wir mit Kameraparameter die berechneten<br />
Einträge der Kameramatrizen und mit Punktparameter die berechneten Koordinaten der Raumpunkte.<br />
Die Anzahl der verwendeten Bilder und damit Kameramatrizen sei m, die Anzahl der<br />
berechneten Raumpunkte n. Wir fassen die Kamera- und Punktparameter in einem Parametervektor<br />
p 0 der Länge 12m + 4n zusammen. Aus den inhomogenen Koordinaten aller gemessener<br />
Bildpunkte erstellen wir den Zielvektor z der Länge 2mn. In z sind zu allen Raumpunkten die<br />
gemessenen Bildpunkte in jedem Bild verzeichnet. Ist ein Raumpunkt in einem Bild nicht sichtbar,<br />
werden die entsprechenden Einträge im Vektor auf Null gesetzt. Wir verwenden im Vektor<br />
der Bildkoordinaten inhomogene Koordinaten, da der Algorithmus ansonsten unter zusätzlichem<br />
Rechenaufwand die Skalierungen der homogenen Bildkoordinaten angleichen würde.<br />
Wir benötigen eine Routine, die aus dem Parametervektor p einen Vektor f(p) berechnet, in dem<br />
die inhomogenen Koordinaten aller aus den Parametern berechneten Bildpunkte stehen, in der gleichen<br />
Reihenfolge wie im Zielvektor z. Diese Routine lässt sich einfach erstellen. Zur Berechnung<br />
eines Bildpunktes werden aus dem Parametervektor die Einträge der entsprechenden Kameramatrix<br />
und die Koordinaten des entsprechenden Raumpunktes gewonnen und durch (2.7) die homogenen<br />
Koordinaten der Projektion berechnet und in inhomogene Koordinaten umgerechnet. Die Bildkoordinaten<br />
eines nicht sichtbaren Raumpunktes werden auch hier auf Null gesetzt.<br />
Damit haben wir die Gleichung (8.3) modelliert und können <strong>für</strong> die initiale Rekonstruktion (8.4)<br />
und (8.5) einfach berechnen. Die Fehlernorm e(p) aus (8.5) entspricht dann bis auf den konstanten<br />
Faktor 1/2 genau dem Rückprojektionsfehler (8.1), da die Summe der quadrierten euklidischen