CDD圖像修復模型及matlab程序實現

前言

      CDD(Curvature Driven Diffusions)模型是Chan和Shen在TV(Total Variation)模型的基礎上引進了曲率驅動而形成的,解決了TV模型不能修復圖像視覺連通性的問題要想了解CDD模型,需要先了解TV模型的原理。

TV模型簡介

     TV模型最先是由Rudin等人在1992年提出來的,當時是應用於圖像的噪聲去除處理。Chan等人於2002年首次將該算法引入到圖像修復領域,形成了TV 模型圖像修復算法。TV 模型涉及數學中的變分法跟泛函的知識,它是依據原始圖像的先驗知識和不完整的圖像數據,建立能量泛函,求解該能量泛函所得到的極值就是修復後的圖像。


圖1

如圖1所示, D 爲圖像破損區域,ED的邊緣已知部分,設Ω=DE則可定義 上的一個能量函數爲:


式中,u(x,y)爲圖像函數u(x,y)的梯度,r爲一非負的實函數。在該函數的基礎上,考慮圖像受到噪聲的影響,得到約束式,再通過Lagrange乘子法將問題轉化爲無約束條件的極值問題,最終得到TV模型的Euler-Lagrange方程(此推導過程不作詳解,詳細過程可參照網上對於TV模型的介紹)


由於Euler-Lagrange方程是非線性偏微分方程,實際求解時常用近似的數字差分方程代替。採用半點格式進行離散化,採點步長h=1如圖2),最終得到原圖像uo的迭代求解公式,n代表次數:



CDD模型及數值實現

                                        

圖2

       TV修復模型的擴散強度1/u僅依賴於等照度線的梯度值,而不依賴於等照度線的幾何信息,總是傾向於用最短的直線來連接斷裂的線性結構物體。TV模型不能滿足視覺連通性原則。而CDD模型利用曲率來控制擴散強度,當圖像修復過程到達(c)狀態時,增大擴散強度,從而使圖像信息進一步擴散,達到滿足連通性效果。

曲率

         

CDD模型的擴散強度

                                   

得到CDD模型方程:

                             

以圖2中,CDD模型的數值求解同樣是採用半點格式,e點爲例

                                      

                          

同理,可以求得其他點的曲率。

實驗結果

1.TV模型實驗結果:

                                           

2.CDD模型實驗結果:

      

                          破損圖像                                                                TV修復效果                                                          CDD修復效果 

算法程序:

       由於目前網上能下載的CDD模型的matlab程序中的曲率k求解公式大多是錯的,且達不到修復連通性的效果。而本文程序是根據原理編寫,能真正達到修復連通性的效果,程序已上傳,下載請到

http://download.csdn.net/detail/cs_o_1/9665751(選中,右鍵打開,如打不開鏈接,請複製粘貼訪問)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章