趙一鳴 王金聰 任洪娥 趙龍
摘要:基于深度學習的小目標檢測研究對于如小人臉識別、遙感圖像檢測等任務(wù)的優(yōu)化與提升都具有極為重要的意義。但由于圖像中的小目標所占像素較少,分辨率低,包含的特征信息不明顯,現(xiàn)有方法對小目標的檢測效果并不理想。針對此問題,提出一種基于反饋的特征融合網(wǎng)絡(luò)ReFPN用于YOLOv4算法,兩次利用骨干網(wǎng)絡(luò)提取的原始特征層,加強小目標特征信息,對其進行更精確的位置回歸。同時提出混合注意力機制Co-AM充分提取小目標的細節(jié)特征信息,抑制無效特征,進一步提高小目標的檢測精度。實驗結(jié)果表明,此文提出的方法使YOLOv4算法在MS COCO數(shù)據(jù)集上平均精度AP提高了1.9%,小目標平均精度AP提高了3.3%,檢測效果優(yōu)于現(xiàn)有小目標檢測算法,證明了此文提出方法的有效性。
關(guān)鍵詞:深度學習;小目標檢測;特征融合;注意力機制
DOI:10.15938/j.jhust.2022.02.011
中圖分類號: TP751.1
文獻標志碼: A
文章編號: 1007-2683(2022)02-0085-07
A Small Object Detection Algorithm Integrated with ReFPN
and Compound Attention Mechanism
ZHAO Yi-ming WANG Jin-cong REN Hong-e ZHAO Long
(1.College of Information and Computer Engineering, Northeast Forestry University, Harbin 150040, China;
2.College of Mechanical and Electrical Engineering, Northeast Forestry University, Harbin 150040, China;
3.Heilongjiang Forestry Intelligent Equipment Engineering Research Center, Harbin 150040, China)
Abstract:The research of small target detection is of great significance for the optimization and improvement of tasks such as small face recognition and remote sensing image detection. However, the small target in the image occupies fewer pixels, lower resolution, unobvious feature information, resulting in the effect that existing methods for small target detection is not ideal. To solve this problem, a feedback-based feature fusion network (ReFPN) for YOLOV4 algorithm was proposed. The original feature layer extracted from the backbone network is used twice to enhance the feature information of small targets and position regression performs more accurately. At the same time, the compound attention mechanism (Co-AM) was proposed to more fully extract the detail feature information of small targets, suppress invalid features, and further improve small targets’ detection accuracy. Experimental results show that the method improves the AP of YOLOV4 algorithm on MS COCO dataset by 1.9%, and the AP?by 3.3%. The effectiveness of our method is proved, and the detection effect of small target detection is better than the existing algorithms.
Keywords:deep learning; small object detection; feature fusion; attention mechanism
0引言
目標檢測作為圖像理解和計算機視覺的基石,是解決圖像分割、目標追蹤、圖像描述等更復雜更高層次視覺任務(wù)的基礎(chǔ),廣泛應(yīng)用于無人駕駛[1]、安全系統(tǒng)和微小瑕疵檢測等領(lǐng)域[2]。近年來迅猛發(fā)展的深度學習技術(shù)是一類能自動從數(shù)據(jù)中學習特征表示的強大方法,為機器學習和計算機視覺等領(lǐng)域帶來了革命性的進步,顯著改善了目標檢測的表現(xiàn)。
基于深度學習的小目標檢測研究對于諸多領(lǐng)域如小人臉識別、目標跟蹤、人體關(guān)鍵點檢測、遙感圖像檢測等任務(wù)的優(yōu)化與提升都具有極為重要的意義。而卷積神經(jīng)網(wǎng)絡(luò)[3](Convolution Neural Networks, CNN)具有多層網(wǎng)絡(luò)結(jié)構(gòu)自動學習的特點,主要由輸入層、輸出層、卷積層、下采樣層和全連接層組成。淺層的卷積層用于提取豐富的局部特征,深層的卷積層將這些局部特征進行結(jié)合,從而學習到更加抽象的特征。卷積神經(jīng)網(wǎng)絡(luò)提取的抽象特征對圖像分類以及圖像中物體粗略位置的定位很有效。早期的目標檢測框架大多數(shù)是針對通用目標來進行檢測的。但小目標像素偏低,所包含的特征信息較少,易被算法當做背景信息忽略掉,導致檢測精度偏低,小目標檢測在深度學習卷積神經(jīng)網(wǎng)絡(luò)模型中一直是個難題。
隨著深度學習與卷積神經(jīng)網(wǎng)絡(luò)[4]的快速發(fā)展,科研人員提出了基于區(qū)域提取的R-CNN(Region-CNN)、Faster R-CNN[5]等兩階段檢測方法,在產(chǎn)生目標候選框的基礎(chǔ)上對候選框做分類與回歸,仍無法很好地解決小目標檢測問題。在端到端的單級目標檢測算法中,Liu 等[6]提出一種SSD(Single Shot MultiBox Detector)算法,該算法兼顧了檢測速度和檢測精度。但是其存在特征提取不充分的問題,從而對小目標檢測的效果一般。Redmon等[7]提出了YOLO(You Only Look Once)算法,它的第三個版本——YOLOv3[8]將高級網(wǎng)絡(luò)與低級網(wǎng)絡(luò)連接起來,從高層特征與低層特征圖中的細粒度信息中獲取信息。這種信息融合方式在一定程度上提高了小目標的檢測性能,但沒有充分利用低層特征信息。因此,它在檢測小目標方面很弱。YOLOv4[9]在YOLOv3的基礎(chǔ)上提高了目標檢測精度,使速度與精度達到了最優(yōu)平衡,目前對通用目標的檢測效果較好,但在小目標檢測精度方面仍有很大提升空間。
針對YOLOv4算法在MS COCO數(shù)據(jù)集上對小目標的檢測效果不夠理想的問題,本文在YOLOv4算法結(jié)構(gòu)的基礎(chǔ)上提出以下方法來提升小目標的檢測效果:①針對小目標在圖像中像素少、分辨率低的本質(zhì)問題,提出了一種基于反饋的特征融合網(wǎng)絡(luò)ReFPN用于YOLOv4算法,通過兩次利用原始特征層,加強算法對小尺寸目標特征的學習,對小目標進行更精確的位置回歸。②針對小目標本身所包含信息因素少,容易被非檢測目標因素影響的問題,提出混合注意力機制Co-AM,搭建在CSPDarknet53后,充分提取小目標的特征信息,增強有效特征,避免小目標被當做背景信息。實驗證明本文提出的方法模型對小目標的檢測精度有較大提升,得到了更優(yōu)的檢測效果。
1特征融合結(jié)構(gòu)ReFPN
低層網(wǎng)絡(luò)特征圖攜帶更多目標的位置形狀等信息,故為加強算法對小尺寸目標特征的學習,獲得更多的低層特征信息,本文提出一種基于反饋的特征融合結(jié)構(gòu)(retroaction feature pyramid networks, ReFPN),如圖1所示。虛線框部分為FPN[10]結(jié)構(gòu),由自底向上和自頂向下2個路徑組成。自底向上的路徑是提取特征的卷積網(wǎng)絡(luò),特征層由低到高的空間分辨率以2倍遞減,同時檢測到更多的高層語義信息。自頂向下的融合路徑通過對所提取每步卷積特征層進行上采樣處理,將高層的特征圖放大到上一步的特征圖一樣的大小,保證維度相同。為了將高層語義特征和低層特征的精確定位能力結(jié)合,利用橫向連接將上一層經(jīng)過上采樣后和當前層分辨率一致的特征,通過相加的方法進行融合。既利用了高層較強的利于分類的語義特征,又利用了低層利于定位的高分辨率信息,豐富了融合后的特征圖所包含的信息。
成功的目標檢測器都表現(xiàn)出了信息的反復利用和提精[11]。故ReFPN的后半部分將來自FPN(Featu-re Pyramid Networks)層的特征通過反饋連接合并到自下而上的骨干層中,將FPN的反饋信息集成到骨干網(wǎng)絡(luò)上,再次利用原始特征圖,使骨干網(wǎng)絡(luò)重新訓練來自FPN的帶有梯度的特征,實現(xiàn)了兩次思考的順序設(shè)計,增強了FPN的特征表示,豐富了特征融合的表現(xiàn)能力。再經(jīng)過自下而上的特征融合路徑,在低層用準確的定位信號來增強整個特征分層,縮短低層和高層特征之間的信息路徑,獲得更多的低層特征信息,對小目標的位置形狀等信息的檢測更有利。
反饋連接使用空洞空間金字塔池化(atrous spatial pyramid pooling, ASPP),為圖1橫線圓部分,采用不同采樣率可以有效地捕獲多尺度上下文信息,模塊結(jié)構(gòu)如圖2所示。在此模塊中,以FPN的特征圖作為輸入,有4個并行分支,其中3個分支中的卷積層配置如圖2所示,后跟ReLU層,輸出通道數(shù)是輸入通道數(shù)的1/4,最后1個分支使用全局平均池化層來壓縮特征,然后使用1×1卷積層和ReLU層將壓縮后的特征轉(zhuǎn)換為1/4輸入通道數(shù)的特征。最后,調(diào)整大小并與其他3個分支的特征連接在一起,以多個比例捕捉圖像的上下文,實現(xiàn)特征金字塔的級聯(lián)連接。
使用融合模塊如圖3所示。此模塊用來融合FPN輸出特征f與整體特征融合后的輸出特征f’,為圖1豎線圓部分,通過1×1卷積層和Sigmoid運算來計算注意力圖,然后將結(jié)果注意力圖用于計算更新后的加權(quán)和。
ReFPN通過兩次利用原始特征層,加強了算法對小尺寸目標特征的學習,并利用ASPP作為反饋連接提升整合多尺度信息的能力,獲得更多的低層特征信息,更有利于小目標的定位檢測。
2混合注意力機制Co-AM
深度學習中的注意力機制[12]的核心目標是從眾多信息中選擇出對當前任務(wù)目標更關(guān)鍵的信息,最早由DeepMind為圖像分類提出,讓神經(jīng)網(wǎng)絡(luò)在執(zhí)行預測任務(wù)時可以更多關(guān)注輸入中的相關(guān)部分,更少關(guān)注不相關(guān)的部分。Woo等[13]基于一個有效的體系結(jié)構(gòu)同時利用空間和通道注意模塊來關(guān)注更多信息,取得了很好的效果。徐誠極等[14]將注意力機制引入到Y(jié)OLO算法中,提高了檢測精度。
受此啟發(fā),針對小目標因包含特征信息不明顯而易受到背景信息因素的干擾的問題,本文提出混合注意力模塊(compound attention mechanism, Co-AM),用于YOLOv4算法的主干網(wǎng)絡(luò)CSPDarknet53后,來更多的關(guān)注小目標的特征信息。Co-AM的模塊結(jié)構(gòu)如圖4所示。其中,通道注意力模塊CAM如圖5所示,輸入特征F依次經(jīng)過卷積層、全局平均池化層以及ReLU和Sigmoid運算,得到的特征圖再與F相乘輸出特征F,關(guān)注輸入的圖像是否有檢測目標的特征,對不同通道的特征重新進行了加權(quán)分配。通道注意力的計算見式(1)。
空間注意力模塊SAM如圖6所示,輸入特征F′ 通過卷積層與Sigmoid運算,得到的特征圖再與F′ 相乘輸出特征F,關(guān)注目標所在位置的特征信息,是對通道注意力的補充??臻g注意力的計算見式(2)。
分別在空間和通道2個維度,學習并提取特征中的權(quán)重分布,依次推斷得到注意力特征圖。將注意力特征圖與原特征圖相乘進行自適應(yīng)特征優(yōu)化,再次與原特征圖相加,如圖4中虛線箭頭,二次增強小目標區(qū)域的有效特征信息,更有利于提升小目標的檢測效果。Co-AM的計算見式(3)。
為了減輕模型參數(shù)量,保留預訓練參數(shù)的基礎(chǔ)上增強模型效果,本文將Co-AM模塊搭建在CSPDar-knet53主干網(wǎng)絡(luò)結(jié)構(gòu)后,模型結(jié)構(gòu)位置如圖7所示。
Co-AM使網(wǎng)絡(luò)能更多的關(guān)注小目標區(qū)域,充分提取小目標的特征信息,強化低層特征圖中的有效特征,抑制無效特征及噪聲,獲取更多的小目標的細節(jié)信息,避免小目標因特征不明顯而被當成背景信息,從而提高算法對小目標的檢測精度[15]。
3實驗與結(jié)果分析
3.1數(shù)據(jù)集與數(shù)據(jù)處理
本文選擇MS COCO[16]作為實驗數(shù)據(jù)集。該數(shù)據(jù)集是一個大型的、豐富的用于物體檢測、分割等的數(shù)據(jù)集。主要收集自然環(huán)境中包含常見對象的日常復雜場景的圖像,圖像中的目標都有精確的位置標定。MS COCO 2017數(shù)據(jù)集包含訓練集圖片118287張,約19.3GB,驗證集圖片5000張,約1814.7M,共計123287張。數(shù)據(jù)集包括80個目標分類,平均每張圖片包含3.5個類別和7.7個實例目標。
該數(shù)據(jù)集中定義大目標為所占像素面積大于96的目標,中目標所占像素面積大于32并且小于96,其余像素面積小于32的目標均為本文重點檢測的小目標。數(shù)據(jù)集中小目標的數(shù)量和像素值分布的統(tǒng)計如表1所示。從表中發(fā)現(xiàn)雖然數(shù)據(jù)集上小目標的數(shù)量很多,但是所占的像素又很少,這和我們的生活是類似的,這也是選擇該數(shù)據(jù)集的原因之一。
COCO數(shù)據(jù)集作為小目標檢測數(shù)據(jù)有以下優(yōu)點:①包含大量小尺寸目標;②數(shù)據(jù)集場景復雜,能夠提供較多目標上下文信息;③數(shù)據(jù)集規(guī)模大,數(shù)據(jù)類型豐富,具有較強的泛化性和遷移能力[17]。
本算法模型對數(shù)據(jù)集使用了CutMix和Mosaic等方法做數(shù)據(jù)增強。
3.2模型訓練
實驗在Ubuntu16.04.12操作系統(tǒng)下進行,深度學習框架為Pytorch,開發(fā)語言為Python。硬件配置包括CPU為Intel(R) Xeon(R) Gold 5218R,主頻為2.10GHz,內(nèi)存為36GB;GPU為兩塊NVIDIA RTX 2080Ti,顯存11GB。
為了獲得更好的結(jié)果,模型選擇了具備自適應(yīng)調(diào)節(jié)步長能力的Adam方法作為優(yōu)化算法,其中學習率初始值設(shè)置為0.0026,batchsize設(shè)置為128,訓練過程中將128張圖一次性加載進內(nèi)存,前向傳播后將128張圖的loss累加求平均,再一次性后向傳播更新權(quán)重。subdivisions設(shè)置為16,一個batch分16次完成前向傳播,即每次計算8張。為了防止模型出現(xiàn)過擬合,模型中使用了類別標簽平滑,并且在訓練階段加入了系數(shù)為0.0005的權(quán)重衰減正則項。
輸入圖片大小為608×608,以上述模型訓練參數(shù)為基礎(chǔ)訓練出3個改進后的模型,分別為改進特征融合的模型,加入混合注意力的模型以及兩改進點共同作用的模型,用于后續(xù)檢測的消融實驗。
3.3檢測效果分析及算法性能評價
本文方法在MS COCO數(shù)據(jù)集上進行了多組實驗以驗證小目標的檢測效果,實驗中發(fā)現(xiàn),影響檢測效果的因素主要是錯檢和漏檢。檢測效果如圖8所示,圖中共標注44個待檢目標,圖8(a)為YOLOv4模型的檢測效果,檢測出22個目標,錯檢3個目標,漏檢22個目標;圖8(b)為加入ReFPN后模型的檢測效果,檢測出28個目標,錯檢3個目標,漏檢16個目標;圖8(c)為加入Co-AM后模型的檢測效果,檢測出27個目標,錯檢3個目標,漏檢17個目標;圖8(d)為本文綜合改進模型后的檢測效果,檢測出31個目標,錯檢3個目標,漏檢13個目標。本文算法在數(shù)據(jù)集上有效提高了對小目標的檢測效果,下一步將研究依舊存在錯檢和漏檢的原因并通過改進來提高算法的檢測效果。
為對比評價YOLOv4模型和本文訓練出的3個模型對于包含小目標的COCO數(shù)據(jù)集的檢測精度,采用AP(average precision)作為評價指標。AP是指P-R(precision-recall)曲線與坐標第一象限圍成的面積,通常在實際應(yīng)用中并不會直接對P-R曲線計算AP,而是對P-R曲線進行平滑處理操作,即對P-R曲線上的每一個點,都選擇該點右側(cè)最大的那個精確率值,然后使用平滑后的精確率值計算AP,計算AP的計算式為式(4)、(5)。
各項實驗數(shù)據(jù)如表2所示。選取Pytorch版本的YOLOv4算法作為對比基線模型,可以看出,相較于YOLOv4算法在COCO數(shù)據(jù)集上目標檢測的精度,本文中加入ReFPN的模型平均精度AP提高了1.1%,小目標平均精度AP提高了2.4%;加入Co-AM的模型平均精度AP提高了1.4%,小目標平均精度AP提高了1.8%;綜合改進后的模型平均精度AP提高了1.9%,小目標平均精度AP提高了3.3%。結(jié)果表明,本文提出的方法有效提取了小目標的特征信息,提高了YOLOv4算法的目標檢測精度,尤其對小目標的檢測效果提升明顯。
為了便于比較各算法性能指標,表3列出了最新小目標檢測算法中的Bi-SSD[18]、FIENet[19]、CPNet[20]和IENet[21]在MS COCO數(shù)據(jù)集上的具體檢測結(jié)果。綜合表中各精度數(shù)據(jù)來看,在MS COCO數(shù)據(jù)集的目標檢測中,除本文算法模型外,IENet算法模型的性能表現(xiàn)最優(yōu),其次是CPNet,然后是FIENet和Bi-SSD。本文算法精度均優(yōu)于其他算法。從平均精度方面來看,本文算法的AP值相比于其他算法有所提升,達到51.5%;中等尺寸和大尺寸目標的平均檢測精度AP和AP分別都有提升,說明本文算法在提升小目標的檢測精度的同時沒有損失其他目標的檢測精度;小尺寸目標的平均檢測精度AP提升較大,達到35.4%,整體檢測效果均優(yōu)于其他算法,說明本文算法在COCO數(shù)據(jù)集上具有更好的目標檢測能力。
4結(jié)論
YOLOv4算法在通用數(shù)據(jù)集中對小目標的檢測不夠理想,根據(jù)小目標分辨率低、攜帶信息少、容易受到背景因素影響等特點,本文提出一種基于反饋的特征融合網(wǎng)絡(luò)ReFPN,利用ASPP作為反饋連接提升整合多尺度信息的能力,兩次利用骨干網(wǎng)絡(luò)提取的原始特征信息加強小目標特征信息,對其進行更精確的位置回歸。同時提出混合注意力機制Co-AM來充分提取小目標的細節(jié)特征信息,強化低層特征圖中的有效特征信息,抑制無效特征,進一步提高小目標的檢測精度。實驗結(jié)果表明,改進的YOLOv4模型在MS COCO數(shù)據(jù)集上對目標的檢測平均精度AP提高了1.9%,小目標平均精度AP提高了3.3%,證明了本文提出的方法可以有效提升小目標的檢測效果。與其他最新小目標檢測算法相比,該算法達到了較好的檢測性能,但仍有提升空間,下一步將參考本文方法嘗試尋找構(gòu)建最優(yōu)的網(wǎng)絡(luò)模型用于圖像及視頻中的小目標檢測,獲得進一步性能的提升。
參 考 文 獻:
[1]丁博,王水凡. 基于混合預測模型的交通標志識別方法[J].哈爾濱理工大學學報,2019,24(5) :108.DING Bo, WANG Shuifan. Traffic Signs Identification Based on Mixed Forecasting Model[J]. Journal of Harbin University of Science and Technology,2019,24 (5): 108.
[2]WU X,?SAHOO D, HOI S C H. Recent Advances in Deep Learning for ObjectDetection[J]. Neurocomputing, 2020, 396: 39.
[3]LECUN Y,?BOTTOU L, BENGIO Y, et al. Gradient-based Learning Applied to Document Recognition[J]. Proceedings of the IEEE,1998,86(11):2278.
[4]劉忠偉,戚大偉.基于卷積神經(jīng)網(wǎng)絡(luò)的樹種識別研究[J].森林工程,2020,(1):33.LIU Zhongwei, QI Dawei. Study on Tree Spiecies Identification Based on Convolution Neural Network[J]. Forest Engineering,2020,36(1): 33.
[5]REN S, HE K, GIRSHICK R, et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(6):1137.
[6]LIU W,ANGUELOV D,ERHAN D,et al.SSD: Single Shot Multibox Detector[C]//European Conference on Computer Vision.2016: 21.
[7]REDMON J, DIVVALA S, GIRSHICK R, et al. You Only Look Once: Unified, Real-time Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 779.
[8]REDMON J, FARHADI A. Yolov3: An Incremental Improvement[J]. arXiv preprint arXiv:1804.02767, 2018.
[9]BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: Optimal Speed and Accuracy of Object Detection[J]. arXiv preprint arXiv:2004.10934, 2020.
[10]LIN T Y, DOLLR P,GIRSHICK R, et al. Feature Pyramid Networks for Object Detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 2117.
[11]QIAO S, CHEN L C, YUILLE A. DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution[J]. arXiv, 2020.
[12]SANTORO A, FAULKNER R, RAPOSO D, et al.Relational Recurrent Neural Networks[J]. arXiv preprint arXiv: 1806.01822, 2018.
[13]WOO S, PARK J, LEE J Y, et al. Cbam: Convolutional Block Attention Module[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 3.
[14]徐誠極,王曉峰,楊亞東. Attention-YOLO:引入注意力機制的YOLO檢測算法[J].計算機工程與應(yīng)用,2019,55 (6):13.XU Chengji, WANG Xiaofeng, YANG Yadong.Attention-YOLO:YOLO Detection Algorithm that Introduces Attention Mechanism[J]. Computer Engineering and Applications, 2019, 55(6) :13.
[15]劉芳,韓笑.基于多尺度深度學習的自適應(yīng)航拍目標檢測[J].航空學報, 2022, 43(2):325270.LIU Fang, HAN Xiao. Adaptive Aerial Object Detection Based on Multi-scale Deep Learning[J]. Acta Aeronautica et Astronautica Sinica, 2022,43(2):325270.
[16]LIN T Y, MAIRE M, BELONGIE S, et al. Microsoft COCO : CommonObjects in Context[C]// European Conference on Computer Vision. Springer International Publishing, 2014.
[17]梁華,宋玉龍,錢鋒,等.基于深度學習的航空對地小目標檢測[J].液晶與顯示,2018,33(9):793.LIANG Hua, SONG Yulong, QIAN Feng, et al. Aeronautical Small Target Detection to Ground Based on Deep Learning[J]. LCD and Display, 2018,33(9) : 793.
[18]汪能,胡君紅,劉瑞康,等.基于 Bi-SSD 的小目標檢測算法[J].計算機系統(tǒng)應(yīng)用,2020,29(11):139.WANG Neng, HU Junhong, LIU Ruikang, et al. Small Target Detection Algorithm Based on Bi-SSD[J]. Computer Systems & Applications,2020,29(11):139.
[19]劉建政,梁鴻,崔學榮,等.融入特征融合與特征增強的SSD目標檢測[J/OL].計算機工程與應(yīng)用:1 [2021-03-12].LIU Jianzheng, LIANG Hong, CUI Xuerong, et al. SSD Visual Target Detector Based on Feature Integration and Feature Enhancement[J/OL]. Computer Engineering and Applications, 1[2021-03-12].
[20]DUAN K, XIE L, QI H, et al. Corner Proposal Network for Anchor-free, Two-stage Object Detection[J]. arXiv preprint arXiv:2007.13816, 2020.
[21]LENG J X, REN Y H, JIANG W, et al.Realize your Surroundings: Exploiting Context Information for Small Object Detection[J]. Neurocomputing,2021,433:287.
(編輯:溫澤宇)