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