Computer Vision - Erkennung Human Computer Systems SS 2011 Priv.-Doz. Dr. Arjan Kuijper Fachgebiet Graphisch-Interaktive Systeme (GRIS) Fraunhoferstraße 5 64283 Darmstadt Tel.: +49 (0) 6151 155 103 Fax.: +49 (0) 6151 155 105 Email: arjan.kuijper@gris.informatik.tu-darmstadt.de http://www.gris.informatik.tu-darmstadt.de
WICHTIG! Auf mehrfachen Wunsch und Anregung wird ab sofort Moodle - das Lernportal Informatik - für die Verwaltung der Übungen eingesetzt: https://moodle.informatik.tu-darmstadt.de Hierzu muss sich jede der bereits gebildeten Übungsgruppen in eine der HCS zugeordneten Gruppen in Moodle eintragen (z.b. ein Gruppenmitglied für alle anderen der Gruppe). Die Abgabe und Bewertung der Übungen erfolgt dann komplett in Moodle.
Why Study Computer Vision Science Foundations of perception. How do WE see? computer vision to explore computational model of human vision Engineering How do we build systems that perceive the world computer vision to solve real-world problems: cars to detect pedestrians Applications medical imaging (computer vision to support medical diagnosis, visualization) surveillance (to follow/track people at the airport, train-station,...) entertainment (vision-based interfaces for games) graphics (image-based rendering, vision to support realistic graphics) 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 3
Some Applications License Plate Recognition London Congestion Charge http://www.cclondon.com/ imagingandcameras.html http://en.wikipedia.org/wiki/ London_congestion_charge Surveillance Face Recognition Airport Security (People Tracking) Medical Imaging (Semi-)automatic segmentation and measurements 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 4
Einige Anwendungen Automobilindustrie heute schon Produkt (bzw. produktreif): Lanedepature Warning Blind-Spot Warning Einparkhilfe PreCrash Warning & Breaking in naher Zukunft: Bessere Detektion von Fußgängern Wetterkonditionen 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 5
Überblick Computer Vision Objekterkennung und Objektdetektion als Fallbeispiel Motivation heutiger Ansätze Bayes Decision Theory Verwendung von Merkmalen zur Objekterkennung Naive Bayes Klassifikator Gesichtsdetektion Schneiderman & Kanade: Naive Bayes Klassifikator de facto einer der erfolgreichsten Verfahren Diskussion & Ausblick 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 6
Pinhole Camera (Model) (simple) standard and abstract model today box with a small hole in it 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 7
Camera Obscura around 1519, Leonardo da Vinci (1452-1519) http://www.acmi.net.au/aic/camera_obscura.html when images of illuminated objects penetrate through a small hole into a very dark room you will see [on the opposite wall] these objects in their proper form and color, reduced in size in a reversed position owing to the intersection of the rays 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 8
Principle of pinhole......used by artists (e.g. Vermeer 17th century, dutch) and scientists 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 9
Digital Images Imaging Process: (pinhole) camera model digitizer to obtain digital image 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 10
(Grayscale) Image Goals of Computer Vision how can we recognize fruits from an array of (gray-scale) numbers? how can we perceive depth from an array of (gray-scale) numbers? Goals of Graphics how can we generate an array of (gray-scale) numbers that looks like fruits? how can we generate an array of (gray-scale) numbers so that the human observer perceives depth? computer vision = the problem of inverse graphics? 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 11
Example: Human & Art - Recovery of 3D Structure 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 12
Case Study Computer Vision & Object Recognition is it more than inverse graphics? how do you recognize the banana? the glas? the towel? how can we make computers to do this? 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 13
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 14
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 15
Complexity of Recognition http://www.victormolev.com 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 16
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 17
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 18
13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 19 Bev Doolittle: The forest has eyes
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 20
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 21
Complexity of Recognition 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 22
Recognition: the Role of Context Antonio Torralba 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 23
Objekterkennung - Intuitionen Wichtige Komponenten der Beschreibung lokale Beschreibung / Merkmale z.b. Augen, Mund, Nase globale Anordnung der lokalen Merkmale z.b. relative Positionen, relative Grösse Aber auch: schnelle Generierung von guten Hypothesen Segmentierung der Bildbereiche Szenenkontext 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 24
One or Two Faces? 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 25
Class of Models: Pictorial Structure Fischler & Elschlager 1973 Model has two components parts (2D image fragments) structure (configuration of parts) 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 26
Deformations 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 27
Clutter 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 28
Überblick Computer Vision Objekterkennung und Objektdetektion als Fallbeispiel Motivation heutiger Ansätze Bayes Decision Theory Verwendung von Merkmalen zur Objekterkennung Naive Bayes Klassifikator Gesichtsdetektion Schneiderman & Kanade: Naive Bayes Klassifikator de facto einer der erfolgreichsten Verfahren Diskussion & Ausblick 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 29
Bayes Decision Theory Beispiel: Buchstabenerkennung Ziel: klassifiziere neuen Buchstaben, so dass die Wahrscheinlichkeit der Fehlklassifikation minimiert wird 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 30
Bayes Decision Theory 1. Konzept: Priors (a priori Wahrscheinlichkeit) Beispiel: generell: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 31
Bayes Decision Theory 2. Konzept: bedingte Wahrscheinlichkeit mit x Merkmalsvektor (feature) x misst/beschreibt Eigenschaft(en) Beispiel: # der schwarzen Pixel, Höhen-Breiten-Verhältnis... 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 32
Bemerkung bzgl. pdf vs. Probability... Zusammenhang zwischen Wahrscheinlichkeitsdichte und Wahrscheinlichkeit für Wahrscheinlichkeit, daß x ist in dem Intervall (x0, x1), ist definiert durch: Wahrscheinlichkeit P(x) ist somit nicht direkt definiert Im folgenden verwenden wir P(x) in der folgenden Weise: wenn dx unendlich klein, die Wahrscheinlicht, dass x ist in dem Intervall (x,x+dx) kann berechnet werden wie folgt: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 33
Bayes Decision Theory Beispiel: Frage: welche Klasse? die Entscheidung sollte hier a sein 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 34
Bayes Decision Theory Beispiel: Frage: welche Klasse? da p(x a) viel kleiner als p(x b) sollte die Entscheidung hier b sein 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 35
Bayes Decision Theory Beispiel: Frage: welche Klasse? beachte, dass P(a) = 0.75 und P(b) = 0.25... das heisst, die Entscheidung sollte hier wieder a sein 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 36
Bayes Decision Theory Bayes Theorem: a posteriori Wahrscheinlichkeit (posterior) Wahrscheinlichkeit der Klasse, gegeben ein bestimmter Merkmalsvektor x : 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 37
Bayes Decision Theory Entscheidungsgrenze 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 38 38
Bayes Decision Theory Ziel: Wahrscheinlichkeit der Fehlklassifikation minimieren 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 39
Bayes Decision Theory Entscheidungsregel: entscheide C1 wenn das ist äquivalent zu: das ist äquivalent zu (genannt Likelihood Ratio Test): 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 40
Bayes Decision Theory Verallgemeinerung zu mehr als 2 Klassen: entscheide Klasse k immer dann, wenn diese die grösste a posteriori Wahrscheinlichkeit hat: oder äquivalent: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 41
Bayes Decision Theory Entscheidungsregionen: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 42
Bayes Decision Theory Verwendung von zwei Merkmalen: Problematisch: Schätzung der 2-dimensionalen Wahrscheinlichkeitsdichten nicht immer möglich davon haben wir zwei: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 43
Naive Bayes Classifier Annahme des naive Bayes Klassifikators: Die beiden Merkmale sind (statistisch) unabhängig Damit wird: Naive Bayes Klassifikator (für 2 Merkmale) 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 44
Naive Bayes Classifier Verwendung von d Merkmalen: Naive Bayes Klassifikator: Annahme, dass alle d Merkmale xi statistisch unabhängig sind (die Annahme der Unabhängigkeit ist oft nicht richtig, ergibt aber häufig gute Ergebnisse und ist somit ein guter Vergleich bzw. Basis zum Vergleich) 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 45
Naive Bayes Classifier Spezialfall 2-Klassenproblem: Entscheide Klasse C1 wenn: vereinfacht zum Likelihood Ratio Test : 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 46
Probability Density Estimation bisher: Bayes optimale Klassifikation Verwendung der Wahrscheinlichkeiten: Schätzung der Wahrscheinlichkeitsdichten (density estimation): Schätzung der Wahrscheinlichkeitsdichte einer Klasse Ck 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 47
Bayes Decision Theory Was ist an so interessant? Beispiel #1: Spracherkennung: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 48
Bayes Decision Theory Was ist an so interessant? Beispiel #1: Spracherkennung: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 49
Bayes Decision Theory Was ist an so interessant? Beispiel #1: Spracherkennung: This machine can recognize speech This machine can wreck a nice beach wie können wir den richtigen Satz erkennen?? 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 50
Bayes Decision Theory Was ist an so interessant? Beispiel #1: Spracherkennung: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 51
Bayes Decision Theory Was ist an so interessant? Beispiel #2: Bildverarbeitung: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 52
Überblick Computer Vision Objekterkennung und Objektdetektion als Fallbeispiel Motivation heutiger Ansätze Bayes Decision Theory Verwendung von Merkmalen zur Objekterkennung Naive Bayes Klassifikator Gesichtsdetektion Schneiderman & Kanade: Naive Bayes Klassifikator de facto einer der erfolgreichsten Verfahren Diskussion & Ausblick 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 53
Appearance-Based Methods Principle: learn appearance model from a (typically) large collection of images most often: sliding window approach (i.e. over all positions and scales!) classify each window (=image region) as face or non-face Aspekte: 1. Repräsentation des Objektes lokale Merkmale (z.b. Auge, Mund, Nase, ) globale Anordnung der Merkmale 2. Trainingsdaten sowohl positive Beispiele (z.b. Gesichter) als auch negative Beispiele (z.b. keine Gesichter) 3. Klassifikator und Lernmethode 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 54
Appearance-Based Methods Search strategy Search over Space and Scale (sliding window approach)... Scan an input image at one-pixel increments horizontally and vertically Downsample the input image by a factor of 1.2 and continue to search 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 55
Appearance-Based Methods Search strategy Search over Space and Scale (sliding window approach)...... Continue to down-sample the input image and search until the image size is too small 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 56
Beispiel: Gesichtsdetektion Schneiderman & Kanade - 1998 einer der perfomantesten Gesichtdetektoren 1. Repräsentation des Objektes Verwendung der Waveletzerlegung von Bildern: Darstellung der Gesichtsmerkale mit Frequenzen und deren Ort und Orientierung lokale Merkmale wavelet Koeffizienten: Frequenzen der Gesichtsmerkmale wie z.b. Auge, Mund globale Anordnung der Merkmale absolute Position der Frequenzen im Bild 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 57
Beispiel: Gesichtsdetektion 2. Trainingsdaten: Positive Samples Get as much variation as possible Manually crop and normalize each face image into a standard size (e.g., 19 19 pixels) Create virtual examples Negative examples Use any image that does not contain faces Explore large image subspace 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 58
Beispiel: Gesichtsdetektion: [Schneiderman and Kanade 98] Naïve Bayes Classifiers: Merkmale: xi : Wavelet Koeffizienten an bestimmter Position ( u, v ) 2 Klassenproblem: C1 : Gesichter C2 : alles andere = nicht-gesichter 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 59
Beispiel: Gesichtsdetektion: [Schneiderman and Kanade 98] Lernen = Schätze Wahrscheinlichkeit der Wavelet Koeffizienten für C1 = Gesichter Wavelet Koeffizienten von Bildern MIT Gesichtern C2 = nicht-gesichter Wavelet Koeffizienten von Bildern OHNE Gesichter Hier: Diskretisiere Koeffizienten und Positionen -> diskrete und endliche Anzahl von xi Zähle, wie häufig jedes xi in Bildern mit Gesichtern und Bildern ohne Gesichter vorkommt verwende Likelihood Ratio Test: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 60
Appearance-Based Methods Naïve Bayes Classifiers [Schneiderman and Kanade 98] Detecting faces in different pose Multiple detectors Each detector specializes to a view: frontal, left pose, right pose 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 61
Appearance-Based Methods Naïve Bayes Classifiers [Schneiderman and Kanade 98] Experimental Results Able to detect profile faces Extended to detect cars and other objects 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 62
Überblick Computer Vision Objekterkennung und Objektdetektion als Fallbeispiel Motivation heutiger Ansätze Bayes Decision Theory Verwendung von Merkmalen zur Objekterkennung Naive Bayes Klassifikator Gesichtsdetektion Schneiderman & Kanade: Naive Bayes Klassifikator de facto einer der erfolgreichsten Verfahren Diskussion & Ausblick 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 63
Diskussion & Ausblick Objekterkennung lokale Merkmale UND deren Konstellation ist wichtig für die allgemeine Objekterkennung (nicht nur Gesichter) benötigt man häufig aufwänderige Modelle Bestandteile sind aber im wensentlichen auch Merkmale und deren Konstellation Beispiel: Detektion von Personen in Sequenzen von Bildern: Weiterführende Veranstaltungen Computer Vision (jeweils SS) und Computer Vision 2 (jeweils WS) Maschinelles Lernen: Statistische Verfahren (jeweils SS) und Maschinelles Lernen 2: Statistische Verfahren (jeweils WS) 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 64
Confluence of Computer Vision & Computer Graphics: 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 65
Vielen Dank für die Aufmerksamkeit (und gleich zu den Übungen!) 13.05.2011 HCS - Computer Vision: Erkennung A. Kuijper & B. Schiele 66
WICHTIG! Auf mehrfachen Wunsch und Anregung wird ab sofort Moodle - das Lernportal Informatik - für die Verwaltung der Übungen eingesetzt: https://moodle.informatik.tu-darmstadt.de Hierzu muss sich jede der bereits gebildeten Übungsgruppen in eine der HCS zugeordneten Gruppen in Moodle eintragen (z.b. ein Gruppenmitglied für alle anderen der Gruppe). Die Abgabe und Bewertung der Übungen erfolgt dann komplett in Moodle.
Grundregeln der wissenschaftlichen Ethik am Fachbereich Informatik Der Fachbereich Informatik misst der Einhaltung der Grundregeln der wissenschaftlichen Ethik großen Wert bei. Zu diesen gehört auch die strikte Verfolgung von Plagiarismus. Ein Plagiat wird als Diebstahl geistigen Eigentums bezeichnet. Plagiarismus bezeichnet einen Vorgang, wissentlich und unter Missachtung wissenschaftlicher Ethik und des Urheberrechts geistiges Eigentum fremder Personen als eigenes Werk zu bezeichnen. Zu spezifischen Ausprägungen gehören: Fremde Arbeiten als seine eigenen auszugeben.. Damit sind beispielsweise grundsätzlich verboten: Das Abschreiben von Lösungen von Hausübungen. Der Schwere des Vergehens angemessen sind die möglichen Sanktionen. Diese können, abhängig vom Grad der Verfehlung, auch das Absenken der Bewertung und die Vergabe der Note nicht ausreichend (mit Verlust des Prüfungsversuches) umfassen.. (z.b. Exmatrikulation) http://www.informatik.tu-darmstadt.de/de/sonstiges/plagiarismus/