徐 旸, 史金光, 鄭子玙, 趙 渭
(1.南京理工大學(xué)能源與動(dòng)力工程學(xué)院,南京 210000; 2.中國(guó)兵器工業(yè)試驗(yàn)測(cè)試研究院,陜西 渭南 714000)
軍事目標(biāo)檢測(cè)在現(xiàn)代戰(zhàn)爭(zhēng)中具有非常重要的地位,具備目標(biāo)檢測(cè)能力的制導(dǎo)武器既要保證精準(zhǔn)、有效地打擊并摧毀目標(biāo),也要能夠及時(shí)偵察敵情,減少己方人員傷亡,這就要求該武器系統(tǒng)的目標(biāo)檢測(cè)同時(shí)具有很高的檢測(cè)精度和很快的識(shí)別速度。如今,隨著深度學(xué)習(xí)技術(shù)的突破和計(jì)算硬件的發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法[1-2]已經(jīng)不再依靠人工提取特征,而是借助深度卷積神經(jīng)網(wǎng)絡(luò)自行提取更具表達(dá)能力的深層特征,這不僅使目標(biāo)檢測(cè)更具有泛化能力,而且具有很高的檢測(cè)精度。目前,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法大致可以分為兩類,一類是以R-CNN為代表的兩階段(Two-stage)算法[3],另一類則是以YOLO為代表的單階段(One-stage)算法[4-5]。目前,兩階段目標(biāo)檢測(cè)算法被應(yīng)用于日常情況下已經(jīng)具備了精度高、速度快的特點(diǎn),然而應(yīng)用于檢測(cè)實(shí)際軍事戰(zhàn)場(chǎng)環(huán)境中的目標(biāo)時(shí),尤其是遇到軍事目標(biāo)借助物體隱蔽的情況,目標(biāo)檢測(cè)算法無法維持原有的檢測(cè)精度和速度,甚至?xí)霈F(xiàn)漏檢和誤檢的情況,這對(duì)于瞬息萬變的戰(zhàn)場(chǎng)來說是致命的。于是,康帥等[6]針對(duì)復(fù)雜場(chǎng)景下檢測(cè)精度下降和漏檢的問題,在YOLOv4網(wǎng)絡(luò)中添加了基于空洞卷積的HDC模塊和SJDC結(jié)構(gòu),增大感受野,從而獲得更多的特征信息,一定程度上降低了漏檢率;李軒等[7]在YOLOv3算法上除了同樣采用空洞卷積層,還使用改進(jìn)殘差網(wǎng)絡(luò)(ResNet)后的密集網(wǎng)絡(luò)結(jié)構(gòu),通過重用特征保留更多的特征細(xì)節(jié),提高目標(biāo)檢測(cè)算法在復(fù)雜天氣環(huán)境下的魯棒性。采用空洞卷積模塊改進(jìn)目標(biāo)檢測(cè)算法,雖然能夠通過增大感受野盡可能提取到更詳細(xì)的目標(biāo)特征,但是空洞卷積是面向整個(gè)特征圖,會(huì)存在冗余的特征信息,而且空洞卷積是以擴(kuò)充的方式增大感受野,會(huì)損失信息的連續(xù)性。因此,融合注意力機(jī)制被提出,令網(wǎng)絡(luò)模型重點(diǎn)提取目標(biāo)區(qū)域的特征信息,以此解決目標(biāo)有遮擋的問題。鄧杰等[8]在YOLOv3網(wǎng)絡(luò)的輸出層中加入時(shí)頻域融合注意力模塊(TFFAM),通過給特征圖分配權(quán)重,令網(wǎng)絡(luò)更多地關(guān)注目標(biāo)區(qū)域,有效地提高了密集行人的檢測(cè)精度;王楊等[9]考慮到檢測(cè)目標(biāo)經(jīng)過迷彩偽裝會(huì)影響檢測(cè)精度,對(duì)YOLOv5算法添加Triplet Attention和SE(Squeeze and Excitation)注意力模塊,能較為準(zhǔn)確地檢測(cè)出隱蔽目標(biāo)且保持較高精度。
對(duì)于目標(biāo)檢測(cè)的遮擋問題,無論是采用空洞卷積模塊增大感受野,還是添加注意力機(jī)制提高關(guān)注度,研究人員都是針對(duì)目標(biāo)未被遮擋的部分進(jìn)行研究,通過改進(jìn)目標(biāo)檢測(cè)算法來實(shí)現(xiàn)遮擋條件下的目標(biāo)檢測(cè)任務(wù)。很少有人從目標(biāo)整體的角度出發(fā)來研究目標(biāo)存在遮擋的檢測(cè)精度問題,因此,本文結(jié)合圖像修復(fù)提出一種針對(duì)目標(biāo)被遮擋問題的目標(biāo)檢測(cè)算法(YOLO-Inpainting),該算法由兩部分組成,一部分是基于YOLOv4算法改進(jìn)的目標(biāo)檢測(cè)算法,另一部分是基于生成對(duì)抗網(wǎng)絡(luò)的圖像修復(fù)算法,這部分用于對(duì)去除遮擋物的目標(biāo)圖像進(jìn)行修復(fù),盡可能還原圖像中目標(biāo)的完整性。算法訓(xùn)練分為兩部分訓(xùn)練,除了搜集的圖像外,訓(xùn)練的數(shù)據(jù)集還使用EmbedCut算法進(jìn)行數(shù)據(jù)增強(qiáng)。
YOLOv4算法[10]是單階段目標(biāo)檢測(cè)算法中較為完善的一種算法,它在YOLOv3的基礎(chǔ)上增加了許多優(yōu)秀的優(yōu)化技巧,主要從網(wǎng)絡(luò)結(jié)構(gòu)、數(shù)據(jù)增強(qiáng)、激活函數(shù)和網(wǎng)絡(luò)訓(xùn)練等方面進(jìn)行優(yōu)化,可以實(shí)現(xiàn)檢測(cè)精度和速度的均衡。
YOLOv4的網(wǎng)絡(luò)結(jié)構(gòu)主要由主干網(wǎng)絡(luò)(Backbone)、頸部(Neck)和頭部(Head)3個(gè)部分組成。主干網(wǎng)絡(luò)借鑒CSPNet網(wǎng)絡(luò)結(jié)構(gòu),采用CSPDarkNet53網(wǎng)絡(luò),該網(wǎng)絡(luò)將特征提取分割為兩個(gè)支流,一個(gè)支流需要經(jīng)過若干殘差模塊進(jìn)行特征提取,另一個(gè)則只需要經(jīng)過一個(gè)卷積塊,最后合并成一組特征圖,這樣既保留了網(wǎng)絡(luò)的深度,提高網(wǎng)絡(luò)的學(xué)習(xí)能力以及豐富特征內(nèi)容,又減少了模型參數(shù),降低了模型的計(jì)算成本。CSPDarkNet53網(wǎng)絡(luò)還采用Mish激活函數(shù),不同于其他激活函數(shù),Mish函數(shù)沒有上邊界,能避免由于邊界存在而導(dǎo)致的飽和,并且更加平滑,可以更好地傳播信息,保持很好的準(zhǔn)確性。網(wǎng)絡(luò)的頸部(Neck)即特征融合部分,主要采用了SPP模塊和PANet網(wǎng)絡(luò)結(jié)構(gòu),SPP模塊是多層池化結(jié)構(gòu),在YOLOv4中除了用來消除卷積神經(jīng)網(wǎng)絡(luò)受固定輸入尺寸的限制,還可以增加感受野,并分離出最重要的上下文特征。PANet網(wǎng)絡(luò)結(jié)構(gòu)是在FPN結(jié)構(gòu)的基礎(chǔ)上增加了自下向上的特征金字塔,這樣可以從主干層對(duì)不同的檢測(cè)層進(jìn)行特征融合。YOLOv4的損失函數(shù)在原YOLOv3的基礎(chǔ)上改用了CIoU-Loss,作為丈量目標(biāo)框和預(yù)測(cè)框之間的位置損失,包含了重疊面積、中心點(diǎn)距離和長(zhǎng)寬比3個(gè)因素,進(jìn)一步提高了目標(biāo)檢測(cè)算法的精度。
模型訓(xùn)練方面,YOLOv4算法采用了多個(gè)可以提升算法精度的訓(xùn)練小技巧。Mosaic是YOLOv4中提出的一種新型數(shù)據(jù)增強(qiáng)的算法,它將4張訓(xùn)練圖片拼接為1張,極大地減少了訓(xùn)練成本。訓(xùn)練過程中采用DropBlock正則化,選擇丟棄單元領(lǐng)域內(nèi)的區(qū)塊,增加模型訓(xùn)練的復(fù)雜性,效果比通常的Dropout形式更好。除此之外,YOLOv4還采用遺傳算法,在前10%的訓(xùn)練時(shí)間里選擇出最優(yōu)的超參數(shù)。
檢測(cè)目標(biāo)的遮擋問題,一般是指存在物體遮擋住目標(biāo)的一部分區(qū)域,只留剩余部位暴露在檢測(cè)視覺范圍內(nèi),而且遮擋區(qū)域大小通常都是隨機(jī)的,因此,目標(biāo)暴露的部位以及區(qū)域大小成為影響檢測(cè)效果的關(guān)鍵因素。
現(xiàn)有的YOLOv4算法雖然已經(jīng)具有很好的檢測(cè)效果,但是面對(duì)檢測(cè)目標(biāo)的遮擋區(qū)域過大或者暴露區(qū)域?yàn)榉顷P(guān)鍵區(qū)域時(shí),很容易出現(xiàn)漏檢和誤檢的現(xiàn)象。本文同樣在YOLOv4算法的基礎(chǔ)上進(jìn)行改進(jìn),對(duì)算法主干網(wǎng)絡(luò)部分引入卷積注意力模塊[11](Convolutional Block Attention Module,CBAM),增強(qiáng)網(wǎng)絡(luò)對(duì)目標(biāo)區(qū)域的特征提??;同時(shí),在計(jì)算條件有限的情況下,為提高模型訓(xùn)練效率,在模型的頭部采用交叉迭代批量標(biāo)準(zhǔn)層[12](Cross-Iteration Batch Normalization,CBN)。
圖1所示為改進(jìn)的YOLOv4結(jié)構(gòu)圖。
圖1 改進(jìn)的YOLOv4結(jié)構(gòu)圖Fig.1 Structure diagram of the improved YOLOv4
1.2.1 卷積注意力模塊
卷積注意力模塊(CBAM)是由通道注意力模塊(Ch-annel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)兩個(gè)獨(dú)立的子模塊組合而成,通過每一步訓(xùn)練讓網(wǎng)絡(luò)學(xué)會(huì)關(guān)注更重要的特征圖以及特征信息,采用給通道和空間分配不同權(quán)重的方式,使注意力信息流通整個(gè)網(wǎng)絡(luò)。
通道注意力模塊是對(duì)特征圖的通道進(jìn)行權(quán)重分配,輸入尺寸為H×W×C的特征圖,分別經(jīng)過全局最大池化和全局平均池化,得到2組1×1×C的特征圖,然后在一個(gè)神經(jīng)網(wǎng)絡(luò)中進(jìn)行2次卷積讓通道數(shù)在C/r和C之間轉(zhuǎn)換(r為超參數(shù)),最后再將得到的特征圖經(jīng)過Sigmoid函數(shù)輸出一個(gè)C維向量的權(quán)重值,對(duì)輸入的特征圖賦值。
空間注意力模塊則是對(duì)每張?zhí)卣鲌D的內(nèi)容進(jìn)行權(quán)重分配,對(duì)輸入的特征圖先做一個(gè)基于通道的全局最大池化和全局平均池化,得到兩個(gè)H×W×1的特征圖,再將2張?zhí)卣鲌D進(jìn)行通道拼接,最后經(jīng)過1個(gè)卷積層和激活層降維成H×W×1的權(quán)重系數(shù),賦值給每張?zhí)卣鲌D。
圖1(b)中,本文將CBAM注意力模塊添加在主干網(wǎng)絡(luò)的殘差模塊(Resunit)中,并且在CSP模塊中額外加入通道注意力模塊,由于CSP模塊是網(wǎng)絡(luò)的主要組成部分,可以保證注意力機(jī)制深入網(wǎng)絡(luò),提升網(wǎng)絡(luò)對(duì)特征圖通道和空間的敏感性,而且避免了模型計(jì)算量的大幅增加。
1.2.2 交叉迭代批量標(biāo)準(zhǔn)化
批量標(biāo)準(zhǔn)化(Batch Normalization,BN)通過對(duì)一個(gè)小批量(Batch Size)的特征圖進(jìn)行標(biāo)準(zhǔn)化,令特征圖的數(shù)據(jù)可以滿足分布規(guī)律,能夠大幅加快模型訓(xùn)練的收斂速度,緩解網(wǎng)絡(luò)中特征分布較散的問題,還能改善內(nèi)部協(xié)變量偏移(Internal Covariate Shift)現(xiàn)象。然而,產(chǎn)生這些優(yōu)勢(shì)的前提是Batch Size的數(shù)量足夠大,這就需要較好的模型計(jì)算環(huán)境,因此,為了在有限的計(jì)算條件下不降低模型訓(xùn)練效率,本文在算法模型的頭部采用交叉迭代批量標(biāo)準(zhǔn)化層代替原來的批量標(biāo)準(zhǔn)層。
(1)
(2)
(3)
(4)
(5)
(6)
生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)是由GOODFELLOW等[13]提出的,主要用于實(shí)現(xiàn)圖像去噪、圖像修復(fù)、圖像風(fēng)格轉(zhuǎn)換等計(jì)算機(jī)視覺任務(wù)。生成對(duì)抗網(wǎng)絡(luò)一般包含生成器G和判別器D兩個(gè)部分,生成器經(jīng)過學(xué)習(xí)數(shù)據(jù)分布將隨機(jī)輸入的噪聲生成接近真實(shí)的樣本,鑒別器則是用來判斷輸入的樣本是生成器生成的假樣本還是真實(shí)樣本,然后遵循“二人零和博弈”的思想,將生成器網(wǎng)絡(luò)與鑒別器網(wǎng)絡(luò)進(jìn)行博弈,從而使訓(xùn)練出的生成器能夠生成足以以假亂真的樣本。其中,博弈過程就是優(yōu)化GAN網(wǎng)絡(luò)目標(biāo)函數(shù)的過程。
GAN的對(duì)抗損失公式為
(7)
式中:E為分布函數(shù)的期望;Pdata(x)為真實(shí)樣本的數(shù)據(jù)分布,x即為真實(shí)樣本;Pz(z)表示隨機(jī)輸入的噪聲分布,通常采用正態(tài)分布。
考慮到目標(biāo)圖像不完整的輪廓會(huì)對(duì)目標(biāo)檢測(cè)結(jié)果有一定的影響,因此受到NAZERI等[14]提出的基于對(duì)抗性邊緣學(xué)習(xí)的圖像修復(fù)算法(EdgeConnect)啟發(fā),本文在基于生成對(duì)抗網(wǎng)絡(luò)設(shè)計(jì)的圖像修復(fù)網(wǎng)絡(luò)上增加邊緣修復(fù)網(wǎng)絡(luò),這樣可避免圖像修復(fù)的邊界模糊問題,而且盡可能保證目標(biāo)圖像輪廓信息的完整性,模型結(jié)構(gòu)見圖2。
圖2 圖像修復(fù)模型結(jié)構(gòu)圖Fig.2 Structure diagram of image restoration model
本文的圖像修復(fù)模型由2個(gè)生成器和2個(gè)判別器組成。前半部的生成器用于邊緣生成,保證目標(biāo)圖像輪廓的完整性,并對(duì)應(yīng)一個(gè)判別器;后半部的生成器則用于圖像內(nèi)容的紋理修復(fù),對(duì)應(yīng)另一個(gè)判別器。邊緣生成器依照原模型進(jìn)行結(jié)構(gòu)布局,采用自編碼的形式,包含2次下采樣、8個(gè)殘差塊以及2次上采樣。圖像修復(fù)生成器使用本文目標(biāo)檢測(cè)模塊的主干網(wǎng)絡(luò)作為自編碼部分,這樣可以共享特征提取的參數(shù),節(jié)省部分運(yùn)算時(shí)間。解碼部分使用了5個(gè)上采樣模塊,包含2個(gè)卷積塊、上采樣層和跳躍連接層,其中,上采樣的擴(kuò)張因子為2,Leaky ReLU激活函數(shù)的參數(shù)α=0.2,最后添加1個(gè)卷積層將特征圖輸出為三通道的樣本圖像。由于圖像修復(fù)生成器融合YOLOv4主干網(wǎng)絡(luò)作為編碼器,因此還采用跳躍連接[15]的形式,將編碼器各層輸出的特征圖跳躍連接到解碼器中,與上采樣的特征圖進(jìn)行融合,從而保證高層次語義信息和低層次局部信息的有效融合,為圖像修復(fù)增添更多局部細(xì)節(jié)信息,同時(shí)也有助于梯度的反向傳播,加快訓(xùn)練速度。2個(gè)判別器均采用70×70的PatchGAN結(jié)構(gòu)[16],將輸入映射為N×N的矩陣,矩陣塊的每個(gè)元素代表著原圖像中對(duì)應(yīng)的70×70感受域的評(píng)價(jià)值,再通過求均值來判斷是否為真實(shí)樣本。
原始GAN網(wǎng)絡(luò)的損失函數(shù)是用KL散度和JS散度作為距離衡量指標(biāo),在高維度空間中,當(dāng)生成分布和真實(shí)分布沒有重疊部分或者重疊部分可以忽略時(shí),KL散度和JS散度無法反映兩者的遠(yuǎn)近,而且無法提供梯度,這會(huì)導(dǎo)致判別器優(yōu)化良好的情況下生成器發(fā)生梯度消失現(xiàn)象,而且使用GAN損失函數(shù)訓(xùn)練生成的圖像缺乏多樣性。因此,本文在兩個(gè)判別器中均應(yīng)用WGAN網(wǎng)絡(luò)[17]的損失函數(shù),它是使用Wasserstein距離來衡量生成樣本分布和真實(shí)樣本分布之間的距離,相同情況下,由于Wasserstein距離是平滑的,所以能夠提供有效的梯度。WGAN網(wǎng)絡(luò)的損失函數(shù)L為
(8)
2.2.1 邊緣生成網(wǎng)絡(luò)的損失
由于邊緣生成網(wǎng)絡(luò)只針對(duì)目標(biāo)圖像的輪廓進(jìn)行補(bǔ)全,所以損失只包含了對(duì)抗損失和特征匹配損失,其中,特征匹配損失通過對(duì)比判別器各層的激活圖,有利于穩(wěn)定模型的訓(xùn)練。
對(duì)抗損失Ladv,1采用WGAN網(wǎng)絡(luò)的損失函數(shù),所以定義為
Ladv,1=E(Cgt,Igray)[D1(Cgt,Igray)]-EIgray[D1(Cpred,Igray)]
(9)
特征匹配損失LFM為
(10)
邊緣生成網(wǎng)絡(luò)的目標(biāo)函數(shù)為
(11)
式中,λadv,1和λFM為正則化參數(shù),表示損失權(quán)重的分配,設(shè)置為λadv,1=1,λFM=10。
2.2.2 圖像修復(fù)網(wǎng)絡(luò)的損失
圖像修復(fù)網(wǎng)絡(luò)的修復(fù)內(nèi)容包括紋理特征、顏色特征和細(xì)節(jié)特征,為了使修復(fù)后的圖像最大程度地還原出缺失內(nèi)容,除了對(duì)抗損失外,還引入了感知損失和風(fēng)格損失。
對(duì)抗損失Ladv,2也采用WGAN網(wǎng)絡(luò)的損失函數(shù),即
Ladv,2=E(Igt,Ccomp)[D2(Igt,Ccomp)]-ECcomp[D2(Ipred,Ccomp)]
(12)
感知損失Lperc是通過定義真實(shí)圖像卷積得到的特征圖與生成圖像卷積得到的特征圖之間的距離來懲罰不相似的結(jié)果,用它作為懲罰項(xiàng)有助于還原圖像的高層信息。感知損失的函數(shù)為
(13)
式中,ψi為生成器網(wǎng)絡(luò)中第i層卷積的特征圖。
風(fēng)格損失Lstyle是用Gram矩陣來計(jì)算真實(shí)圖像和生成圖像之間的風(fēng)格差異,函數(shù)為
(14)
圖像修復(fù)網(wǎng)絡(luò)的目標(biāo)函數(shù)為
(15)
式中,λp和λs分別表示感知損失權(quán)重和風(fēng)格損失權(quán)重,均為正則化參數(shù),設(shè)置為λadv,2=λp=0.1,λs=250。
本文算法總體結(jié)構(gòu)如圖3所示,由前文所述的改進(jìn)YOLOv4算法模塊和圖像修復(fù)模塊構(gòu)成。
圖3 YOLO-Inpainting算法總體結(jié)構(gòu)圖Fig.3 Structure diagram of YOLO-Inpainting algorithm
輸入的圖像經(jīng)過目標(biāo)檢測(cè)網(wǎng)絡(luò)得到檢測(cè)結(jié)果以及主干網(wǎng)絡(luò)的特征圖,再根據(jù)檢測(cè)結(jié)果判斷是否需要進(jìn)行圖像修復(fù),如果目標(biāo)檢測(cè)結(jié)果的置信度低于檢測(cè)閾值,則將特征圖和檢測(cè)圖像輸入圖像修復(fù)網(wǎng)絡(luò)中進(jìn)行修復(fù),最后對(duì)修復(fù)后的圖像重新進(jìn)行目標(biāo)檢測(cè),否則,直接輸出檢測(cè)結(jié)果。
本文選擇坦克作為檢測(cè)的軍事目標(biāo),通過在互聯(lián)網(wǎng)上搜集到的和在相關(guān)視頻中截取得到的各類坦克的目標(biāo)圖像,共計(jì)2000張。在構(gòu)建用于目標(biāo)檢測(cè)模塊訓(xùn)練的數(shù)據(jù)集時(shí),為了提高算法的魯棒性和準(zhǔn)確率,還使用EmbedCut算法進(jìn)行數(shù)據(jù)增強(qiáng),將含有大尺寸目標(biāo)的圖像經(jīng)過剪切、縮放后嵌入到各類場(chǎng)景圖像中,構(gòu)造出更多不同環(huán)境背景的目標(biāo)圖像,共計(jì)叢林、山地、丘陵、廢墟和沙漠5種環(huán)境,而且變換后的目標(biāo)尺寸更具多樣性,經(jīng)過數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)集總計(jì)4200張圖像,并通過LabelImg工具完成標(biāo)注,以PASCALVOC數(shù)據(jù)集的格式保存。
對(duì)于圖像修復(fù)模塊的數(shù)據(jù)集,以搜集到的2000張目標(biāo)圖像為基礎(chǔ),用不規(guī)則掩膜進(jìn)行遮擋,遮擋范圍包括圖像的20%,40%和60%。
圖4所示為構(gòu)建的數(shù)據(jù)集示例圖像。
圖4 數(shù)據(jù)集圖像Fig.4 Dataset image
圖4(a)是用于目標(biāo)檢測(cè)模塊訓(xùn)練的數(shù)據(jù)集,里面包含不同尺寸大小和不同數(shù)量的目標(biāo)圖像,以及用EmbedCut算法合成的圖像。圖4(b)則是訓(xùn)練圖像修復(fù)模塊的數(shù)據(jù)集。
實(shí)驗(yàn)環(huán)境是Windows10操作系統(tǒng)和 Python3.6編程語言,采用PyTorch1.2.0的深度學(xué)習(xí)框架,使用PyCharm作為編程軟件。整個(gè)模型訓(xùn)練為兩部分算法模塊單獨(dú)訓(xùn)練。
在訓(xùn)練目標(biāo)檢測(cè)模塊時(shí),根據(jù)計(jì)算條件,將輸入圖像的分辨率大小調(diào)整為416像素×416像素,每一步迭代的Batch Size設(shè)置為4。訓(xùn)練之前,先使用K-means聚類算法對(duì)數(shù)據(jù)集實(shí)現(xiàn)目標(biāo)框的聚類。訓(xùn)練的迭代步數(shù)設(shè)置為160,采用余弦退火算法來調(diào)整學(xué)習(xí)率的下降,可以防止出現(xiàn)局部極小值的現(xiàn)象,其中,前100步迭代設(shè)置初始學(xué)習(xí)率為1×10-4,最小值為1×10-5,后60步迭代設(shè)置初始學(xué)習(xí)率為1×10-5,最小值為1×10-6,下降間隔步數(shù)均為5。
對(duì)于圖像修復(fù)模塊,Batch Size設(shè)置為2,預(yù)設(shè)迭代15萬次,并根據(jù)具體收斂情況進(jìn)行增加,直至模型收斂。采用Adam優(yōu)化器優(yōu)化生成器,設(shè)置參數(shù)為β1=0,β2=0.99,學(xué)習(xí)率為1×10-3。由于2個(gè)判別器都應(yīng)用WGAN損失作為對(duì)抗損失函數(shù),因此根據(jù)文獻(xiàn)[17],采用RMSProp優(yōu)化器對(duì)判別器參數(shù)進(jìn)行優(yōu)化,設(shè)置平滑常數(shù)α=0.9,學(xué)習(xí)率為1×10-4。其中,邊緣生成網(wǎng)絡(luò)中采用Canny算子進(jìn)行邊緣檢測(cè),高斯濾波器的標(biāo)準(zhǔn)差設(shè)置為σ=1.5,閾值為0.5。
4.3.1 驗(yàn)證目標(biāo)檢測(cè)算法優(yōu)化后的檢測(cè)效果
為驗(yàn)證本文提出的目標(biāo)檢測(cè)算法的優(yōu)越性,挑選正常目標(biāo)圖像和帶掩膜遮擋的目標(biāo)圖像各200張作為測(cè)試集,分別采用YOLOv3,YOLOv4以及本文所提的YOLO-Inpainting算法進(jìn)行測(cè)試。評(píng)估目標(biāo)檢測(cè)效果的指標(biāo)通常為mAP,是指各類目標(biāo)物體平均準(zhǔn)確率(AP)的均值,由于本文只選擇坦克這一類物體作為檢測(cè)的軍事目標(biāo),因此mAP值即為AP值。數(shù)值上,它等于準(zhǔn)確率(Precision)和召回率(Recall)所圍成P-R曲線圖的面積,準(zhǔn)確率表示算法檢測(cè)出的正確目標(biāo)數(shù)與檢測(cè)出的所有目標(biāo)數(shù)的比值,能表現(xiàn)算法的誤檢情況;召回率則表示算法檢測(cè)出的正確目標(biāo)數(shù)與目標(biāo)圖像中所有目標(biāo)數(shù)的比值,可表現(xiàn)算法的漏檢情況。
首先對(duì)比本文的YOLO-Inpainting算法與YOLOv4算法對(duì)無遮擋圖像的檢測(cè)效果,測(cè)試圖像包括正常圖像和合成圖像,如圖5所示。圖5(a)和圖5(b)分別為兩種算法對(duì)200張正常坦克類目標(biāo)圖像測(cè)試集檢測(cè)的P-R曲線,從中可以看出,YOLO-Inpainting算法檢測(cè)的AP值略高,但僅高出了2.5%。仔細(xì)對(duì)比圖5(a)和圖5(b),雖然曲線所圍成的面積大小相似,但是兩條曲線有明顯差異,圖5(a)中曲線更加平滑,準(zhǔn)確率的值基本穩(wěn)定在最高值,而且從橫坐標(biāo)的召回率來看,曲線的橫向跨度略大,這表明YOLO-Inpainting算法一定程度上可以解決漏檢問題。
圖5(c)和圖5(d)分別為兩種算法對(duì)測(cè)試集檢測(cè)結(jié)果中的8張示例圖,從中可以看出,兩種算法對(duì)于正常的目標(biāo)圖像檢測(cè)效果都不錯(cuò),無論是多目標(biāo)的情況還是目標(biāo)處于不同光線環(huán)境下,只存在檢測(cè)置信度高低的差距。然而,在面對(duì)合成的目標(biāo)圖像時(shí),YOLOv4算法出現(xiàn)了檢測(cè)不穩(wěn)定現(xiàn)象,相比之下,YOLO-Inpainting算法雖然檢測(cè)結(jié)果一般,但并未出現(xiàn)檢測(cè)不穩(wěn)定現(xiàn)象。這說明添加注意力模塊后,算法對(duì)于檢測(cè)小目標(biāo)圖像或者與周圍環(huán)境相似的目標(biāo)圖像有一定的提升,同時(shí)使用EmbedCut算法進(jìn)行數(shù)據(jù)增強(qiáng)可以有效提高目標(biāo)檢測(cè)算法的檢測(cè)精度。
4.3.2 驗(yàn)證圖像修復(fù)模塊的修復(fù)效果
圖6為本文算法中圖像修復(fù)模塊對(duì)200張帶掩膜遮擋的目標(biāo)圖像進(jìn)行修復(fù)的結(jié)果示例圖。從圖6上看,對(duì)于遮擋較少的圖像,修復(fù)后的目標(biāo)圖像能較好地顯示出紋理細(xì)節(jié),沒有明顯的局部色差問題。在修復(fù)遮擋區(qū)域較大的圖像時(shí),雖然無法細(xì)致地還原目標(biāo)的紋理結(jié)構(gòu),出現(xiàn)了局部模糊現(xiàn)象,但是由于使用了邊緣修復(fù)的雙生成器模型,修復(fù)后的目標(biāo)圖像基本沒有出現(xiàn)偽邊界,從視覺效果上看,圖像也比較完整、連續(xù),能清晰地觀察出目標(biāo)的整體輪廓。
圖6 圖像修復(fù)模塊的修復(fù)結(jié)果Fig.6 Results of image restoration module
為了更加直觀地體現(xiàn)出圖像修復(fù)模塊的修復(fù)效果,引入結(jié)構(gòu)相似性(Structural Similarity,SSIM)和峰值信噪比(Peak Signal to Noise Ratio,PSNR)兩種指標(biāo)來評(píng)估圖像修復(fù)的效果。PSNR是基于修復(fù)圖像和原始圖像之間對(duì)應(yīng)像素點(diǎn)的誤差進(jìn)行圖像質(zhì)量評(píng)估,其數(shù)值越大,表明修復(fù)效果越好;SSIM則是通過對(duì)比2張圖像的亮度、結(jié)構(gòu)和對(duì)比度來測(cè)量相似度,數(shù)值范圍為(0,1),同樣數(shù)值越大,表示修復(fù)效果越好。
表1所示為圖像修復(fù)模塊的PSNR值與SSIM值。
表1 圖像修復(fù)模塊的PSNR值和SSIM值
從表1也能看出,模型修復(fù)效果較佳,能有效還原出被遮擋的目標(biāo)區(qū)域,而且由于各種損失函數(shù)的約束,減小了修復(fù)圖像的亮度、結(jié)構(gòu)和對(duì)比度等誤差。
4.3.3 驗(yàn)證整體算法的檢測(cè)效果
融合圖像修復(fù)模塊的目的是為了提高目標(biāo)有遮擋時(shí)的檢測(cè)精度,因此,還需要驗(yàn)證添加圖像修復(fù)模塊后算法對(duì)于目標(biāo)遮擋情況的檢測(cè)效果。檢測(cè)圖像是借助白色掩膜來模擬遮擋環(huán)境的目標(biāo)圖像,遮擋區(qū)域約占30%~60%,且隨機(jī)遮擋目標(biāo)部位。
圖7所示為算法對(duì)遮擋目標(biāo)的檢測(cè)結(jié)果。
將各種算法對(duì)200張帶掩膜遮擋的坦克類目標(biāo)圖像測(cè)試集進(jìn)行目標(biāo)檢測(cè),其AP曲線圖見圖7 (a)~7(d),結(jié)果表明,即使不使用圖像修復(fù)模塊,YOLO-Inpainting算法依然比其他兩種算法具有更好的檢測(cè)效果。其中,YOLOv3算法的檢測(cè)效果較差,這是因?yàn)榫W(wǎng)絡(luò)深度會(huì)影響提取特征的能力,無法提取出更多、更細(xì)節(jié)的有效特征,進(jìn)而導(dǎo)致較低的檢測(cè)精度。本文算法在YOLOv4的基礎(chǔ)上引入注意力機(jī)制,會(huì)對(duì)目標(biāo)未被遮擋的部分產(chǎn)生更多的關(guān)注度,能較為準(zhǔn)確地檢測(cè)出目標(biāo)的部分區(qū)域,而且添加注意力機(jī)制在一定程度上可以加深網(wǎng)絡(luò),增強(qiáng)網(wǎng)絡(luò)的特征提取能力,從而提高算法精度。
圖7 不同算法對(duì)遮擋目標(biāo)的檢測(cè)結(jié)果Fig.7 Detection results of occluded targets based on different algorithms
圖7(e)為4種算法對(duì)測(cè)試集檢測(cè)結(jié)果中的8張示例圖。自上而下依次為YOLOv3,YOLOv4,YOLO-Inpainting(目標(biāo)檢測(cè)模塊)和YOLO-Inpainting。從檢測(cè)結(jié)果圖像可以明顯地看出,各算法對(duì)遮擋目標(biāo)的檢測(cè)效果,無論是YOLOv3算法還是YOLOv4算法,都存在漏檢或者誤檢的情況,檢測(cè)的準(zhǔn)確率更是無法達(dá)到要求。經(jīng)過比對(duì),對(duì)于不同區(qū)域大小以及不同部位的遮擋,單純的目標(biāo)檢測(cè)算法會(huì)出現(xiàn)較大差距的檢測(cè)結(jié)果,甚至對(duì)同一遮擋目標(biāo)的不同部位檢測(cè)出多個(gè)結(jié)果,嚴(yán)重不符合軍事目標(biāo)的檢測(cè)要求。而YOLO-Inpainting算法通過圖像修復(fù)模塊還原出目標(biāo)被遮擋的部分,即使存在修復(fù)不佳的情況,如圖7(e)的第1,3列,但還是能夠準(zhǔn)確地檢測(cè)出目標(biāo),這是因?yàn)閳D像修復(fù)模塊還原了目標(biāo)圖像的整體輪廓。
模擬仿真最終檢測(cè)結(jié)果如表2所示。
表2 3種算法檢測(cè)效果對(duì)比
從表2可知,本文提出的YOLO-Inpainting算法對(duì)于檢測(cè)遮擋目標(biāo)有很大的優(yōu)勢(shì),這也表明本文算法具有很好的可行性。
本文提出一種融合圖像修復(fù)模塊的目標(biāo)檢測(cè)算法,用于針對(duì)復(fù)雜環(huán)境中目標(biāo)被遮擋的問題。在目標(biāo)檢測(cè)模塊中以YOLOv4算法為基礎(chǔ),引入注意力機(jī)制,增強(qiáng)網(wǎng)絡(luò)的特征提取能力,較原YOLOv4算法提高了2.5%的檢測(cè)精度;隨后基于生成對(duì)抗網(wǎng)絡(luò)設(shè)計(jì)了圖像修復(fù)網(wǎng)絡(luò),用于修復(fù)還原目標(biāo)被遮擋的部位。經(jīng)過模擬仿真表明,在其他算法對(duì)遮擋目標(biāo)檢測(cè)結(jié)果較差的情況下,本文算法借助圖像修復(fù)模塊能夠使檢測(cè)精度達(dá)到79.63%,同時(shí)可以較好地解決復(fù)雜背景情況下的漏檢和誤檢問題,這對(duì)于復(fù)雜戰(zhàn)場(chǎng)中的軍事目標(biāo)檢測(cè)具有重要的意義。由于本文在目標(biāo)檢測(cè)算法中增添了圖像修復(fù)模塊,會(huì)導(dǎo)致算法的檢測(cè)速度下降,削減了算法的實(shí)時(shí)性,因此,如何更好地融合圖像修復(fù)模塊是下一步工作中需要重點(diǎn)研究的問題。