JP2015102913A - Attitude estimation apparatus and attitude estimation method - Google Patents

Attitude estimation apparatus and attitude estimation method Download PDF

Info

Publication number
JP2015102913A
JP2015102913A JP2013241268A JP2013241268A JP2015102913A JP 2015102913 A JP2015102913 A JP 2015102913A JP 2013241268 A JP2013241268 A JP 2013241268A JP 2013241268 A JP2013241268 A JP 2013241268A JP 2015102913 A JP2015102913 A JP 2015102913A
Authority
JP
Japan
Prior art keywords
shape model
dimensional point
point group
shape
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.)
Pending
Application number
JP2013241268A
Other languages
Japanese (ja)
Inventor
健二 塚本
Kenji Tsukamoto
健二 塚本
優和 真継
Masakazu Matsugi
優和 真継
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013241268A priority Critical patent/JP2015102913A/en
Publication of JP2015102913A publication Critical patent/JP2015102913A/en
Pending legal-status Critical Current

Links

Landscapes

  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide more robust person attitude estimation technology.SOLUTION: An attitude estimation apparatus acquires a three-dimensional point group indicating an object formed of a plurality of parts and having joints, moves and/or deforms a shape model corresponding to each of the parts by means of a partial three-dimensional point group corresponding to the shape model in the three-dimensional point group, and outputs positions and/or attitudes of one or more shape models, or information calculated from the positions and/or attitudes, as estimation information for estimating an attitude of the object.

Description

本発明は、取得した距離画像から対象の姿勢を推定する方法において、あらかじめ得られた初期姿勢から三次元点群をもとに詳細な姿勢を推定する技術に関するものである。   The present invention relates to a technique for estimating a detailed posture based on a three-dimensional point group from an initial posture obtained in advance in a method for estimating the posture of a target from an acquired distance image.

距離画像から人物の姿勢を推定する方法として、特許文献1に開示されている方法がある。これには、輝度画像から顔検出と肌色抽出による手検出を行い、顔と手の位置を基準として輝度・距離画像に対してモデルのマッチングを行う方法がある。また、特許文献2では、フレーム間での腕・脚の領域の重なりを基準として、肘・膝関節位置を推定する方法が開示されている。   As a method for estimating the posture of a person from a distance image, there is a method disclosed in Patent Document 1. In this method, there is a method of performing hand detection by face detection and skin color extraction from a luminance image and performing model matching on the luminance / distance image with reference to the position of the face and the hand. Further, Patent Document 2 discloses a method for estimating the elbow / knee joint positions based on the overlap of the arm / leg regions between the frames.

その他には非特許文献1が提案されている。非特許文献1では、時系列の距離画像に対して人物に近似したモデルをもとに、各パーツをICP(Iterative Closest Points)を使って位置合わせを行っている。ICPを行う際、各点において距離が近いパーツ2つを選択して、その点とパーツ間の距離比を用いて点をどちらのパーツとICPするかを決定し、ICPを行っている。   In addition, Non-Patent Document 1 has been proposed. In Non-Patent Document 1, each part is aligned using ICP (Iterative Closest Points) based on a model that approximates a person with respect to a time-series distance image. When ICP is performed, two parts that are close to each other at each point are selected, and the part to be ICPed with the point is determined using the distance ratio between the points and the ICP is performed.

特開1997−237348号公報JP 1997-237348 A 特開2012−120647号公報JP 2012-120647 A

D. Droeschel and S. Behnke (2011), “3D Body Pose Estimation using an Adaptive Person Model for Articulated ICP”, IEEE Conference on Intelligent Robotics and Applications (ICIRIA), 2011.D. Droeschel and S. Behnke (2011), “3D Body Pose Estimation using an Adaptive Person Model for Articulated ICP”, IEEE Conference on Intelligent Robotics and Applications (ICIRIA), 2011.

しかしながら、特許文献1の方法では顔や手が見えていなければいけないため、後ろ向きや横向きの人物には対応できない。特許文献2では、時系列での領域の重なりが必要なため、速い動きには対応できない。非特許文献1では、パーツの隠れに対処できないことが課題として挙げられる。   However, since the face and hands must be visible in the method of Patent Document 1, it is not possible to deal with a person facing backwards or sideways. In Patent Document 2, it is necessary to overlap the areas in time series, and thus it is not possible to cope with fast movement. In Non-Patent Document 1, the problem is that it is impossible to deal with the hiding of parts.

本発明はこのような問題に鑑みてなされたものであり、よりロバストな人物の姿勢推定技術を提供することを目的とする。   The present invention has been made in view of such a problem, and an object thereof is to provide a more robust person posture estimation technique.

本発明の一様態として、複数のパーツから構成され且つ関節を有する対象物体を表す3次元点群を取得する取得手段と、前記複数のパーツのそれぞれに対応する形状モデルを、前記3次元点群において該形状モデルに対応する部分3次元点群を用いて移動及び/又は変形させる処理手段と、前記処理手段により処理されたそれぞれの形状モデルのうち1以上の形状モデルの位置及び/又は姿勢、若しくは該位置及び/又は姿勢から計算される情報を、前記対象物体の姿勢を推定するための推定情報として出力する出力手段とを備えることを特徴とする。   As one aspect of the present invention, an acquisition means for acquiring a three-dimensional point group representing a target object composed of a plurality of parts and having a joint, and a shape model corresponding to each of the plurality of parts, the three-dimensional point group Processing means for moving and / or deforming using a partial three-dimensional point group corresponding to the shape model, and the position and / or orientation of one or more shape models among the shape models processed by the processing means, Or output means for outputting information calculated from the position and / or orientation as estimation information for estimating the orientation of the target object.

本発明の構成によれば、よりロバストな人物の姿勢推定技術を提供することができる。   According to the configuration of the present invention, it is possible to provide a more robust posture estimation technique for a person.

姿勢推定装置の機能構成例を示すブロック図。The block diagram which shows the function structural example of an attitude | position estimation apparatus. 3次元点群及びその特徴量を説明する図。The figure explaining a three-dimensional point group and its feature-value. 初期姿勢及び近似モデルを説明する図。The figure explaining an initial posture and an approximation model. パーツ検出部104の処理を説明する図。The figure explaining the process of the parts detection part 104. FIG. パーツ検出部104の処理を説明する図。The figure explaining the process of the parts detection part 104. FIG. 位置合わせ部105及び関節位置推定部106の処理を説明する図。The figure explaining the process of the position alignment part 105 and the joint position estimation part 106. FIG. 関節位置推定部106の処理を説明する図。The figure explaining the process of the joint position estimation part. 姿勢推定装置が行う処理のフローチャート。The flowchart of the process which an attitude | position estimation apparatus performs. 第2の実施形態を説明する図。The figure explaining 2nd Embodiment. 第2の実施形態を説明する図。The figure explaining 2nd Embodiment. パーツ検出部104が行う処理のフローチャート。The flowchart of the process which the parts detection part 104 performs. 第3の実施形態を説明する図。The figure explaining 3rd Embodiment. 第3の実施形態を説明する図。The figure explaining 3rd Embodiment. 第3の実施形態を説明する図。The figure explaining 3rd Embodiment. パーツ検出部104が行う処理のフローチャート。The flowchart of the process which the parts detection part 104 performs. 第4の実施形態を説明する図。The figure explaining 4th Embodiment. 位置合わせ部105が行う処理のフローチャート。The flowchart of the process which the position alignment part 105 performs. 姿勢推定装置に適用可能な装置のハードウェア構成例を示すブロック図。The block diagram which shows the hardware structural example of the apparatus applicable to an attitude | position estimation apparatus.

以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。   Preferred embodiments of the present invention will be described below with reference to the accompanying drawings. The embodiment described below shows an example when the present invention is specifically implemented, and is one of the specific examples of the configurations described in the claims.

[第1の実施形態]
本実施形態では、複数のパーツを有する対象物体を表す3次元点群を用いて、該対象物体の姿勢(対象物体の各部位の位置や各部位の姿勢)を推定する。先ず、本実施形態に係る姿勢推定装置の機能構成例について、図1のブロック図を用いて説明する。
[First Embodiment]
In the present embodiment, the posture of the target object (the position of each part of the target object and the posture of each part) is estimated using a three-dimensional point group representing the target object having a plurality of parts. First, a functional configuration example of the posture estimation apparatus according to the present embodiment will be described with reference to the block diagram of FIG.

データ取得部101は、複数のパーツを有する対象物体を表す3次元点群を取得する。本実施形態では、「複数のパーツを有する対象物体」として人体を用いるので、データ取得部101は、顔や腕、手、胴体、腰、足などのパーツからなる人体の3次元点群を取得することになる。3次元点群の取得方法には様々な方法があり、例えば、予め本装置若しくは外部装置に登録しておいた3次元点群を取得しても良いし、ステレオカメラやTOFカメラなどを用いて撮影した人体の距離画像から3次元点群を取得しても良い。距離画像はステレオカメラやTOFカメラなどから直接得ても良いし、本装置若しくは外部装置に登録されているものを用いても良い。データ取得部101が取得した3次元点群とは、例えば図2の左側に示す如く、人体上の各点の集合201である。そしてデータ取得部101は、取得した3次元点群を後段の特徴量算出部102に対して送出する。   The data acquisition unit 101 acquires a three-dimensional point group representing a target object having a plurality of parts. In this embodiment, since the human body is used as the “target object having a plurality of parts”, the data acquisition unit 101 acquires a three-dimensional point cloud of the human body including parts such as the face, arms, hands, torso, waist, and feet. Will do. There are various methods for acquiring a three-dimensional point group. For example, a three-dimensional point group registered in advance in this apparatus or an external apparatus may be acquired, or a stereo camera or a TOF camera may be used. A three-dimensional point group may be acquired from a captured distance image of the human body. The distance image may be obtained directly from a stereo camera, a TOF camera, or the like, or an image registered in this apparatus or an external apparatus may be used. The three-dimensional point group acquired by the data acquisition unit 101 is, for example, a set 201 of points on the human body as shown on the left side of FIG. Then, the data acquisition unit 101 sends the acquired three-dimensional point group to the subsequent feature amount calculation unit 102.

特徴量算出部102は、3次元点群のうちいくつかの3次元点(全ての3次元点であっても構わないし、一部の3次元点(部分集合)であっても構わない)について、該3次元点の特徴量を算出する。本実施形態では、それぞれの3次元点について、該3次元点の3次元位置と、該3次元点における法線ベクトルと、をセットにし、これを該3次元点の特徴量とする。   The feature quantity calculation unit 102 performs some three-dimensional points in the three-dimensional point group (may be all three-dimensional points or some three-dimensional points (subsets)). The feature amount of the three-dimensional point is calculated. In the present embodiment, for each three-dimensional point, a three-dimensional position of the three-dimensional point and a normal vector at the three-dimensional point are set as a set, and this is used as a feature amount of the three-dimensional point.

3次元点の3次元位置については、3次元点群を取得した時点でそれぞれの3次元点の3次元位置は分かっているので、これを用いる。3次元点の法線ベクトルについては、該3次元点を中心として指定した近傍範囲(図2の範囲202)内にある複数の3次元点を使用して法線ベクトル(図2の法線ベクトル203)を算出する。法線ベクトルを算出するためには、先ず、以下の式(1)に従って、基準となる3次元点とその近傍の3次元点群との外積ベクトルの共分散行列を求める。   Regarding the three-dimensional position of the three-dimensional point, since the three-dimensional position of each three-dimensional point is known when the three-dimensional point group is acquired, this is used. With respect to the normal vector of the three-dimensional point, a normal vector (normal vector of FIG. 2) is used by using a plurality of three-dimensional points in the vicinity range (the range 202 of FIG. 2) designated around the three-dimensional point. 203). In order to calculate the normal vector, first, the covariance matrix of the outer product vector of the reference three-dimensional point and the neighboring three-dimensional point group is obtained according to the following equation (1).

ここで、Cは共分散行列、kは近傍点の数、piは基準点と指定距離内の点が成すベクトル、p(括弧内の第2項目)は平均ベクトル(近傍点の重心)を意味する。そして、この共分散行列の主成分を法線ベクトル203とする。なお、法線ベクトル203を算出する方法はこの方法に限るものではなく、他の方法を用いて算出しても構わない。 Here, C is a covariance matrix, k is the number of neighboring points, pi is a vector formed by a reference point and a point within a specified distance, and p (second item in parentheses) is an average vector (centroid of neighboring points). means. The principal component of this covariance matrix is a normal vector 203. Note that the method of calculating the normal vector 203 is not limited to this method, and may be calculated using another method.

そして上記の通り、特徴量算出部102は、3次元点の3次元位置と、該3次元点の法線ベクトルと、をセットにし、これを該3次元点の特徴量として、パーツ検出部104に対して送出する。なお、変形例として、データ取得部101は、3次元点群の取得元である距離画像と同視点から撮像した輝度画像を取得し、特徴量算出部102は、3次元点の特徴量に、該3次元点に対応する輝度画像上の画素位置における輝度値を更に加えても構わない。   As described above, the feature amount calculation unit 102 sets the three-dimensional position of the three-dimensional point and the normal vector of the three-dimensional point as a set, and uses this as the feature amount of the three-dimensional point, and the part detection unit 104 Is sent to. As a modification, the data acquisition unit 101 acquires a luminance image captured from the same viewpoint as the distance image from which the three-dimensional point group is acquired, and the feature amount calculation unit 102 determines the feature amount of the three-dimensional point as A luminance value at a pixel position on the luminance image corresponding to the three-dimensional point may be further added.

初期姿勢取得部103は、図3の左側に示すような、人体の初期姿勢(初期のポーズ)304を取得する。人体の初期姿勢304とは、各関節の初期位置や各部位の初期姿勢である。このような初期姿勢304は、予め設定されていても良いし、前回推定したものであっても良いし、例えば、以下に示す文献に開示されているような公知の手法を用いて距離画像から取得してもよい。   The initial posture acquisition unit 103 acquires an initial posture (initial pose) 304 of the human body as shown on the left side of FIG. The initial posture 304 of the human body is an initial position of each joint or an initial posture of each part. Such an initial posture 304 may be set in advance or may have been previously estimated. For example, the initial posture 304 may be obtained from a distance image using a known method as disclosed in the following literature. You may get it.

文献:“Real−time Human Pose Recognition in Parts from Single Depth Images”, J.Shotton,A.Fitzgibbon, M.Cook,T.Sharp,M.Finocchio,R.Moore,CVPR 2011”
そして初期姿勢取得部103は、人体の初期姿勢304を取得すると、この初期姿勢304をとっている人体を表すように、人体の各パーツに対応する形状モデル(仮想物体)を配置する。形状モデルの形状は以下では円筒としているが、円筒に限らず、他の形状であっても良い。これにより、初期姿勢304をとっている人体を表す近似モデル305(図3右側)を生成する。形状モデルを配置する際には、関節位置と関節位置間の長さをもとに配置する。図3では、人体の各パーツに対応する形状モデル310〜319を、初期姿勢304をとっている人体を表すように配置している。各形状モデルは、本装置若しくは外部装置から取得する。なお、近似モデル305は非連結構造であってもよい。そして初期姿勢取得部103は、上記のようにして作成した近似モデル305を、後段のパーツ検出部104に対して送出する。
Literature: “Real-time Human Pose Recognition in Parts from Single Depth Images”, J. Am. Shotton, A.M. Fitzgibbon, M.M. Cook, T .; Sharp, M .; Finocchio, R.A. Moore, CVPR 2011 "
When the initial posture acquisition unit 103 acquires the initial posture 304 of the human body, it arranges a shape model (virtual object) corresponding to each part of the human body so as to represent the human body taking the initial posture 304. In the following, the shape of the shape model is a cylinder. However, the shape model is not limited to a cylinder, and may be another shape. Thus, an approximate model 305 (right side in FIG. 3) representing the human body taking the initial posture 304 is generated. When the shape model is arranged, the shape model is arranged based on the length between the joint positions. In FIG. 3, the shape models 310 to 319 corresponding to the parts of the human body are arranged so as to represent the human body taking the initial posture 304. Each shape model is acquired from this apparatus or an external apparatus. Note that the approximate model 305 may have an unconnected structure. Then, the initial posture acquisition unit 103 sends the approximate model 305 created as described above to the subsequent part detection unit 104.

パーツ検出部104は、3次元点群の特徴量を用いて、初期姿勢取得部103から受けた近似モデルを構成する各形状モデルを移動(位置姿勢)及び/又は変形させて、人体の各パーツに一致する(太さや長さ、位置や姿勢)ような形状モデルを生成する。この処理には形状検出手法を用い、例えば、以下に示す文献に開示されている手法が適用可能である。   The part detection unit 104 moves (position / posture) and / or deforms each shape model constituting the approximate model received from the initial posture acquisition unit 103 using the feature quantity of the three-dimensional point cloud, and thereby makes each part of the human body. A shape model that matches (thickness, length, position, posture) is generated. For this process, a shape detection method is used. For example, a method disclosed in the following literature can be applied.

文献:RANSAC(Random Sampling Consensus)を使った物体形状検出方法(参考文献:“Efficient RANSAC for Point−Cloud Shape Detection”,R.Schnabel, R.Wahl R.Klein,Computer Graphics Forum,2007)
もちろん、人体の各パーツに(太さや長さ、位置や姿勢が)一致するような形状モデルを生成する処理は、他の手法を用いて行っても良い。ここで、具体例を挙げてパーツ検出部104の動作を説明する。
Literature: Object shape detection method using RANSAC (Random Sampling Consensus) (reference: “Efficient RANSAC for Point-Clode Shape Detection”, R. Schnabel, R. Wahl R. Klein, Computer Graf 7)
Of course, the process of generating a shape model that matches each part of the human body (thickness, length, position, and posture) may be performed using other methods. Here, the operation of the parts detection unit 104 will be described with a specific example.

パーツ検出部104は、図4の406に示す如く、3次元点群内に近似モデルを配置し、形状モデルごとに、該形状モデルの3次元位置、回転、サイズ(半径と長さ)から、後述する方法により処理範囲(424や426)を設定する。そしてパーツ検出部104は、設定した処理範囲から、RANSAC等による処理により、パーツに一致するような形状モデルを生成する。   As shown by 406 in FIG. 4, the parts detection unit 104 arranges an approximate model in a three-dimensional point group, and for each shape model, from the three-dimensional position, rotation, and size (radius and length) of the shape model, A processing range (424 or 426) is set by a method described later. Then, the parts detection unit 104 generates a shape model that matches the parts from the set processing range by processing using RANSAC or the like.

例えば、図3の形状モデル314からは、対応するパーツに一致するような形状モデルとして図5の形状モデル534を生成し、図3の形状モデル316からは、対応するパーツに一致するような形状モデルとして図5の形状モデル536を生成する。このように、パーツ検出部104は、図3の形状モデル310〜319のそれぞれから、形状モデル540〜549を生成する。パーツ検出部104は、上記のようにして生成した各形状モデルを、後段の位置合わせ部105に対して送出する。   For example, the shape model 534 of FIG. 5 is generated as a shape model that matches the corresponding part from the shape model 314 of FIG. 3, and the shape that matches the corresponding part is generated from the shape model 316 of FIG. A shape model 536 shown in FIG. 5 is generated as a model. In this way, the parts detection unit 104 generates the shape models 540 to 549 from each of the shape models 310 to 319 of FIG. The part detection unit 104 sends each shape model generated as described above to the subsequent alignment unit 105.

位置合わせ部105は、それぞれの形状モデルに対し、該形状モデルと、3次元点群において該形状モデルに対応する部分3次元点群と、の間でICP(Iterative Closest Point)を適用し、該形状モデルの位置合わせを行う。ICPは、例えば、以下の文献に開示されているように公知の技術である。   The alignment unit 105 applies ICP (Iterative Closest Point) between the shape model and a partial 3D point group corresponding to the shape model in the 3D point group for each shape model, Align the shape model. ICP is a known technique as disclosed in the following document, for example.

文献:“A Method for Registration of 3−D shapes”、IEEE PAMI,vol.14、no.2、pp。239−256、Feb 1992)
この位置合わせでは先ず、パーツ検出部104が形状モデルを生成する際に用いた「上記3次元点群において該形状モデルに対応する部分3次元点群」におけるそれぞれの3次元点と、該3次元点から最短の該形状モデル上の点と、の間の距離を求める。そして、「上記3次元点群において該形状モデルに対応する部分3次元点群」におけるそれぞれの3次元点と、該3次元点から最短の該形状モデル上の点と、の間の距離の総和Eを最小化するように、該形状モデルを更に移動及び/又は変形させる。この総和Eは以下の式に従って計算する。
Literature: “A Method for Registration of 3-D shapes”, IEEE PAMI, vol. 14, no. 2, pp. 239-256, Feb 1992)
In this alignment, first, each three-dimensional point in the “partial three-dimensional point group corresponding to the geometric model in the three-dimensional point group” used when the parts detection unit 104 generates the geometric model, The distance between the point on the shape model and the shortest point is obtained. Then, the sum of the distances between each three-dimensional point in the “partial three-dimensional point group corresponding to the shape model in the three-dimensional point group” and the point on the shape model that is the shortest from the three-dimensional point. The shape model is further moved and / or deformed to minimize E. This total sum E is calculated according to the following equation.

ここでNは、部分3次元点群に含まれている3次元点の数、iは部分3次元点群に含まれている各3次元点に対するインデックスを表す。また、diは部分3次元点群においてi番目の3次元点の世界座標系における位置、miは部分3次元点群においてi番目の3次元点に最も近い形状モデル上の点の形状モデル座標系における位置、を表す。形状モデル座標系とは、形状モデル上の1点を原点とし、この原点で互いに直交する3軸をそれぞれ、x、y、z軸とする座標系である。Tは世界座標系における位置を形状モデル座標系における位置に変換するための変換マトリクスである。   Here, N is the number of three-dimensional points included in the partial three-dimensional point group, and i is an index for each three-dimensional point included in the partial three-dimensional point group. Also, di is the position of the i-th 3D point in the partial 3D point group in the world coordinate system, and mi is the shape model coordinate system of the point on the shape model closest to the i-th 3D point in the partial 3D point group. Represents the position at. The shape model coordinate system is a coordinate system in which one point on the shape model is an origin, and three axes orthogonal to each other at the origin are x, y, and z axes, respectively. T is a conversion matrix for converting a position in the world coordinate system to a position in the shape model coordinate system.

このEは形状モデルごとに計算され、それぞれの形状モデルは、対応するEが最小化されるように、移動及び/又は変形される。なお、上記位置合わせは、ICPを用いた方法に限るものではなく、他の方法を採用しても構わない。   This E is calculated for each shape model, and each shape model is moved and / or deformed such that the corresponding E is minimized. The alignment is not limited to the method using ICP, and other methods may be adopted.

位置合わせ部105による上記処理により、図5の右側に示した各形状モデル540〜549からなる近似モデルは、図6の607に示す如く更新される。そして位置合わせ部105は、上記処理により更新した近似モデルを、後段の関節位置推定部106に対して送出する。   Through the above processing by the alignment unit 105, the approximate model including the shape models 540 to 549 shown on the right side of FIG. 5 is updated as indicated by 607 in FIG. Then, the alignment unit 105 sends the approximate model updated by the above process to the joint position estimation unit 106 at the subsequent stage.

関節位置推定部106は、位置合わせ部105から受けた近似モデルを構成する各形状モデルの位置関係に基づいて、一方の形状モデルを他方の形状モデルに連結させる。例えば、図6の左側に示す如く、予め定められた形状モデル間の距離651〜659を計算し、計算したそれぞれの距離と規定の距離との大小比較を行う。ここで、例えば、距離651が規定の距離以下であった場合、頭部に相当する形状モデルと胴体に相当する形状モデルとの間の距離をより小さくすることで、それぞれの形状モデルを連結させる。このような形状モデル連結を行うことで、607に示した近似モデルは連結構造を成すように再構築される。   The joint position estimation unit 106 connects one shape model to the other shape model based on the positional relationship between the shape models constituting the approximate model received from the alignment unit 105. For example, as shown on the left side of FIG. 6, distances 651 to 659 between predetermined shape models are calculated, and the calculated distances are compared in magnitude with a specified distance. Here, for example, when the distance 651 is equal to or less than a prescribed distance, the respective shape models are connected by reducing the distance between the shape model corresponding to the head and the shape model corresponding to the trunk. . By performing such a shape model connection, the approximate model shown in 607 is reconstructed so as to form a connection structure.

そして関節位置推定部106は、このようにして再構築した近似モデルから、例えば図7に示す如く、頭、首、腰、両肩、両肘、両手首、両脚付け根、両膝、両かかとの位置761〜775を推定し、関節位置及び人物の姿勢を示す情報(709)を出力する。各部位の位置の推定方法としては、各形状モデルに対して関節点との対応付けを行い、形状モデルの中心位置から関節点の位置へのベクトルを保持しておき、それを関節推定時に使用して求める。例えば、形状モデル541の中心位置から関節点の位置771へのベクトルを近似モデルに対して保持しておき、中心位置からそのベクトルを足して関節点の位置771を算出する。同様に他の関節点の位置761〜775も求めることができる。   Then, the joint position estimation unit 106 calculates the head, neck, waist, both shoulders, both elbows, both wrists, both leg bases, both knees, both heels, as shown in FIG. 7, for example. The positions 761 to 775 are estimated, and information (709) indicating the joint position and the posture of the person is output. The position of each part is estimated by associating each shape model with a joint point, holding a vector from the center position of the shape model to the position of the joint point, and using that for joint estimation. And ask. For example, a vector from the center position of the shape model 541 to the position 771 of the joint point is held in the approximate model, and the position 771 of the joint point is calculated by adding the vector from the center position. Similarly, the positions 761 to 775 of other joint points can be obtained.

以上説明した姿勢推定装置が行う処理について、同処理のフローチャートを示す図8を用いて説明する。ステップS101では、データ取得部101は、人体の3次元点群を取得し、該取得した3次元点群を後段の特徴量算出部102に対して送出する。   The process performed by the attitude estimation apparatus described above will be described with reference to FIG. 8 showing a flowchart of the process. In step S <b> 101, the data acquisition unit 101 acquires a three-dimensional point group of the human body, and sends the acquired three-dimensional point group to the subsequent feature amount calculation unit 102.

ステップS102では、特徴量算出部102は、3次元点群のうちいくつかの3次元点(全ての3次元点であっても構わないし、一部の3次元点(部分集合)であっても構わない)について、該3次元点の特徴量を算出する。そして、特徴量算出部102は、それぞれの3次元点について、該3次元点の3次元位置と、該3次元点の法線ベクトルと、をセットにし、これを該3次元点の特徴量として、パーツ検出部104に対して送出する。   In step S102, the feature amount calculation unit 102 may include some three-dimensional points (all three-dimensional points or some three-dimensional points (subsets) in the three-dimensional point group. The feature amount of the three-dimensional point is calculated. Then, for each three-dimensional point, the feature amount calculation unit 102 sets the three-dimensional position of the three-dimensional point and the normal vector of the three-dimensional point as a set, and uses this as the feature amount of the three-dimensional point. And sent to the part detection unit 104.

ステップS103では、初期姿勢取得部103は、人体の初期姿勢(初期のポーズ)を取得する。そして初期姿勢取得部103は、人体の初期姿勢を取得すると、この初期姿勢をとっている人体を表すように、人体の各パーツに対応する形状モデルを配置し、これにより、初期姿勢をとっている人体を表す近似モデルを生成する。そして初期姿勢取得部103は、上記のようにして作成した近似モデルを、後段のパーツ検出部104に対して送出する。   In step S103, the initial posture acquisition unit 103 acquires the initial posture (initial pose) of the human body. Then, when the initial posture acquisition unit 103 acquires the initial posture of the human body, the shape model corresponding to each part of the human body is arranged so as to represent the human body taking the initial posture, thereby taking the initial posture. An approximate model that represents the human body is generated. Then, the initial posture acquisition unit 103 sends the approximate model created as described above to the subsequent part detection unit 104.

ステップS104では、パーツ検出部104は、3次元点群の特徴量を用いて、初期姿勢取得部103から受けた近似モデルを構成する各形状モデルを移動及び/又は変形させて、人体の各パーツに一致するような形状モデルを生成する。   In step S104, the part detection unit 104 moves and / or deforms each shape model constituting the approximate model received from the initial posture acquisition unit 103 using the feature amount of the three-dimensional point group, and thereby each part of the human body. A shape model that matches is generated.

形状モデルごとに、該形状モデルの3次元位置、回転、サイズ(半径と長さ)から処理範囲を設定する処理は、次のようにして行う。例えば、形状モデル314に対して処理範囲を設定する場合には、次のようにして設定を行う。先ず、形状モデル314の外接矩形に指定した長さを加えた処理範囲424を設定する。そして、この処理範囲424内で形状モデル314が収まる位置において、形状モデル314の回転角度を基準として設定した回転角度425の範囲内において、形状モデル314の位置・回転角度および長さ・大きさを変えながら、形状モデル534を得る。   For each shape model, processing for setting a processing range from the three-dimensional position, rotation, and size (radius and length) of the shape model is performed as follows. For example, when setting the processing range for the shape model 314, the setting is performed as follows. First, a processing range 424 in which a specified length is added to the circumscribed rectangle of the shape model 314 is set. Then, at the position where the shape model 314 is within the processing range 424, the position / rotation angle and the length / size of the shape model 314 are set within the range of the rotation angle 425 set with reference to the rotation angle of the shape model 314. The shape model 534 is obtained while changing.

同様に、形状モデル316に対して処理範囲を設定する場合には、次のようにして設定を行う。先ず、形状モデル316の外接矩形に指定した長さを加えた処理範囲426を設定する。そして、この処理範囲426内で形状モデル316が収まる位置において、形状モデル316の回転角度を基準として設定した回転角度427の範囲内において、形状モデル316の位置・回転角度および長さ・大きさを変えながら、形状モデル536を得る。そしてパーツ検出部104は、上記のようにして生成した各形状モデルを、後段の位置合わせ部105に対して送出する。   Similarly, when setting the processing range for the shape model 316, the setting is performed as follows. First, the processing range 426 is set by adding the designated length to the circumscribed rectangle of the shape model 316. Then, at the position where the shape model 316 is within the processing range 426, the position / rotation angle and the length / size of the shape model 316 are within the range of the rotation angle 427 set with reference to the rotation angle of the shape model 316. The shape model 536 is obtained while changing. Then, the part detection unit 104 sends each shape model generated as described above to the subsequent alignment unit 105.

ステップS105では、位置合わせ部105は、それぞれの形状モデルに対し、該形状モデルと、3次元点群において該形状モデルに対応する部分3次元点群と、の間でICPを適用し、該形状モデルの位置合わせを行う。そして位置合わせ部105は、形状モデルの位置合わせにより更新された近似モデルを、後段の関節位置推定部106に対して送出する。   In step S105, the alignment unit 105 applies ICP between the shape model and a partial three-dimensional point group corresponding to the shape model in the three-dimensional point group for each shape model. Align the model. Then, the alignment unit 105 sends the approximate model updated by the alignment of the shape model to the joint position estimation unit 106 at the subsequent stage.

ステップS106では、関節位置推定部106は、位置合わせ部105から受けた形状モデルを構成する各形状モデルの位置関係に基づいて、一方の形状モデルを他方の形状モデルに連結させることで、近似モデルを再構築する。そして関節位置推定部106は、このようにして再構築した近似モデルから、頭、首、腰、両肩、両肘、両手首、両脚付け根、両膝、両かかとの位置を推定し、関節位置及び人物の姿勢を示す情報を出力する。   In step S106, the joint position estimation unit 106 connects one shape model to the other shape model based on the positional relationship between the shape models that form the shape model received from the alignment unit 105, thereby approximating the approximate model. To rebuild. Then, the joint position estimation unit 106 estimates the positions of the head, neck, waist, both shoulders, both elbows, both wrists, both bases of the legs, both knees, and both heels from the reconstructed approximate model. And information indicating the posture of the person.

本実施形態では、「複数のパーツを有する対象物体」として人体を用いたが、それぞれの姿勢が可変となる複数のパーツを有する対象物体であれば、例えば動物など、人体以外であっても構わない。   In the present embodiment, the human body is used as the “target object having a plurality of parts”. However, any object other than the human body such as an animal may be used as long as it is a target object having a plurality of parts whose postures are variable. Absent.

なお、上記で説明した構成は、以下に説明する基本構成の一例に過ぎず、以下の基本構成に帰着する構成であれば、如何なる構成を採用しても良い。基本構成では、複数のパーツから構成され且つ関節を有する対象物体を表す3次元点群を取得すると共に、複数のパーツのそれぞれに対応する形状モデルを、3次元点群において該形状モデルに対応する部分3次元点群を用いて移動及び/又は変形させる。そして、処理された(移動及び/又は変形)それぞれの形状モデルのうち1以上の形状モデルの位置及び/又は姿勢、若しくは該位置及び/又は姿勢から計算される情報を、対象物体の姿勢を推定するための情報である推定情報として出力する。このような推定情報があれば、各関節の位置などを特定することができるので、結果として、対象物体の姿勢を推定することができる。   The configuration described above is merely an example of the basic configuration described below, and any configuration may be adopted as long as the configuration results in the following basic configuration. In the basic configuration, a three-dimensional point group that includes a plurality of parts and that represents a target object having a joint is acquired, and a shape model corresponding to each of the plurality of parts corresponds to the shape model in the three-dimensional point group. The partial three-dimensional point cloud is used for movement and / or deformation. Then, the position and / or orientation of one or more of the processed (moving and / or deforming) shape models, or information calculated from the positions and / or orientations, is used to estimate the posture of the target object. Is output as estimated information that is information for With such estimation information, the position of each joint can be specified, and as a result, the posture of the target object can be estimated.

このような構成によれば、例えば、リハビリ患者の身体の3次元点群を取得することで、この3次元点群からリハビリ患者の姿勢を推定することができる。これにより、リハビリ患者の身体がどの程度動いているのか、どのような範囲で各部位が動いているのか、などを得ることができる。   According to such a configuration, for example, the posture of the rehabilitation patient can be estimated from the three-dimensional point group by acquiring the three-dimensional point group of the body of the rehabilitation patient. Thereby, how much the body of a rehabilitation patient is moving, what range each part is moving, etc. can be obtained.

[第2の実施形態]
本実施形態では、パーツ検出部104による処理範囲の設定方法が、第1の実施形態と異なる。本実施形態では、データ取得部101は図9に901として示す3次元点群を取得し、初期姿勢取得部103は、図9に902として示す近似モデルを生成したとする。
[Second Embodiment]
In the present embodiment, the processing range setting method by the parts detection unit 104 is different from that of the first embodiment. In this embodiment, it is assumed that the data acquisition unit 101 acquires a three-dimensional point group indicated by 901 in FIG. 9, and the initial posture acquisition unit 103 generates an approximate model indicated by 902 in FIG.

処理範囲を設定する際、形状モデル同士が近い場合には重複する領域があるため、形状モデル間の距離を用いて境界を設定し、重複しないよう処理範囲を設定する。パーツ検出部104は、図10に示す如く、形状モデル1003の境界を設定する場合、形状モデル1003と形状モデル1004との間に境界を設定する。この境界は、形状モデル1003の中心線1005と形状モデル1004の中心線1006に対する距離を次の式で求める。   When setting the processing range, there are overlapping areas when the shape models are close to each other, so the boundary is set using the distance between the shape models, and the processing range is set so as not to overlap. As illustrated in FIG. 10, the part detection unit 104 sets a boundary between the shape model 1003 and the shape model 1004 when setting the boundary of the shape model 1003. For this boundary, the distance between the center line 1005 of the shape model 1003 and the center line 1006 of the shape model 1004 is obtained by the following equation.

ここで、P1は中心線1005の方向ベクトル、P2は中心線1006の方向ベクトルで、nはP1及びP2に対して直交するベクトルである。ベクトルn(線分1007)上において、形状モデル1003と形状モデル1004の半径の長さの差分を取った距離の中点1008を求める。この中点1008を複数箇所で求めて、複数の中点を通る平面1009を求め、これを形状モデル間の境界とする。同様に他の各形状モデルに対しても、形状モデル同士の境界平面を求める、各形状モデルの中心位置を基準に平面より近い範囲を処理範囲として設定する。   Here, P1 is a direction vector of the center line 1005, P2 is a direction vector of the center line 1006, and n is a vector orthogonal to P1 and P2. On the vector n (line segment 1007), the midpoint 1008 of the distance obtained by taking the difference in the length of the radius between the shape model 1003 and the shape model 1004 is obtained. The midpoint 1008 is obtained at a plurality of locations, a plane 1009 passing through the plurality of midpoints is obtained, and this is defined as a boundary between the shape models. Similarly, for other shape models, a boundary plane between the shape models is obtained, and a range closer to the plane is set as a processing range based on the center position of each shape model.

本実施形態では、パーツ検出部104は、ステップS104において、図11に示したフローチャートに従った処理を実行する。ステップS1101では、パーツ検出部104は、特徴量算出部102から3次元点群及びその特徴量を取得し、初期姿勢取得部103からは近似モデルを取得する。   In the present embodiment, the parts detection unit 104 executes processing according to the flowchart shown in FIG. 11 in step S104. In step S <b> 1101, the parts detection unit 104 acquires a three-dimensional point group and its feature amount from the feature amount calculation unit 102, and acquires an approximate model from the initial posture acquisition unit 103.

ステップS1102ではパーツ検出部104は、初期姿勢取得部103から受けた近似モデルを構成する各形状モデルのうち未選択の形状モデルを選択し、該選択形状モデルに近接する形状モデルがあれば、この形状モデル間に上記のようにして境界を設定する。もちろん、近接する形状モデル間に境界を設定する方法は上記の方法に限るものではない。   In step S1102, the part detection unit 104 selects an unselected shape model from among the shape models constituting the approximate model received from the initial posture acquisition unit 103, and if there is a shape model close to the selected shape model, The boundary is set between the shape models as described above. Of course, the method of setting a boundary between adjacent shape models is not limited to the above method.

ステップS1003では、パーツ検出部104は、選択形状モデルに対し、第1の実施形態と同様にして処理範囲を設定する。その際、処理範囲がステップS1102で設定した境界の内部(選択形状モデルの中心位置から境界までの距離以下)に収まるように設定する。   In step S1003, the parts detection unit 104 sets a processing range for the selected shape model in the same manner as in the first embodiment. At this time, the processing range is set to be within the boundary set in step S1102 (below the distance from the center position of the selected shape model to the boundary).

ステップS1004では、パーツ検出部104は、ステップS1003で設定した処理範囲内で、第1の実施形態と同様にして、選択形状モデルを移動及び/又は変形させる。ステップS1005では、パーツ検出部104は、初期姿勢取得部103から受けた近似モデルを構成する全ての形状モデルをステップS1102で選択したか否かを判断する。この判断の結果、全ての形状モデルを選択した場合には、処理はステップS105に進み、未選択の形状モデルが残っている場合には、処理はステップS1102に進む。   In step S1004, the parts detection unit 104 moves and / or deforms the selected shape model in the same manner as in the first embodiment within the processing range set in step S1003. In step S <b> 1005, the parts detection unit 104 determines whether all shape models constituting the approximate model received from the initial posture acquisition unit 103 have been selected in step S <b> 1102. If all the shape models are selected as a result of this determination, the process proceeds to step S105, and if an unselected shape model remains, the process proceeds to step S1102.

[第3の実施形態]
本実施形態では図12に示す如く、データ取得部101が取得した3次元点群1201に対して、初期姿勢取得部103において初期姿勢1202をもとに作成された近似モデル1203と各形状モデルの隠れ情報1204とがパーツ検出部104に出力される。
[Third Embodiment]
In the present embodiment, as shown in FIG. 12, the approximate model 1203 created based on the initial posture 1202 in the initial posture acquisition unit 103 and the shape models of the three-dimensional point group 1201 acquired by the data acquisition unit 101. The hidden information 1204 is output to the part detection unit 104.

パーツ検出部104は、近似モデル1203と隠れ情報1204をもとに、処理範囲を設定し、形状モデルの移動及び/又は変形を行う。その際、例えば形状モデル1305(図13)に対応する隠れ情報が「有」(隠れている)の場合、該形状モデル1305を移動及び/又は変形させるための処理範囲のパラメータ(3次元位置、3軸の回転)を0に設定する。これにより、実質的には、形状モデル1305の移動及び/又は変形は行われないことになる。即ち、パーツ検出部104は、隠れていない形状モデルとして指定されている指定形状モデルについてのみ、移動及び/又は変形を行う。これを全形状モデルに対して実行した結果1306(図13)が位置合わせ部105に対して送出される。   The part detection unit 104 sets a processing range based on the approximate model 1203 and the hidden information 1204 and moves and / or deforms the shape model. At this time, for example, when the hidden information corresponding to the shape model 1305 (FIG. 13) is “present” (hidden), parameters of the processing range for moving and / or deforming the shape model 1305 (three-dimensional position, Set 3 axis rotation) to 0. Thereby, the movement and / or deformation of the shape model 1305 is substantially not performed. That is, the part detection unit 104 performs movement and / or deformation only on the designated shape model designated as a shape model that is not hidden. A result 1306 (FIG. 13) obtained by executing this for all shape models is sent to the alignment unit 105.

位置合わせ部105では、パーツ検出部104と同様に各形状モデルの隠れ情報1204を参照する。そして、例えば形状モデル1305に対応する隠れ情報が「有」の場合、形状モデル1305に対する位置合わせのパラメータ、例えば、用いる3次元点数や用いる3次元点の距離を0に設定することで、形状モデル1305の位置合わせを行わない。そして位置合わせ部105は、隠れ情報が「無」に対応する形状モデルについて位置合わせを行った近似モデルを、後段の関節位置推定部106に対して送出する。   The alignment unit 105 refers to the hidden information 1204 of each shape model in the same manner as the part detection unit 104. For example, when the hidden information corresponding to the shape model 1305 is “present”, the alignment parameter for the shape model 1305, for example, the number of three-dimensional points to be used and the distance between the three-dimensional points to be used are set to 0, thereby setting the shape model. The alignment of 1305 is not performed. Then, the alignment unit 105 sends an approximate model obtained by performing alignment for the shape model corresponding to the hidden information “None” to the joint position estimation unit 106 at the subsequent stage.

関節位置推定部106は、位置合わせ部105から受けた近似モデルを用いて第1の実施形態と同様の処理を行うことで、図14に例示するような、関節位置及び人物の姿勢を示す情報(1407)を出力する。   The joint position estimation unit 106 performs the same processing as in the first embodiment using the approximate model received from the positioning unit 105, and thereby shows information indicating the joint position and the posture of the person as illustrated in FIG. (1407) is output.

本実施形態では、パーツ検出部104は、ステップS104において、図15に示したフローチャートに従った処理を実行する。ステップS1501では、パーツ検出部104は、特徴量算出部102から3次元点群及びその特徴量を取得し、初期姿勢取得部103からは近似モデル及び隠れ情報を取得する。   In the present embodiment, the parts detection unit 104 executes processing according to the flowchart shown in FIG. 15 in step S104. In step S <b> 1501, the part detection unit 104 acquires a three-dimensional point group and its feature amount from the feature amount calculation unit 102, and acquires an approximate model and hidden information from the initial posture acquisition unit 103.

ステップS1502では、パーツ検出部104は、対象形状モデルに対応する隠れ情報を参照し、該対象形状モデルが隠れているか否かを判断する。この判断の結果、隠れている場合には、処理はステップS1507に進み、隠れていない場合には、処理はステップS1503に進む。   In step S1502, the part detection unit 104 refers to the hidden information corresponding to the target shape model, and determines whether or not the target shape model is hidden. As a result of this determination, if it is hidden, the process proceeds to step S1507, and if it is not hidden, the process proceeds to step S1503.

ステップS1503では、パーツ検出部104は、第1の実施形態と同様にして、対象形状モデルに対して処理範囲を設定する。ステップS1504では、パーツ検出部104は、ステップS1503で設定した処理範囲内で、第1の実施形態と同様にして、対象形状モデルを移動及び/又は変形させる。ステップS1505では、パーツ検出部104は、ステップS1504における処理が成功したか否かを判断する。この判断には様々な基準を用いることができる。例えば、ステップS1504における処理で確定した形状モデルと、そのほかの確定済みの形状モデルとの位置や姿勢の関係において基準値以上のずれがある場合には失敗と判断しても良い。   In step S1503, the parts detection unit 104 sets a processing range for the target shape model in the same manner as in the first embodiment. In step S1504, the part detection unit 104 moves and / or deforms the target shape model in the same manner as in the first embodiment within the processing range set in step S1503. In step S1505, the parts detection unit 104 determines whether or not the process in step S1504 is successful. Various criteria can be used for this determination. For example, if there is a deviation greater than or equal to the reference value in the relationship between the position and orientation of the shape model determined by the processing in step S1504 and the other shape models already determined, it may be determined as a failure.

そしてステップS1505における判断の結果、ステップS1504における処理が成功したと判断した場合には、処理はステップS1507に進み、失敗と判断した場合には、処理はステップS1506に進む。ステップS1506では、パーツ検出部104は、対象形状モデルに対応する隠れ情報を「有」に設定する。   If it is determined in step S1505 that the process in step S1504 has been successful, the process proceeds to step S1507. If it is determined that the process has failed, the process proceeds to step S1506. In step S1506, the parts detection unit 104 sets the hidden information corresponding to the target shape model to “present”.

ステップS1507では、パーツ検出部104は、初期姿勢取得部103から受けた近似モデルを構成する全ての形状モデルについてステップS1502〜S1506の処理を行ったか否かを判断する。   In step S <b> 1507, the parts detection unit 104 determines whether or not the processing of steps S <b> 1502 to S <b> 1506 has been performed on all the shape models constituting the approximate model received from the initial posture acquisition unit 103.

この判断の結果、初期姿勢取得部103から受けた近似モデルを構成する全ての形状モデルについてステップS1502〜S1506の処理を行った場合、パーツ検出部104は、近似モデルと隠れ情報とを位置合わせ部105に送出する。そして、処理はステップS105に進む。   As a result of this determination, when the processing of steps S1502 to S1506 is performed for all shape models constituting the approximate model received from the initial posture acquisition unit 103, the part detection unit 104 aligns the approximate model and the hidden information. To 105. Then, the process proceeds to step S105.

一方、初期姿勢取得部103から受けた近似モデルを構成する全ての形状モデルのうちステップS1502〜S1506の処理を行っていない形状モデルが残っている場合には、処理はステップS1502に戻る。そして、残っている形状モデルのうち1つを対象形状モデルとしてステップS1502以降の処理を行う。   On the other hand, if there remains a shape model that has not been subjected to the processes in steps S1502 to S1506 among all the shape models that constitute the approximate model received from the initial posture acquisition unit 103, the process returns to step S1502. Then, one or more of the remaining shape models are set as the target shape model, and the processing from step S1502 is performed.

なお、隠れ情報は、形状モデルに対してではなく、各人体部位に対して設定されても良い。その場合であっても、各人体部位と形状モデルとは対応しているので、パーツ検出部104及び位置合わせ部105は、隠れ情報が「無」になっている人体部位に対応する形状モデルを処理対象とすればよい。   The hidden information may be set not for the shape model but for each human body part. Even in that case, since each human body part corresponds to the shape model, the parts detection unit 104 and the alignment unit 105 select the shape model corresponding to the human body part whose hidden information is “none”. What is necessary is just to make it a process target.

[第4の実施形態]
本実施形態では、図16に示す如く、3次元点群1601を用いて近似モデル1602を確定させた場合に、この近似モデル1602における形状モデル間の連結位置1610〜1618を定義し、全部の形状モデルの連結構造を定義する。そして、以下に示す文献に開示されている手法であるArticulated ICPを用いて、上記連結構造に基づいて形状モデル連結を行うと共に、上記の位置合わせを行い、近似モデル1603を得る。
[Fourth Embodiment]
In this embodiment, as shown in FIG. 16, when the approximate model 1602 is determined using the three-dimensional point group 1601, the connection positions 1610 to 1618 between the shape models in the approximate model 1602 are defined, and all the shapes are defined. Define the connected structure of the model. Then, using Articulated ICP which is a technique disclosed in the following literature, shape model connection is performed based on the connection structure, and the above alignment is performed to obtain an approximate model 1603.

文献:“A Generalization of the ICP Algorithm for Articulated Bodies”、S.Pellegrini,K.Schindler,D.Nardi,BMVC 2008)
位置合わせ部105は、パーツ検出部104から得られた近似モデル1602に対して、上記の連結位置1610〜1619を設定し、各形状モデルと連結位置とから、全体の形状モデルの連結構造を定義する。この定義では、胴体を基準として胴体と頭の形状モデルが連結位置1610を介して繋がっていることや、胴体と右上腕と右前腕が連結位置1611及び1612を介して繋がっていることを定義する。この定義をP1,…、PBとして定義する。
Literature: “A Generalization of the ICP Algorithm for Artificated Bodies”, S.A. Pellegrini, K.M. Schindler, D.M. Nardi, BMVC 2008)
The alignment unit 105 sets the connection positions 1610 to 1619 for the approximate model 1602 obtained from the part detection unit 104, and defines the connection structure of the entire shape model from each shape model and the connection position. To do. In this definition, it is defined that the torso and the head shape model are connected via the connecting position 1610 with respect to the torso, and that the torso, the upper right arm and the right forearm are connected via the connecting positions 1611 and 1612. . This definition is defined as P1,.

ここで、P1はルートとなるパーツの形状モデル、P2〜PBはノードとなるパーツの形状モデルである。このように、各形状モデルに対してルートとノードの連結関係を用いて、3次元点群1601に対して式(4)を最小化するように、各形状モデルの位置合わせを行う。   Here, P1 is a shape model of a part serving as a root, and P2 to PB are shape models of parts serving as nodes. As described above, the alignment of each shape model is performed so as to minimize the expression (4) for the three-dimensional point group 1601 by using the connection relationship between the root and the node for each shape model.

ここで、T1は、ルートとなる形状モデルの座標系から世界座標系への変換マトリクス、T2〜TBはそれぞれ、対応するノードの形状モデルの座標系から世界座標系への変換マトリクスである。Lは、形状モデルに対応する部分3次元点群に含まれている3次元点の数、iは部分3次元点群に含まれている各3次元点に対するインデックス、jは各形状モデルに対するインデックス(j=1はルートの形状モデル)を表す。また、diは部分3次元点群においてi番目の3次元点の世界座標系における位置、miは部分3次元点群においてi番目の3次元点に最も近い、j番目の形状モデル上の点の形状モデル座標系における位置、を表す。 Here, T1 is a transformation matrix from the coordinate system of the shape model serving as the root to the world coordinate system, and T2 to TB are transformation matrices from the coordinate system of the corresponding shape model of the node to the world coordinate system, respectively. L is the number of 3D points included in the partial 3D point group corresponding to the shape model, i is an index for each 3D point included in the partial 3D point group, and j is an index for each shape model (J = 1 is the shape model of the route). Also, di is the position of the i-th three-dimensional point in the partial three-dimensional point group in the world coordinate system, and mi j is the point on the j-th shape model that is closest to the i-th three-dimensional point in the partial three-dimensional point group. Represents the position in the shape model coordinate system.

このEは、形状モデルごとの3次元点群との距離の総和を合計したエネルギー関数であり、この総和を最小化するように各形状モデルの位置合わせを行う。なお、Tが複数ある場合は、先ほど述べたパーツの連結関係を利用する。また、この連結関係は隠れ情報1204を利用して、隠れているパーツがある場合はそれを取り除いて連結関係を作り直してもよい。そして位置合わせ部105は、このようにして位置合わせを行った近似モデルを、後段の関節位置推定部106に対して送出する。   This E is an energy function obtained by summing the total sum of the distances to the three-dimensional point group for each shape model, and each shape model is aligned so as to minimize this sum. When there are a plurality of Ts, the connection relationship of the parts described above is used. Moreover, this connection relationship may use the hidden information 1204 to remove a hidden part and recreate the connection relationship. Then, the alignment unit 105 sends the approximate model that has been aligned in this way to the joint position estimation unit 106 at the subsequent stage.

本実施形態では、位置合わせ部105は、ステップS105において図17のフローチャートに従った処理を行う。ステップS1701では、位置合わせ部105は、パーツ検出部104から送出された近似モデル及び3次元点群の特徴量を取得する。   In the present embodiment, the alignment unit 105 performs processing according to the flowchart of FIG. 17 in step S105. In step S <b> 1701, the alignment unit 105 acquires the approximate model and the feature amount of the three-dimensional point group sent from the part detection unit 104.

ステップS1702では、位置合わせ部105は、ステップS1701で取得した近似モデルに対して、上記の連結位置を求め、該求めた連結位置に基づいて上記の連結構造を定義する。すなわち、胴体を基準に頭、腕、脚の連結関係を定義する。   In step S1702, the alignment unit 105 obtains the above connection position for the approximate model acquired in step S1701, and defines the above connection structure based on the obtained connection position. That is, the connection relationship between the head, arms and legs is defined based on the body.

ステップS1703では、位置合わせ部105は、上記のエネルギー関数の値を計算し、この値を最小化するように、各形状モデルの位置合わせを行う。ステップS1704では位置合わせ部105は、再度エネルギー関数の値を計算し、前回計算したエネルギー関数の値との差分の絶対値を計算すると共に、ステップS1703の処理を行った回数をカウントする。   In step S1703, the alignment unit 105 calculates the value of the energy function, and aligns each shape model so as to minimize this value. In step S1704, the alignment unit 105 calculates the energy function value again, calculates the absolute value of the difference from the previously calculated energy function value, and counts the number of times the processing in step S1703 has been performed.

そして、計算した絶対値が規定値以下(エネルギー関数の値が収束した)、若しくはカウントした回数が規定回数以上であれば、位置合わせ部105は、近似モデルを関節位置推定部106に対して送出し、処理はステップS106に進む。一方、計算した絶対値が規定値より大きく(エネルギー関数の値が収束していない)、且つカウントした回数が規定回数未満であれば、処理はステップS1703に進む。なお、第1〜4の実施形態のうち2以上の実施形態の全体若しくは一部を組み合わせて使用しても構わない。   If the calculated absolute value is equal to or less than the specified value (the energy function value has converged) or the counted number is equal to or greater than the specified number, the alignment unit 105 sends the approximate model to the joint position estimation unit 106. Then, the process proceeds to step S106. On the other hand, if the calculated absolute value is greater than the specified value (the value of the energy function has not converged) and the counted number is less than the specified number, the process proceeds to step S1703. In addition, you may use combining the whole or one part of 2 or more embodiment among 1st-4th embodiment.

[第5の実施形態]
図1に示した各部はいずれもハードウェアで構成しても良いが、ソフトウェア(コンピュータプログラム)で構成しても良い。その場合、このコンピュータプログラムを実行可能な装置は、上記の各実施形態における姿勢推定装置として機能することができる。各実施形態における姿勢推定装置として機能可能な装置のハードウェア構成例を図18に示す。なお、各実施形態における姿勢推定装置として機能可能な装置のハードウェア構成は図18に示した構成に限るものではなく、様々な構成例が考え得る。
[Fifth Embodiment]
Each unit shown in FIG. 1 may be configured by hardware, but may be configured by software (computer program). In that case, an apparatus capable of executing this computer program can function as the posture estimation apparatus in each of the above embodiments. FIG. 18 shows an example of the hardware configuration of an apparatus that can function as the posture estimation apparatus in each embodiment. Note that the hardware configuration of a device that can function as the posture estimation device in each embodiment is not limited to the configuration shown in FIG. 18, and various configuration examples can be considered.

CPU1801は、RAM1802やROM1803に格納されているコンピュータプログラムやデータを用いて本装置全体の動作制御を行うと共に、姿勢推定装置が行うものとして上述した各処理を実行する。   The CPU 1801 controls the operation of the entire apparatus using computer programs and data stored in the RAM 1802 and the ROM 1803, and executes the processes described above as performed by the attitude estimation apparatus.

RAM1802は、外部記憶装置1806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)1807を介して外部から取得したデータを一時的に記憶するためのエリアを有する。また、RAM1802は、CPU1801が各種の処理を実行する際に用いるワークエリアも有する。即ち、RAM1802は、各種のエリアを適宜提供することができる。   The RAM 1802 has an area for temporarily storing computer programs and data loaded from the external storage device 1806 and data acquired from the outside via an I / F (interface) 1807. The RAM 1802 also has a work area used when the CPU 1801 executes various processes. That is, the RAM 1802 can provide various areas as appropriate.

ROM1803には、本装置の設定データやブートプログラムなどが格納されている。操作部1804は、キーボードやマウスなどにより構成されており、本装置の操作者が操作することで、各種の指示をCPU1801に対して入力することができる。   The ROM 1803 stores setting data, a boot program, and the like of this apparatus. The operation unit 1804 is configured by a keyboard, a mouse, and the like, and can input various instructions to the CPU 1801 by being operated by an operator of the apparatus.

表示部1805は、CRTや液晶画面などにより構成されており、CPU1801による処理結果を画像や文字などでもって表示することができる。例えば、表示部1805には、3次元点群や形状モデルなどを表示することができる。   The display unit 1805 is configured by a CRT, a liquid crystal screen, or the like, and can display a processing result by the CPU 1801 using an image, text, or the like. For example, the display unit 1805 can display a three-dimensional point group, a shape model, or the like.

外部記憶装置1806は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置1806には、OS(オペレーティングシステム)や、姿勢推定装置が行うものとして上述した各処理をCPU1801に実行させるためのコンピュータプログラムやデータが保存されている。このコンピュータプログラムには、図1に示した各部の機能をCPU1801に実行させるためのコンピュータプログラムが含まれている。また、このデータには、距離画像や3次元点群、上記の各処理において既知の情報として説明した情報が含まれている。外部記憶装置1806に保存されているコンピュータプログラムやデータは、CPU1801による制御に従って適宜RAM1802にロードされ、CPU1801による処理対象となる。   The external storage device 1806 is a mass information storage device represented by a hard disk drive device. The external storage device 1806 stores a computer program and data for causing the CPU 1801 to execute the above-described processes performed by the OS (operating system) and the posture estimation device. This computer program includes a computer program for causing the CPU 1801 to execute the functions of the respective units shown in FIG. In addition, this data includes a distance image, a three-dimensional point group, and information described as known information in each of the above processes. Computer programs and data stored in the external storage device 1806 are appropriately loaded into the RAM 1802 under the control of the CPU 1801 and are processed by the CPU 1801.

I/F1807は、外部装置を本装置に接続するためのもので、例えば3次元点群や距離画像を保持している外部装置や、上記のステレオカメラやTOFカメラなどの距離画像を撮像する撮像装置をこのI/F1807に接続することができる。これにより本装置は、I/F1807に接続されている機器とのデータ通信を行うことができる。なお、上記の各部はいずれも、バス1808に接続されている。   An I / F 1807 is used to connect an external device to the present device. For example, an external device that holds a three-dimensional point cloud or a distance image, or an imaging device that captures a distance image such as the stereo camera or the TOF camera described above. A device can be connected to the I / F 1807. Accordingly, the present apparatus can perform data communication with a device connected to the I / F 1807. Note that each of the above parts is connected to the bus 1808.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

Claims (8)

複数のパーツから構成され且つ関節を有する対象物体を表す3次元点群を取得する取得手段と、
前記複数のパーツのそれぞれに対応する形状モデルを、前記3次元点群において該形状モデルに対応する部分3次元点群を用いて移動及び/又は変形させる処理手段と、
前記処理手段により処理されたそれぞれの形状モデルのうち1以上の形状モデルの位置及び/又は姿勢、若しくは該位置及び/又は姿勢から計算される情報を、前記対象物体の姿勢を推定するための推定情報として出力する出力手段と
を備えることを特徴とする姿勢推定装置。
An acquisition unit configured to acquire a three-dimensional point group that includes a plurality of parts and represents a target object having a joint;
Processing means for moving and / or deforming a shape model corresponding to each of the plurality of parts using a partial three-dimensional point group corresponding to the shape model in the three-dimensional point group;
The position and / or orientation of one or more shape models out of the respective shape models processed by the processing means, or information calculated from the position and / or orientation is estimated for estimating the posture of the target object An attitude estimation apparatus comprising: output means for outputting information.
前記処理手段は、
前記形状モデルを、前記部分3次元点群を用いて移動及び/又は変形させた後、該部分3次元点群に含まれるそれぞれの3次元点と、該3次元点に対応する前記形状モデル上の3次元点と、の間の距離に基づいて、前記形状モデルの位置合わせを行う
ことを特徴とする請求項1に記載の姿勢推定装置。
The processing means includes
After the shape model is moved and / or deformed using the partial three-dimensional point group, each three-dimensional point included in the partial three-dimensional point group and the shape model corresponding to the three-dimensional point are displayed. The posture estimation apparatus according to claim 1, wherein the shape model is aligned based on a distance between the three-dimensional point.
前記処理手段は更に、
前記移動及び/又は変形の後に一方の形状モデルと、該一方の形状モデルとの連結の対象である他方の形状モデルとの間の距離が規定の距離以下であれば、該一方の形状モデルと該他方の形状モデルとを連結させる
ことを特徴とする請求項1又は2に記載の姿勢推定装置。
The processing means further includes
If the distance between one shape model after the movement and / or deformation and the other shape model to be connected to the one shape model is equal to or less than a specified distance, the one shape model and The posture estimation apparatus according to claim 1, wherein the other shape model is connected.
前記処理手段は、
前記複数のパーツのそれぞれに対応する形状モデルのうち、隠れていない形状モデルとして指定されている形状モデルを移動及び/又は変形させる
ことを特徴とする請求項1乃至3の何れか1項に記載の姿勢推定装置。
The processing means includes
4. The shape model designated as a non-hidden shape model among the shape models corresponding to each of the plurality of parts is moved and / or deformed. 5. Posture estimation device.
前記処理手段は、
前記形状モデルを、前記部分3次元点群を用いて移動及び/又は変形させた後、該部分3次元点群に含まれるそれぞれの3次元点と、該3次元点に対応する前記形状モデル上の3次元点と、の間の距離の総和を、それぞれの形状モデルについて求め、該それぞれの形状モデルについて求めた総和の合計を最小化するように、該それぞれの形状モデルの位置合わせを行う
ことを特徴とする請求項1に記載の姿勢推定装置。
The processing means includes
After the shape model is moved and / or deformed using the partial three-dimensional point group, each three-dimensional point included in the partial three-dimensional point group and the shape model corresponding to the three-dimensional point are displayed. The sum of the distances between the three-dimensional points is obtained for each shape model, and the respective shape models are aligned so as to minimize the sum of the sum obtained for each shape model. The posture estimation apparatus according to claim 1.
前記取得手段は、前記対象物体の距離画像から前記3次元点群を取得することを特徴とする請求項1乃至5の何れか1項に記載の姿勢推定装置。   The posture estimation apparatus according to claim 1, wherein the acquisition unit acquires the three-dimensional point group from a distance image of the target object. 姿勢推定装置が行う姿勢推定方法であって、
前記姿勢推定装置の取得手段が、複数のパーツから構成され且つ関節を有する対象物体を表す3次元点群を取得する取得工程と、
前記姿勢推定装置の処理手段が、前記複数のパーツのそれぞれに対応する形状モデルを、前記3次元点群において該形状モデルに対応する部分3次元点群を用いて移動及び/又は変形させる処理工程と、
前記姿勢推定装置の出力手段が、前記処理工程で処理されたそれぞれの形状モデルのうち1以上の形状モデルの位置及び/又は姿勢、若しくは該位置及び/又は姿勢から計算される情報を、前記対象物体の姿勢を推定するための推定情報として出力する出力工程と
を備えることを特徴とする姿勢推定方法。
A posture estimation method performed by a posture estimation device,
An acquisition step in which the acquisition means of the posture estimation device acquires a three-dimensional point group that represents a target object composed of a plurality of parts and having a joint;
A processing step in which the processing means of the posture estimation apparatus moves and / or deforms a shape model corresponding to each of the plurality of parts using a partial 3D point group corresponding to the shape model in the 3D point group. When,
The output means of the posture estimation device outputs the position and / or posture of one or more shape models among the respective shape models processed in the processing step, or information calculated from the positions and / or postures, An output step of outputting as estimation information for estimating the posture of the object.
コンピュータを、請求項1乃至6の何れか1項に記載の姿勢推定装置の各手段として機能させるためのコンピュータプログラム。   The computer program for functioning a computer as each means of the attitude | position estimation apparatus of any one of Claims 1 thru | or 6.
JP2013241268A 2013-11-21 2013-11-21 Attitude estimation apparatus and attitude estimation method Pending JP2015102913A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013241268A JP2015102913A (en) 2013-11-21 2013-11-21 Attitude estimation apparatus and attitude estimation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013241268A JP2015102913A (en) 2013-11-21 2013-11-21 Attitude estimation apparatus and attitude estimation method

Publications (1)

Publication Number Publication Date
JP2015102913A true JP2015102913A (en) 2015-06-04

Family

ID=53378587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013241268A Pending JP2015102913A (en) 2013-11-21 2013-11-21 Attitude estimation apparatus and attitude estimation method

Country Status (1)

Country Link
JP (1) JP2015102913A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016593A (en) * 2015-07-06 2017-01-19 キヤノン株式会社 Image processing apparatus, image processing method, and program
WO2017222072A1 (en) * 2016-06-23 2017-12-28 Necソリューションイノベータ株式会社 Posture analysis device, posture analysis method, and computer-readable recording medium
JP2018082770A (en) * 2016-11-21 2018-05-31 カシオ計算機株式会社 Exercise analysis device, and exercise analysis method and program
WO2018207282A1 (en) * 2017-05-10 2018-11-15 富士通株式会社 Target object recognition method, device, system, and program
WO2018207292A1 (en) * 2017-05-10 2018-11-15 富士通株式会社 Target object recognition method, device, system, and program
WO2018207388A1 (en) * 2017-05-12 2018-11-15 ブレイン株式会社 Program, device and method relating to motion capture
WO2019030794A1 (en) * 2017-08-07 2019-02-14 富士通株式会社 Information processing device, model data creation program, and model data creation method
JPWO2018087853A1 (en) * 2016-11-09 2020-05-28 株式会社システムフレンド Stereoscopic image generation system, stereoscopic image generation method, and stereoscopic image generation program
JPWO2021117165A1 (en) * 2019-12-11 2021-06-17
JP2022501103A (en) * 2018-09-19 2022-01-06 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Devices, systems and methods for providing skeletal models

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017016593A (en) * 2015-07-06 2017-01-19 キヤノン株式会社 Image processing apparatus, image processing method, and program
WO2017222072A1 (en) * 2016-06-23 2017-12-28 Necソリューションイノベータ株式会社 Posture analysis device, posture analysis method, and computer-readable recording medium
JPWO2018087853A1 (en) * 2016-11-09 2020-05-28 株式会社システムフレンド Stereoscopic image generation system, stereoscopic image generation method, and stereoscopic image generation program
JP2018082770A (en) * 2016-11-21 2018-05-31 カシオ計算機株式会社 Exercise analysis device, and exercise analysis method and program
US11126831B2 (en) 2017-05-10 2021-09-21 Fujitsu Limited Object recognition method, device, system, and program
CN110603570A (en) * 2017-05-10 2019-12-20 富士通株式会社 Object recognition method, device, system, and program
JPWO2018207282A1 (en) * 2017-05-10 2020-03-12 富士通株式会社 Object recognition method, apparatus, system, program
EP3624059A4 (en) * 2017-05-10 2020-05-27 Fujitsu Limited Target object recognition method, device, system, and program
WO2018207292A1 (en) * 2017-05-10 2018-11-15 富士通株式会社 Target object recognition method, device, system, and program
CN110603570B (en) * 2017-05-10 2023-08-04 富士通株式会社 Object recognition method, device, system, and program
JP6996557B2 (en) 2017-05-10 2022-02-21 富士通株式会社 Object recognition method, device, system, program
WO2018207282A1 (en) * 2017-05-10 2018-11-15 富士通株式会社 Target object recognition method, device, system, and program
WO2018207388A1 (en) * 2017-05-12 2018-11-15 ブレイン株式会社 Program, device and method relating to motion capture
WO2019030794A1 (en) * 2017-08-07 2019-02-14 富士通株式会社 Information processing device, model data creation program, and model data creation method
CN111033560A (en) * 2017-08-07 2020-04-17 富士通株式会社 Information processing device, model data creation program, and model data creation method
JPWO2019030794A1 (en) * 2017-08-07 2020-08-06 富士通株式会社 Information processing device, model data creation program, model data creation method
US11188742B2 (en) 2017-08-07 2021-11-30 Fujitsu Limited Information processing apparatus and model data creating method
JP2022501103A (en) * 2018-09-19 2022-01-06 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Devices, systems and methods for providing skeletal models
JP7372966B2 (en) 2018-09-19 2023-11-01 コーニンクレッカ フィリップス エヌ ヴェ Device, system, method of operating the device, and computer program for providing a skeletal model
WO2021117165A1 (en) * 2019-12-11 2021-06-17 富士通株式会社 Generation method, generation program, and information processing system
JPWO2021117165A1 (en) * 2019-12-11 2021-06-17
JP7375829B2 (en) 2019-12-11 2023-11-08 富士通株式会社 Generation method, generation program and information processing system

Similar Documents

Publication Publication Date Title
JP2015102913A (en) Attitude estimation apparatus and attitude estimation method
CN108762495B (en) Virtual reality driving method based on arm motion capture and virtual reality system
CN110570455B (en) Whole body three-dimensional posture tracking method for room VR
CN110480634B (en) Arm guide motion control method for mechanical arm motion control
Qian et al. Developing a gesture based remote human-robot interaction system using kinect
WO2021169839A1 (en) Action restoration method and device based on skeleton key points
Chua et al. Model-based 3D hand posture estimation from a single 2D image
KR101911133B1 (en) Avatar construction using depth camera
Pyo et al. Service robot system with an informationally structured environment
Lee Full-body imitation of human motions with kinect and heterogeneous kinematic structure of humanoid robot
CN103529944B (en) A kind of human motion recognition method based on Kinect
US9008442B2 (en) Information processing apparatus, information processing method, and computer program
JP2015531098A5 (en)
WO2007102537A1 (en) Posture estimating device and method
JP2019096113A (en) Processing device, method and program relating to keypoint data
US10482647B2 (en) Computer-implemented method for simulating a body taking a posture
CN111539300A (en) Human motion capture method, device, medium and equipment based on IK algorithm
JP2015028702A (en) Information processor, information processing method, and program
Knoop et al. Modeling joint constraints for an articulated 3D human body model with artificial correspondences in ICP
KR20220026186A (en) A Mixed Reality Telepresence System for Dissimilar Spaces Using Full-Body Avatar
CN110298917A (en) A kind of facial reconstruction method and system
US11250592B2 (en) Information processing apparatus
KR102333768B1 (en) Hand recognition augmented reality-intraction apparatus and method
JP2007125670A (en) Expression action conversion system for robot
JP7464512B2 (en) 3D human posture estimation device, method and program