Inhaltsverzeichnis:

Gesichtserkennung und -identifikation - Arduino Face ID mit OpenCV Python und Arduino. - Gunook
Gesichtserkennung und -identifikation - Arduino Face ID mit OpenCV Python und Arduino. - Gunook

Video: Gesichtserkennung und -identifikation - Arduino Face ID mit OpenCV Python und Arduino. - Gunook

Video: Gesichtserkennung und -identifikation - Arduino Face ID mit OpenCV Python und Arduino. - Gunook
Video: Object Detection & Identification using ESP32 CAM Module & OpenCV 2024, Juli
Anonim
Image
Image

Gesichtserkennung AKA Face ID ist heutzutage eine der wichtigsten Funktionen auf Mobiltelefonen.

Also, ich hatte eine Frage "Kann ich eine Gesichts-ID für mein Arduino-Projekt haben" und die Antwort ist ja …

Meine Reise begann wie folgt:

Schritt 1: Zugriff auf die Webcam

Schritt 2: Gesichtserkennung.

Schritt 3: Datenerhebung

Schritt 4: Ausbildung

Schritt 5: Gesichtserkennung

Schritt 6: Arduino programmieren

Ich werde alle Schritte unten erklären. Ich hoffe, dass Ihnen das weiterhilft.

Schritt 1: Zugriff auf Webcam

Zugang zur Webcam
Zugang zur Webcam

Der erste Schritt für die Gesichtserkennung bestand darin, Zugang zu einer Kamera oder einem Computer Vision zu haben. Da Indien gesperrt ist, war die billigste Lösung, die ich gefunden habe, die Webcam meines Computers zu verwenden, auf die ich mit einem Python-Programm mit dem OpenCV-Modul Zugriff hatte.

Sie denken vielleicht, was OpenCV ist, nicht wahr?

OpenCV (Open Source Computer Vision Library) ist eine Open-Source-Softwarebibliothek für Computer Vision und maschinelles Lernen. OpenCV wurde entwickelt, um eine gemeinsame Infrastruktur für Computer-Vision-Anwendungen bereitzustellen und den Einsatz der maschinellen Wahrnehmung in kommerziellen Produkten zu beschleunigen.

Wenn Opencv auf Ihrem Computer installiert ist, können Sie loslegen. Wenn nicht, befolgen Sie diesen Schritt.

Öffnen Sie die Eingabeaufforderung und geben Sie "pip install opencv" ein.

Warnung: Möglicherweise erhalten Sie eine Fehlermeldung wie "'pip' wird nicht als interner oder externer Befehl erkannt". für die Sie den Pfad Ihrer Pip-Installation zu Ihrer PATH-Systemvariablen hinzufügen müssen. Gehen Sie diesen Beitrag durch, es kann Ihnen helfen.

stackoverflow.com/questions/23708898/pip-i…

Sobald OpenCV installiert ist, können wir loslegen… Um zu überprüfen, ob es richtig installiert ist, öffnen Sie Ihren Python-Interpreter und importieren Sie die Bibliothek. Sehen Sie sich das Bild oben an, das Ihre Ausgabe sein sollte.

Laden Sie die Python-Datei "AccessTo_webcam.py" herunter und führen Sie sie aus. Dort habe ich alle nötigen Anmerkungen gemacht.

Los geht's, Jetzt haben Sie Zugriff auf die Webcam. Gut erledigt. fahren wir mit Schritt 2 fort.

Schritt 2: Gesichtserkennung

Gesichtserkennung
Gesichtserkennung

Mit Hilfe des gleichen OpenCV-Moduls müssen wir feststellen, ob sich ein Gesicht im Videostream befindet oder nicht.

OpenCV bietet eine Trainingsmethode oder vortrainierte Modelle, die als Cascade Classifier bezeichnet werden. Die vortrainierten Modelle befinden sich im Datenordner der OpenCV-Installation. Ich stelle diese Datei zur Verfügung, lade sie einfach herunter und lege sie in deinen Projektordner. Der Ordner, in dem die Datei "AccessTo_webcam.py" gespeichert ist. Wenn Sie noch keine erstellt haben, dann tun Sie es.

Laden Sie "haarcascade_frontalface_default" herunter und legen Sie es im Hauptprojektordner ab.

Laden Sie "Face_identification.py" herunter und legen Sie es im Hauptprojektordner ab. Alle Erklärungen sind darin enthalten.

Jetzt können Sie die Gesichter in einem Videostream identifizieren. Fahren wir also mit Schritt 3 fort.

Schritt 3: Datenerfassung

Datensammlung
Datensammlung

Um die Gesichter zu erkennen, müssen wir unser Python-Programm trainieren. Dafür brauchen wir einige Daten.

Die Datenerhebung ist eher der einfachste Schritt in diesem Projekt. Erstellen Sie einen Ordner namens "image_data" in Ihrem Hauptprojektordner. Erstellen Sie im Ordner "image_data" einige zusätzliche Ordner mit dem Namen der Person, in denen wir die Daten speichern. zum Beispiel:

Im Ordner "image_data" habe ich zwei weitere Ordner namens "HRK" und "Yahiya" angelegt. wie im obigen Bild gezeigt.

Erstellen Sie nun Ihre eigenen Ordner und benennen Sie sie.

Sobald die Ordner erstellt sind, beginnen Sie mit dem Sammeln von Bildern dieser bestimmten Person. Ich empfehle, ungefähr 20 Bilder pro Person zu sammeln. Sie können auch weitere Bilder hinzufügen, aber achten Sie darauf, dass die gesammelten Daten für alle Personen die gleiche Anzahl von Bildern enthalten. Es hilft, Genauigkeit zu liefern.

das war's jetzt gehen wir zu Schritt 4 über.

Schritt 4: Ausbildung

Kurz gesagt, wir werden alle Ordner und Bilder durchgehen, die im Ordner "image_data" vorhanden sind, und ein Wörterbuch erstellen, das die Label-ID und den entsprechenden Namen enthält. Gleichzeitig laden wir das Bild, um das Gesicht in jedem einzelnen Bild zu erkennen, das wir "Region of Interest" nennen, und erstellen eine ".yml"-Datei, die diese Informationen enthält.

Angenommen, Sie haben Daten zu Person X und Y erhoben.

Wir werden Person X als 1 kennzeichnen, was seine Label-ID ist, und der Name wird X selbst sein. Wir laden das Bild, um sein Gesicht zu finden, dh die Region von Interesse, und fügen die Daten an eine Liste an.

ähnliche Schritte werden für Person Y durchgeführt. Und schließlich erstellen wir eine ".yml"-Datei.

Laden Sie die Datei "face_trainer.py" herunter und legen Sie sie im Hauptprojektordner ab. Alle notwendigen Erläuterungen sind in dieser Datei selbst enthalten.

Wenn Sie dieses Programm ausführen, durchläuft es alle Bilder und erstellt zwei Dateien namens "labels.pickle" und "trainner.yml". Jetzt haben Sie Ihr eigenes Modell trainiert. Fahren wir also mit Schritt 5 fort.

Schritt 5: Gesichtserkennung

Gesichtserkennung
Gesichtserkennung

Wenn Sie alle Schritte richtig durchlaufen haben, haben Sie möglicherweise Ihre eigenen trainierten Daten erstellt. Jetzt werden wir diese Daten für die Gesichtserkennung verwenden.

Grundsätzlich werden wir unsere trainierten Modelle in die Python-Datei laden, auf unsere Webcam zugreifen und Gesichter im Videostream identifizieren und einen Vergleich oder eine Vorhersage zwischen dem aktuellen Gesicht, das im Videostream identifiziert wird, und dem trainierten Modell durchführen. Wenn die Daten übereinstimmen, sagen wir, dass die Person erkannt wird, so einfach ist es…

Laden Sie "face_recognise.py" herunter und führen Sie es aus. Darin sind alle notwendigen Informationen enthalten. Jetzt wurde Ihr Gesicht möglicherweise erkannt. Wenn die Genauigkeit nicht gut ist, versuchen Sie, die Daten zu aktualisieren. Wenn Sie alle bereit sind, fahren Sie mit Schritt 6 fort.

Schritt 6: Arduino programmieren

Der letzte und letzte Schritt ist die Programmierung von Arduino und die Bereitstellung eines Kommunikationsmodus zwischen Python und Arduino. Für die Kommunikation habe ich "Serielle Kommunikation" verwendet. Gehen Sie das oben verlinkte Video durch, um herauszufinden, wie die serielle Kommunikation funktioniert und um eine einzurichten. Alle erforderlichen Dateien finden Sie in der Videobeschreibung.

Wenn Sie das Video durchgegangen sind, dann lassen Sie mich Ihnen erklären, was ich getan habe. Wenn mein Gesicht erkannt wird, ist die bereitgestellte Label-ID 2. Sobald die Label-ID 2 ist, sende ich '1' als serielle Daten an meinen Arduino. Das wird meine LED-Chaser-Schaltung einschalten. Wenn die Label-ID eine andere als 2 ist, sende ich '0' als serielle Daten, wodurch meine LED-Chaser-Schaltung ausgeschaltet wird.

Laden Sie die Datei "ard_chaser.ino" herunter. Es ist ein einfaches LED-Chaser-Programm, das serielle Kommunikation verwendet.

Laden Sie auf ähnliche Weise "face_recogniser1.py" herunter, das die serielle Kommunikation zwischen Arduino und dem Python-Programm herstellt.

Da gehst du. Ich hoffe, Sie haben etwas Neues gelernt. Abonnieren Sie meinen YouTube-Kanal für mehr Informationen zu Python und Arduino. Teile dies, wenn es dir gefallen hat. Unterstützen Sie weiter.

Dankeschön.

Empfohlen: