孔令凱,劉志鋼,魏麗麗,楊鄭龍,張 華
(上海工程技術(shù)大學城市軌道交通學院,上海 201620)
軌道交通軌旁設(shè)備、如轉(zhuǎn)轍機等,對軌道交通的安全運營起著重要作用。 轉(zhuǎn)轍機一旦發(fā)生故障,輕則影響運行效率,重則發(fā)生嚴重的列車脫軌事故。轉(zhuǎn)轍機在日常使用中不可避免地會發(fā)生磨損、老化等問題,因此更需要及時檢察和維護。 自動開閉器動靜接點組的動接點接入深度決定了轉(zhuǎn)轍機能否正常工作。 如果接入深度達不到標準要求,接觸深度不良會造成電路故障和一些嚴重后果;如果接入深度過大,不但會加速簧片老化的過程,并且會造成滾輪落底不轉(zhuǎn)動。 目前,開閉器的檢查仍需人工參與。由于開關(guān)機結(jié)構(gòu)復雜,檢驗人員需要大量的專業(yè)知識和檢測經(jīng)驗,并且檢驗方法難以推廣。 以上這些原因都導致了開閉器的維護和保護效率低下。 通過基于機器視覺的轉(zhuǎn)轍機動靜節(jié)點打入深度研究,可以極大程度地減少維修工作強度,提高地鐵維護過程中的工作效率。
基于機器視覺的接入深度測量包括關(guān)鍵位置定位和距離轉(zhuǎn)換兩個步驟。 定位結(jié)果的準確與否對最終測距有直接且重要影響。 而實際使用中的現(xiàn)場環(huán)境往往存在著各種對圖像的不良影響,因此需要算法能降低,甚至消除復雜環(huán)境產(chǎn)生的干擾從而達到精準定位。 在距離轉(zhuǎn)換中,由于圖像不可能完全正面拍攝,因此考慮圖形畸變以及在不同型號中尋找出合適的錨定標尺是提升精度的必要方式。
人工智能技術(shù)在數(shù)據(jù)驅(qū)動建模方面取得了很大進展[1],同時利用自動測量方法測量動接點和靜接點的接入深度可以很大提高測量效率。 自動檢測方法主要是非接觸式檢測,不會影響設(shè)備的表面變形和磨損。 目前,常用的非接觸式距離檢測方法主要有超聲波檢測方法[2-3]、激光檢測方法[4]、基于立體視覺的測量方法、機器視覺測量方法等。 超聲波和激光探測方法要求被測物體表面具有較高的反射率。 如果物體表面的反射率不符合標準,測量效果就會很差。 基于立體視覺的攝像機測量技術(shù)對攝像機的數(shù)量和安裝條件要求更為嚴格。 但是,轉(zhuǎn)轍機的現(xiàn)場條件不能滿足上述方法的要求,上述測距方法不適用于自動開閉器動靜接點組打入深度的檢測。 因此,選擇了機器視覺測量方法。
研究早期,張凱等學者[5]就提出了利用BP 神經(jīng)網(wǎng)絡(luò)和PNN 來診斷道岔故障。 其后孫迪鋼[6]對BP 神經(jīng)網(wǎng)絡(luò)進行修改,提高了對于轉(zhuǎn)轍機故障檢測的準確性與穩(wěn)定性。 李超等學者[7]提出基于Canny算子對轉(zhuǎn)轍機缺口進行檢測,通過邊緣檢測算法得到缺口位置,并得到缺口實時位置,但其僅針對固定型號轉(zhuǎn)轍機且截取的焦點區(qū)域是預先設(shè)定好的,并無法實施全型號使用,且使用條件較為苛刻,無法在實際中范圍覆蓋使用。 Tao 等學者[8]提出采用Yolo目標檢測算法對轉(zhuǎn)轍機間隙進行檢測并計算間隙尺寸,其方法通過針對間隙的檢測很好地覆蓋各種型號的轉(zhuǎn)轍機,在可行性方面取得了重大進步,具有極高的參考價值。 但其功能可拓展型不足。 邢顥等學者[9]在轉(zhuǎn)轍機缺口檢測中,相較于Tao 直接Yolo 算法,其研究是通過采用改進的輕量級的Yolo 網(wǎng)絡(luò)對缺口進行定位,但是依舊沒有在本質(zhì)上改變拍攝缺口圖片的難度以及考慮現(xiàn)場復雜環(huán)境。 Yin 等學者[10]提出的雙層Mask-RCNN 檢測算法,通過2 次Mask-RCNN 網(wǎng)絡(luò),在一定程度上提高了定位精度,但是卻成倍地增加了計算量導致計算時間過長、且一個訓練模型僅針對一類轉(zhuǎn)轍機,無法統(tǒng)一實現(xiàn)轉(zhuǎn)轍機所有型號的識別。 然而,這些方法著重關(guān)注在特征提取,在正常的環(huán)境中可能結(jié)果理想,但是在復雜的實際實用當中會存在許多的異常情況,例如地鐵隧道中拍攝的圖像可能存在區(qū)域曝光或者由于拍攝角度問題導致圖像傾斜,上述方法既不能針對復雜環(huán)境進行準確識別,也不能正確計算傾斜圖像的接入深度[11]。 因此,需要一個適用于多型號的通用算法。
為了克服上述不足,本文提出了一種基于Mask-RCNN[12-13]的轉(zhuǎn)轍機工作組件低復雜精準測距算法來檢測轉(zhuǎn)轍機自動開閉器動靜接點接入深度以便降低維保人員的工作強度,推進智能化運維進程,并為其他小目標分割算法的研究提供指導思想。首先,通過二次分割對轉(zhuǎn)轍機關(guān)鍵點圖像中的目標區(qū)域進行識別和定位。 然后,提出引用雙線性插值算法和擬合線性距離變換來矯正傾斜圖像并計算接入深度距離,完成圖像形變中非線性距離映射關(guān)系的換算。 最后,通過實驗驗證方法:與專業(yè)維保人員進行討論后,實驗認定算法結(jié)果與游標卡尺讀數(shù)數(shù)值在正負1 mm內(nèi)為有價值的讀數(shù),將多組圖像輸入算法后的結(jié)果與游標卡是標準讀數(shù)進行對照,獲得有價值讀數(shù)的數(shù)量。 實驗?zāi)茉?9%以上的圖像中獲取有價值的讀數(shù),表明實驗算法穩(wěn)定,可以應(yīng)用于不同型號轉(zhuǎn)轍機多角度拍攝并具有準確、快速、魯棒性強等優(yōu)點。 可以極大降低對于現(xiàn)場檢修人員的專業(yè)需求,提高工作效率。
本文的主要創(chuàng)新點如下:
(1)提出一種適用于現(xiàn)階段全型號轉(zhuǎn)轍機的測距方法,用于復雜拍攝環(huán)境中的精確定位。
(2)提出一種基于神經(jīng)網(wǎng)絡(luò)的精確分割算法。采用二次分割,通過神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)交互迭代精細分割算法結(jié)合,并通過一系列的圖像處理技術(shù),提高復雜現(xiàn)場場景使用中的精度。
(3)提出圖像矯正技術(shù)在軌道交通檢測方面的應(yīng)用。
1.2.1 Mask-RCNN
Mask-RCNN 主要用于物體檢測與實例分割。首先,輸入一幅想處理的圖片,然后進行對應(yīng)的預處理操作,或者預處理后的圖片;然后,將其輸入到一個預訓練好的神經(jīng)網(wǎng)絡(luò)中(ResNeXt 等)獲得對應(yīng)的feature map;接著,對這個feature map 中的每一點設(shè)定預定的ROI,從而獲得多個候選ROI;接著,將這些候選的ROI 送入RPN 網(wǎng)絡(luò)進行二值分類(前景或背景)和BB 回歸,過濾掉一部分候選的ROI;此后,對這些剩下的ROI 進行ROIAlign 操作(即先將原圖和feature map 的pixel 對應(yīng)起來,然后將feature map 和固定的feature 對應(yīng)起來);最后,對這些ROI進行分類(N類別分類)、BB 回歸和MASK 生成(在每一個ROI 里面進行FCN 操作)。
研究中,在Fast R-CNN 的基礎(chǔ)上拓展了在每個感興趣區(qū)域(ROI)上添加了一個分割掩碼的分支,并與Fast R-CNN 中現(xiàn)有的分類分支、邊界框回歸分支并行。 掩碼分支是一個卷積網(wǎng)絡(luò),取ROI 分類器選擇的正區(qū)域為輸入,并生成對應(yīng)的掩碼。 掩碼分支應(yīng)用于所有ROI 的小型FCN。 以像素到像素的方式進行分割掩膜的預測。 通過掩碼分支僅增加了少量的計算,卻得到了更加明顯直觀的實驗效果。
1.2.2 高斯混合模型
算法利用了圖像中的紋理(顏色)信息和邊界(反差)信息,只要少量的用戶交互操作即可得到比較好的分割結(jié)果。 算法在框選出目標區(qū)域后,將框外區(qū)域認定為背景區(qū)域,將選框內(nèi)區(qū)域視作前景區(qū)域,再通過計算前景和背景的高斯模型,對每個像素的RGB值帶入單個的高斯模型進行計算,選取最大的作為該像素的歸屬,稍后再建立一個圖,對該圖求最小割,循環(huán)直至收斂,由此判斷選框內(nèi)的前景區(qū)與背景區(qū)。
圖像在輸入Mask-RCNN 網(wǎng)絡(luò)時,會將圖片像素重置成預設(shè)好的固定大小,而手機保存圖片的時候會存在差異,因此,在將圖像輸入網(wǎng)絡(luò)之前,對圖片的大小長寬進行比對判斷是否需要旋轉(zhuǎn),最終以長小于寬的圖片比例輸入到網(wǎng)絡(luò)中,以減小重置像素大小時對結(jié)果準確度的影響。 此處需用到的數(shù)學公式為:
其中,l表示圖片的長,b表示圖片的寬。
通過Mask-RCNN 網(wǎng)絡(luò),加載預先訓練好的權(quán)重模型進行預測,最終得到關(guān)鍵位置的預測區(qū)域。圖1(a)是由手機現(xiàn)場拍攝的轉(zhuǎn)轍機動靜接點圖,圖1(b)為Mask-RCNN 網(wǎng)絡(luò)結(jié)果輸出圖。 之后對關(guān)鍵點預測區(qū)域進行灰度處理與二值化閾值處理,將子圖轉(zhuǎn)換成黑白圖像后容易找到掩膜并形成最小包裹圓區(qū)域。 研究給出的數(shù)學公式具體如下:
圖1 單Mask-RCNN 結(jié)果Fig. 1 Single Mask-RCNN Results
其中,i表示圖中某個像素點;Ri、Gi、Bi分別表示i點的紅、綠、藍像素值;a1、a2、a3分別為R、G、B像素的權(quán)重,一般情況下分別為0.299、0.587、0.114;Yi表示i點的最終灰度值。 可由如下公式計算其值:
二值化中,設(shè)置一個灰度閾值,大于閾值的區(qū)域呈現(xiàn)黑色,小于閾值的點呈現(xiàn)白色。
為了方便觀察,Mask 生成的掩膜與原圖在圖中進行重疊,如圖2 所示。 新掩膜覆蓋的區(qū)域與關(guān)鍵點區(qū)域有較好的覆蓋,但在實驗中研究發(fā)現(xiàn),對于一些水平有所傾斜的圖片,僅此定位方式不能完好地定位出關(guān)鍵點圓心。 這里,圖2(a)為在圖像中對關(guān)鍵點區(qū)域進行裁剪,圖(b)為擴展黑色像素后的小圖裁剪。
圖2 像素擴展Fig. 2 Pixelexpansion
對于轉(zhuǎn)轍機來說,單憑借Mask-RCNN 網(wǎng)絡(luò)不能滿足精度需求,因此為了能更加完整地分割、定位好關(guān)鍵點所在的位置,對于第二次的分割,提出了分步結(jié)合法,在粗定位得到關(guān)鍵點位置之后,進行子圖分割,并在子圖中進一步確認關(guān)鍵點的位置。 該方法分為以下5 個步驟:
(1)將第一步中生成的最小包圍圓各自作為參考點,以圓心為坐標截取預定大小的小圖,該圖為后續(xù)二次分割的子圖。 但是為了防止分割出過多的區(qū)域?qū)е路指钍В枰葘⒃瓐D進行像素擴展,結(jié)果表明在原圖周圍擴展200 個黑色像素點是有效的預防手段。 可以看到所有的子圖中均完整包含關(guān)鍵點的所有區(qū)域。
(2)在步驟(1)分割出的子圖中,以第一步找到的初步位置信息為前景信息,用高斯混合模型(GMM)來對前景建模,并自動從邊緣開始,把不是螺栓區(qū)域的標為背景標簽。 利用聚類算法,將各自模型中像素分列不同的模型樣本中,利用各自樣本,估計高斯模型內(nèi)的參數(shù),并將可能的前景、背景代入到BGM 或FGM 中計算,選擇概率最大的高斯模型,此后結(jié)合構(gòu)建好的高斯模型(區(qū)域項)與邊界項,構(gòu)建圖模,最后利用最大流算法對未知區(qū)域進行重新分配并更新Mask,以此降低誤判前景為背景的概率,重復迭代直至將前景分割。
(3)將Mask 網(wǎng)絡(luò)生成的掩膜與步驟(2)中生成的掩膜在圖中進行疊加,得到置信度較高的關(guān)鍵點區(qū)域,并對此區(qū)域的疊加掩膜進行邊緣精修:分割步驟中僅針對圖3 中螺栓進行分割,因此對螺栓大致形狀進行預先設(shè)定,將形狀與2 次疊加后的最終掩膜進行比對并添補空缺,經(jīng)過迭代最小填補,直至掩膜形狀與所需分割的螺栓形狀重合,此時迭代完成,輸出最終分割結(jié)果。
圖3 二次分割后掩膜Fig. 3 Mask after secondary division
通過比較可以發(fā)現(xiàn),此方法比單Mask 網(wǎng)絡(luò)進行定位能更加完整地分割出螺栓區(qū)域。
對于第二步中,2 次分割后疊加的掩膜圓心,是后續(xù)計算接入深度的重要依據(jù),但由于在圖像拍攝中,產(chǎn)生的傾斜都可能導致圓心在圖像中的位置與實際中的相對位置有偏差,因此需要對圖像以關(guān)鍵點區(qū)域進行校正,在實際使用中,6 個關(guān)鍵點呈橫排平行,豎排平行關(guān)系,即可通過6 個關(guān)鍵點的位置,根據(jù)實際中的相對位置關(guān)系,映射出可信度較高的還原圖像。
采用頂點映射的方式:
其中,[x′,y′,w′]為矯正像素;[u,v,w] 為待矯正像素;為透視變換仿射矩陣。矯正前圖像至矯正后圖像的變化效果,如圖4 所示。
圖4 圖像校正前后結(jié)果Fig. 4 Results before and after image correction
轉(zhuǎn)轍機自動開閉器側(cè)面圖如圖5 所示。 從圖5中可以看出矯正后能明顯地改善由于拍攝角度不正導致的圖像傾斜。
圖5 轉(zhuǎn)轍機自動開閉器側(cè)面圖Fig. 5 Side view of automatic switch switch
轉(zhuǎn)轍機側(cè)面圖見圖5,動螺栓的動作路徑為弧形運動,因此在二維平面中,動靜接點接入深度與動螺栓的位置存在一定的非線性關(guān)系。 首先,需要獲取圖像距離與真實距離的關(guān)系,首先多選取兩排靜螺栓之間的距離為錨定標尺,在實際使用過程中,靜螺栓的作用是負責將自動開閉器固定在轉(zhuǎn)轍機底座上,因此,選取靜螺栓之間的距離為錨定標尺對測距來說更加可靠且適用面廣。 通過第一步的定位分割與第二步的還原矯正,研究得到了2 排靜螺栓之間、動靜螺栓之間的像素距離。 然后通過與實際測量的靜螺栓之間的真實距離進行比例換算,得到動靜接點螺栓的真實距離:
其中,Ddj、Djj表示動靜接點螺栓,2 排靜接點的真實距離,Pdj、Pjj表示動靜接點螺栓,2 排靜接點的像素距離。 通過等式得到動靜接點螺栓真實距離Ddj。
最后,在得到動靜螺栓真實距離后,通過預置好的擬合距離函數(shù),將動螺栓與靜螺栓的位置距離作為輸入,機器自動判斷動螺栓最近的靜螺栓位置,通過擬合函數(shù)的計算,得到動靜接點組接入深度。 在擬合位置函數(shù)的過程中,研究發(fā)現(xiàn)3 階函數(shù)的擬合度最高,可將最大誤差控制在1 mm之內(nèi)。 因此,這里選擇3 階函數(shù):
其中,D為轉(zhuǎn)轍機動靜接點組接入深度,a、b、c、e為三階函數(shù)擬合出的結(jié)果。
本部分將介紹算法流程,具體流程如圖6 所示,整體流程分為3 步。
圖6 算法流程Fig. 6 Flowchart of the algorithm
第一步,基于Mask-RCNN 的交互迭代二次精分割:將待測圖像輸入到Mask-RCNN 網(wǎng)絡(luò)進行定位與分類,得到所需要的動靜接點螺栓區(qū)域,在區(qū)域上對原圖像進行小范圍切割,得到6 個包含螺栓區(qū)域的小圖像,并在小圖像區(qū)域以粗定位產(chǎn)生的掩膜作為前景,通過算法進行第二次分割,最后將2 次分割結(jié)果進行疊加與修整。
第二步,根據(jù)頂點映射的圖像矯正:經(jīng)過二次的分割,已經(jīng)得到了一個置信度較高的螺栓區(qū)域,由于螺栓在實際應(yīng)用呈矩形分布,可以通過對螺栓區(qū)域在原圖像中的位置,對圖像區(qū)域進行校正,以較少拍攝角度傾斜對實驗結(jié)果的影響。
第三步,高精度的等比例非線性計算:在進行校正后的圖像中,通過差值與等比例放大即可得到每個像素點對應(yīng)的實際坐標,并與錨定的標尺推斷出實際動靜接點的接入深度。
在Mask-RCNN 網(wǎng)絡(luò)的基礎(chǔ)上,通過將其結(jié)果進一步分割、定位并與圖像矯正還原技術(shù)相結(jié)合,解決了復雜地鐵環(huán)境與實際使用過程中人為因素對的圖像中小目標關(guān)鍵點精確定位的影響,提高了測距算法定位精度并減少了計算時間。
Windows 10 專業(yè)版64 位; CPU 是Intel i7-8700 @ 3.2 GHz; GPU 是NVIDIA RTX 3080;深度學習框架為Tensorflow-gpu 2.5.0;內(nèi)存32 G;并且編程語言是Python 3.6。
本文數(shù)據(jù)集使用的數(shù)據(jù)圖片均來自上海申通地鐵有限公司現(xiàn)場拍攝的轉(zhuǎn)轍機自動開閉器。 由于現(xiàn)場拍攝的圖片尺寸不同,因此需要對圖片進行必要的旋轉(zhuǎn)和裁剪,為了方便模型的建立,并將圖片尺寸固定成960?1 280 大小。 數(shù)據(jù)集的圖像源于不同的場景與不同員工拍攝,圖像差異性很大,因此,準確的定位與訓練具有挑戰(zhàn)性。 訓練數(shù)據(jù)集由上海地鐵現(xiàn)有的6 種轉(zhuǎn)轍機型號各400 張組成。 為了真實地模擬拍攝條件不佳的特殊工況作業(yè)環(huán)境,在數(shù)據(jù)集的選擇當中做了一些挑選,并將特殊環(huán)境如角度傾斜、亮度過暗較多地加入在數(shù)據(jù)集中。
本文測試集設(shè)有6 小組測試集,每組50 張轉(zhuǎn)轍機圖片,采用本文提出的方法收集定位的結(jié)果,并通過非線性距離映射關(guān)系的結(jié)果與實際距離得到轉(zhuǎn)轍機自動開閉器關(guān)鍵點的定位精度。
實驗采用遷移學習方法,并使用coco 數(shù)據(jù)作為預訓練模型,縮短模型收斂所需時間。
本實驗通過交并比(IoU) 作為判斷依據(jù),在判斷候選框anchor 為正樣本與負樣本為例,假設(shè)設(shè)定閾值為0.6,則計算每個參考框與正確標注之間的IoU,如果超過0.6,則判定為正樣本,否則為負樣本,其中正確標注是在訓練圖像標簽中Mask 的左上角和右下角的坐標中得到
其中,boxanchor是錨參考框,boxGT是Ground Truth 定位結(jié)果分析。
6 個關(guān)鍵點定位是后續(xù)接入深度計算的重要依據(jù),通過計算中間橫排2 點與上下排在y軸上的相對位置關(guān)系,即可以通過預設(shè)好的擬合函數(shù),得到動靜接點接入深度。
動靜接入深度準確度在本文中設(shè)定為:測量輸出數(shù)值與實際人工讀數(shù)的數(shù)值偏差在0.1 cm 之內(nèi)為讀數(shù)正確。 共設(shè)置6 個樣本組,每個樣本組50 張圖,接入深度準確數(shù)據(jù)見表1。 雙分割矯正網(wǎng)絡(luò)準確度如圖7 所示。
表1 雙分割矯正網(wǎng)絡(luò)測量誤差表Tab. 1 Measurement error table of double - split correction network
圖7 雙分割矯正網(wǎng)絡(luò)準確度Fig. 7 Accuracy of double split correction network
由于最后接入深度準確度與關(guān)鍵點圓心定位呈正相關(guān),說明定位對實驗結(jié)果會產(chǎn)生重要影響,表1分別給出了方法對開閉器關(guān)鍵點位置的定位結(jié)果。因為YOLO 與Mask-RCNN 在目標定位算法中較為常用,所以用其來做比較,增加本文可信度。
圖8 分別給出了3 種方法對轉(zhuǎn)轍機自動開閉器動靜接點定位的結(jié)果。 在圖8 中可以直觀看到,YOLO\MASK-RCNN 在定位準確度5 mm 范圍內(nèi)上沒有太大差異,分別為,在定位準確度1 mm 范圍內(nèi),本文算法要優(yōu)于這2 種參考算法,且在計算時間方面,本算法也已經(jīng)達到了很快的檢測速度。
圖8 定位功能對比圖Fig. 8 Positioning function comparison diagram
在本文中,通過定位算法計算轉(zhuǎn)轍機自動開閉器動靜接點接入深度。 首先進行粗定位Mask-RCNN 定位,生成掩膜,再在粗定位基礎(chǔ)上,對子圖進行二次分割、定位,提高了關(guān)鍵目標的定位精度,通過圖像矯正技術(shù)提高了動靜接點接入深度的計算精度。 結(jié)果表明,本定位算法可以高效、準確地自動定位、計算出開閉器動靜接點的接入深度。 算法的研究更好地促進了軌道交通行業(yè)維護自動化、降低了維護人員的工作強度,也為今后的維護巡檢工作提供新的思路。 該方法適用于所有類型的轉(zhuǎn)轍機,因為選擇的關(guān)鍵點是自動開閉器的固定螺栓,所有開閉器的結(jié)構(gòu)都是如此。 對于夜間曝光或者傾斜圖片的各種復雜實際情況,該方法都能提高最終結(jié)果的準確性、抗干擾性和通用性。
本文方法還要在如下2 方面進行改進:
(1)對框架環(huán)境要求苛刻,不方便改動升級。
(2)Mask-RCNN 訓練前需要產(chǎn)生大量標簽手動,訓練效果與標簽制作有關(guān)。