本發(fā)明屬于圖像處理領(lǐng)域,涉及一種基于顏色直方圖和凸包的顯著性檢測方法。
背景技術(shù):
圖像顯著性檢測的目的是查找圖像中最顯著的部分,顯著部分表示的是圖像中的哪些區(qū)域能夠引起人們的重視以及重視的程度,高效快速的找到顯著部分能大大提高圖像處理的效率。顯著性檢測算法可以分成兩大類:自頂向下方法和自底向上方法。自頂向下通常是針對特定的任務(wù),使用有監(jiān)督的方式學(xué)習(xí)目標(biāo)的各種特征,使用學(xué)到的特征信息完成圖像中顯著性目標(biāo)的識別,這類方法的缺點是只能完成特定的目標(biāo)且必須通過訓(xùn)練,擴(kuò)展性較差。自底向上的方法直接通過像素等信息來進(jìn)行計算,不需要進(jìn)行學(xué)習(xí),通過計算圖像中不同部分之間的差異來查找顯著部分。
顏色直方圖是在許多圖像檢索系統(tǒng)中被廣泛采用的顏色特征。它所描述的是不同色彩在整幅圖像中所占的比例,即出現(xiàn)了哪些顏色以及各種顏色出現(xiàn)的概率,但是并不關(guān)心每種色彩所處的空間位置。顏色直方圖特別適于描述那些難以進(jìn)行自動分割的圖像。
興趣點是圖像中一種特別重要的視覺特征,描述了圖像中的細(xì)節(jié)內(nèi)容。以興趣點為線索提取的凸包表示了圖像中用戶感興趣的部分所在的區(qū)域,用區(qū)域特征來檢索圖像,可以進(jìn)行圖像的顯著性檢測。
超像素在圖像處理中得到了廣泛的應(yīng)用,是很多算法的基本運(yùn)算單位,與以像素為計算單位相比,超像素有較少的計算量但又不失精確性,很多算法都是基于簡單線性迭代聚類slic算法,該算法根據(jù)像素的顏色相似性和空間位置的接近程度對圖像進(jìn)行聚類,得到大小相近的超像素,超像素的個數(shù)也可以指定。
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中顯著性檢測算法的準(zhǔn)確性仍不是很理想的問題,本發(fā)明提出了一種基于顏色直方圖和凸包的顯著性檢測方法,得到一種更加準(zhǔn)確的顯著性檢測方法。本發(fā)明根據(jù)圖像的顏色直方圖構(gòu)建基于顏色直方圖的顯著性圖來體現(xiàn)像素的顏色特征和細(xì)節(jié)特征;然后,使用簡單線性迭代聚類slic對圖像進(jìn)行分割,根據(jù)區(qū)域?qū)Ρ葮?gòu)建基于區(qū)域?qū)Ρ榷鹊娘@著性圖;最后,根據(jù)圖像中的興趣點和圖像分割技術(shù)來構(gòu)建凸包,根據(jù)凸包融合基于顏色直方圖和區(qū)域?qū)Ρ榷鹊娘@著性圖得到最終的顯著性圖。
本發(fā)明的技術(shù)方案為:
一種基于顏色直方圖和凸包的顯著性檢測方法,包括如下步驟:
第一步,根據(jù)圖像的顏色直方圖構(gòu)建基于顏色直方圖的顯著性圖,像素的顯著性值由公式(1)計算得到:
其中,si表示像素i的顯著性值;n表示圖像中的像素個數(shù);pi表示像素i的顏色在圖像中所占的比例;||ci,cj||表示像素i和像素j在lab顏色空間中的差異;
第二步,使用簡單線性迭代聚類算法slic將輸入圖像分割800~900個超像素,得到slic小超像素圖像,來表示圖像的區(qū)域性,由于一幅圖像中,圖像的四條邊附近更有可能是背景部分,所以根據(jù)每個超像素的顏色特征,將在圖像四條邊上的超像素分成3類;綜合考慮圖像中不同超像素之間的空間位置和顏色特征,使用公式(2)計算基于區(qū)域?qū)Ρ榷鹊娘@著性圖:
其中,si表示超像素i的顯著性值;nk表示每個分類中超像素數(shù)量;di和dj是超像素i和j的坐標(biāo),||di,dj||是超像素i和j坐標(biāo)的歐式距離;β1=0.2;β2=1.1;α=8;||ci,cj||表示超像素i和超像素j在lab顏色空間中的差異;
第三步,構(gòu)建凸包來表示圖像中的顯著部分;
第四步,使用簡單線性迭代聚類算法slic將輸入圖像分割300~400個超像素,得到slic中等超像素圖像;查找第三步得到的凸包中所有像素位置對應(yīng)的超像素,使用公式(3)更新第一步和第二步得到的顯著性圖中凸包外部超像素的顯著性值:
sout=sout-α(3)
其中,sout表示凸包外部的超像素(不包括凸包邊緣部分的超像素);α=0.5;
進(jìn)而得到更新后的基于顏色直方圖的顯著性圖s1,基于區(qū)域?qū)Ρ榷鹊娘@著性圖s2。
第五步,最終的顯著性圖s通過公式(4)來計算:
s=βs1+(1-β)s2(4)
其中β=0.4表示比例因子。
進(jìn)一步地,第三步構(gòu)建凸包表示圖像中顯著部分的具體方法為:
步驟1基于初始輸入圖像,采用harris算子計算興趣點得到凸包c1;
步驟2使用第二步得到小超像素圖像,計算每個超像素的顏色均值作為超像素中每個像素的顏色特征,將原圖像模糊化,實現(xiàn)去掉圖像中個別像素對興趣點結(jié)果的影響;進(jìn)而采用harris算子計算興趣點得到凸包c2;
步驟3使用簡單線性迭代聚類算法將輸入圖像分割40~60個超像素,得到大超像素圖像c3;
步驟4將步驟1、2分別得到的凸包c1和c2與步驟3得到的大超像素圖像c3取交集得到更加準(zhǔn)確的凸包。
本發(fā)明的有益效果為:該方法使用顏色直方圖來體現(xiàn)像素的顏色特征和細(xì)節(jié)特征,得到的顯著性圖效果較好,但是并沒有考慮人類視覺注意力的因素;為了消除顏色直方圖沒有考慮人類視覺注意力的不足,添加圖像中不同區(qū)域的空間效應(yīng)來構(gòu)建基于區(qū)域?qū)Ρ榷鹊娘@著性圖;通過興趣點和圖像分割來構(gòu)建凸包,利用凸包來定位并更新基于顏色直方圖的顯著性圖和基于區(qū)域?qū)Ρ榷鹊娘@著性圖,并將兩種顯著性圖進(jìn)行融合得到最終的顯著性圖,具有很高的準(zhǔn)確性。
附圖說明
圖1是本發(fā)明方法的流程示意圖;
圖2(a)為輸入待檢測圖片;
圖2(b)為使用slic小超像素模糊化后的圖像;
圖2(c)為基于顏色直方圖的顯著性圖;
圖2(d)為基于區(qū)域?qū)Ρ榷鹊娘@著性圖;
圖2(e)為對原始圖像使用harris算子計算興趣點得到的凸包;
圖2(f)為對模糊化后的圖像使用harris算子計算興趣點得到的凸包;
圖2(g)為slic大超像素圖像;
圖2(h)為原始圖像得到的凸包,模糊化后的圖像得到的凸包和slic大超像素取交集之后得到的凸包;
圖2(i)為使用凸包更新基于顏色直方圖的顯著性圖得到的結(jié)果;
圖2(j)為使用凸包更新基于區(qū)域?qū)Ρ榷鹊娘@著性圖得到的結(jié)果;
圖2(k)為本發(fā)明得到的最終顯著性圖;
圖3(a)為使用gs算法得到的顯著性圖;
圖3(b)為使用mr算法得到的顯著性圖;
圖3(c)為使用sf算法得到的顯著性圖。
圖3(d)為使用dsr算法得到的顯著性圖;
圖3(e)為使用xl算法得到的顯著性圖;
圖3(f)為真值。
具體實施方式
下面結(jié)合附圖對本發(fā)明的實施方式進(jìn)行詳細(xì)說明。本實施例以本發(fā)明技術(shù)方案為前提進(jìn)行實施,給出了詳細(xì)的實施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實施例。
實施例1
圖1是本發(fā)明方法的流程示意圖;圖2(a)、圖2(b)、圖2(c)、圖2(d)、圖2(e)、圖2(f)、圖2(g)、圖2(h)、圖2(i)、圖2(j)和圖2(k)分別是輸入的待檢測圖像、使用slic小超像素模糊化后的圖像、基于顏色直方圖的顯著性圖、基于區(qū)域?qū)Ρ榷鹊娘@著性圖、對原始圖像使用harris算子計算興趣點得到的凸包、對模糊化后的圖像使用harris算子計算興趣點得到的凸包、slic大超像素圖像、原始圖像得到的凸包,模糊化后的圖像得到的凸包和slic大超像素取交集之后得到的凸包、使用凸包更新基于顏色直方圖的顯著性圖得到的結(jié)果、使用凸包更新基于區(qū)域?qū)Ρ榷鹊娘@著性圖得到的結(jié)果、最終的顯著性圖。針對附圖實現(xiàn)本發(fā)明的具體步驟為:
第一步,根據(jù)圖像的顏色直方圖構(gòu)建基于顏色直方圖的顯著性圖,像素的顯著性值由公式(1)計算得到:
其中,si表示像素i的顯著性值;n表示圖像中的像素個數(shù);pi表示像素i的顏色在圖像中所占的比例;||ci,cj||表示像素i和像素j在lab顏色空間中的差異。
第二步,使用簡單線性迭代聚類算法slic將輸入圖像分割850個超像素,得到slic小超像素圖像,來表示圖像的區(qū)域性,由于一幅圖像中,圖像的四條邊附近更有可能是背景部分,所以根據(jù)每個超像素的顏色特征,將在圖像四條邊上的超像素分成3類;綜合考慮圖像中不同超像素之間的空間位置和顏色特征,使用公式(2)計算基于區(qū)域?qū)Ρ榷鹊娘@著性圖:
其中,si表示超像素i的顯著性值;nk表示每個分類中超像素數(shù)量;di和dj是超像素i和j的坐標(biāo),||di,dj||是超像素i和j坐標(biāo)的歐式距離;β1=0.2;β2=1.1;α=8;||ci,cj||表示超像素i和超像素j在lab顏色空間中的差異。
第三步,構(gòu)建凸包來表示圖像中的顯著部分;
a.采用harris算子計算興趣點得到凸包c1。
b.使用第二步得到slic小超像素圖像,計算每個超像素的顏色均值來作為超像素中每個像素的顏色特征,將原圖像模糊化,實現(xiàn)去掉圖像中個別像素對興趣點結(jié)果的影響;進(jìn)而采用harris算子計算興趣點得到凸包c2。
c.使用簡單線性迭代聚類算法slic將輸入圖像分割50個超像素,得到slic大超像素圖像c3。
d.取c1,c2和c3的交集得到更加準(zhǔn)確的凸包c。
下面說明根據(jù)興趣點得到凸包的計算方法:
步驟1首先找到興趣點集合中最右下方的興趣點,即興趣點中縱坐標(biāo)最大的點,然后尋找相對于水平方向與這個興趣點之間有最小的正向角度的興趣點,用直線連接這兩個興趣點,該直線為凸包的一條邊,并以找到的興趣點為當(dāng)前興趣點繼續(xù)尋找下一條邊。
步驟2繼續(xù)尋找與當(dāng)前興趣點在逆時針方向有最小的正向角的下一個興趣點,用直線連接兩個興趣點,該直線為凸包的一條邊,并以找到的興趣點為當(dāng)前興趣點繼續(xù)尋找凸包的下一條邊。
步驟3判斷當(dāng)前興趣點是否為算法最初取的最右下方的興趣點,如果是則計算結(jié)束,凸包計算完成。否則,返回步驟2繼續(xù)執(zhí)行。
第四步,使用簡單線性迭代聚類算法slic將輸入圖像分割350個超像素,得到slic中等超像素圖像;查找第三步得到的凸包中所有像素位置對應(yīng)的超像素,使用公式(3)更新第一步和第二步得到的顯著性圖中凸包外部超像素的顯著性值:
sout=sout-α(3)
其中,sout表示凸包外部的超像素(不包括凸包邊緣部分的超像素);α=0.5;
第五步,假定基于顏色直方圖的顯著性圖為s1,基于區(qū)域?qū)Ρ榷鹊娘@著性圖為s2,最終的顯著性圖s通過公式(4)來計算:
s=βs1+(1-β)s2(4)
其中β=0.4表示比例因子;s1表示基于顏色直方圖的顯著性圖;s2表示基于區(qū)域?qū)Ρ榷鹊娘@著性圖;s是最終的顯著性圖;
本實施得到的最終顯著圖見圖2(k),圖3(f)為本實施的真值結(jié)果,其中白色區(qū)域為顯著性區(qū)域,圖3(a),圖3(b),圖3(c),圖3(d),圖3(e)分別為gs算法,mr算法,sf算法,dsr算法與xl算法的顯著性圖。圖2(k)與圖3(f),圖3(a),圖3(b),圖3(c),圖3(d),圖3(e)比較發(fā)現(xiàn),本實施例的最終顯著圖與理想顯著圖吻合,本發(fā)明具有良好的顯著性檢測效果,且顯著性結(jié)果優(yōu)于其他算法。