05.11.2013 Aufrufe

Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...

Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...

Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!