趙文煜,滕奇志,何海波,龔 劍
(1四川大學 電子信息學院,成都 610065;2成都西圖科技有限公司,成都 610065)
微觀驅替實驗是石油地質研究人員在實驗室進行的模擬實驗,目的是研究油層結構提高采收率。實驗人員仿照真實巖石薄片圖像制作成玻璃刻蝕仿真模型,首先在仿真模型注入深色的石油至飽和,再利用水、化學劑等介質作為驅替劑進行驅替實驗。驅替過程的圖像通過顯微鏡連接高速工業相機采集記錄下來寫入磁盤,后期通過分析序列圖像評價驅替劑效果。微觀驅替圖像采集過程中,不同研究者使用的透射光源、顯微鏡、工業相機等硬件條件存在差異性,圖像會呈現照度不均現象,造成圖像分割效果不佳,對后續的目標提取、參數計算等工作造成困難。因此,采用光源校正算法能提高微觀動態驅替圖像質量,對后續的石油地質研究人員客觀準確地評價驅替劑效果具有重要意義。
Retinex理論的主要思想是人眼感知系統的顏色恒常性,即人眼中物體的顏色不會隨著照明中紅光、綠光和藍光的相對數量的變化而發生顯著變化。1985年,Land等人基于視網膜和大腦皮層的特性提出了Retinex理論。此后,發展出多種基于隨機路徑、泊松方程等的Retinex算法。Jobson等人提出了基于中心環繞函數的單尺度Retinex算法(SSR),并發現使用高斯濾波作為環繞函數處理效果較好,但是SSR算法存在明顯的霧化現象,圖像丟失了部分細節;研究者又通過拉普拉斯算法衍生到多尺度Retinex算法(MSR)。SSR和MSR算法處理后的圖像會產生色偏和局部色彩失真,從而影響整體的視覺效果。Retinex理論研究者引入色彩恢復因子至色彩恢復多尺度Retinex算法(MSRCR),解決了傳統Retinex算法色偏和失色的問題。實驗證明,MSRCR能明顯改進MSR的色偏問題并擴展圖像動態范圍,增強暗、亮區域的圖像細節,但是MSRCR會產生局部區域過亮的問題。
傳統Retinex算法主要使用高斯濾波估計照度分量,因高斯濾波是各向同性濾波,結果會產生光暈效應,導致對比度下降。針對此問題,研究者采用具有各向異性的保邊濾波器估計照度分量。Liang等人采用雙邊濾波替換高斯濾波,對降低光暈效應有不錯的效果,但是雙邊濾波具有較高的時間復雜度,造成算法運行時間過長。肖創柏、許鳳麟等人使用引導濾波估計照度以降低光暈效應,其計算有效且高效,但是引導濾波的時間復雜度仍有改進空間。Zotin、馮瑞利等人將圖像從RGB顏色空間轉換至其他顏色空間,只均衡亮度分量獲得了不錯的效果,但是轉換彩色空間對于尺寸較大的微觀驅替實驗圖像會產生額外的運行時間。
本文采用快速引導濾波算法對圖像進行照度估計,后使用多尺度Retinex算法對圖像照度分量和反射分量計算得出結果。本文算法通過采用快速引導濾波方法克服了高斯濾波光暈現象,保留了邊緣信息,較雙邊濾波等算法的時間復雜度低,解決了原圖由于光照不均導致后期二值化不準確的問題。
受研究者實驗室透射光源、顯微鏡等硬件條件影響,以及部分高溫高壓條件下的微觀驅替實驗對光源造成的限制,采集到的圖像存在照度不均勻的現象,進而導致使用傳統閾值分割算法時分割效果較差,也就無法得到驅替實驗相關數據。本文采用實際微觀驅替實驗中光照不均的序列圖像為樣本進行分析。微觀驅替圖像使用工業相機采集,均為24位RGB圖像,其中淺色的部分是顆粒,深色的部分是顆粒縫隙中注入的石油。圖1為均勻照度和光照不均的微觀驅替圖像和其Otsu算法分割圖對比。

圖1 微觀驅替實驗圖像和Otsu算法分割圖Fig.1 Images of micro-displacement experiment and segmentation diagram of Otsu algorithm
分別對2類光照條件下的微觀驅替圖像進行分析:
(1)均勻照度條件下,深色的石油部分清晰,淺色的顆粒亮度一致,能夠把石油部分完整地分割出來。
(2)不均勻照度條件下,圖像中心區域照度過高,四周區域較暗,中心顆粒亮度和四周顆粒亮度不一致,分割結果出現較多的過分割現象。
因此,本文的研究內容是針對照度不均勻的微觀驅替圖像的光源校正算法,為其后續使用傳統閾值分割算法提供基礎。
針對微觀驅替序列圖像存在照度不均勻的問題,本文提出一種改進的基于Retinex理論的照度不均校正算法。本文首先使用快速引導濾波算法估計原始圖像的照度分量,去除傳統高斯濾波算法下的光暈效應;計算反射分量圖像獲得光照均衡的圖像,克服圖像分割目標和背景粘連的問題。算法流程如圖2所示。

圖2 本文算法流程圖Fig.2 The algorithm flow chart of this paper
Retinex算法理論如圖3所示。該理論認為,原始圖像(,)是由照度分量(,)和反射分量(,)組成,用公式表示如下:


圖3 Retinex算法理論圖Fig.3 Retinex algorithm theory diagram
觀察者看到的原始圖像(,),實際是反映物體原本性質的反射分量(,)和光照的照度分量(,)的卷積。使用Retinex算法進行光照均衡的核心步驟就是從原始圖像(,)中,估算出照射分量(,),分解出反射圖像(,),去除光照不均勻對圖像的影響,只保留反射分量,達到改善圖像視覺效果的目的。1997年,Jobson等人提出了單尺度Retinex算法(SSR),具體公式表示如下:

其中,表示顏色通道;(,)為原始圖像;(,)為反射分量圖像;(,)為照度圖像分量。照度分量(,)依據式(3)由原始圖像(,)卷積環繞函數(,)估計得到,“*”表示卷積運算。(,)的形式如下:

其中,表示歸一化因子,是環繞尺度。SSR算法是將原圖像(,)轉換到對數域代入公式(2)求出反射分量,此后將求出的反射分量轉換回實數域完成光照均衡,SSR運算速度較早期的Retinex算法有顯著的提高,物理意義更加地明確。
單尺度Retinex算法的處理結果存在如下2個問題:
(1)SSR算法增強后的圖像有明顯的光暈現象,圖像邊緣信息損失嚴重。
(2)圖像出現色偏現象,即部分像素點的色彩出現明顯偏差。
因此,本文采用多尺度Retinex算法(MSR)對微觀驅替圖像進行光照均衡。
多尺度Retinex算法是單尺度Retinex算法的改進,將原始圖像分為低、中、高三個尺度處理,很大程度上改進了SSR算法色偏和動態范圍壓縮的問題。MSR公式表示如下:

其中,(,)是環繞函數;w是相關環繞函數的權重;通常為圖像、、三個顏色通道。
實際應用中,可以根據情況選擇參數環繞尺度(通常分高、中、低三個尺度取值)和的取值。本文針對微觀驅替光照不均圖像選取參數3,尺度取值為50,120,200,13。本文將原始圖像(,)三個通道轉至對數域由式(5)分別計算出反射分量,再將反射分量使用式(6)轉化至實數域,得到微觀驅替圖像光照均衡后的結果。
針對微觀驅替圖像光照不均的現象,Retinex算法的關鍵步驟是選取一定的算法估計照度分量圖像。傳統Retinex算法選擇高斯模糊函數作為環繞函數,但是高斯濾波函數是各向同性濾波器,僅根據像素點的歐式距離賦予當前像素的照度,其核函數相對于待處理的圖像是獨立無關的,正是Retinex算法產生光暈效應的原因。運算時間復雜度方面分析,高斯濾波的時間復雜度為(),這里的、為圖像尺寸大小,是濾波器窗口大小,對于5 120×5 120等尺寸偏大的微觀驅替圖像,照度估計整體序列圖像時計算時間過長。因此,本文提出使用快速引導濾波作為Retinex算法的照度估計算法,避免微觀驅替圖像在照度估計時產生光暈效應和運行時間過長問題。
引導濾波在邊緣感知、細節增強等應用表現出色,是最快的保邊濾波器。引導濾波的原理是建立引導圖像與輸出圖像的線性模型,即設q是中以像素為中心的窗口ω的線性輸出,公式表示如下:

其中,是像素點索引;(,b)是窗口ω的線性系數;ω通常取半徑為的正方形窗口。對式(7)兩邊取梯度得到??,表明引導圖存在邊緣時,輸出結果則存在邊緣。
假設輸出圖像是輸入圖像濾波前的結果,根據線性嶺回歸求出式(7)中的參數,即:




本文實驗的計算機配置為IntelI5-6500@3.5 GHz處理器,內存16 GB,Win10操作系統,算法使用VS2010 C++編寫。為驗證本文算法,選取8組來自各地微觀驅替實驗室存在光照不均的微觀驅替實驗序列圖像共400余張作為實驗數據庫。
所有微觀驅替圖像按組使用本文算法與MSR算法、MSRCR算法、基于雙邊濾波的Retinex算法進行處理并對比分析。本文算法實驗參數設置:MSR算法的高斯核取值為40,權值都為1/3;MSRCR算法的高斯核取值為40,權值都為1/3,色彩恢復參數20,1;雙邊濾波算法濾波器參數100,40;快速引導濾波算法為20,80,比率32。
微觀驅替圖像分析的主要關注點在于深色的石油部分的顯示和分割提取,本文選擇3組具有代表性的微觀驅替實驗序列圖像的Retinex算法增強圖和其使用Otsu算法分割圖像進行展示。研究中按照基于高斯濾波的MSR算法、MSRCR算法、基于雙邊濾波的Retinex算法和本文算法的順序進行比較分析。圖4、圖5、圖6是3組實驗結果,每組中圖像(a)為原圖,(b)是使用高斯濾波的MSR算法結果圖,(c)是使用MSRCR算法的結果圖,(d)是使用基于雙邊濾波的Retinex算法的結果圖,(e)是使用快速引導濾波的本文算法結果圖;圖像(a1)、(b1)、(c1)、(d1)、(e1)分別是是圖像(a)、(b)、(c)、(d)、(e)的經過Otsu算法的分割結果。

圖4 處理圖像第一組Fig.4 The first group of processed images

圖5 處理圖像第二組Fig.5 The second group of processed images

圖6 處理圖像第三組Fig.6 The thrid group of processed images
3組圖像中,原圖(a)均存在中心照度過高,四周偏暗的情況。由圖(a)分割得到的圖(a1)四周出現深色的石油和顆粒粘連在一起的情況,這樣的分割結果會導致統計石油面積出現誤差且無法客觀評價驅替效果。3組圖像中的(b)是(a)經過基于高斯濾波的MSR算法結果,改善了圖像中心照度過高的情況,但處理結果出現明顯的光暈效應,造成邊緣清晰度損失嚴重和低對比度,導致視覺效果不佳。圖(c)是MSRCR算法結果,光照不均的現象得到明顯改善,但存在局部區域過亮的問題。圖(d)是基于雙邊濾波的Retinex算法結果,光照均衡效果理想,邊緣保留較好。圖(e)是本文算法的運行結果,有效改善圖像局部照度過亮的問題,提升了四周較暗的區域亮度,并且明顯沒有產生光暈效應,目標邊緣清晰。
圖像(a1)、(b1)、(c1)、(d1)、(e1)是Otsu算法分割的結果,第一組圖像(a1)四周、第二組圖像(a1)右側、和第三組圖像(a1)右上角均出現明顯粘連現象。(b1)是基于高斯濾波的MSR分割結果,3組結果中分割粘連的現象均得到較好的改善,深色石油部分分割基本完整,但是局部仍存在少量欠分割現象。(c1)是MSRCR算法的分割結果相比MSR較好,但仍存在少量的欠分割現象。(d1)是雙邊濾波算法的分割結果達到要求,無明顯誤分割現象。(e1)為本文算法光照均衡后Otsu分割后的結果圖,分割的完整度和準確度良好,無明顯欠分割和過分割的現象。圖7是圖4和圖5實驗圖像的局部放大圖,MSR和MSRCR第一行左上角和第二行右下角存在明顯欠分割現象,基于雙邊濾波的算法和本文算法結果分割結果表現較好,無明顯的誤分割現象。

圖7 分割結果局部放大圖Fig.7 A partial enlarged view of the segmentation results
實驗結果表明,本文算法能有效改善微觀驅替圖像光照不均的現象,處理后的圖像光照均衡,對比度較好,邊緣保留清晰,未產生光暈現象,無明顯的局部區域過亮的情況;另外,均衡后的圖像使用Otsu分割算法的結果準確性高,無明顯的過分割和欠分割區域,對下一步準確分析微觀驅替實驗參數奠定了基礎。
為了進一步驗證本文算法的有效性,選擇如上3組光照不均的微觀驅替實驗序列圖像,每組隨機抽取任意時刻的圖像各20張進行客觀指標計算。本文從客觀評價角度出發,引入圖像標準差、平均梯度、運行時間為指標進行對比。
標準差衡量圖像的對比度,標準差越大,說明圖像的對比度越好,公式表示為;

平均梯度反映了圖像的清晰度和紋理變化,其數值越大說明圖像越清晰,公式表示為:

針對微觀驅替序列圖像的光照均衡,算法的運行時間也是考慮的重要因素之一。第一組實驗圖像大小為5 120×5 120;第二組實驗圖像大小為2 048×1 536;第三組實驗圖像大小為1 624×1 236。
算法客觀指標對比見表1。表1中3組圖像評價結果顯示,本文算法的標準差較基于高斯濾波的MSR算法高46.5%、3.10、2.56,較MSRCR高5.7%、7.6%、6.1%,較基于雙邊濾波的Retinex算法高23.9%、20.5%、11.6%;平均梯度方面,本文算法較MSR高25.7%、2.52、2.11,較MSRCR高30.8%、20.5%、35.1%,略低于基于雙邊濾波的Retinex算法的數值,說明本文算法對邊緣保護有明顯作用。本文算法運行時間較雙邊濾波減少95.7%、97.2%、97.3%,較MSRCR算法減少17.9%、20.6%、23.7%,運行時間優勢明顯。綜合以上指標,進一步證明了本文算法對于微觀驅替實驗圖片光照均衡的優越性。

表1 算法客觀指標對比Tab.1 Comparison of objective indicators of the algorithms
本文提出一種改進的Retinex的光照均衡算法,有效解決微觀驅替實驗圖像中光照不均的問題。本文在MSR增強算法的基礎上,提出了一種基于快速引導濾波的多尺度Retinex圖像增強算法。本文算法對微觀驅替實驗實際中采集的光照不均的序列圖像進行處理,并與MSR、MSRCR和基于雙邊濾波的Retinex算法進行比較。綜合客觀實驗數據表明,本文算法在標準差、平均梯度綜合方面較其他3種算法優勢明顯,且運算時間較基于雙邊濾波的Retinex算法提高92%以上。視覺角度上,本文算法克服了傳統Retinex算法存在的光暈效應和局部區域過亮的問題,且運行時間方面優勢明顯,其結果使用傳統閾值分割算法能夠較準確地分割出圖像中的石油部分,分割效果相較于MSR、MSRCR優勢明顯且接近基于雙邊濾波的Retinex算法,為下一步準確計算采收率等參數提供了有效支撐。