0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Vitis AI的ADAS目標(biāo)識(shí)別

發(fā)燒電子愛好者 ? 來源:發(fā)燒電子愛好者 ? 作者:發(fā)燒電子愛好者 ? 2023-09-28 00:05 ? 次閱讀

一、基礎(chǔ)知識(shí)

(一)Vitis? AI開發(fā)環(huán)境

Vitis? AI開發(fā)環(huán)境可在賽靈思硬件平臺(tái)上加速 AI 推斷,包括邊緣器件和 Alveo? 加速器卡。此環(huán)境由經(jīng)過最優(yōu)化的 IP 核、工具、庫、模型和設(shè)計(jì)示例組成。其設(shè)計(jì)以高效和易用為核心,旨在通過賽靈思 SoC 和自適應(yīng)計(jì)算加速平臺(tái) (ACAP) 來充分發(fā)掘 AI 加速的全部潛能。Vitis AI 開發(fā)環(huán)境將底層可編程邏輯的繁復(fù)細(xì)節(jié)加以抽象化,從而幫助不具備 FPGA 知識(shí)的用戶輕松開發(fā)深度學(xué)習(xí)推斷應(yīng)用。

AI.png

(二)Vitis AI Model Zoo

Vitis AI 有個(gè)很有重要的工具:Vitis AI Model Zoo,類似于Vitis AI的模型商城。

MZOO.png

Vitis AI Model Zoo 包含經(jīng)過最優(yōu)化的深度學(xué)習(xí)模型,可在賽靈思平臺(tái)上加速部署深度學(xué)習(xí)推斷。這些模型涵蓋了不同的應(yīng)用,包括 ADAS/AD、視頻監(jiān)控機(jī)器人學(xué)和數(shù)據(jù)中心等。用戶可從這些經(jīng)過預(yù)訓(xùn)練的模型開始著手,享受深度學(xué)習(xí)加速所帶來的諸多利益。

(三)ADAS

高級(jí)駕駛輔助系統(tǒng)(Advanced Driving Assistance System)是利用安裝在車上的各式各樣傳感器毫米波雷達(dá)、激光雷達(dá)、單雙目攝像頭以及衛(wèi)星導(dǎo)航),在汽車行駛過程中隨時(shí)來感應(yīng)周圍的環(huán)境,收集數(shù)據(jù),進(jìn)行靜態(tài)、動(dòng)態(tài)物體的辨識(shí)、偵測(cè)與追蹤,并結(jié)合導(dǎo)航地圖數(shù)據(jù),進(jìn)行系統(tǒng)的運(yùn)算與分析,從而預(yù)先讓駕駛者察覺到可能發(fā)生的危險(xiǎn),有效增加汽車駕駛的舒適性和安全性。 近年來ADAS市場(chǎng)增長迅速,原來這類系統(tǒng)局限于高端市場(chǎng),而現(xiàn)在正在進(jìn)入中端市場(chǎng),與此同時(shí),許多低技術(shù)應(yīng)用在入門級(jí)乘用車領(lǐng)域更加常見,經(jīng)過改進(jìn)的新型傳感器技術(shù)也在為系統(tǒng)布署創(chuàng)造新的機(jī)會(huì)與策略。

二、環(huán)境搭建

Vitis AI 庫有兩種安裝方法。一種是通過配置 PetaLinux 來重構(gòu)系統(tǒng),另一種則是在線安裝 Vitis AI 庫,安裝 Vitis-AI 庫后,再安裝 Vitis-AI 從屬庫。

(一)系統(tǒng)下載&安裝

PetaLinux 以前沒玩過,那就體驗(yàn)一把。先從官網(wǎng)下載PetaLinux系統(tǒng)鏡像(https://china.xilinx.com/member/forms/download/design-license-xef.html?filename=xilinx-kv260-dpu-v2022.2-v3.0.0.img.gz),注意先注冊(cè)AMD賬號(hào),然后填寫一些信息才能注冊(cè)成功,壓縮文件有3.3G,解壓后的文件8.8G。

注意文件命名,Vitis AI 版本為V3.0.0,此處有個(gè)坑,后續(xù)遇到再說。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個(gè)文件夾,包括鼎鼎大名的Vitis-AI :

AD1.png


接下來將在這個(gè)文件夾中玩的不亦樂乎。

(二)準(zhǔn)備圖像包

在官方鏈接(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目標(biāo)識(shí)別

Vitis AI 提供L了許多實(shí)例,其中包括一個(gè)ADAS目標(biāo)識(shí)別的demo,在Vitis-AI/examples/vai_runtime/adas_detection中,可執(zhí)行CPP程序已經(jīng)編譯好,可以直接執(zhí)行。

AD3.png


在執(zhí)行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的內(nèi)容截掉了,readme基本上就是告訴用戶,去Vitis AI Model Zoo下載相應(yīng)的model并安裝。

那就照著guideline開動(dòng),將之前圖形包中的adas.webm文件拷貝至當(dāng)前目錄,然后執(zhí)行./adas_detection adas.webm /usr/share/vitis_ai_library/models/yolov3_adas_pruned_0_9/yolov3_adas_pruned_0_9.xmodel,嗯,出錯(cuò)了:

AD2.png

**注意,坑來了!**系統(tǒng)提示Please re-compile xmodel是不是?要不去重編xmodel?仔細(xì)看看問題,原來是系統(tǒng)是Vitis AI V3.0,xmodel卻是V2.5,導(dǎo)致CHECK fingerprint fail,直接去Vitis AI Model Zoo下載個(gè)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#

再次執(zhí)行以下命令:

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目標(biāo)識(shí)別體驗(yàn)

(一)目標(biāo)識(shí)別

接上HDMI顯示器、鍵盤&鼠標(biāo),在KV260上執(zhí)行(如果在SSH或串口上執(zhí)行會(huì)提示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

視頻在最后,可以看出識(shí)別的準(zhǔn)確性和實(shí)時(shí)性都不錯(cuò),F(xiàn)PS保持在40左右。

(二)dashboard監(jiān)測(cè)

KV260在PetaLinux上提供了一個(gè)Hardware Platform Statistics頁面,挺有意思的,用于展示系統(tǒng)硬件資源實(shí)時(shí)消耗情況。監(jiān)控的內(nèi)容包括CPU消耗、內(nèi)存空閑和消耗、電壓、溫度…

DSB.png

下面是一張執(zhí)行ADAS目標(biāo)識(shí)別后CPU使用情況,可以看出CPU使用率一下子拉升了,A53的資源還是緊張了點(diǎn),要是A72就好了。

bokeh_plot (1).png

最后

馬上中秋&國慶來了,終于在節(jié)前把第三篇作業(yè)完成,祝各位節(jié)日快樂!


審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    29435

    瀏覽量

    267735
  • adas
    +關(guān)注

    關(guān)注

    309

    文章

    2154

    瀏覽量

    208443
  • 開發(fā)環(huán)境
    +關(guān)注

    關(guān)注

    1

    文章

    216

    瀏覽量

    16552
  • Vitis
    +關(guān)注

    關(guān)注

    0

    文章

    145

    瀏覽量

    7361
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Vitis AI Library體驗(yàn)之OCR識(shí)別

    Vitis AI Library是一組高層次庫和 API,專為利用 DPU 高效執(zhí)行 AI 推斷而構(gòu)建。它是基于 Vitis AI運(yùn)行時(shí)利用
    的頭像 發(fā)表于 10-17 08:23 ?992次閱讀
    <b class='flag-5'>Vitis</b> <b class='flag-5'>AI</b> Library體驗(yàn)之OCR<b class='flag-5'>識(shí)別</b>

    開發(fā)者手機(jī) AI - 目標(biāo)識(shí)別 demo

    功能簡介 該應(yīng)用是在Openharmony 4.0系統(tǒng)上開發(fā)的一個(gè)目標(biāo)識(shí)別AI應(yīng)用,旨在從上到下打通Openharmony AI子系統(tǒng),展示Openharmony系統(tǒng)的AI能力,并為
    發(fā)表于 04-11 16:14

    RCS目標(biāo)識(shí)別

    各位好!我是一名學(xué)生,先階段在準(zhǔn)備競(jìng)賽,需要RCS目標(biāo)識(shí)別技術(shù),實(shí)現(xiàn)海上油污檢測(cè)。請(qǐng)問有沒有地方采購現(xiàn)成產(chǎn)品,或是自己制作是如何制作,謝謝!或是有其他什么方法可以實(shí)現(xiàn)海上油污檢測(cè)?
    發(fā)表于 01-27 15:50

    目標(biāo)識(shí)別之YOLO學(xué)習(xí)筆記

    目標(biāo)識(shí)別 YOLO 學(xué)習(xí)筆記(一)
    發(fā)表于 05-12 15:05

    【HarmonyOS HiSpark AI Camera】智能目標(biāo)識(shí)別

    項(xiàng)目名稱:智能目標(biāo)識(shí)別試用計(jì)劃:通過攝像頭采集視頻,利用海思芯片進(jìn)行處理和目標(biāo)識(shí)別。計(jì)劃年內(nèi)完成。
    發(fā)表于 11-19 20:46

    【KV260視覺入門套件試用體驗(yàn)】部署vitis-ai環(huán)境以及測(cè)試demo

    /ug1354-xilinx-ai-sdk/%E4%B8%8B%E8%BD%BD-Vitis-AI-Library 在安裝->設(shè)置目標(biāo)->步驟1:安裝開發(fā)板鏡像 開始下載鏡像 進(jìn)入到
    發(fā)表于 08-27 23:35

    【KV260視覺入門套件試用體驗(yàn)】五、VITis AI (人臉檢測(cè)和人體檢測(cè))

    都已編譯到預(yù)構(gòu)建的 Vitis AI 開發(fā)板鏡像中。您可直接運(yùn)行示例。如有新程序,請(qǐng)?jiān)谥鳈C(jī)側(cè)對(duì)其進(jìn)行編譯并將可執(zhí)行程序復(fù)制到目標(biāo)。 1. 使用 scp 命令將
    發(fā)表于 09-26 16:22

    【KV260視覺入門套件試用體驗(yàn)】六、VITis AI車牌檢測(cè)&amp;車牌識(shí)別

    。下圖顯示了車牌檢測(cè)的結(jié)果。 將圖片中的車牌進(jìn)行了框選,同事標(biāo)準(zhǔn)位置。 4.2、車牌識(shí)別 cd ~/Vitis-AI/examples/vai_library/samples/platenum
    發(fā)表于 09-26 16:28

    【KV260視覺入門套件試用體驗(yàn)】基于Vitis AIADAS目標(biāo)識(shí)別

    。 三、ADAS目標(biāo)識(shí)別 Vitis AI 提供L了許多實(shí)例,其中包括一個(gè)ADAS目標(biāo)識(shí)別的de
    發(fā)表于 09-27 23:21

    【KV260視覺入門套件試用體驗(yàn)】Vitis-AI加速的YOLOX視頻目標(biāo)檢測(cè)示例體驗(yàn)和原理解析

    本文將介紹如何使用Vitis-AI加速YOLOX模型實(shí)現(xiàn)視頻中的目標(biāo)檢測(cè),并對(duì)相關(guān)源碼進(jìn)行解讀。由于演示的示例程序源碼是Vitis-AI開源項(xiàng)目提供的,本文演示之前會(huì)介紹所需要的準(zhǔn)備工作。演示之后
    發(fā)表于 10-06 23:32

    【KV260視覺入門套件試用體驗(yàn)】KV260開發(fā)板之ADAS嘗試以及出現(xiàn)問題

    yolov3_adas_pruned_0_9 /usr/share/vitis_ai_library/models -r 最后執(zhí)行ADAS目標(biāo)識(shí)別程序 ./
    發(fā)表于 10-16 04:53

    【KV260視覺入門套件試用體驗(yàn)】Vitis AI Library體驗(yàn)之OCR識(shí)別

    Vitis AI Runtime,Vitis AI Library 有很多已經(jīng)封裝好的神經(jīng)網(wǎng)絡(luò)接口,直接拿來用即可。 OCR識(shí)別基于
    發(fā)表于 10-16 23:25

    運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤系統(tǒng)的研究

    提出了一種運(yùn)動(dòng)目標(biāo)識(shí)別與跟蹤系統(tǒng)的方案,給出了系統(tǒng)的原理圖和結(jié)構(gòu)框圖。重點(diǎn)論述了圖像處理的過程和算法,包括顏色模型的選擇,圖像的預(yù)處理,圖像分割,目標(biāo)識(shí)別
    發(fā)表于 07-20 16:14 ?29次下載

    基于SIFT視覺詞匯的目標(biāo)識(shí)別算法

    算法的目標(biāo)識(shí)別算法。結(jié)合在無遮擋與被局部遮擋的交通工具全方位姿態(tài)模型庫上進(jìn)行的目標(biāo)識(shí)別試驗(yàn),得出結(jié)果:算法對(duì)無遮擋目標(biāo)的平均識(shí)別率能到達(dá)83%以上,具有良好的
    發(fā)表于 11-14 11:04 ?5次下載
    基于SIFT視覺詞匯的<b class='flag-5'>目標(biāo)識(shí)別</b>算法

    使用Vitis-AI進(jìn)行車牌識(shí)別

    電子發(fā)燒友網(wǎng)站提供《使用Vitis-AI進(jìn)行車牌識(shí)別.zip》資料免費(fèi)下載
    發(fā)表于 06-27 09:49 ?2次下載
    使用<b class='flag-5'>Vitis-AI</b>進(jìn)行車牌<b class='flag-5'>識(shí)別</b>