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