AAM with Occlusion

648 Aufrufe

Veröffentlicht am

This was a pre-final presentation of "Active Appearance Models with Occlusion", written by Ralph Gross, Iain Matthews and Simon Baker as a seminar work at Saarland University

Veröffentlicht in: Bildung, Technologie, Business
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
648
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
38
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • AAM with Occlusion

    1. 1. Active Appearance Models mit Überdeckung Sebastian T. Hafner
    2. 2. Active Appearance Models mit Überdeckung Sebastian T. Hafner
    3. 3. 2
    4. 4. Was ist überhaupt “Überdeckung”? 2
    5. 5. Was ist überhaupt “Überdeckung”? • Selbstüberdeckung 2
    6. 6. Was ist überhaupt “Überdeckung”? • Selbstüberdeckung • Körperteile 2
    7. 7. Was ist überhaupt “Überdeckung”? • Selbstüberdeckung • Körperteile • Kopfbewegung 2
    8. 8. Was ist überhaupt “Überdeckung”? • Selbstüberdeckung • Körperteile • Kopfbewegung • Überdeckung durch andere Gegenstände 2
    9. 9. Wie wirkt sich Bewegung aus? 3
    10. 10. AAM erstellen 4
    11. 11. AAM erstellen • Form 4
    12. 12. AAM erstellen • Form • Markante Punkte 4
    13. 13. AAM erstellen • Form • Markante Punkte • handmarkiert 4
    14. 14. AAM erstellen • Form • Markante Punkte • handmarkiert 4
    15. 15. Form 5
    16. 16. Form n s = s0 + pi si i=1 5
    17. 17. Form n s = s0 + pi si i=1 s: Form s0: Grundform si: Formvektoren pi: Formparameter 5
    18. 18. Basisform s0 6
    19. 19. Basisform s0 6
    20. 20. Basisform s0 6
    21. 21. Basisform s0 6
    22. 22. Basisform s0 7
    23. 23. Basisform s0 1. Erstelle ein Netz s0 auf jedem Trainingsbild, das handmarkierte Netz sei s 7
    24. 24. Basisform s0 1. Erstelle ein Netz s0 auf jedem Trainingsbild, das handmarkierte Netz sei s 2. Wiederhole nun bis s0 konvergiert: 7
    25. 25. Basisform s0 1. Erstelle ein Netz s0 auf jedem Trainingsbild, das handmarkierte Netz sei s 2. Wiederhole nun bis s0 konvergiert: a. Passe s an s0 mit Hilfe von zweidimensionalen Ähnlichkeitsumformungen an. 7
    26. 26. Basisform s0 1. Erstelle ein Netz s0 auf jedem Trainingsbild, das handmarkierte Netz sei s 2. Wiederhole nun bis s0 konvergiert: a. Passe s an s0 mit Hilfe von zweidimensionalen Ähnlichkeitsumformungen an. b. Setze s0 auf den Mittelwert aller Netze s 7
    27. 27. Basisform s0 1. Erstelle ein Netz s0 auf jedem Trainingsbild, das handmarkierte Netz sei s 2. Wiederhole nun bis s0 konvergiert: a. Passe s an s0 mit Hilfe von zweidimensionalen Ähnlichkeitsumformungen an. b. Setze s0 auf den Mittelwert aller Netze s Nur wenn 50% der Punkte sichtbar sind ! 7
    28. 28. Berechnung der Formvektoren si 8
    29. 29. Berechnung der Formvektoren si • Passe die sichtbaren Dreiecke von s in das i Basisnetz s0 ein 8
    30. 30. Berechnung der Formvektoren si • Passe die sichtbaren Dreiecke von s in das i Basisnetz s0 ein • Ziehe s0 von jedem si ab 8
    31. 31. Berechnung der Formvektoren si • Passe die sichtbaren Dreiecke von s in das i Basisnetz s0 ein • Ziehe s von jedem s ab 0 i • Benutze “PCA mit fehlenden Daten” 8
    32. 32. Berechnung der Formvektoren si • Passe die sichtbaren Dreiecke von s in das i Basisnetz s0 ein • Ziehe s von jedem s ab 0 i • Benutze “PCA mit fehlenden Daten” • Verwende die othonormalsierten Eigenvektoren mit dem größten Eigenwert als si 8
    33. 33. AAM erstellen 9
    34. 34. AAM erstellen • Darstellung, umfasst: 9
    35. 35. AAM erstellen • Darstellung, umfasst: • alle Pixel innerhalb der Form s 0 9
    36. 36. AAM erstellen • Darstellung, umfasst: • alle Pixel innerhalb der Form s 0 • faktisch: ein Bild! 9
    37. 37. AAM erstellen • Darstellung, umfasst: • alle Pixel innerhalb der Form s 0 • faktisch: ein Bild! 9
    38. 38. Darstellung 10
    39. 39. Darstellung m A(x) = A0 (x) + λi Ai (x) i=1 A(x): Darstellung A0(x): Basisdarstellung Ai(x): Darstellungsbilder λi: Darstellungsparameter 10
    40. 40. Berechnung der Darstellungsbilder Ai • Passe A an A an i 0 • Ziehe A von jedem A ab 0 i • Benutze “PCA mit fehlenden Daten” • Verwende die othonormalisierten Eigenvektoren mit dem größten Eigenwert als Ai 11
    41. 41. Experiment 12
    42. 42. Experiment 12
    43. 43. Experiment • Früher verwendete Bilder werden künstlich überdeckt. 12
    44. 44. Experiment • Früher verwendete Bilder werden künstlich überdeckt. • Neue Bildsequenzen mit natürlicher Überdeckung 12
    45. 45. Künstliche Überdeckung 13
    46. 46. Künstliche Überdeckung Original 13
    47. 47. Künstliche Überdeckung 10% Überdeckung Original 13
    48. 48. Künstliche Überdeckung 10% Überdeckung Original 50% Überdeckung 13
    49. 49. Basisnetzabstand Pixelabstand 0.50 durchschn. Pixelabstand [px] zwischen den 0.40 Netzen aus 0.30 überdeckten und 0.20 überdeckungs- 0.10 freien Bildsequenzen 0.05 0.15 0.25 0.35 0.45 % Überdeckung 14
    50. 50. Basisnetzabstand Pixelabstand 0.50 durchschn. Pixelabstand [px] zwischen den 0.40 Netzen aus 0.30 überdeckten und 0.20 überdeckungs- 0.10 freien Bildsequenzen 0.05 0.15 0.25 0.35 0.45 % Überdeckung Bleibt unter ½ px für bis zu 50% Überdeckung! 14
    51. 51. Formenergie Überlappung 15
    52. 52. Formenergie Überlappung 1 u )T 2 SE = (si o sj n i j siu: Formvektoren für überdeckungsfreie Daten sjo: Formvektoren für überdeckte Daten 15
    53. 53. Formenergie Überlappung zwischen den 1.00 shape energy overlap [%] Formen aus 0.95 überdeckten und 0.90 überdeckungs- freien 0.85 Bildsequenzen 0.05 0.15 0.25 0.35 0.45 % Überdeckung 16
    54. 54. Formenergie Überlappung zwischen den 1.00 shape energy overlap [%] Formen aus 0.95 überdeckten und 0.90 überdeckungs- freien 0.85 Bildsequenzen 0.05 0.15 0.25 0.35 0.45 % Überdeckung Bleibt über 95% für bis zu 45% Überdeckung! 16
    55. 55. Einpassen von AAMs mit Überdeckung 17
    56. 56. Einpassen von AAMs mit Überdeckung • Wie geht das? • Minimierung des Quadratsummenfehlers 17
    57. 57. Einpassen von AAMs mit Überdeckung • Wie geht das? • Minimierung des Quadratsummenfehlers m 2 A0 (x) + λi Ai (x) − I (W(x; p)) x∈s0 i=1 17
    58. 58. Algorithmen 18
    59. 59. Algorithmen • Project-Out Algorithmus • vorher bereits besprochen 18
    60. 60. Algorithmen • Project-Out Algorithmus • vorher bereits besprochen • Robust-Fitting Algorithmus • ineffizient 18
    61. 61. Algorithmen • Project-Out Algorithmus • vorher bereits besprochen • Robust-Fitting Algorithmus • ineffizient • Efficient Robust Normalization Algorithmus • schnell, performant 18
    62. 62. Project-Out Algorithmus 19
    63. 63. Project-Out Algorithmus • Vorberechnungen 19
    64. 64. Project-Out Algorithmus • Vorberechnungen • Gradientenbildung der Basisdarstellung ∇A 0 19
    65. 65. Project-Out Algorithmus • Vorberechnungen • Gradientenbildung der Basisdarstellung ∇A0 • Berechnung der Jacobi Matrix des Warp in (x;0) 19
    66. 66. Project-Out Algorithmus • Vorberechnungen • Gradientenbildung der Basisdarstellung ∇A0 • Berechnung der Jacobi Matrix des Warp in (x;0) • Berechnung des Gradientenbilds SD (x) ic 19
    67. 67. Project-Out Algorithmus • Vorberechnungen • Gradientenbildung der Basisdarstellung ∇A 0 • Berechnung der Jacobi Matrix des Warp in (x;0) • Berechnung des Gradientenbilds SD (x)ic • “Project out” Darstellung aus SD (x) ic 19
    68. 68. Project-Out Algorithmus • Vorberechnungen • Gradientenbildung der Basisdarstellung ∇A 0 • Berechnung der Jacobi Matrix des Warp in (x;0) • Berechnung des Gradientenbilds SD (x)ic • “Project out” Darstellung aus SD (x) ic • Berechnung der Hesse-Matrix H po 19
    69. 69. Project-Out Algorithmus • Iteration • Warp I mit W(x;p) um I(W(x;p)) zu erhalten • Berechnung des Fehlerbilds E(x) = I(W(x;p)) - A0(x) • Berechne Σx SDTpo(x) E(x) • Aktualisiere den Warp W(x;p) ← W(x;p) ❍ W(x;Δp) 20
    70. 70. Project-Out algorithm • Berechnung der Darstellungsparameter λi = Ai (x) · [I (W(x; p)) − A0 (x)] x∈s0 21
    71. 71. Robust fitting Algorithmus m 2 A0 (x) + λi Ai (x) − I (W(x; p)) x∈s0 i=1 22
    72. 72. Robust fitting Algorithmus m 2 A0 (x) + λi Ai (x) − I (W(x; p)) ;σ x∈s0 i=1 ς symetrische, robuste Fehlerfunktion σ Parametervektor 22
    73. 73. Robust fitting Algorithmus 23
    74. 74. Robust fitting Algorithmus • von der Vorberechnung in die Iteration verschoben: 23
    75. 75. Robust fitting Algorithmus • von der Vorberechnung in die Iteration verschoben: • Gradientenbilder SD (x) ic 23
    76. 76. Robust fitting Algorithmus • von der Vorberechnung in die Iteration verschoben: • Gradientenbilder SD (x) ic • Project out der Darstellung SD (x) ic 23
    77. 77. Robust fitting Algorithmus • von der Vorberechnung in die Iteration verschoben: • Gradientenbilder SD (x) ic • Project out der Darstellung SD (x) ic • Berechnung der Hesse-Matrix H po 23
    78. 78. Robust fitting Algorithmus • von der Vorberechnung in die Iteration verschoben: • Gradientenbilder SD (x) ic • Project out der Darstellung SD (x) ic • Berechnung der Hesse-Matrix H po Robust, aber sehr langsam ! 23
    79. 79. Efficient robust normalization algorithm A0 = Ti i 24
    80. 80. Efficient robust normalization algorithm A0 = Ti i A0: Grunddarstellung Ti: Dreiecke aus s0 24
    81. 81. Efficient robust normalization algorithm 25
    82. 82. Efficient robust normalization algorithm 25
    83. 83. Efficient robust normalization algorithm Ti: Dreieck Tj: Dreieck 25
    84. 84. Efficient robust normalization algorithm • Vorberechnung • Berechne den Gradienten der Basisdarstellung: ∇A0 • Berechne die Jacobimatrix des Warp in (x;0) • Berechne die Gradientenbilder SDic • Berechne die Hesse-Matrix Hpi für jedes Dreieck • Berechne die Darstellungs-Matrix HAi für jedes Dreieck 26
    85. 85. Efficient robust normalization algorithm • Iteration • Warp I with W(x;p) to compute I(W(x;p)) • Berechne das Fehlerbild Eapp(x) • Berechne HA = Σiς’i·HiA • Berechne Δλ und aktualisiere λ und Eapp • Berechne die Hesse-Matrix Hp und invertiere sie • Berechne Σxς’ (Eapp(x)2) SDTic(x) Eapp(x) • Berechne Δp • Aktualisiere den Warp 27
    86. 86. Experiment 28
    87. 87. Experiment 28
    88. 88. Experiment • Vergleich der verschiedenen Algorithmen mit verschiedenen Überdeckungsanteilen und verschiedenen Darstellungsbildern 28
    89. 89. Experiment • Vergleich der verschiedenen Algorithmen mit verschiedenen Überdeckungsanteilen und verschiedenen Darstellungsbildern • inklusive Hager-Belhumeur 28
    90. 90. Experiment 29
    91. 91. Experiment 29
    92. 92. Experiment 29
    93. 93. Konvergenz Konvergenz bei 10% Überdeckung bei verschiedenen Algorithmen und verschiedenen Darstellungsbildern 30
    94. 94. Konvergenz Konvergenz bei 10% Überdeckung bei verschiedenen Algorithmen und verschiedenen Darstellungsbildern Alle konvergieren ähnlich außer Hager-Belhumeur 30
    95. 95. Konvergenz Konvergenz bei 50% Überdeckung bei verschiedenen Algorithmen und verschiedenen Darstellungsbildern 31
    96. 96. Konvergenz Konvergenz bei 50% Überdeckung bei verschiedenen Algorithmen und verschiedenen Darstellungsbildern Hager-Belhumeur zeigt deutliche Defizite 31
    97. 97. Laufzeitvergleich Efficient pro Robust Project Out Robust Frame Normalization Normalization Matlab 27 ms 1280 ms 129 ms C 4.3 ms 203.9 ms 20.5 ms 32
    98. 98. Laufzeitvergleich Efficient pro Robust Project Out Robust Frame Normalization Normalization Matlab 27 ms 1280 ms 129 ms C 4.3 ms 203.9 ms 20.5 ms Datenset: Testhardware: 547 Frames 11 Formparameter 3 GHz Pentium 4 20 Darstellungsparameter 9981 Farbpixel 32
    99. 99. Tradition vs. Robustheit 33
    100. 100. Tradition vs. Robustheit 33
    101. 101. Was sollte ich nun wissen? 34
    102. 102. Was sollte ich nun wissen? 34
    103. 103. Was sollte ich nun wissen? 34
    104. 104. Was sollte ich nun wissen? 34
    105. 105. Was sollte ich nun wissen? 34
    106. 106. Danke für Eure Aufmerksamkeit !

    ×