2017-04-05 5 views
1

Also ich möchte zählen, wie viele Leute in einem Facebook Profilbild erscheinen. Normalerweise gibt es 0-2 Personen (manchmal gibt es 4-5 +, aber das ist seltener).Wie viele Personen in einem FaceBook Profilbild?

Ein Beispieldatensatz (und ein paar Versuchen mit Python) kann hier gefunden werden:

https://github.com/yoniker/FaceDetect

Ich habe verschiedene Methoden ausprobiert, keiner von ihnen vernünftige Ergebnisse geben (alle diese Methoden sind falsch meisten der Zeit), habe ich versucht, die folgenden:

-Face Detektions- http://docs.opencv.org/trunk/d7/d8b/tutorial_py_face_detection.html

Es normalerweise nicht jemand finden (das bei etwa 75% der Bilder geschieht) - und ich habe verschiedene Haar versucht filt ers und Parameter.

-Pedestrius Erkennung http://www.pyimagesearch.com/2015/11/09/pedestrian-detection-opencv/ Wieder findet es die meisten Leute nicht.

OpenFace: Wahrscheinlich hilft dieser Gesichtserkennung Algo nicht wirklich mit Gesichtserkennung (siehe https://groups.google.com/forum/#!topic/cmu-openface/X6erXKckk0Q).

Und schließlich habe ich verschiedene StackOverflow Fragen wie Count the number of people in the video untersucht, aber keiner von ihnen ist relevant!

Ich habe für einen halben Tag jetzt versucht- so Hilfe wird super geschätzt werden !!

+0

gut offensichtlich Gesichtserkennung sollte eine Lösung für dieses Problem sein. Aber wenn du nur sagst, dass du es versucht hast und gescheitert bist, wird niemand dir sagen können, was du falsch gemacht hast und wie du es beheben kannst ... ein Bild bereitstellen, zeigen was du getan hast, was du erwartet hast und was du stattdessen hast – Piglet

+0

Anzeigen Die Ergebnisse beinhalten die gemeinsame Nutzung vieler JPG-Dateien.Ich sage, dass keine der Methoden, die ich erwähnt habe, Gesichter in einer willkürlichen Umgebung gut erkennt (und ehrlich gesagt bin ich mir nicht sicher, welche Einstellung diese gut funktionieren). Wenn Sie etwas davon gut gefunden haben, lassen Sie mich wissen, welches. Nochmal: Ich sage, dass die meiste Zeit einfach falsch ist (meistens findet man niemanden, wenn jemand da ist, zB 0/1 oder 1/2 Gesichter). –

Antwort

2

Für mich hat dlib bessere Ergebnisse als mit OpenCV Haar Gesicht Detektor gegeben. Es hat auch Python-Bindungen. Sie können den Schnellstartcode für die Gesichtserkennung here finden.

Es wäre möglich, besser zu helfen, wenn Sie ein Bild posten, in dem Gesichter nicht richtig erkannt werden.

Having said that, Gesichtserkennung abgesehen von der Verwendung DLIB zu verbessern, können Sie mit diesen Ideen experimentieren:

  • Verwenden Histogrammausgleich (equalizeHist auf opencv) auf Graustufenbild, bevor es Detektor gegenübergeben. (d. h. Vorverarbeitung Ihrer Bilder)
  • Wenn Gesichter nach links oder rechts geneigt sind, schlägt die Gesichtserkennung häufiger fehl. Um dies zu lösen, drehen Sie die Bilder in Schritten von 5 Grad bis zu 30 Grad und wenden Sie die Gesichtserkennung an. Bei jeder Drehung können Sie neue Gesichter entdecken.
  • Die meisten Gesichtsdetektoren, die kein tiefes Lernen verwenden, erkennen meistens frontale Gesichter. Dazu kann man nicht viel tun, außer Deep Learning zu lernen oder einen eigenen Seitenprofil-Detektor mit HOG- oder HAAR-Funktionen zu trainieren.

Hoffe das hilft Ihnen, Ihre Gesichtserkennung zu verbessern.

+0

Danke, ich werde es versuchen, aber ich muss sagen, dass in der realen Welt von Facebook Profilbilder viele Gesichter nicht "Frontalgesichter" sind. Ich möchte mein Netz für ein anderes Problem trainieren, also hoffte ich, das Netz eines anderen zu benutzen, um Leute nur zu entdecken :) Irgendwelche Vorschläge? (Ich schaute auf openface, aber siehe den Link, den ich gepostet habe - dieses spezifische Netz funktioniert auch nicht gut bei der Erkennung!). –

+0

Ja, das gilt für frontale Gesichter. Dann ist Deep Learning der Weg zu gehen, denke ich. Versuchen Sie dies https://github.com/quanhua92/darknet/. Ich habe es selbst nicht benutzt, aber ich erinnere mich, dass einer meiner Freunde mir davon erzählte, um das Gesicht zu erkennen. Ich schätze, das sollte funktionieren. Viel Glück! – harshkn

+0

Danke, du hast Recht, dass dlib viel besser funktioniert als HAAR! Wie auch immer Sie vorgeschlagen haben, dass dies alles andere als perfekt ist, habe ich einen kleinen Datensatz hochgeladen, so dass Sie genau sehen können, wo es bei https://github.com/yoniker/FaceDetect fehlschlägt. Ich werde jetzt Darknet auschecken und euch wissen lassen, wie auch immer ihr sehr hilfreich gewesen seid :) –

0

Es gibt immer den Kaskadenklassifizierer in OpenCV für alle Gesichtserkennungsbedürfnisse. Wenn Sie es mit einigen netten Eigenschaften füttern könnten, würde es Ihnen alle Ergebnisse geben.

Verwandte Themen