胡海濤,杜昊晨,王素琴,石 敏,朱登明
改進(jìn)YOLOX的藥品泡罩鋁箔表面缺陷檢測(cè)方法
胡海濤1,杜昊晨1,王素琴1,石 敏1,朱登明2,3
(1. 華北電力大學(xué)控制與計(jì)算機(jī)工程學(xué)院,北京 102206;2. 中國(guó)科學(xué)院計(jì)算技術(shù)研究所,北京 100190;3. 太倉(cāng)中科信息技術(shù)研究院,江蘇 太倉(cāng) 215400)
藥品泡罩包裝中鋁箔表面包含各種字體和圖案信息,而且鋁箔表面凹凸不平,拍攝中會(huì)出現(xiàn)明暗分布不均的情況,可導(dǎo)致缺陷特征和鋁箔表面特征相似度較高。針對(duì)YOLOX模型無(wú)法更加準(zhǔn)確區(qū)分缺陷特征和鋁箔表面特征的問題,提出一種改進(jìn)YOLOX模型的表面缺陷檢測(cè)方法。首先,為了使輸入到Prediction網(wǎng)絡(luò)的信息更具全局性,需要對(duì)Neck網(wǎng)絡(luò)中特征圖的全局特征進(jìn)行分析,于是將Neck網(wǎng)絡(luò)的CSP模塊替換成transformer encoder模塊。同時(shí)YOLOX模型具有較深的深度,為了有效地提高分類精度,使用Mish激活函數(shù)替換Swish激活函數(shù)。然后針對(duì)缺陷特征和鋁箔表面特征相似導(dǎo)致缺陷區(qū)域和背景區(qū)域分類困難的問題,在損失函數(shù)中引入focal loss。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的模型對(duì)鋁箔表面缺陷檢測(cè)的mAP為90.17%,比原始的YOLOX模型提高了4.95%,并且改進(jìn)的模型能夠降低和鋁箔表面特征相似度較高的缺陷誤檢和漏檢的概率。
鋁箔表面;缺陷檢測(cè);YOLOX;transformer編碼器;Mish;focal損失函數(shù)
在藥品泡罩包裝過(guò)程中,鋁箔表面會(huì)出現(xiàn)一些缺陷,比如密封不良、長(zhǎng)破損、褶皺、氣泡破損等。鋁箔和塑膜貼合部分會(huì)出現(xiàn)點(diǎn)狀的網(wǎng)紋,密封不良的原因是鋁箔和塑膜貼合的過(guò)程中發(fā)生了密封偏移,即在藥粒位置的鋁箔上出現(xiàn)了和鋁箔表面貼合部分相同的點(diǎn)狀網(wǎng)紋區(qū)域,如圖1(a)所示;長(zhǎng)破損為鋁箔上細(xì)長(zhǎng)狀的破損,鋁箔表面較暗的區(qū)域和長(zhǎng)破損特征很相似,如圖1(b)所示;褶皺為鋁箔和塑膜貼合部分在點(diǎn)狀網(wǎng)紋區(qū)域出現(xiàn)的皺起,該類缺陷和鋁箔中間凹陷區(qū)域具有相似的特征,如圖1(c)所示;氣泡破損為藥粒位置的鋁箔出現(xiàn)的大范圍破損,該缺陷區(qū)域較大,如圖1(d)所示。缺陷特征和背景特征相似度較高的問題給檢測(cè)帶來(lái)了很大地挑戰(zhàn)。
一些研究者將傳統(tǒng)的機(jī)器學(xué)習(xí)方法應(yīng)用于藥品泡罩包裝的鋁箔表面缺陷檢測(cè)之中,且取得了不錯(cuò)的效果[1-2],但使用的數(shù)據(jù)集未見復(fù)雜的字體和圖案信息,且缺陷區(qū)域與背景區(qū)域特征差異較小,缺陷識(shí)別難度較小。當(dāng)被檢測(cè)產(chǎn)品的表面出現(xiàn)各種字體或圖案信息、缺陷區(qū)域特征和背景特征相似等問題時(shí),傳統(tǒng)的機(jī)器學(xué)習(xí)方法很難適應(yīng)這類產(chǎn)品的表面缺陷檢測(cè)需求。
隨著深度學(xué)習(xí)的迅速發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)被廣泛應(yīng)用于工業(yè)產(chǎn)品的表面缺陷檢測(cè)研究[3-4]。基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)在具有復(fù)雜紋理結(jié)構(gòu)的圖像上取得了較高地檢測(cè)精度,能夠準(zhǔn)確地識(shí)別和定位缺陷,但是很少有研究者將基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)應(yīng)用在藥品包裝中鋁箔表面缺陷檢測(cè)領(lǐng)域。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)網(wǎng)絡(luò)根據(jù)是否生成候選框分為一階段和二階段2種方法。一階段方法直接從圖像中預(yù)測(cè)物體類別,如FCOS[5],EfficientDet[6]和YOLO系列等,具有檢測(cè)速度較快的優(yōu)勢(shì);二階段方法將目標(biāo)檢測(cè)分為生成候選框和目標(biāo)類別識(shí)別2部分,如fast R-CNN[7],SPP-Net[8]和faster R-CNN[9]等,具有檢測(cè)精度較高的優(yōu)勢(shì)。GE等[10]將YOLOv3-SPP[11]作為基準(zhǔn)網(wǎng)絡(luò)并進(jìn)行改進(jìn),提出了YOLOX網(wǎng)絡(luò)。YOLOX是典型的一階段目標(biāo)檢測(cè)網(wǎng)絡(luò),具有速度快、精度高的特點(diǎn),但是在鋁箔表面上和背景特征相似度較高的缺陷檢測(cè)中精度較低,不能滿足工業(yè)上高精度的要求。因此本文選取了YOLOX網(wǎng)絡(luò),并進(jìn)行了如下改進(jìn):
(1) 在Neck網(wǎng)絡(luò)中引入transformer encoder模塊[12],模塊中的自注意力機(jī)制可以將感受野提升為整個(gè)特征圖,在更大范圍內(nèi)學(xué)習(xí)特征圖的特征。Transformer encoder模塊可以使Prediction網(wǎng)絡(luò)獲得更有全局性視野的特征圖,提高了和背景相似度較高的缺陷的檢測(cè)效果。
(a) (b) (c) (d)
(2) 引入Mish激活函數(shù)[13]。YOLOX網(wǎng)絡(luò)中使用了Swish激活函數(shù)[14],與Mish激活函數(shù)相比,其能提高模型檢測(cè)的準(zhǔn)確性。
(3) 在損失函數(shù)中引入focal loss[15],針對(duì)樣本中缺陷區(qū)域和背景區(qū)域分類困難的問題,focal loss可以增加難分類樣本的權(quán)重,減少易分類樣本的權(quán)重,使得模型在訓(xùn)練時(shí)更專注于難分類的樣本,并能精確地區(qū)分檢測(cè)區(qū)域是否包含缺陷。
在藥品泡罩包裝缺陷檢測(cè)領(lǐng)域,一些研究者采用了傳統(tǒng)的機(jī)器學(xué)習(xí)方法并取得很好的效果。文獻(xiàn)[1]提出了基于四光源光度立體法的鋁箔缺陷檢測(cè)方法,提高了藥品泡罩包裝中鋁箔缺陷檢測(cè)效率。文獻(xiàn)[2]采用模板匹配方法進(jìn)行鋁箔印刷品質(zhì)量檢測(cè),其使用的數(shù)據(jù)集較本文數(shù)據(jù)集背景簡(jiǎn)單。當(dāng)檢測(cè)圖像背景包含各種字體和圖案信息較為復(fù)雜時(shí),傳統(tǒng)的機(jī)器學(xué)習(xí)方法不再適用。
近年來(lái),基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)在工業(yè)產(chǎn)品的表面缺陷檢測(cè)研究上得到了廣泛應(yīng)用。文獻(xiàn)[3]提出了一種改進(jìn)YOLOv3的金屬缺陷檢測(cè)算法,解決了目標(biāo)尺寸小和特征不清晰導(dǎo)致漏檢的問題。文獻(xiàn)[4]研究了一種基于ResNeXT-SSD模型的多目標(biāo)檢測(cè)算法,該算法既保證了不額外增加參數(shù)復(fù)雜度也保證了特征提取網(wǎng)絡(luò)的穩(wěn)定性。在藥品包裝之鋁箔表面缺陷檢測(cè)領(lǐng)域中,采用基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)進(jìn)行檢測(cè)的工作較少。
在YOLO系列的相關(guān)研究中,文獻(xiàn)[10]在YOLOv3-SPP網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行了大量改進(jìn),提出了YOLOX網(wǎng)絡(luò)。該網(wǎng)絡(luò)共分為3部分:Backbone,Neck和Prediction。Backbone網(wǎng)絡(luò)用于提取圖像特征,Neck網(wǎng)絡(luò)用于多尺度特征融合,Prediction網(wǎng)絡(luò)進(jìn)行識(shí)別和定位。
Backbone部分采用了CBS,F(xiàn)ocus,CSP和SPP結(jié)構(gòu),其中CBS由Conv+BN+Swish 3部分組成,F(xiàn)ocus結(jié)構(gòu)采用了切片操作,CSP結(jié)構(gòu)借鑒了CSPNet[16]的網(wǎng)絡(luò)結(jié)構(gòu),由卷積層和個(gè)殘差組件拼接組成。SPP結(jié)構(gòu)采用3個(gè)不同尺度的最大池化進(jìn)行處理,實(shí)現(xiàn)了多尺度融合。Neck部分使用了FPN[17]和PAN[18]結(jié)構(gòu),將語(yǔ)義特征和定位特征進(jìn)行高效融合,進(jìn)一步提高了特征提取能力。Prediction網(wǎng)絡(luò)采用了Decoupled Head,anchor free,Multi positives和SimOTA的方式,Decoupled Head采用多路卷積操作實(shí)現(xiàn)對(duì)目標(biāo)的分類和定位,將多路的輸出結(jié)果進(jìn)行拼接得到最終的輸出結(jié)果。Anchor free[10]相較anchor based[11]方式大大減少了參數(shù)量,且該方式設(shè)計(jì)的錨框巧妙地將主干網(wǎng)絡(luò)中下采樣的信息引入進(jìn)來(lái)。Multi positives方式以目標(biāo)中心點(diǎn)所在網(wǎng)格的3×3鄰域作為正樣本,該方法可緩解訓(xùn)練期正負(fù)樣本極端不平衡的問題。SimOTA為標(biāo)簽分配策略,首先設(shè)置候選框的數(shù)量,然后通過(guò)計(jì)算真實(shí)框和預(yù)測(cè)框得到的成本函數(shù)挑選候選框,最后過(guò)濾掉共用的候選框。該策略不僅減少了訓(xùn)練時(shí)間,也提高了模型的檢測(cè)精度。
本文針對(duì)鋁箔表面的缺陷特征設(shè)計(jì)了一種改進(jìn)YOLOX的缺陷檢測(cè)模型,模型總體結(jié)構(gòu)如圖2所示。
CSP模塊雖然增強(qiáng)了CNN的學(xué)習(xí)能力,但是感受野仍然局限于卷積核的大小,不能兼顧卷積核以外的像素信息。Transformer encoder中的自注意力機(jī)制可以將感受野提升為整個(gè)特征圖,在更大范圍內(nèi)分析特征圖的全局特征,因此本文將Neck中的CSP模塊替換為transformer encoder,transformer encoder模塊結(jié)構(gòu)如圖3所示,為了提高計(jì)算效率,本文將transformer encoder的數(shù)量設(shè)為1,Multi-Head Attention中的heads數(shù)量為4。
本文采用了Vision transformer的Embedding和encoder部分,首先將特征圖在維度上進(jìn)行變換,生成維度縮小的embedding序列,將得到的序列輸入到encoder里得到三維的張量,然后將張量擴(kuò)增至四維并對(duì)第一維和第四維進(jìn)行轉(zhuǎn)置,最后根據(jù)輸出通道數(shù)改變轉(zhuǎn)置后張量的維度。輸入的特征圖維度是[,,,],其中為樣本數(shù)量,為通道數(shù),和分別為特征圖的寬和高。特征圖的維度變化如圖4所示。
Encoder中包括Layernorm[19],Multi-Head Attention和MLP 3部分,首先將得到的Embedding序列輸入到Layernorm層,得到Q,K,V,將這些值輸入到Multi-Head Attention得到的結(jié)果和Embedding序列進(jìn)行殘差連接,將其結(jié)果作為輸入,然后將該輸入經(jīng)過(guò)Layernorm層和MLP模塊得到的結(jié)果和輸入進(jìn)行殘差連接作為最后的輸出結(jié)果。其中MLP模塊包含兩層高斯誤差線性單元[20](Gaussian error linear units,GELU)。
圖2 模型結(jié)構(gòu)
圖3 transformer encoder結(jié)構(gòu)
圖4特征圖維度變化
本文模型將CBS模塊中的Swish激活函數(shù)替換為Mish激活函數(shù),根據(jù)文獻(xiàn)[11]實(shí)驗(yàn)結(jié)論,在分類準(zhǔn)確率上,Mish激活函數(shù)優(yōu)于Swish激活函數(shù),而且隨著網(wǎng)絡(luò)加深,使用Mish激活函數(shù)仍然能保持較高的分類準(zhǔn)確率,而使用Swish激活函數(shù)分類準(zhǔn)確率則明顯下降。因此本文將Swish替換為Mish激活函數(shù),即
Mish激活函數(shù)如圖5所示。與Swish激活函數(shù)相同,Mish激活函數(shù)有下界,無(wú)上界,避免了網(wǎng)絡(luò)訓(xùn)練時(shí)因梯度為零導(dǎo)致的收斂緩慢,同時(shí)有利于網(wǎng)絡(luò)參數(shù)的正則化。
損失函數(shù)可通過(guò)計(jì)算目標(biāo)框和正樣本預(yù)測(cè)框兩者的誤差得到,主要包含:①iou_loss:目標(biāo)框和真實(shí)框的位置信息誤差;②obj_loss:判斷目標(biāo)框中的對(duì)象是缺陷還是背景;③cls_loss:目標(biāo)框中對(duì)象所屬類別的誤差。損失函數(shù)即為三部分之和,即
其中,采用的是傳統(tǒng)的iou loss;采用的是focal loss;采用的是BCEWithLogitsLoss。
Focal loss在訓(xùn)練過(guò)程中通過(guò)(權(quán)重因子)為正負(fù)樣本附上權(quán)重值,其中正樣本檢測(cè)缺陷區(qū)域的樣本,負(fù)樣本檢測(cè)背景區(qū)域的樣本。Focal loss還加入調(diào)制系數(shù)(1-p)以控制難分類和易分類樣本的權(quán)重,即
其中,=1為正確預(yù)測(cè)的樣本;為樣本屬于正確類別的概率。
本文實(shí)驗(yàn)運(yùn)行環(huán)境為:處理器是Intel(R) Core(TM) i9-10900K CPU,64 G內(nèi)存,顯卡是NVIDIA RTX3090 24 G, Ubuntu 20.04 LST 64位操作系統(tǒng),深度神經(jīng)網(wǎng)絡(luò)在pytorch深度學(xué)習(xí)框架上搭建,編譯器為pycharm。
本文所用數(shù)據(jù)集采集于蘇州某公司生產(chǎn)的泡罩包裝產(chǎn)品,共包含4類缺陷,分別為密封不良(poor_sealing)、長(zhǎng)破損(long_damage)、褶皺(fold)和氣泡破損(broken_blister),共計(jì)1 007張,缺陷數(shù)量如圖6所示。按照4∶1的比例劃分?jǐn)?shù)據(jù)集,其中訓(xùn)練集有805張,測(cè)試集有202張。
圖6 缺陷數(shù)量
首先對(duì)圖像進(jìn)行預(yù)處理,為了保持原模型的輸入大小,將圖像尺寸從1920×720縮放為640×640。此外對(duì)訓(xùn)練集采用了Mosaic和Mixup[21]2種數(shù)據(jù)增強(qiáng)方法,增強(qiáng)后的訓(xùn)練集有2 007張,解決了缺陷樣本數(shù)量有限的問題。
Mosaic數(shù)據(jù)增強(qiáng)方法是隨機(jī)選取4張圖像,然后在一個(gè)1280×1280大小的畫布中隨機(jī)選取一個(gè)點(diǎn),選取比例為[0.5,1.5],之后按照左上、右上、左下、右下4個(gè)順序一次對(duì)4張圖像進(jìn)行拼接。最后將畫布大小裁剪成640×640,該方法大大豐富了訓(xùn)練數(shù)據(jù)集,增強(qiáng)效果如圖7所示。
圖7 Mosaic數(shù)據(jù)增強(qiáng)
Mixup在Mosaic的基礎(chǔ)上增加了一種額外的增強(qiáng)策略,隨機(jī)選取2張圖像,然后設(shè)置一個(gè)融合系數(shù),將縮放后的2張圖像進(jìn)行隨機(jī)加權(quán)融合,最終得到融合后的圖像。如圖8所示,圖像的標(biāo)簽與加權(quán)融合之后的結(jié)果相對(duì)應(yīng)。計(jì)算方法為
其中,l∈[0,1],xi,xj為原始圖像;yi,yj為圖像標(biāo)簽編碼;,分別為融合后的圖像及標(biāo)簽編碼。
模型使用隨機(jī)梯度下降(stochastic gradient descent,SGD)進(jìn)行訓(xùn)練,初始學(xué)習(xí)率設(shè)置為0,使用cosine學(xué)習(xí)機(jī)制,權(quán)重衰減設(shè)置為0.000 5。訓(xùn)練的batchsize設(shè)置為2,訓(xùn)練迭代400次。
本文采用準(zhǔn)確率(precision,P)和召回率(recall,R)計(jì)算出的平均精度均值(mean average precision,mAP)作為模型性能的評(píng)估指標(biāo)。mAP是所有缺陷類別平均精度的均值,用來(lái)評(píng)估檢測(cè)模型的整體性能。此外,Accuracy表示模型分類準(zhǔn)確率,即
其中,TP(true positive)為被正確預(yù)測(cè)的正例;TN(true negative)為被正確預(yù)測(cè)的負(fù)例;FP(false positive)為被錯(cuò)誤預(yù)測(cè)的正例;FN(false negative)為被錯(cuò)誤預(yù)測(cè)的正例。+為所有樣本,為檢測(cè)類別數(shù);()為第類缺陷的AP值,即
3.3.1 不同模型結(jié)果對(duì)比
為了驗(yàn)證模型的綜合檢測(cè)性能,將本文模型與SSD,Efficientdet,Centernet,YOLOv5,F(xiàn)aster R-CNN和YOLOX進(jìn)行對(duì)比,評(píng)價(jià)指標(biāo)為4類缺陷的AP值、mAP值和FPS,實(shí)驗(yàn)結(jié)果見表1。此外,本文實(shí)驗(yàn)評(píng)價(jià)指標(biāo)中的AP,mAP為AP0.50和mAP0.50,即當(dāng)IoU=0.50時(shí)AP和mAP的值。
表1 不同檢測(cè)模型的比較
注:加粗?jǐn)?shù)據(jù)為最優(yōu)值
由表1可知,在poor_sealing,long_damage和fold 3類缺陷的檢測(cè)精度和所有缺陷的mAP中,本文模型優(yōu)于其他模型,但對(duì)第四類broken_blister缺陷的精度比YOLOv5低0.49%,但相差不大。本文模型的檢測(cè)速度雖不及YOLOv5和YOLOX,但優(yōu)于SSD,Efficientdet,Centernet和Faster R-CNN模型,在實(shí)際工業(yè)生產(chǎn)中,這種時(shí)間差仍在允許范圍內(nèi)。從實(shí)驗(yàn)結(jié)果可知,改進(jìn)Neck網(wǎng)絡(luò)、引入Mish激活函數(shù)和focal loss,能夠有效提高鋁箔表面缺陷的檢測(cè)精度。對(duì)于poor_sealing類,本文模型檢測(cè)該類缺陷的AP值比YOLOX提升了3.63%,而long_damage,fold和broken_blister類的AP值分別比YOLOX提升了5.50%,8.57%和2.09%。實(shí)驗(yàn)結(jié)果表明本文算法在鋁箔表面缺陷檢測(cè)上表現(xiàn)良好,能夠有效提高和背景特征相似度較高的缺陷的檢測(cè)精度。圖9為本文模型檢測(cè)各類缺陷的P-R曲線,其中陰影部分面積為該類缺陷的檢測(cè)精度(AP)。
使用YOLOX模型和本文模型分別對(duì)鋁箔表面缺陷進(jìn)行檢測(cè),如圖10所示。對(duì)比圖中原始和改進(jìn)的YOLOX,可以看出本文模型能夠檢測(cè)出所有的缺陷,同時(shí)減少了poor_sealing,long_damage,fold,broken_blister誤檢和poor_sealing漏檢情況的發(fā)生,表明改進(jìn)后的模型能有效降低和背景特征相似度較高的缺陷誤、漏檢的概率。
3.3.2 引入transformer encoder模塊
YOLOX模型的Neck網(wǎng)絡(luò)部分改進(jìn)前、后結(jié)果見表2。從實(shí)驗(yàn)結(jié)果可知,使用transformer encoder模塊之后,4類缺陷的AP值分別提升了0.30%,2.40%,4.98%和2.56%,所有缺陷的mAP值提升了2.56%,說(shuō)明改進(jìn)的Neck網(wǎng)絡(luò)能夠?qū)W習(xí)到更全面的特征圖信息,在檢測(cè)速度小幅度降低的情況下提高了缺陷的檢測(cè)精度。
圖9 不同缺陷類型的P-R曲線((a)密封不良;(b)長(zhǎng)破損;(c)褶皺;(d)氣泡破損)
圖10 檢測(cè)效果對(duì)比((a) Groud truth;(b) YOLOX;(c)改進(jìn)YOLOX)
表2 Neck網(wǎng)絡(luò)改進(jìn)效果
注:加粗?jǐn)?shù)據(jù)為最優(yōu)值
3.3.3 引入Mish激活函數(shù)
表3為改進(jìn)激活函數(shù)前后的實(shí)驗(yàn)結(jié)果對(duì)比,并增加了分類準(zhǔn)確率的對(duì)比,即鋁箔表面是否含有缺陷,來(lái)評(píng)估模型的準(zhǔn)確性。從實(shí)驗(yàn)結(jié)果可知,改進(jìn)后所有缺陷的mAP值相比之前提升了3.77%,后三類缺陷分別提升了4.93%,8.60%和2.56%,第一類缺陷的AP值降低了1.02%,分類準(zhǔn)確率提升了0.85%,說(shuō)明改進(jìn)激活函數(shù)在poor_sealing缺陷精度和檢測(cè)速度小幅降低的情況下提升了缺陷的檢測(cè)精度和分類準(zhǔn)確率。
3.3.4 引入focal loss
Focal loss函數(shù)中有和2個(gè)參數(shù),通過(guò)取不同參數(shù)值進(jìn)行對(duì)比試驗(yàn),實(shí)驗(yàn)結(jié)果見表4。從實(shí)驗(yàn)結(jié)果可知,當(dāng)為0.25,為1時(shí),四類缺陷的mAP值最高,因此本文選擇=0.25,=1進(jìn)行后續(xù)實(shí)驗(yàn)。
表3 激活函數(shù)改進(jìn)效果
注:加粗?jǐn)?shù)據(jù)為最優(yōu)值
表4 不同αt,γ取值mAP對(duì)比
注:加粗?jǐn)?shù)據(jù)為最優(yōu)值
圖11為和2個(gè)參數(shù)取不同值時(shí)的總體損失曲線圖,可以發(fā)現(xiàn)損失值的變化趨勢(shì)接近,其中當(dāng)=0.25,=1時(shí),對(duì)應(yīng)的損失曲線下降幅度介于其他取值時(shí)的下降幅度之間,但缺陷的mAP值最高。
表5為改進(jìn)損失函數(shù)前、后的實(shí)驗(yàn)結(jié)果對(duì)比,從實(shí)驗(yàn)結(jié)果可知,使用focal loss之后,后三類缺陷的AP值分別提升了6.17%,8.38%和2.37%,第一類缺陷的AP值降低了0.20%,所有缺陷的mAP值提升了4.18%,說(shuō)明改進(jìn)損失函數(shù)能夠在poor_sealing缺陷精度和檢測(cè)速度小幅度降低的情況下提升缺陷的檢測(cè)精度。圖12為obj_loss分別使用BCEWithLogitsLoss和focal loss進(jìn)行訓(xùn)練的總損失曲線,可以看出使用focal loss之后損失值明顯減小,而且模型訓(xùn)練更加穩(wěn)定,收斂速度更快。
3.3.5 不同策略組合實(shí)驗(yàn)
Transformer encoder模塊、focal loss和Mish激活函數(shù)的不同組合也可以提高鋁箔表面缺陷的檢測(cè)精度,本文做了多組對(duì)比實(shí)驗(yàn)來(lái)說(shuō)明transformer encoder模塊、focal loss和Mish激活函數(shù)的多種組合可以在不同程度提高檢測(cè)精度,對(duì)比結(jié)果見表6。
圖11 at,g不同取值下的損失曲線
圖12 訓(xùn)練總損失曲線
表5 損失函數(shù)改進(jìn)效果
注:加粗?jǐn)?shù)據(jù)為最優(yōu)值
由N1和N4可知,引入focal loss使得前三類缺陷的AP值分別提升了2.99%,0.69%和0.06%,第四類降低了0.47%,所有缺陷的mAP值提升了0.82%,說(shuō)明該損失函數(shù)能夠更加準(zhǔn)確地區(qū)分缺陷區(qū)域和鋁箔表面區(qū)域。由N2和N4可知,引入Mish激活函數(shù)使得前三類缺陷的AP值分別提升了3.87%,1.52%和2.43%,第四類缺陷的AP值降低了0.20%,所有缺陷的mAP值提升了1.90%,說(shuō)明該激活函數(shù)能夠在一定程度上提高分類精度。由N3和N4可以得知,引入transformer encoder模塊使得前三類缺陷的AP值分別提升了2.98%,3.62%和0.50%,第四類缺陷的AP值降低了0.57%,所有缺陷的mAP值提升了1.63%,說(shuō)明該模塊通過(guò)分析特征圖的全局特征能夠有效區(qū)分缺陷特征和鋁箔表面特征。
由以上分析可知,引入transformer encoder和Mish激活函數(shù)和focal loss可以在broken_blister缺陷精度小幅度降低的情況下有效提升和背景特征相似度較高的缺陷檢測(cè)精度。
3.3.6 泛化性驗(yàn)證
為了驗(yàn)證本文模型的泛化性,采用了從江蘇某公司生產(chǎn)的藥品泡罩包裝產(chǎn)品中采集的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
數(shù)據(jù)集中的缺陷包括鋁箔壓壞(crush)、破損(damage)、圓點(diǎn)(dot)、臟污(dirty),鋁箔壓壞和破損是在鋁箔熱封過(guò)程中由于設(shè)備振動(dòng)擠壓藥片導(dǎo)致的,圓點(diǎn)和臟污是在鋁箔生產(chǎn)過(guò)程中出現(xiàn)的。鋁箔壓壞出現(xiàn)在藥粒區(qū)域,具有和點(diǎn)狀網(wǎng)紋區(qū)域相似的特征,如圖13(a)所示;破損多出現(xiàn)在印字區(qū)域,具有和該區(qū)域相似的特征,如圖13(b)所示;圓點(diǎn)為藥粒區(qū)域上的小凹坑,具有和該區(qū)域相似的特征,如圖13(c)所示;臟污為深褐色印跡,多出現(xiàn)在鋁箔表面的字體、網(wǎng)紋和藥粒區(qū)域上,具有和這些區(qū)域相似的特征,如圖13(d)所示。由此可知,該數(shù)據(jù)集同樣存在缺陷特征和鋁箔表面特征相似度較高的問題。
表6 不同策略組合實(shí)驗(yàn)
注:N1~N4為加入不同改進(jìn)策略的檢測(cè)模型
圖13 鋁箔表面缺陷((a)鋁箔壓壞;(b)破損;(c)圓點(diǎn);(d)臟污)
該數(shù)據(jù)集共計(jì)有905張圖片,缺陷數(shù)量如圖14所示。按照4∶1的比例劃分?jǐn)?shù)據(jù)集,其中訓(xùn)練集有724張,測(cè)試集有181張。圖像分辨率為3000×3000像素,首先將圖像縮放至640×640大小,然后對(duì)訓(xùn)練集進(jìn)行了Mosaic和Mixup[21]數(shù)據(jù)增強(qiáng),增強(qiáng)后的訓(xùn)練集有1 810張。
在實(shí)驗(yàn)環(huán)境和模型參數(shù)設(shè)置不變的情況下,將本文模型與SSD,Efficientdet,Centernet,YOLOv5,F(xiàn)aster R-CNN和YOLOX進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果見表7。從表中可知,針對(duì)四類缺陷的AP值和所有缺陷的mAP值,本文模型均高于其他模型,檢測(cè)速度略慢于YOLOv5和YOLOX,但仍可滿足工業(yè)生產(chǎn)實(shí)時(shí)性的要求。實(shí)驗(yàn)結(jié)果顯示本文模型在吳中醫(yī)藥數(shù)據(jù)集上表現(xiàn)良好,說(shuō)明本文模型具有較好的泛化性。
使用YOLOX模型和本文模型分別對(duì)吳中醫(yī)藥的數(shù)據(jù)進(jìn)行檢測(cè),結(jié)果如圖15所示。從圖中可以看出,本文模型能夠減少crush,damage,dot和dirty誤檢情況的發(fā)生,說(shuō)明本文模型能夠更加準(zhǔn)確地檢測(cè)出缺陷。
圖14 缺陷數(shù)量
表7 不同檢測(cè)模型的比較
注:加粗?jǐn)?shù)據(jù)為最優(yōu)值
圖15 檢測(cè)效果對(duì)比
為了解決藥品泡罩包裝中鋁箔表面缺陷特征和鋁箔表面特征相似度較高,本文提出了一種改進(jìn)YOLOX模型的鋁箔表面缺陷檢測(cè)模型。首先將Neck網(wǎng)絡(luò)的CSP模塊替換成transformer encoder模塊,以此提高感受野的范圍,使得Prediction網(wǎng)絡(luò)可以獲得更全面的信息。其次使用Mish激活函數(shù)替換Swish激活函數(shù),可以有效地防止過(guò)擬合,提高網(wǎng)絡(luò)的魯棒性。此外在損失函數(shù)中引入focal loss能夠使模型更加精確地區(qū)分檢測(cè)區(qū)域是否為缺陷區(qū)域。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的模型提高了檢測(cè)精度,而且改進(jìn)的模型能夠降低和鋁箔表面特征相似度較高的缺陷的誤檢和漏檢的概率。雖然檢測(cè)速度相比改進(jìn)前有所增加,但是仍然能夠滿足工業(yè)生產(chǎn)上實(shí)時(shí)檢測(cè)的需求。本文算法的不足是針對(duì)面積特別小的缺陷檢測(cè)精度仍然較低,后續(xù)可進(jìn)一步改進(jìn)網(wǎng)絡(luò),增強(qiáng)對(duì)面積特別小的缺陷的特征提取能力。
[1] 黃秀玲, 陸宏建, 任超, 等. 基于四光源光度立體法的藥品泡罩包裝中鋁箔缺陷檢測(cè)方法[J]. 包裝學(xué)報(bào), 2018, 10(3): 47-51.
HUANG X L, LU H J, REN C, et al. The method of aluminum foil defect detection in medicine packaging based on four-light photometric stereo method[J]. Packaging Journal, 2018, 10(3): 47-51 (in Chinese).
[2] 姚爽, 韓震宇, 馬鵬, 等. 基于機(jī)器視覺的藥用鋁箔印刷品質(zhì)檢測(cè)系統(tǒng)[J]. 計(jì)測(cè)技術(shù), 2016, 36(4): 17-21.
YAO S, HAN Z Y, MA P, et al. Print quality detection system for medicinal aluminum foil based on machine vision[J]. Metrology & Measurement Technology, 2016, 36(4): 17-21 (in Chinese).
[3] 程婧怡, 段先華, 朱偉. 改進(jìn)YOLOv3的金屬表面缺陷檢測(cè)研究[J]. 計(jì)算機(jī)工程與應(yīng)用, 2021, 57(19): 252-258.
CHENG J Y, DUAN X H, ZHU W. Research on metal surface defect detection by improved YOLOv3[J]. Computer Engineering and Applications, 2021, 57(19): 252-258 (in Chinese).
[4] 陳婉琴, 唐清善. 基于ResNeXt-SSD的多目標(biāo)缺陷檢測(cè)算法[J]. 信息技術(shù)與信息化, 2021(6): 72-74.
CHEN W Q, TANG Q S. Multi-target defect detection algorithm based on ResNeXt-SSD[J]. Information Technology and Informatization, 2021(6): 72-74 (in Chinese).
[5] TIAN Z, SHEN C H, CHEN H, et al. FCOS: fully convolutional one-stage object detection[C]//2019 IEEE/CVF International Conference on Computer Vision. New York: IEEE Press, 2019: 9626-9635.
[6] TAN M X, PANG R M, LE Q V. EfficientDet: scalable and efficient object detection[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2020: 10778-10787.
[7] GIRSHICK R. Fast R-CNN[EB/OL]. (2015-9-27) [2021-12- 12]. https://arxiv.org/abs/1504.08083v2.
[8] HE K, ZHANG X, REN S, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916.
[9] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[10] GE Z, LIU S T, WANG F, et al. YOLOX: exceeding YOLO series in 2021 [EB/OL]. (2021-08-06) [2021-12-12]. https://arxiv. org/abs/2107.08430.
[11] REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. (2018-04-08) [2021-12-15]. https:// arxiv.org/abs/1804.02767.
[12] DOSOVITSKIY A, BEYER L, KOLESNIKOV A, et al. An image is worth 16x16 words: transformers for image recognition at scale [EB/OL]. (2021-06-03) [2021-12-20]. https://arxiv.org/abs/2010.11929.
[13] MISRA D.Mish: a self regularized non-monotonic neural activation function[EB/OL]. (2019-08-23) [2021-12-20]. https://arxiv.org/abs/1908.08681.
[14] RAMACHANDRAN P, ZOPH B, LE Q V. Searching for activationfunctions[EB/OL]. (2017-10-16) [2021-12-20]. https://arxiv.org/abs/1710.05941.
[15] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for Dense Object Detection[EB/OL]. (2018-02-07) [2021-12-20]. https://arxiv.org/abs/1708.02002.
[16] WANG C Y, MARK LIAO H Y, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. New York: IEEE Press, 2020: 1571-1580.
[17] LIN T Y, DOLLáR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2017: 936-944.
[18] LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. New York: IEEE Press, 2018: 8759-8768.
[19] BA J L, KIROS J R, HINTON G E. Layer normalization[EB/OL]. (2016-07-21) [2022-01-10]. https://arxiv.org/abs/1607.06450.
[20] HENDRYCKS D, GIMPEL K. Gaussian error linear units (gelus)[EB/OL]. (2016-06-27) [2022-01-10]. https://arxiv.org/ abs/1606.08415.
[21] ZHANG H Y, CISSE M, DAUPHIN Y N, et al. Mixup: beyond empirical risk minimization[EB/OL]. (2018-04-27) [2022-01-15].https://arxiv.org/abs/1710.09412.
Improved YOLOX method for detecting surface defects of drug blister aluminum foil
HU Hai-tao1, DU Hao-chen1, WANG Su-qin1, SHI Min1, ZHU Deng-ming2,3
(1. College of Control and Computer Engineering, North China Electric Power University, Beijing 102206, China; 2. Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China; 3. Taicang Institute of Information Technology, Taicang Jiangsu 215400, China)
The surface of aluminum foil in drug blister packaging contains various information on fonts and patterns, and the surface of aluminum foil is uneven, leading to the uneven distribution of light and dark. To address the problem that the YOLOX model cannot more accurately distinguish the defect features from the surface features of aluminum foil, a surface defect detection method based on the improved YOLOX model was proposed. Firstly, in order to enhance the globality of the information input to the Prediction, it was necessary to analyze the global features of the feature map in the Neck network,so the CSP module of the Neck network was replaced with the transformer encoder module. At the same time, the YOLOX model has a deep depth, and to effectively improve the classification accuracy, the Mish activation function was utilized to replace the Swish activation function. Then, focal loss was introduced into the loss function to solve the problem of difficulty in classifying defect regions and background regions due to the similarity of defect features and aluminum foil surface features. The experimental results show that the mAP of the improved model for the detection of aluminum foil surface defects was 90.17%, which was 4.95% higher than the original YOLOX model,and that the improved model can reduce the probability of false detection and missed detection of defects with high similarity to the surface features of aluminum foil.
aluminum foil surface; defect detection; YOLOX; transformer encoder; Mish; focal loss
TP 391
10.11996/JG.j.2095-302X.2022050803
A
2095-302X(2022)05-0803-12
2022-02-13;
2022-07-05
13 February,2022;
5 July,2022
國(guó)家自然科學(xué)基金項(xiàng)目(61972379);國(guó)家重點(diǎn)研發(fā)計(jì)劃課題(2020YFB1710400)
National Natural Science Foundation of China (61972379); National Key Research and Development Plan Subject (2020YFB1710400)
胡海濤(1973-),男,副教授,博士。主要研究方向?yàn)榇髷?shù)據(jù)分析、軟件架構(gòu)技術(shù)等。E-mail:huhaitao@ncepu.edu.cn
HU Hai-tao (1973-), associate professor, Ph.D. His main research interests cover big data analysis, software architecture technology, etc. E-mail:huhaitao@ncepu.edu.cn
石 敏(1975-),女,副教授,博士。主要研究方向?yàn)橛?jì)算機(jī)視覺、虛擬現(xiàn)實(shí)等。E-mail:shi_min@ncepu.edu.cn
SHI Min (1975-), associate professor, Ph.D. Her main research interests cover computer vision, virtual reality, etc. E-mail:shi_min@ncepu.edu.cn