《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 设计应用 > 水彩画风格实时增强现实技术
水彩画风格实时增强现实技术
来源:微型机与应用2013年第14期
贾立兵, 唐 棣
(辽宁师范大学 计算机与信息技术学院, 辽宁 大连 116081)
摘要: 在传统的AR系统中,虚拟物体和真实场景在视觉上存在较为明显的差异,达不到虚拟物体和真实场景无缝结合的要求。将增强现实技术与NPR有机地结合起来,减小这种视觉差异,研究并实现了水彩画风格的增强现实系统。
Abstract:
Key words :

摘  要: 在傳統(tǒng)的AR系統(tǒng)中,虛擬物體和真實(shí)場景在視覺上存在較為明顯的差異,達(dá)不到虛擬物體和真實(shí)場景無縫結(jié)合的要求。將增強(qiáng)現(xiàn)實(shí)技術(shù)與NPR有機(jī)地結(jié)合起來,減小這種視覺差異,研究并實(shí)現(xiàn)了水彩畫風(fēng)格的增強(qiáng)現(xiàn)實(shí)系統(tǒng)。
關(guān)鍵詞: 增強(qiáng)現(xiàn)實(shí); 非真實(shí)感技術(shù); Voronoi圖; 水彩畫風(fēng)格; 著色器

    增強(qiáng)現(xiàn)實(shí)AR(Augmented Reality),也被稱為混合現(xiàn)實(shí),是近年來國外眾多知名大學(xué)和研究機(jī)構(gòu)的研究熱點(diǎn)之一。增強(qiáng)現(xiàn)實(shí)借助計(jì)算機(jī)建模技術(shù)、計(jì)算機(jī)圖形技術(shù)和可視化技術(shù),通過生成真實(shí)環(huán)境中不存在的虛擬對(duì)象并將其應(yīng)用到AR系統(tǒng)中用于交互的真實(shí)場景,虛擬物體和真實(shí)場景實(shí)時(shí)地疊加到同一個(gè)畫面或空間,兩種信息相互補(bǔ)充、完善,使用戶的體驗(yàn)更為真實(shí),具有虛實(shí)結(jié)合的特征。AR技術(shù)不僅有著與虛擬現(xiàn)實(shí)(VR)技術(shù)相類似的應(yīng)用領(lǐng)域,諸如尖端武器開發(fā)、數(shù)據(jù)模型的可視化、虛擬訓(xùn)練、娛樂與藝術(shù)等,而且由于其具有能夠?qū)φ鎸?shí)環(huán)境進(jìn)行增強(qiáng)顯示并輸出的特性,在醫(yī)療研究與解剖訓(xùn)練、精密儀器制造和維修、工程設(shè)計(jì)和遠(yuǎn)程機(jī)器人控制等領(lǐng)域,具有比VR技術(shù)更加明顯的優(yōu)勢[1]。20世紀(jì)90年代末,這個(gè)領(lǐng)域的研究者開始在一些每年召開的與AR相關(guān)的國際研討會(huì)和工作會(huì)議上聚會(huì),例如,國際增強(qiáng)現(xiàn)實(shí)工作會(huì)議(IWAR)、國際增強(qiáng)現(xiàn)實(shí)研討會(huì)(ISAR)和國際混合與增強(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í)信息有著視覺上的差異以便醫(yī)生進(jìn)行診斷;但是,對(duì)于其他領(lǐng)域(如游戲領(lǐng)域),AR系統(tǒng)則需要保持兩者視覺上的融合已達(dá)到用戶猶如身臨其境的效果[2]。
    傳統(tǒng)的AR系統(tǒng)中虛擬物體與真實(shí)場景之間在顯示端存在著較為明顯的視覺差異,這種差異大大降低了用戶交互體驗(yàn)、操作的真實(shí)感。針對(duì)這點(diǎn),本文提出了一種新的方法來改進(jìn)傳統(tǒng)的 AR系統(tǒng) ,分別對(duì)攝像頭采集的背景圖像和計(jì)算機(jī)生成的虛擬物體進(jìn)行基于非真實(shí)感的渲染NPR(Non-Photorealistic Rendering)技術(shù)的風(fēng)格化處理 ,減少二者的視覺差異 ,最終輸出帶有水彩畫效果的疊加后圖像 ,從而提高虛實(shí)結(jié)合的程度,在顯示端達(dá)到視覺的統(tǒng)一。
1 相關(guān)工作
    AR系統(tǒng)致力于將計(jì)算機(jī)生成的虛擬物體與真實(shí)場景融為一體,通過虛擬物體的信息補(bǔ)充來增強(qiáng)用戶對(duì)真實(shí)環(huán)境的理解。目前,AR系統(tǒng)中一些關(guān)鍵的技術(shù),諸如顯示技術(shù)和跟蹤[3]、定位技術(shù)[4]已經(jīng)具有一定的成熟度,但對(duì)虛擬物體與真實(shí)場景之間的視覺融合技術(shù)研究非常少。在實(shí)時(shí)的AR系統(tǒng)中,要保持虛擬物體和真實(shí)場景的完美融合,達(dá)到視覺上的統(tǒng)一是很困難的。為達(dá)到這個(gè)目的,一種方法是使計(jì)算機(jī)生成的虛擬物體盡可能地逼真,但這不僅需要精準(zhǔn)的計(jì)算機(jī)模型,而且還需要過長的模型計(jì)算時(shí)間,這在實(shí)時(shí)的AR系統(tǒng)中是難以實(shí)現(xiàn)的。另一種方法是使用NPR技術(shù),使虛擬物體和真實(shí)場景通過風(fēng)格化融合以達(dá)到視覺上的統(tǒng)一。目前已經(jīng)有卡通風(fēng)格化渲染、油畫風(fēng)格化渲染、馬賽克風(fēng)格化[5]渲染等多種NPR技術(shù)在AR系統(tǒng)中實(shí)施。丁帆等[6]將卡通風(fēng)格的NPR技術(shù)應(yīng)用到了AR系統(tǒng)中,該方法減去了較多的真實(shí)場景的信息,融合后的視頻圖像比較模糊。BOUSSEAU A[7]比較系統(tǒng)地提出了處理二維圖像和三維模型水彩風(fēng)格化的方案。他將風(fēng)格化分為多種可選的效果,用戶根據(jù)自己的需要進(jìn)行選擇并可以實(shí)時(shí)地看到渲染結(jié)果。為了更加直觀地模擬水彩,BOUSSEAU A的方法沒有采用庫伯卡-芒克模型。雖然該方法可以達(dá)到實(shí)時(shí)渲染,但是得到的渲染結(jié)果略顯生硬。此外,CURTIS C J[8]提出了基于物理模型的水彩畫風(fēng)格渲染,但是計(jì)算代價(jià)高昂。
    本文提出了采用Voronoi圖來處理視頻圖像幀以模擬圖像幀的水彩畫風(fēng)格效果,達(dá)到虛擬物體與真實(shí)場景的無縫結(jié)合。首先利用Voronoi圖簡化視頻幀顏色信息,然后檢測出視頻幀邊緣,最后將邊緣線疊加到風(fēng)格化渲染后的視頻幀中。實(shí)驗(yàn)結(jié)果證明,該方法在實(shí)時(shí)的AR系統(tǒng)中方便、快捷,能很好地實(shí)現(xiàn)虛擬物體與真實(shí)場景的無縫結(jié)合,并能夠保持良好的時(shí)間、視覺連貫性。
2 算法原理
    將AR系統(tǒng)的視頻圖像幀利用Voronoi圖來處理,以達(dá)到簡化圖像幀的顏色區(qū)域的目的,使得真實(shí)的場景與計(jì)算機(jī)虛擬的物體之間的視覺差異減小,從觀察者的角度來達(dá)到視覺融合,減小視覺瑕疵。同時(shí),檢測圖像幀中的物體(包括虛擬物體和真實(shí)場景中的物體)邊緣輪廓,將檢測出的邊緣同區(qū)域顏色簡化后的圖像幀相疊加,得到最后的觀察者接收到的視頻圖像幀。計(jì)算機(jī)虛擬物體和真實(shí)場景得到風(fēng)格化的融合,處理過程如圖1所示。

3 算法實(shí)現(xiàn)
3.1視頻圖像幀的顏色區(qū)域簡化

    給定一個(gè)同時(shí)包含了虛擬物體和真實(shí)場景的AR視頻圖像幀,第一個(gè)目標(biāo)是對(duì)該圖像幀進(jìn)行水彩畫效果的風(fēng)格化。風(fēng)格化過程分為兩步:(1)生成一個(gè)與圖像幀同樣大小的Voronoi圖,Voronoi圖的結(jié)構(gòu)類似于洋蔥表皮細(xì)胞的排列,每個(gè)洋蔥“細(xì)胞”對(duì)應(yīng)了Voronoi圖中一個(gè)多邊形域,如圖2所示;(2)用該Voronoi圖中的多邊形域分割圖像幀,并對(duì)每個(gè)多邊形域“細(xì)胞”著色,所著顏色由該“細(xì)胞”在圖像幀中相應(yīng)位置處像素的平均顏色決定。通過這兩步將一些冗余的顏色信息去除,達(dá)到圖像幀的顏色區(qū)域簡化,使畫面顏色更加接近水彩畫效果。

 


3.1.2 風(fēng)格化視頻幀
    在圖形硬件中,圓錐體由凸多邊形集合近似模擬,Voronoi多邊形域同樣是凸多邊形,所以可以通過在每個(gè)Voronoi“細(xì)胞”的中心“安置”一個(gè)圓錐體近似模擬Voronoi多邊形域,從而達(dá)到快速生成Voronoi圖的目的。實(shí)驗(yàn)證明,可以用像素的深度緩存值來決定椎體的大小,使得距觀察者越近的物體被渲染得更為細(xì)膩。在深度緩存開啟的情況下以V(i,j)為中心柵格m×n個(gè)圓錐體。此時(shí)幀緩存被Voronoi“細(xì)胞”分割成m×n個(gè)Voronoi多邊形域。圖2(b)模擬了柵格化圓錐體后的幀緩存,可見此時(shí)視頻幀被分割成許多不規(guī)則的Voronoi多邊形域。
    在柵格化的過程中,每個(gè)圓錐體被賦予單獨(dú)的RGB顏色值,該值由該區(qū)域中心點(diǎn)V(i,j)處的RGB顏色值決定,所以每個(gè)圓錐體區(qū)域能通過檢查幀緩存中該椎體區(qū)域像素顏色值來被唯一標(biāo)識(shí)并且被索引。如圖2(b)所示,這些多邊形域組成了一個(gè)特定的Voronoi模版,通過該模版將AR視頻幀渲染成水彩畫風(fēng)格。具體做法是:使用多邊形域?qū)?yīng)原始圖片處的平均顏色值對(duì)該多邊形域進(jìn)行著色。圖3顯示了一幅初始的AR視頻幀,圖4顯示了風(fēng)格化后的視頻幀。

    為了更好地勾勒出物體的形狀從而有著很明顯的邊緣輪廓線,在下一步將通過對(duì)視頻幀進(jìn)行邊緣檢測來模擬這種風(fēng)格。結(jié)合Voronoi模版風(fēng)格化視頻幀和檢測邊緣線,達(dá)到了基于NPR的水彩風(fēng)格的增強(qiáng)現(xiàn)實(shí)。
3.2 視頻幀的邊緣檢測
    邊緣檢測是NPR風(fēng)格化渲染中普遍用到的技術(shù),因?yàn)樵S多NPR風(fēng)格圖片擁有突出、鮮明的邊緣輪廓線。
    在本文算法中,首先對(duì)虛擬物體使用簡單的卡通著色,然后對(duì)該視頻幀進(jìn)行邊緣檢測。使用簡單的卡通著色代替OpenGL默認(rèn)的高氏著色(Gouraud Shading)是因?yàn)榭ㄍㄖ茉鰪?qiáng)區(qū)域間的顏色對(duì)比而使得檢測出更為突出、明顯的邊緣輪廓線。
    對(duì)于一個(gè)物體表面,卡通著色器通過設(shè)置強(qiáng)度閾值來產(chǎn)生3個(gè)離散的表面強(qiáng)度,進(jìn)而用不同的顏色進(jìn)行著色而不是使用連續(xù)色調(diào)進(jìn)行著色。卡通著色的片段著色器的代碼如下:
    varying vec3 lighDir, normal;
    uniform vec3 myColor;
    void main( )
    {
    vec4 color;
    vec3 n = normalize(normal);
    float intensity = dot(lightDir,n);
        color=vec4(myColor,1.0);
    else if (intensity>0.2)
        color=vec4(0.4 * myColor,1.0);
    else
        color=vec4(0.1 * myColor, 1.0);
    gl_FragColor=color;
    }
    虛擬物體和真實(shí)場景被渲染并結(jié)合成為一幅紋理圖片暫存于著色器中,因此邊緣檢測可以在片段著色器中進(jìn)行,而不需要將紋理的像素?cái)?shù)據(jù)從GUP復(fù)制到CPU,大大節(jié)省了處理所用時(shí)間。RGB顏色空間和YUV顏色空間中的像素信息將會(huì)同時(shí)用來進(jìn)行邊緣檢測。兩種顏色空間之間像素轉(zhuǎn)換在著色器中完成,代碼如下:

    通過對(duì)基于視頻的AR技術(shù)進(jìn)行研究,闡述了一種新的應(yīng)用Voronoi圖生成水彩畫風(fēng)格的實(shí)時(shí)的AR技術(shù)——水彩畫風(fēng)格增強(qiáng)現(xiàn)實(shí)系統(tǒng)。將NPR的方法引入AR系統(tǒng)中,使得計(jì)算機(jī)虛擬出的物體和攝像機(jī)提供的真實(shí)場景間在一定程度上實(shí)現(xiàn)無縫結(jié)合,克服了傳統(tǒng)AR系統(tǒng)中虛擬物體和真實(shí)場景的視覺上的不統(tǒng)一,給予用戶更加真實(shí)的體驗(yàn)。此外,由于本文算法使用圖像空間的技術(shù)實(shí)現(xiàn),可以利用 GPU 進(jìn)行加速計(jì)算,因此,伴隨硬件技術(shù)的不斷發(fā)展,該方法的運(yùn)行速度還有很大的提升空間。
參考文獻(xià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] 全紅艷, 王長波, 林俊雋. 增強(qiáng)現(xiàn)實(shí)中虛實(shí)結(jié)合的新方法[J]. 機(jī)器人,2008,30(6):561-565.
[4] 陳靖,施琦,王涌天. 基于視覺增強(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容