?

基于深度學習的柔性太陽翼琴鉸表面缺陷檢測方法

2023-04-06 07:30陳文成謝海峰施祥玲
空天防御 2023年1期
關鍵詞:柔性分類圖像

王 兵,皮 剛,陳文成,謝海峰,施祥玲

(上海航天設備制造總廠有限公司,上海 200245)

0 引 言

大型柔性太陽電池翼是空間站的關鍵產品之一,其制造質量直接影響柔性翼的在軌可靠性和使用壽命。柔性太陽電池翼琴鉸為關鍵零部件,由于制造流程復雜、轉運環節多,在部件生產、部裝及總裝、地面試驗等研制過程中極易造成琴鉸局部損傷,使產品性能下降,嚴重時會導致基板組件報廢,造成極大的經濟損失。目前采用傳統人工拍照和判別的方式,準確度低、耗時長、效率低下,容易出現錯、漏檢的情況,從而導致數據包記錄不完整,直接影響產品的裝配和試驗質量。為了解放人工、提高檢測效率并降低不穩定性,可將機器視覺技術應用于表面缺陷檢測。

基于機器視覺的表面缺陷檢測方法主要可分為兩大類:傳統視覺方法和基于學習的方法。傳統的視覺方法利用局部異常與整幅圖片反映的原始屬性差異來檢測和分割異常區域。其中,閾值方法利用圖像的基本屬性計算閾值來分離缺陷和背景[1]?;诠庾V的方法將圖像轉換為頻域,然后使用濾波器來查找缺陷[2]?;谔卣鞯姆椒ㄍㄟ^手動分析輸入圖像的特征,然后設計特征提取器對輸入圖像進行分類[3]。

近年來,深度神經網絡因其準確性和穩定性而得到了廣泛研究。許多研究人員提出了基于神經網絡的表面缺陷檢測方法。這些方法主要可以分為三個方面:分類[4-5]、對象檢測[6-7]、分割[8-9]。分類旨在對圖像中的物體進行分類,一般由特征提取和分類器兩部分組成。文獻[4]提出了一種基于卷積神經網絡(CNN)的靈活的深度特征提取框架,并設計了一種投票機制來克服過擬合。文獻[5]提出了一種聯合分類系統,首先確定材料的類別,使用滑動窗口方法對圖像進行切割和缺陷分類。目標檢測旨在定位圖像中的目標并對其進行分類。文獻[6]提出了一種基于Faster RCNN 的損傷檢測方法來檢測腐蝕。文獻[7]將不同類型的CNN 網絡應用于緊固件的檢測,獲得了良好的檢測效果。

雖然基于CNN 的圖像處理是一種常用的表面缺陷檢測方法,但將其應用于琴鉸的缺陷檢測仍存在一些難點,主要包括:① 圖像背景復雜,一般的缺陷檢測將整幅圖片作為待檢測物體,通過圖像分割技術保證整幅圖片都是待檢測目標,但琴鉸周圍的背景較為復雜,且會隨著周圍光環境的變化而變化;② 缺陷面積小,缺陷與整個圖像比例相差懸殊,一般檢測算法難以滿足這種需求;③ 缺陷樣本庫有限,CNN 的實現需要巨大的計算資源。

綜上,為實現太陽翼板琴鉸缺陷的檢測,本文針對琴鉸結構特點和檢測需要,研究給出了基于深度學習的表面缺陷檢測方法。通過研制自動拍照裝置來獲取質量穩定的圖片,并提出一種結合分類和檢測的兩階段檢測算法,以提高對微小缺陷的敏感性,降低無關背景的影響。同時,針對缺乏缺陷樣本的問題,提出一種包括數據增強、遷移學習和網絡優化算法的新框架。

1 柔性太陽翼琴鉸自動拍照裝置設計

1.1 拍照裝置系統設計

按照太陽翼琴鉸質量數據包和表面缺陷檢測系統的檢測需要,將柔性電池板按長度方向劃分成很多段進行局部成像,設計拍照裝置進行拍照,從而反映出琴鉸正面、側面和背面的外觀情況,使琴鉸照片為固定角度和光源,以便于后續檢測算法的統一處理。通過軟件對照片進行處理,將每個琴鉸進行編號并用自動識別算法進行缺陷檢測。

1.2 拍照裝置構成

柔性太陽翼琴鉸自動拍照裝置包含硬件和軟件系統兩部分。

硬件整體結構如圖1所示,包括電控系統、成像組件、定位組件、運動組件等。其中,電控系統控制設備運行和圖像采集;成像組件對產品提供光源,可以圍繞產品進行多角度成像;運動組件實現成像組件在一維方向的運動,完成對產品表面成像的覆蓋;定位組件提供產品的擺放平臺,對產品進行定位后再成像,保證產品成像的一致性。

圖1 拍照裝置總圖結構示意圖Fig.1 The general structure diagram of the camera device

軟件功能結構如圖2所示,包括任務規劃、運動控制、圖像采集、數據管理、數據查看。其中,任務規劃設置圖像采集所需要的運動軌跡、相機參數和產品參數;運動控制控制運動組件移動,對產品形成測試路徑覆蓋;圖像采集控制相機對待測產品采集圖像,獲取數據并處理;數據管理和查看對存儲采集的圖像按產品、時間等進行組織管理,并查看產品的圖像。

圖2 軟件功能構成Fig.2 Software function composition

1.3 柔性太陽翼琴鉸照片拍攝

根據硬件結構,軟件需要做的是控制電機讓相機移動到相應的位置,按下快門拍攝照片并將照片保存到指定位置,具體過程如下:

調節好兩個工業攝像頭與產品的焦距,調整人工光源的亮度,軟件啟動微零位;用戶輸入產品信息,軟件控制電機移動到事先錄入的點位后控制相機進行拍攝、保存數據;進入下一個點位以此循環,直到最后一個點位拍攝完成后相機位置會復位到初始零位等待下一次任務的開始。

圖3 柔性攝像裝置拍攝琴鉸Fig.3 A flexible camera takes pictures of the hinge

2 表面缺陷檢測算法

2.1 兩階段方法

通過分析琴鉸拍攝的圖像可以發現,琴鉸只占據了圖像的一小部分,大部分是不相關的背景。同時,缺陷的尺寸非常小,常見缺陷尺寸僅為12×6 像素。因此,如果直接應用普通分類或對象檢測網絡來檢測缺陷,結果的準確度很低。

本文提出了一種兩階段檢測方法,算法流程框架如圖4 所示。在第一階段,使用目標檢測網絡找到待檢測物體所在的位置。因為待檢測物體相對較大,且數量少、種類單一,所以采用輕量級的YoloV4-tiny[10]網絡進行快速檢索。

圖4 算法流程框架Fig.4 Algorithmic flow framework

由于物體表面可能存在各種缺陷,YoloV4-tiny網絡可能會將部分帶缺陷的物體判定為非識別目標,可以通過適當降低置信度的閾值,來確保待檢測物體被框選。YoloV4-tiny 算法使用CSPdarknet53tiny 作為其骨干網絡。它由CSPBlock 模塊組成,將特征圖分為兩部分,并通過跨階段殘差邊緣將兩部分組合起來。這允許梯度流在兩個不同的網絡路徑中傳播,從而增加梯度信息的相關性差異。

通過第一階段YoloV4-tiny 網絡對目標的定位,將圖像進行分割,在合理的規則下提取出目標區域。因為第一階段得到的邊界框可能存在偏移誤差,圖像的邊緣可能具有更重要的信息?;谏鲜鲈?,算法采取的分割策略是先適當擴大預測邊界框的高度和寬度,然后提取兩側的區域,最后,得到第二階段網絡的輸入。

第二階段使用分類網絡,本文選擇了性能較強且參數較少的EfficientNet[11-13]進行分類任務。這個階段的關鍵任務是快速準確地判斷產品好壞。EfficientNet 是一系列網絡(EfficientNet B0-B7),它們使用復合縮放方法來減少參數數量,具有很高的準確率。所有網絡都基于EfficientNet-B0 的基線網絡進行了擴展。如果要提高網絡的性能,可以增加基線網絡的深度、寬度或分辨率。復合縮放方法使用復合系數來精確控制網絡的擴展,以實現更高的精度和更低的參數數量。復合縮放方法可以描述如下:

式中:φ是復合系數;α、β、γ是每個維度的系數,可以通過小型網格搜索方法得到。φ控制可用于模型縮放的資源,α、β、γ為每個維度分配資源。

2.2 深度學習訓練

本文通過數據增強和遷移學習來解決缺陷圖像數據庫缺乏的問題。數據增強用于增加缺陷樣本的數量并提高網絡的魯棒性。數據增強的過程如圖5所示。最常用的方法是人工生成缺陷圖像、仿射變換、顏色抖動和高斯模糊。人工生成有缺陷的圖像是指模仿有缺陷的部分,將正常圖像轉換為有缺陷的圖像;仿射變換是指向量空間經過線性變換,再進行平移以將其轉換為另一個向量空間。仿射變換可以描述如下:

圖5 數據增強示例Fig.5 Data enhancement examples

式中:(x,y)是原始坐標;(x′,y′)是變換后的坐標;k11、k12、k21、k22是一系列系數;φ是旋轉角度。

顏色抖動是指在HSV空間中隨機改變圖像的飽和度和值;高斯模糊可以模仿相機失焦的情況。從數學的角度來看,高斯模糊過程是圖像與正態分布的卷積,可以描述如下:

式中:Pi(x,y)是原始圖像;Pi(x′,y′)是處理后的圖像。

遷移學習意味著從源域學習知識并將其應用到目標域[14-15],用于提高神經網絡的訓練速度并減少對數據集的要求。對于深度學習網絡,其早期層包含通用特征,最后一層通常攜帶不同數據集之間更高級別的信息。因此,我們可以使用預訓練模型的通用特征,從特定數據集中獲取更高層次的信息。

3 實驗與結果

3.1 系統實現和測試環境設置

1)測試環境:檢測系統的照片為攝像裝置拍攝;所有代碼均由Linux 18.04 系統下的Python 3.7 編寫;Tensorflow 2.2.0 用于構建神經網絡的基本框架;配備GeForce GTX 1060 GPU 和Intel Core i7-8750H CPU的筆記本電腦。

2)數據集:使用上述自動拍照設備,去除不能使用的圖像后,收集到1 588 張圖像,其中包括1 440 張正常圖像和148 張缺陷圖像;人工生成500 張缺陷圖像,并使用其他數據增強方法來增加缺陷圖像的數量;使用1 944 張缺陷圖像和2 280 張正常圖像進行第一階段網絡的訓練,并對圖像進行裁剪,得到4 131 張圖像用于第二階段網絡的訓練。另外,留下了400 張圖像作為測試集,這些圖像與用于訓練的圖像沒有任何關系。訓練數據集的樣本如圖6所示。

圖6 訓練數據集的樣本圖像Fig.6 Sample images of training data set

3)訓練過程:首先,訓練YoloV4-tiny 目標檢測網絡,在訓練之前,使用10%的數據集作為驗證集,在每個數據集之后調整網絡。YoloV4-tiny 網絡的輸入大小為[416,416,3],訓練圖像在輸入之前需要填充并縮放到這個大小,加載使用VOC 數據集訓練獲得的預訓練權重。在訓練的第一階段,凍結網絡的前幾層,將批量大小設置為32,學習速率設置為0.001,訓練25 個數據集。完成第一階段的訓練后,解凍凍結層,將批量大小設置為32,學習速率設置為0.000 1,并繼續訓練25 個數據集,在50 個數據集后保存訓練好的模型。然后,訓練EfficientNet 分類網絡。EfficientNet 有B0~B7 八種規格,考慮到云服務器的性能和時間成本,選擇了EfficientNetB2。訓練前將圖像大小調整為260×260 像素,設置激活函數為softmax,損失函數為稀疏分類交叉熵。在訓練的第一階段,凍結預訓練的權重,將學習速率設置為0.001,批量大小為16,訓練25 個數據集。在訓練的第二階段,解凍凍結層,將學習速率設置為0.000 1,批量大小為16,訓練25 個數據集。在50 個數據集后保存訓練好的模型,訓練過程如圖7所示。

圖7 二階段訓練過程Fig.7 Two-stage training process

3.2 兩階段算法的結果與討論

第一階段和第二階段的結果圖像如圖8所示。圖8 中的第一列和第二列是第一階段的檢測結果,第三列和第四列顯示了裁剪后的圖像和第二階段的分類結果。通過在測試集上的測試,本文提供的算法準確率達到了99.5%,滿足了太陽翼琴鉸缺陷檢測的要求。所有有缺陷的圖像都被正確檢測,但也存在一些正常圖像被識別為有缺陷圖像的情況。

圖8 第一階段和第二階段的檢測結果Fig.8 Phase I and phase II test results

將測試網絡在每個階段的性能與其他網絡進行比較。第一階段的任務是盡快定位琴鉸,在確保琴鉸定位準確時,速度是最重要的指標。選擇MobileNet-SSD、RetinaNet、YoloV4-tiny 是因為它們是單階段網絡,比兩階段網絡相對更快。根據實驗結果,均能準確定位鉸鏈。從表1 可以看出,YoloV4-tiny 網絡耗時最短,被選為第一階段網絡算法。第二階段,準確度是最重要的指標,此外,網絡模型的大小應盡可能小,以方便傳輸。選擇了四個常用的網絡進行比較:EfficientNet、Xception、ResNet、DenseNet。從 表1 可以看出,EfficientNet 和Xception 的準確率最高,運行時間最短,而EfficientNet 的模型尺寸要小得多。因此選擇EfficientNet作為第二階段網絡算法。

表1 不同網絡算法的比較Tab.1 Comparison of different network algorithms

為了與常用方法進行比較,使用3 072×2 048 像素的原始圖像來訓練EfficientNet 并檢測缺陷。普通方法的準確率為74%,遠低于本文提出的方法。其原因是普通網絡會將原圖調整到224×224 像素的小尺寸,在這個過程中,圖像的缺陷可能會被忽略。

4 結束語

本文針對柔性太陽翼琴鉸檢測,根據檢測算法特征識別要求研制自動化攝像裝置,使拍攝照片的曝光機像素滿足檢測算法預處理要求,針對產品表面缺陷檢測提出了一種兩階段檢測算法,提高了復雜背景下小缺陷的檢測精度,并提出了一種網絡優化算法,可最大限度地降低缺少缺陷樣本所帶來的影響。實驗結果表明,與常見的CNN 網絡相比,兩階段算法可以顯著提高準確率,將該算法嵌入自動化攝像裝置的后處理軟件中,最終實現琴鉸缺陷檢測結果的自動生成。

猜你喜歡
柔性分類圖像
改進的LapSRN遙感圖像超分辨重建
一種柔性拋光打磨頭設計
灌注式半柔性路面研究進展(1)——半柔性混合料組成設計
分類算一算
高校學生管理工作中柔性管理模式應用探索
有趣的圖像詩
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
遙感圖像幾何糾正中GCP選取
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合