劉奇鋒 許貴陽 白堂博
(1.北京建筑大學(xué)機(jī)電與車輛工程學(xué)院,北京 100044;2.北京建筑大學(xué)城市軌道交通車輛服役性能保障北京市重點(diǎn)實(shí)驗(yàn)室,北京 100044)
軌道扣件的功能是將鋼軌固定,使鋼軌保持軌道間距,同時(shí)避免鋼軌相對(duì)于軌枕的縱橫向移動(dòng)[1-2]。常用軌道扣件的緊固件分為六角螺栓和掛鉤螺栓2 種。在軌道巡檢過程中,常見的軌道扣件異常狀況包括扣件移位、扣件部分?jǐn)嗔选⒖奂G失等,是列車正常運(yùn)行的巨大隱患。
過去,由專門檢測(cè)人員采用人工巡檢的方式進(jìn)行軌道扣件日常檢查,需要逐個(gè)進(jìn)行排查,存在許多缺點(diǎn),如效率低下、工人對(duì)異常情況和潛在危險(xiǎn)程度估計(jì)不準(zhǔn)確等。目前,高速列車技術(shù)日益成熟,車速不斷提高,對(duì)巡線的自動(dòng)化與檢測(cè)的智能化要求也越來越高。隨著圖像處理與深度學(xué)習(xí)等人工智能技術(shù)的迅猛發(fā)展,鐵路部門出于縮減人工檢測(cè)成本、提高運(yùn)營(yíng)安全等方面的考慮,在鐵路巡檢中越來越多地使用了自動(dòng)鐵路巡檢裝備及配套的圖像處理技術(shù)[3-4]。
近年來,我國(guó)的軌道檢測(cè)多采用將具有計(jì)算機(jī)視覺和圖像處理技術(shù)的巡線設(shè)備安裝在軌檢車中,對(duì)軌道進(jìn)行全自動(dòng)檢測(cè)。自動(dòng)巡檢過程中,對(duì)軌道進(jìn)行拍攝,采集軌道圖像,再基于神經(jīng)網(wǎng)絡(luò)或其他人工智能技術(shù)對(duì)軌道圖像進(jìn)行處理,實(shí)現(xiàn)對(duì)扣件狀態(tài)的自動(dòng)檢測(cè)。這一方法擺脫了傳統(tǒng)檢測(cè)中依賴巡道工進(jìn)行現(xiàn)場(chǎng)檢測(cè)和維修的狀況,成為扣件檢測(cè)的新趨勢(shì)[5]。
本文提出一種基于YOLOv3深度學(xué)習(xí)算法的扣件定位與檢測(cè)的方法。該方法使用軌檢小車采集軌道圖像,通過YOLOv3網(wǎng)絡(luò)進(jìn)行訓(xùn)練與學(xué)習(xí),達(dá)到自動(dòng)識(shí)別軌道圖像中扣件狀態(tài)的效果[6],并將其檢測(cè)效果與人工檢測(cè)的情況進(jìn)行對(duì)比。
傳統(tǒng)的目標(biāo)檢測(cè)技術(shù)利用檢測(cè)窗口在圖片上滑動(dòng)來搜索檢測(cè)目標(biāo)。其技術(shù)優(yōu)化主要表現(xiàn)為檢測(cè)窗口的選擇、特征的設(shè)計(jì)、分類器的設(shè)計(jì)等。檢測(cè)速度慢,檢測(cè)精度也不能保證。
隨著深度學(xué)習(xí)算法在計(jì)算機(jī)視覺領(lǐng)域的應(yīng)用,基于深度學(xué)習(xí)算法的目標(biāo)檢測(cè)技術(shù)得到迅猛發(fā)展。目前主要分為2大發(fā)展方向:①Two-Stage目標(biāo)檢測(cè)算法,例如 Faster RCNN(Region Convolutional Neural Network)[7],R-FCN(Region-Based Fully Convolutional Networks)[8],F(xiàn)PN(Feature Pyramid Networks)[9]。首先將圖像的前景和背景進(jìn)行分類及邊界框回歸,在待檢測(cè)目標(biāo)可接受的召回率的前提下,候選窗口的數(shù)量可以控制在幾千或幾百個(gè)。再根據(jù)之前的輸出窗口進(jìn)行分析,而不是像傳統(tǒng)的檢測(cè)方法那樣對(duì)整個(gè)圖像的每個(gè)區(qū)域進(jìn)行分析。②One-Stage 目標(biāo)檢測(cè)算法,例如YOLO(You Only Look Once)系列算法[10-12]、SSD(Single Shot Multibox Detector)算法[12]。這類算法是將圖像進(jìn)行柵格化處理,直接定位檢測(cè)目標(biāo)的中心點(diǎn),在指定柵格上使用不同層級(jí)、不同長(zhǎng)寬比密集采樣生成檢測(cè)錨框,來直接進(jìn)行分類和回歸分析。與Two-Stage算法相比,One-Stage算法檢測(cè)速度更快,能滿足對(duì)物體進(jìn)行實(shí)時(shí)檢測(cè)的要求,但目標(biāo)識(shí)別精度相對(duì)較低。在實(shí)際應(yīng)用中,往往要求在精度不太低的情況下滿足實(shí)時(shí)動(dòng)態(tài)檢測(cè),所以O(shè)ne-Stage目標(biāo)檢測(cè)算法使用范圍更廣。YOLOv3算法借鑒了其他算法的長(zhǎng)處,既保持了One-Stage目標(biāo)檢測(cè)算法的檢測(cè)速度,又具有較高的目標(biāo)檢測(cè)精度。
相比之前的YOLO 系列算法,YOLOv3 算法主要在下列3部分進(jìn)行了改進(jìn):
1)采用新的特征提取網(wǎng)絡(luò)。使用Darknet-53替換YOLOv2使用的Darknet-19[13],在滿足檢測(cè)實(shí)時(shí)性的同時(shí)具有更高的準(zhǔn)確率。Darknet-53是一個(gè)53層的卷積網(wǎng)絡(luò),YOLOv3 使用該卷積網(wǎng)絡(luò)的前52 層,所以整個(gè)YOLOv3 的結(jié)構(gòu)里面沒有池化層和全連接層,有助于防止由池化導(dǎo)致的低級(jí)特征丟失。
2)利用多尺度特征對(duì)圖像進(jìn)行檢測(cè)。YOLOv3 算法采用3 個(gè)不同尺寸預(yù)測(cè)對(duì)象,這3 個(gè)不同尺寸來自不同層級(jí)的卷積層輸出。該方法借鑒了Feature Pyramid Network 的思想:由于卷積層每隔幾層,F(xiàn)eature Mapping 的寬和高就會(huì)減少而通道數(shù)會(huì)增加,隨著網(wǎng)絡(luò)層次的加深,特征映射組成的形狀類似于金字塔,將不同層級(jí)的特征映射轉(zhuǎn)換為最終的輸出有助于提升模型在對(duì)象不同尺度大小上的表現(xiàn),也就是提高模型從小目標(biāo)到大目標(biāo)的綜合檢測(cè)能力。
3)對(duì)象分類用Logistic 函數(shù)取代Softmax 函數(shù)。之前的YOLO 系列算法,在分類模型中進(jìn)行最后的輸出前使用Softmax函數(shù)求出每個(gè)類別的概率,各類別是互斥的。YOLOv3 算法的每個(gè)類別概率單獨(dú)用邏輯回歸函數(shù)即Sigmoid 函數(shù)計(jì)算得出,所以各類別不必是互斥的,一個(gè)對(duì)象可以被預(yù)測(cè)出多個(gè)類別。
YOLOv3 算法使用的特征提取網(wǎng)絡(luò)Darknet-53 網(wǎng)絡(luò)采用全卷積結(jié)構(gòu),如圖1所示。
利用YOLOv3 算法模型輸入圖片后,使用雙三次插值法對(duì)輸入對(duì)象進(jìn)行放縮,在圖像放縮過程中進(jìn)行以灰色為背景的貼圖操作,即把放縮的圖片貼在416×416 的灰色背景圖上,使算法模型輸入的對(duì)象大小一致,均為416×416。算法實(shí)現(xiàn)過程中有5 次下采樣,每次均使用步長(zhǎng)為2 的卷積。因此,特征提取網(wǎng)絡(luò)的最大步幅為25。特征提取后,在YOLOv3 算法模型網(wǎng)絡(luò)中對(duì)生成的特征圖進(jìn)行上采樣、Route 等操作,達(dá)到分尺度采樣的目的;分別在32 倍、16 倍、8 倍降采樣時(shí)進(jìn)行檢測(cè),得到 13×13,26×26,52×52 這 3 個(gè)層次的輸出特征圖。利用前面的低層特征,使后面的高層能夠使用細(xì)粒度(Fine Grained)特征和更多的語義信息。最后1 個(gè)尺寸輸出使用前2 個(gè)尺寸計(jì)算的特征映射,使最后的尺寸輸出也能使用細(xì)粒度特征。
圖1 Darknet?53網(wǎng)絡(luò)
對(duì)應(yīng)不同層次的特征圖,模型對(duì)圖片的視野感受也不同。在最小的13×13 特征圖(輸出的第1 層次)上有最大的感受視野,應(yīng)使用較大的預(yù)設(shè)邊界框,適于檢測(cè)較大面積的對(duì)象;中等的26×26特征圖(輸出的第2 層次)提供中等感受視野,應(yīng)使用中等預(yù)設(shè)邊界框,適于檢測(cè)中等面積的對(duì)象;較大的52×52特征圖(輸出的第3層次)提供最小的感受視野,應(yīng)使用較小的預(yù)設(shè)邊界框,適于檢測(cè)較小面積的對(duì)象。
相比軌道整體,扣件圖片占據(jù)視野較小,模型訓(xùn)練與檢測(cè)結(jié)果不太理想,須對(duì)YOLOv3 算法模型進(jìn)行適應(yīng)性改進(jìn)。在Darknet-53 的基礎(chǔ)上加1 個(gè)步長(zhǎng)為2的卷積核,同時(shí)添加 4 組殘差組件,由 4 組 1×1 和 3×3卷積構(gòu)成,每組輸入均由前面所有組的輸出經(jīng)過通道拼接而獲得。將輸入圖片進(jìn)行縮放處理,變成大小為512×512 的圖片。經(jīng)過6 次步長(zhǎng)為2 的卷積核下采樣后,模型形成 8×8,16×16,32×32,64×64 這4 個(gè)層次的特征圖,增大了模型的感受視野,強(qiáng)化了對(duì)大物體檢測(cè)的影響,提高了圖片處理效果。
利用某新型軌道巡檢儀進(jìn)行數(shù)據(jù)采集。該軌道巡檢儀由電動(dòng)巡檢小車和軌道狀態(tài)巡檢系統(tǒng)2部分組成,其中巡檢系統(tǒng)可以動(dòng)態(tài)采集軌道表面數(shù)據(jù),覆蓋整個(gè)軌道結(jié)構(gòu)表面,采集到的高清軌面圖像像素分辨率最高可達(dá)0.3 mm,并具有海量圖像數(shù)據(jù)實(shí)時(shí)壓縮存儲(chǔ)及顯示加速功能。
對(duì)采集到的15 320 張鐵路軌面圖片進(jìn)行預(yù)處理,選出其中的扣件信息并根據(jù)扣件狀態(tài)將其分為4 類:扣件正常(zc)、扣件丟失(ds)、扣件斷裂(dl)、扣件移位(yw)。
采用Labeling 軟件對(duì)圖像樣本數(shù)據(jù)進(jìn)行處理,將需要確定的對(duì)象(正??奂┦褂梅娇驑?biāo)注出來,將得到的標(biāo)注信息生成.xml文件,得到感興趣區(qū)域(Region of Interest,ROI),從而生成扣件圖像的訓(xùn)練集和驗(yàn)證集數(shù)據(jù),見圖2。其中標(biāo)注信息包括標(biāo)注框左上角橫坐標(biāo)Xmin、左上角縱坐標(biāo)Ymin、右下角橫坐標(biāo)Xmax、右下角縱坐標(biāo)Ymax、標(biāo)注物體種類C。
圖2 數(shù)據(jù)集制作
對(duì)于YOLOv3 模型,選取適合的預(yù)設(shè)邊界框的參數(shù)不僅關(guān)系到其訓(xùn)練的收斂速度,而且對(duì)于目標(biāo)的檢測(cè)精度也會(huì)有影響。本文對(duì)扣件目標(biāo)框采用K-means聚類的方法來確定先驗(yàn)框參數(shù)。
根據(jù)K-means 算法的思想,將所有點(diǎn)作為1 個(gè)簇,將該簇一分為二,再選擇能最大程度降低聚類代價(jià)函數(shù)(即誤差平方和)的簇并將其劃分為2 個(gè)簇,或采用選取最大的簇等其他選擇方法,得出最優(yōu)的聚類結(jié)果來計(jì)算平方誤差和(Sum of the Squared Error)。平方誤差和SSE的計(jì)算公式為
式中:K為簇的個(gè)數(shù);wi為權(quán)重;yi為第i個(gè)簇的中心點(diǎn)(質(zhì)心);y*表示該簇所有點(diǎn)的平均值。
依次進(jìn)行下去,直到簇的數(shù)目等于用戶給定的數(shù)目K為止。本文進(jìn)行4 個(gè)尺度的特征圖分析,每個(gè)層次賦予3 個(gè)預(yù)設(shè)邊界框。因此將K設(shè)成12,得到數(shù)據(jù)的12組預(yù)設(shè)邊界框分別為:(86,116),(96,170),(98,154),(100,161),(102,172),(102,134),(104,148),(106,165),(106,157),(113,131),(119,133),(127,145)。
而后,模型對(duì)圖片進(jìn)行柵格化處理,在扣件中心預(yù)設(shè)3 個(gè)預(yù)測(cè)邊界框,然后將預(yù)測(cè)出來的邊界框的寬和高分別與預(yù)設(shè)邊界框的寬和高綁定,這樣無論開始時(shí)預(yù)測(cè)邊界框輸出的寬和高是多少,經(jīng)過轉(zhuǎn)化后都是與預(yù)設(shè)邊界框的寬和高相關(guān)。經(jīng)過多次懲罰訓(xùn)練后,就可以對(duì)相應(yīng)的邊界框進(jìn)行預(yù)測(cè)。
利用Sigmoid 函數(shù)將預(yù)測(cè)偏移量縮放到0 到1 之間,使預(yù)設(shè)邊界框的中心坐標(biāo)固定在一個(gè)柵格中,加快網(wǎng)絡(luò)收斂。實(shí)際輸出的邊界框參數(shù)為
式中:bx和by分別為最終預(yù)測(cè)輸出目標(biāo)邊界框的中心橫、縱坐標(biāo);tx和ty分別為網(wǎng)絡(luò)預(yù)測(cè)的邊界框中心在橫、縱坐標(biāo)方向上的偏移量;σ為 Sigmoid 函數(shù);cx和cy分別為特征圖上預(yù)設(shè)邊界框中心的橫、縱坐標(biāo)值(即扣件中心柵格左上角與特征圖的相對(duì)位置信息);bw和bh分別為轉(zhuǎn)換后預(yù)測(cè)邊界框的實(shí)際寬和高,即最終預(yù)測(cè)輸出目標(biāo)邊界框的寬和高;tw和th分別為寬和高的縮放比值;pw和ph分別為特征圖上預(yù)設(shè)邊界框的寬和高。
將試驗(yàn)所用的扣件圖像作為特征圖進(jìn)行邊界框預(yù)測(cè),如圖3所示。
圖3 預(yù)測(cè)相對(duì)位置
將采集到的20 000 張有砟和無砟軌道圖片(其中包括預(yù)先挑選的負(fù)樣本數(shù)據(jù))作為測(cè)試數(shù)據(jù)集,使用訓(xùn)練好的模型對(duì)其進(jìn)行檢測(cè)分析。與人工檢測(cè)結(jié)果對(duì)比,檢出率(檢測(cè)出的負(fù)樣本數(shù)目占總體負(fù)樣本數(shù)目的百分比)為91.5%,誤報(bào)率(將正樣本錯(cuò)誤標(biāo)注為負(fù)樣本的數(shù)目占整體數(shù)據(jù)的百分比)為0.5%。選取部分有砟軌道和無砟軌道的扣件目標(biāo)識(shí)別圖像(圖4、圖5),分析得出扣件識(shí)別結(jié)果,見表1。
本試驗(yàn)預(yù)設(shè)的扣件狀態(tài)種類的閾值(扣件種類判斷置信度的最低值)為0.8。當(dāng)網(wǎng)絡(luò)判斷扣件的種類置信度超過0.8時(shí),認(rèn)為它是相應(yīng)種類,否則不識(shí)別此扣件狀態(tài)。分析測(cè)試結(jié)果可知,此試驗(yàn)訓(xùn)練模型已初步具備對(duì)軌道扣件進(jìn)行定位識(shí)別的能力,同時(shí)將正?;蛘弋惓顟B(tài)進(jìn)行標(biāo)注,并將異常狀態(tài)的圖片進(jìn)行匯總,再進(jìn)行定點(diǎn)監(jiān)測(cè),可以減少巡線工作量,提高鐵路軌道的巡線檢測(cè)效率。
圖4 部分有砟軌道扣件目標(biāo)識(shí)別圖像
圖5 部分無砟軌道目標(biāo)識(shí)別圖像
表1 YOLOv3算法扣件識(shí)別結(jié)果
本文研究了基于深度學(xué)習(xí)算法的軌道扣件自動(dòng)定位與異常狀態(tài)檢測(cè),利用檢測(cè)速度相對(duì)較快且具有高目標(biāo)檢測(cè)精度的YOLOv3算法對(duì)軌道扣件進(jìn)行自動(dòng)檢測(cè),滿足了快速準(zhǔn)確識(shí)別扣件的需求,減少了人工檢測(cè)的工作量,具有一定的實(shí)際意義。
試驗(yàn)過程中也暴露出一些問題,主要是軌道扣件負(fù)樣本相對(duì)于正常扣件的數(shù)量較少,不能達(dá)到很好的訓(xùn)練效果,容易出現(xiàn)過擬合現(xiàn)象。因此,在后續(xù)工作中可進(jìn)行如下改進(jìn):①繼續(xù)使用軌道檢測(cè)小車采集更多的軌道圖像,找尋更多的負(fù)樣本數(shù)據(jù);②通過對(duì)抗生成網(wǎng)絡(luò)來進(jìn)行訓(xùn)練,自動(dòng)生成異常狀態(tài)扣件圖像,如扣件移位、扣件斷裂、扣件丟失等,達(dá)到一定的負(fù)樣本訓(xùn)練數(shù)目,從而更加準(zhǔn)確地檢測(cè)軌道扣件狀態(tài)。