專利名稱::人機(jī)接口
技術(shù)領(lǐng)域:
中使觸覺與可視圖像相一致的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及觸覺人機(jī)(人類-計(jì)算機(jī))接口領(lǐng)域,具體涉及觸覺感受器與視覺信息的結(jié)合。
背景技術(shù):
:傳統(tǒng)上,觸覺接口感受器是使用兩種基本方法中的一種制作的。在某些情況下,圖形或視覺接口感受器是通過對象的三維模型產(chǎn)生的。視覺顯示的觸覺伴隨器可以通過同樣的三維模型制作。這種方法產(chǎn)生直接與視覺顯示相應(yīng)的觸覺接口感受器(由于它是由相同的模型產(chǎn)生的)。不過,制作接近真實(shí)世界視覺質(zhì)量的三維模型可能是非常昂貴并且浪費(fèi)時(shí)間的。而且,接近真實(shí)世界細(xì)節(jié)的模型可能過于復(fù)雜以致難于實(shí)時(shí)再現(xiàn)(視覺上或觸覺上)的,造成了難于給出高效的觸覺感受器。在其它情況下,首先制作視覺接口感受器,例如通過實(shí)物的二維照片或電影。然后將觸覺伴隨器加到該視覺顯示裝置上。這種方法能夠給出非常逼真的視覺顯示畫面,并且目前的技術(shù)能夠適應(yīng)這種逼真圖像的實(shí)時(shí)顯示。不過,根據(jù)原始的視覺圖像制作觸覺感受器可能是相當(dāng)困難的。手動(dòng)地制作它就相當(dāng)于根據(jù)一個(gè)單純的二維照片制作雕塑一樣。這一工作雖然可行,但是需要相當(dāng)多的時(shí)間以及產(chǎn)生真實(shí)的觸覺感受器的技能。目前對根據(jù)二維圖像自動(dòng)產(chǎn)生三維模型的研究成果給予了我們希望,不過目前該技術(shù)的狀態(tài)還不能根據(jù)大多數(shù)二維圖像產(chǎn)生可信的觸覺表述。增加觸覺接口元件能夠提高用戶對視覺顯示的感受器的真實(shí)性和有效性。而且,許多二維圖像和圖像的連續(xù)鏡頭繼續(xù)存在(例如,照片,數(shù)字圖像,電影);這些已有圖像的觸覺伴隨器能夠強(qiáng)化用戶的感受器。因此,存在著對這樣一種制作觸覺接口感受器的方法的需求該方法能夠制作已有二維圖像的觸覺伴隨器。
發(fā)明內(nèi)容本發(fā)明提供了一種生成觸覺接口感受器的方法,該方法能夠?yàn)橐延械亩S圖像生成觸覺伴隨器。本方法利用了人類視覺優(yōu)于觸覺的優(yōu)勢人類觸覺、本體感受器以及肌肉運(yùn)動(dòng)知覺都不能提供象人類視覺一樣好的細(xì)節(jié),并且因此觸覺表述不用必須象相應(yīng)的視覺圖像那樣精細(xì)就能夠使人類用戶相信?,F(xiàn)有的二維圖像可以用作人機(jī)接口的可視部件??梢赃x擇與所述圖像拓?fù)湎嗨频娜S觸覺模型,這里拓?fù)湎嗨菩允侵杆鋈S模型對期望與所述二維圖像伴隨的觸覺感受器的主要特征給出了可接受的逼近。于是可以在接口的視覺部件中的圖像與接口的觸覺部件中的觸覺模型之間建立一個(gè)關(guān)系,從而使與視覺部件中的圖像進(jìn)行的交互和與觸覺部件中的觸覺模型進(jìn)行的交互彼此關(guān)聯(lián)起來。試舉一例,一個(gè)球的二維圖像可以具有一個(gè)與其相關(guān)聯(lián)的球形觸覺模型,并且所建立的球心和半徑具有這樣的關(guān)系球的二維圖像的圖像邊緣處的視覺光標(biāo)運(yùn)動(dòng)與當(dāng)該光標(biāo)遇到觸覺模型的表面時(shí)的觸覺力反饋是相互關(guān)聯(lián)的。該方法包括,選擇一個(gè)初始的觸覺模型,該模型接近于相關(guān)聯(lián)的視覺圖像或該視覺圖像中的對象的觸覺特征。為方便起見,本說明書將會(huì)談到對象及其相應(yīng)的顯示畫面或視覺圖像,明確的是,該對象能夠代表整個(gè)圖像的全部或僅僅一部分。然后可以在初始觸覺模型和對象的視覺圖像之間建立對應(yīng)關(guān)系。通過對所述初始的觸覺模型進(jìn)行調(diào)整,可以產(chǎn)生伴隨對象的視覺圖像的觸覺模型,以致所產(chǎn)生的觸覺空間中的模型與視覺顯示器中的對象的圖像相對應(yīng)。不象許多現(xiàn)代的觸覺模擬方法,本發(fā)明不需要詳細(xì)的三維模型作為輸入;從二維圖像得到的細(xì)節(jié)與所產(chǎn)生的觸覺模型結(jié)合以給出可信的觸覺和視覺組合。較之由精細(xì)的三維模型產(chǎn)生的觸覺感受器,由本方法產(chǎn)生的觸覺感受器可以具有明顯低的復(fù)雜程度,放寬對實(shí)時(shí)觸覺和圖像再現(xiàn)的要求。而且,本方法避免了消耗時(shí)間的、并且普遍在很大程度上不成功的根據(jù)二維圖像制作三維圖像的處理方法。因此,本發(fā)明能夠在與現(xiàn)有技術(shù)的共同作用下將可信的觸覺感受器經(jīng)濟(jì)地添加到高真實(shí)性視覺圖像上。對本領(lǐng)域的技術(shù)人員來說,在審查了下述的說明書的基礎(chǔ)上,本發(fā)明的優(yōu)點(diǎn)和新穎的特征將是顯而易見的,或者可以從本發(fā)明的實(shí)踐中認(rèn)識(shí)到這些優(yōu)點(diǎn)和新穎的特征。借助由所附的權(quán)利要求書具體指出的手段和組合,可以實(shí)現(xiàn)和獲得本發(fā)明的目的和優(yōu)點(diǎn)。結(jié)合在說明書中并構(gòu)成說明書的一部分的附示了本發(fā)明的實(shí)施例,并且與說明書一起起到了解釋本發(fā)明原理的作用。附圖1(a,b,c,d)是表示一個(gè)觸覺模型、一個(gè)視覺圖像和它們之間的對應(yīng)關(guān)系的示意圖;附圖2(a,b,c,d)是表示將本發(fā)明應(yīng)用于一個(gè)序列的圖像中的對象的示意圖;附圖3是本發(fā)明的一個(gè)實(shí)施例的流程圖;附圖4示出了從不同觀察點(diǎn)觀察的包括一張桌子和一把椅子的一系列圖像;附圖5是一個(gè)最簡化的觸覺模型庫的示意圖;附圖6表示選取出來的與附圖4中的對象拓?fù)漕愃频挠|覺模型;附圖7是圖像中的對象上的點(diǎn)與所選取的觸覺模型上的點(diǎn)之間所建立的對應(yīng)關(guān)系的圖解;附圖8示出了一張桌子的觸覺模型的一系列圖像,該觸覺模型已經(jīng)自動(dòng)轉(zhuǎn)換成了與附圖4中的圖像相應(yīng)的觸覺模型。附圖9示出了這樣的圖像視覺/觸覺光標(biāo)將要接觸圖像中的桌子底部,并且然后確實(shí)接觸到了圖像中的桌子的底部,并且該光標(biāo)在這個(gè)處理中被擋住了。具體實(shí)施例方式本發(fā)明提供了一種產(chǎn)生觸覺接口感受器的方法,該方法能夠?yàn)橐延械亩S圖像產(chǎn)生觸覺伴隨器。本方法利用了人類視覺優(yōu)于觸覺的優(yōu)勢人類觸覺、本體感受以及肌肉運(yùn)動(dòng)知覺都不能提供象人類視覺一樣好的細(xì)節(jié),并且因此觸覺表述不用必須象相應(yīng)的視覺圖像那樣精細(xì)就能夠使人類用戶相信。現(xiàn)有的二維圖像可以用作人機(jī)接口的可視部件??梢赃x擇與所述圖像拓?fù)湎嗨频娜S觸覺模型,這里拓?fù)湎嗨菩允侵杆鋈S模型對期望與所述二維圖像伴隨的觸覺感受器的主要特征給出了可接受的逼近。于是可以在接口的視覺部件中的圖像與接口的觸覺部件中的觸覺模型之間建立一個(gè)關(guān)系,從而使與視覺部件中的圖像進(jìn)行的交互和與觸覺部件中的觸覺模型進(jìn)行的交互彼此關(guān)聯(lián)起來。試舉一例,一個(gè)球的二維圖像可以具有一個(gè)與其相關(guān)聯(lián)的球形觸覺模型,并且所建立的球心和半徑具有這樣的關(guān)系球的二維圖像的圖像邊緣處的視覺光標(biāo)運(yùn)動(dòng)與當(dāng)該光標(biāo)遇到觸覺模型的表面時(shí)的觸覺力反饋是相互關(guān)聯(lián)的??梢越⑦@種關(guān)系來實(shí)現(xiàn)多種觸覺部件。為簡單起見,在本說明書中將做出這樣的假設(shè)所期望的觸覺部件近似忠實(shí)于視覺部件;本領(lǐng)域的技術(shù)人員將會(huì)意識(shí)到,能夠利用本發(fā)明提供與原始的視覺圖像具有任何所需關(guān)系的觸覺部件。按照本發(fā)明的一種方法,包括,選擇一個(gè)初始的觸覺模型,該模型接近于相關(guān)聯(lián)的視覺圖像或該視覺圖像中的對象的觸覺特征。為方便起見,本說明書將會(huì)談到對象及其相應(yīng)的顯示畫面或視覺圖像,明確的是,該對象能夠代表整個(gè)圖像的全部或僅僅一部分。然后可以在初始觸覺模型和對象的視覺圖像之間建立對應(yīng)關(guān)系。通過對所述初始的觸覺模型進(jìn)行調(diào)整,可以產(chǎn)生伴隨對象的視覺圖像的觸覺模型,以致所產(chǎn)生的觸覺空間中的模型與視覺顯示器中的對象的圖像相對應(yīng)。以另外一種方式表述,可以在觸摸模型和圖像之間可以建立這樣一種關(guān)系圖像的視覺感受器和模型的觸覺感受器具有可接受的低差異。不象許多現(xiàn)代的觸覺模擬方法,本發(fā)明不需要詳細(xì)的三維模型作為輸入;從二維如象得到的細(xì)節(jié)與所產(chǎn)生的觸覺模型結(jié)合以給出可信的觸覺和視覺組合??傻靡嬗诒景l(fā)明的圖像的例子包括照片、照片寫實(shí)計(jì)算機(jī)復(fù)制圖、計(jì)算機(jī)繪圖、卡通片、圖形、視頻片斷和電影。能夠受益于增加觸覺部件的圖像中的對象包括觸覺模型有意義的圖像的任何部分,例如圖像的實(shí)物、形狀、結(jié)構(gòu)和區(qū)域。較之由精細(xì)的三維模型產(chǎn)生的觸覺感受器,由本方法產(chǎn)生的觸覺感受器可以具有明顯低的復(fù)雜程度,放寬對實(shí)時(shí)觸覺和圖像再現(xiàn)的要求。而且,本方法避免了消耗時(shí)間的、并且普遍在很大程度上不成功的根據(jù)二維圖像制作三維圖像的處理方法。因此,本發(fā)明能夠在與現(xiàn)有技術(shù)的共同作用下將可信的觸覺感受器經(jīng)濟(jì)地添加到高真實(shí)性視覺圖像上。雖然本領(lǐng)域的技術(shù)人員將會(huì)意識(shí)到下述這些步驟的各種不同的順序、細(xì)節(jié)和組合,但是為了方便說明,可以通過考慮下述步驟對本發(fā)明進(jìn)行討論1.由一個(gè)初始視覺圖像開始;2.選擇一個(gè)與所述圖像中的所需對象拓?fù)湎嗨频某跏加|覺模型;3.在所述對象和所述初始觸覺模型之間建立對應(yīng)標(biāo)準(zhǔn);4.確定初始觸覺模型的變換,該變換生成一個(gè)觸覺模型,以致觸覺和視覺空間中的對應(yīng)基準(zhǔn)充分對齊。下面將對每一個(gè)步驟進(jìn)行詳細(xì)討論,隨后是對本發(fā)明做出進(jìn)一步介紹的例子。選擇適當(dāng)?shù)某跏加|覺模型可以選擇與對象拓?fù)湎嗨频挠|覺模型作為初始觸覺模型。該模型中諸如總體尺寸、旋度、比例以及相對比例都可以按照本方法進(jìn)行調(diào)整,以產(chǎn)生一個(gè)可信的觸覺模型。拓?fù)湎嗨菩源_保了初始模型具有用于調(diào)整的適當(dāng)特征。例如,立方體可以作為許多六面體的初始模型;四門轎車可以作為許多四門轎車的初始觸覺模型,等等。初始觸覺模型可以通過人為干預(yù)來選擇,使得操作者的視覺和幾何經(jīng)驗(yàn)?zāi)軌蛑笇?dǎo)這一選擇。另外,現(xiàn)有的圖像識(shí)別技術(shù)能夠?qū)崿F(xiàn)對象的拓?fù)涮卣鞯淖R(shí)別。訪問準(zhǔn)備好的3D對象庫的一個(gè)例子為滾動(dòng)可用對象的縮略圖,直到找到一個(gè)與所需對象類似的縮略圖。建立在這個(gè)例子的基礎(chǔ)上,可以制作一個(gè)包含與每個(gè)對象相關(guān)的詞或詞組的數(shù)據(jù)庫。例如,輸入“小汽車(car)”、“汽車(auto)”、“車輛(automobile)”或“交通工具(vehicle)”可以將選擇項(xiàng)減少到只有小汽車和卡車的模型。接著,用戶可以輸入“2門”或“SUV”來進(jìn)一步減少選擇項(xiàng)。最后,可以使用圖像識(shí)別,從而自動(dòng)地找到這一選擇項(xiàng)。在將可能的3D模型減少到僅僅數(shù)個(gè)或正好一個(gè)選擇項(xiàng)的時(shí)候,如果需要的話,用戶可能會(huì)有機(jī)會(huì)手動(dòng)地進(jìn)行對象地最后選擇。后面的例子對初始觸覺模型的選擇進(jìn)行了進(jìn)一步的介紹。建立對應(yīng)點(diǎn)一旦已經(jīng)選擇了一個(gè)初始觸覺模型,那么在該初始觸覺模型和所述對象的圖像之間可以建立一個(gè)對應(yīng)關(guān)系。例如,可以將一個(gè)盒子可見的角設(shè)置為與立方體初始觸覺模型相對應(yīng)。可以將這些角定義為,例如,立方體的角,或者也可以留給用戶來確定??梢杂捎脩魜韺@些點(diǎn)進(jìn)行設(shè)定,例如,選擇圖像上的點(diǎn)和初始觸覺模型上的相應(yīng)點(diǎn)。這些點(diǎn)也可以在計(jì)算機(jī)的幫助下進(jìn)行設(shè)定,例如,一旦在一系列畫面中的一個(gè)畫面中建立了對應(yīng)關(guān)系,就可以通過圖像識(shí)別或者通過特征跟蹤來確定相應(yīng)的點(diǎn)。如這里所利用的,對應(yīng)點(diǎn)可以包括模型或圖像中的點(diǎn)、模型或圖像中的表面、模型或圖像中的半徑或其它參數(shù),或者任何其它能夠確定為聯(lián)系模型和圖像的特征。下面的例子將進(jìn)一步介紹圖像和觸覺模型之間的對應(yīng)點(diǎn)的建立。生成一個(gè)經(jīng)調(diào)整的觸覺模型然后可以通過對初始觸覺模型進(jìn)行調(diào)整來生成圖像中對象的可信的觸覺模型。在確定初始觸覺模型的調(diào)整的目標(biāo)下,可以以各種不同的方式進(jìn)行這種調(diào)整,以致所產(chǎn)生的模型在圖像平面中的投影對應(yīng)于圖像中對象的顯示。試舉一例,定義一組以各種不同方式調(diào)整觸覺模型的參數(shù)化操作O。O中的操作可以是任何對模型的前后關(guān)系有意義的調(diào)整方式,包括,例如,沿著各個(gè)軸縮放,關(guān)于各個(gè)軸旋轉(zhuǎn)、模型的組成部分之間的相對縮放,各部件之間的距離,等等。定義一個(gè)在圖像平面內(nèi)產(chǎn)生觸覺模型的投影的算子P。然后,如果J是圖像中的對象,并且H是初始觸覺模型,那么問題就是一組由O應(yīng)用的參數(shù)以致P(O(H))逼近J。將P(O(H))與J之間的差值定義為誤差量度,現(xiàn)有的計(jì)算機(jī)技術(shù)能夠?qū)崿F(xiàn)對最小化該誤差量度的參數(shù)的求解。見,例如,F(xiàn)osdick、L.D.、E.R.Jessup、C.J.C.Schauble、和G.Domik所著的《AnIntroductiontoHigh-PerformanceScientificComputing》M.I.T.出版社,Cambridge,MA;Mitchell,M.所著的《AnIntroductiontoGeneticAlgorithms》,M.I.T.出版社,Cambridge,MA.;Koza,J.、F.H.BennettIII,、D.Andre,、和M.A.Keane所著的《GeneticProgrammingIII-DarwinianInventionandProblemSolving》,MorganKaufmann出版社,SanFrancisco,CA。擴(kuò)展到圖像序列本發(fā)明的方法還能夠有效地生成觸覺模型以伴隨圖像序列。一般地,僅需為該序列中地每個(gè)對象選擇一次初始觸覺模型。在每個(gè)圖像中可以通過算子確定對應(yīng)點(diǎn)。在折項(xiàng)任務(wù)中,在所述序列中,當(dāng)對象從一個(gè)圖像變換為另一個(gè)圖像時(shí),圖像跟蹤技術(shù)通過跟蹤點(diǎn)的位置,能夠代替或幫助該算子。此外,在一個(gè)圖像中確定的用于產(chǎn)生觸覺模型的參數(shù)能夠用于起始相鄰圖像中的觸覺模型調(diào)整的求解,減少了所需的求解時(shí)間。將觸覺模型與2D圖像合成呈現(xiàn)給用戶的接口可以視為包括兩個(gè)空間一個(gè)視覺空間和一個(gè)觸覺空間。該視覺空間可以通過一個(gè)顯示器表示給用戶,利用諸如移動(dòng)的箭頭之類的可視提示指示用戶在視覺空間中的位置。觸覺空間可以通過適當(dāng)?shù)妮斎?輸出設(shè)備中的力傳遞來表示給用戶,對用戶的力傳遞表示了用戶相對于觸覺空間中的力的位置。通過本方法,可以將所生成的觸覺模型放置在觸覺空間中,以致所產(chǎn)生的觸覺模型在顯示平面內(nèi)的投影對應(yīng)于對象在顯示畫面中的視覺表述。因此,接近視覺空間中的對象的視覺光標(biāo)與觸覺空間中接近對象的觸覺模型的觸覺光標(biāo)向?qū)?yīng)。加到二維視覺空間上的三維觸覺空間中的深度可以用各種方式進(jìn)行調(diào)節(jié)。例如,如果所有的觸覺模型都連接在一起,則能夠根據(jù)這些觸覺模型確定所述深度如果每個(gè)對象都接觸這一個(gè)立方體的表面定位,那么該立方體的觸覺模型可以定義所有對象在觸覺空間中的深度關(guān)系。另外,如果這些模型不連接,那么該觸覺空間就沒有必要定義對象的相對深度了。而是,視覺光標(biāo)第一次接觸對象時(shí)的觸覺光標(biāo)的深度可以定義用于相應(yīng)的觸覺模型的初始深度;在后續(xù)的與該模型進(jìn)行的觸覺交互中的深度和該初始深度相關(guān),直到用戶接觸另一個(gè)對象??梢暳⒎襟w還能夠幫助用戶感受器針對該用戶的觸覺和視覺空間的綜合。例如,視覺光標(biāo)圖形能夠幫助傳達(dá)觸覺深度??梢詫⒁曈X光標(biāo)圖形表述為一個(gè)保持與最近的觸覺表面垂直的軸。當(dāng)接觸到觸覺模型在視覺空間中不可見的區(qū)域時(shí)(例如,當(dāng)觸覺對象的背面時(shí)),該視覺光標(biāo)圖形可能會(huì)消失,使得用戶能夠在三維空間中感受器到只有在二維空間中才能看到的東西。當(dāng)觸覺空間中的對象擋住了觸覺空間中光標(biāo)的位置時(shí),還可以使該視覺圖標(biāo)簡單地消失。這可以使用,例如,圖形深度緩存技術(shù)來實(shí)現(xiàn)。通過定義其它觸覺屬性以應(yīng)用于所生成的觸覺模型,能夠?qū)⒃撚|覺模型制作得更加逼真。例如,可以規(guī)定一個(gè)表面具有限定的硬度、限定的質(zhì)地、摩擦、凹凸貼圖、粘度、軟化點(diǎn)等等。此外,與圖像和觸覺模型進(jìn)行的交互能夠?qū)崿F(xiàn)彼此之間相互影響。例如,觸摸、推、拉或者按照觸覺空間中的力對表面進(jìn)行的改變能夠反饋給顯示畫面,以導(dǎo)致圖像的改變,反映出由用戶在觸覺空間中所造成的可察覺的改變。工業(yè)適用性實(shí)施例附圖3是本發(fā)明的一個(gè)實(shí)施方式的流程圖。該方法是針對一個(gè)圖像或一組圖像301開始的。通過圖像識(shí)別302、手工選擇或定義303或者它們二者的結(jié)合,選擇一個(gè)初始觸覺模型。一旦選擇了初始觸覺模型304,可以將該觸覺模型變換成與當(dāng)前圖像305相對準(zhǔn)。該變換可以從所述觸覺模型的手工粗定位和縮放比例開始,這在某些情況下簡化了剩余的工作。然后可以在該觸覺模型和視覺圖像上確定對應(yīng)點(diǎn)307,在圖形中這些定位點(diǎn)稱為定位點(diǎn)。然后可以通過求解變換參數(shù)來確定變換,這會(huì)產(chǎn)生可接收的誤差尺度308,為圖像中的對象產(chǎn)生一個(gè)恰當(dāng)定位和縮放了比例的模型309,使得光標(biāo)的適當(dāng)顯示能夠在三維以及原始的二維圖像中運(yùn)動(dòng)314。如果將該方法應(yīng)用于一組圖像,那么,如果對象存在于下一個(gè)圖像中,通過使用當(dāng)前圖像中的對應(yīng)關(guān)系作為起點(diǎn),可以使觸覺模型和下一個(gè)圖像之間對應(yīng)關(guān)系的建立變得容易311。下一個(gè)圖像的變換的求解也可以受益于利用對當(dāng)前圖像的變換的求解作為起點(diǎn)312。初始的觸覺模型,加上對應(yīng)關(guān)系和變換的求解可以由下一個(gè)圖像使用310,以確定其觸覺模型。本發(fā)明的一個(gè)實(shí)施方式是用C++寫成的,使用了OpenGL、Novint科技公司開發(fā)的e-TouchTM應(yīng)用程序接口阿爾法版1,并且使用SensableTechnologies的Phantom作為觸覺設(shè)備。它是在使用Microsoft的WindowsNT操作系統(tǒng)的現(xiàn)有的個(gè)人計(jì)算機(jī)上使用MicrosoftVisualC++進(jìn)行編譯的??梢詫?D模型庫編譯成所含的文件具有多種不同的文件格式,包括VRML、3DStudioMax、STL-立體低倍攝影術(shù)等等。使用一個(gè)傳統(tǒng)的圖像顯示程序、通過查看對象的縮略圖來瀏覽對象。一旦選中了一個(gè)模型,則通過從特殊的文件格式中讀出一列三角形來將3D模型文件轉(zhuǎn)換成觸覺表述,然后以便于分析從這些三角形到任意給定點(diǎn)的力效應(yīng)的形式將它們保存在存儲(chǔ)器中。自定義編輯器是使用Novint科技公司開發(fā)的e-TouchTM程序設(shè)計(jì)環(huán)境寫成的,該編輯器允許用戶在3D模型上選擇(使用一個(gè)觸覺設(shè)備)興趣點(diǎn),然后在2D圖像或多個(gè)2D圖像上選擇相應(yīng)的點(diǎn)。為了解決針對每個(gè)2D圖像的每個(gè)點(diǎn)3D對象的正確變換的問題,在每種情況下計(jì)算下述的變量x縮放比、y縮放比、z縮放比以及關(guān)于x、y和z軸的有序旋度。上面提到的自定義編輯器產(chǎn)生一個(gè)含有求解這些變量所需的所有信息的輸出文件。然后將這一文件輸入給使用Matlabv5.2編寫的求解程序。在本說明書后面附了一個(gè)相應(yīng)的軟件。該求解程序使用了一個(gè)具有隨機(jī)分量(應(yīng)用于一批浮點(diǎn)數(shù)值的隨機(jī)變化的重復(fù)循環(huán))的查找算法,以找出針對每個(gè)2D圖像的3D對象的變量的可接收的結(jié)果。該求解程序輸出一個(gè)含有所有這些變量的文件。一個(gè)觸覺瀏覽程序是使用e-TouchTM程序設(shè)計(jì)環(huán)境寫成的。該觸覺瀏覽程序使得用戶能夠?yàn)g覽和觸摸2D圖像和3D對象組合圖(這些觸覺對象模型也可用于擴(kuò)充現(xiàn)有的圖像瀏覽應(yīng)用程序)。e-TouchTM庫使得2D圖像/3D對象組合圖的實(shí)現(xiàn)更加方便。它具有很多對為用戶給出可信的且有效的觸覺/視覺感受器非常有用的內(nèi)部函數(shù)。用戶可以使用3D菜單接口改變對象的觀察點(diǎn)、光標(biāo)的形狀、采光以及位置、旋度、縮放比例和觸覺質(zhì)地。每個(gè)對象的縮放比例、旋度和(x,y,z)位置是使用求解程序建立的。不過z位置(z軸指的是垂直于計(jì)算機(jī)屏幕的軸)可以在一個(gè)很大的范圍內(nèi)變化,并且仍夠能提供良好的觸覺感受器。例如,定位3D模型的最近和最遠(yuǎn)的點(diǎn)可以與2D圖像的z位置對準(zhǔn),或者也可以是任何介于它們二者之間的點(diǎn)。使用e-TouchTM程序設(shè)計(jì)環(huán)境,能夠?qū)崿F(xiàn)變化的z位置,這給出了,第一次光標(biāo)接觸到2D圖像的z平面,則重置3D對象的整個(gè)z位置,以致光標(biāo)接觸到對象,如果可能的話。這緩解了到達(dá)了圖片中卻不能立即接觸到任何東西以致分不清方向的問題。另一個(gè)為這個(gè)例子編制到e-TouchTM程序設(shè)計(jì)環(huán)境中的輔助程序用于向用戶提供一個(gè)視覺提示,當(dāng)場景中的一個(gè)對象擋住了光標(biāo)或者光標(biāo)到達(dá)了該對象附近時(shí),發(fā)出信號(hào)。這是通過使用AdobePhotoshopv5.0進(jìn)行批處理方式的圖像處理,以由所有的2D圖像產(chǎn)生簡單的黑白圖像而實(shí)現(xiàn)的。對這些黑白圖像取極限值,從而所有具有3D模型的對象成為白色,而其余的(背景)成為黑色。這些圖像用于產(chǎn)OpenGL模板,在e-TouchTM程序設(shè)計(jì)環(huán)境中,該模板用于遮擋已經(jīng)處于圖像中對象的后邊的光標(biāo)部分。判斷光標(biāo)是否處于對象的后邊是根據(jù)光標(biāo)的位置以及所接觸的對象的表面法線進(jìn)行的。如果表面法線指向負(fù)z方向(遠(yuǎn)離觀察者)并且部分已畫光標(biāo)處于模板的白色區(qū)域內(nèi),那么那部分將不畫出。這一技術(shù)的結(jié)果是光標(biāo)(在這種情況下,該光標(biāo)具有一只張開的手的形狀)總是可見的(看起來確實(shí)處于2D圖像中),除非當(dāng)其一部分被圖片中的對象遮擋住時(shí)(使得2D圖像中的對象看起來象真正的3D對象)。附圖9表示了這一技術(shù)。還可以對光標(biāo)的可見位置進(jìn)行調(diào)整,以補(bǔ)償照片中的對象和觸覺模型之間的差異。例如,當(dāng)接觸到該模型時(shí),可以使可見光標(biāo)始終“咬住”對象的圖像,這有效地減少了是由感覺到觸覺響應(yīng)但是看到光標(biāo)沒有接觸對象而造成的用戶的觀察/觸覺感受器的任何失調(diào)。實(shí)例單一對象,單一圖像的例子附圖1(a,b,c,d)表示本發(fā)明應(yīng)用于單一圖像中的單一對象時(shí)的情況。附圖1b表示一個(gè)圖像顯示在諸如計(jì)算機(jī)屏幕這樣的顯示介質(zhì)上的情況。在該圖像中,對象用101表示,在該圖像中所示的對象101為一個(gè)相對于觀察者旋轉(zhuǎn)并傾斜了的正多面體。附圖1b表示一個(gè)簡單的立方體的觸覺模型,具有限定用于交互的六個(gè)面,每個(gè)面是一個(gè)力反饋接口。該觸覺模型包括設(shè)置在立方體的每個(gè)角處的手感器。這些手感器共同限定了該立方體的觸覺表面。這些手感器的共性和與這些手感器相應(yīng)的調(diào)整觸覺模型的規(guī)則決定了該觸覺模型能夠表示的對象的范圍。附圖1c表示觸覺模型,其手感器與對象的視覺表述的角相應(yīng)地定位。附圖1d表示結(jié)果得到的加到視覺圖像上的觸覺感受器;在表示為黑體虛線的觸覺空間中,與觸覺模型進(jìn)行映射,以致將觸覺感受器與視覺圖像聯(lián)系起來。光標(biāo)在視覺顯示中相對于對象的視覺表述的角的移動(dòng)可以映射為觸覺空間中的觸覺光標(biāo)相對于觸覺模型的相應(yīng)的手感器的運(yùn)動(dòng)。建立對象的視覺表述和觸覺模型手感器之間的對應(yīng)關(guān)系使得相同的觸覺模型可用于提供為圖像中處于不同位置和方向的一類對象中的多種不同的對象提供觸覺感受器。一個(gè)單一的立方體模型,如附圖中所示,能夠?qū)?yīng)于各種尺寸和縱橫比的立方體和規(guī)則六面體。而且,相同的立方體模型可以進(jìn)行扭曲和縮放比例,以適應(yīng)任何六面閉合對象,即使它們具有扭曲形狀或其它復(fù)雜形狀。所舉的例子表示了一個(gè)三維觸覺模型應(yīng)當(dāng)比較簡單的對象;更加復(fù)雜的立方體狀對象(例如,具有彎曲側(cè)面或端面具有相對扭曲)也可以使用同一觸覺模型,只要觸覺模型的手感器和對象之間的對應(yīng)關(guān)系能夠在對象的可靠觸覺模型的觸覺補(bǔ)償范圍之內(nèi)產(chǎn)生觸覺感受器就可以了。本方法能夠以比現(xiàn)有方法低的研發(fā)成本為已有的圖像產(chǎn)生可接受的觸覺模型,并且能夠產(chǎn)生比較簡單的觸覺模型,并且因此與傳統(tǒng)的觸覺模型相比,減少了對運(yùn)算能力要求。單一對象,圖像序列的例子附圖2(a,b,c,d)表示應(yīng)用于一系列圖像中的對象的本發(fā)明的方法。在圖像顯示過程中該對象從左向右移動(dòng)并轉(zhuǎn)動(dòng)。和前面一樣,可以選擇一個(gè)具有對象的特征的簡單觸覺模型代表。對于每個(gè)圖像,該簡單的觸覺模型可以已經(jīng)與對象的特征建立了對應(yīng)關(guān)系,如附圖2a所示。現(xiàn)有的圖像處理技術(shù)能夠?qū)崿F(xiàn)與某些后來的圖像的對應(yīng)關(guān)系是從初始圖像中已經(jīng)建立起來的對應(yīng)關(guān)系導(dǎo)出的,而且降低了提供觸覺感受器的成本。隨著在附圖2b、2c、2c這一序列中對象的移動(dòng)和轉(zhuǎn)動(dòng),對觸覺模型進(jìn)行變換,以保持觸覺空間中的點(diǎn)和視覺空間中的點(diǎn)之間相互對應(yīng)。本發(fā)明的方法因此能夠?yàn)橐幌盗袌D像添加觸覺感受器,與在單一圖像的例子中所討論的情況相比,具有可能更大的效率收益。一個(gè)已有的圖像序列,例如,一個(gè)已有的計(jì)算機(jī)動(dòng)畫片,通過應(yīng)用本發(fā)明,可以有效地提高觸覺感受器。移動(dòng)對象的人類感知可以需要比靜止對象更少的精確再現(xiàn)。因此,本發(fā)明可僅需要觸覺模型與對象較低精度的對應(yīng),就能夠?yàn)橐苿?dòng)對象提供逼真的觸覺模型。多對象圖像序列的例子附圖4給出了從不同觀察點(diǎn)觀察的包括桌子和椅子的一系列圖像??梢圆殚喴粋€(gè)觸覺模型庫來為椅子和桌子選擇初始觸覺模型,該觸覺模型庫簡單地由附圖5中的三把椅子和三張桌子代表。附圖6表示所選擇的觸覺模型。需要注意的是,它們在拓?fù)渖吓c椅子和桌子相似,但并不相同(取決于簡化庫的限制范圍)。附圖7表示圖像中的桌子上點(diǎn)和所選擇的觸覺模型上的點(diǎn)之間已建立的對應(yīng)關(guān)系。然后就能夠確定變換,以將觸覺模型改變成與圖像中的桌子對齊。可以對序列中所有圖像重復(fù)地進(jìn)行這一處理。附圖8表示對于每個(gè)圖像地桌子變換后的位置。這些變換是通過Matlab求解程序產(chǎn)生的。對椅子進(jìn)行類似的處理。如果圖像中的對象的拓?fù)浣Y(jié)構(gòu)沒有發(fā)生變化,那么每個(gè)圖像都可以使用相同的初始觸覺模型。在每個(gè)圖像中可以手工地設(shè)定對應(yīng)點(diǎn),或者可以在全部圖像中通過適當(dāng)?shù)膱D像處理軟件進(jìn)行跟蹤。上面所討論的具體大小和設(shè)備僅僅是為了說明本發(fā)明的具體實(shí)施例而引用的。我們希望本發(fā)明的應(yīng)用可以包含具有不同尺寸和特征的部件。我們確定本發(fā)明的范圍是由所附的權(quán)利要求書所限定的。計(jì)算機(jī)程序?qū)嵗?lt;prelisting-type="program-listing"><![CDATA[ ?。ァ 。atlabscriptfindmat_patentsimplealgorithm,findsx,y,zrot ?。uitableforinputtoetouchalphaversion,foraseriesof ?。ictures,usedforthekitchentableexampleforthepatentapp % ?。healgorithmdoesnotuseanycrossover,soitmightnotbe ?。fficiallyanevolutionaryalgorithminsteaditisanalgorithm ?。ithalargerandomcomponent,perhapscallitrandomhill-climbing ?。ithteleportation.Anysearchalgorithmthatminimizesanerror %functionwilldo. ?。hereisapopulationof1,andduringeachcycleanewcandidate %iscreatedusingmutationorrandomization,andifitisbetter ?。hanthecurrentbestcandidate,thenitreplacesthecurrent ?。estcandidate. ?。hebestcandidateistheonewiththesmallersumoferrors ?。etweenthedesired2danchorpointpositionsandtheactualones. % clear; doXYZScale=1;%setto1ifdifferentscaleinx,y,zdirectionsallowed minScale=1.00;%makeinitialguesshere,changelaterifneeded maxScale=4.00;%makeinitialguesshere,changelaterifneeded cyclesLimit=5000;%timelimittostopprocessingandprintbestvals ?。andomCountLimitisusedtospecifyinwhatpercentageofcycles %amutateoccurs,andinwhatpercentageapurerandomizationhappens randomCountLimit=1;%-1=allrandom,0=allmutate,1=alternate,2=2:1, etc ?。nglelimitsonlyusedforrandom,notformutatecycles minXrot=0; maxXrot=pi/2; minYrot=0; maxYrot=pi/2; minZrot=0; maxZrot=2*pi; numPoints=7;%the#ofanchorpointsused numPictures=6;%6imagesforkitchenapp points2d=zeros(numPoints,3,numPictures); %InputdataprintedoutbyeTouch. ?。hegoalistofindthebestmatrix(foreachimage)that ?。illmoveallofthe3dpointstopositionsthatwill ?。rojectontothe2dpoints. points3d=[... 192.285843-2.6263910.155567;...%3dRELATIVE==ABSOLUTE 191.888973-0.524172-116.115759;...%3dRELATIVE==ABSOLUTE 0.9837760.355283-116.163668;...%3dRELATIVE==ABSOLUTE 170.254251-85.511119-24.442749;...%3dRELATIVE==ABSOLUTE 168.142750-87.777715-93.153169;...%3dRELATIVE==ABSOLUTE 23.948484-87.682190-94.730208;...%3dRELATIVE==ABSOLUTE 24.281173-87.216337-23.443922;...%3dRELATIVE==ABSOLUTE ]; points2d(,,1)=[... 275.30945583.2141370;...%image0RELATIVEpoint 114.495779132.5107480;...%image0RELATIVEpoint -133.69480977.2611500;...%image0RELATIVEpoint 221.094400-102.3636990;...%image0RELATIVEpoint99.524048-38.4457250;...%image0RELATIVEpoint -64.799203-104.2034110;...%image0RELATIVEpoint 41.469303-195.3167050;...%image0RELATIVEpoint ]; ifnumPictures>1, points2d(,,2)=[... 218.867384121.4007380;...%image1RELATIVEpoint 22.559875156.5532070;...%image1RELATIVEpoint -214.56181772.5555490;...%image1RELATIVEpoint 169.072408-72.1260850;...%image1RELATIVEpoint 23.848657-19.3736040;...%image1RELATIVEpoint -129.134379-120.2601060;...%image1RELATIVEpoint 25.711326-204.3348170;...%image1RELATIVEpoint ]; points2d(,,3)=[... 112.764785132.2737250;...%image2RELATIVEpoint -100.259518152.1394670;...%image2RELATIVEpoint -285.67482046.3503700;...%image2RELATIVEpoint 71.917498-62.6394670;...%image2RELATIVEpoint -91.935666-29.9698760;...%image2RELATIVEpoint -200.345201-145.2438210;...%image2RELATIVEpoint -7.487394-203.3693690;...%image2RELATIVEpoint ]; points2d(,,4)=[... -11.934047131.1488590;...%image3RELATIVEpoint -238.068751136.5074320;...%image3RELATIVEpoint -350.5368527.9685640;...%image3RELATIVEpoint -39.482138-58.8233470;...%image3RELATIVEpoint -213.230672-52.0770850;...%image3RELATIVEpoint -268.666024-188.8253870;...%image3RELATIVEpoint -43.110497-202.9894920;...%image3RELATIVEpoint ]; points2d(,,5)=[... -113.480282136.1978890;...%image4RELATIVEpoint -347.288771120.5858980;...%image4RELATIVEpoint -368.112180-37.4427520;...%image4RELATIVEpoint -129.718343-56.0090570;...%image4RELATIVEpoint -307.667502-74.9314660;...%image4RELATIVEpoint -298.063029-228.2418510;...%image4RELATIVEpoint -68.295322-200.5610270;...%image4RELATIVEpoint ]; points2d(,,6)=[... -209.720635166.5681700;...%image5RELATIVEpoint -475.083841129.5891540;...%image5RELATIVEpoint -402.766562-94.1817360;...%image5RELATIVEpoint -214.845518-35.0854000;...%image5RELATIVEpoint -401.784099-65.6284290;...%image5RELATIVEpoint -345.100783-281.6161190;...%image5RELATIVEpoint -105.140724-210.6963010;...%image5RELATIVEpoint ]; end ?。hesearethevaluesthatwestartwiththebestsofarforpic1 bestTestScale=2.2;%onlyusedifxyzscalingnotenabled %Setastartpointforthesimulationhere.Inthisway,youcan %runitnumeroustimes,eachtimestartingwherethelastone ?。eftoff. ?。orthisstartdata,sumoferrs1002.6 allBestRot=[... 0.263390.516110.24429;... 0.249620.850720.39854;...0.148941.15490.46844;... 0.000366651.50330.32438;... 6.18391.68330.39488;... 6.05191.8910.72959;... ] allBestScale=[... 1.55272.20512.5669;... 1.68822.55262.5443;... 1.63552.60152.6763;... 2.57052.46482.8338;... 2.34432.66663.0994;... 1.82023.48473.4619;... ] lgScaleMultiplier=maxScale-minScale; smScaleMultiplier=lgScaleMultiplier/10; smScaleMin=smScaleMultiplier/2; sumOfErrors=0; forwhichPic=1numPictures, bestErrorSum=9999999999999;%bignumber bestTestRotX=allBestRot(whichPic,1); bestTestRotY=allBestRot(whichPic,2); bestTestRotZ=allBestRot(whichPic,3); bestTestScaleX=allBestScale(whichPic,1); bestTestScaleY=allBestScale(whichPic,2); bestTestScaleZ=allBestScale(whichPic,3); thisPoints2d=points2d(,,whichPic); newPoints=zeros(numPoints,3); bestNewPoints=zeros(numPoints,3); randomCount=0; forcount=1cyclesLimit, ifcount~=1%%%%ifthisisntthe1sttimethru doRandom=1; ifrandomCountLimit>-1 ifrandomCount>=randomCountLimit doRandom=0; randomCount=0; else randomCount=randomCount+1; end end ifdoRandom==1 %RANDOMMAT if~doXYZScale, testScale=lgScaleMultiplier*rand(1)+minScale; else testScaleX=lgScaleMultiplier*rand(1)+minScale; testScaleY=lgScaleMultiplier*rand(1)+minScale; testScaleZ=lgScaleMultiplier*rand(1)+minScale; endtestRotX=(maxXrot-minXrot)*rand(1)+minXrot; testRotY=(maxYrot-minYrot)*rand(1)+minYrot; testRotZ=(maxZrot-minZrot)*rand(1)+minZrot; else ?。ELTAFROMCURRENTBESTMATMUTATION if~doXYZScale testScale=bestTestScale+smScaleMultiplier*rand(1)- smScaleMin; else testScaleX=bestTestScaleX+smScaleMultiplier*rand(1)- smScaleMin; testScaleY=bestTestScaleY+smScaleMultiplier*rand(1)- smScaleMin; testScaleZ=bestTestScaleZ+smScaleMultiplier*rand(1)- smScaleMin; end testRotX=bestTestRotX+rand(1)*pi/8-pi/16; testRotY=bestTestRotY+rand(1)*pi/8-pi/16; testRotZ=bestTestRotZ+rand(1)*pi/8-pi/16; iftestRotX>2*pi,testRotX=testRotX-2*pi;end iftestRotY>2*pi,testRotX=testRotY-2*pi;end iftestRotZ>2*pi,testRotX=testRotZ-2*pi;end iftestRotX<0,testRotX=testRotX+2*pi;end iftestRotY<0,testRotX=testRotY+2*pi;end iftestRotZ<0,testRotX=testRotZ+2*pi;end end else%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?。irsttimethru,justrecalcbesterror if~doXYZScale testScale=bestTestScale; else testScaleX=bestTestScaleX; testScaleY=bestTestScaleY; testScaleZ=bestTestScaleZ; end testRotX=bestTestRotX; testRotY=bestTestRotY; testRotZ=bestTestRotZ; end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ?。onsidertheoptionheretoletallthelaterimages ?。sethe1stimage′sscalecurrentlydisabled %ifwhichPic~=1, %testScale=bestTestScale; ?。estScaleX=bestTestScaleX; ?。estScaleY=bestTestScaleY; ?。estScaleZ=bestTestScaleZ; ?。nd %thematlabfunction″makerotmat″createsa3x3rotationmatrix rotMatX=makerotmat(testRotX,cos(testRotY),0,-sin(testRotY)); rotMatY=makerotmat(testRotY,0,1,0); rotMatZ=makerotmat(testRotZ,0,0,1); if~doXYZScalescaleMat=eye(3)*testScale; else scaleMat=eye(3); scaleMat(1,1)=testScaleX; scaleMat(2,2)=testScaleY; scaleMat(3,3)=testScaleZ; end %totalMatisthefinaltransformmatrix?。 otalMat=rotMatX*rotMatY*rotMatZ*scaleMat; errSum=0; fori=1numPoints, newPoints(i,)=(totalMat*points3d(i,)′)′; newPoints(i,3)=0; errVec=newPoints(i,)-thisPoints2d(i,); errSum=errSum+... sqrt(errVec(1)^2+errVec(2)^2); end iferrSum<bestErrorSum bestNewPoints=newPoints; bestErrorSum=errSum; bestTestRotX=testRotX; bestTestRotY=testRotY; bestTestRotZ=testRotZ; if~doXYZScale bestTestScale=testScale; else bestTestScaleX=testScaleX; bestTestScaleY=testScaleY; bestTestScaleZ=testScaleZ; end end end ?。rintoutthispicture′sinfo ′**************′ whichPic bestErrorSum str=sprintf(′(%f,%f,%f);//rot\n′,bestTestRotX,... bestTestRotY,bestTestRotZ) if~doXYZScale str=sprintf(′(%f,%f,%f);//scale\n′,bestTestScale,... bestTestScale,bestTestScale) else str=sprintf(′(%f,%f,%f);//scale\n′,bestTestScaleX,... bestTestScaleY,bestTestScaleZ) end allBestRot(whichPic,1)=bestTestRotX; allBestRot(whichPic,2)=bestTestRotY; allBestRot(whichPic,3)=bestTestRotZ; allBestScale(whichPic,1)=bestTestScaleX; allBestScale(whichPic,2)=bestTestScaleY; allBestScale(whichPic,3)=bestTestScaleZ; sumOfErrors=sumOfErrors+bestErrorSum;end ?。rintoutthefinalresults sumOfErrors allBestRot allBestScale]]></pre>權(quán)利要求1.一種生成對應(yīng)于對象的二維圖像的人機(jī)接口的三維觸覺部件的方法,包括a)從一個(gè)觸覺模型庫中選取一個(gè)與所述對象拓?fù)湎嗨频某跏加|覺模型;b)在三維初始觸覺模型中的一組對應(yīng)點(diǎn)與所述對象的二維圖像中的一組對應(yīng)點(diǎn)之間建立對應(yīng)關(guān)系;c)通過調(diào)整所述初始觸覺模型生產(chǎn)一個(gè)最終的觸覺模型,以致所述最終的觸覺模型中的對應(yīng)點(diǎn)的二維投影基本與所述對象的二維圖像中的對應(yīng)點(diǎn)對齊。2.按照權(quán)利要求1所述的方法,其中從一個(gè)庫中進(jìn)行的選擇包括使用自動(dòng)圖像識(shí)別來選擇具有類似與所述對象的二維投影的三維模型。3.按照權(quán)利要求1所述的方法,其中對應(yīng)關(guān)系的建立包括為用戶給出所述初始觸覺模型的表述,并從用戶接收對所述初始觸覺模型中的點(diǎn)的說明,以在所述對象的顯示畫面中相應(yīng)地布置一些點(diǎn)。4.按照權(quán)利要求3所述的方法,其中從用戶接收對所述初始模型中的點(diǎn)的說明以在所述對象的顯示畫面中相應(yīng)地布置一些點(diǎn)包括監(jiān)控光標(biāo)的位置,并把所述觸覺模型中的光標(biāo)的位置看作響應(yīng)于來自用戶的指示的對應(yīng)點(diǎn)。5.按照權(quán)利要求1所述的方法,其中對所速初始觸覺模型的調(diào)整包括按照一組參數(shù)化的操作對所述初始觸覺模型進(jìn)行調(diào)整,并為所述操作確定參數(shù),所述操作產(chǎn)生一個(gè)最終的初始觸覺模型,該觸覺模型在二維投影中的對應(yīng)點(diǎn)全體處于所述對象的圖像中的對應(yīng)點(diǎn)的誤差度量之內(nèi)。6.按照權(quán)利要求5所述的方法,其中所述一組參數(shù)化操作包括下列一個(gè)或多個(gè)關(guān)于一個(gè)軸的旋度、沿著一個(gè)軸的縮放比例、模型的各部分之間的相對縮放比例以及位置。7.按照權(quán)利要求1所述的方法,其中所述對象的圖像是一個(gè)序列的圖像,并且還包括在該序列的其它圖像中的所述對象的圖像中確定對應(yīng)點(diǎn),并且還包括按照所述觸覺模型對應(yīng)點(diǎn)和為在該序列中其它圖像中的每一個(gè)中的所述對象確定的對應(yīng)點(diǎn),為所述序列中的其它圖像中的所述對象生成觸覺模型。8.一種提供人機(jī)接口的方法,所述人機(jī)接口包括一個(gè)二維視覺空間和一個(gè)生成的三維觸覺空間;包括a)從一個(gè)觸覺模型庫中選取一個(gè)與所述對象拓?fù)湎嗨频某跏加|覺模型;b)在三維初始觸覺模型中的一組對應(yīng)點(diǎn)與所述對象的二維圖像中的一組對應(yīng)點(diǎn)之間建立對應(yīng)關(guān)系;c)通過調(diào)整所述初始觸覺模型生產(chǎn)一個(gè)最終的觸覺模型,以致所述最終的觸覺模型中的對應(yīng)點(diǎn)的二維投影基本與所述對象的二維圖像中的對應(yīng)點(diǎn)對齊。d)在所述觸覺空間中的觸覺光標(biāo)和所述視覺空間中的視覺光標(biāo)之間建立對應(yīng)關(guān)系;e)響應(yīng)于用戶的輸入改變觸覺光標(biāo)的位置和視覺光標(biāo)的位置;f)按照所述觸覺模型和觸覺光標(biāo)相對于所述觸覺模型的位置,向用戶提供力反饋。9.按照權(quán)利要求8所述的方法,還包括通過重疊在所述二維圖像上的一個(gè)光標(biāo)圖形為用戶指示可視光標(biāo)的位置,并且還包括響應(yīng)于觸覺光標(biāo)相對于所述觸覺模型的位置對光標(biāo)圖形進(jìn)行改變。10.按照權(quán)利要求8所述的方法,其中力反饋的提供還包括確定在相應(yīng)于所述二維圖像的所述觸覺模型的二維投影中的觸覺光標(biāo)的位置,以及將相對于觸覺光標(biāo)的投影的建立為觸覺光標(biāo)首次接觸到的觸覺模型的部分在觸覺空間中的深度。11.一種生成對應(yīng)于一個(gè)可視圖像中的一個(gè)對象的觸覺模型的方法,包括a)從一組觸覺模型中選取一個(gè)觸覺模型,其中所選取的觸覺模型接近所述對象的所需觸覺特征;b)在所選取的觸覺模型的特征與所述圖像中的對象的表述之間建立對應(yīng)關(guān)系;c)通過所選取的觸覺模型和所述對應(yīng)關(guān)系生成一個(gè)觸覺模型。12.按照權(quán)利要求11所述的方法,其中所述一組觸覺模型包括多個(gè)觸覺模型,每一個(gè)觸覺模型與一類對象相關(guān),并且每一個(gè)代表一個(gè)相關(guān)的類別內(nèi)的簡化的觸覺模型,可用于生成在對象的觸覺感覺范圍內(nèi)的觸覺模型。13.按照權(quán)利要求11所述的方法,其中所述圖像包括二維圖像。14.按照權(quán)利要求11所述的方法,其中所述圖像包括一個(gè)序列的二維圖像中的一個(gè)二維圖像。15.按照權(quán)利要求11所述的方法,其中所述一組觸覺模型中的觸覺模型包括手感器,并且其中對應(yīng)關(guān)系的建立包括在圖像中的對象的表述中確定對應(yīng)于所述觸覺模型的手感器的指標(biāo)點(diǎn)。16.按照權(quán)利要求15所述的方法,其中所述手感器包括出具模型中的不連續(xù)的點(diǎn)。17.按照權(quán)利要求15所述的方法,其中所述手感器包括確定所述觸覺模型的縮放比例的點(diǎn)。18.按照權(quán)利要求15所述的方法,其中所述手感器包括確定所述觸摸模型的旋度的點(diǎn)。19.按照權(quán)利要求15所述的方法,其中觸覺模型的產(chǎn)生包括a)根據(jù)對象的表述中的指標(biāo)點(diǎn)的在圖像中的位置,在觸覺空間中建立所選取的觸覺模型的手感器的位置;b)根據(jù)手感器在觸覺空間中的位置和所選取的觸覺模型生成一個(gè)觸覺模型。20.按照權(quán)利要求15所述的方法,其中觸覺模型的生成包括,通過調(diào)整所選取的觸覺模型生成一個(gè)觸覺模型,從而所生成的觸覺模型的手感器在觸覺空間中的位置對應(yīng)于所述圖像中的對象的表述中的指標(biāo)點(diǎn)的位置。21.按照權(quán)利要求20所述的方法,其中對所選取的觸覺模型的調(diào)整包括下列至少其中之一縮放觸覺模型的比例、定位觸覺模型、旋轉(zhuǎn)觸覺模型、伸展觸覺模型、扭曲觸覺模型以及使觸覺模型變體。22.一種生成對應(yīng)于一個(gè)序列中的視覺圖像中的對象的觸覺模型的方法,包括a)從一組觸覺模型中選取一個(gè)觸覺模型,其中所選取的觸覺模型接近所述對象的所需觸覺特征;b)所選取的觸覺模型的特征與所述序列中的第一個(gè)圖像中的對象的表述之間建立對應(yīng)關(guān)系;c)根據(jù)所選取的觸覺模型和所述對應(yīng)關(guān)系生成一個(gè)觸覺模型;和d)確定所述序列中第二個(gè)圖像中的對象的表述的變化;和e)根據(jù)所選取的觸覺模型、對應(yīng)關(guān)系和所述變化生成一個(gè)觸覺模型。23.一種生成對應(yīng)于一個(gè)視覺圖像中的多個(gè)對象的觸覺模型的方法,包括,對于所述視覺圖像中的每一個(gè)對象a)從一組觸覺模型中選取一個(gè)觸覺模型,其中所選取的觸覺模型接近所述對象的所需觸覺特征;b)在所選取的觸覺模型的特征與所述圖像中的對象的表述之間建立對應(yīng)關(guān)系;c)根據(jù)所選取的觸覺模型和所述對應(yīng)關(guān)系生成一個(gè)觸覺模型。24.一種生成對應(yīng)于對象的二維圖像的人機(jī)接口的三維觸覺部件的方法,包括a)從一個(gè)觸覺模型庫中選取一個(gè)與所述對象拓?fù)湎嗨频某跏加|覺模型;b)在三維初始觸覺模型中的一組對應(yīng)點(diǎn)與所述對象的二維圖像中的一組對應(yīng)點(diǎn)之間建立對應(yīng)關(guān)系;c)確定觸覺模型的二維投影與對象的二維圖像之間的誤差,此處觸覺模型是通過對所述初始觸覺模型施加一組參數(shù)化操作而確定的;d)為產(chǎn)生對應(yīng)于一個(gè)誤差范圍之內(nèi)的誤差的觸覺模型的所述參數(shù)化操作確定參數(shù)。25.一種產(chǎn)生對應(yīng)于二維圖像的人機(jī)接口的三維觸覺部件的方法,包括a)從一個(gè)觸覺模型庫中選取一個(gè)與所述對象拓?fù)湎嗨频娜S觸覺模型;b)在所述二維圖像和所述三維觸覺模型之間建立對應(yīng)關(guān)系,以致與所述二維圖像進(jìn)行的交互和與所述三維觸覺模型進(jìn)行的交互彼此關(guān)聯(lián)。26.按照權(quán)利要求25所述的方法,其中與所述二維圖像進(jìn)行的交互包括,響應(yīng)于用戶對一個(gè)輸入設(shè)備的操縱,光標(biāo)在圖像的可視表述中的運(yùn)動(dòng),并且其中與三維觸覺模型的交互包括響應(yīng)于用戶對所述輸入設(shè)備的操縱,反饋給所述輸入設(shè)備的力反饋。27.按照權(quán)利要求25所述的方法,其中交互是相互關(guān)聯(lián)的,從而由用戶向三維觸覺模型施加的力影響所述二維圖像的顯示。28.按照權(quán)利要求25所述的方法,其中關(guān)系的建立包括,在所述三維觸覺模型與所述二維圖像之間建立對應(yīng)關(guān)系,以致使它們之間可感知的差異最小。29.按照權(quán)利要求25所述的方法,其中關(guān)系的建立包括,在所述三維觸覺模型與所述二維圖像之間建立對應(yīng)關(guān)系,以致代表在所述圖像的平面內(nèi)的所述觸覺模型的二維投影與所述二維圖像之間的差異的誤差最小。全文摘要本發(fā)明提供了一種生成觸覺接口感受器的方法,該方法能夠?yàn)橐延械亩S圖像生成觸覺伴隨器。本方法利用了人類視覺優(yōu)于觸覺的優(yōu)勢人類觸覺、本體感受器以及肌肉運(yùn)動(dòng)知覺都不能提供象人類視覺一樣好的細(xì)節(jié),并且因此觸覺表述不用必須象相應(yīng)的視覺圖像那樣精細(xì)就能夠使人類用戶相信?,F(xiàn)有的二維圖像可以用作人機(jī)接口的可視部件??梢赃x擇與所述圖像拓?fù)湎嗨频娜S觸覺模型,這里拓?fù)湎嗨菩允侵杆鋈S模型對期望與所述二維圖像伴隨的觸覺感受器的主要特征給出了可接受的逼近。于是可以在接口的視覺部件中的圖像與接口的觸覺部件中的觸覺模型之間建立一個(gè)關(guān)系,從而使與視覺部件中的圖像進(jìn)行的交互和與觸覺部件中的觸覺模型進(jìn)行的交互彼此關(guān)聯(lián)起來。試舉一例,一個(gè)球的二維圖像可以具有一個(gè)與其相關(guān)聯(lián)的球形觸覺模型,并且所建立的球心和半徑具有這樣的關(guān)系球的二維圖像的圖像邊緣處的視覺光標(biāo)運(yùn)動(dòng)與當(dāng)該光標(biāo)遇到觸覺模型的表面時(shí)的觸覺力反饋是相互關(guān)聯(lián)的。文檔編號(hào)G06F3/00GK1659551SQ02819041公開日2005年8月24日申請日期2002年10月2日優(yōu)先權(quán)日2001年10月4日發(fā)明者J·S·瓊斯申請人:諾文特技術(shù)公司