董文波,李 晨,熊敏君,田 野,肖 雄,姚巍巍
(株洲中車時代電氣股份有限公司,湖南 株洲 412001)
截止2022年底,我國電氣化鐵路運營里程已突破11萬公里,其中高速鐵路(簡稱“高鐵”)4.2萬公里,保障規(guī)模龐大的高鐵運營安全是我們面臨的重大課題。車體、輪對和受電弓等是高鐵系統(tǒng)中重要的零部件,也是動車組的重要組成部分。受電弓是動車組獲取外界電能的唯一途徑,長期運行導(dǎo)致受電弓碳滑板不斷磨損變薄,影響動車組的正常供電甚至導(dǎo)致受電弓拉弧、灼傷剝離等其他故障。輪對是動車組實現(xiàn)走行功能的最重要部件,不僅承受著動車組全部的重量,而且還要傳遞動車與鋼軌間的驅(qū)動力和制動力。當輪對存在磨損時,往往會給車輪承軸和鋼軌帶來巨大的額外沖擊載荷,造成嚴重的安全隱患。因此,對高鐵關(guān)鍵零部件進行實時故障診斷具有重要意義[1-3],其中,對高鐵關(guān)鍵零部件進行快速且準確的定位是故障診斷的前提。
隨著傳感器技術(shù)的發(fā)展,相機已成為軌道交通領(lǐng)域運用最廣泛的傳感器之一,基于圖像的非接觸式目標檢測方法也在該領(lǐng)域得到廣泛應(yīng)用。以AlexNet[4]為界限,現(xiàn)有的圖像目標檢測算法主要分為傳統(tǒng)方法以及深度學習方法。傳統(tǒng)方法通過“特征提取+目標分類”完成目標檢測[5-8]。深度學習方法根據(jù)檢測過程是單階段還是雙階段,又分為基于候選框的目標檢測方法[9-11]及基于回歸的檢測方法[12-16]。隨著深度學習技術(shù)的發(fā)展,現(xiàn)有基于深度學習的目標檢測方法在檢測精度與速度上遠超傳統(tǒng)方法。文獻[17-18]通過工業(yè)相機進行受電弓數(shù)據(jù)采集,并通過深度學習算法確定受電弓位置。文獻[19-20]采用離線分析的方法,利用目標檢測算法對采集的輪對踏面數(shù)據(jù)進行缺陷檢測。這類方法在動車組低速運行或是數(shù)據(jù)采集裝置與關(guān)鍵零部件相對靜止的情況下能夠取得較好的檢測效果;但當數(shù)據(jù)采集裝置與關(guān)鍵零部件之間有相對高速運動時,則會由于運動模糊或幀間視差過大等問題,導(dǎo)致無法在圖像中準確地定位關(guān)鍵零部件,難以進行實時在線檢測。超高速脈沖相機能夠?qū)崿F(xiàn)每秒鐘數(shù)萬幀的數(shù)據(jù)采集,可以有效避免工業(yè)相機在相對高速運動場景存在的運動模糊以及幀間視差過大的問題。超高速脈沖相機的數(shù)據(jù)為由0和1組成的脈沖流,現(xiàn)有的利用脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)進行目標檢測的方法主要有基于代理梯度的SNN 訓練方法以及基于人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)轉(zhuǎn)SNN的訓練方法,但是相較ANN算法,現(xiàn)有SNN算法無論是在訓練難度以及模型部署上,均存在較大的差距,極大地增加了直接利用脈沖數(shù)據(jù)進行目標檢測的難度。
針對上述直接利用工業(yè)相機以及超高速脈沖相機對高鐵關(guān)鍵零部件進行定位存在的各種問題,本文提出一種基于脈沖數(shù)據(jù)重構(gòu)的高鐵關(guān)鍵零部件檢測算法,其利用超高速脈沖相機作為數(shù)據(jù)采集裝置對運行中的高鐵進行數(shù)據(jù)采集,避免了工業(yè)相機存在的運動模糊以及幀間視差過大的問題。針對脈沖相機數(shù)據(jù)密度低、訓練難度大等問題,本文采用先重構(gòu)后檢測的思想,即首先將脈沖數(shù)據(jù)重構(gòu)為高清灰度圖像,在此基礎(chǔ)上進行關(guān)鍵零部件檢測的模型訓練與加速,從而能夠?qū)崿F(xiàn)對運行中的高鐵關(guān)鍵零部件進行檢測。
不同于普通工業(yè)相機,脈沖相機在進行數(shù)據(jù)采集的過程中,所有感光器件并不同步地按相同的曝光時長進行曝光,而是持續(xù)地捕獲光子,當感光位置的累計光強超過設(shè)定閾值,就產(chǎn)生一個脈沖信號。該過程的數(shù)學描述如下:假設(shè)第i行第j列像素的光強值為Iij,在時間0~t內(nèi)對它進行積分,得到該感光位置的累計光強為
定義光強閾值為T。當Sij(t)大于等于T時,第i行第j列的像素觸發(fā)脈沖;否則,不觸發(fā)脈沖。因此,第i行第j列像素的脈沖觸發(fā)狀態(tài)可以表示為
將所有像素的瞬時脈沖觸發(fā)狀態(tài)按行排列,得到當前時刻t的脈沖幀,脈沖相機采集脈沖流數(shù)據(jù)的過程被看作是不斷重復(fù)生成當前時刻脈沖幀的過程,其中每一個像素位置都是由0或1組成。
由上述超高速脈沖相機成像原理可知:
1)單個像素位置的光照強度與單位時間內(nèi)觸發(fā)的脈沖數(shù)量成正比,單位時間內(nèi)觸發(fā)的脈沖數(shù)量越多,光強越大。故可通過統(tǒng)計一段時間內(nèi)觸發(fā)的脈沖數(shù)量來還原真實光強,從而還原圖像在該像素位置的亮度,如圖1(a)所示。其中,時間窗口T1~T2為虛擬曝光時間,大小可調(diào)。
圖1 脈沖重構(gòu)原理Fig.1 Principle of spike-based reconstruction
2)單個像素位置的光照強度與兩脈沖之間的間隔大小成反比,兩個脈沖之間的間隔越小,光強越大。故可通過計算脈沖間隔的倒數(shù)來還原像素位置的光強,從而還原圖像在該像素位置的亮度,如圖1(b)所示。
圖像顯示了特定時刻所有像素位置對光強映射的空間排布,利用上述方法可以估計任意時刻光強,從而實現(xiàn)基于脈沖數(shù)據(jù)的圖像重構(gòu)[21]。
本文所提方法依據(jù)超高速脈沖相機原理,首先將在高鐵運行正線上采集的脈沖數(shù)據(jù)重構(gòu)為高清晰灰度圖像數(shù)據(jù)并進行數(shù)據(jù)清洗與標注,然后利用YOLOv8目標檢測算法對標注后的數(shù)據(jù)進行訓練,最后對訓練后的模型進行TensorRT加速處理,從而使模型具有更好的實時推理能力。本文所提算法整體框架如圖2 所示。由圖可知,該算法主要包含2 個模塊:基于脈沖數(shù)據(jù)的高鐵場景圖像重構(gòu)、基于重構(gòu)圖像的高鐵關(guān)鍵零部件定位。
圖2 高鐵關(guān)鍵零部件檢測算法總體設(shè)計Fig.2 Overall design of detection algorithm for key components on high-speed railways
由于脈沖累計重構(gòu)是通過統(tǒng)計虛擬曝光時間內(nèi)所觸發(fā)的脈沖數(shù)量來還原光強大小的,和普通工業(yè)相機類似,在高速運動場景下存在運動模糊現(xiàn)象。因此,本文的重構(gòu)方法在脈沖間隔重構(gòu)原理的基礎(chǔ)上增加了一系列后處理,從而達到更好的成像效果。本文所提圖像重構(gòu)方法具體流程如圖3所示。
圖3 基于脈沖數(shù)據(jù)的圖像重構(gòu)Fig.3 Image reconstruction based on spike data
根據(jù)脈沖間隔成像的原理,利用本文所提方法,由原始脈沖數(shù)據(jù)重構(gòu)出高清晰度灰度圖像,具體步驟如下:
1)將單幀 脈沖數(shù) 據(jù)表示 為Sm={xi,j,m},m∈[1,n],i,j∈[1,1000]。其中,xi,j,m表示第m幀脈沖數(shù)據(jù)像素位置為(i,j)的取值,xi,j,m∈{0,1}。
2)對每個像素位置,計算脈沖間隔。設(shè)第m幀與第k幀在像素位置(i,j)處分別觸發(fā)脈沖,即xi,j,m=1,xi,j,k=1,記該像素位置的脈沖間隔為
3)設(shè)由脈沖數(shù)據(jù)重構(gòu)的圖像表示為Im={pi,j,m}。其中,pi,j,m表示第m幀圖像在像素位置(i,j)處的取值。重構(gòu)的圖像在像素位置(i,j)處的亮度表示為
4)計算1~n幀每個像素位置的所有脈沖間隔,由式(3)和式(4)可得重構(gòu)后每個像素位置的值。為防止局部過曝,計算單幀圖像全局亮度,具體為
式中:Bi,j——像素點(i,j)的亮度值;H——圖像的高度;W——圖像的寬度;ε——極小量。
式中:α——調(diào)整系數(shù)。
5)對每個像素點(i,j),利用亮度系數(shù)與局部亮度計算像素位置的值,具體為
式中:g——增益因子,用來調(diào)節(jié)像素位置的取值;round——取整函數(shù)。
6)對重構(gòu)結(jié)果進行中值濾波,去除椒鹽噪聲,具體為
式中:median(·)——對窗口內(nèi)的像素值進行排序取中位數(shù),濾波窗口是以像素點(i,j)為中心,大小為n×n的矩形;B_m'(i,j)——中值濾波后位置(i,j)的亮度值。
7)對濾波后的結(jié)果進行增強處理。根據(jù)濾波后圖像的拉普拉斯變換矩陣的方差值l_var,判斷圖像的微小變化以及紋理信息并作相應(yīng)處理,處理方式為
鑒于此,本文擬從這些常用詞的造詞和詞義方面,結(jié)合構(gòu)詞理據(jù)對有借代意義的詞作理論上的分析和描述,總結(jié)歸納常用詞中借代意義的不同類型、規(guī)律,并就辭書中常用詞借代義的釋義體例及模式進行探討,以供辭書編纂和修訂時參考。
式中:Bfinal(i,j) ——像素位置(i,j)最終的亮度值。
8)對每個像素位置完成相應(yīng)的操作,即可完成脈沖數(shù)據(jù)到圖像數(shù)據(jù)的重構(gòu)。
對于重構(gòu)后的圖像數(shù)據(jù),本文選擇YOLOv8 作為基本網(wǎng)絡(luò)模型進行目標檢測模型訓練。相較YOLOv5網(wǎng)絡(luò),YOLOv8利用C2f替換C3,通過更多的分支跨層連接對殘差特征進行學習,具有更強特征表達能力。此外,其利用快速空間金字塔池化(spatial pyramid pooling-fast,SPPF)替換空 間金字 塔池化(spatial pyramid pooling,SPP)進行特征連接,采用多個小尺寸池化核級聯(lián)代替SPP 模塊中單個大尺寸池化核,在融合不同感受野的特征圖、豐富特征圖的表達能力的情況下,進一步提高了運行速度;在Neck 層采用PAN結(jié)構(gòu),加強網(wǎng)絡(luò)對不同縮放尺度對象特征融合的能力;最后在Head層進行輸出結(jié)果預(yù)測時,針對目標定位中的分類與回歸相沖突的問題,Head層將分類和回歸進行解耦,分別對目標的類別以及位置進行預(yù)測,大幅度提高模型的收斂速度。YOLOv8模型結(jié)構(gòu)如圖4所示。
圖4 YOLOv8 網(wǎng)絡(luò)結(jié)構(gòu)示意Fig.4 Schematic diagram of YOLOv8 network
TensorRT 是NVIDIA 的深度學習推理優(yōu)化器,通過算子融合、量化、內(nèi)核自動調(diào)整、動態(tài)張量顯存和多流執(zhí)行等技術(shù),實現(xiàn)加速網(wǎng)絡(luò)推理。為了進一步提高模型的實時推理能力,本文采用TensorRT對訓練好的模型進行加速處理。由于本文采用Pytorch 模型搭建,無法直接轉(zhuǎn)換為TensorRT可讀取的參數(shù)格式,因此在利用TensorRT 進行優(yōu)化時,先將Pytorch 模型轉(zhuǎn)換為TensorRT支持的Onnx格式模型,再進行引擎優(yōu)化和執(zhí)行推理,從而完成模型的加速。
為了對本文所提高鐵關(guān)鍵零部件檢測算法進行驗證,分別進行基于脈沖數(shù)據(jù)的重構(gòu)實驗以及基于重構(gòu)圖像的關(guān)鍵零部件檢測試驗,通過分析試驗結(jié)果對本文算法的有效性進行驗證。
超高速脈沖相機作為傳感器負責數(shù)據(jù)的采集,采集頻率可達每秒兩萬幀。數(shù)據(jù)采集系統(tǒng)從相機前端芯片捕獲脈沖數(shù)據(jù),并通過軟排線與脈沖傳感器連接,對采集所得數(shù)據(jù)進行前處理和封裝,再通過光纖與上位機進行連接,通過外部設(shè)備進行采集端的控制與可視化處理。超高速脈沖相機參數(shù)如表1所示。
表1 超高速脈沖相機參數(shù)Table 1 Parameters of the ultra-high-speed spike camera
通過在高鐵運行正線路側(cè)搭建上述數(shù)據(jù)采集系統(tǒng),對沿線運行的高鐵進行數(shù)據(jù)采集,累計采集80 余趟高鐵運行數(shù)據(jù),共得原始脈沖數(shù)據(jù)1.2 TB,數(shù)據(jù)采集場景及采集所得原始脈沖數(shù)據(jù)示例分別如圖5(a)和圖5(b)所示。
圖5 數(shù)據(jù)采集Fig.5 Data acquisition
使用Python語言和Pytorch框架進行原始算法開發(fā),操作系統(tǒng)為Ubuntu18.04,GPU為GeForce GTX3090。
目標檢測模型性能所用評價指標如下:
式中:R——召回率;P——準確率;TP——檢測到的類別與真實類別一致的樣本數(shù)量;FP——檢測到的類別與真實類別不一致的數(shù)量;FN——存在未被檢測的標簽數(shù)量;PmA——所有類別樣本的精度平均值;N——類別數(shù)。
為對本文所提重構(gòu)算法進行驗證,分別選取靜止場景以及運動場景的高鐵脈沖數(shù)據(jù),利用本文所提重構(gòu)算法、脈沖累計重構(gòu)與脈沖間隔重構(gòu)3 種重構(gòu)算法同時對上述脈沖數(shù)據(jù)進行圖像重構(gòu),結(jié)果如圖6所示??梢钥闯觯?/p>
1)脈沖累計重構(gòu)出來的圖像在靜止場景下結(jié)果清晰,且無明顯噪點;在運動場景下,出現(xiàn)明顯運動模糊,故該方法不適用于高速運動場景的圖像重構(gòu)。
2)脈沖間隔重構(gòu)的圖像則無運動模糊,但由于原始脈沖數(shù)據(jù)含有較多的隨機噪聲,脈沖間隔重構(gòu)的結(jié)果含有較多噪聲。
3)采用本文所提方法重構(gòu)的圖像既沒有出現(xiàn)運動模糊現(xiàn)象,也沒有明顯的噪點。
進一步的,對本文所提重構(gòu)方法在不同亮度區(qū)域所觸發(fā)的脈沖數(shù)量進行定量分析,結(jié)果如圖7所示。對于重構(gòu)后的灰度圖像,隨機選取不同灰度值的8 個典型像素點,其在圖像中的位置如圖7 中Pixel 1~Pixel 8所示,統(tǒng)計每個像素點在100 幀內(nèi)累計觸發(fā)的脈沖數(shù)量??梢钥闯?,脈沖觸發(fā)數(shù)量和像素亮度之間的正比關(guān)系,即重構(gòu)結(jié)果符合超高速脈沖相機脈沖觸發(fā)原理,這說明了本文所提重構(gòu)方法能夠正確地還原不同像素位置在任意時刻的光強。
圖7 不同像素點觸發(fā)脈沖數(shù)量Fig.7 Number of triggered pulses at different pixels
為了進一步對本文所提重構(gòu)方法效果進行驗證,分別對靜止場景下3 種重構(gòu)結(jié)果進行灰度圖對比分析,結(jié)果如圖8所示??梢钥闯觯?種圖像重構(gòu)方式所得結(jié)果灰度圖曲線的大致走勢相近,即3 種重構(gòu)方法重構(gòu)出的結(jié)果相似;且本文重構(gòu)方法與脈沖間隔重構(gòu)灰度圖分布基本一致,即本文所提重構(gòu)方法在不改變圖像灰度分布的情況下,能夠很好地消除脈沖間隔重構(gòu)的異常噪點;相較圖像累計重構(gòu)方法,本文所提重構(gòu)方法無運動模糊現(xiàn)象且具有更好的圖像銳度。
圖8 不同重構(gòu)方法灰度圖分析Fig.8 Analysis of grayscale images from different reconstruction methods
完成上述由脈沖數(shù)據(jù)到圖像數(shù)據(jù)的轉(zhuǎn)換,對重構(gòu)后的圖像進行關(guān)鍵幀抽取,最后得到灰度圖像數(shù)據(jù)5 100余張。對數(shù)據(jù)集進行關(guān)鍵零部件標注,并按照訓練集與測試集7∶3的比例進行劃分,訓練集、測試集數(shù)據(jù)分布如表2所示。
表2 數(shù)據(jù)集劃分Table 2 Division of the dataset
利用劃分好的數(shù)據(jù)集,對模型進行200 個周期(epoch)的基礎(chǔ)訓練,其PR 曲線以及混淆矩陣如圖9所示。由圖可知,該模型對車體、輪對以及受電弓的檢測PmA值均在99%以上,證明該模型具有較好的性能。模型具體性能如表3所示。
表3 關(guān)鍵零部件檢測試驗結(jié)果Table 3 Experimental results of detection on key components
圖9 PR 曲線及混淆矩陣Fig.9 PR curve and confusion matrix
完成模型的基礎(chǔ)訓練之后,利用TensorRT對模型進行推理加速,并將加速前后的模型部署于GTX3090。取測試集對模型的平均精度以及推理時間進行對比測試,其中推理時間取測試集所有圖像幀的平均值。未加速前,平均單幀推理時間為5.9 ms;加速后,平均單幀推理時間為3.5 ms。相比未加速的模型,TensorRT 加速后的模型效率約提高了41%。具體性能如表4所示。
表4 TensorRT 加速前后性能對比Table 4 Performance comparison before and after TensorRT acceleration
對加速后的模型在測試集進行驗證,效果如圖10所示??梢钥闯?,加速后的模型仍能夠較好地對關(guān)鍵零部件進行檢測;且對于較小的關(guān)鍵零部件,如車輪以及受電弓等,檢測結(jié)果置信度也均在0.8 及以上,即TensorRT 加速后的模型在提高檢測時效性的同時,依然有較高的檢測精度。
圖10 模型在測試集上檢測效果Fig.10 Detection results of module on the test dataset
針對直接利用工業(yè)相機以及超高速脈沖相機對高鐵關(guān)鍵零部件進行檢測存在的各種問題,本文利用先重構(gòu)再檢測的技術(shù)路線,取得了較好的效果。首先,針對脈沖累計成像存在運動模糊以及脈沖間隔成像存在較多噪點的問題,本文在脈沖間隔成像的基礎(chǔ)上,利用全局光強修正局部光強,并通過濾波和局部增強處理,有效解決重構(gòu)結(jié)果含有噪點的問題,實現(xiàn)任意時刻的脈沖數(shù)據(jù)到高清灰度圖像的轉(zhuǎn)換;其次,利用重構(gòu)后的灰度圖像訓練高鐵關(guān)鍵零部件目標檢測模型,并利用TensorRT 實現(xiàn)模型加速,最終實現(xiàn)98.7%的平均精確度以及3.5 ms 的單幀平均推理時間,為算法的工程化應(yīng)用奠定了基礎(chǔ)??偟膩碚f,本文為高鐵關(guān)鍵零部件檢測提供了一種新的可行性方案,該方案能夠?qū)崿F(xiàn)對運動中的高鐵關(guān)鍵零部件快速準確檢測,對提高高鐵安全可靠運營具有重要意義。雖然利用先重構(gòu)再檢測的方法能夠?qū)崿F(xiàn)對高鐵關(guān)鍵零部件更高精度的檢測,但是圖形重構(gòu)過程所消耗的時間較長,后續(xù)考慮對圖像重構(gòu)過程進行加速,或是直接利用SNN目標檢測方法對脈沖相機采集的數(shù)據(jù)進行檢測。