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

news2024/9/22 3:55:24

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.gz
tar xvf host-tools.tar.gz
cd host-tools
export 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 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可以在下方链接下载

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。如果网络环境较差或者画面出现卡顿时,可以尝试将其调高。再点击“播放”。我们就可以看到摄像头实时人脸检测的画面啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1994285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7.4.分支限界法概率算法近似算法数据挖掘算法智能优化算法

了解,没有考过,基本上不会考 分支限界法 分支限界法:与回溯法类似,同样是在问题的解空间树上搜索问题解的一种算法,它常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树。回溯…

【AI大模型】LangChain框架:示例选择器与输出解析器携手,编织NLP高效精准之网

文章目录 前言一、示例选择器1.介绍及应用2.自定义示例选择器案例:AI点评姓名 3.基于长度的示例选择器案例:对输入内容取反 4.基于最大边际相关性(MMR)的示例选择器案例:得到输入的反义词 5.基于n-gram重叠的示例选择器6.综合案例 二、输出解…

深入探索String AOP想详情

一.AOP的概述 AOP是Spring框架的第⼆⼤核⼼(第⼀⼤核⼼是IoC) Q:什么是AOP? A:Aspect Oriented Programming(⾯向切⾯编程) 什么是⾯向切⾯编程呢? 切⾯就是指某⼀类特定问题, 所以AOP也可以理解为⾯向特定⽅法编程. 什么是⾯向特…

鸿蒙HarmonyOS开发:@Observed装饰器和@ObjectLink装饰器:监听嵌套类对象属性变化

文章目录 一、装饰器二、概述三、限制条件四、装饰器说明五、Toggle组件1、子组件2、接口3、ToggleType枚举4、事件 六、示例演示1、代码2、效果 一、装饰器 State装饰器:组件内状态Prop装饰器:父子单向同步Link装饰器:父子双向同步Provide装…

Linux云计算 |【第二阶段】NETWORK-DAY1

主要内容: 计算机网络概述、网络拓扑结构、OSI参考模型、eNSP、交换机及原理 一、计算机网络概述 计算机网络是指将多台计算机或设备通过通信线路连接起来,以便它们能够相互交换信息和共享资源的系统。计算机网络的目的是实现数据通信和资源共享&#…

生成式人工智能安全评估体系构建

文章目录 前言一、人工智能安全治理的现状1.1 国际安全治理现状1.2 国内安全治理现状二、构建人工智能安全评估体系1.1 需要对生成式人工智能技术的安全性、可靠性、可控性、公平性等维度进行全面的考量。1.2 应对生成式人工智能全维度风险。1.3 在体系化应对框架中,应明确法律…

[Meachines] [Easy] Traverxec Nostromo RCE+SSH-私钥RSA解密+journalctl权限提升

信息收集 IP AddressOpening Ports10.10.10.165TCP:22,80 $ nmap -p- 10.10.10.165 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION …

nfc苹果手机怎么开启?3招就教会你

在数字化时代,nfc技术已成为智能手机的一项重要功能,它让我们的设备能够进行无线数据交换,实现便捷的移动支付、文件传输等操作。那么,nfc苹果手机怎么开启呢?如果你想要充分利用这一技术,那么本文将为你提…

git推送错误-->远程分支比本地的分支更新,无法直接推送

每次上传本地修改好的代码的时候,十次有八次都会出现这样的问题!!(暴躁!!!) 现在写个帖子记录一下,这个问题目前我还没有解决,欢迎懂的佬指点一下. 情景: 我在本地仓库做了一些代码的修改,准备上传到远程仓库上,下边是上传步骤: git add . # 将所有的修改都提交到缓冲区git …

免费获取!Windows10 32位纯净版:无捆绑更安全!

今日,系统之家小编给大家分享2024最新的Windows10纯净版32位系统,该版本系统不包含任何捆绑软件,系统资源占用少,运作流畅,适合老旧电脑安装。系统安装起来特别简单,推荐大家使用硬盘安装,即便是…

大黄蜂能飞的起来吗?

Bumblebee argument 虽然早期的空气动力学证明大黄蜂不能飞行——因为体重太重,翅膀太薄,但大黄蜂并不知道,所以照飞不误。 背景 在20世纪初,‌科学家们通过研究发现,‌大黄蜂的身体与翼展的比例失调,‌按照…

OpenAI Embedding效果表现不佳:那如何评估选择Embedding?

OpenAI Embedding效果表现不佳 对文本进行Embedding是大模型应用中必不可少的一步, 虽然大模型OpenAI是最好的, 但OpenAI的Embedding却不是。本文Embedding评估的具体流程, 代码, 以及结论。 如果仅关心代码 & 结论&#xf…

软件项目质量管理体系,软件评审,资质认证,安全建设及项目管理匹配资料(原件参考)

软件项目质量管理体系是指一套系统化的管理方法、流程、工具和文档,旨在确保软件项目从需求分析、设计、开发、测试到部署和维护的整个生命周期中,都能达到预定的质量标准和客户期望。该体系通过明确的角色和责任、标准化的工作流程、有效的质量控制和持…

NC 找到搜索二叉树中两个错误的节点

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 一棵二叉树原…

Windows系统下的MATLAB 虚拟机中Ubuntu系统的ROS通讯

在Windows系统下的MATLAB与虚拟机中Ubuntu系统的ROS进行通讯,主要涉及到网络配置、环境变量设置以及MATLAB与ROS的接口调用。以下是一个详细的步骤说明: 一、网络配置 设置虚拟机网络: 确保虚拟机(Ubuntu系统)的网络…

7-3 单机多卡并行

一台机器可以安装多个GPU(1-16)在训练和预测时,我们将一个小批量计算切分到多个GPU上来达到加速的目的 同样一个小批量,让用多个GPU同时运行来一起完成这个计算梯度的过程常用的切分方案有 数据并行 模型并行 通道并行&#xff…

中国中医科学院某医院:监控易7.0开启一体化运维新篇章

在首都北京的医疗领域中,中国中医科学院某医院作为佼佼者,一直致力于为患者提供高质量的医疗服务。然而,随着医院业务的不断扩展和IT系统的日益复杂,如何确保IT基础资源的稳定运行,成为了医院面临的一大挑战。为了应对…

Java继承细节

目录 继承给编程带来的便利 细节1 案例演示 细节2 案例演示 细节3 案例演示 细节4 案例演示 细节5 细节6 细节7 案例演示 细节8 细节9 细节10 继承给编程带来的便利 提高了代码的复用性,代码的扩展性与维护性。 细节1 子类继承了所有的属性和方法…

Java面试题--JVM大厂篇之破解 JVM 性能瓶颈:实战优化策略大全

目录 引言: 正文: 1. 常见的JVM性能问题 频繁的GC导致应用暂停 内存泄漏导致的内存不足 线程争用导致的CPU利用率过高 类加载问题导致的启动时间过长 2. 优化策略大全 2.1 代码层面的优化 2.1.1 避免不必要的对象创建 2.1.2 优化数据结构的选择 2.1.3 使用并发工具…

【文心超级智能体创造营】打造「潮流穿搭助手」智能体 引领潮流新动向

【文心超级智能体创造营】打造潮流穿搭助手 引领潮流新动向 文章目录 【文心超级智能体创造营】打造潮流穿搭助手 引领潮流新动向一、智能体发展背景二、文心智能体平台—AgentBuilder一图概览三、我的智能体—潮流穿搭助手3.1 智能体初步设想3.2 prompt提示词准备3.3 &#x1…