博客專欄

EEPW首頁 > 博客 > 與時代共振,AI助力工業(yè)缺陷檢測

與時代共振,AI助力工業(yè)缺陷檢測

發(fā)布人:數(shù)據(jù)派THU 時間:2021-10-20 來源:工程師 發(fā)布文章

[ 摘要 ]由于深度學習強大的特征提取能力,代替了人工目檢和傳統(tǒng)的機器視覺,成為了工業(yè)缺陷檢測的新利器。然而,基于深度學習的語義分割技術在工業(yè)缺陷檢測領域的應用仍具有挑戰(zhàn)性。本文先對比自然場景下的語義分割,概述了工業(yè)缺陷檢測背景下語義分割技術的特點;接著,對于工業(yè)缺陷檢測的常見難點,對常見的解決方案進行介紹。最后,作者提出了關于工業(yè)缺陷檢測實際應用中一些問題的思考。

1 問題概述:工業(yè)缺陷檢測場景中的語義分割

語義分割是指使用語義標簽對圖像中的每一個像素進行分類。相比圖像分類,前者要求更高,因為后者只是預測整個圖像的單個標簽[1] 。相比于人工目檢的費時費力,傳統(tǒng)機器視覺強依賴于工程師的經(jīng)驗與試錯,基于深度學習的方法由于其端到端自動提取特征實現(xiàn)分割過程的特點而逐漸嶄露頭角。FCN(全卷積神經(jīng)網(wǎng)絡)[2]作為基于深度學習的語義分割技術的開山之作早在2014年就已經(jīng)被提出,但是計算機視覺背景下的語義分割研究大多以自然場景為主,例如常用的cityscape數(shù)據(jù)集[3],便是涵蓋了城市道路、車,人,樹等物體的自然場景數(shù)據(jù)集。工業(yè)缺陷檢測相比于自然場景,類別更少,而且工件表面一般背景干擾小,變化更少,而且可以通過硬件(如打光)等方式去改良光照等條件以獲取更好的數(shù)據(jù)集。那么是否意味著工業(yè)缺陷檢測中的語義分割更為簡單呢?

其實不然,簡單來說,工業(yè)缺陷檢測中的語義分割存在以下的問題:

類間差異小,存在模糊地帶:以磁瓦缺陷數(shù)據(jù)集[4]為例,線狀物體在多種缺陷或者無缺陷情況都有出現(xiàn)。這是這一數(shù)據(jù)集的固有屬性,也是缺陷檢測難做的原因。有一些情況,由于正負樣本類內(nèi)差異小,比如按照面積、灰度值等繪制其直方圖,中間過渡區(qū)域永遠存在一定量的樣本,處于灰色地帶,很難分辨。

類內(nèi)差異大:同一類缺陷下,缺陷的大小,形狀,位置多變。

樣本不平衡:有些數(shù)據(jù)集中,嚴重存在著正負樣本不平衡的問題,良品多,不良率小。

缺陷級別?。豪缭诖磐呷毕輸?shù)據(jù)集中 ,有些裂痕或者空洞的尺寸很小,對于目標細節(jié)的分辨率要求高。

1.png

圖1  磁瓦缺陷數(shù)據(jù)集[4] 該數(shù)據(jù)集是中國科學院自動所一個課題組收集的數(shù)據(jù)集,收集了6種常見磁瓦缺陷的圖像,并做了語義分割的標注。

下面我們結合上述難點,對于工業(yè)缺陷檢測的常見難點,對常見的解決方案進行介紹:

2.選擇什么樣的網(wǎng)絡拓撲可以捕捉目標細節(jié)?

Long等人提出了全卷積神經(jīng)網(wǎng)絡(FCN)[2]是基于深度學習的語義分割模型的一個里程碑。FCN將常用的CNN 架構(如VGG16和GoogleNet)中的全連接層替換成卷積層,即整個網(wǎng)絡結構為 先通過卷積層下采樣得到熱圖,再上采樣得到空間分割映射圖。如圖2所示,如果直接將經(jīng)過5次池化操作后得到的熱圖上采樣,則得到FCN32s。但是這樣的效果很差,這是經(jīng)過多次卷積池化操作,雖然得到的語義信息不斷增強,但是也造成了像素位置等信息的損失。

因此,F(xiàn)CN采用了(skip-connection)結構,這一結構將不同尺度的信息融合,這里主要用到的是將不同尺度的熱圖相加,得到了最終的分割結果(FCN8s)。相比于真實分割,網(wǎng)絡推理的結果忽略了很多目標細節(jié)結構,而在實際工業(yè)缺陷背景下,由于缺陷級別低,特別是有些缺陷的判定會規(guī)定尺寸,例如小于某一尺寸的缺陷可以算作良品。所以選擇能夠提高目標細節(jié)分辨率的網(wǎng)絡特別重要。

此外,F(xiàn)CN 表現(xiàn)不好的另一原因在于經(jīng)驗感受野和理論感受野的不一致[5]。感受野(ReceptiveField)是指卷積神經(jīng)網(wǎng)絡每一層輸出的特征圖(feature map)上的像素點在輸入圖片上映射的區(qū)域大小。圖4的實驗結果證明,F(xiàn)CN的經(jīng)驗感受野不及理論感受野的1/4,因此選擇能夠增強經(jīng)驗感受野的拓撲也是另一個重要的問題。

2.png

圖2 FCN 網(wǎng)絡拓撲示意圖[2] FCN將來自于不同深度層的信息融合

FCN-32s是將特征提取的最后一層經(jīng)過步長為32的上采樣的像素預測結果。FCN-16s融合最后一層和4次池化操作以后經(jīng)過步長為16的上采樣的像素預測結果。FCN-8s融合前面兩者和3次池化操作經(jīng)過步長為8的上采樣的像素預測結果。

3.png

圖3  FCN不同分辨率下(左一至左三)的分割效果與真實標簽的對比(右)[2]

4.png

圖4 FCN經(jīng)驗感受野嚴重缺失示意圖[5]從左至右依次是原始圖像;來自網(wǎng)絡最后一層通道的熱圖;由網(wǎng)絡結構定義的理論感受野;與之對應的經(jīng)驗感受野

顯然,經(jīng)驗感受野不夠大,不足以捕捉全局的背景。

FCN之后的語義分割模型大致可以分為以下幾類:編碼器-****結構、基于金字塔的模型、遞歸神經(jīng)網(wǎng)絡、視覺注意力模型,生成對抗網(wǎng)絡。我們著重介紹其中幾類能夠更好捕捉目標細節(jié),增強網(wǎng)絡的經(jīng)驗感受野的模型結構。

編碼器-****結構與FCN類似,編碼器相當于下采樣提取特征的過程,****相當于上采樣得到預測分割結果的過程。如圖5,Unet是這一結構中的代表作[6]。為了擴大感受野得到更多尺度的特征信息,****結構設計為多層卷積池化。此外,多尺度的信息融合的過程也更為豐富,相比于FCN的直接加和,這里利用了通道維度拼接的方法。

注意的是,在拼接之前,需要把前層的特征圖剪裁到和后層一樣的大小。在上采樣時,還加入了更為精細的卷積結構。SegNet是另一代表性結構[7](如圖6),在結構上看,SegNet和U-net其實大同小異。區(qū)別在于,SegNet沒有直接融合不同尺度的層的信息,而是利用了反池化操作,防止池化過程里像素位置的丟失。反池化是SegNet在池化的時候保留了最大池化對應的位置索引,然后上采樣的時候加入了這個索引,就可以恢復空間信息了。

在****中使用最大池化索引有幾個實際優(yōu)勢:

它改善了邊界的預測,因為避免了像素位置信息的損失;

它對算力友好,這是由于本身上采樣不會參與網(wǎng)絡訓練;

這種形式的上采樣可以合并到任何編碼器-****結構中。

5.png

圖5 Unet網(wǎng)絡拓撲示意圖[6]每個藍框?qū)粋€多通道特征圖

通道的數(shù)量在框的頂部表示。每一層的x-y尺寸在框的左下邊緣提供。白框表示復制的特征。箭頭表示不同的操作。

6.png

圖6 Segnet網(wǎng)絡拓撲圖[7]****使用編碼器保留的池化索引對其輸入進行上采樣,以生成稀疏特征映射

多尺度分析是圖像處理中的一個成熟思想,已被應用于各種神經(jīng)網(wǎng)絡結構中。Zhao等人開發(fā)了PSPN[8],如圖7所示,利用擴展后的殘差網(wǎng)絡(ResNet)作為特征提取器,這些特征圖被輸入一個金字塔池模塊,以四種不同的尺度匯集在一起,每一種對應于一個金字塔級別,金字塔層的輸出被上采樣,并與初始特征圖連接,以捕獲局部和全局上下文信息,從而可以更好地學習場景的全局上下文表示。

7.png

圖7 PSPN 網(wǎng)絡拓撲[8]

Deeplab系列是這一思想的另一個重要模型,其中最重要的組件就是Atrous Spatial Pyramid Pooling (ASPP),ASPP模塊。該模塊與上文的金字塔類似,不同在于將普通卷積換成了空洞卷積??斩淳矸e設置了采樣率,在不增加額外開銷的前提下,增強了感受野。除此之外,Deeplabv3之后相對于先前的版本,在ASPP中加入了BatchNormalization層和特征的全局平均池化。

加入特征的全局平均池化。圖8中的Image Pooling就是全局平均池化,它的加入是對全局特征的加強。另外,我們也可以把Deeplabv3+模型看成一個編碼器-****模型。編碼器部分可以利用Xception結構,這是一種可以有效減小參數(shù)量的深度可分離卷積。[9-11]

8.png

圖8 Deeplabv3+網(wǎng)絡拓撲示意圖[11]

33.png

15.jpg

圖9 ASqueeze-and-Excitation block[12]

Attention toscale[13]這篇論文中提出了一個基于多尺度注意力的模型。基于特征提取的共享網(wǎng)絡,假設輸入圖像的大小被調(diào)整至幾個比例1634735139822837.png。每個尺度都通過Deeplab(權重值在所有尺度上共享),并生成尺度為s的得分圖,表示為17.png。為了使得不同尺度的得分圖具有相同的分辨率,通過雙線插差值的辦法調(diào)整小尺度的得分圖。最后通道 c,位置 i 特征圖上的值:

18.png

其中19.png代表尺度 s 的得分圖中位置 i 的得分值。

3. 缺陷樣本少導致樣本不平衡怎么辦?

首先可以通過損失函數(shù)來改進。損失函數(shù)分兩類,一類是基于分布的,一類是基于區(qū)域的。[14]

基于分布的損失函數(shù)常見的就是圖像分類中經(jīng)常用到的交叉熵損失函數(shù),這是由于語義分割可以看成是每個像素點的分類問題。交叉熵損失的問題在于,當有缺陷的樣本很少時,它對于每個樣本的關注依然是相同的,這可能會導致漏檢的發(fā)生。加權交叉熵以及平衡交叉熵,可以改善這一狀況。

基于區(qū)域的損失函數(shù)最常見的就是Diceloss損失函數(shù)。這一損失函數(shù)首先在醫(yī)學影像語義分割的背景下提出[6]。從數(shù)學上它代表著召回率和精準率的調(diào)和平均值,因此同時兼顧了漏檢和過檢兩種情況。Diceloss的表達式如下:

20.png

y,p分別代表標注值和預測的概率值。公式中分子分母同時加1是拉普拉斯平滑化的結果,為了避免出現(xiàn)分母為0的情況?;贒ice loss,后續(xù)由相繼提出Tverskyloss, Focel Tversky loss等等。由于Dice loss函數(shù)的非凸特性,可能導致訓練時不收斂,近年來也有Log-CoshDice Loss對數(shù)損失被提出[14]。

除此之外,數(shù)據(jù)增強也是一個從原始數(shù)據(jù)集中提取更多信息的方式。數(shù)據(jù)增強的方法大致可以分為兩個類型:轉換現(xiàn)有圖片,標簽不變或者創(chuàng)造人工樣本并加入訓練集。轉換現(xiàn)有圖片常用的方法有幾何變換(如:翻轉,鏡像,旋轉)、色彩變換(如:rgb到hsv)、像素變換(高斯模糊,隨機擦除等)。人工創(chuàng)造則有圖像融合(例如將缺陷裁剪粘貼,泊松融合)、特征空間增強、生成對抗網(wǎng)絡等等[15]。

4. 一些思考

工業(yè)缺陷檢測的指標需要具體情況具體分析。有些場景下的工業(yè)缺陷檢測并不需要逐像素分類準確,需要知道缺陷種類和大致位置即可,更傾向于“目標分類”這樣的任務。之所以不采取目標檢測的方式,是由于缺陷表現(xiàn)形式不一,很難確定長寬比,從而進行錨框的設置。很多工業(yè)缺陷檢測的評價以計算機視覺領域常用的指標來判別模型的優(yōu)劣,如mAP(Mean Average Precision,均像素精度)等等,把其看成“目標檢測”或者“目標分割”問題,脫離了實際的工業(yè)應用。在實際應用中,應該結合具體情況設置合適的指標。

工業(yè)缺陷檢測的另一個問題是不良品樣本會在產(chǎn)線中不斷產(chǎn)生。這就帶來一個問題即:能否保持前期訓練的模型,利用新數(shù)據(jù)追加訓練模型。這就是數(shù)據(jù)增量學習(DataIncremental Deep Learning)。常見的增量學習有基于正則化,基于回放數(shù)據(jù)等等。以基于正則化的Lwf(learning without forgetting)學習為例,這一算法的主要思想是來自于知識蒸餾,也就除了分類損失,還有一項蒸餾損失,使新模型在新任務上的預測與舊模型在任務上的預測相近,從而避免新任務的訓練對舊模型過分調(diào)整導致新模型在舊任務上性能的下降[16]。增量學習可能成為未來工業(yè)缺陷檢測結合緊密的方向。

參考文獻:

[1] S.Minaee, Y. Y. Boykov, F. Porikli, A. J. Plaza, N. Kehtarnavaz, and D.Terzopoulos, "Image segmentation using deep learning: A survey," IEEE Transactions on Pattern Analysis andMachine Intelligence, 2021.

[2] J. Long, E. Shelhamer, and T. Darrell,"Fully convolutional networks for semantic segmentation," in Proceedings of the IEEE conference oncomputer vision and pattern recognition, 2015, pp. 3431-3440.

[3] M. Cordts et al., "The cityscapes dataset for semantic urban sceneunderstanding," in Proceedings ofthe IEEE conference on computer vision and pattern recognition, 2016, pp.3213-3223.

[4] Y. Huang, C. Qiu, and K. Yuan,"Surface defect saliency of magnetic tile," The Visual Computer, vol. 36, no. 1, pp. 85-96, 2020.

[5] W. Liu, A. Rabinovich, and A. C. Berg,"Parsenet: Looking wider to see better," arXiv preprint arXiv:1506.04579, 2015.

[6] O. Ronneberger, P. Fischer, and T. Brox,"U-net: Convolutional networks for biomedical image segmentation," inInternational Conference on Medical imagecomputing and computer-assisted intervention, 2015, pp. 234-241: Springer.

[7] V. Badrinarayanan, A. Kendall, and R.Cipolla, "Segnet: A deep convolutional encoder-decoder architecture forimage segmentation," IEEEtransactions on pattern analysis and machine intelligence, vol. 39, no. 12,pp. 2481-2495, 2017.

[8] H. Zhao, J. Shi, X. Qi, X. Wang, and J.Jia, "Pyramid scene parsing network," in Proceedings of the IEEE conference on computer vision and patternrecognition, 2017, pp. 2881-2890.

[9] L.-C. Chen, G. Papandreou, F. Schroff,and H. Adam, "Rethinking atrous convolution for semantic imagesegmentation," arXiv preprintarXiv:1706.05587, 2017.

[10] L.-C. Chen, G. Papandreou, I. Kokkinos,K. Murphy, and A. L. Yuille, "Deeplab: Semantic image segmentation withdeep convolutional nets, atrous convolution, and fully connected crfs," IEEE transactions on pattern analysis andmachine intelligence, vol. 40, no. 4, pp. 834-848, 2017.

[11] L.-C. Chen, Y. Zhu, G. Papandreou, F.Schroff, and H. Adam, "Encoder-decoder with atrous separable convolutionfor semantic image segmentation," in Proceedingsof the European conference on computer vision (ECCV), 2018, pp. 801-818.

[12] J. Hu, L. Shen, and G. Sun,"Squeeze-and-excitation networks," in Proceedings of the IEEE conference on computer vision and patternrecognition, 2018, pp. 7132-7141.

[13] L.-C. Chen, Y. Yang, J. Wang, W. Xu, andA. L. Yuille, "Attention to scale: Scale-aware semantic imagesegmentation," in Proceedings of theIEEE conference on computer vision and pattern recognition, 2016, pp.3640-3649.

[14] S. Jadon, "A survey of lossfunctions for semantic segmentation," in 2020 IEEE Conference on Computational Intelligence in Bioinformaticsand Computational Biology (CIBCB), 2020, pp. 1-7: IEEE.

[15] C. Shorten and T. M. Khoshgoftaar,"A survey on image data augmentation for deep learning," Journal of Big Data, vol. 6, no. 1, pp.1-48, 2019.

[16] Z. Li and D. Hoiem, "Learningwithout forgetting," IEEEtransactions on pattern analysis and machine intelligence, vol. 40, no. 12,pp. 2935-2947, 2017.

另外筆者在項目實踐中也曾受到下面文章的啟發(fā),特向作者表示致謝:

https://zhuanlan.zhihu.com/p/375828501

https://blog.csdn.net/scarecrow_wiscom/article/details/102819916

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: AI

相關推薦

技術專區(qū)

關閉