潘 甜,張司穎,葉楊飛
(江蘇航空職業技術學院,江蘇 鎮江 212134)
隨著目標檢測技術的發展,目標檢測算法也在更新換代。常見的目標檢測算法有SPP-Net、Faster R-CNN和YOLO,吳越等[1]利用基于Faster R-CNN的深度學習方法對鋼材表面進行缺陷識別檢測,通過改進Faster R-CNN中的RPN網絡,優化了參數模型,提高了檢測的準確性。針對子彈表面缺陷檢測效率低下的問題,韓強等[2]將優化后的CNN模型與Faster R-CNN進行結合,使得缺陷檢測的識別率達到了92%以上。深度學習通過多層網絡模型訓練標注好的樣本數據集,能夠準確識別缺陷圖像的類型,在圖像處理領域得到越來越廣泛的應用[3]。
國內外學者利用深度學習及其各種算法對工業生產中的缺陷圖像進行了深入的研究,然而,將深度學習用于飛機蒙皮表面缺陷檢測的研究甚少。為此,本文從深度學習的常見算法出發,以飛機蒙皮表面裂紋、撞擊和腐蝕缺陷為背景,完成飛機蒙皮表面常見缺陷圖像的分類識別。
飛機蒙皮作為機體的重要組成部分,不僅需要維持飛機的外形,還要承受飛行過程中巨大的空氣阻力,由于長期飛行和保養不當都會導致蒙皮表面出現如裂紋、撞擊、腐蝕等缺陷[4],如圖1所示。這些缺陷不僅影響飛機的美觀,更是造成空難事故的重要因素之一。因此,為了確保飛機飛行安全,定期對蒙皮進行缺陷檢測是工作人員的重要任務之一。

圖1 飛機蒙皮表面缺陷圖像
美國聯邦航天局(FAA)規定所有用于商業飛行的飛機每隔6年或經過12 000次起降或達到24 000飛行小時,必須對飛機表面進行結構損傷檢查,從而發現蒙皮表面的裂紋和腐蝕損傷。傳統的飛機蒙皮缺陷檢測主要由人工憑借經驗進行識別,存在很大的主觀性。隨著無損檢測技術的誕生,如超聲波及渦流檢測等檢測手段,不但具有較高的檢測精度,且極大地降低了人力成本,逐步取代了人工檢測,但智能化程度不高。基于機器視覺的無損檢測是一種重要的檢測手段,常見的有無人機檢測裝置和機器人檢測,雖將自動化與智能化結合,提高了檢測精度,但大多數機器視覺檢測設備需要融合多種圖像處理算法才能完成檢測,導致設備的通用性較低[5]。
近年來,深度學習和大數據技術憑借其強大的數據處理能力,解決了傳統機器視覺設備通用性低的問題,能夠對輸入的缺陷圖像進行高精度的分類檢測,為飛機蒙皮的缺陷檢測提供了新的研究方向[6-9]。
本文提出的基于深度學習的蒙皮缺陷檢測方案如圖2所示。首先通過工業CCD像機拍攝蒙皮表面的缺陷圖像,并進行圖像預處理;然后將基于CNN模型的訓練網絡與基于DCGAN的生成對抗網絡進行增強訓練,對樣本庫進行擴充,并利用基于Faster R-CNN模型的深度學習算法進行網絡訓練;最后輸出分類結果。

圖2 基于深度學習的蒙皮缺陷檢測方案
在實際的缺陷檢測中,由于蒙皮表面圖像采集的樣本量較少,這會導致神經網絡訓練不準確,為了彌補數據集不足的缺陷,需要利用DCGAN網絡與目標檢測算法有效融合,從而增強數據集。DCGAN是一種基于GAN的生成對抗網絡,生成器根據隨機變量生成虛擬樣本,判別器能夠判別圖像真偽。DCGAN結構原理如圖3所示。

圖3 DCGAN結構原理
通過事先將隱隨機變量輸入到生成模型中,同時將蒙皮圖像的訓練樣本和生成的虛擬樣本輸入到判別器中,經過反復訓練使判別器無法辨別樣本真偽。事實表明,通過此類方法生成的數據與真實數據相似度極高,從而能夠有效擴充蒙皮樣本的數據集。
在實際應用中,我們將處理好的蒙皮圖像輸入到生成對抗網絡(DCGAN)模型中,設置學習率為0.01、momentum為0.3來加速訓練過程,經過幾百次的迭代,生成三種缺陷的若干樣本圖像集。通過生成對抗網絡DCGAN能夠初步學習到蒙皮表面的缺陷圖像,且與其他圖像處理算法相比具有較高的隨機性,生成的虛擬樣本集對基于深度學習的蒙皮缺陷檢測具有重要價值。
Faster R-CNN網格模型主要由特征提取模塊、RPN模塊、ROI Pooling模塊和R-CNN模塊等部分組成,如圖4所示[10]。Faster R-CNN算法首先通過區域生成網絡初步生成候選網絡,并進行初步分類和定位,進而對候選區域池化處理,最后對池化后的缺陷進行再次分類和位置回歸處理,通過對缺陷的兩次定位和分類,提高了檢測精度。

圖4 Faster R-CNN網絡模型
本文采用ZFNet作為特征提取網絡,ZF網絡通過降低卷積核和步長,保留缺陷圖像的基本特征,能獲得較高的準確率。在ZF網絡模型中包括13個卷積層、13個激活層和4個池化層,其中,卷積層使用的是3×3的卷積核,3×3指的是能夠捕獲像素信息的最小尺寸,較多的激活層可使卷積網絡具有更好的學習能力;包括5個卷積模塊,分別可以輸出64、128、256、512和512個特征圖像。
RPN模塊負責對特征圖進行Anchor處理,通過對每個Anchor的類別及位置進行預測,根據預測結果對缺陷進行二次分類并再次定位。ROI Pooling作為池化層的一種,主要是針對RPN模塊后生成的候選框進行圖像映射,輸入的是尺寸不固定的特征圖,而輸出的是尺寸固定的特征圖,用戶根據輸出維度劃分映射后的區域,選出每個區域的最大值進行池化處理,從而輸出固定大小的特征圖像。R-CNN模塊負責把ROI Pooling模塊得到的部分特征圖像映射到整張特征圖上,通過將特征圖像輸出到R-CNN結構的全連接網絡中,可以再次精確判別缺陷的類型和位置。
在基于Faster R-CNN的蒙皮圖像缺陷檢測中,RPN和R-CNN模塊分別會產生損失,損失率反映了該方法進行缺陷識別的準確程度。其損失函數為:

仿真實驗中,我們利用100張缺陷圖像通過生成對抗網絡生成總共1 000張數據集,缺陷類型包括蒙皮表面裂紋、撞擊和腐蝕。針對以上缺陷,分別對人工檢測、傳統檢測方法和本文檢測方法的效果進行對比,如表1所示。實驗證明本文檢測方法可以更好地定位缺陷位置并進行分類識別。

表1 蒙皮缺陷識別檢測結果對比
本文針對蒙皮表面易產生的裂紋、撞擊和腐蝕缺陷,采用基于深度學習的Faster R-CNN網絡構建了飛機蒙皮缺陷檢測模型。首先通過生成對抗網絡DCGAN擴充缺陷圖像集,彌補了自身樣本數據的不足,接著將生成的圖像輸入到Faster R-CNN網絡中進行模型訓練,從而完成蒙皮缺陷的分類。實驗證明,該檢測方法的檢出率達到96%、識別率達到92%、損失率不到5%,為飛機蒙皮的缺陷檢測提供了一種新的研究方向。