遼寧省大連地鐵集團有限公司/周紀武 石磊
制動閘瓦是地鐵車輛制動單元的一個重要零件(如圖1所示),它在車輛制動時,直接緊壓車輪踏面(或制動盤),增大對車輪踏面的摩擦,阻滯車輪的轉動,在輪軌間粘著力的作用下使列車減速或停止運行。在車輛高頻的調速和停車過程中閘瓦都會受到較大程度的磨損,破損的閘瓦存在極高的安全隱患,很可能就會產生車輛失控等極其嚴重的后果。現階段針對地鐵閘瓦的檢測大多是依賴人工,在夜間非運營期間車輛入庫后,進行查看、拍照、記錄,這種方式需要投入很高的人力成本,但工作效率不高。因此,為了提升部件檢測的準確率和可復查性,保證地鐵車輛的行駛安全,同時提高巡檢效率,降低人力成本,本文提出一種基于GAN網絡的地鐵制動閘瓦異常檢測系統,該系統也可應用于其它地鐵部件的檢測,具有較高的可移植性和重用性。

圖1 地鐵轉向架(標紅部分為閘瓦)
圖像異常檢測的主要目的是找到正樣本和負樣本的邊界,辨別出檢測圖像是否為異常圖像,邊界可以是圖像空間或者是高維特征空間。在實際閘瓦檢測過程中,正常圖像數據相比于異常圖像數據多的多,但是異常情況又是我們最關心的。所以,這就要求我們采用傳統的數字圖像處理算法、半監督或者無監督學習算法進行異常檢測。
基于傳統數字圖像處理的方法一般是將模板圖像和待檢測圖像進行對比,計算兩張圖像的距離,如果距離超過閾值,則該圖像存在異常。此方法的優點是原理簡單、計算速度快,缺點是抗干擾能力弱,易受光照干擾;圖像空間上的異常檢測算法的主要思想是使用正樣本訓練Auto-encoder,則使用網絡重構出的圖像會趨近于正樣本,利用這一性質在推理階段進行異常判斷:如果輸入的是異常圖像,那么輸出的重構圖像和正樣本有較大差距。
基于深度神經網絡的地鐵制動閘瓦異常檢測系統由圖像數據采集模塊、圖像預處理模塊、算法分析模塊和后處理模塊四大模塊組成,系統架構圖如圖2所示。

圖2 系統架構圖
數據采集模塊分為硬件和軟件兩部分,其中硬件部分主要包括線陣相機、補光燈、測速裝置等;軟件部分包括上位機主控軟件、圖像采集控制軟件等。在地鐵即將駛入相機拍攝范圍時,上位機獲取到來車信號,開啟補光裝置,測速裝置開始測量車輛的速度值,上位機軟件將車速信息轉化為相機的采集幀率,控制線陣相機抓取圖像、然后將車輛圖像信息傳送給數據預處理模塊。
數據預處理模塊的作用是對數據采集模塊采集到的車輛圖像進行定位和去噪。由于相機采集的原始車輛圖像數據是整車圖像,而我們關心的是制動閘瓦部分。所以,預處理模塊需對單元制動機閘瓦部件進行定位。相機在露天環境中工作,會受到太陽光或者雨雪天氣影響,圖像會包含一定的噪聲。所以我們需要對閘瓦的定位圖像進行噪聲濾除,為算法分析模塊提供穩定的圖像數據。
算法分析模塊主要負責圖像數據的異常檢測,判斷當前數據是否為異常數據,即是否出現了閘瓦裂紋或破損。將預處理過的閘瓦圖像輸入訓練好的深度學習網絡,再由網絡輸出異常區域和是否為異常圖像的分類結果。
后處理模塊的作用是將異常檢測結果圖像保存到硬盤,將異常數據存入數據庫并發送給前端平臺顯示。
生成對抗網絡(GAN)是由Goodfellow等人在2014年提出的無監督學習算法。網絡最初的目的是生成接近真實的圖片,在生成對抗網絡中,有兩個網絡進行對抗訓練。一個是判別網絡,目標是盡量準確地判斷一個樣本是來自于真實數據還是生成網絡產生的;另一個是生成網絡,目標是盡量生成判別網絡無法區分來源的樣本。這兩個目標相反的網絡不斷地進行交替訓練。當最后收斂時,如果判別網絡再也無法判斷出一個樣本的來源,那么也就等價于生成網絡可以生成符合真實數據分布的樣本。
我們的目的是在一個極度不平衡的網絡上訓練一個非監督網絡來進行異常檢測。給定一個數據集D包含M個正常圖片,即,和一個包含N個樣本的測試集,即。其中為圖像標簽,0為異常圖像,1為正常圖像。在本系統中,正樣本遠遠大于負樣本,也就是。我們用數據集D訓練模型,然后在測試集上檢測異常樣本。模型不但學習正常數據的分布,而且最小化輸出異常值。對于測試圖片,如果圖片為負樣本,模型的異常得分大于閾值,那么說明當前圖片大概率為異常圖像。
本系統的異常檢測網絡結構包含兩個編碼器,一個解碼器和一個判別網絡。
第一個子網絡為一個常見的碗形自編碼器,主要的作用是將輸入的圖像進行重建。此子網絡的結構設計參考了DCGAN網絡,生成器學習輸入圖像的表示,然后解碼器重構圖像。即從一個三通道的圖像,通過卷積激勵層,將輸入圖像編碼為n維向量,再經過一個逆過程將n維向量映射為一個三通道圖像。
第二個子網絡為一個編碼器網絡,它的輸入為第一個子網絡的重構圖像,輸出為n維向量,它的維度和第一個子網絡中的編碼器網絡輸出的維度相同,且其網絡結構和第一個子網絡的編碼器結構相同。它摒棄了大部分基于自編碼器異常檢測通過比對輸入圖像和重建圖像的差異的方式,而是變為比對輸入圖像和重構圖像更加高維的特征,這樣的抽象可以使其大大提高抗干擾能力,學習到異常檢測模型更加具有魯棒性。
第三個子網絡為一個判別網絡,它的作用是用于判別原始輸入圖像和重構圖像,即需將原圖判定為真,將重建圖判定為假。它的結構和第一個子網絡的解碼網絡結構相同。判別網絡的引入目的是為了引入對抗思想。
該模型的訓練策略和常規情況下GAN網絡的訓練策略相同,即交替訓練生成器和判別器。本文的模型訓練都是通過正樣本實現的,網絡結構由三個子網絡組成,每個子網絡對應一個損失函數,共同組成模型的損失函數。
首先在訓練集上訓練判別器,也就是上文提到的第三個子網絡,損失函數計算的是輸入圖像和重構的圖像經過判別網絡輸出特征的L2距離,判別器使用的損失函數定義為:

第二個損失為重構損失,用了在訓練階段懲罰生成器,這里我們采用的是L1損失,因為往往重構之后的圖像較為模糊,使模型更加容易收斂。通過最小化L1損失,懲罰生成器,更新生成器權重,使重構后的圖像更加接近輸入圖像。重構損失定義為:

第三個損失函數為編碼網絡的損失,它的作用是計算輸入圖像和重構圖像的高維特征距離,它的定義為:

總體來說,損失函數有上文的三部分組成,定義為:

在模型的測試階段,我們用來判定圖像為異常圖像的時候不是采用類似其他方法的重構損失,而是采用編碼損失。我們選取訓練階段編碼損失最大值作為閾值,當一張輸入圖像的編碼損失大于這個閾值時,我們認為其為異常圖像,當編碼損失小于異常值時,認為其為正常圖像。我們還可以利用正常的模板圖像重構圖像和異常圖像的重構圖像做對比,可以得到制動閘瓦部分破損或缺失的異常區域。
為了評估本系統的有效性,我們選擇了1000張真實閘瓦圖像進行測試,其中90%為正常圖像,10%為異常圖像,并將識別的準確率、誤報率和漏報率作為本系統的評價指標。其中,表示真正樣本數,表示真負樣本數,表示假正樣本數,表示假負樣本數。

因為我們的檢測目標是異常圖像,所以在計算評價指標時將異常圖像作為正樣本,正常圖像作為負樣本,實驗結果如表1所示:

表1 實驗結果評價指標
本基于GAN網絡的制動閘瓦異常檢測系統,通過線陣相機掃描地鐵車輛走行部圖像,定位單元制動機位置。將定位圖像輸入異常檢測網絡,如果輸入為異常圖像,網絡輸出得分大于設定閾值,則判斷輸入圖像異常。經過測試,網絡可以對異常圖像進行準確預測報警。此外,該系統還可應用于多個其它地鐵部件檢測,具有很高的移植性和復用性。