沈陽理工大學(xué) 黃海新 金 鑫
隨著制造業(yè)的高速發(fā)展,缺陷檢測(cè)在制造型企業(yè)中的重要性變得來越高。然而大多數(shù)生產(chǎn)廠商還使用人工或基于機(jī)器視覺的方法進(jìn)行缺陷檢測(cè)。人工檢測(cè)的效率和可靠性通常很低。采用機(jī)器視覺算法對(duì)產(chǎn)品進(jìn)行質(zhì)量檢測(cè)是一種比較成熟的方案。但缺陷種類過多時(shí),此類算法存在人工設(shè)計(jì)特征效率低、泛化性差、處理步驟繁瑣等缺陷。近年來的研究表明,深度學(xué)習(xí)方法已廣泛應(yīng)用于目標(biāo)檢測(cè)領(lǐng)域,但對(duì)小目標(biāo)檢測(cè)的研究較少。為了提高小目標(biāo)及小樣本的檢測(cè)精度,本文提出了一種基于YOLOv4的改進(jìn)方法。此方法不但可以滿足檢測(cè)的速度和精度,而且在小樣本的情況下成功的檢測(cè)出納米級(jí)尺度上的制造缺陷。
近年來,基于深度學(xué)習(xí)的方法在目標(biāo)檢測(cè)領(lǐng)域取得了重大突破。 因此將深度學(xué)習(xí)算法應(yīng)用于產(chǎn)品質(zhì)量檢測(cè),成為一個(gè)主流的研究方向。鑒于YOLO算法不但擁有極高的檢測(cè)速度,而且有著不遜于R-CNN系類算法的精度,因此成為本研究的首選研究算法。
本研究使用的數(shù)據(jù)集來自國內(nèi)某高端制造企業(yè)。樣本圖像為其生產(chǎn)線中的工業(yè)攝像頭拍攝的CMOS濾光片支架。尺寸大小為6.5×6.5mm。圖像樣本中共有五類缺陷。由于目標(biāo)物體尺寸小、經(jīng)網(wǎng)絡(luò)提取后的特征不明顯,因此小目標(biāo)物體檢測(cè)存在漏檢率高,檢測(cè)精度低等缺陷。此外廠商提供的數(shù)據(jù)集中只包含112張圖像。針對(duì)上述問題,本文在YOLOv4的基礎(chǔ)上做了如下的改進(jìn):
(1)在數(shù)據(jù)預(yù)處理階段,通過數(shù)據(jù)增強(qiáng)的方法將數(shù)據(jù)集擴(kuò)充至原數(shù)據(jù)集數(shù)量的8倍,然后使用mosaic數(shù)據(jù)增強(qiáng)方法進(jìn)行進(jìn)一步增強(qiáng)。
(2)使用先驗(yàn)框增強(qiáng)方法,將經(jīng)過優(yōu)化得到的先驗(yàn)框用于檢測(cè),進(jìn)而提高檢測(cè)精度。
由實(shí)驗(yàn)表明,經(jīng)過改進(jìn)版YOLOv4算法可以滿足廠商要求的檢測(cè)的速度和精度。
YOLOv4的網(wǎng)絡(luò)由主干網(wǎng)絡(luò)、頸部網(wǎng)絡(luò)和頭部網(wǎng)絡(luò)這三部分組成。其中,主干網(wǎng)絡(luò)為CSP-DarkNet53,CSP網(wǎng)絡(luò)是可以增強(qiáng)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力的新型主干網(wǎng)絡(luò),同時(shí)能夠在輕量化的同時(shí)保持準(zhǔn)確性、降低計(jì)算瓶頸、降低內(nèi)存成本。Darknet53是YOLOv3所是使用的主干網(wǎng)絡(luò),結(jié)合CSP網(wǎng)絡(luò)的思想形成CSPDarkNet53網(wǎng)絡(luò)。頸部網(wǎng)絡(luò)為SPP和PAN網(wǎng)絡(luò)。SPP網(wǎng)絡(luò)是將CSPDarkNet53卷積后得到的特征歸到同一大小。PAN網(wǎng)絡(luò)有著反復(fù)提取特征的結(jié)構(gòu),提高了檢測(cè)小目標(biāo)物體的精度。頭部網(wǎng)絡(luò)負(fù)責(zé)最后的預(yù)測(cè)任務(wù)。
在生產(chǎn)過程中,由于短時(shí)間內(nèi)很難搜集到大量帶有缺陷的樣本,因此使用數(shù)據(jù)增強(qiáng)的方法對(duì)原有數(shù)據(jù)集進(jìn)行預(yù)處理變得尤為重要。實(shí)驗(yàn)中采用的數(shù)據(jù)增強(qiáng)的方法主要有如下幾點(diǎn):
(1)幾何變換
即對(duì)圖像進(jìn)行幾何變換,包括翻轉(zhuǎn),旋轉(zhuǎn),裁剪,變形,縮放等各類操作。結(jié)合本實(shí)驗(yàn)數(shù)據(jù)集,這里主要應(yīng)用了鏡像和旋轉(zhuǎn)的方式進(jìn)行數(shù)據(jù)增強(qiáng),通過這兩種方法的結(jié)合,將數(shù)據(jù)集擴(kuò)充到原有數(shù)據(jù)集數(shù)量的8倍。
(2)mosaic數(shù)據(jù)增強(qiáng)
mosaic數(shù)據(jù)增強(qiáng)是在原有CutMix數(shù)據(jù)增強(qiáng)方法的基礎(chǔ)上提出的新的數(shù)據(jù)增強(qiáng)方法,理論上和CutMix類似。CutMix數(shù)據(jù)增強(qiáng)方式是利用兩張圖片進(jìn)行拼接,但是mosaic利用了四張圖片。其優(yōu)點(diǎn)是豐富檢測(cè)物體的背景,且在BN計(jì)算的時(shí)候一下子會(huì)計(jì)算四張圖片的數(shù)據(jù),使得mini-batch大小不需要很大,那么一個(gè)GPU就可以達(dá)到比較好的效果。mosaic數(shù)據(jù)增強(qiáng)效果如圖7所示。
通常數(shù)據(jù)集中待檢測(cè)物體大小不一,造成目標(biāo)大小差異的主要原因有兩個(gè):一是目標(biāo)物體本身大小不一,二是拍攝距離不同。對(duì)于本數(shù)據(jù)集,由于鏡頭到物體的距離是固定的。因此在該情況下,可以使用聚類算法預(yù)先統(tǒng)計(jì)數(shù)據(jù)集中所有缺陷樣本的大小來獲取先驗(yàn)框。使用聚類后得到的先驗(yàn)框進(jìn)行檢測(cè),增強(qiáng)了預(yù)測(cè)尺度的適應(yīng)性。
圖1 average IOU與聚類中心k的關(guān)系曲線
進(jìn)行聚類時(shí),選取聚類中心個(gè)數(shù)為1-9,分別運(yùn)行K-means++算法對(duì)數(shù)據(jù)集中的缺陷樣本進(jìn)行分析,得到average IOU與聚類中心k的關(guān)系如圖1所示。從圖中可以看出隨著k的逐漸增大,average IOU變化越來越平穩(wěn)。我們選取聚類中心為9,在此基礎(chǔ)上得到的先驗(yàn)框大小為(8,8)、(9,12)、(15,9)、(9,25)、(16,16)、(31,11)、(8,54)、(59,10)、(13,52)。
然后我們將這9中尺度的先驗(yàn)框每三個(gè)作為一組,平均分配到52×52、26×26、13×13這三個(gè)尺度的特征圖上,具體如表1所示。
表1 YOLO Head中特征圖與其對(duì)應(yīng)先驗(yàn)框大小
本研究基于國內(nèi)某廠的實(shí)際生產(chǎn)項(xiàng)目。要求開發(fā)基于深度學(xué)習(xí)的方法對(duì)流水線上的工業(yè)產(chǎn)品進(jìn)行實(shí)時(shí)的缺陷檢測(cè)。本次實(shí)驗(yàn)的數(shù)據(jù)集為生產(chǎn)廠商提供的56組帶有缺陷的芯片支架圖像。每組共兩張圖像,是由兩個(gè)工業(yè)攝像頭同時(shí)對(duì)同一缺陷產(chǎn)品采集的圖像。如圖2所示。
圖2 數(shù)據(jù)樣本
在數(shù)據(jù)集中缺陷類型共分成5類,缺陷類型如表2所示,其中各缺陷如圖3所示。
設(shè)置學(xué)習(xí)率設(shè)置為0.001,衰減系數(shù)設(shè)置為0.0005,并且選擇steps模式更新學(xué)習(xí)率,在訓(xùn)練迭代次數(shù)達(dá)到8000和9000次時(shí),將學(xué)習(xí)率分別降低至初始學(xué)習(xí)率的10%和1%。我們將原始的YOLOv4算法和經(jīng)過改進(jìn)的YOLOv4算法分別迭代10000次進(jìn)性訓(xùn)練。經(jīng)過10000次迭代之后,損失值和mAP基本趨于穩(wěn)定。最后的損失值下降到1.7左右,mAP大約在82%左右,各評(píng)價(jià)參數(shù)如表3所示。
表2 缺陷類型
表3 各評(píng)價(jià)參數(shù)
將改進(jìn)的YOLOv4算法和原YOLOv4算法進(jìn)行對(duì)比發(fā)現(xiàn):對(duì)小樣本問題,如何如何進(jìn)性數(shù)據(jù)增強(qiáng)是至關(guān)重要的。而對(duì)于小目標(biāo)檢測(cè)問題,我們使用了K-means算法分析數(shù)據(jù)集中的缺陷樣本,再用經(jīng)過增強(qiáng)過的先驗(yàn)框進(jìn)性預(yù)測(cè)。由實(shí)驗(yàn)數(shù)據(jù)可知,經(jīng)過改進(jìn)的YOLOv4算法無論是precision還是recall都比YOLOv4算法有所提高,同時(shí)在IOU=0.5時(shí)的mAP和average IoU也有所提高?;趯?shí)驗(yàn)結(jié)果,本文提出的改進(jìn)版YOLOv4算法對(duì)于小目標(biāo)物體檢測(cè)問題有實(shí)質(zhì)性的意義。
結(jié)束語:本文針對(duì)小目標(biāo)及小樣本檢測(cè)問題提出了改進(jìn)版的YOLOv4目標(biāo)檢測(cè)算法。根據(jù)實(shí)驗(yàn)數(shù)據(jù)集特點(diǎn),使用了數(shù)據(jù)增強(qiáng)及先驗(yàn)框增強(qiáng)的方法,實(shí)驗(yàn)結(jié)果顯示在檢測(cè)精度的各項(xiàng)指標(biāo)方面都有一定的提升。因此本文提出的先驗(yàn)框增強(qiáng)和數(shù)據(jù)增強(qiáng)方法對(duì)于其他小目標(biāo)物體檢測(cè)及小樣本問題有實(shí)質(zhì)性的指導(dǎo)意義。此外,本方法可應(yīng)用與高端制造行業(yè),如半導(dǎo)體行業(yè)、智能制造行業(yè)、軍工制造行業(yè)等。未來,提升檢測(cè)精度、降低模型復(fù)雜度仍然是主要研究方向。