Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und relevantere Anzeigen zu schalten. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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.330 Aufrufe

Veröffentlicht am

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

  • Als Erste(r) kommentieren

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

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

×