JP7432330B2 - Posture correction network learning device and its program, and posture estimation device and its program - Google Patents
Posture correction network learning device and its program, and posture estimation device and its program Download PDFInfo
- Publication number
- JP7432330B2 JP7432330B2 JP2019169020A JP2019169020A JP7432330B2 JP 7432330 B2 JP7432330 B2 JP 7432330B2 JP 2019169020 A JP2019169020 A JP 2019169020A JP 2019169020 A JP2019169020 A JP 2019169020A JP 7432330 B2 JP7432330 B2 JP 7432330B2
- Authority
- JP
- Japan
- Prior art keywords
- posture
- learning data
- network
- joint
- correction network
- 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.)
- Active
Links
- 230000036544 posture Effects 0.000 claims description 303
- 238000004364 calculation method Methods 0.000 claims description 46
- 238000013528 artificial neural network Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 26
- 238000009877 rendering Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 claims description 14
- 210000001503 joint Anatomy 0.000 description 51
- 210000000988 bone and bone Anatomy 0.000 description 12
- 238000013500 data storage Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000007796 conventional method Methods 0.000 description 5
- 239000010410 layer Substances 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Description
本発明は、CGモデルの姿勢を補正するニューラルネットワークの姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢補正ネットワークを用いてCGモデルの姿勢を推定する姿勢推定装置およびそのプログラムに関する。 The present invention relates to a posture correction network learning device and program for learning a posture correction network of a neural network that corrects the posture of a CG model, and a posture estimation device and program for estimating the posture of a CG model using the posture correction network. Regarding.
近年、映像から推定された人体の関節および骨組み(以下、人体ボーンという)をCGモデルに反映させて、リアルタイムでCGキャラクタを動作させたり、仮想現実上でヴァーチャルアバタを操作する機器が実用化されたりしている。
従来、映像から人体ボーンを認識する手法は種々存在する。
例えば、ニューラルネットワークを利用して、2次元画像上で人体ボーンの関節の位置と結合状態とを推定する手法が存在する(非特許文献1参照)。この手法に加えて、さらに、ステレオカメラを用いることで、三角測量の原理で関節の3次元位置まで推定する手法が存在する(非特許文献2参照)。この手法は、例えば、図8に示すように、予め定めた人体の関節pの3次元座標と、各関節pとの連結状態を推定する。
また、2次元画像上で人体ボーンの関節の姿勢を推定する手法としては、2次元画像上の関節座標から、直接観測できない関節の姿勢を潜在変数モデルとして学習する手法が存在する(特許文献1参照)。
In recent years, devices have been put into practical use that reflect the joints and bones of the human body estimated from video (hereinafter referred to as human body bones) in a CG model to make CG characters move in real time or to operate virtual avatars in virtual reality. I'm doing it.
Conventionally, there are various methods for recognizing human body bones from images.
For example, there is a method of estimating the positions and connection states of joints of human body bones on a two-dimensional image using a neural network (see Non-Patent Document 1). In addition to this method, there is a method that uses a stereo camera to estimate the three-dimensional position of a joint based on the principle of triangulation (see Non-Patent Document 2). In this method, for example, as shown in FIG. 8, the three-dimensional coordinates of predetermined joints p of the human body and the connection state of each joint p are estimated.
In addition, as a method for estimating the posture of a joint of a human body bone on a two-dimensional image, there is a method that uses a latent variable model to learn the posture of a joint that cannot be directly observed from the joint coordinates on a two-dimensional image (
従来の手法によれば、映像から人体ボーンの関節の位置(3次元位置)と、各関節の姿勢(3次元回転角)とを推定することは可能である。
しかし、従来の手法は、関節の3次元位置のみから、各関節の3次元回転角を推定しており、各関節をつなぐボーンを軸とした回転(ロール回転角)を考慮していない。なお、ロール回転角は、3次元位置のみから一意に推定することはできない。例えば、図9に示すように、関節p1,p2が連結している場合、関節p1,p2の3次元位置は従来の手法により推定可能であるが、関節p1,p2をつなぐボーンである軸Aは、ロール回転角が不定である。
According to conventional methods, it is possible to estimate the positions (three-dimensional positions) of joints of human body bones and the postures (three-dimensional rotation angles) of each joint from images.
However, the conventional method estimates the three-dimensional rotation angle of each joint only from the three-dimensional position of the joint, and does not take into account the rotation (roll rotation angle) about the bones connecting each joint. Note that the roll rotation angle cannot be uniquely estimated only from the three-dimensional position. For example, as shown in FIG. 9, when joints p1 and p2 are connected, the three-dimensional positions of joints p1 and p2 can be estimated using conventional methods. The roll rotation angle is indeterminate.
そのため、このように推定された関節の位置および姿勢を3次元のCGモデルに適用した場合、モデルの関節の回転角が不自然に表現されたり、接続関係が破綻してしまったり等の状態が発生することがある。例えば、図10(a)に示すように、本来、肩の関節pに腕が連結した状態でCGモデルを生成する場合、関節pの姿勢のうち、点線の軸についてはロール回転角が不定であるため、図10(b)に示すように、関節pにおいて、腕と胴体とにねじれが発生してしまう場合がある。 Therefore, when the joint positions and postures estimated in this way are applied to a three-dimensional CG model, the rotation angles of the model's joints may be expressed unnaturally, or the connection relationships may be broken. This may occur. For example, as shown in Fig. 10(a), when a CG model is generated with an arm connected to shoulder joint p, the roll rotation angle for the axis indicated by the dotted line in the posture of joint p is unstable. Therefore, as shown in FIG. 10(b), twisting may occur in the arm and torso at the joint p.
本発明は、このような問題に鑑みてなされたものであり、CGモデルの関節の3次元位置情報から推定される姿勢を、より正しい姿勢に補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢補正ネットワークを用いてCGモデルの姿勢を推定する姿勢推定装置およびそのプログラムを提供することを課題とする。 The present invention has been made in view of these problems, and it learns a posture correction network composed of a neural network that corrects the posture estimated from the three-dimensional position information of the joints of a CG model to a more correct posture. An object of the present invention is to provide a posture correction network learning device and its program, and a posture estimation device and its program that estimate the posture of a CG model using the posture correction network.
前記課題を解決するため、本発明に係る姿勢補正ネットワーク学習装置は、3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置であって、姿勢補正手段と、レンダリング手段と、識別手段と、パラメータ更新手段と、を備える構成とした。 In order to solve the above problems, a posture correction network learning device according to the present invention provides a posture correction network that learns a posture correction network constituted by a neural network that corrects postures corresponding to positions of joints of a CG model in a three-dimensional space. The network learning device is configured to include posture correction means, rendering means, identification means, and parameter updating means.
かかる構成において、姿勢補正ネットワーク学習装置は、姿勢補正手段によって、姿勢補正ネットワークを用いて、姿勢が不定な学習データである姿勢不定学習データから補正学習データを演算する。なお、姿勢補正ネットワークのパラメータの初期値は当初不定であるが、パラメータ更新手段によって順次更新されることになる。 In this configuration, the posture correction network learning device uses the posture correction network by the posture correction means to calculate corrected learning data from the posture indefinite learning data, which is learning data with an indefinite posture. Note that although the initial values of the parameters of the attitude correction network are initially undefined, they are sequentially updated by the parameter updating means.
そして、姿勢補正ネットワーク学習装置は、レンダリング手段によって、姿勢が正しい学習データである正解学習データおよび補正学習データについて、CGモデルの各部位に予め定めたパターンテキスチャを設定した3次元のダミーモデルをそれぞれレンダリングして2次元のレンダリング画像を生成する。これによって、ねじれ等の発生で姿勢が誤っている場合は、レンダリング画像上のパターンテキスチャの配置の違いとして表されることになる。 Then, the posture correction network learning device uses a rendering means to create a three-dimensional dummy model in which a predetermined pattern texture is set in each part of the CG model for the correct learning data and the corrected learning data, which are learning data with correct postures. Rendering is performed to generate a two-dimensional rendered image. As a result, if the posture is incorrect due to twisting or the like, this will be expressed as a difference in the arrangement of pattern textures on the rendered image.
また、姿勢補正ネットワーク学習装置は、識別手段によって、正解学習データから生成したレンダリング画像を真値として識別し、補正学習データから生成したレンダリング画像を偽値として識別するニューラルネットワークによって構成される識別ネットワークを用いて、レンダリング画像から識別結果を演算する。なお、識別ネットワークのパラメータの初期値は当初不定であるが、パラメータ更新手段によって順次更新されることになる。 The posture correction network learning device also includes an identification network configured by a neural network that uses an identification means to identify a rendered image generated from correct learning data as a true value, and identifies a rendered image generated from corrected learning data as a false value. The identification result is calculated from the rendered image using . Note that although the initial values of the parameters of the identification network are initially undefined, they are sequentially updated by the parameter updating means.
そして、姿勢補正ネットワーク学習装置は、パラメータ更新手段によって、正解学習データから生成したレンダリング画像の識別手段による識別結果と真値との交差エントロピーを小さくするとともに、補正学習データから生成したレンダリング画像の識別手段による識別結果と偽値との交差エントロピーを小さくするように識別ネットワークのパラメータを更新する。
また、姿勢補正ネットワーク学習装置は、パラメータ更新手段によって、補正学習データから生成したレンダリング画像の識別手段による識別結果と偽値との交差エントロピーを大きくするように姿勢補正ネットワークのパラメータを更新する。
Then, the posture correction network learning device uses the parameter updating means to reduce the cross entropy between the identification result by the identification means of the rendered image generated from the correct learning data and the true value, and identifies the rendered image generated from the corrected learning data. The parameters of the identification network are updated so as to reduce the cross entropy between the identification result by the means and the false value.
Further, the posture correction network learning device uses the parameter updating means to update the parameters of the posture correction network so as to increase the cross entropy between the identification result by the identification means of the rendered image generated from the correction learning data and the false value.
このように、識別ネットワークについては、レンダリング画像の真偽を正しく識別するように学習され、姿勢補正ネットワークについては、補正学習データを用いたレンダリング画像を識別ネットワークに真値と誤って識別させるように学習されることになる。
これによって、姿勢補正ネットワーク学習装置は、CGモデルの姿勢を正しく補正するニューラルネットワークとして、姿勢補正ネットワークを学習する。
In this way, the identification network is trained to correctly identify the truth or falsehood of a rendered image, and the posture correction network is trained to make the identification network incorrectly identify a rendered image using corrected learning data as a true value. It will be learned.
Thereby, the posture correction network learning device learns the posture correction network as a neural network that correctly corrects the posture of the CG model.
なお、姿勢が不定なデータである姿勢不定学習データは、3次元空間におけるCGモデルの関節の位置から、関節を制御する方法である逆運動学計算により、関節の回転角が不定な姿勢を計算する姿勢計算手段によって生成してもよい。
また、本発明は、コンピュータを、前記姿勢補正ネットワーク学習装置として機能させるための姿勢補正ネットワーク学習プログラムで実現することもできる。
In addition, the posture-indeterminate learning data, which is data with an indeterminate posture, uses inverse kinematics calculation, which is a method of controlling joints, to calculate a posture in which the rotation angle of the joint is indeterminate from the joint positions of the CG model in three-dimensional space. It may be generated by an attitude calculation means.
Further, the present invention can also be realized by a posture correction network learning program for causing a computer to function as the posture correction network learning device.
また、前記課題を解決するため、本発明に係る姿勢推定装置は、CGモデルの姿勢を推定する姿勢推定装置であって、姿勢補正手段を備える構成とした。 Moreover, in order to solve the above-mentioned problem, a posture estimation device according to the present invention is a posture estimation device that estimates the posture of a CG model, and is configured to include posture correction means.
かかる構成において、姿勢推定装置は、姿勢補正手段によって、3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークを用いて、関節の位置に対応付いた姿勢を補正する。
なお、補正対象の姿勢は、3次元空間におけるCGモデルの関節の位置から、関節を制御する方法である逆運動学計算により、関節の回転角が不定な姿勢を計算する姿勢計算手段によって生成してもよい。
また、本発明は、コンピュータを、前記姿勢推定装置として機能させるための姿勢推定プログラムで実現することもできる。
In such a configuration, the posture estimation device uses a posture correction network constituted by a neural network that corrects the posture corresponding to the joint position of the CG model in the three-dimensional space, using the posture correction means to correspond to the joint position. Correct your posture.
Note that the posture to be corrected is generated from the position of the joint of the CG model in a three-dimensional space by a posture calculation means that calculates a posture in which the rotation angle of the joint is uncertain by inverse kinematics calculation, which is a method of controlling the joint. You can.
Moreover, the present invention can also be realized by a posture estimation program for causing a computer to function as the posture estimation device.
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、3次元空間におけるCGモデルの関節の姿勢を精度よく補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習することができる。
また、本発明によれば、学習済の姿勢補正ネットワークを用いて、CGモデルの関節の位置のみでは不定な関節の姿勢を補正し、正しい姿勢を推定することができる。
The present invention has the following excellent effects.
According to the present invention, it is possible to learn a posture correction network constituted by a neural network that accurately corrects the postures of joints of a CG model in a three-dimensional space.
Further, according to the present invention, by using a learned posture correction network, it is possible to correct the postures of joints that are unstable based only on the joint positions of the CG model, and to estimate the correct postures.
以下、本発明の実施形態について図面を参照して説明する。
<姿勢補正ネットワーク学習装置の処理>
図1を参照して、本発明の実施形態に係る姿勢補正ネットワーク学習装置1(図2)の処理について説明する。
Embodiments of the present invention will be described below with reference to the drawings.
<Processing of posture correction network learning device>
With reference to FIG. 1, processing of the posture correction network learning device 1 (FIG. 2) according to the embodiment of the present invention will be described.
姿勢補正ネットワーク学習装置1は、3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークNgを学習するものである。
姿勢補正ネットワーク学習装置1は、学習データとして、複数の関節位置情報Pと、複数の関節位置姿勢情報Qとを用いる。
The posture correction
The posture correction
関節位置情報Pは、関節の3次元位置座標(以下、単に位置という)pの関節数分の集合{p}である。この関節位置情報Pは、例えば、従来の一般的な人体ボーンの認識手法を用いて、映像から推定された関節の位置であってもよいし、人体の関節位置にマーカを貼付し、マーカの位置を関節の位置として計測するモーションキャプチャによって取得したものであってもよい。 The joint position information P is a set {p} of three-dimensional position coordinates (hereinafter simply referred to as positions) of joints p for the number of joints. This joint position information P may be, for example, a joint position estimated from an image using a conventional general human body bone recognition method, or may be a joint position estimated from a video using a conventional general human body bone recognition method, or a marker is attached to the joint position of the human body, and the marker is It may be obtained by motion capture in which the position is measured as the position of a joint.
関節位置姿勢情報Qは、関節の3次元位置座標(位置)qと、各関節の3次元の各軸を基準とした回転角(以下、単に姿勢という)φとの関節数分の集合{q,φ}である。この関節位置姿勢情報Qは、関節において姿勢が既知(正しい)の情報である。この関節位置姿勢情報Qには、予め関節の位置と姿勢とを正しく生成したCGデータの人体ボーンの情報や、既存のCGデータで、関節の姿勢が正しく表現されているもののみを選択した情報を用いることができる。
なお、関節位置姿勢情報Qの関節の数は、関節位置情報Pの関節の数と同じとする。
Joint position/posture information Q is a set of three-dimensional position coordinates (positions) q of joints and rotation angles (hereinafter simply referred to as postures) φ of each joint based on each three-dimensional axis for the number of joints {q ,φ}. This joint position/posture information Q is information on the known (correct) posture of the joint. This joint position and posture information Q includes human body bone information from CG data in which joint positions and postures are correctly generated in advance, and information obtained by selecting only existing CG data that accurately represents joint postures. can be used.
Note that the number of joints in the joint position/posture information Q is the same as the number of joints in the joint position information P.
姿勢補正ネットワーク学習装置1は、学習データである関節位置情報Pおよび関節位置姿勢情報Qから、姿勢補正ネットワークNgおよび識別ネットワークNdの2つのニューラルネットワークを順次学習することで、精度のよい姿勢補正ネットワークNgを生成する。
なお、姿勢補正ネットワークNgおよび識別ネットワークNdは、深層学習の敵対的生成ネットワーク(GAN:Generative Adversarial Network)における生成器(Generator)および識別器(Discriminator)に相当するものである。
The posture correction
Note that the posture correction network Ng and the discrimination network Nd correspond to a generator and a discriminator in a generative adversarial network (GAN) of deep learning.
姿勢補正ネットワーク学習装置1は、関節位置情報Pである関節の位置の集合{p}ごとに、逆運動学計算により姿勢θ^の集合{θ^}を計算し、姿勢パラメータの集合{p,θ^}を生成する。
そして、姿勢補正ネットワーク学習装置1は、姿勢補正ネットワークNgを用いて、関節の位置の集合{p}に対応する姿勢の集合{θ^}を{θ~}に補正する。そして、姿勢補正ネットワーク学習装置1は、補正後の姿勢パラメータの集合{p,θ~}で3DモデルであるダミーモデルDmをレンダリングすることで、2次元の画像(レンダリング画像)Igを生成する。
また、姿勢補正ネットワーク学習装置1は、関節位置姿勢情報Qである姿勢パラメータの集合{q,φ}でダミーモデルDmをレンダリングすることで、2次元の画像(レンダリング画像)Irを生成する。
The posture correction
Then, the posture correction
Further, the posture correction
姿勢補正ネットワーク学習装置1は、画像Irを姿勢が正しい画像であるとして「真」と識別するように識別ネットワークNdを学習する。
また、姿勢補正ネットワーク学習装置1は、画像Igを姿勢が正しくない画像であるとして「偽」と識別するように識別ネットワークNdを学習する。また、姿勢補正ネットワーク学習装置1は、識別ネットワークNdが画像Igを「真」と識別するように姿勢補正ネットワークNgを学習する。
これによって、姿勢補正ネットワーク学習装置1は、精度の高い姿勢補正ネットワークNgを学習することができる。
The posture correction
Additionally, the posture correction
Thereby, the posture correction
<姿勢補正ネットワーク学習装置の構成>
次に、図2を参照(適宜図1参照)して、本発明の実施形態に係る姿勢補正ネットワーク学習装置1の構成について説明する。
図2に示すように、姿勢補正ネットワーク学習装置1は、記憶手段10と、姿勢計算手段11と、学習データ選択手段12と、姿勢補正手段13と、レンダリング手段14と、識別手段15と、パラメータ更新手段16と、を備える。
<Configuration of posture correction network learning device>
Next, the configuration of the posture correction
As shown in FIG. 2, the attitude correction
記憶手段10は、姿勢補正ネットワーク学習装置1で使用する各種のデータを記憶するものである。記憶手段10は、ハードディスク、半導体メモリ等の一般的な記憶媒体で構成することができる。
ここでは、記憶手段10を、ニューラルネットワーク記憶手段101と、学習データ記憶手段102と、ダミーモデル記憶手段103とで分離して構成するが、1つの記憶媒体で構成しても構わない。
The storage means 10 stores various data used in the posture correction
Here, the storage means 10 is configured separately as a neural network storage means 101 , a learning data storage means 102 , and a dummy model storage means 103 , but it may be configured as a single storage medium. .
ニューラルネットワーク記憶手段101は、姿勢補正ネットワークNgと、識別ネットワークNdと、を記憶するものである。
姿勢補正ネットワークNgは、CGモデルの予め定めた関節の姿勢を補正するニューラルネットワークである。
姿勢補正ネットワークNgは、関節の3次元の姿勢θ^(=(θx^,θy^,θz^))を一組とした予め定めた関節の数(n組)を入力データとする。また、姿勢補正ネットワークNgは、入力データと同じ数の補正後の関節の3次元の姿勢θ~(=(θx~,θy~,θz~))のn組を出力データとする。なお、関節の数は、関節位置情報Pの関節の数と同じである。
The neural network storage means 101 stores the posture correction network Ng and the identification network Nd.
The posture correction network Ng is a neural network that corrects the postures of predetermined joints of the CG model.
The posture correction network Ng takes as input data a predetermined number of joints (n sets) in which three-dimensional postures θ^ (=(θx^, θy^, θz^)) of the joints are one set. Further, the posture correction network Ng outputs n sets of three-dimensional postures θ ~ (=(θx ~ , θy ~ , θz ~ )) of the corrected joints, the same number as the input data. Note that the number of joints is the same as the number of joints in the joint position information P.
この姿勢補正ネットワークNgのモデル構造は特に限定するものではないが、一般的なニューラルネットワークの構成である重み付き総和演算を行うアフィンレイヤを複数接続し、レイヤ間に活性化関数を挿入した構造とすることができる。
なお、姿勢補正ネットワークNgの学習対象のパラメータであるレイヤ間の重み係数は、予め乱数等の初期値が設定され、パラメータ更新手段16によって更新される。
The model structure of this posture correction network Ng is not particularly limited, but may be a structure in which multiple affine layers that perform weighted summation operations are connected, which is the structure of a general neural network, and an activation function is inserted between the layers. can do.
Note that the inter-layer weighting coefficients, which are parameters to be learned by the posture correction network Ng, are set to initial values such as random numbers in advance, and are updated by the parameter updating means 16.
識別ネットワークNdは、レンダリング手段14で生成された画像のCGモデルの関節の姿勢が正しいか、誤っているかを識別するニューラルネットワークである。
識別ネットワークNdは、2次元の画像を入力データとする。また、識別ネットワークNdは、「真値:1」と「偽値:0」を識別する0を超え1未満の確率値を出力データとする。
The identification network Nd is a neural network that identifies whether the postures of the joints of the CG model of the image generated by the rendering means 14 are correct or incorrect.
The identification network Nd takes a two-dimensional image as input data. Further, the identification network Nd outputs a probability value greater than 0 and less than 1 that identifies "true value: 1" and "false value: 0".
この識別ネットワークNdのモデル構造は特に限定するものではないが、予め定めた大きさのカーネルを用いて畳み込み演算を行う畳み込みレイヤを複数接続し、最終段に出力を0を超えて1未満の値に正規化する活性化関数(シグモイド関数)を備えた構造とすることができる。
なお、識別ネットワークNdの学習対象のパラメータであるカーネルの重み係数は、予め乱数等の初期値が設定され、パラメータ更新手段16によって更新される。
The model structure of this identification network Nd is not particularly limited, but it connects multiple convolution layers that perform convolution operations using kernels of a predetermined size, and outputs a value greater than 0 and less than 1 at the final stage. The structure can be provided with an activation function (sigmoid function) that is normalized to .
Note that the weighting coefficient of the kernel, which is a learning target parameter of the identification network Nd, is set to an initial value such as a random number in advance, and is updated by the parameter updating means 16.
学習データ記憶手段102は、姿勢補正ネットワークNgおよび識別ネットワークNdを学習するための学習データとして、姿勢不定学習データSiと、正解学習データScと、を記憶するものである。 The learning data storage means 102 stores posture indefinite learning data Si and correct answer learning data Sc as learning data for learning the posture correction network Ng and the identification network Nd.
姿勢不定学習データSiは、姿勢計算手段11によって、関節位置情報Pから計算された、関節の位置(3次元位置座標)pと、各関節の姿勢(3次元の各軸を基準とした回転角)θ^との集合{p,θ^}である。なお、姿勢不定学習データSiにおける姿勢は、図9で説明したように、ロール回転角が不定である。 The posture indeterminate learning data Si includes joint positions (three-dimensional position coordinates) p and postures of each joint (rotation angles with respect to each three-dimensional axis) calculated from the joint position information P by the posture calculation means 11. ) θ^ is the set {p, θ^}. Note that, as explained in FIG. 9, the posture in the posture indefinite learning data Si has an indefinite roll rotation angle.
正解学習データScは、関節の位置および姿勢が正しく表現されている関節位置姿勢情報Qである関節の位置(3次元位置座標)qと、各関節の姿勢(3次元の各軸を基準とした回転角)φとの集合{q,φ}である。 The correct learning data Sc consists of joint positions (three-dimensional position coordinates) q, which is joint position and posture information Q that correctly represents the joint positions and postures, and the postures of each joint (based on each three-dimensional axis). rotation angle) φ and the set {q, φ}.
ダミーモデル記憶手段103は、3DモデルであるダミーモデルDmを予め記憶するものである。
ダミーモデルDmは、CGモデルの形状を3Dモデル(ポリゴンデータ等)で表したデータである。このダミーモデルDmは、レンダリング手段14において、関節の位置および姿勢から、2次元の画像を生成するために使用される。
ダミーモデルDmにおいて、CGモデルの各部位には、各部位を識別するパターンテキスチャが設定されているものとする。なお、パターンテキスチャは、少なくとも関節間の軸(ボーン)に対して回転状態を識別できるように、軸の回転方向で異なるものとする。
The dummy model storage means 103 stores in advance a dummy model Dm, which is a 3D model.
The dummy model Dm is data representing the shape of the CG model as a 3D model (polygon data, etc.). This dummy model Dm is used by the rendering means 14 to generate a two-dimensional image from the positions and postures of the joints.
In the dummy model Dm, it is assumed that each part of the CG model is set with a pattern texture that identifies each part. Note that the pattern texture is different depending on the rotational direction of the axis so that the rotational state of the axis (bone) between the joints can be identified at least.
例えば、図3(a)に示すように、ダミーモデルDmの手首p1、肘p2、肩p3を関節とした場合、腕の上腕二頭筋BC、上腕三頭筋TC、前腕屈筋FF、前腕伸筋FEに対応する各部位に異なるパターンテキスチャを貼り付けておく。
これによって、ダミーモデルDmをレンダリングして、画像とした場合、関節の姿勢が正しければ、図3(b)のようにパターンの配列が正しい画像となる。一方、肩p3の姿勢が正しくなければ、図3(c)のように、上腕二頭筋BCおよび上腕三頭筋TCの各部位がねじれ、誤った画像となる。
For example, as shown in FIG. 3(a), when the wrist p 1 , elbow p 2 , and shoulder p 3 of the dummy model Dm are the joints, the biceps brachii BC, triceps brachii TC, and forearm flexor FF of the arm , different pattern textures are pasted on each part corresponding to the forearm extensor muscles FE.
As a result, when the dummy model Dm is rendered into an image, if the postures of the joints are correct, the image will have a correct pattern arrangement as shown in FIG. 3(b). On the other hand, if the posture of the shoulder p3 is not correct, each part of the biceps BC and triceps TC will be twisted, resulting in an incorrect image, as shown in FIG. 3(c).
姿勢計算手段11は、関節位置情報Pである関節の位置(3次元位置座標)から、各関節の姿勢として3次元空間の3軸を基準とした回転角を計算するものである。この3次元位置座標から、関節の姿勢を計算する手法は、一般的な逆運動学計算を用いればよい。 The posture calculation means 11 calculates rotation angles with respect to three axes in a three-dimensional space as the posture of each joint from the joint positions (three-dimensional position coordinates) that are joint position information P. A general inverse kinematics calculation may be used to calculate the posture of the joint from the three-dimensional position coordinates.
例えば、図4に示すように、手首p1、肘p2、肩p3を関節とした場合、姿勢計算手段11は、予め定めた基準の関節(ここでは、手首p1とする)において初期値として、任意の姿勢θ1を設定する。そして、姿勢計算手段11は、手首p1と肘p2との3次元位置座標の変位量に応じて、逆運動学計算により、肘p2における姿勢θ2を計算する。また、姿勢計算手段11は、肘p2と肩p3の3次元位置座標の変位量に応じて、逆運動学計算により、肩p3における姿勢θ3を計算する。なお、図4中、関節の位置p1,p2,p3が拘束条件となって姿勢が順次決定されることになるが、姿勢θ1,θ2,θ3の点線の軸においては不定性を有していることになる。また、図4では、説明を簡略化するため、関節を減らして説明している。
このように、姿勢計算手段11は、関節位置情報Pである関節の3次元位置座標から、各関節における姿勢を計算する。
姿勢計算手段11は、CGモデルの予め定めた関節数ごとに、姿勢不定学習データSiとして、位置pおよび姿勢θ^を学習データ記憶手段102に記憶する。
For example, as shown in FIG. 4, when the wrist p 1 , elbow p 2 , and shoulder p 3 are joints, the posture calculation means 11 initially calculates the An arbitrary posture θ 1 is set as the value. Then, the posture calculation means 11 calculates the posture θ 2 at the elbow p 2 by inverse kinematics calculation according to the amount of displacement of the three-dimensional position coordinates of the wrist p 1 and the elbow p 2 . Further, the posture calculation means 11 calculates the posture θ 3 at the shoulder p 3 by inverse kinematics calculation according to the amount of displacement of the three-dimensional position coordinates of the elbow p 2 and the shoulder p 3 . Note that in FIG. 4, the positions p 1 , p 2 , and p 3 of the joints serve as constraint conditions, and the postures are determined sequentially, but the postures θ 1 , θ 2 , and θ 3 are undefined on the dotted line axes. This means that they have a sexual nature. Further, in FIG. 4, the number of joints is reduced to simplify the explanation.
In this way, the posture calculation means 11 calculates the posture of each joint from the three-dimensional position coordinates of the joint, which is the joint position information P.
The posture calculation means 11 stores the position p and the posture θ^ in the learning data storage means 102 as posture indefinite learning data Si for each predetermined number of joints of the CG model.
学習データ選択手段12は、学習データ記憶手段102に記憶されている学習データを、選択して読み出すものである。
学習データ選択手段12は、姿勢不定学習データSiまたは正解学習データScを交互に選択することとしてもよいし、どちらか一方の学習データによる学習が完了した段階で、他方の学習データを選択することとしてもよい。なお、学習データ選択手段12は、姿勢不定学習データSiおよび正解学習データScのいずれを選択したかについては、パラメータ更新手段16に通知する。また、学習データ選択手段12は、次の学習データを選択するタイミングは、パラメータ更新手段16から指示されたタイミングとする。
The learning data selection means 12 selects and reads out the learning data stored in the learning data storage means 102 .
The learning data selection means 12 may alternately select the posture indefinite learning data Si or the correct answer learning data Sc, or may select the other learning data when learning using one of the learning data is completed. You can also use it as The learning data selection means 12 notifies the parameter updating means 16 which of the posture indefinite learning data Si and the correct learning data Sc has been selected. Further, the learning data selection means 12 selects the next learning data at a timing instructed by the parameter updating means 16.
学習データ選択手段12は、姿勢不定学習データSiを選択した場合、当該学習データを姿勢補正手段13に出力する。
また、学習データ選択手段12は、正解学習データScを選択した場合、当該学習データをレンダリング手段14に出力する。
When the learning data selection means 12 selects the posture indefinite learning data Si, the learning data selection means 12 outputs the learning data to the posture correction means 13.
Further, when the learning data selection means 12 selects the correct learning data Sc, the learning data selection means 12 outputs the learning data to the rendering means 14.
学習データ選択手段12は、パラメータ更新手段16から、次の学習データの入力を指示された段階で、新たに学習データを選択する。
なお、学習データ選択手段12は、予め定めた学習終了条件に達した段階で、学習データの選択を終了する。例えば、学習データ選択手段12は、予め定めた学習回数だけ、学習データ全体を選択した場合、パラメータ更新手段16から、パラメータ更新の変化量が予め定めた閾値を下回ったことを通知された場合等である。
The learning data selection means 12 selects new learning data when instructed to input the next learning data from the parameter updating means 16.
Note that the learning data selection means 12 ends the selection of learning data when a predetermined learning end condition is reached. For example, when the learning data selection means 12 selects the entire learning data a predetermined number of times of learning, when the parameter update means 16 notifies that the amount of change in the parameter update has fallen below a predetermined threshold, etc. It is.
姿勢補正手段13は、姿勢補正ネットワークNgを用いて、姿勢計算手段11で計算された学習データである姿勢不定学習データSiの関節の姿勢を補正するものである。
姿勢補正手段13は、ニューラルネットワーク記憶手段101に記憶されている姿勢補正ネットワークNgに、姿勢不定学習データSiの関節の数の姿勢を入力し、学習対象のパラメータであるレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行う。
姿勢補正手段13は、姿勢不定学習データSiの関節の位置と補正後の姿勢とを、補正学習データSi2として、レンダリング手段14に出力する。
The posture correction means 13 corrects the postures of the joints of the posture indefinite learning data Si, which is the learning data calculated by the posture calculation means 11, using the posture correction network Ng.
The posture correction means 13 inputs the postures of the number of joints of the posture indefinite learning data Si into the posture correction network Ng stored in the neural network storage means 101 , and calculates the weighting coefficient between layers, which is a parameter to be learned. This is used to perform neural network calculations.
The posture correction means 13 outputs the joint positions and corrected postures of the posture indefinite learning data Si to the rendering means 14 as corrected learning data Si2.
レンダリング手段14は、CGモデルの関節の位置および姿勢を用いて、ダミーモデル記憶手段103に記憶されているダミーモデルDmをレンダリングした2次元の画像(レンダリング画像)を生成するものである。
レンダリング手段14は、姿勢補正手段13から入力される姿勢が補正された関節の位置および姿勢(補正学習データSi2)、または、学習データ選択手段12から入力された関節の位置および姿勢(正解学習データSc)を用いて、ダミーモデルDmをレンダリングした2次元の画像を生成する。
レンダリング手段14は、例えば、予め定めた視点位置を基準として、CGモデルの関節の位置および姿勢に応じて、ダミーモデルDmで各部位に予め対応付けられているパターンテキスチャをマッピングし、投影変換を行うことで、2次元の画像を生成する。
レンダリング手段14は、生成した2次元の画像を識別手段15に出力する。
The rendering means 14 generates a two-dimensional image (rendered image) by rendering the dummy model Dm stored in the dummy model storage means 103 using the positions and postures of the joints of the CG model.
The rendering means 14 outputs joint positions and postures whose postures inputted from the posture correction means 13 are corrected (corrected learning data Si 2 ), or joint positions and postures inputted from the learning data selection means 12 (correct learning data). A two-dimensional image is generated by rendering the dummy model Dm using the data Sc).
For example, the rendering means 14 maps pattern textures that are previously associated with each part in the dummy model Dm according to the positions and postures of the joints of the CG model, using a predetermined viewpoint position as a reference, and performs projection transformation. By doing so, a two-dimensional image is generated.
The rendering means 14 outputs the generated two-dimensional image to the identification means 15.
識別手段15は、識別ネットワークNdを用いて、レンダリング手段14で生成された画像が、姿勢が正しい画像であるか否かを識別するものである。
識別手段15は、ニューラルネットワーク記憶手段101に記憶されている識別ネットワークNdに、レンダリング手段14で生成された画像を入力し、学習対象のパラメータであるカーネルの重み係数を用いて、ニューラルネットワークの演算を行う。
識別手段15は、0を超えて1未満の範囲で出力される識別ネットワークNdの演算結果(識別結果)をパラメータ更新手段16に出力する。
The identification means 15 uses the identification network Nd to identify whether the image generated by the rendering means 14 is an image with a correct posture.
The identification means 15 inputs the image generated by the rendering means 14 into the identification network Nd stored in the neural network storage means 101 , and uses the weighting coefficient of the kernel, which is the parameter to be learned, to determine the neural network. Perform calculations.
The identification means 15 outputs the calculation result (identification result) of the identification network Nd, which is output in a range exceeding 0 and less than 1, to the parameter updating means 16.
パラメータ更新手段16は、正解学習データScから生成した画像Irの識別結果と真値との交差エントロピーを小さくするとともに、補正学習データSi2から生成した画像Igの識別結果と偽値との交差エントロピーを小さくするように識別ネットワークNdのパラメータを更新し、補正学習データSi2から生成した画像Igの識別結果と偽値との交差エントロピーを大きくするように姿勢補正ネットワークNgのパラメータを更新するものである。 The parameter updating means 16 reduces the cross entropy between the identification result of the image Ir generated from the correct learning data Sc and the true value, and reduces the cross entropy between the identification result of the image Ig generated from the corrected learning data Si 2 and the false value. The parameters of the identification network Nd are updated to reduce the , and the parameters of the posture correction network Ng are updated to increase the cross entropy between the identification result of the image Ig generated from the corrected learning data Si2 and the false value. be.
ここでは、パラメータ更新手段16は、予め定めた損失関数の損失値をそれぞれ最大化および最小化するように、姿勢補正ネットワークNgおよび識別ネットワークNdのパラメータを更新する。
損失関数として、識別ネットワークNdを学習するための損失関数(以下、識別用損失関数という)と、姿勢補正ネットワークNgを学習するための損失関数(以下、姿勢補正用損失関数という)とを用いる。
Here, the parameter updating means 16 updates the parameters of the attitude correction network Ng and the identification network Nd so as to maximize and minimize the loss values of the predetermined loss functions, respectively.
As the loss functions, a loss function for learning the discrimination network Nd (hereinafter referred to as a discrimination loss function) and a loss function for learning the posture correction network Ng (hereinafter referred to as a posture correction loss function) are used.
識別用損失関数は、学習データが正解学習データScの場合の識別結果と真値との交差エントロピー、および、学習データが補正学習データSi2の場合の識別結果と偽値との交差エントロピーの和(損失値)を演算する関数である。
姿勢補正用損失関数は、学習データが補正学習データSi2の場合に、識別結果と偽値との交差エントロピー(損失値)を演算する関数である。
The discrimination loss function is the sum of the cross entropy between the discrimination result and the true value when the learning data is the correct learning data Sc, and the cross entropy between the discrimination result and the false value when the learning data is the corrected learning data Si2 . (loss value).
The posture correction loss function is a function that calculates the cross entropy (loss value) between the identification result and the false value when the learning data is the corrected learning data Si2 .
ここで、学習データが補正学習データSi2の場合における識別手段15から入力される画像Igに対する識別結果の値をD(Ig)、学習データが正解学習データScの場合における識別手段15から入力される画像Irに対する識別結果の値をD(Ir)とする。また、真値を“Real(=1)”、偽値を“Fake(=0)”とする。そして、Lbceを、2値交差エントロピーを演算する関数とする。
なお、学習データが姿勢不定学習データSiを補正した補正学習データSi2であるか、正解学習データScであるかは、学習データ選択手段12から通知されるものとする。
この場合、パラメータ更新手段16は、以下の式(1)に示す識別用損失関数LDを最小化するように、識別ネットワークNdのパラメータを更新する。
Here, D(Ig) is the value of the identification result for the image Ig input from the identification means 15 when the learning data is the corrected learning data Si2 , and D(Ig) is the value of the identification result input from the identification means 15 when the learning data is the correct learning data Sc. Let D(Ir) be the value of the identification result for the image Ir. Also, let the true value be "Real (=1)" and the false value be "Fake (=0)". Then, let L bce be a function that calculates binary cross entropy.
Note that the learning data selection means 12 notifies whether the learning data is the corrected learning data Si2 obtained by correcting the attitude indefinite learning data Si or the correct learning data Sc.
In this case, the parameter updating means 16 updates the parameters of the identification network Nd so as to minimize the identification loss function L D shown in equation (1) below.
なお、aは“0”,“1”を両端とする開区間の実数〔a∈(0,1)〕、bは“0”または“1”〔b∈{0,1}〕を示す。
この式(1)の損失関数によって、パラメータ更新手段16は、画像Irを「真」、画像Igを「偽」と識別するように、識別ネットワークNdを学習させる。
また、パラメータ更新手段16は、以下の式(2)に示す姿勢補正用損失関数LGを最大化するように、姿勢補正ネットワークNgのパラメータを更新する。
Note that a represents a real number [a∈(0,1)] in an open interval with “0” and “1” as both ends, and b represents “0” or “1” [b∈{0,1}].
Using the loss function of equation (1), the parameter updating means 16 trains the identification network Nd to identify the image Ir as "true" and the image Ig as "false."
Further, the parameter updating means 16 updates the parameters of the attitude correction network Ng so as to maximize the attitude correction loss function LG shown in the following equation (2).
この式(2)の損失関数によって、パラメータ更新手段16は、識別ネットワークNdに画像Igを「偽」と識別させないように、姿勢補正ネットワークNgを学習させる。
パラメータ更新手段16は、式(1)および式(2)の損失関数の値をそれぞれ最小化および最大化させるように誤差逆伝播法により、識別ネットワークNdおよび姿勢補正ネットワークNgのパラメータを更新する。
そして、パラメータ更新手段16は、パラメータ更新後、次の学習データを選択することを学習データ選択手段12に指示する。また、パラメータ更新手段16は、パラメータ更新の変化量が予め定めた閾値を下回る場合、その旨を学習データ選択手段12に通知する。
Using the loss function of equation (2), the parameter updating means 16 causes the posture correction network Ng to learn so as not to cause the identification network Nd to identify the image Ig as "false".
The parameter updating means 16 updates the parameters of the identification network Nd and the attitude correction network Ng using the error backpropagation method so as to minimize and maximize the values of the loss functions of equations (1) and (2), respectively.
After updating the parameters, the parameter updating means 16 instructs the learning data selecting means 12 to select the next learning data. Furthermore, when the amount of change in parameter update is less than a predetermined threshold, the parameter update means 16 notifies the learning data selection means 12 of this fact.
以上説明したように、姿勢補正ネットワーク学習装置1は、CGモデルの関節の位置および姿勢のうち、姿勢が不定な位置姿勢情報であっても、識別ネットワークNdにおいて姿勢が正しい情報であると識別するように姿勢を補正することが可能な姿勢補正ネットワークNgを学習することができる。
なお、姿勢補正ネットワーク学習装置1は、コンピュータを、前記した各手段として機能させるための姿勢補正ネットワーク学習プログラムで動作させることができる。
As explained above, the posture correction
Note that the posture correction
<姿勢補正ネットワーク学習装置の動作>
次に、図5を参照(構成については適宜図2参照)して、姿勢補正ネットワーク学習装置1の動作について説明する。
<Operation of posture correction network learning device>
Next, the operation of the posture correction
ステップS1において、学習データ記憶手段102に、CGモデルの関節の位置および姿勢が正しく表現されている関節位置姿勢情報Qを、正解学習データScとして記憶しておく。
ステップS2において、姿勢計算手段11は、関節位置情報PであるCGモデルの関節の位置から、3DのCGモデルの関節を制御する方法である逆運動学計算により各関節の姿勢を算出する。そして、姿勢計算手段11は、算出した姿勢と関節の位置とを姿勢不定学習データSiとして、学習データ記憶手段102に記憶する。
In step S1, joint position and orientation information Q that correctly represents the positions and orientations of the joints of the CG model is stored in the learning data storage means 102 as correct learning data Sc.
In step S2, the posture calculation means 11 calculates the posture of each joint from the joint position information P of the CG model by inverse kinematics calculation, which is a method of controlling the joints of a 3D CG model. Then, the posture calculation means 11 stores the calculated posture and joint positions in the learning data storage means 102 as posture indefinite learning data Si.
ステップS3において、学習データ選択手段12は、学習データ記憶手段102から、学習データ(姿勢不定学習データSiまたは正解学習データSc)を選択して読み出す。
ステップS4において、学習データ選択手段12は、学習データとして、姿勢不定学習データSiを選択した場合と、正解学習データScを選択した場合とで、以降の処理を切り替える。
In step S3, the learning data selection means 12 selects and reads learning data (posture indefinite learning data Si or correct answer learning data Sc) from the learning data storage means 102 .
In step S4, the learning data selection means 12 switches the subsequent processing depending on whether the posture indefinite learning data Si is selected as the learning data or the correct learning data Sc is selected.
このステップS3で選択した学習データが姿勢不定学習データSiである場合(ステップS4でYes)、ステップS5において、姿勢補正手段13は、姿勢補正ネットワークNgを用いてニューラルネットワークの演算を行うことで、姿勢不定学習データSiの関節の姿勢を補正し、補正学習データSi2を生成する。そして、姿勢補正ネットワーク学習装置1は、ステップS6に動作を進める。
一方、ステップS3で選択した学習データが正解学習データScである場合(ステップS4でNo)、姿勢補正ネットワーク学習装置1は、そのまま、ステップS6に動作を進める。
If the learning data selected in this step S3 is the posture indefinite learning data Si (Yes in step S4), in step S5, the posture correction means 13 performs a neural network calculation using the posture correction network Ng. The joint postures of the posture-indeterminate learning data Si are corrected to generate corrected learning data Si2 . The posture correction
On the other hand, if the learning data selected in step S3 is the correct learning data Sc (No in step S4), the posture correction
ステップS6において、レンダリング手段14は、ステップS3で選択された正解学習データSc、または、ステップS3で選択され、ステップS5で補正された姿勢不定学習データSiを補正した補正学習データSi2を用いて、ダミーモデルDmをレンダリングした2次元の画像を生成する。 In step S6, the rendering means 14 uses the correct learning data Sc selected in step S3 or the corrected learning data Si2 obtained by correcting the posture indefinite learning data Si selected in step S3 and corrected in step S5. , a two-dimensional image is generated by rendering the dummy model Dm.
ステップS7において、識別手段15は、識別ネットワークNdを用いてニューラルネットワークの演算を行うことで、ステップS6で生成された画像が、姿勢が正しい画像であるか否かを識別する。ここで、識別手段15は、「偽」を“0”、「真」を“1”とする0を超え1未満の範囲で識別結果を算出する。 In step S7, the identification means 15 performs a neural network calculation using the identification network Nd to identify whether or not the image generated in step S6 is an image with a correct posture. Here, the identification means 15 calculates the identification result in a range greater than 0 and less than 1, with "0" representing "false" and "1" representing "true".
ステップS8において、パラメータ更新手段16は、予め定めた識別用損失関数を小さく、姿勢補正用損失関数を大きくするように識別ネットワークNdおよび姿勢補正ネットワークNgのパラメータを更新する。
具体的には、パラメータ更新手段16は、式(1)に示すように、ステップS6で生成された画像が、正解学習データScから生成された画像Irの場合、識別結果D(Ir)と真値を示す値“1”との交差エントロピーを小さくするように識別ネットワークNdのパラメータを更新する。また、パラメータ更新手段16は、ステップS6で生成された画像が、姿勢不定学習データSiを補正した補正学習データSi2から生成された画像Igの場合、識別結果D(Ig)と偽値を示す値“0”との交差エントロピーを小さくするように識別ネットワークNdのパラメータを更新する。
In step S8, the parameter updating means 16 updates the parameters of the identification network Nd and the attitude correction network Ng so that the predetermined loss function for identification becomes smaller and the predetermined loss function for attitude correction becomes larger.
Specifically, as shown in equation (1), if the image generated in step S6 is the image Ir generated from the correct learning data Sc, the parameter updating means 16 updates the identification result D(Ir) and the true The parameters of the identification network Nd are updated so as to reduce the cross entropy with the value "1" indicating the value. Further, when the image generated in step S6 is an image Ig generated from corrected learning data Si2 obtained by correcting the posture indefinite learning data Si, the parameter updating means 16 indicates a false value as the identification result D(Ig). The parameters of the identification network Nd are updated so as to reduce the cross entropy with the value "0".
また、パラメータ更新手段16は、式(2)に示すように、ステップS6で生成された画像が、姿勢不定学習データSiを補正した補正学習データSi2から生成された画像Igの場合、識別結果D(Ig)と偽値を示す値“0”との交差エントロピーを大きくするように姿勢補正ネットワークNgのパラメータを更新する。 Further, as shown in equation (2), when the image generated in step S6 is an image Ig generated from corrected learning data Si2 obtained by correcting the posture indefinite learning data Si, the parameter updating means 16 performs the identification result The parameters of the posture correction network Ng are updated so as to increase the cross entropy between D(Ig) and the value "0" indicating a false value.
ステップS9において、学習データ選択手段12は、予め定めた学習完了の終了条件を満たしたか否かを判定する。例えば、ここでは、学習データ選択手段12は、予め定めた学習回数だけ、学習データ全体を選択していない場合(ステップS9でNo)、学習が完了していないと判定し、姿勢補正ネットワーク学習装置1は、ステップS2に戻って学習を継続する。
一方、学習データ選択手段12は、予め定めた学習回数だけ、学習データ全体を選択した場合(ステップS9でYes)、学習が完了したと判定し、姿勢補正ネットワーク学習装置1は、動作を終了する。
以上の動作によって、CGモデルの関節の位置および姿勢のうち、姿勢が不定な位置姿勢情報であっても、姿勢を補正することが可能な姿勢補正ネットワークNgを学習することができる。
In step S9, the learning data selection means 12 determines whether a predetermined end condition for completing learning is satisfied. For example, here, if the entire learning data has not been selected for a predetermined number of learning times (No in step S9), the learning data selection means 12 determines that learning is not completed, and the posture correction
On the other hand, if the learning data selection means 12 selects the entire learning data a predetermined number of times (Yes in step S9), the learning data selection means 12 determines that learning is completed, and the posture correction
Through the above-described operations, it is possible to learn a posture correction network Ng that can correct the posture even if the position and posture information of the joints of the CG model is uncertain.
<姿勢推定装置の処理>
次に、図6を参照して、本発明の実施形態に係る姿勢推定装置2(図7)の処理について説明する。
姿勢推定装置2は、ニューラルネットワークである姿勢補正ネットワークNgを用いて、3次元空間上の関節の位置から関節の姿勢を推定するものである。
ここでは、姿勢推定装置2は、関節位置情報Pを入力し、姿勢を補正する。
関節位置情報Pは、関節の位置(3次元位置座標)pの関節数分の集合{p}であって、図1で説明した関節位置情報Pと同じである。
<Processing of posture estimation device>
Next, with reference to FIG. 6, processing of the posture estimation device 2 (FIG. 7) according to the embodiment of the present invention will be described.
The
Here, the
The joint position information P is a set {p} of joint positions (three-dimensional position coordinates) p for the number of joints, and is the same as the joint position information P described in FIG. 1 .
姿勢推定装置2は、関節位置情報Pである関節の位置の集合{p}ごとに、逆運動学計算により姿勢θ^の集合{θ^}を計算し、姿勢パラメータの集合{p,θ^}を生成する。
そして、姿勢推定装置2は、姿勢補正ネットワークNgを用いて、関節の位置の集合{p}に対応する姿勢の集合{θ^}を{θ~}に補正する。
なお、姿勢補正ネットワークNgは、姿勢補正ネットワーク学習装置1(図2)で学習されたニューラルネットワークである。
このように補正した姿勢パラメータの集合{p,θ~}で3DのモデルCをレンダリングすることで、姿勢が自然に描画された2次元の画像Igを生成することが可能になる。
The
Then, the
Note that the posture correction network Ng is a neural network trained by the posture correction network learning device 1 (FIG. 2).
By rendering the 3D model C using the posture parameter set {p, θ ~ } corrected in this way, it is possible to generate a two-dimensional image Ig in which the posture is naturally drawn.
<姿勢推定装置の構成>
次に、図7を参照(適宜図6参照)して、本発明の実施形態に係る姿勢推定装置2の構成について説明する。
図7に示すように、姿勢推定装置2は、記憶手段20と、姿勢計算手段21と、姿勢補正手段22と、備える。
<Configuration of posture estimation device>
Next, the configuration of the
As shown in FIG. 7, the
記憶手段20は、姿勢補正ネットワークNgを予め記憶するものである。記憶手段20は、ハードディスク、半導体メモリ等の一般的な記憶媒体で構成することができる。
姿勢補正ネットワークNgは、CGモデルの予め定めた関節の姿勢を補正するニューラルネットワークであって、予め姿勢補正ネットワーク学習装置1(図2)で学習したものである。
The storage means 20 stores the posture correction network Ng in advance. The storage means 20 can be composed of a general storage medium such as a hard disk or a semiconductor memory.
The posture correction network Ng is a neural network that corrects the postures of predetermined joints of the CG model, and is trained in advance by the posture correction network learning device 1 (FIG. 2).
姿勢計算手段21は、関節位置情報Pである関節の位置(3次元位置座標)から、各関節の姿勢として3次元空間の3軸を基準とした回転角を計算するものである。この3次元位置座標から、関節の姿勢を計算する手法は、一般的な逆運動学計算を用いればよい。なお、姿勢計算手段21は、姿勢補正ネットワーク学習装置1の姿勢計算手段11と同じものを用いることができる。
姿勢計算手段21は、CGモデルの予め定めた関節数ごとに、位置pおよび姿勢θ^を姿勢補正手段22に出力する。
The posture calculation means 21 calculates a rotation angle with respect to three axes in a three-dimensional space as a posture of each joint from the joint position (three-dimensional position coordinate) which is the joint position information P. A general inverse kinematics calculation may be used to calculate the posture of the joint from the three-dimensional position coordinates. Note that the attitude calculation means 21 can be the same as the attitude calculation means 11 of the attitude correction
The posture calculation means 21 outputs the position p and the posture θ^ to the posture correction means 22 for each predetermined number of joints of the CG model.
姿勢補正手段23は、姿勢補正ネットワークNgを用いて、姿勢計算手段21で計算された関節の姿勢を補正するものである。
姿勢補正手段23は、記憶手段20に記憶されている姿勢補正ネットワークNgに、姿勢計算手段21で計算された関節の姿勢を入力し、姿勢補正ネットワークNgの学習済のレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行う。
これによって、姿勢補正手段23は、姿勢計算手段21で計算された関節間の軸(ボーン)に対して不定な姿勢を、正しい姿勢に補正することができる。
姿勢補正手段23は、関節の位置と推定した関節の姿勢とを対とした関節位置姿勢情報Qを、推定結果として出力する。
なお、姿勢推定装置2は、コンピュータを、前記した各手段として機能させるための姿勢推定プログラムで動作させることができる。
The posture correction means 23 corrects the posture of the joint calculated by the posture calculation means 21 using the posture correction network Ng.
The posture correction means 23 inputs the postures of the joints calculated by the posture calculation means 21 into the posture correction network Ng stored in the storage means 20, and uses the learned weight coefficients between the layers of the posture correction network Ng. and perform neural network calculations.
Thereby, the posture correction means 23 can correct the posture that is unstable with respect to the axis (bone) between the joints calculated by the posture calculation means 21 to a correct posture.
The posture correction means 23 outputs joint position and posture information Q, which is a pair of joint positions and estimated joint postures, as an estimation result.
Note that the
以上説明したように、姿勢推定装置2は、CGモデルの関節の位置から、関節の正しい姿勢を推定することができる。
姿勢推定装置2の動作については、姿勢計算手段21および姿勢補正手段22を連続して動作させるだけであるため、詳細な説明は省略する。
As described above, the
Regarding the operation of the
以上、本発明の実施形態に係る姿勢補正ネットワーク学習装置1および姿勢推定装置2について説明したが、本発明は、この実施形態に限定されるものではない。
例えば、姿勢補正ネットワーク学習装置1は、関節位置情報Pを入力し、姿勢計算手段11によって、関節に対応する姿勢を逆運動学計算により計算することとした。
しかし、この姿勢の計算は、予め外部で行ってもよい。
その場合、姿勢補正ネットワーク学習装置1に入力される関節位置情報Pは、関節ごとに姿勢が付加された情報とすればよい。そして、姿勢補正ネットワーク学習装置1は、姿勢計算手段11を構成から省略すればよい。
これは、姿勢推定装置2についても同様である。
Although the posture correction
For example, the posture correction
However, this attitude calculation may be performed externally in advance.
In that case, the joint position information P input to the posture correction
This also applies to the
また、ここでは、関節の位置および姿勢を、人体の関節の位置および姿勢を例として説明したが、関節を有すれば犬、猫等の動物の関節の位置および姿勢であっても構わない。 Further, here, the positions and postures of the joints are explained using the positions and postures of the joints of a human body as an example, but the positions and postures of the joints of animals such as dogs and cats may be used as long as they have joints.
1 姿勢補正ネットワーク学習装置
10 記憶手段
101 ニューラルネットワーク記憶手段
102 学習データ記憶手段
103 ダミーモデル記憶手段
11 姿勢計算手段
12 学習データ選択手段
13 姿勢補正手段
14 レンダリング手段
15 識別手段
16 パラメータ更新手段
2 姿勢推定手段
20 記憶手段
21 姿勢計算手段
22 姿勢補正手段
Ng 姿勢補正ネットワーク
Nd 識別ネットワーク
Si 姿勢不定学習データ
Si2 補正学習データ
Sc 正解学習データ
Dm ダミーモデル
1 Attitude correction network learning device 10 Storage means 10 1 Neural network storage means 10 2 Learning data storage means 10 3 Dummy model storage means 11 Attitude calculation means 12 Learning data selection means 13 Attitude correction means 14 Rendering means 15 Identification means 16 Parameter updating means 2 Attitude estimation means 20 Storage means 21 Attitude calculation means 22 Attitude correction means Ng Attitude correction network Nd Identification network Si Attitude indefinite learning data Si 2 correction learning data Sc Correct answer learning data Dm Dummy model
Claims (5)
前記姿勢補正ネットワークを用いて、前記姿勢が不定な学習データである姿勢不定学習データから補正学習データを演算する姿勢補正手段と、
前記姿勢が正しい学習データである正解学習データおよび前記補正学習データについて、CGモデルの各部位に予め定めたパターンテキスチャを設定した3次元のダミーモデルをそれぞれレンダリングし、2次元のレンダリング画像を生成するレンダリング手段と、
前記正解学習データから生成したレンダリング画像を真値として識別し、前記補正学習データから生成したレンダリング画像を偽値として識別するニューラルネットワークによって構成される識別ネットワークを用いて、前記レンダリング画像から識別結果を演算する識別手段と、
前記正解学習データから生成したレンダリング画像の前記識別手段による識別結果と真値との交差エントロピーを小さくするとともに、前記補正学習データから生成したレンダリング画像の前記識別手段による識別結果と偽値との交差エントロピーを小さくするように前記識別ネットワークのパラメータを更新し、前記補正学習データから生成したレンダリング画像の前記識別手段による識別結果と偽値との交差エントロピーを大きくするように前記姿勢補正ネットワークのパラメータを更新するパラメータ更新手段と、
を備えることを特徴とする姿勢補正ネットワーク学習装置。 A posture correction network learning device that learns a posture correction network configured by a neural network that corrects postures associated with joint positions of a CG model in a three-dimensional space,
Posture correction means that uses the posture correction network to calculate corrected learning data from posture indefinite learning data, which is learning data whose posture is indefinite;
A three-dimensional dummy model in which a predetermined pattern texture is set for each part of the CG model is rendered for each of the correct learning data and the corrected learning data in which the posture is correct, and a two-dimensional rendered image is generated. a rendering means;
A discrimination result is obtained from the rendered image by using an identification network constituted by a neural network that identifies the rendered image generated from the correct learning data as a true value and identifies the rendered image generated from the corrected learning data as a false value. Identification means for calculating;
reducing the cross entropy between the identification result by the identification means of the rendered image generated from the correct learning data and the true value, and the intersection between the identification result by the identification means of the rendered image generated from the corrected learning data and the false value; The parameters of the identification network are updated so as to reduce the entropy, and the parameters of the posture correction network are updated so as to increase the cross entropy between the identification result of the rendering image generated from the corrected learning data by the identification means and the false value. a means for updating parameters;
A posture correction network learning device comprising:
3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正する請求項1に記載の姿勢補正ネットワーク学習装置で学習されたニューラルネットワークによって構成される姿勢補正ネットワークを用いて、前記関節の位置に対応付いた姿勢を補正する姿勢補正手段を備えることを特徴とする姿勢推定装置。 A posture estimation device that estimates the posture of a CG model,
The position of the joint is corrected using a posture correction network constituted by a neural network trained by the posture correction network learning device according to claim 1, which corrects the posture corresponding to the position of the joint of the CG model in a three-dimensional space. A posture estimation device comprising a posture correction means for correcting a posture associated with a posture.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019169020A JP7432330B2 (en) | 2019-09-18 | 2019-09-18 | Posture correction network learning device and its program, and posture estimation device and its program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019169020A JP7432330B2 (en) | 2019-09-18 | 2019-09-18 | Posture correction network learning device and its program, and posture estimation device and its program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021047563A JP2021047563A (en) | 2021-03-25 |
JP7432330B2 true JP7432330B2 (en) | 2024-02-16 |
Family
ID=74878467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019169020A Active JP7432330B2 (en) | 2019-09-18 | 2019-09-18 | Posture correction network learning device and its program, and posture estimation device and its program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7432330B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190022198A (en) | 2017-08-25 | 2019-03-06 | 숭실대학교산학협력단 | Method for calibrating posture of lower body using wearable sensors, and computer readable medium for performing the method |
JP6525229B1 (en) | 2019-01-25 | 2019-06-05 | 株式会社 テクノミライ | Digital search security system, method and program |
JP2020505665A (en) | 2017-10-13 | 2020-02-20 | ファイユージョン,インコーポレイテッド | Skeleton-based effect expression and background replacement |
-
2019
- 2019-09-18 JP JP2019169020A patent/JP7432330B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190022198A (en) | 2017-08-25 | 2019-03-06 | 숭실대학교산학협력단 | Method for calibrating posture of lower body using wearable sensors, and computer readable medium for performing the method |
JP2020505665A (en) | 2017-10-13 | 2020-02-20 | ファイユージョン,インコーポレイテッド | Skeleton-based effect expression and background replacement |
JP6525229B1 (en) | 2019-01-25 | 2019-06-05 | 株式会社 テクノミライ | Digital search security system, method and program |
Non-Patent Citations (3)
Title |
---|
千葉 慎二,KINECTテクノロジーとマイクロソフトが提案するNUIの可能性,情報処理学会研究報告 2011(平成23)年度▲5▼ [CD-ROM] ,日本,一般社団法人情報処理学会,2012年02月15日,pp.1-3 |
小田 俊平 他,アバタ媒介型見守りシステムにおけるモーションキャプチャ情報を用いた機械学習の利用 ,情報処理学会 研究報告 ヒューマンコンピュータインタラクション(HCI) 2019-HCI-181 [online] ,日本,情報処理学会,2019年01月14日,pp.1-5 |
長谷川 大 他,アバタ媒介型見守りシステムの高齢者における受容性について,ヒューマンインタフェース学会 論文誌 2018 Vol.20 No.2 [CD-ROM],日本,Human Interface Society,2018年12月31日,第20巻,pp.163-171 |
Also Published As
Publication number | Publication date |
---|---|
JP2021047563A (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7001841B2 (en) | Image processing methods and equipment, image devices and storage media | |
JP7178396B2 (en) | Method and computer system for generating data for estimating 3D pose of object included in input image | |
US9019278B2 (en) | Systems and methods for animating non-humanoid characters with human motion data | |
US11557391B2 (en) | Systems and methods for human pose and shape recovery | |
EP4307233A1 (en) | Data processing method and apparatus, and electronic device and computer-readable storage medium | |
JP5525407B2 (en) | Behavior model learning device, three-dimensional posture estimation device, behavior model learning method, three-dimensional posture estimation method, and program | |
US20090135189A1 (en) | Character animation system and method | |
US11104001B2 (en) | Motion transfer of highly dimensional movements to lower dimensional robot movements | |
US11605192B2 (en) | Skeleton model update apparatus, skeleton model update method, and program | |
JP2012526334A (en) | Computer-aided analysis method for real-time use of image sequences including variable postures | |
CN110730970A (en) | Policy controller using image embedding to optimize robotic agents | |
CN110827383A (en) | Attitude simulation method and device of three-dimensional model, storage medium and electronic equipment | |
KR102436906B1 (en) | Electronic device for identifying human gait pattern and method there of | |
US20230141392A1 (en) | Systems and methods for human pose and shape recovery | |
JP2004062692A (en) | Motion generating system using multiple structure | |
Jatesiktat et al. | Personalized markerless upper-body tracking with a depth camera and wrist-worn inertial measurement units | |
CN114494543A (en) | Action generation method and related device, electronic equipment and storage medium | |
CN113989928A (en) | Motion capturing and redirecting method | |
JP7432330B2 (en) | Posture correction network learning device and its program, and posture estimation device and its program | |
WO2021171768A1 (en) | Information processing device, information processing method, computer program, and observation device | |
CN113963202A (en) | Skeleton point action recognition method and device, electronic equipment and storage medium | |
CN114202606A (en) | Image processing method, electronic device, storage medium, and computer program product | |
JP2022092528A (en) | Three-dimensional person attitude estimation apparatus, method, and program | |
CN117911592B (en) | Training method and action driving method of action correction model | |
US20230290101A1 (en) | Data processing method and apparatus, electronic device, and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240205 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7432330 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |