王良聰,吳曉紅,陳洪剛,何小海,潘 建,趙 威
(1四川大學(xué) 電子信息學(xué)院,成都610065;2中國(guó)民航局第二研究所,成都610041)
利用現(xiàn)代信息技術(shù)及創(chuàng)新成果,打造宜居、安全、便利、智能的生活環(huán)境,是社會(huì)良性發(fā)展的普遍追求。近年來(lái),大量人口選擇匯集在城市工作、安家,城市單位面積內(nèi)的人口密度越來(lái)越大,因此帶來(lái)了一系列的問(wèn)題,這些問(wèn)題是高效、有序的社會(huì)管理面臨的巨大挑戰(zhàn)。如2020年1月7日,伊朗高級(jí)將領(lǐng)蘇來(lái)曼尼遭遇美方突襲不幸身亡,伊朗民眾紛紛為其送葬,但送葬的過(guò)程中發(fā)生了意外,百萬(wàn)民眾送別時(shí)發(fā)生踩踏事件,至少造成了56人死亡、213人受傷。因此,提前對(duì)人群信息進(jìn)行快速統(tǒng)計(jì),避免嚴(yán)重的公共安全責(zé)任事故發(fā)生是必要的。人群密度估計(jì),需要重點(diǎn)關(guān)注人群的分布信息,然而實(shí)際場(chǎng)景中往往面臨著相似物體(如樹(shù)葉,車輛)的干擾,很難從局部小區(qū)域得出判定;在此情況下,人類的做法是觀察更久,同時(shí)結(jié)合其它的周圍信息進(jìn)行判斷。受此啟發(fā),本文設(shè)計(jì)了雙注意力模塊來(lái)解決這樣的問(wèn)題。由于攝像機(jī)拍攝視角的多樣性和人群位置的復(fù)雜分布,圖像中的人頭尺度是變化多樣的,為了應(yīng)對(duì)視角劇烈變換問(wèn)題,設(shè)計(jì)了一個(gè)多尺度特征融合模塊,來(lái)增強(qiáng)網(wǎng)絡(luò)的多尺度特征提取能力,并融合多尺度信息。本文提出的基于多尺度及雙注意力機(jī)制(Multi-Scale and Dual Attention,MSDA)的小尺寸人群計(jì)數(shù)網(wǎng)絡(luò),實(shí)現(xiàn)端到端的人群計(jì)數(shù)。即輸入單幅圖像,就可以通過(guò)對(duì)生成的密度圖進(jìn)行積分,得到圖像中的人群數(shù)量。本文在Shanghaitech數(shù)據(jù)集和Mall數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),并取得了較好的效果。本文的貢獻(xiàn)主要有以下3點(diǎn):
(1)受KNN自適應(yīng)[1]標(biāo)注方法的啟示,根據(jù)相機(jī)的成像原理以及畫(huà)面的透視畸變,提出了基于透視關(guān)系的密度圖生成方法。
(2)設(shè)計(jì)了一個(gè)多尺度特征融合模塊,以達(dá)到多尺度特征融合及豐富特征信息的目的。
(3)設(shè)計(jì)了空間—通道雙注意力模塊,來(lái)實(shí)現(xiàn)對(duì)無(wú)關(guān)特征的弱化,強(qiáng)調(diào)重要特征。
早期的研究中,采用基于檢測(cè)的方法[2],即使用整體或部分身體特征的檢測(cè),訓(xùn)練一個(gè)分類器,利用從行人中提取到的整體或局部結(jié)構(gòu)來(lái)檢測(cè)行人,從而進(jìn)行計(jì)數(shù)。由于基于檢測(cè)的方法,在背景雜亂且密度高的圖像上,表現(xiàn)性能會(huì)大大降低,因此有人提出了基于回歸的計(jì)數(shù)方法[3],該方法是學(xué)習(xí)一種從特征到人數(shù)的映射。但此方法會(huì)忽略空間信息,還會(huì)受到尺度和視角劇烈變化的影響,導(dǎo)致計(jì)數(shù)能力變差。
近年來(lái),深度卷積神經(jīng)網(wǎng)絡(luò)得到了廣泛應(yīng)用,在人群計(jì)數(shù)方向也取得了顯著的成果。例如,使用深度卷積網(wǎng)絡(luò)直接端對(duì)端生成密度圖的方法[4]。文獻(xiàn)[1]中提出,利用3個(gè)具有大中小的卷積核的神經(jīng)網(wǎng)絡(luò)MCNN,來(lái)分別提取人群中的特征,然后通過(guò)卷積層來(lái)生成密度圖從而進(jìn)行計(jì)數(shù)。文獻(xiàn)[4]中,使用3個(gè)不同的CNN回歸器和一個(gè)分類器來(lái)生成密度圖。Wu等[5]使用反向卷積層,自適應(yīng)的分配權(quán)重給兩個(gè)分支,將計(jì)數(shù)問(wèn)題看做分類,從而來(lái)進(jìn)行人群計(jì)數(shù);Chen[6]等人使用像素級(jí)的注意力機(jī)制對(duì)圖像進(jìn)行分級(jí),使之生成高質(zhì)量的密度圖。
由此可見(jiàn),近年來(lái)有許多學(xué)者針對(duì)人群計(jì)數(shù)這一課題做出了努力。但是大部分的網(wǎng)絡(luò)[7-8],雖然性能不錯(cuò),但還存在一些未能很好解決的問(wèn)題。如,存在特征信息提取不充足,無(wú)法從多個(gè)感受野中提取多尺度信息,也沒(méi)有融合多個(gè)尺度中的特征,達(dá)到豐富細(xì)節(jié)特征的目的;并且無(wú)法排除背景中的干擾,弱化無(wú)關(guān)特征,強(qiáng)調(diào)重要特征,從而來(lái)提升人群計(jì)數(shù)的準(zhǔn)確度?;诖耍疚奶岢隽艘环N基于多尺度及雙注意力機(jī)制的小尺寸人群計(jì)數(shù)網(wǎng)絡(luò)來(lái)解決上述問(wèn)題。
由于本文的任務(wù)對(duì)象主要為小尺寸密集人群,過(guò)深的網(wǎng)絡(luò)將存在過(guò)度的冗余,并且不利于性能特征的遷移。而VGG-16模型深度較小,能夠在保證足夠源域特征的同時(shí)兼顧小尺寸目標(biāo),因此本文模型將VGG-16作為主干網(wǎng)絡(luò)。將VGG-16與提出的多尺度特征融合模塊與空間-通道雙注意力模塊相結(jié)合,來(lái)對(duì)圖像中的小尺寸目標(biāo)進(jìn)行檢測(cè)。
針對(duì)人數(shù)估計(jì),數(shù)據(jù)集[2-3]將畫(huà)面中的行人標(biāo)記分別以頭部某點(diǎn)的位置坐標(biāo)(頭部輪廓幾何中心最佳)的形式保存,即點(diǎn)標(biāo)注形式。采用點(diǎn)標(biāo)注的主要原因:一是大大提高效率,不用過(guò)分地去考慮每個(gè)目標(biāo)精確的尺寸問(wèn)題;二是因?yàn)槿梭w頭部包含的信息較多,并且在高密度人群中,僅僅頭部可見(jiàn)。因此使用點(diǎn)標(biāo)注來(lái)標(biāo)注頭部,是人群估計(jì)中較為普遍的標(biāo)注方式。
假設(shè)目標(biāo)的標(biāo)記坐標(biāo)為pi,則對(duì)圖像中n個(gè)目標(biāo)的總體標(biāo)注函數(shù)為:
對(duì)于點(diǎn)標(biāo)注,文獻(xiàn)[2]中將每個(gè)目標(biāo)的標(biāo)注坐標(biāo)都與二維高斯低通濾波函數(shù)Gσ(P)進(jìn)行卷積操作后,則將形成整體的目標(biāo)密度圖D(p),即:
經(jīng)過(guò)此操作,就可將孤立的點(diǎn)標(biāo)注擴(kuò)散至貼合目標(biāo)頭部輪廓的置信密度分布。若假設(shè)目標(biāo)頭部是圓形,通過(guò)限定二維離散高斯低通濾波函數(shù)的作用區(qū)間和標(biāo)準(zhǔn)差,就可以使得單個(gè)目標(biāo)在此區(qū)間內(nèi)的密度積分求和為1,從而擬合圖像中的具體人數(shù)。
文獻(xiàn)[1]中提出使用KNN算法自適應(yīng)地估計(jì)圖像中目標(biāo)的尺寸,但場(chǎng)景的密集程度并不存在嚴(yán)格劃分標(biāo)準(zhǔn),難以形成一個(gè)統(tǒng)一、可移植的泛化方案。鑒于此,本文根據(jù)相機(jī)成像原理及圖像的透視畸變問(wèn)題,提出了基于透視關(guān)系的密度圖生成方法。由于各成像設(shè)備的陳設(shè)一般都為水平放置,會(huì)導(dǎo)致在同一水平線上的人的尺度大致相同,符合遠(yuǎn)小近大的成像原理,據(jù)此關(guān)系可得出人群分布的位置與圖像上的縱坐標(biāo)呈正相關(guān)。
設(shè)目標(biāo)頭部的尺寸為Px,可得出整體圖像的透視關(guān)系為:
其中,Py表示圖像中的縱坐標(biāo);k表示透射畸變因子;b為偏移因子。k、b為待定系數(shù),可根據(jù)圖像中兩個(gè)縱坐標(biāo)位置不同的目標(biāo)人頭,確定整幅圖像的透視關(guān)系,選擇兩個(gè)縱坐標(biāo)不同的目標(biāo)Px1、Px2,可得:
由公式(4)、式(5)可得出:
依據(jù)此方法即可對(duì)圖像中的人群進(jìn)行標(biāo)注,從而生成密度圖。如圖2所示。其中圖2(a)為Zhang等[3]所提出方法的示意圖,圖2(b)為本文方法的示意圖。由圖中可看見(jiàn),本方法自適應(yīng)的匹配了人頭尺寸。
圖2 不同密度圖高斯核尺寸的效果對(duì)比Fig.2 Comparison of the effect of Gaussian kernel size in different density maps
如圖1所示,本文MSDA模型分為以下4個(gè)模塊:VGG-16特征提取模塊,多尺度特征融合模塊(MFF),空間-通道雙注意力模塊(SCA)及密度圖生成模塊。Fi和Fd為MSDA模型的輸入與輸出,以VGG-16中的部分卷積層及池化層作為基礎(chǔ)結(jié)構(gòu),
圖1 MSDA模型Fig.1 Multi-scale and dual attention mechanism model
在其第4、7、10層分別提取特征進(jìn)行解碼設(shè)計(jì),而后將提取的3個(gè)層的特征分別送入3個(gè)MFF模塊中,1×1卷積之后將輸入的特征進(jìn)行轉(zhuǎn)換并使得通道數(shù)統(tǒng)一,再對(duì)其使用膨脹卷積來(lái)擴(kuò)大感受野,最后進(jìn)行特征融合,并將深層融合的特征作為輸入,傳遞給淺層,可得:
式中,H(·)表示卷積操作;?表示逐像素相乘操作;表示經(jīng)過(guò)MFF層進(jìn)行過(guò)多尺度特征融合的深層輸出特征;Fin是淺層特征和深層特征融合后的多尺度特征。將低層網(wǎng)絡(luò)的融合特征與高層網(wǎng)絡(luò)所提取的特征Fout進(jìn)行逐像素相乘操作,可以使得低高層特征進(jìn)行融合,得到豐富的上下文信息。
經(jīng)過(guò)SCA模塊,使用平均池化、最大池化以及卷積操作達(dá)到對(duì)無(wú)關(guān)特征的弱化及重要特征的強(qiáng)調(diào),最后將特征Fo輸入密度圖生成模塊。首先經(jīng)過(guò)一個(gè)3×3卷積和一個(gè)1×1卷積,再與上一層的特征結(jié)合,重新送入卷積層中;然后通過(guò)2個(gè)3×3卷積,最后使用concat操作對(duì)特征信息進(jìn)行結(jié)構(gòu)化的相加融合,加強(qiáng)特征之間的聯(lián)系,相較于直接特征疊加,大幅減少了特征的通道數(shù)。由此可得:
其中,H(·)表示卷積操作;K(·)表示concat操作;⊕表示逐像素相加操作;分別為第4、7、10層經(jīng)過(guò)SCA模塊的特征。為3層concat之后的最終特征信息層級(jí),將送入1×1卷積層中,得到密度圖Fd。
2.2.1 多尺度特征融合模塊
由于攝像機(jī)拍攝的視角和人群位置的復(fù)雜性,圖像中的人頭尺度是復(fù)雜多樣的,因此想要更準(zhǔn)確的進(jìn)行計(jì)數(shù),就需要進(jìn)行多尺度特征提取。本模塊分別在3個(gè)不同層中的單層特征圖中提取多尺度信息,然后融合提取后的信息。如圖1所示,在MFF網(wǎng)絡(luò)中,首先使用一個(gè)1×1的卷積層對(duì)特征映射的通道進(jìn)行壓縮整合。由于低層網(wǎng)絡(luò)的感受野較小,其語(yǔ)義表征能力弱,因此將整合的低層特征分別送入三個(gè)膨脹率為1、2、3的膨脹卷積網(wǎng)絡(luò)中,可得:
其中,H(·)表示卷積操作;K(·)表示concat操作;D(·)表示膨脹卷積操作及其中的d為膨脹率。Fin經(jīng)過(guò)三列膨脹卷積操作,使用concat操作以及特征級(jí)聯(lián)進(jìn)行多尺度的特征融合,再經(jīng)過(guò)3個(gè)3×3卷積擴(kuò)大感受空間,從更廣的視野非線性判斷各位置的特征取舍;再經(jīng)過(guò)一個(gè)1×1卷積層將特征進(jìn)行轉(zhuǎn)換并使得通道數(shù)統(tǒng)一,得到MFF模塊以此來(lái)擴(kuò)大低層特征中的感受野,將語(yǔ)義表征能力增強(qiáng)。
2.2.2 空間-通道雙注意力模塊(SCA)
一般的注意力模塊只能將原始圖片中的空間信息變換到另一個(gè)空間中,并保留關(guān)鍵信息或解決信息超載問(wèn)題,而無(wú)法在空間和通道上關(guān)注特征和加強(qiáng)聯(lián)系。鑒于此,本文設(shè)計(jì)了一個(gè)空間-通道雙注意力模塊,使用通道注意力網(wǎng)絡(luò),學(xué)習(xí)各通道的依賴程度,并根據(jù)依賴程度對(duì)不同的特征圖進(jìn)行調(diào)整,再結(jié)合使用空間注意力。此舉不僅彌補(bǔ)了通道注意力的某些不足之處,還可以強(qiáng)調(diào)重要特征信息并忽略了無(wú)關(guān)特征信息。本模塊構(gòu)成如圖1中SCA模塊所示。首先將輸入的特征Ff,分別送進(jìn)2個(gè)不同的通道,然后進(jìn)行1×1的卷積操作來(lái)整合特征,再分別在2個(gè)通道中使用最大池化層和平均池化層??傻?
其中,H(·)表示卷積操作;K(·)表示concat操作;M(·)表示最大池化操作;A(·)表示平均池化操作;公式(10)中的2表示pool=2。 使用最大池化層M(·)可以收集目標(biāo)中更細(xì)節(jié)的線索,而平均池化層A(·)可以將特征進(jìn)行壓縮,此時(shí)就實(shí)現(xiàn)了在通道上關(guān)注人群特征。將經(jīng)過(guò)處理的特征快速進(jìn)行不同于上一次的平均池化以及最大池化,加上空間注意力。
最后將特征Ff進(jìn)行上采樣,將其與原始特征Fi進(jìn)行逐像素相乘操作,得到輸出特征Fo。則有:
其中,Upsample(·)表示上采樣操作,?表示逐像素相乘操作。
在訓(xùn)練階段,人群密度研究工作中一般都將歐幾里得損失當(dāng)做訓(xùn)練損失,損失函數(shù)定義如下:
其中,g ti表示輸入的第i張地面真實(shí)密度圖;gt(Xi;θ)表示預(yù)測(cè)估計(jì)的密度圖;Xi表示輸入的第i張圖像;θ是計(jì)數(shù)網(wǎng)絡(luò)中可學(xué)習(xí)的參數(shù)。
因Adam[8]具備計(jì)算效率高、內(nèi)存要求低等優(yōu)點(diǎn),本文將其作為優(yōu)化器;設(shè)置初始學(xué)習(xí)率(Learning rate)為0.000 01;同時(shí)為了使梯度下降方向更穩(wěn)定、準(zhǔn)確、防止震蕩,令每次訓(xùn)練輸入所選取的樣本數(shù)(batch size)等于4,并隨機(jī)打亂每次樣本的輸入順序。
本文采用的評(píng)價(jià)指標(biāo):平均絕對(duì)誤差(Mean Absolute Error,MAE)、均 方 誤 差(Mean Squared Error,MSE)。其定義如下:
其中,n代表測(cè)試集的樣本總數(shù);gti表示第i張測(cè)試圖的實(shí)際人數(shù)值;而eti表示對(duì)第i張測(cè)試圖的估計(jì)值。MAE主要是考量真實(shí)值與估計(jì)值之間的誤差平均,反映的是估計(jì)的準(zhǔn)確性,而MSE作為方差指標(biāo),反映的是算法魯棒性。由于這2項(xiàng)指標(biāo)為誤差度量,因此算法的MAE、MSE值越小越好。
3.3.1 Shanghaitech數(shù)據(jù)集
該數(shù)據(jù)集分為兩部分:Shanghaitech Part_A(簡(jiǎn)稱SHA)和Shanghaitech Part_B(簡(jiǎn)稱SHB),并分別將圖像中人體頭部的中心區(qū)域某點(diǎn)的位置坐標(biāo)保存在文件中。SHA源于互聯(lián)網(wǎng)照片,由訓(xùn)練集中的300張圖像和測(cè)試集中的182張圖像構(gòu)成,存在少量的灰度樣本,共計(jì)241 677個(gè)標(biāo)注點(diǎn),照片質(zhì)量不一,且絕大多數(shù)圖像都擁有高密度人群;該數(shù)據(jù)集樣本風(fēng)格各異,且存在很多相似目標(biāo)的干擾,某些極其擁擠的場(chǎng)景甚至人眼也難以準(zhǔn)確計(jì)數(shù),適合檢驗(yàn)算法對(duì)遠(yuǎn)景高密度人群的估計(jì)能力。SHB拍攝于上海繁華的街道,由400張訓(xùn)練圖像和316張測(cè)試圖像構(gòu)成,場(chǎng)景不固定,共計(jì)88 488個(gè)標(biāo)注點(diǎn);該數(shù)據(jù)集更貼近具體街道應(yīng)用場(chǎng)景,訓(xùn)練集、測(cè)試集中存在很多相似場(chǎng)景,畫(huà)面中人員特征信息較多,能夠檢驗(yàn)算法在城市監(jiān)控場(chǎng)景中的表現(xiàn)能力。
3.3.2 Mall數(shù)據(jù)集
該數(shù)據(jù)集獲取于國(guó)外某購(gòu)物中心,由拍攝視頻中抽取的2 000幀圖片構(gòu)成,且場(chǎng)景固定,并盡量以頭部中心點(diǎn)的坐標(biāo)作為標(biāo)注,共計(jì)62 325個(gè)標(biāo)注點(diǎn)。數(shù)據(jù)集的難點(diǎn)是遠(yuǎn)處目標(biāo)模糊以及植物的干擾,其代表的是稀疏、固定場(chǎng)景。參照文獻(xiàn)[2],選擇前800幀圖像訓(xùn)練,其余1 200幀圖像進(jìn)行測(cè)試。
3.4.1 在Mall數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果比較
在Mall數(shù)據(jù)集上,將本文的網(wǎng)絡(luò)與其它網(wǎng)絡(luò)進(jìn)行了比較,比較結(jié)果見(jiàn)表1。結(jié)果表明,提出方法的性能有所改進(jìn);與2020年提出的CWAN[9]網(wǎng)絡(luò)相比,MAE和MSE分別提高了0.56和0.87。在Mall數(shù)據(jù)集上的人群密度效果如圖3所示。
表1 Mall數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果對(duì)比Tab.1 Comparison of experimental results in the mall dataset
3.4.2 在Shanghaitech數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果比較
在ShanghaiTech partA&partB兩個(gè)數(shù)據(jù)集上,將本文網(wǎng)絡(luò)和其它網(wǎng)絡(luò)進(jìn)行了比較,結(jié)果見(jiàn)表2。結(jié)果表明,本文提出的方法性能有顯著改進(jìn)。在SHA中,本 文 方 法 與 網(wǎng) 絡(luò)CSRNet[12]相 比,MAE/MSE分別提高了4.5/12.7,與2020年所提網(wǎng)絡(luò)HANG[13]相比也提高了1.6/4.1;在SHB部分,MAE/MSE比CSRNet提高了2.18/2.71,與HANG相比提高了1.58/4.31。其效果如圖3所示。
圖3 數(shù)據(jù)集中估計(jì)的密度圖(左為SHA,中為SHB,右為Mall)Fig.3 The estimated density map in the dataset(SHA on the left,SHB in the middle,Mall on the right)
表2 Shanghaitech數(shù)據(jù)集實(shí)驗(yàn)結(jié)果對(duì)比Tab.2 Comparison of experimental results in the Shanghaitech dataset
為了驗(yàn)證本文所提出的MFF模塊及SCA模塊的有效性,在ShanghaiTech數(shù)據(jù)集上進(jìn)行了驗(yàn)證,驗(yàn)證結(jié)果如表3所示。SHA部分的MAE/MSE提高了7.24/10.25;SHB部 分 的MAE/MSE也 同 樣 提 高 了0.55/1.74,MFF模塊中使用1×1卷積核進(jìn)行特征信息整合,可在不影響感受野的情況下增強(qiáng)決策函數(shù)的非線性,并且結(jié)合膨脹卷積之后可在不損失圖像分辨率與尺寸情況下有效擴(kuò)大感受野,減小參數(shù)量。MFF模塊增加了多尺度特征融合,提取不同人頭的細(xì)節(jié)信息并且使得高低層特征融合,聯(lián)合上下文信息。
表3 網(wǎng)絡(luò)結(jié)構(gòu)分析結(jié)果Tab.3 Network structure analysis results
由表3數(shù)據(jù)可以看出,添加了SCA模型之后,在SHA和SHB兩個(gè)數(shù)據(jù)集上都有明顯的提高。如SHA上的MAE/MSE分別提高了6.0/3.54;在SHB上也提高了0.48/0.53,SCA模塊中對(duì)輸入的特征分別施加3層的平均池化、最大池化后進(jìn)行特征疊加,為之后的操作提供更多的選擇及降低參數(shù)量;并且SCA模塊使用取舍權(quán)重因子與原輸入特征相乘得到輸出特征,以實(shí)現(xiàn)對(duì)輸入特征的弱化;因此,SCA模塊可以有效地弱化無(wú)關(guān)特征,強(qiáng)調(diào)目標(biāo)信息。
本文提出的基于多尺度和雙注意力機(jī)制的人群計(jì)數(shù)網(wǎng)絡(luò)模型,使用膨脹卷積、最大池化和平均池化設(shè)計(jì)了MFF模塊和SCA模塊。MFF模塊擴(kuò)大了小目標(biāo)的尺度空間,使淺層特征和深層特征進(jìn)行了多尺度特征融合,改善了小目標(biāo)中的特征信息缺乏問(wèn)題和尺度劇烈變化問(wèn)題。SCA模塊使用池化層將注意力放在小目標(biāo)上,可排除無(wú)關(guān)干擾信息,提取有效特征、減小參數(shù)量。在數(shù)據(jù)集上的測(cè)試結(jié)果表明,此方法比現(xiàn)有許多方法都有效,可應(yīng)用于景區(qū)游客統(tǒng)計(jì),反映游客的實(shí)時(shí)分布,安排相應(yīng)的旅游服務(wù);也可對(duì)擁擠的現(xiàn)象進(jìn)行預(yù)警,實(shí)時(shí)的檢測(cè)人群密度,以發(fā)現(xiàn)異常聚集或逃離事件的發(fā)生,從而及時(shí)協(xié)調(diào)醫(yī)療、警員力量。