摘 要:針對當前目標檢測技術(shù)在智能汽車上所需的體積小、能效比高、檢測速度快、精度高等要求,提出了一種新型嵌入式道路交通目標檢測設(shè)計。該方案以YOLOv3 為基礎(chǔ)網(wǎng)絡(luò)模型,通過新增網(wǎng)絡(luò)檢測層和網(wǎng)絡(luò)剪枝技術(shù)分別提升網(wǎng)絡(luò)的檢測精度和檢測速度,在硬件端以深度處理單元(Deep Learning Processing Unit,DPU)為核心搭建了底層硬件平臺,對網(wǎng)絡(luò)的卷積計算進行并行加速,改進后的模型通過量化和編譯后可以部署至FPGA+ARM 異構(gòu)平臺。經(jīng)測試,在KITTI 數(shù)據(jù)集上的檢測精度為85. 32% ,功耗為8. 2 W,檢測幀率為31. 2 Hz,算力功耗比達到58. 3 GOPs / W,是RTX 2060 super 型GPU 的3. 9 倍,Intel i7-12400 型CPU 的9. 3 倍。實驗結(jié)果表明,該方案滿足道路交通目標檢測設(shè)計要求,相較常用目標檢測平臺GPU,所提方案的部署空間小、功耗低,更適于靈活部署在空間緊湊、能源供給受限的智能汽車中。
關(guān)鍵詞:智能汽車;目標檢測;深度學習;嵌入式;FPGA
中圖分類號:U461. 99 文獻標志碼:A
文章編號:1003-3114(2024)05-1008-08
0 引言
近年來,我國的汽車產(chǎn)業(yè)不斷升級發(fā)展[1],新能源電動汽車的銷量比重不斷增加[2],汽車逐漸向科技化、智能化發(fā)展[3]。智能汽車上的自動駕駛技術(shù)以及行車的安全檢測都離不開目標檢測技術(shù),傳統(tǒng)的目標檢測通過人工設(shè)計并手動提取特征,檢測精度不高。隨著深度學習技術(shù)以及卷積神經(jīng)網(wǎng)絡(luò)的崛起[4],深度學習算法已經(jīng)取代傳統(tǒng)算法,成為當前目標檢測任務(wù)的主流算法[5]。
常規(guī)的深度學習算法通常部署在高性能的計算機中,計算機體積大、功耗高,不便于安裝在汽車內(nèi)。將目標檢測算法部署到嵌入式邊緣設(shè)備上能夠有效解決上述問題,邊緣設(shè)備的功耗較低、體積較小可以靈活地進行安裝部署[6]。當前的深度學習邊緣部署主要使用ASIC 平臺[7],但ASIC 是一種定制化平臺,通常只針對單一模型,且從設(shè)計、驗證到流片階段需要消耗大量時間和資金,設(shè)計完成后也難以進行更改,面對快速發(fā)展的神經(jīng)網(wǎng)絡(luò)模型很難保證能夠及時適應(yīng)。而FPGA 憑借其硬件結(jié)構(gòu)具備的可重構(gòu)性[8]和低功耗特點[9],可以靈活地進行設(shè)計和修改,能夠更好地適應(yīng)網(wǎng)絡(luò)模型的升級、調(diào)整、部署。
針對FPGA 神經(jīng)網(wǎng)絡(luò)模型部署問題,陳辰等[10]設(shè)計了基于FPGA 的單指令流多數(shù)據(jù)流卷積神經(jīng)網(wǎng)絡(luò)加速器架構(gòu),通過高層次綜合方法部署YOLOv2網(wǎng)絡(luò),對加速器的性能和資源耗費進行深入分析和建模,但高層次綜合生成的代碼可讀性差,很難進一步優(yōu)化。陳浩敏等[11]提出了基于YOLOv3tiny 的網(wǎng)絡(luò)模型加速器,通過輕量化網(wǎng)絡(luò)模型,滿足了嵌入式領(lǐng)域的部署要求,然而輕量化后網(wǎng)絡(luò)的精度較低。武世雄等[12]提出了一種基于參數(shù)量化的卷積神經(jīng)網(wǎng)絡(luò)加速器,該加速器對參數(shù)進行了8 bit 定點量化和重新排序,有效減少了內(nèi)存占用和訪存次數(shù),提高了帶寬的利用率,同時該研究采用滑動窗口間并行策略進行加速,提高了圖像分類速度。
上述幾種方案都在FPGA 上對神經(jīng)網(wǎng)絡(luò)進行部署,但是此類加速器均要求對單一網(wǎng)絡(luò)進行硬件上的單一設(shè)計優(yōu)化,靈活性較低,對于非專業(yè)硬件開發(fā)人員來說,開發(fā)難度大、周期較長,難以適應(yīng)快速迭代的神經(jīng)網(wǎng)絡(luò)模型部署。因此,需要一種普適性強、能夠?qū)镜木W(wǎng)絡(luò)模型算子支持、開發(fā)周期短、開發(fā)流程簡潔的神經(jīng)網(wǎng)絡(luò)模型加速方法。
針對上述問題,本文提出了一種基于FPGA+ARM 異構(gòu)平臺的道路交通目標檢測方案,通過增加網(wǎng)絡(luò)檢測層得到改進的YOLOv34L 網(wǎng)絡(luò)來提升模型檢測精度,通過剪枝、量化等方式降低網(wǎng)絡(luò)的參數(shù)和計算量得到YOLOv34Lprune 網(wǎng)絡(luò)來提升檢測速度,在底層硬件端以深度處理單元(Deep LearningProcessing Unit,DPU)為核心,構(gòu)建硬件平臺對卷積運算進行并行加速,在部署環(huán)節(jié)通過Xilinx 公司Vitis AI 平臺進行網(wǎng)絡(luò)量化、編譯、生成執(zhí)行文件等方式對網(wǎng)絡(luò)進行部署,實現(xiàn)了嵌入式平臺道路交通目標檢測設(shè)計。
1 目標檢測算法優(yōu)化
YOLOv3[13]是一種廣泛使用的目標檢測算法,通過回歸的方式檢測目標物體的種類和具體的位置,其檢測精度高、模型大小適中,適合部署到邊緣設(shè)備上。算法原始的3 層特征尺度檢測時部分微小汽車目標以及重疊汽車目標會被漏檢,改進YOLOv34L 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,本文對原始算法結(jié)構(gòu)進行了修改。