羅月童, 孫 靜, 陳 韜
(合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院VCC研究室,安徽 合肥 230009)
隨著旅游業(yè)的發(fā)展,虛擬旅游也越來越受重視,虛擬現(xiàn)實(shí)等計(jì)算機(jī)技術(shù)的發(fā)展更進(jìn)一步推動了虛擬旅游業(yè)的進(jìn)步,如日本開發(fā)了虛擬東京,美國利用VR技術(shù)再現(xiàn)古羅馬的Trajan廣場,國內(nèi)浙江大學(xué)開發(fā)的數(shù)字故宮、數(shù)字敦煌等[1]。但現(xiàn)有的多數(shù)虛擬旅游系統(tǒng)僅包含景色、建筑等視景信息[2],缺少導(dǎo)游、游客、居民等生命體,而“一個出色的導(dǎo)游帶來一次成功的旅游活動”、“祖國江山美不美,全憑導(dǎo)游一張嘴”等說法體現(xiàn)了導(dǎo)游在旅游活動中的重要地位,所以在虛擬旅游環(huán)境中加入虛擬導(dǎo)游[3]必能提高虛擬旅游系統(tǒng)的真實(shí)性和趣味性,從而推動虛擬旅游技術(shù)的發(fā)展。
虛擬導(dǎo)游是虛擬人[4]的一個特例,虛擬人的研究包括虛擬人幾何建模、虛擬人運(yùn)動控制及行為建模[5]三個方面,其中虛擬人的幾何建模技術(shù)[6]和運(yùn)動控制技術(shù)[7]已經(jīng)比較成熟,《最終幻想》、《黑客帝國》、《青娜》、《指環(huán)王II》等動畫電影就是力證。但關(guān)于通用行為模型的研究尚處于起步階段[4],這主要是因?yàn)槿祟愋袨楸旧矸浅?fù)雜。
本文通過引入領(lǐng)域知識,發(fā)展針對虛擬導(dǎo)游的專用行為模型,從而降低了問題的難度,但同時又能滿足發(fā)展智能虛擬導(dǎo)游的需求。本文提出如圖1所示的專用行為模型——基于領(lǐng)域知識的行為模型,該行為模型包括感知器、領(lǐng)域知識庫和決策推理器。
圖1 基于領(lǐng)域知識的行為模型
行為模型的本質(zhì)就是感知外界信息并做出反應(yīng)——輸出合適的行為,所以感知外界信息是行為模型的重要組成部分。在真實(shí)世界中,人類的感知包括視覺、聽覺、味覺、嗅覺等,但研究表明人類獲取的環(huán)境信息80%來源于視覺,在旅游中通過視覺獲取的信息就更多,所以本文僅考慮視覺感知。虛擬視覺模型一般分為兩類:基于渲染的視覺模型和基于數(shù)據(jù)庫查詢的視覺模型。和基于渲染的視覺模型相比,基于數(shù)據(jù)庫查詢的視覺模型具有速度快、易于實(shí)現(xiàn)等優(yōu)點(diǎn),所以本文以基于數(shù)據(jù)庫查詢的視覺模型為基礎(chǔ),發(fā)展虛擬導(dǎo)游的感知器。
導(dǎo)游的職責(zé)是帶領(lǐng)游客在景區(qū)游覽并對著名景點(diǎn)進(jìn)行解說,所以虛擬導(dǎo)游的感知器要能夠感知虛擬場景中的景點(diǎn)并獲取景點(diǎn)的信息。在加入虛擬導(dǎo)游、虛擬游客的智能虛擬旅游場景中,虛擬導(dǎo)游除了能夠感知景點(diǎn)等靜態(tài)對象,還應(yīng)該能夠感知游客和導(dǎo)游等運(yùn)動對象,從而做出避讓等動作以避免不同對象之間發(fā)生碰撞。
為了方便虛擬導(dǎo)游感知景點(diǎn)及其他導(dǎo)游,本文提出語義虛擬旅游場景的概念,在虛擬旅游場景中添加語義信息——為景點(diǎn)、虛擬導(dǎo)游、虛擬游客等對象附加以下信息:
· 語義信息 記錄與該景點(diǎn)相關(guān)的信息,如解說詞、解說該景點(diǎn)時虛擬導(dǎo)游的動作特點(diǎn)。
· 感知觸發(fā)點(diǎn) 因?yàn)榫包c(diǎn)通常比較大,不便于感知器進(jìn)行檢測,所以需要選擇一個具有代表性的“點(diǎn)”來表示景點(diǎn)以便于檢測,稱這個點(diǎn)為“感知觸發(fā)點(diǎn)”。
· 感知優(yōu)先級 在景點(diǎn)比較密集時,可能有多個景點(diǎn)或人物同時進(jìn)入感知區(qū)域,通過設(shè)置感知優(yōu)先級來解決這種沖突。
將上述信息保存到數(shù)據(jù)庫中,形成虛擬旅游場景語義數(shù)據(jù)庫,虛擬導(dǎo)游通過查詢該語義數(shù)據(jù)庫完成對場景的感知。如圖2中,設(shè)置虛擬導(dǎo)游半徑為d的外包球,實(shí)時檢測場景中有哪些感知觸發(fā)點(diǎn)位于虛擬導(dǎo)游外包球內(nèi),再根據(jù)其感知優(yōu)先級決定虛擬導(dǎo)游將感知到哪一個對象,圖2中景點(diǎn)A、景點(diǎn)B感知觸發(fā)點(diǎn)均位于虛擬導(dǎo)游外包球內(nèi),景點(diǎn)A感知優(yōu)先級低于景點(diǎn)B,那么虛擬導(dǎo)游將感知到景點(diǎn)B,進(jìn)而對B進(jìn)行解說及觸發(fā)一系列動作。
虛擬導(dǎo)游的行為主要取決于兩個方面的因素:一是感知器從虛擬場景中所獲取的信息,二是導(dǎo)游這一特定群體的行為特點(diǎn)。本文以領(lǐng)域知識——導(dǎo)游行為規(guī)則描述導(dǎo)游的行為特點(diǎn)。
導(dǎo)游行為規(guī)則庫中的規(guī)則指明了規(guī)則的激活條件、規(guī)則的觸發(fā)結(jié)果及目標(biāo)轉(zhuǎn)移類型。規(guī)則并不是孤立存在的,而是一定行為目標(biāo)下所遵循的規(guī)則,不同行為下的規(guī)則也是不同的,如導(dǎo)航行為下的規(guī)則與休息行為下的規(guī)則是不同的。本文提出“目標(biāo)-規(guī)則”的概念,目標(biāo)即為一定行為下導(dǎo)游的目的,也可以說是一種行為下導(dǎo)游所處的狀態(tài),規(guī)則為該狀態(tài)下導(dǎo)游遵循的狀態(tài)轉(zhuǎn)移原則,感知模型的感知結(jié)果或突發(fā)事件為規(guī)則提供了激活條件,而規(guī)則的觸發(fā)結(jié)果則決定了導(dǎo)游的下一步行為,也既為決策器的決策結(jié)果;GOTO與GOSUB兩種目標(biāo)轉(zhuǎn)移類型是為了實(shí)現(xiàn)目標(biāo)的嵌套而設(shè)定的兩種不同的行為轉(zhuǎn)移方式,如導(dǎo)航行為下遇到知名景點(diǎn)時導(dǎo)游狀態(tài)由導(dǎo)航變?yōu)閷包c(diǎn)的解說,但此時導(dǎo)航并沒有結(jié)束,對景點(diǎn)的解說只是導(dǎo)航目標(biāo)下的一個子目標(biāo),因此GOSUB類型表明所轉(zhuǎn)向的行為目標(biāo)是當(dāng)前目標(biāo)的子目標(biāo),當(dāng)前目標(biāo)并沒有真正完成,而GOTO類型則表示目標(biāo)的完全轉(zhuǎn)移,如由導(dǎo)航行為結(jié)束后轉(zhuǎn)為休息狀態(tài),此時導(dǎo)航目標(biāo)已結(jié)束。如表1所示為導(dǎo)游部分典型行為的“目標(biāo)-規(guī)則”。在此基于導(dǎo)游領(lǐng)域知識建立的“目標(biāo)-規(guī)則”庫將作為導(dǎo)游行為決策推理的依據(jù)。
圖2 虛擬導(dǎo)游感知過程示意圖
表1 虛擬導(dǎo)游典型行為及規(guī)則
虛擬導(dǎo)游行為模型如何根據(jù)自身行為規(guī)則及感知模型感知到的結(jié)果完成行為的選擇、激活及終止,也即如何完成行為的決策推理過程。本文通過建立目標(biāo)棧輔助行為決策推理,如圖3中,首先建立棧結(jié)構(gòu),用于存儲目標(biāo)及其規(guī)則,稱為目標(biāo)棧,當(dāng)開始一個目標(biāo)時即將目標(biāo)及其規(guī)則入棧,通過在一定時間步下實(shí)時檢測當(dāng)前行為下有無被觸發(fā)的規(guī)則,若有則將轉(zhuǎn)移到下一個目標(biāo),從而實(shí)現(xiàn)目標(biāo)的轉(zhuǎn)移:若被觸發(fā)的規(guī)則為GOTO類型,則當(dāng)前目標(biāo)結(jié)束,并將當(dāng)前目標(biāo)及其規(guī)則彈出目標(biāo)棧;若為GOSUB類型則當(dāng)前目標(biāo)及規(guī)則并不出棧,而將被觸發(fā)的規(guī)則標(biāo)記為已觸發(fā),使它不會在當(dāng)前目標(biāo)的堆棧上時被再次觸發(fā)。
一般復(fù)雜的行為由一系列基本動作構(gòu)成,為了增強(qiáng)行為動作的逼真性,本文將行為細(xì)分為開始start、更新update、結(jié)束finish三個階段。一個目標(biāo)動作經(jīng)常需要為緊接著的更新做好準(zhǔn)備。在決策過程中,Start方法會反復(fù)被調(diào)用,直到它返回false, start返回false時表明目標(biāo)已經(jīng)被初始化之前,目標(biāo)動作的update動作不會被調(diào)用,而其規(guī)則也不會被檢測。finish方法也是類似的,當(dāng)規(guī)則被觸發(fā),一個目標(biāo)轉(zhuǎn)移走時,finish方法被調(diào)用,在其結(jié)束前,控制實(shí)際上還沒轉(zhuǎn)移,這給了目標(biāo)一個清理的機(jī)會,讓它在轉(zhuǎn)移控制前進(jìn)入一個有實(shí)際意義的狀態(tài),從而避免了行為的失真。決策推理流程如圖3所示。該推理機(jī)制基于“目標(biāo)-規(guī)則”在目標(biāo)棧的輔助下完成導(dǎo)游行為的選擇、激活、終止,并實(shí)現(xiàn)動作的執(zhí)行,從而有效地實(shí)現(xiàn)導(dǎo)游的行為模擬。
本文建立的虛擬導(dǎo)游行為模型成功應(yīng)用于三河古鎮(zhèn)實(shí)時漫游系統(tǒng)[8]中導(dǎo)游的化身。圖4所示為虛擬導(dǎo)游在導(dǎo)航行為下部分效果截圖。導(dǎo)游在漫游過程中,根據(jù)感知模型對周圍環(huán)境進(jìn)行感知,并由決策器決策并規(guī)劃下一步行為動作,如當(dāng)感知到知名景點(diǎn)時,將走到待介紹景點(diǎn)處,做出抬手、擺動頭部等基本動作,配合音頻對景點(diǎn)進(jìn)行介紹;如感知到其他運(yùn)動著的人物,則繞道行走;在到達(dá)目的地后,導(dǎo)游將做出與游客告別的基本動作。
圖4 虛擬導(dǎo)游行為模型部分實(shí)驗(yàn)截圖
在虛擬旅游場景中加入智能虛擬導(dǎo)游能提高虛擬旅游系統(tǒng)的真實(shí)性和趣味性,行為模型是實(shí)現(xiàn)智能虛擬導(dǎo)游的關(guān)鍵技術(shù)。本文提出了基于領(lǐng)域知識的虛擬導(dǎo)游行為模型,對感知器、領(lǐng)域知識和決策推理器都進(jìn)行了深入的研究,并將研究成果應(yīng)用于三河古鎮(zhèn)虛擬旅游系統(tǒng),取得了較好的效果。
但本文采用基于數(shù)據(jù)庫的虛擬視覺模型,對模型的遮攔等問題的處理效果不理想,而且關(guān)于領(lǐng)域知識的歸納總結(jié)也有待進(jìn)一步提高,這些都是今后進(jìn)一步改進(jìn)的方向。
[1]劉 洋, 魯東明, 刁常宇. 敦煌285窟多媒體集成虛擬展示[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2004,16(11): 1528-1534.
[2]蔣文燕, 朱曉華, 陳 晨. 虛擬旅游研究進(jìn)展[J]. 科技導(dǎo)報(bào), 2007, 25(14): 53-57.
[3]孫 靜, 羅月童, 儲昭輝. 基于計(jì)算機(jī)動畫的虛擬導(dǎo)游技術(shù)及其應(yīng)用研究[C]//計(jì)算機(jī)技術(shù)與應(yīng)用進(jìn)展2008, 2008: 80-83.
[4]羅 冠, 郝重陽, 張 雯. 虛擬人技術(shù)研究綜述[J].計(jì)算機(jī)工程, 2005, 31(18): 7-9.
[5]Stephane Donikian. HPTS: A behavior modeling language for autonomous agents [C]//AGENTS’ 01,Montreal, Quebec, Canada, 2001: 401-408.
[6]王兆其. 虛擬人合成研究綜述[J]. 中國科學(xué)院研究生院學(xué)報(bào), 2000, 17(2): 89-98.
[7]徐 孟, 孫守遷, 潘云鶴. 虛擬人運(yùn)動控制技術(shù)的研究[J]. 系統(tǒng)仿真學(xué)報(bào), 2003, 15(3): 338-346.
[8]徐 偉, 孫 靜. 基于 Ogre的虛擬三河古鎮(zhèn)漫游系統(tǒng)[C]//計(jì)算機(jī)技術(shù)與應(yīng)用進(jìn)展2008, 2008: 44-48.