李 健,張博文,何 斌
(1.陜西科技大學 電氣與信息工程學院,陜西 西安 710021;2.同濟大學 電子與信息工程學院,上海 201804)
光度立體法[1]通過一組在同一視角,由不同角度光源照射引起的物體表面光照變化的圖像來求解物體法向量和深度,從而恢復其三維信息.該技術具有簡單高效、成本低、恢復表面細節(jié)準確等優(yōu)勢,同時與基于雙目視覺的立體匹配法相比,可以避免其中匹配困難的問題[2].
為了改進明暗恢復形狀[3](Shape from shading,簡稱SFS)解的病態(tài)性,Woodham[1]提出了由物體表面光照變化來求解深度的光度立體法.經(jīng)典光度立體法[1]基于朗伯體漫反射模型,并在已知平行光源的條件下對物體進行重建.在此基礎上,許多研究目前著重解決非朗伯體[4]、無光源標定[5]、非剛性和動態(tài)物體[6]以及自然光[7]下的重建.另外在增加算法魯棒性[8]的同時,為了提高重建精度,研究融合幾何先驗信息和光度信息[9]的高精度方法.其中經(jīng)典的工作包括 Shi B等[10]通過低秩矩陣法來消除表面高光和陰影,從而對于存在鏡面反射等離群點的物體能夠得到一個較好的重建結(jié)果;Basri R等[11]利用低階球諧函數(shù)來表示任意復雜的光照模型,并通過低維空間的優(yōu)化求解來實現(xiàn)無標定和任意光照條件下的光度立體重建;Hernandez C等[12]對經(jīng)典光度立體中多平行白光源依次照射的條件進行改進,通過RGB三色光對物體同時照射,從而實現(xiàn)了動態(tài)非剛性體的重建;另外,Yu H等[13]借助深度相機來直接獲取深度值,并將采集到的深度信息與光度信息融合,從而實現(xiàn)了一個更高精度的重建效果.
與本文相關的典型工作主要有經(jīng)典光度立體法[1](CPS)實現(xiàn)物體的三維數(shù)字化;Ikehata S等[14]通過稀疏貝葉斯線性回歸法(SBL)來求解普通漫反射表面的法向量.這些算法都是基于灰度圖像,同時,在求解深度時,首先對法向量進行求解,之后通過法向量的積分或近似差分來獲取深度值.
然而,上述相關算法普遍存在以下一些問題.首先,在將RGB圖像轉(zhuǎn)化為灰度圖像的過程中會丟失一些信息.其次,法向量和深度的依次求解在降低算法效率的同時會造成累積誤差,信息的丟失和誤差的累積會影響物體的重建精度.最后對于多反射率物體,反射率的不一致也會在一定程度上影響最終的重建精度.
為此,本文在相關工作的基礎上,采用了一種基于偏微分法(PDE)的光度立體三維重建技術.首先基于原始RGB圖像,通過圖像三色通道間的光度比消除反射率,之后構(gòu)建無反射率的線性偏微分方程組,最后通過最小二乘估計的正規(guī)方程來對深度直接進行求解.與之前的有關工作相比,本文的主要貢獻有以下幾個方面:
(1)基于原始RGB圖像,充分利用彩色光度信息,避免了在向灰度圖像轉(zhuǎn)化過程中造成的信息丟失.
(2)通過圖像RGB三通道間的光度比構(gòu)建無反射率的線性偏微分方程組,進而直接對深度進行求解,從而在提高算法效率的同時避免了法向量和深度的依次求解造成的累積誤差.
(3)無反射率線性偏微分方程組的構(gòu)建和深度的直接求解消除了反射率不一致對物體重建的影響,從而對于多反射率物體能夠得到一個更加理想的結(jié)果.
根據(jù)經(jīng)典光度立體法[1]的原理,其求解過程可以轉(zhuǎn)化為對一組線性方程組的求解:
Ii(x,y)=ρ(x,y)sin(x,y),i∈[1,m]
(1)
式(1)中:m為圖像數(shù)量,si為光源向量,Ii(x,y)為某一像素點(x,y)的亮度,ρ(x,y)為點(x,y)處的反射率,n(x,y)為(x,y)處的法向量.
當m=3時該方程組具有唯一解,在已知光源矩陣s的情況下可求解出法向量,并進一步得到深度z,從而恢復出物體表面形狀.
光度立體重建過程中,首先是要獲取光源信息,即在非自然光條件下,對各個光源進行標定.Powell M.和Sarkar S.[15]提出了一種使用三鏡面球體的標定方法,雖然可以獲得相對準確的光源信息,但標定過程較為繁瑣.因此,為了高效、準確地獲取光源信息,本文通過單采樣球法來對光源進行標定,求解光源矩陣.
對于單反射率的球體來說,公式(1)可以寫為如式(2)的形式:
I=M·N
(2)
式(2)中:M=ρ·s,ρ為反射率常量.
雖然目標物體材質(zhì)與采樣球的材質(zhì)不同,但對求解出的M進行歸一化處理,可近似求得光源矩陣s.
如圖1所示,右邊為空間坐標系中的采樣球,左邊為正交投影后采樣球在圖像平面坐標系中所對應的像,并且圖像平面坐標系與空間坐標系中的yoz平面重合.
對于采樣球映射到圖片上的圓,可以先求出圓心坐標(y0,z0),以及半徑r,再通過公式(3)求出圓上任何一點t(yt,zt)所對應的采樣球上的點T(Xt,Yt,Zt),由于原點在球心上,坐標值也為該點所在切面的單位法向量.
圖1 采樣球的二維到三維轉(zhuǎn)化
(3)
球上任一點T都有對應的I向量(I1,I2,I3),因此由公式(4)可得:
(4)
把圓上每個像素點所對應的值帶入公式(4)通過最小二乘法求解出矩陣M,之后對M進行歸一化處理可得光源矩陣s.
經(jīng)典光度立體法[1]首先對法向量進行求解,之后通過已知的法向量來進一步求解深度值,這樣重建的結(jié)果就會受每一步求解時誤差的影響,最終累積的誤差降低重建精度.通過光度比的方式消除反射率,并構(gòu)建關于梯度的無反射率線性偏微分方程組,從而避免法向量、深度依次求解帶來的累積誤差.
在光度立體法中物體每一像素點的單位法向量可表示為公式(5)的形式:
(5)
基于公式(1)當物體被第i個和第j個光源照射時,對于某一像素點有如等式(6)、(7)所示:
(6)
(7)
從而由等式(6)、(7)可得光度比方程(8):
(8)
式(8)中:k∈{R,G,B} 三基色通道之一.
由光度比方程(8)可得方程(9):
(9)
然而方程(9)包含法向量,而通過法向量n來求解深度會造成之前所述的累積誤差.因此為了避免對法向量的求解,以提高算法效率,并減少累積誤差.對方程(9)進行變形,通過公式(5)將法向量n用含有梯度z的形式進行替代,構(gòu)建有關梯度的線性偏微分方程.
通過式(5)、(9)構(gòu)建以梯度為未知量的線性偏微分方程(10):
(10)
從而最終可得如下線性偏微分方程組:
A(x,y)z(x,y)=b(x,y),(x,y)∈Ω
(11)
對于方程組(11),其矩陣展開如式(12):
(12)
由于方程組(11)是以梯度為未知量.為了直接對深度進行求解,將方程組(11)進行離散化處理,使其從以梯度為未知量轉(zhuǎn)化為以深度為未知量的形式,通過求解變換后的方程組來得到物體的深度值.
另外,方程組(11)是通過RGB圖像間的光度比進行構(gòu)建,系數(shù)矩陣A的行數(shù)總大于列數(shù),即該方程組為超定的,無確定解.因此采用最小二乘估計的正規(guī)方程來對未知深度直接求解,從而可以得到一個較為準確的結(jié)果.
假設對于一個圖像有效像素點為N的物體進行重建.通過方程組(12),將其中的系數(shù)矩陣A按像素N進行對角排列,得到如下稀疏矩陣(13):
(13)
式(13)中:
同樣將列向量b按像素行排列,得到列向量(14):
B=[b1b2…bN]T
(14)
將構(gòu)造的稀疏矩陣As與梯度算子G進行相乘得As0,完成方程組的離散化處理,由對梯度的求解轉(zhuǎn)化為對深度的求解,并通過正規(guī)方程來獲得該超定線性方程組的最終解.構(gòu)造偽逆矩陣(15),最終的深度由式(16)所得:
(15)
則深度z=M-1B
(16)
本文以經(jīng)典光度立體法[1](CPS)、稀疏貝葉斯線性回歸法[14](SBL)以及基于灰度圖像的偏微分法(PDEG)作為對比算法.通過仿真環(huán)境下的人工標準模型和真實環(huán)境中的物體重建來驗證所述算法的有效性.人工標準模型重建的仿真環(huán)境是在3ds Max三維渲染軟件平臺上搭建,并配備Vray渲染引擎,從而可以得到一個理想的反射模型和光照場景.仿真和真實環(huán)境下的實驗,光照設置統(tǒng)一采用三平行白光源,光源的擺放遵循光度立體三光源最優(yōu)配置法[16],即在物體的正投影面上互成120度角.
各算法通過Matlab仿真軟件來執(zhí)行,執(zhí)行算法的配置為2.1 Hz i7 3612QM處理器和8G內(nèi)存的PC.
首先,通過對一組不同分辨率的多反射率衣物模型區(qū)域進行重建,以測試各算法的效率.如圖2所示為多反射率重建區(qū)域分別在三個不同方向白光源照射下的RGB圖像.
如圖3所示,分別為所述偏微分法和各對比算法在區(qū)域分辨率依次遞增的情況下進行重建所消耗的時間走勢圖.通過圖中數(shù)據(jù)可以看出偏微分重建法的算法效率要高于經(jīng)典法[1]和稀疏貝葉斯法[14],特別是隨著重建區(qū)域的增大,其優(yōu)勢更加明顯.另外由于灰度圖像的單通道性減低了方程組的維度,因此基于灰度圖像的偏微分法在效率上要略微高于基于RGB圖像的偏微分法.
圖2 重建區(qū)域RGB圖像
圖3 算法效率對比
通過對多反射率衣物區(qū)域的重建驗證了所述偏微分法在效率方面的優(yōu)勢.之后,分別利用所述偏微分法(PDE)、基于灰度圖像的偏微分法(PDEG)、經(jīng)典法[1](CPS)以及稀疏貝葉斯法[14](SBL)對三個人工標準模型進行重建,并比較所得結(jié)果與基準數(shù)據(jù)間的誤差.
首先對多反射率斯坦福兔子進行重建,其結(jié)果如圖4所示.其中,圖4(a)列為采集模型的三幅RGB圖像,圖4(b)~(e)列分別為通過所述偏微分法(PDE)、基于灰度圖像的偏微分法(PDEG),經(jīng)典法[1](CPS)以及稀疏貝葉斯法[14](SBL)得到的重建結(jié)果、法向圖以及與基準數(shù)據(jù)誤差表示的偽彩色圖,其中偽彩色圖顏色越偏黃表示誤差越大.通過偽彩色圖可以直觀地看出所述基于RGB圖像的偏微分法得到的物體深度值最接近基準數(shù)據(jù),而基于灰度圖像的偏微分法由于圖像轉(zhuǎn)化造成的信息丟失,其重建精度要稍低于前者.此外,其他兩種對比算法的誤差要明顯大于偏微分的重建法.
通過對單反射率浮雕和多反射率衣服模型的重建來更加全面地驗證算法的有效性.其結(jié)果如圖5所示.其中,圖5(a)列為采集的模型的RGB圖像,圖5(b)列為通過所述偏微分法(PDE)得到的法向圖,圖5(c)~(f)列則分別為通過該所述偏微分法(PDE),基于灰度圖像的偏微分法(PDEG)、經(jīng)典法[1](CPS)以及稀疏貝葉斯法[14](SBL)得到的重建結(jié)果.
為了更加準確地驗證本文所述算法對重建精度的提升,將各算法得到的重建結(jié)果分別與基準數(shù)據(jù)進行比較,計算其與基準數(shù)據(jù)間的豪斯多夫距離,最終結(jié)果如表1所示.通過與基準數(shù)據(jù)間豪斯多夫距離的均值誤差和均方根誤差可以看出,所述偏微分法(PDE)在避免了信息丟失和累積誤差的同時,一定程度上消除了多反射率的影響,從而能夠恢復出一個精度相對較高的三維信息.進一步分析,所述算法對于浮雕模型的精度提升要高于兔子和衣服.這是由于如經(jīng)典光度立體法[1](CPS)以及稀疏貝葉斯法[14](SBL)等算法需要通過法向量的積分或近似差分來求解深度,浮雕這類模型存在許多深度突變的區(qū)域,即不連續(xù)的法向量不可積分區(qū)域,因而最終對于深度值的恢復相較于連續(xù)區(qū)域物體來說并不理想.本文所述算法對深度的直接求解,克服了不連續(xù)區(qū)域?qū)χ亟ńY(jié)果的影響,更具魯棒性.
(a)RGB圖像 (b)PDE (c)PDEG (d)CPS (e)SBL圖4 人工標準模型仿真結(jié)果及誤差對比
(a)RGB圖像 (b)法向圖 (c)PDE (d)PDEG (e)CPS (f)SBL圖5 人工標準模型仿真結(jié)果
表1 仿真結(jié)果誤差對比
為了更進一步驗證算法的有效性,選擇在真實環(huán)境下對單反射率石膏像和多反射率陶瓷像進行重建,其結(jié)果如圖6所示.通過重建結(jié)果可以看出在具有各種噪聲的非理想環(huán)境下,所述偏微分法(PDE)在能夠得到一個較為理想的整體重建結(jié)果的同時,對物體細節(jié)也做出了較好地恢復和呈現(xiàn),算法具備一定的實用性和魯棒性.然而通過與真實模型對比能夠發(fā)現(xiàn)其同樣存在依靠單一光度信息恢復深度不足的問題.
(a)RGB圖像 (b)法向圖 (c)重建結(jié)果圖6 真實物體重建
本文采用了一種基于偏微分法的光度立體三維重建技術,其通過原始RGB圖像間的光度比來構(gòu)建無反射率的線性偏微分方程組,并使用最小二乘估計的正規(guī)方程對深度直接進行求解.該算法具有以下三個優(yōu)勢.
其一,充分利用彩色圖像信息,避免了向灰度圖像轉(zhuǎn)化造成的信息丟失;其二,通過構(gòu)建的線性偏微分方程組來對深度直接進行求解,提高了算法的效率,并避免了對法向量和深度的依次求解而造成的累積誤差;其三,消除反射率不一致對于重建結(jié)果的影響.基于以上三點,并通過仿真和真實環(huán)境中的重建實驗驗證了算法的有效性.
本文所述算法可以得到一個較為理想的物體三維信息,但重建精度,特別是深度的恢復與基準模型相比還存在一定的誤差.另外由于光源依次變換的限制,該算法對于實時動態(tài)物體還不能得到一個較好的結(jié)果,同時仍舊基于朗伯體漫反射模型,物體的材質(zhì)對于重建具有較大的限制.因此,未來的工作主要是通過融合幾何信息,提升重建精度,并在此基礎上改進和優(yōu)化現(xiàn)有光照模型,以實現(xiàn)精度更高的非朗伯體的動態(tài)重建.