顧晨亮,楊 恒,劉友波,張 晗,張 勁,何 凌
(四川大學 電氣工程學院,四川 成都 610065)
隨著近年來我國基礎建設水平的飛速發展,建設項目的規模和復雜性加大,參與方增多,工程項目的風險及管理難度也不斷加大[1]。在施工過程中,工程車輛的不規范活動可能會造成安全距離縮短,容易引起事故,從而帶來巨大的經濟損失或人員傷亡,因此工程車輛的檢測識別是建設施工項目巡檢故障識別中的重要研究內容,具有重要的理論價值和工程應用價值[2]。
傳統方法中對于工程車輛檢測的研究,大多集中在智能監控領域,通過固定攝像機進行圖像或視頻的采集,使用背景差分法、統計模式法等算法來進行工程車輛的檢測[3-5]。以上方法中對于施工車輛的大小、角度、背景等都較為固定,具有一定的應用局限性,泛化能力較差。
近些年,隨著深度學習在計算機視覺領域中迅速的發展,已有部分學者使用基于卷積神經網絡的檢測算法對工程車輛檢測方面進行了探索,王世凱[6]從卷積核尺寸設計、分類器設計等方面對Faster R-CNN[7]進行改進,提出了TN-CNN來對工程車輛進行檢測與識別;李千登等[8]使用Faster R-CNN結合攝影參數與報警規則進行了叉車危險操作行為的檢測。但上述研究中均未考慮工程車輛的遮擋問題,而馮小雨等[9]針對遮擋檢測效果差的問題,提出了局部標注和時空上下文策略,一定程度上降低了遮擋對檢測的影響。
盡管目前已有針對于車型識別的方法,但多是基于交通與停車場等監控覆蓋較為全面的場景[10-12],由于施工工地地形復雜、工程車輛特征相似性較大以及工程車輛相互遮擋等原因,工程車輛檢測識別的難度較大,相關研究仍比較少。因此,本文提出基于自適應局部斥力與歸一化面積損失的工程車輛目標檢測算法,針對遮擋問題與特征相似性進行優化,并結合聚類算法設定初始錨框減少預測框的偏移,從而實現對壓路機、挖掘機、裝載機3類工程車輛的檢測與識別,算法可有助于在復雜、遮擋下的施工場景下對工程車輛進行有效的安全監管。
本文算法采用無人機采集航拍視頻序列為數據集,使用自適應局部斥力損失與歸一化面積損失,并結合聚類算法設定初始錨框減少預測框的偏移。以Faster R-CNN[7]作為基準檢測網絡為例,使用本文提出的多種損失函數與優化算法對工程車輛在圖像中進行3類工程車輛目標區域標定,實現對壓路機、挖掘機、裝載機3類工程車輛的高精度與強魯棒性的自動檢測與識別,算法流程如圖1所示。
圖1 工程車輛目標檢測系統的算法流程Fig.1 Algorithm procedure of target detection system for engineering vehicles
在施工場景下,由于環境的復雜以及車輛的不斷運動,再加上車輛的形態變化與形狀的相似性,導致檢測過程中存在車輛之間的遮擋情況與車輛自身局部特征與全局特征相似的情況。因此,本文針對這2個問題提出自適應局部斥力損失(Self-adaptive Local Exclusion Loss,SCLEL)與歸一化面積損失(Normalized Area Loss,NAL),全局損失函數表達式如式(1)所示:
L=Lbase+α*LSCLEL+β*LNAL
(1)
式中:Lbase為基礎檢測網絡的損失函數,如Faster R-CNN中使用的smoothL1損失函數[7];LSCLEL與LNAL為本文提出的自適應局部斥力損失與歸一化面積損失;α與β為平衡各項損失的權重系數。
在實際應用場景中,由于工程車輛施工區域較為集中,且工程車輛是在不斷運動的,導致在施工作業當中,各工程車輛之間容易相互遮擋,當多個工程車輛相互重疊時,因為目標具有相似的外觀特征,檢測網絡容易將其混淆。因此,待預測的工程車輛的預測框可能會偏移到其他工程車輛,甚至將多個工程車輛都涵蓋,導致不準確的定位。如圖2所示,當工程車輛A與工程車輛B和C有部分重疊時,檢測網絡很容易將其混淆,導致工程車輛A的預測框向工程車輛B和C偏移,致使定位不準確。
圖2 工程車輛遮擋情況示意Fig.2 Schematic diagram of engineering vehicles occlusion
針對以上問題,本文提出自適應局部斥力損失。在自適應局部斥力損失中,要求每個工程車輛預測框遠離其他符合篩選條件的工程車輛的真實矩形框,同時自適應地調節不同情況下的權重系數,將遮擋嚴重的情況賦予更大的損失權重,其表達式如式(2)所示:
(2)
式中:G為工程車輛真實框;P+表示全部的工程車輛正預測框,其定義為與至少1個工程車輛的真實框的IoU(Intersect Over Union)大于0.5的工程車輛預測框的集合,IoU的計算如式(3)所示:
(3)
(4)
IoG(P,G)的含義為工程車輛預測框與工程車輛真實框的交疊程度在工程車輛真實框上的占比[13],其表達式如式(5)所示:
(5)
綜上,自適應局部斥力損失由2個因素組成:遠離其他滿足條件的工程車輛真實框項與自適應調節項。當工程車輛預測框被多個其他工程車輛真實框遮擋時,遠離遮擋程度在閾值條件以上的工程車輛真實框,同時,自適應調節項將遮擋更嚴重的情況給予更大的懲罰,因此,自適應局部斥力損失可以自適應地防止預測框移動到周圍相鄰的遮擋目標上,使得檢測模型對遮擋目標更加魯棒。
為更好地闡述自適應局部斥力損失的機理,圖3為在圖2基礎上,對自適應局部斥力損失的形象化展示。在圖3中,雙向箭頭表示當前訓練圖像下工程車輛A預測框與其他車輛真實框之間的排斥方向,箭頭的長度表示其排斥的力度;單向箭頭表示網絡訓練過程中對工程車輛A的預測框的不同位置的逐漸優化的方向,箭頭的長度表示其網絡對預測框不同位置優化的“力度”。由圖3可知,本文提出的自適應局部斥力損失可在網絡訓練過程中使被檢測的工程車輛在被遮擋的情況下,使預測框與其他的工程車輛真實框相排斥,使其“收縮”到靠近真實框的位置,同時在遮擋越嚴重的情況下,網絡會給予更大的懲罰。
圖3 自適應局部斥力損失的機理示意Fig.3 Schematic diagram of mechanism of self-adaptive local repulsion loss
由于工程車輛存在形態的變化(挖掘手在運動),所以在圖像中會存在局部特征與全局特征相似的問題,這將導致檢測網絡易將工程車輛的一部分當做目標而導致錯誤的檢測。如圖4所示,由于工程車輛D的挖掘手伸展過開,導致挖掘手那部分的特征不明顯,工程車輛D的局部特征與全局特征過于相似,致使檢測網絡的預測框從整體偏移到了局部區域,使定位不準確。
圖4 工程車輛局部性誤檢示意Fig.4 Schematic diagram of local error detection of engineering vehicles
由圖4可以看出,在工程車輛局部特征與全局特征相似的問題中,局部特征區域的面積往往遠遠小于全局面積,所以在本文提出的歸一化面積損失中,要求每個工程車輛預測框與其IoU最大的工程車輛真實框的面積差盡量小,同時為了避免面積差的大幅度跳變導致網絡梯度爆炸,將面積差使用工程車輛真實框面積進行歸一化處理,歸一化面積損失表達式如式(6)所示:
(6)
式中:G代表工程車輛真實框;P代表工程車輛預測框。
歸一化面積損失將學習集中在面積具有相對較大預測誤差的工程車輛上,可對局部特征與全局特征相似的問題進行顯著的改進。
本文選用經典檢測網絡Faster R-CNN作為基準檢測網絡;同時為了在不增加任何成本的情況使網絡的檢測框更精細,使用聚類算法設定初始錨框優化檢測的精準度。
Faster R-CNN[7]作為最經典的二階段目標檢測框架,相比于一階段方法(如YOLO[14]和SSD[15]等)與無錨框方法(如CornerNet[16]和FCOS[17]等),其模塊拆解細致,對輸入進行特征提取再進行區域建議,再微調區域建議網絡輸出的建議框,可解釋性強,針對工業生產可修改空間大,所以本文選擇其作為針對工程車輛的基準檢測網絡。同時,對于一階段方法與無錨框方法,提出的自適應局部斥力與歸一化面積損失函數等方法也可以作為即插即用的模塊擴展到以上方法中。
Faster R-CNN[7]主要由4個部分組成:特征提取網絡(Backbone)、區域建議網絡(Region Proposal Networks,RPN)、RoI Poling層、分類回歸層。
1)特征提取網絡:利用一系列卷積、池化、非線性模塊的組合,從淺至深提取輸入圖像的特征并形成特征圖(Feature Map),為方便闡述,本文選用經典的Resnet50網絡[18]。
2)區域建議網絡:通過預設尺寸與比例的多種錨框進行特征圖滑動并生成多個候選框,采用非極大值抑制[14](Non-Maximum Suppression,NMS)并篩選出N個目標候選區域。
3)RoI Poling層:將每個目標候選區域均勻分成n×n個塊并進行最大池化,得到固定尺度的特征圖候選區域。
4) 分類回歸層:將RoI Pooling層得到的特征向量再輸入全連接層,以判斷特征圖候選區域的類別以及準確位置。
其整體網絡結構如圖5所示。
圖5 Faster R-CNN網絡結構Fig.5 Faster R-CNN network structure
由于施工場地較大,且工程車輛是在不斷運動的,導致遠近工程車輛目標尺度相差較大。在基準檢測網絡中使用固定錨框尺度{1282,2562,5122}(px)對模型進行訓練與預測[7],會導致在工程車輛的檢測中存在部分框回歸偏差的情況。
為了解決遠近工程車輛目標尺度相差較大的問題,本文使用K-Means聚類算法[19]優化初始錨框參數。K-Means算法是一種聚類算法,其核心思想是對于給定的樣本集,按照各樣本間的距離大小,將距離相近的樣本劃分為一類,使類間距離盡量小,類間距離盡量大,共劃分出k類。假設樣本的類劃分為(C1,C2,…,Ck),本文采用歐式距離來度量樣本間的距離,算法目標為最小化平方誤差E,E的計算方法如式(7)所示:
(7)
式中:x為樣本;μi為類Ci的均值向量,也稱為質心,其表達式如式(8)所示:
(8)
本文讀取工程車輛數據集中的所有車輛標注框的長與寬,并計算長寬比,計算標注框的面積,進行K-Means聚類。聚類為5類時,各聚類簇尺度區分明顯,效果較好。長寬尺寸聚類結果、長寬比聚類結果、標注框面積聚類結果如圖6所示。
圖6 多種聚類結果Fig.6 Multiple clustering results
綜合圖6,可知標注框長寬比集中在0.75~2;標注框的面積集中在50 000~700 000 px;再根據聚類結果,所以本文調整初始錨框尺度為{2002,3202,4402,6602,8002}(px),長寬比為{0.5,0.67,1,1.5,2}。
由于目前無完整的關于工程車輛在復雜場景下施工的圖像數據集,需要自行收集數據集。本文的工程車輛數據集是使用大疆無人機在國家電網四川某施工工地采集工程車輛視頻制作的數據集,采用人工標定工程車區域作為標準,篩選出包含完整工程車輛的視頻幀,建立總共2 000張帶有標準標簽的施工車輛大圖數據庫,圖片分辨率為(1 920×1 080)像素,其中訓練集為1 500張,測試集為500張。
本文實驗硬件配置為:GPU:Nvidia TITAN Xp,12G顯存;CPU:Intel E5-2630。軟件平臺為Ubuntu 16.04。
為了驗證本文算法的有效性,使用準確率、mAP值[20]與本文提出的困難場景下的漏檢率(Undetected Rate,UR)、部分檢出率(Partial-detetion Rate,PR)來作為定位的準確評價指標。
4.2.1mAP與準確率
mAP值為每個類別AP值的均值,在本文中有3類工程車輛,則有式(9):
(9)
其中每類工程車輛AP值的計算由其精確率(Precision)與召回率(Recall)確定,精確率是指被識別為某類工程車輛的樣本占真正某類工程車輛樣本的比例;召回率是指被識別出的某類真正工程車輛的樣本占所有某類工程車輛樣本的比重,其計算公式如式(10)所示:
(10)
式中:TP表示被正確識別出的某類工程車輛樣本數;FP表示被誤識別為其他類工程車輛的某類工程車輛樣本數;FN表示未被識別出的某類工程車輛樣本數。對于同一個模型,IoU與置信度是影響精確率與召回率的值的2個關鍵因素[18]。對于不同的IoU閾值與置信度閾值,召回率和精確度會有所變化。本文取IoU閾值為0.7,對于不同置信度閾值,將精確率與召回率分別作為橫、縱坐標,可以得到P-R曲線,曲線與橫、縱軸圍成的面積即為AP值。另外,本文取IoU閾值為0.7下的準確率作為本文的準確率評估指標。
4.2.2 漏檢率與部分檢出率
為了更直觀地驗證本文算法在解決遮擋問題與特征相似性時的有效性,提出困難場景下的漏檢率與部分檢出率2個評價指標來評價算法的性能。
1)對于漏檢率,本文定義漏檢為:對于1個工程車輛真實框G,使用這個真實工程車輛框圖像的所有預測框與其計算IoU,若所有預測框與其IoU都小于0.1,則定義這個真實車輛框存在漏檢情況。其表達式如式(11)所示:
G∈GUs.t.?P,IoU(P,G)<0.1
(11)
式中:GU表示漏檢框的集合;P表示預測框。則漏檢率為所有漏檢的工程車輛真實框數目占所有工程車輛真實框數目的比例,如式(12)所示:
(12)
2)對于部分檢出率,本文定義部分檢出為:對于1個工程車輛真實框G,使用這個真實工程車輛框圖像的所有預測框與其計算IoU,找出與其IoU最大的那個預測框P,若滿足0.1 (13) 式中:各物理量的含義與式(11)一致。則部分檢出率為所有部分檢出的工程車輛真實框數目占所有工程車輛真實框數目的比例,如式(14)所示: (14) 為了進一步驗證本文提出算法的有效性,在本文構建的工程車輛數據集基礎上,分別用基準檢測網絡Faster R-CNN與融合本文提出算法的基準檢測網絡進行訓練與測試,同時進行各個子算法排列的消融實驗,使用測試集進行檢測性能測試對比。實驗的評價結果如表1所示。 由表1可知,融合了本文提出的歸一化面積損失與自適應局部斥力損失的基礎檢測模型在數據庫測試集進行檢測的總體情況在漏檢率、部分檢出率、各類別準確率、mAP指標上均好于其他算法。盡管YOLOv3[14]與SSD[13]算法速度較快,但是其精度較低,而本文算法22 FPS的速度已經能滿足施工場景下的監管需要。同時,由于本文的數據采集來自不同的時間段,可以覆蓋不同的光照場景,所以總體的實驗結果可以代表不同光照下的準確率。按總體實驗結果來看,在不同光照下,本文的算法在mAP指標上達到了91.3%,裝載機的準確率達到88.4%,其余類別工程車輛準確率均超過90%。漏檢率指標尤其能表示工程車輛之間遮擋情況下的模型性能,而在漏檢率指標上,融合了本文提出的歸一化面積損失與自適應局部斥力損失的基礎檢測模型的漏檢率指標超過其他算法近6個百分點,證明了本文提出的自適應局部斥力損失的有效性。部分檢出率指標尤其能表示在工程車輛自身特征相似性較高情況下的模型性能,而在部分檢出率指標上,融合了本文提出的歸一化面積損失與自適應局部斥力損失的基礎檢測模型的部分檢出率指標超過其他算法近4個百分點,證明了本文提出的歸一化面積損失的有效性。 表1 各算法工程車輛目標檢測對比結果Table 1 Comparison results of target detection on engineering vehicles by each algorithm 無遮擋情況下的不同檢測模型目標檢測示意圖如圖7所示,圖7(a)和圖7(b)分別為原始基礎檢測模型與融合本文提出算法的基礎檢測模型的目標檢測定位效果。圖7(a)中,被原始基礎檢測模型將工程車輛的一部分當作目標而導致錯誤的檢測,在圖7(b)中被正確的識別,說明本文所提出的歸一化面積損失,對由于工程車輛局部特征與全局特征相似導致算法易將工程車輛的一部分當作目標導致錯誤的檢測這個問題有了很大的改善。同時,也可看出部分漏檢在融合本文提出的算法基礎檢測模型中被正確的檢測到,有部分框回歸偏差也被修正的更佳,證明了本文改進的聚類、數據增強的有效性。 圖7 2種模型的工程車輛目標檢測結果對比Fig.7 Comparison on target detection results of engineering vehicles by two models 遮擋嚴重情況下的目標檢測示意圖如圖8所示。圖8(a)和圖8(b)分別為遮擋嚴重情況下的原始基礎檢測模型與融合本文提出算法的基礎檢測模型的定位效果。在圖8(a)中,當多個工程車輛相互遮擋時,待預測的工程車輛的預測框偏移到其他工程車輛,甚至將多個工程車輛都涵蓋,而這個問題在圖8(b)中得到了很好的改善,在待預測的工程車輛被遮擋情況下,預測框不會再偏移到其他工程車輛,具有良好的表現,說明本文所提出的自適應局部斥力損失對工程車輛的遮擋問題具有良好的性能。 圖8 遮擋嚴重下的工程車輛目標檢測結果示意Fig.8 Schematic diagram of target detection results of engineering vehicles under severe occlusion 1)針對施工場景下工程車輛易互相遮擋,工程車輛局部特征與全局特征相似以及場景環境復雜的問題,提出一種基于自適應局部斥力與歸一化面積損失的工程車輛的目標檢測算法。 2)以Faster R-CNN為例作為基礎檢測模型,針對遮擋問題與特征相似性設計了自適應局部斥力損失與歸一化面積損失,并結合聚類算法設定初始錨框減少預測框的偏移。 3)實驗結果表明,檢測結果mAP達到91.3%,采用該算法可以很好地解決工程車輛遮擋、工程車輛特征相似以及場景環境復雜3方面問題。4.3 工程車輛目標檢測實驗與分析
5 結論