王國琿,吳二星
(西安工業(yè)大學 光電工程學院, 西安 710021)
物體三維形貌重構一直是計算機視覺和光度學領域中的研究熱點[1],由明暗重構形貌(Shape from Shading,SFS)是實現(xiàn)物體三維形貌重構的主要手段之一[2],其目標是通過圖像的明暗變化計算物體表面各點的法向量,進而由法向量通過積分重構三維形貌[3]。SFS方法最初是由MIT的學者Horn[3]對月球表面進行三維形貌重構時提出的。傳統(tǒng)的SFS方法假定物體表面的反射特性服從朗伯定律,然而這個條件并不總是成立[4]。為此,許多學者開始專注于非朗伯表面的SFS三維形貌重構。Ahmed和Farag[5]研究了基于Ward反射模型的混合反射表面SFS偏微分輻照度方程,使用Lax-Friedrichs sweeping方法對建立的輻照度方程進行了逼近;作者通過對文獻[5]進一步研究,使用Oren-Nayar模型代替Ward反射模型中的漫反射部分,設計了基于fixed-point迭代sweeping策略用于求解上述模型建立的偏微分輻照度方程[6]。由于Ward反射模型的復雜性[5-6],Lax-Friedrichs數(shù)值逼近算法中很難找到一個最優(yōu)的人工黏性因子。近來,作者為了解決混合反射表面SFS偏微分輻照度方程高效求解的問題,提出了基于Schlick算法的SFS三維重構方法[7],由于Schlick算法[8]是對Blinn-Phong反射模型[9]的近似,重構結果誤差較大。
為此,本文提出了一種新穎的基于Newton法的SFS三維形貌重構方法。首先在攝像機遵循正交投影且與光源方向一致時,對SFS方法進行建模;接著闡述了混合反射表面下基于Blinn-Phong反射模型的偏微分輻照度方程的建立、Newton法迭代逼近輻照度方程、輻照度方程的轉(zhuǎn)換與求解等;最后通過實驗對提出的SFS方法進行了驗證。
建立以攝像機成像平面的主點o為中心的三維直角坐標系o-xyz,成像平面所在平面為xy面,光軸為z軸。設攝像機遵循正交投影,此時SFS三維形貌重構方法即為求解偏微分輻照度方程[2,7]:
I(x,y)=R(p(x,y),q(x,y))
(1)
式(1)中:I(x,y)為圖像的灰度值;R(p,q)為由反射模型確定的反射圖函數(shù);p(x,y)和q(x,y)為物體表面三維形貌z(x,y)的一階偏導數(shù)。
對于理想的漫反射物體表面,其反射特性服從朗伯定律,反射圖函數(shù)為
(2)
式(2)中:n(x,y)=(-p,-q,1)為物體表面三維形貌某點(x,y,z)處的法向量;L為光源的單位方向向量。
對于實際的物體表面,往往并非理想的漫反射表面,而是既含有漫反射又含有鏡面反射的混合反射表面。為此,文獻[9]提出了Blinn-Phong反射模型描述混合反射表面的反射圖函數(shù):
R(p,q)=ρd(n(x,y)·L)+ρs(n(x,y)·h)k
(3)
式(3)中:h為L與攝像機方向向量V的夾角平分線,其幾何關系如圖1;k為鏡面反射指數(shù);ρd、ρs分別為漫反射、鏡面反射成分的加權因子。
將式(3)代入式(1),又由于n(x,y)·L=cosθi,n(x,y)·h=cosδ,可以得到基于Blinn-Phong反射模型的偏微分輻照度方程:
I(x,y)=ρdcosθi+ρs(cosδ)k
(4)
式(4)中:δ、θi分為物體表面法向量n(x,y)與h、光源方向向量L之間的夾角。
在攝像機方向與光源方向一致時,有
θi=θr,φi=φr
(5)
式(5)中:θr為物體表面法向量n(x,y)與像機方向向量V之間的夾角;φi、φr分為向量L、V的方位角。
設光源的方向向量L為(0,0,1),顯然,在上述情況下h亦為(0,0,1),此時
(6)
將式(6)代入式(4),則基于Blinn-Phong反射模型的偏微分輻照度方程式(4)轉(zhuǎn)換為
(7)
偏微分輻照度方程式(7)是一個一階非線性偏微分方程。若鏡面反射指數(shù)k>2時,求解較為困難。
g(t)=ρdt+ρstk-I(x,y)=0
(8)
g(t)的一階導數(shù)g′(t)為
g′(t)=ρd+kρstk-1>0
(9)
顯然,g(t)具有單調(diào)性。給定初始值t0=0,利用如下的Newton法迭代公式(10)經(jīng)過幾步迭代就可以精確逼近方程式(8)的解tn。
tn=tn-1-g(tn-1)/g′(tn-1)
(10)
(11)
式(11)中:Ω為給定的圖像區(qū)域;μ(x,y)為定義在?Ω上已知的Dirichlet邊界條件。
顯然,偏微分輻照度方程式(11)是一個eikonal類偏微分輻照度方程,本文采用文獻[10-11]中三階加權本質(zhì)無振蕩(Weighted Essentially Non- Oscillatory,WENO)格式和文獻[12]中sweeping策略對方程式(11)進行了求解。
采用三階WENO格式對偏微分輻照度方程式(11)進行逼近,可得
(12)
(13)
(14)
其中:
(15)
式(15)中:
(16)
求解式(12),可迭代得到逼近解zi, j,即物體表面的三維形貌。
(17)
為了加速迭代算法收斂,應用文獻[12]提出的sweeping策略對算法迭代過程進行了加速。當計算導數(shù)p-、p+以及q-、q+時,使用最新得到的z值,同時sweeping不只從一個方向進行,而是從以下4個方向交替重復進行:從左上到右下; 從左下到右上;從右下到左上;從右上到左下。
根據(jù)不同的sweeping方向,zi±1, j、zi±2, j、zi, j±1、zi, j±2需要取不同的值。在迭代過程中,當||zn+1-zn||L1≤η時,算法停止迭代,其中η為收斂閾值,本文取η=10-5。
同文獻[7]一樣,為了檢驗混合反射表面下SFS重構方法的有效性,利用球體和花瓶圖像進行了實驗驗證,并將重構結果與文獻[7]基于Schlick算法的重構結果進行了對比。
1) 球體圖像的三維重構
利用如下的球體函數(shù)生成球體灰度圖像:
(18)
式(18)中:R=50為球體的半徑;(x,y)∈[-63,64]。
圖2為球體圖像的實驗結果。圖2(a)是利用球體函數(shù)式(18)和Blinn-Phong反射模型式(7)生成的球體的灰度圖像,為了與文獻[7]的方法進行比較,Blinn-Phong模型的參數(shù)同文獻[7]中保持一致,即ρd=0.85、ρs=0.15、k=90。從圖2(a)中可以看出,球體灰度圖像的中央?yún)^(qū)域存在著較強的鏡面反射成分,因此球體表面為混合反射表面。圖2(b)是由球體函數(shù)式(18)得到的三維形貌真實值,圖2(c)是文獻[7]方法(Dirichlet邊界條件)重構的三維形貌,圖2(d)為文獻[7]方法重構值(圖2(c))與三維形貌真實值(圖2(b))之間的誤差,圖2(e)是本文方法(Dirichlet邊界條件)重構的三維形貌,圖2(f)為本文方法重構值(圖2(e))與三維形貌真實值(圖2(b))之間的誤差。從圖2(c)和圖2(e)中可以看出,文獻[7]方法和本文方法均可得到較為理想的重構結果。從圖2(d)和圖2(f)中可以看出,本文提出的方法重構誤差比文獻[7]方法重構誤差小。
2) 花瓶圖像的三維重構
利用如下的花瓶函數(shù)生成花瓶灰度圖像:
(19)
其中f(y)=0.15-0.025(6y+1)(2y+1)2(3y-2)2(2y-1),(x,y)∈[-0.5,0.5]。為了與球體圖像保持統(tǒng)一將x,y映射到區(qū)間[-63,64],此時高度z(x,y)等比例擴大128倍。
圖3為花瓶圖像的實驗結果。同圖2(a)一樣,圖3(a)亦是使用花瓶函數(shù)式(19)和Blinn-Phong反射模型式(7)生成的花瓶的灰度圖像。同樣,為了與文獻[7]的方法進行比較,Blinn-Phong模型的參數(shù)亦同文獻[7]保持一致,ρd=0.85、ρs=0.15、k=90。從圖3(a)中可以看出,花瓶灰度圖像的中央?yún)^(qū)域存在著較強的鏡面反射成分,花瓶表面同樣為混合反射表面。圖3(b)是由花瓶函數(shù)式(19)得到的三維形貌真實值,圖3(c)是文獻[7]方法(Dirichlet邊界條件)重構的三維形貌,圖3(d)為文獻[7]方法重構值(圖3(c))與三維形貌真實值(圖3(b))之間的誤差,圖3(e)是本文方法(Dirichlet邊界條件)重構的三維形貌,圖3(f)為本文方法重構值(圖3(e))與三維形貌真實值(圖3(b))之間的誤差。從圖3(c)和圖3(e)中同樣可以看出,文獻[7]方法和本文方法均可得到較為理想的結果。從圖3(d)和圖3(f)中可以看出,本文方法重構誤差比文獻[7]方法重構誤差小。
3) 三維重構結果分析
為了定量地比較重構結果,本文亦使用高度平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)對文獻[7]方法和本文方法重構結果進行比較。
(20)
(21)
表1 三維形貌重構MAE、RMSE誤差
由圖2和圖3球體、花瓶圖像的三維形貌重構結果以及表1所示的三維形貌重構MAE、RMSE誤差可以得出,本文提出的方法和文獻[7]方法均可以較好地重構物體表面,且與文獻[7]方法相比,本文提出的方法可獲得較高的重構精度,其高度MAE和RMSE誤差大幅度降低。
本文提出了一種新穎的基于Newton法的SFS三維形貌重構方法,旨在解決混合反射表面下SFS重構方法中建立的偏微分輻照度方程不易求解的問題。實驗表明本文提出的方法可以獲得較好的重構效果。下一步將重點圍繞透視投影下利用Newton法解決非朗伯以及混合反射表面SFS方法的快速、高精度重構研究等。