JP4608152B2 - Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium - Google Patents

Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium Download PDF

Info

Publication number
JP4608152B2
JP4608152B2 JP2001273048A JP2001273048A JP4608152B2 JP 4608152 B2 JP4608152 B2 JP 4608152B2 JP 2001273048 A JP2001273048 A JP 2001273048A JP 2001273048 A JP2001273048 A JP 2001273048A JP 4608152 B2 JP4608152 B2 JP 4608152B2
Authority
JP
Japan
Prior art keywords
data
range
range data
texture
correlation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001273048A
Other languages
Japanese (ja)
Other versions
JP2002175521A (en
Inventor
英人 竹内
克史 池内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001273048A priority Critical patent/JP4608152B2/en
Publication of JP2002175521A publication Critical patent/JP2002175521A/en
Application granted granted Critical
Publication of JP4608152B2 publication Critical patent/JP4608152B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/32Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、物体の三次元形状を求める三次元データ処理装置および三次元データ処理方法、並びにプログラム提供媒体に関する。特にある視点から被写体を観察して視点からの距離データを求め、異なる複数視点からの複数の距離データを合成して被写体全体の三次元形状を算出する三次元形状を求める三次元データ処理装置および三次元データ処理方法、並びにプログラム提供媒体に関する。
【0002】
【従来の技術】
物体の三次元形状を取得する手法にはいくつかの方法がある。三次元形状計測方法は大きく分けると、アクティブ手法(Active vision)とパッシブ手法(Passive vision)とに分類される。アクティブ手法は、さらに、レーザ光や超音波等を発して、対象物からの反射光量や到達時間を計測し、奥行き情報を抽出するレーザー手法、スリット光などの特殊なパターン光源を用いて、対象表面パターンの幾何学的変形等の画像情報より対象形状を推定するパターン投影方法、光学的処理によってモアレ縞により等高線を形成させて、3次元情報を得る方法などに分類される。一方、パッシブ手法は、一枚の画像から3次元情報を推定する単眼立体視、三角測量原理で各画素の奥行き情報を推定するステレオ法等に分類される。
【0003】
上述のレーザー手法、あるいはステレオ法を適用して得られる計測対象の距離情報は、計測対象の表面形状を表すデータであり、レンジデータと呼ばれる。レンジデータはレーザー手法、あるいはステレオ法等を適用して得られる計測ポイントの距離データ・サンプル点の集合データである。
【0004】
また、計測対象の表面の色彩等、肉眼で観察したと同様の撮影データをテクスチャデータと呼ぶ。レンジデータとテクスチャデータとを対応付ける処理をテクスチャマッピングといい、テクスチャマッピングにより、測定対象の三次元モデルが生成される。
【0005】
【発明が解決しようとする課題】
しかし、一般にレンジデータは、1回の測定で測定点として設定した一方向からの測定対象のレンジデータが求められるのみであり、物体全体の三次元形状を求める場合は、複数の測定点からのレンジデータを測定位置ごとに位置合わせて合成する処理が必要になる。これはテクスチャデータについても同様である。
【0006】
複数のレンジデータの合成には、例えば、測定対象を回転テーブルの上に設置し、撮影方向と回転テーブルの回転角度を対応付けて複数のレンジデータを取得して、回転テーブルの回転角度に基づいて複数のレンジデータ、または複数のテクスチャデータの合成を行なうことが可能であるが、回転テーブルに設置することができない大きな物体、例えば家、建物、仏像、あるいは自然界に存在する地形等については、このような手法での複数のレンジデータの合成処理は、困難である。
【0007】
複数のレンジデータの各々は、それぞれ他のレンジデータと一部重なりを持つように測定領域が設定され、それぞれのレンジデータの重なり領域における距離データの相関を算出して相関の高い位置を複数のレンジデータの合成位置として求める処理を実行するのが一般的であった。図1にレンジデータの相関によるレンジデータの合成処理例を示す。
【0008】
図1(a)に示す測定対象101に対し、2つのレンジデータ測定器102,103の2つの測定点からのレンジデータの位置合わせ合成を行なう場合を想定する。レンジデータ測定器102,103から取得されたレンジデータは、図1(b)のように示される。ここでは説明を簡易にするためにレンジデータをある平面で切ったX軸上に延びる線状のデータとして示している。このとき、一方のレンジデータを固定し、他方のレンジデータをX軸上で移動させて、2つのレンジデータの重なり領域における相関の最も高いポイントを求めて、2つのレンジデータの位置合わせ処理を実行する。図1に示すように測定対象の表面の形状が特徴的、すなわち凹凸がある場合には、隣接する異なるレンジデータの重なり領域をレンジデータの相関から求めることは比較的容易である。
【0009】
異なるレンジデータの重なり領域における位置合わせのアルゴリズムは、例えば以下の式を最小にするレンジデータの対応位置を求める処理によって行われる。
【0010】
【数1】

Figure 0004608152
【0011】
上記式において、x(i)、y(i)は、レンジデータx、レンジデータyのそれぞれのサンプル点(i)の距離データ値であり、Rは回転行列、tは並進ベクトルである。上記式を最小にする処理は、一方のレンジデータを固定し、他方のレンジデータの移動量R,tを変化させる処理によって実行される。すなわち、上記式の最小値をとる移動量R,tを算出する処理として実行される。
【0012】
レンジデータの位置合わせ処理の多くは、「P.J.Besl」が考案したアルゴリズムを基本とする(例えば、P.J.Besl,N.D.Mckey:A method of Registration of 3-D Shapes. IEEETrans. Pattern Analysis and Machine Intelligence Vol.14,No.2 pp239-256,1992)。この応用例として「Z.Zhang」によって構成された例(Z.Zhang: Iterative Point Matching for Registration of Free-Form Curves and Surface. International Journal of Computer Vision,Vol.13, No.2, pp.119-152,1994)がある。この基本アルゴリズムは、ICP(Iterative Closest Point)と呼ばれる。ICPでは重なり合うレンジデータ間の一番近い点同士を対応点とし、繰り返し上記式のεを最小にするように移動量R,tを求めることでレンジデータ間の位置合わせをを行なう。ただし、この方法は、重なり領域を持つレンジタデータ間でのみ適用可能であり、対応点を単純に近い点としているために、形状に特徴がない場合に誤対応が発生しやすいという欠点がある。
【0013】
また、上記方法は、隣合う2つのレンジデータ間でのみ位置合わせを行なうものであり、3以上のレンジデータを順次位置合わせ処理を行なっていくと、位置合わせ誤差が順次伝播し、終端に誤差の蓄積が発生するという問題がある。物体を複数の方向からスキャンし、全体のレンジデータを撮影(測定)し、位置合わせを順次行なうと誤差が蓄積し、最悪の場合、データが閉じないことも発生し得る。
【0014】
このような欠点を除去する方法として、複数のレンジデータを一度に位置合わせする方法の検討がなされている。代表的な手法には、「Neugebauter」の方法(Peter J.Neugebauter: Reconstruction of Real-World Objects Via Simultaneous Registration and Robust Combination of Multiple Range Images. International Journal of Shape Modeling, Vol/3 No.1&2,pp71-90,June 1997)がある。この方法では、すべての重なり合うレンジデータにおける誤差を同時に少なくなるように、各レンジ間の移動量R,tを求めている。対応点は、あるレンジデータ上の点を通る撮影方向に平行な直線が、もう1つのレンジデータと交差した点を対応点としている。ただし、この方法もレンジデータから得られる表面形状の特徴のみを使用してレンジデータ相互の位置合わせを行なっている。そのため、例えば缶のような表面が均一な態様を持ち、表面形状に基づく位置合わせが難しい物体を測定対象とした場合には、複数のレンジデータ間の位置合わせは困難となる。
【0015】
例えば、図2に示すような測定対象201に対して異なる測定ポイントからレンジデータを取得し、レンジデータの位置合わせ処理を相互のレンジデータから取得される距離情報(表面形状)の相関に基づいて実行しようとしても、図2(b)に示すように、測定対象物表面に特徴的な凹凸が存在せず、一方のレンジデータを移動しても相関値の変化が殆ど発生しない。従って、レンジデータ相互の重なり領域の位置合わせをレンジデータの相関に基づいて実行することが難しく、測定対象物の全体の正確な表面形状の算出が困難となる。
【0016】
上述のようなレンジデータのみの位置合わせ処理の困難性を補う手法として全周位置合わせを行なう際に、テクスチャの色の境界面を使用する方法も提案されている(石川知幸、大槻正樹、佐藤幸男:色の境界部分を用いた複数レンジデータの統合、コンピュータビジョンとイメージメディア110−11,1998,3,19)この方法では、物体表面に明確な色の違い(境界)がある場合に、その境界をてがかりとして対応点の補正を行なう。しかし、測定対象物に明確な色の境界が存在しない場合は、本方法は適用できない。
【0017】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、レンジデータの相関からの位置合わせ処理が困難な測定対象であっても、正確にレンジデータの位置合わせ処理を実行することを可能とした三次元データ処理装置および三次元データ処理方法、並びにプログラム提供媒体を提供することを目的とする。
【0018】
具体的には、異なる視点からのレンジデータとテクスチャデータの複数組を生成し、重なり領域を持つレンジデータの相対移動処理を実行し、微少移動された位置において、レンジデータ相互の対応点を算出し、算出した対応点に基づいて、テクスチャデータを用いたテクスチャの相関を計算する。レンジデータの微少移動、対応点算出、算出した対応点位置におけるテクスチャデータの相関値計算を繰り返し、最も高いテクスチャ相関を持つものを対応点として出力し、出力した対応点に基づいてレンジデータの移動量を算出する構成により、表面形状に特徴のない物体においても正確な位置合わせを可能とした三次元データ処理装置および三次元データ処理方法、並びにプログラム提供媒体を提供する。
【0019】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、
測定対象に対して異なる計測ポイントにおいて取得される複数のレンジデータの位置合わせ処理を実行する三次元データ処理装置であり、
前記測定対象に対して異なる計測ポイントにおいて計測されたレンジデータおよびテクスチャデータの複数の組データを入力するデータ入力手段と、
前記データ入力手段に入力されたデータ中、重なり領域を持つ2つの組データの対応点を該2つの組データ中の2つのテクスチャデータの重なり領域における相関に基づいて設定する対応点探索手段と、
前記対応点探索手段において設定された対応点に基づいて、前記2つの組データ中の2つのレンジデータの重なり領域における誤差を最小にする2つのレンジデータの相対位置を設定するための一方のレンジデータの移動量を求める移動量算出手段と、
を有することを特徴とする三次元データ処理装置にある。
【0020】
さらに、本発明の三次元データ処理装置の一実施態様において、前記対応点探索手段は、前記重なり領域を持つ2つの組データに含まれる2つのレンジデータについて、一方のレンジデータを他のレンジデータに対して複数の異なる相対位置に移動させる微少移動手段と、前記複数の異なる相対位置の各々の位置に応じて、2つのレンジデータ間の対応点を設定する対応点算出手段と、前記対応点算出手段において設定された対応点に基づいて定まる2つの組データの重なり領域における2つのテクスチャデータの相関を算出するテクスチャ相関算出手段と、前記テクスチャ相関算出手段が算出した最も高い相関を示す2つのテクスチャデータの組に対する2つのレンジデータ対応点を出力対応点として出力する対応点出力手段とを有することを特徴とする。
【0021】
さらに、本発明の三次元データ処理装置の一実施態様において、前記対応点探索手段は、重なり領域を持つ2つのテクスチャデータの相関を算出するテクスチャ相関算出手段を有し、該テクスチャ相関手段の算出する相関は、2つのレンジデータの輝度値、または色値のいずれかに基づくものであることを特徴とする。
【0022】
さらに、本発明の三次元データ処理装置の一実施態様において、前記移動量算出手段により求める移動量は、一方のレンジデータの移動量を示す回転行列Rと、並進ベクトルtの組として算出する構成であることを特徴とする。
【0023】
さらに、本発明の三次元データ処理装置の一実施態様において、前記移動量算出手段は、3以上の複数のレンジデータを入力し、すべての重なり合うレンジデータにおける誤差を同時に少なくなるように、各レンジ間の移動量を求める構成を有することを特徴とする。
【0024】
さらに、本発明の第2の側面は、
測定対象に対して異なる計測ポイントにおいて取得される複数のレンジデータの位置合わせ処理を実行する三次元データ処理方法であり、
前記測定対象に対して異なる計測ポイントにおいて計測されたレンジデータおよびテクスチャデータの複数の組データを入力するデータ入力ステップと、
前記データ入力ステップにおいて入力されたデータ中、重なり領域を持つ2つの組データの対応点を該2つの組データ中の2つのテクスチャデータの重なり領域における相関に基づいて設定する対応点探索ステップと、
前記対応点探索ステップにおいて設定された対応点に基づいて、前記2つの組データ中の2つのレンジデータの重なり領域における誤差を最小にする2つのレンジデータの相対位置を設定するための一方のレンジデータの移動量を求める移動量算出ステップと、
を有することを特徴とする三次元データ処理方法にある。
【0025】
さらに、本発明の三次元データ処理方法の一実施態様において、前記対応点探索ステップは、前記重なり領域を持つ2つの組データに含まれる2つのレンジデータについて、一方のレンジデータを他のレンジデータに対して複数の異なる相対位置に移動させる微少移動ステップと、前記複数の異なる相対位置の各々の位置に応じて、2つのレンジデータ間の対応点を設定する対応点算出ステップと、前記対応点算出ステップにおいて設定された対応点に基づいて定まる2つの組データの重なり領域における2つのテクスチャデータの相関を算出するテクスチャ相関算出ステップと、前記テクスチャ相関算出ステップにおいて算出した最も高い相関を示す2つのテクスチャデータの組に対する2つのレンジデータ対応点を出力対応点として出力する対応点出力ステップとを含むことを特徴とする。
【0026】
さらに、本発明の三次元データ処理方法の一実施態様において、前記対応点探索ステップは、重なり領域を持つ2つのテクスチャデータの相関を算出するテクスチャ相関算出ステップを有し、該テクスチャ相関ステップにおいて算出する相関は、2つのレンジデータの輝度値、または色値に基づくものであることを特徴とする。
【0027】
さらに、本発明の三次元データ処理方法の一実施態様において、前記移動量算出ステップにおいて求められる移動量は、一方のレンジデータの移動量を示す回転行列Rと、並進ベクトルtの組として算出することを特徴とする。
【0028】
さらに、本発明の三次元データ処理方法の一実施態様において、前記移動量算出ステップは、3以上の複数のレンジデータを入力し、すべての重なり合うレンジデータにおける誤差を同時に少なくなるように、各レンジ間の移動量を求めるステップであることを特徴とする。
【0029】
さらに、本発明の第3の側面は、
測定対象に対して異なる計測ポイントにおいて取得される複数のレンジデータの位置合わせ処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム提供媒体であって、前記コンピュータ・プログラムは、
前記測定対象に対して異なる計測ポイントにおいて計測されたレンジデータおよびテクスチャデータの複数の組データを入力するデータ入力ステップと、
前記データ入力ステップにおいて入力されたデータ中、重なり領域を持つ2つの組データの対応点を該2つの組データ中の2つのテクスチャデータの重なり領域における相関に基づいて設定する対応点探索ステップと、
前記対応点探索ステップにおいて設定された対応点に基づいて、前記2つの組データ中の2つのレンジデータの重なり領域における誤差を最小にする2つのレンジデータの相対位置を設定するための一方のレンジデータの移動量を求める移動量算出ステップと、
を有することを特徴とするプログラム提供媒体にある。
【0030】
本発明の第3の側面に係るプログラム提供媒体は、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・プログラムをコンピュータ可読な形式で提供する媒体である。媒体は、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの伝送媒体など、その形態は特に限定されない。
【0031】
このようなプログラム提供媒体は、コンピュータ・システム上で所定のコンピュータ・プログラムの機能を実現するための、コンピュータ・プログラムと提供媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、該提供媒体を介してコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の他の側面と同様の作用効果を得ることができるのである。
【0032】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0033】
【発明の実施の形態】
以下、本発明の三次元データ処理装置および三次元データ処理方法の実施例について、図面を参照して説明する。まず、図3に本発明の三次元データ処理装置におけるレンジデータ相互の位置合わせ処理を実行するための構成を示すブロック図を示す。
【0034】
レンジデータ入力部301およびテクスチャデータ入力部302は、測定対象物の各測定ポイントから取得したレンジデータとテクスチャデータを入力する。例えば図4に示す構成のように、測定対象物401に対してそれぞれ異なる視点から測定対象を観察する測定ポイント402A〜402Zにおいて取得されるレンジデータとテクスチャデータを順次入力する。レンジデータは、前述したレーザー手法、あるいはステレオ法等の距離データ取得手法を適用して得られる計測対象の距離情報であり、テクスチャデータは、通常のカメラ等で取得される測定対象の表面の輝度、色情報等を含むデータである。
【0035】
図4では、測定対象401に対して周囲を取り巻くように測定器(撮影手段)を設置してあるが、これは一例であり、測定対象物の一部のデータを取得したい場合は、測定対象物の一部のデータを取得するために必要な1以上の測定手段を設置する構成としてもよく、また、図4に示す測定ポイント以外に測定対象401に対して上方あるいは下方からレンジデータ、テクスチャデータを取得するポイントを設けてもよい。また、測定ポイントを多数設定する代わりに、測定対象を例えばテーブル等に載置してカメラに対して測定対象を相対的に移動する構成としてもよい。
【0036】
なお、個々の測定ポイント402A〜402Zでは、測定対象401のレンジデータおよびテクスチャデータを同一視点からのデータの組として取得され、1つの視点に属するレンジデータとテクスチャデータの組はそれぞれのデータ取得領域においてデータの対応付けがなされているものとする。また、測定対象401に対して設置される各測定ポイント402A〜402Zから取得されるレンジデータおよびテクスチャデータは、それぞれ他のポイントからの測定データの少なくてもいずれかのデータとの重なり領域を有する。
【0037】
図3に戻り、各構成部の機能について説明する。レンジデータ入力部301およびテクスチャデータ入力部302は、図4に示すような各測定ポイントにおいて取得したレンジデータおよびテクスチャデータを取り込むものであるが、実際の測定手段から直接、データを入力する構成に限らず、データを蓄積したハードディスク等の記憶手段を介してレンジデータ、テクスチャデータを取り込む構成としてもよい。
【0038】
データ保持部303は、各測定ポイントにおいて取得されたレンジデータおよびテクスチャデータを格納するとともに、レンジデータの移動量R,tを保持する移動量保持部を各測定ポイント毎に有する。なお、レンジデータの移動量は、下記式に含まれる移動量としての回転行列R、並進ベクトルtである。
【0039】
【数2】
Figure 0004608152
【0040】
上記式において、x(i)、y(i)は、レンジデータx、レンジデータyのそれぞれのサンプル点(i)の距離データ値であり、Rは回転行列、tは並進ベクトルである。位置合わせ処理は、上記式を最小にする処理、すなわち、上記式のεの最小値をとる移動量R,tを算出する処理として実行される。
【0041】
例えば測定ポイントAにおいて取得されたレンジデータは、レンジデータ保持部A304に格納され、ポイントAにおいて取得されたテクスチャデータは、テクスチャデータ保持部A305に格納される。さらに、次に説明する対応点探索処理において求められたレンジデータAの移動量R,tが移動量保持部Aに格納される。各測定ポイントB〜Zについても同様にデータ保持部に設けられた各レンジデータ保持部B〜Z、テクスチャデータ保持部B〜Z、移動量保持部B〜Zに格納される。
【0042】
対応点探索部308は、重なり領域を有する2つのデータ取得ポイントのレンジデータ、テクスチャデータ、例えば測定ポイントAと測定ポイントBの隣接ポイントのデータを入力して、重なり領域の位置合わせ処理を実行して対応点を求める処理を実行する。対応点探索部における処理については、図5を用いて後段で詳細に説明する。
【0043】
移動量算出部309は、対応点探索部308において探索された重なり領域を持つ2つのレンジデータの対応点に基づいて前記式[数2]を計算し、[数2]のεを最小にするよう、一方のレンジデータの移動量を求める。移動量は前記式[数2]の移動量R,tである。例えばレンジデータAと、レンジデータBに基づいて、レンジデータAを固定し、レンジデータBを移動させて前記式[数2]の値を最小にするR,tを求めた場合には、移動量保持部Bにその求めた移動量R,tが格納される。
【0044】
対応点探索部308においては位置合わせを実行する重なり領域を持つ2つのデータを入力して対応点がそれぞれ求められ、移動量算出部309は、それぞれの1組のデータに基づいて前記式[数2]に従ってεを最小にする移動量R,tを求める処理を実行する。移動量算出部309は、1組の2つのレンジデータ毎に移動量算出を実行する構成としてもよく、また、3以上のレンジデータを入力して重なり領域を持つレンジデータの組[A,B]、[B,C]それぞれの前記式[数2]のε[A,B]、ε[B,C]…を求めて、例えば「Neugebauter」の方法(Peter J.Neugebauter: Reconstruction of Real-World Objects Via Simultaneous Registration and Robust Combination of Multiple Range Images. International Journal of Shape Modeling, Vol/3 No.1&2,pp71-90,June 1997)を適用して、すべての重なり合うレンジデータにおける誤差を同時に少なくなるように、各レンジ間の移動量R,tを求める構成としてもよい。
【0045】
移動量出力部307は、移動量算出部309で求めた値を保持している移動量保持部A〜Zの値を出力する。出力された移動量に基づいてレンジデータの位置が決定され、例えば測定対象全周囲の距離データが構成されて、テクスチャデータを貼り付けることにより、測定対象の三次元画像が生成される。
【0046】
図5に対応点探索部の詳細構成を示す。図5の対応点探索部505には、2つの異なる測定ポイントから取得された重なり領域を持つ2つのレンジデータ、テクスチャデータが入力される。ここでは、入力データをレンジデータ保持部i,501に格納されたレンジデータi、テクスチャデータ保持部i,502に格納されたテクスチャデータi、レンジデータ保持部i+1,503に格納されたレンジデータi+1、テクスチャデータ保持部i+1,504に格納されたテクスチャデータi+1とする。
【0047】
レンジデータ保持部i,501に格納されたレンジデータiと、レンジデータ保持部i+1,503に格納されたレンジデータi+1に格納されたレンジデータは、対応点探索部505の微少移動部508に入力される。重なり領域を持つレンジデータは、その測定ポイント位置からおおよその相対位置関係が初期設定され、その初期設定位置から、微少移動部508において、あらかじめ定めた複数の移動バリエーションに応じてレンジデータの相対移動処理が実行される。微少移動されたポイントにおいて、対応点算出部507においてレンジデータ相互の対応点が算出され、設定した対応点に基づいて、同様の対応付けを行なったテクスチャデータを用いた相関がテクスチャ相関算出部506において計算される。テクスチャ相関算出部506において計算された相関は相関値保持部509に保持され、その相関値に対応する対応点が対応点保持部510に保持される。
【0048】
微少移動部508における微少移動、対応点算出部507対応点算出処理、テクスチャ相関算出部506におけるテクスチャデータの相関値計算が、微少移動部508において実行される複数の移動バリエーションに従った様々な微少移動毎に繰り返し実行され、異なる対応点に基づいて計算されたテクスチャ相関値のうち、最も高い相関を持つものが対応点出力部511から出力される。
【0049】
上記処理の詳細について、さらに、図6を用いて説明する。図6を用いて、重なり領域を持つ隣接する測定ポイントX,Yから取得された2つのレンジデータX,Y、テクスチャデータX,Yを用いた対応点設定処理を説明する。レンジデータX,Yは、サンプル点Xi,Yiの集合である。また、隣接サンプル点を結ぶことにより設定される三角メッシュの集合としてとらえることもできる。レンジデータXにはテクスチャデータXが対応付けられ、レンジデータYにはテクスチャデータYが対応付けられている。。
【0050】
まず、レンジデータXとレンジデータYが微少移動部508に入力されると、予め定められた移動バリエーションに従って、レンジデータYを微少移動させる。図6の例では、撮影視点(測定点)に垂直方向に一定距離レンジデータYを移動させる処理が1つの移動バリエーションとして実行されるものとする。図6の位置において1つの移動バリエーションに基づくレンジデータX,Yの相対位置が設定されたものとする。
【0051】
次に、対応点算出部507は、レンジデータXのサンプルポイントXiと撮影視点(測定点)とを結ぶ線をレンジデータYに伸ばした線との交点をYi’として、このXiとYi’を、この移動バリエーション位置における対応点として設定する。設定された対応点の位置は、対応点保持部510に保持される。
【0052】
テクスチャ相関算出部506は、この位置におけるテクスチャデータXとテクスチャデータY’との重なり領域における相関を算出する。テクスチャデータは、例えばそのRGB等の色値、あるいは輝度値を各座標位置において算出し、テクスチャデータXの各座標(i)における輝度値あるいはRGB等の色値をx(i)とし、テクスチャデータY’の各座標(i)における輝度値あるいはRGB等の色値をy’(i)とし、この相関を次式によって求める。
【0053】
【数3】
Figure 0004608152
【0054】
上記式において、テクスチャデータXと、テクスチャデータY’の相関が高ければR=1に近づき、相関がなければr=0、逆の相関が大きくなるとr=−1に近づく。上記式において求められた相関値rは、相関値保持部509に保持される。
【0055】
異なる移動バリエーションによって新たに対応点y”、y”’、y””…が設定されそれぞれの対応点位置が対応点保持部510に格納されるとともに、テクスチャ相関算出部において上記式に従って相関が算出され、算出された相関が相関値保持部509に保持される。対応点保持部510に格納される対応点と、相関値保持部509に保持される相関値とはそれぞれ対応付けされている。
【0056】
予め定めた移動バリエーションに基づく複数の移動処理が終了し、全ての対応点と相関値算出処理が終了すると、算出された相関値の中でもっとも高い相関値が算出された対応点位置を対応点出力部511から出力する。
【0057】
対応点出力部から出力されるテクスチャデータの相関に基づいて設定された対応点情報は、図3の移動量算出部309に出力され、移動量算出部309は、設定された対応点に基づいて、レンジデータX,Yについて前記式[数2]に従ってεを最小にする移動量R,tを求める処理を実行する。εを最小にする移動量R,tが求められると、その移動量データをレンジデータYの移動量保持部Yに格納する(レンジデータXを固定し、レンジデータンを移動させた場合)。このようにして決定された移動量に基づいて複数のレンジデータの相対位置が決定され、例えば測定対象全周囲の距離データが構成されて、テクスチャデータを貼り付けることにより、測定対象の三次元画像が生成される。
【0058】
次に、図7、図8を用いて本発明の三次元データ処理方法において実行されるテクスチャデータに基づく対応点設定を伴う移動量設定処理の各ステップについて説明する。
【0059】
まず、ステップS101において、レンジデータ(i)を入力し、レンジデータ保持部(i)に格納し、ステップS102において、テクスチャデータ(i)を入力し、テクスチャデータ保持部(i)に格納する。ただし、i=1〜nとする。nは測定ポイント数に対応する。このデータ入力処理をすべての測定点数nまで繰り返し実行する(S103)。
【0060】
すべてのレンジデータ、テクスチャデータの入力が終了すると、ステップS104以下の処理を実行する。以下のフローでは測定点i,i+1の2つの隣接データ(i)とデータ(i+1)の処理を実行する。ステップS104は、微少移動部508の処理であり、レンジデータ(i+1)を予め定めた複数の移動バリエーション(平行移動、回転移動等)の1つに従って微少移動させる。
【0061】
ステップS105は、対応点算出部507の処理であり、レンジデータ(i)と、移動処理後のレンジデータ(i+1)のサンプル点対応付けを行なう。この処理は例えば先に図6を用いて説明した処理である。ステップS106は、対応点保持部510において、対応点算出部507で対応付けた対応点を保存する処理である。
【0062】
ステップS107は、テクスチャ相関算出部506の処理であり、対応算出部507で対応付けた対応点をもとに、重なり領域のテクスチャ相関を求める。これは例えば上記式[数3]に基づく処理として実行される。ステップS108は、相関値保持部509において、テクスチャ相関算出部506で算出した相関値を保持する処理である。
【0063】
設定バリエーションの移動をすべて終了したか否かをステップS109で判定し、終了していない場合は、ステップS104〜S108の処理を繰り返し実行する。すべての設定バリエーションの移動をすべて終了すると、ステップS110に進む。
【0064】
ステップS110は、対応点出力部511において、相関値保持部の値のうち最も相関の高い値を選択し、その位置における対応点を対応点保持部510から選択し出力する。
【0065】
次のステップS111は、移動量算出部309(図3参照)の処理であり、対応点探索部において求められ出力された対応点をもとに各レンジデータの移動量を求め、移動量を移動量保持部に保存する。移動量は、前記式[数2]のR,tである。
【0066】
次のステップS112,S113は、ステップS111で求められる移動量R,tに基づいて算出されるεを予め定めた閾値と比較するステップである。算出されたεが閾値より小さければ、正しい対応点位置に基づく移動量が算出されたと判断し、ステップS114に進む。一方、ステップS111で求められる移動量R,tに基づいて算出されるεが予め定めた閾値より小さくない場合は、誤った対応点位置に基づく移動量が算出されたと判定し、ステップS113で新たな移動バリエーションを設定して、新たな移動バリエーションに基づいてステップS104以下の処理を繰り返す。
【0067】
ステップS114は、全ての重なり領域を持つレンジデータ相互の移動量が決定されたか否かを判定し、未処理データがある場合は、ステップS104に戻り、新たな重なり領域を持つデータの組を設定し処理を実行する。
【0068】
全てのデータについての処理が終了すると、ステップS115において、移動量保持部に保持された移動量が移動量出力部307から出力される。出力された移動量に基づいて複数のレンジデータの相対位置が決定され、例えば測定対象全周囲の距離データが構成されて、テクスチャデータを貼り付けることにより、測定対象の三次元画像が生成される。
【0069】
次に、図9を用いて、本発明の三次元データ処理装置のハードウェア構成について説明する。各種処理プログラムを実行する中央演算処理装置(CPU:Central Processing Unit)601は、図9の各構成部位の処理を制御する。ROM(Read only Memory)602は、IPL(Initial Program Loading)等のプログラムを記憶したメモリである。RAM(Random Access Memory)603は、CPU601が実行するプログラム、CPUによって実行する処理におけるワークエリアとして使用される。
【0070】
ビデオコントローラ604は、CPU601の制御の下、VRAM(Video RAM)605を用いてモニタである画像表示部606の表示制御を行なう。VRAM605は、画像表示部606が表示するデータ、例えばレンジデータにテクスチャデータを貼り付けた三次元モデルデータ等を一次記憶する。すなわち、表示データは、ビデオコントローラ604を介してVRAM605に一旦書き込まれ、ビデオコントローラ604がVRAM605に格納されたデータを画像表示部606に供給することで画像表示が実行される。
【0071】
ストレージコントローラ607は、例えばHD(Hard Disk)や、FD(Floppy Disk)等の磁気ディスク608、ミニディスク等の光磁気ディスク609、CD−ROM(Compact Disk ROM)などの光ディスク610、ROMやフラッシュメモリなどの不揮発性メモリ611に対するアクセスを制御する機能を持つ。磁気ディスク608、光磁気ディスク609、光ディスク610、不揮発性メモリ611はデータ、例えば上述のレンジデータ、テクスチャデータ、あるいはレンジデータにテクスチャデータを貼り付けた三次元データ等の各種データ等を記憶する。記憶データは、CPU601によってストレージコントローラ607を介して読み出される。なお、各種記憶媒体にCPU601が実行するプログラムを格納する構成としてもよい。例えば、対応点探索、相関算出処理等、図7、図8のフロー中の各種の処理プログラムを磁気ディスク等の記憶媒体に格納可能である。
【0072】
通信コントローラ612は、電波や赤外線などによる無線通信、イーサネットなどによる優先通信を制御するようになされている。レンジデータやテクスチャデータの各種測定データ、さらにCPU601が実行する各種処理プログラムを、この通信コントローラ612を介して通信を行なうことにより、外部装置から取得する構成とすることも可能である。
【0073】
入力デバイスコントローラ613は、キーボード614や、例えばマウス等のポインティングデバイス615などの制御を実行し、各入力デバイスからのコマンド、データ入力をCPU601に出力する。
【0074】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。また、上述の実施例を適宜組み合わせて構成したものも、本発明の範囲に含まれるものであり、本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0075】
【発明の効果】
以上、詳記したように、本発明の三次元データ処理装置および三次元データ処理方法によれば、レンジデータの相関に基づく位置合わせ処理が困難な測定対象であっても、テクスチャデータに基づいて対応点が高精度に設定されるので、表面形状に特徴のない物体におけるレンジデータの位置合わせが正確に実行され、高精度な三次元モデルの生成が可能となる。
【0076】
また、本発明の三次元データ処理装置および三次元データ処理方法によれば、異なる視点からのレンジデータとテクスチャデータの組を生成し、レンジデータの相対移動処理を実行して、各微少移動ポイントにおいて、レンジデータ相互の対応点を算出し、算出した対応点に基づいて、テクスチャデータを用いたテクスチャの相関を計算して最も高い相関を示すデータに対する対応点を出力し、出力した対応点に基づいてレンジデータの移動量を算出する構成であるので、表面形状に特徴のない物体においても正確なレンジデータの位置合わせ、高精度な三次元モデルの生成が可能となる。
【図面の簡単な説明】
【図1】測定対象物のレンジデータの取得構成とレンジデータの相関について説明する図である。
【図2】測定対象物のレンジデータの取得構成と、レンジデータの相関による位置合わせが困難な例について説明する図である。
【図3】本発明の三次元データ処理装置の構成を示すブロック図である。
【図4】本発明の三次元データ処理装置におけるレンジデータ、テクスチャデータの取得構成について説明する図である。
【図5】本発明の三次元データ処理装置における対応点探索部の詳細構成について説明する図である。
【図6】本発明の三次元データ処理装置における対応点設定処理例について説明する図である。
【図7】本発明の三次元データ処理装置における処理フロー(その1)を示す図である。
【図8】本発明の三次元データ処理装置における処理フロー(その2)を示す図である。
【図9】本発明の三次元データ処理装置のハードウェア構成例を示す図である。
【符号の説明】
101 測定対象
102,103 レンジデータ測定器
201 測定対象
301 レンジデータ入力部
302 テクスチャデータ入力部
303 データ保持部
304 レンジデータ保持部A
305 テクスチャデータ保持部A
306 移動量保持部A
307 移動量出力部
308 対応点探索部
309 移動量算出部
401 測定対象
402 測定ポイント
501 レンジデータ保持部i
502 テクスチャデータ保持部i
503 レンジデータ保持部i+1
504 テクスチャデータ保持部i+1
505 対応点探索部
506 テクスチャ相関算出部
507 対応点算出部
508 微少移動部
509 相関値保持部
510 対応点保持部
511 対応点出力部
601 中央演算処理装置(CPU:Central Processing Unit)
602 ROM(Read only Memory)
603 RAM(Random Access Memory)
604 ビデオコントローラ
605 VRAM(Video RAM)
606 画像表示部
607 ストレージコントローラ
608 磁気ディスク608
609 光磁気ディスク
610 光ディスク
611 不揮発性メモリ
612 通信コントローラ
613 入力デバイスコントローラ
614 キーボード
615 ポインティングデバイス[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a three-dimensional data processing apparatus, a three-dimensional data processing method, and a program providing medium for obtaining a three-dimensional shape of an object. A three-dimensional data processing device for obtaining a three-dimensional shape for observing a subject from a certain viewpoint to obtain distance data from the viewpoint and calculating a three-dimensional shape of the entire subject by combining a plurality of distance data from different viewpoints and The present invention relates to a three-dimensional data processing method and a program providing medium.
[0002]
[Prior art]
There are several methods for obtaining the three-dimensional shape of an object. Three-dimensional shape measurement methods are roughly classified into an active method (Active vision) and a passive method (Passive vision). The active method further emits laser light, ultrasonic waves, etc., measures the amount of reflected light and the arrival time from the object, extracts depth information, and uses a special pattern light source such as slit light. It is classified into a pattern projection method for estimating a target shape from image information such as geometric deformation of a surface pattern, and a method for obtaining three-dimensional information by forming contour lines with moire fringes by optical processing. On the other hand, the passive method is classified into monocular stereoscopic vision for estimating three-dimensional information from one image, stereo method for estimating depth information of each pixel based on the triangulation principle, and the like.
[0003]
The distance information of the measurement target obtained by applying the above laser method or the stereo method is data representing the surface shape of the measurement target, and is called range data. The range data is a set of distance data and sample points of measurement points obtained by applying a laser method or a stereo method.
[0004]
Also, photographing data similar to that observed with the naked eye, such as the color of the surface to be measured, is referred to as texture data. The process of associating range data with texture data is called texture mapping, and a three-dimensional model to be measured is generated by texture mapping.
[0005]
[Problems to be solved by the invention]
However, in general, the range data is only the range data of the measurement object from one direction set as the measurement point in one measurement, and when obtaining the three-dimensional shape of the entire object, the range data is obtained from a plurality of measurement points. A process for aligning and synthesizing the range data for each measurement position is required. The same applies to texture data.
[0006]
For synthesizing a plurality of range data, for example, a measurement target is set on a rotary table, a plurality of range data is acquired by associating a shooting direction with a rotation angle of the rotary table, and based on the rotation angle of the rotary table. It is possible to synthesize multiple range data or multiple texture data, but for large objects that cannot be installed on a rotating table, such as houses, buildings, Buddha statues, or terrain existing in nature, It is difficult to synthesize a plurality of range data by such a method.
[0007]
Each of the plurality of range data has a measurement area set so as to partially overlap with other range data, and the correlation of distance data in the overlap area of each range data is calculated, and a position with high correlation is set to a plurality of positions. It has been common to execute processing to obtain the range data combining position. FIG. 1 shows an example of range data synthesis processing by range data correlation.
[0008]
It is assumed that the range data from the two measurement points of the two range data measuring devices 102 and 103 is subjected to alignment synthesis for the measurement object 101 shown in FIG. The range data acquired from the range data measuring instruments 102 and 103 is shown as shown in FIG. Here, in order to simplify the explanation, the range data is shown as linear data extending on the X axis cut by a certain plane. At this time, one range data is fixed and the other range data is moved on the X-axis to obtain a point having the highest correlation in the overlapping region of the two range data, and the alignment processing of the two range data is performed. Execute. As shown in FIG. 1, when the shape of the surface of the measurement object is characteristic, that is, there are irregularities, it is relatively easy to obtain the overlapping region of different adjacent range data from the correlation of the range data.
[0009]
The alignment algorithm in the overlapping area of different range data is performed, for example, by processing for obtaining the corresponding position of the range data that minimizes the following expression.
[0010]
[Expression 1]
Figure 0004608152
[0011]
In the above equation, x (i) and y (i) are distance data values of sample points (i) of the range data x and range data y, R is a rotation matrix, and t is a translation vector. The process of minimizing the above equation is executed by a process of fixing one range data and changing the movement amounts R and t of the other range data. That is, it is executed as a process for calculating the movement amounts R and t taking the minimum values of the above formula.
[0012]
Most of the range data alignment processing is based on an algorithm devised by “PJ Besl” (for example, PJBesl, NDMckey: A method of Registration of 3-D Shapes. IEEETrans. Pattern Analysis and Machine Intelligence Vol. .14, No. 2 pp239-256, 1992). As an example of this application, an example constructed by “Z. Zhang” (Z. Zhang: Iterative Point Matching for Registration of Free-Form Curves and Surface. International Journal of Computer Vision, Vol. 13, No. 2, pp. 119- 152,1994). This basic algorithm is called ICP (Iterative Closest Point). In ICP, the closest points between overlapping range data are used as corresponding points, and the movement amounts R and t are repeatedly determined so as to minimize ε in the above equation, thereby aligning the range data. However, this method can be applied only between ranger data having overlapping areas, and since the corresponding points are simply close points, there is a drawback that miscorrespondence is likely to occur when there is no feature in the shape. .
[0013]
In the above method, alignment is performed only between two adjacent range data, and when three or more range data are sequentially subjected to alignment processing, alignment errors are propagated sequentially, and errors are detected at the end. There is a problem that accumulation of. When an object is scanned from a plurality of directions, the entire range data is imaged (measured), and alignment is performed sequentially, errors accumulate, and in the worst case, the data may not close.
[0014]
As a method for removing such a defect, a method for aligning a plurality of range data at a time has been studied. Representative methods include the method of “Neugebauter” (Peter J. Neugebauter: Reconstruction of Real-World Objects Via Simultaneous Registration and Robust Combination of Multiple Range Images. International Journal of Shape Modeling, Vol / 3 No. 1 & 2, pp71- 90, June 1997). In this method, the movement amounts R and t between the ranges are obtained so that errors in all the overlapping range data are simultaneously reduced. The corresponding point is a point where a straight line passing through a point on certain range data and parallel to the shooting direction intersects with another range data. However, this method also uses only the features of the surface shape obtained from the range data to align the range data. Therefore, for example, when an object that has a uniform surface such as a can and is difficult to align based on the surface shape is to be measured, alignment between a plurality of range data becomes difficult.
[0015]
For example, range data is acquired from different measurement points with respect to the measurement target 201 as shown in FIG. 2, and the range data alignment processing is performed based on the correlation of distance information (surface shape) acquired from the mutual range data. Even if it is attempted to execute, as shown in FIG. 2B, there is no characteristic unevenness on the surface of the measurement object, and even if one of the range data is moved, the correlation value hardly changes. Therefore, it is difficult to perform the alignment of the overlapping regions of the range data based on the correlation of the range data, and it is difficult to calculate the accurate surface shape of the entire measurement object.
[0016]
As a method to compensate for the difficulty in alignment processing of only the range data as described above, there has also been proposed a method using a texture color boundary surface when performing all-round alignment (Tomoyuki Ishikawa, Masaki Otsuki, Sato) Yukio: Integration of multiple range data using color boundary parts, computer vision and image media 110-11, 1998, 3, 19) In this method, when there is a clear color difference (boundary) on the object surface, Corresponding points are corrected using the boundary as a clue. However, this method cannot be applied when there is no clear color boundary in the measurement object.
[0017]
The present invention has been made in view of the above-described problems of the prior art, and accurately executes the range data alignment process even if the measurement target is difficult to align from the range data correlation. It is an object of the present invention to provide a three-dimensional data processing apparatus, a three-dimensional data processing method, and a program providing medium that make it possible.
[0018]
Specifically, multiple sets of range data and texture data from different viewpoints are generated, the relative movement processing of range data with overlapping areas is executed, and the corresponding points of the range data are calculated at the slightly moved position Then, based on the calculated corresponding points, the correlation of the texture using the texture data is calculated. Minute movement of range data, calculation of corresponding points, correlation value calculation of texture data at the calculated corresponding point position is repeated, the one with the highest texture correlation is output as corresponding points, and range data is moved based on the output corresponding points Provided are a three-dimensional data processing apparatus, a three-dimensional data processing method, and a program providing medium capable of accurately aligning even an object having no feature in a surface shape by a configuration for calculating a quantity.
[0019]
[Means for Solving the Problems]
The present invention has been made in consideration of the above problems, and the first aspect thereof is
A three-dimensional data processing device that performs alignment processing of a plurality of range data acquired at different measurement points with respect to a measurement target,
Data input means for inputting a plurality of sets of range data and texture data measured at different measurement points with respect to the measurement object;
Corresponding point search means for setting corresponding points of two sets of data having overlapping areas in the data input to the data input means based on the correlation in the overlapping areas of the two texture data in the two sets of data;
One range for setting the relative position of the two range data that minimizes the error in the overlapping region of the two range data in the two sets of data based on the corresponding points set in the corresponding point search means A movement amount calculating means for obtaining a movement amount of data;
A three-dimensional data processing apparatus characterized by comprising:
[0020]
Furthermore, in one embodiment of the three-dimensional data processing apparatus of the present invention, the corresponding point search means converts one range data into another range data for two range data included in the two sets of data having the overlapping region. A minute movement means for moving to a plurality of different relative positions, a corresponding point calculation means for setting a corresponding point between two range data according to each position of the plurality of different relative positions, and the corresponding point A texture correlation calculating means for calculating a correlation between two texture data in an overlapping region of two sets of data determined based on corresponding points set in the calculating means, and two indicating the highest correlation calculated by the texture correlation calculating means. Corresponding point output means for outputting two range data corresponding points for the set of texture data as output corresponding points. The features.
[0021]
Furthermore, in one embodiment of the three-dimensional data processing apparatus of the present invention, the corresponding point search means includes texture correlation calculation means for calculating a correlation between two texture data having overlapping regions, and the calculation of the texture correlation means The correlation is based on either the luminance value or the color value of the two range data.
[0022]
Furthermore, in an embodiment of the three-dimensional data processing apparatus of the present invention, the movement amount obtained by the movement amount calculating means is calculated as a set of a rotation matrix R indicating the movement amount of one range data and a translation vector t. It is characterized by being.
[0023]
Furthermore, in one embodiment of the three-dimensional data processing apparatus of the present invention, the movement amount calculation means inputs a plurality of range data of three or more, and each range is set so that errors in all overlapping range data are reduced simultaneously. It has the structure which calculates | requires the movement amount between.
[0024]
Furthermore, the second aspect of the present invention provides
A three-dimensional data processing method for performing alignment processing of a plurality of range data acquired at different measurement points with respect to a measurement target,
A data input step of inputting a plurality of sets of range data and texture data measured at different measurement points with respect to the measurement object;
A corresponding point search step of setting corresponding points of two sets of data having an overlapping area in the data input in the data input step based on a correlation in an overlapping area of two texture data in the two sets of data;
One range for setting the relative position of the two range data that minimizes the error in the overlapping region of the two range data in the two sets of data based on the corresponding points set in the corresponding point search step A movement amount calculating step for obtaining a movement amount of the data;
A three-dimensional data processing method characterized by comprising:
[0025]
Furthermore, in one embodiment of the three-dimensional data processing method of the present invention, the corresponding point search step is configured to convert one range data to another range data for two range data included in the two sets of data having the overlapping region. A micro-movement step for moving to a plurality of different relative positions, a corresponding point calculating step for setting a corresponding point between two range data according to each position of the plurality of different relative positions, and the corresponding point A texture correlation calculating step for calculating a correlation between two texture data in an overlapping region of two sets of data determined based on corresponding points set in the calculating step, and two indicating the highest correlation calculated in the texture correlation calculating step. Output two range data corresponding points for texture data sets as output corresponding points Characterized in that it comprises a corresponding point output step that.
[0026]
Furthermore, in an embodiment of the three-dimensional data processing method of the present invention, the corresponding point search step includes a texture correlation calculation step for calculating a correlation between two texture data having overlapping regions, and the calculation is performed in the texture correlation step. The correlation is based on the luminance value or the color value of the two range data.
[0027]
Furthermore, in an embodiment of the three-dimensional data processing method of the present invention, the movement amount obtained in the movement amount calculating step is calculated as a set of a rotation matrix R indicating the movement amount of one range data and a translation vector t. It is characterized by that.
[0028]
Furthermore, in one embodiment of the three-dimensional data processing method of the present invention, the movement amount calculating step inputs a plurality of range data of three or more, and each range so that errors in all the overlapping range data are simultaneously reduced. It is the step which calculates | requires the movement amount between.
[0029]
Furthermore, the third aspect of the present invention provides
A program providing medium for providing a computer program that allows a computer system to execute alignment processing of a plurality of range data acquired at different measurement points with respect to a measurement target, the computer program comprising:
A data input step of inputting a plurality of sets of range data and texture data measured at different measurement points with respect to the measurement object;
A corresponding point search step of setting corresponding points of two sets of data having an overlapping area in the data input in the data input step based on a correlation in an overlapping area of two texture data in the two sets of data;
One range for setting the relative position of the two range data that minimizes the error in the overlapping region of the two range data in the two sets of data based on the corresponding points set in the corresponding point search step A movement amount calculating step for obtaining a movement amount of the data;
There is a program providing medium characterized by comprising:
[0030]
The program providing medium according to the third aspect of the present invention is a medium that provides a computer program in a computer-readable format to, for example, a general-purpose computer system that can execute various program codes. The form of the medium is not particularly limited, such as a storage medium such as a CD, FD, or MO, or a transmission medium such as a network.
[0031]
Such a program providing medium defines a structural or functional cooperative relationship between a computer program and a providing medium for realizing a function of a predetermined computer program on a computer system. . In other words, by installing a computer program in the computer system via the provided medium, a cooperative action is exhibited on the computer system, and the same effects as the other aspects of the present invention are obtained. Can do it.
[0032]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the three-dimensional data processing apparatus and the three-dimensional data processing method of the present invention will be described below with reference to the drawings. First, FIG. 3 is a block diagram showing a configuration for executing the mutual alignment processing of range data in the three-dimensional data processing apparatus of the present invention.
[0034]
The range data input unit 301 and the texture data input unit 302 input range data and texture data acquired from each measurement point of the measurement object. For example, as in the configuration illustrated in FIG. 4, range data and texture data acquired at measurement points 402 </ b> A to 402 </ b> Z for observing the measurement target from different viewpoints are sequentially input to the measurement target 401. The range data is distance information of the measurement target obtained by applying the distance data acquisition method such as the laser method or the stereo method described above, and the texture data is the luminance of the surface of the measurement target acquired by a normal camera or the like. , Data including color information and the like.
[0035]
In FIG. 4, a measuring instrument (imaging means) is installed so as to surround the measurement object 401, but this is an example, and when it is desired to acquire a part of data of the measurement object, the measurement object One or more measurement means necessary for acquiring a part of the data of the object may be installed. In addition to the measurement points shown in FIG. A point for acquiring data may be provided. Further, instead of setting a large number of measurement points, the measurement object may be placed on a table or the like and moved relative to the camera.
[0036]
Note that at each measurement point 402A to 402Z, the range data and texture data of the measurement target 401 are acquired as a set of data from the same viewpoint, and the set of range data and texture data belonging to one viewpoint is the respective data acquisition region. It is assumed that data is associated in FIG. In addition, the range data and texture data acquired from each of the measurement points 402A to 402Z installed for the measurement target 401 have an overlapping area with at least one of the measurement data from other points. .
[0037]
Returning to FIG. 3, the function of each component will be described. The range data input unit 301 and the texture data input unit 302 capture range data and texture data acquired at each measurement point as shown in FIG. 4, but are configured to input data directly from the actual measurement means. Not limited to this, the range data and texture data may be taken in via storage means such as a hard disk in which data is stored.
[0038]
The data holding unit 303 stores the range data and texture data acquired at each measurement point, and has a movement amount holding unit for holding the movement amounts R and t of the range data for each measurement point. The movement amount of the range data is a rotation matrix R and a translation vector t as movement amounts included in the following equation.
[0039]
[Expression 2]
Figure 0004608152
[0040]
In the above equation, x (i) and y (i) are distance data values of sample points (i) of the range data x and range data y, R is a rotation matrix, and t is a translation vector. The alignment process is executed as a process for minimizing the above expression, that is, a process for calculating the movement amounts R and t that take the minimum value of ε in the above expression.
[0041]
For example, the range data acquired at the measurement point A is stored in the range data holding unit A304, and the texture data acquired at the point A is stored in the texture data holding unit A305. Further, the movement amounts R and t of the range data A obtained in the corresponding point search process described below are stored in the movement amount holding unit A. Similarly, each measurement point B to Z is stored in each range data holding unit B to Z, texture data holding unit B to Z, and movement amount holding unit B to Z provided in the data holding unit.
[0042]
The corresponding point search unit 308 inputs range data of two data acquisition points having an overlapping area, texture data, for example, data of adjacent points of the measuring point A and the measuring point B, and executes an overlapping area alignment process. The processing for obtaining corresponding points is executed. The processing in the corresponding point search unit will be described in detail later with reference to FIG.
[0043]
The movement amount calculation unit 309 calculates the equation [Equation 2] based on the corresponding points of the two range data having the overlapping area searched by the corresponding point search unit 308, and minimizes ε of [Equation 2]. Thus, the movement amount of one range data is obtained. The movement amount is the movement amount R, t in the above equation [Equation 2]. For example, based on the range data A and the range data B, when the range data A is fixed and the range data B is moved to obtain R and t that minimize the value of the formula [Equation 2], the movement is performed. The obtained movement amounts R and t are stored in the amount holding unit B.
[0044]
Corresponding point search unit 308 inputs two data having overlapping regions for which alignment is performed to obtain corresponding points, respectively, and movement amount calculation unit 309 calculates the above formula [Numerical Value] based on each set of data. 2], a process for obtaining movement amounts R and t that minimize ε is executed. The movement amount calculation unit 309 may be configured to perform movement amount calculation for each set of two range data, or input a range data of three or more range data and a set of range data [A, B ], [B, C] ε [A, B], ε [B, C]... Of the above equation [Equation 2], for example, the method of “Neugebauter” (Peter J. Neugebauter: Reconstruction of Real- Applying World Objects Via Simultaneous Registration and Robust Combination of Multiple Range Images. International Journal of Shape Modeling, Vol / 3 No.1 & 2, pp71-90, June 1997) Alternatively, the movement amounts R and t between the ranges may be obtained.
[0045]
The movement amount output unit 307 outputs the values of the movement amount holding units A to Z that hold the values obtained by the movement amount calculation unit 309. The position of the range data is determined based on the output movement amount. For example, distance data around the entire measurement target is constructed, and texture data is pasted to generate a three-dimensional image of the measurement target.
[0046]
FIG. 5 shows a detailed configuration of the corresponding point search unit. Two range data and texture data having overlapping regions acquired from two different measurement points are input to the corresponding point search unit 505 in FIG. Here, the input data is the range data i stored in the range data holding units i and 501, the texture data i stored in the texture data holding units i and 502, and the range data i + 1 stored in the range data holding units i + 1 and 503. , Texture data i + 1 stored in the texture data holding unit i + 1, 504.
[0047]
The range data i stored in the range data holding units i and 501 and the range data stored in the range data i + 1 stored in the range data holding units i + 1 and 503 are input to the minute movement unit 508 of the corresponding point search unit 505. Is done. For range data having an overlapping area, an approximate relative positional relationship is initially set from the position of the measurement point, and the relative movement of the range data is performed from the initial set position according to a plurality of predetermined movement variations in the minute movement unit 508. Processing is executed. Corresponding points between the range data are calculated by the corresponding point calculation unit 507 at the slightly moved point, and the correlation using the texture data in which similar association is performed based on the set corresponding points is the texture correlation calculating unit 506. Is calculated in The correlation calculated by the texture correlation calculation unit 506 is held in the correlation value holding unit 509, and the corresponding point corresponding to the correlation value is held in the corresponding point holding unit 510.
[0048]
The minute movement in the minute movement unit 508, the corresponding point calculation unit 507, the corresponding point calculation process, and the correlation value calculation of the texture data in the texture correlation calculation unit 506 are various minute amounts according to a plurality of movement variations executed in the minute movement unit 508. Of the texture correlation values repeatedly executed for each movement and calculated based on different corresponding points, the one having the highest correlation is output from the corresponding point output unit 511.
[0049]
Details of the above processing will be described with reference to FIG. A corresponding point setting process using two range data X, Y and texture data X, Y acquired from adjacent measurement points X, Y having an overlapping area will be described with reference to FIG. The range data X, Y is a set of sample points Xi, Yi. It can also be regarded as a set of triangular meshes set by connecting adjacent sample points. Texture data X is associated with range data X, and texture data Y is associated with range data Y. .
[0050]
First, when the range data X and the range data Y are input to the minute movement unit 508, the range data Y is slightly moved according to a predetermined movement variation. In the example of FIG. 6, it is assumed that the process of moving the constant distance range data Y in the vertical direction to the photographing viewpoint (measurement point) is executed as one movement variation. It is assumed that the relative position of the range data X and Y based on one movement variation is set at the position of FIG.
[0051]
Next, the corresponding point calculation unit 507 sets the intersection of the line connecting the sample point Xi of the range data X and the photographing viewpoint (measurement point) to the range data Y as Yi ′, and sets Xi and Yi ′ as Xi and Yi ′. As a corresponding point at this movement variation position, it is set. The position of the set corresponding point is held in the corresponding point holding unit 510.
[0052]
The texture correlation calculation unit 506 calculates the correlation in the overlapping region between the texture data X and the texture data Y ′ at this position. For texture data, for example, color values such as RGB or luminance values are calculated at each coordinate position, and the luminance value or color value such as RGB at each coordinate (i) of texture data X is x (i). The luminance value or the color value such as RGB at each coordinate (i) of Y ′ is y ′ (i), and this correlation is obtained by the following equation.
[0053]
[Equation 3]
Figure 0004608152
[0054]
In the above equation, if the correlation between the texture data X and the texture data Y ′ is high, it approaches R = 1, if there is no correlation, r = 0, and if the inverse correlation increases, it approaches r = −1. The correlation value r obtained in the above equation is held in the correlation value holding unit 509.
[0055]
Corresponding points y ″, y ″ ′, y ″ ″... Are newly set by different movement variations, the corresponding point positions are stored in the corresponding point holding unit 510, and the correlation is calculated according to the above formula in the texture correlation calculating unit. Then, the calculated correlation is held in the correlation value holding unit 509. The corresponding points stored in the corresponding point holding unit 510 and the correlation values held in the correlation value holding unit 509 are associated with each other.
[0056]
When a plurality of movement processes based on a predetermined movement variation are completed, and all the corresponding points and the correlation value calculation process are completed, the corresponding point position where the highest correlation value is calculated among the calculated correlation values is the corresponding point. Output from the output unit 511.
[0057]
The corresponding point information set based on the correlation of the texture data output from the corresponding point output unit is output to the movement amount calculation unit 309 in FIG. 3, and the movement amount calculation unit 309 is based on the set corresponding point. Then, for the range data X and Y, a process of obtaining the movement amounts R and t that minimize ε is performed according to the above equation [Formula 2]. When the movement amounts R and t that minimize ε are obtained, the movement amount data is stored in the movement amount holding unit Y of the range data Y (when the range data X is fixed and the range datum is moved). The relative position of the plurality of range data is determined based on the movement amount thus determined. For example, the distance data around the entire measurement target is configured, and the texture data is pasted, so that the three-dimensional image of the measurement target is obtained. Is generated.
[0058]
Next, each step of the movement amount setting process with corresponding point setting based on texture data executed in the three-dimensional data processing method of the present invention will be described with reference to FIGS.
[0059]
First, in step S101, range data (i) is input and stored in the range data holding unit (i). In step S102, texture data (i) is input and stored in the texture data holding unit (i). However, i = 1 to n. n corresponds to the number of measurement points. This data input process is repeatedly executed up to all the measurement points n (S103).
[0060]
When the input of all the range data and texture data is completed, the processing after step S104 is executed. In the following flow, processing of two adjacent data (i) and data (i + 1) at the measurement points i and i + 1 is executed. Step S104 is processing of the minute movement unit 508, and minutely moves the range data (i + 1) according to one of a plurality of predetermined movement variations (parallel movement, rotational movement, etc.).
[0061]
Step S105 is a process of the corresponding point calculation unit 507, and performs sample point association between the range data (i) and the range data (i + 1) after the movement process. This process is, for example, the process described above with reference to FIG. Step S <b> 106 is processing for storing the corresponding points associated by the corresponding point calculation unit 507 in the corresponding point holding unit 510.
[0062]
Step S107 is a process of the texture correlation calculation unit 506, and obtains the texture correlation of the overlapping region based on the corresponding points associated by the correspondence calculation unit 507. This is executed, for example, as a process based on the above equation [Formula 3]. Step S108 is processing for holding the correlation value calculated by the texture correlation calculation unit 506 in the correlation value holding unit 509.
[0063]
In step S109, it is determined whether or not all the movements of the setting variations have been completed. If not, the processes in steps S104 to S108 are repeatedly executed. When the movement of all setting variations is completed, the process proceeds to step S110.
[0064]
In step S110, the corresponding point output unit 511 selects the value having the highest correlation among the values of the correlation value holding unit, and selects and outputs the corresponding point at that position from the corresponding point holding unit 510.
[0065]
The next step S111 is processing of the movement amount calculation unit 309 (see FIG. 3). The movement amount of each range data is obtained based on the corresponding points obtained and output by the corresponding point search unit, and the movement amount is moved. Save in the quantity holder. The amount of movement is R and t in the formula [Equation 2].
[0066]
The next steps S112 and S113 are steps for comparing ε calculated based on the movement amounts R and t obtained in step S111 with a predetermined threshold value. If the calculated ε is smaller than the threshold value, it is determined that the movement amount based on the correct corresponding point position has been calculated, and the process proceeds to step S114. On the other hand, if ε calculated based on the movement amounts R and t obtained in step S111 is not smaller than a predetermined threshold value, it is determined that the movement amount based on the wrong corresponding point position is calculated, and a new one is added in step S113. A new movement variation is set, and the processing from step S104 onward is repeated based on the new movement variation.
[0067]
In step S114, it is determined whether or not the movement amount between the range data having all the overlapping areas is determined. If there is unprocessed data, the process returns to step S104 to set a data set having a new overlapping area. Execute the process.
[0068]
When the processing for all the data is completed, the movement amount held in the movement amount holding unit is output from the movement amount output unit 307 in step S115. The relative positions of the plurality of range data are determined based on the output movement amount, for example, distance data around the entire measurement target is configured, and texture data is pasted to generate a three-dimensional image of the measurement target. .
[0069]
Next, the hardware configuration of the three-dimensional data processing apparatus of the present invention will be described using FIG. A central processing unit (CPU) 601 that executes various processing programs controls the processing of each component in FIG. A ROM (Read Only Memory) 602 is a memory that stores a program such as IPL (Initial Program Loading). A RAM (Random Access Memory) 603 is used as a work area in a program executed by the CPU 601 and a process executed by the CPU.
[0070]
The video controller 604 performs display control of the image display unit 606 that is a monitor using a VRAM (Video RAM) 605 under the control of the CPU 601. The VRAM 605 temporarily stores data displayed by the image display unit 606, for example, three-dimensional model data in which texture data is pasted on range data. That is, the display data is temporarily written in the VRAM 605 via the video controller 604, and the video controller 604 supplies the data stored in the VRAM 605 to the image display unit 606, so that the image display is executed.
[0071]
The storage controller 607 includes, for example, a magnetic disk 608 such as an HD (Hard Disk) or FD (Floppy Disk), a magneto-optical disk 609 such as a mini disk, an optical disk 610 such as a CD-ROM (Compact Disk ROM), a ROM, or a flash memory. Etc., and a function of controlling access to the nonvolatile memory 611. The magnetic disk 608, the magneto-optical disk 609, the optical disk 610, and the nonvolatile memory 611 store data, for example, various data such as the above-described range data, texture data, or three-dimensional data in which texture data is pasted on the range data. The stored data is read by the CPU 601 via the storage controller 607. It should be noted that the program executed by the CPU 601 may be stored in various storage media. For example, various processing programs in the flow of FIGS. 7 and 8 such as corresponding point search and correlation calculation processing can be stored in a storage medium such as a magnetic disk.
[0072]
The communication controller 612 controls wireless communication using radio waves or infrared rays, and priority communication using Ethernet or the like. Various measurement data such as range data and texture data, and various processing programs executed by the CPU 601 can be obtained from an external device by communicating via the communication controller 612.
[0073]
The input device controller 613 executes control of a keyboard 614 and a pointing device 615 such as a mouse, and outputs commands and data input from each input device to the CPU 601.
[0074]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. Further, what is configured by appropriately combining the above-described embodiments is also included in the scope of the present invention, and in order to determine the gist of the present invention, the column of the claims described at the beginning is referred to. Should.
[0075]
【The invention's effect】
As described above in detail, according to the three-dimensional data processing device and the three-dimensional data processing method of the present invention, even if the measurement target is difficult to perform the alignment processing based on the correlation of the range data, it is based on the texture data. Since the corresponding points are set with high accuracy, the alignment of the range data in the object having no feature in the surface shape is accurately executed, and it is possible to generate a highly accurate three-dimensional model.
[0076]
Further, according to the three-dimensional data processing apparatus and the three-dimensional data processing method of the present invention, a set of range data and texture data from different viewpoints is generated, and the relative movement processing of the range data is executed, and each minute movement point , The corresponding points between the range data are calculated, the texture correlation using the texture data is calculated based on the calculated corresponding points, and the corresponding points for the data showing the highest correlation are output. Since the movement amount of the range data is calculated based on this, accurate range data alignment and generation of a highly accurate three-dimensional model can be performed even for an object having no surface shape feature.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a range data acquisition configuration of a measurement object and a correlation between the range data.
FIG. 2 is a diagram for explaining an example of a configuration for acquiring range data of a measurement object and an example in which alignment by correlation of range data is difficult.
FIG. 3 is a block diagram showing a configuration of a three-dimensional data processing apparatus according to the present invention.
FIG. 4 is a diagram illustrating a configuration for acquiring range data and texture data in the three-dimensional data processing apparatus of the present invention.
FIG. 5 is a diagram illustrating a detailed configuration of a corresponding point search unit in the three-dimensional data processing apparatus of the present invention.
FIG. 6 is a diagram for explaining an example of corresponding point setting processing in the three-dimensional data processing apparatus of the present invention.
FIG. 7 is a diagram showing a processing flow (part 1) in the three-dimensional data processing apparatus of the present invention;
FIG. 8 is a diagram showing a processing flow (part 2) in the three-dimensional data processing apparatus of the present invention;
FIG. 9 is a diagram illustrating a hardware configuration example of a three-dimensional data processing apparatus according to the present invention.
[Explanation of symbols]
101 Measurement target
102,103 Range data measuring instrument
201 Measurement target
301 Range data input section
302 Texture data input section
303 Data holding unit
304 Range data holding unit A
305 Texture data holding unit A
306 Movement amount holding unit A
307 Movement amount output part
308 Corresponding point search unit
309 Movement amount calculation unit
401 Measurement target
402 Measurement points
501 Range data holding unit i
502 Texture data holding unit i
503 Range data holding unit i + 1
504 Texture data holding unit i + 1
505 Corresponding point search unit
506 Texture correlation calculation unit
507 Corresponding point calculation unit
508 Minute moving part
509 correlation value holding unit
510 Corresponding point holding part
511 Corresponding point output part
601 Central Processing Unit (CPU)
602 ROM (Read only Memory)
603 RAM (Random Access Memory)
604 video controller
605 VRAM (Video RAM)
606 Image display unit
607 storage controller
608 Magnetic disk 608
609 magneto-optical disk
610 optical disc
611 Nonvolatile memory
612 Communication controller
613 Input device controller
614 keyboard
615 pointing device

Claims (11)

測定対象に対して異なる計測ポイントにおいて取得される複数のレンジデータの位置合わせ処理を実行する三次元データ処理装置であり、
前記測定対象に対して異なる計測ポイントにおいて計測されたレンジデータおよびテクスチャデータの複数の組データを入力するデータ入力手段と、
前記データ入力手段に入力されたデータ中、重なり領域を持つ2つの組データの対応点を、該2つの組データ中の2つのテクスチャデータの重なり領域における相関に基づいて設定する対応点探索手段と、
前記対応点探索手段において設定された対応点に基づいて、前記2つの組データ中の2つのレンジデータの重なり領域における誤差を最小にする2つのレンジデータの相対位置を設定するための一方のレンジデータの移動量を求める移動量算出手段と、
を有することを特徴とする三次元データ処理装置。
A three-dimensional data processing device that performs alignment processing of a plurality of range data acquired at different measurement points with respect to a measurement target,
Data input means for inputting a plurality of sets of range data and texture data measured at different measurement points with respect to the measurement object;
Corresponding point search means for setting corresponding points of two sets of data having overlapping areas in the data input to the data input means based on the correlation in the overlapping areas of the two texture data in the two sets of data; ,
One range for setting the relative position of the two range data that minimizes the error in the overlapping region of the two range data in the two sets of data based on the corresponding points set in the corresponding point search means A movement amount calculating means for obtaining a movement amount of data;
A three-dimensional data processing apparatus comprising:
前記対応点探索手段は、
前記重なり領域を持つ2つの組データに含まれる2つのレンジデータについて、一方のレンジデータを他のレンジデータに対して複数の異なる相対位置に移動させる微少移動手段と、
前記複数の異なる相対位置の各々の位置に応じて、2つのレンジデータ間の対応点を設定する対応点算出手段と、
前記対応点算出手段において設定された対応点に基づいて定まる2つの組データの重なり領域における2つのテクスチャデータの相関を算出するテクスチャ相関算出手段と、
前記テクスチャ相関算出手段が算出した最も高い相関を示す2つのテクスチャデータの組に対する2つのレンジデータ対応点を出力対応点として出力する対応点出力手段と、
を有することを特徴とする請求項1に記載の三次元データ処理装置。
The corresponding point search means includes
For the two range data included in the two sets of data having the overlapping area, a minute moving means for moving one range data to a plurality of different relative positions with respect to the other range data;
Corresponding point calculation means for setting corresponding points between two range data according to the positions of the plurality of different relative positions;
Texture correlation calculating means for calculating a correlation between two texture data in an overlapping region of two sets of data determined based on the corresponding points set in the corresponding point calculating means;
Corresponding point output means for outputting, as output corresponding points, two range data corresponding points for a set of two texture data showing the highest correlation calculated by the texture correlation calculating means;
The three-dimensional data processing apparatus according to claim 1, comprising:
前記対応点探索手段は、
重なり領域を持つ2つのテクスチャデータの相関を算出するテクスチャ相関算出手段を有し、
該テクスチャ相関手段の算出する相関は、2つのレンジデータの輝度値、または色値のいずれかに基づくものであることを特徴とする請求項1に記載の三次元データ処理装置。
The corresponding point search means includes
A texture correlation calculating means for calculating a correlation between two texture data having an overlapping region;
The three-dimensional data processing apparatus according to claim 1, wherein the correlation calculated by the texture correlation unit is based on either a luminance value or a color value of two range data.
前記移動量算出手段により求める移動量は、一方のレンジデータの移動量を示す回転行列Rと、並進ベクトルtの組として算出する構成であることを特徴とする請求項1に記載の三次元データ処理装置。The three-dimensional data according to claim 1, wherein the movement amount calculated by the movement amount calculation means is calculated as a set of a rotation matrix R indicating the movement amount of one of the range data and a translation vector t. Processing equipment. 前記移動量算出手段は、3以上の複数のレンジデータを入力し、すべての重なり合うレンジデータにおける誤差を同時に少なくなるように、各レンジ間の移動量を求める構成を有することを特徴とする請求項1に記載の三次元データ処理装置。The movement amount calculation unit has a configuration in which a plurality of range data of three or more are input and a movement amount between each range is obtained so that errors in all overlapping range data are simultaneously reduced. The three-dimensional data processing apparatus according to 1. 測定対象に対して異なる計測ポイントにおいて取得される複数のレンジデータの位置合わせ処理を実行する三次元データ処理方法であり、
前記測定対象に対して異なる計測ポイントにおいて計測されたレンジデータおよびテクスチャデータの複数の組データを入力するデータ入力ステップと、
前記データ入力ステップにおいて入力されたデータ中、重なり領域を持つ2つの組データの対応点を、該2つの組データ中の2つのテクスチャデータの重なり領域における相関に基づいて設定する対応点探索ステップと、
前記対応点探索ステップにおいて設定された対応点に基づいて、前記2つの組データ中の2つのレンジデータの重なり領域における誤差を最小にする2つのレンジデータの相対位置を設定するための一方のレンジデータの移動量を求める移動量算出ステップと、
を有することを特徴とする三次元データ処理方法。
A three-dimensional data processing method for performing alignment processing of a plurality of range data acquired at different measurement points with respect to a measurement target,
A data input step of inputting a plurality of sets of range data and texture data measured at different measurement points with respect to the measurement object;
A corresponding point search step of setting corresponding points of two sets of data having overlapping areas in the data input in the data input step based on a correlation in an overlapping area of two texture data in the two sets of data; ,
One range for setting the relative position of the two range data that minimizes the error in the overlapping region of the two range data in the two sets of data based on the corresponding points set in the corresponding point search step A movement amount calculating step for obtaining a movement amount of the data;
A three-dimensional data processing method comprising:
前記対応点探索ステップは、
前記重なり領域を持つ2つの組データに含まれる2つのレンジデータについて、一方のレンジデータを他のレンジデータに対して複数の異なる相対位置に移動させる微少移動ステップと、
前記複数の異なる相対位置の各々の位置に応じて、2つのレンジデータ間の対応点を設定する対応点算出ステップと、
前記対応点算出ステップにおいて設定された対応点に基づいて定まる2つの組データの重なり領域における2つのテクスチャデータの相関を算出するテクスチャ相関算出ステップと、
前記テクスチャ相関算出ステップにおいて算出した最も高い相関を示す2つのテクスチャデータの組に対する2つのレンジデータ対応点を出力対応点として出力する対応点出力ステップと、
を含むことを特徴とする請求項6に記載の三次元データ処理方法。
The corresponding point search step includes:
For the two range data included in the two sets of data having the overlapping area, a minute movement step for moving one range data to a plurality of different relative positions with respect to the other range data;
A corresponding point calculating step for setting a corresponding point between two range data according to the position of each of the plurality of different relative positions;
A texture correlation calculating step of calculating a correlation between two texture data in an overlapping region of two sets of data determined based on the corresponding points set in the corresponding point calculating step;
A corresponding point output step of outputting two range data corresponding points with respect to a set of two texture data showing the highest correlation calculated in the texture correlation calculating step as output corresponding points;
The three-dimensional data processing method according to claim 6, further comprising:
前記対応点探索ステップは、
重なり領域を持つ2つのテクスチャデータの相関を算出するテクスチャ相関算出ステップを有し、
該テクスチャ相関ステップにおいて算出する相関は、2つのレンジデータの輝度値、または色値に基づくものであることを特徴とする請求項6に記載の三次元データ処理方法。
The corresponding point search step includes:
A texture correlation calculating step of calculating a correlation between two texture data having an overlapping region;
7. The three-dimensional data processing method according to claim 6, wherein the correlation calculated in the texture correlation step is based on luminance values or color values of two range data.
前記移動量算出ステップにおいて求められる移動量は、一方のレンジデータの移動量を示す回転行列Rと、並進ベクトルtの組として算出することを特徴とする請求項6に記載の三次元データ処理方法。The three-dimensional data processing method according to claim 6, wherein the movement amount obtained in the movement amount calculation step is calculated as a set of a rotation matrix R indicating the movement amount of one of the range data and a translation vector t. . 前記移動量算出ステップは、3以上の複数のレンジデータを入力し、すべての重なり合うレンジデータにおける誤差を同時に少なくなるように、各レンジ間の移動量を求めるステップであることを特徴とする請求項6に記載の三次元データ処理方法。The movement amount calculating step is a step of inputting a plurality of range data of three or more and obtaining a movement amount between each range so that errors in all overlapping range data are simultaneously reduced. 7. The three-dimensional data processing method according to 6. 測定対象に対して異なる計測ポイントにおいて取得される複数のレンジデータの位置合わせ処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム提供媒体であって、前記コンピュータ・プログラムは、
前記測定対象に対して異なる計測ポイントにおいて計測されたレンジデータおよびテクスチャデータの複数の組データを入力するデータ入力ステップと、
前記データ入力ステップにおいて入力されたデータ中、重なり領域を持つ2つの組データの対応点を該2つの組データ中の2つのテクスチャデータの重なり領域における相関に基づいて設定する対応点探索ステップと、
前記対応点探索ステップにおいて設定された対応点に基づいて、前記2つの組データ中の2つのレンジデータの重なり領域における誤差を最小にする2つのレンジデータの相対位置を設定するための一方のレンジデータの移動量を求める移動量算出ステップと、
を有することを特徴とするプログラム提供媒体。
A program providing medium for providing a computer program that allows a computer system to execute alignment processing of a plurality of range data acquired at different measurement points with respect to a measurement target, the computer program comprising:
A data input step of inputting a plurality of sets of range data and texture data measured at different measurement points with respect to the measurement object;
A corresponding point search step of setting corresponding points of two sets of data having an overlapping area in the data input in the data input step based on a correlation in an overlapping area of two texture data in the two sets of data;
One range for setting the relative position of the two range data that minimizes the error in the overlapping region of the two range data in the two sets of data based on the corresponding points set in the corresponding point search step A movement amount calculating step for obtaining a movement amount of the data;
A program providing medium comprising:
JP2001273048A 2000-09-12 2001-09-10 Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium Expired - Fee Related JP4608152B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001273048A JP4608152B2 (en) 2000-09-12 2001-09-10 Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-276493 2000-09-12
JP2000276493 2000-09-12
JP2001273048A JP4608152B2 (en) 2000-09-12 2001-09-10 Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium

Publications (2)

Publication Number Publication Date
JP2002175521A JP2002175521A (en) 2002-06-21
JP4608152B2 true JP4608152B2 (en) 2011-01-05

Family

ID=26599756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001273048A Expired - Fee Related JP4608152B2 (en) 2000-09-12 2001-09-10 Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium

Country Status (1)

Country Link
JP (1) JP4608152B2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7557966B2 (en) * 2004-08-11 2009-07-07 Acushnet Company Apparatus and method for scanning an object
JP5185777B2 (en) * 2008-10-31 2013-04-17 独立行政法人情報通信研究機構 Method and apparatus for aligning 3D range data
JP2011095858A (en) * 2009-10-27 2011-05-12 Panasonic Electric Works Co Ltd Three-dimensional digitizer
JP5745435B2 (en) * 2012-02-01 2015-07-08 東芝プラントシステム株式会社 3D data processing apparatus, 3D data processing program, and 3D data processing method
US9715724B2 (en) * 2014-07-29 2017-07-25 Applied Materials Israel Ltd. Registration of CAD data with SEM images
BE1022580A9 (en) * 2014-10-22 2016-10-06 Parallaxter Method of obtaining immersive videos with interactive parallax and method of viewing immersive videos with interactive parallax
WO2017033300A1 (en) * 2015-08-26 2017-03-02 株式会社イノベーション・アイ Method for generating three-dimensional shape data
US11175132B2 (en) 2017-08-11 2021-11-16 Zoox, Inc. Sensor perturbation
EP3665501A1 (en) * 2017-08-11 2020-06-17 Zoox, Inc. Vehicle sensor calibration and localization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04102178A (en) * 1990-08-22 1992-04-03 Hitachi Ltd Object model input device
WO2000013142A1 (en) * 1998-08-28 2000-03-09 Sarnoff Corporation Method and apparatus for processing images
JP2000155831A (en) * 1998-09-18 2000-06-06 Sanyo Electric Co Ltd Method and device for image composition and recording medium storing image composition program
JP2000509150A (en) * 1996-04-24 2000-07-18 サイラ・テクノロジーズ・インク Integrated device for imaging and modeling three-dimensional objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04102178A (en) * 1990-08-22 1992-04-03 Hitachi Ltd Object model input device
JP2000509150A (en) * 1996-04-24 2000-07-18 サイラ・テクノロジーズ・インク Integrated device for imaging and modeling three-dimensional objects
WO2000013142A1 (en) * 1998-08-28 2000-03-09 Sarnoff Corporation Method and apparatus for processing images
JP2000155831A (en) * 1998-09-18 2000-06-06 Sanyo Electric Co Ltd Method and device for image composition and recording medium storing image composition program

Also Published As

Publication number Publication date
JP2002175521A (en) 2002-06-21

Similar Documents

Publication Publication Date Title
CN109118545B (en) Three-dimensional imaging system calibration method and system based on rotating shaft and binocular camera
CN106595528B (en) A kind of micro- binocular stereo vision measurement method of telecentricity based on digital speckle
Kriegel et al. Efficient next-best-scan planning for autonomous 3D surface reconstruction of unknown objects
JP5943547B2 (en) Apparatus and method for non-contact measurement
JP4708752B2 (en) Information processing method and apparatus
KR101643079B1 (en) Method for registering data
JP4230525B2 (en) Three-dimensional shape measuring method and apparatus
JP5132832B1 (en) Measuring apparatus and information processing apparatus
Catalucci et al. Measurement of complex freeform additively manufactured parts by structured light and photogrammetry
JP6092530B2 (en) Image processing apparatus and image processing method
JP2017118396A (en) Program, device and method for calculating internal parameter of depth camera
JP2012123781A (en) Information processing device, information processing system and information processing method
JP2004127239A (en) Method and system for calibrating multiple cameras using calibration object
JP7173285B2 (en) Camera calibration device, camera calibration method, and program
JP2011192214A (en) Geometric feature extracting device, geometric feature extraction method and program, three-dimensional measuring device and object recognition device
JP2003130621A (en) Method and system for measuring three-dimensional shape
WO2018201677A1 (en) Bundle adjustment-based calibration method and device for telecentric lens-containing three-dimensional imaging system
CN112184811B (en) Monocular space structured light system structure calibration method and device
JP2021173740A (en) System and method for efficiently 3d re-constructing objects using telecentric line-scan cameras
JP2016217941A (en) Three-dimensional evaluation device, three-dimensional data measurement system and three-dimensional measurement method
JP4608152B2 (en) Three-dimensional data processing apparatus, three-dimensional data processing method, and program providing medium
JP2009222568A (en) Method, device, and computer program of generating three-dimensional shape data
CN110645928A (en) Space coordinate positioning method of three-dimensional scanner
JP6486083B2 (en) Information processing apparatus, information processing method, and program
CN112525106A (en) Three-phase machine cooperative laser-based 3D detection method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101008

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees