這是我試圖建立教室或辦公室出勤的面部識別系統的嘗試。該系統基於一種特殊類型的CNN體系結構,稱為暹羅網絡。鑑於將A的面部圖像適當地對齊和裁剪,因此對這樣的網絡進行了訓練,以生成非常準確且幾乎獨特的128矢量。
然後,訓練了另一個密集的神經網絡,以輸入這些嵌入。第二個神經網絡僅用於分類。然後,由系統識別的人,他/她在系統中的出席人數增加了1。
關閉系統時,會產生由所有學生出席的Excel文件。
取自深度學習。
您可以觀看這些視頻。安德魯·恩(Andrew Ng)教授對這些網絡提供了很好的解釋。
我已經從Nyoki-Mtl Githubu下載了驗證的面部模型
該網絡在一個非常大的數據集上估計,並且為特定面孔提供了獨特的128維矢量,鑑於饋送給它的圖像僅裁剪到面部區域並被染色。此NetOwrk的圖像的輸入大小為160x160x3
通過使用OpenCV的Haar級聯,可以實現面部檢測。面部檢測Haarcascade用於檢測面部,該檢測到的區域被餵給嵌入發生器。
第二個神經網絡具有密集的體系結構,用於分類。第二個神經網絡輸入了128維矢量,並將面部概率成為學生之一。第二個神經網絡的體系結構是
使用的數據庫是mongodb。 Pymongo用於添加,刪除記錄並增加特定學生的出勤率。 
關閉應用程序後,生成Excel文件。此Excel文件包含所有學生的出席。
根據您的操作系統啟動CMD終端。
如果您有NVIDIA GPU,請確保您有Tensorflow GPU安裝的先決條件(請參閱官方網站)。然後使用此commmand
PIP安裝-R Euncess_gpu.txt
如果您沒有GPU,請使用此命令
pip install -r requirements_cpu.txt
1)安裝所有要求
2)製作一個名為“人”的文件夾,沒有報價
3)現在運行生成_training_data.py,當運行此操作時,輸入人的名稱,然後是從零開始的索引,如果我想為“ ravi”生成數據,我將寫“ ravi0”,然後為下一個名稱寫入“ secondname1”,只要確保給每個人的索引越來越多。現在將所有這些文件夾放入People文件夾中
4)現在在Trainer中。 Py根據文件夾數量更改類數,然後運行Trainer.py
5)該模型將進行訓練。
6)現在使用MongoDB創建數據庫。輸入所有名字,出席。這可以通過
a)創建一個名為“新”的數據庫
b)創建一個名為“ PA”的集合
c)添加腸道。對於例如db.pa.insert({“ name”:“ satinder”,“出勤”:0})

7)現在打開識別器。 py並根據您的數據更改字典“ A”和人員。數組“ a”的關鍵是人的索引,數據是一個指示變量,用於指示在特定會話中,如果參加了該會議。
8)字典“人”是自我解釋的。
9)識別識別人。他們的出勤率將在MongoDB數據庫中註冊。


如果您喜歡它,您肯定也喜歡我的其他存儲庫。您還可以查看我的YouTube頻道“反應堆科學”。如果您有任何疑問,可以在我的Facebook頁面“反應堆科學”上與我聯繫
1)Francois Chollet的Python深入學習
2)Keras.io
3)coursera的深度學習(Andrew Ng教授)
4)斯坦福大學的CS231N
5)Pyimagesearch.com(Adrian Rosenberg)
6)Brandon Amos(github:https://github.com/bamos)