?

基于多尺度金字塔Transformer的人群計數方法

2024-04-09 01:41張少樂雷濤王營博周強薛明園趙偉強
智能系統學報 2024年1期
關鍵詞:金字塔尺度計數

張少樂,雷濤,王營博,周強,薛明園,趙偉強

(1.陜西科技大學 電氣與控制工程學院, 陜西 西安 710021; 2.陜西科技大學 電子信息與人工智能學院, 陜西西安 710021; 3.陜西科技大學 陜西省人工智能聯合實驗室, 陜西 西安 710021; 4.中電科西北集團有限公司西安分公司, 陜西 西安 710065)

隨著城市化進程的不斷推進和人口數量的持續增長,城市公共場所的人口密度也不斷提高,而這些人口密集場所的管理和安全問題成為城市管理者和公共安全機構的頭號難題[1]。為解決這些問題,人群計數應運而生。

人群計數是計算機視覺領域中一個重要的研究方向,其主要應用于公共場所人群數量的實時監測和分析,從而實現對人流的預測、規劃和管理。這項技術可以廣泛應用于人口密集的公共場所,如商場、機場、火車站、地鐵站等。人群計數可以實現對人員數量、流量和分布的實時監測和分析,幫助城市管理部門進行人流預測和規劃,減少擁堵和安全隱患,提高城市管理效率[2]。人群計數的另一個重要應用領域是應急救援。在自然災害和人為事故發生時,人群計數可以快速計算出現場人員的數量和位置,協助應急救援部門對災害現場進行快速響應和救援。在冠狀病毒(COVID-19)疫情期間,人群計數也被廣泛應用于公共場所的人員數量管控,幫助政府和公共場所管理者控制人員流動,減少病毒的傳播。

然而,人群計數技術在實際應用中仍然面臨很多挑戰,其中最為艱巨的挑戰為:1)計數算法對復雜場景的適應性低,在人群密集的公共場所中,人員數量眾多、行為復雜,場景復雜多變;2)場景中的透視畸變、光照變化、復雜的人群形態等問題也會對計數結果產生影響,高魯棒性的計數算法才能適應復雜多變的場景環境;3)圖像特征利用率低,不同尺度的特征語義信息不同,為了盡可能挖掘當前圖像蘊含的細節信息,需要增強融合圖像中不同尺度的特征。

為了更好地應對密集人群計數任務中圖像場景中背景復雜、目標尺度變化較大導致人群計數精度較低的問題,本文提出一種基于多尺度金字塔Transformer的人群計數方法(multi-scale pyramid Transformer network, MSPT-Net)。針對人群場景背景復雜的問題,設計一個新穎的Transformer結構,該結構通過深度可分離自注意力模塊同時提取局部與全局特征信息,增強網絡特征表達能力。針對目標尺度變化大、遮擋等導致圖像特征利用率低,不同尺度的特征語義信息不同的問題,設計特征金字塔模塊提取淺層和深層地特征,設計多尺度感受野的回歸頭模塊,通過多尺度的空洞卷積和金字塔平均池化增強特征捕獲能力,并能夠有效地融合不同尺度的特征進而預測密度圖。在訓練過程中,使用深度監督,對網絡中間的每個階段添加了額外監督損失,讓網絡更好的收斂。同時,針對于人群計數任務中人頭位置標注繁瑣問題,本文使用弱監督學習策略,與目前主流的人群計數方法相比較在計數方面接近最先進的水平。

1 相關工作

早期的人群計數方法通常使用基于檢測的方法[3],如滑動窗口和頭部檢測等。這些方法雖然簡單易行,但往往受到高密度、目標重疊和背景干擾等因素的影響,導致計數結果不準確[4]。為了解決這些問題,一些基于回歸的方法被提出,如Chen等[5]提出的累積屬性支持向量回歸機(cumulative attribute for support vactor regression,CA-SVR),該方法的主要思想是學習一種特征到人群數量的映射,通過建立群體數與人群密度圖之間的回歸模型,可以很容易地獲得總體計數結果。雖然基于回歸的方法在整體上提升了計數性能,但是它們忽略了圖像中的空間信息,只得到一個計數結果,缺乏可靠性和可解釋性。

隨著計算機視覺技術的發展,基于深度學習的人群計數方法逐漸成為主流。其中,基于密度圖的方法是目前最為流行和有效的方法之一,該方法通過將輸入圖像利用幾何自適應高斯核估計圖像中每個人頭的大小并轉換為密度圖,然后通過回歸密度圖中的像素數量估計人群數量[6],可以在復雜場景下獲得更精確的計數結果,如圖1所示。

圖1 基于密度圖回歸的方法Fig.1 Methods based on density map regression

伴隨著卷積神經網絡在計算機視覺領域中迅速發展,使得許多新的人群計數方法[7-13]被提出。其中,針對多尺度變化問題,Zhang等[7]提出多列卷積神經網絡(multi-column convolutional neural network, MCNN),使用大小不同的卷積核提取人群的多尺度信息。針對多列結構難以訓練、結構冗余、輸入圖片需要根據密度分級等原因,Li等[8]提出空洞卷積神經網絡模型(congested scene recognition network, CSRNet),首次將空洞卷積用于人群計數,通過保持分辨率的同時擴大感受野,保留了更多圖像細節信息。然而,這些方法不能有效處理復雜場景和多尺度問題,導致人群計數的準確性和穩定性較低。為了解決這些問題,研究人員又提出許多改進的方法,如多尺度卷積神經網絡[9]、注意力機制[10]、可形變卷積網絡[11]、生成對抗網絡[12]等。此外,還有學者[13-14]研究了基于密度圖的后處理技術,如弱監督學習[13]、多任務學習[14]等,為準確估計人群數量奠定了基礎。

隨著計算機視覺技術的不斷發展,研究人員發現,使用簡單的卷積神經網絡模型難以處理復雜場景下的密集人群計數。因為在這些復雜場景下,人群的位置相互接近,互相遮擋,使得人數估計變得非常困難。因此,如何處理密集人群計數問題成為研究人員關注的重點。注意力機制[15]的本質是從關注全部到關注重點,具有參數少、速度快和效果好等優點。在人群計數方法中引入注意力機制使得人員遮擋、人群分布不均勻等問題得到解決。Liu等[16]提出一種融合注意力機制的可變形卷積網絡(attention-injective deformable convolutional network for crowd, ADCrowdNet),通過引入注意力機制強調了人群區域,并使用可變形卷積保證了在高度擁擠場景中密度圖的準確性。最新研究[17-18]側重于設計不同的注意力機制,以關注全局背景下尺度和密度的變化。同時,一些研究通過優化新的圖像增強和損失函數提高計數的準確性[19-20]。然而,這些方法通常需要足夠的數據和經驗,而且網絡結構設計較為復雜,沒有顯著的改進效果。

近年來,Transformer[21]已成為深度學習領域的一個熱門模型,在各種任務中都取得了非常優秀的效果。Transformer是一種基于自注意力機制的神經網絡,可以處理輸入序列中的全局依賴關系。值得關注的是,視覺自注意力模型(vision Transformer, ViT)[22]的出現引起了計算機視覺領域的廣泛關注,并在人群計數任務中顯示出良好的結果。一種基于Transformer的弱監督人群計數模型(weakly-supervised crowd counting with Transformer, TransCrowd)[13]被提出,這是第1個基于Transformer的人群計數研究,它從基于Transformer序列計數的角度重新構造了人群計數問題,通過使用Transformer的自注意機制來有效地提取語義人群信息。實驗結果表明,該模型在密集人群計數任務中取得了非常好的性能。雖然Transformer在提取上下文信息具有強大的優勢,但是在局部信息獲取上仍然不足,所以如何獲取圖像的局部信息及全局信息進而提高計數精度仍是人群計數任務的研究重點。綜上所述,Transformer在人群計數領域的應用已經得到了廣泛的研究和應用,并且不斷有新的方法和改進被提出,為人群計數的研究和實踐帶來了新的思路和可能性。

2 多尺度金字塔Transformer網絡

本文提出的多尺度金字塔Transformer網絡結構如圖2所示,網絡整體包含塊嵌入(patch embedding)、Transformer模塊、特征金字塔模塊(feature pyramid module, FPM)、多尺度感受野的回歸頭模塊4個模塊。

圖2 多尺度金字塔Transformer網絡結構Fig.2 Inter-scale pyramid Transformer network architecture

輸入圖片經過塊嵌入模塊分割成固定大小的圖像塊。輸出被展平為一維向量序列輸入Transformer模塊提取全局特征。每個階段的一維序列都會被重塑為二維的特征圖并經過特征金字塔模塊上采樣到相同的分辨率,以方便之后的相加操作。三分支的特征圖都通過一個多尺度空洞卷積模塊(multi-scale atrous convolution, MAC)增強特征并回歸出中間密度圖,為之后的深度監督做準備,這3個分支的損失函數分配較小的權重。相加之后的特征圖經過一個金字塔平均池化模塊(pyramid average pooling, PAP),回歸出最終的密度圖,該分支的損失函數位置分配較大的權重。

2.1 金字塔Transformer骨干網絡

目前在人群計數任務中,為解決人群場景背景復雜問題,大多數工作還是基于卷積神經網絡,但由于卷積神經網絡卷積核的感受野固定,其難以捕獲全局上下文信息。Transformer是一種基于自注意力機制的神經網絡,可以處理輸入序列中的全局依賴關系,但其缺少對局部信息提取的能力?;诖?,本文將Transformer塊堆疊設計成局部注意力和全局注意力交替使用的形式,使其同時擁有局部和全局的感受野進而捕獲局部關系和進行全局上下文建模。同時,為了充分利用目標多尺度信息,設計了多層的特征金字塔結構,利用不同階段的特征圖進行淺層和深層特征的信息交互,增強網絡的表達能力。

2.1.1 特征圖預處理

在人群計數任務中,圖像通常是高維數據,具有很大的空間結構,同時也具有豐富的語義信息。為了對圖像進行有效地處理,需要將這些高維的數據通過塊嵌入模塊轉換為低維的向量表示,以便能夠在網絡中進行處理和分析。輸入特征圖經過塊嵌入模塊,其將輸入圖像在進入Transformer模塊時轉換為一維向量。假設輸入特征圖大小為x∈RH×W×3,其中H、W、3分別代表高度、寬度和通道數。通過塊嵌入層將圖片裁剪為HW/K2個尺寸相同的塊,每個塊的大小為K×K×3,本文將這個二維序列展平為一維向量i∈RN×D,其中N=HW/K2,D=K×K×3。塊嵌入模塊可以將輸入的圖像尺寸統一化,并且在進行特征提取時可以避免過擬合,因為每個圖像塊的特征表示都是獨立的。此外,塊嵌入模塊在進行特征提取時考慮了圖像的局部信息,因此對于網絡可以提供更好的性能。

2.1.2 Transformer模塊

由于輸入圖像通常是高分辨率,這使得Transformer全局注意力策略的計算量會隨著圖像的分辨率成二次方增長,在密集預測任務中會呈現高計算復雜度,如給定h×w的輸入,維數為C的Transformer計算復雜度為Ω(4hwC2+2(hw)2C),由于h×w比較大,所以本文旨在將輸入的平方降為線性的,從而大幅度降低計算量。因為金字塔視覺自注意力模型 (pyramidvisiontransformer,PVT)[23]能夠很好地用于密集的像素級預測任務中,所以本文對基于PVT的Transformer模塊的全局注意力策略進行了優化改進,提出深度可分離卷積自注意力(depthwise separable self-attention,DSSA)模塊,該模塊能提取局部與全局特征信息,增強了網絡特征表達能力,同時降低了網絡的復雜度,如圖3所示。從自注意力機制的效率和感受野角度出發,將Transformer塊堆疊設計成局部注意力和全局注意力交替使用的形式,擁有局部和全局的感受野可以捕捉短距離和長距離的關系。

圖3 深度可分離卷積自注意力模塊Fig.3 Depth-separable convolution self-attention module

受深度可分離卷積[24]中的分組設計的影響,首先將第l層Zl-1的輸入一維向量進行重塑變成h×w的二維特征圖,其次在局部窗口內對每個特征圖進行空間分組,計算局部分組自注意力(locally-grouped multi-head self-attention, L-MSA),最后計算全局下采樣自注意力(global-downsampling multi-head self-attention, G-MSA)。具體而言,在LMSA階段,二維特征圖被平均劃分為M×M大小的子窗口,僅在子窗口內部進行自注意力計算,計算量會大大減少,L-MSA的計算復雜度和時間復雜度為

VIT[22]中MSA模塊的計算復雜度和時間復雜度為

式中:h×w為特征圖的高度和寬度,C為特征圖的深度,M為每個窗口的大小。

相比于VIT中的自注意力,計算復雜度和時間復雜度從輸入的平方降為線性的,并且每個子窗口之間沒有交互通信,以此獲得局部特征信息。

在G-MSA階段,從每個子窗口提取一個低維度特征作為各個窗口的表征,然后基于這個表征再與其他原始窗口的每個像素點進行注意力操作,相當于自注意力中鍵的作用,一直重復此過程直到所有窗口間都進行了注意力計算。在這個過程中通過下采樣每個子窗口使其包含整個窗口的所有信息,同時用這個特征與每個窗口進行交互,能夠實現全局交互。并且G-MSA過程中的K、V是在縮小特征的基礎上計算的,但Q是全局的,因此注意力仍然可以恢復到全局,這種做法顯著減少了計算量。計算復雜度和時間復雜度為

同時網絡結構中也交叉了必要的多層感知器(multi-layer perceptron, MLP),歸一化層(layer normalization, LN)和殘差連接等。如圖1 Transforme模塊所示,Zl-1、Zl、Zl′、Zl′′、Zl′′′分別表示每層的輸出。

整個Transformer塊可以表示為

該注意力機制是對圖像特征的空間維度進行分組,分別計算各局部空間的自注意力,再利用全局自注意力機制對分組注意力結果進行融合,這種機制計算效率更好,性能更優,同時易于部署,便于實際應用。

2.1.3 特征金字塔模塊

盡管Transformer能夠提取全局特征,但是提取出的深層特征圖在通過上采樣后,仍會缺少很多細節信息。此外,深層次的特征雖然包含了豐富的語義信息,但是由于分辨率低通常較模糊,難以區分不同對象的邊界,這使得人群計數網絡很難準確獲取人群的位置信息。相比之下,淺層的特征雖然語義信息較少,但由于分辨率高,可以準確地包含物體的位置信息[25]。為了充分利用深層的語義信息和淺層的細節信息,設計了一個特征金字塔模塊,如圖2中的特征金字塔模塊(feature pyramid module, FPM)所示。它能夠有效地融合深層和淺層的特征,增強多尺度信息交互,從而提高小目標檢測的精度。具體而言,將所有階段的特征圖上采樣到輸入圖像的1/8大小,方便與其他方法進行比較[8]。

本文設計的基于深度可分離自注意力的金字塔Transformer主干網絡結構,不但能有效捕獲圖像的局部和全局信息,而且在不顯著損失性能的情況下能夠降低計算量。設計的特征金字塔結構實現了密集人群圖像淺層細節特征和深層語義特征的高效融合,能夠補充深層特征圖在通過上采樣后缺失的細節信息。

2.2 多尺度感受野的回歸頭

因為本文的Transformer骨干和特征金字塔模塊已經捕獲了足夠的局部和全局信息,所以,只需要使用一個簡單的回歸頭來回歸精確的密度圖。但針對人群計數場景目標尺度變化的問題,引入空洞卷積[26]不僅可以減少參數,而且還可以通過調整卷積核的空洞大小增加其感受野來實現不同尺度的特征提取,從而提高模型準確性??紤]到不同階段語義信息的丟失,本文采用多尺度空洞卷積模塊和金字塔平均池化模塊進行特征增強,以進一步提高模型的性能。

2.2.1 多尺度空洞卷積模塊

由于人群計數場景復雜,實際圖像存在人群密度明顯變化及圖像嚴重遮擋等問題。雖然改進的Transformer模塊可以同時提取全局和局部信息,但是不同階段的語義信息內容豐富程度也不同,通過特征金字塔模塊上采樣后對于人群密度和不同場景信息可能會丟失,為了加強網絡對于不同尺度目標捕獲的特征并且精確回歸密度圖,本文設計了一個多尺度空洞卷積模塊,該模塊通過并行堆疊具有不同膨脹率的空洞卷積層,增大了感受野,更適用于人群密度估計任務,如圖4所示,它能夠用于挖掘圖像細節信息,加強對特征的提取。

圖4 多尺度空洞卷積模塊Fig.4 Multi-scale dilated convolutional module

具體而言,多尺度空洞卷積模塊包含3列路徑和1×1路徑,每列由單個卷積層和空洞卷積層組成。本文將相應的卷積核和空洞率設置得盡可能小,目的是適應小規模對象的人群計數場景。每個卷積層之后是歸一化(batch normalization,BN)層和ReLU激活函數。每列輸出的特征圖和快捷路徑相加以利用它們的多尺度特征,使得多尺度空洞卷積模塊更輕量化的同時獲得更好的性能。

2.2.2 金字塔平均池化模塊

在通過多尺度空洞卷積模塊后,已經獲得了充分的結構和空間信息。但在人群計數任務中,同一個場景中往往存在不同尺度的人頭大小,此時需要應對人頭尺度變化并減少解碼部分的信息損失。為防止丟掉太多高維語義信息,為此設計了金字塔平均池化模塊,用于融合不同尺度的特征圖。該模塊通過不同層級輸出不同尺度的特征圖,以保持全局特征的權重,并通過1×1卷積核處理每個金字塔層級后的輸出。通過雙線性插值直接對低維特征圖進行上采樣,使其與原始特征圖尺度相同。將不同層級的特征圖拼接為最終的金字塔,平均池化全局特征。通過一層1×1卷積生成最終的密度圖。該模塊能夠應對人頭尺度變化,幫助提高人群計數的準確性,如圖5所示,它可以滿足不同尺度的輸入圖像,在不丟失信息的情況下可以提取每個空間位置的特征。

圖5 金字塔平均池化模塊Fig.5 Pyramid average pool module

本文采用多尺度空洞卷積模塊和金字塔平均池化模塊進行特征增強并作為回歸頭,是因為其簡單且高效。在特征圖相同情況下,空洞卷積可以得到更大的感受野,更大的感受野可以提高在密集任務中小物體識別分割的效果,從而獲得更加密集的數據。金字塔平均池化可以提取不同尺寸的空間特征信息,提升網絡對于空間布局和人頭尺度變化的魯棒性。

2.3 深度監督

2.3.1 全監督損失函數

本文設計一種基于基于分布匹配(distribution matching, DM-Count)的損失函數[20]。在人群計數過程中,使用高斯平滑每一個注釋點會損害泛化性能,因此采用分布匹配方法進行人群計數。DM-Count使用計數損失、最優傳輸損失和總變量損失3個項來制定損失函數。

人群計數的目標是使||||盡可能接近1||Z||1,計數損失被定義為它們之間的絕對差:

式中:Z和分別代表真值和預測密度圖,||·||1代表L1范數。

最優傳輸是指將一種概率分布轉化為另一種概率分布的最優成本。本文使用最優傳輸來度量預測密度圖和地面真實密度圖之間的相似性,因為最優傳輸損失可使模型具有強大的擬合能力。最優傳輸成本也可以通過雙重公式計算為[20]

式中:μ和ν分別為定義在向量空間上的2組點x和y上的2個概率度量。

最優傳輸損失LOT定義為

式中:W為式(9)代表的最優傳輸成本,α*、β*為式(9)的解。

DM-Count中的總變量損失使用了原始的地面真相的頭部注釋,不夠平滑,無法建立一個強有力的人物形象。特別是在一些稀疏的場景中,人群的規模更大,用像素表示一個人是不合理的。為了解決這個問題,采用均方誤差損失(即L2損失)正則化預測與真值之間的差距。L2損失為

式中N為樣本數。

因此,通過計數損失L1、最優傳輸損失LOT及均方誤差損失L2的加權和制定的損失函數LM為

式中:λ1和λ2為損失系數,在DM-Count[20]中分別設置為0.01和0.1。

為了解決訓練過程中的梯度下降和梯度消失的問題,本文設計了一個輔助損失函數增強訓練[27]。由于不同深度的卷積層對最終損失的貢獻不同,一般來說,網絡越深,感知范圍越廣,提取到的特征表達能力越強,因此較深層的特征圖輸出在某種程度上比淺層的輸出更重要。根據這個原則及相關實驗的支持,將輔助監督損失均設置為均方誤差損失(L2損失),每個階段的輔助損失如圖2所示,并將不同深度的輔助損失函數的權重設置為可學習的ni,i∈(1,2,3), 所以最終的損失函數為

2.3.2 弱監督損失函數

為了訓練方便,本文對3個多尺度分支和多尺度融合網絡設計了4個smoothL1損失,因為不同圖像中人群的數量變化很大,并且L1、L2損失單獨對離散值很敏感,存在梯度爆炸問題。因為網絡的不同分支在檢測不同尺寸的頭部時將具有不同的精度,所以損失函數中使用任務特定的可學習權重ωi,i∈(1,2,3,4),本文的弱監督損失函數定義為

3 實驗結果與分析

為了驗證本文提出方法的有效性,設計了一系列實驗進行探討分析,驗證所提出方法的有效性和優越性。在本節中,首先說明實驗細節、數據集和評估指標,其次展示所提出的MSPT-Net在3個數據集上的實驗結果以及可視化結果,最后在ShanghaiTech數據集[7]進行消融研究。

3.1 實驗細節

本實驗在訓練的過程中主要在NVIDIA Ge-Force RTX 3 090 24 GB、Python3.7和PyTorch 1.7的服務器上實現,骨干采用的是基于PVT改進模型。ST_PartB和UCF-QNRF的裁剪大小均為512,ST_PartA和NWPU裁剪大小均為256。本文使用了AdamW優化算法并且訓練批次大小為8,初始學習率設為1×10-5。

3.2 數據集

ShanghaiTech數據集包含1 198張圖片,共標記了330 165個人頭數量。數據集分為Part A和Part B 2部分。Part A包含482張圖像,圖像目標較為密集,其中訓練集300張圖像,測試集182張圖像,圖像平均分辨率為589×868。Part B共包含716張圖像,圖像目標較為稀疏,其中訓練集400張圖像,測試集316張圖像,圖像平均分辨率為768×1 024。

UCF-QNRF數據集[28]共包括1 535張人群圖像,其中訓練集1 201張圖像,測試集334張圖像。就注釋數量而言,UCF-QNRF是迄今為止最大的數據集,可用于訓練和評估大規模人群密集計數模型。該數據集的圖像是從不同網站收集的,這些圖像在場景和圖像大小方面都具有很大的多樣性。其中訓練集1 201張圖像,測試集334張圖像,圖像平均分辨率為2 013×2 902。

NWPU數據集[29]是目前最大的人群計數數據集,由5 109張高分辨率圖像和213萬多條注釋組成。圖像中的人數范圍從0~20 033。此外,在這個數據集中引入了負樣本,它指的是沒有人或具有與人群場景相似紋理的圖像。其中訓練集3 109張圖像,驗證集500張圖像,測試集1 500張圖像,圖像平均分辨率為2 311×3 383。

3.3 評價指標

采用平均絕對值誤差(mean absolute error, MAE)和均方根誤差(root mean square error, MSE)用于評價模型性能,即

式中:N為來自測試集的樣本數,Yi和分別為第i個測試圖像中的預測數量和真實數量。通過對模型輸出的人群密度圖求和獲得預測計數。對于MAE和MSE,如果值越小,則測試樣本越接近真實人數。

3.4 實驗結果對比

為了評估所提出模型的有效性,在3個公共的數據集上進行了實驗驗證,包括Shanghai-Tech[7]、UCF-QNRF[28]和NWPU[29]數據集。此外,在全監督方法上也與CSRNet[8]、DM-Count[20]、SUA-Fully[30]、MFP-Net[18]、TransCrowd[13]、DLMPNet[31]、SC2Net[32]、FIDTM[33]等先進的網絡模型進行比較。同時,本文在弱監督方法上也與CCSLL[34]、MATT[35]、TransCrowd[13]、MPS[36]進行比較。具體結果如表1所示,其中√表示選擇方式,—表示未選擇。

表1 不同網絡在Shanghai Tech、UCF-QNRF、NWPU數據集上的對比結果Table 1 Comparison results of different networks on Shanghai Tech, UCF-QNRF, NWPU datasets

在ShanghaiTech數據集上將本文方法與經典方法進行比較。在Part A部分,本文全監督方法與經典方法CSRNet相比,MAE和MSE分別降低了15.1和26.7,本文全監督方法與最新的方法FIDTM相比,MAE和MSE分別降低了3.9和15.1。在Part B部分,本文全監督方法與CSRNet相比,MAE和MSE分別降低了3.6和4.9,本文全監督方法與最新的方法FIDTM相比,MSE降低了0.7。本文弱監督方法甚至超越了一些全監督方法,本方法在Part A中獲得MAE為65.5、MSE為69.9的優秀弱監督成績,相比較于基準TransCrowd有著大幅度的提升。在Part B中,相較于最新弱監督方法MPS,MAE和MSE分別降低了1.8和2.2。實驗結果表明,本文方法相比于傳統的卷積神經網絡方法有著明顯的優勢。與主流弱監督方法相比,仍然有著很強的競爭力。

為了進一步驗證本文所提模型的泛化能力,在UCF-QNRF、NWPU數據集上也進行了實驗。在UCF-QNRF數據集上本文全監督方法與CSRNet相比,MAE和MSE分別降低了38.8和68.6,本文方法與最新方法FIDTM相比,MAE和MSE分別降低了6.5和14.1,本文方法再次優于其他方法。同時在弱監督方法上,本文方法相比于基線TransCrowd和最新弱監督方法MPS仍然有著大幅度的提升。這是因為本文設計的特征金字塔模塊可以包含更多細節信息,有助于檢測小物體。同時本文設計的多尺度空洞卷積模塊與金字塔平均池化模塊,可以更好地從Transformer中捕獲多尺度特征和全局上下文信息來回歸人群數量。

在NWPU數據集上全監督方法與CSRNet相比,MAE和MSE分別降低了116.7和172.7,本文方法與最新方法FIDTM相比,MAE降低了12.1。在弱監督方法上,本文方法有著更大的提升。實驗結果表明,本文方法在處理大規模數據時表現出卓越的性能,同時相對于其他主流算法仍能夠保持準確的計數結果和較高的魯棒性。

3.5 模型輕量化分析

為了客觀衡量所提出模型的輕量化,對模型參數(Params)和計算量(FLOPs)的定量對比進行了實驗驗證,為保證實驗數據的合理性,本文在基于Transformer的人群計數框架上進行重點對比試驗分析,同時,對CNN網絡模型也進行了數據對比以作參考。其中,Params和FLOPs越小越有利于輕量檢測,GFLOPs是在256×256的輸入規模下計算的。實驗結果如表2所示。

表2 不同模型輕量化指標對比Table 2 Comparison of lightweight indexes of different models

對表2中數據進行分析發現,對于MCNN、CSRnet、DM-Count等均未使用Transformer的CNN網絡模型,參數量相對較低,但FLOPs相對較高。本文方法的參數量為26.93 MB,FLOPs為9.63 GB,基準方法TransCrowd參數量為86.8 MB,FLOPs為49.3 GB,在性能提升的同時,參數量以及計算量也有著顯著的下降。

3.6 可視化

為了驗證本文方法的有效性,選擇了5類有代表性的樣本,圖6給出了在NWPU數據集使用不同方法上預測密度圖的比較結果。在每張圖片的右下角,標注了預測密度圖的計數結果。第1列是負樣本,樣本信息中無人物出現,其紋理信息與密集人群的紋理信息相似,由于CSRNet直接融合所提取的特征而不進行區分,導致如第3行第1列的圖像所示的較差的預測結果。而本文提出的MSPT-Net使用金字塔Transformer去提取不同階段的特征,進而感知背景與細節信息,可以抑制背景噪聲,提高模型的泛化能力。第2、3列為光照存在巨大差異的樣本,在光照不一的照明條件下,本文模型仍實現了精細的預測結果,這表明本文模型具有很強的魯棒性。第4列為嚴重遮擋以及人頭尺度不一的樣本、第5列為高密集人群樣本,很明顯,MSPT-Net可以提供良好的預測結果,由于CSRNet是單列網絡沒有融合多尺度信息、TransCrowd只捕獲全局信息丟失了局部信息導致預測圖像人頭丟失,而本文提出的方法使用深度可分離自注意力模塊能有效獲取圖像的局部和全局信息,同時,多尺度感受野的回歸頭模塊能有效增強捕獲的特征信息,所以本文方法能夠更好地解決人群計數面臨的計數場景復雜、目標尺度變化較大等問題。這些可視化結果表明,本文所提出的方法能夠在不同場景、不同人群密度下有效地學習人群圖像和人群密度圖之間的映射關系,表明本文方法具有很強的魯棒性。

圖6 NWPU數據集不同方法的部分可視化結果Fig.6 Partial visualization result plots of different methods for the NWPU dataset

3.7 消融實驗

為了訓練方便,將Part A中的圖像隨機裁剪成一些尺寸為256×256的小尺寸圖像,Part B中的圖像隨機裁剪成尺寸為512×512的圖像。為了驗證所設計的特征金字塔模塊(FPM)、多尺度空洞卷積模塊(MAC)和金字塔平均池化模塊(PAP)的有效性,本文在ShanghaiTech數據集進行了消融實驗,實驗結果如表3和表4所示。

表3 關于FPM不同階段特征的消融實驗Table 3 Ablation experiments on the characteristics of different stages of FPM

表4 關于MAC和PAP的消融實驗Table 4 Ablation experiments on MAC and PAP

表3為使用不同階段的特征評估特征金字塔模塊的性能。不同階段的特征有著不同的語義特征,F1、F2、F3分別為從淺到深3個階段的特征??梢园l現,當缺少其中任何一個階段的特征時,性能都會下降,同時深層次的特征有著更多的語義特征,對人群計數也更為至關重要。聚合其他階段的特征可以提供在深層階段丟失的語義信息,從而提高網絡對于不同密度場景的適應性和計數精度。結果表明,特征金字塔模塊有助于融合圖像深層和淺層語義特征信息,進而提高了人群計數的準確性。

表4為分別使用不同模塊評估多尺度感受野的回歸頭中多尺度空洞卷積模塊和金字塔平均池化模塊的必要性。實驗結果表明,在只有一種模塊的情況下,模型精度會有所下降,進一步驗證了多尺度空洞卷積模塊和金字塔平均池化模塊的必要性。同時,本文也對深度監督訓練方式的輔助損失進行了驗證。實驗結果表明,每條支路的損失都對衡量模型起到正面作用,同時采用三分支不同權重的損失可提高網絡性能,使其更好地收斂。結果如表5所示。

表5 不同權重損失的消融實驗Table 5 Ablation experiments with different weight loss

4 結束語

本文提出一種簡單但高性能的基于多尺度金字塔Transformer人群計數方法(MSPT-Net),首先MSPT-Net能夠同時捕獲全局上下文信息和局部語義信息。其次為了融合深層和淺層語義特征信息,本文在網絡中嵌入了特征金字塔模塊,并通過多尺度的空洞卷積模塊和金字塔平均池化模塊增強特征來預測密度圖。在網絡的每個中間階段都引入了額外的監督損失,以穩定訓練過程。MSPT-Net在多個公開數據集上表現出優異性能,其可以應用于人群計數領域,如人流量監控和城市規劃等。未來,將繼續改進我們的方法,以實現更輕量化的模型,使其可以遷移至移動設備中。同時使用無監督的學習策略,解決人群計數任務中人頭位置標注繁瑣等數據問題。

猜你喜歡
金字塔尺度計數
“金字塔”
古人計數
A Study of the Pit-Aided Construction of Egyptian Pyramids
遞歸計數的六種方式
財產的五大尺度和五重應對
古代的計數方法
海上有座“金字塔”
這樣“計數”不惱人
神秘金字塔
宇宙的尺度
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合