劉佳銘
(海裝上海局駐上海地區(qū)第五代表室 上海 200135)
光學(xué)遙感目標(biāo)檢測(cè)在遙感圖像分析和處理中具有重大作用,是土地利用、城市規(guī)劃、航空探測(cè)等應(yīng)用的重要基礎(chǔ)。隨著目前對(duì)地觀測(cè)技術(shù)的發(fā)展,獲取到的高分辨率遙感圖像數(shù)據(jù)能夠提供更豐富的圖像細(xì)節(jié)信息,這為目標(biāo)檢測(cè)在遙感領(lǐng)域的發(fā)展提供了契機(jī)。
之前較早提出的遙感圖像目標(biāo)檢測(cè)算法大部分都是基于手工設(shè)計(jì)特征的模式,先提取候選區(qū)域,之后針對(duì)待檢測(cè)目標(biāo)設(shè)計(jì)手工特征,然后結(jié)合SVM 或其他分類(lèi)器進(jìn)行分類(lèi)。然而候選區(qū)域提取方法需要設(shè)置大量的滑動(dòng)窗口,導(dǎo)致模型計(jì)算復(fù)雜度非常高,因此模型較為低效;另外人工設(shè)計(jì)特征主要通過(guò)待檢測(cè)目標(biāo)視覺(jué)信息(邊緣、顏色、紋理等)提取得到,雖然可解釋性較強(qiáng),但是其特征表達(dá)能力較弱、適應(yīng)范圍小,魯棒性較差難以應(yīng)用在復(fù)雜多變的環(huán)境中。因此,綜上所述,早期提出的光學(xué)遙感圖像目標(biāo)檢測(cè)算法遠(yuǎn)不能滿(mǎn)足實(shí)際應(yīng)用需求。
自從卷積神經(jīng)網(wǎng)絡(luò)引入以來(lái),其在計(jì)算機(jī)視覺(jué)技術(shù)取得了長(zhǎng)足的進(jìn)步。得益于ImageNet[1]、MS COCO[2]和PASCAL VOC[3]等大型高質(zhì)量標(biāo)記數(shù)據(jù)集的支持,正常尺度的目標(biāo)檢測(cè)算法已經(jīng)較為成熟,從最早的兩階段的RCNN[4]、Fast-RCNN[5]和Faster-RCNN[6]到現(xiàn)在的基于錨框的兩階段的SSD、YOLO[7~11]系列等模型。雖然這些框架的性能令人印象深刻,但沒(méi)有一個(gè)框架可以有效地處理輸入尺寸為16000×16000 的遙感衛(wèi)星圖像。針對(duì)圖像尺度過(guò)大的問(wèn)題,通常是采用分塊切割或者滑窗切割的方式,將超大圖像切割成小圖像塊,然后分別對(duì)每張小圖進(jìn)行檢測(cè)識(shí)別,最后把所有的檢測(cè)結(jié)果進(jìn)行拼接和后處理,完成全圖的最終檢測(cè)[12~15]。為了解決這個(gè)問(wèn)題,Wang 等[16]以一定的重疊率對(duì)原圖進(jìn)行切割,增加了分塊小圖邊緣目標(biāo)完整性的可能,但是卻增加了子圖像的數(shù)量,使得大圖的處理時(shí)間變得冗余,同時(shí)依然無(wú)法避免目標(biāo)檢測(cè)結(jié)果一分為二的問(wèn)題。為了減少大圖檢測(cè)的時(shí)間冗余,基于圖像中絕大多數(shù)區(qū)域?yàn)楸尘啊⒋郎y(cè)目標(biāo)只集中于較小區(qū)域的現(xiàn)狀,R2-CNN[17]設(shè)計(jì)了輕量級(jí)主干Tiny-Net 來(lái)進(jìn)行特征提取,并采用先判斷、后定位的方式,將不含目標(biāo)的子圖像塊進(jìn)行濾除,從而減小后續(xù)檢測(cè)識(shí)別過(guò)程的計(jì)算負(fù)擔(dān),該方法保證了檢測(cè)效果,同時(shí)提高了檢測(cè)效率,但是依然會(huì)對(duì)重疊區(qū)域進(jìn)行多次檢測(cè)。算法YOLT[18]對(duì)切割后的子圖,采用多個(gè)輕量級(jí)模型進(jìn)行檢測(cè),并將檢測(cè)結(jié)果進(jìn)行融合,保持檢測(cè)精度的同時(shí),一定程度上提升了檢測(cè)的速度。以上方法均需要對(duì)原始遙感圖像進(jìn)行分塊處理,這種切割的方式始終不是一種最優(yōu)的方式,但目前來(lái)看很難通過(guò)非切割的辦法進(jìn)行完美的檢測(cè)。
本文針對(duì)大尺寸光學(xué)遙感圖像目標(biāo)檢測(cè)問(wèn)題,提出了一種基于改進(jìn)的YOLOv5 的解決辦法,在YOLOv5 網(wǎng)絡(luò)的基礎(chǔ)上,增加注意力模塊提升模型對(duì)于小目標(biāo)細(xì)粒度特征的提取能力,然后利用滑動(dòng)窗口方法進(jìn)行目標(biāo)檢測(cè),最后綜合所有窗口的檢測(cè)框執(zhí)行非極大值抑制,獲得檢測(cè)結(jié)果。實(shí)驗(yàn)結(jié)果證明,對(duì)于測(cè)試實(shí)驗(yàn)中的大尺寸圖像,我們的模型在比較快的推理速度下,各個(gè)種類(lèi)都可以得到比較高的F1定位分?jǐn)?shù)。
CBAM[19]是一種輕量級(jí)注意力模塊,它綜合使用了空間注意力機(jī)制和通道注意力機(jī)制。引入CBAM 后,注意力機(jī)制能夠讓網(wǎng)絡(luò)學(xué)會(huì)關(guān)注重點(diǎn)信息,從而提升模型細(xì)粒度特征提取能力。CBAM 大致結(jié)構(gòu)如圖1所示。
圖1 CBAM注意力模塊具體結(jié)構(gòu)圖
如圖1,每個(gè)CBAM 模塊由一個(gè)空間注意力(SAM)模塊和通道注意力(CAM)模塊組成,假設(shè)CBAM 的輸入為大小為N×H×W×C 的特征塊F,則其先經(jīng)過(guò)一個(gè)通道注意力模塊,計(jì)算如下式所示。
上式中,Mc代表通道注意力卷積模塊;avg和maxp分別代表全局平均池化層和全局最大池化層;MLP是多個(gè)線性層的表示,在CBAM 中層數(shù)為2;σ代表sigmoid 函數(shù);F′為通道注意力模塊的輸出,其大小仍為N×H×W×C。
然后將從CAM 得到的F'喂入一個(gè)空間注意力模塊中,計(jì)算如下。
上式中Ms表示空間注意力模塊;Concat 表示疊加層;F″表示CBAM 的輸出;其他的定義與式(1)、(2)中的定義一樣。
日本《讀賣(mài)新聞》7日早間發(fā)布政府消息稱(chēng),日本政府內(nèi)部已決定將在2018年12月10日修改內(nèi)部采購(gòu)規(guī)定,禁止政府部門(mén)采購(gòu)來(lái)自華為和中興2家公司的通信設(shè)備,來(lái)防止情報(bào)泄露和網(wǎng)絡(luò)攻擊。不過(guò),日本擔(dān)憂(yōu)中日兩國(guó)友好關(guān)系,因而在會(huì)議上并未直接點(diǎn)2家公司的名字。
CBAM 綜合兩種不同的注意力模塊,能夠提升檢測(cè)模型提取細(xì)粒度特征的能力,并且其參數(shù)量和計(jì)算量較小,這使得我們不必?fù)?dān)心添加CBAM 對(duì)于大圖像檢測(cè)會(huì)增加很多耗時(shí)。在實(shí)驗(yàn)中我們將CBAM 放置上采樣之前的Concat 操作之前,如圖2所示。
圖2 大尺寸遙感圖像檢測(cè)架構(gòu)
圖3 本文模型在COWC每個(gè)測(cè)試場(chǎng)景下的F1分?jǐn)?shù)
隨著深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,目標(biāo)檢測(cè)技術(shù)獲得了巨大的發(fā)展。目前現(xiàn)有的目標(biāo)檢測(cè)方法基本上可分為anchor-based 的方法和anchor-free 的方法?;阱^框的方法比較有代表性的為雙階段的Faster-RCNN 和單階段的YOLO 系列,錨框free的方法有CenterNet,CornerNet 等。YOLO 系列中YOLOv5 網(wǎng)絡(luò)架構(gòu)運(yùn)行速度快、檢測(cè)精度高,其最快檢測(cè)速度可達(dá)每秒檢測(cè)140 幀圖像。另一方面,該網(wǎng)絡(luò)模型的模型復(fù)雜度并不高,與前一代的YOLOv4 模型相比模型大小減小了大約90%左右,因此YOLOv5 模型非常適合部署到大尺寸遙感圖像的目標(biāo)檢測(cè)中來(lái)。為了保證檢測(cè)速度和準(zhǔn)確率,本研究以YOLOv5 架構(gòu)為基礎(chǔ),改進(jìn)遙感圖像目標(biāo)檢測(cè)網(wǎng)絡(luò)。
YOLOv5 網(wǎng)絡(luò)包含YOLOv5m、YOLOv5s、YOLOv5x和YOLOv5l 這四種架構(gòu),這四種網(wǎng)絡(luò)架構(gòu)的主要區(qū)別在于在網(wǎng)絡(luò)的特定位置處所包含的卷積核數(shù)量和特征提取模塊數(shù)量不同,這幾種架構(gòu)的模型參數(shù)量和占用內(nèi)存依次增大,詳細(xì)指標(biāo)參數(shù)如表1所示。
表1 YOLOv5四種架構(gòu)模型的指標(biāo)參數(shù)
由于本研究需要通過(guò)滑窗的方式對(duì)大尺度遙感圖像進(jìn)行目標(biāo)檢測(cè),而滑窗的過(guò)程本身耗時(shí)較大,因上采用輕量化且準(zhǔn)確度較高的目標(biāo)檢測(cè)模型是非常有必要的,我們綜合考慮YOLOv5 這四種架構(gòu),選取YOLOv5m(圖2)架構(gòu)為基本架構(gòu),改進(jìn)設(shè)計(jì)遙感光學(xué)圖像目標(biāo)檢測(cè)模型。
YOLOv5m 架構(gòu)主要由主干網(wǎng)絡(luò)、Neck 模塊和Detect 模塊組成。主干網(wǎng)絡(luò)為特征提取網(wǎng)絡(luò),是在不同的圖像細(xì)粒度上聚合并形成圖像特征的卷積神經(jīng)網(wǎng)絡(luò)。主干網(wǎng)絡(luò)的第1 層是Focus 模塊,這個(gè)模塊主要的作用是減少模型的計(jì)算量提升快訓(xùn)練速度,具體操作是通過(guò)切片操作將輸入尺寸為3×640×640的3 通道圖像切分成4個(gè)3×320×320 的切片,然后使用通道疊加操作在深度維度上堆疊這4個(gè)切片部分,輸出尺寸為12×320×320的特征圖,進(jìn)而通過(guò)一個(gè)卷積核數(shù)量為48 的卷積層,生成48×320×32 的輸出,最后經(jīng)過(guò)批歸一化層和Hardswish激活函數(shù)后將結(jié)果輸入到下一層。
主干網(wǎng)絡(luò)同時(shí)使用了空間金字塔池化模塊(Spatial Pyramid Pooling,SPP),該模塊的使用能夠?qū)⑷我獬叽绲奶卣鲌D都轉(zhuǎn)換成固定尺寸的特征向量,從而能夠提高網(wǎng)絡(luò)的感受野。YOLOv5m 中SPP 模塊的輸入為尺寸為768×20×20 的特征圖,那么首先經(jīng)過(guò)1×1 的卷積層,輸出尺寸為384×20×20的特征圖,然后將該特征圖與其分別經(jīng)過(guò)3 個(gè)并列最大池化層進(jìn)行下采樣后的輸出特征圖從深度上進(jìn)行疊加,輸出尺寸為1536×20×20的特征圖,最后再經(jīng)過(guò)卷積核數(shù)量為768 的卷積層后輸出尺寸為768×20×20的特征圖。
為了提升目標(biāo)檢測(cè)模型對(duì)于小目標(biāo)檢測(cè)的能力,我們?cè)?.2中提到的YOLOv5m的基礎(chǔ)上引入了CBAM 模塊,提升模型提取目標(biāo)細(xì)粒度特征的能力。CBAM模塊穿插位置如圖2所示。我們主要使用車(chē)以及建筑物的大尺寸遙感圖像數(shù)據(jù)集重新訓(xùn)練了改進(jìn)的YOLOv5 模型,另一方面,在錨框設(shè)計(jì)上,為了更好地貼合小目標(biāo)的實(shí)際情況,我們使用K-means 聚類(lèi)算法獲取更合適的錨框。訓(xùn)練模型時(shí)網(wǎng)絡(luò)的損失函數(shù)Loss 由回歸框預(yù)測(cè)損失Lossreg,目標(biāo)分類(lèi)損失Lossclass以及置信度損失Lossconf組成,計(jì)算如下式:
其中,置信度損失和目標(biāo)分類(lèi)損失采用的是二進(jìn)制交叉熵?fù)p失函數(shù)(BCELoss),計(jì)算公式為
上式中y為種類(lèi)真值,p為預(yù)測(cè)概率值。
回歸框預(yù)測(cè)損失采用的是GIoU Loss 函數(shù)。其中,GIoU Loss計(jì)算如下式:
上式中IOU 表示預(yù)測(cè)框與真實(shí)框的交并比;B表示預(yù)測(cè)框,Bgt表示真實(shí)框,C表示能夠包含預(yù)測(cè)框與真實(shí)框的最小矩形。
我們針對(duì)大尺寸遙感圖像的檢測(cè)沿用了YOLT的基本做法,使用滑窗分塊的方法實(shí)現(xiàn)遙感圖像的目標(biāo)檢測(cè)。假設(shè)滑窗大小為(h,w),那么對(duì)應(yīng)的滑動(dòng)步長(zhǎng)(slide_h,slide_w)的選取對(duì)于目標(biāo)檢測(cè)的精度影響較大。若滑動(dòng)步長(zhǎng)設(shè)置過(guò)大,例如直接設(shè)置為窗口尺寸,容易出現(xiàn)由于目標(biāo)截?cái)嘁鸬幕貧w框位置不準(zhǔn)確以及漏檢情況,而較小的滑動(dòng)步長(zhǎng)又會(huì)嚴(yán)重影響模型的推理速度,與實(shí)際需求沖突。經(jīng)過(guò)分析,綜合推理速度和模型精度,滑動(dòng)窗口步長(zhǎng)應(yīng)該依靠待檢測(cè)目標(biāo)尺寸如下設(shè)置:
上式中,hobjmax,wobjmax分別為待檢測(cè)目標(biāo)數(shù)據(jù)庫(kù)的寬高尺寸估測(cè)最大值??紤]到增強(qiáng)模型的泛化能力,實(shí)驗(yàn)實(shí)現(xiàn)過(guò)程中采取一個(gè)泛化的經(jīng)驗(yàn)設(shè)定如下式:
上式中overlap 表示滑動(dòng)窗口重疊率,在實(shí)驗(yàn)中取15%。這種設(shè)定能一定程度上減小遙感目標(biāo)檢測(cè)模型準(zhǔn)確度受到不同場(chǎng)景下目標(biāo)多變形狀的影響。
檢測(cè)后處理包括兩次非極大值抑制(NMS)。首次為YOLOv5 原有的操作,另外針對(duì)滑窗目標(biāo)檢測(cè),我們整合所有滑窗分塊的預(yù)測(cè)框,執(zhí)行第二次NMS操作,這能夠極大地增強(qiáng)模型的預(yù)測(cè)精度。
我們基于從空中平臺(tái)大型圖像小芯片中收集的COWC 數(shù)據(jù)集對(duì)提出的基于滑窗的衛(wèi)星遙感目標(biāo)檢測(cè)模型進(jìn)行訓(xùn)練和驗(yàn)證。COWC 數(shù)據(jù)集是一個(gè)大型、高質(zhì)量的注釋汽車(chē)集,來(lái)自多個(gè)地點(diǎn)收集的高架圖像。數(shù)據(jù)是通過(guò)空中平臺(tái)收集的,但視角較低,類(lèi)似于衛(wèi)星圖像。COWC數(shù)據(jù)集中的圖像的分辨率為15cm GSD,大約是當(dāng)前商業(yè)衛(wèi)星圖像最佳分辨率(DigitalGlobe 為30cm GSD)的兩倍。通過(guò)原始圖像與高斯核卷積,并將圖像尺寸減少一半,以創(chuàng)建等效于30cm GSD圖像的圖像。
我們?cè)趯?shí)驗(yàn)中按照6:4 的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,使用SGD 進(jìn)行訓(xùn)練,初始學(xué)習(xí)率為10-3,權(quán)重衰減為0.0005,動(dòng)量為0.8。訓(xùn)練在單個(gè)NVIDIA 3090Ti GPU上運(yùn)行。
為了提升模型準(zhǔn)確度,我們?cè)赮OLOv5m 的基礎(chǔ)上添加了CBAM 注意力模塊提升模型的細(xì)粒度特征提取能力,表2展示了有無(wú)CBAM 模塊目標(biāo)檢測(cè)模型的F1分?jǐn)?shù)。
表2 CBAM融合實(shí)驗(yàn)結(jié)果
由表2的實(shí)驗(yàn)結(jié)果可知,YOLOv5m 融合CBAM在COWC測(cè)試集上驗(yàn)證的F1分?jǐn)?shù)為0.93±0.06,而單純用YOLOv5 模型目標(biāo)檢測(cè)的F1 分?jǐn)?shù)為0.90 ±0.09,各個(gè)測(cè)試場(chǎng)景下的F1 均值提升了0.03%,并且改進(jìn)的遙感圖像目標(biāo)檢測(cè)模型在測(cè)試集上的穩(wěn)定性更好,目標(biāo)檢測(cè)精度浮動(dòng)更小。因此CBAM 注意力模塊增強(qiáng)了模型細(xì)粒度特征提取能力,這對(duì)于遙感圖像的小目標(biāo)檢測(cè)具有一定的增強(qiáng)。
本文的改進(jìn)YOLOv5 滑窗檢測(cè)模型在COWC測(cè)試效果如圖4所示。通過(guò)圖4可以看出我們提出的改進(jìn)模型可以較為完美地預(yù)測(cè)超大圖像車(chē)輛的位置,并且預(yù)測(cè)框比較貼合實(shí)際的真實(shí)框。
圖4 滑窗遙感目標(biāo)檢測(cè)模型的預(yù)測(cè)結(jié)果
綜合以上分析,我們提出的基于滑窗的改進(jìn)YOLOv5m 目標(biāo)檢測(cè)模型很好地實(shí)現(xiàn)了對(duì)于大型遙感圖像的目標(biāo)檢測(cè)和提取。
本文針對(duì)大尺寸遙感圖像目標(biāo)檢測(cè)問(wèn)題,提出了一種基于改進(jìn)的YOLOv5m 的算法,在YOLOv5m網(wǎng)絡(luò)的基礎(chǔ)上,增加注意力模塊提升模型對(duì)于細(xì)粒度特征的提取能力,增強(qiáng)模型小目標(biāo)檢測(cè)能力,然后利用滑動(dòng)窗口方法進(jìn)行目標(biāo)檢測(cè),最后綜合所有窗口的檢測(cè)框執(zhí)行非極大值抑制,獲得檢測(cè)結(jié)果。實(shí)驗(yàn)結(jié)果證明,對(duì)于測(cè)試實(shí)驗(yàn)中的大尺寸圖像,我們的模型在比較快的推理速度下,獲得了很好的模型準(zhǔn)確度。
本文提出的遙感影像目標(biāo)檢測(cè)模型同樣可以應(yīng)用于對(duì)大尺寸遙感圖像中的艦船目標(biāo)檢測(cè),這對(duì)于海上目標(biāo)識(shí)別具有重要意義。