高武,刁欣然,張余豪,姬光,王艷輝,6,7,8
(1.北京京城地鐵有限公司,北京 101300;2.北京交通大學(xué) 交通運輸學(xué)院,北京 100044;3.北京交通大學(xué) 先進(jìn)軌道交通自主運行全國重點實驗室,北京 100044;4.北京市軌道交通建設(shè)管理有限公司,北京 100068;5.北京聲迅電子股份有限公司,北京 100094;6.北京交通大學(xué) 北京市城市交通信息智能感知與服務(wù)工程技術(shù)研究中心,北京 100044;7.北京交通大學(xué) 城市軌道交通運營安全管理技術(shù)及裝備交通運輸行業(yè)研發(fā)中心,北京 100044;8.運營主動安全保障與風(fēng)險防控鐵路行業(yè)重點實驗室,北京 100044)
近年隨著城市軌道交通線路長度的快速增長,線網(wǎng)的織密,城市軌道交通客運量占全國公共交通客運總量的分擔(dān)比率逐年提高。截至2021 年底,共有50 個城市開通城市軌道交通運營線路283 條,運營線路總長度9 206.8 km。2021 年全年累計完成客運量236.9 億人次,同比增長34.7%,總進(jìn)站量146.3 億人次,同比增長33.7%,總客運周轉(zhuǎn)量1 981.8億人公里[1]。在北京、上海、廣州、深圳這些超大城市中,平均每座車站日均進(jìn)站量1萬人次,并且由于城市軌道交通系統(tǒng)網(wǎng)絡(luò)化運營的特點,車站之間會相互影響,一個車站運營中斷甚至?xí)斐删€網(wǎng)大范圍運營受阻。
安全是城市軌道交通完成其根本任務(wù)、根本使命的前提和基礎(chǔ)??土鳡顟B(tài)是影響車站安全事件發(fā)生的1個主要因素,科學(xué)合理地對客流狀態(tài)進(jìn)行評價對城軌運營安全起著重要作用。目前雖然北京、上海等國內(nèi)城市軌道交通行業(yè)頭部運營公司都對城市軌道交通安全保障與風(fēng)險管控方面有了長足的研究,但其中對客流狀態(tài)的辨識大部分仍是車站乘務(wù)員、車站管理人員以目視的方法來進(jìn)行監(jiān)測,而由于車站乘客數(shù)量較多且客流狀態(tài)易受外界環(huán)境的干擾而復(fù)雜多變,這種方式不能及時地發(fā)現(xiàn)問題所在,因此有必要采用先進(jìn)的信息化手段對客流狀態(tài)進(jìn)行監(jiān)測[2]??土魉俣取⒖土髅芏仁悄壳俺擒壙土飨嚓P(guān)研究中反映客流狀態(tài)的重要屬性,對客流狀態(tài)信息的獲取方法進(jìn)行研究,通過對目前相關(guān)領(lǐng)域算法的研究,形成基于優(yōu)化YOLOv5 和Deep-SORT 的客流狀態(tài)識別方法,并對此方法進(jìn)行驗證,有助于實現(xiàn)客流狀態(tài)的有效識別,進(jìn)而提高城軌車站的安全水平。
對客流狀態(tài)進(jìn)行識別首先要通過監(jiān)控設(shè)備檢測到乘客的存在,這個過程就是目標(biāo)檢測,現(xiàn)如今基于深度學(xué)習(xí)的方法在目標(biāo)檢測領(lǐng)域成為主流,并且YOLO系列算法取得了良好的效果,是當(dāng)前研究的熱點。在YOLO 系列算法中,YOLOv5 算法的總體性能指標(biāo)位于前列[3],但在乘客密集場景的應(yīng)用還存在改進(jìn)空間,在密集場景下目標(biāo)檢測算法經(jīng)常會發(fā)生將多個目標(biāo)檢測為1個目標(biāo)的問題,同時檢測到的單個目標(biāo)也會受到相近其他目標(biāo)的影響,導(dǎo)致預(yù)測效果不佳,從提高預(yù)測精度與檢測效果的角度對YOLOv5算法進(jìn)行優(yōu)化,主要通過網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)、檢測框后處理算法3個方面進(jìn)行優(yōu)化。
1.1.1 網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化
對網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化主要考慮提高對原網(wǎng)絡(luò)結(jié)構(gòu)提取到的特征利用能力,在深度學(xué)習(xí)領(lǐng)域,注意力機(jī)制由于其能夠?qū)χ匾卣鬟M(jìn)行更多的權(quán)重分配、降低重要性低的特征權(quán)重、能夠?qū)Ω鞣N網(wǎng)絡(luò)模型起到優(yōu)化作用,因此嘗試通過在網(wǎng)絡(luò)的骨干部分引入注意力機(jī)制來提高特征提取能力。SE(Squeeze-and-Excitation Networks)[4]、CBAM (Convolutional Block Attention Module)[5]、ECA (Efficient Channel Attention)[6]、CA(Coordinate Attention)[7]都是近些年取得較好效果的注意力機(jī)制。
在不同應(yīng)用場景和不同數(shù)據(jù)集條件下,對網(wǎng)絡(luò)結(jié)構(gòu)的修改會取得不同效果,為了選取更有效的改進(jìn)方法,在相同超參數(shù)條件下,使用自制數(shù)據(jù)集對加入SE、CBAM、ECA 和CA 注意力機(jī)制的不同模型分別訓(xùn)練500epoch,訓(xùn)練結(jié)果對比見表1。
表1 注意力機(jī)制訓(xùn)練結(jié)果對比
經(jīng)過對比,CBAM注意力機(jī)制添加后對模型精度的提高在4種注意力機(jī)制中取得了最好的效果,因此選取CBAM機(jī)制來提高模型的特征提取性能。
1.1.2 損失函數(shù)優(yōu)化
早期的目標(biāo)檢測工作使用經(jīng)典損失函數(shù)進(jìn)行預(yù)測框回歸,隨著研究的發(fā)展,目標(biāo)檢測領(lǐng)域直接采用定位性能度量損失,即將交并比IoU(Intersection over Union)作為定位損失。He 等[8]為了獲得更準(zhǔn)確的邊界框回歸和目標(biāo)檢測,在2021 年提出了一種統(tǒng)一GIoU、DIoU、CIoU這3種基于IoU的損失函數(shù)的新?lián)p失函數(shù)α-IoU,通過對IoU 損失加上額外的power 正則化項,使得其能夠概括現(xiàn)有基于IoU的損失,計算方法見式(1),以CIoU 為例,α-CIoU 損失函數(shù)可以表示為式(2)。
式中:Pα2(B,Bgt)為根據(jù)檢測框B和Bgt計算的懲罰因子;b、bgt分別代表了檢測框B和Ground truth G 的中心點,且ρ為2 個中心點間的歐式距離;c為能夠同時覆蓋檢測框B和Ground truth G 的最小矩形的對角線距離;。
實證研究表明,在大多數(shù)情況下使用α=3 的α-IoU損失會在目標(biāo)檢測任務(wù)中取得較好的效果。采用α-CIoU 對原模型進(jìn)行修改,α取3,修改后效果對比見表2。
表2 α-CIoU損失函數(shù)效果對比
可以看出應(yīng)用α-CIoU損失函數(shù)后相比原CIoU損失函數(shù)模型精度有一定的提高,因此選取α-CIoU 損失函數(shù)來提高模型的檢測框精度。
1.1.3 檢測框后處理算法優(yōu)化
現(xiàn)有的檢測模型在檢測框后處理階段多采用NMS算法來對網(wǎng)絡(luò)預(yù)測到的多個預(yù)測框進(jìn)行篩選。在使用NMS算法篩選預(yù)測框時,先給定閾值來對檢測框的IoU范圍進(jìn)行評價判斷,然后在給定閾值范圍內(nèi),高置信度預(yù)測框被保留,較低置信度預(yù)測框被刪除。這種篩選預(yù)測框的方法依賴設(shè)定的閾值好壞,在原模型中閾值為基于IoU 的閾值,根據(jù)前文分析,IoU 的效果并不如改進(jìn)后的α-IoU,考慮將后處理算法中的閾值更改為基于α-IoU 的閾值,形成α-CIoU-NMS,修改后效果見表3。
表3 α-CIoU-NMS效果對比
通過引入注意力機(jī)制對網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,使用α-CIoU損失函數(shù)對原模型損失函數(shù)優(yōu)化,將α-CIoU引入NMS 形成α-CIoU-NMS 后處理方法對原模型進(jìn)行優(yōu)化,改進(jìn)后模型精度得到一定提高。
城軌車站是一個乘客密集的場所,因此利用優(yōu)化YOLOv5算法對城軌車站區(qū)域的乘客進(jìn)行檢測,以提高檢測效果。在得到目標(biāo)檢測模型后可以對監(jiān)控視頻中乘客數(shù)量進(jìn)行識別,進(jìn)一步實現(xiàn)車站區(qū)域客流密度識別主要利用目標(biāo)檢測得到的當(dāng)前監(jiān)控區(qū)域的乘客數(shù)量N與設(shè)置的當(dāng)前監(jiān)控區(qū)域?qū)嶋H面積S,根據(jù)密度計算公式得到,具體方法如下:
(1)接入監(jiān)控視頻;
(2)設(shè)置待檢測區(qū)域,輸入待檢測區(qū)域面積S;
(3)監(jiān)控視頻處理,對原圖像進(jìn)行裁剪,得到設(shè)定的檢測區(qū)域圖像作為待檢測圖像;
(4)將待檢測圖像送入目標(biāo)檢測模型對該區(qū)域進(jìn)行行人檢測,此過程輸入為待檢測區(qū)域的圖像,輸出為待檢測區(qū)域內(nèi)的每個行人的檢測框坐標(biāo)信息及行人總數(shù)N;
(5)得到行人總數(shù)N之后與待檢測區(qū)域的面積S按照客流密度公式進(jìn)行計算;
(6)輸出該區(qū)域的客流密度ρ。
目標(biāo)追蹤領(lǐng)域目前主流方法是基于深度學(xué)習(xí)和相關(guān)濾波的算法,在各種深度學(xué)習(xí)目標(biāo)跟蹤算法中Deep-SORT 作為SORT 算法的改進(jìn),其在多目標(biāo)追蹤任務(wù)中速度和精度都位于前列,并且可以較好地處理遮擋帶來的目標(biāo)丟失問題,因此被廣泛應(yīng)用于各種多目標(biāo)追蹤任務(wù)中,因此選取Deep-SORT 算法作為客流速度獲取過程中的目標(biāo)跟蹤算法。
Deep-SORT 是在SORT 算法的基礎(chǔ)上進(jìn)行深化的,SORT 先在連續(xù)圖像序列之間利用卡爾曼濾波方法進(jìn)行目標(biāo)位置預(yù)測與更新,主要利用目標(biāo)的位置和運動特征,再采用匈牙利算法對檢測框與預(yù)測框的分配通過IoU 進(jìn)行優(yōu)化求解實現(xiàn)目標(biāo)前后信息匹配[9],Deep-SORT 算法額外考慮了追蹤目標(biāo)的外觀信息,引入重識別領(lǐng)域的目標(biāo)外觀特征提取模型,將外觀特征與運動特征級聯(lián)匹配,解決了SORT在面對遮擋時目標(biāo)變化的問題[10]。Deep-SORT 算法流程見圖1,主要有3 個部分內(nèi)容,目標(biāo)檢測提取候選框、特征提取、數(shù)據(jù)關(guān)聯(lián)匹配。
圖1 Deep-SORT算法流程
由于通過視頻圖像獲取的行人坐標(biāo)為圖像的像素坐標(biāo),其與真實坐標(biāo)存在區(qū)別,需要獲取二者的換算模型,將圖像的像素坐標(biāo)與真實世界坐標(biāo)對應(yīng)。由于只需要得到像素坐標(biāo)與真實坐標(biāo)的轉(zhuǎn)化關(guān)系,不需要對相機(jī)各個參數(shù)進(jìn)行求解,所以化簡后得到式(3):
式中:M即為投影矩陣,由攝像機(jī)焦距光心等內(nèi)部結(jié)構(gòu)和攝像機(jī)擺放位置和拍攝角度等外部參數(shù)決定,由于是在齊次坐標(biāo)系中進(jìn)行變換,對矩陣M乘以任意一個非零常數(shù)對坐標(biāo)對應(yīng)關(guān)系沒有影響,所以設(shè)m34為1。獲取6組對應(yīng)的像素坐標(biāo)與真實坐標(biāo),將其帶入式(3)進(jìn)行方程組求解,即可得到投影矩陣。在得到投影矩陣后即可將像素坐標(biāo)與真實坐標(biāo)轉(zhuǎn)換,所采集的行人速度只需要得到真實的二維平面坐標(biāo),行人是在一個平面上進(jìn)行移動,zw在平面上恒為0,將式(3)展開后可以得到式(4):
則與(xw,yw)與(u,v)對應(yīng)關(guān)系可以用式(5)表示:
在利用目標(biāo)檢測加目標(biāo)追蹤得到城軌車站行人移動的軌跡后,結(jié)合像素坐標(biāo)與真實坐標(biāo)的轉(zhuǎn)換關(guān)系即可得到行人的真實移動速度,具體流程如下:
(1)YOLOv5 對圖像序列進(jìn)行目標(biāo)檢測,得到監(jiān)控圖像內(nèi)當(dāng)前時刻每個行人檢測框的像素坐標(biāo);
(2)Deep-SORT 算法對連續(xù)圖像序列中的行人進(jìn)行追蹤,得到下一時刻行人所處位置及檢測框的像素坐標(biāo);
(3)利用像素坐標(biāo)與真實坐標(biāo)的轉(zhuǎn)換關(guān)系對得到的行人檢測框坐標(biāo)進(jìn)行轉(zhuǎn)換,得到當(dāng)前時刻與下一時刻行人檢測框的真實坐標(biāo);
(4)計算當(dāng)前時刻與下一時刻檢測框底部中心點真實坐標(biāo);
(5)利用速度計算公式得到該行人的真實移動速度;
(6)對當(dāng)前區(qū)域所有行人移動速度進(jìn)行平均得到當(dāng)前區(qū)域客流速度。
基于改進(jìn)的YOLOv5 算法對車站客流密度和客流持續(xù)時間進(jìn)行識別,首先要對目標(biāo)數(shù)量進(jìn)行統(tǒng)計?;谏疃葘W(xué)習(xí)的目標(biāo)檢測算法應(yīng)用效果受數(shù)據(jù)集影響很大,如果數(shù)據(jù)集內(nèi)樣本單一,場景單一,則訓(xùn)練出來的網(wǎng)絡(luò)模型各項指標(biāo)只能夠在該數(shù)據(jù)集下取得,在其他場景中的應(yīng)用效果可能達(dá)不到在驗證集上的評估效果,要確保在某一場景下的實際應(yīng)用效果良好,最可靠的方式就是建立該場景下的數(shù)據(jù)集,構(gòu)建的數(shù)據(jù)集來源是某站內(nèi)各區(qū)域的實際監(jiān)控視頻,分屬于步梯、扶梯、閘機(jī)、站臺,基本覆蓋了車站內(nèi)各個區(qū)域。
為了保證行人樣本的充足,在各區(qū)域內(nèi)選取行人較多的視頻樣本,對視頻進(jìn)行按幀提取圖片的操作,考慮到視頻為25 幀/s,每幀之間行人變化極小,對每幀圖片進(jìn)行提取會導(dǎo)致數(shù)據(jù)集的冗余。因此選擇每10 幀提取1 次圖片,最終提取出3 916 張樣本圖片,經(jīng)過篩選剔除無人圖片以及重復(fù)圖片,最終將3 000 張圖片納入車站乘客數(shù)據(jù)集,樣本見圖2。
圖2 車站乘客數(shù)據(jù)集樣本
將數(shù)據(jù)集按照9∶1的比例劃分為訓(xùn)練集和驗證集,在Windows10系統(tǒng),11G顯存GeForceRTX2080Ti顯卡的環(huán)境中設(shè)置Batch_size 為16,epoch 為1 000,經(jīng)過13 h訓(xùn)練后損失值趨于平穩(wěn),此時繼續(xù)訓(xùn)練優(yōu)化效果不大,停止訓(xùn)練,從訓(xùn)練過程中選取最優(yōu)的模型文件保存,訓(xùn)練過程損失變化見圖3,900epoch 后基本損失函數(shù)平穩(wěn),結(jié)束訓(xùn)練。
圖3 模型訓(xùn)練過程損失變化
由于所采用的客流密度識別方法中的監(jiān)控區(qū)域面積是根據(jù)實際情況給定的,客流密度和客流持續(xù)時間識別都是對乘客數(shù)量進(jìn)行檢測,因此對客流密度和客流持續(xù)時間識別方法有效性進(jìn)行評估可以等價于對目標(biāo)檢測的有效性進(jìn)行評估。
選取訓(xùn)練數(shù)據(jù)之外的閘機(jī)、站臺、扶梯、步梯4個區(qū)域不同密度等級的100張圖片分別進(jìn)行測試,檢測效果見圖4。在站臺區(qū)域由于監(jiān)控范圍過大,遠(yuǎn)處小目標(biāo)人體可由另一端相機(jī)進(jìn)行檢測,所以只檢測靠近相機(jī)的一半?yún)^(qū)域的乘客,遮擋不嚴(yán)重的大部分人體都可以被檢測到,但在人群極度密集環(huán)境如站臺等,會存在漏檢的情況,同時由于監(jiān)控視頻畫面中還會存在一些不屬于監(jiān)控范圍的較遠(yuǎn)區(qū)域的人體,在檢測過程中也會對這些人體進(jìn)行檢測造成誤檢,導(dǎo)致檢測到的人體比畫面中的實際人體數(shù)量還要更多,此部分誤檢可以在實際應(yīng)用中設(shè)定監(jiān)控范圍進(jìn)行控制。
圖4 行人檢測效果
將優(yōu)化后模型與原模型在各區(qū)域識別到的人數(shù)與真實人數(shù)進(jìn)行對比,結(jié)果見表4 與圖5,其中站臺區(qū)域檢測到的人體數(shù)量為剔除誤檢人體之后的數(shù)據(jù)??梢钥闯鲈诶密囌境丝蛿?shù)據(jù)集對優(yōu)化后模型進(jìn)行針對訓(xùn)練后,優(yōu)化后模型效果相比原模型更好,平均精度達(dá)到86.82%。
圖5 不同區(qū)域檢測結(jié)果對比
表4 不同區(qū)域檢測精度對比
在城軌車站監(jiān)控視頻中對客流速度識別方法進(jìn)行驗證,車站監(jiān)控視頻標(biāo)定情況見圖6。首先對坐標(biāo)變換進(jìn)行驗證,對其中導(dǎo)向標(biāo)識L1、L2兩點的距離進(jìn)行換算,選取O、A、B、C、D、E六點作為特征點進(jìn)行標(biāo)定,根據(jù)標(biāo)定得到的投影矩陣及式(5)將L1、L2的像素坐標(biāo)轉(zhuǎn)為真實坐標(biāo)(見表5),求得2 個導(dǎo)向標(biāo)識之間的距離長度為1.02 m,L1、L2的真實距離1 m,在監(jiān)控視頻中坐標(biāo)換算的誤差為2%。
圖6 車站監(jiān)控視頻標(biāo)定情況
表5 L1、L2坐標(biāo)換算結(jié)果
對速度識別方法進(jìn)行驗證(見圖7),該場景下乘客P在27 s時坐標(biāo)為(375,214),33 s時坐標(biāo)為(317,539),進(jìn)行坐標(biāo)轉(zhuǎn)換后坐標(biāo)換算結(jié)果見表6,計算可得行人P速度為1.02 m/s,行人真實的速度為0.95 m/s,在監(jiān)控視頻中乘客速度的識別精度為93.2%。
圖7 單人速度計算示例
表6 乘客P前后時刻坐標(biāo)換算結(jié)果
多人場景速度檢測見圖8,對檢測框能完全覆蓋的乘客,識別到的速度較為可靠,由于個別位于樓梯或扶梯的乘客,其坐標(biāo)點不在標(biāo)定平面,因此坐標(biāo)換算存在誤差,從而導(dǎo)致速度準(zhǔn)確度較低,在實際應(yīng)用中可以預(yù)設(shè)檢測范圍以確保檢測區(qū)域在標(biāo)定的平面來改善此問題。
圖8 多人場景速度檢測示例
對車站客流信息獲取方法進(jìn)行研究,首先通過對目標(biāo)檢測算法進(jìn)行分析,選取目前工程效果較好的YOLOv5 算法作為行人檢測模型,以實現(xiàn)對客流密度信息的獲取;其次從網(wǎng)絡(luò)結(jié)構(gòu)修改、損失函數(shù)改進(jìn)、后處理方法改進(jìn)3 個方面對YOLOv5 算法進(jìn)行改進(jìn),提高了檢測精度,同時自制城軌乘客數(shù)據(jù)集進(jìn)行訓(xùn)練,提高了YOLOv5算法在城軌車站場景中的檢測準(zhǔn)確率;最后選取目前時效比最好的Deep-SORT 目標(biāo)追蹤算法作為行人追蹤模型,并結(jié)合單目相機(jī)標(biāo)定實現(xiàn)對客流真實速度信息的獲取,為基于視頻數(shù)據(jù)的車站客流狀態(tài)信息獲取提供了基礎(chǔ)。