Neural Network - 抓取 JPEG 人臉識別
材料準備
- AmebaPro2 [ AMB82 MINI ] x 1
- SD 卡 x 1
- 按鈕 x 1
- 綠色 LED x 1
- 紅色 LED x 1
- 220歐姆電阻 x 2
- 10K歐姆電阻 x 1
範例說明
介紹
在範例中,我們將使用 Ameba Pro2 開發板建立一個簡單的人臉辨識監控系統,該系統將拍攝未識別人臉的快照並將其以 JPEG 格式儲存在 SD 卡上。
流程
AMB82 MINI 接線圖:
在“File”->“Examples”->“AmebaNN”->“CaptureJPEGFaceRecognition”中開啟範例。
在標記的程式碼片段中,將您的 WiFi 網路 SSID 填入“ssid”,將網路密碼填入“pass”。
您也可以透過變更以黃色標記的值來設定要拍攝的最大快照數。 目前,數值設定為 5,因此總共只會拍攝 5 張快照並儲存到 SD 卡。 5張之後將不再拍攝快照,即使偵測到未識別的人也是如此。 增加 MAX_UNKNOWN_COUNT 的值以取得更多快照。
使用以黃色標記的 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”,人臉需要先註冊姓名才能被辨識。
將鏡頭對準臉部並在 Serial Monitor 中輸入以下命令。 當它處於人臉註冊模式時,綠色和紅色 LED 會閃爍。
註冊人臉:
註:可以註冊多個面孔。 但是,註冊人臉時,請確保畫面中只有一張人臉。
要註冊人臉,請將鏡頭對準目標人臉並輸入“REG={Name}”為目標人臉命名。 例如,“REG=SAM”。
刪除特定已註冊的人臉:
輸入指令「DEL={Name}」即可刪除某個已註冊的人臉。 例如,“DEL=SAM”。
重置所有已註冊的人臉:
輸入命令“RESET”以忘記所有先前註冊的面孔。 所有先前紀錄的面孔和名稱都將被刪除。 您可以進入人臉註冊模式重新註冊人臉。
將註冊的人臉備份到 flash 和從 flash 恢復資料:
輸入指令「BACKUP」將已註冊面孔的資料儲存到 flash 中。 如果有備份,請輸入指令「RESTORE」來從 flash 回覆已註冊的人臉資料。
當偵測到未辨識的人臉時,長按按鈕 2 秒進入快照模式。 然後,未知面孔將被註冊為 Stranger,並作為 Stranger{strangerCounter}.jpg 儲存到 SD 卡中。 當偵測到一張或多張未知臉孔時,紅色 LED 會亮起。