JP2008112412A - Data processing device, data processing method, and program - Google Patents
Data processing device, data processing method, and program Download PDFInfo
- Publication number
- JP2008112412A JP2008112412A JP2006296464A JP2006296464A JP2008112412A JP 2008112412 A JP2008112412 A JP 2008112412A JP 2006296464 A JP2006296464 A JP 2006296464A JP 2006296464 A JP2006296464 A JP 2006296464A JP 2008112412 A JP2008112412 A JP 2008112412A
- Authority
- JP
- Japan
- Prior art keywords
- point
- dimensional
- nearest
- nearest point
- dimensional model
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は、人物等の対象物体の位置及び姿勢を追跡し、3次元モデルを構築するデータ処理装置、データ処理方法、及びプログラムに関する。 The present invention relates to a data processing apparatus, a data processing method, and a program for tracking the position and orientation of a target object such as a person and constructing a three-dimensional model.
従来、人物等の対象物体の表面を、センサ等を用いて計測することにより対象物体の動作を追跡し、対象物体の動作を再現する3次元モデルを構築するデータ処理技術がある。このようなデータ処理技術では、対象物体の動作を完全に再現するために、対象物体の表面形状をセンサの計測位置からの距離で表す距離画像を対象物体に対して複数の方向から取得する。 2. Description of the Related Art Conventionally, there is a data processing technique for building a three-dimensional model that tracks the motion of a target object by measuring the surface of the target object such as a person using a sensor or the like and reproduces the motion of the target object. In such a data processing technique, in order to completely reproduce the operation of the target object, a distance image representing the surface shape of the target object as a distance from the measurement position of the sensor is acquired from a plurality of directions with respect to the target object.
複数の方向から取得された複数の距離画像は、それぞれの測定位置を示す座標系で記述されており、それぞれの相対位置姿勢を求めて座標系を統一する位置合わせ処理が必要となる。 A plurality of distance images acquired from a plurality of directions are described in a coordinate system indicating each measurement position, and an alignment process is required to obtain a relative position and orientation of each and unify the coordinate system.
この距離画像の位置合わせ問題を解決するために、例えば、非特許文献1に示すように、ICP(Iterative Closest Point)アルゴリズムを適用する方法がある。
In order to solve this distance image alignment problem, for example, as shown in
ICPアルゴリズムは、反復計算によってデータ間の対応状態の良否を示す対応点間の誤差を最小化する剛体変換パラメータを算出するものである。 The ICP algorithm calculates a rigid body transformation parameter that minimizes an error between corresponding points indicating the quality of the corresponding state between data by iterative calculation.
このようなデータ処理技術にICPアルゴリズムを用いた場合、2つの距離画像中の最近傍点を対応点とし、この対応点間の誤差を最小化するような各距離画像の変換行列を繰り返し算出することによって相対位置を特定していく。 When the ICP algorithm is used for such a data processing technique, the nearest neighbor point in two distance images is used as a corresponding point, and a transformation matrix of each distance image is repeatedly calculated so as to minimize an error between the corresponding points. The relative position is specified by.
しかしながら、このICPアルゴリズムに基づく処理動作は膨大な時間を要するため、リアルタイムの適用が難しいといった問題があった。ICPアルゴリズムでは、3次元モデル表面上で最近傍点を探索する処理での計算量が多く、この計算処理に要する時間も長くなる。 However, since the processing operation based on the ICP algorithm requires a long time, there is a problem that real-time application is difficult. In the ICP algorithm, the amount of calculation in the process of searching for the nearest point on the surface of the three-dimensional model is large, and the time required for this calculation process also becomes long.
本発明は、このような従来の実情に鑑みて提案されたものであり、最近傍点の探索処理の高速化を可能にするデータ処理装置、データ処理方法、及びプログラムを提供することを目的とする。 The present invention has been proposed in view of such a conventional situation, and an object of the present invention is to provide a data processing device, a data processing method, and a program capable of speeding up the nearest neighbor search process. .
上述した目的を達成するために、本発明に係るデータ処理装置は、多角形の底面を有する構成部位からなる3次元モデルに対象物体の3次元位置を射影するデータ処理装置において、上記対象物体の3次元表面を生成する3次元表面生成手段と、上記構成部位の表面において、上記対象物体の3次元表面における所定の位置を示す3次元ポイントから上記構成部位の表面までの距離が最短となる最近傍点を探索する領域を特定する最近傍点探索領域特定手段と、上記最近傍点探索領域特定手段によって特定された領域を構成する各平面において、それぞれ上記最近傍点を探索する最近傍点探索手段と、上記最近傍点探索手段によって探索された複数の上記最近傍点の内、上記3次元ポイントからの距離が最も短い最近傍点を出力する最近傍点出力手段と、上記最近傍点出力手段より出力された最近傍点から当該最近傍点に対応する上記3次元ポイントまでの距離における誤差関数を最小化する変換行列を算出することにより上記最近傍点と上記3次元ポイントとの相対位置を特定する変換行列算出手段と、上記変換行列算出手段によって特定された上記最近傍点と上記3次元ポイントとの相対位置に基づいて上記3次元ポイントを当該3次元ポイントに対応する最近傍点の位置に射影し、上記3次元モデルを移動させる3次元モデル移動処理手段とを備えることを特徴とする。 In order to achieve the above-described object, a data processing apparatus according to the present invention is a data processing apparatus that projects a three-dimensional position of a target object onto a three-dimensional model composed of components having a polygonal bottom surface. A three-dimensional surface generating means for generating a three-dimensional surface, and the distance from the three-dimensional point indicating a predetermined position on the three-dimensional surface of the target object to the surface of the constituent part is the shortest on the surface of the constituent part. Nearest neighbor point search area specifying means for specifying an area for searching for a neighboring point; nearest neighbor point search means for searching for the nearest neighbor point in each plane constituting the area specified by the nearest neighbor point search area specifying means; The nearest point that outputs the nearest point that has the shortest distance from the three-dimensional point among the plurality of nearest points searched by the neighbor search means And calculating the transformation matrix that minimizes the error function in the distance from the nearest point output from the nearest point output means to the three-dimensional point corresponding to the nearest point, and the nearest point and the three-dimensional A transformation matrix calculating means for specifying a relative position with respect to the point, and the three-dimensional point corresponding to the three-dimensional point based on a relative position between the nearest neighbor point specified by the conversion matrix calculating means and the three-dimensional point. 3D model movement processing means for projecting to the position of the nearest neighbor point and moving the 3D model.
また、上述した目的を達成するために、本発明に係るデータ処理方法は、多角形の底面を有する構成部位からなる3次元モデルに対象物体の3次元位置を射影するデータ処理方法において、上記対象物体の3次元表面を生成する3次元表面生成工程と、上記構成部位の表面において、上記対象物体の3次元表面における所定の位置を示す3次元ポイントから上記構成部位の表面までの距離が最短となる最近傍点を探索する領域を特定する最近傍点探索領域特定工程と、上記最近傍点探索領域特定工程にて特定された領域を構成する各平面において、それぞれ上記最近傍点を探索する最近傍点探索工程と、上記最近傍点探索工程にて探索された複数の上記最近傍点の内、上記3次元ポイントからの距離が最も短い最近傍点を出力する最近傍点出力工程と、上記最近傍点出力工程にて出力された最近傍点から当該最近傍点に対応する上記3次元ポイントまでの距離における誤差関数を最小化する変換行列を算出することにより上記最近傍点と上記3次元ポイントとの相対位置を特定する変換行列算出工程と、上記変換行列算出工程にて特定された上記最近傍点と上記3次元ポイントとの相対位置に基づいて上記3次元ポイントを当該3次元ポイントに対応する最近傍点の位置に射影し、上記3次元モデルを移動させる3次元モデル移動処理工程とを有することを特徴とする。 In order to achieve the above-described object, the data processing method according to the present invention is a data processing method for projecting a three-dimensional position of a target object onto a three-dimensional model composed of components having a polygonal bottom surface. A three-dimensional surface generating step for generating a three-dimensional surface of the object, and a distance from a three-dimensional point indicating a predetermined position on the three-dimensional surface of the target object to the surface of the constituent part on the surface of the constituent part is the shortest A nearest point search region specifying step for specifying a region for searching for the nearest point, and a nearest point search step for searching for the nearest point in each plane constituting the region specified in the nearest point search region specifying step, The nearest neighbor point output that outputs the nearest neighbor point having the shortest distance from the three-dimensional point among the plurality of nearest neighbor points searched in the nearest neighbor point search step. And calculating a transformation matrix that minimizes an error function in the distance from the nearest neighbor point output in the nearest neighbor point output step to the three-dimensional point corresponding to the nearest neighbor point, and the nearest neighbor point and the three-dimensional A transformation matrix calculating step for specifying a relative position with respect to the point, and the three-dimensional point corresponding to the three-dimensional point based on a relative position between the nearest point specified in the transformation matrix calculating step and the three-dimensional point And a three-dimensional model movement processing step of projecting to the position of the nearest point to be moved and moving the three-dimensional model.
また、本発明に係るプログラムは、上述したデータ処理をコンピュータに実行させるものである。 A program according to the present invention causes a computer to execute the data processing described above.
本発明によれば、3次元モデル表面における最近傍点の探索処理の高速化が可能となる。 According to the present invention, it is possible to speed up the process of searching for the nearest point on the surface of the three-dimensional model.
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings.
図1は、本発明の一実施形態におけるデータ処理装置1の構成を示すブロック図である。データ処理装置1は、カメラ11R及びカメラ11Lと、3次元表面生成部12と、最近傍点探索領域特定部13と、最近傍点探索部14と、最近傍点出力部15と、変換行列算出部16と、3次元モデル移動処理部17と、記憶部18とを備えて構成される。なお、データ処理装置1の処理動作は、CPU(Central Processing Unit)がROM(Read Only Memory)に記憶されているプログラムをRAM(Random Access Memory)上で実行することにより制御される。
FIG. 1 is a block diagram showing a configuration of a
図2は、データ処理装置1の処理工程の概要を示す図である。データ処理装置1では、対象物体21Aの3次元表面22に基づいて3次元モデル23を移動させる。
FIG. 2 is a diagram showing an outline of processing steps of the
カメラ11R及びカメラ11Lは、例えば人物等の対象物体21Aをそれぞれ右方向、左方向から撮影し、カメラ11Rとカメラ11Lとの視差に基づく視差画像21を得る。
The camera 11R and the
3次元表面生成部12は、カメラ11R及びカメラ11Lによって得られた視差画像21に基づいて、対象物体21Aの3次元表面22を表す3次元座標(以下、3次元ポイントという。)を生成し、この3次元ポイントからなる3次元表面データを最近傍点探索領域特定部13に供給する。
The three-dimensional
データ処理装置1では、3次元表面データに基づいて3次元モデル23を移動させる。この3次元モデル23は、形状が多角柱、多角錘、多角錘台等である構成部位(以下、3次元モデル構成部位という。)が複数個組み合わされて構成されるものである。なお、3次元モデル構成部位の形状は、多角柱、多角錘台、多角錘の何れであってもよいが、本実施の形態では、形状が正六角柱である3次元モデル構成部位23Aを例に挙げて説明する。
In the
最近傍点探索領域特定部13は、3次元モデル構成部位23Aの表面を所定の領域に分割することにより、3次元モデル構成部位23Aの表面において3次元ポイントから3次元モデル構成部位23Aまでの距離を最小とする点(以下、最近傍点という。)を探索する領域(以下、最近傍点探索領域という。)を特定する。
The nearest neighbor search
記憶部18には、3次元モデル23の位置を示す3次元座標等、3次元モデル23の所定のデータがフレーム単位で記憶されている。最近傍点探索部14は、特定のフレームにおける3次元モデル23の所定のデータを記憶部18から読み出し、最近傍点探索領域を構成する複数の平面において、それぞれ最近傍点の探索処理を行う。
The
最近傍点出力部15は、3次元ポイントから最近傍点探索部14によって探索された複数の最近傍点までの距離が最小となる最近傍点を出力する。
The nearest neighbor
変換行列算出部16は、最近傍点出力部15より出力された最近傍点とこの最近傍点に対応する3次元ポイントとの距離における誤差関数を最小化するような変換行列を算出し、誤差関数が所定の閾値より小さくなるまで繰り返し計算を行い、対象物体21Aと3次元モデル構成部位23Aとの相対位置を特定する。
The transformation matrix calculation unit 16 calculates a transformation matrix that minimizes the error function in the distance between the nearest point output from the nearest
3次元モデル移動処理部17は、変換行列算出部16によって特定された3次元ポイントと最近傍点との相対位置に基づいて3次元ポイントを対応する最近傍点の位置に射影し、フレーム毎に複数の3次元モデル構成部位23Aからなる3次元モデル23を移動させる。
The three-dimensional model movement processing unit 17 projects the three-dimensional point to the position of the nearest neighbor point based on the relative position between the three-dimensional point specified by the transformation matrix calculation unit 16 and the nearest point, and a plurality of the three-dimensional model movement processing unit 17 for each frame. The three-
ここで、データ処理装置1の処理動作について図3のフローチャートを参照しながら詳細に説明する。データ処理装置1では、ICP(Iterative Closest Point)アルゴリズムを適用してカメラ11R及びカメラ11Lによって得られたフレーム単位の視差画像における3次元ポイントから3次元モデル構成部位23Aまでの距離を最小化するような各視差画像の変換行列を算出し、繰り返し計算を行うことによって対象物体21Aと3次元モデル構成部位23Aとの相対位置を算出することにより、3次元モデル23を移動させる。
Here, the processing operation of the
ステップS1において、3次元表面生成部12は、カメラ11R及びカメラ11Lによって得られた視差画像21を用いて対象物体21Aの3次元表面22を表す3次元ポイントからなる3次元表面データを生成し、この3次元表面データを最近傍点探索領域特定部13に供給する。
In step S1, the three-dimensional
ステップS2において、最近傍点探索領域特定部13、最近傍点探索部14、及び最近傍点出力部15は、図4のフローチャートに示されるステップS21からステップS29までの処理動作を行うことにより、対象物体21Aの表面における所定の3次元ポイントから3次元モデル構成部位23Aまでの距離が最短となる最近傍点を生成し、この最近傍点を変換行列算出部16に出力する。
In step S2, the nearest neighbor point search
ステップS21において、最近傍点探索領域特定部13は、図5に示すように、3次元ポイントを示すベクトルpと、3次元モデル構成部位23Aの下底面の中心点を示すベクトルc0と、3次元モデル構成部位23Aの下底面の法線ベクトルncとを用いて、3次元モデル構成部位23Aにおいて最近傍点の探索処理を行う領域を特定するためのベクトルである単位射影ベクトルnpを以下の数式(1)によって算出する。
In step S21, nearest neighbor search
ステップS22において、最近傍点探索領域特定部13は、図6に示すように、単位射影ベクトルnpと角度の開始方向を示す角度開始ベクトルnvとによって得られる角度θを以下の数式(2)によって算出する。
In step S22, as shown in FIG. 6, the nearest neighbor point search
なお、角度θは、正の値及び負の値の両方をとることが可能であり、以下の数式(3)において、zが0より大きければ正の値を、zが0以下であれば負の値をとる。 The angle θ can take both a positive value and a negative value. In the following formula (3), a positive value is obtained when z is greater than 0, and a negative value is obtained when z is 0 or less. Takes the value of
この図6において、θ(vi)は、角度開始ベクトルnvと頂点viを表す頂点ベクトルviとによって得られる角度とし、θ(vi+1)は、角度開始ベクトルnvと頂点vi+1を表す頂点ベクトルvi+1とによって得られる角度とする。 In FIG. 6, theta (v i) is the angle obtained by the vertex vectors v i representing the angular starting vector n v and the vertex v i, theta (v i + 1), the angle starting vector n v and the vertex v i + 1 And an angle obtained by a vertex vector v i + 1 representing.
ステップS23において、最近傍点探索領域特定部13は、ステップS22にて算出された角度θに基づいて、3次元モデル構成部位23Aの表面において最近傍点の探索処理を行う領域を特定する。すなわち、最近傍点探索領域特定部13は、角度θがθ(vi)<θ<θ(vi+1)を満たす場合、図7に示すように、下底面を6等分して得られた三角形vic0vi+1と側面vivi+1vi+1’vi’と上底面を6等分して得られた三角形vi’c0’vi+1’とからなる3次元モデル表面を3次元モデル構成部位23Aにおいて最近傍点の探索処理を行う領域とする。この3次元モデル表面において最近傍点の探索処理を行うための3次元ポイントが存在可能である領域は、図8で示すように、三角柱vic0vi+1vi’c0’vi+1’を拡大して得られる領域となる。
In step S23, the nearest point search
なお、本実施の形態において、3次元モデル構成部位の形状が例えば図9(A)に示すような正六角錘台、又は図9(B)に示すような正六角錘である場合、最近傍点の探索処理を行うための3次元モデル表面は、それぞれ図10(A)に示すような三角形vjcavj+1と側面vjvj+1vj+1’vj’と三角形vj’cavj+1’とからなる3次元モデル表面、図10(B)に示すような三角形vkcbvk+1と側面vkcb’vk+1とからなる3次元モデル表面となる。また、図10(A)、図10(B)に示す3次元モデル表面において最近傍点の探索処理を行うための3次元ポイントが存在可能である領域は、それぞれ図11(A)に示すような三角錐台を拡大した領域、図11(B)に示すような三角錐を拡大した領域となる。
In this embodiment, when the shape of the three-dimensional model component is, for example, a regular hexagonal pyramid as shown in FIG. 9A or a regular hexagonal pyramid as shown in FIG. The three-dimensional model surfaces for performing the search process are triangles v j c a v j + 1 , side surfaces v j v j + 1 v j + 1 'v j ' and triangles v j 'c a v as shown in FIG. j + 1 becomes "3-dimensional model surface consisting a, 10 a triangle as shown in (B) v k c b v k + 1 and the
ステップS24において、最近傍点探索部14は、3次元モデル構成部位23Aの下底面において最近傍点を探索する。このステップS24において、先ず、最近傍点探索部14は、3次元モデル構成部位23Aを下底面方向から見た際にベクトルpで示される3次元ポイントが下底面を6等分して得られた三角形vic0vi+1の内部に存在するか否かを以下の数式(4)によって判断する。
In step S24, the nearest
最近傍点探索部14は、この数式(4)において、0<inである場合は、ベクトルpで示される3次元ポイントが三角形vic0vi+1の外部に存在すると判断し、以下の数式(5)及び数式(6)によって算出されるベクトルpcで示される点を最近傍点とする。
The nearest
そして、最近傍点探索部14は、3次元ポイントからこの最近傍点までの距離を算出し、この距離と最近傍点の3次元座標とを最近傍点出力部15に供給する。
The nearest
一方、この数式(4)においてin<0である場合、最近傍点探索部14は、ベクトルpで示される3次元ポイントが三角形vic0vi+1の内部に存在すると判断し、以下の数式(7)及び数式(8)によって算出されるベクトルpjで示される点を最近傍点とする。なお、このベクトルpjで示される最近傍点は、3次元ポイントから3次元モデル構成部位23Aの下底面に下ろした垂線と下底面との交点に位置する。
On the other hand, if it is in <0 In this equation (4), nearest
そして、最近傍点探索部14は、3次元ポイントからこの最近傍点までの距離を算出し、この距離と最近傍点の3次元座標とを最近傍点出力部15に供給する。
The nearest
ステップS25において、最近傍点探索部14は、3次元モデル構成部位23Aの側面において最近傍点を探索する。このステップS25において、先ず、最近傍点探索部14は、3次元モデル構成部位23Aを側面方向から見た際にベクトルpで示される3次元ポイントが側面vivi+1vi+1’vi’の内部に存在するか否かを以下の数式(9)〜数式(12)によって判断する。
In step S25, the nearest
最近傍点探索部14は、0<in1,0<in2,0<in3,0<in4の何れである場合は、ベクトルpで示される3次元ポイントが側面vivi+1vi+1’vi’の外部に存在すると判断する。
The nearest
すなわち、数式(9)において0<in1である場合、最近傍点探索部14は、上記数式(6)によって算出されるベクトルpcで示される点を最近傍点とする。
That is, if it is 0 <in 1 In Equation (9), nearest
また、数式(10)において0<in2である場合、最近傍点探索部14は、以下の数式(13)及び数式(14)によって算出されるベクトルpcで示される点を最近傍点とする。
Also, if it is 0 <in 2 in equation (10), nearest
また、数式(11)において0<in3である場合、最近傍点探索部14は、以下の数式(15)及び数式(16)によって算出されるベクトルpcで示される点を最近傍点とする。
Also, if it is 0 <in 3 In Equation (11), nearest
また、数式(12)において0<in4である場合、最近傍点探索部14は、以下の数式(17)及び数式(18)によって算出されるベクトルpcで示される点を最近傍点とする。
Also, if it is 0 <in 4 in Equation (12), nearest
一方、in1<0且つin2<0且つin3<0且つin4<0である場合、最近傍点探索部14は、ベクトルpで示される3次元ポイントが側面vivi+1vi+1’vi’の内部に存在すると判断し、以下の数式(19)及び数式(20)によって算出されるベクトルpjで示される点を最近傍点とする。なお、このベクトルpjで示される最近傍点は、3次元ポイントから3次元モデル構成部位23Aの側面に下ろした垂線と側面との交点に位置する。
On the other hand, when in 1 <0 and in 2 <0 and in 3 <0 and in 4 <0, the nearest
そして、最近傍点探索部14は、3次元ポイントからこの最近傍点までの距離を算出し、この距離と最近傍点の3次元座標とを最近傍点出力部15に供給する。
The nearest
ステップS26において、最近傍点探索部14は、3次元モデル23の形状が正六角錘等の錐体であるか否かを判断する。このステップS26において、3次元モデル23の形状が何れの錐体である場合はステップS28に進み、錐体でない場合はステップS27に進む。
In step S26, the nearest neighbor
3次元モデルの形状が錐体でない場合、ステップS27において、最近傍点探索部14は、3次元モデル構成部位23Aの上底面において最近傍点を探索する。このステップS27において、先ず、最近傍点探索部14は、3次元モデル構成部位23Aを上底面方向から見た際にベクトルpで示される3次元ポイントが上底面を6等分して得られた三角形vi’c0vi+1’の内部に存在するか否かを以下の数式(21)によって判断する。
When the shape of the three-dimensional model is not a cone, in step S27, the nearest
最近傍点探索部14は、数式(21)において、in<0である場合は、ベクトルpで示される3次元ポイントが三角形vi’c0vi+1’の内部に存在すると判断し、以下の数式(22)及び数式(23)によって算出されるベクトルpjで示される点を最近傍点とする。
The nearest
一方、数式(21)において0<inである場合、最近傍点探索部14は、ベクトルpで示される3次元ポイントが三角形vi’c0vi+1’の外部に存在すると判断し、上記数式(13)及び数式(14)によって算出されるベクトルpcで示される点を最近傍点とする。
On the other hand, when 0 <in in Equation (21), the nearest neighbor
そして、最近傍点探索部14は、3次元ポイントからこの最近傍点までの距離を算出し、この距離と最近傍点の3次元座標とを最近傍点出力部15に供給する。
The nearest
3次元モデル構成部位23Aの形状が錐体である場合、ステップS28において、最近傍点探索部14は、錐体の頂点を最近傍点とし、3次元ポイントからこの最近傍点までの距離を算出し、この距離と最近傍点の3次元座標とを最近傍点出力部15に供給する。
When the shape of the three-
ステップS29において、最近傍点出力部15は、ステップS24、ステップS25、及び、ステップS27又はステップS28で算出された最近傍点の内、3次元ポイントから最近傍点までの距離が最も短い最近傍点を変換行列算出部16に出力する。
In step S29, the nearest neighbor
図3に戻って、ステップS3において、変換行列算出部16は、最近傍点出力部15より出力された最近傍点から対応する3次元ポイントまでの距離における誤差関数を最小化する変換行列を算出する。
Returning to FIG. 3, in step S <b> 3, the transformation matrix calculation unit 16 calculates a transformation matrix that minimizes the error function in the distance from the nearest point output from the nearest
ステップS4において、変換行列算出部16は、最近傍点出力部15より出力された最近傍点から対応する3次元ポイントまでの距離における誤差関数が所定の閾値より小さいか否かを判断する。このステップS4において、誤差関数が所定の閾値より小さい場合はステップS5に進む。一方、このステップS4において、誤差関数が所定の閾値以上である場合はステップS2に戻り、誤差関数が所定の閾値よりも小さくなるまでステップS2〜ステップS4の処理動作を繰り返す。このようなステップS2〜ステップS4の処理動作によって3次元ポイントと最近傍点との相対位置が特定される。
In step S4, the transformation matrix calculation unit 16 determines whether or not the error function in the distance from the nearest point output from the nearest
ステップS5において、3次元モデル移動処理部17は、変換行列算出部15によって特定された3次元ポイントと最近傍点との相対位置に基づいて3次元ポイントを対応する最近傍点の位置に射影し、フレーム毎に複数の3次元モデル構成部位23Aからなる3次元モデル23を移動させる。
In step S5, the three-dimensional model movement processing unit 17 projects the three-dimensional point to the position of the corresponding nearest point based on the relative position between the three-dimensional point specified by the transformation
以下の表1は、正六角柱の3次元モデル構成部位を円柱に近似する際に3次元モデル構成部位の表面で行われる最近傍点探索処理に要する時間と、正五十角柱の3次元モデル構成部位を円柱に近似する際に3次元モデル構成部位の表面で行われる最近傍点探索処理に要する時間とを、従来より汎用的に行われているOctree Subdivisionによる最近傍点探索処理と、本実施の形態における最近傍点探索処理とで比較した結果を示すものである。 Table 1 below shows the time required for the nearest point search process performed on the surface of the three-dimensional model constituent part when approximating the three-dimensional model constituent part of the regular hexagonal column to a cylinder, and the three-dimensional model constituent part of the regular pentagonal prism The time required for the nearest neighbor search process performed on the surface of the three-dimensional model component when approximating a cylinder to the nearest neighbor search process by the conventional Octtree Subdivision and the present embodiment The result compared with the nearest neighbor search process is shown.
表1からもわかるように、データ処理装置1において、最近傍点探索処理に要する時間は、Octree Subdivisionによる最近傍点探索処理に要する時間に対して、3次元モデル構成部位の形状が正六角柱である場合には約0.062倍、3次元モデル構成部位の形状が正五十角柱である場合には約0.038倍となった。
As can be seen from Table 1, in the
また、表1からもわかるように、正五十角柱の3次元モデル構成部位を円柱に近似する際に行われる最近傍点探索処理に要する時間は、正六角柱の3次元モデル構成部位を円柱に近似する際に行われる最近傍点探索処理に要する時間に対して、Octree Subdivisionによる最近傍点探索処理では約1.693倍であるが、データ処理装置1における最近傍点探索処理では約1.033倍となった。
In addition, as can be seen from Table 1, the time required for the nearest point search processing performed when approximating a three-dimensional model component of a regular pentagonal column to a cylinder approximates the three-dimensional model component of a regular hexagonal column to a cylinder. The nearest neighbor point search process by the Octtree Subdivision is about 1.693 times the time required for the nearest neighbor point search process to be performed, but the nearest neighbor point search process in the
すなわち、データ処理装置1による最近傍点探索処理では、従来より汎用的に行われているOctree Subdivisionによる最近傍点探索処理に比べ、大幅に処理時間が短縮した。また、データ処理装置1による最近傍点探索処理では、3次元モデル構成部位の底面の形状が正n角柱(n=3,4,5,・・・・・)である場合に、nの値を大幅に増やしても最近傍点探索処理に要する時間の増加率がOctree Subdivisionによる最近傍点探索処理に要する時間の増加率に比べて小さいままであった。
That is, in the nearest neighbor search process by the
以上のように、本発明を適用した一実施の形態におけるデータ処理装置1では、対象物体の3次元表面に基づいて3次元モデルを構築する際に行われる最近傍点の探索処理において、3次元モデル表面における最近傍点の探索領域を所定の領域に特定するため、最近傍点の探索処理を従来に比べて高速化することが可能となる。
As described above, in the
また、データ処理装置1では、複雑な形状の3次元モデルにおいても単純な形状の3次元モデルに比べて最近傍点探索処理における計算量が大幅に増加することはなく、従来に比べて処理の高速化が可能となる。
Further, in the
また、本発明を適用した一実施の形態におけるデータ処理装置1は、産業上利用される種々の装置に適用することが可能である。例えば、データ処理装置1は、対象物体に装着するマーカーとこれを検出するトラッカーを組み合わせて対象物体の動きを記録するモーションキャプチャ装置に適用することが可能である。また、例えば、データ処理装置1は、X−ray等によって計測された骨の3次元表面を、形状が何れの多角柱である3次元モデルにモデリングする医療装置に適用することが可能である。
In addition, the
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。 It should be noted that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the present invention.
1 データ処理装置、11R,11L カメラ、12 3次元表面生成部、13 最近傍点探索領域特定部、14 最近傍点探索部、15 最近傍点出力部、16 変換行列算出部、17 3次元モデル移動処理部、18 記憶部
DESCRIPTION OF
Claims (6)
上記対象物体の3次元表面を生成する3次元表面生成手段と、
上記構成部位の表面において、上記対象物体の3次元表面における所定の位置を示す3次元ポイントから上記構成部位の表面までの距離が最短となる最近傍点を探索する領域を特定する最近傍点探索領域特定手段と、
上記最近傍点探索領域特定手段によって特定された領域を構成する各平面において、それぞれ上記最近傍点を探索する最近傍点探索手段と、
上記最近傍点探索手段によって探索された複数の上記最近傍点の内、上記3次元ポイントからの距離が最も短い最近傍点を出力する最近傍点出力手段と、
上記最近傍点出力手段より出力された最近傍点から当該最近傍点に対応する上記3次元ポイントまでの距離における誤差関数を最小化する変換行列を算出することにより上記最近傍点と上記3次元ポイントとの相対位置を特定する変換行列算出手段と、
上記変換行列算出手段によって特定された上記最近傍点と上記3次元ポイントとの相対位置に基づいて上記3次元ポイントを当該3次元ポイントに対応する最近傍点の位置に射影し、上記3次元モデルを移動させる3次元モデル移動処理手段と
を備えることを特徴とするデータ処理装置。 In a data processing apparatus for projecting a three-dimensional position of a target object onto a three-dimensional model composed of components having a polygonal bottom surface,
3D surface generation means for generating a 3D surface of the target object;
On the surface of the component part, a nearest neighbor point search region specification that specifies a region for searching for the nearest point having the shortest distance from the three-dimensional point indicating a predetermined position on the three-dimensional surface of the target object to the surface of the component part Means,
In each plane constituting the area specified by the nearest neighbor search area specifying means, nearest neighbor point searching means for searching for the nearest neighbor point, and
A nearest point output means for outputting a nearest point having the shortest distance from the three-dimensional point among the plurality of nearest points searched by the nearest point search means;
By calculating a transformation matrix that minimizes an error function in the distance from the nearest point output from the nearest point output means to the three-dimensional point corresponding to the nearest point, the relative between the nearest point and the three-dimensional point is calculated. Transformation matrix calculation means for specifying a position;
Based on the relative position between the nearest point specified by the transformation matrix calculation means and the three-dimensional point, the three-dimensional point is projected to the position of the nearest point corresponding to the three-dimensional point, and the three-dimensional model is moved. And a three-dimensional model movement processing means.
上記対象物体の3次元表面を生成する3次元表面生成工程と、
上記構成部位の表面において、上記対象物体の3次元表面における所定の位置を示す3次元ポイントから上記構成部位の表面までの距離が最短となる最近傍点を探索する領域を特定する最近傍点探索領域特定工程と、
上記最近傍点探索領域特定工程にて特定された領域を構成する各平面において、それぞれ上記最近傍点を探索する最近傍点探索工程と、
上記最近傍点探索工程にて探索された複数の上記最近傍点の内、上記3次元ポイントからの距離が最も短い最近傍点を出力する最近傍点出力工程と、
上記最近傍点出力工程にて出力された最近傍点から当該最近傍点に対応する上記3次元ポイントまでの距離における誤差関数を最小化する変換行列を算出することにより上記最近傍点と上記3次元ポイントとの相対位置を特定する変換行列算出工程と、
上記変換行列算出工程にて特定された上記最近傍点と上記3次元ポイントとの相対位置に基づいて上記3次元ポイントを当該3次元ポイントに対応する最近傍点の位置に射影し、上記3次元モデルを移動させる3次元モデル移動処理工程と
を有することを特徴とするデータ処理方法。 In a data processing method for projecting a three-dimensional position of a target object onto a three-dimensional model composed of components having a polygonal bottom surface,
A three-dimensional surface generation step of generating a three-dimensional surface of the target object;
On the surface of the component part, a nearest neighbor point search region specification that specifies a region for searching for the nearest point having the shortest distance from the three-dimensional point indicating a predetermined position on the three-dimensional surface of the target object to the surface of the component part Process,
In each plane constituting the area specified in the nearest point search area specifying step, the nearest point searching step for searching for the nearest point, respectively,
A nearest point output step of outputting a nearest point having the shortest distance from the three-dimensional point among the plurality of nearest points searched in the nearest point search step;
By calculating a transformation matrix that minimizes an error function in the distance from the nearest point output in the nearest point output step to the three-dimensional point corresponding to the nearest point, the nearest point and the three-dimensional point are calculated. A transformation matrix calculation step for specifying a relative position;
Based on the relative position between the nearest point specified in the transformation matrix calculation step and the three-dimensional point, the three-dimensional point is projected to the position of the nearest point corresponding to the three-dimensional point, and the three-dimensional model is A data processing method comprising: moving a three-dimensional model moving process step.
上記対象物体の3次元表面を生成する3次元表面生成工程と、
上記構成部位の表面において、上記対象物体の3次元表面における所定の位置を示す3次元ポイントから上記構成部位の表面までの距離が最短となる最近傍点を探索する領域を特定する最近傍点探索領域特定工程と、
上記最近傍点探索領域特定工程にて特定された領域を構成する各平面において、それぞれ上記最近傍点を探索する最近傍点探索工程と、
上記最近傍点探索工程にて探索された複数の上記最近傍点の内、上記3次元ポイントからの距離が最も短い最近傍点を出力する最近傍点出力工程と、
上記最近傍点出力工程にて出力された最近傍点から当該最近傍点に対応する上記3次元ポイントまでの距離における誤差関数を最小化する変換行列を算出することにより上記最近傍点と上記3次元ポイントとの相対位置を特定する変換行列算出工程と、
上記変換行列算出工程にて特定された上記最近傍点と上記3次元ポイントとの相対位置に基づいて上記3次元ポイントを当該3次元ポイントに対応する最近傍点の位置に射影し、上記3次元モデルを移動させる3次元モデル移動処理工程と
を有することを特徴とするプログラム。 A program for causing a computer to execute data processing for projecting a three-dimensional position of a target object onto a three-dimensional model composed of components having a polygonal bottom surface,
A three-dimensional surface generation step of generating a three-dimensional surface of the target object;
On the surface of the component part, a nearest neighbor point search region specification that specifies a region for searching for the nearest point having the shortest distance from the three-dimensional point indicating a predetermined position on the three-dimensional surface of the target object to the surface of the component part Process,
In each plane constituting the area specified in the nearest point search area specifying step, the nearest point searching step for searching for the nearest point, respectively,
A nearest point output step of outputting a nearest point having the shortest distance from the three-dimensional point among the plurality of nearest points searched in the nearest point search step;
By calculating a transformation matrix that minimizes an error function in the distance from the nearest point output in the nearest point output step to the three-dimensional point corresponding to the nearest point, the nearest point and the three-dimensional point are calculated. A transformation matrix calculation step for specifying a relative position;
Based on the relative position between the nearest point specified in the transformation matrix calculation step and the three-dimensional point, the three-dimensional point is projected to the position of the nearest point corresponding to the three-dimensional point, and the three-dimensional model is A program characterized by comprising a three-dimensional model movement processing step for moving.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006296464A JP2008112412A (en) | 2006-10-31 | 2006-10-31 | Data processing device, data processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006296464A JP2008112412A (en) | 2006-10-31 | 2006-10-31 | Data processing device, data processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008112412A true JP2008112412A (en) | 2008-05-15 |
Family
ID=39444875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006296464A Withdrawn JP2008112412A (en) | 2006-10-31 | 2006-10-31 | Data processing device, data processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008112412A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559308A (en) * | 2020-12-11 | 2021-03-26 | 广东电力通信科技有限公司 | Statistical model-based root alarm analysis method |
-
2006
- 2006-10-31 JP JP2006296464A patent/JP2008112412A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559308A (en) * | 2020-12-11 | 2021-03-26 | 广东电力通信科技有限公司 | Statistical model-based root alarm analysis method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6323993B2 (en) | Information processing apparatus, information processing method, and computer program | |
JP2020042476A (en) | Method and apparatus for acquiring joint position, and method and apparatus for acquiring motion | |
JP2019534510A5 (en) | ||
US10157478B2 (en) | Enabling use of three-dimensional locations of features with two-dimensional images | |
JP2008123019A (en) | Three-dimensional surface creating method | |
JP2006249618A (en) | Virtual try-on device | |
JP2011192214A (en) | Geometric feature extracting device, geometric feature extraction method and program, three-dimensional measuring device and object recognition device | |
JP2009017480A (en) | Camera calibration device and program thereof | |
US8793108B2 (en) | Three-dimensional model determination from two-dimensional sketch with two-dimensional refinement | |
JP2007257324A (en) | Face model creating system | |
JP6319804B2 (en) | Projection image generation apparatus, projection image generation method, and projection image generation program | |
JP2011215082A (en) | Method, apparatus and program for determination of imaging parameter | |
JP2012185772A (en) | Method and program for enhancing accuracy of composited picture quality of free viewpoint picture using non-fixed zoom camera | |
JP4834524B2 (en) | Three-dimensional shape measuring method and apparatus | |
JP2008112412A (en) | Data processing device, data processing method, and program | |
US11922576B2 (en) | System and method for mapping the skin | |
JP2006059165A (en) | Three-dimensional modeling device, geometric pattern, three-dimensional modeling data generating method, three-dimensional modeling program and recording medium | |
JPH0814860A (en) | Model creating device | |
JP6315542B2 (en) | Image generating apparatus and image generating method | |
JP2010217980A (en) | Information processing apparatus and method, and program | |
JP2004170277A (en) | 3-dimensional measurement method, 3-dimensional measurement system, image processing apparatus, and computer program | |
JP2005063129A (en) | Method, device and program for obtaining texture image from time-series image, and recording media for recording this program | |
JP2002350131A (en) | Calibration method for and apparatus of multiocular camera and computer program | |
JP5991730B2 (en) | Measuring device, measuring method and program | |
JP2013254300A (en) | Image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100105 |