本發明屬于圖像數據處理,具體涉及一種基于因果門控模型的廣義零樣本病蟲害圖像分類方法。
背景技術:
1、病蟲害會給農作物造成巨大的經濟損失。為了保證農業生產力和質量,準確識別病蟲害并使用農藥進行清除至關重要。然而,一些病蟲害類別只有少量的圖像實例,甚至無圖像實例,因此無法構成訓練集以有監督學習的方式訓練病蟲害圖像分類模型,此時的模型會出現對未知類別病蟲害識別分類錯誤的情況,甚至根本無法識別。
2、為了解決該問題,現有技術提供了一種技術方案:采用生成式零樣本學習的方案對未知病蟲害類別進行分類,即訓練一個生成對抗網絡為未知病蟲害類別生成視覺特征,然后使用生成的視覺特征訓練分類器完成未知病蟲害類別的圖像分類任務是一種解決方案。然而,基于生成式零樣本學習的方法有一個固有的問題,即生成的未知類視覺特征的分布與真實的未知類視覺特征的分布存在差異,導致使用前者訓練的分類器在常規零樣本圖像分類任務上性能較差,該問題被稱為特征混淆問題。該問題會導致模型在識別未知類別的病蟲害時,準確度較低。
技術實現思路
1、為了解決上述問題,本發明提出了一種基于因果門控模型的廣義零樣本病蟲害圖像分類方法,即首先訓練一個二元分類器來判斷一張病蟲害圖像是來自于已知域還是未知域,然后使用基于有監督學習訓練的分類器或基于常規零樣本學習訓練的分類器分別處理來自已知域和未知域的樣本。該方法將廣義零樣本學習任務分解為常規零樣本學習任務和有監督學習任務,從而解決特征混淆問題,提高未知類別病蟲害的識別準確率。
2、本發明的技術方案如下:
3、一種基于因果門控模型的廣義零樣本病蟲害圖像分類方法,因果門控模型包括因果特征提取模塊和雙流超球面對齊模塊,分類方法具體包括如下步驟:
4、步驟1、采集已知類和未知類的病蟲害原始圖像構建數據集,并劃分為訓練集和測試集;
5、步驟2、構建因果特征提取模塊,并設計損失函數,基于訓練集和損失函數優化因果特征提取模塊;
6、步驟3、構建雙流超球面對齊模塊,并設計損失函數,基于訓練集和損失函數優化雙流超球面對齊模塊;
7、步驟4、利用訓練完成的雙流超球面對齊模塊為測試集每一張病蟲害圖像賦予二元域標簽,此時得到最終的因果門控模型;
8、步驟5、使用攝像頭直接拍攝當前農田中待分類的病蟲害圖像,輸入最終的因果門控模型得到病蟲害圖像分類結果。
9、進一步地,所述步驟1中,病蟲害原始圖像由農業從業者使用攝像頭采集多個農田的多個農作物,將采集的所有病蟲害原始圖像構建為數據集,將數據集輸入預訓練完成的resnet101網絡中,得到視覺特征集合,并按比例將視覺特征集合劃分為訓練集和測試集;
10、訓練集中每一個樣本輸入resnet101網絡后得到的中間特征作為所需的視覺特征x,所有的視覺特征x構成視覺特征集x(i)為第i個視覺特征,對應第i個樣本;n為訓練集中的樣本數量;n為維度。
11、進一步地,所述步驟2中,因果特征提取模塊包含兩個編碼器和一個解碼器,并由三種不同的損失進行優化;因果特征提取模塊的具體工作過程和損失函數如下:
12、步驟2.1、將視覺特征x分別輸入第一編碼器fc和第二編碼器faug,使用互信息損失將視覺特征x解耦為兩個相互獨立的特征,第一編碼器的輸出為因果特征xc=fc(x),第二編碼器的輸出為增強特征x′aug=faug(x);
13、步驟2.2、使用對比對數比估計兩個變量互信息值的上界,公式為:
14、
15、其中,為對比對數比上界互信息估計函數;i、j為兩個不同樣本的編號;為給定條件下,的條件概率密度函數;和分別增強特征集中的第i個樣本和第j個樣本;為因果特征集的第i個樣本,第i個樣本也對應第i個因果特征;為給定條件下,的條件概率密度函數的對數比;
16、步驟2.3、假設訓練集經過第一編碼器后得到因果特征集經過第二編碼器后得到增強特征集為增強特征集中的第i個樣本;首先對x′aug的索引進行隨機重排操作,并且將x′aug和xc逐元素相加,該計算過程用公式表示為:
17、
18、其中,為經過隨機重排操作后的增強特征集;shuffle(·)表示隨機重排;
19、步驟2.4、將和轉置并重新定義為轉置增強特征集轉置因果特征集其中為中的第i個樣本;表示中的第i個樣本,對應一個批次中所有因果特征第i維元素的集合;基于此,最大化一個批次中和的相關性來近似共因原則性質,優化目標用公式表示為:
20、
21、其中,cor(·)表示計算兩個變量相關性系數的函數;gc為解碼器;
22、步驟2.5、最小化一個批次中和的相關性來使因果因子相互獨立,優化目標公式表示為:
23、
24、其中,為中的第j個樣本;
25、步驟2.6、構建相關性矩陣,以同時計算步驟1.5和步驟1.6中的兩個優化目標,相關性矩陣用公式表示為:
26、
27、其中,ci,j為一個批次中和的相關性矩陣;<·,·>表示內積操作;||·||2為l2范數;
28、步驟2.7、損失函數由公式表示為:
29、
30、其中,||·||f表示弗羅貝尼烏斯范數;c為相關性矩陣;i表示單位矩陣;
31、步驟2.8、引入重構損失來利用x′aug和xc重構x,得到重構后的視覺特征由公式表示為:
32、
33、其中,||·||1表示l1范數。
34、進一步地,所述步驟3中,雙流超球面對齊模塊包含視覺流和屬性流的雙流自動編碼器,其中視覺流包含一個視覺編碼器fv和一個視覺解碼器gv,屬性流包含一個屬性編碼器fa和一個屬性解碼器ga,并由四種不同的損失進行優化;雙流超球面對齊模塊的工作過程和損失函數如下:
35、步驟3.1、雙流超球面對齊模塊的輸入為因果特征xc和類級屬性a,類級屬性是從百度百科和維基百科收集的關于病蟲害類別相關知識的大量文本,并使用doc2vec工具映射為向量;
36、步驟3.2、設計視覺重構損失公式為:
37、
38、其中,||·||1為l1范數;為視覺流重構因果特征過程,為屬性流重構因果特征過程,
39、步驟3.3、設計屬性重構損失公式為:
40、
41、其中,為屬性流重構類級屬性過程,為視覺流重構類級屬性過程,
42、步驟3.4、給定因果特征集因果特征集對應的標簽集{y1,...,yi,...,yn}、因果特征集對應的類級屬性集yi為因果特征集的第i個因果特征對應的第i個標簽,為因果特征集的第i個因果特征對應的第i個類級屬性;在隱空間中,設計中心損失計算公式為:
43、
44、其中,exp(·)是以自然常數e為底的指數函數;為映射到隱空間內的第i個因果特征,為映射到隱空間內的第i個類級屬性,d表示隱向量的維度;為映射到隱空間內的第i個因果特征;k為已知病蟲害類別的數量;為第k個已知病蟲害的類級;s為已知病蟲害類別;
45、步驟3.5、引入角度線性層將隱向量投影到超球面上進行二元域檢測任務,角度線性層由公式表示為:
46、
47、其中,xh表示x′c在單位超球面上的投影向量;x′c為映射到隱空間內的因果特征x′c;為超參數;m為角裕度;θ表示wt和x′c之間的夾角,值域為[0,π];w表示全連接層的權重,t為轉置符號;
48、同理,將a′映射至單位超球面,表示為:
49、
50、其中,ah表示a′在單位超球面上的投影向量;a′為映射到隱空間內的類級屬性;
51、步驟3.6、當xh和ah計算完畢后,引入a-sonmax損失來完成已知病蟲害類別的分類任務,由公式表示為:
52、
53、其中,為a-softmax損失值;表示在單位超球面上的投影向量;表示和間的夾角,為第i個標簽的全連接層的權重的轉置;表示和間的夾角,為第個標簽的全連接層的權重的轉置;為標簽集的編號;n為訓練集中的樣本數量;;ψ(·)為單調遞減函數;
54、步驟3.7、通過梯度下降法和反向傳播法對雙流超球面對齊模塊進行訓練,得到訓練完成的雙流超球面對齊模塊。
55、進一步地,所述步驟4的具體過程為:
56、步驟4.1、將因果特征集.和屬性集投影到球面空間中,然后在球面空間計算每個視覺特征和其對應的類級屬性的余弦相似度,并將屬于同一類的余弦相似度收集到集合中;最后,搜索一個低于中大多數值的余弦相似度γ,該值能夠保證大于γ的余弦相似度與全部余弦相似度的比值等于人工設定的閾值η;該過程由公式表示為:
57、
58、其中,c為余弦相似度集合的樣本;
59、步驟4.2、給定余弦相似度γ完成二元域檢測任務,公式為:
60、
61、其中,yd表示測試樣本的二元域標簽,0表示屬于未知類域,1表示屬于已知類域;表示測試集中的視覺特征xte在球面空間中的投影向量;為已知病蟲害類別的類級屬性在隱空間中的投影向量;
62、步驟4.3、測試樣本的二元域標簽被確定后,對于已知類測試樣本,直接使用步驟3.6中的損失和步驟3.7訓練完成的雙流超球面對齊模塊對已知類測試樣本進行分類;對于未知類測試樣本,使用現有的f-clswgan方法來合成未知類病蟲害圖像的視覺特征,該過程表示為:
63、
64、其中,表示合成的未知類病蟲害圖像的視覺特征;f_clswgan(·)為f-clswgan方法;表示未知病蟲害類別的類級屬性;
65、步驟4.4、使用經過一個兩層的全連接層模塊和softmax函數獲得每一個未知類的概率分布,這個過程用公式表示為:
66、
67、其中,θcls表示全連接層模塊mlpcls(·)的參數;表示每一個未知類的概率分布;softmax(·)為softmax函數;
68、步驟4.5、使用交叉熵損失對步驟4.4中提出的全連接層模塊進行訓練,實現對未知病蟲害類別的分類,交叉熵損失的公式表示為:
69、
70、其中,lce表示交叉熵損失;yu表示未知病蟲害類別的真實概率分布。
71、進一步地,所述步驟5的具體過程為:將待分類的病蟲害圖像輸入預訓練完成的resnet101網絡中,得到視覺特征,再將視覺特征輸入訓練完成的因果門控模型,識別得到當前病蟲害圖像的二元域標簽;根據二元域標簽類別,通過步驟4.3至步驟4.5所述的分類方式對病蟲害圖像進行分類。
72、本發明所帶來的有益技術效果:本發明提出一種基于因果門控模型的廣義零樣本病蟲害圖像分類方法,能夠解決現有病蟲害圖像分類缺乏面向已知病蟲害域和未知病蟲害域的二元域分類方案的問題,且該方法有效解決了廣義零樣本病蟲害圖像分類任務中的特征混淆問題,能夠精準識別未知類別的病蟲害。