(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5677798
(24)【登録日】2015年1月9日
(45)【発行日】2015年2月25日
(54)【発明の名称】3次元シーンにおける3次元物体の認識及び位置姿勢決定方法
(51)【国際特許分類】
G06T 17/00 20060101AFI20150205BHJP
G01B 11/00 20060101ALI20150205BHJP
G06T 19/00 20110101ALI20150205BHJP
【FI】
G06T17/00
G01B11/00 H
G06T19/00 A
【請求項の数】12
【外国語出願】
【全頁数】20
(21)【出願番号】特願2010-232595(P2010-232595)
(22)【出願日】2010年10月15日
(65)【公開番号】特開2011-238204(P2011-238204A)
(43)【公開日】2011年11月24日
【審査請求日】2013年5月15日
(31)【優先権主張番号】10162266.0
(32)【優先日】2010年5月7日
(33)【優先権主張国】EP
(73)【特許権者】
【識別番号】510275297
【氏名又は名称】エムファウテック ソフトウェア ゲゼルシャフト ミット ベシュレンクテル ハフツング
【氏名又は名称原語表記】MVTec Software GmbH
(74)【代理人】
【識別番号】100090022
【弁理士】
【氏名又は名称】長門 侃二
(72)【発明者】
【氏名】ベルトラム ハインリッヒ ドロスト
(72)【発明者】
【氏名】マルクス ウルリッヒ
【審査官】
松浦 功
(56)【参考文献】
【文献】
特開平09−237342(JP,A)
【文献】
WINKELBACH, S. et al.,Low-Cost Laser Range Scanner and Fast Surface Registration Approach,DAGM 2006 Lecture Notes in Computer Science,Springer,2006年 9月,Volume 4174,pp. 718-728
【文献】
STOCKMAN, G.,Object recognition and localization via pose clustering,Computer Vision, Graphics, and Image Processing,Academic Press,1987年12月,Volume 40, Number 3,pp. 361-387
【文献】
MIAN, A. S. et al.,3D Recognition and Segmentation of Objects in Cluttered Scenes,Proceedings of the Seventh IEEE Workshops on Application of Computer Vision(WACV/MOTIONS '05) (Volume 1),IEEE,2005年,pp. 8-13
【文献】
LAMDAN, Y. et al.,Geometric Hashing: A General And Efficient Model-based Recognition Scheme,Second International Conference on Computer Vision,IEEE,1988年12月,pp. 238-249
【文献】
SEHGAL, A. et al.,3D object recognition using Bayesian geometric hashing and pose clustering,Pattern Recognition,Elsevier,2003年,Volume 36, Issue 3,pp. 765-780
【文献】
BAREQUET, G et al.,Partial surface and volume matching in three dimensions,Proceedings of the 12th IAPR International Conference on Pattern Recognition(Volume 2) - Conference B: Computer Vision & Image Processing,IEEE,1994年,pp. 610-614
【文献】
HILLENBRAND, U.,Pose Clustering From Stereo Data,Proceedings VISAPP International Workshop on Robotic Perception 2008 [online],2008年,pp. 23-32,[平成26年2月19日検索],インターネット,URL,core.kmi.open.ac.uk/download/pdf/11134867.pdf
【文献】
MAO, J. et al.,Integration of multiple feature groups and multiple views into a 3D object recognition system,Proceedings of the 1994 Second CAD-Based Vision Workshop,IEEE,1994年,pp. 184-191
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 7/00 − 7/60
G06T 11/00 −19/20
G01B 11/00
G06K
Google Scholar
(57)【特許請求の範囲】
【請求項1】
3次元シーンデータにおける3次元物体のインスタンスを認識し、前記インスタンスの3次元位置姿勢を決定する方法であって、
(a)3次元シーンデータと3次元物体データとを準備するステップと、
(b)前記3次元シーンデータから、少なくとも1つの参照シーン点を選択するステップと、
(c)前記ステップbで選択された各参照シーン点に対して、該参照シーン点が前記3次元物体のインスタンスの一部であるという仮定に基づいて前記3次元物体のインスタンスの位置姿勢候補を計算するステップと、
(c1)取り得る位置姿勢候補の空間を2つのパラメータにより表すステップであって、第1のパラメータは前記参照シーン点に対応する前記3次元物体データの点であり、第2のパラメータは回転角であるステップと、
(c1a)前記第1のパラメータを前記3次元物体データから選択された一群の点に付記したインデックスとして表し、前記第2のパラメータをサンプリングするステップと、
(c2)前記ステップc1aの各位置姿勢候補の空間のサンプルに対するカウンタ値を生成するステップと、
(c3)前記3次元シーンデータから一群のシーン点を選択するステップと、
(c4)選択された各シーン点に対して、前記選択したシーン点および前記参照点の両方が前記3次元物体の表面に存在するように位置姿勢のマッチングを計算するステップであって、以下のステップc4a〜c4cを用いて計算するステップと、
(c4a)前記3次元シーンデータにおける前記参照シーン点と現在のシーン点とを表す点対記述子、およびこれらの幾何的関係を計算するステップと、
(c4b)前記点対記述子を用いて前記シーン点に類似する3次元物体データにおける点対を探索するステップと、
(c4c)類似した前記3次元物体データにおける点対の各々に対して、前記参照シーン点に対応する点と、前記3次元シーンデータの点対と前記3次元物体データの点対とを揃える回転角とを計算し、前記参照シーン点を揃えた後で、これに対応する3次元物体データの点と、これらの面法線とを計算するステップと、
(c5)前記ステップc4cで対応する点および回転角が計算される毎に、対応するサンプリングされた前記位置姿勢空間のカウンタ値を増やすステップと、
(c6)サンプリングされた前記位置姿勢空間の中で最大のカウンタ値を検出し、該最大のカウンタ値に対応するサンプリングされた位置姿勢を位置姿勢候補として選択するステップと、
を備えたことを特徴とする方法。
【請求項2】
請求項1に記載の方法において、
前記ステップbの前に、前記3次元物体データから3次元モデルが計算されるステップをさらに備え、
当該3次元モデルが前記ステップc4bで用いられ、
前記3次元物体データから3次元モデルが計算されるステップは、
(a1)前記3次元物体データから、少なくとも2つのサンプリングされた点を選択するステップと、
(a2)選択された前記2つのサンプリングされた点からなる点対の各々に対して、前記点対を構成する前記2つのサンプリングされた点および前記2つのサンプリングされた点の幾何的関係を表す点対記述子を計算するステップと、
(a3)前記点対記述子によってインデックスが付けられた前記点対を格納するグローバルモデル記述を生成するステップと、
を含むことを特徴とする方法。
【請求項3】
前記ステップa3は、
(a3a)前記点対記述子をサンプリングするステップと、
(a3b)前記ステップa3aでサンプリングされた各点対記述子を点対のリストに対応付けることにより前記グローバルモデル記述を生成するステップと、を備え、
前記各リストは、同一のサンプリングされた点対記述子を有する、選択された前記サンプリングされた点の全てを含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記ステップbにおいて、前記参照点は、前記3次元シーンデータからランダムに選択される、または前記3次元シーンデータから均等にサンプリングされることにより選択されることを特徴とする請求項1に記載の方法。
【請求項5】
前記ステップc4bは、
(c4b1)前記点対記述子をサンプリングするステップと、
(c4b2)前記ステップc4cでサンプリングされた点対記述子を点対のリストに対応付けるデータ構造を使用するステップと、
を備えることを特徴とする請求項1に記載の方法。
【請求項6】
前記ステップc4b2において、前記データ構造としてハッシュテーブルが使用されることを特徴とする請求項5に記載の方法。
【請求項7】
さらに、
(d)前記位置姿勢候補をフィルタ処理して一群の最終位置姿勢候補を得るステップ、
を備えることを特徴とする、請求項1に記載の方法。
【請求項8】
前記ステップdの計算は、
(d1)前記位置姿勢候補間の近隣関係を定義するステップと、
(d2)前記ステップd1で定義された近隣関係にある位置姿勢候補のスコアを計算するステップであって、該スコアは前記3次元シーンと前記位置姿勢候補の3次元物体との整合性を表すステップと、
(d3)前記ステップd2で計算された前記近隣関係にある位置姿勢候補のスコアに重みを付けて合計し、前記各位置姿勢候補の新たなスコアを計算するステップと、
(d4)前記ステップd3で計算された新たなスコアで位置姿勢候補をランク付けすることによって前記一群の最終位置姿勢候補を選択するステップと、
を含むことを特徴とする請求項7に記載の方法。
【請求項9】
前記近隣関係は、前記位置姿勢候補間の移動量の差の閾値及び前記位置姿勢候補間の回転量の差の閾値により、または前記3次元物体の点が2つの位置姿勢候補間において取り得る最大間隔の閾値により表されることを特徴とする請求項8に記載の方法。
【請求項10】
位置姿勢の精度および安定性を改善するために、近隣関係にある位置姿勢を平均位置姿勢として、前記ステップd4で選択された前記一群の最終位置姿勢候補を再計算するステップをさらに備えることを特徴とする請求項8に記載の方法。
【請求項11】
前記3次元シーンと前記位置姿勢の前記3次元物体との距離に基づく誤差関数を最適化することにより、計算された各位置姿勢候補を高精度化するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項12】
前記3次元シーンデータと前記最終位置姿勢候補の3次元物体データとの距離に基づく誤差関数を最適化することにより、前記ステップdで計算された各最終位置姿勢候補を高精度化するステップをさらに備えることを特徴とする請求項7に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マシンビジョンシステムに関し、詳しくは3次元シーンにおける3次元物体の認識及び位置特定方法に関する。
【背景技術】
【0002】
3次元物体認識は、多くのコンピュータービジョンアプリケーションの一部である。2次元の輝度画像を処理する画像ベースのコンピュータービジョンと比較して、3次元情報を処理する3次元コンピュータービジョンは、非平面の物体及び非平面を検査または処理する必要のある場合に特に重要である。シーン中の3次元の面情報を取得するために、種々の方法やセンサが開発されている。これらの方法の多くは、各点の値がカメラからシーン面までの距離を表す画像、いわゆる距離画像を生成するものである。センサが較正され、センサの内部変数が既知である場合、距離画像を全ての点のX、Y、及びZ座標の3次元シーンに変換することができることが知られている。さらに、距離画像のように表すことができない3次元シーンでも、複数のセンサからの情報を合成することで3次元シーンを取得することができる。従来技術とは違って、本発明が開示する方法は、任意の3次元シーンにおけるあらゆる形状の中の自由形状物体を認識することができ、アプリオリな情報(a-priori information)としての近似位置姿勢を必要としない。
【0003】
記述子ベースまたは特徴ベース技術は、表面を表す記述子(以下、表面記述子という)を使用することにより、シーンにおける3次元の点と、物体における3次元の点との間の一致の検出に基づくものである。表面記述子は、表面上の点の周囲の面を表す。一般的に、表面記述子は物体の表面における全ての点が計算されてデータベースに蓄積される。シーンにおける物体を認識するには、表面記述子はシーンの点(以下、シーン点という)に対して表面記述子を計算し、計算されたデータベースを使用して一致する物体の点を探索することにより実行される。この手法によれば、一致する点を見つけるとすぐに、物体の位置姿勢を抽出することができる。種々の表面記述子に関する詳細な検討については、非特許文献1〜3に述べられている。
【0004】
局所記述子の一致探索に基づく手法は、いくつかの欠点がある。第1に、局所記述子は、大きい平面の断片のような、物体上の類似した面の部分を区別することができない。当該類似した部分は同一の、または類似した局所記述子を生成するため、シーンと物体との誤った一致を招く虞がある。これに対して記述子の構造の中に、似ていない表面の部分まで含まれるように記述子の影響範囲を広げた場合には、表面の欠落部分に対する感度が高くなり、当該欠落部分はオクルージョンまたはセンサに問題がある場合に頻発する。第2に、局所記述子は一般的に処理速度が遅すぎてリアルタイムシステムで実行できず、数秒の処理時間を要する。第3に、局所記述子はクラッター、即ち、対象物体に属さないシーン部分に敏感である。さらに、局所記述子は3次元シーンデータの細かいモデルを必要とし、多くの場合、そのようなモデルは入手不可能である。最後に、従来の記述子はリアルタイムアプリケーションを満足する速さではない。
【0005】
いくつかの手法は、シーンでの物体を検出するために、いわゆる幾何プリミティブを使用する。幾何プリミティブは、平面、円柱、または球体のような単純な形状物体である。自由形状物体と比較して、幾何プリミティブは固有の対称性を有するので、シーンにおいてより容易に検出可能である。シーンにおいて幾何プリミティブから構成される幾何プリミティブまたは物体を検出するいくつかの手法がある。特許文献1には、3次元物体を幾何プリミティブで分割することが記載されている。3次元シーンからこのような幾何プリミティブを探索し、物体の中の幾何プリミティブに類似した幾何プリミティブをシーンの中で特定することによって物体を認識する。他の方法は、シーンでの幾何プリミティブを検出するための種々の一般化ハフ変換を使用している。この手法の例としては、非特許文献4〜6等に記載される。しかし幾何プリミティブに基づく全ての方法は、一般的な自由形状物体に作用しないという問題がある。
【0006】
距離画像で表された3次元物体を認識するための種々の方法が開発され、例えば特許文献2に詳しく紹介される。この方法は単一の距離画像に対して有効であり、その距離画像は、例えば種々のセンサシステムから生成される。但し、距離画像に基づく認識システムの全ては、単一の距離画像から得られる3次元情報に限られ、他の3次元センサからの3次元情報または異なる距離画像を結合した3次元情報を処理することはできない。加えて、パラメータ空間において、いわゆる力まかせの探索を必要とするので、リアルタイムシステムを満足させる速さではない。
【0007】
一方、物体の既知の3次元位置姿勢を最適化するためのいくつかの方法が知られている。この位置姿勢の最適化方法はシーンにおける物体の3次元近似位置姿勢を入力し、位置姿勢精度を向上させる。位置姿勢の最適化方法については、反復最近接点法(例えば、非特許文献7、特許文献3、非特許文献8)のようないくつかの方法が開発された。しかし、位置姿勢の最適化の主な欠点は、入力した位置姿勢が正しい位置姿勢に十分に近似している必要があり、そうでない場合、これらの方法では位置姿勢が正しく収束しない。そして、実際には、クラッター、オクルージョン、及びノイズを含む3次元シーンにおいて、十分に近似した正しい位置姿勢を取得することは難しい。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】欧州特許出願公開第2047403号明細書
【特許文献2】欧州特許出願公開第1986153号明細書
【特許文献3】欧州特許出願公開第2026279号明細書
【非特許文献】
【0009】
【非特許文献1】Campbell and Flynn,A Survey Of Free-Form Object Representation and Recognition Techniques, Computer Vision and Image Understanding, 2001, Vol. 81, Issue 2, 166-210ページ
【非特許文献2】Mamic and Bennamoun,Representation and recognition of 3D free-form objects, Digital Signal Processing, 2002, Vol. 12, Issue 1, 47-76ページ
【非特許文献3】Mian et al.,Automatic Correspondence for 3D Modeling: An Extensive Review, International Journal of Shape Modeling, 2005, Vol. 11, Issue 2, 253ページ
【非特許文献4】Katsoulas,Robust extraction of vertices in range images by constraining the hough transform, Lecture Notes in Computer Science, 2003, Vol. 2652, 360-369ページ
【非特許文献5】Rabbani and Heuvel,Efficient hough transform for automatic detection of cylinders in point clouds, Proceedings of the 11th Annual Conference of the Advanced School for Computing and Imaging (ASCI’05) , 2005, 60-65ページ
【非特許文献6】Zaharia and Preteux,Hough transform-based 3D mesh retrieval, Proceedings of the SPIE Conf. 4476 on Vision Geometry X, 2001, 175-185ページ
【非特許文献7】Zhang,Iterative point matching for registration of free-form curves, International Journal of Computer Vision, 1994, Vol. 7, Issue 3, 119-152ページ
【非特許文献8】Fitzgibbon,Robust registration of 2D and 3D point sets, Image and Vision Computing, 2003, Vol. 21, Issue 13-14, 1145-1153ページ
【発明の概要】
【発明が解決しようとする課題】
【0010】
上述した理由から、一般的な3次元シーンでの任意の自由形状3次元物体を効率的に認識し、また3次元位置姿勢の抽出を可能とする方法が必要となる。
【課題を解決するための手段】
【0011】
本発明は、3次元シーンにおける3次元物体を検出し、シーン座標系における物体の3次元位置姿勢を決定するためのシステム及び方法を提供する。代表的なアプリケーションでは、例えば2つ以上のカメラによるステレオ法、シート状のライトを用いるスリット光投影法、光の飛行時間計測による光レーザー法、焦点深度を計測するレンズ焦点法、または照度差ステレオ法を使用して3次元シーンが取得される。そして本発明の方法を使用して3次元シーンにおける物体の3次元位置姿勢が検出される。このようにして得られた3次元位置姿勢は、例えばロボットで物体を操作したり、または物体の表面の欠陥を検出したりするために使用される。
【0012】
本発明の方法は従来の方法よりも様々な利点を有する。本発明の方法は、どんな種類の表面形状を有する自由形状物体でも認識が可能であり、従って特定の種類の物体に限定されない。その上、本発明の方法は、ノイズ、物体の部分的な欠落、及びクラッターの影響を受けにくい。しかも3次元物体の位置姿勢を高い精度で決定することができる。さらに、3次元物体の検出及び3次元位置姿勢の抽出にはわずかな計算時間しか必要とせず、リアルタイムの環境に好適である。
【0013】
本発明の方法は2つのフェーズを備える。オフラインフェーズでは、3次元物体を検出するために後の手順で使用されるモデル記述が計算される。ユーザは、検出されるべき物体の3次元表現、例えば3次元CADモデルまたは一群の3次元の点を準備する必要がある。本発明の方法は、基本的には物体の幾何学的形状だけを必要とする。色、テクスチャ、または表面反射率等の情報を必要としないので、本発明は広範囲な物体の種類に適している。なお、本発明の方法のロバスト性をさらに向上させるために、色やテクスチャのような部分的な情報を準備してもよい。モデル記述は、所定の割合で物体面をサンプリングし、サンプリングによって得られた物体面上の点の各点対(以下、点対という)を表す記述子(以下、点対記述子という)を計算し、前記点対記述子によりインデックスが付けられた複数の点対をデータベースに蓄積することにより構築される。
【0014】
オンラインフェーズでは、ユーザは、3次元シーンと前記オフラインフェーズで計算されたモデル記述とを準備する。シーンの表面は所定の割合でサンプリングされる。これらのシーン点の一部分は参照点として使用される。各参照点に対して、物体の3次元位置姿勢は参照点を基準にしてパラメータ化され、参照点から他の全てのシーン点までの間の点対記述子が計算されて、前記オフラインフェーズで生成したデータベースの中から探索され、データベースの中で最も整合する3次元位置姿勢が求められる。全ての参照点から抽出された3次元位置姿勢は、次に整合性がチェックされ、全てにおいて整合の取れた3次元位置姿勢の平均位置姿勢が求められる。最後に、検出された位置姿勢は、当該位置姿勢をより正確にするあらゆる方法を使用して最適化してもよい。
【0015】
本発明の第1の形態によれば、
3次元シーンデータにおける3次元物体のインスタンス(instance)を認識し、前記インスタンスの3次元位置姿勢を決定する方法であって、(a)3次元シーンデータ
と3次元物体データとを準備するステップと、(b)前記3次元シーンデータから少なくとも1つの参照
シーン点を選択するステップと、(c)選択した各参照
シーン点に対し、前記参照
シーン点が
前記3次元物体の
インスタンスの一部であるという仮定に基づいて前記3次元物体の
インスタンスの位置姿勢候補を計算するステップと、
(c1)取り得る位置姿勢候補の空間を2つのパラメータにより表すステップであって、第1のパラメータは前記参照シーン点に対応する前記3次元物体データの点であり、第2のパラメータは回転角であるステップと、(c1a)前記第1のパラメータを前記3次元物体データから選択された一群の点に付記したインデックスとして表し、前記第2のパラメータをサンプリングするステップと、(c2)前記ステップc1aの各位置姿勢候補の空間のサンプルに対するカウンタ値を生成するステップと、(c3)前記3次元シーンデータから一群のシーン点を選択するステップと、(c4)選択された各シーン点に対して、前記選択したシーン点および前記参照点の両方が前記3次元物体の表面に存在するように位置姿勢のマッチングを計算するステップであって、以下のステップc4a〜c4cを用いて計算するステップと、(c4a)前記3次元シーンデータにおける前記参照シーン点と現在のシーン点とを表す点対記述子、およびこれらの幾何的関係を計算するステップと、(c4b)前記点対記述子を用いて前記シーン点に類似する前記3次元物体データにおける点対を探索するステップと、(c4c)類似した前記3次元物体データにおける点対の各々に対して、前記参照シーン点に対応する点と、前記3次元シーンデータの点対と前記3次元物体データの点対とを揃える回転角とを計算し、前記参照シーン点を揃えた後で、これに対応する3次元物体データの点と、これらの面法線とを計算するステップと、(c5)前記ステップc4cで対応する点および回転角が計算される毎に、対応するサンプリングされた前記位置姿勢空間のカウンタ値を増やすステップと、(c6)サンプリングされた前記位置姿勢空間の中で最大のカウンタ値を検出し、該最大のカウンタ値に対応するサンプリングされた位置姿勢を位置姿勢候補として選択するステップとを備える。好ましくは、前記ステップaにおける3次元シーンデータは、一群の3次元の点または3次元CADモデルとして準備される。
【0016】
好ましくは、
上記の第1の形態に記載の方法において、前記3次元モデルは前記ステップ
bの前に、
前記3次元物体
データから3次元モデル
が計算
されるステップを
さらに備え、
当該3次元モデルが上記ステップc4bで用いられ、前記
3次元物体データから3次元モデルを計算されるステッ
プは、
(a1)前記3次元物体データから、少なくとも2つのサンプリングされた点を選択するステップと、(a2)選択された前記2つのサンプリングされた点からなる点対の各々に対して、前記点対を構成する前記2つのサンプリングされた点および前記2つのサンプリングされた点の幾何的関係を表す点対記述子を計算するステップと、(a3)前記点対記述子によってインデックスが付けられた前記点対を格納するグローバルモデル記述を生成するステップと、を含む。好ましくは、前記ステップm1における前記3次元物体データは、一群の3次元の点または3次元CADモデルとして準備される
。より好ましくは、前記ステップ
a3は、(
a3a)前記点対記述子をサンプリングするステップと、(
a3b)前記ステップ2dでサンプリングされた各点対記述子を点対のリストに対応付けることにより前記グローバルモデル記述を生成するステップとを含み、前記グローバルモデル記述は、サンプリングされた点対記述子に対応する全ての点対を含む各リストからなる。
【0017】
好ましくは、異常値の検出及び異常値の除外、ノイズの低減、及び面の法線の計算のうち少なくとも1つのステップを含む手順の前に、少なくとも3次元物体データ及び3次元シーンデータのいずれか一方はフィルタ処理される。
【0018】
好ましくは、前記点対記述子は、2点間の距離、当該2点の各法線間の角度、及び当該点の各法線と当該2点間の差分ベクトルとがなす2つの角度のうち、少なくとも1つを含む。
【0019】
さらに好ましい実施形態において、前記ステップbにおける参照点は3次元シーンデータからランダムに、または均等に3次元データをサンプリングされることにより選択される。好ましくは、3次元シーンデータを均等にサンプリングするのためのサンプリング間隔は、3次元物体の大きさに応じて計算される。
【0020】
好ましくは
、前記ステップc6での最大のカウンタ値の検出は、閾値を超えるカウンタ値に限定してもよい。前記ステップc1において、前記取り得る物体の位置姿勢空間は
、2つのパラメータで表され、第1のパラメータは
、前記参照シーン点に対応する前記3次元物体
データの点であり、第2のパラメータは回転角である。3次元物体上の点は、好ましくは3次元物体データから選択された一群の点にインデックスが付けられた点として表され、回転角は均等な間隔で角度を分割することによってサンプリングされたものとするのがよい。好ましくは、前記一群の点は、3次元物体の表面を均等にサンプリングすることにより、3次元物体から選択されるのがよい。
【0021】
さらに好ましくは、前記ステップc4における位置姿勢は、参照点及び選択されたシーン点よりなる点対に類似する3次元物体上の点対の探索が可能なデータ構造を用いて計算されてもよい。好ましくは、点対の探索は、(c4a)前記点対を構成する2点及びこれら2点の関係を示す点対記述子を計算するステップと、(c4b)前記点対記述子をデータ構造のインデックスとして使用するステップとを含む。好ましくは、前記点対記述子は、前記点対を構成する2点の距離、対をなす2点の各法線間のなす角度、各点の法線と2点間の差分ベクトルとの間の2つの角度、各点での明度または濃淡値、各点でのテクスチャ情報、各点での表面の記述子、各点の曲率、及び各点での他の幾何学的な面情報のうち、少なくとも1つを含む。点対記述子は、2点の距離、当該点の2本の法線間の角度及び点の法線と2点間の差分ベクトルとの間の2つの角度を含む。
【0022】
好ましい実施形態によれば、前記ステップ
a3は、(
a3a)前記点対記述子をサンプリングするステップと、(
a3b)前記ステップ
a3aでサンプリングされた点対記述子を、点対のリストと対応付ける
ことにより前記グローバルモデル記述を生成するステップとを含む。前記ステップ
a3bにおいて、好ましくはハッシュテーブルがデータ構造として使用される。
【0023】
好ましい実施形態によれば、
本方法は、(d)前記位置姿勢候補をフィルタ処理して最終位置姿勢候補のセットを得るステップを備える。当該ステップ
dは、(d1)位置姿勢候補間の近隣関係を定義するステップと、
(d2)前記ステップd1で定義された近隣関係にある位置姿勢候補のスコアを計算するステップであって、該スコアが前記3次元シーンと前記位置姿勢候補の前記3次元物体との整合性を表すステップと、(d
3)前記ステップd
2で定義された近隣関係にある位置姿勢候補
のスコ
アに重みを付けて合計し、前記各位置姿勢の新たなスコアを計算するステップと、(d
4)前記ステップd
3で計算された新たなスコアに基づいて位置姿勢をランク付けすることにより、
前記一群の
最終位置姿勢
候補を選択するステップとを含む。好ましくは、位置姿勢の平行移動量の差の閾値及び位置姿勢の回転量における差の閾値、または両方の位置姿勢のもとで3次元物体の点を有することのできる最大間隔の閾値から、前記近隣関係を定義する。本発明の方法は、さらに、前記ステップd4で前記選択された位置姿勢が、近隣の位置姿勢の平均位置姿勢から再計算されるステップを備えてもよい。好ましくは、前記重みは対象位置姿勢及び現在の近隣位置姿勢に依存する。
【0024】
好ましくは、本発明の方法は、さらに、3次元シーンと3次元物体の前記位置姿勢との間の距離に基づく誤差関数を最適化することにより、フィルタ処理された一群の位置姿勢の各位置姿勢をより高精度化するステップを備える。
【0025】
好ましくは、本発明の方法は、さらに、前記フィルタ処理された一群の位置姿勢に属する各位置姿勢に対するスコアを計算するステップを備え、当該スコアは前記位置姿勢における3次元シーンと3次元物体との整合性を表す。
【0026】
好ましくは、本発明の方法は、さらに、各最終位置姿勢のスコアを計算するステップを備える。好ましくは、計算されたスコアは、3次元シーンにおいて計算された位置姿勢での3次元物体の表面にある点の総数である。
【図面の簡単な説明】
【0027】
【
図1】3次元データが均等なサンプリングによって正則化される方法を示す図である。
【
図2】3次元の2点間の関係の表現方法を示す図である。
【
図3】グローバル属性を表すグローバルモデル記述を生成する方法を示す図である。
【
図4】オフラインフェーズでのモデル生成を示すフローチャートである。
【
図5】オンラインフェーズでのマッチングフェーズを示すフローチャートである。
【
図6】物体座標系、局所座標系、及び局所座標を使用したシーン座標系間の変換を示す図である。
【発明を実施するための形態】
【0028】
本発明は、添付の図と関連して、以下の詳細な説明から十分に理解されるものである。
【0029】
<表示及び定義>
以下に述べる全てのデータは電子形式で用いることができ、好ましくはディジタルであるものとする。ここに記載される方法及びアルゴリズムは、電子形式で表され、コンピュータで実現可能なものであるとする。
【0030】
以下に述べる表記法の中で、「3次元の点」とは、3次元空間での3次元座標値を有する点である。各3次元の点は、最も代表的な座標系である3次元シーンデータが定義されるシーン座標系及び対象の3次元物体が定義される物体座標系を有する座標系で表される。「3次元ベクトル」とは、3次元空間において3次元座標値を有するベクトルである。「表面上の点の3次元の法線ベクトル」とは、3次元空間において長さ1のユークリッド距離を有し、所定の点における面と垂直なベクトルである。「3次元点群」とは、一群の3次元の点である。「方向付けられた3次元点群」とは、各点に対して3次元の法線ベクトルが対応付けられている3次元点群である。「3次元の剛体変換」とは、点の距離を維持しつつ、3次元の点を別の3次元の点へマッピングすることであり、式で表すと、いずれの点P、Qに対しても方程式|P−Q|=|f(P)−f(Q)|が成立するようなマッピングfである。全ての3次元の剛体変換は、回転及び平行移動に分解することが可能であり、まず回転が所定の点に対してなされ、次に平行移動がなされる。式で表すと、全ての3次元の剛体変換は、f(P)=R(P)+Tのような3次元回転Rと3次元ベクトルTとに分解することができる。
【0031】
図1に示すように、「3次元データの正則化」とは、3次元の表面を当該表面に均等に分配された一群の3次元の点に変換する方法である。好ましい実施形態として、3次元データの正則化は、入力として、(a)3次元空間において2次元の表面で表す3次元データと(101)、(b)サンプリング間隔dとを取り、(a)入力された3次元データの表面上にあった点だけで構成され、(b)得られた点群における全ての隣り合う点は少なくともdの間隔を有し、(c)上記入力として用いられる3次元データの各点は、最大でもdしか離れていない点を出力点群に有するという特性をもつ一群の3次元の点(102)を出力するという方法である。本発明の好ましい実施形態では、所望の特性を有する正則化された一群の点は、入力点群を繰り返し操作させ、新たな点までの距離がサンプリング間隔よりも近い点が出力点群に1つもないときにだけ新たな点を出力点群に追加することによって一群の3次元の点を生成する。3次元のCADモデルの場合は、各面をサンプリングし、一群の点を取得し、取得した一群の点を上述のように取り扱う。他の実施形態として、3次元データは、表面からランダムに選択される点により正則化される。さらに他の実施形態として、法線方向が正則化に使用され、サンプリングされた点群は高い曲率の領域に密集する。好ましくは、3次元データの表面から選択された点の表面の法線が計算される(103)。
【0032】
入力する一群の点を正則化するということは、一般的に元の点群の良好な状態の表現を保ちつつ、点数の少ない点群を得ることができる。効率的に点の数を減らすために、本発明ではオフラインフェーズ及びオンラインフェーズで正則化を使用し、より速い計算性能にする。以下に述べるように、局所パラメータ空間のサンプリングもまた重要である。好ましい実施形態として、サンプリング間隔dは物体の直径に相対してパラメータで表される。ここで、直径は3次元物体における2点間の最大幅である。D
objが物体の直径とすると、サンプリング間隔dは、d=τ
dD
objのようなパラメータτ
dにより表される。他の実施形態として、サンプリング係数はユーザによって設定される。さらに他の実施形態として、3次元データのノイズレベルのようなアプリオリな情報に従ってサンプリング係数が設定される。
【0033】
点対記述子は、3次元の点の点対を表す値のリストである。好ましい実施形態として、これらの値は、点対を構成する2点間の距離と、2本の法線がなす角度と、第1の法線と2点の差分ベクトルとのなす角度と、第2の法線と2点の差分ベクトルとのなす角度とを含む。他の実施形態として、上記2点での面の色のような局所特性、上記2点での曲率及び他の幾何学的特性、ならびにスピンイメージ(spin image)、ポイントスプラッシュ(point splashes)等のような背景技術で述べた局所記述子を上記点対記述子に含むことが可能である。一般に、上述した値の一部であれば、本発明の範囲から逸脱しない限り、記述子として使用することが可能である。点対記述子にさらなる情報を追加することは、異なる点対の識別能力が向上するものの、記述子の取り扱いが複雑になり、複雑さが増し、例えば計算、格納、及び他の場合での複雑さが増大する。
【0034】
好ましい実施形態として、
図2に示すように、法線n
1、n
2を有する2つの3次元の点P
1、P
2からなる点対記述子Fの正式な定義は、
【0036】
であり、∠(a,b)は2つのベクトル間の角度を表す。同様の特性については文献に記載されており、例えばウォール他(Wahl et al)(Surflet-pair-relation histograms: A statistical 3d-shape representation for rapid classification, 2003, Proceedings Fourth International Conference on 3-D Digital Imaging and Modeling 2003 (3DIM 2003), 474-481ページ)には、点対記述子のヒストグラムに基づいて3次元物体の同定システムを構築することが開示されている。法線の向きが不明な場合、即ち方向だけが判っている場合、上記角度は0°と90°との間で正則化され、これはベクトルによらない不変量である。
【0037】
「サンプリングされた点対記述子」とは、点対記述子をサンプリングしたものである。好ましい実施形態として、点対記述子の4つの項目は、サンプリングされた点対記述子を生成するために均等な間隔でサンプリングされる。サンプリングされた点対記述子の正式な定義は、以下に示すように、n
aを角度の分割数とし、d
a=360°/n
aとし、dが上述したサンプリング間隔であるとし、且つfloor(x)がxを超えない最大の整数値であるとするならば、1対の特徴点(point pair feature)F(P
1,P
2,n
1,n
2)=(F
1,F
2,F
3,F
4)をサンプリングしたF
S(P
1,P
2,n
1,n
2)は、
【0040】
グローバルモデルを表す記述(以下、グローバルモデル記述という)は、シーンから選択された所定の点対と類似する、対象物体上の全ての点対を効率的に探索させることのできるデータ構造である。従って、シーンから取得した点対を入力とし、入力した点対に類似する物体上の点対のリストを出力するデータ構造または方法である。好ましい実施形態として、サンプリングされた点対記述子と一群の点対とのマッピングが、点対記述子として使用される。所定の点対に対して、標本化点対記述子を計算し、全ての点対を検索するために均等にサンプリングされた点対記述子を有するハッシュテーブルを使用することによりマッピングが完了する。ハッシュテーブルは、類似した複数の点対に効率的にアクセスすることが可能であり、所要時間はモデル記述に蓄積されている点対の総数に依存しない。他の実施形態として、ニアレストネイバー法(nearest neighbor)でアクセスするための方法は、所定の点対の中の1つと類似した点対記述子を含む全ての点対を検索することに利用される。さらに他の実施形態では、データ構造として、例えば探索木のような任意の検索方法を使用してもよい。
図3はグローバルモデル記述の概略図である。
図3に示すように、表面301から点対302が選択され、点対記述子303が計算される。グローバルモデル記述304は、使用する点対記述子305にインデックスを付け、点対302と類似する特性を有する3次元物体307の表面上の一群の点対308が求められる。
【0041】
「シーンでの物体の局所姿勢」とは、所定の参照点は物体の表面に位置するという仮定条件に基づいて、参照点と呼ばれる所定のシーン点を基準とするシーンでの物体の3次元位置姿勢と定義される。当該仮定条件は取り得る位置姿勢を限定する。従って、局所位置姿勢は3次元位置姿勢よりも少ない自由度を有する。好ましい実施形態として、局所位置姿勢は以下に示すように局所座標を使用してパラメータ化される。s
rを物体の表面上に位置すると仮定されるシーンでの参照点であるとし、(a)m
rがs
rに対応するモデル表面の点であるとし、(b)αはs
r、m
r、及びこれらの法線を位置合わせした後のs
rの法線周りの回転角であるとする(
図6を参照)。s
rに関する局所座標は、(m
r,α)のように記載され、全部で3つの自由度を有し、2つはモデル面のm
rの位置、1つは回転角αである。他の実施形態として、uv座標またはテクスチャ座標のような物体面の異なるパラメータ表示を使用してもよい。
【0043】
元剛体変換とする。R
x(α)を、x軸回りに角度αで回転する3次元剛体変換とする。このようにしたとき、モデル空間における点m
iからシーン空間において対応する点s
iまでのマッピングは、参照点s
rに関する局所座標(m
r,α)を用いて、以下のように記載される。
【0046】
<3次元モデル生成>
本発明の方法のオフラインフェーズにおいて、シーンにおける対象物体を後で認識しやすいような方法で、当該対象物体を表すモデルが構築される。モデル生成の方法は、
図4に示すように、(a)必要に応じて3次元物体データを準備するステップ、(b)物体のサンプリングされた点を選択するステップ、(c)グローバルモデル記述を生成するステップ、及び(d)任意に、位置姿勢を最適化するために準備するステップを含む。好ましい実施形態として、生成されたモデルは、サンプリングされた点とグローバルモデル記述とを含む。他の実施形態として、元の3次元物体データ、位置姿勢の最適化のために計算されるデータ、及びユーザが使用する方法によって必要とされる追加情報を含めてもよい。
【0047】
上述した3次元データの準備は、不要な特性の削除や必要な特性を追加して入力3次元データを準備する目的に資する1つのステップである。好ましい実施形態として、以下に示すステップが含まれる。即ち、(a1)3次元センサにより生じるノイズや異常値のような不要な特性をデータから任意に除去するステップと、(a2)表面の法線の計算ステップとであり、上記ステップa1において使用される適切な方法はデータを取得するために使用されたセンサによって決まり、上記ステップa2において表面の法線が既に存在する場合は特に必要でない。
【0048】
好ましい実施形態として、3次元物体データは一群の3次元の点、またはコンピュータ支援設計(CADモデル)の形式のいずれかにより与えられる。他の実施形態として、代数曲面を使用してもよい。さらに他の実施形態として、他の3次元の表面の形式を使用してもよい。
【0049】
3次元物体データからグローバルモデル記述を生成するために、物体のサンプリングされた一群の点を選択する必要がある。好ましい実施形態として、上述した3次元データの正則化方法を使用して3次元物体データをサンプリングし、それにより粗い一群のサンプリングされた点を生成する。他の実施形態として、ユーザがサンプリングされた点として使用するための一群の点を準備してもよい。さらに他の実施形態として、3次元物体データにおける全ての点を物体のサンプリングされた点として使用してもよい。また、さらに他の実施形態として、物体におけるランダムな点の部分集合をサンプリングされた点として使用してもよい。さらに他の実施形態として、本発明の範囲から逸脱しない限り、物体のサンプリングされた点の他の選択方法が可能である。
【0050】
グローバルモデル記述を生成するための方法は、グローバルモデル記述に用いるデータ構造に依存する。好ましい実施形態として、グローバルモデル記述の生成は
、物体のサンプリングされた一群の点から選択された各点対に対応する点対記述子を計算するステップと
、当該計算された点対記述子をインデックスとして使用して、グローバルモデル記述に各点対のサンプリングされた点を格納するステップとを備える。他の実施形態として、類似する点対を効率的に検索する際に点対記述子を全く必要としないデータ構造を使用し、当該データ構造に各点のデータを格納するようにしてもよい。
【0051】
マッチング手順で用いられる任意の位置姿勢の最適化の場合及び位置姿勢の最適化として選択された方法が、3次元物体から再計算することのできるある種のデータを必要とする場合、データはオフラインフェーズで計算され、モデルと共に格納されてもよい。好ましい実施形態として、所定の探索点に最も近い物体上の点を高速に探索することのできるデータ構造を計算してもよい。当該データ構造は、位置姿勢を最適化するためのICP(iterative closest points)法が後述する手順で使用される。他の実施形態として、その他の位置姿勢の最適化方法に関するデータ構造が使用されてもよく、例えば期待値最大化(EM)を使用してもよい(グレーンジャー、ペンネック(Granger and Pennec (Multi-scale EM-ICP: A fast and robust approach for surface registration, 2002, European Conference on Computer Vision (ECCV 2002), pp. 418-432)))。
【0052】
<物体認識及び位置姿勢決定>
本発明の方法のオンラインフェーズは、3次元シーンにおける3次元物体の
インスタンス(instance)を認識し、シーンにおける上記
インスタンスの3次元位置姿勢を計算する。オフラインフェーズで計算された3次元シーン及び3次元モデルを入力し、シーンにおける物体の一群の3次元位置姿勢及び必要に応じて位置姿勢をランクづける一群のスコアを出力する。
図5に示すように、オンラインフェーズは、(a)3次元シーンデータを準備するステップ、(b)参照点を選択するステップ、(c)参照点が対象の物体上にあるという仮定で、物体の最適な位置を表す一群の、各参照点に対する局所座標を計算するステップ、(d)得られた位置姿勢をフィルタ処理して最終
位置姿勢を形成するステップ、(e)必要に応じて位置姿勢を最適化するステップ、及び(f)必要に応じて最終位置姿勢にスコアをつけるステップを含む。
【0053】
上述した3次元シーンデータを準備するステップは、不要な特性の削除や必要な特性の追加により、入力する3次元データを準備するためのステップである。好ましい実施形態として、入力する3次元データの準備ステップは、(a1)データから、3次元センサによるノイズや生成された異常値のような不要な特性を必要に応じて抑制するステップ、(a2)表面の法線を計算するステップ、及び(a3)例えば距離スキャナ(range scanners)に基づく投影の場合におけるスキャナにより近い部分に、より高密度にサンプリングされたシーンの部分への偏りを避けるために、シーンの点群の各点を均一に分散させるステップからなり、上記ステップa1で用いられる具体的な方法は、データを取得するために使用するセンサにより決まり、上記ステップa2で表面の法線が既に存在する場合は特に必要でない。好ましい実施形態として、上記ステップa3のサンプリング間隔は、オフラインフェーズで正則化するモデルの点群に使用されたサンプリング間隔以上、及びサンプリングされた点対記述子を生成するために使用されたサンプリング間隔以上に設定される。サンプリング間隔の変更は、異なる点数を有する正則化された点群を生成し、本発明の方法における実行時間や精度に影響を及ぼす。従って、サンプリング間隔は実行時間と精度とのバランスを取るための重要なパラメータになる。他の実施形態として、ユーザがサンプリング間隔を設定してもよい。さらに他の実施形態として、サンプリング間隔は、3次元データのノイズレベルのようなアプリオリな情報(a-priori information)から計算されてもよい。
【0054】
好ましい実施形態として、3次元のシーンデータは一群の3次元の点、または計算機支援設計モデル(CADモデル)の形式のいずれかで提供される。他の実施形態として、代数曲面が使用されてもよい。さらに他の実施形態として、他のあらゆる3次元の表面の形式が使用されてもよい。
【0055】
多くの参照点が3次元のシーンデータから選択され、次のステップで使用される。この方法を正しく機能させるために、対象物体の表面上にある少なくとも1つの参照点が選択されることが重要である。なぜなら次のステップでは、対象物体の表面上にある少なくとも1つの参照点を選択しさえすれば物体の位置姿勢を検出するからである。好ましい実施形態として、シーンの点群から一部のランダムな点を抽出し、シーンの点群の大きさに応じて、一部の点の数をパラメータ化しつつ、参照点が選択される。他の実施形態として、均一に分散された一群のシーン点または元の3次元シーンデータの全ての点を参照点として使用してもよい。さらに他の実施形態として、ユーザは、既知の物体の推定位置の情報、既知のモデルの表面の性状についての情報、シーンの点群の正則化、または他の方法から参照点の選択方針を決めるために用いてもよい。これらの実施形態は、本発明の主旨から逸脱しない範囲で容易に利用することができる。選択された参照点の数は、本発明が開示する方法の実行時間に直接影響する。従って、参照点の選択方法は、参照点が多すぎて性能不足を引き起こすような選択、及び参照点が少なすぎて対象物体の認識が失敗する可能性が増大するような選択のバランスを取る必要がある。
【0056】
上述した前のステップで選択された各参照点に対して、参照点は対象物体の面上にあるという仮定に基づいて対象物体が有する3次元位置姿勢に最も一致すると思われる一群の局所座標が計算される。好ましい実施形態として、測定データを最もよく表す局所座標を計算するために、一般化ハフ変換と類似する投票方式を使用する。他の実施形態として、全数探索やエネルギー最小化法を含む、局所座標を最適化するような他の方法を用いてもよい。
【0057】
好ましい実施形態として、対象物体の局所座標を計算するため、一般化ハフ変換と類似する投票方式が使用される。これは、
(1)パラメータ空間(ここでは局所座標空間)が一群のサンプリングされたパラメータ空間に分割され、カウンタがサンプリングされた各パラメータ空間に割り付けられ、カウンタ値を0に初期化するステップと、
(2)シーン群での各参照点に対しモデルによるシーン点を表す全ての局所座標が定義される、つまりこれらの局所座標を使用して物体を変換する場合にシーン点と参照点との両方が当該物体の表面にあることを示すステップと、
(3)点を表す各局所座標に対し、局所座標を含むサンプリングされたパラメータ空間に対応するカウンタ値を増やすステップと、
(4)全てのシーン点をステッ
プ2、3で処理した後、パラメータ空間の一部を表す局所座標空間のサンプリングされた各パラメータ空間のカウンタ値は、シーン点の数に一致するステップとを含む。サンプリングされたパラメータ空間のカウンタ値は、最善の方法でシーン点を表すそれらの局所座標に一致する最大値を有する。最後のステップでは、最大のカウンタ値を有するサンプリングされたパラメータ空間、またはカウンタ値が閾値を超えたサンプリングされた一群のパラメータ空間が選択される。投票方式に関する他のいくつかの実施形態が可能である。例えば、上記ステッ
プ2では、全てのシーン点ではなく一部分のシーン点を使用してもよい。また、上記ステッ
プ3では、シーン点の重みに依存する値によってカウンタ値を増やしてもよい。さらに、上記ステッ
プ4では、ヒストグラム分析を使用してヒストグラムのピークから投票空間を分析することが含まる。なお、これに限定されるものではない。
【0058】
好ましい実施形態として、上述したステッ
プ1におけるパラメータ空間の分割は、以下のように行われる。局所座標の第1の構成要素、即ちモデル表面上の点を表す要素であり、3次元物体データから選択された1つのサンプリングされた点により表され、従って離散値に分割(サンプリング)される。第2の構成要素、即ち参照点の法線周りの回転角を表す構成要素は、均等な間隔n
aで可能な回転角の0°から360°の間隔を割ることにより分割され、上述したサンプリングした点対記述子の角度のサンプリングに類似する。他の実施形態として、第1の構成要素の分割は、uv座標またはテクスチャ座標で表して行ってもよく、それらをサンプリングしてもよい。
【0059】
上記ステッ
プ2で現在のシーン点と対応する局所座標の計算は、以下のように行われる。
(2.1)参照点と現在のシーン点との間の点対記述子が、上述したように計算されてサンプリングされ、
(2.2)サンプリングされた点対記述子を使用して、オフラインフェーズで計算されたグローバルモデル記述にアクセスし、点対記述子と略等しい間隔及び方向をもつようなモデルの点対のリストを取得し、及び
(2.3)このような各モデルの点対に対して、局所座標はシーン点対及びモデルの点対を使用して、上記式3を使用して計算される。他の実施形態として、グローバルモデル記述は、サンプリングをしなくても点対記述子に類似した点対の探索を可能とするデータ構造のようなニアレストネイバー法に基づいてもよい
。
【0060】
全てのシーン点が処理された後、上記ステッ
プ4では、対応するカウンタ値が最大値を有するサンプリングされたパラメータ空間を選択する。好ましい実施形態として、最大値、即ち全体の最大値を有するカウンタが選択される。他の実施形態として、一定の閾値を超えるカウンタ値を有する全てのサンプリングされたパラメータ空間を使用してもよく、閾値は固定値または全てのカウンタ値のうちの最大値で決めてもよい。さらに他の実施形態として、グローバル閾値の代わりにカウンタ空間(counter space)における局所的なピークを検出するための方法を使用してもよい。
【0061】
サンプリングされたパラメータ空間から1つの局所座標を取得し、完全な3次元位置姿勢に変換し、各3次元位置姿勢は対応する局所座標のカウンタ値を求める。当該カウンタ値は上記3次元位置姿勢のスコアを表すことになる。
【0062】
位置姿勢フィルタ処理は、1または2以上の参照点から位置姿勢候補を入力とし、必要に応じてスコア値を伴い、位置姿勢の正しさを示す尺度により順序付けられた最も可能性の高い対象物体の位置姿勢のみが含まれるフィルタ処理後の一群の位置姿勢を出力する方法である。一般に、一群の位置姿勢に含まれる位置姿勢の数は、0、1、または2以上である。位置姿勢フィルタ処理は、以下の異なった目的のために行われる。
【0063】
(1)異常値の除去。
参照点に対する位置姿勢候補は、参照点が対象物体の表面にあると仮定して計算される。当該仮定が誤りである場合、例えばシーン中の対象物体に属していないクラッターの点の場合、または参照点の法線が不正確である場合、参照点に対する位置姿勢候補は不正確な姿勢を含むことになる。位置姿勢フィルタ処理はこのような不正確な位置姿勢の除去を想定している。
【0064】
(2)精度及び安定性の向上。
いくつかの参照点が物体の表面にある場合、各点の位置姿勢候補は物体の正しい位置姿勢を含むであろう。但し、計算における数値誤差、データにおけるノイズ、及び上記方法に含まれるサンプリングステップにより、位置姿勢は正しい位置姿勢からわずかにずれるであろう。位置姿勢フィルタ処理は異なる参照点から検出された全ての正確な位置姿勢を分類し、平均的な位置姿勢が計算されるので、最終的に得られる位置姿勢の精度及び安定性が向上する。
【0065】
好ましい実施形態として、位置姿勢フィルタ処理は、(d1)位置姿勢間を近隣関係と定義するステップ、(d2)(上記ステップd1で定義したような)近隣の位置姿勢の全スコアを合計した新しいスコアを各位置姿勢に割り当てるステップ、(d3)新しいスコアで位置姿勢をソートするステップ、(d4)最高のスコアを有する位置姿勢を選択するステップ、及び(d5)必要に応じて選択された位置姿勢を再計算して近隣の姿勢の平均を求めるステップを含み、上記ステップd1では、姿勢が正しい場合の回転量の差が固定閾値より小さく異なる場合、及び平行移動ベクトルの差が固定閾値より短い長さである場合に近隣関係と定義する。他の実施形態として、上記ステップd1での位置姿勢の近隣関係は、モデル上の点の2つの姿勢間における位置の最大差の閾値で定義され、例えば、
【0067】
である。上記ステップd2の他の実施形態として、スコアは重み付けされた近隣の位置姿勢のスコアの合計から計算される。当該実施形態において、重み関数は2つの位置姿勢により決まる。上記ステップd1の他の実施形態として、全ての位置姿勢は近隣の位置姿勢関係であると定義され、そのような場合は上述したように重み関数が使用される。加えて、上記ステップd1で近隣の位置姿勢を定義することができなければ、投票方式によって最高スコアを有する位置姿勢を効果的に選択することができる。他の実施形態として、Kミーンズ(k-means)法または平均値シフトのようなクラスタリング法を、一群の最終位置姿勢を選択するために使用してもよい。上記ステップd5の好ましい実施形態として、位置姿勢の平均を求めるに際して位置姿勢の平行移動ベクトルの平均移動量の中央値を計算する。また、上記回転量の平均化に際し、位置姿勢の回転に関する平均ロドリゲスベクトル(average Rodriguez vector)を計算する。上記ステップd5の他の実施形態として、上記回転量は、平均の回転量を計算する前に、選択した位置姿勢の逆回転と組み合わせてもよい。これにより平均回転の安定性が向上する。上記ステップd5のさらに他の実施形態として、位置姿勢や平均位置姿勢に依存する平均の回転量は、スコア関数を最適化することにより計算される。他の実施形態として、本発明の範囲を逸脱しないいくつかの他の方法を用いて、上述した1または2以上の目的を満たすことができる。
【0068】
位置姿勢の最適化とは、3次元物体モデル、3次元シーン、及びシーンにおけるモデルの近似位置姿勢を入力とし、位置姿勢の最適化されたより正確なモデルの位置姿勢を出力するような処理の総称である。位置姿勢の最適化は一般的に、誤差関数を最小化することによって、シーンと物体との間の一致関係を最適化する。位置姿勢の最適化の欠点は、初期の近似位置姿勢が既知である必要があり、十分に集束する方法である必要がある。上述したような本発明は、物体の近似位置姿勢を計算し、十分に位置姿勢を最適化する。位置姿勢の最適化の利用は、任意であり、発明を使用するユーザにより要求される精度に依存する。本発明の方法で計算された位置姿勢は、握るような物体操作に対して十分に正確である。但し、表面検査、例えば間違って生成された部分の検出に本発明を使用するアプリケーションは、位置姿勢の最適化ステップを必要とする。好ましい実施形態として、位置姿勢の最適化のためにICP(iterative closest points)法を使用してもよい。ICP法によれば、シーンにおける点と物体面との距離の合計が最小化される。他の実施形態として、シーン点と物体との距離を最小化するあらゆる方法を使用してもよい。さらに他の実施形態として、本発明の範囲から逸脱しない限り、近似位置姿勢を最適化するための他のいくつかの方法が使用可能である。
【0069】
スコアリングとは、アルゴリズムで計算されたような最終位置姿勢、3次元シーンデータ、及び3次元物体データを入力とし、計算された位置姿勢の特性、即ち上記位置姿勢におけるシーンと物体との一致を表す1つ以上の値を出力する方法である。最終位置姿勢の特性及び精度は、とりわけ、シーンでの対象物体の表れ方及び可視性に加えて、シーンデータ及びモデルデータの質に依存する。スコアリングは、使用するユーザに結果として得られた位置姿勢を評価する方法を提供する場合に必要であり、スコアリングはこの後行われる判定の基準になる。
【0070】
最終位置姿勢のスコアリングのためのいくつかの他の実施形態が可能であり、(a)投票方式で計算したような位置姿勢のスコアを求めるステップ、(b)位置姿勢フィルタ処理ステップで計算したような累積スコアを求めるステップ、(c)求めた位置姿勢にあるモデル表面上のシーン点の数を数えるステップ、(d)求めた位置姿勢にあるモデルに近いシーン点に対するモデル面と、シーン点との間の距離における共分散を計算するステップ、(e)シーンデータを取得するために使用される距離センサの画像中にモデルを投影し、距離画像領域でのモデルとシーン点との間の距離を計算するステップ、(f)上記ステップeの方法において、ステレオ法のように必要とされるような複数の視点から投影されたモデルの点の可視性を確認する追加ステップを伴うステップ、(g)モデル表面の点の法線と、対応するシーン表面の点の法線との間の内積の合計を計算するステップ、(h)全体のモデル表面に対する可視可能なモデル表面の比率、またはセンサカメラにより取得された位置姿勢における可視のモデル表面に対する可視可能なモデル表面の比率を計算するステップ、及び(i)上記ステップa〜hの中から2つ以上の方法を使用し、求められた値を結合するステップを含み、これに限定されるものではない。加えて、本発明の範囲から逸脱しない限り、ユーザの要求やセンサの特徴に応じて種々のスコアの計算方法が可能である。
【0071】
好ましい実施形態として、位置姿勢の最適化を使用しない場合、上記ステップbで計算したような位置姿勢フィルタ処理で計算したスコアが出力され、位置姿勢の最適化が使用される場合、上記ステップc、d、e、またはfで計算したスコアが出力される。
【0072】
本発明は、図や上述の説明において詳細に図示し、記載したが、このような図示や記載は模式的または例示的なものであり、これに限定されるものではない。請求項の範囲内で、当業者に変更及び変形されてもよいと解されるものである。特に、本発明は、この前後に記載した種々の実施形態のあらゆる組合せを有するさらなる実施形態を含む。
【0073】
さらに、請求項に記載した要素やステップに限られず、本発明の範囲を逸脱しない範囲で他の要素やステップを含んでもよい。また、請求項で使用している参照符号は本発明の範囲を限定するものではない。