宋坤駿 中國鐵路上海局集團有限公司科研所
高鐵電務設備設施的服役狀態直接關系到高鐵的安全、平穩運營。軌道電路引接線作為軌道電路元件的可靠連接線對于安全行車起著基礎保障作用。采用傳統人工上道方式巡檢引接線存在危險性高,勞動強度大,檢查準確率低,巡檢效率低,天窗利用率低,故障處理倉促,受環境因素影響顯著等缺陷,而采用深度學習技術處理探傷車采集的高分辨率圖像則能夠克服環境和天窗限制,節約人力資源的同時提升巡檢效率和準確率。出于兼顧速度和精度的要求,本文用到的深度學習目標檢測算法是scaled_yolov4。該算法由yolov3算法和yolov4 算法演進而來,其為高端GPU 設計的YOLOv4-P7 模型在coco 數據集上取得了73.3%的mAP,并可達到16FPS。
圖1 所示為Scaled-YOLOv4 網絡結構,其實為三個模型的集合,分別為面向云GPU 的YOLOv4-large,面向常規GPU的YOLOv4-CSP,面向小型輕量級GPU 的YOLOv4-Tiny。而YOLOv4-large 又分為YOLOv4-P5,YOLOv4-P6,YOLOv4-P7三種具體的網絡結構,本文采用的具體網絡是YOLOv4-P5。

圖1 Scaled_yolov4網絡結構
增強原理:增強原理對于亮度、對比度、飽和度和銳度等是通用的,即線性插值和外推。這一方法對于許多點處理和面積圖像處理操作提供了通用的解決方案,而且還能獲得性能上的優勢。所有的增強都基于下面這個線性插值公式:

不同的增強類型對應不同的退化圖,即alpha=0時的圖image1。例如對于亮度增強,退化圖就是全黑圖,即全圖亮度為0,對于對比度增強,退化圖就是該圖的每個通道的每個像素值都等于原圖灰度平均值的圖,因為這張圖完全沒有對比度,所有像素之間的灰度差都是0。當alpha在0-1 之間時代表內插,在0-1 范圍外,則是外推,亮度增強和對比度增強都是通過alpha>1來實現的。
自適應亮度增強:將0-255灰度劃分為0-80,80-160,160-255 三個亮度等級區間,首先判斷原圖平均灰度在哪個等級區間,然后隨機生成另外兩個亮度等級區間兩個隨機亮度值,將原圖按照這兩個隨機亮度值生成另外兩幅圖像,平均灰度等于這兩個隨機亮度值,這樣原來一張圖片擴充為3 個亮度等級的3張圖片。
對比度增強:對比度增強固定倍數1.7 倍,即上面公式中alpha=1.7,如此外推可以增大目標物和背景之間的灰度差。而不是像亮度增強那樣將所有像素灰度值平移增加一個數值。對于機器識別來說作用更為明顯。見圖2、圖3。

圖2 對比度增強, 左:原圖,右:對比度增強后效果

圖3 自適應亮度增強, 左:原圖,右:亮度增強后效果
亮度和對比度增強后,每張圖片對應生成4張圖片,數據集規模擴大了四倍,有效凸顯了目標,并增加了對于各種光照條件的魯棒性。
本文針對無砟軌道板和有砟軌道板分別訓練了一個引接線檢測器。不排除一條以無砟軌道板為主的線路中還可能出現有砟軌道板,所以這里增加一個可選的速度精度權衡機制,即在軌道板圖像送入檢測器前先通過一個有砟無砟分類器,判斷屬于哪種軌道板類型,再送入相應類型檢測器,這樣理論上是可以提升引接線檢測精度的,但會犧牲推理速度。注意有砟軌道板引接線檢測器在很多無砟軌道板的情況下也能檢測出來引接線,同理,無砟軌道板引接線檢測器在有砟軌道板上也能保持比較好的檢測性能,即道砟背景切換并不會導致引接線檢測性能的急劇下降。所用分類網絡架構是何愷明團隊的resnext101_32x32d。圖像壓縮成64×64大小,在10000張軌道板原圖上分類準確率約等于100%。如圖4所示。

圖4 有砟無砟預分類網絡性能
實際上由于預分類只是一個中間過程,分類準確率不用嚴苛要求達到非常高的水準,因前已述及,分類錯誤并不必然導致檢測錯誤,很大概率分類錯誤檢測結果仍然正確。通過改變輸入圖像分辨率和分類網絡架構的方法可以尋求預分類步驟精度和速度的最優折中。
此預處理最初是為解決雨天圖像黑暗,目標不清晰,檢測結果不佳設計的,但實際上它也可以作為一個通用的預處理步驟。其體現的中心思想是,首先通過灰度直方圖統計出引接線目標大致的灰度范圍。該灰度范圍以內的像素應做灰度拉伸增強對比度,該灰度范圍以外的像素應做灰度壓縮處理減少對比度。亦即對關心的目標做灰度范圍拉伸,增加模型分辨力,對不關心的背景做灰度范圍壓縮,減少背景對模型的干擾。因為引接線的灰度最小值接近0,所以這里灰度拉伸的直線段接近從0 開始,直線段兩端則是進行灰度壓縮的拋物線狀函數,整個分段函數的表達式如下式所示。

f(x)分為三段,其圖像如圖5所示。

圖5 分段拋物線灰度伸縮函數
之所以未采用通常的分段線性函數而在灰度壓縮段采用了拋物線狀函數,是因為希望越是極端的灰度值,壓縮的越厲害一些,例如接近255 的灰度基本上在光帶附近才會出現,這種灰度的像素對于檢測沒有什么用處,可以讓它們的灰度值都減小到接近200,這樣模型碰到這種接近200 的像素值就發現這里沒有灰度的變化,就知道這里沒有目標物。為了推理加速,上面這個作用于全圖所有像素的分段函數還采用了np.vectorize 函數進行向量化加速。該預處理作用于推理階段,可顯著提高淋雨軌道板上引接線檢測效果,亦可作為訓練階段數據增強手段加以運用。
所謂模型縮放即希望一個算法衍生出多個模型,對計算和存儲的需求不同(精度當然也不同),以滿足部署在不同平臺的需求。模型縮放通過改變模型輸入圖像的分辨率,模型的深度和寬度這三個要素來實現。本文,試驗了yolov4_p7和yolov4_p5 這兩種網絡結構,試驗了三種輸入圖像分辨率800×800,640×640,512×512,試驗了多種寬度乘數width_multiple和深度乘數depth_multiple 的組合,最終得到最優的網絡結構是yolov4_p5,且寬度乘數為0.8,深度乘數為1.0,輸入圖像分辨率為640×640。這一結構是滿足顯存大小和訓練時間約束下速度精度權衡后最優的選擇。
如此優選的網絡結構帶來的性能提升是最為顯著的,mAP從最開始yolov4_p7模型的0.766改進為最終yolov4_p5模型的0.97,推理速度從平均0.1s一張圖提升為0.05s一張圖。
本文成果涉及我國“四縱四橫”高鐵規劃網中滬漢蓉高速鐵路和徐蘭高鐵上引接線的智能檢測,成果體現為用戶可一鍵運行的批處理程序,雙擊運行后會彈出如下用戶界面供用戶選擇多次探傷車采集生成的軌道板圖像文件夾所在根目錄。選擇根目錄并點擊開始檢測后,軟件將自動依次讀取根目錄下所有文件夾內軌道板原始圖像并將引接線檢測結果自動保存在根目錄下,程序平均約每0.05 s 處理一張標準的2048×2087 大小的原始圖片,在用戶界面下方有一欄檢測進度會實時顯示當前已經處理到哪個文件夾的哪張圖片,整個過程無需人工干預即可遍歷完根目錄下所有批次文件夾,程序自動挑出帶有引接線的圖片到同結構的結果文件夾中。見圖6。

圖6 成果軟件用戶界面
考慮到漏檢和誤檢帶來的代價不對等,漏檢一例即可能帶來嚴重高鐵運營安全隱患,而誤檢一例僅增加少許人工看圖工作量,故成果優化重點在引接線的漏檢率上,同時減負率=1-總檢出圖數/總圖數也是需要關注的成果指標,因為該指標直接反映了機器智能檢測帶來的人工成本的降低。經處理匯總,對于無砟軌道徐蘭高鐵和有砟軌道滬漢蓉高鐵的統計結果如表1 所示。其中漏檢率的分母是總帶目標圖數,誤檢率的分母是總共統計圖數。見表1。

表1 徐蘭高鐵和滬漢蓉高鐵檢測結果統計匯總
本文在先進目標檢測算法Scaled_yolov4 基礎上結合一些訓練及推理階段的優化手段,提出了一些針對引接線檢測問題的技巧,通過這些技巧的綜合運用,能夠有效減少引接線漏檢率和誤檢率,顯著提高看圖工作減負率,所述模型在徐蘭高鐵和滬漢蓉高鐵上取得了良好的應用效果。