本發(fā)明涉及圖像目標(biāo)檢測方法,具體涉及了一種基于顯著性指導(dǎo)的端到端的弱監(jiān)督目標(biāo)檢測方法。
背景技術(shù):
目標(biāo)檢測旨在用矩形框標(biāo)記出圖像中的目標(biāo)及其類別。傳統(tǒng)的基于機(jī)器學(xué)習(xí)的目標(biāo)檢測方法,一般屬于監(jiān)督學(xué)習(xí)的方法,它需要帶有矩形框真值的訓(xùn)練數(shù)據(jù)。但是在大數(shù)據(jù)場景下,標(biāo)記大量的矩形框需要耗費(fèi)大量的人力,因此限制了監(jiān)督學(xué)習(xí)的方法在大規(guī)模數(shù)據(jù)集上的應(yīng)用。
為了解決訓(xùn)練數(shù)據(jù)昂貴的問題,近年來,研究者發(fā)展出了基于弱監(jiān)督標(biāo)記的學(xué)習(xí)方法。弱監(jiān)督標(biāo)記雖然監(jiān)督能力比監(jiān)督標(biāo)記弱,但是獲得弱監(jiān)督標(biāo)記的代價(jià)要遠(yuǎn)遠(yuǎn)小于監(jiān)督標(biāo)記。比如對于目標(biāo)檢測問題來說,圖像級標(biāo)簽是一類弱監(jiān)督標(biāo)記,標(biāo)記圖像級標(biāo)簽,即標(biāo)記出圖像中有哪些類別的目標(biāo),所需的工作量要遠(yuǎn)遠(yuǎn)小于標(biāo)記出每個目標(biāo)的具體位置。
另一方面,隨著社交網(wǎng)絡(luò)的興起,互聯(lián)網(wǎng)上有大量用戶標(biāo)記的數(shù)據(jù),這類標(biāo)記通常都是圖像級的標(biāo)簽,因此,弱監(jiān)督學(xué)習(xí)方法可以利用這些免費(fèi)的海量標(biāo)記,從而進(jìn)一步減少標(biāo)記的工作量。這樣弱監(jiān)督學(xué)習(xí)的方法相比監(jiān)督學(xué)習(xí)的方法在大數(shù)據(jù)時(shí)代有更大的用武之地。
然而弱監(jiān)督的目標(biāo)檢測是一個十分困難的問題,原因在于弱監(jiān)督標(biāo)記缺少位置信息,導(dǎo)致無法對目標(biāo)進(jìn)行精確的建模。為了改善位置信息缺失的問題,一些方法嘗試恢復(fù)位置信息,如bilen等人通過在網(wǎng)絡(luò)中加入一個新的分支,得到每個候選目標(biāo)區(qū)域是否為目標(biāo)的分?jǐn)?shù)。但是這些方法僅利用深度神經(jīng)網(wǎng)絡(luò)中的特征來獲得,沒有挖掘圖像中更多的信息,因此對目標(biāo)檢測性能的提升不大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于顯著性指導(dǎo)的端到端的弱監(jiān)督目標(biāo)檢測方法。本方法將類別相關(guān)的顯著圖引入弱監(jiān)督目標(biāo)檢測中,首先從顯著圖中獲取置信度較高的種子候選目標(biāo)區(qū)域,從而恢復(fù)少量置信度高的位置信息,然后利用高質(zhì)量的位置信息監(jiān)督訓(xùn)練用來恢復(fù)位置信息的顯著性子網(wǎng)絡(luò),同時(shí)也用來監(jiān)督訓(xùn)練檢測器。
本發(fā)明采用的技術(shù)方案是包括如下步驟:
(1)采集一幅已知圖像級標(biāo)簽的圖像i,圖像級標(biāo)簽為y=[y1,y2,...,yc],其中yc代表圖像中具有第c個類別物體所對應(yīng)的標(biāo)簽,標(biāo)簽分為前景標(biāo)簽和背景標(biāo)簽,每個標(biāo)簽屬性為前景標(biāo)簽或者背景標(biāo)簽,yc∈{1,-1},yc=1表示圖像中具有第c個類別物體,yc=-1表示圖像中不具有第c個類別物體,一個標(biāo)簽對應(yīng)一個類別物體,c為類別物體總數(shù),記t={c|yc=1}為圖像i具有的圖像級標(biāo)簽的集合;
(2)對圖像i進(jìn)行處理獲得與每個類別物體對應(yīng)的類別相關(guān)顯著圖mc、候選目標(biāo)區(qū)域
(3)對于每個類別物體下的每個候選目標(biāo)區(qū)域進(jìn)行處理計(jì)算獲得上下文顯著值差異
其中,λc表示種子目標(biāo)區(qū)域在候選目標(biāo)區(qū)域集合
然后獲得圖像i具有的圖像級標(biāo)簽的集合對應(yīng)的種子目標(biāo)區(qū)域的下標(biāo)序數(shù)值集合λs={λc,yc=1};
(4)構(gòu)建類別相關(guān)顯著圖指導(dǎo)的深度神經(jīng)網(wǎng)絡(luò);
(5)將圖像i及其候選目標(biāo)區(qū)域輸入到深度神經(jīng)網(wǎng)絡(luò)中,利用帶動量(momentum)的sgd算法訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),獲得深度神經(jīng)網(wǎng)絡(luò)的參數(shù);
(6)采用訓(xùn)練后的深度神經(jīng)網(wǎng)絡(luò)對未知圖像級標(biāo)簽的待測圖像進(jìn)行處理獲得目標(biāo)檢測結(jié)果。
所述步驟(2)具體為:
使用dcsm算法對圖像i進(jìn)行處理得到多個類別相關(guān)顯著圖m,第c個類別物體具有一個類別相關(guān)顯著圖mc;
使用cob算法對圖像i進(jìn)行處理,分割提取得到多個超像素以及由超像素組合構(gòu)成的多個候選目標(biāo)區(qū)域,并且為每個候選目標(biāo)區(qū)域
多個超像素的集合表示為
例如為第i個候選目標(biāo)區(qū)域
所述步驟(3)以第i個候選目標(biāo)區(qū)域
(3.1)首先采用以下公式計(jì)算平均顯著值
其中,
(3.2)再采用以下公式計(jì)算與第i個候選目標(biāo)區(qū)域
其中,
(3.3)采用以下公式計(jì)算得到上下文顯著值差異
其中,σ表示面積權(quán)重的標(biāo)準(zhǔn)差。
所述步驟(4)構(gòu)建的深度神經(jīng)網(wǎng)絡(luò)具體包含convs模塊、spp模塊、ssn(saliencysub-network)模塊、sum模塊、cln(classification-localizationsub-network)模塊、顯著性損失函數(shù)模塊
所述的convs模塊包含傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)中vgg16網(wǎng)絡(luò)conv5之前的所有運(yùn)算;
所述的spp模塊為一個空間金字塔池化層(spatialpyramidpooling);
所述的sum模塊采用以下公式定義:
其中,τc是sum模塊的輸出,表示第c個標(biāo)簽的分類分?jǐn)?shù),φc,i表示cln模塊的輸出,i表示每個候選目標(biāo)區(qū)域;
所述的ssn模塊主要由fc1層、fc2層、sigmoid層和time層構(gòu)成,fc1層和time層的輸入作為ssn模塊的輸入,即spp模塊輸出到fc1層和time層,fc1層依次經(jīng)fc2層、sigmoid層后輸出到time層,time層輸出作為ssn模塊的輸出;其中的fc1層是由一個輸出神經(jīng)元個數(shù)為n1的全連接層和一個relu層構(gòu)成,fc2層是由一個輸出神經(jīng)元個數(shù)為n2的全連接層和一個relu層構(gòu)成。
所述的cln模塊主要由fc3層、fc4層、fc5層、fc6層、softmax3層、softmax4層和time層構(gòu)成,其中的fc3層是由一個輸出神經(jīng)元個數(shù)為n3的全連接層和一個relu層構(gòu)成,fc4層是由一個輸出神經(jīng)元個數(shù)為n4的全連接層和一個relu層構(gòu)成,fc5層是由一個輸出神經(jīng)元個數(shù)為n5的全連接層和一個relu層構(gòu)成,fc6層是由一個輸出神經(jīng)元個數(shù)為n6的全連接層和一個relu層構(gòu)成,softmax3層表示在第三個維度進(jìn)行softmax操作,softmax4層表示在第四個維度上進(jìn)行softmax操作,time層表示兩個輸入的點(diǎn)乘運(yùn)算,
所述的顯著性損失函數(shù)模塊lss采用以下公式運(yùn)算:
其中,p是ssn模塊中sigmoid層的輸出,表示候選目標(biāo)區(qū)域的顯著值,
其中,顯著值的真值q采用以下公式計(jì)算:
其中,m表示λs集合中每個元素的下標(biāo),λs()表示種子目標(biāo)區(qū)域下標(biāo)的集合,l0為背景標(biāo)簽集合,lf為前景標(biāo)簽集合;公式中是分別將背景標(biāo)簽下類別物體和前景標(biāo)簽下類別物體對應(yīng)的種子目標(biāo)區(qū)域作為顯著性的負(fù)樣本和正樣本來計(jì)算判別。
所述的圖像級分類損失函數(shù)模塊lic采用以下公式運(yùn)算:
其中,c為類別物體總數(shù),c為類別物體的序數(shù);
所述的種子區(qū)域分類損失函數(shù)lsc采用以下公式運(yùn)算:
其中,t={c|yc=1}為圖像i具有的圖像級標(biāo)簽的集合;
所述的損失函數(shù)模塊l(w)采用以下公式運(yùn)算:
其中,w為深度神經(jīng)網(wǎng)絡(luò)中的參數(shù),λ1、λ2、λ3分別為種子區(qū)域分類損失函數(shù)、顯著性損失函數(shù)和深度神經(jīng)網(wǎng)絡(luò)正則項(xiàng)的權(quán)重。
所述步驟(6)具體為:針對未知圖像級標(biāo)簽的待測圖像采用所述步驟(2)處理獲得候選目標(biāo)區(qū)域,將待測圖像及其候選目標(biāo)區(qū)域輸入到訓(xùn)練后且去掉了損失函數(shù)模塊l(w)的深度神經(jīng)網(wǎng)絡(luò)中進(jìn)行前向傳播,得到輸出矩陣φ,輸出矩陣φ的每一列作為待測圖像中對應(yīng)的候選目標(biāo)區(qū)域的分?jǐn)?shù),例如第一列對應(yīng)第一個候選目標(biāo)區(qū)域,每一列的最大值為所對應(yīng)候選目標(biāo)區(qū)域的最終分類分?jǐn)?shù),選出最終分類分?jǐn)?shù)大于閾值η的候選目標(biāo)區(qū)域,在待測圖像上構(gòu)建選出的候選目標(biāo)區(qū)域外的最小外接矩形作為目標(biāo)檢測結(jié)果。
本發(fā)明方法構(gòu)造了一個深度神經(jīng)網(wǎng)絡(luò),在弱監(jiān)督分類器網(wǎng)絡(luò)的基礎(chǔ)上增加目標(biāo)框的顯著性子網(wǎng)絡(luò),同時(shí)利用弱監(jiān)督方法訓(xùn)練得到的類別相關(guān)的顯著圖,用上下文差異的準(zhǔn)則選取類別相關(guān)的種子目標(biāo)框,用來監(jiān)督訓(xùn)練顯著性子網(wǎng)絡(luò)和分類器子網(wǎng)絡(luò)。
本發(fā)明的有益效果是:
本發(fā)明方法利用類別相關(guān)顯著圖得到種子目標(biāo)區(qū)域,一方面利用種子區(qū)域監(jiān)督訓(xùn)練顯著性子網(wǎng)絡(luò),從而能夠選擇出更有可能是目標(biāo)的區(qū)域;一方面直接利用種子區(qū)域監(jiān)督檢測網(wǎng)絡(luò)的分類器;從而從兩方面恢復(fù)在弱監(jiān)督訓(xùn)練中缺失的位置信息,與以往的弱監(jiān)督目標(biāo)檢測方法相比,得到了更好的性能,同時(shí)只需要圖像級標(biāo)簽進(jìn)行訓(xùn)練,減少了標(biāo)注訓(xùn)練數(shù)據(jù)的工作量。
附圖說明
圖1是本發(fā)明深度神經(jīng)網(wǎng)絡(luò)的模塊結(jié)構(gòu)框圖。
圖2是ssn(saliencysub-network)模塊的具體結(jié)構(gòu)框圖。
圖3是cln(classification-localizationsub-network)模塊的具體結(jié)構(gòu)框圖。
圖4是實(shí)施例選擇出的種子目標(biāo)區(qū)域結(jié)果圖。
圖5是實(shí)施例目標(biāo)檢測結(jié)果圖。
具體實(shí)施方式
下面對本發(fā)明進(jìn)行進(jìn)一步說明。
本發(fā)明的實(shí)施例及其實(shí)施過程是:
(1)采集一幅已知圖像級標(biāo)簽的圖像i,圖像級標(biāo)簽為y=[y1,y2,...,yc],其中yc代表圖像中具有第c個類別物體所對應(yīng)的標(biāo)簽,標(biāo)簽分為前景標(biāo)簽和背景標(biāo)簽,每個標(biāo)簽屬性為前景標(biāo)簽或者背景標(biāo)簽,yc∈{1,-1},yc=1表示圖像中具有第c個類別物體,yc=-1表示圖像中不具有第c個類別物體,一個標(biāo)簽對應(yīng)一個類別物體,c為類別物體總數(shù);
(2)對圖像i進(jìn)行處理獲得與每個類別物體對應(yīng)的類別相關(guān)顯著圖mc、候選目標(biāo)區(qū)域
使用dcsm算法對圖像i進(jìn)行處理得到多個類別相關(guān)顯著圖m,第c個類別物體具有一個類別相關(guān)顯著圖mc;具體實(shí)施中,dcsm算法采用shimodaw,yanaik.distinctclass-specificsaliencymapsforweaklysupervisedsemanticsegmentation文獻(xiàn)中的計(jì)算方法。
使用cob算法對圖像i進(jìn)行處理,分割提取得到多個超像素以及由超像素組合構(gòu)成的多個候選目標(biāo)區(qū)域,并且為每個候選目標(biāo)區(qū)域
(3)對于每個類別物體下的每個候選目標(biāo)區(qū)域進(jìn)行處理計(jì)算獲得上下文顯著值差異
其中,λc表示種子目標(biāo)區(qū)域在候選目標(biāo)區(qū)域集合
然后獲得每個類別物體(圖像級標(biāo)簽)對應(yīng)的種子目標(biāo)區(qū)域的下標(biāo)序數(shù)值集合λs={λc,yc=1}。圖4展示了通過以上方法選擇出的種子目標(biāo)區(qū)域,可見本方法能夠利用不完美的類別相關(guān)顯著圖,選擇出正確的種子目標(biāo)區(qū)域,從而恢復(fù)出訓(xùn)練數(shù)據(jù)中缺失的目標(biāo)位置信息,用來監(jiān)督深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。
(4)構(gòu)建深度神經(jīng)網(wǎng)絡(luò)。
如圖1所示,具體包含convs模塊、spp模塊、ssn(saliencysub-network)模塊、sum模塊、cln(classification-localizationsub-network)模塊、顯著性損失函數(shù)模塊lss、圖像級分類損失函數(shù)模塊lic、種子區(qū)域分類損失函數(shù)模塊lsc和損失函數(shù)模塊l(w);圖像i輸入到convs模塊中,convs模塊輸出依次經(jīng)spp模塊、ssn模塊后分別輸出到顯著性損失函數(shù)模塊lss和cln模塊,cln模塊分別輸出到種子區(qū)域分類損失函數(shù)模塊lsc和sum模塊,sum模塊輸出到圖像級分類損失函數(shù)模塊lic,顯著性損失函數(shù)模塊lss、種子區(qū)域分類損失函數(shù)模塊lsc和圖像級分類損失函數(shù)模塊lic一起輸出到損失函數(shù)模塊l(w)。
所述的ssn模塊如圖2所示,所述的cln模塊如圖3所示。
(5)將圖像i及其候選目標(biāo)區(qū)域輸入到深度神經(jīng)網(wǎng)絡(luò)中,利用帶動量(momentum)的sgd算法訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),獲得深度神經(jīng)網(wǎng)絡(luò)的參數(shù);
具體實(shí)施中,動量設(shè)置為0.9,一共迭代20個紀(jì)元(epoch),前10個紀(jì)元的學(xué)習(xí)率為10-5,后10個紀(jì)元的學(xué)習(xí)率為10-6。訓(xùn)練結(jié)束后,保存深度神經(jīng)網(wǎng)絡(luò)的參數(shù)。
(6)針對未知圖像級標(biāo)簽的待測圖像采用所述步驟(2)處理獲得候選目標(biāo)區(qū)域,將待測圖像及其候選目標(biāo)區(qū)域輸入到訓(xùn)練后且去掉了損失函數(shù)模塊l(w)的深度神經(jīng)網(wǎng)絡(luò)中進(jìn)行前向傳播,得到輸出矩陣φ,輸出矩陣φ的每一列作為待測圖像中對應(yīng)的候選目標(biāo)區(qū)域的分?jǐn)?shù),例如第一列對應(yīng)第一個候選目標(biāo)區(qū)域,每一列的最大值為所對應(yīng)候選目標(biāo)區(qū)域的最終分類分?jǐn)?shù),選出最終分類分?jǐn)?shù)大于閾值η的候選目標(biāo)區(qū)域,閾值η取0.1,在待測圖像上構(gòu)建選出的候選目標(biāo)區(qū)域外的最小外接矩形作為目標(biāo)檢測結(jié)果。圖5展示實(shí)施例一些目標(biāo)檢測結(jié)果。
本實(shí)施例最后使用標(biāo)準(zhǔn)數(shù)據(jù)集voc2007(m.everingham,l.vangool,c.kiwilliams,j.winn,anda.zisserman.thepascalvisualobjectclasses(voc)challenge.internationaljournalofcomputervision,88(2):303–338,2010)進(jìn)行測試,使用數(shù)據(jù)集中的trainval部分進(jìn)行訓(xùn)練,使用數(shù)據(jù)集中test部分進(jìn)行測試。使用目標(biāo)檢測的標(biāo)準(zhǔn)評判標(biāo)準(zhǔn)map進(jìn)行評測,表1給出了本方法與最新的弱監(jiān)督目標(biāo)檢測方法的map值,map值越大,說明性能越好。
表1本方法與最新方法在voc2007數(shù)據(jù)集上的比較
從上表可見,本方法的map值達(dá)到43.5,都高于其他常見的方法的map值,其中wsddnvgg16等價(jià)于本方法去掉顯著性指導(dǎo)之后的方法,從本方法與wsddnvgg16的比較來看,本方法提出的顯著性指導(dǎo)方法,是十分有效的。同時(shí)與最新的弱監(jiān)督目標(biāo)檢測方法相比,本發(fā)明具有其突出顯著的技術(shù)效果。