許 麗,宋 瀅
(浙江理工大學信息學院,杭州 310018)
在計算機視覺的許多應用中,如邊緣檢測[1]、目標或者場景的識別[2,3]、特征匹配[4],基于圖像的多視角幾何三維重建[5],處理的物體或者場景的圖像都是基于理想的朗伯表面假設,當用這些算法處理非朗伯表面時效果往往并不理想,由于拍攝的物體或場景的圖像含有高光區(qū)域,這時會出現(xiàn)無法檢測識別場景和物體,特征點少,以及重建出的幾何不完整的現(xiàn)象.雙色反射模型[6]提出,圖像是鏡面反射分量和漫反射分量的線性組合.漫反射和鏡面反射是由光和物體表面之間不同的物理相互作用形成的.在非均勻光照條件下,物體表面會出現(xiàn)高光現(xiàn)象,這是物體表面強反射造成的.為了提高這些算法在計算機視覺領域的精確性,去除單張圖像中的高光部分很有必要.
Tan 等人[7]提出近似于僅含漫反射的無高光圖像,迭代地將高光位置的色度替換為相鄰像素的最大漫反射色度,直到算法收斂.利用漫反射分量與鏡面反射分量的差別達到去除鏡面反射分量的目的,但是這種方法非常耗時.Shen 等人[8]使用改進的SF 圖像MSF 圖像(Modified Specular-Free image,MSF),MSF 圖像色度的計算比Tan 等人[7]的SF 圖像計算出的色度更具魯棒性,然后利用最小二乘法分離鏡面反射分量和漫反射分量去除圖像中的高光.Shen 和Cai[9]根據(jù)鏡面區(qū)域與漫反射區(qū)域邊界平滑過渡的準則對鏡面反射分量進行調(diào)整,此方法沒有進行耗時的迭代處理,使計算更簡單,但是效果一般.Shen 等人[10]在最小最大色度空間對像素點進行聚類,將每個類的像素點的最大強度值與最大強度值和最小強度值差值之比升序排列,取序列中值作為該類所有像素點的統(tǒng)一的強度比值,用于分離鏡面反射分量.Souza 等人[11]發(fā)現(xiàn)相關像素點在最小最大色度空間中的分布呈三角形,故選出固定的3 個種子點將相關像素點聚類為3 類,估計出每個類的統(tǒng)一的強度比,去除圖像中的鏡面分量.以上方法都不同程度的存在圖像顏色失真和紋理丟失的問題.Li 等人[12]利用黑色素和血紅蛋白的模型表示面部皮膚的漫反射顏色變化,并用這個物理模型約束高光去除的解決方案,這就不需要攝像機顏色校準,可以對在多種光照環(huán)境中的人臉圖像進行高光去除,但這種方法需要人體皮膚和面部的物理和統(tǒng)計的先驗知識并且只局限在臉部高光的去除.Yang 等人[13]利用多視角圖像序列去除鏡面反射分量,但通常沒有場景或物體的多幅多視角圖像.Ren 等人[14]將RGB 顏色空間轉換到球形坐標系下,通過聚類像素點去除高光.Yang 等人[15]將最大漫反射色度估計值作為低通濾波器的值域,處理后的最大漫反射色度用于鏡面反射分量去除.Wang 等人[16]利用強度比去除高光分量的方法產(chǎn)生高光區(qū)域的圖像掩碼,隨后進行圖像修復工作,但這只針對海洋表面圖像的解決方法.
本文針對高光圖像顏色失真或者紋理缺失的現(xiàn)象對像素聚類算法做了相關的改進,像素聚類的方法使用不需要用戶指定分類數(shù)的聚類方法x-means,自動確定像素點的分類數(shù).實驗結果表明,該方法能夠有效的去除圖像高光和改善圖像顏色失真的現(xiàn)狀.
大多數(shù)非均勻材質的物體,如塑料制品、丙烯酸樹脂制品等,都同時表現(xiàn)出漫反射和鏡面反射.漫反射是由于物體表面和物體內(nèi)部折射率的變化引起的,而鏡面反射主要是由于物體表面和空氣折射率的不同引起的.根據(jù)雙色反射模型[6],假設光照顏色是均勻的,數(shù)碼彩色相機拍攝的非均勻物體圖像的像素x 位置處的RGB 顏色向量 I (x)可以表示成式(1):
Shen 等人[10]定義色度(Chromaticity)表示像素點顏色的歸一化,色度定義為式(2):
本文去高光過程如圖1 所示.首先計算MSF 圖像(b),根據(jù)MSF 圖像計算所有像素點的最小漫反射度(c),最大漫反射(d).在最大最小色度空間對高光區(qū)域相關像素點進行x-means 分類(e),根據(jù)分類結果估計強度比分離漫反射分量(f)和鏡面反射分量(g).
對于同種顏色的非均勻材質的表面,可分為僅含有漫反射分量的像素和同時有漫反射分量和鏡面反射分量的像素,Shen 等人[10]在此基礎上,提出了強度比的概念,即利用漫反射像素點的最大強度值與強度范圍值(最大強度值減去最小強度值)之比,對于顏色非均勻的表面根據(jù)強度比值在最小最大色度空間中對像素進行聚類,用來去除圖像中的高光.
圖1 高光去除過程
文獻[10]將強度比Iratio(x)的定義為式(4):
通過上述式(4)可知,漫反射像素點強度比的計算僅和漫反射色度值有關,并且高光區(qū)域像素點強度比值大于只含有漫反射的像素點.由于高光附近區(qū)域的漫反射像素點依然受到高光的影響,因此這些漫反射像素點的強度比值難以估計.
Shen 等人[8]提出用MSF 圖像計算漫反射色度.輸入的圖像減去 Imin加上 Imin的均值得到MSF 圖像Isf(x)=md(x)(Λ(x)?Λmin(x))+.通過 Isf圖像可以計算像素點的漫反射色度其中 c ∈{r,g,b}.漫反射點的強度比僅依賴于最小漫反射色度和最大漫反射色度高光去除針對的是高光區(qū)域以及與之相關的區(qū)域,與高光無關的像素不應參與后續(xù)計算.當 Imin(x)>時認為該像素點與高光區(qū)域有關,否則認為不含有高光分量,在后續(xù)計算中應被丟棄.
文獻[10]計算未分類的像素點與所有類中心點的色度距離,但是需要設置閾值控制像素點的分類,這導致分類結果依賴于閾值.文獻[11]選取初始的3 個種子點,將相關像素點轉換到最小最大漫反射色度空間,迭代兩次K-means 算法[17]將每張圖像高光相關像素點分為3 類,估計出每類穩(wěn)健的強度比,用于去除高光.然而這種方法有一定的局限性,兩次K-means 算法迭代不一定達到收斂的狀態(tài)或者收斂到局部最優(yōu)解.
本文提出使用x-means 聚類算法[18]進行相關像素的分類,該算法使用kd-tree 算法(k-dimensional tree)[19]對K-means 算法的每一輪迭代進行了加速,根據(jù)貝葉斯信息準則分數(shù)(Bayesian Information Criterion score,BIC)確定一個最優(yōu)分類數(shù)K,無需用戶指定.每一輪迭代對每一類只進行了2-means 分類,2-means 分類對局部最優(yōu)解不敏感,所以能夠達到更好的分類效果,分類效果如圖1(e)所示.
本文在最小最大漫反射色度空間用二范數(shù)定義兩個像素點的距離為式(5):
文獻[10]提出鏡面反射分量S (x)為式(6):
這時 Imax(x)=Iratio(x)?Irange(x)會導致S (x)為零.故使用x-means 對像素進行分類后,將每類像素點的強度比升序排列,取中值作為每類穩(wěn)健的強度比估計值,將每個類的像素點強度比設為該值,可以解決S(x)為零的問題,從而分離鏡面反射分量如圖1(g)所示,得到的無高光圖如圖1(f)所示.
x-means 算法如算法1.
算法1.x-means 聚類算法1)隨機選取一個聚類中心點c(x,y).xi dΛ(xi,c)2)計算所有像素點 與中心點的漫反射色度距離 進行初始分類.3)得到初始分類結果后,再依次找每一類的兩個相對離得較遠的點作為初始中心點,然后對當前類運行一次K-means (K=2)算法.4)計算每個類分裂前與分裂后的BIC 分數(shù),BIC 值越大越好,以此決定保留分裂前的狀態(tài)還是分裂后的狀態(tài).5)回到2)進行迭代,如果前后兩次迭代中心點的數(shù)量一樣,則結束整個分類過程.
文獻[10,11]都是基于強度比去除鏡面反射分量,為了驗證本文方法的有效性,在Shen 和Zheng[10]的數(shù)據(jù)集上,將本文實驗結果與這兩篇文獻做比較.本文實驗平臺為Intel(R)Core(TM)i5-4590 CPU @ 3.30 GHz 12 GB RAM,使用OpenCV 2.3.1 庫[20]進行測試.
本文測量標準高光去除數(shù)據(jù)集[10]中50 幅圖片的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR).表1為本文方法與文獻[10,11]方法的PSNR 值比較,PSNR值越大說明結果圖像越接近原圖像.結果顯示,本文的方法在3 幅圖像上的PSNR 值與文獻[10,11]比均有所提高.圖2 為本文方法與文獻[10,11]可視化結果的比較,可見本文在視覺效果上也有明顯改善.Shen 和Zheng等人[10],Souza 等人[11]在處理圖像時會有明顯的顏色不一致現(xiàn)象,如animals 圖2(c)、圖2(d)框選處,本文與[10,11]相比在框選處皆有明顯的改善,最大程度的保留了圖像紋理和顏色.
表1 不同方法的PSNR 值
表1 中對比了3 個算法的峰值信噪比.對于animals圖本文方法比Shen 等人[10]的峰值信噪比提高了0.99,比Souza 等人[11]峰值信噪比提高了0.67,峰值信噪比越高表明圖像越接近真實圖像.對于cups 圖,本文方法比Shen 等人[10]的峰值信噪比提高了0.52,比Souza等人[11]峰值信噪比提高了0.91.對于mask圖,本文方法比Shen 等人[10]的峰值信噪比提高了1.44,比Souza等人[11]峰值信噪比提高了0.79.
本文對使用強度比分離鏡面反射分量和漫反射分量去除高光進行了理論分析和實驗數(shù)據(jù)分析.針對像素點在色度空間的聚類數(shù)不穩(wěn)定提出使用x-means 聚類算法自動確定聚類數(shù),實驗結果表明,本文方法保護圖像紋理信息和顏色信息方面均高于傳統(tǒng)方法.
本文方法存在一定的局限性,不能處理大面積高光區(qū)域,高光區(qū)域過強接近白色時處理效果不理想,因此在高光去除領域仍然需要發(fā)展更大的高光去除數(shù)據(jù)集,這同時有利于深度學習策略提供高質量的高光去除.因此,未來研究方向是如何去除大面積高光.
圖2 不同算法處理結果