Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Künstliche Intelligenz und Angewandte Informatik.

Größe: px
Ab Seite anzeigen:

Download "Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Künstliche Intelligenz und Angewandte Informatik."

Transkript

1 Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Künstliche Intelligenz und Angewandte Informatik Bachelorarbeit im Studiengang Informatik zur Erlangung des akademischen Grades Bachelor of Science Recherche, Anwendung und Evaluierung verschiedener Verfahren zur Gesichtswiedererkennung Autor: Alexander Hartelt MatNr Abgabe: 18. Oktober Betreuer: Prof. Dr. Frank Puppe 2. Betreuer: M. Sc. Christian Reul

2 2 Abstract In dieser Bachelorarbeit wurde ein Programm entwickelt, das ein übergebenes Bild einer Person vorverarbeitet und von diesem Merkmale des Gesichtes extrahiert. Diese Merkmale werden verwendet, um eine Klassifikation der Person durchzuführen. Die Merkmalsextraktion wurde mit der Local Binary Pattern Histogramm (LBPH) Implementierung von OpenCV und der Convolutional Neural Netzwerk Implementierung von OpenFace getestet. Bei der Vorverarbeitung wird das übergebene Bild in ein Graustufenbild umgewandelt, das Gesicht aus dem Bild heraus geschnitten und eine Ausrichtung des Gesichts vorgenommen. Zusätzlich besteht die Möglichkeit, den Kontrast der Bilder durch einen Histogramm Ausgleich zu erhöhen. Die Evaluation erfolgte auf mehreren Datensets, von denen eines selbst erstellt wurde. Die Ergebnisse fielen, je nach Datenset sehr unterschiedlich aus. Auf dem eigens erstellten Datenset erreichte das System mit der LBPH-Extraktion eine Erkennungsrate von bis zu 66%. Die Convolutional Neural Netzwerk Implementierung erzielte bei demselben Datenset eine Erkennungsrate von ca. 93,9%. Zusätzlich wurde der Einfluss auf die Erkennungsrate durch die Anzahl der Trainingsdaten evaluiert. Bei einer Erhöhung der Trainingsbilder verbesserte sich bei beiden Systemen stets die Erkennungsrate. Vor allem die Verdopplung der Anzahl der Trainingsbilder von einem auf zwei Bildern erwies sich als sehr effektiv. Des weiteren wird vor der Konzipierung und Evaluation eine Zusammenfassung verschiedener Herangehensweisen zur Gesichtswiedererkennung gegeben. Darunter befindet sich eine Beschreibung der LBPH-, der Eigengesichter-, der Convolutional Neural Network- und der Feature basierten Herangehensweise.

3 Inhaltsverzeichnis 3 Inhaltsverzeichnis Abbildungsverzeichnis 5 Tabellenverzeichnis 6 1 Einleitung 7 2 Grundlagen für die Computer Vision Computer Vision Darstellung von Bildern in der Computer Vision RGB-Modell Grundlage Umwandlung zum Graustufenbild Histogramme Grundlage Histogramm Ausgleich Filter Übersicht zur Gesichtswiedererkennung Typischer Ablauf der Gesichtswiedererkennung Mögliche Herangehensweisen zur Gesichtswiedererkennung Local Binary Pattern Variationen am Radius und Anzahl der Punkte Uniforme Binary Patterns Anpassungen für die Gesichtswiedererkennung Eigengesichter Fishergesichter Feature basierte Herangehensweise Convolutional Neural Networks Convolutional Layer Max-Pooling Layer Fully Connected Layer Training des gefalteten Neuronalen Netzwerk Weitere State of the Art Methoden High Dimensional LBP High Fidelity Pose and Expression Normalization Ergebnisse Probleme bei der Gesichtswiedererkennung Variierende Beleuchtung Pose Verdeckung Konzeption und Verwendete Materialien Konzeption Verwendete Computer Vision Bibliotheken OpenCV Dlib Überblick über weitere Frameworks zur Gesichtswiedererkennung 39

4 Inhaltsverzeichnis Datensets Face Fussball Datenset Deutschland Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten Gesichtserkennung Augenerkennung anhand Kaskaden Augenerkennung mit Hilfe der Dlib Bibliothek Anpassung der Intensität von Farben Evaluation Durchführung der Evaluation Ergebnisse des Face94-Datenset Ergebnisse des Face95-Datenset Parameter des LBPH Evaluation des Fussball-Datensets Der Einfluss der Anzahl der Trainingsbilder auf die Genauigkeit Evaluation von OpenFace Erwähnenswerte Auffälligkeiten Diskussion und Ausblick Zusammenfassung der Ergebnisse Ausblick Literaturverzeichnis 59 Anhang Einlesen der Trainingsbilder Programm Installation Anwendung CD mit Ausarbeitung und Programmcode 66 Eidesstattliche Erklärung 66

5 Abbildungsverzeichnis 5 Abbildungsverzeichnis 1 Mögliche Darstellung eines Graustufenbildes in der Computer-Vision. 8 2 Darstellung des RGB Farben Spektrums als drei Dimensionaler Würfel [BB09] Umwandlung des RGB Bildes zum Graustufenbild Histogramm eines Graustufenbild Histogramm Ausgleich Funktionsweise eines Filter Nicht Lineare Filter Phasen der Gesichtswiedererkennung LBP-Berechnung Unterschiedliche Radien bei der LBP-Erstellung LBP Histogramm Gewichtung Darstellung von Eigengesichtern Darstellung der genutzten Merkmale Darstellung eines Integralbildes Beispiel eines Convolutional Neural Networks (CNN) Funktionsweise des Pooling Layers Training des CNN LBP Pyramide Ablauf der Hoch dimensionalen LBP Herangehensweise Posen und Ausdruck Normierung Evaluationen des LFW-Datenset Beleuchtungsproblem Posenproblem Ablaufdiagramm des Programms Beispielbilder des Faces94 Datenset Beispielbilder des eigenem Datensets Unbearbeitete Bilder Augenerkennung mit Hilfe von opencv Dlib Landmark Positionen Augenerkennung mit Hilfe von Dlib Resultat des Face Alignments Ergebnis der Histogram Equalization Trainingsbilder des face94-datenset Trainingsbilder des face95-datenset Einfluss auf die Erkennung, durch die Anzahl der Trainingsbilder pro Person Einfluss der Anzahl an Trainingsbildern pro Person auf die Erkennungsrate Falsch Klassifzierungen Auffälligkeiten bei der Evaluation Vergleich eines modellierten Gesichtes mit einer Aufnahme

6 Tabellenverzeichnis 6 Tabellenverzeichnis 1 Gefundenen FaceRecogntion Projekte/Frameworks Evaluation des LBPH Einfluss der Anzahl an Trainingsbildern pro Person auf die Erkennungsrate 53 4 Gegenüberstellung von OpenFace und OpenCV Einfluss der Anzahl an Vergleichsbilder auf die Erkennungsrate

7 1 Einleitung 7 1 Einleitung Das Automatische Wiedererkennen von Personen anhand biometrischer Daten mit Hilfe eines Computers hat in den letzten Jahren zunehmend an Bedeutung gewonnen. In der Kriminalistik werden heutzutage Fingerabdrücke genutzt um anhand dieser eine Person zu identifizieren. Jedoch hat die Identifizierung durch Fingerabdrücke den Nachteil, dass eine Interaktion mit der zu identifizierenden Person nötig ist. Diese ist bei der Wiedererkennung einer Person durch das Gesicht nicht nötig. Stattdessen werden mit Hilfe von Kameras Bilder aufgenommen, anhand deren eine Identifizierung erfolgen kann. Dadurch ist die Gesichtswiedererkennung besonders bei Themen wie der Terrorismusprävention heutzutage nicht mehr weg zu denken. Besonders der Einsatz solcher Systeme im Bereich der öffentlichen Verkehrsmitteln, z. B. an Flughäfen, Bahnhöfen oder in Zügen, ist derzeit ein heiß diskutiertes Thema. Ziel dieser Arbeit ist es dem Leser einen Überblick über die Gesichtswiedererkennung zu geben. Dazu werden sowohl Problematiken, als auch der Stand der Technik aufgezeigt. Im zweiten Teil der Arbeit soll ein Gesichtswiedererkennungs-Programm implementiert werden. Für die Evaluation wird ein eigenes aus Fußballspielern bestehendes Datenset erstellt. Evaluiert wird die Local Binary Pattern Histogramm Implementierung von OpenCV und die Neuronale Netz Implementierung von OpenFace. Zu erwähnen ist hier, dass OpenFace bereits eine Vorverarbeitung der Bilder implementiert hat. Die OpenCV Implementierung umfasst keine Vorverarbeitung und musste dahingehend zuerst erweitert werden. Die Arbeit ist in acht Kapitel aufgeteilt und ist wie folgend strukturiert: In Kapitel 2 werden Grundlagen der Computer Vision, die für den Verlauf der Arbeit wichtig sind, aufgezeigt. Anschließend wird im Kapitel 3 ein Überblick über den grundsätzlichen Ablauf der Gesichtswiedererkennung gegeben. Des Weiteren werden Herangehensweisen zur Gesichtswiedererkennung, die teilweise in OpenCV implementiert sind oder zum State of the Art gehören, aufgezeigt. In Kapitel 4 werden genutzte Materialien, wie Bibliotheken oder Datensets beschrieben. Zusätzlich wird eine kurze Übersicht zum Konzept des implementierten Programms gegeben. Im 5 Kapitel wird die Herangehensweise, die Probleme und die Erfolge der implementierten Vorverarbeitung aufgezeigt. Die Ergebnisse zur Evaluation des Implementierten Programms und OpenFace finden sich in Kapitel 6 wieder. Die Arbeit wird mit einer Diskussion und einem Ausblick über Erweiterungen des Programms, abgeschlossen.

8 2 Grundlagen für die Computer Vision 8 2 Grundlagen für die Computer Vision Ziel dieses Kapitel ist es einen Überblick über wichtige Grundlagen für die Computer Vision und die Gesichtswiedererkennung zu geben. Aus diesem Grund ist dieses wie folgt strukturiert: Zuerst wird der Begriff Computer Vision definiert. Anschließend werden Hintergrundinformationen über das Abspeichern von Bildern in der Computer Vision gegeben. Dabei werden sowohl RGB als auch Graustufenbilder diskutiert, da diese wichtig für die Gesichtswiedererkennung und Vorverarbeitung sind. Zusätzlich wird ein kurzer Überblick über Histogramme gegeben, die ebenfalls relevant für eine Herangehensweise der Gesichtswiedererkennung ist. Auch wird eine Beschreibung der verschiedene Herangehensweisen zur Gesichtserkennung gegeben. 2.1 Computer Vision Die Computer Vision beschreibt den Bereich der Informatik, der sich mit Systemen oder Algorithmen beschäftigt, die dem menschlichen Sehen nachempfunden sind. Dabei wird versucht Bilder auf Computerebene zu verstehen, um automatisiertes Arbeiten zu bewerkstelligen. Computer Vision umfasst dabei Bereiche wie Objektdetektion, Zeichenerkennung und Lageerkennung. 2.2 Darstellung von Bildern in der Computer Vision Um automatisiertes Arbeiten mit Bildern zu bewerkstelligen, müssen Bilder für den Computer so dargestellt werden, dass diese für ihn verständlich sind. In der Computer Vision werden Bilder häufig als Matrizen dargestellt. Jeder Eintrag in dieser Matrix repräsentiert dabei ein Pixel im Bild. Ein Graustufenbild mit Breite x und Höhe y hat somit xy viele Einträge. Beispielsweise hat die Repräsentation eines Graustufenbild mit Pixelhöhe 80 und Pixelbreite 80 bereits 6400 Einträge. P 1, P 1,x P y, P y,x Abbildung 1: Mögliche Darstellung eines Graustufenbildes in der Computer-Vision Anders als im geometrischen Koordinatensystem, ist der Nullpunkt in der Bildverarbeitung im oberen linken Eck angesiedelt (siehe 1). Ausgehend davon nimmt der x-wert nach rechts zu und der y-wert wird nach unten hin größer. Die Repräsentation von RGB-Bildern in der Computer Vision basiert auf dem gleichen

9 2 Grundlagen für die Computer Vision 9 Ansatz. Da bei den RGB-Bildern jedoch drei Kanäle für die Farben Rot, Grün und Blau existieren, ist diese leicht erweitert worden. Diese Erweiterung für RGB-Bilder ist auf zwei Wegen möglich: Eine der Varianten besteht darin, statt in jedem Eintrag der Matrix nur einen Wert zu speichern, gleich drei Werte abzulegen. Statt nur den Grauwert in einem Eintrag zu speichern, wird in einem Eintrag der Rotwert, Grünwert und Blauwert gesichert. Die andere Möglichkeit besteht darin, für jeden Kanal des RGB eine eigene Repräsentation (Matrix) zu erstellen. 2.3 RGB-Modell Im Folgendem Abschnitt wird eine Übersicht über das RGB-Modell und dessen Umwandlung zum Graustufenbild gegeben Grundlage Nach der Dreifarbentheorie lässt sich jede Farbe durch das Mischen der Primärfarben erhalten. Das RGB-Modell basiert auf dieser Methode und nutzt die Farben Rot, Grün und Blau, um andere Farben auszudrücken. Der Farbanteil der Farben kann je nach Größe des Speicherplatzes, den sie beziehen unterschiedliche Werte einnehmen. In der Regel wird jedem Farbanteil ein Byte (8 Bit) zugewiesen, wodurch Werte zwischen 0 und 255 möglich sind (2 8 ). Insgesamt existieren in der 1 Byte Darstellung ausreichend Farben (ca. 16 Millionen), um alle wichtigen Informationen zu repräsentieren. Da das RGB Modell Farben addiert, um andere Farben zu erhalten (additive Farbmischung) startet jede Farbe mit der schwarzen Farbe. Erst mit dem Addieren einer Primärfarbe entstehen andere Farben [BB09].

10 2 Grundlagen für die Computer Vision 10 Abbildung 2: Darstellung des RGB Farben Spektrums als drei Dimensionaler Würfel [BB09] Umwandlung zum Graustufenbild Für die Gesichtswiedererkennung spielen Graustufenbilder eine wichtige Rolle, da mit diesen schneller und einfacher zu arbeiten ist. Bilder von Gesichtern liegen oftmals in der Farbversion vor, weswegen diese erst in ein Graustufenbild umgewandelt werden müssen. Das RGB-Bild hat mit Rot, Grün und Blau drei Kanäle zu Verfügung, um Farben zu generieren. Das Graustufenbild besitzt dagegen nur einen Kanal, dementsprechend kann ein Pixel des Graustufenbildes nur einen Grauwert annehmen. Je höher der Wert des Grauwertes desto heller erscheint der Pixel. Einer der einfachsten Algorithmen für das Umwandeln eines RGB-Bildes in ein Graustufenbild ist wahrscheinlich das Bilden des Durchschnittes über alle drei Kanäle. Grauwert = 1 3 R G B (1) Dadurch, dass das menschliche Auge Farben unterschiedlich stark wahrnimmt, wird häufig bei der Umwandlung des Bildes in der Computer Vision versucht dies zu berücksichtigen. Aus diesem Grund werden die einzelnen Farbkanäle unterschiedlich stark gewichtet. Die Farben Grün und Rot werden heller wahrgenommen als die blaue Farbe [BB09]. Daraus ergibt sich zur Umwandlung folgende Gleichung: Grauwert = R G B (2)

11 2 Grundlagen für die Computer Vision 11 (a) RGB-Bild (b) Graustufenbild Abbildung 3: Umwandlung des RGB Bildes zum Graustufenbild 2.4 Histogramme Im Folgendem Abschnitt wird eine Übersicht über Histogramme gegeben Grundlage Das Histogramm eines Bildes beschreibt das statistische Aufkommen bestimmter Farben. Bei einem 1 Byte großen Graustufenbild würde beispielsweise das Auftreten der 256 Farben gezählt, indem die Farbe jedes Pixels betrachtet wird. Die Ausgabe einer Histogramm Erstellung ist ein Vektor. Oftmals wird dieser Vektor als Balkendiagramm visualisiert, dessen X-Achse die Intensität der verschiedenen Pixel angibt und dessen Y-Achse die Anzahl der Pixel mit genau dieser Intensität darstellt. Das Histogramm ist so dargestellt, dass von links nach rechts die Intensität heller wird. In dem einfachen Fall eines 8-Bit Graustufenbildes würde das Histogramm beispielsweise das Aufkommen der 256 Graustufen festhalten. Dabei sind im linken Teil des Histogramms die dunklen Pixel des Bildes angesiedelt, die nach rechts hin immer heller werden. Jeder Balken im Histogramm ist dabei definiert als, h(i) = die Anzahl der Pixel in einem Bild mit der Intensität i [BB09]. (3) Die Verteilung der Pixel lässt sich aus dem Histogramm somit leicht ablesen. Da das Histogramm das statistische Aufkommen bestimmt, gehen globale, räumliche Informationen des Bildes verloren. Dementsprechend lässt sich aus einem Histogramm nicht mehr das ursprüngliche Bild rekonstruieren. Oftmals ist es auch nützlich zu wissen wie weit das Aufkommen der Farbwerte der Pixel von einer Gleichverteilung entfernt ist. Um dies ebenfalls leicht abzulesen, wird ein kumulatives Histogramm erstellt, indem jedem Grauwert die Summe aller Aufkommen bis zu diesem Grauwert zugerechnet wird. H(g) = h(i) (4)

12 2 Grundlagen für die Computer Vision 12 (a) Graustufenbild (b) Histogramm Abbildung 4: Histogramm eines Graustufenbild Bei einer Gleichverteilung aller Grauwerte wäre die Darstellung des kumulativen Histogramms eine monoton steigende Gerade. Diese beiden Histogramme und die Informationen, die mit dem Bild extrahiert werden, können genutzt werden, um das Bild besser zu verstehen und eventuell nötige Anpassungen vorzunehmen. Beispielsweise lässt sich damit herausfinden, ob Bilder überoder unterbelichtet sind. Zusätzlich zur Helligkeit gibt ein Histogramm Auskunft über den Kontrast und die Intensitätsverteilung der Pixel in einem Bild. Dies ist unter anderem in der Gesichtswiedererkennung sinnvoll, um Unregelmäßigkeiten gegebenenfalls zu normieren Histogramm Ausgleich Der Histogramm Ausgleich wird genutzt, um den Kontrast von Bilder zu verbessern. Oftmals ist es notwendig Bilder soweit anzupassen, dass ihre Intensitätsverteilung ähnlich ist, um diese besser vergleichen und vereinheitlichen zu können [BB09]. Dies findet vor allem Verwendung bei über- oder unterbelichteten Bildern. Ziel des Histogramm Ausgleichs ist es das Bild so anzupassen, dass das Histogramm dieses angepassten Bildes eine Gleichverteilung aufweisen würde. Dies wird bewerkstelligt, indem eine Punktoperation auf jeden Pixelwert angewendet wird. Der Punktoperat wird aus dem Kumulativen Histogramm generiert. Dieser ist wie folgt für jeden Pixelwert definiert:

13 2 Grundlagen für die Computer Vision 13 f eq (a) = H(a) K 1 MN M und N stehen dabei für die Maße des Bildes. Der Parameter K gibt die Anzahl der unterschiedlichen Pixelwerten an, die in dem Bild auftauchen. Wie in Abbildung 5 zu sehen ist, versucht die Histogramm Equalization das Bild soweit zu ändern, dass das kumulative Histogramm eine monoton steigende Gerade aufweist. (5) Abbildung 5: Oben: Histogramm eines Bildes (links), Histogramm eines Bildes nach der Histogramm Equalization (rechts) Unten: Kumulative Histogramm eines Bildes (links), Kumulative Histogramm nach der Histogramm Equalization (rechts)[bb09] 2.5 Filter Ein Filter wird häufig genutzt, um Bilder für einen Anwendungsfall zu verbessern. Mit einem Filter ist es beispielsweise möglich bestimmte Feature wie die Kanten eines Bildes herauszuarbeiten, oder störende Anteile eines Bildes zu reduzieren. Dies funktioniert auf ähnlicher Weise wie eine Punktoperation, nur dass statt eines Punktes oder Pixels ein kleiner Bereich im Bild genommen wird, um den Wert des neuen Pixels zu berechnen. Die Größe des Bereiches der benutzt wird, ist dabei vom verwendeten Filter abhängig [BB09]. Häufig wird zwischen linearen und nichtlinearen Filtern unterschieden. Ein nicht linearer Filter wäre beispielsweise der sogenannte Minimums-Filter, der das

14 2 Grundlagen für die Computer Vision 14 Pixel durch das dunkelste Nachbarpixel ersetzt. Abbildung 6 stellt die Funktionsweise eines Filters auf das Bild I mit dessen Ausgabebild I schematisch dar. Abbildung 6: Funktionsweise eines Filters Die Filtermatrix H ist der Operator, der auf das Bild angewendet wird. Die Filtermatrix besitzt einen sogenannten Filterkern (Rot eingezeichnet), der schrittweise über jedes Pixel im Bild gezogen wird. Der neue Wert des Pixel I (u,v) wird berechnet, wenn der Filterkern über dem Pixel I(u,v) liegt. Dies geschieht, indem jeder Filterkoeffizient H(i,j) mit dem korrespondierten Bild Element I(u+i,v+i) multipliziert wird und die Ergebnisse addiert werden. Das daraus resultierende Ergebnis ist der neue Wert für das neue Bild I [BB09]. Abbildung 7: Anwendung von Filtern

15 2 Grundlagen für die Computer Vision 15 In Abbildung 7 wird die Anwendung von zwei Filtern gezeigt. Das Weichzeichnen wird erzeugt, indem eine Filtermatrix verwendet wird, die die umliegenden Nachbarpixel verwendet, um den Durchschnitt zu berechnen. Entgegengesetzt dazu wird beim Laplace-Kantenfilter der Unterschied zwischen den Pixel und dessen Nachbarn dazu genutzt, um Kanten im Bild zu berechnen.

16 3 Übersicht zur Gesichtswiedererkennung 16 3 Übersicht zur Gesichtswiedererkennung Diese Kapitel gibt zuerst einen grundsätzlichen Überblick zum Ablauf der Gesichtswiedererkennung. Nachfolgend werden zusätzlich die bekanntesten Methoden zur Gesichtswiedererkennung genauer erläutert. 3.1 Typischer Ablauf der Gesichtswiedererkennung Die Gesichtswiedererkennung setzt sich aus mehreren Bereichen zusammen. Abbildung 8 zeigt beispielsweise einen möglichen Ablauf der Gesichtswiedererkennung. Dieser kann in die Phasen Gesichtserkennung, eventuell benötigtes Vorbearbeiten der Daten, Extrahieren der Gesichtsmerkmale und anschließendes Wiedererkennen des Gesichtes unterteilt werden. Teilweise kann auf die Phasen Gesichtserkennung und Vorbearbeitung der Daten verzichtet werden, falls die Testbilder und Trainingsbilder bereits vorbearbeitet vorliegen. Der folgende Abschnitt gibt einen kurzen Überblick über die einzelnen Phasen der Gesichtswiedererkennung: Gesichtserkennung: Obwohl die Face Detection ein eigenes Gebiet der Computer Vision ist, ist dieses eng mit der Gesichtswiedererkennung verknüpft. Dies hat mehrere Gründe: Liegen beispielsweise die Bilder der Gesichter unvorbereitet vor, so muss erst das Gesicht in diesem Bild gefunden und herausgeschnitten werden. Dies ist vor allem sinnvoll, wenn mehrere Gesichter in einem Bild vorkommen. Bei den meisten Methoden zur Wiedererkennung wird davon ausgegangen, dass bereits nur ein Gesicht auf dem übergebenen Bild zu sehen ist. Preprocessing: Eng verbunden mit der Gesichtswiedererkennung ist das Vorbearbeiten der Bilder, da die Gesichtserkennung genutzt werden kann, um sich auf den Bereich des Bildes mit dem Gesichtes zu konzentrieren und weitere unwichtige Informationen auf dem Bild zu verdecken. Zusätzlich wird in dieser Phase versucht die einzelnen Bilder untereinander zu normieren. Die Idee dahinter ist, dass die Gesichter insgesamt ähnlich bis gleich aufgebaut sind und somit Unregelmäßigkeiten wie Verschiebungen oder Rotation beseitigt werden. Neben besseren Ergebnissen bei der Gesichtswiedererkennung führt dies zu einer besseren Performance, wodurch in späteren Phasen weniger Rechenleistung für die Wiedererkennung nötig ist. Feature Extraction: Diese Phase entzieht dem Bild die wichtigsten Informationen um damit später Gesichter untereinander vergleichen zu können. Wie und welche Informationen herausgezogen werden hängt von der Herangehensweise des verwendeten Algorithmus ab.

17 3 Übersicht zur Gesichtswiedererkennung 17 Face Recognition: Das eigentliche Wiedererkennen der Gesichter wird in der Literatur häufig einer eigenen Phase zugeschrieben. Hier werden die Merkmale, bzw. Informationen, die aus den Gesichtern herausgelesen wurden dazu genutzt, um diese mit dem wiederzuerkennenden Gesicht zu vergleichen und bei einem Treffer die ID der Wiedererkannten Person auszugeben. Abbildung 8: Phasen der Gesichtswiedererkennung 3.2 Mögliche Herangehensweisen zur Gesichtswiedererkennung Das Gebiet der Gesichtserkennung ist sehr beliebt. Jährlich entstehen hunderte neue Arbeiten über diesen Bereich. Dementsprechend gibt es eine große Anzahl von verschiedenen Herangehensweisen, die sich dem Problem der Wiedererkennung von Gesichtern widmen. Diese Herangehensweisen unterscheiden sich teils stark von anderen, teils sind diese aber nur kleine Anpassungen von bereits existierenden Algorithmen. Trotz dieser großen Anzahl lassen sich diese Methoden in drei Unterkategorien einteilen: Die Geometrische Feature basierte Herangehensweise nutzt lokale Merkmale, wie Augen, Nasen, Mund Position und Beziehungen wie Auge zu Auge Distanz um Gesichter wieder zu erkennen. Die Holistische Herangehensweise nutzt anstelle von lokalen Merkmalen im Gesicht das komplette Gesicht oder auch Bild zur Gesichtswiederkennung. Diese Art der Wiedererkennung nutzen oft die Diskriminanzanalyse oder Hauptkomponentenanalyse um die Feature Vektoren zu reduzieren. Hierunter zählen Methoden wie Fisherfaces oder Eigenfaces.

18 3 Übersicht zur Gesichtswiedererkennung 18 Die Hybride Herangehensweise wird genutzt, falls Methoden sich weder in die Geometrische Feature basierte, beziehungsweise in die Holistische Herangehensweise eingliedern lassen. Solche Methoden basieren oft auf Teilen beider Methoden um Gesichter wiederzuerkennen. Nachfolgend werden verschiedene Methoden zur Merkmalsextraktion vorgestellt. 3.3 Local Binary Pattern Local Binary Pattern (LBP) ist ein sehr beliebtes Thema in der Computer Vision, da diese schnell und einfach zu verstehen sind. Ursprünglich wurden LBP zur Klassifizierung von Texturen genutzt. Inzwischen lassen sich durch Anpassungen diese auch zum Wiedererkennen von Gesichtern nutzen. Die Grundidee von LBP ist es die lokale Struktur festzuhalten, indem jedem Pixel ein Wert zugeordnet wird, der durch einen Vergleich der Intensität mit jedem Nachbar Pixel erstellt wird. Ist die Intensität des zu vergleichenden Pixel höher so wird eine 1 geschrieben, andernfalls eine 0. Das Ergebnis ist eine Binärsumme, die durch Ablesen der erstellten Werte in eine Richtung entsteht. Aus den so entstehenden Binärsummen wird ein Histogramm erstellt, das genutzt werden kann um Texturen zu erkennen. Das Histogramm selbst hat dabei 256 (2 8 ) verschiedene Einträge, da jedes Pixel acht Nachbarn hat und diese jeweils zwei Werte (0 oder 1) annehmen können. Durch dieses Vorgehen haben die Local Binary Patterns den Vorteil, robuster gegen Lichteinstrahlung und Pose zu sein [Pie]. Abbildung 9: Beispielberechnung des Lokal Binary Pattern für ein Pixel [AHP06] Variationen am Radius und Anzahl der Punkte Um auch einen Deskriptor für Texturen unterschiedliche Größe zu erstellen, wurde der LBP Pattern dahingehend erweitert, dass auch unterschiedlich große Nachbarschaften genutzt werden können [AHP06]. Die Nachbarschaft eines Pixel ist dabei eine Auswahl von Punkten, die sich mit einem bestimmten Radius um das Pixel befinden. Die Schreibweise ist definiert als : (P,R) bei der P die Anzahl der Punkte auf dem Kreis ist und R der Radius ist. (6)

19 3 Übersicht zur Gesichtswiedererkennung 19 Falls sich die Punkte des Kreises nicht auf dem Zentrum eines Pixels befinden, wird eine bilineare Interpolation benötigt um sich den nächsten Zentren anzunähern. Wie in 10 zu sehen ist, ist (8,1) ein Kreis mit Radius von 1, auf welchem 8 Punkte markiert sind. Abbildung 10: Nachbarkeitbeispiele der Größe (8,1), (16,2) und (8,2)[AHP06] Uniforme Binary Patterns Um die Größe des Histogramm Vektors zu reduzieren wurden sogenannte Uniforme Local Binary Pattern eingeführt [OPM02]. Uniform Binary Pattern haben höchstens zwei Bitübergänge im Patter. Dementsprechend wäre , und beispielsweise Uniform. Pattern mit vier Übergänge wie oder mit sechs wären nicht mehr uniform. Der Unterschied befindet sich jedoch in der Erstellung des Histogramms aus den Binary Patterns. Während jeder unterschiedlicher Uniforme Pattern einen Eintrag im Histogramm bekommt, werden alle nicht uniformen Pattern dem gleichen Eintrag zugeordnet [AHP06]. Das Histogramm eines 1 Byte großen Graustufenbildes kann 256 Einträge (bins) aufweisen, mit Hilfe der uniformen Pattern können die Einträge des Histogramms jedoch auf 59 (58 uniforme Pattern + 1 Pattern für alle nicht uniforme) reduziert werden. Dies hat viel kleinere Vektoren zur folge, mit denen einfacher zu Arbeiten ist. Die meisten vorkommenden Pattern in einen Graustufenbild sind laut Matti Pietikäinen [AHP06] Uniform. So besteht ein 1 Byte großes Graustufenbild zu 90,6% aus uniformen Pattern (8,1). Mit der Größe des Radius des Kreises nimmt dies aber ab, bei (16,2) sind nur noch 70% aller Pattern uniform Anpassungen für die Gesichtswiedererkennung Das Problem der Local Binary Pattern für die Gesichtserkennung ist hierbei, dass die globalen Informationen des Gesichtes, wie der Aufbau eines Gesichtes, durch die Nutzung des Histogramms verloren gehen. Aus diesem Grund wird das Bild in viele kleinere Segmente geteilt. Für jedes dieser kleineren Bildsegmente wird das Histogramm nach

20 3 Übersicht zur Gesichtswiedererkennung 20 obigem Schema berechnet. Aus den daraus resultierenden Histogrammen wird ein Deskriptor für das gesamte Bild erstellt, in dem die einzelnen Histogramme miteinander konkateniert werden. Der somit entstandene Deskriptor basiert somit auf drei verschiedenen Level der Lokalität[AHP06] Das erste Level ist das Vergleichen der einzelnen Pixel miteinander. Auf dem zweiten Level werden die Binärsummen genutzt, um das Histogramm eines kleinen Bereiches zu erstellen. Letztendlich wird durch das konkatenieren dieser "lokalen" Histogramme ein globaler Deskriptor erstellt, der die Informationen des gesamten Bildes nutzt und der dazu genutzt werden kann, um Gesichter wieder zu erkennen. Zusätzlich werden die einzelnen Segmente des Bildes unterschiedlich stark gewertet. So ist vor allem der Augenbereich für die Gesichtserkennung aussagekräftig, aber Bereichen wie Mund und Schläfen kommen ebenso mehr Bedeutung zu. Abbildung 11: LBP Histogramm Gewichtung [AHP06]

21 3 Übersicht zur Gesichtswiedererkennung Eigengesichter Die Eigengesichter gehört dem holistischen Methodenbereich zur Gesichtswiedererkennung an, die zudem auf der Hauptkomponentenanalyse basieren. Die Hauptkomponentenanalyse erstellt Hauptkomponenten (Linearkombinationen), um mit Hilfe dieser große Matrizen vereinfacht darzustellen. Auf diesem Grundgedanke baut die Eigengesichter Herangehensweise auf. Die Matrixrepräsentation (siehe 2.2) der Gesichtsbilder werden in Vektoren umgebaut, damit diese Punkte im Raum repräsentieren. Dies geschieht, indem die Zeilen der Matrix der Reihe nach hinten angehängt werden. Die Matrix aus Kapitel 2.2 könnte dann in etwa so aussehen: vector = (p 1,1,.,.,., p 1,x,..., p y,1,.,.,., p y,x ) (7) Die Vektoren der Gesichter bilden einen sogenannten Gesichtsraum. Die Idee ist, durch das Messen der Distanz in dem Gesichtsraum, die Ähnlichkeit verschiedener Gesichter zu ermitteln. Liegt die Distanz in einem bestimmten Bereich so gilt das Gesicht als erkannt. Zusätzlich lässt sich anhand der Distanz erkennen, ob es sich bei dem Bild um ein Gesicht handelt, indem ermittelt wird, ob das zu erkennende Gesicht im Bereich des Gesichtsraumes liegt. Jedoch ist dieser Gesichtsraum selbst bei sehr kleinen Bildern sehr groß. Wird beispielsweise ein übliches Graustufenbild mit Länge und Breite 100 betrachtet, so besitzt der Vektor dieses Graustufenbildes bereits zehntausend Dimensionen. Mit Vektoren dieser Dimension Operationen auszuführen ist natürlich sehr rechenintensiv und führt zu zusätzlichen Problemen bei der Gesichtsidentifizierung. Aus diesem Grund werden diese Daten in einen kleiner dimensionierten Raum mit Hilfe der Hauptkomponentenanalyse versucht zu projizieren. Das Verfahren selbst wurde von Matthew Turk und Alex Pentland entwickelt [TP91] und gliedert sich in folgende Schritte: Schritt 1: Aufgrund der Hauptkomponentenanalyse müssen die einzelnen Bilder normiert werden. Aus diesem Grund wird bei der Eigengesichts Herangehensweise ein Durchschnittsbild aus allen Gesichtern konstruiert, indem alle Gesichter addiert und durch deren Anzahl geteilt werden. µ = 1 n x i (8) n i=1,wobei n die Gesamtanzahl aller Gesichter und x ein Gesicht aus dem Trainingsset ist.

22 3 Übersicht zur Gesichtswiedererkennung 22 Schritt 2: Das ermittelte Durchschnittsbild wird von jedem Bild abgezogen um die normierten Gesichter zu bekommen. φ i = x i µ (9) Schritt 3: Der nächste Schritt ist das Bauen der Kovarianz Matrix aus den normalisierten Gesichtern nach dem Schema: C = 1 n φ i φ T i = AA T (10) n i=1 Schritt 4: Aus der Kovarianz Matrix werden die Eigenwerte und Eigenvektoren berechnet. Der Vektor v ist dabei ein Eigenvektor der Matrix C, wenn dieser durch Multiplikation mit C auf ein vielfaches von v abgebildet wird. Daraus ergibt sich folgender Formel, bei der v der Eigenvektor und λ der Eigenwert ist. Cv = λv (11) Schritt 5: Nachdem die Eigenwerte berechnet wurden, werden die Eigenvektoren absteigend nach ihrem Eigenwert sortiert. Dabei bildet jeder Eigenvektor v i eine Spalte der Matrix V, der Eigenraum genannt wird.[ws00] V = (v 1, v 2..., v n ) (12) Gesichtserkennung bei der Eigengesichtsmethode Mit dem Eigenraum, der in Gleichung 12 erstellt wurde, ist es möglich die Gesichtswiedererkennung durchzuführen. Bevor das wiederzuerkennende Gesicht wiedererkannt werden kann, müssen alle Trainingsbilder in den Gesichtsraum projiziert werden. Dies wird bewerkstelligt, indem das Skalarprodukt vom Gesichtsraum mit jeden normalisierten Bild berechnet wird. Die daraus resultierenden Vektoren sind die Eigengesichter - daher auch der Name dieser Herangehensweise. Jedes Trainingsbild lässt sich aus Addition der verschiedenen Eigengesichter rekonstruieren. Dabei werden die Eigengesichter für jedes Gesicht jedoch unterschiedlich stark gewichtet. Abbildung 12 zeigt die ersten zehn Eigengesichter, die beim Training eines Datensets erstellt worden. Die Gesichter können dabei als globale Varianz über alle Gesichter wahrgenommen werden [ZT]. Durch die Sortierung der Eigenwerte stellen die vordersten Eigengesichter die größte Varianz dar. Die letzten Eigengesichter, die im Normalfall die geringsten Varianz aufweisen, sind bei größeren Datensets oftmals nur noch verrauschte Bilder.

23 3 Übersicht zur Gesichtswiedererkennung 23 Um das zu klassifizierende Bild zu erkennen wird dieses ebenfalls in den Gesichtsraum projiziert. Davor muss dieses jedoch erst ebenfalls nach Schema 8 vereinheitlicht werden. Ist dies geschehen muss lediglich der nächste Vektor im Gesichtsraum gefunden werden um das Testbild zu klassifizieren. Da über die Distanz der Vektoren die Ähnlichkeit der Gesichter zueinander bestimmt werden kann, kommt als Klassifikator die Euklidische Distanz zum Einsatz. Diese sucht lediglich den nächsten Vektor im Unterraum um das Gesicht zu klassifizieren. Abbildung 12: Darstellung von Eigengesichter des faces94 Datensets 3.5 Fishergesichter Das Fishergesichtsverfahren ist genauso wie die Eigengesichtsherangehensweise eine holistische Methode zur Gesichtswiedererkennung. Beide Verfahren sind dabei ähnlich aufgebaut. Das Problem bei der Eigengesichtsmethode ist, dass bei Klassifizierung eines Gesichtes, das sich in Mimik und Beleuchtung von den trainierten Gesichtern unterscheidet, es zu einer falschen Klassifizierung kommen kann. Dies liegt daran, dass die Variation in Mimik und Beleuchtung zu einer höheren Varianz, als der Unterschied zu einem Gesicht einer anderen Person führen kann. Um dies zu vermeiden werden bei dem Fishergesichtsverfahren die Gesichter in Klassen aufgeteilt. Genauso wie bei dem Eigengesichtsverfahren werden die einzelnen Bilder in einen Unterraum projiziert. Bei der Fishergesichtsmethode wird versucht die Varianz der Bilder von ähnlichen Personen (Klassen) zu minimieren und zugleich die Varianz der Bilder unterschiedlicher Personen zu maximieren. Gesichter einer Person werden dadurch im projizierten Unterraum unabhängig von deren Unterschiede (bsp. durch Zeit, Licht hervorgerufen) nah beieinander liegen, währenddessen die Gesichter anderer Personen weiter davon entfernt sein werden. Insgesamt ist das Fishergesichter Verfahren dem Eigengesichtsverfahren ähnlich aufgebaut und gliedert sich in folgende Schritte:

24 3 Übersicht zur Gesichtswiedererkennung 24 Schritt 1: Ähnlich wie bei dem PCA basierten Verfahren wird auch hier ein Durchschnittsgesicht aller Gesichter erstellt. µ = 1 n x i (13) n i=1 Da die einzelnen Gesichter einer Klasse angehören, wird zusätzlich ein Durchschnittsgesicht jeder Klasse (Person) erstellt. µ k = 1 n k x i,k (14) n k i=1 bei der n k die Anzahl aller Gesichter in einer Klasse, und x i,k ein Gesicht der Klasse k aus dem Trainingsset ist. Schritt 2: Darauffolgend wird sowohl die Zerstreuungsmatriz für die Zerstreuung der Bilder in jeder Klasse berechnet C n i S w = (x ji m j )(x ji m j ) T (15) i=1 j=1 als auch die Zerstreuung zwischen den einzelnen Klassen, C S b = n i (m i m)(m i m) T (16) i=1 bei der n i die Anzahl der Bilder in der Klasse i, m das Durchschnittsgesicht aller Gesichter, und m j das Durchschnittsgesicht einer Klasse (Person) ist. Schritt 3: Der Fisher Algorithmus versucht nun eine Projektion W zu finden, der die Klassen bestmöglich trennt [Faca] W opt = argmax w W T S B W W T S W W (17) Schritt 4: Die Berechnung von W erfolgt auf dem selben Weg wie bei dem Eigengesichtsverfahren, indem das generelle Eigenproblem gelöst wird, [Faca] S B v i = λ i S w v i w (18) bei der v ein Eigenvektor und λ der dazugehörige Eigenwert ist. Die Klassifizierung selbst erfolgt analog zur Eigengesichtsmethode.

25 3 Übersicht zur Gesichtswiedererkennung Feature basierte Herangehensweise Einer der ersten Versuche automatisch Gesichter zu klassifizieren lag darin, Positionen wichtiger Gesichtsparteien wie Augen und Mund zu extrahieren um damit einen Vektor zu konstruieren, der ein Gesicht beschreibt. Der Vektor wurde dabei aus 16 sogenannter Features konstruiert. Die erfolgreiche Klassifikation lag bei einem 20 Bilder Datenset bei 75%.[BP92]. Jedoch nahm die erfolgreiche Klassifizierung recht schnell bei der Hinzunahme weitere neuen Personen ab. Später veröffentlichte R. Brunnelli eine erweiterte Form dieser Herangehensweise. Der Unterschied ist hierbei, dass der Vektor zur Klassifizierung eines Gesichtes aus Punkten besteht, [BP92] die viele Informationen des Gesichtes festhalten, robust gegen Licht und Stimmung der Person sind und bei denen die Bestimmung der Punkte möglichst einfach ist. Abbildung 13 zeigt ein Beispielgesicht mit Markierungen solcher verwendeter Features. Abbildung 13: Verwendete Merkmale im Gesicht zur Vektorerstellung[BP92] Insgesamt wurden 22 Features zur Vektorerstellung genutzt. Darunter befinden sich [BP92] die Position von Nase, Mund und Augen, die Dicke der Augenbrauen über der Pupille des Auges,

26 3 Übersicht zur Gesichtswiedererkennung 26 die Gesamtbreite des Gesichtes und Informationen zur Breite und Höhe von wichtigen Merkmalen, sowie eine Beschreibung der Form des Kinns durch mehrere Radien. Sehr wichtig bei dieser Herangehensweise ist die Pose und Perspektive der Gesichter. Dies liegt unter anderem daran, dass beispielsweise Informationen wie die Höhe der Augenbrauen zur Klassifizierung genutzt werden. Ist das trainierte Gesicht beispielsweise mehr rotiert als das zu klassifizierende Gesicht würde keine erfolgreiche Klassifizierung mehr stattfinden. Aus diesem Grund müssen die Gesichter vorher normiert werden, damit sie unabhängig von Rotation, Skalierung und Position sind. Die wichtigsten Schritte umfassen dabei[bp92]: Das Finden der Augenpositionen und Winkels, um mit Hilfe dieser die Skalierung anzupassen, indem die Distanz zwischen den Augen gefunden wird und das Gesicht nach einem Referenz Template skaliert wird. Zusätzlich wird die Helligkeit des Bildes angepasst, indem jeder Pixel durch die durchschnittliche Pixelintensität der Nachbarschaft geteilt wird, um Helligkeitsschwankungen auszugleichen. Um das Finden der Gesichtsmerkmale und Kanten zu vereinfachen, wird ein Integralbild erstellt. Aber anstatt das Integralbild als Ganzes zu nutzten, wird es in zwei Bereiche gegliedert. Zum einen in die Vertikale Integral Projektion und die Horizontale Projektion y 2 V (x) = I(x, y) (19) y=y 1 x 2 H(x) = I(x, y) (20) y=x 1 Diese Aufteilung hat den Vorteil, dass aus der Horizontalen Projektion leichter Informationen wie die Breite des Gesichtes und der Nase abgelesen werden können. Aus der Vertikalen Projizierung können dagegen Informationen, wie Position von bestimmten Merkmalen und Höheninformationen entnommen werden.[bp92]. Die Klassifizierung erfolgte dann über den nächsten Nachbar Klassifizierer. Mit dieser Herangehensweise wurden schon deutlich bessere Ergebnisse erzielt. So besitzt es bei einem 20 Klassen großen Datenset eine Genauigkeit von circa 85%. Jedoch weißt die Herangehensweise auch eine relativ große abnehmende Genauigkeit bei der Hinzunahme neuer Klassen auf. Zusätzlich ist diese sehr empfindlich gegenüber Verdeckungen und zeitlichen Änderungen.

27 3 Übersicht zur Gesichtswiedererkennung 27 Abbildung 14: Darstellung von einem Integralbild eines Gesichtes[BP92] 3.7 Convolutional Neural Networks Convolutional oder auch gefaltete Neuronale Netzwerke (CNN) sind eine Art von Neuronalen Netzen, die vor allem Aufgaben im Bereich der Computer Vision automatisieren sollen. Optische Zeichenerkennung, Gesicht oder Objekt Erkennung, aber auch Identifizierung von Objekten und Personen, sind Bereiche der Computer Vision in denen gefaltete Neuronale Netze bereits erfolgreich zum Einsatz kommen. In diesem Abschnitt wird ein Überblick über gefaltete Neuronale Netze gegeben. Ein gefaltetes Neuronales Netztwerk kann aus vielen Layern bestehen. Die wichtigsten Layer eines CNN können dabei von folgendem Typ sein: Convolutional Layer (Max)-pooling Layer Fully Connected Layer Im folgendem wird über diese Layer ein Überblick gegeben. Abbildung 15 stellt den Möglichen Aufbau eines Convolutional Network dar.

28 3 Übersicht zur Gesichtswiedererkennung 28 Abbildung 15: Beispiel eines Convolutional Neural Networks [CNNa] Convolutional Layer Der Convolutional Layer ist der Kern des gefalteten Netzwerk. Die Hauptaufgabe dieses Layers ist es Merkmale des Bildes zu extrahieren. Dieser Output wird berechnet, indem ein Filter/Kernel (siehe 2.5) über das Bild gelegt wird. Das Filterfenster wird schrittweise über jedes Pixel im Bild gezogen, um den Wert für das Pixel des neuen Bildes zu berechnen. Dieses neue Bild wird Feature Map genannt [CNNb][CNNa]. Zu erwähnen ist jedoch, dass jeder Convolutional Layer mehrere Filter besitzen kann. Der Output des Convolution Layer kann dementsprechend eine unterschiedliche Tiefe aufweisen. Aus der Sicht des neuronalen Netzwerkes ist der Filter die Gewichtung für alle Neuronen im Convolutional Layer. Als Eingabe dienen kleinere quadratischer Bereiche von Pixeln aus dem Bild, die durch ein über das Bild gleitendes Fenster bestimmt werden. Rezeptive Felder: Ein weiterer Grund für das Aufteilen in mehrere kleinerer Bereiche ist die Performance. Da der Rechenaufwand zu hoch wäre, um jedes Neuron mit jedem Pixel auf dem Bild zu verknüpfen werden sogenannte Rezeptive Felder erstellt. Diese Felder sind immer eine bestimmte Breite und Höhe groß. Jedes Neuron ist somit nur noch mit allen Pixeln in einem kleinen Bereich des Bildes verknüpft. Ein Nebeneffekt ist zusätzlich der Erhalt der lokalen Struktur des Bildes Max-Pooling Layer In der Regel ist nach jedem Convolutional Layer ein Pooling Layer geschaltet. Die Aufgabe des Pooling Layer ist es die Größe der Feature Maps, die aus dem Convolutional Layer gewonnen werden zu reduzieren [CNNa]. Dies bewirkt unter anderem auch eine Reduzierung des Rechenaufwands für später folgende Layers. Der Pooling Layer

29 3 Übersicht zur Gesichtswiedererkennung 29 reduziert die Dimension der Feature Maps, indem er kleine Blöcke der Feature Map nimmt und diese zusammenfasst. Abbildung 16 veranschaulicht die Funktionsweise des Max-Pooling Layers. Der obere Abschnitt des Bildes zeigt die Ausgabe des Convolutinal Layers bei dem 64 verschiedene Filter für das Eingabebild benutzt wurden. Nach dem Pooling Schritt verringert sich die Größe jeder Feature Maps von 224 x 224 auf 112 x 112. Bei Max Pooling mit Filtergröße 2 x 2 wird in dem Filterbereich der größte vorkommende Wert als neuer Wert für die Reduzierte Feature Map gewählt (siehe Abb. 16). Zudem wird durch das Wählen des stets größten Wertes die Robustheit gegen die Rotation bei der Erkennung verbessert. Abbildung 16: Funktionsweise des Pooling Layers [CNNa] Fully Connected Layer Die Fully Connected Layers stehen meist am Ende des Neuronalen Netzes und kann aus mehreren Schichten bestehen. Diese verbinden die Neuronen des Layers mit allen Aktivierungen der vorherigen Schicht. Der Fully Connected Layer nutzt die extrahierten Merkmale aus dem Convolutional Layer und dem Pooling Layer um das Bild zu klassifizieren. Oftmals wird in der Ausgabeschicht des Fully Connected Layers die Soft-

30 3 Übersicht zur Gesichtswiedererkennung 30 max Funktion genutzt, wodurch die Ausgabe des Neuronalen Netzes ein Vektor ist, der summiert 1 ergibt Training des gefalteten Neuronalen Netzwerk Um ein Aussagekräftiges Modell zu erhalten, muss dieses vorher trainiert werden. Genauso wie bei herkömmlichen Neuronalen Netzen wird dazu Backpropagation genutzt. Das Training des Gefalteten Neuronalen Netzen lässt sich vereinfacht in folgenden Schritten ausdrücken: Schritt 1: Das Neuronale Netzwerk wird mit zufälligen Werten initialisiert. Die Filter, die am Anfang des Neuronalen Netzes verwendet werden, sind somit mit zufälligen Werten versehen. Wie bei einem herkömmlichen Feedforward Neuronalen Netz wird der Output des Netzes mit diesen Gewichtungen berechnet. Schritt 2: Das Erwartete Ergebnis wird mit dem in Schritt 1 berechneten Ergebnis verglichen. Falls ein Unterschied vorliegt, wird dies als Fehler des Neuronalen Netzes angesehen. Schritt 3: Wurde in Schritt 2 ein Fehler berechnet, so wird ausgehend von der Ausgabeschicht das Neuronale Netzwerk rückwärts durchgegangen. Dabei werden die Gewichtungen und damit die Filter soweit angepasst, dass bei erneuter Eingabe der gleichen Werte ein besserer Ergebnis resultieren würde. Abbildung 17 visualisiert das gerade Genannte noch einmal. Eingabe ist ein Bild, auf dem ein Boot abgebildet ist. Das Gewünschte Ergebnis bei diesem Netzwerk ist, der Feature Vektor [0,0,1,0]. Da die Werte am Anfang zufällig initialisiert werden ist es sehr unwahrscheinlich diesen Vektor direkt als Ausgabe zu erhalten. Je nach Filter könnte der Ausgabe Vektor nach dem ersten Durchlauf beispielsweise den Vektor [0.1,0,5,0.2, 0.2] annehmen. Das Neuronale Netzwerk wird deswegen rückwärts durchgegangen, um die Werte so anzupassen, dass bei erneuter Eingabe der Ausgabe Vektor dem erwarteten Vektor ähnlicher aussehen würde. Je mehr Trainingsbilder genommen werden, desto robuster ist das resultierende Modell. Zur Klassifizierung müssen die Gesichter lediglich in das Neuronale Netz eingespeist werden. Ausgabe ist entweder eine Matrix- Repräsentation, anhand deren ein Vergleich stattfinden kann oder ein Softmax-Vektor.

31 3 Übersicht zur Gesichtswiedererkennung 31 Abbildung 17: Training des Gefalteten Neuronalen Netzes [CNNb] 3.8 Weitere State of the Art Methoden Dieser Abschnitt stellt ein paar aktuelle State of the Art Methoden kurz zusammen, die nicht auf Convolutional Neural Networks basieren High Dimensional LBP Dieser Ansatz ist eine Erweiterung der in vorgestellten Herangehensweise. Anstatt die Local Binary Pattern für jedes Pixel im ganzem Bild zu berechnen, werden hierbei ausschließlich fixe Bereiche wichtiger Punkte wie Augen, Nase und Mundposition gewählt (Beispielsweise der 20 x 20 Bereich um das Auge). Dieser fixe Bereich wird von unterschiedlichen Skalierungen des Bildes genommen um den Feature Vektor zu bauen[ccws13]. Dies hat den Vorteil, dass der fixe Bereich der großen Skalierung die detaillierte Erscheinung um den betrachteten Punkt beschreibt und der fixe Bereich der kleinen Skalierung beispielsweise die Form und Aufbau des Gesichtes festhält. Abbildung 18: Mehrskalige Repräsentation [CCWS13]

32 3 Übersicht zur Gesichtswiedererkennung 32 Die so generierte Feature Vektoren können bis zu Dimensionen aufweisen, weshalb es nötig ist eine Reduzierung vorzunehmen. Die Reduzierung erfolgt, indem zuerst mit Hilfe der Hauptkomponentenanalyse der Feature Vektor komprimiert wird[ccws13]. Auf diese komprimierten Feature Vektoren wird eine überwachte Unterraum Lernmethode wie LDA oder Joint Bayesian angewendet, um für die Gesichtserkennung wichtige Informationen zu extrahieren. Nachdem diese Vorgehensweise für alle Bilder im Trainingsset angewendet wurde, kann eine Matrix konstruiert werden, mit der hoch dimensionierte Feature Vektoren direkt auf klein dimensionierte projiziert werden können. Mit Hilfe dieser können die zu testenden Bilder auf eine schnelle Weise in niedrig dimensionierte Feature Vektoren umgewandelt werden, die mit den Feature Vektoren des Trainingssets auf Ähnlichkeiten verglichen werden kann. In Abbildung 20 ist der Ablauf schematisch dargestellt. Abbildung 19: Ablauf der Hochdimensionalen LBP Herangehensweise [CCWS13] High Fidelity Pose and Expression Normalization Viele Fehler bei der Wiedererkennung geschehen durch die unterschiedlichen Posen und Ausdrucke der Personen. Diese Herangehensweise versucht diese Fehler zu reduzieren,

33 3 Übersicht zur Gesichtswiedererkennung 33 indem eine Normierung der Gesichtspartie vorgenommen wird. Anstatt der herkömmlichen Vorverarbeitungspipeline, bei der die Gesichter lediglich gedreht werden und verschiedene Pixeloperationen durchgeführt werden, können hier beispielsweise gedrehte Gesichter zu einem Frontalgesicht rekonstruiert werden und Ausdrücke des Gesichtes vereinheitlicht werden. Wie in Abbildung 20 zu sehen, besteht der erste Schritt deshalb darin verschiedene Landmarks im Gesicht zu bestimmen, die mit einem 3D Face Model gepaart werden, um damit die Pose des Gesichtes zu ermitteln und später leichter die Gesichtstextur auf Pixel abzubilden [ZLY + 15]. Mit Hilfe dieses Face Models ist es möglich das Gesicht in eine frontale Position zu bringen. Zusätzlich wird versucht den Ausdruck und die Stimmung des Gesichtes in einen neutralen Zustand zu bringen, der dann bei allen Gesichtern einheitlich ist. Die Stellen im Gesicht, die vorher im Gesicht durch die Pose verdeckt waren, werden rekonstruiert, indem unter anderem durch das Spiegeln des Gesichtes Informationen hinzugewonnen werden. Dieses erweiterte Vorverarbeiten erhöhte die ohnehin gute Erkennungsrate bei den High Dimesional Local Binary Pattern um circa 2% auf 95%. Abbildung 20: Ablauf der erweiterten Vorverarbeitung [ZLY + 15] 3.9 Ergebnisse Für den Vergleich von Herangehensweisen zur Gesichtswiedererkennung ist ein Datenset notwendig, das zum einen einheitlich ist und zum anderen sämtliche Herausforderungen des Alltags mit einschließt. Darunter zählt unter anderem die Problematik bei der Erkennung durch Mimik, Pose und der Beleuchtung. Da das Labeld Faces in the Wild (LFW) [4] Datenset aus Bildern des öffentliche Lebens besteht, sind all diese Herausforderung enthalten. Aus diesem Grund ist das LFW-Datenset häufig die erste Anlaufstelle bei der Evaluation von neuen Algorithmen. Abbild 21 hält die Ergebnisse von verschiedenen State of the Art Methoden der Gesichtswiedererkennung fest. Auf der Y-Achse ist die Erkennungsrate der evaluierten Herangehensweisen zu finden und die X-Achse beschreibt die prozentuale Rate der falsch positiv wiedererkannten Gesichter. Die Evaluation zeigt, das mit der richtigen Vorverarbeitung Pipeline und

34 3 Übersicht zur Gesichtswiedererkennung 34 ausreichend Trainingsbildern bereits sehr gute Ergebnisse bei der Wiedererkennung erzielt werden können. Vor allem im Bereich des Deep Learnings wie mit Face++ oder der FaceNet Herangehensweise sind mit circa 99,5% Wiedererkennung sehr gute Ergebnisse erzielt worden. Diese Ergebnisse übertreffen bereits die menschliche Fähigkeit Person wiederzuerkennen [HRBLM07]. Auf dem gleichen Datenset wurde die menschliche Performance evaluiert. Im Durchschnitt lag die Erkennungsrate bei Bildern, die aus dem Kontext herausgeschnittenen wurden bei 97,53% und bei vorverarbeiteten Bilder bei 99,20%. Abbildung 21: Evaluationen des LFW-Datenset [HRBLM07] 3.10 Probleme bei der Gesichtswiedererkennung Bilder von Gesichtern, die nicht unter perfekten Bedingungen erstellt wurden, sind häufig von äußeren Faktoren wie Licht, variierendem Hintergrund, Bildqualität und Pose

35 3 Übersicht zur Gesichtswiedererkennung 35 der Person beeinflusst. Während Probleme, wie der variierende Hintergrund behoben werden können, indem diese durch Bildbearbeitungstechniken entfernt werden, stellen Variation in Licht und Pose ein größeres Problem dar. Im Folgenden werden Probleme der Gesichtswiedererkennung aufgezeigt Variierende Beleuchtung Ungünstige Lichtverhältnisse oder Belichtungen kann die Klassifizierung des Gesichts stark beeinflussen. Häufig ist ein anderer Aufnahmeort oder eine andere Uhrzeit der Grund für solch einen Unterschied in der Belichtung. Abbildung 22 zeigt Bilder von zwei Personen, bei denen das automatische Wiedererkennen durch die unterschiedliche Belichtung der Gesichter erschwert wurde. Das Problem tritt vor allem bei Herangehensweisen auf, die Bilder auf Pixelebene vergleichen. Dies liegt daran, dass der Unterschied durch die Belichtung zweier Gesichter größer sein kann, als der Unterschied zwischen zwei verschiedenen Gesichtern [Facb]. Die Folge ist schließlich eine falsche Klassifizierung, da der Unterschied der zwei fremden Gesichtern kleiner ist, als der Unterschied der unterschiedlich beleuchteten Gesicht derselben Person. Herangehensweisen, die von Abbildung 22: Gesichter mit Variation in der Beleuchtung[Facb] diesem Problem besonders betroffen sind, sind hollistische Methoden wie die Eigengesichter oder Fishergesichter Pose Ein weiteres Problem stellt der Winkel des Gesichts auf dem Bild dar. Frontalaufnahmen eines Gesichts liefern die besten Ergebnisse. Während leichte Winkelvariationen von den meisten Herangehensweisen verkraftet (vgl. ersten zwei Gesichter in Abbildung 23) werden und die Erkennungsrate dabei nur minimal beeinflusst wird, kommt es bei starker Variation (viertes Gesicht 23) im Winkel oder Pose des Gesichts zu starker

36 3 Übersicht zur Gesichtswiedererkennung 36 Beeinträchtigung bei der Erkennung des Gesichtes. Dies liegt unter anderem daran, dass beim Training der Gesichtserkennung Gesichter genommen werden die vereinheitlicht (bsp. Augen sind im Bild oben, Kinn unten) wurden. In der Theorie ist es zwar möglich die Klassifikatoren der jeweiligen Personen auf alle möglichen Gesichtsrotation zu trainieren, um eine Wiedererkennung zu ermöglichen. In der Praxis macht dies jedoch keinen Sinn, da zum einem zu viele Trainingsbilder benötigt werden, um so einen Klassifikator zu trainieren, was die Performance verschlechtern würde, zum anderen dies einen Verlust in der Genauigkeit mit sich bringen würde. Deswegen werden in der Praxis oftmals vereinheitlichte Bilder mit kleiner Variationen in der Rotation genommen,um die Robustheit zu erhöhen. Die zweite Spalte in Abbildung 23 stellt eine Kombination des Posen und Beleuchtung Problem dar. Abbildung 23: Gesichter mit Variation in der Pose[Facb] Verdeckung Ursachen einer Verdeckung können beispielsweise Gegenstände, wie Brillen oder Schale sein die Teile der Gesichts verdecken. Aber auch ungünstige Aufnahmen, bei der sich beispielsweise die Hand vor dem Gesicht befindet oder Aufnahmen bei denen mehrere Jahre dazwischen liegen, können Ursache sein. Dies stellt vor allem ein Problem bei Applikationen dar, die anhand eines Bildes die Person wiedererkennen sollen. Bei der Identifizierung durch einen Videostream ist es möglich nur die gut geeigneten Bilder für die Wiedererkennung zu benutzten und andere Bilder zu verwerfen.

37 4 Konzeption und Verwendete Materialien 37 4 Konzeption und Verwendete Materialien Dieses Kapitel gibt zuerst eine Übersicht über den Ablauf des Implementierten Programms, mit dem die Evaluation durchgeführt wurde. Des weiteren werden Materialien wie Datensets und benutzte Bibliotheken vorgestellt. 4.1 Konzeption In Abbildung 29 ist der grobe Ablauf des Programms als Ablaufdiagramm dargestellt. Das Programm kann dabei in zwei Teile aufgespalten werden. Der erste Teil besteht aus dem Training des Gesichtswiedererkennungsmodell mit den Trainingsbildern. Die Trainingsbilder, die zum Training verwendet wurden, sind mit dem gleichen Vorverarbeitungsablauf, der für die Testbilder zum Einsatz kommt, vorverarbeitet worden. Die Vorverarbeiten der Trainingsbilder findet jedoch außerhalb des eigentlichen Programmablaufs statt, damit bei jeder Neuinitialisierung des Programms nicht alle Daten erneut vorverarbeitet werden müssen. Die Gesichtsmerkmale, die zum Vergleich der einzelnen Personen verwendet werden, werden durch OpenCV im RAM abgelegt, um bei einer Klassifizierung schnell darauf zurückgreifen zu können. Die andere Hälfte des Programms versucht anhand der Merkmale der Trainingsdaten das Testbild zu klassifizieren. Dazu wird das Testbild auf die gleiche Weise, wie die Trainingsbilder vorverarbeitet. Die wichtigsten Schritte sind unter anderem die Gesichtsausrichtung (Ausschneiden, Rotation, Skalierung), die Anpassung der Intensität der Farbe und die Umwandlung zum Graustufenbild. Daraufhin werden aus dem Bild die Gesichtsmerkmale extrahiert, die dann wiederum mit dem im RAM abgelegten Merkmalen der Trainingsdaten verglichen werden können, um eine Klassifizierung vorzunehmen. Zu erwähnen ist, dass über die Programm Parameter ebenfalls eine Evaluation des Trainingssets gestartet werden kann. Statt der weiteren Eingabe eines Testbildes, konstruiert das Programm aus dem übergebenen Datenset eigenständig ein Test und Trainingsset, mit denen die Evaluation durchgeführt wird.

38 4 Konzeption und Verwendete Materialien 38 Abbildung 24: Ablauf des Programms 4.2 Verwendete Computer Vision Bibliotheken Nachfolgend wird ein kurzer Überblick über die verwendeten Computer Vision Bibliotheken gegeben OpenCV OpenCV ist eine im Jahre 2000 entstandene frei zugängliche Bibliothek für den Bereich der Computer Vision und Bildbearbeitung. Die Bibliothek selbst ist plattformunabhängig und ist in C und C++ geschrieben. Inzwischen ist Version 3.1 veröffentlicht worden. OpenCV zeichnet sich dabei durch ihre Geschwindigkeit und großen Umfang aus. Die Bibliothek weist dabei über 2500 optimierte Algorithmen auf, die sowohl klassische als auch State-of-the-Art Algorithmen umfassen [opeb]. Durch die modular gehaltene Struktur von OpenCV müssen nur die Teile der Bibliothek geladen werden, die auch gebraucht werden. Wichtige Module neben dem Kern Module, sind unter anderem diese Module: imgproc, für Aktionen rund um die Bildbearbeitung imgcodecs, zum Laden und Abspeichern von Bildern objdetect, zur Detektion von Objekten mithilfe von Kaskaden ml, für Algorithmen rund um das Thema Machine Learning highgui, was eine GUI bereitstellt

39 4 Konzeption und Verwendete Materialien 39 Seit Version 3.0 sind Teile der Funktionen von OpenCV ausgelagert worden. Davon betroffen sind vor allem neue Module, die entweder noch nicht genug getestet wurden oder an denen noch weiter entwickelt wird. Diese sogenannte opencv_contrib Ergänzung Bibliothek kann jedoch sehr einfach in OpenCV integriert werden. Des weiteren ist zu erwähnen, dass OpenCV die BSD Lizenzierung nutzt, wodurch sich diese Bibliothek sowohl für die gewerbliche, als auch nicht gewerbliche Nutzung eignet Dlib Dlib ist ein in C++ geschriebenes Toolkit für viele Algorithmen zum Bereich des Maschinellen Lernens und der Computer Vision. Dabei zeichnet sich dieses vor allem durch die Implementierung von relativ neuen Algorithmen zur Computer Vision aus. Zusätzlich stellt Dlib durch das Bereitstellen einer aktuellen Dokumentation und vielen Beispielen einen schnellen Einstieg dar. Durch die Open Source Lizenzierung eignet sich Dlib sowohl für den privaten als auch gewerbliche Gebrauch Überblick über weitere Frameworks zur Gesichtswiedererkennung Im Laufe dieser Arbeit wurde nach frei zugänglichen Bibliotheken zum Thema Gesichtswiedererkennung recherchiert. Neben mehreren Online APIs, die hauptsächlich auf Gefaltete Neuronale Netze basieren und meistens nur für eine kleinen Kontingent kostenlos nutzbar sind, sind vor allem die Frameworks OpenFace [ALS16]und OpenBr [Oped] gefunden worden. Beide Projekte besitzen eine eigene Vorverarbeitungspipeline und sind Open Source lizenziert. OpenFace implementiert mit dem Convolutional Neural Network einen relativ neuen Ansatz zu Gesichtswiedererkennung. Dies ist ebenfalls an der Erkennungsrate zu erkennen, bei der die Neuronale Netzwerk Implementierung von OpenFace beide implementierten Verfahren von OpenBR schlägt [opec]. Projekt Algorihmus LFW Erkennungsrate OpenFace Convolutional Neural Networks 97,3% OpenBR 4SF 82,8% OpenBR Eigenfaces 64,8% Tabelle 1: Gefundenen FaceRecogntion Projekte/Frameworks 4.3 Datensets In diesem Abschnitt wird ein Überblick über existierende Gesicht-Datensets gegeben, die unter anderem für die spätere Evaluation nötig sind. Aufgrund des hohen Interesses an diesem Thema existiert eine hohe Anzahl an verschiedenen Datensets. Jedoch muss

40 4 Konzeption und Verwendete Materialien 40 beachtet werden, dass je nach Zweck und Herangehensweise Datensets unterschiedlich sinnvoll sind. Beispielsweise brauchen PCA oder LDA basierte Herangehensweisen mehrere Bilder pro Klasse und können deswegen schwer bei Datensets, die nur wenige oder ein Bild pro Klasse beinhalten genutzt werden. Zusätzlich ist zu erwähnen, dass alle hier aufgeführten Datensets, bis auf das Fussball Datenset, frei zugänglich und online einsehbar sind Face94 Hierbei handelt es sich um ein vom Schwierigkeitsgrad einfaches Datenset. Insgesamt sind 153 unterschiedliche Personen enthalten die sowohl Gesichter männlicher, als auch weiblicher Personen beinhalten. Jedes Bild ist eine Frontalaufnahme des Gesichtes mit der Auflösung von 180 auf 200 Pixel. Da alle Bilder in einer Aufnahme-Session gemacht wurden, sind die Bilder von keiner durch die Zeit veränderten Erscheinung betroffen. Der Hintergrund der Bilder ist mit der Farbe grün für alle Bilder derselbe. Viel Unterschied bei den Bildern ist durch einen sich ändernden Ausdruck gegeben. Die Position der Gesichter auf den Bildern besitzen lediglich leichte Variationen. Zusätzlich existieren durch die Aufnahme am denselben Ort keine Variationen in der Beleuchtung bei den verschiedenen Aufnahmen. Abbildung 25: Beispielbilder des Faces94 Datenset [1]

41 4 Konzeption und Verwendete Materialien Fussball Datenset Deutschland Das für diese Arbeit konstruierte Datenset besteht aus 80 unterschiedlichen Spielern der ersten Fußball Bundesliga. In jedem Bild ist eine Frontalaufnahme des Gesichtes eines Fußballers zu sehen. Als Frontalaufnahme wurden alle Gesichter gezählt, die höchstens Grad von einer Profilaufnahme abweichen. Dabei existiert keine einheitliche Auflösung der Bilder. Die Bilder weisen teilweise niedrigere Auflösungen von 300 x 300 und Hohe, wie 1500 x 1500 auf. Es wurde lediglich darauf geachtet, dass Bilder ausgesucht wurden, bei denen die Auflösung des Gesichtes auf dem Bild circa 200 x 200 oder mehr beträgt. Die Grundlage der Bilder für das Datenset wurde aus der Internetseite kicker [3] extrahiert. Zusätzlich wurde das Datenset durch Bilder der Google-Bilder Suche erweitert. Unter anderem dadurch, dass die Bilder weitestgehend zufällig ausgewählt wurden, ergaben sich folgende Schwierigkeiten für die Gesichtserkennung: Stark variierender Hintergrund Veränderungen des Gesichts (Bart, Narben) Häufig variierende Pose unterschiedliche Beleuchtung Abbildung 26: Beispielbilder des Fußballdatenset. Alle hier aufgelisteten Bilder sind aus dem Online Kicker-Sportmagazin entommen [3]

42 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 42 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten Bilder von Gesichtern, die nicht unter perfekten Bedingungen erstellt wurden, sind häufig von äußeren Faktoren wie Licht, Bild Qualität und Pose der Person beeinflusst. Diese wirken sich häufig auf die Klassifikation des Gesichtes einer Personen negativ aus. Um diesen Faktoren entgegenzuwirken werden Bilder häufig vorverarbeitet. Ziel dieser Vorverarbeitung ist es zum einen die Erkennungsraten zu erhöhen, aber auch ein leichteres Weiterverarbeiten der Bilder zu ermöglichen, womit eine Reduzierung der Verarbeitungszeit einhergeht. Je nach Herangehensweise der Wiedererkennung von Gesichtern in Bildern werden unterschiedliche Methoden zur Vorverarbeitung genutzt. Bei einigen holistischen Methoden ist es beispielsweise wichtig auf eine einheitliche Beleuchtung der Gesichter in den Bildern zu achten. Dies wird bei den Local Binary Pattern nicht benötigt. Einzig das Umwandeln von Farbbildern in Graustufenbildern wird derzeit von den meisten State of the Art Methoden genutzt. 5.1 Gesichtserkennung Wie bereits erwähnt, ist es hilfreich die Gesichter der Personen zu vereinheitlichen. Wichtig ist vor allem die Bilder bzw. Gesichter so zu drehen, dass die Augen in einer Horizontalen Ebene liegen. Bevor dies bewerkstelligt werden kann, müssen die Gesichter im Bild gefunden werden. Dies hat zusätzlich den Zweck unwichtige Informationen herauszuschneiden, die weder für das Face Alignment, noch für die Gesichtserkennung von Bedeutung sind. Getestet wurde die Face Detektion sowohl mit Hilfe der Haar- Cascaden von OpenCV, als auch mit der Histogramm of Gradient Implementierung der Dlib Bibliothek. Bei Frontalgesichtern oder kaum verdeckten Gesichtern lieferte die Erkennung der Gesichter bei beide Methoden gute Ergebnisse. Jedoch wies die Implementierung von OpenCV eine höhere False Positive Rate auf. Oftmals wurden also Gesichter erkannt, die keine Gesichter waren. Dies war jedoch für diese Arbeit kein größeres Problem, da sowieso Bilder genommen wurden auf denen sich nur ein Gesicht befindet und somit das Gesicht gewählt wurde, dass die höchste Wahrscheinlichkeit aufgewiesen hat. Abbildung 27 zeigt die Bilder auf, anhand deren die nächsten Schritte zum Face Alignment veranschaulicht werden.

43 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 43 Abbildung 27: Unbearbeitete Bilder Datenset:[2] Augenerkennung anhand Kaskaden Um das Gesicht richtig auszurichten werden die Postionen der Augen benötigt. Die Augenpostion wurde anfangs ebenfalls mit den Kaskaden der OpenCV Bibliothek bestimmt. Dazu wurde das Erkannte und bereits ausgeschnittene Gesicht genutzt. Open- CV stellt zum Erkennen von Augen verschiedene Kaskaden zur Verfügung. Darunter befinden sich: haarcascade_eye.xml haarcascade_mcs_lefteye.xml haarcascade_mcs_righteye.xml Während erstere Kaskade sowohl auf das linke und das rechte Auge trainiert ist, sind die beiden anderen jeweils auf ein Auge trainiert. Das haarcascade_eye.xml liefert jedoch nur unter sehr günstigen Bedingungen akzeptable Ergebnisse. Weit bessere Ergebnisse liefern haarcascade_mcs_lefteye.xml und haarcascade_mcs_righteye.xml, die von der Erweiterten OpenCV_Contribution Bibliothek mitgeliefert werden. Um die Erkennungsrate zu erhöhen und die Zeit zu reduzieren wurde zudem das erkannte Gesicht in der Mitte geteilt und dem richtigen Kaskade zugeordnet. Sind die Augenpostionen bestimmt, können diese dazu verwendet werden eine Rotationsmatrix zu erstellen, anhand dessen das Bild gedreht wird. Dazu muss lediglich der Winkel zwischen den beiden Augen und der Punkt an der das Bild gedreht werden soll bestimmt werden. Abbildung 28 zeigt die Ergebnisse der Augenerkennung mithilfe der beiden Kaskaden an. Insgesamt wurden zehn Augen von möglichen 16 erkannt. Nur von vier der acht Personen wurden beide Augen erkannt, wodurch das Face Alignment möglich

44 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 44 war. Für den Fall, das nur ein oder kein Auge erkannt wird ist kein Face Alignment nach beschriebener Methode möglich. Insgesamt gesehen liefern die Kaskaden unzu- Abbildung 28: Augenerkennung mit Hilfe von OpenCV Kaskaden Datenset:[2] verlässige Erkennungsraten. Wird diese ungenaue Bestimmung für das Preprocessing der Trainingsdaten benutzt, kann dadurch die Wiedererkennungsrate einer Personen verschlechtert werden Augenerkennung mit Hilfe der Dlib Bibliothek Die Dlib Bibliothek verwendet einen anderen Weg um die Landmarks in einem Gesicht zu erkennen. Ziel der Landmark Erkennung ist es [KS14][ali] eine Form S zu erkennen, die der wirklichen Form des Gesichts am nächsten ist. Um dies zu bewerkstelligen, wird eine Regression Funktion gelernt, die versucht extrahierte Gesichtsmerkmale auf eine Form abzubilden. Zum Extrahieren der Features kommen Methoden, wie die HOG Features oder der Pixelunterschied in dem Bereich des zu extrahierenden Merkmals zum Einsatz. Eine Gesichtsform ist dabei definiert als S = [x 1, y 1,..., x n, y n ], (21) bei der n die Anzahl der unterschiedlichen Landmarks ist. Die Landmark Erkennung läuft dabei in mehreren Schritten, sogenannten Regression Stages ab. Ähnlich wie bei der Gesichtserkennung von Viola und Jones, werden mehrere schwache Regressoren (R 1, R 2,..., R T ) auf additive Weise zusammen gefasst (vgl. [ali]) um die möglichst genaue Form des Gesichts zu ermitteln. S t = S t 1 + R t (I, S t 1 ), t = 1,...T (22)

45 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 45 Der Regressor R t berechnet anhand eines Bildes I und der vorherigen Form S t 1 einen Inkrement, der zur vorherigen Form wiederum addiert wird um eine aktualisierte Form zu erhalten. Dies geschieht so lange bis alle T Regressoren benutzt wurden. Die Regressoren selbst werden gelernt, damit diese den Alignment Fehler S S true 2 (23) minimieren. Es wird also versucht den Unterschied zwischen der vorhergesagten und der tatsächlichen Form des Gesichts zu minimalisieren. Die Regressoren werden sequentiell berechnet. Dementsprechend ergibt sich für den R t Regressor folgende Formel: R t = argmin R N i=1 S i_true (S t 1 i + R(I i, S t i 1)) (24) bei der I i das Bild mit dem Index i, S i_true die echte Form des I-ten Gesichts ist und S t 1 i die im Schritt vorher geschätzte Form des Gesichts ist [ali]. Die Implementierung von Dlib baut auf diesem Ansatz auf, erweitert diesen jedoch anhand eines Regression Baumes[KS14]. Insgesamt liefert der Landmark Detektor der Dlib Bibliothek die x und y Koordinate von 68 Landmarks. Die Punkte beschränken sich dabei auf Stellen im Gesicht. Die Landmarks befinden unter anderem auf den Augenbrauen, den Augen, dem Gesicht und den Konturen des Gesichtes. Laut Vahid Kazemi and Josephine Sullivan liegt die Abbildung 29: Positionen der Landmarks der Dlib Bibliothek durchschnittliche Fehlerrate der Landmark Erkennung bei gerade mal 5%. Die Fehlerrate gibt an, um wieviel Prozent der erkannte Landmark vom echten Landmark entfernt ist. Bei dem sehr häufig genutzten Datenset LFPW zur Landmark Erkennung erzielte es gerade mal eine Fehlerrate von 3,4% und übertrifft damit die meisten ande-

46 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 46 ren Landmark Erkennungs-Algorithmen. Zu erwähnen ist, das die Erkennung ebenfalls nur einen Bruchteil vorheriger Landmark Erkennungs Algorithmen dauert. Abbildung 30 visualisiert dieses Ergebnis. Entgegen der Herangehensweise mit den Abbildung 30: Landmark Erkennung mithilfe der Dlib Bibliothek Datenset:[2] Kaskaden liefert dieser Ansatz eine verlässliche Erkennungsrate. Bei allen acht Bildern liefert Dlib die Koordinaten von 69 Landmarks, die mit der wirklichen Lage in den meisten Fällen exakt übereinstimmen. Lediglich im ersten Gesicht werden die Konturen auf der linken Seite des Gesichtes nicht richtig erkannt. Die Position der Augen werden bei allen Bildern exakt bestimmt, wodurch eine zuverlässige Gesicht Alignment möglich ist. Zu erwähnen ist, das selbst die richtige Postion von verdeckten Landmarks oft richtig erkannt wird. Dies ist vor allem in dritten Bild gut zu erkennen bei der beinahe die Hälfte des Gesichtes von Haaren bedeckt ist. Wie in 30 weist die Detektion eine gute Robustheit gegen die Invarianz der Pose des Gesichts auf. Die Ergebnisse des Face Alignments werden in Abbildung 31 dargestellt. Zu sehen ist, dass das Ziel des Face Alignment erfüllt wurde. Die Augen jedes Gesichtes befinden sich in einer horizontalen Ebene, sind also von eventuellen Rotationen befreit.

47 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 47 Abbildung 31: Resultat des FaceAlignment mithilfe der Dlib Bibliothek Datenset:[2] 5.2 Anpassung der Intensität von Farben Jedoch hat nicht nur die Pose und der Ausdruck Einfluss auf die Wiedererkennung des Gesichtes. Die erfolgreiche Klassifizierung von Gesichtern hängt ebenfalls stark von der Qualität des zu klassifizierenden Bildes ab. Wie in bereits erwähnt stellen unteroder überbelichtete Bilder bei der Gesichtswiederkennung ein Problem dar. Aus diesem Grund werden schon im vorhinein solche Bilder vorverarbeitet, um die entstehenden Probleme bei der Gesichtswiedererkennung zu reduzieren. Diese Arbeit nutzt einen Histogramm Ausgleich, um die Bilder so zu bearbeiten, dass der Kontrast des Bildes verbessert wird, indem die Intensität der Pixel umverteilt werden. Ziel ist es das Aufkommen der Grauwerte so zu verteilen, dass diese möglichst das gesamte Graustufen Spektrum umfassen. Abbildung 32 zeigt das Ergebnis der Bilder nach dem Histogramm Ausgleich. Besonders hervorzuheben sind sowohl das zweite, fünfte und letzte Bild, die durch den Histogramm Ausgleich deutlich an Kontrast hinzugewonnen haben.

48 5 Vorbearbeiten der Bilder zur Verbesserung der Erkennungsraten 48 Abbildung 32: Ergebnis der Beispielbilder nach der FaceAlignment mithilfe der dlib Bibliothek Datenset:[2] Insgesamt bietet sich ein Histogramm Ausgleich zum Vorverarbeiten bei Applikationen an, die über den Tag verteilt Aufnahmen machen und wodurch die Bilder Schwankungen in der Helligkeit besitzen.

49 6 Evaluation 49 6 Evaluation In diesem Kapitel wird die Local Binary Pattern Histogramm mit verschiedenen Parametern und Einstellungen getestet. Zusätzlich wird die Neuronale Netz Implementierung von OpenFace evaluiert. 6.1 Durchführung der Evaluation Um aussagekräftigere Ergebnisse bei der Evaluation zu erhalten, wurde das Test- und Training-Datenset dynamisch aus dem Ursprungsdatenset erstellt. Dazu wurde vor jedem Durchgang ein zufälliger "Seed" erstellt, mit dem entschieden wurde, ob das entsprechende Bild dem Trainings oder Test-Datenset hinzugefügt wird. Mit den so resultierenden Test- und Trainingssets wurde eine Evaluation durchgeführt, indem für jedes Bild im Testset überprüft wurde, ob die richtige Person klassifiziert wurde. Insgesamt wurden für jede Parameter Einstellung zehn Evaluationen durchlaufen. Zusätzlich wurde für jedes falsch klassifizierte Testbild die Distanz zur richtigen Klassifikation ermittelt Ergebnisse des Face94-Datenset Die Evaluation mit diesem Datenset erzielte wie erwartet sehr gute Ergebnisse. Bereits mit einem Trainingsbild lag die Erkennungsrate zwischen 98% und 99%. Die Hinzunahme neuere Trainingsbilder erbrachte keine nennenswerte Verbesserungen. Die guten Ergebnisse liegen unter anderem an dem sehr einfachen Datenset. Die Bilder jeder Person im Datenset sind sich sehr ähnlich. Abbildung 33 stellt jeweils sechs Bilder zweier Personen dar. Wie dort zu sehen sind die Unterschiede der Bilder einer Person sehr gering, wodurch weniger Trainingsbilder für eine gute Erkennungsrate benötigt werden. Zusätzlich sind alle Bilder gleich aufgebaut, wodurch ebenfalls die Erkennungsrate verbessert wird. Jedoch zeigt dieses Trainingsset, wie wichtig eine gute Vorverarbeitung für die Erkennungsrate ist.

50 6 Evaluation 50 Abbildung 33: Trainingsbilder des face94-datenset Ergebnisse des Face95-Datenset Bei diesem Datenset konnte der Einfluss durch die Anzahl der Trainingsbilder auf die Erkennungsrate sehr gut getestet werden. Die Erkennungsrate bei der Nutzung von lediglich einem Trainingsbild liegt bei 75%. Obwohl, dass face94- und face95-datenset ähnlich aufgebaut sind, ist die schlechtere Erkennungsrate zum einen auf die Bewegung in den Bildern, wodurch verschiedene Veränderungen hervor geworfen werden und die schlechtere Qualität der Bilder zurückzuführen. Durch die Hinzunahme eines Trainingsbildes stieg die Erkennungsrate um 8%-9%. Die weitere Hinzunahme führte stets zu einer Verbesserung (siehe Abbildung 36. Bei der Nutzung von 10 Trainingsbildern wies der LBPH eine Erkennungsrate von circa 99% auf. In Abbildung 34 sind Beispielbilder das face95-datensets zu sehen, die im Vergleich zum face94-datenset schon deutlich größere Unterschiede aufweisen. Abbildung 34: Trainingsbilder des face95-datenset

51 6 Evaluation 51 Abbildung 35: Einfluss auf die Erkennung, durch die Anzahl der Trainingsbilder pro Person Parameter des LBPH Im Folgendem werden die einzelnen Parameter mit dem der Local Binary Pattern initialisiert werden kann kurz vorgestellt. Radius: Der Radius gibt an, wie groß der Abstand zu den Nachbarpixeln sein soll, die für die Berechnung des Local Binary Pattern genutzt werden. Punkte: Die Anzahl der Punkte, die auf dem Kreis vorkommen. Eine Erhöhung dieses Parameters führt zu einer komplexeren Berechnung der Feature Vektoren und hat damit direkten Einfluss auf die Performance. FH: Dieser Parameter gibt die Anzahl der Fenster an, in die das Bild in der horizontalen Ebene unterteilt wird. Ein Wert von 8 gibt beispielsweise an, dass das Bild in 8 kleinere Bilder in der Horizontale unterteilt wird FV: Dieser Wert gibt analog zu FH die Anzahl der Fenster an, in welches das Bild in der vertikalen Ebene unterteilt wird. Ein Wert von 8 in der horizontalen Ebene und der Vertikalen Ebene gibt beispielsweise an, dass das gesamte Bild in 64 (8 x 8 ) kleinere Bilder unterteilt wird Evaluation des Fussball-Datensets Getestet wurde die Local Binary Pattern Histogramm Herangehensweise mit verschiedenen Parametern. Als Vergleichswert für die verschiedenen Parametereinstellung dient

52 6 Evaluation 52 Distanz/ Parameter >5 (R,P,X,Y) 1_8_8_8 43% 6% 4% 3% 5% 39% 2_8_8_8 48% 8% 5% 4% 4% 31% 1_12_8_8 40% 10% 5% 4% 3% 38% 1_12_12_12 48% 8% 5% 4% 3% 32% 2_12_8_8 48% 9% 4% 3% 2% 34% 2_12_16_16 61% 6% 4% 3% 3% 23% 3_12_16_16 66% 9% 3% 3% 2% 17% Tabelle 2: Evaluation des LBPH die Einstellung 1,8,8,8 (Radius,Punkte/Nachbarn,FensterX, FensterY). Diese Einstellungen erzielte eine Genauigkeit von 43%. Mit dem Versuch, die Genauigkeit zu erhöhen wurde an den LBPH Parametern experimentiert. Dazu wurden einzeln die verschiedenen Parameter des Local Binary Pattern Histogramm justiert. Tabelle 2 gibt eine Übersicht über die Einstellungen, mit denen das Datenset evaluiert wurde. Bereits die Erhöhung des Radius um den Wert 1 führt zu einer 5%-igen Verbesserung. Jedoch muss hierbei beachtet werden, dass jedes Vorverarbeitete Gesicht auf die Größe 200 x 200 skaliert wurde. Somit lässt sich nicht pauschal sagen, dass eine Erhöhung des Radius bei den LBPH stets zu einer Verbesserung führt. Die Erhöhung der Punkte, die für die Berechnung der Lokal Binary Pattern benötigt wird, führte in den Tests stets zu einer Erhöhung der Erkennungsrate. Ausnahme ist hier die Erhöhung der Punkte von 8 auf 12 bei einem Radius von 1. Da bei einem Radius von 1 höchstens acht Nachbarpixel existieren, ist dies aber nachvollziehbar. Auch die Erhöhung des FH & FV Wertes wirkte sich positiv auf die Erkennungsrate aus. Dies liegt daran, dass durch die Erhöhung dieses Parameters mehr Wert auf die lokale Struktur des Bildes gelegt wird. Das beste Ergebnis wurde mit der Einstellung 3,12,16,16 mit einer Genauigkeit von 66% erzielt. In Tabelle 2 ist zusätzlich die Distanz zu der Richtigen Klassifikation angeben. Die Spalte mit dem Wert zwei gibt beispielsweise an, dass bei der Parametereinstellung 3,12,16,16 9% der Bilder richtig erkannt wurden, nachdem das Bild mit der geringsten Distanz entfernt wurde. Dies ist die Wahrscheinlichkeit wie viel der falsch klassifizierten Bilder durch den LBPH Klassifikator als zweit Ähnlichstes eingestuft wird. Insgesamt besitzen lediglich 17% der Testbildern eine Distanz größer fünf Der Einfluss der Anzahl der Trainingsbilder auf die Genauigkeit Im folgendem Abschnitt wird der Einfluss der Anzahl der Trainingsbilder auf die Erkennungsrate evaluiert. Getestet wurde der LBPH mit einer unterschiedlichen großen Anzahl an Trainingsbilder pro Person und der Parametereinstellung (2,12,16,16), da mit dieser die Evaluation deutlich schneller war und somit mehr getestet werden konnte.

53 6 Evaluation 53 Dabei ist schnell zu erkennen, dass die Anzahl der Trainingsbilder die Erkennungsrate stark beeinflusst. Dies visualisiert Tabelle 3. Besonders das Hinzufügen eines zweiten Trainingsbildes erhöht mit einen Sprung von 15% die Erkennungsrate von 34% auf 49%. Distanz/ Anzahl >5 Trainingsbilder 4 61% 6% 4% 3% 3% 23% 3 58% 7% 5% 3% 3% 24% 2 49% 8% 4% 3% 4% 32% 1 34% 7% 4% 3% 2% 50% Tabelle 3: Einfluss der Anzahl an Trainingsbildern pro Person auf die Erkennungsrate Die weitere Erhöhung der Trainingsbilder führte stets zu einer Erhöhung der Erkennungsrate, auch wenn diese nicht so groß, wie bei der Erhöhung von einem auf zwei Trainingsbilder ausgefallen ist. Letztendlich wurde die Erkennungsrate fast verdoppelt, indem die Anzahl der Trainingsbilder von eins auf vier erhöht wurde. Abbildung 36: Einfluss auf die Erkennung, durch die Anzahl der Trainingsbilder pro Person 6.2 Evaluation von OpenFace Dieser Abschnitt evaluiert die Neuronale Netz Implementierung von OpenFace anhand des Fussball-Datenset. Die Erkennungsrate wurde auf zwei unterschiedliche Wege

54 6 Evaluation 54 ermittelt. Zum einen wurde die Erkennungsrate ermittelt, indem jeweils zwei Bilder im Datenset verglichen wurden. Beim Vergleich von zwei Bildern der gleichen Person musste das System beispielsweise erkennen, dass es sich um die gleiche Person handelt. Genauso musste das System beim Vergleich von zwei unterschiedlichen Personen erkennen, dass es sich um verschiedene Personen handelt. Die Erkennungsrate ergab sich, indem die Anzahl der Richtigen Erkennungen durch die Anzahl der gesamten Vergleiche geteilt wurde. Insgesamt wurde jedes Bild jeder Person mit jedem anderen Bild verglichen (Ausgenommen sind Vergleiche von denselben Bildern). Da für diese Evaluation das Fußballdatenset gewählt wurde, wurden somit insgesamt ca ((80 Personen * 5 Bilder pro Person) 2 ) Vergleiche durchgeführt. Die Wiedererkennung erreichte hierbei eine Erkennungsrate von 99,3%. Der Vergleich wurde mit den vom Neuronalen Netz konstruierten Repräsentationen durchgeführt. Dementsprechend musste für jedes Bild im Datenset die Repräsentation vorher abgespeichert werden. Zusätzlich wurde die Erkennungsrate auf dem gleichen Weg, wie bei der LBPH Evaluation ermittelt, um einen Vergleich beider Herangehensweisen darstellen zu können. Dementsprechend wurde das zu testende Bild im Datensatz mit jedem Bild im Datenset verglichen, um das ähnlichste Bild zu erhalten. Für eine erfolgreiche Klassifizierung musste die Person auf dem ähnlichsten Bild, mit der Person auf dem getesteten Bild übereinstimmen. Zusätzlich wurde für jede falsche Klassifizierung wieder ermittelt, ob das zweit, dritt, viert oder fünft ähnlichste Bild, der getesteten Person gleicht. Wie in Tabelle 4 zu sehen, liegt die Erkennungsrate nur noch bei 93,9%, statt den soeben 99,3% genannten. Dies liegt daran, dass bei dieser Evaluation weniger Vergleiche gemacht werden und somit eine falsch Klassifikation mehr Einfluss auf die Erkennungsrate hatte. Insgesamt ist die Erkennungsrate trotzdem sehr gut, was durch den recht neuen Ansatz nicht verwunderlich ist. Vor allem ist zu erwähnen, das nur bei 1,1% der Bilder die gesuchte Person sich nicht unter den ähnlichsten fünf befand. Tabelle 4 stellt die Ergebnisse von OpenFace und OpenCV mit vier Vergleichsbilder gegenüber. Distanz/ Projekt >5 OpenFace 93,9% 2,8% 1,5% 0,7% 0% 1,1% OpenCV 66% 9% 3% 3% 2% 17% Tabelle 4: Gegenüberstellung von OpenFace und OpenCV Des Weiteren wurde der Einfluss der Trainingsdaten auf Erkennungsrate ermittelt. Tabelle 5 präsentiert die Ergebnisse. Genauso wie bei der LBPH-Herangehensweise führen mehr Vergleichsbilder zu einer höheren Genauigkeit bei der Erkennung.

55 6 Evaluation 55 Distanz/ Anzahl der Vergleichsbilder >5 4 93,9% 2,8% 1,5% 0,7% 0% 1,1% 3 92,9% 3,5% 1,5% 0,8% 0,2% 1,1% 2 90% 5,2% 1,8% 0,7% 0,7% 1,6% 1 84% 7,5% 3,1% 1,4% 0,8% 3,1% Tabelle 5: Einfluss der Anzahl an Vergleichsbilder auf die Erkennungsrate Abbildung 37 zeigt vier Falsch Klassifizierungen. In den vier Sets, war das linke Bild das zu testende Bild und das rechte Bild jeweils das ähnlichste Bild zum getesteten Bild im ganzen Datenset. Abbildung 37: Falsch Klassifzierungen, Bilderquelle:[6][3] 6.3 Erwähnenswerte Auffälligkeiten Im Laufe der Evaluation mit OpenFace ist aufgefallen, dass dunkelhäutige Personen im Datenset tendenziell häufiger als hellhäutige inkorrekt klassifiziert wurden. Insgesamt waren ca. 43% der falsch Klassifizierungen dunkelhäutig, bei einer 17,7% Vertretung dunkelhäutiger Personen im Datenset. Vor allem die mehrmalige Verwechslung der in der ersten Zeile in Abbildung 38 abgebildeten Personen ist verwunderlich, da diese sowohl eine komplett andere Kopfform, als auch eine anderen Hauttyp aufweisen. Die zweite Zeile im Bild stellt andere Vergleichsbilder von Ramos da, die eine geringere Ähnlichkeit, als das Bild von Kingsley aufgewiesen haben.

56 6 Evaluation 56 Abbildung 38: Auffälligkeiten bei der Evaluation, Bilderquelle:[6][3] Ob diese Verhalten jedoch am trainierten Modell von OpenFace oder den verwendeten Bildern liegt, kann aufgrund der kleinen Menge an Testbildern nicht endgültig geklärt werden. Erwähnenswert ist auch der Vergleich eines mit dem Computer modellierten Gesichtes mit der wirklichen Aufnahme der Person. Interessanterweise wies dieses Modellbild beim Vergleich mit einer Realaufnahme eine hohe Ähnlichkeit auf. Teilweise wies dieses sogar eine höhere Ähnlichkeit als andere Vergleichsbilder der Person auf. Abbildung 39: Vergleich eines mit dem Computer modellierten Gesichtes mit einer Aufnahme, Bilderquellen:[5][3]

Statistik, Datenanalyse und Simulation

Statistik, Datenanalyse und Simulation Dr. Michael O. Distler distler@kph.uni-mainz.de Mainz, 12. Juli 2011 Gesichtserkennung Begriffsunterscheidung: Lokalisation eines Gesichts im Bild Zuordnung des Gesichts zu einer bestimmten Person Technische

Mehr

Principal Component Analysis (PCA)

Principal Component Analysis (PCA) Principal Component Analysis (PCA) Motivation: Klassifikation mit der PCA Berechnung der Hauptkomponenten Theoretische Hintergründe Anwendungsbeispiel: Klassifikation von Gesichtern Weiterführende Bemerkungen

Mehr

EVC Repetitorium Blender

EVC Repetitorium Blender EVC Repetitorium Blender Michael Hecher Felix Kreuzer Institute of Computer Graphics and Algorithms Vienna University of Technology INSTITUTE OF COMPUTER GRAPHICS AND ALGORITHMS Filter Transformationen

Mehr

Anwendungen der Hauptkomponentenanalyse. Volker Tresp vertreten durch Florian Steinke

Anwendungen der Hauptkomponentenanalyse. Volker Tresp vertreten durch Florian Steinke Anwendungen der Hauptkomponentenanalyse Volker Tresp vertreten durch Florian Steinke 1 Dimensionsreduktion für Supervised Learning 2 Beispiel: Kaufentscheidung 3 Verbesserte Abstandsmaße durch Hauptkomponentenanalyse

Mehr

Seminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor

Seminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor Seminar: Multi-Core Architectures and Programming Viola-Jones Gesichtsdetektor Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Viola-Jones Gesichtsdetektor Aufbau Blockmerkmale

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014 Übersicht Stand der Kunst im Bilderverstehen: Klassifizieren und Suchen Was ist ein Bild in Rohform? Biologische

Mehr

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth Lineare Algebra Mathematik II für Chemiker Daniel Gerth Überblick Lineare Algebra Dieses Kapitel erklärt: Was man unter Vektoren versteht Wie man einfache geometrische Sachverhalte beschreibt Was man unter

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn Adrian Neumann 16. Januar 2014 Übersicht Biologische Inspiration Stand der Kunst in Objekterkennung auf Bildern Künstliche Neuronale

Mehr

Tutorium Mathematik II, M Lösungen

Tutorium Mathematik II, M Lösungen Tutorium Mathematik II, M Lösungen März 03 *Aufgabe Bestimmen Sie durch Hauptachsentransformation Lage und Typ der Kegelschnitte (a) 3x + 4x x + 3x 4x = 0, (b) 3x + 4x x + 3x 4x 6 = 0, (c) 3x + 4x x +

Mehr

Corinne Schenka Vorkurs Mathematik WiSe 2012/13

Corinne Schenka Vorkurs Mathematik WiSe 2012/13 4. Lineare Gleichungssysteme Ein lineares Gleichungssystem ist ein System aus Gleichungen mit Unbekannten, die nur linear vorkommen. Dieses kann abkürzend auch in Matrizenschreibweise 1 notiert werden:

Mehr

Gesichtsidentifikation mit dem Erkennungssystem FaceVACS SDK der Firma Cognitec

Gesichtsidentifikation mit dem Erkennungssystem FaceVACS SDK der Firma Cognitec Gesichtsidentifikation mit dem Erkennungssystem FaceVACS SDK der Firma Cognitec Zwischenpräsentation Autoren: Alexander Mielchen und Lorenz Kaipf 20.05.2014 1 Gliederung Aufgabenstellung und Randbedingungen

Mehr

Was bisher geschah. Definition digitaler Bilder B : pos col Bildanalyse, statistische Merkmale Signale im Orts- und Frequenzraum Bildbearbeitung durch

Was bisher geschah. Definition digitaler Bilder B : pos col Bildanalyse, statistische Merkmale Signale im Orts- und Frequenzraum Bildbearbeitung durch Was bisher geschah Definition digitaler Bilder B : pos col Bildanalyse, statistische Merkmale Signale im Orts- und Frequenzraum Bildbearbeitung durch Punktoperationen (Farbtransformation) f : col1 col

Mehr

Vektorräume. 1. v + w = w + v (Kommutativität der Vektoraddition)

Vektorräume. 1. v + w = w + v (Kommutativität der Vektoraddition) Vektorräume In vielen physikalischen Betrachtungen treten Größen auf, die nicht nur durch ihren Zahlenwert charakterisiert werden, sondern auch durch ihre Richtung Man nennt sie vektorielle Größen im Gegensatz

Mehr

9.2 Invertierbare Matrizen

9.2 Invertierbare Matrizen 34 9.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

6 Symmetrische Matrizen und quadratische Formen

6 Symmetrische Matrizen und quadratische Formen Mathematik für Ingenieure II, SS 009 Dienstag 3.6 $Id: quadrat.tex,v.4 009/06/3 4:55:47 hk Exp $ 6 Symmetrische Matrizen und quadratische Formen 6.3 Quadratische Funktionen und die Hauptachsentransformation

Mehr

5 Lineare Algebra (Teil 3): Skalarprodukt

5 Lineare Algebra (Teil 3): Skalarprodukt 5 Lineare Algebra (Teil 3): Skalarprodukt Der Begriff der linearen Abhängigkeit ermöglicht die Definition, wann zwei Vektoren parallel sind und wann drei Vektoren in einer Ebene liegen. Daß aber reale

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB

INTELLIGENTE DATENANALYSE IN MATLAB INTELLIGENTE DATENANALYSE IN MATLAB Bildanalyse Literatur David A. Forsyth: Computer Vision i A Modern Approach. Mark S. Nixon und Alberto S. Aguado: Feature Extraction and Image Processing. Ulrich Schwanecke:

Mehr

37 Gauß-Algorithmus und lineare Gleichungssysteme

37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Gauß-Algorithmus und lineare Gleichungssysteme 37 Motivation Lineare Gleichungssysteme treten in einer Vielzahl von Anwendungen auf und müssen gelöst werden In Abschnitt 355 haben wir gesehen, dass

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB. Objekterkennung

INTELLIGENTE DATENANALYSE IN MATLAB. Objekterkennung INTELLIGENTE DATENANALYSE IN MATLAB Objekterkennung Objekterkennung Problemstellung Gegeben: Ein Bild. Fragestellungen: Klassifikationsproblem Ist ein bestimmtes Objekt (z.b. Flugzeug) auf dem Bild? Welches

Mehr

Lineare Algebra II 6. Übungsblatt

Lineare Algebra II 6. Übungsblatt Lineare Algebra II 6 Übungsblatt Fachbereich Mathematik SS 2011 Prof Dr Kollross 18/19 Mai 2011 Susanne Kürsten Tristan Alex Gruppenübung Aufgabe G1 (Minimalpolynom) Bestimmen Sie das Minimalpolynom der

Mehr

3 Matrizenrechnung. 3. November

3 Matrizenrechnung. 3. November 3. November 008 4 3 Matrizenrechnung 3.1 Transponierter Vektor: Die Notation x R n bezieht sich per Definition 1 immer auf einen stehenden Vektor, x 1 x x =.. x n Der transponierte Vektor x T ist das zugehörige

Mehr

Einführung in die linearen Funktionen. Autor: Benedikt Menne

Einführung in die linearen Funktionen. Autor: Benedikt Menne Einführung in die linearen Funktionen Autor: Benedikt Menne Inhaltsverzeichnis Vorwort... 3 Allgemeine Definition... 3 3 Bestimmung der Steigung einer linearen Funktion... 4 3. Bestimmung der Steigung

Mehr

FARBTIEFE / KANÄLE 1 5

FARBTIEFE / KANÄLE 1 5 1 5 FARBTIEFE Die Farbtiefe gibt an, wieviel bit an Informationen pro Pixel gespeichert werden. Je mehr bits gespeichert werden, desto mehr verschiedene Farbabstufungen können dargestellt werden. Farbtiefe

Mehr

Digitale Bildverarbeitung (DBV)

Digitale Bildverarbeitung (DBV) Digitale Bildverarbeitung (DBV) Prof. Dr. Ing. Heinz Jürgen Przybilla Labor für Photogrammetrie Email: heinz juergen.przybilla@hs bochum.de Tel. 0234 32 10517 Sprechstunde: Montags 13 14 Uhr und nach Vereinbarung

Mehr

Lineare Algebra II 8. Übungsblatt

Lineare Algebra II 8. Übungsblatt Lineare Algebra II 8. Übungsblatt Fachbereich Mathematik SS 11 Prof. Dr. Kollross 1./9. Juni 11 Susanne Kürsten Tristan Alex Gruppenübung Aufgabe G1 (Minitest) Sei V ein euklidischer oder unitärer Vektorraum.

Mehr

Dynamisches Huffman-Verfahren

Dynamisches Huffman-Verfahren Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über

Mehr

Korrelationsmatrix. Statistische Bindungen zwischen den N Zufallsgrößen werden durch die Korrelationsmatrix vollständig beschrieben:

Korrelationsmatrix. Statistische Bindungen zwischen den N Zufallsgrößen werden durch die Korrelationsmatrix vollständig beschrieben: Korrelationsmatrix Bisher wurden nur statistische Bindungen zwischen zwei (skalaren) Zufallsgrößen betrachtet. Für den allgemeineren Fall einer Zufallsgröße mit N Dimensionen bietet sich zweckmäßiger Weise

Mehr

Technische Universität München Zentrum Mathematik. Übungsblatt 7

Technische Universität München Zentrum Mathematik. Übungsblatt 7 Technische Universität München Zentrum Mathematik Mathematik (Elektrotechnik) Prof. Dr. Anusch Taraz Dr. Michael Ritter Übungsblatt 7 Hausaufgaben Aufgabe 7. Für n N ist die Matrix-Exponentialfunktion

Mehr

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21

5.1 Determinanten der Ordnung 2 und 3. a 11 a 12 a 21 a 22. det(a) =a 11 a 22 a 12 a 21. a 11 a 21 5. Determinanten 5.1 Determinanten der Ordnung 2 und 3 Als Determinante der zweireihigen Matrix A = a 11 a 12 bezeichnet man die Zahl =a 11 a 22 a 12 a 21. Man verwendet auch die Bezeichnung = A = a 11

Mehr

Orthonormalbasis. Orthogonalentwicklung

Orthonormalbasis. Orthogonalentwicklung Orthonormalbasis Eine Orthogonal- oder Orthonormalbasis des R n (oder eines Teilraums) ist eine Basis {v,..., v n } mit v i = und v i, v j = für i j, d. h. alle Basisvektoren haben Norm und stehen senkrecht

Mehr

Gesichtsdetektierung und Gesichtserkennung

Gesichtsdetektierung und Gesichtserkennung [ 1 / 103 ] Technische Universität Bergakademie Freiberg stefan@guettel.com Fakultät für Mathematik und Informatik Institut für Numerische Mathematik und Optimierung Spezialistenlager des GCG Halle, 15.01.2009

Mehr

6 Symmetrische Matrizen und quadratische Formen

6 Symmetrische Matrizen und quadratische Formen Mathematik für Ingenieure II, SS 9 Freitag 9.6 $Id: quadrat.tex,v. 9/6/9 4:6:48 hk Exp $ 6 Symmetrische Matrizen und quadratische Formen 6. Symmetrische Matrizen Eine n n Matrix heißt symmetrisch wenn

Mehr

Bildverarbeitung Herbstsemester. Mustererkennung

Bildverarbeitung Herbstsemester. Mustererkennung Bildverarbeitung Herbstsemester Herbstsemester 2009 2012 Mustererkennung 1 Inhalt Einführung Mustererkennung in Grauwertbildern Ähnlichkeitsmasse Normalisierte Korrelation Korrelationskoeffizient Mustererkennung

Mehr

8.2 Invertierbare Matrizen

8.2 Invertierbare Matrizen 38 8.2 Invertierbare Matrizen Die Division ist als Umkehroperation der Multiplikation definiert. Das heisst, für reelle Zahlen a 0 und b gilt b = a genau dann, wenn a b =. Übertragen wir dies von den reellen

Mehr

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing

Domain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing SE Data Cleansing Domain-independent independent Duplicate Detection Vortrag von Marko Pilop & Jens Kleine http://www.informatik.hu-berlin.de/~pilop/didd.pdf {pilop jkleine}@informatik.hu-berlin.de 1.0

Mehr

Skalarprodukte (Teschl/Teschl Kap. 13)

Skalarprodukte (Teschl/Teschl Kap. 13) Skalarprodukte (Teschl/Teschl Kap. ) Sei V Vektorraum über R. Ein Skalarprodukt auf V ist eine Abbildung V V R, (x, y) x, y mit den Eigenschaften () x, y = y, x (symmetrisch), () ax, y = a x, y und x +

Mehr

Übersicht der Vorlesung

Übersicht der Vorlesung Übersicht der Vorlesung. Einführung. Bildverarbeitung. Morphologische Operationen 4. Bildsegmentierung 5. Merkmale von Objekten 6. Klassifikation 7. Dreidimensionale Bildinterpretation 8. Bewegungsanalyse

Mehr

Filter. Industrielle Bildverarbeitung, Vorlesung No M. O. Franz

Filter. Industrielle Bildverarbeitung, Vorlesung No M. O. Franz Filter Industrielle Bildverarbeitung, Vorlesung No. 5 1 M. O. Franz 07.11.2007 1 falls nicht anders vermerkt, sind die Abbildungen entnommen aus Burger & Burge, 2005. Übersicht 1 Lineare Filter 2 Formale

Mehr

Mathematische Grundlagen III

Mathematische Grundlagen III Mathematische Grundlagen III Maschinelles Lernen III: Clustering Vera Demberg Universität des Saarlandes 7. Juli 202 Vera Demberg (UdS) Mathe III 7. Juli 202 / 35 Clustering vs. Klassifikation In den letzten

Mehr

Bild-Erkennung & -Interpretation

Bild-Erkennung & -Interpretation Kapitel I Bild-Erkennung & -Interpretation FH Aachen / Jülich, FB 9 Prof. Dr. rer.nat. Walter Hillen (Dig Img I) 1 Einführung Schritte zur Bilderkennung und Interpretation: Bild-Erfassung Vorverarbeitung

Mehr

Internationaler Studiengang Medieninformatik

Internationaler Studiengang Medieninformatik HTW Berlin Prof. Dr. Kai Uwe Barthel Nachname: Vorname: Codename: Matr. Nr: Internationaler Studiengang Medieninformatik Grundlagen digitaler Medien Sitzplatz: Punkte: Note: Nachklausur WS09/10 26. 3.

Mehr

& sind die Vektorkomponenten von und sind die Vektorkoordinaten von. A x. a) Der Betrag eines Vektors

& sind die Vektorkomponenten von und sind die Vektorkoordinaten von. A x. a) Der Betrag eines Vektors Einführu hnung Was ist ein Vektor? In Bereichen der Naturwissenschaften treten Größen auf, die nicht nur durch eine Zahlenangabe dargestellt werden können, wie Kraft oder Geschwindigkeit. Zur vollständigen

Mehr

Hannah Wester Juan Jose Gonzalez

Hannah Wester Juan Jose Gonzalez Neuronale Netze Supervised Learning Proseminar Kognitive Robotik (SS12) Hannah Wester Juan Jose Gonzalez Kurze Einführung Warum braucht man Neuronale Netze und insbesondere Supervised Learning? Das Perzeptron

Mehr

A2.3 Lineare Gleichungssysteme

A2.3 Lineare Gleichungssysteme A2.3 Lineare Gleichungssysteme Schnittpunkte von Graphen Bereits weiter oben wurden die Schnittpunkte von Funktionsgraphen mit den Koordinatenachsen besprochen. Wenn sich zwei Geraden schneiden, dann müssen

Mehr

3.6 Eigenwerte und Eigenvektoren

3.6 Eigenwerte und Eigenvektoren 3.6 Eigenwerte und Eigenvektoren 3.6. Einleitung Eine quadratische n n Matrix A definiert eine Abbildung eines n dimensionalen Vektors auf einen n dimensionalen Vektor. c A x c A x Von besonderem Interesse

Mehr

Lineare Algebra und Analytische Geometrie I für die Fachrichtung Informatik

Lineare Algebra und Analytische Geometrie I für die Fachrichtung Informatik Universität Karlsruhe (TH) Institut für Algebra und Geometrie Dr. Klaus Spitzmüller Dipl.-Inform. Wolfgang Globke Lineare Algebra und Analytische Geometrie I für die Fachrichtung Informatik Lösungen zum

Mehr

Versuch C: Auflösungsvermögen Einleitung

Versuch C: Auflösungsvermögen Einleitung Versuch C: svermögen Einleitung Das AV wird üblicherweise in Linienpaaren pro mm (Lp/mm) angegeben und ist diejenige Anzahl von Linienpaaren, bei der ein normalsichtiges Auge keinen Kontrastunterschied

Mehr

Das Skalarprodukt zweier Vektoren

Das Skalarprodukt zweier Vektoren Beim Skalarprodukt zweier Vektoren werden die Vektoren so multipliziert, dass sich ein Skalar eine Zahl ergibt. Die Berechnung des Skalarproduktes ist ziemlich einfach, aber die weiteren Eigenschaften

Mehr

Featurebasierte 3D Modellierung

Featurebasierte 3D Modellierung 1 Featurebasierte 3D Modellierung Moderne 3D arbeiten häufig mit einer Feature Modellierung. Hierbei gibt es eine Reihe von vordefinierten Konstruktionen, die der Reihe nach angewandt werden. Diese Basis

Mehr

2.2 Kollineare und koplanare Vektoren

2.2 Kollineare und koplanare Vektoren . Kollineare und koplanare Vektoren Wie wir schon gelernt haben, können wir einen Vektor durch Multiplikation mit einem Skalar verlängern oder verkürzen. In Abbildung 9 haben u und v die gleiche Richtung,

Mehr

B =(b1,1. + b 1,2. + b 1,3 1,3. + b 2,4 + b 3,1. + b 2,2. + b 2,3. + b 3,2. + b 3,3

B =(b1,1. + b 1,2. + b 1,3 1,3. + b 2,4 + b 3,1. + b 2,2. + b 2,3. + b 3,2. + b 3,3 Matrizen Matrizen sind zunächst einmal einfach eine rechteckige Anordnung von Zahlen, Elementen oder mathematischen Operationen, die lineare Zusammenhänge zwischen verschiedenen Größen übersichtlich darstellen.

Mehr

Skript Bruchrechnung. Erstellt: 2014/15 Von:

Skript Bruchrechnung. Erstellt: 2014/15 Von: Skript Bruchrechnung Erstellt: 2014/15 Von: www.mathe-in-smarties.de Inhaltsverzeichnis Vorwort... 2 1. Einführung... 3 2. Erweitern / Kürzen... 5 3. Gemischte Brüche... 8 4. Multiplikation von Brüchen...

Mehr

C orthogonal und haben die Länge 1). Dann ist die Länge von w = x u + y v gegeben durch w 2 Def. = w,w =

C orthogonal und haben die Länge 1). Dann ist die Länge von w = x u + y v gegeben durch w 2 Def. = w,w = 1 v Die Länge Def. Sei (V,, ) ein Euklidscher Vektorraum. Für jeden Vektor v V heißt die Zahl v,v die Länge von v und wird v bezeichnet. Bemerkung. Die Länge des Vektors ist wohldefiniert, da nach Definition

Mehr

Krümmungsapproximation auf 3D-Modellen

Krümmungsapproximation auf 3D-Modellen Krümmungsapproximation auf 3D-Modellen Mathematische Grundlagen und Approximation Christian Cyrus Matrikelnummer 157707 Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Diese Ausarbeitung

Mehr

Projektpraktikum: Bildauswertung und fusion Wintersemester 2013 / 2014

Projektpraktikum: Bildauswertung und fusion Wintersemester 2013 / 2014 Projektpraktikum: Bildauswertung und fusion Wintersemester 2013 / 2014 ies.anthropomatik.kit.edu Bildvergleich mittels Image Warping Themenbeschreibung: Zur Bildklassifikation oder Bildsuche können Image

Mehr

Faktorisierung bei Brüchen und Bruchtermen

Faktorisierung bei Brüchen und Bruchtermen Faktorisierung bei Brüchen und Bruchtermen Rainer Hauser Mai 2016 1 Einleitung 1.1 Rationale Zahlen Teilt man einen Gegenstand in eine Anzahl gleich grosse Stücke, so bekommt man gebrochene Zahlen, die

Mehr

18 λ 18 + λ 0 A 18I 3 = / Z 2 Z 2 Z Z Z 1

18 λ 18 + λ 0 A 18I 3 = / Z 2 Z 2 Z Z Z 1 UNIVERSITÄT KARLSRUHE Institut für Analysis HDoz. Dr. P. C. Kunstmann Dipl.-Math. M. Uhl Sommersemester 9 Höhere Mathematik II für die Fachrichtungen Elektroingenieurwesen, Physik und Geodäsie inklusive

Mehr

Übungen zu Einführung in die Lineare Algebra und Geometrie

Übungen zu Einführung in die Lineare Algebra und Geometrie Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Wintersemester 2014/15 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax

Mehr

Terme und Gleichungen

Terme und Gleichungen Terme und Gleichungen Rainer Hauser November 00 Terme. Rekursive Definition der Terme Welche Objekte Terme genannt werden, wird rekursiv definiert. Die rekursive Definition legt zuerst als Basis fest,

Mehr

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok

Kurs über Lineare Gleichungssysteme. PD Dr. Karin Halupczok Kurs über Lineare Gleichungssysteme PD Dr. Karin Halupczok Mathematisches Institut Albert-Ludwigs-Universität Freiburg http://home.mathematik.unifreiburg.de/halupczok/diverses.html karin.halupczok@math.uni-freiburg.de

Mehr

Übung zu Einführung in die Informatik # 14

Übung zu Einführung in die Informatik # 14 Übung zu Einführung in die Informatik # 14 Tobias Schill tschill@techfak.uni-bielefeld.de 12. Februar 2016 Aktualisiert am 12. Februar 2016 um 11:13 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Antworten von

Mehr

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung

Viele wichtige Operationen können als lineare Abbildungen interpretiert werden. Beispielsweise beschreibt die lineare Abbildung Kapitel 3 Lineare Abbildungen Lineare Abbildungen sind eine natürliche Klasse von Abbildungen zwischen zwei Vektorräumen, denn sie vertragen sich per definitionem mit der Struktur linearer Räume Viele

Mehr

++ + = 0 so erhält man eine quadratische Gleichung mit zwei Variablen dx+ey+f = 0 1.1

++ + = 0 so erhält man eine quadratische Gleichung mit zwei Variablen dx+ey+f = 0 1.1 Hauptachsentransformation. Einleitung Schneidet man den geraden Kreiskegel mit der Gleichung = + und die Ebene ++ + = 0 so erhält man eine quadratische Gleichung mit zwei Variablen +2 + +dx+ey+f = 0. Die

Mehr

Mathematik II Frühlingsemester 2015 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren

Mathematik II Frühlingsemester 2015 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren Mathematik II Frühlingsemester 215 Kapitel 8: Lineare Algebra 8.5 Eigenwerte und Eigenvektoren www.math.ethz.ch/education/bachelor/lectures/fs215/other/mathematik2 biol Prof. Dr. Erich Walter Farkas http://www.math.ethz.ch/

Mehr

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen

2. Dezember Lineare Algebra II. Christian Ebert & Fritz Hamm. Skalarprodukt, Norm, Metrik. Matrizen. Lineare Abbildungen Algebra und Algebra 2. Dezember 2011 Übersicht Algebra und Algebra I Gruppen & Körper Vektorräume, Basis & Dimension Algebra Norm & Metrik Abbildung & Algebra I Eigenwerte, Eigenwertzerlegung Singulärwertzerlegung

Mehr

10.2 Linearkombinationen

10.2 Linearkombinationen 147 Vektorräume in R 3 Die Vektorräume in R 3 sind { } Geraden durch den Ursprung Ebenen durch den Ursprung R 3 Analog zu reellen Vektorräumen kann man komplexe Vektorräume definieren. In der Definition

Mehr

Zu hell oder zu dunkel? Histogramm im ueye Cockpit nutzen

Zu hell oder zu dunkel? Histogramm im ueye Cockpit nutzen Zu hell oder zu dunkel? Histogramm im ueye Cockpit nutzen Kennen Sie das? Ihr Bild wirkt flau oder in dem dunklen, kontrastarmen Bild können Sie die aufgenommenen Objekte nicht unterscheiden. In diesem

Mehr

Inhaltsbasierte Bildsuche. Matthias Spiller. 17. Dezember 2004

Inhaltsbasierte Bildsuche. Matthias Spiller. 17. Dezember 2004 Kantenbasierte Merkmale für die Bildsuche Inhaltsbasierte Bildsuche Matthias Spiller 17. Dezember 2004 Übersicht Übersicht Einleitung Was sind Kanten? Kantenrichtungs Histogramm Der Canny-Algorithmus Feature-Erzeugung

Mehr

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<< Prozedurale Texturen >>Was nicht passt wird passend gemacht...

Mehr

Methode der kleinsten Quadrate

Methode der kleinsten Quadrate 1. Phase: Methode der kleinsten Quadrate Einführung Im Vortrag über das CT-Verfahren hat Herr Köckler schon auf die Methode der kleinsten Quadrate hingewiesen. Diese Lösungsmethode, welche bei überbestimmten

Mehr

Vektorräume und Lineare Abbildungen

Vektorräume und Lineare Abbildungen Vektorräume und Lineare Abbildungen Patricia Doll, Selmar Binder, Lukas Bischoff, Claude Denier ETHZ D-MATL SS 07 11.04.2007 1 Vektorräume 1.1 Definition des Vektorraumes (VR) 1.1.1 Grundoperationen Um

Mehr

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am

Digitale Bilder. Ein Referat von Jacqueline Schäfer und Lea Pohl Am Digitale Bilder Ein Referat von Jacqueline Schäfer und Lea Pohl Am 06.05.2015 Inhaltsverzeichnis Einheiten Grafiktypen Bildformate Farbtiefe Farbbilder/ Farbräume Quellen Einführung in die Bildverarbeitung

Mehr

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform Thorsten Jost INF-M2 AW1 Sommersemester 2008 Agenda Motivation Feature Detection Beispiele Posenbestimmung in Räumen

Mehr

3. Übungsblatt zur Lineare Algebra I für Physiker

3. Übungsblatt zur Lineare Algebra I für Physiker Fachbereich Mathematik Prof. Dr. Mirjam Dür Dipl. Math. Stefan Bundfuss. Übungsblatt zur Lineare Algebra I für Physiker WS 5/6 6. Dezember 5 Gruppenübung Aufgabe G (Basis und Erzeugendensystem) Betrachte

Mehr

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität

Datenstrukturen und Algorithmen. Christian Sohler FG Algorithmen & Komplexität Datenstrukturen und Algorithmen Christian Sohler FG Algorithmen & Komplexität 1 Clustering: Partitioniere Objektmenge in Gruppen(Cluster), so dass sich Objekte in einer Gruppe ähnlich sind und Objekte

Mehr

Matrizen und Drehungen

Matrizen und Drehungen Matrizen und Drehungen 20. Noember 2003 Diese Ausführungen sind im wesentlichen dem Skript zur Vorlesung Einführung in die Theoretische Physik I und II on PD Dr. Horst Fichtner entnommen. Dieses entstand

Mehr

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003

Softcomputing Biologische Prinzipien in der Informatik. Neuronale Netze. Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003 Softcomputing Biologische Prinzipien in der Informatik Neuronale Netze Dipl. Math. Maria Oelinger Dipl. Inform. Gabriele Vierhuff IF TIF 08 2003 Überblick Motivation Biologische Grundlagen und ihre Umsetzung

Mehr

Mathematik IT 2 (Lineare Algebra)

Mathematik IT 2 (Lineare Algebra) Lehrstuhl Mathematik, insbesondere Numerische und Angewandte Mathematik Prof Dr L Cromme Mathematik IT (Lineare Algebra für die Studiengänge Informatik, IMT und ebusiness im Sommersemester 3 Lineare Gleichungssysteme

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

31 Polynomringe Motivation Definition: Polynomringe

31 Polynomringe Motivation Definition: Polynomringe 31 Polynomringe 31.1 Motivation Polynome spielen eine wichtige Rolle in vielen Berechnungen, einerseits weil oftmals funktionale Zusammenhänge durch Polynome beschrieben werden, andererseits weil Polynome

Mehr

Debayeringverfahren. 19. Mai Thomas Noack, Nikolai Kosjar. SE Computational Photography - Debayeringverfahren

Debayeringverfahren. 19. Mai Thomas Noack, Nikolai Kosjar. SE Computational Photography - Debayeringverfahren Debayeringverfahren Thomas Noack, Nikolai Kosjar 19. Mai 2010 Was bisher geschah... Reduktion der Herstellungskosten durch Einsatz von nur noch einem CCD-Sensor mit Bayer-Filter Problem: Bayer Image Full

Mehr

5.7 Lineare Abhängigkeit, Basis und Dimension

5.7 Lineare Abhängigkeit, Basis und Dimension 8 Kapitel 5. Lineare Algebra 5.7 Lineare Abhängigkeit, Basis und Dimension Seien v,...,v n Vektoren auseinemvektorraumv über einem KörperK. DieMenge aller Linearkombinationen von v,...,v n, nämlich { n

Mehr

4 Lineare Algebra (Teil 2): Quadratische Matrizen

4 Lineare Algebra (Teil 2): Quadratische Matrizen 4 Lineare Algebra (Teil : Quadratische Matrizen Def.: Eine (n n-matrix, die also ebensoviele Zeilen wie Spalten hat, heißt quadratisch. Hat sie außerdem den Rang n, sind also ihre n Spalten linear unabhängig,

Mehr

Lineare Algebra und Numerische Mathematik für D-BAUG

Lineare Algebra und Numerische Mathematik für D-BAUG P. Grohs T. Welti F. Weber Herbstsemester 5 Lineare Algebra und Numerische Mathematik für D-BAUG ETH Zürich D-MATH Beispiellösung für Serie Aufgabe. Skalarprodukt und Orthogonalität.a) Bezüglich des euklidischen

Mehr

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU (7) Normal Mapping Vorlesung Computergraphik II S. Müller Dank an Stefan Rilling Einleitung Die Welt ist voller Details Viele Details treten in Form von Oberflächendetails auf S. Müller - 3 - Darstellung

Mehr

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen

Geometrische Objekte im 3-dimensionalen affinen Raum oder,... wie nützlich ist ein zugehöriger Vektorraum der Verschiebungen Geometrische Objekte im -dimensionalen affinen Raum Bekanntlich versteht man unter geometrischen Objekten Punktmengen, auf die man die üblichen Mengenoperationen wie z.b.: Schnittmenge bilden: - aussagenlogisch:

Mehr

CG Übung 1: ColorConverter

CG Übung 1: ColorConverter CG Übung 1: ColorConverter Sascha Feldmann sascha.feldmann@gmx.de Inhaltsverzeichnis 1 1 Profil 1.1 Aufgabe Erstellung eines ColorConverters. 1.2 Abgabe 24.04.2012 1.3 Autor Sascha Feldmann - 778455 1.4

Mehr

Projekt Maschinelles Lernen WS 06/07

Projekt Maschinelles Lernen WS 06/07 Projekt Maschinelles Lernen WS 06/07 1. Auswahl der Daten 2. Evaluierung 3. Noise und Pruning 4. Regel-Lernen 5. ROC-Kurven 6. Pre-Processing 7. Entdecken von Assoziationsregeln 8. Ensemble-Lernen 9. Wettbewerb

Mehr

Digitale Bildverarbeitung (DBV)

Digitale Bildverarbeitung (DBV) Digitale Bildverarbeitung (DBV) Prof. Dr. Ing. Heinz Jürgen Przybilla Labor für Photogrammetrie Email: heinz juergen.przybilla@hs bochum.de Tel. 0234 32 10517 Sprechstunde: Montags 13 14 Uhr und nach Vereinbarung

Mehr

Aufgabenkomplex 5: Hauptachsentransformation, Lineare Optimierung, Differentialrechnung in mehreren Veränderlichen

Aufgabenkomplex 5: Hauptachsentransformation, Lineare Optimierung, Differentialrechnung in mehreren Veränderlichen Aufgabenkomplex 5: Hauptachsentransformation, Lineare Optimierung, Differentialrechnung in mehreren Veränderlichen 1. Bestimmen Sie für die folgenden Funktionen zunächst die kritischen Stellen und entscheiden

Mehr

Bildverbesserung (Image Enhancement)

Bildverbesserung (Image Enhancement) Prof. Dr. Wolfgang Konen, Thomas Zielke Bildverbesserung (Image Enhancement) WS07 7.1 Konen, Zielke Der Prozess der Bildverbesserung (1) Bildverbesserung wird häufig dafür eingesetzt, die für einen menschlichen

Mehr

Übungen zu Einführung in die Lineare Algebra und Geometrie

Übungen zu Einführung in die Lineare Algebra und Geometrie Übungen zu Einführung in die Lineare Algebra und Geometrie Andreas Cap Sommersemester 2010 Kapitel 1: Einleitung (1) Für a, b Z diskutiere analog zur Vorlesung das Lösungsverhalten der Gleichung ax = b

Mehr

Segmentierung von Faserstrukturen in tomographischen Aufnahmen. Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern

Segmentierung von Faserstrukturen in tomographischen Aufnahmen. Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern Segmentierung von Faserstrukturen in tomographischen Aufnahmen Workshop Analyse der Mikrostruktur von Faserverbundwerkstoffen in Volumenbildern Oliver Wirjadi Frankfurt, 7.03.007 Bildquelle: Institut für

Mehr

Filterprogrammierung in Gimp

Filterprogrammierung in Gimp Rüdiger Timpe Alexander Bertschik Filterprogrammierung in Gimp Ein Vortrag im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder Inhalt Aufgabenstellung und Motivation...3 Auswahl der Filter...3

Mehr

Grundlagen der Vektorrechnung

Grundlagen der Vektorrechnung Grundlagen der Vektorrechnung Ein Vektor a ist eine geordnete Liste von n Zahlen Die Anzahl n dieser Zahlen wird als Dimension des Vektors bezeichnet Schreibweise: a a a R n Normale Reelle Zahlen nennt

Mehr

WiMa-Praktikum 1. Woche 8

WiMa-Praktikum 1. Woche 8 WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2015 4. April 2016 Zu der Vorlesung wird ein Skript erstellt, welches auf meiner Homepage veröffentlicht wird: http://www.math.uni-hamburg.de/home/geschke/lehre.html

Mehr

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7 Sonja Hunscha - Koordinatensysteme 1 Inhalt Einleitung 2 1 Koordinatensysteme 2 1.1 Kartesisches Koordinatensystem 2 1.2 Polarkoordinaten 3 1.3 Zusammenhang zwischen kartesischen und Polarkoordinaten 3

Mehr

Formelsammlung Mathematik Grundkurs Inhalt

Formelsammlung Mathematik Grundkurs Inhalt Formelsammlung Mathematik Grundkurs Inhalt Inhalt...1 Trigonometrie Grundlagen... Vektoren...3 Skalarprodukt...4 Geraden...5 Abstandsberechnungen...6 Ebenen...7 Lineare Gleichungssysteme (LGS)...8 Gauß'sches

Mehr

Farbtiefe. Gängige Farbtiefen

Farbtiefe. Gängige Farbtiefen Farbtiefe Die Anzahl der darstellbaren Farben ist abhängig von den Farbabstufungen, die in einem Pixel gespeichert werden. Die Anzahl der darstellbaren Farbtöne wird als Farbtiefe bezeichnet. Die Farbtiefe

Mehr