孫宇, 黃亮,2, 趙俊三,3,4, 常軍, 陳朋弟, 成飛飛
(1.昆明理工大學(xué)國(guó)土資源工程學(xué)院,昆明 650093; 2.云南省高校高原山區(qū)空間信息測(cè)繪技術(shù)應(yīng)用工程研究中心,昆明 650093; 3.智慧礦山地理空間信息集成創(chuàng)新重點(diǎn)實(shí)驗(yàn)室,昆明 650093;4.云南省高校自然資源空間信息集成與應(yīng)用科技創(chuàng)新團(tuán)隊(duì),昆明 650211;5.自然資源部第一大地測(cè)量隊(duì),西安 710054)
橋梁因其地理位置的特殊性和功能的不可替代性在軍事和民事上都有著重要的地位,因此對(duì)橋梁進(jìn)行自動(dòng)檢測(cè)有著重要的社會(huì)價(jià)值[1]。高空間分辨率遙感影像已成為目標(biāo)檢測(cè)重要技術(shù)手段,但例如采用基于彩色特征的橋梁識(shí)別方法[2]、基于先驗(yàn)知識(shí)的橋梁檢測(cè)方法[3]等傳統(tǒng)檢測(cè)方法魯棒性差,難以適用于高空間分辨率遙感影像橋梁檢測(cè)任務(wù)?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)方法在船舶[4]、飛機(jī)[5]、路面交通標(biāo)志[6]和橋梁[7]等目標(biāo)檢測(cè)中的優(yōu)越性能已得到有效驗(yàn)證,但需要大量訓(xùn)練樣本,且對(duì)于光學(xué)遙感影像中云霧遮擋的橋梁檢測(cè)有一定局限性。因此,對(duì)小樣本數(shù)據(jù)集下云霧遮擋橋梁檢測(cè)具有重大研究意義。
目前對(duì)于高空間分辨率遙感影像橋梁檢測(cè)的方法主要分為兩類。一類是基于圖像處理的傳統(tǒng)方法。Lomenie N等[8]結(jié)合空間關(guān)系準(zhǔn)則檢測(cè)高分影像中的橋梁,該方法錯(cuò)檢率低,但漏檢率較高; 楊浩等[9]結(jié)合遙感圖像的成像特點(diǎn)識(shí)別橋梁目標(biāo),但是此算法只針對(duì)水域上的橋梁,對(duì)于陸地上橋梁的檢測(cè)不能達(dá)到很好的效果; 陳愛(ài)軍[10]提出了一種基于極化圓周SAR圖像的路上橋梁檢測(cè)方法,解決了傳統(tǒng)橋梁檢測(cè)方法需要基于河流提取結(jié)果才能實(shí)現(xiàn)橋梁檢測(cè)的問(wèn)題。第二類是基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法。Chen L等[7]提出了基于平衡和注意力機(jī)制的SAR圖像橋梁自動(dòng)檢測(cè)網(wǎng)絡(luò),極大提高了檢測(cè)精度。但是利用深度學(xué)習(xí)對(duì)光學(xué)遙感影像的橋梁進(jìn)行檢測(cè)的相關(guān)報(bào)道較少。針對(duì)傳統(tǒng)方法泛化能力差、魯棒性低的問(wèn)題,基于深度學(xué)習(xí)[11]的目標(biāo)檢測(cè)算法逐漸興起,其主要分為兩類: 一類是將目標(biāo)檢測(cè)過(guò)程分為特征提取和目標(biāo)定位兩部分的兩階段目標(biāo)檢測(cè)算法,如R-CNN[12],F(xiàn)ast R-CNN[13],F(xiàn)aster R-CNN[14]等; 第二類是將特征提取和定位一體化處理的單階段目標(biāo)檢測(cè)算法,如SSD[15],YOLO系列[16-18]等。YOLOv4[19]將分類和回歸在同一深度卷積網(wǎng)絡(luò)中實(shí)現(xiàn),訓(xùn)練過(guò)程簡(jiǎn)單、占用物理空間小,與其他算法相比具有更高的檢測(cè)精度。
上述算法仍存在一些未能解決的問(wèn)題: ①傳統(tǒng)橋梁檢測(cè)方法大多針對(duì)河流水體設(shè)計(jì)特征,對(duì)于陸地上橋梁或干涸水域上的橋梁檢測(cè)效果差; ②YOLOv4方法預(yù)設(shè)的錨框尺寸根據(jù)自然圖像公開(kāi)數(shù)據(jù)集中的目標(biāo)聚類得到,由于遙感影像與自然圖像存在較大差異,其尺寸較大,背景復(fù)雜,且待測(cè)目標(biāo)尺度分布范圍廣,因此預(yù)設(shè)錨框的尺寸并不完全適用于遙感影像目標(biāo)檢測(cè)任務(wù); ③利用深度學(xué)習(xí)的橋梁檢測(cè)方法需要大量的訓(xùn)練樣本,對(duì)于小樣本數(shù)據(jù)集的訓(xùn)練和檢測(cè)具有一定難度。④遙感影像成像條件各異,存在目標(biāo)被云霧遮擋的現(xiàn)象,以往的目標(biāo)檢測(cè)方法沒(méi)有充分考慮到這種情況,導(dǎo)致檢測(cè)結(jié)果不理想。
針對(duì)以上問(wèn)題,本文提出結(jié)合隨機(jī)擦除和YOLOv4的高空間分辨率遙感影像橋梁自動(dòng)檢測(cè)方法: 首先,采用YOLOv4目標(biāo)檢測(cè)方法對(duì)橋梁數(shù)據(jù)集進(jìn)行訓(xùn)練并檢測(cè),以解決傳統(tǒng)方法的人工設(shè)計(jì)特征難以適用于多場(chǎng)景下橋梁檢測(cè)任務(wù)的問(wèn)題; 然后采用k-means聚類方法,統(tǒng)計(jì)高空間分辨率遙感影像梁數(shù)據(jù)集中所有目標(biāo)的尺寸,并進(jìn)行聚類分析,得到適合于遙感影像橋梁目標(biāo)檢測(cè)的錨框; 再引入隨機(jī)擦除(random erase, RE)數(shù)據(jù)增強(qiáng)方法,在遙感影像上隨機(jī)選擇矩形區(qū)域并擦除; 最后,對(duì)擦除后的影像進(jìn)行訓(xùn)練,這樣既能擴(kuò)充數(shù)據(jù)集,又能解決云霧遮擋橋梁檢測(cè)精度低的問(wèn)題,以此提高檢測(cè)精度。
為了解決訓(xùn)練數(shù)據(jù)較少,且傳統(tǒng)方法對(duì)于被云霧遮擋目標(biāo)檢測(cè)精度低的問(wèn)題,本文首先統(tǒng)計(jì)數(shù)據(jù)集中目標(biāo)的尺度分布范圍,利用k-means聚類方法匹配合適的錨框尺寸; 然后用RE與Mosaic數(shù)據(jù)增強(qiáng)方法相結(jié)合對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行預(yù)處理; 再利用YOLOv4網(wǎng)絡(luò)訓(xùn)練處理后的數(shù)據(jù)集; 最后對(duì)檢測(cè)結(jié)果進(jìn)行精度評(píng)價(jià)。具體技術(shù)路線如圖1所示。
圖1 技術(shù)路線圖
1.1.1 數(shù)據(jù)集介紹
本文數(shù)據(jù)集采用第四屆“中科星圖杯”高分遙感圖像解譯軟件大賽提供的高分辨率可見(jiàn)光圖像中橋梁目標(biāo)自動(dòng)識(shí)別數(shù)據(jù)集[20]。該數(shù)據(jù)集中共包含2 000張由高分2號(hào)所拍攝的遙感影像,影像大小分為668像素×668像素及1 001像素×1 001像素2種,分辨率為1~4 m,每幅圖像包含至少一個(gè)橋梁目標(biāo),其中涵蓋鐵路橋、公路橋、公鐵兩用橋、人行橋、運(yùn)水橋等類型的橋梁。數(shù)據(jù)集樣本示例如圖2所示。
圖2 數(shù)據(jù)集樣本示例
1.1.2 尺度統(tǒng)計(jì)
高空間分辨率遙感衛(wèi)星成像過(guò)程因受環(huán)境條件的影響,生成的影像內(nèi)容復(fù)雜,不同時(shí)段的影像輻射差異大,且目標(biāo)尺度分布不均勻。因此同一尺寸的預(yù)定義錨框難以滿足不同尺度橋梁檢測(cè)的需求。YOLOv4預(yù)設(shè)了9個(gè)錨框,大小為Anchor box=(12,16; 19,36; 40,28; 36,75; 76,55; 72,146; 142,110; 192,243; 459,401)分別針對(duì)76×76,38×38以及19×19這3個(gè)不同的尺度進(jìn)行檢測(cè)。以上錨框尺寸是根據(jù)VOC數(shù)據(jù)集目標(biāo)框聚類得到的,但是并不適用于所有類型的目標(biāo)檢測(cè)任務(wù)。
為了充分統(tǒng)計(jì)橋梁數(shù)據(jù)集中目標(biāo)的尺度范圍,本文使用k-means聚類方法,對(duì)數(shù)據(jù)集中的2 000張高空間分辨率遙感影像進(jìn)行統(tǒng)計(jì)。將所有橋梁的尺度分為9個(gè)類,首先隨機(jī)選擇數(shù)據(jù)中心的9個(gè)點(diǎn)作為質(zhì)心; 然后將與之靠近的點(diǎn)進(jìn)行分類; 不斷迭代更新這9個(gè)點(diǎn)的值,直到這9個(gè)點(diǎn)的值不再變化為止; 最后分別設(shè)置為預(yù)定義錨框的大小。表1為k-means聚類所得的預(yù)測(cè)框尺度。
表1 k-means聚類結(jié)果
當(dāng)模型中參數(shù)相對(duì)于訓(xùn)練樣本過(guò)多時(shí),就會(huì)發(fā)生過(guò)擬合現(xiàn)象,從而降低模型的泛化能力。遮擋是影響模型泛化能力的關(guān)鍵因素?,F(xiàn)用于橋梁檢測(cè)模型的訓(xùn)練數(shù)據(jù)集較小,且部分影像中含有被云霧遮擋的橋梁。因此實(shí)現(xiàn)不同層次的遮擋不變性是解決這一問(wèn)題的有效方法。為了使橋梁的某些部分被云霧遮擋時(shí),模型仍然能夠從整體結(jié)構(gòu)中將其正確檢測(cè)出來(lái),本文引入了RE數(shù)據(jù)增強(qiáng),與YOLOv4本身的Mosaic數(shù)據(jù)增強(qiáng)相結(jié)合以擴(kuò)充原有數(shù)據(jù)集并模擬橋梁被云霧遮擋的情況。RE數(shù)據(jù)增強(qiáng)[21]隨機(jī)選取影像上的一個(gè)矩形區(qū)域,只遮擋部分對(duì)象,能夠維護(hù)對(duì)象的整體結(jié)構(gòu),且將被擦除區(qū)域的像素值重新賦值為隨機(jī)值,亦可看作給圖像添加了塊噪聲。該方法能夠有效加大訓(xùn)練難度,防止過(guò)擬合,在一定程度上提高泛化能力。利用RE數(shù)據(jù)增強(qiáng)方式主要是模擬遮擋場(chǎng)景,應(yīng)用在橋梁檢測(cè)中即可模擬橋梁被云霧遮擋的情況,與YOLOv4本身的Mosaic數(shù)據(jù)增強(qiáng)相結(jié)合,使網(wǎng)絡(luò)具有更好的魯棒性。
圖3 隨機(jī)擦除數(shù)據(jù)增強(qiáng)流程圖
隨機(jī)擦除的優(yōu)勢(shì)可以概括為以下幾點(diǎn):
1)隨機(jī)擦除過(guò)程是在一個(gè)連續(xù)的矩形區(qū)域上操作、沒(méi)有舍棄任何像素值,不會(huì)引起信息丟失,目的是使模型對(duì)噪聲和遮擋具有更好的魯棒性。
2)隨機(jī)擦除可以在不改變?cè)袑W(xué)習(xí)策略的情況下應(yīng)用于基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)任務(wù)。
3)可以作為現(xiàn)有數(shù)據(jù)增強(qiáng)方法的補(bǔ)充,與其他數(shù)據(jù)增強(qiáng)方法相結(jié)合,能進(jìn)一步提高目標(biāo)檢測(cè)性能。
YOLOv4[19]是由Bochkovskiy等于2020年提出的單階段目標(biāo)檢測(cè)網(wǎng)絡(luò),該網(wǎng)絡(luò)的主干為CSPDarknet53,由5個(gè)CSPnet[22]模塊組成,每個(gè)CSPnet模塊前面都是大小為3×3,步長(zhǎng)為2的卷積核,可以起到下采樣的作用,因此大小為608像素×608像素的輸入圖像被逐步下采樣為19×19的特征圖。CSPDarknet53解決了因梯度信息重復(fù)導(dǎo)致的推理計(jì)算過(guò)高的問(wèn)題,增強(qiáng)了CNN的學(xué)習(xí)能力,使得網(wǎng)絡(luò)在輕量化的同時(shí)保持準(zhǔn)確性,且能有效的降低內(nèi)存成本及計(jì)算瓶頸。SPP模塊使用不同尺寸的滑動(dòng)窗口對(duì)上一個(gè)卷積層獲得的特征圖進(jìn)行采樣,分別合并得到的結(jié)果,就會(huì)得到固定長(zhǎng)度的輸出; FPN層自頂向下傳達(dá)強(qiáng)語(yǔ)義特征,而包含2個(gè)PAN結(jié)構(gòu)的特征金字塔則自底向上傳達(dá)強(qiáng)定位特征,兩者結(jié)合,從不同的主干層對(duì)不同的檢測(cè)層進(jìn)行特征聚合,進(jìn)一步提高特征提取的能力。
遙感影像中的橋梁存在著多橋密集并行的現(xiàn)象,并行橋梁之間的錨框會(huì)有所重疊,非極大抑制過(guò)程會(huì)剔除部分錨框?qū)е侣z,采用CIoU能夠有效解決這一問(wèn)題。尋常的IoU_Loss無(wú)法直接優(yōu)化預(yù)測(cè)框和真實(shí)框沒(méi)有重疊的部分,CIoU將目標(biāo)與錨框之間的重疊區(qū)域、中心距離、寬高比都考慮進(jìn)去,使得目標(biāo)回歸更加穩(wěn)定,不會(huì)出現(xiàn)訓(xùn)練過(guò)程中發(fā)散等問(wèn)題。如圖4所示,c為預(yù)測(cè)框b與真實(shí)框bgt的最小外接矩形的對(duì)角線距離;d為預(yù)測(cè)框與真實(shí)框中心點(diǎn)之間的距離。IoU為預(yù)測(cè)框和真實(shí)框面積交集與面積并集的比值。
圖4 CIoU示意圖
CIoU公式如下:
,
(1)
式中,ρ2(b,bgt)為預(yù)測(cè)框和真實(shí)框中心點(diǎn)的歐氏距離;α為權(quán)重參數(shù);v用來(lái)度量長(zhǎng)寬比的相似性。α和v分別表示為:
,
(2)
。
(3)
所以CIoU_Loss為:
(4)
式中:b為預(yù)測(cè)框;bgt為真實(shí)框;ρ2(b,bgt)為預(yù)測(cè)框和真實(shí)框之間的歐氏距離;c為能夠同時(shí)包含預(yù)測(cè)框和真實(shí)框的最小閉包區(qū)域?qū)蔷€長(zhǎng)度;w和h分別為預(yù)測(cè)框的寬和高;wgt和hgt分別為真實(shí)框的寬和高。
本文方法使用GPU進(jìn)行訓(xùn)練,計(jì)算機(jī)配置為Windows10,Intel(R)i7-9700k CPU,NVIDIA GeForce GTX1070 Ti顯卡,8 GB顯存,平臺(tái)為pytorch。訓(xùn)練的初始學(xué)習(xí)率設(shè)置為0.001,權(quán)重衰減系數(shù)設(shè)置為0.000 5,訓(xùn)練動(dòng)量為0.9,置信度設(shè)置為0.5,IoU閾值設(shè)置為0.5,訓(xùn)練300個(gè)Epoch,迭代次數(shù)4 000次。用隨機(jī)數(shù)法將數(shù)據(jù)集按照8∶2的比例分配為訓(xùn)練集、驗(yàn)證集,抽取典型橋梁影像作為測(cè)試集。
為了驗(yàn)證本文方法的有效性,利用目標(biāo)的平均檢測(cè)精度(mAP)以及平均檢測(cè)準(zhǔn)確度(average detection accuracy,Ada)作為模型定量的評(píng)估指標(biāo),來(lái)衡量模型的準(zhǔn)確性,其定義為:
,
(5)
,
(6)
式中:Precision為精確率,指實(shí)際正樣本占被預(yù)測(cè)為正樣本的比例;TP為被正確分類的正樣本,即被正確檢測(cè)的橋梁數(shù)量;FP為被錯(cuò)誤分類的負(fù)樣本,即被檢測(cè)為橋梁的其他目標(biāo)的數(shù)量;PrecisionC為C類目標(biāo)的精確率;NC為含有C類目標(biāo)的圖片的數(shù)量;N為數(shù)據(jù)集中圖片的總數(shù)。
平均檢測(cè)準(zhǔn)確度(Ada)為檢測(cè)樣本的總準(zhǔn)確度(detection accuracy,DA)與正確檢測(cè)樣本數(shù)之商,總準(zhǔn)確度為單幅圖像中所有被正確檢測(cè)目標(biāo)的準(zhǔn)確度之和,計(jì)算公式如下:
。
(7)
為了驗(yàn)證所提方法的有效性,本文主要對(duì)近幾年幾種典型的目標(biāo)檢測(cè)網(wǎng)絡(luò)進(jìn)行了對(duì)比實(shí)驗(yàn),分別利用SSD,mobilenet-SSD,Centernet,Efficiendet,Retinanet,YOLOv3和YOLOv4對(duì)橋梁數(shù)據(jù)集進(jìn)行訓(xùn)練,并分別計(jì)算其mAP; 再將本文算法應(yīng)用到以上7個(gè)目標(biāo)檢測(cè)模型中,并分別計(jì)算其mAP值。各模型進(jìn)行橋梁檢測(cè)的mAP值如表2所示。表2中第二列“+RE”表示原始網(wǎng)絡(luò)結(jié)合RE方法計(jì)算所得mAP值,第三列“本身漲點(diǎn)”為原始網(wǎng)絡(luò)結(jié)合RE方法的mAP值與原始網(wǎng)絡(luò)相比的漲點(diǎn),第四列“本文漲點(diǎn)”為本文方法與各原始網(wǎng)絡(luò)相比的漲點(diǎn)。表中加粗字體為本文算法檢測(cè)結(jié)果。
表2 不同模型的檢測(cè)結(jié)果
由表2可知,①在引入了RE方法之后,各網(wǎng)絡(luò)mAP漲點(diǎn)從1.77%到5.73%不等,說(shuō)明RE數(shù)據(jù)增強(qiáng)可以與不同目標(biāo)檢測(cè)方法相結(jié)合,并有效提升檢測(cè)精度; ②本文方法與其他6種方法相比,mAP都有較大程度的提高,驗(yàn)證了本文選取YOLOv4作為原始網(wǎng)絡(luò)的可行性; ③其中RE數(shù)據(jù)增強(qiáng)(本文所提算法)能夠選擇影像上的隨機(jī)區(qū)域進(jìn)行擦除,有效模擬了橋梁目標(biāo)被云霧遮擋的情況,提升了整體的檢測(cè)精度。由此可知,對(duì)場(chǎng)景較單一、且數(shù)據(jù)量小的數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)對(duì)提高模型檢測(cè)的精度有一定積極作用。
圖5、圖6、圖7為利用YOLOv3、YOLOv4以及本文方法進(jìn)行對(duì)比實(shí)驗(yàn)的檢測(cè)結(jié)果,從數(shù)據(jù)集中選取具有代表性的5類橋梁影像進(jìn)行檢測(cè),分別為常規(guī)橋梁、復(fù)雜場(chǎng)景下的橋梁、多尺度橋梁、并行橋梁以及云霧遮擋下的橋梁。經(jīng)統(tǒng)計(jì),用于檢測(cè)的數(shù)據(jù)抽樣中常規(guī)橋梁共5個(gè),復(fù)雜場(chǎng)景下的橋梁共3個(gè),多尺度橋梁共19個(gè),并行橋梁共6個(gè),云霧遮擋下的橋梁共8個(gè)。其中云霧遮擋橋梁包括部分遮擋、完全遮擋2種情況,云霧包含厚云、薄云2種效果,影像中橋梁分為部分可見(jiàn)可完全可見(jiàn)2種類型。具體檢測(cè)結(jié)果如表3所示,表中加粗字體為各項(xiàng)最優(yōu)結(jié)果。
(a) 常規(guī)橋梁1(b) 常規(guī)橋梁2(c) 復(fù)雜場(chǎng)景1(d) 復(fù)雜場(chǎng)景2
(e) 多尺度橋梁1(f) 多尺度橋梁2(g) 并行橋梁1(h) 并行橋梁2
(i) 云霧遮擋橋梁1(j) 云霧遮擋橋梁2(k) 云霧遮擋橋梁3(l) 云霧遮擋橋梁4
(a) 常規(guī)橋梁1(b) 常規(guī)橋梁2(c) 復(fù)雜場(chǎng)景1(d) 復(fù)雜場(chǎng)景2
(e) 多尺度橋梁1(f) 多尺度橋梁2(g) 并行橋梁1(h) 并行橋梁2
(i) 云霧遮擋橋梁1(j) 云霧遮擋橋梁2(k) 云霧遮擋橋梁3(l) 云霧遮擋橋梁4
(a) 常規(guī)橋梁1(b) 常規(guī)橋梁2(c) 復(fù)雜場(chǎng)景1(d) 復(fù)雜場(chǎng)景2
(i) 云霧遮擋橋梁1(j) 云霧遮擋橋梁2(k) 云霧遮擋橋梁3(l) 云霧遮擋橋梁4
表3 樣例檢測(cè)結(jié)果
由表3可知,相比于YOLOv3和YOLOv4,本文方法對(duì)于不同場(chǎng)景下橋梁的正確檢測(cè)個(gè)數(shù)均有提高,說(shuō)明本文方法具有較好的橋梁檢測(cè)能力; 其次,本文方法對(duì)于云霧遮擋橋梁的檢測(cè)效果明顯優(yōu)于其他2種方法,YOLOv3和YOLOv4僅能檢測(cè)出薄云覆蓋和部分遮擋橋梁,對(duì)于完全遮擋和厚云覆蓋等橋梁檢測(cè)效果較差,而本文方法能能夠以較高準(zhǔn)確度檢測(cè)出部分遮擋、完全遮擋、厚云覆蓋及薄云覆蓋等多種條件下的橋梁,有效提高了對(duì)于云霧遮擋橋梁檢測(cè)的魯棒性; 最后,本文方法在絕大多數(shù)場(chǎng)景下的平均檢測(cè)準(zhǔn)確度高于YOLOv3和YOLOv4,說(shuō)明本文方法在保證檢測(cè)效果的前提下適用于多種場(chǎng)景的橋梁檢測(cè)。
針對(duì)傳統(tǒng)目標(biāo)檢測(cè)網(wǎng)絡(luò)識(shí)別被云霧遮擋橋梁能力差的問(wèn)題,提出結(jié)合RE和YOLOv4橋梁自動(dòng)檢測(cè)方法。本文方法的mAP達(dá)到了97.06%,較YOLOv4網(wǎng)絡(luò)提高了2.99百分點(diǎn)。對(duì)于被云霧遮擋橋梁的平均檢測(cè)準(zhǔn)確度提高了12百分點(diǎn)。試驗(yàn)結(jié)果驗(yàn)證了本文方法對(duì)于識(shí)別復(fù)雜場(chǎng)景下的橋梁、多尺度的橋梁、并行橋梁尤其是被云霧遮擋的橋梁有很大的優(yōu)勢(shì)。但本文方法也存在不足之處,RE產(chǎn)生的像素值與真實(shí)云霧有一定差異,使得檢測(cè)效果提升有一定局限性,后期將對(duì)遮擋橋梁設(shè)計(jì)更有針對(duì)性的方法,進(jìn)一步提高檢測(cè)性能。