在 Duo S 上使用 TDL SDK 高效部署人脸检测模型

描述

以下文章来源于MilkV 

TDL SDK 是一款集成算法开发包,提供了便捷的编程接口,使开发者们能够更快、高效地将各种深度学习技术应用于自己的产品和服务中。无论开发者是否是深度学习领域的专家,有了TDL SDK作为助手,都能轻松构建智能应用。

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可以参考

https://milkv.io/zh/docs/duo/getting-started/boot

使用BalenaEtcher、Win32DiskImager等工具将官方镜像

(https://github.com/milkv-duo/duo-buildroot-sdk/releases/download/Duo-V1.1.1/milkv-duos-sd-v1.1.1-2024-0528.img.zip)

烧录到SD卡中,将SD卡插入DuoS卡槽,然后再使用电脑USB用Type-c线连接DuoS,当DuoS上蓝灯闪烁说明系统正常运行。

2、设置DuoS的工作环境可以参考

https://milkv.io/zh/docs/duo/getting-started/setup

通过Type-C线将DuoS与Windows电脑连接,配置好网络环境,打开Windows PowerShell输入ssh root@192.168.42.1,输入密码milkv进入DuoS终端。也可以使用Mobaxterm等工具进入DuoS终端。

深度学习深度学习

3、摄像头接入DuoS可以参考https://milkv.io/zh/docs/duo/camera/gc2083

摄像头的连接方式如下图:

深度学习

测试摄像头是否正常,可以在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.gztar xvf host-tools.tar.gzcd host-toolsexport PATH=$PATH:$(pwd)/gcc/riscv64-linux-musl-x86_64/bi

验证工具链是否可用:

  •  

riscv64-unknown-linux-musl-gcc -v

能够正常显示交叉编译工具链的版本信息,即工具链可用:

深度学习

2、编译 cvitek-tdl-sdk。首先我们需要在算能的开发者论坛https://developer.sophgo.com/thread/556.html下载我们的TDL SDK 或者在git-hub上下载https://github.com/milkv-duo/cvitek-tdl-sdk-sg200x.git

  •  
  •  
  •  
  •  
  •  

git clone https://github.com/milkv-duo/cvitek-tdl-sdk-sg200x.git/* 进入到cvitek_tdl_sdk的sample目录下并执行一键编译*/cd samplechmod 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可以在下方链接下载

https://github.com/sophgo/tdl_models

里面包含了人脸检测,人脸识别,口罩检测,行人检测,哭声检测,手势侦测,手势识别等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。如果网络环境较差或者画面出现卡顿时,可以尝试将其调高。再点击“播放”。我们就可以看到摄像头实时人脸检测的画面啦!
 

深度学习

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分