欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用描述符的3D對象定位的制作方法

文檔序號:11520192閱讀:180來源:國知局
本發(fā)明涉及計(jì)算機(jī)程序和系統(tǒng)領(lǐng)域,并且更具體地涉及一種用于在3d場景中定位3d建模對象的方法、系統(tǒng)和程序。
背景技術(shù)
::市場上提供了多個(gè)用于對象的設(shè)計(jì)、工程和制造的系統(tǒng)和程序。cad是計(jì)算機(jī)輔助設(shè)計(jì)的首字母縮略詞,例如,它涉及用于設(shè)計(jì)對象的軟件解決方案。cae是計(jì)算機(jī)輔助工程的首字母縮略詞,例如,它涉及用于仿真未來產(chǎn)品的物理行為的軟件解決方案。cam是計(jì)算機(jī)輔助制造的首字母縮略詞,它涉及用于定義制造過程和操作的軟件解決方案。在這些計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)中,圖形用戶界面在技術(shù)效率方面發(fā)揮著重要作用。這些技術(shù)可被嵌入在產(chǎn)品生命周期管理(plm)系統(tǒng)中。plm指商業(yè)戰(zhàn)略,其幫助公司共享產(chǎn)品數(shù)據(jù)、應(yīng)用通用流程,并在擴(kuò)展型企業(yè)的概念中利用企業(yè)知識以進(jìn)行產(chǎn)品從概念到生命結(jié)束的開發(fā)。由達(dá)索系統(tǒng)(dassaultsystèmes)(根據(jù)商標(biāo)catia、enovia和delmia)提供的plm解決方案提供了工程中心(engineeringhub),其組織產(chǎn)品工程知識,制造中心(manufacturinghub),其管理制造工程知識,以及企業(yè)中心(enterprisehub),其能夠使企業(yè)集成和連接到工程中心和制造中心。連同以上三個(gè)中心,系統(tǒng)交付開放對象模型,其鏈接產(chǎn)品、流程和資源以實(shí)現(xiàn)動態(tài)的、基于知識的產(chǎn)品創(chuàng)建和決策支持,其驅(qū)動優(yōu)化產(chǎn)品定義、制造準(zhǔn)備、生產(chǎn)和服務(wù)。這些系統(tǒng)可以屬于或部分重疊于計(jì)算機(jī)視覺和/或虛擬現(xiàn)實(shí)的領(lǐng)域。在這些領(lǐng)域中,存在不同的提供在3d場景中定位3d建模對象的解決方案,3d建模對象和3d場景各自包括相應(yīng)的3d點(diǎn),每一個(gè)3d點(diǎn)與相應(yīng)的法向量相關(guān)聯(lián)。將這樣的3d建模對象定位在這樣的3d場景中對許多應(yīng)用來說確實(shí)有用,諸如3d重建(例如,從運(yùn)動結(jié)構(gòu)分析或多視圖重建)和虛擬現(xiàn)實(shí)(例如,無標(biāo)記的增強(qiáng)現(xiàn)實(shí))。在這些應(yīng)用中,在3d場景中定位具體的3d建模對象可以通過幾種已知方式改善體驗(yàn)。在這樣的上下文中,一些解決方案公開了一種包括在3d場景中安置3d建模對象的方法,該安置根據(jù)以下的算法執(zhí)行,該算法對于由該3d建模對象的兩個(gè)3d點(diǎn)和它們相應(yīng)相關(guān)聯(lián)的法向量組成的第一對中的每一個(gè),獎勵與由該3d場景的兩個(gè)3d點(diǎn)和它們相應(yīng)的相關(guān)聯(lián)的法向量組成的第二對的匹配,該第一對實(shí)質(zhì)上被安置于該第二對上,該第一對和該第二對之間的匹配相當(dāng)于該第一對的描述符的值和該第二對的該描述符的值之間的實(shí)質(zhì)相等。這種類型的解決方案的不同實(shí)例包括論文“bertramdrost,slobodanilic,3dobjectdetectionandlocalizationusingmultimodalpointpairfeatures,conferenceon3dimaging,modeling,processing,visualizationandtransmission(3dimpvt),2012”,論文“bertramdrost,markusulrich,nassirnavab,slobodanilic,modelglobally,matchlocally:efficientandrobust3dobjectrecognition,conferenceoncomputervisionandpatternrecognition(cvpr),2010”和歐洲專利ep2385483。然而,當(dāng)在3d場景中定位3d建模對象時(shí),仍然需要改進(jìn)結(jié)果的精確度或相關(guān)性和/或改進(jìn)計(jì)算時(shí)間。技術(shù)實(shí)現(xiàn)要素:因此,本發(fā)明提供了一種用于在3d場景中定位3d建模對象的計(jì)算機(jī)實(shí)現(xiàn)的方法。3d建模對象和3d場景各自包括相應(yīng)的3d點(diǎn)。每一個(gè)3d點(diǎn)與相應(yīng)的法向量相關(guān)聯(lián)。該方法包括在3d場景中安置該3d建模對象。該方法包括對3d建模對象在3d場景中的安置。該安置根據(jù)如下算法執(zhí)行。該算法對于第一對中的每一個(gè),獎勵與相應(yīng)的第二對的匹配。第一對由3d建模對象的兩個(gè)3d點(diǎn)和它們相應(yīng)的相關(guān)聯(lián)的法向量組成。第二對由3d場景的兩個(gè)3d點(diǎn)及其相應(yīng)的相關(guān)聯(lián)的法向量構(gòu)成。第一對實(shí)質(zhì)上被安置于第二對上。第一對和第二對之間的匹配相當(dāng)于第一對的描述符的值和第二對的描述符的值之間的實(shí)質(zhì)相等。其至少一部分可以以多種方式執(zhí)行,包括以稍后詳細(xì)描述的方式或者以如下論文中公開的具體方式:“bertramdrost,slobodanilic,3dobjectdetectionandlocalizationusingmultimodalpointpairfeatures,conferenceon3dimaging,modeling,processing,visualizationandtransmission(3dimpvt),2012”,或者以如下論文中公開的具體方式:“bertramdrost,markusulrich,nassirnavab,slobodanilic,modelglobally,matchlocally:efficientandrobust3dobjectrecognition,conferenceoncomputervisionandpatternrecognition(cvpr),2010”,或者以歐洲專利ep2385483公開的具體方式,每次都具有已知的優(yōu)勢。這三個(gè)公開內(nèi)容通過引用并入本文。然而,在此提出以下特性。第一對的描述符的值和該第二對的描述符的值之間的實(shí)質(zhì)相等,是第一整數(shù)和第二整數(shù)之間的實(shí)質(zhì)相等。該第一整數(shù)對應(yīng)于該第一對的描述符的值。該第二整數(shù)對應(yīng)于該第二對的描述符的值。該第一整數(shù)和該第二整數(shù)是經(jīng)由分別應(yīng)用于該第一對的描述符的值和該第二對的描述符的值的量化映射來計(jì)算。由于這種具體相等是該方法中涉及的相等性比較的基礎(chǔ),所以該方法執(zhí)行得相對快速。事實(shí)上,由于該量化,實(shí)質(zhì)相等是在兩個(gè)整數(shù)值之間進(jìn)行評估的。因此,該方法執(zhí)行該評估相對快速,并且提高了在需要進(jìn)行多次這種比較的上下文中的效率(例如,在示例中,候選第一對的數(shù)量和/或候選第二對的數(shù)量例如高于1000,5000或10000)。本發(fā)明還提供了一種包括用于執(zhí)行所述方法的指令的計(jì)算機(jī)程序。本發(fā)明還提供了一種其上記錄有所述計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲介質(zhì)。本發(fā)明還提供了一種系統(tǒng),包括耦合到存儲器和圖形用戶界面的處理器,所述存儲器上記錄有所述計(jì)算機(jī)程序。附圖說明如今將通過非限制性示例并參考附圖來描述本發(fā)明的實(shí)施例,其中:圖1示出了該方法的示例的流程圖;圖2示出了該系統(tǒng)的圖形用戶界面的示例;圖3示出了該系統(tǒng)的示例;圖4-22示出了該方法。具體實(shí)施方式參考圖1的流程圖,提出了一種計(jì)算機(jī)實(shí)現(xiàn)的方法,該方法用于在3d場景(例如,表示真實(shí)環(huán)境,例如,經(jīng)由傳感器獲取的)中定位(即,輸出與其位置相關(guān)的任何信息)3d建模對象(例如,其表示通過傳感器或用戶設(shè)計(jì)獲得的真實(shí)對象,例如,物理產(chǎn)品),該3d建模對象和該3d場景各自包括相應(yīng)的3d點(diǎn)(表示其幾何形狀/形狀,例如,在方法中預(yù)定或確定,例如,基于另一類型的預(yù)定數(shù)據(jù)),每一個(gè)3d點(diǎn)與相應(yīng)的法向量(表示其幾何形狀/形狀的表面法線,例如,在方法中預(yù)定或確定,例如,基于另一類型的預(yù)定數(shù)據(jù),如該3d點(diǎn))相關(guān)聯(lián)(即,鏈接到特定鏈接數(shù)據(jù),例如,指針或允許針對每一個(gè)3d點(diǎn)取得其相應(yīng)的相關(guān)聯(lián)的數(shù)據(jù)的任何其他數(shù)據(jù))。該方法包括在3d場景中安置s10(即,確定用于描述提供了一個(gè)或多個(gè)3d位置的規(guī)則/函數(shù)的數(shù)據(jù)的任何計(jì)算)該3d建模對象。正如后續(xù)進(jìn)一步詳細(xì)描述的,該3d建模對象表示對象(例如,虛擬或真實(shí)對象,例如,產(chǎn)品,諸如部件或部件的組合,例如,機(jī)械部件或消費(fèi)品),并且它是允許其3d表示的任何數(shù)據(jù)集合。該3d場景也是3d建模對象,并且其表示由3d建模對象(通過該方法定位)表示的對象可能被定位其中的環(huán)境(即,對象的集合/組合和它們之間的空白空間)。3d場景可以是虛擬場景或真實(shí)場景的表示(例如,其可能包含由3d建模對象表示的例如真實(shí)的對象的版本),例如包括經(jīng)由物理傳感器獲取的幾何形狀,例如rgb數(shù)據(jù)和/或深度數(shù)據(jù)和/或光學(xué)數(shù)據(jù)(例如,通過3d重建獲得的任何3d場景,3d重建諸如運(yùn)動結(jié)構(gòu)分析和/或rgb深度重建或任何其他基于傳感器的3d重建)。該方法用于在這樣的3d場景中定位3d建模對象(其可以經(jīng)由任何基于傳感器的3d重建獲得,例如,先前提到的那些,或者還經(jīng)由用戶例如利用cad系統(tǒng)設(shè)計(jì)3d建模對象獲得)。“定位”僅意味著該方法輸出關(guān)于3d建模對象的位置的信息。這種輸出信息源自定位s10的結(jié)果,其中“安置”相當(dāng)于確定(和/或測試和/或提供)至少一個(gè)規(guī)則/函數(shù)以在3d場景中安置(所述規(guī)則/函數(shù)也被稱為“安置”)該3d建模對象(在稍后提供的示例中,“安置”是一種剛性運(yùn)動-即,平移和/或旋轉(zhuǎn)-指代如下事實(shí):3d建模對象和3d場景各自與相應(yīng)的-例如正交的-參考幀相關(guān)聯(lián),相應(yīng)于3d建模對象的幀根據(jù)相應(yīng)于3d場景的幀進(jìn)行安置,例如以任何方式,例如,任意地,并且因此該安置可以相當(dāng)于剛性運(yùn)動,該剛性運(yùn)動將相應(yīng)于3d建模對象的幀進(jìn)行“重新安置”,使得3d建模對象被正確地安置在3d場景中-這以該方法的具體方式執(zhí)行)。這種輸出信息可以是關(guān)于3d建模對象在3d場景中的位置的任何信息(例如,該方法可以僅用于識別在該場景中3d建模對象的二進(jìn)制存在與否)。該信息可以包括在3d場景中安置3d建模對象的規(guī)則,包括例如至少一個(gè)剛性運(yùn)動(例如,參考在該3d場景中該3d建模對象的初始的——例如,任意的和/或在該方法中預(yù)定的或確定的——安置)。可以提供3d建模對象的多個(gè)可能位置。此外,安置s10可以引起3d建模對象被確定為不位于該3d場景中(因此,不輸出安置)。此外,該方法可以確定置信度信息(例如,與每一個(gè)可能位置相關(guān)聯(lián)的置信度(confidence)/顯著性(significance)水平)或(例如,系統(tǒng)地或當(dāng)達(dá)到置信度閾值時(shí))輸出一個(gè)或多個(gè)最佳安置(例如由s10提供)。進(jìn)一步注意,該方法可以在單個(gè)3d建模對象上執(zhí)行,或者可以在基本3d建模對象的不同版本上重復(fù)執(zhí)行(例如在不同縮放或進(jìn)行不同修改時(shí),“3d建模對象”的表述無差別地指定該基本版本或修改版本)。這些考慮因素通過在3d場景中定位3d建模對象的現(xiàn)有技術(shù)成為公知。在示例中,安置s10可相當(dāng)于針對3d場景中的3d建模對象確定一個(gè)或多個(gè)最佳安置函數(shù),可選地具有相應(yīng)的顯著性水平,并且定位可以僅相當(dāng)于輸出安置s10的結(jié)果,可能在源于決策步驟中的過濾之后(例如,基于預(yù)定義的顯著性閾值的決策,顯著性閾值例如為與每一個(gè)顯著性水平相比較的閾值)。這樣的定位可以具有不同的公知應(yīng)用(即,該定位在所述應(yīng)用之前或期間(例如,實(shí)時(shí))執(zhí)行)。在一個(gè)應(yīng)用中,該方法可以用于增強(qiáng)虛擬現(xiàn)實(shí)(例如,以無標(biāo)記的方式,并且例如實(shí)時(shí)地)。該3d場景是虛擬環(huán)境,并且3d建模對象定位其中(例如,先前或同時(shí)地,即實(shí)時(shí)地,被定位到虛擬現(xiàn)實(shí)方法,例如,包括用戶沉浸在虛擬現(xiàn)實(shí)中的和/或與其交互,例如,在其中移動)。該定位可以用于添加數(shù)據(jù)(例如,與3d建模對象相關(guān)的附加數(shù)據(jù),如非幾何數(shù)據(jù),例如用戶定義的數(shù)據(jù),如在建模對象的cad版本上工作并且添加任何類型的信息,諸如約束,精確幾何形狀和/或不能直接通過表示真實(shí)對象的基于傳感器的3d重建獲得的任何數(shù)據(jù))到虛擬環(huán)境(即3d場景)中,從而豐富了虛擬現(xiàn)實(shí)(例如,該虛擬現(xiàn)實(shí)僅包括最小數(shù)據(jù)——僅幾何數(shù)據(jù)——關(guān)于增強(qiáng)之前的建模對象)。由于該方法執(zhí)行魯棒的和準(zhǔn)確的定位,所以這可以全部無標(biāo)記執(zhí)行(即3d建模對象沒有嵌入任何標(biāo)記以幫助后續(xù)定位它)。并且由于該方法執(zhí)行得相對快速,這可以被實(shí)時(shí)有效地執(zhí)行。標(biāo)記相對于無標(biāo)記增強(qiáng)現(xiàn)實(shí)是指標(biāo)記增強(qiáng)現(xiàn)實(shí),其中在真實(shí)世界場景中放置特殊符號,以便于計(jì)算機(jī)系統(tǒng)識別該符號,使得附加的虛擬對象可被插入至真實(shí)世界場景視圖中的正確位置。放置預(yù)定符號在現(xiàn)實(shí)世界場景中并不總是可能的。顯然,本方法提供無標(biāo)記能力。在另一應(yīng)用中,該方法可被應(yīng)用于任何運(yùn)動結(jié)構(gòu)分析3d重建。在運(yùn)動結(jié)構(gòu)分析3d重建(即,通過專用傳感器獲取真實(shí)對象的物理數(shù)據(jù),以便重建該對象的3d模型)中,如果數(shù)據(jù)采集包括中斷周期,則該方法可以幫助校準(zhǔn)被中斷分隔的兩個(gè)采集周期。在一個(gè)周期期間獲取的數(shù)據(jù)(即,3d建模對象)的至少一部分實(shí)際上可以被定位在僅基于在另一個(gè)周期期間獲取的數(shù)據(jù)(即,基于部分?jǐn)?shù)據(jù)的“中間”重建)重建的3d場景中,從而實(shí)現(xiàn)校準(zhǔn)。這允許后續(xù)考慮/同步兩個(gè)數(shù)據(jù)集合以用于完整的3d重建。rgd-d數(shù)據(jù)集合可以是當(dāng)通過使用rgb-d相機(jī)捕獲3d場景時(shí)。這樣的設(shè)備提供rgb(紅色、綠色、藍(lán)色)像素圖像以及與每一個(gè)像素相關(guān)聯(lián)的深度(d)信息。它通過在捕獲過程期間根據(jù)平移或圓周運(yùn)動來移動相機(jī)而獲得。如果相機(jī)運(yùn)動被中斷并且從不同的位置重新開始,則這兩個(gè)結(jié)果數(shù)據(jù)集合從相機(jī)捕獲點(diǎn)的角度來看則不相關(guān)聯(lián)。整個(gè)掃描必須重新開始。這可以通過該方法避免。類似地,該方法可以應(yīng)用于同步同時(shí)執(zhí)行的3d重建,從而融合這個(gè)兩個(gè)3d重建,以便聯(lián)合使用其信息。例如,該方法可以在能夠執(zhí)行無標(biāo)記增強(qiáng)現(xiàn)實(shí)的任何軟件產(chǎn)品中實(shí)現(xiàn)。這樣的產(chǎn)品可以具有以下特征:軟件對于場景中模型的部分遮擋是魯棒的,計(jì)算時(shí)間與場景的尺寸成線性關(guān)系,并且依賴系數(shù)小于1,該軟件能夠處理鏡面對稱,和/或涉及點(diǎn)和法向量,而不是三角網(wǎng)格。該方法因此可以處理增強(qiáng)現(xiàn)實(shí)。這種技術(shù)是將計(jì)算機(jī)生成的虛擬元素(可能是3d對象)插入現(xiàn)實(shí)世界場景的3d視圖中。許多應(yīng)用得益于增強(qiáng)現(xiàn)實(shí):娛樂、旅游和觀光,游戲、家具設(shè)計(jì)、軍事。該方法也可以類似地用于rgb-d數(shù)據(jù)集合管理軟件。先前引用的現(xiàn)有技術(shù)的解決方案具有不同的問題。它們使用在鏡像對稱下不變的描述符。它們的軟件不會區(qū)分形狀和它的鏡像形狀。它們將在場景中定位鏡像模型,而不是模型。進(jìn)一步地,這些解決方案從計(jì)算時(shí)間的角度來看是有問題的,因?yàn)樗鼈兘?jīng)常執(zhí)行對所有對模型/場景元素的窮盡調(diào)查。無論其輸出(如上所述)如何,該安置根據(jù)特定算法執(zhí)行(例如完全或半自動),該算法根據(jù)先前引用的現(xiàn)有技術(shù)已知的類型(隨后提供多個(gè)安置s10依據(jù)的特定算法和先前引用的現(xiàn)有技術(shù)安置算法,參考該方法的示例)。這種類型的算法對于第一對中的每一個(gè),獎勵與相應(yīng)的第二對的匹配?,F(xiàn)解釋這一點(diǎn)?!皩?couple)”是指點(diǎn)(以及它們關(guān)聯(lián)的法向量)的有序的對。通過該方法處理的這些特定的數(shù)據(jù)集合在下文中僅僅簡稱為(第一和/或第二)“對(couple)”或者為了更方便起見稱為“雙(pair)”(即忽視排序方面)?!暗谝弧睂ι婕?d建模對象,而“第二”對涉及3d場景。具體地,第一對由3d建模對象的兩個(gè)3d點(diǎn)和它們相應(yīng)的關(guān)聯(lián)的法向量構(gòu)成,而第二對由3d場景的兩個(gè)3d點(diǎn)和它們相應(yīng)的關(guān)聯(lián)的法向量構(gòu)成。如今,安置s10傾向于以“最佳方式”將3d建模對象與第二對定位(或“對齊(align)”),例如以參考后續(xù)詳細(xì)示例描述的具體方式?,F(xiàn)在可以說,安置s10遵循考慮理論位置的算法,該算法也可以被稱為“探測(explored)”安置。這在例如優(yōu)化領(lǐng)域是已知的,其中該算法可相當(dāng)于在特定約束下求解優(yōu)化程序。現(xiàn)在,該算法可以是相當(dāng)于考慮可能的解(即評估理論安置的相關(guān)性)的任何方案,并且每當(dāng)算法考慮一(理論上地)安置時(shí),它獎勵該安置的一特定條件(或者等價(jià)地懲罰該條件未滿足)。這本身在優(yōu)化和算法的領(lǐng)域是已知的,需要注意的是,該方法可以以任何方式實(shí)現(xiàn)這樣的獎勵,并且特別是隱式地(作為算法的具體步驟),即,算法直接跳轉(zhuǎn)到該獎勵被隱含執(zhí)行的解(即,并非實(shí)際地搜索最優(yōu)值,例如,能量等)。換句話說,獎勵可能被“隱藏(hideen)”在由該算法執(zhí)行的預(yù)定選擇之后。具體地,對于由安置s10預(yù)期的3d建模對象在3d場景中的任何給定(理論的)安置,算法以下述方式獎勵該安置。該算法獎勵以下事實(shí):第一對實(shí)質(zhì)上定位于相應(yīng)的第二對上,以及獎勵以下事實(shí):對于這樣的第一對,每次描述符的值實(shí)質(zhì)上等于第二對的描述符的值。換句話說,該方法傾向于(即,預(yù)期均等性的“實(shí)質(zhì)”特性和全局優(yōu)化的缺陷特性,其是場景的真實(shí)特性所固有的)發(fā)送(即幾何匹配)第一對(例如最大數(shù)目的它們)到第二對上,并且使這樣的對呈現(xiàn)相同的描述符值。換句話說,該算法懲罰如下所述的第一對,沒有第一對可以被安置于其上的對應(yīng)的第二對(或與這樣的第二對對應(yīng)性極少)和/或沒有(或很少)描述符值與其匹配的第二對。現(xiàn)在眾所周知的,這通??梢砸栽S多不同的方式執(zhí)行,包括以現(xiàn)有技術(shù)描述的方式,或者可選地以該方法的示例的特定性執(zhí)行。該方法是計(jì)算機(jī)實(shí)現(xiàn)的。這意味著該方法的步驟(或者實(shí)質(zhì)上所有步驟)是由至少一個(gè)計(jì)算機(jī)、或者任何類似系統(tǒng)來執(zhí)行的。因此,該方法的步驟可能全自動或者半自動地由計(jì)算機(jī)執(zhí)行。在示例中,對該方法的至少一些步驟的觸發(fā)可以通過用戶計(jì)算機(jī)交互來執(zhí)行。所需要的用戶計(jì)算機(jī)交互的級別可以取決于預(yù)見的自動化級別,并與實(shí)現(xiàn)用戶希望的需要相平衡。在示例中,該級別可以是用戶定義的和/或預(yù)先定義的。特別地,安置s10可根據(jù)該算法全自動地執(zhí)行,例如由處理器執(zhí)行。該方法的計(jì)算機(jī)實(shí)現(xiàn)的典型示例是利用適用于該目的的系統(tǒng)來執(zhí)行該方法。系統(tǒng)可以包括:處理器,其耦合至存儲器和圖形用戶接口(gui),所述存儲器上記錄有包括用于執(zhí)行該方法的指令的計(jì)算機(jī)程序。存儲器還可以存儲數(shù)據(jù)庫。存儲器是適用于這樣的存儲的任何硬件,可能包括若干物理上不同的部分(例如,一個(gè)用于程序,而可能一個(gè)用于數(shù)據(jù)庫)。數(shù)據(jù)庫意味著任何針對搜索和檢索而組織的數(shù)據(jù)(即信息)的任何集合(例如,關(guān)系數(shù)據(jù)庫,例如,基于預(yù)定的結(jié)構(gòu)化語言,如sql)。當(dāng)存儲在存儲器上時(shí),數(shù)據(jù)庫允許通過計(jì)算機(jī)進(jìn)行快速搜索和檢索。數(shù)據(jù)庫事實(shí)上是結(jié)構(gòu)化的,以便于對數(shù)據(jù)進(jìn)行存儲、檢索、修改和刪除以及各種數(shù)據(jù)處理操作。數(shù)據(jù)庫可以包括能夠被分解為記錄的文件或一組文件,每一個(gè)記錄由一個(gè)或多個(gè)字段組成。字段是數(shù)據(jù)存儲的基本單位。用戶主要通過查詢來檢索數(shù)據(jù)。使用關(guān)鍵詞和排序命令,用戶可以快速搜索、重新排列、分組,和選擇許多記錄中的字段,以根據(jù)正在使用的數(shù)據(jù)庫管理系統(tǒng)的規(guī)則來檢索或創(chuàng)建關(guān)于特定的數(shù)據(jù)聚合的報(bào)告。該方法總體上操縱建模對象。建模對象是由存儲在例如數(shù)據(jù)庫中的數(shù)據(jù)所定義的任何對象。通過擴(kuò)展,表述“建模對象”指代數(shù)據(jù)本身。根據(jù)系統(tǒng)的類型,建模對象可以由不同種類的數(shù)據(jù)來定義。系統(tǒng)實(shí)際上可以是cad系統(tǒng)、cae系統(tǒng)、cam系統(tǒng)、pdm系統(tǒng)和/或plm系統(tǒng)的任何組合。在這些不同的系統(tǒng)中,建模對象由相應(yīng)的數(shù)據(jù)定義。人們因此可談及cad對象、plm對象、pdm對象、cae對象、cam對象、cad數(shù)據(jù)、plm數(shù)據(jù)、pdm數(shù)據(jù)、cam數(shù)據(jù)、cae數(shù)據(jù)。然而,這些系統(tǒng)不是彼此相斥的,因?yàn)榻ο罂梢杂膳c這些系統(tǒng)的任何組合相對應(yīng)的數(shù)據(jù)來定義。因此,系統(tǒng)完全可以是cad和plm系統(tǒng)二者,根據(jù)下文提供的這樣的系統(tǒng)的定義,這將是顯而易見的。通過cad系統(tǒng),還意味著至少適用于基于建模對象的圖形表示來設(shè)計(jì)建模對象的任何系統(tǒng),諸如catia。在這種情況下,定義建模對象的數(shù)據(jù)包括允許對建模對象進(jìn)行表示的數(shù)據(jù)。cad系統(tǒng)可以例如使用邊或者線、在特定情況下利用面或者表面來提供對cad建模對象的表示。線、邊、或者表面可以以各種方式表示,例如,非均勻有理b樣條(nurbs)。具體地,cad文件包含規(guī)范,根據(jù)該規(guī)范可以產(chǎn)生幾何形狀,這繼而允許生成表示。建模對象的規(guī)范可以存儲在單個(gè)或者多個(gè)cad文件中。在cad系統(tǒng)中表示建模對象的文件的典型大小在每部件一兆字節(jié)的范圍內(nèi)。并且建模對象可以典型地為數(shù)千個(gè)部件的組件。在cad的上下文中,建模對象可以典型地為3d建模對象,例如,表示產(chǎn)品,諸如部件或部件的組合,或可能產(chǎn)品的組合。“3d建模對象”意味著由允許其3d表示的數(shù)據(jù)進(jìn)行建模的任何對象。3d表示允許從所有角度觀看該部件。例如,3d建模對象在被3d表示時(shí),可以被操作并圍繞其任何軸、或者圍繞顯示該表示的屏幕上的任何軸旋轉(zhuǎn)。這特別排除了非3d建模的2d圖標(biāo)。對3d表示的顯示便利了設(shè)計(jì)(即統(tǒng)計(jì)學(xué)上加快了設(shè)計(jì)師完成其任務(wù)的速度)。這加速了工業(yè)中的制造過程,因?yàn)楫a(chǎn)品設(shè)計(jì)是制造過程的一部分。3d建模對象可以表示產(chǎn)品的幾何形狀,該產(chǎn)品在利用例如cad軟件解決方案或者cad系統(tǒng)完成其虛擬設(shè)計(jì)之后將在真實(shí)世界中被制造,諸如(例如,機(jī)械的)部件或者部件(或等效部件的組件,由于從該方法的角度來看該部件的組合可被視為部件本身,或該方法可獨(dú)立適用于該組件的每一部件)的組件,或更廣泛地任何剛性體組件(例如,移動機(jī)構(gòu))。cad軟件解決方案允許在各種并且不受限的工業(yè)領(lǐng)域中的產(chǎn)品的設(shè)計(jì),包括:航天、建筑、制造、消費(fèi)品、高科技設(shè)備、工業(yè)設(shè)備、交通運(yùn)輸、航海和/或近海油/氣的制造或運(yùn)輸。因此通過該方法設(shè)計(jì)的3d建模對象可表示工業(yè)產(chǎn)品,其可以是任何機(jī)械的部件,諸如,陸地車輛(包括例如轎車、和輕型卡車裝置、賽車、摩托車、貨車和馬達(dá)裝置、卡車和公交車、火車)的部件;飛行器(包括例如航空裝置、航天裝置、推進(jìn)裝置、防御產(chǎn)品、航線裝置、空間裝置)的部件;航海器(包括例如海軍裝置、商用輪船、近海裝置、游艇和工作船、航海裝置))的部件;一般機(jī)械部件(包括例如工業(yè)制造機(jī)器、重型移動機(jī)器或裝置、安裝裝置、工業(yè)裝置產(chǎn)品、裝配式金屬產(chǎn)品、輪胎制造產(chǎn)品);機(jī)電或者電子部件(包括例如消費(fèi)電子產(chǎn)品、安全和/或控制和/或儀器產(chǎn)品、計(jì)算和通信裝置、半導(dǎo)體、醫(yī)療設(shè)備和裝置);消費(fèi)品(包括例如家具、家庭和花園產(chǎn)品、休閑物品、時(shí)尚產(chǎn)品、耐用品零售產(chǎn)品、非耐用品零售產(chǎn)品);包裝(包括例如食品和飲料和煙草、化妝品和個(gè)人護(hù)理、家庭產(chǎn)品包裝)。該3d場景也可為這樣的建模對象。然而,3d場景典型地表示例如真實(shí)場景,并且因此該3d包含多個(gè)這樣的以特定地方式組裝(或布置)的建模對象,以及可能的其他類型的建模對象(如表示景觀和/或空間和/或建筑,諸如工廠和/或房間和/或設(shè)施)。plm系統(tǒng)另外地意味著適用于對表示物理制造的產(chǎn)品(或?qū)⒈恢圃斓漠a(chǎn)品)的建模對象進(jìn)行管理的任何系統(tǒng)。在plm系統(tǒng)中,建模對象因此由適于制造物理對象的數(shù)據(jù)來進(jìn)行定義。這些數(shù)據(jù)可以典型地是尺寸值和/或容差值。對于對象的正確制造,事實(shí)上具有這些值更好。cam解決方案另外地意味著適用于對產(chǎn)品的制造數(shù)據(jù)進(jìn)行管理的任何解決方案、硬件的軟件。制造數(shù)據(jù)通常包括與要制造的產(chǎn)品、制造過程和所需資源相關(guān)的數(shù)據(jù)。cam解決方案用于計(jì)劃和優(yōu)化產(chǎn)品的整個(gè)制造過程。例如,其能夠?yàn)閏am用戶提供關(guān)于可行性、制造過程的持續(xù)時(shí)間或者資源(諸如特定機(jī)器人)的數(shù)量的信息,該信息可以在制造過程的具體步驟中使用;并因此,允許對管理或者所需的投資進(jìn)行決策。cam是cad過程和潛在的cae過程之后的后續(xù)過程。這樣的cam解決方案由根據(jù)商標(biāo)的dassaultsystèmes提供。通過cae解決方案,另外地意味著適于對建模對象的物理行為進(jìn)行分析的任何解決方案、硬件的軟件。公知的并廣泛使用的cae技術(shù)是有限元法(fem),其典型地涉及將建模對象劃分為元素,該元素的實(shí)際行為能夠通過公式來計(jì)算和仿真。這樣的cae解決方案由根據(jù)商標(biāo)的dassaultsystèmes提供。另一個(gè)發(fā)展中的cae技術(shù)包括復(fù)雜系統(tǒng)的建模和分析,該復(fù)雜系統(tǒng)由來自沒有cad幾何形狀數(shù)據(jù)的不同物理領(lǐng)域的多個(gè)部件組成。cae解決方案允許對要制造的產(chǎn)品進(jìn)行仿真,并且因此進(jìn)行優(yōu)化、改善和驗(yàn)證。這樣的cae解決方案由根據(jù)商標(biāo)的dassaultsystèmes提供。pdm代表產(chǎn)品數(shù)據(jù)管理。通過pdm解決方案,意味著適用于對與特定產(chǎn)品相關(guān)的所有類型的數(shù)據(jù)進(jìn)行管理的任何解決方案、硬件的軟件。pdm解決方案可以由產(chǎn)品生命周期中涉及的所有參與者使用:主要是工程師,但還包括項(xiàng)目經(jīng)理、財(cái)務(wù)人員、銷售人員和買家。pdm解決方案通?;诿嫦虍a(chǎn)品的數(shù)據(jù)庫。其允許參與者共享在其產(chǎn)品上的一致數(shù)據(jù),并因此防止參與者使用互不相同的數(shù)據(jù)。這樣的pdm解決方案由根據(jù)商標(biāo)的dassaultsystèmes提供。圖2示出了系統(tǒng)的gui的示例,其中該系統(tǒng)是cad系統(tǒng),例如用于該3d建模對象的先前設(shè)計(jì),并進(jìn)而通過該方法來進(jìn)行定位。gui2100可以是典型的cad類型的接口,具有標(biāo)準(zhǔn)菜單欄2110、2120,以及底部工具欄和側(cè)邊工具欄2140、2150。這樣的菜單欄和工具欄包含一組用戶可選擇的圖標(biāo),每一個(gè)圖標(biāo)與本領(lǐng)域已知的一個(gè)或多個(gè)操作或者功能相關(guān)聯(lián)。這些圖標(biāo)中的一些與軟件工具相關(guān)聯(lián),適用于對在gui2100上顯示的3d建模對象2000進(jìn)行編輯和/或操作。軟件工具可以被分組為工作臺。每一個(gè)工作臺包括軟件工具的子集。特別地,工作臺中的一個(gè)是編輯工作臺,適用于編輯建模的產(chǎn)品2000的幾何特征。在操作中,設(shè)計(jì)師可以通過選擇適當(dāng)?shù)膱D標(biāo)來例如預(yù)先選擇對象2000的一部分,進(jìn)而發(fā)起操作(例如,改變尺寸、顏色等)或者編輯幾何約束。例如,典型的cad操作是對顯示在屏幕上的3d建模對象的沖壓或者折疊進(jìn)行建模。gui可以例如顯示與顯示的產(chǎn)品2000相關(guān)的數(shù)據(jù)2500。在圖2的示例中,顯示為“特征樹”的數(shù)據(jù)2500及其3d表示2000屬于包括制動鉗和制動盤的制動組件。該gui可以進(jìn)一步示出各種類型的圖形工具2130、2070、2080,例如用于便于對象的3d取向、用于觸發(fā)對所編輯的產(chǎn)品的操作的仿真或者渲染所顯示的產(chǎn)品2000的各種屬性。光標(biāo)2060可以由觸感設(shè)備控制,以允許用戶與圖形工具交互。圖3示出了該系統(tǒng)的示例,其中,該系統(tǒng)是客戶端計(jì)算機(jī)系統(tǒng),例如,用戶的工作站。該示例的客戶端計(jì)算機(jī)包括:連接至內(nèi)部通信總線(bus)1000的中央處理單元(cpu)1010,也連接至該總線的隨機(jī)存取存儲器(ram)1070??蛻舳擞?jì)算機(jī)進(jìn)一步提供圖形處理單元(gpu)1110,其與連接至該總線的視頻隨機(jī)存取存儲器1100相關(guān)聯(lián)。視頻ram1100在本領(lǐng)域中也被稱為幀緩沖器。大容量存儲設(shè)備控制器1020管理對大容量存儲器設(shè)備(諸如硬盤驅(qū)動器1030)的訪問。適于有形地體現(xiàn)計(jì)算機(jī)程序指令和數(shù)據(jù)的大容量存儲器設(shè)備包括所有形式的非易失性存儲器,以示例的方式包括半導(dǎo)體存儲器設(shè)備,諸如eprom、eeprom和閃存存儲器設(shè)備;磁盤,諸如內(nèi)部硬盤和可移動磁盤;光盤;和cd-rom盤1040。前述的任一個(gè)可以由專門設(shè)計(jì)的asic(專用集成電路)補(bǔ)充或者集成于該專門設(shè)計(jì)的asic中。網(wǎng)絡(luò)適配器1050管理對網(wǎng)絡(luò)1060的訪問??蛻舳擞?jì)算機(jī)還可以包括觸感設(shè)備1090,諸如光標(biāo)控制設(shè)備、鍵盤等。光標(biāo)控制設(shè)備用于在客戶端計(jì)算機(jī)中允許用戶在顯示器1080上任何期望的位置選擇性地安置光標(biāo)。此外,光標(biāo)控制設(shè)備允許用戶選擇各種命令并輸入控制信號。光標(biāo)控制設(shè)備包括多個(gè)信號產(chǎn)生設(shè)備以將控制信號輸入至系統(tǒng)。典型地,光標(biāo)控制設(shè)備可以是鼠標(biāo),該鼠標(biāo)的按鈕被用于產(chǎn)生信號??蛇x地或附加地,該客戶端計(jì)算機(jī)系統(tǒng)可以包括觸摸平板和/或觸摸屏幕。計(jì)算機(jī)程序可以包括可由計(jì)算機(jī)執(zhí)行的指令,該指令包括用于使上述系統(tǒng)執(zhí)行該方法的單元。該程序可以記錄在包括系統(tǒng)的存儲器在內(nèi)的任何數(shù)據(jù)存儲介質(zhì)上。該程序可以例如在數(shù)字電子電路、或者計(jì)算機(jī)硬件、固件、軟件、或者其組合中實(shí)現(xiàn)。該程序可以實(shí)現(xiàn)為裝置,例如有形地被體現(xiàn)在機(jī)器可讀存儲設(shè)備中以用于由可編程處理器執(zhí)行的產(chǎn)品。方法步驟可以由可編程處理器執(zhí)行,該可編程處理器通過操作輸入數(shù)據(jù)并產(chǎn)生輸出來執(zhí)行指令的程序以實(shí)施該方法的功能。因此處理器可以是可編程的,并且被耦合以從數(shù)據(jù)存儲系統(tǒng)、至少一個(gè)輸入設(shè)備、以及至少一個(gè)輸出設(shè)備接收數(shù)據(jù)和指令,并向數(shù)據(jù)存儲系統(tǒng)、至少一個(gè)輸入設(shè)備、以及至少一個(gè)輸出設(shè)備發(fā)送數(shù)據(jù)和指令。應(yīng)用程序可以在高級過程語言或者面向?qū)ο缶幊陶Z言中實(shí)現(xiàn),或者如果需要的話在匯編或者機(jī)器語言中實(shí)現(xiàn)。在任何情況下,語言可以是編譯或解釋的語言。程序可以是完全安裝程序或者更新程序。系統(tǒng)中程序的應(yīng)用在任何情況下產(chǎn)生用于執(zhí)行方法的指令?!霸O(shè)計(jì)3d建模對象”指代指代3d建模對象的加工過程中至少一部分的任何動作或者動作序列。因此,該方法可以包括從零開始創(chuàng)建3d建模對象。可選地,該方法可以包括提供先前創(chuàng)建的3d建模對象,并進(jìn)而修改該3d建模對象。現(xiàn)在討論該方法的示例。該方法的不同選擇根據(jù)示例實(shí)現(xiàn),并在下文中詳細(xì)描述。示例可被調(diào)整以使并非所有選項(xiàng)均被實(shí)現(xiàn),和/或一些選項(xiàng)被略作修改并以不同的方式實(shí)現(xiàn)。示例中的方法可以定位被稱為“模型(model)”的真實(shí)3d細(xì)節(jié)到更寬的被成為“場景(scene)”的真實(shí)3d環(huán)境中。首先,3d真實(shí)場景和模型可以分別被轉(zhuǎn)換為由點(diǎn)和法向量構(gòu)成的兩對有限集合(例如,從這種已經(jīng)有限的集合開始或通過對相應(yīng)的無限集合進(jìn)行采樣)。在示例中,從3d場景和模型的表面對點(diǎn)進(jìn)行采樣。法向量是采樣點(diǎn)處3d場景和模型表面的法向量。圖4示出了這種采樣。圖5示出了典型模型的采樣點(diǎn),且圖6示出了場景的采樣點(diǎn)(圖示的示例附帶地示出了圖5中雕像的表示-即3d建模對象-事實(shí)上應(yīng)當(dāng)被找到并且定位在圖6的3d場景中,因?yàn)樵摰裣耧@然存在于由3d場景表示的環(huán)境中)。該方法的感興趣的對象是兩個(gè)(點(diǎn),法向量)對,這有一點(diǎn)類似((點(diǎn),法向量),(點(diǎn),法向量))。在下面描述的示例中,在將模型的雙改變?yōu)閳鼍暗碾p的所有剛體運(yùn)動之中,該方法可以通過“3d投票(3dvote)”步驟選擇最頻繁的一個(gè)。在模型中選擇被稱為“錨定點(diǎn)(anchorpoints)”的三個(gè)點(diǎn),該選擇可以通過將模型的雙改變?yōu)閳鼍暗碾p的剛體運(yùn)動以存儲所有變換的錨定點(diǎn)來完成。這是稍后描述的“雙-雙剛性運(yùn)動(pair-to-pairrigidmotion)”步驟。最頻繁變換的錨定點(diǎn)公開了最頻繁的剛性運(yùn)動,從中可以計(jì)算“最佳剛性運(yùn)動(bestrigidmotion)”。另外,可以計(jì)算“顯著性水平(significancelevel)”,例如供用戶決定是否可以在后續(xù)流程中使用該最佳剛性運(yùn)動。為了性能目的,不是所有的雙-雙剛性運(yùn)動都可以被研究。只有將(模型的)雙改變成(場景的)類似雙的剛性運(yùn)動可以被考慮。給定雙的類似雙可以通過使用數(shù)字簽名被收集,并被存儲在專用數(shù)據(jù)結(jié)構(gòu)中。這是后續(xù)描述的“雙簽名(pairsignatures)”匹配。圖7的流程圖中示出了以所有這些獨(dú)立選項(xiàng)為特征的方法的示例。應(yīng)用在運(yùn)動結(jié)構(gòu)分析,該示例的方法允許如下幾點(diǎn)。當(dāng)相機(jī)掃描被中斷時(shí),它可以從相鄰位置重新開始,使得一部分場景由連續(xù)數(shù)據(jù)集共享。該方法可以通過匹配共享部分來計(jì)算兩個(gè)數(shù)據(jù)集合的正確重安置。這使得掃描過程更加魯棒,因?yàn)樗梢匀萑讨袛嗷蜻\(yùn)動擾動。無標(biāo)記增強(qiáng)現(xiàn)實(shí)是在真實(shí)世界視圖中插入附加虛擬對象,而無需借助預(yù)定符號。應(yīng)用于這樣的上下文中,該示例的方法可以計(jì)算虛擬對象的適當(dāng)插入位置。與先前引用的現(xiàn)有技術(shù)相比,該示例的方法的主要可選益處是需要較少計(jì)算同時(shí)魯棒的投票過程。事實(shí)上,該示例的方法通過場景的固定數(shù)量的雙工作,而早先引用的現(xiàn)有技術(shù)通過固定數(shù)量的“參考點(diǎn)(referencepoints)”工作,其中所有可能的雙均被考慮。該示例的方法能夠丟棄“參考點(diǎn)”并同時(shí)通過以下方式保持甚至提高魯棒性(robustness):(1)適當(dāng)?shù)剡x擇要使用的場景雙的集合,(2)具有用于計(jì)算兩個(gè)雙之間剛性變換的直接方法,以及(3)具有用于變換(錨定點(diǎn)和哈希表(hashtable))的全局投票的方法。另一個(gè)區(qū)別點(diǎn)是描述符的第四個(gè)實(shí)數(shù)有效地處理對稱性。事實(shí)上,與早先引用的現(xiàn)有技術(shù)相反,在該示例的方法中兩個(gè)鏡像對稱的雙不共享相同的描述符。圖8-10相應(yīng)的分別示出三幅圖片。左上的圖片是3d模型,左下的圖片是3d場景,而右側(cè)的圖片是定位在場景中的模型(其因此顯示可以是根據(jù)s10執(zhí)行的方法的進(jìn)一步)。所有場景和模型都是3d點(diǎn)的有限集合。圖8示出了“汽車”模型。圖9示出“椅子”模型。圖10示出“維納斯(venus)”模型?,F(xiàn)在討論“雙”(或“對”)的概念。記b={(x,y,z)∈r3,x2+y2+z2=1}為單位球面,令是由3d點(diǎn)和法向量組成的對的集合。根據(jù)定義,在該示例的方法中,模型m和場景s是k的有限子集,這意味著m={mi,i=1,…,|m|},其中對于所有的i,并且s={si,i=1,…,|s|},其中對于所有的i,令pm是m中的元素的所有對的集合:pm={((p1,n1),(p2,n2)),(p1,n1)∈m,(p2,n2)∈m}=m×m。對于ps是同樣的:ps={((p1,n1),(p2,n2)),(p1,n1)∈s,(p2,n2)∈s}=s×s。從數(shù)學(xué)的角度來看,pm或ps的元素是多個(gè)點(diǎn)一法線對中的一個(gè)對,但是為了清楚起見,下面將其命名為“雙(pair)”,這也與現(xiàn)有技術(shù)的措辭一致。顯然,從數(shù)學(xué)角度來看,它不是“雙(pair)”,因?yàn)樵氐捻樞虿恢匾?,但這不會導(dǎo)致任何誤解,因?yàn)樵谙旅娴挠懻撝胁皇褂谜鎸?shí)的雙(pair)的數(shù)學(xué)概念。圖11示出典型的雙(pair)?,F(xiàn)在討論算法的一個(gè)示例及其如何執(zhí)行前述獎勵。安置s10之后的算法可以運(yùn)行(即迭代)第二對(不同于先前引用的現(xiàn)有技術(shù)算法,其運(yùn)行第一對并且可以非??焖俚亟?,訪問與正在運(yùn)行的相應(yīng)第二對匹配的所有第一對,以及輸出該3d建模對象在該3d場景中的安置,其獎勵該第一對實(shí)質(zhì)上位于所訪問的相應(yīng)第二對上。換句話說,安置在架構(gòu)上從3d場景的第二對開始,并且考慮候選第一對(即,可以實(shí)質(zhì)上安置在所考慮的每一個(gè)第二對上的3d建模對象的那些對),并且將這些候選轉(zhuǎn)換成候選定位。這種架構(gòu)減少了計(jì)算時(shí)間。值得注意的是,算法所運(yùn)行的第二對是(例如,由其形成的/對應(yīng)于)3d場景中包括的相應(yīng)3d點(diǎn)的代表性子集。換句話說,算法運(yùn)行在其子集上(即,對應(yīng)于3d場景中包括的相應(yīng)3d點(diǎn)的代表性子集),而不是運(yùn)行在所有第二對上?!按硇?representative)”意味著第二對表示具有(相對于初始采樣)減少的信息量的場景的幾何形狀。具體地,代表性子集是從3d場景中包括的相應(yīng)3d點(diǎn)的精簡(downsizing)(即,選擇)中獲得的,該精簡包括對3d場景中包括的相應(yīng)3d點(diǎn)進(jìn)行的空間聚類(例如k均值聚類),以及基于該聚類結(jié)果的概率選擇。換句話說,3d場景中的3d點(diǎn)被聚類,并且概率被分配給聚類,并且該方法基于所分配的聚類概率執(zhí)行隨機(jī)選擇(例如,偽隨機(jī))。概率可以是使得概率選擇獎勵大的聚類和/或鄰近的聚類(此處該術(shù)語“鄰近(close)”是指從參考位置進(jìn)行評估的距離,參考位置可以是在3d場景為虛擬現(xiàn)實(shí)環(huán)境的情況下相機(jī)所在的位置-即從沉浸的用戶的視角,并且該方法例如是實(shí)時(shí)執(zhí)行的-同時(shí)該用戶參與虛擬現(xiàn)實(shí)沉浸過程并與虛擬環(huán)境交互)?,F(xiàn)在討論以特別有效的方式(從計(jì)算的角度)導(dǎo)致特別精確的最終結(jié)果的ps的量的該精簡的示例。該示例指的是相機(jī)位置。在不提供相機(jī)位置的情況下,該示例可以通過去除相關(guān)項(xiàng)(并且執(zhí)行一般的空間聚類)來調(diào)整。該示例的聚類的目標(biāo)主要是獲得對的同質(zhì)分布以及將可能屬于同一對象的對分組。s中元素的數(shù)量可以非常大并且遠(yuǎn)大于m中元素的數(shù)量,對ps和pm同理。為了性能目的,在該示例中僅考慮ps的隨機(jī)選擇的子集。集合ps被精簡至模型的點(diǎn)的數(shù)量,即|ps|≈|m|。典型的精簡值是|ps|≈10000,典型的模型尺寸是|m|≈20000。該示例的精簡是通過集合s的聚類步驟,以及隨后ps的元素的隨機(jī)選擇步驟來執(zhí)行的。如前所述定義,s的元素是由3d點(diǎn)和法向量組成的對。在示例的精簡處理中不使用法向量,因此術(shù)語“s的點(diǎn)”僅指3d點(diǎn)。該示例的聚類步驟基于k均值聚類算法,例如在以下論文中所述:“tapaskanungo,davidm.mount,nathans.nananyahu,christined.piatko,ruthsilverman,andangelay.wu,anefficientk-meansclusteringalgorithm:analysisandimplementation,ieeetransactionsonpatternanalysisandmachineintelligence,vol.24,no7,july2002”。該輸入是聚類的數(shù)量n(在2和5之間,例如3,是實(shí)驗(yàn)性優(yōu)良值)和點(diǎn)s的集合。輸出是n個(gè)非空且不相交的子集ci,i=1,…,n,被稱為聚類,以及多個(gè)3d點(diǎn)mi=(xi,yi,zi),i=1,…,n,被稱為平均點(diǎn),分別與ci相關(guān)聯(lián)。輸出被按照滿足以下性質(zhì)的方式計(jì)算。首先,s=c1∪…∪cn。其次,所有m∈ci的點(diǎn)都比j≠i的任何其他平均點(diǎn)mj更接近平均點(diǎn)mi。也就是說,對于所有的i=1,…,n和所有的m∈ci:||m-mi||<min{||m-mj||,j≠i}。每一個(gè)聚類ci中點(diǎn)的數(shù)量記為ni。平均點(diǎn)由k均值聚類算法計(jì)算,它們不屬于s。用于聚類的參考軸系統(tǒng)以這樣的方式定義:z坐標(biāo)是到相機(jī)的距離,并且對于所有i,zi>0。在示例的上下文中,聚類的典型數(shù)量是3。圖12示出了2d點(diǎn)的示例性集合。圖13示出了其k均值聚類成四個(gè)簇c1、c2、c3、c4以及平均點(diǎn)m1、m2、m3、m4和相機(jī)位置。該示例的隨機(jī)選擇步驟按照如下執(zhí)行:整個(gè)集合s涉及cn+1=s。然后,對于i=1,…,n+1,根據(jù)以下公式將概率pi∈[0,1]與每一個(gè)ci相關(guān)聯(lián):首先,然后是歸一化系數(shù)最后對于所有i∈{1,…,n},概率系數(shù)p0被設(shè)計(jì)為滿足p1+…+pn+1=1。概率pi與ci中的點(diǎn)的數(shù)量的平方成正比,并且與其深度zi成反比。這樣,給定兩個(gè)具有相同點(diǎn)的數(shù)量的聚類,最可能的是更接近相機(jī)的聚類。此外,給定兩個(gè)具有相同深度的聚類,最可能的是具有最大數(shù)量的點(diǎn)的聚類。最后,集合cn+1的概率不消失,使得具有不同聚類中點(diǎn)的雙被選擇。令np為在ps中選擇的雙的數(shù)量。選擇算法根據(jù)在前面段落中定義的概率,利用集合{1,…,n+1}中的整數(shù)的隨機(jī)生成器。被記為randprob。每次調(diào)用randprob都會產(chǎn)生新的整數(shù)值。給定整數(shù)a和b,算法還根據(jù)均勻概率使用任意集合[a,a+1,…,b}中的整數(shù)的隨機(jī)生成器。被命名為rand(a,b)。每次調(diào)用rand(a,b)都會產(chǎn)生新的整數(shù)值。選擇算法可以如下。為了簡單起見,精簡的集合ps仍然被記為ps。在示例中,該方法(還)可以包括雙預(yù)處理。該預(yù)處理可明顯地從對((p1,n1),(p2,n2))中清除pm∪ps(即,為后面流程而移除),其中p2相對地接近p1-例如相對于預(yù)定閾值-或者n1相對地接近共線于p2-p1-例如相對于預(yù)定閾值。在該示例中,為了效率目的,通過移除無意義的雙來清除集合pm和ps。無意義的雙((p1,n1),(p2,n2))是使p1和p2之間的距離不適當(dāng)或使n1,n2和p2-p1幾乎共線的雙。第一預(yù)處理可以移除具有太大或太小||p2-p1||的pm和ps的雙。確切地說,這是通過如下計(jì)算完成:w=max{||p2-p1||,{(p1,n1),(p2,n2)}∈pm}其中kmin=0.1和kmax=0.6。然后,僅雙((p1,n1),(p2,n2))∈pm∪ps使:被保留以用于進(jìn)一步處理。根據(jù)第二預(yù)處理,僅滿足以下關(guān)系的雙((p1,n1),(p2,n2))∈pm∪ps可以被保留:符號det[u,v,w]是向量的3×3行列式。閾值k的典型值為k=0.2(可以修改±50%)。如下使用的集合pm和ps可以滿足由預(yù)處理定義的屬性?,F(xiàn)在討論簽名的概念??梢愿鶕?jù)以下流程針對雙定義數(shù)字簽名。雙可被改變?yōu)閷?shí)數(shù)的四元組(four-tuple),命名為“描述符(descriptor)”,該描述符繼而可被改變?yōu)檎麛?shù)。如下文所闡述,在這種情況下簽名可以指二者的組合。首先討論該方法的示例的描述符。在這一示例中,描述符在鏡像對稱下是可變的,由于特定的術(shù)語。這相對于早先引用的現(xiàn)有技術(shù)允許假陽性的減少。給定((p1,n1),(p2,n2))∈pm∪ps,可以根據(jù)由q=p2-p1定義的映射來計(jì)算描述符,并且:其中<u|v>是向量u和v的標(biāo)量積。正如先前引用的現(xiàn)有技術(shù),映射f在剛性運(yùn)動下是不變的,但是與先前引用的現(xiàn)有技術(shù)相反,映射f在鏡像對稱下不是不變的。事實(shí)上,記l為鏡像對稱線性映射,鏡像雙描述符的第四坐標(biāo)可能是:因?yàn)閐etl=-1。描述符(上述示例的特定描述符或任何其他這樣的描述符)可在示例中被量化,這導(dǎo)致質(zhì)量評價(jià)(如果需要的話)的快速執(zhí)行?,F(xiàn)在討論這種量化。通常,第一對的描述符的值和第二對的描述符的值之間的實(shí)質(zhì)相等可以被視為整數(shù)的實(shí)質(zhì)相等。具體地,可以是對應(yīng)于第一對描述符的值的第一整數(shù)和對應(yīng)于第二對描述符的值的第二整數(shù)之間的實(shí)質(zhì)相等,并且在這種情況下,第一整數(shù)和第二整數(shù)可以經(jīng)由分別應(yīng)用于第一對描述符的值和第二對描述符的值的量化映射來計(jì)算。這大大加速了該流程,因?yàn)閮H考慮整數(shù)的相等性(然而實(shí)數(shù)比較可能需要時(shí)間)。現(xiàn)在討論有效且相對高準(zhǔn)確性(針對最終結(jié)果)執(zhí)行這種量化的具體方式。令h=f(pm∪ps)為當(dāng)((p1,n1),(p2,n2))∈pm∪ps時(shí)所有四元組f(p1,n1,p2,n2)的有限集合。本質(zhì)上通過使用量化映射將h的每一個(gè)元素改變?yōu)檎麛?shù)。該映射定義如下。存在八個(gè)實(shí)數(shù)和其中i=1,…,4,使得對于i=1,…,4和所有(r1,r2,r3,r4)∈h事實(shí)上,實(shí)數(shù)r2和r3是歸一化向量的標(biāo)量積,因此-1≤r2≤1且-1≤r3≤1。實(shí)數(shù)r4是歸一化向量的行列式,所以-1≤r4≤1(換句話說,對于i=2,3,4的和-1和+1可以被保留,盡管更精確的最小值和/或更精確的最大值可被確定,例如對于r1)。最后,數(shù)r1是這樣的其中和可以由之前提到的示例的預(yù)處理來定義??紤]稱為“解析度”的四個(gè)實(shí)數(shù)εi,i=1,…,4。典型值如下:ε2=0.1ε3=0.1ε4=0.08測試已經(jīng)表明,解析度數(shù)值的有效范圍是在這些標(biāo)稱值附近±50%(即,該方法對于上文提到的四個(gè)數(shù)值中的每一個(gè)均考慮在±50%以內(nèi)變化的值)。另外,注意到在針對和值保留比-1和+1更精確的值的情況下,εi,i=2,3,4的值可以類似于ε1。記[r]為小于或等于實(shí)數(shù)r的最大整數(shù),針對i=1,…,4定義整數(shù)δi:現(xiàn)在,給定任意的(r1,r2,r3,r4)∈h,針對i=1,…,4定義整數(shù)qi:然后,四元組(4-tuple)(r1,r2,r3,r4)∈h的量化由下式定義:q(r1,r2,r3,r4)=q1δ2δ3δ4+q2δ3δ4+q3δ4+q4最后,簽名是量化的描述符,即根據(jù)復(fù)合式σ=qοf定義的映射且意味著對于所有的((p1,n1),(p2,n2))∈pm∪ps:σ((p1,n1),(p2,n2))=q(f(p1,n1,p2,n2))例如,選擇和雙(如圖14-17所示):計(jì)算得出:σ(a1)=1054σ(a2)=5250σ(a3)=5250σ(a4)=1054注意公式σ(a1)=σ(a4),因?yàn)殡pa1接近雙a2。此外σ(a2)=σ(a3)因?yàn)閒(a2)=f(a3)=(1,0,0,-1),由于雙a2和a3是等長的,并且由于映射f在剛性運(yùn)動下是不變的?,F(xiàn)在討論允許該方法快速執(zhí)行的方法的示例。在該示例中,算法遵循3d投票原理(即,使用哈希表,并且算法的輸出對應(yīng)于哈希表中最受歡迎的一個(gè)或多個(gè)槽)。具體地,算法可以對應(yīng)于所有安置(例如剛性運(yùn)動)中的最佳投票,該所有安置中的每一個(gè)將相應(yīng)第一對安置在相應(yīng)匹配的第二對上。然后,最佳投票可以對應(yīng)于保持最大安置組的哈希表槽,其以基本上相同的方式安置3d建模對象中包括的相應(yīng)3d點(diǎn)的三個(gè)所謂的“錨定點(diǎn)(anchorpoints)”(即,組的安置將錨定點(diǎn)發(fā)送到哈希表的相同槽,其因此是3×3d哈希表,例如預(yù)定的,因此槽是這樣預(yù)定的3×3d網(wǎng)格的單元)。換句話說,將第一對安置到匹配的第二對(例如,“匹配”對應(yīng)于先前提到的形狀描述符,并且在示例中更具體的涉及簽名)的安置被認(rèn)為是對相關(guān)(couple-wise)的(例如先前參考示例所提到的,具體的為第二對相關(guān)(second-couple-wise))。所有這樣的候選安置被保留,并且考慮最“受歡迎”的一個(gè)或多個(gè)。這允許快速確定安置s10。錨定點(diǎn)可以是屬于3d建模對象的三個(gè)未對準(zhǔn)的點(diǎn)。這提供了3d投票的魯棒性(robustness)。現(xiàn)在討論被測試的并且工作尤其好的錨定點(diǎn)的示例。在該示例中,錨定點(diǎn)是模型m的三個(gè)點(diǎn),記為a=(m1,m2,m3),通過使得它們之間的相互距離盡可能大的方式被選擇。精確地:max{||m1-m2||2+||m1-m3||2+||m2-m3||2;(m1,n1),(m2,n2),(m3,n3)∈m}。注意法向量n1、n2和n3分別與點(diǎn)m1、m2和m3相關(guān)聯(lián),并且不涉及該錨定點(diǎn)的定義。現(xiàn)在討論根據(jù)上述詳述實(shí)施例的總體算法的示例。算法的概要如下。第一步是在表t(·)中存儲雙-雙剛性運(yùn)動d如何改變錨定點(diǎn)a。為了性能目的,該步驟可以調(diào)查具有相同簽名的多個(gè)雙,如下面的指令03所述:整數(shù)imax是算法調(diào)查的雙-雙剛性運(yùn)動的數(shù)量。輸出表t通過使用所述剛性運(yùn)動來收集所有變換的錨定點(diǎn)。令im(t)是t的所有值的集合,即im(t)={t(i),i∈{1,…,imax}}第二步在以下意義上識別最頻繁的剛性運(yùn)動。令ε>0為數(shù)值閾值。值ε將在后面討論??紤]任意t∈im(t)。記c(t,ε)為在{1,…,imax}中的索引i的集合,以使t(i)接近t。精確地,c(t,ε)={i∈{1,…,imax},||t(i)-t||≤ε]。通過定義,在im(t)中選擇的值t*具有最大的c(t,ε),也就是說,t*=argmaxt∈im(t)|c(t,ε)|。注意這個(gè)“最大參數(shù)(argumentofmaximum)”公式是通用的。稍后描述示例算法。最后一個(gè)步驟返回在場景s中安置/定位(positioning/locating)模型m的最佳剛性運(yùn)動。其為剛性運(yùn)動d*∈se(3),使得||t*-d*(a)||盡可能小。稍后詳細(xì)說明d*的計(jì)算示例。現(xiàn)在討論針對雙簽名匹配所保留的數(shù)據(jù)結(jié)構(gòu)的具體示例(在上述示例算法的步驟03中使用)。在該示例中,應(yīng)用量化映射于第一對描述符的值的結(jié)果被存儲在索引表中,以便提高該方法的總體效率。事實(shí)上,檢索具有給定簽名的pm的所有元素可以集中地應(yīng)用于該算法中。例如在上述示例的指令03處由“forallx∈pmsuchthatσ(x)=kdobegln”捕獲。從編程的角度來看,該操作借助于適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)執(zhí)行。該數(shù)據(jù)結(jié)構(gòu)涉及三個(gè)表t1、t2和t3,并且可以按照如下被計(jì)算。第一步是計(jì)算該表t1,使得t1(k)是x∈pm的元素的數(shù)量,使得σ(x)=k。表t1對于所有i被初始化為t1(i)=0。在這個(gè)步驟之后,整數(shù)n是對所有x∈pm使1≤σ(x)≤n。這意味著注意σ(pm)={1,…,n}不是必需的,意味著可能存在不是pm的元素的簽名的{1,…,n}中的一些值。換句話說,可以存在整數(shù)i,使得t1(i)=0。第二步是計(jì)算表t2,其是(將來)表t3中地址的目錄。表t2的大小為n。此步驟后不再使用表t1。最后一步是向表t3饋送具有相同簽名的元素的列表。表t3的大小是n+|pm|,并且對于所有i∈{1,…,n+|pm|},表t3使用t3(i)=0被初始化。該數(shù)據(jù)結(jié)構(gòu)可參照如下使用。給定場景的元素y∈ps和其簽名k=σ(y),在表t3中的t2(k)位置處讀取具有相同簽名k的模型元素x∈pm的數(shù)量m,即m=t3(t2(k)。對于j=1,2,…,m,所述模型元素位于表t3中的t3(t2(k)+j)位置處。該計(jì)算明顯是最優(yōu)的,因?yàn)樗玫降臄?shù)據(jù)結(jié)構(gòu)的大小是n+|pm|,并且樹步驟的累積復(fù)雜度是n+2|pm|。圖18的表示例了具有pm={a,b,c,d,e,f}的數(shù)據(jù)結(jié)構(gòu),從而|pm|=6,σ(a)=σ(b)=σ(d)=σ(e)=2和σ(c)=σ(f)=4,故而n=4。具有簽名值3的pm的元素的數(shù)量是t3(t2(3))=t3(7)=0。具有簽名值2的pm的元素的數(shù)量是t3(t2(2))=t3(2)=4,并且它們是t3(3)=a,t3(4)=b,t3(5)=d和t3(6)=e?,F(xiàn)在討論增加全局速度(同時(shí)導(dǎo)致相對精確的結(jié)果)的算法的示例。在該示例中,算法對應(yīng)于在所有剛性運(yùn)動中的最佳投票,該所有剛性運(yùn)動中的每一個(gè)將相應(yīng)的第一對安置在相應(yīng)匹配的第二對上,如在先前示例中所提及的。現(xiàn)在,以特定和快速的方式確定每一個(gè)剛性運(yùn)動(即,計(jì)算雙-雙剛性運(yùn)動,例如上述示例算法的步驟04):僅基于(即,該確定不涉及其他數(shù)據(jù))附接到其相應(yīng)第一對的正交軸系統(tǒng)和附接到其相應(yīng)第二對的正交軸系統(tǒng)。相應(yīng)的正交軸系統(tǒng)僅基于兩個(gè)點(diǎn)中的僅一個(gè)點(diǎn)及其相應(yīng)的關(guān)聯(lián)法向量分別從相應(yīng)的第一對和相應(yīng)的第二對確定(換句話說,對于每對所考慮的雙,它們之間的剛性運(yùn)動僅基于兩個(gè)正交軸系統(tǒng)來確定,每一個(gè)相應(yīng)的對一個(gè),并且每一個(gè)系統(tǒng)僅基于定義該對的一半信息/數(shù)據(jù)來確定,即該對的兩個(gè)點(diǎn)中的其中一個(gè)的位置和相關(guān)聯(lián)的法向量-即其他點(diǎn)的位置和相關(guān)聯(lián)的法向量未被使用),使得該確定是快速的,并且因此該算法也是全局快速的?,F(xiàn)在討論這樣的剛性運(yùn)動確定的示例,其與前面提到的預(yù)處理示例尤其好地協(xié)同合作(因?yàn)檫@種預(yù)處理留下如下的所輸入的對,通過所輸入的對這一示例的確定尤其快地被完成)。在該示例中,在算法的指令04處執(zhí)行計(jì)算剛性運(yùn)動:給定a、a′兩雙,計(jì)算剛性運(yùn)動d,使得d(a)在某種意義上接近a′。原理是定義分別附接到雙a和對a′的兩個(gè)直接正交軸系統(tǒng)(o,u,v,w)和(o′,u′,v′,w′),然后計(jì)算剛性運(yùn)動d將(o,u,v,w)變換為(o′,u′,v′,w′)。精確地,剛性運(yùn)動d對于所有的d(x)=cx+d具有根據(jù)矩陣乘積定義的旋轉(zhuǎn)c:c=[u′v′w′]t[uvw]。平移d定義為:d=o′-co。附接到雙((p1,n1),(p2,n2))的軸系統(tǒng)(o,u,v,w)定義如下。第一向量u是u=n1。第二向量v是p2-p1在垂直于u的平面上的歸一化投影。這在兩個(gè)步驟v=(i-uut)(p2-p1)中計(jì)算,其中i是單位矩陣,且由于預(yù)處理,該計(jì)算是有效率的,因?yàn)閜2≠p1并且n1不與p2-p1共線。第三向量w是叉積w=u×v。最后,原點(diǎn)o是p1。圖19示出軸系統(tǒng)定義。盡管軸系統(tǒng)(o,u,v,w)不依賴于n2和長度||p2-p1||,但在實(shí)踐中給出了良好的結(jié)果。對附接到另一雙的軸系統(tǒng)(o′,u′,v′,w′)進(jìn)行相同的計(jì)算。圖20示出了剛性運(yùn)動的定義?,F(xiàn)在討論先前提及的3d投票的示例,3d投票相當(dāng)于計(jì)算對于t*的最大值的參數(shù)。通過構(gòu)造,im(t)是3d點(diǎn)的三元組的有限集合,意味著im(t)的元素可以被看作中的點(diǎn)。假定數(shù)值閾值ε>0,實(shí)數(shù)集可以寫為所有間隔的聯(lián)合[jε,(j+1)ε[:這樣,可以寫為框的聯(lián)合:即:示例中的投票是用于計(jì)數(shù)im(t)的9元組(9-tuples)落入其中的每一個(gè)框的數(shù)目,并選擇合計(jì)達(dá)到9元組的最大數(shù)目的框。優(yōu)選的閾值是ε=0.2max{||p2-p1||,((p1,n1),(p2,n2))∈pm}為了清楚起見,使用整數(shù)vote(j1,…,j9)的表來更新以下示例偽代碼的算法中的投票。類似地,中的點(diǎn)的表b(j1,…,j9)用于更新每一個(gè)框的點(diǎn)的質(zhì)心。為了優(yōu)化的目的,兩者可以被哈希數(shù)據(jù)結(jié)構(gòu)代替。整數(shù)bestvote是當(dāng)前最佳投票,并在整個(gè)過程中進(jìn)行更新。整數(shù)secondvote是當(dāng)前最好的第二個(gè)投票,并在整個(gè)過程中更新。它被顯著性水平所需要。顯著性水平可以是用于比較bestvote和secondvote值的比率原則是,如果bestvote比secondvote“大得多”則投票過程是有意義的,這意味著“許多”錨定點(diǎn)被轉(zhuǎn)換到同一個(gè)框中,典型地,當(dāng)時(shí)。在數(shù)學(xué)上,最好的剛性運(yùn)動(在下一段詳述)總可以被計(jì)算,即使投票沒有意義。保持該最佳剛性運(yùn)動或幾個(gè)最佳剛性運(yùn)動,或沒有最佳剛性運(yùn)動的決定僅僅是實(shí)現(xiàn)的問題,這取決于該方法的應(yīng)用。所選值t*是所選框中的點(diǎn)的質(zhì)心,即:為了方便起見,它被寫成使得其三個(gè)點(diǎn)s1、s2、s3被顯式化。t*=(s1,s2,s3)圖21-22示出了在2維的情況下(與9維情況相反)的投票過程。圖21示出了2d點(diǎn)的集合im(t)。圖22為ε×ε個(gè)框鋪成所選框是因?yàn)樗ㄗ畲髷?shù)量的點(diǎn):最好的第二投票是secondvote=vote(4,3)=2,所以顯著性水平是現(xiàn)在提供如何計(jì)算最佳剛性運(yùn)動的示例。根據(jù)先前的討論,現(xiàn)在,點(diǎn)可以用于找到將模型m的錨定點(diǎn)a=(m1,m2,m3)變換為場景s的所選點(diǎn)的三元組的點(diǎn)t*=(s1,s2,s3)的最佳剛性運(yùn)動d*。該最佳剛性運(yùn)動d*由平移t*和旋轉(zhuǎn)r*定義,使得對于所有d*(x)=r*x+t*。旋轉(zhuǎn)r*和平移t*可按照如下計(jì)算。使用m1、m2、m3計(jì)算以下向量u=m2-m1v=m3-m1w=u×vs1、s2、s3同理:u′=s2-s1v′=s3-s1w′=u′×v′然后,使用u、v、w、u′、v′和w′計(jì)算矩陣p。p=[u′v′w′][uvw]-1應(yīng)當(dāng)注意,(u,v,w)和(u′,v′,w′)通常是非正交的軸系統(tǒng),使得p是一個(gè)通常非正交的矩陣。因?yàn)檫@個(gè)原因,映射r*是到p的最近的旋轉(zhuǎn)。它是唯一的并且可以使用奇異值分解來計(jì)算,例如在論文“andriymyronenko,xubosong,ontheclosed-formsolutionoftherotationmatrixarisingincomputervisionproblems,9apr2009”中所解釋的。最后,平移t*被定義為:t*=s1-r*m1。當(dāng)前第1頁12當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
塔城市| 新邵县| 深泽县| 肃南| 临汾市| 元氏县| 会理县| 松溪县| 新和县| 嵊州市| 平阳县| 车致| 天全县| 东海县| 广丰县| 神农架林区| 芒康县| 陇南市| 泽库县| 镇远县| 新化县| 上栗县| 乌兰察布市| 莫力| 罗源县| 庆城县| 龙岩市| 寿光市| 沈丘县| 呼图壁县| 民权县| 永城市| 长阳| 巍山| 喀什市| 永胜县| 岱山县| 灵川县| 徐水县| 驻马店市| 张家川|