?

基于改進的YOLOX-SORT算法公交客流實時檢測方法

2022-11-21 05:28劉曉雷張維忠張宏峰
關鍵詞:上車卡爾曼濾波客流

劉曉雷 張維忠 張宏峰

(1.青島大學計算機科學技術學院,山東 青島 266071;2.青島大學威海創新研究院,山東 威海 264200;3.青島點之云智能科技有限公司,山東 青島 266071)

精確的公交客流量數據對智能交通具有重要意義,可以更好地了解每個時間段、每路公交車及每個車站的人流量,幫助公交調度人員更及時準確地調度,幫助公交線網規劃人員更科學合理的線網規劃,使公共資源得到更充分的利用,提高用戶乘車體驗,為城市綜合交通體系規劃與評價提供基礎數據。近年來,許多學者對該領域進行深入研究,但實際應用中存在一定局限性。A.J.KOTZ等人[1]使用光電開關獲取公效客流信息,但無法判斷兩人并排上車的情況:丁高峰[2]利用壓力傳感器統計公交車客流量,但壓力傳感器容易損壞,且維護成本高。以上2種方法在擁擠情況下表現較差,現已基本被淘汰。張國林等人[3-5]通過乘客攜帶電子設備的無線通信技術、藍牙或媒體存取控制(media access control address,MAC)地址等信息,定位乘客大致位置,獲取上下車人數,但這些技術目前也存在著諸多挑戰,如有些乘客不攜帶或攜帶多個電子設備,易受公交車外電子設備的干擾,許多設備提供虛假的動態MAC地址等。陳天宇等人[6-7]用深度圖像去噪算法研究,但結構光相機和飛行時間相機成本較高,雙目相機圖像易受紋理影響,無法保證穩定性;Y.W.HSU 等人[8-9]使用彩色圖像,利用傳統的數字圖像處理方法,但由于場景復雜,該方法通常不能獲得較高的準確率。近年來,深度學習發展較快,目標檢測模型準確率不斷提高,同時也提出了許多部署在移動端的網絡,為采用彩色圖像獲取較高準確率的客流數據提供可能。彩色圖像成本低,且不需要昂貴的深度相機,甚至可以使用公交車已有的監控視頻,光照不敏感,通過訓練可以實現在強光或光線不足的情況下正確統計客流量等優點。N.WOJKE等人[10-11]提出Tracking-by-detection的多目標跟蹤方法;WANG Z 等人[12-15]提出基于檢測和跟蹤聯合的多目標跟蹤方法;SUN P等人[16-17]提出基于注意力機制的多目標跟蹤方法,這些方法可得到較高精確率但實時性較差,基本無法在移動端運行?;诖?本文使用青島公交車內的視頻監控,以實時多目標跟蹤算法SORT 為基礎,結合目標檢測網絡YOLOX,并根據檢測公交客流的場景進行改進,實驗表明,改進的YOLOX-SORT 滿足實際應用的需求。

1 改進的YOLOX-SORT算法

本文從4個方面對YOLOX-SORT 算法進行改進。第一種改進方法是調整SORT 算法的結構,使SORT 算法的預測結果可被目標檢測網絡使用;第二種改進方法是將YOLOX[18]中Focus結構更換為普通的卷積層,使算法更容易部署在移動端;第三種改進方法是將Sigmoid-BCELoss損失函數更換為Focal Loss損失函數[19],緩解正負樣本不均勻,同時有利于學習復雜樣本;第四種改進方法是針對公交客流的場景調整了數據增強策略。

1.1 SORT算法的改進

在一次運動模型目標預測方面,基于SORT 算法具有較好的準確性,本文將SORT 算法的預測信息與當前圖像送入目標檢測網絡,提高目標檢測網絡的精確率。改進的SORT 算法流程圖如圖1所示。

圖1 改進的SORT算法流程圖

在視頻流中,卡爾曼濾波器利用第k-1幀圖像的相關參數預測第k(k≠1)幀圖像中目標的位置信息,將預測結果生成目標位置掩膜(蒙版),與第k幀圖像按不同權重疊加,將疊加后的圖像送入YOLOX 進行目標檢測,Kuhn-Munkres算法將卡爾曼濾波器的預測結果與YOLOX 的檢測結果進行匹配,并根據情況為YOLOX檢測結果中的目標框分配ID,最后利用Kuhn-Munkres算法匹配后的結果更新卡爾曼濾波器的相關參數,為預測第k+1幀中目標位置做準備,同時利用目標軌跡判斷乘客上下車行為。預測信息與當前幀融合過程如圖2所示。圖2a為卡爾曼濾波器根據k-1幀中目標的信息,預測目標在第k幀中的位置,以紅色半透明區域(蒙版)體現目標的位置和大小;圖2b為第k幀圖像;圖2c為圖2a和圖2b按3∶7權重疊加結果。

圖2 預測信息與當前幀融合過程

1.2 Focus結構的改進

圖像在進入YOLOX主干網絡之前會經過Focus結構,Focus結構如圖3所示。將圖片的行和列進行間隔像素采樣,形成新圖片,在不損失信息量的情況下,將通道擴充4倍,相當于下采樣功能。由于Focus非常規運算的結構不利于網絡在移動端部署,因此將Focus結構替換為卷積核大小為2,步距為2的普通卷積層。

圖3 Focus結構

1.3 損失函數的改進

自建數據集中,59%的圖像中目標數未超過3人,導致計算目標損失時出現正負樣本之比小于1/4的情況,為緩解正負樣本和難易樣本不均衡問題,本文將原來的Sigmoid-BCELoss更換為Focal Loss,更換后準確率上升了0.9%。實驗參數r為1.5,α為0.25時,效果最優。Focal Loss的計算公式為

式中,y′為預測值,取值為0~1;α和r為超參數,r與均衡正負樣本相關,α與加強對難樣本的學習相關。

1.4 數據增強

使用卡爾曼濾波器預測的結果作為蒙版,如圖2a所示,將蒙版疊加在原圖作為訓練的數據集如圖2c所示,由于公交車內攝像機安裝高度有限,不會出現目標過大或者過小的情況,因此修改Mosaic數據增強過程中原圖的隨機縮放比例。同時,為提高目標被遮擋情況下的準確率,在Mosaic數據增強過程中對原圖進行隨機裁剪再拼接,最終將訓練圖像尺寸調整為416×416。通過隨機增強和降低亮度來模擬強光和光線不足的情況,解決在特定場景下數據集缺乏問題,提高網絡的魯棒性。數據增強后效果如圖4所示,圖4a為模擬現實中陽光較強的場景,如夏季正午,圖4b為模擬現實中光照不足的場景,如傍晚或夜間。

圖4 數據增強后效果

2 實驗與結果分析

2.1 運行環境與數據集

本文網絡訓練硬件環境為Intel Xeon Gold 5118、64 GB內存、Tesla V100-PCIE 顯存16 GB;軟件環境為在Ubuntu 18.04.3 LTS操作系統下,使用Py Torch深度學習框架;程序運行的硬件環境為雙Cortex-A72大核、四Cortex-A53小核處理器、ARM Mali-T860 MP4四核圖形處理器(graphics processing unit,GPU)、神經網絡處理器(neural-network processing unit,NPU)算力3TPOS、LPDDR3 6 GB 內存(NPU 2 GB +CPU 4 GB)。

自建數據集來自青島公交公司監控視頻,公交車監控圖像如圖5所示。視頻包括夏季和冬季、客流高峰期與低谷期、一天中的多個時段,與實際情況相符。視頻選取3 237人次上下車,其中2 580人次作為訓練集,657人次作為驗證集,圖中均為俯視視角,目的是減少遮擋帶來的ID 交換問題,同時,選取人頭作為識別目標,進一步緩解遮擋問題。

圖5 公交車監控圖像

2.2 實驗過程

使用余弦退火衰減策略動態調整學習率,設置最小學習率為0.05,將訓練好的PTH 格式的模型轉化為開放神經網絡交換(open neural network exchange,ONNX)格式,再使用RKNN Toolkit,將ONNX 格式的模型轉化成可以在NPU 上加速的RKNN 格式的模型,最后在移動端使用RKNN 庫中的相關接口,加載和使用RKNN 格式的模型,最終實現利用NPU 加速推理的過程。

2.3 實驗結果分析

本文對YOLOX-SORT 進行了3 種改進(下文將經過3 次改進的 YOLOX-SORT 稱為“改進的YOLOX-SORT”),最終在自建數據集上實驗驗證,改進的YOLOX-SORT 比原YOLOX-SORT 精確率提高了4.8%,召回率提高5.5%。不同方法的精確率與召回率實驗結果如表1所示,其中方法1是在YOLOXSORT 的基礎上,使用調整后的Mosaic數據增強;方法2在方法1的基礎上將Sigmoid-BCELoss替換為Focal Loss;方法3在方法2的基礎上改進SORT 算法。

表1 不同方法的精確率與召回率實驗結果

在150輪的訓練過程中,精確率與召回率變化過程如圖6所示。由圖6可以看出,精確率大約都在75輪時收斂,召回率大約都在70輪時收斂。

圖6 精確率與召回率變化過程

原YOLOX-SORT 算法與改進的YOLOX-SORT 算法的多目標跟蹤[20](multiple object tracking,MOT)指標對比如表2所示,當目標正確匹配軌跡次數大于軌跡長度的80%時,認為該軌跡被正確檢測;當目標正確匹配軌跡次數小于軌跡長度的20%時,認為該軌跡被錯誤檢測。其中MT(mostly tracked)指檢測正確的軌跡數量占總軌跡數量的比值,值越高越好;ML(mostly lost)指檢測錯誤的軌跡數量占總軌跡數量的比值,值越小越好;FP(false positive)指真實情況中不存在目標,跟蹤算法誤檢出目標存在;FN(false negative)指真實情況中存在目標,跟蹤算法漏檢;IDsw(ID switch)指目標ID切換次數;多目標跟蹤準確率(multiple object tracking accuracy,MOTA),即AMOT,可以較好地反映跟蹤準確度。其計算公式為

表2 原YOLOX-SORT算法與改進的YOLOX-SORT算法的MOT指標對比

式中,GT(ground truth)為真實目標框數量;t表示視頻流中的第t幀。

本文對比了不同方法在移動端部署YOLOX-SORT 算法的檢測幀率,實驗1將算法直接部署在移動端,利用CPU 進行推理,檢測幀率為4幀/s;實驗2將算法轉化為ONNX格式,利用NPU 進行加速推理,檢測幀率為19幀/s;實驗3在實驗2的基礎上將Focus替換為普通卷積層,檢測幀率為20 幀/s。實驗表明,使用NPU 進行加速推理可使推理速度提升近5倍,將Focus替換為普通卷積層也能將推理速度提升1幀/s。

算法檢測效果如圖7所示。圖中黃色半透明區域為識別區,當目標軌跡從下至上穿過識別區,則認為乘客發生下車行為,反之則認為是上車行為。劃定識別區域時應選擇乘客發生遮擋次數少的區域以減少遮擋引起的ID 交換,靠近車門以避免擁擠時乘客在識別區長期停留導致的錯誤計數。紅色半透明區域為卡爾曼濾波器預測結果,藍色框為改進的YOLOXSORT 算法檢測結果。

圖7 算法檢測效果

改進的YOLOS-SORT 算法與其他客流檢測算法比較如表3所示。精確率P和召回率R分別為

表3 改進的YOLOX-SORT算法與其他客流檢測算法比較

其中,TP為被正確檢測的正例,即真實情況中乘客發生上車或下車行為,檢測值也對應為上車或下車行為;TN為被正確檢測的反例,即真實情況中乘客沒有發生上車或下車行為,檢測值也對應為沒有上車或下車行為;FP為被錯誤檢測的正例,即真實情況中乘客發生上車或下車行為,但被檢測為沒有發生上車或下車行為;FN為被錯誤檢測的反例,即真實情況中沒有乘客發生上車或下車行為,但被檢測為乘客發生上車或下車行為。

由表3可以看出,改進的YOLOX-SORT 的各項指標均優于原YOLOX-SORT,在精確率、召回率與YOLOX-DEEPSORT、Center Track相差不大的情況下檢測幀率高于YOLOX-DEEPSORT 和Center Track約2倍。

3 結束語

本文從公交客流統計的實際問題出發,分析了目前各種獲取公交客流數據技術的優缺點,提出一種利用彩色圖像進行實時客流檢測方法。該方法將卡爾曼濾波器預測信息作為目標檢測的依據之一,在特定情況下實現了不增加運算量的情況下提高目標檢測的精確度。實驗結果表明,該方法精確度和速度較為均衡,均能滿足實際需要,此外,該系統也可應用于商圈、景區等,也可推廣至其他多目標在線跟蹤、計數領域,如車流量檢測。下一步的研究重點前門上車乘客與后門下車乘客重識別問題,以獲取每位乘客何時何地上下車及乘車時間、距離等乘車信息,提供更加豐富的客流數據。

猜你喜歡
上車卡爾曼濾波客流
客流增多
剛需看過來!首期14萬起!廣州這個上車盤,你怎么看?
A Study of Code-Switching in the Series Films of Rush Hour
基于遞推更新卡爾曼濾波的磁偶極子目標跟蹤
基于模糊卡爾曼濾波算法的動力電池SOC估計
基于自學習補償的室內定位及在客流分析中的應用
防暈車
Take a Bus
基于擴展卡爾曼濾波的PMSM無位置傳感器控制
人工免疫算法在電梯客流時段劃分的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合