Neural Nework - 物體檢測

材料準備

範例說明

介紹

在這個例子中,我們將使用 Ameba Pro2 開發板使用板載攝像頭傳感器(JX-F37P)檢測 80 種不同的物體,如人、自行車、汽車、筆記本電腦等。
以下示例顯示瞭如何使用對象檢測和屏幕顯示。 這兩個示例之間的主要區別在於對象檢測結果的處理位置。 “ObjectDetectionCallback”使用回調函數,而“ObjectDetectionLoop”在循環函數中處理結果。
1. ObjectDetectionLoop
2. ObjectDetectionCallback

流程

打開其中一個對象檢測示例 “File” -> “Example” -> “AmebaNN” -> “ObjectDetectionLoop”。

1

在標記的代碼片段中,將您的 WiFi 網絡 SSID 填入“ssid”,將網絡密碼填入“pass”。

1

使用以黃色標記的 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 模型的過程,請參閱此處。 此外,請參閱此處以了解如何安裝和使用轉換後的模型。

1

編譯代碼並將其上傳到 Ameba。 按下Reset鍵後,等待Ameba Pro 2開發板連上WiFi網絡。 用於 RTSP 的開發板 IP 地址和網絡端口號將顯示在串行監視器中。
可以使用 VLC 驗證檢測到的對象的結果。 您可以從連結下載 VLC 媒體播放器 (這裡)
軟件安裝完成後,打開VLC media player,進入 “Media” -> “Open Network Stream”。

1

確保您的 PC 連接到與 Ameba Pro2 開發板相同的網絡以進行串流式傳輸。 由於 RTSP 被用作串流媒體協議,在 VLC 媒體播放器中鍵入“rtsp://{IPaddress}:{port}”作為網絡 URL,將 {IPaddress} 替換為您的 Ameba Pro2 開發板的 IP 地址,以及 {port } 使用串行監視器中顯示的 RTSP 端口(例如,“rtsp://192.168.1.154:554”)。 默認的 RTSP 端口號是 554。

1

接下來,點擊“播放”開始RTSP 串流式傳輸以查看結果。 來自攝像機的視頻串流將顯示在 VLC 媒體播放器中。

將在 RTSP 視頻串流上繪製一個帶有對象名稱和置信度分數的邊界框,以標記已識別的對象。

1

預訓練模型總共可以識別 80 種不同類型的物體。 這些對象可以在 ObjectClassList.h 中找到。 每個對象的索引號是固定的,不應更改。 要停用某些物體的檢測,請將過濾器值設置為 0。例如,將過濾器值設置為 0 以排除對自行車的檢測。

1

程式碼說明

可以根據您的 WiFi 網絡質量調整視頻bitrate,方法是取消註解下面標示的程式碼。

1

Please confirm that QQ communication software is installed
請先確認已安裝QQ通訊軟體