Abbildung einer partiellen Realität in eine virtuelle Online-Welt, zum spielerischen Kennenlernen des Studienalltags
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,246 views

Michael Kuzmin und Denis Smirnov

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

Statistics

Views

Total Views
1,246
Views on SlideShare
1,246
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 3D Informationen aus 2D Bildern extrahieren Michael Kuzmin | Denis Smirnov
  • Einführende Worte
  • Ü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
  • Ü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
  • ModelaufbauÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 04/29
  • ModelaufbauÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 05/29
  • KantendetektionÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 06/29
  • Kantendetektion Sobel  Laplace  Canny  Prewitt Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 07/29
  • 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
  • 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
  • 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
  • Canny-Algorithmus1. Glättung2. Kantendetektion3. Unterdrücken von Nicht- Maxima4. Hysterese Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 11/29
  • 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
  • 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
  • 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
  • Hough-TransformationÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 15/29
  • 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
  • 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
  • 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
  • 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
  • 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
  • Hough-Transformation Das selbe für mehrere Punkte:Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 21/29
  • Hough-Transformation Mehrere Punkte:Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 22/29
  • Hough-TransformationÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 23/29
  • 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
  • Tracking Bestimmt Anfangs- und Endpunkt einer Strecke  Über morphologische Filter  Über Schablonen Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 25/29
  • 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
  • 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
  • Points of InterestÜberblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 28/29
  • Zusammenfassung Part1Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 29/29
  • 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
  • Modelaufbau Leicht versetzte Kamerapositionen C1 C2 Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Modelaufbau Leicht rotierte Kamerapositionen C2 C1 Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Modelaufbau Nahaufnahmen des Objekts Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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
  • ObjektdetektionRGBModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Objektdetektion GrauwertLab Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Objektdetektion Markierungen notwendigGaussianBGModel Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Objektdetektion Kantendetektion des Objekts  Canny, Laplace, … Problem der Parametrisierung von Algorithmen Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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
  • Objektübereinstimmung Braucht man die Korrespondenzpunkte überhaupt? Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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
  • Epipolargeometrie Quelle: WikipediaModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Epipolargeometrie Rektifiziertes BildModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • EpipolargeometrieEpipolarlinien in rektifizierten BildernModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 3D Informationen Erstellung des 3D Objektes Texturierung des 3D Objektes Originalbild Tiefenbild Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 3D Informationen Pro Textur das Eingangsbild entzerren Mapping-Qualität abhängig vom generierten Objekt Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • Probleme Viele Parameter erschweren die Automatisierung Fehlerhaftes Template-Matching Objektdetektion zu ungenau Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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
  • Fazit Tiefeninformationen können berechnet werden Großer Funktionsumfang von OpenCV ~500 Zeilen Code Interessantes Themengebiet Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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
  • 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
  • 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
  • OpenNI Framework für die Kinect Zugriff auf Joint-Informationen Einfache Gestenerkennung, vordefinierter Gesten