專利名稱:基于支持向量機的圖像插值算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,具體涉及一種基于支持向量機的圖像插值算法。
背景技術(shù):
圖像插值能夠?qū)D像進行放大,便于進行觀察和處理,被廣泛應(yīng)用于遙感、醫(yī)學診斷、多媒體通訊、視頻處理等領(lǐng)域中。圖像插值算法就是根據(jù)已知圖像中的像素對于放大后的圖像中的未知像素進行計算的方法。
支持向量機[1][2]是借助于最優(yōu)化方法解決機器學習問題的工具,是在統(tǒng)計學習理論的基礎(chǔ)上發(fā)展起來的學習算法。應(yīng)用支持向量機可以進行函數(shù)估計,又稱為支持向量回歸。
圖像插值最為常用的算法是線性插值算法、三次插值算法[3]。這些算法假設(shè)圖像灰度值符合線性或者三次曲線模型,從而采用線性或者三次模型對未知像素進行計算。
由于實際圖像的像素灰度間并不滿足線性或者三次曲線模型,線性插值、三次插值方法得到的結(jié)果圖像存在較大的誤差。為此提出了神經(jīng)網(wǎng)絡(luò)插值方法[4]。該方法首先采用多層感知器神經(jīng)網(wǎng)絡(luò)進行學習訓練,訓練樣本為原圖像中的像素,輸入模式為原圖像中該像素周圍鄰近像素的灰度值,輸出為該像素的灰度值。然后利用訓練后的神經(jīng)網(wǎng)絡(luò)對放大圖像的未知像素進行估計,估計中輸入未知像素周圍鄰近的已知像素灰度值,神經(jīng)網(wǎng)絡(luò)的輸出就是該未知像素的灰度值。
另外一種插值方法是曲面擬合方法[5]。如果把二維數(shù)字圖像的像素位置和灰度值看作坐標值和對應(yīng)的曲面值,就可以使用曲面數(shù)據(jù)擬合的方法采用支持向量機進行圖像插值計算。該方法對未知像素進行灰度值計算時,首先選取該像素周圍最臨近的4×4或者5×5個已知像素,然后把這些已知像素的相對坐標值作為輸入模式,已知像素的像素灰度值作為輸出模式對支持向量機進行訓練。完成訓練之后把待插值像素的相對坐標輸入支持向量機,支持向量機的輸出就是待插值像素的灰度值。
還有一種插值方法是相鄰像素法[6]。在該方法中已知圖像中的像素用作支持向量機訓練樣本。首先進行訓練,樣本中每個像素的灰度值及其相鄰像素的灰度值分別作為支持向量機的輸出模式和輸入模式。然后每個待插值像素可以通過支持向量機估計得到,向支持向量機輸入鄰近像素灰度值,支持向量機的輸出模式就是要估計的像素灰度值。
以上這些方法都能夠進行插值計算,但是計算結(jié)果的準確性還不夠高。在實際的圖像處理中經(jīng)常需要提供高準確性的插值結(jié)果圖像,如用于診斷的醫(yī)學圖像需要提供準確的細節(jié)信息,以上這些方法不能完全滿足這種高準確性的需要。為了提高插值計算的準確性,本發(fā)明采用應(yīng)用支持向量機先進行學習訓練,然后再用支持向量機進行估計計算的方法。在支持向量機的訓練和估計的輸入模式中,使用相鄰像素之間的灰度平均值和灰度差值等圖像的局部空間特性信息,使得支持向量機對于原圖像的學習和估計更加準確,顯著提高了插值計算的準確性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)存在的不足,提出一種使用支持向量機學習圖像的局部空間特性,然后利用完成訓練的支持向量機進行未知像素灰度值估計的插值算法。這種算法適用于對圖像進行整數(shù)倍的放大。此算法克服了以往的支持向量機學習方法中準確性不足的問題,顯著提高了圖像插值的準確性。
本發(fā)明是通過以下技術(shù)方案實現(xiàn)的本發(fā)明首先確定待插值像素的周圍最鄰近6個已知像素區(qū)域,該區(qū)域由應(yīng)用中具體的放大倍數(shù)決定;然后進行支持向量機訓練,根據(jù)要插入像素的情況確定支持向量機的個數(shù),對每個支持向量機分別訓練,訓練中原圖像中的每個像素都是支持向量機的輸入樣本,輸入模式包括選定區(qū)域中相鄰6個已知像素的灰度值,以及相鄰6個已知像素的灰度平均值、灰度差等局部空間特性;最后使用完成訓練的支持向量機對每個待估計的像素進行插值計算,計算中的支持向量機輸入模式和訓練的輸入模式相同,支持向量機的輸出就是插值結(jié)果。
以下對本發(fā)明作進一步的說明,包括如下步驟第一步,確定待插值像素的周圍最鄰近6個已知像素區(qū)域。該區(qū)域根據(jù)已知像素之間待插值的像素個數(shù),即放大倍數(shù)來確定。比如進行2倍行擴展插值,原來的兩行之間加入一個新行,新行的像素是需要計算像素的未知行,則該最鄰近已知像素區(qū)域選擇為中間一個待插值像素,上面一行的3個最鄰近已知像素,下面一行的3個最鄰近已知像素。再比如對列進行3倍擴展,原來相鄰的兩個已知列之間需要插入兩個未知列,就需要為新增加的兩列各選擇一個區(qū)域形狀,共兩個形狀區(qū)域,區(qū)域中心是待插值像素,一側(cè)是相鄰已知列中最鄰近的3個已知像素,另一側(cè)是隔著一個未知列的已知列中的最鄰近的3個像素。對于更一般的行和列同時擴展的情況,可以通過對原圖像先實施行擴展插值,再實施列擴展插值的方法進行。
第二步,進行支持向量機訓練。
先根據(jù)要插入像素的情況確定支持向量機的個數(shù)。例如對于行2倍擴展中,兩已知行間需要插入1行像素,每次計算1個待插值像素,使用1個支持向量機進行學習和估計。對于列3倍擴展中,兩已知列間需要插入2列像素,每次計算2個待插值像素,使用2個支持向量機進行學習和估計。確定支持向量機數(shù)量后,對每個支持向量機獨立進行訓練。
在支持向量機訓練中,原圖像中的每個像素都是支持向量機的輸入樣本,按照第一步中選定的區(qū)域進行訓練。設(shè)在選擇的區(qū)域中,三個相鄰已知像素的灰度值依次記為p(1),p(2)和p(3),另三個相鄰已知像素的灰度值依次記為p(4),p(5)和p(6)。支持向量機的輸入模式包括選定區(qū)域中已知6個相鄰像素的灰度值,即p(i),i=1,2,...,6。輸入模式包括選定區(qū)域的相鄰已知像素的灰度平均值,灰度均值通過下式計算
v‾=16Σi=16p(i)---(1)]]>輸入模式包括選定區(qū)域的相鄰已知像素的灰度值之差,通過下式計算v1=p(1)-p(3)v2=p(4)-p(6)v3=p(1)-p(4)v4=p(2)-p(5)(2)v5=p(3)-p(6)v6=p(1)-p(6)v7=p(3)-p(4)這樣支持向量機的輸入模式為14維。輸出模式為選定區(qū)域里中心像素的灰度值。在經(jīng)過原圖像中逐個像素的訓練之后,完成訓練的支持向量機可以用于估計待插值像素的未知灰度值。
第三步,使用完成訓練的支持向量機對每個待估計的像素進行插值計算。選定區(qū)域使用第一步中的區(qū)域,中心像素為待插值像素。計算中支持向量機的輸入模式和第二步中支持向量機訓練中的輸入模式計算方法相同。支持向量機的輸出為待插值像素的灰度值估計結(jié)果,即插值結(jié)果。
本發(fā)明在支持向量機訓練和估計的輸入模式中增加了反映圖像局部空間信息的相鄰已知像素的灰度平均值、灰度差值信息,使得插值結(jié)果獲得明顯提高。本發(fā)明有廣泛的應(yīng)用前景,尤其適用于圖像高精度放大應(yīng)用。
圖1為本發(fā)明確定待插值像素周圍最鄰近6個已知像素區(qū)域圖其中,圖1(a)為對圖像進行2倍行擴展放大的選擇區(qū)域,圖1(b)為對圖像進行3倍列擴展放大的選擇區(qū)域圖2為不同插值方法應(yīng)用于Cameraman圖像的行列同時2倍放大插值結(jié)果比較其中,圖2(a)為標準圖像,圖2(b)為線性插值結(jié)果圖像,圖2(c)為三次插值結(jié)果圖像,圖2(d)為曲面擬合插值結(jié)果圖像,圖2(e)為線性插值殘差圖像,圖2(f)為三次插值殘差圖像,圖2(g)為曲面擬合插值殘差圖像,圖2(h)為相鄰像素插值結(jié)果圖像,圖2(i)為神經(jīng)網(wǎng)絡(luò)插值結(jié)果圖像,圖2(j)為本發(fā)明插值結(jié)果圖像,圖2(k)為相鄰像素插值殘差圖像,圖2(l)為神經(jīng)網(wǎng)絡(luò)插值殘差圖像,圖2(m)為本發(fā)明插值殘差圖像。
具體實施例方式
為了更好地了解本發(fā)明的技術(shù)方案,以下結(jié)合附圖對本發(fā)明的實施方式作進一步描述。
第一步,確定待插值像素的周圍最鄰近6個已知像素區(qū)域。在圖1(a)和圖1(b)中分別給出了對于行進行2倍擴展和對列進行3倍擴展的區(qū)域選擇方法。圖中方格代表像素,白色方格表示未知像素,即需要進行插值計算的像素,帶又號的白色方格為進行支持向量機學習或者估計的中心像素。圖中灰色方格表示已知像素,黑色方格表示最鄰近中心像素的已知像素。對于更一般的行和列同時擴展的情況,可以通過對原圖像先實施行擴展,再實施列擴展的方法進行。
第二步,進行支持向量機訓練。先根據(jù)要插入像素的情況確定支持向量機的個數(shù)。對于圖1(a)中的行2倍擴展,兩已知行間需要插入1行像素,每次計算1個待插值像素,使用1個支持向量機進行學習和估計。對于圖1(b)列3倍擴展中,兩已知列間需要插入2列像素,每次計算2個待插值像素,使用2個支持向量機進行學習和估計。確定支持向量機數(shù)量后,對每個支持向量機獨立進行訓練。
在支持向量機訓練中,原圖像中的每個像素都是支持向量機的輸入樣本,分別按照圖1(a)和圖1(b)中的區(qū)域進行訓練。如圖1(a)和圖1(b)中所示,6個已知像素的灰度值依次記為p(1),p(2),p(3),p(4),p(5)和p(6)。支持向量機的輸入模式包括p(i),i=1,2,...,6,和按照式(1)和式(2)計算得到的局部空間信息。這樣支持向量機的輸入模式為14維。輸出模式為選定區(qū)域里中心像素的灰度值。在經(jīng)過原圖像中逐個像素的訓練之后,完成訓練的支持向量機可以用于估計待插值像素的未知灰度值。
第三步,使用完成訓練的支持向量機對每個待估計的像素進行插值計算。選定區(qū)域使用第一步中的區(qū)域,中心像素為待插值像素。計算中支持向量機的輸入模式和第二步中支持向量機訓練中的輸入模式計算方法相同。支持向量機的輸出為待插值像素的灰度值估計結(jié)果,即插值結(jié)果。
按照以上步驟在Matlab 6.5中進行仿真計算,支持向量機采用LIBSVM函數(shù)庫[7]實現(xiàn)。實驗中圖像采用在其他文獻中廣泛使用的標準測試圖像Lena,Cameraman等。對測試圖像先進行不同倍數(shù)的行縮小、列縮小或者行列縮小。然后這些縮小的圖像應(yīng)用不同的插值方法進行不同倍數(shù)的行擴展、列擴展和行列同時擴展得到結(jié)果圖像。結(jié)果圖像和原始圖像進行比較,計算出規(guī)格化均方差(NMSE)和峰值信噪比(PSNR)指標。實驗中測試的插值包括線性插值、三次插值、神經(jīng)網(wǎng)絡(luò)插值、曲面擬合插值、相鄰像素插值和本發(fā)明的插值。支持向量機采用ε-支持向量回歸機,使用徑向基函數(shù)核。對于Cameraman和Lena圖像分別進行4倍行擴展和3倍列擴展,以及同時實施行和列的兩倍擴展的插值結(jié)果數(shù)據(jù)列于表1。可以明顯看出本發(fā)明的插值算法得到最小的NMSE值和最大的PSNR值。這表明本發(fā)明的插值算法獲得了最好的結(jié)果圖像。不同算法對Cameraman圖像行列同時2倍放大插值的結(jié)果圖像和殘差圖像見圖2,從圖中也可以看出,本發(fā)明的算法得到了最好的結(jié)果圖像,有最小的插值誤差。
綜上所述,對于各種整數(shù)倍的圖像放大插值,本發(fā)明的算法都能夠得到更加精確的結(jié)果圖像,更佳的圖像性能。
表1 不同插值算法結(jié)果比較
參考文獻[1]鄧乃揚,田英杰.數(shù)據(jù)挖掘中的新方法支持向量機.北京科學出版社,2004. Cristianini N,Shawe-Taylor J.Introduction to Support Vector Machines.CambridgeUniversity Press,2000. Russ J.“The Image Processing Handbook”.CRC Press,2002. Plaziac N.“Image Interpolation Using Neural Networks”.In IEEE Transactions on ImageProcessing,vol.8,no.11,pages 1647-1651,1999. 鄭勝,田金文,柳健.基于向量機的圖像插值算法研究.中國圖象圖形學報,vol.10,no.3,pages.338-343,2005. 王玨,季梁.基于支持向量機的圖像插值及錯誤隱匿策略.中國圖象圖形學報,vol.7(A),no.6,pages 558-564,2002. Chang C.-C,Lin C.-J.LIBSVMa library for support vector machines.2001.Software available athttp://www.csie.ntu.edu.tw/~cjlin/libsvm.
權(quán)利要求
1.一種基于支持向量機的圖像插值算法,其特征在于,首先確定待插值像素的周圍最鄰近6個已知像素區(qū)域;然后進行支持向量機訓練,根據(jù)要插入像素的情況確定支持向量機的個數(shù),對每個支持向量機分別訓練,訓練中原圖像中的每個像素都是支持向量機的輸入樣本,輸入模式包括選定區(qū)域中相鄰6個已知像素的灰度值,以及相鄰6個已知像素的灰度平均值、灰度差;最后使用完成訓練的支持向量機對每個待估計的像素進行插值計算,計算中的支持向量機輸入模式和訓練的輸入模式相同,支持向量機的輸出就是插值結(jié)果。
全文摘要
一種基于支持向量機的圖像插值算法,屬于圖像處理技術(shù)領(lǐng)域。本發(fā)明首先確定待插值像素的周圍最鄰近6個已知像素區(qū)域;然后進行支持向量機訓練,根據(jù)要插入像素的情況確定支持向量機的個數(shù),對每個支持向量機分別訓練,訓練中原圖像中的每個像素都是支持向量機的輸入樣本,輸入模式包括選定區(qū)域中相鄰6個已知像素的灰度值,以及相鄰6個已知像素的灰度平均值、灰度差等局部空間特性;最后使用完成訓練的支持向量機對每個待估計的像素進行插值計算,計算中的支持向量機輸入模式和訓練的輸入模式相同,支持向量機的輸出就是插值結(jié)果。本發(fā)明顯著提高了插值結(jié)果圖像的準確性,適用于圖像的整數(shù)倍放大,有著廣泛的應(yīng)用前景。
文檔編號G06T3/40GK101059867SQ200610156538
公開日2007年10月24日 申請日期2006年12月20日 優(yōu)先權(quán)日2006年12月20日
發(fā)明者沈毅, 馬立勇, 馬家辰 申請人:哈爾濱工業(yè)大學(威海)