劉 均,杜雪瑞
(東北石油大學 電氣信息工程學院,黑龍江 大慶 163318)
目前,深度卷積神經(jīng)網(wǎng)絡廣泛應用于圖像識別與目標檢測,而加油站生產(chǎn)安全問題始終是社會關注度極高的問題,如果工作人員安全意識淺薄,不合理佩戴安全帽,滅火裝置擺放不規(guī)范,可能引發(fā)嚴重的安全生產(chǎn)事故。因此,基于加油站安全生產(chǎn)和人員的安全考慮,越來越多的加油站開始規(guī)范生產(chǎn)安全制度,要求人員在卸油生產(chǎn)時佩戴安全帽。由于加油站生產(chǎn)作業(yè)環(huán)境繁雜,所以肉眼觀測等方式容易出現(xiàn)紕漏。為強化對卸油作業(yè)現(xiàn)場的監(jiān)管力度,考慮將機器視覺應用其中,以提高監(jiān)管效率,避免安全事故發(fā)生。加油站的卸油檢測方法已經(jīng)成為構建生產(chǎn)安全的一項重要技術,并且其在建筑工地、煤礦、變電站等實際場景中有廣泛需求。
深度卷積神經(jīng)網(wǎng)絡由于能自主從大量樣本的目標學習特征中,提取關鍵信息,無需預處理,因而可學習更廣義的特征。近年來,基于卷積神經(jīng)網(wǎng)絡的目標檢測算法主要劃分為兩類,一類是基于目標候選框思想的two-stage,另一類是基于回歸思想的one-stage。two-stage算法首先提取感興趣區(qū)域特征,然后采用分類器定位位置,如Fast R-CNN[1],Faster R-CNN等。其中基于區(qū)域進行目標識別,雖然定位精度更高,但存在檢測速度慢的缺點。而one-stage算法利用整張圖片作為網(wǎng)絡的輸入,直接在輸出層回歸檢測框的位置和檢測框所屬的類別,具有更快的檢測速度,如SSD(Single Shot multibox Detector)、YOLO(You Only Look Once)、YOLOv2等。Redmon等[2]在2018年提出了YOLOv2的改進版YOLOv3,通過在骨干網(wǎng)絡中引入殘差思想,有助于更好地訓練模型,提升網(wǎng)絡的學習能力。
與傳統(tǒng)的神經(jīng)網(wǎng)絡相比,由于YOLO[3]系列網(wǎng)絡在檢測速度方面具有優(yōu)勢,所以廣泛應用于工業(yè)領域。但面對卸油人員的違規(guī)操作,卸油安全無法保證等因素,通過增加網(wǎng)絡規(guī)模的方法雖然能提高檢測精度,但增大了對設備性能的要求,給大規(guī)模部署帶來了困難,因此難以滿足加油站場景的需要。筆者選用YOLOv3[2]作為基礎模型,在該模型上做進一步改進。通過引入RFB(Receptive Field Block)模塊解決模型感受野不足的問題,通過加入CSP(Cross Stage Partial)網(wǎng)絡降低參數(shù)量并保持檢測精度,更有利于模型的訓練。實驗結果表明,筆者提出的兩種目標檢測算法YOLOv3-CR和YOLOv3-CRS具有較好的檢測性能,可為加油站安全、作業(yè)生產(chǎn)提供有效的輔助技術支持。
YOLOv3是一個端到端的深度神經(jīng)網(wǎng)絡模型,其網(wǎng)絡結構如圖1所示,主要由Darknet-53作為基礎特征提取網(wǎng)絡,Darknet-53網(wǎng)絡內包含大量的殘差結構,有助于更好地訓練模型;為了能使低層和高層信息進行交互,在網(wǎng)絡模型頸部引入特征金字塔FPN(Feature Pyramid Network)[4],提升網(wǎng)絡的定位精度。在 YOLOv3模型中,舍棄了池化層,保留了卷積層,通過調節(jié)卷積步長控制輸出特征圖的尺寸,將淺層特征與深層特征進行融合,使淺層特征也擁有豐富的語義信息[5]。在訓練過程中對每幅輸入尺寸416×416的圖像,YOLOv3模型會分別預測得到13×13、26×26、52×52不同尺度大小的特征圖。
圖1 YOLOv3網(wǎng)絡結構Fig.1 YOLOv3 network structure
雖然YOLOv3使用了FPN結構進行多尺度檢測,但面對加油站場景監(jiān)管難度大,目標尺度不均等問題,原始YOLOv3并不能滿足實際需要,而且容易受到復雜場景的干擾,導致檢測邊界框定位誤差較大,造成小目標檢測效果不好。
空洞卷積(Dilated Convolution)[6]可在保證特征圖分辨率不下降、網(wǎng)絡參數(shù)量不增加的情況下,增大卷積操作的感受野,有效捕獲多尺度特征信息??斩淳矸e是在普通卷積處理數(shù)據(jù)的過程中注入不同數(shù)量的間隔,間隔的數(shù)量用擴張率(dilation Rate)[7]表示,普通卷積相當于擴張率為1的空洞卷積。圖2給出了擴張率分別為1、2、3的空洞卷積過程。
圖2 不同擴張率的空洞卷積Fig.2 The empty convolution of different expansion rates
感受視野(Respective Field)[8]指特征圖中某單元在輸入圖像上所映射的一塊區(qū)域,其大小與卷積層的參數(shù)、網(wǎng)絡深度有關。在加油站作業(yè)檢測場景中,不同種類的目標普遍存在較大的尺寸差異,而同一種目標也會因為監(jiān)控攝像頭的拍攝角度不同,產(chǎn)生不同的尺寸。YOLOv3雖然憑借FPN結構而具有3個感受視野尺度,但仍較難匹配卸油場景中各尺寸的目標,因為淺層特征分辨率高,具有豐富的空間細節(jié),對位置信息更敏感[9],但感受野小卻無法包含足夠的上下文信息。對此,筆者參考RFBNet[10],在YOLOv3中引入多尺度感受視野模塊RFB。
圖3 RFB與RFBS結構圖Fig.3 RFB and RFBS structure drawing
由于性能較高的目標檢測器計算非常復雜,并且YOLOv3檢測器模型精確度也需要進一步提高,而RFB模塊解決了上述問題[11],通過模擬人類視覺系統(tǒng)感受野特點,加上人為設計的部分而不是頑固地加深模型,有效增大了感受視野,加強了網(wǎng)絡特征提取能力。其網(wǎng)絡結構與Inception[12]的多分支結構非常相似,主要是在Inception基礎上增加了空洞卷積層。RFB模塊建立感受視野與離心率之間的關系,以增強網(wǎng)絡特征提取的魯棒性和可區(qū)分性。如圖3a所示,RFB模塊的每個分支都是由普通卷積和空洞卷積組成,不同分支之間包含了不同尺寸卷積核的普通卷積層,以及空洞卷積層。各分支之間的差異會產(chǎn)生兩種效果,不同尺寸普通卷積層會形成不同的基礎感受視野,不同擴張率的空洞卷積會使基礎感受視野得到不同程度的擴大。RFB最后將不同分支的輸出特征圖以Concat方式進行拼接,再與原特征圖相加,提高YOLOv3網(wǎng)絡對各尺寸待檢測目標進行匹配的能力。
為使網(wǎng)絡更加輕量化,RFBS中選擇兩個堆疊的3×3卷積層替換RFB中5×5卷積層,并用一個3×1和一個1×3卷積層替換原始3×3卷積層。RFB模塊與SPP(Spatial Pyramid Pooling)[13]模塊相比,結構略有差異,二者只是對特征圖的特征進行不同尺度提取。在YOLOv3網(wǎng)絡中引入RFB網(wǎng)絡比SPP模塊能獲得更大感受視野,并且不會增加網(wǎng)絡深度和計算量。
更深層的卷積神經(jīng)網(wǎng)絡,具有更強的特征表達和逐層學習的能力,但深層網(wǎng)絡帶來的梯度不穩(wěn)定和計算量驟增的問題嚴重影響其網(wǎng)絡性能。CSPNet(Cross Stage Partial Network)[14]通過將基礎層的特征圖劃分為兩個部分,然后通過跨階段層次結構將它們的特征融合。通過分割梯度流,使其通過不同的網(wǎng)絡路徑傳播,兩條路徑中都不包含屬于另一方的重復的梯度信息。局部過渡層(Transition)采用截斷梯度流的策略,避免不同層學習重復的梯度信息,提升網(wǎng)絡的學習能力。
(1)
其中*為卷積操作,wi為第i個密集層的權重。反向權重更新的方程為
(2)
其中f為權重更新的函數(shù),gk為傳播到k個密集層的梯度。由反向權重方程可看出,權重是通過不同梯度信息分開集成的,這樣既保留了原始網(wǎng)絡特征重用的特點,又通過截斷梯度流的方法防止梯度信息冗余[15]。
面對繁雜的加油站作業(yè)場景,YOLOv3網(wǎng)絡經(jīng)常學習過多的重復信息,更新的梯度信息很難產(chǎn)生差異,這將影響網(wǎng)絡的學習能力,導致排查違規(guī)操作不準確,進而引發(fā)安全隱患。而CSP結構能有效減少重復的梯度學習,使網(wǎng)絡的學習能力大大提升。因此,通過引入CSP結構,設計兩種具有跨階段多尺度感受野RFB_CSP和RFBS_CSP結構(見圖4),通過引入RFB和RFBS模塊并與CSP網(wǎng)絡結構結合,減少相同尺度信息的重復學習,有利于模型實現(xiàn)更豐富的梯度組合,同時降低計算瓶頸。
圖4 RFB_CSP和RFBS_CSP結構Fig.4 RFB_CSP and RFBS_CSP structure
為提升網(wǎng)絡檢測效果,提出的網(wǎng)絡對YOLOv3網(wǎng)絡做出如下結構層面改進:1) 在原有的Darknet53主干網(wǎng)絡后添加RFB結構模塊,融合全局特征與局部特征,提升檢測效果;2) 融合CSPNet,提出RFB_CSP和RFBS_CSP兩種模塊,有效解決了在網(wǎng)絡深度處理中梯度信息因重復學習而造成計算量增加的問題。綜上所述,跨階段局部多尺度YOLOv3網(wǎng)絡結構如圖5所示。
圖5 改進的YOLOv3加油站卸油檢測網(wǎng)絡結構Fig.5 Improved YOLOv3 gas station unloading detection network structure
該實驗的加油站數(shù)據(jù)來源于大慶安世爾和順達加油站油庫視頻監(jiān)控,符合加油站場景下的實際工作狀況。數(shù)據(jù)集包含黃色工作服、深藍色工作服、淺藍色工作服、安全帽、頭部、人、滅火器、滅火毯和油罐車等9個類別,加油站數(shù)據(jù)集包含了不同大小、顏色等多尺度的目標信息,有利于提升模型在檢測目標安全情況時的魯棒性。為了對模型性能進行評估,按照9 ∶1的比例將數(shù)據(jù)集劃分為訓練集和測試集,訓練集總共有1 583張圖像,測試集有176張圖像,每張圖像中包含一個或多個屬于這9類的目標。受加油站生產(chǎn)安全,卸油作業(yè)的強度過大等影響,作業(yè)人員在工作場景下存在難以檢測的問題,以此作為實驗數(shù)據(jù)集更能凸顯本網(wǎng)絡在檢測精確度和檢測效率上的優(yōu)越性。實驗環(huán)境配置如表1所示。
表1 實驗環(huán)境配置Tab.1 Experimental environment configuration
YOLOv3算法中原始的anchor生成方案是根據(jù)COCO數(shù)據(jù)集進行的,對加油站卸油場景下的違規(guī)作業(yè),采用原始的anchor并不合適,為獲得符合目標的anchor boxes,使用K-means++聚類算法[16]重新進行錨盒計算,算法步驟如下。
步驟1 從集合Z中隨機選取點,成為第1個聚類中心M1。
步驟2 計算Z中其余各點x到最近聚類中心Mx的距離D(x),距離越遠的點具有越大的概率P(x)成為下一個聚類中心。重復此步驟,直到找到K個聚類中心。
步驟3 計算Z中每個點到K個聚類中心的距離D(x),將距離某一個聚類中心較近的點劃分到該聚類中心類別中,根據(jù)聚類結果,重新計算每個類別的聚類中心Ci。
步驟4 重復步驟3,直到每個聚類類別的聚類中心Ci不再變化,輸出K個聚類中心。
在用K-means++算法進行錨盒計算時,選擇IOU(Intersection Over Union)作為距離D(x)度量指標,IOU為真實框x與其重合度較高的聚類中心錨框Cx的交并比。距離D(x)、概率P(x)和聚類中心Ci的計算公式分別為
D(x)=1-KIOU(x,Mx)
(3)
(4)
(5)
經(jīng)過聚類,聚類出最適合數(shù)據(jù)集的錨盒數(shù)量及尺寸大小,得到了9組錨盒(12,20),(17,36),(21,69),(26,117),(37,191),(38,53),(65,102),(117,251),(234,409),產(chǎn)生的候選框與原標記框之間交集與并集的比值為72.29%。
加油站數(shù)據(jù)集按照YOLO標簽格式制作,采用Labelimg打標簽開源軟件進行標注,在對滅火裝置進行標注時,選擇作業(yè)時未用紅布套上的滅火裝置進行框定,且樣本數(shù)據(jù)集標注過程中,對存在遮擋及顯示不全部分未超過70%的現(xiàn)場目標,可對其未遮擋部分進行標注。訓練一共設置300個epoch,輸入圖像大小為416×416,在測試中輸入圖像大小設為512×512,超參數(shù)Batch size設為2,初始學習率learning rate設為0.001(學習率會根據(jù)迭代次數(shù)實時更新)、衰減系數(shù)decay設為0.005、動量Momentum設為0.9。其中Labelimg操作界面如圖6所示。
德國成熟的分類體系與各級政府采取的法律制約、政策導向和經(jīng)濟刺激等手段密不可分,一是合理的垃圾收費政策,可回收垃圾不收費,剩余垃圾按量收費;二是抵押金制度;三是企業(yè)化的垃圾回收宣傳教育;四是巨額的懲罰機制。完善的法規(guī)和良好的民眾環(huán)保意識促進了德國生活垃圾處理產(chǎn)業(yè)的發(fā)展,為德國在全球垃圾處理領域的領先地位奠定了基礎。目前90%的德國家庭參與分類收集,家庭的分類工作是對系統(tǒng)的重大貢獻,如果在家庭沒有進行預分類,到了分揀廠就很難進行高效率的分選,回收和再利用的效果將大打折扣。
圖6 Labelimg操作界面Fig.6 Labeling operation interface
為定量評價實驗結果,選取多類別平均準確度均值mAP(mean Average Precision)作為網(wǎng)絡的精度指標,mAP在公式中用F表示,且有
(6)
其中n表示分類數(shù),D為單個目標的平均精度,且有
(7)
精確率(Precision)是對給定數(shù)據(jù)集分類正確樣本個數(shù)和總樣本數(shù)的比值,召回率(Recall)用于說明分類器中判定為真的正例占總正例的比值。精確率和召回率計算公式分別為
(8)
(9)
其中T為預測正確的正樣本數(shù),M為預測為正樣本但實際為負樣本的數(shù)量,N為預測為負樣本但實際為正樣本的數(shù)量。
3.5.1K-means++優(yōu)化結果對比實驗
實驗首先對比了使用K-means++聚類算法優(yōu)化錨定框Anchor box后,在加油站數(shù)據(jù)集上,YOLOv3算法對小目標的檢測性能的變化。將未經(jīng)優(yōu)化的目標框與通過K-means++聚類得到的目標框的YOLOv3網(wǎng)絡在加油站數(shù)據(jù)集上進行訓練,并在測試集上進行驗證,結果如表2所示。
表2 目標框優(yōu)化效果結果對比Tab.2 Comparison of optimization results of target box
表2中從平均準確率P、平均召回率R以及mAP@0.5,對比分析使用K-means++算法優(yōu)化目標框對網(wǎng)絡性能帶來的影響。其中 YOLOv3表示使用未經(jīng)優(yōu)化Anchor box的原始網(wǎng)絡,YOLOv3+anchor表示使用優(yōu)化的錨盒的網(wǎng)絡。從表2可看出,優(yōu)化目標框使其適合對加油站數(shù)據(jù)集上小目標的框定能明顯提升網(wǎng)絡的檢測精度,mAP@0.5提升了1.1%。
筆者提出的YOLOv3加油站作業(yè)檢測算法進行了2方面的改進:引入多尺度感受RFB和RFBS模塊,以及引入CSP網(wǎng)絡結構降低計算量。為驗證改進算法的有效性,在加油站數(shù)據(jù)集上,進行了各類方法的消融實驗。消融實驗結果如表3所示。表3給出了當IOU為0.6時模型的檢測精度和召回率,mAP@0.5表示模型的平均準確率。由表3可知,當輸入分辨率為416×416時,在主干特征提取網(wǎng)絡后引入RFB和RFBS的模型B和C,相比原YOLOv3模型A,平均準確率分別提升了0.7%和2.3%。模型D、E分別是在B和C的基礎上增加CSP技術,與B和C相比,平均準確率分別提升了1.6%和0.6%,模型權重分別減少了12.3 MByte和12.2 MByte??梢钥闯?針對YOLOv3的改進策略對檢測性能的提升均有一定的幫助。
表3 模型分解對比實驗Tab.3 Comparative experiment of model decomposition
綜上,筆者提出的加油站作業(yè)檢測模型D,在加油站數(shù)據(jù)集上的mAP達到了83.7%,與原始的YOLOv3模型A相比,mAP提高了2.3%,提出的加油站作業(yè)檢測模型E,在加油站數(shù)據(jù)集上的mAP達到了84.3%,與原始的YOLOv3模型A相比,mAP提高了2.9%。
3.5.3 不同算法性能對比實驗
為說明算法的有效性,筆者還對提出算法與目標檢測算法中的表示性算法進行了比較。檢測算法選擇YOLOv3及其改進算法,包括YOLOv3-SPP、YOLOv3-Anchor和YOLOv4,并采用相同的實驗配置,在加油站數(shù)據(jù)集上實現(xiàn)這些算法,結果如表4所示。
結合表4對比不同算法在加油站數(shù)據(jù)集上的檢測精度,筆者提出的算法的精度均高于YOLOv4和YOLOv3算法及其改進版本。由于筆者提出的加油站作業(yè)檢測算法旨在實現(xiàn)輔助視頻監(jiān)控,部署設備通常是低性能設備,所以尺寸較小的模型更具有優(yōu)勢。
表4 不同算法性能對比Tab.4 Performance comparison of different algorithms
3.5.4 不同類別的對比實驗
表5列出了YOLOv3及其改進算法對不同類別AP值的對比,從表5可以看出,筆者提出的兩種模型相比原YOLOv3模型對9種類別的目標檢測精度都有一定提高,尤其是安全帽和頭部等小目標分別比YOLOv3高出了6%和6.6%,同時,對滅火裝置和油罐卡車等尺寸和形狀變化較大的目標,精度分別提高了3.3%和9.8%。可見,筆者提出的算法還是達到了較高的精度。
表5 不同類別的檢測AP值對比Tab.5 Comparison of detection AP values of different categories (%)
從自制的加油站數(shù)據(jù)集中選取若干幅圖片進行YOLOv3算法與筆者提出的算法檢測結果對比實驗,二者的IOU閾值、置信度閾值分別設置為0.6、0.25,從中隨機選取5幅圖片進行說明(見圖7)。圖7中左側圖和右側圖分別給出了YOLOv3與YOLOv3-CRS的檢測效果。圖7b中YOLOv3-CRS預測出了復雜場景下的遮擋目標,由于遮擋目標特征不明顯,YOLOv3收到復雜背景信息的干擾,很難準確識別,而YOLOv3-CRS可以更好地提取遮擋物的特征。圖7c中YOLOv3在檢測黃色工作服時,出現(xiàn)重復錨框,而YOLOv3-CRS能準確定位目標。圖7e和圖7g中YOLOv3存在不少漏檢目標,YOLOv3-CRS檢測出了更多的目標。圖7j中YOLOv3-CRS準確檢測出了遠處模糊的滅火毯,其得益于良好的小尺度特征提取能力。
筆者提出了一種多尺度感受野和跨階段局部網(wǎng)絡相結合的加油站檢測算法,首先以YOLOv3主干特征提取網(wǎng)絡Darknet-53獲取不同尺度的特征圖,接著引入一種多感受野特征提取模塊,實現(xiàn)不同分辨率特征的融合,在不同尺度的特征圖中融合全局語義信息和局部位置信息。通過構建跨階段局部結構降低計算成本并保證準確率。所提出的改進模型在加油站數(shù)據(jù)集上的實驗結果,以及與原有模型的比較,說明了該模型的檢測準確率更高。在后續(xù)的研究中,將考慮對模型進行壓縮、剪枝以輕量化加油站作業(yè)檢測模型,在保證算法檢測精度的基礎上提升模型檢測的實用性。