源自:控制與決策
作者:葉卓勛???劉妹琴??張森林
摘 要
工業(yè)環(huán)境下表面缺陷檢測是質(zhì)量管理的重要一環(huán), 具有重要的研究價值.通用檢測網(wǎng)絡(luò)(如YOLOv4)已被證實在多種數(shù)據(jù)集檢測方面是有效的, 但是在工業(yè)環(huán)境的缺陷檢測仍需要解決兩個問題: 一是缺陷實例在表面占比過小, 屬于典型的小目標(biāo)檢測問題; 二是通用檢測網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜, 很難部署在移動設(shè)備上.針對上述問題, 提出一種基于輕量化深度學(xué)習(xí)網(wǎng)絡(luò)的工業(yè)環(huán)境小目標(biāo)缺陷檢測方法.應(yīng)用GhostNet替代YOLOv4主干特征提取網(wǎng)絡(luò), 提高網(wǎng)絡(luò)特征提取能力及降低算法復(fù)雜度, 并通過改進(jìn)式PANet結(jié)構(gòu)增加YOLO預(yù)測頭中高維特征圖比例以實現(xiàn)更好的性能.以發(fā)動機(jī)金屬表面缺陷檢測為例進(jìn)行實驗分析, 結(jié)果表明該模型在檢測精度(mAP)提升5.83%的同時將網(wǎng)絡(luò)模型參數(shù)量降低83.5%, 檢測速度提升2倍, 同時滿足缺陷檢測的精度和實時性要求.
關(guān)鍵詞
輕量化檢測網(wǎng)絡(luò)????小目標(biāo)缺陷檢測????主干特征提取網(wǎng)絡(luò)????改進(jìn)式PANet?
引言
表面缺陷檢測是機(jī)器視覺領(lǐng)域中非常重要的一項研究內(nèi)容, 利用機(jī)器視覺設(shè)備獲取圖像以判斷采集圖像中是否存在缺陷, 而工業(yè)產(chǎn)品外觀品質(zhì)檢驗是保障產(chǎn)品質(zhì)量的關(guān)鍵環(huán)節(jié). 工業(yè)產(chǎn)品的外觀在消費(fèi)者心理往往與產(chǎn)品質(zhì)量等同, 外觀缺陷檢測成為質(zhì)量控制的關(guān)鍵. 目前, 絕大多數(shù)企業(yè)的質(zhì)檢依賴于人工檢驗完成, 存在易主觀錯判、檢測方式難標(biāo)準(zhǔn)化、檢測準(zhǔn)確性和效率嚴(yán)重依賴于檢測員經(jīng)驗等問題. 近年來, 隨著以卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)為代表的深度學(xué)習(xí)模型在計算機(jī)視覺領(lǐng)域的應(yīng)用, 基于機(jī)器視覺的缺陷檢測技術(shù)取得重大突破. 然而, 實際工業(yè)場景下金屬表面缺陷檢測仍存在一些挑戰(zhàn)性的問題:
1) 數(shù)據(jù)集問題. 與真實工業(yè)場景中的幾十張或幾百張圖片相比, 傳統(tǒng)的深度學(xué)習(xí)方法(如CNN)需要大量的標(biāo)注數(shù)據(jù)進(jìn)行訓(xùn)練, 很難適應(yīng)表面輪廓、光照條件、成像角度等不同環(huán)境的復(fù)雜工業(yè)場景. 通常情況下, 深度神經(jīng)網(wǎng)絡(luò)容易產(chǎn)生過擬合現(xiàn)象, 需要網(wǎng)絡(luò)被喂入盡可能多的數(shù)據(jù)[1]. 因此, 最常用的方法是擴(kuò)充送入網(wǎng)絡(luò)的訓(xùn)練集, 使網(wǎng)絡(luò)獲得更豐富的特征信息. 傳統(tǒng)數(shù)據(jù)擴(kuò)增方法通常是對原缺陷樣本使用模糊、鏡像、隨機(jī)遮擋、隨機(jī)裁剪、對比度調(diào)整等多種基本圖像處理方式來獲取更多訓(xùn)練樣本, 但此方法生成的圖片與原始圖片有很強(qiáng)的關(guān)聯(lián)性, 導(dǎo)致神經(jīng)網(wǎng)絡(luò)過擬合問題緩解程度有限. 相較于傳統(tǒng)數(shù)據(jù)擴(kuò)增方法, 一些更為新穎的數(shù)據(jù)生成方法也被提出. Tao等[2]提出了一種基于分割網(wǎng)絡(luò)的圖像生成方法, 先將缺陷實例從自然背景中分割出來, 后通過圖像融合方法將其疊加到正常樣本上. 近些年, 基于生成對抗網(wǎng)絡(luò)(generative adversarial net, GAN[3])的圖像生成技術(shù)也在研究之中. Posilovi?等[4]提出了一種新型的GAN結(jié)構(gòu), 用于生成高質(zhì)量和高分辨率的B超圖像. Zhang等[5]提出了一種基于Wassertein GAN[6-7]的圖像生成辦法解決焊接缺陷圖像中缺陷實例不平衡的問題. 根據(jù)基于相對尺度的小目標(biāo)定義, 同一類別實例面積與圖像面積之比在0.08%~0.5%之間.本文所使用發(fā)動機(jī)金屬表面缺陷數(shù)據(jù)集, 金屬表面尺寸為3548×3548 , 凹槽類缺陷實例尺寸均小于64×64 , 相對面積為0.051%, 劃痕類缺陷實例形狀不標(biāo)準(zhǔn), 但像素值不多于177×58 , 相對面積為0.082%, 均屬于小目標(biāo)檢測問題. 針對小目標(biāo)檢測可利用特征較少及樣本不均衡等問題, Ye等[8]提出了一種雙通道GANDual-Path GAN(DPGAN), 通過分別生成缺陷實例和背景圖像再復(fù)制黏貼的方式, 在生成高分辨率缺陷數(shù)據(jù)集的同時生成數(shù)據(jù)集標(biāo)注文件, 節(jié)省了大量時間與人力. Bosquet等[9]基于GAN提出了一種全新的結(jié)構(gòu), 通過由較大物體生成較小物體來擴(kuò)充數(shù)據(jù)集.
2) 神經(jīng)網(wǎng)絡(luò)在獲得更好的特征提取能力的同時規(guī)模越來越大, 結(jié)構(gòu)也隨之越來越復(fù)雜, 預(yù)測和訓(xùn)練所需的硬件資源也隨之增多. 通常情況下, 移動裝置及嵌入式設(shè)備很難運(yùn)行復(fù)雜的深度學(xué)習(xí)網(wǎng)絡(luò)模型, 因此在計算機(jī)視覺領(lǐng)域, 人們也在努力推動神經(jīng)網(wǎng)絡(luò)的小型化, 最大程度上減小模型復(fù)雜度, 減少模型存儲所需要的空間. 使網(wǎng)絡(luò)輕量化的常用方法是模型壓縮, 如模型剪枝[10-11]、模型量化[12]等, 然而基于這些壓縮方法得到的全連接層的矩陣結(jié)構(gòu)是不規(guī)律的稀疏矩陣, 與現(xiàn)代硬件加速平臺如圖形處理單元(GPU)并不匹配, 導(dǎo)致即使網(wǎng)絡(luò)參數(shù)減少了但運(yùn)算時間仍相同, 沒有滿足網(wǎng)絡(luò)輕量化的要求[13]. 基于上述兩種原因, 輕量級網(wǎng)絡(luò)開始被提出, 旨在保持網(wǎng)絡(luò)精度的基礎(chǔ)上進(jìn)一步增加特征提取能力、運(yùn)行速度和減少模型參數(shù)量. MobileNetv1[14]引入了深度可分離卷積替代傳統(tǒng)卷積, 大大減少了運(yùn)算量和參數(shù)數(shù)量. MobileNetv2[15]在此基礎(chǔ)上進(jìn)一步引入線性瓶頸和倒殘差結(jié)構(gòu). MobileNetv3[16]對倒殘差結(jié)構(gòu)進(jìn)行簡單改造, 加入SE模塊[17]并更新了激活函數(shù). GhostNet[18]使用簡單的線性運(yùn)算方式生成相似特征圖獲得網(wǎng)絡(luò)中的冗余信息. 基于以上輕量化網(wǎng)絡(luò), 研究者也開始使用此方法改造檢測網(wǎng)絡(luò). Li等[19]使用GhostNet改造Transformer以實現(xiàn)COCO數(shù)據(jù)集的檢測. Zhang等[20]運(yùn)用MobileNetv3改造YOLOv3以實現(xiàn)無人機(jī)條件下的行人檢測. Jiang等[21]使用MobileNetv2替代SSD網(wǎng)絡(luò)中的主干特征提取網(wǎng)絡(luò)VGG-16以實現(xiàn)蛋雞的檢測系統(tǒng). 上述方法雖然均取得了很好的檢測效果, 但由于金屬表面缺陷相較于行人和蛋雞等目標(biāo)更加小, 樣本數(shù)量更少, 背景更加復(fù)雜, 并不完全適用于工業(yè)環(huán)境下金屬表面缺陷檢測.
本文選擇YOLOv4[22]模型作為基本框架, 針對工業(yè)環(huán)境下小目標(biāo)缺陷檢測、訓(xùn)練樣本少、移動裝置計算能力有限等問題進(jìn)行一系列改造, 具體包括: 1) 使用輕量化網(wǎng)絡(luò)GhostNet替代YOLOv4主干特征提取網(wǎng)絡(luò)CSPDarkNet53, 降低網(wǎng)絡(luò)參數(shù)量, 提升特征提取能力; 2) 針對小目標(biāo)易被錯檢漏檢的問題, 對YOLOv4加強(qiáng)特征提取網(wǎng)絡(luò)進(jìn)行改造, 加大高維信息在最終檢測時的比重, 進(jìn)一步提升檢測精度, 減少網(wǎng)絡(luò)計算量.
1 基于Ghost模塊的輕量級金屬表面缺陷檢測方法
1.1???基線檢測網(wǎng)絡(luò)YOLOv4
目前, 在目標(biāo)檢測領(lǐng)域有雙階段網(wǎng)絡(luò)和以YOLO為代表的單階段網(wǎng)絡(luò), 其中單階段網(wǎng)絡(luò)因其檢測精度高、速度快, 被廣泛運(yùn)用于工業(yè)產(chǎn)品的缺陷檢測中. 針對工業(yè)環(huán)境下小目標(biāo)缺陷檢測, 本文使用YOLOv4作為基準(zhǔn)模型. YOLOv4是高精度實時一階段檢測算法, 代表YOLOv1、YOLOv2、YOLOv3的持續(xù)改進(jìn), 在檢測速度和檢測精度方面達(dá)到了目前的最優(yōu)水平. YOLOv4延續(xù)YOLOv3整體結(jié)構(gòu)不變, 同時在以下方面進(jìn)行了不同程度的優(yōu)化:
1) 主干特征提取網(wǎng)絡(luò).
主干特征提取網(wǎng)絡(luò)主要對輸入圖像的初步特征進(jìn)行提取, 運(yùn)用主干特征提取網(wǎng)絡(luò)可以輸出3個初步的有效特征層, 此部分也是本文后續(xù)主要改進(jìn)之處. YOLOv4主干特征提取網(wǎng)絡(luò)在YOLOv3的Darknet53主干特征提取網(wǎng)絡(luò)的基礎(chǔ)上融合跨階段局部網(wǎng)絡(luò)(cross stage partial networks, CSPNet[23])的優(yōu)勢, 解決了Darknet53等大型卷積神經(jīng)網(wǎng)絡(luò)主干特征提取網(wǎng)絡(luò)中網(wǎng)絡(luò)優(yōu)化的梯度信息重復(fù)問題, 將梯度變化集成到特征圖中, 在主干特征提取網(wǎng)絡(luò)輕量化的同時增加了卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力, 保持了網(wǎng)絡(luò)的準(zhǔn)確性. YOLOv4主干特征提取網(wǎng)絡(luò)包含5個CSP模塊, 每個CSP模塊第1個卷積核的大小分均為3×3 ,?stride=2 , 當(dāng)輸入特征圖尺寸為416× 416?× 3時, 輸出的3個有效特征圖分別為52×52 , 26× 26, 13× 13, 3種大小的特征圖分別代表低中高維信息, 感受野分別為8×8 、16×16 和32×32 , 用于后續(xù)小中大目標(biāo)的檢測. 此類方法可以獲得豐富的特征信息, 但網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜, 特征增強(qiáng)能力不足, 限制了模型對小目標(biāo)檢測精度的進(jìn)一步提升.
主干特征提取網(wǎng)絡(luò)另一個較明顯的改進(jìn)在于采用了Mish激活函數(shù)[24], 有
(1) ? ?
Mish激活函數(shù)具有無上界有下界的特點(diǎn), 在訓(xùn)練時不會存在梯度消失的問題, 相較于之前使用的ReLU、LeakyReLU等激活函數(shù)在x=0 處更加光滑, 在實際求解和模型泛化性方面表現(xiàn)更加優(yōu)良, 收斂速度更快.
2) 加強(qiáng)特征提取網(wǎng)絡(luò).
加強(qiáng)特征提取網(wǎng)絡(luò)對主干特征提取網(wǎng)絡(luò)輸出的3個有效特征圖進(jìn)行進(jìn)一步特征提取. YOLOv4使用了SPP和PANet的特征金字塔結(jié)構(gòu), SPP結(jié)構(gòu)將主干特征提取網(wǎng)絡(luò)最后一層CSP結(jié)構(gòu)生成的特征圖分別進(jìn)行4個不同尺度的最大池化處理, 增加特征圖感受野并分離出顯著的語義信息; PANet結(jié)構(gòu)對SPP結(jié)構(gòu)及主干特征提取網(wǎng)絡(luò)輸出的3個有效特征圖分別進(jìn)行特征層串聯(lián)實現(xiàn)特征融合, 并將融合得到的特征層傳輸?shù)結(jié)OLO預(yù)測頭Y1?、Y2?、Y3?中進(jìn)行預(yù)測.
YOLOv4的金字塔結(jié)構(gòu)對有效特征層進(jìn)行反復(fù)特征提取, 在一定程度上提高了通用檢測的精度, 但忽略了直接融合不同維度信息帶來的語義沖突問題, 導(dǎo)致待檢測小目標(biāo)信息被沖突信息淹沒. 在輕量化方面, PANet結(jié)構(gòu)已普遍使用深度可分離卷積替代PANet中的普通卷積, 本文后續(xù)也將使用此類結(jié)構(gòu).
1.2????輕量化檢測網(wǎng)絡(luò)整體架構(gòu)
圖 1展示了所使用的基于YOLOv4的輕量化檢測網(wǎng)絡(luò)總體結(jié)構(gòu), 針對小目標(biāo)檢測問題, 對YOLOv4主干特征提取網(wǎng)絡(luò)及加強(qiáng)特征提取網(wǎng)絡(luò)中的PANet進(jìn)行改進(jìn).

?1.2.1???輕量化主干特征提取網(wǎng)絡(luò)GhostNet
為了實現(xiàn)網(wǎng)絡(luò)的輕量化及特征提取能力的提升, 使用Ghost模塊替代檢測網(wǎng)絡(luò)中的卷積操作, 簡單表示為
?(2) ? ?
其中:?X∈Rc×w×h?為給定輸入特征圖,?c 為輸入特征圖的通道數(shù),?h 和w 分別為輸入特征圖的高度和寬度;?? 為卷積操作;?b 為偏置項. 為了產(chǎn)生輸出為n 通道的輸出特征圖Y∈Rn×w′×h′?, 需要使用卷積核為k×k 的卷積塊, 即f∈Rc×k×k×n?, 生成效果如圖 2(a)所示.然而, 卷積神經(jīng)網(wǎng)絡(luò)為了得到豐富的特征表達(dá), 殘差經(jīng)常需要進(jìn)行多次卷積操作, 這意味著輸出特征圖Y 的通道數(shù)n 也會變得很大, 運(yùn)用此方法進(jìn)行一次特征提取需要的運(yùn)算量為
?(3) ? ?

? ?
實際上, 通過此操作獲得的大部分特征圖是相似的, 意味著很多特征圖可以通過更為簡單的操作如旋轉(zhuǎn)、平移等操作從另一組基礎(chǔ)特征圖中獲得. 因此, 殘差塊中一些卷積操作是多余的, 網(wǎng)絡(luò)同時進(jìn)行了不必要的計算, 一定程度上浪費(fèi)了計算和存儲資源.
為了解決該問題, Ghost模塊提出了一種全新的卷積結(jié)構(gòu). 首先使用普通卷積塊生成本征特征圖Y′∈Rm×w′×h′?, 即

? ?
其中:?f∈Rc×k×k×m? m 為本征特征圖Y′ 的通道數(shù).然后為了生成與原輸出特征圖相同的通道數(shù), Ghost模塊通過簡單的線性運(yùn)算方式增強(qiáng)特征并增加通道數(shù), 有

? ?
其中:?s 為線性運(yùn)算的次數(shù),?y′i?為第i 個本征特征圖,?Φj?為對本征特征圖實施第j 個線性變換得到特征濃縮的相似特征圖. 理論上可以得到m×s 個相似特征圖, 為了生成與原輸出特征圖Y 相同數(shù)量的特征圖, 只取前n 個作為最終的輸出結(jié)果. 運(yùn)用Ghost模塊后, 實現(xiàn)一次操作需要的運(yùn)算量為

? ?
將前后方法進(jìn)行對比, 由于s?c , 運(yùn)算提升率為

比較可知: 使用Ghost模塊替代傳統(tǒng)卷積結(jié)構(gòu)可以以更低的參數(shù)及更低的計算量獲得相同甚至更優(yōu)的特征提取效果.
圖 2(b)為Ghost模塊較為簡單且常用的一種情形, 即s=2 ,?m=n/2 , 后續(xù)也將主要使用此模型作為實現(xiàn)方法.
更進(jìn)一步, 可以使用Ghost模塊搭建瓶頸結(jié)構(gòu), 即使用Ghost模塊替代傳統(tǒng)瓶頸結(jié)構(gòu)中的普通卷積, 如圖 3所示.?圖 3(a)主要實現(xiàn)增加輸出特征圖通道數(shù)的功能,?圖 3(b)主要實現(xiàn)改變特征圖高和寬的功能.

如表 1所示, 使用Ghost瓶頸結(jié)構(gòu)搭建GhostNet替代YOLOv4的主干特征提取網(wǎng)絡(luò)CSPDarknet53. SE代表是否使用注意力模塊, 0表示不使用注意力模塊, 0.25表示SE模塊對通道的壓縮率. 根據(jù)MobileNetv3中的實驗表明, 壓縮率為0.25時既提高了精度, 又沒有增加時間消耗.

GhostNet主干網(wǎng)絡(luò)具體流程如下.
step 1: 輸入為416×416×3 , 經(jīng)過3×3 卷積將輸入特征圖的通道數(shù)調(diào)整為16的同時進(jìn)行第1次高和寬的壓縮.
step 2: 將一次步長為2和一次步長為1的Ghost瓶頸結(jié)構(gòu)構(gòu)成一組初步特征提取模塊, 步長為2的Ghost瓶頸結(jié)構(gòu)對特征圖進(jìn)行高和寬的壓縮, 步長為1的瓶頸結(jié)構(gòu)進(jìn)行加深通道數(shù)量, 豐富特征表達(dá). 通過堆疊兩組初步特征提取模塊, 將輸入圖片降采樣為52×52 , 與YOLOv4主干特征提取網(wǎng)絡(luò)第3個CSP輸出的有效特征層尺寸相同.
step 3: 通過更多組Ghost瓶頸結(jié)構(gòu)實現(xiàn)更深層次特征提取并生成26×26 及13×13 的特征圖, 與YOLOv4主干特征提取網(wǎng)絡(luò)第4、第5個CSP模塊輸出的有效特征層尺寸相同.
step 4: 將YOLOv4主干特征提取網(wǎng)絡(luò)生成的有效特征層替換為step 2和step 3生成的有效特征層, 完成主干特征提取網(wǎng)絡(luò)的輕量化.
1.2.2???針對小目標(biāo)檢測的改進(jìn)式PANet結(jié)構(gòu)
工業(yè)環(huán)境下金屬表面缺陷實例在表面占比極小, 屬于典型的小目標(biāo)檢測問題. 針對這一現(xiàn)象, 對YOLOv4的加強(qiáng)特征提取網(wǎng)絡(luò)進(jìn)行進(jìn)一步改進(jìn). 現(xiàn)有的YOLOv4使用PANet金字塔結(jié)構(gòu)通過對SPP結(jié)構(gòu)及主干特征提取網(wǎng)絡(luò)輸出的3個有效特征層進(jìn)行一系列上采樣、下采樣及特征層串聯(lián)合并操作, 實現(xiàn)輸出到Y(jié)OLO預(yù)測頭中各維度特征層信息保持為1:1:1 . 這種方法可以很好地獲得各個維度的特征信息, 實現(xiàn)大中小目標(biāo)的有效檢測, 使YOLOv4作為通用檢測網(wǎng)絡(luò)能靈活高效地應(yīng)用在多種公共數(shù)據(jù)集上.
在本文所使用金屬表面缺陷數(shù)據(jù)集中, 如圖 4缺陷實例細(xì)節(jié)所示, 凹槽與劃痕之間有很多相似性特征, 劃痕可分為連續(xù)線段和數(shù)個小凹槽并列兩種類型. 此外, 劃痕實例和金屬表面的加工磨痕十分相似, 但劃痕是缺陷, 而金屬加工磨痕是在生產(chǎn)過程中不可避免的金屬紋路, 常出現(xiàn)在孔洞周邊及金屬邊緣, 屬于正?,F(xiàn)象. 如果網(wǎng)絡(luò)感受野過小、過多關(guān)注邊界信息則很難區(qū)分以上兩種小目標(biāo)易錯檢缺陷典型樣例, 因此低維特征圖所能提供的紋理特征作用在一定程度上低于中高維特征圖所提供的語義信息. 基于此, 提出一種改進(jìn)式PANet, 如圖 1改進(jìn)式PANet部分所示. 通過保留原網(wǎng)絡(luò)上采樣部分減少降采樣部分的方法, 將最終輸出到Y(jié)OLO預(yù)測頭的各維度特征層信息改變?yōu)?:2.5:5.5 , 提升網(wǎng)絡(luò)對高維信息獲取的同時減少網(wǎng)絡(luò)中冗余的下采樣結(jié)構(gòu). 網(wǎng)絡(luò)在保留低維信息的同時增加高維信息的比例, 使高維信息更好地指導(dǎo)劃痕實例和凹槽實例的檢測, 增加感受野, 跳出局部信息, 減少網(wǎng)絡(luò)的誤檢率.

2 實驗分析
2.1???數(shù)據(jù)集
本文使用發(fā)動機(jī)金屬表面缺陷數(shù)據(jù)集評估方法的有效性. 該數(shù)據(jù)集并未公開且自行拍攝及標(biāo)注, 共包括535張尺寸為5472×3648 的圖片, 金屬表面尺寸約為3548×3548 . 如圖 4所示, 數(shù)據(jù)集可劃分為兩個粗粒度類別, 分別為劃痕和凹槽, 劃痕類包含2 014例, 凹槽類包含2 106例. 凹槽類缺陷實例尺寸均小于64×64 , 相對面積為0.051%;劃痕類缺陷實例形狀不標(biāo)準(zhǔn), 但像素值不多于177×58 , 相對面積為0.082%, 根據(jù)相對尺寸的小目標(biāo)定義方法, 數(shù)據(jù)集中待檢測目標(biāo)均屬于小目標(biāo)檢測問題.
實驗中使用DPGAN對數(shù)據(jù)集進(jìn)行擴(kuò)充, 緩解數(shù)據(jù)量少帶來的模型過擬合問題, 提高模型的泛化能力, 通過調(diào)整缺陷實例與背景圖像占比, 在一定程度上提升了小缺陷檢測的準(zhǔn)確率. DPGAN主要分為生成部分和復(fù)制粘貼部分: 生成部分使用兩組生成器和判別器分別生成高分辨率的背景圖像和缺陷圖像; 復(fù)制粘貼部分首先將生成的缺陷實例圖像與原始缺陷實例圖像進(jìn)行合并構(gòu)成新缺陷實例數(shù)據(jù)集, 然后運(yùn)用多種復(fù)制粘貼方法將新缺陷實例數(shù)據(jù)集均勻且正確地“生長”在背景圖片上并同時生成含有缺陷位置的標(biāo)注文件(.xml文件), 形成全新標(biāo)注好的金屬表面缺陷數(shù)據(jù)集. 通過此方法生成的數(shù)據(jù)集可以直接用于模型訓(xùn)練, 節(jié)省了重新標(biāo)注的時間和精力. 數(shù)據(jù)增強(qiáng)前后的樣本信息如表 2所示, 其中訓(xùn)練集與測試集基于全圖按照9:1 的比例進(jìn)行隨機(jī)分配, 分配結(jié)果分別為1 183張和132張.

? ?
2.2???實驗平臺和參數(shù)設(shè)置
實驗平臺處理器為Intel(R) Xeon(R) E5-2660 v4CPU, 用于深度學(xué)習(xí)CNN計算的圖像處理器為NVIDIA TITAN X(Pascal), 計算環(huán)境為1.1.0版本的PyTorch環(huán)境.
參數(shù)設(shè)置如下: 輕量化檢測網(wǎng)絡(luò)方面, 主干特征提取網(wǎng)絡(luò)GhostNet參數(shù)設(shè)置如表 1所示; 模型訓(xùn)練方面, 設(shè)置神經(jīng)網(wǎng)絡(luò)批量參數(shù)為16, 初始訓(xùn)練迭代步數(shù)為20, 凍結(jié)訓(xùn)練迭代步數(shù)為280, 凍結(jié)訓(xùn)練不僅可以加快模型訓(xùn)練速度, 也可以在訓(xùn)練初期防止權(quán)值被破壞. 初始訓(xùn)練時學(xué)習(xí)率設(shè)置為0.001并采用余弦退火衰減; 初始訓(xùn)練結(jié)束后, 解凍后280迭代步數(shù), 學(xué)習(xí)率為0.000 1, 學(xué)習(xí)率的變化仍然采用余弦退火衰減.
在圖像檢測部分, 數(shù)據(jù)集本身尺寸為5472×3648 , 首先通過邊緣提取及裁剪方式得到金屬表面3548×3548 區(qū)域, 如果直接使用3548×3548 圖片檢測, YOLOv4默認(rèn)輸入圖片需要縮放為416×416 , 則Y1 輸入52×52 尺寸特征圖的1個像素在原圖中為
, 很難學(xué)習(xí)到原圖中68×68 像素以下的特征信息網(wǎng)絡(luò), 而凹槽實例通常低于64×64 . 因此, 在輸入圖像時運(yùn)用圖像重疊裁剪、檢測后拼接的方法, 將一張圖片裁剪為9張1774×1774 大小的圖像, 此時Y1 得到的52×52 尺寸特征圖的1個像素在原圖中為, 可以對數(shù)據(jù)集中缺陷進(jìn)行有效檢測, 但低維信息較易陷入局部信息, 進(jìn)一步從側(cè)面輔證了1.2.2節(jié)改進(jìn)式PANet的有效性.
2.3???實驗結(jié)果和分析
為了驗證所提出輕量化檢測網(wǎng)絡(luò)模型算法的優(yōu)越性, 在相同的實驗條件下, 將該模型算法與基線算法進(jìn)行比較. 為驗證模型算法性能, 在識別精度方面使用全類平均精度(mean average precision, mAP)作為評價指標(biāo), 本實驗中即為凹槽和劃痕兩類檢測平均精度(AP)的平均值; 在檢測速度方面使用網(wǎng)絡(luò)參數(shù)量和每秒檢測幀數(shù)(fps)作為性能指標(biāo), 具體效果如表 3所示.

從表 3可以看出: 相比于基線網(wǎng)絡(luò)YOLOv4進(jìn)行金屬表面缺陷檢測, 表中數(shù)據(jù)增強(qiáng)方法及網(wǎng)絡(luò)的輕量化改造在識別精度與檢測速度上均有較大提升. 當(dāng)使用DPGAN作為數(shù)據(jù)增強(qiáng)方式時, 在生成高分辨率缺陷圖片的同時提高缺陷實例與背景的比例以帶給網(wǎng)絡(luò)更多的信息, 因此mAP有4.4%的提高. 當(dāng)使用GhostNet替代YOLOv4主干特征提取網(wǎng)絡(luò)時, 與YOLOv4網(wǎng)絡(luò)相比, mAP從84.97% 提升至86.18%, 提高了1.2%;同時YOLOv4大幅金屬圖像(5 472?××?3 648)的檢測速度為8.9fps, 輕量化YOLOv4檢測速度提升為25fps, 提高了180%, 運(yùn)算所需參數(shù)從64, 040, 001降低至11, 428, 525, 降低為原有的17.8%. 可以看出, 與原YOLOv4相比獲得了巨大提升. 當(dāng)繼續(xù)使用改進(jìn)式PANet結(jié)構(gòu)時, 模型精度進(jìn)一步提升0.18%, 檢測速度提升1.1fps, 參數(shù)量減少1.5%. 值得一提的是, 改進(jìn)式PANet結(jié)構(gòu)并不需要重新訓(xùn)練, 表中所展示數(shù)據(jù)的增長無隨機(jī)性, 且可即插即用至其余YOLO系列網(wǎng)絡(luò)中, 最終實現(xiàn)在精度提升5.83%的同時將參數(shù)量降低83.5%, 檢測速度提升2倍.
為驗證所提出算法的性能, 在相同的實驗條件下, 將該模型算法與工業(yè)場景經(jīng)常使用的通用檢測網(wǎng)絡(luò)進(jìn)行比較, 具體效果如表 4所示. YOLOv4-tiny是YOLOv4的官方輕量化版本, 使用簡易的CSPDarknet53和PANet結(jié)構(gòu); YOLOv5-s和YOLOv5-x是YOLOv5兩個不同版本, 前者為輕量化版本, 檢測速度快但精度較低, 甚至不如YOLOv4原始版本, 后者網(wǎng)絡(luò)深度很高, 參數(shù)量極大. 通過對比可知, YOLOv4-tiny和YOLOv5-s均通過犧牲精度換取了超高的檢測速度, 然而工業(yè)場景下精度是第一要素, 且工業(yè)相機(jī)并沒有如此高的幀率. 此外, 本文所使用的網(wǎng)絡(luò)在精度和檢測速度上均優(yōu)于YOLOv5-x, 可以證實所提出方法在工業(yè)環(huán)境下小目標(biāo)檢測及模型輕量化方面效果顯著, 在保持精度的前提下提高了檢測速度.

檢測可視化結(jié)果如圖 5所示, 展示了金屬表面兩種缺陷的檢測結(jié)果, 從圖 5可以看出兩類缺陷檢測效果均很好, 極少有漏檢情況.

3 結(jié)論
當(dāng)前工業(yè)環(huán)境下金屬表面缺陷檢測大多基于通用檢測網(wǎng)絡(luò)實驗, 識別精確度不高, 運(yùn)算量過于巨大, 很難應(yīng)用在真實工業(yè)場景中. 為了提高工業(yè)環(huán)境下金屬表面缺陷檢測性能, 本文提出了一種針對工業(yè)環(huán)境小目標(biāo)缺陷的輕量化檢測網(wǎng)絡(luò), 該模型以YOLOv4為基線網(wǎng)絡(luò), 使用GhostNet替代YOLOv4主干特征提取網(wǎng)絡(luò); 并利用針對小目標(biāo)檢測的改進(jìn)式PANet結(jié)構(gòu)替換加強(qiáng)特征提取網(wǎng)絡(luò), 在樣本量有限的情況下, 通過DPGAN等數(shù)據(jù)增強(qiáng)方式緩解過擬合現(xiàn)象, 提升模型的泛化能力. 通過在真實金屬數(shù)據(jù)集上的實驗驗證了所提出模型的優(yōu)越性. 因為真實金屬表面數(shù)據(jù)集較為缺乏, 未來希望構(gòu)建更豐富數(shù)據(jù)集, 包括但不限于更復(fù)雜場景及更多種類缺陷. 同時, 所提出的針對小目標(biāo)檢測的輕量化網(wǎng)絡(luò)不僅限于YOLOv4, 理論上可以擴(kuò)展到Y(jié)OLO系列其他網(wǎng)絡(luò)中, 未來可以進(jìn)行更豐富的實驗. 另外, 所提出算法能夠在減少網(wǎng)絡(luò)參數(shù)量的同時提高特征提取能力, 加強(qiáng)小目標(biāo)檢測精度, 有效提升金屬表面缺陷檢測識別精度, 未來希望將其擴(kuò)展到航拍、小型生物、芯片檢測等其他具有挑戰(zhàn)性的目標(biāo)識別領(lǐng)域.
本文僅用于學(xué)習(xí)交流,如有侵權(quán),請聯(lián)系刪除 ??!文章來源:http://www.zghlxwxcb.cn/news/detail-439073.html
加V “人工智能技術(shù)與咨詢” 了解更多資訊?。?/strong>文章來源地址http://www.zghlxwxcb.cn/news/detail-439073.html
到了這里,關(guān)于基于輕量化深度學(xué)習(xí)網(wǎng)絡(luò)的工業(yè)環(huán)境小目標(biāo)缺陷檢測的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!