Seite 1 von 1
[DBV 2] DLT Algorithmus
Verfasst: Mi 5. Sep 2012, 14:27
von ice86
Ich steig bei dem Ding irgendwie nicht durch -.-
Kann mir da jemand vllt auf die Sprünge helfen? Den mal mit eigenen Worten erklären?
Re: [DBV 2] DLT Algorithmus
Verfasst: Mi 5. Sep 2012, 18:14
von r0n1N
Hier jetzt mal bezogen auf die Homographien:
1) du weißt: x' = H*x
2) dann weißt du auf Grund der homogenen Koordinaten zum Beispiel, dass auch gelten muss: x' x H*x = 0 (wobei ich hier das Kreuzprodukt meine)
3) Dieses Kreuzprodukt schreibst du aus und formulierst es als Matrix-Vektor-Produkt um, so dass du folgendes erhälst: A*h=0 (wobei A hier ne 2x9-Matrix ist und h die gesuchten Komponenten deiner H-Matrix enthält, eigentlich wäre A ne 3x9-Matrix, aber nur zwei der drei Zeilen sind linear unabhängig, von daher helfen die dir bei der Suche nach der Lösung nicht)
4) da du jetzt aber erst 2 Gleichungen hast aber 8 Unbekannte (einen der neun könntest du ja frei wählen, weil wir nur 8 DoF haben) musst du dir nen paar mehr Punktkorrespondenzen hernehmen: jetzt hast du ne 2n*9-Matrix
5) die gleichung A*h = 0 (mit A als 2n*9-Matrix) kannst du jetzt minimieren: ||Ah||--> min; das machst du (wie im Kapitel Bewegungsschätzung) entweder mit dem Tensor

oder halt numerisch stabiler mit der Singularwertzerlegung
6) jetzt bist du soweit fertig und hast die Einträge deiner H-Matrix
Hoffe das hilft ein wenig ...
Re: [DBV 2] DLT Algorithmus
Verfasst: Mi 5. Sep 2012, 18:32
von ice86
Danke schön! Das hilft ungemein!
Du musstest dem Scharr den DLT Algorithmus ja erklären. Würde ihm so eine Erklärung ausreichen?
Re: [DBV 2] DLT Algorithmus
Verfasst: Mi 5. Sep 2012, 18:39
von r0n1N
Ja eigentlich schon, also das Kreuzprodukt und die lineare Abhängigkeit hab ich ihm jetzt nicht explizit vorgerechnet. Was ich halt noch gesagt habe, dass es sinnvoller wäre auf normalisierten Koordinaten zu rechnen und dass man das hinterher halt wieder rückgängig machen muss.