黃 濤 張軍賢 蔡正凱 饒 鑫 單 奇**
(1.中車南京浦鎮(zhèn)車輛有限公司, 210031, 南京; 2.西南交通大學(xué)機(jī)械工程學(xué)院, 610031, 成都∥第一作者, 正高級工程師)
城市軌道交通列車中常用的定位與測速技術(shù)有輪速法、多普勒測速定位、查詢/應(yīng)答器法、軌道電路法、衛(wèi)星定位法等。其中,輪速法的運(yùn)作原理簡單,但當(dāng)列車輪對發(fā)生空轉(zhuǎn)、蠕動或打滑時會產(chǎn)生較大誤差;多普勒測速法維護(hù)簡單、應(yīng)用范圍廣,在列車高速運(yùn)行時的誤差較小,但易受外部條件(如振動、安裝誤差、雨雪等)的影響[1];查詢/應(yīng)答器法定位精度高,特別適合消除列車定位過程中產(chǎn)生的累計(jì)誤差,但該法無法實(shí)現(xiàn)列車的連續(xù)定位,且應(yīng)答器鋪設(shè)成本較高,保養(yǎng)和維護(hù)難度較大[2];軌道電路法技術(shù)成熟、可靠,但定位誤差大,無法準(zhǔn)確給出列車在區(qū)段內(nèi)的具體位置和速度信息;衛(wèi)星定位法定位精度高、維護(hù)方便,但在周圍阻擋物多的地方(如山林、城市、隧道等處)存在定位盲區(qū)[3]。
本文針對現(xiàn)有列車定位與測速技術(shù)存在的缺陷,提出基于機(jī)器視覺技術(shù)的城市軌道交通列車定位與測速系統(tǒng)(以下簡為“列車定位與測速系統(tǒng)”)。在列車運(yùn)行速度不超過120 km/h的情況下,該系統(tǒng)能完成列車的實(shí)時定位與測速,軌道線路定位誤差小于0.1 m,區(qū)間測速誤差小于0.1 km/h。
本文提出的列車定位與測速系統(tǒng)由硬、軟件兩部分組成。其中,硬件部分包括視覺定位外機(jī)、視覺定位內(nèi)機(jī)和視覺信標(biāo)等3個部分,系統(tǒng)的硬件連接圖如圖1所示。
圖1 列車定位與測速系統(tǒng)硬件連接圖Fig.1 Hardware connection diagram of train positioning and speed measurement system
外機(jī)的主要作用是收集高幀頻檢測軌道線路的圖像,并將圖像準(zhǔn)確、可靠地傳輸?shù)絻?nèi)機(jī),其需解決的主要技術(shù)問題包括:①外機(jī)的結(jié)構(gòu)設(shè)計(jì),以及外機(jī)的振動和空氣動力學(xué)分析;②外機(jī)的照明、除塵、除霧、防振和抗電磁干擾等問題及其控制方法;③高速工業(yè)相機(jī)的自適應(yīng)控制。內(nèi)機(jī)的主要作用是根據(jù)外機(jī)高速采集的軌道線路圖像,對軌道線路進(jìn)行識別跟蹤,融合視覺定位信標(biāo)檢測到的數(shù)據(jù),實(shí)時、連續(xù)計(jì)算出當(dāng)前列車的位置和速度,并將其計(jì)算結(jié)果上傳到列車控制系統(tǒng)或遠(yuǎn)程監(jiān)控中心。每個視覺信標(biāo)均具有唯一的編碼,通過識別視覺信標(biāo),可查詢到視覺信標(biāo)的安裝信息,進(jìn)而得到列車在軌道上的絕對位置。內(nèi)機(jī)通過獲取城市軌道交通列車車站附近視覺信標(biāo)的精確定位信息,定期消除軌道線路視覺定位系統(tǒng)可能產(chǎn)生的累積誤差。視覺信標(biāo)解決的主要問題包括信標(biāo)的制作、檢測、編碼和快速識別等。
列車定位與測速系統(tǒng)軟件部分包括4個模塊:圖像采集模塊、照明控制模塊、圖像處理模塊及數(shù)據(jù)融合分析模塊。其軟件模塊結(jié)構(gòu)圖如圖2所示。其中:圖像處理模塊包含列車定位與測速系統(tǒng)的關(guān)鍵算法,主要包括視頻圖像采集和預(yù)處理、軌枕特征識別和跟蹤、基于機(jī)器視覺的列車定位計(jì)算等過程;數(shù)據(jù)融合分析模塊可對圖像處理算法獲取的列車位置信息與視覺信標(biāo)獲取的位置信息進(jìn)行融合處理,進(jìn)而消除視覺定位算法產(chǎn)生的累計(jì)誤差,提高列車定位與測速系統(tǒng)的定位精度和可靠性;圖像采集模塊采集軌道圖像;照明控制模塊根據(jù)采集圖像的質(zhì)量評價指標(biāo),動態(tài)控制光源控制器,調(diào)整光源亮度,保障相機(jī)在工作范圍內(nèi)具有穩(wěn)定、均勻、充足的光照,提高圖像檢測的準(zhǔn)確率。
圖2 列車定位與測速系統(tǒng)軟件模塊Fig.2 Software module of train positioning and speed measurement system
從軌道圖像中識別軌枕涉及目標(biāo)檢測與跟蹤技術(shù),傳統(tǒng)的基于特征的目標(biāo)識別方法存在檢測準(zhǔn)確性低、特征提取過程復(fù)雜等缺陷。隨著計(jì)算機(jī)視覺和人工智能技術(shù)的快速發(fā)展,基于深度學(xué)習(xí)的方法因其無需特征工程、適應(yīng)性強(qiáng)和檢測精度高等特點(diǎn)得到廣泛應(yīng)用,逐漸取代了傳統(tǒng)的目標(biāo)檢測方法。根據(jù)模型訓(xùn)練方式可將基于深度學(xué)習(xí)的目標(biāo)檢測方法分為兩種:單階段目標(biāo)檢測模型和兩階段目標(biāo)檢測模型。單階段目標(biāo)檢測模型采用回歸方法,直接在輸入的原圖上提取特征并進(jìn)行分類,其結(jié)構(gòu)簡單、檢測速度快,可實(shí)現(xiàn)端到端的檢測,但對于高密度目標(biāo)和小目標(biāo)的檢測精度較差;兩階段目標(biāo)檢測模型基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò),首先生成待選區(qū)域并提取特征,然后通過分類器進(jìn)行分類,可檢測出高密度目標(biāo)和小目標(biāo),但其檢測速度較慢[4]。
針對本文所提方法的識別目標(biāo)類別少、檢測速度要求高的特點(diǎn),采用單階段目標(biāo)檢測模型。目前,單階段目標(biāo)檢測主要有YOLO算法、SSD(single shot mutibox detector,輕量級目標(biāo)檢測)算法、YOLO v2算法、YOLO v3算法等。經(jīng)研究發(fā)現(xiàn),YOLO v3算法在檢測速度與精度間取得了較好的平衡,且國內(nèi)外很多研究學(xué)者將其應(yīng)用到目標(biāo)檢測領(lǐng)域。文獻(xiàn)[5]使用航拍汽車數(shù)據(jù)集對YOLO v3算法和Faster R-CNN算法進(jìn)行對比,證明了在精度相當(dāng)?shù)那闆r下,YOLO v3算法在靈敏度和處理時間上均優(yōu)于Faster R-CNN算法。文獻(xiàn)[6]將YOLO v3算法應(yīng)用到無人機(jī)或衛(wèi)星拍攝圖像的地面目標(biāo)檢測問題中,實(shí)現(xiàn)了較高的檢測能力和實(shí)時檢測速度。文獻(xiàn)[7]將簡化的Tiny-YOLO算法應(yīng)用到飛機(jī)目標(biāo)檢測中,提高了檢測速度。文獻(xiàn)[8]將YOLO v3算法應(yīng)用于遙感圖像中的飛機(jī)檢測,加入密集相連模塊,并結(jié)合多尺度特征檢測,提高了飛機(jī)檢測的精度和召回率。在查閱相關(guān)文獻(xiàn)后,本文采用YOLO v3算法檢測軌道圖像中的軌枕和信標(biāo)。
圖3為YOLO v3算法的結(jié)構(gòu)圖[9]。
注:“卷積×5”表示5個卷積層。其余表述含義類同。圖3 YOLO v3網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 YOLO v3 network structure diagram
YOLO v3算法先將輸入的圖像縮放至416像素×416像素,再把該圖像劃分為S×S(S為自然數(shù)序列)個網(wǎng)格。每個網(wǎng)格負(fù)責(zé)預(yù)測中心落入該網(wǎng)格的目標(biāo),并計(jì)算出3個預(yù)測框。每個預(yù)測框均對應(yīng)5+N個值,其中:“N”表示數(shù)據(jù)集中的類別總數(shù);“5”代表5個預(yù)測邊界框的屬性信息,分別為中心點(diǎn)坐標(biāo)(x,y)、預(yù)測框的寬度w和高度h、置信度。網(wǎng)格預(yù)測類別置信度得分的計(jì)算式為:
Con=Pco,iPoIou
(1)
式中:
Con——網(wǎng)格預(yù)測置信度的分?jǐn)?shù);
Pco,i——網(wǎng)格預(yù)測第i類目標(biāo)的置信概率;
Po——目標(biāo)落入該網(wǎng)格的概率,若有目標(biāo)中心落入該網(wǎng)格,則Po=1,否則Po=0;
Iou——預(yù)測邊界框與真實(shí)框的交并比。
最后,使用NMS(Non-Maximum Suppression,非極大值抑制)算法篩選出置信得分較高的預(yù)測框,作為網(wǎng)絡(luò)模型的檢測框。
網(wǎng)絡(luò)模型采用單階段目標(biāo)檢測模型策略,不需生成候選框,直接完成特征提取并分類和回歸的過程。因此,在訓(xùn)練過程中只需將樣本信息進(jìn)行類別和位置標(biāo)記后,直接輸入網(wǎng)絡(luò)模型進(jìn)行有監(jiān)督的訓(xùn)練,直至損失函數(shù)的值小于設(shè)定的閾值,即可得到權(quán)重文件。損失函數(shù)L的計(jì)算式如式(2)所示,其中,訓(xùn)練中采用的損失函數(shù)包括3個部分[10]:目標(biāo)檢測置信度損失函數(shù)Lconf(o,c)、目標(biāo)檢測分類損失函數(shù)Lcla(O,C)及目標(biāo)檢測定位損失函數(shù)Lloc(l,g)。
L(O,o,C,c,l,g)=λ1Lconf(o,c)+
λ2Lcla(O,C)+λ3Lloc(l,g)
(2)
式中:
λ1、λ2、λ3——加權(quán)系數(shù);
O——預(yù)測目標(biāo)矩形框;
o——真實(shí)目標(biāo)矩形框;
C——預(yù)測目標(biāo)矩形框內(nèi)存在目標(biāo)的概率;
c——真實(shí)目標(biāo)矩形框內(nèi)存在目標(biāo)的概率;
l——預(yù)測目標(biāo)矩形框坐標(biāo)偏移量;
g——真實(shí)目標(biāo)矩形框與預(yù)測目標(biāo)矩形框之間的位置偏移量。
目標(biāo)檢測置信度為預(yù)測目標(biāo)矩形框內(nèi)存在目標(biāo)的概率,其損失函數(shù)采用二值交叉熵?fù)p失函數(shù);目標(biāo)檢測分類損失表示網(wǎng)絡(luò)預(yù)測第i個目標(biāo)邊界框內(nèi)存在第j類目標(biāo)的概率,同樣采用二值交叉熵?fù)p失函數(shù);目標(biāo)檢測定位損失函數(shù)則采用真實(shí)偏差值與預(yù)測偏差值差的平方和進(jìn)行計(jì)算。
本文以YOLO v3網(wǎng)絡(luò)模型為基礎(chǔ),結(jié)合軌道線路的圖像特征,將其應(yīng)用于軌道多目標(biāo)檢測。通過反復(fù)改進(jìn)和優(yōu)化網(wǎng)絡(luò)參數(shù),最終結(jié)果如表1所示。
表1 YOLO v3網(wǎng)絡(luò)模型訓(xùn)練參數(shù)Tab.1 YOLO v3 network model training parameters
在列車定位與測速系統(tǒng)算法中,要求對相機(jī)采集的照片進(jìn)行實(shí)時處理,其算法流程如圖4所示。首先,加載訓(xùn)練數(shù)據(jù)集得到權(quán)重文件,對相機(jī)采集的每一幀圖像進(jìn)行處理,檢測是否有軌枕并判斷是否為新的軌枕;然后,對軌枕計(jì)數(shù),根據(jù)軌枕間的距離和軌枕更新的時間計(jì)算列車的運(yùn)行速度,其中軌枕識別模塊主要執(zhí)行上文所述目標(biāo)檢測算法。
圖4 列車定位與測速系統(tǒng)的算法流程Fig.4 Algorithm flow chart of train positioning and speed measurement system
為提高圖像處理速度以滿足列車定位與測速的實(shí)時性,本文硬件配置如表2所示,在此基礎(chǔ)上搭建軟件環(huán)境:Windows 10系統(tǒng),軟件VS 2017、OpenCV 4.1、CUDA 10.0等,使用DarkNet-53框架。
表2 試驗(yàn)硬件環(huán)境配置Tab.2 Experimental hardware environment configuration
3.2.1 模擬試驗(yàn)
模擬試驗(yàn)采用軟件模擬不同車速時的軌道線路圖像,列車定位與測速系統(tǒng)針對模擬圖像完成列車定位與測速。圖5 a)、圖5 b)分別為列車速度從0勻加速到60 km/h、120 km/h后,勻速運(yùn)行一段距離后再勻減速至列車停止這一過程中,系統(tǒng)檢測得到的速度-位移曲線和理論速度-位移曲線的對比情況。模擬試驗(yàn)表明:在列車速度為120 km/h時,樣機(jī)能準(zhǔn)確進(jìn)行識別、定位和跟蹤軌道線路特征,軌枕計(jì)數(shù)沒有發(fā)生丟失或重復(fù)計(jì)算等情況。
a) 列車最大運(yùn)行速度為60 km/h
3.2.2 裝車試驗(yàn)
在中車南京浦鎮(zhèn)車輛有限公司新試驗(yàn)線進(jìn)行了設(shè)備裝車試驗(yàn)驗(yàn)證。試驗(yàn)設(shè)備安裝如圖6所示。具體試驗(yàn)方法為:在線路上設(shè)置信標(biāo),檢測信標(biāo)之間的軌枕數(shù)是否與實(shí)際檢測數(shù)據(jù)一致。試驗(yàn)結(jié)果表明:本文研究的核心算法能夠保證試驗(yàn)列車行駛時準(zhǔn)確記錄行駛過的軌枕數(shù),做到不丟失、不虛增。
圖6 試驗(yàn)設(shè)備安裝效果圖Fig.6 Test equipment installation renderings
設(shè)列車的平均運(yùn)行速度為v,分別對低、中、高速行駛列車相機(jī)拍攝的照片進(jìn)行檢測,可準(zhǔn)確地檢測出軌枕和信標(biāo),檢測結(jié)果如圖7所示。在列車行駛速度不超過120 km/h時,軌枕的檢測準(zhǔn)確率為100%,平均檢測1張圖片用時5 ms,相機(jī)檢測幀頻可達(dá)200幀/秒。列車定位精度為軌枕間距,通過在2個軌枕間根據(jù)實(shí)時檢測的車速進(jìn)行插值,定位精度可達(dá)0.1 m,列車區(qū)間測速誤差小于0.1 km/h,達(dá)到了項(xiàng)目研發(fā)預(yù)期的技術(shù)指標(biāo)。
圖7 不同車速下的檢測效果Fig.7 Detection effect at different speeds
南京中車試驗(yàn)線最大試驗(yàn)車速為90 km/h,基于測試的安全性,本次測試的實(shí)際最高車速為80 km/h。而對于車速超過80 km/h的情況,本文采用實(shí)驗(yàn)室仿真的測速形式。仿真結(jié)果表明:列車在120 km/h速度下,本文所提算法的均能取得預(yù)期效果。
本文分析了現(xiàn)有列車定位測速技術(shù)存在的缺陷,提出了一種新的完全基于機(jī)器視覺技術(shù)的列車定位與測速系統(tǒng)。模擬和線路試驗(yàn)表明:基于機(jī)器視覺技術(shù)研制一款適合城市軌道交通列車連續(xù)定位與測速裝置是可行的,該裝置不依賴于現(xiàn)有系統(tǒng),且具有較高的精度和較低的成本,易于安裝,提高了車輛行駛的安全性。本文提出的核心算法能夠保證城市軌道交通列車在120 km/h速度時準(zhǔn)確記錄行駛過的軌枕數(shù),做到不丟失、不虛增,達(dá)到了預(yù)期的設(shè)計(jì)指標(biāo)。
本文所提算法的魯棒性尚需在大量線路上進(jìn)一步進(jìn)行試驗(yàn)驗(yàn)證,列車定位與測速系統(tǒng)的硬件還需要進(jìn)一步提高其集成度和防護(hù)等級。由于列車行駛時相機(jī)安裝高度與軌面距離保持恒定,可以通過相機(jī)標(biāo)定和軌枕檢測框中心像素坐標(biāo)計(jì)算出相鄰軌枕的間距,從而解決實(shí)際線路上軌枕間距不等的問題。