






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