【技術領域】
本發(fā)明屬于圖像處理領域,具體涉及一種基于卡通紋理分解的圖像超分辨率重建方法。
背景技術:
隨著數字圖像處理技術的不斷深入發(fā)展,人們對高分辨率圖像與視頻的要求與日俱增,為了滿足人們的需求,基于單幀圖像的超分辨率重建技術就誕生了。圖像超分辨率重建是將低分辨率圖像恢復成高分辨率圖像,這一問題一直以來都是圖像領域界研究學者們探究的重要課題。目前,圖像超分辨率重建被廣泛應用于視頻監(jiān)控、衛(wèi)星遙感成像、醫(yī)學圖像等各個領域。
已有的單幀圖像超分辨技術大致可以分為三類:基于插值的方法,基于重建的方法和基于示例學習的方法。基于插值的方法被看作是超分辨率方法中最為基礎的一種方法。盡管理論上講這些方法是高效的,但是在許多實踐過程中重建圖像的質量并不理想?;谥亟ǖ姆椒m然能產生清晰的邊緣并且能抑制人工痕跡的產生,但并沒有為高分辨率圖像的輸出提供任何新的有用的細節(jié),尤其是在高放大倍率的情況下?;谑纠龑W習的方法優(yōu)于基于重建的方法,但在重建過程中會產生模糊效應,使低分辨率圖像塊不利于與實際圖像塊進行匹配,從而降低了重建圖像的質量。
目前較流行的一種圖像超分辨率方法是改進的鄰域錨點映射方法,該方法主要分為離線的樣本庫訓練和在線的圖像重構兩部分。在訓練過程中,對收集到的高分辨率圖像進行下采樣得到低分辨率圖像;然后將低分辨率圖像經雙線性插值算法放大,將得到的雙線性插值圖像依次實施提取梯度特征、分塊、降維操作得到具有低頻信息的低分辨率塊;而具有高頻信息的預測插值圖像則通過原始高分辨率圖像減去低分辨率圖像的雙線性插值圖像獲得,然后將圖像做分塊處理,得到具有高頻信息的高分辨率塊。這樣,在訓練數據庫中就存在著低分辨率塊和與之對應的高分辨率塊的樣本對了。訓練完樣本對后,進行錨點映射操作。在這一訓練過程中,首先計算每一個樣本與每一個錨點的歐式距離,然后找錨點的最近鄰樣本完成錨點映射這一訓練過程。這樣,離線的訓練過程也就完成了。
在訓練樣本對的過程中,該方法只是簡單的對高分辨率圖像進行處理。這樣,在得到低分辨率圖像過程中會產生模糊效應,使得所產生的低分辨率塊與實際圖像不匹配,存在多對一的情況。在錨點映射過程,該方法僅僅通過尋找錨點的最近鄰樣本來完成錨點映射這一訓練過程。這樣,所得到的映射矩陣與實際映射矩陣之間會產生較大誤差。因此,這種方法往往會使重建出來的圖像丟失細節(jié)、模糊邊緣。
技術實現(xiàn)要素:
針對現(xiàn)有技術的不足,發(fā)明的目的在于提供一種基于卡通紋理分解的圖像超分辨率重建方法,既能有效地避免因噪聲產生的紋理,同時又能有效地保持圖像內容,使圖像的結構更加明顯。
為了達到上述目的,本發(fā)明采用如下技術方案:
一種基于卡通紋理分解的圖像超分辨率重建方法,包括以下步驟:
s1:離線訓練過程包括兩個訓練過程:第一個訓練過程通過k-奇異值分解算法訓練出高低分辨率紋理字典對;第二個訓練過程通過離線紋理錨點映射,找出樣本對應的最近錨點,還要找出錨點對應的最近樣本,認為每一對字典原子為一個錨點,代表一種紋理類型;
s2:將低分辨率輸入圖像進行卡通紋理分解;
s3:基于改進的全變分正則化方法重建出低分辨率卡通圖像對應的高分辨率卡通圖像;
s4:通過改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法重建出低分辨率紋理圖像對應的高分辨率紋理圖像;
s5:將重建出的卡通圖像與紋理圖像進行相加輸出要得到的高分辨率圖像。
進一步,所述步驟s1具體包括以下步驟:
s11:收集高分辨率訓練圖像,然后對每一幅高分辨率訓練圖像進行卡通紋理分解,得到高分辨率訓練紋理圖像和高分辨率訓練卡通圖像,通過k-奇異值分解算法訓練高低分辨率紋理字典對,并將訓練結果存儲在參數庫中;
s12:對每一幅分解得到的高分辨率訓練紋理圖像實施如下步驟:
步驟(1)將高分辨率訓練紋理圖像切割成高和寬分別能被放大倍數整除的圖像y;
步驟(2)對圖像y進行采樣得到低分辨率紋理圖像yl;然后通過雙立方插值算法,將低分辨率紋理圖像yl進行圖像放大,并將放大后的圖像表示為ym;
步驟(3)使用f1=[-101]對圖像ym進行卷積,得到圖像ym的一階垂直梯度圖像
步驟(4)將高分辨率圖像y與放大后的圖像ym進行減法操作,得到具有高頻信息的圖像yh,數學公式如式(1)所示:
y-ym=y(tǒng)h(1)
然后將圖像yh分為n塊,得到圖像塊集合
步驟(5)對每一個訓練樣本和每一個錨點分別進行標號;
步驟(6)計算每一個樣本與第α個錨點的歐式距離,其中,α=1,2,3···m,m表示錨點的個數,將距離按從小到大的順序進行排序,然后按此順序將樣本進行排序并記錄其標號;將前n個樣本號碼按順序分別記為α1,α2···αn,將錨點α對應的與其最近的n個樣本號碼形成的集合記為ωα,則得到ωα={αw|w=1,2,3···n};
步驟(8)計算每一個錨點與樣本αw的歐式距離,將距離按從小到大的順序進行排序,然后按此順序將錨點進行排序并記錄其標號,將前m個錨點號碼形成的集合記為γ,則得到樣本αw對應的與其最近的m個錨點形成的集合即γ;如果集合γ中包括α,則將αw記入最終的第α個錨點的匹配樣本號碼集
步驟(9)根據以上步驟得出
其中,
進一步,所述步驟s2具體步驟如下:
步驟(1)輸入低分辨率測試圖像;
步驟(2)將低分辨率測試圖像切割為圖像塊,記圖像塊集合為
步驟(3)設定一個紋理/卡通原子的閾值e;
步驟(4)將低分辨率字典a的第g個原子排成方陣ag;
步驟(5)使用g1=[1-1]對方陣ag進行卷積,得到方陣ag的一階垂直梯度矩陣
步驟(6)使用如下公式計算第g個原子對應的參數μg:
步驟(7)重復步驟(4)、(5)、(6)直到完成所有原子對應的參數μ的計算;
步驟(8)將所有原子對應的參數μ進行比較,將其中參數值最大的記為
步驟(9)使用如下公式計算第g個原子對應的活性qg;
步驟(10)判斷第g個原子對應的活性qg是否滿足下列不等式:
qg≤e(5)
如果滿足則將該原子歸屬于卡通字典原子;如果不滿足則將該原子歸屬于紋理字典原子。
步驟(11)通過以上步驟就將整體字典a分解為卡通字典ac和紋理字典at;
步驟(12)通過下面的公式分別得到卡通字典ac和紋理字典at所對應的稀疏表示系數;
其中,u表示測試圖像,λ表示拉格朗日乘子,ac表示卡通字典,at表示紋理字典,xc表示卡通部分對應的稀疏表示系數,xt表示紋理部分對應的稀疏表示系數。
步驟(13)通過下面的公式分別得到卡通圖像uc和紋理圖像ut;
進一步,所述步驟s3輸入低分辨率卡通測試圖像uc,對圖像uc進行η次迭代,得到高分辨率卡通圖像,具體迭代步驟如下:
步驟(1)通過雙立方插值將低分辨率卡通圖像uc進行放大,并將放大后的圖像表示為
步驟(2)將低分辨率卡通圖像放大后的圖像
步驟(3)通過模板z2=[-101]對圖像
步驟(4)通過使用模板z3=[-1020-1]t對圖像
步驟(5)通過模板z4=[-1020-1]對圖像
步驟(6)通過模板z1=[-101]t,z2=[-101],z5=[10-1]t,z6=[10-1]對圖像
步驟(7)當迭代次數小于10次時使用如下公式計算參數φj:
當迭代次數大于10次時使用如下公式計算參數φj:
步驟(8)將
步驟(9)將
步驟(10)高分辨率卡通圖像的迭代公式為:
其中,j表示這次迭代的迭代次數,λ表示的是拉格朗日乘子,γ是一個正參數。
進一步,步驟s4包括以下步驟:
步驟(1)輸入低分辨率的紋理測試圖像ut,通過雙立方插值進行圖像放大,并將放大后的圖像表示為
步驟(2)使用f1=[-101]對圖像
步驟(3)根據訓練好映射矩陣集
pih,h=λα×pil,t(19)
步驟(4)將低頻分量加到每一個重建的高分辨率塊pih,h上,得到最終的高分辨率紋理塊
pih,h,t=pil,t+pih,h(20)
步驟(5)通過將高分辨率紋理塊
本發(fā)明一種基于卡通紋理分解的圖像超分辨率重建方法,先將測試圖像分解為卡通和紋理兩部分,根據這兩部分各自的特點分別采用改進的全變分正則化方法和改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法,這樣可以將改進的全變分正則化方法和改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法有效結合,既具有較好的去噪能力和較強的邊緣保持能力,又具有良好的適應性和魯棒性。
【附圖說明】
圖1是本發(fā)明提出的一種基于卡通紋理分解的圖像超分辨率重建方法的總體流程圖;
圖2測試圖像分解為卡通與紋理這一步驟的算法的流程圖;
圖3訓練過程中訓練樣本對這一過程的流程圖;
圖4本發(fā)明所使用的錨點映射方法的流程圖;
圖5本發(fā)明所使用的改進的全變分正則化方法的流程圖;
圖6是將測試圖像分解為卡通與紋理的實驗結果圖;
圖7是本發(fā)明所提方法的實驗結果圖;
圖8是各種算法重建圖像的峰值信噪比(psnr)比較結果圖;
【具體實施方式】
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
下面對本發(fā)明作進一步的詳細說明。
如圖1所示,本發(fā)明公開了一種基于卡通紋理分解的圖像超分辨率重建方法,具體步驟如下:
s1:離線訓練過程包括兩個訓練過程。第一個訓練過程是通過k-奇異值分解算法訓練出高低分辨率紋理字典對;第二個訓練過程是離線紋理錨點映射,這一過程中的錨點映射方法與傳統(tǒng)的錨點映射方法顯著不同。本錨點映射方法不僅找樣本對應的最近錨點,還要找錨點對應的最近樣本,來完成錨點映射這一過程。認為每一對字典原子為一個錨點,代表一種紋理類型。
具體的實施步驟如下:
s11:收集大量的高分辨率訓練圖像,然后對每一幅高分辨率訓練圖像進行卡通紋理分解,得到高分辨率訓練紋理圖像和高分辨率訓練卡通圖像。本發(fā)明中所用的高分辨率訓練圖像是從網上下載得到的。通過k-奇異值分解算法訓練高低分辨率紋理字典對,并將訓練結果存儲在參數庫中。
如圖3所示,s12:對每一幅分解得到的高分辨率訓練紋理圖像實施如下步驟:
步驟(1)將高分辨率訓練紋理圖像切割成高和寬分別能被放大倍數整除的圖像y。
步驟(2)對圖像y進行下采樣操作得到低分辨率紋理圖像yl。然后通過雙立方插值算法,將低分辨率紋理圖像yl進行圖像放大,并將放大后的圖像表示為ym。
步驟(3)使用f1=[-101]對圖像ym進行卷積,得到圖像ym的一階垂直梯度圖像
步驟(4)將高分辨率圖像y與放大后的圖像ym進行減法操作,得到具有高頻信息的圖像yh。數學公式如下所示。
y-ym=y(tǒng)h(1)
然后將圖像yh分為n塊,得到圖像塊集合
如圖4所示,步驟(5)對每一個訓練樣本和每一個錨點都分別進行標號。
步驟(6)計算每一個樣本與第α個錨點的歐式距離(其中,α=1,2,3···m,m表示錨點的個數),將距離按從小到大的順序進行排序,然后按此順序將樣本進行排序并記錄其標號。將前n個樣本號碼按順序分別記為α1,α2···αn,將錨點α對應的與其最近的n個樣本號碼形成的集合記為ωα。則得到ωα={αw|w=1,2,3···n}。
步驟(8)計算每一個錨點與樣本αw的歐式距離,將距離按從小到大的順序進行排序,然后按此順序將錨點進行排序并記錄其標號。將前m個錨點號碼形成的集合記為γ,則得到樣本αw對應的與其最近的m個錨點形成的集合即γ。如果集合γ中包括α,則將αw記入最終的第α個錨點的匹配樣本號碼集
步驟(9)根據以上步驟得出
其中,
s2:將低分辨率輸入圖像進行卡通紋理分解。
如圖2所示,具體的實施步驟如下:
步驟(1)輸入低分辨率測試圖像。
步驟(2)將低分辨率測試圖像切割為圖像塊,記圖像塊集合為
步驟(3)設定一個紋理/卡通原子的閾值e。
步驟(4)將低分辨率字典a的第g個原子排成方陣ag。
步驟(5)使用g1=[1-1]對方陣ag進行卷積,得到方陣ag的一階垂直梯度矩陣
步驟(6)使用如下公式計算第g個原子對應的參數μg:
步驟(7)重復步驟(4)、(5)、(6)直到完成所有原子對應的參數μ的計算。
步驟(8)將所有原子對應的參數μ進行比較,將其中參數值最大的記為
步驟(9)使用如下公式計算第g個原子對應的活性qg。
步驟(10)判斷第g個原子對應的活性qg是否滿足下列不等式:
qg≤e(5)
如果滿足則將該原子歸屬于卡通字典原子;如果不滿足則將該原子歸屬于紋理字典原子。
步驟(11)通過以上步驟就可以將整體字典a分解為卡通字典ac和紋理字典at。
步驟(12)通過下面的公式分別得到卡通字典ac和紋理字典at所對應的稀疏表示系數。
其中,u表示測試圖像,λ表示拉格朗日乘子,ac表示卡通字典,at表示紋理字典,xc表示卡通部分對應的稀疏表示系數,xt表示紋理部分對應的稀疏表示系數。
步驟(13)通過下面的公式分別得到卡通圖像uc和紋理圖像ut。
s3:基于一種改進的全變分正則化方法重建出低分辨率卡通圖像對應的高分辨率卡通圖像。
對步驟s3進一步詳細說明:輸入低分辨率卡通測試圖像uc,對圖像uc進行η次迭代,得到高分辨率卡通圖像。
如圖5所示,第j步具體迭代步驟如下所示。
步驟(1)通過雙立方插值將低分辨率卡通圖像
步驟(2)將低分辨率卡通圖像放大后的圖像
步驟(3)通過使用模板z2=[-101]對圖像
步驟(4)通過使用模板z3=[-1020-1]t對圖像
步驟(5)通過使用模板z4=[-1020-1]對圖像
步驟(6)通過使用模板z1=[-101]t,z2=[-101],z5=[10-1]t,z6=[10-1]對圖像
步驟(7)當迭代次數小于10次時使用如下公式計算參數φj:
當迭代次數大于10次時使用如下公式計算參數φj:
步驟(8)將
步驟(9)將
步驟(10)高分辨率卡通圖像的迭代公式為:
其中,j表示這次迭代的迭代次數,λ表示的是拉格朗日乘子,γ是一個正參數。
s4:通過一種改進的基于外部訓練樣本紋理錨點映射矩陣的超分辨率方法重建出低分辨率紋理圖像對應的高分辨率紋理圖像。對步驟s4實施如下步驟:
步驟(1)輸入低分辨率的紋理測試圖像ut,通過雙立方插值進行圖像放大,并將放大后的圖像表示為
步驟(2)使用f1=[-101]對圖像
步驟(3)根據訓練好映射矩陣集
pih,h=λα×pil,t(19)
步驟(4)將低頻分量加到每一個重建的高分辨率塊pih,h上,得到最終的高分辨率紋理塊
pih,h,t=pil,t+pih,h(20)
步驟(5)通過將高分辨率紋理塊
s5:將重建出的卡通圖像與紋理圖像進行相加從而輸出想要得到的高分辨率圖像。
如圖6-8所示,本發(fā)明通過計算峰值信噪比(psnr)來衡量超分辨率圖像重建的結果。
均方誤差(mse)反映了原始圖像與待評價圖像之間的差異性,其計算公式如下式所示。
其中,
峰值信噪比(psnr)反映了待評價圖像的逼真度,其計算公式如下式所示。
其中,l表示像素點的動態(tài)變化范圍。
以上所述是本發(fā)明的優(yōu)選實施方式,通過上述說明內容,本技術領域的相關工作人員可以在不偏離本發(fā)明技術原理的前提下,進行多樣的改進和替換,這些改進和替換也應視為本發(fā)明的保護范圍。