余 鷹,潘 誠,朱慧琳,錢 進,湯 洪
華東交通大學 軟件學院,南昌330013
人群計數作為智能視頻監控的重要組成部分,主要任務是分析統計場景中人群的數量、密度和分布,現已廣泛應用在大型集會、旅游景點等人群密集的線下活動場景,在維護群眾人身安全等方面發揮著巨大的作用。近年來,隨著卷積神經網絡[1-3]在計算機視覺領域的大放異彩,基于深度學習的人群計數算法取得了顯著的進展,計數形式從簡單的稀疏場景行人數量統計發展到了復雜密集場景的密度圖計數,通過充分利用深度神經網絡強大的特征表達能力,提升模型的計數精度。
隨著計算機視覺和深度學習技術的快速發展,有關人群計數問題的研究已經取得了巨大的進展,優秀的模型和算法不斷涌現,但是在人群密集場景中,要實現準確的計數依然存在諸多困難和挑戰。如圖1 所示,該現實場景存在背景干擾、人群分布雜亂、行人尺度變化等問題,極大地影響了計數精度。在圖1(a)中,遠近景人群目標尺度差異較大,樹與密集人群特征相似,容易對計數造成干擾;在圖1(b)中,同樣存在遠近景目標尺度多樣化問題,同時人群分布雜亂將對計數性能造成影響。

圖1 人群計數的挑戰Fig.1 Challenge of crowd counting
為了解決行人尺度變化問題,一些學者試圖通過引入多陣列卷積結構來感受不同尺度的行人特征[4-5],以提高模型預測精度。盡管這些方法增強了算法對多尺度特征的感知能力,但同時也帶來了無效的冗余分支結構和大量訓練時間。對于背景噪聲干擾,Liu等人[6]試圖使用注意力機制去抑制背景區域。通過級聯方式,預先訓練注意力圖生成器,檢測前景人群區域,抑制弱相關復雜背景信息,然后使用人群密度估計器進行人群計數。此時,場景圖片已經聚焦在前景人群區域,可以有效減少背景噪聲的干擾。這類方法對注意力生成器要求極高,容易造成前景和背景的誤判,也不能自適應地在線調整背景區域范圍,可能在計數之前引入誤差,增加了計數任務的復雜性。
針對上述問題,本文提出了一種融合通道與空間注意力的編解碼結構人群計數網絡(channel and spatial attention-based encoder-decoder network for crowd counting,CSANet),以解決計數任務中存在的目標尺度變化、人群分布雜亂以及背景噪聲干擾等問題。在編碼階段,通過不同深度層次的卷積提取人群的不同尺度特征;在解碼階段,使用卷積和上采樣操作逐步恢復空間語義信息,并將多尺度語義信息與空間上下文信息充分融合,然后注入通道和空間注意力,使網絡關注點聚焦在感興趣前景人群區域,進一步降低弱相關背景干擾,以此提高密度圖的生成質量。本文的主要貢獻如下:
(1)提出了一種融合通道與空間注意力的編解碼結構計數網絡,通過將多尺度信息與空間上下文信息進行融合以提高圖像特征的魯棒性,最終提升計數精度。
(2)將多維度注意力機制引入人群計數,使得端到端的計數網絡能夠自適應地聚焦前景人群區域,降低弱相關背景區域的干擾,提升生成密度圖質量。
人群計數任務所遇到的挑戰主要為場景擁擠、人群尺度變化多樣和人群分布雜亂等。為了降低其帶來的計數精度下降問題,主要研究路線大致可分為傳統方法和基于深度學習的方法。傳統方法使用經過預訓練的分類器人工提取目標底層特征[7-8],然后判別出行人從而實現計數;基于深度學習的方法利用卷積神經網絡自動學習人群特征并生成場景密度圖,密度圖中不僅包含行人數量信息,還有豐富的空間位置信息。
傳統方法可分為基于檢測和基于回歸兩類?;跈z測的方法[9]首先通過滑動窗口提取圖像特征,然后使用已經訓練好的分類器來識別行人。此類方法在人群稀疏的場景中計數效果良好,但是在復雜的人群密集場景中,由于行人之間的嚴重遮擋和背景雜亂干擾,導致無法提取完整的個體特征,計數性能較差。為了克服密集場景中行人特征不完整等問題,研究者設計出判別身體部分特征的檢測器[10],但是算法仍然難以勝任高密度場景的計數需求?;诖耍岢隽肆硪环N自適應的回歸預測方法[11],直接從場景中提取特征,然后學習圖像特征至人群數量的映射關系。
總之,傳統方法大都依賴人工提取的特征。由于現實環境復雜,人群變化等因素普遍存在,導致人工提取的特征判別性不強,從而計數模型應用時預測效果較差。
近些年,深度學習技術在圖像分類[12]、目標檢測[13-14]、語義分割[15]等視覺任務上的應用表現搶眼。相對于使用傳統技術,使用深度學習技術可以使算法的性能得到顯著提升,并且其更擅長處理復雜場景問題。因此,基于卷積神經網絡(convolutional neural networks,CNN)的人群計數方法的研究陸續開展[16-18],并取得了卓有成效的進展。其主要過程是通過卷積神經網絡提取特征,再利用全卷積形式生成包含人群數量和空間位置信息的人群分布密度圖。
為了處理多尺度問題,已有模型大多采用多陣列卷積神經網絡架構[4-5],通過不同的感受野去提取行人多尺度特征。Sindagi等人[19]提出了一種上下文金字塔網絡(contextual pyramid CNN,CP-CNN),通過融合全局和局部上下文信息,來提高生成密度圖的質量和人數預測的精度;Sam 等人[20]提出Switch-CNN(switching convolutional neural network)模型,通過訓練密度分類器,將圖像劃分為局部圖像塊,用分類器自適應地輸出對應等級;Cao等人[21]提出了一種基于編解碼結構的尺度聚焦網絡(scale aggregation network,SANet),利用多尺度聚焦模塊來提取行人多尺度特征。此類方法的計數性能相比傳統方法雖然有了很大突破,但是其網絡結構冗余,參數量過大,導致模型訓練困難。為了簡化網絡復雜度和提高訓練效率,單列網絡架構重新獲得關注。Li 等人提出單列計數網絡CSRNet(network for congested scene recognition)[22],通過空洞卷積擴大感受野,以捕獲多尺度特征同時降低網絡模型的參數量。為了解決背景噪聲干擾問題,Liu等人[6]提出了一種用于人群計數的可形變卷積網絡(attention-injective deformable convolutional network for crowd understanding,ADCrowdNet),該網絡融合了注意力機制,讓模型只關注人群區域,從而忽略背景噪聲的干擾。此外,亦有研究通過將圖像語義分割技術應用于人群計數領域,以去除背景噪聲。總之,如何增強特征的尺度適應性和降低背景噪聲干擾仍然是人群計數領域目前重點關注的問題。
本文提出的融合通道與空間注意力的人群計數模型CSANet的網絡結構如圖2所示。整體采用了易于端到端訓練的編解碼架構。其中,編碼器使用VGG16[1]網絡的前13 層作為主干,構建特征提取網絡,提取多個不同深度層次的語義特征,來辨識場景中的多尺度人群;解碼器在逐步恢復空間信息的同時,將多尺度信息與空間上下文信息充分融合,以增強網絡的表征能力。并且融入通道與空間注意力模塊,聚焦前景人群區域,抑制弱相關背景特征,以生成高質量、高分辨率的密度圖進行人群計數。

圖2 CSANet網絡結構Fig.2 Architecture of CSANet
編解碼器包含兩部分,其中編碼器可以提取不同尺度行人特征。為了提取多層次更具有表征能力的深度特征,且易于網絡的搭建和訓練,本部分選取了經過預訓練的VGG16 網絡前13 層作為編碼器的主干網絡。在訓練的過程中,保留4個具有代表性的不同層次深度語義特征Conv2_2、Conv3_3、Conv4_3、Conv5_3,其尺寸分別為原始輸入圖片分辨率的1/2、1/4、1/8、1/16,這些不同深度提取的特征可以捕獲不同尺度的行人信息。隨著網絡深度遞增,特征圖分辨率逐漸減小,維度逐步增加。解碼器主要用于逐步恢復圖像空間特征信息與聚焦前景人群區域。通過解碼恢復的多層次深度特征與編碼器各階段輸出的對應層特征進行融合,最大程度上減少卷積和下采樣等操作造成的特征損失,并進一步整合空間上下文信息。在融合之后,對特征添加通道與空間注意力,以此來凸出前景人群區域,抑制弱相關背景區域特征的權重。解碼器對不同階段特征圖進行融合主要是對兩個特征圖進行通道拼接,特征融合之后新的特征圖分辨率大小不變,通道為兩者之和。其網絡參數配置如表1所示。

表1 網絡參數Table 1 Network parameters
在ConvX_Y(K-C-S)中,X_Y代表卷積所在層的深度,K表示卷積核大小,C為卷積核個數,S為步長。最后輸出的密度圖分辨率大小與原始輸入圖片的相等。Upsampling 使用雙線性插值將分辨率擴大至輸入特征的2 倍,Concat 為特征融合操作,將輸入的2 組特征圖進行通道拼接,CBAM module 為通道與空間特征注意力模塊。
背景噪聲干擾問題給人群計數任務帶來了嚴峻的挑戰,復雜背景可能極大降低模型的預測精度。視覺注意力機制的作用已經在大量的工作中被證實,它在關鍵特征提取以及模型性能增強等方面有著良好的效果。如果將注意力機制應用于人群計數,將有助于模型更加關注感興趣的人群區域,從而抑制弱相關背景信息的影響。Woo 等人[23]提出的CBAM(convolutional block attention module)注意力模型可以在通道和空間兩個維度上添加注意力,相較于單通道域或單空間域注意力,更適合人群計數任務。因為人群計數模型生成的特征圖不僅包含人群數量信息,還包含空間位置信息。對于一個給定的中間特征圖,CBAM 模塊會沿著通道和空間兩個獨立的維度依次推斷注意力圖,然后將注意力圖與輸入特征圖相乘以進行自適應特征優化來提高感興趣區域的權重。添加CBAM 注意力模塊時,一般將其添加到網絡每個卷積層之后或結合殘差添加。
為了增強模型在多層次特征融合之后對人群區域的聚焦能力,CSANet 網絡在解碼器部分添加了CBAM注意力模塊,融合方式如圖3所示。編碼器和解碼器提取的特征圖在對應層次進行通道疊加,以充分整合空間上下文信息,再使用通道與空間注意力模塊,對其前景行人區域進行關注,并對背景區域特征權重進行抑制。具體過程為:首先將編碼階段提取的多尺度特征Fe與對應層解碼恢復的特征Fd做特征疊加操作,得到特征累加之后的特征圖F′,如式(1)所示:

圖3 注意力融合方式Fig.3 Fusing attention method

其中,⊕為特征通道疊加操作,F′為多層信息融合之后的特征圖,并作為注意力模塊的輸入,然后依次利用通道和空間注意力模塊微調輸入特征F′,得到最終經過加權之后的特征圖FAtt。通道注意力模塊學習通道上的權重信息,再按通道元素相乘,作為后一階段的輸入;空間注意力模塊學習空間權重,與輸入特征空間相乘,如式(2)和式(3)所示:

σ為Sigmoid函數,輸入特征圖F∈RC×H×W,通道注意力為Mc∈RC×1×1,為每個單獨通道上的平均池化和最大池化,MLP為多層感知機,這里僅使用了一個隱藏層,其神經元個數為RC/r×1×1,r為參 數縮減率,r=16 ;空間注意力為為所有通道上的全局平均池化和最大池化,做通道相加操作,f7×7為7×7 卷積。
在訓練過程中,使用歐式距離評估真實密度圖與預測密度圖之間的差異,其定義如式(4)所示:

N是一次訓練圖片的總數量,Xi為第i張訓練圖片,Z(Xi;θ)為第i張圖片的預測密度圖,其中i∈[1,N],θ為網絡模型參數,為第i張訓練圖片的真實密度圖。
本章將詳細闡述端到端人群計數模型CSANet的訓練環境,包括真實密度圖的生成方式、數據增強方法以及實驗參數和硬件配置。
由于當下主流人群計數數據集通常只提供人頭中心點的坐標位置信息,而模型對于單個像素點的預測效率低下,普遍做法是將坐標點進行區間擴散,以提升模型的學習效率。本文使用幾何自適應高斯核生成密度圖,作為預測學習的標簽,具體如式(5)所示:

其中,x為當前圖像中的每個像素點,xi為第i個人頭中心點坐標,G(x)為高斯核濾波器,為人頭坐標點xi與其最近的K個人頭的平均距離。參照文獻[22]的參數設置,將β設為0.3。
由于人群數據集圖片數量有限,而標注圖片代價過高,為了獲得更多的圖片用于訓練,本文在數據輸入網絡之前對數據集中的圖片進行了一系列數據增強操作。具體為對每張圖片隨機裁剪出分辨率大小為400×400 的局部圖像塊,如圖4 所示。對于邊長不足400 的圖片,對其進行雙線性插值,使得邊長增大到400。再對裁剪出的局部圖像塊隨機進行鏡像翻轉,調整對比度和灰度來擴大數據量,以獲得更豐富的訓練數據。

圖4 隨機裁剪示例Fig.4 Example of random cropping
實驗所使用的操作系統為Windows 10,深度學習框架為PyTorch 1.6.0,使用兩塊顯存為11 GB 的NVIDIA-1080Ti顯卡。
編碼器部分使用基于ImageNet[24]預訓練的VGG16網絡的前13層參數對網絡進行初始化,其他參數則利用均值為0,方差為0.01的高斯函數進行隨機初始化。模型訓練過程中,使用學習率為1E-4 的Adam優化器進行模型優化,訓練迭代次數收斂即停止。對于UCF-QNRF 數據集,其平均尺寸為2 013×2 902,分辨率過大,訓練效率低,因此在進行數據增強之前,本文使用雙線性插值方法將其大小統一調整至1 024×768。
為了驗證算法的有效性和性能,在4個經典人群計數數據集上進行了實驗。與已有計數算法相比,CSANet 性能更優,而且訓練過程更加簡單、靈活。本章首先介紹計數模型的評價指標,然后簡單描述用于實驗的4個數據集的基本情況,并比較分析了各個算法的實驗結果。
平均絕對誤差(mean absolute error,MAE)和均方根誤差(root mean square error,RMSE)是人群計數算法常用的評價指標;MAE 和RMSE 均可以表示預測人數與真實人數的差異程度,但是MAE 通常用來評估模型的準確性,而RMSE通常用來度量被評估模型的魯棒性。MAE 和RMSE 的值越小,表示模型性能越好,其計算方法如式(6)和式(7)所示:

其中,N為數據集圖像總數;Ci為第i張圖片的預測人數;為第i張圖片的真實人數。
4.2.1 ShanghaiTech數據集
ShanghaiTech[5]是一個大型的人群計數數據集,共標注了1 198 幅圖像,人頭總數為330 165 個。按照數據來源和場景稀疏程度劃分,可分為Part_A 和Part_B 這兩部分,其中Part_A 隨機采集自互聯網,人群分布較為密集,共有300幅圖像作為訓練集,182幅圖像作為測試集;而Part_B 采集自上海市的部分監控視頻,人群分布較為稀疏,有400 幅圖像作為訓練集,316幅圖像作為測試集。該數據集的實驗結果如表2所示。

表2 不同計數方法在ShanghaiTech數據集上的性能比較Table 2 Performance comparison of different methods on ShanghaiTech dataset
與已有算法相比,CSANet 在Part_A 上的性能指標MAE與RMSE均達到了最優值,而在Part_B上,性能僅次于SFANet??倱p失變化趨勢如圖5 所示,訓練之初由于隨機程度較高,損失較大,但是隨著模型不斷迭代訓練,損失呈現明顯的下降趨勢并趨于穩定;Part_A 部分在整體可控范圍內波動,Part_B 部分在400次迭代之后基本達到了穩定狀態。

圖5 ShanghaiTech數據集訓練過程Fig.5 Training process on ShanghaiTech dataset
4.2.2 UCF_QNRF數據集
UCF_QNRF[29]是一個挑戰性極大的數據集,場景豐富且人群分布雜亂,共標注了1 535 幅圖像,其中訓練集有1 201 幅圖像,測試集有334幅圖像,標注總人數達到了1 251 642。
表3顯示了各種人群計數算法在UCF_QNRF 數據集上的實驗結果。由表3 可見,CSANet 網絡的兩個性能指標MAE 和RMSE 均為最優,證明CSANet模型在跨場景計數時具有較好的性能。CSANet 的訓練損失曲線如圖6 所示,前500 次迭代的波動較大,500次后逐漸趨于穩定。

圖6 UCF_QNRF數據集訓練過程Fig.6 Training process on UCF_QNRF dataset

表3 不同計數方法在UCF_QNRF數據集上的性能比較Table 3 Performance comparison of different methods on UCF_QNRF dataset
4.2.3 UCF_CC_50數據集
UCF_CC_50數據集[33]中的圖像全部采集自互聯網,其場景包括音樂會、游行示威等人群高度密集的場合,總共有50幅不同分辨率、不同視角拍攝的極度密集圖像,共標注人頭數量為63 974 個,每幅圖像標注人數從最低94人到最高4 543 人不等,平均每張圖片標注的人頭數為1 280 個,其數量遠超其他人群計數數據集。數據集使用5折標準交叉驗證訓練,實驗結果如表4所示。由表4可見,即使是在極端密集的場景中,CSANet 網絡的計數準確性和魯棒性依然優于已有模型。

表4 不同計數方法在UCF_CC_50數據集上的性能比較Table 4 Performance comparison of different methods on UCF_CC_50 dataset
4.2.4 實驗結果可視化分析
為了更好地說明模型的預測效果,本小節展示了CSANet網絡在不同數據集上預測的部分密度圖,如圖7 所示。其中,第1 行圖片選自ShanghaiTechPart_A測試集,代表了高度擁擠和嚴重背景干擾場景的預測效果;第2行圖片選自ShanghaiTech Part_B測試集,表示了在正常街道中,人群分布不均時的預測效果;第3行為UCF_QNRF測試集圖片,來自一個游行集會場景。由絕大多數場景的可視化表現可知,CSANet 模型生成的人群分布密度圖非常接近真實的人群分布密度圖,說明CSANet具有良好的多尺度特征提取能力和背景噪聲抑制能力。

圖7 結果可視化Fig.7 Result visualization
為了驗證CSANet 網絡中各模塊的有效性,在ShanghaiTech數據集上做了相關的消融實驗,結果如表5所示。

表5 ShanghaiTech數據集消融實驗Table 5 Ablation study on ShanghaiTech dataset
主干網絡為CSANet網絡中設計的編解碼部分,由表5 可見,其計數精度優于絕大多數經典計數網絡,表現出了骨干網絡強大的特征提取能力。在融入通道與空間注意力模塊之后,CSANet網絡的計數效果顯著提升。本節還對消融實驗的結果進行了可視化,如圖8 所示。由圖8 可見,對于圖中紅色框中的背景區域部分,主干網絡已經能夠獲得比較準確的密度圖,但是經過注意力前景增強和背景抑制之后可以看出,密度圖的前景部分更加顯著,背景誤差也相對減少。

圖8 消融實驗結果可視化Fig.8 Visualization of ablation study results
本文提出了一種融合通道與空間注意力的編解碼人群計數網絡CSANet。該模型能夠以端到端的形式進行訓練,整體采用了編解碼結構以提取多尺度特征和充分融合空間上下文信息,并加以通道與空間注意力模塊來提升前景行人區域的權重,并抑制弱相關背景特征,以此生成高質量的密度圖。經過實驗分析,證明CSANet網絡具有良好的準確性與魯棒性。未來的工作中,將考慮如何采用可形變卷積等方面,更加準確地聚焦人群區域,以進一步提高人群計數的精度。