鈕嘉銘,楊 宇
(武警工程大學(xué)信息工程學(xué)院,陜西西安 710086)
隨著人口數(shù)量的持續(xù)增長以及城市化進程的加速推進,大型集會、商場等處擁擠場景正變得越來越常見。各種各樣的音樂節(jié),隨處可見的購物中心、影劇院,還有體育館、機場、高鐵站,這些人們習(xí)以為常的事物,無時無刻不在影響著人們生活。誠然,豐富的基礎(chǔ)設(shè)施資源和文娛項目極大地滿足了人民日益增長的物質(zhì)文化需求,但隨之帶來的高人流量,高擁擠問題也不容忽視。加之近年來復(fù)雜多變的國際國內(nèi)環(huán)境造成的群體事件越來越多,人群分析作為一種有效輔助措施受到越來越多的研究者關(guān)注。
人群分析是一個復(fù)雜的跨學(xué)科研究,在計算機視覺、心理學(xué)、社會學(xué)及物理學(xué)的多個領(lǐng)域均有應(yīng)用,本文主要圍繞其在計算機視覺任務(wù)中的應(yīng)用展開討論。作為計算機視覺領(lǐng)域的一個熱點,人群分析在視頻監(jiān)控、公共安全、城市規(guī)劃和行為識別與理解等任務(wù)中發(fā)揮了重要作用。作為人群分析問題的重要組成部分,人群計數(shù)和密度估計是對擁擠場景進行更高級理解的基礎(chǔ),如異常行為檢測與識別、分割、跟蹤及場景理解等。此外,人群計數(shù)方法可擴展到其他領(lǐng)域的計數(shù)任務(wù)中,如細胞鏡檢、車輛計數(shù)等。
隨著智慧城市、智能監(jiān)控系統(tǒng)以及深度學(xué)習(xí)技術(shù)的迅猛發(fā)展,人群計數(shù)與密度估計等人群分析技術(shù)發(fā)展迅速,許多研究人員對人群計數(shù)和密度估計開展研究[1]。如Zhan 等[2]從社會學(xué)和心理學(xué)角度對人群進行了深入研究,從人群特征提取、人群建模與事件推理等方面對人群分析方法進行介紹;Junior 等[3]總結(jié)了人群分析中的3 個重要問題:人群計數(shù)及密度估計、擁擠場景中的人群跟蹤和更高層次的人群行為理解,將人群計數(shù)與密度估計模型分為基于像素的分析、基于紋理的分析和對象級分析3 類;Li 等[4]從運動模式分割、人群行為識別及異常行為檢測3 個方面綜述了人群場景分析的相關(guān)技術(shù),介紹了特征表示及可以為場景分析算法提供基本人群模型的人群動力學(xué)領(lǐng)域相關(guān)知識;Zitouni 等[5]用不同的標(biāo)準(zhǔn)評估不同的方法。這些文獻對人群分析進行了總結(jié),但對密度估計研究尚不深入;Loy 等[6]將人群計數(shù)方法分為基于檢測的方法、基于聚類的方法和基于回歸的方法,并通過系統(tǒng)比較評估對不同的人群計數(shù)方法進行了分析,進而為更深入的研究提供新的思路與方向;Ryan 等[7]通過實驗得到基于回歸的人群計數(shù)方法的評估結(jié)果,該結(jié)果是在多個數(shù)據(jù)集上利用交叉驗證的方法對整體、局部或基于直方圖的特征,以及包括高斯過程回歸、線性回歸與神經(jīng)網(wǎng)絡(luò)在內(nèi)的各種回歸模型進行分析比較得到的;Saleh 等[8]從兩個角度對人群計數(shù)與密度估計方法進行了分類,即直接法和間接法,直接法即基于檢測的方法,而間接法則致力于從像素、紋理與角點3 個角度對問題進行研究;Grant 等[9]對人群統(tǒng)計和行為理解這兩個人群分析的主要領(lǐng)域進行了探討。
上述文獻對人群計數(shù)進行了總結(jié),但沒有涉及到基于CNN 的方法。Sindagi 等[10]將人群計數(shù)與密度估計方法分為傳統(tǒng)方法與基于CNN 的方法兩類,分別對這兩類方法進行了分析,與之前不同的是,文章不僅考慮了手工提取的特征,還考慮了CNN 提取的特征;Tripathi 等[11]對基于CNN的人群分析法進行了介紹,主要涉及人群統(tǒng)計、人群密度估計、人群場景分析和人群異常檢測4 個方面;Gao 等[12]對人群計數(shù)和密度估計方法進行了全面系統(tǒng)的綜述,以CNN的結(jié)構(gòu)、監(jiān)督形式及學(xué)習(xí)范式為基準(zhǔn)對基于CNN 的方法進行了闡釋,并在此基礎(chǔ)上分析了當(dāng)前方法的優(yōu)勢與不足,為進一步的研究指出了方向。
與其他計算機視覺任務(wù)類似,人群計數(shù)和密度估計也面臨諸多挑戰(zhàn),如人群間遮擋、復(fù)雜背景、尺度變化、人員非均勻分布、透視失真、照明變化及天氣變化等,如圖1 所示。為解決這些問題,研究人員從不同角度提出了多種行之有效的方法,這些方法主要分為傳統(tǒng)方法和基于CNN 的方法。
本文對基于CNN 的人群計數(shù)和密度估計方法進行綜述。考慮到邏輯的完整性與連貫性,對基于傳統(tǒng)方法的人群計數(shù)和基于CNN 的人群計數(shù)方法進行了總結(jié)。

Fig.1 Crowd scene picture圖1 人群場景圖片
早期的人群計數(shù)方法是通過檢測來估計人群數(shù)量[13],使用滑動檢測器遍歷圖像得到檢測結(jié)果進行計數(shù)。一般來說,這種方法只適用于稀疏場景,擁擠場景中復(fù)雜的背景雜波與嚴重的人員遮擋使其效果大打折扣。為了克服這一問題,研究人員提出了基于回歸的方法,其特點是跳過檢測步驟,直接學(xué)習(xí)從圖像到計數(shù)結(jié)果的映射。該方法由特征提取和回歸建模兩部分組成。首先,從目標(biāo)區(qū)域提取梯度、紋理等全局特征或局部特征(如HOG,LBP 等),而后使用線性回歸器、嶺回歸器等回歸技術(shù)得到統(tǒng)計結(jié)果。基于類似思路,Idress 等[14]提出了一種融合傅里葉分析、頭部檢測和SIFT 興趣點提取的局部圖像塊計數(shù)方法。這些回歸模型較好克服了遮擋和背景的干擾,但忽略了人群圖像中的空間信息。考慮到這一點,Lempitsky 等[15]提出一種學(xué)習(xí)局部特征和密度圖之間的線性映射方法,Pham 等[16]則使用隨機森林回歸來學(xué)習(xí)局部特征和密度之間的非線性映射。
雖然基于密度估計的方法使人群統(tǒng)計效果得到一定程度的提升,但它們只使用了手工制作特征,這給更深入的研究造成了麻煩。近幾年,由于CNN 的迅猛發(fā)展,越來越多的人將目光轉(zhuǎn)向了CNN。下面對基于CNN 的人群統(tǒng)計方法進行總結(jié)。
首先從網(wǎng)絡(luò)結(jié)構(gòu)角度進行分析。Wang 等[17]和Fu等[18]最早結(jié)合CNN 進行人群統(tǒng)計。其中,Wang 等將人群計數(shù)看作回歸問題,利用CNN 模型建立了人群圖像與計數(shù)間的映射。Fu 等不是直接預(yù)測總?cè)藬?shù),而是先按預(yù)設(shè)標(biāo)準(zhǔn)將圖像分為5 個密度等級,然后使用級聯(lián)的兩個CNN 對圖像進行分析,最終得到結(jié)果。這里第二個CNN 對第一個CNN 分類錯誤的圖像進行訓(xùn)練。
以上方法均使用了基本的CNN,但受模型結(jié)構(gòu)所限,其精度常常不盡如人意。為此,人們相繼提出了多列網(wǎng)絡(luò)與單列網(wǎng)絡(luò)來解決這個問題。
3.1.1 多列網(wǎng)絡(luò)
多列網(wǎng)絡(luò)即指模型中包含多列CNN,通常不同的列對應(yīng)不同的尺度。Zhang 等[19]是最早提出采用多列結(jié)構(gòu)解決多尺度特征提取問題的研究者之一,使用多列網(wǎng)絡(luò)MCNN來建立圖像到密度圖的映射,如圖2 所示。

Fig.2 The structure of MCNN圖2 MCNN 結(jié)構(gòu)
該結(jié)構(gòu)由3 列CNN 構(gòu)成,每列具有不同的感受野,可用來提取不同尺度特征。Onoro 等[20]提出一個尺度感知計數(shù)模型Hydra-CNN,它使用一個對應(yīng)于不同尺度圖像塊的金字塔進行密度圖估計;Boominathan 等[21]考慮到由拍攝視角等的不同帶來的尺度變化問題,提出了CrowdNet 模型,如圖3 所示。該模型使用深層和淺層兩列網(wǎng)絡(luò)來處理圖像中的尺度變化問題。其中,淺層網(wǎng)絡(luò)負責(zé)提取低層信息,深層網(wǎng)絡(luò)則主要承擔(dān)高層信息提取任務(wù)。

Fig.3 The structure of CrowdNet圖3 CrowdNet 結(jié)構(gòu)
Sam 等[22]發(fā)現(xiàn)Hydra-CNN 的性能對圖像金字塔變化非常敏感,為此提出了Switch-CNN 模型。該模型主要由Switch 分類模塊和CNN 回歸模塊組成,其所特有的Switch分類器負責(zé)根據(jù)密度或其他預(yù)設(shè)分類標(biāo)準(zhǔn)給輸入圖像塊選擇一個最優(yōu)回歸器,進而實現(xiàn)精確計數(shù);Sindagi 等[23]認為現(xiàn)有方法雖對密度圖進行了回歸,但它們往往更側(cè)重于改進計數(shù)誤差而不是密度圖質(zhì)量,同時發(fā)現(xiàn)當(dāng)前方法未明確使用上下文信息,因此提出了CP-CNN 方法,通過顯式地融合從圖像中學(xué)到的全局與局部上下文信息來獲得準(zhǔn)確的估計,同時將對抗性損失與歐式損失結(jié)合起來用于訓(xùn)練網(wǎng)絡(luò);Ranjan 等[24]提出ic-CNN 模型,該模型包括兩個分支,第一分支為低分辨率CNN(LR-CNN),用于生成低分辨率密度圖,第二分支為高分辨率CNN(HR-CNN),主要合并來自第一分支的低分辨率預(yù)測圖和密度圖,以生成高分辨率密度圖。
這些方法沒有探索不同尺度下估計密度圖的相關(guān)性,即來自小區(qū)域(小尺度)的計數(shù)之和不一定對應(yīng)于其聯(lián)合區(qū)域(大尺度)的計數(shù)。對此,Shen 等[25]提出一種新的AC?SCP 模型,該網(wǎng)絡(luò)充分利用了GAN 在圖像生成中的優(yōu)異性能,同時通過使用尺度一致性正則化來限制人群尺度不同帶來的誤差。Deb 等[26]近期提出了AMDCN 網(wǎng)絡(luò),通過在多列網(wǎng)絡(luò)中加入擴張卷積,使網(wǎng)絡(luò)選擇性聚合多尺度信息的能力得到提升,并且網(wǎng)絡(luò)在訓(xùn)練時不使用透視圖。
3.1.2 單列網(wǎng)絡(luò)
多列結(jié)構(gòu)在一定程度上推動了人群統(tǒng)計研究的發(fā)展,但也存在局限性,如參數(shù)量大、訓(xùn)練存在過擬合等。同時,受結(jié)構(gòu)所限,每個列只能在相應(yīng)尺度上正常工作,在其他尺度上的性能急劇下降。為此,研究者提出了單列網(wǎng)絡(luò)。
Li 等[27]提出了CSRNet,通過使用擴張卷積,模型可在分辨率不降低的前提下得到更大的感受野,進而聚集場景中的多尺度信息,實現(xiàn)高精度的密度估計;Zhang 等[28]提出的SaCNN 是一種尺度自適應(yīng)CNN,它以固定感受野較小的FCN 為主干,將從多個尺度提取的特征調(diào)整為相同大小,然后將它們組合起來生成密度圖,為了提高模型對稀疏場景的適應(yīng)能力,使用了相對計數(shù)損失與密度圖損失;Chen等[29]以單列網(wǎng)絡(luò)為骨干,使用部署了4 個不同擴張率的并行擴張卷積尺度的金字塔模塊SPM 來提取多尺度特征;Cao 等[30]提出了一種基于編解碼器的尺度聚集網(wǎng)絡(luò)SANet,它包括編碼器和解碼器兩部分;Jiang 等[31]提出了網(wǎng)格編解碼網(wǎng)絡(luò)TEDNet,它由一個多尺度編碼器和一個多路徑解碼器組成,集成了多個解碼路徑來捕獲多尺度特征,利用密集跳躍連接來獲取監(jiān)督信息;Dai 等[32]設(shè)計的DSNet 是一種采用了密集擴張卷積塊的端到端單列模型。
除了上述構(gòu)建多列或單列網(wǎng)絡(luò)來獲得更豐富的特征表示方法之外,研究人員還通過引入其他模塊來完善模型,以有效結(jié)合不同分辨率的特征。
3.2.1 注意力機制
Liu 等[33]認為,由于人群密度在空間、時間上是變化的,因此僅基于檢測或回歸來計數(shù)是不夠的,為此構(gòu)建了DecideNet 模型。該模型同時使用檢測和回歸模型來估計人群數(shù)量,然后利用注意力機制自適應(yīng)地對特定像素決定采用哪種估計結(jié)果;Sindagi 等[34]提出了基于反向注意力機制的深度人群計數(shù)網(wǎng)絡(luò)IA-DCCN。該模型通過反向注意力機制有效地將分割信息注入計數(shù)網(wǎng)絡(luò),使特征圖中的背景信息得到了抑制,最終得到更準(zhǔn)確的估計;Jiang 等[35]設(shè)計了一種新的基于注意力機制的計數(shù)網(wǎng)絡(luò),該網(wǎng)絡(luò)利用注意力掩膜和尺度因子來修正不同密度區(qū)域的密度估計。
3.2.2 透視感知
Zhang 等[36]通過分析發(fā)現(xiàn),當(dāng)目標(biāo)場景與訓(xùn)練場景不一致時,目前的人群統(tǒng)計方法性能會顯著降低。為此使用密度和透視信息作為相似性度量,從訓(xùn)練數(shù)據(jù)中檢索與測試相似的圖像,之后利用檢索到的圖像對訓(xùn)練好的網(wǎng)絡(luò)進行微調(diào),進而得到目標(biāo)測試場景下的密度圖,最終實現(xiàn)跨場景人群統(tǒng)計。
面對透視失真的挑戰(zhàn),Shi 等[37]提出一個透視感知網(wǎng)絡(luò)PACNN 來進行計數(shù),將透視信息整合到密度回歸中,以提供與圖形尺度變化相關(guān)的信息;Yan 等[38]提出一種用于人群計數(shù)的透視引導(dǎo)卷積網(wǎng)絡(luò),作為一個可插入的模塊,透視引導(dǎo)卷積成功解決了場景內(nèi)的連續(xù)尺度變化問題,還提出一個透視估計分支,該分支用于生成透視圖;Gao 等[39]提出一種多任務(wù)透視人群計數(shù)網(wǎng)絡(luò)PCCNet,它可以對人群場景中的層次特征(全局、局部或像素級特征)和透視變化進行編碼,由密度圖估計(DME)、隨機高密度分類(RHDC)和前背景分割(FBS)組成;Yang 等[40]提出一種無監(jiān)督的反向透視網(wǎng)絡(luò)RPNet 來減小輸入圖像的尺度變化,由透視圖估計器和坐標(biāo)變化器組成,首先透視圖估計器對透視失真的程度進行評估以獲得透視因子,然后坐標(biāo)變化器根據(jù)透視因子對圖像進行處理以減小圖像尺度變化。
3.2.3 基于視頻的人群計數(shù)
Xiong 等[41]提出了ConvLSTM 模型,該模型可對視頻中的人群進行計數(shù)。與一般基于CNN 的方法不同,該方法同時利用空間與時間信息進行計數(shù)。
Fang 等[42]認為ConvLSTM 只是隱式地對視頻中的時空相關(guān)性進行建模,為了提高性能提出了LSTN。該模型由密度圖回歸和LST 空間變換兩個模塊組成。其中,LST 負責(zé)處理視頻中的時空相關(guān)性。之后又進一步提出了一種基于多層次特征融合的局部訓(xùn)練空間變換網(wǎng)絡(luò)MLSTN[43],該網(wǎng)絡(luò)將相鄰幀的密度圖顯式地關(guān)聯(lián)起來,以實現(xiàn)更為穩(wěn)健的視頻人群統(tǒng)計。
為更好地對人群計數(shù)與密度估計模型進行評估,同時也為了更直觀地了解模型性能,需要引入一些簡單有效的評價指標(biāo),下面介紹兩類評價指標(biāo)。
(1)為了評估模型的計數(shù)性能及密度估計性能,引入平均絕對誤差MAE 和均方誤差MSE,定義如下:

其中,N是測試樣本的數(shù)量,yi是樣本的真實計數(shù)值,yi'是經(jīng)模型估計得到的與yi相對應(yīng)的計數(shù)值。MAE 和MSE可以分別在一定程度上反映模型的準(zhǔn)確性與穩(wěn)健性。一般情況下,兩個誤差的值越小表明模型的性能越理想。
(2)為了評估模型生成的密度圖質(zhì)量,引入峰值信噪比(PSNR)和結(jié)構(gòu)相似性指數(shù)(SSIM),PSNR 用來衡量處理后的圖像與原始圖像之間的誤差,一般PSNR 值越高表明誤差越小。同時,受外在因素及人類視覺局限性影響,PSNR 值可能與人們對圖像品質(zhì)的主觀感受不完全一致。SSIM 用來評價估計的密度圖與實際密度圖間的局部模式一致性,它用亮度、對比度與結(jié)構(gòu)相似度3 個因子來衡量圖像質(zhì)量,并分別將均值、標(biāo)準(zhǔn)差和協(xié)方差看作3 個因子的度量,根據(jù)3 個局部統(tǒng)計量計算出兩幅圖像之間的相似性。其范圍為0 到1,一般SSIM 為1 即表明兩個圖像相同。
隨著人群統(tǒng)計技術(shù)的發(fā)展,特別是深度學(xué)習(xí)等方法的廣泛使用,優(yōu)秀的數(shù)據(jù)集在模型的不斷優(yōu)化及統(tǒng)計效果提升過程中扮演著越來越重要的角色。面對尺度變化、背景雜波和遮擋等人群密度估計任務(wù)的挑戰(zhàn),不同數(shù)據(jù)集根據(jù)實際需求有針對性地在某些方面進行了優(yōu)化。這些數(shù)據(jù)集為研究工作帶來了便利,激勵人們不斷地創(chuàng)建出泛化能力更強的模型。表1 展示了常用數(shù)據(jù)集信息。

Table 1 Commonly used datasets表1 常用數(shù)據(jù)集
UCSD:UCSD 數(shù)據(jù)集是最早的人群計數(shù)數(shù)據(jù)集之一,它從一個人行道上的攝像機中采集。該數(shù)據(jù)集由來自一個視頻序列的2 000 個尺寸為238×158 的幀和每五幀中每個行人的注釋組成,其中包含49 885 個行人實例。
Mall:該數(shù)據(jù)集是在購物中心收集的,它由200 個尺寸為320×240 的幀組成,共包含62 325 名行人。與USCD 相比,該數(shù)據(jù)集覆蓋了更多不同的照明條件、更多的密度水平以及不同的活動模式,其具有更大的透視失真及更嚴重的遮擋。
UCF_CC_50:UCF_CC_50[44]是第一個真正具有挑戰(zhàn)性的數(shù)據(jù)集。它由來自公共網(wǎng)站的50 幅分辨率不同的Web圖像組成,共包含63 075 個被標(biāo)記的個體。該數(shù)據(jù)集中的圖像具有較大的密度差異,但其偏少的圖像數(shù)量也給研究人員使用帶來了不便。
WorldExpo’10:文獻[35]引入的WorldExpo’10 是一個大型跨場景人群計數(shù)數(shù)據(jù)集,主要收集自上海世博會。它由1 132 個由108 個監(jiān)控攝像頭拍攝的帶注釋的視頻序列組成,共有3 920 個尺寸為576×720 的幀,有199 923 個被標(biāo)記的行人。
ShanghaiTech:文獻[19]引入的ShanghaiTech 是近幾年大規(guī)模人群統(tǒng)計數(shù)據(jù)集之一,由1 198 幅圖像和330 165 個注釋組成。其被分為兩部分,A 部分是從網(wǎng)上隨機選取的圖片,具有較高的密度,B 部分圖片是在上海市一條街道上拍攝的。該數(shù)據(jù)集覆蓋了不同場景類型和不同密度級別,其復(fù)雜的尺度變化與透視失真也為研究人員帶來了新的挑戰(zhàn)。
本文從傳統(tǒng)方法和基于CNN 的方法兩個方面對當(dāng)前的人群計數(shù)與密度估計方法進行了分析。通過分析,可以得到以下幾點研究啟示:
(1)與CNN 相結(jié)合是當(dāng)前人群計數(shù)與密度估計方法發(fā)展的方向。近幾年,隨著CNN 的迅猛發(fā)展,其在人群密度估計領(lǐng)域的應(yīng)用潛力為越來越多的研究人員所重視。CNN在特征提取方面得天獨厚的優(yōu)勢不僅大大提高了模型的運行速度,而且使模型性能跨上了新臺階。
(2)在基于CNN 的方法中,大多數(shù)網(wǎng)絡(luò)傾向于使用單列結(jié)構(gòu)。多列結(jié)構(gòu)很好地推動了人群計數(shù)與密度估計方法的發(fā)展,但與單列結(jié)構(gòu)相比仍存在一些不可避免的問題。首先多列網(wǎng)絡(luò)參數(shù)量大運算較為復(fù)雜;其次多列網(wǎng)絡(luò)不同的列雖可用來提取不同尺度的特征,但也正是因為這個原因,其提取的特征尺度多樣性往往受制于網(wǎng)絡(luò)有限的列數(shù)。
(3)尺度變化是人群密度估計面臨的主要挑戰(zhàn)之一。當(dāng)前,幾乎所有的密度估計模型都是為解決尺度變化問題而設(shè)計的。無論是多列結(jié)構(gòu)、多分支結(jié)構(gòu)與單列結(jié)構(gòu)的使用,亦或是擴張卷積、空間金字塔及透視圖的引入,無不都是在解決尺度變化問題。當(dāng)然,其他問題也不容忽視,比如復(fù)雜背景、遮擋及照明變化等。為解決這些問題,人們引入了語義分割、視覺注意力機制及空間變換網(wǎng)絡(luò)等方法。
(4)良好的損失函數(shù)也是影響模型性能的主要因素。作為一種經(jīng)典方法,歐式損失在人群密度估計中得到廣泛應(yīng)用,但由于其存在局部相關(guān)性和密度圖的空間相關(guān)性考慮不足的缺陷,使歐式損失不利于模型發(fā)展。為此,人們結(jié)合使用對抗性損失、貝葉斯損失及局部模式一致性損失來優(yōu)化模型。
本文對基于傳統(tǒng)方法和基于CNN 方法的人群計數(shù)與密度估計模型進行了總結(jié),特別對基于CNN 的方法進行了分析,同時介紹了幾個常用的相關(guān)數(shù)據(jù)集以及常用的評價指標(biāo)。總結(jié)了當(dāng)前方法的特點及發(fā)展趨勢,為后續(xù)進一步研究指明了方向。