以下、図面により、本発明の実施の形態にかかる物体追跡プログラム、物体追跡方法及び物体追跡装置について、図1〜図35を参照しながら説明する。
本実施形態にかかる物体追跡装置は、例えば物体監視システムに備えられ、カメラ(監視カメラ)によって撮影された画像を用いて物体を追跡する装置、具体的には、物体を複数の部分に分割して物体を追跡する装置である。ここで、物体には、例えば人間、車両、船舶、飛行機などが含まれる。以下、本実施形態では、物体が人間である場合を例に挙げて説明する。
本実施形態では、人間監視システムは、カメラによって撮影された画像から、複数の人間を構成する各パーツ(構成パーツ;部分)を検出し、検出された各パーツを追跡するとともに、これとは別に、各パーツを組み合わせて構成される人間全体を複数の仮説(全体仮説)を立てて追跡するようになっている。
このため、本実施形態では、人間監視システム(物体監視システム)は、図1に示すように、カメラ(センサ)1と、パーツ領域検出部2と、パーツ追跡部4及び全体追跡部5を備える人間追跡装置(物体追跡装置)3とを備える。
ここで、カメラ1は、監視領域を撮影して、監視領域の画像を取得するためのものである。ここでは、監視領域を撮影するカメラ1として、一台のカメラが設置されている。このカメラ1はパーツ領域検出部2に接続されており、カメラ1によって撮影された画像はパーツ領域検出部2へ出力されるようになっている。
パーツ領域検出部2は、カメラ1によって撮影された画像から時刻毎(フレーム毎)に人間を構成する各パーツをそれぞれ含む各パーツ領域を検出するものである。そして、パーツ領域検出部2は、検出した各パーツ領域のデータ[観測データ;ここでは各パーツ領域の重心位置や色ヒストグラム]を、人間追跡装置3(ここではパーツ追跡部4)に出力する。ここで、各パーツ領域の重心位置は、各パーツ領域の重心位置の画像中の座標(x,y)である。また、各パーツ領域の色ヒストグラムは、各パーツ領域の輝度ヒストグラムである。なお、パーツ領域検出部2を、パーツ領域抽出部ともいう。また、色ヒストグラムを色分布ヒストグラムともいう。
ここでは、パーツ領域検出部2は、図2に示すように、人間全体(全身)をモデル化した人間モデル(Human Model)を、頭部モデル(Head Model)、上半身モデル(Torso Model)、下半身モデル(Leg Model)の3つのパーツモデルに分割し、これらのパーツモデルを用いて、カメラ1によって撮像された画像から、人間の頭部、上半身、下半身のそれぞれのパーツを含むパーツ領域を検出するようになっている。なお、人間モデルを人間画像モデルともいう。また、パーツモデルをパーツ画像モデルともいう。
例えば、各パーツ画像モデルを、学習データを用いて事前に学習し、学習した各パーツ画像モデルを用いて、カメラ1によって撮影された画像から各パーツ領域(各パーツ画像領域)を検出するようになっている。
これは、人間画像モデルを、学習データを用いて事前に学習し、学習した人間画像モデルを用いて、カメラ1によって撮影された画像から人間を検出する場合、例えば図3に示すように複数の人間が近づいてオクルージョンが発生したときに隠れた人間の検出が難しくなるため、このオクルージョンの影響を軽減するためである。
これに対し、図4に示すように、各パーツ画像モデルを用いることで、オクルージョンが発生しても、例えば後方の人間の頭部を検出することが可能となる。但し、各パーツ画像モデルを用いる場合、例えば図5に示すように、背景領域などの人間のパーツ領域でない領域を人間のパーツ領域であると誤って検出してしまう場合もある。なお、図5では、頭部領域をH1、H2とし、上半身領域をU1、U2とし、下半身領域をL1、L2としている。
また、ここでは、パーツ領域検出部2は、例えば図6に示すように、頭部検出器(Head Detector)2A、上半身検出器(Torso Detector)2B、下半身検出器(Leg Detector)2Cの3つのパーツ検出器を備える。このうち、頭部検出器2Aは、カメラ1から入力された画像に頭部画像モデルを適用して、頭部領域(頭部画像領域;Head Regions)を検出するものである。また、上半身検出器2Bは、カメラ1から入力された画像に上半身画像モデルを適用して、上半身領域(上半身画像領域;Torso Regions)を検出するものである。また、下半身検出器2Cは、カメラ1から入力された画像に下半身画像モデルを適用して、下半身領域(下半身画像領域;Leg Regions)を検出するものである。これらのパーツ検出器は、例えばAdaBoostで、それぞれのパーツ画像モデルを学習すれば良い。なお、パーツ領域検出部2をパーツ検出器ともいう。
例えば、画像の中に複数の人間がいる場合、パーツ領域検出部2によって時刻kに検出されたi人目の人間の頭部領域のデータ(実測データ)、頭部領域の重心位置(実測重心位置)、頭部領域の色ヒストグラム(実測色ヒストグラム)、上半身領域のデータ(実測データ)、上半身領域の重心位置(実測重心位置)、上半身領域の色ヒストグラム(実測色ヒストグラム)、下半身領域のデータ(実測データ)、下半身領域の重心位置(実測重心位置)、下半身領域の色ヒストグラム(実測色ヒストグラム)は、それぞれ、次の(1)〜(9)のように表記する。
例えば図7に示すように画像の中に2人の人間がいる場合、時刻kに検出された1人目及び2人目の各パーツ領域のデータは、図7中に示すように表記する。
以下、パーツ追跡部4及び全体追跡部5を備える人間追跡装置3について説明する。
まず、人間追跡装置3のハードウェア構成について、図8を参照しながら説明する。
本人間追跡装置3は、コンピュータを用いて実現することができ、そのハードウェア構成は、例えば図8に示すように、CPU(Central Processing Unit)102、メモリ101、通信制御部109、入力装置106、表示制御部103、表示装置104、記憶装置105、可搬型記録媒体108のドライブ装置107を備え、これらがバス110によって相互に接続された構成になっている。なお、本装置のハードウェア構成はこれに限られるものではない。
ここで、CPU102は、コンピュータ全体を制御するものであり、プログラムをメモリ101に読み出して実行し、人間追跡装置3に必要な処理を行なうものである。
メモリ101は、例えばRAMなどの主記憶装置であり、プログラムの実行、データの書き換え等を行なう際に、プログラム又はデータを一時的に格納するものである。
通信制御部109(通信インターフェース)は、例えばLANやインターネットなどのネットワークを介して、他の装置と通信するために用いられるものである。この通信制御部109は、コンピュータに元から組み込まれていても良いし、後からコンピュータに取り付けられたNIC(Network Interface Card)でも良い。
入力装置106は、例えば、タッチパネル、マウスなどのポインティングデバイス、キーボードなどである。
表示装置104は、例えば液晶ディスプレイなどの表示装置である。
表示制御部103は、例えば追跡結果などを表示装置104に表示させるための制御を行なうものである。
記憶装置105は、例えばハードディスクドライブ(HDD)やSSDなどの補助記憶装置であり、各種のプログラム及び各種のデータが格納されている。本実施形態では、記憶装置105には、後述の物体追跡プログラムが格納されている。なお、メモリ101として、例えばROM(Read Only Memory)を備えるものとし、これに各種のプログラムや各種のデータを格納しておいても良い。
ドライブ装置107は、例えばフラッシュメモリ等の半導体メモリ、光ディスク、光磁気ディスク等の可搬型記録媒体108の記憶内容にアクセスするためのものである。
このようなハードウェア構成を備えるコンピュータにおいて、CPU102が、例えば記憶装置105に格納されている物体追跡プログラムをメモリ101に読み出して実行することで、本人間追跡装置3の各機能、即ち、パーツ追跡機能及び全体追跡機能という各機能が実現される。
つまり、図1に示すように、本人間追跡装置3は、パーツ追跡部4(部分追跡部)と、全体追跡部5とを備える。
そして、本人間追跡装置3は、パーツ追跡部4によって、人間を構成する複数のパーツのそれぞれを追跡するとともに、これとは別に、全体追跡部5によって、各パーツを組み合わせて構成される人間全体を複数の仮説(全体仮説)を立てて追跡する。そして、ある時間経過後に複数の全体仮説を評価し、最も良い全体仮説(ベスト全体仮説)を特定する。このベスト全体仮説には、それ以前の時刻の全体仮説が関連づけられている。また、各時刻の全体仮説には、それぞれ、各パーツ領域のデータ(ここでは各パーツ領域の重心位置)が関連づけられている。このため、本人間追跡装置3は、各時刻の全体仮説のそれぞれに関連づけられている各パーツ領域のデータ(ここでは各パーツ領域の重心位置)を用いて、例えば、時間の経過とともにどのように移動したかを示す人間の軌跡(又は各パーツの軌跡)を画面上に表示させるなどして、人間(又は各パーツ)を追跡することができる。
本実施形態では、パーツ追跡部4は、MHT(Multiple Hypotheses Tracking;多重仮説追跡)アルゴリズムを利用して、複数の仮説(パーツ仮説)をキープし、曖昧さを保ったままで追跡を行なうべく、各パーツについて、複数のパーツ仮説のそれぞれをノードとする軌跡木(部分仮説木)を時間的に成長させる。このパーツ追跡部4で生成した各パーツについてのパーツ仮説は、時刻毎に全体追跡部5へ出力される。全体追跡部5は、入力された各パーツについてのパーツ仮説を組み合わせて複数の全体仮説を生成し、MHTアルゴリズムを利用して、これらの複数の全体仮説をキープし、曖昧さを保ったままで追跡を行なうべく、複数の全体仮説のそれぞれをノードとする全体仮説木を時間的に成長させる。そして、全体追跡部5は、ある時間経過後に複数の全体仮説を評価して、ベスト全体仮説を特定する。
さらに、全体追跡部5は、ベスト全体仮説のノードを含まないサブツリーを削除すべく、全体仮説木の枝刈りを行なう。つまり、全体追跡部5は、複数の全体仮説を評価した結果に基づいて複数の全体仮説の一部を削除する。また、全体追跡部5で特定されたベスト全体仮説は、パーツ追跡部4へ出力される。パーツ追跡部4は、入力されたベスト全体仮説を構成している各パーツのパーツ仮説のノードを含まないサブツリーを各パーツの軌跡木から削除すべく、各パーツの軌跡木の枝刈りを行なう。つまり、パーツ追跡部4は、全体追跡部5による処理において削除された全体仮説に基づいて複数の部分仮説の一部を削除する。
このように、パーツ追跡部4によるパーツ追跡処理と、全体追跡部5による全体追跡処理とを連動させることで、追跡の精度を向上させ、安定して追跡を継続できるようにしている。つまり、例えば、パーツ追跡部4によるパーツ追跡処理だけを行ない、ある時刻に、各パーツについてのパーツ仮説を組み合わせて複数の全体仮説を生成し、これらの複数の全体仮説を評価してベスト全体仮説を特定することとすると、各パーツの検出を誤ることが多く、また、各パーツを組み合わせて人間を構成するときに各パーツの対応づけを誤ることも多いため、追跡を間違ったり、継続できなくなったりすることがある。そこで、パーツ追跡部4によるパーツ追跡処理だけを行なってベスト全体仮説を特定するのではなく、パーツ追跡部4によるパーツ追跡処理に連動させて全体追跡部5による全体追跡処理を行なうようにして、各パーツについてのパーツ仮説を組み合わせて生成される複数の全体仮説を、ある時間経過後に評価して、ベスト全体仮説を特定するようにすることで、例えば複数の追跡対象があり、かつ、ノイズもある場合であっても、追跡の精度を向上させ、安定して追跡を継続できるようにしている。
これに対し、人間を複数のパーツに分割して各パーツを追跡する場合、各パーツの検出を誤ることが多い。また、時刻毎に、例えば一般的な人間の各パーツの位置関係などを考慮してどのパーツ領域をどの人間に割り当てるかについて複数の仮説を立て、これらの仮説の中で最も尤度の高いものを選んで、他の仮説を削除する場合、各パーツ領域の対応づけを誤ることが多い。このため、追跡を間違ったり、継続できなくなったりする。例えば、画像の中に2人の人間がいて、ある時刻に、2人の人間が重なって後ろ側の人間の上半身及び下半身が隠れているのに、誤って検出された背景領域を後ろ側の人間の上半身領域及び下半身領域のそれぞれに割り当てた仮説の尤度が最も高いとされてしまう場合がある。この場合、上半身領域及び下半身領域の色情報として背景領域の色情報が保持され、次の時刻に、これを用いて、どのパーツ領域をどの人間に割り当てるかについて複数の仮説を立て、これらの仮説の中で最も尤度の高いものを選ぶときに、対応づけを誤ることになる。つまり、次の時刻に、2人の人間が重なっておらず、後ろ側にいた人間の上半身領域及び下半身領域を観測した領域があっても、背景領域を観測した領域を後ろ側にいた人間の上半身領域及び下半身領域のそれぞれに割り当てた仮説の尤度が最も高くなってしまい、追跡を誤ったり、継続できなくなったりする。このように、時刻毎に、最も尤度の高いものを選んで追跡を行なう場合、追跡を誤ったり、継続できなくなったりする。このような場合であっても、本実施形態のように、複数のパーツ仮説及び複数の全体仮説をキープし、ある時間経過後に複数の全体仮説の評価を行なうようにすることで、例えば複数の追跡対象があり、かつ、ノイズもある場合であっても、追跡の精度を向上させ、安定して追跡を継続できるようになる。
また、本実施形態では、枝刈りを行なうことで、軌跡木や全体仮説木の規模を抑制するようにしている。つまり、データ量及び評価の際の計算量を抑えるようにしている。さらに、全体仮説木のデータ量を抑えるために、パーツ追跡部4で各パーツについての複数のパーツ仮説を評価し、各パーツについて一部のパーツ仮説(例えば最も評価の良いパーツ仮説とその次に評価の良いパーツ仮説の上位2つのパーツ仮説)だけを全体追跡部5へ出力し、全体追跡部5が、各パーツについての一部のパーツ仮説を組み合わせて複数の全体仮説を生成するようにしても良い。つまり、パーツ追跡部4を、複数のパーツ仮説を評価するようにし、全体追跡部5を、複数のパーツ仮説を評価した結果に基づいて各パーツに対する複数のパーツ仮説の中の一つずつを組み合わせて複数の全体仮説を立てるようにしても良い。なお、この場合も、パーツ追跡部4は、ベスト全体仮説に基づいて各パーツの軌跡木の枝刈りを行なう。
以下、パーツ追跡部4及び全体追跡部5について、具体的に説明する。
まず、パーツ追跡部4は、各パーツについて複数のパーツ仮説のそれぞれをノードとする軌跡木(パーツ軌跡木)を成長させて、各パーツを複数のパーツ仮説を立てて追跡する。
ここでは、パーツ仮説は、パーツ領域検出部2から入力される時刻毎の各パーツ領域のデータ(ここではパーツ領域の重心位置や色ヒストグラム)を、パーツ毎に、前後の時刻間で、どのように関連づけるのかの仮説であって、あるパーツ領域のデータを関連づけることができる全ての可能性を複数の仮説として立てる。これを関連付け仮説又はパーツ関連付け仮説ともいう。このため、パーツ追跡部4は、各パーツについて複数のパーツ仮説を立てるパーツ仮説生成部(部分仮説生成部)を備える。
また、パーツ毎に生成された軌跡木は、時刻毎にノードが追加されて更新される。そして、各パーツの軌跡木を構成する各ノードには、パーツ領域検出部2から入力される時刻毎の各パーツ領域のデータ(ここでは各パーツ領域の重心位置や色ヒストグラム)が関連づけられている。このように、パーツ追跡部4は、パーツ領域検出部2から入力される時刻毎の各パーツ領域のデータ(ここでは各パーツ領域の重心位置や色ヒストグラム)を、パーツ毎に、複数のパーツ仮説に基づいて関連づけて、木構造で管理する。つまり、1つのパーツに対して1本の軌跡木が生成・更新される。例えば、画像の中に2人の人間がいる場合、頭部の軌跡木が2本、上半身の軌跡木が2本、下半身の軌跡木が2本生成・更新される。なお、各パーツの軌跡木を構成する各ノードには、各パーツ領域のデータ(ここでは各パーツ領域の重心位置)が関連づけられているため、各パーツの軌跡木の葉ノードからルートノードまでたどり、それらのノードに関連づけられている各パーツ領域のデータを用いることで、各パーツの軌跡が得られ、各パーツを追跡することが可能である。
このため、パーツ追跡部4は、各パーツの軌跡木の生成・更新を行なう軌跡木生成・更新部(パーツ仮説生成部;部分仮説生成部)6を備える。
また、本実施形態では、パーツ追跡部4は、推定部7と、ゲーティング部8とを備える。
ここで、推定部7は、前回時刻の各パーツ領域の位置(ここでは各パーツ領域の重心位置)に基づいて、今回時刻の各パーツ領域のそれぞれの出現予測位置(ここでは各パーツ領域の重心位置)を推定し、これをゲーティング部8へ出力する。例えば、推定部7は、前回時刻のパーツ領域の重心位置に、そのパーツ領域の重心移動速度を加えて、今回時刻のパーツ領域の重心位置を推定する。この推定部7は、例えばKalman Filterなどのフィルタ(状態推定フィルタ)によって実現される。
ゲーティング部8は、パーツ領域検出部2から入力された各パーツ領域の位置(ここでは各パーツ領域の重心位置)が、推定部7によって推定された各パーツ領域の出現予測位置(ここでは各パーツ領域の重心位置)の近傍である場合にそれにマークを付け、出現予測位置の近傍でない場合にそれにマークを付けずに、パーツ領域検出部2から入力された各パーツ領域のデータを軌跡木生成・更新部6へ出力する。なお、出現予測位置の近傍に複数のパーツ領域がある場合、それらの全てのパーツ領域にマークを付ける。また、ここでは、ゲーティング部8は、パーツ領域検出部2から入力された各パーツ領域のデータの全てを軌跡木生成・更新部6へ出力するようにしているが、これに限られるものではなく、例えば、パーツ領域検出部2から入力された各パーツ領域の位置が、推定部7によって推定された各パーツ領域の出現予測位置の近傍である場合に、パーツ領域検出部2から入力された各パーツ領域のデータを軌跡木生成・更新部6へ出力し、出現予測位置の近傍でない場合に、パーツ領域検出部2から入力された各パーツ領域のデータをリジェクトするようにしても良い。例えば、ゲーティング部8は、パーツ領域検出部2から入力されたパーツ領域の重心位置と推定部7によって推定されたパーツ領域の重心位置との間の距離を求め、その距離が閾値以上である場合、ノイズとみなして、パーツ領域検出部2から入力されたパーツ領域のデータにマークを付けないか、又は、リジェクトすれば良い。
そして、軌跡木生成・更新部6は、ゲーティング部8で付けられたマークを用いて、今回時刻の各パーツ領域のデータが関連付けられているノードを、前回時刻の各パーツ領域のデータが関連づけられているノードにつなげて追加し、各パーツの軌跡木を更新する。なお、出現予測位置の近傍に複数のパーツ領域がある場合、前回時刻の各パーツ領域のデータが関連づけられているノードに、今回時刻の各パーツ領域のデータが関連づけられている複数のノードをつなげる。
このように、軌跡木生成・更新部6は、パーツ領域検出部2から入力された各パーツ領域が、前回時刻の各パーツ領域の位置に基づいて推定される各パーツ領域の出現予測位置の近傍にあるという関連づけ仮説に基づいて、今回時刻の各パーツ領域のデータが関連付けられているノードを、前回時刻の各パーツ領域のデータが関連づけられているノードにつなげて追加し、各パーツの軌跡木を更新する。
例えば、画像の中に複数の人間がいる場合、パーツ領域検出部2によって時刻kに検出されたi人目の人間の頭部領域のデータを親ノードに関連づけて生成する子ノード、パーツ領域検出部2によって時刻kに検出されたi人目の人間の頭部領域のデータがなかった場合に親ノードに関連づけて生成する子ノード、パーツ領域検出部2によって時刻kに検出されたi人目の人間の頭部領域のデータを関連づける親ノードがなかった場合に生成するルートノードは、それぞれ、次の(10)〜(12)のように表記する。また、パーツ領域検出部2によって時刻kに検出されたi人目の人間の上半身領域のデータを親ノードに関連づけて生成する子ノード、パーツ領域検出部2によって時刻kに検出されたi人目の人間の上半身領域のデータがなかった場合に親ノードに関連づけて生成する子ノード、パーツ領域検出部2によって時刻kに検出されたi人目の人間の上半身領域のデータを関連づける親ノードがなかった場合に生成するルートノードは、それぞれ、次の(13)〜(15)のように表記する。また、パーツ領域検出部2によって時刻kに検出されたi人目の人間の下半身領域のデータを親ノードに関連づけて生成する子ノード、パーツ領域検出部2によって時刻kに検出されたi人目の人間の下半身領域のデータがなかった場合に親ノードに関連づけて生成する子ノード、パーツ領域検出部2によって時刻kに検出されたi人目の人間の下半身領域のデータを関連づける親ノードがなかった場合に生成するルートノードは、それぞれ、次の(16)〜(18)のように表記する。
例えば、画像の中に2人の人間がいる場合、時刻k−1に生成されたルートノードを持つ1人目の人間の頭部軌跡木の時刻kに生成されたノードを親ノードとして、時刻k+1の頭部領域のデータが関連づけられているノードをつなげて頭部軌跡木を更新する場合、頭部軌跡木は、例えば図9(A)に示すようになる。
また、時刻k−1に生成されたルートノードを持つ2人目の人間の頭部軌跡木の時刻kに生成されたノードを親ノードとして、時刻k+1の頭部領域のデータが関連づけられているノードをつなげて頭部軌跡木を更新する場合、頭部軌跡木は、例えば図9(B)に示すようになる。
また、時刻k−1に生成されたルートノードを持つ1人目の人間の上半身軌跡木の時刻kに生成されたノードを親ノードとして、時刻k+1の上半身領域のデータが関連づけられているノードをつなげて上半身軌跡木を更新する場合、上半身軌跡木は、例えば図10(A)に示すようになる。
また、時刻k−1に生成されたルートノードを持つ2人目の人間の上半身軌跡木の時刻kに生成されたノードを親ノードとして、時刻k+1の上半身領域のデータが関連づけられているノードをつなげて上半身軌跡木を更新する場合、上半身軌跡木は、例えば図10(B)に示すようになる。
また、時刻k−1に生成されたルートノードを持つ1人目の人間の下半身軌跡木の時刻kに生成されたノードを親ノードとして、時刻k+1の下半身領域のデータが関連づけられているノードをつなげて下半身軌跡木を更新する場合、下半身軌跡木は、例えば図11(A)に示すようになる。
また、時刻k−1に生成されたルートノードを持つ2人目の人間の下半身軌跡木の時刻kに生成されたノードを親ノードとして、時刻k+1の下半身領域のデータが関連づけられているノードをつなげて下半身軌跡木を更新する場合、下半身軌跡木は、例えば図11(B)に示すようになる。
また、本実施形態では、パーツ追跡部4は、全体仮説木のデータ量を抑えるために、各パーツについて複数のパーツ仮説の中から一部のパーツ仮説を抽出して、全体追跡部5へ出力する。このため、パーツ追跡部4は、各パーツについて複数のパーツ仮説の中から一部のパーツ仮説を抽出するパーツ仮説抽出部(抽出部)9を備える。
ここでは、パーツ仮説抽出部9は、各パーツについての複数のパーツ仮説を評価し、各パーツについて最も評価の良いパーツ仮説とその次に評価の良いパーツ仮説の上位2つのパーツ仮説を抽出して、全体追跡部5へ出力する。
例えば、画像の中に複数の人間がいる場合、複数のパーツ領域をどの人間に割り当てるかについてはいろいろな可能性がある。例えば、画像の中に2人の人間がいる場合、頭部領域H1、H2、上半身領域U1、U2、下半身領域L1、L2、未観測Skipのいずれをどの人間に割り当てるかについては、図12(A)、図12(B)に示すように、いろいろな可能性がある。このため、1つのパーツ領域は1人の人間だけに割り当てられる、即ち、1人の人間に1つだけの頭部領域(又は未観測)、1つだけの上半身領域(又は未観測)、1つだけの下半身領域(又は未観測)が割り当てられるというポリシーにしたがって、同じパーツの異なる軌跡木から1つずつノードをピックアップして組み合わせた集合であるパーツ仮説集合(パーツ仮説リスト)をパーツ毎に複数生成し、パーツ毎に複数のパーツ仮説集合のそれぞれの尤度を計算し、尤度が最も大きいパーツ仮説集合及びその次に尤度が大きいパーツ仮説集合の上位2つのパーツ仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。
ここでは、i人目の人間の頭部仮説木及びj人目の人間の頭部仮説木が生成されていて、時刻kに生成される複数の頭部仮説集合は、次の(19)のように表記する。また、i人目の人間の上半身仮説木及びj人目の人間の上半身仮説木が生成されていて、時刻kに生成される複数の上半身仮説集合は、次の(20)のように表記する。また、i人目の人間の下半身仮説木及びj人目の人間の下半身仮説木が生成されていて、時刻kに生成される複数の下半身仮説集合は、次の(21)のように表記する。
また、尤度が最も大きいパーツ仮説集合は、次の(22)のように表記し、尤度が最も小さいパーツ仮説集合は、次の(23)のように表記する。
例えば、画像の中に2人の人間がいて、図9(A)、図9(B)に示すような2本の頭部軌跡木が生成されている場合、時刻k+1に2本の頭部軌跡木からそれぞれ1つずつノード(葉ノード)をピックアップして組み合わせた複数の頭部仮説集合を生成し、複数の頭部仮説集合のそれぞれの尤度を計算し、尤度が最も大きい頭部仮説集合及びその次に尤度が大きい頭部仮説集合の上位2つの頭部仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。
ここで、例えば、次の(24)のように表記される頭部仮説集合の尤度は、次の(25)のように表記し、図13に示す各式によって算出する。
ここで、図13中、一番上の式に示すように、頭部仮説集合の尤度は、1人目の人間の頭部仮説の尤度と2人目の人間の頭部仮説の尤度とを足し合わせたものである。そして、1人目の人間の頭部仮説の尤度は、図13中、上から2番目の式によって算出され、2人目の人間の頭部仮説の尤度は、図13中、上から3番目の式によって算出される。ここで、図13中、上から2番目の式の中の(A)で示す部分は、1人目の人間の今回時刻(時刻k+1)での頭部の実測重心位置(観測重心位置)であり、(B)で示す部分は、1人目の人間の前回時刻(時刻k)での頭部の実測重心位置から予測した今回時刻(時刻k+1)での頭部の予測重心位置である。また、図13中、上から3番目の式の中の(C)で示す部分は、2人目の人間の今回時刻(時刻k+1)での頭部の実測重心位置であり、(D)で示す部分は、2人目の人間の前回時刻(時刻k)での頭部の実測重心位置から予測した今回時刻(時刻k+1)での頭部の予測重心位置である。また、上から2番目及び3番目の式中の関数fは、図13中、一番下の式で示す関数であり、この関数は、頭部の実測重心位置と頭部の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω1、σXは定数である。
また、例えば、次の(26)のように表記される頭部仮説集合の尤度は、式の(27)のように表記し、図14に示す各式によって算出する。
ここで、図14中、一番上の式に示すように、頭部仮説集合の尤度は、1人目の人間の頭部仮説の尤度と2人目の人間の頭部仮説の尤度と3人目の人間(新しい人間)の頭部仮説の尤度とを足し合わせたものである。そして、1人目の人間の頭部仮説の尤度は、図14中、上から2番目の式によって算出され、2人目の人間の頭部仮説の尤度は、図14中、上から4番目の式によって算出され、3人目の人間の頭部仮説の尤度は、図14中、一番下の式によって算出される。ここで、図14中、上から2番目の式の中の(A)で示す部分は、1人目の人間の今回時刻(時刻k+1)での頭部の実測重心位置であり、(B)で示す部分は、1人目の人間の前回時刻(時刻k)での頭部の実測重心位置から予測した今回時刻(時刻k+1)での頭部の予測重心位置である。また、上から2番目の式中の関数fは、図14中、上から3番目の式で示す関数であり、この関数は、頭部の実測重心位置と頭部の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω1、σXは定数である。また、図14中、上から4番目の式の中の(C)で示す部分は、これまで累積しているスキップの総回数である。また、図14中、上から4番目の式の中の関数gは、図14中、上から5番目の式で示す関数であり、この関数は、頭部の実測重心位置と頭部の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω2、λXは定数である。また、図14中、一番下の式中、c1は定数である。
そして、ここでは、上位2つの頭部仮説集合として、次の(28)のように表記されるものが抽出され、全体追跡部5へ出力される。
また、画像の中に2人の人間がいて、図10(A)、図10(B)に示すような2本の上半身軌跡木が生成されている場合、時刻k+1に2本の上半身軌跡木からそれぞれ1つずつノードをピックアップして組み合わせた複数の上半身仮説集合を生成し、複数の上半身仮説集合のそれぞれの尤度を計算し、尤度が最も大きい上半身仮説集合及びその次に尤度が大きい上半身仮説集合の上位2つの上半身仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。
ここで、例えば、次の(29)のように表記される上半身仮説集合の尤度は、式(30)のように表記し、図15に示す各式によって算出する。
ここで、図15中、一番上の式に示すように、上半身仮説集合の尤度は、1人目の人間の上半身仮説の尤度と2人目の人間の上半身仮説の尤度とを足し合わせたものである。そして、1人目の人間の上半身仮説の尤度は、図15中、上から2番目の式によって算出され、2人目の人間の上半身仮説の尤度は、図15中、上から3番目の式によって算出される。ここで、図15中、上から2番目の式の中の(A)で示す部分は、1人目の人間の今回時刻(時刻k+1)での上半身の実測重心位置であり、(B)で示す部分は、1人目の人間の前回時刻(時刻k)での上半身の実測重心位置から予測した今回時刻(時刻k+1)での上半身の予測重心位置である。また、図15中、上から3番目の式の中の(C)で示す部分は、2人目の人間の今回時刻(時刻k+1)での上半身の実測重心位置であり、(D)で示す部分は、2人目の人間の前回時刻(時刻k)での上半身の実測重心位置から予測した今回時刻(時刻k+1)での上半身の予測重心位置である。また、上から2番目及び3番目の式中の関数fは、図15中、一番下の式で示す関数であり、この関数は、上半身の実測重心位置と上半身の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω1、σXは定数である。
また、例えば、次の(31)のように表記される上半身仮説集合の尤度は、式の(32)のように表記し、図16に示す各式によって算出する。
ここで、図16中、一番上の式に示すように、上半身仮説集合の尤度は、1人目の人間の上半身仮説の尤度と2人目の人間の上半身仮説の尤度と3人目の人間(新しい人間)の上半身仮説の尤度とを足し合わせたものである。そして、1人目の人間の上半身仮説の尤度は、図16中、上から2番目の式によって算出され、2人目の人間の上半身仮説の尤度は、図16中、上から4番目の式によって算出され、3人目の人間の上半身仮説の尤度は、図16中、一番下の式によって算出される。ここで、図16中、上から2番目の式の中の(A)で示す部分は、1人目の人間の今回時刻(時刻k+1)での上半身の実測重心位置であり、(B)で示す部分は、1人目の人間の前回時刻(時刻k)での上半身の実測重心位置から予測した今回時刻(時刻k+1)での上半身の予測重心位置である。また、上から2番目の式中の関数fは、図16中、上から3番目の式で示す関数であり、この関数は、上半身の実測重心位置と上半身の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω1、σXは定数である。また、図16中、上から4番目の式の中の(C)で示す部分は、これまで累積しているスキップの総回数である。また、図16中、上から4番目の式の中の関数gは、図16中、上から5番目の式で示す関数であり、この関数は、上半身の実測重心位置と上半身の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω2、λXは定数である。また、図16中、一番下の式中、c1は定数である。
そして、ここでは、上位2つの上半身仮説集合として、次の(33)のように表記されるものが抽出され、全体追跡部5へ出力されるものとする。
また、画像の中に2人の人間がいて、図11(A)、図11(B)に示すような2本の下半身軌跡木が生成されている場合、時刻k+1に2本の下半身軌跡木からそれぞれ1つずつノードをピックアップして組み合わせた複数の下半身仮説集合を生成し、複数の下半身仮説集合のそれぞれの尤度を計算し、尤度が最も大きい下半身仮説集合及びその次に尤度が大きい下半身仮説集合の上位2つの下半身仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。
ここで、例えば、次の(34)のように表記される下半身仮説集合の尤度は、次の(35)のように表記し、図17に示す各式によって算出する。
ここで、図17中、一番上の式に示すように、下半身仮説集合の尤度は、1人目の人間の下半身仮説の尤度と2人目の人間の下半身仮説の尤度とを足し合わせたものである。そして、1人目の人間の下半身仮説の尤度は、図17中、上から2番目の式によって算出され、2人目の人間の下半身仮説の尤度は、図17中、上から3番目の式によって算出される。ここで、図17中、上から2番目の式の中の(A)で示す部分は、1人目の人間の今回時刻(時刻k+1)での下半身の実測重心位置であり、(B)で示す部分は、1人目の人間の前回時刻(時刻k)での下半身の実測重心位置から予測した今回時刻(時刻k+1)での下半身の予測重心位置である。また、図17中、上から3番目の式の中の(C)で示す部分は、2人目の人間の今回時刻(時刻k+1)での下半身の実測重心位置であり、(D)で示す部分は、2人目の人間の前回時刻(時刻k)での下半身の実測重心位置から予測した今回時刻(時刻k+1)での下半身の予測重心位置である。また、上から2番目及び3番目の式中の関数fは、図17中、一番下の式で示す関数であり、この関数は、下半身の実測重心位置と下半身の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω1、σXは定数である。
また、例えば、次の(36)のように表記される下半身仮説集合の尤度は、式の(37)のように表記し、図18に示す各式によって算出する。
ここで、図18中、一番上の式に示すように、下半身仮説集合の尤度は、1人目の人間の下半身仮説の尤度と2人目の人間の下半身仮説の尤度と3人目の人間(新しい人間)の下半身仮説の尤度とを足し合わせたものである。そして、1人目の人間の下半身仮説の尤度は、図18中、上から2番目の式によって算出され、2人目の人間の下半身仮説の尤度は、図18中、上から4番目の式によって算出され、3人目の人間の下半身仮説の尤度は、図18中、一番下の式によって算出される。ここで、図18中、上から2番目の式の中の(A)で示す部分は、1人目の人間の今回時刻(時刻k+1)での下半身の実測重心位置であり、(B)で示す部分は、1人目の人間の前回時刻(時刻k)での下半身の実測重心位置から予測した今回時刻(時刻k+1)での下半身の予測重心位置である。また、上から2番目の式中の関数fは、図18中、上から3番目の式で示す関数であり、この関数は、下半身の実測重心位置と下半身の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω1、σXは定数である。また、図18中、上から4番目の式の中の(C)で示す部分は、これまで累積しているスキップの総回数である。また、図18中、上から4番目の式の中の関数gは、図18中、上から5番目の式で示す関数であり、この関数は、下半身の実測重心位置と下半身の予測重心位置との差xが大きいほど、値が小さくなる関数である。ここで、ω2、λXは定数である。また、図18中、一番下の式中、c1は定数である。
そして、ここでは、上位2つの下半身仮説集合として、次の(38)のように表記されるものが抽出され、全体追跡部へ出力されるものとする。
なお、ここでは、全体仮説木のデータ量を抑えるために、パーツ追跡部4は、各パーツについて複数のパーツ仮説の中から一部のパーツ仮説を抽出して、全体追跡部5へ出力するようにしているが、これに限られるものではなく、パーツ追跡部4が、各パーツについてのパーツ仮説の全てを全体追跡部5へ出力するようにしても良い。例えば、画像の中に複数の人間がいる場合、パーツ毎の複数のパーツ仮説集合の全てを全体追跡部5へ出力するようにすれば良い。この場合、パーツ仮説抽出部9は設けなくても良い。また、ここでは、全体追跡部5へ時刻毎にパーツ仮説を出力するようにしているが、後述するように任意の時刻に複数の全体仮説を生成する場合には、任意の時刻に全体追跡部5へパーツ仮説又はパーツ仮説集合を出力するようにしても良い。
また、本実施形態では、パーツ追跡部4は、各パーツの軌跡木の規模を抑制するために、後述の全体追跡部5における全体仮説木の枝刈りに連動して、各パーツの軌跡木の枝刈りを行なう。つまり、パーツ追跡部4は、後述のように、全体追跡部5による処理において削除された全体仮説に基づいて、複数のパーツ仮説の一部を削除する。このため、パーツ追跡部4は、各パーツの軌跡木の枝刈りを行なう枝刈部10を備える。つまり、パーツ追跡部4は、全体追跡部5の削除部15によって削除された全体仮説に基づいて、複数のパーツ仮説の一部を削除する削除部(パーツ仮説削除部;部分仮説削除部)10を備える。ここでは、パーツ追跡部4は、各パーツの軌跡木において、全体追跡部5から入力されたベスト全体仮説を構成する各パーツ仮説のノードを含まないサブツリーの枝刈りを行なう。なお、例えば画像の中に複数の人間がいる場合の枝刈部10による処理については、後述する。
なお、本実施形態では、軌跡木生成・更新部6と、パーツ仮説抽出部9と、枝刈部10と、推定部7と、ゲーティング部8とを備えるパーツ追跡部4が、各パーツ(ここでは頭部、上半身及び下半身の3つのパーツ)の追跡を行なうものとして説明しているが、これは、軌跡木生成・更新部6が、頭部軌跡木生成・更新部と、上半身軌跡木生成・更新部と、下半身軌跡木生成・更新部とを備え、パーツ仮説抽出部9が、頭部仮説抽出部と、上半身仮説抽出部と、下半身仮説抽出部とを備え、枝刈部10が、頭部枝刈部と、上半身枝刈部と、下半身枝刈部とを備え、推定部7が、頭部推定部と、上半身推定部と、下半身推定部とを備え、ゲーティング部8が、頭部ゲーティング部と、上半身ゲーティング部と、下半身ゲーティング部とを備えると見ることもできる。また、パーツ追跡部4が、頭部検出器2Aから入力された頭部領域のデータを用いて頭部を追跡する頭部追跡部と、上半身検出部2Bから入力された上半身領域のデータを用いて上半身を追跡する上半身追跡部と、下半身検出部2Cから入力された下半身領域のデータを用いて下半身を追跡する下半身追跡部とを備え、これらの3つの追跡部が、それぞれ、軌跡木生成・更新部6と、パーツ仮説抽出部9と、枝刈部10と、推定部7と、ゲーティング部8とを備えると見ることもできる。なお、パーツ追跡部4をパーツ追跡器(Parts Tracker)ともいう。また、頭部追跡部を頭部追跡器(Head Tracker)ともいう。また、上半身追跡部を上半身追跡器(Torso Tracker)ともいう。また、下半身追跡部を下半身追跡器(Leg Tracker)ともいう。
次に、全体追跡部5は、複数のパーツを組み合わせて構成される人間全体についての複数の全体仮説のそれぞれをノードとする仮説木(全体仮説木)を成長させて、人間全体を複数の全体仮説を立てて追跡する。
ここでは、全体仮説は、パーツ追跡部4から入力された時刻毎の各パーツについてのパーツ仮説を組み合わせて(割り当てて)生成される人間全体についての仮説であって、各パーツについてのパーツ仮説を組み合わせることができる全ての可能性を複数の仮説として立てる。これを組み合わせ仮説、割り当て仮説又は人間モデル仮説ともいう。このため、全体追跡部5は、パーツ仮説抽出部9で抽出され、入力された各パーツについての一部のパーツ仮説の中の一つずつを組み合わせて複数の全体仮説を立てる全体仮説生成部11を備える。
また、全体追跡部5は、時刻毎に生成される複数の全体仮説を木構造で管理する。そして、全体追跡部5で生成される全体仮説木は、時刻毎にノードが追加されて更新される。また、全体仮説木を構成する各ノードには、全体仮説のデータ、即ち、全体仮説を構成する各パーツについてのパーツ仮説に関連づけられている各パーツ領域のデータ(ここでは各パーツ領域の重心位置や色ヒストグラム)が関連づけられている。つまり、全体仮説木を構成する各ノードには、各パーツ領域を組み合わせて構成される人間モデル領域のデータ、即ち、人間モデル領域を構成する各パーツ領域のデータが関連づけられている。なお、全体仮説木を構成する各ノードには、人間モデル領域のデータ、即ち、各パーツ領域のデータ(ここでは各パーツ領域の重心位置)が関連づけられているため、全体仮説木の葉ノードからルートノードまでたどり、それらのノードに関連づけられている各パーツ領域のデータを用いることで、人間又は各パーツの軌跡が得られ、人間又は各パーツを追跡することが可能である。
なお、ここでは、全体追跡部5は、時刻毎に複数の全体仮説を生成するようにしているが、これに限られるものではなく、例えば任意の時刻に複数の全体仮説を生成するようにしても良い。
このため、全体追跡部5は、全体仮説木の生成・更新を行なう仮説木生成・更新部(全体仮説生成部)11を備える。
また、本実施形態では、全体追跡部5は、生成される全体仮説木のデータ量を抑えるために、予測部12と、パーツ仮説フィルタリング部(フィルタリング部)13とを備える。
ここで、予測部12は、前回時刻の全体仮説のデータ(ここでは全体仮説を構成する各パーツ領域の重心位置や色ヒストグラム)に基づいて、今回時刻の全体仮説のデータ(ここでは全体仮説を構成する各パーツ領域の重心位置や色ヒストグラム)を予測し、これをパーツ仮説フィルタリング部13へ出力する。
パーツ仮説フィルタリング部13は、パーツ追跡部4から入力された各パーツ仮説に関連づけられている各パーツ領域のデータ(ここでは各パーツ領域の重心位置や色ヒストグラム)が、予測部12によって予測された全体仮説のデータ(ここでは全体仮説を構成する各パーツ領域の重心位置や色ヒストグラム)に近い場合は、そのパーツ仮説を仮説木生成・更新部11へ出力し、近くない場合(例えば大きく離れている場合)は、そのパーツ仮説を仮説木生成・更新部11へ出力しない。
このようにして、パーツ追跡部4から入力された各パーツ仮説に関連づけられている各パーツ領域のデータを、前回時刻の全体仮説のデータに基づいて予測される今回時刻の全体仮説のデータに近いかどうかでフィルタリングすることで、仮説木生成・更新部11で生成される全体仮説木のデータ量を抑える。
そして、仮説木生成・更新部11は、パーツ仮説フィルタリング部13から入力された各パーツについてのパーツ仮説を組み合わせて複数の全体仮説を生成し、今回時刻の全体仮説のデータが関連付けられているノードを、前回時刻の全体仮説のデータが関連づけられているノードにつなげて追加し、全体仮説木を更新する。
また、本実施形態では、全体追跡部5は、ある時間経過後に複数の全体仮説を評価し、最も良い全体仮説(ベスト全体仮説)を特定する。このため、全体追跡部5は、ある時間経過後に複数の全体仮説を評価する評価部14を備える。この評価部14は、複数の全体仮説を評価した結果に基づいて、最も良い全体仮説を特定する。ここでは、全体追跡部5は、ある時間経過後に複数の全体仮説の尤度を計算し、尤度が最も大きい全体仮説をベスト全体仮説として抽出(特定)する。このため、評価部14は、尤度計算部と、ベスト全体仮説抽出部(ベスト全体仮説特定部)を備える。
そして、本実施形態では、全体追跡部5は、仮説木の規模を抑制するために、特定されたベスト全体仮説に基づいて、全体仮説木の枝刈りを行なう。つまり、全体追跡部5は、複数の全体仮説を評価した結果に基づいて、複数の全体仮説の一部を削除する。このため、全体追跡部5は、全体仮説木の枝刈りを行なう枝刈部15を備える。つまり、全体追跡部5は、複数の全体仮説を評価した結果に基づいて、複数の全体仮説の一部を削除する削除部(全体仮説削除部)15を備える。ここでは、全体追跡部5は、全体仮説木において、ベスト全体仮説のノードを含まないサブツリーの枝刈りを行なう。
なお、ここでは、全体追跡部5はある時間経過後に全体仮説の評価を行なってベスト全体仮説を特定し、枝刈りを行なうようにしているが、例えば、複数の全体仮説を立てて追跡を行なう際に一定時間毎に全体仮説の評価を行なってベスト全体仮説を特定し、枝刈りを行なうようにすれば良い。なお、必ずしも一定時間毎に行なわなくても良く、ある時間経過後に行なうようにすれば良い。この場合、全体仮説木がある程度成長した後に枝刈りが行なわれることになる。
そして、全体追跡部5における全体仮説木の枝刈りに連動して、パーツ追跡部4によける各パーツの軌跡木の枝刈りが行なわれるようにすべく、全体追跡部5(ここでは評価部14)からパーツ追跡部4(ここでは枝刈部10)へ、ベスト全体仮説を構成する各パーツ仮説を出力(フィードバック)する。
例えば、画像の中に複数の人間がいる場合、上述のように、パーツ追跡部4からパーツ毎の複数のパーツ仮説集合(例えば上位2つのパーツ仮説集合)が入力されるようにし、入力された各パーツのパーツ仮説集合の中から1つずつ取り出した各パーツのパーツ仮説を組み合わせて、画像の中にいる全ての人間についての全体仮説の組み合わせであるコンフィギュレーション仮説を複数生成し、これらの複数のコンフィギュレーション仮説のそれぞれをノードとするコンフィギュレーション仮説木を成長させて、画像の中にいる複数の人間のコンフィギュレーションを複数のコンフィギュレーション仮説を立てて追跡するのが好ましい。この場合、各コンフィギュレーション仮説は、画像の中にいる人間の数、及び、各人間の全体仮説を含むことになる。また、全体追跡部5をコンフィギュレーション追跡部と呼ぶ。そして、コンフィギュレーション追跡部5は、時刻毎に生成される複数のコンフィギュレーション仮説を木構造で管理することになる。また、コンフィギュレーション仮説木を構成する各ノードには、コンフィギュレーション仮説、即ち、画像の中にいる人間の数、及び、各人間の全体仮説(人間モデル仮説)のデータ(即ち、各パーツ領域を組み合わせて構成される人間モデル領域を構成する各パーツ領域のデータ)が関連づけられることになる。これをコンフィギュレーションプロパティともいう。また、この場合、上述の一般的な説明における全体仮説を、必要に応じて、コンフィギュレーション仮説に読み替えれば良い。
この場合、時刻kにおけるコンフィギュレーション仮説、時刻kにおける画像内の人数(整数)、時刻kにおけるi人目の人間の全体仮説(人間モデル仮説)は、それぞれ、次の(39)〜(41)のように表記し、時刻kにおける各人間の全体仮説(人間モデル仮説)に関連づけられているデータである、時刻kにおけるi人目の人間の頭部領域の推定重心位置、頭部領域の推定重心移動速度、上半身領域の推定重心位置、上半身領域の推定重心移動速度、下半身領域の推定重心位置、下半身領域の推定重心移動速度、人間モデル領域(全身)の推定重心位置、人間モデル領域(全身)の推定重心移動速度、頭部領域の推定色ヒストグラム、上半身領域の推定色ヒストグラム、下半身領域の推定色ヒストグラムは、それぞれ、次の(42)〜(52)のように表記する。
ここでは、時刻kにおける各領域の推定重心位置は、時刻kにおける各領域の実測重心位置と時刻kにおける各領域の予測重心位置との差分に重み付けして時刻kにおける各領域の予測重心位置に加えることで求められる。また、時刻kにおける各領域の推定重心移動速度は、前回時刻である時刻k−1における各領域の予測重心位置と時刻kにおける各領域の予測重心位置との差分によって求められる。また、時刻kにおける各領域の推定色ヒストグラムは、時刻kにおける各領域の実測色ヒストグラムと時刻kにおける各領域の予測色ヒストグラムとの重み付け和によって求められる。
また、コンフィギュレーション追跡部5に備えられる予測部12は、これらに基づいて、次回時刻である時刻k+1におけるコンフィギュレーション仮説、時刻k+1における画像内の人数、時刻k+1におけるi人目の人間の全体仮説(人間モデル仮説)、時刻k+1におけるi人目の人間の頭部領域の重心位置、頭部領域の重心移動速度、上半身領域の重心位置、上半身領域の重心移動速度、下半身領域の重心位置、下半身領域の重心移動速度、人間モデル領域の重心位置、人間モデル領域の重心移動速度、頭部領域の色ヒストグラム、上半身領域の色ヒストグラム、下半身領域の色ヒストグラムのそれぞれを予測する。
このようにして予測部12によって予測したもの、即ち、時刻k+1における予測コンフィギュレーション仮説、時刻k+1における画像内の予測人数、時刻k+1におけるi人目の人間の予測全体仮説(予測人間モデル仮説)、時刻k+1におけるi人目の人間の頭部領域の予測重心位置、頭部領域の予測重心移動速度、上半身領域の予測重心位置、上半身領域の予測重心移動速度、下半身領域の予測重心位置、下半身領域の予測重心移動速度、人間モデル領域の予測重心位置、人間モデル領域の予測重心移動速度、頭部領域の予測色ヒストグラム、上半身領域の予測色ヒストグラム、下半身領域の予測色ヒストグラムは、それぞれ、次の(53)〜(66)のように表記する。
ここでは、コンフィギュレーション追跡部5に備えられる予測部12は、時刻k+1における画像内の予測人数は、時刻kにおける画像内の人数と同じであると予測する。つまり、以下の(67)のように表記することができる。
また、コンフィギュレーション追跡部5に備えられる予測部12は、時刻k+1におけるi人目の人間の各領域の予測重心位置は、時刻kにおけるi人目の人間の各領域の推定重心位置に、時刻kにおけるi人目の人間の各領域の推定重心移動速度を加えることによって予測する。ここでは、時刻k+1におけるi人目の人間の頭部領域の予測重心位置、時刻k+1におけるi人目の人間の上半身領域の予測重心位置、時刻k+1におけるi人目の人間の下半身領域の予測重心位置、時刻k+1におけるi人目の人間の人間モデル領域の予測重心位置は、それぞれ、以下の(68)〜(71)のように表記することができる。
また、コンフィギュレーション追跡部5に備えられる予測部12は、時刻k+1におけるi人目の人間の各領域の予測移動速度は、時刻kにおけるi人目の人間の各領域の推定移動速度と同じであると予測する。ここでは、時刻k+1におけるi人目の人間の頭部領域の予測移動速度、時刻k+1におけるi人目の人間の上半身領域の予測移動速度、時刻k+1におけるi人目の人間の下半身領域の予測移動速度、時刻k+1におけるi人目の人間の人間モデル領域の予測移動速度は、それぞれ、以下の(72)〜(75)のように表記することができる。
また、コンフィギュレーション追跡部5に備えられる予測部12は、時刻k+1におけるi人目の人間の各領域の色ヒストグラムは、時刻kにおけるi人目の人間の各領域の色ヒストグラムと同じであると予測する。ここでは、時刻k+1におけるi人目の人間の頭部領域の色ヒストグラム、時刻k+1におけるi人目の人間の上半身領域の色ヒストグラム、時刻k+1におけるi人目の人間の下半身領域の色ヒストグラムは、それぞれ、以下の(76)〜(78)のように表記することができる。
また、コンフィギュレーション追跡部5に備えられるパーツ仮説フィルタリング部13は、時刻k+1においてパーツ追跡部4から入力されたパーツ毎の複数のパーツ仮説集合に関連づけられている各パーツ領域のデータ(ここでは各パーツ領域の実測重心位置や実測色ヒストグラム)が、予測部12によって予測された時刻k+1における各領域のデータ(ここでは全体仮説を構成する各パーツ領域の予測重心位置や予測色ヒストグラム)に近い場合は、そのパーツ仮説集合を仮説木生成・更新部11へ出力し、近くない場合は、そのパーツ仮説集合を仮説木生成・更新部11へ出力しない。
なお、パーツ仮説フィルタリング部13は、各パーツ領域のデータを比較するだけでなく、さらに、時刻k+1における頭部領域の実測重心位置と上半身領域の実測重心位置と下半身領域の実測重心位置とを加えたものを「3」で割って求めた人間モデル領域の実測重心位置が、予測部12によって予測された時刻k+1における人間モデル領域の予測重心位置に近いか否かも判定し、これも近い場合に、そのパーツ仮説集合を仮説木生成・更新部11へ出力するようにしても良い。また、パーツ仮説フィルタリング部13において、これらの処理に代えて、後述のコンテキスト尤度を用いて判定を行なうようにしても良い。つまり、パーツ仮説フィルタリング部13は、時刻k+1においてパーツ追跡部4から入力されたパーツ毎の複数のパーツ仮説集合に関連づけられている各パーツ領域のデータ(ここでは各パーツ領域の実測重心位置)、及び、予測部12によって予測された時刻k+1における各領域のデータ(ここでは全体仮説を構成する各パーツ領域の予測重心位置)を用いて、後述のコンテキスト尤度を算出し、算出されたコンテキスト尤度が閾値よりも大きい場合は、そのパーツ仮説集合を仮説木生成・更新部11へ出力し、小さい場合は、そのパーツ仮説集合を仮説木生成・更新部11へ出力しないようにしても良い。
ここで、時刻k+1における画像内の人数、時刻k+1におけるi人目の人間の頭部領域の実測重心位置、上半身領域の実測重心位置、下半身領域の実測重心位置、人間モデル領域の実測重心位置、頭部領域の実測色ヒストグラム、上半身領域の実測色ヒストグラム、下半身領域の実測色ヒストグラムは、それぞれ、次の(79)〜(86)のように表記する。
そして、コンフィギュレーション追跡部5に備えられる仮説木生成・更新部11は、パーツ仮説フィルタリング部13から入力された各パーツのパーツ仮説集合の中から1つずつ取り出した各パーツのパーツ仮説を組み合わせて、画像の中にいる全ての人間についての全体仮説の組み合わせであるコンフィギュレーション仮説を複数生成し、これらの複数のコンフィギュレーション仮説のそれぞれをノードとするコンフィギュレーション仮説木を生成・更新する。
例えば、時刻k+1に、上位2つの頭部仮説集合として、上記の(28)のように表記されるものが入力され、上位2つの上半身仮説集合として、上記の(33)のように表記されるものが入力され、上位2つの下半身仮説集合として、上記の(38)のように表記されるものが入力された場合、仮説木生成・更新部11は、図19に示すように、8つのコンフィギュレーション仮説を生成し、これらを時刻kにおける各コンフィギュレーション仮説につながるノードとして追加して、コンフィギュレーション仮説木を更新する。なお、図19で、上位2つの頭部仮説集合、上位2つの上半身仮説集合及び上位2つの下半身仮説集合を図示しているのは、これらの組み合わせによって各コンフィギュレーション仮説が構成されることを分かり易くするためであり、これらがコンフィギュレーション仮説木を構成するという意味ではない。
例えば、1番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「1」のもの)は、図19に示すように、最上位の頭部仮説集合、最上位の上半身仮説集合、最上位の下半身仮説集合のそれぞれの中から1つずつ頭部仮説、上半身仮説、下半身仮説を取り出し、これらを組み合わせて、画像の中にいる2人の人間についての全体仮説の組み合わせとして生成される。ここでは、図20中、1列目の各パーツの仮説を取り出し、これらを組み合わせて、1人目の人間についての全体仮説が生成され、2列目の各パーツの仮説を取り出し、これらを組み合わせて、2人目の人間についての全体仮説が生成される。この場合、画像の中にいる2人の人間に対する追跡をそれぞれ継続することになる。
また、例えば、3番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「3」のもの)は、図19に示すように、最上位の頭部仮説集合、2番目の上半身仮説集合、最上位の下半身仮説集合のそれぞれの中から1つずつ頭部仮説、上半身仮説、下半身仮説を取り出し、これらを組み合わせて、画像の中にいる2人の人間についての全体仮説の組み合わせとして生成される。ここでは、図21中、1列目の各パーツの仮説を取り出し、これらを組み合わせて、1人目の人間についての全体仮説が生成され、2列目の各パーツの仮説を取り出し、これらを組み合わせて、2人目の人間についての全体仮説が生成される。この場合、画像の中にいる2人の人間に対する追跡をそれぞれ継続することになる。なお、2人目の人間については、上半身未観測(Skip)であるため、上半身が隠れているものとして追跡を継続することになる。また、3列目に新しい上半身仮説が含まれているが、頭部仮説ではないため、ノイズとみなし、新しい人間は画像の中に入ってきていないものとする。
また、例えば、5番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「5」のもの)は、図19に示すように、2番目の頭部仮説集合、最上位の上半身仮説集合、最上位の下半身仮説集合のそれぞれの中から1つずつ頭部仮説、上半身仮説、下半身仮説を取り出し、これらを組み合わせて、画像の中にいる3人の人間についての全体仮説の組み合わせとして生成される。ここでは、図22中、1列目の各パーツの仮説を取り出し、これらを組み合わせて、1人目の人間についての全体仮説が生成され、2列目の各パーツの仮説を取り出し、これらを組み合わせて、2人目の人間についての全体仮説が生成される。この場合、画像の中にいる2人の人間に対する追跡をそれぞれ継続する。そして、3列目に新しい頭部仮説が含まれているため、新しい人間が画像の中に入ってきたとして、新たに1人の人間についての追跡を開始することになる。なお、2人目の人間については、頭部未観測(Skip)であるため、頭部が隠れているものとして追跡を継続することになる。また、3人目の人間については、上半身及び下半身は未観測であるため、上半身及び下半身が隠れているものとして追跡を開始することになる。
また、例えば、8番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「8」のもの)は、図19に示すように、2番目の頭部仮説集合、2番目の上半身仮説集合、2番目の下半身仮説集合のそれぞれの中から1つずつ頭部仮説、上半身仮説、下半身仮説を取り出し、これらを組み合わせて、画像の中にいる3人の人間についての全体仮説の組み合わせとして生成される。ここでは、図23中、1列目の各パーツの仮説を取り出し、これらを組み合わせて、1人目の人間についての全体仮説が生成され、2列目の各パーツの仮説を取り出し、これらを組み合わせて、2人目の人間についての全体仮説が生成される。この場合、画像の中にいる2人の人間に対する追跡をそれぞれ継続する。そして、3列目に新しい頭部仮説、上半身仮説及び下半身仮説が含まれているため、新しい人間が画像の中に入ってきたとして、新たに1人の人間についての追跡を開始することになる。なお、2人目の人間については、頭部、上半身及び下半身は未観測(Skip)であるため、頭部、上半身及び下半身の全体が隠れているものとして追跡を継続することになる。
ここでは、時刻k+1におけるコンフィギュレーション仮説に含まれる画像内の人数(整数)、及び、i人目の人間の全体仮説(人間モデル仮説)は、それぞれ、次の(87)、(88)のように表記し、時刻k+1における各人間の全体仮説(人間モデル仮説)に関連づけられているデータである、時刻k+1におけるi人目の人間の頭部領域の推定重心位置、頭部領域の推定重心移動速度、上半身領域の推定重心位置、上半身領域の推定重心移動速度、下半身領域の推定重心位置、下半身領域の推定重心移動速度、人間モデル領域(全身)の推定重心位置、人間モデル領域(全身)の推定重心移動速度、頭部領域の推定色ヒストグラム、上半身領域の推定色ヒストグラム、下半身領域の推定色ヒストグラムは、それぞれ、次の(89)〜(99)のように表記する。
ここでは、コンフィギュレーション追跡部5に備えられる仮説木生成・更新部11は、時刻k+1における各領域の推定重心位置を、時刻k+1における各領域の実測重心位置と時刻k+1における各領域の予測重心位置との差分に重み付けして時刻k+1における各領域の予測重心位置に加えることで求める。ここでは、時刻k+1におけるi人目の人間の頭部領域の推定重心位置、上半身領域の推定重心位置、下半身領域の推定重心位置、人間モデル領域の推定重心位置は、それぞれ、以下の(100)〜(103)のように表記することができる。
また、コンフィギュレーション追跡部5に備えられる仮説木生成・更新部11は、時刻k+1における各領域の推定重心移動速度を、前回時刻である時刻kにおける各領域の予測重心位置と時刻k+1における各領域の予測重心位置との差分によって求める。ここでは、時刻k+1におけるi人目の人間の頭部領域の推定重心移動速度、上半身領域の推定重心移動速度、下半身領域の推定重心移動速度、人間モデル領域の推定重心移動速度は、それぞれ、以下の(104)〜(107)のように表記することができる。
また、コンフィギュレーション追跡部5に備えられる仮説木生成・更新部11は、時刻k+1における各領域の推定色ヒストグラムを、時刻k+1における各領域の実測色ヒストグラムと時刻k+1における各領域の予測色ヒストグラムとの重み付け和によって求める。ここでは、時刻k+1におけるi人目の人間の頭部領域の推定色ヒストグラム、上半身領域の推定色ヒストグラム、下半身領域の推定色ヒストグラムは、それぞれ、以下の(108)〜(110)のように表記することができる。
また、コンフィギュレーション追跡部5は、ある時間経過後に複数のコンフィギュレーション仮説を評価し、最も良いコンフィギュレーション仮説(ベストコンフィギュレーション仮説)を特定する。このため、コンフィギュレーション追跡部5は、ある時間経過後に複数のコンフィギュレーション仮説を評価する評価部14を備える。この評価部14は、複数のコンフィギュレーション仮説を評価した結果に基づいて、最も良いコンフィギュレーション仮説を特定する。ここでは、コンフィギュレーション追跡部5は、ある時間経過後に複数のコンフィギュレーション仮説の尤度を計算し、尤度が最も大きいコンフィギュレーション仮説をベストコンフィギュレーション仮説として抽出する。このため、評価部14は、尤度計算部と、ベストコンフィギュレーション仮説抽出部を備える。
ここでは、時刻k+1におけるコンフィギュレーション仮説の尤度を、「継続尤度(続ける尤度)」、「新規尤度」、「消失尤度」の3つの尤度の積として、図24に示す式によって算出する。ここで、「継続尤度」は、追跡の継続に関する尤度であって、実測重心位置と予測重心位置の間の距離、実測色ヒストグラムと予測色ヒストグラムとの間の類似度、人間のパーツ位置関係(パーツ組み合わせの幾何学的適性性;幾何学的拘束)に基づく尤度である。また、「新規尤度」は、新たな追跡の開始に関する尤度、即ち、帰属先のないパーツ領域(ここでは頭部領域)がある場合に新たな人間を追加することに関する尤度である。また、「消失尤度」は、追跡の終了に関する尤度、即ち、どのパーツも割り当てられていない人間がいる場合にその人間を削除することに関する尤度である。
ここで、図24に示す式の中の(A)で示す部分が「継続尤度」に関する部分であり、(B)で示す部分が「新規尤度」に関する部分であり、(C)で示す部分が「消失尤度」に関する部分である。なお、「新規尤度」及び「消失尤度」は、事前に設定された定数であって、固定値である。また、Ndは追跡を継続する人間の数であり、Nnは新しい人間の数であり、Neは消失した人間の数である。
このように、時刻k+1におけるコンフィギュレーション仮説の尤度は、1人目の人間の「継続尤度」からNd人目の人間の「継続尤度」までの積と、1人目の人間の「新規尤度」からNn人目の人間の「新規尤度」までの積と、1人目の人間の「消失尤度」からNe人目の人間の「新規尤度」までの積との積として算出する。
そして、1人の人間の「継続尤度」は、図25に示す式によって算出する。ここで、図25に示す式の中の(A)で示す部分は、その人間の頭部領域の尤度に関する部分であり、(B)で示す部分は、その人間の上半身領域の尤度に関する部分であり、(C)で示す部分は、その人間の下半身領域の尤度に関する部分であり、(D)で示す部分は、その人間のコンテキスト尤度[人間のパーツ位置関係(パーツ組み合わせの幾何学的適性性;幾何学的拘束)の尤度]に関する部分である。このようにして尤度を算出する場合、パーツ運動モデルに基づく評価だけでなく、コンテクスト情報(人間のパーツ間位置関係情報)に基づく評価も行なっていることになる。
このように、1人の人間の「継続尤度」は、その人間の頭部領域の尤度と、上半身領域の尤度と、下半身領域の尤度と、コンテキスト尤度との積によって算出する。
ここで、1人の人間の頭部領域の尤度は、図26に示す一番上の式によって算出する。ここで、図26に示す一番上の式の中の(A)で示す部分は、頭部領域の重心位置に関する尤度であり、このうち、(B)で示す部分は、時刻k+1における頭部領域の実測重心位置であり、(C)で示す部分は、時刻k+1における頭部領域の予測重心位置である。また、図26に示す一番上の式の中の(D)で示す部分は、頭部領域の色ヒストグラムに関する尤度であり、このうち、(E)で示す部分は、時刻k+1における頭部領域の実測色ヒストグラムであり、(F)で示す部分は、時刻k+1における頭部領域の予測色ヒストグラムである。そして、図26に示す一番上の式の中の(A)で示す頭部領域の重心位置に関する尤度は、図26に示す上から2番目の式によって算出する。ここで、図26に示す上から2番目の式の中の(A)で示す部分は、重心位置間距離である。また、Σdやω2は定数である。また、図26に示す一番上の式の中の(D)で示す頭部領域の色ヒストグラムに関する尤度は、図26に示す一番下の式によって算出する。ここで、図26に示す一番下の式の中の(A)で示す部分は、ヒストグラム間距離(色ヒストグラムの類似度)である。また、Σcやω3は定数である。
また、1人の人間の上半身領域の尤度は、図27に示す一番上の式によって算出する。ここで、図27に示す一番上の式の中の(A)で示す部分は、上半身領域の重心位置に関する尤度であり、このうち、(B)で示す部分は、時刻k+1における上半身領域の実測重心位置であり、(C)で示す部分は、時刻k+1における上半身領域の予測重心位置である。また、図27に示す一番上の式の中の(D)で示す部分は、上半身領域の色ヒストグラムに関する尤度であり、このうち、(E)で示す部分は、時刻k+1における上半身領域の実測色ヒストグラムであり、(F)で示す部分は、時刻k+1における上半身領域の予測色ヒストグラムである。そして、図27に示す一番上の式の中の(A)で示す上半身領域の重心位置に関する尤度は、図27に示す上から2番目の式によって算出する。ここで、図27に示す上から2番目の式の中の(A)で示す部分は、重心位置間距離である。また、Σdやω2は定数である。また、図27に示す一番上の式の中の(D)で示す上半身領域の色ヒストグラムに関する尤度は、図27に示す一番下の式によって算出する。ここで、図27に示す一番下の式の中の(A)で示す部分は、ヒストグラム間距離(色ヒストグラムの類似度)である。また、Σcやω3は定数である。
また、1人の人間の下半身領域の尤度は、図28に示す一番上の式によって算出する。ここで、図28に示す一番上の式の中の(A)で示す部分は、下半身領域の重心位置に関する尤度であり、このうち、(B)で示す部分は、時刻k+1における下半身領域の実測重心位置であり、(C)で示す部分は、時刻k+1における下半身領域の予測重心位置である。また、図28に示す一番上の式の中の(D)で示す部分は、下半身領域の色ヒストグラムに関する尤度であり、このうち、(E)で示す部分は、時刻k+1における下半身領域の実測色ヒストグラムであり、(F)で示す部分は、時刻k+1における下半身領域の予測色ヒストグラムである。そして、図28に示す一番上の式の中の(A)で示す下半身領域の重心位置に関する尤度は、図28に示す上から2番目の式によって算出する。ここで、図28に示す上から2番目の式の中の(A)で示す部分は、重心位置間距離である。また、Σdやω2は定数である。また、図28に示す一番上の式の中の(D)で示す下半身領域の色ヒストグラムに関する尤度は、図28に示す一番下の式によって算出する。ここで、図28に示す一番下の式の中の(A)で示す部分は、ヒストグラム間距離(色ヒストグラムの類似度)である。また、Σcやω3は定数である。
また、1人の人間のコンテキスト尤度は、図29に示す上から1番目、2番目、3番目の式のそれぞれによって算出されるものの積として算出する。つまり、1人の人間のコンテキスト尤度は、図29に示す上から4番目の式によって算出する。ここで、図29に示す上から1番目の式は、図30(A)に示すように上半身領域の重心位置が上半身領域の予測重心位置であった場合の頭部領域の実測重心位置の観測確率である。また、図29に示す上から2番目の式は、図30(A)に示すように上半身領域の重心位置が上半身領域の予測重心位置であった場合の下半身領域の実測重心位置の観測確率である。また、図29に示す上から3番目の式は、図30(B)に示すように頭部領域の重心位置が頭部領域の予測重心位置であり、かつ、図30(C)に示すように下半身領域の重心位置が下半身領域の予測重心位置であった場合の上半身領域の実測重心位置の観測確率である。
ここで、図29に示す上から1番目及び4番目の式の中の以下の(111)で示すものは図30(A)の中の2本のベクトル間角度であり、以下の(112)で示すものは、以下の(111)で示すものの一般的な値であって、固定値であり、以下の(113)、(114)で示すものは固定値である。また、図29に示す上から2番目及び4番目の式の中の以下の(115)で示すものは図30(A)の中の2本のベクトル間角度であり、以下の(116)で示すものは、以下の(115)で示すものの一般的な値であって、固定値であり、以下の(117)、(118)で示すものは固定値である。また、図29に示す上から3番目及び4番目の式の中の以下の(119)で示すものは図30(B)の中の2本のベクトル間角度であり、以下の(120)で示すものは、以下の(119)で示すものの一般的な値であって、固定値であり、以下の(121)、(122)で示すものは固定値である。また、図29に示す上から3番目及び4番目の式の中の以下の(123)で示すものは図30(C)の中の2本のベクトル間角度であり、以下の(124)で示すものは、以下の(123)で示すものの一般的な値であって、固定値であり、以下の(125)、(126)で示すものは固定値である。
例えば、上位2つの頭部仮説集合として、上記の(28)のように表記されるものが入力され、上位2つの上半身仮説集合として、上記の(33)のように表記されるものが入力され、上位2つの下半身仮説集合として、上記の(38)のように表記されるものが入力された場合に生成される、時刻k+1における1番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「1」のもの)の尤度(同時発生確率)は、次式(127)に示すように、1人目の人間の「継続尤度」と2人目の人間の「継続尤度」の積として算出する。
また、時刻k+1における3番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「3」のもの)の尤度(同時発生確率)は、次式(128)に示すように、1人目の人間の「継続尤度」と2人目の人間の「継続尤度」の積として算出する。
また、時刻k+1における5番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「5」のもの)の尤度(同時発生確率)は、次式(129)に示すように、1人目の人間の「継続尤度」と2人目の人間の「継続尤度」と新しい1人の人間の「新規尤度」の積として算出する。
また、時刻k+1における8番目のコンフィギュレーション仮説(図19中、右下に付されたインデックス番号が「8」のもの)の尤度(同時発生確率)は、次式(130)に示すように、1人目の人間の「継続尤度」と2人目の人間の「継続尤度」と新しい1人の人間の「新規尤度」の積として算出する。
そして、コンフィギュレーション追跡部5は、コンフィギュレーション仮説木の規模を抑制するために、特定されたベストコンフィギュレーション仮説に基づいて、コンフィギュレーション仮説木の枝刈りを行なう。つまり、コンフィギュレーション追跡部5は、複数のコンフィギュレーション仮説を評価した結果に基づいて、複数のコンフィギュレーション仮説の一部を削除する。このため、コンフィギュレーション追跡部5は、コンフィギュレーション仮説木の枝刈りを行なう枝刈部15を備える。ここでは、コンフィギュレーション追跡部5は、コンフィギュレーション仮説木において、ベストコンフィギュレーション仮説のノードを含まないサブツリーの枝刈りを行なう。
ここでは、上述のようにして時刻k+1に複数のコンフィギュレーション仮説の尤度を計算した結果、1番目のコンフィギュレーション仮説(図31中、右下に付されたインデックス番号が「1」のもの)の尤度が最も大きく、ベストコンフィギュレーション仮説として特定されたものとする。この場合、コンフィギュレーション追跡部5の枝刈部15は、図31に示すように、コンフィギュレーション仮説木において、ベストコンフィギュレーション仮説のノードを含まないサブツリーの枝刈りを行なう。
なお、ここでは、コンフィギュレーション追跡部5はある時間経過後にコンフィギュレーション仮説の評価を行なってベストコンフィギュレーション仮説を特定し、枝刈りを行なうようにしているが、例えば、複数のコンフィギュレーション仮説を立てて追跡を行なう際に一定時間毎にコンフィギュレーション仮説の評価を行なってベストコンフィギュレーション仮説を特定し、枝刈りを行なうようにすれば良い。なお、必ずしも一定時間毎に行なわなくても良く、ある時間経過後に行なうようにすれば良い。この場合、コンフィギュレーション仮説木がある程度成長した後に枝刈りが行なわれることになる。
そして、コンフィギュレーション追跡部5におけるコンフィギュレーション仮説木の枝刈りに連動して、パーツ追跡部4によける各パーツの軌跡木の枝刈りが行なわれるようにすべく、コンフィギュレーション追跡部5(ここでは評価部14)からパーツ追跡部4(ここでは枝刈部10)へ、ベストコンフィギュレーション仮説を構成するパーツ毎のパーツ仮説集合(パーツ毎のベストパーツ仮説集合)を出力(フィードバック)する。
ここでは、上述のように、コンフィギュレーション追跡部5の枝刈部15は、図31に示すように、コンフィギュレーション仮説木において、時刻k+1におけるベストコンフィギュレーション仮説である1番目のコンフィギュレーション仮説(図31中、右下に付されたインデックス番号が「1」のもの)のノードを含まないサブツリーの枝刈りを行なう。このため、これに連動して、コンフィギュレーション追跡部5(ここでは評価部14)は、時刻k+1におけるベストコンフィギュレーション仮説である1番目のコンフィギュレーション仮説(図31中、右下に付されたインデックス番号が「1」のもの)を構成するパーツ毎のベストパーツ仮説集合を、パーツ追跡部4(ここでは枝刈部10)へ出力する。つまり、ベスト頭部仮説集合として、次の(131)のように表記されるものを、パーツ追跡部4(ここでは枝刈部10)へ出力し、ベスト上半身仮説集合として、次の(132)のように表記されるものを、パーツ追跡部4(ここでは枝刈部10)へ出力し、ベスト下半身仮説集合として、次の(133)のように表記されるものを、パーツ追跡部4(ここでは枝刈部10)へ出力する。
そして、パーツ追跡部4は、上述のコンフィギュレーション追跡部5の枝刈部15におけるコンフィギュレーション仮説木の枝刈りに連動して、各パーツの軌跡木の枝刈りを行なう。つまり、パーツ追跡部4の枝刈部10は、上述のコンフィギュレーション追跡部5の枝刈部15による処理において削除されたコンフィギュレーション仮説に基づいて、各パーツの軌跡木において、複数のパーツ仮説の一部を削除する。ここでは、パーツ追跡部4の枝刈部10は、各パーツの軌跡木において、コンフィギュレーション追跡部5から入力されたパーツ毎のベスト仮説集合を構成する各パーツ仮説のノードを含まないサブツリーの枝刈りを行なう。
例えば、画像の中に2人の人間がいる場合、パーツ追跡部4の枝刈部10は、図32(A)に示すように、1人目の人間の頭部軌跡木において、コンフィギュレーション追跡部5から入力されたベスト頭部仮説集合に基づいて、これを構成する頭部仮説(上記(131)の左側の頭部仮説)を含まないサブツリーの枝刈りを行なうとともに、図32(B)に示すように、2人目の人間の頭部軌跡木において、コンフィギュレーション追跡部5から入力されたベスト頭部仮説集合に基づいて、これを構成する頭部仮説(上記(131)の右側の頭部仮説)を含まないサブツリーの枝刈りを行なう。また、パーツ追跡部4の枝刈部10は、図33(A)に示すように、1人目の人間の上半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト上半身仮説集合に基づいて、これを構成する上半身仮説(上記(132)の左側の上半身仮説)を含まないサブツリーの枝刈りを行なうとともに、図33(B)に示すように、2人目の人間の上半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト上半身仮説集合に基づいて、これを構成する上半身仮説(上記(132)の右側の上半身仮説)を含まないサブツリーの枝刈りを行なう。また、パーツ追跡部4の枝刈部10は、図34(A)に示すように、1人目の人間の下半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト下半身仮説集合に基づいて、これを構成する下半身仮説(上記(133)の左側の下半身仮説)を含まないサブツリーの枝刈りを行なうとともに、図34(B)に示すように、2人目の人間の下半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト下半身仮説集合に基づいて、これを構成する下半身仮説(上記(133)の右側の下半身仮説)を含まないサブツリーの枝刈りを行なう。
次に、本実施形態の物体追跡装置(ここでは人間追跡装置)においてCPU102がメモリ101に読み込まれた物体追跡プログラム(ここでは人間追跡プログラム)に従って実行する処理(物体追跡方法;ここでは人間追跡方法)について、図35を参照しながら説明する。
まず、図35に示すように、パーツ追跡部4は、人間を構成する複数のパーツのそれぞれを追跡する。ここでは、パーツ追跡部4は、各パーツを複数のパーツ仮説を立てて追跡する。具体的には、パーツ追跡部4の軌跡木生成・更新部6(パーツ仮説生成部;部分仮説生成部)が、パーツ領域検出部2から入力される時刻毎の各パーツ領域のデータ(ここでは各パーツ領域の重心位置や色ヒストグラム)を、パーツ毎に、複数のパーツ仮説に基づいて関連づけて、各パーツについて複数のパーツ仮説のそれぞれをノードとする軌跡木を生成・更新する(ステップS10)。
例えば、画像の中に複数(ここでは2人)の人間がいる場合、1人目の人間の頭部軌跡木は、例えば図9(A)に示すようになり、2人目の人間の頭部軌跡木は、例えば図9(B)に示すようになる。また、1人目の人間の上半身軌跡木は、例えば図10(A)に示すようになり、2人目の人間の上半身軌跡木は、例えば図10(B)に示すようになる。また、1人目の人間の下半身軌跡木は、例えば図11(A)に示すようになり、2人目の人間の下半身軌跡木は、例えば図11(B)に示すようになる。
次に、パーツ追跡部4のパーツ仮説抽出部9は、各パーツについて複数のパーツ仮説の中から一部のパーツ仮説を抽出して、全体追跡部5へ出力する(ステップS20)。
例えば、画像の中に複数(ここでは2人)の人間がいて、図9(A)、図9(B)に示すような2本の頭部軌跡木が生成されている場合、時刻k+1に2本の頭部軌跡木からそれぞれ1つずつノードをピックアップして組み合わせた複数の頭部仮説集合を生成し、複数の頭部仮説集合のそれぞれの尤度を計算し、尤度が最も大きい頭部仮説集合及びその次に尤度が大きい頭部仮説集合の上位2つの頭部仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。また、画像の中に複数(ここでは2人)の人間がいて、図10(A)、図10(B)に示すような2本の上半身軌跡木が生成されている場合、時刻k+1に2本の上半身軌跡木からそれぞれ1つずつノードをピックアップして組み合わせた複数の上半身仮説集合を生成し、複数の上半身仮説集合のそれぞれの尤度を計算し、尤度が最も大きい上半身仮説集合及びその次に尤度が大きい上半身仮説集合の上位2つの上半身仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。また、画像の中に複数(ここでは2人)の人間がいて、図11(A)、図11(B)に示すような2本の下半身軌跡木が生成されている場合、時刻k+1に2本の下半身軌跡木からそれぞれ1つずつノードをピックアップして組み合わせた複数の下半身仮説集合を生成し、複数の下半身仮説集合のそれぞれの尤度を計算し、尤度が最も大きい下半身仮説集合及びその次に尤度が大きい下半身仮説集合の上位2つの下半身仮説集合を抽出し、全体追跡部5へ出力するのが好ましい。
なお、ここでは、全体仮説木のデータ量を抑えるために、パーツ追跡部4は、各パーツについて一部のパーツ仮説を抽出して、全体追跡部5へ出力するようにしているが、これに限られるものではなく、パーツ追跡部4が、各パーツについてのパーツ仮説の全てを全体追跡部5へ出力するようにしても良い。例えば、画像の中に複数の人間がいる場合、パーツ毎の複数のパーツ仮説集合の全てを全体追跡部5へ出力するようにすれば良い。また、全体追跡部5へ時刻毎にパーツ仮説を出力するようにしても良いし、任意の時刻に全体追跡部5へパーツ仮説を出力するようにしても良い。
次に、全体追跡部5は、各パーツの追跡とは別に、複数のパーツを組み合わせて構成される人間全体を複数の全体仮説を立てて追跡する。ここでは、全体追跡部5は、パーツ追跡部4のパーツ仮説抽出部9で抽出され、入力された各パーツについての一部のパーツ仮説の中の一つずつを組み合わせて複数の全体仮説を立てる。具体的には、全体追跡部5の仮説木生成・更新部(全体仮説生成部)11が、パーツ追跡部4から入力された時刻毎の各パーツについてのパーツ仮説を組み合わせて構成される人間全体についての複数の全体仮説(人間モデル仮説)のそれぞれをノードとする仮説木(全体仮説木)を生成・更新する(ステップS30)。ここで、全体仮説木を構成する各ノードには、全体仮説のデータ、即ち、全体仮説を構成する各パーツについてのパーツ仮説に関連づけられている各パーツ領域のデータ(ここでは各パーツ領域の重心位置や色ヒストグラム)が関連づけられている。
なお、ここでは、全体追跡部5の仮説木生成・更新部11は、時刻毎に複数の全体仮説を生成するようにしているが、これに限られるものではなく、例えば任意の時刻に複数の全体仮説を生成するようにしても良い。また、生成される全体仮説木のデータ量を抑えるために、全体追跡部5を、予測部12と、パーツ仮説フィルタリング部13とを備えるものとし、パーツ追跡部4から入力された各パーツ仮説に関連づけられている各パーツ領域のデータを、前回時刻の全体仮説のデータに基づいて予測される今回時刻の全体仮説のデータに近いかどうかでフィルタリングするようにしても良い。
例えば、画像の中に複数(ここでは2人)の人間がいる場合、パーツ追跡部4から入力された各パーツのパーツ仮説集合の中から1つずつ取り出した各パーツのパーツ仮説を組み合わせて、画像の中にいる全ての人間についての全体仮説の組み合わせであるコンフィギュレーション仮説を複数生成し、これらの複数のコンフィギュレーション仮説のそれぞれをノードとするコンフィギュレーション仮説木を生成・更新する(ステップS30)。例えば、時刻k+1に、上位2つの頭部仮説集合として、上記の(28)のように表記されるものが入力され、上位2つの上半身仮説集合として、上記の(33)のように表記されるものが入力され、上位2つの下半身仮説集合として、上記の(38)のように表記されるものが入力された場合、仮説木生成・更新部11は、図19に示すように、8つのコンフィギュレーション仮説を生成し、これらを時刻kにおける各コンフィギュレーション仮説につながるノードとして追加して、コンフィギュレーション仮説木を更新する。この場合、各コンフィギュレーション仮説は、画像の中にいる人間の数、及び、各人間の全体仮説を含むことになる。また、この場合、全体追跡部5をコンフィギュレーション追跡部と呼ぶ。また、コンフィギュレーション仮説木を構成する各ノードには、コンフィギュレーション仮説、即ち、画像の中にいる人間の数、及び、各人間の全体仮説(人間モデル仮説)のデータ(即ち、各パーツ領域を組み合わせて構成される人間モデル領域を構成する各パーツ領域のデータ)が関連づけられることになる。
次に、全体追跡部5の評価部14は、ある時間経過後に複数の全体仮説を評価する。つまり、全体追跡部5の評価部14は、ある時間経過したかを判定し(ステップS40)、ある時間経過したと判定した場合に複数の全体仮説の評価を行なって、その評価結果に基づいて、最も良い全体仮説(ベスト全体仮説)を特定する(ステップS50)。ここでは、全体追跡部5の評価部14は、ある時間経過後に複数の全体仮説の尤度を計算し、尤度が最も大きい全体仮説をベスト全体仮説として抽出する。
例えば、画像の中に複数(ここでは2人)の人間がいる場合、コンフィギュレーション追跡部5の評価部14は、ある時間経過後に複数のコンフィギュレーション仮説を評価する。つまり、コンフィギュレーション追跡部5の評価部14は、ある時間経過したかを判定し(ステップS40)、ある時間経過したと判定した場合に複数のコンフィギュレーション仮説の評価を行なって、その評価結果に基づいて、最も良いコンフィギュレーション仮説(ベストコンフィギュレーション仮説)を特定する(ステップS50)。ここでは、コンフィギュレーション追跡部5の評価部14は、ある時間経過後に複数のコンフィギュレーション仮説の尤度を計算し、尤度が最も大きいコンフィギュレーション仮説をベストコンフィギュレーション仮説として抽出する。
次に、全体追跡部5の枝刈部15は、仮説木の規模を抑制するために、評価部14で特定されたベスト全体仮説に基づいて、全体仮説木の枝刈りを行なう(ステップS60)。つまり、全体追跡部5は、複数の全体仮説を評価した結果に基づいて、複数の全体仮説の一部を削除する。ここでは、全体追跡部5の枝刈部15は、全体仮説木において、ベスト全体仮説のノードを含まないサブツリーの枝刈りを行なう。
なお、ここでは、全体追跡部5はある時間経過後に全体仮説の評価を行なってベスト全体仮説を特定し、枝刈りを行なうようにしているが、例えば、複数の全体仮説を立てて追跡を行なう際に一定時間毎に全体仮説の評価を行なってベスト全体仮説を特定し、枝刈りを行なうようにすれば良い。なお、必ずしも一定時間毎に行なわなくても良く、ある時間経過後に行なうようにすれば良い。この場合、全体仮説木がある程度成長した後に枝刈りが行なわれることになる。
例えば、画像の中に複数(ここでは2人)の人間がいる場合、コンフィギュレーション追跡部5の枝刈部15は、コンフィギュレーション仮説木の規模を抑制するために、特定されたベストコンフィギュレーション仮説に基づいて、コンフィギュレーション仮説木の枝刈りを行なう(ステップS60)。つまり、コンフィギュレーション追跡部5は、複数のコンフィギュレーション仮説を評価した結果に基づいて、複数のコンフィギュレーション仮説の一部を削除する。ここでは、コンフィギュレーション追跡部5の枝刈部15は、コンフィギュレーション仮説木において、ベストコンフィギュレーション仮説のノードを含まないサブツリーの枝刈りを行なう。例えば、上述のようにして時刻k+1に複数のコンフィギュレーション仮説の尤度を計算した結果、1番目のコンフィギュレーション仮説(図31中、右下に付されたインデックス番号が「1」のもの)の尤度が最も大きく、ベストコンフィギュレーション仮説として特定されたものとする。この場合、コンフィギュレーション追跡部5の枝刈部15は、図31に示すように、コンフィギュレーション仮説木において、ベストコンフィギュレーション仮説のノードを含まないサブツリーの枝刈りを行なう。なお、ここでは、コンフィギュレーション追跡部5はある時間経過後にコンフィギュレーション仮説の評価を行なってベストコンフィギュレーション仮説を特定し、枝刈りを行なうようにしているが、例えば、複数のコンフィギュレーション仮説を立てて追跡を行なう際に一定時間毎にコンフィギュレーション仮説の評価を行なってベストコンフィギュレーション仮説を特定し、枝刈りを行なうようにすれば良い。また、必ずしも一定時間毎に行なわなくても良く、ある時間経過後に行なうようにすれば良い。この場合、コンフィギュレーション仮説木がある程度成長した後に枝刈りが行なわれることになる。
そして、全体追跡部5における全体仮説木の枝刈りに連動して、パーツ追跡部4によける各パーツの軌跡木の枝刈りが行なわれるようにすべく、全体追跡部5(ここでは評価部14)からパーツ追跡部4(ここでは枝刈部10)へ、ベスト全体仮説を構成する各パーツ仮説を出力(フィードバック)する(ステップS70)。
例えば、画像の中に複数(ここでは2人)の人間がいる場合、コンフィギュレーション追跡部5におけるコンフィギュレーション仮説木の枝刈りに連動して、パーツ追跡部4によける各パーツの軌跡木の枝刈りが行なわれるようにすべく、コンフィギュレーション追跡部5(ここでは評価部14)からパーツ追跡部4(ここでは枝刈部10)へ、ベストコンフィギュレーション仮説を構成するパーツ毎のパーツ仮説集合(パーツ毎のベストパーツ仮説集合)を出力(フィードバック)する(ステップS70)。例えば、コンフィギュレーション追跡部5の枝刈部15は、図31に示すように、コンフィギュレーション仮説木において、時刻k+1におけるベストコンフィギュレーション仮説である1番目のコンフィギュレーション仮説(図31中、右下に付されたインデックス番号が「1」のもの)のノードを含まないサブツリーの枝刈りを行なう場合、これに連動して、コンフィギュレーション追跡部5(ここでは評価部14)は、時刻k+1におけるベストコンフィギュレーション仮説である1番目のコンフィギュレーション仮説(図31中、右下に付されたインデックス番号が「1」のもの)を構成するパーツ毎のベストパーツ仮説集合[上記(131)〜(133)参照]を、パーツ追跡部4(ここでは枝刈部10)へ出力する。
次に、パーツ追跡部4の枝刈部10は、各パーツの軌跡木の規模を抑制するために、全体追跡部5における全体仮説木の枝刈りに連動して、各パーツの軌跡木の枝刈りを行なう(ステップS80)。つまり、パーツ追跡部4は、全体追跡部5による処理において削除された全体仮説に基づいて、複数のパーツ仮説の一部を削除する。ここでは、パーツ追跡部4の枝刈部10は、各パーツの軌跡木において、全体追跡部5から入力されたベスト全体仮説を構成する各パーツ仮説のノードを含まないサブツリーの枝刈りを行なう。
例えば、画像の中に複数(ここでは2人)の人間がいる場合、パーツ追跡部4の枝刈部10は、上述のコンフィギュレーション追跡部5の枝刈部15におけるコンフィギュレーション仮説木の枝刈りに連動して、各パーツの軌跡木の枝刈りを行なう(ステップS80)。つまり、パーツ追跡部4の枝刈部10は、上述のコンフィギュレーション追跡部5の枝刈部15による処理において削除されたコンフィギュレーション仮説に基づいて、各パーツの軌跡木において、複数のパーツ仮説の一部を削除する。ここでは、パーツ追跡部4の枝刈部10は、各パーツの軌跡木において、コンフィギュレーション追跡部5から入力されたパーツ毎のベスト仮説集合を構成する各パーツ仮説のノードを含まないサブツリーの枝刈りを行なう。例えば、パーツ追跡部4の枝刈部10は、図32(A)に示すように、1人目の人間の頭部軌跡木において、コンフィギュレーション追跡部5から入力されたベスト頭部仮説集合に基づいて、これを構成する頭部仮説(上記(131)の左側の頭部仮説)を含まないサブツリーの枝刈りを行なうとともに、図32(B)に示すように、2人目の人間の頭部軌跡木において、コンフィギュレーション追跡部5から入力されたベスト頭部仮説集合に基づいて、これを構成する頭部仮説(上記(131)の右側の頭部仮説)を含まないサブツリーの枝刈りを行なう。また、パーツ追跡部4の枝刈部10は、図33(A)に示すように、1人目の人間の上半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト上半身仮説集合に基づいて、これを構成する上半身仮説(上記(132)の左側の上半身仮説)を含まないサブツリーの枝刈りを行なうとともに、図33(B)に示すように、2人目の人間の上半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト上半身仮説集合に基づいて、これを構成する上半身仮説(上記(132)の右側の上半身仮説)を含まないサブツリーの枝刈りを行なう。また、パーツ追跡部4の枝刈部10は、図34(A)に示すように、1人目の人間の下半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト下半身仮説集合に基づいて、これを構成する下半身仮説(上記(133)の左側の下半身仮説)を含まないサブツリーの枝刈りを行なうとともに、図34(B)に示すように、2人目の人間の下半身軌跡木において、コンフィギュレーション追跡部5から入力されたベスト下半身仮説集合に基づいて、これを構成する下半身仮説(上記(133)の右側の下半身仮説)を含まないサブツリーの枝刈りを行なう。
なお、コンフィギュレーション仮説木の更新、枝刈りを繰り返し、同時刻のコンフィギュレーション仮説が1つになり、この1つのコンフィギュレーション仮説にどのパーツも見えない人間がいる場合(即ち、完全オクルージョンの人間がいる場合)、オクルージョンされた人間の全体仮説を削除する。また、コンフィギュレーション仮説木の更新、枝刈りを繰り返し、同時刻のコンフィギュレーション仮説が1つになり、この1つのコンフィギュレーション仮説において全ての人間の全てのパーツが見えなくなった場合、人間がいなくなったとして、プログラムをリセットする。
したがって、本実施形態にかかる物体追跡装置及び物体追跡方法によれば、追跡の精度を向上させ、安定して追跡を継続できるという利点がある。
なお、本発明は、上述した実施形態に記載した構成に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形することが可能である。
例えば、上述の実施形態では、物体追跡装置を、コンピュータに物体追跡プログラムをインストールしたものとして構成しているが、上述の実施形態における処理をコンピュータに実行させる物体追跡プログラム(上述のような機能をコンピュータに実現させるための物体追跡プログラム)は、コンピュータ読取可能な記録媒体に格納した状態で提供される場合もある。
ここで、記録媒体には、例えば半導体メモリなどのメモリ,磁気ディスク,光ディスク[例えばCD(Compact Disc)−ROM,DVD(Digital Versatile Disk),ブルーレイディスク等],光磁気ディスク(MO:Magneto optical Disc)等のプログラムを記録することができるものが含まれる。なお、磁気ディスク,光ディスク,光磁気ディスク等を可搬型記録媒体ともいう。
この場合、ドライブ装置を介して、可搬型記録媒体から物体追跡プログラムを読み出し、読み出された物体追跡プログラムを記憶装置にインストールすることになる。これにより、上述の実施形態で説明した物体追跡装置及び物体追跡方法が実現され、上述の実施形態の場合と同様に、記憶装置にインストールされた物体追跡プログラムを、CPUがメインメモリ上に読み出して実行することで、上述の実施形態の各処理が行なわれることになる。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
また、上述の実施形態における処理をコンピュータに実行させる物体追跡プログラムは、例えば伝送媒体としてのネットワーク(例えばインターネット,公衆回線や専用回線等の通信回線等)を介して提供される場合もある。
例えば、プログラム提供者が例えばサーバなどの他のコンピュータ上で提供している物体追跡プログラムを、例えばインターネットやLAN等のネットワーク及び通信インタフェースを介して、記憶装置にインストールしても良い。これにより、上述の実施形態で説明した物体追跡装置及び物体追跡方法が実現され、上述の実施形態の場合と同様に、記憶装置にインストールされた物体追跡プログラムを、CPUがメインメモリ上に読み出して実行することで、上述の実施形態の各処理が行なわれることになる。なお、コンピュータは、例えばサーバなどの他のコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
以下、上述の実施形態及び変形例に関し、更に、付記を開示する。
(付記1)
コンピュータに、
物体を構成する複数の部分のそれぞれを追跡し、
前記各部分の追跡とは別に、前記複数の部分を組み合わせて構成される物体全体を複数の全体仮説を立てて追跡する、処理を実行させ、
前記物体全体を追跡する処理において、ある時間経過後に前記複数の全体仮説を評価する処理を前記コンピュータに実行させることを特徴とする物体追跡プログラム。
(付記2)
前記物体全体を追跡する処理において、前記複数の全体仮説を評価した結果に基づいて、前記複数の全体仮説の一部を削除する処理を前記コンピュータに実行させ、
前記各部分を追跡する処理において、前記各部分を複数の部分仮説を立てて追跡し、かつ、削除された前記全体仮説に基づいて、前記複数の部分仮説の一部を削除する、処理を前記コンピュータに実行させることを特徴とする、付記1に記載の物体追跡プログラム。
(付記3)
前記各部分を追跡する処理において、前記各部分について前記複数の部分仮説の中から一部の部分仮説を抽出する処理を前記コンピュータに実行させ、
前記物体全体を追跡する処理において、抽出された前記各部分についての前記一部の部分仮説の中の一つずつを組み合わせて前記複数の全体仮説を立てる処理を前記コンピュータに実行させることを特徴とする、付記2に記載の物体追跡プログラム。
(付記4)
コンピュータが、
物体を構成する複数の部分のそれぞれを追跡し、
前記各部分の追跡とは別に、前記複数の部分を組み合わせて構成される物体全体を複数の全体仮説を立てて追跡する、処理を実行し、
前記物体全体を追跡する処理において、ある時間経過後に前記複数の全体仮説を評価する処理を前記コンピュータが実行することを特徴とする物体追跡方法。
(付記5)
前記物体全体を追跡する処理において、前記複数の全体仮説を評価した結果に基づいて、前記複数の全体仮説の一部を削除する処理を前記コンピュータが実行し、
前記各部分を追跡する処理において、前記各部分を複数の部分仮説を立てて追跡し、かつ、削除された前記全体仮説に基づいて、前記複数の部分仮説の一部を削除する、処理を前記コンピュータが実行することを特徴とする、付記4に記載の物体追跡方法。
(付記6)
前記各部分を追跡する処理において、前記各部分について前記複数の部分仮説の中から一部の部分仮説を抽出する処理を前記コンピュータが実行し、
前記物体全体を追跡する処理において、抽出された前記各部分についての前記一部の部分仮説の中の一つずつを組み合わせて前記複数の全体仮説を立てる処理を前記コンピュータが実行することを特徴とする、付記5に記載の物体追跡方法。
(付記7)
物体を構成する複数の部分のそれぞれを追跡する部分追跡部と、
前記各部分の追跡とは別に、前記複数の部分を組み合わせて構成される物体全体を複数の全体仮説を立てて追跡する全体追跡部とを備え、
前記全体追跡部は、ある時間経過後に前記複数の全体仮説を評価する評価部を備えることを特徴とする物体追跡装置。
(付記8)
前記全体追跡部は、前記複数の全体仮説を評価した結果に基づいて、前記複数の全体仮説の一部を削除する全体仮説削除部を備え、
前記部分追跡部は、前記各部分を複数の部分仮説を立てて追跡し、かつ、前記全体仮説削除部によって削除された前記全体仮説に基づいて、前記複数の部分仮説の一部を削除する部分仮説削除部を備えることを特徴とする、付記7に記載の物体追跡装置。
(付記9)
前記部分追跡部は、前記各部分について前記複数の部分仮説の中から一部の部分仮説を抽出する抽出部を備え、
前記全体追跡部は、前記抽出部で抽出された前記各部分についての前記一部の部分仮説の中の一つずつを組み合わせて前記複数の全体仮説を立てる全体仮説生成部を備えることを特徴とする、付記8に記載の物体追跡装置。