説明

姿勢推定装置、姿勢推定方法及び姿勢推定プログラム

【課題】2次元の関節位置の安定した推定を行い、それに伴って3次元の姿勢推定の精度の向上を実現することができる姿勢推定装置を提供する。
【解決手段】3次元動作モデルデータを参照して、追跡対象について、初期の位置候補を複数設定する手段と、入力した画像から、追跡対象の位置候補における特徴量を算出し、該特徴量をテンプレート記憶手段に記憶されたテンプレートデータと比較した結果得られる類似度の重みに基づき、追跡対象の位置を推定し、追跡対象の位置の推定情報を出力する手段と、類似度の重みと、3次元動作モデルデータに基づき、追跡対象の位置候補を改めて設定する手段と、追跡対象の位置の推定と、追跡対象の位置候補の設定とを複数回数繰り返すことにより、追跡対象の位置を追跡する手段と、追跡対象の位置の推定情報と、3次元動作モデルデータを参照して、姿勢推定対象の3次元姿勢を推定する手段とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラで撮影された画像データから人物の姿勢推定を行う姿勢推定装置、姿勢推定方法及び姿勢推定プログラムに関する。
【背景技術】
【0002】
近年、モーションキャプチャシステムや距離画像を用いずに、画像データから人体の姿勢推定・運動解析を行う研究が広く行われている(例えば、非特許文献1参照)。これらの研究は、映像監視やヒューマンインタラクション、ロボットの運動制御、CGアニメーションの製作、医療分野等、幅広い分野への応用が期待されている。特に、3次元的な姿勢を推定できれば、応用の幅はさらに広がると考えられる。
【0003】
しかし、画像データに基づき人体の3次元的な仮想空間における姿勢を推定する場合、任意の時間において、人体の関節の3次元回転角を推定することが困難である。特に、単眼カメラにより撮影された画像データからの3次元の姿勢を推定する場合、画像データにおいては2次元で人体が表現されているため、3次元で表現するための情報が欠如している。これにより、姿勢の多義性に対応できないことや、手足や障害物による遮蔽に対応できないことなどが問題となる。
【0004】
これらの問題に対処するため、推定する際に、人体の動きに関する事前知識を用いる手法が注目されている。この事前知識とは、2次元の画像データに基づき、3次元で表現するために欠如している情報を補充するための情報である。この補充するための情報である2次元の画像データは、3次元の姿勢を推定するための2次元画像上の関節位置座標で構成する。関節位置座標は、対象となる場所の画像特徴量をフレームを跨って追跡することで得られる。事前知識として、例えば、非特許文献2のように光学モーションキャプチャシステムにより計測された高精度な3次元動作データから低次元特徴を取り出した動作モデルを用いるものが知られている。この動作モデルを事前知識として、2次元画像上の関節位置から3次元の姿勢を推定することが可能となる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】島田, 伸敬, 有田, 大作, 玉木, 徹. "関節物体のモデルフィッティング" 情報処理学会研究報告CVIM Vol.154. page.375-392. 2006.
【非特許文献2】R. Urtasun, D. J. Fleet, and P. Fua. "3d people tracking with gaussian process dynam-ical models." CVPR, 2006.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、動作モデルを利用して、2次元の関節位置から3次元の姿勢を補充する場合、2次元の関節位置の情報の不確かさが増すほど、3次元の姿勢の不確かさも増してしまう。一般に、2次元の関節位置は画像上で取得可能な色やエッジの情報を基に推定するため、安定した推定が困難であるという問題がある。このような問題は、人体及び関節に限られた問題ではなく、姿勢が変化する物(例えば、人体やロボット)とその物が持つ追跡対象(例えば、関節や可動部)に関して一般的な問題である。
【0007】
本発明は、このような事情に鑑みてなされたもので、2次元の追跡対象の安定した推定を行い、それに伴って3次元の姿勢推定の精度の向上を実現することができる姿勢推定装置、姿勢推定方法及び姿勢推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、姿勢推定対象が撮影された画像を入力する画像入力手段と、前記姿勢推定対象が持つ追跡対象の特徴量がテンプレートデータとして記憶されたテンプレート記憶手段と、前記追跡対象の3次元動作モデルデータが記憶された3次元動作モデル記憶手段と、前記3次元動作モデルデータを参照して、前記追跡対象について、初期の位置候補を複数設定する位置候補初期設定手段と、前記画像入力手段によって入力した前記画像から、前記追跡対象の位置候補における特徴量を算出し、該特徴量を前記テンプレート記憶手段に記憶された前記テンプレートデータと比較した結果得られる類似度の重みに基づき、前記追跡対象の位置を推定し、前記追跡対象の位置の推定情報を出力する位置推定手段と、前記類似度の重みと、前記3次元動作モデルデータに基づき、前記追跡対象の前記位置候補を改めて設定する位置候補設定手段と、前記位置推定手段による前記追跡対象の位置の推定と、前記位置候補設定手段による前記追跡対象の前記位置候補の設定とを複数回数繰り返すことにより、前記追跡対象の位置を追跡する追跡処理手段と、前記追跡対象の位置の推定情報と、前記3次元動作モデルデータを参照して、前記姿勢推定対象の3次元姿勢を推定する姿勢推定手段とを備えたことを特徴とする。
【0009】
本発明は、前記姿勢推定対象が人体であり、前記追跡対象が関節であることを特徴とする。
【0010】
本発明は、姿勢推定対象が撮影された画像を入力する画像入力手段と、前記姿勢推定対象が持つ追跡対象の特徴量がテンプレートデータとして記憶されたテンプレート記憶手段と、前記追跡対象の3次元動作モデルデータが記憶された3次元動作モデル記憶手段とを備える姿勢推定装置における姿勢推定方法であって、前記3次元動作モデルデータを参照して、前記追跡対象について、初期の位置候補を複数設定する位置候補初期設定ステップと、前記画像入力手段によって入力した前記画像から、前記追跡対象の位置候補における特徴量を算出し、該特徴量を前記テンプレート記憶手段に記憶された前記テンプレートデータと比較した結果得られる類似度の重みに基づき、前記追跡対象の位置を推定し、前記追跡対象の位置の推定情報を出力する位置推定ステップと、前記類似度の重みと、前記3次元動作モデルデータに基づき、前記追跡対象の前記位置候補を改めて設定する位置候補設定ステップと、前記位置推定ステップによる前記追跡対象の位置の推定と、前記位置候補設定ステップによる前記追跡対象の前記位置候補の設定とを複数回数繰り返すことにより、前記追跡対象の位置を追跡する追跡処理ステップと、前記追跡対象の位置の推定情報と、前記3次元動作モデルデータを参照して、前記姿勢推定対象の3次元姿勢を推定する姿勢推定ステップとを有することを特徴とする。
【0011】
本発明は、前記姿勢推定方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【0012】
本発明によれば、追跡対象(関節位置)を安定して推定できることに加え、追跡対象の位置推定と同時に姿勢推定対象の3次元姿勢を推定することが可能となるため、3次元の姿勢推定の精度の向上を実現することができるという効果が得られる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態の構成を示すブロック図である。
【図2】図1に示す2次元関節追跡部103の動作を示すフローチャートである。
【図3】本発明の一実施形態の変形例の構成を示すブロック図である。
【図4】図3に示す2次元関節追跡部109の動作を示すフローチャートである。
【図5】物体追跡手法の一般的な概念を示す説明図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の一実施形態による姿勢推定装置を説明する。図1は同実施形態の構成を示すブロック図である。この図において、符号101は、姿勢を解析する対象となる映像データが記憶された解析映像記憶部である。映像データの一例として、未校正の1台または複数台のカメラによって撮像された映像データから構成される。符号102は、解析映像記憶部101に記憶された映像データを入力する画像入力部であり、入力した映像データを推定処理を行う形式へ変換する。この変換は例えば、色相変換やフレーム補間等である。符号103は、画像入力部102により入力した映像データから画像特徴量などを用いて人体の関節位置の座標を抽出し、解析対象の全フレームに対して追跡処理を行う2次元関節追跡部である。符号104は、2次元関節追跡部103によって追跡した人体の2次元関節位置座標から、3次元の姿勢を推定する3次元姿勢推定部である。
【0015】
符号105は、追跡対象とする領域の特徴や位置等の情報をテンプレートとして記憶するテンプレート記憶部である。テンプレートの形式は、2次元関節追跡部103ので利用する手法に依存する。2次元関節追跡部103は、画像入力部102により入力した映像データの各フレームの画像情報と、テンプレート記憶部105に記憶されたテンプレートから追跡処理を行う。符号106は、3次元姿勢推定部104で推定された3次元の姿勢情報を保持する姿勢情報記憶部である。符号107は、3次元姿勢推定部104において、3次元の姿勢を推定する際に用いる事前3次元動作モデル情報を記憶する事前3次元動作モデル記憶部である。動作モデルは、例えば、非特許文献2のように、3次元動作を低次元特徴で表現したものが適用可能である。符号108は、2次元間接追跡部103が推定した追跡対象の推定状態情報を記憶する推定情報記憶部である。3次元姿勢推定部104は、推定情報記憶部108の2次元の関節位置情報と事前3次元動作モデル記憶部107の動作モデル情報を参照して3次元姿勢を推定する。3次元姿勢推定部104における3次元姿勢の推定処理は公知の方法を用いて行う。
【0016】
ここで、図5を参照して、パーティクルフィルタを用いて2次元関節位置を追跡する処理動作を説明する。パーティクルフィルタを用いる場合、図5に示すように、追跡対象の位置候補を仮説として多数(N個)生成する。まず、仮説の位置を初期化する(STEP0)。そして、各時刻において、仮説位置の特徴量を追跡対象のテンプレート特徴量と比較して、その類似度を重みとして算出する(STEP1)。次に、N個の仮説の中からもっともらしいものを選択し、その時刻の推定位置(状態)とする(STEP2)。続いて、次の時刻の準備として重みの大きい仮説を複製し、小さい仮説を消滅させる(STEP3)。そして、追跡対象の状態遷移モデルに従って、仮説を移動させて(STEP4)、STEP1に戻り、処理を繰り返す。状態遷移モデルは、対象物の運動モデルに基づいて定義することが望ましいが、運動モデルの定式化が難しい場合は、等速直線運動やランダムウォークを想定する。
【0017】
次に、図2を参照して、図1に示す2次元関節追跡部103の動作を説明する。図2は、図1に示す2次元関節追跡部103の動作を示すフローチャートである。まず、2次元関節追跡部103は、時刻tを0とし(ステップS1)、解析映像記憶部101に蓄積される解析対象の映像データより時刻tが0であるフレームを取り出し、追跡対象とする関節の初期位置[x,y]を指定する(ステップS2)。この指定には、例えば、手動指定や肌色検出、エッジ検出等の画像処理を用いることが可能である。
【0018】
次に、2次元関節追跡部103は、ステップS2において指定した関節位置の特徴量Itempを算出し、これをテンプレートとしてテンプレート記憶部105に保持する(ステップS3)。この特徴量は、例えば、色ヒストグラムやHOG特徴量等、任意のものを用いることが可能である。続いて、2次元関節追跡部103は、追跡対象の位置を状態Φ(t)=[x(t),y(t)]とし、N個の仮説を生成して、ステップS2において指定した初期位置[x,y]を中心として分布するように初期化する(ステップS5)。このとき、分布には例えば平均[x,y]の正規分布等を用いることが可能である。
【0019】
次に、2次元関節追跡部103は、時刻tが解析フレーム数T以下であるか否かを判定し(ステップS6)、時刻tが解析フレーム数T以下でなければ処理を終了する。一方、時刻tが解析フレーム数T以下であれば、解析映像記憶部101に蓄積されている解析対象の映像データよりt=Tとなるフレーム映像を取り出す(ステップS7)。そして、2次元関節追跡部103は、取り出したフレーム映像に対して、仮説Φ(t),i=1,2,..,Nの場合の特徴量I(t)を算出する(ステップS10)。
【0020】
次に、2次元関節追跡部103は、得られたI(t)とテンプレート特徴量Itempを比較してその類似度の重みw(t)を算出する(ステップS11)。重みは、例えば、I(t)とItempの距離を用いることが可能である。続いて、2次元関節追跡部103は、算出した重みw(t)より、時刻tにおける状態Φ(t)を推定する(ステップS12)。この推定は、もっとも大きな重みをもつ仮説を選んだり、重みつき平均をとる等の方法によって行うことが可能である。そして、推定した状態情報を推定情報記憶部108のへ保存する。
【0021】
次に、2次元関節追跡部103は、重みw(t)の大きさに応じて重みの大きい仮説は複製し、小さい仮説は削除することで、推定した状態付近に仮説が集まるようにリサンプリングを行う(ステップS13)。続いて、2次元関節追跡部103は、次の時刻の準備として、追跡対象の状態遷移モデルに基づいて、仮説のサンプリングを行う(ステップS14)。このサンプリングは例えば、等速直線やランダムウォークのモデルによって行う。そして、2次元関節追跡部103は、時刻tに1加算して(ステップS15)、ステップS6に戻って、処理を繰り返す。
【0022】
次に、図3を参照して、図1に示す姿勢推定装置の変形例を説明する。図3は、図1に示す姿勢推定装置の変形例の構成を示すブロック図である。この図において、図1に示す姿勢推定装置と同一の部分には同一の符号を付し、その説明を省略する。図3に示す姿勢推定装置が図1に示す姿勢推定装置と異なる点は、2次元関節追跡部103に代えて、2次元関節追跡部109を設けた点である。2次元関節追跡部109は、画像入力部102により入力した映像データと、テンプレート記憶部105に記憶されたテンプレート情報と、事前3次元動作モデル記憶部107に記憶された動作モデル情報とを参照して追跡処理を行う。
【0023】
次に、図4を参照して、図3に示す2次元関節追跡部109の動作を説明する。図4は、図3に示す2次元関節追跡部109の動作を示すフローチャートである。図4において、図2に示す動作と同一の部分には同一の符号を付し、その説明を省略する。図4に示す動作が図2に示す動作と異なる点は、ステップS4、S51、S8、S9、S121、S141を設けた点である。
【0024】
まず、2次元関節追跡部109は、時刻tを0とする(ステップS1)。解析映像記憶部101に蓄積される解析対象の映像データより時刻tが0であるフレームを取り出し、追跡対象とする関節の初期位置[x,y]を指定する(ステップS2)。
【0025】
次に、2次元関節追跡部109は、ステップS2において指定した関節位置の特徴量Itempを算出し、これをテンプレートとしてテンプレート記憶部105に保持する(ステップS3)。続いて、2次元関節追跡部109は、解析対象となる映像の初期視点Vを指定する。この初期視点Vは、3次元姿勢を2次元に投影処理する際に用いる。
【0026】
次に、2次元関節追跡部109は、追跡対象の3次元姿勢Y(t)と2次元映像への投影視点V(t)を状態Φ(t)=[Y(t),V(t)]とし、N個の仮説を生成して、V(t)は先に指定した初期視点Vを中心として分布するように、Y(t)は事前3次元動作モデル記憶部107に記憶されている動作情報を中心として分布するように初期化する(ステップS51)。
【0027】
次に、2次元関節追跡部109は、時刻tが解析フレーム数T以下であるか否かを判定し(ステップS6)、時刻tが解析フレーム数T以下でなければ処理を終了する。一方、時刻tが解析フレーム数T以下であれば、解析映像記憶部101に蓄積されている解析対象の映像データよりt=Tとなるフレーム映像を取り出す(ステップS7)。そして、時刻tのフレーム映像より、人体の重心位置を算出する(ステップS8)。これは、例えば、腰の位置で表現でき、人体領域のシルエットの面積の重心を用いたりすることで可能である。続いて、2次元関節追跡部109は、ステップS8で用いたフレーム映像に対して、仮説Φ(t),i=1,2,..,Nの2次元関節位置[x(t),y(t)]を3次元姿勢Y(t)と投影視点V(t)より算出する(ステップS9)。
【0028】
次に、2次元関節追跡部109は、取り出したフレーム映像に対して、仮説Φ(t),i=1,2,..,Nの場合の特徴量I(t)を算出し(ステップS10)、得られたI(t)とテンプレート特徴量Itempを比較してその類似度の重みw(t)を算出する(ステップS11)。そして、2次元関節追跡部109は、算出した重みw(t)より、時刻tにおける状態Φ(t)=[Y(t),V(t)]と2次元関節位置[x(t),y(t)]を推定する(ステップS121)。ここで、推定した状態情報と2次元関節位置情報を推定情報記憶部108へ保存する。
【0029】
次に、2次元関節追跡部109は、重みw(t)の大きさに応じて重みの大きい仮説は複製し、小さい仮説は削除することで、推定した状態付近に仮説が集まるようにリサンプリングを行う(ステップS13)。続いて、2次元関節追跡部109は、次の時刻の準備として、追跡対象の状態遷移モデルに基づいて、仮説のサンプリングを行う(ステップS141)。ここで、状態遷移モデルは事前3次元動作モデル記憶部107に保持されている動作情報より定義する。3次元姿勢Yの状態遷移は、例えば、非特許文献2の動作モデルを用いた場合、(1)式、(2)式で与えられる。
【数1】

このとき、
【数2】

である。
【0030】
ここで、X(n)は3次元姿勢Y(n)の低次元表現である。また、k(X),k(X)はi番目の要素にk(X,X),k(X,X)をもつベクトルであり、例えば(5)式、(6)式のように適当な関数で定義する。
【数3】

このとき、α,βは学習により求めるパラメータである。
【0031】
また、投影視点Vの状態遷移は、例えば、事前学習済みの動作情報より腰位置の並進と回転の変化量を用いて定義する。より具体的には、投影視点をV=[θ,φ]と表現した場合、その視点変化dθ(n),dφ(n)は、同じ時刻の3次元動作データYと最も近い動作データを事前3次元動作モデル記憶部107から選び、その並進t(n−1)と回転r(n−1)からそれぞれ視点の変化量dθ(n)=t(n)−t(n−1),dθ(n)=r(n)−r(n−1)を求める。全体としての視点変化はdθ(n)=dθ(n)−dθ(n)で定義する。φに関しても同様に求められる。
【0032】
次に、2次元関節追跡部109は、時刻tに1加算して(ステップS15)、ステップS6に戻って、処理を繰り返す。
【0033】
以上説明したように、2次元の関節位置を推定する際に、2次元関節位置の追跡を観測される画像情報だけでなく、事前に学習済みの3次元動作情報を利用して行うようにして、従来は2次元関節位置の追跡結果から推定を行っていた3次元動作を2次元関節位置の追跡と同時に行うことが可能となるため、3次元の姿勢推定の精度の向上を実現することができる。
【0034】
なお、図1、図3における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより姿勢推定処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0035】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0036】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の精神及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行っても良い。
【産業上の利用可能性】
【0037】
カメラで撮影された画像データから人物の姿勢推定を行うことが不可欠な用途に適用できる。
【符号の説明】
【0038】
101・・・解析映像記憶部、102・・・画像入力部、103・・・2次元関節追跡部、104・・・3次元姿勢推定部、105・・・テンプレート記憶部、106・・・姿勢情報記憶部、107・・・事前3次元動作モデル記憶部、108・・・推定情報記憶部

【特許請求の範囲】
【請求項1】
姿勢推定対象が撮影された画像を入力する画像入力手段と、
前記姿勢推定対象が持つ追跡対象の特徴量がテンプレートデータとして記憶されたテンプレート記憶手段と、
前記追跡対象の3次元動作モデルデータが記憶された3次元動作モデル記憶手段と、
前記3次元動作モデルデータを参照して、前記追跡対象について、初期の位置候補を複数設定する位置候補初期設定手段と、
前記画像入力手段によって入力した前記画像から、前記追跡対象の位置候補における特徴量を算出し、該特徴量を前記テンプレート記憶手段に記憶された前記テンプレートデータと比較した結果得られる類似度の重みに基づき、前記追跡対象の位置を推定し、前記追跡対象の位置の推定情報を出力する位置推定手段と、
前記類似度の重みと、前記3次元動作モデルデータに基づき、前記追跡対象の前記位置候補を改めて設定する位置候補設定手段と、
前記位置推定手段による前記追跡対象の位置の推定と、前記位置候補設定手段による前記追跡対象の前記位置候補の設定とを複数回数繰り返すことにより、前記追跡対象の位置を追跡する追跡処理手段と、
前記追跡対象の位置の推定情報と、前記3次元動作モデルデータを参照して、前記姿勢推定対象の3次元姿勢を推定する姿勢推定手段と
を備えたことを特徴とする姿勢推定装置。
【請求項2】
前記姿勢推定対象が人体であり、前記追跡対象が関節であることを特徴とする請求項1に記載の姿勢推定装置。
【請求項3】
姿勢推定対象が撮影された画像を入力する画像入力手段と、前記姿勢推定対象が持つ追跡対象の特徴量がテンプレートデータとして記憶されたテンプレート記憶手段と、前記追跡対象の3次元動作モデルデータが記憶された3次元動作モデル記憶手段とを備える姿勢推定装置における姿勢推定方法であって、
前記3次元動作モデルデータを参照して、前記追跡対象について、初期の位置候補を複数設定する位置候補初期設定ステップと、
前記画像入力手段によって入力した前記画像から、前記追跡対象の位置候補における特徴量を算出し、該特徴量を前記テンプレート記憶手段に記憶された前記テンプレートデータと比較した結果得られる類似度の重みに基づき、前記追跡対象の位置を推定し、前記追跡対象の位置の推定情報を出力する位置推定ステップと、
前記類似度の重みと、前記3次元動作モデルデータに基づき、前記追跡対象の前記位置候補を改めて設定する位置候補設定ステップと、
前記位置推定ステップによる前記追跡対象の位置の推定と、前記位置候補設定ステップによる前記追跡対象の前記位置候補の設定とを複数回数繰り返すことにより、前記追跡対象の位置を追跡する追跡処理ステップと、
前記追跡対象の位置の推定情報と、前記3次元動作モデルデータを参照して、前記姿勢推定対象の3次元姿勢を推定する姿勢推定ステップと
を有することを特徴とする姿勢推定方法。
【請求項4】
請求項3に記載の姿勢推定方法をコンピュータに実行させるためのことを特徴とする姿勢推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate