專利名稱:交互式系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng)。
背景技術(shù):
計(jì)算機(jī)的用戶界面變化相對(duì)較小。幾十年來(lái),計(jì)算機(jī)的標(biāo)準(zhǔn)輸入設(shè)備包括鍵盤和鼠標(biāo)。近來(lái)流行的進(jìn)展包括利用藍(lán)牙或射頻與臺(tái)式終端進(jìn)行通信的無(wú)線鍵盤和鼠標(biāo)。這消除了對(duì)纜線的需要,但是要求鍵盤和鼠標(biāo)使用電池。另一直觀的輸入方法是語(yǔ)音識(shí)別。這要求計(jì)算機(jī)識(shí)別并理解用戶的語(yǔ)音,并執(zhí)行相應(yīng)的命令。語(yǔ)音識(shí)別需要訓(xùn)練計(jì)算機(jī)識(shí)別用戶的講話方式。然而,準(zhǔn)確性仍然取決于計(jì)算機(jī)的處理能力、麥克風(fēng)的質(zhì)量、以及用戶言語(yǔ)的清晰性。
這些用于與計(jì)算機(jī)交互的方法由于煩瑣并且不是即刻直觀的而使用戶失望。
發(fā)明內(nèi)容
在第一優(yōu)選方面,提供了一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng),該系統(tǒng)包括具有至少兩個(gè)面的對(duì)象,每一個(gè)面都具有標(biāo)記;圖像采集設(shè)備,用于采集所述對(duì)象在第一場(chǎng)景中的圖像;以及計(jì)算機(jī)軟件,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記,來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向;其中,所述計(jì)算機(jī)軟件檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
有利的是,如果對(duì)象的頂面被遮擋(occlude),則可以確定該頂面上的標(biāo)記并且由于能夠識(shí)別另一個(gè)面上的標(biāo)記,從而可以跟蹤該對(duì)象。
優(yōu)選的是,所述標(biāo)記包括具有單個(gè)缺口的不連續(xù)邊界。
有利的是,所述缺口破壞了所述邊界的對(duì)稱性,從而增加了標(biāo)記的相異性。
更優(yōu)選的是,所述標(biāo)記包括所述邊界內(nèi)的圖像。該圖像可以是幾何圖案,以便于進(jìn)行模板匹配來(lái)識(shí)別所述標(biāo)記??梢詫⑺鰣D案與存儲(chǔ)在樣本庫(kù)中的樣本進(jìn)行匹配。
更優(yōu)選的是,所述邊界和所述圖像為白色背景上的黑色。
有利的是,這減少了照明條件變化的不利影響。
可以使所述標(biāo)記不被遮擋,以識(shí)別所述標(biāo)記。
所述標(biāo)記可以是預(yù)定形狀。為了識(shí)別所述標(biāo)記,通過(guò)所述計(jì)算機(jī)軟件來(lái)識(shí)別所述形狀的至少一部分。所述計(jì)算機(jī)軟件可以利用所述形狀的被檢測(cè)的部分來(lái)確定所述標(biāo)記的完整的預(yù)定形狀。例如,如果所述預(yù)定形狀為正方形,則如果該正方形的一個(gè)角被遮擋,所述計(jì)算機(jī)軟件能夠確定出所述標(biāo)記為正方形。
如果所述邊界被部分遮擋并且所述邊界內(nèi)的圖案未被遮擋,則所述計(jì)算機(jī)軟件可識(shí)別所述標(biāo)記。
所述交互式系統(tǒng)還可以包括諸如監(jiān)視器、電視機(jī)屏幕或LCD的顯示設(shè)備,以在生成所述第二場(chǎng)景的同時(shí)顯示所述第二場(chǎng)景。所述顯示設(shè)備可以是所述圖像采集設(shè)備的取景器,或者是用于投影圖像或視頻的投影儀。所述顯示設(shè)備的視頻幀速率可以在12至30幀每秒的范圍內(nèi)。
所述圖像采集設(shè)備可以安裝在所述顯示設(shè)備的上方,并且所述圖像采集設(shè)備和所述顯示設(shè)備都面向用戶??梢栽谟脩艉退鲲@示設(shè)備之間操縱所述對(duì)象。
多媒體內(nèi)容可以包括2D圖像或3D模型、視頻和音頻信息。
優(yōu)選的是,所述對(duì)象的所述至少兩個(gè)面基本上是平面。
優(yōu)選的是,所述至少兩個(gè)面連接在一起。
所述對(duì)象可以是立方體或者多面體。
所述對(duì)象可以是可折疊的,例如用于講故事的可折疊立方體。
所述計(jì)算機(jī)軟件可以安裝在臺(tái)式或移動(dòng)計(jì)算機(jī)設(shè)備上,例如個(gè)人數(shù)字助理(PDA)、移動(dòng)電話、其它移動(dòng)通信設(shè)備、或者具有嵌入式計(jì)算機(jī)處理器的控制盒(console box)。
所述圖像采集設(shè)備可以是攝像機(jī)。該攝像機(jī)可以是CCD或CMOS視頻攝像機(jī)。
所述攝像機(jī)、計(jì)算機(jī)軟件以及顯示設(shè)備可以設(shè)置在單個(gè)集成單元中。
所述攝像機(jī)、計(jì)算機(jī)軟件以及顯示設(shè)備可以位于遠(yuǎn)程位置。
針對(duì)待顯示的每一個(gè)視頻幀,通過(guò)將所述相關(guān)聯(lián)的多媒體內(nèi)容再現(xiàn)到所述第一場(chǎng)景中,可以將所述相關(guān)聯(lián)的多媒體內(nèi)容疊加在所述第一場(chǎng)景上。
可以在三維空間中計(jì)算所述對(duì)象的位置??梢怨浪闼鰯z像機(jī)和所述對(duì)象之間的位置關(guān)系。
可以對(duì)攝像機(jī)圖像進(jìn)行閾值處理(thresholded)??梢岳眠B接組件算法(connected components algorithm)來(lái)識(shí)別連續(xù)的黑色區(qū)域(darkarea)。
可以使用輪廓搜索技術(shù)來(lái)識(shí)別這些黑色區(qū)域的輪廓??梢詠G棄不包含四個(gè)角的輪廓。可以丟棄包含了尺寸錯(cuò)誤的區(qū)域的輪廓。
可以將直線擬合到正方形輪廓的各條邊。這些直線的交點(diǎn)可用作估計(jì)的角部位置。
可以使用投影變換將由這些角部描述的區(qū)域變形為標(biāo)準(zhǔn)形狀。所述標(biāo)準(zhǔn)形狀可以與所存儲(chǔ)的標(biāo)記的樣本交叉相關(guān),以找到標(biāo)記的識(shí)別信息和取向。
標(biāo)記角部的位置可以用來(lái)確定與相對(duì)于標(biāo)記位置的攝像機(jī)位置相關(guān)的唯一歐幾里德變換矩陣。
所述交互式系統(tǒng)可以是講故事應(yīng)用程序,或者是室內(nèi)設(shè)計(jì)應(yīng)用程序。
所述系統(tǒng)還可以包括至少兩個(gè)對(duì)象,其中確定所述至少兩個(gè)對(duì)象之間的空間關(guān)系,以根據(jù)與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容產(chǎn)生預(yù)定響應(yīng)。
所述空間關(guān)系可以從包括以下內(nèi)容的組中選擇對(duì)象之間的距離、層疊以及遮擋。
所述預(yù)定響應(yīng)可以從包括以下內(nèi)容的組中選擇相關(guān)聯(lián)的多媒體內(nèi)容之間的交互、至少一個(gè)相關(guān)聯(lián)的多媒體內(nèi)容的動(dòng)畫、以及至少一個(gè)相關(guān)聯(lián)的多媒體內(nèi)容的音頻錄音的回放。
在第二方面中,提供了一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng),該系統(tǒng)包括圖像采集設(shè)備,用于采集對(duì)象在第一場(chǎng)景中的圖像;以及計(jì)算機(jī)軟件,用于通過(guò)跟蹤所述對(duì)象的具有標(biāo)記的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記,來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向;其中,所述計(jì)算機(jī)軟件檢索與識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
在第三方面中,提供了一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的軟件應(yīng)用程序,該軟件應(yīng)用程序包括圖像處理模塊,用于從圖像采集設(shè)備接收對(duì)象在第一場(chǎng)景中的采集圖像;以及跟蹤模塊,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向,其中每一個(gè)面上都具有標(biāo)記;其中,該軟件應(yīng)用程序檢索與識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
在第四方面中,提供了一種檢索模塊,該檢索模塊用于檢索虛擬對(duì)象以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該模塊包括數(shù)據(jù)接收器,用于接收與所識(shí)別到的標(biāo)記相關(guān)的標(biāo)記識(shí)別數(shù)據(jù);以及搜索工具,用于在虛擬對(duì)象數(shù)據(jù)庫(kù)中搜索與所述標(biāo)記識(shí)別數(shù)據(jù)相對(duì)應(yīng)的虛擬對(duì)象;由此,如果找到匹配,則在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置將所述虛擬對(duì)象疊加在真實(shí)場(chǎng)景上,以向用戶提供混合現(xiàn)實(shí)體驗(yàn)。
所識(shí)別到的標(biāo)記可以具有一個(gè)以上的對(duì)應(yīng)虛擬對(duì)象。
在第五方面中,提供了一種相關(guān)聯(lián)多媒體內(nèi)容的庫(kù),用于向用戶提供混合現(xiàn)實(shí)體驗(yàn),該庫(kù)包括識(shí)別數(shù)據(jù)字段,用于識(shí)別多媒體內(nèi)容的各個(gè)條目;以及內(nèi)容數(shù)據(jù)字段,用于存儲(chǔ)多媒體內(nèi)容的條目或者多媒體內(nèi)容的條目的存儲(chǔ)位置;其中,在所述識(shí)別數(shù)據(jù)字段中搜索與所識(shí)別到的標(biāo)記相關(guān)的標(biāo)記識(shí)別數(shù)據(jù),并且檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,以在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置將其疊加在真實(shí)場(chǎng)景上,來(lái)向用戶提供混合現(xiàn)實(shí)體驗(yàn)。
在第六方面中,提供了一種攜帶用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的混合現(xiàn)實(shí)內(nèi)容的信號(hào),該信號(hào)包括包含真實(shí)場(chǎng)景以及多媒體內(nèi)容的圖形信息,該多媒體內(nèi)容與所識(shí)別到的標(biāo)記相關(guān)聯(lián),并在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述真實(shí)場(chǎng)景上;其中,通過(guò)跟蹤在各個(gè)面上具有標(biāo)記的對(duì)象的至少兩個(gè)面來(lái)識(shí)別所述識(shí)別到的標(biāo)記。
所述信號(hào)還可以包括與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的音頻信息。
在第七方面中,提供了一種在用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng)中使用的有形對(duì)象(tangible object),該對(duì)象包括至少兩個(gè)面;以及各個(gè)面上的標(biāo)記,該標(biāo)記包括不連續(xù)邊界以及該邊界內(nèi)的圖像;其中,所述邊界的不連續(xù)性表示了所述邊界內(nèi)的圖像的定位(alignment)以及所述對(duì)象的取向。
可以通過(guò)跟蹤所述對(duì)象的至少一個(gè)面來(lái)跟蹤所述對(duì)象的位置和取向。
在第八方面中,提供了一種用于有形對(duì)象的標(biāo)記,該有形對(duì)象在用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng)中使用,該標(biāo)記包括不連續(xù)的邊界以及該邊界內(nèi)的圖像;從而,為了在場(chǎng)景中識(shí)別所述標(biāo)記,在該場(chǎng)景內(nèi)定位所述邊界,并搜索所述邊界內(nèi)的圖像以在圖像庫(kù)中找到匹配圖像。
當(dāng)識(shí)別到所述標(biāo)記時(shí),計(jì)算機(jī)軟件可以檢索與所述識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容。
在第九方面中,提供了一種用于跟蹤對(duì)象以向用戶提供混合現(xiàn)實(shí)體驗(yàn)的方法,該方法包括以下步驟計(jì)算所述對(duì)象的具有標(biāo)記的各個(gè)面的對(duì)應(yīng)變換矩陣;識(shí)別具有最高跟蹤置信度的面;以及基于所識(shí)別到的面與所述對(duì)象的物理關(guān)系,來(lái)計(jì)算從標(biāo)記坐標(biāo)系到對(duì)象坐標(biāo)系的變換矩陣;其中,通過(guò)將從對(duì)象坐標(biāo)系到面坐標(biāo)系的變換矩陣與從面坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換矩陣相乘,來(lái)計(jì)算從對(duì)象坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換矩陣。
在第十方面中,提供了一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的圖像采集設(shè)備,該圖像采集設(shè)備包括圖像采集模塊,用于采集對(duì)象在第一場(chǎng)景中的圖像;以及跟蹤模塊,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向,其中每一個(gè)面都具有標(biāo)記;其中,所述圖像采集設(shè)備檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
在第十一方面中,提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括用于攜帶計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可執(zhí)行指令用于從圖像采集設(shè)備接收對(duì)象在第一場(chǎng)景中的采集圖像;以及通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向,其中每一個(gè)面都具有標(biāo)記;其中,檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
現(xiàn)將參照附圖描述本發(fā)明的示例,在附圖中圖1是表示交互式系統(tǒng)的圖形媒體以及立方體的“抽象”的類圖;圖2是表示在交互式系統(tǒng)的“方法立方體”中限定的狀態(tài)和連接(coupling)的映射的表;圖3是表示交互式系統(tǒng)中的“繼承”的表;圖4是表示3D魔幻故事立方體應(yīng)用程序中的虛擬連接的表;圖5是3D魔幻故事立方體應(yīng)用程序的處理流程圖;圖6是表示在室內(nèi)設(shè)計(jì)應(yīng)用程序中添加家具的虛擬連接的表;圖7是一系列屏幕截圖,用于表示虛擬對(duì)象的“拾取”和“放下”如何將家具添加到面板(board)上;圖8是一系列屏幕截圖,用于表示重新排列家具的方法;圖9是表示重新排列家具的虛擬連接的表;圖10是一系列屏幕截圖,用于表示虛擬對(duì)象的“拾取”和“放下”將家具堆疊在面板上;圖11是一系列屏幕截圖,用于表示從面板上扔掉家具;圖12是一系列屏幕截圖,用于集中表示重新排列家具;圖13是在室內(nèi)設(shè)計(jì)應(yīng)用程序中使用的六個(gè)標(biāo)記的圖示;圖14是表示虛擬對(duì)象和實(shí)際對(duì)象的抽象及封裝的類圖;圖15是表示跟蹤立方體的坐標(biāo)系的示意圖;圖16是室內(nèi)設(shè)計(jì)應(yīng)用程序的程序流程的處理流程圖;
圖17是用于添加家具的處理流程圖;圖18是用于重新排列家具的處理流程圖;圖19是用于刪除家具的處理流程圖;圖20表示在室內(nèi)設(shè)計(jì)應(yīng)用程序中的家具物品的沖突;圖21是一系列屏幕截圖,用于表示虛擬對(duì)象之間響應(yīng)于立方體的空間關(guān)系的交互;以及圖22是來(lái)自3D詞匯書應(yīng)用程序的屏幕截圖。
具體實(shí)施例方式
附圖和以下討論旨在提供對(duì)可實(shí)施本發(fā)明的適當(dāng)計(jì)算環(huán)境的簡(jiǎn)要而概括的描述。盡管不需要,但是將在由個(gè)人計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令(例如,程序模塊)的一般環(huán)境中對(duì)本發(fā)明進(jìn)行描述。通常,程序模塊包括執(zhí)行特定任務(wù)或者實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、符號(hào)(character)、組件、數(shù)據(jù)結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明可以通過(guò)其它計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)來(lái)實(shí)施,包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、控制盒等。本發(fā)明還可以在通過(guò)經(jīng)通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式計(jì)算環(huán)境中實(shí)施。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地存儲(chǔ)器存儲(chǔ)設(shè)備和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。
參照?qǐng)D1,提供了一種交互式系統(tǒng),以使得能夠與計(jì)算機(jī)上的軟件應(yīng)用程序進(jìn)行交互。在該示例中,軟件應(yīng)用程序是用于播放媒體文件的媒體播放器應(yīng)用程序。媒體文件包括AVI電影文件或WAV音頻文件。該交互式系統(tǒng)包括在Microsoft Windows XP平臺(tái)上利用Visual C++6.0編寫的軟件、計(jì)算機(jī)監(jiān)視器、以及安裝在該監(jiān)視器上方的用于跟蹤桌面區(qū)域的Dragonfly攝像機(jī)。
通過(guò)將面向?qū)ο蟮膶?shí)物操作用戶界面(Object Oriented Tangible UserInterface(OOTUI))思想應(yīng)用于交互式系統(tǒng)的軟件開(kāi)發(fā),使得能夠使用簡(jiǎn)單的實(shí)物操作用戶界面(TUI)來(lái)進(jìn)行復(fù)雜交互。利用面向?qū)ο缶幊?OOP)技術(shù)抽象出不同的類的對(duì)象的屬性和方法。圖1的(a)示出了以分級(jí)的方式進(jìn)行了結(jié)構(gòu)化的虛擬對(duì)象(圖像10、影片11、3D動(dòng)畫對(duì)象12),它們的共性分類在超類(圖形媒體13)下。與虛擬對(duì)象相對(duì)應(yīng)的三個(gè)子類為圖像10、影片11以及3D動(dòng)畫對(duì)象12。這些子類從圖形媒體超類13繼承了屬性和方法。影片11和3D動(dòng)畫對(duì)象12子類包含對(duì)于它們自身的類來(lái)說(shuō)獨(dú)特的屬性和方法。這些屬性和方法與由TUI的狀態(tài)確定的TUI的物理特性和動(dòng)作相關(guān)。相關(guān)音頻信息可以與圖形媒體11、12、13相關(guān)聯(lián),例如聲音效果。在該系統(tǒng)中,TUI使得能夠?qū)Πㄋ阉魑募?shù)據(jù)庫(kù)以及設(shè)定尺寸、縮放和移動(dòng)圖形媒體11、12、13在內(nèi)的行為進(jìn)行控制。對(duì)于影片11和3D對(duì)象12,行為包括媒體文件的播放/暫停、快進(jìn)及回退。此外,可以調(diào)節(jié)音量。
在該示例中,TUI為立方體。與球體或復(fù)雜形狀相比,立方體在其多個(gè)面之一上具有穩(wěn)定的物理平衡,這使得其相對(duì)容易跟蹤或感測(cè)。在該系統(tǒng)中,立方體的狀態(tài)由這些物理平衡來(lái)確定。此外,可以將立方體堆疊在另一立方體的頂部。在堆疊時(shí),這些立方體形成緊湊并且穩(wěn)定的物理結(jié)構(gòu)。這減少了交互式工作空間的分散。立方體是大多數(shù)人從童年開(kāi)始就熟悉的直觀而簡(jiǎn)單的對(duì)象。立方體可以被抓取,這使得人們能夠利用生動(dòng)的空間推理而不需要具有洞察力的行為來(lái)操縱實(shí)際對(duì)象。
利用基于視覺(jué)的跟蹤算法來(lái)檢測(cè)立方體的位置和運(yùn)動(dòng),從而通過(guò)媒體播放器應(yīng)用程序來(lái)操作圖形媒體。在立方體上存在六個(gè)不同的標(biāo)記,每個(gè)面上一個(gè)標(biāo)記。在其它示例中,可以在一個(gè)面上設(shè)置一個(gè)以上的標(biāo)記。由于立方體的這些面的關(guān)系已知,所以各個(gè)標(biāo)記相對(duì)于彼此的位置已知且固定。為了識(shí)別立方體的位置,對(duì)六個(gè)標(biāo)記中的任何一個(gè)進(jìn)行跟蹤。這確保了即使在交互期間手或兩手遮擋了立方體的不同部分也能夠進(jìn)行連續(xù)跟蹤。這意味著可以根據(jù)對(duì)立方體進(jìn)行操縱的能力的最小約束來(lái)直觀且直接地操縱立方體。
利用人為現(xiàn)象(artefact)的狀態(tài)來(lái)轉(zhuǎn)換與這些類的連接關(guān)系。當(dāng)立方體??吭谄涠鄠€(gè)面中的任何一個(gè)上時(shí),根據(jù)立方體的六個(gè)物理平衡來(lái)限定各個(gè)立方體的狀態(tài)。為了與媒體播放器應(yīng)用程序進(jìn)行交互,僅需要處理三個(gè)類。由于立方體具有六個(gè)狀態(tài),所以單個(gè)立方體提供了與這三個(gè)類的足夠連接。該立方體被稱為“對(duì)象立方體”14。
然而,為了處理虛擬對(duì)象的虛擬屬性/方法17,由于連接的最大數(shù)量已達(dá)到六個(gè),所以對(duì)于影片11和3D動(dòng)畫對(duì)象12類來(lái)說(shuō)單個(gè)立方體是不夠的。連接的總數(shù)為立方體的六個(gè)狀態(tài),其小于3個(gè)類+6個(gè)屬性/方法17。這超過(guò)了單個(gè)立方體的極限。因此,提供了用于連接虛擬對(duì)象的虛擬屬性/方法17的第二立方體。該立方體被稱為“方法立方體”15。
“對(duì)象立方體”14的狀態(tài)決定了所顯示的對(duì)象的類以及與“方法立方體”15連接的類?!胺椒⒎襟w”15的狀態(tài)決定了物理特性/動(dòng)作18所連接的虛擬屬性/方法17。針對(duì)虛擬對(duì)象以及立方體,對(duì)相關(guān)信息進(jìn)行結(jié)構(gòu)化和分類。圖1的(b)示出了抽象之后的立方體16的結(jié)構(gòu)。
“對(duì)象立方體”14用作容納圖形媒體的數(shù)據(jù)庫(kù)。存在立方體的三個(gè)有效狀態(tài)。當(dāng)跟蹤立方體的頂面并且該立方體的頂面與三個(gè)預(yù)定標(biāo)記之一相對(duì)應(yīng)時(shí),僅允許顯示其所繼承的類的實(shí)例,在該示例中其為媒體文件的類型。當(dāng)旋轉(zhuǎn)或變換立方體時(shí),顯示圖形虛擬對(duì)象,使其看起來(lái)好像附著于立方體的頂面上。還可以為虛擬對(duì)象和實(shí)際立方體之間的附著引入一些彈性。立方體的這些狀態(tài)還決定了“方法立方體”15的連接類,激活到根據(jù)所繼承類的動(dòng)作的連接或使該連接無(wú)效。
由于彈性,當(dāng)最終在位置A處跟蹤到標(biāo)記之后,由于用戶的手導(dǎo)致的遮擋,系統(tǒng)可能會(huì)丟失對(duì)標(biāo)記的跟蹤。當(dāng)稍后在位置B處重新跟蹤到該標(biāo)記時(shí),在后繼幀中顯示該虛擬對(duì)象,好像虛擬對(duì)象從位置A彈跳到位置B。這使得能夠進(jìn)行平滑過(guò)渡,以避免在系統(tǒng)丟失對(duì)標(biāo)記或具有標(biāo)記的對(duì)象的跟蹤時(shí)對(duì)象顯示的閃爍。
參照?qǐng)D2,在“方法立方體”15上,立方體的特性/動(dòng)作18分別映射到虛擬對(duì)象的三個(gè)類的屬性/方法17。盡管存在虛擬對(duì)象的具有不同屬性和方法的三個(gè)不同的類,然而不必須為它們?nèi)慷荚O(shè)計(jì)新的界面。相反,通過(guò)對(duì)相似方法/特性進(jìn)行分組并使用相同的界面來(lái)實(shí)施相似方法/特性來(lái)減少冗余。
在圖2中,從圖形媒體超類13繼承方法“選擇”19、“X-Y縮放”20以及“變換”21。它們可以被分組在一起,從而通過(guò)同一界面進(jìn)行控制。方法“設(shè)置播放/停止”23、“設(shè)置動(dòng)畫/停止”、“調(diào)節(jié)音量”24以及“設(shè)置幀位置”22為對(duì)于各個(gè)類唯一且在實(shí)現(xiàn)方面不同的方法。盡管這些方法17在實(shí)現(xiàn)方面不同,但是包含相似思想或概念的方法17仍然可以分組在一個(gè)界面下。如圖所示,僅使用一組物理特性/動(dòng)作18與三個(gè)類共同具有的“縮放”方法20連接。這是OOTUI中的多形性的實(shí)現(xiàn)。這是通過(guò)防止界面或與可分類的類相關(guān)的信息的重復(fù)來(lái)產(chǎn)生TUI的緊湊且有效的方式,并且減少了系統(tǒng)中的界面的數(shù)量。利用該技術(shù),界面數(shù)量從15個(gè)界面(用于圖像的方法-3個(gè)界面,用于影片的方法-6個(gè)界面,用于3D對(duì)象的方法-6個(gè)界面)減少為6個(gè)界面。這使得能夠通過(guò)單個(gè)立方體的六個(gè)狀態(tài)來(lái)操縱該系統(tǒng)。
參照?qǐng)D3,圖片的第一行30表示立方體從“影片”類11繼承用于與方法31連接的特性。用戶能夠利用所繼承的類中的“設(shè)置幀方法”32來(lái)切換場(chǎng)景。第二行35表示用戶對(duì)“3D對(duì)象”類12執(zhí)行相同的任務(wù)。第三行36中的第一個(gè)圖片表示“圖像”類10不繼承“設(shè)置幀方法”32,因此在該面上出現(xiàn)紅叉。第二個(gè)圖片表示“對(duì)象立方體”14處于由紅叉表示的未定義狀態(tài)。
“方法立方體”15到影片11和動(dòng)畫對(duì)象12的“設(shè)置幀”32方法的旋轉(zhuǎn)動(dòng)作是用于觀看影片的直觀界面。該方法間接地實(shí)現(xiàn)了典型視頻播放器上的諸如“快進(jìn)”和“回退”的功能。此外,“方法立方體”15使得用戶能夠“播放/暫?!眲?dòng)畫。
用戶可以通過(guò)相同的動(dòng)作來(lái)設(shè)置所有三個(gè)類的圖形媒體的尺寸,即通過(guò)旋轉(zhuǎn)“方法立方體”15使“+”作為頂面(狀態(tài)2)。這調(diào)用了“尺寸”方法20,其參照立方體相對(duì)于其頂面的法線的角度改變圖形媒體的尺寸。從TUI的設(shè)計(jì)者的角度,對(duì)三個(gè)類10、11、12不同地實(shí)現(xiàn)“尺寸”方法20。然而,用戶感覺(jué)不到實(shí)現(xiàn)方面的該差異,從而該差異是透明的。
為了增強(qiáng)用戶的音頻和視覺(jué)體驗(yàn),增添了視覺(jué)和音頻效果以產(chǎn)生情感召喚體驗(yàn)。例如,使用動(dòng)畫綠色圓箭頭和紅叉來(lái)表示可行動(dòng)作。音頻反饋包括聲音效果,以表示對(duì)象立方體和方法立方體的狀態(tài)變化。
示例-3D詞匯書參照?qǐng)D22,給孩子們用的3D交互式詞匯書是該交互式系統(tǒng)的應(yīng)用程序。3D交互式詞匯書需要來(lái)自兩個(gè)立方體的交互。屏幕截圖左側(cè)的“對(duì)象立方體”具有六個(gè)面。每個(gè)面都向孩子們顯示要學(xué)習(xí)的3D對(duì)象的類。圖22示出了“車輛”類。屏幕截圖右側(cè)的“方法立方體”用于導(dǎo)航“車輛”數(shù)據(jù)庫(kù)。當(dāng)用戶根據(jù)立方體的頂面上所示的導(dǎo)航圖案旋轉(zhuǎn)“方法立方體”時(shí),顯示在“對(duì)象立方體”上方的3D模型從坦克變?yōu)槠?。彈出?D文本以不同的語(yǔ)言顯示單詞“坦克”,包括簡(jiǎn)要說(shuō)明??梢允鼓P蛣?dòng)畫。如果使模型動(dòng)畫,則與該簡(jiǎn)要描述的人工敘述一起播放發(fā)動(dòng)機(jī)噪聲。還可以播放不同語(yǔ)言的單詞的不同發(fā)音。此外,向用戶提供包括重設(shè)對(duì)象尺寸和移動(dòng)對(duì)象在內(nèi)的其它交互。
示例-3D魔幻故事立方體應(yīng)用程序該交互式系統(tǒng)的另一應(yīng)用程序?yàn)?D魔幻故事立方體應(yīng)用程序。在該應(yīng)用程序中,故事立方體講述著名的圣經(jīng)故事“Noah’s Ark”。該應(yīng)用程序所需的硬件包括計(jì)算機(jī)、攝像機(jī)以及可折疊立方體。計(jì)算機(jī)的最低要求為至少512MB RAM和128MB的圖形卡。在一個(gè)示例中,使用IEEE1394攝像機(jī)。在計(jì)算機(jī)中安裝IEEE 1394卡以與IEEE 1394攝像機(jī)連接。該應(yīng)用程序適用的兩個(gè)IEEE 1394攝像機(jī)為Dragonfly攝像機(jī)或者Firefly攝像機(jī)。這些攝像機(jī)都能夠以30Hz的速度、以640×480像素的分辨率獲取彩色圖像。這能夠在探索折疊的有形立方體的同時(shí)觀看故事的3D版本。攝像機(jī)的采集速度越高,由于延遲的減少,使得用戶的混合現(xiàn)實(shí)體驗(yàn)越真實(shí)。攝像機(jī)的分辨率越高,圖像細(xì)節(jié)越多,因此提高了跟蹤準(zhǔn)確率。使用可折疊立方體作為3D故事講述的TUI。用戶可以按照單向(unilateral)的方式展開(kāi)該立方體。以前已對(duì)2D故事講述使用了可折疊立方體,并且在立方體的面上印出圖片。
在該應(yīng)用程序中使用的軟件和軟件庫(kù)為Microsoft Visual C++6.0、DirectX、OpenGL、GLUT和MXR開(kāi)發(fā)工具箱。Microsoft Visual C++6.0用作開(kāi)發(fā)工具。其特色在于完全集成的編輯器、編譯器和調(diào)試器,從而使編碼和軟件開(kāi)發(fā)更容易。用于其它組件的庫(kù)也是集成的。在虛擬現(xiàn)實(shí)(VR)模式中,DirectX、OpenGL和GLUT對(duì)于圖形顯示起到重要作用。OpenGL是開(kāi)發(fā)便攜的交互式2D和3D圖形應(yīng)用程序的首要環(huán)境。OpenGL負(fù)責(zé)VR模式下的2D和3D圖形的所有操縱。GLUT是OpenGL實(shí)用工具箱,并且是用于編寫OpenGL程序的窗口系統(tǒng)獨(dú)立工具箱。其用于實(shí)現(xiàn)OpenGL的窗口應(yīng)用程序接口(API)。MXR開(kāi)發(fā)工具箱使開(kāi)發(fā)者能夠生成增強(qiáng)現(xiàn)實(shí)(AR)軟件應(yīng)用程序。其主要用于編寫視頻采集和標(biāo)記識(shí)別方面的應(yīng)用程序。MXR工具箱是用于跟蹤基準(zhǔn)(fiducial)并識(shí)別基準(zhǔn)內(nèi)的圖案的計(jì)算機(jī)視覺(jué)工具。在每個(gè)面上都具有獨(dú)特標(biāo)記的立方體的使用使得能夠使用MXR工具箱通過(guò)計(jì)算機(jī)連續(xù)跟蹤立方體的位置。
參照?qǐng)D4,3D魔幻故事立方體應(yīng)用程序?qū)换ナ焦适轮v述應(yīng)用簡(jiǎn)單的狀態(tài)轉(zhuǎn)換模型40。當(dāng)用戶將立方體展開(kāi)成特定物理狀態(tài)41時(shí),以預(yù)定的順序播放音頻和3D動(dòng)畫的適當(dāng)片斷。僅在播放了當(dāng)前狀態(tài)的內(nèi)容時(shí)才調(diào)用狀態(tài)轉(zhuǎn)換。應(yīng)用OOTUI思想,可以將可折疊立方體的各個(gè)狀態(tài)的虛擬連接映射42到一頁(yè)數(shù)字動(dòng)畫。
參照?qǐng)D5,設(shè)計(jì)算法50來(lái)跟蹤可折疊立方體,該可折疊立方體在各個(gè)展開(kāi)頁(yè)上具有不同的標(biāo)記。跟蹤51并記錄52標(biāo)記的相對(duì)位置。該算法確保了連續(xù)跟蹤,并確定某頁(yè)何時(shí)曾經(jīng)播放過(guò)。這使得能夠以單向的方式探索故事,從而使故事能夠保持連續(xù)的敘述進(jìn)度。當(dāng)故事的所有頁(yè)都播放過(guò)一次時(shí),用戶可以返回到故事的任意頁(yè)以觀看再次播放的場(chǎng)景。
在設(shè)計(jì)該系統(tǒng)時(shí)應(yīng)該牢記的一些設(shè)計(jì)考慮是在較差照明條件和圖像分辨率期間系統(tǒng)的魯棒性。
立方體的展開(kāi)是單向的,這使得每次展開(kāi)該立方體時(shí)都能展示故事的新頁(yè)。用戶可以按照其非增強(qiáng)視圖(2D視圖)及其增強(qiáng)視圖(3D視圖)來(lái)觀看顯示在立方體上的故事。故事的場(chǎng)景是立方體的面上的增強(qiáng)3D圖形。
除了3D操縱和3D觸覺(jué)以外,AR敘述還通過(guò)引入3D圖形和聲音來(lái)提供具有吸引力并且可理解的體驗(yàn)。用戶能夠在體驗(yàn)故事時(shí)享受參與和探索角色的樂(lè)趣。實(shí)際立方體提供了觸覺(jué)和使得能夠進(jìn)行自然且直觀的交互的物理交互。例如,用戶可以移動(dòng)靠近故事立方體的控制立方體,以去除或添加新的故事角色或故事對(duì)象。此外,實(shí)際立方體使得能夠在聽(tīng)眾之間交流故事講述,就像他們彼此自然互相一樣。
為了增強(qiáng)用戶交互并增強(qiáng)立方體展開(kāi)的直觀性,在播放故事的每一頁(yè)或每一節(jié)之后顯示動(dòng)畫箭頭以指示展開(kāi)立方體的方向。此外,所使用的3D虛擬模型具有96%的輕微透明度,以確保用戶的手仍部分可見(jiàn),從而使得能夠進(jìn)行如何操縱立方體的視覺(jué)反饋。
當(dāng)跟蹤到一個(gè)特定標(biāo)記時(shí),對(duì)故事立方體的每一頁(yè)進(jìn)行再現(xiàn)。由于標(biāo)記可能較小,所以還可以在一頁(yè)上具有多個(gè)標(biāo)記。由于多個(gè)標(biāo)記以已知布局定位在同一個(gè)面上,所以跟蹤這些標(biāo)記之一確保了其它標(biāo)記的位置是已知的。該性能利于更魯棒的跟蹤。
為了有助于進(jìn)行同步,使用計(jì)算機(jī)系統(tǒng)時(shí)鐘使在程序中使用的各個(gè)計(jì)數(shù)器遞增。這使得該程序?qū)τ诓煌?jì)算機(jī)以不同的速度運(yùn)行。一種另選的方案是使用恒定的幀速率方法,其中每一秒再現(xiàn)恒定數(shù)量的幀。為了實(shí)現(xiàn)恒定的幀速率,將一秒分成多個(gè)相同大小的時(shí)間片,并在每一時(shí)間片開(kāi)始時(shí)開(kāi)始再現(xiàn)每一幀。該應(yīng)用程序必須確保每一幀的再現(xiàn)不超過(guò)一個(gè)時(shí)間片,否則將破壞幀的恒定頻率。為了計(jì)算3D魔幻故事立方體應(yīng)用程序的再現(xiàn)的最大可能幀速率,測(cè)量再現(xiàn)最復(fù)雜的場(chǎng)景所需的時(shí)間量。根據(jù)該測(cè)量來(lái)計(jì)算出每秒的幀數(shù)。
示例-室內(nèi)設(shè)計(jì)應(yīng)用程序?yàn)樵摻换ナ较到y(tǒng)開(kāi)發(fā)的另一應(yīng)用程序是室內(nèi)設(shè)計(jì)應(yīng)用程序。在該應(yīng)用程序中,與家具面板相結(jié)合使用MXR工具箱,以利用作為家具目錄的書來(lái)顯示房間的位置。
MXR工具箱提供了各個(gè)標(biāo)記的位置,但未提供與用于和虛擬對(duì)象進(jìn)行交互的命令有關(guān)的信息。這些立方體可被抓取,從而使得用戶能夠?qū)μ摂M對(duì)象具有更有代表性的感覺(jué)。由于立方體可以被抓取(與操作手柄相比),所以運(yùn)動(dòng)自由度受到較少的約束。立方體作為包括具有已知關(guān)系的六個(gè)相連標(biāo)記的對(duì)象被跟蹤。這即使在一個(gè)標(biāo)記被遮擋或覆蓋時(shí)也可以確保對(duì)立方體的連續(xù)跟蹤。
除了立方體之外,家具面板具有六個(gè)標(biāo)記??梢詢H使用家具面板上的一個(gè)標(biāo)記來(lái)獲得滿意的跟蹤準(zhǔn)確度級(jí)別。然而,利用多個(gè)基準(zhǔn)使得只要有一個(gè)基準(zhǔn)未被遮擋就能夠進(jìn)行魯棒的跟蹤。這對(duì)于立方體和面板的連續(xù)跟蹤很重要。
為了選擇特定的家具物品,用戶使用家具目錄或書,其每一頁(yè)上都具有一個(gè)標(biāo)記。該思想類似于所述的3D魔幻故事立方體應(yīng)用程序。用戶將立方體設(shè)置在代表家具目錄的選擇的標(biāo)記旁邊的加載區(qū)域,以在AR模式下觀看家具。
參照?qǐng)D14,在確定要利用立方體執(zhí)行的任務(wù)之前,應(yīng)用OOTUI使得軟件開(kāi)發(fā)者能夠處理復(fù)雜界面。首先,確定所關(guān)心的虛擬對(duì)象及其屬性和方法。將虛擬對(duì)象分成兩組可堆疊的對(duì)象140和不可堆疊的對(duì)象141。可堆疊的對(duì)象140是可以放置在其它對(duì)象的頂部的對(duì)象,例如植物、電視機(jī)以及Hi-Fi單元。它們還可以放置在地上。兩個(gè)組140、141都從它們的父類(3D家具142)繼承屬性和方法??啥询B的對(duì)象140具有額外的屬性143,即相對(duì)于其所放置在的對(duì)象的相對(duì)位置。圖14中的(a)表示了該抽象的結(jié)果。
對(duì)于虛擬工具立方體144,立方體的六個(gè)平衡被定義為確定這些狀態(tài)的多個(gè)因素之一。該立方體的一些附加屬性將與家具目錄和面板互補(bǔ)地使用。因此,具有諸如立方體相對(duì)于書145和面板146的相對(duì)位置的一些附加屬性。與從立方體父類144繼承的屬性相結(jié)合的這些附加屬性確定了立方體的各種狀態(tài)。這在圖14中的(b)示出。
為了直觀地拾取對(duì)象,需要以下步驟1)移動(dòng)到所需對(duì)象的附近;2)利用該立方體形成“拾取”姿勢(shì)。
被拾取的對(duì)象將跟隨著手直至其被放下。當(dāng)放下真實(shí)對(duì)象時(shí),可預(yù)期到以下步驟1)僅當(dāng)手做出放下姿勢(shì)時(shí)對(duì)象才開(kāi)始放下;2)根據(jù)重力定律,被放下的對(duì)象落在放下該對(duì)象前該對(duì)象的位置的正下方;3)如果以一角度放下對(duì)象,則在其被放下后將表現(xiàn)為呈一角度。
存在控制在增強(qiáng)現(xiàn)實(shí)中添加虛擬對(duì)象的潛在規(guī)則。
參照?qǐng)D6,為了添加家具,應(yīng)用OOTUI在實(shí)際世界61和虛擬世界62之間形成連接60。對(duì)諸如刪除和重新排列家具的其它方法使用變換63立方體的思想。對(duì)立方體的其它面進(jìn)行類似的映射。
為了確定立方體相對(duì)于書和面板的關(guān)系,需要找到立方體相對(duì)于虛擬對(duì)象的位置和接近度。利用MXR工具箱可以知道各個(gè)標(biāo)記相對(duì)于攝像機(jī)的坐標(biāo)。利用該信息,進(jìn)行矩陣計(jì)算以找到立方體相對(duì)于包括書和面板在內(nèi)的其它物品的接近度和相對(duì)位置。
圖7示出了詳細(xì)的連續(xù)屏幕截圖帶,用于表示虛擬對(duì)象的“拾取”70和“放下”71如何將家具72添加到面板上。
參照?qǐng)D8,與添加家具物品類似,“拾取”80和“放下”的思想也可以用于重新排列家具。將“右轉(zhuǎn)箭頭”標(biāo)記81用作為頂面,因?yàn)榕c象征添加的“+”標(biāo)記相比,其象征著沿所有可能的方向移動(dòng)。圖9示出了與重新排列家具的虛擬連接。
在設(shè)計(jì)AR系統(tǒng)時(shí),虛擬對(duì)象的物理約束被表示為現(xiàn)實(shí)中的對(duì)象。當(dāng)在房間中引入家具時(shí),在房間中移動(dòng)所需虛擬家具時(shí)存在物理約束。如果在該位置已存在虛擬家具物品,則不允許用戶在該位置“放下”另一家具物品。用戶可以放下家具物品的最近位置緊鄰面板上現(xiàn)有的家具物品。
參照?qǐng)D10,較小的虛擬家具物品可以堆疊在較大物品上。例如,諸如植物和電視機(jī)的物品可以放置在架子和桌子的頂部,也可以放置在地上。同樣,可以重新排列放置在地上的物品,以將其堆疊在另一物品的頂部。圖10示出了從地上拾取并被放在架子的頂部的植物。
參照?qǐng)D11,直觀地刪除或扔出對(duì)象需要進(jìn)行以下步驟1)接近所期望的對(duì)象110;2)利用立方體做出“拾取”姿勢(shì)111;以及3)用手做出投擲動(dòng)作112。
參照?qǐng)D12,可以將特定家具物品堆疊在其它家具物品上。這實(shí)現(xiàn)了與特定虛擬對(duì)象的分組和集中關(guān)系120。圖12示出了在集中地重新排列家具的任務(wù)中使用大立方體(用于成組對(duì)象)。
為了增加對(duì)于用戶的直觀性,添加了視覺(jué)和音頻反饋。這增強(qiáng)了用戶的體驗(yàn),還有效地利用了用戶的觸覺(jué)、聽(tīng)覺(jué)(sound)和視覺(jué)。當(dāng)發(fā)生不同的事件時(shí)添加不同的聲音。這些事件包括選擇家具對(duì)象、拾取、添加、重新排列和刪除。此外,當(dāng)家具物品與面板上的另一對(duì)象碰撞時(shí),持續(xù)播放連續(xù)不斷的警告聲直至用戶將該家具物品移動(dòng)到新位置為止。由于提供視覺(jué)和音頻反饋提高了與用戶的交互,所以這使得增強(qiáng)的實(shí)物操作用戶界面更直觀。
在室內(nèi)設(shè)計(jì)應(yīng)用程序中使用的硬件包括家具面板和立方體。該室內(nèi)設(shè)計(jì)應(yīng)用程序擴(kuò)展了前述的單個(gè)標(biāo)記跟蹤。家具面板是二維的而立方體是三維的,用于跟蹤多個(gè)對(duì)象。
參照?qǐng)D13,擴(kuò)展了用于跟蹤用戶ID卡的方法以跟蹤共享白板卡130。使用六個(gè)標(biāo)記131來(lái)跟蹤面板130的位置,從而增加系統(tǒng)的魯棒性。根據(jù)可視標(biāo)記來(lái)估算用于多個(gè)標(biāo)記131的變換矩陣,因而當(dāng)可用的標(biāo)記很少時(shí)會(huì)引入誤差。各個(gè)標(biāo)記131在其內(nèi)部具有獨(dú)特的圖案132,這使得該系統(tǒng)能夠識(shí)別這些標(biāo)記131,這些標(biāo)記應(yīng)該水平或垂直對(duì)準(zhǔn),并且可以估算面板旋轉(zhuǎn)。
相對(duì)于面板的計(jì)算中心133來(lái)再現(xiàn)陳列室。當(dāng)跟蹤以上特定標(biāo)記時(shí),利用預(yù)設(shè)的X位移和Y位移使用一些簡(jiǎn)單變換來(lái)計(jì)算出面板的中心133。然后根據(jù)所跟蹤的標(biāo)記131的數(shù)量對(duì)計(jì)算出的這些中心133進(jìn)行平均。這確保了只要跟蹤一個(gè)標(biāo)記131就可以連續(xù)跟蹤和再現(xiàn)面板130上的家具陳列室。
當(dāng)標(biāo)記131的表面接近平行于視線時(shí),由于用于識(shí)別的像素較少,所以跟蹤變得更加困難。當(dāng)標(biāo)記翻轉(zhuǎn)時(shí),跟蹤丟失。由于標(biāo)記131的整個(gè)區(qū)域必須始終可見(jiàn)以確保成功跟蹤,所以不允許標(biāo)記131上的任何遮擋。這導(dǎo)致操縱和自然的雙手交互很困難。
參照?qǐng)D15,該算法的一個(gè)優(yōu)點(diǎn)在于其使得能夠通過(guò)雙手直接操縱立方體。當(dāng)用一只手操縱立方體時(shí),只要檢測(cè)到立方體的六個(gè)面中的至少一個(gè),就可以始終跟蹤該立方體。用于跟蹤立方體的算法如下1、檢測(cè)所有的面標(biāo)記150,并針對(duì)各個(gè)檢測(cè)面計(jì)算對(duì)應(yīng)的變換矩陣(Tcm)。
2、選擇具有最高跟蹤置信度的面,并識(shí)別其面ID,即頂、底、左、右、前、后。
3、根據(jù)所選擇的標(biāo)記與該立方體的物理關(guān)系,來(lái)計(jì)算從標(biāo)記坐標(biāo)系到對(duì)象坐標(biāo)系151的變換矩陣(Tmo)。
4、利用Tco=Tcm-1×Tmo來(lái)計(jì)算從對(duì)象坐標(biāo)系151到攝像機(jī)坐標(biāo)系(Tco)152的變換矩陣。
圖16示出了AR室內(nèi)設(shè)計(jì)應(yīng)用程序的執(zhí)行,其中并行地搜索面板160、小立方體161和大立方體162。
為了使得用戶能夠在立方體接近家具分類的標(biāo)記131時(shí)拾取虛擬對(duì)象,需要知道立方體和虛擬對(duì)象之間的相對(duì)距離。由于MXR工具箱返回各個(gè)標(biāo)記131的攝像機(jī)坐標(biāo),所以使用標(biāo)記來(lái)計(jì)算距離。使用立方體上的標(biāo)記與虛擬對(duì)象的標(biāo)記之間的距離來(lái)求出立方體相對(duì)于標(biāo)記的接近度。
可以求出各個(gè)標(biāo)記的攝像機(jī)坐標(biāo)。這意味著立方體上的標(biāo)記的攝像機(jī)坐標(biāo)以及虛擬對(duì)象的標(biāo)記的攝像機(jī)坐標(biāo)由MXR工具箱提供。換言之,已知立方體標(biāo)記相對(duì)于攝像機(jī)的坐標(biāo)和虛擬對(duì)象標(biāo)記的坐標(biāo)。TA是從攝像機(jī)原點(diǎn)到虛擬對(duì)象標(biāo)記的變換矩陣。TB是從攝像機(jī)原點(diǎn)到立方體標(biāo)記的變換矩陣。然而,這沒(méi)有給出立方體標(biāo)記與虛擬對(duì)象標(biāo)記之間的關(guān)系。根據(jù)這些坐標(biāo),可以求出有效距離。
通過(guò)求出TA-1,獲得從虛擬對(duì)象到攝像機(jī)原點(diǎn)的變換矩陣。利用該信息,獲得立方體相對(duì)于虛擬對(duì)象標(biāo)記的相對(duì)位置。僅關(guān)心立方體和虛擬對(duì)象的接近度。因此,僅需要進(jìn)行從虛擬對(duì)象到立方體所需的變換(即,Tx、Ty、Tz),并可以忽略旋轉(zhuǎn)分量。
R11R12R13TxR21R22R23TyR31R32R33Tz0001=[TA-1][TB]]]>(等式1)Tz用于測(cè)量立方體是否放置在書或面板上。這設(shè)置了用于拾取和放下對(duì)象的平臺(tái)(stage)。該值與立方體相對(duì)于該立方體頂部的標(biāo)記的高度相對(duì)應(yīng)。然而,考慮到跟蹤中的不精確,允許使用立方體的高度附近的特定范圍。
Tx、Ty用于確定立方體是否位于書或面板的特定范圍內(nèi)。如果立方體在書附近并位于加載區(qū)域,則允許立方體處于“添加”模式。如果立方體在面板周邊內(nèi)或距面板中心的特定半徑內(nèi),則允許重新排列、刪除、添加立方體,或者將立方體堆疊到其它對(duì)象上。
存在一些用于確定立方體的狀態(tài)的參數(shù),其包括立方體的頂面、立方體的高度、以及立方體相對(duì)于面板和書的位置。
該系統(tǒng)通過(guò)初始化步驟進(jìn)行校準(zhǔn),以使得能夠在立方體的交互和操縱期間確定立方體的頂面。該步驟涉及在將立方體放置在桌子上時(shí),在開(kāi)始之前獲得桌子的法線。因此,通過(guò)比較立方體和桌面的法線,可以在桌子上方操縱立方體時(shí)確定立方體的頂面。立方體的變換矩陣被獲得為被稱為tfmTable的矩陣。該變換矩陣包含與標(biāo)記相對(duì)于攝像機(jī)的位置和取向有關(guān)的所有信息。準(zhǔn)確地說(shuō),該變換矩陣是歐幾里德變換矩陣,其將跟蹤幀的基準(zhǔn)幀中的點(diǎn)變換成攝像機(jī)中的基準(zhǔn)幀中的點(diǎn)。該程序的整體結(jié)構(gòu)被定義為r11r12r13txr21r22r23tyr31r32r33tz]]>省略了等式1中的最后一行,因?yàn)槠鋵?duì)所期望的計(jì)算沒(méi)有影響。最初的九個(gè)元素形成了3×3旋轉(zhuǎn)矩陣并描述了對(duì)象的取向。為了確定立方體的頂面,利用通過(guò)跟蹤各個(gè)面而獲得的變換矩陣并求解以下等式。將用于立方體的各個(gè)面的變換矩陣稱為tfmCube。
Dot_product=tfmCube.r13*tfmTable.r13+tfmCube.r23*tfmTable.r23+ (等式2)tfmCube.r33*tfmTable.r33立方體的利用等式2中的變換矩陣產(chǎn)生最大Dot_product的面被確定為立方體的頂面。還考慮立方體相對(duì)于書和面板的位置。立方體的四種位置狀態(tài)被定義為在面板上、離開(kāi)面板、在書上、離開(kāi)書。立方體的狀態(tài)與其位置的關(guān)系提供如下
參照?qǐng)D17,通過(guò)使用“+”標(biāo)記作為立方體170的頂面來(lái)添加家具。這使得接近了具有所期望的家具所面對(duì)的頁(yè)的家具目錄。當(dāng)檢測(cè)到立方體位于書上(在書上)171時(shí),在立方體的頂部彈出虛擬家具對(duì)象。利用旋轉(zhuǎn)運(yùn)動(dòng),由于在立方體旋轉(zhuǎn)的同時(shí)在立方體上彈出不同的虛擬家具物品,所以用戶可以“瀏覽”該目錄。當(dāng)拾取立方體(離開(kāi)書)時(shí),在立方體上見(jiàn)到的最后一個(gè)虛擬家具物品被拾取172。當(dāng)檢測(cè)到立方體在面板上(在面板上)時(shí),用戶可以通過(guò)將立方體抬離面板(離開(kāi)面板)而將家具添加到立方體173。為了重新排列家具,將立方體放置在面板上(在面板上),并且以“右箭頭”標(biāo)記作為頂面。當(dāng)檢測(cè)到立方體被放置在面板上時(shí),用戶可以通過(guò)將立方體移動(dòng)到所期望的家具的中心來(lái)“拾取”該家具。
參照?qǐng)D18,當(dāng)家具被“拾取”(離開(kāi)面板)時(shí),在立方體的頂部再現(xiàn)該家具,并發(fā)出音頻提示180。然后用戶將面板上的立方體移動(dòng)到期望位置。當(dāng)選擇了該位置時(shí),用戶僅將立方體抬離面板以將其放到該位置181。
參照?qǐng)D19,為了刪除家具,將立方體放置在面板上(在面板上),并且以“×”標(biāo)記作為頂面190。當(dāng)刪除位于面板上的立方體時(shí),用戶可以通過(guò)將立方體移動(dòng)到所期望的家具的中心來(lái)選擇該家具。當(dāng)成功選擇了家具時(shí),在立方體的頂部再現(xiàn)該家具并發(fā)出音頻提示191。然后用戶將該立方體抬離面板(離開(kāi)面板)以刪除該家具192。
當(dāng)引入或重新排列家具時(shí),應(yīng)該牢記的問(wèn)題是家具的物理約束。與現(xiàn)實(shí)相同,增強(qiáng)現(xiàn)實(shí)世界中的家具不能與另一家具沖突或“相交”。因此,當(dāng)家具與另一家具沖突時(shí),不允許用戶添加該家具。
參照?qǐng)D20,解決家具物品沖突問(wèn)題的一種途徑是對(duì)四個(gè)邊界坐標(biāo)200和被添加到發(fā)生沖突的家具的坐標(biāo)系的家具的中心進(jìn)行轉(zhuǎn)置。將點(diǎn)pt0、pt1、pt2、pt3、pt4200轉(zhuǎn)置到面板上的家具的U-V軸。然后根據(jù)在面板上的家具的x-長(zhǎng)度和y-寬度201來(lái)檢查這五個(gè)點(diǎn)的U-V坐標(biāo)。
UN=cosθ(XN-X0)+sinθ(YN-Y0)VN=sinθ(XN-X0)+cosθ(YN-Y0)其中
只有在任意U-V坐標(biāo)滿足UN<x-長(zhǎng)度&&VN<y-寬度的情況下,才發(fā)出音頻效果。這向用戶表示不允許他們將家具物品放在該位置而必須在放下該家具物品之前移動(dòng)到另一位置。
對(duì)于可以在其頂部上堆疊物品的家具(例如,桌子和架子),在它們的被稱為堆疊的家具結(jié)構(gòu)中設(shè)置標(biāo)志。當(dāng)檢測(cè)到用于放置在該對(duì)象的頂部上的諸如植物、hi-fi單元或者電視機(jī)的對(duì)象時(shí),該標(biāo)志被設(shè)置為真。該類別的對(duì)象允許在其上放置多達(dá)四個(gè)對(duì)象。這種類型的家具(例如,植物)除了相對(duì)于面板中心的相對(duì)矩陣以外還在其結(jié)構(gòu)中存儲(chǔ)被堆疊對(duì)象的相對(duì)于桌子或架子的相對(duì)變換矩陣。當(dāng)攝像機(jī)已檢測(cè)到大立方體的“左箭頭”或“×”頂面時(shí),其進(jìn)入集中重新排列和刪除對(duì)象的模式。因此,如果要拾取桌子或架子,并且被堆疊標(biāo)志為真,則可以使用存儲(chǔ)在桌子或架子的頂部上的對(duì)象的結(jié)構(gòu)中的相對(duì)變換矩陣根據(jù)該立方體對(duì)這些對(duì)象進(jìn)行再現(xiàn)。
參照?qǐng)D21,虛擬對(duì)象之間的交互可以響應(yīng)于立方體的空間關(guān)系。在故事場(chǎng)景中,利用兩個(gè)立方體之間的距離來(lái)限定故事角色與其它虛擬對(duì)象之間的交互。在第一屏幕截圖中,用戶朝向具有行星虛擬對(duì)象的較大立方體移動(dòng)具有中國(guó)公主虛擬對(duì)象的小立方體。系統(tǒng)210持續(xù)檢測(cè)小立方體和較大立方體之間的空間關(guān)系。當(dāng)該空間關(guān)系處于特定參數(shù)內(nèi)時(shí),例如小立方體和較大立方體之間的距離充分靠近時(shí),產(chǎn)生來(lái)自虛擬對(duì)象的響應(yīng)。在該示例中,與較大立方體相關(guān)聯(lián)的虛擬對(duì)象從行星變成第二屏幕截圖中所示的玫瑰。
盡管針對(duì)標(biāo)記描述了規(guī)則形狀,然而標(biāo)記可以為不規(guī)則形狀。盡管描述了具有邊界的標(biāo)記,然而在一些實(shí)施例中可以構(gòu)想不需要邊界。對(duì)于不規(guī)則形狀的標(biāo)記,該標(biāo)記的圖案可以●使它們與其余面相區(qū)別。即,區(qū)分標(biāo)記的ID;●具有高對(duì)比度邊緣,從而容易與背景分開(kāi)。因此,顏色不必僅限于黑色和白色;以及●具有至少四個(gè)用于跟蹤的特征點(diǎn)。當(dāng)計(jì)算變換矩陣時(shí),識(shí)別至少四個(gè)特征點(diǎn)。然而,可以使用除了角部之外的其它特征點(diǎn),例如大黑點(diǎn)。
所述的不規(guī)則跟蹤方法可以對(duì)正方形標(biāo)記的使用進(jìn)行補(bǔ)充。當(dāng)正方形的角部或邊緣被遮擋時(shí),不規(guī)則跟蹤提供臨時(shí)支持。
盡管在Microsoft Windows XP平臺(tái)上使用Visual C++6.0編寫了該交互式系統(tǒng)210,然而其它編程語(yǔ)言也是可行的,并且可以使用諸如Linux和MacOS X的其它平臺(tái)。
盡管已描述了Dragonfly攝像機(jī)211,然而可以使用視頻分辨率至少為640×480像素的網(wǎng)絡(luò)攝像機(jī)。
盡管在一個(gè)實(shí)施例中將系統(tǒng)210描述為軟件,然而可以將所有的軟件功能硬件實(shí)現(xiàn)為連接至攝像機(jī)電路的電路。因此,可以構(gòu)想僅通過(guò)攝像機(jī)來(lái)執(zhí)行計(jì)算機(jī)軟件的圖像處理功能。
本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離概述的本發(fā)明的范圍或精神的情況下,可以對(duì)具體實(shí)施例中所示的本發(fā)明進(jìn)行多種變形和/或修改。因此,這些實(shí)施例在所有方面都應(yīng)被認(rèn)為是示例性的而非限制性的。
權(quán)利要求
1.一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng),該系統(tǒng)包括具有至少兩個(gè)面的對(duì)象,每一個(gè)面都具有標(biāo)記;圖像采集設(shè)備,用于采集所述對(duì)象在第一場(chǎng)景中的圖像;以及計(jì)算機(jī)軟件,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記,來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向;其中,所述計(jì)算機(jī)軟件檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述標(biāo)記未被遮擋。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述標(biāo)記為預(yù)定形狀。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,通過(guò)所述軟件識(shí)別所述形狀的至少一部分來(lái)識(shí)別所述標(biāo)記。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中,所述計(jì)算機(jī)軟件利用所述形狀的被識(shí)別的部分來(lái)確定所述標(biāo)記的完整的預(yù)定形狀。
6.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述預(yù)定形狀為正方形。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其中,所述計(jì)算機(jī)軟件識(shí)別所述正方形的至少兩個(gè)角以確定所述標(biāo)記。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述標(biāo)記包括具有單個(gè)缺口的不連續(xù)邊界。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述標(biāo)記包括所述邊界內(nèi)的圖像。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述圖像是幾何圖案。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,將所述圖案與存儲(chǔ)在樣本庫(kù)中的樣本相匹配。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述邊界的顏色產(chǎn)生相對(duì)于所述標(biāo)記的背景顏色的高對(duì)比度,以使得能夠通過(guò)所述計(jì)算機(jī)軟件將背景分開(kāi)。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述邊界的顏色為黑色,并且所述背景的顏色為白色。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,如果所述邊界被部分遮擋而所述邊界內(nèi)的圖案未被遮擋,則所述計(jì)算機(jī)軟件能夠識(shí)別到標(biāo)記。
15.根據(jù)權(quán)利要求1所述的系統(tǒng),該系統(tǒng)還包括顯示設(shè)備,用于在生成所述第二場(chǎng)景的同時(shí)顯示所述第二場(chǎng)景。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述顯示設(shè)備為監(jiān)視器、電視機(jī)屏幕、LCD或PDP。
17.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述顯示設(shè)備為所述圖像采集設(shè)備的取景器,或者是用于投影圖像或視頻的投影儀。
18.根據(jù)權(quán)利要求15所述的系統(tǒng),其中,所述顯示設(shè)備的視頻幀速率在12至30幀每秒的范圍內(nèi)。
19.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述圖像采集設(shè)備安裝在所述顯示設(shè)備上方。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其中,所述圖像采集設(shè)備和所述顯示設(shè)備面向用戶。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其中,在所述用戶和所述顯示設(shè)備之間操縱所述對(duì)象。
22.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,多媒體內(nèi)容包括二維圖像或三維模型、視頻或音頻信息。
23.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述對(duì)象的所述至少兩個(gè)面基本上是平面。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其中,所述至少兩個(gè)面連接在一起。
25.根據(jù)權(quán)利要求23所述的系統(tǒng),其中,所述對(duì)象是立方體或者多面體。
26.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述對(duì)象是可折疊的。
27.根據(jù)權(quán)利要求26所述的系統(tǒng),其中,所述對(duì)象是用于講故事的可折疊立方體。
28.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述計(jì)算機(jī)軟件安裝在臺(tái)式計(jì)算設(shè)備或移動(dòng)計(jì)算設(shè)備上,例如個(gè)人數(shù)字助理(PDA)、移動(dòng)電話、其它移動(dòng)通信設(shè)備、或者具有嵌入式計(jì)算機(jī)處理器的控制盒。
29.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述圖像采集設(shè)備是攝像機(jī)。
30.根據(jù)權(quán)利要求29所述的系統(tǒng),其中,所述攝像機(jī)是CCD或CMOS視頻攝像機(jī)。
31.根據(jù)權(quán)利要求29所述的系統(tǒng),其中,所述攝像機(jī)、計(jì)算機(jī)軟件以及顯示設(shè)備被設(shè)置在單個(gè)集成單元中。
32.根據(jù)權(quán)利要求29所述的系統(tǒng),其中,所述攝像機(jī)、計(jì)算機(jī)軟件以及顯示設(shè)備位于遠(yuǎn)程位置。
33.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,對(duì)于待顯示的每一個(gè)視頻幀,通過(guò)將所述相關(guān)聯(lián)的多媒體內(nèi)容再現(xiàn)到所述第一場(chǎng)景內(nèi),來(lái)將所述相關(guān)聯(lián)的多媒體內(nèi)容疊加在所述第一場(chǎng)景上。
34.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,在三維空間中計(jì)算所述對(duì)象的位置。
35.根據(jù)權(quán)利要求34所述的系統(tǒng),其中,估算所述顯示設(shè)備和所述對(duì)象之間的位置關(guān)系。
36.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,對(duì)采集到的圖像進(jìn)行閾值處理。
37.根據(jù)權(quán)利要求36所述的系統(tǒng),其中,利用連接組件算法來(lái)識(shí)別連續(xù)的黑色區(qū)域。
38.根據(jù)權(quán)利要求37所述的系統(tǒng),其中,利用輪廓搜索技術(shù)來(lái)識(shí)別這些黑色區(qū)域的輪廓。
39.根據(jù)權(quán)利要求38所述的系統(tǒng),其中,不包含四個(gè)角的輪廓被丟棄。
40.根據(jù)權(quán)利要求38所述的系統(tǒng),其中,包含了尺寸錯(cuò)誤的區(qū)域的輪廓被丟棄。
41.根據(jù)權(quán)利要求38所述的系統(tǒng),其中,將直線擬合到正方形輪廓的各條邊。
42.根據(jù)權(quán)利要求41所述的系統(tǒng),其中,所述直線的交點(diǎn)可用作估計(jì)的角部位置。
43.根據(jù)權(quán)利要求42所述的系統(tǒng),其中,使用投影變換將由所述角部位置描述的區(qū)域變形為標(biāo)準(zhǔn)形狀。
44.根據(jù)權(quán)利要求43所述的系統(tǒng),其中,所述標(biāo)準(zhǔn)形狀與所存儲(chǔ)的標(biāo)記樣本交叉相關(guān),以識(shí)別所述標(biāo)記并確定所述對(duì)象的取向。
45.根據(jù)權(quán)利要求42所述的系統(tǒng),其中,所述角部位置用于確定唯一的歐幾里德變換矩陣,該歐幾里德變換矩陣與相對(duì)于所述標(biāo)記的位置的所述顯示設(shè)備的位置相關(guān)。
46.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述交互式系統(tǒng)是室內(nèi)設(shè)計(jì)應(yīng)用程序或者詞匯教學(xué)應(yīng)用程序。
47.根據(jù)權(quán)利要求1所述的系統(tǒng),該系統(tǒng)還包括至少兩個(gè)對(duì)象,其中,確定所述至少兩個(gè)對(duì)象之間的空間關(guān)系,以根據(jù)與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容產(chǎn)生預(yù)定響應(yīng)。
48.根據(jù)權(quán)利要求47所述的系統(tǒng),其中,所述空間關(guān)系是從包含以下內(nèi)容的組中選擇的對(duì)象之間的距離、堆疊以及遮擋。
49.根據(jù)權(quán)利要求47所述的系統(tǒng),其中,所述預(yù)定響應(yīng)是從包含以下內(nèi)容的組中選擇的相關(guān)聯(lián)的多媒體內(nèi)容之間的交互、至少一個(gè)相關(guān)聯(lián)的多媒體內(nèi)容的動(dòng)畫、以及至少一個(gè)相關(guān)聯(lián)的多媒體內(nèi)容的音頻錄音的回放。
50.一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng),該系統(tǒng)包括圖像采集設(shè)備,用于采集對(duì)象在第一場(chǎng)景中的圖像;以及計(jì)算機(jī)軟件,用于通過(guò)跟蹤所述對(duì)象的具有標(biāo)記的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記,來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向;其中,所述計(jì)算機(jī)軟件檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
51.一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的軟件應(yīng)用程序,該應(yīng)用程序包括圖像處理模塊,用于從圖像采集設(shè)備接收對(duì)象在第一場(chǎng)景中的采集圖像;以及跟蹤模塊,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向,其中每一個(gè)面都具有標(biāo)記;其中,所述軟件應(yīng)用程序檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
52.一種檢索模塊,該檢索模塊用于檢索虛擬對(duì)象以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該模塊包括數(shù)據(jù)接收器,用于接收與所識(shí)別到的標(biāo)記相關(guān)的標(biāo)記識(shí)別數(shù)據(jù);以及搜索工具,用于在虛擬對(duì)象數(shù)據(jù)庫(kù)中搜索與所述標(biāo)記識(shí)別數(shù)據(jù)相對(duì)應(yīng)的虛擬對(duì)象;由此,如果找到匹配,則在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置將所述虛擬對(duì)象疊加在真實(shí)場(chǎng)景上,以向用戶提供混合現(xiàn)實(shí)體驗(yàn)。
53.根據(jù)權(quán)利要求52所述的檢索模塊,其中,所識(shí)別到的標(biāo)記具有一個(gè)以上的對(duì)應(yīng)虛擬對(duì)象。
54.一種相關(guān)聯(lián)多媒體內(nèi)容的庫(kù),用于向用戶提供混合現(xiàn)實(shí)體驗(yàn),該庫(kù)包括識(shí)別數(shù)據(jù)字段,用于識(shí)別多媒體內(nèi)容的各個(gè)條目;以及內(nèi)容數(shù)據(jù)字段,用于存儲(chǔ)多媒體內(nèi)容的條目,或者用于存儲(chǔ)多媒體內(nèi)容的條目的存儲(chǔ)位置;其中,在所述識(shí)別數(shù)據(jù)字段中搜索與所識(shí)別到的標(biāo)記相關(guān)的標(biāo)記識(shí)別數(shù)據(jù),并且檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,以在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置將其疊加在真實(shí)場(chǎng)景上,來(lái)向用戶提供混合現(xiàn)實(shí)體驗(yàn)。
55.一種攜帶用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的混合現(xiàn)實(shí)內(nèi)容的信號(hào),該信號(hào)包括包含真實(shí)場(chǎng)景以及多媒體內(nèi)容的圖形信息,該多媒體內(nèi)容與所識(shí)別到的標(biāo)記相關(guān)聯(lián),并在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述真實(shí)場(chǎng)景上;其中,通過(guò)跟蹤在各個(gè)面上具有標(biāo)記的對(duì)象的至少兩個(gè)面來(lái)識(shí)別所述識(shí)別到的標(biāo)記,其中各個(gè)面上具有一個(gè)標(biāo)記。
56.根據(jù)權(quán)利要求55所述的信號(hào),該信號(hào)還包括與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的音頻信息。
57.一種在用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng)中使用的有形對(duì)象,該對(duì)象包括至少兩個(gè)面;以及各個(gè)面上的標(biāo)記,該標(biāo)記包括不連續(xù)邊界以及該邊界內(nèi)的圖像;其中,所述邊界的不連續(xù)性表示了所述邊界內(nèi)的圖像的定位以及所述對(duì)象的取向。
58.根據(jù)權(quán)利要求57所述的對(duì)象,其中,通過(guò)跟蹤所述對(duì)象的至少一個(gè)面來(lái)跟蹤該對(duì)象的位置和取向。
59.一種用于有形對(duì)象的標(biāo)記,該有形對(duì)象在用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng)中使用,該標(biāo)記包括不連續(xù)的邊界以及該邊界內(nèi)的圖像;由此,為了在場(chǎng)景中識(shí)別所述標(biāo)記,在該場(chǎng)景內(nèi)定位所述邊界,并搜索所述邊界內(nèi)的圖像以在圖像庫(kù)中找到匹配圖像。
60.根據(jù)權(quán)利要求59所述的標(biāo)記,其中,當(dāng)識(shí)別到所述標(biāo)記時(shí),計(jì)算機(jī)軟件檢索與所述標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容。
61.一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的方法,該方法包括以下步驟在第一場(chǎng)景中采集具有至少兩個(gè)面并且每一個(gè)面都具有標(biāo)記的對(duì)象的圖像;通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面,來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向;識(shí)別至少一個(gè)標(biāo)記;其中,檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
62.一種用于跟蹤對(duì)象以向用戶提供混合現(xiàn)實(shí)體驗(yàn)的方法,該方法包括以下步驟計(jì)算所述對(duì)象的具有標(biāo)記的各個(gè)面的變換矩陣;識(shí)別具有最高跟蹤置信度的面;以及基于所識(shí)別到的面與所述對(duì)象的物理關(guān)系,來(lái)計(jì)算從標(biāo)記坐標(biāo)系到對(duì)象坐標(biāo)系的變換矩陣;其中,通過(guò)將從對(duì)象坐標(biāo)系到面坐標(biāo)系的變換矩陣與從面坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換矩陣相乘,來(lái)計(jì)算從對(duì)象坐標(biāo)系到攝像機(jī)坐標(biāo)系的變換矩陣。
63.根據(jù)權(quán)利要求62所述的方法,該方法還包括在所述對(duì)象的擱置位置獲得所述對(duì)象的頂面的法線的初始步驟。
64.根據(jù)權(quán)利要求63所述的方法,該方法還包括以下步驟通過(guò)使用所述變換矩陣計(jì)算產(chǎn)生最大點(diǎn)積的面來(lái)確定所述對(duì)象的頂面。
65.根據(jù)權(quán)利要求64所述的方法,其中,在所述對(duì)象的操縱期間,通過(guò)使用所述變換矩陣連續(xù)計(jì)算產(chǎn)生最大點(diǎn)積的面來(lái)確定所述對(duì)象的頂面。
66.一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的圖像采集設(shè)備,該圖像采集設(shè)備包括圖像處理模塊,用于接收對(duì)象在第一場(chǎng)景中的采集圖像;以及跟蹤模塊,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向,其中每一個(gè)面都具有標(biāo)記;其中,所述設(shè)備檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
67.一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括用于攜帶計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可執(zhí)行指令用于從圖像采集設(shè)備接收對(duì)象在第一場(chǎng)景中的采集圖像;以及通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向,其中每一個(gè)面都具有標(biāo)記;其中,檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
全文摘要
本發(fā)明提供了一種交互式系統(tǒng)和方法。一種用于向用戶提供混合現(xiàn)實(shí)體驗(yàn)的交互式系統(tǒng),該系統(tǒng)包括具有至少兩個(gè)面的對(duì)象,每一個(gè)面都具有標(biāo)記;圖像采集設(shè)備,用于采集所述對(duì)象在第一場(chǎng)景中的圖像;以及計(jì)算機(jī)軟件,用于通過(guò)跟蹤所述對(duì)象的至少兩個(gè)面并識(shí)別至少一個(gè)標(biāo)記,來(lái)跟蹤所述對(duì)象在所述第一場(chǎng)景中的位置和取向;其中,所述計(jì)算機(jī)軟件檢索與所識(shí)別到的標(biāo)記相關(guān)聯(lián)的多媒體內(nèi)容,并產(chǎn)生第二場(chǎng)景,以向用戶提供混合現(xiàn)實(shí)體驗(yàn),該第二場(chǎng)景包括在相對(duì)于所識(shí)別到的標(biāo)記的相對(duì)位置疊加在所述第一場(chǎng)景上的所述相關(guān)聯(lián)的多媒體內(nèi)容。
文檔編號(hào)G06F3/048GK101031866SQ200580025225
公開(kāi)日2007年9月5日 申請(qǐng)日期2005年5月9日 優(yōu)先權(quán)日2004年5月28日
發(fā)明者阿德里安·大衛(wèi)·凱奧克, 周志穎, 潘俊紅 申請(qǐng)人:新加坡國(guó)立大學(xué)