如何解決工業(yè)缺陷檢測小樣本問題?

極市導(dǎo)讀
?當(dāng)前基于有監(jiān)督的缺陷檢測算法,在數(shù)據(jù)量充足的場景下已經(jīng)逐步成功落地,但工業(yè)場景具有一定的離散性,大部分應(yīng)用場景均為小樣本檢測場景,小樣本問題的解決有助于將AI技術(shù)應(yīng)用于千千萬萬工廠。本文簡單總結(jié)介紹了兩種從算法路徑解決小樣本問題的方法。?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
開源工業(yè)檢測數(shù)據(jù)集匯總:10個開源工業(yè)檢測數(shù)據(jù)集匯總
在工業(yè)生產(chǎn)制造中,由于生產(chǎn)過程是一個多因素耦合的復(fù)雜過程,生產(chǎn)過程中的任何異常都會導(dǎo)致產(chǎn)品缺陷產(chǎn)生,及時識別異常產(chǎn)品的缺陷模式是提高生產(chǎn)質(zhì)量和生產(chǎn)效率的有效途徑,所以缺陷檢測具有十分重要的研究意義。
早期的產(chǎn)品缺陷模式識別主要是通過機(jī)器學(xué)習(xí)方法進(jìn)行的,如支持向量機(jī)、反向傳播網(wǎng)絡(luò)等。這些方法與用肉眼直接對產(chǎn)品缺陷進(jìn)行識別相比,大大降低了工作量。但是這些早期方法存在以下不足:識別準(zhǔn)確率低且需要大量的標(biāo)簽數(shù)據(jù)對模型進(jìn)行訓(xùn)練。近年來隨著深度學(xué)習(xí)的發(fā)展,大量基于卷積神經(jīng)網(wǎng)絡(luò)的算法在視覺任務(wù)中大放異彩。由于卷積神經(jīng)網(wǎng)絡(luò)具有非常強(qiáng)大的特征提取能力,卷積神經(jīng)網(wǎng)絡(luò)在缺陷檢測任務(wù)中得到了廣泛的應(yīng)用。
與傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法在缺陷識別領(lǐng)域具有更高的識別準(zhǔn)確率和工作效率。但是這種方法和機(jī)器學(xué)習(xí)方法具有同樣的缺點(diǎn),首先是模型訓(xùn)練需要大量的標(biāo)簽數(shù)據(jù),而具有缺陷模式標(biāo)簽的圖像是不容易獲取的,因?yàn)楂@取帶有產(chǎn)品缺陷模式標(biāo)簽的圖像需要人工監(jiān)督,即需要大量有經(jīng)驗(yàn)的專業(yè)人員進(jìn)行人工標(biāo)注,這是非常昂貴且耗時的。
此外在某些高度自動化的生產(chǎn)場景中,產(chǎn)品的良率特別高,收集缺陷樣本非常耗時,而當(dāng)前的用于缺陷檢測的深度學(xué)習(xí)方法大多是基于大量缺陷樣本建立模型,缺陷樣本的缺乏導(dǎo)致模型難以上線。針對某些行業(yè)比如汽車行業(yè)的多型號小批量生產(chǎn)場景(每種型號產(chǎn)品只生產(chǎn)幾天),在完成缺陷樣本收集前某種型號產(chǎn)品已經(jīng)不再生產(chǎn)了,這種場景下大量的缺陷樣本收集是不可能的。此外,由于缺陷是由生產(chǎn)過程中的非受控因素產(chǎn)生的,缺陷的形態(tài)是多種多樣的,各種形態(tài)的樣本很難收集完整,這也限制了深度學(xué)習(xí)在工業(yè)檢測領(lǐng)域的應(yīng)用。
01 小樣本檢測算法
為了拓展深度學(xué)習(xí)在工業(yè)檢測領(lǐng)域的應(yīng)用范圍及提升易用性,小樣本檢測算法的研究成為必然。
解決工業(yè)檢測小樣本問題有兩種路徑,第一種是工程路徑,第二種是算法路徑。其中工程路徑常見有兩種方法,第一種是基于真實(shí)產(chǎn)品手動制造缺陷,第二種是基于真實(shí)圖像手動仿真缺陷。
這兩種方法的優(yōu)勢在于操作簡單,產(chǎn)生的缺陷也與真實(shí)缺陷比較接近,但劣勢也比較明顯。基于真實(shí)產(chǎn)品手動制造缺陷會對產(chǎn)品造成不可逆的破壞,對于高價值產(chǎn)品破壞成本較高,而且,因?yàn)槿毕菥煞鞘芸匾蛩禺a(chǎn)生,手動制造的缺陷不一定與實(shí)際缺陷情況完成吻合,會存在一些差異。而基于圖像手動仿真缺陷則存在對操作人員要求高,產(chǎn)生速度慢的問題。
因此,使用工程路徑解決小樣本問題可以在一些比較緊急的情況下使用,比如項(xiàng)目初期需要緊急上線時。
02 算法路徑基本思路
從算法路徑解決小樣本問題,基本的思路有兩種,第一種是增加樣本,第二種是減少算法對樣本的依賴。
1、增加樣本
基于第一種思路的算法研究方向有數(shù)據(jù)增廣和缺陷生成,其中數(shù)據(jù)增廣在深度網(wǎng)絡(luò)訓(xùn)練時為了防止過擬合已成為一個標(biāo)準(zhǔn)手段,站在工業(yè)檢測的視角上看,數(shù)據(jù)增廣是一種性價比比較高的擴(kuò)增樣本的手段,但因?yàn)槟壳皵?shù)據(jù)增廣的方法大多是基于一些傳統(tǒng)圖像處理方法,所以能仿真缺陷的位置和一些簡單紋理變化,但無法仿真缺陷的形狀和復(fù)雜紋理,所以數(shù)據(jù)增廣一般作為一個基礎(chǔ)手段,可以解決一部分小樣本問題,對于一些簡單場景是有幫助的。而要解決更復(fù)雜場景的樣本生成問題,需要用缺陷生成算法。
我們將缺陷生成算法的研究分為三個階段:第一階段是單一產(chǎn)品單一型號缺陷生成;第二階段是單一產(chǎn)品多型號缺陷生成;第三階段是實(shí)現(xiàn)跨產(chǎn)品缺陷的生成。
當(dāng)前缺陷生成算法大致可以分為兩種:一種是自動生成算法,整個生成過程完全不需要人工干預(yù),第二種是半自動生成算法,需要一些簡單的人工交互。
自動生成算法的典型算法有DCGAN[1] 、WGAN[2] ,輸入一張缺陷圖像可以直接生成多張真實(shí)的缺陷圖像。半自動生成算法的典型算法有CGAN[3] 、CVAE[4] 、Pix2Pix[5] ,需要人工交互給定缺陷生成的類別或形狀,然后根據(jù)給定信息生成指定類型缺陷。但當(dāng)前無論是自動生成算法還是半自動生成算法,對訓(xùn)練樣本的需求量雖然比監(jiān)督算法少,但還是有一定要求,而且目前還沒有一種能在所有數(shù)據(jù)上通用的解決方案,當(dāng)前仍需要針對不同的場景制定不同算法版本。通用的缺陷生成算法會這個研究方向下一步的重點(diǎn)。
2、減少算法對樣本的依賴
算法路徑解決小樣本問題的第二個思路是減少算法對樣本的依賴,基于這個思路衍生出兩條算法路線:
第一條路線是完全不需要缺陷樣本的非監(jiān)督學(xué)習(xí)算法,基于非監(jiān)督算法訓(xùn)練模型時僅需要OK圖像參與訓(xùn)練即可。
第二條路線仍基于有監(jiān)督算法,對缺陷樣本的需求量大大降低。
非監(jiān)督算法實(shí)現(xiàn)的思路大體上分為兩種:
一種是基于生成模型,基本思路是訓(xùn)練一個只能生成OK圖像的生成網(wǎng)絡(luò),推理時針對輸入的NG圖像,找到一個與NG圖像最接近的OK圖像,然后求兩張圖的差異,根據(jù)差異大小判斷是否為NG,典型算法有AE,VAE[6] ,Ano-GAN[7] 等。
另一種思路是基于特征表示,基本思路是找個一個較好的特征表示,將OK圖和NG圖分別映射到高維特征空間,OK圖對應(yīng)特征點(diǎn)的類內(nèi)距離很小,推理時一張圖對應(yīng)特征點(diǎn)與OK圖特征簇的中心距離很遠(yuǎn)就可以判定為NG,典型算法有SVDD[8] 、OCSVM、DeepSVDD[9] 等。
基于有監(jiān)督算法減少樣本依賴的思路分為兩種:
一種是對輸入數(shù)據(jù)進(jìn)行歸一化,降低不同缺陷樣本之間的差異,歸一化算法基于傳統(tǒng)圖像處理算法實(shí)現(xiàn),需要針對不同場景做不同的算法設(shè)計(jì),很難有通用性,因此僅作為一些臨時處理手段。
另一種思路是基于遷移學(xué)習(xí),典型的算法研發(fā)方向是域適應(yīng)(Domain Adaption,DA)和域泛化(Domain Generation,DG)。
DA處理的問題要求可以獲取一部分目標(biāo)域的圖像,且不能實(shí)現(xiàn)跨類別的遷移,因此適合用于處理跨產(chǎn)品型號的問題。DG在DA的基礎(chǔ)上,放寬了對目標(biāo)域數(shù)據(jù)的要求,可以不需要目標(biāo)域數(shù)據(jù),且可以實(shí)現(xiàn)跨類別遷移,因此可以實(shí)現(xiàn)跨產(chǎn)品、跨型號、跨缺陷類別的遷移。
DA算法當(dāng)前研究的基本思路有三種,一是基于差異度量,核心思路是找一個差異度量函數(shù),讓源域與目標(biāo)域樣本的特征在這個度量函數(shù)下最小,代表算法為MMD[10] ;二是基于對抗,核心思路是通過構(gòu)造對抗網(wǎng)絡(luò),訓(xùn)練一個分類器讓判別器無法區(qū)分?jǐn)?shù)據(jù)是來自源域還是目標(biāo)域,這樣就實(shí)現(xiàn)了源域和目標(biāo)域的融合,代表算法為Dom Confusion[11] ;三是基于重構(gòu),核心思路是將構(gòu)造源域和目標(biāo)域的通用特征,僅利用通用特征去執(zhí)行相應(yīng)的任務(wù),代表算法為Domain Separation Networks[12] 。
DG算法當(dāng)前的研究思路也分為三種,第一種是推理時選取一個分布最近的源域的模型直接使用,第二種是通過拆解域相關(guān)與域無關(guān)的組件并進(jìn)行組合來實(shí)現(xiàn)對目標(biāo)域數(shù)據(jù)的處理,第三種是訓(xùn)練得到域不變的特征[13] 。
03 總結(jié)
當(dāng)前基于有監(jiān)督的缺陷檢測算法,在數(shù)據(jù)量充足的場景下已經(jīng)逐步成功落地,但工業(yè)場景具有一定的離散性,大部分應(yīng)用場景均為小樣本檢測場景,小樣本問題的解決有助于將AI技術(shù)應(yīng)用于千千萬萬工廠。
雖然當(dāng)前針對小樣本問題有一些初步的解決思路,但該問題的徹底解決需要更深入的研究及更大的投入。阿丘科技將AI For Every Factory作為使命,會堅(jiān)定不移地持續(xù)研究小樣本問題,也希望可以和有志于研究工業(yè)AI檢測問題的工業(yè)人一起交流進(jìn)步,推動小樣本問題的徹底解決。
公眾號后臺回復(fù)“數(shù)據(jù)集”獲取30+深度學(xué)習(xí)數(shù)據(jù)集下載~

#?CV技術(shù)社群邀請函?#

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)
即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實(shí)項(xiàng)目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與?10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

