Getestet mit:RPi3; Raspbian Jessie; Python 2.7
Voraussetzungen:Raspberry Pi mit Raspbian Jessie und Internetverbindung (siehe Schritte 1-7 in der Einfuehrung)
Bauteile:Raspberry Pi Kameramodul (optional)
0

OpenCV Schnellstart: Gesichtserkennung mit dem Raspberry Pi

Ein Vergleich von Gesichtern (Gesichtserkennung) ist kompliziert und braucht einen grossen Trainingsdatensatz. Gesichter detektieren und nach Gesichtsteilen suchen geht hingegen ziemlich einfach mit einem Raspberry Pi und der Maschinensicht-Bibliothek OpenCV. Dieses Tutorial erklaert nicht, wie Gesichtsdetektion funktioniert, sondern gibt nur alles fuer eigene Experimente benoetigte. Eine sehr gute Quelle ist die OpenCV Dokumentation, in der es auch ein beeindruckendes Tutorial zur Gesichtserkennung gibt.
Zuerst wird die Maschinensicht-Bibliothek OpenCV installiert (was selbst auf dem Raspberry Pi ein paar Stunden dauert); danach wird ein kleines Script vorgestellt, das Gesichter und Teile davon findet.

OpenCV Installation
Diese Installationsanleitung ist eine Zusammenfassung des OpenCV-Installations Tutorial von Adrian Rosebrock. Besuche PyImageSearch fuer viele weitere schoene Tutorials zur Maschinensicht!
Nach der Installation eines aktuellen Raspbian Jessie muss das Dateisystem vergroessert werden durch die Eingabe von

im Terminal und Auswahl des ersten Menuepunkts.
Danach muessen alle benoetigten Packete installiert werden im Terminal mit

Installiere danach OpenCV samt Zusatzpacketen mit

Dies dauert ein paar Stunden.

Gesichter finden mit OpenCV
Lade das Script und Beispielbild herunter mit

Das Script benoetigt den Raspbian Desktop. Wenn du diesen nicht bereits geladen hast, gib
Running the Script requires the Raspbian Desktop. If you haven’t already booted into the Desktop, enter

ein und oeffne das Terminal. Das Script unterstuetzt zwei Funktionen: es nimmt entweder eine Bilddatei als Kommandozeilenparameter oder macht einen Schnappschuss mit der Kamera. Gib zum test des statischen Modus

ein. Das erzeugt

Haar features extracted

Admin?

Installiere alternativ das Kameramodul und gib ein

Mehr Merkmale finden: Haar Cascades
Gesichtsmerkmale (oder auch beliebige Objekte) koennen mit Haar Kaskaden erkannt werden. Diese sind trainierte Klassifizierer, welche anhand von grossen Mengen passender und nicht-passender Beispielbilder trainiert werden. Thorsten Ball hat ein exzellentes Tutorial ueber das Training von Haar Klassifizierern veroeffentlicht.
Diese Aufgabe ist schwierig, daher wird im folgenden einfach ein bereits trainierter Haar-Klassifizierer hinzugefuegt- beispielsweise Alereimondo stellt einige Haar-Kaskaden fuer Gesichter bereit.
Installiere die Haar-Kaskade wie folgt:

Oeffne dann das Script mit

und finde die Zeilen

Entferne die Rautezeichen am Zeilenanfang, speichere und beende Nano. Starte das Script erneut mit

haar cascade nose

Admin!

Yay, eine Nase wurde gefunden!
Das Anpassen der Parameter fuer detectMultiScale ist sehr wichtig, um gute Ergebnisse zu erzielen. In
definiert der Parameter minSize die minimale Groesse zu identifizierender Objekte. Wenn minSize zu gross ist, wird die Nase vielleicht nicht erkannt; ist es zu klein, koennten andere Objekte fuer Nasen gehalten werden.

Das ganze Script
Klicke auf Ganzes Script zum anzeigen des ganzen Codes.

Links
OpenCV Website: http://opencv.org/
OpenCV Dokumentation: http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html
OpenCV Tutorial Gesichtserkennung: http://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html
OpenCV-Installations Tutorial: http://www.pyimagesearch.com/2015/10/26/how-to-install-opencv-3-on-raspbian-jessie/
Kamera modul Tutorial: http://www.knight-of-pi.org/de/das-kameramodul-des-raspberry-pi-und-nachtsicht-mit-pinoir
Tutorial: training Haar classifiers: http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
Alereimondo Haar-Kaskaden: http://alereimondo.no-ip.org/OpenCV/34

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.