趙會盼 喬任重 張學軍
摘要:針對在嵌入式平臺上采用深度學習目標檢測識別模型很難在精度和速度之間保持平衡的問題,提出一種基于深度可分離卷積塊和反向特征融合結構的方法對YOLOv3模型進行改進,并通過基于距離的非極大抑制和損失函數的設計(DIoU-NMS和DIoU-Loss),最終實現在快速目標檢測的同時提升了檢測準確率。實驗結果表明,在VOC2007+2012數據集上,實時性滿足79FPS的同時mAP可達到80.22%,并在Jetson AGX Xavier嵌入式平臺進行了測試。
關鍵詞:嵌入式;深度可分離卷積;反向特征融合結構;DIoU
中圖分類號:TP391文獻標志碼:A文章編號:1008-1739(2021)15-55- 6
0引言
隨著自然科學與現代化技術的迅速發展,安防、交通等領域的多樣化需求環境對目標檢測的速度和精度要求越來越高。而由于目標環境復雜、光照情況差異及目標遮擋不同等因素,傳統的檢測技術難以滿足當前社會的現實需求。
深度學習的出現極大程度地促進了相關問題的解決和相關技術的高速發展。神經網絡的相關模型早在上個世紀就被研究者提出,近年來隨著GPU和CUDA的發展,計算機的計算能力得到爆發性提高,卷積神經網絡在計算機視覺目標檢測領域的應用中取得突破性進展。2014年,Ross B.Girshick將CNN用于目標檢測,提出了基于卷積神經網絡的目標檢測算法的開山之作———R-CNN算法;2015年,Girshick提出了Fast R-CNN,同年Ren等人[1]提出了Faster R-CNN,并提出RPN算法,進一步減少了檢測識別的時間開銷。在此基礎上,后續學者提出了RFCN、Mask R-CNN等two-stage目標檢測框架,需要首先生成候選區域,在其基礎上進行分類判斷和位置計算。另一類檢測識別框架直接得到目標的位置坐標以及類別概率,稱為one-stage目標檢測框架。2015年,Redmon等人提出YOLO框架,直接將目標檢測問題轉化成一個回歸問題,檢測過程無區域生成步驟,速度非???2016年,劉偉等人集成RPN、YOLO及多尺度思想,提出了SDD算法,改善了YOLO定位準確性低的問題;YOLO研究團隊[2]于2017年推出了YOLO v2版本,于2018年提出了YOLO v3,在準確度和速度上均取得了較大突破。
然而,現有卷積神經網絡不能很好地適應現今的智能移動端設備,尤其是在目標檢測這類復雜度較高的任務中,算力和內存空間成為模型在移動端部署的兩大瓶頸。因此,最近的很多研究成果旨在減少模型計算量和模型參數,然而,目標檢測模型通常輸入分辨率較大,同時網絡結構較復雜,還可能包括多個輸入以及一些后處理,這些都對目標檢測技術應用于嵌入式平臺提出了更高的要求。
本文提出一種基于嵌入式平臺的輕量化目標檢測識別方法,以YOLOv3模型為基礎,采用深度可分離卷積代替全卷積,減少模型整體參數量;采用反向特征融合結構,提升檢測性能;采用基于距離的非極大抑制方法,優化邊界框的回歸并在模型訓練過程中采用基于距離的邊界框回歸損失函數,提升模型訓練效率,并最終應用于嵌入式平臺,在滿足目標檢測器實時性要求的前提下,有效提高了檢測準確率。
1模型整體架構
輕量化的網絡模型旨在保持模型精度的基礎上進一步減少模型參數量和復雜度,一般通過網絡結構設計和模型壓縮2種方法實現。本文以設計一種輕量化深度學習網絡實現,模型結構如圖1所示。該模型的特征提取網絡以Darknet53網絡為基礎,借鑒MobileNetv2主干網絡來進行輕量化設計,稱為MobileDarknet。其中,MobileNetv2是專為移動端設計的小型網絡[3],通過深度可分離卷積塊大大減少計算量的同時,保持了很高的準確率,且對硬件資源較為友好,在ImageNet公共數據集上達到了72.0%的Top-1準確率。
在特征提取網絡MobileDarknet的后面,使用了改進后的特征金字塔網絡(Feature Parymid Network,FPN)進行特征融合[4],且為了降低計算量,將網絡中所有的3×3全卷積層替換為3×3的逐通道卷積與1×1的逐點卷積的組合。改進后的特征金字塔網絡增加了一個反向特征融合結構[5-6],如果模型輸入為416×416的3通道可見光圖片,經過特征提取網絡后輸入到改進特征金字塔網絡的3種有效特征圖的尺度分別為下采樣8倍,16倍,32倍的52×52,26×26,13×13大小的特征圖,反向特征融合結構將經過FPN的特征圖再進行反向下采樣,最后使上采樣和下采樣的各層特征圖進行融合,這樣得到的特征圖中就充分融合了低層特征圖的空間信息和高層特征圖的語義信息,即加強了多尺度特征信息的融合,對檢測精度有較大提升。
將經過解碼的3個檢測頭預測的檢測框位置和類別信息通過基于距離的非極大值抑制進行篩選,最終獲得檢測結果。
2深度可分離卷積塊設計
2.1深度可分離卷積原理
標準的卷積塊操作實現了通道相關性和空間相關性的聯合映射。深度可分離卷積塊主要是以逐通道卷積和逐點卷積組成,將標準卷積結構進行了拆分,分為逐通道卷積和逐點卷積,其背后的理論假設為:卷積層通道間的相關性和空間相關性是可以退耦合的,將它們分開映射,能更好地降低網絡的參數量,原理圖如圖2所示。
2.2逆置殘差結構
由于采用深度可分離卷積不可避免地帶來特征信息的損失,為了模型學習目標特征的能力有更好的保證,本文借鑒ResNet的思想,將每個深度可分離卷積塊加入逆置殘差結構。逆置殘差結構的思想是,先將較小的特征圖采用逐點卷積升維,即擴大特征圖增加特征通道數,再通過逐通道卷積進行特征提取,獲得更豐富的目標特征,最后用逐點卷積降維,即壓縮特征圖減小通道數。這樣深度可分離卷積塊在輸入和輸出端的參數量不多,同時也保證了逐通道卷積有較多可提取的目標特征信息。
2.3線性卷積層
通常情況下,在每個卷積層后面都會使用非線性激活函數ReLU,增加特征稀疏性來提高特征的魯棒性,但如果利用多層非線性激活有可能產生過度稀疏,使模型學不到有效特征,尤其是在低維空間通道數較少時。因此,為了避免特征的破壞,在每個深度可分離卷積塊的最后一層設置為線性卷積層,且每個線性卷積層之間采用跳連,促進數據在層間的流動并進行線性映射保護特征。
整體上來說,深度可分離卷積塊在整個實時性和準確率之間做了很好的權衡。標準全卷積塊和深度可分離卷積塊的結構對比,如圖3所示。
3反向特征融合結構改進設計
在傳統的特征金字塔網絡中,一般將特征提取網絡中生成的不同尺度特征圖作為輸入,如圖4中的特征圖1、特征圖2和特征圖3,接著進行自上而下的單向融合再輸出,融合后對應的3種特征圖尺度沒有改變,但是特征圖中包含的信息更加豐富。為了加強特征圖中包含的特征信息,以達到提升檢測準確率的目的,改進后的特征金字塔網絡增加了反向特征融合結構,即增加一個自下而上的反向融合過程,并將自上而下的過程與自下而上的過程通過融合中間層來連接,簡化了自上而下的過程,一定程度上加快了網絡的推理速度。在融合過程中,融合中間層包含有效特征層3的高層語義信息和有效特征層2的較低層的空間和輪廓信息,融合過程沒有引入過多的復雜計算參數,而是采用concate作各特征圖的通道拼接,且FPN+反向特征融合結構各層之間的融合都是采用concate操作。除此之外,為了降低模型參數量,所有的卷積都以深度可分離卷積代替。FPN+反向特征融合結構如圖4所示。
4基于距離的非極大抑制和邊界框回歸損失函數
4.1基于距離的非極大抑制方法
與DIoU-NMS不同的是,DIoU-Loss懲罰項中為真實框的中心點,為預測框的中心點。
5實驗分析
5.1硬件平臺
本模型實驗分析過程分為模型訓練過程和實際性能測試過程。其中,模型訓練過程在服務器完成,深度學習框架為Pytorch;模型實際性能測試環境為NVIDIA公司的嵌入式GPU設備Jetson AGX Xavier,具體硬件平臺配置信息如表1所示。
5.2數據集的選擇和先驗框的設置
本模型以VOC2007+2012數據集為基礎進行訓練并測試,且在原有的20類目標中增加并標注了一類卡車(truck)以應對實際場景中具體類別的區分,PASCAL VOC挑戰賽(The PASCAL Visual Object Classes)是一個世界級的計算機視覺挑戰賽。很多優秀的計算機視覺模型比如分類、定位、檢測、分割和動作識別等模型都是基于PASCAL VOC挑戰賽及其數據集推出的,尤其是一些經典目標檢測模型。針對增擴后的VOC數據集,需要通過均值聚類算法來獲取先驗框的大小參數,有助于減小先驗框和預測邊界框的偏移量,提高檢出率。均值聚類的過程可描述為:①選取個樣本作為聚類中心;②計算各樣本與各個聚類中心的距離;③將各樣本回歸于與之距離最近的聚類中心;④求各個類的樣本的均值,作為新的聚類中心;⑤判定,聚類中心不再發生變動或達到迭代次數,算法結束,否則回到②。
除此之外,模型訓練采用了遷移學習的方法,將預訓練的特征提取網絡進行遷移,獲得已經訓練好的網絡參數,加載到目標檢測網絡上,使其擁有能夠識別底層通用特征的能力,在一定程度上節約了訓練時間,降低欠擬合和過擬合的風險。
5.3模型性能對比
表2是本模型與經典的深度學習目標檢測算法的對比,實驗結果表明,與基準模型YOLOv3相比,更換主干網絡并引入深度可分離卷積降低了近6倍的模型整體參數量,檢測速度相比YOLOv3提高了34FPS;采用反向特征融合結構和基于距離的非極大抑制方法,在沒有引入過多參數的同時完成對模型檢測準確率2%的提高。整體來看,在檢測準確率方面,本模型的mAP達到了80.22%,與其他模型相比是最高的,排在第2位的是Faster RCNN,屬于雙階段目標檢測模型,一般來講雙階段模型的檢測準確率更高但在實時性上較難達到應用要求;在檢測速度和模型參數量方面,YOLOv3-tiny表現最好,但是準確率與本模型的mAP相差15%,很大程度上會造成對目標的漏檢和誤檢。總體上講,本算法在檢測準確率和檢測實時性方面都達到了很好的效果[8]。
表3是幾種不同類別的檢測準確率對比,由表可以看到,本模型對于人(person)和汽車(car)類別的檢測準確率與基準模型(YOLOv3)持平,在其他類別上的檢測準確率高出基準模型0.03~0.06。且在表中展示的不同類別中,本模型的檢測準確率均達到85%及以上,表現出本模型對于不同類型的目標仍有較好的檢測效果。
5.4實際場景測試
為了驗證模型在實際中復雜場景的檢測性能和整體的泛化能力,從項目實際采集的數據集中抽取了3個典型場景在嵌入式設備上進行了測試。圖6為密集目標場景下的檢測效果,可以看到,人、汽車和卡車都能得到較好的檢出,且對分布在圖像邊緣的小目標也有很好的檢測效果;圖7為物體遮擋情況下的檢測效果,可以看到,不管對于汽車和卡車之間的遮擋還是樹對卡車的遮擋的情況下,都能夠有很好的檢測效果;圖8是有較大背景干擾的檢測效果,可以看到,在廣闊的農田背景下,汽車的檢測對于檢測任務有一定的難度,但本模型仍能夠檢測準確,所以從整體上講,模型的泛化能力達到了在實際場景應用的基本要求。
6結束語
目標檢測是近年來計算機視覺發展的一個流行方向,在諸多領域都有較成功的應用。但是隨著社會的發展和科技的進步,技術也需要不斷迭代和更新來滿足各種場景需求,如在實際場景中,往往對檢測模型提出了兼顧檢測實時性和準確率的要求。為了在嵌入式平臺上達到應用需求,設計了一種輕量化的目標檢測識別模型,以達到快速準確的檢測識別效果。
本文設計的模型以YOLOv3的架構為基礎,采用基于深度可分離卷積塊和反向特征融合結構的方法對模型進行改進,并通過基于距離的非極大抑制(DIOU-NMS)進行檢測框篩選,最終獲得更加準確檢測結果,訓練過程采用的邊界框損失函數是DIOU-Loss,提升了模型的訓練效果。以公共目標檢測數據集VOC為基準,本模型同經典的目標檢測模型進行了對比,實驗結果表明在檢測速度和檢測準確率上都取得了較為出色的表現。最后在嵌入式平臺上進行了測試,在項目內部數據集的不同場景下都表現出了很好的魯棒性,且表現出很好的泛化能力。
參考文獻
[1] REN SQ,HE KM,GIRSHICK R,et al. Faster R-CNN: Towards Real-time Object Detection With Region Proposal Wetworks[J]. IEEE Trans Pattern Anal Mach Intell,2017,39(6):1137-1149.
[2] REDMON J,FARHADI A.YOLOv3: An Incremental Improvement[J]. arXiv 2018,arxiv:1804.02767.
[3] SANDLER M, HOWARD A, ZHU Menglong L, et al. MobileNetV2: Inverted Residuals and Linear Bottle-enecks[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City: IEEE,2018:4510-4520.
[4] LIN T Y, DOLLAR P, GIRSHICK R, et al.Feature Pyramid Networks for Object Detection [C]//IEEE Conference on Computer Vision and Pattern Recognition.Honolulu: IEEE, 2017:936-944.
[5] LIU S, QI L, QIN H F, et al. Path Aggregation Network for Instance Segmentation[C]//In Proceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition(CVPR). Salt Lake City: IEEE, 2018: 8759-8768.
[6] TAN M X , PANG R M , LE V Q . EfficientDet : Scalable and Efficient Object Detection[C]//In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Seattle: IEEE, 2020: 1-10.
[7] ZHENG Z H , WANG P , LIU W , et al. Distance-IoU Loss: Faster and BetterLearning for Bounding Box Regression. In Proceedings of the AAAI Conference on Artificial Intelligence(AAAI) [S.l.]: [s.n.]2020: 1-10.
[8] LIU W, ANGUELOV D, ERHAN D, et al. Ssd: Single Shot Multibox Detector[C]// In European Conference on Computer Vision . Amsterdam: ECCV, 2016: 5-15.