劉晉川,黎向鋒,劉安旭,左敦穩(wěn),趙康
(南京航空航天大學(xué)機(jī)電學(xué)院,江蘇南京 210016)
隨著航空航天技術(shù)的飛速發(fā)展,無(wú)人機(jī)技術(shù)及其航拍圖像在軍事和民用等領(lǐng)域應(yīng)用也越來(lái)越廣,如搜索救援、地形勘探、交通疏導(dǎo)以及智能停車等[1-4]。由于無(wú)人機(jī)拍攝高度高、視野廣,導(dǎo)致航拍圖像中的目標(biāo)存在尺度變化大、尺寸較小以及背景復(fù)雜等問(wèn)題。而傳統(tǒng)的特征提取方法如SIFT 和HOG 算法需要人工設(shè)計(jì)特征[5-6],只能在特定的場(chǎng)景下才能取得較好的效果,適應(yīng)性和泛化能力差,不適合航拍圖像的檢測(cè)。
近年來(lái),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法取得了重大進(jìn)展,其準(zhǔn)確性和實(shí)時(shí)性不斷提升?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)算法大致分為兩類:一類是以Faster RCNN[7]以及Cascade R-CNN[8]等算法為基礎(chǔ)的兩階段檢測(cè)算法,另一類是以YOLO[9]、RetinaNet[10]等算法為代表的一階段檢測(cè)算法。兩階段算法首先選擇候選區(qū)域,然后將候選區(qū)域進(jìn)行位置回歸和類別分類,這種方法檢測(cè)精度較高,但檢測(cè)速度較慢。而一階段算法則去掉了候選區(qū)域的選擇步驟,直接對(duì)圖像進(jìn)行分類和回歸,檢測(cè)速度較快,但檢測(cè)精度略低。基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法在檢測(cè)精度和檢測(cè)速度上相較傳統(tǒng)方法有了很大提升,但無(wú)論是一階段還是兩階段檢測(cè)算法,在面對(duì)小目標(biāo)較多且各類目標(biāo)間尺度變化較大的圖像時(shí),仍然存在召回率低、誤檢率高的問(wèn)題。為此,國(guó)內(nèi)外學(xué)者進(jìn)行了大量研究:Zhang等人為恢復(fù)小目標(biāo)尺寸,在網(wǎng)絡(luò)中添加了反卷積層,改善了航拍圖像中小目標(biāo)的檢測(cè)精度,但該方法過(guò)于聚焦小目標(biāo),對(duì)不同尺寸的目標(biāo)檢測(cè)魯棒性較差[11];Kisantal 等人提出一種對(duì)圖像中的小目標(biāo)進(jìn)行復(fù)制和重復(fù)采樣的方法,通過(guò)豐富小目標(biāo)的訓(xùn)練樣本來(lái)提高檢測(cè)精度,然而這種數(shù)據(jù)增強(qiáng)的方法對(duì)于沒(méi)有實(shí)例分割的數(shù)據(jù)集較為繁瑣[12];劉英杰等人提出基于級(jí)聯(lián)區(qū)域建議網(wǎng)絡(luò)的航拍目標(biāo)檢測(cè)算法,通過(guò)設(shè)置多閾值級(jí)聯(lián)機(jī)構(gòu)優(yōu)化對(duì)小目標(biāo)的檢測(cè),提高了航拍圖像中小目標(biāo)的檢測(cè)精度,但該類網(wǎng)絡(luò)的高計(jì)算成本限制了檢測(cè)的速度[13]。
與一階段算法相比,F(xiàn)aster R-CNN 算法使用了RPN 網(wǎng)絡(luò),解決了訓(xùn)練過(guò)程中類別不均衡的問(wèn)題。故該文基于Faster R-CNN 網(wǎng)絡(luò),改進(jìn)特征提取網(wǎng)絡(luò)并與特征金字塔網(wǎng)絡(luò)[14](Feature Pyramid Networks,F(xiàn)PN)結(jié)合,同時(shí)改進(jìn)錨框設(shè)置,提出了適合航拍圖像檢測(cè)的多尺度目標(biāo)檢測(cè)網(wǎng)絡(luò)MS-R-CNN(Multi-Scale R-CNN)。
DIOR 數(shù)據(jù)集[15]是西北工業(yè)大學(xué)于2019 年提出的,該數(shù)據(jù)集包含23 463 張圖片,圖片尺寸均為800×800 像素,共有192 472 個(gè)對(duì)象實(shí)例,覆蓋20 個(gè)類別目標(biāo)。該數(shù)據(jù)集中有車輛、船舶等小目標(biāo),也有高爾夫球場(chǎng)、公路收費(fèi)站等尺寸較大的目標(biāo),具有較大的尺寸變化,并且具有較高的類內(nèi)多樣性和類間相似性。
文中采用查準(zhǔn)率(Precision)、召回率(Recall)、平均精度(Average Precision,AP)和平均精度均值(Mean Average Precision,mAP)作為模型性能的評(píng)價(jià)指標(biāo)。AP 值為以查準(zhǔn)率為橫坐標(biāo)、召回率為縱坐標(biāo)繪制的曲線所圍的面積。查準(zhǔn)率與召回率定義如式(1)和式(2)所示:
式中,TP(True Positive)表示分類器認(rèn)為是正樣本且確實(shí)是正樣本的例子,F(xiàn)P(False Positive)表示分類器認(rèn)為是正樣本但實(shí)際上不是正樣本的例子,F(xiàn)N(False Negative)表示分類器認(rèn)為是負(fù)樣本但實(shí)際上不是負(fù)樣本的例子。
目標(biāo)檢測(cè)任務(wù)中最重要的一個(gè)指標(biāo)是平均精度均值,在多分類任務(wù)中,將所有類別的AP 求均值就可以得到mAP。
Faster R-CNN 自提出到現(xiàn)在,一直采用最經(jīng)典的兩階段檢測(cè)算法,其網(wǎng)絡(luò)框架如圖1 所示。該算法共分為四個(gè)階段:1)VGG 網(wǎng)絡(luò)提取待檢測(cè)圖片特征;2)特征圖進(jìn)入RPN 網(wǎng)絡(luò)后輸出候選框矩陣及其得分;3)ROI Pooling 層將RPN 的輸出和特征圖進(jìn)行處理,融合后生成大小一致的特征圖;4)全連接層將3)中得到的特征圖進(jìn)行類別分類和位置回歸,得到檢測(cè)框的位置信息及得分。
圖1 Faster R-CNN網(wǎng)絡(luò)框架
對(duì)Faster R-CNN 算法的特征提取網(wǎng)絡(luò)進(jìn)行替換和改進(jìn),將其中的VGG 特征提取網(wǎng)絡(luò)替換為Res2Net[16]網(wǎng)絡(luò)。相比VGG 網(wǎng)絡(luò),Res2Net 可以提 取到更深層的語(yǔ)義信息,有效地改善了網(wǎng)絡(luò)梯度消失和梯度爆炸的問(wèn)題,整體提高了遠(yuǎn)距離小目標(biāo)這種對(duì)分辨率要求較高的信息的特征提取和表達(dá)能力。
Res2Net 網(wǎng)絡(luò)是通過(guò)改進(jìn)ResNet[17]網(wǎng)絡(luò)中的殘差塊得到的。殘差塊結(jié)構(gòu)如圖2(a)所示,輸入特征矩陣以兩個(gè)分支進(jìn)入殘差塊,直線分支經(jīng)過(guò)多個(gè)卷積層產(chǎn)生輸出特征矩陣后與shortcut 分支傳過(guò)來(lái)的特征矩陣相加,之后再使用激活函數(shù),由這種若干個(gè)殘差塊堆疊構(gòu)建而成的網(wǎng)絡(luò)叫做殘差網(wǎng)絡(luò)。深度較大的特征提取網(wǎng)絡(luò)能提取到更加豐富的特征,而殘差網(wǎng)絡(luò)保證了在網(wǎng)絡(luò)深度加深的同時(shí)不會(huì)產(chǎn)生梯度消失和梯度爆炸的問(wèn)題。
通常的特征提取網(wǎng)絡(luò)如ResNet 等都使用分層的方式表示多尺度特征,在每層網(wǎng)絡(luò)上運(yùn)用多尺度,而Res2Net 在一個(gè)殘差塊中構(gòu)建了分層的、多通道的殘差連接,以更細(xì)粒度級(jí)別來(lái)表示多尺度特征。如圖2(b)是Res2Net中的殘差塊示意圖,該殘差塊先獲得1×1卷積后的特征圖,對(duì)其通道數(shù)順序均分為s塊,圖中s=4,每一小塊Xi都會(huì)進(jìn)行一個(gè)3×3 的卷積,用Ki表示,卷積結(jié)果用Yi表示,Xi與Ki-1的輸出相加并送入Ki,這樣就可以得到s個(gè)輸出。最后將s個(gè)結(jié)果進(jìn)行拼接融合,然后進(jìn)行1×1 的卷積,這種先拆分后融合的思路可以得到多尺度的特征,更好地進(jìn)行特征融合。
圖2 ResNet和Res2Net殘差塊對(duì)比
圖3 是Res2Net 的網(wǎng)絡(luò)結(jié)構(gòu)圖。圖中Res2Net bottleneck 代表一個(gè)圖2(b)所示的Res2Net 殘差塊,選取Conv2_x、Conv3_x、Conv4_x、Conv5_x卷積后提取的特征圖作為多尺度特征圖,送入后續(xù)的檢測(cè)網(wǎng)絡(luò)。
圖3 Res2Net網(wǎng)絡(luò)示意圖
航拍圖像由于拍攝高度以及拍攝視角不同,同一物體在圖像中出現(xiàn)時(shí)的角度、大小等差異較大,而標(biāo)準(zhǔn)卷積限于固定的幾何結(jié)構(gòu),并不能很好地對(duì)其進(jìn)行模擬,故提出在Res2Net 網(wǎng)絡(luò)中使用變形卷積[18](Deformable Convolution Networks,DCN)替換圖3 中Conv3_x、Conv4_x 和Conv5_x 中的標(biāo)準(zhǔn)卷積,以提高網(wǎng)絡(luò)對(duì)目標(biāo)變換的建模能力。
變形卷積在標(biāo)準(zhǔn)卷積的常規(guī)采樣位置添加了偏移量,使采樣的網(wǎng)格變形,如圖4 所示。標(biāo)準(zhǔn)卷積的計(jì)算方式如下:
圖4 標(biāo)準(zhǔn)卷積和變形卷積采樣圖示
其中,pn是對(duì)采樣網(wǎng)格(卷積核)R中所有位置的枚舉,p0為輸出特征圖上對(duì)應(yīng)pn的位置。變形卷積在標(biāo)準(zhǔn)卷積的基礎(chǔ)上增加了一個(gè)偏移量,同樣位置的p0變?yōu)椋?/p>
即在每個(gè)采樣網(wǎng)格上添加了一個(gè)偏移量Δpn。圖5 為3×3 變形卷積的流程,首先通過(guò)一個(gè)額外的卷積層學(xué)習(xí)偏移量,然后將得到的偏移量作用到常規(guī)卷積之中,得到不規(guī)則位置的采樣。
圖5 3×3變形卷積
圖6為DIOR 數(shù)據(jù)集中某航拍圖像在網(wǎng)絡(luò)Conv3_4 和Conv5_3 階段的特征熱力圖,圖中顏色不同表示特征圖提取到的信息重要程度不同,顏色偏向框線區(qū)域表示網(wǎng)絡(luò)對(duì)其更加關(guān)注,偏向非框線則相反。從圖中可以看出,淺層(Conv3_4)特征圖更加注重飛機(jī)等小目標(biāo)信息,由此可知,淺層信息更加適合小目標(biāo)的檢測(cè),而深層特征圖由于具有更大的感受野,所以對(duì)大目標(biāo)的檢測(cè)更加敏感。如果直接采用深層特征進(jìn)行檢測(cè),容易忽略圖像中的小目標(biāo)。為了增強(qiáng)對(duì)小目標(biāo)的檢測(cè)性能,MS-R-CNN 引入了特征金字塔網(wǎng)絡(luò)FPN,F(xiàn)PN 通過(guò)自頂向下的路徑和橫向連接,將高分辨率、語(yǔ)義弱的特征和低分辨率、語(yǔ)義強(qiáng)的特征結(jié)合起來(lái),可以對(duì)小目標(biāo)進(jìn)行更有效的檢測(cè)。
圖6 Res2Net網(wǎng)絡(luò)不同層次的熱力特征圖
如圖7(a)所示,特征金字塔網(wǎng)絡(luò)FPN 從深層到淺層融合特征。首先深層特征圖通過(guò)步長(zhǎng)為2 的卷積操作使特征圖尺寸擴(kuò)大一倍,同時(shí)將特征提取網(wǎng)絡(luò)中對(duì)應(yīng)大小的特征圖使用1×1 的卷積層進(jìn)行降維,然后將兩者對(duì)應(yīng)元素相加得到融合后的特征圖,最后進(jìn)入后續(xù)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。融入FPN 的MS-RCNN 算法結(jié)構(gòu)如圖8 所示,圖中c2-c5 為Res2Net 網(wǎng)絡(luò)生成的特征圖,p2-p7 為FPN 網(wǎng)絡(luò)產(chǎn)生的特征圖。
圖7 融合FPN的主干網(wǎng)絡(luò)
圖8 改進(jìn)后網(wǎng)絡(luò)結(jié)構(gòu)圖
Faster R-CNN 定義了錨框(anchor)檢測(cè)物體,anchor 本質(zhì)就是在特征圖的每個(gè)像素點(diǎn)上設(shè)置一組具有不同大小和比例的矩形框模板,隨后用這組矩形框檢測(cè)框內(nèi)是否包含物體。結(jié)合DIOR 數(shù)據(jù)集的特性來(lái)設(shè)置anchor 的數(shù)量及尺寸。
Faster R-CNN 網(wǎng)絡(luò)中的錨框是基于VOC 數(shù)據(jù)集設(shè)置的,共有3 種尺寸大小,分別為128×128 像素,256×256 像素和512×512 像素,每種尺寸都對(duì)應(yīng)3 種不同的寬高比(1∶1、1∶2 和2∶1),故特征圖中的每一個(gè)點(diǎn)都會(huì)生成9 個(gè)錨框。但DIOR 數(shù)據(jù)集中超過(guò)一半的目標(biāo)是像素小于32×32 的小目標(biāo),所以對(duì)于該數(shù)據(jù)集,其錨框設(shè)計(jì)不太合理。
為了設(shè)計(jì)符合數(shù)據(jù)集的錨框大小及比例,對(duì)該數(shù)據(jù)集中的目標(biāo)實(shí)例進(jìn)行統(tǒng)計(jì)分析。圖9 展示了數(shù)據(jù)集中192 472 個(gè)對(duì)象實(shí)例的尺寸分布,從圖中可以看出,數(shù)據(jù)集中目標(biāo)大小尺寸分布極不均勻,且多數(shù)目標(biāo)為中小目標(biāo),雖然部分目標(biāo)長(zhǎng)寬比跨度較大,但絕大多數(shù)集中在0.5~2.0 之間。故在MS-R-CNN 算法中,設(shè)置anchor的尺寸分別為16×16像素,32×32像素,64×64 像素,128×128 像素,256×256 像素和512×512 像素,寬高比分別為1∶1、1∶2 和2∶1,這樣的設(shè)置基本能覆蓋各個(gè)尺寸的目標(biāo)。由于每個(gè)尺寸的特征圖只能對(duì)應(yīng)一種尺度的錨框,故在原FPN 的基礎(chǔ)上,通過(guò)對(duì)p6 特征圖進(jìn)行最大池化操作生成p7,如圖8 所示,p2-p7 分別對(duì)應(yīng)上述6 種錨框尺寸。
圖9 尺寸分布
采用SGD(Stochastic Gradient Descent)算法對(duì)模型進(jìn)行求解,共學(xué)習(xí)12 輪,在第8 輪和第11 輪調(diào)整學(xué)習(xí)率,降為原來(lái)的0.1,目的是為了保證模型可以穩(wěn)定收斂,避免發(fā)生梯度爆炸。其他參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置
采用mAP 作為評(píng)價(jià)指標(biāo),為驗(yàn)證設(shè)計(jì)模型的先進(jìn)性和有效性,將標(biāo)準(zhǔn)Faster R-CNN網(wǎng)絡(luò)(VGG-16)、經(jīng)典Faster R-CNN(ResNet-101+FPN)網(wǎng)絡(luò)以及該文算法MS-R-CNN 進(jìn)行了對(duì)比實(shí)驗(yàn)。消融對(duì)比結(jié)果如表2 所示。表中anchor 表示改進(jìn)anchor 設(shè)置并在FPN 網(wǎng)絡(luò)上添加p7 層特征圖。
表2 各類算法在DIOR數(shù)據(jù)集上的mAP對(duì)比
通過(guò)實(shí)驗(yàn)對(duì)比可以看出,MS-R-CNN 網(wǎng)絡(luò)對(duì)提高檢測(cè)效果非常有效,較標(biāo)準(zhǔn)Faster R-CNN 網(wǎng)絡(luò)準(zhǔn)確率提高了16.1%,較經(jīng)典的Faster R-CNN 算法提高了6.2%。其中Res2Net-101 特征提取網(wǎng)絡(luò)、DCN方法以及對(duì)anchor 的改進(jìn)分別貢獻(xiàn)了3.3%、1.9%和1.0%的檢測(cè)精度。
圖10 所示為經(jīng)典Faster R-CNN 算法與MS-RCNN 算法檢測(cè)效果的局部放大圖。從對(duì)比圖可知,經(jīng)典Faster R-CNN 算法會(huì)對(duì)圖像中小目標(biāo)船只造成漏檢以及誤檢的情況,而該文的MS-R-CNN 算法可以對(duì)圖像中的船只進(jìn)行正確的檢測(cè)和識(shí)別。
圖10 不同算法檢測(cè)結(jié)果示例
為了提高航拍圖像的檢測(cè)精度,文中基于Faster R-CNN 網(wǎng)絡(luò)提出一種多尺度航拍目標(biāo)檢測(cè)算法MS-R-CNN。MS-R-CNN 選用Res2Net 網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),同時(shí)用變形卷積替換該網(wǎng)絡(luò)Conv3_x、Conv4_x 和Conv5_x 中的標(biāo)準(zhǔn)卷積,提高了網(wǎng)絡(luò)對(duì)目標(biāo)深層信息的提取能力以及對(duì)目標(biāo)變換的建模能力,將Res2Net產(chǎn)生的多尺度特征圖通過(guò)FPN 網(wǎng)絡(luò)自上而下融合起來(lái),有效改善了深層特征圖中小目標(biāo)位置信息不足的問(wèn)題。針對(duì)數(shù)據(jù)集中目標(biāo)的大小設(shè)置合適比例和尺寸的anchor,使其能有效地對(duì)各個(gè)尺度的目標(biāo)進(jìn)行檢測(cè)。實(shí)驗(yàn)顯示,該文提出的MSR-CNN 算法在DIOR 數(shù)據(jù)集上較Faster R-CNN 算法mAP 提高了16.1%,較經(jīng)典的Faster R-CNN 算法mAP 提高了6.2%,明顯降低了小目標(biāo)的漏檢率和誤檢率,取得了良好的檢測(cè)效果,驗(yàn)證了該文方法的有效性。