説明

画像処理装置、画像処理方法、およびプログラム、並びに目標関数

【課題】ICPレジスタ手法に比較して、より少ない演算量、より高い精度で安定的に3次元ボディトラッキングを行う。
【解決手段】画像処理装置10は、撮影されたフレーム画像を取得するフレーム画像取得部11、前フレーム画像に対応する3次元ボディ画像と現フレーム画像とに基づいて関節拘束のない運動ベクトルΔを予測する予測部12、予測結果に基づいて最適な関節拘束のある運動ベクトルΔ*を決定する運動ベクトル決定部13、決定された最適な関節拘束のある運動ベクトルΔ*を適用して現フレームに対応する3次元ボディ画像を生成する3次元ボディ画像生成部14から構成される。目標関数は、動きベクトルΔによる変換後の3次元ボディの姿勢と、動きベクトルΔ*による変換後の3次元ボディの姿勢の差を最小化するべく導出されたものである。本発明は、3次元ボディトラッキングに適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、およびプログラム、並びに目標関数に関し、特に、例えば、動きのある人物などの被写体を撮影した連続画像に基づき、当該被写体の動きを複数のパートから構成された3次元ボディによりモデル化する3次元ボディトラッキングに用いて好適な画像処理装置、画像処理方法、およびプログラム、並びに目標関数に関する。
【背景技術】
【0002】
3次元ボディトラッキングにおいては、例えば図1に示すように、時間的に連続して撮影されたフレーム画像F0,F1のうち、基準とするフレーム画像F0内の被写体を、例えば頭部、胴体部、腕の肩から肘までの部分、腕の肘から指先までの部分、足の腰から膝までの部分、膝から足先までの部分などに分割し、それぞれを3次元のパートとする3次元ボディ画像B0を生成する。そして、3次元ボディ画像B0の各パートの動きを、フレーム画像F1に基づいて追跡(トラッキング)することにより、フレーム画像F1に対応する3次元ボディ画像B1を生成するようになされている。
【0003】
ところで、各パートの動きをトラッキングする際、各パートの動きを独立的に追跡すると、本来関節によって接続されていなければならないパート同士が離れてしまうことが発生し得る(図1Dの3次元ボディ画像B'1)。このような不具合の発生を防ぐため、「各パートは所定の関節点において他のパートと連続している」という条件(以下、関節拘束と称する)に従ってトラッキングする必要がある。
【0004】
このような必要に応じ、従来、関節拘束のあるトラッキング方法が数多く提案されている(例えば、非特許文献1乃至4)。
【0005】
【非特許文献1】D. Demirdjian, T. Ko and T. Darrell. “Constraining Human Body Tracking”. Proceedings of ICCV, vol.2, pp.1071, 2003.
【非特許文献2】Christoph Bregler, Jitendra Malik and Katherine Pullen. “Twist Based Acquisition and Tracking of Animal and Human Kinematics”. IJCV, vol.56, no.3, pp.179-194, 2004.
【非特許文献3】Steffen Knoop, Stefan Vacek, and Rudiger Dillmann. “Modeling Joint Constraints for an Articulated 3D Human Body Model with Artificial Correspondences in ICP”. Proceedings of Humanoids, pp.74-79, 2005.
【非特許文献4】Ivana Mikic, Mohan Trivedi, Edward Hunter and Pamela Cosman. “Human Body Model Acquisition and Tracking Using Voxel Data”. IJCV, vol.53, no.3, pp.199-223, 2003.
【発明の開示】
【発明が解決しようとする課題】
【0006】
非引用文献1では、ICP(Iterative Closest Point)レジスタ手法によって独立的に求めた各パートの動きを、線形運動空間において関節拘束を満たす運動に射影する手法が提案されている。当該射影の方向はICPの相関行列Σ-1によって決定される。
【0007】
ICPの相関行列Σ-1を使って射影方向を決定することの利点は、射影した運動で3次元ボディの各パートを動かした姿勢が、被写体の実際の姿勢に最も近くなることである。
【0008】
反対に、ICPの相関行列Σ-1を使って射影方向を決定することの欠点としては、ICPレジスタ手法では2台のカメラによって同時に撮影された2枚の画像の視差に基づいて3次元復元を行っているので、1台のカメラによって撮影された画像を用いる手法に適用できない点が挙げられる。また、3次元復元の精度とエラーが射影方向の決定精度に大きく依存しているので、射影方向の決定が不安定であるという問題がある。さらに、ICPレジスタ手法は、演算量が多く処理に時間がかかるという問題もある。
【0009】
本発明はこのような状況に鑑みてなされたものであり、ICPレジスタ手法に比較して、より少ない演算量、より高い精度で安定的に3次元ボディトラッキングを行うようにするものである。
【課題を解決するための手段】
【0010】
本発明の第1の側面である画像処理装置は、動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する画像処理装置において、撮影された前記フレーム画像を取得する取得手段と、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算するとともに、前記3次元ボディの各パートの座標に関する第2の行列を演算し、さらに前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成する予測手段と、前記予測手段によって演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算する演算手段と、前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定する決定手段とを含み、前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである。
【0011】
前記予測手段は、撮影された基準とする基準フレーム画像に対応する3次元ボディのボディ姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算するとともに、前記3次元ボディの各パートについて、前記パートに含まれる複数点であって、且つ、同一直線上に存在しない前記複数点の座標に関する第2の行列を演算し、さらに前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成するようにすることができる。
【0012】
前記所定の目標関数では、前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きが少ないとの仮定に基づき、螺旋運動によって表記された前記被写体の動きが線形化されているようにすることができる。
【0013】
前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きは、絶対座標系を用いて表記されているようにすることができる。
【0014】
前記所定の目標関数では、前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きが少ないとの仮定に基づき、互いに直交する3軸をそれぞれ中心とする回転運動によって表記された前記被写体の動きが線形化されているようにすることができる。
【0015】
前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きは、相対座標系を用いて表記されているようにすることができる。
【0016】
前記所定の目標関数は、
(Δ*−Δ)tC(Δ*−Δ)
であり、
前記演算手段は、前記所定の目標関数を最小化する第2の運動ベクトルを、
Δ*=V(VtCV)-1tCΔ
により演算するようにすることができる。
ただし、
Δ*は前記第2の運動ベクトル
Vは前記第1の行列
Cは前記第2の行列
Δは前記第1の運動ベクトル
である。
【0017】
本発明の第1の側面である画像処理方法は、動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する画像処理装置の画像処理方法において、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算し、前記3次元ボディの各パートの座標に関する第2の行列を演算し、前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成し、演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算し、前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定するステップを含み、前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである。
【0018】
本発明の第1の側面であるプログラムは、動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化するコンピュータの制御用のプログラムであって、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算し、前記3次元ボディの各パートの座標に関する第2の行列を演算し、前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成し、演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算し、前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定するステップを含む処理をコンピュータに実行させ、前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである。
【0019】
本発明の第2の側面である目標関数は、動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する3次元ボディトラッキング処理に用いる目標関数であって、前記3次元ボディの各パートの動きを関節拘束なしで予測した第1の運動ベクトルを入力、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを出力とし、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化する。
【0020】
本発明の第1の側面においては、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、3次元ボディの各パートを接続する関節の座標に関する第1の行列が演算され、3次元ボディの各パートの座標に関する第2の行列が演算され、基準フレーム画像の次のフレーム画像に基づいて各パートの動きを関節拘束なしで予測した第1の運動ベクトルが生成される。そして、演算された第1および第2の行列、並びに第1の運動ベクトルが用いられ、所定の目標関数が所定の条件を満たすように、各パートの動きを関節拘束ありで予測した第2の運動ベクトルが演算され、基準フレーム画像に対応する3次元ボディが、演算された第2の運動ベクトルに従って変換させることにより、次のフレーム画像に対応する3次元ボディが決定される。なお、所定の目標関数に対する所定の条件は、第1の運動ベクトルによる変換後の3次元ボディの姿勢と、第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである。
【0021】
本発明の第2の側面においては、3次元ボディの各パートの動きを関節拘束なしで予測した第1の運動ベクトルが入力、各パートの動きを関節拘束ありで予測した第2の運動ベクトルが出力であり、第1の運動ベクトルによる変換後の3次元ボディの姿勢と、第2の運動ベクトルによる変換後の3次元ボディの姿勢の差が最小となる第2の運動ベクトルが出力される。
【発明の効果】
【0022】
本発明の第1の側面によれば、ICPレジスタ手法に比較して、より少ない演算量、より高い精度で安定的に3次元ボディトラッキングを行うことができる。
【0023】
本発明の第2の側面によれば、関節拘束のない第1の運動ベクトルに基づき、第1の運動ベクトルによる変換後の3次元ボディの姿勢と、関節拘束のある第2の運動ベクトルによる変換後の3次元ボディの姿勢の差が最小となる第2の運動ベクトルを決定することができる。
【発明を実施するための最良の形態】
【0024】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0025】
本発明の第1の側面である画像処理装置(例えば、図3の画像処理装置10)は、動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する画像処理装置において、撮影された前記フレーム画像を取得する取得手段(例えば、図3のフレーム画像取得部11)と、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列(例えば、行列V)を演算するとともに、前記3次元ボディの各パートの座標に関する第2の行列(例えば、行列C)を演算し、さらに前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトル(例えば、運動ベクトルΔ)を生成する予測手段(例えば、図3の予測部12)と、前記予測手段によって演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトル(例えば、運動ベクトルΔ*)を演算する演算手段(例えば、図3の運動ベクトル決定部13)と、前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定する決定手段(例えば、図3の3次元ボディ画像生成部14)とを含み、前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである。
【0026】
本発明の第1の側面である画像処理方法およびプログラムは、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算し(例えば、図4のステップS2)、前記3次元ボディの各パートの座標に関する第2の行列を演算し(例えば、図4のステップS3)、前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成し(例えば、図4のステップS4)、演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算し(例えば、図4のステップS5)、前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定するステップ(例えば、図4のステップS6)を含み、前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである。
【0027】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0028】
本発明は、図1を用いて説明した3次元ボディトラッキングを実現するため、各パートを独立的にトラッキングして求めた関節拘束のない運動ベクトルΔに基づき、各パートの動きが統合された関節拘束のある運動ベクトルΔ*を算出する方法を提案するとともに、1フレーム前の3次元ボディ画像B0に運動ベクトルΔ*を適用して、現フレームの3次元ボディ画像B1を生成できるようにするものである。
【0029】
本発明では、3次元ボディの各パートの動き(位置と姿勢の変化)を2種類の表記方法によって表現し、それぞれの表記方法を用いて最適な目標関数を導出する。
【0030】
まず、第1の表記方法について説明する。3次元空間における剛体(各パートに相当)の運動を表す場合、従来から4×4の変換行列による線形変換が用いられる。第1の表記方法では、全ての剛体運動を、所定の軸に対する回転運動と、当該軸に平行に移動する並進運動との組み合わせによって表記する。この回転運動と並進運動の組み合わせは螺旋運動と称される。
【0031】
例えば図2に示すように、剛体が点p(0)から螺旋運動の回転角θによって点p(θ)に移動した場合、この運動は次式(1)に示すように指数を用いて表記される。
【0032】
【数1】

・・・(1)
【0033】
式(1)のeξθ(ξの上の^は表記の都合により明細書においては省略する。以降においても同様とする)は、剛体の運動(変換)Gを示しており、テイラー展開によって次式(2)に示すとおりとなる。
【0034】
【数2】

・・・(2)
【0035】
なお、Iは単位行列を示している。また、指数部分におけるξは、螺旋運動を示しており、次式(3)に示される4×4の行列、または6次元のベクトルで表記される。
【数3】

・・・(3)
ただし、
【数4】

・・・(4)
である。
【0036】
したがって、ξθは次式(5)に示されるとおりとなる。
【0037】
【数5】

・・・(5)
【0038】
なお、ξθの6個の独立変数ξ1θ,ξ2θ,ξ3θ,ξ4θ,ξ5θ,ξ6θのうち、前半のξ1θ乃至ξ3θは螺旋運動の回転運動に関わり、後半のξ4θ乃至ξ6θは螺旋運動の並進運動に関わる。
【0039】
ここで、「連続するフレーム画像F0,F1間における剛体の移動量が小さい」ということを仮定すれば、式(2)の第3項以降は省略でき、剛体の運動(変換)Gは次式(6)に示すように線形化することができる。
【0040】
【数6】

・・・(6)
【0041】
なお、連続するフレーム画像F0,F1間における剛体の移動量が大きい場合には、撮影時のフレームレートを上げることによって、フレーム間の移動量を小さくすることができる。したがって、「連続するフレーム画像F0,F1間における剛体の移動量が小さい」との仮定を常に成立させることができるので、以降においては、剛体の運動(変換)Gとして式(6)を採用する。
【0042】
次に、N個のパート(剛体)からなる3次元ボディの運動について考察する。上述したように、各パートの運動は、ξθのベクトルによって表記されるので、関節拘束のない3次元ボディの運動ベクトルΔは、次式(7)に示されるように、N個のξθのベクトルによって表示される。
【0043】
【数7】

・・・(7)
【0044】
なお、N個の各ξθのベクトルは、それぞれ6個の独立変数ξ1θ乃至ξ6θを有しているので、3次元ボディの運動ベクトルΔは、6N次元となる。
【0045】
ここで、式(7)を簡略化するため、次式(8)のように、6個の独立変数ξ1θ乃至ξ6θのうち、螺旋運動の回転運動に関わる前半のξ1θ乃至ξ3θを3次元ベクトルriで表記し、螺旋運動の並進運動に関わる後半のξ4θ乃至ξ6θを3次元ベクトルtiで表記する。
【数8】

・・・(8)
【0046】
この結果、式(7)は次式(9)に示すとおり簡略化できる。
【0047】
【数9】

・・・(9)
【0048】
ところで、3次元ボディを構成するN個のパートには、実際には関節拘束を適用する必要がある。そこで次に、関節拘束のない3次元ボディの動きベクトルΔから、関節拘束のある3次元ボディの動きベクトルΔ*を求める方法について説明する。
【0049】
なお、以下の説明は、動きベクトルΔによる変換後の3次元ボディの姿勢と、動きベクトルΔ*による変換後の3次元ボディの姿勢の差は最小となるとの考えに基づくものである。
【0050】
具体的には、3次元ボディを構成する各パートの任意の3点(ただし、3点は同一直線上に存在しない)を決定し、動きベクトルΔによる変換後の3次元ボディの姿勢の当該3点と、動きベクトルΔ*による変換後の3次元ボディの姿勢の当該3点との距離を最小化する動きベクトルΔ*を求めている。
【0051】
関節拘束のある3次元ボディの動きベクトルΔ*は、3次元ボディが有する関節の数をM個とした場合、上述した非特許文献1にも記載されているように、関節座標で構築した3M×6Nの関節拘束行列Φの零空間null space{Φ}に属するものとする。
【0052】
ここで、関節拘束行列Φについて説明する。M個の各関節をJi(i=1,2,…,M)、関節Jiが連結するパートの索引をmi,niで示し、各関節Jiに対して次式(10)に示される3×6Nの部分行列を生成する。
【0053】
【数10】

・・・(10)
【0054】
なお、式(10)において、03は3×3の零行列であり、I3は3×3の単位行列である。
【0055】
このようにして得られたM個の3×6Nの部分行列を列に沿って並べることにより、次式(11)に示す3M×6Nの行列を生成する。この行列を関節拘束行列Φとする。
【0056】
【数11】

・・・(11)
【0057】
3次元ボディを構成するN個のパートのうちのパートi(i=1,2,・・・,N)における同一直線上に存在しない任意の3点を{pi1,pi2,pi3}と表記すれば、目標関数は次式(12)に示すとおりとなる。
【0058】
【数12】

・・・(12)
【0059】
式(12)の目標関数を展開すると、次式(13)となる。
【0060】
【数13】

・・・(13)
【0061】
なお、式(13)において演算子(・)×は、3次元座標pを
【数14】

とした場合、
【数15】

となる3×3の行列の生成を意味する。
【0062】
ここで、6×6の行列Cijを次式(14)に示すように定義する。
【0063】
【数16】

・・・(14)
【0064】
式(14)の定義により、目標関数は次式(15)に示すとおりに整理される。
【0065】
【数17】

・・・(15)
ただし、式(15)におけるCは次式(16)に示される6N×6Nの行列である。
【0066】
【数18】

・・・(16)
【0067】
式(15)に示された目標関数は、非特許文献1に開示されている方法と同様に解くことができる。すなわち、SVDアルゴリズムにより、関節拘束行列Φの零空間の(6N-3M)個の6N次元の基底ベクトル{v1,v2,・・・,vK}(K=1,・・・,6N-3M)を抽出する。運動ベクトルΔ*は、関節拘束行列Φの零空間に属するので、次式(17)に示すとおり表記される。
Δ*=λ11+λ22+…+λKK
・・・(17)
【0068】
さらに、ベクトルδ=(λ1,λ2,…,λKtと、抽出された6N次元分の関節拘束行列Φの零空間の基底ベクトルを行に沿って並べることにより生成した6N×(6N−3M)の行列V=[v12 … vK]を定義すれば、式(17)は、次式(18)に示すとおりとなる。
Δ*=Vδ
・・・(18)
【0069】
式(15)に示された目標関数のうちの(Δ*−Δ)tC(Δ*−Δ)に、式(18)に示されたΔ*=Vδを代入すれば、次式(19)に示すとおりとなる。
(Vδ−Δ)tC(Vδ−Δ)
・・・(19)
【0070】
式(19)の差分を0とする場合、ベクトルδは次式(20)に示すとおりとなる。
δ=(VtCV)-1tCΔ
・・・(20)
【0071】
したがって、式(18)に基づき、目標関数を最小化する最適な運動ベクトルΔ*は、次式(21)に示すとおりであり、この式(21)を用いることにより、関節拘束のない運動ベクトルΔから、最適な関節拘束のある運動ベクトルΔ*を演算することが可能となる。
Δ*=V(VtCV)-1tCΔ
・・・(21)
【0072】
ところで、上述した非特許文献1によれば、関節拘束のない運動ベクトルΔから、関節拘束のある最適な運動ベクトルΔ*を演算する式として次式(22)が開示されている。
Δ*=V(VtΣ-1V)-1tΣ-1Δ
・・・(22)
ただし、Σ-1はICPの相関行列である。
【0073】
本発明に対応する式(21)と非特許文献1に記載の式(22)を比較した場合、その差異は見かけ上、Σ-1がCに置換されている点のみである。しかしながら、本発明に対応する式(21)と、非特許文献1に記載の式(22)とは、それぞれを導き出す過程における考えが全く異なるものである。
【0074】
非特許文献1の場合、関節拘束行列Φの零空間に属する運動ベクトルΔ*と、運動ベクトルΔのMahalanobis距離を最小化する目標関数を導出しており、運動ベクトルΔの各分量の相関関係に基づき、ICPの相関行列Σ-1を計算している。
【0075】
これに対して、本願発明の場合、動きベクトルΔによる変換後の3次元ボディの姿勢と、動きベクトルΔ*による変換後の3次元ボディの姿勢の差を最小化する目標関数を導出している。したがって、本発明に対応する式(21)では、ICPレジスタ手法を用いていないので、3次元復元精度に依存することなく、安定的に射影方向を決定することができる。また、フレーム画像の撮影方法を限定することがない。また、ICPレジスタ手法を用いる非特許文献1の場合に比較して、演算量を削減することができる。
【0076】
次に、3次元ボディの各パートの動きを表記する第2の表記方法について説明する。
【0077】
第2の表記方法では、3次元ボディの各パートの姿勢を、世界座標系における始点(相対座標系における原点)と、世界座標系のx,y,z軸をそれぞれ中心とする回転角度で表す。一般に、世界座標系におけるx軸を中心とする回転はRollと称され、y軸を中心とする回転はPitchと称され、z軸を中心とする回転はYawと称される。
【0078】
以下、3次元ボディのパートiの世界座標系における始点を(xi,yi,zi)、Roll、Pitch,Yawの回転角度を、それぞれαi,βi,γiとする。この場合、パートiの姿勢は、以下に示す1つの6次元ベクトルによって表現される。
[αi,βi,γi,xi,yi,zit
【0079】
一般に、剛体の姿勢は、4×4の行列であるHomogeneous transformation matrix(以下、H-行列または変換行列と称する)によって表される。パートiに対応するH-行列は、世界座標系における始点(xi,yi,zi)、Roll、Pitch,Yawの回転角度αi,βi,γi(rad)を次式(23)に適用することによって演算することができる。
【0080】
【数19】

・・・(23)
【0081】
そして、剛体運動の場合、フレーム画像Fnにおけるパートiに属する任意の点Xの3次元位置は、H-行列を用いた次式(24)によって計算することができる。
n=Pi+G(dαi,dβi,dγi,dxi,dyi,dzi)・(Xn-1−Pi
・・・(24)
【0082】
ここで、G(dαi,dβi,dγi,dxi,dyi,dzi)は、連続するフレーム画像Fn-1,Fn間のパートiの運動変化量dαi,dβi,dγi,dxi,dyi,dziをパーティクルフィルタなどを用いたトラッキング手法によって演算し、この演算結果を式(23)に代入して演算した4×4の行列である。Pi=(xi,yi,zitは、パートiのフレーム画像Fn-1における始点である。
【0083】
式(24)に対し、「連続するフレーム画像Fn-1,Fn間における剛体の移動量が小さい」ということを仮定すれば、各回転角度の変化量は微小となるので、sin x≒x,cos x≒1の近似が成立する。また、多項式の2次項以降も0となり省略できる。よって、式(24)における変換行列G(dαi,dβi,dγi,dxi,dyi,dzi)は、次式(25)に示すとおりに近似される。
【0084】
【数20】

・・・(25)
【0085】
式(25)から明らかなように、変換行列Gの回転部分(左上3×3)は、単位行列+外積行列の形となっていることに着目し、この形を利用して式(24)を次式(26)に変形する。
【0086】
【数21】

・・・(26)
【0087】
さらに、式(26)における
【数22】

をriに置換し、
【数23】

をtiに置換すれば、式(26)は次式(27)に示すように整理される。
n=Xn-1+ri×(Xn-1−Pi)+ti
・・・(27)
【0088】
ところで、3次元ボディを構成する各パートは他のパートと関節によって連結されている。例えば、パートiとパートjが関節Jijで連結されているとすれば、フレーム画像Fnにおいてパートiとパートjが連結される条件(関節拘束条件)は、次式(28)のとおりである。
i×(Jij−Pi)+ti=tj
−(Jij−Pi)×ri+ti−tj=0
[Jij−Pi×・ri−ti+tj=0
・・・(28)
なお、式(28)における演算子[・]×は、式(13)の場合と同様である。
【0089】
さらに、N個のパートとM個の関節からなる3次元ボディの全体の関節拘束条件は以下の通りとなる。すなわち、M個の各関節をJk(k=1,2,…,M)、関節Jkが連結する2つのパートの索引をik,jkで示し、各関節Jkに対して次式(29)に示される3×6Nの部分行列を生成する。
【0090】
【数24】

・・・(29)
【0091】
なお、式(29)において、03は3×3の零行列であり、I3は3×3の単位行列である。
【0092】
このようにして得られたM個の3×6Nの部分行列を列に沿って並べることにより、次式(30)に示す3M×6Nの行列を生成する。この行列を関節拘束行列Φとする。
【0093】
【数25】

・・・(30)
【0094】
そして、上述した式(9)と同様、3次元ボディのフレーム画像Fn-1,Fn間の変化量を示すriとtiを順番に並べて6N次元の運動ベクトルΔを生成すれば、次式(31)に示すとおりとなる。
【数26】

・・・(31)
【0095】
したがって、3次元ボディの関節拘束条件式は、次式(32)となる。
ΦΔ=0
・・・(32)
【0096】
なお、式(32)は数学的に、運動ベクトルΔが関節拘束行列Φの零空間null space{Φ}に含まれることを意味する。すなわち、次式(33)のとおりに記述される。
Δ ∈ null space{Φ}
・・・(33)
【0097】
以上のようにして求めた運動ベクトルΔと関節拘束条件式(32)に基づき、3次元ボディを構成するN個のパートのうちのパートi(i=1,2,・・・,N)における同一直線上に存在しない任意の3点を{pi1,pi2,pi3}と表記すれば、目標関数は式(12)と同様の式がえられる。
【0098】
ただし、第1の表記方法では、3次元ボディの動きが螺旋運動で表記され、パートiにおける同一直線上に存在しない任意の3点の座標を絶対座標系で表していたことに対し、第2の表記方法では、3次元ボディの動きが絶対座標の原点とx,y,z軸に対する回転運動で表記され、パートiにおける同一直線上に存在しない任意の3点の座標を、パートiの始点Piを原点とする相対座標系で表している点が異なるので、第2の表記方法の対応する目標関数は次式(34)に示すとおりとなる。
【0099】
【数27】

・・・(34)
【0100】
式(34)に示された目標関数を展開、整理し、最適な運動ベクトルΔ*を求める過程は、上述した第1の表記方法に対応する目標関数を展開、整理し、最適な運動ベクトルΔ*を求める過程(すなわち、式(12)から式(21)を導出した過程)と同様である。ただし、第2の表記方法に対応する過程においては、第1の表記方法に対応する過程で定義された6×6の行列Cij(式(14))の代わりに、次式(35)に示す6×6の行列Cijを定義して用いる。
【0101】
【数28】

・・・(35)
【0102】
そして最終的に求められる第2の表記方法に対応する最適な運動ベクトルΔ*は、
Δ*=[dα0*,dβ0*,dγ0*,dx0*,dy0*,dz0*,・・・]t
となり運動パラメータそのものであるので、次のフレーム画像における3次元ボディの生成にそのまま直接用いることができる。
【0103】
次に、本発明に対応する式(21)を3次元ボディトラッキングに用い、図1に示されたように、時間的に連続して撮影されたフレーム画像F0,F1から3次元ボディ画像B1を生成する画像処理装置について説明する。
【0104】
図3は、当該画像処理装置の構成例を示している。この画像処理装置10は、カメラなどによって撮影されたフレーム画像を取得するフレーム画像取得部11、前フレーム画像に対応する3次元ボディ画像と現フレーム画像とに基づいて3次元ボディを構成する各パートの動き(関節拘束のない運動ベクトルΔに相当)を予測する予測部12、予測結果を式(21)に適用して関節拘束のある運動ベクトルΔ*を決定する運動ベクトル決定部13、および、前フレーム画像に対応する生成済みの3次元ボディ画像を、決定された関節拘束のある運動ベクトルΔ*を用いて変換することにより現フレームに対応する3次元ボディ画像を生成する3次元ボディ画像生成部14から構成される。
【0105】
次に、画像処理装置10による3次元ボディ画像生成処理について、現フレーム画像F1に対応する3次元ボディ画像B1を生成する場合を例に、図4のフローチャートを参照して説明する。なお、前フレーム画像F0に対応する3次元ボディ画像B0は既に生成されているものとする。
【0106】
ステップS1において、フレーム画像取得部11は、撮影された現フレーム画像F1を取得して予測部12に供給する。予測部12は、3次元ボディ画像生成部14からフィードバックされた、前フレーム画像F0に対応する3次元ボディ画像B0を取得する。
【0107】
ステップS2において、予測部12は、フィードバックされた3次元ボディ画像B0におけるボディ姿勢に基づき、関節座標を要素とする3M×6Nの関節拘束行列Φを構築し、さらに関節拘束行列Φの零空間の基底ベクトルを要素とする6N×(6N−3M)の行列Vを構築する。
【0108】
ステップS3において、予測部12は、フィードバックされた3次元ボディ画像B0の各パートについて、同一直線上に存在しない任意の3点を選択し、6N×6Nの行列Cを演算する。
【0109】
ステップS4において、予測部12は、3次元ボディ画像B0と現フレーム画像F1に基づき、3次元ボディの関節拘束のない運動ベクトルΔを演算する。すなわち、3次元ボディを構成する各パートの動きを予測する。この予測には、従来存在するKalmanフィルタ、Particleフィルタ、またはInteractive Closest Point法などの代表的な手法を用いることができる。
【0110】
そして、ステップS2乃至S4の処理で得られた行列V、行列C、および運動ベクトルΔは、予測部12から運動ベクトル決定部13に供給される。
【0111】
ステップS5において、運動ベクトル決定部13は、予測部12から供給された行列V、行列C、および運動ベクトルΔを式(21)に代入することにより、最適な関節拘束のある運動ベクトルΔ*を演算して3次元ボディ画像生成部14に出力する。
【0112】
ステップS6において、3次元ボディ画像生成部14は、前フレーム画像F0に対応する生成済みの3次元ボディ画像B0を、運動ベクトル決定部13から入力された最適な関節拘束のある運動ベクトルΔ*を用いて変換することにより、現フレーム画像F1に対応する3次元ボディ画像B1を生成する。なお、生成された3次元ボディ画像B1は、後段に出力されるとともに予測部12にフィードバックされる。
【0113】
以上で、画像処理装置10による3次元ボディ画像生成処理の説明を終了する。
【0114】
ところで、上述した一連の処理は、図3のように構成されたハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0115】
図5は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0116】
このコンピュータ100において、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
【0117】
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性メモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどの記録媒体111を駆動するドライブ110が接続されている。
【0118】
以上のように構成されるコンピュータ100では、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105およびバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
【0119】
CPU101が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアである記録媒体111に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【0120】
そして、プログラムは、記録媒体111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
【0121】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0122】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0123】
【図1】3次元ボディトラッキングの概要を説明するための図である。
【図2】剛体の螺旋運動を説明するための図である。
【図3】本発明を適用した画像処理装置の構成例を示すブロック図である。
【図4】3次元ボディ画像生成処理を説明するフローチャートである。
【図5】コンピュータの構成例を示すブロック図である。
【符号の説明】
【0124】
10 画像処理装置, 11 フレーム画像取得部, 12 予測部, 13 運動ベクトル決定部, 14 3次元ボディ画像生成部, 100 コンピュータ, 101 CPU, 111 記録媒体

【特許請求の範囲】
【請求項1】
動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する画像処理装置において、
撮影された前記フレーム画像を取得する取得手段と、
撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算するとともに、前記3次元ボディの各パートの座標に関する第2の行列を演算し、さらに前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成する予測手段と、
前記予測手段によって演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算する演算手段と、
前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定する決定手段とを含み、
前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである
画像処理装置。
【請求項2】
前記予測手段は、撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算するとともに、前記3次元ボディの各パートについて、前記パートに含まれる複数点であって、且つ、同一直線上に存在しない前記複数点の座標に関する第2の行列を演算し、さらに前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成する
請求項1に記載の画像処理装置。
【請求項3】
前記所定の目標関数では、前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きが少ないとの仮定に基づき、螺旋運動によって表記された前記被写体の動きが線形化されている
請求項1に記載の画像処理装置。
【請求項4】
前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きは、絶対座標系を用いて表記されている
請求項3に記載の画像処理装置。
【請求項5】
前記所定の目標関数では、前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きが少ないとの仮定に基づき、互いに直交する3軸をそれぞれ中心とする回転運動によって表記された前記被写体の動きが線形化されている
請求項1に記載の画像処理装置。
【請求項6】
前記基準フレーム画像と前記次のフレーム画像との間の被写体の動きは、相対座標系を用いて表記されている
請求項5に記載の画像処理装置。
【請求項7】
前記所定の目標関数は、
(Δ*−Δ)tC(Δ*−Δ)
であり、
前記演算手段は、前記所定の目標関数を最小化する第2の運動ベクトルを、
Δ*=V(VtCV)-1tCΔ
により演算する
ただし、
Δ*は前記第2の運動ベクトル
Vは前記第1の行列
Cは前記第2の行列
Δは前記第1の運動ベクトル
である
請求項1に記載の画像処理装置。
【請求項8】
動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する画像処理装置の画像処理方法において、
撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算し、
前記3次元ボディの各パートの座標に関する第2の行列を演算し、
前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成し、
演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算し、
前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定するステップを含み、
前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである
画像処理方法。
【請求項9】
動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化するコンピュータの制御用のプログラムであって、
撮影された基準とする基準フレーム画像に対応する3次元ボディの姿勢に基づき、前記3次元ボディの各パートを接続する関節の座標に関する第1の行列を演算し、
前記3次元ボディの各パートの座標に関する第2の行列を演算し、
前記基準フレーム画像の次のフレーム画像に基づいて前記各パートの動きを関節拘束なしで予測した第1の運動ベクトルを生成し、
演算された前記第1および第2の行列、並びに前記第1の運動ベクトルを用いて、所定の目標関数が所定の条件を満たすように、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを演算し、
前記基準フレーム画像に対応する3次元ボディを、演算された前記第2の運動ベクトルに従って変換させることにより、前記次のフレーム画像に対応する3次元ボディを決定するステップを含む処理をコンピュータに実行させ、
前記所定の目標関数に対する前記所定の条件は、前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化することである
プログラム。
【請求項10】
動きのある被写体を時間的に連続して撮影した複数のフレーム画像に基づき、前記被写体の動きを複数のパートから構成された3次元ボディによりモデル化する3次元ボディトラッキング処理に用いる目標関数であって、
前記3次元ボディの各パートの動きを関節拘束なしで予測した第1の運動ベクトルを入力、前記各パートの動きを関節拘束ありで予測した第2の運動ベクトルを出力とし、
前記第1の運動ベクトルによる変換後の3次元ボディの姿勢と、前記第2の運動ベクトルによる変換後の3次元ボディの姿勢の差を最小化する
目標関数。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−198174(P2008−198174A)
【公開日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願番号】特願2007−200477(P2007−200477)
【出願日】平成19年8月1日(2007.8.1)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】