?

基于改進Faster R-CNN的鋁型材表面缺陷檢測研究

2023-12-18 10:42吳吉靈金玉珍
計算機時代 2023年11期

吳吉靈 金玉珍

關鍵詞:表面缺陷檢測;Faster R-CNN;特征金字塔;可變形卷積;感興趣區域池化

中圖分類號:TG146.21;TP391.4 文獻標識碼:A 文章編號:1006-8228(2023)011-52-05

0 引言

鋁型材憑借其高強度、輕量化的優秀特性,成為航空航天裝備等核心領域中不可或缺的材料之一[1]。然而,受制于環境因素的制約,鋁型材在生產過程中不可避免的會出現一些缺陷,輕則影響工業產品的外觀質量,重則帶來潛在的安全隱患[2]。因此,解決鋁型材表面缺陷的檢測問題,對于保障工業安全生產和提高產品質量都具有重要意義。

基于傳統圖像處理的機器視覺方法[3]往往存在較大的局限性,它需要根據不同的目標去手工設計特征和分類算法,對于通用的場景適應能力較差,且一旦脫離簡單的場景使用,就很難達到令人滿意的檢測性能。

近年來,深度學習方法已經逐漸取代傳統機器視覺方法,被廣泛應用于鋁型材表面缺陷檢測研究[4]。Li 等[5]采用自適應閾值法提取鋁型材表面缺陷的圖像特征,并基于反向傳播神經網絡對缺陷完成了分類;Sun 等[6]改進了YOLOv3 算法,為鋁型材表面缺陷提供了一種端到端的解決方案,并提升了檢測精度;Duan和Zhang[7]提出了一種基于梯度圖像的雙流卷積神經網絡,對鋁型材表面缺陷進行了有效的分類和識別;Neuhauser 等[8]利用深度卷積神經網絡從視頻中提取特征,用于鋁型材表面缺陷的實時分類和檢測。劉孝保等[9]提出了一種主從特征融合驅動的鋁型材表面缺陷檢測模型,有效提高了檢測精度;曹陽等[10]在網絡結構上引入了擠壓激活模塊,使模型更好地聚焦于鋁型材缺陷的維度特征,提升了網絡的檢測精度;Wei 等[11]提出了一種基于深度學習的多尺度缺陷檢測網絡,優化了對鋁型材中尺度差異過大缺陷的檢測效果。

上述相關研究雖然提升了檢測的精度,但是面對鋁型材表面缺陷復雜多變和微小缺陷難以檢測的問題,仍有一定的提升空間。本文提出了一種改進的Faster R-CNN 算法[12],用于鋁型材表面缺陷檢測。算法使用ResNet-101[13]代替VGG-16 作為特征提取網絡,避免梯度消失和梯度爆炸的發生;加入特征金字塔結構(Feature Pyramid Network,FPN)[14]以融合多尺度的特征,提升微小缺陷的檢測效果;使用可變形卷積(Deformable Convolution Network,DCN)[15]模塊改善標準卷積模塊對不規則缺陷形狀的適應能力;運用精確感興趣區域池化(Precise ROI Pooling)[16]解決量化取整帶來的信息丟失問題,增強小目標缺陷的定位能力;并使用K 均值聚類(K-means Clustering)算法對初始錨框的尺寸和大小進行調整。最后通過實驗結果證明了改進算法的有效性。

1 Faster R-CNN概述

Faster R-CNN,作為雙階段目標檢測算法中的典型代表,已被廣泛應用于學術界和工業界。它是在R-CNN[17]和Fast R-CNN[18]的基礎上發展而來,通過引入區域候選網絡(Region Proposal Network,RPN)代替選擇性搜索(Selective Search)算法來生成區域候選框,從而顯著提高了檢測速度和準確度。

Faster R-CNN 的具體結構如圖1 所示,主要包含特征提取網絡、區域候選網絡、感興趣區域池化(ROI Pooling)和分類回歸層四部分。①特征提取網絡VGG-16 對原始圖像的特征進行提??;②區域候選網絡通過滑動窗口的方式在特征圖上提取一系列錨點,然后針對每個錨點分別預測其是否為目標區域,并對預測結果進行修正,最終得到精確的候選目標區域;③感興趣區域池化將任意大小的候選區域轉化為固定大小的特征圖,用于后續過程;④分類回歸層進一步細化區分類別和獲取更精確的預測框。

2 改進的Faster R-CNN 算法

針對鋁型材表面缺陷的檢測難點,本文從五個方面對Faster R-CNN 算法進行了改進,改進后結構如圖2 所示。選取ResNet-101 作為主干網絡以增強缺陷特征的提取能力;使用特征金字塔結構獲取多尺度的特征信息,增強微小缺陷的檢測能力;使用可變形卷積以適應多變的缺陷形狀;運用Precise ROIPooling 消除量化取整引起的信息丟失,增強微小缺陷的定位能力;最后對初始錨框進行優化,以適應檢測任務,提升準確率。

2.1 特征提取網絡的改進

最初的Faster R-CNN 以VGG-16 作為特征提取部分,它包含了三個全連接層,為整個網絡帶來了過多的參數量和計算復雜度,并且容易出現梯度消失和梯度爆炸的情況。本文使用ResNet-101 代替VGG-16 提取鋁型材表面缺陷的特征,通過殘差單元解決了上述問題,有利于獲取更高質量的特征信息。

ResNet 的網絡結構如圖3 所示??蛑兴x為ResNet-101,其中包括了殘差塊、全局平均池化層和全連接層。

2.2 多尺度特征融合的改進

對鋁型材表面缺陷分析可知,其中各類缺陷尺度差異巨大,如圖4所示,且微小缺陷數量多。改進了特征提取網絡的Faster R-CNN 在只利用單尺度特征圖的情況下,難以保持較好的魯棒性,且最后一層特征圖在下采樣32 倍后,已經很難檢測到微小缺陷的信息。

本文在此基礎上引入特征金字塔結構,將淺層幾何信息和深層語義信息相結合,加強了缺陷特征的表達能力,同時也增加了小目標特征的映射分辨率,有效地改善了算法對多尺度缺陷的檢測能力和微小缺陷的識別能力。

2.3 可變形卷積的改進

鋁型材表面上存在許多細長的條狀缺陷,例如角位漏底,而傳統的正方形卷積核結構難以對其形成有效的特征提取。為加強模型對這類缺陷的檢測能力,本文使用可變形卷積網絡中的可變形卷積來對原網絡中的卷積部分進行改進。

圖5 為標準卷積和可變形卷積的對比示意圖,其中圖5(a)為標準卷積,圖5(b)、圖5(c)、圖5(d)均為可變形卷積??勺冃尉矸e在每個點都加入了一個可學習的偏移量,使感受野不在局限于標準的方形結構,而是根據目標自適應的調整形狀,從而獲取更加充分的缺陷特征。

2.4 ROI Pooling 結構的改進

Faster R-CNN 算法使用ROI Pooling 結構將感興趣區域池化成所需的固定尺度大小,如圖6(a)所示。整個過程中包含兩次量化取整操作,帶來了數據上的丟失,同時候選框的位置相較于初始位置也發生了相對應的變化,影響了微小缺陷的定位精度。

Precise ROI Pooling在感興趣區域對齊(ROI Align)的基礎上更進一步,如圖6(b)所示,使用二重積分的方式對特征圖進行整體池化,取消了量化取整的同時沒有引起額外的參數加入,最大程度地使數據信息得到保存。并且本文在原網絡的基礎上,增加了一條支線的ROI Pooling 去獲取額外的上下文信息,更好地優化候選框。

2.5 錨框尺寸的改進

由于鋁型材表面缺陷的形狀、尺度差異巨大,區域候選網絡中的初始錨框難以對其進行擬合,使模型的檢測精度出現了下降。因此,本文使用K-means 聚類算法對數據集進行分析,從而獲取更優的錨框尺寸和寬高比,以優化檢測效果。

圖7 為K-means 聚類算法的具體流程,文中K 值取4,優化后錨框大小為{322,642,1282,2562,5122},錨框寬高比為{0.005,0.2,0.5,1,2,5,20}。

3 實驗與結果分析

實驗環境如下:Linux系統,其版本為Ubuntu18.04.6;CPU 型號為Intel Core Processor,其核心數為12 核;GPU 型號為NVIDIA Tesla V100,其顯存為32GB,CUDA 版本為11.3;算法實現框架為PyTorch,Python版本為3.7,并且進一步安裝了支持算法代碼運行的相關第三方庫。

實驗參數如下:使用隨機梯度下降算法(SGD)進行權重更新,其中動量為0.9,權重衰減為0.0001,初始學習率為0.005,訓練周期為26。學習率分別在第16個epoch 和第22 個epoch 衰減為原先的1/10。

3.1 實驗數據集

本文實驗采用阿里云天池平臺所提供的鋁型材表面缺陷數據集,數據集中共包含4356 張圖片,其中單缺陷圖片為2776 張、多缺陷圖片為229 張、無缺陷圖片為1351 張,分辨率均為2560×1920 像素。缺陷的類型有10 種,如圖8 所示,分別為不導電、擦花、角位漏底、桔皮、漏底、噴流、漆泡、起坑、雜色和臟點。

按照8:1:1 的比例將數據集進行劃分,并對訓練集和驗證集進行數據增強,包括圖像翻轉、圖像旋轉和圖像亮度調節,從而提升模型泛化性,增強后的訓練集數量為15505 張。

3.3 檢測算法對比實驗

為了證明本文所提出的方法在鋁型材表面缺陷檢測任務上的優越性,本節將通過實驗與一些主流及其改進算法進行對比,結果如表1 所示。

表1 顯示,單階段目標檢測算法的檢測速度較快,而雙階段目標檢測算法在檢測精度上更有優勢。本文方法在mAP 指標上明顯高于其他算法,更能滿足實際工業生產過程中的需求,盡管在檢測速度上略有遜色,但仍然可以對缺陷較快完成檢出。

3.4 改進策略消融實驗

為了探究所提出的每項改進策略對鋁型材表面缺陷檢測的影響,本文對其進行了消融實驗,以分析各策略對檢測精度的實際貢獻大小,實驗結果如表2所示,√代表加入此改進策略,-代表未加入此改進策略。其中,ResNet-101 主干網絡極大地提升了整個算法的特征提取能力,對mAP 的提升可達15.08%;特征金字塔更好地完成了淺層幾何信息和深層語義信息的融合,對精度提升了3.75%;可變形卷積使模型更適應多變的缺陷形態,對精度提升了1.73%;并且ROIPooling 和錨框尺寸的改進也分別使檢測精度提升了1.87% 和1.35%。由消融實驗的結果可知,本文的改進策略切實有效地優化了原算法,使缺陷檢測結果更加準確。

Faster R-CNN 算法在整體改進前后,對鋁型材表面各類缺陷的檢測性能對比如圖9 所示。圖2 顯示,相較于原算法,改進后的算法在擦花、噴流、漆泡和臟點上的性能提升巨大,解決了微小缺陷檢測效果差的問題。

3.5 檢測效果可視化

改進的Faster R-CNN 算法對鋁型材表面缺陷的檢測效果如圖10 所示,從中可以看出,該算法對各類缺陷都能較好地檢出,尤其對小目標缺陷識別效果有明顯提升,滿足了實際缺陷檢測的需求。

4 結束語

本文針對鋁型材表面缺陷的檢測難點,以FasterR-CNN 作為基線進行了改進。首先選取ResNet-101作為主干網絡以增強缺陷特征的提取能力,接著引入特征金字塔結構去融合多尺度特征,提升微小目標的檢測性能,使用可變形卷積以優化狹長缺陷的識別效果,其次對ROI Pooling 結構進行改進以消除量化取整引起的信息丟失問題,提升缺陷的定位精度,最后使用K-means 聚類算法對錨框尺寸進行優化。實驗結果表明,改進的Faster R-CNN 算法在檢測精度上相較于原算法得到了顯著提升,并較大程度優化了微小缺陷的檢測效果,在mAP 和FPS 指標上分別達到了86.73%和7幀每秒,能夠滿足工業上鋁型材表面缺陷的檢測要求。而如何使檢測模型輕量化,在不降低檢測精度的同時提升檢測速度,將是后續的優化方向。

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合