近年來,人工智能已經(jīng)逐步進軍工業(yè)質(zhì)量檢測行業(yè),并且取得初步進展,AI在工業(yè)領(lǐng)域的可行性、落地性已經(jīng)在工業(yè)領(lǐng)域各場景中得到了證實。目前質(zhì)檢領(lǐng)域大多采用深度學(xué)習(xí)中的目標(biāo)檢測算法。因為深度學(xué)習(xí)目標(biāo)檢測方向在社會上用處廣泛,為生活提供了極大的便利,得到了大眾廣泛的認可。雖然通用性極強的目標(biāo)檢測算法應(yīng)用在了各行各業(yè),但是其在工業(yè)領(lǐng)域的弊端逐漸呈現(xiàn)了出來,深度學(xué)習(xí)能在自然場景中取得極大的進展不單單是算法上不斷地迭代進步,與算法并駕齊驅(qū)的還有其所依賴的龐大的標(biāo)注數(shù)據(jù)集。也就是說,監(jiān)督算法極其依賴標(biāo)注數(shù)據(jù)集,需要大量的數(shù)據(jù)供神經(jīng)網(wǎng)絡(luò)進行學(xué)習(xí),一個好的數(shù)據(jù)集直接影響模型的精度。然而數(shù)據(jù)集收集困難是目標(biāo)檢測在大多數(shù)工業(yè)領(lǐng)域遇到的難點之一。
有人會說沒有數(shù)據(jù),慢慢積累不就好了嗎?確實,積累數(shù)據(jù)的確是一種方法,但是積累數(shù)據(jù)存在時間跨度上的問題,想要積累出一個高精度的模型,需要大量時間,因為質(zhì)量標(biāo)準要求高的工業(yè)視覺缺陷檢測場景中,很少能產(chǎn)出缺陷零件,更別說能積累出零件各個位置上所有可能出現(xiàn)的各種形態(tài)缺陷的數(shù)據(jù)集。而且此時間跨度對于整個項目與客戶都是不可接受的。
目前,使用深度學(xué)習(xí)目標(biāo)檢測進行工業(yè)缺陷檢測時,主要有以下缺點:
(1)缺陷未知性:由于缺陷的成像有位置、形狀、光源等影響因素在,不同因素會組合成各種各樣的缺陷,將使得AI目標(biāo)檢測算法學(xué)習(xí)起來變得異常困難。只能不斷增加已知的缺陷類別,如果將來出現(xiàn)未知類型的缺陷類別,設(shè)備將失去其該有的作用,可能會給生產(chǎn)方帶來損失。
(2)缺陷收集困難:缺陷數(shù)據(jù)集收集困難,人造或合成的缺陷與真實缺陷相差大,存在低質(zhì)量樣本數(shù)據(jù),數(shù)據(jù)收集周期較長,可能持續(xù)推遲設(shè)備的交付日期,這使得生產(chǎn)方將在人力成本上繼續(xù)投入,且項目前期誤檢漏檢情況出現(xiàn)頻繁,使得使用方對設(shè)備檢測能力的信心出現(xiàn)動搖,這將違背深度學(xué)習(xí)在工業(yè)領(lǐng)域的初衷,為企業(yè)提供智能化、無人化的工廠,減小過程成本。
(3)低頻缺陷攔截困難:即使是已知且數(shù)據(jù)集充足類別的缺陷,也會出現(xiàn)與此種類別特征不相近的缺陷,可能出現(xiàn)漏檢情況
基于以上問題點,異常檢測算法應(yīng)用在工業(yè)質(zhì)檢行業(yè)的優(yōu)勢就涌現(xiàn)了出來,因為無監(jiān)督算法的特性在,可以繞開目標(biāo)檢測算法在工業(yè)領(lǐng)域遇到的部分問題。
異常檢測算法優(yōu)勢:
(1)異常檢測是無監(jiān)督算法,不需要缺陷數(shù)據(jù)集,僅需要ok數(shù)據(jù)集即可,部分異常檢測算法僅需要少量ok數(shù)據(jù)集,避免了收集缺陷困難的問題。
(2)不需要對各類別各形態(tài)缺陷進行定性,避免了新類別或新特征不能檢出問題,避免了難區(qū)分缺陷類別的認定。
(部分圖片源自于網(wǎng)絡(luò))
鑒于以上問題,通過深度學(xué)習(xí)異常檢測算法,避免了低頻缺陷數(shù)據(jù)集收集困難,未知類別缺陷難攔截的問題,并在缺陷數(shù)據(jù)集不足的情況下,能夠很好的解決檢出問題。對于工業(yè)領(lǐng)域的零漏檢的高標(biāo)準要求更進一步。有效的減少了項目周期,更加快速的給企業(yè)帶來生產(chǎn)環(huán)節(jié)上的效益增長。
異常檢測:
異常是指偏離預(yù)期的事件或項目。與標(biāo)準事件的頻率相比,異常事件的頻率較低。產(chǎn)品中可能出現(xiàn)的異常通常是隨機的,例如顏色或紋理的變化、劃痕、錯位、缺件或比例錯誤。
異常檢測(Anomaly Detection)也稱偏差(deviation)檢測或者離群點(outlier)檢測,從數(shù)據(jù)的角度來看,其實就是檢測出和眾多其他觀測值差別非常大的一個特殊的觀測值。異常檢測在歷史上實際是數(shù)據(jù)預(yù)處理的一個步驟,但是在現(xiàn)代研究中越來越重要,逐漸發(fā)展為一個獨立的領(lǐng)域。
無監(jiān)督異常檢測:
沒有標(biāo)簽情況下,往往目標(biāo)是將一個得分或標(biāo)號賦予給每個數(shù)據(jù)對象。比如聚類算法,根據(jù)一些規(guī)則將數(shù)據(jù)進行無監(jiān)督的聚類。簡單直白地講,如果聚類簇比較偏遠,或者密度比較少,可能就是異常。類似查找圖像離群點算法如孤立森林、SVM等。 但是基于檢測圖像中離群點是不穩(wěn)定的,由于零件本身形態(tài)特性復(fù)雜,很多時候不能區(qū)分開正常點與離群點。
以前基于深度學(xué)習(xí)的工作主要集中在生成算法,如生成對抗網(wǎng)絡(luò)(GAN)或變分自動編碼器(VAEs) 。無監(jiān)督生成模型通過學(xué)習(xí)真實數(shù)據(jù)的本質(zhì)特征,刻畫出樣本數(shù)據(jù)的分布特征,生成與訓(xùn)練樣本相似的新數(shù)據(jù)。模型能夠發(fā)現(xiàn)并有效地內(nèi)化數(shù)據(jù)的本質(zhì),并生成這些數(shù)據(jù)。生成式模型可以用于在沒有目標(biāo)類標(biāo)簽信息的情況下捕捉觀測到可見數(shù)據(jù)的高階相關(guān)性。
如基于生成對抗網(wǎng)絡(luò)(GAN)或變分自動編碼器(VAEs)的生成網(wǎng)絡(luò),在該網(wǎng)絡(luò)中,編碼器接受輸入數(shù)據(jù),并將其壓縮為潛伏空間表示,然后解碼器將從該空間重構(gòu)輸入數(shù)據(jù)。
VAE將圖像轉(zhuǎn)換為統(tǒng)計分布的參數(shù):均值和方差。然后,VAE使用均值和方差參數(shù)隨機采樣分布的一個元素,并將該元素解碼回原始輸入。該過程的隨機性提高了魯棒性并迫使?jié)撛诳臻g在任何地方編碼有意義的表示:在潛在空間中采樣的每個點被解碼為有效輸出。
基于GAN的網(wǎng)絡(luò)比較經(jīng)典的如AnoGAN,它有兩個對抗模型:生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)。生成網(wǎng)絡(luò)G從潛在空間中隨機采樣(隨機產(chǎn)生噪聲)作為輸入,其輸出結(jié)果需要盡量模仿訓(xùn)練集中的真實樣本。判別網(wǎng)絡(luò)D的輸入則為真實樣本與生成網(wǎng)絡(luò)的輸出,輸出為一個標(biāo)量,代表其為真實樣本而不是生成樣本的可能性,其目的是將生成網(wǎng)絡(luò)的輸出從真實樣本中盡可能分辨出來。生成網(wǎng)絡(luò)要盡可能地欺騙判別網(wǎng)絡(luò)。兩個網(wǎng)絡(luò)相互對抗、不斷調(diào)整參數(shù),最終目的是使判別網(wǎng)絡(luò)無法判斷生成網(wǎng)絡(luò)的輸出結(jié)果是否真實。生成器G看成解碼器decoder,辨別器D視為編碼器encoder(AE)。在測試階段,輸入原始圖像,生成器輸出與原圖比對可以找到異常區(qū)域,辨別器輸出又可以作為異常值,超過一定閾值則可認為是異常樣本。
盡管它們是異常檢測基于逐像素重建誤差或評估模型概率密度分布的一種有效方法,但是其應(yīng)用在檢測領(lǐng)域可能存在負面效果,即通過比較重構(gòu)出來的圖像之間的像素值的差值來確定是否異常是不穩(wěn)定的,因為存在形態(tài)重構(gòu)正常但是像素值大小有差異的情況,如此求差的話將產(chǎn)生異常區(qū)域,但這種情況其實是在正常區(qū)域發(fā)生的。
結(jié)語:
隨著深度學(xué)習(xí)算法不斷進軍工業(yè)界,服務(wù)于工業(yè)領(lǐng)域的AI算法也將更加成熟、穩(wěn)定,針對工業(yè)領(lǐng)域的算法與解決方案不斷的涌現(xiàn),其數(shù)據(jù)集也在不斷收集中,且出現(xiàn)了異常檢測算法評估數(shù)據(jù)集MVTec,在異常檢測算法頻繁刷榜MVTec后,相信在不久將來會廣泛應(yīng)用于工業(yè)領(lǐng)域。由于目標(biāo)檢測極其依賴缺陷數(shù)據(jù)集,異常檢測可能在某些情形下會替代目標(biāo)檢測,或許兩者結(jié)合才是更佳的方案。