昇腾Atlas 200I DK A2实现安全帽识别

文章目录

  • 环境依赖
  • 编译
  • 测试
  • 总结


环境依赖

软件版本说明获取方式
mxVision5.0.RC2mxVision软件包获取方式
Ascend-CANN-toolkit6.2.RC2Ascend-cann-toolkit开发套件包获取方式
Ubuntu22.04

代码仓库地址:
https://gitee.com/ascend/ascend_community_projects/tree/310B/HelmetIdentification_V2

镜像版本:
在这里插入图片描述


编译

获取模型:https://gitee.com/link?target=https%3A%2F%2Fmindx.sdk.obs.cn-north-4.myhuaweicloud.com%2Fmindxsdk-referenceapps%2520%2Fcontrib%2FHelmetIdentification%2Fmodel.zip

解压 model.zip 并将onnx文件移到项目的model目录下:
在这里插入图片描述

转换模型:注意,这里没有采用源码中的atc-env.sh转换脚本的方式。
配置环境变量:

source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/mxVision-5.0.RC2/set_env.sh

转模型:

cd ~/HelmetIdentification_V2/model
atc --model=./YOLOv5_s.onnx --framework=5 --output=YOLOv5_s --insert_op_conf=./aipp_YOLOv5.config --input_format=NCHW --log=info --soc_version=Ascend310B1 --input_shape="images:1,3,640,640"

执行完以上命令行,model目录下会出现om模型
在这里插入图片描述

修改CMakeList.txt

cd ~/HelmetIdentification_V2/src

24行和35行改为 /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux 目录下的includelib64目录,这里需要修改为自己的toolkit目录
在这里插入图片描述

编译准备

更新安装库文件

apt-get update 
apt-get install -y libavformat-dev

建立三个库的软软链接

ln -s /usr/lib/aarch64-linux-gnu/libavcodec.so.58 /usr/lib/aarch64-linux-gnu/libavcodec.so
ln -s /usr/lib/aarch64-linux-gnu/libavutil.so.56 /usr/lib/aarch64-linux-gnu/libavutil.so
ln -s /usr/lib/aarch64-linux-gnu/libavformat.so.58 /usr/lib/aarch64-linux-gnu/libavformat.so

由于代码提供了对videoimage的不同main.cpp,这里我们选用video的。将两个文件备份后,留下main.cpp

cd ~/HelmetIdentification_V2/src
rm main-image.cpp
cd ..
mkdir build_video
cd build_video
cmake ..

在这里插入图片描述

make -j4

在这里插入图片描述
至此,会在~/HelmetIdentification_V2目录下生成main可执行文件

测试

HelmetIdentification_V2文件夹下,需要新建result文件夹以及内部的one、two两个文件夹用于存放结果

cd ~/HelmetIdentification_V2
mkdir result
cd result
mkdir one
mkdir two

退回到HelmetIdentification_V2文件夹,运行如下命令

./main test_person.h264 1920 1080

1920 1080为输入视频的宽高
在这里插入图片描述
结果图片保存在HelmetIdentification_V2/result文件夹中,文件夹one保存第一路输入的结果,文件夹two保存第二路输入的结果。
在这里插入图片描述
输出样例为:在这里插入图片描述
红框标出的应该是未佩戴安全帽的信息。


总结

本篇文章可以算是昇腾系列的一个入门样例,跑通了应该就能知道大概的操作流程,接下来应该又是一段难忘的开发心路历程,希望自己挺住!!!

参考文档:
https://gitee.com/ascend/ascend_community_projects/tree/310B/HelmetIdentification_V2
https://zhuanlan.zhihu.com/p/652517700
如果阅读本文对你有用,欢迎点赞收藏呀!!!
2023年11月24日14:55:12
在这里插入图片描述

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

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

相关文章

01_原理-事件循环

01_原理-事件循环 文章目录 01_原理-事件循环一、浏览器的进程模型①:何为进程?②:何为线程?③:浏览器有哪些进程和线程? 二、渲染主线程是如何工作的?三、若干解释①:何为异步&…

量子计算突破云渲染资源调度!真机测试完整报告公开!

​摘要:在影视领域中,经常会涉及大量的视频图像渲染工作,而往往在这种大规模、动态渲染场景下,普遍存在着冗余渲染现象。究其原因在于大规模的图像渲染通常要求在短时间内做出渲染任务的算力分配决策,而经典计算机无法…

【周报2023-11-24】

周报2023-11-24 本周主要工作下周工作计划 本周主要工作 本周的话一个主要工作有: 前后端进行联调接口: 那么目前为止的话,已经调通的接口 可以使用的是个人中心 历史生成的接口 选择新模板 新模板详情 ps: 下周工作计划 主要的话就是将…

金风玉露一相逢|实在智能联手浪潮信息合力致新生成式AI产业生态

近日,实在智能正式加入浪潮信息元脑生态AIStore。 实在智能是一家基于AGI大模型超自动化技术,领跑人机协同时代的人工智能科技公司,以其自研垂直的“TARS(塔斯)大语言模型”技术、实在RPA Agent智能体数字员工产品和超…

PSP - 蛋白质真实长序列查找 PDB 结构短序列的算法

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/134599076 在蛋白质结构预测的过程中,输入一般是蛋白质序列(长序列),预测出 PDB 三维结构,再和 Ground Truth …

2024深圳电子展,加快粤港澳电子信息发展,重点打造“湾区经济”

在“十四五”期间,中国电子信息产业面临着新形势和新特点。随着国家对5G、人工智能、工业互联网、物联网等“新基建”的加速推进,以及形成“双循环”新格局的形势,新型显示、集成电路等产业正在加速向国内转移。这一过程不仅带来了新的应用前…

2023年亚太地区数学建模大赛 C 题

我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源(非常规汽车燃料指汽油、柴油以外的燃料),将先进技术进行汽车动力控制和驱动相结合的汽车。新能源汽车主要包括四种类型:…

MobaXterm连接节点一段时间后超时Session stopped

1、MobaXterm (1)设置ssh 超时时间 (2)设置保持连接 如果服务器端设置了超时时间,会以服务器为准,具体设置: 2、服务端 cat /etc/ssh/sshd_config | grep "ClientAlive" 可以把设置…

一穿一戴一世界 | 紫光展锐2023智能穿戴沙龙成功举办

11月23日,紫光展锐在深圳成功举办了以“一穿一戴一世界”为主题的2023智能穿戴沙龙。展锐智能穿戴沙龙已举办四届,旨在为行业提供启发性的观点和前瞻性的创新理念。本届沙龙吸引了终端厂商、行业翘楚、生态伙伴等行业各领域超过500人汇聚一堂&#xff0c…

HCIA-RS基础-静态路由协议

摘要:静态路由是一种在网络中广泛应用的路由选择方案,它以其简单的配置和低开销而备受青睐。本文将介绍静态路由的配置方法、默认路由的设置、路由的负载分担和备份策略。通过学习本文,希望可以你能够掌握静态路由的基本概念和在华为模拟器中…

U-Boot 之九 详解 Pinctrl 子系统、命令、初始化流程、使用方法

嵌入式芯片中,引脚复用是一个非常常见的功能,U-Boot 提供一个类似 Linux Kernel 的 Pinctrl 子系统来处理引脚复用功能。正好最近用到了这部分功能,需要移植 Pinctrl 驱动,特此记录一下学习过程。 架构 U-Boot 提供一个类似 Linux Kernel 的 Pinctrl 子系统,用来统一各芯…

视频服务网关的三大部署(三)

视频网关是软硬一体的一款产品,可提供多协议(RTSP/ONVIF/GB28181/海康ISUP/EHOME/大华、海康SDK等)的设备视频接入、采集、处理、存储和分发等服务, 配合视频网关云管理平台,可广泛应用于安防监控、智能检测、智慧园区…

RK WiFi部分信道在部分地区无法使用的原因

不同国家支持的WiFi信道不一样,需要正确设置wificountrycode 修改路径: device\rockchip\common\BoardConfig.mk 修改内容:androidboot.wificountrycodeXX 该属性会被解析为 ro.boot.wificountrycode framework层会在: framewor…

用好语言模型:temperature、top-p等核心参数解析

编者按:我们如何才能更好地控制大模型的输出? 本文将介绍几个关键参数,帮助读者更好地理解和运用 temperature、top-p、top-k、frequency penalty 和 presence penalty 等常见参数,以优化语言模型的生成效果。 文章详细解释了这些参数的作用…

leetcode 343.整数拆分 198.打家劫舍(动态规划)

OJ链接 &#xff1a;leetcode 343.整数拆分 代码&#xff1a; class Solution {public int integerBreak(int n) {int[] dp new int[n1];//每个n&#xff0c;拆分多个整数乘积的最大值dp [0] 0;dp [1] 1; for(int i 2 ; i<n; i){for(int j 0 ; j < i; j){dp[i] Ma…

小程序中的大道理--综述

前言 以下将用一个小程序来探讨一些大道理, 这些大道理包括可扩展性, 抽象与封装, 可维护性, 健壮性, 团队合作, 工具的利用, 可测试性, 自顶向下, 分而治之, 分层, 可读性, 模块化, 松耦合, MVC, 领域模型, 甚至对称性, 香农的信息论等等. 为什么不用大程序来说大道理呢? …

CMS指纹识别方式

一、手工识别 1.robots.txt文件 robots.txt文件我们写过爬虫的就知道,这个文件是告诉我们哪些目录是禁止爬取的。但是大部分的时候我们都能通过robots.txt文件来判断出cms的类型 如: 从wp路径可以看出这个是WordPress的cms 这个就比较明显了直接告诉我们是PageAdmin cms 也…

Python大语言模型实战-记录一次用ChatDev框架实现爬虫任务的完整过程

1、模型选择&#xff1a;GPT4 2、需求&#xff1a;在win10操作系统环境下&#xff0c;基于python3.10解释器&#xff0c;爬取豆瓣电影Top250的相关信息&#xff0c;包括电影详情链接&#xff0c;图片链接&#xff0c;影片中文名&#xff0c;影片外国名&#xff0c;评分&#x…

kali一键部署各种环境和渗透工具

相信各位初入渗透领域的小伙们接触了kali,但是苦于要配置各种环境,安装kali没有的工具,费时费力,博主有时候需要重新部署kali也很苦恼,所以编写一键部署安装kali脚本,下载地址在这里:https://download.csdn.net/download/weixin_59679023/88565320 配置流程: 1、找一…