两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

虛擬對象的方位校正的制作方法

文檔序號:6527394閱讀:247來源:國知局
虛擬對象的方位校正的制作方法
【專利摘要】提供一種用于在真實世界場景的虛擬模型中的虛擬對象的方位校正中使用的計算機實現(xiàn)的方法。對象的方位由所述虛擬對象的位置和取向二者構(gòu)成。所述方法包括:生成包括虛擬對象的所述虛擬模型,并且獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象和所述虛擬對象相對應(yīng)。所述方法還包括:計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異,以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和/或取向,并且關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
【專利說明】虛擬對象的方位校正
【背景技術(shù)】
[0001]本文描述的實施例通常涉及真實世界對象和/或場景的圖形表示,并且更具體地,涉及三維(3D)計算機圖形建模和仿真,以及表示真實世界對象的虛擬對象的布局和方位校準。對象的方位由對象的位置和取向二者構(gòu)成。
[0002]制造工作單元的三維計算機圖形仿真目前用于仿真制造處理。該程序或仿真模型然后被下載到工廠車間上的計算機以便驅(qū)動諸如工業(yè)機器人的資源。作為這一處理的一部分,制造工作單元(包括機器、器具以及在制造處理中使用的工件)的虛擬3D模型需要對于仿真工作單元中的布局進行調(diào)整,以便匹配工廠車間上真實工作單元的實際位置和取向。這使仿真制造程序能夠驗證用于諸如可達性和碰撞的問題的處理。這也使能將要被下載到諸如工廠中的工業(yè)機器人的制造資源的脫機程序的正確操作。
[0003]仿真模型中3D方位校正的已知方法使用昂貴且復(fù)雜的測量設(shè)備,例如,坐標測量機、經(jīng)緯儀和/或激光測距儀。然而,這樣的設(shè)備需要在工廠中安裝。從工廠獲得的測量數(shù)據(jù)然后被導(dǎo)入到3D仿真中并且用于調(diào)整模型。因此,這樣的已知方法要求購買單獨的設(shè)備并且要求培訓(xùn)用戶以便使用它們。而且,這樣的已知方法要求不同方位處的多個步驟。

【發(fā)明內(nèi)容】

[0004]在一個方面,提供一種用于在真實世界場景的虛擬模型的方位校正中使用的計算機實現(xiàn)的方法。所述方法包括:生成包括虛擬對象的所述虛擬模型,并且獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象和所述虛擬對象相對應(yīng)。所述方法還包括:計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異,以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和/或取向,并且關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
[0005]在另一方面,提供一種用于在真實世界場景的虛擬模型的方位校正中使用的計算機。所述計算機包括配置為存儲所述虛擬模型以及所述虛擬模型內(nèi)的虛擬對象的存儲區(qū)。所述計算機還包括耦接到所述存儲區(qū)的處理器。所述處理器配置為:生成包括所述虛擬對象的所述虛擬模型,并且獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象和所述虛擬對象相對應(yīng)。所述處理器還配置為:計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異,以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和/或取向,并且關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
[0006]在另一方面,一種計算機程序產(chǎn)品包括具有用于在真實世界場景的虛擬模型的方位校正中使用的計算機可執(zhí)行組件的一個或多個非暫態(tài)計算機可讀存儲介質(zhì)。所述組件包括:使處理器生成包括虛擬對象的所述虛擬模型的生成組件,以及使所述處理器獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像的獲取組件,其中,所述真實世界對象和所述虛擬對象相對應(yīng)。所述組件還包括校正組件,所述校正組件使所述處理器:計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異,以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和/或取向,并且關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
【專利附圖】

【附圖說明】
[0007]圖1是用于在真實世界場景的虛擬模型的方位校正中使用的示例性計算機系統(tǒng)的示意性方框圖;
[0008]圖2是說明圖1中示出的計算機系統(tǒng)的操作的流程圖;
[0009]圖3是進一步說明圖1中示出的計算機系統(tǒng)的操作的流程圖;
[0010]圖4A-4G是在圖1中示出的計算機系統(tǒng)中使用的客戶端設(shè)備的示例性顯示的說明;
[0011]圖5是用于與在圖1中示出的服務(wù)器系統(tǒng)和/或客戶端設(shè)備使用的示例性計算機架構(gòu)的示意性方框圖。
【具體實施方式】
[0012]下面描述本發(fā)明的示例實施例。
[0013]本文引用的所有專利、公開的申請和參考文獻的教導(dǎo)通過引用的方式以其整體結(jié)合進來。
[0014]本文描述了用于在真實世界場景的虛擬模型的方位校正中使用的計算機實現(xiàn)的方法、計算機設(shè)備和系統(tǒng)以及計算機程序產(chǎn)品的示例性實施例。使用例如具有內(nèi)置數(shù)字照相機、3D圖形仿真或虛擬現(xiàn)實軟件的手持平板電腦以及實現(xiàn)期望的空間校準的方法,本文描述的實施例有利于對于計算機圖形模型中的虛擬對象的3D方位校正。本文描述的實施例利用內(nèi)置在這樣的手持平板電腦中的高分辨率圖像和計算能力的組合,連同來自軟件的3D模型圖像的數(shù)學上嚴格的呈現(xiàn)。所述方案涉及“中間現(xiàn)實”的類型,用戶捕捉工作單元的數(shù)字照相機靜態(tài)圖像的小的集合,所述工作單元疊加在平板電腦的工作單元模型的3D虛擬圖像的頂部上。然而,應(yīng)該理解,本文描述的實施例不要求在虛擬圖像上疊加圖像。例如,本文描述的實施例也使計算機設(shè)備能夠按照并排的方式顯示圖像和虛擬模型,例如,以使得在每一個應(yīng)用中單獨地跟蹤位置計算和移動。下文詳細描述的計算方案然后調(diào)整虛擬模型中的虛擬對象的3D方位以便解決校準問題。
[0015]而且,本文描述的實施例有利于易用性、進程的加速以及測量和儀器的成本和安裝時間的顯著減少。此外,本文描述的實施例包含在3D方位調(diào)整期間不需要內(nèi)置到平板電腦中的數(shù)字照相機的硬件特定定制或長度標準類型校準的方案。而且,如下文詳細解釋的,本文描述的實施例從對象的小尺寸到大尺寸以及從調(diào)整的細精確度到粗精確度是可調(diào)節(jié)的。
[0016]應(yīng)當理解,盡管關(guān)于工業(yè)和/或制造資源解釋了本文描述的實施例,但是這些實施例并不局限于這樣的用途。例如,所述實施例也可以在用于重新建模房間內(nèi)部的內(nèi)部設(shè)計期間使用,其中諸如家具的現(xiàn)有對象的布局的3D圖形模型可以被調(diào)整,以便在開始重新設(shè)計之前正確地匹配建筑物房間內(nèi)的實際布局。另一示例是建筑,其中大致位于虛擬模型中的一組建筑物的3D模型可以通過將平板電腦帶到戶外并且在地面周圍行走的同時拍攝建筑物的數(shù)字圖像來對于實際位置進行調(diào)整。
[0017]圖1是用于在真實世界場景的虛擬模型的方位校正中使用和/或用于在執(zhí)行下述處理和/或可以與下文描述的那些處理相關(guān)的其它處理時使用的示例性計算機系統(tǒng)100的示意性方框圖。在示例性實施例中,存儲區(qū)102包括用于在存儲數(shù)據(jù)時使用的一個或多個存儲設(shè)備104,所述數(shù)據(jù)例如是與真實世界場景的仿真相關(guān)的數(shù)據(jù)。存儲設(shè)備104可以被體現(xiàn)為一個或多個數(shù)據(jù)庫和/或可以位于單個或多個地理場所處。在一些實施例中,存儲區(qū)102耦接到服務(wù)器系統(tǒng)106。在可選實施例中,存儲區(qū)102與服務(wù)器系統(tǒng)106集成。在示例性實施例中,服務(wù)器系統(tǒng)106經(jīng)由網(wǎng)絡(luò)110耦接到一個或多個客戶端設(shè)備108??蛻舳嗽O(shè)備108可以包括移動客戶端設(shè)備,包括但不局限于僅包括:筆記本電腦、平板電腦和/或智能手機。而且,客戶端設(shè)備108可以包括通常不移動的靜止的客戶端設(shè)備,例如臺式計算機
坐坐寸寸ο
[0018]可以理解,網(wǎng)絡(luò)110可以是諸如因特網(wǎng)的公共網(wǎng)絡(luò),或者諸如LAN或WAN網(wǎng)絡(luò)的私人網(wǎng)絡(luò),或者其任意組合,并且也可以包括PSTN或ISDN子網(wǎng)絡(luò)。網(wǎng)絡(luò)110也可以是諸如以太網(wǎng)網(wǎng)絡(luò)的有線網(wǎng)絡(luò),或者可以是諸如蜂窩網(wǎng)絡(luò)的無線網(wǎng)絡(luò),包括EDGE、3G和4G或LTE無線蜂窩系統(tǒng)。無線網(wǎng)絡(luò)也可以是WiF1、藍牙或已知的通信的任何其它無線形式。因而,網(wǎng)絡(luò)110僅是示例性的,并且決不限制本改進的范圍。
[0019]服務(wù)器系統(tǒng)106和/或客戶端設(shè)備108可以是任何合適的計算機架構(gòu),例如下面參照圖5描述的一個計算機架構(gòu),或者是已知的任何其它計算架構(gòu)。而且,應(yīng)當理解,服務(wù)器系統(tǒng)106配置為執(zhí)行上面描述的處理和/或可以與上面描述的那些處理相關(guān)的任何附加的處理。
[0020]在一些實施例中,服務(wù)器系統(tǒng)106也可以根據(jù)需要從存儲區(qū)108向客戶端設(shè)備108提供數(shù)據(jù),以使得客戶端設(shè)備108執(zhí)行上面描述的處理。這樣,圖1包括經(jīng)由云計算、分布式計算等等的計算機系統(tǒng)100的實現(xiàn)。而且,在一些實施例中,服務(wù)器系統(tǒng)106存儲計算機可讀指令以便執(zhí)行下面瞄述的處理,并且經(jīng)由網(wǎng)絡(luò)110向客戶端設(shè)備108提供這些指令。這樣的計算機可讀指令可以被體現(xiàn)為計算機程序產(chǎn)品,該計算機程序產(chǎn)品具有一個或多個非暫態(tài)計算機可讀存儲介質(zhì),該非暫態(tài)計算機可讀存儲介質(zhì)具有用于在真實世界場景的虛擬模型的方位校正中使用的計算機可執(zhí)行組件。如下文附加詳細描述的,所述組件包括生成組件,該生成組件使處理器生成包括虛擬對象的所述虛擬模型,以及獲取組件,所述獲取組件使所述處理器獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象與所述虛擬對象相對應(yīng)。所述組件還包括校正組件,所述校正組件使所述處理器計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的圖像位置差異,以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和/或取向,并且關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
[0021]圖2是說明圖1中示出的計算機系統(tǒng)100的操作的流程圖200。在示例性實施例中,并且參照圖1和圖2 二者,服務(wù)器系統(tǒng)106經(jīng)由網(wǎng)絡(luò)110向客戶端設(shè)備108發(fā)送202真實世界場景或工作單元的虛擬模型,例如用于在真實世界場景的仿真或虛擬顯示中使用的3D模型??蛻舳嗽O(shè)備108將該虛擬模型裝載204到仿真或虛擬現(xiàn)實軟件模塊,并且從用戶接收206用戶希望調(diào)整其空間方位的一個或多個虛擬對象的用戶選擇??蛻舳嗽O(shè)備108還從用戶接收208所述虛擬模型內(nèi)的參考對象或參考點的選擇??蛻舳嗽O(shè)備108然后顯示210重疊在虛擬3D視圖上的數(shù)字照相機圖像或按照與虛擬3D視圖并排的方式顯示數(shù)字照相機圖像。然后以附加的用戶輸入為基礎(chǔ),通過虛擬旋轉(zhuǎn)和平移,虛擬模型在縮放和取向方面到期望的視點的顯示來調(diào)整212客戶端設(shè)備108中的3D視圖,以便大致地將3D視圖匹配到疊加的照相機圖像。數(shù)字圖像連同相對應(yīng)的3D虛擬視圖然后由客戶端設(shè)備108獲取214,并且被保存到客戶端設(shè)備108和/或服務(wù)器106。
[0022]在示例性實施例中,用戶然后在諸如房間布局、工廠車間或建筑物地面的真實世界場景中持有客戶端設(shè)備108,并且攜帶客戶端設(shè)備108四處移動216,以便在數(shù)字照相機圖像連同虛擬模型的顯示210中得到不同的視圖。在示例性實施例中,用戶重復(fù)地調(diào)整212虛擬3D視圖的顯示,并且每次捕獲214新的數(shù)字圖像連同其3D視圖??蛻舳嗽O(shè)備108和/或服務(wù)器系統(tǒng)106然后調(diào)用218方位校正功能,該方位校正功能使用捕獲的數(shù)字圖像以便識別與其相對應(yīng)的真實世界對象相比較的虛擬對象的位置和取向,如下文在流程圖300中詳述的??蛻舳嗽O(shè)備108和/或服務(wù)器系統(tǒng)106完成方位校正功能,這產(chǎn)生虛擬模型中的虛擬對象的位置和取向關(guān)于真實世界場景中的真實世界對象的改善的精確度。產(chǎn)生的制造仿真或虛擬顯示將得到增強,以使得空間和/或時間誤差將減少。在一些實施例中,客戶端設(shè)備108向服務(wù)器系統(tǒng)106發(fā)送虛擬對象和/或虛擬模型的屬性,例如虛擬對象的新的位置和/或取向,用于存儲在存儲區(qū)102中。在這樣的實施例中,能夠隨后訪問存儲的數(shù)據(jù),用于隨后的仿真。
[0023]圖3是進一步說明圖1中示出的計算機系統(tǒng)100的操作的流程圖300。在示例性實施例中,并且參照圖1和圖3 二者,服務(wù)器系統(tǒng)106生成302表示真實世界場景的虛擬模型。服務(wù)器系統(tǒng)106經(jīng)由網(wǎng)絡(luò)110向客戶端設(shè)備108發(fā)送304虛擬模型??蛻舳嗽O(shè)備108將虛擬模型裝載306到仿真或虛擬現(xiàn)實軟件模塊。在示例性實施例中,客戶端設(shè)備108接收308用戶輸入以便識別虛擬模型中的虛擬對象和參考對象。虛擬對象是用戶希望在其上執(zhí)行本文中描述的方位校正步驟的對象。參考對象是關(guān)于完成方位校正的對象。例如,圖4A是客戶端設(shè)備108的示例性顯示400的說明??蛻舳嗽O(shè)備108顯示虛擬對象402和參考對象404。
[0024]在一些實施例中,客戶端設(shè)備108還接收310用戶輸入以便識別虛擬對象402上的一個或多個預(yù)定義的比較特征以及參考對象404上的一個或多個相對應(yīng)的比較特征。在替代實施例中,視覺處理和/或模式識別算法可以用于識別虛擬對象402和參考對象404上的預(yù)定義的功能。如圖4A所示,虛擬對象402的3D視圖具有頂點406形式的三個預(yù)定義的特征,并且參考對象404具有頂點408形式的三個相對應(yīng)的預(yù)定義的特征。圖4B是表示來自內(nèi)置到客戶端設(shè)備的照相機的數(shù)字圖像的客戶端設(shè)備108的顯示400的另一說明。如圖4B所示,真實世界對象410具有與虛擬對象402上的用戶選擇的點406相對應(yīng)的三個點412。真實世界參考對象414具有與虛擬參考對象404上的用戶選擇的點408相對應(yīng)的三個點416。盡管圖4A和圖4B將虛擬對象402、虛擬參考對象404、真實世界對象410和真實世界參照對象414表示為立方體對象,但是將理解的是,本文描述的實施例并不局限于使用立方體對象。相反,本文描述的實施例可以與考慮到某些可識別的點的集合的選擇的具有任何形狀的對象一起使用。而且,預(yù)定義的比較特征406、408、412和/或416可以是頂點,如圖4A和4B所示,或者可以是直線、平面或表面。在一些實施例中,客戶端設(shè)備108將與被識別的點406、408、412和/或416相關(guān)的數(shù)據(jù),例如被識別的點的坐標,發(fā)送到服務(wù)器系統(tǒng)106。
[0025]在識別了預(yù)定義的點406和/或408之后,客戶端設(shè)備108以識別的點406和/或408為基礎(chǔ)來計算312方位變換。在該虛擬模型中,每一個虛擬對象的位置和取向由六個參數(shù)(乂,¥,2,1,?和10定義。前三個參數(shù)(X,Y,Z)是在X方向,y方向和ζ方向上固定虛擬對象的位置的距離。后三個參數(shù)(W,P,R)是固定虛擬對象的取向的角度,其中,W表示偏航,P表示間距,R表示翻轉(zhuǎn)。這六個參數(shù)可以一起被稱為虛擬對象的方位變換。而且,計算虛擬對象402關(guān)于諸如由虛擬參考對象404暗示的參考坐標系的方位變換。具體地說,以虛擬對象402上識別的點406和參考對象404上識別的點408的位置(X,Y,Z)為基礎(chǔ)來計算虛擬對象402的方位變換。如圖4A所示,虛擬對象402上的點406是用于計算方位變換312的那些點。在示例性實施例中,參考對象404對于將被完成的方位校正提供參考坐標系和維度長度標準。因而,參考對象404的3D模型在其識別的點408的方位方面大致地匹配真實世界參考對象(未示出)。換句話說,虛擬參考對象404的識別的點408和真實世界參考對象的相對應(yīng)的點之間的各自距離在依賴于應(yīng)用的預(yù)定義的公差內(nèi)應(yīng)該相同。
[0026]在計算方位變換之后,客戶端設(shè)備108中的照相機設(shè)備獲取314真實世界場景的數(shù)字圖像連同它們的3D虛擬視圖,如在圖2中的210-214解釋的。而且,并且再次參照圖2,客戶端設(shè)備108以虛擬參考對象404的操控形式接收212用戶輸入。例如,用戶可以使用觸摸屏來進行重新定位,例如使用旋轉(zhuǎn)、平移和/或縮放操作,以使得虛擬對象402和參考對象404與真實世界對象410和參考對象414大致對齊。圖4C和4D是客戶端設(shè)備108的顯示400的附加說明。具體地說,圖4C說明了顯示疊加在真實世界場景上的虛擬模型或與該真實世界場景同時顯示該虛擬模型的客戶端設(shè)備108,包括虛擬對象402及其相對應(yīng)的真實世界對象410,以及參考對象404及其相對應(yīng)的真實世界參考對象414。在用戶調(diào)整2123D虛擬視圖以便大致地對準真實世界圖像之后,產(chǎn)生圖4C中描繪的情況??蛻舳嗽O(shè)備108和/或服務(wù)器106然后利用視圖旋轉(zhuǎn)、平移和/或縮放的精細修改來啟動3D虛擬視圖的編程調(diào)整316,以便使參考對象404上的預(yù)定義的點408與真實世界參考對象414上的點416大致匹配。對 于從真實世界場景的不同視角獲取314的每一個圖像,進行這一編程視圖調(diào)整。圖4D示出了在步驟316之后產(chǎn)生的情況,以使得所述虛擬參考對象404匹配真實世界參照對象414。具體地說,參考對象404的點408實質(zhì)上與真實世界參考對象414的相對應(yīng)的點416大致對齊。而且,正是這一編程調(diào)整316不需要任何特定硬件的照相機校準,并且確保了在下面的方位校正中自動地考慮由參考對象404的尺寸隱含的長度標準。
[0027]當參考對象404通過編程調(diào)整316與真實世界參照對象414實質(zhì)上對準時,客戶端設(shè)備108和/或服務(wù)器系統(tǒng)106現(xiàn)在確定虛擬對象點406和真實世界對象410上的相對應(yīng)的點412之間的不匹配。具體地說,客戶端設(shè)備108和/或服務(wù)器系統(tǒng)106計算318虛擬對象402上的點406和真實世界對象410上的相對應(yīng)的點412之間的基于圖像的位置差異。在示例性實施例中,在X和Y方向中的每一個上在像素中計算該差異。圖4E是客戶端設(shè)備108的顯示400的另一說明。具體地說,圖4E示出了對于虛擬對象402的點406中的一個與真實世界對象410的相對應(yīng)的點412在X方向(德爾塔X)和Y方向(德爾塔Y)中的每一個上的距離。然而,在示例性實施例中,客戶端設(shè)備108和/或服務(wù)器系統(tǒng)106對于所有成對的標識的點406和412計算318所述差異。在示例性實施例中,將所述差異存儲在存儲區(qū)102中??蛻舳嗽O(shè)備108和/或服務(wù)器系統(tǒng)106對于從真實世界場景的不同視角獲取314的圖像中的每一個計算這一圖像位置差異。圖4F是客戶端設(shè)備108的顯示的另一說明。具體地說,圖4F示出了在參考對象404已經(jīng)與真實世界參考對象414實質(zhì)上重新對齊之后,從真實世界場景的替代角度的另一獲取的圖像位置差異計算。
[0028]客戶端設(shè)備108和/或服務(wù)器系統(tǒng)106然后迭代320虛擬對象402的方位變換,以便最小化虛擬對象402與真實世界對象410之間的所有圖像位置差異的組合。在一個實施例中,客戶端設(shè)備108和/或服務(wù)器系統(tǒng)106使用通過調(diào)整可變參數(shù)的集合來最小化成本函數(shù)的標準非線性回歸。在示例性實施例中,所述成本函數(shù)是對于所有計算的德爾塔X和德爾塔Y差異的均方根(RMS)誤差的總和??勺儏?shù)將是虛擬對象402的(X,Y,Z,W, P和R)值,即,虛擬對象402的計算的方位變換。以這一最小化步驟320的結(jié)果為基礎(chǔ),客戶端設(shè)備108和/或服務(wù)器系統(tǒng)106調(diào)整322虛擬對象402的位置和/或取向,并且關(guān)于該虛擬對象402的校正方位來調(diào)整324該虛擬模型。圖4G是客戶端設(shè)備108的顯示的另一說明。具體地說,圖4G示出了關(guān)于虛擬對象402和虛擬模型作為整體的重新取向和/或重新定位的最終結(jié)果。
[0029]應(yīng)當理解的是,盡管上面的步驟描述了僅以調(diào)整單個虛擬對象的位置為基礎(chǔ)來調(diào)整虛擬模型,但是本文描述的實施例考慮一次一個或多個地調(diào)整多個虛擬對象的位置。在示例性實施例中,每一個虛擬模型調(diào)整使用相同的參考對象。然而,在一些實施例中,參考對象對于不同的虛擬對象可以不同和/或可以簡單地是空間中的參考點,而不是對象。
[0030]圖5是用于與服務(wù)器系統(tǒng)106和/或客戶端設(shè)備108 (分別在圖1中示出)一起使用的示例性計算機架構(gòu)500的示意性方框圖。
[0031]在示例性實施例中,計算機架構(gòu)500包括一個或多個處理器502 (CPU),該處理器執(zhí)行上面描述的處理和/或可以與上面描述的處理相關(guān)的任何其它處理。應(yīng)當理解的是,術(shù)語“處理器”一般指代任何可編程系統(tǒng),包括系統(tǒng)和微控制器、精簡指令集電路(RISC)、專用集成電路(ASIC)、可編程邏輯電路和/或能夠執(zhí)行本文描述的功能的任何其它電路或處理器。上述示例只是示例性的,并且因而,并非意在以任何方式限制術(shù)語“處理器”的定義和/或含義。
[0032]可以將上面描述的處理和/或可以與上面描述的處理相關(guān)的任何附加的處理的步驟存儲為例如位于存儲器504中的計算機可執(zhí)行指令,存儲區(qū)504通過系統(tǒng)總線506可操作地和/或通信地耦接到處理器502。如本文使用的,“存儲區(qū)” 一般指代存儲由一個或多個處理器可執(zhí)行的非暫態(tài)程序代碼和指令的任何手段,用于輔助真實世界場景的虛擬模型的方位校正,和/或用于在執(zhí)行上面描述的處理和/或可以與上面描述的處理相關(guān)的附加的處理中使用。存儲區(qū)504可以包括一種或一種以上的存儲器形式。例如,存儲區(qū)504可以包括隨機存取存儲器(RAM) 508,其可以包括非易失性RAM、磁RAM、鐵電RAM和/或其它形式的RAM。存儲區(qū)504還可以包括只讀存儲器(ROM) 510和/或閃存和/或電可編程只讀存儲器(EEPROM)。任何其它合適的磁、光和/或半導(dǎo)體存儲器,諸如硬盤驅(qū)動(HDD) 512,其本身或與其它形式的存儲器組合,可以包括在存儲區(qū)504中。HDD512也可以耦接到磁盤控制器514,用于在向處理器502發(fā)送消息和從處理器502接收消息時使用。而且,存儲區(qū)504還可以是,或者可以包括,可拆卸或可移動存儲器516,例如合適的盒式盤、⑶-ROM、DVD或USB存儲器。上述示例只是示例性的,并且因此,并不意在以任何方式限制術(shù)語“存儲區(qū)”的定義和/或含義。[0033]計算機架構(gòu)500還包括耦接(諸如可操作地耦接)到顯示控制器520的顯示設(shè)備518。顯示控制器520經(jīng)由系統(tǒng)總線506接收數(shù)據(jù),用于由顯示設(shè)備518顯示。顯示設(shè)備518可以是但不局限于監(jiān)視器、電視顯示器、等離子體顯示器、液晶顯示器(LCD)、基于發(fā)光二極管(LED)的顯不器、基于有機LED (OLED)的顯不器、基于聚合物LED的顯不器、基于表面?zhèn)鲗?dǎo)電子發(fā)射器的顯示器、包括投射和/或反射的圖像的顯示器、或者任何其它適合的電子設(shè)備或顯示機制。而且,顯示設(shè)備518可以包括具有相關(guān)聯(lián)的觸摸屏控制器524的觸摸屏522。上面的示例只是示例性的,并且因而,并不意在以任何方式限制術(shù)語“顯示設(shè)備”的定義和/或含義。
[0034]此外,計算機架構(gòu)500包括網(wǎng)絡(luò)接口 526,用于在與網(wǎng)絡(luò)(圖5中未示出)進行通信時使用。而且,計算機架構(gòu)500包括一個或多個輸入設(shè)備,諸如鍵盤528和/或指向設(shè)備530,例如滾動球、鼠標、觸摸板等等。觸摸屏522及其控制器524也可以被認為是集成的鍵盤528和/或指向設(shè)備530。輸入設(shè)備被耦接到輸入/輸出(I/O)接口 532并且由該輸入/輸出(I/O)接口 532控制,該輸入/輸出接口 532被進一步耦接到系統(tǒng)總線506。計算機架構(gòu)500還包括至少一個數(shù)字照相機534以及與其相關(guān)聯(lián)的數(shù)字照相機控制器536。
[0035]這里出于簡潔目的,省去了對于顯示設(shè)備518、鍵盤528、指向設(shè)備530以及顯示控制器520、磁盤控制器514、網(wǎng)絡(luò)接口 526和I/O接口 532的一般特征和功能的描述,因為這些特征是已知的。
[0036]在操作期間,并且參照圖2-5,處理器502生成表示真實世界場景的虛擬模型,并且將該虛擬模型加載到仿真或虛擬現(xiàn)實軟件模塊中。在示例性實施例中,處理器502經(jīng)由觸摸屏522接收用戶輸入,例如,以便識別虛擬模型中的虛擬對象和參考對象。虛擬對象是用戶希望在其上執(zhí)行本文描述的方位校正步驟的對象。參考對象是相對其完成方位校正的對象。
[0037]在一些實施例中,處理器502還接收用戶輸入,以便識別虛擬對象上的一個或多個預(yù)定義的點和參考對象上的一個或多個相對應(yīng)的點。在識別了預(yù)定義的點之后,處理器502以識別的點為基礎(chǔ)來計算方位變換。而且,關(guān)于諸如參考對象的參考點來計算虛擬對象的方位變換。在計算了方位變換之后,照相機設(shè)備534獲取真實世界場景內(nèi)的真實世界對象的數(shù)字圖像,其中,所述真實世界對象與虛擬對象相對應(yīng)。而且,在圖像獲取期間,處理器502接收操控3D虛擬視圖形式的用戶輸入。例如,用戶可以使用觸摸屏522來重新定位,例如使用旋轉(zhuǎn)、平移和/或縮放操作,以使得該參考對象大致與真實世界參考對象對齊。在這一近似對齊之后,處理器502利用視圖旋轉(zhuǎn)、平移和/或縮放的精細修改,進行3D虛擬視圖的編程調(diào)整,以便使參考對象點與真實世界參考對象點實質(zhì)上相匹配。
[0038]當參考對象與真實世界參照對象實質(zhì)上對齊時,處理器502確定虛擬對象點和真實世界對象上的相對應(yīng)的點之間的不匹配。具體地說,處理器502計算虛擬對象上的點和真實世界對象上的相對應(yīng)的點之間的基于圖像的位置差異。在示例性實施例中,在X和Y方向中的每一個上在像素中計算差異。對于從真實世界場景的不同視角獲取的每一個圖像,處理器502計算這一基于圖像的位置差異。
[0039]處理器502然后迭代虛擬對象的方位變換,以便最小化所有圖像位置差異的組合。具體地說,處理器502使用通過調(diào)整一組可變參數(shù)來最小化成本函數(shù)的標準非線性回歸。以該最小化步驟為基礎(chǔ),處理器502調(diào)整虛擬對象的位置和/或取向,并且關(guān)于虛擬對象的校正方位來調(diào)整虛擬模型。
[0040]上面詳細描述了用于在真實世界場景的虛擬模型的方位校正中使用的計算機系統(tǒng)、計算機設(shè)備、計算機實現(xiàn)的方法和計算機程序產(chǎn)品的示例性實施例。這些實施例并不局限于本文描述的具體實施例,而是,所述方法的操作和/或所述系統(tǒng)和/或裝置的組件可以與本文描述的其它操作和/或組件獨立且分開地使用。進而,描述的操作和/或組件也可以在其它系統(tǒng)、方法和/或裝置中定義或與其它系統(tǒng)、方法和/或裝置組合使用,并且不局限于僅使用本文描述的系統(tǒng)、方法和存儲介質(zhì)來實施。
[0041]諸如具有本文描述的計算機架構(gòu)的計算機設(shè)備包括至少一個處理器或處理單元和系統(tǒng)存儲器。計算機設(shè)備通常具有至少某種形式的計算機可讀介質(zhì)。通過示例而非限制的方式,計算機可讀介質(zhì)包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以任何方法或技術(shù)實現(xiàn)的用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的易失性和非易失性、可移動和不可移動的介質(zhì)。通信介質(zhì)通常體現(xiàn)為計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或諸如載波或其它傳輸機制的調(diào)制數(shù)據(jù)信號中的其它數(shù)據(jù),并且包括任何信息傳遞介質(zhì)。本領(lǐng)域的普通技術(shù)人員熟悉調(diào)制數(shù)據(jù)信號,其具有其特性集合中的一個或多個或者按照這樣的方式改變以便編碼信號中的信息。任何上述組合也包括在計算機可讀介質(zhì)的范圍內(nèi)。
[0042]而且,本發(fā)明的實施例可以被體現(xiàn)為具有一個或多個非暫態(tài)計算機可讀存儲介質(zhì)的計算機程序產(chǎn)品,該非暫態(tài)計算機存儲介質(zhì)具有用于在真實世界場景的虛擬模型的方位校正中使用的計算機可執(zhí)行組件。這些組件包拈生成組件,當由處理器執(zhí)行時,該生成組件使處理器生成包括虛擬對象的所述虛擬模型。該生成組件還使所述處理器接收多個可識別的點的至少一部分的用戶選擇,并且以虛擬對象上的所述多個可識別的點為基礎(chǔ)來計算虛擬對象的方位變換。而且,該生成組件使所述處理器識別虛擬對象和相對應(yīng)的參考對象,并且識別虛擬對象上的至少一個預(yù)定義的點和參考對象上的相對應(yīng)的點。
[0043]所述組件還包括獲取組件,當由處理器執(zhí)行時,所述獲取組件使所述處理器獲取真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,該真實世界對象與虛擬對象相對應(yīng)。而且,所述組件包括校正組件,當由所述處理器執(zhí)行時,所述校正組件使所述處理器計算虛擬對象上的至少一個預(yù)定義的點和真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異,以該圖像位置差異為基礎(chǔ)來調(diào)整虛擬對象的位置和/或取向,并且關(guān)于虛擬對象的校正方位來調(diào)整虛擬模型。所述校正組件還使所述處理器利用視圖旋轉(zhuǎn)、平移和/或縮放的精細修改來執(zhí)行3D虛擬視圖的編程調(diào)整,以便使參考對象點和真實世界參考對象點基本上匹配。該校正組件然后使處理器計算參考對象上的至少一個預(yù)定義的點和真實世界參考對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異。在一些實施例中,校正組件使所述處理器迭代虛擬對象的方位變換,以便最小化所有圖像位置差異的組合。
[0044]盡管結(jié)合示例性計算機系統(tǒng)環(huán)境描述了本發(fā)明,但是本發(fā)明的實施例可以與眾多其它通用或?qū)S糜嬎銠C系統(tǒng)環(huán)境或配置一起操作。所述計算機系統(tǒng)環(huán)境并不意在暗示關(guān)于本發(fā)明的任何方面的用途或功能的范圍的任何限制。而且,所述計算機系統(tǒng)環(huán)境不應(yīng)當被解釋為具有關(guān)于在示例性操作環(huán)境中說明的組件的任何一個或組合的任何依賴性或要求。可以適合于與本發(fā)明的方面使用的眾所周知的計算機系統(tǒng)、環(huán)境和/或配置的示例包括但不局限于個人計算機、服務(wù)器計算機、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費類電子產(chǎn)品、移動電話、網(wǎng)絡(luò)PC、小型機、大型機、包括任何以上系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
[0045]本發(fā)明的實施例可以在由一個或多個計算機或其它設(shè)備執(zhí)行的諸如程序組件或模塊的計算機可執(zhí)行指令的一般上下文中進行描述。本發(fā)明的方面可以利用組件或模塊的任何數(shù)量和組織來實現(xiàn)。例如,本發(fā)明的方面并不局限于附圖中示出和本文描述的特定計算機可執(zhí)行指令或特定組件或模塊。本發(fā)明的替代實施例可以包括具有比本文說明和描述的功能更多或更少的功能的不同的計算機可執(zhí)行指令或組件。
[0046]在本文說明和描述的本發(fā)明的實施例中的操作的執(zhí)行的順序或性能不是必需的,除非以其它方式另有規(guī)定。也就是說,可以按照任何順序來執(zhí)行所述操作,除非以其它方式另有說明,并且本發(fā)明的實施例可以包括比本文公開的操作更多或更少的操作。例如,設(shè)想在另一個操作之前、同時或之后實行或執(zhí)行特定操作在本發(fā)明的方面的范圍之內(nèi)。
[0047]當介紹本發(fā)明或者其實施例的方面的元件時,冠詞“一”、“一個”、“該”和“所述”意在表示存在所述元件的一個或多個。術(shù)語“包括”、“包含”和“具有”意為包括性的并且指指代可以存在除了所列元件之外的其它元件。
[0048]本書面描述使用示例來公開本發(fā)明,包括最佳模式,并且還使本領(lǐng)域的普通技術(shù)人員能夠?qū)嵤┍景l(fā)明,包括制造和使用任何設(shè)備或系統(tǒng),并且執(zhí)行任何結(jié)合的方法。本發(fā)明的可專利范圍由權(quán)利要求限定,并且可以包括本領(lǐng)域普通技術(shù)人員想到的其它示例。如果這樣的其它示例具有不與權(quán)利要求的字面語言不同的結(jié)構(gòu)元件,或者如果它們包括與權(quán)利要求的字面語言無實質(zhì)差異的等效結(jié)構(gòu)元件,則這樣的其它示例意在位于權(quán)利要求的范圍內(nèi)。
[0049]盡管參照其示例實施例具體地示出和描述了本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員將理解,在不偏離由所附權(quán)利要求涵蓋的本發(fā)明的范圍的情況下,可以做出形式和細節(jié)上的各種修改。
【權(quán)利要求】
1.一種用于在真實世界場景的虛擬模型的方位校正中使用的計算機實現(xiàn)的方法,所述計算機實現(xiàn)的方法包括: 生成包括虛擬對象的所述虛擬模型; 獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象和所述虛擬對象相對應(yīng); 計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異; 以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和取向中的至少一個;以及 關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
2.根據(jù)權(quán)利要求1的計算機實現(xiàn)的方法,其中,生成所述虛擬模型包括:以所述虛擬對象上的多個可識別的點為基礎(chǔ)來對于所述虛擬對象計算方位變換。
3.根據(jù)權(quán)利要求2的計算機實現(xiàn)的方法,其中,計算方位變換包括:接收所述多個可識別的點的至少一部分的用戶選擇。
4.根據(jù)權(quán)利要求1的計算機實現(xiàn)的方法,其中,生成所述虛擬模型包括: 識別所述虛擬對象和相對應(yīng)的參考對象;并且 識別所述虛擬對象上的所述至少一個預(yù)定義的點和所述參考對象上的相對應(yīng)的點。
5.根據(jù)權(quán)利要求4的計算機實現(xiàn)的方法,進一步包括虛擬視圖的編程調(diào)整,以便使所述參考對象上的所述預(yù)定義 的點和相對應(yīng)的真實世界參考對象上的點基本上相匹配。
6.根據(jù)權(quán)利要求4的計算機實現(xiàn)的方法,進一步包括: 虛擬視圖的編程調(diào)整;以及 對于每一個獲取的數(shù)字圖像,計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異。
7.根據(jù)權(quán)利要求6的計算機實現(xiàn)的方法,進一步包括通過迭代所述虛擬對象方位變換來最小化所述圖像位置差異。
8.一種用于在真實世界場景的虛擬模型的方位校正中使用的計算機,所述計算機包括: 存儲區(qū),配置為存儲所述虛擬模型和所述虛擬模型的虛擬對象;以及 耦接到所述存儲區(qū)的處理器,所述處理器配置為: 生成包括所述虛擬對象的所述虛擬模型; 獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象和所述虛擬對象相對應(yīng); 計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異; 以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和取向中的至少一個;以及 關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
9.根據(jù)權(quán)利要求8的計算機,其中,所述處理器進一步配置為:以所述虛擬對象上的多個可識別的點為基礎(chǔ)來對于所述虛擬對象計算方位變換。
10.根據(jù)權(quán)利要求9的計算機,其中,所述處理器進一步配置為:接收所述多個可識別點的至少一部分的用戶選擇。
11.根據(jù)權(quán)利要求8的計算機,其中,所述處理器進一步配置為: 識別所述虛擬對象和相對應(yīng)的參考對象;并且 識別所述虛擬對象上的所述至少一個預(yù)定義的點和所述參考對象上的相對應(yīng)的點。
12.根據(jù)權(quán)利要求11的計算機,其中,所述處理器進一步配置為:虛擬視圖的編程調(diào)整,以便使所述參考對象上的所述預(yù)定義的點和相對應(yīng)的真實世界參考對象上的所述點基本上相匹配。
13.根據(jù)權(quán)利要求11的計算機,其中,所述處理器進一步配置為: 編程調(diào)整虛擬視圖,以便使所述參考對象上的所述預(yù)定義的點和相對應(yīng)的真實世界參考對象上的所述點基本上相匹配;并且 對于每一個獲取的數(shù)字圖像,計算所述虛擬對象上的所述至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異。
14.根據(jù)權(quán)利要求13的計算機,其中,所述處理器進一步配置為:通過迭代所述虛擬對象方位變換來最小化所述圖像位置差異。
15.一種計算機程序產(chǎn)品,包括: 具有計算機可執(zhí)行組件的一個或多個非暫態(tài)計算機可讀存儲介質(zhì),所述計算機可執(zhí)行組件用于在真實世界場景的虛擬模型的方位校正中使用,所述組件包括: 生成組件,當由處理器執(zhí)行時,使所述處理器生成包括虛擬對象的所述虛擬模型; 獲取組件,當由處理器執(zhí)行時,使所述處理器獲取所述真實世界場景內(nèi)的真實世界對象的至少一個數(shù)字圖像,其中,所述真實世界對象和所述虛擬對象相對應(yīng);以及校正組件,當由處理器執(zhí)行時,`使所述處理器執(zhí)行下列操作: 計算所述虛擬對象上的至少一個預(yù)定義的點和所述真實世界對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異; 以所述圖像位置差異為基礎(chǔ)來調(diào)整所述虛擬對象的位置和取向中的至少一個;并且 關(guān)于所述虛擬對象的校正方位來調(diào)整所述虛擬模型。
16.根據(jù)權(quán)利要求15的計算機程序產(chǎn)品,其中,所述生成組件進一步使所述處理器執(zhí)行下列操作: 接收多個可識別的點的至少一部分的用戶選擇;并且 以所述虛擬對象上的所述多個可識別的點為基礎(chǔ),對于所述虛擬對象計算方位變換。
17.根據(jù)權(quán)利要求15的計算機程序產(chǎn)品,其中,所述生成組件進一步使所述處理器執(zhí)行下列操作: 識別所述虛擬對象和相對應(yīng)的參考對象;并且 識別所述虛擬對象上的所述至少一個預(yù)定義的點和所述參考對象上的相對應(yīng)的點。
18.根據(jù)權(quán)利要求15的計算機程序產(chǎn)品,其中,所述校正組件進一步使所述處理器執(zhí)行下列操作:虛擬視圖的編程調(diào)整,以便使所述參考對象上的所述預(yù)定義的點和相對應(yīng)的真實世界參考對象上的所述點基本上相匹配。
19.根據(jù)權(quán)利要求15的計算機程序產(chǎn)品,其中,所述校正組件進一步使所述處理器執(zhí)行下列操作: 編程調(diào)整虛擬視圖;并且 對于每一個獲取的數(shù)字圖像,計算所述參考對象上的所述至少一個預(yù)定義的點和所述真實世界參考對象上的至少一個相對應(yīng)的點之間的基于圖像的位置差異。
20.根據(jù)權(quán)利要求19的計算機程序產(chǎn)品,其中,所述校正組件進一步使所述處理器執(zhí)行下列操作:通過 迭代所述虛擬對象方位變換來最小化所述圖像位置差異。
【文檔編號】G06F17/50GK103886124SQ201310757161
【公開日】2014年6月25日 申請日期:2013年12月20日 優(yōu)先權(quán)日:2012年12月21日
【發(fā)明者】U·帕思里 申請人:達索系統(tǒng)德爾米亞公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
华池县| 永兴县| 余干县| 遵化市| 绵阳市| 丰顺县| 稷山县| 怀宁县| 合作市| 宁陵县| 冷水江市| 河曲县| 化德县| 怀宁县| 金沙县| 开阳县| 湛江市| 博兴县| 于田县| 新郑市| 济阳县| 拉孜县| 阳春市| 天祝| 沐川县| 伊川县| 囊谦县| 巴彦县| 马公市| 泊头市| 黑水县| 湖口县| 遂昌县| 定西市| 游戏| 南靖县| 承德市| 龙口市| 沁水县| 桐柏县| 纳雍县|