米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 画像生成装置及び画像生成方法
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−4732(P2007−4732A)
公開日 平成19年1月11日(2007.1.11)
出願番号 特願2005−187390(P2005−187390)
出願日 平成17年6月27日(2005.6.27)
代理人 【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
発明者 岩崎 正宏 / 吾妻 健夫 / 近藤 堅司
要約 課題
画像中に存在する関節物体が持つ形状、服装、動きなどのパラメータを反映した新たな画像を生成する画像生成装置等を提供する。

解決手段
関節物体を撮像した画像から、関節物体の特性を反映した新たな画像を生成する画像生成装置であって、関節物体を撮像した画像を取得する画像入力部101と、取得された画像中の関節物体に対して、あらかじめ保持した関節を有するモデルを当てはめることによって、関節物体の関節又は関節間部位の位置に関する第1パラメータを算出するパラメータ算出部102と、第1パラメータを用いて、関節物体の関節間部位の形状情報、第1パラメータには含まれない関節の位置及び動きに関する第2パラメータを推定するモデル変換を行うモデル変換部103と、第2パラメータを用いて、関節物体の特性を反映した新たな画像を生成する画像生成部104とを備える。
特許請求の範囲
【請求項1】
関節物体を撮像した画像から、前記関節物体の特性を反映した新たな画像を生成する画像生成装置であって、
関節物体を撮像した画像を取得する画像入力手段と、
取得された画像中の関節物体に対して、あらかじめ保持した関節を有するモデルを当てはめることによって、前記関節物体の関節又は関節間部位の位置に関する第1パラメータを算出するパラメータ算出手段と、
前記第1パラメータに基づいて前記関節物体の画像の領域分割を行うことによって、前記関節物体の関節間部位の色及びテクスチャ情報の少なくとも一つに関する第2パラメータを抽出する領域分割手段と、
前記パラメータ算出手段によって算出された第1パラメータと前記領域分割手段によって抽出された第2パラメータとを用いて、前記関節物体の特性を反映した新たな画像を生成する画像生成手段と
を備えることを特徴とする画像生成装置。
【請求項2】
前記画像生成手段は、関節物体の特性を反映した新たな画像として、関節物体の関節又は関節間部位の位置、および、前記関節物体の関節間部位の色およびテクスチャ情報を反映した画像を生成する
ことを特徴とする請求項1記載の画像生成装置。
【請求項3】
前記画像入力手段は、時間的に連続した画像を取得し、
前記パラメータ算出手段は、前記画像を用いて、前記関節物体の関節又は関節間部位の位置及び動きに関する第1パラメータを算出する
ことを特徴とする請求項1記載の画像生成装置。
【請求項4】
前記画像生成装置はさらに、
前記画像生成手段によって生成された画像と目標画像との誤差を算出することにより、前記画像を評価する画像評価手段と、
前記画像評価手段による評価結果に基づいて、前記第1パラメータを変更するパラメータ変更手段とを備え、
前記領域分割手段は、前記パラメータ変更手段で変更された第1パラメータに基づいて前記領域分割を行い、
前記画像生成手段は、前記パラメータ変更手段によって変更された第1パラメータと前記領域分割手段によって抽出された第2パラメータとを用いて、前記画像を生成する
ことを特徴とする請求項1記載の画像生成装置。
【請求項5】
前記画像生成装置はさらに、前記第1パラメータを用いて、前記関節物体の関節間部位の形状情報、前記第1パラメータには含まれない関節の位置及び動きに関する第3パラメータを推定するモデル変換手段を備え、
前記画像生成手段は、前記第1パラメータと前記第2パラメータと前記第3パラメータとを用いて、前記関節物体の特性を反映した新たな画像を生成する
ことを特徴とする請求項1記載の画像生成装置。
【請求項6】
前記画像生成手段は、時間的に連続した画像に対して、前記第1パラメータに含まれる動き情報をもとに生成した、時間的に内挿および外挿した画像を前記新たな画像として生成する
ことを特徴とする請求項3記載の画像生成装置。
【請求項7】
前記画像生成手段は、前記関節物体を構成する各部位に異なる色またはテクスチャを貼り付けた画像を前記新たな画像として生成する
ことを特徴とする請求項1記載の画像生成装置。
【請求項8】
前記画像生成手段は、前記関節物体の姿勢又は動きとは異なる姿勢又は動きを含む関節物体の画像に、前記関節物体の関節間部位のテクスチャを貼り付けた画像を前記新たな画像として生成する
ことを特徴とする請求項1記載の画像生成装置。
【請求項9】
前記パラメータ算出手段は、前記画像に対して、関節物体の領域を抽出する関節物体領域抽出部を有し、抽出した領域に対して、前記当てはめをする
ことを特徴とする請求項1記載の画像生成装置。
【請求項10】
関節物体領域抽出部は、前記画像に対して、エッジ抽出をすることによって、前記領域を抽出する
ことを特徴とする請求項9記載の画像生成装置。
【請求項11】
前記画像生成装置はさらに、前記画像入力手段によって取得された画像中に存在する関節物体の動作の周期を検出する周期性検出手段を備え、
前記パラメータ算出手段、前記領域分割手段及び前記画像生成手段は、前記周期性検出手段で検出された1周期分の時系列画像ごとに、それぞれ、第1パラメータの算出、第2パラメータの抽出、及び、画像の生成をする
ことを特徴とする請求項3記載の画像生成装置。
【請求項12】
前記動きは、動きベクトル、加速度ベクトル、アフィンパラメータ及び近似曲線パラメータのいずれかによって表される
ことを特徴とする請求項3記載の画像生成装置。
【請求項13】
前記領域分割手段は、前記第1パラメータに含まれる関節位置又は関節間部位の位置情報を初期値として、前記第2パラメータを算出する
ことを特徴とする請求項1記載の画像生成装置。
【請求項14】
前記画像生成手段は、関節で接続された部位が分離しないように、関節位置を基準とした画素移動を行うことにより、前記新たな画像を生成する
ことを特徴とする請求項1記載の画像生成装置。
【請求項15】
前記モデル変換手段は、前記第1パラメータと前記第3パラメータとの相関情報をあらかじめ求めておき、その相関情報に基づいて前記第3パラメータを推定する
ことを特徴とする請求項5記載の画像生成装置。
【請求項16】
前記モデル変換手段は、前記パラメータ算出手段によって前記第1パラメータの一部が抽出不能な場合に、抽出不能なパラメータ値を推定することによって、前記第3パラメータを推定する
ことを特徴とする請求項5記載の画像生成装置。
【請求項17】
前記パラメータ算出手段は、関節物体の関節間部位の接続関係をもとに、階層的に表現した前記第1パラメータを算出し、
前記モデル変換手段は、関節物体の関節間部位の接続関係をもとに、階層的に表現した前記第3パラメータを推定する
ことを特徴とする請求項5記載の画像生成装置。
【請求項18】
関節物体を撮像した画像から、前記関節物体の特性を反映した新たな画像を生成する画像生成方法であって、
関節物体を撮像した画像を取得する画像入力ステップと、
取得された画像中の関節物体に対して、あらかじめ保持した関節を有するモデルを当てはめることによって、前記関節物体の関節又は関節間部位の位置又は動きに関する第1パラメータを算出するパラメータ算出ステップと、
前記第1パラメータに基づいて前記関節物体の画像の領域分割を行うことによって、前記関節物体の関節間部位の色及びテクスチャ情報の少なくとも一つに関する第2パラメータを抽出する領域分割ステップと、
前記パラメータ算出ステップによって算出された第1パラメータと前記領域分割ステップによって抽出された第2パラメータとを用いて、前記関節物体の特性を反映した新たな画像を生成する画像生成ステップと
を含むことを特徴とする画像生成方法。
【請求項19】
関節物体を撮像した画像から、前記関節物体の特性を反映した新たな画像を生成するためのプログラムであって、
請求項18記載の画像生成方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、画像処理によって人物や動物等を含む関節物体の画像を生成する画像生成装置及びその方法に関する。
【背景技術】
【0002】
従来の関節物体の画像生成技術は、コンピュータグラフィクスの分野において多く実現がなされている。これらの多くは、モーションキャプチャシステムを用いて、実際の人物の形状や動きデータを取得し、その動きデータに基づいてアニメーション生成を行っている。これによって、関節物体のさまざまな姿勢や動きを画像として出力することが可能である。また、モーションキャプチャシステムを使わなくともアニメーション生成可能な方法も存在する。例えば、特許文献1には、動力学を用いて人物の筋肉動作を最小とする動きを推定することによって、人体動作のアニメーションを生成する方法が開示されている。
【0003】
また、動作解析等を目的として、画像中に存在する関節物体に対して、関節モデルを当てはめる画像解析方法が開示されている。例えば、特許文献2では、画像中に存在する対象物に対して、その対象物が持つ部位それぞれについて構成したモデルを当てはめ、当てはめた結果、対象物をモデルパラメータとして保持するものである。また、非特許文献1には、10個の身体部位で構成した人物モデルを用いて、画像中に存在する人物に対して円柱の組合せで構成した人物モデルを当てはめ、画像中に存在する人物が動いた場合にも、その身体部位をトラッキングすることができる技術が提案されている。
【特許文献1】特許第3355113号公報
【特許文献2】特開平8−214289号公報
【非特許文献1】Leonid Sigal,Sidharth Bhatia、Stefan Roth、 Michael J.Black、Michael Isard、“Tracking Loose−Limbed People”、2004 IEEE ComputerSociety Conference on ComputerVision and Pattern Recognition,Vol.1,pp421−428、2004
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術に代表される画像生成方法や画像解析方法を用いても、画像中に存在する関節物体が持つ身体部位形状や服装などのパラメータを反映した正確な画像を生成することができなという問題がある。
【0005】
特許文献1に代表される画像生成方法では、関節物体の動きに関するパラメータをあらかじめ算出しているために、関節物体の動きパラメータからアニメーション生成が可能である。ところが、画像中に存在する関節物体から服装や形状に関するパラメータを得ることは行っていない。そのため、実際の画像中に存在する関節物体の形状、色、動きを反映したアニメーションを生成することができない。
【0006】
また、特許文献2や非特許文献1に代表される画像解析方法では、円柱や直線等で簡略化した人物モデルを当てはめるのみである。そのため、画像中に存在する関節物体の関節位置等の大まかなパラメータは取得できるものの、より詳細な動き、服装、細かな形状に関する情報は取得することが難しい。例えば、非特許文献1では、10個の部位位置を同定する方法が提案されているが、アニメーション生成等の画像生成を行うためには、画像中に存在する関節物体に関する、より詳細な動き、服装、細かな形状などの情報が必要となる。ところが、現状の技術水準では、モデルの部位数が増えれば増えるほど、モデルの当てはめが困難となり、画像生成に十分な詳細モデルを画像に対して正確に当てはめることは難しい。さらに、モデルの部位数が増えれば増えるほど、計算すべきパラメータが増加するため、計算量も大きくなる。また、オクルージョン等によって、関節や部位が隠されている場合には、隠された関節や部位に関する位置や動きの情報を画像から得ることが難しいといった問題もある。なお、オクルージョンとは、移動物体の一部が物陰に隠れてしまい、撮影できるピクセル数が変化することである。
【0007】
そこで、本発明は、このような課題を解決するものであり、画像中に存在する関節物体の情報(特性)を反映した新たな画像を生成する画像生成装置等を提供することを目的とする。
【0008】
つまり、本発明は、画像中に存在する関節物体の画像から、画像中に存在する関節物体の部位形状、服装、動き等に関する情報を抽出し、抽出した情報を用いて、画像中に存在する関節物体の特性を反映した新たな画像を生成することを目的とする。
【0009】
具体的には、本発明は、画像中に存在する関節物体の画像から、画像中に存在する関節物体の部位形状、服装、動き等に関する情報を抽出し、抽出した情報を用いて、時間的、空間的に内挿、外挿した画像を生成する技術を提供する。また、画像中に存在する関節物体の画像から、画像中に存在する関節物体の身体部位形状や動きに関する情報を抽出し、抽出した情報を用いて、関節物体を構成する部位が明確に目視できる画像を生成する技術をも提供する。さらに、画像中に存在する関節物体の画像から、画像中に存在する関節物体の部位形状、服装、動きに関する情報を抽出し、抽出した情報を用いて、得られた画像中に存在する関節物体の姿勢や動きとは異なる姿勢や動きを含む関節物体の画像を生成する技術をも提供する。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明に係る画像生成装置は、関節物体を示す画像から、前記関節物体の特性を反映した新たな画像を生成する画像生成装置であって、関節物体を撮像した画像を取得する画像入力手段と、取得された画像中の関節物体に対して、あらかじめ保持した関節を有するモデルを当てはめることによって、前記関節物体の関節又は関節間部位の位置に関する第1パラメータを算出するパラメータ算出手段と、前記第1パラメータを用いて、前記関節物体の関節間部位の形状情報、前記第1パラメータには含まれない関節の位置及び動きに関する第2パラメータを推定するモデル変換を行うモデル変換手段と、前記第2パラメータを用いて、前記関節物体の特性を反映した新たな画像を生成する画像生成手段とを備えることを特徴とする。
【0011】
ここで、前記画像入力手段が時間的に連続した画像を取得する場合には、前記パラメータ算出手段は、前記画像を用いて、前記関節物体の関節又は関節間部位の位置及び動きに関する第1パラメータを算出してもよい。
【0012】
なお、本発明は、このような画像生成装置として実現できるだけでなく、画像生成方法、その方法をステップとして含むプログラム、そのプログラムを記録したコンピュータ読み取り可能な記録媒体等としても実現することができる。
【発明の効果】
【0013】
上記の方法により、画像中に存在する関節物体に対して関節モデルを当てはめることによって得られる大まかな関節及び部位の位置や動き情報から、より詳細な関節及び部位の位置や動き情報を推定することによって、画像中に存在する関節物体の部位形状、動きなどの情報を反映させた新たな画像を生成することが可能である。
【0014】
具体的には、画像中に存在する関節物体の画像から時間的、空間的に内挿、外挿した画像を生成することが可能である。また、画像中に存在する関節物体の画像から関節物体の構成する部位が明確に目視できる画像を生成することが可能である。さらに、画像中に存在する関節物体の画像から、その関節物体の部位形状や服装等を反映した上で、画像中に存在する関節物体の姿勢や動きとは異なる姿勢や動きを含む関節物体の画像を生成することが可能である。また、さらに、オクルージョン等によって、一部の関節及び部位の位置や動き情報を画像から得ることができないような場合においても、画像から得ることができなかった関節及び部位の位置や動き情報を推定することによって、画像中に存在する関節物体の部位形状、動きなどの情報を反映させた新たな画像を生成することが可能である。
【0015】
よって、本発明により、撮像された実画像から高精度な画像が生成され、特に、デジタルカメラやカメラ付き携帯電話、ビデオ装置等の撮影によって得られた映像を補完して精度を向上させる映像補完装置等として、その実用的価値は高い。
【発明を実施するための最良の形態】
【0016】
本発明の一実施形態は、関節物体を示す画像から、前記関節物体の特性を反映した新たな画像を生成する画像生成装置であって、関節物体を撮像した画像を取得する画像入力手段と、取得された画像中の関節物体に対して、あらかじめ保持した関節を有するモデルを当てはめることによって、前記関節物体の関節又は関節間部位の位置に関する第1パラメータを算出するパラメータ算出手段と、前記第1パラメータを用いて、前記関節物体の関節間部位の形状情報、前記第1パラメータには含まれない関節の位置及び動きに関する第2パラメータを推定するモデル変換を行うモデル変換手段と、前記第2パラメータを用いて、前記関節物体の特性を反映した新たな画像を生成する画像生成手段とを備えることを特徴とする。ここで、前記画像生成手段は、関節物体の特性を反映した新たな画像として、例えば、関節物体の関節又は関節間部位の位置、および、前記関節物体の関節間部位の色およびテクスチャ情報を反映した画像を生成する。これによって、前記第1のパラメータより、情報量が多い第2のパラメータを推定するか、もしくはオクルージョン等の原因により、画像への関節モデルの当てはめのみでは得る事ができない情報に関するパラメータを第2のパラメータとして推定することによって、画像中に存在する関節物体の情報(特性)を反映した新たな画像の生成が可能となる。
【0017】
また、本発明のより好ましい形態は、前記画像入力手段は、時間的に連続した画像を取得し、前記パラメータ算出手段は、前記画像を用いて、前記関節物体の関節又は関節間部位の位置及び動きに関する第1パラメータを算出することを特徴とする。これによって、前記画像生成手段は、時間的に連続した画像に対して、前記第1パラメータ又は前記第2パラメータに含まれる動き情報をもとに生成した、時間的に内挿および外挿した画像を前記新たな画像として生成することができる。
【0018】
また、本発明のより好ましい形態は、前記画像生成装置はさらに、前記画像生成手段によって生成された画像と目標画像との誤差を算出することにより、前記画像を評価する画像評価手段と、前記画像評価手段による評価結果に基づいて、前記第1パラメータを変更するパラメータ変更手段とを備え、前記モデル変換手段は、前記パラメータ変更手段で変更された第1パラメータに基づいて前記モデル変換を行うことを特徴とする。これによって、これによって、目標画像に近づくように前記パラメータを変更することによって、パラメータをより高精度に得ることができるため、さらに忠実に、画像中に存在する関節物体の特性を反映した新たな画像生成が可能となる。また、フレームレートの低い動画像から、よりフレームレートの高い動画像の生成が可能となる。
【0019】
なお、前記画像生成手段は、前記関節物体を構成する各部位に異なる色またはテクスチャを貼り付けた画像を前記新たな画像として生成してもよい。これによって、関節物体の構成する各部位の状態や動きを、画像中に存在する関節物体の情報(特性)を反映した画像で把握することが可能となる。
【0020】
また、前記画像生成手段は、前記関節物体の姿勢又は動きとは異なる姿勢又は動きを含む関節物体の画像に、前記関節物体の関節間部位のテクスチャを貼り付けた画像を前記新たな画像として生成してもよい。これによって、画像中に存在する関節物体の情報(特性)を反映した上で、他の姿勢、動き、形状に加工した画像の生成が可能となる。
【0021】
また、本発明のより好ましい形態は、前記モデル変換手段は、前記パラメータ算出手段によって前記第1パラメータの一部が抽出不能な場合に、抽出不能なパラメータ値を推定することによって、前記第2パラメータを推定するモデル変換を行うことを特徴とする。これによって、オクルージョン等の原因により、画像への関節モデルの当てはめのみでは得る事ができない情報に関するパラメータを前記第2パラメータとして推定することによって、画像中に存在する関節物体の情報(特性)を反映した、新たな画像の生成が可能となる。
【0022】
ここで、前記動きは、動きベクトル、加速度ベクトル、アフィンパラメータ及び近似曲線パラメータのいずれかによって表されるのが好ましい。これによって、関節を有する物体の動きに関するパラメータを得ることで、動き情報を用いて時間的に内挿および外挿する新たな画像の生成が可能となる。
【0023】
また、前記モデル変換手段は、予め求められた前記第1パラメータと前記第2パラメータとの相関情報を保持し、前記相関情報を参照することで、前記第2パラメータを推定するモデル変換を行うのが好ましい。これによって、関節物体の関節の位置や動きに関する情報をあらかじめ学習しておくことによって、前記第2パラメータの推定が容易となる。
【0024】
前記相関情報の例としては、前記第1パラメータの自己相関および第1パラメータと第2パラメータとの相互相関を含む構成としてもよい。あるいは、前記相関情報は、複数組の相互相関情報から、その重み付き線形和により算出されていてもよい。さらに、前記相関情報は、関節物体の種類又は関節物体ごとに、あらかじめ求められていてもよい。これによって、前記第2パラメータの推定がより高精度になる。
【0025】
以下、本発明の実施の形態について、図面を用いて説明する。
【0026】
(実施の形態1)
まず、本発明の実施の形態1について説明する。図1は、実施の形態1による処理手順の概略を示す図である。この画像生成装置は、画像中に存在する関節物体の関節の位置や形状、動きに関する情報(特性)を反映した、新たな画像の生成を可能とする装置であり、画像入力部101、パラメータ算出部102、モデル変換部103及び画像生成部104から構成される。
【0027】
画像入力部101は、関節物体をデジタルカメラやビデオ装置等で撮像して得られる画像(つまり、コンピュータグラフィック等ではない実画像)を取得する入力インタフェース等である。ここでは、時系列に並んだ画像であっても構わない。
【0028】
パラメータ算出部102は、あらかじめ用意した関節を有するモデルを画像に当てはめることによって、画像中に存在する関節物体の関節の位置を検出する処理部である。ここで、時系列に並んだ画像で、かつ画像中の関節物体が動いている場合は、その関節物体の関節、関節間部位の動きを検出することもできる。パラメータ算出部102の構成例を図2を用いて説明する。パラメータ算出部102は、入力された画像から関節物体領域を抽出する関節物体領域抽出部1021と、抽出した関節物体領域に対して、あらかじめ用意した関節モデルを当てはめるモデル当てはめ部1022と、関節モデルを当てはめることによって得た関節位置から、関節間部位の位置を算出する関節間部位位置計算部1023とで構成される。関節モデルを3次元で構成する場合は、3次元情報を2次元の画像空間へ射影する処理を行う。
【0029】
モデル変換部103は、パラメータ算出部102で得られたパラメータから、関節物体の関節間部位の形状情報、そのパラメータには含まれない関節の位置及び動きに関するパラメータを推定するモデル変換を行う処理部であり、パラメータ算出部102で抽出した関節物体の関節位置やその動きを入力として、形状情報を含むさらに高精度な関節物体の関節位置や動きの情報を出力したり、オクルージョン等で画像から得ることができなかった関節の位置やその動きに関する情報を出力する。
【0030】
画像生成部104は、モデル変換部103で推定した関節位置および、関節間部位の動き情報や形状に関係する情報を用いて、新たな画像を生成する処理部である。つまり、この画像生成部104は、関節物体の特性を反映した新たな画像として、例えば、関節物体の関節又は関節間部位の位置、および、関節物体の関節間部位の色およびテクスチャ情報を反映した画像を生成する。
【0031】
時間的に内挿および外挿した新たな画像を生成する場合の画像生成部104の構成例を図3を用いて説明する。画像生成部104は、生成するフレーム(時刻)に対応した画素位置を動き情報をもとに決定する画素移動位置計算部1041と、画素を移動させた結果生じる画素の欠落等を補間する補間処理部1042と移動した画素の色情報を決定する画素値決定部1043とから構成される。
【0032】
なお、時間的に内挿、外挿する画像を生成しない場合は、動き情報が不要なため、画素移動位置計算部1041と補間処理部1042は、なくてもよい。
【0033】
次に、以上のように構成された本実施の形態の画像生成装置による関節物体の画像生成方法について、図4のフローチャートを用いて詳細に説明する。
【0034】
まず、S2001にて、画像入力部101は、撮影された画像の入力を受け付ける。
次に、S2002にて、パラメータ算出部102の関節物体領域抽出部1021は、入力された画像に対して背景差分処理を行い、関節物体領域を切り出す。なお、ここでは、背景差分処理の代わりにフレーム間差分処理を行っても良い。さらに、対象とする関節物体が人物である場合は、M.OrenC.PapageorgiouP.SinhaE.Osuna and T.Poggio“Pedestrian Detection using wavelet templates”Proc.of CVPR97pp.193−1991997等を用いて、人物領域を切り出しても良い。さらに、エッジ検出処理を併用しても良い。また、背景差分処理を行う場合は、人物の存在しない背景となる画像を事前に準備しておく。動画を入力とする場合には、背景スプライトを生成し、生成した背景スプライト画像を用いることもできる。
【0035】
次に、S2003にて、パラメータ算出部102のモデル当てはめ部1022は、図5(a)に示すような関節モデル1001を用いて、図5(b)のモデル当てはめ結果1002に示されるように、前記関節物体領域に対して、あらかじめ用意した関節を有するモデルを当てはめる。ここでは、Leonid SigalSidharth Bhatia、Stefan Roth、Michael J.Black、Michael Isard、“Tracking Loose−Limbed People”、2004 IEEEComputerSociety Conference on ComputerVision and Pattern RecognitionVol.1,pp421−428、2004などのモデル当てはめ手法を用いることができる。これによって、モデル当てはめ結果1002の黒丸で示した各部分が、モデル当てはめによって検出した関節位置となる。すなわち、3次元の関節位置{Xwi(t),Ywi(t),Zwi(t)}および、関節の角度情報を得ることができる。なお、関節の角度情報は、関節モデル1001で示した円柱の接続角度を用いることができる。また、時系列画像を入力した場合は、上記に加えて、入力画像ごとにモデル当てはめを行い、モデル当てはめ結果1002で示した黒丸の3次元位置情報を時系列で得ることで、動き情報{ΔXwi(t),ΔYwi(t),ΔZwi(t)}を得ることができる。
【0036】
さらに、パラメータ算出部102の関節間部位位置計算部1023は、検出した3次元の関節位置1002を用いて、図5(c)に示されるように、隣接する関節どうしの中間点を関節間部位の代表位置1003として算出する。なお、この代表位置1003は、必ずしも中心位置である必要は無く、関節間部位ごとに関節間部位位置を算出しても良い。
【0037】
なお、図5は、関節数および関節間部位の数を限定するものではない。また、頭部、手、足のように関節の先に存在する部位に関する中心位置については、首、手首、足首の関節位置とその角度情報から、規定値を用いて算出する。ここで、頭部の中心位置は、首位置から15cm、手の中心位置は、手首位置から5cm、足は、足首位置から9cmとした。もちろん、図6に示す例のように体型や性別ごとに、それぞれの値をデータベースとして用意しても構わない。
【0038】
S2004では、モデル変換部103は、入力と出力の関係を記述したモデル変換データを使用することによって、入力情報から出力情報を推定する。具体的には、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力として、モデル変換部103は、オクルージョン等で得られなかった関節の位置やその動きに関する情報を推定して出力する。さらに、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力として、形状情報を含むさらに高精度な関節物体の関節位置等の情報を出力する。ここでは、モデル変換データを相関情報によって生成する例について述べる。
【0039】
まず、入力ベクトルをxとする。xは、パラメータ算出部102で抽出された関節物体の関節位置やその動きに相当する。
【数1】


Xは、入力ベクトルの集合である。Nは、データセットの数である。
【0040】
また、
【数2】


であり、mは関節位置や関節間の部位に相当する。
【0041】
次に、出力ベクトルをyとする。yは、推定したいパラメータであり、オクルージョン等で得られなかった関節の位置やその動きに関する情報でも良いし、形状情報を含むさらに情報量の多い関節物体の関節位置等の情報でも良い。
【数3】


Yは、出力ベクトルの集合である。
【0042】
【数4】


であり、lは、関節位置、関節間部位に加えて、形状を表現するためのマーカ位置等の情報を含む。
【0043】
次に、Xの自己相関行列を次のように決定する。
【数5】


【0044】
また、XとYの相互相関行列を次のように決定する。
【数6】


【0045】
ここで、モデル変換行列をCとすると、
【数7】


で表すことができる。ここで、Cx*はCxの逆行列、または疑似逆行列である。
【0046】
そして、推定したいyは、モデル変換行列を用いて次の式で表すことができる。
【数8】


【0047】
ここで、mxおよびmyは、xおよびyの平均ベクトルである。
【0048】
(数8)より、xの平均ベクトルmxおよびyの平均ベクトルmy、モデル変換行列Cを保持しておけば、モデル変換部103は、新たに与えられた入力ベクトルxから、出力ベクトルyを推定することが可能である。
【0049】
ここで、具体的なmx、my、Cの決定方法について説明する。
XおよびYとしては、モーションキャプチャデータを使うことができる。
【0050】
モーションキャプチャは、実際の関節物体の関節位置などにマーカを取り付けて、そのマーカの3次元位置を時系列で得ることができるものである。
【0051】
時刻tにおける入力ベクトルxをマーカiについて次のように記述すると、
【数9】


として、位置情報と動き情報を表現できる。
【0052】
動き情報については、動きベクトルの他に、動きベクトルを関数で近似しても良いし、アフィンパラメータでも良いし、加速度を用いても良い。
【0053】
また、yも同様にマーカkについて記述すると、
【数10】


のように、位置情報と動き情報を表現できる。
【0054】
ここでも、動き情報については、動きベクトルの他に、動きベクトルを関数で近似しても良いし、アフィンパラメータでも良いし、加速度を用いても良い。
【0055】
xおよびyは、これらのベクトルをマーカ順に並べたもので表現できる。
さらに、mx、myは、マーカ順に並べたそれぞれのベクトルの平均である。
【0056】
そして、モデル変換行列Cは、同時刻におけるxとyを組として、(数5)、(数6)、(数7)によって、計算することが可能である。なお、mx、my、Cについては、あらかじめ計算しておいても良いし、データセットからその都度計算しても良い。
【0057】
ここで、具体的なxとyの例について図7を用いて説明する。xについては、画像から比較的検出しやすいことが重要であるため、図7(a)のマーカ位置の例1101に示されるように、大まかな関節位置に取り付けたマーカデータを用いることが望ましい。そして、yについては、図7(b)のマーカ位置の例1102に示されるように、黒丸で示したxの関節位置に加えて、白丸で示した関節間部位等に取り付けたマーカデータも含むことができる。ここで、黒丸で示した関節位置を示すマーカと白丸で示した関節間部位に取り付けたマーカとの位置関係を用いれば、おおまかな形状を得ることができる。また、図7(c)に示されるように、yについては、CG等で作成した形状データ1103に示されるように、ポリゴンデータを用いることもできる。これによって、モデル変換部103は、画像から検出しやすい関節位置のデータから、形状に関わる情報も含めた詳細なデータを推定することが可能である。
【0058】
また、オクルージョンが生じやすい例として、人物や動物等が画像上を横向きに移動している場合がある。このような例では、左半身、もしくは右半身のどちらか一方の情報が得られない事がある。他にも、他の物体によって対象とする関節物体の一部が隠されたり、関節物体の情報の一部が得られない事もある。
【0059】
このような状況に備えるためには、図8(a)の例に示されるように、xについては、マーカ位置の例3201の片半身に関するマーカデータを用いて生成し、図8(b)の例に示されるように、yについては、マーカ位置の例3202の白丸で示すマーカを含む全身に関するマーカデータを生成することによって、片半身の情報から全身の情報を推定することが可能である。
【0060】
なお、x、mx、Cについては、あらかじめテスト画像等で、画像にモデルを当てはめた結果を用いて生成しても良い。さらに、CGの関節位置データを用いても良い。また、yについては、CGからポリゴンなどの形状データを含めたデータを用いても良い。さらに、モデル変換の例として、関節物体の体型や動作ごとに、上記mx、my、Cを複数組用意しても良いし、オクルージョンが生じやすい例ごとに上記mx、my、Cを複数組用意しても良い。
【0061】
また、図9(a)及び(b)に示されるマーカ位置の例3301及び3302のように、異なる姿勢間の相関情報を求めておくことによって、モデル変換部103は、入力された姿勢情報とは異なる姿勢情報を出力することも可能である。これにより、画像中に存在する関節物体の情報(特性)を反映した上で、他の姿勢に加工した画像の生成を可能とする。さらに、動き情報を含めて相関情報を求めておけば、モデル変換部103は、入力された動作とは異なる動作を出力することも可能である。これにより、画像中に存在する関節物体の情報(特性)を反映した上で、他の動きに加工した画像の生成を可能とする。
【0062】
さらに、図9(a)及び(b)に示されるマーカ位置の例3301及び3302のように、異なる姿勢間の相関情報において、x、yそれぞれのベクトルの要素として位置情報に加えて、(数9)、(数10)のように動き情報を含め、動き情報を含めたx、yから相関情報を求めておけば、モデル変換部103は、入力された動作とは異なる動作を出力することも可能である。これにより、画像中に存在する関節物体の情報(特性)を反映した上で、他の動きに加工した画像の生成を可能とする。さらに、上記相関情報のみならず、後述するように、モデル変換部103は、ニューラルネットワークを用いて、XとYの関係を学習しても良い。さらに、上記相関情報のみならず、ニューラルネットワークを用いて、XとYの関係を学習しても良い。
【0063】
ここで、S2004のモデル変換によって推定するベクトルyの一部を、図7(b)のマーカ位置1102とした場合は、マーカ位置を基準点としてベジェ曲面等を用いた3次元形状推定を行う。もちろん、他のパラメトリックな曲面を用いて近似しても構わないし、図7(c)の1103のようにポリゴンを用いたデータで形状を表現しても構わない。なお、基準点を用いた曲線近似の方法は、栗原恒弥、安生健一「3DCGアニメーション」、技術評論社、P36、2003等に詳しく記載されている。
【0064】
次に、S2005にて、モデル変換部103は、後処理として、S2004で推定した3次元形状を画像に投影する。これによって、関節物体の画像がメッシュ状に区切られた状態となる。ここでは、カメラパラメータが既知である場合の例について述べるが、3次元の実世界座標値を画像に投影できるものであれば良く、画像からカメラパラメータを推定する手法を用いても良い。3次元の実世界座標値を画像に投影する手法としては、徐、辻著、「3次元ビジョン」、9ページ、共立出版、1998年発行に詳細が記述されている。カメラパラメータを規定できれば、図10に示されるように、S2004で推定した3次元形状を画像上に投影することができる。なお、このステップS2005は、画像生成部104が画像生成の前処理として行ってもよい。
【0065】
ここで、3次元形状におけるある一点を画像上に投影した位置を(xj,yj)とする。そして、各jの位置(xj,yj)の画素における色情報(Rj,Gj,Bj)とする。jは画素である。これによって、推定した3次元位置に対応する画像上での位置や色情報を得ることができる。これによって、パラメータ算出S2002で検出した関節間部位をもとに、それぞれのメッシュ領域がどの関節間部位に属するかを得ることができる。この効果として、図11に示されるように、領域ごとに色分けを行ったり、テクスチャを変えて、関節物体の構成する各部位を明確に目視できる画像を生成することが可能である。
【0066】
次に、S2006では、画像生成部104は、S2005で推定した関節物体の関節位置、動き、形状に関するパラメータを用いて画像生成を行う。ここでは、画像生成部104の画素移動位置計算部1041は、推定したベクトルyの動き情報を用いて、メッシュに区切られた領域ごとに動きを計算する。動きは、アフィン動きを用いても良いし、領域ごとの平均動きベクトルでもよいし、動きを関数近似しても良い。そして、メッシュ状に区切られた領域ごとに得た動き情報を用いて画素を移動させて、新たな画像を生成する。
【0067】
ここでは、図12のように、2枚の時系列画像I(t)1201とI(t+n)1202を入力として、I(t)1201とI(t+n)1202との間に時間的に内挿する画像1203をN枚生成する場合について説明するが、入力の枚数を規定するものでは無い。
【0068】
メッシュで区切られた領域について、領域Aの動きパラメータをMa、領域Bの動きパラメータをMbとすると、内挿する画像1303は、I(t)1301の画像をもとに、補間処理部1042及び画素値決定部1043が、領域A、Bに属するそれぞれの画素を、Ma/(N+1),Mb/(N+1)ずつ移動させることによって生成できる。
【0069】
外挿する場合については、図13(a)に示されるI(t)1301と図13(c)に示されるI(t+n)1302の間で生成した動き情報をもとに、補間処理部1042及び画素値決定部1043が、I(t+n)1302の画像から、領域A、Bに属するそれぞれの画素を、Ma/(N+1),Mb/(N+1)移動させることによって生成できる。
【0070】
なお、動きパラメータMaとしては、平均動きベクトルuA(ave)を、領域Bの動きパラメータMbとしては、平均動きベクトルをuB(ave)を用いることができる。ただし、動きパラメータは、動きベクトルのみならず、アフィンパラメータ、加速度ベクトル、近似曲線パラメータでも構わない。
【0071】
この時、領域Aと領域Bが異なる方向に移動するために、図13(d)及び(e)の画像例1304および1305のように関節位置および領域境界を中心に領域Aと領域Bが分離したり、重なったりする危険性がある。これについては、以下のように処理を行うと効果的である。
【0072】
まず、画素移動位置計算部1041は、隣接する領域AおよびBにおいて、領域Aの動きパラメータをMa領域Bの動きパラメータをMbとする。次に、各領域に属する画素ごとに、領域境界の画素までの最短距離distj_minを計算する。ここでjは、画素である。なお、distj_minは、領域境界の重心までの距離でも構わない。
【0073】
領域Aに属する画素を例として説明する。
次のように、画素移動位置計算部1041は、各画素の動きパラメータMa_jを決定する。ここでjは画素である。
【数11】


【数12】


【0074】
同様に、領域Bに属する画素については、
【数13】


【数14】


で表せる。
【0075】
なお、非線形関数を利用しても良く、
【数15】


のようにすることも可能である。
【0076】
以上のような手法を用いることで、画像生成部104は、図13(b)の内挿画像1303のように、関節で接続された部位が分離せず、かつおよび領域どうしが重ならない条件で新たな画像を生成することが可能である。画像生成部104は、関節で接続された部位が分離しないように、関節位置を基準とした画素移動を行うことにより、新たな画像を生成することができる。
【0077】
ここでは、領域境界付近の画素の動き情報がなだらかに変化するような条件であれば良い。
【0078】
もちろん、外挿画像1204についても同様である。
また、さらに、画素を移動させることによって、新たに生成した画像の画素が一部欠ける場合があるが、この場合は、近傍画素から補間するか、もしくは、時刻t+nの画像から、時間的に逆向きの時刻tの画像を生成し、順方向から生成した画像と逆方向から生成した画像とを用いて画像を生成することも有効である。なお、補間方法としては、バイリニアやバイキュービック法、モルフォロジー処理等を用いることができる。
【0079】
以上の処理により、本実施の形態における画像生成装置によって、関節を有する関節モデルの当てはめによって得た動きや関節の位置等に関するパラメータと画像から得た形状や服装等に関するパラメータとを用いて、画像中に存在する関節物体の情報(特性)を反映した、新たな画像の生成が可能である。
【0080】
また、内挿画像1203、外挿画像1204と入力画像とを時間順に並べて再生することによって、フレームレートの低い動画像から、よりフレームレートの高い動画像の生成が可能である。
【0081】
(実施の形態2)
次に、本発明の実施の形態2について説明する。図14は、実施の形態2による処理手順の概略を示す図である。この画像生成装置は、実施の形態1に加えて、生成した画像を評価しながら関節物体の関節位置、形状、服装、動きに関するパラメータを変更することによって、画像中に存在する関節物体の関節の位置や形状、服装、動きに関する情報を反映した、より精度の高い新たな画像の生成を可能とする装置であり、画像入力部101、パラメータ算出部102、モデル変換部103、画像生成部104、画像評価部201及びパラメータ変更部202から構成される。なお、画像入力部101、パラメータ算出部102、モデル変換部103については、実施の形態1と同様であるので、説明は省略する。
【0082】
画像生成部104では、入力画像I(t)1201をもとに、入力画像I(t)1201とI(t+n)1202のから検出したパラメータを用いて、I(t+n)に相当する時刻の画像を生成する。これを生成画像I'( t+n)とする。
【0083】
画像評価部201では、図15(a)〜(c)に示されるように前記入力画像I(t+n)3501と生成画像I'(t+n)3502との誤差を計算する。なお、生成画像I'(t+n)3502は、ポリゴン表示された面ごとにハッチングによって表示したが、実際には、S2005で投影した画像上での画素値を用いても良い。
【0084】
次に、パラメータ変更部202では、パラメータ算出部102で検出したパラメータである関節位置や動きパラメータを変更する。そして、変更したパラメータに従って、再度、モデル変換部103、画像生成部104、画像評価部201が各処理を行う。ここで、パラメータ変更部202では、モデル変換部103で推定したパラメータを変更しても良い。
【0085】
これら処理を繰り返しながら、誤差が小さくなるパラメータを決定し、この時のパラメータを用いて、画像生成部104は、新たな画像を生成する。ここで、処理の繰返しは、必ずしもすべてのパラメータを網羅的に変更する必要は無く、誤差が閾値以下になるまで行ったり、規定回数繰り返したり、処理時間によって決定することができる。
【0086】
処理時間によって決定する場合は、フレームレートと新たに生成する画像の枚数を考慮する必要がある。例えば、10フレーム/秒で入力される画像に対し、フレーム間に2枚の画像を新たに生成することで、30フレーム/秒の画像列をリアルタイムに生成することを考えた場合、少なくとも0.1秒の間に2枚の画像を生成する必要がある。この場合、一枚あたり0.05秒で生成する必要があり、このような情報を処理時間の閾値として用いることが可能である。
【0087】
次に、以上のように構成された本実施の形態の画像生成装置による関節物体の画像生成方法について、図16のフローチャートを用いて詳細に説明する
S2101からS2105までは、実施の形態1と同様であるため、説明を省略する。
【0088】
S2106では、画像生成部104は、入力画像I(t)1401をもとに、入力画像I(t)1401とI(t+n)1402から検出したパラメータを用いて、I(t+n)に相当する時刻の画像を生成する。これをI'(t+n)とする。ここで、I(t+n)を目標画像と呼ぶ。
【0089】
I'(t+n)の生成方法について述べる。ここでは、実施の形態1と同様の手法により、入力画像I(t)をもとに、S2103とS2104にて検出したパラメータを用いて、時刻t+nの予測画像I'(t+n)を生成する。
【0090】
S2106では、画像評価部201は、評価値として、目標画像I(t+n)3401と予測画像I'(t+n)3402との誤差を計算する。評価値の計算方法としては、目標画像I(t+n)3501の画素値と、生成画像I'(t+n)3502の画素値との差を計算する。目標画像I(t+n)と生成画像I'(t+n)3502とのオーバーラップが多く、かつ画素値が近ければ、目標画像に近いと判断することが望ましい。そこで、次のような評価値を用いることができる。
【0091】
評価値の計算方法としては、
【数16】


等を用いることができる。もちろん、上式に限らず、目標画像と予測画像との誤差を評価する計算方法であれば良い。
【0092】
次に、S2107では、画像評価部201は、Err値があらかじめ設定した評価値を満たしているか否かを計算する。ここで、Err値があらかじめ設定した評価値を満たしていない場合は、現時点において、最も評価値に近い値とその時のS2104及びS2105で検出したパラメータとを組として保持する。反対に、Err値があらかじめ設定した評価値を満たしている場合は、S2109の処理を行う。もちろん、すべてのパラメータを網羅的に処理し、評価値が最も良いパラメータを決定してからS2109の処理を行っても良い。ただし、リアルタイム処理等、処理時間を考慮する場合は、規定回数繰返したり、規定した処理時間に達するまでとしても良い。この場合は、繰返し処理の中で最も評価値に近いパラメータを選択する。
【0093】
次に、S2108では、パラメータ変更部202は、S2103で検出したモデル当てはめの結果を変更する。そして変更されたパラメータを入力として、再度S2104以降を繰り返す。
【0094】
この時、図17のような階層表現(関節間部位の接続関係)を用いることも効果的である。これによって、モデル当てはめの結果に対して階層的な接続関係を得ることができる。この効果としては、例えば、胴体のパラメータを先に決定し、次に、左右上腕、左右大腿、頭のように、胴体と接続されている関係を用いて、上位の階層に属する関節位置から順にパラメータを変更することで、効率的にパラメータを変更、決定することができることにある。すなわち、効率的に誤差が小さくなるパラメータを決定することができる。
【0095】
そして、S2109では、画像生成部104は、上記階層表現(関節間部位の接続関係)を利用した画像生成を行うことができる。上位の階層にある関節間部位の動きパラメータをMb、上位の階層と関節によって接続された下位階層にある関節間部位の動きパラメータをMaとすると、(数11)から(数14)で示した、各画素の動きパラメータは、次式のように書き換えられる。
【数17】


【数18】


【数19】


【0096】
これによって、上位階層の関節間部位の動きが支配的になるため、より関節物体の構造を反映した画像を生成することができる。
【0097】
また、さらに、あらかじめ用意した関節モデルの関節間距離を変更するように、パラメータを変更することも可能である。
【0098】
その場合には、S2109では、画像生成部104は、S2107で最終的に決定したパラメータを用いて画像を生成する。この時の画像生成方法は、実施の形態1におけるS2005と同様であり、時間的に内挿、外挿した画像を生成することもできるし、関節物体の構成する各部位を明確に目視できるように、各部位に異なる色やテクスチャ等を貼り付けた画像を生成することもできる。図15(b)の画像3502に示されるように、画像評価前の画像生成時には、実際の目標画像と一部ずれがあったとしても、(数22)のような評価に基づいてパラメータを変更することによって、パラメータ変更後の画像3503に示されるように、目標画像とのずれを最小限に押さえた画像を生成することができる。これにより、より精度の高い新たな画像を生成することができる。
【0099】
以上の処理により、実施の形態1の効果に加えて、生成した画像を評価しながら関節物体の関節位置、形状、服装、動きに関するパラメータを変更することによって、画像中に存在する関節物体の関節の位置や形状、服装、動きに関する情報を反映した、より精度の高い新たな画像の生成が可能となる。
【0100】
(実施の形態3)
次に、本発明の実施の形態3について説明する。実施の形態3は、実施の形態1及び2における別の動作例である。つまり、実施の形態3は、実施の形態1および2において、画像から関節モデルのパラメータの一部が抽出不能な場合に、モデル変換を行うことによって、検出不能なパラメータを推定し、推定したパラメータを用いて画像生成を行う動作例に相当する。ここでは、図1に沿って説明する。もちろん、図14と同様に、生成した画像を目標画像との誤差により評価する画像評価ステップと、その評価結果に基づいて、パラメータの値を変更するパラメータ変更ステップとを追加しても構わない。
【0101】
画像入力部101、パラメータ算出部102、画像生成部104については、実施の形態1と同様であるので、説明は省略する。
【0102】
パラメータ算出部102では、あらかじめ用意した関節を有する関節モデル1001を図5(b)のモデル当てはめ結果1002のように画像に当てはめることによって、画像中に存在する関節物体の関節の位置を検出する。しかしながら、画像中を左右に横切る場合や、遮蔽物によって一時的に関節物体の一部が隠されてしまう場合においては、関節物体の関節位置やその動きに関する情報の一部を得られない事がある。
【0103】
図8を用いて、画像中を人物が歩きながら左右に横切る場合について説明する。この場合、図8(a)に示されるマーカ位置の例3201の黒丸で示す部位は、画像から検出することが可能であるが、一方、図8(b)に示されるマーカ位置の例3202の白丸で示す部位は、動作の途中で右半身の一部が左半身の一部を遮蔽するために、画像から検出不能な場合がある。この場合、パラメータ算出部102では、関節モデルが有する関節位置のパラメータをすべて正確に検出することが難しい、また、遮蔽された関節位置は、検出したとしても信頼性が低い。
【0104】
ここで、(数2)を用いて説明すると、遮蔽によって一部の関節位置が得られない場合は、ベクトルの要素の一部が情報として得られないことになる。この場合は、画像から検出できなかった関節位置を表現するXinputの要素に次のように0を入れることで、モデル変換部103は、実施の形態1と同様の計算を行う。
【数20】


【0105】
また、以下の方法を用いることで、検出不能なパラメータを推定することができる。
【0106】
人物や動物を例として挙げると、画像中に存在する関節物体の片半身のみの情報しか得ることが出来ない場合がある。
【0107】
このような場合は、モデル変換部103は、(数1)の入力ベクトルの集合を、図8(a)のマーカ位置の例3201の黒丸で示すデータのように、片半身のみのデータを用いて生成し、(数3)の出力ベクトルの集合を、図8(b)のマーカ位置の例3202の黒丸と白丸のように全身データとする、もしくは、図8(b)のマーカ位置の例3202の白丸のように入力ベクトルとは反対の片半身データを用いて、(数5)〜(数8)のモデル変換行列を生成する。これによって、片半身の入力データから全身の関節位置、もしくはその動きに関する情報を得ることができる。推定誤差を図18に示す。図18は、さまざまな動作を時系列で行った場合に、右半身の関節位置の入力情報から、入力とは反対側の左半身における関節位置である、左肩、左肘、左手首、左膝、左足首の位置を推定した場合の誤差平均を示したものである。画像からは得られない情報を5センチ程度の誤差で得られるため、画像生成を目的とした場合は十分な精度である。さらに、出力ベクトルyに形状情報を含めて推定することも可能である。
【0108】
このように、片半身のみのデータから、全身のデータを推定するモデル変換は、例えば、関節物体の移動方向が画像上で水平方向に動いている場合に特に有効である。そこで、モデル変換部103は、画像入力部101でオプティカルフロー等を用いて、物体の移動方向算出を行い、その移動方向が水平方向であれば、このモデル変換手法を選択するようにしても良い。
【0109】
また、肘や膝などの関節位置が抽出できない場合や、図19に示されるように他の遮蔽物3602によって、3601のように足首位置等が検出できない場合等、さまざまな状況を想定して、状況に応じたモデル変換行列を用意することで、モデル変換部103は、関節位置およびその動きや形状の高精度な推定が可能となる。状況をS個想定した場合は、次式のようにモデル変換行列をS個用意することになる。
【数21】


【0110】
以上の処理により、実施の形態1および2の効果に加えて、モデル変換部103によって、オクルージョン等で画像から検出困難なパラメータをモデル変換によって推定することで、画像のみからでは抽出不能なパラメータを用いた新たな画像の生成を可能とするものである。
【0111】
さらに、(数9)(数10)のように動き情報を用いて、(数21)で動き情報を含めた相関情報を求めておけば、モデル変換部103は、入力された動作とは異なる動作を出力することも可能である。この場合、入力ベクトルxと出力ベクトルyをそれぞれ、異なる動作や姿勢に対応するように相関情報を求めておけばよい。これにより、画像中に存在する関節物体の情報(特性)を反映した上で、他の姿勢や動作に加工した画像の生成を可能とする。
【0112】
これにより、本実施の形態における画像生成装置によって、画像中に存在する関節物体の情報(特性)を反映した上で、他の動きに加工した画像の生成が可能となる。
【0113】
(実施の形態4)
次に、本発明の実施の形態4について説明する。図20は、実施の形態4による処理手順の概略を示す図である。この画像生成装置は、実施の形態1〜3に加えて、画像中に存在する関節物体の情報(特性)を反映した上で、他の形状に加工した画像の生成を可能とする装置であり、画像入力部101、パラメータ算出部102、モデル変換部103、画像生成部104及びユーザ設定部301から構成される。ここでは、実施の形態1に沿って説明するが、すべての実施の形態で利用可能である。なお、画像入力部101、パラメータ算出部102、モデル変換部103については、実施の形態1と同様であるため、説明は省略する。
【0114】
ここでは、モデル変換部103にて、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力として、形状情報を含むさらに高精度な関節物体の関節位置等の情報を出力する場合について説明する。
【0115】
ユーザ設定部301は、モデル変換部103で得られた形状情報を含むパラメータの一部をユーザが変更する。ここでは、太らせる、痩せさせる、といったパラメータを変更するように画面表示することも可能である。
【0116】
画像生成部104は、ユーザ設定部301で設定した形状情報を含むパラメータとモデル変換部103で得たパラメータとを用いた画像生成を行うことで、入力された関節物体の形状、動き、色などに関する情報を反映した上で、形状を変更した画像を生成する。
【0117】
次に、以上のように構成された本実施の形態の画像生成装置による関節物体の画像生成方法について、図21のフローチャートを用いて詳細に説明する。
【0118】
S2201からS2205までは、実施の形態1と同様であるため、説明を省略する。
S2204でモデル変換部103が推定したパラメータyは、関節位置やその動きに関する情報に加えて、関節間部位に取り付けたマーカの位置情報も得ることができる。これはすなわち、関節間部位の形状を表現していることになる。
【0119】
S2207では、ユーザ設定部301は、特に関節間部位に取り付けられたマーカ位置情報等、形状に関するパラメータを、ユーザからの指示に従って、変更する。人物や動物の場合を例に挙げると、腹の上に取り付けたマーカの位置情報を変更することによって、腹の大きさを変更することができる。
【0120】
人物や動物の場合を例に挙げると腹の上に取り付けたマーカの位置情報を変更することによって、図22に示されるように、腹の大きさを変更することができる。図23にユーザが変更するパラメータの設定画面の例を示す。ユーザが変更可能なパラメータは、例えば、図23のA〜Eのように、あらかじめ制御可能な関節間部位位置を決定しておくことが望ましい。具体的には図7(b)のyのマーカ位置の例1102に示されるように、白丸で示した形状に関連するマーカ位置を制御可能な関節間部位位置とすることで、ユーザ設定部301は、入力画像の形状を関節間部位ごとに変化させることが可能である。そして、ユーザは、形状パラメータ制御バー3702を操作することによって、関節間部位ごとに形状を変化させる。このように、表示装置で表示するようにすることで、ユーザが簡単に形状を変更することができる。
【0121】
次に、S2206では、画像生成部104は、S2204で推定したパラメータyと、S2207で変更した形状に関するパラメータとを用いて画像を生成する。図22(a)に示されるように、入力画像1701を入力として、S2207で形状に関するパラメータを変更することによって、入力画像の情報を反映した上で、図22(b)に示されるように、一部の形状を加工もしくは変更した出力画像1702を得ることができる。
【0122】
ここで、S2207について図24を用いて詳しく説明する。S2204にて、図24(a)における形状パラメータ1805が得られたとする。この時、画像生成部104は、両端の関節位置を端点として、形状パラメータ1805の点を制御点としたベジェ曲線を生成する。そして、S2207にて、ユーザ設定部301が取得したユーザからの指示に従って、画像生成部104は、形状パラメータ1805を図24(a)の矢印のように変更する、すなわち、図23の形状パラメータ制御バー3702を操作すると、両端の関節位置と変更された形状パラメータ1805の点とを通るベジェ曲線1806を生成して、新たな画像を生成する。この時、色情報やテクスチャ情報は、S2205で得た色、テクスチャ情報を用いる。
【0123】
なお、領域の輪郭点すべてをベジェ曲線の制御点とすることも可能であるし、ベジェ曲線の代わりとして、スプライン補間などのパラメトリックに曲線を処理する手法を使うことも可能である。また、図23の形状パラメータ制御バー3702は、図7(b)のマーカ位置の例1102に示した白丸の点の位置を変更させることになり、これは、図24における形状パラメータ1805に相当する。
【0124】
以上の処理により、本実施の形態における画像生成装置により、画像中に存在する関節物体の情報(特性)を反映した上で、他の形状に加工した画像の生成が可能となる。
【0125】
(実施の形態5)
次に、本発明の実施の形態5について説明する。実施の形態5は、実施の形態1〜4における別の動作例である。つまり、実施の形態5では、実施の形態1〜4で説明した処理に加えて、パラメータ算出ステップ、モデル変換ステップで動き情報を用いる動作例に相当する。ここでは、実施の形態1を例として説明するが、すべての実施の形態において適用可能である。また、入力画像は、時系列に並んだ複数枚の画像であることが望ましい。なお、時系列に並んだ画像を3次元に並べた時空間画像としても良い。
【0126】
図1のパラメータ算出部102およびモデル変換部103で用いることができる動き情報について説明する。パラメータ算出部102では、モデル当てはめ手法を用いて、3次元の関節位置および、角度情報を得ることができる。ここで、時系列画像を入力した場合は、上記に加えて各時刻における動き情報を得ることができる。さらに、モデル変換部103においても、関節位置の動き情報に加え、関節間部位の動き情報を得ることができる。以下に、上記動きベクトルに加えて、加速度ベクトルを用いた例を説明する。
【0127】
例えば、T枚の時系列に並んだ画像を入力とした場合、パラメータ算出部102は、各関節位置、もしくは関節間部位位置iの動きベクトル{ΔXwi(t),ΔYwi(t),ΔZwi(t)}を、T−1個得ることができる。この時、3枚以上の時系列画像が入力された場合は、次式のように加速度ベクトルsを得ることができる。なお、vは動きベクトルである。
【数22】


【0128】
計算した加速度ベクトルを用いた場合の画像生成方法を説明する。実施の形態1におけるS2006の画像生成では、画像中の関節物体が一定速度で動いている場合における、時間的に内挿、外挿する画像の生成例ついて説明した。これに加えて、加速度ベクトルを用いて、実施の形態1における動きパラメータを(s/(N+1)+u)/(N+1)とすることで、加速度を加味した時間的に内挿、外挿した画像を生成することが可能である。具体的には、関節物体の動きが急激に早くなったり、急激に止まったりといった場合に、その加速度を反映して、内挿、外挿した画像を生成することが可能となる。
【0129】
次に、動きベクトルの代わりに、N次関数をフィッティングした場合について述べる。T枚の時系列に並んだ画像を入力とした場合、パラメータ算出部102は、T個の関節位置情報や画像上での位置情報に対してN次の関数でフィティングすることができる。これにより、フィッティングした関数の値に沿うように、時間的に内挿、外挿した画像を生成することが可能である。具体的には、関数でフィッティングすることによって、より滑らかな動きを表現することが可能となるため、内挿、外挿した画像を用いてより滑らかな動画を生成することが可能となる。
【0130】
次に、動きベクトルの代わりに、アフィンパラメータを用いる場合について述べる。T枚の時系列に並んだ画像を入力とした場合、パラメータ算出部102及びモデル変換部103は、T個の関節位置情報や画像上での位置情報を用いて、アフィンパラメータを推定することが可能である。
【0131】
ここでは、画像上での位置情報を用いて、パラメータ算出部102がアフィンパラメータを推定する例について説明する。時刻tにおける位置を(x、y)、時刻t+1でその画素が移動した先を(x'y'、)とすると、アフィン変換は、次のように表すことができる。
【数23】


【0132】
ここで、アフィンパラメータa〜fを(数9)(数10)におけるΔx、Δy、Δzの代わりとして用いれば、動きベクトルの代わりにアフィンパラメータを用いたモデル変換を行うことができる。これによって、動きパラメータとして、動きベクトルの代わりにアフィンパラメータを用いた時間的に内挿、外挿した画像を生成することができる。アフィンパラメータは、回転運動を含む動きの表現が可能であり、腕や足の回旋運動の表現に適している。
【0133】
特に、回転運動を含む動きに有効である。さらに、実施の形態2の図17で説明したように、関節モデルを階層的に表現し、それに対しアフィンパラメータを組み合わせることも有効である。階層的に表現すれば、関節間部位の階層的な接続関係を得ることができる。この効果としては、例えば、胴体のパラメータを先に決定し、次に、左右上腕、左右大腿、頭のように、胴体と接続されている関係を用いて、上位の階層に属する関節位置から順にパラメータを変更することで、効率的にパラメータを変更、決定することができることにある。さらに、上位階層の関節間部位の動きが支配的になるため、より関節物体の構造を反映した画像を生成することができる。
【0134】
以上で説明した動きパラメータの決定方法により、実施の形態1から4で説明した効果に加えて、効率的に高精度な画像を生成可能である。
【0135】
(実施の形態6)
次に、本発明の実施の形態6について説明する。実施の形態6では、実施の形態1〜5におけるモデル変換部103に置き換わる別のモデル変換部(あるいは、モデル変換部103をより具体化したもの)について詳しく説明する。ここでは、実施の形態1に沿って説明するが、すべての実施の形態において適用可能である。
【0136】
実施の形態1では、モデル変換部103は、入力と出力の関係を記述したモデル変換データを使用することによって、入力情報から出力情報を推定する。具体的には、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力として、オクルージョン等で得られなかった関節の位置やその動きに関する情報を推定して出力する。さらに、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力として、形状情報を含むさらに高精度な関節物体の関節位置等の情報を出力する。
【0137】
このようなモデル変換部103の具体例として、まず、図26に示すニューラルネットワークを用いたモデル変換部103aについて説明する。このモデル変換部103aは、パラメータ算出部102から出力されるパラメータを取得する入力部1031と、入力部1031によって取得されたパラメータを入力ベクトルとして出力ベクトルに変換するニューラルネットワーク1032と、ニューラルネットワーク1032からの出力ベクトルを画像生成部104に出力する出力部1033とから構成される。
【0138】
ニューラルネットワーク1032については、(数1)〜(数4)に示した入力ベクトルxと出力ベクトルyを用いて、誤差逆伝播法によってニューラルネットワークの学習を行っておく。学習が終了すれば、モデル変換部103aは、xの入力に対して推定したyを出力することができる。なお、図26のニューラルネットワークは3層としたが、階層数を限定するものではない。また、ニューラルネットワーク1032について、予め学習させておくのではなく、学習させながら使用してもよい。
【0139】
学習過程においては、具体的には、入力ベクトルxと出力ベクトルyの組を用いて、図26に示されるように階層間の結合荷重wを変更する。
【数24】


【0140】
ここで、zは各階層における出力値、iはニューラルネットワークの素子番号、lは、階層番号を示す。なお、
【数25】


【数26】


ここで、f(x)はシグモイド関数、nlは、階層lの素子数である。
【0141】
上記、(数24)〜(数26)を用いて繰返し学習を行うことにとって、結合荷重wを得ることができる。結合荷重wを得ることができれば、モデル変換部103aにより、入力ベクトルxに対して、出力ベクトルyを得ることができる。
【0142】
これにより、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力ベクトルxとして、モデル変換部103aは、オクルージョン等で得られなかった関節の位置やその動きに関する出力ベクトルyを推定することができる。さらに、パラメータ算出部102で抽出された関節物体の関節位置やその動きを入力ベクトルxとして、形状情報を含むさらに高精度な関節物体の関節位置等に関する出力ベクトルyを推定することが可能となる。なお、誤差逆伝播法については、アービブ「ニューラルネットと脳理論」、p437、サイエンス社、1992年に詳しく説明されている。
【0143】
次に、実施の形態1で説明した相関情報を複数の相関情報の線形和で表現する方法について説明する。図27は、複数の相関情報の線形和を相関情報とするモデル変換部103bの構成を示す機能ブロック図である。このモデル変換部103bは、複数の相関情報を保持する相関情報記憶部1035と、パラメータ算出部102から出力されたパラメータを取得する入力部1031と、入力部1031で取得されたパラメータに対して、相関情報記憶部1035に保持された複数の相関情報の線形和を用いて変換する変換部1034と、変換部1034で得られたパラメータを画像生成部104に出力する出力部1033とから構成される。なお、相関情報記憶部1035は、関節物体の体型や動作ごとに、(数1)〜(数10)で説明したmx、my、Cを複数組保持しても良いし、オクルージョンが生じやすい例ごとに、mx、my、Cを複数組保持しても良い。
【0144】
ここでは、図25を用いて関節物体の体型ごとにP個の相関情報を用いた例について説明する。図25の相関情報C1〜Cpは、それぞれ体型別相関行列を生成する例である。それぞれの体型を持った関節物体ごとに、モーションキャプチャデータで得た3次元位置情報や動き情報を用いて入力ベクトルxと出力ベクトルyとを得る。そして、それぞれのxとyとを用いて相関行列Cを生成する。
【0145】
そして、(数5)は体型ごとに用意したNp組の入力ベクトルxを用いて、以下のように書き換えることができる。
【数27】


【0146】
また、(数6)は、体型ごとに用意したNp組の入力ベクトルxと出力ベクトルyを用いて、以下のように書き換えることができる。
【数28】


【0147】
そして、(数7)は、(数27)と(数28)より、
【数29】


で表すことができる。ここで、Cxp*はCxpの逆行列、または疑似逆行列である。
【0148】
そして、関節物体の体型ごとに推定するypexpectedは、モデル変換行列を用いて次の式で表すことができる。
【数30】


【0149】
そして、最終的に推定したい出力ベクトルyは、P個の推定結果の線形和によって表現することができる。
【数31】


【0150】
ここで、
【数32】


【数33】


である。αk,mxk,Cxkは、EMアルゴリズムで推定することができる。
【0151】
EMアルゴリズムについては、上田修功「ベイズ学習I−統計的学習の基礎―」、電子情報通信学会誌、Vol.85No.4pp.265−271,2002に詳しく記載されている。
【0152】
このように、複数の体型ごとに相関行列を求めておき、それを相関情報記憶部1035が保持し、変換部1034がその線形和を用いてモデル変換を行うことで、モデル変換部103bは、さまざまな体型に対しても、複数の体型の線形和でモデル変換を行える効果を奏する。
【0153】
以上により、実施の形態1〜5の効果に加えて、対象とする関節物体の体型のバリエーションに頑健となる。
【0154】
以上、本発明に係る画像生成装置について、実施の形態及び変形例に基づいて説明したが、本発明は、これらの形態や例に限定されるものではない。各実施の形態や変形例における構成要素を適宜組み合わせて実現される別の形態や、各実施の形態に対して当業者が思いつく変形を施して得られる形態も本発明に含まれる。
【0155】
なお、特許請求の範囲と実施の形態における構成要素の対応は次の通りである。つまり、特許請求の範囲における「画像入力手段」、「パラメータ算出手段」、「モデル変換手段」、「画像生成手段」、「画像評価手段」、「パラメータ変更手段」の一例が、それぞれ、実施の形態における画像入力部101、パラメータ算出部102、モデル変換部103、画像生成部104、画像評価部201、パラメータ変更部202である。ただし、特許請求の範囲における構成要素は、これら実施の形態における対応する構成要素だけに限定されるのでなく、その等価物も含まれる。
【産業上の利用可能性】
【0156】
本発明は、画像生成装置として、特に、画像処理によって、人物や動物等を含む関節物体の画像を生成する装置として、例えば、画像中に存在する関節物体の動きや関節の位置等に関するパラメータと形状、服装等に関するパラメータとを用いて、画像中に存在する関節物体の特性を反映した新たな画像を生成する装置、アニメーション生成装置、デジタルカメラ・カメラ付き携帯電話・ビデオ装置等で撮影した映像を補完して精度を向上させる映像補完装置、ゲーム・映画・コンピュータグラフィックス用の静止画や動画を生成する装置として、有用である。
【図面の簡単な説明】
【0157】
【図1】本発明の実施の形態1における画像生成装置の構成を示す図
【図2】パラメータ算出部の詳細な構成を示す図
【図3】画像生成部の詳細な構成を示す図
【図4】画像生成装置の動作を示すフローチャート
【図5】関節モデルを示す図
【図6】頭、手、足の位置を示すデータベースの例を示す図
【図7】入力データと出力データを示す図
【図8】入力、出力ベクトルの例を示す図
【図9】入力、出力ベクトルの例を示す図
【図10】3次元情報の画像への投影例を示す図
【図11】画像生成例を示す図
【図12】内挿、外挿画像の例を示す図
【図13】画像生成方法を示す図
【図14】本発明の実施の形態2における画像生成装置の構成を示す図
【図15】画像評価部の動作を説明する図
【図16】画像生成装置の動作を示すフローチャート
【図17】関節モデルの階層表現の例を示す図
【図18】本発明の実施の形態3による関節位置の推定結果を示す図
【図19】画像の一部が遮蔽されている例を示す図
【図20】本発明の実施の形態4における画像生成装置の構成を示す図
【図21】画像生成装置の動作を示すフローチャート
【図22】画像生成例を示す図
【図23】パラメータ設定画面の例を示す図
【図24】画像生成方法を示す図
【図25】本発明の実施の形態6による相関行列の例を示す図
【図26】モデル変換部の別の構成例を示す図
【図27】モデル変換部の別の構成例を示す図
【符号の説明】
【0158】
101 画像入力部
102 パラメータ算出部
103、103a、103b モデル変換部
104 画像生成部
201 画像評価部
202 パラメータ変更部
301 ユーザ設定部
1021 関節物体領域抽出部
1022 モデル当てはめ部
1023 関節間部位位置計算部
1031 入力部
1032 ニューラルネットワーク
1033 出力部
1034 変換部
1035 相関情報記憶部
1041 画素移動位置計算部
1042 補間処理部
1043 画素値決定部




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013