顧廣華,劉小青
1(燕山大學 信息科學與工程學院,河北 秦皇島 066004) 2(河北省信息傳輸與信號處理重點實驗室,河北 秦皇島 066004)
近年來,有效的顯著性檢測已經(jīng)成功的運用到許多計算機視覺場景當中.作為圖像的預(yù)處理過程,它能夠檢測出圖像中感興趣的區(qū)域,提取圖像的重要信息從而減少計算復(fù)雜度[1].但如何能精準的找到顯著性目標區(qū)域仍是一個具有挑戰(zhàn)性的問題.
現(xiàn)有的顯著性檢測算法主要分為兩類:自底向上和自頂向下的顯著性檢測模型[2].自底向上的模型是數(shù)據(jù)驅(qū)動的,預(yù)先沒有任何圖像顯著性區(qū)域的先驗信息,通過圖像中一個區(qū)域和周圍鄰域的差異得到區(qū)域的顯著性值.自頂向下的模型是任務(wù)驅(qū)動的,需要某些先驗信息,才能夠找到顯著目標.和自底向上的模型相比,自頂向下的算法比較復(fù)雜,所以研究者更加傾向于自底向上的顯著性檢測算法.Itti[3]等人提出了一種中心環(huán)繞對比算法,通過結(jié)合在不同尺度下的顏色、強度和方向特征圖得到顯著圖.Achanta[4]等人提出了一種調(diào)頻的算法,通過計算圖像中每個像素的顏色特征和整幅圖像像素顏色平均值的差異得到圖像中每點的顯著值.該方法雖然簡單,但對于背景復(fù)雜的圖片,檢測的結(jié)果不理想.Goferman[5]等人根據(jù)相鄰上下文區(qū)域的差異計算局部對比度,得到最終的顯著圖.Cheng[6]等人采用全局對比方法,通過計算空間加權(quán)顏色對比先驗得到顯著圖.上述兩種方法雖然考慮了整幅圖像的特征對比,能很好的定位顯著目標,但忽略了局部信息,從背景中找到具有相似外觀目標的能力有限.Gopalakrishnan[7]等人將圖像中的顯著性檢測問題視為馬爾可夫隨機游走,遍歷馬爾可夫鏈的平衡命中次數(shù)是確定最顯著節(jié)點的關(guān)鍵.Wei[8]等人把圖像的邊界區(qū)域為背景先驗建立模型,能夠?qū)⑶熬皡^(qū)域從圖像中分離出來,但把邊界區(qū)域作為背景先驗是不夠準確的,邊界區(qū)域有可能包含前景點.Kong[9]等人采用模式挖掘的方法找到圖像中比較準確的前景點,然后對前景點進行隨機游走.這種方法可以有效的檢測出圖像的顯著區(qū)域,但對前景點的準確性要求比較高,如果找不到比較準確的前景點,就會影響顯著區(qū)域的檢測.
為了解決上述問題,本文同時選擇前景點和背景點作為種子點,并融合前景點和背景點擴散得到的顯著圖,這樣不僅減小了顯著區(qū)域?qū)η熬包c的依賴性,也使得顯著圖更加準確.
本文主要思路為:首先是選取前景點和背景點作為種子點,然后背景和前景種子點進行顯著性擴散,并將種子點各自擴散的顯著圖融合,最后優(yōu)化得到最終顯著圖.圖1所示為本文算法框圖.
圖1 顯著性檢測框圖
Fig.1 Saliency detection framework
首先利用簡單線性迭代聚類算法[10]對輸入圖像進行超像素分割.利用背景先驗[11],圖像邊界作為背景點,為了避免對象出現(xiàn)在邊界的情況,計算圖像的邊緣概率[12],具有較強邊緣特征的超像素更可能屬于目標,本文去掉邊界區(qū)域中邊緣概率值大于自適應(yīng)閾值[13]的超像素,然后將圖像邊界中其余的超像素選為背景種子點.
將一幅圖像分割成N個超像素,邊緣概率為PB,背景種子點集合為E:
(1)
{i∈E|PBi>T1}
(2)
其中Bi表示超像素i的邊緣像素個數(shù),Ipb表示像素I的邊緣概率值,T1是根據(jù)邊緣概率得到的自適應(yīng)閾值.
基于得到的背景點,本文通過顏色空間加權(quán)對比度得到初始顯著圖Si,計算出圖像中其余節(jié)點和背景點之間的關(guān)系,圖像中的超像素和背景種子的顏色差異越大,它越有可能是顯著點.
背景種子集為E,超像素i的顯著值定義為Si,前景種子點集合為F:
Si=∑n∈Ed(Ii,In)(1-d(Pi,Pn))
(3)
{i∈F|Si>T2}
(4)
其中d(Ii,In)和d(pi,pn)分別表示圖像中的超像素i與背景種子集E中超像素n的顏色距離和空間距離,T2是根據(jù)顯著值Si得到的自適應(yīng)閾值.這里(1-d(pi,pn))起到了調(diào)節(jié)的作用,能更好的突出目標區(qū)域.當顯著值大于T2時,該超像素判為前景點.
背景和前景種子點可以為下面基于種子點的顯著性擴散提供足夠的對象信息.
本文將背景點和前景點都進行顯著性擴散,將種子點的信息傳播到圖像中的其余節(jié)點,并融合得到的顯著圖.
將輸入圖像表示成一個稀疏的連通圖G=(V,E),其中V表示由所有超像素組成的節(jié)點,E表示連接各個節(jié)點的無向邊界集合,當且僅當兩個節(jié)點共用一個邊界時成立.權(quán)重矩陣W表示每對節(jié)點之間相似度和鄰接關(guān)系,連接兩個超像素的邊緣權(quán)重定義為wij∈W:
(5)
g(si)和g(sj)表示兩個超像素節(jié)點在CIELab顏色空間上的顏色均值.σ控制邊緣權(quán)重的強度,關(guān)聯(lián)矩陣W是高度稀疏的.
D為對角矩陣,di=∑iWij,拉普拉斯矩陣L定義為:
L=D-W
(6)
二次拉普拉斯算子為:
L2=L×L
(7)
2.2.1 背景種子點的顯著擴散
設(shè)ρ表示種子點的集合,f=[f1,f2,…,fn]T表示所有超像素節(jié)點的標簽向量,如果節(jié)點si∈ρ,則fi等于1,否則為0.
顯著性擴散是基于種子點來推斷所有超像素節(jié)點的標簽,其通過最小化能量函數(shù)g(f)來實現(xiàn):
(8)
其中,fi=1,yi表示初始顯著圖中節(jié)點si的平均顯著值,β是權(quán)衡參數(shù),通過實驗驗證參數(shù)最終設(shè)為0.01,得到的顯著圖結(jié)果是最好的.式中第一項強調(diào)了相似節(jié)點標簽的一致性,第二項是把初始顯著圖的平均顯著值作為先驗知識,并懲罰與先驗值不同的顯著性預(yù)測.
設(shè)l為標簽節(jié)點的集合,即為背景種子點的集合,u為未標簽節(jié)點的集合,f和y也可以寫為f=[flTfuT]T,y=[ylTyuT]T,最小化(8)式用矩陣形式表示:
(9)
(10)
M=L+βI,其中I為單位矩陣.
對上面得到的整幅圖像的顯著值加入二次拉普拉斯算子,可以將種子的信息更好的傳播到遠端的節(jié)點,則:
(11)
則基于背景種子點擴散得到的顯著值為:
(12)
2.2.2 前景種子點的顯著擴散
基于前景種子點的擴散,前景種子點為標簽節(jié)點,過程和上述類似,設(shè)l是標簽節(jié)點的集合,u為未標簽節(jié)點的集合.同樣令(9)式等于0,得未標簽節(jié)點的顯著值fu,對圖像中所有節(jié)點加入二次拉普拉斯算子得:
(13)
(14)
2.2.3 融合顯著圖
融合背景種子和前景種子顯著擴散得到的顯著圖,融合顯著圖的顯著值為:
Ssal=Sb×Sf
(15)
圖2是上述過程中得到的顯著性檢測結(jié)果圖.
圖2(a)是輸入圖像,(b)是根據(jù)邊界先驗和邊緣概率篩選得到的背景點,圖像邊界的黑色區(qū)域表示背景種子點,(c)是篩選后的背景點通過計算特征距離得到的初始顯著圖,可大體看到顯著區(qū)域,但沒有有效的從背景中分離出來.(d)是背景種子擴散的顯著圖,能很好的抑制背景.(e)是前景種子擴散的顯著圖,前景比較突出,但有些背景噪聲.(f)是融合顯著圖,結(jié)合(d)和(e)的優(yōu)點,能很均勻的突出顯著目標區(qū)域,同時能有效的抑制掉圖像的背景.(g)是真值圖.
圖2 顯著性檢測結(jié)果圖Fig.2 Saliency detection result maps
盡管融合后的顯著圖能很好的檢測出顯著區(qū)域,但對于有些背景比較復(fù)雜的圖像,顯著目標檢測的不完整,并且存在背景噪聲,本文采用聚類優(yōu)化,增強顯著圖的前景區(qū)域.
(16)
這里的K是聚類中心,一般不會很大,需要提前設(shè)定,本文根據(jù)先驗經(jīng)驗[14]將K設(shè)為8.λ表示每個節(jié)點被類內(nèi)其它節(jié)點優(yōu)化的權(quán)重,設(shè)為0.5,用來平衡本身顯著值和類內(nèi)優(yōu)化的貢獻作用.x指的是CIELab空間的三維顏色特征,Ssal(j)是和節(jié)點i在同一類內(nèi)節(jié)點的顯著值.那么從上式可以看出對于每個節(jié)點i,是通過自身的顯著性值和同一類內(nèi)其余節(jié)點的顯著性值實現(xiàn)優(yōu)化的.圖3為結(jié)合顯著圖和聚類優(yōu)化后顯著圖的對比.從中可以看出,結(jié)合顯著圖可以整體上檢測出顯著區(qū)域,但在細節(jié)上不夠完整,聚類優(yōu)化考慮到超像素間的聯(lián)系,完善了顯著圖的細節(jié)信息,使顯著區(qū)域更加完整.
圖3 融合顯著圖和聚類優(yōu)化后顯著圖的對比Fig.3 Comparison of combination of saliency map and clustering optimized saliency map
聚類優(yōu)化能夠增強顯著區(qū)域,為了有效去掉一些背景噪聲,本文引入了抑制函數(shù)[15],我們將函數(shù)定義為:
(17)
這里τ是一個用來區(qū)分前景和背景的閾值,x表示每個超像素節(jié)點的顯著性值.由于前景的顯著值接近1,背景的顯著值接近0,為了保留前景同時抑制背景,本文把τ設(shè)為0.6.圖4表示聚類優(yōu)化和抑制函數(shù)優(yōu)化后的顯著圖對比.其中輸入圖像的背景比較復(fù)雜,聚類優(yōu)化的顯著圖可以檢測出顯著目標,但仍存在一些背景干擾.和顯著目標相比,背景噪聲的顯著值相對較小,所以抑制函數(shù)優(yōu)化后的顯著圖能夠抑制掉大多數(shù)的背景點,使目標區(qū)域更加突出.
圖4 聚類優(yōu)化和抑制函數(shù)優(yōu)化后顯著圖對比Fig.4 Comparison of saliency maps after optimizing clustering and suppressing functions
本文在兩個公共數(shù)據(jù)庫MSRA-1000和DUT-OMRON上進行實驗.MSRA-1000數(shù)據(jù)庫是從數(shù)據(jù)庫MSRA中挑選出來的,每幅圖像都有一個比較清晰的目標.DUT-OMRON數(shù)據(jù)庫含有5166張圖片,是一個比較龐大、復(fù)雜的數(shù)據(jù)庫,圖像中有一個或多個目標,而且背景比較雜亂,對顯著性算法具有挑戰(zhàn)性.兩個數(shù)據(jù)庫都含有像素級的真值標注,本文設(shè)超像素N=200.
本文在兩個數(shù)據(jù)庫MSRA-1000和DUT-OMRON上把本文算法和其它六種顯著性算法進行了對比,分別是GB算法[16],FT算法[4],BM算法[17],SF算法[2],BFS算法[18],GR算法[19].
圖5是七種算法在MSRA-1000數(shù)據(jù)庫中部分圖片顯著圖的對比,輸入圖片的目標比較單一.前六種算法相比較,顯著圖結(jié)果較好的是BM算法、GR算法和BFS算法,這三種算法可以直觀的看到顯著目標.BM算法的目標比較突出,但背景干擾也很多;BFS算法和GR算法顯著區(qū)域不是很亮、很完整,也有背景噪聲.GB算法、FT算法和SF算法顯著圖結(jié)果相對較差,GB算法的顯著圖模糊,只能看到目標的輪廓,FT算法顯著區(qū)域不突出,SF算法檢測到的目標不完整.相比于這六種算法,可以看到本文算法顯著圖的顯著區(qū)域比較突出,而且背景抑制的也比較好,和真值圖最為接近.
圖5 七種算法在MSRA-1000部分圖片上的顯著圖Fig.5 Saliency maps of the seven algorithms on the MSRA-1000 part of the pictures
圖6是七種算法在DUT-OMRON數(shù)據(jù)庫中部分圖片顯著圖的對比,輸入圖片的內(nèi)容比較復(fù)雜,目標不單一.前六種算法結(jié)果相對較好的是BFS算法和GR算法,它們都能突出目標,相比較而言,但BFS算法背景干擾較少,GR算法的顯著目標更完整.結(jié)果較差的是GB算法、FT算法、BM算法和SF算法,GB算法整個區(qū)域都比較模糊,效果最差;FT算法和BM算法的顯著圖有目標,有背景,顯著區(qū)域不突出;SF算法相對背景較少,但目標不清晰.從圖中可以看出本文算法和其它六種算法相比效果比較好,目標比較明顯,背景干擾少,由于圖片背景復(fù)雜,和真值圖相比檢測到的目標還不夠完整.
圖6 七種算法在DUT-OMRON部分圖片上的顯著圖Fig.6 Saliency maps of the seven algorithms on the DUT-OMRON part of the pictures
為了進一步分析本文算法的優(yōu)越性,本文采用準確率-召回率曲線和準確率、召回率和F-measure柱狀圖來衡量顯著性算法的效果.首先采用固定閾值將顯著圖進行二值化,準確率為顯著圖和真值圖交集中1的個數(shù)和除以顯著圖像素值為1的個數(shù)和,召回率為顯著圖和真值圖交集中1的個數(shù)和除以真值圖像素值為1的個數(shù)和.將[0,255]之間的每個值設(shè)為一個閾值,得到256幅二值圖像,參照真值圖,計算得到待測圖像的256個準確率和召回率,再把每個閾值下的P和R取平均,以召回率為橫軸,準確率為縱軸,畫出準確率-召回率曲線.準確率、召回率和F-measure柱狀圖的閾值和上面的不同,是通過自適應(yīng)閾值二值化顯著圖,再取所有圖片的平均準確率和召回率,F-measure值計算如下:
(18)
其中,β用來確定準確率對于召回率的重要性,β2>1表示召回率重要,β2<1表示準確率在評價體系中占主導.本文設(shè)β2=0.3,用來強調(diào)準確率的重要性.
圖7是七種算法在MSRA-1000數(shù)據(jù)庫上的準確率-召回率曲線圖.上三角連線組成的代表本文算法,從圖中可以看出本文算法要優(yōu)于其它算法.GB算法和FT算法的準確率和召回率偏低,因為GB算法檢測到的顯著區(qū)域不明顯,分辨率較低,FT算法雖然能檢測出顯著目標,但含有大量的背景.GR算法采用背景先驗和光滑先驗理論,P-R曲線較高,但本文算法的顯著目標突出,背景干擾少,實驗效果比GR算法好.雖然召回率在0.1左右時,本文算法準確率低于BFS算法,但較低的召回率對顯著性檢測的意義不大.
圖7 七種算法在MSRA-1000數(shù)據(jù)庫上的準確率-召回率曲線圖Fig.7 Precision-Recall curves of the seven algorithms on the MSRA-1000 part of the pictures
圖8是七種算法的準確率、召回率和F-measure柱狀圖,從圖中看到結(jié)果較好的是SF算法、GR算法和本文算法,本文算法的結(jié)果都比SF算法好,其中召回率要遠遠高于SF算法.準確率和GR算法持平,在F值和召回率上都要高于GR算法.本文算法的準確率為0.9238,召回率為0.8191,F-measure值為0.8973,總體上本文算法在召回率和F值上都要優(yōu)于其它六種算法.
圖8 七種算法在MSRA-1000數(shù)據(jù)庫上的準確率、召回率和F-measure柱狀圖Fig.8 Precision,Recall and F-measure values of the seven algorithms on the MSRA-1000 part of the pictures
圖9是七種算法在DUT-OMRON數(shù)據(jù)庫上的準確率-召回率曲線圖.DUT-OMRON數(shù)據(jù)庫圖片都相對比較復(fù)雜,而且數(shù)量較多,所以從圖9中看到這七種算法在這個庫上的實驗結(jié)果比圖7在MSRA-1000數(shù)據(jù)庫上的結(jié)果要低很多.雖然圖片對算法的要求比較高,但是本文算法的結(jié)果仍然是最好的,P-R曲線要高于其它六種算法.
圖9 七種算法在DUT-OMRON數(shù)據(jù)庫上的準確率-召回率曲線圖Fig.9 Precision-Recall curves of the seven algorithms on the DUT-OMRON part of the pictures
圖10是七種算法在DUT-OMRON數(shù)據(jù)庫上的準確率、召回率和F-measure柱狀圖.圖中本文算法的F-measure值要高于其它六種算法,達到了0.5814;本文算法的準確率僅次于GR算法,但要高于其它五種算法;本文算法的召回率和GB算法、BFS算法基本持平,但要高于其它四種算法;所以雖然本文算法的準確率和召回率的結(jié)果不是最好的,但是F值是最高的,能夠從整體上說明本文算法的有效性.
圖10 七種算法在DUT-OMRON數(shù)據(jù)庫上的準確率、召回率和F-measure柱狀圖Fig.10 Precision,Recall and F-measure values of the seven algorithms on the DUT-OMRON part of the pictures
本文選擇了在MSRA-1000數(shù)據(jù)庫上顯著圖結(jié)果較好的四種算法,比較四種算法在MSRA-1000數(shù)據(jù)庫上運行的平均時間,如表1所示.
表1 運行時間對比
Table 1 Comparison of running time
方法SF[2]GR[19]BFS[18]本文算法時間(秒)0.2790.4490.5900.552代碼類型MatlabMatlabMatlabMatlab
由表1可知,BFS算法運行的時間最長,SF算法最短.本文算法運行時間雖然高于GR算法和SF算法,但是本文算法的顯著區(qū)域檢測性能最好.
本文提出了一種融合前景和背景種子點擴散的顯著性目標檢測算法.背景點和前景點同時作為種子點進行顯著性擴散,前景種子點擴散檢測到的顯著圖能完整的突出顯著區(qū)域,但有很多背景噪聲,而背景種子點擴散得到的顯著圖能較好的抑制背景區(qū)域,兩者融合,能夠互相補充.為更加完善顯著圖,采用了聚類優(yōu)化和抑制函數(shù)對顯著圖進行改進.為了評價本文算法的性能,在MSRA-1000和DUT-OMRON數(shù)據(jù)庫上與其它六種算法比較,相應(yīng)結(jié)果證明了本文算法的有效性.本文方法也存在一些不足,對于比較復(fù)雜的圖片,顯著區(qū)域檢測的還不夠準確,仍有待于提高.