關於Retinex影象增強演算法的一些新學習。

Imageshop發表於2014-06-26

  最近再次看了一下IPOL網站,有一篇最近發表的文章,名字就是Multiscale Retinex,感覺自己對這個已經基本瞭解了,但還是進去看了看,也有一些收穫,於是抽空把他們稍微整理了下,原始文章及其配套程式碼詳見:http://www.ipol.im/pub/art/2014/107/

      之前在我的 帶色彩恢復的多尺度視網膜增強演算法(MSRCR)的原理、實現及應用 一文中已經較為詳細的描述了Multiscale Retinex的基本原理和應用,這裡就不再做過多的說明。為表述方便,還是貼出其基本的計算原理:

    

  上式中,I為原始輸入影象,F是濾波函式,一般為高斯函式,N為尺度的數量,W為每個尺度的權重,一般都為1/N, R表示在對數域的影象的輸出。

  由於R是對數域的輸出,要轉換為數字影象,必須將他們量化為[0,255]的數字影象範疇,關於這個量化的演算法,有這極為重要的意義,他的好壞直接決定了最終輸出的影象的品質。

  目前,結合上述文章中提出的一些過程,有4種方式進行處理:

  第一種,也是最容易想到的就是,直接線性量化,即採用下式進行處理:

       

  這種方式,由於Retinex資料處理後的高動態特性,資料分佈很廣,會出現嚴重的兩極化現象,一般難以獲得滿意的結果。

  第二種,就是在經典的MSRCR文章《A Multiscale Retinex for Bridging the Gap Between Color Images and the Human Observation of Scenes》中提出的Canonical Gain/Offset 演算法。計算公式如下:

             

  其中G和b為經驗引數。

  第三種,實在上述文章中提到的Simplest Color Balance(我簡寫為SCR)方式,這種方式的處理類似於Photoshop中的自動色階,他把資料按照一定的百分比去除最小和最大的部分,然後中間的部分重新線性量化到0和255之間。

  第四種,就是GIMP的Retinex演算法,這個可詳見 帶色彩恢復的多尺度視網膜增強演算法(MSRCR)的原理、實現及應用 一文的描述。

  還有一種方式,就是大家知道HDR的過程吧,他也是將高動態的資料量化到影象的可視範圍,因此可以直接將這類演算法應用與這個問題上。我也做了實驗,效果似乎一般。

  在用第二種或第三種方式處理時,最好還需要有個Color Restoration的過程,因為如果直接對MSR處理的結果進行量化,得到的影象往往整體偏灰度,這是由於原始的彩色值經過log處理後的資料範圍就比較小了,這樣各通道之間的差異也很小,而之後的線性量化比log曲線要平滑很多,因此整體就喪失了彩色。

  論文中提出了修正方式如下:

          

          

          

 

   其中β=46,α=125為經驗引數,但是最終我的分析認為β不可能取這麼大,取1試驗表明效果還不錯。

   對於一些原始影象HUE較為合理的圖,如果用經典的MSRCR演算法,會導致處理後的圖容易偏色,上述論文提出了對影象的Intensity資料進行Retinex處理,然後再把資料根據原始的RGB的比例對映到每個通道,這樣就能在保留原始顏色分佈的基礎上增強影象,文章中稱其為MSRCP。

  這個演算法的編碼論文的附帶程式碼裡已經有了很好的例子了,其實真是很簡單的工作,需要的朋友自己去參考。

  我自己做了5種演算法的比較,分別是:

      MSRCRGIMP    -    Gimp內嵌的Retinex增強演算法

      MSRCRStandard  -    按照《A Multiscale Retinex ....  the Human Observation of Scenes》一文寫的演算法,其中G=30,B=-6,β=1,α=125

      MSRCRSCR      -          使用Color Restoration + Simplest Color Balance演算法量化得到的結果

        MSRCPSCR      -          使用Intensity資料 + Simplest Color Balance演算法量化得到的結果

      MSRHSV      -    對HSV空間的V分量進行(用的SCR量化)Retinex處理並返回RGB空間後的結果

  他們的效果比較如下:

  

        original                         MSRCRGIMP                                   MSRCRStandard

  

           MSRCRSCR                        MSRCPSCR                        MSRHSV

  

        original                           MSRCRGIMP                                MSRCRStandard

  

       MSRCRSCR                            MSRCPSCR                        MSRHSV

  

        original                           MSRCRGIMP                                MSRCRStandard

  

         MSRCRSCR                            MSRCPSCR                        MSRHSV  

  孰好孰壞給位自己去斟酌吧。

  演算法效果測試:http://files.cnblogs.com/Imageshop/Retinex%E7%BB%BC%E5%90%88.rar

  很久沒有寫部落格了,其實也沒有江郎才盡的感覺,就是呢沒有想寫的衝動。現在寫也無以前那麼認真了,感覺就是像計流水賬一樣。算了,記賬就記賬吧。

 

****************************作者: laviewpbt   時間: 2014.6.26    聯絡QQ:  1664462947  轉載請保留本行資訊********************

 

 

相關文章