徐肖磊 彭 茂 盧彥宏
(同濟(jì)大學(xué)鐵道與城市軌道交通研究院,上海 201804)
為保證車輛連掛安全可靠和車鉤裝置安裝的互換性。中國鐵路總公司《鐵路技術(shù)管理規(guī)程》規(guī)定:動(dòng)車組以外的列車中相互連掛的車鉤中心水平線的高度差,不得超過75mm[1]。因此,車鉤水平中心高度的測量是車輛檢測環(huán)節(jié)中不可或缺的一環(huán)。現(xiàn)有車鉤中心高度檢測辦法是以人工使用軌道尺讀取[2],測量精度不高、受測量條件影響且工作效率低。本文擬設(shè)計(jì)一套基于雙目視覺測量的智能軌旁車鉤高度檢測的原理設(shè)備,從而提高車輛維修、編組的工作效率。
雙目立體視覺技術(shù)需要雙目攝像頭獲取同一場景不同角度的兩組圖像。首先確定目標(biāo)點(diǎn)在兩圖像中對(duì)應(yīng)的坐標(biāo)位置并計(jì)算視差,最后基于幾何關(guān)系從而獲得目標(biāo)點(diǎn)的真實(shí)三維信息。雙目測距原理圖如下所示:

圖1 雙目視覺測量原理圖
圖中P(Xw,Yw,Zw)為目標(biāo)點(diǎn)三維坐標(biāo),Pl(xl,yl)和Pr(xr,yr)分別為目標(biāo)在左右圖像中的成像坐標(biāo),B 為兩攝像頭光心間距,f為攝像頭焦距,同時(shí)定義xl-xr為視差。
根據(jù)相似三角形原理可計(jì)算出目標(biāo)點(diǎn)的三維坐標(biāo)為:


圖2 系統(tǒng)架構(gòu)
本套設(shè)備由軌旁檢測系統(tǒng)(下位機(jī))與PC 機(jī)(上位機(jī))組成。下位機(jī)以樹莓派微機(jī)為核心,搭載鏡頭和感應(yīng)器件實(shí)現(xiàn)車鉤與車號(hào)圖像動(dòng)態(tài)獲取。上位機(jī)通過后端算法對(duì)圖像素材完成求解處理。上下位機(jī)之間基于Socket 通信技術(shù)實(shí)現(xiàn)圖像素材與數(shù)據(jù)的傳輸互通。
2.2.1 圖像預(yù)處理
用雙目視覺算法還原目標(biāo)的三位特征的一大阻礙是鏡頭畸變導(dǎo)致目標(biāo)在圖片上的變形,故一般采用立體線性定標(biāo)(DLT)求解鏡頭的內(nèi)參和兩雙目相機(jī)之間的空間關(guān)系。
使用Matlab 的cameraCalibrator 工具箱,控制鏡頭在不同角度對(duì)同一標(biāo)定板采集20 組樣本進(jìn)行標(biāo)定,剔除異常值后計(jì)算出攝像機(jī)徑向畸變、切向畸變、旋轉(zhuǎn)矩陣等內(nèi)外參數(shù),其中旋轉(zhuǎn)關(guān)系向量為:[0.01911, 0.03125, -0.00960],平移關(guān)系向量為:[49.1605,0.3195,-1.4706]。同時(shí)為便于提取目標(biāo)關(guān)鍵信息,減少不同干擾源,對(duì)圖像采用濾波算法進(jìn)行預(yù)處理。
2.2.2 神經(jīng)網(wǎng)絡(luò)目標(biāo)識(shí)別算法
在通過還原車鉤的三維坐標(biāo)之前,為排除干擾、節(jié)省算力,對(duì)雙目圖像中車鉤前面板的區(qū)域進(jìn)行提取。YOLOv3 在Pascal Titan X 上處理608×608 圖像速度可以達(dá)到20FPS,在COCO test-dev 上mAP@0.5 達(dá)到57.9%[3],符合系統(tǒng)即時(shí)反饋的性能要求。
神經(jīng)網(wǎng)絡(luò)算法需要對(duì)大量的圖像進(jìn)行標(biāo)注處理送入神經(jīng)網(wǎng)絡(luò)模型當(dāng)中得到參數(shù);在前期實(shí)驗(yàn)中,已經(jīng)對(duì)夏芬伯格式地鐵車鉤前面板采集了1600 個(gè)樣本,其中1073 個(gè)用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,并對(duì)圖片加以放縮、旋轉(zhuǎn)和扭曲來豐富訓(xùn)練集。按照卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練規(guī)范將其分割為占比50%的訓(xùn)練集,30%的數(shù)據(jù)集以及20%的驗(yàn)證集。
網(wǎng)絡(luò)的搭建采用以TensorFlow為中介的遷移訓(xùn)練方式(即“TensorFlow 實(shí)現(xiàn)”)。計(jì)算機(jī)硬件設(shè)備為:GPU-GTX1050(2G);CPU-AMDRyzen5 2500U。 環(huán) 境 配 置 為:python 3.7.1;TensorFlow-gpu 2.1.0;keras 2.3.1;Cudnn 7.6.5;Opencv 3.4.1;numpy 1.19.5。訓(xùn)練批量64 ,目標(biāo)種類數(shù)為1。訓(xùn)練設(shè)置最大迭代數(shù)為20,每次迭代進(jìn)行80 輪訓(xùn)練。實(shí)際訓(xùn)練中,在第十六次迭代后發(fā)現(xiàn)過擬合現(xiàn)象,隨即停止繼續(xù)訓(xùn)練并輸出最終的檢測模型。下面以損失函數(shù)值LOSS 和平均交并比IOU 來呈現(xiàn)訓(xùn)練過程。
訓(xùn)練過程如圖3,可見,隨著訓(xùn)練的進(jìn)行,損失函數(shù)Loss 值大致呈指數(shù)下降趨勢,略有振蕩;而平均IOU 則震蕩上升,最后趨向于1;各指標(biāo)終值符合預(yù)期。經(jīng)過計(jì)算,第十次迭代訓(xùn)練后的模型準(zhǔn)確率(Precision)和召回率(Recall)分別達(dá)到了88.1%和94.9%,按此標(biāo)準(zhǔn)評(píng)價(jià)神經(jīng)網(wǎng)絡(luò)性能達(dá)到了設(shè)計(jì)要求。

圖3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程參數(shù)
2.2.3 立體匹配算法
在獲取車鉤前面板位置和特征點(diǎn)后,需要根據(jù)兩幅圖像的視差來計(jì)算實(shí)際物體在三維空間內(nèi)的坐標(biāo),匹配的優(yōu)良程度將直接關(guān)系到后續(xù)的測量精度。為兼顧處理速度和測量精度,擬采用基于OpenCV 的Semi-global matching(SGM)算法。其主要手段是先將經(jīng)過水平Sobel 算子處理后的圖像上每個(gè)像素點(diǎn)映射成一個(gè)新的圖像,其函數(shù)形式如下:

其中,P 表示其像素值。再將預(yù)處理后的圖像的梯度信息經(jīng)過基于采樣的方法得到梯度代價(jià),將視覺問題轉(zhuǎn)換為動(dòng)態(tài)規(guī)劃問題。從而獲取被測對(duì)象的深度信息。

圖4 立體匹配極線約束示意
由于過曝、陰影和環(huán)境噪聲的影響,雙目圖像中的某些區(qū)域無法有效匹配,具體結(jié)果出現(xiàn)深度為無窮或零的像素塊,嚴(yán)重干擾測量。故不能直接由深度圖信息讀取目標(biāo)高度。對(duì)深度圖像的后處理操作為:以特征圓為研究區(qū)域,篩選出其中具有深度信息的像素,按照其深度值進(jìn)行排序,去掉深度大小位于后15%的像素。再對(duì)其余像素坐標(biāo)按照其與特征圓心的距離對(duì)深度加權(quán)平均,得到車鉤中心的高度坐標(biāo),如下式:

其中,H 表示測量結(jié)果;h0表示雙目攝像機(jī)組相對(duì)軌道表面的高度,由事先測量得到;d 表示某像素點(diǎn)到特征圓圓心的歐式距離;z 表示立體匹配結(jié)果中三維坐標(biāo)的z 值。
在試驗(yàn)測量中,在不同天氣、光照條件下,分別調(diào)整下位機(jī)鏡頭與被測車鉤距離1、1.5、2m,再各取十個(gè)拍攝側(cè)偏角度,將平均測量結(jié)果與實(shí)際車鉤中心高度測量值對(duì)比得到精度。表1為相關(guān)結(jié)果與精度。

表1 測量結(jié)果與精度
由于缺乏多工況、大批量樣本的測試,系統(tǒng)魯棒性有待考量;此外雙目視覺對(duì)中遠(yuǎn)尺度測量的精度較低,有待進(jìn)一步優(yōu)化提升;模型應(yīng)用于實(shí)際的運(yùn)維工作仍有距離。未來可引入紅外感應(yīng)傳感器和動(dòng)態(tài)攝像機(jī)完成下位機(jī)圖像自動(dòng)、動(dòng)態(tài)采集,實(shí)現(xiàn)系統(tǒng)全自動(dòng)化運(yùn)行。
本文提出并研制了一種基于雙目視覺的車鉤高度測量設(shè)備,結(jié)果表明本設(shè)備雖然能夠初步實(shí)現(xiàn)自動(dòng)化測量功能,但是距離實(shí)際應(yīng)用還存在少量不足。在軌道車輛智能運(yùn)維領(lǐng)域,本本提供了一種較為新穎的解決方案。