actionbrowser.com
Das Erkennen von Gesichtern in Fotos und Videoaufnahmen ist ein zukunftsträchtiges Feld – und mit der quelloffenen Bibliothek OpenCV erstaunlich einfach in eigenen Projekten nutzbar. G esichtserkennung in der Praxis: Ein Mitarbeiter setzt sich an einen Arbeitsplatz, wird per Webcam identifiziert und bekommt daraufhin Zugang zu allen benötigten Ressourcen – ohne Eingabe eines Passworts, Auflegen des Fingers oder Einstecken einer Smartcard. Windows 10 bringt mit Hello eine solche Funktion bereits mit. Im Zuge dieses dreiteiligen Tutorials entsteht eine eigene, erweiterbare Lösung zur Identifikation von Personen per Gesichtserkennung auf Basis von OpenCV und Python. Der erste Teil der Serie gibt eine Einführung in OpenCV und die Grundlagen der Gesichtserkennung. Er endet mit der Installation von OpenCV unter Linux inklusive Aufruf eines Beispielskripts zur Gesichtserkennung. Opencv gesichtserkennung python interview. Ein erster Codeschnipsel zeigt, wie einfach es ist, über die Python-API auf eine Kamera zuzugreifen. Im zweiten Teil geht es weiter mit der OpenCV-API und der Frage, wie und mit welchen Methoden man via OpenCV Gesichtserkennung betreiben kann.
Die originale C++-API-Dokumen tation zeigt OpenCV einigermaßen übersichtlich, da der gesamte Funktionsumfang der Bibliothek in Module und Submodule unterteilt ist. Das ungezielte Stöbern in den cv2. -Ergänzungen, die IPython anzeigt, ist hingegen weniger zielführend. Im Folgenden werden daher alle Funktionen kurz vorgestellt, die allgemein für die Gesichtserkennung und somit für das Beispielprojekt im dritten Teil der OpenCV-Serie benötigt werden – und zwar in der Reihenfolge des Workflows. Gesichtserkennung mit Python und OpenCV mit Webcam – Acervo Lima. Der dritte Teil wird dann zeigen, wie die Funktionen verwoben und mit welchen konkreten Parametern sie aufgerufen werden. Leserbrief schreiben Auf Facebook teilen Auf Twitter teilen
OpenCV ist eine Bibliothek, mit der Bildverarbeitungen mit Programmiersprachen wie Python durchgeführt werden. In diesem Projekt wird OpenCV Library verwendet, um eine Echtzeit-Gesichtserkennung mit Ihrer Webcam als Hauptkamera durchzuführen. Es folgen die Voraussetzungen dafür: - Python 2. 7 OpenCV Numpy Haar Cascade Frontal Gesichtsklassifikatoren Ansatz / verwendete Algorithmen: Dieses Projekt verwendet den LBPH-Algorithmus (Local Binary Patterns Histograms), um Gesichter zu erkennen. Es beschriftet die Pixel eines Bildes durch Schwellenwertbildung der Nachbarschaft jedes Pixels und betrachtet das Ergebnis als Binärzahl. LBPH verwendet 4 Parameter: (i) Radius: Der Radius wird verwendet, um das kreisförmige lokale Binärmuster aufzubauen, und repräsentiert den Radius um das zentrale Pixel. (ii) Nachbarn: Die Anzahl der Abtastpunkte zum Erstellen des kreisförmigen lokalen Binärmusters. Opencv Python-Programm zur Gesichtserkennung – Acervo Lima. (iii) Gitter X: Die Anzahl der Zellen in horizontaler Richtung. (iv) Gitter Y: Die Anzahl der Zellen in vertikaler Richtung.
Im folgenden wird der Programmcode für ein einfaches, grundlegendes Beispielprojekt beschrieben, das hier auf Github direkt heruntergeladen werden kann. Für dieses Projekt wird Python 3. 6 vorausgesetzt. Zudem benötigen wir die Bibliothek "OpenCV". Wir können die Abhängigkeiten mit der installieren: pip install -r Um ein Verständnis für die Abläufe zu schaffen, wird in diesem Abschnitt der Quellcode erläutert. Opencv gesichtserkennung python 6. # Laden des bereits trainierten Modells faceCascade = scadeClassifier('') Zuerst importieren wir ein vorher trainiertes Modell in Form einer XML-Datei zur Erkennung von Gesichtern. Wir ersparen uns damit die Arbeit des "Labelns" von Gesichtern und dem Training. Damit können wir direkt die Logik des Modells laden. # Erzeugung eines Objekts, das auf die Default Kamera video_capture = Capture(0) Danach erzeugen wir ein Objekt, das auf unsere Webcam zugreift. Normalerweise wird diese Kamera als Objekt "0" im System geführt. Dabei wird im Hintergrund der Systemaufruf mittels einer C++ API abgearbeitet.
Bilder vorbereiten und normieren Für die Vorbereitungsarbeiten liefert die OpenCV-Dokumentation fertige Skripte. Das Normierungsskript haben wir leicht modifiziert, um die zu verarbeitenden Bilder einfacher angeben zu können. Dieses und die anderen Skripte lassen sich unter herunterladen; das Beispiel geht davon aus, dass sie im Ordner ~/facerec gespeichert sind. Zunächst werden also Fotos vom Gesicht der zu erkennenden Personen benötigt. Zum Durchspielen genügt bereits eine Handvoll Bilder jeder Person. Für ordentliche Ergebnisse bei der Erkennung braucht OpenCV mindestens acht Bilder pro Person, mehr Bilder sorgen für eine bessere Erkennungsleistung. Das Skript skaliert, dreht, zentriert und schneidet die Bilder so zu, dass jedes Bild denselben Ausschnitt des Gesichts enthält. GitHub - encyclomedia/gesichtserkennung-opencv: Einfache Geichtserkennung mit OpenCV in Python. Das passiert automatisch, allerdings benötigt das Skript dafür die Koordinaten der Augen. Hier kommt jetzt der mühsame Teil: Für jedes Bild heißt es öffnen, Augenkoordinaten notieren und anschließend in das Skript eintragen.
3, 5) prediction = edict(face_resize) ctangle(im, (x, y), (x + w, y + h), ( 0, 255, 0), 3) if prediction[ 1]< 500: cv2. putText(im, '% s -%. 0f'% (names[prediction[ 0]], prediction[ 1]), (x - 10, y - 10), NT_HERSHEY_PLAIN, 1, ( 0, 255, 0)) else: cv2. Opencv gesichtserkennung python tutorial. putText(im, 'not recognized', (x - 10, y - 10), NT_HERSHEY_PLAIN, 1, ( 0, 255, 0)) Hinweis: Die oben genannten Programme werden nicht in der Online-IDE ausgeführt. Screenshots des Programms Es könnte etwas anders aussehen, weil ich das obige Programm in das Kolbengerüst integriert hatte Das Ausführen des zweiten Programms führt zu ähnlichen Ergebnissen wie im folgenden Bild: Gesichtserkennung Datensatzspeicherung: data_sets