?

基于邊緣計算改進的MobileNetV1-SSD表面缺陷視覺檢測方法

2024-03-26 01:32汪國平陳仲生侯幸林
船電技術 2024年3期
關鍵詞:鋰電池注意力神經網絡

汪國平,胡 博,陳仲生,,侯幸林

基于邊緣計算改進的MobileNetV1-SSD表面缺陷視覺檢測方法

汪國平1,胡 博2,陳仲生1,3,侯幸林3

(1. 湖南工業大學 電氣與信息工程學院,湖南 株洲 412007;2. 南京理工大學 瞬態物理國家重點實驗室,江蘇 南京 210094;3. 常州工學院 汽車工程學院, 江蘇 常州 213032)

表面缺陷檢測是產品質檢的重要工序之一,現有邊緣端視覺檢測大多存在識別率低、模型結構復雜、部署困難、模型推理實時性差等問題。為此,本文以STM32H747微控制器為邊緣設備,基于MobileNetV1-SSD輕量化模型,研究了一種融合CBAM注意力機制的表面缺陷視覺檢測方法。首先,融合CBAM注意力機制,添加在最后一層的特征提取網絡之后,使缺陷目標在檢測模型中的特征表達能力得到增強,模型在僅增加少量的參數量的基礎上提升模型的檢測準確率;其次,對CBAM-MobilenetV1-SSD模型進行預處理;最后,采用X-CUBE-AI工具包在STM32H747微控制器中實現了模型的移植和部署。通過對比實驗表明,融合CBAM注意力機制的模型mAP達到83.75%,精度比原算法提高2.75%,參數量僅為1.67M,模型大小為622KB,且部署在邊緣設備對軟包鋰電池表面缺陷檢測精度有顯著提升。

表面缺陷檢測;邊緣計算;STM32微控制器;MobileNetV1-SSD;CBAM

0 引言

在工業制造中,產品質量對用戶和制造商至關重要。產品表面缺陷的存在(如劃痕、凹陷、氣泡等)可能嚴重影響產品的外觀和功能。因此,進行有效的表面缺陷檢測至關重要。

近年來,基于卷積神經網絡(CNN)的深度學習方法在產品表面缺陷檢測領域受到廣泛關注和應用,并取得了顯著的成果。目前,基于深度學習的目標檢測方法第一類是以 RCNN、Faster R-CNN為代表的兩階段目標檢測。鄭亞睿[1]等在Faster R-CNN基礎上引入雙動態頭的金字塔網絡,應用于鋼材表面缺陷檢測。第二類是以 YOLO、SSD為代表的直接進行位置回歸的目標檢測模型。葛釗明等人[2]基于YOLOv5網絡引入卷積注意力模塊,用于鋰電池極片缺陷檢測。Li等人[3]改進了SSD的骨干網絡,并提出了一種MobileNet-SSD 網絡,用于檢測罐裝密封容器的表面缺陷。

以上研究利用不同的神經網絡模型來實現對產品表面的缺陷檢測并取得了較好的效果。但實際上由于邊緣端視覺檢測大多存在識別率低、模型結構復雜、部署困難、模型推理實時性差等問題,針對邊緣計算端[4]的缺陷檢測的研究甚少。因此,本文設計了一種融合卷積塊注意力機制(CBAM) 的 MobilenetV1-SSD檢測模型,以軟包鋰電池表面缺陷為實驗對象,通過構建輕量化的MobilenetV1-SSD模型,在此基礎上通過引入CBAM 注意力機制來增強模型對缺陷目標的特征表達能力,進而提高對軟包鋰電池表面缺陷檢測精度。

1 CBAM-MobileNetV1-SSD模型構建

1.1 MobileNetV1-SSD輕量化網絡

MobileNetV1[5]是 Google 公司 2017 年發布的用于移動端的輕量化深度學習網絡,其核心思想是運用深度可分離卷積和倒置殘差結構,實現了高效的特征提取和信息處理,大大降低了計算量和參數數量。同時,MobileNetV1在有限計算資源的情況下仍保持較高的準確性和性能表現。

SSD[6]網絡是一種單階段目標檢測網絡,它基于VGG16骨干網絡,通過金字塔特征提取結構實現不同大小特征圖的分類和回歸。采用金字塔特征提取結構通過不同卷積層和尺度的特征圖進行分類和回歸,能更好地適應小目標的檢測需求。SSD網絡具有更快的運算速度和更低的網絡復雜度,因而更適合于輕量化應用。為此,本文選取SSD網絡作為目標分類和邊界框回歸任務的主要框架,同時采用MobileNetV1作為骨干網絡,替代原有的VGG16網絡,構建MobileNetV1-SSD輕量化模型。MobileNetV1網絡的計算量約為VGG網絡的1/30,從而明顯壓縮了缺陷檢測網絡模型。

1.2 融合CBAM注意力機制

在采用輕量化網絡技術后,根據MobileNetV1-SSD實驗結果可知模型的精度有小幅度的下降。為了解決這個問題,本文考慮在輕量化網絡模型中融合CBAM注意力機制,使模型更加關注重要的特征,模型在僅增加少量的參數量的基礎上提升模型的檢測準確率,從而提高模型的表現和泛化能力。CBAM[7]是一種用于圖像分類的注意力機制,可以有效地提高卷積神經網絡的性能。其核心思想是將注意力機制嵌入到CNN中,以使CNN可以自適應地選擇圖像中最具有代表性的區域并進行更好的分類,給原本沒有注意力機制的模型,同時加入通道與空間上的注意力機制。其整體結構原理如圖1所示。

圖1 CBAM注意力機制整體結構圖

CBAM主要包括兩個模塊:通道注意力模塊和空間注意力模塊。通道注意力模塊主要關注通道維度上的特征,以適應不同通道之間的重要性差異,其模塊結構原理如圖2所示。通道注意力模塊旨在學習特征圖中不同通道之間的關系。它通過兩個步驟來計算通道注意力:全局平均池和共享全連接層。首先,通過全局平均池化操作,對每個通道的特征圖進行全局平均池化,得到通道維度上的特征描述。然后,將這些描述送入一個共享全連接層來計算每個通道的權重,形成了通道注意力圖M,這個通道注意力圖包含了每個通道在特征圖中的重要性信息,權重值表示了每個通道對于整個特征圖的重要程度。最終,這個通道注意力圖會被應用到原始的特征圖上對不同通道的特征進行加權,以增強有用的通道特征。

圖2 通道注意力模塊結構圖

空間注意力模塊則側重于圖像中不同空間位置之間的關系。通過對圖像不同位置的特征進行加權來強調重要的空間區域,以增強模型對物體的空間結構和布局的理解,其模塊的工作原理如圖 3所示??臻g注意力模塊旨在學習特征圖在空間維度上的重要性分布。它主要通過兩個步驟來計算空間注意力:使用最大池化和最大值池化。首先,對于每個通道,空間注意力模塊分別對特征圖進行最大值池化和平均值池化操作,得到每個位置上的最大值和平均值信息。接著,這些信息被拼接在一起并送入一個卷積層,生成一個空間注意力圖M。這個注意力圖會乘以原始的特征圖,強調空間上重要的特征,抑制不重要的部分。

圖3 空間注意力模塊結構圖

綜上所述,CBAM注意力機制的計算公式如下:

由于考慮到STM32H747邊緣設備的存儲與計算資源有限,需要限制模型的大小,因此本文不考慮將在每層卷積層之后添加注意力機制模塊,而只是將注意力機制模塊只添加在最后一層的特征提取網絡之后。首先對模型的輸入通道進行全局平均池化和全局最大池化操作,獲取通道特征的全局信息。然后設置兩個全連接層的通道共享率為8和1,繼而得到維度大小為(Batch, 1, 1, 16)和(Batch, 1, 1, 64)的兩層共享全連接層,最后傳入 Sigmoid激活函數生成每個通道的權重值,最終將權重值乘到每個通道的特征圖上,達到增強重要通道特征的效果,以提高模型識別的精度。使得模型在僅增加少量的參數量的基礎上提升模型的檢測準確率。

2 CBAM-MobilenetV1-SSD檢測模型部署

2.1 模型預處理

將CBAM-Mobilenetv1-SSD缺陷檢測模型移植到STM32H74微控制器之前,需要在PC 端設備對其進行預處理,其流程如圖4所示。PC 端的預處理步驟包括模型訓練、模型量化[8]和模型轉換,量化后輸出的.tflit文件即是STM32可加載的網絡模型。

圖4 模型預處理流程圖

2.2 模型部署

為了在STM32H747微控制器上部署量化后的CBAM-Mobilenetv1-SSD缺陷檢測模型,本文選擇采用X-CUBE-AI工具[9]。它支持快速自動導入流行深度學習框架(如Keras,TensorFlow-Lite,Caffe等)訓練后的神經網絡,將其換為適用STM32的優化代碼,實現神經網絡模型向可移植C模型的精確轉換,并優化生成的庫以減少內存占用。

在STM32H747微控制器上部署CBAM-MobileNetV1-SSD缺陷檢測模型的流程如圖5所示。使用X-CUBE-AI 工具箱對 TFLite 模型進行轉換,得到預處理后CBAM-Mobilenetv1-SSD模型的大小僅有622KB、占用 RAM 大小僅為312KB,完全滿足STM32H747計算及存儲資源要求。

圖5 CBAM-MobileNetV1-SSD模型部署流程圖

CBAM-MobileNetV1-SSD模型轉化生成的C代碼包括network.c、network.h、network_data.c、network_data.h、network_data_param.c和network_data_param.h,其中network.c包含了神經網絡的初始化、前向傳播函數和其他相關函數;network.h文件包含了神經網絡的結構定義、函數聲明和常量定義;network_data.c和 network_data.h文件包含了神經網絡的權重和偏置數據;network_data_params.c和network_data_params.h包含了部署轉換后神經網絡模型所需的數據和參數定義。

最后,將上述這些數據和參數嵌入到STM32H747微控制器的代碼中,即可實現CBAM-Mobilenetv1-SSD缺陷檢測模型的推理,無需在運行時訪問外部數據文件,從而實現了視覺檢測的邊緣檢測。

3 實驗測試與驗證

本文針對兩類軟包鋰電池表面缺陷:劃痕和凹坑,人工制作軟包鋰電池表面缺陷數據集,全部缺陷圖像數量共有2000張,隨機選取1500張圖像作為訓練集,剩余500張作為測試集。PC端計算環境為 Inter i5 CPU、Nvidia GTX2080GPU、8 GB 內存、Python3.8 及 Tensorflow2.83 框架。

3.1 模型訓練

在訓練過程中,選取 bath_size = 64、 epoc= 500,預測框 IOU 設置為 0.4,NMS 設置為 0.5,學習率設為 0.001,優化器選擇 Adam 算法。

CBAM-MobileNetV1-SSD和MobileNetV1-SSD模型的訓練及驗證過程的損失函數值隨迭代次數變化如圖6所示,可以看出CBAM-MobileNetV1-SSD模型訓練396個epoch達到收斂,且訓練與驗證的最小損失值分別為1.7023和0.964,而MobileNetV1-SSD模型訓練172個epoch達到收斂,且訓練與驗證的最小損失值分別為1.8794和1.4231。分析比較可知CBAM-MobileNetV1-SSD模型相比較于MobileNetV1-SSD模型在訓練和驗證時都表現出更低的損失值,具有更好的收斂性能和泛化能力,這表明本文的融合CBAM注意力機制改進方案是可行的。

圖6 不同模型的訓練與驗證損失值曲線對比圖

3.2 性能測試分析

為了評價表面缺陷檢測的性能,本文選擇目標識別任務中常用的平均準確率均值(mAP:mean average precision) 作為評估指標。平均準確率均值指軟包鋰電池表面缺陷“defect”( 劃痕、凹坑) 的平均檢測精度,計算表達式如下。同時使用推理時間作為檢測速度評估的指標,模型的大小及參數量作為裁剪壓縮評估的指標。

式中:表示準確率;表示召回率;表示預測為正,實際為正;表示預測為正,實際為負;表示預測為負,實際為正;為單個類別的平均精準率;表示個類別的平均值。

CBAM-MobileNetV1-SSD和MobileNetV1-SSD模型的召回率如圖 7所示,CBAM-MobileNetV1-SSD模型檢測內容 “defect”在召回率達到0.8 時有下降的趨勢,而MobileNetV1-SSD模型檢測內容“defect”在召回率達到0.75時就已經有下降的趨勢。這表明融合CBAM注意機制在達到相同的準確率條件下召回率更高,也就是模型檢測出的正例占比全部的正例更大,具有更好的檢測性。

圖7 不同模型召回率對比圖

模型的大小及性能如表 1 所示,可以看出CBAM-MobileNetV1-SSD模型的mAP值達到83.75%,比MobileNetV1-SSD模型提高了2.75%,且其參數量相比MobileNetV1-SSD模型僅有少量的增加。分析比較可知融合CBAM注意力機制,模型在僅增加少量的參數量的基礎上具有更好模的檢測精度。

表1 模型大小及性能對比

3.3 軟包鋰電池表面缺陷檢測平臺測試分析

表面缺陷檢測平臺如果圖8所示,由傳送平臺、夾具、環形光源、光源控制器和相機組成。軟包鋰電池通過電機驅動傳送到相機正下方,環形光源為相機連續采集提供良好的圖像質量。相機采用OV5640攝像頭在線采集軟包鋰電池表面圖像,接著對圖像進行預處理及特征提取,再調用部署在STM32H747的缺陷檢測深度學習模型,對獲取的產品表面圖像進行識別;最后,在LCD顯示屏顯示產品表面缺陷的的檢測結果。

圖8 表面缺陷檢測平臺

圖9 待檢測軟包鋰電池

因此,本次實驗采用如圖9所示的待檢測軟包鋰電池,該軟包鋰電池表面有兩個缺陷,分別是劃痕和凹坑。在STM32H747微控制器上分別運行部署成功的CBAM-MobileNetV1-SSD和MobileNetV1-SSD模型,對軟包鋰電池表面進行實時缺陷檢測實驗。

本次實驗中STM32H747運行的CBAM-MobileNetV1-SSD和MobileNetV1-SSD模型對軟包鋰電池表面缺陷檢測實驗結果如圖10所示,兩種模型對凹坑和劃痕這兩種缺陷均能準確識別出來,CBAM-MobileNetV1-SSD識別的凹坑和劃痕的置信度分別為0.83和0.99,而MobileNetV1-SSD識別的凹坑和劃痕的置信度分別為0.58和0.63,分析本次實驗結果可知,CBAM-MobileNetV1-SSD模型部署在邊緣設備對軟包鋰電池表面缺陷檢測精度有明顯提升。

(a) CBAM-MobileNetV1-SSD檢測結果

(b) MobileNetV1-SSD檢測結果

圖10 軟包鋰電池表面缺陷檢測結果對比圖

4 結語

本文以STM32H747微控制器為核心,基于MobileNetV1-SSD輕量化模型,研究了一種融合CBAM注意力機制的表面缺陷視覺檢測方法,主要工作包括:1)采用融合CBAM注意力機制的方法對原算法模型的網絡結構進行優化,檢測精度提升了2.75%;2)對融合CBAM注意力機制前后的模型算法進行了對比實驗驗證,結果表明改進算法的模型具有更好的收斂性能和泛化能力;3)在STM32H747微控制器中實現了模型的移植和部署,并搭建檢測平臺進行實驗對比測試與驗證,最終實驗結果表明融合CBAM注意力機制的MobileNetV1-SSD模型對軟包鋰電池表面缺陷的邊緣側檢測精度有明顯的提高。

[1] 鄭亞睿, 蔣三新. 基于雙動態頭Sparse R-CNN的表面缺陷檢測算法[J]. 儀表技術與傳感器, 2023(5): 97-105, 111.

[2] 葛釗明, 胡躍明. 基于改進YOLOv5的鋰電池極片缺陷檢測[J]. 激光雜志, 2023, 44(2): 25-29.

[3] Li Y T, Huang H S, Xie Q S, et al. Research on a surface defect detection algorithm based on MobileNet-SSD[J]. App Sci, 2018, 8(9): 1678.

[4] 吳瑞東, 劉冰, 付平, 等. 應用于極致邊緣計算場景的卷積神經網絡加速器架構設計[J]. 電子與信息學報, 2023, 45(6): 1933-1943.

[5] 畢鵬程, 羅健欣, 陳衛衛. 輕量化卷積神經網絡技術研究[J]. 計算機工程與應用, 2019, 55(16): 25-35.

[6] Wang L H, Shi W P, Tang Y H, et al. Transfer Learning-Based lightweight SSD model for detection of pests in citrus[J]. Agronomy, 2023, 13(7): 1710.

[7] Chen L J, Yao H D, Fu J Y, et al. The classification and localization of crack using lightweight convolutional neural network with CBAM[J]. Eng Struct, 2023, 275, Part B: 115291.

[8] 楊春, 張睿堯, 黃瀧, 等. 深度神經網絡模型量化方法綜述[J]. 工程科學學報, 2023, 45(10): 1613-1629.

[9] Lucan O I. Seiculescu C C?leanu C D. A brief review of deep neural network implementations for ARM Cortex-M processor[J]. Electronics, 2022, 11(16): 2545.

Edge computing-based enhancement of mobileNetV-SSD for surface defect visual detection

Wang Guoping1, Hu Bo2, Chen Zhongsheng1,3, Hou Xinlin3

(1. College of Electrical and Information Engineering, Hunan University of Technology, Zhuzhou 412007, Hunan China; 2. National Key Lab. of Transient Physics, Nanjing University of Science and Technology, Nanjing 210094, Jiangsu China; 3. College of Automotive Engineering, Changzhou Institute of Technology, Changzhou 213032, Jiangsu China)

TM930.9

A

1003-4862(2024)03-0009-06

2023-06-27

國家自然科學基金項目(62101074)

汪國平(1997- ),男,碩士研究生,研究方向:嵌入式機器視覺、產品缺陷檢測;E-mail:1106766548@qq.com

陳仲生(1977- ),男,教授,博士,研究方向:狀態監控與故障診斷、工業機器視覺。E-mail:chenzs@czu.cn

猜你喜歡
鋰電池注意力神經網絡
讓注意力“飛”回來
神經網絡抑制無線通信干擾探究
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
基于神經網絡的拉矯機控制模型建立
基于SVM的鋰電池SOC估算
復數神經網絡在基于WiFi的室內LBS應用
一種多采樣率EKF的鋰電池SOC估計
基于支持向量機回歸和RBF神經網絡的PID整定
鋰電池百篇論文點評(2014.6.1—2014.7.31)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合