説明

人体姿勢推定装置、人体姿勢推定方法およびコンピュータプログラム

【課題】人を撮像しながら実時間での人体姿勢推定処理を効率的に行うことを図る。
【解決手段】ビデオフレームに写っている人のポーズを推定し、推定したポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示パネル上に表示する表示データを出力するポーズ追跡部14と、感知データに基づいてユーザがどのような所定の操作を行ったのかを判断する操作判断部11と、ポーズ修正開始の操作に応じて初期ポーズをビデオフレームの人物画像に重ね合わせて表示パネル上に表示する表示データを出力する初期ポーズ提示部12と、ポーズ修正操作に応じて初期ポーズを修正するポーズ修正部13と、を備え、ポーズ追跡部14は、該修正結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対してポーズを推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人体姿勢推定装置、人体姿勢推定方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
近年、単眼カメラで撮像したビデオから人体の三次元(3D)姿勢(ポーズ)を自動推定する方法が提案されている。さらに、ハードウェア性能の向上によって実時間での人体姿勢推定処理が可能になってきている。但し、実際には人体姿勢の推定誤りが発生するので、人手でその誤りを正すことが必要となる。非特許文献1には、データベースからポーズの潜在空間モデルを学習し、静止画像にポーズを手動で合わせる技術が開示されている。特許文献1には、マルチタッチパネルに対するタッチ操作に対して、アプリケーションに関するタッチイベントを定める技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−211704号公報
【非特許文献】
【0004】
【非特許文献1】Wei X, Chai J ,“Intuitive Interactive Human Character Posing with Millions of Example Poses”, IEEE Computer Graphics and Applications, 2010
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、上述した非特許文献1に記載される従来技術では、人を撮像しながら実時間での人体姿勢推定処理を効率的に行うことが難しい。そこで、特許文献1に記載される技術を実時間での人体姿勢推定処理に応用して、ユーザが人体姿勢推定誤りを正すことができるようにすることが好ましい。
【0006】
本発明は、このような事情を考慮してなされたもので、人を撮像しながら実時間での人体姿勢推定処理を効率的に行うことができる人体姿勢推定装置、人体姿勢推定方法およびコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明に係る人体姿勢推定装置は、被写体を撮像してビデオデータを出力する撮像部と、表示パネル上に表示データを表示すると共に、ユーザの操作を感知して感知データを出力するデバイス群と、前記ビデオデータを記憶する記憶部と、前記記憶部内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力するポーズ追跡部と、前記感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断する操作判断部と、ポーズ修正開始の操作に応じて、初期ポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力する初期ポーズ提示部と、ポーズ修正操作に応じて、前記初期ポーズを修正するポーズ修正部と、を備え、前記ポーズ追跡部は、前記ポーズ修正部が修正した結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定する、ことを特徴とする。
【0008】
本発明に係る人体姿勢推定装置において、前記初期ポーズ提示部は、ポーズ修正開始の操作が行われた時刻から所定時間(Tmin)だけ前のビデオフレームに対して前記ポーズ追跡部が推定した結果のポーズを、第1の初期ポーズとすることを特徴とする。
【0009】
本発明に係る人体姿勢推定装置において、前記初期ポーズ提示部は、前記第1の初期ポーズと、前記第1の初期ポーズのビデオフレームよりも所定時間だけ前のビデオフレームに対して前記ポーズ追跡部が推定した結果のポーズである第2の初期ポーズと、前記第1の初期ポーズのビデオフレームよりも所定時間(但し、Tmin未満)だけ後のビデオフレームに対して前記ポーズ追跡部が推定した結果のポーズである第3の初期ポーズと、を前記表示パネル上に表示させて、ポーズを修正するときの初期ポーズを該表示した初期ポーズの中からユーザに選択させる、ことを特徴とする。
【0010】
本発明に係る人体姿勢推定装置においては、ポーズを全体的に修正する操作としてトランスレーションとローテーションとスケーリングとが定義され、ポーズを部分的に修正する操作として末端関節の移動と中間関節の移動とが定義されている、ことを特徴とする。
【0011】
本発明に係る人体姿勢推定装置において、前記ポーズ修正部は、前記末端関節の移動の操作または前記中間関節の移動の操作が行われると、前記感知データが示す操作量を初期ポーズのビデオフレームの時刻における三次元空間上にインバースキネマティクス法を用いて逆マッピングして、ビデオフレームの画像上でジョイントを移動させる移動量を計算する、ことを特徴とする。
【0012】
本発明に係る人体姿勢推定装置において、前記ポーズ追跡部は、前記ポーズ修正部が修正した結果のポーズに基づいて推定した結果のポーズをビデオフレームの人物画像に重ね合わせて表示させる際に、キーフレームのみを再生する、又は、早送りで再生する、ことを特徴とする。
【0013】
本発明に係る人体姿勢推定装置において、前記デバイス群は、表示パネル上に表示データを表示すると共に、表示パネルへの1箇所又は同時に2箇所のタッチを感知して感知データを出力するマルチタッチパネルである、ことを特徴とする。
【0014】
本発明に係る人体姿勢推定方法は、撮像部が被写体を撮像してビデオデータを出力するステップと、記憶部が前記ビデオデータを記憶するステップと、ポーズ追跡部が、前記記憶部内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示パネル上に表示する表示データを出力するステップと、操作判断部が、デバイス群がユーザの操作を感知して出力した感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断するステップと、初期ポーズ提示部が、ポーズ修正開始の操作に応じて、初期ポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力するステップと、ポーズ修正部が、ポーズ修正操作に応じて、前記初期ポーズを修正するステップと、前記ポーズ追跡部が、前記ポーズ修正部が修正した結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定するステップと、を含むことを特徴とする。
【0015】
本発明に係るコンピュータプログラムは、コンピュータに、撮像部が被写体を撮像したビデオデータを記憶する記憶部内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示パネル上に表示する表示データを出力するステップと、デバイス群がユーザの操作を感知して出力した感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断するステップと、ポーズ修正開始の操作に応じて、初期ポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力するステップと、ポーズ修正操作に応じて、前記初期ポーズを修正するステップと、前記初期ポーズを修正した結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定するステップと、を実行させるためのコンピュータプログラム。
これにより、前述の人体姿勢推定装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【0016】
本発明によれば、実時間での人体姿勢推定処理を効率的に行うことができるという効果が得られる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態に係る人体姿勢推定装置1の構成を示すブロック図である。
【図2】人体スケルトン型動きデータの定義例の概略図である。
【図3】本発明の一実施形態に係る人体姿勢推定処理のフローチャートである。
【図4】本発明の一実施形態に係る初期ポーズ表示画面1000の構成例である。
【図5】本発明の一実施形態に係るポーズ修正操作判断処理のフローチャートである。
【図6】本発明の一実施形態に係る末端関節移動処理を説明するための概念図である。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係る人体姿勢推定装置1の構成を示すブロック図である。図1において、人体姿勢推定装置1は、処理部2と撮像部3とマルチタッチパネル4と記憶部5を備える。処理部2は、操作判断部11と初期ポーズ提示部12とポーズ修正部13とポーズ追跡部14を備える。
【0019】
撮像部3は、被写体を撮像してビデオデータを出力する。撮像部3から出力されたビデオデータは、記憶部5に格納される。マルチタッチパネル4は、表示パネル上に表示データを表示すると共に、表示パネルへのタッチを感知して感知データを出力する。マルチタッチパネル4は、表示パネルへの1箇所のタッチを感知することができると共に、表示パネルへの同時に複数のタッチを感知することができる。表示データは、処理部2からマルチタッチパネル4へ入力される。感知データは、マルチタッチパネル4から処理部2へ入力される。記憶部5は、ビデオデータ等、各種データを記憶する。処理部2は、記憶部5内のデータを用いて人体姿勢推定処理を行う。
【0020】
操作判断部11は、マルチタッチパネル4から入力された感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断する。初期ポーズ提示部12は、ポーズを修正するときの初期ポーズをユーザに提示する処理を行う。又、初期ポーズ提示部12は、初期ポーズを決定する処理を行う。
【0021】
ポーズ修正部13は、初期ポーズを用いてポーズを修正する処理を行う。ポーズ追跡部14は、記憶部5内のビデオデータを用いて、ビデオに写っている人のポーズを推定して追跡する処理を行う。
【0022】
図2は、人体スケルトン型動きデータの定義例の概略図である。本実施形態では、人体姿勢(ポーズ)の動きを表現するデータとして、人体スケルトン型動きデータを用いる。人体スケルトン型動きデータは、人の骨格を基に、骨及び骨の連結点(ジョイント)を用い、一ジョイントを根(ルート)とし、ルートからジョイント経由で順次連結される骨の構造を木(ツリー)構造として定義される。図2には、人体スケルトン型動きデータの定義の一部分のみを示している。図2において、ジョイント100は腰の部分であり、ルートとして定義される。ジョイント101は左腕の肘の部分、ジョイント102は左腕の手首の部分、ジョイント103は右腕の肘の部分、ジョイント104は右腕の手首の部分、ジョイント105は左足の膝の部分、ジョイント106は左足の足首の部分、ジョイント107は右足の膝の部分、ジョイント108は右足の足首の部分、ジョイント109は鎖骨の部分、ジョイント110、111は肩の部分、ジョイント112は首の部分、ジョイント113、114は股関節の部分、である。
【0023】
スケルトン型動きデータは、スケルトン型対象物の各ジョイントの動きを記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン型動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、人体スケルトン型動きデータとして、人体スケルトンの角度情報と加速度情報を例に挙げて説明する。
【0024】
人体スケルトン型角度情報データは、人の一連の動きを複数の姿勢(ポーズ)の連続により表すものであり、人の基本ポーズ(neutral pose)を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
【0025】
人体スケルトン型加速度情報データは、人の各ジョイントの加速度をポーズ毎のフレームデータと複数のポーズの連続により表すものである。なお、人体スケルトン型加速度情報データは、加速度計で記録したり、映像や動きデータから算出したりすることができる。
【0026】
以下、図3を参照して、図1に示す人体姿勢推定装置1の動作を説明する。図3は、本実施形態に係る人体姿勢推定処理のフローチャートである。
【0027】
(ステップS1)
ポーズ追跡部14は、記憶部5内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定する。これにより、ポーズ追跡部14は、時間の流れに沿って、ビデオフレームに写っている人のポーズを追跡してゆく。
【0028】
(ステップS2)
ポーズ追跡部14は、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示する表示データを、マルチタッチパネル4へ出力する。これにより、マルチタッチパネル4の表示パネル上には、推定結果のポーズがビデオフレームの人物画像に重ね合わせられて表示される。又、ポーズ追跡部14は、推定結果のポーズを、推定したビデオフレームに対応付けて記憶部5に格納する。又、ポーズ追跡部14は、推定結果のポーズに対応付けて、当該推定結果のポーズに対応する「projection matrix」を記憶部5に格納する。「projection matrix」は、ポーズ推定処理の過程で得られたデータである。「projection matrix」によって、推定結果のポーズをビデオフレームの画像にマッピングすることができる。
【0029】
(ステップS3)
操作判断部11は、マルチタッチパネル4から入力された感知データに基づいて、ユーザがポーズ修正開始の操作を行ったか否かを判断する。
【0030】
例えば、マルチタッチパネル4の表示パネル上にポーズ修正開始を示す表示部を設けておき、ユーザが当該表示部をタッチしたことを示す感知データがマルチタッチパネル4から入力された時に、操作判断部11は、ユーザがポーズ修正開始の操作を行ったと判断する。一方、マルチタッチパネル4の表示パネル上に推定結果のポーズを表示してから所定期間経過しても、ユーザが当該表示部をタッチしたことを示す感知データがマルチタッチパネル4から入力されなかった時に、操作判断部11は、ユーザがポーズ修正開始の操作を行わなかったと判断する。
【0031】
ステップS3の判断の結果、ポーズ修正開始の操作が行われたと判断した場合にはステップS4に進み、ポーズ修正開始の操作が行われなかったと判断した場合にはステップS1に戻る。
【0032】
(ステップS4)
初期ポーズ提示部12は、初期ポーズをビデオフレームの人物画像に重ね合わせて表示する表示データを、マルチタッチパネル4へ出力する。これにより、マルチタッチパネル4の表示パネル上には、初期ポーズがビデオフレームの人物画像に重ね合わせられて表示される。
【0033】
図4は、本実施形態に係る初期ポーズ表示画面1000の構成例である。本実施形態では、複数の初期ポーズを表示し、表示された複数の初期ポーズの中から使用する初期ポーズをユーザが選択できるようにする。図4において、初期ポーズ表示画面1000は、第1の初期ポーズ210(デフォルトの初期ポーズとする)を表示する画面1100と、第2の初期ポーズ220を表示する画面1200と、第3の初期ポーズ230を表示する画面1300と、第4の初期ポーズ240を表示する画面1400と、から構成される。
【0034】
デフォルトの第1の初期ポーズ210を表示する画面1100は、他の初期ポーズ220,230,240を表示する各画面1200,1300,1400よりも、画面サイズを大きくしている。又、デフォルトの第1の初期ポーズ210を表示する画面1100は、他の初期ポーズ220,230,240を表示する各画面1200,1300,1400よりも、初期ポーズ表示画面1000内の中心に近く配置している。
【0035】
各画面1100,1200,1300,1400において、各初期ポーズ210,220,230,240は、ビデオフレームの人物画像200に重ね合わせられて表示される。
【0036】
人物画像200は、ポーズ修正開始の操作が行われた時刻のビデオフレームの画像である。デフォルトの第1の初期ポーズ210は、ポーズ修正開始の操作が行われた時刻から所定時間Tminだけ前のビデオフレームに対してポーズ追跡部14が推定した結果のポーズである。第2の初期ポーズ220は、デフォルトの第1の初期ポーズ210のビデオフレームよりも所定時間Tintだけ前のビデオフレームに対してポーズ追跡部14が推定した結果のポーズである。第3の初期ポーズ230は、デフォルトの第1の初期ポーズ210のビデオフレームよりも所定時間(Tintの2倍の時間)だけ前のビデオフレームに対してポーズ追跡部14が推定した結果のポーズである。第4の初期ポーズ240は、デフォルトの第1の初期ポーズ210のビデオフレームよりも所定時間Tintだけ後のビデオフレームに対してポーズ追跡部14が推定した結果のポーズである。但し、所定時間Tintは、所定時間Tmin未満である。
【0037】
図3に説明を戻す。
(ステップS5)
初期ポーズ提示部12は、ポーズを修正するときの初期ポーズを決定する。このとき、上記図4に示すようにユーザに対して提示した複数の初期ポーズ210,220,230,240の中からユーザが一つの初期ポーズを選択した場合には、選択された初期ポーズに決定する。ユーザは選択したい初期ポーズの表示画面をタッチすることによって、初期ポーズ選択操作を行う。一方、マルチタッチパネル4の表示パネル上に複数の初期ポーズ210,220,230,240を表示してから所定期間経過しても、初期ポーズ選択操作が行われなかった時には、デフォルトの初期ポーズ210に決定する。
【0038】
初期ポーズ提示部12は、決定した初期ポーズを表示する画面のみをマルチタッチパネル4の表示パネル上に表示させる。このマルチタッチパネル4の表示パネル上には、決定された初期ポーズがビデオフレームの人物画像200に重ね合わせられて表示される。
【0039】
(ステップS6)
ポーズ修正部13は、ステップS5で決定された初期ポーズを用いたポーズ修正処理を開始する。ポーズ修正部13は、ポーズ修正処理の開始により、初期ポーズに対応する「projection matrix」を記憶部5から取得する。
【0040】
(ステップS7)
操作判断部11は、マルチタッチパネル4から入力された感知データに基づいて、ユーザが行ったポーズ修正操作を判断する。
【0041】
(ステップS8)
ポーズ修正部13は、操作判断部11が判断した結果のポーズ修正操作に応じて、初期ポーズを修正する。ポーズ修正部13は、初期ポーズを修正した結果のポーズをビデオフレームの人物画像200に重ね合わせて表示する表示データを、マルチタッチパネル4へ出力する。これにより、マルチタッチパネル4の表示パネル上には、初期ポーズを修正した結果のポーズがビデオフレームの人物画像200に重ね合わせられて表示される。
【0042】
(ステップS9)
操作判断部11は、マルチタッチパネル4から入力された感知データに基づいて、ユーザがポーズ修正終了の操作を行ったか否かを判断する。
【0043】
例えば、マルチタッチパネル4の表示パネル上にポーズ修正終了を示す表示部を設けておき、ユーザが当該表示部をタッチしたことを示す感知データがマルチタッチパネル4から入力された時に、操作判断部11は、ユーザがポーズ修正終了の操作を行ったと判断する。一方、マルチタッチパネル4の表示パネル上に初期ポーズを修正した結果のポーズを表示してから所定期間経過しても、ユーザが当該表示部をタッチしたことを示す感知データがマルチタッチパネル4から入力されなかった時に、操作判断部11は、ユーザがポーズ修正終了の操作を行わなかったと判断する。
【0044】
ステップS9の判断の結果、ポーズ修正終了の操作が行われたと判断した場合にはステップS10に進み、ポーズ修正終了の操作が行われなかったと判断した場合にはステップS7に戻る。
【0045】
(ステップS10)
処理部2は、人体姿勢推定処理の終了を判断する。この結果、人体姿勢推定処理の終了であると判断した場合には図3の処理を終了し、人体姿勢推定処理の終了ではないと判断した場合にはステップS1に戻る。
【0046】
人体姿勢推定処理を継続する場合(ステップS10、NO)、ポーズ追跡部14は、修正結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定する。ポーズ修正開始の操作が行われた時刻以降のビデオフレームは、記憶部5に格納されている。このとき、ポーズ追跡部14は、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示させる際に、キーフレームのみを再生(フレームを間引いて再生)したり、又は、早送りで再生したりしてもよい。これにより、人を撮像しながら人体姿勢推定処理を実時間処理しているときに、ポーズ修正による時間的なずれ(遅れ)を取り戻して、リアルタイムで推定結果をユーザに提示することができるようになる。
【0047】
次に、本実施形態に係るポーズ修正操作判断処理(図3のステップS7)を説明する。
【0048】
本実施形態では、大きく分けて3種類のポーズ修正操作(操作1,2,3を定義する。
[操作1:ポーズの全体修正]
操作1は、ポーズを全体的に修正する操作である。操作1として、具体的に3つの操作「トランスレーション(translation)」,「ローテーション(rotation)」,「スケーリング(scaling)」を定義する。
[操作2:ポーズの部分修正]
操作1は、ポーズを部分的に修正する操作である。操作2として、具体的に2つの操作「末端関節の移動」,「中間関節の移動」を定義する。
[操作3]
操作3として、具体的に2つの操作「アンドウ(undo)」,「ノーオペレーション(no operation)」を定義する。
【0049】
以下、図5を参照して本実施形態に係るポーズ修正操作判断処理を説明する。図5は、本実施形態に係るポーズ修正操作判断処理のフローチャートである。
(ステップS101)
操作判断部11は、感知データが同時に2箇所のタッチを示しているか否かを判断する。この結果、感知データが同時に2箇所のタッチを示していると判断した場合にはステップS102へ進み、感知データが同時に2箇所のタッチを示していないと判断した場合にはステップS103へ進む。
【0050】
(ステップS102)
操作判断部11は、操作1に属する「スケーリング(scaling)」の操作が行われたと判断する。
【0051】
(ステップS103)
操作判断部11は、感知データがダブルクリックを示しているか否かを判断する。この結果、感知データがダブルクリックを示していると判断した場合にはステップS104へ進み、感知データがダブルクリックを示していないと判断した場合にはステップS105へ進む。
【0052】
(ステップS104)
操作判断部11は、操作3に属する「アンドウ(undo)」の操作が行われたと判断する。
【0053】
(ステップS105)
操作判断部11は、感知データが1箇所のタッチを示しているか否かを判断する。この結果、感知データが1箇所のタッチを示していると判断した場合にはステップS106へ進み、感知データが1箇所のタッチを示していないと判断した場合にはステップS109へ進む。
【0054】
(ステップS106)
操作判断部11は、感知データがドラッグを示しているか否かを判断する。この結果、感知データがドラッグを示していると判断した場合にはステップS107へ進み、感知データがドラッグを示していないと判断した場合にはステップS108へ進む。
【0055】
(ステップS107)
操作判断部11は、操作2に属する「末端関節の移動」の操作が行われたと判断する。
【0056】
(ステップS108)
操作判断部11は、操作3に属する「ノーオペレーション(no operation)」の操作が行われたと判断する。
【0057】
(ステップS109)
操作判断部11は、感知データがドラッグを示しているか否かを判断する。この結果、感知データがドラッグを示していると判断した場合にはステップS110へ進み、感知データがドラッグを示していないと判断した場合にはステップS108へ進む。
【0058】
(ステップS110)
操作判断部11は、感知データが示しているドラッグ位置を判断する。この結果、ドラッグ位置が初期ポーズのルートに近いと判断した場合にはステップS111へ進み、ドラッグ位置が初期ポーズのルートに近くないと判断した場合にはステップS114へ進む。
【0059】
(ステップS111)
操作判断部11は、感知データが示しているドラッグ移動が直線上の移動であるか否かを判断する。この結果、ドラッグ移動が直線上の移動であると判断した場合にはステップS112へ進み、ドラッグ移動が直線上の移動ではないと判断した場合にはステップS113へ進む。
【0060】
(ステップS112)
操作判断部11は、操作1に属する「トランスレーション(translation)」の操作が行われたと判断する。
【0061】
(ステップS113)
操作判断部11は、操作1に属する「ローテーション(rotation)」の操作が行われたと判断する。
【0062】
(ステップS114)
操作判断部11は、操作2に属する「中間関節の移動」の操作が行われたと判断する。
【0063】
次に、本実施形態に係るポーズ修正処理(図3のステップS8)を説明する。以下、各ポーズ修正操作に対応するポーズ修正処理を順次説明する。
【0064】
[操作1:トランスレーション(translation)]
ポーズ修正部13は、マルチタッチパネル4の感知データが示すドラッグ移動量を用いて、初期ポーズに対するトランスレーション(translation)処理を行う。具体的には、ドラッグ移動量に対応する移動量だけ、初期ポーズをビデオフレームの画像上で移動させる。このとき、ドラッグ移動量を初期ポーズのビデオフレームの時刻における3D空間上に逆マッピングして、ビデオフレームの画像上で初期ポーズを移動させる移動量を計算する。
【0065】
[操作1:ローテーション(rotation)]
ポーズ修正部13は、マルチタッチパネル4の感知データが示すドラッグ移動量およびドラッグ軌跡を用いて、初期ポーズに対するローテーション(rotation)処理を行う。具体的には、ドラッグ移動量に対応する回転量だけ、ドラッグ軌跡に対応する回転方向へ、初期ポーズをビデオフレームの画像上で回転させる。このとき、ドラッグ移動量およびドラッグ軌跡を初期ポーズのビデオフレームの時刻における3D空間上に逆マッピングして、ビデオフレームの画像上で初期ポーズを回転させる回転量および回転方向を計算する。
【0066】
[操作1:スケーリング(scaling)]
ポーズ修正部13は、マルチタッチパネル4の感知データが示す同時にタッチされた2箇所の移動量を用いて、初期ポーズに対するスケーリング(scaling)処理を行う。具体的には、同時にタッチされた2箇所の移動量に対応する移動量だけ、初期ポーズをビデオフレームの画像上で拡大又は縮小させる。このとき、同時にタッチされた2箇所の移動量を初期ポーズのビデオフレームの時刻における3D空間上に逆マッピングして、ビデオフレームの画像上で初期ポーズを撮像部3の撮像方向と直交する方向で拡大又は縮小させる量を計算する。
【0067】
[操作2:末端関節の移動]
ポーズ修正部13は、マルチタッチパネル4の感知データが示すタッチ位置およびドラッグ移動量を用いて、初期ポーズに対する末端関節移動処理を行う。具体的には、初期ポーズ中のジョイント(骨の連結点)のうちタッチ位置に対応するジョイントを固定関節に設定する。次いで、固定関節のジョイントを固定して、ドラッグ移動量に対応する移動量だけ、初期ポーズ中の末端のジョイント(末端関節のジョイント)をビデオフレームの画像上で移動させる。このとき、ドラッグ移動量を初期ポーズのビデオフレームの時刻における3D空間上にインバースキネマティクス(逆運動学:IK(inverse kinematics))法を用いて逆マッピングして、ビデオフレームの画像上でジョイントを移動させる移動量を計算する。又、固定関節以外のジョイントは関節の角度(ジョイントで連結される骨と骨の角度)を維持する。
【0068】
図6は、本実施形態に係る末端関節移動処理を説明するための概念図である。図6において、sは初期ポーズ中の固定関節のジョイントである。tは初期ポーズ中の移動させる関節のジョイントである。eは初期ポーズ中のジョイントsとジョイントtの間にあるジョイントである。ジョイントsとジョイントe間の骨の長さはL1である。ジョイントtとジョイントe間の骨の長さはL2である。
【0069】
本実施形態では、インバースキネマティクス法を用いて、マルチタッチパネル4の表示パネル上での2次元のドラッグ移動量から、3次元の初期ポーズにおける移動量を計算する。この移動量計算処理では、インバースキネマティクス法を用いて、時間的な関連性と周期性、最小エナジー、関節角度範囲の制限下で3D空間の変化量を推定し、推定結果の変化量から、ビデオフレームの画像上でジョイントを移動させる移動量を計算する。
【0070】
図6に示されるように、ジョイントeが動くことができる軌跡300を計算する。軌跡300は、中心cおよび半径Rから描かれる楕円形状となる。ジョイントsは静止しているので、ジョイントeの関節の角度を固定すると、ジョイントsからの骨の長さL1とジョイントtからの骨の長さL2とによって、ジョイントtの移動先の位置に応じたジョイントeの軌跡300が決まる。ジョイントtの移動先の位置は、2次元のドラッグ移動量から3次元の移動量を計算して決定する。そして、ジョイントeの軌跡300の中でジョイントeの元の位置(図6中、e’で示す)から最短距離の位置(図6中、eで示す)を、ジョイントeの移動先の位置に決める。
【0071】
[操作2:中間関節の移動]
ポーズ修正部13は、マルチタッチパネル4の感知データが示すドラッグ位置およびドラッグ移動量を用いて、初期ポーズに対する中間関節移動処理を行う。具体的には、初期ポーズ中のジョイント(骨の連結点)のうちドラッグ位置に対応するジョイントを移動させる関節(移動関節)に設定する。又、移動関節のジョイントと骨で接続されるジョイントのうちルートに近い方のジョイントを親関節に設定する。次いで、親関節のジョイントを固定して、ドラッグ移動量に対応する移動量だけ、移動関節のジョイントをビデオフレームの画像上で移動させる。このとき、ドラッグ移動量を初期ポーズのビデオフレームの時刻における3D空間上にインバースキネマティクス法を用いて逆マッピングして、ビデオフレームの画像上でジョイントを移動させる移動量を計算する。又、親関節以外のジョイントは関節の角度を維持する。
【0072】
[操作3:アンドウ(undo)]
ポーズ修正部13は、本アンドウ(undo)操作の直前のポーズ修正操作を行う前のポーズに戻す。このため、修正後のポーズは、少なくとも次のポーズ修正操作が行われるまでは記憶部5に保持しておく。なお、本アンドウ(undo)操作に該当する直前のポーズ修正操作が無い場合には、特に処理を行わない。
【0073】
[操作3:ノーオペレーション(no operation)]
ポーズ修正部13は、特に処理を行わない。
【0074】
上述した実施形態によれば、人を撮像しながら実時間で人体姿勢推定処理を行っているときに、ユーザは、マルチタッチパネル4の表示パネル上で、タッチ操作によって素早く人体姿勢推定誤りを正すことができる。これにより、人を撮像しながら実時間での人体姿勢推定処理を効率的に行うことができるという効果が得られる。
【0075】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、人体姿勢推定装置1は、カメラ付の携帯電話機など、カメラ付の携帯端末に適用することができる。
【0076】
また、上述の実施形態では、表示パネル上に表示データを表示すると共に、ユーザの操作を感知して感知データを出力するデバイス群の一例として、マルチタッチパネルを利用したが、これに限定されない。例えば、表示パネル(表示手段)とタッチパネル(操作手段)とが別個の装置であってもよい。又は、操作手段として、マウス等のポインティングデバイスやキーボードを利用するようにしてもよい。この場合には、ポインティングデバイスやキーボードに対応した専用の操作を定義する。
【0077】
また、図3に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、人体姿勢推定処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0078】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【符号の説明】
【0079】
1…人体姿勢推定装置、2…処理部、3…撮像部、4…マルチタッチパネル、5…記憶部、11…操作判断部、12…初期ポーズ提示部、13…ポーズ修正部、14…ポーズ追跡部

【特許請求の範囲】
【請求項1】
被写体を撮像してビデオデータを出力する撮像部と、
表示パネル上に表示データを表示すると共に、ユーザの操作を感知して感知データを出力するデバイス群と、
前記ビデオデータを記憶する記憶部と、
前記記憶部内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力するポーズ追跡部と、
前記感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断する操作判断部と、
ポーズ修正開始の操作に応じて、初期ポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力する初期ポーズ提示部と、
ポーズ修正操作に応じて、前記初期ポーズを修正するポーズ修正部と、を備え、
前記ポーズ追跡部は、前記ポーズ修正部が修正した結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定する、
ことを特徴とする人体姿勢推定装置。
【請求項2】
前記初期ポーズ提示部は、ポーズ修正開始の操作が行われた時刻から所定時間(Tmin)だけ前のビデオフレームに対して前記ポーズ追跡部が推定した結果のポーズを、第1の初期ポーズとすることを特徴とする請求項1に記載の人体姿勢推定装置。
【請求項3】
前記初期ポーズ提示部は、前記第1の初期ポーズと、前記第1の初期ポーズのビデオフレームよりも所定時間だけ前のビデオフレームに対して前記ポーズ追跡部が推定した結果のポーズである第2の初期ポーズと、前記第1の初期ポーズのビデオフレームよりも所定時間(但し、Tmin未満)だけ後のビデオフレームに対して前記ポーズ追跡部が推定した結果のポーズである第3の初期ポーズと、を前記表示パネル上に表示させて、ポーズを修正するときの初期ポーズを該表示した初期ポーズの中からユーザに選択させる、
ことを特徴とする請求項2に記載の人体姿勢推定装置。
【請求項4】
ポーズを全体的に修正する操作としてトランスレーションとローテーションとスケーリングとが定義され、
ポーズを部分的に修正する操作として末端関節の移動と中間関節の移動とが定義されている、
ことを特徴とする請求項1から3のいずれか1項に記載の人体姿勢推定装置。
【請求項5】
前記ポーズ修正部は、前記末端関節の移動の操作または前記中間関節の移動の操作が行われると、前記感知データが示す操作量を初期ポーズのビデオフレームの時刻における三次元空間上にインバースキネマティクス法を用いて逆マッピングして、ビデオフレームの画像上でジョイントを移動させる移動量を計算する、
ことを特徴とする請求項1から4のいずれか1項に記載の人体姿勢推定装置。
【請求項6】
前記ポーズ追跡部は、前記ポーズ修正部が修正した結果のポーズに基づいて推定した結果のポーズをビデオフレームの人物画像に重ね合わせて表示させる際に、キーフレームのみを再生する、又は、早送りで再生する、
ことを特徴とする請求項1から5のいずれか1項に記載の人体姿勢推定装置。
【請求項7】
前記デバイス群は、表示パネル上に表示データを表示すると共に、表示パネルへの1箇所又は同時に2箇所のタッチを感知して感知データを出力するマルチタッチパネルである、
ことを特徴とする請求項1から6のいずれか1項に記載の人体姿勢推定装置。
【請求項8】
撮像部が被写体を撮像してビデオデータを出力するステップと、
記憶部が前記ビデオデータを記憶するステップと、
ポーズ追跡部が、前記記憶部内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示パネル上に表示する表示データを出力するステップと、
操作判断部が、デバイス群がユーザの操作を感知して出力した感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断するステップと、
初期ポーズ提示部が、ポーズ修正開始の操作に応じて、初期ポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力するステップと、
ポーズ修正部が、ポーズ修正操作に応じて、前記初期ポーズを修正するステップと、
前記ポーズ追跡部が、前記ポーズ修正部が修正した結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定するステップと、
を含むことを特徴とする人体姿勢推定方法。
【請求項9】
コンピュータに、
撮像部が被写体を撮像したビデオデータを記憶する記憶部内のビデオデータを用いて、ビデオフレームに写っている人のポーズを推定し、推定したビデオフレームのポーズに基づいて該ビデオフレームよりも後のビデオフレームのポーズを推定し、推定結果のポーズをビデオフレームの人物画像に重ね合わせて表示パネル上に表示する表示データを出力するステップと、
デバイス群がユーザの操作を感知して出力した感知データに基づいて、ユーザがどのような所定の操作を行ったのかを判断するステップと、
ポーズ修正開始の操作に応じて、初期ポーズをビデオフレームの人物画像に重ね合わせて前記表示パネル上に表示する表示データを出力するステップと、
ポーズ修正操作に応じて、前記初期ポーズを修正するステップと、
前記初期ポーズを修正した結果のポーズに基づいて、ポーズ修正開始の操作が行われた時刻以降のビデオフレームに対して、ポーズを推定するステップと、
を実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−98812(P2012−98812A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−244236(P2010−244236)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】