Neural Nework - 人臉辨識解鎖
材料準備
- AmebaPro2 [ AMB82 MINI ] x 1
- SD 卡 x 1
- 按鈕 x 2
- 綠色 LED (Optional) x 1
- 紅色 LED (Optional) x 1
- Servo (Ex. Tower Pro SG90) x 1
- 220歐姆電阻 x 2
- 10K歐姆電阻 x 2
範例說明
介紹
在這個例子中,我們將使用 Ameba Pro2 開發板創建一個簡單的人臉辨識門禁系統。 可以用註冊的人臉解鎖開門。
流程
AMB82 MINI 接線圖:
在“File”->“Examples”->“AmebaNN”->“DoorUnlockWithFaceRecognition”中打開Neural Network範例。
用戶可以使用任何 GPIO 引腳或使用板載 LED 來定義 LED 引腳。 2 個按鈕將被配置為用作註冊按鈕和保存按鈕。
在標記的代碼片段中,將您的 WiFi 網絡 SSID 填入“ssid”,將網絡密碼填入“pass”。
使用以黃色標記的 modelSelect() 函式選擇Neural Network (NN) 工作和模型。 該函式有 4 個參數:Neural Network工作、物體偵測模型、人臉偵測模型和人臉辨識模型。 如果您選擇的Neural Network工作不需要它們,請替換為“NA_MODEL”。 請注意,必須在調用 begin() 之前調用 modelSelect()。
有效的Neural Network工作: OBJECT_DETECTION, FACE_DETECTION, FACE_RECOGNITION
有效的物體偵測模型:
YOLOv3 model: DEFAULT_YOLOV3TINY, CUSTOMIZED_YOLOV3TINY
YOLOv4 model: DEFAULT_YOLOV4TINY, CUSTOMIZED_YOLOV4TINY
YOLOv7 model: DEFAULT_YOLOV7TINY, CUSTOMIZED_YOLOV7TINY
有效的人臉偵測模型: DEFAULT_SCRFD, CUSTOMIZED_SCRFD
有效的人臉辨識模型: DEFAULT_MOBILEFACENET, CUSTOMIZED_MOBILEFACENET
如果您想使用自己的 NN 模型,請選擇自定義選項(例如,CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET)。 要了解轉換 AI 模型的過程,請參閱此處。 此外,請參閱此處以了解如何安裝和使用轉換後的模型。
編譯程式碼並將其上傳到 Ameba。 按下Reset鍵後,等待Ameba Pro 2開發板連上WiFi網絡。 用於 RTSP 的開發板 IP 地址和網絡端口號將顯示在 Serial Monitor。
可以使用 VLC 驗證結果。 您可以從此處下載 VLC 媒體播放器。
安裝完成後,打開VLC媒體播放器,進入“Media”->“Open Network Stream”。
確保您的 PC 連接到與 Ameba Pro2 板相同的網絡以進行串流傳輸。 由於使用 RTSP 串流協議,在 VLC 媒體播放器中輸入“rtsp://{IPaddress}:{port}”作為網絡 URL,將 {IPaddress} 替換為您的 Ameba Pro2 開發板的 IP 地址,以及 {port} 使用 Serial Monitor 中顯示的 RTSP 端口(例如,“rtsp://192.168.1.154:554”)。 預設的 RTSP 端口號是 554。
接下來,點擊“Play”開始 RTSP 串流傳輸以查看結果。在 VLC 媒體播放器中將顯示來自鏡頭的視頻。
人臉識別神經網絡模型檢測到的人臉最初被標記為“unknown”,人臉需要先註冊姓名才能被識別。
默認情況下,註冊模式將被禁用,並且面部識別將啟動。
進入註冊模式以註冊人臉:
按下之前配置的註冊按鈕。 當處於註冊模式時,兩個 LED 都會亮起,您可以使用以下命令來備份和恢復人臉、註冊、刪除指定人臉以及重置所有人臉。
1. 註冊人臉:
Note:可以註冊多個面孔。 但是,註冊人臉時,請確保畫面中只有一張人臉。
要開始註冊,請將相機對準臉部並在Serial Monitor中輸入“REG={Name}”,為目標臉部指定名稱。 例如,“REG=SAM”。
2. 刪除特定已註冊的人臉:
輸入命令“DEL={Name}”即可刪除某個已註冊的人臉。 例如,“DEL=SAM”。
3. 重置所有已註冊的人臉:
輸入命令“RESET”以忘記所有先前註冊的面孔。 所有先前分配的面孔和名稱都將被刪除。 您可以通過進入人臉登記模式再次登記人臉。
4. 備份和恢復人臉:
輸入命令“BACKUP”將註冊面孔的副本保存到快閃記憶體。 如果存在備份,請輸入命令“RESTORE”以從快閃記憶體加載已註冊的面孔。
退出註冊模式開始識別人臉並解鎖門:
註冊人臉後,按住之前配置的保存按鈕 3 秒鐘。 兩個 LED 將開始閃爍並退出註冊模式; 註冊的面孔將被保存到快閃記憶體,並且識別模式將啟動。
如果檢測到多於一張臉或一張未知臉,門將保持鎖定狀態,紅色 LED 燈將亮起。 如果檢測到已註冊的面部,綠色 LED 將亮起,門將解鎖(servo旋轉 180 度)10 秒。 將拍攝快照並命名為 {registeredName}{counter}.jpg 並存儲到 SD 卡中。