Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...
Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...
Inkrementelle Akquisition von 3D-Objektmodellen - Institut für ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
IR-INI 2006–01, c○ 2006 <strong>Institut</strong> <strong>für</strong> Neuroinformatik, Ruhr-Universität Bochum, FRG 53<br />
• je m Matrizen U j = ∑ i AT ij A ij und U ∗ j = U j + λI<br />
• je n Matrizen V i = ∑ j BT ij B ij und V ∗<br />
i<br />
= V i + λI<br />
• nm Matrizen W ij = A T ij B ij<br />
• nm Matrizen Y ij = W ij V ∗−1<br />
i<br />
• m Vektoren ɛ aj<br />
= ∑ i AT ij ɛ ij<br />
• n Vektoren ɛ bi = ∑ j BT ij ɛ ij<br />
Wir können dann die Matrix S aus (8.16) berechnen, indem wir sie als m × m Block-Matrix<br />
definieren mit Blöcken<br />
{<br />
− ∑ i<br />
S jk =<br />
Y ijWik<br />
T <strong>für</strong> j ≠ k<br />
− ∑ i Y ijWik T + U j<br />
∗ <strong>für</strong> j = k<br />
Die rechte Seite der Gleichung stellen wir dar durch einen Vektor e = (e T 1 , ..., e T m) T mit<br />
e j = −ɛ aj + ∑ i<br />
Y ij ɛ bi<br />
Wir können dann die Gleichung<br />
S∆ a = e<br />
nach ∆ a = (∆ T a 1<br />
, ..., ∆ T a m<br />
) T lösen.<br />
Anschließend berechnen wir ∆ b = (∆ T b 1<br />
, ..., ∆ T b m<br />
) T durch<br />
∆ bi<br />
= V ∗−1<br />
i (−ɛ bi − ∑ j<br />
W T ij ∆ aj )<br />
Wir sind völlig analog zu Abschnitt 8.2.3.1 vorgegangen. Das am Ende berechnete ∆ = (∆ T a , ∆ T b )T<br />
ist identisch. Anstatt jedoch wie zuvor mit sehr großen Matrizen zu rechnen, wurden hier jeweils<br />
nur die Blöcke berechnet, die tatsächlich Daten enthalten. Dies bringt enorme Verbesserungen der<br />
Laufzeit mit sich.<br />
Sollte der Rückprojektionsfehler e(p ′ ) = e(p+∆) gegenüber e(p) nicht verringert worden sein, wird<br />
λ erhöht und wir berechnen damit ein neues ∆. Alle <strong>von</strong> λ unabhängigen Werte, also alle A ij , B ij ,<br />
ɛ ij , U j , V i , W ij , ɛ aj und ɛ bi , müssen dabei nicht neu berechnet werden. Nach einer erfolgreichen<br />
Iteration, also einer Verminderung des Rückprojektionsfehlers, wird der neue Parametervektor<br />
p ′ = p + ∆ übernommen und λ <strong>für</strong> den nächsten Iterationsschritt gesenkt. Wir iterieren, bis der<br />
Rückprojektionsfehler in einem Minimum konvergiert.<br />
Für eine ausführlichere Erläuterung des Algorithmus siehe [HZ04].<br />
8.3 Optimierung durch einen evolutionären Algorithmus<br />
Vor allem bei einer schlechten initialen Rekonstruktion hat das Bundle Adjustment den Nachteil,<br />
dass der Rückprojektionsfehler nur bis zu einem lokalen Minimum verringert wird, das meistens<br />
weit entfernt <strong>von</strong> einer optimalen Lösung ist. Daher lohnt es sich, auch eine alternative Methode<br />
zur Optimierung zu berücksichtigen, die lokale Minima überwinden kann – einen evolutionären<br />
Algorithmus.