?

基于計算機視覺的軌道交通站內客流識別與預測

2023-11-13 07:57張金雷陳瑤楊立興李華陰佳騰
鐵道科學與工程學報 2023年10期
關鍵詞:剪枝客流乘客

張金雷,陳瑤,楊立興,李華,陰佳騰

(北京交通大學 軌道交通控制與安全國家重點實驗室,北京 100044)

隨著城市化進程的加快,軌道交通客流量不斷增加,短時客流識別與預測相關研究也不斷增多。既有軌道交通短時客流預測相關研究大多以整個車站為最小單元,但隨著智慧地鐵的建設,以車站為最小單位進行短時客流預測已經不能夠滿足更加精細化的軌道交通客流管理需要。因此,軌道交通短時客流預測需要向著更加精細化、科學化的方向改進,基于精細化的軌道交通站內場景短時客流預測信息,乘客可更加合理地規劃出行,軌道交通運營管理部門可以及時采取措施疏散站內擁擠乘客,預測和處理緊急情況,保障乘客乘車安全,提升乘客出行體驗。因此,研究軌道交通站內不同場景下更加精細化的短時客流識別與預測意義重大。近年來,基于計算機視覺的目標檢測與目標跟蹤相關研究發展迅速,為利用現有的站內監控視頻數據,進行更加精細化的短時客流識別與預測提供了可用的算法。其中,目標檢測指對視頻當前幀內的所有乘客進行檢測,目標跟蹤指對視頻內的所有乘客軌跡進行跟蹤,客流識別指利用目標檢測與目標跟蹤進行乘客數量統計以及客流時間序列提取。目標檢測是計算機視覺領域的基礎研究內容,其基本思路是通過處理視頻或圖片,檢測其中的目標。例如,可借助目標檢測算法對道路車輛進行檢測、分類與計數[1],對軌道交通站內場景下的乘客進行目標檢測[2-4]。LIU 等[2]基于深度學習和光流法對上下車乘客進行檢測,ZHANG 等[3]基于卷積神經網絡對站臺場景的乘客進行計數,SIPETAS 等[4]通過存檔的視頻數據對站臺留守乘客數量進行統計。然而,既有的軌道交通相關的目標檢測研究僅識別監控視頻中的客流數量,沒有與其他算法結合對站內不同場景的客流同時進行識別和短時預測。利用視頻進行乘客數量統計以及客流時間序列提取時,需要借助目標跟蹤算法對乘客軌跡進行跟蹤以及計數。目標跟蹤算法基于目標檢測結果進行,WOJKE 等[5]2017 年提出的Deep SORT 算法是當前較為主流的目標跟蹤算法,Deep SORT 可以較好地在目標被長時間遮擋時進行行人重識別。目標檢測與目標跟蹤結合可以確定檢測目標的軌跡,實現乘客數量統計及客流時間序列提取,例如對入侵鐵路的異物進行檢測和跟蹤[6]。然而,目標跟蹤算法降低了實時性,因此在進行實時的檢測與跟蹤時,需考慮如何對模型以及視頻進行處理,以滿足實時檢測與跟蹤的要求。短時客流預測相關研究由來已久,從傳統的基于數理統計的預測模型,到基于機器學習的預測模型,再到基于深度學習的預測模型,短時客流預測經歷了長遠的發展[7]。從道路交通領域的ST-ResNet[8],DCRNN[9]和GE-GAN[10]等深度學習框架,到軌道交通領域的WT-ARMA[11],ResLSTM[7]和ConvGCN[12]等深度學習框架,均為當前較為先進的短時客流預測模型。然而,目前軌道交通客流數據主要來源于AFC 刷卡數據,只能統計車站整體的進出站人數,對于站內的閘機口、樓扶梯口、換乘通道等場景,精細化短時客流識別與預測相關的研究不充分,難以從微觀層面把握站內不同場景下的客流運行規律。為彌補既有研究的不足,基于檢測速度滿足實時性的輕量化YOLOv5 目標檢測算法[13]和Deep SORT 目標跟蹤算法,結合LSTM 預測算法[14],以實時的監控視頻數據為輸入,以精細化短時客流預測結果為輸出,構建實時的、可在線訓練的、端到端精細化短時客流識別與預測模型(Detect-Predict)。Detect-Predict 模型通過輸入軌道交通站內場景下的監控視頻數據,統計過去每5 min 此場景下通過的客流時間序列,并實時預測未來5 min的客流量。并且,模型采用借助稀疏化訓練進行通道剪枝的方式對目標檢測算法進行壓縮,同時采用處理輸入視頻每秒傳輸幀數(Frames Per Second,FPS)的方法,使得模型同時滿足了實時性與準確性的要求,可以部署應用到軌道交通站內的相應場景。

1 問題描述

為了進行精細化短時客流識別與預測,需要對視頻中的乘客進行目標檢測和目標跟蹤,以獲取乘客數量以及客流時間序列,將訓練后的YOLOv5目標檢測算法表示為f1(x),將Deep SORT目標跟蹤算法表達式簡化為f2(x),將LSTM 短時客流預測算法的表達式簡化為f3(x)。利用獲取的客流時間序列進行預測,Detect-Predict 模型可表示為:

式中:X為監控視頻數據;Y為當前場景下的短時客流預測結果;f1為訓練后的YOLOv5目標檢測算法;f2為Deep SORT 目標跟蹤算法;f3為LSTM 短時客流預測算法。

對于目標檢測算法f1,將采集到的每張圖片及其標注作為算法的訓練集P(i,mi,xmi,ymi,wmi,hmi)。其中,i最大取圖片總數量n=2 428;mi為第i張圖片上標注的檢測目標數量;xmi,ymi,wmi,hmi分別表示第i張圖片、第mi個標注目標的中心點坐標以及檢測框的寬和高。使用P(i,mi,xmi,ymi,wmi,hmi)訓練YOLOv5目標檢測算法,得到適用于軌道交通站內場景、檢測目標為乘客頭部的YOLOv5算法,YOLOv5算法訓練前后可表示為:

式中:f′1為訓練前的YOLOv5 算法;f1為訓練后的YOLOv5算法。

利用訓練后的YOLOv5 算法f1,得到輸入視頻中每幀圖片內的檢測目標坐標f1(Xj),并將其輸入至Deep SORT目標跟蹤算法f2中,對檢測目標進行逐幀跟蹤,得到乘客的運行軌跡,進而對視頻中的乘客數量進行統計,得到統計結果yj。因此,以監控視頻數據X作為輸入,借助目標檢測算法f1與目標跟蹤算法f2,可得到客流時間序列識別結果:

式中:Xj為第j個時間段的監控視頻數據;yj為第j個時間段內的客流識別統計結果。本文以5 min 為時間粒度進行客流統計。

最后,將多個時間段的客流識別與統計結果作為客流時間序列,輸入至LSTM短時客流預測模型f3中,可得到當前場景下的精細化短時客流預測結果:

式中:t為歷史時間步,采用8個歷史時間步;Y為未來1個時間步的客流預測結果。利用實時的客流統計結果,對LSTM 短時客流預測模型f3進行在線訓練并微調,以提升LSTM 算法的實時在線預測精度。

2 模型構建

2.1 Detect-Predict模型框架

基于計算機視覺的軌道交通站內精細化短時客流識別與預測模型的整體結構如圖1所示。

圖1 Detect-Predict模型框架Fig.1 Diagram of the Detect-Predict model

在構建端到端的精細化短時客流識別與預測模型前,利用閘機口、樓扶梯口、換乘通道、站臺等處拍攝并標注乘客頭部的圖片數據集訓練YOLOv5目標檢測算法,使得模型能夠在軌道交通站內場景下進行乘客頭部檢測。其次,對模型進行剪枝壓縮,以滿足實時性及模型部署要求。然后,利用訓練并剪枝優化后的YOLOv5 目標檢測算法,進行乘客數量統計以及客流時間序列提取。最后,利用提取的客流時間序列訓練LSTM 模型,得到預訓練后的短時客流預測模型。

模型總體輸入軌道交通站內各場景下的監控視頻,輸出精細化的短時客流預測結果,并通過不斷的在線訓練,提升模型的預測效果。為了平衡識別精度與處理速度,該模型首先將輸入視頻處理為30 fps,并輸入以頭部為檢測目標的YOLOv5 算法,檢測視頻中每幀圖片的目標。其次,將檢測完畢的、帶有檢測框的每幀檢測結果依次輸入到Deep SORT 目標跟蹤算法中,獲取每位乘客的運行軌跡,并根據運行軌跡統計5 min 時間粒度下視頻中的乘客數量。目標檢測和目標跟蹤部分共同構成客流識別算法。最后,將上述客流識別算法輸出的客流時間序列實時輸入到LSTM算法中,進行精細化短時客流預測并在線訓練與微調,以提升LSTM算法的后續預測精度。

2.2 乘客數量統計以及客流時間序列提取算法

首先,對各場景下的客流數量進行識別和統計。利用站內已有視頻監控,借助計算機視覺領域的YOLOv5 目標檢測算法和Deep SORT 目標跟蹤算法,根據每位乘客在畫面中的通行情況統計乘客數量。視頻中存在乘客之間互相遮擋問題,由于軌道交通站內視頻監控的視角通常較高,頭部遮擋情況較輕,因此將檢測目標設置為乘客的頭部,以減少畫面中乘客密集時互相遮擋對檢測精度的影響。

YOLOv5目標檢測算法是對YOLO系列算法的輕量化改進和對檢測速度的進一步優化,既有的方法不能在站內的具體場景內做細粒度檢測。YOLOv5具有檢測精度高的屬性,且能夠滿足檢測的實時性,因此選取YOLOv5 作為模型中的目標檢測算法。

Deep SORT 跟蹤算法是在以乘客頭部為目標的檢測算法的基礎上,對輸入每幀圖片中的乘客進行重識別,從而獲得乘客的運行軌跡。其中,Deep SORT 的核心算法是卡爾曼濾波算法和匈牙利算法,卡爾曼濾波算法用于對下一幀的目標檢測框進行預測,匈牙利算法用于級聯匹配和IoU匹配。通過不斷的預測和匹配過程,得到乘客的運行軌跡??紤]到算法落地需要模型部署和移植,對YOLOv5 算法進行壓縮。采取通道剪枝(Network Slimming)的方法[14]對YOLOv5 算法進行剪枝和緊湊。剪枝的整體步驟如圖2所示。

圖2 剪枝整體流程Fig.2 Process of pruning

剪枝的具體流程為:對YOLOv5 算法進行正常訓練得到能夠檢測乘客頭部的初始網絡;對初始網絡的Batch Normalization(BN)層進行剪枝;稀疏訓練,改變BN 層參數的權重分布,使其均值趨向于0;對參數趨向于0 的BN 層進行剪枝,算法參數減少;微調,使得算法的精度回升,壓縮工作完成。

將剪枝完成后更緊湊的YOLOv5 目標檢測算法與Deep SORT 目標跟蹤算法組合用于乘客數量統計,將不同時間段統計的乘客數量組合成客流時間序列。規定乘客檢測框左側中點處為檢測撞線點,如圖3中乘客檢測框的左側標定點。在監控畫面中設置2 條橫向的居中檢測線,如圖3 中標號分別為1 和2 的橫線。根據乘客運行軌跡的標定點通過畫面中橫向檢測線的順序判斷畫面中乘客的通行方向和數量,具體為,標定點依次通過2條檢測線則相應通過方向乘客數量計數增加一個單位。例如,ID號為41的乘客標記點先通過1線再通過2線,則下行方向Down 的數量加1。最終以此輸出5 min 時間粒度下乘客通行數量的時間序列數據,實時輸入后續短時客流預測算法中。

圖3 客流識別Fig.3 Passenger flow extraction

2.3 短時客流預測算法

利用以5 min 為時間粒度的客流時間序列,構建LSTM 短時客流預測算法。LSTM 算法可以在一定程度上解決長期依賴問題。將實時提取的客流時間序列不斷輸入LSTM 算法中,對LSTM 算法進行實時在線訓練并預測輸出未來客流時間序列。至此,完整的基于計算機視覺的端到端軌道交通站內精細化短時客流識別與預測模型構建完畢。

3 實驗及分析

本節對實驗環境及數據集進行簡介,對Detect-Predict模型以及實驗結果進行分析。

3.1 實驗環境及數據簡介

1) 實驗環境

實驗平臺為64 位win10 服務器,CPU 為i9-10900X,GPU 為RTX3080,配置CUDA10.0+Anaconda3,使用PyTorch深度學習框架1.9.0版本。

2) 目標檢測數據集簡介

拍攝北京地鐵某站站內閘機口、樓扶梯口、換乘通道、站臺等處2 428 張圖片,標注其中共45 983個檢測目標作為軌道交通站內場景下的乘客頭部數據集,用于訓練YOLOv5 目標檢測算法。拍攝的部分場景如圖4 所示,畫面內乘客角度豐富:圖4(a)中閘機口乘客較分散,沒有明顯分布規律,學習到的特征集中于檢測目標本身;圖4(b)中換乘通道1的乘客大多背對攝像頭,學習到的特征角度多樣化;圖4(c)中換乘通道2 的乘客十分密集,算法更能適應密集場景下的目標檢測。使用LabelImg 準確標注數據集中的每個乘客頭部。圖4中的方框為標注結果。以此數據集訓練目標檢測算法可以提高其在不同角度、不同尺度等方面檢測乘客頭部的準確性。

3) 精細化短時客流識別與預測模型數據簡介

此處使用拍攝的北京地鐵某站某樓扶梯口的視頻數據??紤]到視頻數據體積龐大,同時為避免周內各天客流規律不同對實驗結果造成影響,選取連續5 個周五且在客流數量最多的早高峰6:30—9:30拍攝視頻數據,每日視頻時長為180 min,視頻分辨率為1 080 P。按照5 min時間粒度統計下行方向通過檢測線的乘客數量,每日生成36 個早高峰客流時間序列。其中,視頻中的真實人數由人工計數確定。

客流識別時間不能超過視頻本身時長,否則會影響識別的實時性。同時,視頻幀數越高,識別結果越接近真實值,但是識別的時間越長。因此,為了平衡客流識別的實時性與準確性,將一段5 min 的視頻數據處理成如圖5 所示的12 個不同幀數下的視頻,統計該幀數下對應的識別時間以及識別結果,該5 min 視頻內的真實乘客人數為112 人。由圖5 可知,隨著視頻幀數的增加,識別時間相應增長,識別結果更加準確,當視頻幀數為30 fps,即圖5 中加大圓點處時,識別時間小于5 min,能夠滿足實時性要求,選取30 fps 的視頻作為精細化短時客流識別與預測模型的輸入。

圖5 幀數選擇對識別時間與識別結果的影響Fig.5 Influence of frame number selection on recognition time and recognition results

為驗證將視頻幀數處理為30 fps是否滿足客流識別的實時性,使用本研究拍攝的視頻數據對客流識別的實時性進行驗證。將總時長為900 min 的視頻數據劃分為180 個時長為5 min 的視頻,將視頻幀數批量處理為30 fps,并依次輸入客流識別模型中統計單個視頻的識別時間。結果表明,在視頻幀數為30 fps 的情況下,客流識別的時間均在5 min 以下,識別的平均時間為272 s,部分視頻的識別結果如表1所示。因此,客流識別能夠滿足實時性的要求,時長為5 min 的視頻均可在5 min 以內識別完畢。

表1 60 fps與30 fps識別時間及準確率對比Table 1 Comparison of recognition time and accuracy between 60 fps and 30 fps

3.2 乘客數量統計以及客流時間序列提取算法

1) 正常訓練

訓練YOLOv5 的目標檢測算法,迭代次數epoch 為300,得到軌道交通站內場景下乘客頭部檢測的權重。在交并比IoU 為0.5 的情況下目標檢測算法的精確率Precision 為0.912,召回率Recall為0.779,平均精度mAP為82.1%。

精確率的計算公式為:

4.教學考核體系不完善。目前空乘專業學生的考核還是沿襲高校學校教學管理部門統一的評估體系,不利于加強空乘專業學生教學過程的控制與管理。第一,所有專業學生大學英語課程統一考試,沒有考慮到學生基礎的差異性;第二,各專業培養目標不同,學生特點不同,考核形式和內容也應體現個性化特征。對于空乘專業的學生,應該加強教學過程的控制,提高平時的分數比例,結合其到課情況、課堂表現、學習效果給予及時、客觀的評價,以提高其學習的信心和積極性。

其中:TPA為乘客頭部被正確檢測的數量;FPA為將背景錯誤地識別為乘客的檢測數量。

召回率的計算公式為:

其中:FNA為將乘客頭部錯誤地檢測為背景的數量。

訓練后算法的可視化結果如圖6所示,其中檢測框為模型的檢測結果。該結果顯示軌道交通站內多個場景的檢測效果較好,正對、背對鏡頭的乘客能夠得以識別,密集通道處的遮擋乘客也得到了較好的識別。這表明該檢測算法可以滿足統計乘客數量以及提取客流時間序列的需求。

圖6 目標檢測效果Fig.6 Example of object detection effect

2) 稀疏訓練

以上述正常訓練得到的YOLOv5 作為初始網絡,對其BN 層的權重γ進行稀疏化處理,其中正則系數λ設置為0.000 1。未進行稀疏訓練時,初始網絡的權重γ值隨訓練迭代次數epoch 的分布如圖7(a)所示,隨著訓練迭代次數的增加,權重γ始終接近均值為1 的正態分布,其中幾乎沒有接近0的權重參數,因此可用于剪枝的BN 層較少,難以達到模型壓縮的效果。對網絡進行稀疏化訓練后,權重γ值隨訓練迭代次數epoch 的分布如圖7(b)所示,BN 層的參數隨著訓練迭代次數的增加,權重分布的均值逐漸趨向于0,因此,存在較多權重的取值接近于0,可用于剪枝的BN 層較多,滿足剪枝條件,剪枝后能夠達到模型壓縮的效果。

圖7 正常訓練與稀疏訓練的γ值分布Fig.7 Distribution of γunder normal training and sparsity training

3) 模型剪枝及微調

隨著訓練次數的增加,越來越多的權重γ值接近于0。將權重γ值接近于0 的BN 層從網絡中刪除,從而達到剪枝壓縮的目的。

經過微調,剪枝前后的模型效果對比如表2所示。由表2可知,剪枝的所有步驟完成后,目標檢測算法的mAP 上升了一個百分點,權重文件和參數數量均得到了較好的壓縮。將剪枝后的乘客頭部檢測算法與Deep SORT 目標跟蹤算法相結合構成客流識別算法,用于統計乘客數量以及提取客流時間序列,其中Deep SORT 算法已在大型行人重識別數據集上訓練完畢,適用于對乘客頭部進行追蹤。

表2 剪枝前后模型對比Table 1 Model comparison before and after pruning

4) 客流識別算法實驗結果

以某樓扶梯口下行方向乘客的統計為例,利用客流識別算法對該場景下的乘客數量進行統計。每5 min 輸出一次統計結果,得到以5 min 為時間粒度的時間序列數據。將連續5個周五的早高峰視頻數據統計與識別結果進行可視化,如圖8 所示。結果顯示算法識別結果與真實值接近,滿足預測需要。

此外,該算法在該樓扶梯口連續5個周五的早高峰6:30—9:30的視頻數據上進行測試,得到算法準確率為99.48%。準確率Accuracy 的計算如式(7)所示。

其中:TPB為乘客被正確識別且計數的數量;TNB為非乘客沒有被計數的數量;FPB為假陽性,即非乘客被錯誤識別并計數的數量;FNB為假陰性,即乘客被錯誤識別且并未得到計數的數量。

3.3 精細化短時客流預測

利用上述識別的客流時間序列,構建基于LSTM 的短時客流預測模型,取80%的數據為訓練集,學習率為0.002,迭代次數epoch 為1 500。剩余20%的數據為測試集,用于端到端的Detect-Predict 模型的測試,該模型預測結果的均方根誤差RMSE 為11.07,平均絕對誤差MAE 為8.02,加權平均絕對誤差百分比WMAPE 為12.57%,預測結果如圖9所示。預測結果能基本擬合真實結果,說明Detect-Predict 模型具有較好的短時客流預測效果。

4 結論

1) 當視頻取30 fps時,短時客流識別算法能夠同時滿足實時性與準確性要求。

2) 采用的通道剪枝方法能夠有效降低模型體積和參數量,節省計算資源,使得剪枝后的模型權重文件大小由14.4 M 減小到2.9 M,參數數量由706萬減少到139萬。

3) 提出的端到端的Detect-Predict 模型中,識別部分的準確率Accuracy 為91.0%,召回率Recall為78.0%,平均精度mAP 為82.1%,預測部分的RMSE 為 11.07,MAE 為 8.02,WMAPE 為12.57%。精細化短時客流識別與預測效果均較好,可用于部署應用,掌握軌道交通站內微觀客流變化規律,從而進行精細化客流監控和運營管理。

Detect-Predict模型為軌道交通站內的精細化客流統計和預測提供了理論方法,但由于軌道交通站內場景具有復雜多樣性,模型精度可能受監控設備的分辨率、乘客的重疊程度等外部因素影響。在此基礎上對輸入視頻和模型精度的影響關系進行探究,有望實現精度更高、魯棒性更強的軌道交通站內精細化短時客流的識別與預測。

猜你喜歡
剪枝客流乘客
客流增多
人到晚年宜“剪枝”
嫦娥五號帶回的“乘客”
基于YOLOv4-Tiny模型剪枝算法
最牛乘客
剪枝
車上的乘客
高鐵丟票乘客索退款被駁回
基于自學習補償的室內定位及在客流分析中的應用
人工免疫算法在電梯客流時段劃分的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合