本発明は、画像中の移動体の領域を抽出することによって移動体を検出する画像処理技術に関し、特に、移動体が人物のように形状が変化しながら移動する対象である場合においても、動画像中の動き情報に基づいて移動体の領域を検出する装置に関するものである。
従来より、移動体の像(以下、単に「移動体」という。)が含まれる画像から、画像中の移動体の領域を抽出することによって移動体を検出する領域抽出技術の研究開発が広く行われてきている。特に移動体が人である場合にその移動体の領域を抽出する技術は、デジタルビデオカメラもしくはデジタルスチルカメラにおける焦点制御、画質改善処理、自動車の安全運転支援システム、または、ロボットにおける人との衝突回避制御もしくは衝突回避のための警報などに、共通して利用される基礎技術である。
画像中の移動体の領域を抽出する技術のうち、一般的な手法として、(1)あらかじめ用意した移動体のモデルと、画像中の候補領域との類似度を評価して移動体の領域を特定する方法と、(2)画像を複数の小領域に分割して特徴量を算出し、特徴量を基準として類似する領域を統合することで移動体の領域を特定する方法の2つ手法がある。
前者の代表的な手法として、画像から移動体領域の候補を抽出したのち、抽出した移動体領域の候補とあらかじめ用意した移動体モデルとの類似度を評価して、類似度が高い領域を移動体領域として抽出する手法がある。さらに、歩行する人物等のように、形状が変化しながら移動する移動体の領域を抽出する場合、形状の変化を考慮した移動体モデルを利用する手法がある。
例えば、特許文献1に記載の手法では、移動体領域候補として複数の画像から移動体のシルエット画像を抽出する。そして、あらかじめパラメータ化した移動体の形状の変化に関するモデルと、抽出したシルエット画像との類似度を評価し、類似度が高い領域とモデルのパラメータを推定する手法が開示されている。これによって、形状が変化しながら移動する人物に対しても、パラメータ化したモデルを当てはめることができるため、移動体の領域抽出を可能にしている。
後者の代表的な手法としては、画像を複数の小領域に一旦分割し、各小領域の画素の輝度値に基づいた特徴量を抽出したのち、複数の小領域間の特徴量の類似度を評価して、類似度が高い領域を同一の移動体領域として統合する手法がある。
例えば、特許文献2に記載の手法では、画像を矩形の小領域に一旦分割し、小領域の輝度や動きに基づいて特徴量を算出し、特徴量の類似度の順番に基づいて小領域を統合することで、移動体の領域抽出を可能にしている。
特開平8−214289号公報
特開2006−031114号公報
しかしながら、上記した従来の領域抽出の技術は、例えば、街頭などで複数の人物等の移動体が行き交うシーンなどのように、移動体が他の移動体によって部分的に遮蔽される場合、あるいは移動体の大きさが著しく異なる移動体を含む場合などに、正しく移動体を抽出することができないという問題がある。
特許文献1に記載の手法に代表される、あらかじめ用意したモデルを用いる従来の領域抽出手法では、画像から移動体領域の候補を抽出する必要がある。この時、適切に移動体領域候補を抽出できなければ、移動体をパラメータ化したモデルを正確に移動体領域の候補に当てはめることが不可能になる。特に、上述のようなシーンにおいては、移動体の形状あるいは大きさが大きく変化するため、移動体領域の候補を適切に抽出することは困難である。
さらに、移動体領域の候補を適切に抽出できたとしても以下のような課題がある。特に人物等の多関節物体が移動体である場合、移動体のさまざまな姿勢あるいは大きさに起因する画像上の形状あるいは大きさの変化の幅が非常に大きいため、移動体モデルのパラメータ化を行う際に膨大な数のパラメータが必要となる。このことは、モデルの当てはめ誤りを誘発する。そのため、例えば、複数の移動体を1つの移動体として誤って領域抽出したり、抽出対象となる移動体が存在しない領域を移動体として誤って領域抽出したりするなど、正しく移動体を検出することができないという課題がある。
特許文献2に記載の手法に代表される、小領域間の特徴量を用いる従来の領域抽出手法では、特徴量として用いる輝度値あるいは動きが類似していない2つの小領域は、異なる2つの移動体に属する領域として分離抽出される。そのため、ある移動体が、人物のように場所によって輝度値が異なり、かつ、場所によって動きが異なる場合、同一移動体の上の2つの小領域であっても、異なる2つの移動体に属する領域として誤って分離抽出されてしまうため、正しく移動体を検出することができないという課題がある。
そこで、本発明は、上記従来の課題を解決するためになされたものであり、動画像中における移動体の形状の変化、大きさの変化、又は遮蔽などの影響を受けずに、移動体の領域を正しく抽出することができる移動体検出方法等を提供することを目的とする。
上記目的を達成するために、本発明に係る移動体検出方法の一形態は、動画像中の移動体の全部又は一部の領域を分割することによって動画像中の移動体を検出する方法であって、動画像を構成する複数の画像間の対応点である移動軌跡を複数取得し、取得した移動軌跡について、移動軌跡間の類似度を表す距離を算出する距離算出ステップと、前記距離算出ステップで算出された距離に基づいて、類似する移動軌跡の集まりを1つの領域として特定することによって、領域分割をする領域分割ステップとを含み、前記領域分割ステップは、前記距離算出ステップで算出された移動軌跡間の距離から、移動軌跡間の測地距離を算出する測地距離算出ステップと、前記複数の移動軌跡から、移動軌跡の集まりである領域分割候補を複数生成する領域分割候補生成ステップと、前記領域分割候補生成ステップで生成された領域分割候補について、前記領域分割候補に属する複数の移動軌跡間の測地距離に基づいて、領域分割候補間の類似度を表す領域間測地距離を算出する領域間測地距離算出ステップと、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離が予め定められた条件を満たす領域分割候補を領域分割の結果として選択する領域分割候補選択ステップとを含む。
上記した構成によって、領域分割候補間の領域間測地距離に基づいて領域分割候補を選択することで、領域候補内の局所的な距離の影響を受けることなく領域抽出の候補を選択することが可能になるため、より正しく領域抽出することができる。つまり、移動軌跡が類似する画像の領域がまとめられて領域分割候補になること、領域分割候補の選択においては領域分割候補間の類似度が判断されること、及び、領域分割候補間の類似度については移動軌跡間の測地距離に基づいて定義される領域間測地距離で判断されることから、類似する動きをもつ画像の領域が正確に抽出されるので、移動体が他の移動体によって部分的に遮蔽される場合、あるいは移動体の大きさが著しく異なる移動体を含む場合などであっても正しく移動体が抽出されるとともに、ある移動体が人物のように場所によって輝度値が異なり、かつ、場所によって動きが異なる場合であっても、同一移動体の上の2つの小領域が異なる2つの移動体に属する領域として誤って分離抽出されてしまうことが回避される。
なお、本発明の移動体検出方法は、コンピュータ上のプログラムによって実現されるだけでなく、上記各ステップをハードウェアによって構成した移動体検出装置、上記各ステップをコンピュータに実行させるプログラム、そのプログラムを格納したCD−ROM等のコンピュータ読み取り可能な記録媒体、動画像において動きをもつオブジェクトの領域を抽出、あるいは、分割する画像処理装置等として実現することもできる。
上記の方法及び装置等により、2つの領域分割候補の移動軌跡間の測地距離に基づいて領域分割をすることができるので、動画像中における移動体の形状の変化、大きさの変化、又は遮蔽などの影響を受けずに、移動体の領域を正しく抽出することが可能となる。さらに、領域抽出を行った結果を用いて、移動体の移動予測を行うこともできる。
よって、デジタルビデオカメラ等の動画像撮影装置が普及してきた今日において、デジタルカメラの焦点制御や画質改善処理、自動車の安全運転支援システム、ロボットにおける人との衝突回避制御や警報などへの応用技術として、本発明の実用価値は極めて高い。
図1は、本発明の実施の形態1における移動体検出装置の構成を示す図である。
図2は、コンピュータによって構成された移動体検出装置のハードウェア構成を示す図である。
図3は、本発明の実施の形態1における移動体検出装置の動作の手順を示すフローチャートである。
図4は、本発明の実施の形態における撮影状況の例を示す図である。
図5(a)〜(f)は、本発明の実施の形態における入力動画像を構成する複数のピクチャの例を示す図である。
図6は、移動軌跡の例を示す図である。
図7(a)〜(c)は、測地距離の算出手順を示す概念図である。
図8(a)及び(b)は、測地距離の特徴を説明する図である。
図9(a)〜(e)は、測地距離を用いたクラスタリングの例を示す図である。
図10(a)〜(f)は、測地距離マトリクス、代表測地距離マトリクス及び参照マトリクスの例を示す図である。
図11(a)〜(d)は、代表測地距離マトリクス及び参照マトリクスの例を示す図である。
図12は、画像出力ステップで生成した画像の例を示す図である。
図13は、本発明に係る別の形態における移動体検出装置の動作の手順を示すフローチャートである。
図14は、本発明の実施の形態2における移動体検出装置の動作の手順を示すフローチャートである。
図15(a)〜(d)は、本発明の実施の形態2における領域分割候補の例を示す図である。
図16(a)〜(d)は、(a)は移動軌跡の例を示し、(b)は移動軌跡のクラスタリングの例を示し、(c)及び(d)は領域抽出結果を示す図である。
図17(a)及び(b)は、領域間測地距離を用いて領域分割することの効果を説明する図である。
図18は、本発明に係る更に別の形態における移動体検出装置による動き予測を説明する図である。
本発明の一実施形態は、動画像中の移動体の全部又は一部の領域を分割することによって動画像中の移動体を検出する方法であって、動画像を構成する複数の画像間の対応点である移動軌跡を複数取得し、取得した移動軌跡について、移動軌跡間の類似度を表す距離を算出する距離算出ステップと、前記距離算出ステップで算出された距離に基づいて、類似する移動軌跡の集まりを1つの領域として特定することによって、領域分割をする領域分割ステップとを含み、前記領域分割ステップは、前記距離算出ステップで算出された移動軌跡間の距離から、移動軌跡間の測地距離を算出する測地距離算出ステップと、前記複数の移動軌跡から、移動軌跡の集まりである領域分割候補を複数生成する領域分割候補生成ステップと、前記領域分割候補生成ステップで生成された領域分割候補について、前記領域分割候補に属する複数の移動軌跡間の測地距離に基づいて、領域分割候補間の類似度を表す領域間測地距離を算出する領域間測地距離算出ステップと、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離が予め定められた条件を満たす領域分割候補を領域分割の結果として選択する領域分割候補選択ステップとを含む構成としたものである。
ここで、さらに、動画像を構成する複数枚のピクチャを受け付ける画像入力ステップと、前記ピクチャを構成する1個以上の画素からなるブロックごとに、時間的に隣接する2枚のピクチャ間での画像の動きを検出し、検出した動きを前記複数枚のピクチャについて連結することで、移動軌跡を算出する動き解析ステップとを含み、前記距離算出ステップでは、前記動き解析ステップで算出された移動軌跡を取得し、前記距離を算出してもよい。上記した構成によって、領域分割候補間の領域間測地距離に基づいて領域分割候補を選択することで、領域候補内の局所的な距離の影響を受けることなく領域抽出の候補を選択することが可能になるため、より正しく領域抽出することができる。
なお、移動軌跡間の距離の算出方法として、例えば、前記距離算出ステップでは、移動軌跡間の類似度を表す前記距離として、前記複数の画像における移動軌跡間のユークリッド距離の平均値を算出する構成としてもよい。また、測地距離の具体的な算出方法として、例えば、前記測地距離算出ステップでは、第1の移動軌跡から第2の移動軌跡までの測地距離の算出においては、前記距離算出ステップで取得された複数の移動軌跡のいずれかを中継点として前記第1の移動軌跡から前記第2の移動軌跡に辿りつく全ての経路のうちの最短の経路を、前記測地距離として算出し、より具体的には、前記測地距離算出ステップでは、(1)前記距離算出ステップで算出された移動軌跡間の距離に対して、その一部を無限大化することで非線形化した距離を算出し、(2)前記非線形化した距離に基づいた、第1の移動軌跡から第2の移動軌跡までの測地距離の算出において、他の移動軌跡を中継点として、前記第1の移動軌跡から前記第2の移動軌跡に辿りつく全ての経路の距離うちの最短の距離を、前記測地距離として算出する構成とするのが好ましい。
ここで、領域分割候補の生成方法として、前記測地距離算出ステップでは、複数の閾値を取得し、取得した複数の閾値を、移動軌跡の近傍を定義する閾値として用いて、前記距離算出ステップで算出された移動軌跡間の距離から、それぞれの閾値ごとに、近傍にある移動軌跡を辿っていく経路における距離を算出することで、前記移動軌跡間の測地距離を算出し、前記領域分割候補生成ステップでは、前記測地距離算出ステップで算出した複数の閾値ごとの移動軌跡間の測地距離に基づいて、類似する移動軌跡の集まりを1つの領域分割候補とすることで、前記複数の領域分割候補を生成する構成としてもよい。このとき、複数の閾値の具体例として、前記測地距離算出ステップでは、前記複数の閾値として、前記距離算出ステップで算出された複数の距離のうちの最大値と最小値との間の値を生成するのが好ましい。これによって、閾値の候補を限定することで、より高速に領域抽出することができる。
また、領域間測地距離の算出方法として、前記領域間測地距離算出ステップでは、前記複数の閾値のそれぞれに対して前記領域分割候補生成ステップで生成された複数の領域分割候補のセットのうちの第1の領域分割候補のセットにおける2つの領域分割候補間の領域間測地距離として、当該2つの領域分割候補における測地距離である代表測地距離と、当該第1の領域分割候補のセットに含まれる領域分割候補の総数よりも次に小さい総数だけ領域分割候補が含まれる第2の領域分割候補のセットにおける測地距離である参照測地距離とを用いて、予め定められた演算をすることで算出する。より具体的には、前記領域間測地距離算出ステップでは、前記参照測地距離と前記代表測地距離とに基づいて、2つの領域分割候補間の距離を表す指標と、各領域分割候補内のばらつきを表す指標とを算出し、前記距離を表す指標を、前記ばらつきを表す指標で正規化する演算をすることで、前記領域間測地距離を算出する。または、前記領域間測地距離算出ステップで算出される領域間測地距離は、ある領域分割候補に属する複数の移動軌跡と他の領域分割候補に属する複数の移動軌跡との間の測地距離の総和から算出した2つの領域分割候補間の距離を表す指標を、前記ある領域分割候補に属する複数の移動軌跡間の測地距離の総和から算出した領域分割候補内のばらつきを表す指標と、前記他の領域分割候補に属する複数の移動軌跡間の測地距離の総和から算出した領域分割候補内のばらつきを表す指標とを用いて、正規化した値であるのが更に望ましい。上記した構成によって、領域分割候補間の距離をより正しく反映した領域間測地距離の算出が可能になるため、移動体をより正しく領域抽出することができる。
ここで、領域分割候補の選択基準として、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離が予め定められた閾値よりも大きい2つの領域分割候補の全てを、前記領域分割の結果として選択し、出力する構成としてもよい。これにより、領域間測地距離が大きく離れた領域分割候補が選択されるので、動きが大きく異なる画像の領域が分離され、移動体あるいは移動体の部位が正確に領域抽出される。
また、領域分割候補の別の選択基準として、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化に基づいて、前記領域分割候補を選択し、前記領域分割の結果として出力するのが好ましい。具体的には、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化が、予め定められた閾値より大きい2つの領域分割候補を、異なる領域として選択し、前記領域分割の結果として出力したり、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化が、予め定められた閾値より小さい2つの領域分割候補を、同一の領域として選択し、前記領域分割の結果として出力したり、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化に基づいて、(1)大きいほど2つの領域分割候補は異なる領域となるように、かつ、(2)小さいほど2つの領域分割候補を同一の領域となるように領域分割候補を選択し、前記領域分割の結果として出力したり、前記距離算出ステップ及び前記領域分割ステップが、新たな動画像について、繰り返し実行され、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記繰り返し実行において前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化が予め定められた閾値よりも大きい2つの領域分割候補の全てを、前記領域分割の結果として選択し、出力したりするのが好ましい。
上記した構成によって、領域間測地距離の時間変化に基づいて領域分割候補を選択することで、ある領域分割候補と異なる動きをする領域分割候補を選択することが可能になるため、移動体をより正しく領域抽出することができる。
また、領域分割候補の別の生成方法として、前記領域分割候補生成ステップでは、前記画像入力ステップで取得した画像の輝度情報に基づいて、複数の領域分割候補画像を生成し、領域分割候補画像に対応する1つ以上の移動軌跡の集まりを領域分割候補とすることで、前記複数の領域分割候補を生成する構成としてもよい。これにより、画像の輝度情報に基づいて領域分割候補が生成されるので、輝度上で類似する画像の領域が一つの領域として領域分割されることとなり、領域分割の精度が向上する。
また、領域分割候補の含まれる移動軌跡の数として、前記領域分割候補生成ステップで生成される複数の領域分割候補のうち、少なくとも1つの領域分割候補は1個の移動軌跡が属するものであり、前記領域間測地距離算出ステップでは、前記1個の移動軌跡が属する領域分割候補と他の領域分割候補との領域間測地距離として、前記1個の移動軌跡と前記他の領域分割候補に属する任意の1つの移動軌跡との測地距離を出力する構成であってもよい。
このとき、領域分割候補の生成方法として、前記領域分割候補選択ステップでは、前記領域間測地距離として出力された移動軌跡間の測地距離の時間変化が、予め定められた閾値より小さい2つの移動軌跡を、同じ領域として特定する構成であってもよいし、前記領域分割候補選択ステップでは、前記領域間測地距離として出力された移動軌跡間の測地距離の時間変化が、予め定められた閾値より大きい2つの移動軌跡を、異なる領域として特定する構成であってもよい。これにより、1つの領域分割候補に1個の移動軌跡だけが含まれる場合であっても適切に領域間測地距離が算出されるとともに、測地距離の時間変化に依存した適切な領域分割候補が生成され、移動体が正しく領域抽出される。
また、さらに、前記画像入力ステップで受け付けた動画像に対して、前記領域分割ステップで特定された領域ごとに異なる表示態様となるように、画像処理を施し、出力する出力ステップを含んでもよい。これによって、特定された領域ごとに異なる表示態様で画像処理が施されるので、検出された移動体を容易に確認することができる。
また、さらに、前記領域分割ステップで特定された領域を構成する移動軌跡から、当該領域を代表する移動軌跡を算出し、算出した代表の移動軌跡に従って当該領域が移動すると予測することで、前記移動体の動きを予測する動き予測ステップを含んでもよい。これにより、より精度良く動きを予測することができる。
以下、本発明の実施の形態について、図面を用いて説明する。
(実施の形態1)
図1は、実施の形態1における移動体検出装置100の構成を示す図である。図1に示されるように、この移動体検出装置100は、画像入力部101、動き解析部102、距離算出部103、領域分割部104、及び出力部105を備える。ここで、領域分割部104は、測地距離算出部106、領域分割候補生成部107、領域間測地距離算出部108、及び領域分割候補選択部109を備える。移動体検出装置100は、複数枚のピクチャを含む動画像中の移動体の全部又は一部の領域を分割することによって動画像中の移動体を検出する装置である。本実施の形態では、移動体検出装置100は、カメラ110で撮影した動画像を取得し、取得した動画像中の移動体を検出し、検出結果に基づいて画像を生成して出力する。ディスプレイ120は、移動体検出装置100から出力される画像を表示する。
画像入力部101は、カメラ110等から送られてくる、動画像を構成する時間的に異なる複数枚のピクチャの入力を受け付ける処理部であり、例えば、ビデオカメラ、あるいは、ビデオカメラと接続された通信インターフェース等である。
動き解析部102は、画像入力部101で受け付けられた複数枚のピクチャを構成する1個以上の画素からなるブロックごとに、時間的に隣接する2枚のピクチャ間での画像の動きを検出し、検出した動きを複数枚のピクチャについて連結することで、移動軌跡を算出する処理部である。つまり、ブロックとは、移動軌跡を算出する単位であり、1個以上の画素の集まりである。
距離算出部103は、動画像を構成する複数の画像間の対応点である移動軌跡を複数取得し、取得した移動軌跡について、移動軌跡間の類似度を表す距離を算出する処理部であり、本実施の形態では、移動する物体の形状変化を捉えるために、動き解析部102で算出したブロックiの移動軌跡と、i以外のブロックの移動軌跡とを用いて、ブロックの動きの類似度を表す距離を算出する。よって、I個のブロックの移動軌跡を用いた場合、算出される距離はI行I列(I×I)の距離マトリクスとなる。ここでは、ブロックの動きの類似度を評価する距離を計算することによって、ブロック間の距離が動きによって変化する移動体、特に、関節物体のように形状が変化しながら移動する人物等の物体の動きを距離マトリクスとして表現することが可能である。なお、以降の説明では、ブロックiの移動軌跡を移動軌跡iと呼ぶこととする。このように、本明細書における「距離」は、2次元空間における2点間の距離だけでなく、後述するように、多次元のデータ間の算術的な距離を含み、1つの値、あるいは、複数の値の集合(距離マトリクス)である。なお、距離算出部103は、移動軌跡間の類似度を表す距離として、例えば、複数の画像における移動軌跡間のユークリッド距離の平均値を算出する。
領域分割部104は、距離算出部103で算出された距離に基づいて、類似する移動軌跡の集まりを1つの領域として特定することによって、領域分割をする処理部である。この領域分割部104は、測地距離算出部106、領域分割候補生成部107、領域間測地距離算出部108及び領域分割候補選択部109を有する。
領域分割部104を構成する、測地距離算出部106および領域分割候補生成部107は、距離算出部103で算出した距離マトリクスを用いて、移動軌跡間の距離の分布における不連続性を検出し、検出した不連続点よりも小さい距離だけ離れた移動軌跡同士が一つのクラスタとなる領域分割候補を複数生成する。
具体的には、測地距離算出部106は、領域分割に用いられる判断基準である複数の閾値を生成し、生成した複数の閾値のそれぞれについて、(1)距離算出部103で算出された距離に対して、当該閾値よりも大きい距離を無限大化する非線形化を施し、(2)非線形化後の距離を用いて、動き解析部102が算出した複数の移動軌跡における移動軌跡間の測地距離を算出する。
領域分割候補生成部107は、測地距離算出部106で生成した複数の閾値のそれぞれの移動軌跡間の測地距離に基づいて、有限の値の測地距離だけ離れた移動軌跡の集まりを領域分割候補とすることで、複数の領域分割候補を生成する。
領域間測地距離算出部108は、領域分割候補生成部107で算出した複数の領域分割候補に対して、領域分割候補に属する複数の移動軌跡間の測地距離に基づいて、2つ領域分割候補間の類似度を表す領域間測地距離を算出する。
領域分割候補選択部109は、領域間測地距離算出部108で算出された領域間測地距離をもとに領域分割候補を選択し、選択した領域分割候補に対応する複数の移動軌跡ごとにクラスタリングすることによって、画像中の移動体の検出と画像の領域分割を行う。具体的には、領域分割候補選択部109は、領域分割候補生成部107で生成された領域分割候補のうち、領域間測地距離算出部108で算出された領域間測地距離が予め定められた条件を満たす領域分割候補を、領域分割の結果として選択する。
出力部105は、領域分割部104で行った動画像中の移動体の検出結果もしくは、画像の領域分割結果を出力する。具体的には、出力部105は、画像入力部101で受け付けた動画像に対して、例えば、領域分割部104で特定された領域ごとに異なる表示態様となるように、画像処理を施し、ディスプレイ120等に出力する。
本明細書において、「領域抽出」とは、ある特定の対象物が存在する画像領域を抽出する検出技術と、対象物の区別なく物体ごとに画像領域を分割する領域分割技術の両者を含んでいる。なお、検出技術と領域分割技術とは、共通する部分が多いため、本明細書においては両者を区別しない。
なお、上記した移動体検出装置100を構成する各構成要素(画像入力部101、動き解析部102、距離算出部103、領域分割部104、出力部105)は、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路等のハードウェアで実現されてもよい。
図2は、ソフトウェアによって実現された本実施の形態における移動体検出装置のハードウェア構成を示す図である。図2において、カメラ110は画像を撮影して出力し、コンピュータ1002は画像を取得して領域抽出処理を行って、領域抽出結果を表示する画像を生成する。ディスプレイ120はコンピュータ1002で生成された画像を取得して表示する。コンピュータ1002は、I/F1004、CPU1005、ROM1006、RAM1007、HDD1008、ビデオカード1009で構成される。コンピュータ1002を動作させるプログラムは、ROM1006またはHDD1008にあらかじめ保持されている。プログラムは、プロセッサであるCPU1005によって、ROM1006またはHDD1008からRAM1007に読み出されて展開される。CPU1005はRAM1007に展開されたプログラム中のコード化された各命令を実行する。I/F1004は、プログラムの実行に応じて、カメラ110で撮影された画像を、RAM1007へ取り込む。ビデオカード1009は、プログラムの実行に応じて生成された画像を出力し、ディスプレイ120で表示される。
なお、コンピュータプログラムは、半導体であるROM1006またはHDD1008に格納されるのに限られず、たとえば光ディスクに格納されていてもよい。また、コンピュータプログラムは、有線や無線のネットワーク、放送などを介して伝送され、コンピュータのRAM1007に取り込まれてもよい。
以下、本実施の形態の移動体検出装置100の動作を、図3を用いて説明する。
図3は、本実施の形態の移動体検出装置100の動作を表すフローチャートである。
図3において、7つのステップS201〜S209は、それぞれ図1の各処理部に対応している。すわなち、画像入力部101は画像入力ステップS201、動き解析部102は動き解析ステップS202、距離算出部103は距離算出ステップS203、測地距離算出部106は測地距離算出ステップS204、領域分割候補生成部107は領域分割候補生成ステップS205、領域間測地距離算出部108は領域間測地距離算出ステップS206、領域分割候補選択部109は領域分割候補選択ステップS207、出力部105は画像出力ステップS208の各動作を実行する。領域分割部104は、領域分割ステップS209を実行する。
画像入力ステップS201において、画像入力部101は、カメラ110から、動画像を構成する複数のピクチャを取得する。ここではT枚のピクチャが入力されたものとする。
図4は、カメラ110によって撮影される対象物の状況である撮影状況の一例を示す図である。また、図5(a)〜図5(f)は、カメラ110によって、図4の撮影状況において撮影された動画像に含まれる複数枚のピクチャの一例を示す図である。画像入力部101は、第1フレームから第TフレームまでのT枚のピクチャをカメラ110から受け付ける。本実施の形態では、ピクチャの数Tは、あらかじめ定められているものとする。
次に、動き解析ステップS202では、動き解析部102は、入力された複数のピクチャ間の動き情報を算出し、移動軌跡を生成して出力する。複数のピクチャ間の動きを算出する手法として、ここでは複数のピクチャのうちのある1つのピクチャ上のI個の画素を基準に、他の(T−1)枚のピクチャ中の対応する画素を探索する。なお、I個の画素の代わりに、I個の小矩形領域(ブロック)を基準にしても良い。例えば、tフレームと(t+1)フレームのピクチャを用いて、tフレームのピクチャ上の画素iの画素座標(xit,yit) (i=1…I)に対応する、(t+1)フレームのピクチャ上の画素座標(xit+1,yit+1)を推定する。ピクチャが3枚以上ある場合は、順次対応する座標を求めていくことで、入力したT枚全てのピクチャのI個の対応点を算出する。
上記した複数のピクチャ間の対応点を算出する具体的な手法は、非特許文献1もしくは非特許文献2などに詳しく記載されているため、ここでは詳細の説明を省略する。
(非特許文献1)P.Anandan,“A Computational Framework and an Algorithm for the Measurement of Visual Motion”,International Journal of Computer Vision,Vol.2,pp.283−310,1989
(非特許文献2)Vladimir Kolmogorov and Ramin Zabih,“Computing Visual Correspondence with Occlusions via Graph Cuts”,International Conference on Computer Vision,2001
そして、この動き解析ステップS202では、動き解析部102は、I個の画素のT枚のピクチャにわたる動き情報である、対応点の画素座標の組から、I個の画素ごとに対応する移動軌跡を、下記式1のように、I個生成する。
ここで、Tは移動軌跡の算出に用いたピクチャの枚数である。
図6は、移動軌跡xの例を示す図である。移動軌跡xは、時刻tから時刻t+(T-1)の入力画像301において、画素i303に対応する他のピクチャ上へ動き情報302から算出した、画素座標の集まりからなるベクトルである。
次に、距離算出ステップS203にて、距離算出部103は、複数の移動軌跡を入力として移動軌跡間の距離(ここでは、ユークリッド距離の平均値)を算出する。画素iの移動軌跡と画素jの移動軌跡との距離f(i,j)は、下記式2により算出できる。
なお、本実施の形態において、後述する測地距離gと区別して説明するために、移動軌跡間の距離fを線形距離と呼ぶが、線形距離の定義式を線形演算に限定するものではなく、線形距離の定義式に非線形の演算が含まれていても良い。
なお、線形距離f(i,j)を算出する式として、上記式2の代わりに下記式3を用いてもよい。
ここで、wは重み係数であり、設計者が設定するパラメータである。上記式3の移動軌跡間の距離f(i,j)は、移動軌跡間距離の時間平均値ptnijに、移動軌跡間距離の時間変動成分mtnijを加えたものである。特に移動軌跡間距離の時間変動成分mtnijは、画素の動きの類似度を示すものであり、これによって、画素間のなす距離の関係が時間的に変化しない剛体だけでなく、関節物体等の形状変化を捉えることができる。
そして、距離算出部103は、上記式2または上記式3で算出した、I個の移動軌跡間の距離f(i,j)から、下記式4に示されるI×Iの距離マトリクスFを生成する。
続いて、測地距離算出ステップS204では、移動軌跡間の距離の集まりである距離マトリクスFを取得して、移動軌跡の近傍を定義する距離の閾値Rを複数用いて、前記移動軌跡間の距離を測地距離に変換する。つまり、測地距離算出ステップS204では、複数の閾値を取得し、取得した複数の閾値を、移動軌跡の近傍を定義する閾値として用いて、距離算出ステップS203で算出された移動軌跡間の距離から、それぞれの閾値ごとに、近傍にある移動軌跡を辿っていく経路における距離を算出することで、移動軌跡間の測地距離を算出する。そして、移動軌跡間の測地距離が有限である移動軌跡の集まりの情報を含む領域分割候補を複数生成して出力する。
以降、測地距離算出ステップS204の動作をさらに詳しく説明する。
まず、測地距離算出ステップS204では、測地距離算出部106は、上記式2で算出した距離f(i,j)に対してあらかじめ定められたK個の閾値Rkを用いて、それぞれの閾値に対して、下記式5の非線形化処理を行い、f´k(i,j)を算出する。
次に、測地距離算出部106は、非線形化された距離f´k(i,j)を用いて、測地距離を算出する。測地距離とは、複数の点を結ぶノードの距離(長さ)が得られているときに、ある2点間を結び得る全ての経路の距離のうちの最短の距離である。よって、測地距離算出部106は、第1の移動軌跡から第2の移動軌跡までの測地距離の算出においては、距離算出部103で算出された複数の移動軌跡のいずれかを中継点として第1の移動軌跡から第2の移動軌跡に辿りつく全ての経路のうちの最短の経路を、測地距離として、算出する。
例えば、移動軌跡iと移動軌跡jの2点間を直接結ぶノードの距離f´k(i,j)が得られているとする。このとき移動軌跡iと移動軌跡jの2点間を結ぶ経路は、2点間を直接結ぶノード以外に、別の移動軌跡sをたどる経路もある。この経路の距離をf´k(i,s)+ f´k(s,j)とする。このような複数の経路の距離のうちで、最も短い距離を、下記式6に示されるように、測地距離gk(i,j)とする。
上記式6において、min(x,y)は、値xと値yのうち小さい方を返す関数である。また、sは、移動軌跡sであり、移動軌跡iから移動軌跡jに辿(たど)りつくための中継点である。ここで、f´k(i,s)+ f´k(s,j)における中継点sは1点に限るものではない。なお、kは複数の閾値Rkに対応する。
上述した多次元データ間の測地距離を算出する手法、および、測地距離の算出における2点間の最短経路を探索する手法の詳細は、例えば非特許文献3のISOMAP、非特許文献4のダイクストラ法などが広く知られているため、ここでは処理手順の詳細説明を省略する。
(非特許文献3)Joshua Tenenbaum,Vin de Silva,John Langford,“A Global Geometric Framework for Nonlinear Dimensionality Reduction”,Science,VOL290,pp.2319−2322,22 December,2000
(非特許文献4)E.W.Dijkstra,“A note on two problems in connexion with graphs”,Numerische Mathematik,pp.269−271,1959
さらに、上記式6で算出した、I個の移動軌跡間の測地距離gk(i,j)から、領域分割候補生成部107は、下記式7に示されるI×Iの測地距離のマトリクスGkを生成する。
上記した処理によって、測地距離算出ステップS204では、測地距離算出部106は、K個の閾値Rkに対応するK個の測地距離マトリクスGkを生成する。
ここで、上記式5及び上記式6に示した非線形化及び測地距離の算出処理について、図7(a)〜図7(c)の概念図を用いて説明する。まず、図7(a)は、上記式1に示される移動軌跡xのデータの分布を、説明の都合上2次元のデータ分布として示したものである。ここで、それぞれのデータ点は、上記式1で示した画素iの移動軌跡に相当する。上記式2で得られる距離f(i,j)の関係を、図7(b)に示す。データ点iとデータ点jとの距離は、データ点iとデータ点sとの距離よりも小さくなる。一方、上記式5及び上記式6に示される測地距離変換を行うと図7(c)に示すように、データ点iとデータ点jとの距離g(i,j)は、データ点を矢印のように中継のデータ点sを辿った距離となる。結果として、距離f(i,j)を用いる場合と異なり、データ点iとデータ点jとの距離g(i,j)は、データ点iとデータ点sとの距離g(i,s)よりも大きくなる。
次に、このような上記式5及び上記式6に示した測地距離変換の特徴を、図8(a)及び図8(b)の概念図を用いて説明する。ここでは、線形距離f(i,j)と測地距離gk(i,j)の違いを分かりやすく説明するため、上記式2に示すような時刻tにおける移動軌跡間距離を例とする。図8(a)は、線形距離f(i,j)の例である。例えば、頭部の画素i502と手先部の画素j503との距離は、距離501に示す距離となる。一方、上記式5及び上記式6に示される測地距離変換を行うことによって、閾値Rkが適切に設定されている場合、図8(b)に示されるように、頭部の画素i502と手先部の画素j503との距離は、画素s504を通って画素jにたどり着くまでの矢印で示したような距離の和となる。
そのため、図8(a)に示される距離501では人物のような関節で繋がった形状をデータとして連続的に表現できないのに対して、図8(b)に示される測地距離では、関節が繋がった形状を距離として連続性を表現することが可能となる。
また、図8(a)の頭部の画素i502と手先部の画素j503の線形距離は、人物の姿勢の変化に伴って、位置関係が時間的に大きく変化する場合に、その値が時間的に大きく変化する。しかし、同じ2つの移動軌跡間の測地距離gk(i,j)は、類似した動きをする他の移動軌跡との距離の和になるため、線形距離に比べてその変動が小さいという特徴を持つ。
さらに、図4や図5中の2名の人物のように、大きく異なる動きをする移動体上の2つの移動軌跡については、軌跡間の線形距離はともに大きな値となり、測地距離はさらに大きな値となる。
以上のことから、人物のように変形しながら移動する移動体を対象とした場合、移動軌跡の距離に基づいて移動体の領域を抽出するためには、線形距離よりも測地距離の方が適していると言える。
なお、測地距離算出ステップS204において、線形距離から測地距離を求める手法として、上記式5及び上記式6を用いる手法を示したが、測地距離を求める手法は、この手法に限定されるものではない。
例えば、あらかじめ定めたK個の閾値Rkの代わりに、あらかじめ定めたK個の閾値Nkを用いる。そして、線形距離f(i,j)から非線形化した距離f´k(i,j)を求める処理として、閾値Rk以上の線形距離f(i,j)を無限大に置き換える上記式5の代わりに、ある移動軌跡iと他の(I-1)個の移動軌跡との線形距離f(i,j)のうちで、小さいほうからNk番目の線形距離よりも大きい線形距離を無限大で置き換えることによって、非線形化した距離f´k(i,j)を算出してもよい。
次に、領域分割候補生成ステップS205では、領域分割候補生成部107は、測地距離算出部106で算出したK個の閾値Rkに対応するK個の測地距離マトリクスGkに対し、各測地距離マトリクスGk内で連続な移動軌跡間を1つの領域としてまとめることでクラスタリングを行い、クラスタのラベルθとクラスタ数の情報を付与する。ここで2つの移動軌跡が連続とは、移動軌跡iと移動軌跡j間の測地距離gk(i,j)が有限である(無限大ではない)とする。
K個の閾値Rkに対して得た測地距離を用いたクラスタリングの例を、図9(a)〜図9(e)を用いて説明する。ここで、図9(a)は、2人の人物を移動体としたT枚のピクチャを入力として得られたI個の移動軌跡の例を示す図である。なお、この図ではa〜hまでの8個の移動軌跡を示しているが、本発明は、移動軌跡の個数を限定するものではなく、移動軌跡の個数はできるだけ多くすることが好ましい。図9(b)は、図9(a)に示した複数の移動軌跡からなる高次元空間の概念図である。説明を容易にするため3次元空間として示しているが、実際には、移動軌跡間の距離を決定するパラメータの個数に依存するので、3次元になるとは限らない。ここで、移動軌跡からなる高次元空間(図9(b))の1点が、それぞれ上記式1に示した一つの移動軌跡に対応する。さらに、高次元空間(図9(b))上で、点と点との距離は、上記式3の距離f(i,j)に対応する。閾値Rkが十分に大きな値である場合、例えば、上記式6においてf(i,j)の最大値よりも閾値Rkが大きい場合には、式5に示される非線形化により、図9(c)に示すように測地距離gk(i,j)は、すべてのi,jの組合せにおいて有限の距離となる。すなわち、不連続点が1点もないためクラスタは1個のクラスタθ1 1となる。一方、閾値Rkが十分に小さい場合、具体的には、上記式5においてf(i,j)の最小値よりも閾値Rkが小さい場合には、上記式5に示される非線形化により、すべてのi,jの組合せにおいてgk(i,j)が無限大となる。すなわち、クラスタ数は移動軌跡の数Iと同数となる。したがって、閾値Rkをf(i,j)の最大値と最小値の間の値に設定し、複数の測地距離マトリクスを算出すると、測地距離マトリクスから1個以上I個以下の異なるクラスタ数をもつクラスタリングの情報、すわなち、移動体の領域抽出の候補を得ることができる。
閾値Rkをf(i,j)の最大値と最小値の間の値に設定した場合のクラスタリングについて、図9(d)に示される例について説明する。図9(b)において、移動軌跡aと移動軌跡bとの距離をf(a,b)とした時に、f(d,e) > f(e,g)であるとする。ここでは、閾値をR1として設定した場合に、距離f(d,e)は、閾値R1よりも大きな値を持つ(つまり、f(d,e)>R1)とする。この場合、上記式5に示される非線形化により、上記式6によって測地距離を求めてもg1(d,e)は無限大となる。そこで、領域分割候補生成部107は、移動軌跡dと移動軌跡eとの間を不連続と判定する。この結果、移動軌跡a、b、c、d間の測地距離は不連続点を通らないため有限の値を取り、移動軌跡a、b、c、dから移動軌跡e、f、g、hの測地距離は、すべて無限大となる。このように、領域分割候補生成部107は、測地距離が有限な複数の移動軌跡の組を同じクラスタとし、無限大となる場合は別のクラスタとする。これによって、図9(c)に示される1つのクラスタθ1 1(a、b、c、d、e、f、g、hの組)は、図9(d)に示されるようにθ1 2(e、f、g、hの組)、θ2 2(a、b、c、dの組)の2つのクラスタに分離することができる。さらに、図9(e)に示すように、閾値R2をR1>R2>f(e,g)とした場合に、g1(d,e)は変わらずに(つまり、無限大のまま)、g2(e,g), g2(e,h), g2(f,g), g2(f,h)が無限大になったとする。すると、領域分割候補生成部107は、それぞれ移動軌跡eと移動軌跡gとの間、移動軌跡eと移動軌跡hとの間、移動軌跡fと移動軌跡gとの間、及び、移動軌跡fと移動軌跡hとの間が不連続点であると判定し、図9(d)の場合と同様に測地距離が無限大となる組と無限大にならない組とを整理して、θ1 3(g、hの組)、θ2 3(a、b、c、dの組)、θ3 3(e、fの組)の合計3つのクラスタに分離する。以上の処理によって、測地距離が無限大とならない移動軌跡の組は連続とすることで同じクラスタと判定することができ、測地距離が無限大となる移動軌跡の組は不連続とすることによって、不連続点をもとにクラスタを分離することができる。
なお、閾値Rkの設定方法については、f(i,j)の最小値から最大値の間を均等にK個設定しても良いし、f(i,j)の平均値やメディアンを中心に一定間隔で増加、減少させた値を用いても良い。
上記した処理によって、領域分割候補生成ステップS205では、領域分割候補生成部107は、K個の測地距離マトリクスGkに対応して、連続した移動軌跡であることを示すクラスタのラベルθk mの情報と、クラスタ数Mkを生成する。以降のステップでは、この複数の測地距離マトリクスと対応付けられた各クラスタの情報を、ピクチャ中の移動体の領域を示す複数の候補である領域分割候補として扱う。
次に、領域間測地距離算出ステップS206では、領域間測地距離算出部108は、領域分割候補生成ステップS205で生成された領域分割候補の情報、すわなち、K個の測地距離マトリクスgk(i,j)とそれに対応するクラスタのラベルθk m、クラスタ数Mkの情報を入力として、複数の領域分割候補に対応する領域間測地距離を算出する。
以降、領域間測地距離算出ステップS206での領域間測地距離算出部108の動作をさらに詳しく説明する。
まず、領域間測地距離算出ステップS206では、領域間測地距離算出部108は、K個の閾値Rkに対応する測地距離マトリクスgk(i,j)から、クラスタ数M(Mは2以上)ごとに任意に1つを選択して、これをクラスタ数Mを代表する代表測地距離マトリクスGMとする。本実施の形態1では、代表測地距離マトリクスを選択する方法として、クラスタ数がMである複数の測地距離マトリクスのうち、閾値Rkがもっとも大きいものを選択するものとする。
次に、領域間測地距離算出部108は、クラスタ数Mの代表測地距離マトリクスGMに対して、Mの次にクラスタ数の少ない複数の測地距離マトリクスから任意に1つを選択し、これをクラスタ数Mの参照マトリクスGrMとする。本実施の形態1では、参照マトリクスを選択する方法として、Mの次にクラスタ数の少ない複数の測地距離マトリクスのうち、閾値Rkがもっとも小さいものを選択するものとする。
図10(a)〜図10(f)に、領域間測地距離算出ステップS206で生成した、測地距離マトリクスGkと、代表測地距離マトリクスGMの例を示す。図10(a)はK個の閾値Rkに対して得た測地距離マトリクスGkの例を示す図である。測地距離マトリクスは、移動軌跡の測地距離gk(i,j)をi行j列の要素とする、I×Iの測地距離の行列である。図10(b)〜図10(d)は、それぞれ、クラスタ数1〜3の代表測地距離マトリクスGMの例を示す図である。ここでは図10(b)〜図10(d)の代表測地距離マトリクスの行、列に対応する移動軌跡は、すべて共通であるものとする。
図10(b)と図9(c)、図10(c)と図9(d)、図10(d)と図9(e)は、それぞれクラスタ数が1〜3の場合の代表測地距離マトリクス、及び、移動軌跡の距離の高次元空間の概念図である。
図10(b)〜図10(d)の矩形の斜線部は、有限の値をもち、これは対応する移動軌跡が連続であり、1つのクラスタを構成することを表している。また、図中の斜線部以外の領域は、距離は無限大となり、対応する移動軌跡が不連続であることを表している。したがって、クラスタ数Mに応じて、対角部にM個の有限距離のクラスタ(M個の斜線部)が並ぶ配置となっている。
図10(e)及び図10(f)は、参照マトリクスの例を示す図である。クラスタ数Mの参照マトリクスは、クラスタ数がM未満のうち最大のクラスタ数となる測地距離マトリクスから選ばれる。そのため、代表測地距離マトリクスにおいて無限大となる要素が、参照マトリクスにおいては有限の値となる箇所がある。
以降、あるクラスタ数がMの代表測地距離マトリクスと参照マトリクスが含む情報について、図11(a)〜図11(d)を用いて詳しく説明する。
図11(a)及び図11(b)は、それぞれ、クラスタ数2(M=2)の場合の代表測地距離マトリクス(図11(a))と参照マトリクス(図11(b))の例を示す図である。代表測地距離マトリクスのクラスタθ1 2、θ2 2に対応する、参照マトリクスのクラスタを同様にθ1 2、θ2 2とする(図11(b)に示される2つの斜線領域)。また、代表測地距離マトリクスにおいては値が無限大であり、かつ参照マトリクスにおいては値が有限となる要素の領域(図11(b)中の2つの縦線領域)をθ1,2 2とする。
このとき、参照マトリクスのθ1 2領域はクラスタθ1 2内の移動軌跡間の距離を、θ2 2領域はクラスタθ2 2内の移動軌跡間の距離を、それぞれ表す。また、参照マトリクスの2つのθ1,2 2の領域は、異なるクラスタθ1 2、θ2 2に存在する移動軌跡間の距離を表す。このことから、参照マトリクスのθ1 2内の距離の平均値によってクラスタθ1 2の分布のばらつき度合いを、参照マトリクスのθ2 2内の距離の平均値によってクラスタθ2 2の分布のばらつき度合いを、それぞれ表すことができると言える。さらに、参照マトリクスのθ1,2 2内の距離の平均値によってクラスタθ1 2とθ2 2間の距離を表すことができる。
クラスタ数が2以外の場合でも同様である。例えば、クラスタ数3(M=3)の場合の代表測地距離マトリクス(図11(c))と参照マトリクス(図11(d))の例においても、代表測地距離マトリクスのクラスタθ1 3、θ3 3と参照マトリクスθ1,3 3の間で、上記と同じ関係が成り立つ。
以上のような代表測地距離マトリクスと参照マトリクスが含む情報を利用し、領域間測地距離算出ステップS206では、領域間測地距離算出部108は、クラスタ間の距離の指標である領域間測地距離を算出する。
具体的には、クラスタ数Mの代表測地距離マトリクスGMと参照マトリクスGrMから、代表測地距離マトリクスGMでは無限大であり、かつ、参照マトリクスGrMでは有限となる要素に対応する領域θp,q M、および、クラスタθp M、θq Mを抽出する。
そして、領域間測地距離算出部108は、クラスタθp M、θq M間の領域間測地距離hp,q Mを下記式8により算出する。
上記式8において、g_M pは、2つの領域分割候補に対応する2つのクラスタθp M、θq Mのうち、クラスタθp M内の複数の移動軌跡間の測地距離の平均値である。同様に、g_M qは、クラスタθq M内の複数の移動軌跡間の測地距離の平均値である。g_M p,qは、クラスタθp Mに存在する移動軌跡とクラスタθq Mに存在する移動軌跡との間の測地距離の平均値である。npおよびnqは、クラスタθp Mおよびθq Mに属する移動軌跡の個数である。
なお、g_M p、g_M q、g_M p,qは、いずれも参照マトリクスGrMを用いて計算してもよいし、g_M pおよびg_M qは、代表測地距離マトリクスGMを、g_M p,qは参照マトリクスGrMをそれぞれ用いて計算しても良い。
領域間測地距離算出ステップS206では、領域間測地距離算出部108は、上記した処理を、クラスタ数Mのうち1を除く、算出された全てのクラスタ数に対して行い、それぞれ領域間測地距離hp,q Mを算出し、対応するクラスタθp M、θq M(移動軌跡のラベル情報)を領域分割候補としてあわせて出力する。
なお、ある1つのクラスタ数Mの代表測地距離マトリクスGMと参照マトリクスGrMに対し、上記したθp,q M、θp M、θq Mの領域が1組とは限らない。2組以上ある場合においても、上記式8に示される処理により、領域間測地距離を算出する。
ここで、上記式8に示される領域間測地距離の性質について説明する。上記式8から、領域間測地距離は、異なる2つの領域分割候補に属する移動軌跡間の測地距離の平均値であるg_M p,qを、同一領域分割候補内の移動軌跡間の測地距離の平均値であるg_M p、g_M qで正規化した値となっている。言い換えると、領域間測地距離は、領域分割候補間の距離を表す指標を領域分割候補内のばらつきを表す指標で正規化した値となっている。そのため、領域間測地距離は、定性的には以下の性質を持つ。
・2つの領域分割候補の間の距離が大きくなるほど、領域間測地距離も大きくなる。
・移動軌跡全体の大きさ(拡縮率)が変化する場合は、領域間測地距離は一定になる。
・移動体の変形によって、領域分割候補内の移動軌跡間の距離が変動しても、領域間測地距離はあまり変わらない。
このように、領域間測地距離算出部108は、複数の閾値のそれぞれに対して領域分割候補生成ステップS205で生成された複数の領域分割候補のセットのうちの第1の領域分割候補のセットにおける2つの領域分割候補間の類似度として、当該2つの領域分割候補における測地距離である代表測地距離と、当該第1の領域分割候補のセットに含まれる領域分割候補の総数よりも次に小さい総数だけ領域分割候補が含まれる第2の領域分割候補のセットにおける測地距離である参照測地距離とを用いて、予め定められた演算をすることで、領域間測地距離を算出する。つまり、参照測地距離マトリクスに含まれる領域分割候補間の測地距離を、代表測地距離マトリクスに含まれる領域分割候補の各領域内の測地距離で正規化する。言い換えると、参照測地距離と代表測地距離に基づいて、2つの領域分割候補間の距離を表す指標と、各領域分割候補内のばらつきを表す指標とを算出し、その距離を表す指標を、そのばらつきを表す指標で正規化する演算をすることで、領域間測地距離を算出する。
なお、領域分割候補生成ステップS205で生成される複数の領域分割候補のうち、少なくとも1つの領域分割候補は1個の移動軌跡が属するものであってもよい。このとき、領域間測地距離算出ステップS206では、1個の移動軌跡が属する領域分割候補と他の領域分割候補との領域間測地距離として、その1個の移動軌跡と他の領域分割候補に属する任意の1つの移動軌跡との測地距離を出力すればよい。
次に、領域分割候補選択ステップS207では、領域分割候補選択部109は、領域分割候補生成部107で生成された複数のクラスタθp M、θq Mを領域分割候補とし、その評価値として、領域間測地距離算出部108で算出された領域間測地距離hp,q Mを扱い、領域間測地距離に基づいてクラスタθp M、θq Mの領域分割候補を別個のクラスタとして分割するか否かを選択する。
具体的には、領域間測地距離hp,q Mが、あらかじめ定められた閾値Htより大きい場合、対応する2つのクラスタθp M、θq Mは、その領域間の距離が十分離れているクラスタとして選択し、個別のクラスタとして確定する。一方、領域間測地距離hp,q Mが、あらかじめ定められた閾値Htより小さい場合、対応する2つのクラスタθp M、θq Mは、同一のクラスタとして確定する。つまり、この場合には、分割しないと確定する。そして、領域分割候補の全てのクラスタに対して、分割するか否かを判定した後、異なるクラスタに属する移動軌跡には異なるラベルθmを割り当て、移動軌跡のクラスタリング情報として出力する。
例えば、図11(a)に示されるクラスタ数2の代表測地距離マトリクスと、図11(b)に示される参照マトリクスから算出された領域間測地距離をh1,2 2とし、図11(c)に示されるクラスタ数3の代表測地距離マトリクス、図11(d)に示される参照マトリクスから算出された領域間測地距離をh1,3 3、他のクラスタ数wの領域間測地距離をhp,q wとする。ここで、h1,2 2>Htで、かつ、h1,3 3、 hp,q w<Htであるとすると、対応するクラスタθ1 2、θ2 2は、このように分割され、他のクラスタは分割されない(つまり、θ1 2がさらにθ1 3、θ3 3に分割されることはない)。その結果、移動軌跡はクラスタθ1 2、θ2 2の2つのクラスタに分割され、図9(d)と同様なクラスタリング結果を得る。
最後に、画像出力ステップS208において、出力部105は、移動軌跡のクラスタθ1 2、θ2 2から、画像を生成して、ディスプレイ120に表示する。
ここで、画像出力ステップS208では、出力部105は、I個の移動軌跡に対し、対応するクラスタθ1 2、θ2 2によって異なる色を選択し、選択した色でそれぞれT番目の画像座標位置の画素を描画することで、画像を生成する。
図12に画像出力ステップS208で生成した画像の例を示す。クラスタリングした移動軌跡ごとに異なる色を持つ画像が表示されることとなる。
なお、画像出力ステップS208において、クラスタリングしたI個の移動軌跡に基づいて画像を生成する手順として、I個の移動軌跡の画像座標位置の画素をクラスタに応じた色で描画するとしたが、画像を生成する方法をこれに限定するものではない。
具体的には、移動軌跡の数Iと画像全体の画素数とが同数であれば、上述した方法により画像中の全画素をクラスタに応じた色で描画することができる。一方、移動軌跡の数Iが画像全体の画素数より少ない場合、どの移動軌跡の画像座標位置とも一致しない画素が存在する。このような移動軌跡の画像座標位置と一致しない画素については、別の方法で描画しても良い。
例えば、動き解析部102において、ある移動軌跡を生成するための動き検出に用いたブロックに属する画素は、その移動軌跡のクラスタと同じ色で描画するとしても良い。
また、移動軌跡の画像座標位置と一致しない画素を描画する別の方法として、最近傍の移動軌跡のクラスタと同じ色で描画するとしても良い。
また、移動軌跡の画像座標位置と一致しない画素を描画する別の方法として、複数の移動軌跡の画像座標位置(点)の間を、Delaunay三角メッシュ生成法にて結び、同一のクラスタに属する3点に囲まれる3角形に含まれる画素は、そのクラスタと同じ色で描画するとしても良い。
なお、連続した動画像に対して処理を行う場合は、上述したステップS201〜S208の動作を繰り返し行うことで、入力された画像の中から、異なる動きをする領域ごとに移動体の領域を分割抽出する。
以上のように、本実施の形態の移動体検出装置は、移動軌跡間の距離、すなわち類似度にもとづいて移動軌跡のクラスタリングを行う。そしてクラスタリングの手法として、移動軌跡間の距離に対し、異なる閾値Rを用いて測地距離変換し、その結果得られる領域分割の候補を得る。さらに、領域分割の候補に対し、領域間測地距離という新たな指標を導入し、この指標に基づいて分割するか否かを決定する。
ここで前述したように、領域間測地距離は、移動軌跡全体の大きさ(拡縮率)が変化しても、領域間測地距離は一定になるという効果がある。したがって、ピクチャ上の移動体の大きさが変化するような場合(例えば、カメラの撮影において、ズーミングしたり、移動体が接近してきた場合)であっても、大きさの変化に影響を受けにくく、結果として、大きさが変化するような移動体を含む場合であっても、正しく移動体の領域抽出を行うことが期待できる。
以上のようにして、本実施の形態における移動体検出装置及び方法によれば、画像の移動軌跡の類似度にもとづいてクラスタリングを行うことによって、画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、画像中の移動体の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域抽出の失敗がない。以上のように、膨大なパラメータのフィッティングを必要とせずに、領域間測地距離に基づいてクラスタリングを行うことによって安定に、形状が変化しながら移動する人物等を含む画像を領域抽出し、これによって画像中の移動体の検出を行うことが可能となる。
なお、本発明に係る移動体検出装置及び方法は、上記実施の形態に限定されるものではなく、上記実施の形態に対して当業者が思いつく変形を施して得られる形態や、後述する各種変形例を含む複数の形態における構成要素を任意に組み合わせて得られる形態も本発明に含まれる。
(実施の形態1の変形例1)
たとえば、本実施の形態1の移動体検出装置の領域分割候補選択ステップS207において、閾値Htはあらかじめ定められているものとしたが、これに限定するものではない。具体的には、領域抽出したい移動体の動きの大きさに応じて閾値Htを変化させても良いし、人であるのか車であるのかに応じて閾値Htを変更しても良い。
閾値Htは、ある2つの領域分割候補に対して、異なる領域とするか同じ領域とするかの評価基準に相当する。例えば、2つの領域分割候補が2つの移動体にそれぞれ対応する場合、閾値Htを小さくすることで、2つの移動体の相対的な位置や動きの違いが小さい場合においても、異なる2つの領域として抽出することができる。逆に、閾値Htを大きくすることで、この2つの移動体の相対的な位置や動きが大きい場合にのみ、2つの領域として抽出することができることとなる。すわなち、閾値Htの大小によって、領域抽出する対象を変えることができるという効果がある。
(実施の形態1の変形例2)
なお、本実施の形態1の移動体検出装置の領域分割候補生成ステップS205、領域間測地距離算出ステップS206、領域分割候補選択ステップS207の動作として、あらかじめ定められたK個の閾値Rkに対応する領域分割候補を生成したうえで、このK個の領域分割候補から領域間測地距離に基づいて選択するものとして説明した。しかし、本発明の動作はこれに限定されるものではなく、領域分割候補に対応する領域間測地距離を算出し、これに基づいて領域分割候補を選択する動作であれば、どのような手順であっても良い。
例えば、閾値Rを徐々に小さくしながら領域分割候補の生成、領域間測地距離の算出、領域分割候補の選択を繰り返し行い、ある条件に達した時点で終了する、という手順をとっても良い。
このような本実施の形態の移動体検出装置における、別の動作の例を、図13を用いて説明する。
領域分割候補生成ステップS1104では、領域分割候補生成部107は、まず、移動軌跡間の距離の集まりである距離マトリクスFを入力して、移動軌跡の近傍を定義する距離の閾値R0を初期値として、前記移動軌跡間の距離を測地距離に変換し、測地距離マトリクスG0を生成する。ここでは閾値R0は、距離マトリクスFの要素の最大値とする。このときクラスタ数はM=1となる。次に、閾値R0をある一定の率で減少させたRiを用いて、測地距離マトリクスGiを生成し、クラスタ数が1より大きくなる(例えばM=2)まで繰り返す。
領域間測地距離算出ステップS1105では、領域間測地距離算出部108は、領域間測地距離算出ステップS206と同様に、領域分割候補生成ステップS1104で生成された測地距離マトリクスを用いて、クラスタ数M(M=2)の代表測地距離マトリクスGMと参照マトリクスGrMを選択して、クラスタ数M(M=2)の領域間測地距離を算出する。
領域分割候補選択ステップS1106では、領域分割候補選択部109は、領域間測地距離があらかじめ定められた閾値Htと比較し、領域間測地距離が大きい場合に領域分割候補を別個のクラスタとして分割するか否かを選択する(S1104〜S1106)。
具体的には、領域分割候補選択ステップS1106では、領域分割候補選択部109は、領域間測地距離が閾値Htより大きい場合は、上述の領域分割候補生成ステップS1104から領域分割候補選択ステップS1106の処理を、閾値Rkをさらに小さくしながら繰り返す。一方、領域間測地距離が閾値Htより小さい場合は、繰り返し処理を終了し、繰り返し処理によって選択された領域分割候補に基づいて、移動軌跡をクラスタリングし(S1107)、出力する。
以上のような領域分割ステップS1108での動作によっても、上記実施の形態における領域分割ステップS209と同様に、領域分割の候補に対し、領域間測地距離に基づいて分割するか否かを決定することができる。この領域間測地距離は、移動軌跡全体の大きさ(拡縮率)が変化しても、領域間測地距離は一定になるという効果がある。したがって、画像上の移動体の大きさが変化するような場合であっても、大きさの変化に影響を受けにくく、結果として、大きさが変化するような移動体を含む場合であっても、正しく移動体の領域抽出を行うことが期待できる。
(実施の形態1の変形例3)
また、上記実施の形態1では、領域分割候補選択ステップS207において、領域間測地距離の大きさで、対応する2つの領域分割候補を別個のクラスタとするか否かを判断したが、本発明の領域分割候補の選択基準としては、このような判断基準だけに限るものではなく、例えば、領域間測地距離の時間変化で判断してもよい。
つまり、いま、上記ステップS201〜S208が、新たな動画像について、繰り返し実行されるとする。このとき、領域分割候補選択ステップS207では、領域分割候補選択部109は、複数のクラスタθp M、θq Mを領域分割候補とし、その評価値として領域間測地距離の時間変化、すなわち新たに入力した領域間測地距離hp,q Mと、前回の処理で算出された対応するクラスタに対する領域間測地距離hp,q Mとの差分を算出し、あらかじめ定められた閾値Htより大きい場合に、クラスタθp M、θq Mの領域分割候補を別個のクラスタとして分割してもよい。
具体的には、領域分割候補選択ステップS207では、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化に基づいて、領域分割候補を選択し、領域分割の結果として出力してもよい。このとき、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化が、予め定められた閾値より大きい2つの領域分割候補を、異なる領域として選択し、領域分割結果として出力してもよいし、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化が、予め定められた閾値より小さい2つの領域分割候補を、同一の領域として選択し、領域分割結果として出力してもよい。また、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化に基づいて、(1)大きいほど2つの領域分割候補は異なる領域となるように、かつ、(2)小さいほど2つの領域分割候補を同一の領域となるように領域分割候補を選択し、領域分割結果として出力してもよい。
また、距離算出ステップ及び領域分割ステップは、新たな動画像について、繰り返し実行され、領域分割候補選択ステップS207では、領域分割候補生成ステップS205で生成された領域分割候補のうち、繰り返し実行において領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化が予め定められた閾値よりも大きい2つの領域分割候補の全てを、領域分割の結果として選択し、出力してもよい。
領域間測地距離の時間変化は、クラスタ間の距離の時間変化に比例する。そのためこの値が大きいほど、対応する2つのクラスタは巨視的に異なる動きをしていると言える。したがって、領域間測地距離の時間変化に基づいて領域分割候補を選択することで、異なる動きをする移動体領域を別のクラスタとして正しく領域抽出できることが期待できる。
さらに、図8を用いて説明したように、移動軌跡間の測地距離は、以下の特徴を持つ。
・人物のように多関節状の変形を伴う移動体上の2つの移動軌跡において、移動軌跡間の測地距離の時間変化が小さい。
このことから、領域分割候補間の領域観測地距離についても、同様に以下の特徴を持つ。
・多関節状の変形を伴う移動体上の2つの領域分割候補において、領域分割候補間の領域間測地距離の時間変化が小さい。
以上のことから、領域分割候補選択ステップS207およびS1307において、移動軌跡間の測地距離の時間変化、または、領域間分割候補の領域間測地距離の時間変化を用いて、領域分割候補の選択を行うことで、正しく移動体を検出することができるという効果を得ることができる。
(実施の形態2)
上記した本実施の形態1では、領域分割候補生成部107は、測地距離算出部106で算出した移動軌跡間の測地距離に基づいて領域分割候補を複数生成するとしたが、領域分割候補を生成する方法をこの方法に限定するものではなく、移動軌跡の集まりである領域分割候補を複数生成する手法であれば、他の方法であっても良い。
以下、本発明の実施の形態2では、領域分割候補を生成する他の方法の一例として、移動軌跡に対応する複数のピクチャの画素の輝度値に基づいて、領域分割候補を複数生成する方法について図面を用いて説明する。
実施の形態2における移動体検出装置100の構成は図1と同じである。本実施の形態2において、実施の形態1と異なる点は、領域分割部104の動作である。
以下、本実施の形態2の移動体検出装置100の動作を、図14を用いて説明する。
図14は、本実施の形態2の移動体検出装置100の動作を表すフローチャートである。図14において、7つのステップS201〜S203、S208、S209、およびS1304〜S1307は、それぞれ図1の各処理部に対応している。すわなち、画像入力部101では画像入力ステップS201、動き解析部102では動き解析ステップS202、距離算出部103では距離算出ステップS203、測地距離算出部106では測地距離算出ステップS1304、領域分割候補生成部107では領域分割候補生成ステップS1305、領域間測地距離算出部108では領域間測地距離算出ステップS1306、領域分割候補選択部109では領域分割候補選択ステップS1307、出力部105では画像出力ステップS208の各動作を実行する。領域分割部104は、領域分割ステップS209に対応する。
本実施の形態2において、画像入力ステップS201〜距離算出ステップS203までの動作は、実施の形態1と同じである。
画像入力ステップS201において、画像入力部101は、カメラ110から、動画像を構成する複数のピクチャを取得する。ここではT枚のピクチャを取得するものとする。
次に、動き解析ステップS202において、動き解析部102は、入力された複数のピクチャ間の動き情報を算出し、複数の移動軌跡を生成して出力する。ここではI個の移動軌跡が生成するものとする。
そして、距離算出ステップS203において、距離算出部103は、I個の移動軌跡を入力として移動軌跡間の線形距離を算出する。
上記の画像入力ステップS201〜距離算出ステップS203までの動作により、図4における撮影状況において、撮影されたT枚のピクチャが図5であり、T枚のピクチャから得られる移動軌跡の例が図6であるとする。また、画像入力ステップS201〜距離算出ステップS203により、T枚のピクチャにわたるI個の移動軌跡間の距離f(i,j)を算出して、I×Iの距離マトリクスFとして出力する。
以下、本実施の形態2における、領域分割部104の動作を説明する。
測地距離算出ステップS1304において、測地距離算出部106は、距離算出ステップS203で算出したI個の移動軌跡間の線形距離f(i,j)に対して、あらかじめ定められた閾値Rを用いて、上記式5および上記式6により、測地距離g(i,j)を算出する。そして、I個の移動軌跡間の測地距離g(i,j)であるI×Iの測地距離のマトリクスGを出力する。
次に、領域分割候補生成ステップS1305において、領域分割候補生成部は107、画像入力部で取得したT枚のピクチャに基づいて、ピクチャ上の小領域を複数生成し、生成したピクチャ上の複数の小領域にそれぞれ対応する移動軌跡の集まりである領域分割候補を生成する。
以下、領域分割候補生成部107において、T枚のピクチャに基づいて、領域分割候補を生成する手順について詳しく説明する。
本実施の形態2では、領域分割候補生成部107は、画像入力部で取得したT枚のピクチャから、時間順の中央となるT/2番目のピクチャを1枚選択する。次に、領域分割候補生成部107は、選択した1枚のピクチャに対して、ピクチャの複数の画素の色類似度に基づいて、ピクチャを複数の小領域に分割する。ここではK個の小領域に分割されたものとする。
画素の色類似度に基づいて、ピクチャを複数の小領域に分割する手法は、例えば、非特許文献5に記載されている手法などを用いることができるため、ここでは詳細の説明を省略する。
(非特許文献5)Pedro F. Felzenszwalb and Daniel P. Huttenlocher “Efficient Graph−Based Image Segmentation”,International Journal of Computer Vision,Vol.59,No.2,pp.167−181,Sept,2004
さらに、領域分割候補生成部107は、K個の小領域に対応する移動軌跡の集まりを領域分割候補として出力する。具体的には、選択したピクチャのK個の小領域を表すK種類のラベルをθkとする。それぞれの移動軌跡に含まれる、選択したピクチャ上の画素座標から、その画素座標を含む小領域を特定し、特定した小領域のラベルθkを移動軌跡に対応付ける。このようにして得られた、I個の移動軌跡にそれぞれ対応付けられたK種類のラベルθkによって、各移動軌跡が属するK個の領域分割候補を表す。
図15(a)〜図15(d)に、領域分割候補生成部107によって生成された、領域分割候補の例の図を示す。図15(a)は、動き解析部102で算出されるT枚のピクチャにわたる複数の移動軌跡a〜hの例である。図15(b)はT枚のピクチャから選択したT/2フレーム目のピクチャの例の図である。そして、図15(c)は、選択したピクチャの画素の色類似度に基づいて、複数の小領域に分割した結果の例を示す。ここでは、2名の人物がそれぞれ2つの領域に分割され、あわせて4個の小領域に分割されたものとする。図15(d)は、移動軌跡a〜hを図15(c)の小領域に対応づけることで生成された領域分割候補の例を示す。図15(d)における領域分割候補のラベルθ1〜θ4は、図15(c)の4つの小領域に対応している。8つの移動軌跡a〜hに対応付けられたラベルθ1〜θ4によって、それぞれの移動軌跡が属する領域分割候補を表している。領域分割候補生成部107は、このようにして生成した複数の領域分割候補を出力する。
なお、上記した画素の色類似度に基づいてピクチャを複数の小領域に分割する手法では、一般的に分割の粒度を設定する可変パラメータが存在する。本実施の形態2においては、好適には、生成される小領域が、それぞれ同一の移動体上の一部となるように、可変パラメータを設定する。言い換えると、生成される1つの小領域が2つ以上の移動体上に存在することが無いように可変パラメータを設定する。
なお、図15(c)の小領域の分割結果において、実際には人物以外の背景領域も個別の小領域として抽出されることとなるが、ここでは図面を用いた説明の都合上、背景領域については省略する。
次に、領域間測地距離算出ステップS1306では、領域間測地距離算出部108は、領域分割候補生成ステップS1305で生成された領域分割候補の情報、すわなち、I個の移動軌跡間の測地距離g(i,j)と、I個の移動軌跡に対応する領域分割候補のラベルθkを入力として、K個の領域分割候補間の領域間測地距離を算出する。
本実施の形態2では、2つの領域分割候補θpと領域分割候補θqの間の領域間測地距離hp,qを、以下の式9によって算出する。
上記式9において、g_ p,qは、領域分割候補θpに属する移動軌跡と、領域分割候補θqに属する移動軌跡との間の測地距離の平均値である。g_ pおよびg_ qは、それぞれ、領域分割候補θpに属する複数の移動軌跡間の測地距離の平均値、および、領域分割候補θqに属する複数の移動軌跡間の測地距離の平均値である。npおよびnqは、領域分割候補θpおよびθqに属する移動軌跡の個数である。
領域間測地距離算出部108は、K個の領域分割候補間の全ての組み合わせにおいて、領域間測地距離を算出する。
次に、領域分割候補選択ステップS1307では、領域分割候補選択部109は、領域分割候補生成部107で生成されたK個の領域分割候補、および、領域間測地距離算出部108で算出された領域間測地距離に基づいて、複数の領域分割候補の間で分離または結合を選択することによって、移動軌跡をクラスタリングする。
具体的には、ある2つの領域分割候補θpおよびθqについて、その領域間測地距離hp,qが、あらかじめ定められた閾値Htより小さい場合、領域分割候補選択部109は、2つの領域分割候補を結合する処理を行う。2つの領域分割候補を結合する場合、領域分割候補選択部109は、いずれか一方の領域分割候補に属する移動軌跡のラベル(例えばθq)を、他方の領域分割候補のラベル(例えばθp)で置き換える。
領域分割候補選択部109は、上述したある2つの領域分割候補間の結合を判定する処理を、全ての領域分割候補間の組み合わせに対して行う。その結果得られる移動軌跡に対応付けられたラベルによって、それぞれの移動軌跡が属する領域、すなわち移動軌跡をクラスタリングした結果を表す。
例えば、図15(d)に示される4つの領域分割候補間の領域間測地距離のうち、領域分割候補θ1とθ2間の領域間測地距離h1,2、および、領域分割候補θ3とθ4間の領域間測地距離h3,4の2つについて、閾値Htより小さく(h1,2<Ht、h3,4<Ht)、他の領域分割候補間の領域間測地距離は閾値Htより大きいとする。このとき、上述した領域分割候補選択部109の動作によって、領域分割候補θ2に属する移動軌跡c、dのラベルθ2はθ1に置き換えられ、領域分割候補θ4に属する移動軌跡g、hのラベルθ4はθ3に置き換えられる。その結果、複数の移動軌跡(図16(a)参照)は、2つの領域θ1とθ3にクラスタリングされる(図16(b)参照)。
最後に、画像出力ステップS208において、出力部105は、本実施の形態1と同様に、移動軌跡のクラスタθ1,θ3から、画像を生成して、ディスプレイ120に表示する。
図16(c)および図16(d)に、出力部105で生成した1フレーム目およびTフレーム目の画像の例を示す。クラスタリングした移動軌跡ごとに異なる色を持つ画像が表示されることとなる。
以上のように、本実施の形態2の移動体検出装置は、移動軌跡の集まりである領域分割候補を生成し、領域分割候補間で算出される領域間測地距離に基づいて移動軌跡のクラスタリングを行う。
この領域間測地距離は、次のような特徴を持つ。
・2つの領域分割候補が全く異なる動きをする場合、領域間測地距離の値が大きく、かつ、時間的な変動も大きい。
・2つの領域分割候補が、変形しながら移動する同一移動体上に存在する場合、領域間測地距離の値は比較的小さく、かつ、時間的な変動が小さい(理想的には一定)。
そのため、動画像中に、人物のような姿勢および位置の変化によって、画像上の形状や大きさが変化するような移動体が含まれる場合に、ある2つの領域分割候補について、異なる移動体上の領域か、同じ移動体上の領域なのかの判断が容易になる。その結果、正しく移動体の領域抽出を行うことができる。
上記した領域間測地距離の特徴について、別の実験結果をもとに説明する。図17(a)は、関節状の変形を伴いながら移動する1つの移動体の動画像の例である。図17(b)は、図17(a)の動画像を入力として、移動体を上下に2分割された領域分割候補に対して算出される、領域間測地距離の実験結果の例である。実験では、図17(a)の31フレームのピクチャに対し、1〜7フレーム、7〜13フレーム、・・・、25〜31フレームのように、重複した7フレームごとに本発明の実施の形態2と同じ処理を行った。
図17(b)から、図17(a)のように領域分割候補が近接して移動する場合、移動軌跡間の線形距離および測地距離は、ともにその値が比較的小さくなる。ここで、領域間測地距離(実線)は、平均ユークリッド距離に対して、時間的な変動が一定であることが分かる。そのため、時間的な変動が一定である、という指標に基づいて領域分割候補の選択を行うことで、ある2つの領域分割候補について、異なる移動体上の領域か、同じ移動体上の領域なのかの判断が容易になる。その結果、正しく移動体の領域抽出を行うことができる。
(実施の形態1および実施の形態2の変形例4)
なお、本発明の実施の形態1および実施の形態2では、領域間測地距離は、上記式8および上記式9によって算出するものとしたが、この式に限定するものではない。領域間測地距離は、上記式8および上記式9と同様、2つの領域分割候補間の距離(類似度)を表す指標、および、それぞれの領域分割候補内の移動軌跡のばらつきを表す指標を算出し、距離を表す指標(前者)をばらつきを表す指標(後者)で正規化した指標であればよい。
具体的には、上記式9における2つの領域分割候補間の距離(類似度)を表す指標であるg_ p,qとして、例えば、下記式10の移動軌跡間の測地距離の中央値を用いても良い。
上記式10において、median{g(i,j)}は、複数の移動軌跡間の測地距離g(i,j)の中央値である。
また、上記式9における領域分割候補内の移動軌跡のばらつきを表す指標であるg_ pおよびg_ qとして、移動軌跡間の測地距離の分散を用いても良い。
(実施の形態1および実施の形態2の変形例5)
本発明の実施の形態1および実施の形態2では、領域分割の結果はディスプレイに表示されたが、領域分割の結果の利用方法としては、このような応用に限られず、例えば、移動体の動き予測に応用してもよい。具体的には、本発明に係る移動体検出装置は、上記実施の形態における構成要素に加え、動き予測部を備えてもよい。つまり、領域分割部104で得られた領域分割の結果に基づいて、各領域に含まれる画素の移動軌跡から代表軌跡を算出し、その代表軌跡をもとに移動体の動きを予測する動き予測部を備えてもよい。より詳しくは、本発明に係る移動体検出装置は、領域分割部104で特定された領域を構成する移動軌跡から、当該領域を代表する移動軌跡を算出し、算出した代表の移動軌跡に従って当該領域が移動すると予測することで、移動体の動きを予測する動き予測部を備えてもよい。
具体的には、領域θmに属する画素の移動軌跡をxCmと表現すると、その動き予測部は、まず、下記式11のように、クラスタ領域θmごとに代表の移動軌跡を求める。なお、下記式11では、代表の移動軌跡として、平均移動軌跡を算出しているが、その計算に対して画素の移動軌跡xCmごとに重み付け等を行ってもよいし、画像上でのクラスタの重心に対応する画素の移動軌跡を代表の移動軌跡としてもよい。
ここで、Cmは、領域θmに属する画素数もしくは画素の移動軌跡の数である。
図18に、上記式11に基づいてクラスタ領域θmごとに代表の移動軌跡を求める例を示す。ただし、見やすさを考慮して、頭部に対応するクラスタ領域θ1と脚部に対応するクラスタ領域θ8に関する代表の移動軌跡のみを示している。図中の×は、それぞれ時刻tに対応するx_mの要素であり画素位置を示している。このような算出方法によれば、上述したように非線形空間上でのクラスタリングによる領域分割は、画素の動きの類似度を考慮して行われるため、単純に近接した画素の移動軌跡の時間平均を求めるような方法と比較して、動きが類似した画素の移動軌跡のみを用いて算出できるため、より高精度に代表の移動軌跡を求めることができる。このように、クラスタ領域ごとに代表の移動軌跡を求めることによって、部位ごとの動きを正確かつ簡便に表現することができる。
次に、動き予測部は、算出した代表の移動軌跡から、時刻Tより先の時刻における移動体の位置を予測する。そのために、代表の移動軌跡から加速度を算出し、T+1以降の移動体の位置を予測する。3枚以上の時系列画像が入力された場合は、次式のように代表の移動軌跡x_mごとに加速度ベクトルsmを得ることができる。
ここで、ut mは動きベクトルであり、次式のように表すことができる。
上記式12に示される加速度ベクトルを用いて、図18で破線の矢印及び○で示されるように、移動体の部位ごとに、時刻T+t´における移動体の部位位置posm(T+t´)を、以下の式14のように、予測することができる。
最後に、出力部105は、このように予測した移動体の位置や移動体部位の位置を出力する。これにより、加速度を加味した動き予測が可能である。動きが急激に早くなったり、急激に止まったりといった場合に、その加速度を反映して移動体の位置を予測することができる。なお、上記動きベクトルの代わりにアフィンパラメータを用いてもかまわない。アフィンパラメータは、回転運動を含む動きの表現が可能であり、腕あるいは足の回旋運動の表現に適しているため、特に関節物体の位置をより正確に予測することができる。
以上のようにして、本実施の形態及びその変形例に係る移動体検出装置及び方法では、画素に対応付けられた複数の移動軌跡間の類似度を表す距離に基づいてクラスタリングを行うことによって、画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域分割をすることができる。また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域分割の失敗がない。以上のように、膨大なパラメータのフィッティングを必要とせずに、非線形空間でクラスタリングを行うことによって、形状が変化しながら移動する人物等を含む画像に対しても正しく領域分割し、これによって画像中の移動体の検出を行うことが可能となる。
以上、本発明に係る移動体検出装置及び方法について、実施の形態及び変形例を用いて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。上記実施の形態及び変形例に対して当業者が思いつく各種変形を施して得られる形態や、上記実施の形態及び変形例における構成要素を任意に組み合わせて得られる形態も本発明に含まれる。
また、上記実施の形態における移動体検出装置100は、画像入力部101及び動き解析部102を備えたが、本発明は、これらの構成要素を必須とするものではない。つまり、動画像を構成する複数のブロックのそれぞれにおける画像の移動軌跡が予め算出されている場合には、移動体検出装置100は、外部から、そのような移動軌跡を取得し、取得した移動軌跡に対して、ステップS203〜S208の処理を実行してもよい。
また、本発明は、移動体検出装置として実現されたが、領域分割部104の機能を持つものであれば、動画像において動きをもつオブジェクトの領域を抽出、あるいは、分割する画像処理装置として実現することができるのは言うまでもない。
本発明は、複数枚のピクチャにおける動きに基づいて、形状が変化しながら移動する人物等の移動体を含む画像を領域抽出することによって画像中の移動体を検出する移動体検出装置として、例えば、運動解析装置、監視装置、ビデオカメラやTV等のAV機器に内蔵させる移動体検出装置等として利用することが可能である。
100 移動体検出装置
101 画像入力部
102 動き解析部
103 距離算出部
104 領域分割部
105 出力部
106 測地距離算出部
107 領域分割候補生成部
108 領域間測地距離算出部
109 領域分割候補選択部
110 カメラ
120 ディスプレイ
1002 コンピュータ
1004 I/F
1005 CPU
1006 ROM
1007 RAM
1008 HDD
1009 ビデオカード
本発明は、画像中の移動体の領域を抽出することによって移動体を検出する画像処理技術に関し、特に、移動体が人物のように形状が変化しながら移動する対象である場合においても、動画像中の動き情報に基づいて移動体の領域を検出する装置に関するものである。
従来より、移動体の像(以下、単に「移動体」という。)が含まれる画像から、画像中の移動体の領域を抽出することによって移動体を検出する領域抽出技術の研究開発が広く行われてきている。特に移動体が人である場合にその移動体の領域を抽出する技術は、デジタルビデオカメラもしくはデジタルスチルカメラにおける焦点制御、画質改善処理、自動車の安全運転支援システム、または、ロボットにおける人との衝突回避制御もしくは衝突回避のための警報などに、共通して利用される基礎技術である。
画像中の移動体の領域を抽出する技術のうち、一般的な手法として、(1)あらかじめ用意した移動体のモデルと、画像中の候補領域との類似度を評価して移動体の領域を特定する方法と、(2)画像を複数の小領域に分割して特徴量を算出し、特徴量を基準として類似する領域を統合することで移動体の領域を特定する方法の2つ手法がある。
前者の代表的な手法として、画像から移動体領域の候補を抽出したのち、抽出した移動体領域の候補とあらかじめ用意した移動体モデルとの類似度を評価して、類似度が高い領域を移動体領域として抽出する手法がある。さらに、歩行する人物等のように、形状が変化しながら移動する移動体の領域を抽出する場合、形状の変化を考慮した移動体モデルを利用する手法がある。
例えば、特許文献1に記載の手法では、移動体領域候補として複数の画像から移動体のシルエット画像を抽出する。そして、あらかじめパラメータ化した移動体の形状の変化に関するモデルと、抽出したシルエット画像との類似度を評価し、類似度が高い領域とモデルのパラメータを推定する手法が開示されている。これによって、形状が変化しながら移動する人物に対しても、パラメータ化したモデルを当てはめることができるため、移動体の領域抽出を可能にしている。
後者の代表的な手法としては、画像を複数の小領域に一旦分割し、各小領域の画素の輝度値に基づいた特徴量を抽出したのち、複数の小領域間の特徴量の類似度を評価して、類似度が高い領域を同一の移動体領域として統合する手法がある。
例えば、特許文献2に記載の手法では、画像を矩形の小領域に一旦分割し、小領域の輝度や動きに基づいて特徴量を算出し、特徴量の類似度の順番に基づいて小領域を統合することで、移動体の領域抽出を可能にしている。
特開平8−214289号公報
特開2006−031114号公報
しかしながら、上記した従来の領域抽出の技術は、例えば、街頭などで複数の人物等の移動体が行き交うシーンなどのように、移動体が他の移動体によって部分的に遮蔽される場合、あるいは移動体の大きさが著しく異なる移動体を含む場合などに、正しく移動体を抽出することができないという問題がある。
特許文献1に記載の手法に代表される、あらかじめ用意したモデルを用いる従来の領域抽出手法では、画像から移動体領域の候補を抽出する必要がある。この時、適切に移動体領域候補を抽出できなければ、移動体をパラメータ化したモデルを正確に移動体領域の候補に当てはめることが不可能になる。特に、上述のようなシーンにおいては、移動体の形状あるいは大きさが大きく変化するため、移動体領域の候補を適切に抽出することは困難である。
さらに、移動体領域の候補を適切に抽出できたとしても以下のような課題がある。特に人物等の多関節物体が移動体である場合、移動体のさまざまな姿勢あるいは大きさに起因する画像上の形状あるいは大きさの変化の幅が非常に大きいため、移動体モデルのパラメータ化を行う際に膨大な数のパラメータが必要となる。このことは、モデルの当てはめ誤りを誘発する。そのため、例えば、複数の移動体を1つの移動体として誤って領域抽出したり、抽出対象となる移動体が存在しない領域を移動体として誤って領域抽出したりするなど、正しく移動体を検出することができないという課題がある。
特許文献2に記載の手法に代表される、小領域間の特徴量を用いる従来の領域抽出手法では、特徴量として用いる輝度値あるいは動きが類似していない2つの小領域は、異なる2つの移動体に属する領域として分離抽出される。そのため、ある移動体が、人物のように場所によって輝度値が異なり、かつ、場所によって動きが異なる場合、同一移動体の上の2つの小領域であっても、異なる2つの移動体に属する領域として誤って分離抽出されてしまうため、正しく移動体を検出することができないという課題がある。
そこで、本発明は、上記従来の課題を解決するためになされたものであり、動画像中における移動体の形状の変化、大きさの変化、又は遮蔽などの影響を受けずに、移動体の領域を正しく抽出することができる移動体検出方法等を提供することを目的とする。
上記目的を達成するために、本発明に係る移動体検出方法の一形態は、動画像中の移動体の全部又は一部の領域を分割することによって動画像中の移動体を検出する方法であって、動画像を構成する複数の画像間の対応点である移動軌跡を複数取得し、取得した移動軌跡について、移動軌跡間の類似度を表す距離を算出する距離算出ステップと、前記距離算出ステップで算出された距離に基づいて、類似する移動軌跡の集まりを1つの領域として特定することによって、領域分割をする領域分割ステップとを含み、前記領域分割ステップは、前記距離算出ステップで算出された移動軌跡間の距離から、移動軌跡間の測地距離を算出する測地距離算出ステップと、前記複数の移動軌跡から、移動軌跡の集まりである領域分割候補を複数生成する領域分割候補生成ステップと、前記領域分割候補生成ステップで生成された領域分割候補について、前記領域分割候補に属する複数の移動軌跡間の測地距離に基づいて、領域分割候補間の類似度を表す領域間測地距離を算出する領域間測地距離算出ステップと、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離が予め定められた条件を満たす領域分割候補を領域分割の結果として選択する領域分割候補選択ステップとを含む。
上記した構成によって、領域分割候補間の領域間測地距離に基づいて領域分割候補を選択することで、領域候補内の局所的な距離の影響を受けることなく領域抽出の候補を選択することが可能になるため、より正しく領域抽出することができる。つまり、移動軌跡が類似する画像の領域がまとめられて領域分割候補になること、領域分割候補の選択においては領域分割候補間の類似度が判断されること、及び、領域分割候補間の類似度については移動軌跡間の測地距離に基づいて定義される領域間測地距離で判断されることから、類似する動きをもつ画像の領域が正確に抽出されるので、移動体が他の移動体によって部分的に遮蔽される場合、あるいは移動体の大きさが著しく異なる移動体を含む場合などであっても正しく移動体が抽出されるとともに、ある移動体が人物のように場所によって輝度値が異なり、かつ、場所によって動きが異なる場合であっても、同一移動体の上の2つの小領域が異なる2つの移動体に属する領域として誤って分離抽出されてしまうことが回避される。
なお、本発明の移動体検出方法は、コンピュータ上のプログラムによって実現されるだけでなく、上記各ステップをハードウェアによって構成した移動体検出装置、上記各ステップをコンピュータに実行させるプログラム、そのプログラムを格納したCD−ROM等のコンピュータ読み取り可能な記録媒体、動画像において動きをもつオブジェクトの領域を抽出、あるいは、分割する画像処理装置等として実現することもできる。
上記の方法及び装置等により、2つの領域分割候補の移動軌跡間の測地距離に基づいて領域分割をすることができるので、動画像中における移動体の形状の変化、大きさの変化、又は遮蔽などの影響を受けずに、移動体の領域を正しく抽出することが可能となる。さらに、領域抽出を行った結果を用いて、移動体の移動予測を行うこともできる。
よって、デジタルビデオカメラ等の動画像撮影装置が普及してきた今日において、デジタルカメラの焦点制御や画質改善処理、自動車の安全運転支援システム、ロボットにおける人との衝突回避制御や警報などへの応用技術として、本発明の実用価値は極めて高い。
図1は、本発明の実施の形態1における移動体検出装置の構成を示す図である。
図2は、コンピュータによって構成された移動体検出装置のハードウェア構成を示す図である。
図3は、本発明の実施の形態1における移動体検出装置の動作の手順を示すフローチャートである。
図4は、本発明の実施の形態における撮影状況の例を示す図である。
図5(a)〜(f)は、本発明の実施の形態における入力動画像を構成する複数のピクチャの例を示す図である。
図6は、移動軌跡の例を示す図である。
図7(a)〜(c)は、測地距離の算出手順を示す概念図である。
図8(a)及び(b)は、測地距離の特徴を説明する図である。
図9(a)〜(e)は、測地距離を用いたクラスタリングの例を示す図である。
図10(a)〜(f)は、測地距離マトリクス、代表測地距離マトリクス及び参照マトリクスの例を示す図である。
図11(a)〜(d)は、代表測地距離マトリクス及び参照マトリクスの例を示す図である。
図12は、画像出力ステップで生成した画像の例を示す図である。
図13は、本発明に係る別の形態における移動体検出装置の動作の手順を示すフローチャートである。
図14は、本発明の実施の形態2における移動体検出装置の動作の手順を示すフローチャートである。
図15(a)〜(d)は、本発明の実施の形態2における領域分割候補の例を示す図である。
図16(a)〜(d)は、(a)は移動軌跡の例を示し、(b)は移動軌跡のクラスタリングの例を示し、(c)及び(d)は領域抽出結果を示す図である。
図17(a)及び(b)は、領域間測地距離を用いて領域分割することの効果を説明する図である。
図18は、本発明に係る更に別の形態における移動体検出装置による動き予測を説明する図である。
本発明の一実施形態は、動画像中の移動体の全部又は一部の領域を分割することによって動画像中の移動体を検出する方法であって、動画像を構成する複数の画像間の対応点である移動軌跡を複数取得し、取得した移動軌跡について、移動軌跡間の類似度を表す距離を算出する距離算出ステップと、前記距離算出ステップで算出された距離に基づいて、類似する移動軌跡の集まりを1つの領域として特定することによって、領域分割をする領域分割ステップとを含み、前記領域分割ステップは、前記距離算出ステップで算出された移動軌跡間の距離から、移動軌跡間の測地距離を算出する測地距離算出ステップと、前記複数の移動軌跡から、移動軌跡の集まりである領域分割候補を複数生成する領域分割候補生成ステップと、前記領域分割候補生成ステップで生成された領域分割候補について、前記領域分割候補に属する複数の移動軌跡間の測地距離に基づいて、領域分割候補間の類似度を表す領域間測地距離を算出する領域間測地距離算出ステップと、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離が予め定められた条件を満たす領域分割候補を領域分割の結果として選択する領域分割候補選択ステップとを含む構成としたものである。
ここで、さらに、動画像を構成する複数枚のピクチャを受け付ける画像入力ステップと、前記ピクチャを構成する1個以上の画素からなるブロックごとに、時間的に隣接する2枚のピクチャ間での画像の動きを検出し、検出した動きを前記複数枚のピクチャについて連結することで、移動軌跡を算出する動き解析ステップとを含み、前記距離算出ステップでは、前記動き解析ステップで算出された移動軌跡を取得し、前記距離を算出してもよい。上記した構成によって、領域分割候補間の領域間測地距離に基づいて領域分割候補を選択することで、領域候補内の局所的な距離の影響を受けることなく領域抽出の候補を選択することが可能になるため、より正しく領域抽出することができる。
なお、移動軌跡間の距離の算出方法として、例えば、前記距離算出ステップでは、移動軌跡間の類似度を表す前記距離として、前記複数の画像における移動軌跡間のユークリッド距離の平均値を算出する構成としてもよい。また、測地距離の具体的な算出方法として、例えば、前記測地距離算出ステップでは、第1の移動軌跡から第2の移動軌跡までの測地距離の算出においては、前記距離算出ステップで取得された複数の移動軌跡のいずれかを中継点として前記第1の移動軌跡から前記第2の移動軌跡に辿りつく全ての経路のうちの最短の経路を、前記測地距離として算出し、より具体的には、前記測地距離算出ステップでは、(1)前記距離算出ステップで算出された移動軌跡間の距離に対して、その一部を無限大化することで非線形化した距離を算出し、(2)前記非線形化した距離に基づいた、第1の移動軌跡から第2の移動軌跡までの測地距離の算出において、他の移動軌跡を中継点として、前記第1の移動軌跡から前記第2の移動軌跡に辿りつく全ての経路の距離うちの最短の距離を、前記測地距離として算出する構成とするのが好ましい。
ここで、領域分割候補の生成方法として、前記測地距離算出ステップでは、複数の閾値を取得し、取得した複数の閾値を、移動軌跡の近傍を定義する閾値として用いて、前記距離算出ステップで算出された移動軌跡間の距離から、それぞれの閾値ごとに、近傍にある移動軌跡を辿っていく経路における距離を算出することで、前記移動軌跡間の測地距離を算出し、前記領域分割候補生成ステップでは、前記測地距離算出ステップで算出した複数の閾値ごとの移動軌跡間の測地距離に基づいて、類似する移動軌跡の集まりを1つの領域分割候補とすることで、前記複数の領域分割候補を生成する構成としてもよい。このとき、複数の閾値の具体例として、前記測地距離算出ステップでは、前記複数の閾値として、前記距離算出ステップで算出された複数の距離のうちの最大値と最小値との間の値を生成するのが好ましい。これによって、閾値の候補を限定することで、より高速に領域抽出することができる。
また、領域間測地距離の算出方法として、前記領域間測地距離算出ステップでは、前記複数の閾値のそれぞれに対して前記領域分割候補生成ステップで生成された複数の領域分割候補のセットのうちの第1の領域分割候補のセットにおける2つの領域分割候補間の領域間測地距離として、当該2つの領域分割候補における測地距離である代表測地距離と、当該第1の領域分割候補のセットに含まれる領域分割候補の総数よりも次に小さい総数だけ領域分割候補が含まれる第2の領域分割候補のセットにおける測地距離である参照測地距離とを用いて、予め定められた演算をすることで算出する。より具体的には、前記領域間測地距離算出ステップでは、前記参照測地距離と前記代表測地距離とに基づいて、2つの領域分割候補間の距離を表す指標と、各領域分割候補内のばらつきを表す指標とを算出し、前記距離を表す指標を、前記ばらつきを表す指標で正規化する演算をすることで、前記領域間測地距離を算出する。または、前記領域間測地距離算出ステップで算出される領域間測地距離は、ある領域分割候補に属する複数の移動軌跡と他の領域分割候補に属する複数の移動軌跡との間の測地距離の総和から算出した2つの領域分割候補間の距離を表す指標を、前記ある領域分割候補に属する複数の移動軌跡間の測地距離の総和から算出した領域分割候補内のばらつきを表す指標と、前記他の領域分割候補に属する複数の移動軌跡間の測地距離の総和から算出した領域分割候補内のばらつきを表す指標とを用いて、正規化した値であるのが更に望ましい。上記した構成によって、領域分割候補間の距離をより正しく反映した領域間測地距離の算出が可能になるため、移動体をより正しく領域抽出することができる。
ここで、領域分割候補の選択基準として、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離が予め定められた閾値よりも大きい2つの領域分割候補の全てを、前記領域分割の結果として選択し、出力する構成としてもよい。これにより、領域間測地距離が大きく離れた領域分割候補が選択されるので、動きが大きく異なる画像の領域が分離され、移動体あるいは移動体の部位が正確に領域抽出される。
また、領域分割候補の別の選択基準として、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化に基づいて、前記領域分割候補を選択し、前記領域分割の結果として出力するのが好ましい。具体的には、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化が、予め定められた閾値より大きい2つの領域分割候補を、異なる領域として選択し、前記領域分割の結果として出力したり、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化が、予め定められた閾値より小さい2つの領域分割候補を、同一の領域として選択し、前記領域分割の結果として出力したり、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化に基づいて、(1)大きいほど2つの領域分割候補は異なる領域となるように、かつ、(2)小さいほど2つの領域分割候補を同一の領域となるように領域分割候補を選択し、前記領域分割の結果として出力したり、前記距離算出ステップ及び前記領域分割ステップが、新たな動画像について、繰り返し実行され、前記領域分割候補選択ステップでは、前記領域分割候補生成ステップで生成された領域分割候補のうち、前記繰り返し実行において前記領域間測地距離算出ステップで算出された領域間測地距離の時間変化が予め定められた閾値よりも大きい2つの領域分割候補の全てを、前記領域分割の結果として選択し、出力したりするのが好ましい。
上記した構成によって、領域間測地距離の時間変化に基づいて領域分割候補を選択することで、ある領域分割候補と異なる動きをする領域分割候補を選択することが可能になるため、移動体をより正しく領域抽出することができる。
また、領域分割候補の別の生成方法として、前記領域分割候補生成ステップでは、前記画像入力ステップで取得した画像の輝度情報に基づいて、複数の領域分割候補画像を生成し、領域分割候補画像に対応する1つ以上の移動軌跡の集まりを領域分割候補とすることで、前記複数の領域分割候補を生成する構成としてもよい。これにより、画像の輝度情報に基づいて領域分割候補が生成されるので、輝度上で類似する画像の領域が一つの領域として領域分割されることとなり、領域分割の精度が向上する。
また、領域分割候補の含まれる移動軌跡の数として、前記領域分割候補生成ステップで生成される複数の領域分割候補のうち、少なくとも1つの領域分割候補は1個の移動軌跡が属するものであり、前記領域間測地距離算出ステップでは、前記1個の移動軌跡が属する領域分割候補と他の領域分割候補との領域間測地距離として、前記1個の移動軌跡と前記他の領域分割候補に属する任意の1つの移動軌跡との測地距離を出力する構成であってもよい。
このとき、領域分割候補の生成方法として、前記領域分割候補選択ステップでは、前記領域間測地距離として出力された移動軌跡間の測地距離の時間変化が、予め定められた閾値より小さい2つの移動軌跡を、同じ領域として特定する構成であってもよいし、前記領域分割候補選択ステップでは、前記領域間測地距離として出力された移動軌跡間の測地距離の時間変化が、予め定められた閾値より大きい2つの移動軌跡を、異なる領域として特定する構成であってもよい。これにより、1つの領域分割候補に1個の移動軌跡だけが含まれる場合であっても適切に領域間測地距離が算出されるとともに、測地距離の時間変化に依存した適切な領域分割候補が生成され、移動体が正しく領域抽出される。
また、さらに、前記画像入力ステップで受け付けた動画像に対して、前記領域分割ステップで特定された領域ごとに異なる表示態様となるように、画像処理を施し、出力する出力ステップを含んでもよい。これによって、特定された領域ごとに異なる表示態様で画像処理が施されるので、検出された移動体を容易に確認することができる。
また、さらに、前記領域分割ステップで特定された領域を構成する移動軌跡から、当該領域を代表する移動軌跡を算出し、算出した代表の移動軌跡に従って当該領域が移動すると予測することで、前記移動体の動きを予測する動き予測ステップを含んでもよい。これにより、より精度良く動きを予測することができる。
以下、本発明の実施の形態について、図面を用いて説明する。
(実施の形態1)
図1は、実施の形態1における移動体検出装置100の構成を示す図である。図1に示されるように、この移動体検出装置100は、画像入力部101、動き解析部102、距離算出部103、領域分割部104、及び出力部105を備える。ここで、領域分割部104は、測地距離算出部106、領域分割候補生成部107、領域間測地距離算出部108、及び領域分割候補選択部109を備える。移動体検出装置100は、複数枚のピクチャを含む動画像中の移動体の全部又は一部の領域を分割することによって動画像中の移動体を検出する装置である。本実施の形態では、移動体検出装置100は、カメラ110で撮影した動画像を取得し、取得した動画像中の移動体を検出し、検出結果に基づいて画像を生成して出力する。ディスプレイ120は、移動体検出装置100から出力される画像を表示する。
画像入力部101は、カメラ110等から送られてくる、動画像を構成する時間的に異なる複数枚のピクチャの入力を受け付ける処理部であり、例えば、ビデオカメラ、あるいは、ビデオカメラと接続された通信インターフェース等である。
動き解析部102は、画像入力部101で受け付けられた複数枚のピクチャを構成する1個以上の画素からなるブロックごとに、時間的に隣接する2枚のピクチャ間での画像の動きを検出し、検出した動きを複数枚のピクチャについて連結することで、移動軌跡を算出する処理部である。つまり、ブロックとは、移動軌跡を算出する単位であり、1個以上の画素の集まりである。
距離算出部103は、動画像を構成する複数の画像間の対応点である移動軌跡を複数取得し、取得した移動軌跡について、移動軌跡間の類似度を表す距離を算出する処理部であり、本実施の形態では、移動する物体の形状変化を捉えるために、動き解析部102で算出したブロックiの移動軌跡と、i以外のブロックの移動軌跡とを用いて、ブロックの動きの類似度を表す距離を算出する。よって、I個のブロックの移動軌跡を用いた場合、算出される距離はI行I列(I×I)の距離マトリクスとなる。ここでは、ブロックの動きの類似度を評価する距離を計算することによって、ブロック間の距離が動きによって変化する移動体、特に、関節物体のように形状が変化しながら移動する人物等の物体の動きを距離マトリクスとして表現することが可能である。なお、以降の説明では、ブロックiの移動軌跡を移動軌跡iと呼ぶこととする。このように、本明細書における「距離」は、2次元空間における2点間の距離だけでなく、後述するように、多次元のデータ間の算術的な距離を含み、1つの値、あるいは、複数の値の集合(距離マトリクス)である。なお、距離算出部103は、移動軌跡間の類似度を表す距離として、例えば、複数の画像における移動軌跡間のユークリッド距離の平均値を算出する。
領域分割部104は、距離算出部103で算出された距離に基づいて、類似する移動軌跡の集まりを1つの領域として特定することによって、領域分割をする処理部である。この領域分割部104は、測地距離算出部106、領域分割候補生成部107、領域間測地距離算出部108及び領域分割候補選択部109を有する。
領域分割部104を構成する、測地距離算出部106および領域分割候補生成部107は、距離算出部103で算出した距離マトリクスを用いて、移動軌跡間の距離の分布における不連続性を検出し、検出した不連続点よりも小さい距離だけ離れた移動軌跡同士が一つのクラスタとなる領域分割候補を複数生成する。
具体的には、測地距離算出部106は、領域分割に用いられる判断基準である複数の閾値を生成し、生成した複数の閾値のそれぞれについて、(1)距離算出部103で算出された距離に対して、当該閾値よりも大きい距離を無限大化する非線形化を施し、(2)非線形化後の距離を用いて、動き解析部102が算出した複数の移動軌跡における移動軌跡間の測地距離を算出する。
領域分割候補生成部107は、測地距離算出部106で生成した複数の閾値のそれぞれの移動軌跡間の測地距離に基づいて、有限の値の測地距離だけ離れた移動軌跡の集まりを領域分割候補とすることで、複数の領域分割候補を生成する。
領域間測地距離算出部108は、領域分割候補生成部107で算出した複数の領域分割候補に対して、領域分割候補に属する複数の移動軌跡間の測地距離に基づいて、2つ領域分割候補間の類似度を表す領域間測地距離を算出する。
領域分割候補選択部109は、領域間測地距離算出部108で算出された領域間測地距離をもとに領域分割候補を選択し、選択した領域分割候補に対応する複数の移動軌跡ごとにクラスタリングすることによって、画像中の移動体の検出と画像の領域分割を行う。具体的には、領域分割候補選択部109は、領域分割候補生成部107で生成された領域分割候補のうち、領域間測地距離算出部108で算出された領域間測地距離が予め定められた条件を満たす領域分割候補を、領域分割の結果として選択する。
出力部105は、領域分割部104で行った動画像中の移動体の検出結果もしくは、画像の領域分割結果を出力する。具体的には、出力部105は、画像入力部101で受け付けた動画像に対して、例えば、領域分割部104で特定された領域ごとに異なる表示態様となるように、画像処理を施し、ディスプレイ120等に出力する。
本明細書において、「領域抽出」とは、ある特定の対象物が存在する画像領域を抽出する検出技術と、対象物の区別なく物体ごとに画像領域を分割する領域分割技術の両者を含んでいる。なお、検出技術と領域分割技術とは、共通する部分が多いため、本明細書においては両者を区別しない。
なお、上記した移動体検出装置100を構成する各構成要素(画像入力部101、動き解析部102、距離算出部103、領域分割部104、出力部105)は、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路等のハードウェアで実現されてもよい。
図2は、ソフトウェアによって実現された本実施の形態における移動体検出装置のハードウェア構成を示す図である。図2において、カメラ110は画像を撮影して出力し、コンピュータ1002は画像を取得して領域抽出処理を行って、領域抽出結果を表示する画像を生成する。ディスプレイ120はコンピュータ1002で生成された画像を取得して表示する。コンピュータ1002は、I/F1004、CPU1005、ROM1006、RAM1007、HDD1008、ビデオカード1009で構成される。コンピュータ1002を動作させるプログラムは、ROM1006またはHDD1008にあらかじめ保持されている。プログラムは、プロセッサであるCPU1005によって、ROM1006またはHDD1008からRAM1007に読み出されて展開される。CPU1005はRAM1007に展開されたプログラム中のコード化された各命令を実行する。I/F1004は、プログラムの実行に応じて、カメラ110で撮影された画像を、RAM1007へ取り込む。ビデオカード1009は、プログラムの実行に応じて生成された画像を出力し、ディスプレイ120で表示される。
なお、コンピュータプログラムは、半導体であるROM1006またはHDD1008に格納されるのに限られず、たとえば光ディスクに格納されていてもよい。また、コンピュータプログラムは、有線や無線のネットワーク、放送などを介して伝送され、コンピュータのRAM1007に取り込まれてもよい。
以下、本実施の形態の移動体検出装置100の動作を、図3を用いて説明する。
図3は、本実施の形態の移動体検出装置100の動作を表すフローチャートである。
図3において、7つのステップS201〜S209は、それぞれ図1の各処理部に対応している。すわなち、画像入力部101は画像入力ステップS201、動き解析部102は動き解析ステップS202、距離算出部103は距離算出ステップS203、測地距離算出部106は測地距離算出ステップS204、領域分割候補生成部107は領域分割候補生成ステップS205、領域間測地距離算出部108は領域間測地距離算出ステップS206、領域分割候補選択部109は領域分割候補選択ステップS207、出力部105は画像出力ステップS208の各動作を実行する。領域分割部104は、領域分割ステップS209を実行する。
画像入力ステップS201において、画像入力部101は、カメラ110から、動画像を構成する複数のピクチャを取得する。ここではT枚のピクチャが入力されたものとする。
図4は、カメラ110によって撮影される対象物の状況である撮影状況の一例を示す図である。また、図5(a)〜図5(f)は、カメラ110によって、図4の撮影状況において撮影された動画像に含まれる複数枚のピクチャの一例を示す図である。画像入力部101は、第1フレームから第TフレームまでのT枚のピクチャをカメラ110から受け付ける。本実施の形態では、ピクチャの数Tは、あらかじめ定められているものとする。
次に、動き解析ステップS202では、動き解析部102は、入力された複数のピクチャ間の動き情報を算出し、移動軌跡を生成して出力する。複数のピクチャ間の動きを算出する手法として、ここでは複数のピクチャのうちのある1つのピクチャ上のI個の画素を基準に、他の(T−1)枚のピクチャ中の対応する画素を探索する。なお、I個の画素の代わりに、I個の小矩形領域(ブロック)を基準にしても良い。例えば、tフレームと(t+1)フレームのピクチャを用いて、tフレームのピクチャ上の画素iの画素座標(xit,yit) (i=1…I)に対応する、(t+1)フレームのピクチャ上の画素座標(xit+1,yit+1)を推定する。ピクチャが3枚以上ある場合は、順次対応する座標を求めていくことで、入力したT枚全てのピクチャのI個の対応点を算出する。
上記した複数のピクチャ間の対応点を算出する具体的な手法は、非特許文献1もしくは非特許文献2などに詳しく記載されているため、ここでは詳細の説明を省略する。
そして、この動き解析ステップS202では、動き解析部102は、I個の画素のT枚のピクチャにわたる動き情報である、対応点の画素座標の組から、I個の画素ごとに対応する移動軌跡を、下記式1のように、I個生成する。
ここで、Tは移動軌跡の算出に用いたピクチャの枚数である。
図6は、移動軌跡xの例を示す図である。移動軌跡xは、時刻tから時刻t+(T-1)の入力画像301において、画素i303に対応する他のピクチャ上へ動き情報302から算出した、画素座標の集まりからなるベクトルである。
次に、距離算出ステップS203にて、距離算出部103は、複数の移動軌跡を入力として移動軌跡間の距離(ここでは、ユークリッド距離の平均値)を算出する。画素iの移動軌跡と画素jの移動軌跡との距離f(i,j)は、下記式2により算出できる。
なお、本実施の形態において、後述する測地距離gと区別して説明するために、移動軌跡間の距離fを線形距離と呼ぶが、線形距離の定義式を線形演算に限定するものではなく、線形距離の定義式に非線形の演算が含まれていても良い。
なお、線形距離f(i,j)を算出する式として、上記式2の代わりに下記式3を用いてもよい。
ここで、wは重み係数であり、設計者が設定するパラメータである。上記式3の移動軌跡間の距離f(i,j)は、移動軌跡間距離の時間平均値ptnijに、移動軌跡間距離の時間変動成分mtnijを加えたものである。特に移動軌跡間距離の時間変動成分mtnijは、画素の動きの類似度を示すものであり、これによって、画素間のなす距離の関係が時間的に変化しない剛体だけでなく、関節物体等の形状変化を捉えることができる。
そして、距離算出部103は、上記式2または上記式3で算出した、I個の移動軌跡間の距離f(i,j)から、下記式4に示されるI×Iの距離マトリクスFを生成する。
続いて、測地距離算出ステップS204では、移動軌跡間の距離の集まりである距離マトリクスFを取得して、移動軌跡の近傍を定義する距離の閾値Rを複数用いて、前記移動軌跡間の距離を測地距離に変換する。つまり、測地距離算出ステップS204では、複数の閾値を取得し、取得した複数の閾値を、移動軌跡の近傍を定義する閾値として用いて、距離算出ステップS203で算出された移動軌跡間の距離から、それぞれの閾値ごとに、近傍にある移動軌跡を辿っていく経路における距離を算出することで、移動軌跡間の測地距離を算出する。そして、移動軌跡間の測地距離が有限である移動軌跡の集まりの情報を含む領域分割候補を複数生成して出力する。
以降、測地距離算出ステップS204の動作をさらに詳しく説明する。
まず、測地距離算出ステップS204では、測地距離算出部106は、上記式2で算出した距離f(i,j)に対してあらかじめ定められたK個の閾値Rkを用いて、それぞれの閾値に対して、下記式5の非線形化処理を行い、f´k(i,j)を算出する。
次に、測地距離算出部106は、非線形化された距離f´k(i,j)を用いて、測地距離を算出する。測地距離とは、複数の点を結ぶノードの距離(長さ)が得られているときに、ある2点間を結び得る全ての経路の距離のうちの最短の距離である。よって、測地距離算出部106は、第1の移動軌跡から第2の移動軌跡までの測地距離の算出においては、距離算出部103で算出された複数の移動軌跡のいずれかを中継点として第1の移動軌跡から第2の移動軌跡に辿りつく全ての経路のうちの最短の経路を、測地距離として、算出する。
例えば、移動軌跡iと移動軌跡jの2点間を直接結ぶノードの距離f´k(i,j)が得られているとする。このとき移動軌跡iと移動軌跡jの2点間を結ぶ経路は、2点間を直接結ぶノード以外に、別の移動軌跡sをたどる経路もある。この経路の距離をf´k(i,s)+ f´k(s,j)とする。このような複数の経路の距離のうちで、最も短い距離を、下記式6に示されるように、測地距離gk(i,j)とする。
上記式6において、min(x,y)は、値xと値yのうち小さい方を返す関数である。また、sは、移動軌跡sであり、移動軌跡iから移動軌跡jに辿(たど)りつくための中継点である。ここで、f´k(i,s)+ f´k(s,j)における中継点sは1点に限るものではない。なお、kは複数の閾値Rkに対応する。
上述した多次元データ間の測地距離を算出する手法、および、測地距離の算出における2点間の最短経路を探索する手法の詳細は、例えば非特許文献3のISOMAP、非特許文献4のダイクストラ法などが広く知られているため、ここでは処理手順の詳細説明を省略する。
さらに、上記式6で算出した、I個の移動軌跡間の測地距離gk(i,j)から、領域分割候補生成部107は、下記式7に示されるI×Iの測地距離のマトリクスGkを生成する。
上記した処理によって、測地距離算出ステップS204では、測地距離算出部106は、K個の閾値Rkに対応するK個の測地距離マトリクスGkを生成する。
ここで、上記式5及び上記式6に示した非線形化及び測地距離の算出処理について、図7(a)〜図7(c)の概念図を用いて説明する。まず、図7(a)は、上記式1に示される移動軌跡xのデータの分布を、説明の都合上2次元のデータ分布として示したものである。ここで、それぞれのデータ点は、上記式1で示した画素iの移動軌跡に相当する。上記式2で得られる距離f(i,j)の関係を、図7(b)に示す。データ点iとデータ点jとの距離は、データ点iとデータ点sとの距離よりも小さくなる。一方、上記式5及び上記式6に示される測地距離変換を行うと図7(c)に示すように、データ点iとデータ点jとの距離g(i,j)は、データ点を矢印のように中継のデータ点sを辿った距離となる。結果として、距離f(i,j)を用いる場合と異なり、データ点iとデータ点jとの距離g(i,j)は、データ点iとデータ点sとの距離g(i,s)よりも大きくなる。
次に、このような上記式5及び上記式6に示した測地距離変換の特徴を、図8(a)及び図8(b)の概念図を用いて説明する。ここでは、線形距離f(i,j)と測地距離gk(i,j)の違いを分かりやすく説明するため、上記式2に示すような時刻tにおける移動軌跡間距離を例とする。図8(a)は、線形距離f(i,j)の例である。例えば、頭部の画素i502と手先部の画素j503との距離は、距離501に示す距離となる。一方、上記式5及び上記式6に示される測地距離変換を行うことによって、閾値Rkが適切に設定されている場合、図8(b)に示されるように、頭部の画素i502と手先部の画素j503との距離は、画素s504を通って画素jにたどり着くまでの矢印で示したような距離の和となる。
そのため、図8(a)に示される距離501では人物のような関節で繋がった形状をデータとして連続的に表現できないのに対して、図8(b)に示される測地距離では、関節が繋がった形状を距離として連続性を表現することが可能となる。
また、図8(a)の頭部の画素i502と手先部の画素j503の線形距離は、人物の姿勢の変化に伴って、位置関係が時間的に大きく変化する場合に、その値が時間的に大きく変化する。しかし、同じ2つの移動軌跡間の測地距離gk(i,j)は、類似した動きをする他の移動軌跡との距離の和になるため、線形距離に比べてその変動が小さいという特徴を持つ。
さらに、図4や図5中の2名の人物のように、大きく異なる動きをする移動体上の2つの移動軌跡については、軌跡間の線形距離はともに大きな値となり、測地距離はさらに大きな値となる。
以上のことから、人物のように変形しながら移動する移動体を対象とした場合、移動軌跡の距離に基づいて移動体の領域を抽出するためには、線形距離よりも測地距離の方が適していると言える。
なお、測地距離算出ステップS204において、線形距離から測地距離を求める手法として、上記式5及び上記式6を用いる手法を示したが、測地距離を求める手法は、この手法に限定されるものではない。
例えば、あらかじめ定めたK個の閾値Rkの代わりに、あらかじめ定めたK個の閾値Nkを用いる。そして、線形距離f(i,j)から非線形化した距離f´k(i,j)を求める処理として、閾値Rk以上の線形距離f(i,j)を無限大に置き換える上記式5の代わりに、ある移動軌跡iと他の(I-1)個の移動軌跡との線形距離f(i,j)のうちで、小さいほうからNk番目の線形距離よりも大きい線形距離を無限大で置き換えることによって、非線形化した距離f´k(i,j)を算出してもよい。
次に、領域分割候補生成ステップS205では、領域分割候補生成部107は、測地距離算出部106で算出したK個の閾値Rkに対応するK個の測地距離マトリクスGkに対し、各測地距離マトリクスGk内で連続な移動軌跡間を1つの領域としてまとめることでクラスタリングを行い、クラスタのラベルθとクラスタ数の情報を付与する。ここで2つの移動軌跡が連続とは、移動軌跡iと移動軌跡j間の測地距離gk(i,j)が有限である(無限大ではない)とする。
K個の閾値Rkに対して得た測地距離を用いたクラスタリングの例を、図9(a)〜図9(e)を用いて説明する。ここで、図9(a)は、2人の人物を移動体としたT枚のピクチャを入力として得られたI個の移動軌跡の例を示す図である。なお、この図ではa〜hまでの8個の移動軌跡を示しているが、本発明は、移動軌跡の個数を限定するものではなく、移動軌跡の個数はできるだけ多くすることが好ましい。図9(b)は、図9(a)に示した複数の移動軌跡からなる高次元空間の概念図である。説明を容易にするため3次元空間として示しているが、実際には、移動軌跡間の距離を決定するパラメータの個数に依存するので、3次元になるとは限らない。ここで、移動軌跡からなる高次元空間(図9(b))の1点が、それぞれ上記式1に示した一つの移動軌跡に対応する。さらに、高次元空間(図9(b))上で、点と点との距離は、上記式3の距離f(i,j)に対応する。閾値Rkが十分に大きな値である場合、例えば、上記式6においてf(i,j)の最大値よりも閾値Rkが大きい場合には、式5に示される非線形化により、図9(c)に示すように測地距離gk(i,j)は、すべてのi,jの組合せにおいて有限の距離となる。すなわち、不連続点が1点もないためクラスタは1個のクラスタθ1 1となる。一方、閾値Rkが十分に小さい場合、具体的には、上記式5においてf(i,j)の最小値よりも閾値Rkが小さい場合には、上記式5に示される非線形化により、すべてのi,jの組合せにおいてgk(i,j)が無限大となる。すなわち、クラスタ数は移動軌跡の数Iと同数となる。したがって、閾値Rkをf(i,j)の最大値と最小値の間の値に設定し、複数の測地距離マトリクスを算出すると、測地距離マトリクスから1個以上I個以下の異なるクラスタ数をもつクラスタリングの情報、すわなち、移動体の領域抽出の候補を得ることができる。
閾値Rkをf(i,j)の最大値と最小値の間の値に設定した場合のクラスタリングについて、図9(d)に示される例について説明する。図9(b)において、移動軌跡aと移動軌跡bとの距離をf(a,b)とした時に、f(d,e) > f(e,g)であるとする。ここでは、閾値をR1として設定した場合に、距離f(d,e)は、閾値R1よりも大きな値を持つ(つまり、f(d,e)>R1)とする。この場合、上記式5に示される非線形化により、上記式6によって測地距離を求めてもg1(d,e)は無限大となる。そこで、領域分割候補生成部107は、移動軌跡dと移動軌跡eとの間を不連続と判定する。この結果、移動軌跡a、b、c、d間の測地距離は不連続点を通らないため有限の値を取り、移動軌跡a、b、c、dから移動軌跡e、f、g、hの測地距離は、すべて無限大となる。このように、領域分割候補生成部107は、測地距離が有限な複数の移動軌跡の組を同じクラスタとし、無限大となる場合は別のクラスタとする。これによって、図9(c)に示される1つのクラスタθ1 1(a、b、c、d、e、f、g、hの組)は、図9(d)に示されるようにθ1 2(e、f、g、hの組)、θ2 2(a、b、c、dの組)の2つのクラスタに分離することができる。さらに、図9(e)に示すように、閾値R2をR1>R2>f(e,g)とした場合に、g1(d,e)は変わらずに(つまり、無限大のまま)、g2(e,g), g2(e,h), g2(f,g), g2(f,h)が無限大になったとする。すると、領域分割候補生成部107は、それぞれ移動軌跡eと移動軌跡gとの間、移動軌跡eと移動軌跡hとの間、移動軌跡fと移動軌跡gとの間、及び、移動軌跡fと移動軌跡hとの間が不連続点であると判定し、図9(d)の場合と同様に測地距離が無限大となる組と無限大にならない組とを整理して、θ1 3(g、hの組)、θ2 3(a、b、c、dの組)、θ3 3(e、fの組)の合計3つのクラスタに分離する。以上の処理によって、測地距離が無限大とならない移動軌跡の組は連続とすることで同じクラスタと判定することができ、測地距離が無限大となる移動軌跡の組は不連続とすることによって、不連続点をもとにクラスタを分離することができる。
なお、閾値Rkの設定方法については、f(i,j)の最小値から最大値の間を均等にK個設定しても良いし、f(i,j)の平均値やメディアンを中心に一定間隔で増加、減少させた値を用いても良い。
上記した処理によって、領域分割候補生成ステップS205では、領域分割候補生成部107は、K個の測地距離マトリクスGkに対応して、連続した移動軌跡であることを示すクラスタのラベルθk mの情報と、クラスタ数Mkを生成する。以降のステップでは、この複数の測地距離マトリクスと対応付けられた各クラスタの情報を、ピクチャ中の移動体の領域を示す複数の候補である領域分割候補として扱う。
次に、領域間測地距離算出ステップS206では、領域間測地距離算出部108は、領域分割候補生成ステップS205で生成された領域分割候補の情報、すわなち、K個の測地距離マトリクスgk(i,j)とそれに対応するクラスタのラベルθk m、クラスタ数Mkの情報を入力として、複数の領域分割候補に対応する領域間測地距離を算出する。
以降、領域間測地距離算出ステップS206での領域間測地距離算出部108の動作をさらに詳しく説明する。
まず、領域間測地距離算出ステップS206では、領域間測地距離算出部108は、K個の閾値Rkに対応する測地距離マトリクスgk(i,j)から、クラスタ数M(Mは2以上)ごとに任意に1つを選択して、これをクラスタ数Mを代表する代表測地距離マトリクスGMとする。本実施の形態1では、代表測地距離マトリクスを選択する方法として、クラスタ数がMである複数の測地距離マトリクスのうち、閾値Rkがもっとも大きいものを選択するものとする。
次に、領域間測地距離算出部108は、クラスタ数Mの代表測地距離マトリクスGMに対して、Mの次にクラスタ数の少ない複数の測地距離マトリクスから任意に1つを選択し、これをクラスタ数Mの参照マトリクスGrMとする。本実施の形態1では、参照マトリクスを選択する方法として、Mの次にクラスタ数の少ない複数の測地距離マトリクスのうち、閾値Rkがもっとも小さいものを選択するものとする。
図10(a)〜図10(f)に、領域間測地距離算出ステップS206で生成した、測地距離マトリクスGkと、代表測地距離マトリクスGMの例を示す。図10(a)はK個の閾値Rkに対して得た測地距離マトリクスGkの例を示す図である。測地距離マトリクスは、移動軌跡の測地距離gk(i,j)をi行j列の要素とする、I×Iの測地距離の行列である。図10(b)〜図10(d)は、それぞれ、クラスタ数1〜3の代表測地距離マトリクスGMの例を示す図である。ここでは図10(b)〜図10(d)の代表測地距離マトリクスの行、列に対応する移動軌跡は、すべて共通であるものとする。
図10(b)と図9(c)、図10(c)と図9(d)、図10(d)と図9(e)は、それぞれクラスタ数が1〜3の場合の代表測地距離マトリクス、及び、移動軌跡の距離の高次元空間の概念図である。
図10(b)〜図10(d)の矩形の斜線部は、有限の値をもち、これは対応する移動軌跡が連続であり、1つのクラスタを構成することを表している。また、図中の斜線部以外の領域は、距離は無限大となり、対応する移動軌跡が不連続であることを表している。したがって、クラスタ数Mに応じて、対角部にM個の有限距離のクラスタ(M個の斜線部)が並ぶ配置となっている。
図10(e)及び図10(f)は、参照マトリクスの例を示す図である。クラスタ数Mの参照マトリクスは、クラスタ数がM未満のうち最大のクラスタ数となる測地距離マトリクスから選ばれる。そのため、代表測地距離マトリクスにおいて無限大となる要素が、参照マトリクスにおいては有限の値となる箇所がある。
以降、あるクラスタ数がMの代表測地距離マトリクスと参照マトリクスが含む情報について、図11(a)〜図11(d)を用いて詳しく説明する。
図11(a)及び図11(b)は、それぞれ、クラスタ数2(M=2)の場合の代表測地距離マトリクス(図11(a))と参照マトリクス(図11(b))の例を示す図である。代表測地距離マトリクスのクラスタθ1 2、θ2 2に対応する、参照マトリクスのクラスタを同様にθ1 2、θ2 2とする(図11(b)に示される2つの斜線領域)。また、代表測地距離マトリクスにおいては値が無限大であり、かつ参照マトリクスにおいては値が有限となる要素の領域(図11(b)中の2つの縦線領域)をθ1,2 2とする。
このとき、参照マトリクスのθ1 2領域はクラスタθ1 2内の移動軌跡間の距離を、θ2 2領域はクラスタθ2 2内の移動軌跡間の距離を、それぞれ表す。また、参照マトリクスの2つのθ1,2 2の領域は、異なるクラスタθ1 2、θ2 2に存在する移動軌跡間の距離を表す。このことから、参照マトリクスのθ1 2内の距離の平均値によってクラスタθ1 2の分布のばらつき度合いを、参照マトリクスのθ2 2内の距離の平均値によってクラスタθ2 2の分布のばらつき度合いを、それぞれ表すことができると言える。さらに、参照マトリクスのθ1,2 2内の距離の平均値によってクラスタθ1 2とθ2 2間の距離を表すことができる。
クラスタ数が2以外の場合でも同様である。例えば、クラスタ数3(M=3)の場合の代表測地距離マトリクス(図11(c))と参照マトリクス(図11(d))の例においても、代表測地距離マトリクスのクラスタθ1 3、θ3 3と参照マトリクスθ1,3 3の間で、上記と同じ関係が成り立つ。
以上のような代表測地距離マトリクスと参照マトリクスが含む情報を利用し、領域間測地距離算出ステップS206では、領域間測地距離算出部108は、クラスタ間の距離の指標である領域間測地距離を算出する。
具体的には、クラスタ数Mの代表測地距離マトリクスGMと参照マトリクスGrMから、代表測地距離マトリクスGMでは無限大であり、かつ、参照マトリクスGrMでは有限となる要素に対応する領域θp,q M、および、クラスタθp M、θq Mを抽出する。
そして、領域間測地距離算出部108は、クラスタθp M、θq M間の領域間測地距離hp,q Mを下記式8により算出する。
上記式8において、g_M pは、2つの領域分割候補に対応する2つのクラスタθp M、θq Mのうち、クラスタθp M内の複数の移動軌跡間の測地距離の平均値である。同様に、g_M qは、クラスタθq M内の複数の移動軌跡間の測地距離の平均値である。g_M p,qは、クラスタθp Mに存在する移動軌跡とクラスタθq Mに存在する移動軌跡との間の測地距離の平均値である。npおよびnqは、クラスタθp Mおよびθq Mに属する移動軌跡の個数である。
なお、g_M p、g_M q、g_M p,qは、いずれも参照マトリクスGrMを用いて計算してもよいし、g_M pおよびg_M qは、代表測地距離マトリクスGMを、g_M p,qは参照マトリクスGrMをそれぞれ用いて計算しても良い。
領域間測地距離算出ステップS206では、領域間測地距離算出部108は、上記した処理を、クラスタ数Mのうち1を除く、算出された全てのクラスタ数に対して行い、それぞれ領域間測地距離hp,q Mを算出し、対応するクラスタθp M、θq M(移動軌跡のラベル情報)を領域分割候補としてあわせて出力する。
なお、ある1つのクラスタ数Mの代表測地距離マトリクスGMと参照マトリクスGrMに対し、上記したθp,q M、θp M、θq Mの領域が1組とは限らない。2組以上ある場合においても、上記式8に示される処理により、領域間測地距離を算出する。
ここで、上記式8に示される領域間測地距離の性質について説明する。上記式8から、領域間測地距離は、異なる2つの領域分割候補に属する移動軌跡間の測地距離の平均値であるg_M p,qを、同一領域分割候補内の移動軌跡間の測地距離の平均値であるg_M p、g_M qで正規化した値となっている。言い換えると、領域間測地距離は、領域分割候補間の距離を表す指標を領域分割候補内のばらつきを表す指標で正規化した値となっている。そのため、領域間測地距離は、定性的には以下の性質を持つ。
・2つの領域分割候補の間の距離が大きくなるほど、領域間測地距離も大きくなる。
・移動軌跡全体の大きさ(拡縮率)が変化する場合は、領域間測地距離は一定になる。
・移動体の変形によって、領域分割候補内の移動軌跡間の距離が変動しても、領域間測地距離はあまり変わらない。
このように、領域間測地距離算出部108は、複数の閾値のそれぞれに対して領域分割候補生成ステップS205で生成された複数の領域分割候補のセットのうちの第1の領域分割候補のセットにおける2つの領域分割候補間の類似度として、当該2つの領域分割候補における測地距離である代表測地距離と、当該第1の領域分割候補のセットに含まれる領域分割候補の総数よりも次に小さい総数だけ領域分割候補が含まれる第2の領域分割候補のセットにおける測地距離である参照測地距離とを用いて、予め定められた演算をすることで、領域間測地距離を算出する。つまり、参照測地距離マトリクスに含まれる領域分割候補間の測地距離を、代表測地距離マトリクスに含まれる領域分割候補の各領域内の測地距離で正規化する。言い換えると、参照測地距離と代表測地距離に基づいて、2つの領域分割候補間の距離を表す指標と、各領域分割候補内のばらつきを表す指標とを算出し、その距離を表す指標を、そのばらつきを表す指標で正規化する演算をすることで、領域間測地距離を算出する。
なお、領域分割候補生成ステップS205で生成される複数の領域分割候補のうち、少なくとも1つの領域分割候補は1個の移動軌跡が属するものであってもよい。このとき、領域間測地距離算出ステップS206では、1個の移動軌跡が属する領域分割候補と他の領域分割候補との領域間測地距離として、その1個の移動軌跡と他の領域分割候補に属する任意の1つの移動軌跡との測地距離を出力すればよい。
次に、領域分割候補選択ステップS207では、領域分割候補選択部109は、領域分割候補生成部107で生成された複数のクラスタθp M、θq Mを領域分割候補とし、その評価値として、領域間測地距離算出部108で算出された領域間測地距離hp,q Mを扱い、領域間測地距離に基づいてクラスタθp M、θq Mの領域分割候補を別個のクラスタとして分割するか否かを選択する。
具体的には、領域間測地距離hp,q Mが、あらかじめ定められた閾値Htより大きい場合、対応する2つのクラスタθp M、θq Mは、その領域間の距離が十分離れているクラスタとして選択し、個別のクラスタとして確定する。一方、領域間測地距離hp,q Mが、あらかじめ定められた閾値Htより小さい場合、対応する2つのクラスタθp M、θq Mは、同一のクラスタとして確定する。つまり、この場合には、分割しないと確定する。そして、領域分割候補の全てのクラスタに対して、分割するか否かを判定した後、異なるクラスタに属する移動軌跡には異なるラベルθmを割り当て、移動軌跡のクラスタリング情報として出力する。
例えば、図11(a)に示されるクラスタ数2の代表測地距離マトリクスと、図11(b)に示される参照マトリクスから算出された領域間測地距離をh1,2 2とし、図11(c)に示されるクラスタ数3の代表測地距離マトリクス、図11(d)に示される参照マトリクスから算出された領域間測地距離をh1,3 3、他のクラスタ数wの領域間測地距離をhp,q wとする。ここで、h1,2 2>Htで、かつ、h1,3 3、 hp,q w<Htであるとすると、対応するクラスタθ1 2、θ2 2は、このように分割され、他のクラスタは分割されない(つまり、θ1 2がさらにθ1 3、θ3 3に分割されることはない)。その結果、移動軌跡はクラスタθ1 2、θ2 2の2つのクラスタに分割され、図9(d)と同様なクラスタリング結果を得る。
最後に、画像出力ステップS208において、出力部105は、移動軌跡のクラスタθ1 2、θ2 2から、画像を生成して、ディスプレイ120に表示する。
ここで、画像出力ステップS208では、出力部105は、I個の移動軌跡に対し、対応するクラスタθ1 2、θ2 2によって異なる色を選択し、選択した色でそれぞれT番目の画像座標位置の画素を描画することで、画像を生成する。
図12に画像出力ステップS208で生成した画像の例を示す。クラスタリングした移動軌跡ごとに異なる色を持つ画像が表示されることとなる。
なお、画像出力ステップS208において、クラスタリングしたI個の移動軌跡に基づいて画像を生成する手順として、I個の移動軌跡の画像座標位置の画素をクラスタに応じた色で描画するとしたが、画像を生成する方法をこれに限定するものではない。
具体的には、移動軌跡の数Iと画像全体の画素数とが同数であれば、上述した方法により画像中の全画素をクラスタに応じた色で描画することができる。一方、移動軌跡の数Iが画像全体の画素数より少ない場合、どの移動軌跡の画像座標位置とも一致しない画素が存在する。このような移動軌跡の画像座標位置と一致しない画素については、別の方法で描画しても良い。
例えば、動き解析部102において、ある移動軌跡を生成するための動き検出に用いたブロックに属する画素は、その移動軌跡のクラスタと同じ色で描画するとしても良い。
また、移動軌跡の画像座標位置と一致しない画素を描画する別の方法として、最近傍の移動軌跡のクラスタと同じ色で描画するとしても良い。
また、移動軌跡の画像座標位置と一致しない画素を描画する別の方法として、複数の移動軌跡の画像座標位置(点)の間を、Delaunay三角メッシュ生成法にて結び、同一のクラスタに属する3点に囲まれる3角形に含まれる画素は、そのクラスタと同じ色で描画するとしても良い。
なお、連続した動画像に対して処理を行う場合は、上述したステップS201〜S208の動作を繰り返し行うことで、入力された画像の中から、異なる動きをする領域ごとに移動体の領域を分割抽出する。
以上のように、本実施の形態の移動体検出装置は、移動軌跡間の距離、すなわち類似度にもとづいて移動軌跡のクラスタリングを行う。そしてクラスタリングの手法として、移動軌跡間の距離に対し、異なる閾値Rを用いて測地距離変換し、その結果得られる領域分割の候補を得る。さらに、領域分割の候補に対し、領域間測地距離という新たな指標を導入し、この指標に基づいて分割するか否かを決定する。
ここで前述したように、領域間測地距離は、移動軌跡全体の大きさ(拡縮率)が変化しても、領域間測地距離は一定になるという効果がある。したがって、ピクチャ上の移動体の大きさが変化するような場合(例えば、カメラの撮影において、ズーミングしたり、移動体が接近してきた場合)であっても、大きさの変化に影響を受けにくく、結果として、大きさが変化するような移動体を含む場合であっても、正しく移動体の領域抽出を行うことが期待できる。
以上のようにして、本実施の形態における移動体検出装置及び方法によれば、画像の移動軌跡の類似度にもとづいてクラスタリングを行うことによって、画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、画像中の移動体の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域抽出の失敗がない。以上のように、膨大なパラメータのフィッティングを必要とせずに、領域間測地距離に基づいてクラスタリングを行うことによって安定に、形状が変化しながら移動する人物等を含む画像を領域抽出し、これによって画像中の移動体の検出を行うことが可能となる。
なお、本発明に係る移動体検出装置及び方法は、上記実施の形態に限定されるものではなく、上記実施の形態に対して当業者が思いつく変形を施して得られる形態や、後述する各種変形例を含む複数の形態における構成要素を任意に組み合わせて得られる形態も本発明に含まれる。
(実施の形態1の変形例1)
たとえば、本実施の形態1の移動体検出装置の領域分割候補選択ステップS207において、閾値Htはあらかじめ定められているものとしたが、これに限定するものではない。具体的には、領域抽出したい移動体の動きの大きさに応じて閾値Htを変化させても良いし、人であるのか車であるのかに応じて閾値Htを変更しても良い。
閾値Htは、ある2つの領域分割候補に対して、異なる領域とするか同じ領域とするかの評価基準に相当する。例えば、2つの領域分割候補が2つの移動体にそれぞれ対応する場合、閾値Htを小さくすることで、2つの移動体の相対的な位置や動きの違いが小さい場合においても、異なる2つの領域として抽出することができる。逆に、閾値Htを大きくすることで、この2つの移動体の相対的な位置や動きが大きい場合にのみ、2つの領域として抽出することができることとなる。すわなち、閾値Htの大小によって、領域抽出する対象を変えることができるという効果がある。
(実施の形態1の変形例2)
なお、本実施の形態1の移動体検出装置の領域分割候補生成ステップS205、領域間測地距離算出ステップS206、領域分割候補選択ステップS207の動作として、あらかじめ定められたK個の閾値Rkに対応する領域分割候補を生成したうえで、このK個の領域分割候補から領域間測地距離に基づいて選択するものとして説明した。しかし、本発明の動作はこれに限定されるものではなく、領域分割候補に対応する領域間測地距離を算出し、これに基づいて領域分割候補を選択する動作であれば、どのような手順であっても良い。
例えば、閾値Rを徐々に小さくしながら領域分割候補の生成、領域間測地距離の算出、領域分割候補の選択を繰り返し行い、ある条件に達した時点で終了する、という手順をとっても良い。
このような本実施の形態の移動体検出装置における、別の動作の例を、図13を用いて説明する。
領域分割候補生成ステップS1104では、領域分割候補生成部107は、まず、移動軌跡間の距離の集まりである距離マトリクスFを入力して、移動軌跡の近傍を定義する距離の閾値R0を初期値として、前記移動軌跡間の距離を測地距離に変換し、測地距離マトリクスG0を生成する。ここでは閾値R0は、距離マトリクスFの要素の最大値とする。このときクラスタ数はM=1となる。次に、閾値R0をある一定の率で減少させたRiを用いて、測地距離マトリクスGiを生成し、クラスタ数が1より大きくなる(例えばM=2)まで繰り返す。
領域間測地距離算出ステップS1105では、領域間測地距離算出部108は、領域間測地距離算出ステップS206と同様に、領域分割候補生成ステップS1104で生成された測地距離マトリクスを用いて、クラスタ数M(M=2)の代表測地距離マトリクスGMと参照マトリクスGrMを選択して、クラスタ数M(M=2)の領域間測地距離を算出する。
領域分割候補選択ステップS1106では、領域分割候補選択部109は、領域間測地距離があらかじめ定められた閾値Htと比較し、領域間測地距離が大きい場合に領域分割候補を別個のクラスタとして分割するか否かを選択する(S1104〜S1106)。
具体的には、領域分割候補選択ステップS1106では、領域分割候補選択部109は、領域間測地距離が閾値Htより大きい場合は、上述の領域分割候補生成ステップS1104から領域分割候補選択ステップS1106の処理を、閾値Rkをさらに小さくしながら繰り返す。一方、領域間測地距離が閾値Htより小さい場合は、繰り返し処理を終了し、繰り返し処理によって選択された領域分割候補に基づいて、移動軌跡をクラスタリングし(S1107)、出力する。
以上のような領域分割ステップS1108での動作によっても、上記実施の形態における領域分割ステップS209と同様に、領域分割の候補に対し、領域間測地距離に基づいて分割するか否かを決定することができる。この領域間測地距離は、移動軌跡全体の大きさ(拡縮率)が変化しても、領域間測地距離は一定になるという効果がある。したがって、画像上の移動体の大きさが変化するような場合であっても、大きさの変化に影響を受けにくく、結果として、大きさが変化するような移動体を含む場合であっても、正しく移動体の領域抽出を行うことが期待できる。
(実施の形態1の変形例3)
また、上記実施の形態1では、領域分割候補選択ステップS207において、領域間測地距離の大きさで、対応する2つの領域分割候補を別個のクラスタとするか否かを判断したが、本発明の領域分割候補の選択基準としては、このような判断基準だけに限るものではなく、例えば、領域間測地距離の時間変化で判断してもよい。
つまり、いま、上記ステップS201〜S208が、新たな動画像について、繰り返し実行されるとする。このとき、領域分割候補選択ステップS207では、領域分割候補選択部109は、複数のクラスタθp M、θq Mを領域分割候補とし、その評価値として領域間測地距離の時間変化、すなわち新たに入力した領域間測地距離hp,q Mと、前回の処理で算出された対応するクラスタに対する領域間測地距離hp,q Mとの差分を算出し、あらかじめ定められた閾値Htより大きい場合に、クラスタθp M、θq Mの領域分割候補を別個のクラスタとして分割してもよい。
具体的には、領域分割候補選択ステップS207では、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化に基づいて、領域分割候補を選択し、領域分割の結果として出力してもよい。このとき、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化が、予め定められた閾値より大きい2つの領域分割候補を、異なる領域として選択し、領域分割結果として出力してもよいし、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化が、予め定められた閾値より小さい2つの領域分割候補を、同一の領域として選択し、領域分割結果として出力してもよい。また、領域分割候補生成ステップS205で生成された領域分割候補のうち、領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化に基づいて、(1)大きいほど2つの領域分割候補は異なる領域となるように、かつ、(2)小さいほど2つの領域分割候補を同一の領域となるように領域分割候補を選択し、領域分割結果として出力してもよい。
また、距離算出ステップ及び領域分割ステップは、新たな動画像について、繰り返し実行され、領域分割候補選択ステップS207では、領域分割候補生成ステップS205で生成された領域分割候補のうち、繰り返し実行において領域間測地距離算出ステップS206で算出された領域間測地距離の時間変化が予め定められた閾値よりも大きい2つの領域分割候補の全てを、領域分割の結果として選択し、出力してもよい。
領域間測地距離の時間変化は、クラスタ間の距離の時間変化に比例する。そのためこの値が大きいほど、対応する2つのクラスタは巨視的に異なる動きをしていると言える。したがって、領域間測地距離の時間変化に基づいて領域分割候補を選択することで、異なる動きをする移動体領域を別のクラスタとして正しく領域抽出できることが期待できる。
さらに、図8を用いて説明したように、移動軌跡間の測地距離は、以下の特徴を持つ。
・人物のように多関節状の変形を伴う移動体上の2つの移動軌跡において、移動軌跡間の測地距離の時間変化が小さい。
このことから、領域分割候補間の領域観測地距離についても、同様に以下の特徴を持つ。
・多関節状の変形を伴う移動体上の2つの領域分割候補において、領域分割候補間の領域間測地距離の時間変化が小さい。
以上のことから、領域分割候補選択ステップS207およびS1307において、移動軌跡間の測地距離の時間変化、または、領域間分割候補の領域間測地距離の時間変化を用いて、領域分割候補の選択を行うことで、正しく移動体を検出することができるという効果を得ることができる。
(実施の形態2)
上記した本実施の形態1では、領域分割候補生成部107は、測地距離算出部106で算出した移動軌跡間の測地距離に基づいて領域分割候補を複数生成するとしたが、領域分割候補を生成する方法をこの方法に限定するものではなく、移動軌跡の集まりである領域分割候補を複数生成する手法であれば、他の方法であっても良い。
以下、本発明の実施の形態2では、領域分割候補を生成する他の方法の一例として、移動軌跡に対応する複数のピクチャの画素の輝度値に基づいて、領域分割候補を複数生成する方法について図面を用いて説明する。
実施の形態2における移動体検出装置100の構成は図1と同じである。本実施の形態2において、実施の形態1と異なる点は、領域分割部104の動作である。
以下、本実施の形態2の移動体検出装置100の動作を、図14を用いて説明する。
図14は、本実施の形態2の移動体検出装置100の動作を表すフローチャートである。図14において、7つのステップS201〜S203、S208、S209、およびS1304〜S1307は、それぞれ図1の各処理部に対応している。すわなち、画像入力部101では画像入力ステップS201、動き解析部102では動き解析ステップS202、距離算出部103では距離算出ステップS203、測地距離算出部106では測地距離算出ステップS1304、領域分割候補生成部107では領域分割候補生成ステップS1305、領域間測地距離算出部108では領域間測地距離算出ステップS1306、領域分割候補選択部109では領域分割候補選択ステップS1307、出力部105では画像出力ステップS208の各動作を実行する。領域分割部104は、領域分割ステップS209に対応する。
本実施の形態2において、画像入力ステップS201〜距離算出ステップS203までの動作は、実施の形態1と同じである。
画像入力ステップS201において、画像入力部101は、カメラ110から、動画像を構成する複数のピクチャを取得する。ここではT枚のピクチャを取得するものとする。
次に、動き解析ステップS202において、動き解析部102は、入力された複数のピクチャ間の動き情報を算出し、複数の移動軌跡を生成して出力する。ここではI個の移動軌跡が生成するものとする。
そして、距離算出ステップS203において、距離算出部103は、I個の移動軌跡を入力として移動軌跡間の線形距離を算出する。
上記の画像入力ステップS201〜距離算出ステップS203までの動作により、図4における撮影状況において、撮影されたT枚のピクチャが図5であり、T枚のピクチャから得られる移動軌跡の例が図6であるとする。また、画像入力ステップS201〜距離算出ステップS203により、T枚のピクチャにわたるI個の移動軌跡間の距離f(i,j)を算出して、I×Iの距離マトリクスFとして出力する。
以下、本実施の形態2における、領域分割部104の動作を説明する。
測地距離算出ステップS1304において、測地距離算出部106は、距離算出ステップS203で算出したI個の移動軌跡間の線形距離f(i,j)に対して、あらかじめ定められた閾値Rを用いて、上記式5および上記式6により、測地距離g(i,j)を算出する。そして、I個の移動軌跡間の測地距離g(i,j)であるI×Iの測地距離のマトリクスGを出力する。
次に、領域分割候補生成ステップS1305において、領域分割候補生成部は107、画像入力部で取得したT枚のピクチャに基づいて、ピクチャ上の小領域を複数生成し、生成したピクチャ上の複数の小領域にそれぞれ対応する移動軌跡の集まりである領域分割候補を生成する。
以下、領域分割候補生成部107において、T枚のピクチャに基づいて、領域分割候補を生成する手順について詳しく説明する。
本実施の形態2では、領域分割候補生成部107は、画像入力部で取得したT枚のピクチャから、時間順の中央となるT/2番目のピクチャを1枚選択する。次に、領域分割候補生成部107は、選択した1枚のピクチャに対して、ピクチャの複数の画素の色類似度に基づいて、ピクチャを複数の小領域に分割する。ここではK個の小領域に分割されたものとする。
画素の色類似度に基づいて、ピクチャを複数の小領域に分割する手法は、例えば、非特許文献5に記載されている手法などを用いることができるため、ここでは詳細の説明を省略する。
さらに、領域分割候補生成部107は、K個の小領域に対応する移動軌跡の集まりを領域分割候補として出力する。具体的には、選択したピクチャのK個の小領域を表すK種類のラベルをθkとする。それぞれの移動軌跡に含まれる、選択したピクチャ上の画素座標から、その画素座標を含む小領域を特定し、特定した小領域のラベルθkを移動軌跡に対応付ける。このようにして得られた、I個の移動軌跡にそれぞれ対応付けられたK種類のラベルθkによって、各移動軌跡が属するK個の領域分割候補を表す。
図15(a)〜図15(d)に、領域分割候補生成部107によって生成された、領域分割候補の例の図を示す。図15(a)は、動き解析部102で算出されるT枚のピクチャにわたる複数の移動軌跡a〜hの例である。図15(b)はT枚のピクチャから選択したT/2フレーム目のピクチャの例の図である。そして、図15(c)は、選択したピクチャの画素の色類似度に基づいて、複数の小領域に分割した結果の例を示す。ここでは、2名の人物がそれぞれ2つの領域に分割され、あわせて4個の小領域に分割されたものとする。図15(d)は、移動軌跡a〜hを図15(c)の小領域に対応づけることで生成された領域分割候補の例を示す。図15(d)における領域分割候補のラベルθ1〜θ4は、図15(c)の4つの小領域に対応している。8つの移動軌跡a〜hに対応付けられたラベルθ1〜θ4によって、それぞれの移動軌跡が属する領域分割候補を表している。領域分割候補生成部107は、このようにして生成した複数の領域分割候補を出力する。
なお、上記した画素の色類似度に基づいてピクチャを複数の小領域に分割する手法では、一般的に分割の粒度を設定する可変パラメータが存在する。本実施の形態2においては、好適には、生成される小領域が、それぞれ同一の移動体上の一部となるように、可変パラメータを設定する。言い換えると、生成される1つの小領域が2つ以上の移動体上に存在することが無いように可変パラメータを設定する。
なお、図15(c)の小領域の分割結果において、実際には人物以外の背景領域も個別の小領域として抽出されることとなるが、ここでは図面を用いた説明の都合上、背景領域については省略する。
次に、領域間測地距離算出ステップS1306では、領域間測地距離算出部108は、領域分割候補生成ステップS1305で生成された領域分割候補の情報、すわなち、I個の移動軌跡間の測地距離g(i,j)と、I個の移動軌跡に対応する領域分割候補のラベルθkを入力として、K個の領域分割候補間の領域間測地距離を算出する。
本実施の形態2では、2つの領域分割候補θpと領域分割候補θqの間の領域間測地距離hp,qを、以下の式9によって算出する。
上記式9において、g_ p,qは、領域分割候補θpに属する移動軌跡と、領域分割候補θqに属する移動軌跡との間の測地距離の平均値である。g_ pおよびg_ qは、それぞれ、領域分割候補θpに属する複数の移動軌跡間の測地距離の平均値、および、領域分割候補θqに属する複数の移動軌跡間の測地距離の平均値である。npおよびnqは、領域分割候補θpおよびθqに属する移動軌跡の個数である。
領域間測地距離算出部108は、K個の領域分割候補間の全ての組み合わせにおいて、領域間測地距離を算出する。
次に、領域分割候補選択ステップS1307では、領域分割候補選択部109は、領域分割候補生成部107で生成されたK個の領域分割候補、および、領域間測地距離算出部108で算出された領域間測地距離に基づいて、複数の領域分割候補の間で分離または結合を選択することによって、移動軌跡をクラスタリングする。
具体的には、ある2つの領域分割候補θpおよびθqについて、その領域間測地距離hp,qが、あらかじめ定められた閾値Htより小さい場合、領域分割候補選択部109は、2つの領域分割候補を結合する処理を行う。2つの領域分割候補を結合する場合、領域分割候補選択部109は、いずれか一方の領域分割候補に属する移動軌跡のラベル(例えばθq)を、他方の領域分割候補のラベル(例えばθp)で置き換える。
領域分割候補選択部109は、上述したある2つの領域分割候補間の結合を判定する処理を、全ての領域分割候補間の組み合わせに対して行う。その結果得られる移動軌跡に対応付けられたラベルによって、それぞれの移動軌跡が属する領域、すなわち移動軌跡をクラスタリングした結果を表す。
例えば、図15(d)に示される4つの領域分割候補間の領域間測地距離のうち、領域分割候補θ1とθ2間の領域間測地距離h1,2、および、領域分割候補θ3とθ4間の領域間測地距離h3,4の2つについて、閾値Htより小さく(h1,2<Ht、h3,4<Ht)、他の領域分割候補間の領域間測地距離は閾値Htより大きいとする。このとき、上述した領域分割候補選択部109の動作によって、領域分割候補θ2に属する移動軌跡c、dのラベルθ2はθ1に置き換えられ、領域分割候補θ4に属する移動軌跡g、hのラベルθ4はθ3に置き換えられる。その結果、複数の移動軌跡(図16(a)参照)は、2つの領域θ1とθ3にクラスタリングされる(図16(b)参照)。
最後に、画像出力ステップS208において、出力部105は、本実施の形態1と同様に、移動軌跡のクラスタθ1,θ3から、画像を生成して、ディスプレイ120に表示する。
図16(c)および図16(d)に、出力部105で生成した1フレーム目およびTフレーム目の画像の例を示す。クラスタリングした移動軌跡ごとに異なる色を持つ画像が表示されることとなる。
以上のように、本実施の形態2の移動体検出装置は、移動軌跡の集まりである領域分割候補を生成し、領域分割候補間で算出される領域間測地距離に基づいて移動軌跡のクラスタリングを行う。
この領域間測地距離は、次のような特徴を持つ。
・2つの領域分割候補が全く異なる動きをする場合、領域間測地距離の値が大きく、かつ、時間的な変動も大きい。
・2つの領域分割候補が、変形しながら移動する同一移動体上に存在する場合、領域間測地距離の値は比較的小さく、かつ、時間的な変動が小さい(理想的には一定)。
そのため、動画像中に、人物のような姿勢および位置の変化によって、画像上の形状や大きさが変化するような移動体が含まれる場合に、ある2つの領域分割候補について、異なる移動体上の領域か、同じ移動体上の領域なのかの判断が容易になる。その結果、正しく移動体の領域抽出を行うことができる。
上記した領域間測地距離の特徴について、別の実験結果をもとに説明する。図17(a)は、関節状の変形を伴いながら移動する1つの移動体の動画像の例である。図17(b)は、図17(a)の動画像を入力として、移動体を上下に2分割された領域分割候補に対して算出される、領域間測地距離の実験結果の例である。実験では、図17(a)の31フレームのピクチャに対し、1〜7フレーム、7〜13フレーム、・・・、25〜31フレームのように、重複した7フレームごとに本発明の実施の形態2と同じ処理を行った。
図17(b)から、図17(a)のように領域分割候補が近接して移動する場合、移動軌跡間の線形距離および測地距離は、ともにその値が比較的小さくなる。ここで、領域間測地距離(実線)は、平均ユークリッド距離に対して、時間的な変動が一定であることが分かる。そのため、時間的な変動が一定である、という指標に基づいて領域分割候補の選択を行うことで、ある2つの領域分割候補について、異なる移動体上の領域か、同じ移動体上の領域なのかの判断が容易になる。その結果、正しく移動体の領域抽出を行うことができる。
(実施の形態1および実施の形態2の変形例4)
なお、本発明の実施の形態1および実施の形態2では、領域間測地距離は、上記式8および上記式9によって算出するものとしたが、この式に限定するものではない。領域間測地距離は、上記式8および上記式9と同様、2つの領域分割候補間の距離(類似度)を表す指標、および、それぞれの領域分割候補内の移動軌跡のばらつきを表す指標を算出し、距離を表す指標(前者)をばらつきを表す指標(後者)で正規化した指標であればよい。
具体的には、上記式9における2つの領域分割候補間の距離(類似度)を表す指標であるg_ p,qとして、例えば、下記式10の移動軌跡間の測地距離の中央値を用いても良い。
上記式10において、median{g(i,j)}は、複数の移動軌跡間の測地距離g(i,j)の中央値である。
また、上記式9における領域分割候補内の移動軌跡のばらつきを表す指標であるg_ pおよびg_ qとして、移動軌跡間の測地距離の分散を用いても良い。
(実施の形態1および実施の形態2の変形例5)
本発明の実施の形態1および実施の形態2では、領域分割の結果はディスプレイに表示されたが、領域分割の結果の利用方法としては、このような応用に限られず、例えば、移動体の動き予測に応用してもよい。具体的には、本発明に係る移動体検出装置は、上記実施の形態における構成要素に加え、動き予測部を備えてもよい。つまり、領域分割部104で得られた領域分割の結果に基づいて、各領域に含まれる画素の移動軌跡から代表軌跡を算出し、その代表軌跡をもとに移動体の動きを予測する動き予測部を備えてもよい。より詳しくは、本発明に係る移動体検出装置は、領域分割部104で特定された領域を構成する移動軌跡から、当該領域を代表する移動軌跡を算出し、算出した代表の移動軌跡に従って当該領域が移動すると予測することで、移動体の動きを予測する動き予測部を備えてもよい。
具体的には、領域θmに属する画素の移動軌跡をxCmと表現すると、その動き予測部は、まず、下記式11のように、クラスタ領域θmごとに代表の移動軌跡を求める。なお、下記式11では、代表の移動軌跡として、平均移動軌跡を算出しているが、その計算に対して画素の移動軌跡xCmごとに重み付け等を行ってもよいし、画像上でのクラスタの重心に対応する画素の移動軌跡を代表の移動軌跡としてもよい。
ここで、Cmは、領域θmに属する画素数もしくは画素の移動軌跡の数である。
図18に、上記式11に基づいてクラスタ領域θmごとに代表の移動軌跡を求める例を示す。ただし、見やすさを考慮して、頭部に対応するクラスタ領域θ1と脚部に対応するクラスタ領域θ8に関する代表の移動軌跡のみを示している。図中の×は、それぞれ時刻tに対応するx_mの要素であり画素位置を示している。このような算出方法によれば、上述したように非線形空間上でのクラスタリングによる領域分割は、画素の動きの類似度を考慮して行われるため、単純に近接した画素の移動軌跡の時間平均を求めるような方法と比較して、動きが類似した画素の移動軌跡のみを用いて算出できるため、より高精度に代表の移動軌跡を求めることができる。このように、クラスタ領域ごとに代表の移動軌跡を求めることによって、部位ごとの動きを正確かつ簡便に表現することができる。
次に、動き予測部は、算出した代表の移動軌跡から、時刻Tより先の時刻における移動体の位置を予測する。そのために、代表の移動軌跡から加速度を算出し、T+1以降の移動体の位置を予測する。3枚以上の時系列画像が入力された場合は、次式のように代表の移動軌跡x_mごとに加速度ベクトルsmを得ることができる。
ここで、ut mは動きベクトルであり、次式のように表すことができる。
上記式12に示される加速度ベクトルを用いて、図18で破線の矢印及び○で示されるように、移動体の部位ごとに、時刻T+t´における移動体の部位位置posm(T+t´)を、以下の式14のように、予測することができる。
最後に、出力部105は、このように予測した移動体の位置や移動体部位の位置を出力する。これにより、加速度を加味した動き予測が可能である。動きが急激に早くなったり、急激に止まったりといった場合に、その加速度を反映して移動体の位置を予測することができる。なお、上記動きベクトルの代わりにアフィンパラメータを用いてもかまわない。アフィンパラメータは、回転運動を含む動きの表現が可能であり、腕あるいは足の回旋運動の表現に適しているため、特に関節物体の位置をより正確に予測することができる。
以上のようにして、本実施の形態及びその変形例に係る移動体検出装置及び方法では、画素に対応付けられた複数の移動軌跡間の類似度を表す距離に基づいてクラスタリングを行うことによって、画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域分割をすることができる。また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域分割の失敗がない。以上のように、膨大なパラメータのフィッティングを必要とせずに、非線形空間でクラスタリングを行うことによって、形状が変化しながら移動する人物等を含む画像に対しても正しく領域分割し、これによって画像中の移動体の検出を行うことが可能となる。
以上、本発明に係る移動体検出装置及び方法について、実施の形態及び変形例を用いて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。上記実施の形態及び変形例に対して当業者が思いつく各種変形を施して得られる形態や、上記実施の形態及び変形例における構成要素を任意に組み合わせて得られる形態も本発明に含まれる。
また、上記実施の形態における移動体検出装置100は、画像入力部101及び動き解析部102を備えたが、本発明は、これらの構成要素を必須とするものではない。つまり、動画像を構成する複数のブロックのそれぞれにおける画像の移動軌跡が予め算出されている場合には、移動体検出装置100は、外部から、そのような移動軌跡を取得し、取得した移動軌跡に対して、ステップS203〜S208の処理を実行してもよい。
また、本発明は、移動体検出装置として実現されたが、領域分割部104の機能を持つものであれば、動画像において動きをもつオブジェクトの領域を抽出、あるいは、分割する画像処理装置として実現することができるのは言うまでもない。
本発明は、複数枚のピクチャにおける動きに基づいて、形状が変化しながら移動する人物等の移動体を含む画像を領域抽出することによって画像中の移動体を検出する移動体検出装置として、例えば、運動解析装置、監視装置、ビデオカメラやTV等のAV機器に内蔵させる移動体検出装置等として利用することが可能である。
100 移動体検出装置
101 画像入力部
102 動き解析部
103 距離算出部
104 領域分割部
105 出力部
106 測地距離算出部
107 領域分割候補生成部
108 領域間測地距離算出部
109 領域分割候補選択部
110 カメラ
120 ディスプレイ
1002 コンピュータ
1004 I/F
1005 CPU
1006 ROM
1007 RAM
1008 HDD
1009 ビデオカード