吳俊演,劉 霞,李雅卓
(江漢大學(xué) 智能制造學(xué)院,湖北 武漢 430056)
城市軌道交通具有安全環(huán)保、占地面積小、運(yùn)量大等優(yōu)點(diǎn),已逐步成為城市出行的首選交通方式。2021 年中國(guó)內(nèi)地地鐵總客運(yùn)量達(dá)到236 億人次,其中上海市地鐵客運(yùn)量達(dá)到35 億人次以上,位居全國(guó)第一。然而,在獲得便捷出行方式的同時(shí),安全隱患也隨之潛伏。由于地鐵車站是一個(gè)密閉空間且人流量巨大,一旦發(fā)生火災(zāi)或恐怖襲擊將會(huì)對(duì)乘客的人身和財(cái)產(chǎn)帶來嚴(yán)重?fù)p害。因此,保障地鐵運(yùn)營(yíng)安全,實(shí)時(shí)獲取車站內(nèi)各關(guān)鍵位置的客流信息十分必要。目前車站內(nèi)常采用現(xiàn)場(chǎng)人工監(jiān)控與視頻監(jiān)控相結(jié)合的方法。地鐵站臺(tái)處有工作人員對(duì)乘客進(jìn)行引導(dǎo)與管理,車站值班員只能通過安防監(jiān)控系統(tǒng)實(shí)時(shí)獲取車站內(nèi)客流信息,但無法直接得到乘客的準(zhǔn)確數(shù)量,因此無法對(duì)客流量進(jìn)行有效統(tǒng)計(jì)。
隨著計(jì)算機(jī)視覺技術(shù)與深度學(xué)習(xí)技術(shù)的發(fā)展,行人檢測(cè)算法已經(jīng)取得了很大的進(jìn)步并逐步得到應(yīng)用。Zheng 等[1]從攝像頭中捕捉視頻,并設(shè)計(jì)一個(gè)名為CircleDet 的無錨物體檢測(cè)網(wǎng)絡(luò)來檢測(cè)乘客的頭部,速度可以達(dá)到每秒111 幀(FPS),精度高達(dá)97.1%;Shen 等[2]引入一種基于深度學(xué)習(xí)網(wǎng)絡(luò)的Mask R-CNN 對(duì)象檢測(cè)方法,并引入多幀處理結(jié)果的融合,以降低檢測(cè)誤差,單幀檢測(cè)的平均準(zhǔn)確率為73.43%,融合時(shí)間序列幀的檢測(cè)結(jié)果,平均準(zhǔn)確率為88.85%,提高了21%;Liu 等[3]提出了一種地鐵乘客檢測(cè)算法(MPD)來跟蹤乘客的上下車情況,能夠在較小的模型尺寸下快速、準(zhǔn)確地檢測(cè)地鐵車廂和乘客狀況;Dong 等[4]改進(jìn)SSD 網(wǎng)絡(luò),提出針對(duì)小目標(biāo)數(shù)據(jù)的過采樣增強(qiáng)算法,準(zhǔn)確率比原始SSD 提升了5.82%,能夠適應(yīng)于地鐵中小目標(biāo)檢測(cè);王敏[5]基于YOLO-V3 改進(jìn)算法,對(duì)地鐵客流的人物頭肩進(jìn)行檢測(cè);周慧娟等[6]將人臉檢測(cè)的方法與YOLO 結(jié)合,實(shí)現(xiàn)在地鐵復(fù)雜的人流環(huán)境下僅對(duì)人物臉部進(jìn)行識(shí)別,但由于地鐵站內(nèi)部環(huán)境復(fù)雜且光影效果有時(shí)較差,往往無法準(zhǔn)確提取監(jiān)控畫面中人物的臉部特征;Valencia 等[7]利用tinyYOLO-V4 和DeepSORT 跟蹤算法來監(jiān)控人群數(shù)量和社交距離;Ahmed 等[8]提出了基于5G 基礎(chǔ)設(shè)施的多人跟蹤框架。以上方法均是僅對(duì)客流進(jìn)行檢測(cè),但并不具有追蹤功能,無法準(zhǔn)確統(tǒng)計(jì)特定時(shí)間內(nèi)的客流量。何宇等[9]將YOLO-V5s 與DeepSORT 算法相結(jié)合應(yīng)用到地鐵場(chǎng)景中,對(duì)客流量進(jìn)行實(shí)時(shí)檢測(cè),但未考慮人流量巨大時(shí),行人相互遮擋引起的漏檢問題,而且未對(duì)檢測(cè)系統(tǒng)的速度與精度進(jìn)行系統(tǒng)評(píng)估。
為了更好地應(yīng)對(duì)地鐵站臺(tái)層復(fù)雜的環(huán)境以及更準(zhǔn)確地統(tǒng)計(jì)站臺(tái)層的實(shí)時(shí)客流量,本文采用了YOLO-V5 目標(biāo)檢測(cè)算法與DeepSORT 追蹤算法相結(jié)合的方法。首先,在目標(biāo)檢測(cè)算法方面,將行人全身檢測(cè)改為頭肩部檢測(cè),以減小在客流量較大時(shí),因行人相互遮擋導(dǎo)致的檢測(cè)誤差;然后,重新訓(xùn)練DeepSORT 中的ReID 模型,只提取行人頭肩部特征,從而減小追蹤過程行人ID的頻繁切換;最后,將優(yōu)化好的行人檢測(cè)追蹤模型應(yīng)用到地鐵站臺(tái)層客流檢測(cè)中,根據(jù)實(shí)際檢測(cè)場(chǎng)景提取并統(tǒng)計(jì)客流信息。
為實(shí)時(shí)獲得地鐵站臺(tái)層的行人人數(shù)、擁擠程度、進(jìn)出人數(shù)以及行人速度等信息,需要利用目標(biāo)檢測(cè)算法對(duì)攝像頭拍攝視頻的每一幀圖像進(jìn)行目標(biāo)檢測(cè),得到圖像中的行人信息。之后,利用目標(biāo)追蹤算法,對(duì)行人進(jìn)行實(shí)時(shí)追蹤,實(shí)現(xiàn)客流信息的統(tǒng)計(jì)。因此要提高檢測(cè)性能,需分別對(duì)行人檢測(cè)模型與追蹤模型進(jìn)行優(yōu)化。
在地鐵車站中,攝像頭一般布設(shè)在一些關(guān)鍵位置的天花板上,由于地下站臺(tái)層高度有限,攝像頭離地面距離一般在2.5~ 6 m。當(dāng)客流高峰到來時(shí),站臺(tái)層的客流密度可達(dá)到8 人/m2,此時(shí)行人之間存在大量互相遮擋,若采用檢測(cè)人體全身的方式采集客流信息,將產(chǎn)生極大誤差,影響地鐵站臺(tái)層客流信息的檢測(cè)精度。圖1(a)為站臺(tái)層進(jìn)出口位置圖片,圖中實(shí)際有22 人。當(dāng)使用傳統(tǒng)基于COCO 數(shù)據(jù)集的YOLO 預(yù)訓(xùn)練模型檢測(cè)人體全身時(shí),僅能檢測(cè)到14 人,如圖1(b)所示。因此,本文自制Headshoulder 數(shù)據(jù)集,將檢測(cè)模型改為僅檢測(cè)人體頭部和肩部位置。
圖1 基于YOLO 算法的行人全身與行人頭肩部檢測(cè)對(duì)比圖Fig.1 Comparison figure of whole-body and head-shoulder detection based on the YOLO algorithm
首先在武漢地鐵各車站中的主要場(chǎng)景與客流密集的瓶頸位置進(jìn)行圖像與視頻采集工作,如車站站臺(tái)、站臺(tái)上下行通道、換乘通道、車站進(jìn)出通道、安檢口、閘機(jī)等處;之后使用Labelme 標(biāo)注工具對(duì)行人頭肩部進(jìn)行標(biāo)注;然后通過旋轉(zhuǎn)、平移、鏡像等手段來增加訓(xùn)練樣本的數(shù)量以及多樣性,提升模型的魯棒性;最后將數(shù)據(jù)集劃分為訓(xùn)練集、測(cè)試集、驗(yàn)證集,其中訓(xùn)練集中樣本數(shù)量4 566 個(gè),測(cè)試集樣本225 個(gè),驗(yàn)證集樣本450 個(gè)。
使用YOLO-V5 的s6 訓(xùn)練模型對(duì)Headshoulder 數(shù)據(jù)集進(jìn)行訓(xùn)練,驗(yàn)證站臺(tái)層行人檢測(cè)效果,結(jié)果如圖1(c)所示。圖中,檢測(cè)模型僅框選行人頭部肩部信息,避免了因身體遮擋導(dǎo)致的行人漏檢情況,實(shí)際行人22 人,測(cè)得行人18 人,召回率從63.6%提升至81.8%。
本文采用YOLO-V5 目標(biāo)檢測(cè)算法對(duì)站臺(tái)層的客流量進(jìn)行實(shí)時(shí)檢測(cè),該算法為不同應(yīng)用場(chǎng)景提供了多種預(yù)訓(xùn)練模型框架。為考查不同框架在地鐵站臺(tái)層行人檢測(cè)中的性能,使用Headshoulder 數(shù)據(jù)集對(duì)7 個(gè)不同的預(yù)訓(xùn)練模型進(jìn)行訓(xùn)練,分別為YOLO-V5n、YOLO-V5n6、YOLO-V5s、YOLO-V5s6、YOLO-V5m、YOLO-V5m6、YOLO-V5l。
本文訓(xùn)練的硬件配置采用Intel I7-10700 處理器,系統(tǒng)內(nèi)存32 GB,顯卡為NVIDIA RTX3060,顯存12 G;軟件環(huán)境是Windows 10,開發(fā)語言為Python3.9 和Pytorch 深度學(xué)習(xí)框架。訓(xùn)練不同大小模型時(shí)保持超參數(shù)一致,batch-size 設(shè)置為16,epoch 設(shè)置為200,置信度閾值設(shè)置為50%。為考查訓(xùn)練得到的各模型性能,分別對(duì)同一地鐵站臺(tái)層場(chǎng)景進(jìn)行檢測(cè),檢測(cè)結(jié)果見表1。由表1 可知,預(yù)訓(xùn)練模型越大(Params),模型準(zhǔn)確率(mAP)越高,檢測(cè)相同場(chǎng)景時(shí)的召回率(Recall)越高,但速度(FPS)較慢。其中,YOLO-V5s 模型綜合性能較強(qiáng),在保證準(zhǔn)確率較高的同時(shí),處理速度也較快。檢測(cè)結(jié)果如圖2 所示,其中圖2(a)為地鐵站臺(tái)行人原始場(chǎng)景圖,YOLOV5s 與YOLO-V5l 模型的檢測(cè)結(jié)果分別如圖2(b)、圖2(c)所示。
表1 不同YOLO 模型在地鐵車站站臺(tái)層檢測(cè)性能匯總表Tab.1 Detection performance summary of different YOLO models at the subway station platform
圖2 YOLO-V5s 與YOLO-V5l 模型行人檢測(cè)效果對(duì)比圖Fig.2 Pedestrian detection effect comparison between the YOLO-V5s and the YOLO-V5l model
使用目標(biāo)檢測(cè)算法能獲取監(jiān)控視頻每幀圖像的行人人數(shù)信息,但無法對(duì)車站人流量和行人速度進(jìn)行統(tǒng)計(jì),因此還需要引入目標(biāo)追蹤算法。DeepSORT[10]作為目前主流之一的多目標(biāo)追蹤算法,相較于EAMTT[11]、POI[12]、SORT[13]等其他算法綜合性能較好。DeepSORT 延續(xù)了SORT 中卡爾曼濾波和匈牙利算法(IOU 匹配)兩個(gè)核心算法,在此基礎(chǔ)上引入了外觀模型ReID[14]以改善追蹤目標(biāo)被遮擋之后再出現(xiàn)從而導(dǎo)致的ID 頻繁切換問題。在SORT 算法中當(dāng)一個(gè)目標(biāo)被遮擋后再次出現(xiàn)時(shí),其計(jì)算得到的相似度矩陣差異明顯,軌跡匹配失敗導(dǎo)致追蹤中斷。DeepSORT 算法在IOU 匹配之前進(jìn)行級(jí)聯(lián)匹配,利用ReID 計(jì)算得到追蹤器中的預(yù)測(cè)結(jié)果與當(dāng)前檢測(cè)所有結(jié)果的相似度矩陣,計(jì)算兩者之間的馬氏距離;利用馬氏距離篩選掉相似矩陣中不匹配項(xiàng),之后進(jìn)行IOU 匹配,增強(qiáng)在追蹤過程中的魯棒性。
DeepSORT 中ReID 讀取的權(quán)重模型是由PersonReID 數(shù)據(jù)集訓(xùn)練得到的,該數(shù)據(jù)集中的圖像均為行人全身圖。在復(fù)雜的地鐵環(huán)境中,往往存在人群相互遮擋的情況,無法對(duì)行人全身特征進(jìn)行提取與關(guān)聯(lián)。因此將Headshoulder 數(shù)據(jù)集轉(zhuǎn)化為Mars 數(shù)據(jù)集格式[15],利用Wide Residual Network[16]進(jìn)行特征提取。
將訓(xùn)練好的ReID 模型應(yīng)用于實(shí)際場(chǎng)景,考查其檢測(cè)性能。圖3(a)為使用PersonReID 模型的追蹤結(jié)果,紅框中行人在立柱遮擋前的ID 為22,繞過立柱重新出現(xiàn)后的ID 變?yōu)?5,追蹤丟失重新分配新ID。使用HeadshoulderReID 模型的追蹤結(jié)果如圖3(b)所示,紅框中行人ID 在立柱遮擋前后沒有發(fā)生變化,ID 編號(hào)始終為17,成功保持追蹤。由此可見,使用HeadshoulderReID 模型能夠降低行人ID 的頻繁切換,減小客流信息的統(tǒng)計(jì)誤差,有效提高追蹤性能。
圖3 PersonReID 模型與HeadshoulderReID 模型追蹤效果對(duì)比圖Fig.3 Tracking comparison between PersonReID and HeadshoulderReID model
在地鐵車站中,乘客一般通過扶梯或樓梯進(jìn)出站臺(tái),并停留在站臺(tái)候車區(qū)等待接駁。不同位置的客流具有不同特點(diǎn),可采集不同信息。站臺(tái)候車區(qū)人員流動(dòng)性不高,但在高峰時(shí)段人群密集,容易發(fā)生互相遮擋,影響檢測(cè)精度。在進(jìn)出口扶梯處,乘客流動(dòng)性很高,需要實(shí)時(shí)統(tǒng)計(jì)進(jìn)出站臺(tái)人數(shù)、行人速度等信息。因此,不同場(chǎng)景應(yīng)采用不同檢測(cè)模型和方法。
站臺(tái)候車區(qū)域的客流檢測(cè)無需實(shí)時(shí)追蹤行人,可以選擇檢測(cè)精度高、FPS較低的模型。根據(jù)表1 中各模型的檢測(cè)參數(shù),將YOLO-V5l 模型應(yīng)用于站臺(tái)候車區(qū)域客流檢測(cè)中。
檢測(cè)結(jié)果如圖4 所示,檢測(cè)系統(tǒng)每隔兩幀對(duì)候車區(qū)的畫面進(jìn)行處理,檢測(cè)行人頭肩位置,統(tǒng)計(jì)乘客數(shù)量,再根據(jù)人數(shù)給出當(dāng)前站臺(tái)的擁擠程度,當(dāng)人數(shù)超過閾值時(shí),向車站運(yùn)營(yíng)部門發(fā)出報(bào)警信息。
圖4 站臺(tái)候車區(qū)客流檢測(cè)圖Fig.4 Passenger flow detection map of the platform waiting area
對(duì)于站臺(tái)層出入口扶梯處,檢測(cè)系統(tǒng)不僅需要檢測(cè)每幀乘客人數(shù),還要對(duì)每個(gè)乘客進(jìn)行追蹤,實(shí)現(xiàn)進(jìn)出站臺(tái)人數(shù)統(tǒng)計(jì)和乘客步行速度統(tǒng)計(jì)。因此,選擇FPS和mAP均較高的YOLO-V5s模型用于行人檢測(cè),將檢測(cè)結(jié)果代入DeepSORT 進(jìn)行行人追蹤。將該算法應(yīng)用于站臺(tái)層扶梯處的客流信息檢測(cè),結(jié)果發(fā)現(xiàn),當(dāng)乘客人數(shù)增加時(shí),檢測(cè)畫面出現(xiàn)明顯卡頓。考察目標(biāo)檢測(cè)與目標(biāo)追蹤算法的耗時(shí)情況,如圖5 所示,當(dāng)客流較小時(shí),追蹤算法和目標(biāo)檢測(cè)算法用時(shí)相當(dāng);當(dāng)出現(xiàn)客流高峰時(shí),追蹤算法可達(dá)目標(biāo)檢測(cè)算法耗時(shí)的4 倍以上,因此需要對(duì)目標(biāo)追蹤算法進(jìn)行優(yōu)化。
圖5 檢測(cè)算法與追蹤算法耗時(shí)對(duì)比圖Fig.5 Time-consuming comparison between detection and tracking algorithm
在DeepSORT 算法中,需要計(jì)算兩幀之間檢測(cè)框的距離以及相似度,并對(duì)輸入檢測(cè)框與自身Tracker 中已存在的所有軌跡進(jìn)行一一比對(duì)。因此檢測(cè)框數(shù)量越多,其算法處理的速度就越慢。為減少待追蹤檢測(cè)框的數(shù)量,規(guī)定只對(duì)進(jìn)入指定區(qū)域的行人進(jìn)行追蹤匹配,超過該區(qū)域則放棄追蹤并將其對(duì)應(yīng)的軌跡ID 從Tracker 中刪除,減少Tracker 中已存在的軌跡數(shù)量以降低匹配計(jì)算量。設(shè)定的區(qū)域范圍為客流的必經(jīng)區(qū)域(樓梯處),因此對(duì)最終的客流檢測(cè)統(tǒng)計(jì)結(jié)果無影響。通過上述優(yōu)化,DeepSORT 在追蹤進(jìn)出口通道客流的效果如圖6 所示。原DeepSORT 算法平均FPS為12 左右,優(yōu)化之后平均FPS提升至38,速度大幅提升。
圖6 DeepSORT 追蹤算法優(yōu)化效果圖Fig.6 Optimization effect diagram of DeepSORT tracking algorithm
在站臺(tái)層進(jìn)出口扶梯處,利用優(yōu)化后的客流信息檢測(cè)算法,對(duì)當(dāng)前上行人數(shù)(current uplink number)、當(dāng)前下行人數(shù)(current downlink number)、上行總?cè)藬?shù)(total uplink number)、下行總?cè)藬?shù)(total downlink number)、平均上行速度(average uplink speed)和平均下行速度(average downlink speed)進(jìn)行檢測(cè)與統(tǒng)計(jì),結(jié)果如圖7 所示。結(jié)果表明,在地鐵站臺(tái)層出入口處,上下行人數(shù)統(tǒng)計(jì)準(zhǔn)確率達(dá)到86%,平均FPS為35,能夠滿足客流信息實(shí)時(shí)檢測(cè)的應(yīng)用需求。
圖7 站臺(tái)通道客流信息檢測(cè)結(jié)果圖Fig.7 Passenger flow information detection results of platform corridor
使用YOLO-V5 檢測(cè)算法對(duì)站臺(tái)層候車區(qū)客流進(jìn)行統(tǒng)計(jì),直觀地展示候車區(qū)的客流情況以及擁擠程度;結(jié)合DeepSORT 追蹤算法對(duì)站臺(tái)層出入口進(jìn)行客流統(tǒng)計(jì),并對(duì)客流速度進(jìn)行計(jì)算和顯示,能幫助地鐵工作人員對(duì)客流量進(jìn)行實(shí)時(shí)監(jiān)控。該方法相較于傳統(tǒng)監(jiān)控方法可以實(shí)時(shí)準(zhǔn)確獲得多種地鐵客流信息,且投入成本、運(yùn)營(yíng)成本均較低,具有較好的應(yīng)用價(jià)值。目前,使用YOLO-V5 目標(biāo)檢測(cè)算法依然會(huì)存在漏檢情況,在目標(biāo)追蹤過程中也存在ID 切換的情況。如何提高目標(biāo)檢測(cè)的精度并提高追蹤性能,需要進(jìn)一步研究與探索。