馬海軍,王文中,翟素蘭,2,羅 斌,2*
(1.安徽大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 合肥 230601;
基于卷積神經(jīng)網(wǎng)絡(luò)的監(jiān)控視頻人數(shù)統(tǒng)計算法
馬海軍1,王文中1,翟素蘭1,2,羅斌1,2*
(1.安徽大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 合肥 230601;
近年來,隨著各行各業(yè)對人流量統(tǒng)計需求的不斷增長,國內(nèi)外諸多學(xué)者開始關(guān)注人數(shù)統(tǒng)計系統(tǒng)領(lǐng)域的相關(guān)算法,并有大量的研究成果文章發(fā)表.目前有很多基于無監(jiān)督學(xué)習(xí)的方法來做人數(shù)統(tǒng)計任務(wù),例如基于自相似性方法[1]、基于運(yùn)動相似性方法[2]等.然而,這種基于無監(jiān)督方法的人數(shù)統(tǒng)計計數(shù)精度非常有限.因此,其他學(xué)者開始考慮使用基于有監(jiān)督學(xué)習(xí)的方法做人數(shù)統(tǒng)計研究.這種方法大致分為兩大類:一是基于檢測的方法.這類方法大都基于機(jī)器學(xué)習(xí)的策略,通過有監(jiān)督學(xué)習(xí)得到一個目標(biāo)分類器,然后在圖像中做目標(biāo)分類檢測任務(wù).一般通過檢測圖像中人頭、人臉、行人或前景分割等方法進(jìn)行人數(shù)統(tǒng)計[3-6].文獻(xiàn)[7]提出一種基于人頭檢測的方法做人群計數(shù)的思路,利用機(jī)器學(xué)習(xí)Adaboost[8]方法訓(xùn)練出人頭分類器,但是該方法的目標(biāo)檢測效果在遮擋嚴(yán)重、低分辨率、光照不均等因素影響下,精度很難達(dá)到應(yīng)用的需求.二是基于回歸的方法.這類方法避免了難度較大的檢測問題,使用圖像淺層特征融合,并且配合一種回歸模型來實現(xiàn)圖像特征到圖像包含人數(shù)的映射[9-10].但是人工設(shè)計的特征很難完成復(fù)雜監(jiān)控場景中圖像人群分布特征的描述,導(dǎo)致計數(shù)精度降低.
近年來,大量研究者從人類理解、分析視覺特征的角度出發(fā),研究了學(xué)習(xí)特征,該特征更加符合仿生生物識別過程.現(xiàn)有大量實踐證明,通過CNN學(xué)到的特征優(yōu)于傳統(tǒng)設(shè)計的特征.為了提高網(wǎng)絡(luò)魯棒性,作者標(biāo)注了大量的人群圖像.實驗表明,該算法能在高清圖像實現(xiàn)高效的人數(shù)統(tǒng)計任務(wù),且精度優(yōu)于其他方法.
1卷積神經(jīng)網(wǎng)絡(luò)與嶺回歸結(jié)合的視頻人數(shù)統(tǒng)計算法
對于圖像的處理是深度學(xué)習(xí)算法最早嘗試應(yīng)用的領(lǐng)域.早在1989年,Yann LeCun等提出了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,簡稱CNN)的概念.目前常用的卷積神經(jīng)網(wǎng)絡(luò)指的是除輸入層和輸出層以外,隱層超過一層的卷積神經(jīng)網(wǎng)絡(luò)[11-12].卷積神經(jīng)網(wǎng)絡(luò)是一種多層的監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),隱層的卷積層和池化采樣層是實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)特征提取功能的核心模塊.通過梯度下降法最小化損失函數(shù),對網(wǎng)絡(luò)中的權(quán)值參數(shù)逐層反向傳播進(jìn)行參數(shù)調(diào)節(jié),并采用大量的迭代訓(xùn)練以提高網(wǎng)絡(luò)的精度[13].作者的卷積神經(jīng)網(wǎng)絡(luò)的任務(wù)就是回歸得到人群密度分布特征圖,之后將人群密度分布特征圖作為輸入圖像的特征表示,使用嶺回歸的方法實現(xiàn)圖像特征到人數(shù)之間關(guān)系的映射.
1.1卷積神經(jīng)網(wǎng)絡(luò)回歸人群密度分布特征圖
經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型均含有全連接層,但是全連接層限制了輸入圖像的尺寸且需要大量的權(quán)值數(shù)據(jù),這些因素直接導(dǎo)致了卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和測試效率降低.因此,作者采用了如圖1所示的全卷積神經(jīng)網(wǎng)絡(luò)模型回歸人群密度分布特征圖.該網(wǎng)絡(luò)模型解決了輸入圖像尺寸的限制和模型收斂速度慢等問題.該神經(jīng)網(wǎng)絡(luò)模型共由3層卷積層構(gòu)成.第一層卷積層具有64個9*9*3的卷積核,第二層卷積具有32個5*5*64的卷積核,第三層卷積具有1個3*3*32的卷積核.其中,在每層卷積后利用ReLU函數(shù)進(jìn)行激活,以加速模型訓(xùn)練收斂.模型的輸入圖像大小為72*72,從原始幀中隨機(jī)摳取的256*256大小的圖像塊均需要等比縮放到72*72大小.輸入圖像在經(jīng)過3層卷積后會生成一幅人群密度分布映射的特征圖.該圖中人的分布被高亮突出顯示了,圖中像素值越大表示該處出現(xiàn)人的概率越大.由于要回歸出36*36大小的人群密度分布特征圖,所以其真值也被降采樣到36*36大小.人群密度分布特征圖包含豐富的局部和細(xì)節(jié)信息,所以CNN模型可以學(xué)習(xí)密度映射關(guān)系且能得到一個較好的人群圖像特征表示.
1.1.1損失函數(shù)設(shè)計
作者采用了計算歐幾里得距離作為損失函數(shù),準(zhǔn)確得到了人群密度分布特征圖.損失函數(shù)為
(1)
1.1.2卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練
為了得到人群密度分布特征圖,作者提出了基于卷積神經(jīng)網(wǎng)絡(luò)回歸人頭中心點映射圖的方法,來估計人群密度分布特征圖.卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程如圖2所示.模型訓(xùn)練步驟分為以下3步:
第一步:手工標(biāo)注圖像人頭中心點圖,生成人頭中心分布二值點圖.
第二步:將上一步生成的人頭中心分布二值點圖的亮點位置作為高斯核的中心.以高斯核替代其周邊像素值,若點分布較密集時,其周邊像素值為其覆蓋的高斯核對應(yīng)值的疊加值.人頭中心分布二值點圖經(jīng)過高斯濾波后,生成如圖2中所示的人群密度分布特征圖的真值圖,將其作為網(wǎng)絡(luò)模型的觀察值.
第三步:根據(jù)觀察值和預(yù)測值進(jìn)行歐幾里得損失函數(shù)計算并獲得差值,也就是損失值.將損失值進(jìn)行網(wǎng)絡(luò)反向傳播來更新權(quán)值,不斷迭代最終完成模型訓(xùn)練.
圖1卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
Fig.1The structure of the convolutional neural network
圖2卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練流程圖
Fig.2The training flow of the convolutional neural network
1.2基于嶺回歸模型的人數(shù)統(tǒng)計
為了學(xué)習(xí)到人群密度分布特征圖到圖像中包含人數(shù)的映射關(guān)系,需要大量的訓(xùn)練樣本數(shù)據(jù)與其對應(yīng)人數(shù)真值.假設(shè)圖像中預(yù)測人數(shù)函數(shù)為
(2)
(3)
其中:λ為嶺參數(shù),N表示訓(xùn)練樣本數(shù);Yi表示第i幀圖像中包含人數(shù)的真值.通過嶺回歸訓(xùn)練得到最優(yōu)ω后,由卷積神經(jīng)網(wǎng)絡(luò)模型對任意圖像,求得其人群密度分布特征圖,再通過公式(2)就可以最終求得該幀圖像包含人數(shù)的預(yù)測值,完成人數(shù)統(tǒng)計目標(biāo).
2實驗結(jié)果與分析
作者在某火車站和某步行街視頻數(shù)據(jù)上與兩種不同的人數(shù)統(tǒng)計方法進(jìn)行比較,通過對實驗結(jié)果的對比分析,作者方法更加有效,其人數(shù)統(tǒng)計精度在大部分情況下優(yōu)于其他的人數(shù)統(tǒng)計算法,且效率較高.
2.1實驗設(shè)置
為了方便分析,作者采用兩組從某火車站和某步行街監(jiān)控視頻中獲取的圖像序列進(jìn)行實驗.火車站圖片分辨率為1 920*870,如圖3(a)所示;步行街圖片分辨率為920*560,如圖3(b)所示.為了保證深度學(xué)習(xí)訓(xùn)練的有效性,對兩個場景數(shù)據(jù)分別人工標(biāo)注100幀人群圖像,之后從這200幀已標(biāo)注的圖像中分別隨機(jī)摳取20 000張256*256大小的子圖像,用以學(xué)習(xí)人群密度分布特征圖.同時對標(biāo)注的圖像進(jìn)行旋轉(zhuǎn)與加噪聲處理,提高訓(xùn)練樣本的數(shù)量和多樣性.使用硬件平臺為 i7-4770,3.4 GHz的處理器,內(nèi)存為16 GB,顯卡為GTX980,內(nèi)含GPU,系統(tǒng)為Ubuntu 14.04.卷積神經(jīng)網(wǎng)絡(luò)在Caffe開源框架下實現(xiàn).文獻(xiàn)[10]對比實驗在MATLAB 2013b環(huán)境下實現(xiàn),作者算法和文獻(xiàn)[7]方法對比實驗在Visual Studio 2010環(huán)境下實現(xiàn),并調(diào)用OpenCv庫函數(shù).
圖3兩個不同的場景圖像舉例
Fig.3 Example images in two scenes
計數(shù)效果評判使用平均絕對誤差(mean absolute error,簡稱MAE)與平均相對誤差(mean relative error,簡稱MRE)兩個量度量.MAE和MRE計算公式如下
(4)
(5)
作者實驗中為了得到最優(yōu)嶺參數(shù)λ,選取了多組λ值,并在兩個視頻場景圖像塊集合上進(jìn)行了實驗,分別從某火車站場景和某步行街場景中隨機(jī)摳取的20 000張圖像塊里,各自取16 000個圖像塊.這些圖像塊經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)模型處理后會各自生成16 000張人群密度分布特征圖,將其作為嶺回歸模型的訓(xùn)練集,其余各自的4 000個圖像塊通過卷積神經(jīng)網(wǎng)絡(luò)模型處理后也會各自生成4 000張人群密度分布特征圖,并將其作為嶺回歸模型的測試集.最終以兩組測試集數(shù)據(jù)的MAE大小作為選擇最優(yōu)嶺參數(shù)λ的判斷標(biāo)準(zhǔn).實驗結(jié)果如表1所示.其中MAE_1表示某火車站場景測試數(shù)據(jù)集的MAE結(jié)果,MAE_2表示某步行街場景測試數(shù)據(jù)集的MAE結(jié)果,MAE_avg表示兩個場景測試數(shù)據(jù)集的平均MAE大小.由表1中數(shù)據(jù)可知,當(dāng)λ取值為2的時候,嶺回歸模型整體效果最優(yōu).
2.2對比實驗結(jié)果與分析
為了驗證作者算法的有效性,作者使用兩組視頻圖像分別實現(xiàn)了文獻(xiàn)[7]方法與文獻(xiàn)[10]方法,并與作者算法做了比較.
圖4為文獻(xiàn)[7]中提出的基于Adaboost與梯度方向直方圖特征結(jié)合的人頭檢測方法來統(tǒng)計人數(shù)的實驗結(jié)果.由于監(jiān)控場景中,光照不均、人頭狀態(tài)多樣、遮擋等多種因素干擾,人頭檢測存在部分誤檢與漏檢情況,因而基于人頭檢測的人數(shù)統(tǒng)計方法的精度不高,并且高清圖像下基于多尺度滑動窗策略的目標(biāo)分類檢測步驟比較耗時.
圖4文獻(xiàn)[7]方法人數(shù)統(tǒng)計結(jié)果
Fig.4Crowd counting results by the method in [7]
圖5為文獻(xiàn)[10]方法與作者方法針對不同人群密度分布圖像回歸得到的人群密度分布特征圖的結(jié)果比較.每張圖像最左邊為原始圖像,中間為文獻(xiàn)[10]方法回歸得到的人群密度分布特征圖,最右邊為作者方法回歸得到的人群密度分布特征圖.文獻(xiàn)[10]方法中,以sift特征與嶺回歸模型回歸圖像人群密度分布特征圖,然而作者方法回歸人群密度分布特征圖不是采用現(xiàn)有的人工設(shè)計的特征,而是通過卷積神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)得到的特征,該特征更加符合仿生生物識別過程.從圖5中對比可知,作者方法能夠更加準(zhǔn)確地描述圖像人群密度分布情況,故使用作者方法最終回歸出的人數(shù)精度高于文獻(xiàn)[10]方法.
圖5文獻(xiàn)[10]方法與作者方法得出的人群密度分布對比結(jié)果
Fig.5Density map comparisons between the proposed method and [10]
為了驗證作者算法的可行性,對兩組視頻分別利用文獻(xiàn)[7]方法、文獻(xiàn)[10]方法和作者方法進(jìn)行實驗.從火車站視頻中以25幀為間隔抽取82幀圖像,從步行街視頻中以100幀為間隔抽取21幀圖像,其人數(shù)統(tǒng)計對比結(jié)果如圖6所示,MAE和MRE結(jié)果如表2所示.
由表1可知,對于高清圖像人群密集的情況,運(yùn)用作者方法人數(shù)統(tǒng)計結(jié)果平均絕對誤差(MAE)與平均相對誤差均較小,表明了作者算法人數(shù)預(yù)測效果較好.由圖6實驗結(jié)果對比圖可知作者方法人數(shù)預(yù)測結(jié)果最接近實際人數(shù).文獻(xiàn)[7]方法由于漏檢的原因?qū)е氯藬?shù)預(yù)測結(jié)果普遍偏離并低于實際人數(shù),而文獻(xiàn)[10]方法中sift特征對人群密度分布描述不夠準(zhǔn)確導(dǎo)致人數(shù)預(yù)測結(jié)果普遍偏離并高于實際人數(shù).所以,采用作者方法人數(shù)統(tǒng)計結(jié)果精度較高,比文獻(xiàn)[7]和文獻(xiàn)[10]方法更有效.為了進(jìn)一步驗證作者算法的有效性,在兩組視頻中分別隨機(jī)抽取了兩幀圖像進(jìn)行驗證,如圖7所示.其中GT表示圖像中包含的實際人數(shù),OUR表示作者方法預(yù)測人數(shù).
由圖5可知,作者算法在高清圖像、監(jiān)控視頻、人群密集情況下人數(shù)統(tǒng)計預(yù)測效果較好,方法可行.作者算法也具有較高的處理效率.在分辨率為1 920*870大小的圖像上,文獻(xiàn)[7]方法處理一幀圖像耗時500 ms左右;而作者提出的方法只需耗時50 ms左右,基本可以滿足實時性的要求.作者提出的方法中卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的時間為2 h左右,之后的嶺回歸模型訓(xùn)練時間為8 s左右.所以作者提出的方法學(xué)習(xí)效率也能達(dá)到實際應(yīng)用的需求.
由該實驗可知,作者提出的算法不僅能夠在精度上優(yōu)于其他算法,并且處理高清圖像速度快,效率高,在監(jiān)控視頻中人群密集遮擋嚴(yán)重的情況下也能準(zhǔn)確預(yù)測人數(shù).
圖6在兩個數(shù)據(jù)集上的人數(shù)統(tǒng)計對比實驗結(jié)果
Fig.6Crowd counting results comparison on two datasets
3結(jié)束語
作者提出并實現(xiàn)了基于卷積神經(jīng)網(wǎng)絡(luò)與嶺回歸結(jié)合的監(jiān)控視頻人數(shù)統(tǒng)計算法.該算法通過卷積神經(jīng)網(wǎng)絡(luò)回歸圖像中人頭中心點,從而獲得人群密度分布特征圖,然后使用嶺回歸模型分析人群密度分布特征圖得到該幀圖像對應(yīng)的人數(shù).另外,作者在多組視頻上使用基于卷積神經(jīng)網(wǎng)絡(luò)的人數(shù)統(tǒng)計方法進(jìn)行了測試.實驗結(jié)果表明,該算法具有較高的人數(shù)統(tǒng)計精度和魯棒性.未來,作者將嘗試標(biāo)注更加豐富的行人代表性特征點,豐富訓(xùn)練樣本集,使得本模型在解決人數(shù)統(tǒng)計問題上更加魯棒.
參考文獻(xiàn):
[1]AHUJA N, TODOROVIC S. Extracting texels in 2.1 D natural textures[C]//Computer Vision, 2007, ICCV, IEEE 11th International Conference on IEEE, 2007: 1-8.
[2]RABAUD V, BELONGIE S. Counting crowded moving objects[C]//Computer Vision and Pattern Recognition, IEEE Computer Society Conference on, IEEE, 2006, 1: 705-711.
[3]劉紅, 宋茹, 王保興. 基于個體特征和紋理特征的視頻人數(shù)統(tǒng)計算法[J]. 安徽大學(xué)學(xué)報 (自然科學(xué)版), 2015 (3): 47-50.
[5]ZHANG X, SEXTON G. Automatic human head location for pedestrian counting[C]//Image Processing and Its Applications, Sixth International Conference on, IET, 1997, 2: 535-540.
[6]ZU K, LIU F, LI Z. Counting pedestrian in crowded subway scene[C]//Image and Signal Processing, CISP'09, 2nd International Congress on, IEEE, 2009: 1-4.
[7]SUBBURAMAN V B, DESCAMPS A, CARINCOTTE C. Counting people in the crowd using a generic head detector[C]//Advanced Video and Signal-Based Surveillance (AVSS), IEEE Ninth International Conference on, IEEE, 2012: 470-475.
[8]VIOLA P, JONES M J. Robust real-time face detection[J]. International Journal of Computer Vision, 2004, 57 (2): 137-154.
[9]RYAN D, DENMAN S,SRIDHARAN S, et al. An evaluation of crowd counting methods, features and regression models[J]. Computer Vision and Image Understanding, 2015 (13): 1-17.
[10]LEMPITSKY V, ZISSERMAN A. Learning to count objects in images[C]//Advances in Neural Information Processing Systems, 2010: 1324-1332.
[11]LE C Y. Generalization and network design strategies[C]// Connections in Perspective, North-Holland,Amsterdam, 1989: 143-55.
[12]孫志軍, 薛磊, 許陽明,等. 深度學(xué)習(xí)研究綜述[J]. 計算機(jī)應(yīng)用研究, 2012(8):2806-2810.
[13]GUYON I, ALBRECHT P, LE CUN Y, et al. Design of a neural network character recognizer for a touch terminal[J]. Pattern Recognition, 1991, 24 (2): 105-119.
(責(zé)任編輯朱夜明)
doi:10.3969/j.issn.1000-2162.2016.03.005
收稿日期:2015-03-16
基金項目:國家863計劃資助項目(2014AA015104); 國家自然科學(xué)基金資助項目(61502006,61502003); 安徽省自然科學(xué)基金資助項目(1308085MF97)
作者簡介:馬海軍(1990-),男,安徽合肥人,安徽大學(xué)碩士研究生;*羅斌(通信作者),安徽大學(xué)教授,博士生導(dǎo)師,博士,E-mail: luobin@ahu.edu.cn
中圖分類號:TP311
文獻(xiàn)標(biāo)志碼:A
文章編號:1000-2162(2016)03-0022-07
2.安徽省工業(yè)圖像處理與分析重點實驗室,安徽 合肥 230601)
A surveillance video crowd counting algorithm based on convolutional neural network
MA Haijun1, WANG Wenzhong1, ZHAI Sulan1,2, LUO Bin1,2*
(1.School of Computer Science and Technology,Anhui University, Hefei 230601,China;2.Key Lab of Industrial Image Processing & Analysis of Anhui Province,Hefei 230601,China)
Key words:convolutional neural network; crowd counting; surveillance video; ridge regression
Abstract:Crowd counting in surveillance video is one of the important modern security tasks with high research significance and application value. It has made great progress in recent years, but still has not solved the problems about accuracy of crowd counting in surveillance video and time consuming of high resolution images. Therefore, the crowd counting algorithm by incorporating convolutional neural network and ridge regression was proposed in this paper. We could get the crowd density map from regression of the centers of heads through convolutional neural network, then used ridge regression model to analyze the crowd density map to got the number of people in current frame. The proposed algorithm had been tested on several videos and compared with several classical algorithms. The experimental performance validated the effectiveness of the proposed method.
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);人數(shù)統(tǒng)計;監(jiān)控視頻;嶺回歸