耿慶華,劉偉銘,劉瑞康
(華南理工大學(xué)土木與交通學(xué)院,廣州 510640)
動(dòng)車組列車在長途客運(yùn)過程中,由于振動(dòng)、磨損或腐蝕而引起的列車底部異常,如列車底部螺栓丟失、列車底部出現(xiàn)布條和紙屑等,給鐵路客運(yùn)安全運(yùn)輸工作帶來了巨大隱患。將動(dòng)車組運(yùn)行故障動(dòng)態(tài)圖像檢測系統(tǒng)(TEDS,Trouble of moving EMU Detection System)應(yīng)用于鐵路系統(tǒng)中,檢修人員通過檢查由TEDS捕獲的動(dòng)車組序列圖像來代替現(xiàn)場檢測,從而實(shí)現(xiàn)動(dòng)車組運(yùn)行狀態(tài)監(jiān)控。圖1為TEDS示意,線掃描相機(jī)安裝在軌道底部和軌道兩側(cè),以捕獲動(dòng)車組列車整車圖像,并將捕獲的序列圖像傳輸?shù)綑z測中心,檢查人員將判斷是否存在機(jī)械零部件故障[1];這種人工檢查的方式仍然需大量訓(xùn)練有素的技術(shù)人員來完成故障檢測與確認(rèn),檢測效率和準(zhǔn)確性易受到檢查人員工作狀態(tài)的影響,存在效率低、成本高和漏檢率高的缺點(diǎn)。
圖1 動(dòng)車組運(yùn)行故障動(dòng)態(tài)圖像檢測系統(tǒng)示意
近年來,圖像處理與模式識(shí)別技術(shù)在鐵路維護(hù)中獲得了很大成功,大大提高了機(jī)械零部件故障檢測效率。目前,針對(duì)鐵路機(jī)械零部件故障檢測方法主要分為基于人工特征描述子的方法、基于圖像對(duì)齊與背景差分的方法[1]和基于深度學(xué)習(xí)的方法?;谌斯ぬ卣髅枋鲎覽2-4]的方法需根據(jù)目標(biāo)的具體特征選擇最優(yōu)特征提取算法來提取目標(biāo)的特征,以確定檢測目標(biāo),并通過分類器完成目標(biāo)檢測任務(wù)。ZOU等[5]提出采用梯度編碼直方圖和支持向量機(jī)相結(jié)合的方法,來檢測角度旋塞手柄的狀態(tài)(故障或無故障)?;谌斯ぬ卣髅枋鲎拥臋z測方法需根據(jù)不同類型目標(biāo)設(shè)計(jì)出不同的特征描述子,具有很大的局限性,且特征提取過程復(fù)雜,難以設(shè)計(jì)出最優(yōu)特征描述子。基于圖像對(duì)齊與背景差分的方法僅能檢測是否存在異常,而無法對(duì)異常進(jìn)行分類?;谏疃葘W(xué)習(xí)的方法,特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN)技術(shù)可為不同類型的檢測目標(biāo)自適應(yīng)地選擇相應(yīng)的特征,且能夠同時(shí)檢測不同類別的目標(biāo)。因此,卷積神經(jīng)網(wǎng)絡(luò)技術(shù)已廣泛用于圖像分割[6-8]、對(duì)象檢測[9-10]、圖像分類[11]和其他領(lǐng)域?;谏疃葘W(xué)習(xí)的經(jīng)典的目標(biāo)檢測方法主要包括SSD[12]、YOLO[13]、 R-CNN[14]、FasterR-CNN[10]和FPN[15]等。PAHAWA等[16]采用兩級(jí)CNN實(shí)現(xiàn)了軌道閥的高精度圖像分割;ZHOU等[17]提出一種檢測螺栓故障的CNN模型,該模型以Resnet101作為骨干網(wǎng)絡(luò),結(jié)合在線難例挖掘和變形卷積網(wǎng)絡(luò)方法,從而提高小目標(biāo)的檢測精度;劉偉銘等[18]針對(duì)動(dòng)車組裙板螺栓丟失問題,采用K-Means聚類分析,并在YOLOv2中添加Spatial Pyramid Pooling(SPP)層的方法,提出了一種改進(jìn)的YOLOv2算法。SSD與YOLO無需事先生成候選區(qū)域(RoI),因此,檢測速度較快。在實(shí)際應(yīng)用中,將線掃描相機(jī)捕獲的動(dòng)車組列車序列圖像存儲(chǔ)在工作站中以進(jìn)行離線分析,但由于動(dòng)車組列車的序列圖像屬于高分辨圖像,數(shù)據(jù)量很大,而在檢測過程中,又對(duì)時(shí)間有一定要求。因此,選擇檢測速度較快的SSD算法,并在SSD算法中融合多層特征信息、同時(shí)引入注意力機(jī)制以提高目標(biāo)檢測精度與召回率。
在自然語言處理(NLP)領(lǐng)域,已廣泛采用自注意力機(jī)制對(duì)句子深層次的依存關(guān)系進(jìn)行建模。Transformer[19]作為一種新的簡單網(wǎng)絡(luò)架構(gòu),消除了重復(fù)與卷積,完全基于注意力機(jī)制在輸入和輸出之間建立了全局依賴關(guān)系。受此啟發(fā),引入注意力機(jī)制以在特征圖的所有特征像素之間建立深層次的依存關(guān)系。與Transformer類似,本文算法能夠在特征圖的不同區(qū)域建立深層次依存關(guān)系,從而更有效地進(jìn)行目標(biāo)檢測,減少在檢測過程中存在誤檢和漏檢情況,降低動(dòng)車組列車底部出現(xiàn)異常不能及時(shí)被確認(rèn)而導(dǎo)致交通事故的概率。
以Resnet-101作為基本骨架,采用特征融合與注意力機(jī)制相結(jié)合對(duì)SSD網(wǎng)絡(luò)進(jìn)行改進(jìn),并結(jié)合TEDS捕獲的動(dòng)車組列車序列圖像,實(shí)現(xiàn)對(duì)動(dòng)車組列車底部異常自動(dòng)檢測。該檢測任務(wù)主要特點(diǎn)是異常目標(biāo)尺度多樣化,如輸入圖像為1400×2048像素,最小異常(螺釘丟失)尺度約為40×40像素,僅占整幅圖像的0.05%,最大布條尺度為384×293像素,占整幅圖像的3.924%,多尺度異常目標(biāo)檢測成為動(dòng)車組列車底部異常檢測的一個(gè)挑戰(zhàn),尤其是對(duì)小目標(biāo)異常的檢測。
原始SSD算法包含VGG基礎(chǔ)網(wǎng)絡(luò)和目標(biāo)檢測網(wǎng)絡(luò),并融合不同特征層上的特征以有效檢測不同尺寸的目標(biāo)。但原始SSD算法淺層特征的語義信息不夠豐富,對(duì)小目標(biāo)檢測效果不夠理想。提高小目標(biāo)檢測效果的方法是構(gòu)建更多的卷積神經(jīng)網(wǎng)絡(luò)層,以細(xì)化特征圖特征,或?qū)⒄Z義信息從深層融合到淺層。為提高SSD算法對(duì)小目標(biāo)的識(shí)別能力,對(duì)原始的SSD進(jìn)行了改進(jìn),改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
注:a為注意力機(jī)制圖2 本文網(wǎng)絡(luò)結(jié)構(gòu)
改進(jìn)后SSD算法借鑒了殘差網(wǎng)絡(luò)的思想,以Resnet101代替VGG16作為SSD的骨干網(wǎng)絡(luò)。通過學(xué)習(xí)殘差加深神經(jīng)網(wǎng)絡(luò)的層次結(jié)構(gòu)可有效避免過擬合和網(wǎng)絡(luò)梯度消失的問題,從而提取更多紋理特征和語義特征,增強(qiáng)特征的表達(dá)能力,提高目標(biāo)分類和定位能力。
殘差網(wǎng)絡(luò)Resnet-101比VGG-16更能細(xì)化特征圖的特征[11],此外,相比其他網(wǎng)絡(luò),Resnet-101的結(jié)構(gòu)較為簡單,確保了網(wǎng)絡(luò)的實(shí)時(shí)性。Resnet-101采用捷徑連接(shortcut connection)架構(gòu),這使其能夠解決隨網(wǎng)絡(luò)層次加深時(shí)性能下降問題。殘差映射公式為
y=F(x)+x
(1)
式中,x為單位映射;y為最優(yōu)解;F(x)為最優(yōu)解和單位映射之間的殘差。
引入多尺度特征融合的方法,提高特征表達(dá)能力,增強(qiáng)語義信息,進(jìn)一步改善SSD算法對(duì)小目標(biāo)檢測效果差的問題。原始SSD將多尺度特征層的特征信息用于目標(biāo)檢測,卻忽略了不同特征層的特征信息之間的關(guān)系,而每一層特征圖都包含特殊的特征信息;低層特征圖分辨率高,包含豐富的位置、細(xì)節(jié)信息,這有利于目標(biāo)定位,但缺乏語義信息而不利于目標(biāo)分類;頂層包含豐富的語義信息,這有利于目標(biāo)分類,但分辨率較低,細(xì)節(jié)感知能力弱而不利于目標(biāo)定位[20]。如采用一種有效策略來融合不同特征層的特征信息,可使底層特征圖包含豐富的位置信息、細(xì)節(jié)信息和語義信息。因此,對(duì)原始SSD算法進(jìn)行了改進(jìn),使底層特征圖包含豐富的位置信息、細(xì)節(jié)信息和語義信息。
融合過程包括上采樣和融合。上采樣的方式很多,如最近鄰近插值、雙線性插值和三次插值,本文選擇了雙線性插值和最大池化。對(duì)于融合方法,采用基于特征圖矩陣拼接的方式,在特征融合過程中,所有特征圖的大小必須相同,通過上采樣來調(diào)整每個(gè)特征層的形狀,特征圖融合的細(xì)節(jié)如圖2所示。完成特征圖的特征信息融合后,使較低層的特征圖包含了更加豐富的位置、細(xì)節(jié)和語義信息。為使較高層的特征層與較低特征層具有相同的形狀,對(duì)較高層的特征層使用大小調(diào)整策略;由于每層特征值分布具有很大差異,在融合之前須進(jìn)行規(guī)范化操作,通過上采樣來調(diào)整每個(gè)特征層的形狀,并對(duì)特征圖矩陣進(jìn)行拼接,即完成了特征圖的特征信息的融合,從而使較低特征圖包含了更加豐富的位置、細(xì)節(jié)和語義信息。
本文多尺度特征圖的特征信息融合,充分利用了不同尺度特征圖的特征信息之間的關(guān)系。將頂層特征圖的語義信息融合到低層特征圖中,這有助于采用低層特征圖的特征信息以利于檢測小目標(biāo)。多尺度特征圖的特征信息融合使得前端預(yù)測網(wǎng)絡(luò)能夠兼顧不同尺度的目標(biāo),模型的泛化能力得到了增強(qiáng)。語義融合過程表述為
(2)
式中,Xσ∈RCσ×Nσ為σ層融合前的特征圖;Yσ∈RCσ×Nσ是σ層融合后的特征圖;Wσ∈RCσ×C′和bσ∈RCσ。在融合操作中,以第8層與第9層融合為例,融合前第9層通過雙線性插值進(jìn)行上采樣,以使其特征圖尺寸與融合前第8層的特征圖尺寸對(duì)齊,并與融合前第8層特征圖融合。改進(jìn)后的SSD遵循文獻(xiàn)[12]中SSD的錨框生成方法來設(shè)置錨框大小。具體而言,在尺度不同的特征圖上設(shè)置大小和縱橫比均不同的錨框。錨框計(jì)算公式如下
(3)
引入注意力機(jī)制,將注意力機(jī)制單元置于特征圖和預(yù)測模塊之間,在其中執(zhí)行檢測框回歸和目標(biāo)分類。在淺層,注意力單元指導(dǎo)模型將注意力集中在小目標(biāo)上;而在深層,注意力單元會(huì)突出大尺寸的目標(biāo)。
將文獻(xiàn)[18]中解決序列轉(zhuǎn)導(dǎo)問題的自我注意機(jī)制應(yīng)用到本文目標(biāo)檢測中。在序列轉(zhuǎn)換過程中,自我注意機(jī)制利用一個(gè)注意函數(shù)建立了輸入和輸出序列之間的全局依賴關(guān)系,該函數(shù)將查詢和一組對(duì)應(yīng)的鍵值映射到輸出。在自我注意力機(jī)制中,輸入特征激發(fā)了注意力,注意力又被用于細(xì)化這些輸入特征。將問題視為類似的查詢問題,并從輸入特征中獲取相關(guān)信息,以在全局建立像素級(jí)的特征相關(guān)性。
(4)
將輸入特征Xσ轉(zhuǎn)換為Q和K的原因是為了減少計(jì)算量。Q和K矩陣運(yùn)算可獲得特征的相似度,并創(chuàng)建一個(gè)揭示特征關(guān)系的N×N注意力圖。此類逐像素之間的關(guān)系是通過網(wǎng)絡(luò)學(xué)習(xí)獲得的。接下來,在V與softmax(aσ)之間應(yīng)用矩陣乘法,獲得更新的特征圖,并將其作為每個(gè)位置處的特征加權(quán)和。最后,在矩陣乘法結(jié)果中減去融合后的特征圖矩陣Yσ。
O=(softmax(aσ)VT)T-Yσ
(5)
softmax(aσ)關(guān)聯(lián)了所有位置特征的深層次關(guān)系,因此,可得到特征圖全局的上下關(guān)系。它突出顯示了特征圖的相關(guān)部分,并通過細(xì)化信息指導(dǎo)目標(biāo)檢測。
訓(xùn)練目標(biāo)是使損失函數(shù)最小化,這一點(diǎn)與SSD中的損失函數(shù)相同,損失函數(shù)是定位損失(loc)和置信度損失(conf)二者的加權(quán)和
(6)
式中,N為成功與真實(shí)框匹配的默認(rèn)框數(shù)量。如果N=0,則設(shè)損失函數(shù)為0;x為區(qū)域候選框和不同類別的真實(shí)框的匹配結(jié)果,如果匹配,x=1,否則x=0;l為預(yù)測框的位置偏移信息;g為真實(shí)框與區(qū)域候選框的偏移信息;α為通常設(shè)置為1的位置損失權(quán)重。
由于動(dòng)車組列車底部出現(xiàn)異常只是偶爾現(xiàn)象,因此,很難搜集到足夠多的包含螺栓丟失、布條和紙屑的動(dòng)車組列車底部序列圖像,以完成本文算法模型的訓(xùn)練。為此,通過剪切、復(fù)制、變形及旋轉(zhuǎn)等操作,使得數(shù)據(jù)集包含螺栓丟失、紙屑和布條的數(shù)量分別達(dá)到了914,916和920,滿足本文算法模型訓(xùn)練的需要,建立了動(dòng)車組列車底部異常數(shù)據(jù)集(EMU Anomaly Detection Dataset,EMUADD)。圖3展示了動(dòng)車組列車底部常見異常,紅色標(biāo)記部分為布條,綠色標(biāo)記部分為丟失的螺釘,黑色標(biāo)記部分為紙屑。如圖3所示,動(dòng)車組列車底部螺栓丟失占據(jù)的區(qū)域很小。根據(jù)PASCAL VOC數(shù)據(jù)集的格式標(biāo)記了所有圖像,并隨機(jī)選擇90%圖像進(jìn)行訓(xùn)練,其余10%進(jìn)行測試。
圖3 動(dòng)車組列車底部異常標(biāo)記
計(jì)算機(jī)硬件資源為CPU,Intel Core i9 7920X;內(nèi)存,48G DDR4;GPU,3個(gè)Nvidia Geforce GTX2080Ti;操作系統(tǒng),64位Ubuntu 18.04;實(shí)驗(yàn)框架為Pytorch開源框架。隨機(jī)梯度下降法將用于模型訓(xùn)練,總訓(xùn)練周期設(shè)置為1500,初始學(xué)習(xí)速率為0.001,當(dāng)?shù)螖?shù)為500、1000個(gè)循環(huán)時(shí),學(xué)習(xí)速率降低10倍。其他訓(xùn)練參數(shù)設(shè)置如下:動(dòng)量0.9,權(quán)重衰減系數(shù)0.0001,batch_size為32,IoU的閾值0.5。
研究最終目標(biāo)是正確檢測所有異常,并降低漏檢率和誤檢率。為更好地評(píng)估模型,定義TP(真正樣本)代表真實(shí)類別,即模型正確預(yù)測的正樣本;FP(偽正樣本)代表正樣本由模型預(yù)測為負(fù)樣本;FN(偽負(fù)樣本)代表負(fù)樣本被模型預(yù)測為正樣本;TN(True Negatives)代表負(fù)樣本類別被預(yù)測為負(fù)樣本。準(zhǔn)確率和召回率公式為
(7)
本小節(jié)進(jìn)行消融試驗(yàn),以探索注意力機(jī)制和特征融合對(duì)檢測速度和mAP的影響。在EMUADD測試集上研究了4個(gè)模型,即SSD513、SSD513+特征融合、SSD513+注意力機(jī)制、SSD513+特征融合+注意力機(jī)制如表1所示。從表1可以看出,僅融合模塊并沒有明顯提高mAP,相反,它帶來了更多的計(jì)算開銷;注意力機(jī)制可以顯著提高性能;當(dāng)將注意力單元與融合模塊結(jié)合在一起時(shí),性能進(jìn)一步得到提升。據(jù)此可以推測,注意力機(jī)制具有分析不同層級(jí)語義信息的能力,并選擇有用的信息,因此,獲得了更好的檢測能力。
表1 EMUADD測試數(shù)據(jù)集的消融研究
本文算法是對(duì)SSD算法的一種改進(jìn),為體現(xiàn)本文算法在檢測動(dòng)車組列車底部異常時(shí)的優(yōu)越性,選擇與一些經(jīng)典神經(jīng)網(wǎng)絡(luò)算法FasterR-CNN、SSD 和YOLOV3進(jìn)行對(duì)比試驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 不同檢測模型在列車底部異常數(shù)據(jù)上的檢測結(jié)果
由表2可以看出,本文算法的mAP與FasterR-CNN、SSD和YOLOV3的mAP相比,分別提高了18.14%、5.26%和3.85%,其中,螺釘丟失的AP值分別增加了2.76%、2.66%和1.22%,紙屑的AP分別增加了51.66%、13.11%和10. 32%,這表明本文算法提高了小尺度目標(biāo)的檢測精度。通過對(duì)比不同深度學(xué)習(xí)模型檢測速度(表3)可知,YOLOV3、SSD和本文算法的檢測速度幾乎相當(dāng),均明顯優(yōu)于FasterR-CNN,可實(shí)現(xiàn)實(shí)時(shí)檢測。
表3 不同深度學(xué)習(xí)模型檢測速度
本文算法3個(gè)類別的PR曲線如圖4所示??梢钥闯?,該網(wǎng)絡(luò)對(duì)多類別多尺度動(dòng)車組列車底部異常檢測具有較好的檢測效果,藍(lán)色曲線代表螺釘丟失的PR曲線,紅色曲線代表布條的PR曲線,黑色代表紙屑的PR曲線。
圖4 本文算法3個(gè)類別的PR曲線
將改進(jìn)后的SSD模型用于動(dòng)車組列車底部異常檢測,在復(fù)雜領(lǐng)域中實(shí)現(xiàn)了較好的檢測性能,這歸因于對(duì)SSD的改進(jìn)。本文算法用殘差網(wǎng)絡(luò)Resnet-101替換VGG-16,以更好地細(xì)化特征圖特征;引入新的特征融合策略,可有效利用SSD淺層細(xì)節(jié)信息和深層語義信息;引入注意力機(jī)制,以有助于在特征圖的空間中建立特征之間的關(guān)系,突出相關(guān)特征,抑制不相關(guān)的信息,為異常檢測提供可靠指導(dǎo),并以此對(duì)原始SSD算法進(jìn)行改進(jìn)。與FasterR-CNN、SSD和YOLOV3相比,本文算法的mAP分別提高了18.14%、5.26%和3.85%,螺釘丟失的AP值分別提高了2.76%、2.66%和1.22%,紙屑的AP分別提高了51.66%、13.11%和10. 32%,這表明本文算法提高了小尺度目標(biāo)的檢測精度。本文算法的檢測速度與YOLOV3和SSD幾乎相當(dāng),均明顯優(yōu)于FasterR-CNN,可實(shí)現(xiàn)實(shí)時(shí)檢測。