Neural Nework - 人臉識別
材料準備
- AmebaPro2 [ AMB82 MINI ] x 1
範例說明
介紹
在這個例子中,我們將使用 Ameba Pro2 開發板來識別檢測到的人臉。
流程
打開人臉識別實例 “File” -> “Example” -> “AmebaNN” -> “RTSPFaceRecognition”。
在標記的代碼片段中,將您的 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 地址和網絡端口號將顯示在串行監視器中。
可以使用 VLC 驗證人臉識別的結果。 您可以從連結下載 VLC 媒體播放器 (這裡)。
軟件安裝完成後,打開VLC media player,進入 “Media” -> “Open Network Stream”。
確保您的 PC 連接到與 Ameba Pro2 開發板相同的網絡以進行串流式傳輸。 由於 RTSP 被用作串流媒體協議,在 VLC 媒體播放器中鍵入“rtsp://{IPaddress}:{port}”作為網絡 URL,將 {IPaddress} 替換為您的 Ameba Pro2 開發板的 IP 地址,以及 {port } 使用串行監視器中顯示的 RTSP 端口(例如,“rtsp://192.168.1.154:554”)。 默認的 RTSP 端口號是 554。
接下來,點擊“播放”開始RTSP 串流式傳輸以查看結果。 來自攝像機的視頻串流將顯示在 VLC 媒體播放器中。
人臉識別神經網絡模型檢測到的人臉最初被標記為“未知”,人臉需要先註冊姓名才能被識別。
將相機對準臉部並在串行監視器中輸入以下命令。
註冊人臉:
注意:可以註冊多個面孔。 但是,註冊人臉時,請確保畫面中只有一張人臉。
要註冊人臉,請將相機對準目標人臉並輸入 “REG={Name}” 為目標人臉命名。 例如,“REG=SAM”。
刪除特定的已註冊面孔:
輸入命令“DEL={Name}”即可刪除某個已註冊的人臉。 例如,“DEL=SAM”。
重置所有已註冊的人臉:
輸入命令 “RESET” 以忘記所有以前註冊的面孔。 所有先前分配的面孔和名稱都將被刪除。 您可以進入人臉註冊模式重新註冊人臉。
在閃存中備份和恢復已註冊的人臉:
輸入命令 “BACKUP” 將已註冊面孔的副本保存到閃存中。 如果存在備份,請輸入命令 “RESTORE” 以從閃存中加載已註冊的人臉。
程式碼說明
可以根據您的 WiFi 網絡質量調整視頻bitrate,方法是取消註解下面標示的程式碼。