以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
本発明の一実施態様に係る関節領域表示装置は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動軌跡から、関節領域を検出し、表示する関節領域表示装置であって、動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡に含まれる任意の移動軌跡ペアについて、前記移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、前記移動軌跡ペア以外の移動軌跡を中継点として前記移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出し、任意の移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、各移動軌跡間に対応する領域同士が同一の節を介して接続されている度合いである関節らしさを表す関節特徴量を算出する関節特徴算出部と、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているときの前記第1移動軌跡に対応する領域を関節領域として検出する関節検出部と、前記関節検出部が検出した前記関節領域を、ユーザが視認できる形態に変換して出力する表示制御部とを備える。
具体的には、前記関節検出部は、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、前記第1移動軌跡に対応する領域および前記第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているほど、前記第1移動軌跡に対応する領域が関節領域に含まれる可能性が高いと判断される節らしさ特徴量を算出し、算出した前記節らしさ特徴量から関節領域を検出してもよい。
好ましくは、前記関節検出部は、前記ピクチャ上における、算出した前記節らしさ特徴量の極大値に対応する移動軌跡が帰属する領域を関節領域として検出する。
上記した構成によって、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、関節領域(節領域)を検出し、表示することで、形状の変化の影響を受けることなく、正しく関節領域を表示することができる。以下では、関節領域のことを節領域とも言う。
具体的には、各移動軌跡に対して、測地距離の時間変化、2点間距離の時間変化がどちらもゼロである移動軌跡を、剛体領域に属する移動軌跡として検出する。
上記の処理により、検出した2つの剛体領域に含まれる移動軌跡のうち、2つの剛体領域の両方に含まれる移動軌跡を、関節領域が含む移動軌跡として検出し、表示することができる。
好ましくは、前記関節検出部は、着目する移動軌跡を除く前記複数の移動軌跡の中から移動軌跡のペアを複数選択し、選択したペアごとに、前記着目する移動軌跡を前記第1移動軌跡とし、当該移動軌跡のペアを前記第2移動軌跡および前記第3移動軌跡としたときの前記関節特徴量を加算することにより、前記着目する移動軌跡の節らしさ特徴量を算出し、算出した前記節らしさ特徴量から前記着目する移動軌跡に対応する領域が関節領域か否かを判定する。
この構成によると、全ての移動軌跡ペアについて処理を行って、関節領域を求めることもできる。
上記の処理により、多数の関節を同時に検出可能となるとともに、関節らしくない移動軌跡ペアから検出された関節領域の移動軌跡からは関節領域が検出されにくく、関節らしい移動軌跡ペアから検出された関節領域の移動軌跡からは関節領域が検出されやすくなるため、より安定して関節を検出することができる。関節らしい移動軌跡ペアとは、移動軌跡ペアを構成する各移動軌跡が含まれる剛体が同一の関節領域(節領域)を介して接続されているような移動軌跡のペアのことである。
この際、あらかじめ各移動軌跡について、各移動軌跡を含む剛体領域を算出しておくことで、後から全ての移動軌跡ペアについて計算する場合に比べ、計算量を削減できる。
また、前記関節検出部は、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、前記任意の移動軌跡のペアに対応する領域同士が同一剛体上に存在するか否かを判断することにより同一剛体に含まれる移動軌跡を検出した後、前記第1移動軌跡に対応する領域および前記第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているときの前記第1移動軌跡に対応する領域を関節領域として検出してもよい。
このようにすることで、効率よく関節の検出を行うことができる。
また、前記関節検出部は、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量が所定の閾値以下となる移動軌跡のみを用いて、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、前記任意の移動軌跡のペアに対応する領域同士が同一剛体上に存在するか否かを判断することにより同一剛体に含まれる移動軌跡を検出した後、前記第1移動軌跡に対応する領域および前記第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているときの前記第1移動軌跡に対応する領域を関節領域として検出してもよい。
このようにすることで、効率よく関節の検出を行うことができる。
好ましくは、前記任意の移動軌跡間の測地距離の時間変化は、あらかじめ定めた一連の処理フレームセットにわたる測地距離の時間変化の絶対値和であり、前記任意の移動軌跡間の2点間距離の時間変化は、あらかじめ定めた一連の処理フレームセットにわたる2点間距離の時間変化の絶対値和である。
複数フレームにわたる時間変化を用いるため、より確実に移動軌跡間距離の時間変化を捉えることができる。
さらに好ましくは、前記関節特徴算出部は、前記任意の移動軌跡間の測地距離の時間変化を、前記任意の移動軌跡間の2点間距離の時間変化で除した値に基づいて、前記任意の移動軌跡間の関節特徴量を算出する。
この構成によると、単純な式で関節らしさを表現することができる。なお、2点間距離の時間変化が0の場合、関節特徴量が無限大になることを防ぐためにエラー値を設定しておくとよい。
また、前記関節特徴算出部は、前記測地距離の時間変化と前記2点間距離の時間変化と前記関節特徴量との対応関係を示したデータテーブルを参照することにより、前記任意の移動軌跡間の関節特徴量を算出してもよい。
実験などにより、あらかじめデータテーブルを作成しておくことで、より精度よく関節領域を検出することができる。
また、前記関節特徴算出部は、前記任意の移動軌跡間について、前記測地距離の時間変化があらかじめ定めた測地距離閾値よりも小さく、かつ前記2点間距離の時間変化があらかじめ定めた2点間距離閾値よりも大きい場合に、前記関節特徴量を1として算出し、前記測地距離の時間変化があらかじめ定めた測地距離閾値以上の場合、または前記2点間距離の時間変化があらかじめ定めた2点間距離閾値以下の場合に、前記関節特徴量を0として算出してもよい。
適切に測地距離閾値および2点間距離閾値を設定することにより、簡易に関節特徴量を算出することができる。
好ましくは、前記表示制御部は、前記ピクチャ上の前記関節検出部が検出した関節領域に含まれる移動軌跡に対応する領域の位置を特定の色で塗りつぶし、出力する。
例えば、関節領域に含まれる移動軌跡に対応する領域の位置を赤色または黄色などで塗りつぶして表示することで、関節領域の位置を容易にユーザに提示できる。
また、前記表示制御部は、前記ピクチャ上の関節領域を介して接続された領域である関節状領域のうち、前記関節検出部が検出した関節領域を除く剛体領域に含まれる移動軌跡に対応する領域の位置を特定の色で塗りつぶし、出力してもよい。
間に関節領域(節領域)を挟む剛体の領域が表示されれば、ユーザは容易に移動体の剛体および関節領域の構造を理解可能である。
また、前記表示制御部は、前記ピクチャ上の関節領域を介して接続された領域である関節状領域のうち、前記関節検出部が検出した関節領域を除く剛体領域に含まれる移動軌跡に対応する領域の位置と、前記関節検出部が検出した関節領域に含まれる移動軌跡に対応する領域の位置とを、それぞれ異なる特定の色で塗りつぶし、出力してもよい。
この構成によると、ユーザに対して、関節領域および剛体の両方の情報を与えることができるため、よりユーザにとって見やすい画像が実現できる。
また、前記関節検出部が検出した関節領域に含まれる移動軌跡に対応する領域の位置を塗りつぶすための前記特定の色は、前記関節検出部が検出した関節領域の節らしさ特徴量の値に応じた色であってもよい。
この構成によると、関節領域の節らしさの信頼度をユーザに示すことができる。
また、前記表示制御部は、前記ピクチャ上に、共通の剛体領域に含まれる関節領域同士を結んだ直線を重畳して、出力してもよい。
この構成によると、コンピュータグラフィクスにおけるボーンのような表示を行うことができる。よって、関節領域表示装置を2次元のアニメーション表示等に利用することも可能である。
また、上述の関節領域表示装置は、さらに、動画像を構成する複数枚のピクチャを受け付ける画像入力部と、受け付けられた前記ピクチャを構成する1個以上の画素からなるブロックごとに、前記動画像を構成する時間的に隣接する2枚のピクチャ間での当該ブロックの動きを検出し、検出した動きを前記複数枚のピクチャについて連結することにより、複数の移動軌跡を算出する移動軌跡算出部とを備えていてもよい。
また、前記関節特徴算出部は、さらに、縦軸および横軸を移動軌跡のペアの2点間距離の時間変化および測地距離の時間変化とするグラフにおいて、2点間距離の時間変化および測地距離の時間変化が等しくなる直線からの、着目する移動軌跡のペアである着目ペアの2点間距離の時間変化および測地距離の時間変化までの距離に基づいて、当該着目ペアが同一の剛体に含まれる程度を示す同一剛体特徴量を算出してもよい。
また、前記関節領域表示装置は、さらに、着目する移動軌跡について、前記着目する移動軌跡をペアとして含む移動軌跡ペア間の同一剛体特徴量と、当該ペアのうち前記着目する移動軌跡以外の移動軌跡の節らしさ特徴量との積を、前記着目する移動軌跡が関節領域を介して接続された領域である関節状領域に含まれる程度を示す関節状領域らしさとして算出し、関節状領域を検出する関節状領域検出部を備えていてもよい。
同一剛体特徴量を用いることにより、関節状領域を正確に検出することができる。
本発明の他の実施態様に係る関節領域表示装置は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動軌跡から、関節領域を検出し、表示する関節領域表示装置であって、動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡に含まれる任意の移動軌跡ペアについて、前記移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、前記移動軌跡ペア以外の移動軌跡を中継点として前記移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出し、任意の移動軌跡間の2点間距離の時間変化および測地距離の時間変化について、ユークリッド距離の時間変化が大きな値であるほど、また測地距離の時間変化がより小さいほど、大きくなるような正の値をとる関節特徴量を算出する関節特徴算出部と、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているときの前記第1移動軌跡に対応する領域を関節領域として検出する関節検出部と、前記関節検出部が検出した前記関節領域を、ユーザが視認できる形態に変換して出力する表示制御部とを備える。
上記した構成によって、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、関節領域を検出し、表示することで、形状の変化の影響を受けることなく、正しく関節領域を表示することができる。
本発明のさらに他の実施態様に係る関節領域表示装置は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動軌跡から、関節領域を検出し、表示する関節領域表示装置であって、動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡に含まれる任意の移動軌跡ペアについて、前記移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、前記移動軌跡ペア以外の移動軌跡を中継点として前記移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出し、縦軸および横軸を、任意の移動軌跡ペアの2点間距離の時間変化および測地距離の時間変化とするグラフにおいて、2点間距離の時間変化および測地距離の時間変化が等しくなる直線からの、着目する移動軌跡ペアである着目ペアの2点間距離の時間変化および測地距離の時間変化までの距離が遠いほど、より大きい値をとる関節特徴量を算出する関節特徴算出部と、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているときの前記第1移動軌跡に対応する領域を関節領域として検出する関節検出部と、前記関節検出部が検出した前記関節領域を、ユーザが視認できる形態に変換して出力する表示制御部とを備える。
上記した構成によって、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、関節領域を検出し、表示することで、形状の変化の影響を受けることなく、正しく関節領域を表示することができる。
本発明のさらに他の実施態様に係る関節領域検出装置は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動軌跡から、関節領域を検出する関節領域検出装置であって、動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡に含まれる任意の移動軌跡ペアについて、前記移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、前記移動軌跡ペア以外の移動軌跡を中継点として前記移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出し、任意の移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、各移動軌跡間に対応する領域同士が同一の節を介して接続されている度合いである関節らしさを表す関節特徴量を算出する関節特徴算出部と、前記関節特徴算出部が算出した前記任意の移動軌跡間の関節特徴量に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一の節を介して接続されているときの前記第1移動軌跡に対応する領域を関節領域として検出する関節検出部とを備える。
上記した構成によって、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、関節領域を検出することで、形状の変化の影響を受けることなく、正しく関節領域を検出することができる。
本発明のさらに他の局面に係る関節領域帰属度算出装置は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動領域の各々について、関節領域への帰属度を算出する関節領域帰属度算出装置であって、動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡に含まれる任意の移動軌跡ペアについて、前記移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、前記移動軌跡ペア以外の移動軌跡を中継点として前記移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出する距離算出部と、第1移動軌跡、第2移動軌跡および第3移動軌跡のうちの任意の2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、前記第1移動軌跡に対応する領域および前記第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一剛体上に存在し、かつ、同一の節を介して接続される別の剛体上に、前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が存在する、という3つの関係を同時に満たす度合いを示す節らしさ特徴量を、前記第1移動軌跡の関節領域への帰属度として算出する関節領域帰属度算出部とを備える。
上記した構成によって、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、移動軌跡の関節領域への帰属度を算出することで、移動体の形状の変化の影響を受けることなく、移動軌跡の関節領域への帰属度を正しく算出することができる。
本発明のさらに他の局面に係る関節状領域帰属度算出装置は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動領域の各々について、関節領域を介して接続された領域である関節状領域への帰属度を算出する関節状領域帰属度算出装置であって、動画像を構成する複数枚のピクチャにわたる、各々が前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡に含まれる任意の移動軌跡ペアについて、前記移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、前記移動軌跡ペア以外の移動軌跡を中継点として前記移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出する距離算出部と、着目する移動軌跡、第1移動軌跡、第2移動軌跡および第3移動軌跡のうちの任意の2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、前記第1移動軌跡に対応する領域および前記第2移動軌跡に対応する領域が同一剛体上に存在し、前記第1移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が同一剛体上に存在し、かつ、同一の節を介して接続される別の剛体上に、前記第2移動軌跡に対応する領域および前記第3移動軌跡に対応する領域が存在する、という3つの関係を同時に満たす度合いに基づいて求めた関節状領域らしさを、前記着目する移動軌跡の関節状領域への帰属度として算出する関節状領域帰属度算出部とを備える。
上記した構成によって、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、移動軌跡の関節状領域への帰属度を算出することで、移動体の形状の変化の影響を受けることなく、移動軌跡の関節状領域への帰属度を正しく算出することができる。
なお、本発明の関節領域表示装置は、関節領域表示装置に含まれる各処理部をハードウェアにより構成することにより実現されるだけでなく、上記各処理部をステップとする関節領域表示方法として実現したり、関節領域表示方法を、コンピュータ上のプログラムによって実現したり、そのプログラムを格納したCD−ROM等のコンピュータ読み取り可能な記録媒体、動画像において動きをもつオブジェクトの領域を抽出、または、分割する画像処理装置等として実現することもできる。また、関節領域検出装置、関節領域帰属度算出装置および関節状領域帰属度算出装置についても同様に方法またはプログラムにより実現可能である。
(実施の形態1)
以下、本発明の実施の形態1について、図面を用いて説明する。
図1は、実施の形態1における関節領域表示装置の構成を示す図である。図1に示されるように、関節領域表示装置100は、画像入力部101、移動軌跡算出部102および関節領域表示部103を備える。関節領域表示装置100は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動軌跡から、関節状動きを有する領域を検出し、表示する装置である。
本実施の形態では、関節領域表示装置100は、カメラ110で撮影した動画像を入力して、動画像中の関節領域を検出し、検出した結果に基づいてピクチャを生成して出力する。ディスプレイ120は、関節領域表示装置100から出力されるピクチャを表示する。本明細書中では、ピクチャのことを画像ともいう。
画像入力部101は、動画像を構成する複数枚のピクチャの入力を受け付ける処理部であり、例えば、カメラ、または、カメラと接続された通信インタフェース等である。なお、画像入力部101は、記憶装置に記憶されている動画像を読み出すインタフェースであっても良い。
移動軌跡算出部102は、画像入力部101で受け付けられたピクチャを構成する1個以上の画素からなるブロックごとに、動画像を構成する時間的に隣接する2枚のピクチャ間での当該ブロックの動きを検出し、検出した動きを前記複数枚のピクチャについて連結することで、複数の移動軌跡を算出する。ピクチャ間の対応点は、ピクチャの1画素ごとに対応点を求めてもよいし、ピクチャ内の隣接する複数の画素(ブロック)ごとに1つの対応点を求めるとしてもよい。本明細書では、ある対応点が、1画素ごとに求められたか、複数の画素に対して1つ求められたかを区別しない。また、あるピクチャの画素iに対応する他のピクチャの対応点、および、あるピクチャのブロックiに対応する他のピクチャの対応点を、いずれも画素iの移動軌跡と呼ぶものとする。
関節領域表示部103は、移動軌跡算出部102で求めた移動軌跡をもとに、移動軌跡間距離の時間変化に基づいて、関節動きを行う領域を検出し、表示を行う処理部である。関節領域表示部103は、関節特徴算出部104、関節検出部105および表示制御部106を備える。
関節特徴算出部104は、距離算出部107、および特徴量算出部108を備える。
距離算出部107は、移動軌跡間の類似度を表す距離を算出する処理部である。つまり、距離算出部107は、第1の移動軌跡と他の第2の移動軌跡とを直接結んだ距離である2点間距離と、第1の移動軌跡および第2の移動軌跡以外の移動軌跡を中継点として第1の移動軌跡から第2の移動軌跡にたどりつく経路の距離である測地距離とを算出する。
本実施の形態では、距離算出部107は、移動軌跡算出部102で求めた複数の移動軌跡から、T枚(T>=2)のピクチャ間にわたる対応点であるN個の移動軌跡を抽出し、抽出した移動軌跡より、移動軌跡間の類似度を表す2点間距離および測地距離を算出する。
なお、本明細書における2つの移動軌跡間の「距離」は、対応する2次元画像空間における2点の間の距離だけでなく、後述するように、多次元のデータ間の算術的な距離を含む。なお、一般的に距離と類似度は相反する関係がある。すなわち、2つのデータ間の距離が小さい場合、類似度が高く、逆に2つのデータの距離が大きい場合、類似度が低いものとする。
また、本明細書において「2点間距離」および「測地距離」の2種類の距離を定義しているが、「2点間距離」は2つのデータ間のみから求まる距離のことを指し、「測地距離」は、後述するように2つのデータ以外の点を経由することで求められる距離のことを指す。
なお、本明細書における「2点間距離」は、移動軌跡間のピクチャ座標における位置、速度、加速度等といった幾何的な類似度を表す指標となる距離であり、必ずしも線形距離である必要はない。「2点間距離」の代表的なものとして本明細書では「ユークリッド距離」を以降説明のため用いる。前記の距離の詳細な例については、距離算出部107の説明の部分にて後述する。
特徴量算出部108は、距離算出部107で算出された測地距離、ユークリッド距離のそれぞれについて、距離の時間変化を求め、求めた距離の時間変化に基づき、関節らしさを表す特徴量である関節特徴量の算出を行う処理部である。
つまり、特徴量算出部108は、任意の2つの移動軌跡間のユークリッド距離の時間変化および測地距離の時間変化に基づいて、2つの移動軌跡が同一の関節により接続された関節状動きを行う移動軌跡でありそうな度合い(後述する関節特徴量)を算出し後段に出力する。
次に、関節検出部105は、移動軌跡間の関節特徴量に基づいて、それぞれ異なる3つの移動軌跡の間で、それぞれ2つが同一剛体上か、同一の節を介して接続されているかを求め、求めた関係に基づいて、関節(節領域、関節領域)を検出する。
最後に、表示制御部106は、関節検出部105で処理された動画像中の関節の検出結果を出力する。具体的には、表示制御部106は、画像入力部101で受け付けた動画像に対して、例えば、関節検出部105で検出された関節ごとに異なる表示態様となるように、画像処理を施し、画像処理が施された動画像をディスプレイ120等に出力する。
本明細書において、「領域抽出」とは、ある特定の対象物が存在する画像領域を抽出する検出技術と、対象物が何であるかの区別なくピクチャ中の領域を分割する領域分割技術との、両者を含んでいる。検出技術と領域分割技術とは共通する部分が多いため、本明細書においては両者を区別しない。
また、本明細書において、「移動体検出」とは、基準となる座標系に対して移動している物体が存在する画像領域のみを検出する検出技術と、相対的に異なる移動をしている物体ごとにピクチャ中の領域を分割する領域分割技術の両者を含んでいる。
なお、関節領域表示装置100を構成する各構成要素(画像入力部101、移動軌跡算出部102、関節領域表示部103)は、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路または集積回路等のハードウェアで実現されてもよい。図2は、コンピュータによって構成された本実施の形態における関節領域表示装置のハードウェア構成を示す図である。図2において、カメラ110はピクチャを撮影して出力し、コンピュータ200はピクチャを取得して関節領域抽出処理を行って、領域抽出結果を表示するピクチャを生成する。ディスプレイ120はコンピュータ200で生成されたピクチャを取得して表示する。コンピュータ200は、I/F201、CPU202、ROM203、RAM204、HDD205およびビデオカード206を含む。コンピュータ200を動作させるプログラムは、ROM203またはHDD205にあらかじめ保持されている。プログラムは、プロセッサであるCPU202によって、ROM203またはHDD205からRAM204に読み出されて展開される。CPU202はRAM204に展開されたプログラム中のコード化された各命令を実行する。I/F201は、プログラムの実行に応じて、カメラ110で撮影されたピクチャを、RAM204へ取り込む。ビデオカード206は、プログラムの実行に応じて生成されたピクチャを出力し、ディスプレイ120がそのピクチャを表示する。
なお、コンピュータプログラムは、半導体であるROM203またはHDD205に限られず、例えばCD−ROMに格納されていてもよい。また、有線や無線のネットワーク、放送などを介して伝送され、コンピュータのRAM204に取り込まれてもよい。
以下、本実施の形態における関節領域表示装置100の動作を、図3を用いて説明する。
図3は、本実施の形態における関節領域表示装置100の動作を表すフローチャートである。
図3において、8つのステップS301〜S308は、それぞれ図1の各処理部101〜108に対応している。すなわち、画像入力部101では画像入力ステップS301、移動軌跡算出部102では移動軌跡算出ステップS302、関節領域表示部103では関節領域表示ステップS303の各動作を実行する。また、関節領域表示ステップS303は、関節特徴算出ステップS304、関節検出ステップS305、表示ステップS306の3つのステップを含む。関節特徴算出部104では関節特徴算出ステップS304、関節検出部105では関節検出ステップS305、表示制御部106では表示ステップS306の各動作を実行する。また、関節特徴算出ステップS304は、距離算出ステップS307、特徴量算出ステップS308の2つのステップを含む。距離算出部107では距離算出ステップS307、特徴量算出部108では特徴量算出ステップS308の各動作を実行する。
最初に、画像入力ステップS301が、画像入力部101により実行される。つまり、画像入力部101は、カメラ110から、動画像を構成する複数のピクチャを取得する。本実施の形態では、カメラ110から取得される動画像は30フレーム/秒の動画像である。
図4は、撮影状況の一例を示す図である。また、図5(a)〜(f)は、カメラ110によって、図4の撮影状況を撮影して取得した複数のピクチャの例を示す。画像入力部101により、1フレームからTフレームまでのT枚(T>=2)のピクチャが入力されたものとする。本実施の形態では、ピクチャの数Tはあらかじめ定められており、30フレーム(T=30)とする。
次に、移動軌跡算出ステップS302は、移動軌跡算出部102により実行される。つまり、移動軌跡算出部102は、画像入力部101から複数のピクチャを入力し、ピクチャ間の対応点を検出して、移動軌跡を生成して出力する。複数のピクチャ間の対応点を求める手法として、ここでは1フレームのピクチャ上における全ての画素(I個)を基準として、2フレームからTフレームまでの(T−1)枚のピクチャ上の対応する画素を求める。
以下、本実施の形態では、画素単位の処理について説明するが、複数の画素からなるブロック単位で処理をする場合には、(i)ブロック内で画素値を合計したり、(ii)ブロック内の画素値の平均値を求めたり、(iii)ブロック内の画素値の中央値を求めたりすることで、ブロックに対応するデータ(代表値)を求め、得られた代表値を用いて画素単位の処理と同様に処理すればよい。
例えば、ステップS301にてT枚のピクチャが入力されたと仮定すると、移動軌跡算出部102は、時刻tと時刻t+1に入力された2枚のピクチャを用いて、画素iの動きベクトル(ut i,vt i)を推定する。ここでは、必ずしもフレームが連続している必要はなく、例えば、時刻tと時刻t+nに入力された2枚のピクチャを用いて画素の動きを求めてもよい。ただし、nは1以上の整数である。
上記した複数のピクチャ間の対応点を算出する具体的な手法としては、非特許文献1または非特許文献2などに開示されている方法を用いてもよい。ともに、オプティカルフローを計算することにより動きベクトルを算出する手法であり、非特許文献1は階層的なブロックマッチングをベースに、オプティカルフローを算出する。画素間の滑らかさを拘束条件とするため、隣り合うオプティカルフロー間で動きベクトルが滑らかに変化するようなオプティカルフローを得る。特に急峻な動きや遮蔽がない場合に効率的かつ正確な対応点が求められる。また、推定の信頼度を計算できるため、後述するように、信頼度がある閾値より低い対応点を以降の処理より除くことで、全動きベクトルに対する誤った動きベクトルの割合を低減でき、より正確な関節領域の推定を行えるという効果がある。
これに対して、非特許文献2はグラフカットベースのオプティカルフロー算出手法であり、計算コストは高いが、正確な対応点がピクチャ上で密に求まる。また、この手法によると、オクルージョンの領域も推定できるため、後述するようにオクルージョン領域に位置する対応点を以降の処理より除くことで、全動きベクトルに対する誤った動きベクトルの割合を低減でき、より正確な関節領域の推定を行えるという効果がある。さらなる詳細は各文献に記載されているため、その詳細な説明は省略する。
さらに、移動軌跡算出部102は、画素の動きとして、前記動きベクトルの代わりにアフィンパラメータを推定してもよい。この時、すべての画素について動き情報を求めてもよい。また、より高速に処理を行いたい場合には、ピクチャをグリッドに区切って一定間隔のグリッド上の画素についてのみ動き情報を求めてもよいし、上述したように、ピクチャをブロックに区切ってブロックごとに動き情報を求めてもよい。
さらに、非特許文献1の開示技術を用いて動きベクトルを算出する場合は、前述したようにその信頼度を計算することができるため信頼度の高い動き情報を持つ画素のみを用いてもよい。また、非特許文献2の開示技術を用いて動きベクトルを算出する場合は、前述したようにオクルージョンを推定することができる。そのため、遮蔽(しゃへい)されていない画素の動き情報のみを用いてもよい。
さらに、画素の動きを算出する手法として、前記したブロックの並進移動を仮定して動きベクトルを算出する方法の代わりに、ブロックのアフィン変形を仮定して動きベクトルを算出する方法を用いてもよい。アフィン変形を仮定して動きベクトルを算出する方法は、非特許文献3の開示技術を用いて実現することができる。
Jianbo Shi and Carlo Tomasi "Good Features to Track", IEEE Conference on Computer Vision and Pattern Recognition,pp593−600,1994
上記手法では、時刻tと時刻t+1に入力されたピクチャの画素i近傍の動きに相当するアフィンパラメータAt iを推定する。画素iについて、時刻tと時刻t+1におけるピクチャ上での画素位置xt iとxt+1 iは式1に示す関係がある。
上記手法では、特に回転運動をする物体に対して、並進移動を仮定して動きベクトルを算出する手法を用いる場合よりも、高精度に画素iの動きを推定することができる。
そして、移動軌跡算出部102は、時間的に異なるT枚のピクチャ間で算出された前記画素の対応点から移動軌跡iを算出する。以下、画素iの移動軌跡を、移動軌跡iと呼ぶこととする。図6Aに示すように、移動軌跡算出部102は、時刻tにおける入力ピクチャ601の画素i603a、画素k603bに基づきステップS302において算出された動きベクトル情報602を用いて、画素i603a、画素k603bの動きを追跡し、画素i603a、画素k603bの対応点を求める。この時、移動軌跡算出部102は、1フレームのピクチャ上のある画素iの座標値(x1 i,y1 i)と、時刻tにおける画素iの対応点の画素座標値(xt i,yt i)とから、式2のように移動軌跡xiを算出する。
本実施の形態において、移動軌跡xiは、1フレームからTフレームまでのT枚のピクチャ間にわたる対応点であるものとする。
図6Bは、移動軌跡の例を示す。移動軌跡算出部102に入力された動画像は、T枚のピクチャ604で構成されている。このとき移動軌跡xi606a、xk606bは、1フレームのある画素i605a、画素k605bにそれぞれ対応する、2フレームからTフレームのピクチャ上の対応点の集まりである。移動軌跡xi606a、xk606bは、各ピクチャのピクチャ座標値を要素とするベクトルで表される。
なお、移動軌跡算出部102においてピクチャ間の対応点を求める際、ピクチャの全ての画素ごとに対応点を求める代わりに、ピクチャ内の隣接する複数の画素(ブロック)ごとに対応点を求めるものとしてもよい。本明細書において、ある対応点が1画素ごとに求められたものか、または複数の画素に対して1つの対応点が求められたかを区別しない。また、あるピクチャの画素iに対応する他のピクチャの対応点、および、あるピクチャのブロックiに対応する他のピクチャの対応点を、いずれも画素iの移動軌跡と呼ぶものとする。
次に、関節特徴算出ステップS304は、関節特徴算出部104によって実行される。関節特徴算出部104は、図1の構成図に示すとおり、距離算出部107と特徴量算出部108とを含み、距離算出ステップS307は、距離算出部107によって、特徴量算出ステップS308は、特徴量算出部108によって実行される。つまり、関節特徴算出部104は、移動軌跡算出部102が算出した複数の移動軌跡xiを用いて、距離算出部107で移動軌跡間の類似性を表す距離を算出し、続いて特徴量算出部で、移動軌跡間の関節らしさを表す関節特徴量を算出する。
以下、関節特徴算出部104について、まず距離算出部107において移動軌跡間の類似度を表す距離を算出する方法について、続いて、特徴量算出部108において移動軌跡間の「関節らしさ」(各移動軌跡間に対応する領域同士が同一の節を介して接続されている度合い)を表す関節特徴量を算出する方法について説明する。
距離算出部107は、画素iの移動軌跡と画素jの移動軌跡との間のユークリッド距離f(i,j)および測地距離g(i,j)を段階的に算出する。ここで、ユークリッド距離、測地距離はともに、移動軌跡の類似性を表す距離であるため、全く等しい移動軌跡間ではどちらも0となり、逆に移動軌跡間の類似性が低いほど、正のより大きな距離値(∞含む)をとるような距離である。
距離算出部107は、式3により、画素iの移動軌跡と画素jの移動軌跡とのユークリッド距離f(i,j)を算出する。
ここで式3によって算出されるユークリッド距離f(i,j)は、表記の都合上、全ての移動軌跡間について定義したが、ユークリッド距離として有限な値となるのは、N個の移動軌跡xiの間でのみとなる。
なお、本実施の形態におけるユークリッド距離は、式3によって算出するとしたが、この式に限定するものではない。ユークリッド距離は、式3と同様に、移動軌跡間のピクチャ座標における位置、動き、加速度、回転速度などのような、幾何的な類似度を表す指標であればよく、例えば、下記の式4を用いてもよい。
式4において、wは重み係数であり、設計者が設定するパラメータである。上記式4の移動軌跡間のユークリッド距離f(i,j)は、移動軌跡間におけるピクチャ座標の距離の時間平均に、ピクチャ座標の距離の時間変動成分を加えたものである。特に移動軌跡間距離の時間変動成分は、移動軌跡の動きの類似度を示すものであり、これによって、形状変化を伴うような場合でも、より正確に移動軌跡間の類似度を捉えることができる。
以上の手順で算出した移動軌跡間のユークリッド距離f(i,j)の集まりを、ユークリッド距離マトリクスFdistとして表す。
続いて、距離算出部107は、移動軌跡間のユークリッド距離f(i,j)から測地距離g(i,j)を算出する。
以降、距離算出部107において、ユークリッド距離f(i,j)から測地距離g(i,j)を算出する動作を詳しく説明する。
まず、距離算出部107は、算出したユークリッド距離f(i,j)に対してあらかじめ定められた閾値Rを用いて、式6で示される非線形化された距離f´(i,j)を算出する。
次に、距離算出部107は、非線形化された距離f´(i,j)から、測地距離を算出する。「測地距離」とは、ある空間に定義された複数のデータ点について、それらのデータ点間の接続、および接続されたデータ点間の距離が得られているときに、ある2つのデータ点間を結び得る全ての経路の距離のうちの最短の距離である。
したがって、距離算出部107は、第iの移動軌跡xiから第jの移動軌跡xjまでの測地距離の算出においては、他の複数の移動軌跡のいずれかを中継点として第iの移動軌跡xiから第jの移動軌跡xjに辿りつく全ての経路のうちの最短の経路を、測地距離として算出する。
例えば、移動軌跡xiと移動軌跡xjの2点間を直接結ぶノードの距離f´(i,j)が得られているとする。このとき移動軌跡xiと移動軌跡xjの2点間を結ぶ経路は、2点を直接結ぶノード以外に、別の移動軌跡xsを中継する経路もある。この経路の距離をf´(i,s)+f´(s,j)とする。このような移動軌跡xiと移動軌跡xjの2点間を結ぶ経路は複数あり、それらの距離のうちで最も短い距離を測地距離g(i,j)として算出する(式7)。
式7において、min(x,y,…)は、値xと値yなどのうち最も小さい値を返す関数である。また、sは、移動軌跡xsであり、移動軌跡xiから移動軌跡xjに辿(たど)りつくための中継点である。ここで、f´(i,s)+f´(s,j)における中継点sは1点に限るものではない。
上述した測地距離の算出における2点間の最短経路を探索する手法の詳細は、例えば非特許文献4のダイクストラ法が広く知られているため、ここでは処理手順の詳細説明を省略する。
上記した手順により、距離算出部107は、長時間継続する移動軌跡間のユークリッド距離f(i,j)から測地距離g(i,j)を算出する。なお、測地距離の計算方法は、前記式6および式7に限定されるものではない。
なお、ユークリッド距離と測地距離の最も異なる点は、距離を求める2データ点と、他のデータ点との間の関係である。他のデータ点の状態に左右されることなく、2つのデータ点のみから定義されるのがユークリッド距離であり、それに対して、2つのデータ点、および2つのデータ点間を結び得る経路上にある他のデータ点を含む距離として定義される、すなわち他のデータ点の状態から影響を受ける可能性があるのが測地距離である。
算出した移動軌跡間の測地距離g(i,j)の集まりを、測地距離マトリクスGdistとして表す(式8)。
以上の手順によって、距離算出部107は、N個の移動軌跡間の類似度を表す測地距離g(i,j)を算出し、測地距離マトリクスGdistとして出力する。
上記した複数の移動軌跡間のユークリッド距離から測地距離を算出する処理について、図7A〜図7Cの概念図を用いて説明する。
図7Aは、ピクチャ上の複数の移動軌跡の一例を示す図である。なお移動軌跡は、背景領域においても算出されるが、表記を容易にするため、ここでは背景領域の移動軌跡を図示しないものとする。
図7Bは、各々が式2で示される複数の移動軌跡のデータの分布を示した図である。図7B中の「×」印の各データ点は、式2で示した画素iの移動軌跡xiに相当する。移動軌跡xiは独立したT×2個の変数からなるベクトルである。したがって、移動軌跡は、本来は最大で(T×2)次元空間のデータであるが、図7Bでは表記の都合上、3次元空間の点として表している。
図7B中の矢印701は、式3で得られる移動軌跡xiと移動軌跡xjとの間のユークリッド距離f(i,j)を表す。すなわちデータ点iとデータ点jとのユークリッド距離701は、データ間を直接結んだ距離になる。
一方、図7C中の矢印702は、式7で得られる移動軌跡xiと移動軌跡xjとの間の測地距離g(i,j)を表す。図7Cに示すように、データ点iとデータ点jとの測地距離702は、中継のデータ点sを辿った距離となる。
次に、ユークリッド距離f(i,j)と、式7により算出した測地距離g(i,j)の特徴を、図8(a)および図8(b)の概念図を用いてより詳しく説明する。
ピクチャ内の移動体について、頭部の移動軌跡xiと手先部の移動軌跡xjとのユークリッド距離を、図8(a)中の矢印801で示す。同図から明らかであるように、移動軌跡間のユークリッド距離801は、距離を求める対象である2つの移動軌跡xi、xjにのみ依存し、他の移動軌跡とは無関係な距離となる。
一方、頭部の移動軌跡xiと手先部の移動軌跡xjとの測地距離802を、図8(b)に示す。この場合、距離を求める対象である2つの移動軌跡xi、xjだけでなく、太矢印802で示すように、xsをはじめとする近傍の複数の移動軌跡を経由して移動軌跡xjにたどり着く。したがって、測地距離802は、経由した複数の移動軌跡間の距離の和となるため、移動軌跡xi、xj以外の移動軌跡の影響を受ける。
言い換えると図8(a)のユークリッド距離801は、他の移動軌跡の分布をまったく反映していない。このため、人物のように関節で繋がった移動体において、移動軌跡間の距離は、その形状には依存しない値をとる。これに対して、図8(b)に示される測地距離802では、他の移動軌跡を反映した距離となっている。したがって関節で繋がった移動体において、移動軌跡間の距離は、移動体の形状に依存する値をとる。すなわち関節における繋がりが情報として距離に含まれるため、人のような形状が変化する移動体検出にも利用できる。
前述したように、式2で示される移動軌跡xiは、数学的には最大で(T×2)次元空間のデータである。しかし、実際にピクチャから求められる移動軌跡は、図7Bおよび図7Cのように(T×2)次元空間のごく一部に局在化する性質をもつことが、発明者の実験によっても確認されている。このような性質をもつ移動軌跡に対して、複数の移動軌跡間の類似度を表す距離の尺度としては、データの分布とは無関係に2データ間の距離のみを求めたものであるユークリッド距離(図8(a)のユークリッド距離801)よりも、近傍のデータの粗密を反映した測地距離(図8(b)の測地距離802)の方が、適していると言える。
なお、距離算出部107において、ユークリッド距離から測地距離を求める手法として、式6および式7を用いる手法を示したが、測地距離の算出方法をこれに限定するものではない。
なお、式6の閾値Rは経験的に決める。あるいは、閾値Rの代わりに、経験的にあらかじめ定めた閾値Nを用いてもよい。そして、ユークリッド距離f(i,j)から非線形化した距離f´(i,j)を求める処理として、以下の処理を行ってもよい。つまり、閾値R以上のユークリッド距離f(i,j)を無限大に置き換える式6の処理の代わりに、ある移動軌跡xiと他の(I−1)個の移動軌跡とのユークリッド距離f(i,j)のうちで、小さいほうからN番目のユークリッド距離よりも大きいユークリッド距離を無限大で置き換えることによって、非線形化した距離f´(i,j)を算出してもよい。
次に、特徴量算出ステップS308は、特徴量算出部108によって実行される。
特徴量算出部108は、まず距離算出部107で算出された測地距離、ユークリッド距離を元に、移動軌跡間でのユークリッド距離の時間変化、および測地距離の時間変化をそれぞれ算出する。続いて、算出したユークリッド距離の時間変化、および測地距離の時間変化に基づいて、関節らしさを表す関節特徴量を算出する。
はじめに、関節状動きを有する剛体領域上に存在する移動軌跡間距離が特徴的に有する性質について述べ、そのあと、特徴量算出部108で実行される処理について説明する。
ここで、第1の移動軌跡と、別の第2の移動軌跡との間で求められる距離を、移動軌跡間距離と定義する。ここで、「距離」とはユークリッド距離、測地距離をともに含む概念であるとする。
図9は、様々な剛体の動きに伴う、移動軌跡xi、xj間の測地距離g(xi,xj)、およびユークリッド距離f(xi,xj)の時間変化について示した図である。図9(a)(b)は、関節状動きに伴う移動軌跡間距離の時間変化を、図9(c)〜(f)は、関節状動きではない動きに伴う移動軌跡間距離の時間変化を示している。
なお、図9では、説明のために、点群(移動軌跡の集まり)について、二つの区別された領域上に示しているが、実際はクラスタリングなどを一切行っておらず、これらの点群がどの領域に属するかといった前処理としての区別は、特徴量算出部108でも、特徴量算出部108より前の処理部でも行っていない。すなわち、実際は2点間の、ペアワイズな処理のみを行うものとする。これにより、関節で接続された移動体の領域抽出を行うことなく、関節の位置を検出することができる。
図9(a)および図9(b)にはそれぞれ、2つの移動軌跡xi、xjが、関節状動きを伴う剛体上にそれぞれ存在する場合の例を示す。それぞれ、移動軌跡間の測地距離およびユークリッド距離の時間変化を分かりやすく示すために、矢印で移動軌跡間距離(移動軌跡間の測地距離およびユークリッド距離)を示している。矢印は、以下の図9(c)〜(f)についても同様に移動軌跡間距離を示すものとする。
一方、図9(c)および図9(d)にはそれぞれ、2つの移動軌跡xi、xjが、同一の剛体上にそれぞれ存在する場合の例を示す。見易さのために、2つの移動軌跡xi、xjが存在する領域をそれぞれ異なるハッチングで示しているが、時刻t=Tと、時刻t=T+δにおける領域全体の形状は変化していない。すなわち、同じハッチングで示された領域のみならず異なるハッチングで示された領域は同一の剛体に属するものであり、移動軌跡xi、xjが、同一の剛体上で、剛体動きをしている例を示している。
さらに、図9(e)および図9(f)では、移動軌跡xi、xjが同一の剛体上になく、また、関節状動きを伴う2剛体上の2点でもない、すなわち図9の(a)〜(d)いずれの例にも属さない場合の、移動軌跡間距離の時間変化の一例を示す。すなわち移動軌跡xi、xjが異なる移動体に属し、さらに、これらの移動軌跡xi、xjを含む剛体領域が関節状動きを伴わない例を示している。
ここで、まず移動軌跡間の測地距離(図9(a)および図9(c)および図9(e))に着目する。
移動軌跡xi、xjを含む剛体が図9(a)のように関節(節領域)を介して接続された関節状領域を構成する場合、移動軌跡xi、xj間の測地距離は、ほとんど変化しない。測地距離は、移動軌跡xi、xjと異なる移動軌跡を経由して移動軌跡を「たどる」距離であるため、ある小領域を支点とする回転動きである関節状動きを有する2領域間では、支点の小領域を経由して移動軌跡を「たどる」距離である測地距離は不変となる。したがって、図9(a)の移動軌跡間測地距離g(xi、xj)の時間変化はほぼ一定(ゼロに近い)となる。
移動軌跡xi、xjが図9(c)のように同一剛体上に存在する場合、移動軌跡xi、xj間の移動軌跡を「たどる」最短経路である測地距離は常に一定であり、明らかに移動軌跡間測地距離g(xi、xj)の時間変化はゼロとなる。
以上の2ケースにあてはまらない場合、図9(e)に示した例のように、移動軌跡間測地距離g(xi、xj)の時間変化がゼロとならない場合がほとんどである。
以上より、移動軌跡xi、xjを含む剛体が図9(a)のように関節状領域を構成する条件として、移動軌跡間測地距離g(xi、xj)の時間変化がほぼ一定(ゼロに近い)となる必要がある。
次に、移動軌跡間のユークリッド距離(図9(b)および図9(d)および図9(f))に着目する。
移動軌跡xi、xjを含む剛体が図9(b)のように関節(節領域)を介して接続された関節状領域を構成する場合、移動軌跡xi、xj間のユークリッド距離は、測地距離と異なり、時間に伴い変化する。特に、関節の動きが大きい場合や、関節状領域の節側よりは末端(節から離れる)の方で大きな変化を伴うことは、図からも容易に理解できる。
移動軌跡xi、xjが図9(d)のように同一剛体上に存在する場合、移動軌跡xi、xj間のユークリッド距離は、測地距離同様常に一定であり、明らかに移動軌跡間ユークリッド距離g(xi、xj)の時間変化はゼロとなる。
以上の2ケースにあてはまらない図9(f)の場合、図9(f)に示した例のように、移動軌跡間ユークリッド距離f(xi、xj)の時間変化は不定であるが、ゼロではない場合がほとんどである。
以上より、移動軌跡xi、xjを含む剛体が図9(b)のように関節を構成する条件として、移動軌跡間ユークリッド距離f(xi、xj)の時間変化がゼロではないことが挙げられる。特に、関節の動きが大きいほど、また移動軌跡がそれぞれ関節の節から離れた位置に存在するほど、移動軌跡間ユークリッド距離f(xi、xj)の時間変化がより大きな値をとるといえる。
したがって、2つの移動軌跡が関節を構成する剛体上にそれぞれ存在する条件として、測地距離の時間変化、およびユークリッド距離の時間変化に関する以下の2つの条件が挙げられる。すなわち、「移動軌跡間のユークリッド距離fの時間変化ftが、より大きく」、かつ「移動軌跡間の測地距離gの時間変化gtが、より小さい(ゼロに近い)」ような移動軌跡のペアは、より関節らしいペア(それぞれが関節を構成する剛体上にある移動軌跡らしいペア)と定義することができる。
本明細書において、「関節状動き」とは、それぞれが関節を構成する剛体上にある移動軌跡ペアがなす動きである。ここでは図9(a)のような例を典型的な関節状動きの例として説明したが、もちろん前述のような動きであれば、図9(a)の例に限らない。
本明細書ではある移動軌跡ペアの動きが、どれくらい「関節状動き」らしいかを「関節らしさ」と定義し、その「関節らしさ」を表す関節特徴量を関節特徴算出部104で算出して用いる。
ここまでに挙げた、3パターンの移動軌跡間の関係について、移動軌跡間の距離の時間変化と、移動軌跡を含む剛体がそれぞれどのような関係にあるかを、図10Aに示す。
すなわち、移動軌跡xi、xjが、図9(c)(d)のように同一剛体上にある場合、移動軌跡間の測地距離の時間変化gt、ユークリッド距離の時間変化ftはともに0である。このパターンを、図10A上では「同一剛体」と示す。
また、図9(a)(b)のように、互いに関節状の動きをなす異なる剛体上に存在する場合、ユークリッド距離の時間変化ftが0より大きく、大きな値であるほど、また測地距離の時間変化gtがより0に近づくほど、より関節らしくなる。図10Aで「関節状動き」と示しているパターンである。
つまり、ユークリッド距離の時間変化ftが0より大きく、大きな値であるほど、また測地距離の時間変化gtがより0に近づくほど、より「関節らしさ」は高い(つまり、関節らしい)。
最後に、以上の2パターンにあてはまらない残りの場合については、「その他(非・関節状動き)」と図10Aに示している。
以上を踏まえ、以下で特徴量算出部108の処理を説明する。
まず、特徴量算出部108は、それぞれ、指定した処理対象のフレームセットt0〜Tにわたって対応のとれている移動軌跡について、移動軌跡間測地距離gの時間変化gt、ユークリッド距離fの時間変化ftを算出する。具体的には、以下の式9および式10にしたがって、測地距離gおよびユークリッド距離fを、それぞれ与えた分割単位dtで微分した値の絶対値を、1連の処理を行うフレームセットt0〜Tにわたって移動軌跡ごとに加算した値として算出する。
絶対値として求める理由は、関節動きであるかどうかは距離の時間変化の大きさに依るものであり、距離が時間に伴い増加するか減少するか、すなわち微分値の向きは関与しないからである。
なお、特徴量算出部108における測地距離gの時間変化gt、ユークリッド距離fの時間変化ftの求め方については、式9および式10に限るものではない。微分に類する方法であるが、最も単純な方法としては、ある定めた時間間隔で測地距離g、ユークリッド距離fの差分をそれぞれ求めて、その絶対値の和を用いてもよい。特に、2フレーム間での処理であれば、1フレーム目と2フレーム目にそれぞれ対応する移動軌跡間距離の差分の絶対値として求めることができる。また、絶対値の代わりに微分値を2乗した値を用いるなどしてもよい。
また、処理に利用するフレームセットが、関節動き(閉⇒開⇒閉)の半周期に満たず、ユークリッド距離fが単純増加しかしないことがあらかじめ分かっている場合には、式9および式10の代わりに、以下の式11および式12を用いてもよい。すなわち、場合によっては絶対値を必ずここで用いる必要もない。また、逆にユークリッド距離fが単純減少しかしないことがあらかじめわかっている場合にも、式11および式12に従って絶対値を使わずにgt、ftを求めたうえで、最後に絶対値を計算してもよい。
続いて、特徴量算出部108は、関節らしさを表す関節特徴量jjnt(i,j)を算出する。
先に述べたように、移動軌跡のペアについて、「移動軌跡間のユークリッド距離fの時間変化ftが、より大きく」、かつ「移動軌跡間の測地距離gの時間変化gtが、より小さい(ゼロに近い)」ような移動軌跡のペアは、より関節らしいペアと定義できる。なお、関節らしいペアの典型的な例としては、それぞれが関節を構成する剛体上にある移動軌跡であって、その関節状動きが大きいようなペアが挙げられる。
そこで、以上の2条件を満たす度合いを、関節特徴量jjnt(i,j)として以降で定義する。
条件をよく近似する関節特徴量jjnt(i,j)の一つとして、以下の式13を用いることができる。
すなわち、測地距離gの時間変化gtがより小さく、またユークリッド距離fの時間変化ftがより大きいほど、つまり2つの移動軌跡が関節らしいペアであるほど、関節特徴量jjnt(i,j)は1に近づき、逆に関節特徴量jjnt(i,j)が0に近づくほど、2つの移動軌跡の関節らしさが低い、ということを表す。なお、ここでは最大値で正規化し、関節特徴量jjnt(i,j)の値を0から1の範囲におさめているが、計算と説明を簡単にするためであり、正規化をしてある方が望ましいが、実際には必ずしも正規化しなくとも本発明の処理は行える。
本実施の形態では、より「関節らしさ」が高い(つまり、関節らしい)ほど、関節特徴量jjnt(i,j)は大きいものとする。
なお、ユークリッド距離fの時間変化ft=0の場合、0で除することにより関節特徴量が無限大になることを防ぐために、条件を切り分けている。
図10Aと比較しながら、図10Bを用いて関節特徴量の式13について説明する。
ここで、ユークリッド距離fの時間変化ftが0の場合、図9の説明でも述べたとおり、パターンとしては、図10Aの「同一剛体」あるいは「その他(非・関節状動き)」に相当する。すなわち、「関節状動き」にはあてはまらない。
したがって、これらのケースは外れ値として扱う。ただし、gt=0の場合、「同一剛体」であり、後段の処理で利用するので、jjnt(i,j)=−1等、ある定めた値を与えておく。gt≠0の場合は、jjnt(i,j)=−10など、「同一剛体」の場合とは異なるエラー値を与えておく。
なお、式13よりft≠0の場合、常にjjnt(i,j)>0となるので、ft=0の場合にエラー値として決定するjjnt(i,j)の値は、−1と−10に限らず、例えば負の値など、ft=0の場合にjjnt(i,j)が取りえない値であれば、何でもよい。式13の結果得られる関節特徴量のパターンを図10Bに示す。
特徴量算出部108は各移動軌跡について、前述のとおり算出した移動軌跡間測地距離gの時間変化gt、ユークリッド距離fの時間変化ftに基づき、式13にしたがって関節特徴量jjnt(i,j)を算出する。
算出した移動軌跡間の関節特徴量jjnt(i,j)の集まりを、関節特徴量マトリクスJjntとして表す(式14)。
なお、ここで用いた関節特徴量の算出方法はあくまで一例であり、算出方法を式13に限るものではない。図10Aに示したような関節らしさを表現する式やデータテーブルであればよく、そのような式やデータテーブルによっても同様の効果を得ることができる。
以上の手順によって、特徴量算出部108は、N個の移動軌跡間の関節らしさを表す関節特徴量jjnt(i,j)を算出し、関節特徴量マトリクスJjntとして出力する。
次に、関節検出ステップS305は、関節検出部105によって実行される。
関節検出部105は、関節特徴算出部104で算出された移動軌跡間の関節特徴量マトリクスJ、に基づいて、関節を構成する剛体領域および節領域にあたる移動軌跡を検出する。
以下で関節検出部105の処理を詳しく説明する。
まず、図11を参照しながら、2つの移動軌跡から関節領域の移動軌跡を検出する処理について述べる。
図11は、ある一つの関節が画像に存在する場合の例について、関節の周辺領域をクローズアップして示した模式図である。図11には、全ての移動軌跡の中から、説明のため代表的な移動軌跡xi、xj、xkの3つのみを取り上げて表示している。実際は、もっと多くの移動軌跡が領域に存在する。
図11の例でペアワイズな(ペアごとの)処理の対象となるのは、移動軌跡(xi、xj)、(xi、xk)、(xj、xk)の3組の移動軌跡のペアである。
ここで、図10Bで説明した通り、同一剛体上の移動軌跡ペアに関しては、関節特徴量jjnt=−1である。したがって、この例では、
jjnt(i,k)=−1
jjnt(j,k)=−1
となる。このような移動軌跡のペアからは関節領域を求めることはできないため、ここでは処理の対象外とする。もちろん、図10Bの例の場合、
jjnt=−10
であって、同様に関節領域を求められない。そこで、
jjnt≧0
の特徴量を有する移動軌跡のペアに対してのみ、関節検出部105では以降の処理を行う。つまり、この例では、移動軌跡(xi、xj)のペアに対してのみ処理を行う。もちろん、移動軌跡(xi、xj)は関節特徴量
jjnt(i、j)≧0
を満たす。
関節は、2つの剛体がほぼ1点で接しながら、回転に似た運動を行う部位である。したがって、図11に示すように、第1の移動軌跡xiを含む剛体領域θi1001に含まれる移動軌跡、および第2の移動軌跡xjを含む剛体領域θj1002に含まれる移動軌跡が検出できれば、それらの共通する点として、関節状領域の節領域に含まれる移動軌跡を求めることができる(移動軌跡xk)。
そこで、まず、関節検出部105は、移動軌跡xiを含む全ての移動軌跡ペアに対して、
jjnt(i、ip)=−1
となる移動軌跡xipを求める。移動軌跡xipは、移動軌跡xiに対して関節特徴量が求まっている全ての移動軌跡の中から求められる。
その結果、xiを含む剛体領域θj1001が含む移動軌跡として、移動軌跡xkが求められる。同様に関節検出部105は、移動軌跡xjを含む全ての移動軌跡ペアに対しても、
jjnt(j、jp)=−1
となる移動軌跡xjpを求める。移動軌跡xjpは、移動軌跡xjに対して関節特徴量が求まっている全ての移動軌跡の中から求められる。その結果、xjを含む剛体領域θj1002に含まれる移動軌跡として、移動軌跡xkが求められる。
節領域は剛体領域θi1001と剛体領域θj1002の積集合として式15のように求められる。
θi,j=θi∩θj (式15)
したがって、最後に、剛体領域θi1001の含む移動軌跡と、剛体領域θj1002に含まれる移動軌跡の共通部分、すなわち積集合を求めることで、節領域θi,jに含まれる移動軌跡を求めることができる。たとえば、図11の例では、移動軌跡xkが、移動軌跡(xi、xj)に対する節領域θi,jに含まれる移動軌跡xkとして求められる。
なお、例えば、関節が一つしか画像中に存在しないことが、あらかじめ分かっている場合などには、全ての移動軌跡ペアから、最も関節特徴量jjnt(i、j)が大きな値をとる移動軌跡ペアを1つ選択し、それらの移動軌跡ペアに対し前述の移動軌跡(xi、xj)に対する処理と同様の処理を行うことで、関節領域に含まれる移動軌跡を簡単に検出することができる。
ただし、一般的には関節の数は事前に分からないことが多い。したがって、前述のように2つの移動軌跡からなるペアからのみ関節を求めると、関節の検出ミスが起きる可能性がある。したがって、次に説明するとおり、関節特徴量がゼロ以上である全ての移動軌跡ペアを用いて、関節領域に含まれる移動軌跡を検出することが望ましい。
図12Aは、ある一つの関節が画像に存在する場合の例について、関節の周辺領域をクローズアップして示した模式図である。図12Aには、全ての移動軌跡の中から、説明のため代表的な移動軌跡xi、xj、xk、xl、xmの5つのみを表示している。実際は、より多くの移動軌跡が画像中に存在する。
図12Bの表は、各移動軌跡間の関節特徴量を示している。ここでは、簡単のため、関節特徴量の値が正か負かのみを表記してある。なお図12Bに記載してある移動軌跡は、図12Aの移動軌跡に対応している。
まず、あらかじめ移動軌跡xi、xj、xk、xl、xmに対し、それぞれを含む剛体領域を求めておく。ここで剛体領域を求めずに、後段の移動軌跡ペアごとの処理の際に求めてもよいが、何度も同じ移動軌跡に対して剛体領域を求めるよりも計算量が少なくなる場合は、あらかじめ求めておくのが望ましい。
前述の関節特徴量jjntの説明に従うと、移動軌跡間の関係が「剛体領域」であるのは、移動軌跡xi、xj、xk、xl、xmに対してそれぞれ、2移動軌跡間の関節特徴量が−1となるような移動軌跡である。そのような移動軌跡を含む領域を、図12A上で示すように、それぞれ剛体領域θi、θj、θk、θl、θmと求めておく。なお、θkは図12A上に図示していないが、この場合、θi、θj、θlの和集合となる。
また、前述の関節特徴量jの説明にしたがうと、移動軌跡間の関係が「関節動き」であるのは、関節特徴量が正の値である移動軌跡(xi、xj)、(xi、xm)、(xl、xj)、(xl、xm)の4ペアのみである。残る6ペアはそれぞれ、関節特徴量が−1であるため、2点が「同一剛体」の関係であり、したがって図11の説明と同様に関節抽出の処理は行わないものとする。
移動軌跡(xi、xj)、(xi、xm)、(xl、xj)、(xl、xm)の4ペアに対応する関節特徴量をそれぞれjjnt(i、j)、jjnt(i、m)、jjnt(l、j)、jjnt(l、m)とすると、全て0ではない正の値である。これらはそれぞれ、移動軌跡ペアの関節らしさを表す。したがって、節領域を求める際の信頼度として、重み付けに用いることができる。
ここで、図12Aより、移動軌跡(xi、xj)から求めた節領域は、移動軌跡xkを含むことがわかる。つまり、移動軌跡xkおよびxiは同一剛体上の移動軌跡であり、移動軌跡xkおよびxjは同一剛体上の移動軌跡である。
また、移動軌跡(xl、xj)から求めた節領域も、移動軌跡xkを含むことがわかる。つまり、移動軌跡xkおよびxlは同一剛体上の移動軌跡であり、移動軌跡xkおよびxjは同一剛体上の移動軌跡である。
一方、移動軌跡(xi、xm)から求めた節領域、および移動軌跡(xl、xm)から求めた節領域は、移動軌跡xkを含まない。
したがって、移動軌跡xkの節らしさは、移動軌跡(xi、xj)のペアおよび移動軌跡(xl、xj)のペアによって定められ、移動軌跡(xi、xm)のペアおよび移動軌跡(xl、xm)のペアによっては定められない。
ここで、移動軌跡xkが節領域に含まれる可能性を移動軌跡xkの節らしさと呼ぶと、移動軌跡xkの節らしさは、移動軌跡(xi、xj)のペア、および移動軌跡(xl、xj)のペアそれぞれの関節らしさに依存するといえる。
たとえば、剛体領域θiおよびθlのそれぞれと、剛体領域θjとの間の関係が、オクルージョンなどによってもたらされた非関節的な動きである可能性もある。その場合、各剛体領域がオーバーラップした領域、あるいは接した領域に含まれる移動軌跡として移動軌跡xkは求まるが、各剛体間の関節動きに起因するものではないため、この場合は移動軌跡xkは節領域の移動軌跡ではない。つまり、移動軌跡xkは節らしくない。
そこで、関節特徴量が正の値である移動軌跡ペアによって規定される各剛体間で、オーバーラップした領域を節候補領域とよび、移動軌跡xkの節らしさを判定する基準として、移動軌跡xkを節候補領域に含む移動軌跡ペア間の関節特徴量の平均を用いることとする。移動軌跡xkの節らしさを示す節らしさ特徴量をXjnt(k)とおき、移動軌跡xkを節候補領域に含む移動軌跡ペアの数をNjnt(k)とおくと、移動軌跡xkの節らしさ特徴量Xjnt(k)は以下の式16等を用いて算出できる。
Xjnt(k)=(jjnt(i,j)+jjnt(l,j))/Njnt(k)
(式16)
なお、図12Aのケースでは、Njnt(k)=2である。
なお、以上の処理は、必ずしも全ての移動軌跡ペアに対して行う必要はなく、例えば、あらかじめ定めた閾値TH_Jより大きい関節特徴量jjntを有する移動軌跡ペアのみに対して行っても同様の結果が得られる。
なお、関節特徴量は以下の式17のように求め、同様の処理を行うことも可能である。
すなわち、測地距離gの時間変化gtがより小さく、またユークリッド距離fの時間変化ftがより大きいほど、つまり2つの移動軌跡が関節らしいペアであるほど、関節特徴量jjnt(i,j)は0に近づき、逆に関節特徴量jjnt(i,j)が0から遠ざかるほど、2つの移動軌跡の関節らしさは低い、ということを表す。なお、ここでは最大値で正規化し、関節特徴量jjnt(i,j)の値を0から1の範囲におさめているが、計算と説明を簡単にするためであり、正規化をしてある方が望ましいが、実際には必ずしも正規化しなくとも本発明の処理は行える。
また、式17を用いる場合、式16は以下の式18のように変更するとよい。
Xjnt(k)=((1−jjnt(i,j))+(1−jjnt(l,j)))/Njnt(k) (式18)
また、ここで関節特徴量jjnt(i,j)は連続値として算出したが、特に移動軌跡の分布が均一である等の場合には以下のようにしてもよい。測地距離の時間変化があらかじめ定めた測地距離閾値よりも小さく、かつ前記2点間距離の時間変化があらかじめ定めた2点間距離閾値よりも大きい場合に、関節特徴量jjnt(i,j)を1として算出し、前記測地距離の時間変化があらかじめ定めた測地距離閾値以上の場合、または前記2点間距離の時間変化があらかじめ定めた2点間距離閾値以下の場合に、関節特徴量jjnt(i,j)を0として算出する。こうすることにより、計算がより簡易に行える。
以上より、関節検出部105は、式16を用いて、各節候補領域についての移動軌跡xkの節らしさ特徴量を求め、それらの値を出力する。
本実施の形態において表示制御部106は、画像入力部101で受け付けた動画像に対して、関節検出部105で検出された関節領域が視認できる表示態様となるように、入力ピクチャに画像処理を施して出力し、ディスプレイ120に表示する。
表示ステップS306は、表示制御部106によって実行される。つまり、表示制御部106は、関節検出部105から出力された各移動軌跡xiの節らしさ特徴量Xjnt(i)に基づき、節らしさを視認可能なピクチャを生成して、ディスプレイ120に表示する。
移動軌跡xiに対応する画像上の位置を(ui、vi)とする。移動軌跡は連続した複数のフレームにわたって取得されるので、例えば、移動軌跡の最初のフレームにおける画素位置などを用いて表示をすればよい。そして、各移動軌跡xiの位置(ui、vi)の画素における色情報を(Ri、Gi、Bi)とする。色情報(Ri、Gi、Bi)の値を指定することで、画像上のどの位置にどの色を与えればよいかが決定できる。
たとえば、以下のようにすることで、節領域を画像上に表示できる。
複数の入力画像において、フレームセットの最初のフレームに対応する画像をIin、出力画像をIoutとする。あらかじめ、Iinの内容をIoutにコピーしておくとよい。
関節検出部105の出力である節らしさ特徴量Xjnt(i)について、まず全ての節らしさ特徴量のうちの最小値Xjnt_minと最大値Xjnt_maxを求める。最小値Xjnt_minが、0、最大値Xjnt_maxが255という値になるように、全てのXjnt(i)を正規化する。正規化した節らしさ特徴量Xjnt_n(i)を、Iout上での色情報(Ri、Gi、Bi)へ上書きする。たとえば、(Ri、Gi、Bi)=(Xjnt_n(i)、0、0)という値を上書きすれば、節らしい移動軌跡が対応する画素上に、赤のグラデーションで、節らしさを表すことができる。もちろん、RiのかわりにGiやBiにXjnt_n(i)を代入してもよいし、(Ri、Gi、Bi)=(Xjnt_n(i)、Xjnt_n(i)、Xjnt_n(i))とすることで、グレースケールのグラデーション表示を実現することができる。また、Xjnt(i)を正規化してXjnt_n(i)を算出したが、Xjnt_n(i)は、Xjnt(i)に対して単調増加あるいは単調減少するような関数を用いて算出すればよく、同様に節らしさを表すような表示を実現可能である。
また、ある定めた一定の閾値THjnt以上のXjnt(i)をもつ移動軌跡xiに対応する画素(ui、vi)のみを、定めた色で塗りつぶすとしても良い。これにより、節らしいかどうかをよりはっきりと視認することができる。
また、節だけでなく剛体領域の移動軌跡にも色づけ表示を行うことで、より関節状領域をわかりやすく見せることもできる。
例えば、定めた一定の閾値THjnt以上のXjnt(i)をもつ移動軌跡xiに対応する剛体領域に含まれる移動軌跡、すなわち関節特徴量j(i、j)=−1となる移動軌跡xjに対応する画素(uj、vj)を、あらかじめ指定した色で塗りつぶすことで、節を含む剛体領域を表示することができる。
また、節領域は表示せずに剛体領域のみを表示しても良い。
また、節領域の画素(ui、vi)と、剛体領域の画素(uj、vj)を、異なる色で塗りつぶしてもよい。これにより、節と剛体を別々に視認することができ、より関節状領域の構造を視認しやすくなる。
図13Aおよび図13Bに、表示制御部106で生成したピクチャの例を示す。
関節検出部105で算出された関節状領域(節、あるいは剛体)の移動軌跡に対し、前述の色付けを行うと、たとえば図13A、図13Bのように表示することができる。図13Aでは節領域の移動軌跡に対応する画素を丸印で示している。図13Bでは剛体領域の移動軌跡に対応する画素領域をハッチングで表示している。このような表示形態にすることで、ピクチャ中の関節領域または剛体領域を正しく抽出し、その結果をわかりやすく表示できる。
また、共通の剛体領域に含まれる節領域同士を直線でつないで表示してもよい。これにより、CGにおけるボーンのような表示を行うことができる。あるいは、そのまま画素位置と直線の位置を出力すれば、2次元ではあるが、簡易ボーンとして、2Dアニメ等に利用することも可能である。
なお、表示制御部106において、ピクチャを生成する手順として、移動軌跡のピクチャ座標位置の画素を節らしさに応じた色で描画するとしたが、ピクチャを生成する方法をこれに限定するものではない。
具体的には、移動軌跡の数とピクチャ全体の画素数とが同数であれば、上述した方法によりピクチャ中の全画素を節らしさに応じた色、または、節領域、剛体領域、関節状領域以外の領域の判定結果に応じて、それぞれを区別可能な色で描画することができる。一方、移動軌跡の数がピクチャ全体の画素数より少ない場合、どの移動軌跡のピクチャ座標位置とも一致しない画素が存在する。なお、以下では、節領域、剛体領域、関節状領域以外の領域はそれぞれ別のクラスに分類されているものとして説明する。
このような移動軌跡のピクチャ座標位置と一致しない画素については、別の方法で描画しても良い。例えば、移動軌跡のピクチャ座標位置と一致しない画素を描画する別の方法として、複数の移動軌跡のピクチャ座標位置(点)の間を、Delaunay三角メッシュ生成法にて結び、同一のクラスに属する3点に囲まれる3角形に含まれる画素を、そのクラスと同じ色で描画するとしても良い。
なお、連続して入力される動画像に対して処理を行う場合は、上述したステップS301〜S307の動作を、T枚のピクチャが入力されるたびに繰り返し行うとしても良い。
以上のようにして、本実施の形態における関節領域表示装置および方法によれば、ピクチャ内の移動軌跡間ユークリッド距離と移動軌跡間測地距離の時間変化に基づいて求めた関節らしさから、節領域の移動軌跡を抽出する。これによって、ピクチャ中を移動する物体の関節状領域を時間的に追跡した結果として、関節物体の姿勢によらずに、ピクチャ中の移動体の関節状領域を抽出、表示することができる。
また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域抽出の失敗がない。
なお、本実施の形態の関節領域表示装置において、距離算出部107が、移動軌跡算出部102で生成した移動軌跡から抽出する、移動軌跡のピクチャ数Tは、T=30としたが、この数値に限定するものではない。例えば、検出すべき移動体の種類や状態に応じて別の数値を用いても良い。例えば、検出する対象が歩行者と仮定できる場合、平均的な歩行周期が約1秒(30フレーム)であることから、T=30フレームのピクチャにわたる移動軌跡は、人の歩行1周期に対応する。このように、検出すべき対象が周期的な変形を伴う移動体である場合、距離算出部107において抽出する移動軌跡のピクチャ数Tを、移動体の変形周期に対応するピクチャ数とすることで、移動体の変形の影響を受けにくくなり、移動体をより正しく抽出することができるという効果がある。また遮蔽などの影響により、ピクチャ数Tにわたる移動軌跡が算出できないピクチャ中の移動体領域が存在する場合について、移動軌跡が算出可能な最大のピクチャ数をS(S<T)とすることで、移動体の領域をより詳細に検出可能になるという効果がある。
以上のようにして、本実施の形態およびその変形例に係る関節領域表示装置および方法では、移動軌跡間の測地距離の時間変化と2点間距離の時間変化とに基づいて、移動軌跡間の関節らしさを求め、関節を抽出することで、移動体の形状の変化の影響を受けることなく、正しく関節や、関節を含む移動体領域を検出および表示することができる。
また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する抽出失敗がない。したがって、膨大なパラメータのフィッティングを必要とせずに、ユークリッド距離と測地距離の時間変化に基づく単純な特徴量を利用するだけで、形状が変化しながら移動する人物等を含むピクチャに対しても正しく関節領域の抽出を行い、これによってピクチャ中の移動体の抽出、表示も正しく行えることとなる。
また、上記実施の形態における関節領域表示装置100は、画像入力部101および移動軌跡算出部102を備えたが、本発明は、これらの構成要素を必須とするものではない。つまり、動画像を構成する複数のブロックのそれぞれにおけるピクチャの移動軌跡が予め算出されている場合には、関節領域表示装置100は、外部から、そのような移動軌跡を取得し、取得した移動軌跡に対して、ステップS203〜S208の処理を実行してもよい。
また、本発明は、関節領域表示装置として実現されたが、関節領域表示部103の機能を持つものであれば、動画像において関節状領域や節領域を抽出、または、分割する画像処理装置として実現することができるのは言うまでもない。
なお、本実施の形態では2点間距離としてユークリッド距離を用いたが、前述した通り、ユークリッド距離に限るものではない。前述の2点間距離で定義される任意の距離指標を用いて得られる形態も本発明に含まれるものとする。
(実施の形態2)
上記した実施の形態1およびその変形例での関節領域表示装置は、節らしさ特徴量の算出手順において、式16を用いて、複数の移動軌跡ペアから各移動軌跡の節らしさ特徴量を算出している。この際、図12Aおよび図12Bの例では、移動軌跡xkの節らしさ特徴量を求めるために利用する移動軌跡ペアを、事前に全ての移動軌跡ペアから選択したうえで利用している。
具体的には、すべての移動軌跡ペアに対して、まず、各移動軌跡ペアの関節らしさを求め、閾値以上の値の関節らしさをもつ移動軌跡ペアのみを残す。さらに、残った移動軌跡ペアのうち、各移動軌跡ペアを構成する2つの移動軌跡をそれぞれ含む2つの剛体領域を求める。この場合に、剛体領域間で共通する移動軌跡として移動軌跡xkを含むような、移動軌跡ペアのみを残している。すなわち、移動軌跡ペア間の関節らしさ、および、移動軌跡ペアを構成する各移動軌跡と移動軌跡xk間の同一剛体らしさを、それぞれ順番に2値化することで、移動軌跡xkの節らしさ特徴量を算出するために用いる移動軌跡ペアを、最終的に選択しているといえる。
しかし、移動軌跡の節らしさ特徴量の算出方法としては、このような2値化は必ずしも必要ではない。2値化によって計算を簡略化し高速に処理できるという利点がある。しかし、移動軌跡ペアの関節らしさと、移動軌跡ペアを構成する各移動軌跡と移動軌跡xk間における同一剛体らしさを、2値ではなく多値のまま用いることで、より移動軌跡xkの節らしさを細かく表現することができる。つまり、より正確に移動軌跡xkの節らしさを求めることができる。
本実施の形態における関節領域表示装置の構成を図14に示す。関節領域表示装置100Bは、実施の形態1の関節領域表示装置100の関節検出部105の代わりに、別の計算を行う関節検出部1401を、特徴量算出部108の代わりに、別の計算を行う特徴量算出部1402を備えている。
本実施の形態における特徴量算出部1402は、移動軌跡ペア間の関節らしさを表す関節特徴量jr、および、前記移動軌跡ペア間の関節特徴量jrから求めることのできる前記移動軌跡ペア間の同一剛体らしさを表す同一剛体特徴量rrを求め、関節検出部1401は、移動軌跡ペア間の関節特徴量jrおよび、前記移動軌跡ペア間の関節特徴量jrから求めることのできる同一剛体特徴量rrを利用して、各移動軌跡の節らしさ特徴量Xjntを算出する。
すなわち、関節検出部1401は、特徴量算出部1402で算出された移動軌跡ペアの関節特徴量、および同一剛体特徴量を、全ての移動軌跡ペアより用いるため、一つ一つの特徴量に誤差がのっている場合でも、全体として正しく移動軌跡の節らしさ特徴量を算出できる。
以下、図15を参照しながら関節検出部1401、および特徴量算出部1402の動作について説明する。
まずは、特徴量算出部1402で移動軌跡ペア間の関節特徴量を算出する手順について述べる。
図15に、移動軌跡ペア間の関節関係(剛体/関節/その他)と、ftおよびgtの関係を示す。ここで、gt>ftとなる移動軌跡ペアについては、同一剛体上の2点でも、関節動きをする2点でもない場合が経験上ほとんどであるため、予めアウトライアとしておいて問題ない。実際には、ある程度のマージンを定めた上で、アウトライアの条件を設定する。詳細は後述する。
なお、図15では、「2移動軌跡が同一剛体上」という条件について、gt=ft=0のみならず、gt=ftという条件(gtおよびftが直線Lfgに存在するという条件)にまで値域を拡張している。実施の形態1では、gt、ftどちらも0である場合のみ同一剛体上の2点としたが、ある剛体が拡大縮小した場合や、対応点に微小な誤差が乗った場合、ftは必ずしも0にはならない。ただし、この場合も同一剛体上の2点間の測地距離を算出する経路(移動軌跡を「たどる」距離を算出するために「たどる」経路)は、時間不変である。したがって、ユークリッド距離fの変動に合わせて測地距離gも変化するため、距離の時間変化についてもft=gtといえる。
以上により、実施の形態1より広義の剛体関係を表す条件としてここではft=gt(gtおよびftが直線Lfgに存在するという条件)を適用する。
本実施の形態では、節らしさ特徴量の算出に、連続した関節特徴量の値を利用するため、2つの移動軌跡が同一剛体らしいほど大きな値をとる同一剛体特徴量rrを定義し、測地距離の時間変化gt、ユークリッド距離の時間変化ftより算出する。2つの移動軌跡が同一剛体らしいとは、2つの移動軌跡に対応する領域が同一剛体に含まれる程度が高いことを言う。
同一剛体特徴量rrは、ft−gtグラフ上に移動軌跡ペアのft、gtをプロットした際の、ft=gt(直線Lfg)からの距離dli,jに基づいて求められる。まず、ft=gt(直線Lfg)からの距離dli,jについては以下の式19で求めることができる。
なお、直線Lfgからの距離dli,jの算出方法については式19に限るものではない。発明者らの実験では、よりftが大きいほど関節らしい、すなわち同一剛体らしくない、という結果が得られているため、式19に対しftの影響を付与した式を用いてもよい。例えば式20を用いてもよい。もちろん、同様の効果が得られるのであれば、直線Lfgからの距離dli,jの算出方法については式20に限るものではない。
同一剛体上の移動軌跡ペアに関して、理想的にはdli,j=0となるはずであるが、実際には、計算誤差等の影響により、直線Lfgからずれ、dli,j=0とならないことがある。そこでマージンとして閾値Th1、Th2を設定し、以下の式で同一剛体特徴量rrを算出する。rrは0から1までの値をとり、1に近くなるほど、移動軌跡ペアが同一剛体上の移動軌跡らしいことを表す。エラー値として、rrは−1をとる。なお、例えば、閾値Th1には0.1を、閾値Th2には0.01を用いることができる。ただし、gt、ft算出時に、すべての距離を指定値64を用いて正規化した場合の例である。
また、移動軌跡ペアの関節特徴量jrは、同一剛体特徴量rrから、以下の式22で求める。関節特徴量jrは1に近いほど、移動軌跡ペアが“関節らしい”ことを表し、関節特徴量jrがゼロに近いほど、同一剛体上の2移動軌跡らしいことを表す。
同一剛体特徴量rrは0から1までの値のため、関節特徴量jrも0から1までの値をとる。jrは1に近くなるほど、移動軌跡ペアの関節動きが大きいことを表す。なお、エラー値として、jrは−1をとる。
なお、以下では、同一剛体特徴量rr、関節特徴量jrの両方を説明のため用いているが、先に述べたとおりこれら2つの特徴量は、互いに依存関係にある変数であるため、実際の処理においては両方を別々のものとして明に定義して用いる必要はなく、どちらかのみに基づいて計算を行えば十分である。
なお、同一剛体特徴量rr、及び関節特徴量jrの算出方法については式21、式22に限るものではなく、同一剛体特徴量rrについてはより直線Lfgに近いほど値が1に近く、離れるほど値が0に近くなるような関数を、また関節特徴量jrについてはより直線Lfgに近いほど値が0に近く、離れるほど値が1に近くなるような関数を用いればよい。
例えば同一剛体特徴量rrについて、以下の式23、あるいは式24によって算出してもよい。適切にパラメータσ、paramを設定することで、Th1,Th2を用いずともアウトライアの影響を低減することができる。
また、例えば関節特徴量jrについては、以下の式25、あるいは式26によって算出してもよい。このさい、必ずしも式22の形式を満たす必要はなく、式23、式24、式25、式26、を自由に選択可能である。
適切にパラメータσ、paramを設定することで、Th1,Th2を用いずともアウトライアの影響を低減することができる。ただしmax_dli,jはdli,j>0を満たすdli,jの最大値である。
以上により、特徴量算出部1402において、関節特徴量が算出された。
続いて、関節検出部1401の処理について述べる。関節検出部1401は、特徴量算出部1402で算出された各移動軌跡ペアの関節特徴量に基づいて、移動軌跡の節らしさ特徴量を算出する。
ここで、図16に、節の移動軌跡A、剛体上の移動軌跡B、C、D、およびアウトライアの移動軌跡Eを示す。図16(a)に、ある3移動軌跡間の3つの移動軌跡ペア(AB,BC,AC)を選択した場合の例を示す。図16(a)に示すように、移動軌跡ペアABは関節特徴量jr(AB)が小さく、すなわち同一剛体特徴量rr(AB)が大きい。移動軌跡ペアACも同様に関節特徴量jr(AC)が小さく、同一剛体特徴量rr(AC)が大きい。このような場合、移動軌跡Aは、移動軌跡Bとも、移動軌跡Cとも、それぞれ同一剛体らしい、といえる。ここで、移動軌跡Aが節であるためには、移動軌跡B、Cは異なる剛体に属する必要がある。したがって、図16(a)に示すように、移動軌跡ペアBCについては、関節特徴量jr(BC)が大きく、同一剛体特徴量rr(BC)は小さいということになる。
先に述べた例と同様に、ある3移動軌跡間の3つの移動軌跡ペア(AB,BD,AD)を選択した場合の例を図16(b)に示す。図16(b)に示すように、移動軌跡ペアABは関節特徴量jr(AB)が小さく、すなわち同一剛体特徴量rr(AB)が大きい。移動軌跡ペアADも同様に関節特徴量jr(AD)が小さく、同一剛体特徴量rr(AD)が大きい。さらに、移動軌跡ペアBDも同様に関節特徴量jr(BD)が小さく、同一剛体特徴量rr(BD)が大きい。このような場合には、3つの移動軌跡A、B、Dが全て同一剛体らしい、という情報が得られる。しかし、どの移動軌跡が節らしいのか、そもそも節らしい移動軌跡があるかどうかの情報すら得られない。
さらに、ある3移動軌跡間の3つの移動軌跡ペア(AB、BE、AE)を選択した場合の例を図16(c)に示す。ここで、Eはアウトライアの移動軌跡である。
図16(c)のようにアウトライアとの移動軌跡ペアAE、BEに関しては、関節特徴量jr、同一剛体特徴量rr、のどちらも−1の値になっているはずである。この場合も、移動軌跡AとBのどちらが節なのか、そもそも節らしい移動軌跡があるかどうかの情報は得られない。
したがって、図16(a)の関係を満たす移動軌跡ペアから節らしさ特徴量を求められるようにすればよい。逆に、図16(b)、(c)の場合は、どの移動軌跡が節らしいのかの情報が得られないため、計算に寄与しないようにしたい。そこで、以下の式で、移動軌跡A以外の全ての移動軌跡ペアから、移動軌跡Aの節らしさ特徴量Xjntを算出する。
ここで、
より、式27は、
となるといえる。すなわち、移動軌跡Aの節らしさ特徴量を、図16(a)のような関係を満たす3移動軌跡からの情報によって表すことができる。
逆に、節にない例えば移動軌跡Bについては、B以外の全ての移動軌跡ペアから以下の式28で節らしさ特徴量Xjntを算出できる。
すなわち、節以外の移動軌跡に関しては、節らしさ特徴量Xjntの値が小さく抑えられることがわかる。
以上の構成により、より移動軌跡xkの節らしさを細かく表現する、すなわち、より正確に移動軌跡xkの節らしさ特徴量を求めることができる。
節らしさ特徴量の値に基づき、関節の節をグラデーションで表示した例を図17に示す。より節に近い位置の色が濃くなっていることがわかり、節の位置を容易に視認可能である。
なお、あらかじめ定めた閾値Th1、Th2については、例えば、被写体のサイズや動きの大きさがあらかじめ分かっている場合には、gt−ft値の分布が図18のように変化することがわかっている。図18において、ハッチングを施した箇所がgt値およびft値の分布している領域を示している。したがって、被写体のサイズや動きの大きさに応じて、閾値Th1、Th2を変化させてもよい。たとえば、図18(b)のように大きな被写体、動きに対しては、図18(a)の場合に用いた閾値Th1、Th2よりも大きな閾値Th1、Th2を設定してもよい。
あるいは、ユーザによる被写体選択モードを備えても良い。被写体と被写体のサイズに対して最適な閾値Th1、Th2を事前に定めておき、本装置使用時に、ユーザが被写体やサイズをあらかじめ指定できるようにすれば、より適切な閾値Th1、Th2を用いてより正しく移動軌跡の節らしさ特徴量を求めることができる。また、被写体、サイズだけでなく、関節領域のサイズをある程度規定できる撮影場所または装置の設置場所といった情報であってもよい。これにより、被写体の最大の大きさや、大まかな大きさがわかる。あるいは、タッチペンやタッチパッドなどにより、ある程度の被写体領域をユーザがあらかじめインタラクティブに指定するものとしてもよい。
なお、“同一剛体らしい”移動軌跡ペアは、“関節らしい”移動軌跡ペアよりft=gtという関係に近いということは先に述べたが、それだけではなく、ft、gtの値にもある程度の差があるため、これらの情報を追加して関節検出を高精度化することも可能である。
例えば、図18(c)に示すように、閾値ThRigよりもft、gtがともに小さい移動軌跡ペアについては、同一剛体特徴量rrがより大きくなる重み付けを行い、閾値ThRigよりもft、gtのどちらか大きい移動軌跡ペアについては、同一剛体特徴量rrがより小さくなる重み付けを行うことで、より“同一剛体らしい”ものをより“同一剛体らしい”データとして扱うことができ、節らしさ特徴量の計算をより精度良く行うことができる。
なお、関節検出部1401は、節らしさ特徴量Xjntをそのまま表示制御部106に出力するのではなく、出力前に節らしさ特徴量Xjntの変換を行い、変換後の節らしさ特徴量を表示制御部106に出力するようにしてもよい。
すなわち、関節検出部1401は、節らしさ特徴量Xjntの値のうち、画素座標系からなる2次元平面上で極大となる点を節として求める。たとえば、節らしさ特徴量Xjntが局所的に極大であれば1をとり、それ以外ではゼロになるような新しい節らしさ特徴量newXjntを定義し、関節検出部1401は、新しい節らしさ特徴量newXjntを表示制御部106に出力してもよい。ここでは簡単のため2値化したが、多値でももちろんかまわない。この構成によると、局所的に最も節らしさ特徴量Xjntが高い画素位置の情報を表示制御部106に渡すことができるため、関節の数が増えた際でも安定して関節領域の表示が行える。
(実施の形態3)
上記した実施の形態2の関節領域表示装置は、複数の移動軌跡ペアから各移動軌跡の節らしさ特徴量を算出し、節らしさ特徴量に基づいた表示を行っている。この際、たとえば、節領域のみを検出したいような場合には節らしさ特徴量に基づいた表示で十分であるが、関節状領域全体を検出したい場合に、節らしさ特徴量の値を画像上に表示するだけでは、関節状領域の端で節らしさ特徴量が低くなってしまうため、関節状領域全体の表示としては視認しづらいという課題がある。
したがって、本実施の形態においては、求まった各移動軌跡の節らしさ特徴量、および、移動軌跡の同一剛体特徴量を利用することで、各移動軌跡の“関節状領域らしさ”をあらわす“関節状領域らしさ”特徴量を算出し、それを用いて関節状領域全体を検出することを目的とした処理を説明する。
本実施の形態における関節領域表示装置の構成を図19に示す。関節領域表示装置100Cは、実施の形態2の関節領域表示装置100Bの構成が含む関節検出部1401のあとに、関節状領域検出部1901を備えている。
本実施の形態における関節状領域検出部1901は、移動軌跡ペア間の同一剛体特徴量rr、および移動軌跡の節らしさ特徴量Xjntを利用して、移動軌跡の「関節状領域らしさ」Xregを算出する。
すなわち、関節状領域検出部1901は、「より節らしい移動軌跡に対して同一剛体らしい」移動軌跡は、関節状領域であるという定義のもとで関節状領域らしさを算出するため、節らしさだけの情報から、各移動軌跡の「関節状領域らしさ」を求めることができる。
以下、図20を参照しながら関節状領域検出部1901の動作について説明する。
図20において、A、B、C、Dは関節状領域上の点であり、Eは関節状領域上にないアウトライアである。関節状領域上の移動軌跡は全て、節らしい移動軌跡に対して同一剛体特徴量が大きくなるという共通点がある。
そこで、Bの関節状領域らしさXreg(B)を、以下の式で定義する。
また、アウトライアEについてXreg(E)は以下のようになる。
すなわち、関節状領域上の移動軌跡Bについては、関節状領域らしさを反映した正の値が得られ、また関節状領域上にない移動軌跡Eについては、関節状領域らしさの値を小さく抑えることができた。
以上の手順に基づき、計算を行うことで、関節状領域上の移動軌跡A〜Dと、関節状領域外の移動軌跡Eを分離し、表示制御部106は、関節状領域上の移動軌跡のみをディスプレイ120に表示させることができる。
図21に、例えば腕全体が動いているシーンから算出した、関節状領域らしさ特徴量を表示した例を示す。所定の閾値以上の関節状領域らしさ特徴量を有する位置を色付けしている。
図17では、節部分である肘のみがグラデーションで強調されていたが、図21の例では、関節状領域らしい部分全体が抽出されており、関節状領域を容易に視認できることがわかる。
(実施の形態4)
以下に本発明の実施の形態4に係る関節領域帰属度算出装置について説明する。
図22は、関節領域帰属度算出装置の機能的な構成を示すブロック図である。
関節領域帰属度算出装置2200は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動領域の各々について、関節領域への帰属度を算出する。関節領域帰属度算出装置2200は、距離算出部107と、関節領域帰属度算出部2201とを含む。
距離算出部107は、上記複数の移動軌跡を入力として受け、複数の移動軌跡に含まれる任意の移動軌跡ペアについて移動軌跡間の類似度を表す距離を算出する処理部である。距離算出部107の実行する処理は実施の形態1に示したとおりである。
関節領域帰属度算出部2201は、第1移動軌跡、第2移動軌跡および第3移動軌跡のうちの任意の2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ、同一の節を介して接続される別の剛体上に、第2移動軌跡に対応する領域および第3移動軌跡に対応する領域が存在する、という3つの関係を同時に満たす度合いを示す節らしさ特徴量を、第1移動軌跡の関節領域への帰属度として算出する。つまり、関節領域帰属度算出部2201は、複数の移動軌跡の各々について、当該移動軌跡の関節領域への帰属度、すなわち当該移動軌跡が関節領域上に存在する可能性の度合いを算出する。関節領域帰属度算出部2201は、移動軌跡の節らしさ特徴量を、その移動軌跡の関節領域への帰属度として算出する。関節領域帰属度算出部2201は、実施の形態1または実施の形態2に示したのと同じ方法を用いて節らしさ特徴量を算出することができる。
図23は、関節領域帰属度算出装置2200の動作を表すフローチャートである。
図23において、2つのステップS307およびS2301は、それぞれ図22の距離算出部107および関節領域帰属度算出部2201に対応する。すなわち、距離算出部107はステップS307、関節領域帰属度算出部2201はステップS2301の各動作を実行する。
ステップS307において、距離算出部107は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動領域を入力として受け、複数の移動軌跡に含まれる任意の移動軌跡ペアについて、移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、移動軌跡ペア以外の移動軌跡を中継点として移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出する。なお、ステップS307の詳細は実施の形態1に示したとおりである。
ステップS2301において、関節領域帰属度算出部2201は、上記複数の移動軌跡に含まれる第1移動軌跡、第2移動軌跡および第3移動軌跡のうちの任意の2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ、同一の節を介して接続される別の剛体上に、第2移動軌跡に対応する領域および第3移動軌跡に対応する領域が存在する、という3つの関係を同時に満たす度合いを示す節らしさ特徴量を、第1移動軌跡の関節領域への帰属度として算出する。つまり、関節領域帰属度算出部2201は、図3のステップS308およびS305に示したのと同様の方法を用いて第1の移動軌跡の節らしさ特徴量を算出する。
実施の形態4によると、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、移動軌跡の関節領域への帰属度を算出することで、移動体の形状の変化の影響を受けることなく、移動軌跡の関節領域への帰属度を正しく算出することができる。
(実施の形態5)
以下に本発明の実施の形態5に係る関節状領域帰属度算出装置について説明する。
図24は、関節状領域帰属度算出装置の機能的な構成を示すブロック図である。
関節状領域帰属度算出装置2400は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動領域の各々について、関節領域を介して接続された領域である関節状領域への帰属度を算出する。関節状領域帰属度算出装置2400は、距離算出部107と、関節状領域帰属度算出部2401とを備える。
距離算出部107は、上記複数の移動軌跡を入力として受け、複数の移動軌跡に含まれる任意の移動軌跡ペアについて移動軌跡間の類似度を表す距離を算出する処理部である。距離算出部107の実行する処理は実施の形態1に示したとおりである。
関節状領域帰属度算出部2401は、着目する移動軌跡、第1移動軌跡、第2移動軌跡および第3移動軌跡のうちの任意の2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ、同一の節を介して接続される別の剛体上に、第2移動軌跡に対応する領域および第3移動軌跡に対応する領域が存在する、という3つの関係を同時に満たす度合いに基づいて、関節状領域らしさを算出する。
たとえば、これらの関係を満たす度合いに基づいて算出された関節状領域らしさを、第2移動軌跡、および第3移動軌跡の関節状領域への帰属度として算出することができる。
さらに望ましくは、着目する移動軌跡、第1移動軌跡、第2移動軌跡のうち、第1移動軌跡の関節領域帰属度、および着目する2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、第1移動軌跡が関節領域に存在し、かつ、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在する、という関係を満たす度合いを、第2移動軌跡の関節状領域への帰属度として算出することができる。実施の形態4で述べたとおり、前述の3点の関係に基づけば、第1移動軌跡の関節領域帰属度が算出できる。「節らしい移動軌跡に対して同一剛体らしい」移動軌跡は、関節状領域への帰属度が高い、といえるため、より正しく関節状領域帰属度を求めることができる。
つまり、関節状領域帰属度算出部2401は、複数の移動軌跡の各々について、当該移動軌跡の関節状領域への帰属度、すなわち当該移動軌跡が関節状領域上に存在する可能性の度合いを算出する。関節状領域帰属度算出部2401は、移動軌跡の関節状領域らしさを、その移動軌跡の関節状領域への帰属度として算出する。関節状領域帰属度算出部2401は、実施の形態3に示したのと同じ方法を用いて関節状領域らしさを算出することができる。
図25は、関節状領域帰属度算出装置2400の動作を表すフローチャートである。
図25において、2つのステップS307およびS2501は、それぞれ図24の距離算出部107および関節状領域帰属度算出部2401に対応する。すなわち、距離算出部107はステップS307、関節状領域帰属度算出部2401はステップS2501の各動作を実行する。
ステップS307において、距離算出部107は、動画像中の移動体を構成する複数の領域にそれぞれ対応する複数の移動領域を入力として受け、複数の移動軌跡に含まれる任意の移動軌跡ペアについて、移動軌跡ペアを構成する移動軌跡間を直接結んだ距離である2点間距離と、移動軌跡ペア以外の移動軌跡を中継点として移動軌跡ペアを構成する一方の移動軌跡から他方の移動軌跡にたどりつく経路の距離である測地距離とを算出する。なお、ステップS307の詳細は実施の形態1に示したとおりである。
ステップS2501において、関節状領域帰属度算出部2401は、上記複数の移動軌跡に含まれる着目する移動軌跡、第1移動軌跡、第2移動軌跡および第3移動軌跡のうちの任意の2つの移動軌跡間の2点間距離の時間変化および測地距離の時間変化に基づいて、第1移動軌跡に対応する領域および第2移動軌跡に対応する領域が同一剛体上に存在し、第1移動軌跡に対応する領域および第3移動軌跡に対応する領域が同一剛体上に存在し、かつ、同一の節を介して接続される別の剛体上に、第2移動軌跡に対応する領域および第3移動軌跡に対応する領域が存在する、という3つの関係を同時に満たす度合いに基づいて求めた関節状領域らしさを、着目する移動軌跡の関節状領域への帰属度として算出する。つまり、関節状領域帰属度算出部2401は、図19の特徴量算出部1402、関節特定部1401および関節状領域検出部1901が実行したのと同様の方法を用いて着目する移動軌跡の関節状領域らしさを算出する。
実施の形態5によると、移動軌跡間の測地距離の時間変化と、2点間距離の時間変化とに基づいて、移動軌跡の関節状領域への帰属度を算出することで、移動体の形状の変化の影響を受けることなく、移動軌跡の関節状領域への帰属度を正しく算出することができる。
なお、上述の実施の形態1〜3における関節領域表示装置から表示制御部106を除いた関節領域検出装置として本発明を実現することも可能である。
なお、上述の実施の形態1〜3において関節特徴算出部は、任意の移動軌跡間について、測地距離の時間変化があらかじめ定めた測地距離閾値よりも小さく、かつ2点間距離の時間変化があらかじめ定めた2点間距離閾値よりも大きい場合に、関節特徴量を0として算出し、測地距離の時間変化があらかじめ定めた測地距離閾値以上の場合、または2点間距離の時間変化があらかじめ定めた2点間距離閾値以下の場合に、前記関節特徴量を1として算出してもよい。
なお、本発明に係る実施の形態では、節と剛体領域から構成される関節を有する物体を一般的な例として説明に用いたが、たとえば、紐のような非剛体の物体であってもよい。紐状の物体は、細かい剛体と無数の節によって構成される関節と捉えることが可能である。したがって、紐の動きも無数の細かい関節動きが連なったものとして扱うことができるため、同様に本手法によって節らしさの算出、及び関節状領域の表示を行える。
また、本発明で用いる「領域」という定義は、多数の軌跡から成る領域のみならず、1つの軌跡のみから成る場合も含む。というのも、少なくとも節の軌跡が1点と、もう2点の移動軌跡が存在すれば、それらの軌跡から各軌跡の節らしさ特徴量、及び関節状領域らしさ特徴量を算出することができるからである。
なお、本発明に係る関節領域表示装置の必須の構成要素は、実施の形態1〜3に係る関節領域表示装置における関節特徴算出部、関節検出部および表示制御部である。また、本発明に係る関節領域検出装置の必須の構成要素は、実施の形態1〜3に係る関節領域表示装置における関節特徴算出部および関節検出部である。