楊亦樂 高瑋瑋 馬曉峰
摘? 要: 為了實現對視頻中的行人進行實時、準確的人數統(tǒng)計,提出了一種基于深度學習的計數方法。首先,通過K-means聚類方法優(yōu)化檢測模型的先驗框;其次,使用實際場景下獲取的行人圖像對深度學習模型YOLO-v3進行訓練;然后利用Deep sort在線多目標跟蹤算法跟蹤多個行人并分別獲取其軌跡;最后通過計數線法判斷行人數量。該方法計數準確率可達89.2%,每幀檢測時間可達65ms,且場景適應性強,魯棒性好,可滿足實時行人計數要求。
關鍵詞: 深度學習;人數統(tǒng)計;多目標跟蹤
【Abstract】: In order to realize real-time and accurate population statistics of pedestrians in video, a counting method based on deep learning is proposed.Firstly, the priori box of the detection model is optimized by k-means clustering method.Secondly, the deep learning model YOLO-v3 is trained by using pedestrian images obtained in real scenes.Then Deep sort online multi-object tracking algorithm is used to track multiple pedestrians and obtain their trajectories respectively.Finally, the number of pedestrians is determined by counting line method.The counting accuracy of this method is up to 89.2%, and the detection time of each frame is up to 65ms. In addition, it has strong scene adaptability and good robustness, which can meet the requirements of real-time pedestrian counting.
【Key words】: Deep learning; People counting; Multi-target tracking
0? 引言
隨著城市化進程加快,各個行業(yè)對行人人數統(tǒng)計的需求與日俱增。近年來,隨著深度學習在圖像處理方面的應用,大大推進了視頻監(jiān)控技術的發(fā)展,利用這一技術,能夠準確分析視頻內容,獲取量化數據,使管理者能做出更加合理與高效的決策。
現有的基于視頻的人數統(tǒng)計系統(tǒng)所采用的算法可以分為3類:基于高斯過程回歸的行人計數方法[1],這類方法復雜度低,但是需要手動調整回歸參數,不適用于多種不同的場景,其魯棒性較差;基于幀差法的計數方法[2],該方法在單一且人群稀疏的場
景下計數效果較好,但是要求視頻拍攝背景穩(wěn)定,對硬件設別要求高,建模復雜,不適用于多種環(huán)境下的計數;基于目標檢測跟蹤的方法[3],這類方法場景適應性強,魯棒性高,但是在人群密集伴隨著嚴重遮擋的情況下檢測效果較弱,其行人計數準確度依賴于目標檢測與跟蹤算法的性能。近年來,也出現了一些通過深度學習對行人計數的方法[4,5],此類方法在傳統(tǒng)的檢測思路的基礎上,提高了在各個步驟上的性能,提升了計數的準確性。
在基于目標檢測的跟蹤方法的基礎上,提出使用YOLO-v3(You Only Look Once) 深度學習模型對行人進行檢測,再使用Deep Sort(Simple Online And Real-time Tracking With A Deep Association Metric)實時多目標跟蹤算法跟蹤檢測出的行人目標,最后再使用過線計數法對行人完成人數統(tǒng)計。
1? 方法
行人人數統(tǒng)計的過程主要包括行人檢測、行人跟蹤和行人計數3個步驟。首先,通過優(yōu)化過的YOLO-v3對視頻中的每一幀進行行人檢測;然后,引入Deep Sort算法對多個行人進行跟蹤,通過跟蹤序號獲取每個行人的運動軌跡;最后,比較運動軌跡與計數線的位置關系,完成行人計數,實現人數自動統(tǒng)計。具體算法流程如圖1所示。
1.1? 行人檢測
為了取得良好的行人跟蹤效果,就要準確、快速的檢測出行人。在目前的目標檢測方法中,使用深度學習的檢測方法在準確度與速度表現上尤為突出。YOLO-v3[6]是一種實時端到端的實時深度學習目標檢測算法,它參照了深度殘次網絡的結構后,在Darknet-19的基礎上添加了殘差單元,并且在卷積層后面增加了批量歸一化來代替隨機去除數據的操作來防止過擬合,在加深了網絡深度的同時,又避免了梯度消失、梯度爆炸、過擬合的問題。將19個卷積層的Darknet-19加深至53個卷積層的Darknet-53,其檢測速度依然滿足實時的要求。YOLO-v3將Darknet-53作為特征提取的骨干網絡,更多的卷積層提供多尺度檢測的基礎,在參考FPN結構后,在3個尺度上進行預測,每個尺度預測有3個不同的先驗框,這使得YOLO-v3無論在大目標還是小目標的檢測上都有一個更好的表現,在行人檢測方面有著不錯的表現。為了更好的檢測行人,提出使用k-means聚類算法以及對實際場景下的行人圖像進行訓練的遷移學習方法優(yōu)化YOLO-v3。
1.1.1? K-means聚類
K-means算法是一種高效、快速的聚類算法,主要用于大樣本數據集。它采用距離作為相似性的評價指標,兩個樣本之間的距離越小,則相似度越高。該算法認為簇是由距離靠近的對象組成的,最終結果是得到k個獨立的簇。