本發(fā)明涉及一種混合現(xiàn)實(shí)系統(tǒng)。
背景技術(shù):
近年來(lái),在設(shè)計(jì)和制造領(lǐng)域期望使用標(biāo)準(zhǔn)原器(prototype)來(lái)縮短評(píng)估的時(shí)間段,并削減評(píng)估的費(fèi)用。同時(shí),引入了混合現(xiàn)實(shí)(MR)系統(tǒng)。MR系統(tǒng)通過(guò)使用計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)創(chuàng)建的布局(形狀和設(shè)計(jì))數(shù)據(jù)虛擬地評(píng)估組裝的容易性以及可維護(hù)性。代表性的評(píng)估項(xiàng)目是如下的項(xiàng)目:即使現(xiàn)實(shí)部件不存在,也能僅基于虛擬部件來(lái)評(píng)估是否能夠執(zhí)行作業(yè)而不使工具干涉除目標(biāo)部件以外的部件。
用于執(zhí)行上述評(píng)估的MR系統(tǒng)期望具有如下功能:提示被體驗(yàn)者移動(dòng)的虛擬物體(例如,工具)是否與其他虛擬物體(部件)相互干涉,或者在發(fā)生干涉的情況下在何處殘留了干涉痕跡及殘留了何種干涉痕跡。
日本特開(kāi)第2006-302035號(hào)公報(bào)討論了如下方法:將發(fā)生干涉的位置組記錄到存儲(chǔ)器中,并通過(guò)以時(shí)間序列的方式用線段連接存儲(chǔ)器上的上述位置組來(lái)顯示軌跡。
然而,在日本特開(kāi)第2006-302035號(hào)公報(bào)中討論的方法中,僅使用線段來(lái)執(zhí)行順序連接。因此,很難確定部件中殘留了何種程度的干涉痕跡。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明的一方面,信息處理裝置包括:圖像獲取單元,其被配置為獲取現(xiàn)實(shí)空間的拍攝圖像;存儲(chǔ)單元,其被配置為存儲(chǔ)多個(gè)虛擬物體的模型數(shù)據(jù);位置姿勢(shì)獲取單元,其被配置為獲取各所述多個(gè)虛擬物體的位置姿勢(shì);干涉確定單元,其被配置為基于各所述多個(gè)虛擬物體的位置姿勢(shì)和所述多個(gè)虛擬物體的模型數(shù)據(jù)確定所述虛擬物體之間是否存在干涉;干涉信息記錄單元,其被配置為基于所述干涉確定單元的結(jié)果將所述虛擬物體相互干涉的干涉部位的輪廓記錄為干涉信息;第一生成單元,其被配置為生成包括所述拍攝圖像、所述多個(gè)虛擬物體的圖像以及表示所述干涉部位的輪廓的圖像的合成圖像;以及輸出單元,其被配置為輸出生成的合成圖像。
根據(jù)本申請(qǐng),能夠針對(duì)虛擬物體和目標(biāo)物體之間的干涉來(lái)提示表示干涉部位的形狀的干涉信息。
根據(jù)以下參照附圖對(duì)示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其他特征將變得清楚。
附圖說(shuō)明
圖1是例示第一示例性實(shí)施例中的信息處理裝置的配置的框圖。
圖2A、圖2B和圖2C是分別例示第一示例性實(shí)施例中的虛擬物體、當(dāng)前干涉部位和先前干涉部位的示意圖。
圖3是例示第一變型例中的干涉部位的顯示方法的示意圖。
圖4是例示要通過(guò)第一示例性實(shí)施例中的信息處理裝置執(zhí)行的處理的詳情的流程圖。
圖5是例示要通過(guò)第一示例性實(shí)施例中的干涉信息保持單元執(zhí)行的處理的詳情的流程圖。
圖6是例示第二變型例中的信息處理裝置的處理流程圖。
圖7是例示第一示例性實(shí)施例中的信息處理裝置的硬件配置的示例圖。
圖8是例示第一示例性實(shí)施例中的干涉信息的數(shù)據(jù)集的示例的表格。
圖9是例示要通過(guò)第一變型例中的干涉信息保持單元執(zhí)行的處理的詳情的流程圖。
圖10是例示第二變型例中的虛擬空間的圖像的繪制結(jié)果的示意圖。
具體實(shí)施方式
下文將參照附圖詳細(xì)描述應(yīng)用本發(fā)明的示例性實(shí)施例。
圖7是例示用于實(shí)現(xiàn)第一示例性實(shí)施例的硬件的框圖。
具體地說(shuō),圖7是本示例性實(shí)施例中的信息處理裝置100(參見(jiàn)圖1)的硬件框圖。在圖7中,中央處理單元(CPU)710綜合控制經(jīng)由總線700連接的各設(shè)備。CPU 710讀出只讀存儲(chǔ)器(ROM)720中存儲(chǔ)的處理步驟或程序,并執(zhí)行讀出的處理步驟或程序。包括操作系統(tǒng)(OS)在內(nèi),將諸如根據(jù)本示例性實(shí)施例的各處理程序和設(shè)備驅(qū)動(dòng)器等的軟件存儲(chǔ)在ROM 720中,并臨時(shí)存儲(chǔ)到隨機(jī)存取存儲(chǔ)器(RAM)730中以酌情通過(guò)CPU 710來(lái)執(zhí)行。輸入接口(I/F)740從外部裝置(諸如攝像裝置和操作裝置等)接收信號(hào),并輸入接收的信號(hào)作為以可通過(guò)信息處理裝置100進(jìn)行處理的形式的輸入信號(hào)。輸出I/F 750輸出信號(hào)作為以可通過(guò)外部裝置(例如,諸如頭戴式顯示器(HMD)等的顯示裝置)處理的形式的輸出信號(hào)。
圖1是例示本示例性實(shí)施例的信息處理裝置100的功能性配置的框圖。
本示例性實(shí)施例中的信息處理裝置100與HMD 301相連接。信息處理裝置100使從HMD 301中的攝像單元107中獲取的現(xiàn)實(shí)空間的圖像與虛擬空間的圖像進(jìn)行合成,并向HMD 301中的顯示單元110輸出由此獲得的混合現(xiàn)實(shí)圖像。
攝像單元107拍攝現(xiàn)實(shí)空間的圖像,并向信息處理裝置100提供拍攝的圖像。合成單元109將拍攝的圖像與虛擬物體的圖像進(jìn)行合成,并且顯示單元110顯示合成的合成圖像。在本示例性實(shí)施例中,在HMD 301中內(nèi)置攝像單元107。
顯示單元110向體驗(yàn)者提示由合成單元109繪制的合成圖像。在本示例性實(shí)施例中,使用HMD 301中內(nèi)置的顯示器。
振動(dòng)提示單元113從干涉信息通知單元112接收表示發(fā)生干涉的輸出。然后,振動(dòng)提示單元113向體驗(yàn)者(用戶)的觸覺(jué)提示用于通知發(fā)生干涉的振動(dòng)。在本示例性實(shí)施例中,將用于旋轉(zhuǎn)前端安裝有偏心錘的電機(jī)的設(shè)備用作振動(dòng)提示單元113。將該設(shè)備附裝在體驗(yàn)者的身體部位。然而,本發(fā)明并不限于此示例,可以使用任意方法只要該方法能刺激觸覺(jué)。例如,可以將弱電流施加于在指尖上安裝的電極。
聲音提示單元115從干涉信息通知單元112接收表示發(fā)生干涉的輸出。然后,聲音提示單元115向體驗(yàn)者的聽(tīng)覺(jué)提示用于通知發(fā)生干涉的聲音。在本示例性實(shí)施例中,使用獨(dú)立于信息處理裝置100而設(shè)置的揚(yáng)聲器。例如,可以在HMD 301中內(nèi)置耳機(jī),并可以使用耳機(jī)來(lái)提示聲音。此外,可以使用固定揚(yáng)聲器。此外,可以在信息處理裝置100中內(nèi)置揚(yáng)聲器??梢允褂萌魏晤愋偷穆曇?,只要該聲音能夠刺激體驗(yàn)者的聽(tīng)覺(jué)。例如,可以使用預(yù)定波長(zhǎng)的蜂鳴音(beep)。
信息處理裝置100包括虛擬物體數(shù)據(jù)庫(kù)101、干涉確定單元103、虛擬物體繪制單元104、干涉部位計(jì)算單元105、位置姿勢(shì)獲取單元108、合成單元109、干涉信息保持單元111和干涉信息通知單元112。
CPU 710通過(guò)將ROM 720中存儲(chǔ)的程序讀入RAM 730,并基于程序根據(jù)下文將要描述的各流程圖執(zhí)行處理。此外,例如,如果配置硬件來(lái)代替使用CPU 710的軟件處理,則可以配置與這里描述的各功能單元的處理對(duì)應(yīng)的運(yùn)算單元和電路。
虛擬物體數(shù)據(jù)庫(kù)101保持虛擬物體的模型。虛擬物體的模型包括例如形狀、顯示色以及初始位置姿勢(shì)。在本示例性實(shí)施例中,各采用兩個(gè)虛擬物體201和202作為示例。如圖2A所示,虛擬物體201和202分別具有矩形平行六面體狀和圓柱狀。
位置姿勢(shì)獲取單元108從攝像單元107獲取圖像(即位置姿勢(shì)獲取單元108具有圖像獲取單元的功能),并且基于從攝像單元107獲取的圖像(圖像獲取)評(píng)估在現(xiàn)實(shí)空間中攝像單元107的位置姿勢(shì)(即,HMD 301的位置姿勢(shì))以及虛擬物體的位置姿勢(shì)。在本示例性實(shí)施例中,假定攝像單元107的位置姿勢(shì)為體驗(yàn)者的視角位置姿勢(shì)?;谂臄z了現(xiàn)實(shí)空間中放置的標(biāo)記的圖像來(lái)計(jì)算攝像單元107的位置姿勢(shì)(攝像單元位置姿勢(shì)測(cè)量)。此外,關(guān)于虛擬物體的位置姿勢(shì),例如,提前在現(xiàn)實(shí)空間中放置與虛擬物體對(duì)應(yīng)的現(xiàn)有現(xiàn)實(shí)物體。將標(biāo)記粘貼到現(xiàn)有現(xiàn)實(shí)物體,并基于拍攝有該標(biāo)記的圖像來(lái)評(píng)估現(xiàn)實(shí)物體的位置姿勢(shì)。將評(píng)估的現(xiàn)有現(xiàn)實(shí)物體的位置姿勢(shì)評(píng)估為與現(xiàn)實(shí)物體對(duì)應(yīng)的虛擬物體的位置姿勢(shì)。體驗(yàn)者能夠通過(guò)移動(dòng)現(xiàn)有現(xiàn)實(shí)物體而改變虛擬物體的位置姿勢(shì)。然而,在本發(fā)明中,用于獲取體驗(yàn)者的視角位置姿勢(shì)以及虛擬物體的位置姿勢(shì)的方法并不限于此示例。例如,可以將三維傳感器粘貼到或內(nèi)置在現(xiàn)有現(xiàn)實(shí)物體中并進(jìn)行使用。此外,能夠使用商業(yè)運(yùn)動(dòng)拍攝系統(tǒng)來(lái)測(cè)量與攝像單元107相關(guān)的虛擬物體的位置姿勢(shì)??梢栽陬A(yù)定位置顯示虛擬物體,并使用諸如控制器等的設(shè)備移動(dòng)虛擬物體,而不設(shè)置與虛擬物體對(duì)應(yīng)的現(xiàn)有現(xiàn)實(shí)物體。
干涉確定單元103基于各虛擬物體的位置姿勢(shì)以及形狀確定多個(gè)虛擬物體之間是否存在干涉。在下文步驟中執(zhí)行兩個(gè)虛擬物體間的干涉的確定。從各虛擬物體提取一個(gè)三角形多邊形,并確定各三角形多邊形是否相互交叉。對(duì)三角形多邊形的每個(gè)組合執(zhí)行此確定。在存在交叉時(shí),即使僅有一個(gè)交叉,也將虛擬物體確定為相互干涉。此外,對(duì)虛擬物體的每個(gè)組合執(zhí)行此處理。然而,本示例性實(shí)施例中的干涉確定單元103的實(shí)現(xiàn)方法并不限于此示例。
干涉部位計(jì)算單元105根據(jù)通過(guò)干涉確定單元103確定為相互干涉的虛擬物體來(lái)計(jì)算干涉部位。在本示例性實(shí)施例中,將交叉的三角形多邊形的集合和交叉線的集合計(jì)算為干涉部位(干涉部位的輪廓)。然而,在本示例性實(shí)施例中,干涉部位的表示方法并不限于此示例。
干涉信息保持單元111保持由干涉部位計(jì)算單元105計(jì)算的干涉信息(干涉信息記錄)。圖8例示了干涉信息的示例。
項(xiàng)“幀號(hào)”表示每當(dāng)更新攝像單元107拍攝的圖像時(shí)都遞增1的編號(hào)。
項(xiàng)“干涉物體”表示識(shí)別各干涉的虛擬物體的模型的識(shí)別信息。在本示例性實(shí)施例中,各虛擬物體的名稱被注冊(cè)。項(xiàng)“時(shí)間”表示實(shí)際確定干涉發(fā)生時(shí)的時(shí)間。
項(xiàng)“頂點(diǎn)數(shù)”是相互干涉的虛擬物體201和202中的多邊形的交叉線的端節(jié)點(diǎn)數(shù)。
項(xiàng)“頂點(diǎn)位置”表示交叉線的各端節(jié)點(diǎn)的三維位置。在將頂點(diǎn)位置繪制成線段時(shí),獲得圖2B中的圓形線(虛擬物體201和202的干涉部位203)。
項(xiàng)“顏色”和“線寬”各表示在將干涉信息繪制成虛擬物體的圖像時(shí)要使用的繪制屬性。作為繪制屬性的顏色和線寬并不限于在發(fā)生干涉時(shí)生成,并且可以提前設(shè)置參數(shù)。
圖8中例示的表格表示各幀號(hào)的數(shù)據(jù)集(data sets),并保持?jǐn)?shù)據(jù)集的歷史。本發(fā)明并不限于基于幀號(hào)將干涉信息分為數(shù)據(jù)集??梢允褂脮r(shí)間作為關(guān)鍵信息來(lái)創(chuàng)建數(shù)據(jù)集。此外,可以針對(duì)以干涉物體表示的兩個(gè)虛擬物體的各組合而創(chuàng)建數(shù)據(jù)集。
虛擬物體繪制單元104生成繪制有干涉信息以及虛擬物體201和202的圖像。更具體地說(shuō),虛擬物體繪制單元104基于虛擬物體數(shù)據(jù)庫(kù)101中存儲(chǔ)的模型數(shù)據(jù)和干涉信息保持單元111中存儲(chǔ)的干涉信息生成圖像。
虛擬物體繪制單元104從位置姿勢(shì)獲取單元108獲取用于生成虛擬空間的圖像的虛擬視角的位置姿勢(shì)。例如,可以輸入攝像單元107在用作基準(zhǔn)的世界坐標(biāo)系統(tǒng)中的位置姿勢(shì)信息作為虛擬視角的位置姿勢(shì)。此外,基于位置姿勢(shì)獲取單元108獲取的位置姿勢(shì)更新虛擬物體201和202以及干涉信息的三維頂點(diǎn)位置。向基于虛擬視角設(shè)置的投影面上投影更新的虛擬物體和干涉信息的三維頂點(diǎn)。投影后的多邊形和線段繪制處理與用于生成三維(3-D)圖像的普通繪制處理相似,因此將不再進(jìn)行詳細(xì)描述。圖2C例示了通過(guò)本示例性實(shí)施例中的虛擬物體繪制單元104生成的虛擬空間的圖像。繪制虛擬物體201和202以及基于目前累積的干涉信息的干涉部位206(干涉信息圖像生成)。在本示例性實(shí)施例中,繪制干涉部位206的輪廓。此外,例如,可以在輪廓的內(nèi)側(cè)疊加特定顏色,從而使得容易識(shí)別干涉部位206。
合成單元109將從攝像單元107獲取的現(xiàn)實(shí)空間的圖像與通過(guò)虛擬物體繪制單元104繪制的虛擬空間的圖像進(jìn)行合成。通過(guò)在從攝像單元107獲取的現(xiàn)實(shí)空間的圖像上繪制虛擬空間的圖像而執(zhí)行該合成處理,從而獲得合成圖像。在合成圖像中,顯示現(xiàn)實(shí)空間的圖像的像素作為除形成虛擬物體201和202的區(qū)域外的區(qū)域中的像素。合成單元109向HMD301中的顯示單元110輸出合成圖像。
干涉信息通知單元112基于干涉信息保持單元111的信息向其他通知單元通知當(dāng)前干涉狀態(tài)。在本示例性實(shí)施例中,基于虛擬物體201和202以及干涉信息通過(guò)視覺(jué)地顯示虛擬物體繪制單元104所生成的圖像,向體驗(yàn)者明確地提示是否存在干涉。然而,如果發(fā)生干涉的地方是攝像單元107的視野之外,則體驗(yàn)者不能單獨(dú)基于視覺(jué)顯示而察覺(jué)到干涉。如果向聽(tīng)覺(jué)和觸覺(jué)提示是否存在干涉,則體驗(yàn)者能夠察覺(jué)到發(fā)生在視野之外的干涉。
圖2A、圖2B和圖2C是各例示本示例性實(shí)施例中的虛擬空間的圖像的示例的示意圖。此外,圖4是例示本示例性實(shí)施例中將要執(zhí)行的處理的詳情的流程圖。
將使用圖2A至圖2C和圖4并采用配置虛擬物體201和202的狀態(tài)作為示例詳細(xì)描述本示例性實(shí)施例的處理。
在步驟S801中,虛擬物體繪制單元104從虛擬物體數(shù)據(jù)庫(kù)101讀出虛擬物體201和202的數(shù)據(jù)。
在步驟S802中,位置姿勢(shì)獲取單元108獲取攝像單元107拍攝的現(xiàn)實(shí)空間的圖像。此外,在步驟S803中,位置姿勢(shì)獲取單元108基于獲取的圖像來(lái)計(jì)算各虛擬物體201和202以及攝像單元107(虛擬視角)的位置姿勢(shì)信息。在通過(guò)攝像單元107更新現(xiàn)實(shí)空間的圖像之前暫停步驟S802及隨后的處理,并且在此更新發(fā)生時(shí),執(zhí)行隨后階段中的處理。然而,本示例性實(shí)施例并不限于在每當(dāng)攝像單元107更新圖像時(shí)都執(zhí)行處理。例如,可以采用在位置姿勢(shì)獲取單元108獲取新的位置姿勢(shì)時(shí)執(zhí)行處理的方法。
此外,在步驟S803中,位置姿勢(shì)獲取單元108向干涉確定單元103及虛擬物體繪制單元104發(fā)送位置姿勢(shì)信息。
在步驟S806中,干涉確定單元103通過(guò)參照虛擬物體數(shù)據(jù)庫(kù)101中存儲(chǔ)的虛擬物體201和202,確定形成虛擬物體201和202的各多邊形是否存在交叉。
圖2B例示了在體驗(yàn)者移動(dòng)與虛擬物體202對(duì)應(yīng)的標(biāo)記后,虛擬物體201和202互相干涉的狀態(tài)。在圖2A例示的狀態(tài)中,即,如果不存在交叉(在步驟S806中為“否”),則處理進(jìn)入步驟S811。在圖2B例示的狀態(tài)中,即,如果存在交叉(在步驟S806中為“是”),則處理進(jìn)入步驟S809。
在步驟S809中,干涉部位計(jì)算單元105計(jì)算虛擬物體201和202的干涉部位信息。
例如,在本示例性實(shí)施例中,如圖2B所例示,假定移動(dòng)具有圓柱狀的虛擬物體202以干涉具有矩形平行六面體狀的虛擬物體201。然后,生成作為多邊形的交叉線的集合的干涉部位203作為干涉部位信息。
在步驟S810中,干涉信息保持單元111記錄虛擬物體201和202的各組合的干涉信息的數(shù)據(jù)集。在本示例性實(shí)施例中,記錄圖8中例示的干涉信息。每當(dāng)更新攝像單元107拍攝的圖像時(shí)都執(zhí)行該數(shù)據(jù)集記錄。換言之,假定除虛擬物體201和202的組合的數(shù)據(jù)集外,圖8中例示的干涉信息還表示每當(dāng)更新攝像單元107拍攝的圖像時(shí)都各添加的累積的數(shù)據(jù)集。下文將詳細(xì)描述步驟S810中的處理。
在步驟S811中,虛擬物體繪制單元104繪制虛擬物體以及干涉部位作為虛擬空間的圖像。在本示例性實(shí)施例中,基于三角形的多邊形的信息繪制虛擬物體201和202。此外,基于干涉信息將干涉部位206繪制為具有兩個(gè)頂點(diǎn)的線段。此外,關(guān)于繪制時(shí)的線段的顏色和線寬,參照干涉信息執(zhí)行繪制。
圖2C例示了虛擬物體201和202以及干涉部位206的繪制結(jié)果。干涉部位206包括先前累積的干涉部位信息。因此,在任務(wù)后能夠確認(rèn)如何移動(dòng)具有圓柱狀的虛擬物體202。
在步驟S812中,合成單元109將攝像單元107拍攝的現(xiàn)實(shí)空間的圖像與虛擬空間的圖像進(jìn)行合成,從而生成合成圖像。
在步驟S813中,首先,顯示單元110顯示合成單元109生成的合成圖像,并向佩戴HMD 301的體驗(yàn)者提示該合成圖像。此外,振動(dòng)提示單元113和聲音提示單元115根據(jù)干涉信息通知單元112的信息向體驗(yàn)者分別提示振動(dòng)和聲音。
在步驟S815中,確定是否經(jīng)由諸如鍵盤等的輸入單元從體驗(yàn)者傳送終止命令。如果沒(méi)有傳送終止命令(在步驟S815中為“否”),則處理返回到步驟S802。如果傳送終止命令(在步驟S815中為“是”),則處理結(jié)束。
圖5是例示記錄步驟S810中的干涉信息的處理的詳情的流程圖。
在如圖2C中例示的那樣疊加并顯示先前的干涉部位時(shí),繪制性能可能會(huì)由于干涉部位的高亮顯示的累積而下降,或者可能由于不必要的高亮顯示而難以查看干涉部位。在本示例性實(shí)施例中,如果干涉部位的數(shù)據(jù)集的數(shù)量等于或大于體驗(yàn)者提前設(shè)置的閾值,則采用從最早的干涉部位的數(shù)據(jù)集開(kāi)始刪除(清除)干涉部位的數(shù)據(jù)集的方法來(lái)處理這種問(wèn)題。將參照?qǐng)D5的流程圖進(jìn)行詳細(xì)描述。
在步驟S901中,干涉信息保持單元111通過(guò)參照先前的干涉信息計(jì)算數(shù)據(jù)集的總和,并確定數(shù)據(jù)集(先前的數(shù)據(jù)集)的總數(shù)是否等于或大于體驗(yàn)者提前設(shè)置的閾值。如果數(shù)據(jù)集的總數(shù)等于或大于閾值(在步驟S901中為“是”),則處理進(jìn)入步驟S905。如果數(shù)據(jù)集的總數(shù)不是等于或大于閾值(在步驟S901中為“否”),則處理進(jìn)入步驟S910。
在步驟S905中,干涉信息保持單元111從先前的干涉信息中檢索最早的數(shù)據(jù)集,并刪除檢索到的最早的數(shù)據(jù)集。本發(fā)明并不限于刪除最早的數(shù)據(jù)集??梢匀縿h除在預(yù)定時(shí)間以及預(yù)定時(shí)間之前的數(shù)據(jù)集,或者可以首先刪除頂點(diǎn)數(shù)多的數(shù)據(jù)集。
在步驟S910中,干涉信息保持單元111添加由干涉部位計(jì)算單元105計(jì)算的當(dāng)前干涉信息作為新的數(shù)據(jù)集。
因此,通過(guò)在當(dāng)前視點(diǎn)中的虛擬空間的圖像上高亮顯示虛擬物體201和202之間的干涉結(jié)果,能夠?qū)⑷蝿?wù)完成后的干涉狀態(tài)再次確認(rèn)為先前的干涉部位信息。此外,并且通過(guò)設(shè)置用于防止數(shù)據(jù)集的數(shù)量等于或大于一定數(shù)的閾值,能夠減輕顯示負(fù)荷并且能夠容易地查看干涉部位。
上文使用設(shè)置閾值以防止數(shù)據(jù)集的數(shù)量等于或大于一定數(shù)的示例描述第一示例性實(shí)施例,并且如果數(shù)據(jù)集的數(shù)量等于或大于一定數(shù),則從存儲(chǔ)刪除數(shù)據(jù)集。然而,可以從顯示的圖像排除數(shù)據(jù)集,而不是從存儲(chǔ)器刪除數(shù)據(jù)集。
第一示例性實(shí)施例采用通過(guò)連接多邊形的交叉線表示干涉部位206的方法作為表示虛擬物體201和202的干涉部位206的方法。然而,本發(fā)明并不限于通過(guò)連接相互干涉的多邊形的交叉線表示干涉部位,而可以采用其他方法表示干涉部位。
在本第一變型例中,采用其他的方法來(lái)表示干涉部位206。如圖3所示,該方法將虛擬物體本身的形狀保持在發(fā)生干涉的位置處并顯示該形狀。圖3示意地例示了用于執(zhí)行使作為虛擬物體的工具305靠近作為其他虛擬物體的門310的任務(wù)的作業(yè)。該任務(wù)由佩戴HMD 301的體驗(yàn)者來(lái)執(zhí)行。
可以通過(guò)改變第一示例性實(shí)施例中的干涉信息保持單元111的處理設(shè)置用于實(shí)現(xiàn)本變型例的配置。
在第一示例性實(shí)施例中,干涉信息保持單元111記錄相互干涉的多邊形的交叉線作為干涉信息的數(shù)據(jù)集的頂點(diǎn)位置。然而,在本變型例中,將表示通過(guò)佩戴HMD 301的體驗(yàn)者用手移動(dòng)的工具(虛擬物體)305的形狀的多邊形信息記錄為頂點(diǎn)位置。然而,如果每當(dāng)更新攝像單元107拍攝的圖像時(shí)都記錄數(shù)據(jù)集,并且在門310上顯示所有的干涉部位206,則干涉部位206的數(shù)量過(guò)多使得顯示復(fù)雜化。在本變型例中,采用基于數(shù)據(jù)集的重心位置而限制顯示的方法來(lái)防止顯示變得復(fù)雜。將使用圖9中的流程圖描述該方法。
本發(fā)明并不限于針對(duì)表示虛擬物體的形狀的三角形多邊形。例如,可以采用參數(shù)化地表示模型數(shù)據(jù)的方法。
在本變型例中,圖9的流程圖例示了與圖4中的步驟S810中的處理對(duì)應(yīng)的處理的詳情。下文將僅描述與第一示例性實(shí)施例不同的部分。
在步驟S925中,干涉信息保持單元111計(jì)算干涉部位計(jì)算單元105計(jì)算的干涉信息中的頂點(diǎn)位置的三維位置的平均值,并計(jì)算平均值作為重心位置。重心位置與數(shù)據(jù)集相關(guān)聯(lián),并被存儲(chǔ)。
在步驟S930中,干涉信息保持單元111執(zhí)行以下處理。干涉信息保持單元111參照與先前的干涉信息相關(guān)聯(lián)的重心位置組,并比較該重心位置組與干涉信息保持單元111計(jì)算的重心位置。基于該比較,干涉信息保持單元111確定干涉信息保持單元111計(jì)算的重心位置和先前的干涉信息中的至少一個(gè)重心位置之間的距離是否等于或小于預(yù)定的閾值。如果該距離等于或小于閾值(在步驟S930中為“是”),則處理結(jié)束,而不將數(shù)據(jù)集添加為干涉信息。換言之,在當(dāng)前位置姿勢(shì)下的工具305干涉門310時(shí),如果在先前的干涉信息中出現(xiàn)近的重心位置,則不添加數(shù)據(jù)集。另一方面,如果該距離不是等于或小于閾值(在步驟S930中為“否”),則將數(shù)據(jù)集添加為干涉信息。
如上所述,在本變型例的干涉顯示方法中,通過(guò)用易查看表示(easier-to-view representation)來(lái)替換干涉部位的表示,能夠輔助在任務(wù)后的干涉狀態(tài)的確認(rèn)。
在上述第一變型例中,如果發(fā)生干涉的位置近,則不將當(dāng)前干涉部位信息添加到數(shù)據(jù)集。然而,也可以將當(dāng)前干涉部位信息添加到數(shù)據(jù)集,而不是將當(dāng)前干涉部位信息包括在要顯示的圖像中。
在上述第一變型例中,如果發(fā)生干涉時(shí)的虛擬物體的重心位置靠近先前干涉信息中的干涉發(fā)生位置,則不向數(shù)據(jù)集添加當(dāng)前干涉部位信息。然而,本發(fā)明并不限于基于干涉部位在空間中的位置確定是否記錄干涉信息。
在本第二變型例中,根據(jù)從位置姿勢(shì)獲取單元108輸出的位置姿勢(shì)的可靠性確定是否記錄干涉信息。將描述用于此確定的處理。
當(dāng)基于拍攝的圖像中反映的標(biāo)記確定虛擬物體的位置姿勢(shì)時(shí),在以下情況中會(huì)使位置姿勢(shì)測(cè)量結(jié)果的可靠性降低:
(1)標(biāo)記在畫面上呈現(xiàn)得小,
(2)攝像單元107和標(biāo)記之間存在遮蔽物以隱藏標(biāo)記,或者
(3)標(biāo)記在攝像單元107的視野之外,從而不出現(xiàn)標(biāo)記。
此外,即使通過(guò)位置姿勢(shì)傳感器測(cè)量虛擬物體的位置姿勢(shì),也可以想到發(fā)生可靠性降低的情況。此種情況的示例包括生成環(huán)境噪聲的情況,以及位置姿勢(shì)落入測(cè)量范圍之外的情況。
在位置姿勢(shì)的測(cè)量的可靠性降低的上述狀態(tài)中添加干涉信息時(shí),不能在任務(wù)后的確認(rèn)時(shí)正確地確定先前的干涉狀態(tài)。因此,執(zhí)行不記錄干涉信息的方法。將描述此方法。
可以如下設(shè)置用于實(shí)現(xiàn)本變型例的配置。將表示位置姿勢(shì)的可靠性的信息從上述第一變型例的位置姿勢(shì)獲取單元108輸入到干涉信息保持單元111中。然后,干涉信息保持單元111根據(jù)可靠性執(zhí)行用于確定是否記錄干涉信息的處理。
例如,位置姿勢(shì)獲取單元108可以存儲(chǔ)用于計(jì)算圖4中的步驟S803中的位置姿勢(shì)的處理中的當(dāng)前位置姿勢(shì)測(cè)量結(jié)果的可靠性。例如,如果識(shí)別出標(biāo)記,則將可靠性定義為1,如果沒(méi)有識(shí)別出標(biāo)記,則將可靠性定義為0,并且如果標(biāo)記占有的區(qū)域占拍攝的圖像的比率低于10%,則將可靠度定義為0.5。
圖6例示了干涉信息保持單元111執(zhí)行的處理的詳情。將不描述與第一變型例相同的處理。
在步驟S915中,干涉信息保持單元111獲取(導(dǎo)出)位置可靠性,并確定位置可靠性是否等于或小于閾值。如果位置可靠性等于或小于閾值(在步驟S915中為“是”),則處理進(jìn)入步驟S920。如果位置可靠性不是等于或小于閾值(在步驟S915中為“否”),則處理進(jìn)入步驟S910。
在步驟S920中,干涉信息保持單元111指示虛擬物體繪制單元104顯示用于通知由于當(dāng)前位置可靠性低而沒(méi)有記錄干涉信息的消息。
在圖4的步驟S811中的虛擬物體繪制處理中,虛擬物體繪制單元104可以在虛擬物體圖像的前面顯示顯示消息250。圖10例示了包括顯示消息250并由虛擬物體繪制單元104所顯示的圖像的示意圖。
如上所述,在本變型例的干涉顯示方法中,在對(duì)位置進(jìn)行測(cè)量時(shí)的可靠性低時(shí)通過(guò)不記錄干涉部位來(lái)移除不正確的干涉信息。通過(guò)這種移除能夠輔助在任務(wù)后的干涉狀態(tài)的確認(rèn)。
在第一示例性實(shí)施例中,分別通過(guò)矩形平行六面體狀和圓柱狀表示虛擬物體201和202。此外,將虛擬物體的位置姿勢(shì)分配到標(biāo)記的位置姿勢(shì),并且體驗(yàn)者用手刻意移動(dòng)虛擬物體。
然而,本發(fā)明并不限于用手移動(dòng)虛擬物體,而可以采用其他方法。該方法可以測(cè)量體驗(yàn)者的身體部位的位置姿勢(shì),并將此位置姿勢(shì)分配到虛擬物體。
例如,假定在使用第一變型例的門310上的工具305執(zhí)行作業(yè)的情況中,通過(guò)位置姿勢(shì)傳感器測(cè)量諸如體驗(yàn)者的肘和膝等身體部位。在此情況下,在作業(yè)中,不僅可以檢測(cè)到工具305的干涉,還可以檢測(cè)到體驗(yàn)人的身體部位的干涉,并提示此干涉。
在用于實(shí)現(xiàn)諸如變型例等的配置中,位置姿勢(shì)獲取單元108可以獲得諸如體驗(yàn)者的膝等的身體部位的位置姿勢(shì),并向干涉確定單元103和虛擬物體繪制單元104輸出該位置姿勢(shì)??蛇x地,可以在虛擬物體數(shù)據(jù)庫(kù)101中提前記錄與體驗(yàn)者的身體部位的形狀對(duì)應(yīng)的模型數(shù)據(jù),并向干涉確定單元103和虛擬物體繪制單元104輸出該模型數(shù)據(jù)。
如上所述,在本變型例中,不僅能夠確認(rèn)體驗(yàn)人用手刻意移動(dòng)的虛擬物體的干涉狀態(tài),還能夠確認(rèn)在作業(yè)期間無(wú)意移動(dòng)而引起干涉的身體部位的干涉狀態(tài)。
在第一示例性實(shí)施例中,表示先前的干涉部位的線段的頂點(diǎn)保持為如圖8中例示的頂點(diǎn)位置。然而,本發(fā)明并不限于保持先前的干涉部位作為頂點(diǎn)位置??梢酝ㄟ^(guò)干涉發(fā)生時(shí)的計(jì)算來(lái)確定先前的干涉部位。
為了實(shí)現(xiàn)諸如變型例等,可以向圖8中的干涉信息添加各虛擬物體201和202的多邊形信息以及位置姿勢(shì)。此外,每當(dāng)生成虛擬空間的圖像時(shí),都可以從先前的干涉信息的數(shù)據(jù)集計(jì)算多邊形的交叉線的端節(jié)點(diǎn)。
其他實(shí)施例
本發(fā)明的實(shí)施例還可以通過(guò)如下的方法來(lái)實(shí)現(xiàn),即,通過(guò)網(wǎng)絡(luò)或者各種存儲(chǔ)介質(zhì)將執(zhí)行上述實(shí)施例的功能的軟件(程序)提供給系統(tǒng)或裝置,該系統(tǒng)或裝置的計(jì)算機(jī)或是中央處理單元(CPU)、微處理單元(MPU)讀出并執(zhí)行程序的方法。
雖然參照示例性實(shí)施例描述了本發(fā)明,但是應(yīng)當(dāng)理解,本發(fā)明并不限于所公開(kāi)的示例性實(shí)施例。應(yīng)當(dāng)對(duì)權(quán)利要求的范圍賦予最寬的解釋,以使其涵蓋所有這些變型例以及等同的結(jié)構(gòu)及功能。