王志新,王如剛,王媛媛,周 鋒,郭乃宏
(1.鹽城工學(xué)院 信息工程學(xué)院,江蘇 鹽城 224051;2.鹽城雄鷹精密機(jī)械有限公司,江蘇 鹽城 224006)
行人檢測(cè)技術(shù)已成為目標(biāo)檢測(cè)領(lǐng)域的一個(gè)重要組成部分,它不僅有助于自動(dòng)駕駛,還可以為智慧城市提供支持,因此受到了學(xué)術(shù)界的高度重視和廣泛關(guān)注[1-2]。行人是社會(huì)場(chǎng)景中最為重要的部分,隨著無人駕駛不斷發(fā)展和智慧城市加快構(gòu)建,其對(duì)行人檢測(cè)的要求也有了進(jìn)一步提高[3-5]。同時(shí),因?yàn)樾腥说某叨茸儞Q、遮擋、密集等問題,行人檢測(cè)精度仍有提升需求。此外,行人檢測(cè)效率也是學(xué)術(shù)界高度關(guān)注的一個(gè)方面。
針對(duì)行人檢測(cè)時(shí)行人目標(biāo)會(huì)出現(xiàn)漏檢、誤檢等問題,研究人員提出各種方法以解決這一問題。通常做法是在特征提取階段加以改進(jìn),既可以在Backbone 層利用淺層網(wǎng)絡(luò)和深層網(wǎng)絡(luò)的交互幫助淺層和深層網(wǎng)絡(luò)分別獲取細(xì)粒度特征和語義信息,進(jìn)而提高特征提取能力,也可以在Neck 層通過融合不同層級(jí)的特征圖提高表征能力。2017年,Lin 等[6]設(shè)計(jì)出特征金字塔網(wǎng)絡(luò),其采用自上而下的方式實(shí)現(xiàn)淺層和深層等各不同層次特征圖之間的信息流動(dòng),能夠確保每一層特征圖都有相應(yīng)的語義信息和合適的分辨率。2018 年,Hu 等[7]為了提高檢測(cè)精度,通過引入注意力機(jī)制獲取周邊信息以幫助網(wǎng)絡(luò)識(shí)別檢測(cè)目標(biāo)。2019 年,侯帥鵬等[8]開發(fā)出一種新型的Top-Down 融合單元,它能夠?qū)崿F(xiàn)高層語義信息與低層細(xì)節(jié)信息的融合,從而提高了小尺度行人的檢測(cè)精度。此外,該技術(shù)還利用Mobile-NetV2 及深度可分離卷積,極大增強(qiáng)了識(shí)別的及時(shí)性。2020 年,王丹峰等[9]采用深度可分離卷積和Inception 網(wǎng)絡(luò)結(jié)構(gòu),將其融入到Y(jié)OLOv3,實(shí)現(xiàn)檢測(cè)精確度和速率提升。2021 年,馮宇平等[10]通過融合通道注意力機(jī)制,引導(dǎo)網(wǎng)絡(luò)關(guān)注行人,實(shí)現(xiàn)檢測(cè)精度提升。2021 年,Yan 等[11]將SE Block 模塊嵌入至YOLOv5的Backbone 中,以突出特征圖中的重要特征,抑制不相關(guān)特征,使mAP 提升1.44%,從而提高網(wǎng)絡(luò)檢測(cè)性能。2021 年,許虞俊等[12]將ECA 和Ghost 技術(shù)引入YOLONano,以減小模型計(jì)算復(fù)雜度,同時(shí)針對(duì)原有算法檢測(cè)框定位出錯(cuò)的問題,采取D-IoU loss 替換原有損失函數(shù),從而實(shí)現(xiàn)輕量化和模型性能提升。2023 年,陳勇等[13]提出融合多個(gè)注意力機(jī)制,實(shí)現(xiàn)了小尺度行人檢測(cè)精度提升。
從現(xiàn)有研究成果看,通過融合注意力機(jī)制和不同層次特征圖可以有效提升精確度,并且采用各種輕量化卷積操作和改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)有效提升檢測(cè)速度。但是,由于在現(xiàn)實(shí)場(chǎng)景中背景信息復(fù)雜,行人目標(biāo)的像素相對(duì)不足,且因?yàn)樾腥四繕?biāo)多會(huì)受到外界影響,例如出現(xiàn)遮擋、陰影覆蓋等狀況從而導(dǎo)致行人檢測(cè)出現(xiàn)漏檢、誤檢等情況[14-15]。以上方法都未能有效利用淺層特征圖中豐富的小尺度行人特征,故本文提出一種基于混合注意力機(jī)制和C2f(Client to Front)的YoloX 改進(jìn)算法。通過交互淺層與深層行人特征信息,再以此進(jìn)行特征增強(qiáng)可有效提升行人檢測(cè)精度并降低漏檢率,同時(shí)采用自注意力機(jī)制抑制背景信息對(duì)行人特征的干擾。此外,使用ECA 注意力機(jī)制解決因自注意力機(jī)制導(dǎo)致的中小尺度檢測(cè)精度降低的問題,且采用C2f 模塊與混合域注意力機(jī)制BAM 融合以實(shí)現(xiàn)行人目標(biāo)檢測(cè)精度和運(yùn)行效率提升。
基于YoloX 算法改進(jìn)后的模型如圖1 所示。該模型由4 個(gè)模塊構(gòu)成,特征提取模塊提取淺層和深層包含不同特征信息的特征圖,相較于YoloX 原有的C3 模塊,C2f少了一層卷積的同時(shí)更多地使用跳層連接,可以獲取更為豐富的梯度流信息;特征金字塔模塊融合各層次的特征圖,通過淺層和深層特征圖之間的信息交互,以便利用不同特征層的特征信息,引入注意力機(jī)制和C2f模塊,提取豐富的行人特征,可以有效處理因網(wǎng)絡(luò)加深導(dǎo)致行人特征減少的問題;在YoloX 算法中設(shè)計(jì)一個(gè)特征增強(qiáng)模塊,通過特征融合策略促使不同層次的特征圖獲取其他特征圖的相同信息并引入注意力機(jī)制以增強(qiáng)行人特征;基于特征增強(qiáng)模塊設(shè)計(jì)一個(gè)檢測(cè)模塊以完成行人目標(biāo)預(yù)測(cè),獲取預(yù)測(cè)邊界框。
Fig.1 Model structure圖1 模型結(jié)構(gòu)
YoloX 的特征提取模塊采用CSPDarknet 網(wǎng)絡(luò)實(shí)現(xiàn)特征提取,其主要由CBS 模塊、C3 模塊和SPP 模塊組成。首先通過Focus 模塊獲取沒有信息丟失的特征圖,然后依次通過4 個(gè)C3 模塊獲取不同分辨率的特征圖,最后加入空間金字塔池化(Spatial Pyramid Pooling,SPP),擴(kuò)大網(wǎng)絡(luò)的感受野。本文改進(jìn)之處是采用C2f 模塊替換原本的C3 模塊,并使用SPPF 模塊擴(kuò)大網(wǎng)絡(luò)的感受野。圖2 中的(a)和(b)圖分別表示C3模塊和C2f模塊。
Fig.2 C3 module and C2f module圖2 C3模塊與C2f模塊
C2f模塊參考了C3 模塊和ELAN(Efficient Layer Aggregation Network)的設(shè)計(jì)思想,相對(duì)于原本的C3 模塊少了一層卷積,并且采用Split 進(jìn)行特征分層,并使用了更多的跳層連接,以便在進(jìn)行特征提取時(shí)保證輕量化并獲得更為豐富的梯度流信息。相對(duì)于SPP 模塊,SPPF 模塊采用了多個(gè)小尺寸池化核級(jí)聯(lián),可以在擴(kuò)大感受野的同時(shí)進(jìn)一步提高運(yùn)行速度,節(jié)省了計(jì)算成本。
特征金字塔是通過自上而下對(duì)特征信息進(jìn)行多尺度融合,由于是單向傳遞特征信息,故容易在特征增強(qiáng)過程中丟失細(xì)節(jié)信息。因此,本模塊采用雙向特征金字塔通過淺層和深層特征圖之間的信息交互,針對(duì)淺層特征圖具有的豐富細(xì)節(jié)信息和深層特征圖具有的豐富語義信息這一特點(diǎn),上采樣深層特征層{C4}與淺層特征層融合傳遞豐富語義信息的同時(shí),下采樣淺層特征層{C2}與深層特征層融合以確保淺層特征層中豐富的細(xì)節(jié)信息能夠向深層特征層傳遞。這種方法盡可能地保留了行人信息,避免丟失細(xì)節(jié)信息,一定程度上解決了信息流單向傳遞的問題。
通過卷積神經(jīng)網(wǎng)絡(luò)獲取的行人特征擁有兩個(gè)關(guān)鍵點(diǎn):①行人特征主要留存在淺層特征圖,也即{C2,C3}特征圖含有相關(guān)的行人特征,雖然特征金字塔可以實(shí)現(xiàn)不同層次特征圖之間的信息流動(dòng),但依然會(huì)抑制一定的行人特征;②行人特征不明顯,特征圖中包含許多背景信息,因此如何增強(qiáng)行人特征,抑制無用特征尤為重要。
因此,為了實(shí)現(xiàn)行人檢測(cè)速度和精度提升,將雙向特征金字塔模塊中的C3 模塊替換為C2f-BAM 模塊。C2f-BAM 模塊通過引入注意力機(jī)制可以有效地增強(qiáng)行人特征以提升檢測(cè)效果,且由于采用了空洞卷積,故可以在不增加過多參數(shù)量的同時(shí)獲取更為豐富的感受野。C2f-BAM模塊如圖3所示。
Fig.3 C2f-BAM module圖3 C2f-BAM 模塊
1.2.1 C2f-BAM模塊
通過利用注意力機(jī)制,可以從特征圖中提取出有價(jià)值的信息,將注意力機(jī)制應(yīng)用于行人檢測(cè)可以更好地突出行人特征。其中,空間注意力機(jī)制、通道注意力機(jī)制和混合域注意力機(jī)制[16-18]都具有多種優(yōu)勢(shì),因而被廣泛應(yīng)用于各種目標(biāo)檢測(cè),尤其是在行人檢測(cè)中,它們的作用更加顯著。此外,由于混合域注意力機(jī)制融合了多種注意力機(jī)制,兼顧了不同注意力機(jī)制的優(yōu)點(diǎn),因而混合域注意力機(jī)制的使用范圍尤為廣泛,特別是在目標(biāo)檢測(cè)中應(yīng)用頗多。
相對(duì)于通道注意力,混合域注意力不僅僅對(duì)特征圖的各通道進(jìn)行了權(quán)重提取,還考慮了空間各部分的權(quán)重參數(shù)和空間部分的特征信息。常見的混合域注意力機(jī)制主要是BAM 和CBAM,二者設(shè)計(jì)思路相似,不同之處在于BAM將通道注意力與空間注意力并聯(lián),獲得的權(quán)重結(jié)果按元素相加的方式進(jìn)行結(jié)合,而CBAM 則依次添加通道注意力和空間注意力[20]。
C2f-BAM 模塊通過C2f 模塊與通道注意力模塊(ACAM)和空間注意力模塊(MSAM)相結(jié)合。可以通過ACAM 抑制特征圖中的噪聲等無用信息,并且使用MSAM保留所需的行人信息。同時(shí),采用并行結(jié)構(gòu),進(jìn)一步提升了運(yùn)行速度。BAM 模塊結(jié)構(gòu)如圖4 所示,BAM 計(jì)算表達(dá)式如式(1)—式(3)所示。
Fig.4 BAM module圖4 BAM模塊
輸入的特征圖分別使用通道注意力與空間注意力加以處理。在通道注意力中,為了聚合特征圖的通道維度,采用全局平均池化;同時(shí)為了評(píng)估通道效果,使用一個(gè)多層感知(MLP),且在MLP 之后,增加BN 以調(diào)整規(guī)模和空間分支一樣的輸出。在空間注意力中,利用上下文信息選擇性增強(qiáng)或者抑制特征,同時(shí)采用空洞卷積,相對(duì)于普通卷積,空洞卷積可以更有效地增大感受野。
通過特征金字塔獲取的3 個(gè)特征圖,實(shí)現(xiàn)了行人特征部分增強(qiáng),并抑制了背景信息等無效特征。此外,因?yàn)樘卣鹘鹱炙梢詫?shí)現(xiàn)多層次特征圖的交互,導(dǎo)致行人特征與背景信息等無用特征相交互。因此,可以通過在特征金字塔和預(yù)測(cè)網(wǎng)絡(luò)中間插入一個(gè)特征增強(qiáng)模塊以實(shí)現(xiàn)行人特征增強(qiáng)[21]。特征增強(qiáng)模塊如圖5 所示,首先通過融合之前獲取到的不同層次的特征圖,使得特征圖獲取相互之間的共有信息,從而突破特征金字塔的層級(jí)結(jié)構(gòu),盡可能地保留淺層特征圖中的行人特征;然后,使用自注意力模塊獲取特征圖中特征點(diǎn)之間的關(guān)聯(lián)性,利用全局信息引導(dǎo)網(wǎng)絡(luò)關(guān)注行人特征,從而實(shí)現(xiàn)目標(biāo)特征增強(qiáng)并抑制噪聲等無用特征的目的;再通過上采樣、最大池化、卷積操作將特征圖大小恢復(fù)到和原始特征圖一致后,再使用ECA 模塊獲取不同通道的權(quán)重系數(shù),從而引導(dǎo)網(wǎng)絡(luò)關(guān)注行人目標(biāo);最后,使用3 個(gè)相同檢測(cè)模塊分別對(duì)實(shí)現(xiàn)特征增強(qiáng)效果的{P2'',P3'',P4''}3 個(gè)特征圖進(jìn)行對(duì)應(yīng)目標(biāo)類別、回歸、位置等信息的預(yù)測(cè)。
1.3.1 特征融合
通過融合不同層次的特征圖,使得各特征圖可以獲取其他不同分辨率的特征圖中的共有信息。將獲取的特征圖{P2,P4}大小進(jìn)行處理以便與特征圖{P3}保持一致,從而實(shí)現(xiàn)特征融合。特征融合策略的計(jì)算表達(dá)式如式(4)所示。
其中,F(xiàn)m、Fu和Conv 分別是最大池化、上采樣和卷積操作,作用是調(diào)整特征金字塔輸出特征圖的分辨率以保持一致,并通過卷積操作調(diào)整特征圖的通道數(shù),以進(jìn)行特征融合從而獲取一個(gè)新的特征圖。
1.3.2 自注意力機(jī)制
利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取時(shí),采用卷積層和池化層進(jìn)行特征提取并擴(kuò)大感受野,從而導(dǎo)致提取行人特征時(shí)會(huì)忽略全局信息。自注意力模塊可以通過對(duì)像素之間建立相互關(guān)系從而獲得較為密集的全局信息。其模塊結(jié)構(gòu)如圖6所示。
Fig.6 Self-attention module圖6 自注意力模塊
首先,使用自注意力模塊將先前獲取的兼具淺層特征圖中豐富細(xì)節(jié)信息和深層特征圖中豐富空間信息的特征圖的大小建立為C×HW;接著,使用1×1 卷積對(duì){Pm}特征圖進(jìn)行線性映射操作,獲取g(Pm),θ(Pm),?(Pm);然后,對(duì)進(jìn)行矩陣相乘,從而獲得特征圖空間關(guān)聯(lián)性矩陣;最后,對(duì)上一步獲取的空間關(guān)聯(lián)性矩陣進(jìn)行歸一化處理,再與初始的映射矩陣相乘,獲取自注意力響應(yīng),其表達(dá)式為:
其中,W?、Wg、Wθ分別是1×1 卷積核中的可學(xué)習(xí)參數(shù),利用1×1 卷積實(shí)現(xiàn)特征圖的線性映射。其計(jì)算可用式(10)表示。
其中,Wz表示1×1卷積核中的可學(xué)習(xí)參數(shù)。
1.3.3 ECA注意力機(jī)制
神經(jīng)網(wǎng)絡(luò)通常通過標(biāo)注的全局信息獲取行人特征,但如果行人被遮擋,且因?yàn)楸徽趽醪糠謱?duì)于預(yù)測(cè)值的計(jì)算十分重要,導(dǎo)致提取的特征與預(yù)測(cè)的不匹配,從而出現(xiàn)漏檢情況。為了解決該問題,可以添加通道注意力機(jī)制,對(duì)通道權(quán)重進(jìn)行重標(biāo)以減緩遮擋問題對(duì)行人檢測(cè)的干擾,從而確保網(wǎng)絡(luò)關(guān)注行人目標(biāo)。SENet(Squeeze-and-Excitation Networks)通道注意力機(jī)制[22]可以建立特征圖中的空間相關(guān)性,但是SENet 因?yàn)椴捎媒稻S操作會(huì)降低獲取依賴關(guān)系效率,從而導(dǎo)致預(yù)測(cè)通道注意力方面產(chǎn)生不足。因?yàn)榫矸e具有良好的跨通道信息獲取能力,WANG 等[23]通過在SENet 中使用一維卷積替換掉全連接層FC,從而成功地避免了降維,并且有效地獲取了跨通道交互的信息,在提升性能的同時(shí)減少了計(jì)算量,實(shí)現(xiàn)了一種輕量級(jí)的高效通道注意力模塊(Efficient Channel Attention Module,ECA)設(shè)計(jì)。ECA 結(jié)構(gòu)如圖7 所示,首先將特征圖通過全局平均池化,將其維度從C·H·W 壓縮到1×1×C 的規(guī)格;然后使用1×1 卷積,通過通道特征學(xué)習(xí)從而獲取相對(duì)應(yīng)的權(quán)重系數(shù),此時(shí)輸出維度為1×1×C[24];最后,將處理后的特征圖與原始的特征圖逐通道相乘,獲取結(jié)合了通道注意力的特征圖。
Fig.7 ECA module圖7 ECA模塊
k與C的關(guān)系如式(11)所示。
其中,C表示通道數(shù),k表示1×1 卷積的卷積核數(shù),表示距離最近的奇數(shù),γ和b分別設(shè)為2和1。
最后的預(yù)測(cè)網(wǎng)絡(luò)分為3 個(gè)部分,通過類別預(yù)測(cè)、位置預(yù)測(cè)、回歸預(yù)測(cè)這3 個(gè)部分獲取預(yù)測(cè)邊界框。位置預(yù)測(cè)和類別預(yù)測(cè)采用交叉熵?fù)p失為損失函數(shù),回歸部分的損失函數(shù)采用IoU 損失。類別部分的損失函數(shù)計(jì)算如式(12)所示,位置部分的損失函數(shù)計(jì)算如式(13)所示,回歸部分的損失函數(shù)計(jì)算如式(14)所示,IoU的計(jì)算如式(15)所示。
其中,N、M、Z依次為類別、位置、回歸部分的樣本總數(shù);gti和gtj依次為類別、位置和部分真實(shí)框的類;pi是類別部分的特征點(diǎn)類別預(yù)測(cè)結(jié)果,pj為位置部分的特征點(diǎn)是否包含物體的預(yù)測(cè)結(jié)果;(xl,xt,xr,xb)和則是預(yù)測(cè)框和真實(shí)框左上角與右下角的坐標(biāo)。最終損失函數(shù)公式由類別、位置、回歸這3 個(gè)損失函數(shù)以不同的權(quán)重系數(shù)組合而成,如式(20)表示。
其中,θ為網(wǎng)絡(luò)學(xué)習(xí)參數(shù),λc為權(quán)重因子,參照文獻(xiàn)[25]設(shè)置為5。
實(shí)驗(yàn)所用數(shù)據(jù)集為CrowdHuman,該數(shù)據(jù)集是由曠世提供的一個(gè)用于行人檢測(cè)的數(shù)據(jù)集,包含訓(xùn)練集15 000張,測(cè)試集5 000 張,驗(yàn)證集4 370 張,每張圖片大約包含23個(gè)人,同時(shí)這些圖片包含了各種情況下的行人圖,例如遮擋、小目標(biāo)等狀況[23]。該數(shù)據(jù)集下行人所處的環(huán)境多種多樣,面臨的挑戰(zhàn)較多,能夠很好地檢驗(yàn)?zāi)P托阅?。評(píng)價(jià)指標(biāo)采用平均準(zhǔn)確率(Average Precision,AP)和幀率(Frames Per Second,F(xiàn)PS),可以更加清晰地反映出實(shí)驗(yàn)?zāi)P驮谧R(shí)別行人時(shí)的精確程度和效果。AP 和FPS 的提升將有助于提升系統(tǒng)整體效果,從而更有效地完成任務(wù)。其中,AP 值越高表示實(shí)驗(yàn)?zāi)P蜋z測(cè)行人目標(biāo)的性能越好;FPS 值越高表示實(shí)驗(yàn)?zāi)P偷倪\(yùn)行速度越快。本文依據(jù)COCO 數(shù)據(jù)集對(duì)不同尺度目標(biāo)的劃分標(biāo)準(zhǔn)如表1所示。
Table 1 Criteria for dividing targets at different scales表1 不同尺度目標(biāo)的劃分標(biāo)準(zhǔn)
本文實(shí)驗(yàn)使用Pytorch 深度學(xué)習(xí)框架進(jìn)行模型改進(jìn),硬件配置為Intel(R)Core(TM)i7-12700H CPU,NVIDIA Ge-Force RTX3090 和64GB 內(nèi)存。軟件環(huán)境為Python3.6、Cuda10.1、Pytorch3.6和Numpy 1.17.0。
2.2.1 實(shí)驗(yàn)設(shè)置
在訓(xùn)練階段,將CrowdHuman 數(shù)據(jù)集圖片分辨率設(shè)置為640×640,每個(gè)訓(xùn)練批次大小設(shè)置為4 張圖,迭代次數(shù)設(shè)置為150。通過色域扭曲、翻轉(zhuǎn)圖像、縮放圖像等操作隨機(jī)預(yù)處理輸入圖像,使用自適應(yīng)片矩估計(jì)(Adaptive Moment Estimation,Adam)優(yōu)化器,初始學(xué)習(xí)率為0.000 1。
2.2.1 實(shí)驗(yàn)比較
為了驗(yàn)證改進(jìn)模型的效果,將改進(jìn)后的模型分別與Yolov4[26]、RetinaNet[27]、CenterNet[29]、YoloX、YoloX-SA-SE等5 種模型進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果如表2 所示,檢測(cè)效果比較如圖8所示。
Table 2 Comparison of the experimental results表2 實(shí)驗(yàn)結(jié)果比較(%)
Fig.8 Comparison of experimental results圖8 實(shí)驗(yàn)結(jié)果比較
從表2 可以看出,改進(jìn)后的模型在IoU 閾值為0.5 時(shí)(對(duì)應(yīng)AP50),檢測(cè)準(zhǔn)確率達(dá)73.2%,提升了1.5%。此外,小尺度行人檢測(cè)準(zhǔn)確率提升了3.1%,中尺度行人檢測(cè)準(zhǔn)確率提升了2.6%,大尺度行人檢測(cè)準(zhǔn)確率提升了2.2%。與幾種常用目標(biāo)檢測(cè)算法(RetinaNet,Yolov4 和CenterNet)相比,檢測(cè)精度分別提高了13%、9%、3.2%。相較于最新的一種基于YoloX 改進(jìn)的YoloX-SA-SE 行人檢測(cè)算法,檢測(cè)精度也提高了0.5%??梢钥闯?,YoloX 算法相比一些經(jīng)典算法,無論是何種尺度的行人目標(biāo),其檢測(cè)精度都有所提升。其中,最新的一個(gè)YoloX-SA-SE 的改進(jìn)算法利用CSP模塊和雙向特征金字塔網(wǎng)絡(luò)以及注意力機(jī)制保留淺層特征信息,利用殘差結(jié)構(gòu)、信息流動(dòng)避免行人信息缺失從而實(shí)現(xiàn)了檢測(cè)精度提升。本文模型相較于對(duì)比算法,性能均有一定提升。一方面,特征金字塔模塊與特征增強(qiáng)模塊通過淺層與深層之間的信息流動(dòng),有效地融合不同尺度特征層地的語義信息,避免了網(wǎng)絡(luò)深度造成的信息缺失或特征變?nèi)鯁栴},實(shí)現(xiàn)了特征增強(qiáng)的目標(biāo);另一方面,C2f 模塊與混合域注意力機(jī)制融合,可以借由BAM 提取豐富的行人特征,同時(shí)利用C2f 模塊的跳層結(jié)構(gòu)可以有效地獲取更加豐富的梯度流信息,并實(shí)現(xiàn)了一定的輕量化目標(biāo)。
2.2.2 模塊驗(yàn)證實(shí)驗(yàn)
依次引入不同的模塊進(jìn)行實(shí)驗(yàn),模塊驗(yàn)證結(jié)果如表3所示。從實(shí)驗(yàn)結(jié)果可以看出,在YoloX 算法引入特征增強(qiáng)模塊可以有效地提升模型檢測(cè)精度。①特征增強(qiáng)模塊可以通過特征融合有效利用淺層特征層中的小尺度行人特征,避免小尺度行人特征因網(wǎng)絡(luò)加深而丟失的問題;②自注意力機(jī)制通過提取特征的上下文信息獲取密集的全局信息,從而抑制背景信息對(duì)行人檢測(cè)的干擾,但這一操作也會(huì)抑制中小尺度行人特征;③針對(duì)自注意力機(jī)制在抑制背景信息的同時(shí)也會(huì)抑制小尺度行人特征,采用ECA 注意力機(jī)制通過通道關(guān)聯(lián)性的非線性建模增強(qiáng)行人特征。C2f-BAM 模塊也可以基于C2f模塊采用更多的跳層連接以獲取更加豐富的梯度流信息,并通過減少卷積層和采用Split 分層實(shí)現(xiàn)檢測(cè)速度提升。此外,通過C2f 模塊與混合域注意力機(jī)制BAM 結(jié)合,可以保存更多的行人特征從而提升行人檢測(cè)精度。綜上,各模塊有效提升了行人檢測(cè)精度。實(shí)驗(yàn)結(jié)果表明,當(dāng)IoU 閾值設(shè)置為0.5 時(shí),相對(duì)于原本算法,改進(jìn)模型的檢測(cè)精度分別提升了0.5%和1.5%,說明本文模型各模塊能夠提升行人檢測(cè)精度。
Table 3 Verification results of modules表3 模塊驗(yàn)證結(jié)果(%)
2.2.3 運(yùn)行效率
為了測(cè)試本文模型運(yùn)行效率,在CrowdHuman 數(shù)據(jù)集上進(jìn)行相關(guān)實(shí)驗(yàn)。評(píng)價(jià)指標(biāo)采用FPS 指標(biāo),F(xiàn)PS 值表示算法每秒鐘處理的圖片數(shù)量。FPS 值不僅與算法模型有關(guān),還與硬件配置有關(guān),F(xiàn)PS 值越大,意味著模型運(yùn)行速度越快,效率越高。本文選取Yolov4、Faster R-CNN[30]、YoloXSA-SE 這3 種對(duì)比算法,實(shí)驗(yàn)結(jié)果如表4 所示。可以看出,本文算法模型的檢測(cè)速度為24.3 FPS(幀/s),本文模型的檢測(cè)速度相較于其他相關(guān)算法具有一定優(yōu)勢(shì)。
Table 4 Operational efficiency results表4 運(yùn)行效率結(jié)果
為了提高行人檢測(cè)精確度,降低其誤檢率、漏檢率等,本文提出了一種基于混合注意力機(jī)制和C2f的行人檢測(cè)算法。在YoloX 算法基礎(chǔ)上,設(shè)計(jì)了一個(gè)特征增強(qiáng)模塊,并且引入了注意力機(jī)制和C2f模塊。通過在特征提取模塊引入C2f 模塊,可以獲取豐富的梯度流信息并實(shí)現(xiàn)一定的輕量化;在特征金字塔模塊采用C2f 模塊融合BAM 注意力機(jī)制可以有效地保留行人特征;通過設(shè)計(jì)特征增強(qiáng)模塊,可以通過特征融合策略盡可能保留足夠的中小尺度行人特征,同時(shí)引入自注意力機(jī)制結(jié)合特征的上下文信息以增強(qiáng)行人特征并抑制背景細(xì)節(jié)信息。此外,通過ECA 注意力機(jī)制引導(dǎo)網(wǎng)絡(luò)關(guān)注行人目標(biāo),解決因?yàn)樽宰⒁饬C(jī)制導(dǎo)致的中小尺度行人特征被抑制的問題。本文通過設(shè)計(jì)一個(gè)特征增強(qiáng)模塊并采用C2f 模塊與混合域注意力機(jī)制BAM 相結(jié)合可以有效增強(qiáng)行人特征,并抑制背景信息等無用特征,從而實(shí)現(xiàn)提升行人目標(biāo)檢測(cè)準(zhǔn)確度和檢測(cè)速度的目的。下一步將對(duì)行人檢測(cè)遮擋問題進(jìn)行研究,進(jìn)一步提升模型性能。