?

基于改進YOLOv4的地板缺陷檢測算法

2023-10-29 01:32陳浩棟孫偉波李紅軍
計算機仿真 2023年9期
關鍵詞:先驗特征提取準確率

陳浩棟,張 弛,孫偉波,李紅軍

(武漢紡織大學機械工程與自動化學院,湖北 武漢 430200)

1 引言

地板表面缺陷決定了地板的產品等級,地板的制造容易產生表面缺陷,導致企業的生產效益下降[1],表面質量是評判地板質量的重要指標之一[2]。國內的地板制造廠商大部分還是在使用傳統的人工目測方式,檢測效率低,人工容易產生視覺疲勞[3],出現漏檢誤檢等問題,并且人工目測對評判人員要求高,需要擁有大量的實踐經驗,同時對地板紋理缺陷的判斷會因光線和經驗等問題出現差錯,評判標準缺乏客觀性。近幾年來,國家不斷推進工業4.0智能化工廠和智能制造的方針[4],實現地板表面缺陷自動化檢測有著重要的應用意義。傳統的機器視覺檢測方法受限于計算機的計算能力,對計算能力要求高。深度學習是機器視覺技術的進一步發展,基于深度學習的目標檢測算法已逐步應用于各領域工業生產質量檢測中,深度學習網絡的框架不斷發展,從CNN(Conventional Neural Net-work)[5]卷積神經網絡解決分類問題,到可以生成候選框的RCNN(Region-Conventional Neural Network)[6]、Fast-RCNN[7]、Faster-RCNN[8]等的目標檢測算法,應用比較廣泛的是YOLO(You Only Look Once)[9],YOLO使用Reset[10]-[11]殘差網絡結構,增強了對特征的提取效果,在缺陷檢測中有著比較好的表現。

在地板表面缺陷識別研究領域,國內外已有學者做出研究,例如梁浩、曹軍等[12]學者提出先使用近紅外光譜對實木地板進行缺陷檢測,對讀取到的紅外光譜數據進行貝葉斯網絡分析,從而辨別地板表面的活節、死節等缺陷。張怡卓、許雷等[13]學者提出通過小波分析和缺陷定位將實木地板表面的背景剔除,分割出缺陷,取得了較好實驗效果。程耀瑜等[14]學者提出的基于光度立體技術的地板缺陷檢測。以上的算法均以檢測活節、死節、裂紋等缺陷為主,存在一定的局限性,沒有能同時做到對小目標的缺陷、紋理類缺陷檢測的算法。

因此,本文通過在以上文獻中得到的思路,建立一套基于改進型-YOLOV4的地板缺陷檢測算法。通過對地板表面缺陷的數據特征對網絡進行修改,增加特征提取網絡中對小物體的信息提取,使用數據集中的缺陷數據對檢測先驗框進行優化。通過實驗驗證了改進后的YOLOv4進行地板表面缺陷檢測的可行性,實現對小目標缺陷和紋理類缺陷的檢測。

2 YOLO V4算法原理

YOLOv4是Alexey等人提出的一種目標檢測 模型,算法主要由三部分構成:特征提取、特征融合、預測結果。特征提取部分采用CSPDarknet53[15]的主干特征提取網絡,對YOLOv3的Resblock-body的結構進行修改,使用CSPnet網絡結構,新的殘差網絡塊具有更高的語義信息。CSPResnet53的網絡結構如圖2所示,經過多層卷積和池化的特征提取,網絡輸出三個特征層,分別是(13,13)、(26,26)、(52,52),隨后三個特征層進入特征融合部分。

對于特征融合部分,在YOLOv3的特征金字塔網絡FPN的基礎上添加了SPP模塊。13×13的特征層將進行三次卷積,輸入到SPP模塊中,同步進行三次最大池化,最后進行拼接,如圖1所示。YOLOv4的SPP-(Spatial Pyramid Pooling)[16]模塊是受SPP-net的啟發而來,能夠顯著地改善域尺寸,在提高上下特征提取的同時,不降低網絡的處理速度。在YOLOV4中,SPP可以有效避免神經網絡對圖像區域卷積等操作后導致圖像中的目標扭曲問題,同時可以有效解決卷積神經網絡對圖像重復特征提取的問題,將主干網絡輸出的深層特征向淺層傳遞,大大提高產生先驗框的速度,節省了計算的時間。

圖1 SPP結構圖

圖2 CSPDarknet53網絡結構圖

預測部分采用的是CIOU Loss,預測部分的信息包括預測置信度得分score、先驗框尺寸及坐標等,回歸函數包含了三個重要幾何因素:預測框中心點和長寬、交互比。YOLOHead預測層對先驗框的坐標、長和寬等信息進行調整,通過置信度得分篩選掉部分先驗框,最后采用距離交并比DIOU的非極大值抑制算法,輸出最終的預測結果。

3 改進的地板表面缺陷檢測算法

3.1 YOLOv4的多尺度檢測改進

在CSPDarknet53特征提取網絡輸出的特征層中,通過殘差網絡塊,對圖像進行卷積處理,提取圖像特征,并在最后的三層,輸出三個特征層,分別是13×13、26×26、52×52,其中13×13的特征層進入SPP模塊進行最大池化處理,如圖3所示。26×26、52×52兩個模塊進行卷積,先進行上采樣,再進行下采樣,最后進行特征融合,拼接特征信息,低層網絡特征圖用來檢測小物體,高層網絡特征圖用來檢測具有大輪廓的物體。

圖3 改進后YOLO-V4網絡圖

在實際的地板缺陷檢測中,有些缺陷,如黑點、小雜質等目標比較小,檢測效果較為不理想。因此本文改進特征提取網絡的輸出,增加大小為(104,104)的特征層,特征提取網絡會將圖像分為104×104的網格,微小的缺陷將通過此特征層進行預測,如圖3中加黑部分所示。

改進后的網絡中(52,52),(26,26),(13,13)的三個特征層將通過卷積和Up-Sampling進行特征融合,最后與(104,104)的特征層進行拼接,拼接后將分為兩部分,一部分作為特征層的output輸出到YOLO head進行下一步的數據轉換,另一部分將進行Downsampling的下采樣操作,將經過下采樣的特征層與(52,52)的特征層進行拼接,進行卷積與特征融合,再做同樣的下采樣與下面的特征層融合,使特征提取的更加充分,減少信息的丟失。

3.2 基于數據集的先驗框改進

YOLOv4是使用先驗框(anchors boxes)對目標檢測的圖像進行預測,初始的先驗框是由作者通過聚類COCO數據集得到的,初始的先驗框標定了常見目標的寬和高,在進行預測的時候,可以獲取更加準確的邊界框。在改進前的YOLOv4中,每個特征層都有3個先驗框,三個特征層共有9個提前計算好的先驗框。由于地板上的缺陷大小不一,有的缺陷占據了整副圖像,有的缺陷只是很小的一個黑點,因此想要提高缺陷的識別率,必須要對先驗框的尺寸進行優化,對數據集的缺陷數據進行聚類分析,使其更適合用來檢測地板表面缺陷。

標準的K-means聚類分析使用的是歐式測距法測量先驗框和臨近的目標真實框之間的距離[17],這樣會導致目標框越大,產生的誤差越大,因此引用新的計算方式[18]:

d(box,centroid)=1-IOU(box,centroid)

(1)

式中box代表數據集樣本中標注的邊框;centroid代表聚類分析時作為聚類中心的邊框;d(box,centroid)代表數據集樣本中標記的邊框到聚類中心的距離。

同時采用AvgIOU的方法來檢測聚類分析的結果的好壞,AvgIOU的計算方式

(2)

式中的IIOU(B,C)表示聚類的中心框與數據樣本的中心框的交互比;k代表聚類簇的數量;n代表樣本的總數;nk代表第k個聚類中心樣本的個數。聚類結果如圖4所示,結果的先驗框為(16,23),(20,32),(22,49),(30,42),(34,97),(49,49),(49,401),(59,157),(119,301),(129,85),(272,388),(378,92)。

圖4 k-means聚類分析結果

3.3 地板表面缺陷檢測流程

按照地板的缺陷種類,建立好地板數據集。使用改進后的K-means聚類算法進行聚類分析,生成最優的12種先驗框后,將先驗框和數據集按照8:1:1的比例作為訓練集、驗證集、測試集傳入改進后的YOLOv4網絡中進行訓練,在改進后的CSPDark-net53中進行卷積池化、上采樣和下采樣等特征提取后,將特征層結果輸出,最后訓練出loss值最低的模型文件。

訓練出的模型使用mAP進行檢測率和分類正確率計算,達到預期效果后進行實際現場預測調試,設置好閾值score和交互比IOU后,使用現場獲取的地板原圖進行檢測缺陷,檢測結果為缺陷類型、缺陷位置、缺陷大小,記錄結果,完成檢測。改進后YOLOv4的地板表面缺陷檢算法如圖5所示。

圖5 地板表面缺陷檢算法流程圖

圖6 地板缺陷分類

4 實驗與結果分析

4.1 實驗平臺

本文的實驗配置為臺式計算機,CPU為intel(R) Core(TM) i7-11700、GPU為NVIDIA GeForce RTX 3060 12G、運行內存為32G;64位Window 10操作系統,開發環境為:Python3.7、Tensorflow-gpu2.4.0、cuda11.0。

4.2 數據集

實驗的圖像采集部分使用工業攝像頭對缺陷地板進行拍攝,獲取了5200張圖像大小為416×416像素的缺陷圖像,其中訓練集、驗證集、測試集的比例為8∶1∶1。因為地板的紋理看起來比較相近,故數據集中添加了1000張困難樣本既正常的地板圖像,添加困難樣本在訓練的時候可以提高模型對缺陷的泛化能力,同時防止模型過擬合,分類后的地板數據集如圖7所示。缺陷標記使用Labeling軟件進行標記,標記結束后,會將缺陷名稱、缺陷框的左上和右下的坐標信息儲存在xml文件中,訓練模型的時候將提取這些信息進行訓練。

圖7 地板缺陷訓練集

地板表面的缺陷種類有很多,傳統的分類有19種缺陷,如果想要訓練多目標的缺陷檢測模型,每一種目標都需要龐大的數據集,但是實際的地板表面缺陷數據集中,部分缺陷目標數據集較少,難以單獨作為目標進行訓練。因此本文根據地板表面缺陷的特征、大小等信息進行研究,對具有相似特征的缺陷劃分為一個大類,使用labeling標記后進行訓練。

如圖6所示,本文將地板缺陷分為了黑點類、紋理類、亮點類共3類。

4.3 訓練模型

初始的學習率為0.0001,最小學習率為0.00001,訓練的batch_size為8,訓練epoch為100,IOU的閾值(IOU Threshold)為0.4,動量參數monentum為0.953。

訓練模型時,通過loss值的曲線可以查看訓練的效果,如圖8所示。YOLOv4中計算loss使用的損失函數為binary_crossentropy,輸出張量與目標張量之間的二進制交叉熵。計算方式

圖8 訓練loss值圖

(3)

4.4 實驗結果分析

為了評估地板缺陷檢測的結果,本文使用準確率Precision、召回率Recall、分類準確率Classification,作為模型檢測結果的評判標準。

(4)

(5)

(6)

式中:XTP代表模型預測缺陷正確的數量;XFP代表無缺陷但模型出缺陷的誤檢數量;XFN代表有缺陷但模型未檢測到的漏檢數量;XFC代表模型檢測出缺陷但分類出錯的錯檢數量。準確率Precision表示了模型預測出所有的缺陷中,正確的缺陷所占的比例。召回率Recall代表在所有人工標記的真實缺陷中,模型預測出正確缺陷所占的比例。分類準確率Classification代表在模型檢測出所有缺陷中,分類正確的比例。

評估模型整體檢測效率使用mAP,將Preci-sion和Recall進行接合,計算出三種缺陷的各自的mAP:黑點類檢測率為94%;紋理類檢測率為82%;亮點類檢測率為91%,整體的檢測率為89.07%。

再對網絡分類準確率進行測試,分類準確率Classification使用300張驗證集進行單獨測試,其中100張黑點類、100張紋理類、100張亮點類,將圖像進行缺陷檢測,統計正確檢測XTP的數量、漏檢XFN的數量、誤檢XFC的數量,最后使用式(6)計算分類準確率。實驗結果如表1所示。

表1 地板表面缺陷檢測分類準確率

從表1和實驗結果中分析得出,黑點類的分類準確率為93.91%;紋理類的分類準確率為93.33%;亮點類的分類準確率為96.73%。從實驗結果分析對比得知,紋理類的部分小劃痕和黑點的特征相似,會出現小部分誤檢情況,但并不影響整體的分類準確率,最后三個缺陷的平均分類準確率為94.62%,符合分類準確率的要求。

4.5 實驗結果對比

通過實際檢測結果進行網絡優化對比,本文的網絡名稱定義為“改進型-YOLOv4”,將使用初始的YOLOv4、YOLOv3、Faster R-CNN進行對照實驗。取這三個網絡,使用相同的訓練集,學習率與訓練批次等訓練參數均與改進型-YOLOv4設置相同。訓練出模型后,使用mAP對各自的缺陷檢測率做一個評估,同時隨機選取地板表面圖片進行缺陷檢測,對比檢測效果。

對三種算法的mAP進行統計,如表2所示,YOLOv4的檢測率比YOLOv3的高,改進型-YOLO-v4的mAP比改進前提升了5.77%,其中黑點類和亮點類的小目標檢測分別比改進前提升了8.64%和7.22%。改進后加入了(104,104)的特征層輸出,使得黑點、墨漬等不明顯的小目標更容易被檢測到,因此改進型-YOLOv4比未改進前有更好的表現。

表2 各算法檢測率對比

兩個不同模型的地板表面缺陷檢測對比如圖9所示,對比分析得出,在小斑點、小黑漬等目標的檢測效果上,改進型-YOLOv4有著更好的效果,并且通過預測框大小的對比,可以看出經過K-means聚類分析后的先驗框在預測目標的時候表現更好,標記缺陷的預測框尺寸更為精準。綜上在地板表面缺陷檢測效果上,改進型-YOLOv4檢測效果明顯好于未改進的。

5 結束語

本文提出了一種基于改進YOLOv4的地板表面缺陷檢測算法。在原有的YOLOv4算法基礎上,對CSPDarknet53的特征提取網絡輸出做了修改,增加了特征層的輸出,增加的特征層為(104,104)用于檢測小目標缺陷。在主干網絡中,增加的特征層進行上采樣融合和下采樣融合,使特征提取的更加充分,減少信息的丟失。同時在原有的先驗框聚類分析上,采用了自己的數據集進行聚類分析,將先驗框的數量調整至12個,新的先驗框更符合真實缺陷框。通過實驗對比,改進后的YOLOv4比改進前的YOLOv4和YOLOv3檢測率要提升了,加強了對地板表面缺陷的檢測能力。接下來要對改進后的YOLOv4的檢測速度進行研究,并做出提升。

猜你喜歡
先驗特征提取準確率
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
基于無噪圖像塊先驗的MRI低秩分解去噪算法研究
基于Daubechies(dbN)的飛行器音頻特征提取
高速公路車牌識別標識站準確率驗證法
基于自適應塊組割先驗的噪聲圖像超分辨率重建
Bagging RCSP腦電特征提取算法
基于平滑先驗法的被動聲信號趨勢項消除
先驗的廢話與功能的進路
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合