前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計算機視覺下的表面缺陷檢測方法范文,希望能給你帶來靈感和參考,敬請閱讀。
【摘要】隨著自動化技術(shù)的發(fā)展,工業(yè)中的許多環(huán)節(jié)逐漸由機器人替代。產(chǎn)品表面缺陷檢測便是其中重要的一環(huán),對產(chǎn)品質(zhì)量把控有著至關(guān)重要的作用。傳統(tǒng)人工通過肉眼對產(chǎn)品進行判斷,速度慢,成本高,且工人主觀判斷素會影像檢測結(jié)果的準確性。然而使用機器和算法代替人工檢測卻面臨不小挑戰(zhàn),在真實的生產(chǎn)環(huán)境下,部分圖像成像質(zhì)量差,存在大量噪聲、干擾。采用圖像處理算法或者手工提取特征的方法在這些場景下難以取得較好的檢測效果。直到近年來,人工智能進入快速發(fā)展期,深度學(xué)習(xí)在計算機視覺領(lǐng)域取得了重大突破。在圖像分類、目標檢測、圖像分割等問題上都有了很好的效果。在諸多領(lǐng)域得到了成果應(yīng)用,人臉識別、行人檢測、自動駕駛等。將基于深度學(xué)習(xí)的計算機視覺應(yīng)用在表面缺陷檢測也成為了一大發(fā)展趨勢。本文介紹了多個計算機視覺任務(wù)和相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu),探究并對比在缺陷檢測問題上的實際應(yīng)用,分析了基于深度學(xué)習(xí)的計算機視覺在缺陷檢測領(lǐng)域應(yīng)用的問題,最后進行總結(jié)與展望。
【關(guān)鍵詞】計算機視覺;表面缺陷;檢測;深度學(xué)習(xí)
一、缺陷檢測問題的定義
工件缺陷主要是生產(chǎn)過程中,機器偶發(fā)故障、員工操作失誤或者生產(chǎn)環(huán)境問題造成表面或內(nèi)部的瑕疵。表面缺陷,可以直接使用普通相機拍攝的圖片進行檢測,而內(nèi)部缺陷,則需要使用工業(yè)CT拍攝的CT圖像,本文主要討論的是,工業(yè)產(chǎn)品表面缺陷檢測。受各種因素影響,表面缺陷的類型多種多樣,以鋁材表面為例,有漆泡、擦花、桔皮等各種類型的缺陷。對于不同的缺陷類型需要采取不同的操作措施,部分缺陷對質(zhì)量的影響較小,可以降價處理,部分缺陷可以修復(fù),包含嚴重影響質(zhì)量缺陷的產(chǎn)品則不能繼續(xù)銷售。因此實際應(yīng)用中,首先需要對產(chǎn)品進行分類,區(qū)分正常無缺陷的樣本和有瑕疵的樣本。進一步需要對瑕疵進行定位,標記出缺陷的具體位置,本文中將其統(tǒng)稱為缺陷檢測。
二、基于計算機視覺的表面缺陷檢測方法
2.1圖像分類網(wǎng)絡(luò)方法
卷積神經(jīng)網(wǎng)絡(luò)是目前深度學(xué)習(xí)領(lǐng)域最具代表性的神經(jīng)網(wǎng)絡(luò)之一,是一種層次模型,包含卷積層、池化層、全連接層等多層結(jié)構(gòu)。其中卷積層通過卷積核在特征圖上的移動與卷積操作對圖像進行特征提取。池化層是對卷積層的降維處理,可以在保留特征的同時減少參數(shù),加快計算速度,一定程度防止過擬合。全連接層每一個節(jié)點都與上層所有節(jié)點相連,主要作用是將卷積層和池化層提取的局部特征進行綜合。輸出的向量經(jīng)過softmax邏輯回歸函數(shù)得到最終的分類結(jié)果。卷積神經(jīng)網(wǎng)絡(luò)具有強大的特征提取能力,在圖像分類問題上有非常好的效果。2012年imageNet圖像分類任務(wù),AlexNet[1]的成功登頂,分類錯誤率僅為15.3%,遠低于其他方法,標志著深度學(xué)習(xí)的崛起,開啟了計算機視覺一個新的時代。在實際應(yīng)用中,一般使用經(jīng)典CNN模型上改進的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如GoogLeNet[2]、ResNet[3]、DneseNet[4]等。這些網(wǎng)絡(luò)的結(jié)構(gòu)更加復(fù)雜,表達能力更強,在各個數(shù)據(jù)集上的表現(xiàn)顯著優(yōu)于簡單CNN網(wǎng)絡(luò)。訓(xùn)練網(wǎng)絡(luò)的時間和分類所需的時間也相應(yīng)增加,需要在準確率和檢測速率上進行權(quán)衡。TianWang[5]等使用CNN網(wǎng)絡(luò)對DAGM2007[6]數(shù)據(jù)集中的樣本進行缺陷檢測,具體做法包括兩次卷積神經(jīng)網(wǎng)絡(luò)分類,首先使用一個CNN網(wǎng)絡(luò)根據(jù)紋理特征對樣本進行分類,數(shù)據(jù)集共有六種不同類別的紋理。接下來使用一個128*128的滑動窗口,步長64,在512*512的原圖上進行切片,得到49張切割圖像。再使用CNN網(wǎng)絡(luò)對切割圖像進行二分類,分為有缺陷和無缺陷兩類,可以同時實現(xiàn)缺陷檢測和缺陷的模糊定位。相比傳統(tǒng)的SIFT+ANN方法,召回率,準確率等指標都有了大幅提升。如果產(chǎn)品的缺陷特征特別明顯,可以直接利用卷積神經(jīng)網(wǎng)絡(luò)對其分類,這樣缺陷檢測的速率和準確率都很高。但是生產(chǎn)中,產(chǎn)品表面只有小部分包含缺陷,這時就需要采取上面論文中滑動窗口的方法。需要判斷每個窗口的類別。所需的存儲空間和計算時間都急劇上升。而且窗口的大小限制了感知區(qū)域的大小,導(dǎo)致分類性能受到限制,且定位的精度不高,因此一般會選用下面的兩種方法。
2.2圖像檢測網(wǎng)絡(luò)方法
圖像分類將整張圖片作為輸入,輸出是單一標簽。而目標檢測需要神經(jīng)網(wǎng)絡(luò)對潛在的多個目標進行定位。RCNN就是將CNN應(yīng)用到目標檢測領(lǐng)域的里程碑模型,是一個two-stage檢測算法。RCNN算法主要分為以下四步,通過選擇性搜索算法提出候選區(qū)域,利用CNN網(wǎng)絡(luò)的卷積和池化操作對輸入進行特征提取,根據(jù)提取的特征訓(xùn)練SVM分類器,最后對邊界進行回歸,得到精確的定位,避免多個檢出。這些過程的結(jié)合使得RCNN非常慢,對每個圖像的預(yù)測需要數(shù)十秒。隨后提出的FastRCNN、FasterRCNN一定程度解決了這個問題。與R-CNN不同,F(xiàn)asterRCNN將特征提取、區(qū)域生成、邊界框回歸、分類等工作都整合在了一個網(wǎng)絡(luò)之中,其核心就是區(qū)域生成網(wǎng)絡(luò),極大提升檢測框的生成速度,檢測時間顯著縮短,達到了能應(yīng)用的水平。Young-JinCha[7]通過FasterRCNN檢測網(wǎng)絡(luò)實現(xiàn)對橋梁表面混泥土裂縫,混泥土脫落,螺栓松動,鋼腐蝕等危害橋梁安全的缺陷進行檢測。將其中的神經(jīng)網(wǎng)絡(luò)模型替換成了ZF-net,這也是一個經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型。為了適應(yīng)區(qū)域生成網(wǎng)絡(luò)和Faster-RCNN網(wǎng)絡(luò),對原始的ZF-net網(wǎng)絡(luò)結(jié)構(gòu)進行了修改。防止訓(xùn)練過程過擬合,在全連接層之間加入dropout層,遺忘率設(shè)置為0.5。在兩千多張的橋梁建筑數(shù)據(jù)集上進行的實驗,mAP值最高達到87.8%。和R-CNN不同,YOLO屬于one-stage檢測算法,沒有產(chǎn)生候選區(qū)域的過程,將目標檢測作為一個回歸問題求解?;谝粋€完整的端到端網(wǎng)絡(luò),原始圖像作為輸入,另一端輸出物體位置和類別概率。YOLO將輸入圖像切分為多個柵格,每個柵格負責檢出位于其內(nèi)部的物體。預(yù)測值包括多個邊框以及邊框中是否有物體,物體的可能性是多少。最后選擇與柵格交疊率最高的邊框作為物體檢測輸出,每個柵格只能檢出一個物體。相比于two-stage目標檢測算法,轉(zhuǎn)化為一個回歸問題,YOLO算法的速度大幅加快,每秒可以檢出數(shù)十張圖片。然而沒有了區(qū)域生成網(wǎng)絡(luò)的過程,目標不能非常精確的定位,檢測精度不是很高。實際應(yīng)用中,生產(chǎn)環(huán)節(jié),如果對缺陷定位的精度要求不高,且需要較快的檢測速度時,采用一階段模型,如YOLO、SSD等。如果需要缺陷的精確坐標和大小,生產(chǎn)速率較慢的場景,則采用兩階段模型,如FastRCNN、FasterRCNN。
2.3圖像語義分割方法
相較于物體檢測的邊界框,語義分割網(wǎng)絡(luò)可以為圖像的每一個像素標記物體類別。在缺陷檢測任務(wù)中,可以精確定位缺陷的位置以及幾何屬性,效果優(yōu)于缺陷檢測網(wǎng)絡(luò)。CNN網(wǎng)絡(luò)中卷積和池化的操作丟失了圖像細節(jié),因此不能對每個像素精確分割。為了解決這個問題,提出了全卷積神經(jīng)網(wǎng)絡(luò)FCN,將卷積神經(jīng)網(wǎng)絡(luò)最后的全連接層替換為卷積層,得到二維特征圖,并采用反卷積進行上采樣,使之恢復(fù)到輸入圖像相同的尺寸。最后利用softmax獲得每個像素點的分類信息,從而實現(xiàn)語義分割。XianTao[8]等基于FCN網(wǎng)絡(luò)改進,設(shè)計了一種級聯(lián)自編碼器(CASAE)的結(jié)構(gòu),用于金屬表面缺陷檢測。自編碼器由兩部分組成,編碼器能將輸入壓縮成潛在空間表征,解碼器能重構(gòu)潛在空間表征的輸入。文中將兩個自編碼器串聯(lián)組合成級聯(lián)自編碼器用于提取特征。將缺陷圖像先作為輸入,可以得到著色的缺陷區(qū)域,接著通過閾值模塊進行二值化,得到精確的邊界。確定范圍最后對該區(qū)域使用CNN進行分類,得到具體的缺陷類型。在DAGM2007和SEM數(shù)據(jù)集上進行了測試,CASAE結(jié)構(gòu)在分割問題上的IOU指標為89.6%,優(yōu)于FCN網(wǎng)絡(luò),在對缺陷的分類問題上,點狀缺陷的分類準確率達到84.7%,優(yōu)于GLCM、HOG等方法。語義分割近幾年發(fā)展出了一個新的領(lǐng)域,實例分割,在語義分割的基礎(chǔ)上對同類物體進行更精細的分割。MaskR-CNN就是一個實例分割算法,在目標檢測算法Faster-RCNN的基礎(chǔ)上增加語義分割算法FCN來產(chǎn)生對應(yīng)的MASK分支。Faster-RCNN可以快速完成目標檢測工作,F(xiàn)CN可以精確地完成語義分割的功能。MaskR-CNN檢測速度快,分類準確率、檢測準確率、實例分割準確率都達到了較高的水平。在缺陷檢測問題上,當多個相同缺陷重疊時,MaskR-CNN可以將單個缺陷分離,分別統(tǒng)計缺陷數(shù)目。而語義分割網(wǎng)絡(luò)則會將相同類型的缺陷視為一個整體,統(tǒng)計的準確率不如實例分割算法。MaskR-CNN網(wǎng)絡(luò)結(jié)構(gòu)簡單清晰,擴展性也非常強,通過搭配不同的網(wǎng)絡(luò)結(jié)構(gòu)可用于完成不同的任務(wù),已經(jīng)廣泛應(yīng)用于缺陷檢測問題。
2.4實際應(yīng)用中問題分析
一般來說,深度學(xué)習(xí)算法需要大量的訓(xùn)練數(shù)據(jù),充足訓(xùn)練樣本訓(xùn)練出的模型,能取得較好的分類和檢測效果。但在實際的生產(chǎn)環(huán)境中,由于各個公司生產(chǎn)的產(chǎn)品不同,生產(chǎn)的工藝不同,產(chǎn)品的特征,缺陷的類型和表現(xiàn)都有差異。要想實際應(yīng)用,需要公司獨立構(gòu)建相應(yīng)的數(shù)據(jù)集,如果部分缺陷樣本數(shù)量過少,會使得模型在某些缺陷上表現(xiàn)較差??梢酝ㄟ^數(shù)據(jù)擴增、數(shù)據(jù)生成等方法生成新的數(shù)據(jù)集,或者采用孿生網(wǎng)絡(luò)、匹配網(wǎng)絡(luò)等結(jié)構(gòu),減少對訓(xùn)練樣本的需求。本文介紹的這幾種經(jīng)典的深度學(xué)習(xí)網(wǎng)絡(luò)模型,不同的模型各有優(yōu)缺點,實際應(yīng)用中,要根據(jù)需求選擇合適的模型。在滿足業(yè)務(wù)需求的情況下,選擇結(jié)構(gòu)最簡單的模型,訓(xùn)練成本和時間開銷也最低?;诮?jīng)典模型改進的模型也非常多,網(wǎng)絡(luò)結(jié)構(gòu)非常復(fù)雜,往往需要根據(jù)特征,反復(fù)調(diào)整參數(shù),甚至對具體的結(jié)構(gòu)進行更改和優(yōu)化。這都需要非常專業(yè)的計算機和深度學(xué)習(xí)知識。培養(yǎng)一個這樣的團隊成本,可能都超過了生產(chǎn)線上人工檢查的成本。而且新產(chǎn)品上線后,對應(yīng)檢測軟件的研發(fā)需要一定時間,也給實際應(yīng)用造成了不便。深度學(xué)習(xí)的黑盒特性,使得運行時異常無法預(yù)測和解釋,造成生產(chǎn)成本的增加。綜合這些原因,只有等出現(xiàn)通用性強,準確率高,維護使用成本低的缺陷檢測算法出現(xiàn),基于計算機視覺的缺陷檢測才能走向大規(guī)模的應(yīng)用。
三、總結(jié)與展望
目前基于深度學(xué)習(xí)的計算機視覺解決了一部分表面缺陷檢測的問題,相比于傳統(tǒng)方法,效果有了很大提升。但是受限于算法本身的原理,實際使用離不開工程師的大量工作,規(guī)模較小的企業(yè)無法滿足這樣的條件。相信之后會出現(xiàn)更加通用的模型,可以同時應(yīng)用在不同檢測領(lǐng)域,簡化設(shè)計模型、調(diào)整參數(shù)的過程,進一步提升準確率等指標,逐步取代人工,最終得到大規(guī)模應(yīng)用。
作者:李濰楚 單位:上海市敬業(yè)中學(xué)