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

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

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

基于PYNQ的軟件框架實現(xiàn)SSD目標(biāo)檢測算法硬件加速方案

454398 ? 來源:PYNQ開源社區(qū) ? 作者:PYNQ開源社區(qū) ? 2020-09-26 11:33 ? 次閱讀

設(shè)計目的與應(yīng)用

隨著人工智能的發(fā)展,神經(jīng)網(wǎng)絡(luò)正被逐步應(yīng)用于智能安防、自動駕駛、醫(yī)療等各行各業(yè)。目標(biāo)識別作為人工智能的一項重要應(yīng)用也擁有著巨大的前景,隨著深度學(xué)習(xí)的普及和框架的成熟,卷積神經(jīng)網(wǎng)絡(luò)模型的識別精度越來越高。有名的LeNet-5手寫數(shù)字識別網(wǎng)絡(luò),精度達(dá)到99%,AlexNet模型和VGG-16模型的提出突破了傳統(tǒng)圖像識別算法,GooLeNet和ResNet推動了卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用。

但是神經(jīng)網(wǎng)絡(luò)的發(fā)展也給我們帶來了更多挑戰(zhàn),權(quán)重參數(shù)越來越多,計算量越來越大導(dǎo)致了復(fù)雜的模型很難移植到移動端或嵌入式設(shè)備中,且嵌入式環(huán)境對功耗、實時性、存儲都有著嚴(yán)格的約束。因此如何將卷積神經(jīng)網(wǎng)絡(luò)部署到嵌入式設(shè)備中是一件非常有意義的事情。目前神經(jīng)網(wǎng)絡(luò)在傳統(tǒng)嵌入式設(shè)備上絕大部分是基于ARM平臺,神經(jīng)網(wǎng)絡(luò)在ARM上部署時存在的巨大問題是算力的不足。GPU主要應(yīng)用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練階段,對環(huán)境和庫的依賴性較大,國內(nèi)技術(shù)積累較弱,難以實現(xiàn)技術(shù)自主可控。ASIC 是為特定需求而專門定制優(yōu)化開發(fā)的架構(gòu),靈活性較差,缺乏統(tǒng)一的軟硬件開發(fā)環(huán)境,開發(fā)周期長且造價極高。所以,基于FPGA的硬件加速平臺是時候發(fā)揮它的優(yōu)勢了。FPGA由于獨(dú)特的架構(gòu),被廣泛的應(yīng)用與實時信號處理、圖像處理領(lǐng)域,其并行性也為卷積神經(jīng)網(wǎng)絡(luò)提供了巨大算力。

傳統(tǒng)的RTL開發(fā)FPGA流程相比緩慢,不如軟件的開發(fā)效率高,所以HLS運(yùn)營而生,使用高層次語言來進(jìn)行轉(zhuǎn)換為底層的硬件代碼,極大的加快開發(fā)進(jìn)程。因此項目選用HLS工具來實現(xiàn)算法中的加速IP核,將SSD目標(biāo)檢測網(wǎng)絡(luò)移植到FPGA硬件平臺上, 對于硬件加速過程中的算法并行性,在本設(shè)計中主要采用兩個方式:對層內(nèi)的運(yùn)算并行化,將多個通道的數(shù)據(jù)進(jìn)行分塊,每一塊內(nèi)的通道同時進(jìn)行運(yùn)算,最后將結(jié)果累加在一起。對于模塊的運(yùn)算采用HLS并行優(yōu)化,對數(shù)組核循環(huán)添加優(yōu)化指令進(jìn)行優(yōu)化。整個系統(tǒng)采用PYNQ的軟件框架來實現(xiàn),為SSD目標(biāo)檢測算法提供了硬件加速方案,充分發(fā)揮了FPGA的并行性。

SSD目標(biāo)檢測算法原理

SSD于2016年提出,是經(jīng)典的單階段目標(biāo)檢測模型之一。它的精度可以媲美FasterRcnn雙階段目標(biāo)檢測方法,速度卻達(dá)到了59FPS(512x512,TitanV),單階段目標(biāo)檢測方法的目標(biāo)檢測和分類是同時完成的,其主要思路是利用CNN提取特征后,均勻地在圖片的不同位置進(jìn)行密集抽樣,抽樣時可以采用不同尺度和長寬比,物體分類與預(yù)測框的回歸同時進(jìn)行,整個過程只需要一步,所以其優(yōu)勢是速度快。

SSD采用的主干網(wǎng)絡(luò)是VGG網(wǎng)絡(luò),VGG是由Simonyan 和Zisserman在文獻(xiàn)《Very Deep Convolutional Networks for Large Scale Image Recognition》中提出卷積神經(jīng)網(wǎng)絡(luò)模型,其名稱來源于作者所在的牛津大學(xué)視覺幾何組(Visual Geometry Group)的縮寫。該模型參加2014年的 ImageNet圖像分類與定位挑戰(zhàn)賽,取得了優(yōu)異成績:在分類任務(wù)上排名第二,在定位任務(wù)上排名第一。

基于PYNQ的軟件框架實現(xiàn)SSD目標(biāo)檢測算法硬件加速方案

圖1.VGG16網(wǎng)絡(luò)結(jié)構(gòu)

這里的VGG網(wǎng)絡(luò)相比普通的VGG網(wǎng)絡(luò)有一定的修改,主要修改的地方就是:

1、將VGG16的FC6和FC7層轉(zhuǎn)化為卷積層。

2、去掉所有的Dropout層和FC8層;

3、新增了Conv6、Conv7、Conv8、Conv9。

圖2.SSD主干網(wǎng)絡(luò)結(jié)構(gòu)

上圖展示了SSD的主干網(wǎng)絡(luò)結(jié)構(gòu),整個網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò)結(jié)構(gòu),SSD將VGG16的兩個全連接層轉(zhuǎn)換成了普通的卷積層,池化層POOL5由原來的stride=2,kernel大小2x2變成stride=1,kernel大小3x3,為了不改變特征圖大小同時獲得更大的感受野,Conv6改為空洞卷積,diliation=6,輸入的圖片經(jīng)過了改進(jìn)的VGG網(wǎng)絡(luò)(Conv1->fc7)和幾個另加的卷積層(Conv6->Conv9)進(jìn)行特征提取。

從圖2我們可以看出,SSD將conv4_3、conv7、conv6_2、conv7_2、conv8_2、conv9_2都連接到了最后的檢測分類層做回歸,6個特征圖分別預(yù)測不同大小和長寬比的邊界框,具體細(xì)節(jié)如圖3。

圖3.SSD特征提取網(wǎng)絡(luò)

SSD為每個檢測層都預(yù)定義了不同大小的先驗框(prior boxes),Conv4_3、Conv8_2和Conv9_2分別有4個先驗框,而Conv7、conv7_2和Conv8_2分別有6種先驗框,即對應(yīng)于特征圖上的每個像素,都會生成4或6個prior box.

在淺層的神經(jīng)網(wǎng)絡(luò)里,只能看到圖片的細(xì)節(jié)和紋理信息,就如管中窺豹。隨著網(wǎng)絡(luò)層數(shù)的加深,相當(dāng)于把圖片往后移動一段距離。這樣才能夠感知到圖片的整體信息。低層卷積可以捕捉到更多的細(xì)節(jié)信息,高層卷積可以捕捉到更多的抽象信息。低層特性更關(guān)心“在哪里”,但分類準(zhǔn)確度不高,而高層特性更關(guān)心“是什么”,但丟失了物體的位置信息。SSD正是利用不同尺度檢測圖片中不同大小和類別的目標(biāo)物體,獲得了很好的效果。

作品展示





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

    關(guān)注

    1630

    文章

    21796

    瀏覽量

    605427
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2887

    瀏覽量

    117729
  • 人工智能
    +關(guān)注

    關(guān)注

    1796

    文章

    47643

    瀏覽量

    239861
  • 卷積神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    4

    文章

    367

    瀏覽量

    11896
收藏 人收藏

    評論

    相關(guān)推薦

    基于 DSP5509 進(jìn)行數(shù)字圖像處理中 Sobel 算子邊緣檢測硬件連接電路圖

    以下是基于 DSP5509 進(jìn)行數(shù)字圖像處理中 Sobel 算子邊緣檢測硬件設(shè)計方案: 一、總體架構(gòu) 圖像采集:使用合適的圖像傳感器,如 CMOS 傳感器,通過相應(yīng)的接口(如 SPI、I2C 等
    發(fā)表于 09-25 15:25

    TDA4VM上的硬件加速運(yùn)動恢復(fù)結(jié)構(gòu)算法

    電子發(fā)燒友網(wǎng)站提供《TDA4VM上的硬件加速運(yùn)動恢復(fù)結(jié)構(gòu)算法.pdf》資料免費(fèi)下載
    發(fā)表于 09-24 11:39 ?0次下載
    TDA4VM上的<b class='flag-5'>硬件加速</b>運(yùn)動恢復(fù)結(jié)構(gòu)<b class='flag-5'>算法</b>

    適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換器解決方案

    電子發(fā)燒友網(wǎng)站提供《適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換器解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 08-26 09:38 ?0次下載
    適用于數(shù)據(jù)中心應(yīng)用中的<b class='flag-5'>硬件加速</b>器的直流/直流轉(zhuǎn)換器解決<b class='flag-5'>方案</b>

    使用PYNQ訓(xùn)練和實現(xiàn)BNN

    使用 PYNQ 可以輕松在 FPGA 上實現(xiàn)加速 AI/ML,而無需編寫一行 HDL!讓我們看看如何做到這一點。
    的頭像 發(fā)表于 08-05 17:15 ?606次閱讀
    使用<b class='flag-5'>PYNQ</b>訓(xùn)練和<b class='flag-5'>實現(xiàn)</b>BNN

    旗晟機(jī)器人環(huán)境檢測算法有哪些?

    硬件支撐,更離不開強(qiáng)大的算法庫作為軟件核心,二者相輔相成,缺一不可。今天就來了解旗晟機(jī)器人環(huán)境檢測算法。 1、設(shè)施異常監(jiān)測 通過集成高精度傳感器與智能圖像識別技術(shù)。它不僅能
    的頭像 發(fā)表于 07-19 17:54 ?563次閱讀
    旗晟機(jī)器人環(huán)境<b class='flag-5'>檢測算法</b>有哪些?

    口罩佩戴檢測算法

    ,口罩佩戴檢測算法利用YOLOv5模型框架,修改其相關(guān)配置文件和檢測參數(shù),并采用數(shù)據(jù)增強(qiáng)和Dropout技術(shù)防止過擬合。實驗結(jié)果驗證了YOLOv5模型人群口罩佩戴圖
    的頭像 發(fā)表于 07-01 20:20 ?356次閱讀
    口罩佩戴<b class='flag-5'>檢測算法</b>

    人員跌倒識別檢測算法

    人員跌倒識別檢測算法是基于視頻的檢測方法,通過對目標(biāo)人體監(jiān)測,當(dāng)目標(biāo)人體出現(xiàn)突然倒地行為時,自動監(jiān)測并觸發(fā)報警。人員跌倒識別檢測算法基于計算
    的頭像 發(fā)表于 06-30 11:47 ?500次閱讀
    人員跌倒識別<b class='flag-5'>檢測算法</b>

    安全帽佩戴檢測算法

    安全帽佩戴監(jiān)控是鐵路工程施工人員安全管理中的重點和難點,它對檢測算法的準(zhǔn)確 率與檢測速度都有較高的要求。本文提出一種基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索的安全帽佩戴檢測算法 NAS-YOLO。該神經(jīng)網(wǎng)絡(luò)架構(gòu)由上
    的頭像 發(fā)表于 06-26 22:22 ?440次閱讀
    安全帽佩戴<b class='flag-5'>檢測算法</b>

    PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?

    。 使用 MCUBoot 驗證兩個應(yīng)用程序時,運(yùn)行時間大約需要五秒鐘。 在 README.md 的 \"安全 \"一欄中寫道 與軟件實現(xiàn)相比,硬件加速加密技術(shù)將啟動時間縮短了四倍多
    發(fā)表于 05-29 08:17

    基于FPGA的實時邊緣檢測系統(tǒng)設(shè)計,Sobel圖像邊緣檢測,F(xiàn)PGA圖像處理

    的 Sobel 邊緣檢測算法,從公式上進(jìn)行化簡近似得到本系統(tǒng)所用的Sobel實現(xiàn)方式;通過對比MATLAB和FPGA的計算用時,可以看出FPGA的并行運(yùn)算將速度提升了40倍以上,實現(xiàn)算法
    發(fā)表于 05-24 07:45

    新思科技硬件加速解決方案技術(shù)日在成都和西安站成功舉辦

    近日,【新思科技技術(shù)日】硬件加速驗證解決方案專場成都站和西安站順利舉行,來自國內(nèi)領(lǐng)先的系統(tǒng)級公司、芯片設(shè)計公司以及高校的250多名開發(fā)者們積極參與。
    的頭像 發(fā)表于 04-19 17:35 ?494次閱讀

    Elektrobit利用其首創(chuàng)的硬件加速軟件優(yōu)化汽車通信網(wǎng)絡(luò)的性能

    Elektrobit今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成現(xiàn)代微控制器新一代硬件加速器的軟件產(chǎn)品,可應(yīng)用于先進(jìn)的汽車電子/電氣架構(gòu)(基于被廣泛采用
    的頭像 發(fā)表于 04-17 09:51 ?394次閱讀

    用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬器設(shè)計

    該項目的目標(biāo)是創(chuàng)建一個用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬器。
    的頭像 發(fā)表于 04-09 11:08 ?626次閱讀
    用DE1-SOC進(jìn)行<b class='flag-5'>硬件加速</b>的2D N-Body重力模擬器設(shè)計

    【國產(chǎn)FPGA+OMAPL138開發(fā)板體驗】(原創(chuàng))7.硬件加速Sora文生視頻源代碼

    信號 text_ready <= 0; end // 文本處理與視頻生成(占位符,調(diào)用硬件加速器或實現(xiàn)相應(yīng)算法) if (text_processing &&
    發(fā)表于 02-22 09:49

    音視頻解碼器硬件加速實現(xiàn)更流暢的播放效果

    隨著多媒體內(nèi)容的日益豐富和高清化,傳統(tǒng)的軟件解碼已經(jīng)難以滿足人們對流暢播放體驗的需求。因此,音視頻解碼器硬件加速技術(shù)的出現(xiàn),為提升播放效果帶來了革命性的改變。 硬件加速的原理 硬件加速
    的頭像 發(fā)表于 02-21 14:40 ?1048次閱讀
    音視頻解碼器<b class='flag-5'>硬件加速</b>:<b class='flag-5'>實現(xiàn)</b>更流暢的播放效果