王 強(qiáng),黃小明,佟 強(qiáng),劉秀磊*
(1.北京信息科技大學(xué) 數(shù)據(jù)科學(xué)與情報(bào)分析研究所,北京 100101;2.北京材料基因工程高精尖創(chuàng)新中心(北京信息科技大學(xué)),北京 100101)
顯著性目標(biāo)檢測(Salient Object Detection,SOD)的目的是檢測圖像中能夠引起人類注意力的區(qū)域,它在各種視覺任務(wù)中都具有重要的應(yīng)用,例如目標(biāo)識(shí)別[1]、圖像檢索[2]和視覺追蹤[3]等。目前顯著性檢測算法基本上可以分為基于傳統(tǒng)手工提取特征的方法和基于深度學(xué)習(xí)的方法兩類。
基于手工提取特征的傳統(tǒng)算法[4-16]通常利用輸入圖像的本身信息,采用一系列途徑(如對(duì)比度分析、空間位置分析等)來獲取相關(guān)的線索,突出目標(biāo)并抑制干擾;雖然所需時(shí)間成本極少,但是檢測精度一般。Achanta 等[4]以圖像存在的頻域顏色、亮度等特征為依據(jù)計(jì)算顯著值。Zhang等[6]提出了一種基于最小柵欄距離的高效算法檢測顯著區(qū)域。Zhang 等[9]通過學(xué)習(xí)由具有手工特征的無監(jiān)督顯著性方法生成的多個(gè)噪聲標(biāo)簽以更新顯著性檢測模型。文獻(xiàn)[11]中根據(jù)圖像自身的顏色和亮度獲得粗略的顯著圖,再利用圖像的統(tǒng)計(jì)特性得到顯著目標(biāo)的候選區(qū)域。Yang 等[12]綜合利用圖像中背景、前景的先驗(yàn)位置分布和連通性,得到顯著物體分割的結(jié)果。Li 等[13]通過誤差傳播改進(jìn)顯著性圖,采用對(duì)象偏向高斯模型并使用貝葉斯推理整合得到最終顯著性圖。Yan 等[14]提出了一種多層方法分析顯著性線索,在層次模型中生成最終的顯著性圖。Qin 等[15]提出了一種將多種不同的方法生成的多個(gè)顯著圖融合的有效方法。Tu 等[16]提出了一種基于最小生成樹的實(shí)時(shí)顯著目標(biāo)檢測系統(tǒng)。
近年來,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)的出現(xiàn)極大地提高了顯著目標(biāo)檢測的性能,基于深度學(xué)習(xí)的方法[17-26]得到了很大的發(fā)展空間。文獻(xiàn)[17]中使用改進(jìn)的深度導(dǎo)向神經(jīng)網(wǎng)絡(luò)生成初始顯著圖,再對(duì)它進(jìn)行優(yōu)化,獲取結(jié)構(gòu)邊界信息和清晰的邊緣。文獻(xiàn)[19]中引入了多尺度全局特征聚合模塊,利用多層次特征能夠互相傳遞的特點(diǎn),將較低層的特征信息和較高層特征信息充分結(jié)合起來,從而得到顯著區(qū)域。目前,基于深度學(xué)習(xí)的顯著目標(biāo)檢測方法雖然是主流的研究方法,但是全監(jiān)督深度學(xué)習(xí)算法過于依賴像素級(jí)人工標(biāo)注,導(dǎo)致標(biāo)注工作的成本太高,因此存在一定的局限性。
由于全監(jiān)督深度學(xué)習(xí)算法對(duì)真值標(biāo)注的依賴性過高,研究逐漸放在了基于弱監(jiān)督標(biāo)注的顯著性目標(biāo)檢測上。與像素級(jí)標(biāo)注相比,弱監(jiān)督標(biāo)注需要的成本低得多。Li 等[20]使用無監(jiān)督方法和類別標(biāo)注的顯著性映射訓(xùn)練多任務(wù)完全卷積網(wǎng)絡(luò),用神經(jīng)網(wǎng)絡(luò)的類激活圖和無監(jiān)督顯著圖作為顯著性標(biāo)注。譚臺(tái)哲等[21]使用超像素塊檢測邊緣,將得到的細(xì)節(jié)特征與圖像類別標(biāo)注訓(xùn)練前景推斷網(wǎng)絡(luò)結(jié)合,以得到較好的顯著目標(biāo)邊緣。Wang 等[22]設(shè)計(jì)了一個(gè)前景推理網(wǎng)絡(luò)(Foreground Inference Network,F(xiàn)IN),并將它與輸出的顯著圖用于微調(diào)FIN 的完全卷積網(wǎng)絡(luò)一起訓(xùn)練在對(duì)象類別標(biāo)簽上。Zeng 等[23]提出了一個(gè)統(tǒng)一的框架訓(xùn)練具有不同弱監(jiān)督源的顯著性檢測模型。
以往的弱監(jiān)督顯著目標(biāo)檢測方法大多數(shù)側(cè)重于使用圖像級(jí)的類別標(biāo)簽作為弱監(jiān)督,對(duì)目標(biāo)對(duì)象的定位不夠準(zhǔn)確,并且有時(shí)會(huì)缺失一些突出的部分。針對(duì)以上的問題,Liu等[24]基于邊界框[25-26]標(biāo)注,融合傳統(tǒng)無監(jiān)督的顯著目標(biāo)檢測結(jié)果得到初始顯著圖并作調(diào)整,然后基于調(diào)整后的顯著圖和邊界框訓(xùn)練多任務(wù)網(wǎng)絡(luò),以迭代方式優(yōu)化顯著性結(jié)果。從整體上來看,雖然該算法某些性能有所提高,但由于傳統(tǒng)無監(jiān)督的顯著目標(biāo)檢測效果欠佳,尤其在面對(duì)較復(fù)雜的場景時(shí)還會(huì)出現(xiàn)目標(biāo)局部區(qū)域丟失、結(jié)構(gòu)邊緣不清晰等問題。
為了提高顯著性目標(biāo)檢測算法的性能,本文在邊界框標(biāo)注的弱監(jiān)督算法[24]的基礎(chǔ)上,提出一種新的基于邊界框標(biāo)注的弱監(jiān)督檢測算法。首先基于邊界框標(biāo)注,通過GrabCut算法[27]獲得初始顯著性圖;然后根據(jù)顯著目標(biāo)的邊界框標(biāo)注,對(duì)初始顯著圖的四周覆蓋不足、中部覆蓋不足和存在細(xì)小空洞區(qū)域等問題進(jìn)行調(diào)整;最后將調(diào)整后的顯著圖作為偽真值輸入到PoolNet[28]中,用于訓(xùn)練顯著性目標(biāo)檢測模型。與同樣基于邊界框標(biāo)注的算法[24]相比,本文算法取得了明顯的性能提升;與其他弱監(jiān)督算法相比,本文算法也展示了更優(yōu)的性能。
近年來,研究人員在圖像分割方面進(jìn)行了大量研究,提出了很多圖像分割算法。其中Boykov 等[29]提出的GraphCut算法簡潔有效,只需提供一些背景和前景像素,就能較好地完成圖像分割,但是GraphCut 算法不能分割彩色圖像。Rother 等[27]在GraphCut 的基礎(chǔ)上提出GrabCut 算法,采用“不完全標(biāo)記”在很大程度上簡化了給定結(jié)果質(zhì)量所需的用戶交互,這意味著用戶僅需在對(duì)象周圍放置一個(gè)矩形框就可以達(dá)到提取對(duì)象的目的。GrabCut 算法不僅操作簡單,而且具有較高的分割精度,因此被普遍關(guān)注和應(yīng)用。
GrabCut 算法是在GraphCut 算法基礎(chǔ)上的改進(jìn),作為交互式分割,GrabCut 算法在分割前需指定一些前景和背景像素作為種子像素。假定圖像z=(z1,z2,…,zn,…,zN)由N個(gè)像素組成,分別對(duì)背景和前景進(jìn)行混合高斯模型(Gaussian Mixture Model,GMM)建模,背景GMM 和前景GMM 各包含K個(gè)分量。對(duì)于圖像中每個(gè)像素zn,它的透明度系數(shù)αn為1 或0,表示該像素屬于前景GMM 或背景GMM,分量系數(shù)kn∈{1,2,…,K}表示該像素屬于GMM 中哪個(gè)分量。全部像素的透明度系數(shù)為=(α1,α2,…,αn,…,αN),分量系數(shù)為k=(k1,k2,…,kn,…,kN)。圖像的分割即轉(zhuǎn)化為最小能量問題,能量函數(shù)表達(dá)式如下:
其中U函數(shù)和V函數(shù)分別表示區(qū)域數(shù)據(jù)項(xiàng)和平滑項(xiàng)。
模型的參數(shù)-θ由每個(gè)GMM分量的權(quán)重π(α,k)、均值μ(α,k)和方差Σ(α,k)構(gòu)成:
數(shù)據(jù)項(xiàng)U表示分割結(jié)果滿足模型參數(shù)的程度。對(duì)于某一個(gè)像素,基于每個(gè)GMM 分量計(jì)算概率之和,計(jì)算它屬于前景還是背景的概率的負(fù)對(duì)數(shù),如式(3)(4)所示:
其中T 表示轉(zhuǎn)置。
平滑項(xiàng)V主要確保相鄰并且顏色接近的像素的分割結(jié)果盡可能接近,以符合人的視覺:
其中:m和n表示像素坐標(biāo),C表示相鄰像素對(duì)的集合,dis(m,n)函數(shù)用于計(jì)算相鄰像素m和n之間的歐氏距離,β=表示圖像上所有像素計(jì)算結(jié)果的期望。
根據(jù)吉布斯能量函數(shù),構(gòu)建s-t 圖,通過最大流/最小割優(yōu)化方法得到圖像的分割結(jié)果。
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)的出現(xiàn),使得顯著性目標(biāo)檢測可以從多尺度數(shù)據(jù)空間得到更豐富的高級(jí)語義信息和細(xì)節(jié)信息。為此,本文應(yīng)用了一種基于擴(kuò)展池化的PoolNet模型[29]。針對(duì)傳統(tǒng)特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network,F(xiàn)PN)具有層次多、高層語義信息在反復(fù)上采樣過程中容易丟失的不足,PoolNet 在FPN 基礎(chǔ)上提出全局引導(dǎo)模 塊(Global Guidance Module,GGM)和特征聚合模塊(Feature Aggregation Module,F(xiàn)AM)這兩個(gè)互補(bǔ)的模塊。
GGM包含金字塔池化模塊(Pyramid Pooling Module,PPM)和一系列全局引導(dǎo)流(Global Guidance Flow,GGF),以確保每個(gè)層次的特征圖都能感知顯著目標(biāo)的位置。PPM 由4 個(gè)分支組成,用于捕獲輸入圖像的上下文信息。第1 個(gè)是恒等映射層,中間2 個(gè)是自適應(yīng)平均池化層,最后1 個(gè)是全局平均池化層,為了保證輸出的特征圖是3×3 和5×5。通過引入GGF,金字塔池化后的特征引入各個(gè)層次特征圖中,這樣就可以增加全局引導(dǎo)信息所占的分量,避免了位置信息在不斷上采樣過程中丟失的情況。
FAM 包含4 個(gè)子分支,在前向傳遞中,首先通過不同下采樣的平均池化層,將輸入特征圖轉(zhuǎn)換為不同的尺度空間。然后將來自不同子分支的上采樣特征圖合并在一起之后,并作3×3 卷積。
PoolNet 能較精確地定位顯著性目標(biāo),并具有實(shí)時(shí)的運(yùn)算效率。
本文算法主要包括3 個(gè)步驟,具體框架如圖1 所示。首先,基于邊界框標(biāo)注和GrabCut 算法[27]分割原始圖像,實(shí)現(xiàn)目標(biāo)與背景的分離,獲得初始顯著圖;然后使用四周缺失修正模塊和中部缺失修正模塊調(diào)整初始顯著圖;最后,將調(diào)整后的像素級(jí)顯著圖作為偽真值,在PoolNet 中訓(xùn)練。
圖1 本文算法的總體框架Fig.1 Overall framework of the proposed algorithm
Liu 等[24]提出了邊界框標(biāo)注作為顯著目標(biāo)檢測的弱監(jiān)督信息。根據(jù)以下兩個(gè)原則標(biāo)定邊界框:1)邊界框是包含至少一個(gè)顯著目標(biāo)的外接矩形框;2)當(dāng)邊界框有重疊時(shí)則將它們合并。此邊界框標(biāo)注存在的問題是:如果一幅圖像中存在多個(gè)目標(biāo),并且目標(biāo)的外接矩形框之間沒有重疊,需要為每個(gè)目標(biāo)標(biāo)定一個(gè)邊界框,這給標(biāo)注工作帶來了很多不便。
針對(duì)以上不足,本文提出了一種更為簡潔的邊界框標(biāo)注,即使用圖像中所有目標(biāo)的最小外接矩形框作為邊界框標(biāo)注,即每幅圖像中只需要標(biāo)注一個(gè)邊界框。圖2 展示了本文使用的邊界框標(biāo)注,邊界框內(nèi)有一個(gè)或者多個(gè)顯著目標(biāo)。顯著目標(biāo)只會(huì)出現(xiàn)在邊界框內(nèi),而邊界框之外都是背景區(qū)域。
圖2 邊界框標(biāo)注示例Fig.2 Samples of bounding box annotation
根據(jù)邊界框的標(biāo)注,邊界框外一定是背景,邊界框內(nèi)有顯著目標(biāo),也存在部分背景區(qū)域。如何運(yùn)用邊界框標(biāo)注提供的監(jiān)督信息是解決問題的關(guān)鍵?,F(xiàn)有的基于邊界框標(biāo)注的弱監(jiān)督方法[24]主要通過對(duì)比度等傳統(tǒng)方法計(jì)算輸入圖像的顯著性,然后將它與邊界框?qū)Ρ?;然而這些傳統(tǒng)的方法都不夠魯棒。
本文基于邊界框的標(biāo)注,運(yùn)用GrabCut 算法[27]得到的分割結(jié)果作為初始顯著圖。GrabCut 算法通過k均值(kmeans)聚類將矩形框內(nèi)的像素和矩形框外的像素分別聚類,對(duì)矩形框內(nèi)外的像素分別用GMM 建模,通過能量函數(shù)優(yōu)化求解,進(jìn)而判斷每個(gè)像素屬于目標(biāo)或背景。部分圖像基于邊界框標(biāo)注和GrabCut 算法的分割結(jié)果如圖3 所示。
圖3 基于邊界框標(biāo)注和GrabCut算法的分割結(jié)果Fig.3 Segmentation results based on boundary box annotation and GrabCut algorithm
本文首先基于邊界框標(biāo)注,使用GrabCut 算法得到的初始顯著圖有時(shí)會(huì)存在目標(biāo)覆蓋不足和目標(biāo)中存在細(xì)小的空洞區(qū)域的問題,針對(duì)這兩個(gè)問題分別提出四周缺失修正模塊、中部缺失修正模塊和形態(tài)學(xué)濾波的后處理,改進(jìn)顯著圖檢測結(jié)果。
2.3.1 顯著圖后處理總體流程
圖4 展示了顯著圖后處理的總體流程,具體的實(shí)驗(yàn)結(jié)果如圖5 所示。首先,利用圖像的邊界框標(biāo)注,即圖5(a)中實(shí)線方框,對(duì)圖像進(jìn)行GrabCut 算法分割,獲得初始顯著圖,并對(duì)初始顯著圖做二值化,計(jì)算初始顯著圖的外接矩形框,如圖5(b)中虛線方框所示。
圖4 顯著圖的后處理流程Fig.4 Flow of saliency map post-processing
圖5 顯著圖的后處理結(jié)果Fig.5 Results of saliency map post-processing
其次,對(duì)初始顯著圖進(jìn)行覆蓋率檢查,分別進(jìn)行四周缺失修正和中部缺失修正,將初始顯著圖和兩個(gè)缺失修正結(jié)果的并集作為融合后的顯著圖。
其中:T0表示初始顯著圖;T1、T2、T3和T4分別表示四周缺失修正模塊在左、上、右、下方向上調(diào)整的結(jié)果;T5表示中部缺失修正模塊調(diào)整的結(jié)果。如圖5(c)所示,為四周缺失修正模塊在上方向的剪切區(qū)域。
通過式(6)的結(jié)果融合,得到如圖5(g)所示的結(jié)果,然后對(duì)它進(jìn)行閉運(yùn)算形態(tài)學(xué)處理,得到最終調(diào)整后的顯著圖,如圖5(h)所示,對(duì)應(yīng)的真值顯著圖如圖5(i)所示。
2.3.2 四周缺失修正
本文對(duì)初始顯著圖作自適應(yīng)二值化,得到所有前景像素并計(jì)算其最小外接矩形框B',如圖5(b)、圖6(b)和圖7(b)所示。然后,比較圖像的邊界框標(biāo)注B與初始顯著目標(biāo)的外接矩形框B',確定初始顯著圖像是否存在覆蓋不足問題。假定x、y、w、h分別表示邊界框標(biāo)注B的左上角橫縱坐標(biāo)、寬度和高度。用x'、y'、w'、h'分別表示初始顯著目標(biāo)外接矩形框B'的左上角橫縱坐標(biāo)、寬度和高度,計(jì)算兩個(gè)框?qū)?yīng)邊界之間的距離如式(7)所示:
圖6 四周缺失修正Fig.6 Correction of missing around
圖7 中部缺失修正Fig.7 Correction of missing in the middle
S由4 個(gè)部分組成,代表4 個(gè)方向(左、上、右、下)的距離,并記Si(i=1,2,3,4)為第i個(gè)方向的距離。當(dāng)Si小于一個(gè)閾值d(本文設(shè)置為-30)時(shí),則表示該初始顯著圖的第i個(gè)方向上缺失了一部分目標(biāo),即初始顯著圖存在四周覆蓋不足的問題。圖6(c)中展示了一個(gè)下方目標(biāo)缺失的例子。
根據(jù)邊界框標(biāo)注和初始顯著圖的外接矩形框,分別如圖6(a)和(b)所示,可以計(jì)算初始顯著圖在各個(gè)方向上缺失的部分,如圖6(c)所示為初始顯著圖在下方有缺失。為了實(shí)現(xiàn)更魯棒的四周缺失修正,對(duì)缺失部分?jǐn)U大k1倍(本文設(shè)置為1.8),并在原始圖像中剪切出放大后的缺失區(qū)域,如圖6(d)所示,其中虛線方框作為剪切圖像的邊界框標(biāo)注。在剪切圖像上再次運(yùn)用GrabCut 算法分割,得到剪切圖像中顯著性目標(biāo)如圖6(e)所示。將初始顯著圖(圖6(b))和剪切圖像顯著圖(圖6(e))融合,得到融合缺失修正后的顯著性結(jié)果,如圖6(f)所示。
2.3.3 中部缺失修正
根據(jù)初始顯著圖的外接矩形框B',從最上面一行(行號(hào)y')到最下面一行(行號(hào)y'+h'),逐行遍歷該行的顯著性結(jié)果,如果發(fā)現(xiàn)該行所有像素顯著性都為零,則記該行為空缺行。如果一幅圖像中空缺行的行數(shù)累計(jì)超過一個(gè)閾值n(本文設(shè)置為10),則表示該初始顯著圖存在中部覆蓋不足的問題。同理對(duì)初始顯著圖的外接矩形框B'在列方向上掃描,發(fā)現(xiàn)空缺列的列數(shù),進(jìn)而判斷是否存在列方向上的中部覆蓋不足問題。圖7(c)中展示了一個(gè)中部缺失的例子。
根據(jù)初始顯著圖和邊界框標(biāo)注,計(jì)算初始顯著圖中部缺失的部分,如圖7(c)所示;然后對(duì)缺失部分?jǐn)U大k2倍(本文設(shè)置為2.4),并在原始圖像中剪切出放大后的缺失區(qū)域,如圖7(d)所示,其中虛線方框作為剪切圖像的邊界框標(biāo)注。在剪切圖像上再次運(yùn)用GrabCut 算法分割,得到剪切圖像中顯著性目標(biāo)如圖7(e)所示。最后將初始顯著圖(圖7(b))和剪切圖像顯著圖(圖7(e))融合,得到中部缺失修正后的顯著圖,如圖7(f)所示。
2.3.4 顯著圖形態(tài)學(xué)濾波
基于四周和中部缺失修正的顯著圖后處理方法,在大多數(shù)圖像上都有明顯的改進(jìn)效果。圖8 展示了本文缺失修正方法在更多圖像上的結(jié)果,實(shí)驗(yàn)結(jié)果表明缺失修正明顯改進(jìn)了顯著性目標(biāo)檢測結(jié)果,達(dá)到了預(yù)期的目的。
圖8 缺失修正在圖像上的結(jié)果Fig.8 Results of missing correction on images
基于GrabCut 算法得到的顯著圖,有的存在細(xì)小的空洞區(qū)域,為了能夠得到更完整的顯著目標(biāo),對(duì)顯著圖做7×7 大小的形態(tài)學(xué)閉運(yùn)算濾波處理,結(jié)果如圖9 所示。實(shí)驗(yàn)結(jié)果表明,形態(tài)學(xué)濾波明顯改進(jìn)了顯著性目標(biāo)檢測結(jié)果。
圖9 形態(tài)學(xué)閉運(yùn)算在圖像上的處理效果Fig.9 Processing effect of morphological closed operation on images
通過GrabCut 算法[27]得到初始顯著圖,經(jīng)過后處理,顯著圖更接近真實(shí)的顯著目標(biāo);但是,在一些復(fù)雜場景下依然不能達(dá)到滿意的效果。因?yàn)槌跏硷@著圖和后處理都是基于傳統(tǒng)方法,主要提取的是底層特征,缺乏高層的語義特征。
深度學(xué)習(xí)已經(jīng)廣泛應(yīng)用于顯著性目標(biāo)檢測,深度神經(jīng)網(wǎng)絡(luò)能夠提取高低不同層次的特征,擁有更強(qiáng)的學(xué)習(xí)能力,但是全監(jiān)督深度學(xué)習(xí)往往需要大量像素級(jí)的人工標(biāo)注數(shù)據(jù)。
為了充分發(fā)揮神經(jīng)網(wǎng)絡(luò)的特征提取和學(xué)習(xí)能力,本文考慮將傳統(tǒng)方法和深度學(xué)習(xí)結(jié)合,進(jìn)一步提升弱監(jiān)督顯著目標(biāo)檢測的性能。在訓(xùn)練集上,對(duì)每個(gè)圖像基于邊界框的標(biāo)注和GrabCut 算法得到初始顯著圖,經(jīng)過后處理優(yōu)化,將優(yōu)化后的顯著圖作為偽真值,輸入顯著性目標(biāo)檢測PoolNet 中進(jìn)行訓(xùn)練,得到顯著性目標(biāo)檢測模型。需要說明的是,盡管采用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型,但是沒有使用像素級(jí)人工標(biāo)注的真值,僅用到基于邊界框標(biāo)注得到的顯著圖作為偽真值,因此整個(gè)方法仍然是弱監(jiān)督的。
為了驗(yàn)證本文算法的性能,選取了較先進(jìn)的10 種顯著性檢測算法,并在4 個(gè)公開數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。
訓(xùn)練數(shù)據(jù) 參照基于邊界框標(biāo)注的弱監(jiān)督方法[24],本文將DUTS-TR[22]作為訓(xùn)練集,包含了10 553 張圖像。盡管該訓(xùn)練集已經(jīng)有了像素級(jí)標(biāo)注,為了驗(yàn)證邊界框弱標(biāo)注作為監(jiān)督信息的有效性,本文算法并不直接使用像素級(jí)標(biāo)注,而是按照2.1 節(jié)制定的邊界框生成規(guī)則,即將圖像中所有目標(biāo)的最小外接矩形框作為邊界框標(biāo)注。每張圖像僅有一個(gè)邊界框標(biāo)注,邊界框標(biāo)注示例如圖2 所示。
測試數(shù)據(jù) 為了驗(yàn)證本文算法的性能,本文在DUTS-TE[22]、ECSSD[14]、DUT-OMRON[12]、HKU-IS[30]這4 個(gè)公開數(shù)據(jù)集上進(jìn)行了測試。DUTS-TE 數(shù)據(jù)集含有5 019 張測試圖像,其中包含了用于顯著性檢測的重要場景;ECSSD數(shù)據(jù)集由1 000 張圖像構(gòu)成,圖像的大小不同且含有多個(gè)目標(biāo);DUT-OMRON 數(shù)據(jù)集包含5 168 張圖像,數(shù)據(jù)集場景復(fù)雜且含有一到多個(gè)目標(biāo);HKU-IS 數(shù)據(jù)集含有了4 447 張圖像,具有較高的挑戰(zhàn)性。
為了驗(yàn)證不同顯著性目標(biāo)檢測算法的有效性,本文基于廣泛采用的SOD 評(píng)估指標(biāo),即F 值(F-measure)、平均絕對(duì)誤差(Mean Absolute Error,MAE)和PR(Precision and Recall)曲線,以此來比較各模型的性能。
1)F 值。表示準(zhǔn)確率P(Precision)和召回率R(Recall)的加權(quán)調(diào)和平均,計(jì)算方式如式(8):
其中:為了突出準(zhǔn)確率的重要性,一般規(guī)定β的取值為0.3[4]。F 值越大代表顯著性目標(biāo)檢測算法的性能越高,Max-F(Max F-measure value)表示最大F 度量值。
2)MAE 值。表示預(yù)測的顯著圖S和真值顯著圖G之間的平均絕對(duì)誤差,定義如式(9)所示:
其中:S和G分別表示預(yù)測結(jié)果和真值圖,W和H分別表示圖像的寬度和高度。
3)PR 曲線。通過計(jì)算得出的準(zhǔn)確率(Precision)和召回率(Recall)繪制成相應(yīng)的曲線圖。
本文通過GrabCut 算法[27]得到初始顯著圖,并對(duì)它進(jìn)行四周調(diào)整、中部調(diào)整和形態(tài)學(xué)閉運(yùn)算等后處理操作,改進(jìn)顯著圖的性能。為了能夠較好地調(diào)整顯著圖,在四周缺失修正模塊中,閾值d取-30,剪切倍數(shù)k1取1.8;在中部缺失修正模塊中,閾值n取10,剪切倍數(shù)k2取2.4;對(duì)于形態(tài)學(xué)濾波處理,濾波大小為7 × 7。
本文通過GrabCut 算法及后處理得到訓(xùn)練集每張圖像的顯著性值,作為顯著圖的偽真值,輸入PoolNet 訓(xùn)練。本文使用PoolNet 默認(rèn)的網(wǎng)絡(luò)配置參數(shù),即PoolNet 選取ResNet-50 作為主干網(wǎng)絡(luò)進(jìn)行圖像特征提取,并使用 ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的相應(yīng)模型進(jìn)行初始化,對(duì)于其余網(wǎng)絡(luò)參數(shù),則進(jìn)行隨機(jī)初始化。本文采用標(biāo)準(zhǔn)的二分類交叉熵?fù)p失函數(shù)進(jìn)行顯著對(duì)象檢測,實(shí)驗(yàn)使用Adam 優(yōu)化器訓(xùn)練,權(quán)重衰減參數(shù)為5×10-4,初始學(xué)習(xí)率為5×10-5,每學(xué)習(xí)15 迭代后將學(xué)習(xí)率乘以0.1,Batch size 的值默認(rèn)為1。
為了更好地測試本文算法的有效性,本文選取了6 種目前性能比較好的傳統(tǒng)方法和4 種覆蓋了類別、標(biāo)題、邊界框等各種形式的弱監(jiān)督標(biāo)注方式,其中MR(Manifold Ranking)[12]、DSR(Dense and Sparse Reconstruction)[13]、HS(Hierarchical Saliency)[14]、BSCA(Background-based map optimized via Single-layer Cellular Automata)[15]、MB+(Minimum Barrier extended version)[6]和MST(Minimum Spanning Tree)[16]是傳統(tǒng)的顯著性檢測算法,ASMO(Alternate Saliency Map Optimization)[20]、WSS(Weakly Supervised Saliency)[22]、MSW(Multi-Source Weak supervision)[23]和SBB(Saliency Bounding Boxes)[24]是基于弱監(jiān)督標(biāo)簽的顯著性目標(biāo)檢測算法。
3.5.1 定量評(píng)價(jià)
本文算法在4 個(gè)公開數(shù)據(jù)集上與6 種無監(jiān)督、4 種弱監(jiān)督的顯著性檢測算法進(jìn)行了對(duì)比,結(jié)果如表1所示。從表1中可以看出,在所有數(shù)據(jù)集上,本文算法的Max-F 和MAE 這兩個(gè)指標(biāo)都明顯優(yōu)于其他算法。與同樣基于邊界框標(biāo)注的弱監(jiān)督方法SBB[24]相比,所提算法的標(biāo)注方法更簡單,在ECSSD、DUTS-TE、HKU-IS、DUT-OMRON 這4 個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),Max-F分別提高了1.82%、4.00%、1.27%和5.33%,MAE分別降低了13.89%、15.07%、8.77%和13.33%。
表1 本文算法與其他算法的性能定量比較Tab.1 Quantitative comparison of the proposed algorithm and other algorithms
本文算法與其他幾種算法的PR 曲線比較如圖10 所示。可以看出,在所有的數(shù)據(jù)集上,本文算法的準(zhǔn)確率和召回率較好,總體上優(yōu)于其他對(duì)比算法,定量比較的實(shí)驗(yàn)結(jié)果表明,本文算法是很有效的弱監(jiān)督檢測方法。
圖10 本文算法與其他算法的PR曲線結(jié)果比較Fig.10 PR curve comparison of the proposed algorithm and other algorithms
3.5.2 定性評(píng)價(jià)
圖11比較了本文算法和其他對(duì)比算法生成的顯著圖。從第1、2 行可以清晰地看出,本文算法在背景上幾乎沒有誤判,這歸功于邊界框標(biāo)注和GrabCut 算法可以提供顯著區(qū)域的準(zhǔn)確位置。此外,本文算法也適用于小目標(biāo),例如從第3 行可以看出,本文算法也有不錯(cuò)的檢測效果,這可能是因?yàn)檫吔缈驑?biāo)注能夠很好地排除了非顯著區(qū)域。相較于現(xiàn)有的弱監(jiān)督算法,本文算法可以更精確地檢測目標(biāo)對(duì)象,并且不丟失目標(biāo)的細(xì)小區(qū)域,這一點(diǎn)可以從第5、8 行結(jié)果中看出。原因有兩點(diǎn):1)本文通過覆蓋不足的調(diào)整模塊,可以獲得高質(zhì)量并且覆蓋整個(gè)目標(biāo)對(duì)象的顯著圖;2)與僅使用圖像級(jí)別標(biāo)簽相比,邊界框標(biāo)注提供了更精確的位置標(biāo)簽,它們可以大致定位顯著區(qū)域。
圖11 本文算法與其他算法生成的顯著圖比較Fig.11 Comparison of saliency maps generated by the proposed algorithm and other algorithms
本節(jié)將通過多個(gè)消融實(shí)驗(yàn)驗(yàn)證本文生成的顯著圖及后處理的有效性。實(shí)驗(yàn)包括兩部分。
1)比較分析本文算法中GrabCut 生成顯著圖及其后處理的 結(jié)果 。實(shí)驗(yàn)直接在 DUTS-TE[22]、ECSSD[14]、DUT-OMRON[12]和HKU-IS[30]這4 個(gè)公開數(shù)據(jù)集的測試集上開展,計(jì)算每一個(gè)步驟下的顯著圖性能指標(biāo)。定量比較的結(jié)果如表2 所示,定性比較的結(jié)果如圖12 所示。
表2 本文算法顯著圖生成過程中的結(jié)果的定量比較Tab.2 Quantitative comparison of results in saliency map generation process of the proposed algorithm
圖12 本文方法顯著圖生成過程中的結(jié)果的定性比較Fig.12 Qualitative comparison of results in saliency map generation process of the proposed method
2)比較分析本文算法中GrabCut 生成顯著圖及后處理對(duì)神經(jīng)網(wǎng)絡(luò)PoolNet 訓(xùn)練的影響。在DUTS 數(shù)據(jù)的訓(xùn)練集DUTS-TR 上,通過GrabCut 生成顯著圖并作后處理,并將每一個(gè)步驟下的顯著圖作為偽真值輸入PoolNet,運(yùn)用訓(xùn)練出的模型在DUTS-TE、ECSSD、DUT-OMRON 和HKU-IS 這4 個(gè)公開數(shù)據(jù)集的測試集上推理并計(jì)算性能指標(biāo),定量比較的結(jié)果如表3 所示。
表3 不同顯著圖后處理結(jié)果作為偽真值輸入給PoolNet訓(xùn)練模型的性能定量比較Tab.3 Quantitative comparison of performance of PoolNet trained models with input of different saliency map post-processing results as pseudo ground-truth
從表2 可以看出,GrabCut 生成的初始顯著圖就能實(shí)現(xiàn)很好的性能,通過四周缺失修正模塊、中部缺失修正模塊和形態(tài)學(xué)濾波,每個(gè)后處理步驟都能提高性能指標(biāo),但是提高幅度有限。在DUT-OMRON數(shù)據(jù)集上,所有后處理步驟使Max-F僅提升了0.001 7。但是,從表3可以看出,四周缺失修正模塊、中部缺失修正模塊和形態(tài)學(xué)濾波,每個(gè)后處理結(jié)果輸入PoolNet訓(xùn)練之后,訓(xùn)練出來的模型在4 個(gè)數(shù)據(jù)集上性能提升更為明顯。尤其在DUT-OMRON數(shù)據(jù)集上,所有后處理步驟使Max-F提升了0.009 5。由此說明通過四周缺失修正模塊、中部缺失修正模塊和形態(tài)學(xué)濾波等步驟提升偽真值的準(zhǔn)確率,對(duì)于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)模型非常重要。
1)顯著圖偽真值生成階段,SBB 方法[24]融合BSCA[15]、MST[16]、MB(Minimum Barrier)[6]和MB+[6]這4 種傳統(tǒng)方法的結(jié)果并通過條件隨機(jī)場(Conditional Random Field,CRF)優(yōu)化處理,本文僅使用GrabCut 算法[27]得到結(jié)果。
2)神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練階段,SBB 算法[24]采取兩個(gè)階段訓(xùn)練,首先訓(xùn)練一個(gè)顯著圖提升網(wǎng)絡(luò)優(yōu)化偽真值,然后通過優(yōu)化后的偽真值訓(xùn)練顯著性檢測模型;本文僅使用PoolNet 一個(gè)階段訓(xùn)練顯著性檢測模型。
綜上所述,本文算法比SBB 算法復(fù)雜度更低。
本文提出了一種通過使用邊界框標(biāo)注作為監(jiān)督信息的弱監(jiān)督顯著目標(biāo)檢測算法。基于邊界框標(biāo)注,運(yùn)用GrabCut算法[27]生成初始顯著圖,在此基礎(chǔ)上又設(shè)計(jì)了一個(gè)覆蓋不足調(diào)整模塊實(shí)現(xiàn)缺失目標(biāo)的修正,得到優(yōu)化后的顯著圖;并將優(yōu)化后的顯著圖作為偽真值,通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)出一個(gè)顯著性目標(biāo)檢測模型。實(shí)驗(yàn)結(jié)果表明,與同樣基于邊界框標(biāo)注的方法[24]相比,雖然本文采用更簡單的標(biāo)注方法,但是性能上仍然取得了明顯的提升。與其他的弱監(jiān)督算法相比,本文算法也展示了更優(yōu)的性能。下一步的研究方向是優(yōu)化顯著性目標(biāo)檢測模型,減少模型訓(xùn)練時(shí)間,提高模型的訓(xùn)練效率。