鄭英杰 李舒婷 吳松榮 劉 東 韋若禹
1(磁浮技術(shù)與磁浮列車教育部重點(diǎn)實(shí)驗(yàn)室 四川 成都 610031)
2(西南交通大學(xué)電氣工程學(xué)院 四川 成都 611756)
城市軌道交通的建設(shè)和發(fā)展為解決交通擁堵、污染等問(wèn)題提供有效途徑[1],但列車運(yùn)營(yíng)里程數(shù)和速度不斷增加,交通事故的發(fā)生率也隨之提升[2]。在列車運(yùn)行控制系統(tǒng)中,列車的定位技術(shù)占據(jù)著非常重要的地位,因?yàn)樗苯雨P(guān)系到列車的運(yùn)行安全,從而影響著城市軌道交通整體的工作效率[3-4]。
準(zhǔn)確和安全地定位列車是當(dāng)今的一大挑戰(zhàn)[5]。目前,列車的絕對(duì)定位方法主要有軌道電路法、信標(biāo)定位法、全球定位系統(tǒng)(GPS)等。其中:軌道電路法的優(yōu)點(diǎn)是經(jīng)濟(jì)、方便、可靠性高等,缺點(diǎn)是定位精度較低,且依賴于軌道長(zhǎng)度[6];信標(biāo)定位法的優(yōu)勢(shì)在于定位精度高[7],使用壽命長(zhǎng),但信標(biāo)的布置間距與投資規(guī)模相矛盾;GPS的定位精度較高,一般誤差小于2 m,且設(shè)備體積小,維護(hù)成本低,缺點(diǎn)是在惡劣環(huán)境下無(wú)法對(duì)列車進(jìn)行定位[8]。綜上所述,這三種列車絕對(duì)定位方法之間存在優(yōu)勢(shì)互補(bǔ)的情況。為能保證列車運(yùn)行安全的同時(shí),減少資金投入,現(xiàn)亟需一種低成本、高精度且抗干擾能力強(qiáng)的定位手段。
Hinton等[9]首次提出深度學(xué)習(xí)的概念后,卷積神經(jīng)網(wǎng)絡(luò)(CNN)就憑借著出色的表征學(xué)習(xí)能力而受到廣泛的關(guān)注。近些年來(lái),隨著深度學(xué)習(xí)技術(shù)發(fā)展和硬件設(shè)備性能的不斷提升,一系列基于深度卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法先后被提出。目前應(yīng)用最為廣泛的目標(biāo)檢測(cè)算法分為兩大類,第一類是兩階段算法:先產(chǎn)生候選區(qū)域后再利用CNN分類,例如Mask-RCNN[10]、Fast-RCNN[11]、Faster-RCNN[12]等,該類算法對(duì)于目標(biāo)的檢測(cè)準(zhǔn)確率較高,但是檢測(cè)速度卻很慢,并不適用于軌道定位點(diǎn)檢測(cè)。第二類是單階段算法:直接對(duì)輸入圖像應(yīng)用算法并輸出目標(biāo)的類別及其位置,比如YOLO[13]、YOLO 9000[14]、YOLOv3[15]、SSD[16]等,其檢測(cè)速度要比前類算法快得多,其中YOLOv3算法憑借又快又準(zhǔn)的檢測(cè)性能而受到廣大學(xué)者的青睞。
本文以基于Darknet-53框架的YOLOv3算法為基礎(chǔ),實(shí)現(xiàn)對(duì)軌道路徑上具有獨(dú)立特征物體(即定位點(diǎn))的識(shí)別。首先,從收集到的廣州地鐵8號(hào)線軌道圖片中選擇定位點(diǎn)圖片,并根據(jù)定位點(diǎn)目標(biāo)尺寸優(yōu)化YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)及其輸入尺寸。其次,由于定位點(diǎn)樣本數(shù)量較少,故利用伽馬等變換手段對(duì)樣本集擴(kuò)充;并使用K-means算法對(duì)訓(xùn)練集聚類分析后,通過(guò)手肘法確定了三組最優(yōu)的先驗(yàn)框尺寸。最后,參考官方的網(wǎng)絡(luò)參數(shù)說(shuō)明及軌道圖片特征,調(diào)整網(wǎng)絡(luò)的相關(guān)訓(xùn)練參數(shù)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后YOLOv3算法在召回率和檢測(cè)速度方面都有明顯改善。
為了避免因網(wǎng)絡(luò)的加深而導(dǎo)致訓(xùn)練過(guò)程中出現(xiàn)梯度消失或爆炸等情況,Redmon在YOLOv2的特征提取網(wǎng)絡(luò)Darknet-19基礎(chǔ)上,引入了殘差網(wǎng)絡(luò)(Residual Network)的跳層連接結(jié)構(gòu),即殘差單元,從而進(jìn)一步加深了網(wǎng)絡(luò),最終該網(wǎng)絡(luò)包含52個(gè)卷積層和1個(gè)全連接層,并命名為Darknet-53。YOLOv3的特征提取網(wǎng)絡(luò)采用的是Darknrt-53的前52個(gè)卷積層,并不包含全連接層。YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。

圖1 YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)
Darknet-53網(wǎng)絡(luò)中包含5個(gè)殘差塊(Residual Block),每一個(gè)殘差塊由多個(gè)殘差單元(Residual Unit)組成。殘差單元結(jié)構(gòu)如圖2所示,它的輸出量(Output)等于輸入量(In)與其經(jīng)過(guò)兩個(gè)DBL單元計(jì)算后的結(jié)果之和,即殘差操作。

圖2 殘差單元結(jié)構(gòu)
其中DBL單元包括卷積運(yùn)算、批量歸一化及激活函數(shù)Leaky ReLU,如圖3所示。

圖3 DBL單元結(jié)構(gòu)
YOLOv3網(wǎng)絡(luò)是利用步長(zhǎng)為2的卷積運(yùn)算對(duì)輸入圖片進(jìn)行5次下采樣,且每一次下采樣后輸入圖片尺寸就會(huì)縮小2倍。在進(jìn)行目標(biāo)檢測(cè)時(shí),YOLOv3借鑒了SSD的思想,分別在最后3次下采樣輸出的3個(gè)不同尺度特征圖上進(jìn)行預(yù)測(cè),這三個(gè)尺度特征圖對(duì)應(yīng)圖1中的scale3、scale2、scale1(尺度大小排列為scale3>scale2>sacle1)。小尺度特征圖可提供語(yǔ)義信息,且感受野大,可用來(lái)檢測(cè)大目標(biāo);大尺度特征圖提供更細(xì)粒度信息(比如位置信息等),且感受野小,可用于檢測(cè)小目標(biāo)。為了能同時(shí)充分利用這二者信息,進(jìn)而提高目標(biāo)的檢測(cè)性能,YOLOv3通過(guò)上采樣與Route層(即拼接操作)來(lái)實(shí)現(xiàn)三個(gè)不同尺度特征圖之間的特征融合。最終模型對(duì)大、小目標(biāo)都可以做出較好的檢測(cè)。
通過(guò)深度學(xué)習(xí)技術(shù)識(shí)別軌道路徑上具有獨(dú)立特征的物體(比如線路上的一排電纜組、道岔區(qū)域的特殊零件等)進(jìn)而實(shí)現(xiàn)對(duì)列車的絕對(duì)定位,由于不受環(huán)境等因素影響,故定位可靠性高。同時(shí),由于前期基礎(chǔ)建設(shè)投入小(只需收集定位點(diǎn)圖像),因此還能降低成本。在實(shí)際工程應(yīng)用中,可通過(guò)人工在軌道線路上布置特征物體(如形狀、顏色各異的標(biāo)識(shí)牌等)。在選取好相應(yīng)的特征物體作為定位點(diǎn)后,每一個(gè)特征物體都應(yīng)該被給定一個(gè)絕對(duì)位置信息,且通過(guò)軟件程序設(shè)計(jì),使每個(gè)特征物體的類別與其位置信息相關(guān)聯(lián),即當(dāng)模型識(shí)別到圖片中的特征物體時(shí),就可以通過(guò)其輸出的類別信息,判斷所要讀取的位置信息,最終實(shí)現(xiàn)列車的絕對(duì)定位。檢測(cè)流程如圖4所示。首先,利用列車底部安裝的軌道巡檢系統(tǒng)中高速相機(jī)對(duì)道床區(qū)域進(jìn)行拍照;其次,將所拍攝的圖片輸入到目標(biāo)檢測(cè)模型中實(shí)現(xiàn)對(duì)線路上特征物體的識(shí)別;最后,通過(guò)判斷模型輸出的類別信息來(lái)讀取該類別所對(duì)應(yīng)的位置信息。

圖4 列車位置的檢測(cè)流程
為了提高特征物體的檢出率,所選擇的特征物體尺寸不能太小,即不能是小目標(biāo),否則容易出現(xiàn)漏檢的情況。基于此前提,模型只需在Darknet-53的后兩個(gè)尺度特征圖(scale1和scale2)上進(jìn)行目標(biāo)檢測(cè),這樣可減少網(wǎng)絡(luò)的計(jì)算量,提高目標(biāo)檢測(cè)速度,保證任務(wù)的實(shí)時(shí)性。為更進(jìn)一步提高檢測(cè)速度,本文還將網(wǎng)絡(luò)輸入尺寸由默認(rèn)的416×416縮小至256×256。改進(jìn)后的特征提取網(wǎng)絡(luò)Darknet-53如圖5所示。

圖5 改進(jìn)后的特征提取網(wǎng)絡(luò)Darknet-53
從取自廣州地鐵8號(hào)線的大量軌道圖片中收集具有獨(dú)立特征物體圖片時(shí),發(fā)現(xiàn)其樣本數(shù)量非常少,如果直接就采用小樣本集進(jìn)行訓(xùn)練,會(huì)使得最終模型在訓(xùn)練集上的檢測(cè)性能很好,但是在測(cè)試集上的表現(xiàn)就會(huì)很差,即出現(xiàn)過(guò)擬合現(xiàn)象。為了避免這種情況的發(fā)生,可通過(guò)旋轉(zhuǎn)、裁剪、調(diào)節(jié)對(duì)比度、亮度、色調(diào)、增噪,以及伽馬變換手段對(duì)樣本集進(jìn)行擴(kuò)充。
本文選取軌道路徑上的2個(gè)特征物體用于實(shí)驗(yàn),如圖6所示,分別是一排電纜組(1號(hào)樣本)和1個(gè)帶有粗焊縫背景的電線護(hù)套(2號(hào)樣本)。對(duì)所采集到的80幅上述特征物體圖片進(jìn)行樣本擴(kuò)充,得到400幅樣本,其中1號(hào)和2號(hào)樣本各占一半。選取其中的300幅作為訓(xùn)練數(shù)據(jù)集,剩余100幅用于檢測(cè)。為了保證樣本的均衡性,再選取300幅其他任意位置的軌道圖片加入到訓(xùn)練集中。最終訓(xùn)練集有600幅圖片,測(cè)試集有200幅圖片(其中的100幅圖片也是其他任意位置的)。

圖6 2個(gè)特征物體
YOLOv3算法中默認(rèn)使用的先驗(yàn)框(anchor box)尺寸是在COCO訓(xùn)練集的基礎(chǔ)上通過(guò)K-means聚類算法計(jì)算獲得的。如果直接使用默認(rèn)的anchor box尺寸用于訓(xùn)練,不僅會(huì)對(duì)模型的檢測(cè)性能造成影響,還可能使訓(xùn)練過(guò)程長(zhǎng)時(shí)間不收斂。故需要對(duì)自制的訓(xùn)練集重新聚類分析,得到合適的anchor box尺寸,使深度卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程更為順利,從而能夠做出更好的檢測(cè)。
本文選用K值(即先驗(yàn)框數(shù)量)為1~9來(lái)分別對(duì)訓(xùn)練集中所有樣本進(jìn)行聚類分析,最終得到K值與Avg IOU(平均交并比)之間的關(guān)系,如圖7所示。

圖7 K-means算法聚類結(jié)果
根據(jù)圖7中的曲線特性,本文決定通過(guò)手肘法來(lái)選取最佳的K值,即在某一個(gè)臨界點(diǎn)(肘部)過(guò)后曲線就逐漸趨于平緩,則該點(diǎn)對(duì)應(yīng)的K值就是最佳聚類數(shù)。由圖7可知,在K=3之后曲線便趨于平緩,故可認(rèn)為最佳a(bǔ)nchor boxes的個(gè)數(shù)為3,對(duì)應(yīng)的聚類中心的寬與高分別為(72,66)、(75,70)、(63,180)。
本次實(shí)驗(yàn)由于涉及到深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN),相應(yīng)計(jì)算量會(huì)很大,故對(duì)硬件的配置要求較高,具體配置情況如表1所示。在硬件平臺(tái)基礎(chǔ)上,所搭建的軟件環(huán)境主要有Windows10、OpenCV3.4.0、CUDA8.0及CuDNN5.1等。

表1 實(shí)驗(yàn)硬件平臺(tái)配置屬性表
在參考YOLOv3官方配置文件中的默認(rèn)參數(shù)及其相關(guān)說(shuō)明后,本文實(shí)驗(yàn)采用如表2所示的訓(xùn)練參數(shù),可使訓(xùn)練過(guò)程能夠較為穩(wěn)定快速的進(jìn)行。由于所采集的軌道圖片都是灰度圖像,故修改網(wǎng)絡(luò)的輸入通道數(shù)為1,可以減少數(shù)據(jù)冗余,使網(wǎng)絡(luò)計(jì)算過(guò)程更為集中。

表2 模型的訓(xùn)練參數(shù)表
在調(diào)整好網(wǎng)絡(luò)的訓(xùn)練參數(shù)后,再分別使用改進(jìn)前后的YOLOv3算法以及相應(yīng)的擴(kuò)充前后樣本訓(xùn)練集進(jìn)行訓(xùn)練。在大約迭代了14 000次后,兩者模型的Avg loss(平均損失值)都下降至0.16左右。改進(jìn)后的YOLOv3算法在訓(xùn)練過(guò)程中的Avg loss曲線圖如圖8所示。

圖8 Avg loss曲線圖
為了驗(yàn)證樣本擴(kuò)充、網(wǎng)絡(luò)參數(shù)調(diào)整及其結(jié)構(gòu)優(yōu)化對(duì)模型檢測(cè)性能的影響,本文利用2.2節(jié)所訓(xùn)練出的兩個(gè)模型分別對(duì)200幅測(cè)試集圖片進(jìn)行檢測(cè),該測(cè)試集中所包含的特征物體共有100個(gè)。從定位可靠性與實(shí)時(shí)性的角度出發(fā),選用Recall(召回率)、FPS(每秒轉(zhuǎn)輸幀)二項(xiàng)指標(biāo)作為衡量模型性能好壞的標(biāo)準(zhǔn)。
Recall的定義如下:
(1)
式中:TP表示目標(biāo)被檢測(cè)出來(lái)的個(gè)數(shù);FN表示目標(biāo)沒(méi)有被檢測(cè)出的個(gè)數(shù)。
由表3可知,相較于YOLOv3,改進(jìn)后YOLOv3算法的召回率(Recall)由72%提高到95%,即減少了漏檢的數(shù)目,從而提高定位的可靠性;其檢測(cè)速度FPS由45幀/s提高至76幀/s,即每一幅圖片的檢測(cè)時(shí)間現(xiàn)只需13 ms左右,這樣每小時(shí)就能處理約166 km左右的軌道圖片,可以滿足目前軌道巡檢系統(tǒng)在列車最高運(yùn)行時(shí)速160 km/h下的實(shí)時(shí)檢測(cè)要求。

表3 改進(jìn)前后算法的目標(biāo)檢測(cè)性能對(duì)比
改進(jìn)前后的YOLOv3算法在測(cè)試集上的檢測(cè)結(jié)果如圖9所示。其中:(a)、(c)是原YOLOv3算法對(duì)特征物體的檢測(cè)結(jié)果;(b)和(d)是改進(jìn)YOLOv3算法對(duì)特征物體的檢測(cè)結(jié)果。對(duì)比圖9(a)、圖9(b)與圖9(c)、圖9(d),可看出改進(jìn)后YOLOv3算法可檢測(cè)到原YOLOv3算法所漏檢的特征物體(電纜組、電線護(hù)套)。

圖9 改進(jìn)前后算法在測(cè)試集上的檢測(cè)結(jié)果對(duì)比
為了進(jìn)一步驗(yàn)證改進(jìn)后YOLOv3算法的性能優(yōu)勢(shì),本文使用了文獻(xiàn)[12]中的Faster R-CNN算法和文獻(xiàn)[16]中的SSD算法進(jìn)行對(duì)比,還是以Recall值、FPS這二項(xiàng)指標(biāo)作為算法性能好壞的評(píng)判標(biāo)準(zhǔn),其檢測(cè)結(jié)果如表4所示。

表4 不同算法的檢測(cè)結(jié)果對(duì)比
依據(jù)表4所示結(jié)果,先對(duì)比分析YOLOv3、Faster R-CNN、SSD三種算法的檢測(cè)性能。由于這三種算法使用未擴(kuò)充前的訓(xùn)練集展開訓(xùn)練,訓(xùn)練集數(shù)目不足,所以網(wǎng)絡(luò)不能進(jìn)行很好的學(xué)習(xí),其召回率都比較低,即漏檢率高。其中Faster-RCNN算法的召回率比YOLOv3高5百分點(diǎn),但是其檢測(cè)速度只有5幀/s,遠(yuǎn)遠(yuǎn)不能滿足軌道巡檢系統(tǒng)的實(shí)時(shí)性要求;而YOLOv3和SSD系列算法屬于單階段算法,其檢測(cè)速度快,但是改進(jìn)前YOLOv3算法的檢測(cè)速度也只能達(dá)到45幀/s,還是無(wú)法滿足實(shí)時(shí)性的要求。最后與本文算法的檢測(cè)結(jié)果進(jìn)行比較,可以發(fā)現(xiàn)改進(jìn)的YOLOv3算法在使用擴(kuò)充的訓(xùn)練集進(jìn)行訓(xùn)練后,其召回率達(dá)到95%,檢測(cè)速度為76幀/s,即在滿足實(shí)時(shí)性要求的同時(shí),提高了列車定位的可靠性。
本文提出一種基于改進(jìn)YOLOv3算法的軌道定位點(diǎn)檢測(cè)方法。首先,根據(jù)定位點(diǎn)目標(biāo)尺寸來(lái)調(diào)整特征提取網(wǎng)絡(luò)Darknet-53的結(jié)構(gòu);其次,通過(guò)增噪、伽馬變換等手段對(duì)樣本集進(jìn)行擴(kuò)充,并對(duì)擴(kuò)充后的訓(xùn)練集聚類分析得到合適的anchor box尺寸;最后,調(diào)整網(wǎng)絡(luò)的參數(shù)使訓(xùn)練過(guò)程更為穩(wěn)定快速。從實(shí)驗(yàn)結(jié)果來(lái)看,改進(jìn)的YOLOv3算法在召回率、檢測(cè)速度二項(xiàng)性能指標(biāo)上都有了明顯的提升,即在提高定位可靠性的同時(shí),達(dá)到了軌道巡檢系統(tǒng)在列車最高運(yùn)行時(shí)速下所要求的實(shí)時(shí)檢測(cè)速度;且相較于Faster R-CNN和SSD算法也均表現(xiàn)出明顯的性能優(yōu)勢(shì)。但是隨著定位點(diǎn)類別數(shù)的不斷增加,模型可能會(huì)出現(xiàn)誤檢的情況,如何在保證模型檢測(cè)性能前提下,不斷擴(kuò)大定位點(diǎn)類別數(shù)將是后續(xù)的主要研究方向。