Änderungen

Wechseln zu: Navigation, Suche

Multimodale Mensch-Maschine-Kommunikation

4.556 Bytes hinzugefügt, 17:53, 2. Aug. 2009
Vision-basierte Personendetektion
* Können aus den Eigenwerten der Kovarianzmatrix der Verteilung berechnet werden
* Nicht aussagekräftige Achsen können weggelassen werden
 '''Ablauf:'''# Bestimmung der Eigenvektoren der Kovarianzmatrix C#* <math>\underline C = \frac{1}{N} \sum_{p=1}^N (\underline x^p - \underline \mu) \cdot (\underline x^p - \underline \mu)^T</math> mit <math>\underline \mu = \frac{1}{N} \sum_{p=1}^N \underline x^p</math>#* Bestimmung der Eigenvektoren mit Hilfe vonnumerischen Methoden (Nullstellen von C) oder neuronalen Verfahren (Schätzen der Eigenvektoren über Lernverfahren)#* Eigenwerte bestimmen:<math>(\underline C - \lambda_i \cdot \underline E) \underline w_i = \underline 0</math># Datenvektoren in neues Basissystem tranformieren#*<math>\underline y^p = \underline W^T (\underline x^p - \underline \mu)</math># Inputvektoren können nun durch Linearkombination der Eigenvektoren dargestellt werden#* Numerischen Methoden<math>\underline x^p = \underline \mu + \underline W \cdot \underline y^p</math># Durch Weglassen der kleinsten Eigenwerte, kann Datenreduktion mit minimalem Informationsverlust erzeugt werden '''Bestimmung der Dimension des Unterraums:'''* Frage: wieviele Eigenvektoren sind für eine effektive Beschreibung ausreichend?*über Energie der Eigenwerte ermitteln, da diese den Varianzen der Datenverteilung in Richtung der Raumachsen entsprechen* neuronalen Verfahren<math>\frac{\sum_{i=0}^{m-1} \lambda_i}{\sum_{i=0}^{n-1} \lambda_i} \ge \sigma</math> '''Einschränkungen und Probleme:'''* Geht nur für lineare Unterräumegeeignet (nichtlineare Zusammenhänge werden nicht erkannt)
* rein datengetrieben (Klassenlabel werden nicht berücksichtigt) → kann das Problem verschlimmern als verbessern
* Verwendung verschiedener neuronaler Netzwerkarchitekturen (MLP, RBF, Cascade Correlation,...)
* Lernziel ist ein minimaler Klassifikationsfehler
* Große große Anzahl an möglichen Eingabe featuresEingabefeatures
==== Rowlesy's Ansatz ====
* 20x20 Eingabe Pixel
* Aufteilung des Eingabebildes in verschiedene Bildregionen rezeptive Felder (Stripes und Squares) um Augen, Mund, Nase,..., besser Erfassen erfassen zu können* Jede der Bildregion jedes rezeptive Feld projeziert auf genau ein hidden neuronHiddenneuron* Ein ein Ausgabeneuron* Auflösungspyramiede Auflösungspyramide um verschiedene Größen von Gesichtern zu erkennen* Vorverarbeitung: Beleuchtungsausgleich, ** Beleuchtungskorrektur: Bestimmung der Intensitätsfunktion -> Subtraktion vom Originalbild** Histogrammausgleich: Gleichverteilung der Intensitätswerte durch Geradenbildung im kumulativen Histogramm (Summe der Häufigkeiten aller GW)* Erweiterung für inplane gedrehte / nicht frontale Gesichter
==== Netzwerktraining ====
* exaktes Ausschneiden von Gesichtern aus einer Bilddatenbank , labeln wichtiger Merkmale und Labeln einteilen in Gesicht/nicht Gesicht* Smaples Samples durchlaufen die gleichen Vorverarbeitungsschritte wie später die richtigen Bilddaten* Zufälliges Samples Sample aus garantierten Nichtgesichtern* Künstlich erstellte Musster Muster die auch keine Gesichter sind* Test mit nichtgesichtern .... Nichtgesichtern -> bei fehldetektion Fehldetektion wird das Nichtgesicht mit in die Trainingsdatenbank aufgenommen (Bootstrapping)** notwednig da vorab Erfassung aller Negativ-Beispiele nicht möglich** Auswahl einer gleichen Anzahl von Gesichtern/nicht Gesichtern vor dem Training notwendig , da die Datenbank mit der zeit Zeit unbalanciert wird === Boosting-based classifier cascades ===* Motivation: Berechnungsaufwand leistungsfähiger Klassifikatoren zu hoch* Ziel: einfache Nichtgesichter schnellstmöglich verwerfen -> Effizienzsteigerung* Stufenbasierter Ansatz:** Klassifikatoren der ersten Stufe möglichst einfach und schnell** erste Stufe darf keine Gesichter übersehen -> dafür wird auch hohe Zahl von Fehldetektionen geduldet** letzte Stufe muss Daten sehr gut klassifizieren und darf deshalb auch komplexer sein* Verwendete Merkmale:** einfache Subtraktion der dunklen Pixelbereiche von den hellen** abschließender Schwellwert für binäre Ausgabe '''Adaboost:'''* Lernverfahren, welches schwache Klassifikatoren zu starken Klassifikatoren kombiniert -> Booster* wählt dazu aus einer Menge möglicher Klassifikatoren eine sinnvolle Kombination aus:** den Trainingsdaten werden Gewichte zugeordnet (am Anfang alle gleich)** Traningsfehler berechnet sich aus Summe der Gewichte der falsch klassifizierten Daten** Anpassung der Gewichte durch Verringerung der Gewichte der richtig klassifizierten Daten** Auswahl des Klassifikators mit geringstem Trainingsfehler** Gesamtklassifikator entsteht aus gewichteter Mehrheitsentscheidung* sequentieller Aufbau der Kaskade: immer neue Merkmale hinzufügen bis gewünschte Fehldetektionsrate unterschritten wird == Personendetektion mittels Körpersilhouette =='''Einteilung:'''* statisch** einfache geometrische Strukturen** Template based* dynamisch** Punktbasiert** Level Sets** Modelbasiert === geometrische Strukturen ===* nutzen einfacher Ellipsen um Körper zu modellieren* es wird davon ausgegangen das nur geringe Abweichungen von diesen Formen auftreten (ein verdrehter Kopf ist immer noch elliptisch)* mehrere Formen kombinieren um ganzen Körper darzustellen* Vorteile:** einfach zu handhaben** wenige Parameter** geringer Berechnungsaufwand* Nachteil: unpräzise Beschreibung, kann leicht durch andere Objekte abgelenkt werden === Punktbasierte Detektion ===* Stützpunkte finden* Kontur mit Splines durch Stützpunkte nachbilden -> Kontur dadurch sehr präzise* Nachteile:** viele Parameter** hoher Berechnungsaufwand '''Nachbilden der Kontur durch Snakes:'''* Stützpunkte die grobe Kontur nachbilden ins Bild legen* auf diese Punkte wirkt eine Kraft, die durch eine Energie, ausgehend von den Kanten des Objektes, geseuert wird** kann man sich wie eine Art Gummiband vorstellen* Ziel ist es diese Energie zu minimieren ===Level Sets===* numerische Methode für GW-Bilder* Vorteile:** benötigt keine Stützpunkte** wenige Parameter** unabhängig von der Anzahl der Objekte* Nachteil: hoher Berechnungsaufwand* Prinzip ähnlich wie Snakes === Modellbasiert ===* Active Shape Models* Kontur eines Objektes durch Punkte beschreiben* Prinzip wie bei Hauptkomponentenanalyse
= Vision-basiertes Personentracking =
388
Bearbeitungen

Navigationsmenü