林朝俊 石 英
(武漢理工大學自動化學院 武漢 430070)
環境感知是無人駕駛系統和智能交通研究的重要內容,直接影響運動控制和決策[1].近年來,深度R-CNN神經網絡憑借其魯棒性同時具有高精度的特點,被廣泛應用于城市道路環境識別和行人檢測[2].
最早的卷積神經網絡模型AlexNet在ILSVRC比賽奪冠的卷積神經網絡后,因其較高的分類精度和強大的泛化性能,卷積神經網絡得到了學術界和工業界的關注并快速發展[3].VGG系列神經網絡延續了AlexNet的結構,直接堆疊卷積層以獲得更高精度[4].ResNet殘差網絡的出現,通過添加恒等快捷連接構建的bottleneck結構,神經網絡的深度受限和梯度消失問題才得到較好解決[5].DenseNet在ResNet的基礎上進一步添加更多恒等快捷連接并提高特征提取維度,犧牲運算速度以獲取更高的精度[6].ResNeXt則從卷積網絡的寬度出發,逐層融合多個并行ResNet提取的特征,進一步提高了特征提取能力和檢測精度[7].算法的實時性在工業應用場景往往比精度更加重要,MobileNet提出的深度可分離卷積將標準卷積分為逐通道卷積和逐點卷積,極大地減少了卷積層參數并有效地提高了特征提取速度[8].
得益于卷積神經網絡的快速發展,計算機視覺任務從最初的單純分類任務逐步拓展到目標識別任務和實例分割任務.最初的Fast R-CNN網絡奠定了R-CNN系列網絡的兩階段(two-stage)檢測結構基礎.緊接著,Faster R-CNN網絡更進一步提出了區域提議網絡(region proposal network, RPN),通過神經網絡獲得感興趣區域.為了更好地定位和識別圖像目標,Lin等[9]提出了特征圖像金字塔(feature pyramid networks, FPN),提出了多尺度特征融合和分層目標檢測思想,被廣泛用于幾乎所有種類的卷積神經網絡.作為集大成者,He等[10]提出的Mask R-CNN網絡結合了Faster R-CNN網絡的兩階段檢測結構和FCN網絡的語義分割思想,實現了極高精度的目標檢測效果.
兩階段目標識別算法雖然具有較高精度,然而其推理速度太慢以至于難以應用于城市道路環境目標檢測中.為了更高的速度,YOLO和SSD[11]建立了單階段目標識別框架,在極高的推理速度同時保持了較高的精度.其后的YOLOv2及YOLOv3在此基礎上進一步改進了錨定框(anchor)的設置方法,進一步提高了算法精度并保持較高的精度[12].近年來,無錨定框(anchor-free)算法快速發展,涌現了如FCOS等[13]無需手工設計anchor的目標檢測算法,通過以標志點表示anchor的建模方式極大地降低了預設anchor的運算速度開銷并且保持了較高的精度.
國內同時也涌現出大量研究把相應算法應用到智能交通領域,如文獻[14]基于YOLO設計了一種車輛實時檢測方法.文獻[15]用卷積神經網絡判斷駕駛人疲勞狀態.
針對于城市道路場景下算法推理速度盡可能快的需求,文中選擇基于當前先進的FCOS檢測框架設計城市道路環境識別算法,同時引入深度可分離卷積并采用MobileNet-v2作為特征提取骨干網絡以盡可能提高算法推理速度.同時本文針對Cityscapes數據集中小目標遠遠多于大目標的特點,刪減了FPN的頂層并改進了FCOS的目標分層檢測算法,進一步提高了本文設計網絡的實時性,構建了一個適用于城市道路環境實時識別的神經網絡算法.
FCOS為當前先進的anchor-free檢測網絡,通過骨干網絡提取特征,結合FPN特征分層識別方法分層回歸目標包圍框(bounding box, Bbox),具有實時性高、超參數少的特點,適用于快速目標檢測任務.在相同精度條件下,FCOS具有最簡潔的網絡框架及相對極高的精度,本文選擇其作為基礎框架.
文中提出圖1的基于FCOS的速度優化算法的網絡結構,設計包括:選擇MobileNet-v2作為特征提取網絡,快速提取輸入城市道路圖像的行人、車輛等目標的特征;緊接著通過FPN特征金字塔進一步融合多尺度特征,增強低層特征的語義信息;而后提取FPN每一層特征進行密集預測,從邊框回歸分支獲得目標預測Bbox輸出,同時通過Center-ness和類別預測分支輸出預測框得分以去除低質量的預測框.
圖1 快速道路環境目標檢測算法框架結構圖
FCOS為當前先進的anchor-free檢測網絡,其架構沿用了RetinaNet[16]算法的結構,通過ResNet殘差網絡提取特征,結合FPN特征分層識別方法分層回歸目標包圍框(bounding box, Bbox).特別是其提出的以中心點表示錨定框的建模方式,有效地避免了手工設計錨定框可能導致的不合理和冗余,極大地簡化了檢測網絡結構.
傳統的RPN網絡設置錨定框的長寬比例設計為1∶1、2∶1和1∶2,然而大部分城市道路環境中的行人目標長寬比例約在3∶1至4∶1,因此小尺度的包圍框無法完全框住行人目標,導致行人的識別率較低,而大尺度的包圍框則會框住多個行人目標,導致多個行人的密集型目標無法區分而識別為一個行人.與行人目標偏長的特點相反,大部分車輛的長寬比例在2∶1以內.手工設計的錨定框難以兼顧兩種不同檢測目標,限制了檢測精度提高.
選擇以FCOS為基礎設計城市道路環境目標檢測算法,擯棄了錨定框的先驗知識需求和錨定框的長寬比例、數量等超參數設計,有效簡化了算法模型結構同時極大地提高了算法實時性.同時得益于FCOS的逐像素預測中心點和包圍框策略,本文算法生成的預測包圍框數量遠遠小于基于預設錨定框的RPN網絡,然而包圍框的質量更高,有效提高了城市道路環境如遠距離行人和車輛等小目標的召回率,進而提高了網絡整體對城市道路環境多類別目標的平均識別精度(Bbox mAP).
神經網絡算法自誕生起,一直因其運算量極大、參數量過多而深受詬病.
圖2a)為一個輸入維度為Cin、長為H、寬為W的輸入特征圖,標準卷積層需要對輸入特征的每一個維度進行特征提取并通過逐元素相加融合特征以得到輸出特征圖的一個維度.因此,對每一個卷積層而言,其參數總數為
Parst=DF·DF·Cin·Cout
(1)
式中:Parst為一個標準卷積層的參數量;DF為卷積層內每一個濾波器的尺寸,對于3×3卷積層DF=3;Cin為輸入特征圖的維度;Cout為輸出特征圖的維度.
而深度可分離卷積將標準卷積的運算過程分為單通道特征提取和多通道特征聚合兩部分,將單通道特征提取過程稱作逐通道卷積(depthwise convolution),將多通道特征聚合過程提取稱作逐點卷積(pointwise convolution),見圖2b).標準卷積層輸出的每一個通道對應輸入特征所有通道的一次特征提取和一次多通道特征聚合,輸出特征圖的不同通道之間的特征提取和特征聚合均完全獨立.而深度可分離卷積將特征提取過程單獨分離出標準卷積作為逐通道卷積,也即僅對輸入特征圖的每個通道進行一次特征提取,而后的多通道特征聚合過程則共享逐通道卷積得到的逐通道特征,其參數量分別為
3.1 量表漢化過程 本研究嚴格按照量表引進原則對英文版N-QOL進行漢化,對源量表及中文版量表進行比較、分析后基本實現了語義及內容的對等性。研究者運用標準化指導語對預試驗對象進行指導后,對象能夠準確理解各條目的含義并根據自身實際情況作答。
圖2 卷積運算示意圖
Pard=DF·DF·Cin
(2)
Parp=Cin·Cout
(3)
式中:Pard為一個逐通道卷積層的參數量;Parp為一個逐點卷積層的參數量.
深度可分離卷積通過對卷積層特征提取操作的分割,有效減少了參數量和卷積運算量,極大地降低了網絡運行所需硬件資源.本文使用基于深度可分離卷積設計的MobileNet-v2作為特征提取骨干網絡,壓縮網絡模型文件大小的同時極大提升了算法的運行速度.
FPN的自頂向下特征融合結構廣泛應用于目標檢測網絡,尤其是FPN提出的大小目標分層識別方法,被廣泛應用于anchor-free目標檢測框架中.
在城市道路環境中,普遍行人目標為密度大的小目標,而車輛類目標相對多為較大目標.選擇在低層特征圖識別行人等小目標,在高層特征圖識別車輛等大目標,能有效提高城市道路環境中目標識別精度.
FCOS針對MS COCO數據集的目標尺度特點,選擇在FPN的P3層分別檢測對應原圖像素面積為[0,642]的目標,在P4層檢測面積為[642,1 282]的目標,在P5層檢測面積為[1 282,2 562]的目標,在P6層檢測面積為[2 562,5 122]的目標,在P7層檢測面積為[5 122,∞]的目標.
針對城市道路環境圖像數據集Cityscapes中大目標相對少的特點,文中選擇刪除FPN的頂層P7層,壓縮特征金字塔FPN從5層減少至4層.并且進一步改進目標分層檢測方案為:在FPN的P3層分別檢測對應原圖像素面積為[0,962]的目標,在P4層檢測面積為[962,1 922]的目標,在P5層檢測面積為[1 922,4 802]的目標在P6層檢測面積為[4 802,∞]的目標.
現有的目標檢測算法多沿用Mask R-CNN使用的設置,將輸入圖片的長寬尺寸限制為最短邊800 px,最長邊1 333 px[17].對于分辨率均為1 024×2 048的Cityscapes數據集高清圖像,該設置的長寬比極大限制了城市道路行人和車輛的正常識別,并且讓本已分辨率很低的行人目標的分辨率進一步降低而更難識別.
為配合文中提出的壓縮特征金字塔及目標分層檢測方案,權衡算法運行速度和識別精度后,選擇設置輸入圖片的尺度為800×1 600,既保持了Cityscapes數據集的訓練樣本圖像長寬比,同時保證了城市道路的車輛與行人目標的分辨率足以讓網絡檢測并識別.在該輸入尺度下,僅有部分大型卡車目標和少量近景小汽車的分辨率高于4 802,有效地保證了FPN的每一層得到充分利用.
實驗電腦配置CPU為六核十二線程Intel i7-8700k,GPU為一個NVIDIA GTX 1080.選擇maskrcnn-benchmark代碼作為基準代碼,代碼運行軟件環境為Windows 10系統,python版本為3.6.7,軟件框架為pytorch 1.3.
實驗選取Cityscapes數據集的train文件夾下的2 975張帶有精細標注的圖像作為訓練集,以val文件夾下的500個具有精細注釋的圖像作為驗證集評估訓練完畢的網絡模型.設置batch_size為1,最大迭代次數為192 000次,并且每2 000次迭代保存一次網絡權重模型,選擇評估指標mAP最高的模型作為最終評估結果.此外,設置訓練中使用隨機梯度下降優化器,學習率設置為0.002 5,權重更新動量設置為0.9,權重衰減系數設置為0.001.
由于Cityscapes數據集的評價mAP算法對預測框與真值框的交并比(IoU)要求低,mAP評價結果相對其他評價算法虛高約5%至15%.因此本文實驗采用COCO數據集規定的最嚴格的mAP評價算法,計算IoU從0.5每隔0.05取至0.95的mAP再取平均得到Bbox mAP,作為本文評價城市道路環境識別目標算法的識別精度標準.其中,評價指標AP50、AP75、APm、APl分別表示預測框與真值框的IoU大于0.50的mAP、IoU大于0.75的mAP、面積大于322小于962目標的mAP、面積大于962目標的mAP.
基于控制變量法,在固定其余條件不變時分別分析輸入圖像分辨率優化和壓縮FPN對算法精度的影響.
表1為使用ResNet-50與使用MobileNet-v2作為特征的提取網絡,在輸入圖像分辨率為較低的800×1 312時對檢測精度的影響較小.在Bbox mAP指標上MobileNet-v2僅比ResNet-50低了0.006,然而對于實際應用中更有意義的AP50指標,使用MobileNet-v2時可達0.459,比使用ResNet-50的0.454略高,表明在實際應用中,特別是對精度要求較低的場景,使用MobileNet-v2可以獲得更高的粗定位精度和可達每幀0.049 s的處理速度.
表1 輸入圖像分辨率優化精度比對表
對比輸入圖像分辨率為800×1 312和800×1 600的目標檢測精度和速度,更合理的輸入圖像分辨率800×1 600極大地提高了算法的精度,對于ResNet-50精度可提升至0.283,對于MobileNet-v2精度可提升至0.268.同時更高的分辨率讓算法運行耗時翻倍,ResNet-50的耗時達0.131 s/img,而MobileNet-v2的耗時增幅較小,僅為0.095 s/img,在速度上提上了37.9%.同時對于AP50指標,ResNet-50與MobileNet-v2的精度分別為0.512和0.492,MobileNet-v2僅相對降低了精度4.06%.
由表1可知,對于數據集Cityscapes,精度的主要影響因素是輸入圖像分辨率而非骨干網絡的選擇,而算法運行速度的主要影響因素則為骨干網絡的選擇.選用MobileNet-v2可以極大的降低算法運行耗時并且對精度的減益較小,對于城市道路環境下的目標檢測任務,選擇MobileNet-v2作為特征提取骨干網絡并采用高分辨率的800×1 600輸入圖像,可以很好地達到精度和運算速度的均衡.
文中簡稱第2章提出的刪減FPN最頂層和優化的FPN目標分層檢測策略為壓縮FPN.表2為壓縮FPN精度比對表.
表2 壓縮FPN精度比對表
由表2可知,使用第2章提出的壓縮FPN可以較穩定地降低算法運行耗時,在采用MobileNet-v2和壓縮FPN時運行速度可達0.093 s/img同時Bbox mAP可達0.265.在所有五項檢測精度評價指標上,使用壓縮FPN與無壓縮FPN的差別不大,特別是對于使用MobileNet-v2的情況,所有五項評價指標的數據差別均小于2%.然而對于使用ResNet-50的情況,使用壓縮FPN對精度影響較大,導致Bbox mAP從0.283下降至0.272,APl從0.481大幅下降從至0.420,表明本文壓縮FPN和優化FPN分層檢測方案不適合與ResNet-50同時使用,然而結合MobileNet-v2使用時能很好地提高運行速度并對精度影響極小.
與現有的先進目標檢測算法進行對比,見表3.文中算法在速度和精度上能取得更好的均衡.對于文中采用MobileNet-v2和壓縮FPN改進的城市道路環境目標識別算法,若追求更高的運行速度可設置輸入圖像分辨率為800×1 312,此時每幀圖像檢測耗時僅0.049 s;若在有限運行時間條件下,設置輸入分辨率800×1 600可獲得達0.265的Bbox mAP.
表3 目標檢測算法性能比對表
相比精度較高的Mask R-CNN和CenterMask算法,本文改進算法具有明顯的速度優勢;對比運行速度較快的RetinaNet和作為改進基礎的FCOS,本文算法明顯具有更低的運行耗時.本文算法更好地在速度和精度間取得了均衡.
文中基于anchor-free的FCOS檢測網絡構建了城市道路環境快速目標檢測算法,引入了深度可分離卷積,壓縮了FPN層數,優化了目標分層識別方法,在速度和精度間取得了很好的均衡.針對城市道路環境目標檢測任務對實時性要求高的特點,文中使用了深度可分離卷積降低網絡參數量.針對城市道路環境圖像的分辨率特點,分析了輸入圖像分辨率的選擇方法,采用了更優的輸入分辨率.針對特征金字塔頂層特征利用率低的特點,同時結合深度可分離卷積的性能表現,優化了目標分層識別的分辨率檢測范圍,在幾乎對檢測精度無損的同時進一步降低了算法運行耗時.最后給出了運行速度特化的低分辨率檢測方案和精度與速度更均衡的高分辨率檢測方案,適合依據實際城市道路場景的需求選擇使用.