李傲,宗峰
(山東英才學院工學院,山東濟南,250104)
隨著科技進步和社會發(fā)展,計算機視覺技術應運而生,通過計算機視覺技術對人流量大的區(qū)域所采集的信息進行相應的處理與分析,可以給管理者們提供有效的數(shù)據支撐,做出更為合理的決策方案。
本研究旨在一定的區(qū)域內可以根據視頻來統(tǒng)計人流量的情況。在一些人流密集的場所,如:景區(qū)、車站、商場等,監(jiān)測一定時間內的人流情況,目的是為了保障公共安全,同時也具有潛在的商業(yè)價值[1]?,F(xiàn)如今公共場所都裝有攝像頭,易獲取實時的視頻情況,采用基于的視頻的深度學習與目標跟蹤、運動檢測的算法[2],既能方便快速的獲取數(shù)據,又能實時的準確獲取相關的數(shù)據。系統(tǒng)整體結構如圖1所示。
圖1 系統(tǒng)整體結構框圖
R-CNN可以說是最早利用深度學習進行目標檢測的作品,傳統(tǒng)的目標檢測算法在目標檢測算法的檢測準確率一般在百分之30左右,自從R-CNN算法出現(xiàn)之后,目標檢測的準確率被大幅提高到百分之五十以上。Faster-RCNN則是在RCNN的基礎上進行改進,速度更快的目標檢測算法。
Faster-RCNN常常用來解決CV領域里目標檢測的相關問題。過去常常使用selective search產生proposal,再使用SVM之類的分類器進行分類,以此得到目標。這種方法的弊端就是耗時且效果不佳。而神經網絡(NN)具有強大的特征提取的功能,可以用NN來解決此類目標檢測的問題,由此變誕生了Faster-RCNN。
Faster可以通過神經網絡來做region proposal,在fast-RCNN的基礎上使用共享卷積層的方式。卷積后的特征圖也可以用來生成region proposals。通過增加兩個卷積層來實現(xiàn)Region Proposals Networks,一個用來將每個特征圖的位置編碼成一個向量,另一個則是對每一個位置輸出一個objectness score和regressed bounds for k region proposals[3]。
首先利用Selective Search算法使用圖像分割的手段得到一些原始區(qū)域,然后使用各種合并策略將這些區(qū)域合并,從而可以得到一個層次化的區(qū)域結構,我們所需要的物體可能就存在于則和諧結構中。其次,對于每個候選的區(qū)域,使用深度網絡提取其特征將2000候選區(qū)縮放到227×227pixel,然后將候選區(qū)輸入實現(xiàn)訓練好的AlexNet CNN網絡后去4096維的特征得到2000×4096維的矩陣。其次,將這些特征送入每一類的SVM分類器當中,從而判定類別。將這2000×4096維特征與SVM分類器所形成的這20個SVM組成的權值矩陣4096×20進行相乘,獲得2000×20維的平分矩陣。對上述2000×20維度矩陣的每一列(即每個類別)執(zhí)行非最大抑制,建議重復的建議框,并獲得該列中得分最高的建議框。最后使用回歸器精細的修正候選框的位置。對NMS處理后剩余的建議框進一步篩選。接著分別用20個回歸器對上述20個類別中剩余的建議框進行回歸操作,最終得到每個類型的修正后的得分最高的bounding box。如圖2所示,黃色框口表示建議框Region Proposal,綠色窗口表示實際框Ground Truth,紅色窗口表示Region Proposal進行回歸后的預測窗口,可以用最小二乘法解決的線性回歸問題。
圖2 傳統(tǒng)RCNN算法流程
Faster-RCNN在RCNN的基礎上獲得了更大的性能上的優(yōu)化。Faster-RCNN算法的實現(xiàn)的基本流程是首先將獲取到的圖像輸入到神經網絡中從而得到相應的特征圖,然后使用RPN結構生成候選框,從而可以將RPN生成的候選框投影到神經網絡所得到的特性圖上獲得相應的特征矩陣。將得到的特征矩陣通過ROI pooling層縮放到7×7大小的特征圖,接著將所得到的這些特性圖展平通過一系列全連接層的得到預測的結果(RPN+Fast R-CNN)。Faster-RCNN與其前身Fast-RCNN算法十分類似,最大的特點便是用Region Proposal Network來替代SS算法來實現(xiàn)。
聚類算法是一種非監(jiān)督學習算法。聚類是在沒有給定分類的情況下,需要去挖掘數(shù)據的相似性從而對樣本進行分組的一種方法。從理論上來說,相同的數(shù)據組中數(shù)據具有相同的屬性或特征,不同的數(shù)據組中的數(shù)據則不然。聚類算法一般有五種分類:劃分方法(KMeans),層次方法(SAHN),基于密度的方法(MeanShift),基于網格的方法(STING),基于模型的方法(GMM)。本文所使用的方法是基于密度的方法(MeanShift),它是基于密度的方法從密度的角度構造簇類。
MeanShift算法是一種核密度估計法,它不需要任何先驗知識,并且完全依賴于特征空間中采樣點的密度函數(shù)值的計算。對于一組采樣數(shù)據,直方圖方法通常將數(shù)據的值范圍劃分為幾個相等的間隔,并且根據間隔將數(shù)據劃分為幾組。每組中數(shù)據數(shù)量與總參數(shù)數(shù)量之比是每個單位的概率值;核密度估計方法的原理與直方圖方法相似[4],但是使用了附加的核函數(shù)來平滑數(shù)據。使用核函數(shù)估計方法,在充分采樣的條件下,可以逐漸收斂到任何密度函數(shù),即可以估計服從任何分布的數(shù)據的密度[5]。
Meanshitf向量基本形式定義如下:
由于均值漂移算法的快速收斂性,利用mean-shift對已經標記的人進行目標跟蹤,中間通過不斷迭代更新行人目標位置并實時標記。
首先,從未標記的數(shù)據點中隨機選擇一個點作為起始中心點center,以找到以該中心點為半徑的區(qū)域顯示在該區(qū)域中的所有數(shù)據點。我們認為這些點屬于同一群集C,并且也是該群集中記錄的數(shù)據點的數(shù)量加1。以center為中心,計算從center到集合M的每個元素的向量,并將這些向量相加以獲得向量位移。center=center+shift,重復上述步驟,直到shift迭代收斂并且迭代的所有點都歸為C。當當前群集C的中心與另一個現(xiàn)有群集C2的中心之間的距離時,C2和C合并在收斂時設置閾值。否則,將C用作新的群集類。重復直到所有點都標記為已訪問。最后,將具有最高訪問評分的類別用作當前積分集的類別。
Meanshift算法可以自動的決定類別的數(shù)目,不受離異值的影響,沒有局部最小值。但是它在高維空間數(shù)據下表現(xiàn)不佳,無法指定聚類的數(shù)量。
通過樣例視頻人流量監(jiān)測效果。首先,在道路上拍攝一段視頻,然后運行程序進行分析,對于人體的正面,背面,側面以及戴口罩的人體都能正確檢測并對目標進行跟蹤。對一小段視頻進行分析以及目標跟蹤,最終得出正確的結果,人流量監(jiān)測如圖3所示。
圖3 人流量監(jiān)測
通過視頻,我們可以根據對目標監(jiān)測與跟蹤預測,最終經過代碼根據視頻數(shù)據分析得出折線圖和柱狀圖,從而直觀的了解到此時的人流量情況。此系統(tǒng)可在如商場、景區(qū)等人流量較多的公共場所使用,以便于管理人員及時作出決策,防止意外事故的發(fā)生,人流量分析折線圖如圖4所示。
圖4 人流量分析折線圖
本文針對人流量監(jiān)測所用到的主要技術進行闡述,基于深度學習,通過Faster-RCNN模型進行目標監(jiān)測,用meanshift算法對人進行標記,并用跟蹤器對行人進行多目標跟蹤,并使用CamShift進行目標跟蹤并利用卡爾曼濾波器進行預測,以達到對人流量實時監(jiān)測的效果。