趙若辰, 王敬東, 林思玉, 顧東澤
(南京航空航天大學(xué)自動化學(xué)院, 江蘇 南京 211106)
建筑物作為航空圖像中的提取重點(diǎn),精確的檢測建筑物對于城市與農(nóng)村建設(shè)的變化監(jiān)測、基礎(chǔ)設(shè)施規(guī)劃、土地利用與管理等任務(wù)至關(guān)重要[1-4]。但是建筑物的識別檢測一直以來存在諸多難點(diǎn),例如樹木與陰影對目標(biāo)的遮擋、建筑物外觀顏色復(fù)雜、小型建筑物易受道路汽車等背景干擾等問題,造成了建筑物的漏檢錯(cuò)檢。這些問題也成為了建筑物檢測研究的熱點(diǎn)。
建筑物檢測目前主要采用深度學(xué)習(xí)方法,深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)不僅可以自主提取特征,還能提取到更多圖像深層次的抽象特征[5]。眾多目標(biāo)檢測任務(wù)結(jié)果表明,深層次特征對目標(biāo)檢測精度有很大提升,因此目前大部分的目標(biāo)檢測任務(wù)都采用了深度學(xué)習(xí)的方法,建筑物檢測也不例外。Liu等人[6]使用圖像金字塔技術(shù)構(gòu)建多級訓(xùn)練的圖片樣本,之后運(yùn)用候選區(qū)域檢測建筑物,但是由于圖片尺寸逐級減少,造成了部分特征信息的丟失,導(dǎo)致小尺寸建筑物檢測效果不佳。李大軍等人[7]使用先進(jìn)的Mask-區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Mask-region convolutional neural networks, Mask-RCNN)[8]模型檢測建筑物,進(jìn)一步提高了航拍圖像中建筑物檢測的整體準(zhǔn)確性。文獻(xiàn)[9]提出一種利用不同尺度的卷積核網(wǎng)絡(luò)預(yù)測不同尺寸的遙感圖像中建筑物的方法,雖然小尺度建筑物檢測準(zhǔn)確率有所提升,但相比其他尺寸的建筑物還有很大差距。除了目標(biāo)檢測外,建筑物檢測的另一種方向是利用全卷積網(wǎng)絡(luò)在圖像上進(jìn)行語義分割[10],提取出建筑物的輪廓。伍廣明等人提出[11]使用U型卷積神經(jīng)網(wǎng)絡(luò)(U-convolutional neural networks, U-net)[12]對遙感影像進(jìn)行建筑物特征提取,對建筑物區(qū)域與背景進(jìn)行了分割。相比于Mask-RCNN進(jìn)一步提升了檢測速度。但是由于網(wǎng)絡(luò)層數(shù)較深,深層網(wǎng)絡(luò)的感受野較大,因此對于小型建筑物的檢測效果不佳。Zuo等人[13]針對全卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行改進(jìn),將底層卷積中的不同序列感知野中的特征融合到高層卷積層,對不同語義層次的特征進(jìn)行融合,提高了檢測速度,但在小尺寸建筑物的識別分割上準(zhǔn)確率不高。于洋等人[14]將全卷積網(wǎng)絡(luò)的連接結(jié)構(gòu)改進(jìn)為跳層鏈接,有效防止了因?yàn)榫W(wǎng)絡(luò)加深引起的梯度爆炸,同時(shí)利用數(shù)字地表模型(digital surface model, DSM)圖像數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,細(xì)化了建筑物的輪廓邊緣提取結(jié)果。李強(qiáng)等人[15]將U-net與Segnet[16]網(wǎng)絡(luò)結(jié)合對圖像進(jìn)行分割,利用不同擴(kuò)張率的空洞卷積[17]提取圖中建筑物的輪廓,方法有效提高了建筑物輪廓提取精度,但是由于空洞卷積感受野太大,小尺寸的建筑物提取效果不佳。文獻(xiàn)[18]在Segnet的基礎(chǔ)上提出了多任務(wù)級聯(lián)損失函數(shù)的概念,改善了不同尺寸建筑物的輪廓的檢測精度。
雖然深度學(xué)習(xí)算法比傳統(tǒng)算法效果有了很大提升,但是在現(xiàn)有的研究中普遍對小于圖像尺寸十分之一的小型建筑物檢測效果不佳。在實(shí)際應(yīng)用中,小型建筑物的準(zhǔn)確檢測對于違章建筑物檢測、新建軍事設(shè)施檢測等民用和軍事方面有著重要意義,并且在航拍圖像中這種尺寸的小型建筑物具有相當(dāng)一部分?jǐn)?shù)量。因此,針對現(xiàn)有模型在小型建筑物檢測方面存在的問題進(jìn)行了進(jìn)一步研究。在基于深度學(xué)習(xí)的Mask-RCNN目標(biāo)檢測算法上進(jìn)行改進(jìn),設(shè)計(jì)了一種基于注意力機(jī)制的多尺度組卷積特征提取網(wǎng)絡(luò),以提高小型建筑物檢測的準(zhǔn)確率。
基于深度學(xué)習(xí)的目標(biāo)檢測模型有很多,其中基于二階段的Mask-RCNN模型由于準(zhǔn)確率較高,被廣泛應(yīng)用在各種目標(biāo)檢測任務(wù)中。因此,本文選用Mask-RCNN檢測模型作為基礎(chǔ)并對其在小型建筑物檢測上存在的問題進(jìn)行研究改進(jìn)。Mask-RCNN模型訓(xùn)練和檢測流程如圖1所示。其目標(biāo)檢測流程主要由特征提取網(wǎng)絡(luò)、特征融合網(wǎng)絡(luò)以及目標(biāo)預(yù)測網(wǎng)絡(luò)3個(gè)階段組成。首先,通過深度殘差網(wǎng)絡(luò)(residual network,Resnet)[19]逐步提取到不同網(wǎng)絡(luò)層的特征圖,如圖1中所示的C1~C5層。再將這些特征圖通過模型中的特征金字塔網(wǎng)絡(luò)(feature pyramid networks,FPN)[20]進(jìn)行特征融合使每層獲得其他層次的特征,得到P2~P5的4層特征圖。之后,將這些特征圖分別送入后續(xù)的預(yù)測網(wǎng)絡(luò),通過特征圖上的特征篩選出可能含有建筑物的區(qū)域。最后,使用全連接層分支來檢測建筑物。訓(xùn)練過程在其基礎(chǔ)上通過損失函數(shù)即檢測誤差反饋指導(dǎo)模型的訓(xùn)練,使模型提取的特征和后續(xù)的分類操作更好地?cái)M合數(shù)據(jù)。Mask-RCNN雖然整體檢測準(zhǔn)確率較高,但是小目標(biāo)檢測準(zhǔn)確率低的問題依然沒有解決,因此本文在此算法模型的基礎(chǔ)上進(jìn)行了分析改進(jìn)。
圖1 Mask-RCNN算法流程
從深度學(xué)習(xí)檢測算法流程可以看出,一開始卷積神經(jīng)網(wǎng)絡(luò)中提取到的特征質(zhì)量對檢測結(jié)果有著直接影響,因此本文主要研究特征提取網(wǎng)絡(luò)方面存在的問題。由于特征提取網(wǎng)絡(luò)中高層提取到的抽象語義特征對目標(biāo)檢測很重要,因此將原始Mask-RCNN中的卷積神經(jīng)網(wǎng)絡(luò)的C5層的特征圖和檢測結(jié)果進(jìn)行了輸出。結(jié)果如圖2所示。
圖2 特征圖與輸出結(jié)果可視化
其中第1行為原圖。第2行為C5層輸出特征圖,圖中像素點(diǎn)顏色亮度與建筑物類別正相關(guān),即越亮代表網(wǎng)絡(luò)認(rèn)為該處特征對建筑物檢測越關(guān)鍵,反之則認(rèn)為是背景特征。第3行為檢測結(jié)果,紅色區(qū)域?yàn)闄z測出的建筑物,黃色圈出的為漏檢錯(cuò)檢的部分。從輸出的特征圖中可以看出,建筑物關(guān)鍵特征點(diǎn)集中在大型建筑物所在的區(qū)域上,而提取到的小目標(biāo)特征明顯較少,這可能會造成小建筑的漏檢。另外,網(wǎng)絡(luò)還提取了大量非建筑物的背景特征,這些特征可能成為“噪聲”對建筑物的檢測進(jìn)行干擾,產(chǎn)生錯(cuò)檢。而從檢測結(jié)果上也可以看出,1、2兩幅圖片中存在小建筑物漏檢的情況,3、4兩幅圖片中還存在錯(cuò)檢的現(xiàn)象,3號圖片中將與小建筑物類似的汽車識別成了建筑物,而4號圖片則將道路識別成了建筑物。從對應(yīng)的特征圖中可以發(fā)現(xiàn),漏檢的小建筑物所在的區(qū)域提取到的特征較少,而本該是背景的地方被特征提取網(wǎng)絡(luò)認(rèn)為存在著建筑物特征。這說明傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)對于特征提取還存在著不足,結(jié)合網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行分析,原始Mask-RCNN的特征提取網(wǎng)絡(luò)存在以下不足:一是特征提取網(wǎng)絡(luò)的網(wǎng)絡(luò)層連接方式,特征僅在一層或少數(shù)幾層中被提取和學(xué)習(xí),導(dǎo)致在卷積過程中對特征的利用率不高。二是卷積層中僅使用單一的固定尺寸卷積核提取特征,無法充分提取到圖像中的所有特征。三是卷積核不同通道提取到的特征權(quán)重是相同的,在卷積過程中卷積核無法分辨提取到的特征對檢測任務(wù)是否相關(guān),因此有部分通道會提取學(xué)習(xí)到與目標(biāo)不相干的背景特征。
以上這些問題導(dǎo)致了原始的卷積神經(jīng)網(wǎng)絡(luò)在提取特征時(shí)無法有效提取小型建筑物特征,導(dǎo)致小目標(biāo)可用特征少,并且易與提取的背景特征混淆。這也是小目標(biāo)檢測準(zhǔn)確率低的根本原因。因此,為了解決這個(gè)問題,本文對原始的Mask-RCNN模型中的特征提取網(wǎng)絡(luò)進(jìn)行了改進(jìn)。首先將原始Resnet網(wǎng)絡(luò)替換為密集連接的卷積神經(jīng)網(wǎng)絡(luò)(densely connected convolutional neural networks, Densenet);接著對網(wǎng)絡(luò)中卷積層中的單一尺寸的卷積核進(jìn)行改進(jìn),設(shè)計(jì)了一種具有多個(gè)尺度的組卷積核;最后將注意力機(jī)制加到網(wǎng)絡(luò)層中指導(dǎo)卷積核提取關(guān)鍵特征。
原始Mask-RCNN中使用的是Resnet。Resnet解決了網(wǎng)絡(luò)加深導(dǎo)致的梯度消失問題,從而可使用更多的層數(shù)提取深層次的語義特征。如圖3所示,與早期卷積神經(jīng)網(wǎng)絡(luò)卷積層線性的輸入輸出圖相比(見圖3(a)),Resnet使用“殘差結(jié)構(gòu)”將每個(gè)層與前面的某些層(一般是2~3層)短路連接在一起(見圖3(b))。
圖3 卷積層連接對比
Resnet網(wǎng)絡(luò)的卷積層輸出表達(dá)式為
xl=Hl(xl-1)+xl-1
(1)
式中:xl為卷積層的輸出;l表示網(wǎng)絡(luò)層數(shù);Hl表示非線性型轉(zhuǎn)化函數(shù),其中包括多次卷積、正則化、池化等一系列操作。但是從圖3可以看出,Resnet提取到的特征依然僅在相鄰的幾層中被提取和學(xué)習(xí),存在著第1節(jié)所說的特征利用率不高的現(xiàn)象。這種現(xiàn)象在較少的小型建筑物特征上更為明顯。
為了解決這個(gè)問題,本文將其替換成Gao等人[21]提出的基于Densenet的結(jié)構(gòu),如圖3(c)所示。在該網(wǎng)絡(luò)中,將殘差結(jié)構(gòu)升級為密集連接的方式,不同于殘差結(jié)構(gòu)僅將網(wǎng)絡(luò)中相鄰的幾層進(jìn)行連接,Densenet每層之間都有直接的鏈路連接,這使得每一層的輸入都是前面所有層輸出結(jié)果的總和。Densenet輸出的表達(dá)式為
xl=Hl([x0,x1,…,xl])
(2)
因?yàn)镈ensenet中每一層學(xué)到的特征圖都能夠被之后所有層直接使用,這使得學(xué)習(xí)到的特征可以在整個(gè)網(wǎng)絡(luò)中復(fù)用,較好地利用了所有提取到的特征。不多的小目標(biāo)特征也可以多次在網(wǎng)絡(luò)中被學(xué)習(xí),較好地解決了小型建筑物特征利用率不高的問題。同時(shí)由于特征復(fù)用,高層卷積層也使用了低級特征,低級特征得以完整地保留,較好地解決了深層網(wǎng)絡(luò)中底層特征逐漸消失的問題。因此,本文使用Densenet替換原始的Resnet作為Mask-RCNN的基礎(chǔ)特征提取網(wǎng)絡(luò)。表1為原始Resnet和替換后的Densenet結(jié)構(gòu)對比。
表1 網(wǎng)絡(luò)結(jié)構(gòu)比較
其中,網(wǎng)絡(luò)后面的數(shù)字為含有計(jì)算參數(shù)的網(wǎng)絡(luò)層數(shù)。K為特征通道數(shù),本文設(shè)為32。送入Densenet網(wǎng)絡(luò)的圖片首先經(jīng)過C1網(wǎng)絡(luò)層,其中包括一個(gè)步長為2的7×7的卷積層和一個(gè)3×3的MaxPooling層,其作用在于縮小輸入圖片大小以減少計(jì)算量。然后圖像依次經(jīng)過C2、C3、C4和C5這4個(gè)網(wǎng)絡(luò)層以逐步提取不同層次的特征信息。每一個(gè)網(wǎng)絡(luò)層中包含著不同數(shù)量的1×1和3×3卷積和一個(gè)由一個(gè)1×1卷積和2×2的AveragePooling層組成的轉(zhuǎn)換層。前者用于提取特征信息,后者用于減小特征圖大小并連接兩個(gè)網(wǎng)絡(luò)層。從表1中可以看出,相較于Resnet的特征通道數(shù)逐層變大,Densent在各層提取特征時(shí)特征通道數(shù)保持為k不變,這是因?yàn)镈ensent各層需要直接連接,因此要保證通道數(shù)相同。
雖然Densenet依靠特征復(fù)用的方式基本解決了小目標(biāo)特征利用率不高的問題,但是由于Densenet的卷積層如圖4(a)所示,與Resnet相同依然使用單一3×3尺寸的卷積核提取特征,在各卷積層進(jìn)行卷積操作時(shí),僅對圖像固定范圍的區(qū)域提取一次特征,所以其本質(zhì)上小目標(biāo)的特征并沒有變多。因此,本文設(shè)計(jì)了一種可以多尺度多次提取特征的卷積核來改善這一問題。
圖4 Densenet卷積層結(jié)構(gòu)改進(jìn)前后對比
較深的網(wǎng)絡(luò)層中特征圖尺寸通常較小,而其中的小型建筑物特征更是細(xì)微。因此,為了準(zhǔn)確地提取到小型建筑物所在區(qū)域的特征,本文增加了一種更小的1×1尺寸的卷積核來解決這個(gè)問題。另外從文獻(xiàn)[22]可知,目標(biāo)除了自身特征外,周圍還存在著豐富的上下文信息,例如房屋陰影等建筑物周圍特有的一些特征。這些特征信息可以有效補(bǔ)充小型建筑物的特征,并幫助網(wǎng)絡(luò)更好地定位到小型建筑物所在區(qū)域。為了提取建筑物周圍不同面積的上下文特征信息,需要使用不同尺寸的卷積核在特征圖上提取特征。而在Densent中具有抽象語義特征的C4和C5高層特征圖尺寸為32×32和16×16,因此使用大于7×7的卷積核提取特征會造成浪費(fèi),且效果不會有所提升。故本文如圖4(b)所示,選用1×1、3×3、5×5、7×7這4種尺寸的卷積核以提取不同范圍地更豐富的特征。不過在實(shí)際訓(xùn)練過程中卻發(fā)現(xiàn)模型不僅訓(xùn)練時(shí)間有很大程度的增加,訓(xùn)練效果也隨之下降。經(jīng)分析,這是因?yàn)檩^大的卷積核導(dǎo)致了模型的參數(shù)計(jì)算量變大,而過多的參數(shù)使網(wǎng)絡(luò)產(chǎn)生了過擬合的現(xiàn)象[23]。單一卷積核參數(shù)量計(jì)算公式為
P=kernel_size2·input_channel·output_channel
(3)
式中:kernel_size為卷積核尺寸;input_channel為輸入的特征圖通道數(shù);output_channel為輸出的特征圖通道數(shù)。尺寸越大的卷積核所帶來的參數(shù)量和計(jì)算量就越大,不利于訓(xùn)練以及數(shù)據(jù)的擬合。因此在不改變感受野的前提下,需要降低模型的參數(shù)量。感受野即卷積神經(jīng)網(wǎng)絡(luò)從卷積核中能看到輸入圖像的區(qū)域大小,感受野的計(jì)算公式為
RFl+1=RFl+(kernel_sizel+1-1)·feature_stride
(4)
式中:RF表示特征感受野大?。籪eature_stride表示卷積核在圖像上的滑動步長??梢酝瞥鲆粋€(gè)5×5卷積核的感受野與兩個(gè)串聯(lián)的3×3卷積核相同,一個(gè)7×7卷積核可以被3個(gè)3×3卷積核串聯(lián)所代替。同時(shí)串聯(lián)的卷積核參數(shù)量為
(5)
output_channel=α·input_channel
(6)
式中:α為輸入輸出特征圖通道數(shù)的倍數(shù)。以5×5卷積核為例,如α為1,輸入輸出通道數(shù)為Ci和Co時(shí),5×5卷積核參數(shù)量為5×5×Ci×Co,而串聯(lián)的兩個(gè)3×3卷積核的參數(shù)量為2×3×3×Ci×Co,參數(shù)量少了28%,有效緩解了網(wǎng)絡(luò)參數(shù)的冗余。因此,本文最終使用多卷積串聯(lián)的方式,實(shí)現(xiàn)了如圖4(c)的多尺度卷積核的構(gòu)建。
多尺度卷積核有效解決了單一尺寸卷積核在圖像中不能提取不同尺度的特征的問題,但是每種尺寸的卷積核在卷積層中依然只提取了一次特征。為了達(dá)到多次提取特征的目的,本文借鑒Krizhevsky等人[24]提出的分組卷積的概念,利用多組卷積分別對特征圖提取特征。分組卷積將一個(gè)卷積核按通道分成多組,分別對特征圖進(jìn)行卷積操作,如圖5所示,圖中C為輸入通道數(shù),輸入的特征圖被分成g組,卷積核也相應(yīng)地分成g組,分別在對應(yīng)的組內(nèi)做卷積。由上文卷積核參數(shù)式(3)可知,在相同的參數(shù)下,g越大越可以獲得更多的特征圖。因此,本文將4個(gè)尺寸的卷積核分為一組,共32組。32為Densenet的通道數(shù),即g理論上的最大值。多尺度分組卷積的結(jié)構(gòu)如圖4(d)所示。由于使用分組卷積后提取的每組特征圖是由卷積核不同通道所提取的,其中包含的特征并不重復(fù),因此可以提取到比以往更多的特征。多尺度組卷積實(shí)現(xiàn)了多種尺寸、多次的特征提取,解決了之前單一尺度卷積核提取建筑物特征不充分、小型建筑物特征較少的問題。
圖5 分組卷積
多尺度組卷積核有效解決了小目標(biāo)特征提取不充分的問題,但是由于網(wǎng)絡(luò)中每個(gè)卷積核通道之間權(quán)重是相同的,這會造成網(wǎng)絡(luò)學(xué)習(xí)到部分卷積核“錯(cuò)誤”提取的背景特征。不僅造成了卷積核的“浪費(fèi)”,同時(shí)第1節(jié)的實(shí)驗(yàn)也表明背景特征容易對建筑物檢測產(chǎn)生誤檢。為了使特征提取網(wǎng)絡(luò)更準(zhǔn)確地提取建筑物特征而非背景特征和噪聲,將注意力機(jī)制應(yīng)用在了卷積核上。注意力機(jī)制[25]由Bahdanau等人提出,本質(zhì)類似于人類的視覺機(jī)制,使卷積核提取特征時(shí)傾向于關(guān)注圖像中的高價(jià)值信息,并忽略掉不相關(guān)的信息。其通過對卷積核提取的特征信息進(jìn)行權(quán)重標(biāo)定,依據(jù)權(quán)重大小在訓(xùn)練過程中保留關(guān)鍵特征并抑制無用信息。本文將帶有注意力機(jī)制的SKnet模塊[26]加入Densenet的網(wǎng)絡(luò)層中。SKnet可以獲得不同卷積核和通道的權(quán)重,再將其加權(quán)到對應(yīng)的輸出特征圖中,SKnet模塊如圖6所示。
圖6 SKnet模塊
對于網(wǎng)絡(luò)層的輸入特征圖X∈RH′×W′×C′,其中H′×W′×C′為特征圖尺寸,首先通過本文設(shè)計(jì)的多尺度組卷積核(僅以其中一組為例)進(jìn)行非線性卷積操作得到:
F1:X→U1∈RH×W×C
(7)
F2:X→U2∈RH×W×C
(8)
F3:X→U3∈RH×W×C
(9)
F4:X→U4∈RH×W×C
(10)
由此得到U1、U2、U3、U4共4個(gè)特征圖,其中H×W×C為卷積后的特征圖尺寸。接著通過元素對位相加求和的方式將4個(gè)特征圖融合成一個(gè)特征圖U:
U=U1+U2+U3+U4
(11)
下一步對U通過全局平均池化降成一維的數(shù)組s∈RC,其將每個(gè)通道上整個(gè)空間特征編碼為一個(gè)全局特征,如下所示:
(12)
式中:Uc代表對應(yīng)通道的特征圖。然后通過全連接層中的激活、正則操作學(xué)習(xí)各個(gè)通道之間的非線性關(guān)系,得到一個(gè)更為緊湊的實(shí)數(shù)特征z,并由softmax函數(shù)得到U1、U2、U3、U4各自的權(quán)重概率矩陣ac,bc,cc,dc:
(13)
(14)
(15)
(16)
ac+bc+cc+dc=1
(17)
式中:Ac代表U1中對應(yīng)c通道的向量元素,Bc、Cc、Dc同理。最后通過加權(quán)操作將得到的4個(gè)權(quán)重矩陣ac,bc,cc,dc加權(quán)到U1、U2、U3、U4并求和得到最終的輸出向量Vc:
Vc=acU1+bcU2+ccU3+dcU4
(18)
V=[V1,V2,…,VC],VC∈RH×W
(19)
由此4個(gè)卷積核得到了不同的權(quán)重,實(shí)現(xiàn)了給卷積層添加“注意力”的目的。Sknet考慮了通道和卷積核兩個(gè)方面的權(quán)重,根據(jù)多尺度特征圖匯總得到的加權(quán)信息來指導(dǎo)網(wǎng)絡(luò)如何給不同尺寸的卷積核分配權(quán)重,因此實(shí)現(xiàn)了通過權(quán)重信息來指導(dǎo)網(wǎng)絡(luò),更側(cè)重于提取到有用特征的卷積核,忽略學(xué)習(xí)到無用背景特征或噪聲的卷積核的目標(biāo)。Sknet被安插在Densenet網(wǎng)絡(luò)層中多尺度分組卷積的后面用來指導(dǎo)卷積核的特征提取,最終本文改進(jìn)后的Densenet網(wǎng)絡(luò)層結(jié)構(gòu)如圖7所示。
圖7 改進(jìn)后卷積層結(jié)構(gòu)
本文在谷歌地球圖像軟件中采集了美國中部地區(qū)的2 000張尺寸為1 024像素×768像素的含有建筑物的航拍圖像作為數(shù)據(jù)集,其中訓(xùn)練集驗(yàn)證集和測試集的比例為8∶1∶1。并使用Labelme圖像標(biāo)注軟件對訓(xùn)練集和驗(yàn)證集圖像進(jìn)行標(biāo)注,標(biāo)注效果如圖8所示。
圖8 原圖與標(biāo)注圖像
本文基于建筑物在圖像中所占像素大小,劃分大、中、小3種尺寸的建筑物。由于不同數(shù)據(jù)集圖像尺寸不一,因此對圖中目標(biāo)大小沒有明確的尺寸定義。目前,廣泛使用的多種公開數(shù)據(jù)集如微軟發(fā)布的COCO數(shù)據(jù)集[27]將目標(biāo)尺寸為32×32的目標(biāo)定義為小目標(biāo)。另一種劃分方法是利用目標(biāo)與圖像的相對大小關(guān)系,將邊長小于圖片邊長1/10的目標(biāo)定義為小型目標(biāo),本文同樣采用這種定義方法。另外,通過對本文數(shù)據(jù)集圖像中的建筑物進(jìn)行觀察分析,絕大部分建筑物尺寸小于圖片邊長的3/10,如圖9所示。因此,在本文尺寸為1 024×768的航拍圖像中,尺寸小于70×70的建筑物為小型建筑物,中型建筑物的尺寸為圖片尺寸的1/10~1/5,大于圖片尺寸2/10的建筑物為大型建筑物。數(shù)據(jù)集中訓(xùn)練集和測試集中所含的建筑物樣本數(shù)量如表2所示,本文后續(xù)的實(shí)驗(yàn)均在此數(shù)據(jù)集上進(jìn)行。
圖9 建筑物尺寸定義
表2 數(shù)據(jù)集中建筑物數(shù)量
在后續(xù)實(shí)驗(yàn)中對建筑物檢測精度使用目標(biāo)檢測任務(wù)中常用的平均精度(average precision,AP)指標(biāo)來評估。區(qū)分正負(fù)樣本的交并比IOU閾值為0.5。
軟件環(huán)境基于windows10系統(tǒng)下的keras和tensorflow深度學(xué)習(xí)框架。硬件環(huán)境為:Intel i7-7200H@2.7 Hz×8 CPU和GTX1080Ti GPU。
為了驗(yàn)證上文對特征網(wǎng)絡(luò)的改進(jìn)措施的有效性,進(jìn)行了多項(xiàng)對比實(shí)驗(yàn)。
首先對改進(jìn)前后的特征提取網(wǎng)絡(luò)進(jìn)行了準(zhǔn)確率的對比,如表3所示。其中AP表示所有建筑物的整體準(zhǔn)確率。APs、APm、APl分別表示小、中、大尺寸建筑物的準(zhǔn)確率。網(wǎng)絡(luò)后面的數(shù)字代表網(wǎng)絡(luò)層數(shù)。
表3 改進(jìn)前后準(zhǔn)確率比較
從表3中可以看出,經(jīng)過本文對特征提取網(wǎng)絡(luò)的3項(xiàng)改進(jìn),建筑物整體檢測準(zhǔn)確率有了14.1%的提升,其中小型建筑物檢測準(zhǔn)確率提升更加明顯,提升至0.663,相比于原始的0.514提升了28.9%。進(jìn)一步分析發(fā)現(xiàn),Densenet和多尺度組卷積這兩項(xiàng)改進(jìn)對小型建筑物檢測準(zhǔn)確率提升作用較大,這說明增加小型建筑物特征可以較大提升其檢測準(zhǔn)確率。Sknet對整體檢測準(zhǔn)確率有較大提升,說明SKnet通過抑制背景特征和噪聲,使網(wǎng)絡(luò)更關(guān)注于建筑物特征,因此各尺寸的建筑物檢測準(zhǔn)確率都有所提升。
對改進(jìn)前后網(wǎng)絡(luò)訓(xùn)練損失函數(shù)的對比如圖10所示,圖中橫坐標(biāo)為訓(xùn)練輪次,每一輪中隨機(jī)訓(xùn)練1 000張圖片,縱坐標(biāo)為損失函數(shù)數(shù)值。從圖10中可以看出,3種不同方法改進(jìn)后的網(wǎng)絡(luò)損失函數(shù)在下降速度上均快于原始的Resnet網(wǎng)絡(luò),且最終數(shù)值也比之要小。這反映出改進(jìn)后的網(wǎng)絡(luò)更快地?cái)M合了數(shù)據(jù)集,進(jìn)一步說明了改進(jìn)后的網(wǎng)絡(luò)更多更好地提取到了對建筑物檢測效果有幫助的特征。但同時(shí)不難發(fā)現(xiàn),加入SKnet后網(wǎng)絡(luò)損失函數(shù)剛開始高于densenet+多尺度組卷積的曲線,且最終在第25輪時(shí)實(shí)驗(yàn)效果比后者要差。經(jīng)過分析,這是因?yàn)榫W(wǎng)絡(luò)的參數(shù)量變大,在不改變學(xué)習(xí)率等超參數(shù)的情況下,需要更多的訓(xùn)練輪次來擬合數(shù)據(jù)。但另一方面,其收斂速度要快于其他曲線,說明該方法能夠更有效地提取有用特征。
圖10 損失函數(shù)曲線
如圖11所示,將改進(jìn)前后網(wǎng)絡(luò)輸出的C5層特征圖進(jìn)行了對比。其中第1行為原圖,黃色框中為建筑物,第2行為原始Resnet提取的特征圖,第3行為改進(jìn)后的輸出特征圖??梢钥闯?相比于原始的Resnet,改進(jìn)后的特征提取網(wǎng)絡(luò)在提取特征時(shí)更集中在建筑物上,提取到的背景特征變少,提取的小型建筑物區(qū)域特征更多。進(jìn)一步說明了本文對特征提取網(wǎng)絡(luò)改進(jìn)的有效性。
圖11 改進(jìn)前后特征圖對比
本文提出的改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)與其他卷積神經(jīng)網(wǎng)絡(luò)的運(yùn)算效率和計(jì)算復(fù)雜度對比如表4所示。本文選用了VGG16[28]、Resnet101、InceptionV4[29]、Resnext101[30]、Densenet169共5種目前廣泛使用的網(wǎng)絡(luò)與本文網(wǎng)絡(luò)在本文數(shù)據(jù)集上進(jìn)行比較。其中,每秒傳輸幀數(shù)(frames per second,FPS)代表該算法每秒鐘可以處理圖像的幀數(shù),浮點(diǎn)運(yùn)算數(shù)(floating point operations,FLOPs)可以理解為計(jì)算量,數(shù)值越大代表模型復(fù)雜度越高。
表4 網(wǎng)絡(luò)檢測速度與計(jì)算復(fù)雜度對比
從表4中可以看出,InceptionV3網(wǎng)絡(luò)的檢測速度和浮點(diǎn)計(jì)算量都要優(yōu)于其他網(wǎng)絡(luò),但是其準(zhǔn)確率僅有0.755。得益于Densenet密集連接的結(jié)構(gòu)、小型卷積核級聯(lián)以及組卷積,本文網(wǎng)絡(luò)在檢測速度和計(jì)算復(fù)雜度上均比Resnet等網(wǎng)絡(luò)有所減少。增加了注意力機(jī)制后,本文的浮點(diǎn)計(jì)算量雖然相比Densenet增加了1%,但是準(zhǔn)確率提高了8%,滿足本文主要提升檢測準(zhǔn)確率的需求。
圖12為改進(jìn)前后的檢測結(jié)果對比圖,黃色圈中為改進(jìn)后被正確檢測的部分。與改進(jìn)前的檢測結(jié)果相比,第1~3號圖像中部分小建筑物的漏檢情況以及第4號圖像中將道路誤檢成建筑物的情況都得到了有效的改善。
圖12 改進(jìn)前后檢測結(jié)果對比
為了解決小型建筑物檢測準(zhǔn)確率低的問題,本文針對Mask-RCNN模型中的特征提取網(wǎng)絡(luò)進(jìn)行了改進(jìn),首先將原始的Resnet特征提取網(wǎng)絡(luò)替換為密集連接的Densenet特征提取網(wǎng)絡(luò),之后將Densenet網(wǎng)絡(luò)中卷積層結(jié)構(gòu)改為了具有多尺度的組卷積結(jié)構(gòu),并加入了SKnet注意力機(jī)制模塊。這些對特征提取網(wǎng)絡(luò)的改進(jìn),經(jīng)實(shí)驗(yàn)證明有效解決了原始網(wǎng)絡(luò)特征利用率不高,提取到的小型建筑物特征較少且易被噪聲或背景特征干擾等問題。各尺寸建筑物整體檢測準(zhǔn)確率達(dá)到了0.843,小尺寸建筑物的準(zhǔn)確率達(dá)到了0.663,提升了28%。
不過本文僅對Mask-RCNN模型中特征提取網(wǎng)絡(luò)部分進(jìn)行了論證改進(jìn),因此在后續(xù)的工作中可以關(guān)注模型其他部分對檢測結(jié)果的影響,例如特征融合網(wǎng)絡(luò)和預(yù)測網(wǎng)絡(luò)部分,并對其進(jìn)行改進(jìn)從而進(jìn)一步提升對建筑物檢測的準(zhǔn)確率。另外,本文的檢測對象為離線的航拍圖像,在后續(xù)的工作中還需對模型進(jìn)一步改進(jìn)以滿足實(shí)時(shí)性要求更高的視頻檢測任務(wù)。