注意
- 在运行NPU Demo前请先参考文档升级系统到最新版本。
- 只支持opencv4
安装OpenCV4
1 | sudo apt install libopencv-dev python3-opencv |
获取NPU Demo
NPU Demo 默认并没有安装在板子上。需要先从github自行下载
仓库在github上的地址为:https://github.com/khadas/aml_npu_demo_binaries
通过git
命令中clone到板子上
1 | cd {workspace} |
或者直接下载压缩包,然后解压到板子上。
NPU Demo 一共有三个目录:
1 | detect_demo: 摄像头动态识别的yolo系列模型合集 |
Inception模型
- inception模型不需要安装任何库到系统中。进入inceptionv3目录
1 | cd {workspace}/aml_npu_demo_binaries/inceptionv3 |
imagenet_slim_labels.txt
为label文件,识别出来结果以后可以在这个文件里查询结果对应的label。
- 如果你的板子是VIM3,进入
VIM3
目录,是VIM3L则进入VIM3L
目录,这里以VIM3为例
1 | cd {workspace}/aml_npu_demo_binaries/inceptionv3/VIM3 |
- 运行
run.sh
1 | cd {workspace}/aml_npu_demo_binaries/inceptionv3/VIM3 |
通过查询imagenet_slim_labels.txt
得到结果是金鱼,也是就识别正确。
- 识别其他图片
1 | cd {workspace}/aml_npu_demo_binaries/inceptionv3/VIM3 |
注意图片的尺寸要与模型的尺寸对应,因此这里,inceptionv3模型的输入是299x299x3,传入识别的图片也必须是299x299。
Yolo系列模型
Yolo系列模型的应用分成了摄像头动态识别和图片识别两个部分。
安装与卸载库
Yolo系列的模型需要将库安装到系统中,无论是使用摄像头动态识别还是识别图片,共用了同一套库。
进入detect_demo_picture
1 | cd {workspace}/aml_npu_demo_binaries/detect_demo_picture |
安装
1 | sudo ./INSTALL |
卸载
1 | sudo ./UNINSTALL |
type
参数说明
type
参数无论是使用摄像头动态识别,还是识别图片,都是必须选择的一个输入参数,这个参数主要是用于指定运行的yolo系列模型。
1 | 0 : yoloface模型 |
运行环境说明
NPU Demo 可以运行在X11或者framebuffer模式的不同环境下,选择对应的demo运行即可。
X11 / Framebuffer
带有fb
字样的demo是运行在framebuffer模式下。
带有X11
字样的demo则是运行在桌面系统环境下。
说明示例
这里以detect_demo_picture
为例,
1 | cd {workspace}/aml_npu_demo_binaries/detect_demo_picture |
- detect_demo_fb 是运行在framebuffer下识别图片的demo
- detect_demo_x11 是运行在X11下识别图片的demo
运行
图片识别
识别图片的命令格式
1 | cd {workspace}/aml_npu_demo_binaries/detect_demo_picture |
这里以x11下调用yolov3模型识别图片为例,
1 | cd {workspace}/aml_npu_demo_binaries/detect_demo_picture |
运行结果如下,
摄像头动态识别
摄像头说明
使用USB摄像头应选用usb
的demo,使用mipi摄像头选用mipi
的demo。
摄像头动态识别的命令格式
1 | cd {workspace}/aml_npu_demo_binaries/detect_demo |
这里以x11环境下调用yolov3为例,
1 | cd {workspace}/aml_npu_demo_binaries/detect_demo |
打开摄像头以后。会将识别的结果显示在屏幕上