薛憲堂,王登陽(yáng),張 翼,周 威,王燕國(guó)
(1.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 基礎(chǔ)設(shè)施檢測(cè)研究所,北京 100081;2.北京鐵科英邁技術(shù)有限公司 研發(fā)中心,北京 100081)
鐵路基礎(chǔ)設(shè)施動(dòng)態(tài)檢測(cè)一般通過(guò)安裝在專(zhuān)業(yè)檢測(cè)車(chē)上的檢測(cè)設(shè)備獲取基礎(chǔ)設(shè)施狀態(tài),發(fā)現(xiàn)基礎(chǔ)設(shè)施相關(guān)設(shè)備缺陷。其中,缺陷問(wèn)題的準(zhǔn)確定位是檢測(cè)系統(tǒng)中非常重要的部分,常見(jiàn)的定位方法通過(guò)公里標(biāo)進(jìn)行關(guān)聯(lián)定位,該方法通過(guò)綜合定位的手段能夠?qū)崿F(xiàn)精確定位[1]。然而,對(duì)于供電系統(tǒng),公里標(biāo)定位方式在現(xiàn)場(chǎng)運(yùn)行維修中具有查找時(shí)間較長(zhǎng)、操作不直觀等問(wèn)題。接觸網(wǎng)支柱號(hào)在接觸網(wǎng)檢測(cè)和日常供電維護(hù)中能夠提供重要的定位標(biāo)志信息,對(duì)于供電設(shè)備缺陷的復(fù)核整治、修復(fù)都能夠起到快速、準(zhǔn)確的定位作用。高速鐵路供電安全檢測(cè)監(jiān)測(cè)系統(tǒng)(6C系統(tǒng))總體技術(shù)規(guī)范中對(duì)接觸網(wǎng)檢測(cè)數(shù)據(jù)的定位和存儲(chǔ)都提出了一桿一檔的要求[2],一桿一檔的存儲(chǔ)方式符合鐵路供電系統(tǒng)的專(zhuān)業(yè)特點(diǎn)和設(shè)備管理方式,在這種背景下接觸網(wǎng)支柱號(hào)的作用尤為重要。
國(guó)內(nèi)很多研究人員都研究了通過(guò)圖像的方式識(shí)別支柱號(hào)的方法,吳光龍?zhí)岢隽嘶谥С窒蛄繖C(jī)的自動(dòng)識(shí)別接觸網(wǎng)支柱號(hào)的方法[3];楊文靜等人提出了基于多幀桿號(hào)字符識(shí)別的接觸網(wǎng)檢測(cè)系統(tǒng)[4]。但是這些研究方法都依賴(lài)經(jīng)驗(yàn)閾值或者圖像閾值,容易受天氣、環(huán)境和光照等因素的影響,難以普適?;?/p>
卷積神經(jīng)網(wǎng)絡(luò)的每個(gè)神經(jīng)單元,如圖1所示。
圖1 神經(jīng)單元示意圖
對(duì)應(yīng)式如式(1)所示:
式中:yj為第j個(gè)神經(jīng)元的輸出結(jié)果;f(x)為激勵(lì)函數(shù)(常用的激勵(lì)函數(shù)有sigmoid函數(shù)、線性糾正函數(shù)、tanh(x)函數(shù)等);xi為輸入信號(hào);wij為第j個(gè)神經(jīng)元的第i個(gè)輸入的系數(shù);bj為神經(jīng)元的偏移量。
該單元可以被稱(chēng)作是Logistic回歸模型。當(dāng)將多個(gè)單元組合起來(lái)并具有分層結(jié)構(gòu)時(shí),就形成了人工神經(jīng)網(wǎng)絡(luò)模型[9]。
卷積神經(jīng)網(wǎng)絡(luò)在上述理論基礎(chǔ)上發(fā)展而來(lái),它的基本結(jié)構(gòu)包括卷積層、池化層、全連接層和輸出層。在卷積神經(jīng)網(wǎng)絡(luò)的卷積卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)是目前快速發(fā)展的目標(biāo)檢測(cè)技術(shù)之一,已經(jīng)成為了研究的熱點(diǎn)。先后出現(xiàn)了rcnn、fast rcnn、faster rcnn、YOLO和SSD等目標(biāo)檢測(cè)算法。Caffe、TensorFlow等開(kāi)源深度學(xué)習(xí)框架的發(fā)展使得卷積神經(jīng)網(wǎng)絡(luò)能夠快速實(shí)現(xiàn),一些公司也相繼開(kāi)源了他們的深度學(xué)習(xí)框架,降低基于深度學(xué)習(xí)的開(kāi)發(fā)成本,推廣卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用。目前,基于卷積神經(jīng)網(wǎng)絡(luò)的研究取得了優(yōu)秀成果,本文也探索將其應(yīng)用到鐵路基礎(chǔ)設(shè)施檢測(cè)的相關(guān)實(shí)際問(wèn)題中,并取得了較好的結(jié)果[5-8]。
結(jié)合鐵路基礎(chǔ)設(shè)施檢測(cè)環(huán)境的實(shí)際特點(diǎn)提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的接觸網(wǎng)支柱號(hào)識(shí)別方法,為鐵路供電基礎(chǔ)設(shè)施檢測(cè)的缺陷定位和建立一桿一檔數(shù)據(jù)庫(kù)提供了有效手段。層中,神經(jīng)元只與部分鄰層神經(jīng)元連接,這層通常包含若干個(gè)特征平面,每個(gè)特征平面由一些矩陣形式的神經(jīng)元組成,同一特征平面的神經(jīng)元共享權(quán)值,這里共享的權(quán)值就是卷積核。卷積核一般以隨機(jī)數(shù)的形式初始化或者通過(guò)已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)參數(shù)初始化(網(wǎng)絡(luò)精調(diào)),在網(wǎng)絡(luò)的訓(xùn)練過(guò)程中卷積核將學(xué)習(xí)得到合理的權(quán)值。共享權(quán)值(卷積核)帶來(lái)的直接好處是減少網(wǎng)絡(luò)各層之間的連接,同時(shí)又降低了過(guò)擬合的風(fēng)險(xiǎn)。池化層通常有均值子采樣和最大值子采樣兩種形式。子采樣可以看作一種特殊的卷積過(guò)程。卷積和子采樣簡(jiǎn)化了模型復(fù)雜度,減少了模型的參數(shù)。全連接層通過(guò)矩陣向量乘積操作把特征空間線性變換到另一個(gè)特征空間,從而為分類(lèi)做好準(zhǔn)備,全連接層通常出現(xiàn)在網(wǎng)絡(luò)的后幾層。輸出層起到分類(lèi)器的功能,可以采用Logical回歸、Softmax回歸、或者支持向量機(jī)等方式進(jìn)行分類(lèi)。
網(wǎng)絡(luò)模型基于SSD(single shot multibox detector)網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)結(jié)構(gòu)同時(shí)實(shí)現(xiàn)了檢測(cè)和分類(lèi),進(jìn)行端對(duì)端的一體化訓(xùn)練和目標(biāo)檢測(cè)。SSD網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。
SSD網(wǎng)絡(luò)結(jié)構(gòu)方法將結(jié)果轉(zhuǎn)化為每一個(gè)特征圖對(duì)應(yīng)不同的比例和尺度的候選結(jié)果集合。預(yù)測(cè)時(shí),網(wǎng)絡(luò)為候選結(jié)果對(duì)應(yīng)的每一個(gè)存在類(lèi)別進(jìn)行評(píng)分,并據(jù)此改進(jìn)候選結(jié)果來(lái)更準(zhǔn)確地匹配識(shí)別物的形狀。該網(wǎng)絡(luò)結(jié)合不同規(guī)格的特征圖加強(qiáng)了其多尺度檢測(cè)的性能。網(wǎng)絡(luò)模型是可用于多個(gè)分類(lèi)的單次檢測(cè)器,和以往的單次檢測(cè)器相比速度更快,準(zhǔn)確性并沒(méi)有下降,該方法在特征圖上使用小卷積核,增強(qiáng)了對(duì)檢測(cè)物特征的表達(dá)力。
圖2 網(wǎng)絡(luò)結(jié)構(gòu)
總體目標(biāo)損失函數(shù)是位置損失函數(shù)(loc)和置信損失函數(shù)(conf)的加權(quán)和,如式(2)所示,其中,N為匹配的默認(rèn)框的數(shù)量,如果N為0則損失函數(shù)為0。位置損失函數(shù)(loc)為關(guān)于預(yù)測(cè)框(l)和真實(shí)標(biāo)簽(g)的平滑L1損失。置信損失函數(shù)(conf)是多類(lèi)別置信的softmax loss。權(quán)重項(xiàng)α為設(shè)置為1的交叉驗(yàn)證。式(3)為在類(lèi)別p中第i個(gè)默認(rèn)框與第j個(gè)真實(shí)標(biāo)簽匹配結(jié)果[10]。
隨著深度學(xué)習(xí)的不斷發(fā)展研究,人們發(fā)現(xiàn)并不是所有的參數(shù)都在模型中發(fā)揮作用,存在著參數(shù)冗余的問(wèn)題。因此,在不改變網(wǎng)絡(luò)準(zhǔn)確性或者準(zhǔn)確性在可接受范圍內(nèi)的情況下,如何進(jìn)行網(wǎng)絡(luò)壓縮也成為一個(gè)迫切的問(wèn)題。常用的網(wǎng)絡(luò)壓縮的方法有網(wǎng)絡(luò)剪枝、網(wǎng)絡(luò)精餾、網(wǎng)絡(luò)分解和權(quán)值量化等方法[11]。本文的網(wǎng)絡(luò)壓縮用到了網(wǎng)絡(luò)剪枝和權(quán)值量化方法。
1.2.1 網(wǎng)絡(luò)剪枝
(1)訓(xùn)練一個(gè)普通的卷積神經(jīng)網(wǎng)絡(luò);
(2)根據(jù)經(jīng)驗(yàn)選擇一個(gè)合適的閾值,將權(quán)重絕對(duì)值小于閾值的連接剪開(kāi);
(3)剪枝后網(wǎng)絡(luò)性能有可能會(huì)下降,根據(jù)需要對(duì)這個(gè)剪枝后的網(wǎng)絡(luò)再次訓(xùn)練。通過(guò)大量的研究表明網(wǎng)絡(luò)剪枝能夠有效的減少網(wǎng)絡(luò)規(guī)模、加快運(yùn)行速度。
網(wǎng)絡(luò)剪枝前、后比較,如圖3所示。
圖3 網(wǎng)絡(luò)剪枝前、后比較
1.2.2 權(quán)值量化方法
通過(guò)減少表示每個(gè)權(quán)重所需的比特?cái)?shù)來(lái)壓縮原始網(wǎng)絡(luò),如果把權(quán)值壓縮為1和-1的集合,那么卷積的除法運(yùn)算將變成加法運(yùn)算,加快計(jì)算速度。這方面有很多可靠的可以借鑒的方法,包括K均值標(biāo)量量化、8 bit參數(shù)量化研究、16 bit定點(diǎn)表示法和權(quán)值的霍夫曼編碼等。這些方法都在準(zhǔn)確率損失極小的情況下使得存儲(chǔ)大為減少并且運(yùn)算速度大為提高[12-13]。
在SSD VGG16網(wǎng)絡(luò)的基礎(chǔ)上,在幾乎不改變網(wǎng)絡(luò)準(zhǔn)確性的情況下,通過(guò)網(wǎng)絡(luò)剪枝和權(quán)值量化的方法減少網(wǎng)絡(luò)規(guī)模和計(jì)算量。由于SSD目標(biāo)檢測(cè)方法對(duì)小目標(biāo)對(duì)象的檢測(cè)效果較差,而在實(shí)際的應(yīng)用環(huán)境中,支柱號(hào)數(shù)字相對(duì)于整個(gè)圖像的比例較小,直接應(yīng)用檢測(cè)識(shí)別支柱號(hào)效果不理想,所以采用分步檢測(cè)的方法,先檢測(cè)支柱號(hào)牌,然后在支柱號(hào)牌圖像附近位置檢測(cè)支柱號(hào)。
支柱號(hào)識(shí)別流程,如圖4所示。
采用高斯濾波等圖像預(yù)處理技術(shù)平滑支柱號(hào)區(qū)域以外的無(wú)關(guān)細(xì)節(jié)、將圖像的支柱號(hào)區(qū)域清晰度保持在一定的范圍內(nèi),也將不同環(huán)境拍攝的圖像進(jìn)行歸一化處理,使得卷積神經(jīng)網(wǎng)絡(luò)專(zhuān)注于支柱號(hào)內(nèi)容特征的學(xué)習(xí)。圖像預(yù)處理的效果,如圖5所示。
檢測(cè)支柱號(hào)牌時(shí),置信度門(mén)檻設(shè)置為0.2,如果有多個(gè)大于0.2的檢測(cè)結(jié)果,則選擇最高的2個(gè)檢測(cè)結(jié)果。
根據(jù)現(xiàn)場(chǎng)經(jīng)驗(yàn),接觸網(wǎng)的支柱號(hào)大部分是按照區(qū)間內(nèi)奇數(shù)遞增、奇數(shù)遞減、偶數(shù)遞增、偶數(shù)遞減、順序遞增和順序遞減依次排列的,所以在算法初始化時(shí)或者穩(wěn)定運(yùn)行時(shí)輸入支柱號(hào)信息,后續(xù)的支柱號(hào)大部分是可以預(yù)測(cè)的。即根據(jù)前序識(shí)別的支柱號(hào)可以推斷出支柱號(hào)是奇數(shù)、偶數(shù)或者連續(xù)變化;支柱號(hào)變化方向?yàn)樵鲂蚧蛘呓敌?。例如,已?jīng)推斷出前序支柱號(hào)為206,支柱號(hào)方向?yàn)榕紨?shù)增序則可以預(yù)測(cè)當(dāng)前支柱號(hào)為208。
圖4 支柱號(hào)識(shí)別流程
圖5 圖像預(yù)處理效果
在進(jìn)行支柱號(hào)檢測(cè)時(shí),先檢測(cè)支柱號(hào)牌結(jié)果集中的置信度最高的檢測(cè)結(jié)果,圖像檢測(cè)支柱號(hào)內(nèi)容后,將預(yù)測(cè)數(shù)字置信度的top10且選置信度>0.2的結(jié)果為候選序列;比對(duì)候選序列集和預(yù)測(cè)支柱號(hào),如果候選序列里面包含預(yù)測(cè)支柱號(hào)的內(nèi)容則直接返回預(yù)測(cè)支柱號(hào),否則利用候選序列的結(jié)果確定當(dāng)前支柱號(hào);若最終確定的支柱號(hào)不同于預(yù)測(cè)的支柱號(hào)和上一桿位的支柱號(hào),則對(duì)之前的桿位識(shí)別結(jié)果進(jìn)行修正。修正邏輯為反向預(yù)測(cè)上一桿位的支柱號(hào),比對(duì)反向預(yù)測(cè)的支柱號(hào)內(nèi)容是否在上一桿位識(shí)別的候選序列中,如果在則修正,否則不修正。
實(shí)驗(yàn)用計(jì)算機(jī)硬件配置為雙顆 E5 2650 v2 處理器(主頻2.6 GHz,單顆8核16線程)、1TB固態(tài)硬盤(pán)、內(nèi)存16 Gb、Quadro M4000顯卡;系統(tǒng)為Windows 7 64位操作系統(tǒng);開(kāi)發(fā)環(huán)境為VS2013開(kāi)發(fā)環(huán)境;卷積神經(jīng)架構(gòu)采用快速特征嵌入的卷積結(jié)構(gòu)(CAFFE,Convolutional Architecture for Fast Feature Embedding)進(jìn)行實(shí)驗(yàn)。
選取了隴海線連續(xù)桿位的5 323張支柱號(hào)圖片進(jìn)行試驗(yàn),其中,1 331張連續(xù)桿位數(shù)據(jù)為測(cè)試數(shù)據(jù),3 992張圖像為訓(xùn)練數(shù)據(jù),圖片分辨率為1 280×1 024。
支柱號(hào)牌訓(xùn)練數(shù)據(jù),如圖6所示。
圖6 支柱號(hào)牌訓(xùn)練數(shù)據(jù)
支柱號(hào)牌數(shù)字內(nèi)容識(shí)別訓(xùn)練數(shù)據(jù),如圖7所示。
圖7 支柱號(hào)牌內(nèi)容訓(xùn)練數(shù)據(jù)
對(duì)1 331張連續(xù)桿位測(cè)試圖像數(shù)據(jù)按照實(shí)際運(yùn)行情況進(jìn)行支柱號(hào)識(shí)別測(cè)試分析。正確識(shí)別的支柱號(hào)圖像為1 320張,錯(cuò)誤的為11張,綜合識(shí)別速度為15張/s,完整支柱號(hào)的識(shí)別正確率為99.17%。支柱號(hào)識(shí)別結(jié)果,如圖8所示。
圖8 支柱號(hào)識(shí)別結(jié)果
通過(guò)對(duì)識(shí)別錯(cuò)誤的圖像進(jìn)行分析,識(shí)別錯(cuò)誤的圖像普遍存在接觸網(wǎng)桿號(hào)牌存在遮擋或者拍攝不全的現(xiàn)象。候選序列中缺少實(shí)際的桿號(hào)數(shù)字結(jié)果所致。桿號(hào)牌遮擋圖像,如圖9所示。
圖9 桿號(hào)牌遮擋圖像
為解決車(chē)載檢測(cè)過(guò)程中接觸網(wǎng)支柱號(hào)識(shí)別的問(wèn)題,從實(shí)際工程應(yīng)用出發(fā),提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的接觸網(wǎng)支柱號(hào)識(shí)別方法,該方法針對(duì)SSD網(wǎng)絡(luò)檢測(cè)小目標(biāo)對(duì)象效果較差的現(xiàn)狀提出分步檢測(cè)的思想,結(jié)合網(wǎng)絡(luò)壓縮技術(shù)提高了識(shí)別速度。通過(guò)實(shí)驗(yàn)分析,采用卷積神經(jīng)網(wǎng)絡(luò)的支柱號(hào)識(shí)別方案可行,識(shí)別速度和準(zhǔn)確率滿(mǎn)足現(xiàn)場(chǎng)實(shí)際應(yīng)用的需求,能夠輔助鐵路基礎(chǔ)設(shè)施檢測(cè)系統(tǒng)中缺陷的定位,指導(dǎo)現(xiàn)場(chǎng)運(yùn)營(yíng)維修。通過(guò)測(cè)試也發(fā)現(xiàn)了一些問(wèn)題,后續(xù)將通過(guò)提高采集圖像的穩(wěn)定性進(jìn)一步提高識(shí)別的效果,研究依據(jù)支柱號(hào)字符的幾何位置關(guān)系判斷接觸網(wǎng)支柱號(hào)的方法。