图像分类
材料
AMB82-mini x 1
范例
在本范例中,我们将使用开发板识别图像并执行分类。
在 File -> Examples -> AmebaNN -> RTSPImageClassification 中打开图像分类范例。
如果模型是使用元数据训练的,请将 USE_MODEL_META_DATA_EN 设置为 1。
在突出显示的代码片段中,将 "ssid" 填入您的 WiFi 网络 SSID,并将 "pass" 填入网络密码。
使用 modelSelect() 函数选择神经网络(NN)任务和模型。该函数接受 6 个参数:神经网络任务、目标检测模型、人脸检测模型、人脸识别模型、音频分类模型和图像分类模型。如果所选神经网络任务不需要某些模型,请用 "NA_MODEL" 替换。请注意,在调用 begin() 函数之前,必须调用 modelSelect() 函数。
有效的神经网络任务:
OBJECT_DETECTION、FACE_DETECTION、FACE_RECOGNITION有效的目标检测模型:
YOLOv3-tiny 模型:
DEFAULT_YOLOV3TINY、CUSTOMIZED_YOLOV3TINYYOLOv4-tiny 模型:
DEFAULT_YOLOV4TINY、CUSTOMIZED_YOLOV4TINYYOLOv7-tiny 模型:
DEFAULT_YOLOV7TINY、CUSTOMIZED_YOLOV7TINY
有效的人脸检测模型:
DEFAULT_SCRFD、CUSTOMIZED_SCRFD有效的人脸识别模型:
DEFAULT_MOBILEFACENET、CUSTOMIZED_MOBILEFACENET有效的图像分类自定义 CNN 模型:
DEFAULT_IMGCLASS、CUSTOMIZED_IMGCLASS有效的图像分类 MobileNetV2 模型:
DEFAULT_IMGCLASS_MOBILENETV2、CUSTOMIZED_IMGCLASS_MOBILENETV2
如果您想使用自己的神经网络模型,请选择自定义选项(例如 CUSTOMIZED_YOLOV4TINY/ CUSTOMIZED_SCRFD/ CUSTOMIZED_MOBILEFACENET)。要了解 AI 模型转换的流程,请参考
AI 模型转换工具
。此外,请参考
AI 模型部署指南
了解如何安装和使用转换后的模型。
请注意:如果您想要自定义模型,目前仅支持 Sequential CNN 模型。请参考 https://www.amebaiot.com/en/amebapro2-ai-convert-model/ 了解训练模型时的一些注意事项。
编译代码并上传至 Ameba。按下重置按钮后,等待开发板连接到 WiFi 网络。开发板的 IP 地址和 RTSP 网络端口号将显示在串口监视器中。
开发板摄像头传感器的实时画面可以在 VLC 媒体播放器上查看。您可以从 此处 下载 VLC 媒体播放器。
软件安装完成后,打开 VLC 媒体播放器,进入 Media -> Open Network Stream
请确保您的 PC 与开发板连接到同一网络以进行串流。由于使用 RTSP 作为串流协议,请在 VLC 媒体播放器中输入 rtsp://{IPaddress}:{port} 作为网络 URL,将 {IPaddress} 替换为开发板的 IP 地址,{port} 替换为串口监视器中显示的 RTSP 端口,例如 rtsp://192.168.1.154:554。默认 RTSP 端口号为 554。
接下来,单击"播放"开始 RTSP 串流以查看结果。摄像头的视频流将显示在 VLC 媒体播放器中。
现在,您将能够看到摄像头正在捕捉的画面。检测到的类别及其概率将显示在串口监视器和视频流的左上角。
自定义 CNN 模型(例如 Sequential):无元数据,可对多种垃圾进行分类,包括纸板、玻璃、金属、纸张、塑料和一般垃圾。
MobileNetV2 模型:带有元数据,可对花卉类型进行分类,例如雏菊、薰衣草、百合、玫瑰和向日葵。
物品可以在 ClassificationClassList.h 中找到。每个对象的索引号是固定的,不应更改。要停用对某些对象的检测,请将筛选值设置为 0。