IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許7432330姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム
<>
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図1
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図2
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図3
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図4
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図5
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図6
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図7
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図8
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図9
  • 特許-姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-07
(45)【発行日】2024-02-16
(54)【発明の名称】姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢推定装置およびそのプログラム
(51)【国際特許分類】
   G06T 13/40 20110101AFI20240208BHJP
【FI】
G06T13/40
【請求項の数】 5
(21)【出願番号】P 2019169020
(22)【出願日】2019-09-18
(65)【公開番号】P2021047563
(43)【公開日】2021-03-25
【審査請求日】2022-08-08
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】盛岡 寛史
(72)【発明者】
【氏名】洗井 淳
【審査官】渡部 幸和
(56)【参考文献】
【文献】特表2020-505665(JP,A)
【文献】特許第6525229(JP,B1)
【文献】韓国公開特許第2019-0022198(KR,A)
【文献】長谷川 大 他,アバタ媒介型見守りシステムの高齢者における受容性について,ヒューマンインタフェース学会 論文誌 2018 Vol.20 No.2 [CD-ROM],日本,Human Interface Society,2018年12月31日,第20巻,pp.163-171
【文献】千葉 慎二,KINECTテクノロジーとマイクロソフトが提案するNUIの可能性,情報処理学会研究報告 2011(平成23)年度▲5▼ [CD-ROM] ,日本,一般社団法人情報処理学会,2012年02月15日,pp.1-3
【文献】小田 俊平 他,アバタ媒介型見守りシステムにおけるモーションキャプチャ情報を用いた機械学習の利用 ,情報処理学会 研究報告 ヒューマンコンピュータインタラクション(HCI) 2019-HCI-181 [online] ,日本,情報処理学会,2019年01月14日,pp.1-5
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00
(57)【特許請求の範囲】
【請求項1】
3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置であって、
前記姿勢補正ネットワークを用いて、前記姿勢が不定な学習データである姿勢不定学習データから補正学習データを演算する姿勢補正手段と、
前記姿勢が正しい学習データである正解学習データおよび前記補正学習データについて、CGモデルの各部位に予め定めたパターンテキスチャを設定した3次元のダミーモデルをそれぞれレンダリングし、2次元のレンダリング画像を生成するレンダリング手段と、
前記正解学習データから生成したレンダリング画像を真値として識別し、前記補正学習データから生成したレンダリング画像を偽値として識別するニューラルネットワークによって構成される識別ネットワークを用いて、前記レンダリング画像から識別結果を演算する識別手段と、
前記正解学習データから生成したレンダリング画像の前記識別手段による識別結果と真値との交差エントロピーを小さくするとともに、前記補正学習データから生成したレンダリング画像の前記識別手段による識別結果と偽値との交差エントロピーを小さくするように前記識別ネットワークのパラメータを更新し、前記補正学習データから生成したレンダリング画像の前記識別手段による識別結果と偽値との交差エントロピーを大きくするように前記姿勢補正ネットワークのパラメータを更新するパラメータ更新手段と、
を備えることを特徴とする姿勢補正ネットワーク学習装置。
【請求項2】
前記3次元空間におけるCGモデルの関節の位置から、前記関節を制御する方法である逆運動学計算により、前記関節の姿勢を計算し、前記姿勢不定学習データを生成する姿勢計算手段をさらに備えることを特徴とする請求項1に記載の姿勢補正ネットワーク学習装置。
【請求項3】
コンピュータを、請求項1または請求項2に記載の姿勢補正ネットワーク学習装置として機能させるための姿勢補正ネットワーク学習プログラム。
【請求項4】
CGモデルの姿勢を推定する姿勢推定装置であって、
3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正する請求項1に記載の姿勢補正ネットワーク学習装置で学習されたニューラルネットワークによって構成される姿勢補正ネットワークを用いて、前記関節の位置に対応付いた姿勢を補正する姿勢補正手段を備えることを特徴とする姿勢推定装置。
【請求項5】
コンピュータを、請求項4に記載の姿勢推定装置として機能させるための姿勢推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CGモデルの姿勢を補正するニューラルネットワークの姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢補正ネットワークを用いてCGモデルの姿勢を推定する姿勢推定装置およびそのプログラムに関する。
【背景技術】
【0002】
近年、映像から推定された人体の関節および骨組み(以下、人体ボーンという)をCGモデルに反映させて、リアルタイムでCGキャラクタを動作させたり、仮想現実上でヴァーチャルアバタを操作する機器が実用化されたりしている。
従来、映像から人体ボーンを認識する手法は種々存在する。
例えば、ニューラルネットワークを利用して、2次元画像上で人体ボーンの関節の位置と結合状態とを推定する手法が存在する(非特許文献1参照)。この手法に加えて、さらに、ステレオカメラを用いることで、三角測量の原理で関節の3次元位置まで推定する手法が存在する(非特許文献2参照)。この手法は、例えば、図8に示すように、予め定めた人体の関節pの3次元座標と、各関節pとの連結状態を推定する。
また、2次元画像上で人体ボーンの関節の姿勢を推定する手法としては、2次元画像上の関節座標から、直接観測できない関節の姿勢を潜在変数モデルとして学習する手法が存在する(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-229783号公報
【非特許文献】
【0004】
【文献】Zhe Cao, et.al,“Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields”, CVPR2017
【文献】“AI(人工知能)骨格検出システム”,[online],[令和1年9月2日検索], インターネット<URL:https://www.next-system.com/visionpose>
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の手法によれば、映像から人体ボーンの関節の位置(3次元位置)と、各関節の姿勢(3次元回転角)とを推定することは可能である。
しかし、従来の手法は、関節の3次元位置のみから、各関節の3次元回転角を推定しており、各関節をつなぐボーンを軸とした回転(ロール回転角)を考慮していない。なお、ロール回転角は、3次元位置のみから一意に推定することはできない。例えば、図9に示すように、関節p1,p2が連結している場合、関節p1,p2の3次元位置は従来の手法により推定可能であるが、関節p1,p2をつなぐボーンである軸Aは、ロール回転角が不定である。
【0006】
そのため、このように推定された関節の位置および姿勢を3次元のCGモデルに適用した場合、モデルの関節の回転角が不自然に表現されたり、接続関係が破綻してしまったり等の状態が発生することがある。例えば、図10(a)に示すように、本来、肩の関節pに腕が連結した状態でCGモデルを生成する場合、関節pの姿勢のうち、点線の軸についてはロール回転角が不定であるため、図10(b)に示すように、関節pにおいて、腕と胴体とにねじれが発生してしまう場合がある。
【0007】
本発明は、このような問題に鑑みてなされたものであり、CGモデルの関節の3次元位置情報から推定される姿勢を、より正しい姿勢に補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置およびそのプログラム、ならびに、姿勢補正ネットワークを用いてCGモデルの姿勢を推定する姿勢推定装置およびそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【0008】
前記課題を解決するため、本発明に係る姿勢補正ネットワーク学習装置は、3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習する姿勢補正ネットワーク学習装置であって、姿勢補正手段と、レンダリング手段と、識別手段と、パラメータ更新手段と、を備える構成とした。
【0009】
かかる構成において、姿勢補正ネットワーク学習装置は、姿勢補正手段によって、姿勢補正ネットワークを用いて、姿勢が不定な学習データである姿勢不定学習データから補正学習データを演算する。なお、姿勢補正ネットワークのパラメータの初期値は当初不定であるが、パラメータ更新手段によって順次更新されることになる。
【0010】
そして、姿勢補正ネットワーク学習装置は、レンダリング手段によって、姿勢が正しい学習データである正解学習データおよび補正学習データについて、CGモデルの各部位に予め定めたパターンテキスチャを設定した3次元のダミーモデルをそれぞれレンダリングして2次元のレンダリング画像を生成する。これによって、ねじれ等の発生で姿勢が誤っている場合は、レンダリング画像上のパターンテキスチャの配置の違いとして表されることになる。
【0011】
また、姿勢補正ネットワーク学習装置は、識別手段によって、正解学習データから生成したレンダリング画像を真値として識別し、補正学習データから生成したレンダリング画像を偽値として識別するニューラルネットワークによって構成される識別ネットワークを用いて、レンダリング画像から識別結果を演算する。なお、識別ネットワークのパラメータの初期値は当初不定であるが、パラメータ更新手段によって順次更新されることになる。
【0012】
そして、姿勢補正ネットワーク学習装置は、パラメータ更新手段によって、正解学習データから生成したレンダリング画像の識別手段による識別結果と真値との交差エントロピーを小さくするとともに、補正学習データから生成したレンダリング画像の識別手段による識別結果と偽値との交差エントロピーを小さくするように識別ネットワークのパラメータを更新する。
また、姿勢補正ネットワーク学習装置は、パラメータ更新手段によって、補正学習データから生成したレンダリング画像の識別手段による識別結果と偽値との交差エントロピーを大きくするように姿勢補正ネットワークのパラメータを更新する。
【0013】
このように、識別ネットワークについては、レンダリング画像の真偽を正しく識別するように学習され、姿勢補正ネットワークについては、補正学習データを用いたレンダリング画像を識別ネットワークに真値と誤って識別させるように学習されることになる。
これによって、姿勢補正ネットワーク学習装置は、CGモデルの姿勢を正しく補正するニューラルネットワークとして、姿勢補正ネットワークを学習する。
【0014】
なお、姿勢が不定なデータである姿勢不定学習データは、3次元空間におけるCGモデルの関節の位置から、関節を制御する方法である逆運動学計算により、関節の回転角が不定な姿勢を計算する姿勢計算手段によって生成してもよい。
また、本発明は、コンピュータを、前記姿勢補正ネットワーク学習装置として機能させるための姿勢補正ネットワーク学習プログラムで実現することもできる。
【0015】
また、前記課題を解決するため、本発明に係る姿勢推定装置は、CGモデルの姿勢を推定する姿勢推定装置であって、姿勢補正手段を備える構成とした。
【0016】
かかる構成において、姿勢推定装置は、姿勢補正手段によって、3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークを用いて、関節の位置に対応付いた姿勢を補正する。
なお、補正対象の姿勢は、3次元空間におけるCGモデルの関節の位置から、関節を制御する方法である逆運動学計算により、関節の回転角が不定な姿勢を計算する姿勢計算手段によって生成してもよい。
また、本発明は、コンピュータを、前記姿勢推定装置として機能させるための姿勢推定プログラムで実現することもできる。
【発明の効果】
【0017】
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、3次元空間におけるCGモデルの関節の姿勢を精度よく補正するニューラルネットワークによって構成される姿勢補正ネットワークを学習することができる。
また、本発明によれば、学習済の姿勢補正ネットワークを用いて、CGモデルの関節の位置のみでは不定な関節の姿勢を補正し、正しい姿勢を推定することができる。
【図面の簡単な説明】
【0018】
図1】本発明の実施形態に係る姿勢補正ネットワーク学習装置の処理内容を説明するための説明図である。
図2】本発明の実施形態に係る姿勢補正ネットワーク学習装置の構成を示すブロック図である。
図3】ダミーモデルの構造を説明するための説明図であって、(a)は各部位に設置したパターンテキスチャの例、(b)はダミーモデルを正しいパターンの配列でレンダリングした画像例、(c)はダミーモデルを誤ったパターンの配列でレンダリングした画像例を示す。
図4】姿勢計算手段の処理内容を説明するための説明図である。
図5】本発明の実施形態に係る姿勢補正ネットワーク学習装置の動作を示すフローチャートである。
図6】本発明の実施形態に係る姿勢推定装置の処理内容を説明するための説明図である。
図7】本発明の実施形態に係る姿勢推定装置の構成を示すブロック図である。
図8】映像から推定される3次元空間におけるCGモデルの関節の位置を示す図である。
図9】従来の手法で求められる関節の姿勢の不定性を説明するための説明図である。
図10】従来の手法で求められる関節の姿勢で生成したCGの例であって、(a)は関節の姿勢が正しく連結された場合、(b)は関節でねじれが発生した場合の状態を示す図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して説明する。
<姿勢補正ネットワーク学習装置の処理>
図1を参照して、本発明の実施形態に係る姿勢補正ネットワーク学習装置1(図2)の処理について説明する。
【0020】
姿勢補正ネットワーク学習装置1は、3次元空間におけるCGモデルの関節の位置に対応付いた姿勢を補正するニューラルネットワークによって構成される姿勢補正ネットワークNgを学習するものである。
姿勢補正ネットワーク学習装置1は、学習データとして、複数の関節位置情報Pと、複数の関節位置姿勢情報Qとを用いる。
【0021】
関節位置情報Pは、関節の3次元位置座標(以下、単に位置という)pの関節数分の集合{p}である。この関節位置情報Pは、例えば、従来の一般的な人体ボーンの認識手法を用いて、映像から推定された関節の位置であってもよいし、人体の関節位置にマーカを貼付し、マーカの位置を関節の位置として計測するモーションキャプチャによって取得したものであってもよい。
【0022】
関節位置姿勢情報Qは、関節の3次元位置座標(位置)qと、各関節の3次元の各軸を基準とした回転角(以下、単に姿勢という)φとの関節数分の集合{q,φ}である。この関節位置姿勢情報Qは、関節において姿勢が既知(正しい)の情報である。この関節位置姿勢情報Qには、予め関節の位置と姿勢とを正しく生成したCGデータの人体ボーンの情報や、既存のCGデータで、関節の姿勢が正しく表現されているもののみを選択した情報を用いることができる。
なお、関節位置姿勢情報Qの関節の数は、関節位置情報Pの関節の数と同じとする。
【0023】
姿勢補正ネットワーク学習装置1は、学習データである関節位置情報Pおよび関節位置姿勢情報Qから、姿勢補正ネットワークNgおよび識別ネットワークNdの2つのニューラルネットワークを順次学習することで、精度のよい姿勢補正ネットワークNgを生成する。
なお、姿勢補正ネットワークNgおよび識別ネットワークNdは、深層学習の敵対的生成ネットワーク(GAN:Generative Adversarial Network)における生成器(Generator)および識別器(Discriminator)に相当するものである。
【0024】
姿勢補正ネットワーク学習装置1は、関節位置情報Pである関節の位置の集合{p}ごとに、逆運動学計算により姿勢θ^の集合{θ^}を計算し、姿勢パラメータの集合{p,θ^}を生成する。
そして、姿勢補正ネットワーク学習装置1は、姿勢補正ネットワークNgを用いて、関節の位置の集合{p}に対応する姿勢の集合{θ^}を{θ}に補正する。そして、姿勢補正ネットワーク学習装置1は、補正後の姿勢パラメータの集合{p,θ}で3DモデルであるダミーモデルDmをレンダリングすることで、2次元の画像(レンダリング画像)Igを生成する。
また、姿勢補正ネットワーク学習装置1は、関節位置姿勢情報Qである姿勢パラメータの集合{q,φ}でダミーモデルDmをレンダリングすることで、2次元の画像(レンダリング画像)Irを生成する。
【0025】
姿勢補正ネットワーク学習装置1は、画像Irを姿勢が正しい画像であるとして「真」と識別するように識別ネットワークNdを学習する。
また、姿勢補正ネットワーク学習装置1は、画像Igを姿勢が正しくない画像であるとして「偽」と識別するように識別ネットワークNdを学習する。また、姿勢補正ネットワーク学習装置1は、識別ネットワークNdが画像Igを「真」と識別するように姿勢補正ネットワークNgを学習する。
これによって、姿勢補正ネットワーク学習装置1は、精度の高い姿勢補正ネットワークNgを学習することができる。
【0026】
<姿勢補正ネットワーク学習装置の構成>
次に、図2を参照(適宜図1参照)して、本発明の実施形態に係る姿勢補正ネットワーク学習装置1の構成について説明する。
図2に示すように、姿勢補正ネットワーク学習装置1は、記憶手段10と、姿勢計算手段11と、学習データ選択手段12と、姿勢補正手段13と、レンダリング手段14と、識別手段15と、パラメータ更新手段16と、を備える。
【0027】
記憶手段10は、姿勢補正ネットワーク学習装置1で使用する各種のデータを記憶するものである。記憶手段10は、ハードディスク、半導体メモリ等の一般的な記憶媒体で構成することができる。
ここでは、記憶手段10を、ニューラルネットワーク記憶手段10と、学習データ記憶手段10と、ダミーモデル記憶手段10とで分離して構成するが、1つの記憶媒体で構成しても構わない。
【0028】
ニューラルネットワーク記憶手段10は、姿勢補正ネットワークNgと、識別ネットワークNdと、を記憶するものである。
姿勢補正ネットワークNgは、CGモデルの予め定めた関節の姿勢を補正するニューラルネットワークである。
姿勢補正ネットワークNgは、関節の3次元の姿勢θ^(=(θx^,θy^,θz^))を一組とした予め定めた関節の数(n組)を入力データとする。また、姿勢補正ネットワークNgは、入力データと同じ数の補正後の関節の3次元の姿勢θ(=(θx,θy,θz))のn組を出力データとする。なお、関節の数は、関節位置情報Pの関節の数と同じである。
【0029】
この姿勢補正ネットワークNgのモデル構造は特に限定するものではないが、一般的なニューラルネットワークの構成である重み付き総和演算を行うアフィンレイヤを複数接続し、レイヤ間に活性化関数を挿入した構造とすることができる。
なお、姿勢補正ネットワークNgの学習対象のパラメータであるレイヤ間の重み係数は、予め乱数等の初期値が設定され、パラメータ更新手段16によって更新される。
【0030】
識別ネットワークNdは、レンダリング手段14で生成された画像のCGモデルの関節の姿勢が正しいか、誤っているかを識別するニューラルネットワークである。
識別ネットワークNdは、2次元の画像を入力データとする。また、識別ネットワークNdは、「真値:1」と「偽値:0」を識別する0を超え1未満の確率値を出力データとする。
【0031】
この識別ネットワークNdのモデル構造は特に限定するものではないが、予め定めた大きさのカーネルを用いて畳み込み演算を行う畳み込みレイヤを複数接続し、最終段に出力を0を超えて1未満の値に正規化する活性化関数(シグモイド関数)を備えた構造とすることができる。
なお、識別ネットワークNdの学習対象のパラメータであるカーネルの重み係数は、予め乱数等の初期値が設定され、パラメータ更新手段16によって更新される。
【0032】
学習データ記憶手段10は、姿勢補正ネットワークNgおよび識別ネットワークNdを学習するための学習データとして、姿勢不定学習データSiと、正解学習データScと、を記憶するものである。
【0033】
姿勢不定学習データSiは、姿勢計算手段11によって、関節位置情報Pから計算された、関節の位置(3次元位置座標)pと、各関節の姿勢(3次元の各軸を基準とした回転角)θ^との集合{p,θ^}である。なお、姿勢不定学習データSiにおける姿勢は、図9で説明したように、ロール回転角が不定である。
【0034】
正解学習データScは、関節の位置および姿勢が正しく表現されている関節位置姿勢情報Qである関節の位置(3次元位置座標)qと、各関節の姿勢(3次元の各軸を基準とした回転角)φとの集合{q,φ}である。
【0035】
ダミーモデル記憶手段10は、3DモデルであるダミーモデルDmを予め記憶するものである。
ダミーモデルDmは、CGモデルの形状を3Dモデル(ポリゴンデータ等)で表したデータである。このダミーモデルDmは、レンダリング手段14において、関節の位置および姿勢から、2次元の画像を生成するために使用される。
ダミーモデルDmにおいて、CGモデルの各部位には、各部位を識別するパターンテキスチャが設定されているものとする。なお、パターンテキスチャは、少なくとも関節間の軸(ボーン)に対して回転状態を識別できるように、軸の回転方向で異なるものとする。
【0036】
例えば、図3(a)に示すように、ダミーモデルDmの手首p、肘p、肩pを関節とした場合、腕の上腕二頭筋BC、上腕三頭筋TC、前腕屈筋FF、前腕伸筋FEに対応する各部位に異なるパターンテキスチャを貼り付けておく。
これによって、ダミーモデルDmをレンダリングして、画像とした場合、関節の姿勢が正しければ、図3(b)のようにパターンの配列が正しい画像となる。一方、肩pの姿勢が正しくなければ、図3(c)のように、上腕二頭筋BCおよび上腕三頭筋TCの各部位がねじれ、誤った画像となる。
【0037】
姿勢計算手段11は、関節位置情報Pである関節の位置(3次元位置座標)から、各関節の姿勢として3次元空間の3軸を基準とした回転角を計算するものである。この3次元位置座標から、関節の姿勢を計算する手法は、一般的な逆運動学計算を用いればよい。
【0038】
例えば、図4に示すように、手首p、肘p、肩pを関節とした場合、姿勢計算手段11は、予め定めた基準の関節(ここでは、手首pとする)において初期値として、任意の姿勢θを設定する。そして、姿勢計算手段11は、手首pと肘pとの3次元位置座標の変位量に応じて、逆運動学計算により、肘pにおける姿勢θを計算する。また、姿勢計算手段11は、肘pと肩pの3次元位置座標の変位量に応じて、逆運動学計算により、肩pにおける姿勢θを計算する。なお、図4中、関節の位置p,p,pが拘束条件となって姿勢が順次決定されることになるが、姿勢θ,θ,θの点線の軸においては不定性を有していることになる。また、図4では、説明を簡略化するため、関節を減らして説明している。
このように、姿勢計算手段11は、関節位置情報Pである関節の3次元位置座標から、各関節における姿勢を計算する。
姿勢計算手段11は、CGモデルの予め定めた関節数ごとに、姿勢不定学習データSiとして、位置pおよび姿勢θ^を学習データ記憶手段10に記憶する。
【0039】
学習データ選択手段12は、学習データ記憶手段10に記憶されている学習データを、選択して読み出すものである。
学習データ選択手段12は、姿勢不定学習データSiまたは正解学習データScを交互に選択することとしてもよいし、どちらか一方の学習データによる学習が完了した段階で、他方の学習データを選択することとしてもよい。なお、学習データ選択手段12は、姿勢不定学習データSiおよび正解学習データScのいずれを選択したかについては、パラメータ更新手段16に通知する。また、学習データ選択手段12は、次の学習データを選択するタイミングは、パラメータ更新手段16から指示されたタイミングとする。
【0040】
学習データ選択手段12は、姿勢不定学習データSiを選択した場合、当該学習データを姿勢補正手段13に出力する。
また、学習データ選択手段12は、正解学習データScを選択した場合、当該学習データをレンダリング手段14に出力する。
【0041】
学習データ選択手段12は、パラメータ更新手段16から、次の学習データの入力を指示された段階で、新たに学習データを選択する。
なお、学習データ選択手段12は、予め定めた学習終了条件に達した段階で、学習データの選択を終了する。例えば、学習データ選択手段12は、予め定めた学習回数だけ、学習データ全体を選択した場合、パラメータ更新手段16から、パラメータ更新の変化量が予め定めた閾値を下回ったことを通知された場合等である。
【0042】
姿勢補正手段13は、姿勢補正ネットワークNgを用いて、姿勢計算手段11で計算された学習データである姿勢不定学習データSiの関節の姿勢を補正するものである。
姿勢補正手段13は、ニューラルネットワーク記憶手段10に記憶されている姿勢補正ネットワークNgに、姿勢不定学習データSiの関節の数の姿勢を入力し、学習対象のパラメータであるレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行う。
姿勢補正手段13は、姿勢不定学習データSiの関節の位置と補正後の姿勢とを、補正学習データSiとして、レンダリング手段14に出力する。
【0043】
レンダリング手段14は、CGモデルの関節の位置および姿勢を用いて、ダミーモデル記憶手段10に記憶されているダミーモデルDmをレンダリングした2次元の画像(レンダリング画像)を生成するものである。
レンダリング手段14は、姿勢補正手段13から入力される姿勢が補正された関節の位置および姿勢(補正学習データSi)、または、学習データ選択手段12から入力された関節の位置および姿勢(正解学習データSc)を用いて、ダミーモデルDmをレンダリングした2次元の画像を生成する。
レンダリング手段14は、例えば、予め定めた視点位置を基準として、CGモデルの関節の位置および姿勢に応じて、ダミーモデルDmで各部位に予め対応付けられているパターンテキスチャをマッピングし、投影変換を行うことで、2次元の画像を生成する。
レンダリング手段14は、生成した2次元の画像を識別手段15に出力する。
【0044】
識別手段15は、識別ネットワークNdを用いて、レンダリング手段14で生成された画像が、姿勢が正しい画像であるか否かを識別するものである。
識別手段15は、ニューラルネットワーク記憶手段10に記憶されている識別ネットワークNdに、レンダリング手段14で生成された画像を入力し、学習対象のパラメータであるカーネルの重み係数を用いて、ニューラルネットワークの演算を行う。
識別手段15は、0を超えて1未満の範囲で出力される識別ネットワークNdの演算結果(識別結果)をパラメータ更新手段16に出力する。
【0045】
パラメータ更新手段16は、正解学習データScから生成した画像Irの識別結果と真値との交差エントロピーを小さくするとともに、補正学習データSiから生成した画像Igの識別結果と偽値との交差エントロピーを小さくするように識別ネットワークNdのパラメータを更新し、補正学習データSiから生成した画像Igの識別結果と偽値との交差エントロピーを大きくするように姿勢補正ネットワークNgのパラメータを更新するものである。
【0046】
ここでは、パラメータ更新手段16は、予め定めた損失関数の損失値をそれぞれ最大化および最小化するように、姿勢補正ネットワークNgおよび識別ネットワークNdのパラメータを更新する。
損失関数として、識別ネットワークNdを学習するための損失関数(以下、識別用損失関数という)と、姿勢補正ネットワークNgを学習するための損失関数(以下、姿勢補正用損失関数という)とを用いる。
【0047】
識別用損失関数は、学習データが正解学習データScの場合の識別結果と真値との交差エントロピー、および、学習データが補正学習データSiの場合の識別結果と偽値との交差エントロピーの和(損失値)を演算する関数である。
姿勢補正用損失関数は、学習データが補正学習データSiの場合に、識別結果と偽値との交差エントロピー(損失値)を演算する関数である。
【0048】
ここで、学習データが補正学習データSiの場合における識別手段15から入力される画像Igに対する識別結果の値をD(Ig)、学習データが正解学習データScの場合における識別手段15から入力される画像Irに対する識別結果の値をD(Ir)とする。また、真値を“Real(=1)”、偽値を“Fake(=0)”とする。そして、Lbceを、2値交差エントロピーを演算する関数とする。
なお、学習データが姿勢不定学習データSiを補正した補正学習データSiであるか、正解学習データScであるかは、学習データ選択手段12から通知されるものとする。
この場合、パラメータ更新手段16は、以下の式(1)に示す識別用損失関数Lを最小化するように、識別ネットワークNdのパラメータを更新する。
【0049】
【数1】
【0050】
なお、aは“0”,“1”を両端とする開区間の実数〔a∈(0,1)〕、bは“0”または“1”〔b∈{0,1}〕を示す。
この式(1)の損失関数によって、パラメータ更新手段16は、画像Irを「真」、画像Igを「偽」と識別するように、識別ネットワークNdを学習させる。
また、パラメータ更新手段16は、以下の式(2)に示す姿勢補正用損失関数Lを最大化するように、姿勢補正ネットワークNgのパラメータを更新する。
【0051】
【数2】
【0052】
この式(2)の損失関数によって、パラメータ更新手段16は、識別ネットワークNdに画像Igを「偽」と識別させないように、姿勢補正ネットワークNgを学習させる。
パラメータ更新手段16は、式(1)および式(2)の損失関数の値をそれぞれ最小化および最大化させるように誤差逆伝播法により、識別ネットワークNdおよび姿勢補正ネットワークNgのパラメータを更新する。
そして、パラメータ更新手段16は、パラメータ更新後、次の学習データを選択することを学習データ選択手段12に指示する。また、パラメータ更新手段16は、パラメータ更新の変化量が予め定めた閾値を下回る場合、その旨を学習データ選択手段12に通知する。
【0053】
以上説明したように、姿勢補正ネットワーク学習装置1は、CGモデルの関節の位置および姿勢のうち、姿勢が不定な位置姿勢情報であっても、識別ネットワークNdにおいて姿勢が正しい情報であると識別するように姿勢を補正することが可能な姿勢補正ネットワークNgを学習することができる。
なお、姿勢補正ネットワーク学習装置1は、コンピュータを、前記した各手段として機能させるための姿勢補正ネットワーク学習プログラムで動作させることができる。
【0054】
<姿勢補正ネットワーク学習装置の動作>
次に、図5を参照(構成については適宜図2参照)して、姿勢補正ネットワーク学習装置1の動作について説明する。
【0055】
ステップS1において、学習データ記憶手段10に、CGモデルの関節の位置および姿勢が正しく表現されている関節位置姿勢情報Qを、正解学習データScとして記憶しておく。
ステップS2において、姿勢計算手段11は、関節位置情報PであるCGモデルの関節の位置から、3DのCGモデルの関節を制御する方法である逆運動学計算により各関節の姿勢を算出する。そして、姿勢計算手段11は、算出した姿勢と関節の位置とを姿勢不定学習データSiとして、学習データ記憶手段10に記憶する。
【0056】
ステップS3において、学習データ選択手段12は、学習データ記憶手段10から、学習データ(姿勢不定学習データSiまたは正解学習データSc)を選択して読み出す。
ステップS4において、学習データ選択手段12は、学習データとして、姿勢不定学習データSiを選択した場合と、正解学習データScを選択した場合とで、以降の処理を切り替える。
【0057】
このステップS3で選択した学習データが姿勢不定学習データSiである場合(ステップS4でYes)、ステップS5において、姿勢補正手段13は、姿勢補正ネットワークNgを用いてニューラルネットワークの演算を行うことで、姿勢不定学習データSiの関節の姿勢を補正し、補正学習データSiを生成する。そして、姿勢補正ネットワーク学習装置1は、ステップS6に動作を進める。
一方、ステップS3で選択した学習データが正解学習データScである場合(ステップS4でNo)、姿勢補正ネットワーク学習装置1は、そのまま、ステップS6に動作を進める。
【0058】
ステップS6において、レンダリング手段14は、ステップS3で選択された正解学習データSc、または、ステップS3で選択され、ステップS5で補正された姿勢不定学習データSiを補正した補正学習データSiを用いて、ダミーモデルDmをレンダリングした2次元の画像を生成する。
【0059】
ステップS7において、識別手段15は、識別ネットワークNdを用いてニューラルネットワークの演算を行うことで、ステップS6で生成された画像が、姿勢が正しい画像であるか否かを識別する。ここで、識別手段15は、「偽」を“0”、「真」を“1”とする0を超え1未満の範囲で識別結果を算出する。
【0060】
ステップS8において、パラメータ更新手段16は、予め定めた識別用損失関数を小さく、姿勢補正用損失関数を大きくするように識別ネットワークNdおよび姿勢補正ネットワークNgのパラメータを更新する。
具体的には、パラメータ更新手段16は、式(1)に示すように、ステップS6で生成された画像が、正解学習データScから生成された画像Irの場合、識別結果D(Ir)と真値を示す値“1”との交差エントロピーを小さくするように識別ネットワークNdのパラメータを更新する。また、パラメータ更新手段16は、ステップS6で生成された画像が、姿勢不定学習データSiを補正した補正学習データSiから生成された画像Igの場合、識別結果D(Ig)と偽値を示す値“0”との交差エントロピーを小さくするように識別ネットワークNdのパラメータを更新する。
【0061】
また、パラメータ更新手段16は、式(2)に示すように、ステップS6で生成された画像が、姿勢不定学習データSiを補正した補正学習データSiから生成された画像Igの場合、識別結果D(Ig)と偽値を示す値“0”との交差エントロピーを大きくするように姿勢補正ネットワークNgのパラメータを更新する。
【0062】
ステップS9において、学習データ選択手段12は、予め定めた学習完了の終了条件を満たしたか否かを判定する。例えば、ここでは、学習データ選択手段12は、予め定めた学習回数だけ、学習データ全体を選択していない場合(ステップS9でNo)、学習が完了していないと判定し、姿勢補正ネットワーク学習装置1は、ステップS2に戻って学習を継続する。
一方、学習データ選択手段12は、予め定めた学習回数だけ、学習データ全体を選択した場合(ステップS9でYes)、学習が完了したと判定し、姿勢補正ネットワーク学習装置1は、動作を終了する。
以上の動作によって、CGモデルの関節の位置および姿勢のうち、姿勢が不定な位置姿勢情報であっても、姿勢を補正することが可能な姿勢補正ネットワークNgを学習することができる。
【0063】
<姿勢推定装置の処理>
次に、図6を参照して、本発明の実施形態に係る姿勢推定装置2(図7)の処理について説明する。
姿勢推定装置2は、ニューラルネットワークである姿勢補正ネットワークNgを用いて、3次元空間上の関節の位置から関節の姿勢を推定するものである。
ここでは、姿勢推定装置2は、関節位置情報Pを入力し、姿勢を補正する。
関節位置情報Pは、関節の位置(3次元位置座標)pの関節数分の集合{p}であって、図1で説明した関節位置情報Pと同じである。
【0064】
姿勢推定装置2は、関節位置情報Pである関節の位置の集合{p}ごとに、逆運動学計算により姿勢θ^の集合{θ^}を計算し、姿勢パラメータの集合{p,θ^}を生成する。
そして、姿勢推定装置2は、姿勢補正ネットワークNgを用いて、関節の位置の集合{p}に対応する姿勢の集合{θ^}を{θ}に補正する。
なお、姿勢補正ネットワークNgは、姿勢補正ネットワーク学習装置1(図2)で学習されたニューラルネットワークである。
このように補正した姿勢パラメータの集合{p,θ}で3DのモデルCをレンダリングすることで、姿勢が自然に描画された2次元の画像Igを生成することが可能になる。
【0065】
<姿勢推定装置の構成>
次に、図7を参照(適宜図6参照)して、本発明の実施形態に係る姿勢推定装置2の構成について説明する。
図7に示すように、姿勢推定装置2は、記憶手段20と、姿勢計算手段21と、姿勢補正手段22と、備える。
【0066】
記憶手段20は、姿勢補正ネットワークNgを予め記憶するものである。記憶手段20は、ハードディスク、半導体メモリ等の一般的な記憶媒体で構成することができる。
姿勢補正ネットワークNgは、CGモデルの予め定めた関節の姿勢を補正するニューラルネットワークであって、予め姿勢補正ネットワーク学習装置1(図2)で学習したものである。
【0067】
姿勢計算手段21は、関節位置情報Pである関節の位置(3次元位置座標)から、各関節の姿勢として3次元空間の3軸を基準とした回転角を計算するものである。この3次元位置座標から、関節の姿勢を計算する手法は、一般的な逆運動学計算を用いればよい。なお、姿勢計算手段21は、姿勢補正ネットワーク学習装置1の姿勢計算手段11と同じものを用いることができる。
姿勢計算手段21は、CGモデルの予め定めた関節数ごとに、位置pおよび姿勢θ^を姿勢補正手段22に出力する。
【0068】
姿勢補正手段23は、姿勢補正ネットワークNgを用いて、姿勢計算手段21で計算された関節の姿勢を補正するものである。
姿勢補正手段23は、記憶手段20に記憶されている姿勢補正ネットワークNgに、姿勢計算手段21で計算された関節の姿勢を入力し、姿勢補正ネットワークNgの学習済のレイヤ間の重み係数を用いて、ニューラルネットワークの演算を行う。
これによって、姿勢補正手段23は、姿勢計算手段21で計算された関節間の軸(ボーン)に対して不定な姿勢を、正しい姿勢に補正することができる。
姿勢補正手段23は、関節の位置と推定した関節の姿勢とを対とした関節位置姿勢情報Qを、推定結果として出力する。
なお、姿勢推定装置2は、コンピュータを、前記した各手段として機能させるための姿勢推定プログラムで動作させることができる。
【0069】
以上説明したように、姿勢推定装置2は、CGモデルの関節の位置から、関節の正しい姿勢を推定することができる。
姿勢推定装置2の動作については、姿勢計算手段21および姿勢補正手段22を連続して動作させるだけであるため、詳細な説明は省略する。
【0070】
以上、本発明の実施形態に係る姿勢補正ネットワーク学習装置1および姿勢推定装置2について説明したが、本発明は、この実施形態に限定されるものではない。
例えば、姿勢補正ネットワーク学習装置1は、関節位置情報Pを入力し、姿勢計算手段11によって、関節に対応する姿勢を逆運動学計算により計算することとした。
しかし、この姿勢の計算は、予め外部で行ってもよい。
その場合、姿勢補正ネットワーク学習装置1に入力される関節位置情報Pは、関節ごとに姿勢が付加された情報とすればよい。そして、姿勢補正ネットワーク学習装置1は、姿勢計算手段11を構成から省略すればよい。
これは、姿勢推定装置2についても同様である。
【0071】
また、ここでは、関節の位置および姿勢を、人体の関節の位置および姿勢を例として説明したが、関節を有すれば犬、猫等の動物の関節の位置および姿勢であっても構わない。
【符号の説明】
【0072】
1 姿勢補正ネットワーク学習装置
10 記憶手段
10 ニューラルネットワーク記憶手段
10 学習データ記憶手段
10 ダミーモデル記憶手段
11 姿勢計算手段
12 学習データ選択手段
13 姿勢補正手段
14 レンダリング手段
15 識別手段
16 パラメータ更新手段
2 姿勢推定手段
20 記憶手段
21 姿勢計算手段
22 姿勢補正手段
Ng 姿勢補正ネットワーク
Nd 識別ネットワーク
Si 姿勢不定学習データ
Si 補正学習データ
Sc 正解学習データ
Dm ダミーモデル
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10