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