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