目录
本文首发于电子发烧友论坛:【新提醒】【Milk-V Duo S 开发板免费体验】5 - 使用YOLOv11进行目标检测 - RISC-V技术论坛 - 电子技术论坛 - 广受欢迎的专业电子论坛!
引言
前面已经完成了Milk-V Duo S开发板的基本功能测试,今天来尝试一下使用YOLOv11进行目标检测。
TDL-SDK
Cvitek 所提供的 TDL(Turnkey Deep Learning)集成算法,用以缩短应用程序开发所需的时间。此架构实现了 TDL 所需算法包含其前后处理 提供统一且便捷的编程接口。目前 TDL SDK 包含 移动侦测,人脸检测,人脸识别,人脸追踪,行人检测,语义分割,车牌辨识,车牌检测,活体识别,IR活体识别,婴儿检测,哭声检测,姿态检测,手势侦测,手势识别 等算法。
我们要使用YOLOv11,首先要编译TDL-SDK
编译TDL-SDK
TDL-SDK一共有两个版本,其中V1的链接是:milkv-duo/cvitek-tdl-sdk-sg200x: TDL-SDK samples for SDK V1 Duo256M/DuoS(SG200X),这个适用于使用SDK V1镜像的。[SDK V2镜像的源码包](milkv-duo/duo-buildroot-sdk-v2: Milk-V Duo Official buildroot SDK V2)中包括了TDL-SDK的新版本。按理说我使用的是SDK V2的镜像,应该下载这个新版本,无奈这几天不知道网络抽什么疯,无法下载SDK V2,只能先凑合用TDL-SDK V1。
下载工具链
使用下面的命令下载工具链,如果已经下载过,也可以简单的设置一下环境变量:
wget https://sophon-file.sophon.cn/sophon-prod-s3/drive/23/03/07/16/host-tools.tar.gz
tar xvf host-tools.tar.gz
cd host-tools
export PATH=$PATH:$(pwd)/gcc/riscv64-linux-musl-x86_64/bin
开始编译
使用下面的代码下载代码并进行SDK示例的编译。SDK V1中包括了编译好的so文件,所以仅编译例子就可以了。
git clone https://github.com/milkv-duo/cvitek-tdl-sdk-sg200x.git
cd cvitek-tdl-sdk-sg200x
cd sample
./compile_sample.sh
部署问题的解决
因为镜像是SDK V2的,直接在开发板上运行程序会导致错误:
Error loading shared library libvpu.so: No such file or directory (needed by ./videoRecorder)
Error relocating /mnt/system/usr/lib/libsample.so: CVI_VI_SetDevBindPipe: symbol not found
Error relocating /mnt/system/usr/lib/libsample.so: CVI_RGN_GetCanvasInfo: symbol not found
所以不能使用开发板自带的相关库文件,需要从TDL-SDK中拷贝so文件到开发板上,例如/root/lib目录中,然后执行命令:
export LD_LIBRARY_PATH=/root/lib
然后访问zwyzwm/yolo11-obiect-dection下载cvimodel文件,找一幅图片拷贝到开发板上,然后在开发板上进行测试。

下面是执行的结果:
[root@milkv-duo]~# ./sample_yolov8 yolo11n_cv181x_int8_sym.cvimodel test.jpg
enter CVI_TDL_Get_YOLO_Preparam...
asign val 0
asign val 1
asign val 2
setup yolov8 param
enter CVI_TDL_Get_YOLO_Preparam...
setup yolov8 algorithm param
yolov8 algorithm parameters setup success!
---------------------openmodel--------------------------------------------to do detection-----------------------
image read,width:2048
image read,hidth:1365
objnum:2
boxes=[[116.485,288.317,1494.3,1149.96,5,0.89229],[1456.2,683.29,1645.21,774.082,2,0.594712],]
一共检测出两个物体,一个是公共汽车(编号5),另一个是小汽车(编号是2),还是很准确的。
结束语
Milk-V DuoS的深度学习处理能力还是相当不错的,后面将继续探索。

被折叠的 条评论
为什么被折叠?



