基于Vitis AI的ADAS目标识别

发布者:温柔的心情最新更新时间:2024-03-21 来源: elecfans关键字:Vitis  AI  ADAS  目标识别 手机看文章 扫描二维码
随时随地手机看文章

一、基础知识

(一)Vitis™ AI开发环境

Vitis™ AI开发环境可在赛灵思硬件平台上加速 AI 推断,包括边缘器件和 Alveo™ 加速器卡。此环境由经过最优化的 IP 核、工具、库、模型和设计示例组成。其设计以高效和易用为核心,旨在通过赛灵思 SoC 和自适应计算加速平台 (ACAP) 来充分发掘 AI 加速的全部潜能。Vitis AI 开发环境将底层可编程逻辑的繁复细节加以抽象化,从而帮助不具备 FPGA 知识的用户轻松开发深度学习推断应用。

AI.png

(二)Vitis AI Model Zoo

Vitis AI 有个很有重要的工具:Vitis AI Model Zoo,类似于Vitis AI的模型商城。

MZOO.png

Vitis AI Model Zoo 包含经过最优化的深度学习模型,可在赛灵思平台上加速部署深度学习推断。这些模型涵盖了不同的应用,包括 ADAS/AD、视频监控机器人学和数据中心等。用户可从这些经过预训练的模型开始着手,享受深度学习加速所带来的诸多利益。

(三)ADAS

高级驾驶辅助系统(Advanced Driving Assistance System)是利用安装在车上的各式各样传感器(毫米波雷达、激光雷达、单双目摄像头以及卫星导航),在汽车行驶过程中随时来感应周围的环境,收集数据,进行静态、动态物体的辨识、侦测与追踪,并结合导航地图数据,进行系统的运算与分析,从而预先让驾驶者察觉到可能发生的危险,有效增加汽车驾驶的舒适性和安全性。 近年来ADAS市场增长迅速,原来这类系统局限于高端市场,而现在正在进入中端市场,与此同时,许多低技术应用在入门级乘用车领域更加常见,经过改进的新型传感器技术也在为系统布署创造新的机会与策略。

二、环境搭建

Vitis AI 库有两种安装方法。一种是通过配置 PetaLinux 来重构系统,另一种则是在线安装 Vitis AI 库,安装 Vitis-AI 库后,再安装 Vitis-AI 从属库。

(一)系统下载&安装

PetaLinux 以前没玩过,那就体验一把。先从官网下载PetaLinux系统镜像(https://china.xilinx.com/member/forms/download/design-license-xef.html?filename=xilinx-kv260-dpu-v2022.2-v3.0.0.img.gz),注意先注册AMD账号,然后填写一些信息才能注册成功,压缩文件有3.3G,解压后的文件8.8G。


注意文件命名,Vitis AI 版本为V3.0.0,此处有个坑,后续遇到再说。IMG文件烧录TF卡后上电,PetaLinux 就这样:


root@xilinx-kv260-starterkit-20222:~/Vitis-AI# uname -a

Linux xilinx-kv260-starterkit-20222 5.15.36-xilinx-v2022.2 #1 SMP Mon Oct 3 07:50:07 UTC 2022 aarch64 aarch64 aarch64 GNU/

root@xilinx-kv260-starterkit-20222:~/Vitis-AI#


映入眼帘的就是2个文件夹,包括鼎鼎大名的Vitis-AI :

AD1.png


接下来将在这个文件夹中玩的不亦乐乎。

(二)准备图像包

在官方链接(https://china.xilinx.com/bin/public/openDownload?filename=vitis_ai_runtime_r3.0.0_image_video.tar.gz)下载`vitis_ai_runtime_r3.0.0_image_video.tar.gz,其中包括demo需要的图像和视频文件,下载后解压备用。

三、ADAS目标识别

Vitis AI 提供L了许多实例,其中包括一个ADAS目标识别的demo,在Vitis-AI/examples/vai_runtime/adas_detection中,可执行CPP程序已经编译好,可以直接执行。

AD3.png

在执行demo之前,先看看readme。


Before running the program, please download the corresponding model and install it.

The model required by this sample is: yolov3_adas_pruned_0_9

You can find the detailed informantion of this model under

   Vitis-AI/models/AI-Model-Zoo/model-list/dk_yolov3_cityscapes_256_512_0.9_5.46G_1.3/model.yaml


In the model.yaml, you will find the model's download links for different platforms.

Please choose the corresponding model and download it.


Take ZCU102/ZCU104 as an example, execute the following commands to download and install the model.

        wget https://www.xilinx.com/bin/public/openDownload?filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r2.5.0.tar.gz -O yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r2.5.0.tar.gz

        mkdir -p /usr/share/vitis_ai_library/models

        tar -xzvf yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r2.5.0.tar.gz

        cp yolov3_adas_pruned_0_9 /usr/share/vitis_ai_library/models -r

把非KV260的内容截掉了,readme基本上就是告诉用户,去Vitis AI Model Zoo下载相应的model并安装。


那就照着guideline开动,将之前图形包中的adas.webm文件拷贝至当前目录,然后执行

./adas_detection adas.webm /usr/share/vitis_ai_library/models/yolov3_adas_pruned_0_9/yolov3_adas_pruned_0_9.xmodel


嗯,出错了:

AD2.png


**注意,坑来了!**系统提示

Please re-compile xmodel

是不是?要不去重编xmodel?仔细看看问题,原来是系统是Vitis AI V3.0,xmodel却是V2.5,导致CHECK fingerprint fail,直接去Vitis AI Model Zoo下载个V3.0的xmodel就好了,说干就干!


root@xilinx-kv260-starterkit-20222:~/Vitis-AI/examples/vai_runtime/adas_detection# wget https://www.xilinx.com/bin/public/openDownload?filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz -O yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz

--2023-09-27 06:52:41--  https://www.xilinx.com/bin/public/openDownload?filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz

Resolving www.xilinx.com... 223.119.248.58, 223.119.248.90

Connecting to www.xilinx.com|223.119.248.58|:443... connected.

HTTP request sent, awaiting response... 302 Moved Temporarily

Location: https://xilinx-ax-dl.entitlenow.com/dl/ul/2023/01/06/R210771244/yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz?hash=PJrrJ06TWqMoH_m1gKVgXw&expires=1695855161&filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz [following]

--2023-09-27 06:52:41--  https://xilinx-ax-dl.entitlenow.com/dl/ul/2023/01/06/R210771244/yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz?hash=PJrrJ06TWqMoH_m1gKVgXw&expires=1695855161&filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz

Resolving xilinx-ax-dl.entitlenow.com... 223.119.244.25

Connecting to xilinx-ax-dl.entitlenow.com|223.119.244.25|:443... connected.

HTTP request sent, awaiting response... 302 Moved Temporarily

Location: https://amd-ax-dlf.entitlenow.com/dl/ul/2023/01/06/R210771244/yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz?hash=PJrrJ06TWqMoH_m1gKVgXw&expires=1695855161&filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz [following]

--2023-09-27 06:52:45--  https://amd-ax-dlf.entitlenow.com/dl/ul/2023/01/06/R210771244/yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz?hash=PJrrJ06TWqMoH_m1gKVgXw&expires=1695855161&filename=yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz

Resolving amd-ax-dlf.entitlenow.com... 223.119.248.34, 223.119.248.40, 2402:4f00:4002:400::df77:f828, ...

Connecting to amd-ax-dlf.entitlenow.com|223.119.248.34|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 1875420 (1.8M) [application/octet-stream]

Saving to: 'yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz'


yolov3_adas_pruned_0_9-zcu102_ 100%[==================================================>]   1.79M  1.54MB/s    in 1.2s


2023-09-27 06:52:50 (1.54 MB/s) - 'yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz' saved [1875420/1875420]


root@xilinx-kv260-starterkit-20222:~/Vitis-AI/examples/vai_runtime/adas_detection#

再次执行以下命令:


root@xilinx-kv260-starterkit-20222:~/Vitis-AI/examples/vai_runtime/adas_detection# tar -xzvf yolov3_adas_pruned_0_9-zcu102_zcu104_kv260-r3.0.0.tar.gz

yolov3_adas_pruned_0_9/

yolov3_adas_pruned_0_9/meta.json

yolov3_adas_pruned_0_9/yolov3_adas_pruned_0_9.xmodel

yolov3_adas_pruned_0_9/md5sum.txt

yolov3_adas_pruned_0_9/yolov3_adas_pruned_0_9.prototxt

yolov3_adas_pruned_0_9_acc/

yolov3_adas_pruned_0_9_acc/yolov3_adas_pruned_0_9_acc.prototxt

yolov3_adas_pruned_0_9_acc/yolov3_adas_pruned_0_9_acc.xmodel

root@xilinx-kv260-starterkit-20222:~/Vitis-AI/examples/vai_runtime/adas_detection# cp yolov3_adas_pruned_0_9 /usr/share/vitis_ai_library/models -r

四、ADAS目标识别体验

(一)目标识别

接上HDMI显示器、键盘&鼠标,在KV260上执行(如果在SSH或串口上执行会提示cv::Exception):


`./adas_detection video/adas.webm /usr/share/vitis_ai_library/models/yolov3_adas_pruned_0_9/yolov3_adas_pruned_0_9.xmodel`


DA4.jpg

视频在最后,可以看出识别的准确性和实时性都不错,FPS保持在40左右。

(二)dashboard监测

KV260在PetaLinux上提供了一个Hardware Platform Statistics页面,挺有意思的,用于展示系统硬件资源实时消耗情况。监控的内容包括CPU消耗、内存空闲和消耗、电压、温度…

DSB.png

下面是一张执行ADAS目标识别后CPU使用情况,可以看出CPU使用率一下子拉升了,A53的资源还是紧张了点,要是A72就好了。

bokeh_plot (1).png
关键字:Vitis  AI  ADAS  目标识别 引用地址:基于Vitis AI的ADAS目标识别

上一篇:航顺HK32C030 MCU在便携式充电枪的应用
下一篇:半导体车载冰箱的工作原理与结构

推荐阅读最新更新时间:2024-11-18 02:55

2019世界人工智能大会,“二马对话”畅想智能时代新格局
2019世界人工智能大会今天开幕,腾讯CEO马化腾在开幕式致辞:“放眼这一年的人工智能领域,我感受到‘热度不减,亮点连连’”。马化腾称,人工智能正在向人类社会不断靠近,从专才向通才发展,人工+智能也在向自主智能转化,机器智能对于环境的自我学习能力也在大大增强。 马化腾认为:“今天没有哪个国家能够完全拥有全球新一轮科技和产业所需要的全部资源、技术和能力,产业割裂和技术脱钩将会损害整个人类长远的利益。” 此外,最引人注目的还有“双马”对话。 在万众瞩目下,以联合国数字合作高级别小组联合主席身份亮相的马云,与特斯拉联合创始人兼首席执行官埃隆·马斯克(Elon Musk)一同登台,进行了一次长达45分钟的巅峰对话。
[物联网]
2019世界<font color='red'>人工智能</font>大会,“二马对话”畅想智能时代新格局
攻陷无人区:百度大脑破解了这个AI技术应用顽疾
人与机器之间,有太多秘密隐藏在未知以下。 比如说AI带来的语义理解与语音唤醒式人机交互,虽然被大家说的很神,但其实有大量难关没有被攻破。AI语音交互,往往还以来初级的符码转化和模块调用,真正让机器像人一样去理解世界,还有很长的路要走。 好在对人机交互深层秘密的探索,在今天并没有停步。一些全新的技术应用化,正在加强人与机器如何交流、协作甚至相互理解的无尽可能。 在刚刚的百度AI开发者大会中,一个重磅升级是百度大脑升级了3.0版本。这次升级之所以引人注目,是因为其在业界首次提出了“多模态深度语义理解”。 多模态、深度语义理解,这些都是我们经常在AI论文中看到的名词,但似乎从来没有科技巨头把这个词作为关键信息进行产业披露。这是为什么?
[机器人]
千人千面,人工智能医生究竟长什么样?
飞利浦与腾讯两大巨头携手,推进AI辅助诊断系统开发。据最新发布的《中国医学影像AI白皮书》,“人工智能+”已经成为传统 医疗 巨头和互联网科技公司的未来战略方向。尽管AI在医学影像领域已经取得瞩目成绩,但在AI读片成为“普世”服务前,如何让AI真正从实验室走向医院,从科研走向临床,是眼下更务实的思考。 全球电子巨头飞利浦与中国互联网巨头腾讯在人工智能的应用方面找到了交集。 3月22日,飞利浦(中国)与腾讯达成战略合作,致力于在智能医疗领域,从医院临床需求出发,共同推进电子阴道镜AI辅助诊断系统的研发。据悉,将电子阴道镜与阴道镜AI辅助诊断系统结合成果,将成为医生的“智能助手”,大大节省妇科临床医生的看片精力,提高诊断效率和准确率。
[医疗电子]
千人千面,<font color='red'>人工智能</font>医生究竟长什么样?
Mobileye发布第四代ADAS视觉处理器
      Mobileye公司作为一家基于摄像头技术的高级驾驶员辅助系统(ADAS)设计商和研发商,不断为汽车工业带来创新产品,日前该公司发布了最新的第四代系统芯片EyeQ4。凭借超过15年设计研发计算机视觉特种芯片的专业知识,EyeQ4芯片采用了14个计算核心,其中10个为特制矢量加速器,大幅提升了视觉处理和数据解读的性能。     EyeQ4系列产品已近得到一家全球知名的欧洲汽车制造商青睐,相关产品将从2018年开始应用在新下线车型中。EyeQ4芯片是可扩展摄像机系统的重要组成部分,不仅会出现在碰撞避免系统中用于单目镜影像处理,来满足欧洲新车评估测试(NCAP)、美国国家公路安全局(NHSTA)以及其他地区规章要
[汽车电子]
人工智能领域一周投融资汇总 亚马逊为仓储事业投资法国机器人公司
本周人工智能领域投融资事件一共18起。 作为电商巨头,亚马逊数年来一直在仓储机器人方面有着自己的布局,包括在2012年收购仓储机器人公司Kiva Systems、为仓库大量引入机器人、秘密开发分拣机器人等等。而在本周,其与法国机器人公司Balyo达成投资协议,为自己的机器人仓库再添一笔色彩。 SIGAI 全流程可视化人工智能框架平台SIGAI完成数百万人民币的天使轮融资,领投方为PNP中国,启迪种子基金跟投。 SIGAI专注底层人工智能算法工具与平台研究,建立面向各行业细分需求的通用AI框架。SIGAI平台涵盖行业内的几乎所有主流算法,并可以快速复现和使用最新(论文发布)算法,为需要AI解决方案的客户进行算法匹配,解决AI应
[机器人]
Google的AI预订服务Duplex仍需经常受到人工干预
当Google在去年的I/O大会上公布利用AI帮助人类预订餐厅的服务GoogleDuplex时,相信很多人都和笔者一样好奇其中有多少订单是完全由AI完成的。不过从Google最近透露的数据来看,情况并非你想的那样。 Google最近向纽约时报表示,Duplex呼叫通常是由呼叫中心的人工操作员拨打的。大约四分之一的通话以人工开启,而在由机器回应的呼叫中,15%需要人员进行干预。 Google在去年的一次演示中表示,操作人员需要监控该系统,以便在出现问题时随时接管。但是对于以人工智能为技术亮点(或宣传点)的系统来说,由人类发起通话比例达25%,这也过高了吧。 Duplex在开始推广时并不顺利。Duplex能以非常接近人类说话的方式为用
[机器人]
中国掀起技术人才争夺战 人工智能行业薪水直追硅谷
据日媒《日本时报》报道,中国的技术人才争夺战正在加剧。 成千上万的人被雇用来加强网络安全,审查在线内容,并试图使中国在应用人工智能方面处于领先地位,因为在政府支持AI快速增长的时候,资金会涌向初创公司和更成熟的企业。 中国搜索巨头百度公司(Baidu)的前高级管理人士Thomas Liang表示:“公司资金充足,人才竞争激烈。”他表示,像AI这样热门行业的创业公司往往不得不提供50%到100%的加薪,以吸引员工离开成熟的技术公司,加入自己的初创公司。 中国崛起成为全球技术中心,阿里巴巴和腾讯这样的巨头目前市值超过1万亿美元,这导致了招聘热潮和工资增长,开始将顶尖人才的薪水与硅谷缩小差距。 尽管政府希望创造高薪工作并提高价值链,也
[嵌入式]
安徽大学将成立未来学院、集成电路学院、人工智能学院
2月6日,据安徽网日前报道,在安徽省十三届人大四次会议上,合肥代表团蔡敬民等15名代表提出了《关于扩大我省优质高等教育资源供给的议案》,建议安徽大学扩建一个新校区,以扩大集成电路、生物医药、人工智能等战略性新兴产业领域本科生招生规模。 蔡敬民透露,安徽大学计划新建“未来学院”,新增生物医药、人工智能、互联网等学科,培养更多的人才服务安徽经济社会的发展。 “合肥市现在是国家集成电路制造的重点城市,有近300家龙头企业对人才有很大的需求。而安徽大学有很好的办学基础,现有的集成电路和半导体专业是国家重点建设的方向,计算机专业也是我国第一批计算机国家重点学科。”蔡敬民还表示,安徽大学已经着手成立集成电路学院、人工智能学院,与合肥市政府
[手机便携]
安徽大学将成立未来学院、集成电路学院、<font color='red'>人工智能</font>学院
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved