2013-03-14 4 views
6

Ich habe eine Anwendung mit Haar-Kaskade, um Augen in der Bilderfassung von der Videokamera zu erkennen. Das verwendete Verfahren ist:OpenCV: Wie kann die Genauigkeit der Augenerkennung mit Haar Classifier Cascade verbessert werden?

void CascadeClassifier::detectMultiScale(const Mat& image, vector<Rect>& objects, double scaleFactor=1.1, int minNeighbors=3, int flags=0, Size minSize=Size(), Size maxSize=Size())

Dies funktioniert ganz mit Standardwert von scaleFactor, fein minNeighbors und flags aber einige Menschen die Augen nicht erkannt werden kann. Also möchte ich die Genauigkeit der Augenerkennung verbessern. Es scheint wie "Cascade Classifier Training" und erstellen Sie die benutzerdefinierte Kaskadenklassifizierer ist eine gute Lösung, aber bevor Sie auf diese Weise

wäre es möglich, die Erkennungsgenauigkeit durch die Anpassung einiger Parameter in der Methode zu verbessern? Bitte erläutern Sie mehr die Bedeutung von scaleFactor, minNeighbors und flags, weil diese Bedeutung von cascadeclassifier-detectmultiscale Dokumente sind mir nicht ganz klar. Vielen Dank.

Antwort

21

Der scaleFactor-Parameter wird verwendet, um zu bestimmen, wie viele verschiedene Augengrößen die Funktion suchen soll. Normalerweise ist dieser Wert 1,1 für die beste Erkennung. Wenn Sie diesen Parameter auf 1,2 oder 1,3 einstellen, werden die Augen schneller erkannt, aber nicht so oft, was bedeutet, dass die Genauigkeit sinkt.

minNeighbors wird verwendet, um dem Detektor mitzuteilen, wie sicher er sein sollte, wenn er ein Auge erkennt. Normalerweise ist dieser Wert auf 3 eingestellt, aber wenn Sie mehr Zuverlässigkeit wünschen, können Sie dies höher einstellen. Höhere Werte bedeuten weniger Genauigkeit, aber mehr Zuverlässigkeit.

Die Flags werden zum Festlegen bestimmter Einstellungen verwendet, z. B. zur Suche nach dem größten Objekt oder zum Überspringen von Regionen. Standard diesen Wert = 0.

+7

Dies ist tatsächlich in dieser Antwort besser dokumentiert als in jeder anderen Online-Dokumentation, die ich online gefunden habe – user151496

+0

Ich habe experimentell gefunden, dass eine niedrigere minNeighbor findet die Features häufiger. (mit weniger Genauigkeit) –

+0

Was ist mit der Bildfarbpalette oder den Farbräumen? Welches ist das beste für die Augenerkennung von Haar? Vollfarbe oder Graustufen? RGB, LAB, YCrCb, HSV? – dwkd

Verwandte Themen