岳星宇,趙應丁,楊文姬,楊紅云,3,邵 鵬(江西農業大學計算機與信息工程學院,南昌330045)
2(江西農業大學軟件學院,南昌330045)
3(江西省高等學校農業信息技術重點實驗室,南昌330045)
E-mail:ywenji614@163.com
隨著計算機視覺的發展,顯著性檢測引起越來越多研究者的關注.顯著性檢測的研究目的是希望計算機可以模仿人眼的視覺特征,高效快速地發現場景中最具吸引力的區域.因此,顯著性檢測結果應該符合人眼的視覺特征[1],檢測結果必須與人眼觀察到的結果一致.顯著性檢測在計算機視覺中有著廣泛的應用.例如:對象檢測[2,3],對象識別,目標跟蹤[4],圖像分割[5]和視頻縮放[6]等.現有的顯著性檢測算法可分為兩類:一類是自頂向下,由任務驅動的方法[7-12].這類方法通常是為特定任務而設計,它們以監督的方式學習目標的各種特征,并應用學習的信息來檢測對象.另一類是自底向上,由數據驅動的方法[13-16].這類方法通常依賴于圖像的低層次特征,比如顏色和亮度等.此外,它們也會使用有效的先驗信息,比如邊界先驗和中心先驗等.本文主要討論自底向上的顯著性檢測算法.
Itti等人[17]最早提出符合人類視覺注意機制的顯著性檢測方法,基于多尺度特征對比度(包括亮度、顏色和方向)確定圖像顯著性.Liu等人[18]使用條件隨機場融合圖像的顯著性特征,從背景中分離顯著性目標.Goferman等人[19]綜合考慮顏色和空間信息,利用上下文感知(Context-Aware,CA)改善顯著性檢測結果,缺點是很容易在物體邊界處產生較高的顯著性值.Zhai等人[20]將像素顯著性定義為當前像素與其余所有像素的差異性,方法的缺點是不能完整高亮顯著性區域,會受到噪聲的影響.Cheng等人[21]利用顏色直方圖信息提出一種基于直方圖和基于區域的顯著性檢測方法.Yan等人[22]提出一種層次傳播的顯著性檢測方法,較好地解決了圖像中小尺度高對比度圖案對顯著性檢測結果的影響.Jiang等人[23]將圖像對象性加入到顯著性檢測,通過融合獨特性、聚焦性和對象性三個視覺線索獲得圖像顯著圖.Wei等人[24]利用邊界先驗,將區域的顯著性值定義為其與邊界區域的測地線距離.Yang等人[25]同樣利用邊界先驗,將圖像四條邊界上的區域假設為背景,使用流形排序方法檢測顯著性目標.使用邊界先驗的方法的缺點是當顯著性目標出現在圖像邊界時,檢測結果誤差較大.
本文使用圖像金字塔表示多尺度圖像,基于對象性,背景性和外觀性檢測顯著性目標,最后融合多尺度檢測結果得到最終顯著性圖,這一方式能夠有效提升在復雜背景圖像中,顯著性檢測結果的準確性.
本文提出的方法主要分為三個階段,首先是構建圖像層次的多尺度圖,然后在單一尺度中,分別使用對象性,背景性和外觀性計算顯著性,通過融合三種特性的計算結果獲得單尺度顯著性圖,最后融合所有的單尺度顯著性圖獲得最終的顯著性圖.2.1至2.3對各階段做了詳細介紹.方法流程圖如圖1所示.

圖1 本文方法流程圖Fig.1 Diagram of our method
背景區域可能在不同尺寸下具有相似性,并且在整個圖像中廣泛分布,構建多尺度圖像可以在抑制背景區域同時,提升顯著性區域和背景區域之間的差異性.和傳統基于區域層次的多尺度表示方法不同的是,本文采用圖像金字塔構建基于圖像層次的多尺度圖像.
給定一副圖像 I,圖像金字塔可表示為 I={I1,I2,…,IM},M表示圖像金字塔的層數,Im表示圖像金字塔第m層的圖像.I1表示圖像金字塔底層,IM表示圖像金字塔頂層.
在圖像金字塔的單層圖像中,首先使用高效的SLIC(Simple Linear Iterative Clustering)超像素分割方法生成超像素,然后利用對象性、背景性和外觀性分別計算顯著性,最后將三種計算結果融合得到單尺度的顯著性圖.
2.2.1 超像素的生成
早期的很多顯著性檢測算法在像素層次上進行顯著性分析,得到的檢測結果往往很差,如圖2所示.這類方法很難處理背景復雜的自然圖像,檢測結果容易受圖像中噪聲的影響,且不能完整突出顯著性目標,同時伴有大量的計算花銷.將圖像使用超像素分割成互不重疊的區域,能夠有效避免上述問題,大大減少后續計算的花銷.

圖2 LC、FT、HC 檢測結果Fig.2 Saliency detection results of LC,FT and HC
以圖像金字塔第m層圖像為例,使用SLIC對其進行分割,結果表示為,它包含Km個超像素,其它層圖像的分割結果也采用同樣的方式表示.將圖像分割成超像素可以保留圖像的主要信息而忽略不必要的細節和噪聲,增強對圖像中復雜紋理的魯棒性.超像素的顏色使用超像素內所有像素在CIE Lab顏色空間內的平均顏色表示,圖像金字塔第m層圖像的第i個超像素Rmi的顏色可通過F(Rmi)獲得.p表示超像素中的像素,pf表示像素p的顏色向量,Num(表示超像素內的像素數目.
2.2.2 基于對象性的顯著性
在圖像金字塔的單層圖像中(以第m層為例),以任意像素p為中心,隨機選擇圖像中Ω個矩形框,利用[26]中的方法計算每個矩形框包含對象的概率值,記為P(ω),那么像素p的對象性值計算公式為:

式中:p(ωp)表示像素p所在矩形框ωp包含對象的概率值;Obj(p)表示像素p的對象性值.根據像素的對象性值,則第i個超像素Rmi基于對象性的顯著性值為:

其中ni表示內像素的個數.
2.2.3 基于背景性的顯著性
在自然圖像中,圖像四周更可能屬于背景,稱之為邊界先驗.但是當顯著性目標位于圖像四周時,簡單地將圖像四周認定為背景的方式會造成較大誤差.受文獻[25]和文獻[27]啟發,首先根據邊界先驗選取位于圖像四周的超像素,然后根據邊界連接性對選取的超像素進行篩選,將篩選后的結果作為背景.將剩余超像素相對于背景的流形排序得分定義為其基于背景性的顯著性值.
流形排序可以簡單理解為:定義確定的種子節點作為查詢節點,根據剩余節點與查詢節點之間的相關性進行排序.具體而言,給定一組數據集 Y={y1,…,yl,yl+1,…,yn}∈瓗m×n,m為數據特征維數,n為數據的個數,其中某些數據被標記為查詢節點.排序函數可以被定義為:f:Y瓗n,其目的是根據給定的查詢節點,為每一個數據yl分配對應的排序得分.f可以看成是一個向量 f=[f1,f2,…,fn]T.同時,定義一個指示向量 δ =[δ1,δ2,…,δn]T,其中當 yl是查詢節點時 δl=1,否則δl=0.建立這組數據的圖模型G=(V,E),其邊權重使用關聯矩陣 W=[wij]n×n表示,本文 wij通過式(7)計算;度矩陣 D=diag{d11,…,dnn},其中 dii= ∑jwij.那么在給定查詢節點后,剩余節點對于這些查詢節點的排序得分可以通過對公式(3)求最優解獲得.

其中參數μ用于平衡平滑約束(第1項)和擬合約束(第2項)條件.
可以通過將式(3)導數設置為0,獲取最優解.最終結果使用矩陣的形式可以表示為:

其中 I為單位矩陣,α=1/(1+μ),實驗時 α 取值為0.99,s是規范化拉普拉斯矩陣,S=D-1/2WD-1/2.采取非規范化的拉普拉斯矩陣對公式(4)進行優化,結果表示為:

自然圖像中的對象和背景區域在空間布局上是完全不同的,對象區域與圖像邊界的連接性小于背景區域,如圖3所示.假設圖像被劃分為若干個較大的區域,那么區域R的邊界連接性可以定義為其接觸到圖像邊界部分的周長占其整體面積的平方根的比例,公式表示為:

其中sp為區域R中包含的超像素,sp∈Bnd表示該超像素位于圖像邊界.在實驗中,將閾值設置為1,即BndCon>1的區域認為是圖像背景.
使用流行排序的方法計算顯著性值時,首先需要對圖像建立圖模型G=(V,E),然后根據邊界先驗和邊界連接性選取查詢節點,然后計算剩余節點相對查詢節點的排序得分.

圖3 邊界連接性示例Fig.3 An illustrative example of boundary connectivity
本文使用SLIC算法生成的超像素作為圖中節點,節點的集合記為V,將相鄰節點之間通過一條無向邊連接并賦予權值,同時也將當前區域和與它鄰接區域相鄰的區域所對應的節點做連接并分配權值,有效地利用超像素之間的空間關系,所有邊的集合記為E.權重矩陣使用W表示,W中大多數元素值為0.兩個節點i、j之間的權重計算公式如下:

式中的ci和cj表示i和j對應的超像素在CIE Lab顏色空間中對應的點;σ是控制權重強度的常數.
在單層圖像金字塔中(以第m層為例),將經過邊界先驗和邊界連接性篩選后的節點作為查詢節點,按式(5)計算圖中剩余節點相對于給定查詢節點的排序得分,第i個超像素

2.2.4 基于外觀性的顯著性
通過觀察圖像發現,相對于顯著性目標區域,背景區域更加容易識別,這是由自然圖像中的背景區域的外觀性決定的,背景區域更大而且更加均勻,背景區域內的超像素之間更加容易相互連接.因此,本文將外觀性用于顯著性檢測中,認定背景區域比顯著性目標區域更加容易連接到圖像背景.超像素基于外觀性的顯著性定義為其連接到圖像背景最短路徑的長度,公式表示如下:

其中BP表示處于圖像四周且邊界連接性大于1的節點集合,B屬于BP;weight(Pi,Pi+1)表示節點Pi和其鄰節點Pi+1之間邊的權重.{P1,P2,…,Pn}表示超像素到B路徑上的節點集合.
2.2.5 多特性融合
單層圖像最終的顯著性圖通過融合基于對象性,背景性和外觀性計算的結果獲得.融合方式為:

Im表示第m層圖像金字塔,Saliency(Im)為第m層圖像金字塔的顯著性圖.Sobj(Im)表示第m層圖像金字塔基于對象性的顯著性值,Sby(Im)表示第m層圖像金字塔基于背景性的顯著性值,Sapp(Im)表示第m層圖像金字塔基于外觀性的顯著性值;N(·)表示歸一化操作.
將圖像金字塔每層圖像的顯著性圖融合得到的顯著性圖即為最終的顯著性圖.在融合之前,需要將各層的顯著性圖修改為相同尺寸.最終顯著性圖融合方法為:

I即為輸入圖像;M代表金字塔層數,通過對比M取不同值時(M={1,2,3,4})的實驗結果發現,當 M 從1變成2時,結果得到了提升,達到峰值,但當M從2到4時,其結果不斷的變差.因此,本實驗中M=2.
本文在ASD數據集和ECSSD數據集上對所提方法進行了驗證.其中ASD數據集是常用于顯著性檢測的公開數據集,包含1MGMR.http://kns.cnki.net/kcms/detail/11.2109.TP.20181007.2348.007.html000張圖片及其對應的像素級標注的真值圖,但其中圖片多是背景單一,具有較為明顯的顯著性對象,因此檢測難度較小.ECSSD數據集包含1000張圖片及其對應的像素級標注的真值圖,大多數圖片背景復雜、顯著性目標與背景相似,而且具有多個對象,大大增加了檢測難度.圖4是ASD數據集和ECSSD數據集的部分圖片對比.

圖4 ASD和ECSSD數據集部分圖片對比Fig.4 Samples of ASD and ECSSD
將本文算法與 12 種(CA[19],DSR[28],GR[29],PCA[30],RBD[27],SWD[31],HDCT[32],MR[25],TLLT[30],MCRC[27],GNCSA[31],MGMR1MGMR.http://kns.cnki.net/kcms/detail/11.2109.TP.20181007.2348.007.html)顯著性檢測算法進行對比,其中,MCRC、GNCSA和MGMR的數據來源于作者公開發表的論文,其余9種算法,先使用作者公開源的代碼獲得顯著性檢測結果再進行評價.視覺對比圖如圖5所示.

圖5 本文同9種算法視覺對比圖Fig.5 Saliency detection results of different methods

Pre和Rec分別表示準確率和召回率;同其它方法一樣,本文將μ的值設置為0.3.
將各算法的檢測結果通過自適應閾值(閾值設置為平均顯著性值的2倍)的方式進行分割,對比分割后的平均Precision、Recall和 F-measure,結果見圖 7.圖 7(b)中,由于 GNCSA和MGMR對應的論文中只明確公布了F-measure的數值(分別為0.719和0.7034),沒有對應 Precision和 Recall的明確數值,因此圖中只顯示F-measure的結果.人[36]提出的結構性度量(S-measure)方法對結果進行評價.
1)P-R曲線
P-R曲線是顯著性檢測最常用的評價標準.當P-R曲線越靠近右上角(坐標(1,1)處),表明算法性能越好.各算法在ASD和ECSSD數據集上的P-R曲線如圖6所示.圖6(a)和圖6(b)顯示,本文方法的P-R曲線更靠近外側,優于其它方法,特別是在ECSSD數據集上,優勢更加明顯.
2)F-measure

圖6 各算法P-R曲線Fig.6 P-R curves of different algorithms
如圖7(a)和圖7(b)所示,在ASD數據集中,F-measure最高的3個算法分別為:本文算法(0.92),MR(0.898)和 TLLT(0.896).在ECSSD數據集中,F-measure最高的三個算法分別為:本文算法(0.726),GNCSA(0.719)和 MR(0.712).無論是在ASD數據集還是在ECSSD數據集,本文方法的F-measure均高于其它方法,充分證明了本文方法的有效性和先進性.
3)MAE
前面兩種評價指標只考慮被正確檢測為真正顯著性目標的圖像區域,而忽略被正確檢測為背景的區域.因此本文采用了MAE來更加全面地衡量顯著性圖和Ground truth之間的相似性.MAE的計算公式如下:

S表示顯著性檢測結果,G是對應的真值圖,Ix表示圖像中的像素,IN表示圖像中像素總個數.
MAE的值越小,則表示算法性能越好.各算法在ASD和ECSSD數據集上的MAE如表1所示.從表中可以看出,在ASD數據集中,本文算法的MAE值低于大多數算法,略高于TLLT,但在ECSSD數據集中,本文算法的MAE值明顯低于TLLT等其它算法.這是由于ASD數據集中的大多數圖像只包含單一對象且背景簡單,TLLT方法能夠準確地估計對象凸包,獲得準確性較高的結果,但在更加復雜的ECSSD數據集中,TLLT方法估計的對象凸包位置不準確,導致后續傳播錯誤較大,產生的結果也較差.

圖7 自適應閾值分割后各方法的平均Precision、Recall和F-measureFig.7 Mean precision,recall,F-measure of different methods after Adaptive threshold segmentation
4)S-measure
除了以上3種常用的顯著性檢測評價標準,本文還使用了一種非二進制前景圖評估方法——S-measure.S-measure從人類視覺系統對場景結構非常敏感的角度出發,使用結構性度量評估檢測結果,使得評估結果和人的主觀評價具有高度一致性.S-measure值越大表明算法性能越好.

表1 各算法MAE得分表Table 1 MAE of different methods
各個方法在ASD數據集和ECSSD數據集上S-measure得分見表2.表中數據表明,在ASD數據集上,本文算法的S-measure高于大多數方法,略低于RBD方法,這是因為在ASD
數據集上,顯著性目標和背景差異較為明顯,RBD可以準確檢測出顯著性區域,但在ECSSD數據集上,圖像背景復雜,多數顯著性目標與背景相似,檢測難度較大,但本文算法表現出了較強的適應性,S-measure高于RBD,也明顯高于其它算法.

表2 各算法S-measure得分表Table 2 S-measure of different methods
針對圖像顯著性目標與背景相似時,檢測結果誤差較大的情況,提出了一種新的方法,建立圖像金字塔,對每一層圖像,利用對象性、背景性和外觀性獲得不同的顯著性檢測結果,再將其融合得到單尺度顯著性圖,最后將多尺度顯著性圖融合,獲得最終的顯著性圖.本文使用四種評價指標在ASD和ECSSD數據集上同12種顯著性檢測算法做對比,結果充分證明了本文方法的有效性和先進性.相比于其它12中檢測方法,本文方法能夠更加準確地檢測到顯著性目標,尤其在顯著性目標和背景相似的情況下.考慮到未來會將本文算法用于手勢識別中,接下來的工作會考慮利用更高層次的信息來增強算法對復雜背景的適應性,進一步提高顯著性檢測結果的完整性和準確度.