晏 琳 景軍鋒 李鵬飛
(西安工程大學,陜西西安,710048)
坯布疵點的產生有多種原因,如織機性能不良、人為操作不當或布匹在運輸中被意外污染等[1]。目前,坯布疵點的檢測仍基本依靠人工完成,但人工檢測方法存在效率低、誤檢率高、漏檢率高等缺點。傳統的織物檢測算法僅針對特定的疵點檢測效果較好,但檢測疵點的種類有限,無法滿足織物疵點種類較多的情況[2]。
2012年,深度卷積神經網絡首次出現,由Hinton提出的AlexNet[3]取得當年ImageNet[4]圖像分類競賽冠軍。隨后,深度神經網絡得到長足發展,提出如GooleNet[5]、VGG[6]、深度殘差網絡(ResNet)[7-8]等經典神經網絡。其中VGG采用3×3的濾波器,增加了網絡結構的深度,促進了卷積神經網絡結構研究進程;ResNet利用殘差學習,解決了傳統神經網絡結構梯度消失的問題,真正意義上實現了深度神經網絡的訓練。隨著深度學習算法的不斷發展,近年來在目標檢測領域,提出了基于區域建議的目標檢測與識別算法。2014年發表的RCNN算法[9],首次采用目標候選區域和深度學習相結合的方法,將檢測任務轉化為分類任務。此后,陸續提出了優化后的Fast RCNN算法和Faster RCNN算法[10],在該領域進行了廣泛的應用。本文對Faster RCNN算法在坯布疵點檢測中的應用進行了研究。
基于區域選擇的目標檢測算法是現階段較成熟的目標檢測與識別框架,它將檢測過程簡化為分類任務,并利用深度學習方法提升檢測精度,其中具有代表性的算法為RCNN、Fast RCNN以及Faster RCNN。RCNN利用Selective Search提取目標候選區域,在候選區域中通過CNN網絡提取特征,并訓練SVM分類器,對特征分類[11]。其改進模型Fast RCNN提出了ROI池化(Region of Interest Pooling)層并采用Softmax預測區域類別,提高了模型的檢測精度及效率。為了進一步提高檢測速率,在Fast RCNN基礎上提出了Faster RCNN算法。
Faster RCNN算法包含兩個卷積神經網絡,其結構如圖1所示。Faster RCNN由區域生成網絡(Region Proposal Networks,RPN)和Fast RCNN兩部分構成,RPN用于生成目標可能存在的候選區域;Fast RCNN實現對候選區域的分類,并且進行邊界回歸。這兩部分共享一個提取特征的卷積神經網絡,使得目標候選區域的檢測時間幾乎為零,大幅提高了目標檢測的速度。

圖1 Faster RCNN結構示意圖
RPN是一個全卷積神經網絡(Fully Convolutional Network, FCN)[12],其以原始圖像所提取的任意大小特征圖作為輸入,輸出目標候選框的集合。RPN采用一個n×n的滑動窗口在共享卷積網絡的輸出特征圖上進行滑窗選擇,針對每個窗口,同時預測k個目標候選區,即有k個相對應的被稱為錨(Anchor)的初始區域。對于一張大小為w×h的卷積特征圖,則可得到w×h×k個錨。每個窗口被映射為一個低維向量,該特征向量輸出給邊框分類網絡和邊框回歸網絡[13]。使用分類網絡得到錨屬于前景或背景的概率,并使用邊框回歸網絡修正錨的邊界框。RPN的訓練過程采用端到端(End-to-end)的方式,其損失函數通過平衡因子將分類損失和回歸損失聯合,利用該損失函數訓練好的RPN能夠得到目標候選區域,這些候選區域再在Fast RCNN部分進一步檢測。
Fast RCNN檢測網絡。目標候選區域的特征經過Fast RCNN中的ROI池化層后,輸出固定長度的特征向量。這些特征向量通過全連接層分別輸入Softmax分類器和邊框回歸網絡中以預測區域類別并修正邊框。為了精調整個網絡,Faster RCNN采用文獻[11]中提出的交替訓練法訓練網絡。RPN與Fast RCNN共享相同的特征提取層,構成統一的網絡。
試驗使用的坯布疵點數據來自于現場采集,整個數據集共包含2 000張圖片。圖片尺寸均為256 pixel×256 pixel,選擇其中的1 320張圖片作為訓練集及驗證集,剩余的680張圖片作為測試集。在人工標注疵點的邊框后,將數據集轉化為VOC2007的格式進行訓練。
試驗硬件平臺操作系統Ubuntu 16.04 LTS 64位,CPU Intel(R) Core(TM) i5-8400 2.80GHz,GPU NVIDIA GeForce GTX 1080 Ti,內存16 G,硬盤1 TB,整個試驗均基于深度學習框架TensorFlow進行,編程語言為Python,通過多次試驗優選得到結果。
為評估Faster RCNN在坯布疵點檢測中的有效性,采用平均準確率均值(mean Average Precison,mAP)來作為衡量模型性能的指標。mAP是指所有類別目標的平均準確率(Average Precision,AP)的均值,它可以作為目標檢測的實際度量標準。
由于ImageNet數據集的訓練圖像種類眾多,用其訓練的模型具有較好的特征表達能力及泛化能力,所以在試驗中,將ImageNet分類預訓練后得到的VGG16、ResNet101模型分別用于進行Faster RCNN共享卷積層的初始化以得到初始參數及權重。將坯布疵點數據集放入整個模型中進行訓練。在不同的特征提取網絡下,隨著迭代次數的變化,其mAP值見表1。
表1不同特征提取網絡下的檢測效果

迭代次數/次mAP/%Faster RCNN+VGG16Faster RCNN+ResNet10110 00030 00050 00070 00091.7294.9197.1597.2693.9996.9999.4999.44
由表1得出,ResNet101在測試集中,相較于原始的VGG16網絡,mAP值提高了2.3%左右,從而證明ResNet101在坯布疵點檢測中的性能優于VGG16。這是由于ResNet101引入了殘差學習模塊,殘差學習將神經網絡的輸出由H(x)變為F(x)=H(x)-x,減弱了因為卷積層數過多而造成的梯度消失現象,提高了檢測的準確率。因此在坯布疵點檢測的過程中,選擇采用Faster RCNN與 ResNet101相結合的方法。
試驗過程中的一些參數,例如非極大值抑制(Non-maximum Suppression,nms)前后區域保留個數、批處理尺寸、最大交并比(Intersection over Union,IoU),這些參數對試驗結果均有影響,因此,進行了多次對比試驗以確定最優參數配置。
nms在Faster RCNN+ResNet101模型中的作用是去除具有較大重疊區域的錨。令迭代次數為50 000次,測試不同的nms前后候選區域個數對mAP值的影響,結果見表2。由表2得出,隨著數量的減少,模型保留的錨數也隨之減少,導致檢測結果的mAP值下降。因此,選擇相對較高的nms候選區域個數能夠得到較好的檢測結果。
表2不同nms個數對mAP影響

迭代次數/次nms前候選區域/個nms后候選區域/個mAP/%50 00050 00050 00050 00012 0009 0006 0003 0002 0001 7001 4001 10099.4999.3198.8797.10
在實踐中,批尺寸的個數決定了單次訓練樣本的數目,其數值的選取會對訓練過程中的梯度下降產生影響。試驗分別測試了采用不同批尺寸時,模型的mAP值,結果見表3。通過分析表3得出,在合理的范圍內,批尺寸越大,相應的mAP值會提高,同時每20次迭代所需要的訓練時間也會增加。考慮到小的批尺寸需要小的學習速率以保持穩定性,所以,在此選擇較大的批尺寸來進行模型訓練。
表3不同批尺寸對mAP影響

迭代次數/次區域提議階段批尺寸/個檢測階段批尺寸/個mAP/%訓練時間/ms50 00050 00050 00050 000256128643225664321699.5898.4797.1294.71366227202185
在RPN部分的訓練過程中,得到的錨根據IoU被分為兩類,在初始模型中,當IoU值大于等于0.7時被分為前景;當IoU值小于0.3時被分為背景。IoU取值對loss曲線的影響如圖2所示。由圖2得出,調整IoU的值可以改變loss曲線的收斂效果,其中當IoU值分別取0.9和0.1時效果最好。這是由于白坯布的背景簡單,適當地增加前景的IoU值并降低背景IoU值可以選擇留下較優的錨。

(a)前0.7,后0.3

(b)前0.7,后0.1

(c)前0.9,后0.1
圖2IoU取值對loss曲線的影響
試驗中,采用調優的參數配置后,Faster RCNN+ResNet101模型得到的部分檢測結果如圖3所示。在圖3中,包圍框區域代表坯布疵點存在的位置,包圍框的左上方顯示了該模型對于方框區域目標的分類類別及其類別概率值。圖3(a)中污漬的概率值為1.000,圖3(b)中長斷緯的概率值為0.988,短斷緯的概率值為0.987;圖3(c)中線條的概率值為1.000,圖3(d)中褶皺的概率值為0.993。

(a)污漬

(b)斷緯

(c)線條

(d)褶皺
圖3 Faster RCNN+ResNet101模型的部分檢測結果圖
研究采用Faster RCNN分別與不同特征提取網絡相結合的方法進行坯布疵點檢測,可檢測多種不同類型的坯布疵點。通過試驗驗證,ResNet101相較于VGG16能夠取得更好的檢測效果。試驗表明,Faster RCNN與ResNet101相結合的方法可以應用于檢測坯布的疵點,該方法能夠自動提取疵點特征,經過多次合理的模型參數優化后,檢測準確率高達99.6%。但是,由于ResNet101的層數較深,導致對一張圖像的檢測時間穩定在130 ms左右,其實時性還有待提高。在未來的研究中,會通過優化特征提取層的卷積神經網絡以進一步提升模型的實時性,在保證檢測效果的前提下,更快速地進行檢測。