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。