本發明屬于計算機視覺領域,涉及一種任務無關型工業缺陷視覺檢測模型訓練、檢測方法及裝置。
背景技術:
1、在工業產品外觀缺陷檢測中,深度學習技術尤其是卷積神經網絡(cnn)展現出了強大優勢。然而,工業缺陷檢測面臨幾個關鍵挑戰:小目標檢測、復雜背景干擾以及樣本不足,特別是在少樣本和零樣本場景下。為解決樣本不足問題,遷移學習被用來通過微調預訓練模型適應新的檢測任務,但由于工業缺陷檢測特有的領域偏移問題,傳統遷移學習效果有限。
2、數據增強和多任務學習可以緩解樣本不足的問題,但這些方法在工業缺陷檢測中仍面臨輔助信息獲取困難和數據增強多樣性不足的問題。為此,元學習方法如模型無關元學習(maml)被提出,其通過學習一個初始參數集,使得模型能在少量樣本下快速適應新任務。然而,元學習在處理工業視覺識別任務時仍存在梯度消失或爆炸及標簽排列問題。
技術實現思路
1、針對現有技術的不足,本技術提供了一種任務無關型工業缺陷視覺檢測模型訓練、檢測方法及裝置,解決了元學習進行工業視覺檢測時遇到的梯度問題和標簽排列影響模型泛化性能的問題。
2、為實現上述目的,第一方面,本發明提供一種任務無關型工業缺陷視覺檢測模型訓練方法,包括:
3、初始化分類器頭第一向量和元學習模型的元參數,獲取至少一個訓練任務的支持集數據和查詢集數據;其中,所述訓練任務是工業缺陷檢測領域中少樣本的訓練任務;
4、根據所述元參數、分類器頭第一向量、所述訓練任務的支持集數據和預設的基礎學習器,依次對各訓練任務進行內循環訓練,并在每次內循環訓練之后更新所述基礎學習器的基礎參數,得到各所述訓練任務對應的各任務參數,且在每次內循環訓練前,根據所述分類器頭第一向量更新所述基礎學習器的分類器頭,根據所述元參數更新所述基礎學習器的基礎參數;其中,所述基礎學習器的特征提取器包括壓縮激勵模塊與殘差連接網絡;
5、根據各所述訓練任務的查詢集數據、任務參數,在預設的元學習器中進行外循環訓練,得到各所述訓練任務的元損失,并根據所述元損失,更新所述元參數和分類器頭第一向量;其中,所述元學習器的特征提取器包括壓縮激勵模塊與殘差連接網絡;
6、根據更新后的元參數和分類器頭第一向量,初始化原始工業缺陷視覺檢測模型,得到工業缺陷視覺檢測模型。
7、相比于現有技術,本技術實施例具有如下有益效果:通過引入分類器頭第一向量,有助于為后續內循環訓練中,尋找基礎學習器分類頭模塊的一個平衡點,避免相同任務中由于標簽排列問題所造成的泛化性能低下且訓練不穩定的缺點;通過內循環訓練,基礎學習器可以在少量數據上快速適應特定任務,提高泛化能力;更新基礎學習器的基礎參數,使得基礎學習器能夠在每個任務上快速地調整自身,以適應當前任務的特點;每次內循環訓練前更新分類器頭和基礎參數,使得基礎學習器能夠更好地捕捉到不同任務之間的共性;結合壓縮激勵模塊和殘差連接作為特征提取器,可以避免梯度消失和爆炸問題,還能增強特征提取模型捕捉像素級缺陷的能力,提高訓練穩定性和泛化性能;計算元損失并更新元參數和分類器頭第一向量,匯總多個任務的信息更新元參數,為基礎學習器提供更好的初始化狀態去適應新任務;使用更新后的元參數和分類器頭第一向量來初始化原始工業缺陷視覺檢測模型,可以使檢測模型具有更強的遷移能力和更快的學習速度。
8、在本技術第一方面的一些實施例中,所述在每次內循環訓練之后更新所述基礎學習器的基礎參數,得到各所述訓練任務對應的各任務參數,包括:
9、更新所述基礎學習器的基礎參數,得到各所述訓練任務對應的各任務參數,其中更新方式如下:
10、
11、其中表示內循環的學習率,i為內循環更新步數,是內循環計算訓練任務b時,第i次循環之后基礎學習器的基礎參數,fθ表示基礎學習器,是基礎學習器在支持集數據上的損失函數,在第i-1步之后使用基礎參數計算的損失,是損失函數關于基礎參數的梯度;
12、將各訓練任務的最后一次循環得到的基礎學習器的各基礎參數,作為各所述訓練任務對應的各任務參數。
13、相比于現有技術,上述實施例具有如下有益效果:在每次內循環訓練后更新基礎學習器的基礎參數,有助于基礎學習器適應各個任務的獨特特性;將最后一次循環得到的基礎參數作為對應任務的任務參數,確保模型在每次內循環訓練結束時,已經針對當前任務進行了優化,這些任務參數為后續的元學習過程中,進一步調整元參數以適應未來的任務提供了依據。
14、在本技術第一方面的一些實施例中,所述在每次內循環訓練前,根據所述分類器頭第一向量更新所述基礎學習器的分類器頭,包括:
15、將所述基礎學習器的基礎參數進行解耦:其中表示特征提取器,ω表示分類器頭模塊,m表示分類的類別數;
16、根據所述分類器頭第一向量更新所述分類器頭模塊,更新方式如下:
17、其中w表示分類器頭第一向量。
18、相比于現有技術,上述實施例具有如下有益效果:每次內循環訓練前,使用分類器頭第一向量更新分類器頭,使得基礎學習器能夠更好地捕捉到不同任務之間的共性,減少基礎學習器在特定任務上的過擬合風險,提高魯棒性,同時還能避免相同任務中由于標簽排列問題所造成的泛化性能低下且訓練不穩定的缺點。
19、在本技術第一方面的一些實施例中,所述根據所述元損失,更新所述元參數和分類器頭第一向量,包括:
20、根據所述元損失,更新所述元參數,更新方式如下:
21、
22、其中lθ′表示b組訓練任務在查詢集數據上的損失總和,θ′表示元參數,β表示外循環的學習率,n表示訓練任務b的內循環訓練次數,表示訓練任務b在內循環訓練中,最后一次循環之后基礎學習器更新的基礎參數,表示訓練任務b的查詢集數據,是元學習器在查詢集上的損失函數,使用參數計算的損失,表示梯度計算。
23、相比于現有技術,上述實施例具有如下有益效果:通過匯總多個任務的損失更新元參數,為后續基礎學習器提供更好的初始化狀態去適應新任務,減少在單一任務上的過擬合。
24、在本技術第一方面的一些實施例中,所述根據所述元損失,更新所述元參數和分類器頭第一向量,還包括:
25、根據所述元損失,更新所述分類器頭第一向量,更新方式如下:
26、
27、其中表示在內循環中b個任務中各分類器頭的權重向量。
28、相比于現有技術,上述實施例具有如下有益效果:通過匯總多個任務的損失,更新分類器頭第一向量,可以根據多個任務的信息進行優化,避免缺乏多個任務的反饋,有助于解決基礎學習器的標簽排列問題,提高泛化性能。
29、第二方面,本發明還提供一種任務無關型工業缺陷視覺檢測模型訓練裝置,包括:初始化模塊、內循環模塊、外循環模塊和結果輸出模塊。
30、其中,所述初始化模塊,用于初始化分類器頭第一向量和元學習模型的元參數,獲取至少一個訓練任務的支持集數據和查詢集數據;其中,所述訓練任務是工業缺陷檢測領域中少樣本的訓練任務;
31、所述內循環模塊,用于根據所述元參數、分類器頭第一向量、所述訓練任務的支持集數據和預設的基礎學習器,依次對各訓練任務進行內循環訓練,并在每次內循環訓練之后更新所述基礎學習器的基礎參數,得到各所述訓練任務對應的各任務參數,且在每次內循環訓練前,根據所述分類器頭第一向量更新所述基礎學習器的分類器頭,根據所述元參數更新所述基礎學習器的基礎參數;其中,所述基礎學習器的特征提取器包括壓縮激勵模塊與殘差連接網絡;
32、所述外循環模塊,用于根據各所述訓練任務的查詢集數據、任務參數,在預設的元學習器中進行外循環訓練,得到各所述訓練任務的元損失,并根據所述元損失,更新所述元參數和分類器頭第一向量;其中,所述元學習器的特征提取器包括壓縮激勵模塊與殘差連接網絡;
33、所述結果輸出模塊,用于根據更新后的元參數和分類器頭第一向量,初始化原始工業缺陷視覺檢測模型,得到工業缺陷視覺檢測模型。
34、在本技術第二方面的一些實施例中,所述內循環模塊包括:任務參數獲取單元;
35、所述任務參數獲取單元用于在每次內循環訓練之后更新所述基礎學習器的基礎參數,得到各所述訓練任務對應的各任務參數,包括:
36、更新所述基礎學習器的基礎參數,得到各所述訓練任務對應的各任務參數,其中更新方式如下:
37、
38、其中表示內循環的學習率,i為內循環更新步數,是內循環計算訓練任務b時,第i次循環之后基礎學習器的基礎參數,fθ表示基礎學習器,是基礎學習器在支持集數據上的損失函數,在第i-1步之后使用基礎參數計算的損失,是損失函數關于基礎參數的梯度;
39、將各訓練任務的最后一次循環得到的基礎學習器的各基礎參數,作為各所述訓練任務對應的各任務參數。
40、在本技術第二方面的一些實施例中,所述內循環模塊還包括:分類器頭更新單元;
41、所述分類器頭更新單元用于在每次內循環訓練前,根據所述分類器頭第一向量更新所述基礎學習器的分類器頭,包括:
42、將所述基礎學習器的基礎參數進行解耦:其中表示特征提取器,ω表示分類器頭模塊,m表示分類的類別數;
43、根據所述分類器頭第一向量更新所述分類器頭模塊,更新方式如下:
44、其中w表示分類器頭第一向量。
45、在本技術第二方面的一些實施例中,所述外循環模塊包括:元參數更新單元;
46、所述元參數更新單元用于根據所述元損失,更新所述元參數,更新方式如下:
47、
48、其中lθ′表示b組訓練任務在查詢集數據上的損失總和,θ′表示元參數,β表示外循環的學習率,n表示訓練任務b的內循環訓練次數,表示訓練任務b在內循環訓練中,最后一次循環之后基礎學習器更新的基礎參數,表示訓練任務b的查詢集數據,是元學習器在查詢集上的損失函數,使用參數計算的損失,表示梯度計算。
49、在本技術第二方面的一些實施例中,所述外循環模塊還包括:第一向量更新單元;
50、所述第一向量更新單元用于根據所述元損失,更新所述分類器頭第一向量,更新方式如下:
51、
52、其中表示在內循環中b個任務中各分類器頭的權重向量。
53、相比于現有技術,本技術以上實施例具有如下有益效果:通過引入分類器頭第一向量,有助于為后續內循環訓練中,尋找基礎學習器分類頭模塊的一個平衡點,避免相同任務中由于標簽排列問題所造成的泛化性能低下且訓練不穩定的缺點;通過內循環訓練,基礎學習器可以在少量數據上快速適應特定任務,提高泛化能力;更新基礎學習器的基礎參數,使得基礎學習器能夠在每個任務上快速地調整自身,以適應當前任務的特點;每次內循環訓練前更新分類器頭和基礎參數,使得基礎學習器能夠更好地捕捉到不同任務之間的共性;結合壓縮激勵模塊和殘差連接作為特征提取器,可以避免梯度消失和爆炸問題,還能增強特征提取模型捕捉像素級缺陷的能力,提高訓練穩定性和泛化性能;計算元損失并更新元參數和分類器頭第一向量,匯總多個任務的信息更新元參數,為基礎學習器提供更好的初始化狀態去適應新任務;使用更新后的元參數和分類器頭第一向量來初始化原始工業缺陷視覺檢測模型,可以使檢測模型具有更強的遷移能力和更快的學習速度。
54、第三方面,本發明還提供一種任務無關型工業缺陷視覺檢測方法,包括:獲取待檢測的工業缺陷圖像;
55、將所述工業缺陷圖像輸入到工業缺陷視覺檢測模型,以使所述工業缺陷視覺檢測模型輸出缺陷視覺檢測結果;其中,所述工業缺陷視覺檢測模型是根據上述一種任務無關型工業缺陷視覺檢測模型訓練方法而訓練得到。
56、第四方面,本發明還提供一種任務無關型工業缺陷視覺檢測裝置,包括:獲取模塊和處理模塊;
57、其中,所述獲取模塊用于獲取待檢測的工業缺陷圖像;
58、所述處理模塊用于將所述工業缺陷圖像輸入到工業缺陷視覺檢測模型,以使所述工業缺陷視覺檢測模型輸出缺陷視覺檢測結果;其中,所述工業缺陷視覺檢測模型是根據上述一種任務無關型工業缺陷視覺檢測模型訓練方法而訓練得到。