馬海軍,王文中,翟素蘭,2,羅 斌,2*
(1.安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 合肥 230601;
基于卷積神經(jīng)網(wǎng)絡(luò)的監(jiān)控視頻人數(shù)統(tǒng)計(jì)算法
馬海軍1,王文中1,翟素蘭1,2,羅斌1,2*
(1.安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 合肥 230601;
近年來(lái),隨著各行各業(yè)對(duì)人流量統(tǒng)計(jì)需求的不斷增長(zhǎng),國(guó)內(nèi)外諸多學(xué)者開(kāi)始關(guān)注人數(shù)統(tǒng)計(jì)系統(tǒng)領(lǐng)域的相關(guān)算法,并有大量的研究成果文章發(fā)表.目前有很多基于無(wú)監(jiān)督學(xué)習(xí)的方法來(lái)做人數(shù)統(tǒng)計(jì)任務(wù),例如基于自相似性方法[1]、基于運(yùn)動(dòng)相似性方法[2]等.然而,這種基于無(wú)監(jiān)督方法的人數(shù)統(tǒng)計(jì)計(jì)數(shù)精度非常有限.因此,其他學(xué)者開(kāi)始考慮使用基于有監(jiān)督學(xué)習(xí)的方法做人數(shù)統(tǒng)計(jì)研究.這種方法大致分為兩大類:一是基于檢測(cè)的方法.這類方法大都基于機(jī)器學(xué)習(xí)的策略,通過(guò)有監(jiān)督學(xué)習(xí)得到一個(gè)目標(biāo)分類器,然后在圖像中做目標(biāo)分類檢測(cè)任務(wù).一般通過(guò)檢測(cè)圖像中人頭、人臉、行人或前景分割等方法進(jìn)行人數(shù)統(tǒng)計(jì)[3-6].文獻(xiàn)[7]提出一種基于人頭檢測(cè)的方法做人群計(jì)數(shù)的思路,利用機(jī)器學(xué)習(xí)Adaboost[8]方法訓(xùn)練出人頭分類器,但是該方法的目標(biāo)檢測(cè)效果在遮擋嚴(yán)重、低分辨率、光照不均等因素影響下,精度很難達(dá)到應(yīng)用的需求.二是基于回歸的方法.這類方法避免了難度較大的檢測(cè)問(wèn)題,使用圖像淺層特征融合,并且配合一種回歸模型來(lái)實(shí)現(xiàn)圖像特征到圖像包含人數(shù)的映射[9-10].但是人工設(shè)計(jì)的特征很難完成復(fù)雜監(jiān)控場(chǎng)景中圖像人群分布特征的描述,導(dǎo)致計(jì)數(shù)精度降低.
近年來(lái),大量研究者從人類理解、分析視覺(jué)特征的角度出發(fā),研究了學(xué)習(xí)特征,該特征更加符合仿生生物識(shí)別過(guò)程.現(xiàn)有大量實(shí)踐證明,通過(guò)CNN學(xué)到的特征優(yōu)于傳統(tǒng)設(shè)計(jì)的特征.為了提高網(wǎng)絡(luò)魯棒性,作者標(biāo)注了大量的人群圖像.實(shí)驗(yàn)表明,該算法能在高清圖像實(shí)現(xiàn)高效的人數(shù)統(tǒng)計(jì)任務(wù),且精度優(yōu)于其他方法.
1卷積神經(jīng)網(wǎng)絡(luò)與嶺回歸結(jié)合的視頻人數(shù)統(tǒng)計(jì)算法
對(duì)于圖像的處理是深度學(xué)習(xí)算法最早嘗試應(yīng)用的領(lǐng)域.早在1989年,Yann LeCun等提出了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,簡(jiǎn)稱CNN)的概念.目前常用的卷積神經(jīng)網(wǎng)絡(luò)指的是除輸入層和輸出層以外,隱層超過(guò)一層的卷積神經(jīng)網(wǎng)絡(luò)[11-12].卷積神經(jīng)網(wǎng)絡(luò)是一種多層的監(jiān)督學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),隱層的卷積層和池化采樣層是實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)特征提取功能的核心模塊.通過(guò)梯度下降法最小化損失函數(shù),對(duì)網(wǎng)絡(luò)中的權(quán)值參數(shù)逐層反向傳播進(jìn)行參數(shù)調(diào)節(jié),并采用大量的迭代訓(xùn)練以提高網(wǎng)絡(luò)的精度[13].作者的卷積神經(jīng)網(wǎng)絡(luò)的任務(wù)就是回歸得到人群密度分布特征圖,之后將人群密度分布特征圖作為輸入圖像的特征表示,使用嶺回歸的方法實(shí)現(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)練和測(cè)試效率降低.因此,作者采用了如圖1所示的全卷積神經(jīng)網(wǎng)絡(luò)模型回歸人群密度分布特征圖.該網(wǎng)絡(luò)模型解決了輸入圖像尺寸的限制和模型收斂速度慢等問(wèn)題.該神經(jīng)網(wǎng)絡(luò)模型共由3層卷積層構(gòu)成.第一層卷積層具有64個(gè)9*9*3的卷積核,第二層卷積具有32個(gè)5*5*64的卷積核,第三層卷積具有1個(gè)3*3*32的卷積核.其中,在每層卷積后利用ReLU函數(shù)進(jìn)行激活,以加速模型訓(xùn)練收斂.模型的輸入圖像大小為72*72,從原始幀中隨機(jī)摳取的256*256大小的圖像塊均需要等比縮放到72*72大小.輸入圖像在經(jīng)過(guò)3層卷積后會(huì)生成一幅人群密度分布映射的特征圖.該圖中人的分布被高亮突出顯示了,圖中像素值越大表示該處出現(xiàn)人的概率越大.由于要回歸出36*36大小的人群密度分布特征圖,所以其真值也被降采樣到36*36大小.人群密度分布特征圖包含豐富的局部和細(xì)節(jié)信息,所以CNN模型可以學(xué)習(xí)密度映射關(guān)系且能得到一個(gè)較好的人群圖像特征表示.
1.1.1損失函數(shù)設(shè)計(jì)
作者采用了計(jì)算歐幾里得距離作為損失函數(shù),準(zhǔn)確得到了人群密度分布特征圖.損失函數(shù)為
(1)
1.1.2卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練
為了得到人群密度分布特征圖,作者提出了基于卷積神經(jīng)網(wǎng)絡(luò)回歸人頭中心點(diǎn)映射圖的方法,來(lái)估計(jì)人群密度分布特征圖.卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過(guò)程如圖2所示.模型訓(xùn)練步驟分為以下3步:
第一步:手工標(biāo)注圖像人頭中心點(diǎn)圖,生成人頭中心分布二值點(diǎn)圖.
第二步:將上一步生成的人頭中心分布二值點(diǎn)圖的亮點(diǎn)位置作為高斯核的中心.以高斯核替代其周邊像素值,若點(diǎn)分布較密集時(shí),其周邊像素值為其覆蓋的高斯核對(duì)應(yīng)值的疊加值.人頭中心分布二值點(diǎn)圖經(jīng)過(guò)高斯濾波后,生成如圖2中所示的人群密度分布特征圖的真值圖,將其作為網(wǎng)絡(luò)模型的觀察值.
第三步:根據(jù)觀察值和預(yù)測(cè)值進(jìn)行歐幾里得損失函數(shù)計(jì)算并獲得差值,也就是損失值.將損失值進(jìn)行網(wǎng)絡(luò)反向傳播來(lái)更新權(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)計(jì)
為了學(xué)習(xí)到人群密度分布特征圖到圖像中包含人數(shù)的映射關(guān)系,需要大量的訓(xùn)練樣本數(shù)據(jù)與其對(duì)應(yīng)人數(shù)真值.假設(shè)圖像中預(yù)測(cè)人數(shù)函數(shù)為
(2)
(3)
其中:λ為嶺參數(shù),N表示訓(xùn)練樣本數(shù);Yi表示第i幀圖像中包含人數(shù)的真值.通過(guò)嶺回歸訓(xùn)練得到最優(yōu)ω后,由卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)任意圖像,求得其人群密度分布特征圖,再通過(guò)公式(2)就可以最終求得該幀圖像包含人數(shù)的預(yù)測(cè)值,完成人數(shù)統(tǒng)計(jì)目標(biāo).
2實(shí)驗(yàn)結(jié)果與分析
作者在某火車站和某步行街視頻數(shù)據(jù)上與兩種不同的人數(shù)統(tǒng)計(jì)方法進(jìn)行比較,通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的對(duì)比分析,作者方法更加有效,其人數(shù)統(tǒng)計(jì)精度在大部分情況下優(yōu)于其他的人數(shù)統(tǒng)計(jì)算法,且效率較高.
2.1實(shí)驗(yàn)設(shè)置
為了方便分析,作者采用兩組從某火車站和某步行街監(jiān)控視頻中獲取的圖像序列進(jìn)行實(shí)驗(yàn).火車站圖片分辨率為1 920*870,如圖3(a)所示;步行街圖片分辨率為920*560,如圖3(b)所示.為了保證深度學(xué)習(xí)訓(xùn)練的有效性,對(duì)兩個(gè)場(chǎng)景數(shù)據(jù)分別人工標(biāo)注100幀人群圖像,之后從這200幀已標(biāo)注的圖像中分別隨機(jī)摳取20 000張256*256大小的子圖像,用以學(xué)習(xí)人群密度分布特征圖.同時(shí)對(duì)標(biāo)注的圖像進(jìn)行旋轉(zhuǎn)與加噪聲處理,提高訓(xùn)練樣本的數(shù)量和多樣性.使用硬件平臺(tái)為 i7-4770,3.4 GHz的處理器,內(nèi)存為16 GB,顯卡為GTX980,內(nèi)含GPU,系統(tǒng)為Ubuntu 14.04.卷積神經(jīng)網(wǎng)絡(luò)在Caffe開(kāi)源框架下實(shí)現(xiàn).文獻(xiàn)[10]對(duì)比實(shí)驗(yàn)在MATLAB 2013b環(huán)境下實(shí)現(xiàn),作者算法和文獻(xiàn)[7]方法對(duì)比實(shí)驗(yàn)在Visual Studio 2010環(huán)境下實(shí)現(xiàn),并調(diào)用OpenCv庫(kù)函數(shù).
圖3兩個(gè)不同的場(chǎng)景圖像舉例
Fig.3 Example images in two scenes
計(jì)數(shù)效果評(píng)判使用平均絕對(duì)誤差(mean absolute error,簡(jiǎn)稱MAE)與平均相對(duì)誤差(mean relative error,簡(jiǎn)稱MRE)兩個(gè)量度量.MAE和MRE計(jì)算公式如下
(4)
(5)
作者實(shí)驗(yàn)中為了得到最優(yōu)嶺參數(shù)λ,選取了多組λ值,并在兩個(gè)視頻場(chǎng)景圖像塊集合上進(jìn)行了實(shí)驗(yàn),分別從某火車站場(chǎng)景和某步行街場(chǎng)景中隨機(jī)摳取的20 000張圖像塊里,各自取16 000個(gè)圖像塊.這些圖像塊經(jīng)過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型處理后會(huì)各自生成16 000張人群密度分布特征圖,將其作為嶺回歸模型的訓(xùn)練集,其余各自的4 000個(gè)圖像塊通過(guò)卷積神經(jīng)網(wǎng)絡(luò)模型處理后也會(huì)各自生成4 000張人群密度分布特征圖,并將其作為嶺回歸模型的測(cè)試集.最終以兩組測(cè)試集數(shù)據(jù)的MAE大小作為選擇最優(yōu)嶺參數(shù)λ的判斷標(biāo)準(zhǔn).實(shí)驗(yàn)結(jié)果如表1所示.其中MAE_1表示某火車站場(chǎng)景測(cè)試數(shù)據(jù)集的MAE結(jié)果,MAE_2表示某步行街場(chǎng)景測(cè)試數(shù)據(jù)集的MAE結(jié)果,MAE_avg表示兩個(gè)場(chǎng)景測(cè)試數(shù)據(jù)集的平均MAE大小.由表1中數(shù)據(jù)可知,當(dāng)λ取值為2的時(shí)候,嶺回歸模型整體效果最優(yōu).
2.2對(duì)比實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證作者算法的有效性,作者使用兩組視頻圖像分別實(shí)現(xiàn)了文獻(xiàn)[7]方法與文獻(xiàn)[10]方法,并與作者算法做了比較.
圖4為文獻(xiàn)[7]中提出的基于Adaboost與梯度方向直方圖特征結(jié)合的人頭檢測(cè)方法來(lái)統(tǒng)計(jì)人數(shù)的實(shí)驗(yàn)結(jié)果.由于監(jiān)控場(chǎng)景中,光照不均、人頭狀態(tài)多樣、遮擋等多種因素干擾,人頭檢測(cè)存在部分誤檢與漏檢情況,因而基于人頭檢測(cè)的人數(shù)統(tǒng)計(jì)方法的精度不高,并且高清圖像下基于多尺度滑動(dòng)窗策略的目標(biāo)分類檢測(cè)步驟比較耗時(shí).
圖4文獻(xiàn)[7]方法人數(shù)統(tǒng)計(jì)結(jié)果
Fig.4Crowd counting results by the method in [7]
圖5為文獻(xiàn)[10]方法與作者方法針對(duì)不同人群密度分布圖像回歸得到的人群密度分布特征圖的結(jié)果比較.每張圖像最左邊為原始圖像,中間為文獻(xiàn)[10]方法回歸得到的人群密度分布特征圖,最右邊為作者方法回歸得到的人群密度分布特征圖.文獻(xiàn)[10]方法中,以sift特征與嶺回歸模型回歸圖像人群密度分布特征圖,然而作者方法回歸人群密度分布特征圖不是采用現(xiàn)有的人工設(shè)計(jì)的特征,而是通過(guò)卷積神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)得到的特征,該特征更加符合仿生生物識(shí)別過(guò)程.從圖5中對(duì)比可知,作者方法能夠更加準(zhǔn)確地描述圖像人群密度分布情況,故使用作者方法最終回歸出的人數(shù)精度高于文獻(xiàn)[10]方法.
圖5文獻(xiàn)[10]方法與作者方法得出的人群密度分布對(duì)比結(jié)果
Fig.5Density map comparisons between the proposed method and [10]
為了驗(yàn)證作者算法的可行性,對(duì)兩組視頻分別利用文獻(xiàn)[7]方法、文獻(xiàn)[10]方法和作者方法進(jìn)行實(shí)驗(yàn).從火車站視頻中以25幀為間隔抽取82幀圖像,從步行街視頻中以100幀為間隔抽取21幀圖像,其人數(shù)統(tǒng)計(jì)對(duì)比結(jié)果如圖6所示,MAE和MRE結(jié)果如表2所示.
由表1可知,對(duì)于高清圖像人群密集的情況,運(yùn)用作者方法人數(shù)統(tǒng)計(jì)結(jié)果平均絕對(duì)誤差(MAE)與平均相對(duì)誤差均較小,表明了作者算法人數(shù)預(yù)測(cè)效果較好.由圖6實(shí)驗(yàn)結(jié)果對(duì)比圖可知作者方法人數(shù)預(yù)測(cè)結(jié)果最接近實(shí)際人數(shù).文獻(xiàn)[7]方法由于漏檢的原因?qū)е氯藬?shù)預(yù)測(cè)結(jié)果普遍偏離并低于實(shí)際人數(shù),而文獻(xiàn)[10]方法中sift特征對(duì)人群密度分布描述不夠準(zhǔn)確導(dǎo)致人數(shù)預(yù)測(cè)結(jié)果普遍偏離并高于實(shí)際人數(shù).所以,采用作者方法人數(shù)統(tǒng)計(jì)結(jié)果精度較高,比文獻(xiàn)[7]和文獻(xiàn)[10]方法更有效.為了進(jìn)一步驗(yàn)證作者算法的有效性,在兩組視頻中分別隨機(jī)抽取了兩幀圖像進(jìn)行驗(yàn)證,如圖7所示.其中GT表示圖像中包含的實(shí)際人數(shù),OUR表示作者方法預(yù)測(cè)人數(shù).
由圖5可知,作者算法在高清圖像、監(jiān)控視頻、人群密集情況下人數(shù)統(tǒng)計(jì)預(yù)測(cè)效果較好,方法可行.作者算法也具有較高的處理效率.在分辨率為1 920*870大小的圖像上,文獻(xiàn)[7]方法處理一幀圖像耗時(shí)500 ms左右;而作者提出的方法只需耗時(shí)50 ms左右,基本可以滿足實(shí)時(shí)性的要求.作者提出的方法中卷積神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的時(shí)間為2 h左右,之后的嶺回歸模型訓(xùn)練時(shí)間為8 s左右.所以作者提出的方法學(xué)習(xí)效率也能達(dá)到實(shí)際應(yīng)用的需求.
由該實(shí)驗(yàn)可知,作者提出的算法不僅能夠在精度上優(yōu)于其他算法,并且處理高清圖像速度快,效率高,在監(jiān)控視頻中人群密集遮擋嚴(yán)重的情況下也能準(zhǔn)確預(yù)測(cè)人數(shù).
圖6在兩個(gè)數(shù)據(jù)集上的人數(shù)統(tǒng)計(jì)對(duì)比實(shí)驗(yàn)結(jié)果
Fig.6Crowd counting results comparison on two datasets
3結(jié)束語(yǔ)
作者提出并實(shí)現(xiàn)了基于卷積神經(jīng)網(wǎng)絡(luò)與嶺回歸結(jié)合的監(jiān)控視頻人數(shù)統(tǒng)計(jì)算法.該算法通過(guò)卷積神經(jīng)網(wǎng)絡(luò)回歸圖像中人頭中心點(diǎn),從而獲得人群密度分布特征圖,然后使用嶺回歸模型分析人群密度分布特征圖得到該幀圖像對(duì)應(yīng)的人數(shù).另外,作者在多組視頻上使用基于卷積神經(jīng)網(wǎng)絡(luò)的人數(shù)統(tǒng)計(jì)方法進(jìn)行了測(cè)試.實(shí)驗(yàn)結(jié)果表明,該算法具有較高的人數(shù)統(tǒng)計(jì)精度和魯棒性.未來(lái),作者將嘗試標(biāo)注更加豐富的行人代表性特征點(diǎn),豐富訓(xùn)練樣本集,使得本模型在解決人數(shù)統(tǒng)計(jì)問(wèn)題上更加魯棒.
參考文獻(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]劉紅, 宋茹, 王保興. 基于個(gè)體特征和紋理特征的視頻人數(shù)統(tǒng)計(jì)算法[J]. 安徽大學(xué)學(xué)報(bào) (自然科學(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]孫志軍, 薛磊, 許陽(yáng)明,等. 深度學(xué)習(xí)研究綜述[J]. 計(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
基金項(xiàng)目:國(guó)家863計(jì)劃資助項(xiàng)目(2014AA015104); 國(guó)家自然科學(xué)基金資助項(xiàng)目(61502006,61502003); 安徽省自然科學(xué)基金資助項(xiàng)目(1308085MF97)
作者簡(jiǎn)介:馬海軍(1990-),男,安徽合肥人,安徽大學(xué)碩士研究生;*羅斌(通信作者),安徽大學(xué)教授,博士生導(dǎo)師,博士,E-mail: luobin@ahu.edu.cn
中圖分類號(hào):TP311
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1000-2162(2016)03-0022-07
2.安徽省工業(yè)圖像處理與分析重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 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)計(jì);監(jiān)控視頻;嶺回歸