本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,主要用于壓縮感知中圖像的壓縮和重構(gòu)。
背景技術(shù):
壓縮感知理論(Compressed Sensing,CS)(具體描述參見文獻“Compressed sensing”)是一種新興的采樣理論,該理論突破了傳統(tǒng)采樣定理的局限性,在較小的采樣代價的前提下,能夠高概率、無失真地還原信號。
壓縮感知的方法應(yīng)用于大規(guī)模的圖像數(shù)據(jù)處理時,面臨矩陣存儲量巨大、數(shù)據(jù)傳輸壓力大、計算復(fù)雜度高等問題。針對上述問題,Lu Gan等人提出了分塊壓縮壓縮感知(Block Compressed Sensing,BCS)圖像處理方法(具體描述參見文獻“BLOCK COMPRESSED SENSING OF NATURAL IMAGES”),該方法通過對圖像進行分塊處理,并采用相同的采樣率對圖像塊進行采樣,有效地提高了圖像采樣和重構(gòu)的效率。但傳統(tǒng)的基于BCS的壓縮感知圖像處理方法,并沒有考慮圖像塊所含信息量的差異情況,對所有圖像塊都采用相同的采樣率,使得圖像重構(gòu)時很容易出現(xiàn)塊效應(yīng),影響圖像的重構(gòu)質(zhì)量。
技術(shù)實現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問題是提供一種基于圖像信息含量差異的自適應(yīng)壓縮感知重構(gòu)方法,該方法依據(jù)圖像信息含量差異計算得到各圖像塊的采樣因子,并采用基于采樣因子所提出的自適應(yīng)圖像分塊采樣分配方案對各圖像塊所需的采樣數(shù)進行分配,最后根據(jù)分配結(jié)果對圖像塊進行采樣和重構(gòu)。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
一種基于圖像信息含量差異的自適應(yīng)壓縮感知重構(gòu)方法,其步驟如下:
步驟1:圖像預(yù)處理
輸入大小為IC×IR的原始圖像,并把原始圖像劃分成n=(IC×IR)/B2個互不重疊且大小為B×B的圖像塊,各圖像塊記為xl。其中l(wèi)用來表示圖像塊的編號且l∈[1,n],例如當l=1時x1表示編號為1的圖像塊;n表示圖像塊的分塊數(shù)量;IC和IR分別表示圖像的高度和寬度,B表示圖像塊的寬度和高度。
步驟2:計算圖像塊的采樣因子
步驟2.1:
將圖像塊xl灰度值的矩陣表示I。在像素域中,假設(shè)空間位置為(i,j)的像素點為當前像素點,記g(i,j)表示空間位置為(i,j)的像素點的灰度值;計算當前像素點與所有相鄰像素點的灰度值差值的標準差,記為σ(i,j);其中相鄰像素點的描述如下:在矩陣I中,假設(shè)空間位置為(k,t)的像素點為當前像素點的相鄰像素點,則i、j、k和t滿足如下公式表述的關(guān)系:
其中σ(i,j)可以依據(jù)如下公式計算:
其中N(i,j)表示與當前像素點相鄰的像素點個數(shù);ε(k,t)表示空間位置為(k,t)的像素點與當前像素點灰度值差值的絕對值,且ε(k,t)=abs(g(k,t)-g(i,j)),abs表示取絕對值函數(shù);μ(i,j)表示由當前像素點灰度值計算得到的所有ε(k,t)的均值。以此式計算得到圖像塊中所有像素點的σ(i,j)值,定義圖像塊所有σ(i,j)值的和為圖像塊信息含量差異系數(shù)f,即:
f=∑σ(i,j)
圖像塊信息含量差異系數(shù)f的值可以用來反映圖像塊所含信息量的大小,f的值大表示圖像塊所含信息量大,f的值小則表示圖像塊所含信息量小。
對整幅圖像進行分塊采樣時,采用上述方式計算得到的f值作為各圖像塊分配采樣數(shù)的依據(jù),即對于編號為l的圖像塊的信息含量差異系數(shù)記為fl,fl的值越大說明其所對應(yīng)的圖像塊分配的采樣數(shù)越大。
步驟2.2:
為了更好地使用fl來衡量各圖像塊所含信息量的多少,對fl的值進行如下公式的規(guī)范:
fl=(fl-fmin)/(fmax-fmin)
其中fmin表示取各圖像塊中值最小的圖像塊信息含量差異系數(shù),fmax表示取各圖像塊中值最大的圖像塊信息含量差異系數(shù)。
本發(fā)明中采樣因子的值取各圖像塊規(guī)范后的圖像塊信息含量差異系數(shù)值。
步驟3:基于采樣因子采用所提出的自適應(yīng)圖像分塊采樣分配方案計算各圖像塊所對應(yīng)的采樣數(shù),且各圖像塊的采樣數(shù)記為ml。其中l(wèi)對應(yīng)圖像塊的編號,且l∈[1,n]。
步驟3.1:基礎(chǔ)分配
為每一個圖像塊分配一個基礎(chǔ)采樣數(shù),該基礎(chǔ)采樣數(shù)相同且取值為1。此時ml=1,其中l(wèi)對應(yīng)圖像塊的編號,且l∈[1,n]。
步驟3.2:按序分配
(a)采用如下公式計算整幅圖像總的采樣數(shù),總的采樣數(shù)記為M。
其中IC和IR分別表示圖像的高度和寬度,符號表示四舍五入計算,r表示圖像總的采樣率。
(b)將由步驟2計算得到所有圖像塊的采樣因子組成的集合記為F0,且F0={fl|l∈[1,n]},其中l(wèi)表示F0中元素的下標,F(xiàn)0中某一元素對應(yīng)圖像塊的編號與其下標相同,如f1對應(yīng)圖像塊的編號為1。對F0按元素值大小進行降序排序后得到集合F1,有F1={fp|p∈[1,n]},其中fp表示F0排序后的元素值;p表示F1中元素的下標。
(c)按如下的公式計算總的剩余采樣數(shù),總的剩余采樣數(shù)記為Δ。
其中l(wèi)對應(yīng)圖像塊的編號,ml為圖像塊的采樣數(shù)。另外,步驟(c)到步驟(h)是分配圖像塊采樣數(shù)的迭代過程,該過程的功能是把剩余采樣數(shù)分配給相應(yīng)的圖像塊。用q表示迭代輪次(如q=1時,表示第1輪迭代),q的初始值設(shè)為1。
(d)判斷是否需要對剩余采樣數(shù)進行分配操作,若Δ=0,則說明所有圖像塊的采樣數(shù)已經(jīng)分配完成,直接執(zhí)行步驟3.3,直接取得各圖像塊采樣數(shù)的集合;若Δ≠0,則對剩余采樣數(shù)進行采樣數(shù)分配操作,順序執(zhí)行如下步驟:
(e)依據(jù)步驟(b)計算得到的集合F1更新當前采樣因子(第q次迭代對應(yīng)的采樣因子)對應(yīng)圖像塊的采樣數(shù)。此時當前采樣因子的值取集合F1中第q個元素的值,其對應(yīng)圖像塊的編號用index表示,index的值取集合F1中第q個元素的下標且取值范圍為index∈[1,n],則當前采樣因子又可以表示為findex,其對應(yīng)圖像塊的采樣數(shù)記為mindex。例如,假設(shè)集合F0={f1,f2,f3,...,fn},降序排序后得到集合F1={f4,f2,f5,...};當?shù)喆蝢=1時,表示在第1次迭代過程中更新集合F1的第1個元素對應(yīng)圖像塊的采樣數(shù),該對應(yīng)圖像塊的編號為index=4,其所對應(yīng)的采樣因子表示為f4,即在第1次迭代過程中更新編號為4的圖像塊所對應(yīng)的采樣數(shù)m4;其他圖像塊所對應(yīng)的采樣數(shù)計算以此類推。根據(jù)如下公式計算當前采樣因子findex對應(yīng)圖像塊分配的采樣數(shù)。
其中Snum表示當前要分配給圖像塊的采樣數(shù),符號表示四舍五入計算。
(f)根據(jù)計算的Snum按如下方式更新當前采樣因子findex對應(yīng)圖像塊的采樣數(shù)。
其中mindex表示圖像塊xindex所對應(yīng)的采樣數(shù)。
(g)由于更新后mindex的值有可能超過圖像塊采樣數(shù)的上界B2,因此還需要根據(jù)mindex的取值情況對其值進行微調(diào),調(diào)整規(guī)則如下:
(h)更新迭代輪次q,有q=q+1。跳轉(zhuǎn)到步驟(c)執(zhí)行,更新剩余采樣數(shù)Δ的值,然后判斷是否需要再次對剩余采樣數(shù)進行分配操作。
步驟3.3:直接返回各圖像塊的采樣數(shù)情況。此時用U表示各圖像塊的采樣數(shù)集合且U={ml|l∈[1,n]},其中l(wèi)對應(yīng)圖像塊的編號,ml對應(yīng)編號為l的圖像塊的采樣數(shù),。至此對圖像塊采樣數(shù)進行分配的過程結(jié)束。
步驟4:圖像塊測量矩陣的構(gòu)造
構(gòu)造一個大小為B2×B2的哈達瑪矩陣作為測量矩陣Φ。根據(jù)步驟3計算得到的采樣數(shù)ml構(gòu)造各圖像塊所需的測量矩陣Φl,其中l(wèi)對應(yīng)圖像塊的編號,具體的構(gòu)造方式是:各圖像塊的測量矩陣的行數(shù)為ml,列數(shù)為B2。最終得到各圖像塊的測量矩陣并表示為:Φ1,Φ2,...,Φn。其中n為步驟1所得的圖像塊分塊數(shù)量。
步驟5:圖像塊采樣
根據(jù)步驟4得到測量矩陣Φ1,Φ2,...,Φn,由如下的方式計算各圖像塊灰度值的測量值:
yl=ΦlXl
其中yl表示灰度值測量值,Xl表示圖像塊xl的灰度值矩陣的向量化形式,其中l(wèi)對應(yīng)圖像塊的編號,且l∈[1,n]。
步驟6:圖像重構(gòu)
根據(jù)步驟5得到的灰度值測量值yl,其中l(wèi)對應(yīng)圖像塊的編號。采用正交匹配追蹤算法OMP等算法作為重構(gòu)算法,分別對得到的灰度值測量值yl進行重構(gòu)得到所對應(yīng)的重構(gòu)圖像塊;將所有重構(gòu)圖像塊進行組合得到完整的重構(gòu)圖像。到此圖像分塊采樣和重構(gòu)的過程結(jié)束。
本發(fā)明的基本原理:在圖像壓縮感知領(lǐng)域,為節(jié)約存儲空間和提高運算效率,通常是采用圖像分塊采樣和重構(gòu)的方法。圖像自身各部分的信息差異導(dǎo)致分塊后的圖像塊之間也存在信息差異,紋理信息復(fù)雜的圖像塊所含的信息量多,而平滑的圖像塊所含的信息量少。另一方面,若不考慮圖像塊所含信息量的多少,采用相同的采樣率對圖像塊進行獨立采樣和重構(gòu),在采樣率較小的條件下,信息含量少的圖像塊可能獲得較好的重構(gòu)效果,而信息含量多的圖像塊獲得的重構(gòu)效果可能不理想,最后拼接成完整圖像時出現(xiàn)塊效應(yīng)的現(xiàn)象。因此,可以根據(jù)本發(fā)明定義的圖像信息含量差異系數(shù)衡量圖像塊所含信息量的多少,并結(jié)合所提出的自適應(yīng)分塊采樣分配方案調(diào)整圖像塊所需的采樣數(shù),自適應(yīng)地為信息含量多的圖像塊分配更多的采樣數(shù),為信息含量少的圖像塊分配較少的采樣數(shù),最終達到減小塊效應(yīng)、提高重構(gòu)質(zhì)量的目的。
本發(fā)明采用以上技術(shù)方案具有以下優(yōu)點:
(1)本發(fā)明考慮圖像自身信息的分布特征,通過定義一種圖像信息含量差異系數(shù)作為圖像塊的采樣因子,依據(jù)采樣因子的大小有效地區(qū)分圖像塊所含信息量的差異特征,采用所提出的自適應(yīng)圖像分塊采樣分配方案調(diào)整各圖像塊的采樣數(shù),可以有效地減小塊效應(yīng)。
(2)本發(fā)明采用的圖像分塊大小相對于已有圖像分塊重構(gòu)方法采用的分塊大小更小,可以有效地提高圖像塊采樣和重構(gòu)的效率。
附圖說明
圖1是本發(fā)明方法總的流程圖。
圖2是本發(fā)明用于實施例的標準圖像。
圖3是對Lena和GoldHill圖像采用不同的圖像分塊采樣重構(gòu)方法在相同的采樣率下進行采樣和重構(gòu)后的視覺效果對比圖。
圖4是對Lena和GoldHill圖像采用不同的圖像分塊采樣重構(gòu)方法在不同的采樣率下進行采樣和重構(gòu)后得到的PSNR值。
具體實施方式
下面結(jié)合附圖對本發(fā)明的較佳實施例進行詳細闡述,以使本發(fā)明的優(yōu)點和特征能更易于被本領(lǐng)域技術(shù)人員理解,從而對本發(fā)明的保護范圍做出更為清楚明確的界定。
參照附圖1,本發(fā)明具體的實現(xiàn)步驟如下:
步驟1:圖像輸入
采用“MATLAB R2015a”平臺作為本發(fā)明方法的實施平臺,分別輸入大小為512×512的Lena和GoldHill標準灰度圖作為本發(fā)明的實施用例。
步驟2:圖像分塊
分別把步驟1輸入的Lena和GoldHill圖像劃分成n=(512×512)/42個互不重疊且大小為4×4的圖像塊,各圖像塊記為xl。其中l(wèi)用來表示圖像塊的編號且l∈[1,n],如x1和x2分別表示編號為1和2的圖像塊。n表示圖像塊的分塊數(shù)量。
步驟3:采樣因子計算
將圖像塊xl灰度值的矩陣表示I。在像素域中,假設(shè)空間位置為(i,j)的像素點為當前像素點,記g(i,j)表示空間位置為(i,j)的像素點的灰度值;計算當前像素點與所有相鄰像素點的灰度值差值的標準差,記為σ(i,j);其中相鄰像素點的描述如下:在矩陣I中,假設(shè)空間位置為(k,t)的像素點為當前像素點的相鄰像素點,則i、j、k和t滿足如下公式表述的關(guān)系:
其中σ(i,j)可以依據(jù)如下公式計算:
其中N(i,j)表示與當前像素點相鄰的像素點個數(shù);ε(k,t)表示空間位置為(k,t)的像素點與當前像素點灰度值差值的絕對值,且ε(k,t)=abs(g(k,t)-g(i,j)),abs表示取絕對值函數(shù);μ(i,j)表示由當前像素點灰度值計算得到的所有ε(k,t)的均值。以此式計算得到圖像塊中所有像素點的σ(i,j)值,定義圖像塊所有σ(i,j)值的和為圖像塊信息含量差異系數(shù)f,即:
f=∑σ(i,j)
圖像塊信息含量差異系數(shù)f的值可以用來反映圖像塊所含信息量的大小,f的值大表示圖像塊所含信息量大,f的值小則表示圖像塊所含信息量小。
對整幅圖像進行分塊采樣時,采用上述方式計算得到的f值作為各圖像塊分配采樣數(shù)的依據(jù),即對于編號為l的圖像塊的信息含量差異系數(shù)記為fl,fl的值越大說明其所對應(yīng)的圖像塊分配的采樣數(shù)越大。
步驟4:采樣因子規(guī)范化
為了更好地使用fl來衡量各圖像塊所含信息量的多少,對fl的值進行如下公式的規(guī)范:
fl=(fl-fmin)/(fmax-fmin)
其中fmin表示取各圖像塊中值最小的圖像塊信息含量差異系數(shù),fmax表示取各圖像塊中值最大的圖像塊信息含量差異系數(shù)。
本發(fā)明中采樣因子的值取各圖像塊規(guī)范后的圖像塊信息含量差異系數(shù)值。
步驟5:基礎(chǔ)采樣數(shù)分配
記各圖像塊xl的采樣數(shù)為ml,為每一個圖像塊分配一個基礎(chǔ)采樣數(shù),且該基礎(chǔ)采樣數(shù)相同。其中基礎(chǔ)采樣數(shù)的取值均為1,此時ml=1,l對應(yīng)圖像塊的編號,且l∈[1,n]。
步驟6:各圖像塊采樣數(shù)計算
(1)采用如下公式計算整幅圖像總的采樣數(shù),總的采樣數(shù)記為M。
其中IC和IR分別表示圖像的高度和寬度,符號表示四舍五入計算,r表示圖像總的采樣率。本發(fā)明中r的取值為{0.1,0.2,0.3,0.4,0.5}。
(2)將由步驟4計算得到所有圖像塊的采樣因子組成的集合記為F0,且F0={fl|l∈[1,n]},其中l(wèi)表示F0中元素的下標,F(xiàn)0中某一元素對應(yīng)圖像塊的編號與其下標相同,如f1對應(yīng)圖像塊的編號為1。對F0按元素值大小進行降序排序后得到集合F1,有F1={fp|p∈[1,n]},其中fp表示F0排序后的元素值;p表示F1中元素的下標。
(3)按如下的公式計算總的剩余采樣數(shù),總的剩余采樣數(shù)記為Δ。
其中l(wèi)對應(yīng)圖像塊的編號,ml為圖像塊的采樣數(shù)。另外,步驟(3)到步驟(8)是分配圖像塊采樣數(shù)的迭代過程,該過程的功能是把剩余采樣數(shù)分配給相應(yīng)的圖像塊。用q表示迭代輪次(如q=1時,表示第1輪迭代),q的初始值設(shè)為1。
(4)判斷是否需要對剩余采樣數(shù)進行分配操作,若Δ=0,則說明所有圖像塊的采樣數(shù)已經(jīng)分配完成,直接執(zhí)行步驟7,直接取得各圖像塊采樣數(shù)的集合;若Δ≠0,則對剩余采樣數(shù)進行采樣數(shù)分配操作,順序執(zhí)行如下步驟:
(5)依據(jù)步驟(2)計算得到的集合F1更新當前采樣因子(第q次迭代對應(yīng)的采樣因子)對應(yīng)圖像塊的采樣數(shù)。此時當前采樣因子的值取集合F1中第q個元素的值,其對應(yīng)圖像塊的編號用index表示,index的值取集合F1中第q個元素的下標且取值范圍為index∈[1,n],則當前采樣因子又可以表示為findex,其對應(yīng)圖像塊的采樣數(shù)記為mindex。例如,假設(shè)集合F0={f1,f2,f3,...,fn},降序排序后得到集合F1={f4,f2,f5,...};當?shù)喆蝢=1時,表示在第1次迭代過程中更新集合F1的第1個元素對應(yīng)圖像塊的采樣數(shù),該對應(yīng)圖像塊的編號為index=4,其所對應(yīng)的采樣因子表示為f4,即在第1次迭代過程中更新編號為4的圖像塊所對應(yīng)的采樣數(shù)m4;其他圖像塊所對應(yīng)的采樣數(shù)計算以此類推。根據(jù)如下公式計算當前采樣因子findex對應(yīng)圖像塊分配的采樣數(shù):
其中Snum表示當前可分配給圖像塊的采樣數(shù),符號表示四舍五入計算。
(6)根據(jù)計算的Snum按如下方式更新當前采樣因子findex對應(yīng)圖像塊的采樣數(shù)。
其中mindex表示圖像塊xindex所對應(yīng)的采樣數(shù)。
(7)由于更新后mindex的值有可能超過圖像塊采樣數(shù)的上界42,因此還需要根據(jù)mindex的取值情況對其值進行微調(diào),調(diào)整規(guī)則如下:
(8)更新迭代輪次q,有q=q+1。跳轉(zhuǎn)到步驟(3)執(zhí)行下一次迭代,更新剩余采樣數(shù)Δ的值,然后判斷是否需要再次對剩余采樣數(shù)進行分配操作。
步驟7:輸出各圖像塊所需的采樣數(shù)
直接輸出由步驟6計算得到的各圖像塊的采樣數(shù)。此時用U表示各圖像塊的采樣數(shù)集合且U={ml|l∈[1,n]},其中l(wèi)對應(yīng)圖像塊的編號,ml對應(yīng)編號為l的圖像塊的采樣數(shù),。至此對圖像塊采樣數(shù)進行分配的過程結(jié)束。
步驟8:圖像塊測量矩陣的構(gòu)造
構(gòu)造一個大小為B2×B2的哈達瑪矩陣作為測量矩陣Φ。根據(jù)步驟7計算得到的采樣數(shù)ml構(gòu)造各圖像塊所需的測量矩陣,具體的構(gòu)造方式是:各圖像塊的測量矩陣的行數(shù)為ml,列數(shù)為B2。最終得到各圖像塊的測量矩陣并表示為:Φ1,Φ2,...,Φn。其中n為步驟2所得的圖像塊分塊數(shù)量。
步驟9:圖像塊采樣
根據(jù)步驟8得到測量矩陣Φ1,Φ2,...,Φn,由如下的方式計算各圖像塊的灰度值測量值:
yl=ΦlXl
其中yl表示灰度值測量值,Xl表示圖像塊xl的灰度值矩陣的向量化形式,其中l(wèi)對應(yīng)圖像塊的編號,且l∈[1,n]。
步驟10:圖像重構(gòu)
根據(jù)步驟9得到的灰度值測量值yl,其中l(wèi)對應(yīng)圖像塊的編號。采用正交匹配追蹤算法(OMP)算法作為重構(gòu)算法,分別對得到的灰度值測量值yl進行重構(gòu)得到所對應(yīng)的重構(gòu)圖像塊;將所有重構(gòu)圖像塊進行組合得到完整的重構(gòu)圖像。到此整個實施例中圖像采樣和重構(gòu)的過程結(jié)束。
本發(fā)明采用的對比方法BCS-SPL-DCT,詳見參考文獻“BLOCK COMPRESSED SENSING OF IMAGES USING DIRECTIONAL TRANSFORMS”。
本發(fā)明中附圖2是本發(fā)明實施例采用的原始圖像。附圖3是對Lena和GoldHill圖像采用不同的圖像分塊采樣重構(gòu)方法在0.4的采樣率下進行采樣和重構(gòu)后的視覺效果對比圖;其中對于Lena圖像,采用BCS-SPL-DCT方法(a)的PSNR值為34.1670dB,采用本發(fā)明方法(b)PSNR值為39.2988dB;對于GoldHill圖像,采用BCS-SPL-DCT方法(c)的PSNR值為30.7049dB,采用本發(fā)明方法(d)PSNR值為34.8171dB;因此,采用本發(fā)明方法的視覺效果更好。附圖4是對Lena和GoldHill圖像采用不同的圖像分塊采樣重構(gòu)方法在不同的采樣率下進行采樣和重構(gòu)后得到的PSNR值;其中采樣率分別取{0.1、0.2、0.3、0.4、0.5},對于Lena圖像,隨著采樣率的增加,本發(fā)明方法相較于BCS-SPL-DCT方法,PSNR值分別提高了1.93dB、3.29dB、4.42dB、5.13dB、5.70dB;而對于GoldHill圖像,隨著采樣率的增加,本發(fā)明方法相較于BCS-SPL-DCT方法,PSNR值分別提高了1.77dB、2.60dB、3.00dB、4.11dB、4.52dB;結(jié)合圖4的實驗數(shù)據(jù)和上述對比結(jié)果可知,一方面,在相同的采樣率下,采用本發(fā)明方法計算得到的PSNR值均比采用BCS-SPL-DCT方法計算得到的PSNR值高;另一方面,采用相同的圖像,相對于BCS-SPL-DCT方法計算得到的PSNR值,本發(fā)明方法計算得到的PSNR值隨著采樣率的增加而提高的PSNR值的幅度也增加;因此采用本法明方法具有更好地重構(gòu)效果。
以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。