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.

IR-INI 2006–01, c○ 2006 <strong>Institut</strong> <strong>für</strong> Neuroinformatik, Ruhr-Universität Bochum, FRG 51<br />

Distanzen genau der Summe der quadrierten Differenzen der einzelnen Koordinaten entspricht.<br />

Die Jacobi-Matrix J berechnen wir numerisch. Ihre Spalten bestehen aus partiellen Ableitungen<br />

∂f<br />

∂p i<br />

die numerisch berechnet werden durch<br />

f(p) − f(p ′ i)<br />

δ<br />

mit δ ∈ R, δ sollte in der Größenordnung 10 −4 bewählt werden. p ′ i geht aus p hervor, indem<br />

der i-te Parameter um δ auf p ′ i = p i + δ erhöht wird. Die Einträge der Jacobi-Matrix, die auf die<br />

Projektionen nicht sichtbarer Raumpunkte bezogen sind, werden auf Null gesetzt.<br />

Somit können wir Gleichung (8.13) aufstellen, nach ∆ lösen und damit den Levenberg-Marquardt-<br />

Algorithmus anwenden. Diese Berechnung ist jedoch aufgrund der großen Jacobi-Matrix J sehr<br />

aufwändig.<br />

8.2.3 Eine schnelle Variante des Levenberg-Marquardt-Algorithmus <strong>für</strong><br />

das Bundle Adjustment<br />

Der in Abschnitt 8.2.2 vorgestellte Algorithmus soll nun so modifiziert werden, dass er in akzeptabler<br />

Laufzeit ausgeführt werden kann. Dies wird dadurch möglich, dass die Jacobi-Matrix eine<br />

spärlich besetzte Matrix ist und wir das ausnutzen können.<br />

Im Folgenden sei x unser Zielvektor, also der Vektor der gemessenen Bildpunkte, und ˆx = f(p) sei<br />

der Vektor der aus den Parametern berechneten Bildpunkte. x und ˆx sind also zusammengesetzt<br />

aus 2 × 1 - Vektoren x ij bzw. ˆx ij , die die gemessenen bzw. berechneten Bildpunkte im j-ten Bild<br />

zum i-ten Raumpunkt repräsentieren. Der Fehlervektor an der Stelle p wird kurz als ɛ bezeichnet<br />

und ist aus Vektoren ɛ ij zusammengesetzt, die die Differenz zwischen x ij und ˆx ij angeben.<br />

Der erste Schritt des Algorithmus liegt in einer Partitionierung der Parameter.<br />

8.2.3.1 Partitionierung der Parameter<br />

Wir partitionieren den Parametervektor p durch p = (a T , b T ) T in zwei Vektoren a und b, so dass<br />

a die Kameraparameter enthält und b die Raumkoordinaten der Punkte. Dadurch partitioniert<br />

sich auch ∆ in ∆ = (∆ T a , ∆ T b )T . Die Jacobi-Matrix J = ∂f<br />

∂p<br />

hat dann die Form J = [ A | B ] mit<br />

und<br />

A = ∂f<br />

∂a<br />

B = ∂f<br />

∂b<br />

Dadurch nimmt Gleichung (8.13) folgende Form an:<br />

[( ) ] ( ) ( )<br />

A T A A T B<br />

∆a A<br />

B T A B T + λI = −<br />

T ɛ<br />

B<br />

∆ b B T ɛ<br />

Dies können wir schreiben als<br />

( ) ( ) ( )<br />

U<br />

∗<br />

W ∆a ɛA<br />

W T V ∗ = −<br />

∆ b ɛ B<br />

(8.14)<br />

mit U = A T A, V = B T B, W = A T B, ɛ A = A T ɛ und ɛ B = B T ɛ. U ∗ und V ∗ gehen aus U und V<br />

hervor, indem ihre diagonalen Einträge mit dem Faktor 1 + λ multipliziert werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!