鄧 慧,崔亞飛
(永州職業(yè)技術(shù)學院 智能制造與建筑工程學院,湖南 永州 425100)
近年來,基于機器視覺[1]、人工智能[2]等技術(shù)的蓬勃發(fā)展,目標檢測技術(shù)廣泛應用到各個領域。機器視覺檢測技術(shù)通過相機采集圖像,再通過圖像處理算法對采集圖像進行預處理,之后通過輪廓提取與模板匹配達到目標識別和定位缺陷的目的[3-5]。但是機器視覺技術(shù)輸入圖像尺寸較大時,它們需要更多的運行時間,對現(xiàn)場環(huán)境和工件形狀、背景顏色有較高要求,泛化能力較差。鋁型材表面缺陷無論是種類、面積還是形狀都很復雜,傳統(tǒng)機器視覺圖像處理技術(shù)難以滿足檢測要求。
2012年,Krizhevsky[6]等人提出一種叫AlexNet的深度卷積神經(jīng)網(wǎng)絡,大獲成功。隨后深度學習快速發(fā)展,特別是涌現(xiàn)出眾多基于深度學習的優(yōu)秀目標檢測識別技術(shù)[7],如R-CNN[8]、Fast R-CNN[9]、Faster R-CNN[10]、Cascade R-CNN[11]相繼提出?;谏疃葘W習的目標檢測技術(shù)直接從數(shù)據(jù)中學習物體特征,較少受到環(huán)境因素的影響,因此,在泛型目標檢測領域取得了顯著突破。
隨著《德國工業(yè)4.0》《中國制造2025》[12-13]等戰(zhàn)略的出臺,在人力成本急劇上漲的背景下,傳統(tǒng)企業(yè)急需轉(zhuǎn)型升級,傳統(tǒng)制造業(yè)正逐步進入智能制造時代。本文結(jié)合前沿的目標檢測技術(shù),針對鋁型材缺陷目標檢測的行業(yè)痛點,在Faster R-CNN網(wǎng)絡的基礎上,設計了一種改進的級聯(lián)Faster R-CNN算法。
目標檢測是一個復雜的問題,需要解決兩個主要任務。一個是識別任務,識別檢測目標與背景的區(qū)別,并且能給識別的檢測目標所屬類別;另一個是定位任務,必須給不同的識別檢測目標分配精確的邊界框。目標檢測現(xiàn)狀以2012年Krizhevsky等人提出的AlexNet為界限,之前的傳統(tǒng)目標檢測方法以圖像處理和視覺為主,之后的目標檢測以深度學習為主。
2012年之前,目標檢測主要有Haar、SFIT、HOG、SURF、SPM、LBP、SVM等[13-14]圖像處理和計算機視覺的檢測算法,算法流程如圖1所示。
圖1 檢測算法流程
傳統(tǒng)目標檢測算法采用不同的滑動窗口在圖像的不同位置選取候選區(qū)域,然后進行特征提取,提取的特征主要圍繞底層特征和中層次特征來展開,像顏色,紋理等,最后把這些特征送到分類器進行分類和識別。
針對鋁型材表面缺陷的特點,本文在Faster R-CNN網(wǎng)絡基礎作了3個方面的改進,如圖2所示。首先,主干網(wǎng)絡選擇ResNeXt152,ResNeXt網(wǎng)絡是ResNet的升級版,升級內(nèi)容為引入Inception的多支路的思想;與 ResNet 相比,相同的參數(shù)個數(shù),結(jié)果更好。其次,針對鋁型材缺陷框存在尺度變化大的問題,在模型中引入了FPN(特征金字塔網(wǎng)絡),即使缺陷很小,也能充分地學習到特征,提高了網(wǎng)絡的檢測精度。最后,在two-stage的基礎上還用到了一種Cascade R-CNN級聯(lián)檢測器方法,該方法可以有效地提高鋁型材的檢測準確率。
圖2 改進Faster R-CNN后基本網(wǎng)絡結(jié)構(gòu)
第一個改進點是用到Multi-stage多階段模型訓練方法。第一階段,本文用有缺陷的樣本數(shù)據(jù)集來訓練識別模型,可以識別10類有缺陷樣本;第二階段,通過訓練的模型測試無缺陷的樣本數(shù)據(jù)集,經(jīng)實驗發(fā)現(xiàn),無缺陷數(shù)據(jù)集也會產(chǎn)生有缺陷的結(jié)果,生成假陽性數(shù)據(jù)集;第三階段,通過假陽性數(shù)據(jù)集和有缺陷數(shù)據(jù)集一起再次訓練識別模型,可以識別11類,其中10類缺陷樣本和1類無缺陷樣本。
改進Multi-stage多階段模型的原因是第一階段模型學習到的特征是比較淺的,它的訓練并不充分,所以需要把這個模型訓練結(jié)果拿來檢測無缺陷樣本數(shù)據(jù)集,對無瑕疵樣本進行檢測,發(fā)現(xiàn)出現(xiàn)了大量的誤檢,大概生成了4000多的誤檢,因此本文認為這部分誤檢的結(jié)果是一個很好的對抗樣本,可以把這個假陽性樣本加入到模型的訓練集,直接讓模型去學習沒有缺陷的圖像特征和已知的10類缺陷之間產(chǎn)生的一個關(guān)系,讓這個模型學到更好的特征。經(jīng)過實驗測試可以得出,只用有缺陷的樣本來訓練的話,均值平均精度mAP只有77.8%,如果用Multi-stage多階段的mAP是80.8%,故本文增加了Multi-stage多階段的訓練方法。
第二個改進點是用到了Cascade Faster R-CNN的結(jié)構(gòu)。本文所用鋁型材的缺陷沒有一個明顯的區(qū)域,傳統(tǒng)的Faster R-CNN兩級的檢測結(jié)構(gòu),就是說先通過一階檢測器RPN網(wǎng)絡生產(chǎn)預測框,然后再通過二階檢測器對邊界框進行回歸和分類。該模型難以預測一個比較準確的邊界框的位置,包括人也很難給出比較準確的邊界框的位置,所以增加了識別的難度,其實想要的效果模型能給出精確的邊界框的位置。
基于這個問題,本文從網(wǎng)絡結(jié)構(gòu)出發(fā),研究邊界框回歸如何能回歸出比較好的位置。在模型訓練的時候,它的重疊度IOU的閾值是比較重要的。通常情況下,IOU的閾值會選擇u=0.5左右,如果IOU的閾值選擇小的話會有非常多的噪聲;如果選擇大的話檢測性能又會下降。但是使用u=0.5回歸的邊界框質(zhì)量差,不適合精確定位。如果想要精確的邊界框,則需要用IOU的高閾值來訓練檢測器。本文在傳統(tǒng)的基礎上增加了H2、H3的檢測器,如圖3所示。H1的檢測器閾值還是u=0.5,H2的檢測器閾值u=0.6,H3的檢測器閾值u=0.7。H2的輸入是H1的邊界框回歸輸出,H2的IOU會在0.5的基礎上有所提高。同理,H3的輸入是H2的邊界框輸出,通過這種形式,不僅讓我們的檢測結(jié)構(gòu)有了H1常規(guī)的邊界框輸出,還有更好閾值的檢測器的輸出,得出最終的結(jié)果。
圖3 改進Faster R-CNN網(wǎng)絡
鋁型材是佛山南海的支柱性產(chǎn)業(yè),在鋁型材的實際生產(chǎn)過程中,由于各方面因素的影響,鋁型材表面會產(chǎn)生裂紋、起皮、劃傷等瑕疵,這些瑕疵會嚴重影響鋁型材的質(zhì)量。該瑕疵數(shù)據(jù)集是來自某企業(yè)某一生產(chǎn)線在某一段時間段實際生產(chǎn)中有瑕疵的鋁型材監(jiān)測影像數(shù)據(jù),每個影像中包含一個或多個瑕疵。
本數(shù)據(jù)集共有圖像4536張的訓練數(shù)據(jù),包括無缺陷圖片1351張,單瑕疵圖片2776張,多瑕疵圖片229張,該數(shù)據(jù)集樣本量比較少,同時不同類缺陷之間存在比較大的樣本不均衡。每種瑕疵類別所擁有的樣本數(shù)量極其不均勻,有些類別的樣本數(shù)量特別少,例如:噴流類,漆泡類,而漏底類瑕疵樣本遠高于其他類型的瑕疵樣本數(shù)量。
本文實驗所用的計算機配置為:CPU為I5-9400F,內(nèi)存為16G,顯卡為RTX 2060 6G,圖像處理使用的是OpenCV,深度學習算法框架選用的是TensorFlow2.0。
本文訓練使用的ResNeXt101為101層,ResNeXt105為105層;FPN輸入的通道數(shù)為[256,512,1024,2048];級聯(lián)檢測器H1的IOU閾值為0.5,H2的IOU閾值為0.6,H3的IOU閾值為0.7;每種模型迭代總次數(shù)為300000次,共進行了20次訓練,訓練結(jié)果如表1所示。
結(jié)果展示了本文所用的幾種模型在鋁型材數(shù)據(jù)集上的測試結(jié)果。從表1數(shù)據(jù)可以看出,F(xiàn)aster R-CNN模型準確率只有62.7%,其他三種網(wǎng)絡模型都使用了ResNeXt101和ResNeXt105網(wǎng)絡,但是ResNeXt105網(wǎng)絡比ResNeXt101網(wǎng)絡模型的準確率高。ResNeXt105網(wǎng)絡優(yōu)于ResNeXt101網(wǎng)絡,主要是因為ResNeXt105比ResNeXt101擁有更多的參數(shù),精度更高,所以結(jié)果會更好。同時,本文改進后的FPN+Cascade R-CNN+Multi-stage網(wǎng)絡模型檢測精度為81.40%,相比于Faster R-CNN、FPN和FPN+Cascade R-CNN網(wǎng)絡模型有所提高,說明改進的FPN+Cascade R-CNN+Multi-stage網(wǎng)絡模型具有良好的有效性和魯棒性,綜合表現(xiàn)優(yōu)于其他網(wǎng)絡。
表1 三種網(wǎng)絡模型數(shù)據(jù)對比
本文在傳統(tǒng)的目標檢測框架Faster R-CNN的基礎上,提出一種改進的Cascade Faster R-CNN來實現(xiàn)對鋁型材目標檢測的識別與定位。經(jīng)過實驗驗證,該算法主要有以下優(yōu)點:迭代訓練充分利用無缺陷樣本,增強模型的泛化能力;相比于ResNeXt101和ResNet,ResNeXt105具有強大的特征提取能力;基于FPN的多尺度特征網(wǎng)絡進一步提升準確率;級聯(lián)Cascade Faster R-CNN網(wǎng)絡逐階訓練,可以更好地抑制假陽性,減少過擬合問題。本文提出的改進的Cascade Faster R-CNN相較于傳統(tǒng)網(wǎng)絡模型具有較高的正確率,為類似小目標缺陷檢測領域提供了技術(shù)參考。