陳 靜,毛鶯池*,陳 豪,王龍寶,王子成
(1.河海大學(xué)計(jì)算機(jī)與信息學(xué)院,南京 211100;2.華能瀾滄江水電股份有限公司,昆明 650214;3.中國(guó)電建集團(tuán)昆明勘測(cè)設(shè)計(jì)研究院有限公司,昆明 650051)
我國(guó)是世界上建成大壩最多的國(guó)家,其中95%的大壩建齡在30年以上(http://www.thepaper.cn/newsDetailforward_1858088)。大壩的日益老化與環(huán)境、災(zāi)害等因素的影響導(dǎo)致了缺陷的形成,大壩的安全性逐漸降低[1]。定期巡檢是維護(hù)大壩工程安全的重要措施,現(xiàn)有的巡檢方法主要為人工目視檢查[2],隨著大壩建齡的增加和不斷疊加的環(huán)境影響,人工巡檢的工作量與難度逐漸增大,研發(fā)自動(dòng)化巡檢設(shè)備[3]是提高大壩安全運(yùn)維效率的重要舉措。本文以某水電站各類表觀缺陷圖像為實(shí)驗(yàn)數(shù)據(jù)集,提出可變形卷積單步多框檢測(cè)器進(jìn)行大壩缺陷檢測(cè),輔助巡檢人員完成大壩缺陷識(shí)別。
目標(biāo)檢測(cè)[4]的基本框架基于檢測(cè)流程的區(qū)別可以分為兩個(gè)分支:one stage系列算法和two stage系列算法。two stage算法如基于區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region-based Fully Convolutional Network,R-FCN)[5]、快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast Regionbased Convolutional Neural Network,F(xiàn)ast R-CNN)[6]、基于區(qū)域的更快卷積神經(jīng)網(wǎng)絡(luò)(Faster Region-based Convolutional Neural Network,F(xiàn)aster R-CNN)[7],由于two stage算法細(xì)致的候選框提取和分類回歸流程,在目標(biāo)檢測(cè)的精度上有很大的優(yōu)勢(shì)。one stage的開(kāi)篇算法YOLO(You Only Look Once)[8]于2016年緊接Faster R-CNN提出,將原先two stage框架生成預(yù)選框和預(yù)測(cè)階段合二為一,直接在特征圖上利用卷積層進(jìn)行候選框的提取和目標(biāo)的檢測(cè),極大提升了目標(biāo)檢測(cè)的速度。YOLOv2[9]和YOLOv3[10]算法更是在速度方面作出了極大的改進(jìn)。單點(diǎn)多盒檢測(cè)器(Single Shot MultiBox Detector,SSD)[11]作為one stage的另一經(jīng)典算法,承接了YOLO的單階段檢測(cè)框架,彌補(bǔ)了YOLO算法檢測(cè)小物體時(shí)精度的不足,提出了采用多尺度特征圖進(jìn)行檢測(cè),同時(shí)借鑒了Faster R-CNN中采用錨點(diǎn)機(jī)制提取候選框,這種方式對(duì)于低分辨率的圖像和尺寸較小的目標(biāo)同樣能達(dá)到較高的檢測(cè)精度。2020年Lin等[12]重新定義了目標(biāo)檢測(cè)中的損失函數(shù),引入一種新的損失函數(shù)Focal loss用來(lái)替代傳統(tǒng)one stage算法中的損失函數(shù),解決單階段目標(biāo)檢測(cè)算法中普遍存在的正負(fù)樣本不均衡的問(wèn)題。
為了實(shí)現(xiàn)工程實(shí)際應(yīng)用環(huán)境中的實(shí)時(shí)檢測(cè),并保證不同尺度缺陷特征的檢測(cè)精度。首先將巡檢人員現(xiàn)場(chǎng)采集的缺陷圖像進(jìn)行數(shù)據(jù)增強(qiáng),擴(kuò)大訓(xùn)練樣本數(shù)量。本文提出模型采用one stage算法中的單點(diǎn)多盒檢測(cè)器作為基礎(chǔ)框架,引入可變形卷積[13]替換傳統(tǒng)標(biāo)準(zhǔn)卷積。針對(duì)特征的尺寸,改進(jìn)先驗(yàn)框比例,提高條形特征的檢測(cè)精度與模型的泛化能力。采用改進(jìn)的非極大值抑制(Non-Maximum Suppression,NMS)算法緩解訓(xùn)練時(shí)正負(fù)樣本不均衡,進(jìn)一步優(yōu)化學(xué)習(xí)效果。本文總體研究框架如圖1所示。
圖1 總體研究框架Fig.1 Overall research framework
本文以實(shí)際工程環(huán)境為背景,使用某電站采集到的缺陷圖像作為實(shí)驗(yàn)數(shù)據(jù)集,進(jìn)行缺陷圖像目標(biāo)檢測(cè)。該數(shù)據(jù)集涵蓋了4類缺陷,分別為裂縫(crack)、滲水(seepage)、堿性物析出(alkaline precipitate)、混凝土剝落(concrete spalling)和1類工程特征孔(hole)[14],如圖2所示。
圖2 缺陷示意圖Fig.2 Schematic diagram of defects
陷樣本數(shù)據(jù)集包含5類缺陷與特征,但各類的樣本集不均衡現(xiàn)象嚴(yán)重,由于缺少公開(kāi)的工程缺陷數(shù)據(jù)集以供訓(xùn)練,因此在對(duì)缺陷數(shù)據(jù)集進(jìn)行訓(xùn)練前,通過(guò)數(shù)據(jù)增強(qiáng)的方式來(lái)均衡樣本,使得訓(xùn)練效果更具有魯棒性[15]。本文采用幾何變換和顏色變換兩種方式進(jìn)行數(shù)據(jù)增強(qiáng)。
1)幾何變換。
幾何變換即對(duì)圖像進(jìn)行幾何變換,包括翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪、變形、縮放等各類操作。變換后的缺陷圖像如圖3所示。
圖3 樣本幾何變換Fig.3 Sample geometric transformation
2)顏色變換。
基于噪聲的數(shù)據(jù)增強(qiáng)就是在原來(lái)的圖片的基礎(chǔ)上,隨機(jī)疊加一些噪聲,最常見(jiàn)的做法就是高斯噪聲。本文進(jìn)行變換處理時(shí),選擇噪聲、模糊、顏色變換等不同方式以實(shí)現(xiàn)不同程度的增強(qiáng)。缺陷數(shù)據(jù)集的顏色變換如圖4所示。
圖4 樣本顏色變換Fig.4 Sample color transformation
經(jīng)數(shù)據(jù)增強(qiáng)處理后,缺陷數(shù)據(jù)集各類樣本量如5所示,各類樣本數(shù)量得以均衡。
圖5 數(shù)據(jù)增強(qiáng)前后對(duì)比Fig.5 Comparison of data before and after augmentation
根據(jù)《水電站大壩安全定期檢查辦法》[16]中水工大壩檢查與安全評(píng)價(jià)要求,以及水工大壩專業(yè)巡檢人員對(duì)缺陷分析的指導(dǎo),采用labelme對(duì)巡檢人員發(fā)現(xiàn)的大壩表觀缺陷圖像按照變形趨勢(shì)編輯標(biāo)準(zhǔn)組閉合框??勺冃尉矸e單步多框檢測(cè)器(DeFormable convolution Single Shot multi-box Detector,DFSSD)模 型 采 用MS COCO(MicroSoft Common Objects in COntext)數(shù)據(jù)集與缺陷數(shù)據(jù)集共同作為實(shí)驗(yàn)數(shù)據(jù)集,為保證兩數(shù)據(jù)集共用讀取標(biāo)簽文件的代碼保持一致,將缺陷數(shù)據(jù)集標(biāo)注完成的標(biāo)簽格式,使用python腳本轉(zhuǎn)化為COCO標(biāo)簽格式。轉(zhuǎn)換后的標(biāo)簽文件中包含以下3個(gè)基本類型:images、categories、annotations,分別表示圖片、標(biāo)簽類別、標(biāo)簽詳情。
本文提出可變形卷積單步多框檢測(cè)器(DFSSD)模型用于大壩缺陷目標(biāo)檢測(cè)。DFSSD模型采用one stage算法單階段目標(biāo)檢測(cè)器作為模型的基礎(chǔ)架構(gòu),引入可變形卷積(Deformable Convolution)作為處理幾何變換的中間機(jī)制,針對(duì)特征的尺寸大小,在錨點(diǎn)機(jī)制中修改了先驗(yàn)框尺寸比例,提高條形特征的檢測(cè)精度與模型的泛化能力。在訓(xùn)練過(guò)程中,為了緩解訓(xùn)練時(shí)正負(fù)樣本不均衡的問(wèn)題,進(jìn)一步提高檢測(cè)精度,改進(jìn)了非極大值抑制算法,優(yōu)化學(xué)習(xí)效果。DFSSD框架如圖6所示,首先采用可變形卷積對(duì)缺陷特征進(jìn)行提取,再將特征映射到多尺度特征圖中,最后在每個(gè)尺度的特征圖中進(jìn)行每個(gè)候選框中目標(biāo)的分類與回歸。
圖6 DFSSD整體框架Fig.6 DFSSD overall framework
DFSSD沿用了SSD中的VGG16(Visual Geometry Group)[17]作為主干網(wǎng)絡(luò),提取輸入圖像的特征。由于缺陷數(shù)據(jù)集中同類別的缺陷存在幾何變化,如滲水面積的變化、裂縫的延伸等,卷積神經(jīng)網(wǎng)絡(luò)由于固定的幾何結(jié)構(gòu)導(dǎo)致幾何變換的建模能力不足,因此DFSSD模型將可變形卷積替代VGG16中的標(biāo)準(zhǔn)卷積,實(shí)現(xiàn)適應(yīng)特征幾何變換的網(wǎng)絡(luò)結(jié)構(gòu),提升整個(gè)目標(biāo)識(shí)別框架的空間信息建模能力。本文模型的可變形卷積的流程如下:
1)輸入原始圖片,記為U,其中設(shè)置batch為b。
2)原始圖片batch經(jīng)過(guò)一個(gè)普通卷積,卷積填充為same,即輸出輸入大小不變,對(duì)應(yīng)的輸出結(jié)果為原圖片batch中每個(gè)像素的偏移量,輸出值的個(gè)數(shù)為b×H×W×2N,記為V,其中2N表示每個(gè)方向上的x偏移量與y偏移量。
3)將U中圖片的像素索引值與V相加,得到偏移后的坐標(biāo)(即在原始圖片U中的坐標(biāo)值),需要將坐標(biāo)值限定為圖片大小以內(nèi),將浮點(diǎn)類型的坐標(biāo)值獲取像素。
4)使用雙線性插值法[18]獲取浮點(diǎn)類型的坐標(biāo)處的像素值。
5)計(jì)算坐標(biāo)值對(duì)應(yīng)的所有像素后,得到新的特征圖,并將新的特征圖作為輸入數(shù)據(jù)輸入到下一層中。
2.2.1 偏移量計(jì)算
相較于傳統(tǒng)卷積采樣,可變形卷積在卷積過(guò)程中添加了偏移量的學(xué)習(xí),如圖7(b)、(c)、(d)所示??勺冃尉矸e的卷積核不是簡(jiǎn)單的矩形,而是適應(yīng)特征幾何變化的帶有偏移量的感受野。
圖7 感受野上的偏移量學(xué)習(xí)Fig.7 Offset learning on receptive field
標(biāo)準(zhǔn)2D卷積過(guò)程可以分為兩個(gè)步驟:
1)采用標(biāo)準(zhǔn)網(wǎng)格R對(duì)輸入特征圖x進(jìn)行采樣,此時(shí)R為感受野的尺寸,分別對(duì)應(yīng)基于卷積位置的各個(gè)方向,定義為:
2)將帶權(quán)重w的采樣值進(jìn)行求和,對(duì)于輸出特征圖中每一個(gè)位置p0,可以得到:
其中pn為各個(gè)方向所映射的各個(gè)位置。
在可變形卷積中,R通過(guò)偏移量{Δpn|n=1,2,…,N}來(lái)增大感受野的范圍,其中,N=|R|,由式(2)可得:
此時(shí),采樣的卷積核由不規(guī)則的R組成,距卷積核中心位置偏移量為pn+Δpn,由可變形卷積結(jié)構(gòu)圖可得,原先標(biāo)準(zhǔn)的卷積過(guò)程被分為兩路,一路學(xué)習(xí)偏移量,得到H×W×2N個(gè)輸出偏移量,N=|R|表示卷積核中的像素個(gè)數(shù),2N代表兩個(gè)垂直方向的偏移量。通過(guò)在相同的輸入特征映射上應(yīng)用卷積層來(lái)獲得偏移,卷積核具有與當(dāng)前卷積層相同的空間分辨率和伸縮性。輸出偏移量具有與輸入特征圖相同的空間分辨率。經(jīng)偏移計(jì)算可得,對(duì)于原始卷積的每一個(gè)卷積窗口,不再是標(biāo)準(zhǔn)的矩形,而是適應(yīng)特征幾何變化的偏移變形卷積窗口,獲得偏移后像素點(diǎn)的目標(biāo)值后,計(jì)算過(guò)程與標(biāo)準(zhǔn)卷積一致。
偏移量Δpn的計(jì)算的結(jié)果往往是一個(gè)高精度的小數(shù),非整數(shù)的坐標(biāo)無(wú)法在圖像這種離散型的數(shù)據(jù)上使用,如果采用簡(jiǎn)單的取整方法會(huì)有一定程度的誤差,從而x(p0+pn+Δpn)處的像素值需通過(guò)雙線性差值來(lái)計(jì)算,即通過(guò)尋找距離坐標(biāo)最近的四個(gè)像素點(diǎn)來(lái)計(jì)算該點(diǎn)的像素值。將x(p)=x(p0+pn+Δpn)簡(jiǎn)化為:
其中x(q)表示相鄰4個(gè)整數(shù)坐標(biāo)處的像素值G(?,?)為p相鄰4個(gè)整數(shù)點(diǎn)對(duì)應(yīng)的權(quán)值參數(shù)。
由式(4)~(5)可得:
2.2.2 反向傳播
可變形卷積的核心思想是用額外的偏移量增加模塊中的空間采樣位置和從目標(biāo)任務(wù)中學(xué)習(xí)偏移量,不需要額外的監(jiān)督。改進(jìn)后的可變形卷積模塊可以很容易地取代現(xiàn)有卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)中的普通模塊,并且可以通過(guò)標(biāo)準(zhǔn)的反向傳播進(jìn)行端到端的訓(xùn)練,從而產(chǎn)生可變形的卷積網(wǎng)絡(luò)。為了學(xué)習(xí)偏移量,梯度通過(guò)可變形卷積(式(3))和雙線性插值計(jì)算(式(5)、(6))進(jìn)行反向傳播,偏移量Δpn的梯度計(jì)算公式為:
DFSSD目標(biāo)檢測(cè)方法將可變形卷積替代原始VGG16中的普通卷積,不改變輸入和最終輸出參數(shù),提升了CNN模塊的空間信息建模能力。
DFSSD在可變形卷積之后增加了額外的4個(gè)卷積層以引入更多不同尺度的特征圖,作為后續(xù)預(yù)測(cè)網(wǎng)絡(luò)的輸入。卷積神經(jīng)網(wǎng)絡(luò)由于卷積、池化等操作,隨著層數(shù)的增加,特征圖的尺寸會(huì)越來(lái)越小,當(dāng)在每個(gè)像素點(diǎn)上生成特定大小的先驗(yàn)框,在這些不同尺度的特征圖上進(jìn)行檢測(cè),就可實(shí)現(xiàn)比較大的特征圖來(lái)檢測(cè)相對(duì)較小的目標(biāo),而小的特征圖負(fù)責(zé)檢測(cè)大目標(biāo)的任務(wù)。
2.3.1 改進(jìn)先驗(yàn)框
對(duì)于多尺度特征圖的輸出,DFSSD為特征圖中每個(gè)像素單元設(shè)置了尺度或長(zhǎng)寬比不同的先驗(yàn)框。同一個(gè)特征圖上每個(gè)單元設(shè)置的先驗(yàn)框是相同的,對(duì)于不同尺寸的特征圖設(shè)置的先驗(yàn)框數(shù)量就有一定程度的變化。預(yù)測(cè)的邊界框以先驗(yàn)框?yàn)榛鶞?zhǔn),由于one stage的方法沒(méi)有生成建議候選框這一流程,事先生成先驗(yàn)框在一定程度上降低了訓(xùn)練難度,又保證了目標(biāo)區(qū)域定位的精確性。先驗(yàn)框的設(shè)置包括尺寸和長(zhǎng)寬比兩個(gè)方面。
首先對(duì)于先驗(yàn)框的尺度,遵守線性遞增規(guī)則:隨著特征圖尺寸的減小,先驗(yàn)框的尺寸線性增加:
其中:m為特征圖的個(gè)數(shù),由于在主干網(wǎng)絡(luò)中的卷積層單獨(dú)設(shè)置先驗(yàn)框大小,所以此處m取5;smax與smin表示基于特征圖尺寸比例的最大值和最小值,原始論文中,smax與smin設(shè)定為0.9和0.2,并將第一個(gè)特征圖的尺寸比例設(shè)為smin。對(duì)于第一層之后的特征圖,先驗(yàn)框的尺寸比例依照式(8)線性增加,可得各個(gè)特征圖的sk分別為0.2,0.37,0.54,0.71,0.88,將比例sk與特征圖各自的尺寸相乘,可得到各個(gè)特征圖先驗(yàn)框的尺寸。
一般將先驗(yàn)框的長(zhǎng)寬比設(shè)定為ar∈{1,2,3,1/2,1/3},由于本文的檢測(cè)目標(biāo)為工程缺陷,對(duì)于裂縫等條形缺陷,原有先驗(yàn)框的長(zhǎng)寬比不足以將缺陷完整地標(biāo)注出來(lái)。結(jié)合實(shí)際應(yīng)用背景,DFSSD模型將先驗(yàn)框長(zhǎng)寬比設(shè)定為ar′∈{1,2,5,1/2,1/5},如圖8所示。對(duì)于已知長(zhǎng)寬比,按照式(9)計(jì)算先驗(yàn)框的實(shí)際寬度與高度:
圖8 DFSSD anchor機(jī)制Fig.8 DFSSD anchor mechanism
對(duì)于不同尺度的特征圖的輸出分別用兩種不同的3×3的卷積核進(jìn)行卷積,每個(gè)像素點(diǎn)的每個(gè)先驗(yàn)框的輸出分為兩個(gè)部分,分別對(duì)應(yīng)預(yù)測(cè)框位置和該先驗(yàn)框中各個(gè)類別的置信度評(píng)分。其中預(yù)測(cè)框位置包含4個(gè)值(cx,cy,w,h)分別表示預(yù)測(cè)框的中心坐標(biāo)以及寬高。置信度評(píng)分代表了該先驗(yàn)框中的目標(biāo)對(duì)應(yīng)各個(gè)類別的可能性,若檢測(cè)目標(biāo)共有c個(gè)類別,則需要預(yù)測(cè)c+1個(gè)置信度值,其中第一個(gè)置信度指的是不含目標(biāo)或者屬于背景的評(píng)分。
2.3.2 改進(jìn)非極大值抑制
在DFSSD模型的訓(xùn)練階段,通過(guò)IoU(Intersection over Union)確定訓(xùn)練圖片與真實(shí)目標(biāo)之間的匹配度,區(qū)分正負(fù)樣本。由于本文使用的缺陷數(shù)據(jù)集,每張圖片中的真實(shí)目標(biāo)非常少,但先驗(yàn)框非常多,且在極端條件下:真實(shí)目標(biāo)與先驗(yàn)框的最大IoU小于0.5的情況幾乎不存在。因此針對(duì)現(xiàn)有的正負(fù)樣本不均衡的問(wèn)題,DFSSD采用非極大值抑制的方法使得正負(fù)樣本比例均衡。
非極大值抑制(NMS)[19]指抑制非極大值的元素,并搜索局部最大值。在目標(biāo)檢測(cè)任務(wù)中,非極大值抑制是對(duì)一種檢測(cè)結(jié)果進(jìn)行冗余去除操作的后處理算法。本文中模型將非極大值抑制算法作出了改進(jìn),步驟如下:
1)對(duì)所有負(fù)樣本先驗(yàn)框的置信度進(jìn)行降序排序,選取置信度最小的負(fù)樣本;
2)遍歷余下負(fù)樣本先驗(yàn)框,如果和當(dāng)前得分最低的先驗(yàn)框的重疊面積大于閾值0.5,就將此負(fù)樣本先驗(yàn)框刪除;
3)從未處理的負(fù)樣本先驗(yàn)框中選取置信度最低的進(jìn)行刪除。
重復(fù)上述步驟,僅刪減負(fù)樣本,相比傳統(tǒng)NMS,在刪除冗余先驗(yàn)框的前提下,增加了樣本訓(xùn)練的多樣性。
總體而言,改進(jìn)后的非極大值抑制算法過(guò)程是迭代-遍歷-消除,其中消除冗余先驗(yàn)框和置信度低的負(fù)樣本先驗(yàn)框達(dá)到樣本均衡。
2.3.3 損失函數(shù)
DFSSD的損失函數(shù)定義為位置誤差(localization,loc)、置信度誤差(confidence loss,conf)與可變形卷積偏移誤差(df)的加權(quán)和:
對(duì)于位置回歸誤差,采用穩(wěn)定的smoothL1損失函數(shù)[20]:
smoothL1損失函數(shù)能從兩個(gè)方面限制梯度:當(dāng)預(yù)測(cè)框與真實(shí)目標(biāo)差別過(guò)大時(shí),梯度值不至于過(guò)大;當(dāng)預(yù)測(cè)框與真實(shí)目標(biāo)差別很小時(shí),梯度值足夠小。整體位置誤差定義如下:
其中:c為類別置信度預(yù)測(cè)值,p為真實(shí)目標(biāo)的類別索引。
實(shí)驗(yàn)環(huán)境使用的是GeForce RTX 2080 Ti,操作系統(tǒng)是Ubuntu 16.04,使用的深度學(xué)習(xí)框架是pyTorch 1.3.1,DFSSD模型的訓(xùn)練測(cè)試都在GeForce RTX 2080 Ti進(jìn)行。
1)實(shí)驗(yàn)數(shù)據(jù)。
目標(biāo)檢測(cè)任務(wù)需要聲明一個(gè)對(duì)象屬于一個(gè)特定的類別,并在圖像中定位它,對(duì)象的定位通常以矩形框來(lái)表示。本文采用目前主流目標(biāo)檢測(cè)數(shù)據(jù)集MSCOCO(MicroSoft Common Objects in COntext)和大壩缺陷數(shù)據(jù)集作為實(shí)驗(yàn)驗(yàn)證數(shù)據(jù)集。
①M(fèi)SCOCO數(shù)據(jù)集:用于檢測(cè)和分割在自然環(huán)境及日常生活中發(fā)現(xiàn)的對(duì)象,包含91個(gè)公共對(duì)象類別,其中82個(gè)具有5 000多個(gè)標(biāo)記實(shí)例,在328 000張圖像中總共有2 500 000個(gè)標(biāo)記實(shí)例。
②大壩缺陷圖像:缺陷數(shù)據(jù)集來(lái)源于某電站大壩工程巡檢結(jié)果,包含4類缺陷和1類工程特征,其中經(jīng)數(shù)據(jù)增強(qiáng)后的圖片達(dá)8 890張,包含12 995個(gè)標(biāo)記實(shí)例。將數(shù)據(jù)集的85%作為訓(xùn)練集,15%的數(shù)據(jù)作為測(cè)試集,并盡可能保證每個(gè)缺陷類別分布均勻。
2)評(píng)價(jià)指標(biāo)。
在實(shí)驗(yàn)過(guò)程中,為了評(píng)估缺陷圖像目標(biāo)檢測(cè)模型準(zhǔn)確性和檢測(cè)速度,采用了以下三種評(píng)價(jià)指標(biāo):平均精度(Average Precision,AP)、平 均 精 度 均 值(mean Average Precision,mAP)、速率(單位:frame/s)。
在實(shí)驗(yàn)中,本文在MSCOCO數(shù)據(jù)集和大壩缺陷圖像兩個(gè)數(shù)據(jù)集上進(jìn)行檢測(cè),并采用以下兩個(gè)模型和本文提出的DFSSD檢測(cè)結(jié)果進(jìn)行對(duì)比。
1)SSD:使用VGG16為主干網(wǎng)絡(luò),通過(guò)每個(gè)像素點(diǎn)的不同尺寸和長(zhǎng)寬比的錨點(diǎn)框來(lái)檢測(cè)各種幾何尺寸的目標(biāo)。
2)Faster R-CNN:任意大小的圖片經(jīng)CNN卷積后形成特征圖后,將特征圖輸入?yún)^(qū)域侯選網(wǎng)絡(luò)(Region Proposal Network,RPN),采用事先設(shè)定好的不同大小的錨點(diǎn)框(anchor boxes)通過(guò)滑動(dòng)窗口的形式,選取候選區(qū)域。
DFSSD模型部分檢測(cè)結(jié)果如圖9所示。
圖9 缺陷數(shù)據(jù)集檢測(cè)結(jié)果Fig.9 Detection results on defect dataset
表1為各模型檢測(cè)精度對(duì)比數(shù)據(jù),F(xiàn)aster R-CNN作為傳統(tǒng)two stage算法,識(shí)別效果穩(wěn)定,尤其對(duì)于“孔”這類幾何形狀較穩(wěn)定的特征,識(shí)別精度高于本文的改進(jìn)模型DFSSD,充分展現(xiàn)了Faster R-CNN的穩(wěn)定性。然而對(duì)于一些幾何形狀不斷變化的特征,如“堿性物質(zhì)析出”“滲水”“裂縫”這些缺陷,DFSSD則展現(xiàn)出了它的機(jī)動(dòng)性的精度優(yōu)勢(shì),對(duì)于“裂縫”缺陷,由于數(shù)據(jù)集足夠,未經(jīng)過(guò)數(shù)據(jù)擴(kuò)增,因此訓(xùn)練數(shù)據(jù)集區(qū)分度較好,識(shí)別精度高達(dá)68.9%。而“混凝土剝落”和“堿性物析出”特征由于自身數(shù)據(jù)集偏少,特征形狀與大小也不固定,即使通過(guò)數(shù)據(jù)增強(qiáng)手段擴(kuò)充了數(shù)據(jù)集,但在隨機(jī)裁剪過(guò)程中會(huì)導(dǎo)致裁剪存在不完整的情況,使得有效數(shù)據(jù)變少,在實(shí)驗(yàn)?zāi)P椭凶R(shí)別精度較接近。相較于基線SSD模型,DFSSD模型平均識(shí)別精度提升5.98%。
表1 大壩缺陷數(shù)據(jù)集模型檢測(cè)性能對(duì)比Tab.1 Performance comparison of different detection modelson dam defect dataset
在檢測(cè)速度上,F(xiàn)aster R-CNN首先要經(jīng)過(guò)RPN生成候選框,再通過(guò)先驗(yàn)框進(jìn)行后續(xù)分類和回歸任務(wù),所以速度較慢,這也是大部分two stage目標(biāo)檢測(cè)算法的局限性。而SSD和DFSSD均采用one stage框架,省去了生成候選框的過(guò)程,因此在速度上擁有絕對(duì)的優(yōu)勢(shì),為將來(lái)實(shí)際工程環(huán)境的實(shí)時(shí)缺陷檢測(cè)提供可能性。
總體而言,DFSSD引入可變形卷積網(wǎng)絡(luò),在目標(biāo)檢測(cè)任務(wù)中,各類別的識(shí)別精度均優(yōu)于SSD,即使是在幾何特征較穩(wěn)定的目標(biāo)下,也有一定的精度優(yōu)勢(shì);同時(shí)DFSSD模型還具備了速度指標(biāo)上的優(yōu)勢(shì)。
表2展示了數(shù)據(jù)擴(kuò)增預(yù)處理操作對(duì)于實(shí)驗(yàn)結(jié)果的影響。其中,“裂縫”缺陷由于沒(méi)有進(jìn)行數(shù)據(jù)擴(kuò)增,但可能在擴(kuò)增其他缺陷數(shù)據(jù)集時(shí)包含了“裂縫”特征,因此對(duì)于該類別的檢測(cè)精度擁有較小的提升效果。而對(duì)于其他的特征,精度提升率最高達(dá)23%,所有類型特征總體平均精度增長(zhǎng)了15.1%,由此可見(jiàn),對(duì)于有限的數(shù)據(jù)集而言,對(duì)數(shù)據(jù)集進(jìn)行適當(dāng)?shù)臄?shù)據(jù)擴(kuò)增預(yù)處理,將對(duì)目標(biāo)檢測(cè)的表現(xiàn)能力有可觀的提升。
表2 數(shù)據(jù)擴(kuò)增前后檢測(cè)精度對(duì)比Tab.2 Detection accuracy comparison beforeand after data augmentation
DFSSD對(duì)原始SSD框架中的先驗(yàn)框和非極大值抑制模塊作出了改進(jìn)。對(duì)比實(shí)驗(yàn)結(jié)果如表3,改進(jìn)的NMS對(duì)于實(shí)驗(yàn)結(jié)果有了普遍的提升,提升率在1~1.6個(gè)百分點(diǎn)%左右。AP@0.5表示結(jié)果生成框和真實(shí)框之間的IoU閾值設(shè)為0.5時(shí),測(cè)試集的模型檢測(cè)結(jié)果,依此類推可得,閾值設(shè)定越大,檢測(cè)精度結(jié)果越高。若將先驗(yàn)框設(shè)為原始ar∈{1,2,3,1/2,1/3}的比例,對(duì)于總體精度而言降低了13.1%,而當(dāng)閾值設(shè)為0.5時(shí),精度則降低了1.6%。
表3 改進(jìn)模塊對(duì)檢測(cè)精度的影響 單位:%Tab.3 Influenceof improved moduleson detection accuracy unit:%
為了進(jìn)一步驗(yàn)證DFSSD的收斂性,將SSD和DFSSD的損失函數(shù)以迭代次數(shù)的時(shí)間步為橫軸繪制如圖10,進(jìn)行損失分析。通過(guò)比較SSD和DFSSD的損失曲線可以看出,雖然DFSSD在初始階段的損失值較高,但隨著迭代的進(jìn)行,迅速收斂,且收斂速度大于SSD,并隨著迭代的進(jìn)行而穩(wěn)步降低直至趨于穩(wěn)定。實(shí)驗(yàn)結(jié)果表明,DFSSD在保持了精度的同時(shí)也提高了收斂性能。
圖10 收斂性能對(duì)比Fig.10 Convergence performance comparison
為了驗(yàn)證DFSSD模型的通用性,將使用公開(kāi)數(shù)據(jù)集COCO數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示。
表4 COCO數(shù)據(jù)集上的模型檢測(cè)精度對(duì)比 單位:%Tab.4 Comparison of model detection accuracy on COCO dataset unit:%
由表4可得,在COCO數(shù)據(jù)集上,傳統(tǒng)的兩階段算法Faster R-CNN由于細(xì)致的候選框預(yù)測(cè)算法,在IoU閾值較小的AP@0.5的指標(biāo)上表現(xiàn)較好。而在AP指標(biāo)上,DFSSD相對(duì)于其他兩種模型均有提升,與SSD相比,AP提高4.74%,原因可能有以下兩點(diǎn):COCO數(shù)據(jù)集對(duì)于缺陷數(shù)據(jù)集而言非常龐大,種類繁多,識(shí)別難度也很大,各大主流算法對(duì)于COCO數(shù)據(jù)集的檢測(cè)能力也有待提高,對(duì)于龐大的數(shù)據(jù)集而言,可變形卷積的改進(jìn)對(duì)于目標(biāo)檢測(cè)精度的提升效果并不明顯。COCO數(shù)據(jù)集多源自日常生活場(chǎng)景,目標(biāo)幾何特征變化不明顯,因此針對(duì)性能的提升率不高。
對(duì)于足夠龐大、種類繁多以及幾何特征變化不頻繁的應(yīng)用環(huán)境來(lái)說(shuō),DFSSD保持了識(shí)別精度的穩(wěn)定性,展示了可變形卷積的優(yōu)勢(shì)。
針對(duì)缺陷的幾何變換特征和工程應(yīng)用環(huán)境,提出了可變形卷積網(wǎng)絡(luò)單階段目標(biāo)檢測(cè)器DFSSD模型。該模型采用輕量級(jí)的單階段目標(biāo)檢測(cè)器SSD作為基礎(chǔ)框架,在此基礎(chǔ)上進(jìn)行改進(jìn)。在特征提取階段將可變形卷積網(wǎng)絡(luò)替換傳統(tǒng)卷積層,使得卷積核不再是固定的形狀,提高模型的空間建模能力。為提高模型對(duì)于不同尺度比例缺陷的泛化能力,調(diào)整了先驗(yàn)框比例。通過(guò)改進(jìn)非極大值抑制算法解決檢測(cè)階段正負(fù)樣本不均衡的問(wèn)題?;诖髩稳毕輸?shù)據(jù)集和MSCOCO數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,DFSSD模型相較于改進(jìn)前的基準(zhǔn)模型SSD對(duì)于缺陷目標(biāo)檢測(cè)的精度有了顯著的提高,并且也比兩階段目標(biāo)檢測(cè)模型Faster R-CNN的目標(biāo)檢測(cè)精度要好。今后將考慮采集更多的數(shù)據(jù)進(jìn)行訓(xùn)練,并在此基礎(chǔ)上與最新的目標(biāo)檢測(cè)模型作比較,已便更好驗(yàn)證DFSSD模型缺陷檢測(cè)有效性。