陳 利,劉艷艷
(1.南開大學 光電子薄膜器件與技術天津市重點實驗室,天津 300350;2.南開大學 薄膜光電子技術教育部工程研究中心,天津 300350)
隨著科技高速發(fā)展,對文物的保護和修繕越來越得到重視。傳統(tǒng)對文物的缺陷檢測主要依靠人力進行目視檢查,但容易受到天氣、時間等原因影響。地磚缺陷具有形狀不規(guī)則、背景噪聲系數大等特征,目前大多數缺陷檢測算法都是根據應用場景不同進行手工提取缺陷特征,直接或者通過機器學習算法進行分類[1]。這種有監(jiān)督機器學習存在一定局限性,受圖片中缺陷類別數目、特征形狀等因素影響,人為提取特征需要具有很強的專業(yè)性,檢測結果不好,魯棒性差,所以不能很好地適用于對地磚缺陷檢測。
隨著計算機視覺不斷發(fā)展,深度學習作為計算機視覺的分支,越來越受到人們重視,目標檢測是深度學習的廣泛應用之一。近些年來,目標檢測取得了很大突破。目標檢測主要分為兩類:一類是基于候選框的R-CNN(Region Convolutional Neural Network)系列算法,如 R-CNN、Fast R-CNN(Fast Region Convolutional Neural Network)、Faster R-CNN(Faster Region Convolutional Neural Network)[2],它們是生成候選框后進行分類和位置回歸;另一類是YOLO(You Only Look Once)[3]、SSD(Single Shot MultiBox Detector),從回歸角度出發(fā),直接在圖像中回歸出目標邊框和位置,這類算法僅使用一個卷積神經網絡。第一類方法準確度高,速度慢;第二類算法速度快,可以到達實時檢測,但是準確性低。
目前基于深度學習的目標檢測算法很多,應用在目標檢測的效果也很突出[4-6],但是現有算法在缺陷檢測中并不能很好地體現出來[7-9],尤其是在地磚缺陷檢測中,現有目標檢測算法受限于地磚特征的多樣性以及紋理特性。為此,本文提出了一種基于改進型Faster R-CNN網絡用于檢測地磚缺陷。對卷積核中每個采樣點位置都增加了一個偏移變量,通過這些變量,卷積核就可以在當前位置附近隨意采樣,而不再局限于之前的規(guī)則格點,形狀多變的感受野豐富了語義信息,從而提高檢測精度[3]。
在地磚缺陷數據集中,缺陷具有大小不一、形狀不同等特點,而Faster R-CNN中卷積網絡模塊采用固定3×3卷積核,所有激活層的感受野具有一致性,但是由于不同位置可能對應著不同尺度的物體,因此很有必要對尺度或者感受野進行自適應調整,進而更精確地定位。地磚缺陷這類非剛性目標,在圖片中形狀、大小不同,固定的幾何結構已經無法提取更準確的特征。為此,本文引入可變形卷積模塊,將標準卷積核替換成可變形卷積核[10]。
可變形卷積示意圖如圖1所示,圖1(a)是標準的3×3卷積操作,圖1(b)是加入偏置量之后的采樣點的變化,圖1(c)是特殊的各種尺度變換,當出現圖1(d)所示情況時,則卷積具有各向異性、旋轉變換等特點。
圖1 可變形卷積采樣點變化
在可變形卷積網絡中,卷積和池化操作是二維,在同一個通道上進行,卷積操作在輸入的特征圖X上使用規(guī)則網格R采樣,然后進行加權運算,R定義了感受的大小和擴張。對于在輸出的特征圖上的每個點的位置P0,通過下式計算:
其中,Δpn為偏置量,是一個分數;W 是采樣點權重;pn是標準采樣位置。現在,采樣位置變成了不固定位置,由于Δpn通常是小數,而非整數坐標是無法在圖像這種離散整數數據上使用,因此通過雙線性插值法進行實現,該方法通過尋找距離這個對應坐標最近的4個像素點來計算該點值??勺冃尉矸e網絡結構如圖2所示,在輸入特征圖中,原始卷積網絡通過滑動窗口直接輸出特征圖,加入可變形卷積后,原來的卷積網絡分為兩路,上面一路引入一個額外卷積層學習偏移量,輸出一個H×W×2N的偏移量,2N有x、y兩個方向的偏移,得到的滑動窗口不是3×3,而是經過平移后的窗口,特征圖和偏移作為可變形卷積輸入[11]。加入可變形卷積可以使感受野自適應目標的尺度變化,打破了原始卷積網絡采用固定感受野的限制,對特征信息的融合更加靈活,以少量復雜模型的代價提高了整體網絡對形變的學習能力。
圖2 可變形卷積的實現過程
經典的檢測方法生成檢測框非常耗時,例如R-CNN和Fast R-CNN使用選擇性搜索方法生成檢測框,而Faster R-CNN摒棄了原始滑動窗口和選擇性搜索,直接使用區(qū)域候選網絡生成檢測框,極大提升了檢測框的生成速度。
區(qū)域生成網絡結構圖如圖3所示。在得到特征圖后,經過一次 3×3卷積,得到新的 n-d特征圖,這樣做可以將特征信息集中,然后通過分類層和回歸層獲取目標的分類和位置。其中,按照不同的長寬比、不同面積的錨框在滑動窗口處得到k個候選區(qū)域,每個候選區(qū)域和分類準確性得到前景概率和背景概率對應圖片上的概率得分。由于每個候選區(qū)域和分類準確性的差異性,從候選區(qū)域通過平移縮放得到分類準確性需要4個平移縮放參數。候選區(qū)域作為區(qū)域生成網絡的輸出由兩個任務判定:(1)通過Softmax判定候選區(qū)域屬于前景類還是背景類;(2)通過邊界回歸預測候選框的偏移量,來降低定位的誤差。
圖3 區(qū)域生成網絡
區(qū)域生成網絡訓練時要把區(qū)域生成網絡分類和回歸的損失都加進來一起訓練。損失公式如下:
其中,Ncls是一個 batch 的大小 256是前景和背景的對數損失,pi是錨框預測為目標的概率是前景的標簽,Nreg是錨框的總數,λ是兩種損失的平衡比列,ti是候選區(qū)域的標簽是訓練時每一個錨框與分類準確值間的偏差。
感興趣區(qū)域池化層負責收集候選區(qū)域,并得出候選區(qū)域特征圖,送入到后續(xù)全連接層網絡。該層有兩個輸入,一個是原始特征圖,另一個是區(qū)域生成網絡輸出大小不同的候選框。區(qū)域生成網絡生成候選區(qū)域是通過對錨框進行邊框回歸操作得到,所以候選區(qū)域大小形狀各不相同,而傳統(tǒng)的卷積網絡訓練好后輸入圖像尺寸必須是固定值,所以要進行感興趣區(qū)域池化操作。感興趣區(qū)域池化層通過對輸入的特征圖進行兩次量化得到固定尺寸的輸出。第一次是對輸入特征圖進行取整操作,第二次是將特征圖分為49個相同大小的區(qū)域,對于每一個小區(qū)域,使用最大池化的操作從中選取最大的像素點作為輸出,這樣,就達到輸出固定尺寸特征圖目的了。
圖4 改進的Faster R-CNN網絡
以 ResNet101(Residual Network,ResNet)為骨干網絡,網絡模型如圖4所示。輸入圖片經過一個18層和34層的簡單網絡,即將所有層進行簡單的疊加,然后經過同樣層數的殘差網絡,被調整為512×512的像素。在利用卷積網絡提取特征的同時引入可變形卷積增加后者減小卷積核的大小,使卷積核自適應調整為缺陷特征的大小,靈活調整感受野,獲得不同感受野的信息將其融合。獲得的特征圖經過3×3卷積后輸入進區(qū)域生成網絡得到候選框,獲得缺陷的大致位置,繼續(xù)訓練,獲得更準確的位置。利用前面獲得的精確位置,從特征圖中得出位置回歸和分類的目標。
實驗使用的數據集來自于現場采集,圖像分辨率約5 000像素×3 000像素。樣本采集首先通過矩形框選出缺陷具體位置。采集的樣本數量充足,背景豐富,避免了類別不平衡造成檢測精度的下降。數據集如圖5所示。地磚缺陷分為 4類,包括磨損(abrasion)、崩落(collapse)、開裂(crack)、風化(weathering)。本文按照PASCAL VOC的標注方式建立了一個故宮地磚缺陷的數據集,用LabelImg工具對地磚數據集進行標注,標簽包括 perfect、abrasion、collapse、crack、weathering。 數據集包括 314張圖片,其中訓練集245張,測試集62張。
圖5 故宮缺陷樣本
本文在Ubuntu16.04系統(tǒng)下采用GeForce GTX1080 TIGPU加速,內存為15 GB,算法在Mxnet框架下采用Python2.7編寫實現。
實驗分為3個階段,第一階段采用VGG16(Visual Geometry Group,VGG)分類模型和 Faster R-CNN網絡訓練數據,參數設定為:學習率為0.001,初始動量為 0.9,權重衰減為0.000 1,共迭代50 000次。VGG16包括13個卷積層、3個全連接層和5個池化層。VGG16使用了3個 3×3卷積核來代替 7×7卷積核,使用了 2個 3×3卷積核代替5×5卷積核,在保證具有相同感受野的條件下,增加了網絡的深度,提升了網絡的效果。
第二階段采用ResNet101分類模型和Faster R-CNN網絡訓練數據,參數設定同第一階段一樣。首先構建了一個18層和一個34層的簡單網絡,然后構建了一個18層和一個34層殘差網絡,這兩個網絡的參數量、計算量相同,并且與之前VGG-16相比,計算量要小很多。
第三階段采用ResNet101網絡和改進的Faster R-CNN網絡訓練。參數設定為:學利率設置為0.0005,初始動量為0.9,初始權重為 0.000 5,共迭代 200輪。
為評估算法在磚塊缺陷檢測重的有效性,采用平均準確率均值(mean Average Precsion,mAP)來作為衡量模型性能指標。mAP是指所有類別目標的平均準確率(Average Precision,AP)的均值,它可以作為目標檢測實際度量標準。
本文對比了不同網絡模型對地磚缺陷檢測的精度,如表1所示。
實驗結果表明,本文改進的網絡在測試集上取得了最高精度,在測試集上的平均準確率均值為92.49%,相比原始Faster R-CNN網絡提高了2.99%??梢钥闯鰧μ卣鞯奶崛∈翘岣叩卮u缺陷檢測準確率的重要性。從表1可以得出,除了崩落這類缺陷檢測精度略低于ResNet101分類模型的Faster R-CNN網絡,其他缺陷檢測結果均表現了優(yōu)良的結果。尤其是在檢測完好地磚的結果中,表現尤為突出。
本文網絡訓練過程中的損失(Loss)和檢測精度(Accuracy)隨迭代輪數(Epoch)變化曲線圖如圖6所示。
從圖6中發(fā)現,當訓練達到150輪之后,損失曲線和檢測精度曲線趨于平穩(wěn)。訓練完成后,對測試集進行測試,檢測的部分結果如圖7所示。
本文針對地磚缺陷目標尺度多變的復雜情況,搭建了基于改進的Faster R-CNN對故宮地磚缺陷檢測網絡。加入可變形卷積網絡,對卷積核和池化核做增加偏移量操作,脫離原始正方形的卷積核,可以把卷積核更多聚集在缺陷的輪廓上,提升對不規(guī)則目標的表現結果。實驗表明,相比于VGG-16和ResNet101分類模型與Faster R-CNN結合的網絡,本文網絡顯著提高了地磚缺陷像素的分類精度,為地磚缺陷檢測領域提供了新的參考。
表1 不同網絡結構的檢測性能
圖6 本文訓練的損失和檢測精度曲線
圖7 故宮地磚缺陷檢測結果