Farberkennung
Ich bin mit dem folgenden Algorithmus zur Erkennung der Hautfarbe, sondern seine nicht funktioniert real auch in unterschiedlichen Lichtverhältnissen. Kann jemand Rat, wie man es verbessern oder schlagen Sie ein besserer Ansatz
R > 95 AND G > 40 AND B > 20 AND
max{R, G, B} – min{R, G, B} >15 AND
|R – G| > 15 AND
R > G AND R > B
OR
R > 220 AND G > 210 AND B > 170 AND
|R – G| <= 15 AND
R > B AND G > B
http://softexpert.wordpress.com/2007/10/17/skin-color-detection/
Cheers
InformationsquelleAutor user346443 | 2010-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre gegebenen Algorithmus ist einfach die Farbe basiert schwellenwertbestimmung. Dies funktioniert nur für eine sehr einfache Reihe von Bedingungen. Für ein paar Bilder kann es geben, das wirklich gute Ergebnisse, ist aber als Allgemeine Detektor wird es geben schlechte Ergebnisse.
Ihre erste Linie der Angriff sollte wechseln zu einer anderen Farbe Modell, das invariant ist die Beleuchtung. In der Tat, die Verknüpfung, die Sie geben explizit sagt dies! Zum Beispiel, HSI. Ich persönlich würde es vorziehen, etwas zu tun, mit L*a*b*, aber die Umsetzung der Konvertierung von RGB wäre schwieriger.
Sollten Sie sich einige zusätzliche Bedingungen vor, zum Beispiel, isolierte Pixel, die nicht die Haut.
InformationsquelleAutor koan
Gibt es eine Menge von Methoden für die Farbgebung der Haut, die Modellierung, jeder hat seine vor-und Nachteile.
Wählen Sie eine, basierend auf Ihren Zweck. Blick auf die Umfragen:
V. Vezhnevets, V. Sazonov, A. Andrejew. Eine Umfrage auf pixel-basierte Farberkennung Techniken. Proc. Graphicon, 2003
P. Kakumanu, S. Makrogiannis, N. Bourbakis. Eine Umfrage von Haut-Farbe-Modellierung und-Nachweismethoden. Pattern recognition, 2007
FTFY, sir.
InformationsquelleAutor Roman Shapovalov
Ich habe Chrominanz-Komponenten, um schnell Haut-getönten Regionen eines Bildes.
Es ist nicht perfekt, aber es ist OK, wenn alle Sie wollen, ist eine quick-and-dirty Ansatz.
Das Papier ist als "Gesicht der Segmentierung mit Haut-Farbe-Karte in Videotelefon-Anwendungen" von Douglas Chai. Es ist ein relativ Alter Ansatz (1999). Leider, das Papier selbst ist hinter einer pay-wall, aber der Ansatz ist ziemlich einfach:
InformationsquelleAutor mpenkov
Wenn Sie RGB -, Sie haben Probleme mit der Beleuchtung(Helligkeit). Beste Weg, um mit Farberkennung ist YCbCr-Zusammensetzung. Y für Luminanz, Cb und Cr für die Chrominanz. Jeweils ausgedrückt als wog Ausdruck von RGB-Farben. Aber Sie verwenden Sie nur Cb und Cr zu identifizieren, die Haut Farben. Y wird verworfen, da Sie nicht wollen, dass die Helligkeit in Ihrer Analyse. So verwenden Sie " YCbCr statt RGB. Hoffe, dass ich geholfen!
InformationsquelleAutor Jos
Siehe meine Antwort zu robust hand detection hier, wo ich empfohlen, eine Methode, die Farbe Histogramm erstellt, indem Sie einfach den Farbton und die Sättigung der Kanäle eines Bildes ursprünglich von Gary Bradski (OpenCV Schöpfer)'s Papier auf Gesicht-tracking. Es enthält einen überblick über die Methode sowie links zu Beispiel-code, wie zu erkennen Haut region.
Die Methode ist einfach und doch ziemlich robust zu Lärm und Beleuchtung Varianten als auch in der Lage zu erkennen, unterschiedliche Hauttöne. Keine maschinellen Lernens benötigt :).
InformationsquelleAutor lightalchemist