SlideShare uma empresa Scribd logo
1 de 54
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-Algorithmus


1.    Glättung
                                                                Gauß’scher Glättungsfilter
2.    Kantendetektion


3.    Unterdrücken
      von Nicht-
      Maxima


4.    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-Richtung

1.    Glättung


2.    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-Algorithmus


1.    Glättung


2.    Kantendetektion


3.    Unterdrücken
      von Nicht-
      Maxima


4.    Hysterese




     Überblick   |   Modelaufbau   |   Kantendetektion   |   Hough-Transformation   |   Tracking   | Points of Interest   11/29
Canny-Algorithmus

                                                         non-maximum suppression
1.    Glättung
                                                         • ausdünnen der Kanten
2.    Kantendetektion
                                                         • vergleich der Richtung von Nachbarpunkten
3.    Unterdrücken
                                                         • Pixel entlang der Gerade übernehmen,
      von Nicht-
      Maxima                                             alle anderen Pixel auf Grauwert 0 setzen


4.    Hysterese




     Überblick   |   Modelaufbau   |   Kantendetektion    |   Hough-Transformation   |   Tracking   | Points of Interest   12/29
Canny-Algorithmus

                                                   Ab welcher Kantenstärke wird ein Pixel
1.    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 Kanten

4.    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
Objektdetektion
RGB




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




                                                                 Grauwert


Lab




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




                                                                 Markierungen notwendig


GaussianBGModel




 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: Wikipedia

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




Modelaufbau   |   Objektdetektion   |   Objektübereinstimmung   |   Epipolargeometrie   | 3D Informationen |   Probleme
Epipolargeometrie
Epipolarlinien in rektifizierten Bildern




Modelaufbau   |   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

Mais conteúdo relacionado

Destaque

Ensayosimcenatcinned8n3blogger 131007123536-phpapp02
Ensayosimcenatcinned8n3blogger 131007123536-phpapp02Ensayosimcenatcinned8n3blogger 131007123536-phpapp02
Ensayosimcenatcinned8n3blogger 131007123536-phpapp02
connyrecabal
 
Comunicacion interactiva
Comunicacion interactivaComunicacion interactiva
Comunicacion interactiva
RoandraAlvarez
 
Kooperative Systeme
Kooperative SystemeKooperative Systeme
Kooperative Systeme
Jungblut
 
Energía eléctrica
Energía eléctricaEnergía eléctrica
Energía eléctrica
silin97
 
Witenberga j.niem aleksander mróz
Witenberga j.niem aleksander mrózWitenberga j.niem aleksander mróz
Witenberga j.niem aleksander mróz
Teresa
 
Proyecto oficial artes alondra
Proyecto oficial artes alondraProyecto oficial artes alondra
Proyecto oficial artes alondra
Justin1994
 
PAU orientadores-febrero2012
PAU orientadores-febrero2012PAU orientadores-febrero2012
PAU orientadores-febrero2012
SuperguayGD
 

Destaque (16)

Schweinegrippe
SchweinegrippeSchweinegrippe
Schweinegrippe
 
Acht tipps für erfolgreiche facebook posts
Acht tipps für erfolgreiche facebook postsAcht tipps für erfolgreiche facebook posts
Acht tipps für erfolgreiche facebook posts
 
Ensayosimcenatcinned8n3blogger 131007123536-phpapp02
Ensayosimcenatcinned8n3blogger 131007123536-phpapp02Ensayosimcenatcinned8n3blogger 131007123536-phpapp02
Ensayosimcenatcinned8n3blogger 131007123536-phpapp02
 
Impressionen der FH Salzburg
Impressionen der FH SalzburgImpressionen der FH Salzburg
Impressionen der FH Salzburg
 
Taller Nº1
Taller Nº1Taller Nº1
Taller Nº1
 
Comunicacion interactiva
Comunicacion interactivaComunicacion interactiva
Comunicacion interactiva
 
Ensayo 4
Ensayo 4Ensayo 4
Ensayo 4
 
Kooperative Systeme
Kooperative SystemeKooperative Systeme
Kooperative Systeme
 
7 Tipps für lesenswerte Online-Pressemitteilungen
7 Tipps für lesenswerte Online-Pressemitteilungen7 Tipps für lesenswerte Online-Pressemitteilungen
7 Tipps für lesenswerte Online-Pressemitteilungen
 
Energía eléctrica
Energía eléctricaEnergía eléctrica
Energía eléctrica
 
Witenberga j.niem aleksander mróz
Witenberga j.niem aleksander mrózWitenberga j.niem aleksander mróz
Witenberga j.niem aleksander mróz
 
La celula 1
La celula 1La celula 1
La celula 1
 
Proyecto oficial artes alondra
Proyecto oficial artes alondraProyecto oficial artes alondra
Proyecto oficial artes alondra
 
Rutina pensamiento
Rutina pensamiento Rutina pensamiento
Rutina pensamiento
 
PAU orientadores-febrero2012
PAU orientadores-febrero2012PAU orientadores-febrero2012
PAU orientadores-febrero2012
 
Agent CS Reisetipp Sylt - kulinarisch - Concierge Service
Agent CS Reisetipp Sylt - kulinarisch - Concierge ServiceAgent CS Reisetipp Sylt - kulinarisch - Concierge Service
Agent CS Reisetipp Sylt - kulinarisch - Concierge Service
 

Mais de MFG Innovationsagentur

140625 vi pad webinar_collaboration tools
140625 vi pad webinar_collaboration tools140625 vi pad webinar_collaboration tools
140625 vi pad webinar_collaboration tools
MFG Innovationsagentur
 
L2 g other_social_media_tools_collaboration
L2 g other_social_media_tools_collaborationL2 g other_social_media_tools_collaboration
L2 g other_social_media_tools_collaboration
MFG Innovationsagentur
 
L2 g other_social_media_tools_publication
L2 g other_social_media_tools_publicationL2 g other_social_media_tools_publication
L2 g other_social_media_tools_publication
MFG Innovationsagentur
 
L2 g other_social_media_tools_communication
L2 g other_social_media_tools_communicationL2 g other_social_media_tools_communication
L2 g other_social_media_tools_communication
MFG Innovationsagentur
 
Complex Ontology Matching using Linguistic Resources
Complex Ontology Matching using Linguistic ResourcesComplex Ontology Matching using Linguistic Resources
Complex Ontology Matching using Linguistic Resources
MFG Innovationsagentur
 

Mais de MFG Innovationsagentur (20)

Other Social Media Tools for Business - Communication
Other Social Media Tools for Business - CommunicationOther Social Media Tools for Business - Communication
Other Social Media Tools for Business - Communication
 
LinkedIn for SMEs
LinkedIn for SMEsLinkedIn for SMEs
LinkedIn for SMEs
 
Europeana Creative Einführung
Europeana Creative EinführungEuropeana Creative Einführung
Europeana Creative Einführung
 
140625 vi pad webinar_collaboration tools
140625 vi pad webinar_collaboration tools140625 vi pad webinar_collaboration tools
140625 vi pad webinar_collaboration tools
 
Creative Camp 2014: Pretotypen Sie es by Dr. Ralf Allrutz
Creative Camp 2014: Pretotypen Sie es by Dr. Ralf AllrutzCreative Camp 2014: Pretotypen Sie es by Dr. Ralf Allrutz
Creative Camp 2014: Pretotypen Sie es by Dr. Ralf Allrutz
 
Creative Camp 2014 - Financing Opportunities for Start-ups by Bianca Kolb
Creative Camp 2014 -  Financing Opportunities for Start-ups by Bianca KolbCreative Camp 2014 -  Financing Opportunities for Start-ups by Bianca Kolb
Creative Camp 2014 - Financing Opportunities for Start-ups by Bianca Kolb
 
Crative Camp 2014: Dead fit-marketing by Andrea di marco
Crative Camp 2014: Dead fit-marketing by Andrea di marcoCrative Camp 2014: Dead fit-marketing by Andrea di marco
Crative Camp 2014: Dead fit-marketing by Andrea di marco
 
Creative Camp 2014 - Handout Pitching Do's don'ts
Creative Camp 2014 -  Handout Pitching Do's don'ts Creative Camp 2014 -  Handout Pitching Do's don'ts
Creative Camp 2014 - Handout Pitching Do's don'ts
 
Webinar_Open_culture_bw_2105
Webinar_Open_culture_bw_2105Webinar_Open_culture_bw_2105
Webinar_Open_culture_bw_2105
 
L2 g how_to_start
L2 g how_to_startL2 g how_to_start
L2 g how_to_start
 
L2 g other_social_media_tools_collaboration
L2 g other_social_media_tools_collaborationL2 g other_social_media_tools_collaboration
L2 g other_social_media_tools_collaboration
 
L2 g other_social_media_tools_publication
L2 g other_social_media_tools_publicationL2 g other_social_media_tools_publication
L2 g other_social_media_tools_publication
 
L2 g other_social_media_tools_communication
L2 g other_social_media_tools_communicationL2 g other_social_media_tools_communication
L2 g other_social_media_tools_communication
 
Learning 2.0gether_Twitter01
Learning 2.0gether_Twitter01Learning 2.0gether_Twitter01
Learning 2.0gether_Twitter01
 
Learning 2.0gether_Blogs01
Learning 2.0gether_Blogs01Learning 2.0gether_Blogs01
Learning 2.0gether_Blogs01
 
L2 g overview on web 2.0
L2 g overview on web 2.0L2 g overview on web 2.0
L2 g overview on web 2.0
 
Learning 2.0gether_FB01_introduction
Learning 2.0gether_FB01_introductionLearning 2.0gether_FB01_introduction
Learning 2.0gether_FB01_introduction
 
Überprüfung der Eignung von MEMS-Durchflusssensoren zur Atemfluss- und Sauers...
Überprüfung der Eignung von MEMS-Durchflusssensoren zur Atemfluss- und Sauers...Überprüfung der Eignung von MEMS-Durchflusssensoren zur Atemfluss- und Sauers...
Überprüfung der Eignung von MEMS-Durchflusssensoren zur Atemfluss- und Sauers...
 
Complex Ontology Matching using Linguistic Resources
Complex Ontology Matching using Linguistic ResourcesComplex Ontology Matching using Linguistic Resources
Complex Ontology Matching using Linguistic Resources
 
Jahrmillionen verschollen
Jahrmillionen verschollenJahrmillionen verschollen
Jahrmillionen verschollen
 

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

  • 1. 3D Informationen aus 2D Bildern extrahieren Michael Kuzmin | Denis Smirnov
  • 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. Ü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. Modelaufbau Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 04/29
  • 6. Modelaufbau Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 05/29
  • 7. Kantendetektion Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 06/29
  • 8. Kantendetektion  Sobel  Laplace  Canny  Prewitt Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 07/29
  • 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. Canny-Algorithmus 1. Glättung Gauß’scher Glättungsfilter 2. Kantendetektion 3. Unterdrücken von Nicht- Maxima 4. Hysterese • Rauschen Minimieren Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 09/29
  • 11. Canny-Algorithmus Sobel-Operator in X-Richtung Sobel-Operator in Y-Richtung 1. Glättung 2. 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. Canny-Algorithmus 1. Glättung 2. Kantendetektion 3. Unterdrücken von Nicht- Maxima 4. Hysterese Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 11/29
  • 13. Canny-Algorithmus non-maximum suppression 1. Glättung • ausdünnen der Kanten 2. Kantendetektion • vergleich der Richtung von Nachbarpunkten 3. Unterdrücken • Pixel entlang der Gerade übernehmen, von Nicht- Maxima alle anderen Pixel auf Grauwert 0 setzen 4. Hysterese Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 12/29
  • 14. Canny-Algorithmus Ab welcher Kantenstärke wird ein Pixel 1. 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 Kanten 4. Hysterese • „Zerreißt“ weniger Kanten als einfache Schwellenwertverfahren Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 13/29
  • 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. Hough-Transformation Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 15/29
  • 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. 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. 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. 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. 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. Hough-Transformation Das selbe für mehrere Punkte: Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 21/29
  • 23. Hough-Transformation Mehrere Punkte: Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 22/29
  • 24. Hough-Transformation Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 23/29
  • 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. Tracking  Bestimmt Anfangs- und Endpunkt einer Strecke  Über morphologische Filter  Über Schablonen Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 25/29
  • 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. 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. Points of Interest Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 28/29
  • 30. Zusammenfassung Part1 Überblick | Modelaufbau | Kantendetektion | Hough-Transformation | Tracking | Points of Interest 29/29
  • 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. Modelaufbau  Leicht versetzte Kamerapositionen C1 C2 Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 33. Modelaufbau  Leicht rotierte Kamerapositionen C2 C1 Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 34. Modelaufbau  Nahaufnahmen des Objekts Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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. Objektdetektion RGB Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 37. Objektdetektion Grauwert Lab Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 38. Objektdetektion Markierungen notwendig GaussianBGModel Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 39. Objektdetektion  Kantendetektion des Objekts  Canny, Laplace, …  Problem der Parametrisierung von Algorithmen Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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. Objektübereinstimmung  Braucht man die Korrespondenzpunkte überhaupt? Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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. Epipolargeometrie Quelle: Wikipedia Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 44. Epipolargeometrie Rektifiziertes Bild Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 45. Epipolargeometrie Epipolarlinien in rektifizierten Bildern Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 46. 3D Informationen  Erstellung des 3D Objektes  Texturierung des 3D Objektes Originalbild Tiefenbild Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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. Probleme  Viele Parameter erschweren die Automatisierung  Fehlerhaftes Template-Matching  Objektdetektion zu ungenau Modelaufbau | Objektdetektion | Objektübereinstimmung | Epipolargeometrie | 3D Informationen | Probleme
  • 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. 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. 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. 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. 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. OpenNI  Framework für die Kinect  Zugriff auf Joint-Informationen  Einfache Gestenerkennung, vordefinierter Gesten