3D Informationen aus 2D Bildern                    extrahieren                Michael Kuzmin | Denis Smirnov
Einführende Worte
Überblick I   Modelaufbau   Kantendetektion        Canny-Algorithmus   Hough-Transformation   Tracking   Points of I...
Überblick II   Modelaufbau       Brauchbare Bilder erstellen   Objektdetektion       Objekt erkennen und extrahieren ...
ModelaufbauÜberblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points of Inter...
ModelaufbauÜberblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points of Inter...
KantendetektionÜberblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points of I...
Kantendetektion   Sobel                             Laplace                          Canny                            ...
Canny-Algorithmus   Sehr Robust   Verwendet den Sobel-Operator   Berechnet den Gradientenbetrag und die    Gradientenri...
Canny-Algorithmus1.    Glättung                                                                Gauß’scher Glättungsfilter2...
Canny-Algorithmus                                   Sobel-Operator in X-Richtung                         Sobel-Operator in...
Canny-Algorithmus1.    Glättung2.    Kantendetektion3.    Unterdrücken      von Nicht-      Maxima4.    Hysterese     Über...
Canny-Algorithmus                                                         non-maximum suppression1.    Glättung           ...
Canny-Algorithmus                                                   Ab welcher Kantenstärke wird ein Pixel1.    Glättung  ...
Hough-Transformation   Voraussetzung: Binäres Gradientenbild   Erkennung von geometrischen Objekten       Detektiert ko...
Hough-TransformationÜberblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points...
Hough-Transformation                                     Geradengleichung: y = m * x + t                        Aufgelöst ...
Hough-Transformation       Probleme bei Darstellung von vertikalen-Linien da Steigung ± ∞       Besser: Hessesche Normalfo...
Hough-Transformation                                  Gerade-zu-Punkt-Transformation  Hessesche Normalform:               ...
Hough-Transformation   Akkululatorraum „säubern“       Cluster bilden       Störeinflüsse beseitigen   Akkululatorraum...
Hough-Transformation       Geradenbüschel durch P(x|y) für alle Winkel zwischen 0 und π :Überblick   |   Modelaufbau   |  ...
Hough-Transformation                                    Das selbe für mehrere Punkte:Überblick   |   Modelaufbau   |   Kan...
Hough-Transformation                                                Mehrere Punkte:Überblick   |   Modelaufbau   |   Kante...
Hough-TransformationÜberblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points...
Hough-Transformation   Stellt eine Art „Brute-Force“-Algorithmus dar       Eignet sich nur für das Vorhandensein von „we...
Tracking   Bestimmt Anfangs- und Endpunkt einer Strecke       Über morphologische Filter       Über Schablonen    Überb...
Points of Interest   Punkte mit besonders markanten Merkmalen       Eckpunkte       Schnittpunkte von Geraden       Ve...
Points of Interest   Markante Punkte über Schnittpunkte von Geraden       Steigung berechnen:       Auflösen nach y:   ...
Points of InterestÜberblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points o...
Zusammenfassung Part1Überblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Point...
Modelaufbau   Zwei Bilder zur 3D Rekonstruktion nötig   Kamerapositionen leicht versetzt oder leicht um das    Objekt ro...
Modelaufbau   Leicht versetzte Kamerapositionen                                                        C1          C2    ...
Modelaufbau   Leicht rotierte Kamerapositionen                                                                           ...
Modelaufbau   Nahaufnahmen des Objekts    Modelaufbau   |   Objektdetektion   |   Objektübereinstimmung   |   Epipolargeo...
Objektdetektion   Welcher Farbraum ist am besten geeignet?       RGB, Grauwert, HSV, Lab, …   Wie detektiert man das Ob...
ObjektdetektionRGBModelaufbau   |   Objektdetektion   |   Objektübereinstimmung   |   Epipolargeometrie   | 3D Information...
Objektdetektion                                                                 GrauwertLab Modelaufbau   |   Objektdetekt...
Objektdetektion                                                                 Markierungen notwendigGaussianBGModel Mode...
Objektdetektion   Kantendetektion des Objekts       Canny, Laplace, …   Problem der Parametrisierung von Algorithmen   ...
Objektübereinstimmung   Points Of Interest in beiden Bildern suchen       Mindestens 8 Stück notwendig!   Template-Matc...
Objektübereinstimmung   Braucht man die Korrespondenzpunkte überhaupt?    Modelaufbau   |   Objektdetektion   |   Objektü...
Epipolargeometrie   Berechnung der Fundamentalmatrix (3x3 Matrix)    anhand der Korrespondenzpunkte   Mit Hilfe von Fund...
Epipolargeometrie                                                                                                         ...
Epipolargeometrie Rektifiziertes BildModelaufbau   |   Objektdetektion   |   Objektübereinstimmung   |   Epipolargeometrie...
EpipolargeometrieEpipolarlinien in rektifizierten BildernModelaufbau   |   Objektdetektion   |   Objektübereinstimmung   |...
3D Informationen   Erstellung des 3D Objektes   Texturierung des 3D Objektes     Originalbild                           ...
3D Informationen   Pro Textur das Eingangsbild entzerren   Mapping-Qualität abhängig vom generierten Objekt    Modelaufb...
Probleme   Viele Parameter erschweren die Automatisierung   Fehlerhaftes Template-Matching   Objektdetektion zu ungenau...
Zusammenfassung Part2   Ergebnisse sind brauchbar für kleine Objekte       Schwer realisierbar für Gebäude   Hoher Aufw...
Fazit   Tiefeninformationen können berechnet werden   Großer Funktionsumfang von OpenCV   ~500 Zeilen Code   Interessa...
Bessere Verfahren   Objektrekonstruktion mittels Videodaten       Benötigt wird eine Stereoskopische Videokamera oder   ...
Warum Kinect/Asus Xtion   Liefert von Haus aus Tiefeninformationen   Videodaten ->Streaming       Sehr viele Bilder hel...
Microsoft Kinect   Veröffentlichung: November 2010   Verfahren zur Berechnung des Tiefenbildes: Light    Coding   Einsc...
OpenNI   Framework für die Kinect   Zugriff auf Joint-Informationen   Einfache Gestenerkennung, vordefinierter Gesten
Nächste SlideShare
Wird geladen in …5
×

Abbildung einer partiellen Realität in eine virtuelle Online-Welt, zum spielerischen Kennenlernen des Studienalltags

2.117 Aufrufe

Veröffentlicht am

Michael Kuzmin und Denis Smirnov
Abschlusspräsentation
Jahrgang 2010
Karl-Steinbuch-Stipendium
MFG Stiftung Baden-Württemberg

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
2.117
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Abbildung einer partiellen Realität in eine virtuelle Online-Welt, zum spielerischen Kennenlernen des Studienalltags

  1. 1. 3D Informationen aus 2D Bildern extrahieren Michael Kuzmin | Denis Smirnov
  2. 2. Einführende Worte
  3. 3. Überblick I Modelaufbau Kantendetektion  Canny-Algorithmus Hough-Transformation Tracking Points of Interest  Schnittpunkte von Geraden Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 03/29
  4. 4. Überblick II Modelaufbau  Brauchbare Bilder erstellen Objektdetektion  Objekt erkennen und extrahieren Objektübereinstimmung (Template-Matching)  Objekt in verschiedenen Bildern finden Epipolargeometrie  Rektifizieren der Bilder 3D Informationen  Tiefeninformationen des Objektes ermitteln Probleme/Fazit Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  5. 5. ModelaufbauÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 04/29
  6. 6. ModelaufbauÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 05/29
  7. 7. KantendetektionÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 06/29
  8. 8. Kantendetektion Sobel  Laplace  Canny  Prewitt Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 07/29
  9. 9. Canny-Algorithmus Sehr Robust Verwendet den Sobel-Operator Berechnet den Gradientenbetrag und die Gradientenrichtung des Bildes Optimalität für folgende Kriterien:  Erkennung: alle tatsächlichen Kanten sollen gefunden werden  Lokalisierung: Abstand zwischen tatsächlicher und erkannter Kanten soll möglichst klein sein  Ansprechverhalten: keine Mehrfacherkennung von gleichen Kanten Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 08/29
  10. 10. Canny-Algorithmus1. Glättung Gauß’scher Glättungsfilter2. Kantendetektion3. Unterdrücken von Nicht- Maxima4. Hysterese • Rauschen Minimieren Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 09/29
  11. 11. Canny-Algorithmus Sobel-Operator in X-Richtung Sobel-Operator in Y-Richtung1. Glättung2. Kantendetektion Euklidischer Betrag:3. Unterdrücken ( ) von Nicht- Maxima Gradientenrichtung berechnen:4. Hysterese 0°, 45°, 90°, 135° Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 10/29
  12. 12. Canny-Algorithmus1. Glättung2. Kantendetektion3. Unterdrücken von Nicht- Maxima4. Hysterese Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 11/29
  13. 13. Canny-Algorithmus non-maximum suppression1. Glättung • ausdünnen der Kanten2. Kantendetektion • vergleich der Richtung von Nachbarpunkten3. Unterdrücken • Pixel entlang der Gerade übernehmen, von Nicht- Maxima alle anderen Pixel auf Grauwert 0 setzen4. Hysterese Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 12/29
  14. 14. Canny-Algorithmus Ab welcher Kantenstärke wird ein Pixel1. Glättung als Kante identifiziert?2. Kantendetektion Hysterese:3. Unterdrücken • Zwei Schwellenwerte T1,T2 mit T1 ≤ T2 von Nicht- Maxima • Unterdrückt „schwache“ bzw. falsche Kanten4. Hysterese • „Zerreißt“ weniger Kanten als einfache Schwellenwertverfahren Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 13/29
  15. 15. Hough-Transformation Voraussetzung: Binäres Gradientenbild Erkennung von geometrischen Objekten  Detektiert kollineare Punkte  Erkennt Kreise und Geraden  Allgemein: Erkennt Objekte die sich in geschlossener parametrisierbarer Form darstellen lassen Erschaffen eines Akkumulatorraums  Dualraum  (d,Ɵ)-Raum Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 14/29
  16. 16. Hough-TransformationÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 15/29
  17. 17. Hough-Transformation Geradengleichung: y = m * x + t Aufgelöst nach Y-Achsenabschnitt: t = -m * x + y P(x|y) Q(m|t)Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 16/29
  18. 18. Hough-Transformation Probleme bei Darstellung von vertikalen-Linien da Steigung ± ∞ Besser: Hessesche Normalform Ortsvektor Abstand vom Ursprung Normalvektor Statt (x,y)-Koordinate des Ortsvektors genügt der Winkel Ɵ:Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 17/29
  19. 19. Hough-Transformation Gerade-zu-Punkt-Transformation Hessesche Normalform: Nach d aufgelöst: Codierung in den Hough-Raum: (d,Ɵ)-Raum Jede Gerade kann durch einen Punkt im Hough-Raum dargestellt werdenÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 18/29
  20. 20. Hough-Transformation Akkululatorraum „säubern“  Cluster bilden  Störeinflüsse beseitigen Akkululatorraum analysieren  Maximas auslesen  Schwellenwerte überprüfen Rücktransformation nach Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 19/29
  21. 21. Hough-Transformation Geradenbüschel durch P(x|y) für alle Winkel zwischen 0 und π :Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 20/29
  22. 22. Hough-Transformation Das selbe für mehrere Punkte:Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 21/29
  23. 23. Hough-Transformation Mehrere Punkte:Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 22/29
  24. 24. Hough-TransformationÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 23/29
  25. 25. Hough-Transformation Stellt eine Art „Brute-Force“-Algorithmus dar  Eignet sich nur für das Vorhandensein von „wenigen“ Geraden Störanfällig bei falscher Quantisierung: Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 24/29
  26. 26. Tracking Bestimmt Anfangs- und Endpunkt einer Strecke  Über morphologische Filter  Über Schablonen Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 25/29
  27. 27. Points of Interest Punkte mit besonders markanten Merkmalen  Eckpunkte  Schnittpunkte von Geraden  Veränderung der Intensität der Farbwerte Kantendetektoren  Moravec-Interest Operator  berechnet die mittleren quadratischen Gradientensummen  Harris-Kanten-Detektor  Vollständig rotationsinvariant Naives Verfahren  Schnittpunkte von Geraden finden Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 26/29
  28. 28. Points of Interest Markante Punkte über Schnittpunkte von Geraden  Steigung berechnen:  Auflösen nach y:  Gleichsetzen:  Nach x auflösen:  x in y1 oder y2 einsetzen Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 27/29
  29. 29. Points of InterestÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 28/29
  30. 30. Zusammenfassung Part1Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 29/29
  31. 31. Modelaufbau Zwei Bilder zur 3D Rekonstruktion nötig Kamerapositionen leicht versetzt oder leicht um das Objekt rotiert Je weiter ein Objekt entfernt ist, desto weniger Informationen können erschlossen werden Optionale Kalibrierung der Bilder Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  32. 32. Modelaufbau Leicht versetzte Kamerapositionen C1 C2 Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  33. 33. Modelaufbau Leicht rotierte Kamerapositionen C2 C1 Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  34. 34. Modelaufbau Nahaufnahmen des Objekts Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  35. 35. Objektdetektion Welcher Farbraum ist am besten geeignet?  RGB, Grauwert, HSV, Lab, … Wie detektiert man das Objekt in den Bildern?  Nahaufnahmen  Markierungen  Kantendetektion  GaussianBGModel Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  36. 36. ObjektdetektionRGBModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  37. 37. Objektdetektion GrauwertLab Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  38. 38. Objektdetektion Markierungen notwendigGaussianBGModel Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  39. 39. Objektdetektion Kantendetektion des Objekts  Canny, Laplace, … Problem der Parametrisierung von Algorithmen Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  40. 40. Objektübereinstimmung Points Of Interest in beiden Bildern suchen  Mindestens 8 Stück notwendig! Template-Matching der POIs auf beiden Bildern  Nicht immer richtig! Wie kann man sicher gehen, dass die gefundenen POIs auf beiden Bildern die selben sind?  Nur manuell  Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  41. 41. Objektübereinstimmung Braucht man die Korrespondenzpunkte überhaupt? Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  42. 42. Epipolargeometrie Berechnung der Fundamentalmatrix (3x3 Matrix) anhand der Korrespondenzpunkte Mit Hilfe von Fundamentalmatrix die Epipolarlinien berechnen oder die Bilder rektifizieren Was ist Epipolargeometrie und wozu werden Epipolarlinien benötigt? Quelle: Wikipedia Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  43. 43. Epipolargeometrie Quelle: WikipediaModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  44. 44. Epipolargeometrie Rektifiziertes BildModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  45. 45. EpipolargeometrieEpipolarlinien in rektifizierten BildernModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  46. 46. 3D Informationen Erstellung des 3D Objektes Texturierung des 3D Objektes Originalbild Tiefenbild Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  47. 47. 3D Informationen Pro Textur das Eingangsbild entzerren Mapping-Qualität abhängig vom generierten Objekt Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  48. 48. Probleme Viele Parameter erschweren die Automatisierung Fehlerhaftes Template-Matching Objektdetektion zu ungenau Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  49. 49. Zusammenfassung Part2 Ergebnisse sind brauchbar für kleine Objekte  Schwer realisierbar für Gebäude Hoher Aufwand  Rechenaufwand der Algorithmen  Große Bildmengen  Stark abhängig von Belichtung und Qualität der Bilddaten Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 29/29
  50. 50. Fazit Tiefeninformationen können berechnet werden Großer Funktionsumfang von OpenCV ~500 Zeilen Code Interessantes Themengebiet Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  51. 51. Bessere Verfahren Objektrekonstruktion mittels Videodaten  Benötigt wird eine Stereoskopische Videokamera oder andere Verfahren Andere Verfahren:  3D Rekonstruktion mittels Microsofts Kinect  Besser: Asus Xtion 29/29
  52. 52. Warum Kinect/Asus Xtion Liefert von Haus aus Tiefeninformationen Videodaten ->Streaming  Sehr viele Bilder helfen alle Stellen des Objekts zu „beleuchten“ Klein und Handlich  Ermöglicht es mit einem Laptop bequem ein Haus von allen Seiten zu filmen Viel bekanntes wissen aus Microsofterfahrung kann wieder verwendet werden Liefert schneller und bessere Ergebnisse als einzelne Fotoaufnahmen
  53. 53. Microsoft Kinect Veröffentlichung: November 2010 Verfahren zur Berechnung des Tiefenbildes: Light Coding Einschränkungen: Sonne und reflektierende Oberflächen Distanz: 60cm bis 10m IR, RGB & Depth Bilder
  54. 54. OpenNI Framework für die Kinect Zugriff auf Joint-Informationen Einfache Gestenerkennung, vordefinierter Gesten

×