Neural Network - 影像分類
材料準備
- AmebaPro2 [ AMB82 MINI ] x 1
範例說明
介紹
在此範例中,我們將使用 Ameba Pro2 開發板來識別影像並進行分類。
流程
在 “File” -> “Examples” -> “AmebaNN” -> “RTSPImageClassification” 開啟影像分類範例。
在標記的程式碼片段中,在“ssid”中填入您的 WiFi 網路 SSID,在“pass”中填入網路密碼。
使用紅色框中標記的 modelSelect() 函數選擇神經網路 (NN) 任務和模型。此函數有 6 個參數:神經網路任務,物件檢測模型,人臉檢測模型,人臉識別模型,音頻分類模型,影像分類模型。如果您選擇的神經網路任務不需要它們,請替換為“NA_MODEL”。請注意,在呼叫 begin() 函數之前必須呼叫 modelSelect() 函數。
有效的神經網路任務: OBJECT_DETECTION, FACE_DETECTION, FACE_RECOGNITION, AUDIO_CLASSIFICATION, IMAGE_CLASSIFICATION
有效的物件偵測模型:
YOLOv3 模型: DEFAULT_YOLOV3TINY, CUSTOMIZED_YOLOV3TINY
YOLOv4 模型: DEFAULT_YOLOV4TINY, CUSTOMIZED_YOLOV4TINY
YOLOv7 模型: DEFAULT_YOLOV7TINY, CUSTOMIZED_YOLOV7TINY
有效的人臉檢測模型: DEFAULT_SCRFD, CUSTOMIZED_SCRFD
有效的人臉識別模型: DEFAULT_MOBILEFACENET, CUSTOMIZED_MOBILEFACENET
有效的音頻分類模型: DEFAULT_YAMNET, CUSTOMIZED_YAMNET
有效的影像分類模型: DEFAULT_IMGCLASS, CUSTOMIZED_IMGCLASS
如果您想使用自己的NN模型,請選擇自訂選項(例如 CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET/ CUSTOMIZED_YAMNET/ CUSTOMIZED_IMGCLASS)。要了解轉換 AI 模型的過程,請參閱此處。此外,請參考此處以了解如何安裝和使用轉換後的模型。
注意:如果您想自訂自己的模型,目前僅支援 Sequential CNN 模型。訓練模型時的注意事項請參考此處。
編譯程式碼並將其上傳到Ameba。按下 Reset 按鈕後,等待 Ameba Pro 2 開發板連接到 WiFi 網路。 RTSP 的開發板 IP 位址和網路連接埠號碼將顯示在Serial Monitor中。
Ameba Pro2 開發板的鏡頭感測器捕獲的即時資訊可以在 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 媒體播放器中。
現在,您將能夠看到鏡頭正在拍攝什麼。
接下來,將鏡頭對準您想要開發板識別的項目。本範例中使用的模型是使用Convolutional Neural Network (CNN) 進行訓練的,可以對各種類型的垃圾進行分類,包括紙板、玻璃、金屬、紙張、塑膠和一般垃圾。可能性最高的類別將顯示在Serial Monitor中。
該模型可以識別6種不同類型的垃圾。這些項目可以在 ClassificationClassList.h 中找到。每個物件的索引號碼是固定的,不應更改。若要停用某些物件的偵測,請將篩選器值設為 0。