薛憲堂,王登陽,張 翼,周 威,王燕國
(1.中國鐵道科學研究院集團有限公司 基礎設施檢測研究所,北京 100081;2.北京鐵科英邁技術有限公司 研發中心,北京 100081)
鐵路基礎設施動態檢測一般通過安裝在專業檢測車上的檢測設備獲取基礎設施狀態,發現基礎設施相關設備缺陷。其中,缺陷問題的準確定位是檢測系統中非常重要的部分,常見的定位方法通過公里標進行關聯定位,該方法通過綜合定位的手段能夠實現精確定位[1]。然而,對于供電系統,公里標定位方式在現場運行維修中具有查找時間較長、操作不直觀等問題。接觸網支柱號在接觸網檢測和日常供電維護中能夠提供重要的定位標志信息,對于供電設備缺陷的復核整治、修復都能夠起到快速、準確的定位作用。高速鐵路供電安全檢測監測系統(6C系統)總體技術規范中對接觸網檢測數據的定位和存儲都提出了一桿一檔的要求[2],一桿一檔的存儲方式符合鐵路供電系統的專業特點和設備管理方式,在這種背景下接觸網支柱號的作用尤為重要。
國內很多研究人員都研究了通過圖像的方式識別支柱號的方法,吳光龍提出了基于支持向量機的自動識別接觸網支柱號的方法[3];楊文靜等人提出了基于多幀桿號字符識別的接觸網檢測系統[4]。但是這些研究方法都依賴經驗閾值或者圖像閾值,容易受天氣、環境和光照等因素的影響,難以普適。基于
卷積神經網絡的每個神經單元,如圖1所示。

圖1 神經單元示意圖
對應式如式(1)所示:

式中:yj為第j個神經元的輸出結果;f(x)為激勵函數(常用的激勵函數有sigmoid函數、線性糾正函數、tanh(x)函數等);xi為輸入信號;wij為第j個神經元的第i個輸入的系數;bj為神經元的偏移量。
該單元可以被稱作是Logistic回歸模型。當將多個單元組合起來并具有分層結構時,就形成了人工神經網絡模型[9]。
卷積神經網絡在上述理論基礎上發展而來,它的基本結構包括卷積層、池化層、全連接層和輸出層。在卷積神經網絡的卷積卷積神經網絡的目標檢測是目前快速發展的目標檢測技術之一,已經成為了研究的熱點。先后出現了rcnn、fast rcnn、faster rcnn、YOLO和SSD等目標檢測算法。Caffe、TensorFlow等開源深度學習框架的發展使得卷積神經網絡能夠快速實現,一些公司也相繼開源了他們的深度學習框架,降低基于深度學習的開發成本,推廣卷積神經網絡的應用。目前,基于卷積神經網絡的研究取得了優秀成果,本文也探索將其應用到鐵路基礎設施檢測的相關實際問題中,并取得了較好的結果[5-8]。
結合鐵路基礎設施檢測環境的實際特點提出了一種基于卷積神經網絡的接觸網支柱號識別方法,為鐵路供電基礎設施檢測的缺陷定位和建立一桿一檔數據庫提供了有效手段。層中,神經元只與部分鄰層神經元連接,這層通常包含若干個特征平面,每個特征平面由一些矩陣形式的神經元組成,同一特征平面的神經元共享權值,這里共享的權值就是卷積核。卷積核一般以隨機數的形式初始化或者通過已經訓練好的網絡參數初始化(網絡精調),在網絡的訓練過程中卷積核將學習得到合理的權值。共享權值(卷積核)帶來的直接好處是減少網絡各層之間的連接,同時又降低了過擬合的風險。池化層通常有均值子采樣和最大值子采樣兩種形式。子采樣可以看作一種特殊的卷積過程。卷積和子采樣簡化了模型復雜度,減少了模型的參數。全連接層通過矩陣向量乘積操作把特征空間線性變換到另一個特征空間,從而為分類做好準備,全連接層通常出現在網絡的后幾層。輸出層起到分類器的功能,可以采用Logical回歸、Softmax回歸、或者支持向量機等方式進行分類。
網絡模型基于SSD(single shot multibox detector)網絡結構。該網絡結構同時實現了檢測和分類,進行端對端的一體化訓練和目標檢測。SSD網絡結構,如圖2所示。
SSD網絡結構方法將結果轉化為每一個特征圖對應不同的比例和尺度的候選結果集合。預測時,網絡為候選結果對應的每一個存在類別進行評分,并據此改進候選結果來更準確地匹配識別物的形狀。該網絡結合不同規格的特征圖加強了其多尺度檢測的性能。網絡模型是可用于多個分類的單次檢測器,和以往的單次檢測器相比速度更快,準確性并沒有下降,該方法在特征圖上使用小卷積核,增強了對檢測物特征的表達力。

圖2 網絡結構
總體目標損失函數是位置損失函數(loc)和置信損失函數(conf)的加權和,如式(2)所示,其中,N為匹配的默認框的數量,如果N為0則損失函數為0。位置損失函數(loc)為關于預測框(l)和真實標簽(g)的平滑L1損失。置信損失函數(conf)是多類別置信的softmax loss。權重項α為設置為1的交叉驗證。式(3)為在類別p中第i個默認框與第j個真實標簽匹配結果[10]。

隨著深度學習的不斷發展研究,人們發現并不是所有的參數都在模型中發揮作用,存在著參數冗余的問題。因此,在不改變網絡準確性或者準確性在可接受范圍內的情況下,如何進行網絡壓縮也成為一個迫切的問題。常用的網絡壓縮的方法有網絡剪枝、網絡精餾、網絡分解和權值量化等方法[11]。本文的網絡壓縮用到了網絡剪枝和權值量化方法。
1.2.1 網絡剪枝
(1)訓練一個普通的卷積神經網絡;
(2)根據經驗選擇一個合適的閾值,將權重絕對值小于閾值的連接剪開;
(3)剪枝后網絡性能有可能會下降,根據需要對這個剪枝后的網絡再次訓練。通過大量的研究表明網絡剪枝能夠有效的減少網絡規模、加快運行速度。
網絡剪枝前、后比較,如圖3所示。

圖3 網絡剪枝前、后比較
1.2.2 權值量化方法
通過減少表示每個權重所需的比特數來壓縮原始網絡,如果把權值壓縮為1和-1的集合,那么卷積的除法運算將變成加法運算,加快計算速度。這方面有很多可靠的可以借鑒的方法,包括K均值標量量化、8 bit參數量化研究、16 bit定點表示法和權值的霍夫曼編碼等。這些方法都在準確率損失極小的情況下使得存儲大為減少并且運算速度大為提高[12-13]。
在SSD VGG16網絡的基礎上,在幾乎不改變網絡準確性的情況下,通過網絡剪枝和權值量化的方法減少網絡規模和計算量。由于SSD目標檢測方法對小目標對象的檢測效果較差,而在實際的應用環境中,支柱號數字相對于整個圖像的比例較小,直接應用檢測識別支柱號效果不理想,所以采用分步檢測的方法,先檢測支柱號牌,然后在支柱號牌圖像附近位置檢測支柱號。
支柱號識別流程,如圖4所示。
采用高斯濾波等圖像預處理技術平滑支柱號區域以外的無關細節、將圖像的支柱號區域清晰度保持在一定的范圍內,也將不同環境拍攝的圖像進行歸一化處理,使得卷積神經網絡專注于支柱號內容特征的學習。圖像預處理的效果,如圖5所示。
檢測支柱號牌時,置信度門檻設置為0.2,如果有多個大于0.2的檢測結果,則選擇最高的2個檢測結果。
根據現場經驗,接觸網的支柱號大部分是按照區間內奇數遞增、奇數遞減、偶數遞增、偶數遞減、順序遞增和順序遞減依次排列的,所以在算法初始化時或者穩定運行時輸入支柱號信息,后續的支柱號大部分是可以預測的。即根據前序識別的支柱號可以推斷出支柱號是奇數、偶數或者連續變化;支柱號變化方向為增序或者降序。例如,已經推斷出前序支柱號為206,支柱號方向為偶數增序則可以預測當前支柱號為208。

圖4 支柱號識別流程

圖5 圖像預處理效果
在進行支柱號檢測時,先檢測支柱號牌結果集中的置信度最高的檢測結果,圖像檢測支柱號內容后,將預測數字置信度的top10且選置信度>0.2的結果為候選序列;比對候選序列集和預測支柱號,如果候選序列里面包含預測支柱號的內容則直接返回預測支柱號,否則利用候選序列的結果確定當前支柱號;若最終確定的支柱號不同于預測的支柱號和上一桿位的支柱號,則對之前的桿位識別結果進行修正。修正邏輯為反向預測上一桿位的支柱號,比對反向預測的支柱號內容是否在上一桿位識別的候選序列中,如果在則修正,否則不修正。
實驗用計算機硬件配置為雙顆 E5 2650 v2 處理器(主頻2.6 GHz,單顆8核16線程)、1TB固態硬盤、內存16 Gb、Quadro M4000顯卡;系統為Windows 7 64位操作系統;開發環境為VS2013開發環境;卷積神經架構采用快速特征嵌入的卷積結構(CAFFE,Convolutional Architecture for Fast Feature Embedding)進行實驗。
選取了隴海線連續桿位的5 323張支柱號圖片進行試驗,其中,1 331張連續桿位數據為測試數據,3 992張圖像為訓練數據,圖片分辨率為1 280×1 024。
支柱號牌訓練數據,如圖6所示。

圖6 支柱號牌訓練數據
支柱號牌數字內容識別訓練數據,如圖7所示。

圖7 支柱號牌內容訓練數據
對1 331張連續桿位測試圖像數據按照實際運行情況進行支柱號識別測試分析。正確識別的支柱號圖像為1 320張,錯誤的為11張,綜合識別速度為15張/s,完整支柱號的識別正確率為99.17%。支柱號識別結果,如圖8所示。

圖8 支柱號識別結果
通過對識別錯誤的圖像進行分析,識別錯誤的圖像普遍存在接觸網桿號牌存在遮擋或者拍攝不全的現象。候選序列中缺少實際的桿號數字結果所致。桿號牌遮擋圖像,如圖9所示。

圖9 桿號牌遮擋圖像
為解決車載檢測過程中接觸網支柱號識別的問題,從實際工程應用出發,提出一種基于卷積神經網絡的接觸網支柱號識別方法,該方法針對SSD網絡檢測小目標對象效果較差的現狀提出分步檢測的思想,結合網絡壓縮技術提高了識別速度。通過實驗分析,采用卷積神經網絡的支柱號識別方案可行,識別速度和準確率滿足現場實際應用的需求,能夠輔助鐵路基礎設施檢測系統中缺陷的定位,指導現場運營維修。通過測試也發現了一些問題,后續將通過提高采集圖像的穩定性進一步提高識別的效果,研究依據支柱號字符的幾何位置關系判斷接觸網支柱號的方法。