謝新林,尹東旭,張濤源,謝剛
(1.太原科技大學電子信息工程學院,山西 太原 030024;2.太原科技大學先進控制與裝備智能化山西省重點實驗室,山西 太原 030024)
人群計數(shù)任務可以為人群監(jiān)督提供技術(shù)支持,減少或避免因人員聚集而引發(fā)安全事故,因此在體育館、音樂會、集會等人群密集場所的應用越來越廣泛。然而,在現(xiàn)實場景中因攝像機透視效應引起的人頭尺度變化大和復雜場景下背景噪聲高,使得不同場景下人群計數(shù)任務面臨巨大挑戰(zhàn)。在人群計數(shù)的早期研究中主要使用基于檢測[1]和回歸[2]的方法,但是當遇到高度擁擠的場景圖像時,該方法無法提取足夠的人群特征,計數(shù)精度較低。鑒于強大的深度特征表達能力,基于卷積神經(jīng)網(wǎng)絡(CNN)的人群計數(shù)算法被廣泛提出,但仍存在多尺度信息提取不足、背景噪聲區(qū)分錯誤率高的問題。
為有效應對人頭尺度變化大的問題,現(xiàn)有人群計數(shù)算法通常引入多尺度特征融合模塊來學習不同感受野大小的特征[3-5]。許多早期方法使用多列架構(gòu)網(wǎng)絡來處理大規(guī)模變化問題[6]。例如,文獻[7]構(gòu)建一種多列卷積神經(jīng)網(wǎng)絡,該網(wǎng)絡由具有不同感受野大小的3 個分支組成。但是,該方法因多分支網(wǎng)絡的引入,導致計算量增加、訓練效率降低。因此,一些改進方法嘗試將高級語義信息和上下文信息融合到深度網(wǎng)絡中[8-10],這些信息有助于網(wǎng)絡理解擁擠人群特征。其中,文獻[11]搭建一種基于分組卷積的多通道融合結(jié)構(gòu),但該方法不能有效聚合上下文信息。文獻[12]設(shè)計一種以VGG16 為前端、擴張卷積為后端的網(wǎng)絡,用于提取具有更大感受野的特征,但不能有效融合深層和淺層信息。文獻[13]提出一種規(guī)模聚合網(wǎng)絡,采用不同大小的卷積核提取多尺度特征,但大卷積核容易造成計算量增大,且在整個圖像中只采用卷積操作來獲得多尺度特征,易導致網(wǎng)絡丟失部分全局信息。文獻[14]構(gòu)建一種反饋網(wǎng)絡,并在網(wǎng)絡中使用空洞空間金字塔模塊聚合上下文信息,但是該卷積操作易造成原始特征圖中的空間細節(jié)信息丟失。然而,上述方法無法捕獲足夠的全局上下文信息,且在像素之間未建立全局關(guān)系,易通過卷積操作使網(wǎng)絡丟失原始特征圖的空間細節(jié)信息[15]。
針對擁擠場景下背景噪聲高的問題,現(xiàn)有人群計數(shù)算法通常引入注意力機制對人頭特征進行加權(quán)[16-18]。文獻[19]構(gòu)建一種雙路徑網(wǎng)絡架構(gòu),并使用注意力圖優(yōu)化密度圖,但所提注意力圖只關(guān)注特征圖的空間位置信息,忽略通道類別信息。為此,文獻[20]介紹一種通道注意力模塊對通道特征重新校準以充分學習通道類別信息,但該方法忽略了空間位置信息。文獻[21]基于卷積和池化操作提出一種空間和通道融合的混合注意力網(wǎng)絡,同時關(guān)注空間和通道信息,但由于卷積和池化操作只能使用局部信息進行加權(quán),因此丟失了部分像素信息,使網(wǎng)絡無法充分利用每個特征像素信息進行加權(quán)。盡管基于注意力的人群計數(shù)方法針對當前或先前層的特征,利用激活函數(shù)生成權(quán)重圖加權(quán)空間信息,以消除背景噪聲。
本文提出一種基于注意力機制的多尺度融合人群計數(shù)算法AMFNet。該算法能融合不同層不同尺度大小的特征信息來解決人頭尺度變化大的問題,并通過像素級注意力機制對圖片的通道和空間信息進行像素加權(quán)融合來處理擁擠場景下背景噪聲高的問題。本文設(shè)計基于殘差連接的空洞空間金字塔池化(ASPP-R),通過多分支卷積捕獲多尺度頭部目標特征的同時使用殘差連接保留原特征圖的空間細節(jié)信息;構(gòu)建跨層多尺度特征融合模塊融合深層和淺層的多尺度特征,并構(gòu)建基于多分支的特征融合模塊(FFS-MB)融合當前層不同感受野大小的特征信息。設(shè)計基于像素級特征的空間和通道注意力機制模塊(AM-CS),通過矩陣相似性運算使網(wǎng)絡提取像素級特征對空間和通道信息進行加權(quán)融合。
針對現(xiàn)有人群計數(shù)方法頭部尺度變化大以及背景噪聲復雜的問題,本文提出一種基于注意力機制的多尺度融合人群計數(shù)網(wǎng)絡。所提方法由3 個主要部分組成:基于殘差連接的空洞空間金字塔池化、基于多分支的特征融合結(jié)構(gòu)和通道、空間注意力機制模塊。
為提高網(wǎng)絡對于多尺度頭部目標的學習能力,本文構(gòu)建基于殘差連接的空洞空間金字塔池化,通過設(shè)計殘差結(jié)構(gòu)以及多個不同擴張率的空洞卷積捕獲多尺度的頭部目標特征。圖1 所示為ASPP-R 模塊結(jié)構(gòu)。
圖1 基于殘差連接的空洞空間金字塔池化結(jié)構(gòu)Fig.1 Structure of atrous spatial pyramid pooling based on residual connection
首先,針對輸入特征信息,使用1×1 卷積將特征圖的通道維度從512 降低為128,其目的在于減少模型的參數(shù)量。此外,引入批歸一化層(BN),以加快網(wǎng)絡的訓練和收斂速度。
其次,為充分學習不同尺度大小的頭部目標,設(shè)計擴張率為(1,3,7,13)的并行3×3 卷積。全局平均池化分支能夠保留圖像的全局上下文信息,為恢復輸入特征的空間大小,引入雙線性插值的方式進行上采樣。此外,為了避免空洞卷積和全局平均池化造成信息丟失,引入殘差連接保留輸入特征的空間細節(jié)信息。
最后,為融合多尺度目標信息、全局上下文信息、輸入特征信息,將多分支信息以通道拼接的方式進行融合。此外,為進一步減少計算量,本文設(shè)計1×1 卷積壓縮通道維度從640 降低至512。
特征融合模塊通過融合低級與高級信息來增強不同尺度的特征表達,淺層網(wǎng)絡具有較強的細節(jié)信息學習能力,有利于高度擁擠場景的人群計數(shù),深層網(wǎng)絡具有較強的語義信息學習能力,有利于區(qū)分人頭、樹葉、建筑物等復雜背景。因此,本文構(gòu)建基于多分支的特征融合模塊(FFS-MB)結(jié)構(gòu),其特點是設(shè)計不同感受野大小具有豐富特征信息的分支結(jié)構(gòu)。圖2 所示為FFS-MB 模塊結(jié)構(gòu)。
圖2 基于多分支的特征融合模塊結(jié)構(gòu)Fig.2 Feature fusion module structure based on multi-branch
首先,融合主干網(wǎng)絡相鄰層級的特征信息。Input_1 為主干網(wǎng)絡第n層的特征信息,Input_2 為主干網(wǎng)絡第n-1 層的特征信息,通過雙線性插值方式對Input_1 進行上采樣,得到與Input_2 相同空間維度的特征信息。此外,引入通道拼接的方式實現(xiàn)相鄰層級特征的初步融合。
其次,構(gòu)建具有豐富特征信息的多分支結(jié)構(gòu)。多分支結(jié)構(gòu)包含3 個卷積分支和2 個池化分支。其中,1×1 卷積的目的是壓縮通道維度信息以減少計算量。卷積的3 個分支結(jié)構(gòu)分別具有不同大小的感受野,Conv 1×1 分支用于保存原始輸入的特征信息,Conv 1×1、Conv 3×3 分支的有效感受野為3×3 卷積,Conv 1×1、Conv 3×3、Conv 3×3 分支的有效感受野為5×5 卷積,其特點是能夠關(guān)注不同尺寸的頭部特征。在池化的2 個分支結(jié)構(gòu)中,為了抑制圖像中復雜的背景噪聲,本文設(shè)計MaxPooling 3×3、Conv 1×1 消除冗余信息,此外,為了防止在高度擁擠場景下MaxPooling 導致相似信息丟失,本文設(shè)計AvePooling 3×3、Conv 1×1 分支結(jié)構(gòu)。
最后,融合多分支結(jié)構(gòu)的特征信息。Conv 分支和MaxPooling 分支具有相同的通道維度,為了防止目標信息弱化,AvePooling 分支的通道維度為其余分支的1/2,然后以通道拼接的方式融合5 個分支的特征信息。此外,為減少計算量,本文使用1×1 卷積降低通道數(shù)為[512,256,128]。
為進一步突出圖像中的人群區(qū)域,本文構(gòu)建基于通道和空間的注意力機制模塊(AM-CS),通過矩陣運算提取每個像素的空間和通道特征進行加權(quán),分別用于加強網(wǎng)絡對于背景和人頭目標的辨別能力、自適應矯正位置信息。圖3 所示為構(gòu)建的AM-CS模塊結(jié)構(gòu)。
圖3 基于通道與空間的注意力機制模塊結(jié)構(gòu)Fig.3 Attention mechanism module structure based on channel and spatia
首先,分別構(gòu)建空間和通道注意力模塊,對特征信息任意2 個像素之間的空間關(guān)系以及特征通道之間的相互依賴關(guān)系進行建模。將輸入特征X?RC×H×W重塑為A?RC×N,其 中,N=H×W。通過AT與A之間的矩陣乘法計算空間相似矩陣,通過A與AT之間的矩陣乘法計算通道相似矩陣。Softmax函數(shù)用于生成空間注意力權(quán)重Patt?RN×N及通道注意力權(quán)重Qatt?RC×C,具體計算式如下:
其中:pij表示第i個位置對第j個位置的影響;qij表示第i個通道對第j個通道的影響表示AT的第i行;Aj表示A的第j列。
其次,融合通道和空間注意力機制。通過A與P之間的矩陣乘法計算融合空間注意力的特征信息,通過Q與A之間的矩陣乘法計算融合通道注意力的特征信息,采用逐像素相加的方式獲得具有通道和空間注意力的特征信息,其過程如下:
其中:Reshape 將維度大小為C×N的特征信息重塑為C×H×W;Frefine表示注意力機制模塊輸出的特征信息。
基于注意力機制的多尺度融合人群計數(shù)網(wǎng)絡結(jié)構(gòu)如圖4 所示(彩色效果見《計算機工程》官網(wǎng)HTML版),其中,Stage 1~Stage 4 為VGG16 前10 層的4 個階段特征圖,分別為原圖1/2、1/4、1/8、1/16 的大小,Stage 3、Stage 4 為深層分支,Stage 1、Stage 2 為淺層分支。
圖4 基于注意力機制的多尺度融合網(wǎng)絡總體結(jié)構(gòu)Fig.4 Overall structure of multi-scale fusion network based on attention mechanism
為驗證基于注意力機制的多尺度融合人群計數(shù)算法的性能,本文首先介紹人群計數(shù)數(shù)據(jù)集ShanghaiTech[7]和UCF_CC_50、評價指 標與實驗配置、聯(lián)合損失函數(shù),然后通過消融實驗驗證本文所提模塊的有效性,最后通過與先進算法進行定量和定性對比分析,驗證所提算法的有效性。
ShanghaiTech 是目前評估算法模型性能最常用的人群計數(shù)數(shù)據(jù)集,共包含1 198 張帶注釋的圖像,總計330 165 個人。根據(jù)人群密度和場景不同分為SHA 和SHB 2 個部分。SHA 是從互聯(lián)網(wǎng)上下載的不同擁擠場景圖像,人群密度更大并存在少量灰度圖片,其包含人數(shù)從33~3 139 個人不等的300 張訓練和182 張測試圖片。SHB 是從上海街道拍攝相對稀疏的人群場景圖像,且受攝像機視角不同的影響,圖片具有人頭尺度大小不同的特點,其包含人數(shù)從9~578 個人不等的400 張訓練和316 張測試圖片。
UCF_CC_50[22]是1 個極其擁擠并且訓練樣本極少的人群計數(shù)數(shù)據(jù)集,該數(shù)據(jù)集僅包括50 張不同分辨率、視角和光線的圖像,包含體育館、音樂會、集會、馬拉松等場景。頭部注釋的數(shù)量從94~4 543 個人不等,平均為1 280 個。受復雜背景和密集人群分布的影響,數(shù)據(jù)集挑戰(zhàn)難度較高。為了更好地評估模型在UCF_CC_50 數(shù)據(jù)集上的性能,本文設(shè)置數(shù)據(jù)集執(zhí)行5 倍交叉驗證[22],并把5 次實驗結(jié)果均值作為最終評估結(jié)果。
本文通過平均絕對誤差(MAE)和均方根誤差(RMSE)來評估算法模型的計數(shù)效果,評價指標定義如下:
其中:N為測試集包含的圖像個數(shù);Ci和分別為預測人數(shù)和真實人數(shù)。MAE 反映計數(shù)的準確度,RMSE 反映算 法的魯棒性。因 此,MAE 和RMSE 值越小表示性能越好。
此外,為了更直觀地展示測試圖片計數(shù)效果,本文采用計數(shù)差值(CD)來描述算法測試圖片的效果,計算式如下:
本文算法實驗配置參數(shù):操作系統(tǒng)Ubuntu20.04;顯 卡RTX2080Ti;深度學 習框架PyTorch 1.7.1;數(shù)據(jù)處理Python 3.8。
本文算法的權(quán)重衰減為1×10-4;優(yōu)化器為Adam;學習率為5×10-4;epoch 設(shè)為700,使用高斯核模糊生成真值圖DGT,計算式如下:
其中:x為像素在圖像中的位置;C為頭部注釋的數(shù)量;參數(shù)μ為高斯核大小,μ=15;參數(shù)ρ為標準差,ρ=4。
在數(shù)據(jù)增強過程中,如果圖像短邊小于512,則先調(diào)整為512,使用400×400 像素的圖像塊在隨機位置進行剪裁,使網(wǎng)絡進行多批次訓練。以概率0.2 將原圖更改為灰度圖,以概率0.5 隨機水平翻轉(zhuǎn)圖像。
歐氏幾何距離損失通過逐像素度量預測密度圖和真值密度圖的差異,以獲得高質(zhì)量的人群密度圖,但是沒有針對預測人數(shù)進行損失。基于回歸人數(shù)的損失度量預測人數(shù)和真實人數(shù)的差異,通過生成與圖像真實人數(shù)相對應的數(shù)量特征信息,提高計數(shù)的準確性。為了在生成高質(zhì)量密度圖的同時提高計數(shù)的準確性,本文設(shè)計一種結(jié)合歐氏幾何距離損失和基于回歸人數(shù)損失的聯(lián)合損失函數(shù),計算式如下:
其中:N表示1 個訓練批次中圖片的個數(shù);F(Xi;θ)表示人群密度預測圖;Xi和θ表示網(wǎng)絡學習參數(shù)和輸入圖像 ;D表示人 群密度 真值圖 ;表示歐氏距離損失;Ci表示預測人數(shù);C表示真實人數(shù)表示基于回歸人數(shù)的損失;λ為加權(quán)比例,本文設(shè)置為1。
為驗證ASPP-R、FFS-MB、AM-CS 和聯(lián)合損失函數(shù)的有效性,本文僅使用基礎(chǔ)模塊進行消融實驗,將具有1×1、3×3、3×3、3×3 和ImagePooling 分支,擴張率為[1,6,12,18]的ASPP 結(jié)構(gòu)作為基礎(chǔ)ASPP 模塊并用A 表示,將具有1×1、3×3、5×5、7×7 的多分支作為基礎(chǔ)特征融合模塊并用F 表示,基礎(chǔ)損失函數(shù)為歐氏幾何距離損失。
消融實驗結(jié)果如表1 所示。相比Backbone+A+F,在基礎(chǔ)網(wǎng)絡Backbone 后接注意力機制AM-CS(Backbone+A+F+AM-CS)的MAE 和RMSE 分別降低1.4%和1.8%。相比Backbone+A+F+AM-CS,將基礎(chǔ)模塊A 和F 替換成本文所提的ASPP-R 和FFS-MB 后(Backbone+ASPP-R+FFS-MB+AM-CS),MAE 和RMSE 分別降低1.4%和3.1%。把基礎(chǔ)網(wǎng)絡使用的歐氏幾何距離損失替換成本文所提的聯(lián)合損失函數(shù)后,MAE 和RMSE 分別降低0.3%和0.1%。由此證明本文所提的ASPP-R、FFS-MB、AM-CS 模塊、聯(lián)合損失函數(shù)均能有效提高網(wǎng)絡計數(shù)性能和魯棒性。
表1 消融實驗結(jié)果Table 1 Ablation experimental results
為驗證AM-CS模塊的有效性,本文對所提AM-CS與空間注意力模塊[8](SAM)和SE通道注意力模塊[20](SECAM)進行對 比實驗,實驗結(jié)果如表2 所示,加粗表示最優(yōu)數(shù)據(jù)。
表2 基于注意力機制模塊的對比結(jié)果Table 2 Comparison results based on attention mechanism modules
從表2 可以看出,本文所提AM-CS 模塊相比SAM 模塊,MAE 和RMSE 分別降低2.6%和3.4%,所提AM-CS 模塊與SECAM 模塊相比,MAE 和RMSE分別降低1.6%和2.9%。因此,本文所提AM-CS 模塊的性能優(yōu)于基于空間和基于通道的注意力模塊。
2.5.1 定量分析與比較
考慮到UCF_CC_50 數(shù)據(jù)集的數(shù)據(jù)量較小,本文使用基于SHA 數(shù)據(jù)集上預訓練的模型進行網(wǎng)絡訓練。表3 所示為AMFNet 網(wǎng)絡與近5 年先進方法在ShanghaiTech 和UCF_CC_50 數(shù)據(jù)集上的對比結(jié)果,加粗表示最優(yōu)數(shù)據(jù)。
表3 不同算法在ShanghaiTech 和UCF_CC_50 數(shù)據(jù)集上的實驗結(jié)果Table 3 Experimental results among different algorithms on ShanghaiTech and UCF_CC_50 datasets
從表3 可以看出,本文算法AMFNet 在更為密集且背景復雜ShanghaiTech 數(shù)據(jù)集的SHA 部分比其他最好算法MAE 和RMSE 分別降低1.4%和4.2%,證明AMFNet 算法能有效提高存在背景噪聲的人群圖片計數(shù)精確度和魯棒性。在較為稀疏的SHB 數(shù)據(jù)集中也取得較小的計數(shù)誤差,MAE 和RMSE 分別為7.4和11.2,證明網(wǎng)絡能有效應對人群圖片中因攝像機視角不同而引起人頭比例變化較大的問題。SHB 數(shù)據(jù)集頭部尺度變化較小,包含人數(shù)密度水平較低,背景簡單,本文算法針對頭部尺度變化較大且復雜背景干擾構(gòu)建的跨層多尺度融合模塊和注意力模塊對SHB 數(shù)據(jù)集性能提升效果不明顯,導致在SHB 數(shù)據(jù)集上性能不如SGANet,但是仍優(yōu)于其他對比算法。本文算法在最密集的UCF_CC_50 數(shù)據(jù)集上比其他最優(yōu)算法的MAE 和RMSE 分別降低4.9%和1.8%,證明AMFNet 算法在不同密度、背景、光照條件下具有較強的泛化性能。
與采用基礎(chǔ)ASPP 來提取多尺度上下文信息和多層特征融合的RANet 相比,本文算法在SHA 和UCF_CC_50 數(shù)據(jù)集上均取得更小的誤差,證明本文所提ASPP-R 模塊的有效性。與采用不同大小的濾波器聚合多尺度特征的SANet、TEDNet 相比,本文算法在3 個數(shù)據(jù)集上均取得最優(yōu)的效果,證明本文所提FFS-MB 模塊可以更充分地融合多尺度特征。與只采用空間注意力機制的SFANet、SGANet 相比,本文算法在SHA 和UCF_CC_50 數(shù)據(jù)集上均取得更小的誤差,驗證了本文所提基于矩陣相似度運算的像素級空間通道注意力模塊AM-CS 的有效性。
2.5.2 定性分析與比較
為了對所提算法AMFNet 進行定性分析,本文設(shè)計AMFNet 與MCNN、CSRNet、SANet、SFANet 網(wǎng)絡在ShanghaiTech 和UCF_CC_50 數(shù)據(jù)集上的對比實驗,給出不同對比算法在各數(shù)據(jù)集圖片上測試的計數(shù)誤差結(jié)果以及密度圖可視化結(jié)果,分別如表4和圖5 所示。
表4 不同對比算法的測試計數(shù)誤差結(jié)果Table 4 Test counting error results among different comparison algorithms
圖5 不同對比算法的密度圖可視化結(jié)果Fig.5 Density map visualization results among different comparison algorithms
從圖5 可以看出,由第1 行圖可見,SHA 數(shù)據(jù)集原圖中背景十分雜亂,包括椅子、帳篷、汽車、樹葉和遠處擁擠遮擋的人群,由表4 可知本文算法在SHA數(shù)據(jù)集上的誤差僅為3.80,遠小于對比算法中誤差最小的SFANet,證明網(wǎng)絡通過多尺度注意力圖路徑能有效抑制復雜的背景噪聲。由第2 行圖可見,SHB數(shù)據(jù)集原圖中背景較為簡單,但是由于攝像機的透視效應,因此出現(xiàn)了較大的人頭比例變化。從表4可以看出本文算法的預測誤差僅為2.45,小于其他所有對比算法的誤差,說明通過多尺度感知模塊使網(wǎng)絡能有效緩解大規(guī)模的人頭比例變化問題。由第3 行圖可見,UCF_CC_50 數(shù)據(jù)集原圖是極度擁擠密集且缺乏顏色信息的圖像,由表4 可知本文算法的計數(shù)誤差為243.66,是接近第2 小計數(shù)誤差SFANet 方法的1/4,接近最大計數(shù)誤差SANet 網(wǎng)絡的1/7,表明本文算法對極度密集人群計數(shù)十分準確。在3 個不同背景、人群密度、攝像機視角、顏色信息的3 個數(shù)據(jù)集上,本文算法都能基本達到最優(yōu)的MAE 和RMSE,具有較優(yōu)的準確性和魯棒性,同時還有較好的泛化性。
本文提出一種基于注意力機制的多尺度融合人群計數(shù)算法,用于解決人群計數(shù)圖像人頭尺度變化大、高背景噪聲的問題。首先,將人群數(shù)據(jù)集輸入到由基于VGG16 前10 層構(gòu)建的特征提取模塊,用于提取Stage 1~Stage 4 的淺層和深層信息;然后,通過基于殘差連接的空洞空間金字塔池化和深層分支、淺層分支融合不同層的多尺度上下文語義信息;最后,通過注意力機制模塊加強網(wǎng)絡對于背景和人頭目標的判別能力。在ShanghaiTech 和UCF_CC_50 數(shù)據(jù)集上的實驗結(jié)果表明,本文算法具有較優(yōu)的準確性和穩(wěn)定性,并具有較優(yōu)的泛化性。由于單視角圖片包含擁擠場景下圖片信息較少,因此下一步將對多視角人群計數(shù)方法進行研究,以提高算法在復雜場景下的計數(shù)準確性。