龐鴻宇,于 龍,高仕斌
受電弓滑板監(jiān)測(cè)裝置(5C)通過拍攝列車車頂圖像指導(dǎo)故障消缺[1],是受電弓自動(dòng)化監(jiān)測(cè)的重要設(shè)備之一。受電弓所在車頂區(qū)域構(gòu)件繁多,檢測(cè)容易受到復(fù)雜背景干擾。在拍攝角度和車速的影響下,車頂圖像還會(huì)出現(xiàn)歪斜畸變,對(duì)受電弓的狀態(tài)識(shí)別帶來困難。為提高自動(dòng)化檢測(cè)效率,首要任務(wù)是實(shí)現(xiàn)車頂圖像中受電弓的定位與矯正。
目前,針對(duì)受電弓檢測(cè)的傳統(tǒng)方法大部分基于形狀特征的提取,如Canny 檢測(cè)[2,3]、HOG+SVM檢測(cè)[4,5]、霍夫變換[6]等。這些方法利用圖像的外觀特征對(duì)受電弓進(jìn)行檢測(cè),算法實(shí)現(xiàn)簡(jiǎn)單,然而車頂各類鋼架、橫梁繁多復(fù)雜,針對(duì)受電弓的檢測(cè)精度低,誤檢率高。近幾年,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)方法取得了較好的效果,如基于潛在區(qū)域推薦的Fast R-CNN[7]和Faster R-CNN[8]目標(biāo)檢測(cè)框架,以及基于回歸的YOLO[9]系列網(wǎng)絡(luò)等?;诰矸e神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)方法相對(duì)傳統(tǒng)方法而言,能夠提取深度特征,具有良好的魯棒性。文獻(xiàn)[10]提出改進(jìn)的YOLO V2 算法,對(duì)受電弓進(jìn)行實(shí)時(shí)檢測(cè)。文獻(xiàn)[11]改進(jìn)YOLO V3 網(wǎng)絡(luò)的結(jié)構(gòu),對(duì)接觸網(wǎng)絕緣子進(jìn)行目標(biāo)識(shí)別與定位。上述基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)方法都是通過預(yù)設(shè)不同尺度及位置的錨點(diǎn)框獲取描述目標(biāo)的特征向量實(shí)現(xiàn)檢測(cè),在圖像歪斜畸變角度不大時(shí)可以實(shí)現(xiàn)受電弓的定位,但目標(biāo)的檢測(cè)結(jié)果是外接矩形框,對(duì)于因拍攝角度造成的透視畸變的目標(biāo)而言檢測(cè)結(jié)果不準(zhǔn)確,更無法進(jìn)行圖像的矯正。目前尚缺乏針對(duì)受電弓的精確檢測(cè)及圖像矯正方法,國(guó)內(nèi)外相關(guān)研究也近乎空白。
針對(duì)上述研究現(xiàn)狀,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的受電弓精確檢測(cè)與圖像矯正方法。該方法能夠直接預(yù)測(cè)受電弓區(qū)域的4 個(gè)頂點(diǎn)坐標(biāo),將頂點(diǎn)圍成的四邊形作為受電弓的精確檢測(cè)結(jié)果,提高受電弓的檢測(cè)精度。同時(shí),還可利用頂點(diǎn)坐標(biāo)進(jìn)行透視變換,完成傾斜矯正,為后續(xù)受電弓的狀態(tài)判斷提供更良好的數(shù)據(jù)集。
受電弓滑板監(jiān)測(cè)裝置(5C)包括高清攝像機(jī)、攝像云臺(tái)、視頻傳輸系統(tǒng)、視頻顯示系統(tǒng)、視頻分析處理系統(tǒng)等,安裝于車站、車站咽喉處和動(dòng)車段出入庫(kù)線上[1]。列車進(jìn)出站時(shí)自動(dòng)觸發(fā)裝置獲取列車車頂高清圖像,拍攝圖片尺寸為2 048×3 000。5C 裝置的拍攝方式與所拍部分圖像分別如圖1、圖2 所示。
圖1 5C 裝置安裝位置及拍攝示意圖
圖2 5C 裝置拍攝的圖像
本文所述方法的整體網(wǎng)絡(luò)由特征提取網(wǎng)絡(luò)與轉(zhuǎn)置卷積網(wǎng)絡(luò)構(gòu)成,如圖3 所示。特征提取網(wǎng)絡(luò)用于提取圖像特征,將原始圖像轉(zhuǎn)化為含有豐富特征信息的特征圖。轉(zhuǎn)置卷積網(wǎng)絡(luò)用于處理小分辨率特征圖得到大分辨率特征圖,以此生成檢測(cè)受電弓4個(gè)頂點(diǎn)的熱圖,熱圖反映了受電弓區(qū)域4 個(gè)頂點(diǎn)可能出現(xiàn)的位置的概率;最后根據(jù)預(yù)測(cè)的頂點(diǎn)位置坐標(biāo)進(jìn)行透視變換,得到更良好的受電弓區(qū)域圖像。
圖3 受電弓檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)
近年來,很多學(xué)者設(shè)計(jì)了豐富的網(wǎng)絡(luò)結(jié)構(gòu)用于圖像識(shí)別[12]、目標(biāo)檢測(cè)[7]以及實(shí)例分割[13]等領(lǐng)域。從最早出現(xiàn)的LeNet[14]網(wǎng)絡(luò)到后來的VGGNet[15],可以觀察到網(wǎng)絡(luò)的性能隨著網(wǎng)絡(luò)深度的加深而不斷提高,但是當(dāng)網(wǎng)絡(luò)層數(shù)增長(zhǎng)到一定數(shù)量后,網(wǎng)絡(luò)深度再加深會(huì)產(chǎn)生性能下降的現(xiàn)象。實(shí)驗(yàn)證明這種現(xiàn)象是梯度消失造成的,文獻(xiàn)[16]提出的深度殘差網(wǎng)絡(luò)(ResNet)結(jié)構(gòu)解決了這一問題,解決問題的核心是殘差塊。一個(gè)殘差塊的結(jié)構(gòu)如圖4 所示,其中BN 為批量歸一化操作,ReLU 為激活函數(shù)。
圖4 殘差模塊結(jié)構(gòu)示意圖
殘差塊由恒等映射和殘差兩部分構(gòu)成,一個(gè)殘差塊可以表示為
殘差函數(shù)不僅可以減小網(wǎng)絡(luò)計(jì)算量,還可用于訓(xùn)練網(wǎng)絡(luò)參數(shù),簡(jiǎn)化學(xué)習(xí)難度。本文采用ResNet網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),去掉最后的池化層與全連接層,形成的特征圖作為轉(zhuǎn)置卷積網(wǎng)絡(luò)的輸入。
轉(zhuǎn)置卷積網(wǎng)絡(luò)由若干個(gè)轉(zhuǎn)置卷積層組成,用于將低維向量映射到高維向量,提高特征圖的分辨率。卷積與轉(zhuǎn)置卷積運(yùn)算如圖5 所示。由圖5(a)可以看出,卷積運(yùn)算將特征圖縮小。圖5(b)中轉(zhuǎn)置卷積運(yùn)算將特征圖分辨率擴(kuò)大。由于受電弓區(qū)域的頂點(diǎn)占用圖像像素比例極小,本文采用轉(zhuǎn)置卷積操作,以獲得更多頂點(diǎn)的特征信息。
圖5 卷積與轉(zhuǎn)置卷積示意圖
特征圖分辨率擴(kuò)大的倍數(shù)與轉(zhuǎn)置卷積層的數(shù)量及運(yùn)算的步長(zhǎng)有關(guān),其輸入輸出關(guān)系如下:
o=s(i- 1) + 2p-k+ 2 (4)
式中:i、o分別為轉(zhuǎn)置卷積的輸入與輸出;s為步長(zhǎng);k為卷積核大??;p為邊界填充大小。
本文采用的轉(zhuǎn)置卷積網(wǎng)絡(luò)包含3 個(gè)轉(zhuǎn)置卷積層,主要結(jié)構(gòu)如表1 所示。3 個(gè)轉(zhuǎn)置卷積層的每層有256 個(gè)4×4 大小的卷積核,之后通過卷積核大小為1×1 的卷積層生成熱圖。
表1 轉(zhuǎn)置卷積層結(jié)構(gòu)
在實(shí)際任務(wù)中,受電弓的頂點(diǎn)無法被某一個(gè)像素位置定義,標(biāo)注頂點(diǎn)周圍的像素點(diǎn)與標(biāo)注點(diǎn)十分相近,若將其直接歸為負(fù)樣本會(huì)對(duì)網(wǎng)絡(luò)的訓(xùn)練造成干擾。本文采用高斯函數(shù)對(duì)頂點(diǎn)作“軟標(biāo)注”,以對(duì)應(yīng)頂點(diǎn)的真實(shí)位置為中心的高斯函數(shù)響應(yīng)值作為目標(biāo)熱圖,使網(wǎng)絡(luò)更容易收斂?!败洏?biāo)注”處理方法如式(5)所示。
式中:(Win,Hin)為網(wǎng)絡(luò)輸入圖像的尺寸;(Wout,Hout)為網(wǎng)絡(luò)輸出特征圖的尺寸;(xt-o,yt-o)為頂點(diǎn)在輸入圖像上的位置;(xt-p,yt-p)為頂點(diǎn)在特征圖上對(duì)應(yīng)的位置;g(x,y)為標(biāo)簽特征圖上(x,y)位置的標(biāo)簽響應(yīng)值;σ為高斯函數(shù)的方差,σ的設(shè)定與輸出特征圖尺寸有關(guān)。本文設(shè)置若輸出特征圖尺寸Hout為64,則σ為2;若Hout為96,則σ為3;若Hout為128,則σ為4;以此類推。
采用均方誤差(MSE)作為網(wǎng)絡(luò)的損失函數(shù),如式(6)所示。
式中:f(x,y)為網(wǎng)絡(luò)輸出特征圖上(x,y)位置的響應(yīng)值。
由于5C 裝置安裝時(shí)無法對(duì)安裝角度進(jìn)行準(zhǔn)確調(diào)整,列車行進(jìn)方向與圖像坐標(biāo)軸呈一定夾角,對(duì)后續(xù)受電弓檢測(cè)造成干擾,因此需要對(duì)圖像進(jìn)行透視矯正,保持受電弓滑板平行于圖像坐標(biāo)軸。對(duì)受電弓檢測(cè)出的4 個(gè)頂點(diǎn)進(jìn)行透視變換即可得到矯正后的受電弓區(qū)域圖像。透視矯正算法計(jì)算式為
式中:(x,y,w)為預(yù)測(cè)的頂點(diǎn)在原圖的坐標(biāo),實(shí)際常取w= 1;(x′,y′,w′)為預(yù)測(cè)的頂點(diǎn)變換后的坐標(biāo)。
因此,根據(jù)透視變換前后4 個(gè)頂點(diǎn)的坐標(biāo)即可求取4 組變換公式,獲得變換矩陣,最終得到透視變換后的圖像。
本文選取實(shí)際線路上5C 裝置拍攝的1 000 張圖像作為樣本庫(kù),圖像尺寸為2 048×3 000。以ResNet-101 網(wǎng)絡(luò)作為模型的核心網(wǎng)絡(luò),將模型輸入尺寸設(shè)為288×384,從而減小模型運(yùn)算的時(shí)間與復(fù)雜度。模型訓(xùn)練集、驗(yàn)證集、測(cè)試集所用樣本數(shù)量比例為8∶1∶1。網(wǎng)絡(luò)訓(xùn)練過程中超參數(shù)的設(shè)置如表2 所示。
表2 網(wǎng)絡(luò)訓(xùn)練超參數(shù)設(shè)置
由于線路或拍攝角度不同,受電弓區(qū)域在圖像中的大小是不同的,因此采用對(duì)受電弓頂點(diǎn)預(yù)測(cè)的絕對(duì)偏差進(jìn)行評(píng)價(jià)是不合理的。本文采用式(11)中的相對(duì)偏差得分(score)對(duì)檢測(cè)網(wǎng)絡(luò)預(yù)測(cè)的位置進(jìn)行評(píng)價(jià)。相對(duì)偏差得分能夠有效消除拍攝角度不同所造成的影響,其計(jì)算式為
定義預(yù)測(cè)的4 個(gè)頂點(diǎn)坐標(biāo)構(gòu)成的外接四邊形表示為R,根據(jù)人工標(biāo)注的真實(shí)受電弓滑板4 個(gè)頂點(diǎn)組成的外接矩形表示為Rgt,則受電弓檢測(cè)的精度可以用交并比(IOU)來表示:
本文以受電弓滑板4 個(gè)端點(diǎn)作為頂點(diǎn)進(jìn)行定位實(shí)驗(yàn),顯卡為 GTX1080Ti,軟件平臺(tái)為Python3.5.0,算法框架為Tensorflow1.3。測(cè)試集樣本100 張,每個(gè)測(cè)試樣本標(biāo)注受電弓的4 個(gè)頂點(diǎn),則測(cè)試集共有400 個(gè)點(diǎn)。受電弓滑板區(qū)域4 個(gè)頂點(diǎn)的標(biāo)注坐標(biāo)與模型預(yù)測(cè)坐標(biāo)結(jié)果如圖6 所示,其中圓形點(diǎn)為預(yù)測(cè)坐標(biāo)點(diǎn),“×”形點(diǎn)為標(biāo)注點(diǎn)??梢钥吹剑P皖A(yù)測(cè)坐標(biāo)結(jié)果從視覺上與標(biāo)注坐標(biāo)十分接近,并且能夠很好地反映受電弓所在區(qū)域,在視覺上具有良好的預(yù)測(cè)效果。
圖6 標(biāo)注坐標(biāo)與預(yù)測(cè)坐標(biāo)示意圖
為了從數(shù)值上分析模型的預(yù)測(cè)效果,表3 展示了圖6 中4 個(gè)預(yù)測(cè)點(diǎn)的絕對(duì)距離偏差與相對(duì)距離偏差的計(jì)算結(jié)果。
表3 頂點(diǎn)預(yù)測(cè)位置的偏差結(jié)果
測(cè)試集所有樣本頂點(diǎn)的絕對(duì)偏差與相對(duì)偏差的整體分布如圖7 所示。相對(duì)距離偏差的柱狀分布如圖8 所示。
圖7 測(cè)試集中頂點(diǎn)的預(yù)測(cè)結(jié)果整體分布
圖8 頂點(diǎn)的預(yù)測(cè)結(jié)果中相對(duì)偏差距離分布
由圖7 可以看到,所有頂點(diǎn)的檢測(cè)結(jié)果位于對(duì)角線周圍,代表測(cè)試集中受電弓滑板區(qū)域面積大小接近。絕對(duì)偏差大部分集中于40 個(gè)像素點(diǎn)以內(nèi),相對(duì)偏差大部分集中于0.05 以內(nèi)。由圖8 可得,頂點(diǎn)的檢測(cè)結(jié)果中相對(duì)偏差在0.01~0.02 的有167個(gè),占比最大(41.75%);相對(duì)偏差在0.05 以上的有6 個(gè),占比最少(1.5%)。定義相對(duì)偏差得分閾值不超過0.05 的檢測(cè)點(diǎn)為正確檢測(cè)點(diǎn),則模型對(duì)受電弓頂點(diǎn)的檢測(cè)準(zhǔn)確率為98.5%。
為進(jìn)一步驗(yàn)證本文所述受電弓檢測(cè)方法在精確度上的提升,將本文方法與文獻(xiàn)[10]中針對(duì)受電弓檢測(cè)的YOLO V2目標(biāo)檢測(cè)算法進(jìn)行對(duì)比。將100張測(cè)試樣本劃分為兩類:普通受電弓圖和歪斜畸變受電弓圖,其中歪斜畸變圖有62 張。計(jì)算兩種方法在測(cè)試集上的平均IOU結(jié)果如表4 所示。
表4 受電弓檢測(cè)精度比較結(jié)果
分析表4 可知,針對(duì)普通受電弓圖像,本文方法和YOLO V2 方法的檢測(cè)精度相當(dāng),然而對(duì)于歪斜畸變的受電弓圖像,YOLO V2 檢測(cè)精度明顯下降,本文方法的檢測(cè)精度仍處于較高水平,平均檢測(cè)精度達(dá)到0.967。
獲得4 個(gè)頂點(diǎn)的準(zhǔn)確位置能夠?yàn)槭茈姽某C正提供幫助。獲得受電弓滑板區(qū)域頂點(diǎn)定位的結(jié)果后,可依據(jù)4 個(gè)頂點(diǎn)位置結(jié)果進(jìn)行透視變換,得到角度合適的圖像。頂點(diǎn)定位后的透視變換結(jié)果如圖9 所示。
圖9 透視變換結(jié)果
由圖9 可以看出,本文方法解決了拍攝角度帶來的受電弓歪斜畸變問題,能夠?yàn)槭茈姽暮罄m(xù)狀態(tài)判斷提供更良好的數(shù)據(jù)集。
(1)為精確檢測(cè)受電弓,采用殘差網(wǎng)絡(luò)提取車頂受電弓頂點(diǎn)的粗特征,再以轉(zhuǎn)置卷積網(wǎng)絡(luò)擴(kuò)大特征圖,提升特征的提取精度,通過訓(xùn)練及預(yù)測(cè)獲得精確的受電弓頂點(diǎn)定位結(jié)果。與目前受電弓的目標(biāo)檢測(cè)方法進(jìn)行對(duì)比,驗(yàn)證了本文所述方法能夠保證檢測(cè)的性能。
(2)基于頂點(diǎn)定位結(jié)果的透視變換算法能夠優(yōu)化受電弓的檢測(cè)圖像,明顯提升歪斜受電弓圖像的定位效果,為生成良好圖像數(shù)據(jù)集提供參考。本文所述方法在工程應(yīng)用上具有一定的參考價(jià)值。