Frage

Ich habe ein wenig in die Gesichtserkennung vor kurzem sah. Allerdings bin ich durch die Anzahl der Algorithmus overwelmed, die es gibt.

PCA, LDA, IDA, Gabor Wavelets, AAM ...

sagen wollte Sie so etwas wie dieser machen .. . Welche Algorithmen würden Sie verwenden oder welche Papiere würden Sie gelesen haben?

War es hilfreich?

Lösung

ich glaube, das erste, was Sie tun sollten wissen, ist, dass die Algorithmen Sie aufgelistet haben in den verschiedenen Phasen der Gesichtserkennung verwendet werden.

Als erstes müssen Sie auf der Darstellung, um zu entscheiden, i. e. die Funktion zu nutzen. Diese könnten rohe Pixel, Gabor-Filter, eine Art von Form-Deskriptoren, deformierbare Modelle, etc.

Dann wollen Sie in der Regel die Dimensionalität der Features zu reduzieren. Dies ist, wo Algorithmen wie PCA, ICA oder LDA kommen, die Projektdatenpunkte in einen niedrigeren dimensionalen Raum versuchen, den größten Teil der Varianz (PCA) zu erhalten oder die optimale Trennung von Punkten verschiedener Kategorien (LDA) zu gewährleisten.

Dann möchten Sie wahrscheinlich einen Klassifikator auf Ihre Funktionen trainieren zwischen den Flächen von verschiedenen Personen zu unterscheiden. Es gibt eine Vielzahl von Algorithmen von hier, wie der nächsten Nachbarn, Support Vector Machines, Hidden-Markov-Modelle, Bayes-Netze, etc. zu wählen.

Beachten Sie, dass die Wahl eines Algorithmus für eine bestimmte Stufe kann oder nicht auf den Algorithmen für andere Stufen abhängen. Für Fälle können PCA verwendet wird Dimensionalität von fast jede Art von Funktionen zu reduzieren. Auf der anderen Seite ist es nicht sofort offensichtlich, wie man eine Support-Vektor-Maschine Klassifikator für Flächen, die durch ein deformierbare Netz dargestellt verwenden kann.

ich denke, das erste, was Sie sollten versuchen zu tun ist, um Ihr Problem zu definieren sehr genau. Haben Sie zwischen den Flächen von nur wenigen Menschen, wie zum Beispiel erkennen, Ihre Familienmitglieder in den Fotos unterscheiden wollen? Wollen Sie Menschen aus einer riesigen Datenbank erkennen? Haben Sie viele Trainingsbilder für jede Fläche oder nur ein paar? Haben Sie unterschiedliche Ausrichtungen und Lichtverhältnisse zu handhaben wollen?

Die Antworten auf diese Fragen bestimmen, wie kompliziert das Problem ist, und wird sicherlich Ihre Wahl von Algorithmen beeinflussen.

EDIT: Hier ist eine These von jemandem, der ein ähnliches Problem versucht zu lösen. Es ist aus dem Jahr 2002, aber IMHO es ist ein guter Anfang.

Andere Tipps

Sie möchten Tiefenkarten berücksichtigen. Das ist Stand der Technik. Versuchen Sie, über spärliche sphärische Darstellungen zu lesen. Eigen steht, ist einfach nicht sehr robust. Es ist nicht unveränderlich auf mehrere Faktoren zurückzuführen. Stand der Technik ist die Gesichtserkennung mit Hilfe von 3D PCL, die Tiefeninformation aufweist. Dies würde ermöglichen es Ihnen, auch im Dunkeln zu erkennen. Sie könnten eine Asus-Kamera oder eine Kinect-Kamera zu sammeln Tiefe info verwenden. Ich hoffe, das hilft!

Haar Kaskade auf einem Marilena-Port ausgeführt wird.

Ein Haar Kaskade ist ein Algorithmus, der eine Datei liest und sagt dem Computer, was etwas aussieht. Ich habe es in der Vergangenheit verwendet Gesichter zu erkennen, Gläser, nur ein Lächeln, Hände und eine Coladose.

http://en.wikipedia.org/wiki/Haar-like_features

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top