Dies ist mein Versuch, ein Gesichtserkennungssystem für die Anwesenheit im Klassenzimmer oder Büro zu machen. Das System basiert auf einer speziellen Art von CNN -Architektur, die als siamesisches Netzwerk bekannt ist. Ein solches Netzwerk ist geschult, um einen sehr genauen und nahezu einzigartigen Vektor zu generieren, da die Bilder der Gesichts, die A dem Netzwerk zugeführt werden, ordnungsgemäß ausgerichtet und beschnitten sind.
Dann wird ein weiteres dichtes neuronales Netzwerk trainiert, um diese Einbettungen einzugeben. Das zweite neuronale Netzwerk dient nur zu Klassifizierungszwecken. Dann wird die Person, die vom System identifiziert wird, ihre Anwesenheit im System durch 1 erhöht.
Wenn das System geschlossen ist, wird eine Excel -Datei, die aus der Teilnahme aller Schüler besteht, generiert.
genommen von DeepLearning.ai.
Sie können diese Videos ansehen. Professor Andrew Ng gibt diesen Netzwerken eine hervorragende Erklärung.
Ich habe das vorgezogene Spaceet-Modell von Nyoki-Mtl Githubu heruntergeladen
Dieses Netzwerk ist in einem ziemlich großen Datensatz vorgebracht und erzeugt einen einzigartigen 128 -dimensionalen Vektor für ein bestimmtes Gesicht, da die mit ihm geführten Bilder nur in die Gesichtsregion geschnitten sind und allignisiert sind. Die Eingangsgröße des Bildes für dieses NetOWRK beträgt 160 x 160x3
Die Gesichtserkennung wird durch die Verwendung von Haar Cascades von OpenCV erreicht. Die Gesichtserkennung Haarcascade wird verwendet, um das Gesicht zu erkennen, und diese erkannte Region wird dem Einbettungsgenerator zugeführt.
Das zweite neuronale Netzwerk verfügt über eine dichte Architektur und wird zur Klassifizierung verwendet. Das zweite neuronale Netzwerk nimmt den 128 dimensionalen Vektor ein und outiert die Wahrscheinlichkeit des Gesichts als einer der Schüler. Die Architektur des zweiten neuronalen Netzwerks ist 
Die verwendete Datenbank ist MongoDB. Pymongo wird verwendet, um Datensätze hinzuzufügen, zu löschen und die Teilnahme des jeweiligen Schülers zu erhöhen. 
Nach der Schließung der Anwendung wird eine Excel -Datei generiert. Diese Excel -Datei enthält die Teilnahme des gesamten Schülers.
Starten Sie Ihr CMD -Terminal je nach Betriebssystem.
Wenn Sie eine Nvidia -GPU haben, stellen Sie sicher, dass Sie die Voraussetzungen für die Tensorflow -GPU -Installation haben (siehe offizielle Site). Verwenden Sie dann diesen Kommando
PIP Installation -r requirlitus_gpu.txt
Falls Sie keine GPU haben, verwenden Sie diesen Befehl
pip install -r requirements_cpu.txt
1) Installieren Sie alle Anforderungen
2) Machen Sie einen Ordner namens "People" ohne Zitate
3) Jetzt führen Sie generating_training_data.py aus. Wenn dies ausgeführt wird, geben Sie den Namen der Person ein, gefolgt von einem Index, der beispielsweise von Null beginnt. Wenn ich Daten für "Ravi" generieren möchte, werde ich "RAVI0" schreiben und für den nächsten Namen "SecondName1". Geben Sie jetzt alle diese Ordner in den People -Ordner ein 
4) Jetzt in Trainer.py ändern Sie die Anzahl der Klassen entsprechend der Anzahl des Ordners und rennen Sie dann Trainer.py
5) Das Modell wird trainiert.
6) Erstellen Sie nun eine Datenbank mit MongoDB. Geben Sie alle Namen mit ihrer Teilnahme ein. Dies kann durch erreicht werden
a) Erstellen Sie eine Datenbank mit dem Namen "neu"
b) Erstellen Sie eine Sammlung namens "PA"
c) Fügen Sie die Enteries hinzu. Für z. Db.Pa.insert ({"Name": "Satinder", "Anwesenheit": 0})

7) Jetzt Erkenntnis erkennen. Der Schlüssel von Array "A" ist der Index der Personen, und die Daten sind eine angegebene Variable, die darauf hinweist, dass in einer bestimmten Sitzung, wenn die Teilnahme an der Person abgeleitet wurde.
8) Wörterbuch "Volk" ist selbsterklärend.
9) Rennen Sie Erkenntnisse.py, um Menschen zu erkennen. Ihre Teilnahme wird in der MongoDB -Datenbank registriert.


Wenn es Ihnen gefallen hat, mögen Sie es sicherlich auch meine anderen Repos. Sie können sich auch meinen YouTube -Kanal "Reaktor Science" ansehen. Wenn Sie Zweifel haben, können Sie mich auf meiner Facebook -Seite "Reaktorwissenschaft" kontaktieren
1) Deep Learning mit Python von Francois Chollet
2) keras.io
3) DeepLearning.ai von Coursera (Prof. Andrew NG)
4) CS231N von Stanford
5) pyimagesearch.com (Adrian Rosenberg)
6) Brandon Amos (GitHub: https: //github.com/bamos)