TDL SDK 是一款集成算法开发包,提供了便捷的编程接口,使开发者们能够更快、高效地将各种人工智能技术应用于自己的产品和服务中。无论开发者是否是AI领域的专家,有了TDL SDK作为助手,都能轻松构建AI智能应用。
Milk-V DuoS 是 Duo 的升级型号,升级了 SG2000 主控,拥有更大的内存(512MB)和更多的 IO 接口。它集成了 WI-FI 6/BT 5 无线功能,并配备 USB 2.0 HOST 接口和 100Mbps 以太网端口,方便用户使用。它支持双摄像头(2x MIPI CSI 2 通道)和 MIPI 视频输出(MIPI DSI 4 通道),可实现多种应用。DuoS 还支持通过开关在 RISC-V 和 ARM 启动之间切换。通过性能和接口的增强,DuoS 更适合各种场景和更复杂的项目开发需求。
结合TDL SDK的强大功能,您可以轻松地在Milk-V Duo S上部署人脸检测等众多AI模型,实现精准的人脸识别和应用。
一、Milk-V DuoS的准备:
1、启动DuoS可以参考
使用BalenaEtcher、Win32DiskImager等工具将官方镜像
烧录到SD卡中,将SD卡插入DuoS卡槽,然后再使用电脑USB用Type-c线连接DuoS,当DuoS上蓝灯闪烁说明系统正常运行。
2、设置DuoS的工作环境可以参考
通过Type-C线将DuoS与Windows电脑连接,配置好网络环境,打开Windows PowerShell输入ssh root@192.168.42.1,输入密码milkv进入DuoS终端。也可以使用Mobaxterm等工具进入DuoS终端。
3、摄像头接入DuoS可以参考
摄像头的连接方式如下图:
测试摄像头是否正常,可以在DuoS终端输入camera-test.sh,摄像头正常运行的情况下可以在终端末尾看到如下信息,说明摄像头接入成功。
二、TDL SDK的编译:
TDL SDK需要在PC主机的 Linux 环境下进行交叉编译。以下操作在PC主机的Linux环境下进行:
1、下载交叉编译工具链并配置环境变量(下载时注意网络流畅):
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
验证工具链是否可用:
riscv64-unknown-linux-musl-gcc -v
能够正常显示交叉编译工具链的版本信息,即工具链可用:
2、编译 cvitek-tdl-sdk。首先我们需要在算能的开发者论坛
https://developer.sophgo.com/thread/556.html
下载我们的TDL SDK
或者在git-hub上下载
git clone https://github.com/milkv-duo/cvitek-tdl-sdk-sg200x.git
/* 进入到cvitek_tdl_sdk的sample目录下并执行一键编译*/
cd sample
chmod 777 compile_sample.sh
./compile_sample.sh
生成的示例程序位于相应的子目录中,例如人脸检测示例在sample/cvi_tdl/sample_vi_fd。
三、人脸检测模型部署:
接下来我们以人脸检测模型为例子,使用TDL SDK生成的人脸检测程序在DuoS上部署人脸检测模型:
1、将TDL SDK生成的人脸检测程序和人脸检测的模型文件上传到DuoS中,TDL SDK生成的人脸检测程序位于smaple/cvi_tdl/sample_vi_fd,人脸检测的cvimodel模型文件scrfd_768_432_int8_1x.cvimodel可以在下方链接下载
里面包含了人脸检测,人脸识别,口罩检测,行人检测,哭声检测,手势侦测,手势识别等cvimodel模型。
/* 在连接DuoS的电脑终端输入 */
scp sample_vi_fd root@192.168.42.1:/root/
scp scrfd_768_432_int8_1x.cvimodel root@192.168.42.1:/root/
2、在DuoS终端运行人脸检测程序:
/* 在DuoS的终端输入 */
chmod 777 sample_vi_fd
./sample_vi_fd scrfd_768_432_int8_1x.cvimodel
/* DuoS的终端会显示如下信息,终端下方的face count是识别到的人脸个数 */
3、在连接DuoS的PC端,打开VLC播放器,菜单“媒体”中选择“打开网络串流”,选择“网络”标签,在“请输入网络URL”中输入。
rtsp://192.168.42.1/h264
还可以点击左下角的“显示更多选项”,设置“缓存”,默认是1000毫秒,也就是1秒。网络环境较好时可以将其调低来降低延迟,可以设置为100到300。如果网络环境较差或者画面出现卡顿时,可以尝试将其调高。再点击“播放”。我们就可以看到摄像头实时人脸检测的画面啦!