(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024011160
(43)【公開日】2024-01-25
(54)【発明の名称】姿勢推定装置、学習装置及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240118BHJP
G06T 7/70 20170101ALI20240118BHJP
【FI】
G06T7/00 660B
G06T7/70 Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022112940
(22)【出願日】2022-07-14
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】村上 智哉
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096DA02
5L096EA05
5L096FA09
5L096FA26
5L096FA32
5L096FA72
5L096GA06
5L096GA30
5L096HA04
5L096HA09
5L096HA11
5L096KA04
(57)【要約】
【課題】動画に含まれる被写体の姿勢を推定する際に、2次元骨格情報からモーションジッタを除去し、被写体の自然な動きを実現する。
【解決手段】姿勢推定装置1のノイズ除去部11は、2次元姿勢推定部101’により生成された時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、ウェーブレット解析により高周波成分のノイズを除去し、モデル30を用いて、時系列の2次元ヒートマップ及びノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定し、モーションジッタが除去された時系列の2次元骨格情報を求める。モデル30は、両2次元ヒートマップに対して加重平均処理を行う加重平均部17、及び3D畳み込み層を持つエンコーダ・デコーダモデルからなる。新たな時系列の2次元ヒートマップは、モーションジッタが発生し難く、かつ正解データからの誤差が少ないマップとなる。
【選択図】
図3
【特許請求の範囲】
【請求項1】
動画に含まれる被写体の姿勢を推定する姿勢推定装置において、
前記動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部と、
前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体のモーションを平滑化した関節毎の位置を時系列の2次元骨格情報として求めるモーション平滑化部と、を備え、
前記モーション平滑化部は、
前記時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部と、
予め学習されたモデルを用いて、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ及び前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する推定部と、
前記推定部により推定された前記新たな時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記時系列の2次元骨格情報を求める第1最大値抽出部と、を備えたことを特徴とする姿勢推定装置。
【請求項2】
請求項1に記載の姿勢推定装置において、
前記ノイズ除去部は、
前記時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記関節毎の座標の軌跡を求める第2最大値抽出部と、
前記第2最大値抽出部により求めた前記関節毎の座標の軌跡に対し離散ウェーブレット変換を行うことで周波数成分を求め、前記周波数成分から前記所定の高周波成分を除去し、前記所定の高周波成分が除去された周波数成分に対し離散ウェーブレット逆変換を行うことで、前記ノイズ除去後の関節毎の座標の軌跡を求めるウェーブレット解析部と、
前記ウェーブレット解析部により求めた前記ノイズ除去後の関節毎の座標の軌跡を、ガウス分布に従って前記ノイズ除去後の時系列の2次元ヒートマップに変換するガウス分布変換部と、を備えたことを特徴とする姿勢推定装置。
【請求項3】
請求項2に記載の姿勢推定装置において、
前記ウェーブレット解析部は、
前記関節毎の座標の軌跡からx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量に対し離散ウェーブレット変換を行うことでx軸方向の周波数成分及びy軸方向の周波数成分を求め、
前記x軸方向の周波数成分及び前記y軸方向の周波数成分から前記所定の高周波成分を除去し、
前記高周波成分が除去されたx軸方向の周波数成分及びy軸方向の周波数成分に対し離散ウェーブレット逆変換を行うことでx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量から前記ノイズ除去後の関節毎の座標の軌跡を求める、ことを特徴とする姿勢推定装置。
【請求項4】
請求項1から3までのいずれか一項に記載の姿勢推定装置において、
前記モデルは、
前記時系列の2次元ヒートマップ及び前記ノイズ除去後の時系列の2次元ヒートマップについて、予め設定された重み係数を用いて加重平均を算出することで、合成後の時系列の2次元ヒートマップを求める加重平均部、及び、
前記加重平均部により求めた前記合成後の時系列の2次元ヒートマップについて、時系列方向に畳み込みを行うことで、前記新たな時系列の2次元ヒートマップを推定する3D畳み込みネットワークからなる、ことを特徴とする姿勢推定装置。
【請求項5】
動画に含まれる被写体の姿勢を推定するためのモデルを学習する学習装置において、
学習用動画を入力し、前記学習用動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部と、
前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体の関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部と、
前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ、前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップ、及び前記時系列の2次元ヒートマップの正解データを学習データとして、前記モデルを学習する学習部と、
を備えたことを特徴とする学習装置。
【請求項6】
請求項5に記載の学習装置において、
前記ノイズ除去部は、
前記時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記関節毎の座標の軌跡を求める最大値抽出部と、
前記最大値抽出部により求めた前記関節毎の座標の軌跡に対し離散ウェーブレット変換を行うことで周波数成分を求め、前記周波数成分から前記所定の高周波成分を除去し、前記所定の高周波成分が除去された周波数成分に対し離散ウェーブレット逆変換を行うことで、前記ノイズ除去後の関節毎の座標の軌跡を求めるウェーブレット解析部と、
前記ウェーブレット解析部により求めた前記ノイズ除去後の関節毎の座標の軌跡を、ガウス分布に従って前記ノイズ除去後の時系列の2次元ヒートマップに変換するガウス分布変換部と、を備えたことを特徴とする学習装置。
【請求項7】
請求項6に記載の学習装置において、
前記ウェーブレット解析部は、
前記関節毎の座標の軌跡からx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量に対し離散ウェーブレット変換を行うことでx軸方向の周波数成分及びy軸方向の周波数成分を求め、
前記x軸方向の周波数成分及び前記y軸方向の周波数成分から前記所定の高周波成分を除去し、
前記高周波成分が除去されたx軸方向の周波数成分及びy軸方向の周波数成分に対し離散ウェーブレット逆変換を行うことでx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量から前記ノイズ除去後の関節毎の座標の軌跡を求める、ことを特徴とする学習装置。
【請求項8】
請求項5から7までのいずれか一項に記載の学習装置において、
前記モデルは、
前記時系列の2次元ヒートマップ及び前記ノイズ除去後の時系列の2次元ヒートマップについて、予め設定された重み係数を用いて加重平均を算出することで、合成後の時系列の2次元ヒートマップを求める加重平均部、及び、
前記加重平均部により求めた前記合成後の時系列の2次元ヒートマップについて、時系列方向に畳み込みを行うことで、前記新たな時系列の2次元ヒートマップを推定する3D畳み込みネットワークからなる、ことを特徴とする学習装置。
【請求項9】
動画に含まれる被写体の姿勢を推定する姿勢推定装置を構成するコンピュータを、
前記動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部、及び、
前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体のモーションを平滑化した関節毎の位置を時系列の2次元骨格情報として求めるモーション平滑化部として機能させるためのプログラムであって、
前記モーション平滑化部は、
前記時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部と、
予め学習されたモデルを用いて、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ及び前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する推定部と、
前記推定部により推定された前記新たな時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記時系列の2次元骨格情報を求める第1最大値抽出部と、を備えたことを特徴とするプログラム。
【請求項10】
動画に含まれる被写体の姿勢を推定するためのモデルを学習する学習装置を構成するコンピュータを、
学習用動画を入力し、前記学習用動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部、
前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体の関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部、及び、
前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ、前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップ、及び前記時系列の2次元ヒートマップの正解データを学習データとして、前記モデルを学習する学習部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人物等の被写体の姿勢を推定する姿勢推定装置、被写体の姿勢を推定するためのモデルを学習する学習装置、及びこれらのプログラムに関する。
【背景技術】
【0002】
従来、人物である被写体を撮像した2次元動画像から、機械学習されたモデルを用いて人物の3次元骨格情報を推定する姿勢推定技術が知られている。
【0003】
この姿勢推定技術として、例えば、複数のRGBカメラを用いて異なる視点から人物を撮像した映像を入力し、当該映像に基づいて、関節の3次元座標を推定する手法が提案されている(例えば特許文献1,2を参照)。また、近年の深層学習による画像認識の精度向上により、単眼のRGBカメラを用いた姿勢推定手法も提案されている(例えば特許文献3及び非特許文献1,2を参照)。
【0004】
これらの手法は、動画から関節の3次元座標を直接推定するのではなく、動画をフレーム毎に分割し、各フレームの画像領域における関節の2次元座標を推定した後、これらを時系列データとして入力し、関節の3次元座標を推定するものである。
【0005】
関節の3次元座標の情報をアノテーションした動画データは、モーションキャプチャースタジオのような限定的な環境下でのみ取得することができる。このため、動画から関節の3次元座標を直接推定しないのは、このような環境を整えるのが困難だからである。また、このような環境では、動画背景のバリエーションに乏しく、人物に光学式マーカを装着する必要がある等、このような環境で取得した動画データを学習データとして用いる場合に、機械学習のモデルの汎化性能が低下してしまうからである。
【0006】
このような欠点を補うため、モデルを用いた関節の3次元座標を推定する処理の前に、モデルを用いた関節の2次元座標を推定する処理を行うことで、機械学習のモデルの汎化性能を確保している。
【0007】
図14は、従来の姿勢推定装置の構成例を示すブロック図である。この姿勢推定装置100は、人物である被写体を含む動画をフレーム毎の複数の画像に分割し、モデル111を用いて2次元姿勢を推定し、時系列の2次元骨格情報(フレーム毎の2次元骨格情報)を出力する2次元姿勢推定部101と、モデル112を用いて時系列の2次元骨格情報に基づき3次元姿勢を推定し、時系列の3次元骨格情報(フレーム毎の3次元骨格情報)を出力する3次元姿勢推定部102と、を備えている。
【0008】
2次元姿勢推定部101にて用いるモデル111は、アノテーションされた各関節の正解座標をピークとした2次元ガウス分布を学習データとして、機械学習される。2次元姿勢推定部101は、動画を分割して取得したフレーム毎のRGB画像のピクセルに対し、モデル111を用いて、各関節が存在する確率分布を関節のヒートマップとして求める(例えば非特許文献3を参照)。これにより、関節毎のヒートマップが得られる。
【0009】
そして、2次元姿勢推定部101は、ヒートマップにおける最大の確率値をもつピクセル(ピーク点)を関節の2次元座標とし、関節毎の2次元座標からなる2次元骨格情報を生成する(高精度な2次元姿勢推定手法については、例えば非特許文献4,5を参照)。2次元姿勢推定部101は、時系列の2次元骨格情報を出力する。
【0010】
図15は、
図14に示した姿勢推定装置100に備えた2次元姿勢推定部101の処理例を示すフローチャートである。2次元姿勢推定部101は、人物である被写体を含む動画を入力し(ステップS1501)、動画をフレーム毎の複数の画像に分割する(ステップS1502)。
【0011】
2次元姿勢推定部101は、画像毎に、後述するステップS1504,S1505,S1506の処理を行い(ステップS1503,S1507)、当該画像(フレーム)の2次元骨格情報を生成する。
【0012】
具体的には、2次元姿勢推定部101は、モデル111を用いて、当該画像に基づき、人物の姿勢を表す関節毎(関節1,2,・・・,N)の位置の確率分布をヒートマップとして推定する(ステップS1504-1,S1504-2,・・・,S1504-N)。
【0013】
そして、2次元姿勢推定部101は、関節のヒートマップ毎に、確率が最大値の位置(関節座標1,2,・・・,N)を抽出する(ステップS1505-1,S1505-2,・・・,S1505-N)。
【0014】
そして、2次元姿勢推定部101は、当該画像について、関節座標1,2,・・・,Nの情報を、関節毎の2次元座標からなる1フレームの2次元骨格情報として生成する(ステップS1506)。
【0015】
2次元姿勢推定部101は、ステップS1503,・・・,S1507により、画像毎に2次元骨格情報を生成した後、全フレームの2次元骨格情報(時系列の2次元骨格情報)を3次元姿勢推定部102に出力する(ステップS1508)。
【0016】
図14に戻って、3次元姿勢推定部102は、2次元姿勢推定部101から時系列の2次元骨格情報を入力し、モデル112を用いて、2次元骨格情報に基づき3次元骨格情報を推定し、時系列の3次元骨格情報を出力する。
【0017】
3次元姿勢推定部102のモデル112は、2次元骨格情報を用いて機械学習される。3次元姿勢推定部102は、機械学習されたモデル112を用いることで、多様な動画に対して精度の高い3次元の姿勢を推定することができる。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開2020-42476号公報
【特許文献2】特開2021-105887号公報
【特許文献3】特開2022-18333号公報
【非特許文献】
【0019】
【非特許文献1】K. Gong, J. Zhang, and J. Feng. PoseAug,“A Differentiable Pose Augmentation Framework for 3D Human Pose Estimation”, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021, pp. 8575-8584.
【非特許文献2】Y. Cai, L. Ge, J. Liu, J. Cai, T. Cham, J. Yuan, and N. Thalmann,“Exploiting Spatial-Temporal Relationships for 3D Pose Estimation via Graph Convolutional Networks”, IEEE/CVF International Conference on Computer Vision (ICCV), 2019, pp. 2272-2281.
【非特許文献3】V. Ramakrishna, D. Munoz, M Hebert, J. Bagnell, and Y. Sheikh,“Pose Machines: Articulated Pose Estimation via Inference Machines”, European Conference on Computer Vision (ECCV), 2014, pp. 33-47.
【非特許文献4】K. Sun, B. Xiao, D. Liu, and J. Wang, “Deep High-Resolution Representation Learning for Human Pose Estimation”, IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2019, pp. 5693-5703.
【非特許文献5】Y. Chen, Z. Wang, Y. Peng, Z. Zhang, G. Yu, and J. Sun,“Cascaded Pyramid Network for Multi-Person Pose Estimation”, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018, pp. 7103-7112.
【発明の概要】
【発明が解決しようとする課題】
【0020】
従来の姿勢推定装置100に備えた2次元姿勢推定部101による2次元姿勢推定処理は、基本的に画像1枚に対して2次元骨格情報を推定するものであり、時系列の画像である動画に対して2次元骨格情報を推定するものではない。つまり、2次元姿勢推定処理において、動画から分割された各フレームの画像は時系列データとして扱われることなく、2次元骨格情報が推定される。
【0021】
また、各関節のヒートマップの確率分布は、最大値及びこれに近い値がなだらかに密集した分布(ピーク周辺で平坦な分布)となることが多い。例えば学習データセットにない画像、モーションブラーがかかった画像については、精度の高いヒートマップを推定することが困難であり、結果としたこのような分布になる可能性が高い。
【0022】
このため、画像1枚に対する2次元骨格情報自体を見ると、正解データと近い関節位置を推定することができる。しかし、2次元姿勢推定部101により生成された2次元骨格情報を時系列データの関節の軌跡として見ると、人間の動きとして不自然な微小なブレである座標揺らぎ(モーションジッタ)が発生する。
【0023】
このモーションジッタが存在する状態で、2次元骨格情報が3次元姿勢推定部102に入力され最終的な3次元骨格情報が生成されると、3次元骨格情報にモーションジッタが残ってしまう。また、時系列の2次元骨格情報に含まれる意図しないモーションジッタが、3次元骨格情報に悪影響を及ぼすことがある。例えば時系列の2次元骨格情報に含まれるモーションジッタを、深さ方向の動きであると誤認識する可能性があり、関節が深さ方向に急激に移動する3次元骨格情報が生成されることがあり得る。
【0024】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、動画に含まれる被写体の姿勢を推定する際に、2次元骨格情報からモーションジッタを除去し、被写体の自然な動きを実現可能な姿勢推定装置、学習装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0025】
前記課題を解決するために、請求項1の姿勢推定装置は、動画に含まれる被写体の姿勢を推定する姿勢推定装置において、前記動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部と、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体のモーションを平滑化した関節毎の位置を時系列の2次元骨格情報として求めるモーション平滑化部と、を備え、前記モーション平滑化部が、前記時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部と、予め学習されたモデルを用いて、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ及び前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する推定部と、前記推定部により推定された前記新たな時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記時系列の2次元骨格情報を求める第1最大値抽出部と、を備えたことを特徴とする。
【0026】
また、請求項2の姿勢推定装置は、請求項1に記載の姿勢推定装置において、前記ノイズ除去部が、前記時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記関節毎の座標の軌跡を求める第2最大値抽出部と、前記第2最大値抽出部により求めた前記関節毎の座標の軌跡に対し離散ウェーブレット変換を行うことで周波数成分を求め、前記周波数成分から前記所定の高周波成分を除去し、前記所定の高周波成分が除去された周波数成分に対し離散ウェーブレット逆変換を行うことで、前記ノイズ除去後の関節毎の座標の軌跡を求めるウェーブレット解析部と、前記ウェーブレット解析部により求めた前記ノイズ除去後の関節毎の座標の軌跡を、ガウス分布に従って前記ノイズ除去後の時系列の2次元ヒートマップに変換するガウス分布変換部と、を備えたことを特徴とする。
【0027】
また、請求項3の姿勢推定装置は、請求項2に記載の姿勢推定装置において、前記ウェーブレット解析部が、前記関節毎の座標の軌跡からx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量に対し離散ウェーブレット変換を行うことでx軸方向の周波数成分及びy軸方向の周波数成分を求め、前記x軸方向の周波数成分及び前記y軸方向の周波数成分から前記所定の高周波成分を除去し、前記高周波成分が除去されたx軸方向の周波数成分及びy軸方向の周波数成分に対し離散ウェーブレット逆変換を行うことでx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量から前記ノイズ除去後の関節毎の座標の軌跡を求める、ことを特徴とする。
【0028】
また、請求項4の姿勢推定装置は、請求項1から3までのいずれか一項に記載の姿勢推定装置において、前記モデルが、前記時系列の2次元ヒートマップ及び前記ノイズ除去後の時系列の2次元ヒートマップについて、予め設定された重み係数を用いて加重平均を算出することで、合成後の時系列の2次元ヒートマップを求める加重平均部、及び、前記加重平均部により求めた前記合成後の時系列の2次元ヒートマップについて、時系列方向に畳み込みを行うことで、前記新たな時系列の2次元ヒートマップを推定する3D畳み込みネットワークからなる、ことを特徴とする。
【0029】
さらに、請求項5の学習装置は、動画に含まれる被写体の姿勢を推定するためのモデルを学習する学習装置において、学習用動画を入力し、前記学習用動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部と、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体の関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部と、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ、前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップ、及び前記時系列の2次元ヒートマップの正解データを学習データとして、前記モデルを学習する学習部と、を備えたことを特徴とする。
【0030】
また、請求項6の学習装置は、請求項5に記載の学習装置において、前記ノイズ除去部が、前記時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記関節毎の座標の軌跡を求める最大値抽出部と、前記最大値抽出部により求めた前記関節毎の座標の軌跡に対し離散ウェーブレット変換を行うことで周波数成分を求め、前記周波数成分から前記所定の高周波成分を除去し、前記所定の高周波成分が除去された周波数成分に対し離散ウェーブレット逆変換を行うことで、前記ノイズ除去後の関節毎の座標の軌跡を求めるウェーブレット解析部と、前記ウェーブレット解析部により求めた前記ノイズ除去後の関節毎の座標の軌跡を、ガウス分布に従って前記ノイズ除去後の時系列の2次元ヒートマップに変換するガウス分布変換部と、を備えたことを特徴とする。
【0031】
また、請求項7の学習装置は、請求項6に記載の学習装置において、前記ウェーブレット解析部が、前記関節毎の座標の軌跡からx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量に対し離散ウェーブレット変換を行うことでx軸方向の周波数成分及びy軸方向の周波数成分を求め、前記x軸方向の周波数成分及び前記y軸方向の周波数成分から前記所定の高周波成分を除去し、前記高周波成分が除去されたx軸方向の周波数成分及びy軸方向の周波数成分に対し離散ウェーブレット逆変換を行うことでx軸方向の変位量及びy軸方向の変位量を求め、前記x軸方向の変位量及び前記y軸方向の変位量から前記ノイズ除去後の関節毎の座標の軌跡を求める、ことを特徴とする。
【0032】
また、請求項8の学習装置は、請求項5から7までのいずれか一項に記載の学習装置において、前記モデルが、前記時系列の2次元ヒートマップ及び前記ノイズ除去後の時系列の2次元ヒートマップについて、予め設定された重み係数を用いて加重平均を算出することで、合成後の時系列の2次元ヒートマップを求める加重平均部、及び、前記加重平均部により求めた前記合成後の時系列の2次元ヒートマップについて、時系列方向に畳み込みを行うことで、前記新たな時系列の2次元ヒートマップを推定する3D畳み込みネットワークからなる、ことを特徴とする。
【0033】
さらに、請求項9のプログラムは、動画に含まれる被写体の姿勢を推定する姿勢推定装置を構成するコンピュータを、前記動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部、及び、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体のモーションを平滑化した関節毎の位置を時系列の2次元骨格情報として求めるモーション平滑化部として機能させるためのプログラムであって、前記モーション平滑化部が、前記時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部と、予め学習されたモデルを用いて、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ及び前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する推定部と、前記推定部により推定された前記新たな時系列の2次元ヒートマップのそれぞれから確率が最大値の位置を抽出することで、前記時系列の2次元骨格情報を求める第1最大値抽出部と、を備えたことを特徴とする。
【0034】
また、請求項10のプログラムは、動画に含まれる被写体の姿勢を推定するためのモデルを学習する学習装置を構成するコンピュータを、学習用動画を入力し、前記学習用動画をフレーム毎の複数の画像に分割し、前記複数の画像のそれぞれについて、前記被写体の姿勢を表す関節毎の位置の確率分布を2次元ヒートマップとして推定することで、時系列の2次元ヒートマップを求める2次元姿勢推定部、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップから、前記被写体の関節毎の座標の軌跡を求め、前記関節毎の座標の軌跡に対してウェーブレット解析により所定の高周波成分を除去することで、ノイズ除去後の関節毎の座標の軌跡を求め、前記ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求めるノイズ除去部、及び、前記2次元姿勢推定部により求めた前記時系列の2次元ヒートマップ、前記ノイズ除去部により求めた前記ノイズ除去後の時系列の2次元ヒートマップ、及び前記時系列の2次元ヒートマップの正解データを学習データとして、前記モデルを学習する学習部として機能させることを特徴とする。
【発明の効果】
【0035】
以上のように、本発明によれば、動画に含まれる被写体の姿勢を推定する際に、2次元骨格情報からモーションジッタを除去することができ、被写体の自然な動きを実現することができる。
【図面の簡単な説明】
【0036】
【
図1】本発明の実施形態による姿勢推定装置の構成例を示すブロック図である。
【
図2】姿勢推定装置の処理例を示すフローチャートである。
【
図3】モーション平滑化部の構成例を示すブロック図である。
【
図4】ウェーブレット解析部の処理例を示すフローチャートである。
【
図6】(1)は、x軸方向の変位例を示す図である。(2)は、y軸方向の変位例を示す図である。
【
図7】(1)は、ノイズ除去後のx軸方向の変位例を示す図である。(2)は、ノイズ除去後のy軸方向の変位例を示す図である。
【
図8】ノイズ除去後の左肩の関節座標の軌跡例を示す図である。
【
図9】モデルを用いた推定部の処理の概略(前後Tフレームを用いる場合)を説明するブロック図である。
【
図10】本発明の実施形態による学習装置の構成例を示すブロック図である。
【
図11】学習装置の処理例を示すフローチャートである。
【
図13】学習部の処理例を示すフローチャートである。
【
図14】従来の姿勢推定装置の構成例を示すブロック図である。
【
図15】従来の姿勢推定装置に備えた2次元姿勢推定部の処理例を示すフローチャートである。
【発明を実施するための形態】
【0037】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔姿勢推定装置〕
まず、本発明の実施形態による姿勢推定装置について説明する。
図1は、本発明の実施形態による姿勢推定装置の構成例を示すブロック図であり、
図2は、
図1に示す姿勢推定装置の処理例を示すフローチャートである。
【0038】
この姿勢推定装置1は、2次元姿勢推定部101’、モーション平滑化部10及び3次元姿勢推定部102を備えている。2次元姿勢推定部101’はモデル111を備え、モーション平滑化部10はモデル30を備え、3次元姿勢推定部102はモデル112を備えている。
【0039】
2次元姿勢推定部101’は、人物である被写体を含む動画を入力し、動画をフレーム毎の複数の画像に分割する(ステップS201)。そして、2次元姿勢推定部101’は、予め学習されたモデル111を用いて、画像に基づき2次元ヒートマップを推定する(ステップS202)。これにより、モデル111を用いて、フレーム毎(画像毎)に、人物の姿勢を表す関節毎の位置の確率分布を表した2次元ヒートマップが取得される。
【0040】
2次元姿勢推定部101’は、フレーム毎の2次元ヒートマップを、時系列の2次元ヒートマップとしてモーション平滑化部10に出力する。
【0041】
モーション平滑化部10は、2次元姿勢推定部101’から時系列の2次元ヒートマップを入力し、予め学習されたモデル30を用いて、時系列の2次元ヒートマップから、人物のモーションを平滑化した関節毎の位置を時系列の2次元骨格情報として求める。これにより、モーションジッタが除去された時系列の(フレーム毎の)2次元骨格情報が得られる。モデル30には、後述する学習装置2により学習が行われたときの最適なパラメータが設定される。
【0042】
具体的には、モーション平滑化部10は、時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、関節毎の座標の軌跡に対するウェーブレット解析により、高周波成分であるモーションジッタのノイズを除去する(ステップS203)。
【0043】
モーション平滑化部10は、ノイズ除去後の関節毎の座標の軌跡からノイズ除去後の時系列の2次元ヒートマップを求め、モデル30を用いて、当該モーション平滑化部10が入力した時系列の2次元ヒートマップ及びノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する(ステップS204)。
【0044】
モーション平滑化部10は、新たな時系列の2次元ヒートマップから、モーションジッタが除去された時系列の2次元骨格情報を求め(ステップS205)、時系列の2次元骨格情報を3次元姿勢推定部102に出力する。モーション平滑化部10の詳細については後述する。
【0045】
3次元姿勢推定部102は、モーション平滑化部10から時系列の2次元骨格情報を入力し、モデル112を用いて、2次元骨格情報に基づき3次元骨格情報を推定する(ステップS206)。そして、3次元姿勢推定部102は、時系列の3次元骨格情報を出力する(ステップS207)。
【0046】
(モーション平滑化部10)
次に、
図1に示したモーション平滑化部10について詳細に説明する。
図3は、モーション平滑化部10の構成例を示すブロック図である。このモーション平滑化部10は、ノイズ除去部11、推定部15及び最大値抽出部16を備えている。ノイズ除去部11は、最大値抽出部12、ウェーブレット解析部13及びガウス分布変換部14を備えており、推定部15は、モデル30を備えている。
【0047】
ノイズ除去部11の最大値抽出部12は、2次元姿勢推定部101’から時系列の2次元ヒートマップを入力し、時系列の2次元ヒートマップのそれぞれ(フレーム毎の2次元ヒートマップ)から確率が最大値の位置を抽出する。これにより、関節毎に確率が最大値の位置、すなわち関節毎の座標の軌跡が得られる。
【0048】
最大値抽出部12は、時系列の2次元ヒートマップのそれぞれから抽出された関節毎の位置を、関節毎の座標の軌跡としてウェーブレット解析部13に出力する。
【0049】
ウェーブレット解析部13は、最大値抽出部12から関節毎の座標の軌跡を入力する。そして、ウェーブレット解析部13は、関節毎の座標の軌跡からx,y軸方向の変位量を算出し、これらの変位量に対するウェーブレット解析により、高周波成分であるモーションジッタのノイズを除去する。これにより、平滑化された関節毎の座標の軌跡が得られる。
【0050】
ウェーブレット解析部13は、ノイズ除去後の関節毎の座標の軌跡をガウス分布変換部14に出力する。
【0051】
図4は、ウェーブレット解析部13の処理例を示すフローチャートである。ウェーブレット解析部13は、最大値抽出部12から関節毎の座標の軌跡を入力する(ステップS401)。
【0052】
図5は、左肩の関節座標の軌跡例を示す図である。横軸はx座標(x軸の座標)、縦軸はy座標(y軸の座標)である。実線は、ウェーブレット解析部13が最大値抽出部12から入力した関節毎の座標の軌跡のうち、左肩の関節の座標の軌跡を示し、点線は、同じ関節の座標の正解データの軌跡を示している。
【0053】
図5に示すように、両軌跡は大まかには同じであるが、実線で示す軌跡には人間的に不自然なブレが含まれており、ウェーブレット解析部13によりブレがカットされることとなる。ここでの人間的に不自然なブレは、関節の上下左右の位置のブレ及び急な速度変化であり、その変位量を求めることにより、ブレをノイズとして観測することができる。
【0054】
図4に戻って、ウェーブレット解析部13は、ステップS401の後、関節毎の座標の軌跡から、関節毎に、x軸方向の関節の変位量を求めると共に、y軸方向の関節の変位量を求める(ステップS402-1,S402-2)。
【0055】
具体的には、ウェーブレット解析部13は、以下の式により、フレーム番号n(nは0≦n≦Nを満たす整数)のフレームにおけるx,y軸方向の関節の変位量Dx[n],Dy[n]を求める。x,yは各フレームの関節座標を示す。
[数1]
Dx[0]=(Dx[1]+Dx[2])/2
Dx[n]=x[n]-x[n-1] (n≧1) ・・・(1)
[数2]
Dy[0]=(Dy[1]+Dy[2])/2
Dy[n]=y[n]-y[n-1] (n≧1) ・・・(2)
【0056】
図6(1)は、x軸方向の変位例を示す図であり、
図6(2)は、y軸方向の変位例を示す図であり、
図5に示した左肩の関節座標の軌跡例に対応している。
図6(1)において、横軸はフレーム番号、縦軸はx軸方向の変位量であり、
図6(2)において、横軸はフレーム番号、縦軸はy軸方向の変位量である。実線は、ウェーブレット解析部13がステップS402-1,S402-2にて算出した変位量を示し、点線は、正解データの変位量を示している。
【0057】
図6(1)(2)から、x,y軸方向の変位量が上下に鋭角に波打っているため、左肩の関節座標の軌跡には高周波成分が含まれることがわかる。
【0058】
図4に戻って、ウェーブレット解析部13は、ステップS402-1,S402-2の後、関節毎に、x軸方向の関節の変位量に対して離散ウェーブレット変換を行うことで、x軸方向の周波数成分を求めると共に、y軸方向の関節の変位量に対して離散ウェーブレット変換を行うことで、y軸方向の周波数成分を求める(ステップS403-1,S403-2)。
【0059】
ウェーブレット解析部13は、関節毎に、x軸方向の周波数成分のうち所定の高周波成分を0に設定することで、x軸方向の周波数成分から高周波成分を除去すると共に、y軸方向の周波数成分のうち所定の高周波成分を0に設定することで、y軸方向の周波数成分から高周波成分を除去する(ステップS404-1,S404-2)。所定の高周波成分は、例えばユーザにより予め設定される成分であり、除去される高周波成分は、モーションジッタのノイズに相当する。
【0060】
ウェーブレット解析部13は、関節毎に、x軸方向の高周波成分除去後の周波数成分に対して離散ウェーブレット逆変換を行うことで、x軸方向の変位量を求めると共に、y軸方向の高周波成分除去後の周波数成分に対して離散ウェーブレット逆変換を行うことで、y軸方向の変位量を求める(ステップS405-1,S405-2)。
【0061】
図7(1)は、ノイズ除去後のx軸方向の変位例を示す図であり、
図7(2)は、ノイズ除去後のy軸方向の変位例を示す図であり、
図5に示した左肩の関節座標の軌跡例及び
図6(1)(2)に示したx,y軸方向の変位例に対応している。
図7(1)において、横軸はフレーム番号、縦軸はx軸方向の変位量であり、
図7(2)において、横軸はフレーム番号、縦軸はy軸方向の変位量である。
【0062】
aは、ウェーブレット解析部13がステップS402-1,S402-2にて算出した変位量を示しており、
図6(1)(2)に示した実線と同じである。bは、ウェーブレット解析部13がウェーブレット解析を行いステップS405-1,S405-2にて算出した変位量、すなわちノイズ除去後の変位量を示している。より詳細には、bは、db6(消失モーメントの数を6としたドブシーウェーブレット(Daubechies wavelet)のマザーウェーブレット)を使用し、level(レベル)=2の高周波成分を除去したときの変位量を示している。
【0063】
このレベルは、動画のフレームレート及び除去したい高周波成分に応じて、予め設定される。
図7(1)(2)の例は、動画のフレームレートが30Hzの場合の変位量であり、本発明者による実験では、フレームレート30Hzの動画に対してはレベルを2に設定することにより、モーションジッタを適切に除去することができるという効果を得ている。
【0064】
図7(1)(2)から、bに示すノイズ除去後の変位量は、
図6(1)(2)の点線に示した正解データの変位量に近いことがわかる。つまり、ウェーブレット解析部13により、正解データに近い変位量を得ることができる。
【0065】
図4に戻って、ウェーブレット解析部13は、ステップS405-1,S405-2の後、関節毎に、x軸方向の変位量からx軸方向の座標を求めると共に、y軸方向の変位量からy軸方向の座標を求める(ステップS406-1,S406-2)。そして、ウェーブレット解析部13は、x,y軸方向の座標を、ノイズ除去後の関節毎の座標の軌跡としてガウス分布変換部14に出力する(ステップS407)。
【0066】
図8は、ノイズ除去後の左肩の関節座標の軌跡例を示す図であり、
図5に示した左肩の関節座標の軌跡例、
図6(1)(2)に示したx,y軸方向の変位例及び
図7(1)(2)に示したノイズ除去後のx,y軸方向の変位例に対応している。横軸はx座標(x軸の座標)、縦軸はy座標(y軸の座標)である。
【0067】
aは、ウェーブレット解析部13が最大値抽出部12から入力した軌跡を示しており、
図5に示した実線と同じである。bは、ウェーブレット解析部13がウェーブレット解析を行いステップS407にて出力したノイズ除去後の軌跡を示している。
【0068】
図8から、bに示すノイズ除去後の軌跡は、
図5の点線に示した正解データの軌跡に近いことがわかる。つまり、ウェーブレット解析部13により、正解データに近い軌跡を得ることができる。
【0069】
このように、ウェーブレット解析部13により、2次元姿勢推定部101’から入力した時系列の2次元ヒートマップに対応する関節毎の座標の軌跡から、モーションジッタのノイズを除去することができる。そして、ウェーブレット解析部13から出力されたノイズ除去後の関節毎の座標の軌跡は、後段のガウス分布変換部14によりノイズ除去後の時系列の2次元ヒートマップに変換される。また、ノイズ除去後の時系列の2次元ヒートマップは、後段の推定部15によりモデル30を用いた推定処理に使用される。
【0070】
ここでのモーションジッタにおける不自然なブレは、関節の動きにおける上下左右の位置のブレ及び急な速度変化に起因するものとし、前述のとおり、関節毎の座標の軌跡からx,y軸方向の変位量を求め、高周波成分のノイズであるモーションジッタが除去される。
【0071】
図3に戻って、ガウス分布変換部14は、ウェーブレット解析部13からノイズ除去後の関節毎の座標の軌跡を入力する。そして、ガウス分布変換部14は、ノイズ除去後の関節毎の座標の軌跡を、ガウス分布に従ってノイズ除去後の時系列の2次元ヒートマップに変換する。ガウス分布変換部14は、ノイズ除去後の時系列の2次元ヒートマップを推定部15に出力する。
【0072】
推定部15は、2次元姿勢推定部101’から時系列の2次元ヒートマップを入力すると共に、ガウス分布変換部14からノイズ除去後の時系列の2次元ヒートマップを入力する。
【0073】
推定部15は、予め学習されたモデル30を用いて、時系列の2次元ヒートマップ及びノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する。そして、推定部15は、推定後の時系列の2次元ヒートマップを最大値抽出部16に出力する。
【0074】
図9は、モデル30を用いた推定部15の処理の概略(前後Tフレームを用いる場合)を説明するブロック図であり、推定部15がモデル30を用いて動作する際のブロック図を示している。この推定部15(モデル30)は、加重平均部17、エンコーダ18及びデコーダ19を備えている。
【0075】
推定部15は、2次元姿勢推定部101’から入力したフレームtを中心としたフレーム(t-T)からフレーム(t+T)までの2T+1個の2次元ヒートマップと、ガウス分布変換部14から入力したフレームtを中心としたフレーム(t-T)からフレーム(t+T)までの2T+1個のノイズ除去後の2次元ヒートマップとを用いて、加重平均部17、エンコーダ18及びデコーダ19の処理により、新たなフレームtの2次元ヒートマップを推定する。Tは1以上の整数であり、予め設定される。tはフレーム番号であり、処理対象の番号を示す。
【0076】
このような処理を時系列のフレーム毎に順番に行うことで、推定部15から推定後の時系列の2次元ヒートマップが出力される。
【0077】
推定部15の加重平均部17は、2次元姿勢推定部101’から入力したフレームtを中心としたフレーム(t-T)からフレーム(t+T)までの2次元ヒートマップと、ガウス分布変換部14から入力したフレームtを中心としたフレーム(t-T)からフレーム(t+T)までのノイズ除去後の2次元ヒートマップとの間で、フレーム毎の対応付けを行い、フレーム(t-T)からフレーム(t+T)までのフレーム毎の2次元ヒートマップの組み合わせ(2次元姿勢推定部101’からの2次元ヒートマップ及びガウス分布変換部14からのノイズ除去後の2次元ヒートマップ)を設定する。
【0078】
加重平均部17は、2次元姿勢推定部101’から入力した2次元ヒートマップに対する重み係数c1、及びガウス分布変換部14から入力したノイズ除去後の2次元ヒートマップに対する重み係数c2を保持している。これらの重み係数c1,c2は、0≦c1≦1,0≦c2≦1,c1+c2=1の条件において、予め設定されているものとする。
【0079】
加重平均部17は、フレーム(t-T)からフレーム(t+T)までのフレーム毎の2次元ヒートマップの組み合わせに対し、フレーム毎に重み係数c1,c2を用いた加重平均を算出することで、フレーム毎の合成後の2次元ヒートマップを求める。そして、加重平均部17は、2T+1個のフレーム毎の合成後の2次元ヒートマップをエンコーダ18に出力する。
【0080】
これにより、フレーム(t-T)の合成後の2次元ヒートマップ、・・・、フレームtの合成後の2次元ヒートマップ、・・・、及びフレーム(t+T)の合成後の2次元ヒートマップ、すなわち合成後の時系列の2次元ヒートマップが得られる。
【0081】
エンコーダ18は、2T+1個のフレーム毎の合成後の2次元ヒートマップを入力し、2T+1個の2次元ヒートマップに対し、後述する学習装置2によりモデル30に設定されたパラメータを用いて符号化処理を行うことで符号化データを求め、符号化データをデコーダ19に出力する。
【0082】
デコーダ19は、エンコーダ18から符号化データを入力し、符号化データに対し、後述する学習装置2によりモデル30に設定されたパラメータを用いて復号処理を行い、フレームtの合成後の2次元ヒートマップを求める。
【0083】
このように、推定部15にて、2次元姿勢推定部101’から入力した連続した2T+1個の2次元ヒートマップ、及びガウス分布変換部14から入力した連続した2T+1個のノイズ除去後の2次元ヒートマップに基づき、モデル30を用いた推定処理により、人間的に自然な動きを表現する新たな2次元ヒートマップが再構築される。
【0084】
加重平均部17により加重平均処理が行われるため、新たな2次元ヒートマップは、モーションジッタが発生し難い方向へ誘導されたマップとなる。
【0085】
また、エンコーダ18及びデコーダ19により2T+1個のフレームを考慮した2次元ヒートマップが再構築されるため、エンコーダ18及びデコーダ19は、時系列方向に畳み込みを行う3D畳み込み(Convolution)層を持つエンコーダ・デコーダモデルであるといえる。つまり、エンコーダ18及びデコーダ19により、フレームtを中心とした2T+1個のフレームに対して畳み込みが行われるため、新たな2次元ヒートマップは、正解データからの誤差が少なく、モーションジッタが少ないマップとなる。
【0086】
図3に戻って、最大値抽出部16は、推定部15から推定後の時系列の2次元ヒートマップを入力し、推定後の時系列の2次元ヒートマップのそれぞれ(フレーム毎の2次元ヒートマップ)から確率が最大値の位置を抽出する。これにより、関節毎に確率が最大値の位置、すなわち関節毎の座標の軌跡が得られる。
【0087】
最大値抽出部16は、時系列の2次元ヒートマップのそれぞれから抽出された関節毎の位置を関節毎の座標の軌跡として、関節毎の座標の軌跡からなる時系列の2次元骨格情報を生成し、時系列の2次元骨格情報を3次元姿勢推定部102に出力する。これにより、モーションジッタが除去された時系列の2次元骨格情報が得られる。
【0088】
以上のように、本発明の実施形態の姿勢推定装置1によれば、ノイズ除去部11は、2次元姿勢推定部101’により生成された時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、関節毎の座標の軌跡に対するウェーブレット解析により、高周波成分であるモーションジッタのノイズを除去し、ノイズ除去後の時系列の2次元ヒートマップを求める。
【0089】
推定部15は、モデル30を用いて、2次元姿勢推定部101’により生成された時系列の2次元ヒートマップ、及びノイズ除去部11により生成されたノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定し、モーションジッタが除去された時系列の2次元骨格情報を求める。
【0090】
モデル30は、両2次元ヒートマップに対して加重平均処理を行う加重平均部17、及び、エンコーダ18及びデコーダ19により実現される3D畳み込み層を持つエンコーダ・デコーダモデルからなる。このため、新たに推定される時系列の2次元ヒートマップは、モーションジッタが発生し難く、かつ正解データからの誤差が少ないマップとなる。
【0091】
これにより、時系列データとして見たときに人間的により自然な動きの時系列の2次元骨格情報を得ることができる。したがって、動画に含まれる被写体の姿勢を推定する際に、2次元骨格情報からモーションジッタを除去することができ、被写体の自然な動きを実現することができる。
【0092】
〔学習装置〕
次に、本発明の実施形態による学習装置について説明する。
図10は、本発明の実施形態による学習装置の構成例を示すブロック図であり、
図11は、
図10に示す学習装置の処理例を示すフローチャートである。
【0093】
この学習装置2は、2次元姿勢推定部101’、ノイズ除去部20及び学習部21を備えている。
【0094】
2次元姿勢推定部101’は、
図1に示した2次元姿勢推定部101’と同様の処理を行う。2次元姿勢推定部101’は、人物である被写体を含む学習用動画を入力し、学習用動画をフレーム毎の複数の画像に分割し(ステップS1101)、予め学習されたモデル111を用いて、画像に基づき2次元ヒートマップを推定する(ステップS1102)。
【0095】
2次元姿勢推定部101’は、フレーム毎の2次元ヒートマップを、時系列の2次元ヒートマップとしてノイズ除去部20及び学習部21に出力する。
【0096】
ノイズ除去部20は、
図3に示したノイズ除去部11と同様の構成の下で同様の処理を行う。ノイズ除去部20は、2次元姿勢推定部101’から時系列の2次元ヒートマップを入力し、時系列のフレーム毎の2次元ヒートマップから関節毎の座標の軌跡を求め、関節毎の座標の軌跡に対するウェーブレット解析により、高周波成分であるモーションジッタのノイズを除去する(ステップS1103)。
【0097】
ノイズ除去部20は、ノイズ除去後の時系列の2次元ヒートマップを学習部21に出力する。
【0098】
学習部21は、時系列の2次元ヒートマップの正解データを入力する(ステップS1104)。また、学習部21は、2次元姿勢推定部101’から時系列の2次元ヒートマップを入力すると共に、ノイズ除去部20からノイズ除去後の時系列の2次元ヒートマップを入力する。
【0099】
時系列の2次元ヒートマップの正解データは、2次元姿勢推定部101’が入力する学習用動画に対応しており、2次元姿勢推定部101’が出力する時系列の2次元ヒートマップに対する正解データである。時系列の2次元ヒートマップの正解データは、学習用動画から生成される時系列の2次元ヒートマップに対応して、予め準備されているものとする。
【0100】
学習部21は、2次元姿勢推定部101’から入力した時系列の2次元ヒートマップ、ノイズ除去部20から入力したノイズ除去後の時系列の2次元ヒートマップ、及び時系列の2次元ヒートマップの正解データを学習データとして、モデル30を学習する(ステップS1105)。
【0101】
学習部21は、モデル30の学習時に設定したパラメータを出力する(ステップS1106)。このパラメータは、
図9に示したエンコーダ18及びデコーダ19が用いるパラメータであり、
図1に示したモーション平滑化部10のモデル30に設定される。
【0102】
図12は、学習部21の構成例を示すブロック図であり、
図13は、学習部21の処理例を示すフローチャートである。
【0103】
学習部21は、推定部22、誤差算出部23及びパラメータ更新部24を備えている。推定部22はモデル30を備えており、
図3及び
図9に示した推定部15と同様である。
【0104】
推定部22は、2次元姿勢推定部101’から時系列の2次元ヒートマップを入力すると共に、ノイズ除去部20からノイズ除去後の時系列の2次元ヒートマップを入力する(ステップS1301)。
【0105】
推定部22は、モデル30を用いて、時系列の2次元ヒートマップ及びノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する(ステップS1302)。具体的には、推定部22は、
図9に示した推定部15と同様に、加重平均部17、エンコーダ18及びデコーダ19にて、新たな時系列の2次元ヒートマップを推定する。そして、推定部22は、推定後の時系列の2次元ヒートマップを誤差算出部23に出力する。
【0106】
誤差算出部23は、時系列の2次元ヒートマップの正解データを入力すると共に(ステップS1303)、推定部22から推定後の時系列の2次元ヒートマップを入力する。
【0107】
誤差算出部23は、フレーム毎に、推定後の時系列の2次元ヒートマップにおけるフレームtのデータと、これに対応する時系列の2次元ヒートマップの正解データにおけるフレームtの正解データとの間の誤差を算出する(ステップS1304)。そして、誤差算出部23は、誤差をパラメータ更新部24に出力する。例えば、誤差を算出する関数としては、MSE(平均二乗誤差)等の、誤差が大きいほど大きい値を出力する関数が用いられる。
【0108】
パラメータ更新部24は、誤差算出部23から誤差を入力し、当該誤差が小さくなるように、保持しているパラメータを更新する(ステップS1305)。そして、パラメータ更新部24は、更新したパラメータを推定部22のモデル30に設定する。ここで、パラメータ更新部24は、モデル30に設定したパラメータを保持しているものとする。
【0109】
パラメータ更新部24は、パラメータ更新の終了条件を満たすか否かを判定する(ステップS1306)。
【0110】
パラメータ更新部24は、ステップS1306において、終了条件を満たさないと判定した場合(ステップS1306:N)、ステップS1301へ移行し、ステップS1301~S1305の処理を行う。つまり、終了条件を満たすまで、ステップS1301~S1305の処理が行われる。
【0111】
一方、パラメータ更新部24は、ステップS1306において、終了条件を満たすと判定した場合(ステップS1306:Y)、ステップS1305の処理にて更新したパラメータを最適なパラメータとして出力する(ステップS1307)。パラメータ更新部24により出力された最適なパラメータは、
図1に示した姿勢推定装置1に備えたモーション平滑化部10のモデル30に設定される。
【0112】
ここで、ステップS1306における終了条件は、例えば、予め設定された回数分のパラメータ更新が行われたか否か、パラメータの更新量が予め設定された閾値よりも小さいか否かの条件等である。
【0113】
以上のように、本発明の実施形態の学習装置2によれば、ノイズ除去部20は、2次元姿勢推定部101’により生成された時系列の2次元ヒートマップから関節毎の座標の軌跡を求め、関節毎の座標の軌跡に対するウェーブレット解析により、高周波成分であるモーションジッタのノイズを除去し、ノイズ除去後の時系列の2次元ヒートマップを求める。
【0114】
学習部21は、モデル30を用いて、2次元姿勢推定部101’により生成された時系列の2次元ヒートマップ、及びノイズ除去部20により生成されたノイズ除去後の時系列の2次元ヒートマップに基づき、新たな時系列の2次元ヒートマップを推定する。
【0115】
学習部21は、推定後の時系列の2次元ヒートマップと、これに対応する時系列の2次元ヒートマップの正解データとの間の誤差を算出し、当該誤差が小さくなるように、保持しているパラメータを更新し、更新したパラメータをモデル30に設定する。そして、終了条件を満たす最適なパラメータは、
図1に示した姿勢推定装置1に備えたモーション平滑化部10のモデル30に設定される。
【0116】
このような最適なパラメータが設定されるモデル30は、前述のとおり、加重平均部17、及び、3D畳み込み層を持つエンコーダ・デコーダモデルからなる。
【0117】
これにより、モデル30を用いる姿勢推定装置1では、モーションジッタが発生し難く、かつ正解データからの誤差が少ない2次元骨格情報であって、時系列データとして見たときに人間的により自然な動きの時系列の2次元骨格情報を得ることができる。
【0118】
したがって、動画に含まれる被写体の姿勢を推定する際に、2次元骨格情報からモーションジッタを除去することができ、被写体の自然な動きを実現することができる。
【0119】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0120】
例えば前記実施形態では、被写体として人物に注目し、人物の姿勢を推定するための2次元ヒートマップ、2次元骨格情報及び3次元骨格情報を生成するようにした。本発明は、被写体を人物に限定するものではなく、人物以外の動物等にも適用がある。
【0121】
また、前記実施形態では、学習装置2の学習部21は、モデル30を学習する際に、モデル30のエンコーダ18及びデコーダ19のパラメータを更新し、これらの最適値を求めるようにした。これに対し、学習部21は、これらのパラメータに加え、モデル30の加重平均部17の重み係数c1,c2もパラメータとして更新し、エンコーダ18及びデコーダ19のパラメータに加え、加重平均部17の重み係数c1,c2の最適値を求めるようにしてもよい。この場合、重み係数c1,c2も、
図1に示した姿勢推定装置1に備えたモーション平滑化部10のモデル30に設定される。
【0122】
前記実施形態における
図1に示した姿勢推定装置1及び
図10に示した学習装置2は、例えばCGキャラクタのモーションを生成する際に利用することができる。
【0123】
尚、本発明の実施形態による姿勢推定装置1のハードウェア構成としては、通常のコンピュータを使用することができる。姿勢推定装置1は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。学習装置2についても同様である。
【0124】
姿勢推定装置1に備えた2次元姿勢推定部101’、モーション平滑化部10(ノイズ除去部11(最大値抽出部12、ウェーブレット解析部13及びガウス分布変換部14)、推定部15及び最大値抽出部16)及び3次元姿勢推定部102の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0125】
また、学習装置2に備えた2次元姿勢推定部101’、ノイズ除去部20及び学習部21(推定部22、誤差算出部23及びパラメータ更新部24)の各機能も、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0126】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0127】
1,100 姿勢推定装置
2 学習装置
10 モーション平滑化部
11,20 ノイズ除去部
12,16 最大値抽出部
13 ウェーブレット解析部
14 ガウス分布変換部
15,22 推定部
17 加重平均部
18 エンコーダ
19 デコーダ
21 学習部
23 誤差算出部
24 パラメータ更新部
30,111,112 モデル
101,101’ 2次元姿勢推定部
102 3次元姿勢推定部
c1,c2 重み係数