倪費(fèi)杰,林群煦,閆笑顏,徐群華,吳月玉,江旭耀
(五邑大學(xué) 軌道交通學(xué)院,廣東 江門529020)
隨著我國(guó)軌道交通的快速發(fā)展,國(guó)內(nèi)鐵路里程的不斷增加,無論是客運(yùn)還是貨運(yùn),鐵路運(yùn)輸起到其他運(yùn)輸方式無法代替的作用,然而鐵路的安全與養(yǎng)護(hù)與列車的安全運(yùn)行有著至關(guān)重要的關(guān)系??奂_保了鋼軌與鋼軌及鋼軌與軌枕之間的可靠聯(lián)結(jié),保持了鋼軌的連續(xù)性與整體性??奂軌蜃柚逛撥壪鄬?duì)于軌枕的縱向移動(dòng)、確保軌距正常,并在機(jī)車車輛的動(dòng)力作用下充分發(fā)揮緩沖減振功能,減緩線路殘余變形的積累。但列車在行駛過程中產(chǎn)生劇烈振動(dòng)、雨水對(duì)扣件的腐蝕等因素,都可能產(chǎn)生扣件缺陷,甚至由此引發(fā)列車脫軌事故的發(fā)生。因此,亟需一種迅速且能自動(dòng)化檢測(cè)扣件缺陷的方法。
目前,國(guó)內(nèi)扣件缺陷檢測(cè)方式仍然以人工巡檢為主,以巡檢列車檢測(cè)為輔,主要原因是尚缺少高效準(zhǔn)確的扣件檢測(cè)算法,且多數(shù)算法不穩(wěn)定[1]。在國(guó)外的高速巡檢列車中,美國(guó)ENSCO公司的T10型檢測(cè)列車、英國(guó)的NMT綜合巡檢列車和法國(guó)的IRIS320型綜合巡檢列車都基本實(shí)現(xiàn)了對(duì)扣件圖像的采集和檢測(cè)任務(wù)[2]。近年來隨著神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)(Deep Learning)的快速發(fā)展,小目標(biāo)缺陷檢測(cè)技術(shù)越來越成熟,并且相關(guān)的研究已經(jīng)應(yīng)用到識(shí)別有砟軌道區(qū)域、軌道塞釘[3]等零部件的檢測(cè),并取得了良好的檢測(cè)效果。
針對(duì)人工巡檢效率低下、成本較高、準(zhǔn)確率難以保障的問題,本文采用Mask R-CNN網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)軌道扣件的缺陷檢測(cè),從而實(shí)現(xiàn)軌道扣件的自動(dòng)化檢測(cè)。
本文建立的缺陷檢測(cè)系統(tǒng)主要由扣件圖像采集系統(tǒng)、缺陷識(shí)別系統(tǒng)組成。其中圖像采集系統(tǒng)由可在軌運(yùn)行的檢測(cè)小車、高速工業(yè)相機(jī)、相機(jī)支架與補(bǔ)光燈支架組成。其中檢測(cè)小車速度為2 m/s,扣件所在區(qū)域尺寸為350 mm×150 mm,綜合考慮扣件所在區(qū)域、不同扣件的生產(chǎn)和測(cè)量誤差,選取不同扣件的平均誤差0.2 mm來計(jì)算所需工業(yè)相機(jī)的分辨率。計(jì)算公式如下:
相機(jī)分辨率=檢測(cè)區(qū)域的面積÷(檢測(cè)精度×檢測(cè)精度)。
所以相機(jī)分辨率約為131萬。為了提高系統(tǒng)的精準(zhǔn)度和穩(wěn)定性,減少干擾像素點(diǎn)被誤認(rèn)為缺陷的概率,一般工業(yè)界取缺陷的面積在3~4個(gè)像素以上,因此在選擇相機(jī)時(shí)應(yīng)在上述結(jié)果的基礎(chǔ)上乘以4,故選取500萬像素的工業(yè)相機(jī)。
缺陷識(shí)別系統(tǒng)以TensorFlow、Keras架構(gòu)為基礎(chǔ),使用Python語(yǔ)言編寫Mask R-CNN算法。
Mask R-CNN[4](結(jié)構(gòu)簡(jiǎn)圖如圖1)是2017年He Kaiming首次提出,該網(wǎng)絡(luò)是在分類與回歸2個(gè)分支的基礎(chǔ)上增加了一個(gè)Mask分支進(jìn)行語(yǔ)義分割。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)圖
Mask R-CNN中定義的損失函數(shù)是一個(gè)多任務(wù)的損失函數(shù):
本文介紹的Mask R-CNN網(wǎng)絡(luò),以Resnet101[5]為主干特征提取網(wǎng)絡(luò)。如圖2所示,首先將輸入的圖片使用Zeropadding(零填充),將圖片大小統(tǒng)一為1024×1024,經(jīng)過卷積、Batch Normalization(批歸一化)、Relu函數(shù)等一系列操作提取特征,以提取到的C2、C3、C4、C5等4個(gè)有效特征層為基礎(chǔ)建立FPN。
本文利用Mask R-CNN算法實(shí)現(xiàn)對(duì)扣件與扣件缺陷的實(shí)例分割任務(wù),采集校內(nèi)軌道扣件圖像,建立一個(gè)扣件數(shù)據(jù)集??奂D像經(jīng)過主干特征提取網(wǎng)絡(luò)后得到不同維度的特征圖,隨后由FPN對(duì)特征圖進(jìn)行特征融合,最后由RPN對(duì)融合后的特征進(jìn)行分類、回歸及掩膜生成。
2.2.1 FPN模塊
FPN[5]是傳統(tǒng)CNN網(wǎng)絡(luò)對(duì)圖片信息表達(dá)輸出的一種增強(qiáng),改進(jìn)了CNN網(wǎng)絡(luò)的特征提取方式,使最終輸出的特征可以更好地表示輸入圖片各個(gè)維度的信息。使用主干特征提取網(wǎng)絡(luò)中依次縮小了4、8、16、32 倍 的C2、C3、C4、C5的結(jié)果構(gòu)建FPN。如圖3所示,它的基本流程為:由上至下對(duì)C2、C3、C4、C5進(jìn)行卷積操作,對(duì)不同維度生成特征,隨后由下至上從C5進(jìn)行上采樣,與C4卷積后的結(jié)果相融合,把融合后的結(jié)果上采樣,再與C3卷后的結(jié)果融合,重復(fù)上述過程一直到C2;完成上述特征融合操作后,得到P2、P3、P4、P5,再將P5經(jīng)過一次pool_size為1×1、步長(zhǎng)為2的最大池化操作,得到P6,從而實(shí)現(xiàn)多尺度特征融合。
圖2 ResNet101主干特征提取網(wǎng)絡(luò)
圖3 金字塔特征提取網(wǎng)絡(luò)結(jié)構(gòu)
2.2.2 RPN模塊
RPN首先由Faster R-CNN提出,其主要作用是提取候選框。把FPN提取到的P2、P3、P4、P5、P6作為RPN網(wǎng)絡(luò)的有效特征層,上述有效特征層在圖像中時(shí)就是特征圖,首先對(duì)特征圖進(jìn)行一次通道數(shù)為512、卷積核大小為3×3的卷積。對(duì)于特征圖上的每一個(gè)點(diǎn)(即錨點(diǎn),anchor point),生成具有不同尺度和寬高比的RoI,隨后進(jìn)行NMS(非極大值抑制)篩選出得分較高的RoI。然后將這些RoI輸入到兩個(gè)網(wǎng)絡(luò)層中去,其中一個(gè)網(wǎng)絡(luò)層用來分類,使用通道數(shù)為6、卷積核大小為1×1的卷積預(yù)測(cè)公用特征層上每個(gè)網(wǎng)格點(diǎn)上的每個(gè)預(yù)測(cè)框內(nèi)是否包含了物體(即這個(gè)RoI里面的特征圖是否屬于前景);另一個(gè)網(wǎng)絡(luò)層輸出4個(gè)位置坐標(biāo),使用anchors_per_location×4的卷積預(yù)測(cè)公用特征層上每個(gè)網(wǎng)格點(diǎn)上的每個(gè)先驗(yàn)框相對(duì)于真實(shí)物體框的偏移。
獲得上述4個(gè)位置坐標(biāo)后使用RoI Align,解決了RoI Pooling操作中2次量化造成的區(qū)域不匹配(mis-alignment)的問題,并且提升了模型的檢測(cè)精度。主要是取消了量化操作,使用雙線性差值的方法(如圖4)獲得坐標(biāo)為浮點(diǎn)數(shù)的像素點(diǎn)對(duì)應(yīng)的圖像數(shù)值,從而將特征聚集的過程轉(zhuǎn)化為一個(gè)連續(xù)的操作。
若已知點(diǎn)Q11=(x1,y1),Q12=(x1,y2),Q21=(x2,y1),Q22=(x2,y2)。
在x方向的線性插值為
圖4 雙線性差值示意圖
遍歷每一個(gè)候選區(qū)域并對(duì)候選框進(jìn)行雙線性插值操作,保持浮點(diǎn)數(shù)邊界不做量化;將候選區(qū)域分割成k×k個(gè)單元,每個(gè)單元的邊界也不做量化;在每個(gè)單元中計(jì)算固定4個(gè)坐標(biāo)位置,用雙線性插值的方法計(jì)算出這4個(gè)位置的值,然后進(jìn)行最大池化操作(如圖5)[7]。
圖5 RoI Align示意圖
對(duì)經(jīng)過RoI Align的RoI進(jìn)行一次通道數(shù)為1024、卷積核大小為7×7的卷積和一次通道數(shù)為1024、卷積核大小為1×1的卷積。以上兩次通道數(shù)為1024的卷積是用于模擬兩次通道數(shù)為1024的全連接,然后再分別通過全連接層和softmax及全連接層和Rshape操作,分別得到建議框內(nèi)物體類別和建議框的調(diào)整參數(shù),經(jīng)過參數(shù)調(diào)整后的建議框就是最終的預(yù)測(cè)框。
在mask分支里,其首先對(duì)經(jīng)過RoI Align的RoI進(jìn)行resize操作后,使其卷積核大小為14×14、通道數(shù)為256,對(duì)其進(jìn)行4次通道數(shù)為256、卷積核大小為3×3的卷積,進(jìn)行一次反卷積將面積擴(kuò)大1倍,再進(jìn)行一次通道數(shù)為num_classes的卷積,最后mask模型再對(duì)像素點(diǎn)進(jìn)行分類,獲得語(yǔ)義分割結(jié)果。
本試驗(yàn)是在Ubuntu18.04.3系統(tǒng)中運(yùn)行,電腦處理器為Intel Core i7-9700,顯卡為NVIDIA RTX 2060,內(nèi)存為16G,試驗(yàn)框架為TensorFlow與Keras。
本試驗(yàn)數(shù)據(jù)集來源于校內(nèi)軌道,通過高速工業(yè)相機(jī)采集扣件圖片。其中常見的扣件缺陷包括扣件斷裂、扣件缺失、扣件螺母松動(dòng)引起的扣件旋轉(zhuǎn)等3種缺陷。因此本文自制了包括正常軌道扣件在內(nèi)的4類數(shù)據(jù)集,分別是正常扣件(koujian)、斷裂扣件(duanlie)、扣件缺失(queshi)、扣件旋轉(zhuǎn)(xzhuan),各類樣本如圖6所示。
圖6 正??奂c缺陷扣件
上述缺陷扣件圖像共采集150余張,正??奂D像400余張,對(duì)缺陷扣件圖像進(jìn)行鏡像、高斯模糊等操作后擴(kuò)展到600張,其中各類缺陷各占200張。隨機(jī)取出扣件圖像420張、正常扣件280張組成訓(xùn)練數(shù)據(jù)集,再將剩余的180張缺陷扣件與120張正常扣件樣本組成測(cè)試數(shù)據(jù)集。使用Labelme工具對(duì)數(shù)據(jù)集圖像進(jìn)行標(biāo)注并以json文件存儲(chǔ)。
使用Mask R-CNN網(wǎng)絡(luò)訓(xùn)練時(shí),學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練50個(gè)epoch,每個(gè)epoch迭代250次,訓(xùn)練過程總計(jì)12 500次。損失函數(shù)曲線圖如圖7所示,橫坐標(biāo)表示訓(xùn)練的epoch的次數(shù),縱坐標(biāo)表示損失函數(shù)的計(jì)算結(jié)果。該曲線從第10個(gè)epoch損失函數(shù)曲線就已經(jīng)趨于穩(wěn)定,充分證明了本網(wǎng)絡(luò)的優(yōu)越性能。同時(shí),也證明了本網(wǎng)絡(luò)能使用較少的數(shù)據(jù)集就可以訓(xùn)練出一個(gè)相對(duì)理想的模型。實(shí)驗(yàn)結(jié)果如圖8所示,預(yù)測(cè)框能夠準(zhǔn)確地預(yù)測(cè)、標(biāo)記缺陷種類與扣件位置,并且也能通過語(yǔ)義分割較準(zhǔn)確地分割出扣件形狀。
圖7 損失函數(shù)圖像
圖8 部分實(shí)驗(yàn)結(jié)果樣例
本文實(shí)現(xiàn)了Mask R-CNN 網(wǎng)絡(luò)在鐵路扣件缺陷檢測(cè)領(lǐng)域的應(yīng)用,把采集到的正??叟c進(jìn)行數(shù)據(jù)增強(qiáng)處理的缺陷扣件組成數(shù)據(jù)集,按照7:3的比例分為訓(xùn)練集和測(cè)試集。并且對(duì)該網(wǎng)絡(luò)的結(jié)構(gòu)及部分重點(diǎn)算法原理進(jìn)行了簡(jiǎn)單分析,本文試驗(yàn)驗(yàn)證結(jié)果表明,相較于其他算法,不僅可以通過預(yù)測(cè)框分辨出缺陷類別,也可以通過語(yǔ)義分割后的圖像形狀分辨出缺陷種類。在不影響檢測(cè)精度的條件下,進(jìn)一步提升檢測(cè)速度與語(yǔ)義分割的精度是后續(xù)主要的研究方向。