摘
要:光照一致性是增強(qiáng)現(xiàn)實(shí)研究的一個(gè)重要組成部分,本文利用攝像機(jī)捕獲的放置在真實(shí)場景中的標(biāo)定物和鏡面小球的視頻圖像,設(shè)計(jì)了一個(gè)增強(qiáng)現(xiàn)實(shí)光照系統(tǒng)模型。放置在真實(shí)場景中的標(biāo)定物用來計(jì)算光源位置以及放置虛擬物體,鏡面小球用于記錄真實(shí)場景中的光照信息。此模型的實(shí)現(xiàn)過程表明,該文的方法實(shí)現(xiàn)相對簡單,不需要對場景及模型進(jìn)行預(yù)處理,能夠達(dá)到虛實(shí)對象在動(dòng)態(tài)增強(qiáng)現(xiàn)實(shí)場景中光照的一致性,并可進(jìn)行實(shí)時(shí)交互。
關(guān)鍵詞:增強(qiáng)現(xiàn)實(shí); 光照一致性; 實(shí)時(shí)交互
1 引 言
增強(qiáng)現(xiàn)實(shí)(Augmented Reality,簡稱AR),又稱增強(qiáng)型虛擬現(xiàn)實(shí)(Augmented Virtual
Reality),是虛擬現(xiàn)實(shí)技術(shù)的進(jìn)一步拓展,它借助必要的設(shè)備使計(jì)算機(jī)生成的虛擬環(huán)境與客觀存在的真實(shí)環(huán)境(Real
Environment,簡稱RE)共存于同一個(gè)增強(qiáng)現(xiàn)實(shí)系統(tǒng)中,從感官和體驗(yàn)效果上給用戶呈現(xiàn)出虛擬對象(Virtual
Object)與真實(shí)環(huán)境融為一體的增強(qiáng)現(xiàn)實(shí)環(huán)境。增強(qiáng)現(xiàn)實(shí)技術(shù)具有虛實(shí)結(jié)合、實(shí)時(shí)交互、三維注冊的新特點(diǎn)[1][2][3]
。在工業(yè)、教育、軍事、體育和娛樂等領(lǐng)域具有廣泛的應(yīng)用前景。
為使計(jì)算機(jī)生成的虛擬對象具有真實(shí)感,讓用戶從感官上確信虛擬對象是周圍環(huán)境的組成部分,需解決幾何一致性、光照一致性和實(shí)時(shí)性的問題。光照一致性是指虛擬對象與真實(shí)場景的圖像應(yīng)達(dá)到一致的光照效果,這就需要恢復(fù)出真實(shí)場景的光照模型,然后計(jì)算真實(shí)場景光照對虛擬對象的影響,如明暗、陰影、反射效果等。
為解決光照一致性問題Fournier[10]等人首先提出了利用基于圖像的光照技術(shù)將真實(shí)場景和虛擬對象融合在一起,進(jìn)行統(tǒng)一的光照計(jì)算的框架,但產(chǎn)生的光照效果有偏差,且不支持實(shí)時(shí)交互。Debevec[8][9]利用環(huán)境映照技術(shù),通過高動(dòng)態(tài)范圍的恢復(fù)算法,
得到相應(yīng)的輻射度圖。高動(dòng)態(tài)范圍圖像對于基于圖像的光照問題來說具有非常重要的意義,但他的方法不適用于動(dòng)態(tài)場景,而且由于沒有恢復(fù)出光源的位置因此不能產(chǎn)生虛實(shí)陰影效果。SATO[11]利用物體的影子來估計(jì)真實(shí)場景光源的分布,但是由于沒有恢復(fù)真實(shí)物體的材質(zhì),所以不能計(jì)算陰影以外的其它光照效果,而且虛擬物體的位置也受到限制。隨著圖形硬件的不斷發(fā)展,實(shí)時(shí)圖形技術(shù)離我們越來越近,本文將基于圖像的光照技術(shù)與增強(qiáng)現(xiàn)實(shí)注冊技術(shù)相結(jié)合,從而實(shí)現(xiàn)了點(diǎn)光源位置及真實(shí)場景光照信息的實(shí)時(shí)獲取與繪制。
2 光照模型的建立
光照模型是計(jì)算機(jī)圖形學(xué)中生成真實(shí)感圖形的基礎(chǔ),它定義了光源的特性、光強(qiáng)在照射表面的幾何分布和表面對光照的反射特性。在三維圖形的繪制中,需要根據(jù)光照模型計(jì)算每一個(gè)像素上可見景物表面投向觀察者的光亮度[4]。
基于圖像的光照技術(shù)是近年來的一個(gè)研究熱點(diǎn),它是利用真實(shí)場景的光照圖像來照明真實(shí)的或計(jì)算機(jī)生成的虛擬場景及物體的一種方法?;趫D像的光照模型是半整體的光照模型,它反映了真實(shí)場景中光照及物體對虛擬物體的影響,一般需要先獲取真實(shí)場景的光測圖(Light
Probe)來記錄場景的光輻射分布信息;然后將光照映射成一個(gè)場景環(huán)境的表示,并從環(huán)境中模擬光照,獲得真實(shí)的光照及環(huán)境映射圖像,照明計(jì)算機(jī)生成的虛擬三維物體。其中光測圖的生成方法是拍一幅光澤球面的照片,因?yàn)樗蹲降搅饲蝮w位置處的光照環(huán)境,基于圖像的光照技術(shù)讓用戶在改變視點(diǎn)的前提下還可以改變場景本身,突破了靜態(tài)場景的限制,對于增強(qiáng)現(xiàn)實(shí)系統(tǒng)的光照一致性研究具有重要的意義,但它的缺點(diǎn)是不能恢復(fù)真實(shí)場景的光源位置信息。
光源位置信息是產(chǎn)生陰影的前提,將陰影加入增強(qiáng)現(xiàn)實(shí)場景中不僅可以增強(qiáng)虛擬物體的真實(shí)感,還可以為用戶提供場景中虛實(shí)物體的位置關(guān)系。真實(shí)場景中的光源可以分為單個(gè)點(diǎn)光源、多個(gè)光源和自然光源(即某一方向的平行光)。單個(gè)點(diǎn)光源為簡單,多個(gè)光源和自然光源相對來說較為復(fù)雜。本文只研究單個(gè)點(diǎn)光源情況下的光源位置信息恢復(fù)。
3 實(shí)現(xiàn)過程
3.1 環(huán)境光處理
首先,不考慮虛擬物體對真實(shí)場景的影響,利用基于圖像的光照技術(shù)采集真實(shí)場景中的光照信息,照明虛擬物體。在基于圖像的光照技術(shù)中環(huán)境貼圖(Environment
Mapping,EM)由于不需要對真實(shí)場景進(jìn)行幾何重建,并且突破了靜態(tài)場景的限制,能讓用戶在改變視點(diǎn)的前提下還可以改變場景本身,在增強(qiáng)現(xiàn)實(shí)系統(tǒng)光照一致性和實(shí)時(shí)性的研究上有廣闊的應(yīng)用前景。環(huán)境貼圖也稱為反射貼圖(Reflection
Mapping),由Blinn和Newell[6]
[7]提出,他們采用球面及其經(jīng)、緯度來存儲物體周圍的環(huán)境信息(即環(huán)境映照),環(huán)境映照中存儲了一點(diǎn)處從各個(gè)方向入射的光輻射。球面環(huán)境貼圖是環(huán)境貼圖的一種,也是商業(yè)化圖形硬件早支持的一種環(huán)境貼圖[4]。這里我們通過ARToolkit[5]軟件和一個(gè)放在真實(shí)場景中的鏡面小球采集真實(shí)場景的光照信息。ARToolkit軟件提供了視頻捕獲和模型視圖矩陣的計(jì)算,通過已計(jì)算出的模型視圖矩陣以及鏡面小球的大小,可以從視頻圖像中分離出鏡面小球所在的區(qū)域圖像,這一區(qū)域圖像包含了真實(shí)場景環(huán)境中的光照信息。
一旦鏡面小球可以從視頻圖像中分離出來,就可以將它作為球面環(huán)境貼圖的紋理存入紋理內(nèi)存。由于OpenGL中紋理圖像尺寸必須是
個(gè)像素為了保證紋理圖像的完整性,我們對得到的鏡面小球區(qū)域圖像進(jìn)行了縮放,使之等于固定值,這里我們定義紋理圖像的大小為32*32。
接著為模擬物體表面的不同粗糙程度,根據(jù)虛擬物體表面的BRDF值對環(huán)境圖預(yù)先進(jìn)行濾波,并以查找表的方式進(jìn)行存儲。這里我們采用了Ashikhmin
和Ghosh
[12]的方法,利用OpenGL中的mipmap技術(shù),在生成環(huán)境圖紋理之前,自動(dòng)快速地生成一系列已經(jīng)過濾的不同大小的紋理圖。通過在這一系列已經(jīng)過濾的從鏡面到漫反射效果紋理圖中選擇適當(dāng)?shù)募y理圖進(jìn)行混合,來近似的模擬物體表面的粗糙程度,物體的光亮度由混合的級別來決定。
當(dāng)?shù)玫郊y理圖后,就可以計(jì)算適當(dāng)?shù)募y理坐標(biāo)得到環(huán)境映照,并照明虛擬對象了。結(jié)果如圖2所示。
3.2 點(diǎn)光源位置的確定
通過以上步驟我們得到了真實(shí)場景中的環(huán)境光,但并不能得到點(diǎn)光源位置信息,為確定點(diǎn)光源位置本文用一個(gè)與其位置一致的標(biāo)定物來確定。
根據(jù)計(jì)算機(jī)視覺原理,攝像機(jī)攝取三維真實(shí)空間得到其二維圖像。圖像上每一點(diǎn)的亮度和色彩反映了真實(shí)空間中物體表面某一點(diǎn)對光的反射屬性,并且該點(diǎn)在圖像上的位置與其在真實(shí)空間中物體表面對應(yīng)點(diǎn)的位置之間存在一定的幾何變換關(guān)系。即對空間中任何一點(diǎn)P,根據(jù)它在三維真實(shí)空間中的齊次坐標(biāo)(Xw,Yw,Zw,1)T就可求出它在圖像上的成像位置,
根據(jù)這一原理,基于給定的標(biāo)定物是能夠識別確定攝像機(jī)相對于標(biāo)定物的方位,并結(jié)合已標(biāo)定的攝像機(jī)內(nèi)參數(shù),可以確定點(diǎn)光源在圖像上的位置,但在這里我們還需要知道光源對于虛擬對象的相對位置,即需要知道在虛擬對象坐標(biāo)系下光源的位置,這時(shí)需要計(jì)算兩個(gè)標(biāo)定物之間的相對位置關(guān)系。
具體實(shí)現(xiàn)是,假設(shè)obj [0].trans是虛擬對象在相機(jī)坐標(biāo)系中的轉(zhuǎn)換矩陣,obj
[1].trans是光源在相機(jī)坐標(biāo)系中的轉(zhuǎn)換矩陣,那么光源在虛擬對象坐標(biāo)系中的相對位置計(jì)算如公式(1):
wmat即為光源在虛擬對象坐標(biāo)系中的相對位置。
3.3 陰影處理
通過以上步驟我們得到了點(diǎn)光源位置信息,但并沒有將陰影效果加入到增強(qiáng)現(xiàn)實(shí)場景中。
增強(qiáng)現(xiàn)實(shí)系統(tǒng)中的陰影除了真實(shí)場景中的真實(shí)物體間的陰影,以及虛擬物體之間的陰影以外,還包括了真實(shí)物體對虛擬物體產(chǎn)生的陰影以及虛擬物體對真實(shí)物體產(chǎn)生的陰影。真實(shí)場景中真實(shí)物體對真實(shí)物體產(chǎn)生的陰影,不需要進(jìn)行處理,虛擬物體之間產(chǎn)生的陰影可以直接使用虛擬現(xiàn)實(shí)中的技術(shù),真實(shí)物體以虛擬物體以及虛擬物體對真實(shí)物體產(chǎn)生的陰影需要進(jìn)行特別的處理。在這里我們除了考慮真實(shí)物體之間和虛擬物體之間的陰影之外,主要考慮了虛擬物體對真實(shí)物體產(chǎn)生的陰影。本文為滿足增強(qiáng)現(xiàn)實(shí)系統(tǒng)需要,對模板陰影生成技術(shù)進(jìn)行了改進(jìn),算法流程如圖3所示。
4 實(shí)驗(yàn)結(jié)果與分析
我們用VC++和OpenGL實(shí)現(xiàn)了系統(tǒng)的原型。系統(tǒng)運(yùn)行過程如下:系統(tǒng)啟動(dòng)后首先初始化讀取攝像機(jī)內(nèi)參數(shù),并根據(jù)標(biāo)定物確定光源位置和鏡面小球區(qū)域。初始化結(jié)束后,將光源與鏡面小球放到指定的位置。執(zhí)行真實(shí)場景光照信息的獲取與虛擬物體及陰影的繪制。
運(yùn)行結(jié)果表明,利用基于視頻圖像采集得到的光照信息可以成功的實(shí)現(xiàn)虛實(shí)環(huán)境的無縫結(jié)合,基本達(dá)到了增強(qiáng)現(xiàn)實(shí)場景中虛實(shí)物體的光照一致性,且不需要對場景和光照做預(yù)處理,可以在程序運(yùn)行過程中改變場景或場景中的光照,刷新速度達(dá)到每秒24幀左右,基本達(dá)到了用戶與增強(qiáng)現(xiàn)實(shí)場景的實(shí)時(shí)交互。
5 結(jié)束語
增強(qiáng)現(xiàn)實(shí)技術(shù)要求能讓用戶從感官上確信虛擬對象是周圍環(huán)境的組成部分,因此需解決幾何一致性、光照一致性和實(shí)時(shí)性的問題。本文將基于圖像的光照技術(shù)、模板陰影生成技術(shù)以及三維注冊技術(shù)相結(jié)合,設(shè)計(jì)了一個(gè)增強(qiáng)現(xiàn)實(shí)系統(tǒng)模型,實(shí)驗(yàn)表明該模型可以很好的將虛擬物體與周圍的光照環(huán)境相融合。
但是,由于球面環(huán)境貼圖本身會(huì)給結(jié)果圖像帶來一定的誤差,所繪制圖像的精度依賴于虛擬物體的大小和它與中介表面的相對位置,當(dāng)虛擬物體較大或偏移中介表面的中心時(shí),誤差會(huì)較大,且只對一個(gè)觀察方向有效,即使改變觀察方向,也依然會(huì)使用相同的紋理貼圖。同時(shí)由于沒有對真實(shí)場景進(jìn)行完全建模,因此虛擬物體對真實(shí)物體產(chǎn)生的陰影受到投影平面的限制,這些都是下面要進(jìn)一步要完善的工作。
參 考 文 獻(xiàn)
[1] 陳小武,趙沁平. 分布式虛擬環(huán)境的變化[R].
中國計(jì)算機(jī)科學(xué)技術(shù)發(fā)展報(bào)告([2]中國計(jì)算機(jī)學(xué)會(huì)2004年會(huì)),2005年。中國計(jì)算機(jī)學(xué)會(huì)約稿。
[2] 王涌天,劉越,胡曉明. 戶外增強(qiáng)現(xiàn)實(shí)系統(tǒng)關(guān)鍵技術(shù)及其應(yīng)用的研究[J]. 系統(tǒng)仿真學(xué)報(bào) Vol.15,No.3, 3月2003年。
[3] Azuma, R.; Baillot, Y.; Behringer, R.; Feiner, S.;Julier, S.;
MacIntyre, B.; Recent Advances in Augmented Reality[J] . Computer Graphics and
Applications, IEEE Volume: 21, Issue: 6, Nov.-Dec. 2001 Pages: 34~47.
[4] 彭群生,鮑虎軍,金小剛編著:計(jì)算機(jī)真實(shí)感圖形的算法基礎(chǔ)[M]. 北京:科學(xué)出版社,1999
[5] http://www.hitl.washington.edu/artoolkit/
[6] Blinn J F, and M.E. Newell. Texture and reflection in computer
generated images [J]. Comm ACM, 1976, 19(10) Pages: 542~547.
[7] Blinn, James F. Models of light reflection for computer synthesized
pictures [J]. ACM Computer Graphic (SIGGRAPH’77 Proceedings), July 1977. Pages:
192~198
[8] Paul Debevec. Image-based lighting [J]. IEEE Computer Graphics and
Applications, 2002, 22(2) Pages:26~34.
[9] Paul Debevec. HDRI and image-based lighting[C]. San Diego: Proc
SIGGRAPH 2003, Course 19, 2003.
[10] Alain Fournier. Illumination Problems in Computer Augmented Reality
[A]. In Journee INRIA, Analyse/ Synthese. D’Images(JASI’94), 1994. Pages:
1~21
[11] Sato I , Sato Y, Ikeuchi K. Illumination from shadows. IEEE
Transactions on Pattern Analysis and Machine Intelligence [J]. 2003, vol. 25,
No. 3, Pages: 306~312
[12] Michael Ashikhmin , Abhijeet Ghosh. Simple blurry reflections with
environment maps [J]. Journal of Graphics Tools, 2002, vol. 7 n.4, Pages:
3~8
[13] 馬頌德,張正友:計(jì)算機(jī)視覺―計(jì)算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998. 52~67