• / 32
  • 下載費用:30 金幣  

信息處理裝置及信息處理方法.pdf

關 鍵 詞:
信息處理 裝置 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
摘要
申請專利號:

CN201310379479.X

申請日:

2013.08.27

公開號:

CN103678754A

公開日:

2014.03.26

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/50申請日:20130827|||公開
IPC分類號: G06F17/50 主分類號: G06F17/50
申請人: 佳能株式會社
發明人: 渡邊大輔; 小林一彥
地址: 日本東京都大田區下丸子3-30-2
優先權: 2012.08.28 JP 2012-188074; 2013.06.04 JP 2013-118301
專利代理機構: 北京怡豐知識產權代理有限公司 11293 代理人: 遲軍
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201310379479.X

授權公告號:

103678754B||||||

法律狀態公告日:

2017.06.06|||2014.04.23|||2014.03.26

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種信息處理裝置及信息處理方法。獲取包括對象物體的圖像。獲取所述對象物體的概略位置和姿態。保持以不同精度表示所述對象物體的形狀的多個模型的信息。將所獲取的圖像中的所述對象物體的幾何特征與以所述概略位置和姿態放置的所述多個模型中的至少一個表示的幾何特征相關聯。基于關聯結果估計所述對象物體的位置和姿態。

權利要求書

權利要求書
1.  一種信息處理裝置,該信息處理裝置包括:
圖像獲取單元,其用于獲取包括對象物體的圖像;
用于獲取所述對象物體的概略位置和姿態的單元;
保持單元,其用于保持以不同精度表示所述對象物體的形狀的多個模型的信息;
關聯單元,其用于將所獲取的圖像中的所述對象物體的幾何特征與以所述概略位置和姿態放置的所述多個模型中的至少一個表示的幾何特征相關聯;以及
估計單元,其用于基于關聯結果估計所述對象物體的位置和姿態。

2.  根據權利要求1所述的信息處理裝置,其中,所述關聯單元根據預定條件從所述多個模型中選擇模型,并將所述對象物體的幾何特征與由所選模型表示的幾何特征相關聯。

3.  根據權利要求2所述的信息處理裝置,其中,所述關聯單元包括選擇單元,所述選擇單元用于基于在重復估計時計算出的指標值與閾值之間的比較來從所述多個模型中選擇模型,并且
所述估計單元包括:
用于以所述概略位置和姿態或所估計的位置和姿態放置所選模型,并獲得所述對象物體的表面上的各幾何特征與由所選模型表示的對應幾何特征之間的距離的單元;以及
用于基于針對所述對象物體的表面上的各幾何特征而獲得的距離估計位置和姿態的單元。

4.  根據權利要求3所述的信息處理裝置,其中,所述選擇單元基于與所述對象物體的匹配度從所述多個模型中選擇模型,并且
所述估計單元還包括:
用于基于所述對象物體的表面上的各幾何特征與以所估計的位置和姿態放置的所選模型表示的對應幾何特征之間的距離,獲得所述匹配度的單元。

5.  根據權利要求3所述的信息處理裝置,其中,所述選擇單元基于 估計的執行次數從所述多個模型中選擇模型。

6.  根據權利要求3所述的信息處理裝置,其中,所述選擇單元基于估計前的概略位置與估計后的估計位置之間的位置差分,從所述多個模型中選擇模型。

7.  根據權利要求3所述的信息處理裝置,其中,所述選擇單元基于估計前的概略姿態與估計后的估計姿態之間的姿態差分,從所述多個模型中選擇模型。

8.  根據權利要求2所述的信息處理裝置,其中,所述估計單元包括:
選擇單元,其用于針對所述對象物體的各區域,基于利用多邊形近似所述區域的形狀的多邊形模型相對于利用參數曲面近似所述區域的形狀的參數曲面模型的近似誤差,來選擇所述參數曲面模型和所述多邊形模型中的一個;
用于以所述概略位置和姿態放置針對所述對象物體的各區域的所選模型,并獲得所述對象物體的表面上的各幾何特征與由所選模型表示的對應幾何特征之間的距離的單元;以及
用于基于針對所述對象物體的表面上的各幾何特征獲得的距離估計位置和姿態的單元。

9.  根據權利要求2所述的信息處理裝置,所述估計單元包括:
選擇單元,其用于針對所述對象物體的各區域,基于所述對象物體的形狀的公差,來選擇利用參數曲面近似區域的形狀的參數曲面模型以及利用多邊形近似區域的形狀的多邊形模型中的一個;
用于以所述概略位置和姿態放置針對所述對象物體的各區域的所選模型,并獲得所述對象物體的表面上的各幾何特征與由所選模型表示的對應幾何特征之間的距離的單元;以及
用于基于針對所述對象物體的表面上的各幾何特征獲得的距離來估計位置和姿態的單元。

10.  根據權利要求2所述的信息處理裝置,其中,所述估計單元包括:
選擇單元,其用于針對所述對象物體的表面上的各幾何特征,在針 對所述幾何特征的殘差不小于閾值的情況下,選擇利用多邊形近似所述對象物體的形狀的多邊形模型,而在所述殘差小于所述閾值的情況下,選擇利用參數曲面近似所述對象物體的形狀的參數曲面模型;
計算單元,其用于以所述概略位置和姿態放置針對所述幾何特征的所選模型,并獲得所述幾何特征與所放置的模型的對應幾何特征之間的距離;
修正單元,其用于基于針對所述對象物體的表面上的各幾何特征而獲得的距離來修正所述概略位置和姿態;以及
用于以修正過的概略位置和姿態放置針對所述對象物體的表面上的各幾何特征的所選模型,并獲得所述幾何特征與所選模型的對應幾何特征之間的距離作為針對所述幾何特征的殘差的單元。

11.  根據權利要求1所述的信息處理裝置,其中,所述保持單元保持與所述對象物體的各區域相關聯的第一模型的信息和第二模型的信息,其中所述第二模型比所述第一模型更精確,并且
所述關聯單元還包括:指定單元,其用于通過將所述圖像中的所述對象物體的幾何特征與以所述概略位置和姿態放置的所述第一模型的幾何特征相關聯來指定所述第一模型的幾何特征,并且
所述關聯單元將跟所述第一模型的所指定的幾何特征相關聯的第二模型的幾何特征與所述對象物體的幾何特征相關聯。

12.  根據權利要求11所述的信息處理裝置,其中,
所述第一模型是多邊形模型;并且
所述第二模型是分段參數曲面模型。

13.  根據權利要求11或12所述的信息處理裝置,其中,所述指定單元計算所述對象物體的幾何特征與所述第一模型的對應幾何特征之間的距離;并且
所述指定單元通過使用關于計算距離不小于閾值的幾何特征的計算距離的評價值,并且通過使用利用所述第二模型的關于計算距離小于閾值的幾何特征的關聯結果,來估計所述對象物體的位置和姿態。

14.  根據權利要求1所述的信息處理裝置,該信息處理裝置還包括:
用于獲取從預定位置的視點捕獲的對象物體的圖像的單元;以及
用于從所捕獲的圖像提取幾何特征的單元;
其中,所述估計單元基于所述概略位置和姿態將從所述多個模型中選擇的模型投影到的圖像上,其中所述多個模型以不同的精度表示所述對象物體的形狀;并且
所述估計單元基于所提取的幾何特征以及所投影的模型的對應幾何特征來估計所述對象物體的位置和姿態。

15.  根據權利要求1所述的信息處理裝置,該信息處理裝置還包括向用于控制機器人的控制單元發送指令的單元,其中所述指令使得所述機器人移動到所估計的位置和姿態。

16.  一種信息處理方法,該信息處理方法包括以下步驟:
獲取包括對象物體的圖像;
獲取所述對象物體的概略位置和姿態;
保持以不同精度表示所述對象物體的形狀的多個模型的信息;
將所獲取的圖像中的所述對象物體的幾何特征與由以所述概略位置和姿態放置的所述多個模型中的至少一個表示的幾何特征相關聯;以及
基于關聯結果估計所述對象物體的位置和姿態。

說明書

說明書信息處理裝置及信息處理方法
技術領域
本發明涉及信息處理裝置及信息處理方法,具體地涉及獲取具有三維形狀的對象物體的位置和姿態的技術。
背景技術
存在一種稱為模型視覺(Model-Based Vision)的可用技術,其獲得通過范圍拍攝等從對象物體的表面位置獲取的三維點與從對象物體的三維形狀模型提取的幾何特征之間的對應關系,并通過使用對應點之間的距離作為評價函數來估計對象物體的位置和姿態。該技術需要預先獲得對象物體的三維形狀模型來估計位置和姿態參數。獲得這種三維形狀模型的方法包括使用由CAD軟件獲得的設計數據的方法以及使用模擬(近似)對象物體的形狀的多邊形模型的方法。
表示物體形狀的CAD數據通過組合由參數所表現的多個部分形狀來表現形狀。各部分形狀由表面和限定表面的輪廓的曲線構成。各表面由諸如圓錐或圓環曲面的分析曲面、或諸如B-Spline曲面或NURBS曲面的自由曲面表現。由這些參數表現的表面具有如下優點:能夠以少量信息表現復雜的曲面形狀。因此,通過使用CAD數據具有的各表面的參數估計物體的位置和姿態,能夠高精度地計算模型上的幾何特征,從而使得能夠進行精確處理。這使得可以高精度進行處理。另一方面,當計算表面上的點或進行使用三維點的對應搜索時,該處理需要針對諸如NURBS曲面的自由曲面進行復雜的幾何計算。此外,當進行針對輪廓線的內部/外部確定時,需要進行復雜的計算,從而導致長的處理時間。
另一方面,多邊形模型通過多邊形表面的組合來表現物體形狀。多邊形模型能夠利用簡單幾何計算進行表面上的點的計算以及使用三維點的對應搜索,并具有計算負荷低的優點。與此相反,由于物體形狀近似多邊形,所以在物體形狀和模型之間存在誤差。存在利用非常小的多邊 形的集合近似表面來減少這種誤差的可用方法。然而,隨著容許誤差的減小,所需的多邊形的總數以指數方式增加。
作為應對各模型中問題的對策,存在通過組合由諸如CAD數據的參數表現的模型和多邊形模式來實現高速、精確處理的可用方法。
例如,日本特開第2009-020671號公報公開了如下方法:預先保持包括表現曲面形狀的參數和近似該形狀的多邊形模型的組合的模型,并且在針對基準表面上的格子的各頂點計算從基準表面到曲面形狀的距離值時使用該方法。該方法得出多邊形與從各格點延伸的垂直于基準表面的直線之間的交點的坐標,然后由曲面參數計算從交點到曲面形狀的距離,從而校正從頂點到曲面形狀的距離。
當計算基準表面上的各格點與曲面之間的距離時,上述方法首先經由多邊形高速計算概略距離,然后通過根據曲面參數計算到與多變形相關的曲面的精確距離來修正概略位置,從而滿足高速和高精度的要求。該方法獲得基準表面上的各格點和模型之間的對應關系。然而,該方法不進行使用任意三維空間中的點的對應搜索,因此無法直接應用于模型與從對象物體的范圍圖像獲得的三維點之間的定位。
發明內容
根據一個實施例,提供一種信息處理裝置,該信息處理裝置包括:圖像獲取單元,其用于獲取包括對象物體的圖像;用于獲取所述對象物體的概略位置和姿態的單元;保持單元,其用于保持以不同精度表示所述對象物體的形狀的多個模型的信息;關聯單元,其用于將所獲取的圖像中的所述對象物體的幾何特征與以所述概略位置和姿態放置的所述多個模型中的至少一個表示的幾何特征相關聯;以及估計單元,其用于基于關聯結果估計所述對象物體的位置和姿態。
根據本發明的另一方面,提供了一種信息處理方法,該信息處理方法包括:獲取包括對象物體的圖像;獲取所述對象物體的概略位置和姿態;保持以不同精度表示所述對象物體的形狀的多個模型的信息;將所 獲取的圖像中的所述對象物體的幾何特征與以所述概略位置和姿態放置的所述多個模型中的至少一個表示的幾何特征相關聯;以及基于關聯結果估計所述對象物體的位置和姿態。
通過以下參照附圖對示例性實施例的描述,本發明的其他特征將變得清楚。
附圖說明
圖1是示出信息處理裝置1的功能結構的示例的框圖;
圖2A和圖2B是用于說明多邊形模型和分段參數曲面模型(piecewise parametric curved surface model)的圖;
圖3是示出由信息處理裝置1進行的處理的流程圖;
圖4是示出由信息處理裝置1進行的處理的流程圖;
圖5是示出信息處理裝置2的功能結構的示例的框圖;
圖6是示出由信息處理裝置2進行的處理的流程圖;
圖7A和圖7B是示出模型坐標系中的三維點的圖;
圖8是示出由信息處理裝置2進行的處理的流程圖;
圖9是示出系統的結構的框圖;
圖10是示出系統的操作的流程圖。
具體實施方式
下面將參照附圖描述本發明的示例性實施例。請注意,下面描述的各個實施例是本發明具體執行的示例并且是在權利要求的范圍中描述的結構的具體實施例的示例。
根據一些實施例,可以精確地高速計算出對象物體和模擬對象物體的形狀的模型之間的對應點間的距離。
一些實施例被構造為從對象物體形狀的再現性方面不同的多條模型信息中選擇用于處理的模型信息。通過選擇適于處理的模型信息,能夠精確地高速計算出對象物體和模擬對象物體的形狀的模型之間的對應點 間的距離。更具體地,在第一實施例中,根據基于例如殘差(residual difference)或修正計數的定義條件來切換要使用的模型信息。在第一實施例及其變形例中,當通過迭代操作修正位置和姿態信息時,可以在各個重復中使用不同的模型信息。此外,在第一實施例及其變形例中,當計算對應點之間的距離時,可以針對對象物體的各點使用不同的模型信息。在第二實施例及其變形例中,可以選擇用于確定對象物體和模型表面之間的對應關系的模型信息以及用于計算對象物體和模型表面之間的距離的其他模型信息。如上所述,在下面的實施例中,當進行對象物體與模擬對象物體的形狀的模型之間的定位時,可以通過同時使用多條模型信息進行處理。
[第一實施例]
本實施例旨在通過使用應被獲得位置和姿態的對象物體的范圍圖像獲得的三維點(對象物體的表面上的點)以及近似對象物體的形狀的模型來獲得對象物體的位置和姿態的處理。此時,在本實施例中,針對各個三維點,對利用多邊形近似對象物體的形狀的多邊形模型以及利用參數曲面近似對象物體的形狀的分段參數曲面模型進行切換并使用。
與使用分段參數曲面模型相比,通過使用多邊形模型能夠以更高的速度來搜索與對象物體的表面上的各三維點相對應的對應點。然而,由于多邊形模型的形狀與對象物體的形狀具有近似誤差,所以無法精確地計算對象物體與多邊形模型之間的對應點間的距離。
使用分段參數曲面模型能夠精確地計算上述距離。然而,由于需要確定表示各參數曲面上的物體形狀的有效區域,所以進行計算需要很長時間。
在本實施例中,如果當前使用的模型與三維點之間的差分較大,則選擇多邊形模型擇作為接下來使用的模型以高速進行位置和姿態計算。如果當前使用的模型與三維點之間的差分較小,則選擇分段參數曲面模型作為接下使用的模型以高精度進行位置和姿態計算。
請注意,本實施例被構造為通過重復位置和姿態修正來執行定位, 從而使物體表面的三維點與模型表面之間的對應點間的距離最小化。在本實施例中,針對三維點定位的殘差被用作表示位置和姿態的適合度的指標。在這種情況下的殘差是在修正過的位置和姿態中的三維點與三維形狀模型表面上的點之間的距離。如果殘差大,則確定估計的位置和姿態的偏移量較大。如果殘差小,則確定偏移量較小。這使得通過根據針對各三維點的殘差,在針對各三維點的多邊形模型與分段參數模型之間切換,能夠在滿足高處理速度和高精度的要求的同時計算位置和姿態。
首先將參照圖1的框圖描述根據本實施例的信息處理裝置1的功能結構的示例。模型保持單元11保持多邊形模型的模型信息以及分段參數曲面模型的模型信息,所述多邊形模型作為通過使用多邊形來近似作為位置和姿態測量對象的對象物體的形狀的模型,所述分段參數曲面模型作為通過使用參數曲面來近似對象物體的形狀的模型。下面將參照圖2A和圖2B描述多邊形模型和分段參數曲面模型。圖2A和圖2B分別示出了對應于同一對象物體的分段參數曲面模型(圖2A)以及多邊形模型(圖2B)。
如圖2A所示,分段參數曲面模型是通過組合由邊界線界定的多個參數表現表面(分段參數曲面)來精確地表現對象物體的模型。本實施例將被稱為修整曲面的表面作為分段參數曲面處理。修整曲面是由表現代表基本形狀的基本曲面以及定義基本曲面上的有效區域的輪廓曲線的參數定義的表面。該表現方法被構造為通過使用平面內的區域中移動的兩個參數u和v,根據三個連續函數x=f(u,v)、y=g(u,v)和z=h(u,v)來表現三維空間中的點P的坐標(x,y,z)。通過使用相對于由該表現表達的基本曲面的uv平面上的曲線來定義的有效區域表現對象物體的部分形狀。參照圖2A,陰影部分示出了修整曲面的示例。請注意,修整曲面的基本曲面有時由諸如球體、圓錐體或圓環曲面的分析曲面表現,或由諸如B-Spline曲面、NURBS曲面或Bezier曲面的自由曲面表現。一般的CAD數據由上述分段參數曲面模型構成。因此,如果能夠從諸如IGES或STEP的標準化格式的數據獲得對象物體的CAD數據,則可以直接使 用數據作為分段參數曲面模型。然而,請注意,可以使用CAD數據以外的其他數據作為分段參數曲面模型。例如,本實施例可以使用通過分段隱函數曲面的組合來表現對象物體的模型。此外,本實施例可以使用任何類型的基本曲面,只要該基本曲面能夠通過使用參數的數值計算精確地表現對象物體的形狀,并計算位于距離具有三維坐標值的點(三維點)最短距離的表面上的點以及它們之間的距離。
接下來將描述多邊形模型。如圖2B所示,多邊形模型是通過三角多邊形的集合來近似表現對象物體的形狀的模型。能夠通過從CAD數據離散采樣曲面上的點并連結采樣點來獲取多邊形模型。通過各多邊形的頂點的三維坐標值以及構成各多邊形的頂點的連結信息來表示多邊形模型。請注意,取代三角形,多邊形可以是四邊形或五邊形。本實施例可以使用能夠由表面的頂點的坐標以及構成表面的頂點的連結信息表現的任何其他類型的多邊形。
表面位置獲取單元12獲取對象物體的表面上的各點(三維點)的位置(具有三維坐標值)。本實施例被構造為根據通過使用距離傳感器拍攝對象物體而獲得的范圍圖像的各像素的坐標位置以及像素的像素值(景深值),獲得與各像素相對應的三維點的位置。可以使用有源型傳感器作為距離傳感器,該有源型傳感器被設計為通過拍攝施加于對象物體的激光或狹縫光/隨機點圖案光的反射光,來通過三角測量測量距離。作為有源型距離測量方法,可以使用空間編碼方法。要使用的距離傳感器不限于此,可以使用基于使用光的飛行時間的Time-of-flight(飛行時間)方案的傳感器。可選地,可以使用無源型傳感器,無源型傳感器通過三角測量由立體照相機拍攝的圖像計算各像素的景深值。然而,獲取對象物體的表面上的三維點的位置的方法并不限于上述方法,并且可以使用各種方法。例如,本實施例可以通過使用接觸型三維測量裝置獲取對象物體的表面上的三維點,所述接觸型三維測量裝置通過將探針與表面接觸來獲取三維點的位置。
位置和姿態輸入單元13向距離計算單元15及位置和姿態計算單元 16提供表示對象物體的概略位置和姿態的位置和姿態信息。位置和姿態計算單元16通過稍后描述的處理修正位置和姿態信息。在獲取到修正過的位置和姿態信息時,位置和姿態輸入單元13再次向距離計算單元15及位置和姿態計算單元16提供所獲取的位置和姿態信息。請注意,向距離計算單元15及位置和姿態計算單元16提供的位置和姿態信息不限于由位置和姿態計算單元16修正的位置和姿態信息。例如,該信息可以是通過基于過去的位置和姿態計算結果估計位置和姿態的改變量并通過由過去的位置和姿態以及所估計的改變量來預測當前的位置和姿態而獲得的信息。如果預先已知放置對象物體的概略位置和姿態,則相應的值可以用作概略位置和姿態。此外,磁或光位置和姿態傳感器可以被附裝到測量對象物體以測量物體的位置和姿態。可選地,具有預定形狀的標記可以被附加到對象。照相機捕獲標記的圖像以計算物體的位置和姿態。
假定對象物體的位置和姿態以及三維點的位置在以上述距離傳感器的位置作為原點、范圍圖像的水平姿態和垂直姿態分別作為x軸和y軸、距離傳感器的光軸作為z軸的坐標系(基準坐標系)中,除非另有規定。此外,利用被賦予模型的一個點作為原點并且在原點處相互垂直的三個軸分別作為x、y和z軸的坐標系(模型坐標系)來提供模型。
模型選擇單元14針對對象物體的表面上的各三維點,從模型保持單元11中選擇根據由匹配度計算單元17針對各三維點獲得的匹配度決定的多邊形模型信息和分段參數曲面模型信息中的一個作為的來自所選模型信息。
距離計算單元15獲得對象物體的表面上的各三維點(幾何特征)與、在由針對三維點選擇的所選模型信息表示的模型被以由位置和姿態信息所表示的位置和姿態放置時模型上的與三維點相對應的對應點(幾何特征)之間的距離。當使用多邊形模型時,距離計算單元15通過搜索三維點與多邊形之間的對應關系來獲得三維點與多邊形上的一個點之間的距離。當使用分段參數曲面模型時,距離計算單元15搜索點與曲面之間的對應關系以獲得對應曲面和三維點之間的距離。
位置和姿態計算單元16修正當前的位置和姿態信息,以優化基于由距離計算單元15針對各三維點獲得的距離的評價值。
匹配度計算部17獲得針對對象物體的表面上的各三維點的殘差。針對各三維點的殘差是三維點與、當基于針對三維點選擇的所選模型信息的模型被以由位置和姿態計算單元16修正的位置和姿態放置時該模型上的與三維點對應的對應點之間的距離。
接下來,參照示出由信息處理裝置1進行的處理的圖3的流程圖來描述通過上述的迭代操作重復修正位置和姿態信息來獲得對象物體的位置和姿態的處理。
<步驟S302中的處理>
表面位置獲取單元12以上述方式從范圍圖像獲取作為位置和姿態測量對象的對象物體的表面上的各點(三維點)的位置(包括三維坐標值)。在以下描述中,假定表面位置獲取單元12獲取了基準坐標系中N(N是等于或大于2的整數)個三維點kc_i(i=1,2,...,N)的位置。還假定已知范圍圖像中的像素和與該像素相對應的三維點之間的對應關系。
<步驟S303中的處理>
如下所述,本實施例被構造為通過提供表示對象物體的概略位置和姿態的位置和姿態信息并重復修正該信息來獲得對象物體的位置和姿態。在步驟S303中,位置和姿態輸入單元13獲取表示對象物體在基準坐標系中的概略位置和姿態的位置和姿態信息作為該重復處理的初始值。
<步驟S304中的處理>
匹配度計算單元17初始化作為針對對象物體的表面上的各三維點的匹配度的殘差er_i(i=1,2,...,N)。匹配度計算單元17設置足夠大的值(例如,1000)作為各殘差的初始值。
<步驟S305中的處理>
模型選擇單元14選擇未被選擇的N個三維點中的一個。
<步驟S306中的處理>
模型選擇單元14將閾值θ與在步驟S305中選擇的針對三維點kc_i的殘差er_i進行比較。預先設置的閾值θ是多邊形模型與分段參數曲面模型之間的形狀誤差值。例如,當使用CAD數據作為分段參數曲面模型并通過對CAD數據進行鑲嵌處理(tessellation processing)而生成多邊形模型時,該裝置將所生成的多邊形與曲面之間的距離的容許值設置為多邊形近似誤差。該多邊形近似誤差可用作閾值θ。
如果以上比較結果表示er_i≥θ,則在該時間點的位置和姿態信息仍然可能包括大的誤差。因此,在這種情況下,模型選擇單元14針對三維點kc_i從模型保持單元11中選擇允許快速幾何計算的多邊形模型作為用于獲得對應點之間的距離的模型。
另一方面,如果er_i<θ,則針對該時間點的位置和姿態信息中的三維點的殘差被視為近似于(小于)模型近似誤差。因此,在這種情況下,模型選擇單元14針對三維點kc_i從模型保持單元11中選擇精確地表現形狀的分段參數曲面模型作為用于獲得對應點之間的距離的模型。
<步驟S307中的處理>
距離計算單元15將針對三維點kc_i選擇的模型以由當前位置和姿態信息表示的位置和姿態放置,并獲得三維kc_i與所放置的模型上的對應于三維點的對應點pm_i之間的距離(對應點之間的距離)。距離計算單元15根據針對三維點kc_i選擇的模型是多邊形模型還是分段參數曲面模型,來使用獲得對應點之間的距離的不同方法。下面將描述當選擇多邊形模型以及當選擇分段參數曲面模型時計算對應點之間的距離的方法。
<<當選擇多邊形模型時>>
首先,裝置從多邊形模型中搜索對應于三維點kc_i的多邊形。在這種情況下,裝置通過將多邊形模型投影在范圍圖像上高速進行對應搜索,如在下面的文獻(Oishi,Nakazawa,and Ikeuchi,"Fast Simultaneous Alignment of Multiple Range Images Using Index Images",vol.J89-D,no.3,pp.513-521,2006)中公開的方法。
首先,裝置將多邊形模型以由當前位置和姿態信息指示的位置和姿 態來放置,并且基于已經校準的距離傳感器的內部參數(透視投影參數)在圖像緩沖器(信息處理裝置1中的存儲器)中描繪與范圍圖像具有相同大小的多邊形模型。此時,裝置在對各多邊形分配唯一顏色的同時進行描繪。這使得可以使用顏色識別在范圍圖像上的各像素(同一位置)處投影的多邊形。請注意,裝置可以在GPU(圖形處理單元)上高速進行多邊形的描繪處理并讀出圖像作為描述結果。然后裝置將與范圍圖像上的像素相對應的三維點kc_i與投影在像素上的多邊形相關聯。
然后裝置將三維點kc_i的位置轉換為多邊形模型在模型坐標系中的位置km_i,并搜索從位置km_i延伸到與三維點kc_i相關聯的多邊形的垂線的底部的位置作為對應點pm_i的位置。裝置獲得位置km_i和對應點pm_i的位置之間的距離作為距離d_i。
請注意,將三維點kc_i與多邊形上的點相關聯的方法并不限于該方法。例如,裝置可以使用稱為正常拍攝的方法,該方法從三維點搜索與法線方向相交的多邊形。在該方法中,裝置由連結范圍圖像的相鄰像素的三維點而獲得的網格計算在各三維點處的法線。裝置在基于概略位置和姿態將多邊形模型的坐標系與各三維點的坐標系匹配時,搜索與從各三維點起沿法線方向的直線首先相交的多邊形,并且將相交多邊形與對應的三維點相關聯。可選地,裝置可以預先均勻地采樣多邊形上的點,基于概略位置和姿態將多邊形模型的坐標系與三維點的坐標系匹配,并且使用將三維點與距離三維點最近的點所屬的多邊形相關聯的最近鄰搜索法。請注意,可以通過預先構建用于對包括各三維點和各多邊形的界限盒(bounding box)進行分類的kd樹(kd-tree)并且使用kd-tree進行搜索,來加速正常拍攝的處理或基于最近鄰搜索的關聯。可選地,裝置可以預先均勻地采樣多邊形模型的多邊形上的點,基于概略位置和姿態將這些點投影在范圍圖像上,并且將與投影像素鏈接的三維點與作為采樣源的多邊形相關聯。裝置可以使用能夠唯一地將三維點與多邊形模型的多邊形相關聯的任何方法,包括能夠高速進行處理的關聯方法。
<<當選擇分段參數曲面模型時>>
裝置從分段曲面模型中搜索與三維點kc_i相對應的修整曲面,并且計算從三維點kc_i到曲面的距離。設M是構成分段參數曲面模型的修整曲面的總數。首先,裝置針對M個修整表面中的各個,通過使用各修整曲面的參數計算被轉換到模型坐標系中的位置km_i、到各曲面的最短距離、以及位于最短距離的各曲面上的點。此時,裝置計算各點,使得計算出的點存在于物體形狀的有效區域。請注意,當進行這些計算時,裝置可以使用根據曲面參數計算與三維點kc_i相對應的曲面上的對應點以及對應點之間的距離的一般方法。在這種情況下,設dt_j是第j個修整曲面與三維點kc_i之間的最短距離,pt_j是位于該距離的點。然后裝置從M個修整曲面中選擇具有最小值dt_j的修整曲面。裝置獲得所選擇的修整曲面與三維點kc_i之間的距離d_i,以及位于該距離的點的位置作為對應點pm_i。
<步驟S308中的處理>
在步驟S308中,模型選擇單元14確定是否已經選擇了所有N個三維點。如果模型選擇單元14確定選擇了所有N個三維點,則處理進行到步驟S309。如果存在尚未被選擇的任何三維點,則處理返回到步驟S305。
<步驟S309中的處理>
位置和姿態計算單元16針對從范圍圖像獲得的三維點修正位置和姿態信息,使得針對各三維點選擇的模型適合于三維空間。本實施例通過使用非線性優化方法的迭代操作修正位置和姿態信息來獲得表示對象物體的位置和姿態的位置和姿態信息。
在步驟S309中,位置和姿態計算單元16針對從范圍圖像獲得的三維點計算對象物體的位置和姿態,使得三維形狀模型適合于三維空間。
設P為三維幾何模型上的表面點。
P={pm_1,pm_2,...,pm_N}...(1)
設K是一組范圍圖像點。
K={km_1,km_2,...,km_N}...(2)
位置和姿態計算單元16將三維幾何模型上的表面點P轉換為范圍點 K。設bi∈K是距離點P中的各點pi最近的點K中的點,可以根據公式(3)定義誤差函數。設R和t分別是姿態參數和移動向量。
E(R,t)=Σi=1Np||bi-(Rpi+t)||2...(3)]]>
位置和姿態計算單元16獲得減小誤差函數E的R和t,并根據數學表達式(4)進行修正:
P←RP+t...(4)
在下面的文獻中公開了獲得減小誤差函數E的R和t的方法:
K.S.Arun,T.S.Huang,and S.D.Blostein,"Least-Squares Fitting of Two3-D Point Sets",PAMI,vol.9,no.5,1987。
在該步驟中,位置和姿態計算單元16可以通過取代ICP方法而使用諸如Gauss-Newton方法的非線性優化方法來計算對象物體的位置和姿態。在這種情況下,位置和姿態計算單元16基于在步驟S307中計算出的各三維點kc_i的對應點間的距離d_i以及對應點pm_i來優化位置和姿態。更具體地,位置和姿態計算單元16通過使用pm_i作為位置和姿態的小改變的函數的線性近似來表現步驟S307中計算出的距離d_i,并且基于各測量數據建立線性方程從而將距離減少到0。
位置和姿態計算單元16通過將這些線性方程作為聯立方程來求解,獲得對象物體的位置和姿態中的小改變,從而修正位置和姿態。請注意,非線性優化方法不限于Gauss-Newton方法。例如,位置和姿態計算單元16可以使用基于穩健計算的Levenberg-Marquardt方法或作為更簡單的方法的最陡下降方法(steepest descent method)。可選地,位置和姿態計算單元16可以使用諸如共軛梯度方法和ICCG方法的其他非線性優化方法。
在這種情況下,位置和姿態計算單元16修正位置和姿態從而最小化作為評價函數的距離值。然而,要使用的優化方法不限于此。例如,位置和姿態計算單元16可以使用“Tateno,Kotake,and Uchiyama,"A Model  Fitting Method Using Intensity and Range Images for Bin-Picking Applications",vol.J94-D,no.8,pp.1410-1422,2011.”中公開的方法。即,位置和姿態計算單元16可以利用這種方法將基于距離而計算的可能度作為評價值最大化來修正位置和姿態。此外,位置和姿態計算單元16可以使用修正位置和姿態以優化評價值的任何非線性優化方法。
以上描述關注獲得位置和姿態信息修正量的作為已知參數并且通過基于所獲得的修正量重復修正概略位置和姿態來計算最終位置和姿態的迭代求解技術。然而,位置和姿態計算單元16可以通過使用針對距離傳感器表現對象物體的位置和姿態的六個自由度作為未知參數,由基于概略位置和姿態搜索到的對應結果直接計算未知參數。該方法通過使用最小二乘法,由基于概略位置和姿態的許多對應關系直接計算最終的位置和姿態。
<步驟S310中的處理>
匹配度計算單元17獲得針對各三維點kc_i的殘差er_i。匹配度計算單元17將由針對三維點kc_i選擇的模型信息表示的模型以由步驟309中修正的位置和姿態信息表示的位置和姿態放置,并獲得三維點kc_i與所放置的模型上的、對應于三維點kc_i的對應點之間的距離。所獲得的距離是針對三維點kc_i的殘差er_i。
即,匹配度計算單元17將針對三維點kc_i選擇的模型放置在由修正的位置和姿態信息表示的位置和姿態處,并獲得被轉換為模型在模型坐標系中的位置的、三維點kc_i的位置km_i'與在步驟S307中獲得的對應點pm_i之間的距離作為殘差er_i。
<步驟S311中的處理>
位置和姿態計算單元16確定上述迭代運算是否已經收斂。在確定運算收斂時,位置和姿態計算單元16終止該迭代運算,并輸出此時獲得的位置和姿態信息作為表示對象物體的位置和姿態的位置和姿態信息。輸出目的地并不限于特定的輸出目的地。位置和姿態計算單元16可以將該信息輸出到信息處理裝置1的內部/外部的適當存儲器或適當的外部裝 置。如果位置和姿態計算單元16確定運算不收斂,則處理返回到步驟S305。
當進行收斂確定時,如果針對所有三維點的殘差的和或位置和姿態的修正量變為等于或小于預定值,則位置和姿態計算單元16可以確定運算收斂。可選地,如果位置和姿態計算單元16已經執行了位置和姿態的修整處理預定次數以上,則位置和姿態計算單元16可以確定運算收斂。請注意,要使用的收斂確定方法并不限于任何特定的方法,也可以使用任何方法。
如上所述,根據本實施例,可以通過針對大殘差使用多邊形模型以及針對小殘差使用分段曲面模型,根據適合度在高速模式和高精度模式之間有效進行切換來進行位置和姿態計算。
<第一實施例的第一變形例>
第一實施例被構造為針對各三維點選擇模型。與此相反,第一變形例被構造為基于針對各三維點的殘差的總和與閾值之間的比較來選擇模型。即,第一變形例被構造為針對一個對象物體選擇多邊形模型或分段參數曲面模型。
該變形例也使用具有圖1所示的結構的信息處理裝置1,但是其在以下方面與第一實施例不同。下面將主要描述與第一實施例的差異。假定該變形例與第一實施例是相同,除非另有規定。
將參照示出由根據本變形例的信息處理裝置1進行的用于獲得對象物體的位置和姿態的處理的圖4的流程圖來描述該處理。請注意,由于圖4中步驟S402、S403、S407以及S409中的處理與圖3中的步驟S302、S303、S309以及S311相同,因此省略這些步驟的描述。下面將描述步驟S404至S406和S408中的處理。
<步驟S404中的處理>
匹配度計算單元17初始化針對對象物體的匹配度Err。匹配度計算單元17設置遠大于所估計的位置和姿態殘差的值(例如,1000)作為初始匹配度值。在本變形例中,假定針對對象物體的匹配度是針對對象物 體的表面上的各三維點的殘差的總和。
<步驟S405中的處理>
模型選擇單元14將匹配度Err與閾值ψ進行比較。基于多邊形模型與分段參數曲面模型之間的形狀誤差的值能夠用作閾值ψ。例如,當通過針對CAD數據進行鑲嵌處理生成的多邊形模型被用作分段參數曲面模型時,設置通過使用第一實施例中使用的值θ而獲得的值ψ=N×θ。
如果該比較結果表示Err≥ψ,則預測三維點與所選擇的模型之間仍然存在大誤差。因此,在這種情況下,模型選擇單元14從模型保持單元11中選擇能夠進行快速幾何計算的多邊形模型作為要由距離計算單元15使用的模型。
如果Err<ψ,則估計三維點與所選擇的模型之間的差分幾乎等于模型近似誤差。因此,在這種情況下,模型選擇單元14從模型保持單元11中選擇表現精確形狀的分段參數曲面模型作為要由距離計算單元15使用的模型。
<步驟S406中的處理>
距離計算單元15以由當前位置和姿態信息表示的位置和姿態放置在步驟S405中選擇的模型,并針對三維點獲得三維點與所放置的模型上的對應于三維點的對應點之間的距離(對應點之間的距離)d_i。用于獲得對應點之間的距離的處理與第一實施例中描述的相同。
<步驟S408中的處理>
匹配度計算單元17如第一實施例所述獲得針對各三維點kc_i的殘差er_i,并獲得殘差的總和作為匹配度Err。
<第一實施例的第二變形例>
第一實施例的第一變形例使用殘差的總和作為匹配度。可以使用能夠應用的各種其他類型的指標作為匹配度。該變形例舉例說明位置和姿態信息的修正次數被用作匹配度的情況(情況1)以及位置和姿態信息的改變量(修正量)被用作匹配度的情況(情況2)。
該變形例也使用具有圖1所示的結構的信息處理裝置1,但是其在以 下方面與第一實施例不同。下面將主要描述與第一實施例的差異。假定該變形例與第一實施例是相同,除非另有規定。由根據本變形例的信息處理裝置1進行的用于獲得對象物體的位置和姿態的處理在以下方面修正圖4的流程圖中的處理。
首先將描述情況1。在步驟S404中,匹配度計算單元17將表示位置和姿態信息的修正次數(修正計算處理的執行次數)的變量k初始化為0。在步驟S405中,如果變量k的值小于閾值,則模型選擇單元14選擇多邊形模型。如果變量k的值等于或大于閾值,則模型選擇單元14選擇分段參數曲面模型。匹配度計算單元17可以預先將能夠預測使用多邊形模型的位置和姿態信息的修正收斂的值(計數)設置為此時使用的閾值。在步驟S408中,匹配度計算單元17將變量k的值遞增1。
接下來將描述情況2。在步驟S404中,匹配度計算單元17將表示由修正前的位置和姿態信息表示的位置與由修正后的位置和姿態表示的位置之間的距離的變量ΔT初始化為足夠大的值(例如,1000)。在步驟S405中,如果變量ΔT的值等于或大于閾值,則模型選擇單元14選擇多邊形模型,或者如果變量k的值小于閾值,則選擇分段參數曲面模型。在步驟S408中,匹配度計算單元17獲得由修正前的位置和姿態信息表示的位置與由修正后的位置和姿態信息表示的位置之間的距離,并將該距離設置為ΔT。
如上所述,各種其他指標可以用作匹配度。例如,裝置可以使用由修正前的位置和姿態信息表示的姿態與由修正后的位置和姿態信息表示的姿態之間的差分作為ΔT。例如,裝置可以基于設置在模型表面上的點在位置和姿態的修正前后移動的距離的和或平均值來估計三維點和三維模型之間的差分。
即,第一實施例的第一變形例和第二變形例根據閾值與在修正的重復處理中計算的指標值之間的大小關系來選擇模型。可以基于該結構來考慮其他變形例。
<第一實施例的第三變形例>
第一實施例中舉例說明了基于計算的位置和姿態中的、各三維點的殘差來在多邊形模型和分段參數曲面模型之間切換時進行位置和姿態計算的方法。然而,可以使用當選擇模型時用于確定的其他方法。例如,下面描述了基于在對象物體的表面上的各區域的位置和姿態估計的所需精度在模型之間進行切換的方法,以及使用表示與對象物體的設計形狀的形狀誤差的公差信息的方法。在這種情況下,“區域”可以是一個整體的對象物體或一個對象物體的各部分。
首先描述前者方法。根據該方法,裝置在針對對象物體的形狀模型的各區域,設置計算的位置和姿態中、三維點與模型表面之間的差分的容許值,并基于該信息選擇要使用的模型。該方法被構造為在三維點適合模型表面的區域使用能夠以高精度進行精確對應搜索的分段參數曲面模型,并針對其他區域使用多邊形模型。
更具體地,首先,裝置計算各多邊形模型的各多邊形的形狀與預先表現對應形狀的分段參數曲面模型的修整曲面的形狀之間的近似差分。在這種情況下,該近似誤差被稱為多邊形近似誤差。裝置設置三維點與針對多邊形模型的各多邊形計算出的位置和姿態的模型表面之間的誤差的容許值。然后裝置將針對各多邊形設置的多邊形近似誤差與誤差的容許值進行比較,從而選擇用于位置和姿態計算的模型。
更具體地,如果構成給定區域的多邊形當中的、數量等于或大于限定數量的多邊形的多邊形近似誤差大于容許值,則由于其表示多邊形近似誤差大于針對該區域的多邊形的誤差的容許值,所以裝置選擇分段參數曲面模型。請注意,可以應用除“如果構成給定區域的多邊形當中的、數量等于或大于限定數量的多邊形的多邊形近似誤差大于容許值”以外的各種條件。例如,取代上述條件可以使用條件“如果構成給定區域的多邊形的多邊形近似誤差的平均值大于該區域的容許值”。
與此相反,如果不滿足條件“如果構成給定區域的多邊形當中的、數量等于或大于限定數量的多邊形的多邊形近似誤差大于容許值”,則由于多邊形近似誤差小于該誤差的容許值,所以裝置選擇多邊形模型。請 注意,可以應用除該條件以外的其他各種條件。例如,取代上述條件,可以使用“如果構成給定區域的多邊形的多邊形近似誤差的平均值小于該區域的容許值”。
請注意,取代設置連續值作為誤差的容許值,該裝置可以設置表示是否以高精度使三維點適合于模型表面的二進制值作為屬性,并根據該信息選擇模型。此外,用戶可以針對各模型選擇屬性。
接下來將描述使用表示與對象物體的設計形狀的形狀誤差的公差信息的方法。假設在該方法中,CAD數據設置有表示與各區域的對象物體的形狀的形狀誤差的公差信息。裝置基于該信息選擇要使用的模型。請注意,可以通過實際測量物體的三維形狀并將所測量的形狀與CAD數據進行比較來獲得公差信息。根據該方法,如果模型表面上的給定區域的公差大于多邊形近似誤差,則裝置確定無法期待計算出對應點之間的精確距離,并使用多邊形模型。與此相反,如果公差小,則裝置確定能夠期待計算出對應點之間的精確距離,并使用分段參數曲面模型。更具體地,首先,裝置計算各多邊形模型的各多邊形的形狀與表現對應形狀的分段參數曲面模型的修整曲面的形狀之間的近似誤差。此外,裝置針對多邊形模型的各多邊形或構成分段參數曲面模型的各修整曲面,將對應形狀的公差預先存儲在CAD數據上。然后裝置將公差與針對各多邊形設置的多邊形近似誤差進行比較,從而選擇用于位置和姿態計算的模型。
更具體地,如果構成給定區域的多邊形當中的、數量等于或大于限定數量的多邊形的多邊形近似誤差大于該區域的公差,則裝置針對該區域選擇分段參數曲面模型。請注意,可以應用除條件“如果構成給定區域的多邊形當中的、數量等于或大于限定數量的多邊形的多邊形近似誤差大于該區域的公差”以外的各種條件。例如,取代上述條件,可以使用條件“如果構成給定區域的多邊形的多邊形近似誤差大于該區域的公差”。
與此相反,如果不滿足條件“如果構成給定區域的多邊形當中的、數量等于或大于限定數量的多邊形的多邊形近似誤差大于該區域的公 差”,則由于與多邊形近似誤差相比,物體表面的誤差較大,所以裝置選擇多邊形模型。請注意,可以應用除該條件以外的各種條件。例如,取代上述條件,可以使用條件“如果構成給定區域的多邊形的多邊形近似誤差小于該區域的公差”。
請注意,可以將以上方法與第一實施例的第一變形例組合。即,可以通過將所設置的誤差的容許值或公差與多邊形近似誤差進行比較來選擇要用于整個物體的模型。
[第一實施例的第四變形例]
雖然第一實施例的第一和第二變形例使用多邊形模型和分段參數曲面模型作為三維形狀模型,但是要使用的模型的類型不限于這些。可以使用在形狀再現精度方面不同的任何兩種類型的模型。例如,可以使用物體表面被更精細地分割的多邊形模型與物體表面被更粗略地分割的多邊形模型的組合,或曲面的次數不同的多個分段參數曲面模型的組合。此外,所有的實施例及其變形例可以不但應用于在形狀再現性精度方面兩階段不同的兩種類型的模型,而且還應用于在形狀再現性精度方面三階段或更多不同的模型的組合。
[第一實施例的第五變形例]
在第一實施例的第一至第四變形例中,當定位從范圍圖像和模型獲得的三維點時,裝置在根據所定義的條件切換模型時,計算三維點與模型之間的距離(對應點之間的距離)。然后裝置基于這些距離進行定位。與此相反,存在基于通過拍攝對象物體而獲得的拍攝圖像的幾何特征(下文中簡稱為特征)與模型的幾何特征(下文中簡稱為特征)之間的對應關系進行定位的可用方法。在例如“T.Drummond and R.Cipolla,"Real-time visual tracking of complex structures",IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.24,no.7,pp.932-946,2002”中公開了這種方法。在這種定位方法中,當計算在拍攝圖像上檢測到的特征與模型的特征之間的對應點間的距離時,裝置可以使用第一實施例及其第一至第四變形例中描述的方法。
更具體地,首先,裝置獲取通過從預定位置的視點拍攝對象物體而獲得的捕獲圖像,并提取捕獲圖像上的特征。該捕獲圖像可以是例如灰度圖像。特征可以是例如邊緣(edge)。可以根據諸如濾波處理的傳統技術從捕獲圖像提取邊緣。
然后裝置檢測模型的特征的位置。更具體地,假定裝置已經獲取了表示拍攝圖像上的視點與對象物體之間的概略位置和姿態關系的概略位置和姿態,并且根據所獲取的位置和姿態放置視點和模型。在這種情況下,裝置計算當從所放置的視點看到所布置的模型時的、包括模型的圖像的投影圖像。然后裝置計算模型的特征在投影圖像中的位置。模型的特征可以是例如模型的輪廓線。更具體地,多邊形模型的特征可以是多邊形的邊緣或模型在投影圖像中的外輪廓。以上說明了從包括模型的圖像的投影圖像提取特征的方法。另一方面,裝置可以預先從模型提取輪廓線或邊緣的坐標值,并且基于概略位置和姿態將坐標值投影在圖像上,從而計算投影圖像中模型特征的位置。分段參數曲面模型的特征可以是構成分段參數曲面模型的修整曲面的輪廓線或模型在投影圖像中的外輪廓。
根據第一實施例及其第一至第四變形例中的各個描述的方法選擇在這種情況下使用的模型。例如,如果根據位置和姿態的適合度確定對象物體和模型之間的位置誤差大,則可以通過使用多邊形模型高速進行位置和姿態計算。如果對象物體和模型之間的位置誤差小,則可以通過使用分段參數曲面模型精確地進行位置和姿態計算。
然后裝置確定與拍攝圖像上的特征相對應的模型的特征,并且檢測對應特征之間的距離。例如,在模型的特征當中,投影圖像中與拍攝圖像上的特征的位置最近的特征可以被確定為與拍攝圖像上的特征相對應的模型的特征。以這種方式,裝置將拍攝圖像上的特征與所選擇的模型的特征相關聯,并且決定與拍攝圖像上的幾何特征相對應的、所選擇的模型的幾何特征,從而計算對應點之間的距離。以這種方式,裝置能夠通過使用針對拍攝圖像上的各特征檢測到的對應點之間的距離進行定 位。雖然在該情況下表示邊緣的位置的坐標值被用作用于定位的特征,但是可以通過使用表示邊緣的位置的坐標以及表示邊緣的姿態的向量來進行定位。
[第二實施例]
根據第一實施例中描述的位置和姿態計算方法,當選擇分段參數曲面模型時,在使用三維點和對應的分段參數曲面的搜索中計算針對多個修整曲面的對應點之間的距離。此外,當計算針對各修整曲面的對應點之間的距離時,確定所計算出的點是否存在于表示物體形狀的有效區域。為此,當選擇分段參數曲面模型時,需要花費較多的時間進行對應點之間的距離的計算處理。
因此,本實施例將舉例說明通過預先將多邊形模型的各多邊形與分段參數曲面相關聯來加速對應點之間的距離的計算處理的方法。更具體地,首先,裝置經由多邊形模型指定與三維點相對應的模型表面(分段參數曲面模型上的表面)。可以通過使用與第一實施例中描述的方法相同的方法,來高速搜索多邊形與三維點之間的對應關系。之后,在計算從三維點到模型表面之間的距離時,裝置通過使用與多邊形相關聯的分段參數曲面的曲面參數來計算精確的值。即使當選擇分段參數曲面模型時,這些類型的處理也能夠計算三維點與模型表面之間的對應點間的距離。
將參照圖5的框圖描述根據本實施例的信息處理裝置2的功能結構的示例。在圖5中,與圖1相同的附圖標記表示相同的功能單元,并且將省略其描述。
模型保持單元51保持(管理)利用多個多邊形近似對象物體的形狀的多邊形模型以及利用參數曲面近似對象物體的形狀的分段參數曲面模型。除此之外,在本實施例中,多邊形模型的各多邊形設置有與多邊形相對應的分段參數曲面模型的修整曲面的ID。如果例如模型保持單元51保持分別由圖2A和圖2B所示的多邊形模型和分段參數曲面模型,則圖2B中的陰影部分的多邊形設置有圖2A中的陰影部分的修整曲面的ID。
搜索單元54從模型保持單元51中保持的多邊形模型中搜索與由表 面位置獲取單元12獲取的各三維點相對應的多邊形。距離計算單元55計算由表面位置獲取單元12獲取的各三維點與模型表面之間的對應點間的距離。更具體地,距離計算單元55針對各三維點參照具有設置給與三維點相對應的多邊形的ID的修整曲面,并通過使用曲面參數來計算三維點與模型之間的對應點間的距離。
接下來,將參照示出了由根據該實施例的信息處理裝置2執行的用于獲得對象物體的位置和姿態的處理的圖6來描述該處理。由于圖6中的步驟S602至S604以及S607至S609中的處理與圖3中的步驟S302、S303、S305、S308、S309以及S311相同,所以將省略這些步驟的描述。
為了簡單起見,基于選擇分段參數曲面模型的假設進行下面的描述。本實施例應用于在第一實施例中選擇分段參數曲面模型的情況(特別是步驟S605和步驟S606)。
<步驟S605中的處理>
搜索單元54從模型保持單元51中保持的多邊形模型中搜索與在步驟S604中選擇的三維點相對應的多邊形。在該步驟中,搜索單元54通過與在步驟S307中選擇多邊形模型時進行的處理相同的處理來進行高速搜索。
<步驟S606中的處理>
距離計算單元55指定與在步驟S604中選擇的三維點相對應的模型表面上的對應點,并計算三維點與對應點之間的距離(對應點之間的距離)。
更具體地,距離計算單元55通過將在基準坐標系中定義的三維點kc_i的位置轉換為由當前位置和姿態信息表示的位置和姿態定義的模型坐標系中的位置來獲得km_i'。然后距離計算單元55指定以由當前位置和姿態信息表示的位置和姿態放置的分段參數曲面模型上與三維點相對應的對應點pm_i,并獲得對應點pm_i的位置與位置km_i'之間的距離(對應點之間的距離)d_i。
圖7A和圖7B示出了基于當前位置和姿態信息將各三維點轉換為模 型坐標系中的點。各白圈表示三維點,各細虛線表示各三維點和多邊形之間的對應關系。因此,距離計算單元55僅計算多邊形和與該多邊形相關聯的修整曲面之間的距離。圖7B中的圓柱是表現圖2A中的陰影部分的修整曲面的基本曲面。圓柱由三個參數表現,即在模型坐標系中,定義用作圓柱的旋轉中心的軸的原點的坐標O'、表示用作旋轉中心的軸的姿態的三維向量軸以及圓柱的半徑r。在該情況下,在模型坐標系中km_i'與圓柱之間的距離d_i通過下面的等式計算:
d_i=abs(km_i'-abs(axis·km_i')×axis))–r
其中,a·b表示向量a和向量b的內積,km_i'表示由km_i'=km_i-O'表示的向量。圖7A示出了指示從各三維點到修整曲面的距離的線段。距離計算單元55還計算具有從三維點到修整曲面的最短距離的三維點pm_i的坐標。在該情況下,將所計算出的距離d_i以及模型點pm_i與三維點一起記錄。在上面已經描述了修整曲面是圓柱的情況。當使用其他類型的修整曲面時,可以通過使用根據曲面參數計算與三維點相對應的曲面上的對應點以及對應點之間的距離的已知方法來執行該實施例。
如上所述,本實施例能夠通過與多邊形的一個對應搜索來唯一地指定與三維點相對應的修整曲面,因此能夠省略與多個修整曲面的對應搜索處理。這使得即使在通過使用分段參數曲面模型修正位置和姿態信息時也能夠高速計算三維點與模型表面之間的對應點間的距離。請注意,在本實施例中描述的對應點之間的距離的計算方法可以應用于在第一實施例中選擇分段參數曲面模式的情況下獲得對應點之間的距離。
雖然上述各實施例和各變形例已經舉例說明了各種情況,但各個僅是以下描述的結構的示例。即,各結構被構造為獲取表示對象物體的概略位置和姿態的位置和姿態信息,并在針對對象物體的形狀的再現性精度不同的多條模型信息中選擇根據定義條件決定的一條模型信息,作為所選模型信息。然后該結構將由所選模型信息表示的模型以由以上位置和姿態信息表示的位置和姿態放置,并且計算對象物體上的點和放置模型上與該點相對應的對應點之間的距離的評價值,從而基于該評價值估 計對象物體的位置和姿態。
<第二實施例的第一變形例>
本變形例被構造為獲得三維點和與該三維點相對應的多邊形之間的距離。如果所獲得的距離小于閾值,則該變形例通過使用分段參數曲面模型再次計算精確的距離。這使得能夠通過在執行位置和姿態的修正之前評價三維點與模型表面之間的差分來有效地切換高速模式與高精確模式的同時計算位置和姿態。
該變形例也使用具有圖5所示的結構的信息處理裝置2,但其在以下方面與第二實施例不同。以下將主要描述與第二實施例的差異。假定該變形例與第二實施例相同,除非另有規定。
將參照圖8的處理流程圖來描述由根據本變形例的信息處理裝置2進行的用于獲得對象物體的位置和姿態的處理。請注意,由于圖8中的步驟S802至S804以及S808至S810中的處理與圖3中的步驟S302、S303、S305、S308、S309以及S311中的處理相同,所以將省略這些步驟的描述。
<步驟S805中的處理>
搜索單元54從模型保持單元51保持的多邊形模型中搜索與在步驟S804中選擇的三維點kc_i相對應的多邊形。在該步驟中,搜索單元54通過與當在上述步驟S307中選擇多邊形模型時進行的處理相同的處理來高速進行搜索。
<步驟S806中的處理>
距離計算單元55指定多邊形上與在步驟S804中選擇的三維點kc_i相對應的的對應點,并計算三維點kc_i與對應點之間的距離(對應點之間的距離)d_i。距離計算單元55將距離d_i與閾值進行比較。與第一實施例中使用的閾值θ相同,作為閾值預先設置多邊形模型與分段參數曲面模型之間的形狀誤差的值。
如果比較結果表示則由于表示三維點與由當前位置和姿態信息表示的位置和姿態處的模型表面之間的差分仍然較大,所以距離計 算單元55將距離d_i發送到位置和姿態計算單元16。然后,處理進行到步驟S808。
如果則表示三維點與由所計算出的位置和姿態信息表示的位置和姿態中的模型表面之間的差分幾乎等于模型近似誤差。在這種情況下,處理進行到步驟S807以通過使用表現精確形狀的分段參數曲面模型來再次計算對應點之間的距離。
<步驟S807中的處理>
距離計算單元55參照具有設置給與步驟S804中選擇的三維點相對應的多邊形的ID的修整曲面,以計算三維點和模型表面上與該三維點相對應的對應點之間的對應點間的距離。即,距離計算單元55進行與上述的步驟S606中的處理相同的處理。然后距離計算單元55將該對應點間的距離發送到位置和姿態計算單元16。
如上所述,本變形例能夠通過在執行對位置和姿態信息的修正之前評價三維點與模型表面之間的差分,來有效地在高速模式與高精度模式之間切換的同時計算位置和姿態。
<第二實施例的第二變形例>
第二實施例使用三維形狀模型作為多邊形模型和分段參數曲面模型的組合。然而,要使用的模型組合方法不限于此。例如,能夠對對應搜索的速度與要表現的物體形狀的精度之間的權衡等級進行切換的多個模型的組合可以保持作為三維形狀模型,從而從三維形狀模型中選擇模型。即,首先,裝置通過使用具有較低再現性精度的模型信息指定與對象物體上的點相對應的部分(例如,如多邊形表面的表面的部分)。然后該裝置從由具有更高再現性精度的模型信息表示的模型中指定與所指定的部分相對應的部分(例如,如參數曲面的修整曲面的表面的部分)。最后,裝置計算對象物體上的點與從由具有更高再現性精度的模型信息表示的模型中指定的部分上的對應點之間的距離的評價值。
<第二實施例的第三變形例>
第二實施例舉例說明了當使用模型對從范圍圖像獲得的三維點進行 定位時,通過使用多邊形模型的各多邊形與表示相同形狀的分段參數曲面之間的關聯來高速計算對應點之間的距離的方法。該方法可以應用于第一實施例中的第五變形里中描述的、基于通過拍攝對象物體而獲得的拍攝圖像上的幾何特征與從模型表面提取的幾何特征之間的對應關系的定位。例如,幾何特征可以是邊緣。更具體地,該方法可以應用于基于表示通過拍攝對象物體而獲得的拍攝圖像上的邊緣的線段(幾何特征)與從模型平面提取的線段(幾何特征)之間的對象關系的定位。即,首先,裝置確定與拍攝圖像上的特征相對應的多邊形模型的特征。然后裝置參照表示與多邊形模型的特征相對應的分段參數曲面的特征的關聯信息來選擇與拍攝圖像上的特征相對應的分段曲面的特征。以這種方式,裝置將如多邊形模型的、由具有低再現性精度的第一模型信息表示的第一模型的幾何特征與如分段曲面模型的、由具有高再現性精度的第二模型信息表示的第二模型的幾何信息相關聯。這計算了拍攝圖像上的各特征與分段參數曲面的對應特征之間的對應點間的距離。如上所述,多邊形模型的特征可以是多邊形的邊緣,對應的分段參數曲面的特征可以是分段參數曲面的輪廓線。拍攝圖像上的各特征與符合表示以這種方式計算出的輪廓線的曲線參數的曲線之間的距離能夠被用作對應點之間的精確距離。作為另一定位方法,類似的方法可以應用于使用通過精細分割表現邊緣的線段獲得的、并由坐標和姿態表現的各個小邊特征(edgelet)的定位操作。
[第三實施例]
作為通過在第一和第二實施例及其變形例等中描述的方法計算的位置和姿態信息的使用目的示例,本實施例將舉例說明使機器人操作具有由位置和姿態信息表示的位置和姿態的對象物體的系統。
將參照圖9描述根據本實施例的系統的結構的示例。如圖9所示,系統包括信息處理裝置3、機器人控制單元以及機器人900。
機器人900是多關節機器人并且在從機器人控制單元接收到控制指令時操作。作為端部執行器(effector)的手附裝到機器人900的手臂的 遠端。這使得機器人對對象物體工作。本實施例使用具有能夠夾緊對象物體的卡緊機構的手作為端部執行器。該機器人可以使用馬達驅動的手或通過空氣壓力卡緊對象物體的吸盤作為端部執行器。假定在該實施例執行前使用已知技術來校正機器人900和表面位置獲取單元901之間的相對位置和姿態,以及機器人900的手臂和端部執行器之間的相對位置和姿態。這能夠將由位置和姿態計算單元906計算出的位置和姿態轉換為在放置有托盤的空間中固定的工作空間坐標系中的位置和姿態。此外,可以控制機器人使得以工作空間坐標系中指定的位置和姿態設置手。然而,請注意,取代多關節機器人,機器人可以是NC可控制移動機構。
表面位置獲取單元901拍攝對象物體910的范圍圖像,并通過使用拍攝的范圍圖像獲取對象物體910的表面上的各三維點的位置。即,表面位置獲取單元901的基本操作與表面位置獲取單元12的基本操作相同。因此,表面位置獲取單元901可以被固定到機器人900的手附近的部分或工作空間坐標系中的某個地方。假定表面位置獲取單元901是由緊湊型投影儀和照相機構成。表面位置獲取單元901通過空間編碼方法拍攝范圍圖像。可選地,表面位置獲取單元901可以通過使用立體照相機的立體方法或通過使用激光投影儀的光截面法(light-section method)或任何其他方法來拍攝范圍圖像。
對象物體910是工業產品的零件。機器人900拾起零件并將它們組裝成產品。可以使用如塑料、金屬以及乙烯基等的各種材料。多個對象物體910被以不同位置和姿態堆疊在托盤上。
搜索單元904、模型保持單元902、距離計算單元905、位置和姿態計算單元906以及位置和姿態輸入單元903分別是與搜索單元54、模型保持單元51、距離計算單元55、位置和姿態計算單元16以及位置和姿態輸入單元13相同的功能單元。位置和姿態計算單元906將最終獲得的對象物體910的位置和姿態發送到機器人操作指令單元907。
機器人操作指令單元907生成控制指令并將指令發送到機器人控制單元908,該指令使得機器人900的手臂移動到從位置和姿態計算單元 906接收的位置和姿態,并進行夾緊或卡緊操作。然而,顯然,機器人的操作并不限于移動、夾緊以及卡緊操作,并且包括諸如對象物體的外觀檢查等的其它操作。
機器人控制單元908根據該控制指令控制機器人900以使機器人900的手臂移動為由位置和姿態計算單元906獲得的位置和姿態信息表示的位置和姿態,并進行期望的操作(夾緊或移動對象物體910)。
將參照圖10的流程圖描述上述系統的操作。首先,在步驟S1001中,信息處理裝置3獲得對象物體910的位置和姿態。在步驟S1002中,信息處理裝置3將所獲得的位置和姿態發送到機器人控制單元。因此,機器人控制器單元將控制指令發送到機器人900,使其對處于該位置和姿態的對象物體910進行期望的操作。
在步驟S1003中,機器人900根據控制指令操作。該系統重復步驟S1001至S1003中的處理,除非用戶輸入停止指令(步驟S1004)。
請注意,作為信息處理裝置3的結構以及位置和姿態計算方法,可以使用第一和第二實施例及其變形例中的結構和方法。當使用它們時,可用根據需要修正結構或處理。
[第四實施例]
圖1所示的信息處理裝置1中的各單元、圖5所示的信息處理裝置2中的各單元、以及圖9所示的信息處理裝置3中的各單元可以由硬件實現。可選地,模型保持單元11、51或902可以由存儲器構成,剩余各單元可以由計算機程序實現。
在這種情況下,一般的PC(個人計算機)等可以應用于信息處理裝置1至3。例如,在硬盤中形成模型保持單元11、51或902,并且用于使CPU執行除模型保持單元以外的各單元的功能的計算機程序被存儲在硬盤中。PC的CPU將存儲在硬盤中的計算機程序和數據讀出到RAM,并通過使用所讀出的程序和數據執行處理,從而使PC用作信息處理裝置1至3。此外,可以根據需要組合上述各實施例和變形例。
[其他實施例]
本發明的各方面還可以通過讀出并執行記錄在存儲設備上的用于執行上述實施例的功能的程序的系統或裝置的計算機(或例如CPU或MPU的設備)來實現,以及通過由系統或裝置的計算機通過例如讀出并執行記錄在存儲設備上的用于執行上述實施例的功能的程序來執行各步驟的方法來實現。鑒于此,例如經由網絡或者從用作存儲設備的各種類型的記錄介質(例如計算機可讀介質)向計算機提供程序。
雖然參照示例性實施例對本發明進行了描述,但是應當理解,本發明并不限于所公開的示例性實施例。應當對所附權利要求的范圍給予最寬的解釋,以使其涵蓋所有這些變型例以及等同的結構和功能。

關于本文
本文標題:信息處理裝置及信息處理方法.pdf
鏈接地址:http://www.pqsozv.live/p-6180774.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
钻石光影