陳一瀟,阿里甫·庫爾班,林文龍,袁 旭
新疆大學(xué) 軟件學(xué)院,烏魯木齊830046
隨著我國在經(jīng)濟(jì)、教育、醫(yī)療等領(lǐng)域的不斷發(fā)展,以及城鎮(zhèn)化進(jìn)程的加速,我國總?cè)丝谶_(dá)到了14.117 8 億人,其中城鎮(zhèn)人口為9.019 9 億人,相較于2010 年,城鎮(zhèn)人口增加了2.364 2 億人,城鎮(zhèn)人口密集程度急劇上升[1]。而高擁擠人群極易發(fā)生各種意外事故,這對于城市公共安全、城市人流量監(jiān)控提出了巨大挑戰(zhàn)。因此,提出一種漏檢率低的、高精度的、可用于擁擠人群場景的行人目標(biāo)檢測算法具有重要意義。
行人檢測通常由于場景復(fù)雜、目標(biāo)眾多、大部分目標(biāo)互相遮擋,以及攝像頭距離目標(biāo)較遠(yuǎn)等問題具有挑戰(zhàn)性,使得國內(nèi)外學(xué)者對其進(jìn)行深入研究。文獻(xiàn)[2]提出利用Gabor 特征結(jié)合快速HOG 特征的方法訓(xùn)練分類器對行人進(jìn)行識別。文獻(xiàn)[3]根據(jù)行人非剛性的特點,通過三線性插值法獲取圖像的梯度方向直方圖特征,而后使用支持向量機(jī)(support vector machine,SVM)對行人進(jìn)行識別。Tang 等[4]通過可形變部件模型(deformable part model,DPM)設(shè)計行人檢測器,檢測粘連情況嚴(yán)重的行人。但傳統(tǒng)的圖像處理算法泛化能力差,手工設(shè)計的特征對于環(huán)境變化魯棒性差。
目前,基于深度學(xué)習(xí)的目標(biāo)檢測根據(jù)檢測的方式可以分為兩類,一類是基于Region Proposal的two-stage的目標(biāo)檢測算法,首先根據(jù)算法生成目標(biāo)預(yù)選框,即可能包含檢測目標(biāo)的區(qū)域,再通過CNN 網(wǎng)絡(luò)層對這塊區(qū)域進(jìn)行分類與回歸得到檢測框。其中包括R-CNN[5]、Fast R-CNN[6]、Faster R-CNN[7]、SPP Net[8]等。雖然two-stage的目標(biāo)檢測算法具有更高的檢測精度,但是訓(xùn)練網(wǎng)絡(luò)以及檢測圖片的速度不夠快。另一類算法是不需要Region Proposal階段的one-stage的檢測算法,可以直接生成被檢測物體的預(yù)測分類概率以及預(yù)測坐標(biāo)值,只需要一次檢測即可得到結(jié)果,因而有著相對于two-stage更快的訓(xùn)練速度和檢測速度。其中經(jīng)典的算法有YOLO系列算法[9-12]、SSDNet[13]、FCOS[14],這些網(wǎng)絡(luò)因有著輕量的參數(shù)以及計算量,通常有著高檢測速度,可用于實時檢測。現(xiàn)在,許多學(xué)者將深度學(xué)習(xí)應(yīng)用于行人檢測。文獻(xiàn)[15]通過簡化YOLOv3的主干網(wǎng)絡(luò)、改進(jìn)特征融合結(jié)構(gòu),提高行人檢測精度與速率。文獻(xiàn)[16]通過改進(jìn)Faster R-CNN算法進(jìn)行近紅外夜間圖像的行人檢測。文獻(xiàn)[17]使用K-mean++算法選定YOLOv3 先驗框,并改進(jìn)主干網(wǎng)絡(luò)的結(jié)構(gòu)提取更多行人尺度特征信息,以此實現(xiàn)對行人的檢測。上述算法對行人檢測領(lǐng)域做出了一定的貢獻(xiàn),但在精度和檢測速度上仍有進(jìn)步空間。
綜上,考慮應(yīng)用終端的計算力,本文以YOLOv5 為基礎(chǔ)進(jìn)行改進(jìn),提出CA-YOLOv5的輕量卷積神經(jīng)網(wǎng)絡(luò)模型,對擁擠人群場景的圖像進(jìn)行處理,采用Res2Block與CA模塊重新設(shè)計主干網(wǎng)絡(luò),通過結(jié)構(gòu)重參數(shù)化方法加快檢測速度,引入特征增強(qiáng)模塊增強(qiáng)多尺度特征的表達(dá)能力,使用EViT模塊加強(qiáng)模型關(guān)注局部信息的能力,最終提高網(wǎng)絡(luò)的檢測精度。實驗表明,CA-YOLOv5 在本文的行人檢測任務(wù)中具有良好的檢測性能。
YOLOv5 網(wǎng)絡(luò)是由Ultralytics LLC 公司提出的one-stage目標(biāo)檢測網(wǎng)絡(luò),是在YOLOv4網(wǎng)絡(luò)基礎(chǔ)上集成了許多近年來學(xué)術(shù)界的優(yōu)秀成果,網(wǎng)絡(luò)部署更靈活并且具有更高的檢測精度和速度,可用于實時性的目標(biāo)檢測研究。YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)分為Backbone(主干網(wǎng)絡(luò))、Neck(多尺度特征融合網(wǎng)絡(luò))、Head(預(yù)測分類器)三部分組成。
主干網(wǎng)絡(luò)通??梢杂蒖esNet[18]、DenseNet[19]、EfficientNet[20]等特征提取網(wǎng)絡(luò)構(gòu)成,用于提取圖像的識別特征,包括邊緣特征、紋理特征、位置信息等。YOLOv5中的主干網(wǎng)絡(luò)主要由Focus 層、封裝后的卷積層CBS、C3層、SPP層、Bottleneck層等結(jié)構(gòu)組成。
頸部網(wǎng)絡(luò)的設(shè)計是為了更好地利用主干網(wǎng)絡(luò)提取的特征。它對不同階段提取的特征圖進(jìn)行再處理和合理利用。YOLOv5 的Neck 采用的PANet[21](path aggregation network),該結(jié)構(gòu)示意圖如圖1所示。
圖1 Neck網(wǎng)絡(luò)示意圖Fig.1 Neck network diagram
Head部分通常被設(shè)計成負(fù)責(zé)通過從主干網(wǎng)絡(luò)提取的特征圖或者從頸部網(wǎng)絡(luò)中融合的特征圖來檢測目標(biāo)對象的位置和類別。YOLOv5 是用三個1×1 卷積層替代全連接層進(jìn)行預(yù)測與分類,分別在20×20、40×40、80×80三種尺度的特征圖上預(yù)測三種錨定框?qū)?yīng)類別概率、目標(biāo)置信度、預(yù)測框坐標(biāo)。
原YOLOv5網(wǎng)絡(luò)的C3結(jié)構(gòu)先將基礎(chǔ)層特征圖在通道維度上映射成兩部分,再通過BottleNeck結(jié)構(gòu)使傳播的梯度信息組合達(dá)到差異最大化。但是,根據(jù)文獻(xiàn)[22]的分析,通過這種組合方式,網(wǎng)絡(luò)仍會使用大量重復(fù)的梯度信息。而有效地減少重復(fù)的梯度信息,能使得網(wǎng)絡(luò)的學(xué)習(xí)能力就會大大提高。因而,本文旨在使新的網(wǎng)絡(luò)結(jié)構(gòu)能在更細(xì)粒度的層面進(jìn)一步增強(qiáng)特征融合能力,從而有效地減少信息集成過程中梯度信息重復(fù)的可能性。而Gao 等[23]提出的Res2Net,通過在一個殘差塊內(nèi)構(gòu)建分層殘差連接,在更細(xì)粒度上表示多尺度特征,并增加了每個網(wǎng)絡(luò)層的感受野。據(jù)此,重建了新的主干網(wǎng)絡(luò)Res2Block結(jié)構(gòu)。Res2Block結(jié)構(gòu)如圖2所示。
圖2 Res2Block示意圖Fig.2 Diagram of Res2Block
Res2Block 以更細(xì)粒度表示多尺度特征,同時增加塊內(nèi)感受野,從而加強(qiáng)神經(jīng)網(wǎng)絡(luò)檢測物體的能力。Res2Block 通過一系列通道劃分、分組卷積、塊間融合、通道拼接等操作實現(xiàn)細(xì)顆粒特征融合,具體過程如式(1)所示。其中,輸入特征X經(jīng)過通道劃分,劃分為s塊特征圖,xi表示第i塊特征圖,Ki表示融合第i塊特征圖的卷積層,yi表示融合xi之后獲得的特征圖。
因此,Res2Block 的這種設(shè)計使神經(jīng)網(wǎng)絡(luò)能融合更細(xì)粒度信息,從而達(dá)到增強(qiáng)特征融合能力的目的。同時,這種設(shè)置多條融合支路的設(shè)計能有效地減少信息集成過程中梯度信息重復(fù)的可能性。
重建后的backbone網(wǎng)絡(luò)詳細(xì)參數(shù)如表1所示,所示參數(shù)對應(yīng)位置含義為[output channel,kernel size,stride,padding]。具體網(wǎng)絡(luò)結(jié)構(gòu)則如圖3所示。
圖3 CA-YOLOv5結(jié)構(gòu)示意圖Fig.3 Network structure diagram of CA-YOLOv5
表1 主干網(wǎng)絡(luò)結(jié)構(gòu)表Table 1 Backbone network structure table
Hou 等[24]在CVPR2021 中提出了坐標(biāo)注意力(coordinate attention,CA)模塊,針對SE 注意力只考慮通過建模通道關(guān)系來重新衡量每個通道的重要性,而忽略了位置信息的問題進(jìn)行改進(jìn)。CA模塊不僅能捕獲跨通道信息,還能捕獲方向感知與位置信息。CA 模塊沿著水平和垂直的空間方向編碼特征圖的通道信息,既能獲取到空間方向的長期依賴關(guān)系,還能保存精確的位置信息,同時擴(kuò)大網(wǎng)絡(luò)的全局感受野。如圖4為本文所用數(shù)據(jù)集的樣本分布圖,可見樣本檢測框尺度存在不均衡的情況。因此引入CA 模塊增強(qiáng)網(wǎng)絡(luò)的全局感受野以及對目標(biāo)的精確定位能力,以適應(yīng)本文圖像尺度變化大的問題。
圖4 檢測框分布圖Fig.4 Detection box distribution
如圖5 所示,為避免全局平均池化(global average pooling,GAP)導(dǎo)致的位置信息丟失的問題,同時能有效地將空間坐標(biāo)信息編碼成注意力權(quán)重圖。CA對輸入特征圖X分別使用H×1和1×W大小的池化核沿著水平與垂直方向并行地進(jìn)行一維自適應(yīng)平均池化(adaptive average pooling,AAP),進(jìn)而產(chǎn)生水平和垂直的兩個獨立方向感知特征圖zh與zw,大小分別為C×1×H和C×1×W。接著,在第三維度對兩個帶有特定方向信息的特征圖進(jìn)行拼接,再通過權(quán)重共享的1×1卷積與非線性激活函數(shù),生成過程特征圖f∈R(C/r)×1×(H+W),其中r為卷積中的通道下采樣比例。再接著,將f在通道維度上拆分成兩個特征向量fh、fw,并調(diào)整特征向量在第二、第三維度的大小,使其大小分別為fh∈R(C/r)×H×1和fh∈R(C/r)×1×W。再分別通過1×1 大小的卷積核進(jìn)行通道轉(zhuǎn)換,使fh、fw大小分別為fh∈RC×H×1和fh∈RC×1×W,最終經(jīng)過激活函Sigmoid(x)得到兩個空間方向的注意力權(quán)重圖gh和gw,每個注意力權(quán)重圖都帶有特征圖沿著特定空間方向的長程依賴。
圖5 CA結(jié)構(gòu)編碼注意力的過程Fig.5 CA structure encodes attention process
最后,輸入特征圖與兩個權(quán)重圖相乘,進(jìn)而加強(qiáng)了特征圖的表示能力。
如圖6 所示,本文將CA 模塊添加至Res2Block 中,用以增強(qiáng)主干網(wǎng)絡(luò)感受野以及捕獲位置信息的能力。
圖6 改進(jìn)后的Res2BlockFig.6 Improved Res2Block
根據(jù)Guo等[25]分析,Neck網(wǎng)絡(luò)中的FPN結(jié)構(gòu)直接將不同階段的特征圖融合時,不同尺度特征圖學(xué)習(xí)到的特征感受野是不一樣的,包含的語義信息也不同,把兩個語義信息差距較大的特征直接融合,會減弱多尺度特征的表達(dá)能力。因此,本文使用空洞卷積[26]與分組卷積設(shè)計了特征增強(qiáng)模塊(feature enhancement module,F(xiàn)EM)以增強(qiáng)多尺度特征的表達(dá)能力,F(xiàn)EM 結(jié)構(gòu)如圖7 所示,其中In、Out分別為輸入通道數(shù)與輸出通道數(shù)。
圖7 FEM結(jié)構(gòu)圖Fig.7 Structure of FEM
FEM 結(jié)構(gòu)不需要通過分辨率的下采樣去提升感受野,而是采用了4個不同空間膨脹系數(shù)的空洞卷積增強(qiáng)感受野并提取不同尺度特征,然后再進(jìn)行通道維度上的特征拼接,從而達(dá)到多尺度特征提取與融合的目的。其次,為了盡可能地減少計算量與參數(shù)量,還在每一組卷積中設(shè)置了分組卷積。在本文中,F(xiàn)EM結(jié)構(gòu)設(shè)置在Neck網(wǎng)絡(luò)中的第一個FPN結(jié)構(gòu)中,本文將其命名為FE-FPN。
結(jié)構(gòu)重參數(shù)化(structural re-parameterization)概念,指的是首先構(gòu)造一系列神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行訓(xùn)練,然后在推理過程中將其中的神經(jīng)網(wǎng)絡(luò)參數(shù)轉(zhuǎn)換為另一組參數(shù),將一種結(jié)構(gòu)等價轉(zhuǎn)換為另一種結(jié)構(gòu),從而減少參數(shù)量,加快推理速度。只要參數(shù)的轉(zhuǎn)換等價,那么這種結(jié)構(gòu)的替換便是等價的。
Ding 等[27]于CVPR2021 上提出的RepVGG 網(wǎng)絡(luò)則對結(jié)構(gòu)重參數(shù)化進(jìn)行了很好的實踐與創(chuàng)新。本文主要采用了其中的卷積層與歸一化層合并的思想。
在深度神經(jīng)網(wǎng)絡(luò)中,歸一化(batch normalization,BN)層的引入,加速了網(wǎng)絡(luò)的訓(xùn)練和收斂速度,可以有效緩解梯度爆炸與梯度消失,還有一定的防止過擬合能力。但BN層在擁有諸多好處的同時,也帶來了昂貴的計算開銷,計算均值等操作均需在內(nèi)存中保存臨時變量,增大了內(nèi)存的開銷,影響模型性能。為了加快模型檢測速度,以及減小硬件的計算壓力。本文采取卷積層與BN層融合的方式,加快模型的推理速度。以下是卷積層與BN層融合的公式推導(dǎo)過程:
卷積層公式如公式(2)所示,其中W為權(quán)重,b為偏置:
而BN 層的公式如公式(3)所示,其中γ與β為學(xué)習(xí)參數(shù),mean為批次樣本數(shù)據(jù)均值,σ為方差,ε為極小但不為零的數(shù):
將卷積層結(jié)果代入到BN公式(3)中得:
令BN(Conv(x))=y,進(jìn)一步化簡為:
又令:
最終得到:
因此,融合后的結(jié)構(gòu)仍是由權(quán)重與偏置構(gòu)成,該過程實質(zhì)上是對卷積核參數(shù)的修改,在不增加卷積層參數(shù)量的同時,略去了BN層的計算開銷。
針對行人檢測任務(wù)中普遍存在的擁擠行人問題,本文基于Dosovitskiy等[28]提出的Vision Transformer,設(shè)計了EViT(enhanced vision transformer)模塊。如圖8 所示,EViT模塊包含兩個子層,MHA(multi-head attention)層和MLP(multi-layer perceptron)層,并在兩個子層前后加入LayerNorm層和Dropout層使網(wǎng)絡(luò)更好地收斂以及防止網(wǎng)絡(luò)過度擬合。
圖8 EViT結(jié)構(gòu)圖Fig.8 Structure of EViT
在EViT 模塊中,大小為B×C×H×W的輸入特征圖X首先進(jìn)行patch 處理階段,生成(H×W)×B×C大小的patch embedding 向量P1與position embedding 向量P2,并進(jìn)行相加形成embedded patches 向量P。在經(jīng)過Transformer 編碼器階段時,向量P分別通過三個線性層映射為Q、K、V三個向量并進(jìn)入MHA 層。MHA層具體計算過程如下所示:
首先根據(jù)MHA層注意力頭的個數(shù)s,將Q、K、V分別切分為s個向量:
之后再計算每個注意力頭的注意力權(quán)重矩陣,其中dk=C/s:
再然后將每個注意力權(quán)重矩陣進(jìn)行合并,同時進(jìn)行線性映射得到:
令M=MultiHead(Q,K,V),通過殘存連接得到:
由MHA 層計算得到的向量Z最后再經(jīng)過MLP 層與Reshape層,得到了經(jīng)過EViT處理后的特征圖。
在EViT模塊中,Transformer Encoder通過MHA層擴(kuò)展了模型關(guān)注不同位置的局部信息的能力,進(jìn)而捕獲更豐富的上下文信息。因此,本文在原始YOLOv5中所有與檢測頭相連接的位置使用EViT 模塊,以便模型更好地檢測擁擠行人,具體位置如圖8所示。
實驗的圖像數(shù)據(jù)來源于開源的CrowdPose Dataset和CrowdHuman Dataset[29],兩者圖像背景復(fù)雜多樣,檢測目標(biāo)重疊密集。Li 等[30]制作了CrowdPose Dataset,其中包含20 000 張圖像,標(biāo)注人體共有80 000 個。CrowdHuman Dataset 常用于行人檢測,包含約24 000張圖片,總共有470 000個標(biāo)注實例,平均每張圖有23個人體標(biāo)注,同時具有多種多樣的遮擋。本實驗從兩個數(shù)據(jù)集中取出共17 000張圖像,對可見的行人身體進(jìn)行標(biāo)注,圖9為數(shù)據(jù)集中普遍存在的擁擠人群示例圖。按比例隨機(jī)抽取10 000張圖像作為成訓(xùn)練集,2 000 張作為驗證集,5 000 張作為測試集,總共約有120 000個標(biāo)注人體框。
圖9 部分?jǐn)?shù)據(jù)展示Fig.9 Partial data set display
本文實驗使用Pytorch深度學(xué)習(xí)框架,訓(xùn)練環(huán)境:
CUDA 版本為11.1,GPU 為NVIDIA GeForce RTX 2060 SUPER,顯存8 GB,編譯語言為Python3.8,訓(xùn)練最小批次為16,總共訓(xùn)練200個epoch。
為驗證本文提出的CA-YOLOv5 算法在行人檢測任務(wù)的有效性,本文設(shè)置了4 個消融實驗,1 個對比實驗。第一個實驗是驗證使用Res2Block構(gòu)建的主干網(wǎng)絡(luò)性能,對比了YOLOv5 與CA-YOLOv5。第二個實驗是為了驗證本文提出的FE-FPN 結(jié)構(gòu)的有效性,對比了普通FPN 結(jié)構(gòu)與本文提出的FE-FPN 結(jié)構(gòu)。第三個實驗驗證了卷積層與BN 層融合對網(wǎng)絡(luò)檢測速度的加速效果。第四個實驗是為了驗證加入了CA模塊對模型的提升效果,第五個實驗是為了測試使用EViT 模塊后與當(dāng)前主流算法在行人檢測任務(wù)中的表現(xiàn)性能進(jìn)行對比,以證明CA-YOLOv5算法的性能優(yōu)勢。
訓(xùn)練時對設(shè)置輸入圖像大小為640×640,采用SGD優(yōu)化器對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,初始學(xué)習(xí)率為0.2,使用余弦退火策略調(diào)整學(xué)習(xí)率。本文的消融實驗采取和原始YOLOv5一樣的圖像增強(qiáng)方法。
實驗以平均精度均值(mean average precision)、模型每秒檢測的圖像數(shù)量(FPS)、params(參數(shù)量)、GFLOPs(計算量)、權(quán)重大小等評價指標(biāo)對模型進(jìn)行評價。
實驗一對比了以Res2Block 作為主干網(wǎng)絡(luò)的Res2-YOLOv5 與YOLOv5 的效果,結(jié)果如表2 所示。從兩種網(wǎng)絡(luò)模型在mAP指標(biāo)上的數(shù)據(jù)可知,Res2Block結(jié)構(gòu)使網(wǎng)絡(luò)的mAP 從81.11%提升到了82.91%,提升了1.8 個百分點,說明由Res2Block 構(gòu)成的主干網(wǎng)絡(luò)對于提升整個網(wǎng)絡(luò)的檢測精度是有幫助的。
表2 Res2-YOLOv5的性能對比Table 2 Performance of Res2-YOLOv5
為了進(jìn)一步加強(qiáng)多尺度特征的表達(dá)能力,本文在FPN結(jié)構(gòu)中加入了特征增強(qiáng)模塊構(gòu)成FE-FPN。實驗二對比了FE-FPN 結(jié)構(gòu)和FPN 結(jié)構(gòu)的檢測效果,結(jié)果如表3 所示。觀察mAP 可知,使用FE-FPN 時相對于FPN 結(jié)構(gòu),mAP提升了0.89個百分點。
表3 FE-FPN與FPN性能對比Table 3 Comparison between FE-FPN and FPN
行人檢測通常應(yīng)用于工商業(yè)的監(jiān)控設(shè)備中,因此為滿足實時檢測的要求,加快模型檢測速度,便于在監(jiān)控終端部署,本文使用卷積層與BN層融合的方式,減少計算開銷。本文通過實驗三驗證該方式的有效性。表4為對比結(jié)構(gòu)參數(shù)化前后模型的性能表現(xiàn),雖然融合后的模型權(quán)重文件大小、參數(shù)量、計算量下降不多,但是FPS增加了15。這是因為融合卷積層和BN 層后的模型不再經(jīng)過BN 層,節(jié)省了原先用于BN 層的計算開銷。經(jīng)實驗證明,使用結(jié)構(gòu)重參數(shù)化方法后的模型有效地提升了檢測速度,更好地滿足行人檢測任務(wù)對檢測速度的要求。
表4 結(jié)構(gòu)重參數(shù)化前后的性能對比Table 4 Performance comparison before and after structural re-parameterization
本文引入了CA 注意力模塊,用于增強(qiáng)網(wǎng)絡(luò)的全局感受野。實驗四對比了增加CA模塊前后的性能表現(xiàn)。具體數(shù)據(jù)如表5 所示,觀察mAP 可知,在Res2Block 模塊中增加CA 模塊后,mAP 增加了0.63 個百分點,同時參數(shù)量、計算量、FPS不變。
表5 融合CA模塊前后性能對比Table 5 Comparison before and after integration of CA
本文加入了EViT模塊,能更好地捕獲局部信息,所提算法稱為CA-YOLOv5。在實驗五中,本文算法與目前一些主流算法在行人檢測任務(wù)中的性能表現(xiàn),目的在于驗證本文所提算法的有效性。如表6所示,本文對比了以下算法:YOLOv5、Mobilenetv3-YOLOv5、YOLOv3、YOLOv3-spp、YOLOv3-tiny、Mobilenetv3-SSD-Lite、VGG16-SSD、ResNet50-FCOS。實驗表明,本文CAYOLOv5 算法在擁擠行人檢測任務(wù)上可達(dá)到84.86%的檢測精度。相較于原YOLOv5 算法,本文算法增加了30%參數(shù)量和28%計算量,提高了3.75個百分點的檢測精度。雖然YOLOv3-spp算法的精度與本文算法相當(dāng),然而其參數(shù)量為6.15×107以及GFLOPs 高達(dá)154.90,遠(yuǎn)大于本文算法。經(jīng)實驗驗證,CA-YOLOv5 算法在單個GTX2060s 顯卡中檢測速度可達(dá)到51 FPS,可滿足硬件終端上行人檢測任務(wù)的實時性需求,保證了比原網(wǎng)絡(luò)稍高的檢測速度,在所有對比模型中綜合性能最好。
表6 不同算法檢測結(jié)果比較Table 6 Comparison of detection results of different algorithms
本文將CA 模塊與ResBlock 融合,用于構(gòu)建新的主干網(wǎng)絡(luò),提出新的特征增強(qiáng)模塊,同時應(yīng)用EViT 模塊,并在實驗中驗證了該算法的有效性,圖10 為CAYOLOv5算法的檢測效果。
圖10 CA-YOLOv5算法檢測結(jié)果Fig.10 CA-YOLOv5 algorithm detection results
本文提出了一個實時高效的基于YOLOv5 算法的擁擠行人檢測算法——CA-YOLOv5。針對原網(wǎng)絡(luò)的主干網(wǎng)絡(luò)特征融合不充分的問題,提出以Res2Block 構(gòu)建主干網(wǎng)絡(luò),同時使用結(jié)構(gòu)重參數(shù)化方法加快模型檢測速度。針對數(shù)據(jù)集目標(biāo)尺度變化大的問題,引入CA模塊增強(qiáng)感受野,增強(qiáng)模型對目標(biāo)的精確定位能力,提高檢測精度。為解決頸部網(wǎng)絡(luò)的FPN 結(jié)構(gòu)在特征融合時導(dǎo)致多尺度特征表達(dá)能力下降的問題,提出FEM結(jié)構(gòu)以增強(qiáng)頸部網(wǎng)絡(luò)中多尺度特征的表達(dá)能力,采用EViT 模塊以加強(qiáng)模型捕獲局部信息的能力,提高網(wǎng)絡(luò)檢測精度。實驗證明,CA-YOLOv5 算法具有優(yōu)秀的檢測精度和實時檢測效果,能很好地應(yīng)用于擁擠行人檢測任務(wù)中。