王延春秋,葛泉波,劉華平
(1. 上海海事大學 物流工程學院, 上海 201306; 2. 南京信息工程大學 自動化學院, 江蘇 南京 210044; 3. 清華大學 計算機科學與技術系, 北京 100084)
作為一種被廣泛應用于家居建材、生產設備、公共設施等領域的重要材料,石板材與人們的日常生活息息相關[1]。為了提供優質的產品,石板材的質量檢測環節就顯得極為重要。由于人工檢測效率低,極大地制約了石板材制造行業的整體生產水平,成為行業的瓶頸。因此,開發一種針對石板材表面缺陷的工業視覺缺陷檢測方法以減少人工操作的需求變得越來越急迫。
基于無監督工業視覺缺陷檢測的現有工作依賴于通過自動編碼方法[2-4]、GANs[5-7]或其他無監督學習方法[8-9]學習標稱分布模型。最近,文獻[10]和文獻[11]建議利用ImageNet[12]分類的常見深度表示,而不適應目標分布。使用深度神經網絡提取描述整個圖像的有意義向量,用于異常檢測[13-14]或用于異常定位的圖像塊[15-16],是當下熱門的研究方向。通常情況下,向量可以參考包括普通圖像嵌入球狀體的中心[9]、高斯分布參數[17]或整個嵌入向量集[14]。SPADE[11]使用最后一種方式,該方法在異常檢測和定位方面的報告結果較好。然而,它的推理復雜度與數據集大小成線性關系,阻礙該方法的工業應用。PaDiM[18]類似于上述方法,并使用隨機嵌入來進行特征降維,消除冗余特征的影響。由于這種方式隨機性強,很可能會剔除對檢測有益的特征。在此基礎上,PatchCore[19]提出減少特征的提取層數,提高檢測效率。在包含較明顯缺陷的圖像檢測中,這種方法很有效,但對于擁有大量細微缺陷的石板材圖像來說,特征層數的減少會影響檢測效果。在嵌入特征方面,Johnson-Lindenstrauss 引理[20]檢驗了從高維到低維歐氏空間的嵌入,樣本之間的距離實際上保持不變,例如正交投影。一些工作使用隨機正交矩陣來近似Gram 矩陣[21],或提出正交低秩嵌入損失,以減少類內方差[22]。對于無監督異常檢測,使用局部馬氏距離優于比較方法[18]。最后,多尺度特征能夠檢測不同階段之間相互作用的異常[18,23]以及神經網絡中不同大小的感受野。然而,這種方式需要為特征圖中的每個位置計算馬氏距離[24]的精度矩陣,從而形成了多維張量的批量逆,這增加了最終的計算開銷。綜上所述,本工作需要在保留多尺度特征的情況下,減少冗余特征的影響,減少計算復雜度,獲得更好的檢測性能。
針對上述問題,本文提出了一種基于無監督學習的石板材表面缺陷檢測方法。本方法主要分為特征學習和檢測兩部分。在特征學習階段,使用未標注的正常石板材圖片作為訓練對象,采用在ImageNet[12]上進行預處理的網絡,基于半正交特征嵌入特征降維進行多過程特征學習。在檢測階段,本文通過計算馬氏距離矩陣,進而得到測試圖像的異常分數并進行缺陷檢測和分割。
與有監督學習可以基于數據的標簽信息進行訓練不同,無監督學習是一種在沒有標簽信息的情況下對該數據進行操作的機器學習方式。基于無監督學習的缺陷檢測工作原理如圖1 所示。由于輸入數據沒有標簽信息,訓練難度較有監督學習更大,因此,從繁雜的數據中獲取到盡可能有用的信息并加以訓練成為無監督學習研究的重要課題。對于石板材表面缺陷來說,其多樣的缺陷種類和形式,以及自身表面紋理的存在亦增加了任務的艱巨程度。同時,大量的細微缺陷使得數據圖片的分辨率不能過低,而這增加了計算復雜度,降低了訓練和檢測效率。在訓練結束以后,如何利用訓練模型對石板材測試圖像數據進行檢測也是亟待解決的問題。

圖1 基于無監督學習的缺陷檢測工作原理Fig. 1 Operating principle of defect detection based on unsupervised learning
本文所提出的無監督缺陷檢測方法,結合石板材實際缺陷檢測場景,使用半正交嵌入特征降維獲取有效信息,采用多過程計算減少時間復雜度,計算局部馬氏距離作為缺陷檢測依據。本方法訓練時間短,檢測效率高,可以勝任石板材缺陷檢測任務。
圖2 給出了本文提出的融合多尺度特征的無監督缺陷檢測模型框架。該方法框架主要由兩個階段組成:特征學習和異常檢測與定位。在特征學習階段,首先,將訓練圖像輸入預訓練好的神經網絡中,提取其多尺度特征。然后,采用半正交嵌入特征降維減少冗余特征的影響。最后,分步計算特征學習中的參數,以降低開銷,提高學習效率,并獲取訓練模型。在異常檢測與定位階段,為了獲取較為精確的異常圖計算結果,使用局部馬氏距離作為異常分數計算方式,對待測圖像進行檢測。

圖2 融合多尺度特征的無監督缺陷檢測模型框架Fig. 2 Unsupervised defect detection model framework based on mutil-scale features
將圖片輸入經過ImageNet[12]預處理的神經網絡中,提取到前3 層特征層相對應的特征圖。通過插值將不同尺寸大小的感受野與提取到的最大尺寸(即第一層特征層的尺寸)相匹配后,所得到的多尺度視覺特征有助于檢測不同大小的異常缺陷。將特征進行篩選和提取,并通過多過程學習,得到缺陷訓練模型。特征學習的過程如圖2左側部分所示。
2.1.1 半正交嵌入特征降維
由于實驗設備的限制和數據集尺寸的影響,利用圖像全部的特征進行訓練,效率低下且耗費巨大。Defard 等[18]通過實驗證明圖像的部分特征含有冗余信息,對訓練效果沒有益處,并使用隨機降維的方式解決這一問題。但是在這種降維方式隨機性過高,不易利用好對檢測有益的特征。基于上述問題,根據概率論中的中心極限定理,當樣本容量無窮大時,分布的極限就是高斯分布。故本文采用半正交嵌入特征降維方式取代隨機降維,更好地利用對訓練有益的特征,減少冗余特征的影響。[25]
基于對正交不變性的觀察,Kim 等建議使用標準正交向量來嵌入特征向量,這些向量由酉變換組成。正交向量S由高斯分布隨機變量生成:
式中:H為神經網絡提取到的特征維度數量;k為秩約束,即需要保留的特征維數。k越小,則保留的特征維數越少,相應地計算復雜度也會降低,但是k過大或過小也會影響訓練效果,需要找到它的相對平衡點。且由 QR分解得出:S=QR。對于特征圖的每一個位置,本方法均使用相同的嵌入。根據Mezzadri[26]提出的方法,計算大小為H×k的近似矩陣W:
式中:diag(·)得到給定矩陣的對角線矩陣,sign(·)返回矩陣形狀相同的元素符號,進而使其呈標準正態分布。在線性代數中,矩陣W又被稱為半正交矩陣,即它具有如下性質:WTW=Ik∈Rk×k,且WWT≠IF∈RH×H。再根據先前所獲得的大小為H×N,特征尺寸為w×h的多尺度特征F,w×h為第一特征層中單個特征的尺寸,N為輸入的圖片總體數量,本文可以得到大小為k×N,特征尺寸為w×h的半正交嵌入特征Fr:
在進行特征提取的同時,需要將所用特征向量的對應維數序號按順序記錄到列表中:
式中:L為記錄序號的單列列表,x∈[0,X)為多尺度特征F中所用特征向量的對應序號,X為多尺度特征的最大序號(即特征的最大維數)。最后一并儲存在訓練模型中,以備后續的異常檢測與定位時使用。經過上述步驟后,獲取到的半正交嵌入特征Fr可以用于特征學習,形成訓練模型。
2.1.2 多過程特征學習
通常情況下,學習位置(i,j)處的正常圖像特征時,需要首先計算位于(i,j)處的嵌入特征向量集Fi,j。為了總結圖像特征所攜帶的信息,樣本協方差估計如下:
式中:Ci,j為該位置的協方差矩陣,Cov(·)返回特征向量協方差的計算結果。
由于多尺度特征下直接按式(5)進行樣本協方差計算會導致計算的復雜性問題,影響訓練效率。因此,本文將它的計算拆分為初始向量計算、平均向量計算、初始協方差計算和協方差矩陣計算4 個子過程,每個子過程按順序依次進行,以降低計算復雜度,提高特征學習效率。
首先,生成初始向量M0:
式中:fi為第i個輸入圖片的半正交嵌入特征向量,N為輸入的圖片總體數量。該步驟的時間復雜度為O(Nwh)。然后,計算平均向量M:
由于平均向量M0的大小為wh×k,故時間復雜度為O(whk)。接著,根據半正交嵌入特征Fr生成大小為k×k,特征尺寸為w×h的初始協方差矩陣C′:
該步驟時間復雜度為ONk2。最后,再計算第i個特征(i∈[0,wh))的協方差矩陣Ci:
經過上述步驟,本文就可以在降低時間復雜度的前提下,有效率地學習不同尺度的特征信息。同時,對預處理卷積神經網絡不同語義級別之間的這些關系進行建模有助于提高異常定位性能[19]。
異常檢測與定位流程如圖2 右側部分所示。在通過特征學習得到訓練模型后,本方法將測試集圖片數據輸入神經網絡中,根據特征學習時的特征序號列表L,定向提取多尺度特征中的特征向量,并插值匹配到第一特征層尺寸大小。若訓練模型參數與檢測用特征向量無法一一對應,則會導致最終檢測結果出現嚴重偏差,對整個工業生產造成極其嚴重的影響。隨后,進行異常分數計算,獲得每個像素點對應分數組成的分數圖。由此,可以根據實際需求選定合適的閾值,進行缺陷檢測與定位。
為了獲得較為精確的異常圖計算結果,本文使用改進后的馬氏距離[23]作為測試圖像在該位置(i,j)處的異常分數。與特征學習階段相似,本方法同樣在第一特征層的尺度上進行馬氏距離計算。局部馬氏距離di,j在本方法中可以解釋為(i,j)處的測試圖像嵌入特征Fi,j和平均向量Mi,j之間的距離,具體計算過程如下:
式中 Σi,j為特征學習得出的協方差矩陣C在位置(i,j)處的協方差矩陣形式。
在本章節中,本文將所提方法與其他先進方法在同一石板材缺陷數據集上的性能進行了對比,以驗證本方法在石板材缺陷檢測領域的有效性。此外,本文還比較了特征維數在不同取值的情況下對檢測結果的影響,驗證了冗余特征及特征維數過低都會干擾缺陷檢測結果。最終實驗結果表明,所提方法選用具有更大深度與寬度的網絡作為基干網絡,實際檢測效果更好。
本文所使用的石板材數據集由石板材正面和石板材反面兩大類組成,圖像分辨率為1 275×279,包括1 200 張正常圖像和242 張缺陷圖像,如圖3所示。圖4 給出了石板材數據集中的4 種缺陷模式:正常、磕邊、裂紋和沙眼。除正常情況外,在其余3 種缺陷模式下均進行了標記。本次實驗選取大部分未作標記的正常圖像作為訓練集,剩余圖像作為測試集,訓練集和測試集數量按7∶3 劃分。

圖3 石板材數據集圖片示例Fig. 3 Sample pictures of slate dataset

圖4 石板材數據集缺陷模式示例Fig. 4 Examples of defect mode for slate dataset
MVTec 數據集作為一個開源的缺陷檢測數據集,由15 種類別組成,包括3 629 張訓練圖片,1 725張測試圖片,圖像分辨率在700×700~1 024×1 024之間。它的訓練集由無標注的正常圖像組成,測試集則由正常圖像和缺陷圖像混合組成,其中缺陷圖像均做了標注。本實驗選用該數據集以驗證本方法通用性和可靠性。
本文使用英特爾14 核CPU 處理器,16 GB 顯存、32 GB 內存的電腦設備,采用Python3.8 進行實驗。將石板材數據集中的輸入圖像分辨率大小統一調整為512×112,以WideResnet-50[27]為主干網,復現了PaDiM[18]和PatchCore[19]的模型,同時采用CFLOW-AD[28]的官方代碼。包括本文方法,所有參與比較的方法所使用的神經網絡均在ImageNet 上進行了預處理。本文從前3 層提取特征嵌入向量,并將其余特征層與第一特征層的尺寸相匹配,這3 層特征圖的尺寸大小分別為[1,256,128,28]、[1,512,64,14]和[1,512,64,14],其中第1 列為輸入圖像數量,第2 列為特征維數,第3、4 列為特征尺寸。經過插值匹配后的特征圖尺寸為[1,1 792,128,28]。以便組合來自不同語義級別的信息,同時保持足夠高的分辨率以完成定位任務。為了更好地評估性能,本文使用接收器工作特性曲線下的面積(area under the receiver operating characteristic curve,ROC),其中真陽性率是正確分類為異常的像素的百分比。由于ROC 偏向于較大的異常,本文后續也采用了每個區域的重疊分數(PRO 分數)進行計算比較。
在本小節中,本文給出了基于石板材數據集的實驗結果,包括與現有的先進無監督缺陷檢測方法的比較、采用不同特征維數和多種主干網絡的比較結果。圖5 給出了部分通過本文方法得到的缺陷檢測效果圖。其中,從左到右分別為原圖、異常分數熱力圖和缺陷分割結果圖。

圖5 本文方法得到的部分石板材缺陷檢測效果Fig. 5 Defect detection renderings of some slates obtained by our method
3.3.1 與當前先進方法的比較
在石板材數據集上的圖像級異常檢測的結果如表1 和表2 所示。在所有情況下,本文方法在所有子數據集上都取得了更好的圖像缺陷檢測性能。表1 為ROC 度量中的檢測結果,本文采用WideResNet-50 為主干網絡在圖像級缺陷檢測方面達到89.70%,比當前最先進的方法高出1.26%,在像素級缺陷定位方面達到95.39%,比最好的方法高出1.76%。表2 包括PRO 分數下的像素級缺陷定位檢測結果比較。與其他先進方法相比,本文的方法在兩類圖像中的表現均更加出色,平均達到91.88%,比表現最好的PaDim 高出1.75%。

表1 石板材數據集缺陷檢測結果(圖片級分類ROC,像素級定位ROC)Table 1 Defect detection results of slate dataset (picture-level classification ROC, pixel-level localization ROC)%

表2 石板材數據集缺陷檢測結果(PRO 分數)Table 2 Flaw detection results of slate dataset (PRO-score)%
本文選用MVTec 數據集驗證本方法的通用性和可靠性,實驗結果如表3 所示。其中,為了適應數據集圖像的尺寸和對比方法的實驗設置,本實驗統一將輸入圖像的尺寸調整為224 像素×224 像素,其余設置與石板材數據集實驗保持一致,其中對比方法的結果由相應文獻中得到。由于部分文獻缺少圖片級分類ROC 的結果,本實驗選擇在像素級定位ROC 和PRO 分數度量中進行對比。本方法在像素級定位ROC 度量中與幾種先進方法互有優劣,而在PRO 分數度量中總體優于對比方法,很好地驗證了本方法的通用性和有效性。

表3 MVTec 數據集檢測結果(像素級定位ROC,PRO 分數)Table 3 Defect detection results of MVTec dataset (pixel-level localization ROC,PRO-score)%
3.3.2 時間開銷比較
在檢測時間方面,本方法在幾種方法中同樣做到了最好,結果統計如表4 所示。經過多次實驗驗證,本方法平均每張圖片的檢測時間僅需14.94 ms,檢測效率遠高于其他方法。同樣地,得益于本方法的針對性優化措施,石板材數據集每個類別的整個訓練及檢測流程可以在3 min 左右完成。相應地,PatchCore 需要7 min,PaDim 需要10 min 左右,而基于流模型的CFLOW-AD 則要耗費40 min。

表4 石板材數據集平均缺陷檢測時間Table 4 Average defect detection time on slate dataset
3.3.3 特征維數研究
盡管將全部的特征用于訓練,可以實現最好的缺陷檢測性能。但是,由于數據集大小及自身檢測設備的限制,使得減小特征維度的數量變得很有必要。同時,減小嵌入特征維數的大小可以降低模型的計算復雜度。另一方面,若降維幅度過大,很有可能將含有必要信息的特征濾除,導致檢測效果下降。因此,本文把嵌入特征分別下降到不同的維數k,以研究半正交嵌入特征維數在石板材數據集中的表現,并尋找最佳性能下的特征維數。此外,本文也采用隨機降維的方法,將特征向量下降相同的幅度。在這種情況下,本文訓練多個模型并取平均的ROC 度量分數及PRO分數。不同維度k下的缺陷檢測結果如表5 所示。

表5 改變降維幅度后的石板材數據集缺陷檢測結果Table 5 Defect detection results of slate dataset under changing dimension reduction amplitude%
實驗表現為這樣一種現象:當特征維度保留過多時,檢測性能會有一定程度的下降;而降維幅度過大,又會使得缺陷檢測結果變差。之所以會呈現出這種情況,是由于特征維度保留過多時,包含不必要信息的特征向量也會一并保存下來。這些冗余特征在訓練階段使網絡進行近乎無效訓練的同時,還會干擾正常訓練,讓網絡把訓練權重轉向自己,而不是具有必要信息的特征向量。上述問題導致神經網絡訓練效果不佳。而當降維幅度過大時,丟失的必要特征信息過多,使得檢測性能降低。由實驗結果可以看出,當特征向量采用半正交嵌入下降到200 維時,本文方法的檢測表現最好,在圖片級檢測ROC、像素級定位ROC 和像素級定位PRO 分數中,分別至少比選擇其他維度高出0.17%、0.23%、0.17%。
Defard 等[18]建議使用隨機采樣特征來減小協方差大小。然而,從表5 中還可以注意到,對于相同數量的維度,半正交嵌入降維在石板材缺陷數據集上比隨機降維檢測性能更好,在ROC 度量中分別高1.64%和1.92%,在PRO 分數中高1.29%。相比較于隨機降維,半正交嵌入降維更有助于區分正常類和異常類的維度。
3.3.4 主干網絡選取研究
為了實驗不同的主干網絡對所提出的方法的影響,本文分別選用不同規格的殘差網絡,設定特征參數k=200,本文方法在石板材數據集上得到檢測結果如表6 所示。根據表6 可以得出,在其他參數變量保持一致的條件下,本文方法所使用的神經網絡深度越深、寬度越寬,相應地,其缺陷檢測性能就越優秀。

表6 不同主干網絡下的石板材數據集缺陷檢測結果Table 6 Defect detection eesults of slate datasets under different backbone networks%
本文提出了一種新的基于無監督學習的石板材缺陷檢測方法,減少了特征學習中冗余特征的影響,降低了計算復雜度,提高了缺陷檢測的性能。在該方法的特征學習階段中,使用容易獲得的未標志圖像數據,使用正半交嵌入特征降維方式,減少冗余特征的影響;通過多過程特征學習,減少計算中的時間復雜度,提高訓練效率。然后,在檢測階段中,通過計算馬氏距離作為異常分數,以得到更好的檢測性能。在實驗中,本文方法在石板材缺陷數據集取得了比現有先進方法更好的結果,同時在獲得了石板材缺陷檢測和定位中證明了本文方法的有效性。并通過在MVTec 數據集上的實驗,驗證了本文方法的通用性和可靠性。
本文分析了本文方法中特征維數和網絡結構分別對檢測性能的影響。保留適當的特征維數可以有效將正常樣本與缺陷樣本區分開,而過大或過小都會降低最終檢測效果。同時,更深更寬的神經網絡也是提高缺陷檢測性能的重要條件。本文通過定量實驗驗證了本文的上述分析。
盡管本文提出的方法在石板材缺陷檢測方面展現出很高的效率,但其通用性受到各種原因的限制。這一問題可以通過與所使用功能的適應性結合來解決,將會在未來工作中進行深入研究與探索。