賈立兵,唐 棣
(遼寧師范大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,遼寧 大連116081)
增強(qiáng)現(xiàn)實(shí)AR(Augmented Reality),也被稱(chēng)為混合現(xiàn)實(shí),是近年來(lái)國(guó)外眾多知名大學(xué)和研究機(jī)構(gòu)的研究熱點(diǎn)之一。增強(qiáng)現(xiàn)實(shí)借助計(jì)算機(jī)建模技術(shù)、計(jì)算機(jī)圖形技術(shù)和可視化技術(shù),通過(guò)生成真實(shí)環(huán)境中不存在的虛擬對(duì)象并將其應(yīng)用到AR系統(tǒng)中用于交互的真實(shí)場(chǎng)景,虛擬物體和真實(shí)場(chǎng)景實(shí)時(shí)地疊加到同一個(gè)畫(huà)面或空間,兩種信息相互補(bǔ)充、完善,使用戶的體驗(yàn)更為真實(shí),具有虛實(shí)結(jié)合的特征。AR技術(shù)不僅有著與虛擬現(xiàn)實(shí)(VR)技術(shù)相類(lèi)似的應(yīng)用領(lǐng)域,諸如尖端武器開(kāi)發(fā)、數(shù)據(jù)模型的可視化、虛擬訓(xùn)練、娛樂(lè)與藝術(shù)等,而且由于其具有能夠?qū)φ鎸?shí)環(huán)境進(jìn)行增強(qiáng)顯示并輸出的特性,在醫(yī)療研究與解剖訓(xùn)練、精密儀器制造和維修、工程設(shè)計(jì)和遠(yuǎn)程機(jī)器人控制等領(lǐng)域,具有比VR技術(shù)更加明顯的優(yōu)勢(shì)[1]。20世紀(jì)90年代末,這個(gè)領(lǐng)域的研究者開(kāi)始在一些每年召開(kāi)的與AR相關(guān)的國(guó)際研討會(huì)和工作會(huì)議上聚會(huì),例如,國(guó)際增強(qiáng)現(xiàn)實(shí)工作會(huì)議(IWAR)、國(guó)際增強(qiáng)現(xiàn)實(shí)研討會(huì)(ISAR)和國(guó)際混合與增強(qiáng)現(xiàn)實(shí)會(huì)議(ISMAR)等,這些會(huì)議在很大程度上促進(jìn)了AR的研究與發(fā)展。
AR技術(shù)已經(jīng)有著廣泛的應(yīng)用。對(duì)于有些領(lǐng)域(如醫(yī)學(xué)領(lǐng)域),AR系統(tǒng)需要保持虛擬信息與真實(shí)信息有著視覺(jué)上的差異以便醫(yī)生進(jìn)行診斷;但是,對(duì)于其他領(lǐng)域(如游戲領(lǐng)域),AR系統(tǒng)則需要保持兩者視覺(jué)上的融合已達(dá)到用戶猶如身臨其境的效果[2]。
傳統(tǒng)的AR系統(tǒng)中虛擬物體與真實(shí)場(chǎng)景之間在顯示端存在著較為明顯的視覺(jué)差異,這種差異大大降低了用戶交互體驗(yàn)、操作的真實(shí)感。針對(duì)這點(diǎn),本文提出了一種新的方法來(lái)改進(jìn)傳統(tǒng)的AR系統(tǒng),分別對(duì)攝像頭采集的背景圖像和計(jì)算機(jī)生成的虛擬物體進(jìn)行基于非真實(shí)感的渲染NPR(Non-Photorealistic Rendering)技術(shù)的風(fēng)格化處理,減少二者的視覺(jué)差異,最終輸出帶有水彩畫(huà)效果的疊加后圖像,從而提高虛實(shí)結(jié)合的程度,在顯示端達(dá)到視覺(jué)的統(tǒng)一。
AR系統(tǒng)致力于將計(jì)算機(jī)生成的虛擬物體與真實(shí)場(chǎng)景融為一體,通過(guò)虛擬物體的信息補(bǔ)充來(lái)增強(qiáng)用戶對(duì)真實(shí)環(huán)境的理解。目前,AR系統(tǒng)中一些關(guān)鍵的技術(shù),諸如顯示技術(shù)和跟蹤[3]、定位技術(shù)[4]已經(jīng)具有一定的成熟度,但對(duì)虛擬物體與真實(shí)場(chǎng)景之間的視覺(jué)融合技術(shù)研究非常少。在實(shí)時(shí)的AR系統(tǒng)中,要保持虛擬物體和真實(shí)場(chǎng)景的完美融合,達(dá)到視覺(jué)上的統(tǒng)一是很困難的。為達(dá)到這個(gè)目的,一種方法是使計(jì)算機(jī)生成的虛擬物體盡可能地逼真,但這不僅需要精準(zhǔn)的計(jì)算機(jī)模型,而且還需要過(guò)長(zhǎng)的模型計(jì)算時(shí)間,這在實(shí)時(shí)的AR系統(tǒng)中是難以實(shí)現(xiàn)的。另一種方法是使用NPR技術(shù),使虛擬物體和真實(shí)場(chǎng)景通過(guò)風(fēng)格化融合以達(dá)到視覺(jué)上的統(tǒng)一。目前已經(jīng)有卡通風(fēng)格化渲染、油畫(huà)風(fēng)格化渲染、馬賽克風(fēng)格化[5]渲染等多種NPR技術(shù)在AR系統(tǒng)中實(shí)施。丁帆等[6]將卡通風(fēng)格的NPR技術(shù)應(yīng)用到了AR系統(tǒng)中,該方法減去了較多的真實(shí)場(chǎng)景的信息,融合后的視頻圖像比較模糊。BOUSSEAU A[7]比較系統(tǒng)地提出了處理二維圖像和三維模型水彩風(fēng)格化的方案。他將風(fēng)格化分為多種可選的效果,用戶根據(jù)自己的需要進(jìn)行選擇并可以實(shí)時(shí)地看到渲染結(jié)果。為了更加直觀地模擬水彩,BOUSSEAU A的方法沒(méi)有采用庫(kù)伯卡-芒克模型。雖然該方法可以達(dá)到實(shí)時(shí)渲染,但是得到的渲染結(jié)果略顯生硬。此外,CURTIS C J[8]提出了基于物理模型的水彩畫(huà)風(fēng)格渲染,但是計(jì)算代價(jià)高昂。
本文提出了采用Voronoi圖來(lái)處理視頻圖像幀以模擬圖像幀的水彩畫(huà)風(fēng)格效果,達(dá)到虛擬物體與真實(shí)場(chǎng)景的無(wú)縫結(jié)合。首先利用Voronoi圖簡(jiǎn)化視頻幀顏色信息,然后檢測(cè)出視頻幀邊緣,最后將邊緣線疊加到風(fēng)格化渲染后的視頻幀中。實(shí)驗(yàn)結(jié)果證明,該方法在實(shí)時(shí)的AR系統(tǒng)中方便、快捷,能很好地實(shí)現(xiàn)虛擬物體與真實(shí)場(chǎng)景的無(wú)縫結(jié)合,并能夠保持良好的時(shí)間、視覺(jué)連貫性。
將AR系統(tǒng)的視頻圖像幀利用Voronoi圖來(lái)處理,以達(dá)到簡(jiǎn)化圖像幀的顏色區(qū)域的目的,使得真實(shí)的場(chǎng)景與計(jì)算機(jī)虛擬的物體之間的視覺(jué)差異減小,從觀察者的角度來(lái)達(dá)到視覺(jué)融合,減小視覺(jué)瑕疵。同時(shí),檢測(cè)圖像幀中的物體(包括虛擬物體和真實(shí)場(chǎng)景中的物體)邊緣輪廓,將檢測(cè)出的邊緣同區(qū)域顏色簡(jiǎn)化后的圖像幀相疊加,得到最后的觀察者接收到的視頻圖像幀。計(jì)算機(jī)虛擬物體和真實(shí)場(chǎng)景得到風(fēng)格化的融合,處理過(guò)程如圖1所示。
圖1 過(guò)程概述圖
給定一個(gè)同時(shí)包含了虛擬物體和真實(shí)場(chǎng)景的AR視頻圖像幀,第一個(gè)目標(biāo)是對(duì)該圖像幀進(jìn)行水彩畫(huà)效果的風(fēng)格化。風(fēng)格化過(guò)程分為兩步:(1)生成一個(gè)與圖像幀同樣大小的Voronoi圖,Voronoi圖的結(jié)構(gòu)類(lèi)似于洋蔥表皮細(xì)胞的排列,每個(gè)洋蔥“細(xì)胞”對(duì)應(yīng)了Voronoi圖中一個(gè)多邊形域,如圖2所示;(2)用該Voronoi圖中的多邊形域分割圖像幀,并對(duì)每個(gè)多邊形域“細(xì)胞”著色,所著顏色由該“細(xì)胞”在圖像幀中相應(yīng)位置處像素的平均顏色決定。通過(guò)這兩步將一些冗余的顏色信息去除,達(dá)到圖像幀的顏色區(qū)域簡(jiǎn)化,使畫(huà)面顏色更加接近水彩畫(huà)效果。
圖2 洋蔥表皮細(xì)胞與Voronoi圖中多邊形域的對(duì)應(yīng)關(guān)系
3.1.1 生成Voronoi圖
為了生成Voronoi圖,采用平面抖動(dòng)采樣算法得到Voronoi多邊形域的中心。假設(shè)視頻幀大小為W×H,創(chuàng)建m×n多邊形域。那么第i行第j列的多邊形域的抖動(dòng)中心V(i,j)可以用如下公式計(jì)算得到:
V(i,j)即為Voronoi圖的多邊形域的中心點(diǎn)。
3.1.2 風(fēng)格化視頻幀
在圖形硬件中,圓錐體由凸多邊形集合近似模擬,Voronoi多邊形域同樣是凸多邊形,所以可以通過(guò)在每個(gè)Voronoi“細(xì)胞”的中心 “安置”一個(gè)圓錐體近似模擬Voronoi多邊形域,從而達(dá)到快速生成Voronoi圖的目的。實(shí)驗(yàn)證明,可以用像素的深度緩存值來(lái)決定椎體的大小,使得距觀察者越近的物體被渲染得更為細(xì)膩。在深度緩存開(kāi)啟的情況下以V(i,j)為中心柵格m×n個(gè)圓錐體。此時(shí)幀緩存被Voronoi“細(xì)胞”分割成m×n個(gè)Voronoi多邊形域。圖2(b)模擬了柵格化圓錐體后的幀緩存,可見(jiàn)此時(shí)視頻幀被分割成許多不規(guī)則的Voronoi多邊形域。
在柵格化的過(guò)程中,每個(gè)圓錐體被賦予單獨(dú)的RGB顏色值,該值由該區(qū)域中心點(diǎn)V(i,j)處的RGB顏色值決定,所以每個(gè)圓錐體區(qū)域能通過(guò)檢查幀緩存中該椎體區(qū)域像素顏色值來(lái)被唯一標(biāo)識(shí)并且被索引。如圖2(b)所示,這些多邊形域組成了一個(gè)特定的Voronoi模版,通過(guò)該模版將AR視頻幀渲染成水彩畫(huà)風(fēng)格。具體做法是:使用多邊形域?qū)?yīng)原始圖片處的平均顏色值對(duì)該多邊形域進(jìn)行著色。圖3顯示了一幅初始的AR視頻幀,圖4顯示了風(fēng)格化后的視頻幀。
圖3 初始AR視頻幀
圖4 Voronoi圖模版處理后的視頻幀
為了更好地勾勒出物體的形狀從而有著很明顯的邊緣輪廓線,在下一步將通過(guò)對(duì)視頻幀進(jìn)行邊緣檢測(cè)來(lái)模擬這種風(fēng)格。結(jié)合Voronoi模版風(fēng)格化視頻幀和檢測(cè)邊緣線,達(dá)到了基于NPR的水彩風(fēng)格的增強(qiáng)現(xiàn)實(shí)。
邊緣檢測(cè)是NPR風(fēng)格化渲染中普遍用到的技術(shù),因?yàn)樵S多NPR風(fēng)格圖片擁有突出、鮮明的邊緣輪廓線。
在本文算法中,首先對(duì)虛擬物體使用簡(jiǎn)單的卡通著色,然后對(duì)該視頻幀進(jìn)行邊緣檢測(cè)。使用簡(jiǎn)單的卡通著色代替OpenGL默認(rèn)的高氏著色(Gouraud Shading)是因?yàn)榭ㄍㄖ茉鰪?qiáng)區(qū)域間的顏色對(duì)比而使得檢測(cè)出更為突出、明顯的邊緣輪廓線。
對(duì)于一個(gè)物體表面,卡通著色器通過(guò)設(shè)置強(qiáng)度閾值來(lái)產(chǎn)生3個(gè)離散的表面強(qiáng)度,進(jìn)而用不同的顏色進(jìn)行著色而不是使用連續(xù)色調(diào)進(jìn)行著色。卡通著色的片段著色器的代碼如下:
虛擬物體和真實(shí)場(chǎng)景被渲染并結(jié)合成為一幅紋理圖片暫存于著色器中,因此邊緣檢測(cè)可以在片段著色器中進(jìn)行,而不需要將紋理的像素?cái)?shù)據(jù)從GUP復(fù)制到CPU,大大節(jié)省了處理所用時(shí)間。RGB顏色空間和YUV顏色空間中的像素信息將會(huì)同時(shí)用來(lái)進(jìn)行邊緣檢測(cè)。兩種顏色空間之間像素轉(zhuǎn)換在著色器中完成,代碼如下:
邊緣檢測(cè)公式如下。其中,▽是沿著x軸和y軸的顏色差。如果這個(gè)值大于設(shè)定的閾值,則該像素將被認(rèn)為是一個(gè)邊緣像素。
分別在YUV顏色空間和RGB顏色空間下進(jìn)行邊緣檢測(cè),然后加權(quán)計(jì)算得到最終的邊緣輪廓線。圖5顯示了一幅帶有檢測(cè)出的邊緣輪廓線的AR視頻幀。3個(gè)虛擬的物體(茶壺、立方體和兔子)和真實(shí)場(chǎng)景中的物體的輪廓線均被檢測(cè)到。
圖5 視頻幀中檢測(cè)出的邊緣線
首先利用Voronoi圖來(lái)生成水彩畫(huà)風(fēng)格的視頻幀。同時(shí),在RGB和YUV兩種顏色空間下分別對(duì)視頻幀進(jìn)行邊緣檢測(cè)并且兩種輪廓線加權(quán)后進(jìn)行融合。最后,將檢測(cè)出的邊緣線與風(fēng)格化后的視頻幀進(jìn)行結(jié)合,產(chǎn)生水彩畫(huà)效果的視頻幀,視頻幀中虛擬物體與真實(shí)場(chǎng)景很好地結(jié)合在一起。輸出過(guò)程如圖6所示,實(shí)驗(yàn)結(jié)果如圖7所示。
圖6 輸出最終視頻幀過(guò)程
圖7 水彩畫(huà)效果的視頻圖像幀(左上顯示一幅原視頻圖像幀)
通過(guò)對(duì)基于視頻的AR技術(shù)進(jìn)行研究,闡述了一種新的應(yīng)用Voronoi圖生成水彩畫(huà)風(fēng)格的實(shí)時(shí)的AR技術(shù)——水彩畫(huà)風(fēng)格增強(qiáng)現(xiàn)實(shí)系統(tǒng)。將NPR的方法引入AR系統(tǒng)中,使得計(jì)算機(jī)虛擬出的物體和攝像機(jī)提供的真實(shí)場(chǎng)景間在一定程度上實(shí)現(xiàn)無(wú)縫結(jié)合,克服了傳統(tǒng)AR系統(tǒng)中虛擬物體和真實(shí)場(chǎng)景的視覺(jué)上的不統(tǒng)一,給予用戶更加真實(shí)的體驗(yàn)。此外,由于本文算法使用圖像空間的技術(shù)實(shí)現(xiàn),可以利用GPU進(jìn)行加速計(jì)算,因此,伴隨硬件技術(shù)的不斷發(fā)展,該方法的運(yùn)行速度還有很大的提升空間。
[1]張菁,張?zhí)祚Y,陳懷友.虛擬現(xiàn)實(shí)技術(shù)及應(yīng)用[M].北京:清華大學(xué)出版社,2011.
[2]鐘慧娟,劉肖琳,吳曉莉.增強(qiáng)現(xiàn)實(shí)系統(tǒng)及其關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)仿真,2008,25(1)∶252-255.
[3]全紅艷,王長(zhǎng)波,林俊雋.增強(qiáng)現(xiàn)實(shí)中虛實(shí)結(jié)合的新方法[J].機(jī)器人,2008,30(6)∶561-565.
[4]陳靖,施琦,王涌天.基于視覺(jué)增強(qiáng)現(xiàn)實(shí)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2001,37(21)∶55-57.
[5]BATTIATO S,BLASI G,FARINELLA G,et al.Digital mosaic frameworks-an overview[J].Computer Graphics Forum 2007,26(4)∶794-812.
[6]丁帆,李利軍,管濤.卡通風(fēng)格增強(qiáng)現(xiàn)實(shí)系統(tǒng)[J].計(jì)算機(jī)與數(shù)字工程,2007,38(6)∶76-78.
[7]BOUSSEAU A,NEYRET F,THOLLOT J.et al.Video watercolorization using bidirectional texture advection[J].ACM Transactions on Graphics,2007,26(3)∶104∶1-104∶7
[8]CURTIS C J,ANDERSON S E,SEIMS J E.Computergenerated watercolor[C].Computer Graphics Proceedings,Annual Conference Series,ACM SIGGRAPH,Los Angeles,1997:421-430.