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

54
3D Informationen aus 2D Bildern extrahieren Michael Kuzmin | Denis Smirnov

description

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

Transcript of Abbildung einer partiellen Realität in eine virtuelle Online-Welt, zum spielerischen Kennenlernen...

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

3D Informationen aus 2D Bildern extrahieren

Michael Kuzmin | Denis Smirnov

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

Einführende Worte

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

Ü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

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

Ü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/FazitModelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

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

Modelaufbau

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

04/29

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

Modelaufbau

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

05/29

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

Kantendetektion

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

06/29

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

Kantendetektion

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

07/29

Sobel Laplace Prewitt Canny

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

Canny-Algorithmus

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

08/29

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

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

Canny-Algorithmus

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

09/29

1. Glättung

2. Kantendetektion

3. Unterdrücken von Nicht-Maxima

4. Hysterese

Gauß’scher Glättungsfilter

• Rauschen Minimieren

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

Canny-Algorithmus

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

10/29

1. Glättung

2. Kantendetektion

3. Unterdrücken von Nicht-Maxima

4. Hysterese

Sobel-Operator in X-Richtung

Sobel-Operator in Y-Richtung

( )

Gradientenrichtung berechnen:

0°, 45°, 90°, 135°

Euklidischer Betrag:

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

Canny-Algorithmus

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

11/29

1. Glättung

2. Kantendetektion

3. Unterdrücken von Nicht-Maxima

4. Hysterese

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

Canny-Algorithmus

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

12/29

1. Glättung

2. Kantendetektion

3. Unterdrücken von Nicht-Maxima

4. Hysterese

non-maximum suppression

• ausdünnen der Kanten

• vergleich der Richtung von Nachbarpunkten

• Pixel entlang der Gerade übernehmen, alle anderen Pixel auf Grauwert 0 setzen

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

Canny-Algorithmus

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

13/29

1. Glättung

2. Kantendetektion

3. Unterdrücken von Nicht-Maxima

4. Hysterese

Ab welcher Kantenstärke wird ein Pixel als Kante identifiziert?

Hysterese:

• Zwei Schwellenwerte T1,T2 mit T1 ≤ T2

• Unterdrückt „schwache“ bzw. falsche Kanten

• „Zerreißt“ weniger Kanten als einfache Schwellenwertverfahren

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

14/29

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

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

15/29

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

16/29

Geradengleichung: y = m * x + t

Aufgelöst nach Y-Achsenabschnitt: t = -m * x + y

P(x|y) Q(m|t)

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

17/29

Probleme bei Darstellung von vertikalen-Linien da Steigung ± ∞

Besser: Hessesche Normalform

Ortsvektor

Normalvektor

Abstand vom Ursprung

Statt (x,y)-Koordinate des Ortsvektors genügt der Winkel Ɵ:

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

18/29

Codierung in den Hough-Raum: (d,Ɵ)-Raum

Jede Gerade kann durch einen Punkt im Hough-Raum dargestellt werden

Hessesche Normalform: Nach d aufgelöst:

Gerade-zu-Punkt-Transformation

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

19/29

Akkululatorraum „säubern“ Cluster bilden Störeinflüsse beseitigen

Akkululatorraum analysieren Maximas auslesen Schwellenwerte überprüfen

Rücktransformation nach

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

20/29

Geradenbüschel durch P(x|y) für alle Winkel zwischen 0 und π :

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

21/29

Das selbe für mehrere Punkte:

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

22/29

Mehrere Punkte:

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

23/29

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

Hough-Transformation

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

24/29

Stellt eine Art „Brute-Force“-Algorithmus dar Eignet sich nur für das Vorhandensein von

„wenigen“ Geraden

Störanfällig bei falscher Quantisierung:

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

Tracking

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

25/29

Bestimmt Anfangs- und Endpunkt einer Strecke Über morphologische Filter Über Schablonen

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

Points of Interest

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

26/29

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

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

Points of Interest

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

27/29

Markante Punkte über Schnittpunkte von Geraden Steigung berechnen:

Auflösen nach y:

Gleichsetzen:

Nach x auflösen:

x in y1 oder y2 einsetzen

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

Points of Interest

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

28/29

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

Zusammenfassung Part1

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

29/29

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

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

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

Modelaufbau

Leicht versetzte Kamerapositionen

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

C1 C2

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

Modelaufbau

Leicht rotierte Kamerapositionen

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

C1C2

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

Modelaufbau

Nahaufnahmen des Objekts

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

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

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

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

Objektdetektion

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

RGB

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

Objektdetektion

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Lab

Grauwert

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

Objektdetektion

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

GaussianBGModel

Markierungen notwendig

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

Objektdetektion

Kantendetektion des Objekts Canny, Laplace, …

Problem der Parametrisierung von Algorithmen

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

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

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

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

Objektübereinstimmung

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Braucht man die Korrespondenzpunkte überhaupt?

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

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?

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Quelle: Wikipedia

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

Epipolargeometrie

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Quelle: Wikipedia

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

Epipolargeometrie

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Rektifiziertes Bild

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

Epipolargeometrie

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Epipolarlinien in rektifizierten Bildern

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

3D Informationen

Erstellung des 3D Objektes Texturierung des 3D Objektes

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

Originalbild Tiefenbild

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

3D Informationen

Pro Textur das Eingangsbild entzerren Mapping-Qualität abhängig vom generierten

Objekt

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

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

Probleme

Viele Parameter erschweren die Automatisierung

Fehlerhaftes Template-Matching

Objektdetektion zu ungenau

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

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

Zusammenfassung Part2

Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest

29/29

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

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

Fazit

Tiefeninformationen können berechnet werden

Großer Funktionsumfang von OpenCV

~500 Zeilen Code

Interessantes Themengebiet

Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme

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

Bessere Verfahren

29/29

Objektrekonstruktion mittels Videodaten Benötigt wird eine Stereoskopische Videokamera

oder andere Verfahren Andere Verfahren:

3D Rekonstruktion mittels Microsofts Kinect Besser: Asus Xtion

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

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

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

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

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

OpenNI Framework für die Kinect Zugriff auf Joint-Informationen Einfache Gestenerkennung, vordefinierter

Gesten