鄭仲星,劉偉銘
(華南理工大學(xué)土木與交通學(xué)院,廣州 510641)
軌道交通因其具有快速、運載量大等優(yōu)點,已經(jīng)成為我國交通的重要組成部分,而其中的高速鐵路也開始向著公交化發(fā)展。為保障乘客安全與運營線路的正常運行,在車站軌行區(qū)與站臺候車區(qū)間設(shè)置站臺門進行分隔,因而形成列車與站臺門間的風險區(qū)間。為保證列車發(fā)車前的乘客安全,站務(wù)員會在發(fā)車前對風險區(qū)間進行異物入侵的檢查。列車關(guān)門到發(fā)車時間設(shè)計在15~20 s之間,而站務(wù)員需要在短時間內(nèi)檢查130~460 m的站臺。在班次密集的情況下,運營人員勞動強度大,容易發(fā)生疏忽,從而造成生命與財產(chǎn)損失。同時,為提升運營效率,降低運營成本,軌道交通也逐步向智能化、無人化發(fā)展,預(yù)計到2023年將有40條全自動運行線路[1]。根據(jù)國家工程實驗室發(fā)布國家標準(GB/T 32590.1—2016)[2]和《城市軌道交通全自動運行系統(tǒng)運營指南》白皮書[1],對于自動化程度GOA3等級及以上(無人駕駛列車運行及無人干預(yù)列車運行)的列車,對于乘客乘降檢測的保障發(fā)車安全性與防止乘客在乘降兩項功能都對系統(tǒng)提出自動檢測的要求。因此,發(fā)車前對站臺門和列車間隙的自動化異物入侵檢測是軌道交通自動駕駛運行的重要一環(huán)。
自動異物入侵檢測能夠縮短在站停留時間,提升軌道交通運營效率,保障人民生命與財產(chǎn)安全。目前,已有的對風險間隙進行異物檢測方法有紅外光幕檢測、紅外激光對射檢測[3]、紅外激光掃描檢測[4]、基于側(cè)裝式機器視覺檢測[5-7]以及基于頂裝式機器視覺檢測[8-9]等方法。其中,基于側(cè)裝式的機器視覺檢測方案由于具有檢測范圍廣、設(shè)備簡單、維護周期長、檢測性能好、造價低廉等優(yōu)點而受到青睞。
基于側(cè)裝式的機器視覺檢測方案在廣州、深圳、南寧等地都有被使用,其最初原型來自于列車司機對位于地鐵站臺尾端設(shè)置的背景燈帶進行肉眼檢查的方案。側(cè)裝式的機器視覺檢測方案通過構(gòu)造人工光學(xué)背景(即背景燈帶)和設(shè)計圖像算法,自動在圖像中分割燈帶,通過檢測燈帶在圖像中的變化判斷檢測區(qū)間的異物存在,達到取代人工觀察方案。對于地下站臺,燈帶處于黑暗背景,圖像的分割算法通過自適應(yīng)閾值方法可以提取得到,但是當安裝站臺位于戶外,燈帶分割背景復(fù)雜,簡單的閾值方法難以適應(yīng),分割效果差。為解決側(cè)裝式的機器視覺檢測方案在戶外站臺的應(yīng)用問題,雷煥宇等[10]提出一種基于K均值算法的適用于戶外光照的背景燈帶分割方法。由于K均值算法屬于迭代算法,對每張檢測圖片進行迭代運算耗時長,在實際運用中,對系統(tǒng)的運算性能也提出較高要求。
現(xiàn)階段學(xué)界主流的基于神經(jīng)網(wǎng)絡(luò)的無監(jiān)督圖像分割方法大多數(shù)基于像素特征聚類[11]的方法。與傳統(tǒng)聚類方法不同的是,這些方法往往都是在特征空間而非顏色空間上進行聚類。比如,文獻[12]和文獻[13]都基于互信息原理的聚類方法,文獻[14]通過使用自回歸模型的方法,在最大化互信息的條件下進行訓(xùn)練。上述方法雖然能夠一定程度上實現(xiàn)無監(jiān)督的圖像分割,但是它們都基于結(jié)構(gòu)復(fù)雜、運算量大的深度神經(jīng)網(wǎng)絡(luò),難以在運算性能弱的設(shè)備上進行實際的部署。
為解決上述問題,提出一種軌道交通戶外站臺門與列車間隙異物檢測背景燈帶圖像無監(jiān)督分割檢測算法。算法基于卷積神經(jīng)網(wǎng)絡(luò),相比主流的深度神經(jīng)網(wǎng)絡(luò),算法中使用的網(wǎng)絡(luò)大幅縮減規(guī)模,其參數(shù)量小,對于運算資源要求低,更關(guān)注底層特征的表示。提出的算法對網(wǎng)絡(luò)訓(xùn)練只需要單個樣本,并設(shè)計3個損失函數(shù),實現(xiàn)網(wǎng)絡(luò)參數(shù)的無監(jiān)督學(xué)習,其分別是基于特征相似及空間距離的損失函數(shù)、基于深度支持向量描述的損失函數(shù)以及基于幾何和光度增強的損失函數(shù)。在實際實驗中取得比其他算法更優(yōu)秀的分割性能,并且運算耗時相比K均值算法少。
軌道交通站臺門與列車門的凈距根據(jù)不同類型有不同的設(shè)計標準:《地鐵設(shè)計規(guī)范》[15]規(guī)定,地鐵直線站臺門的滑動門門體至列車輪廓線之間的凈距應(yīng)控制在100~130 mm范圍內(nèi),城際側(cè)線站在0.2 m;而城際鐵路與高鐵站,《城際鐵路設(shè)計規(guī)范》[16]中則未明確提出正線站臺門的安裝位置標準。實際上,位于戶外的站臺,站臺邊緣到站臺門的凈距在0.2~2 m之間,一般站臺門安裝位置為距站臺邊緣1.2 m處。
雖然高鐵城際站臺擁擠程度相對較低,但戶外站臺寬間隙的存在容易導(dǎo)致異物遺留地面事件。為方便運營人員快速清除,解決發(fā)車前對間隙的異物檢測問題,于站臺一端安裝平行地表的背景燈帶,并通過安裝在另一端的攝像頭進行拍攝,并設(shè)計算法對燈帶圖像判斷是否被遮掩來判斷異物是否遺留地面。本文提出的算法在數(shù)據(jù)采集時,為更好地排除來自其他光線及背景的干擾,使用能發(fā)出特定波長的紅外光燈帶作為目標燈帶,而攝像頭使用只拍攝相應(yīng)波段紅外光的型號。拍攝的實際圖像如圖1所示,可見來自戶外自然光的紅外光仍然會被攝像機所捕捉,導(dǎo)致分割背景相對復(fù)雜,為后續(xù)分割任務(wù)帶來難度。
圖1 拍攝背景燈帶示例Fig.1 An example of background light strip
算法首先對圖像進行預(yù)處理,調(diào)整圖像大小,然后使用基于卷積的神經(jīng)網(wǎng)絡(luò)對圖像進行特征的提取。因為燈帶的圖像分割任務(wù)相比目標檢測、圖像識別等其他任務(wù),更依賴于圖像的細節(jié)信息,如光影細節(jié)和顏色細節(jié)等,所以通過設(shè)計合適的損失函數(shù),訓(xùn)練特征提取網(wǎng)絡(luò)提取圖像偏向底層細節(jié)的信息。在特征提取得到特征圖后,后續(xù)分類器對每個像素進行類別預(yù)測,分類器同樣為基于卷積操作的神經(jīng)網(wǎng)絡(luò)。在實際進行應(yīng)用時,流程到此結(jié)束就可以得到輸出的分割圖像;而在訓(xùn)練時,還會進行類別中心的計算,以進行后續(xù)的損失函數(shù)計算,并使用反向傳播算法對網(wǎng)絡(luò)參數(shù)進行更新。算法的處理流程如圖2所示。
圖2 算法處理流程Fig.2 The process flow of the proposed algorithm
針對燈帶的圖像分割任務(wù),算法中使用的特征提取網(wǎng)絡(luò)采用基于圖像卷積的神經(jīng)網(wǎng)絡(luò)。為更好地處理圖像中的細節(jié)信息,特征提取網(wǎng)絡(luò)使用的卷積核不宜過大。同時,特征提取的過程中,特征圖在處理過程中維持尺寸不變。通道數(shù)上,除開始階段從圖片原有通道數(shù)到P后,后續(xù)處理保持不變。具有相同設(shè)計的模塊會重復(fù)N次進行串聯(lián)處理(圖3中虛線框)。采用結(jié)構(gòu)設(shè)計相對簡單的卷積神經(jīng)網(wǎng)絡(luò)出于以下兩點。
圖3 算法中使用的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意Fig.3 The architecture of the convolutional neural network in the algorithm
(1)針對圖像分割任務(wù),特別是燈帶的分割,其對圖像感知程度要求低,更關(guān)注細節(jié)信息。
(2)由于分割算法設(shè)計是為更好地完成后續(xù)站臺門與列車間間隙的異物檢測,對實時性要求較高,因此,參數(shù)量和復(fù)雜度過高的網(wǎng)絡(luò)不利于實際應(yīng)用。
在算法中,需要進行參數(shù)學(xué)習的是特征提取網(wǎng)絡(luò)和分類器網(wǎng)絡(luò)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,其中紅色虛線框內(nèi)為特征提取器網(wǎng)絡(luò),黃色虛線框內(nèi)為分類器網(wǎng)絡(luò),圖中‘Conv’表示卷積核為3×3的圖像卷積(convolution)操作(Conv(輸入通道數(shù),輸出通道數(shù))),‘ReLU’為線性整流激活(rectified linear unit)函數(shù),‘bn’為批歸一化(batch normalization)。
在得到特征圖后,會輸入到分類器網(wǎng)絡(luò)中。分類器網(wǎng)絡(luò)會對每個像素進行類別分類。分類器輸出的類別數(shù)會被作為超參數(shù)進行設(shè)置,因而輸出類別數(shù)會提前固定,但隨著訓(xùn)練的進行,實際的網(wǎng)絡(luò)輸出類別會逐漸變少。這意味著網(wǎng)絡(luò)會將相似的像素通過學(xué)習進行聚類,然后判別后進行輸出。在圖3中分類器網(wǎng)絡(luò)中的參數(shù)k表示預(yù)設(shè)的分類類別數(shù)。
本文算法實現(xiàn)對神經(jīng)網(wǎng)絡(luò)單個訓(xùn)練樣本的無監(jiān)督學(xué)習,減輕對數(shù)據(jù)量和數(shù)據(jù)標記的依賴。訓(xùn)練過程中從3個方面考慮設(shè)計損失函數(shù),分別是考慮特征相似度和空間連續(xù)約束的Lsim、以深度聚類為啟發(fā),基于深度支持向量描述的Ldsvdd以及基于幾何與光度增強的損失函數(shù)LGP??倱p失函數(shù)如式(1)所示,式中λ和γ為損失函數(shù)調(diào)節(jié)權(quán)重。
Ltotal=Lsim+λLdsvdd+γLGP
(1)
為便于表示,定義從特征提取網(wǎng)絡(luò)Eθ輸出的特征圖為
FC×H×W={fi,j|i∈[0,H],
j∈[0,W],C,H,W∈},
其中,分類器輸出分類
Rk×H×W={ri,j,m|i∈[0,H],j∈[0,W],m∈[0,k],k∈+},意為每個像素位置上對每個類別都有置信度輸出;最終分割輸出為
S1×H×W={ci,j|i∈[0,H],j∈[0,W]},
即在像素位置(i,j)通過選取置信度最大的類別,輸出分割結(jié)果為類別ci,j∈[1,k]。
1.4.1 基于特征相似及空間連續(xù)的損失函數(shù)
KIM等[17]提出一種基于單純的特征相似及空間連續(xù)的損失函數(shù),可對卷積神經(jīng)網(wǎng)絡(luò)進行無監(jiān)督圖像分割任務(wù)的訓(xùn)練。其方法中指出損失函數(shù)Lsim設(shè)計出發(fā)點應(yīng)該有兩方面:(1)同類別像素的特征相似度應(yīng)該要高;(2)同類別像素的空間分布應(yīng)該連續(xù)。
因此,參考該方法,本文的Lsim由兩部分組成,即
Lsim=αLfeature(S,R)+βLspatial(R)
(2)
式中,α,β為調(diào)節(jié)權(quán)重;考慮特征相似度的損失函數(shù)Lfeature(S,R)為輸出類別與類別置信度的交叉熵,目標是促進網(wǎng)絡(luò)對具有相似特征像素的分類學(xué)習,定義為
(3)
其中
(4)
考慮空間連續(xù)的損失函數(shù)為相鄰像素的分類置信度向量L1范數(shù)之和,目的是促進相鄰像素的分類結(jié)果具有空間上的連續(xù)性,定義如下
(5)
1.4.2 基于深度支持向量數(shù)據(jù)描述的損失函數(shù)
Ldsvdd的設(shè)計受到深度支持向量數(shù)據(jù)描述(deep support vector data description,DSVDD)的啟發(fā)。DSVDD是支持向量數(shù)據(jù)描述基于深度神經(jīng)網(wǎng)絡(luò)特征提取能力上的擴展算法。最初由LUKAS等[18]提出用于單類別的分類任務(wù),后YI等[19]提出Patch SVDD用于進行像素級的異常檢測,并指出可以通過在訓(xùn)練時維護一組中心,然后在進行推斷時根據(jù)數(shù)據(jù)樣本在特征空間到中心距離衡量異常程度。因此,算法通過利用DSVDD的維護中心進行學(xué)習的特性,達到深度聚類的效果,并應(yīng)用于燈帶的圖像分割任務(wù)中,以增強網(wǎng)絡(luò)對于同類型像素的分類學(xué)習能力。
設(shè)訓(xùn)練過程中維護一組類別中心為Zk×P={zm|m∈[1,k]},類別中心為同類別的特征向量的均值,即
(6)
Ldsvdd則為預(yù)測輸出相同類別的像素特征向量到對應(yīng)中心zm的均方誤差(mean square error,MSE),即
(7)
其中,n為每個類別像素數(shù)量。
1.4.3 基于幾何及光度增強的損失函數(shù)
上述的兩個損失函數(shù)都是為增強像素間的關(guān)聯(lián)而設(shè)計的,在實際訓(xùn)練過程中,隨著迭代次數(shù)的上升,分類器偏向把所有像素都分類為同一類別,導(dǎo)致訓(xùn)練崩潰,無法得到有效的分割輸出結(jié)果。為抑制這一趨勢,提出一種基于幾何及光度增強的損失函數(shù)LGP。這一損失函數(shù)設(shè)計啟發(fā)自CHO等[20]提出的無監(jiān)督語義分割任務(wù)設(shè)計算法。設(shè)計的出發(fā)思路是網(wǎng)絡(luò)對于不同的數(shù)據(jù)增強變換,不論是幾何還是光度上的,都應(yīng)該能夠通過排除變換的干擾,得到相同的分割數(shù)據(jù)結(jié)果。其能夠有效讓網(wǎng)絡(luò)在無監(jiān)督的條件下,對圖像整體進行感知并進行語義分割。
CHO等[20]的算法在進行訓(xùn)練前,需要對像素類別進行初始化,使用的方法是K均值聚類。與其不同的是:本文對原方法中K均值的聚類方式得到中心的方式進行改進,類別中心直接使用在基于深度支持向量數(shù)據(jù)描述的損失函數(shù)中計算得到的類別中心。這一替換能夠使得網(wǎng)絡(luò)動態(tài)地學(xué)習特征空間中的類別中心,同時減少需要的預(yù)處理。
具體而言,首先定義兩大類數(shù)據(jù)增強方法:幾何變換增強G(·)和光度變換增強P(·),然后對輸入圖像I進行兩個分支處理(對于每次迭代都會隨機選擇兩個分支的增強的變換參數(shù),下文分別使用·(1)和·(2)進行分支的標注)V(1)=G(Eθ(P(1)(I)))和V(2)=Eθ(G(P(2)(I))),其中,Eθ為特征提取網(wǎng)絡(luò),VP×h×w={vi,j|i∈[0,h],j∈[0,w]},h,w為進行幾何變化后特征圖的二維尺寸。幾何變換增強在本文中采用隨機中心固定大小裁減,而光度變換增強則為隨機對圖像進行不同參數(shù)下的gamma變換。已知在1.4.2節(jié)中在計算Ldsvdd過程中類別中心為Zk×P={zm|m∈[1,k]},基于幾何及光度增強的損失函數(shù)LGP由兩部分組成,如式(8)所示,分別是同一變換根據(jù)類別中心與特征向量的計算交叉熵損失Linner和不同變換方式之間進行計算的交叉熵損失Lcross。
LGP=Lcross+Linner
(8)
其中,Linner和Lcross定義如下
(9)
(10)
使用交叉熵損失進行計算中心z與特征向量vi,j的距離損失,其中分割結(jié)果的類別S用于選取對應(yīng)的類別中心zci,j,此處Lcluster為
(11)
式中,d(·,·)為距離度量函數(shù),在此選取余弦距離。
本文實驗平臺中央處理器(CPU)為Intel(R)Core i5-7500@3.40 GHz,圖像處理單元(GPU)為Nvidia GeForce 1080,深度學(xué)習框架為Pytorch 1.6.1。
網(wǎng)絡(luò)參數(shù)上,P=5,k=5,N=2;損失函數(shù)的權(quán)重參數(shù)建議設(shè)置為α=0.5,β=0.1,λ=0.2,γ=0.2;訓(xùn)練時,選擇帶動量的隨機梯度下降法作為優(yōu)化算法,動量參數(shù)為0.4,學(xué)習率設(shè)置為0.000 01,迭代次數(shù)為1 700次。
為驗證本文算法的有效性,數(shù)據(jù)采集位于廣東某城軌戶外站臺,在日間晴朗條件下,使用紅外攝像頭拍攝燈帶圖像(采集時間為上午9:00到下午5:00,每隔2 h進行2 min視頻采集)。城軌站臺用于異物檢測的背景燈帶水平于地面進行安裝,安裝位置示意如圖4所示,距離地表6 cm,背景燈帶長110 cm,與攝像機距離約為184 m。使用的紅外光采集視頻攝像頭分辨率為1 280×720,拍攝幀率為30幀/s,采集圖像為RGB格式3通道圖,拍攝焦距調(diào)節(jié)后,燈帶在圖像中成像面積約為300像素點。圖像在輸入網(wǎng)絡(luò)前會進行尺寸縮小至480×320大小。
圖4 背景燈帶及攝像頭安裝示意Fig.4 The installation position of the background light strips and cameras
本文算法屬于圖像分割任務(wù),使用語義分割任務(wù)中常用的評價指標平均交并比(mean intersection over union,mIoU)、準確率(Accuracy)、召回率(Recall),F1分數(shù)以及在CPU和GPU上幀均耗時tCPU和tGPU,定義如下
(12)
(13)
(14)
(15)
式中,TP,TN,FP,FN分別為正確分類為燈帶的燈帶像素數(shù)、正確分類為其他類別的其他類別像素數(shù)、錯誤分類為其他類別的燈帶像素數(shù)和錯誤分類為燈帶的其他類別像素數(shù)。
本文算法在戶外日光較大時表現(xiàn)良好,分割示例結(jié)果如圖5所示,其中分割結(jié)果通過不同顏色進行標記類別。本文算法分割效果在不同的復(fù)雜背景下,分割結(jié)果準確;對于不同視角的拍攝圖像,分割性能表現(xiàn)一致,具有一定魯棒性;在不同光照條件下,保持良好的分割效果。本文對比常用的無監(jiān)督方法的分割方法,實驗數(shù)據(jù)結(jié)果如表1所示,同時,為更直觀地展示結(jié)果,圖5中對比兩張圖像的不同算法的分割結(jié)果展示。
表1 不同算法實驗結(jié)果對比Tab.1 Experiment results of different algorithms
圖5 本文算法在不同環(huán)境下輸出示例Fig.5 Visualization results of the proposed algorithm
從實驗數(shù)據(jù)上可以看出,對比文獻[10](K均值算法)和文獻[21](最大類間方差法),本文算法在mIoU和F1分數(shù)上取得更高分數(shù),意味著在戶外條件下的燈帶分割效果更好。同時,相比需要迭代的文獻[10]算法,本文在不使用CPU加速耗時上能夠減少65.5%,在具有GPU加速條件下,耗時減少97.1%。
從幀均耗時的角度來看,相比文獻[10],本文算法更為實用且滿足實際運行需求。在分割效果上,如圖6所示,對于其他方法,容易把背景中對日光反射度較大的物體錯誤分割。文獻[21]中的方法為大津算法,是基于類間方差最大化的原理。從圖6最后一行的直方圖曲線中可見,待檢測圖像的直方圖大多為雙峰形,而該方法計算的分割閾值落在雙峰之間的范圍內(nèi),根據(jù)該閾值的分割結(jié)果為將暗色的站臺與較亮的戶外背景進行分割,但是沒有對燈帶進行有效分割。因此,基于類間方差最大化的自適應(yīng)閾值方法雖然幀均耗時低,但是分割效果差,難以在實際應(yīng)用中使用。
圖6 不同方法燈帶分割結(jié)果對比Fig.6 The comparison of light strip segmentation results of various algorithms
作為實驗對比的基準線,通過測試集上選取F1分數(shù)最高的閾值,對圖像進行二值化后結(jié)果進行對比(表1)。此結(jié)果意味著是在已知測試集的條件下,各類基于全圖的簡單閾值方法的最佳效果。在其他算法測試中,無法提前得知測試集的樣本,而這種簡單閾值法雖然對于目標燈帶圖像總體像素值比背景高的情況,具有良好分割效果,但其出現(xiàn)的問題有:(1)對于背景較亮,和燈帶亮度相似的情況,閾值方法會錯誤分割背景,同時設(shè)置太高閾值會導(dǎo)致召回下降;(2)由于基于燈帶遮擋的異物檢測方法是長時間在戶外運行,成像效果也會隨著光線變換而變化,同時,在長期運行條件下,燈帶燈珠會因為老化原因,在圖像中的成像也會變化。因此,簡單的閾值化方法對于以上問題適應(yīng)性不好,需要不斷進行人工調(diào)節(jié)閾值參數(shù),不具有自適應(yīng)性。本文算法在僅有1個訓(xùn)練樣本的條件下,對于其他光照條件與拍攝角度的燈帶圖像都具有良好的分割效果,且能夠很好地克服來自于背景的干擾。
針對軌道交通異物檢測關(guān)鍵流程中一環(huán)的背景燈帶圖像分割任務(wù),提出一種基于無監(jiān)督的適應(yīng)戶外站臺的圖像分割算法。通過設(shè)計考慮特征相似度和空間連續(xù)約束、基于深度支持向量描述以及基于幾何與光度增強的三種損失函數(shù),實現(xiàn)在單樣本訓(xùn)練下的卷積網(wǎng)絡(luò)參數(shù)學(xué)習。實驗結(jié)果表明,本文算法在處理與訓(xùn)練樣本不同的視角、光照條件的圖像依然保持良好的性能,具有魯棒性。對比實驗表明,在性能優(yōu)于K均值算法的前提下,算法在CPU和GPU上的運算耗時可減低65.5%和97.1%。結(jié)果表明,本文提出算法可有效應(yīng)對戶外站臺的背景燈帶分割任務(wù),為后續(xù)異物檢測提供堅實的基礎(chǔ)。