林雪英,徐 曉,劉 希
(1.華南理工大學理學院,廣東 廣州 510640;2.華南理工大學廣州汽車學院,廣東 廣州 510640)
視頻由單幅圖片構(gòu)成,探討從單幅圖片恢復三維形貌對從二維視頻恢復2.5維信息有實際意義。而從人類視覺能就單幅圖片恢復2.5維信息的特點來看,研究單幅圖片的恢復也具有重要的學術(shù)價值。
本文探討從單幅圖片恢復人體三維形貌,是指對單幅圖像進行分析處理,得到人體表面0°~180°的三維信息,是一種實用的三維人體恢復技術(shù),在生物學、醫(yī)學及人類科學[1]、多媒體、人機工程、視頻會議、3D游戲開發(fā)等領(lǐng)域有廣泛的應用[2]。
本文利用明暗恢復形狀(Shape From Shading,SFS)[3]方法從單幅圖片中恢復人體三維形貌[4]。其核心思想是利用二維圖像中留下的三維線索——灰度信息,在光源坐標系下計算與每個像素點對應的表面法向矢量信息,通過坐標旋轉(zhuǎn)到圖像坐標系中,得到圖像中的人體的三維尺寸。這種方法不受光源限制、便于現(xiàn)場操作、最大限度的節(jié)省硬件資源,測量速度快、成本低,且易于實現(xiàn)系統(tǒng)間的信息集成。將人體知識加入到人體圖像中光源的預測中,利用人體四肢可以近似為圓柱體這個特點進行粗略的光源預測,并將預測的光源用于恢復人體表面三維形貌。以此為基礎(chǔ)進行了實驗,實驗表明此方法在一定情況下是有效的。
SFS方法早在1970年由麻省理工學院的Horn等人首次提出來,他們將反射圖的概念引入照度方程中,假定物體表面為朗伯體表面[5],建立了物體表面方向和圖像亮度之間的函數(shù)關(guān)系,求解該函數(shù)模型即可獲取物體表面坐標的高度值。
朗伯體表面模型如圖1。以攝像機坐標系為參照系,將物體表面高度值表示為z(x,y),物體表面材質(zhì)的反射率為ρ。規(guī)定物體表面法矢可由物體表面各點的法向量n(n1,n2,n3)的反方向矢量(p,q,-1)表示,其中,(p,q)為表面梯度。深度是攝像機到表面點的相對距離,同時也可以看作是相對于XOY平面的表面高度(表面法矢是與物體表面切平面垂直的向量方向,表面梯度是深度在x和y方向的變化量)。假設(shè)觀察者方向的視線與像平面XOY平面垂直相交,光源到達物體表面一點(x,y)的強度為I(x,y),光源向量為(ps,qs,-1),光在觀察方向反射的強度為E(x,y),則由朗伯定理得模型方程如下[6]
從式(1)可以理解,所謂SFS,即要恢復Z(x,y),則需通過E(x,y)求取 p,q,然后通過光滑性約束來求取Z(x,y)。求解問題需要確定兩類參數(shù),一是光源相關(guān)參數(shù),一類是跟被觀察物結(jié)構(gòu)和反射屬性相關(guān)參數(shù)。關(guān)于光源的預測,一般是利用已知幾何形狀的物體對不同光源位置具有不同形狀陰影的原理,通過分析陰影形狀追蹤光源位置。
圖1 被照物體表面模型
在已知光源的情況下,現(xiàn)實的物體及圖像采集系統(tǒng)無法滿足理想的朗伯體模型,以及其他信息的不確定性導致的SFS問題的病態(tài),因而需要根據(jù)采集圖像的特點引入附加條件[6]
式中:I是測量亮度;R是估計反射圖亮度;px,py和qx,qy分別表示函數(shù)p和q在x和y方向上的偏微分;式(2)為亮度約束;式(3)為光滑性約束;式(4)為可積性約束。求解式(1)時,應使 e1,e2,e3最小。
就單幅圖片而言,若未加特定攝制條件,其光源方向是未知的,因此需要求取光源的方向。關(guān)鍵就是預測光源入射角與物體表面點的夾角,以確定已知光源的入射方向。
本文三維形貌恢復的對象具有特定的目標——三維人體形貌恢復,可利用人體知識將光源預測問題簡化。人體的四肢可以近似為圓柱體,而圓柱體是一種簡單特殊的幾何形狀,光線在圓柱體表面發(fā)生反射時會遵循指定的規(guī)律,因而可以利用四肢這種幾何特殊性對圖像中的人體光源方向進行預測。
若去除毛發(fā)、衣服等遮擋物后,人體(如圖2)的軀干、四肢、頸部可以近似為圓柱體(如圖3)。正常情況下,人體四肢表面皮膚的材質(zhì)和顏色差異不顯著,因此可以將人體圖片中沒有遮擋且彎曲變形程度不大的四肢提取出來,分別擬合成對應的矩形(圓柱體的正面視圖為矩形),經(jīng)過分析得到各個圓柱體的預測光源方向,計算出對應該擬合矩形的光源分量,再將得到的幾個光源方向平均值作為預測的整個人體光源方向。
如圖4所示,考慮圓柱體上一點M的法向量為(0,cosα,sinα),則若以 -Z 方向為觀察方向,根據(jù)式(1)得到
圖片上M點的亮度為
圖4 光源照射下的圓柱體模型
如圖5所示,圓柱體的橫截面圓的半徑為r,N點距離圓柱體最左側(cè)母線的距離為1,N點距該截面圓心O的距離 d 等于 r-l,光源方向為(ns1,ns2,ns3),ns2和 ns3分量構(gòu)成的面與XOY平面的夾角α為
圖5 圓柱體示意圖
通過在二維圖片上選用一個接近矩形的圓柱體像,估計出d;分析一系列不同r的點的強度,利用式(6),通過最小二乘法估計出相對應的α。根據(jù)d,r,α估計值,光源方向的ns2分量估計值為
依此類推,選用不同方向的圓柱體,可以得出ns1分量。依照(ns1,ns2,ns3),假定 ns3為 1,則可倒換出(ps,qs,-1)。若選出的圓柱體并不在圖片的豎直或水平方向,則通過坐標倒換也可以推出相關(guān)結(jié)果。綜合人體圖片上選用的不同位置的圓柱體而預測出的光源矢量進行平均即得圖片的光源矢量的預測。
本文恢復人體三維形狀利用的是人體表面灰度信息,衣服、頭發(fā)等遮擋物會產(chǎn)生錯誤的信息,因此實驗對象必須選擇沒有衣服等遮擋物的人體,人體模特在外形和顏色等角度都與真實人體比較接近,且沒有衣服等遮擋物的干擾,本文選擇人體模特圖片作為實驗對象,恢復的步驟如圖6所示[7]。
圖6 三維人體形貌恢復的步驟
1)實例一原始圖像如圖2所示,預測光源方向為(0.53,0,1),恢復的三維模型幾個不同角度的截圖如圖7所示。
圖7 實例一復原結(jié)果不同角度的截圖
恢復結(jié)果分析:二維的人體圖片的光源并沒有進行太多的控制,SFS方法中的光源是單一光源,即無限遠的電光源或平行光,而獲得的二維的圖片中的光源情況較復雜,有主光源、環(huán)境光,這樣的光源會造成復原結(jié)果與真實人體模特的誤差。具體分析如表1所示。
表1 實例一恢復結(jié)果分析
2)實例二原始圖像如圖8所示,預測光源方向為(0.19,0,1),恢復的三維模型幾個不同角度的截圖如圖9所示。
恢復結(jié)果分析:整體的復原結(jié)果還是比較理想。具體分析如表2所示。
表2 實例二恢復結(jié)果分析
該三維人體測量方法在實施過程及實際應用中,依然存在不少問題。在提取用于預測光源的人體四肢時,本文采用的辦法是手工提取,如何利用帶入人體知識的邊緣檢測法自動提取出無遮擋的四肢,是下一步的工作。另外陰影在圖片中是在所難免,人體的姿勢千變?nèi)f化,經(jīng)常會出現(xiàn)遮擋的部位,但人體始終逃不脫軀干、頭部、四肢的結(jié)構(gòu),下一步將利用光源矢量及各點的深度值計算出陰影區(qū)域并對其進行修正,并利用人體知識填充遮擋部位丟失的信息量。
雖然目前基于單幅圖像進行人體形貌恢復的精度還不能夠達到很高的要求,但此算法模擬人眼的視覺原理,只須單幅圖像進行分析處理,便可以快速得到人體表面0°~180°的三維信息,是一種實用的三維人體恢復技術(shù)。
[1]GUAN P,F(xiàn)REIFELD O,BLACK M J.A 2D human body model dressed in eigen clothing[C]//Proc.11th European Conf.Computer Vision.Berlin:Springer-Verlag,2010:285-298.
[2]IKIZLER N,CINBIS R G,PEHLIVAN S,et al.Recognizing actions fromstill images[C]//Proc.19th International Conference on Pattern Recognition.Tampa,F(xiàn)L:IEEE Press,2008:1-4.
[3]HORN B K P.Shape from shading:A method for obtaining the shape of a smooth opaque object from one view[D].Boston:Massachusetts Inst.of Technology,1970.
[4]宋麗梅.基于單幅實時測量圖像形貌三維恢復的研究[D].天津:天津大學,2004.
[5]BASRI R,JACOBS D.Lambertian reflectance and linear subspaces[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(2):218-233.
[6]徐東平.基于SFS方法的三維表面重建算法研究[J].計算機與數(shù)字工程,2008,36(2):7-9.
[7]阮秋琦.數(shù)字圖像處理(MATLAB版)[M].北京:電子工業(yè)出版社,2005.