以下、本発明の実施の形態について、図面を用いて説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、構成要素、構成要素の接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、特許請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
本発明の一実施形態は、各々が動画像中の各領域に対応する複数の移動軌跡から、移動体領域を検出する移動体検出装置であって、動画像を構成する2枚以上のピクチャ間における前記ピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡の各々について、当該移動軌跡の静止物らしさを表す静止指標を算出する静止指標算出部と、前記移動軌跡間の類似度を表す距離を算出する距離算出部と、前記移動軌跡の静止指標および前記移動軌跡間の距離に基づいて、任意の静止物の移動軌跡間の距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の距離の比が、変換前と比べて大きくなるような変換処理を行ない、前記移動軌跡間の距離に基づいて、静止物の移動軌跡と移動体の移動軌跡とを分離することにより、移動体の移動軌跡に対応する移動体領域を検出する領域検出部とを備える。
好ましくは、領域検出部は任意の静止物の移動軌跡間の測地距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の測地距離の比が、変換前と比べて大きくなるような変換処理を行ない、前記移動軌跡間の測地距離に基づいて、静止物の移動軌跡と移動体の移動軌跡とを分離することにより、移動体の移動軌跡に対応する移動体領域を検出するもので、前記測地距離は、2つの移動軌跡以外の移動軌跡を中継点として前記2つの移動軌跡の一方から他方にたどりつく経路の距離である。
この構成によると、移動軌跡の静止指標に基づいて上記変換処理を行なっている。このため、静止物の移動軌跡と移動体の移動軌跡とが分離しやすくなる。よって、形状が変化しながら移動する人物等の移動体を含み、かつ、移動するカメラで撮影された画像であっても、正しく移動体を検出することができる。
好ましくは、前記静止指標算出部は、前記複数の移動軌跡から各移動軌跡が静止物の移動軌跡である場合に成立する幾何拘束を推定し、推定した前記幾何拘束を満たす度合いを前記静止指標として算出する。
さらに好ましくは、前記静止指標算出部は、複数の移動軌跡からエピポーラ拘束、ホモグラフィ拘束、三重線形拘束および構造一致性拘束のいずれかの幾何拘束を推定し、推定した前記幾何拘束を満たす度合いを前記静止指標として算出する。
また、前記領域検出部は、前記移動軌跡間の距離に基づいて、前記移動軌跡間の測地距離を算出し、前記移動軌跡の静止指標に基づいて、算出した各測地距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間の測地距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の測地距離の比が大きくなるような重みを付けることにより、重み付き測地距離を算出する重み付き距離算出部と、前記重み付き距離算出部が算出した前記重み付き測地距離に基づいて、前記重み付き測地距離が所定の閾値以上となる移動軌跡同士を異なるクラスに分類することにより、各ピクチャ上の静止物の領域と移動体の領域を分割する領域分割部とを含んでいてもよい。
移動するカメラで撮影した動画像中において、人物のように、姿勢や位置、大きさなどが時間的に変化するような移動体に対しても、移動軌跡の静止物らしさを表す評価値を、移動軌跡間の測地距離への重み付けに利用することで、画像中の移動体を確実に検出することができる。
好ましくは、前記距離算出部は、移動軌跡間の類似度を表す測地距離を算出し、前記重み付き距離算出部は、前記静止指標に基づいて、前記距離算出部が算出した前記測地距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間の測地距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の測地距離の比が大きくなるような重みを付けることにより、前記重み付き測地距離を算出する。
移動軌跡間の測地距離に対して、静止指標に基づく重みをかけたものを、重み付き測地距離として算出している。これにより、測地距離を求めた後の後処理として、静止物らしさを反映した測地距離の導出を簡易に実現できる。
また、前記距離算出部は、移動軌跡間の類似度を表す線形距離を算出し、前記重み付き距離算出部は、前記静止指標に基づいて、前記距離算出部が算出した前記線形距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間の線形距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の線形距離の比が大きくなるような重みを付けることにより、重み付き線形距離を算出し、算出した前記重み付き線形距離から前記重み付き測地距離を算出してもよい。
これにより、線形距離を重み付けするだけで、つまり、重み付き距離算出部における前処理として重み付き線形距離を算出するだけで、静止物らしさを反映した測地距離の算出を実現できる。
また、前記領域検出部は、前記移動軌跡間の距離に基づいて、前記移動軌跡間の測地距離を算出する重み付き距離算出部と、静止物の移動領域と移動体の移動領域を異なるクラスに分類するか否かを判断するために用いられる前記測地距離の閾値に対して、前記静止指標に基づく重みを付けることにより得られる重み付き閾値と前記重み付き距離算出部が算出した前記測地距離との比較結果から静止物の移動軌跡と移動体の移動軌跡とを分離することにより、各ピクチャ上の静止物の領域と移動体の領域を分割する領域分割部とを含んでいてもよい。
この構成によると、距離に重みを掛けて重み付き距離を算出するのではなく、閾値に重み付けを行っている。このため、重み付き距離を算出するのに必要な演算時間や重み付き距離を保持するためのメモリ容量を削減することができる。
具体的には、前記領域分割部は、2つの移動軌跡の静止指標がそれぞれ「静止物」および「静止物」を表す値であるときの前記測地距離の閾値に対する重みを、2つの移動軌跡の静止指標がそれぞれ「移動体」および「静止物」を表す値であるときの前記測地距離の閾値に対する重みよりも大きくする。
また、上述の移動体検出装置は、さらに、前記複数の移動軌跡を、各々が類似する移動軌跡の部分集合である複数のサブクラスに分類するサブクラス分類部を備え、前記重み付き距離算出部は、移動軌跡の静止指標、移動軌跡間の距離、およびサブクラスの分類結果に基づいて、前記静止指標に基づく前記重みが付けられたサブクラス間の測地距離を算出し、前記領域分割部は、前記重み付き距離算出部が算出した前記サブクラス間の測地距離に基づいて、静止物のサブクラスと移動体のサブクラスとを分離することにより、各ピクチャ上の静止物の領域と移動体の領域を分割してもよい。
この構成によると、サブクラスごとに静止物の領域および移動体の領域のいずれかに分類される。各サブクラスは類似する移動軌跡の部分集合である。このため、より正しく移動体の領域を求めることができる。
好ましくは、前記距離算出部は、移動軌跡間の類似度を表す測地距離を算出し、前記重み付き距離算出部は、サブクラス間の測地距離の代表値に対して、サブクラスに含まれる移動軌跡の静止指標の代表値に基づく重みをかけることにより、前記サブクラス間の測地距離を算出する。
この構成では、サブクラス間の測地距離の代表値に対して重みを掛けている。このため、静止物らしさを反映したサブクラス間の測地距離の導出を簡易に実現できる。
また、前記距離算出部は、移動軌跡間の類似度を表す線形距離を算出し、前記重み付き距離算出部は、サブクラス間の線形距離の代表値に対して、サブクラスに含まれる移動軌跡の静止指標の代表値に基づく重みをかけ、重み付けされたサブクラス間の線形距離の代表値に基づいて、前記サブクラス間の測地距離を算出してもよい。
この構成では、サブクラス間の線形距離の代表値に対して重みを掛けた上で、サブクラス間の測地距離を算出している。このため、静止物らしさを反映したサブクラス間の測地距離の導出を簡易に実現できる。
また、前記重み付き距離算出部は、2つのサブクラス間で、前記2つのサブクラスに含まれる移動軌跡の静止指標の代表値がそれぞれ「移動体」および「静止物」を表す値であったときに、前記サブクラス間の測地距離の前記重みを、1よりも大きい値に設定してもよい。
さらに、前記重み付き距離算出部は、2つのサブクラス間で、前記2つのサブクラスに含まれる移動軌跡の静止指標の代表値がそれぞれ「静止物」および「静止物」を表す値であったときに、前記サブクラス間の測地距離の前記重みを、1未満の値に設定してもよい。
さらにまた、前記重み付き距離算出部は、2つのサブクラス間で、前記2つのサブクラスに含まれる移動軌跡の静止指標の代表値がそれぞれ「移動体」および「移動体」を表す値であったときに、前記サブクラス間の測地距離の前記重みを、1に設定してもよい。
このような簡単な重み付けのルールを設けることで、単純な重み設定で移動体の領域と静止物の領域とを分離することができる。
また、前記サブクラス分類部は、移動軌跡間の類似度に基づいて、各移動軌跡を前記複数のサブクラスのいずれかに分類してもよい。
また、前記サブクラス分類部は、移動軌跡間での、各移動軌跡に属するブロック同士の輝度の類似度に基づいて、各移動軌跡を前記複数のサブクラスのいずれかに分類してもよい。
また、前記サブクラス分類部は、前記移動軌跡間の測地距離を算出する第2距離算出部と、前記第2距離算出部が算出した前記移動軌跡間の測地距離の次元圧縮を行い、次元圧縮された前記移動軌跡間の測地距離に基づいて、各移動軌跡を前記複数のサブクラスのいずれかに分類するクラスタリング部とを含んでいてもよい。
測地距離の次元圧縮を行うことにより、膨大な計算が必要とせずに、非線形空間でクラスタリングを行うことによって、特に、形状が変化しながら移動する人物等を含むピクチャにおいても安定にクラスタリングできる。
また、前記サブクラス分類部は、前記複数の移動軌跡のそれぞれについて、当該移動軌跡から他の移動軌跡までの複数の距離のうち、前記所定の距離閾値以下の距離を選択し、選択しなかった距離を無限大に変更する非線形化をした後に、当該移動軌跡から他の移動軌跡までの最短経路を求めることにより、前記測地距離を算出し、移動軌跡間の測地距離が有限の値となる移動軌跡の集まりを同一のサブクラスに分類することにより、各移動軌跡を前記複数のサブクラスのいずれかに分類してもよい。
測地距離が無限大となる移動軌跡の組は不連続とすることによって、不連続点をもとに移動軌跡をサブクラスに分類することができる。
また、前記静止指標算出部は、静止物の移動軌跡に対して成立する幾何拘束を推定するための移動軌跡から前記幾何拘束を推定し、推定した前記幾何拘束に基づいて、前記距離算出部において距離を算出するのに用いられる各移動軌跡の静止指標を算出してもよい。
幾何拘束を推定するための移動軌跡から幾何拘束を推定している。このため、より安定にかつ正確な幾何拘束を求めることができるため、より安定かつ正しく移動体の検出を行うことができる。
好ましくは、上述の移動体検出装置は、さらに、前記動画像を撮影するカメラの動き情報を取得するカメラ動き取得部を備え、前記重み付き距離算出部は、前記カメラの動きの大きさに基づいて、重み付けの際の静止指標の重みを変化させる。
具体的には、前記重み付き距離算出部は、前記カメラの動きが大きいほど、静止物の移動軌跡と移動体の移動軌跡との間の距離の重み付けを大きくする。
カメラの動き情報を取得することにより、静止指標の算出を正確に行うことができる。このため、正しく移動体を検出することができる。
また、上述の移動体検出装置は、さらに、前記動画像を撮影するカメラの動き情報を取得するカメラ動き取得部を備え、前記重み付き距離算出部は、前記2つのサブクラスの静止指標の代表値がそれぞれ「移動体」および「静止物」を表す値であったときに、前記2つのサブクラス間の測地距離に重み付けを行い、前記カメラの動きが所定の閾値以上の場合の重みをWBとし、前記カメラの動きが前記所定の閾値よりも小さい場合の重みをWSとした場合に、WB>WS>1の関係を満たすようにしてもよい。
さらに、上述の移動体検出装置は、さらに、前記動画像を撮影するカメラの動き情報を取得するカメラ動き取得部を備え、前記重み付き距離算出部は、前記2つのサブクラスの静止指標の代表値がそれぞれ「静止物」および「静止物」を表す値であったときに、前記2つのサブクラス間の測地距離に重み付けを行い、前記カメラの動きが所定の閾値以上の場合の重みをWBとし、前記カメラの動きが前記所定の閾値よりも小さい場合の重みをWSとした場合に、WB<WS<1の関係を満たすようにしてもよい。
この構成によると、カメラの動きが大きい場合と小さい場合とで適切に重みを変更することができる。このため、正しく移動体を検出することができる。
好ましくは、前記カメラ動き取得部は、カメラに対する操作制御信号から前記カメラの動き情報を取得する。
カメラの動き情報をカメラの操作制御信号から取得することにより、カメラの動きが大きい場合であっても、正確なカメラの動き情報を取得することができる。よって、正しく移動体の領域を求めることができる。
また、前記カメラ動き取得部は、車載センサから前記カメラの動き情報を取得してもよい。
例えば、車輪速・舵角といった車体の操作情報を電子的に取得できればなおよい。車載カメラの場合、車載センサからカメラの動き情報を取得できれば、安定してカメラの動き情報を取得でき、正しく移動体の領域を求めることができる。なお、多くの場合、車載カメラは固定されているため、GPSからカメラ位置の情報を求めることもできる。
また、前記重み付き距離算出部は、さらに、前記移動軌跡の静止指標と静止指標閾値とを比較することにより、前記静止指標閾値以下の静止指標を有する前記移動軌跡を静止物の移動軌跡と判断し、前記静止指標閾値よりも大きい静止指標を有する前記移動軌跡を移動体の移動軌跡と判断してもよい。
また、前記重み付き距離算出部は、静止指標閾値を受け付ける閾値入力部を含み、前記移動軌跡の静止指標と前記閾値入力部が受け付けた前記静止指標閾値とを比較することにより、前記静止指標閾値以下の静止指標を有する前記移動軌跡を静止物の移動軌跡と判断し、前記静止指標閾値よりも大きい静止指標を有する前記移動軌跡を移動体の移動軌跡と判断し、前記領域検出部は、さらに、検出した前記移動体領域を前記表示部に表示させても良い。
これにより、移動体領域の検出結果を確認しながら、静止指標閾値を変更することができるため、より早く最適な静止指標閾値を決定することができる。
また、前記静止指標算出部は、さらに、前記ピクチャを構成する各ブロックを、算出した前記静止指標の値に応じた表示態様で、表示部に表示させても良い。
静止指標閾値は静止指標の値の分布に大きく依存するといえる。したがって、静止指標の値とその画像上での分布が確認できれば、領域分割処理を最後まで行なうことなく、静止指標閾値を調整できる。これにより、より早く最適な静止指標閾値を決定することができる。
なお、本発明の移動体検出装置は、各処理部をハードウェアにより構成することにより実現されるだけでなく、上記各処理部が実行する処理をステップとする移動体検出方法として実現したり、移動体検出方法が含むステップをコンピュータに実行させるためのプログラムとして実現したり、そのプログラムを格納したCD−ROM等のコンピュータ読み取り可能な記録媒体として実現したり、動画像において動きをもつオブジェクトの領域を抽出、または、分割する画像処理装置等として実現することもできる。
図1は、本実施の形態に係る移動体検出装置の構成を示す図である。図1に示されるように、移動体検出装置100は、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部105、重み付き距離算出部106、および領域分割部107を備える。移動体検出装置100は、動画像中の移動体領域の全部又は一部の領域を特定する領域分割をすることによって動画像中の移動体を検出する装置である。つまり、移動体検出装置100は、動画像中の複数の領域にそれぞれ対応する複数の移動軌跡から、移動体に対応する領域を検出する装置である。本実施の形態では、移動体検出装置100は、カメラ110で撮影した動画像を入力として受け、動画像中の移動体領域を検出し、検出結果に基づいてピクチャを生成して出力する。ディスプレイ120は、移動体検出装置100から出力されるピクチャを表示する。本明細書中では、ピクチャのことを画像ともいう。
画像入力部101は、動画像を構成する複数枚のピクチャの入力を受け付ける処理部であり、例えば、カメラ、または、カメラと接続された通信インタフェース等である。
移動軌跡算出部102は、画像入力部101で受け付けた複数枚のピクチャをもとに、複数枚のピクチャ間の対応点を複数求め、複数の移動軌跡として出力する処理部である。つまり、移動軌跡算出部102は、画像入力部101で受け付けられたピクチャを構成する1個以上の画素からなるブロックごとに、動画像を構成する時間的に隣接する2枚のピクチャ間での当該ブロックの動きを検出し、検出した動きを前記複数枚のピクチャについて連結することで、複数の移動軌跡を算出する。ピクチャ間の対応点は、ピクチャの1画素ごとに対応点を求めてもよいし、ピクチャ内の隣接する複数の画素(ブロック)ごとに1つの対応点を求めるとしてもよい。本明細書では、ある対応点が、1画素ごとに求められたか、複数の画素に対して1つ求められたかを区別しない。また、あるピクチャの画素iに対応する他のピクチャの対応点、および、あるピクチャのブロックiに対応する他のピクチャの対応点を、いずれも画素iの移動軌跡と呼ぶものとする。
静止指標算出部103は、移動軌跡算出部102で求めた移動軌跡の各々に対し、幾何拘束を適用し、各移動軌跡の静止物らしさを表す静止指標を求める処理部である。つまり、静止指標算出部103は、動画像を構成する2枚以上のピクチャ間におけるピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡の各々について、当該移動軌跡の静止物らしさを表す静止指標を算出する。静止指標に用いる幾何拘束に関しては、詳しくは後述する。
距離算出部104は、移動軌跡算出部102で求めた複数の移動軌跡から、T枚(T>=2)のピクチャ間にわたる対応点である移動軌跡をN個抽出し、抽出した移動軌跡より、2つの移動軌跡間の類似度を表す距離を算出する。
なお、本明細書における2つの移動軌跡間の「距離」は、対応する2次元画像空間における2点の間の距離だけでなく、後述するように、多次元のデータ間の算術的な距離を含む。なお、一般的に距離と類似度は相反する関係がある。すなわち、2つのデータ間の距離が小さい場合、類似度が高く、逆に2つのデータの距離が大きい場合、類似度が低いものとする。
また、本明細書において「線形距離」及び「測地距離」の2種類の距離を定義しているが、「線形距離」は2つのデータ間のみから求まる距離のことを指し、「測地距離」は、後述するように2つのデータ以外の点を経由することで求められる距離のことを指す。
なお、本明細書における「線形距離」は、一般的に用いられる「線形距離」を包含する、より広い概念の距離であり、すなわち移動軌跡間のピクチャ座標における位置、速度、加速度等といった幾何的な類似度を表す指標となる距離である。「線形距離」の代表的なものとして本明細書では「ユークリッド距離」を以降説明のため用いる。前記の距離の詳細な例については、距離算出部104の説明の部分にて後述する。
なお、本明細書において「静止」、「移動」とは、特に断りが無い限り、地球(地面)に固定した世界座標系を基準として、世界座標系における位置が、時間的に変化しない対象物を静止物、時間的に変化する対象物を移動体として説明する。ただし、「静止」、「移動」の基準を上記に限定するものではなく、例えば、移動する車両の内部を車内に設置されたカメラで撮影する場合などは、車両に固定された世界座標系を基準として、その位置が時間的に変化しない対象物を静止物、時間的に変化する対象物を移動体と扱っても良い。
サブクラス分類部105は、移動軌跡算出部102で求めた複数の移動軌跡に対して、軌跡間距離、あるいは速度などの類似度をもとに、複数の移動軌跡を、各々が少なくとも1つの移動軌跡を含む複数のサブクラスにクラスタリングする。つまり、サブクラス分類部105は、動画像を構成する複数枚のピクチャにわたる、各々がピクチャを構成する1個以上の画素からなるブロックの動きの軌跡である複数の移動軌跡を、各々が類似する移動軌跡の集合である複数のサブクラスに分類する。
重み付き距離算出部106は、静止指標算出部103の出力である各移動軌跡に付随する静止指標と、距離算出部104の出力である各移動軌跡間の距離と、サブクラス分類部105の出力である各移動軌跡がどのサブクラスに属するかのラベル情報とに基づき、静止指標で重み付けされたサブクラス間の測地距離(以下、適宜「サブクラス間測地距離」という。)を算出する。
つまり、重み付き距離算出部106は、移動軌跡間の距離に基づいて、移動軌跡間の測地距離を算出し、移動軌跡の静止指標に基づいて、算出した各測地距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間の測地距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の測地距離の比が大きくなるような重みを付けることにより、重み付き測地距離を算出する。
具体的には、重み付き距離算出部106は、まず各移動軌跡間の測地距離を求めたのち、サブクラス間での代表測地距離を求める。また、重み付き距離算出部106は、各サブクラスにおける静止指標の代表値を求める。重み付き距離算出部106は、サブクラスの静止指標が、予め定めた静止指標閾値を超えるか超えないかにより、各サブクラスが移動体らしいか、静止物らしいかを求め、求めた結果を重みとしてサブクラス間の代表測地距離にかけることで、サブクラス間の測地距離を算出する。つまり、重み付き距離算出部106は、サブクラスの静止指標と静止指標閾値とを比較することにより、静止指標閾値以下の静止指標を有するサブクラスを静止物のサブクラスと判断し、静止指標閾値よりも大きい静止指標を有するサブクラスを移動体のサブクラスと判断する。静止指標の条件や、重み付けの基準などについて、詳しくは後述する。
最後に、領域分割部107は、重み付き距離算出部106より算出されたサブクラス間測地距離に基づき、複数のサブクラスの領域統合を行い、最終的に得られた領域分割結果を、例えば、特定された領域ごとに異なる表示態様となるように、画像処理を施し、ディスプレイ120などに表示可能な形式として出力する。つまり、領域分割部107は、重み付き距離算出部106が算出した重み付き測地距離に基づいて、重み付き測地距離が所定の閾値以上となる移動軌跡同士を異なるクラスに分類することにより、各ピクチャ上の静止物の領域と移動体の領域を分割する。
本明細書において、「領域抽出」とは、ある特定の対象物が存在する画像領域を抽出する検出技術と、対象物が何であるかの区別なくピクチャ中の領域を分割する領域分割技術との、両者を含んでいる。検出技術と領域分割技術とは共通する部分が多いため、本明細書においては両者を区別しない。
また、本明細書において、「移動体検出」とは、基準となる座標系に対して移動している物体が存在する画像領域のみを特定する検出技術と、相対的に異なる移動をしている物体ごとにピクチャ中の領域を分割する領域分割技術の両者を含んでいる。
なお、移動体検出装置100を構成する各構成要素(画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部105、重み付き距離算出部106、領域分割部107)は、コンピュータ上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路または集積回路等のハードウェアで実現されてもよい。図2は、ソフトウェアによって実現された本実施の形態に係る移動体検出装置のハードウェア構成を示す図である。図2において、カメラ110はピクチャを撮影して出力し、コンピュータ200はピクチャを取得して移動体抽出処理を行って、領域抽出結果を表示するピクチャを生成する。ディスプレイ120はコンピュータ200で生成されたピクチャを取得して表示する。コンピュータ200は、I/F(インタフェース)201、CPU(Central Processing Unit)202、ROM(Read Only Memory)203、RAM(Random Access Memory)204、HDD(Hard Disk Drive)205およびビデオカード206を含む。コンピュータ200を動作させるプログラムは、ROM203またはHDD205にあらかじめ保持されている。プログラムは、プロセッサであるCPU202によって、ROM203またはHDD205からRAM204に読み出されて展開される。CPU202はRAM204に展開されたプログラム中のコード化された各命令を実行する。I/F201は、プログラムの実行に応じて、カメラ110で撮影されたピクチャを、RAM204へ取り込む。ビデオカード206は、プログラムの実行に応じて生成されたピクチャを出力し、ディスプレイ120がそのピクチャを表示する。
なお、コンピュータプログラムは、半導体であるROM203またはHDD205に限られず、例えばCD―ROMに格納されていてもよい。また、有線や無線のネットワーク、放送などを介して伝送され、コンピュータのRAM204に取り込まれてもよい。
以下、本実施の形態に係る移動体検出装置100の動作を、図3を用いて説明する。
図3は、本実施の形態に係る移動体検出装置100の動作を表すフローチャートである。
図3において、7つのステップS301〜S307は、それぞれ図1の各処理部101〜107に対応している。すなわち、画像入力部101は画像入力ステップS301、移動軌跡算出部102は移動軌跡算出ステップS302、静止指標算出部103は静止指標算出ステップS303、距離算出部104は距離算出ステップS304、サブクラス分類部105はサブクラス分類ステップS305、重み付き距離算出部106は距離算出ステップS306、領域分割部107は領域分割ステップS307の各動作を実行する。
最初に、画像入力ステップS301が、画像入力部101により実行される。つまり、画像入力部101は、カメラ110から、動画像を構成する複数のピクチャを取得する。本実施の形態では、カメラ110から取得される動画像は30フレーム/秒の動画像である。
図4は、撮影状況の一例を示す図である。また、図5A〜図5Cは、カメラ110によって、図4の撮影状況を撮影して取得した複数のピクチャの例を示す。画像入力部101により、1フレームからTフレームまでのT枚(T>=2)のピクチャが入力されたものとする。本実施の形態では、ピクチャの数Tはあらかじめ定められており、30フレーム(T=30)とする。図5Aは1フレーム目のピクチャを示し、図5CはTフレーム目のピクチャを示し、図5Bは1フレーム目とTフレーム目の間のフレームのピクチャを示す。
次に、移動軌跡算出ステップS302が、移動軌跡算出部102により実行される。つまり、移動軌跡算出部102は、画像入力部101から複数のピクチャを入力し、ピクチャ間の画素の動き情報(対応点)を検出して、移動軌跡を生成して出力する。複数のピクチャ間の画素の動き情報(対応点)を求める手法として、ここでは1フレームのピクチャ上における全ての画素(I個)を基準として、2フレームからTフレームまでの(T−1)枚のピクチャ上の対応する画素を求める。
以下、本実施の形態では、画素単位の処理について説明するが、複数の画素からなるブロック単位で処理をする場合には、(i)ブロック内で画素値を合計したり、(ii)ブロック内の画素値の平均値を求めたり、(iii)ブロック内の画素値の中央値を求めたりすることで、ブロックに対応するデータ(代表値)を求め、得られた代表値を用いて画素単位の処理と同様に処理すればよい。
例えば、ステップS301にてT枚のピクチャが入力されたと仮定すると、移動軌跡算出部102は、tフレームとt+1フレームの2枚のピクチャを用いて、画素iの動きベクトルとして対応点の画素座標値(xt i,yt i,xt+1 i,yt+1 i)を推定する。ここでは、必ずしもフレームが連続している必要はなく、例えば、tフレームとt+nフレームの2枚のピクチャを用いて画素の動きを求めてもよい。ただし、nは1以上の整数である。
上記した複数のピクチャ間の対応点を算出する具体的な手法としては、非特許文献1または非特許文献2などに開示されている方法を用いてもよい。ともに、オプティカルフローを計算することにより動きベクトルを算出する手法であり、非特許文献1は階層的なブロックマッチングをベースに、オプティカルフローを算出する。画素間の滑らかさを拘束条件とするため、隣り合うオプティカルフロー間で動きベクトルが滑らかに変化するようなオプティカルフローを得る。特に急峻な動きや遮蔽がない場合に効率的かつ正確な対応点が求められる。また、推定の信頼度を計算できるため、後述するように、信頼度がある閾値より低い対応点を以降の処理より除くことで、全動きベクトルに対する誤った動きベクトルの割合を低減でき、より正確な移動体検出を行えるという効果がある。
さらに、移動軌跡算出部102は、画素の動きとして、前記動きベクトルの代わりにアフィンパラメータを推定してもよい。この時、すべての画素について動き情報を求めてもよい。また、より高速に処理を行いたい場合には、ピクチャをグリッドに区切って一定間隔のグリッド上の画素についてのみ動き情報を求めてもよいし、上述したように、ピクチャをブロックに区切ってブロックごとに動き情報を求めてもよい。
さらに、非特許文献1の開示技術を用いて動きベクトルを算出する場合は、前述したようにその信頼度を計算することができるため信頼度の高い動き情報を持つ画素のみを用いてもよい。また、非特許文献2の開示技術を用いて動きベクトルを算出する場合は、前述したようにオクルージョンを推定することができる。そのため、遮蔽(しゃへい)されていない画素の動き情報のみを用いてもよい。
さらに、画素の動きを算出する手法として、前記したブロックの並進移動を仮定して動きベクトルを算出する方法の代わりに、ブロックのアフィン変形を仮定して動きベクトルを算出する方法を用いてもよい。アフィン変形を仮定して動きベクトルを算出する方法は、非特許文献3の開示技術を用いて実現することができる。
Jianbo Shi and Carlo Tomasi "Good Features to Track", IEEE Conference on Computer Vision and Pattern Recognition,pp593−600,1994
上記手法では、tフレームとt+1フレームのピクチャの画素i近傍の動きに相当するアフィンパラメータAt iを推定する。画素iについて、tフレームとt+1フレームにおけるピクチャ上での画素位置xt iとxt+1 iは(式1)に示す関係がある。
上記手法では、特に回転運動をする物体に対して、並進移動を仮定して動きベクトルを算出する手法を用いる場合よりも、高精度に画素iの動きを推定することができる。
そして、移動軌跡算出部102は、時間的に異なるT枚のピクチャ間で算出された前記画素の対応点から移動軌跡iを算出する。以下、画素iの移動軌跡を、移動軌跡iと呼ぶこととする。図6Aに示すように、移動軌跡算出部102は、tフレームの入力ピクチャ601の画素i603a、画素k603bに基づきステップS302において算出された動きベクトル情報602を用いて、画素i603a、画素k603bの動きを追跡し、画素i603a、画素k603bの対応点を求める。この時、移動軌跡算出部102は、1フレームのピクチャ上のある画素iの座標値(x1 i,y1 i)と、tフレームにおける画素iの対応点の画素座標値(xt i,yt i)とから、(式2)のように移動軌跡xiを算出する。
本実施の形態において、移動軌跡xiは、1フレームからTフレームまでのT枚のピクチャ間にわたる対応点であるものとする。
図6Bは、移動軌跡の例を示す。移動軌跡算出部102に入力された動画像は、T枚のピクチャ604で構成されている。このとき移動軌跡xi606a、xk606bは、1フレームのある画素i605a、画素k605bにそれぞれ対応する、2フレームからTフレームのピクチャ上の対応点の集まりである。移動軌跡xi606a、xk606bは、各ピクチャのピクチャ座標値を要素とするベクトルで表される。
なお、移動軌跡算出部102においてピクチャ間の対応点を求める際、ピクチャの全ての画素ごとに対応点を求める代わりに、ピクチャ内の隣接する複数の画素(ブロック)ごとに対応点を求めるものとしてもよい。本明細書において、ある対応点が1画素ごとに求められたものか、または複数の画素に対して1つの対応点が求められたかを区別しない。また、あるピクチャの画素iに対応する他のピクチャの対応点、および、あるピクチャのブロックiに対応する他のピクチャの対応点を、いずれも画素iの移動軌跡と呼ぶものとする。
次に、静止指標算出ステップS303は、静止指標算出部103により実行される。つまり、静止指標算出部103は、移動軌跡算出部102で算出された複数の移動軌跡のそれぞれについて静止指標を算出する。ここで移動軌跡の静止指標とは、ある移動軌跡が静止物上の移動軌跡である尤もらしさを表す指標である。
静止指標算出部103は、静止物上の移動軌跡が満たすべき幾何拘束を推定したのち、求めた幾何拘束を各移動軌跡が満たす度合いを表す誤差を求め、この誤差を静止指標とする。すなわち、ある移動軌跡の静止指標の値が小さい(誤差が小さいほど)、静止物上の移動軌跡である尤もらしさは高いことを表す。逆に、ある移動軌跡の静止指標の値が大きい(誤差が大きい)ほど、静止物上の軌跡である尤もらしさは低いことを表すものとする。
図7は、静止指標算出部103の構成を示す。静止指標算出部103は、各フレーム間で静止物体上の対応点が満たすべき幾何拘束を推定する幾何拘束推定部701と、幾何拘束を元に、移動軌跡の静止物らしさからの外れ具合、すなわち移動軌跡の移動体らしさ(以下、「移動体らしさ」という)の度合いを表す幾何拘束誤差を算出する誤差算出部702とを含む。
以下、静止指標算出部103で用いる幾何拘束について説明する。
幾何拘束については、図8に示すように、様々な拘束が知られている。
「2眼」または「3眼」は、フレーム数あるいはカメラの数についての条件を示す。「2眼」は、2枚の画像間において成立する拘束のことを示し、例えば、1台のカメラを使ったものでも、動画像のように時間をずらして撮影された画像が複数枚あればよい。同様に、「3眼」は、3枚の画像間において成立する拘束のことを示す。複数枚の画像は、連続した異なるフレームから取得してもよいし、複数台カメラがある場合は、それぞれから1枚ないし複数枚の画像を取得して利用しても良い。なお、本実施の形態では、連続フレームから取得した画像を利用するものとする。
以上の大分類についてそれぞれ代表的なものを2つずつ、計4つの拘束の種類を図8に示す。
エピポーラ拘束(Epipolar Constraint)は、カメラ幾何拘束のなかでも最も標準的に用いられる拘束条件である。エピポーラ拘束は、疎な対応点に対してうまく働くが、正確な対応点が好ましく、また、フレーム間でのカメラ位置の基線長が大きいほうが好ましい、という特徴がある。
図9Aはエピポーラ拘束について説明するための図である。
第1フレームの画像上の点p1 iに射影される静止点Xは、第2フレームの画像上では、エピポーラ線と呼ばれるエピポールe2を通る直線l2上に、存在する点p2 iに射影される。したがって、対応点p2 iがエピポーラ線l2から一定閾値以上の距離を外れた場合、その対応点は静止物ではなく、移動体上の点である、と判定できる。なお、一定の閾値については、対応点の誤差等のノイズにもよるが、一般的には0〜数画素の範囲内で設定される。
エピポーラ拘束は、3×3行列で表される基礎行列F1,2によって以下のように与えられる。
ここで、p1 iは、(x1 i,y1 i,1)の形式で示される第1フレームの画像上の画素iの画素位置、p2 iは、同じく(x2 i,y2 i,1)の形式で示される、p1 iに対応する第2フレームの画像上の対応点画素位置である。l1 i,l2 iはエピポーラ線である。
一般的に基礎行列F((式5)では基礎行列F1,2)は、8点法、6点法等でRANSAC(RANdom SAmple Consensus)等の繰り返し計算により推定される。特に、シーンに立体点が多い場合は、8点の対応点から基礎行列Fを計算により求めて推定する8点法を用い、平面上の点が多い場合は、ホモグラフィ(Homography)行列を利用してエピポールを求める6点法を用いると、より安定に基礎行列Fを推定できる。
図9Bはホモグラフィ拘束について説明するための図である。
ホモグラフィ拘束は、例えば被写体が平面で仮定される場合や、カメラの動きが回転のみの場合などに成り立つ拘束条件である。ホモグラフィ拘束は、カメラ動きは小さくてもよく、またノイズにも強く、密な対応点に適している。
図9Bに示すように、あるシーン平面π上の点Xπが射影された第1フレームの画像での点p1 iと第2フレームの画像での点p2 iとについて、3×3行列で表されるホモグラフィ行列H1,2による以下の変換式が成立する。
ここで、p1 iは、(x1 i,y1 i,1)の形式で示される第1フレームの画像上の点p1の画素位置、p2 iは、同じく(x2 i,y2 i,1)の形式で示される、点p1に対応する第2フレームの画像上の点p2の画素位置を示す。一般的にはホモグラフィ行列H((式6)ではH1,2)は、平面上の4点以上の点を用いて、RANSACなどを用いて画像から推定することができる。
したがって、対応点が変換式から外れていれば、3次元点Xπは平面から外れているということになる。シーンを平面であると仮定している場合は、静止指標算出部103は、ホモグラフィ変換式から外れた対応点は、移動体上の点であると判定する。
三重線形(Trilinear)拘束は、2眼間で成り立つエピポーラ拘束を、3眼間での拘束条件に発展させたものである。三重線形拘束は、ある空間の静止点に対応する3枚のフレームの画像上での対応点について考えた場合、第1フレームでのカメラ中心と第1フレームの画像上の対応点とを結ぶ直線、第2フレームでのカメラ中心と第2フレームの画像上の対応点とを結ぶ直線、及び第3フレームでのカメラ中心と第3フレームの画像上の対応点とを結ぶ直線が、1点で交わるための拘束条件を与えるものである。この拘束はtrifocal tensorと呼ばれるテンソルにより表現されるもので、第1フレームの画像上で点p1 i、第2フレームの画像上で点p2 i、第3フレームの画像上で点p3 iに射影されているある3次元空間上の静止点Xについて、3×3行列で表されるテンソルTj(j=1〜3)によって以下の(式7)が成り立つ。
ここでp1 i(j)は、p1 iのj番目の成分を示すものとする。また、03×3は、全ての成分が0である3×3の行列である。一般的には、Tjは、7点の対応点を用いて線型方程式を解き、LMedSなどによる繰り返し計算を行うことで求めることができる。
エピポーラ拘束、ホモグラフィ拘束、三重線形拘束について、より詳しい説明は、非特許文献4に記載されているため、詳細は省略する。
図10は、構造一致性拘束(Structure Consistency Constraint)について説明するための図である。
構造一致性拘束は、ホモグラフィ拘束を発展させたものであり、射影デプス(Projective Depth)と呼ばれるホモグラフィ面πからの相対的なデプスを用い、静止物の拘束条件とするものである。図10に示すように、第1フレームの画像上の点xに写る3次元点Xを、そのまま第2フレームの画像上に射影した点は点x’となるが、もしXが、Xπ’で示される平面π上の点であっても、第2フレームの画像上では点x’に投影される。このとき、第1フレームの画像上ではXπ’は、点x〜に写る。Xが、x’とXπ’とを結ぶ直線に沿って、平面πから離れれば離れるほど、x〜とxとの間の距離は大きくなる。このとき、図10に示すように、x、x〜、x’、およびエピポールe、e’はそれぞれ第1フレームにおけるカメラ110の位置C1と、第2フレームにおけるカメラ110の位置C2と点Xとがなす平面上に必ず存在する。すなわち、点xおよびエピポールeの距離と、点x〜およびエピポールeの距離との比に着目することで、参照平面πを基準とした相対的なデプス表現(射影デプス)を実現できる。
このとき、射影デプスの値k12 iは、以下の式で計算される。
ここで、p1 iは、(x1 i,y1 i,1)の形式で示される第1フレームの画像上の点の画素位置を示す。e1は(u,v,1)の形式で示される、第1フレームの画像上のエピポールの画素位置を示す。H21は、参照平面π上の点について、第2フレームの画像上の点を、第1フレームの画像上の点に射影する3×3のホモグラフィ行列を示す、p2 iは、(x2 i,y2 i,1)の形式で示される、p1 iに対応する第2フレームの画像上の点の画素位置を示す。これらより、対応点の存在する全てのピクセルについて、射影デプスk12 iを求めることができる。
ここで、静止物に対する幾何拘束を推定するには最低3フレームの画像を用いる必要がある。点Xが静止しているときには、以下に示すように、画像上の点と射影デプスについて、4×4行列G1,2,3を介した以下のバイリニアな拘束式が成立する。
なお、p1 iとp2 iは前述のとおり対応点関係にあるものとし、k23 iは、k12 i同様に第2フレームの画像と第3フレームの画像の対応点の間で求められる射影デプスである。
したがって、このG1,2,3を画像から推定し、画像中で拘束式を満たさない画素を求めることで、各画素について、静止物と移動体のどちらに属するかを推定することができる。G1,2,3は、15点を用いて、LMedSなどによる繰り返し計算などで推定することができる。
以上が静止指標算出部103で用いる幾何拘束の例である。
幾何拘束推定部701は、上述した幾何拘束を推定する。どの幾何拘束を用いるかは、シーンおよび状況によって利用者が選択してもよい。
ホモグラフィ拘束を利用する場合は、画像からホモグラフィHを推定し、エピポール拘束を用いる場合は、基礎行列Fを推定し、構造一致性拘束を用いる場合は、行列Gを推定し、それぞれ誤差算出部702へ出力する。
誤差算出部702は、幾何拘束推定部701が推定した幾何拘束を元に、各画素に対応する移動軌跡の静止物らしさを表す静止指標Eを算出する。
幾何拘束を満たさない点は、静止物である可能性が低いと言えるため、推定した幾何拘束を元に、各画素に対応する移動軌跡の静止物らしさからの外れ具合、すなわち移動体らしさの度合いを表す幾何拘束誤差を、静止物らしさの静止指標Eとして算出する。静止指標Eは、静止物に対して理想的に0となるような評価値を利用する。
本実施の形態において、静止指標Eを算出するための幾何拘束として、エピポーラ拘束を利用する。具体的には、ある画素iについての第1フレームから第Tフレームまでの静止指標E(i)として以下の(式10)を用いる。
なお、ホモグラフィ拘束を利用する場合は、以下の式の値を静止指標E(i)とすればよい。画像平面上における、最投影誤差が評価値になっている。
なお、構造一致性拘束を利用する場合は、以下の式の値を静止指標E(i)とすればよい。バイリニア拘束式の値が評価値になっている。
もちろん、ここに挙げた以外にも、静止物に対して0になり、移動体に対して0以外の値をとるような指標であれば、静止物らしさの静止指標Eとして利用してよい。つまり、静止物上の移動軌跡に対して理想的に0となる評価値であって、かつ、より静止物らしくない、例えば、より速い速度で移動するような移動体上の移動軌跡に対しては、0から+方向へより大きくなるような評価値をとる指標であれば、その評価値を静止指標Eとして利用できる。
なお、ここでは静止指標Eとして単一の幾何拘束を用いる例を示したが、複数の幾何拘束及び幾何拘束誤差を同時に静止指標Eに組み込んで利用しても良い。例えば、ホモグラフィ拘束とエピポール拘束を同時に利用する場合は、以下の(式13)によって静止指標Eを求めることができる。ここで、λ1とλ2は、各幾何拘束誤差値のバランスを指定するための値であり、例えばどちらも1とすることができる。単一の幾何拘束誤差では誤差感度が低い部分が生じるが、複数の誤差を利用することで、誤差感度のバラつきをカバーすることができ、より安定に静止指標Eの値を求めることができる。
移動軌跡の静止物らしさを示す静止指標Eの例を図11Aに示す。図中では、移動軌跡の静止物らしさを示す静止指標Eの大きさを、矢印の線の太さによって表している。つまり、図11Bに示すように、矢印の線が細いほど静止指標Eが小さく静止物らしい。なお、カメラ自身が前方へ移動しているため、背景の移動軌跡においても、大きな動きが生じている。また、矢印の方向は移動軌跡の方向を示している。
図11Aに示すように、ほとんどの場合、移動体上の移動軌跡では静止指標Eが大きな値となり、背景上の移動軌跡では静止指標Eが小さな値となる。例えば、右側の歩行人物1101の脚部上の移動軌跡における静止指標Eiは大きく(例えばKLT(Kanade−Lucas−Tomasi)対応点とエピポーラ拘束を用いた場合、動きの大きさにも依存するが、例えば静止指標Eiは5程度)、背景上の移動軌跡における静止指標Ejは小さくなる(例えばKLT対応点とエピポーラ拘束を用いた場合、大きくても静止指標Ejは0.5程度)。このように、移動体上の移動軌跡と静止物上の移動軌跡とでは、静止指標Eの大きさが大きく異なる場合、静止指標Eに基づいて、移動体上の移動軌跡と背景上の移動軌跡とを区別できるといえる。
しかし、移動体上の移動軌跡であっても、偶然に背景上の移動軌跡に近くなり、その結果、静止指標Eが小さくなる場合がある。例えば、左側の歩行人物1102上の移動軌跡の静止指標Ekは、偶然背景と類似した軌跡になったために静止指標Eの値が小さくなっている。さらには、背景上の移動軌跡であっても、移動軌跡算出の誤差によって、静止指標Eの値が大きくなる場合がある。このように、移動軌跡の静止物らしさを示す静止指標Eには、移動体上の移動軌跡の静止指標(例えば、Ek)と、背景上の移動軌跡の静止指標(例えばEj)の値が近くなる場合がある。その結果、移動体上の移動軌跡であっても、背景として誤検出されてしまうことがある。
このような誤検出を防ぐため、本実施の形態では、移動軌跡の静止物らしさを示す静止指標に加えて、移動軌跡間の類似度を加味して移動軌跡をクラスタリングすることで、安定に移動体を検出することを目指す。より具体的には、移動軌跡の静止物らしさを示す静止指標を、後述する移動軌跡間の類似度に基づいたクラスタリングへの重み付けとして用いる。
次に、距離算出ステップS304は、距離算出部104によって実行される。つまり、距離算出部104は、移動軌跡算出部102が算出した複数の移動軌跡xiを用いて、移動軌跡間の類似性を表す距離を算出する。すなわち、画素iの移動軌跡と画素jの移動軌跡との間のユークリッド距離f(i,j)および測地距離g(i,j)を段階的に算出する。ここで、ユークリッド距離、測地距離はともに、移動軌跡の類似性を表す距離であるため、全く等しい移動軌跡間ではどちらも0となり、逆に移動軌跡間の類似性が低いほど、正のより大きな距離値(∞含む)をとるような距離である。
以下、距離算出部104において、移動軌跡間の類似度を表す距離を算出する方法について、図12を参照しながら説明する。
図12(a)は、距離算出部104の構成の一例を示す図である。距離算出部104は、ユークリッド距離算出部1201と、移動軌跡間測地距離算出部1202とを含む。
図12(a)の構成によれば、ユークリッド距離算出部1201は、(式14)により、画素iの移動軌跡と画素jの移動軌跡とのユークリッド距離f(i,j)を算出する。
ここで(式14)によって算出されるユークリッド距離f(i,j)は、表記の都合上、全ての移動軌跡間について定義したが、ユークリッド距離として有限な値となるのは、N個の移動軌跡xiの間でのみとなる。
なお、本実施の形態におけるユークリッド距離は、(式14)によって算出するとしたが、この式に限定するものではない。ユークリッド距離は、(式14)と同様に、移動軌跡間のピクチャ座標における位置、動き、加速度、回転速度などのような、幾何的な類似度を表す指標であればよく、例えば、下記の(式15)を用いてもよい。
(式15)において、wは重み係数であり、設計者が設定するパラメータである。上記(式15)の移動軌跡間のユークリッド距離f(i,j)は、移動軌跡間におけるピクチャ座標の距離の時間平均に、ピクチャ座標の距離の時間変動成分を加えたものである。特に移動軌跡間距離の時間変動成分は、移動軌跡の動きの類似度を示すものであり、これによって、形状変化を伴うような場合でも、より正確に移動軌跡間の類似度を捉えることができる。
以上の手順で算出した移動軌跡間のユークリッド距離f(i,j)の集まりを、ユークリッド距離マトリクスFdistとして表す。
続いて、距離算出部104の移動軌跡間測地距離算出部1202は、移動軌跡間のユークリッド距離f(i,j)から測地距離g(i,j)を算出する。
以降、移動軌跡間測地距離算出部1202において、ユークリッド距離f(i,j)から測地距離g(i,j)を算出する動作を詳しく説明する。
まず、移動軌跡間測地距離算出部1202は、ユークリッド距離算出部1201が算出したユークリッド距離f(i,j)に対してあらかじめ定められた閾値Rを用いて、(式17)で示される非線形化された距離f´(i,j)を算出する。
次に、移動軌跡間測地距離算出部1202は、非線形化された距離f´(i,j)から、測地距離を算出する。「測地距離」とは、ある空間に定義された複数のデータ点について、それらのデータ点間の接続、及び接続されたデータ点間の距離が得られているときに、ある2つのデータ点間を結び得る全ての経路の距離のうちの最短の距離である。
したがって、移動軌跡間測地距離算出部1202は、第iの移動軌跡xiから第jの移動軌跡xjまでの測地距離の算出においては、他の複数の移動軌跡のいずれかを中継点として第iの移動軌跡xiから第jの移動軌跡xjに辿りつく全ての経路のうちの最短の経路を、測地距離として算出する。
例えば、移動軌跡xiと移動軌跡xjの2点間を直接結ぶノードの距離f´(i,j)が得られているとする。このとき移動軌跡xiと移動軌跡xjの2点間を結ぶ経路は、2点を直接結ぶノード以外に、別の移動軌跡xsを中継する経路もある。この経路の距離をf´(i,s)+f´(s,j)とする。このような移動軌跡xiと移動軌跡xjの2点間を結ぶ経路は複数あり、それらの距離のうちで最も短い距離を測地距離g(i,j)として算出する(式18)。
(式18)において、min(x,y,…)は、値xと値yなどのうち最も小さい値を返す関数である。また、sは、移動軌跡xsであり、移動軌跡xiから移動軌跡xjに辿(たど)りつくための中継点である。ここで、f´(i,s)+f´(s,j)における中継点sは1点に限るものではない。
上記した手順により、移動軌跡間測地距離算出部1202は、長時間継続する移動軌跡間のユークリッド距離f(i,j)から測地距離g(i,j)を算出する。なお、測地距離の計算方法は、前記(式17)及び(式18)に限定されるものではない。
なお、ユークリッド距離と測地距離の最も異なる点は、距離を求める2データ点と、他のデータ点との間の関係である。他のデータ点の状態に左右されることなく、2つのデータ点のみから定義されるのがユークリッド距離であり、それに対して、2つのデータ点、及び2つのデータ点間を結び得る経路上にある他のデータ点を含む距離として定義される、すなわち他のデータ点の状態から影響を受ける可能性があるのが測地距離である。
算出した移動軌跡間の測地距離g(i,j)の集まりを、測地距離マトリクスGdistとして表す(式19)。
以上の手順によって、移動軌跡間測地距離算出部1202は、N個の移動軌跡間の類似度を表す測地距離g(i,j)を算出し、測地距離マトリクスGdistとして出力する。
上記した複数の移動軌跡間のユークリッド距離から測地距離を算出する処理について、図13A〜図13Cの概念図を用いて説明する。
図13Aは、ピクチャ上の複数の移動軌跡の一例を示す図である。なお移動軌跡は、背景領域においても算出されるが、表記を容易にするため、ここでは背景領域の移動軌跡を図示しないものとする。
図13Bは、各々が(式2)で示される複数の移動軌跡のデータの分布を示した図である。図13B中の「×」印の各データ点は、(式2)で示した画素iの移動軌跡xiに相当する。移動軌跡xiは独立したT×2個の変数からなるベクトルである。したがって、移動軌跡は、本来は最大で(T×2)次元空間のデータであるが、図13Bでは表記の都合上、3次元空間の点として表している。
図13B中の矢印1301は、(式14)で得られる移動軌跡xiと移動軌跡xjとの間のユークリッド距離f(i,j)を表す。すなわちデータ点iとデータ点jとのユークリッド距離1301は、データ間を直接結んだ距離になる。
一方、図13C中の矢印1302は、(式18)で得られる移動軌跡xiと移動軌跡xjとの間の測地距離g(i,j)を表す。図13Cに示すように、データ点iとデータ点jとの測地距離1302は、中継のデータ点sを辿った距離となる。
次に、ユークリッド距離f(i,j)と、(式18)により算出した測地距離g(i,j)の特徴を、図14(a)及び図14(b)の概念図を用いてより詳しく説明する。
ピクチャ内の移動体について、頭部の移動軌跡xiと手先部の移動軌跡xjとのユークリッド距離を、図14(a)中の矢印1401で示す。同図から明らかであるように、移動軌跡間のユークリッド距離1401は、距離を求める対象である2つの移動軌跡xi、xjにのみ依存し、他の移動軌跡とは無関係な距離となる。
一方、頭部の移動軌跡xiと手先部の移動軌跡xjとの測地距離1402を、図14(b)に示す。この場合、距離を求める対象である2つの移動軌跡xi、xjだけでなく、太矢印1402で示すように、xsをはじめとする近傍の複数の移動軌跡を経由して移動軌跡xjにたどり着く。したがって、測地距離1402は、経由した複数の移動軌跡間の距離の和となるため、移動軌跡xi、xj以外の移動軌跡の影響を受ける。
言い換えると図14(a)のユークリッド距離1401は、他の移動軌跡の分布をまったく反映していない。このため、人物のように関節で繋がった移動体において、移動軌跡間の距離は、その形状には依存しない値をとる。これに対して、図14(b)に示される測地距離1402では、他の移動軌跡を反映した距離となっている。したがって関節で繋がった移動体において、移動軌跡間の距離は、移動体の形状に依存する値をとる。すなわち関節における繋がりが情報として距離に含まれるため、人のような形状が変化する移動体検出にも利用できる。
前述したように、(式2)で示される移動軌跡xiは、数学的には最大で(T×2)次元空間のデータである。しかし、実際にピクチャから求められる移動軌跡は、図13Bおよび図13Cのように(T×2)次元空間のごく一部に局在化する性質をもつことが、発明者の実験によっても確認されている。このような性質をもつ移動軌跡に対して、複数の移動軌跡間の類似度を表す距離の尺度としては、データの分布とは無関係に2データ間の距離のみを求めたものであるユークリッド距離(図14(a)のユークリッド距離1401)よりも、近傍のデータの粗密を反映した測地距離(図14(b)の測地距離1402)の方が、適していると言える。
なお、移動軌跡間測地距離算出部1202において、ユークリッド距離から測地距離を求める手法として、(式17)および(式18)を用いる手法を示したが、測地距離の算出方法をこれに限定するものではない。
例えば、あらかじめ定めたK個の閾値Rkの代わりに、あらかじめ定めたK個の閾値Nkを用いる。そして、ユークリッド距離f(i,j)から非線形化した距離f´k(i,j)を求める処理として、以下の処理を行ってもよい。つまり、閾値Rk以上のユークリッド距離f(i,j)を無限大に置き換える(式17)の処理の代わりに、ある移動軌跡xiと他の(I−1)個の移動軌跡とのユークリッド距離f(i,j)のうちで、小さいほうからNk番目のユークリッド距離よりも大きいユークリッド距離を無限大で置き換えることによって、非線形化した距離f´k(i,j)を算出してもよい。
また、ユークリッド距離を無限大に置き換える処理の代わりに、小さいほうからk番目の移動軌跡とのユークリッド距離よりも大きい移動軌跡とのユークリッド距離を無限大で置き換えることによって、非線形化した距離f´k(i,j)を算出するとしてもよい。
次に、サブクラス分類ステップS305は、サブクラス分類部105により実行される。つまり、サブクラス分類部105は、移動軌跡算出部102で算出された移動軌跡の集まりを、輝度、または移動軌跡の類似度等の、ある指標によりクラスタリングすることで、サブクラスを生成する。
本実施の形態においてサブクラス分類部105は、図15に示すように、移動軌跡間のユークリッド距離を求めるユークリッド距離算出部1501と、ユークリッド距離を元にクラスタリングを行うクラスタリング部1502とを含む。
ユークリッド距離算出部1501の処理は、距離算出部104におけるユークリッド距離算出部1201と全く同じ処理であるため、ここでは説明を省略する。
クラスタリング部1502は、ユークリッド距離算出部1501で算出した移動軌跡iと移動軌跡jとのユークリッド距離f(i,j)を用い、f(i,j)が小さい順に移動軌跡iと移動軌跡jとを同一クラスとして束ねていく処理を繰り返すことによってクラスタリングを行う。
図16Aの移動軌跡a〜hに示すように、移動軌跡は同一被写体上であっても、姿勢変化によって部位ごとにそれぞれ異なったものとなる。しかしながら、関節で繋がった物体である限り、特に近傍における移動軌跡は高い類似性を保持していると仮定できる。ここで、高い類似性とは、移動軌跡iと移動軌跡jとのユークリッド距離f(i,j)が小さいことを意味する。さらに、ユークリッド距離f(i,j)が小さいことは、移動軌跡iと移動軌跡jとが、移動軌跡からなる高次元空間上に近距離に分布していると解釈することができる。
図16Bに、移動軌跡からなる高次元空間の概念図を示す。概念図では、説明を容易にするため、3次元空間としたが、実際には、(式2)に示したベクトルの各要素が各次元と対応する。つまり、高次元空間は、次元数が2×Tの空間である。また、説明の簡略化のため移動軌跡を移動軌跡a〜hの8本としているが、実際には、画素ごとに求めた移動軌跡を用いてもよいし、ブロック単位で求めた移動軌跡を用いてもよい。ここで、図16Bに示す移動軌跡からなる高次元空間上のデータ点は、それぞれ(式2)に示した一つの移動軌跡に対応する。すなわち、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果に対応する。
そして、移動軌跡からなる高次元空間上の分布の連続性によって移動軌跡をクラスタリングしていくことによって、移動軌跡間の距離の不連続性をもとにクラスタリングを行う。その結果、各クラスは、個別の被写体または被写体の一部に対応することが期待でき、被写体の検出と領域分割を行うことができる。
まず、分割する各領域を次のように表現する。
ここで、Mは、領域数であり、利用するシーンに応じて経験的に決定される。
まず、サブクラス分類部105は、ユークリッド距離f(i,j)が小さい順に、互いに異なる移動軌跡iと移動軌跡jとを同一領域ラベルθmとする処理を行う。この処理を行う上で、移動軌跡iまたは移動軌跡jの一方が既に領域θkに属している場合には、まだ領域ラベルが付与されていない画素も領域θkに属するようにする。さらに、既に移動軌跡iと移動軌跡jとがそれぞれ異なる領域に属している場合には、領域ラベルを統合する。次に、すべての移動軌跡に対してラベル付けがされ、かつ領域数が規定のMになっているか否かを判断し、その条件が満たされていない場合には、前述のユークリッド距離f(i,j)が小さい順に移動軌跡iと移動軌跡jとを同一領域ラベルθmとする処理を繰り返す。なお、各領域に属する移動軌跡の数が閾値Tcluster個以下となる領域については、外れ値(Outlier)として扱い、その後の処理に用いないよう廃棄してもよい。
サブクラス分類処理の具体例を図16C、図16Dを用いて説明する。簡単のため、M=2とした場合(図16C)と、M=3とした場合(図16D)について説明する。実際のサブクラス分類時には、十分に移動体の領域を細かな単位に分割するような、より大きなMを利用することになる。ここで、図16A〜図16Dの例では、移動軌跡aと移動軌跡bとの距離をf(a,b)とした時に、f(a,b)<f(g,h)<f(d,e)<f(b,c)<f(f,g)<f(c,d)である。まず、M=2の例について図16Cを用いて説明する。サブクラス分類部105は、移動軌跡aと移動軌跡bとの距離f(a,b)が最小であるため、移動軌跡aと移動軌跡bに同一の領域ラベルθ1を付与する。次に、移動軌跡gと移動軌跡hとの距離f(g,h)が2番目に小さいため、サブクラス分類部105は、移動軌跡gと移動軌跡hに同一の領域ラベルθ2を付与する。さらに、サブクラス分類部105は、3番目に小さい距離である移動軌跡dと移動軌跡eに対して、同一の領域ラベルθ3を付与する。次に距離が小さいのは、移動軌跡bと移動軌跡cとの距離f(b,c)である。ここでは、移動軌跡bがすでにラベル付けされているため、サブクラス分類部105は、移動軌跡cに移動軌跡bと同一の領域ラベルθ1を付与する。次に距離が小さいのは、移動軌跡fと移動軌跡gとの距離f(f,g)である。サブクラス分類部105は、f(b,c)の場合と同様に、移動軌跡fに対して移動軌跡gと同一の領域ラベルθ3を付与する。ここでM=3とした場合は、すべての移動軌跡にラベルが付与され、M=3となると判断されるため、処理を終了する。
M=2という条件設定をした場合には、現在のクラス分類ではその条件を満たさない。このため、サブクラス分類部105は、再度、次に小さい距離をなす移動軌跡cと移動軌跡dについて移動軌跡cが属する領域ラベルθ1と移動軌跡dが属する領域ラベルθ3とを統合する。また、サブクラス分類部105は、移動軌跡aからeに対して、領域ラベルθ1を付与する。ここで、すべての移動軌跡にラベルが付与され、M=2となると判断されるため、処理を終了する。
本実施の形態では、移動軌跡に対して(式14)または(式15)のような距離を計算することによって、画素の位置と動きの類似性とを考慮した領域分割が可能になる。そのため、図16Cのような例において、M=2の場合は、左側の人物の動きが、背景の動きと相対的に類似することが反映されて、移動軌跡は、右の人物と、背景および左の人物との2つに分離される。さらに、図16DのM=3の場合は、M=2の場合に加えて、左側の人物の動きと背景の動きの違いが反映され、移動軌跡を、背景と、左の人物と、右の人物とに分離することが可能になる。同様に、より大きいMを利用することにより、サブクラス内に関節を含まないような細かい小領域にまで、移動軌跡をクラスタリングすることができる。
このように、類似した移動軌跡に対して、順々に領域ラベルを付与することによって、高次元空間上で連続している移動軌跡を一つのクラスと判断し、移動軌跡間の距離が大きいところを不連続点として、それぞれのクラスを分離することができる。そして、各クラスに属する移動軌跡を、移動体検出に利用することが可能となる。
なお、以上の説明においては、サブクラス分類部105は、移動軌跡算出部102で算出された移動軌跡の集まりを、輝度、または移動軌跡の類似度等の、ある指標によりクラスタリングすることで、サブクラスを生成するとしたが、必ずしもサブクラスが複数の移動軌跡を含んでいる必要はない。すなわち、サブクラスがそれぞれが1つの移動軌跡からなるサブクラス分類を行ってもよい。
次に、距離算出ステップS306は、重み付き距離算出部106によって実行される。重み付き距離算出部106は、図17に示すように、代表測地距離算出部1701と、静止指標付加部1702とを含む。
代表測地距離算出部1701は、距離算出部104で算出された測地距離、ユークリッド距離を元に、サブクラス分類部105で生成されたサブクラス間での測地距離の代表値(代表測地距離)を算出する。続く静止指標付加部1702は、静止指標算出部103で算出した各画素の静止指標を元に、各サブクラスに含まれる移動軌跡の静止物らしさを示す静止指標を求め、求めた静止物らしさを示す静止指標に基づき、代表測地距離算出部1701が算出した各サブクラス間の代表測地距離に重み付けを行う。
まず、代表測地距離算出部1701の動作について詳しく説明する。
図18に、サブクラス分類部105で生成された複数のクラスのうち、近接する2つのサブクラスθi、θjを示す。なお、簡単のため以下の説明では、「サブクラス」を「クラス」とのみ表記する。
クラスθi、θjに含まれる移動軌跡の集まりをそれぞれI、Jとし、クラスθi、θjが含む移動軌跡の個数をそれぞれNi、Njとすると、I、Jはそれぞれ以下の(式21)、(式22)で表せる。
なお、(式21)、(式22)に含まれるxiは、(式2)同様、多次元ベクトルの形式で表された移動軌跡である。
ここで、Iに含まれる移動軌跡と、Jに含まれる移動軌跡との間で求められる距離を、クラス間距離と定義する。ここで、「距離」とはユークリッド距離、測地距離をともに含む概念であるとする。
図18に、クラス間測地距離の代表値(代表測地距離)の概念図を示す。クラスθiから移動軌跡xi31801を、クラスθjから移動軌跡xj11802を選択した場合、この2移動軌跡間の測地距離はg31(=g(i3,j1))として求まる。これを、I,J間における全ての移動軌跡の組み合わせについて計算すると、以下の(式23)に示すような、複数の測地距離gが得られる。
本明細書における移動体領域検出は、I、Jに示すようなクラス内の単一移動軌跡の集まりに着目し、クラス単位のマクロな距離に基づいて動作することで、ピクセル単位で処理をするために生じてしまう静止指標のノイズ・誤検出に対処できる。したがって、クラス間距離の代表値を算出することが望ましい。すなわち、クラス間距離の代表値は、複数クラスに対して、各クラス間の動きまたは位置的な関係を近似できるような代表値であることが望ましい。
前述の望ましい条件を満たす代表距離については、各クラスの移動軌跡間の測地距離の平均値を代表値として用いることができる。これは、複数クラス間において、各クラスが含む移動軌跡間の全組み合わせにあたる複数の測地距離を求め、それらを平均して得られるものである。この場合、代表測地距離G(θi,θj)は以下の(式24)で算出できる。
なお、(式24)において、測地距離の中に無限大をとるものが含まれる場合(g(i,j)=∞となる距離)、平均値の計算からはそれらの点を除くものとする。
あるいは、すべてのg(i,j)から、それぞれ無限大を除いた最大値gmaxを求め、g(i,j)=∞となる距離をgmaxと置き換えて平均値の計算を行っても良い。あるいは、g(i,j)≠∞となるよう、測地距離の計算のみを再度やりなおしてもよい。
なお、この代表測地距離については測地距離の平均値に限るものではない。
以下に示すように、各クラスの移動軌跡間の測地距離の中央値を代表値として用いることもできる。これは、複数クラス間において、各クラスが含む移動軌跡間の全組み合わせにあたる複数の測地距離を求め、それらのメジアンをとって得られるものである。ユークリッド距離の代表値についても、同様に求めて用いることができる。この場合、代表測地距離G(θi,θj)は以下の(式25)で算出できる。
なお、(式25)において、
は、整数ラベルi(i=1〜Ni)、整数ラベルj(j=1〜Nj)に対応する複数の値を有するg(i,j)の中央値を返す関数である。
なお、測地距離の中に無限大をとるものが含まれる場合(g(i,j)=∞)、前述の平均値の計算同様に、中央値の計算からそれらの点を除く。あるいは、すべてのg(i,j)から、それぞれ無限大を除いた最大値gmaxを求め、g(i,j)=∞となる距離をgmaxと置き換えて中央値の計算を行っても良い。あるいは、g(i,j)≠∞となるよう、測地距離計算のみ再度やりなおしてもよい。
また、以下の(式27)に示すように、代表測地距離として、各クラスの移動軌跡間の測地距離の最頻値を代表値として用いることもできる。これらの代表値は、複数クラス間において、各クラスが含む移動軌跡間の全組み合わせにあたる複数の測地距離を求めた際に、それらの中でもっとも高頻度で現れる値である。
なお、(式27)において、
は、整数ラベルi(i=1〜Ni)、整数ラベルj(j=1〜Nj)に対応する複数の値を有するg(i,j)の最頻値を返す関数である。
なお、測地距離の中に無限大をとるものが含まれる場合(g(i,j)=∞)、前述の平均値の計算同様に、最頻値の計算からそれらの点を除く。あるいは、すべてのg(i,j)から、それぞれ無限大を除いた最大値gmaxを求め、g(i,j)=∞となる距離をgmaxと置き換えて最頻値の計算を行っても良い。あるいは、g(i,j)≠∞となるよう、測地距離計算のみ再度やりなおしてもよい。
次に、静止指標付加部1702の動作について詳しく説明する。静止指標付加部1702は、各クラスに属する移動軌跡の静止指標に基づき、各クラス間の代表測地距離Gに対し重み付けを行う。以下、図19A〜図19Eを参照しながら説明する。
図19Aは、移動体および背景上にそれぞれ属する移動軌跡の例をシーン画像に重畳して示した概念図である。分かりやすいように、左側の人物Aに対応する移動軌跡には“□”、右側の人物Bに対応する移動軌跡には“△”、背景に対応する移動軌跡には“×”を付して示している。なお、図19Aでは代表的な8本の移動軌跡のみを示しており、実際はより多い数の移動軌跡が存在する。ここでは、見やすくするためその他の移動軌跡を省略して示している。
図19Bは、図19Aに示したシーン中に存在する移動軌跡について、サブクラス分類部105でクラス分類を行った結果を高次元空間上で示している。ここでも、見易さのため、代表的な移動軌跡について2次元空間上で示す。
シーン中の移動軌跡は、移動体や背景などの被写体自身の動き成分に、カメラの動き成分が加わったものとして観測される。そのため、カメラの動きが大きいほど、移動軌跡の分布(例えば図19Bに示す移動軌跡の分布)においてカメラ動き成分が支配的になり、移動体上の移動軌跡と背景の移動軌跡との区別が困難になる。
例えば、図19Aのようにカメラ自身が前方へ大きく動く場合、背景は湧き出し点を中心とした放射状の移動軌跡となる。その結果、図19Bに示す移動軌跡の分布のように、移動体上の移動軌跡と背景の移動軌跡との類似度、および、移動体上の移動軌跡のサブクラスと背景の移動軌跡のサブクラスとの間の類似度が、相対的に高くなる、すなわち、測地距離が短くなってしまう場合がある。言い換えると、カメラの動きが大きいほど、図19Bに示す移動軌跡の分布において、背景の移動軌跡の分布と移動体の移動軌跡の分布とが近づくため、背景のサブクラスと、移動体のサブクラスを、分離統合することができない。
また、図19Cに、静止指標付加部1702が各移動軌跡に対して静止または移動の判定を行った結果を示す。図19C上に示す移動軌跡は、図19Bに示す移動軌跡と同じものをそれぞれ、2次元空間上の同じ位置に表示している。
ここで、各移動軌跡の静止または移動の判定結果を表す指標を静止判定値EMSとする。静止指標付加部1702は、各移動軌跡の静止指標Eが、ある設定した閾値THMSよりも大きい場合は、移動体と判定、すなわち静止判定値EMS=1とし、それ以外の場合は、静止物であると判定、すなわち静止判定値EMS=0とする(式29)。閾値THMSについては、シーンや経験により利用者が設定できるが、ここではTHMS=10-5に設定するものとする。
なお、静止または移動の判定に用いる静止判定値EMSは、ここでは0または1の2値で示したが、これは一例であり、静止物、移動体について異なる値であれば前述の2値でなくともよい。
図19Bと図19Cに属する各移動軌跡について、静止または移動の判定結果と実際の結果とを比較すると、移動軌跡1901のように、実際は静止物上の移動軌跡であるのに、移動体と誤判定(静止判定値EMS=1)されたり、逆に、移動軌跡1902のように、実際は移動体上の移動軌跡であるのに、静止物と誤判定(静止判定値EMS=0)されたりしているケースがあることが分かる。実際に、発明者らの実験においても、同様の事象が確認されている。
そこで、図19Dに示すように、静止指標付加部1702は、サブクラス単位で静止または移動の評価を行い、誤判定を修正する。
各サブクラスは、多くの場合、移動体上の小領域、もしくは背景上の小領域として求められる。すなわち、サブクラス内の移動軌跡は全て移動体、もしくは全て静止物、となる、と仮定できる。したがって、静止指標付加部1702は、サブクラス単位で静止または移動の評価を行うことで、前述した、図19C移動軌跡1901および1902にみられるような誤判定を修正する。ここで、サブクラス単位の静止または移動の評価判定結果を表す評価値を、サブクラス間静止判定値ESUB-MSとする。サブクラス間静止判定値ESUB-MSは、移動軌跡の静止判定値EMSと同様に、0または1の2値を取るものとする。
サブクラス単位の静止または移動の評価の方法としては、例えば最も簡易な例として、多数決が挙げられる。具体的には、静止指標付加部1702は、あるサブクラス内の移動軌跡について、静止判定値EMS=1である移動軌跡の方が多い場合は、そのサブクラス単位の静止または移動の評価を、「移動」、すなわちサブクラス間静止判定値ESUB-MS=1とする。逆に、あるサブクラス内の移動軌跡について、「静止」と判定された移動軌跡の方が多いか、数が同じである場合は、そのサブクラス単位の静止または移動の評価を、「静止」、すなわちサブクラス間静止判定値ESUB-MS=0とする(式30)。これにより、図19Dに示すように、移動体上の各サブクラスではサブクラス間静止判定値ESUB-MS=1と判断され、静止物上の各サブクラスではサブクラス間静止判定値ESUB-MS=0と判断され、誤判定の影響を除去できる。
なお、ここではサブクラス間静止判定値ESUB-MSを、2値の静止判定値EMSより求める2値の評価値としたが、以下のようにしてもよい。
すなわち、サブクラス間静止判定値ESUB-MSを2値とし、多値の静止評価値Eの平均値と、あらかじめ定めた閾値THEとの大小判定によりサブクラス間静止判定値ESUB-MSを求めるというものである(式31)。
このようにすることで、静止判定値EMSの保持のためのメモリ量を節約できる。
本発明の目的は、移動体を背景から分離することである。図19Bに示すように高次元空間上で近接した移動体上のサブクラスと、背景上のサブクラスを、分離統合可能な状態にするためには、互いに静止背景であるサブクラス同士は互いにより近づき、逆に、それぞれ移動体と背景であるサブクラスの間はより離れるような、新たなサブクラス間距離が求まることが望ましい。
そこで、静止指標付加部1702は、図19Eに示すような重み付けルールを設定し、サブクラスθi,θj間で定義される新たなサブクラス間距離である、重み付き測地距離Gw(θi,θj)を算出する(式32,式33)。
すなわち、2つのサブクラスのサブクラス間静止判定値ESUB-MSが、どちらも0であれば、どちらも静止物のサブクラスであり、同じ静止背景に属するといえる。したがって、サブクラス間の距離を近づけてやればよい。そこで、静止指標付加部1702は、サブクラス間の代表測地距離G(θi,θj)に対して、距離を短くする(近づける)重みWをかけるものとする。すなわち、W<1となるような重みWminをかける。
Gw(θi,θj)=Wmin・G(θi,θj)<G(θi,θj)
また、ある2つのサブクラスのサブクラス間静止判定値ESUB-MSが、一方が0、もう一方が1である場合は、それぞれ背景のサブクラスと移動体のサブクラス、すなわち異なる物体のサブクラスである可能性が高いため、サブクラス間の距離を遠ざけてやればよい。そこで、静止指標付加部1702は、サブクラス間の代表測地距離G(θi,θj)に対して、距離を長くする(遠ざける)ような重みWをかけるものとする。すなわち、W>1となるような重みWmaxをかける。
Gw(θi,θj)=Wmax・G(θi,θj)>G(θi,θj)
また、ある2つのサブクラス間のサブクラス間静止判定値ESUB-MSが、どちらも1であれば、どちらも移動体のサブクラスである。しかし、背景の場合と異なり、その2つのサブクラスが、同じ移動体上のサブクラスであるか、異なる移動体上のサブクラスかは、サブクラス間静止判定値ESUB-MSのみからは判定できない。したがって、重み付けは行わないものとする。すなわち、静止指標付加部1702は、サブクラス間の代表測地距離G(θi,θj)に対して、W=1となるような重みWneuをかける。
Gw(θi,θj)=Wneu・G(θi,θj)=G(θi,θj)
なお、説明を容易にするため、ここではサブクラス間静止判定値ESUB-MSを、静止判定値EMSより求めた2値の評価値としたが、サブクラス間静止判定値ESUB-MSを多値としてもよい。例えば、サブクラス間静止判定値ESUB-MSは以下の式34のように静止評価値Eより直接求めるとしてもよい。
このようにすることで、より各移動軌跡における静止評価値Eの値が反映された形で、サブクラスの静止移動判定を行える。
この場合、重み付けルールを定義する(式33)は、(式35)のようになる。すなわち、2つのサブクラスのサブクラス間静止判定値ESUB-MSが、どちらもある閾値ThSUB-MS以下であれば、どちらも静止物のサブクラスの場合の重みWminをかけ、2つのサブクラスのサブクラス間静止判定値ESUB-MSが、どちらもある閾値ThSUB-MS以上である場合は、どちらも移動体のサブクラスの場合とし、W=1となるような重みWneuをかけ、それ以外の場合は、それぞれ背景のサブクラスと移動体のサブクラスである場合の重みWmaxをかけるものとする。
なお、重みW(θi,θj)についても説明を容易にするためここではWmin,Wmax,1の3値としたが、多値としてもよい。例えば、サブクラス間静止判定値ESUB-MS(θi)、ESUB-MS(θj)が、ともに0に近づくほど、重みW(θi,θj)がWminに近づき、サブクラス間静止判定値ESUB-MS(θi)、ESUB-MS(θj)が、ともに大きくなるほど、重みW(θi,θj)が1に近づき、サブクラス間静止判定値ESUB-MS(θi)、ESUB-MS(θj)の一方が0に近づき、他方が大きくなるほど、重みW(θi,θj)がWmaxに近づくような、多値の値であればよい。
なお、(式35)の代わりに、2つのサブクラスがともに静止物である場合にサブクラス間の距離を短くする重み付けを行う(式36)、または、2つのサブクラスの一方が背景で他方が静止物である場合にサブクラス間の距離を長くする重み付けを行う(式37)を用いてもよい。
なお、上述した(式36)の重みW(θi,θj)についてWmin,1の2値としたが、多値としてもよい。例えば、サブクラス間静止判定値ESUB-MS(θi)、ESUB-MS(θj)が、ともに0に近づくほど、重みW(θi,θj)がWminに近づき、その他の場合は重みW(θi,θj)が1に近づくような、多値の値であればよい。
なお、上述した(式37)の重みW(θi,θj)についてWmax、1の2値としたが、多値としてもよい。例えば、サブクラス間静止判定値ESUB-MS(θi)、ESUB-MS(θj)の一方が0に近づき、他方が大きくなるほど、重みW(θi,θj)がWmaxに近づき、その他の場合は重みW(θi,θj)が1に近づくような、多値の値であればよい。
なお、Wmax,Wminの値については、カメラ動きの大きさや、移動体の動く速度等にもよるが、例えば、カメラ側が時速1kmで直進する場合は、Wmax=5、Wmin=0.01を用いることができる。
さらには、サブクラス間静止判定値ESUB-MSの信頼度によって、重みを変化させることで、より正しく移動体を背景から分離できる。
もし、サブクラス間静止判定値ESUB-MSの信頼度が低い場合、誤判定が起こり、サブクラス間の代表測地距離G(θi,θj)に逆方向の重みがかかってしまう可能性がある。
そこで、例えばエピポール誤差を静止指標Eとして利用した場合を考えると、特に直進する車に対して、例えば細い路地などで真正面に小さな移動体が存在するような場合、エピポーラ線上の移動体は検出ミスが起こりやすい。このため、静止指標Eの信頼度は低くなる。したがって、このような場合は、予めWmin=0.1、Wmax=2.5にするなど、Wmin、Wmaxをより1に近い値にすることで、誤検出および検出ミスが、重み付き測地距離Gw(θi,θj)へ与える悪影響を低減することができる。
逆に、サブクラス間静止判定値ESUB-MSの信頼度が高い場合(例えば前述のエピポール誤差の場合、大通りの車道など、真正面に人物のような小さな移動体があらわれにくいような場合)は、逆にWmin=0.001、Wmax=10にするなど、Wmin、Wmaxをより1から遠い値にすればよい。特に、サブクラス間静止判定値ESUB-MSが完全に正しく与えられた場合は、Wmax=∞、とすれば、容易に、移動体を背景から分離することができる。
以上の重み付けルールにより算出した重み付き測地距離Gw(θi,θj)を、高次元空間上で示した図を図19Fに示す。図19Bと同様、高次元を便宜上2次元で表示している。
背景に属するサブクラスが、各移動体に属するサブクラスから遠ざかり、図19Bに比べて、移動体と背景の分離が容易に分離可能な状態になったことが分かる。
最後に、領域分割ステップS307では、領域分割部107は、サブクラス分類部105で生成された複数のサブクラスθp(p<=m,m:サブクラス数)を領域分割候補とする。領域分割部107は、サブクラスθpの領域分割の評価値として、重み付き距離算出部106で算出されたサブクラス間の重み付き測地距離Gw(θp,θq)に基づいて、サブクラスθpの領域分割候補を別個のクラスタとして分割するか否かを判断する。
なお、ここまでサブクラスθp,θq間の距離として“重み付き測地距離Gw(θp,θq)”を用いているが、以下では説明のため、サブクラス間の“重み付き測地距離Gw(θp,θq)”を、“サブクラス間測地距離hp,q”と表記する(q<=m、m:サブクラス数)。
具体的には、領域分割部107は、サブクラス間測地距離hp,qが、あらかじめ定められた閾値Ht以上の場合、対応する2つのサブクラスθp、θqは、そのサブクラス間の距離が十分離れているクラスとして選択し、個別のクラスとして確定する。
一方、領域分割部107は、サブクラス間測地距離hp,qが、あらかじめ定められた閾値Htより小さい場合、対応する2つのサブクラスθp、θqは、同一のクラスとして確定する。つまり、この場合には、分割しないと確定する。そして、領域分割部107は、領域分割候補の全てのサブクラスに対して、分割するか否かを判定した後、異なるクラスに属する移動軌跡には異なるラベルθmを割り当て、移動軌跡の領域分割情報として出力する。
例えば、図20Aに示されるクラス数7のサブクラスについて、各サブクラス間測地距離をhp,qとする(p=0〜6,q=0〜6,m=7)。実際には、サブクラスの数はもっと多いことがあるが、ここでは見やすさのために7つのサブクラスのみ表示する。
図20Aに示される,図19Aの人物Aに対応するクラス数2のサブクラス間の測地距離をh1,2とする。ここで、h1,2≧Htであるとすると、対応するサブクラスθ1およびθ2は、分割される。逆に、h1,2<Htであるとすると、対応するサブクラスθ1およびθ2は、分割される。
領域分割部107では、以上の手順により、閾値Htによりラベルを割り当てた移動軌跡のクラスタθpから、画像を生成して、ディスプレイ120に表示する。
本実施の形態において領域分割部107は、画像入力部101で受け付けた動画像に対して、統合したサブクラスの結果が視認できる表示態様となるように、入力ピクチャに画像処理を施して出力し、ディスプレイ120に表示する。
図20B〜図20Dに、領域分割部107で生成したピクチャの例を示す。
なお、本実施の形態の移動体検出装置100の領域分割部107において、閾値Htはあらかじめ定められているものとしたが、これに限定されるものではない。具体的には、領域抽出したい移動体の動きの大きさに応じて閾値Htを変化させても良いし、移動体が人であるのか車であるのかに応じて閾値Htを変更しても良い。
閾値Htは、ある2つの領域分割候補に対して、それらを異なる領域とするか同じ領域とするかの評価基準に相当する。例えば、2つの領域分割候補が2つの移動体にそれぞれ対応する場合、閾値Htを小さくすることで、2つの移動体の相対的な位置や動きの違いが小さい場合においても、異なる2つの領域として抽出することができる。逆に、閾値Htを大きくすることで、この2つの移動体の相対的な位置や動きが大きい場合にのみ、2つの領域として抽出することができることとなる。すなわち、閾値Htの大小によって、領域抽出する対象を変えることができるという効果がある。
図20B〜図20Dに、以上の処理を行い、結果をディスプレイに表示した例を示す。サブクラス分類部105で算出された各サブクラスに対し、同一移動体として抽出されたサブクラスごとに、一つの移動体であるものとして色分けを行うと、図20Bのように表示されるサブクラス分類結果について、サブクラス統合結果を図20Cのように表示することができる。
この例では、2つの移動体が2種類に色分けされて表示されている。このような表示形態にすることで、ピクチャ中の移動体を正しく検出し、その結果をわかりやすく表示できる効果がある。
移動体の位置を視認するためには、少なくともそのおおまかな位置が提示される必要がある。したがって、領域全体を色分けする必要は必ずしもないため、図20Dのように、外枠のみ表示するとしてもよい。メリットとしては、移動体そのものの見え方をほとんど変化させずに、移動体領域を提示することができる。
なお、領域分割部107において、ピクチャを生成する手順として、移動軌跡のピクチャ座標位置の画素をセグメント領域に応じた色で描画するとしたが、ピクチャを生成する方法をこれに限定するものではない。具体的には、移動軌跡の数とピクチャ全体の画素数とが同数であれば、上述した方法によりピクチャ中の全画素をクラスに応じた色で描画することができる。一方、移動軌跡の数がピクチャ全体の画素数より少ない場合、どの移動軌跡のピクチャ座標位置とも一致しない画素が存在する。
このような移動軌跡のピクチャ座標位置と一致しない画素については、別の方法で描画しても良い。例えば、移動軌跡算出部102において、ある移動軌跡を生成するための動き検出に用いたブロックに属する画素は、その移動軌跡が属するサブクラスと同じ色で描画するとしても良い。
また、移動軌跡のピクチャ座標位置と一致しない画素を描画する別の方法として、最近傍の移動軌跡の属するサブクラスと同じ色で描画するとしても良い。
また、移動軌跡のピクチャ座標位置と一致しない画素を描画する別の方法として、複数の移動軌跡のピクチャ座標位置(点)の間を、Delaunay三角メッシュ生成法にて結び、同一のクラスに属する3点に囲まれる3角形に含まれる画素を、そのクラスと同じ色で描画するとしても良い。
なお、連続して入力される動画像に対して処理を行う場合は、上述したステップS301〜S307の動作を、T枚のピクチャが入力されるたびに繰り返し行うとしても良い。
以上のようにして、本実施の形態に係る移動体検出装置及び方法によれば、ピクチャ内のサブクラス間の移動軌跡の測地距離の代表値と、各サブクラスの移動軌跡の静止指標に基づいて移動体領域の判定を行うことによって、ピクチャ中を移動する物体の領域を時間的に追跡した結果として、移動体の姿勢によらずに、ピクチャ中の移動体領域を検出することができる。
なお、ここでは重み付き距離算出部106における測地距離への重み付け、および領域分割部107における領域分割の処理をサブクラスに対して行っているが、必ずしもサブクラスに基づいた領域分割処理を行う必要はない。
すなわち、重み付き距離算出部106の静止指標付加部1702で、サブクラス間の代表測地距離に重み付けを行うかわりに、各サブクラスに対応する全ての移動軌跡間の測地距離に対し、各測地距離に対応するサブクラス間の代表測地距離に与えた重みと同じ重みを用いて重み付けを行い、重み付き移動軌跡間測地距離を算出し、さらに領域分割部107で、重み付き測地距離Gwではなく、重み付き移動軌跡間測地距離に基づいて領域分割を行うとしてもよい。この場合の領域分割方法としては、例えばサブクラス分類部105及びその変形例と同様の処理を重み付き移動軌跡間測地距離に対して行うことで、ピクチャを領域分割し、移動体を背景から分離することができる。
特に、測地距離に対して上記した重み付けを行っているつまり、移動軌跡の静止指標および移動軌跡間の距離に基づいて、任意の静止物の移動軌跡間の測地距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の測地距離の比が、変換前と比べて大きくなるような変換処理を行った上で、静止物の移動軌跡と移動体の移動軌跡とを分離することにより、移動体の移動軌跡に対応する移動体領域を検出している。
言い換えれば、移動軌跡間の距離に基づいて、移動軌跡間の測地距離を算出し、移動軌跡の静止指標に基づいて、算出した各測地距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間の測地距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間の測地距離の比が大きくなるような重みを付けることにより、重み付き移動軌跡間測地距離を算出している。その上で、静止物の移動軌跡と移動体の移動軌跡とを分離することにより、移動体の移動軌跡に対応する移動体領域を検出している。
このため、静止物の移動軌跡と移動体の移動軌跡とが分離しやすくなる。よって、形状が変化しながら移動する人物等の移動体を含み、かつ、移動するカメラで撮影された画像であっても、正しく移動体を検出することができる。
また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域抽出の失敗がない。
以上のように、膨大なパラメータのフィッティングを必要とせずに、領域間測地距離に基づいてクラスタリングを行うことによって、安定に、形状が変化しながら移動する人物等を含むピクチャから移動体を正しく検出可能となる。
なお、本実施の形態の移動体検出装置において、距離算出部104が距離を算出し、重み付き距離算出部106に入力するとしたが、距離の代わりに、距離の時間変化を用いることもできる。
すなわち、tフレーム〜2tフレームの移動軌跡から求めた距離と、2tフレーム〜3tフレームの移動軌跡から求めた距離の差分を距離の時間変化と呼び、これをtフレーム〜2tフレームの移動軌跡の代わりに用いることでも同様の効果を得ることができる。
なお、本実施の形態の移動体検出装置において、距離算出部104が、移動軌跡算出部102で生成した移動軌跡から抽出する、移動軌跡のピクチャ数Tは、T=30としたが、この数値に限定するものではない。例えば、検出すべき移動体の種類や状態に応じて別の数値を用いても良い。例えば、検出する対象が歩行者と仮定できる場合、平均的な歩行周期が約1秒(30フレーム)であることから、T=30フレームのピクチャにわたる移動軌跡は、人の歩行1周期に対応する。このように、検出すべき対象が周期的な変形を伴う移動体である場合、距離算出部104において抽出する移動軌跡のピクチャ数Tを、移動体の変形周期に対応するピクチャ数とすることで、移動体の変形の影響を受けにくくなり、移動体をより正しく抽出することができるという効果がある。また遮蔽などの影響により、ピクチャ数Tにわたる移動軌跡が算出できないピクチャ中の移動体領域が存在する場合について、移動軌跡が算出可能な最大のピクチャ数をS(S<T)とすることで、移動体の領域をより詳細に検出可能になるという効果がある。
なお、本実施の形態の移動体検出装置において、距離算出部104が抽出する移動軌跡を得るためのピクチャの枚数Tは、あらかじめ定められており、一定であるものとして説明したが、それぞれの移動軌跡の算出に利用するピクチャ数Tを、動的に変化させても良い。
移動軌跡のピクチャ数Tを動的に変化させる手法としては、例えば、移動軌跡個数の上限値をあらかじめ定めておき、これらの上限値を大きく超えないようにピクチャ数Tを動的に変化させるとしても良い。具体的には、移動軌跡の個数の上限値Nmaxをあらかじめ定めておき、距離算出部104において、あらかじめ定められたピクチャ数Tにわたる移動軌跡から抽出した移動軌跡の個数が、Nmaxを超えた場合に、ピクチャ数Tを増加させるとしてもよい。ここで移動軌跡の数が多いということは、動画像中の変化が小さい、被写体の動きが小さい、動きによる遮蔽領域が少ない、などの理由により、全ピクチャにわたる対応点が多く算出可能であることに相当する。このような場合、ピクチャ数Tを増加させることで、移動領域により多くの動きの情報が含まれることによって移動体を正しく検出できるという効果が期待できる。
また、移動軌跡のピクチャ数Tを動的に変化させる別の手法としては、例えば、移動軌跡個数の下限値をあらかじめ定めておき、これらの下限値を下回らないようにピクチャ数Tを動的に変化させるとしても良い。具体的には、移動軌跡の個数の下限値Nminをあらかじめ定めておき距離算出部104において、あらかじめ定められたピクチャ数Tにわたる移動軌跡の個数がNminを下回った場合に、移動軌跡の個数がNminを超えるように、より小さいピクチャ数Tを用いる、としても良い。このような処理を行うと、移動軌跡があらかじめ定められた移動軌跡数を下回らないようにすることができる。そのため、例えば動画像中の被写体の動きによる遮蔽によって移動軌跡の個数が相対的に小さくなる動画像に対しても、移動軌跡が極端に少なくなるということが発生しにくくなる。その結果、領域分割ができないということが発生しにくくなるという効果がある。
なお、本実施の形態では線形距離としてユークリッド距離を用いたが、前述した通り、ユークリッド距離に限るものではない。前述の線形距離で定義される任意の距離指標を用いて得られる形態も本発明に含まれるものとする。
なお、本発明に係る移動体検出装置及び方法は、上記実施の形態に限定されるものではなく、上記実施の形態に対して当業者が思いつく変形を施して得られる形態や、後述する各種変形例を含む複数の形態における構成要素を任意に組み合わせて得られる形態も本発明に含まれる。
(変形例1)
次に、本発明の実施の形態の変形例1に係る移動体検出装置について説明する。
本変形例に係る移動体検出装置では、静止判定値EMSを求める際に利用する閾値THMSを調整するためのインタフェースを備えている。
先に述べたとおり、静止判定値EMSを求める際に利用する閾値THMSの値については、カメラ動きの大きさや、移動体の動く速度等により最適な値が異なる。そのため、実際には、撮像シーンやカメラセッティングが変わるような場合に、予め設定しておいたある固定の閾値THMSは最適とはならず、固定の閾値THMSを用いた場合には正確に移動体を検出することができない場合が起こりうる。
そのような場合、最適な閾値THMSを求めるために、ユーザは、以下のような手順を踏まなければならない。まず、移動体検出装置100は、固定の閾値THMSに基づいてサブクラス間静止判定値ESUB−MSを算出し、算出したサブクラス間静止判定値ESUB−MSに基づきサブクラス間距離に重み付けをする等の処理を行なうことにより、ディスプレイ120に領域分割の結果を表示する。ユーザは、表示された領域分割の結果を確認した上で、閾値THMSを試行錯誤的に入力する。その後、移動体検出装置100による領域分割が再度実行され、表示された領域分割の結果を確認した上で、再度閾値THMSを入力するという手順が繰返し行われる。このように、試行錯誤的に閾値THMSを入力しながら、領域分割および閾値THMSの入力という手順を繰り返すことにより、最適な閾値THMSを求める必要がある。
ただし、閾値THMSは、静止指標Eの値に対して適用される閾値である。つまり、閾値THMSは静止指標Eの値の分布に大きく依存するといえる。したがって、静止指標Eの値とその画像上での分布が確認できれば、領域分割処理を最後まで行なうことなく、閾値THMSを調整できる。これにより、より早く最適な閾値THMSを決定することができる。
図21は、変形例1に係る移動体検出装置100Lの構成を示すブロック図である。移動体検出装置100Lは、図1に示した移動体検出装置100の構成において、静止指標算出部103および重み付き距離算出部106の代わりに、静止指標算出部103Aおよび重み付き距離算出部106Aをそれぞれ用いた構成である。
以下では、上述の実施の形態と異なる点を中心に説明し、共通する点については説明を省略する。
図22は、静止指標算出部103Aの詳細な構成を示すブロック図である。
静止指標算出部103Aは、図7に示した静止指標算出部103に、さらに、静止指標画像作成部703が加えられた構成を有する。静止指標画像作成部703は、ピクチャを構成する各ブロックを、算出した静止指標の値に応じた表示態様で、ディスプレイ120に表示させる。静止指標画像作成部703が実行する処理の詳細については後述する。
図23は、重み付き距離算出部106Aの詳細な構成を示すブロック図である。
重み付き距離算出部106Aは、図17に示した重み付き距離算出部106に、閾値入力部1703が加えられ、静止指標付加部1702の代わりに静止指標付加部1702Aを用いた構成を有する。閾値入力部1703は、ユーザが入力した静止指標閾値を受け付ける処理部であり、例えば、キーボードやマウスなどから構成されていても良い。静止指標付加部1702Aは、静止指標付加部1702と同様の方法により静止指標を求め、静止指標に基づいて、各サブクラス間の代表測地距離に重み付けを行う。ただし、このときに用いる静止指標の閾値THMSが閾値入力部1703が受け付けたものである点が、静止指標付加部1702とは異なる。
図24は、静止指標算出部103Aの静止指標画像作成部703が作成する画像の一例を示す図である。例えば、静止指標画像作成部703は、静止指標Eの値を5段階に分類し、ディスプレイ120上に、各ブロックに静止指標Eの段階に応じたハッチングを施した画像を表示する。なお、静止指標画像作成部703は、ディスプレイ120上に、静止指標Eの値に応じた色相グラデーション表示を行っても良い。また、静止指標画像作成部703は、閾値入力部を備え、閾値入力部からユーザが別途入力した閾値を用いて静止指標Eの値を2値化表示することもできる。例えば、ユーザが入力した閾値より大きい静止指標Eをもつ画素を赤色で表示し、それ以外の値の静止指標Eを持つ画素を青色等で表示しても良い。このようにすることで、実際にある閾値を入力した際の、静止判定値EMSの値がどのようになるかを簡単に視認しながら閾値を決めることができる。
また、閾値入力部1703は、任意のタイミングでユーザが入力する閾値THMSを受け付ける。静止指標付加部1702Aは、入力された閾値THMSを用いて静止判定値EMSを算出し、領域分割部107が領域分割を行い、結果をディスプレイ120に表示する。例えば、図25Aに示すように、ディスプレイ120にスライダ2211を表示させる。ユーザは、スライダ2211を左右に移動させることにより閾値THMSの入力を行う。図25Aのように閾値THMSを大きい値に設定した場合には、例えば、静止指標Eが大きい移動体2111が領域抽出される。これに対して、図25Bのように、スライダ2211を左に移動させることにより閾値THMSを小さい値に設定した場合には、静止指標Eが大きい移動体2111に加え、静止指標Eが小さい移動体2110とノイズ2112とが領域抽出される。このように、ユーザは、スライダ2211を移動させながら閾値THMSを変更することにより、簡単に領域分割の結果を視認しながら閾値THMSを決定することができる。
これにより、撮像シーンや、カメラセッティングか変わるごとにユーザが決定した最適な閾値を、すぐに移動体検出装置のパラメータとして反映させることができる。
(変形例2)
次に、本発明の実施の形態の変形例2に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、サブクラス分類部105は、(式14)で算出したユークリッド距離f(i,j)に基づいてサブクラスを求めるとして説明した。しかし、サブクラス分類部105の動作をこれに限定するものではない。つまり、サブクラス分類部105は、移動軌跡間での、各移動軌跡に属するブロック同士の色類似度に基づいて、複数の移動軌跡を複数のサブクラスに分類してもよい。以下で、画素の色類似度を元に移動軌跡のクラスタリングを行う例について説明する。
図26Aは、実施の形態の変形例2に係る移動体検出装置の構成を示す図である。図26Aに示すように、この移動体検出装置100Aは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部2101、重み付き距離算出部106、及び領域分割部107を含む。
サブクラス分類部2101以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
サブクラス分類部2101にてサブクラスを算出する手法として、上記実施の形態で説明した類似移動軌跡のラベリングによりサブクラスを算出する方法の代わりに、画素の色類似度をもとに、いわゆる”superpixel”と呼ばれる複数のサブクラスにピクチャを分割する方法を用いてもよい。superpixelを算出する方法については、グラフベースの手法などを用いることができる。処理手順の詳細説明は非特許文献7等に記載されているため省略するが、ピクチャのグラフ表現に基づいて各領域間の境界を推定することで、効率的かつグローバルな特徴を保持しながらピクチャを小領域に分割するというものであり、遮蔽に強いためよりロバストな分割ができるという効果がある。
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
本実施の形態の変形例2におけるサブクラス分類部2101の構成を図26Bに示す。サブクラス分類部2101は、クラスタリング部2102を含む。クラスタリング部2102は、上述の色類似度を基に、ピクチャを複数のサブクラスに分類する。本変形例のサブクラス分類部2101の構成では、図15に示したサブクラス分類部105の構成と比較して、ユークリッド距離算出部が必要ないため、より簡易な構成で、高速にサブクラスへの分類を行うことができるという効果がある。また、特に移動体と背景の色が異なるようなシーンにおいては、各サブクラスが移動体のみ、または背景のみで構成される可能性が高くなる(色が異なると、別のサブクラスに分離される確率が高い)ため、サブクラス単位のサブクラス間静止判定値ESUB-MSをより正しく求めることができる効果がある。
以上の手順によりピクチャをサブクラスに分離し、各サブクラスに属する移動軌跡を、移動体域検出に利用することが可能となる。
(変形例3)
次に、本発明の実施の形態の変形例3に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、サブクラス分類部105は、(式14)にて算出したユークリッド距離f(i,j)に基づいてサブクラスを求めるとして説明した。しかし、サブクラス分類部105の動作をこれに限定するものではない。以下で測地距離g(i,j)の次元圧縮を行うことによって、サブクラスへの分類を行う例について説明する。
図27Aは、実施の形態の変形例3に係る移動体検出装置の構成を示す図である。この移動体検出装置100Bは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部2201、重み付き距離算出部106、及び領域分割部107を含む。
サブクラス分類部2201以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
本実施の形態の変形例3におけるサブクラス分類部2201の構成を図27Bに示す。サブクラス分類部2201は、第2距離算出部2202と、クラスタリング部2203とを含む。サブクラス分類部2201は、図15に示したサブクラス分類部105の構成と異なり、ユークリッド距離算出部1501の代わりに、第2距離算出部2202を備えている。第2距離算出部2202は、移動軌跡算出部102で算出した移動軌跡から、(式14)に従ってユークリッド距離f(i,j)を算出したのち、(式17)、(式18)に従って測地距離g(i,j)を求める。なお、ここでの測地距離g(i,j)の算出手順は、上記実施の形態で記した距離算出部104での動作と同じため、説明を省略する。
続いて、クラスタリング部2203は、算出した測地距離g(i,j)の次元圧縮を行ったのち、次元圧縮された測地距離を用いて、クラス数を所与としてクラス内分散が最小となるように移動軌跡をクラスタリングする。
次元圧縮は、Young−Householder変換を行った後、Eigen systemを求めることで実現できる。次元圧縮により、多次元空間に分布するデータを低次元空間に効率良く射影するための方法である。以降、クラスタリング部2203において、測地距離g(i,j)の次元圧縮を行い、移動軌跡をクラスタリングする手順について示す。
測地距離g(i,j)の構成するマトリクスを測地距離マトリクスGとする(式38)。
クラスタリング部2203は、まず測地距離マトリクスGに対して、中心化行列Hを両側からかけるYoung−Householder変換を行う。これは、距離マトリクスが点間距離からなる距離行列であるのに対して、重心を原点とした距離マトリクスに変換するために行うものである。
ここで、Hは中心化行列であり、
また、
次に、クラスタリング部2203は、次元圧縮を行うために、τ(G)に対するP個の固有ベクトル(eigen vector)epおよびそれに対応する固有値(eigen value)λpを算出する。
これにより、測地距離g(i,j)について
とすると、測地距離g
iを次元圧縮された空間上に射影した結果は、データz
p iとして以下のように表すことができる。
なお、ep iは、p番目の固有ベクトルepのi番目の要素である。固有ベクトルの数Pは、利用するシーンに応じて実験的に決定しても良いし、以下のように固有値λpから寄与率apを算出し、それに基づいて決定しても良い。
ここで、Pは利用する固有ベクトルの数、すなわち圧縮された空間の次元数である。Nは全固有ベクトルの数である。そこで、寄与率apが一定値以上となる時のPを固有ベクトルの数とすれば良い。
以上のようにクラスタリング部2203は、(式39)から(式44)の処理により、測地距離g(i,j)の次元圧縮を行う。第2距離算出部2202において算出した測地距離giおよび対応する仮想的な移動軌跡を、固有ベクトルepで張られる次元圧縮された空間上のデータzp iと対応付けることができる。
図28A〜図28Dを用いて、人物の歩行画像を入力とした場合の画素iの時間的移動軌跡が非線形に次元圧縮された空間に射影される処理について説明する。図28Aは、多次元空間における次元圧縮前の移動軌跡のデータ分布を示す図である。同図では、説明を容易にするため、多次元空間を3次元空間としたが、実際には、(式2)に示したベクトルの各要素が各次元と対応する。図28Bは、図28Aに示した移動軌跡の多次元空間を次元圧縮した空間を示す。図28Bの横軸、縦軸は、それぞれ固有ベクトルe1、e2である。2次元上に射影された点(z1 i,z2 i)は、測地距離giを射影したものである。ここで、非線形空間上のデータzp iとピクチャ上での画素iの移動軌跡xiとは一対一の対応関係にある。このため、(z1 i,z2 i)は、画素iの移動軌跡xiに対応していると捉えることができる。なお、ここでは結果を可視化するために非線形空間の次元数を2次元としたが、前述のように、次元数は必ずしも2次元である必要は無いし、高い次元数の方がより高い精度でデータを射影することができる。
次に、クラスタリング部2203は、図28Bに示したような移動軌跡を次元圧縮したデータzp iに対してクラスタリングを行うことで、移動軌跡のクラスタリングを行う。本実施の形態の変形例3では、クラス数を所与としてクラス内分散が最小となるように移動軌跡をクラスタリングする手法を用いるものとする。
まず、サブクラスを次のように表現する。
ここで、Mは、サブクラス数であり利用するシーンに応じて経験的に決定される。
それぞれのサブクラスθmは、パラメータ
は、次元圧縮された空間におけるサブクラスθ
mに属するデータの座標値の平均値、パラメータZ
mは、サブクラスθ
mに属するデータの座標値に関する共分散行列である。パラメータ
の初期値はランダムに決定しても良いし、圧縮された非線形空間中をグリッドで等間隔に分割するなどして、その交点の座標値を初期値としても良い。
なお、パラメータ
及びパラメータZ
mは、以下の(式46)及び(式47)のように表すことができる。
ここで、Cmは圧縮された非線形空間上でサブクラスθmに属するデータ数である。
以下、具体的なクラスタリングの方法について説明する。まず、以下の(式48)の距離関数を用いて、データziが属するサブクラスθmを求める。
ここで、ψm(zi)は、画素iの移動軌跡に対応するデータziとそれぞれのサブクラスθmとの距離を示すものである。各データは、距離ψm(zi)が最小値をとるサブクラスθmに属するものとする。なお、φm(zi)はマハラノビス距離であり、
である。また、φ
m(z
i)をψ
m(z
i)の代わりとして用いても構わない。
また、p(zi)は、尤度関数の枠組みにおけるziの事前確率である。したがって、p(zi)は、一定値としても構わないし、対象シーンが人物など決まった被写体を含むことが既知である場合、人物部位の形状や面積比等をもとにあらかじめ設定しても良い。特にデータziの密度に偏りがある場合には有効である。例えば、データziの密度が高いことが分かっているときに、密なデータziを同じサブクラスにしたい場合は、対応する事前確率p(zi)を大きく設定すればよい。逆にデータziを細かく異なるサブクラスに分割したい場合は、対応する事前確率p(zi)を小さく設定すればよい。なお、ここでのデータziの密度は、画像空間上の密度でもよいし、圧縮された非線形空間上の密度でもよい。
次に、(式48)の計算結果から、サブクラスθmに属するデータziを用いて、以下のようにサブクラスθmのパラメータ
ここで、zcmは、サブクラスθmに属する圧縮された非線形空間上のデータである。また、ωはサブクラスθmに対する重み係数であり、ω=1としても良いし、入力データの平均値からのずれ具合によってωの値を調整しても良い。このように、(式48)から(式51)の距離計算およびパラメータ更新を規定回数繰り返すことによって、非線形空間上の各データが属するサブクラスθmを得ることができる。なお、上記に加えて、k−mean、競合学習など、他のクラスタリング方法を用いても構わない。上記のクラスタリング処理を図28Bに示したような次元圧縮したデータに適用した結果を、図28Cに示す。データ点がサブクラス化されていることがわかる。
図28Dに移動する人物のデータに対し、同様に非線形空間上でクラスタリング処理を行った例を示す。なお、次元圧縮したデータ分布図に、対応する人物領域を併記している。圧縮された非線形空間上でのサブクラスθ1からθ2についてピクチャ上での対応を見ると、θ1は人物頭部、θ2は人物胴体、というように、人体の各パーツに、各サブクラスが対応している。
ここで、人体の各パーツが圧縮された非線形空間上のサブクラスに対応するのは、時間的に連続した複数枚のピクチャに渡って画素を追跡したことによる。圧縮された非線形空間上でクラスタリングを行うことによって、ピクチャ中を移動する物体の領域を時間的に追跡した結果として、ピクチャ中の移動する被写体ごとに画像領域を抽出することができる。
本実施の形態の変形例3では、次元圧縮を行うことにより、膨大なパラメータフィッティングを必要とせずに、非線形空間でクラスタリングを行うことによって、特に、形状が変化しながら移動する人物等を含むピクチャにおいても安定にクラスタリングできる。したがって、サブクラス単位の静止指標ESUB-MSをより正しく求められるという効果がある。
なお、本実施の形態では2点間を結ぶ線形距離としてユークリッド距離を用いたが、前述した通り、線形距離はユークリッド距離に限るものではない。前述の線形距離で定義される任意の距離指標を用いて得られる形態も本発明に含まれるものとする。
(変形例4)
次に、本発明の実施の形態の変形例4に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、サブクラス分類部105は、ユークリッド距離f(i,j)に基づいてサブクラスを算出するものとして説明した。しかし、サブクラス分類部105の動作をこれに限定するものではない。以下、測地距離を複数生成することで、サブクラスの候補を生成し、それらの候補から選択してサブクラスの分類を行う例について説明する。
図29Aは、実施の形態の変形例4に係る移動体検出装置の構成を示す図である。図29Aに示すように、この移動体検出装置100Cは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部2401、重み付き距離算出部106、及び領域分割部107を含む。
サブクラス分類部2401以外の構成要素については、上記実施の形態と同じであるため、説明を省略する。本実施の形態の変形例4におけるサブクラス分類部2401の構成を図29Bに示す。
サブクラス分類部2401は、複数の移動軌跡のそれぞれについて、当該移動軌跡から他の移動軌跡までの複数の距離のうち、所定の距離閾値以下の距離を選択し、選択しなかった距離を無限大に変更する非線形化をした後に、当該移動軌跡から他の移動軌跡までの最短経路を求めることにより、測地距離を算出し、移動軌跡間の測地距離が有限の値となる移動軌跡の集まりを同一のサブクラスに分類することにより、各移動軌跡を複数のサブクラスのいずれかに分類する。
サブクラス分類部2401は、第3距離算出部2402、サブクラス候補生成部2403およびサブクラス候補選択部2404を備える。
サブクラス分類部2401では、まず第3距離算出部2402にて、移動軌跡算出部102で算出した移動軌跡からユークリッド距離f(i,j)を算出したのち、算出した距離マトリクスに対して、複数の判断基準を設けて測地距離変換を行い、測地距離g(i,j)を求める。次にサブクラス候補生成部2403で、移動軌跡間の距離の分布における不連続点を閾値によって検出し、検出した不連続点よりも小さい測地距離だけ離れた移動軌跡どうしが一つのクラスとなるように、連続に分布する移動軌跡をクラスタリングすることによって、前記閾値に対するサブクラスの候補を生成する。最後に、サブクラス候補選択部2404において、クラス数についての指示を取得し、取得したクラス数に近い個数の領域に分割された領域抽出候補を、サブクラス候補生成部2403で生成された複数の領域抽出候補から選択し、選択したサブクラス候補を、移動軌跡算出部102で算出された移動軌跡からサブクラス化した結果として出力する。すなわち、サブクラス候補生成部2403で生成した、それぞれの前記閾値に対する領域抽出の候補から、あらかじめ定めたクラス数に最も近いクラスタリング結果を選択する。
以下、サブクラス分類部2401の動作について説明する。
まず第3距離算出部2402において、ユークリッド距離f(i,j)を算出する。この手順は上記実施の形態で説明したユークリッド距離算出部1501と同じであるため、説明を省略する。第3距離算出部2402は、求めたユークリッド距離f(i,j)に対してK個の閾値Rkを定める。第3距離算出部2402は、それぞれの定めた閾値Rkに対して非線形化処理を行い閾値Rkに対する測地距離であるところのgk(i,j)を算出する。ここで、各閾値Rkに対応する測地距離gk(i,j)の算出手順は、上記実施の形態で記した距離算出部104での動作と同じであるため、説明を省略する。
次に、サブクラス候補生成部2403は、それぞれの閾値Rkに対応する測地距離マトリクスgk(i,j)を用いて、不連続点を検出することによってサブクラス候補生成を行う。具体的には、サブクラス候補生成部2403は、gk(i,j)が無限大となる移動軌跡iと移動軌跡jの間を不連続点とする。上記手順について、図30A〜図30Eを参照して説明する。図30Aに移動軌跡a〜hを示し、図30Bに移動軌跡a〜hからなる多次元空間の概念図を示す。
もし閾値Rkが十分に大きな値である場合、例えば、ユークリッド距離f(i,j)の最大値よりも閾値Rkが大きい場合には、測地距離gk(i,j)は、すべてのi,jの組合せにおいて無限大にならない。すなわち、不連続点が1点もないため、図30Cに示すようにサブクラスは1個と判断できる。一方、閾値Rkが十分に小さい場合、具体的には、f(i,j)の最小値よりも閾値Rkが小さい場合には、すべてのi,jの組合せにおいてgk(i,j)が無限大となる。すなわち、サブクラス数は移動軌跡の数と同数となる。したがって、閾値Rkをf(i,j)の最大値と最小値の間の値に設定して、それぞれサブクラス分類を行うことが効率的である。図30D、図30Eにそのようにして定めた閾値を適用した例を示す。
閾値をR1として設定した場合、図30Dのように測地距離g1(e,f)は無限大となる。そこで、サブクラス候補生成部2403は、移動軌跡eと移動軌跡fとの間を不連続点と判定する。この結果、移動軌跡aからdの各移動軌跡と移動軌跡eとの測地距離は不連続点を通らないため無限大の値を取らず、逆に移動軌跡fからhの各移動軌跡と移動軌跡aからeの各移動軌跡との測地距離は、不連続点g1(e,f)を通るためそれぞれ無限大となる。このように、測地距離が無限大とならない移動軌跡iと移動軌跡jの組は同じサブクラスに属すると判定し、無限大となる場合は別のサブクラスに属すると判定する。これによって、図30Dに示すように、データ点はθ1、θ2の2つのサブクラスに分離される。さらに、別の閾値をR2(ただし、R1>R2)と定めた例について、図30Eに示す。それぞれ、移動軌跡cと移動軌跡dとの間、移動軌跡eと移動軌跡fとの間、移動軌跡fと移動軌跡gとの間が不連続点であると判定し、図30Dの場合と同様に測地距離が無限大となる組と無限大にならない組とを整理してθ1、θ2、θ3、θ4の合計4つのサブクラスに分離される。
以上の処理により、サブクラス候補生成部2403は、複数の閾値Rkに対して、測地距離が無限大とならない移動軌跡の組は連続とすることで同じサブクラスと判定することができる。また測地距離が無限大となる移動軌跡の組は不連続とすることによって、不連続点をもとにサブクラス候補を複数生成することができる。
次に、サブクラス候補選択部2404は、サブクラス候補生成部2403でのサブクラス候補生成結果より、あらかじめ設定した数に最も近いクラス数となったサブクラス候補を、最終結果として選択する。図30A〜図30Bの例で説明すると、クラス数M=4と設定した場合には、閾値R2の時のサブクラス候補(図30E)が選択される。また、クラス数M=2と設定した場合には、閾値R1の時のサブクラス候補(図30D)が選択され、各移動軌跡について、指定したサブクラス数に最も近くなるようサブクラス分類が実行される。なお、クラス数Mについてはここでは2、4を取り上げたが、実際はより多い数が望ましく、シーンの状況や経験によって任意に定めることができる。
なお、本実施の形態の変形例4では、ユークリッド距離と測地距離を利用することによって、画素の位置と動きの類似性とを考慮したサブクラス分類が可能となる。図30A〜図30Bの例では、クラス数M=2と設定した場合には、下半身の動きが上半身の動きと大きく異なることが反映されて、上半身と下半身とが別々のサブクラスとなる。またクラス数M=4と設定した場合には、M=2の場合に加えて、頭部の動きと腕の動きの違い、上腿と下腿との動きの違いが反映され、頭部、腕、上腿(じょうたい)、下腿(かたい)が別々のサブクラスとなる。
なお、閾値Rkの数は何種類用意してもかまわない。また、設定したクラス数と同数のサブクラス候補がない場合には、最も近いサブクラス数となったものを選択してもよいし、設定したクラス数よりも小さいクラス数の中から一番近いサブクラス数となったサブクラス候補を選択してもよい。また同様に、設定したクラス数よりも大きいクラス数の中から一番近いサブクラス数となったサブクラス候補を選択してもよい。
このように、複数の閾値に対して、測地距離を用いて算出した不連続点をもとにサブクラス候補生成を行い、規定したクラス数に最も近いサブクラス候補を選択することによってサブクラス分類を行うことができる。
(変形例5)
次に、本発明の実施の形態の変形例5に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、サブクラス分類部105は、(式14)で算出したユークリッド距離f(i,j)に基づいてサブクラスを求めるとして説明した。しかし、サブクラス分類部105の動作をこれに限定するものではない。つまり、サブクラス分類部105では、ユークリッド距離算出部1501がユークリッド距離の算出を行っていたが、距離算出部104でもユークリッド距離の算出は行われている。このため、本実施の形態の変形例5では、サブクラス分類部における距離算出を省略し、距離算出部104で算出された距離を用いてサブクラス分類処理を行なうこととする。
図31Aは、実施の形態の変形例5に係る移動体検出装置の構成を示す図である。図31Aに示すように、この移動体検出装置100Dは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部2601、重み付き距離算出部106、及び領域分割部107を含む。なお、サブクラス分類部2601の代わりにサブクラス分類部2602を用いても良いし、サブクラス分類部2603を用いても良い。
サブクラス分類部2601、2602または2603以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
図31B〜図31Dに、サブクラス分類部2601〜2603の構成をそれぞれ示す。それぞれ、実施の形態、実施の形態の変形例3、実施の形態の変形例4に対応する。それぞれを順に説明する。
図31Bに示すサブクラス分類部2601は、ユークリッド距離ロード部2604及びクラスタリング部1502を含む。クラスタリング部1502の動作については、図15に示すクラスタリング部1502と同様であるため、説明を省略する。
この構成では、距離算出部104の備えるユークリッド距離算出部1201が、算出したユークリッド距離f(i,j)を先にメモリ(図示せず)に格納しておき、サブクラス分類部2601が備えるユークリッド距離ロード部2604が、メモリに格納されたユークリッド距離f(i,j)を、メモリからロードする。クラスタリング部1502は、ユークリッド距離ロード部2604がメモリからロードしたユークリッド距離f(i,j)を用いて、移動軌跡のクラスタリングを行う。これにより、新たにユークリッド距離を計算する手間を省くことができ、より高速な処理が実現できる。
図31Cに示すサブクラス分類部2602は、距離ロード部2605及びクラスタリング部2203を含む。クラスタリング部2203の動作については、図27Bに示す、実施の形態の変形例3におけるクラスタリング部2203と同様であるため、説明を省略する。
この構成では、距離算出部104が備えるユークリッド距離算出部1201及び移動軌跡間測地距離算出部1202が、それぞれ算出したユークリッド距離f(i,j)及び測地距離g(i,j)を先にメモリ(図示せず)に格納しておき、サブクラス分類部2602が備える距離ロード部2605が、メモリに格納されたユークリッド距離f(i,j)及び測地距離g(i,j)を、メモリからロードする。クラスタリング部2203は、距離ロード部2605がメモリからロードしたユークリッド距離f(i,j)及び測地距離g(i,j)を用いて、移動軌跡のクラスタリングを行う。これにより、新たにユークリッド距離及び測地距離を計算する手間を省くことができ、より高速な処理が実現できる。
図31Dに示すサブクラス分類部2603は、距離ロード部2605、サブクラス候補生成部2403及びサブクラス候補選択部2404を含む。サブクラス候補生成部2403、およびサブクラス候補選択部2404の動作については、図29Bに示す、実施の形態の変形例4におけるサブクラス候補生成部2403、サブクラス候補選択部2404と同様であるため、説明を省略する。
この構成では、距離算出部104が備えるユークリッド距離算出部1201及び移動軌跡間測地距離算出部1202が、それぞれ算出したユークリッド距離f(i,j)及び測地距離g(i,j)を先にメモリ(図示せず)に格納しておき、サブクラス分類部2603が備える距離ロード部2605が、メモリに格納されたユークリッド距離f(i,j)及び測地距離g(i,j)を、メモリからロードする。サブクラス候補生成部2403は、距離ロード部2605がメモリからロードしたユークリッド距離f(i,j)及び測地距離g(i,j)を用いて、サブクラス候補選択部2404と共に、移動軌跡のクラスタリングを行う。これにより、新たにユークリッド距離及び測地距離を計算する手間を省くことができ、より高速な処理が実現できる。
(変形例6)
次に、本発明の実施の形態の変形例6に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、静止指標算出部103に含まれる幾何拘束推定部701は、移動軌跡算出部102が求めた移動軌跡に基づいて幾何拘束を求めるとして説明した。
しかし、静止指標算出部103の動作をこれに限定するものではない。つまり、静止指標算出部103は、移動軌跡算出部102とは別に、画像入力部101が入力として受け付けた動画像から別途求めた移動軌跡を用いて、幾何拘束の推定を行ってもよい。
以下で、幾何拘束推定用の移動軌跡を別途算出する例について説明する。
図32Aは、実施の形態の変形例6に係る移動体検出装置の構成を示す図である。
図32Aに示すように、この移動体検出装置100Eは、画像入力部101、移動軌跡算出部102、幾何拘束推定用移動軌跡算出部2701、静止指標算出部2702、距離算出部104、サブクラス分類部105、重み付き距離算出部106、及び領域分割部107を含む。
幾何拘束推定用移動軌跡算出部2701、及び静止指標算出部2702以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
図32Bに、静止指標算出部2702の構成を示す。幾何拘束推定用移動軌跡算出部2701からの流れも含め、以下で説明する。
前述した幾何拘束の推定については、推定の安定性や推定結果が、移動軌跡から取り出した対応点の精度に依存することが知られている。すなわち、誤差の多いデータよりもできるだけ誤差の少ないデータを利用することで、より正しい幾何拘束が得られる。発明者らの実験によっても、対応点精度が悪い場合に、推定の結果や安定性が低下していることが確認できている。一般的には、KLTやLK(Lucas−Kanade)といった疎な対応点取得手法は、疎であるというデメリットはあるが、その代わりに精度のよい対応点取得が可能である。
一方、サブクラス分類部105においては、正しく移動軌跡をクラス分類するためには、できるだけ画像上で均一かつ、密な移動軌跡が取得できていることが望ましい。したがって、サブクラス分類部105に、前述の疎な対応点を利用するべきではないと考えられる。
以上のことより、本実施の形態の変形例6においては、幾何拘束の推定のみを、別途取得した、疎で精度の高い対応点を用いて行うことで、より精度よく幾何拘束を推定するものとする。疎な対応点取得手法としては、KLT(Kanade−Lucas−Tomasi)トラッカーなどがある。
KLTトラッカーは、以下の(式52)に基づいて、画像間の類似度を算出するものである。なお、pは(u,v)の形式で示される画素位置、zは(u,v)の形式で示される対応点の画素間での移動量、eは最小化すべき誤差成分である。
図32Bに示すように、静止指標算出部2702は幾何拘束推定部701および誤差算出部702を含む。幾何拘束推定部701および誤差算出部702の動作については、図7に示す幾何拘束推定部701および誤差算出部702と同様であるため、ここでは説明を省略する。
静止指標算出部2702の幾何拘束推定部701は、幾何拘束推定用移動軌跡算出部2701が算出した移動軌跡を、入力として受け、幾何拘束を推定する。続いて、誤差算出部702は、幾何拘束推定部701で推定された幾何拘束を、移動軌跡算出部102で算出された移動軌跡に対して適用し、各移動軌跡に対して静止指標Eを求める。以上の手順で求められた静止指標を用いて、続く重み付き距離算出部106以降において処理が実行される。
上記構成によると、より安定にかつ正確な幾何拘束を求めることができるため、より安定かつ正しく移動体の検出が行えるという効果がある。したがって、静止指標Eの信頼度がより高くなり、その結果、サブクラス単位の静止指標ESUB-MSをより正しく求められるという効果がある。
(変形例7)
次に、本発明の実施の形態の変形例7に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、重み付き距離算出部106は、距離算出部104で算出した測地距離g(i,j)及び静止指標算出部103で算出した静止指標Eに基づいて、サブクラス間測地距離を重み付けして求めるとして説明した。しかし、距離算出部104、および重み付き距離算出部106の動作をこれに限定するものではない。つまり、距離算出部104は移動軌跡間のユークリッド距離を求め、また、重み付き距離算出部106は、サブクラス間ユークリッド距離を求め、サブクラス内移動軌跡の静止指標に基づきサブクラスの静止または移動の判定を行い、判定結果に基づき、サブクラス間ユークリッド距離に重み付けを行い、最後にサブクラス間のユークリッド距離から、サブクラス間測地距離を求めるものとしてもよい。
本実施の形態の変形例7の動作について、図33A〜図33Dを参照しながら説明する。
図33Aは、実施の形態の変形例7に係る移動体検出装置の構成を示す図である。図33Aに示すように、この移動体検出装置100Fは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部2801、サブクラス分類部105、重み付き距離算出部2802、及び領域分割部107を含む。
距離算出部2801、及び重み付き距離算出部2802以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
距離算出部2801は、移動軌跡間のユークリッド距離を算出する。図33Bに、距離算出部2801の構成を示す。距離算出部は、ユークリッド距離算出部1501を含む。ユークリッド距離算出部1501の処理については、図15で説明したユークリッド距離算出部1501と同様であるため、説明を省略する。
重み付き距離算出部2802は、静止指標に基づいて、距離算出部2801が算出したユークリッド距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間のユークリッド距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間のユークリッド距離の比が大きくなるような重みを付けることにより、重み付きユークリッド距離を算出し、算出した重み付きユークリッド距離から重み付き測地距離を算出する。
図33Cに、重み付き距離算出部2802の構成を示す。本変形例の重み付き距離算出部2802はサブクラス間ユークリッド距離算出部2803、静止指標付加部2804、及びサブクラス間重み付き測地距離算出部2805を備える。
まず、サブクラス間ユークリッド距離算出部2803の動作について説明する。
図34に、サブクラス分類部105で生成された複数のクラスのうち、近接する2つのサブクラスθi、θjを示す。なお、簡単のため以下の説明では、「サブクラス」を「クラス」とのみ表記する。
クラスθi、θjに含まれる移動軌跡の集まりをそれぞれI、Jとし、クラスθi、θjが含む移動軌跡の個数をそれぞれNi、Njとすると、I、Jはそれぞれ図13A〜図13Cの説明に用いた(式21)・(式22)で表せる。
なお、(式21)、(式22)に含まれるxiは、(式2)同様、多次元ベクトルの形式で表された移動軌跡である。
ここで、Iに含まれる移動軌跡と、Jに含まれる移動軌跡との間で求められる距離を、クラス間距離と定義する。ここで、「距離」とはユークリッド距離、測地距離をともに含む概念であるとする。
図34に、クラス間ユークリッド距離の代表値(代表ユークリッド距離)の概念図を示す。クラスθiから移動軌跡xi31801を、クラスθjから移動軌跡xj11802を選択した場合、この2移動軌跡間のユークリッド距離はf31(=f(i3,j1))として求まる。これを、I,J間における全ての移動軌跡の組み合わせについて計算すると、以下の(式53)に示すような、複数のユークリッド距離fが得られる。
本明細書における移動体領域検出は、I、Jに示すようなクラス内の単一移動軌跡の集まりに着目し、クラス単位のマクロな距離に基づいて動作することで、ピクセル単位で処理をするために生じてしまう静止指標のノイズ・誤検出に対処できる。したがって、クラス間距離の代表値を算出することが望ましい。すなわち、クラス間距離の代表値は、図34に示すように、複数クラスに対して、クラス間の動きまたは位置的な関係を近似できるような代表値であることが望ましい。
前述の望ましい条件を満たす代表距離については、各クラスの移動軌跡間のユークリッド距離の平均値を代表値として用いることができる。これは、複数クラス間において、各クラスが含む移動軌跡間の全組み合わせにあたる複数のユークリッド距離を求め、それらを平均して得られるものである。この場合、代表ユークリッド距離F(θi,θj)は以下の(式54)で算出できる。
なお、この代表ユークリッド距離についてはユークリッド距離の平均値に限るものではない。
以下に示すように、各クラスの移動軌跡間のユークリッド距離の中央値を代表値として用いることもできる。これは、複数クラス間において、各クラスが含む移動軌跡間の全組み合わせにあたる複数のユークリッド距離を求め、それらのメジアンをとって得られるものである。この場合、代表ユークリッド距離F(θi,θj)は以下の(式55)で算出できる。
なお、(式55)において、
は、整数ラベルi(i=1〜Ni)、整数ラベルj(j=1〜Nj)に対応する複数の値を有するf(i,j)の中央値を返す関数である。
また、以下の(式57)に示すように、代表ユークリッド距離として、各クラスの移動軌跡間のユークリッド距離の最頻値を代表値として用いることもできる。これらの代表値は、複数クラス間において、各クラスが含む移動軌跡間の全組み合わせにあたる複数のユークリッド距離を求めた際に、それらの中でもっとも高頻度で現れる値である。
なお、(式57)において、
は、整数ラベルi(i=1〜Ni)、整数ラベルj(j=1〜Nj)に対応する複数の値を有するf(i,j)の最頻値を返す関数である。
次に、静止指標付加部2804の動作について詳しく説明する。静止指標付加部2804は、各クラスに属する移動軌跡の静止指標に基づき、各サブクラス間の代表ユークリッド距離F(θi,θj)に対し重み付けを行う。
重み付けの手順、基準については、図19Eで説明したものと同様であるため詳細な説明は省略する。重み付け後、サブクラス間の代表ユークリッド距離は、移動体同士は近くなり、移動体と背景は距離が遠くなっている。
最後に、重み付けされた代表ユークリッド距離F(θi,θj)について、サブクラス間重み付き測地距離算出部2805にて、サブクラス間測地距離を算出する。代表ユークリッド距離から測地距離を求める手順については、距離算出部104の説明において詳しく記載している。すなわち、距離算出部104の移動軌跡間測地距離算出部1202と同じ処理を行えばよい。処理の単位が移動軌跡単位か、サブクラス単位かの差があるだけで、同じ処理で測地距離を求めることが可能である。
なお、重み付き距離算出部2802は必ずしもサブクラス間重み付き測地距離算出部2805を含んでいなくともよい。測地距離は特に人物など変形の激しい移動体の表現に適しているが、動画像中の移動体の変形の激しさによっては、測地距離を用いなくともユークリッド距離のみで検出を行えることがある。この場合の、重み付き距離算出部2806の構成を図33Dに示す。
重み付き距離算出部2806は、静止指標に基づいて、距離算出部2801が算出したユークリッド距離に対して、重み付け前に比べ、任意の静止物の移動軌跡間のユークリッド距離に対する任意の静止物の移動軌跡と任意の移動体の移動軌跡との間のユークリッド距離の比が大きくなるような重みを付けることにより、重み付きユークリッド距離を算出する。
本変形例の重み付き距離算出部2806は、サブクラス間ユークリッド距離算出部2803、静止指標付加部2804を備える。
以上の構成によれば、サブクラス間測地距離の算出が不要になるため、計算量が削減できるという効果がある。
なお、前述の通り、サブクラスとは、サブクラス分類部105によって、移動軌跡算出部102で算出された移動軌跡の集まりを、輝度、または移動軌跡の類似度等の、ある指標によりクラスタリングすることで生成されるとしたが、必ずしもサブクラスが複数の移動軌跡を含んでいる必要はない。すなわち、サブクラスがそれぞれ1つの移動軌跡からなるサブクラス分類を行ってもよい。
以上の手順により移動体検出を行うことで、サブクラス分類部が出力したサブクラス数が、全移動軌跡数に比べて小さい場合、測地距離の計算量を削減することができるという効果がある。
(変形例8)
次に、本発明の実施の形態の変形例8に係る移動体検出装置について説明する。
上記実施の形態で説明した移動体検出装置100において、重み付き距離算出部106は、距離算出部104で算出した測地距離g(i,j)及び静止指標算出部103で算出した静止指標Eに基づいて、サブクラス間測地距離を重み付けするとして説明した。
しかし、静止指標算出部103および重み付き距離算出部106の動作をこれに限定するものではない。つまり、静止指標算出部103は、画像からカメラ110の動き情報を取得するカメラ動き取得部を備え、画像から検出したカメラ動きを重み付き距離算出部106に出力するとしてもよい。また、重み付き距離算出部106は、サブクラス間測地距離と、サブクラス内の移動軌跡の静止指標に基づき、サブクラスの静止または移動の判定を行い、判定結果とカメラ動きの情報に基づき、サブクラス間測地距離に重み付けを行い、サブクラス間測地距離を求めるものとしてもよい。
以下で、カメラ動きの情報を推定し、サブクラス間測地距離の重み付けに利用する例について説明する。
図35Aは、実施の形態の変形例8に係る移動体検出装置の構成を示す図である。図35Aに示すように、この移動体検出装置100Gは、画像入力部101、移動軌跡算出部102、静止指標算出部3001、距離算出部104、サブクラス分類部105、重み付き距離算出部3002、及び領域分割部107を含む。
静止指標算出部3001及び重み付き距離算出部3002以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
図35Bに、静止指標算出部3001の構成を示す。本変形例の静止指標算出部3001は、カメラ動き取得部3003、幾何拘束推定部3004、及び誤差算出部702を備えている。誤差算出部702の動作は、図7で説明した誤差算出部702の動作と同じであるため、ここでは説明を省略する。
まず、カメラ動き取得部3003の動作について説明する。カメラ動き取得部3003は、画像の動き情報からカメラ動きの情報を推定する。つまり、カメラ動き取得部3003は、移動軌跡算出部102で算出した移動軌跡より各フレーム間の対応点を抽出し、各フレーム間におけるカメラ動きの情報を推定する。
カメラ動きの情報の推定手法は様々なものがあるが、例えば、8点法で基礎行列Fを求め、そこから動き推定をするという方法がある。対応点から8点のサンプルを選び、RANSACにより行列を推定する8点法は、基礎行列推定によく用いられる手法として知られている。カメラのキャリブレーションを行って、キャリブレーション行列を求めておけば、推定した基礎行列とカメラのキャリブレーション行列から本行列(E行列)を求め、E行列の特異値分解を行うことでカメラ動きの情報を推定できる。
以上の動き推定手法については、詳しくは非特許文献4に記載されているため、これ以上の詳細な説明は省略する。もちろん、上記の手法以外にも、例えば非特許文献9に記載されているように、対応点と平面から動き推定を行ってもよい。その他、画像からフレーム間のカメラ動きの情報を推定する手法であれば、本実施の形態の動き推定に利用することができる。
「画像理解−3次元認識の数理−」金谷健一著、森北出版、1990
幾何拘束推定部3004は、カメラ動き取得部3003が推定したカメラ動きの情報を利用して幾何拘束を推定することができる。例えば、(式4)及び(式5)に示したエピポーラ拘束式には、カメラ動き取得部3003で推定した基礎行列Fをそのまま用いることができるし、ホモグラフィ拘束や、構造一致性拘束式に用いられる射影デプス(式8)に含まれるホモグラフィ行列及びエピポールも、カメラ動き取得部3003が推定したカメラ動きの情報から求めることができる。詳しい変換については、同じく非特許文献4に詳しいため説明を省略する。以上の手順により、幾何拘束推定部3004の処理が簡易になるという効果がある。さらに、幾何拘束推定部3004で推定した幾何拘束を用い、誤差算出部702は、各移動軌跡の静止指標Eを算出する。誤差算出部702は求めた静止指標Eを重み付き距離算出部3002へ出力し、カメラ動き取得部3003は求めたカメラ動きの情報を重み付き距離算出部3002へ出力する。
続いて、重み付き距離算出部3002は、図17の重み付き距離算出部106と同様に、サブクラス間測地距離を算出する。ここまでは、重み付き距離算出部3002も、重み付き距離算出部106も同じ動作を行う。
ここで、カメラ動きが大きい場合と小さい場合の、高次元空間上のサブクラスの分布の概念図を図36Aおよび図36Bに示す。実際には高次元空間であるが、見やすさのため二次元で表示している。カメラ動きが大きい場合の分布を図36A、カメラ動きが小さい場合の分布を図36Bに示す。カメラ動きが大きくなると、相対的に背景の動き成分が大きくなり、背景の分布が広がるため、図36Aのように移動体と背景の間で、どうしても距離が近くなってしまう。逆に、カメラ動きが小さい場合は図36Bのように、背景は移動体から遠い位置に分布する。これらの分布の違いに対処するため、前述の重み付けルールを、カメラ動きの大きさによって変化させることとする。
具体的には、図36Cに示すように、2つのサブクラスが「静止」同士であった場合、
WB<WS<1
(WB:カメラ動き大のときの重み、WS:カメラ動き小のときの重み)
となる重みWBまたはWSをサブクラス間測地距離にかける。サブクラスが「静止」と「移動」であった場合(異なる分類)、
WB>WS>1
(WB:カメラ動き大のときの重み、WS:カメラ動き小のときの重み)
となる重みWBまたはWSをサブクラス間測地距離にかける。つまり、カメラ動きが大きい場合に、より静止物のサブクラス同士が近づき、より移動体のサブクラスと静止物のサブクラスが離れるような重みを設定する。
具体的には、カメラ動きが大きいか小さいかの基準は、動画像から検出したい移動体の移動速度に依存する。例えば人物を移動体として検出したい場合は、人物の平均的な移動速度は3km/hであるため、カメラ動きが3km/h以上の場合は「カメラ動きが大きい」と判断し、よりカメラ動きが大きくなるほど、サブクラス静止または移動の判定結果を表す静止判定値EMSが両方0(静止)の移動軌跡ペア間の測地距離に適用する重みWは小さく(ただしW<1)、静止判定値EMSが0と1(静止と移動)の移動軌跡ペア間の測地距離に適用する重みWは大きく(ただしW>1)すればよい。
また、カメラ動きが3km/hより小さい場合は「カメラ動きが小さい」と判断し、よりカメラ動きが小さくなるほど、静止判定値EMSが両方0の移動軌跡ペア間の測地距離に適用する重みWを大きく(ただしW<1)、静止判定値EMSが0と1の移動軌跡ペア間の測地距離に適用する重みWを小さく(ただしW>1)すればよい。
例えば、カメラ動きが大きい場合、例えば5km/hであった場合は、サブクラスが「静止」同士の移動軌跡ペア間の測地距離に適用する重みWをW=0.005とし、サブクラスが「静止」と「移動」の移動軌跡ペア間の測地距離に適用する重みWをW=10とする。また、カメラ動きが小さい場合、例えば0.2km/hに相当する距離であった場合は、サブクラスが「静止」同士の移動軌跡ペア間の測地距離に適用する重みWをW=0.05とし、サブクラスが「静止」と「移動」の移動軌跡ペア間の測地距離に適用する重みWをW=1などとすればよい。
以上のように設定した重み付けにより、サブクラス間測地距離が変化した結果の例を図36D及び図36Eに示す。図36Dは、カメラ動きが大の場合の重みに従いサブクラス間測地距離の重み付けを行った後のサブクラスの分布を示し、図36Eは、カメラ動きが小の場合の重みに従いサブクラス間測地距離の重み付けを行った後のサブクラスの分布を示している。このように適切に重み付けを変化させることで、カメラ動きの大きさによらず、サブクラス間の測地距離が求まっていることが分かる。
なお、Wの大きさについては、例えば、ある特定のカメラ動き下であらかじめ設定した重みWrefに対し、カメラ動きの絶対値の比を、重みWrefに乗算または除算することで、重み付けルールを変更するとしてもよい。
以上の構成により、サブクラス間の重み付き測地距離Gwに対する、カメラ動きの大きさ変動の影響を低減することができるため、安定した移動体検出が実現できる。
なお、本実施の形態では、カメラ動き取得部でカメラ動きの情報そのものを求めるとしたが、カメラ動きの代わりに移動軌跡の大きさ(移動軌跡により求められる移動量)の平均値を求め、カメラ動きの代わりに用いてもよい。カメラ動きが大きくなると、平均的には背景上の移動軌跡の大きさも大きくなるため、近似的にカメラ動きの大小に比例した値を得ることができる。例えば、事前に、実際のカメラ動きと、おおよその移動軌跡の大きさの平均値との関係性を取得しておくことで、移動軌跡の大きさの平均値をカメラ動きに対応する評価値として用いることができる。
(変形例9)
次に、本発明の実施の形態の変形例9に係る移動体検出装置について説明する。
変形例8で説明した移動体検出装置100Gにおいて、カメラ動き取得部3003は、静止指標算出部3001に含まれ、画像からカメラ動きの情報を推定するものとして説明した。しかし、カメラ動き取得部3003の動作をこれに限定するものではない。
つまり、カメラ動き取得部3003は、カメラに設置したセンサにより、電子的或いは物理的に、カメラ動きの情報を取得するとしてもよいし、カメラの操作制御信号からカメラ動きの情報を取得するとしてもよい。
図37は、実施の形態の変形例9に係る移動体検出装置の構成を示す図である。図37に示すように、この移動体検出装置100Hは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部105、重み付き距離算出部3102、及び領域分割部107を含む。
カメラ動き取得部3101及び重み付き距離算出部3102以外の処理部については、変形例8と同じであるため、説明を省略する。
カメラ動き取得部3101は、カメラに設置したセンサから、電子的或いは物理的に、カメラ動きの情報を取得する。続いて、重み付き距離算出部3102は、静止指標算出部103から静止指標E、距離算出部104から各移動軌跡間の距離、サブクラス分類部105からサブクラス分類情報(ラベル情報)に加え、カメラ動き取得部3101からカメラ動き取得部3101が取得したカメラ動きの情報を受け付ける。変形例8と同様に、サブクラス間測地距離に対する重みWを、カメラ動きの情報に基づき変化させる。処理の詳細は変形例8と同様であるため説明を省略する。この構成によると、重み付き距離算出部3102は、実際のカメラ動きの情報を取得できるので、より正しく移動体の検出が行える。
なお、カメラ動き取得部3101におけるカメラ動きの情報の取得は、必ずしもカメラに設置したセンサである必要はなく、カメラが設置された移動車輌等に別途設置されたセンサによってもよい。特に移動車輌が車の場合には、車載センサを用いることができる。カメラ、及び別途設置されたセンサの位置関係が既知であれば、座標変換を行うことによって、センサで取得した移動体動きの情報を、簡単にカメラ動きの情報に変換し利用することができる。このように、センサがカメラとは別に設置されている場合の移動体検出装置の構成図を図38に示す。つまり、移動体検出装置100Iは、図37に示した移動体検出装置100Hにおいてカメラ動き取得部3101の代わりにカメラ動き取得部3201を備えている。カメラ動き取得部3201は、車などの移動車輌上に設けられた移動体上センサ3202からセンサ情報を取得し、カメラ座標系への座標変換を行い、移動体の動き情報をカメラ動きの情報として出力すればよい。この構成によれば、カメラ本体からの動きの取得が困難である場合でも、カメラが設置された移動車輌に別途センサを設けることでカメラ動きの情報を取得できるようになる。なお、移動車輌が車の場合に用いられる移動体上センサ3202としては、具体的には、走行距離と操舵角とを検出するセンサとしてもよい。なお、ここではカメラの搭載先を移動車輌としたが、移動し、かつカメラを搭載し、カメラ動きを検出できるものであれば、もちろん車輌でなくともよい。
(変形例10)
次に、本発明の実施の形態の変形例10に係る移動体検出装置について、図39Aおよび図39Bを参照しながら説明する。
上記実施の形態で説明した移動体検出装置100において、重み付き距離算出部106は、代表測地距離算出部1701と静止指標付加部1702を含み、静止指標に基づいて代表測地距離に重み付けを行い、領域分割部107は、重み付けされた代表測地距離に対して領域分割を行うとして説明した。しかし、重み付き距離算出部106と領域分割部107の動作をこれに限定するものではない。
重み付き距離算出部106で、各サブクラスの代表測地距離と代表静止指標を求めて領域分割部へ出力し、領域分割部107において、クラスタリング閾値に対して代表静止指標に基づく重み付けを行ってもよい。
図39Aは、実施の形態の変形例10に係る移動体検出装置の構成を示す図である。
図39Aに示すように、この移動体検出装置100Jは、画像入力部101、移動軌跡算出部102、静止指標算出部103、距離算出部104、サブクラス分類部105、重み付き距離算出部3401、及び領域分割部3402を含む。
重み付き距離算出部3401及び領域分割部3402以外の処理部については、上記実施の形態と同じであるため、説明を省略する。
重み付き距離算出部3401は、移動軌跡間の距離に基づいて、移動軌跡間の測地距離を算出する。
領域分割部3402は、静止物の移動領域と移動体の移動領域を異なるクラスに分類するか否かを判断するために用いられる測地距離の閾値に対して、静止指標に基づく重みを付けることにより得られる重み付き閾値と重み付き距離算出部3401が算出した測地距離との比較結果から静止物の移動軌跡と移動体の移動軌跡とを分離することにより、各ピクチャ上の静止物の領域と移動体の領域を分割する。
領域分割部3402は、2つの移動軌跡の静止指標がそれぞれ「静止物」および「静止物」を表す値であるときの測地距離の閾値に対する重みを、2つの移動軌跡の静止指標がそれぞれ「移動体」および「静止物」を表す値であるときの測地距離の閾値に対する重みよりも大きくする。
図39Bに示すように、重み付き距離算出部3401は、代表測地距離算出部1701と代表静止指標算出部3403を含む。代表測地距離算出部1701の動作は上記実施の形態と同じであるため、その説明を省略する。
代表静止指標算出部3403の動作について詳しく説明する。代表静止指標算出部3403は、各クラスに属する移動軌跡の静止指標について、その代表値を求める。
すなわち上記実施の形態における静止指標付加部1702の動作の、前半部分(各サブクラスにつき、1つの静止指標を求めるという部分)と同じ処理であり、サブクラス単位での静止または移動の評価を行うことで、ピクセル単位に生じる静止指標の誤判定を修正する。
サブクラス単位の静止または移動の評価の方法としては、例えば最も簡易な例として、多数決が挙げられる。具体的には、代表静止指標算出部3403は、あるサブクラス内の移動軌跡について、静止判定値EMS=1(移動)である移動軌跡の方が多い場合は、そのサブクラス単位の静止または移動の評価を、「移動」、すなわちサブクラス間静止判定値ESUB-MS=1とする。逆に、あるサブクラス内の移動軌跡について、「静止」と判定された移動軌跡の方が多いか、「静止」と判定された移動軌跡と「移動」と判定された移動軌跡との数が同じである場合は、そのサブクラス単位の静止または移動の評価を、「静止」、すなわちサブクラス間静止判定値ESUB-MS=0とする。以上により、図19Dに示すように、移動体上の各サブクラスについてはサブクラス間静止判定値ESUB-MS=1と判定され、静止物上の各サブクラスについてはサブクラス間静止判定値ESUB-MS=0と判定され、誤判定の影響を除去できる。
以上により、各サブクラス間に、1つのサブクラス間静止判定値ESUB-MS、すなわちサブクラス単位の静止または移動の評価の値が付与される。重み付き距離算出部3401は、サブクラス間静止判定値ESUB-MSと、サブクラス間測地距離hp,qを、領域分割部3402に出力する。
領域分割部3402は、サブクラス分類部105で生成された複数のサブクラスθp(p<=m,m:サブクラス数)を領域分割候補とする。領域分割部3402は、サブクラスθpの領域分割の評価値として、重み付き距離算出部3401で算出されたサブクラス間測地距離hp,qを用い、また領域分割のための閾値の重み付けとしてサブクラス間静止判定値ESUB-MSを利用し、サブクラスθpの領域分割候補を、別個のクラスタとして分割するか否かを判断する。
具体的には、領域分割部3402は、サブクラス間測地距離hp,qが、あらかじめ定められた閾値Ht以上の場合、対応する2つのサブクラスθp、θqは、そのサブクラス間の距離が十分離れているクラスとして選択し、個別のクラスとして確定する。
一方、領域分割部3402は、サブクラス間測地距離hp,qが、あらかじめ定められた閾値Htより小さい場合、対応する2つのサブクラスθp、θqは、同一のクラスとして確定する。つまり、この場合には、分割しないと確定する。そして、領域分割部3402は、領域分割候補の全てのサブクラスに対して、分割するか否かを判定した後、異なるクラスに属する移動軌跡には異なるラベルθmを割り当て、移動軌跡の領域分割情報として出力する。
ここで、予め定められた閾値Htに対して、以下に示すような重み付けルールを設定する。
2つのサブクラスのサブクラス間静止判定値ESUB-MSが、どちらも0であれば、どちらも静止物のサブクラスであり、同じ静止背景に属するといえる。したがって、サブクラス間がより統合されやすくなるような処理をするとよい。そこで、サブクラスの領域分割判定のための閾値Htに対し、サブクラス間測地距離を近づけるための重みYをかける。つまり、領域分割部3402は、上記実施形態におけるWminを用いて、Ymin=1/Wminとなるような重みYminを、閾値Htに対してかけるとよい。重み付け閾値をHtw(p,q)とすると、
Htw(p,q)=Ymin・Ht
となる。
また、ある2つのサブクラスのサブクラス間静止判定値ESUB-MSが、一方が0、もう一方が1である場合は、それぞれ背景のサブクラスと移動体のサブクラス、すなわち異なる物体のサブクラスである可能性が高いため、サブクラス間がより統合されにくくなるような処理をするとよい。そこで、閾値Htに対して、サブクラス間測地距離を遠ざけるような重みYをかける。つまり、領域分割部3402は、Yminと同様に、上記実施形態におけるWmaxを用いて、Ymax=1/Wmaxとなるような重みYmaxを、閾値Htに対してかける。重み付け閾値をHtw(p,q)とすると、
Htw(p,q)=Ymax・Ht
となる。
また、ある2つのサブクラスのサブクラス間静止判定値ESUB-MSが、どちらも1であれば、どちらも移動体のサブクラスである。しかし、背景の場合と異なり、その2つのサブクラスが、同じ移動体上のサブクラスであるか、異なる移動体上のサブクラスかは、サブクラス間静止判定値ESUB-MSのみからは判定できない。したがって、重み付けは行わないものとする。すなわち、領域分割部3402は、サブクラス間のクラスタリング閾値に対して、Y=1となるような重みYneuをかける。重み付け閾値をHtw(p,q)とすると、
Htw(p,q)=Yneu・Ht
となる。
なお、上述した、2つのサブクラスがともに静止物である場合にサブクラス間を統合されやすくする重み付けと、2つのサブクラスの一方が背景で他方が静止物である場合にサブクラス間を統合されにくくする重み付けは、どちらか一方のみを行ってもよいし、両者を同時に行ってもよい。
なお、Ymax、Yminの値については、カメラ動きの大きさや、移動体の動く速度等にもよるが、例えば、カメラが時速1kmで直進する場合は、上記実施の形態のWmax、Wminより、Ymax=0.2、Ymin=100を用いることができる。
さらには、サブクラスのサブクラス間静止判定値ESUB-MSの信頼度によって、重みを変化させることで、より正しく移動体を背景から分離できる。
もし、サブクラス間静止判定値ESUB-MSの信頼度が低い場合(例えばエピポール誤差を用いる場合に、特に直進する車に対して、例えば細い路地などで真正面に小さな移動体が存在するような場合)、誤判定が起こってしまう可能性がある。このような場合、予めYmax=0.4、Ymin=10にするなど、Ymax、Yminをより1に近い値にすることで、誤検出および検出ミスを低減することができる。
逆に、サブクラス間静止判定値ESUB-MSの信頼度が高い場合(例えば前述のエピポール誤差の場合、大通りの車道など、真正面に人物のような小さな移動体があらわれにくいような場合)は、逆にYmax=0.1、Ymin=1000にするなど、Ymax、Yminをより1から遠い値にすればよい。
特に、サブクラス間静止判定値ESUB-MSが完全に正しく与えられた場合は、Ymax=0とすれば、容易に、移動体を背景から分離することができる。
以上のようにして、各サブクラス間の領域分割のための閾値に重み付けを行うことで、上記実施の形態における、測地距離への重み付けと同じ効果を得ることができる。
最後に、領域分割部3402は、重み付けした閾値を用いて、上記実施の形態の領域分割部107の処理と同様に、サブクラス間測地距離hp,qと、重み付け閾値Htw(p,q)とを比較し、hp,q≧Htw(p,q)であった場合、対応するサブクラスθp、θqを、分割すると判断し、逆に、hp,q<Htw(p,q)であった場合、対応するサブクラスθp、θqを、分割しない、つまり統合すると判断する。
以上の手順により、測地距離の値を直接変更することなく、閾値の変更のみで、上記実施の形態の移動体検出装置100と同様の効果を得ることができる。特に、重み付け後の測地距離を保持しない、すなわちサブクラス数が多い場合などに、重み付け前の測地距離と重み付け後の測地距離の両方をメモリに保持する必要がないため、よりメモリ効率がよいという効果がある。
以上のようにして、本実施の形態及びその変形例に係る移動体検出装置及びその方法では、画素間の距離または移動軌跡の類似度に基づいてサブクラス化を行い、さらにサブクラス間の代表距離と、移動軌跡の静止指標から、移動体の姿勢によらずに、移動体を含むピクチャの領域分割をすることができる。
また、前処理として人物候補領域を設定する必要がないため、人物候補領域の検出ミスに起因する領域分割の失敗がない。したがって、膨大なパラメータのフィッティングを必要とせずに、形状が変化しながら移動する人物等を含むピクチャに対しても正しく移動体の検出を行えることとなる。
また、上記実施の形態に係る移動体検出装置100は、画像入力部101、移動軌跡算出部102及びサブクラス分類部105を備えたが、本発明は、これらの構成要素を必須とするものではない。図40は、本発明に必須の構成要素を備える移動体検出装置の構成を示す図である。移動体検出装置100Kは、静止指標算出部103と、距離算出部104と、重み付き距離算出部106と、領域分割部107とを備える。つまり、動画像を構成する複数のブロックのそれぞれにおけるピクチャの移動軌跡が予め算出されている場合には、移動体検出装置100は、外部から、そのような移動軌跡を取得し、取得した移動軌跡に対して、ステップS303、S304、S306およびS307の処理を実行してもよい。また、移動軌跡をサブクラスに分類することなく、重み付き距離算出部106は、全ての移動軌跡間で測地距離を算出することとしてもよい。なお、請求の範囲では、重み付き距離算出部106および領域分割部107をあわせて領域検出部と呼んでいる。
また、本発明は、移動体検出装置として実現されたが、移動体検出装置100の機能を持つものであれば、動画像において関節状動きをもつオブジェクトの領域を抽出、または、分割する画像処理装置として実現することができるのは言うまでもない。
なお、本実施の形態では線形距離としてユークリッド距離を用いたが、前述した通り、ユークリッド距離に限るものではない。前述の線形距離で定義される任意の距離指標を用いて得られる形態も本発明に含まれるものとする。
また、上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
さらにまた、上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしても良い。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしても良い。
また、本発明は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。
さらに、本発明は、上記コンピュータプログラムまたは上記デジタル信号をコンピュータ読み取り可能な不揮発性の記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc(登録商標))、半導体メモリなどに記録したものとしても良い。また、これらの不揮発性の記録媒体に記録されている上記デジタル信号であるとしても良い。
また、本発明は、上記コンピュータプログラムまたは上記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしても良い。
また、上記プログラムまたは上記デジタル信号を上記不揮発性の記録媒体に記録して移送することにより、または上記プログラムまたは上記デジタル信号を上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
さらに、上記実施の形態及び上記変形例をそれぞれ組み合わせるとしても良い。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。