本発明に係る移動体検出装置の一実施形態は、動画像中の移動体の全部又は一部の領域を抽出することによって動画像中の移動体を検出する移動体検出装置であって、動画像を構成する複数枚のピクチャを受け付ける画像入力部と、受け付けられた前記ピクチャを構成する1個以上の画素からなるブロックごとに、異なる2枚のピクチャ間での画像の動きを検出し、検出した動きを前記複数枚のピクチャについて連結した移動軌跡を複数算出する動き解析部と、算出された前記複数の移動軌跡を複数の部分集合に分割するとともに、分割された複数の部分集合において一部の移動軌跡を共有点として設定する領域分割部と、分割された前記複数の部分集合のそれぞれについて、複数の移動軌跡間の類似性を表す距離を算出する距離計算部と、算出された前記距離を、測地距離に変換する測地距離変換部と、変換された前記測地距離のうち、前記共有点を共有する測地距離を統合することで、前記部分集合にまたがる近似的な測地距離を算出する近似測地距離算出部と、算出された近似的な測地距離を用いて、類似する移動軌跡をもつブロックどうしを同一の領域として特定するクラスタリングを行うことによって、前記動画像に対して少なくとも一つの領域を抽出する領域抽出部とを備える。
これにより、類似する移動軌跡がまとめられて分類が行われるので、動きの異なる複数の部位からなる人物等の多関節物体を移動体として検出する場合であっても、一つの領域として認識されるので、正確な領域抽出が行われ、移動体が確実に検出される。つまり、形状が変化しながら移動する人物等の移動体に対しても正しく領域抽出し、これによって画像中の移動体を高速かつ確実に検出することが可能である。
また、部分集合ごとに測地距離を算出した後に、共有点を用いた測地距離の統合によって、部分集合にまたがる近似的な測地距離を算出しているので、移動軌跡を部分集合に分割しない場合に比べ、より少ない計算量で、全ての2つの移動軌跡間の組み合わせに対する測地距離が算出され、高速な移動体検出が可能となる。つまり、測地距離計算にかかる計算量を減らすことができるため、高速に移動体を検出することができる。さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。
ここで、前記画像入力部は、複数のカメラによる複数の動画像のそれぞれについて、前記複数枚のピクチャを受け付け、前記動き解析部は、前記複数の動画像のそれぞれについて、前記複数の移動軌跡を算出し、前記領域分割部は、前記複数の動画像のそれぞれについて算出された複数の移動軌跡を、分割された前記複数の部分集合として保持し、前記領域抽出部は、前記クラスタリングを行うことで、前記複数の動画像に対して少なくとも一つの領域を抽出してもよい。これにより、複数のカメラから得られた映像を統合的に処理することができる。さらに、類似する移動軌跡がまとめられて分類が行われるので、動きの異なる複数の部位からなる人物等の多関節物体を移動体として検出する場合であっても、一つの領域として認識されるので、正確な領域抽出が行われ、移動体が確実に検出される。さらに、複数のカメラ映像間をまたがるように移動する移動体や、形状が変化しながら移動する人物等の移動体に対しても正しく領域抽出し、これによって画像中の移動体を高速かつ確実に検出することが可能である。
なお、部分集合に分割する方法として、前記領域分割部は、移動軌跡に対応する前記ピクチャ上でのブロックの画像上での位置に関する空間上で、前記複数の移動軌跡を前記複数の部分集合に分割してもよい。これにより、画像上での位置において近傍に位置する移動軌跡を一つの部分集合として分割しやすくなる。特に画像特有の問題として、被写体は空間的に繋がったものである場合が多いため、測地距離計算をより高速に行うことができる。
このとき、前記領域分割部は、前記ピクチャに対してユーザが指定した空間分割に従って、前記複数の移動軌跡を前記複数の部分集合に分割してもよい。これにより、移動体が存在するおよその領域をユーザが知っている場合には、ユーザがその領域を指定することができるので、移動体が存在する領域が複数の部分集合に分割されてしまうことによって、測地距離計算の精度が下がる危険性を回避することができ、移動体の検出精度の劣化を防ぐことができる。
また、部分集合に分割する別の方法として、前記移動軌跡は、多次元ベクトルで表現され、前記領域分割部は、前記多次元ベクトルを表現する多次元ベクトル空間上で、前記複数の移動軌跡を前記複数の部分集合に分割してもよい。これにより、多次元ベクトル空間上で近傍に位置する移動軌跡もしくはベクトルデータを一つの部分集合として分割しやすくなるため、測地距離計算をより高速に行うことができる。
さらに、共有点の設定方法としては、前記領域分割部は、近傍の部分集合の一部が重複するように前記分割をするとともに、重複した領域に含まれる移動軌跡を前記共有点として設定したり、前記領域分割部は、前記複数の部分集合のそれぞれについて、当該部分集合に属する移動軌跡のうち、他の部分集合との境界に近接する移動軌跡を、前記共有点として設定したりしてもよい。画像上での近傍領域が重複もしくは接続するように共有点を持つことによって、画像上で離れた位置に存在する移動軌跡であっても、前記共有点を用いることによって、高速かつ正確に測地距離を計算することが可能になる。また、多次元ベクトル空間上での近傍領域が重複もしくは接続するように共有点を持つことによって、前記多次元ベクトル空間上で離れた多次元ベクトルであっても、前記共有点を用いることによって、高速かつ正確に測地距離を計算することが可能になる。
また、測地距離への変換に関しては、前記測地距離変換部は、前記距離計算部で算出された距離のうち、予め定められた条件を満たす小さい距離を連結することで、前記動き解析部で算出された一の移動軌跡から他の一の移動軌跡にたどりつく最短経路を求めることにより、前記距離計算部で算出された距離のそれぞれを測地距離に変換するのが好ましい。具体的には、前記測地距離変換部は、前記複数の部分集合に含まれる複数の移動軌跡のそれぞれについて、当該移動軌跡から他の移動軌跡までの複数の距離のうち、小さい順に予め定められた個数の距離を選択し、選択しなかった距離を無限大に変更する非線形化をした後に、前記最短経路を求めることにより、前記距離計算部で算出された距離のそれぞれを測地距離に変換するのが好ましい。これにより、閾値により選択された距離と選択されなかった距離とが非線形な関係となるため、線形距離と比較して、移動軌跡間の類似/非類似が強調されることとなり、人物のように関節で繋がった物体の動きを正しく表現することが可能となる。
また、前記測地距離変換部は、前記複数の部分集合に含まれる複数の移動軌跡のそれぞれについて、当該移動軌跡から他の移動軌跡までの複数の距離のうち、予め定められた閾値以下の距離を選択し、選択しなかった距離を無限大に変更する非線形化をした後に、前記最短経路を求めることにより、前記距離計算部で算出された距離のそれぞれを測地距離に変換してもよい。これにより、閾値により選択された距離と選択されなかった距離とが非線形な関係となるため、線形距離と比較して、移動軌跡間の類似/非類似が強調されることとなり、人物のように関節で繋がった物体の動きを正しく表現することが可能となる。
また、領域抽出の具体的な手法の一つとして、前記領域抽出部は、前記近似測地距離算出部で算出された測地距離の分布における少なくとも一つ以上の不連続点を検出し、検出した不連続点よりも小さい測地距離だけ離れた移動軌跡どうしが一つのクラスタとなるように、前記クラスタリングを行うのが好ましい。これによって、不連続点よりも小さい距離だけ離れた移動軌跡どうしが一つのクラスタとなるので、不連続点の条件を変えることで、生成されるクラスタ数を制御することができる。
また、領域抽出の具体的な手法の他の一つとして、前記領域抽出部は、前記近似測地距離算出部で算出された測地距離に対して、固有値および固有ベクトルを求めることによって次元圧縮を行い、次元圧縮した空間上で前記クラスタリングを行ってもよい。これにより、測地距離に対して次元圧縮を行うことで、ノイズや動き検出誤りに対して頑健な被写体検出が可能となる。
さらに、領域抽出の具体的な手法の他の一つとして、前記測地距離変換部は、前記距離を前記測地距離に変換するための複数の判断基準を生成し、生成した複数の判断基準のそれぞれについて、当該判断基準を用いて前記距離を前記測地距離に変換することで、前記複数の判断基準のそれぞれに対応する測地距離を生成し、前記近似測地距離算出部は、前記複数の判断基準のそれぞれに対応する測地距離に対して前記統合を行い、前記領域抽出部は、前記複数の判断基準のそれぞれに対応する統合された近似的な測地距離に対して前記クラスタリングを行って領域を抽出することで、前記複数の判断基準のそれぞれに対応させて、前記領域抽出の結果を領域抽出候補として生成する領域抽出候補生成部と、クラス数についての指示を取得し、取得したクラス数に近い個数の領域が抽出された領域抽出候補を、前記領域抽出候補生成部で生成された複数の領域抽出候補から選択し、選択した領域抽出候補を、当該領域抽出部による領域抽出の結果として出力する領域抽出候補選択部とを有する構成とすることができる。これによって、予め生成した複数の判断基準のそれぞれについてクラスタリングが行われるので、それら複数のクラスタリングから、所望の個数のクラスタが生成される。
なお、複数の判断基準の具体例については、前記測地距離変換部は、前記複数の判断基準として、複数の閾値を生成し、生成した複数の閾値のそれぞれについて、前記距離計算部で算出された距離のうち、当該閾値よりも小さい距離を連結することで、前記複数の判断基準のそれぞれに対応する測地距離を生成するのが好ましい。これにより、小さい距離が連結された測地距離を用いて移動軌跡の類似性が判断されるので、直線的な距離であるユークリッド距離を用いたクラスタリングに比べ、移動軌跡間の類似性に関する連続性を考慮したクラスタリングが行われ、ピクチャにおける各ブロックが同一の物体(又は部位)に属するか別個の物体(又は部位)に属するかが確実に弁別される。
また、前記移動体検出装置はさらに、前記領域抽出部で得られた領域抽出の結果を、前記画像入力部で受け付けたピクチャに重ねて表示する画像表示部を備えるのが好ましい。これにより、領域抽出した部位を画像上に表示することによって、スポーツにおけるフォームの修正あるいはリハビリテーションにおける歩行の矯正等に応用が可能である。
また、前記移動体検出装置はさらに、前記領域抽出部での領域抽出の結果に対応させて、前記画像入力部で受け付けたピクチャにおける領域を特定し、特定した領域ごとに、対応する領域抽出の結果を、記録して保持する、又は、伝送路を介して外部に送信する記録・送信部を備える構成としてもよい。これにより、検出した移動体画像を抽出した領域に基づいてそれぞれ別々に保持することによって、各移動体画像の中から必要な部分の画像のみを選択して保存したり、外部に出力したりすることによって、図形要素として効率的な保存及び出力が可能になる。そのため、携帯電話等、処理能力の限られた機器に保存及び送信する場合に有効に作用する。
また、前記画像入力部は、2つ以上の移動体が含まれる動画像を受け付け、前記領域抽出部では、前記2以上の移動体について前記領域抽出をすることで、2以上の移動体を検出してもよい。これにより、形状が変化しながら移動する一つの移動体だけでなく、複数の移動体を含む画像に対しても、正しく複数の移動物体を検出することが可能である。
また、前記移動体検出装置はさらに、前記領域抽出部で抽出された領域に含まれるブロックの移動軌跡から、当該領域を代表する移動軌跡を算出し、算出した移動軌跡に従って当該領域が移動すると予測することで、前記移動体の動きを予測する動き予測部を備えるのが好ましい。これにより、複数のブロックの移動軌跡を代表する軌跡を用いて移動体の動きを予測することにより、ノイズ耐性の高い動き予測が可能となる。
また、本発明の他の一実施形態は、複数のベクトルデータを、類似するベクトルデータの集まりであるクラスに分類するベクトルデータ分類装置であって、複数のベクトルデータを受け付けるベクトルデータ入力部と、受け付けられた前記複数のベクトルデータを、測地距離の計算に利用される複数の部分集合に分割するとともに、分割された複数の部分集合の少なくとも一つに含まれる一部のベクトルデータを共有点として設定する領域分割部と、分割された前記複数の部分集合のそれぞれについて、複数のベクトルデータ間の類似性を表す距離を算出する距離計算部と、算出された前記距離を、中継点としての移動軌跡をたどりながら一の移動軌跡から他の一の移動軌跡にたどりつく経路の距離である測地距離に変換する測地距離変換部と、変換された前記測地距離のうち、前記共有点を共有する測地距離を統合することで、前記部分集合にまたがる近似的な測地距離を算出する近似測地距離算出部と、算出された近似的な測地距離を用いて、類似するベクトルデータをもつブロックどうしを一つの領域として特定するクラスタリングを行うことによって、前記動画像に対して少なくとも一つのクラスを生成するデータ分類部とを備える。
これにより、類似するベクトルデータがまとめられて分類が行われるので、例えば、3次元の動きに関するベクトルデータを入力とした場合には、動きの異なる複数の部位からなる人物等の多関節物体を移動体として検出する場合であっても、一つの領域として分類されるので、正確な領域抽出が行われ、移動体が確実に検出される。つまり、形状が変化しながら移動する人物等の移動体に対しても正しく分類、すなわち領域抽出することが可能である。
また、部分集合ごとに測地距離を算出した後に、共有点を用いた測地距離の統合によって、部分集合にまたがる近似的な測地距離を算出しているので、ベクトルデータを部分集合に分割しない場合に比べ、より少ない計算量で、全ての2つのベクトルデータ間の組み合わせに対する測地距離が算出され、高速なデータ分類が可能となる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
まず、本発明の実施の形態1に係る移動体検出装置及び移動体検出方法について説明する。
図1は、実施の形態1における移動体検出装置100の構成を示す図である。図1に示されるように、この移動体検出装置100は、画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、領域抽出部107、出力部108を備える。そして、この移動体検出装置100は、動画像中の移動体の全部又は一部の領域を特定する領域抽出をすることによって動画像中の移動体を検出する。
画像入力部101は、動画像を構成する時間的に異なる複数枚の画像(ピクチャ)の入力を受け付ける処理部であり、例えば、ビデオカメラ、あるいは、ビデオカメラと接続された通信インターフェース等である。
動き解析部102は、画像入力部101で受け付けたピクチャを構成する1個以上の画素からなるブロックごとに、異なる2枚(例えば、時間的に隣接する2枚)のピクチャ間での画像の動きを検出し、検出した動きを複数枚のピクチャについて連結することで、移動軌跡を算出する処理部である。
領域分割部103は、動き解析部102によって算出された移動軌跡を複数の部分集合に分割するとともに、分割された複数の部分集合において一部の移動軌跡を共有点として設定する処理部である。ここでは、この領域分割部103は、それらの部分集合間で少なくとも一部の移動軌跡が重複するか、もしくは、接続されるように共有点を設定する。つまり、本実施の形態では、領域分割部103は、画像上での位置に関する空間上で、複数の移動軌跡を複数の部分集合に分割する。例えば、移動軌跡に対応するピクチャ上でのブロックの位置が近いものどうしが同一の部分集合に属することになるように、画像上での位置に関する空間上で、複数の移動軌跡を複数の部分集合に分割する。
距離計算部104は、領域分割部103によって分割された複数の部分集合のそれぞれについて、当該部分集合に含まれる複数の移動軌跡における2つの移動軌跡の組み合わせに対して、当該移動軌跡間の類似性を表す距離を算出する処理部である。ここでは、この距離計算部104は、画像において移動する物体の形状変化を捉えるために、動き解析部102で算出した部分集合に含まれるブロックiの移動軌跡と、ブロックi以外の当該部分集合に含まれるブロックの移動軌跡とを用いて、ブロックどうしの動きの類似性を表す距離を算出する。例えば、N個のブロックの移動軌跡を対象とした場合、算出される距離はN×N個の距離からなる距離マトリクスとなる。ここでは、ブロックの動きの類似性を評価する距離を計算することによって、ブロック間の距離が動きによって変化する移動体、特に、関節物体のように形状が変化しながら移動する人物等の物体の動きを距離マトリクスとして表現することが可能である。なお、以降の説明では、ブロックiの移動軌跡を移動軌跡iと呼ぶこととする。このように、本明細書における「距離」は、2次元空間における2点間の距離だけでなく、多次元のデータ間の算術的な距離を含み、1つの値、あるいは、複数の値の集合(距離マトリクス)である。
測地距離変換部105は、距離計算部104で算出した各部分集合における距離マトリクスに対して、測地距離変換を行う処理部である。
近似測地距離算出部106は、測地距離変換部105で変換された測地距離のうち、共有点を用いて、前記部分集合にまたがる測地距離を統合することで、近似的な測地距離を算出するという処理を行うことにより、動き解析部102で算出された複数の移動軌跡における2つの移動軌跡の組み合わせについての近似的な測地距離を算出する処理部である。つまり、近似測地距離算出部106は、測地距離変換部105で算出された各部分集合における測地距離マトリクスを統合することによって、部分集合間をまたがる近似的な測地距離を算出する。ここで、「近似的」な測地距離が算出される理由は、部分集合にまたがる測地距離については、それらの部分集合に属する全ての移動軌跡を用いて測地距離を算出する場合と比較して、共有点として設定された移動軌跡を用いて概括的に測地距離が算出されるからである。
領域抽出部107は、近似測地距離算出部106で算出された距離に基づいて、類似する移動軌跡をもつブロックから構成される領域を特定することによって、領域抽出をする処理部であり、ここでは、近似測地距離算出部106で統合された測地距離のうち、一定の閾値より小さい測地距離だけ離れた移動軌跡をもつブロックどうしを一つの領域として特定するクラスタリングを行うことで、画像入力部101で受け付けられた動画像に対して少なくとも一つの領域を抽出する。より詳しくは、本実施の形態では、この領域抽出部107は、距離計算部104で算出した距離マトリクスを用いて、測地距離変換部105及び近似測地距離算出部106にて得られた部分集合間をまたがる測地距離から、移動軌跡間の距離の分布における不連続性を検出し、検出した不連続点よりも小さい距離だけ離れた移動軌跡どうしが一つのクラスタとなるように、不連続点をもとにそれぞれ連続的に分布する移動軌跡をクラスタリングすることによって、画像中の移動体の検出と画像の領域抽出を行い、その結果として、画像中の移動体の検出と画像の領域抽出を行う。
出力部108では、領域抽出部107で行った動画像中の移動体の検出結果もしくは、画像の領域抽出結果を出力する処理部、メモリやハードディスク等への書き込み部、ディスプレイ装置等である。
なお、この移動体検出装置100を構成する各構成要素(画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、領域抽出部107、出力部108)は、図2に示されるように、CPU1005、RAM1007、ROM1006、カメラ1001と接続するための通信インターフェース1004、I/Oポート(ビデオカード1009等)、ハードディスク1008、ディスプレイ1003等を備えるコンピュータ1002上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路等のハードウェアで実現されてもよい。つまり、本実施の形態における構成要素のうち、ディスプレイ装置等の入出力装置を除く構成要素については、コンピュータで実行されるプログラム及びデータ(つまり、ソフトウェア)で実現してもよいし、電子回路、メモリ及び記録媒体等のハードウェアで実現してもよいし、それらの混在で実現してもよい。
本発明がソフトウェアで実現される場合には、CPU、メモリ及び入出力回路等のコンピュータのハードウェア資源を利用してプログラムが実行されることによって本発明の機能要素が実現されることは言うまでもない。つまり、CPUが処理対象のデータをメモリや入出力回路から読み出して(取り出して)演算したり、演算結果を一時的にメモリや入出力回路に格納(出力)したりすることによって、各種処理部の機能が実現される。
また、本発明がハードウェアで実現される場合には、1チップの半導体集積回路で実現されてもよいし、複数の半導体チップが一つの回路基板に実装されて実現されてもよいし、一つの匡体に全ての構成要素が収納された一つの装置として実現されてもよいし、伝送路で接続された複数の装置による連携によって実現されてもよい。たとえば、本実施の形態における記憶部をサーバ装置に設け、本実施の形態における処理部を、そのサーバ装置と無線通信するクライアント装置に設けることで、本発明をサーバ・クライアント方式で実現してもよい。
以下、他の実施の形態における移動体検出装置についても同様である。
以下に、本発明の移動体検出方法、つまり、移動体検出装置100の動作として、図3のフローチャートを用いて移動する移動体を検出、領域抽出する例について詳細に説明する。
まず、ステップS201にて、画像入力部101は、複数枚のピクチャを受け付ける。
次に、ステップS202にて、動き解析部102は、少なくとも2枚のピクチャからブロックの動きを算出する。なお、ここでは、ブロックの動きを算出する一例として、画素の動きを算出する。以下、本実施の形態では、ブロック単位の処理の一例として、画素単位の処理を説明する。なお、複数の画素からなるブロック単位で処理をする場合には、(i)画素に対応するデータをブロック内で合計したり、(ii)ブロック内の平均値を求めたり、(iii)ブロック内の中心値を求めることで、ブロックに対応するデータ(代表値)を求め、得られた代表値を用いて画素単位の処理と同様に処理すればよい。なお、本明細書で、「ブロックの動き」及び「画素の動き」とは、それぞれ、「画像のブロック単位での動き」及び「画像の画素単位での動き」を意味する。
例えば、ステップS201にてT枚のピクチャが入力されたと仮定すると、時刻tと時刻t+1に入力されたピクチャを用いて、画素iの動きベクトル(ui t,vi t)を推定する。ここでは、必ずしもフレームが連続している必要はなく、例えば、時刻tと時刻t+nに入力されたピクチャを用いて画素の動きを求めてもよい。ただし、nは1以上の整数である。さらに、画素の動きとして、前記2次元動きベクトルの代わりにアフィンパラメータを推定してもよい。この時、すべての画素について動き情報を求めてもよい。また、より高速に処理を行いたい場合には、画像をグリッドに区切って一定間隔のグリッド上の画素についてのみ動き情報を求めてもよいし、上述したように、画像をブロックに区切ってブロックごとに動き情報を求めてもよい。さらに、非特許文献4で開示された手法を用いて動きベクトルを算出する場合は、その信頼度を計算することができるため、信頼度の高い動き情報を持つ画素のみを用いてもよい。また、非特許文献5で開示された手法を用いて動きベクトルを算出する場合は、オクルージョンを推定することができる。そのため、遮蔽(しゃへい)されていない画素の動き情報のみを用いてもよい。
さらに、画素の動きを算出する手法として、前記したブロックの並進移動を仮定して動きベクトルを算出する方法の代わりに、ブロックのアフィン変形を仮定して動きベクトルを算出する方法を用いてもよい。アフィン変形を仮定して動きベクトルを算出する方法は、以下の非特許文献6で開示された手法を用いることができる。
Jianbo Shi and Carlo Tomasi,"Good Features to Track",IEEE Conference on Computer Vision and Pattern Recognition,pp593−600,1994
上記手法は、時刻tと時刻t+1に入力されたピクチャの画素i近傍の動きに相当するアフィンパラメータAi tを推定する。画素iについて、時刻tと時刻t+1におけるピクチャ上での画素位置xi tとxi t+1は次の関係がある。
上記手法は、特に回転運動をする物体に対して、並進移動を仮定して動きベクトルを算出する手法を用いる場合よりも、高精度に画素iの動きを推定することができる。
次に、ステップS203にて、動き解析部102は、ステップS202で算出した動き情報を用いて、時間的に異なる複数枚のピクチャに対して前記画素の動きから移動軌跡iを算出する。以下、画素iの移動軌跡を移動軌跡iと呼ぶこととする。図4に示すように、時刻tにおける入力画像301の画素i303からステップS202で算出した動き情報302を用いて、画素iの動きを追跡する。この時、画素iが通った時刻tにおけるピクチャ上での画素位置(xi t,yi t)を用いて、以下のように移動軌跡i(ここでは、xi)を算出する。
ここで、Tは移動軌跡の算出に用いたピクチャの枚数である。さらに、式2において、動きの無い移動軌跡、もしくは動きの小さい移動軌跡については、以下の処理を行わないようにすることも可能である。
次に、ステップS204にて領域分割部103は、図5に示すように画像401の位置に関する空間をP個の部分集合402として領域に分割する。ここで、部分集合402は、分割された画像領域(画像上の位置)に対応する移動軌跡の集合でもある。この時、部分集合どうしが共通点(両部分集合に論理的に属することとなる移動軌跡)をもつように、部分集合を設定する、または、共通点を設定する。具体的には、部分集合402の設定において、図5(a)や図5(b)に示すように、画像401の位置に関する空間において、一部を重複するように設定し、重複領域に属する画像領域(画像上の位置)に対応する移動軌跡を共有点として設定してもよいし、図5(c)のように、部分集合の境界において近接する画像上の位置に対応する移動軌跡を共有点403として設定してもよいし、図5(d)のように、部分集合を空間的に高密度に設定し、共有点403を空間的に疎に設定してもよい。さらに、ここでは、部分集合に分割する際において、図5に示したような長方形で行う必要は必ずしもなく、正方形や横長の長方形でもよいし、円や楕円、多角形であっても構わない。また、複数の部分集合によって、画像全体を包含するように設定するのが望ましい。例えば、抽出したい被写体の形状や動きが事前に予測できないような場合やカメラの天地方向が変化するような回転が生じるような場合においては、図5(a)、図5(c)、図5(d)に示したように正方形とすることで、被写体やカメラの回転による影響を受けにくくする効果がある。また、特に人物等、縦方向に長い被写体を抽出したい場合には、図5(b)に示すような縦長の長方形にすることで、人物の形状をより正確に抽出できる。さらには、同様に、犬などの動物の場合は、その形状を反映して、横長の長方形とすることが望ましい。そして、より計算量を減らしたい場合には、図5(c)に示すように重複領域の代わりに境界に隣接する移動軌跡を共有点と設定することによって、重複を減らすことで計算量をより削減できる効果がある。さらには、パースの効果を反映するために、画像上部の部分集合の大きさを画像下部の部分集合よりも小さくすることによって、画像下部の被写体が大きく、画像上部の被写体が小さいような場合においても、より高精度な抽出を実現できる効果がある。もちろん、正方形ではなく、画像上部の部分集合を小さくする効果は、部分集合の分割を台形によって行うことによっても実現できる。また、各部分集合の数やサイズについては、後述する。
ここで、画像領域(画像上の位置)に対応する移動軌跡とは、分割された画像領域における画像上の位置に基づいて移動軌跡iを部分集合に分割することによって得られるものであり、例えば、画像上の位置(xi 1,yi 1)が部分集合pに属する場合は、時刻1において、画像上の位置(xi 1,yi 1)を通った上記式2に示した移動軌跡iを部分集合pに割り当てる。さらに、一定の時刻tにおける画像上の位置(xi t,yi t)が部分集合pに属する場合は、(xi t,yi t)を通った移動軌跡iを部分集合pに割り当てるようにしてもよい。さらには、上記式2の移動軌跡iに対して時間平均を計算することで、移動軌跡の画像上での時間平均位置
を算出し、その時間平均位置が属する部分集合pに移動軌跡iを割り当ててもよい。 共有点についても同様に画像領域(画像上の位置)に対応する移動軌跡である。このように、それぞれ画像領域(画像上で位置)に基づいてP個に分割し、その結果から、それぞれの移動軌跡を部分集合pに割り当てることによって、それぞれの移動軌跡は、複数の部分集合に分割されることになる。
次に、ステップS205にて、距離計算部104は、ステップS204にて分割した部分集合pごとに、部分集合pに属する移動軌跡iを用いて画素の動きの類似性を含む距離マトリクスを算出する。移動軌跡iと移動軌跡jとの類似性を表す線形距離fp(i,j)は以下の式3〜式13により算出できる。なお、式3〜式13に代表されるような距離は、非線形な関数を含んでいても良いが、後述する非線形な変換と経路を探索する方法により算出される測地距離と区別するために、線形距離とよぶこととする。ここで、移動軌跡iと移動軌跡jは、共に同じ部分集合pに属するものとし、それぞれの部分集合pに対して、以下の計算を行う。
ここで、wは重み係数であり、設計者が設定するパラメータである。さらに、式3に代えて、線形距離f
p(i,j)の定義を次式のようにしてもよい。
また、ptn
ij,mtn
ijは、それぞれ、移動軌跡間距離の時間平均値、移動軌跡間距離の時間変動成分であり、その定義については以下に示す。
上記のように、式3に示されるように、式5に示した移動軌跡間距離の時間平均値に加えて、式6に示した移動軌跡間距離の時間変動成分を前記線形距離f
p(i,j)の要素とする。特に式6に示した移動軌跡間距離の変動成分は、画素の動きの類似性を示すものであり、これによって、画素間のなす距離の関係が時間的に変化しない剛体だけでなく、関節物体等の形状変化を捉えることができる。また、式6の代わりに式8から式13のような時間変動成分を用いることで、同様の効果が期待できる。
であり、u
t iは、時刻tからt+1への動きベクトル(u
i t,v
i t)であり、<u
t i・u
t i>は内積である。
また、時間変動成分として、以下のような計算を用いてもよい。
である。
次に、ステップS206で、測地距離変換部105は、上記式3もしくは上記式4で算出した部分集合pにおける線形距離f
p(i,j)に対して閾値Rを用いて、以下のように非線形化処理を行いf'
p(i,j)を算出する。
移動軌跡iに着目した時に移動軌跡iとの線形距離f
p(i,j)が小さい順にR個の移動軌跡jを選択し、選択された移動軌跡jとの距離は変更せず、選択されなかった移動軌跡jとの距離を無限大に変更する。なお、ここでは、線形距離が小さい順に選択したが、次式のように閾値Rを設定してもよい。
つまり、測地距離変換部105は、動き解析部102で算出された部分集合pに属する複数の移動軌跡のそれぞれについて、距離が小さい順に予め定められた個数(R個)の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよいし、動き解析部102で算出された部分集合pに属する複数の移動軌跡のそれぞれについて、距離が予め定められた閾値以下の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよい。
なお、距離の非線形化に関しては、上記の関数に限定されるものではなく、移動軌跡iと移動軌跡jに関する距離に対して非線形変換を行うものであれば何でもよい。
さらには、線形距離fp(i,j)に対して、以下のように式16及び式17を用いて計算した重みを掛け算して重み付けを行った後に式14もしくは式15の処理を行ってもよい。
ここで、NNは移動軌跡の近傍点かつ同一の部分集合pに属する点について処理することを示し、移動軌跡a及びbに対して、移動軌跡j及びiからそれぞれ一定距離以内にある移動軌跡もしくは、距離が小さい順にN個の移動軌跡を用いて計算することを示す。すなわち、N
a、N
bは、それぞれ同一の部分集合pに属しており、かつ一定距離以内にある移動軌跡の数もしくは、前記Nである。なお、zは設計者が設定する。
また、式16の代わりに次式のように分散を用いてもよい。
であり、NNについては、式16の場合と同じである。
式16や式17の重みを用いてfp(i,j)を変換することによって、移動軌跡i及びjと類似した移動軌跡が空間的に密集している場合(距離が近い移動軌跡の場合)には、fp(i,j)を相対的に小さく、また、空間的に疎な場合(距離が遠い移動軌跡の場合)には、密集している場合と比較してfp(i,j)が相対的に大きくなる。つまり、距離計算部104で算出された距離を測地距離に変換するときに、領域分割部103で分割された部分集合p内の複数の移動軌跡の分布における密集度が大きいほど小さい測地距離となるような重み付けをしたうえで、測地距離への変換をする。これによって、画素の移動軌跡の分布の密集度を考慮した距離変換が可能になる。
次に、非線形化された距離f'p(i,j)を用いて、次式のように測地距離gp(i,j)を算出する。
なお、min(x,y)は、値xと値yのうち小さい方を返す関数である。また、sは、移動軌跡sであり、移動軌跡iから移動軌跡jに辿(たど)りつくための中継点である。ここで、f'
p(i,s)+f'
p(s,j)における中継点sは1点に限るものではない。なお、pはそれぞれの部分集合に対応する。この方法は、ダイクストラ法と呼ばれる最短経路探索手法であり、以下の非特許文献7に記載されている。このように、測地距離変換部105は、距離計算部104で算出された距離のうち、予め定められた条件を満たす小さい距離を連結することで、動き解析部102で算出された一の移動軌跡から他の一の移動軌跡にたどりつく最短経路を求めることにより、距離計算部104で算出された距離のそれぞれを測地距離に変換する。
E.W.Dijkstra, "A note on two problems in connexion with graphs", Numerische Mathematik, pp.269-271, 1959
ここで、上記式14及び式15に示した非線形化処理について、図6(a)〜図6(c)の概念図を用いて説明する。ここでは、式15について説明するが、他の非線形化処理を行っても同様の効果が期待できる。まず、図6(a)は2次元のデータ分布を示す。ここで、それぞれのデータ点は、上記式3もしくは上記式4に示した移動軌跡iに相当する。上記式14から式17の非線形化処理を行わない場合には、図6(b)に示したように、データ点iとデータ点jとの距離は、データ点iとデータ点kとの距離よりも小さくなる。しかしながら、図6(c)に示すように、例えば上記式15の処理及び上記式17の処理を行うことによって、データ点iとデータ点jとの距離は、ユークリッド距離ではなく、測地距離と呼ばれるデータ点を矢印のように辿(たど)った距離となる。結果として、ユークリッド距離を用いる場合と異なり、データ点iとデータ点jとの距離は、データ点iとデータ点kとの距離よりも大きくなる。
ここで、このような上記式14から式17に示した測地距離変換の意義を図7(a)及び図7(b)の概念図を用いて説明する。
ここでは、線形距離fp(i,j)と測地距離gp(i,j)の違いを分かりやすく説明するため、上記式5に示すような時刻tにおける移動軌跡間距離を例とする。実際には、移動軌跡間距離に加えて、上記式3に示したように画素の動きの類似性として移動軌跡間距離の変動成分を用いることにより、関節物体等の形状だけではなく形状変化をも捉えることができる。図7(a)は、上記式14から式17の非線形化処理を行わない場合の例である。例えば、頭部の画素i602と手先部の画素j603との距離は、線形距離601に示す距離となる。一方、上記式14から式17のような非線形処理を行うことによって、閾値Rが適切に設定されていれば、図7(b)に示されるように、頭部の画素i602と手先部の画素j603との距離は、画素k604を通って画素jにたどり着くまでの矢印で示したような線形和としての距離(つまり、測地距離)となる。そのため、線形距離601では人物のような関節物体の関節が繋がった形状をデータとして連続的に表現できないのに対して、測地距離によれば、関節が繋がった形状を距離として連続性を表現することが可能となる。なお、測地距離の計算方法は、上記式14から式17の非線形処理を必要とする方法に限定されるものではない。また、線形距離および測地距離における距離は、類似度と相反する関係にあり、類似度が高いときは、距離は小さく、類似度が小さいときは、距離が大きくなる。そのため、前述した距離の代わりに類似度を用いる場合は、類似度の逆数を距離として用いたり、類似度の最大値以上の値から類似度を引いた値を距離として用いたりすることで、上記の相反する関係を満たすように距離に変換して用いても良い。
次に、ステップS207にて、近似測地距離算出部106は、各部分集合における測地距離マトリクスgp(i,j)を統合することによって、部分集合にまたがる近似的な測地距離を算出する。具体的には、ステップS204にて設定された共有点を用いて、以下のように統合処理を行う。
ここで、cは共有点であり、部分集合pおよび部分集合qの両方に属する移動軌跡である。つまり、複数の部分集合間で重複している移動軌跡である。なお、共有点は、必ずしも2つの部分集合に属するものではなく、3つ以上の部分集合に属しても構わない。また、iとhは、それぞれ、異なる部分集合pおよびqに属する移動軌跡に対応するインデックスである。なお、共有点cは、図5に示した例のように1点に限るものではない。
は、少なくとも1つ以上の共有点cについて、上記式21を計算し、その中で最小値を選択する関数である。ここでは、部分集合pとqの2つの組に限定されるものではなく、上記式21に対して、共有点を複数用いて、それぞれの部分集合をまたぐように測地距離を加算していけば、2つ以上の部分集合間にまたがる測地距離を算出することができる。
さらに、図5(c)のように、部分集合の境界において近接する画像上の位置に対応する移動軌跡を共有点403とした場合や、図5(d)のように空間的に疎に分布する共有点を持つ場合には、共有点ciに対応する移動軌跡と共有点cjに対応する移動軌跡との線形距離fc(ci,cj)を計算して、下記式22のように統合処理を行えばよい。
ここで、線形距離f
c(c
i,c
j)は、共有点間を接続する効果がある。なお、f
c(c
i,c
j)は、すべての共有点に対して計算してもよいし、空間的に近傍の少なくとも1つ以上の共有点間の距離を求めてもよい。
は、少なくとも2つ以上の共有点c
i、c
jについて、上記式22を計算し、その中で最小値を選択する関数である。ここでは、部分集合pとqの2つの組に限定されるものではなく、上記式22に対して複数の共有点間を接続する線形距離を用いて、それぞれの部分集合をまたぐように測地距離を加算していけば、2つ以上の部分集合間をまたがる近似的な測地距離を算出することができる。
このように、共有点cを用いて部分集合に分割し測地距離計算を行ったgp(i,j)を、共有点cを用いて統合し、部分集合をまたがる近似的な測地距離g(i,h)を算出することによって、ステップS203で算出したすべての移動軌跡に対する測地距離g(i,j)を高速に得ることができる。このような手法による効果について、図8を用いて説明する。図8では、2つの部分集合を例として説明するが、本発明においては、部分集合の数はいくつでも構わない。ステップS204にて、異なる部分集合aとbに分割され、ステップS205にて、それぞれの部分集合における測地距離(例えば、部分集合a内の測地距離704、部分集合b内の測地距離705)を計算する。そして、ステップS207にて、共有点703を用いて統合処理を行うことで、例えば、図8の頭部の点に対応する移動軌跡iと足先の点に対応する移動軌跡jのように、部分集合間をまたがる近似的な測地距離g(i,j)を得ることができる。
ここで、たとえステップS204にて、一つの被写体が二つ以上の異なる部分集合に分割されたとしても、統合処理を行うことで、部分集合に分割する処理を行わない場合と同等の精度で測地距離を計算することができる。
さらに、部分集合に分割せずに測地距離計算を行った場合と比べて、少ない計算量で測地距離計算を行うことができる。具体的には、移動軌跡の数をNとすると、測地距離計算に掛かる計算量はO(N2logN)となることが上記非特許文献3に示されているが、本実施の形態による測地距離計算および統合に掛かる計算量の概算は、次式のようになる。
ここで、Mは部分集合の数、Cは全共有点の数、すなわち図5に示した各部分領域間の共有点の数の合計である。C
2logCは、上記式21で測地距離の統合処理に掛かる計算量である。例えば、移動軌跡の数NをVGA画像サイズと同じ640×480として、さらに、Mを10、CをNの10%とした時には、計算量は、部分集合に分割しない場合と比べて、およそ0.11倍となる。画像サイズもしくは、移動軌跡の数が分かっている場合においては、部分集合の数Mと共有点Cとの2つの変数によって、計算量の削減量を見積もることができる。精度を重視する場合には、重複領域を多くとることが望ましい。そのため、全共有点の数Cを大きくすると良い。さらに、計算量を重視する場合には、部分集合の数Mを大きくすると良いが、精度を考慮すると全共有点の数Cも、それに合わせて大きくする必要があるため、処理する対象の形状や動き、また、精度とのバランスで決定する必要がある。以上のように、共有点を用いて測地距離を統合することで、高速に測地距離計算の処理が可能となる。
次に、ステップS208で、領域抽出部107は、近似測地距離算出部106で統合した測地距離g(i,j)を用いて、不連続点を検出することによって類似する移動軌跡をもつブロックから構成される領域を特定することによって領域抽出を行う。ここでは、g(i,j)が無限大となる移動軌跡iと移動軌跡jの間が不連続点である。閾値Rに対して得た測地距離の例を図9(a)〜図9(c)を用いて説明する。ここで、図9(a)は、移動軌跡a〜hを示し、図9(b)は、図9(a)に示した移動軌跡a〜hを表現する多次元空間の概念図である。なお、図9(a)に示される移動軌跡a〜hの数を8本としたが、実際には、各画素に対応する移動軌跡を用いてもよいし、ブロック単位で求めた移動軌跡を用いてもよい。ここで、図9(b)に示される多次元空間における1点(点a〜点h)が、それぞれ、上記式2に示した一つの移動軌跡に対応する。すなわち、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果である。さらに、図9(b)に示される多次元空間上で、点と点との距離は、ベクトル間のユークリッド距離ではなく、上記式20および式21から算出された測地距離に対応する(ただし、無限大は除く)。
図9(c)に示されるクラスタリングの例について説明する。ここで、図9(b)の多次元空間において、上記式3もしくは上記式4に示した移動軌跡aと移動軌跡bとの距離をf(a,b)とした時に、f(e,f)>f(c,d)>f(f,g)>f(b,c)である。ここでは、閾値をRとして設定した場合に、距離f(e,f)だけが閾値Rよりも大きな値を持つとする。この場合、上記式20によって測地距離を求めてもgp(e,f)は無限大となる。そのため、上記式21もしくは式22によって、測地距離を統合した結果g(e,f)も無限大となる。そこで、領域抽出部107は、移動軌跡eと移動軌跡fとの間を不連続点と判定する。この結果、移動軌跡aからdと移動軌跡eとの測地距離は不連続点を通らないため無限大の値を取らず、逆に移動軌跡fからhの各移動軌跡と移動軌跡aからeの各移動軌跡との測地距離は、不連続点g(e,f)を通るためそれぞれ無限大となる。このように、測地距離が無限大とならない移動軌跡iと移動軌跡jの組は同じクラスタとし、無限大となる場合は別のクラスタとする。これによって、図9(c)に示されるようにθ1、θ2の2つのクラスタに分離することができる。図9(c)の移動軌跡a〜hにおいて、上半身に関する移動軌跡a〜eはクラスタθ1に属し、下半身に関する移動軌跡f〜hはクラスタθ2に属している。すなわち、クラスタに分離した結果は、直接的に領域抽出を行った結果となる。
さらに、後述するように、パラメータを変更して、上記ステップS201からS208の処理を行うことによって、複数の移動体を別々に抽出することも可能である。なお、本明細書において、例えば、動きの無い移動軌跡を用いずに領域抽出を行った結果の各領域は、それぞれの移動体に対応するため、各移動体の検出と、画像中の複数の移動体領域をそれぞれ抽出する領域抽出とは、特に区別する必要は無い。さらに、動きの無い移動軌跡も用いて領域抽出を行った場合、例えば最大の大きさを持つ領域を背景とし、それ以外を移動体の検出結果とすることも可能であるが、領域抽出を行った結果から移動体を検出する方法はこの限りではない。
以上のようにして、本実施の形態における移動体検出装置100によれば、画素間の距離あるいは移動軌跡の類似性に基づいてクラスタリングを行うことによって、類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また、移動軌跡の類似性に基づいて閾値を用いてクラスタリングを行うため、画像中でさまざまな大きさの移動体が存在する場合や、移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
また、部分集合ごとに測地距離を算出した後に、共有点を用いた測地距離の統合によって、部分集合にまたがる測地距離を算出しているので、移動軌跡を部分集合に分割しない場合に比べ、より少ない計算量で、全ての2つの移動軌跡間の組み合わせに対する測地距離が算出され、高速な移動体検出が可能となる。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第1変形例)
次に、本発明の実施の形態1の第1変形例における移動体検出装置について説明する。
ここでは、部分集合への分割を実施の形態1とは異なる方法で行う例について説明する。
このような第1変形例に係る移動体検出装置は、実施の形態1と比べて、領域分割部103の処理を除いて、同じ構成であるため、同一構成要素の説明は省略する。
実施の形態1と異なる点は、領域分割部103での処理である。実施の形態1では、図5に示したように画像401の位置に関する空間をP個の部分集合402として領域に分割したが、ここでは、上記式2に示したような移動軌跡、すなわち多次元ベクトルの空間上でP個の部分集合に分割する。つまり、本変形例では、領域分割部103は、移動軌跡が類似するものどうしが同一の部分集合に属することになるように、移動軌跡(多次元ベクトル)を表現する多次元ベクトル空間上で、複数の移動軌跡を複数の部分集合に分割する。
ここでは、図3に示した処理のフローチャートに沿って説明する。まず、ステップS201からS203までは実施の形態1と同じであるため、説明を省略する。
次に、ステップS204にて、領域分割部103は、図10(a)〜図10(c)に示すように上記式2で算出した移動軌跡、つまり多次元ベクトルの空間上で部分集合に分割する。ここで、図10(a)は、移動軌跡901を示し、図10(b)は、図10(a)に示した移動軌跡901を表現する多次元ベクトル空間の概念図である。ここで、移動軌跡を表す多次元ベクトル(多次元ベクトル空間における一点)が、それぞれ上記式2に示した1つの移動軌跡に対応する。すなわち、図10(b)は、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果である。そして、図10(c)の部分集合903に示すように、領域分割部103は、多次元ベクトル空間を複数の部分領域に分割する。ここで、部分集合903は、分割された多次元ベクトル空間に存在する点、すなわち移動軌跡の集合である。この時、黒丸は、共有点904である。部分集合903の設定においては、多次元ベクトル空間において一部を重複するように設定し、重複領域に属する移動軌跡を共有点としてもよいし、図5(c)で説明したのと同様に、多次元ベクトル空間における部分集合の境界において近接する移動軌跡を共有点904としてもよいし、部分集合を空間的に高密度に設定し、共有点904を空間的に疎に設定してもよい。さらにここでは、部分集合に分割する際において、図10(c)に示したような直方体(実際は、多次元であるのでn次元直方体)で行う必要は必ずしもなく、超球や超楕円、n次元多面体などであっても構わない。また、複数の部分集合によって、すべての移動軌跡を包含するように設定するのが望ましい。
さらに、ステップS204における別の方法について説明する。まず、すべての移動軌跡に対して、以下のように計算を行う。
ここで、iおよびjは、式2で算出したすべての移動軌跡である。ptn
ijとmtn
ijについては、上記式5から式7に示してある。次に、上記式24にて算出した移動軌跡間距離マトリクスf(i,j)を移動軌跡数個の行ベクトルと捉える。すなわち、i行目の行ベクトルは、移動軌跡iと対応する。そして、それぞれの行ベクトルは、多次元ベクトルと考えることができる。そのため、移動軌跡間距離マトリクスの行ベクトルは、概念的には、図10(b)に示した多次元空間上の点として表すことができる。そのため、上記実施の形態で説明したのと同様に、図10(c)に示すような部分集合を用いて、多次元ベクトル空間上で移動軌跡を部分集合に分割することができる。
さらに、多次元ベクトルを表現する多次元空間において、移動軌跡、つまり前述した多次元ベクトルを用いて、PCA(Principal Component Analysis)を行ってもよい。PCAを行うことによって、多次元ベクトル空間をより、低次元に圧縮することができる。例えば、2次元に圧縮した場合には、図5に示したように、画像空間上で部分集合に分割することと同様の処理によって、2次元空間上で移動軌跡を部分集合に分割することが可能である。
ステップS206以降については、実施の形態1と同様の処理を行えばよいため、説明を省略する。
以上のようにして、本第1変形例における移動体検出装置によれば、画素間の距離あるいは移動軌跡の類似性に基づいてクラスタリングを行うことによって、類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また移動軌跡の類似性に基づいて閾値を用いてクラスタリングを行うため、画像中でさまざまな大きさの移動体が存在する場合や、移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第2変形例)
次に、本発明の実施の形態1の第2変形例における移動体検出装置について説明する。
ここでは、領域抽出部107における領域抽出を異なる方法で行う例について説明する。
このような第2変形例に係る移動体検出装置は、実施の形態1と比べて、領域抽出部107の処理を除いて、同じ構成であるため、同一構成要素の説明は省略する。
実施の形態1と異なる点は、領域抽出部107であり、この領域抽出部107が測地距離マトリクスを次元圧縮し、その次元圧縮された空間上で移動軌跡をクラスタリングすることによって、領域抽出、つまり移動体の検出を行う点である。
ここでは、図11に示した処理のフローチャートに沿って説明する。まず、ステップS201からS207までは実施の形態1と同じであるため、説明を省略する。
ステップS1001では、領域抽出部107にて、ステップS207で算出した測地距離マトリクスの次元圧縮を行う。次元圧縮は、Young−Householder変換を行った後、Eigen systemを求めることで実現できる。これは、多次元空間に分布するデータを低次元空間に効率良く射影するための方法であり、入力データのノイズ(ここでは、上記式2の移動軌跡を算出する際に動き情報に誤差が含まれる場合に相当する)に対して頑健なデータの表現が可能となる。
つまり、領域抽出部107は、非線形化された距離マトリクスを
として、次のように上記式25に対して中心化行列Hを両側からかけるYoung−Householder変換を行う。これは、距離マトリクスが点間距離からなる距離行列であるのに対して、重心を原点とした距離マトリクスに変換するために行うものである。
である。Iは単位行列、Nは、上記式2に示した移動軌跡の数である。
また、
次に、領域抽出部107は、次元圧縮を行うために、τ(G)に対するQ個のeigen vector(固有ベクトル)eqおよびそれに対応するeigen value(固有値)λqを算出する。
これにより、
とすると、g
iを次元圧縮された空間上に射影した結果は、データz
i qとして以下のように表すことができる。
なお、e
i qは、q番目のeigen vector e
qのi番目の要素である。eigen vectorの数Qは、利用するシーンに応じて実験的に決定しても良いし、以下のようにeigen value λ
qから寄与率a
qを算出し、それに基づいて決定しても良い。
Qは利用するeigen vectorの数、すなわち圧縮された空間の次元数である。Nは全eigen vectorの数である。そこで、寄与率a
Qが一定値以上となる時のQをeigen vectorの数とすれば良い。
以上のように、上記式2に示した移動軌跡iを、eigen vector eqで張られる非線形に次元圧縮された空間上のデータzi qと対応付けることができる。
図12に人物の歩行画像を入力とした場合の移動軌跡iが非線形に次元圧縮された空間に射影された結果を示す。横軸、縦軸は、それぞれ、eigen vector e1,e2である。2次元上に射影された点(zi 1,zi 2)は、giを射影したものである。ここで、圧縮空間上のデータzi qと画像上での画素iの時間的移動軌跡xiとは一対一の対応関係にあるため、点(zi 1,zi 2)は、移動軌跡iに対応していると捉えることができる。なお、ここでは結果を可視化するために圧縮空間の次元数を2次元としたが、必ずしも2次元である必要は無いし、高い次元数の方がより高い精度でデータを射影することができる。
次に、ステップS1002では、領域抽出部107は、ステップS1001にて図12に示したような圧縮された空間に射影されたデータに対して、クラスタリングを行うことで移動体の検出と領域抽出を行う。
まず、セグメント領域を次のように表現する。ここで、セグメント領域とは、抽出される領域であり、つまり移動体の検出結果と一致する。
ここで、Mは、セグメント領域数であり利用するシーンに応じて経験的に決定する。ただし、上記式23におけるMとは異なる。
それぞれのセグメント領域θmは、パラメータ
は、圧縮空間におけるセグメント領域θ
mに属するデータの座標値の平均値、Z
mは、セグメント領域θ
mに属するデータの座標値に関する共分散行列である。
の初期値はランダムに決定しても良いし、圧縮された空間中をグリッドで等間隔に分割する等して、その交点の座標値を初期値としても良い。
なお、
ここで、C
mは圧縮された空間上でセグメント領域θ
mに属するデータ数である。
以下、具体的な計算方法について説明する。まず、領域抽出部107は、次式の距離関数を用いて、圧縮された空間上のデータziが属するセグメント領域θmを求める。
ここで、ψ
m(z
i)は、移動軌跡iに対応する圧縮空間上のデータz
iとそれぞれのセグメント領域θ
mとの距離を示すものである。各データは、ψ
m(z
i)が最小値をとるセグメント領域θ
mに属することになる。なお、φ
m(z
i)はマハラノビス距離であり、
である。また、φ
m(z
i)をψ
m(z
i)の代わりとして用いても構わない。
さらに、p(ωm)は、一定値としても構わないし、人物など決まった移動体のセグメンテーションを行う場合はあらかじめ、人物部位の形状や面積比等をもとに設定しておいても良い。ωmは、セグメント領域θmに対する重み係数である。
次に、領域抽出部107は、上記式35の計算結果から、セグメント領域θmに属するデータziを用いて、以下のように領域θmのパラメータ
は、セグメント領域θ
mに属する圧縮された空間上のデータである。また、ω=1としても良いし、入力データの平均値からのずれ具合によって調整しても良い。このように、領域抽出部107は、上記式35から式38の距離計算およびパラメータ更新を規定回数繰り返すことによって、圧縮空間上の各データが属するセグメント領域θ
mを得ることができる。なお、上記に加えて、k−mean、競合学習など、他のクラスタリング方法を用いても構わない。
図13(a)及び図13(b)に人物の歩行画像を入力とした場合にM=9として圧縮空間上のデータをセグメンテーションした例を示す。圧縮空間上でのセグメント領域θ1からθ9について画像上での対応を見ると、セグメント領域θ1は人物の頭部、セグメント領域θ2は胴体上部、セグメント領域θ3は腕、セグメント領域θ4は胴体下部、セグメント領域θ5及びθ7は大腿部、セグメント領域θ6及びθ8は、下腿部に対応している。なお、セグメント領域θ9は主に背景の一部に対応する。
ここで、図13(b)の矢印で示すように、圧縮空間上のセグメント領域に対応するのは、1枚の画像上の領域だけではなく時間的に連続した複数枚の画像に渡って画素を追跡した結果である。すなわち、圧縮された空間上でセグメンテーションを行うことによって、画像中を移動する物体の領域を時間的に追跡した結果として、画像中の移動体(移動体の部位)の検出、被写体を含む画像の抽出をすることができる。
さらには、上記の説明と同じ方法でパラメータを変更することで、複数の移動体を検出することもできる。具体的には上記式14もしくは上記式15を用い、閾値Rを、部位のセグメンテーションを目的とする時よりも大きな値に設定する。
図14に、人物一人が歩行し自転車1台が走行している画像を入力とした場合に、圧縮された圧縮空間に射影しM=2としてセグメンテーションを行った結果の一例を示す。圧縮された空間上でのセグメント領域θ1とθ2の画像上での対応について説明する。セグメント領域θ1は画像上では自転車の動きに対応し、セグメント領域θ2は画像上では人物の歩行に対応している。以上のように、低次元に圧縮された空間上でセグメンテーションを行うことで、簡単かつ安定に自転車の動きと人物の動きとを分けて検出(つまり、領域抽出)することができる。
なお、ここでは上記式2に示されるような、動きのない画素についての移動軌跡は入力として用いていないため、移動している物体である歩行者と自転車の2つのみが圧縮空間上に射影されている。もちろん、動きのない移動軌跡を入力として用いても構わない。ここで、実施の形態1と同様に圧縮された空間上のセグメント領域に対応するのは、1枚の画像上の領域だけではなく時間的に連続した複数枚の画像に渡って画素を追跡した結果である。すなわち、圧縮空間上でセグメンテーションを行うことによって、移動体の領域を時間的に追跡した結果としてそれぞれの移動体を検出することができる。
以上のようにして、本第2変形例における移動体検出装置によれば、画素間の距離あるいは移動軌跡の類似性に基づいて、次元圧縮を行った後にクラスタリングを行うことによって、動き検出ミス等のノイズに対して頑健で、かつ類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第3変形例)
次に、本発明の実施の形態1の第3変形例における移動体検出装置について説明する。
ここでは、実施の形態1で説明した領域抽出に対して、複数の判断基準を設けることによって、領域抽出の候補を生成し、その候補の中からあらかじめ定めた移動体の数に最も近い候補を選択することによって領域抽出を行う例について説明する。
図15は、実施の形態1の第3変形例における移動体検出装置100aの構成を示す図である。図15に示されるように、この移動体検出装置100aは、画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105a、近似測地距離算出部106a、領域抽出部107a、及び、出力部108を備える。領域抽出部107aは、領域抽出候補生成部1401と領域抽出候補選択部1402を有する。そして、この移動体検出装置100aは、動画像中の移動体の全部又は一部の領域を特定する領域抽出をすることによって動画像中の移動体を検出する。
まず、画像入力部101、動き解析部102、領域分割部103、距離計算部104については、実施の形態1と同じであるため、説明を省略する。
測地距離変換部105aは、距離計算部104で算出した各部分集合における距離マトリクスに対して、判断基準を複数個生成し、生成した複数の判断基準のそれぞれについて、当該判断基準を用いて測地距離変換を行うことで、複数の判断基準のそれぞれに対応する測地距離を生成する処理部である。
近似測地距離算出部106aは、前記複数の判断基準ごとに、測地距離変換部で算出された各部分集合における測地距離マトリクスを統合することによって、部分集合間をまたがる近似的な測地距離を算出する処理部である。
領域抽出候補生成部1401は、近似測地距離算出部106aで、複数個の判断基準のそれぞれについて統合された測地距離マトリクスから、動き解析部102で算出された複数の移動軌跡をクラスタリングすることによって領域抽出をし、その領域抽出の結果を領域抽出候補として生成する処理部である。具体的には、この領域抽出候補生成部1401は、移動軌跡間の距離の分布における不連続点を閾値によって検出し、検出した不連続点よりも小さい測地距離だけ離れた移動軌跡どうしが一つのクラスタとなるように、連続に分布する移動軌跡をクラスタリングすることによって、前記複数の閾値のそれぞれに対する領域抽出の候補を生成する。
領域抽出候補選択部1402は、予め定められた数値を参照したり、ユーザ等の外部からの指示を受け付けたりすることで、クラス数についての指示を取得し、取得したクラス数に近い個数の領域に分割された領域抽出候補を、領域抽出候補生成部1401で生成された複数の領域抽出候補から選択し、選択した領域抽出候補を、動き解析部102で算出された移動軌跡から領域抽出を行った結果として出力する処理部である。具体的には、この領域抽出候補選択部1402は、領域抽出候補生成部1401で生成した、複数の閾値のそれぞれに対する領域抽出の候補から、指示されたクラス数に最も近い領域抽出結果を選択する。すなわち、指示されたクラス数に応じた閾値による領域抽出結果を選択することになる。
出力部108は、実施の形態1と同様である。これにより、最終的な移動体の検出と領域抽出結果を得ることができる。
以下に、本第3変形例における発明の移動体検出方法、つまり、移動体検出装置100aの動作として、図16のフローチャートを用いて移動する移動体を検出、領域抽出する例について詳細に説明する。ステップS201からS205までは、実施の形態1と同様であるため説明を省略する。
ステップS206aにて、測地距離変換部105aは、上記式3もしくは上記式4で算出した部分集合pにおける線形距離fp(i,j)に対して、複数の判断基準としてK個の閾値Rkを生成し、それらK個の閾値Rkを用いて、それぞれの閾値に対して以下のように非線形化処理を行いf'k p(i,j)を算出する。
移動軌跡iに着目した時に移動軌跡iとの線形距離が小さい順にR
k個の移動軌跡jを選択し、選択された移動軌跡jとの距離は変更せず、選択されなかった移動軌跡jとの距離を無限大に変更する。なお、ここでは、線形距離が小さい順に選択したが、次式のように閾値R
kを設定してもよい。
つまり、測地距離変換部105aは、距離計算部104で算出された部分集合pに属する複数の移動軌跡のそれぞれについての線形距離マトリクスに対して、それぞれK個の閾値R
kを用いて、距離が小さい順に予め定められた個数の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよいし、距離が予め定められた閾値以下の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよい。
なお、距離の非線形化に関しては、上記の関数に限定されるものではなく、移動軌跡iと移動軌跡jに関する距離に対して非線形変換を行うものであれば何でもよい。
さらには、線形距離fp(i,j)に対して、実施の形態1で説明したように、上記式17及び上記式18を用いて計算した重みを掛け算して重み付けを行った後に上記式39もしくは上記式40の処理を行ってもよい。
次に、非線形化された距離f'k(i,j)を用いて、次式のように測地距離を算出する。
なお、min(x,y)は、値xと値yのうち小さい方を返す関数である。また、sは、移動軌跡sであり、移動軌跡iから移動軌跡jに辿(たど)りつくための中継点である。ここで、f'
k p(i,s)+f'
k p(s,j)における中継点sは1点に限るものではない。なお、pは部分集合、kは複数の閾値R
kに対応する。
次に、ステップS207aにて、近似測地距離算出部106aは、閾値Rkごとに、各部分集合pにおける測地距離マトリクスgk p(i,j)を統合することで部分集合をまたがる近似的な測地距離を算出する。具体的には、ステップS204にて設定された共有点を用いて、以下のように統合処理を行う。
ここで、cは共有点であり部分集合pおよび部分集合qの両方に属する移動軌跡である。つまり、複数の部分集合間で重複している移動軌跡である。なお、共有点は、必ずしも2つの部分集合に属するものではなく、3つ以上の部分集合に属しても構わない。また、iとhは、それぞれ異なる部分集合pおよびqに属する移動軌跡である。なお、共有点cは、図5に示した例のように1点に限るものではない。
は、少なくとも1つ以上の共有点cについて、上記式42を計算し、その中で最小値を選択する関数である。ここでは、部分集合pとqの2つの組に限定されるものではなく、2つ以上の部分集合間をまたがる測地距離を算出することができる。もちろん、上記式22に示したように、各閾値に対してそれぞれ共有点間を接続する計算を行っても構わない。
次に、ステップS208aでは、領域抽出候補生成部1401にて、それぞれの閾値Rkに対応する統合した測地距離マトリクスgk(i,j)を用いて、不連続点を検出することによってクラスタリングを行う。ここでは、gk(i,j)が無限大となる移動軌跡iと移動軌跡jの間が不連続点である。複数の閾値Rkに対して得た測地距離変換の結果の例を図17(a)〜図17(e)を用いて説明する。ここで、図17(a)は、移動軌跡a〜hを示し、図17(b)は、図17(a)に示した移動軌跡a〜hを表現する多次元空間の概念図である。なお、移動軌跡の数を8本(移動軌跡a〜h)としたが、実際には、各画素に対応する移動軌跡を用いてもよいし、ブロック単位で求めた移動軌跡を用いてもよい。ここで、図17(b)に示される移動軌跡を表現する多次元空間における1点が、それぞれ式2に示した一つの移動軌跡に対応する。すなわち、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果である。さらに、多次元空間上で、点と点との距離は、ベクトル間のユークリッド距離ではなく、測地距離に対応する。
閾値Rkが十分に大きな値である場合、例えば、fp(i,j)の最大値よりも閾値Rkが大きい場合には、図17(c)に示すように測地距離gk(i,j)は、すべてのi,jの組合せにおいて無限大にならない。すなわち、不連続点が1点もないためクラスタは1個と判断できる。一方、閾値Rkが十分に小さい場合、具体的には、fp(i,j)の最小値よりも閾値Rkが小さい場合には、すべてのi,jの組合せにおいてgk p(i,j)が無限大となる。すなわち、クラスタ数は移動軌跡の数と同数となる。ここでは、閾値Rkをfp(i,j)の最大値と最小値の間の値に設定して、それぞれクラスタリングを行うことが効率的である。図17(d)に示されるクラスタリングの例について説明する。ここでは、閾値をR1として設定した場合に、近似測地距離算出ステップ(S207a)で求めた測地距離g1(e,f)は無限大となる。そこで、移動軌跡eと移動軌跡fとの間を不連続点と判定する。この結果、移動軌跡aからdと移動軌跡eとの測地距離は不連続点を通らないため無限大の値を取らず、逆に移動軌跡fからhの各移動軌跡と移動軌跡aからeの各移動軌跡との測地距離は、不連続点g1(e,f)を通るためそれぞれ無限大となる。このように、測地距離が無限大とならない移動軌跡iと移動軌跡jの組は同じクラスタとし、無限大となる場合は別のクラスタとする。これによって、図17(d)のようにθ1、θ2の2つのクラスタに分離することができる。さらに、図17(e)に示すように、閾値をR2(ただし、R1>R2)とした場合に、近似測地距離算出ステップ(S207a)で算出した無限大となる測地距離は、g2(c,d),g2(e,f),g2(f,g)であったとする。この場合には、それぞれ、移動軌跡cと移動軌跡dとの間、移動軌跡eと移動軌跡fとの間、移動軌跡fと移動軌跡gとの間が不連続点であると判定し、図17(d)に示されるクラスタリングの場合と同様に測地距離が無限大となる組と無限大にならない組とを整理して、θ1、θ2、θ3、θ4の合計4つのクラスタに分離する。以上の処理によって、測地距離が無限大とならない移動軌跡の組は連続とすることで同じクラスタと判定することができ、測地距離が無限大となる移動軌跡の組は不連続とすることによって、不連続点をもとにクラスタを分離することができる。
つまり、領域抽出候補生成部1401は、動き解析部102で算出された複数の移動軌跡のそれぞれについて、当該移動軌跡との距離がN番目に小さい距離を特定し、特定した複数の距離について大きい順から選択した複数の値を、複数の領域抽出候補を生成するための複数の閾値として生成してもよい。
次に、ステップS1501にて、領域抽出候補選択部1402は、ステップS208aで行った複数のクラスタリング結果から、あらかじめ設定したクラス数(あるいは、外部から指示されたクラス数)に最も近いクラスタ数となったクラスタリング結果を選択する。図17(a)〜図17(e)に示される例で説明すると、クラス数M=4と設定した場合には、閾値R2の時のクラスタリング結果(図17(e))が選択される。また、クラス数M=2と設定した場合には、閾値R1の時のクラスタリング結果(図17(d))が選択され、出力部108にて、各移動軌跡にラベル付けした結果を出力する。
なお、本第3変形例では、移動軌跡に対して上記式3もしくは上記式4のような距離を計算することによって、画素の位置と動きの類似性とを考慮した領域抽出が可能になる。そのため、図17に示されるクラスタリングの例では、クラス数M=2と設定した場合には、下半身の動きが上半身の動きと大きく異なることが反映されて、上半身と下半身とが別々のクラスタとして領域抽出でき、クラス数M=4と設定した場合には、M=2の場合に加えて、頭部の動きと腕の動きの違い、上腿と下腿との動きの違いが反映され、頭部、腕、上腿(じょうたい)、下腿(かたい)を別々のクラスタとして領域抽出することができる。なお、ここでは、閾値の数は2個に限るものではなく、何種類用意してもかまわない。また、設定したクラス数と同数のクラスタリング結果がない場合には、最も近いクラスタ数となったものを選択してもよいし、設定したクラス数よりも小さいクラス数の中から一番近いクラスタ数となったクラスタリング結果を選択してもよいし、同様に、設定したクラス数よりも大きいクラス数の中から一番近いクラスタ数となったクラスタリング結果を選択してもよい。さらには、複数のクラス数を設定して処理を行うことによって、図17(d)及び図17(e)に示されるクラスタリング例のように、図17(d)で上半身として抽出された領域は、図17(e)では、頭部、腕として抽出することができる。すなわち、階層的な領域抽出を行うことも可能になる。これにより、被写体の構造を反映した領域抽出も可能になるという効果があるため、例えば、スポーツにおける動作や歩行を解析する場合に、クラス数によって、詳細なパーツの分析から、例えば領域重心の移動や、上半身のみの動き分析などの粗い被写体の動き分析をも同時に行うことが可能になる。
さらに、本方法は、同様の方法によって、一つの移動体のボディパーツの検出、領域抽出だけでなく、複数人が存在するシーンにおいて、それぞれの移動体を検出、領域抽出することも可能である。
このように、複数の閾値に対して、測地距離を用いて算出した不連続点をもとにクラスタリングを行い、規定したクラス数に最も近いクラスタリング結果を選択することによって、結果として検出及び領域抽出を行うことができる。
以上のようにして、本第3変形例における移動体検出装置100aによれば、画素間の距離あるいは移動軌跡の類似性に基づいてクラスタリングを行うことによって、類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また移動軌跡の類似性に基づいて複数の閾値を用いてクラスタリングを行うため、画像中でさまざまな大きさの移動体が存在する場合や、移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第4変形例)
次に、本発明の実施の形態1の第4変形例における移動体検出装置について説明する。ここでは、実施の形態1において移動体を検出及び部位を領域抽出した結果を画像として表示する機能を付加した例について説明する。このような第4変形例に係る移動体検出装置100bは、図18に示す構成図のように、基本的には実施の形態1と同じ構成を備えるが、実施の形態1における出力部108に代えて、画像表示部1701を有する出力部108aを備え、この特徴により、領域抽出部107によって抽出した領域を画像としてモニタ等に表示することが可能である。
出力部108aは、実施の形態1における出力部108の機能に加えて、画像表示部1701を有する。この画像表示部1701は、領域抽出部107で得られた領域抽出の結果を、画像入力部101で受け付けた動画像(ピクチャ)に重ねて表示する処理部であり、例えば、LCD等のディスプレイ及びその表示制御部からなる。図19(a)及び図19(b)は、画像表示部1701による表示例を示す図である。ここでは、図19(a)に第3変形例で抽出した結果である、M=3として移動体をそれぞれ領域抽出した例を、図19(b)にM=8として、1つの移動体の領域抽出を行った例を示す。このように、領域θmに対応する画像上での領域を色分け等して、抽出された領域をそれぞれ区別できるようにしてモニタ等に表示する。図19(a)のように移動体ごとに色分けして表示してもよいし、図19(b)のように、部位ごとに別個に表示してもよい。つまり、図19から分かるように、本変形例に係る移動体検出装置100bは、上述した領域抽出によって、複数の移動体を検出することもできるし(図19(a))、一つの移動体を構成する複数の部分を検出する、つまり、一つの移動体に対して領域を抽出することもできる(図19(b))。
ここで、上記式2に示した移動軌跡iは、アウトライアを除いて領域θmのいずれかに対応する。そのため、領域θmに属する移動軌跡iに基づいてピクチャ上の画素を選択し、領域ラベルmに基づいて色分け等を行えば容易に抽出した領域を画像上に表示することができる。これによって、本第4変形例における移動体検出装置100bによれば、実施の形態1で説明した、形状が変化しながら移動する人物等を含む動画像に対しても正しく領域抽出できるという効果に加えて、抽出した領域を動画像上に表示することで、ユーザがそれぞれの移動体もしくは移動体の部位、さらにはその動きを区別しやすくなるという効果がある。また、他の方法として、画像表示部の代わりに、領域が規定の数以上抽出された場合に、画像表示の代わりに、音によって抽出したことを知らせる警報部を設けても良いし、さらには、警報部と画像表示部とを組合せることも可能である。
(実施の形態1の第5変形例)
次に、本発明の実施の形態1の第5変形例における移動体検出装置について説明する。ここでは、実施の形態1において移動体を検出及び部位を領域抽出した結果をそれぞれ抽出した領域ごとに記録・送信する機能を付加した例について説明する。このような第5変形例に係る移動体検出装置100cは、図20に示す構成図のように、基本的には実施の形態1と同じ構成を備えるが、実施の形態1における出力部108に代えて、記録・送信部1901を有する出力部108bを備える。
出力部108bは、実施の形態1における出力部108の機能に加えて、記録・送信部1901を有する。この記録・送信部1901は、領域抽出部107での領域抽出の結果に基づいて、画像入力部101で受け付けたピクチャにおける領域を特定し、特定した領域ごとに、対応する領域抽出の結果を、内蔵又は外付けのメモリやハードディスク等の記録媒体に記録(あるいは、自ら保持)する、又は、通信インターフェース及び伝送路等を介して外部に送信する処理部である。つまり、この記録・送信部1901は、画像表示の場合と同様に、領域抽出した結果画像を領域ラベルθmに応じてそれぞれ別々に記録・送信する。また、各領域に属する動き情報を以下のように平均化することで、動き情報を圧縮することも可能である。通常であれば画素ごとに動き情報を保持する必要があるが、以下の処理を行えば1つの領域に対して1つの動きを保持するだけでよい。例えば、動き情報として画素iの動きベクトル(ui t,vi t)を用いた場合には、以下のように抽出された領域ごとに平均化した動き情報を計算することができる。
ここで、C
mは、領域θ
mに属する画素数もしくは移動軌跡の数である。
は、それぞれ、領域θ
mに属する画素の動きベクトルである。図21に、図19(a)の処理結果について時刻Tからt枚の画像を入力として領域抽出を行い、その結果を用いて、セグメント領域を記録、送信する場合のデータ構造例を示す。識別子として各領域ラベルθ
mと、各領域ラベルθ
1からθ
3に属する時刻Tにおけるピクチャの画素位置と画素値、そして、各領域ラベルに対応する時刻Tから時刻T+tまでの動きベクトルu
m T,v
m T,u
m T+1,v
m T+1,...,u
m T+t,v
m T+tを記録、送信する。もちろん、画像の画素位置と画素値を用いる代わりに、時刻Tにおける1枚のピクチャに対して、画素ごとに各領域ラベルを付けて送信してもかまわない。これにより、動き情報を領域数分送信するだけで済むために、ピクチャをt枚送信する場合と比べて、効率よく記録、送信することができるといった効果がある。特には、領域数が画素数に比べて少なければ少ないほど効率がよい。
なお、アフィン動きを用いて動き情報を圧縮する場合は、上記式43及び上記式44の代わりに、アフィン動きに基づいて移動した画素位置の平均値を計算するとよい。
以上のようにして、本第5変形例における移動体検出装置100cによれば、画素の動き情報を圧縮しながら領域の記録、送信が可能である。これによって、実施の形態1で説明した、形状が変化しながら移動する人物等を含む動画像に対しても正しく領域抽出できるという効果に加えて、それぞれの領域に対して1つの動き情報を用いることで高い符号化効率を実現できるという効果がある。
さらには、別途、セグメント領域復元部を設けることによって、送信、記録した情報を復元することも可能である。具体的には、図19(a)及び図19(b)に示した各領域ラベルに対応する画素位置と画素値から、時刻Tのピクチャを復元する。さらに、画素の移動軌跡情報を用いて、時刻Tの各画素を移動させることによって、時刻T+1からT+tのピクチャを復元することが可能である。ここで、固定カメラを用いる場合には、画素の移動軌跡情報が0でない情報のみを用い、さらにセグメント領域復元部にて背景画像をあらかじめ取得、保持しておくことで、復元した画像を背景画像に上書きしてもよい。これにより、効率よく送信、記録された情報を用いて、低計算量でピクチャとして復元できるといった効果がある。
(実施の形態2)
次に、本発明の実施の形態2に係る移動体検出装置及び移動体検出方法について説明する。
本実施の形態では、実施の形態1で説明した移動体検出方法を用いて、移動体を検出及び領域抽出を行った結果から、移動体の動きを予測する機能を付加した移動体検出装置について説明する。
図22は、実施の形態2における移動体検出装置100dの構成を示す図である。図22に示すように、本実施の形態における移動体検出装置100dは、画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、領域抽出部107、出力部108cに、動き予測部2101を付加することによって、移動体の動きを予測する機能を有する。
動き予測部2101は、領域抽出した結果を入力とし、各領域に含まれる画素の移動軌跡から代表軌跡を算出し、前記代表軌跡をもとに移動体の動きを予測する。
出力部108cは、実施の形態1における出力部108の機能に加えて、動き予測部2101で予測した移動体の位置や移動体部位の位置に関する情報を出力する。
図23に実施の形態2による処理のフローチャートを示す。ステップS201からS208までは、実施の形態1と同様であるため説明を省略する。
ステップS2201では、動き予測部2101は、ステップS208で行った領域抽出結果を用いて、以下のようにクラスタの代表点及びその代表軌跡を求める。
ここで、領域θmに属する画素の移動軌跡を
と表現することとする。次式のように、動き予測部2101は、クラスタ領域θ
mごとに代表の移動軌跡を求める。ここでは、代表の移動軌跡として、平均移動軌跡を算出する例について説明するが、下記の計算に対して画素の移動軌跡
ごとに重み付け等を行ってもよいし、画像上でのクラスタの重心に対応する画素の移動軌跡を代表の移動軌跡としてもよい。
ここで、C
mは、領域θ
mに属する画素数もしくは画素の移動軌跡の数である。
図24に上記式45に基づいてクラスタ領域θmごとに代表の移動軌跡を求める例を示す。ただし、見やすさを考慮して、本図では、頭部に対応するクラスタ領域θ1と脚部に対応するクラスタ領域θ8に関する代表の移動軌跡のみを示している。図中の×は、それぞれ時刻tに対応する
の要素であり画素位置を示している。さらに、上記式3や上記式4に示したように、非線形空間上でのクラスタリングによる領域抽出は、画素動きの類似性を考慮して行われるため、単純に近接した画素の移動軌跡の時間平均を求めるような方法と比較して、動きが類似した画素の移動軌跡のみを用いて算出できるため、より高精度に代表の移動軌跡を求めることができる。このように、クラスタ領域ごとに代表の移動軌跡を求めることによって、部位ごとの動きを正確かつ簡便に表現することができる。
次に、ステップS2202では、動き予測部2101は、ステップS2201にて算出した代表の移動軌跡から、時刻Tより先の時刻における移動体の位置を予測する。その具体例として、初めに、代表の移動軌跡から加速度を算出し、T+1以降の移動体の位置を予測する例について説明する。3枚以上の時系列画像が入力された場合は、次式のように代表の移動軌跡
ここで、u
m tは動きベクトルであり、次式のように表すことができる。
上記式46の加速度ベクトルを用いて、動き予測部2101は、図24にて破線の矢印及び○で示したように、移動体の部位ごとに、時刻T+t'における移動体の部位位置pos
m(T+t')を以下のように予測することができる。ここでは、移動体の部位を例として挙げたが、図19に示した検出例から、次式のように移動体ごとの位置を予測することも可能である。
そして、出力部108cにて、ステップS2202で予測した移動体の位置や移動体部位の位置を出力する。これにより、加速度を加味した予測が可能である。動きが急激に早くなったり、急激に止まったりといった場合に、その加速度を反映して移動体の位置を予測することができるといった効果がある。また、動きベクトルの代わりにアフィンパラメータを用いてもかまわない。アフィンパラメータは、回転運動を含む動きの表現が可能であり、腕あるいは足の回旋運動の表現に適しているため、特に関節物体の位置をより正確に予測することができる。
さらに、前述した動きベクトルと加速度の代わりに、代表の移動軌跡xmに対して直接N次関数をフィッティングすることも可能である。T枚の時系列に並んだ画像を入力とした場合、
に含まれるT個の画像上での位置情報に対してN次の関数でフィティングすることができる。これにより、フィッティングした関数の値に沿うように、時刻(T+t')における画像上での位置pos
m(T+t')を推定することが可能である。具体的には、関数でフィッティングすることによって、より滑らかな動きを表現することが可能となるため、より高精度な予測が可能となる。特には、フィッティングした関数に沿った予測が可能であるため、フィッティングした関数が本来の動きが近い場合に動き予測の精度が高い。もちろん、これらの画像上での位置予測は、時間的内挿にも利用可能である。
以上のように、本実施の形態における移動体検出装置100dによれば、動きが類似した画素の移動軌跡を同一のクラスタとして算出できるため、高精度に代表の移動軌跡を求めることができる。特に関節物体等に対して部位ごとの動きを表現することが可能であり、前処理として人物候補領域を設定することなく、高精度に移動体の部位位置を予測することが可能であるという効果がある。
(実施の形態3)
次に、本発明の実施の形態3に係る移動体検出装置及び移動体検出方法について説明する。
本実施の形態では、実施の形態1で説明した移動体検出方法を、複数のカメラ映像に対して移動体を検出及び領域抽出を行う場合に拡張した移動体検出装置について説明する。
図25は、実施の形態3における移動体検出装置100eの構成を示す図である。図25に示すように、本実施の形態における移動体検出装置100eは、複数カメラ画像入力部2401を有する画像入力部101a、動き解析部102a、領域分割部103a、距離計算部104a、測地距離変換部105b、近似測地距離算出部106b、領域抽出部107b、出力部108dからなる。なお、本実施の形態における移動体検出装置100eは、基本的には、実施の形態1と同じ機能を有する。以下、実施の形態1と異なる点を中心に説明する。
画像入力部101aは、実施の形態1における画像入力部101の機能に加えて、複数カメラ画像入力部2401を有する。この複数カメラ画像入力部2401は、図26(a)及び図26(b)に示すように、複数のカメラからの映像であって、かつ、撮影領域が一部重複した映像の入力を受け付ける処理部であり、例えば、ビデオカメラ、あるいは、ビデオカメラと接続された通信インターフェース等である。なお、複数カメラ画像入力部2401に入力される映像の撮影条件としては、図26(a)及び図26(b)に示されるようなカメラ配置や個数を限定するものではなく、カメラ映像間で重複撮影領域が設定されるように配置されていればよい。
動き解析部102aは、複数カメラ画像入力部2401で受け付けたそれぞれのカメラから得られたピクチャを構成する1個以上の画素からなるブロックごとに実施の形態1と同様に移動軌跡を算出する処理部である。また、複数のカメラ画像を重複撮影領域をもとに統合して、1つの画像としても構わない。その場合は、統合した画像を1つの画像として実施の形態1と同じ方法により処理を行うことができるので、以下の説明は省略する。
領域分割部103aは、重複撮影領域における移動軌跡の少なくとも1つを共有点として設定する処理部である。ここでは、領域分割部103aは、カメラpから得られた画像から得られる移動軌跡が部分集合pに対応するように、複数のカメラの動画像のそれぞれについて算出された複数の移動軌跡を、分割された複数の部分集合として記憶する。なお、各カメラ画像を実施の形態1と同様に部分集合に分割しても構わない。この場合の処理については、実施の形態1と同じであるので、以下の説明を省略する。
距離計算部104aは、各カメラから得られた画像から算出された移動軌跡について、それぞれ複数の移動軌跡間の類似性を表す距離を算出する処理部である。移動する物体の形状変化を捉えるために、動き解析部102aで算出した前記部分集合に含まれるブロックiの移動軌跡と、i以外の前記部分集合に含まれるブロックの移動軌跡とを用いて、ブロックの動きの類似性を表す距離を算出する処理部である。例えば、N個のブロックの移動軌跡を用いた場合、算出される距離はN×Nの距離マトリクスとなる。ここでは、ブロックの動きの類似性を評価する距離を計算することによって、ブロック間の距離が動きによって変化する移動体、特に、関節物体のように形状が変化しながら移動する人物等の物体の動きを距離マトリクスとして表現することが可能である。
測地距離変換部105bは、距離計算部104aで算出した各カメラ画像に対応する部分集合における距離マトリクスに対して、それぞれ測地距離変換を行う処理部である。
近似測地距離算出部106bは、測地距離変換部105bで算出された各部分集合、つまり各カメラ映像に対応する部分集合における測地距離マトリクスを共有点を用いて統合することによって、部分集合間、つまりカメラ映像間をまたがる近似的な測地距離を算出する処理部である。
領域抽出部107bは、近似測地距離算出部106bで算出された近似的な測地距離に基づいて、類似する移動軌跡をもつブロックから構成される領域を特定することによって、領域抽出をする処理部である。
出力部108dは、実施の形態1における出力部108の機能に加えて、領域抽出部107で行った複数のカメラ画像を統合して領域抽出、つまり被写体の検出を行った結果を出力する。
以下に、本発明の移動体検出方法、つまり移動体検出装置100eの動作として、図27のフローチャートを用いて移動する移動体を検出、領域抽出する例について説明する。
まず、ステップS201bにて、複数カメラ画像入力部2401は、図26(a)及び図26(b)に示すように複数のカメラからそれぞれ複数枚のピクチャを受け付ける。
次に、ステップS202bにて、動き解析部102aは、それぞれのカメラから得られた少なくとも2枚のピクチャからブロックの動きを算出する。ここでの処理は、各カメラから得られたピクチャに対してそれぞれ実施の形態1のステップS202の処理を行えばよいため、説明を省略する。
次に、ステップS203bにて、動き解析部102aは、ステップS202bで算出した動き情報を用いて実施の形態1で説明したステップS203と同じ処理を行うことで、カメラ画像ごとに上記式2に示した移動軌跡を算出する。実施の形態1と異なるのは、複数のカメラ映像に対して、それぞれステップS203の処理を行う点であるため、以下の説明を省略する。なお、便宜上、各カメラ画像から得られた移動軌跡を区別するため、上記式2を以下の式49のように書き換える。
ここで、p_iは、各カメラpから得られた画像の移動軌跡iである。
次に、ステップS204bにて、領域分割部103aは、図28(a)及び図28(b)に示すように、カメラ画像に応じてP個の部分集合とする。ここで、部分集合とは、各カメラ画像にから得られた移動軌跡の集合である。なお、図28(a)は図26(a)に、図28(b)は図26(b)にそれぞれ対応する。この時、例えば、図28(a)に示すように、領域分割部103aは、カメラ画像2701とカメラ画像2702において、重複撮影領域2703上に共有点2704を設定する。もちろん、本発明は、図28(b)に示すように、カメラの数は2個に限定されるものではなく、カメラ画像2710〜2713において、それぞれの重複撮影領域2703上に共有点2704を設定してもよい。ここで、重複撮影領域とは、複数の異なる位置に置かれたカメラから少なくとも一部、同一の場所が撮影されている場合における、画像上での領域である。さらに、共有点は、前記重複撮影領域上に少なくとも1点以上設定すればよい。以下の処理は、複数のカメラpから得られた画像およびそれに対応する移動軌跡を分割した部分集合pと考えて処理を行えばよい。以下、実施の形態1のステップS204と同じ処理を行えばよいため、説明を省略する。
次に、ステップS205bにて、距離計算部104aは、ステップS204bにてカメラpで得られた画像ごとに計算された移動軌跡を部分集合pに属する移動軌跡と考えて、距離マトリクスを算出する。本ステップにおける以降の処理は、複数のカメラpから得られた画像およびその移動軌跡を実施の形態1で分割した部分集合pと考えて処理を行えばよい。以下、実施の形態1のステップS205と同じ処理を行えばよいため、説明を省略する。
次に、ステップS206bにて、測地距離変換部105bは、ステップS205bにてカメラpで得られた画像ごとに計算された移動軌跡を部分集合pと考えて、測地距離を計算する。本ステップにおける以降の処理は、実施の形態1のステップS206と同じであるため、説明を省略する。
次に、ステップS207bにて、近似測地距離算出部106bは、ステップS206bにてカメラpで得られた画像ごとに計算された測地距離マトリクスを統合する。ここでは、図28に示したように重複撮影領域上の共有点を用いて、実施の形態1のステップS207と同じ処理を行えばよい。そのため、説明は省略する。
次に、ステップS208bにて、領域抽出部107bは、近似測地距離算出部106bで統合した測地距離を用いて、不連続点を検出することによって類似する移動軌跡をもつブロックから構成される領域を特定することによって領域抽出を行う。ここでの処理についても、実施の形態1のステップS208と同じ処理を行えばよいため、説明を省略する。
以上のようにして、実施の形態3における移動体検出装置100eによれば、複数のカメラ画像を入力として、形状が変化しながら移動する人物等の移動体を含む画像や、異なるカメラ画像間をまたがるように移動する移動体に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態4)
次に、本発明の実施の形態4に係る移動体検出装置及びその方法の応用例であるデータ分類装置及びその方法について説明する。
図29は、実施の形態4におけるデータ分類装置2800の構成を示す図である。図29に示されるように、このデータ分類装置2800は、ベクトルデータ入力部2801、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、データ分類部2802、出力部2803を備える。ここでは、上述した移動軌跡等の多次元のベクトルデータを入力として、そのデータを分類する。
ベクトルデータ入力部2801は、ベクトルデータを受け付ける処理部である。ベクトルデータは、例えば、ステレオカメラやCG等から得られた3次元位置を示すデータであってもよいし、その時間変化を表すデータであってもよい。
領域分割部103は、ベクトルデータ入力部2801で得られた多次元ベクトルについて、実施の形態1の第1変形例と同じように、多次元ベクトルの空間上でP個の部分集合に分割するとともに、分割された複数の部分集合の一つ(例えば、隣接する部分集合に対して、当該部分集合の少なくとも一方)に含まれる一部のベクトルデータを共有点として設定する。
以下、距離計算部104、測地距離変換部105、近似測地距離算出部106の構成は、実施の形態1および実施の形態1の第1変形例と同じであるため、説明を省略する。つまり、これらの実施の形態及び変形例においては、処理対象のデータが「移動軌跡」であったが、本実施の形態では、処理対象のデータが「ベクトルデータ」である点だけが異なり、各処理部での処理内容は同一である。
データ分類部2802は、実施の形態1における領域抽出部107と同様に、類似する多次元ベクトルデータをクラスタリングすることによって、データを分類する。ここでは、距離計算部104で算出した距離マトリクスを用いて、測地距離変換部105、近似測地距離算出部106にて得られた近似的な測地距離から、多次元ベクトル間の距離の分布における不連続性を検出し、検出した不連続点よりも小さい距離だけ離れた多次元ベクトルどうしが一つのクラスタとなるように、不連続点をもとにそれぞれ連続的に分布する多次元ベクトルをクラスタリングすることによって、多次元ベクトルデータを分類する。データ分類部2802での結果は、出力部2803によって、メモリやハードディスク等へ書き込まれたり、ディスプレイパネル等に表示されたりする。
なお、本実施の形態におけるデータ分類装置についても、移動体検出装置と同様に、各構成要素のうち、ディスプレイ装置等の入出力装置を除く構成要素については、図2に示されるコンピュータ1002で実行されるプログラム及びデータ(つまり、ソフトウェア)で実現してもよいし、電子回路、メモリ及び記録媒体等のハードウェアで実現してもよいし、それらの混在で実現してもよい。
以下に、本発明のベクトルデータの分類方法、つまり、データ分類装置2800の動作として、図30のフローチャートを用いて多次元ベクトルデータを分類する例について説明する。
まず、ステップS2901にて、ベクトルデータ入力部2801は、複数のベクトルデータを受け付ける。ここで、ベクトルデータとは、上記式2に示すような複数の要素からなる多次元ベクトルであれば何でもよい。
ステップS204からステップS208までは、実施の形態1の第1変形例において、移動軌跡を多次元ベクトルデータとして処理を行えばよい。
このように、本実施の形態4におけるデータ分類装置2800によれば、移動軌跡だけでなく、例えばレンジファインダやステレオカメラから得られた3次元位置を表すデータを多次元ベクトルとして入力すれば、3次元位置に基づいて3次元の被写体を分類することもできる。さらに、入力としての多次元ベクトルデータは、多次元尺度構成法で分析可能なベクトルデータであれば何でもよく、測地距離変換を行うことで、非線形性の高いデータに対しても分類がより高精度になり、かつ高速に処理ができるという効果がある。
(実施の形態1の補足)
ここでは、実施の形態1で説明した方法を用いた場合に、領域抽出可能な移動体の性質について補足する。図31(a)〜図31(c)に実施の形態1の方法を用いた場合に分離可能な図形の一例を示す。実施の形態1の方法を用いることで、それぞれ図形θ1と図形θ2とに領域抽出することが可能である。ここでは、図31(a)から図31(c)に示したそれぞれの図形θ1と図形θ2の移動方向は、同一であっても、異なっていてもかまわない。ただし、図形θ1に属する画素はすべて同じ動きであり、かつ図形θ2に属する画素はすべて同じ動きであることが条件である。
実施の形態1におけるステップS205およびS207では、図6に示したような特徴を持つ測地距離変換を行う。これによって、通常のユークリッド距離とは異なり、移動軌跡から移動軌跡を辿(たど)った距離を算出することができるという特徴がある。そのため、図31(a)から図31(c)に共通するように湾曲した形状に対して、その形状に沿った距離を算出することができる。
さらに、ステップS208では、測地距離が無限大となる移動軌跡と移動軌跡の間を不連続点としてクラスタリングを行う。このため、移動軌跡と移動軌跡の間に閾値以上の距離がある場合には、その不連続点をもとに、それぞれ図形θ1と図形θ2とを領域抽出することが可能である。
以上のように、本実施の形態を用いれば、湾曲した形状を含む移動体でかつ一定の不連続点がある場合に、不連続点をもとに領域を抽出することが可能である。
一方で、ステップS205およびS207の処理を行わない場合には、図形θ1に属する移動軌跡と図形θ2に属する移動軌跡との距離がユークリッド距離で算出されるため、図6で説明した場合と同様に、点iと点jの距離は、点iと点kの距離より大きくなる。すなわち、同一クラスに属している点間の距離が別クラスに属している点間の距離よりも大きくなる。さらに、ステップS205の処理にて、測地距離変換を行わないとデータを辿(たど)る処理を行わないために、隣接する移動軌跡と移動軌跡の間が不連続か連続かを判断することができない。そのため、図31に示すような例では、湾曲した形状を含む移動体でかつ一定の不連続点がある場合に、不連続点をもとに領域を抽出することは難しい。
よって、実施の形態1では、このような測地距離を用いたクラスタリングにより、直線的な距離であるユークリッド距離を用いたクラスタリングに比べ、移動軌跡間の類似性に関する連続性を考慮したクラスタリングが行われ、入り組んだ複雑な関係の領域どうしであっても、同一の物体(又は部位)に属するか別個の物体(又は部位)に属するかが確実に弁別される。
以上、本発明に係る移動体検出装置及びその方法、データ分類装置及びその方法について、実施の形態及びその変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。本発明の趣旨を逸脱しない範囲で、各実施の形態に対して当業者が思いつく各種変形を施して実現される形態や、各実施の形態及び変形例における構成要素を任意に組合せて実現される形態も本発明に含まれる。
たとえば、実施の形態1の第4変形例に対して、同第5変形例における記録・送信部1901及び実施の形態2における動き予測部2101を追加して構成される移動体検出装置も本発明に含まれる。
また、本発明に係る移動体検出装置は、上記実施の形態における領域分割部に代えて、図32に示される移動体検出装置103fが備える領域分割部103bを備えてもよい。この領域分割部103bは、実施の形態1における領域分割部103の機能に加えて、動き解析部102によって算出された移動軌跡を複数の部分集合に分割する処理を支援する2つの処理部(手動設定部1031、自動設定部1032)を有する。
手動設定部1031は、画像入力部101が受け付けたピクチャに対してユーザが指定した空間分割に従って、動き解析部102によって算出された移動軌跡を複数の部分集合に分割する。たとえば、手動設定部1031は、ユーザがマウス等を用いて、ピクチャ上で、移動体が存在する(あるいは、移動する)と予想される領域を指定すると、その領域を、一つの部分集合(つまり、その領域に含まれるブロックに対応する移動軌跡を一つの部分集合)に分割する。例えば、移動体の動線が通路に沿っている場合等には、その通路が一つの領域になるようにするとよい。
一方、自動設定部1032は、動き解析部102によって算出された移動軌跡を、ユーザの入力を介さずに、自動で、複数の部分集合に分割する。たとえば、自動設定部1032は、動き解析部102で検出された動きを参照し、予め設定された閾値を超える大きさの動きをもつ領域が一つの領域となるようにし、その他の領域を複数の部分集合に分割することで、上記移動軌跡を複数の部分集合に自動分割する。また、動き解析部102で検出された動きを時間的に累積して、累積値の大きい領域を一つの領域となるようにしてもよい。
例えば、監視システム等における固定されたカメラ(パン、チルト、ズームを含む)においては、撮影領域が予め分かっている。そのため、画像上において移動体が通る領域も予め特定することができる場合が多い。このような時に、特に検出精度の低下を防ぐことができるという効果がある。
このような領域分割部103bにより、移動体が存在する領域が複数の部分集合に分割されてしまうことによって、測地距離計算の精度が下がる危険性を回避することができるため、移動体の検出精度の低下を防ぐことができる。
本発明に係る移動体検出装置の一実施形態は、動画像中の移動体の全部又は一部の領域を抽出することによって動画像中の移動体を検出する移動体検出装置であって、動画像を構成する複数枚のピクチャを受け付ける画像入力部と、受け付けられた前記ピクチャを構成する1個以上の画素からなるブロックごとに、異なる2枚のピクチャ間での画像の動きを検出し、検出した動きを前記複数枚のピクチャについて連結した移動軌跡を複数算出する動き解析部と、算出された前記複数の移動軌跡を複数の部分集合に分割するとともに、分割された複数の部分集合において一部の移動軌跡を共有点として設定する領域分割部と、分割された前記複数の部分集合のそれぞれについて、複数の移動軌跡間の類似性を表す距離を算出する距離計算部と、算出された前記距離を、測地距離に変換する測地距離変換部と、変換された前記測地距離のうち、前記共有点を共有する測地距離を統合することで、前記部分集合にまたがる近似的な測地距離を算出する近似測地距離算出部と、算出された近似的な測地距離を用いて、類似する移動軌跡をもつブロックどうしを同一の領域として特定するクラスタリングを行うことによって、前記動画像に対して少なくとも一つの領域を抽出する領域抽出部とを備える。
これにより、類似する移動軌跡がまとめられて分類が行われるので、動きの異なる複数の部位からなる人物等の多関節物体を移動体として検出する場合であっても、一つの領域として認識されるので、正確な領域抽出が行われ、移動体が確実に検出される。つまり、形状が変化しながら移動する人物等の移動体に対しても正しく領域抽出し、これによって画像中の移動体を高速かつ確実に検出することが可能である。
また、部分集合ごとに測地距離を算出した後に、共有点を用いた測地距離の統合によって、部分集合にまたがる近似的な測地距離を算出しているので、移動軌跡を部分集合に分割しない場合に比べ、より少ない計算量で、全ての2つの移動軌跡間の組み合わせに対する測地距離が算出され、高速な移動体検出が可能となる。つまり、測地距離計算にかかる計算量を減らすことができるため、高速に移動体を検出することができる。さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。
ここで、前記画像入力部は、複数のカメラによる複数の動画像のそれぞれについて、前記複数枚のピクチャを受け付け、前記動き解析部は、前記複数の動画像のそれぞれについて、前記複数の移動軌跡を算出し、前記領域分割部は、前記複数の動画像のそれぞれについて算出された複数の移動軌跡を、分割された前記複数の部分集合として保持し、前記領域抽出部は、前記クラスタリングを行うことで、前記複数の動画像に対して少なくとも一つの領域を抽出してもよい。これにより、複数のカメラから得られた映像を統合的に処理することができる。さらに、類似する移動軌跡がまとめられて分類が行われるので、動きの異なる複数の部位からなる人物等の多関節物体を移動体として検出する場合であっても、一つの領域として認識されるので、正確な領域抽出が行われ、移動体が確実に検出される。さらに、複数のカメラ映像間をまたがるように移動する移動体や、形状が変化しながら移動する人物等の移動体に対しても正しく領域抽出し、これによって画像中の移動体を高速かつ確実に検出することが可能である。
なお、部分集合に分割する方法として、前記領域分割部は、移動軌跡に対応する前記ピクチャ上でのブロックの画像上での位置に関する空間上で、前記複数の移動軌跡を前記複数の部分集合に分割してもよい。これにより、画像上での位置において近傍に位置する移動軌跡を一つの部分集合として分割しやすくなる。特に画像特有の問題として、被写体は空間的に繋がったものである場合が多いため、測地距離計算をより高速に行うことができる。
このとき、前記領域分割部は、前記ピクチャに対してユーザが指定した空間分割に従って、前記複数の移動軌跡を前記複数の部分集合に分割してもよい。これにより、移動体が存在するおよその領域をユーザが知っている場合には、ユーザがその領域を指定することができるので、移動体が存在する領域が複数の部分集合に分割されてしまうことによって、測地距離計算の精度が下がる危険性を回避することができ、移動体の検出精度の劣化を防ぐことができる。
また、部分集合に分割する別の方法として、前記移動軌跡は、多次元ベクトルで表現され、前記領域分割部は、前記多次元ベクトルを表現する多次元ベクトル空間上で、前記複数の移動軌跡を前記複数の部分集合に分割してもよい。これにより、多次元ベクトル空間上で近傍に位置する移動軌跡もしくはベクトルデータを一つの部分集合として分割しやすくなるため、測地距離計算をより高速に行うことができる。
さらに、共有点の設定方法としては、前記領域分割部は、近傍の部分集合の一部が重複するように前記分割をするとともに、重複した領域に含まれる移動軌跡を前記共有点として設定したり、前記領域分割部は、前記複数の部分集合のそれぞれについて、当該部分集合に属する移動軌跡のうち、他の部分集合との境界に近接する移動軌跡を、前記共有点として設定したりしてもよい。画像上での近傍領域が重複もしくは接続するように共有点を持つことによって、画像上で離れた位置に存在する移動軌跡であっても、前記共有点を用いることによって、高速かつ正確に測地距離を計算することが可能になる。また、多次元ベクトル空間上での近傍領域が重複もしくは接続するように共有点を持つことによって、前記多次元ベクトル空間上で離れた多次元ベクトルであっても、前記共有点を用いることによって、高速かつ正確に測地距離を計算することが可能になる。
また、測地距離への変換に関しては、前記測地距離変換部は、前記距離計算部で算出された距離のうち、予め定められた条件を満たす小さい距離を連結することで、前記動き解析部で算出された一の移動軌跡から他の一の移動軌跡にたどりつく最短経路を求めることにより、前記距離計算部で算出された距離のそれぞれを測地距離に変換するのが好ましい。具体的には、前記測地距離変換部は、前記複数の部分集合に含まれる複数の移動軌跡のそれぞれについて、当該移動軌跡から他の移動軌跡までの複数の距離のうち、小さい順に予め定められた個数の距離を選択し、選択しなかった距離を無限大に変更する非線形化をした後に、前記最短経路を求めることにより、前記距離計算部で算出された距離のそれぞれを測地距離に変換するのが好ましい。これにより、閾値により選択された距離と選択されなかった距離とが非線形な関係となるため、線形距離と比較して、移動軌跡間の類似/非類似が強調されることとなり、人物のように関節で繋がった物体の動きを正しく表現することが可能となる。
また、前記測地距離変換部は、前記複数の部分集合に含まれる複数の移動軌跡のそれぞれについて、当該移動軌跡から他の移動軌跡までの複数の距離のうち、予め定められた閾値以下の距離を選択し、選択しなかった距離を無限大に変更する非線形化をした後に、前記最短経路を求めることにより、前記距離計算部で算出された距離のそれぞれを測地距離に変換してもよい。これにより、閾値により選択された距離と選択されなかった距離とが非線形な関係となるため、線形距離と比較して、移動軌跡間の類似/非類似が強調されることとなり、人物のように関節で繋がった物体の動きを正しく表現することが可能となる。
また、領域抽出の具体的な手法の一つとして、前記領域抽出部は、前記近似測地距離算出部で算出された測地距離の分布における少なくとも一つ以上の不連続点を検出し、検出した不連続点よりも小さい測地距離だけ離れた移動軌跡どうしが一つのクラスタとなるように、前記クラスタリングを行うのが好ましい。これによって、不連続点よりも小さい距離だけ離れた移動軌跡どうしが一つのクラスタとなるので、不連続点の条件を変えることで、生成されるクラスタ数を制御することができる。
また、領域抽出の具体的な手法の他の一つとして、前記領域抽出部は、前記近似測地距離算出部で算出された測地距離に対して、固有値および固有ベクトルを求めることによって次元圧縮を行い、次元圧縮した空間上で前記クラスタリングを行ってもよい。これにより、測地距離に対して次元圧縮を行うことで、ノイズや動き検出誤りに対して頑健な被写体検出が可能となる。
さらに、領域抽出の具体的な手法の他の一つとして、前記測地距離変換部は、前記距離を前記測地距離に変換するための複数の判断基準を生成し、生成した複数の判断基準のそれぞれについて、当該判断基準を用いて前記距離を前記測地距離に変換することで、前記複数の判断基準のそれぞれに対応する測地距離を生成し、前記近似測地距離算出部は、前記複数の判断基準のそれぞれに対応する測地距離に対して前記統合を行い、前記領域抽出部は、前記複数の判断基準のそれぞれに対応する統合された近似的な測地距離に対して前記クラスタリングを行って領域を抽出することで、前記複数の判断基準のそれぞれに対応させて、前記領域抽出の結果を領域抽出候補として生成する領域抽出候補生成部と、クラス数についての指示を取得し、取得したクラス数に近い個数の領域が抽出された領域抽出候補を、前記領域抽出候補生成部で生成された複数の領域抽出候補から選択し、選択した領域抽出候補を、当該領域抽出部による領域抽出の結果として出力する領域抽出候補選択部とを有する構成とすることができる。これによって、予め生成した複数の判断基準のそれぞれについてクラスタリングが行われるので、それら複数のクラスタリングから、所望の個数のクラスタが生成される。
なお、複数の判断基準の具体例については、前記測地距離変換部は、前記複数の判断基準として、複数の閾値を生成し、生成した複数の閾値のそれぞれについて、前記距離計算部で算出された距離のうち、当該閾値よりも小さい距離を連結することで、前記複数の判断基準のそれぞれに対応する測地距離を生成するのが好ましい。これにより、小さい距離が連結された測地距離を用いて移動軌跡の類似性が判断されるので、直線的な距離であるユークリッド距離を用いたクラスタリングに比べ、移動軌跡間の類似性に関する連続性を考慮したクラスタリングが行われ、ピクチャにおける各ブロックが同一の物体(又は部位)に属するか別個の物体(又は部位)に属するかが確実に弁別される。
また、前記移動体検出装置はさらに、前記領域抽出部で得られた領域抽出の結果を、前記画像入力部で受け付けたピクチャに重ねて表示する画像表示部を備えるのが好ましい。これにより、領域抽出した部位を画像上に表示することによって、スポーツにおけるフォームの修正あるいはリハビリテーションにおける歩行の矯正等に応用が可能である。
また、前記移動体検出装置はさらに、前記領域抽出部での領域抽出の結果に対応させて、前記画像入力部で受け付けたピクチャにおける領域を特定し、特定した領域ごとに、対応する領域抽出の結果を、記録して保持する、又は、伝送路を介して外部に送信する記録・送信部を備える構成としてもよい。これにより、検出した移動体画像を抽出した領域に基づいてそれぞれ別々に保持することによって、各移動体画像の中から必要な部分の画像のみを選択して保存したり、外部に出力したりすることによって、図形要素として効率的な保存及び出力が可能になる。そのため、携帯電話等、処理能力の限られた機器に保存及び送信する場合に有効に作用する。
また、前記画像入力部は、2つ以上の移動体が含まれる動画像を受け付け、前記領域抽出部では、前記2以上の移動体について前記領域抽出をすることで、2以上の移動体を検出してもよい。これにより、形状が変化しながら移動する一つの移動体だけでなく、複数の移動体を含む画像に対しても、正しく複数の移動物体を検出することが可能である。
また、前記移動体検出装置はさらに、前記領域抽出部で抽出された領域に含まれるブロックの移動軌跡から、当該領域を代表する移動軌跡を算出し、算出した移動軌跡に従って当該領域が移動すると予測することで、前記移動体の動きを予測する動き予測部を備えるのが好ましい。これにより、複数のブロックの移動軌跡を代表する軌跡を用いて移動体の動きを予測することにより、ノイズ耐性の高い動き予測が可能となる。
また、本発明の他の一実施形態は、複数のベクトルデータを、類似するベクトルデータの集まりであるクラスに分類するベクトルデータ分類装置であって、複数のベクトルデータを受け付けるベクトルデータ入力部と、受け付けられた前記複数のベクトルデータを、測地距離の計算に利用される複数の部分集合に分割するとともに、分割された複数の部分集合の少なくとも一つに含まれる一部のベクトルデータを共有点として設定する領域分割部と、分割された前記複数の部分集合のそれぞれについて、複数のベクトルデータ間の類似性を表す距離を算出する距離計算部と、算出された前記距離を、中継点としての移動軌跡をたどりながら一の移動軌跡から他の一の移動軌跡にたどりつく経路の距離である測地距離に変換する測地距離変換部と、変換された前記測地距離のうち、前記共有点を共有する測地距離を統合することで、前記部分集合にまたがる近似的な測地距離を算出する近似測地距離算出部と、算出された近似的な測地距離を用いて、類似するベクトルデータをもつブロックどうしを一つの領域として特定するクラスタリングを行うことによって、前記動画像に対して少なくとも一つのクラスを生成するデータ分類部とを備える。
これにより、類似するベクトルデータがまとめられて分類が行われるので、例えば、3次元の動きに関するベクトルデータを入力とした場合には、動きの異なる複数の部位からなる人物等の多関節物体を移動体として検出する場合であっても、一つの領域として分類されるので、正確な領域抽出が行われ、移動体が確実に検出される。つまり、形状が変化しながら移動する人物等の移動体に対しても正しく分類、すなわち領域抽出することが可能である。
また、部分集合ごとに測地距離を算出した後に、共有点を用いた測地距離の統合によって、部分集合にまたがる近似的な測地距離を算出しているので、ベクトルデータを部分集合に分割しない場合に比べ、より少ない計算量で、全ての2つのベクトルデータ間の組み合わせに対する測地距離が算出され、高速なデータ分類が可能となる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
まず、本発明の実施の形態1に係る移動体検出装置及び移動体検出方法について説明する。
図1は、実施の形態1における移動体検出装置100の構成を示す図である。図1に示されるように、この移動体検出装置100は、画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、領域抽出部107、出力部108を備える。そして、この移動体検出装置100は、動画像中の移動体の全部又は一部の領域を特定する領域抽出をすることによって動画像中の移動体を検出する。
画像入力部101は、動画像を構成する時間的に異なる複数枚の画像(ピクチャ)の入力を受け付ける処理部であり、例えば、ビデオカメラ、あるいは、ビデオカメラと接続された通信インターフェース等である。
動き解析部102は、画像入力部101で受け付けたピクチャを構成する1個以上の画素からなるブロックごとに、異なる2枚(例えば、時間的に隣接する2枚)のピクチャ間での画像の動きを検出し、検出した動きを複数枚のピクチャについて連結することで、移動軌跡を算出する処理部である。
領域分割部103は、動き解析部102によって算出された移動軌跡を複数の部分集合に分割するとともに、分割された複数の部分集合において一部の移動軌跡を共有点として設定する処理部である。ここでは、この領域分割部103は、それらの部分集合間で少なくとも一部の移動軌跡が重複するか、もしくは、接続されるように共有点を設定する。つまり、本実施の形態では、領域分割部103は、画像上での位置に関する空間上で、複数の移動軌跡を複数の部分集合に分割する。例えば、移動軌跡に対応するピクチャ上でのブロックの位置が近いものどうしが同一の部分集合に属することになるように、画像上での位置に関する空間上で、複数の移動軌跡を複数の部分集合に分割する。
距離計算部104は、領域分割部103によって分割された複数の部分集合のそれぞれについて、当該部分集合に含まれる複数の移動軌跡における2つの移動軌跡の組み合わせに対して、当該移動軌跡間の類似性を表す距離を算出する処理部である。ここでは、この距離計算部104は、画像において移動する物体の形状変化を捉えるために、動き解析部102で算出した部分集合に含まれるブロックiの移動軌跡と、ブロックi以外の当該部分集合に含まれるブロックの移動軌跡とを用いて、ブロックどうしの動きの類似性を表す距離を算出する。例えば、N個のブロックの移動軌跡を対象とした場合、算出される距離はN×N個の距離からなる距離マトリクスとなる。ここでは、ブロックの動きの類似性を評価する距離を計算することによって、ブロック間の距離が動きによって変化する移動体、特に、関節物体のように形状が変化しながら移動する人物等の物体の動きを距離マトリクスとして表現することが可能である。なお、以降の説明では、ブロックiの移動軌跡を移動軌跡iと呼ぶこととする。このように、本明細書における「距離」は、2次元空間における2点間の距離だけでなく、多次元のデータ間の算術的な距離を含み、1つの値、あるいは、複数の値の集合(距離マトリクス)である。
測地距離変換部105は、距離計算部104で算出した各部分集合における距離マトリクスに対して、測地距離変換を行う処理部である。
近似測地距離算出部106は、測地距離変換部105で変換された測地距離のうち、共有点を用いて、前記部分集合にまたがる測地距離を統合することで、近似的な測地距離を算出するという処理を行うことにより、動き解析部102で算出された複数の移動軌跡における2つの移動軌跡の組み合わせについての近似的な測地距離を算出する処理部である。つまり、近似測地距離算出部106は、測地距離変換部105で算出された各部分集合における測地距離マトリクスを統合することによって、部分集合間をまたがる近似的な測地距離を算出する。ここで、「近似的」な測地距離が算出される理由は、部分集合にまたがる測地距離については、それらの部分集合に属する全ての移動軌跡を用いて測地距離を算出する場合と比較して、共有点として設定された移動軌跡を用いて概括的に測地距離が算出されるからである。
領域抽出部107は、近似測地距離算出部106で算出された距離に基づいて、類似する移動軌跡をもつブロックから構成される領域を特定することによって、領域抽出をする処理部であり、ここでは、近似測地距離算出部106で統合された測地距離のうち、一定の閾値より小さい測地距離だけ離れた移動軌跡をもつブロックどうしを一つの領域として特定するクラスタリングを行うことで、画像入力部101で受け付けられた動画像に対して少なくとも一つの領域を抽出する。より詳しくは、本実施の形態では、この領域抽出部107は、距離計算部104で算出した距離マトリクスを用いて、測地距離変換部105及び近似測地距離算出部106にて得られた部分集合間をまたがる測地距離から、移動軌跡間の距離の分布における不連続性を検出し、検出した不連続点よりも小さい距離だけ離れた移動軌跡どうしが一つのクラスタとなるように、不連続点をもとにそれぞれ連続的に分布する移動軌跡をクラスタリングすることによって、画像中の移動体の検出と画像の領域抽出を行い、その結果として、画像中の移動体の検出と画像の領域抽出を行う。
出力部108では、領域抽出部107で行った動画像中の移動体の検出結果もしくは、画像の領域抽出結果を出力する処理部、メモリやハードディスク等への書き込み部、ディスプレイ装置等である。
なお、この移動体検出装置100を構成する各構成要素(画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、領域抽出部107、出力部108)は、図2に示されるように、CPU1005、RAM1007、ROM1006、カメラ1001と接続するための通信インターフェース1004、I/Oポート(ビデオカード1009等)、ハードディスク1008、ディスプレイ1003等を備えるコンピュータ1002上で実行されるプログラム等のソフトウェアで実現されてもよいし、電子回路等のハードウェアで実現されてもよい。つまり、本実施の形態における構成要素のうち、ディスプレイ装置等の入出力装置を除く構成要素については、コンピュータで実行されるプログラム及びデータ(つまり、ソフトウェア)で実現してもよいし、電子回路、メモリ及び記録媒体等のハードウェアで実現してもよいし、それらの混在で実現してもよい。
本発明がソフトウェアで実現される場合には、CPU、メモリ及び入出力回路等のコンピュータのハードウェア資源を利用してプログラムが実行されることによって本発明の機能要素が実現されることは言うまでもない。つまり、CPUが処理対象のデータをメモリや入出力回路から読み出して(取り出して)演算したり、演算結果を一時的にメモリや入出力回路に格納(出力)したりすることによって、各種処理部の機能が実現される。
また、本発明がハードウェアで実現される場合には、1チップの半導体集積回路で実現されてもよいし、複数の半導体チップが一つの回路基板に実装されて実現されてもよいし、一つの匡体に全ての構成要素が収納された一つの装置として実現されてもよいし、伝送路で接続された複数の装置による連携によって実現されてもよい。たとえば、本実施の形態における記憶部をサーバ装置に設け、本実施の形態における処理部を、そのサーバ装置と無線通信するクライアント装置に設けることで、本発明をサーバ・クライアント方式で実現してもよい。
以下、他の実施の形態における移動体検出装置についても同様である。
以下に、本発明の移動体検出方法、つまり、移動体検出装置100の動作として、図3のフローチャートを用いて移動する移動体を検出、領域抽出する例について詳細に説明する。
まず、ステップS201にて、画像入力部101は、複数枚のピクチャを受け付ける。
次に、ステップS202にて、動き解析部102は、少なくとも2枚のピクチャからブロックの動きを算出する。なお、ここでは、ブロックの動きを算出する一例として、画素の動きを算出する。以下、本実施の形態では、ブロック単位の処理の一例として、画素単位の処理を説明する。なお、複数の画素からなるブロック単位で処理をする場合には、(i)画素に対応するデータをブロック内で合計したり、(ii)ブロック内の平均値を求めたり、(iii)ブロック内の中心値を求めることで、ブロックに対応するデータ(代表値)を求め、得られた代表値を用いて画素単位の処理と同様に処理すればよい。なお、本明細書で、「ブロックの動き」及び「画素の動き」とは、それぞれ、「画像のブロック単位での動き」及び「画像の画素単位での動き」を意味する。
例えば、ステップS201にてT枚のピクチャが入力されたと仮定すると、時刻tと時刻t+1に入力されたピクチャを用いて、画素iの動きベクトル(ui t,vi t)を推定する。ここでは、必ずしもフレームが連続している必要はなく、例えば、時刻tと時刻t+nに入力されたピクチャを用いて画素の動きを求めてもよい。ただし、nは1以上の整数である。さらに、画素の動きとして、前記2次元動きベクトルの代わりにアフィンパラメータを推定してもよい。この時、すべての画素について動き情報を求めてもよい。また、より高速に処理を行いたい場合には、画像をグリッドに区切って一定間隔のグリッド上の画素についてのみ動き情報を求めてもよいし、上述したように、画像をブロックに区切ってブロックごとに動き情報を求めてもよい。さらに、非特許文献4で開示された手法を用いて動きベクトルを算出する場合は、その信頼度を計算することができるため、信頼度の高い動き情報を持つ画素のみを用いてもよい。また、非特許文献5で開示された手法を用いて動きベクトルを算出する場合は、オクルージョンを推定することができる。そのため、遮蔽(しゃへい)されていない画素の動き情報のみを用いてもよい。
さらに、画素の動きを算出する手法として、前記したブロックの並進移動を仮定して動きベクトルを算出する方法の代わりに、ブロックのアフィン変形を仮定して動きベクトルを算出する方法を用いてもよい。アフィン変形を仮定して動きベクトルを算出する方法は、以下の非特許文献6で開示された手法を用いることができる。
Jianbo Shi and Carlo Tomasi,"Good Features to Track",IEEE Conference on Computer Vision and Pattern Recognition,pp593−600,1994
上記手法は、時刻tと時刻t+1に入力されたピクチャの画素i近傍の動きに相当するアフィンパラメータAi tを推定する。画素iについて、時刻tと時刻t+1におけるピクチャ上での画素位置xi tとxi t+1は次の関係がある。
上記手法は、特に回転運動をする物体に対して、並進移動を仮定して動きベクトルを算出する手法を用いる場合よりも、高精度に画素iの動きを推定することができる。
次に、ステップS203にて、動き解析部102は、ステップS202で算出した動き情報を用いて、時間的に異なる複数枚のピクチャに対して前記画素の動きから移動軌跡iを算出する。以下、画素iの移動軌跡を移動軌跡iと呼ぶこととする。図4に示すように、時刻tにおける入力画像301の画素i303からステップS202で算出した動き情報302を用いて、画素iの動きを追跡する。この時、画素iが通った時刻tにおけるピクチャ上での画素位置(xi t,yi t)を用いて、以下のように移動軌跡i(ここでは、xi)を算出する。
ここで、Tは移動軌跡の算出に用いたピクチャの枚数である。さらに、式2において、動きの無い移動軌跡、もしくは動きの小さい移動軌跡については、以下の処理を行わないようにすることも可能である。
次に、ステップS204にて領域分割部103は、図5に示すように画像401の位置に関する空間をP個の部分集合402として領域に分割する。ここで、部分集合402は、分割された画像領域(画像上の位置)に対応する移動軌跡の集合でもある。この時、部分集合どうしが共通点(両部分集合に論理的に属することとなる移動軌跡)をもつように、部分集合を設定する、または、共通点を設定する。具体的には、部分集合402の設定において、図5(a)や図5(b)に示すように、画像401の位置に関する空間において、一部を重複するように設定し、重複領域に属する画像領域(画像上の位置)に対応する移動軌跡を共有点として設定してもよいし、図5(c)のように、部分集合の境界において近接する画像上の位置に対応する移動軌跡を共有点403として設定してもよいし、図5(d)のように、部分集合を空間的に高密度に設定し、共有点403を空間的に疎に設定してもよい。さらに、ここでは、部分集合に分割する際において、図5に示したような長方形で行う必要は必ずしもなく、正方形や横長の長方形でもよいし、円や楕円、多角形であっても構わない。また、複数の部分集合によって、画像全体を包含するように設定するのが望ましい。例えば、抽出したい被写体の形状や動きが事前に予測できないような場合やカメラの天地方向が変化するような回転が生じるような場合においては、図5(a)、図5(c)、図5(d)に示したように正方形とすることで、被写体やカメラの回転による影響を受けにくくする効果がある。また、特に人物等、縦方向に長い被写体を抽出したい場合には、図5(b)に示すような縦長の長方形にすることで、人物の形状をより正確に抽出できる。さらには、同様に、犬などの動物の場合は、その形状を反映して、横長の長方形とすることが望ましい。そして、より計算量を減らしたい場合には、図5(c)に示すように重複領域の代わりに境界に隣接する移動軌跡を共有点と設定することによって、重複を減らすことで計算量をより削減できる効果がある。さらには、パースの効果を反映するために、画像上部の部分集合の大きさを画像下部の部分集合よりも小さくすることによって、画像下部の被写体が大きく、画像上部の被写体が小さいような場合においても、より高精度な抽出を実現できる効果がある。もちろん、正方形ではなく、画像上部の部分集合を小さくする効果は、部分集合の分割を台形によって行うことによっても実現できる。また、各部分集合の数やサイズについては、後述する。
ここで、画像領域(画像上の位置)に対応する移動軌跡とは、分割された画像領域における画像上の位置に基づいて移動軌跡iを部分集合に分割することによって得られるものであり、例えば、画像上の位置(xi 1,yi 1)が部分集合pに属する場合は、時刻1において、画像上の位置(xi 1,yi 1)を通った上記式2に示した移動軌跡iを部分集合pに割り当てる。さらに、一定の時刻tにおける画像上の位置(xi t,yi t)が部分集合pに属する場合は、(xi t,yi t)を通った移動軌跡iを部分集合pに割り当てるようにしてもよい。さらには、上記式2の移動軌跡iに対して時間平均を計算することで、移動軌跡の画像上での時間平均位置
を算出し、その時間平均位置が属する部分集合pに移動軌跡iを割り当ててもよい。 共有点についても同様に画像領域(画像上の位置)に対応する移動軌跡である。このように、それぞれ画像領域(画像上で位置)に基づいてP個に分割し、その結果から、それぞれの移動軌跡を部分集合pに割り当てることによって、それぞれの移動軌跡は、複数の部分集合に分割されることになる。
次に、ステップS205にて、距離計算部104は、ステップS204にて分割した部分集合pごとに、部分集合pに属する移動軌跡iを用いて画素の動きの類似性を含む距離マトリクスを算出する。移動軌跡iと移動軌跡jとの類似性を表す線形距離fp(i,j)は以下の式3〜式13により算出できる。なお、式3〜式13に代表されるような距離は、非線形な関数を含んでいても良いが、後述する非線形な変換と経路を探索する方法により算出される測地距離と区別するために、線形距離とよぶこととする。ここで、移動軌跡iと移動軌跡jは、共に同じ部分集合pに属するものとし、それぞれの部分集合pに対して、以下の計算を行う。
ここで、wは重み係数であり、設計者が設定するパラメータである。さらに、式3に代えて、線形距離f
p(i,j)の定義を次式のようにしてもよい。
また、ptn
ij,mtn
ijは、それぞれ、移動軌跡間距離の時間平均値、移動軌跡間距離の時間変動成分であり、その定義については以下に示す。
上記のように、式3に示されるように、式5に示した移動軌跡間距離の時間平均値に加えて、式6に示した移動軌跡間距離の時間変動成分を前記線形距離f
p(i,j)の要素とする。特に式6に示した移動軌跡間距離の変動成分は、画素の動きの類似性を示すものであり、これによって、画素間のなす距離の関係が時間的に変化しない剛体だけでなく、関節物体等の形状変化を捉えることができる。また、式6の代わりに式8から式13のような時間変動成分を用いることで、同様の効果が期待できる。
であり、u
t iは、時刻tからt+1への動きベクトル(u
i t,v
i t)であり、<u
t i・u
t i>は内積である。
また、時間変動成分として、以下のような計算を用いてもよい。
である。
次に、ステップS206で、測地距離変換部105は、上記式3もしくは上記式4で算出した部分集合pにおける線形距離f
p(i,j)に対して閾値Rを用いて、以下のように非線形化処理を行いf'
p(i,j)を算出する。
移動軌跡iに着目した時に移動軌跡iとの線形距離f
p(i,j)が小さい順にR個の移動軌跡jを選択し、選択された移動軌跡jとの距離は変更せず、選択されなかった移動軌跡jとの距離を無限大に変更する。なお、ここでは、線形距離が小さい順に選択したが、次式のように閾値Rを設定してもよい。
つまり、測地距離変換部105は、動き解析部102で算出された部分集合pに属する複数の移動軌跡のそれぞれについて、距離が小さい順に予め定められた個数(R個)の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよいし、動き解析部102で算出された部分集合pに属する複数の移動軌跡のそれぞれについて、距離が予め定められた閾値以下の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよい。
なお、距離の非線形化に関しては、上記の関数に限定されるものではなく、移動軌跡iと移動軌跡jに関する距離に対して非線形変換を行うものであれば何でもよい。
さらには、線形距離fp(i,j)に対して、以下のように式16及び式17を用いて計算した重みを掛け算して重み付けを行った後に式14もしくは式15の処理を行ってもよい。
ここで、NNは移動軌跡の近傍点かつ同一の部分集合pに属する点について処理することを示し、移動軌跡a及びbに対して、移動軌跡j及びiからそれぞれ一定距離以内にある移動軌跡もしくは、距離が小さい順にN個の移動軌跡を用いて計算することを示す。すなわち、N
a、N
bは、それぞれ同一の部分集合pに属しており、かつ一定距離以内にある移動軌跡の数もしくは、前記Nである。なお、zは設計者が設定する。
また、式16の代わりに次式のように分散を用いてもよい。
であり、NNについては、式16の場合と同じである。
式16や式17の重みを用いてfp(i,j)を変換することによって、移動軌跡i及びjと類似した移動軌跡が空間的に密集している場合(距離が近い移動軌跡の場合)には、fp(i,j)を相対的に小さく、また、空間的に疎な場合(距離が遠い移動軌跡の場合)には、密集している場合と比較してfp(i,j)が相対的に大きくなる。つまり、距離計算部104で算出された距離を測地距離に変換するときに、領域分割部103で分割された部分集合p内の複数の移動軌跡の分布における密集度が大きいほど小さい測地距離となるような重み付けをしたうえで、測地距離への変換をする。これによって、画素の移動軌跡の分布の密集度を考慮した距離変換が可能になる。
次に、非線形化された距離f'p(i,j)を用いて、次式のように測地距離gp(i,j)を算出する。
なお、min(x,y)は、値xと値yのうち小さい方を返す関数である。また、sは、移動軌跡sであり、移動軌跡iから移動軌跡jに辿(たど)りつくための中継点である。ここで、f'
p(i,s)+f'
p(s,j)における中継点sは1点に限るものではない。なお、pはそれぞれの部分集合に対応する。この方法は、ダイクストラ法と呼ばれる最短経路探索手法であり、以下の非特許文献7に記載されている。このように、測地距離変換部105は、距離計算部104で算出された距離のうち、予め定められた条件を満たす小さい距離を連結することで、動き解析部102で算出された一の移動軌跡から他の一の移動軌跡にたどりつく最短経路を求めることにより、距離計算部104で算出された距離のそれぞれを測地距離に変換する。
E.W.Dijkstra, "A note on two problems in connexion with graphs", Numerische Mathematik, pp.269-271, 1959
ここで、上記式14及び式15に示した非線形化処理について、図6(a)〜図6(c)の概念図を用いて説明する。ここでは、式15について説明するが、他の非線形化処理を行っても同様の効果が期待できる。まず、図6(a)は2次元のデータ分布を示す。ここで、それぞれのデータ点は、上記式3もしくは上記式4に示した移動軌跡iに相当する。上記式14から式17の非線形化処理を行わない場合には、図6(b)に示したように、データ点iとデータ点jとの距離は、データ点iとデータ点kとの距離よりも小さくなる。しかしながら、図6(c)に示すように、例えば上記式15の処理及び上記式17の処理を行うことによって、データ点iとデータ点jとの距離は、ユークリッド距離ではなく、測地距離と呼ばれるデータ点を矢印のように辿(たど)った距離となる。結果として、ユークリッド距離を用いる場合と異なり、データ点iとデータ点jとの距離は、データ点iとデータ点kとの距離よりも大きくなる。
ここで、このような上記式14から式17に示した測地距離変換の意義を図7(a)及び図7(b)の概念図を用いて説明する。
ここでは、線形距離fp(i,j)と測地距離gp(i,j)の違いを分かりやすく説明するため、上記式5に示すような時刻tにおける移動軌跡間距離を例とする。実際には、移動軌跡間距離に加えて、上記式3に示したように画素の動きの類似性として移動軌跡間距離の変動成分を用いることにより、関節物体等の形状だけではなく形状変化をも捉えることができる。図7(a)は、上記式14から式17の非線形化処理を行わない場合の例である。例えば、頭部の画素i602と手先部の画素j603との距離は、線形距離601に示す距離となる。一方、上記式14から式17のような非線形処理を行うことによって、閾値Rが適切に設定されていれば、図7(b)に示されるように、頭部の画素i602と手先部の画素j603との距離は、画素k604を通って画素jにたどり着くまでの矢印で示したような線形和としての距離(つまり、測地距離)となる。そのため、線形距離601では人物のような関節物体の関節が繋がった形状をデータとして連続的に表現できないのに対して、測地距離によれば、関節が繋がった形状を距離として連続性を表現することが可能となる。なお、測地距離の計算方法は、上記式14から式17の非線形処理を必要とする方法に限定されるものではない。また、線形距離および測地距離における距離は、類似度と相反する関係にあり、類似度が高いときは、距離は小さく、類似度が小さいときは、距離が大きくなる。そのため、前述した距離の代わりに類似度を用いる場合は、類似度の逆数を距離として用いたり、類似度の最大値以上の値から類似度を引いた値を距離として用いたりすることで、上記の相反する関係を満たすように距離に変換して用いても良い。
次に、ステップS207にて、近似測地距離算出部106は、各部分集合における測地距離マトリクスgp(i,j)を統合することによって、部分集合にまたがる近似的な測地距離を算出する。具体的には、ステップS204にて設定された共有点を用いて、以下のように統合処理を行う。
ここで、cは共有点であり、部分集合pおよび部分集合qの両方に属する移動軌跡である。つまり、複数の部分集合間で重複している移動軌跡である。なお、共有点は、必ずしも2つの部分集合に属するものではなく、3つ以上の部分集合に属しても構わない。また、iとhは、それぞれ、異なる部分集合pおよびqに属する移動軌跡に対応するインデックスである。なお、共有点cは、図5に示した例のように1点に限るものではない。
は、少なくとも1つ以上の共有点cについて、上記式21を計算し、その中で最小値を選択する関数である。ここでは、部分集合pとqの2つの組に限定されるものではなく、上記式21に対して、共有点を複数用いて、それぞれの部分集合をまたぐように測地距離を加算していけば、2つ以上の部分集合間にまたがる測地距離を算出することができる。
さらに、図5(c)のように、部分集合の境界において近接する画像上の位置に対応する移動軌跡を共有点403とした場合や、図5(d)のように空間的に疎に分布する共有点を持つ場合には、共有点ciに対応する移動軌跡と共有点cjに対応する移動軌跡との線形距離fc(ci,cj)を計算して、下記式22のように統合処理を行えばよい。
ここで、線形距離f
c(c
i,c
j)は、共有点間を接続する効果がある。なお、f
c(c
i,c
j)は、すべての共有点に対して計算してもよいし、空間的に近傍の少なくとも1つ以上の共有点間の距離を求めてもよい。
は、少なくとも2つ以上の共有点c
i、c
jについて、上記式22を計算し、その中で最小値を選択する関数である。ここでは、部分集合pとqの2つの組に限定されるものではなく、上記式22に対して複数の共有点間を接続する線形距離を用いて、それぞれの部分集合をまたぐように測地距離を加算していけば、2つ以上の部分集合間をまたがる近似的な測地距離を算出することができる。
このように、共有点cを用いて部分集合に分割し測地距離計算を行ったgp(i,j)を、共有点cを用いて統合し、部分集合をまたがる近似的な測地距離g(i,h)を算出することによって、ステップS203で算出したすべての移動軌跡に対する測地距離g(i,j)を高速に得ることができる。このような手法による効果について、図8を用いて説明する。図8では、2つの部分集合を例として説明するが、本発明においては、部分集合の数はいくつでも構わない。ステップS204にて、異なる部分集合aとbに分割され、ステップS205にて、それぞれの部分集合における測地距離(例えば、部分集合a内の測地距離704、部分集合b内の測地距離705)を計算する。そして、ステップS207にて、共有点703を用いて統合処理を行うことで、例えば、図8の頭部の点に対応する移動軌跡iと足先の点に対応する移動軌跡jのように、部分集合間をまたがる近似的な測地距離g(i,j)を得ることができる。
ここで、たとえステップS204にて、一つの被写体が二つ以上の異なる部分集合に分割されたとしても、統合処理を行うことで、部分集合に分割する処理を行わない場合と同等の精度で測地距離を計算することができる。
さらに、部分集合に分割せずに測地距離計算を行った場合と比べて、少ない計算量で測地距離計算を行うことができる。具体的には、移動軌跡の数をNとすると、測地距離計算に掛かる計算量はO(N2logN)となることが上記非特許文献3に示されているが、本実施の形態による測地距離計算および統合に掛かる計算量の概算は、次式のようになる。
ここで、Mは部分集合の数、Cは全共有点の数、すなわち図5に示した各部分領域間の共有点の数の合計である。C
2logCは、上記式21で測地距離の統合処理に掛かる計算量である。例えば、移動軌跡の数NをVGA画像サイズと同じ640×480として、さらに、Mを10、CをNの10%とした時には、計算量は、部分集合に分割しない場合と比べて、およそ0.11倍となる。画像サイズもしくは、移動軌跡の数が分かっている場合においては、部分集合の数Mと共有点Cとの2つの変数によって、計算量の削減量を見積もることができる。精度を重視する場合には、重複領域を多くとることが望ましい。そのため、全共有点の数Cを大きくすると良い。さらに、計算量を重視する場合には、部分集合の数Mを大きくすると良いが、精度を考慮すると全共有点の数Cも、それに合わせて大きくする必要があるため、処理する対象の形状や動き、また、精度とのバランスで決定する必要がある。以上のように、共有点を用いて測地距離を統合することで、高速に測地距離計算の処理が可能となる。
次に、ステップS208で、領域抽出部107は、近似測地距離算出部106で統合した測地距離g(i,j)を用いて、不連続点を検出することによって類似する移動軌跡をもつブロックから構成される領域を特定することによって領域抽出を行う。ここでは、g(i,j)が無限大となる移動軌跡iと移動軌跡jの間が不連続点である。閾値Rに対して得た測地距離の例を図9(a)〜図9(c)を用いて説明する。ここで、図9(a)は、移動軌跡a〜hを示し、図9(b)は、図9(a)に示した移動軌跡a〜hを表現する多次元空間の概念図である。なお、図9(a)に示される移動軌跡a〜hの数を8本としたが、実際には、各画素に対応する移動軌跡を用いてもよいし、ブロック単位で求めた移動軌跡を用いてもよい。ここで、図9(b)に示される多次元空間における1点(点a〜点h)が、それぞれ、上記式2に示した一つの移動軌跡に対応する。すなわち、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果である。さらに、図9(b)に示される多次元空間上で、点と点との距離は、ベクトル間のユークリッド距離ではなく、上記式20および式21から算出された測地距離に対応する(ただし、無限大は除く)。
図9(c)に示されるクラスタリングの例について説明する。ここで、図9(b)の多次元空間において、上記式3もしくは上記式4に示した移動軌跡aと移動軌跡bとの距離をf(a,b)とした時に、f(e,f)>f(c,d)>f(f,g)>f(b,c)である。ここでは、閾値をRとして設定した場合に、距離f(e,f)だけが閾値Rよりも大きな値を持つとする。この場合、上記式20によって測地距離を求めてもgp(e,f)は無限大となる。そのため、上記式21もしくは式22によって、測地距離を統合した結果g(e,f)も無限大となる。そこで、領域抽出部107は、移動軌跡eと移動軌跡fとの間を不連続点と判定する。この結果、移動軌跡aからdと移動軌跡eとの測地距離は不連続点を通らないため無限大の値を取らず、逆に移動軌跡fからhの各移動軌跡と移動軌跡aからeの各移動軌跡との測地距離は、不連続点g(e,f)を通るためそれぞれ無限大となる。このように、測地距離が無限大とならない移動軌跡iと移動軌跡jの組は同じクラスタとし、無限大となる場合は別のクラスタとする。これによって、図9(c)に示されるようにθ1、θ2の2つのクラスタに分離することができる。図9(c)の移動軌跡a〜hにおいて、上半身に関する移動軌跡a〜eはクラスタθ1に属し、下半身に関する移動軌跡f〜hはクラスタθ2に属している。すなわち、クラスタに分離した結果は、直接的に領域抽出を行った結果となる。
さらに、後述するように、パラメータを変更して、上記ステップS201からS208の処理を行うことによって、複数の移動体を別々に抽出することも可能である。なお、本明細書において、例えば、動きの無い移動軌跡を用いずに領域抽出を行った結果の各領域は、それぞれの移動体に対応するため、各移動体の検出と、画像中の複数の移動体領域をそれぞれ抽出する領域抽出とは、特に区別する必要は無い。さらに、動きの無い移動軌跡も用いて領域抽出を行った場合、例えば最大の大きさを持つ領域を背景とし、それ以外を移動体の検出結果とすることも可能であるが、領域抽出を行った結果から移動体を検出する方法はこの限りではない。
以上のようにして、本実施の形態における移動体検出装置100によれば、画素間の距離あるいは移動軌跡の類似性に基づいてクラスタリングを行うことによって、類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また、移動軌跡の類似性に基づいて閾値を用いてクラスタリングを行うため、画像中でさまざまな大きさの移動体が存在する場合や、移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
また、部分集合ごとに測地距離を算出した後に、共有点を用いた測地距離の統合によって、部分集合にまたがる測地距離を算出しているので、移動軌跡を部分集合に分割しない場合に比べ、より少ない計算量で、全ての2つの移動軌跡間の組み合わせに対する測地距離が算出され、高速な移動体検出が可能となる。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第1変形例)
次に、本発明の実施の形態1の第1変形例における移動体検出装置について説明する。
ここでは、部分集合への分割を実施の形態1とは異なる方法で行う例について説明する。
このような第1変形例に係る移動体検出装置は、実施の形態1と比べて、領域分割部103の処理を除いて、同じ構成であるため、同一構成要素の説明は省略する。
実施の形態1と異なる点は、領域分割部103での処理である。実施の形態1では、図5に示したように画像401の位置に関する空間をP個の部分集合402として領域に分割したが、ここでは、上記式2に示したような移動軌跡、すなわち多次元ベクトルの空間上でP個の部分集合に分割する。つまり、本変形例では、領域分割部103は、移動軌跡が類似するものどうしが同一の部分集合に属することになるように、移動軌跡(多次元ベクトル)を表現する多次元ベクトル空間上で、複数の移動軌跡を複数の部分集合に分割する。
ここでは、図3に示した処理のフローチャートに沿って説明する。まず、ステップS201からS203までは実施の形態1と同じであるため、説明を省略する。
次に、ステップS204にて、領域分割部103は、図10(a)〜図10(c)に示すように上記式2で算出した移動軌跡、つまり多次元ベクトルの空間上で部分集合に分割する。ここで、図10(a)は、移動軌跡901を示し、図10(b)は、図10(a)に示した移動軌跡901を表現する多次元ベクトル空間の概念図である。ここで、移動軌跡を表す多次元ベクトル(多次元ベクトル空間における一点)が、それぞれ上記式2に示した1つの移動軌跡に対応する。すなわち、図10(b)は、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果である。そして、図10(c)の部分集合903に示すように、領域分割部103は、多次元ベクトル空間を複数の部分領域に分割する。ここで、部分集合903は、分割された多次元ベクトル空間に存在する点、すなわち移動軌跡の集合である。この時、黒丸は、共有点904である。部分集合903の設定においては、多次元ベクトル空間において一部を重複するように設定し、重複領域に属する移動軌跡を共有点としてもよいし、図5(c)で説明したのと同様に、多次元ベクトル空間における部分集合の境界において近接する移動軌跡を共有点904としてもよいし、部分集合を空間的に高密度に設定し、共有点904を空間的に疎に設定してもよい。さらにここでは、部分集合に分割する際において、図10(c)に示したような直方体(実際は、多次元であるのでn次元直方体)で行う必要は必ずしもなく、超球や超楕円、n次元多面体などであっても構わない。また、複数の部分集合によって、すべての移動軌跡を包含するように設定するのが望ましい。
さらに、ステップS204における別の方法について説明する。まず、すべての移動軌跡に対して、以下のように計算を行う。
ここで、iおよびjは、式2で算出したすべての移動軌跡である。ptn
ijとmtn
ijについては、上記式5から式7に示してある。次に、上記式24にて算出した移動軌跡間距離マトリクスf(i,j)を移動軌跡数個の行ベクトルと捉える。すなわち、i行目の行ベクトルは、移動軌跡iと対応する。そして、それぞれの行ベクトルは、多次元ベクトルと考えることができる。そのため、移動軌跡間距離マトリクスの行ベクトルは、概念的には、図10(b)に示した多次元空間上の点として表すことができる。そのため、上記実施の形態で説明したのと同様に、図10(c)に示すような部分集合を用いて、多次元ベクトル空間上で移動軌跡を部分集合に分割することができる。
さらに、多次元ベクトルを表現する多次元空間において、移動軌跡、つまり前述した多次元ベクトルを用いて、PCA(Principal Component Analysis)を行ってもよい。PCAを行うことによって、多次元ベクトル空間をより、低次元に圧縮することができる。例えば、2次元に圧縮した場合には、図5に示したように、画像空間上で部分集合に分割することと同様の処理によって、2次元空間上で移動軌跡を部分集合に分割することが可能である。
ステップS206以降については、実施の形態1と同様の処理を行えばよいため、説明を省略する。
以上のようにして、本第1変形例における移動体検出装置によれば、画素間の距離あるいは移動軌跡の類似性に基づいてクラスタリングを行うことによって、類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また移動軌跡の類似性に基づいて閾値を用いてクラスタリングを行うため、画像中でさまざまな大きさの移動体が存在する場合や、移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第2変形例)
次に、本発明の実施の形態1の第2変形例における移動体検出装置について説明する。
ここでは、領域抽出部107における領域抽出を異なる方法で行う例について説明する。
このような第2変形例に係る移動体検出装置は、実施の形態1と比べて、領域抽出部107の処理を除いて、同じ構成であるため、同一構成要素の説明は省略する。
実施の形態1と異なる点は、領域抽出部107であり、この領域抽出部107が測地距離マトリクスを次元圧縮し、その次元圧縮された空間上で移動軌跡をクラスタリングすることによって、領域抽出、つまり移動体の検出を行う点である。
ここでは、図11に示した処理のフローチャートに沿って説明する。まず、ステップS201からS207までは実施の形態1と同じであるため、説明を省略する。
ステップS1001では、領域抽出部107にて、ステップS207で算出した測地距離マトリクスの次元圧縮を行う。次元圧縮は、Young−Householder変換を行った後、Eigen systemを求めることで実現できる。これは、多次元空間に分布するデータを低次元空間に効率良く射影するための方法であり、入力データのノイズ(ここでは、上記式2の移動軌跡を算出する際に動き情報に誤差が含まれる場合に相当する)に対して頑健なデータの表現が可能となる。
つまり、領域抽出部107は、非線形化された距離マトリクスを
として、次のように上記式25に対して中心化行列Hを両側からかけるYoung−Householder変換を行う。これは、距離マトリクスが点間距離からなる距離行列であるのに対して、重心を原点とした距離マトリクスに変換するために行うものである。
である。Iは単位行列、Nは、上記式2に示した移動軌跡の数である。
また、
次に、領域抽出部107は、次元圧縮を行うために、τ(G)に対するQ個のeigen vector(固有ベクトル)eqおよびそれに対応するeigen value(固有値)λqを算出する。
これにより、
とすると、g
iを次元圧縮された空間上に射影した結果は、データz
i qとして以下のように表すことができる。
なお、e
i qは、q番目のeigen vector e
qのi番目の要素である。eigen vectorの数Qは、利用するシーンに応じて実験的に決定しても良いし、以下のようにeigen value λ
qから寄与率a
qを算出し、それに基づいて決定しても良い。
Qは利用するeigen vectorの数、すなわち圧縮された空間の次元数である。Nは全eigen vectorの数である。そこで、寄与率a
Qが一定値以上となる時のQをeigen vectorの数とすれば良い。
以上のように、上記式2に示した移動軌跡iを、eigen vector eqで張られる非線形に次元圧縮された空間上のデータzi qと対応付けることができる。
図12に人物の歩行画像を入力とした場合の移動軌跡iが非線形に次元圧縮された空間に射影された結果を示す。横軸、縦軸は、それぞれ、eigen vector e1,e2である。2次元上に射影された点(zi 1,zi 2)は、giを射影したものである。ここで、圧縮空間上のデータzi qと画像上での画素iの時間的移動軌跡xiとは一対一の対応関係にあるため、点(zi 1,zi 2)は、移動軌跡iに対応していると捉えることができる。なお、ここでは結果を可視化するために圧縮空間の次元数を2次元としたが、必ずしも2次元である必要は無いし、高い次元数の方がより高い精度でデータを射影することができる。
次に、ステップS1002では、領域抽出部107は、ステップS1001にて図12に示したような圧縮された空間に射影されたデータに対して、クラスタリングを行うことで移動体の検出と領域抽出を行う。
まず、セグメント領域を次のように表現する。ここで、セグメント領域とは、抽出される領域であり、つまり移動体の検出結果と一致する。
ここで、Mは、セグメント領域数であり利用するシーンに応じて経験的に決定する。ただし、上記式23におけるMとは異なる。
それぞれのセグメント領域θmは、パラメータ
は、圧縮空間におけるセグメント領域θ
mに属するデータの座標値の平均値、Z
mは、セグメント領域θ
mに属するデータの座標値に関する共分散行列である。
の初期値はランダムに決定しても良いし、圧縮された空間中をグリッドで等間隔に分割する等して、その交点の座標値を初期値としても良い。
なお、
ここで、C
mは圧縮された空間上でセグメント領域θ
mに属するデータ数である。
以下、具体的な計算方法について説明する。まず、領域抽出部107は、次式の距離関数を用いて、圧縮された空間上のデータziが属するセグメント領域θmを求める。
ここで、ψ
m(z
i)は、移動軌跡iに対応する圧縮空間上のデータz
iとそれぞれのセグメント領域θ
mとの距離を示すものである。各データは、ψ
m(z
i)が最小値をとるセグメント領域θ
mに属することになる。なお、φ
m(z
i)はマハラノビス距離であり、
である。また、φ
m(z
i)をψ
m(z
i)の代わりとして用いても構わない。
さらに、p(ωm)は、一定値としても構わないし、人物など決まった移動体のセグメンテーションを行う場合はあらかじめ、人物部位の形状や面積比等をもとに設定しておいても良い。ωmは、セグメント領域θmに対する重み係数である。
次に、領域抽出部107は、上記式35の計算結果から、セグメント領域θmに属するデータziを用いて、以下のように領域θmのパラメータ
は、セグメント領域θ
mに属する圧縮された空間上のデータである。また、ω=1としても良いし、入力データの平均値からのずれ具合によって調整しても良い。このように、領域抽出部107は、上記式35から式38の距離計算およびパラメータ更新を規定回数繰り返すことによって、圧縮空間上の各データが属するセグメント領域θ
mを得ることができる。なお、上記に加えて、k−mean、競合学習など、他のクラスタリング方法を用いても構わない。
図13(a)及び図13(b)に人物の歩行画像を入力とした場合にM=9として圧縮空間上のデータをセグメンテーションした例を示す。圧縮空間上でのセグメント領域θ1からθ9について画像上での対応を見ると、セグメント領域θ1は人物の頭部、セグメント領域θ2は胴体上部、セグメント領域θ3は腕、セグメント領域θ4は胴体下部、セグメント領域θ5及びθ7は大腿部、セグメント領域θ6及びθ8は、下腿部に対応している。なお、セグメント領域θ9は主に背景の一部に対応する。
ここで、図13(b)の矢印で示すように、圧縮空間上のセグメント領域に対応するのは、1枚の画像上の領域だけではなく時間的に連続した複数枚の画像に渡って画素を追跡した結果である。すなわち、圧縮された空間上でセグメンテーションを行うことによって、画像中を移動する物体の領域を時間的に追跡した結果として、画像中の移動体(移動体の部位)の検出、被写体を含む画像の抽出をすることができる。
さらには、上記の説明と同じ方法でパラメータを変更することで、複数の移動体を検出することもできる。具体的には上記式14もしくは上記式15を用い、閾値Rを、部位のセグメンテーションを目的とする時よりも大きな値に設定する。
図14に、人物一人が歩行し自転車1台が走行している画像を入力とした場合に、圧縮された圧縮空間に射影しM=2としてセグメンテーションを行った結果の一例を示す。圧縮された空間上でのセグメント領域θ1とθ2の画像上での対応について説明する。セグメント領域θ1は画像上では自転車の動きに対応し、セグメント領域θ2は画像上では人物の歩行に対応している。以上のように、低次元に圧縮された空間上でセグメンテーションを行うことで、簡単かつ安定に自転車の動きと人物の動きとを分けて検出(つまり、領域抽出)することができる。
なお、ここでは上記式2に示されるような、動きのない画素についての移動軌跡は入力として用いていないため、移動している物体である歩行者と自転車の2つのみが圧縮空間上に射影されている。もちろん、動きのない移動軌跡を入力として用いても構わない。ここで、実施の形態1と同様に圧縮された空間上のセグメント領域に対応するのは、1枚の画像上の領域だけではなく時間的に連続した複数枚の画像に渡って画素を追跡した結果である。すなわち、圧縮空間上でセグメンテーションを行うことによって、移動体の領域を時間的に追跡した結果としてそれぞれの移動体を検出することができる。
以上のようにして、本第2変形例における移動体検出装置によれば、画素間の距離あるいは移動軌跡の類似性に基づいて、次元圧縮を行った後にクラスタリングを行うことによって、動き検出ミス等のノイズに対して頑健で、かつ類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第3変形例)
次に、本発明の実施の形態1の第3変形例における移動体検出装置について説明する。
ここでは、実施の形態1で説明した領域抽出に対して、複数の判断基準を設けることによって、領域抽出の候補を生成し、その候補の中からあらかじめ定めた移動体の数に最も近い候補を選択することによって領域抽出を行う例について説明する。
図15は、実施の形態1の第3変形例における移動体検出装置100aの構成を示す図である。図15に示されるように、この移動体検出装置100aは、画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105a、近似測地距離算出部106a、領域抽出部107a、及び、出力部108を備える。領域抽出部107aは、領域抽出候補生成部1401と領域抽出候補選択部1402を有する。そして、この移動体検出装置100aは、動画像中の移動体の全部又は一部の領域を特定する領域抽出をすることによって動画像中の移動体を検出する。
まず、画像入力部101、動き解析部102、領域分割部103、距離計算部104については、実施の形態1と同じであるため、説明を省略する。
測地距離変換部105aは、距離計算部104で算出した各部分集合における距離マトリクスに対して、判断基準を複数個生成し、生成した複数の判断基準のそれぞれについて、当該判断基準を用いて測地距離変換を行うことで、複数の判断基準のそれぞれに対応する測地距離を生成する処理部である。
近似測地距離算出部106aは、前記複数の判断基準ごとに、測地距離変換部で算出された各部分集合における測地距離マトリクスを統合することによって、部分集合間をまたがる近似的な測地距離を算出する処理部である。
領域抽出候補生成部1401は、近似測地距離算出部106aで、複数個の判断基準のそれぞれについて統合された測地距離マトリクスから、動き解析部102で算出された複数の移動軌跡をクラスタリングすることによって領域抽出をし、その領域抽出の結果を領域抽出候補として生成する処理部である。具体的には、この領域抽出候補生成部1401は、移動軌跡間の距離の分布における不連続点を閾値によって検出し、検出した不連続点よりも小さい測地距離だけ離れた移動軌跡どうしが一つのクラスタとなるように、連続に分布する移動軌跡をクラスタリングすることによって、前記複数の閾値のそれぞれに対する領域抽出の候補を生成する。
領域抽出候補選択部1402は、予め定められた数値を参照したり、ユーザ等の外部からの指示を受け付けたりすることで、クラス数についての指示を取得し、取得したクラス数に近い個数の領域に分割された領域抽出候補を、領域抽出候補生成部1401で生成された複数の領域抽出候補から選択し、選択した領域抽出候補を、動き解析部102で算出された移動軌跡から領域抽出を行った結果として出力する処理部である。具体的には、この領域抽出候補選択部1402は、領域抽出候補生成部1401で生成した、複数の閾値のそれぞれに対する領域抽出の候補から、指示されたクラス数に最も近い領域抽出結果を選択する。すなわち、指示されたクラス数に応じた閾値による領域抽出結果を選択することになる。
出力部108は、実施の形態1と同様である。これにより、最終的な移動体の検出と領域抽出結果を得ることができる。
以下に、本第3変形例における発明の移動体検出方法、つまり、移動体検出装置100aの動作として、図16のフローチャートを用いて移動する移動体を検出、領域抽出する例について詳細に説明する。ステップS201からS205までは、実施の形態1と同様であるため説明を省略する。
ステップS206aにて、測地距離変換部105aは、上記式3もしくは上記式4で算出した部分集合pにおける線形距離fp(i,j)に対して、複数の判断基準としてK個の閾値Rkを生成し、それらK個の閾値Rkを用いて、それぞれの閾値に対して以下のように非線形化処理を行いf'k p(i,j)を算出する。
移動軌跡iに着目した時に移動軌跡iとの線形距離が小さい順にR
k個の移動軌跡jを選択し、選択された移動軌跡jとの距離は変更せず、選択されなかった移動軌跡jとの距離を無限大に変更する。なお、ここでは、線形距離が小さい順に選択したが、次式のように閾値R
kを設定してもよい。
つまり、測地距離変換部105aは、距離計算部104で算出された部分集合pに属する複数の移動軌跡のそれぞれについての線形距離マトリクスに対して、それぞれK個の閾値R
kを用いて、距離が小さい順に予め定められた個数の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよいし、距離が予め定められた閾値以下の移動軌跡を選択し、選択されなかった移動軌跡との距離を無限大に変更する非線形化をした後に、複数の距離のそれぞれを測地距離に変換してもよい。
なお、距離の非線形化に関しては、上記の関数に限定されるものではなく、移動軌跡iと移動軌跡jに関する距離に対して非線形変換を行うものであれば何でもよい。
さらには、線形距離fp(i,j)に対して、実施の形態1で説明したように、上記式17及び上記式18を用いて計算した重みを掛け算して重み付けを行った後に上記式39もしくは上記式40の処理を行ってもよい。
次に、非線形化された距離f'k(i,j)を用いて、次式のように測地距離を算出する。
なお、min(x,y)は、値xと値yのうち小さい方を返す関数である。また、sは、移動軌跡sであり、移動軌跡iから移動軌跡jに辿(たど)りつくための中継点である。ここで、f'
k p(i,s)+f'
k p(s,j)における中継点sは1点に限るものではない。なお、pは部分集合、kは複数の閾値R
kに対応する。
次に、ステップS207aにて、近似測地距離算出部106aは、閾値Rkごとに、各部分集合pにおける測地距離マトリクスgk p(i,j)を統合することで部分集合をまたがる近似的な測地距離を算出する。具体的には、ステップS204にて設定された共有点を用いて、以下のように統合処理を行う。
ここで、cは共有点であり部分集合pおよび部分集合qの両方に属する移動軌跡である。つまり、複数の部分集合間で重複している移動軌跡である。なお、共有点は、必ずしも2つの部分集合に属するものではなく、3つ以上の部分集合に属しても構わない。また、iとhは、それぞれ異なる部分集合pおよびqに属する移動軌跡である。なお、共有点cは、図5に示した例のように1点に限るものではない。
は、少なくとも1つ以上の共有点cについて、上記式42を計算し、その中で最小値を選択する関数である。ここでは、部分集合pとqの2つの組に限定されるものではなく、2つ以上の部分集合間をまたがる測地距離を算出することができる。もちろん、上記式22に示したように、各閾値に対してそれぞれ共有点間を接続する計算を行っても構わない。
次に、ステップS208aでは、領域抽出候補生成部1401にて、それぞれの閾値Rkに対応する統合した測地距離マトリクスgk(i,j)を用いて、不連続点を検出することによってクラスタリングを行う。ここでは、gk(i,j)が無限大となる移動軌跡iと移動軌跡jの間が不連続点である。複数の閾値Rkに対して得た測地距離変換の結果の例を図17(a)〜図17(e)を用いて説明する。ここで、図17(a)は、移動軌跡a〜hを示し、図17(b)は、図17(a)に示した移動軌跡a〜hを表現する多次元空間の概念図である。なお、移動軌跡の数を8本(移動軌跡a〜h)としたが、実際には、各画素に対応する移動軌跡を用いてもよいし、ブロック単位で求めた移動軌跡を用いてもよい。ここで、図17(b)に示される移動軌跡を表現する多次元空間における1点が、それぞれ式2に示した一つの移動軌跡に対応する。すなわち、1枚のピクチャ上の領域だけではなく時間的に異なる複数枚のピクチャに渡って画素を追跡した結果である。さらに、多次元空間上で、点と点との距離は、ベクトル間のユークリッド距離ではなく、測地距離に対応する。
閾値Rkが十分に大きな値である場合、例えば、fp(i,j)の最大値よりも閾値Rkが大きい場合には、図17(c)に示すように測地距離gk(i,j)は、すべてのi,jの組合せにおいて無限大にならない。すなわち、不連続点が1点もないためクラスタは1個と判断できる。一方、閾値Rkが十分に小さい場合、具体的には、fp(i,j)の最小値よりも閾値Rkが小さい場合には、すべてのi,jの組合せにおいてgk p(i,j)が無限大となる。すなわち、クラスタ数は移動軌跡の数と同数となる。ここでは、閾値Rkをfp(i,j)の最大値と最小値の間の値に設定して、それぞれクラスタリングを行うことが効率的である。図17(d)に示されるクラスタリングの例について説明する。ここでは、閾値をR1として設定した場合に、近似測地距離算出ステップ(S207a)で求めた測地距離g1(e,f)は無限大となる。そこで、移動軌跡eと移動軌跡fとの間を不連続点と判定する。この結果、移動軌跡aからdと移動軌跡eとの測地距離は不連続点を通らないため無限大の値を取らず、逆に移動軌跡fからhの各移動軌跡と移動軌跡aからeの各移動軌跡との測地距離は、不連続点g1(e,f)を通るためそれぞれ無限大となる。このように、測地距離が無限大とならない移動軌跡iと移動軌跡jの組は同じクラスタとし、無限大となる場合は別のクラスタとする。これによって、図17(d)のようにθ1、θ2の2つのクラスタに分離することができる。さらに、図17(e)に示すように、閾値をR2(ただし、R1>R2)とした場合に、近似測地距離算出ステップ(S207a)で算出した無限大となる測地距離は、g2(c,d),g2(e,f),g2(f,g)であったとする。この場合には、それぞれ、移動軌跡cと移動軌跡dとの間、移動軌跡eと移動軌跡fとの間、移動軌跡fと移動軌跡gとの間が不連続点であると判定し、図17(d)に示されるクラスタリングの場合と同様に測地距離が無限大となる組と無限大にならない組とを整理して、θ1、θ2、θ3、θ4の合計4つのクラスタに分離する。以上の処理によって、測地距離が無限大とならない移動軌跡の組は連続とすることで同じクラスタと判定することができ、測地距離が無限大となる移動軌跡の組は不連続とすることによって、不連続点をもとにクラスタを分離することができる。
つまり、領域抽出候補生成部1401は、動き解析部102で算出された複数の移動軌跡のそれぞれについて、当該移動軌跡との距離がN番目に小さい距離を特定し、特定した複数の距離について大きい順から選択した複数の値を、複数の領域抽出候補を生成するための複数の閾値として生成してもよい。
次に、ステップS1501にて、領域抽出候補選択部1402は、ステップS208aで行った複数のクラスタリング結果から、あらかじめ設定したクラス数(あるいは、外部から指示されたクラス数)に最も近いクラスタ数となったクラスタリング結果を選択する。図17(a)〜図17(e)に示される例で説明すると、クラス数M=4と設定した場合には、閾値R2の時のクラスタリング結果(図17(e))が選択される。また、クラス数M=2と設定した場合には、閾値R1の時のクラスタリング結果(図17(d))が選択され、出力部108にて、各移動軌跡にラベル付けした結果を出力する。
なお、本第3変形例では、移動軌跡に対して上記式3もしくは上記式4のような距離を計算することによって、画素の位置と動きの類似性とを考慮した領域抽出が可能になる。そのため、図17に示されるクラスタリングの例では、クラス数M=2と設定した場合には、下半身の動きが上半身の動きと大きく異なることが反映されて、上半身と下半身とが別々のクラスタとして領域抽出でき、クラス数M=4と設定した場合には、M=2の場合に加えて、頭部の動きと腕の動きの違い、上腿と下腿との動きの違いが反映され、頭部、腕、上腿(じょうたい)、下腿(かたい)を別々のクラスタとして領域抽出することができる。なお、ここでは、閾値の数は2個に限るものではなく、何種類用意してもかまわない。また、設定したクラス数と同数のクラスタリング結果がない場合には、最も近いクラスタ数となったものを選択してもよいし、設定したクラス数よりも小さいクラス数の中から一番近いクラスタ数となったクラスタリング結果を選択してもよいし、同様に、設定したクラス数よりも大きいクラス数の中から一番近いクラスタ数となったクラスタリング結果を選択してもよい。さらには、複数のクラス数を設定して処理を行うことによって、図17(d)及び図17(e)に示されるクラスタリング例のように、図17(d)で上半身として抽出された領域は、図17(e)では、頭部、腕として抽出することができる。すなわち、階層的な領域抽出を行うことも可能になる。これにより、被写体の構造を反映した領域抽出も可能になるという効果があるため、例えば、スポーツにおける動作や歩行を解析する場合に、クラス数によって、詳細なパーツの分析から、例えば領域重心の移動や、上半身のみの動き分析などの粗い被写体の動き分析をも同時に行うことが可能になる。
さらに、本方法は、同様の方法によって、一つの移動体のボディパーツの検出、領域抽出だけでなく、複数人が存在するシーンにおいて、それぞれの移動体を検出、領域抽出することも可能である。
このように、複数の閾値に対して、測地距離を用いて算出した不連続点をもとにクラスタリングを行い、規定したクラス数に最も近いクラスタリング結果を選択することによって、結果として検出及び領域抽出を行うことができる。
以上のようにして、本第3変形例における移動体検出装置100aによれば、画素間の距離あるいは移動軌跡の類似性に基づいてクラスタリングを行うことによって、類似する移動軌跡がまとめられて領域抽出が行われるので、距離が近く、かつ類似する動きをする部位が一つの領域として認識され、動画像中を移動する物体の領域を時間的に追跡した結果として、関節物体の姿勢によらずに、動画像中の移動体もしくは、移動体の部位の検出、移動体を含む画像の領域抽出をすることができる。また、前処理として人物候補領域を設定する必要がなく、さらに、あらかじめ抽出すべき移動体に関する形状情報等の事前情報を保持、または学習しておく必要がない。また移動軌跡の類似性に基づいて複数の閾値を用いてクラスタリングを行うため、画像中でさまざまな大きさの移動体が存在する場合や、移動体の一部が隠れている場合に特に問題となる人物候補領域の検出ミス、それに起因する領域抽出の失敗がない。
以上のようにして、形状が変化しながら移動する人物等の移動体を含む画像に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態1の第4変形例)
次に、本発明の実施の形態1の第4変形例における移動体検出装置について説明する。ここでは、実施の形態1において移動体を検出及び部位を領域抽出した結果を画像として表示する機能を付加した例について説明する。このような第4変形例に係る移動体検出装置100bは、図18に示す構成図のように、基本的には実施の形態1と同じ構成を備えるが、実施の形態1における出力部108に代えて、画像表示部1701を有する出力部108aを備え、この特徴により、領域抽出部107によって抽出した領域を画像としてモニタ等に表示することが可能である。
出力部108aは、実施の形態1における出力部108の機能に加えて、画像表示部1701を有する。この画像表示部1701は、領域抽出部107で得られた領域抽出の結果を、画像入力部101で受け付けた動画像(ピクチャ)に重ねて表示する処理部であり、例えば、LCD等のディスプレイ及びその表示制御部からなる。図19(a)及び図19(b)は、画像表示部1701による表示例を示す図である。ここでは、図19(a)に第3変形例で抽出した結果である、M=3として移動体をそれぞれ領域抽出した例を、図19(b)にM=8として、1つの移動体の領域抽出を行った例を示す。このように、領域θmに対応する画像上での領域を色分け等して、抽出された領域をそれぞれ区別できるようにしてモニタ等に表示する。図19(a)のように移動体ごとに色分けして表示してもよいし、図19(b)のように、部位ごとに別個に表示してもよい。つまり、図19から分かるように、本変形例に係る移動体検出装置100bは、上述した領域抽出によって、複数の移動体を検出することもできるし(図19(a))、一つの移動体を構成する複数の部分を検出する、つまり、一つの移動体に対して領域を抽出することもできる(図19(b))。
ここで、上記式2に示した移動軌跡iは、アウトライアを除いて領域θmのいずれかに対応する。そのため、領域θmに属する移動軌跡iに基づいてピクチャ上の画素を選択し、領域ラベルmに基づいて色分け等を行えば容易に抽出した領域を画像上に表示することができる。これによって、本第4変形例における移動体検出装置100bによれば、実施の形態1で説明した、形状が変化しながら移動する人物等を含む動画像に対しても正しく領域抽出できるという効果に加えて、抽出した領域を動画像上に表示することで、ユーザがそれぞれの移動体もしくは移動体の部位、さらにはその動きを区別しやすくなるという効果がある。また、他の方法として、画像表示部の代わりに、領域が規定の数以上抽出された場合に、画像表示の代わりに、音によって抽出したことを知らせる警報部を設けても良いし、さらには、警報部と画像表示部とを組合せることも可能である。
(実施の形態1の第5変形例)
次に、本発明の実施の形態1の第5変形例における移動体検出装置について説明する。ここでは、実施の形態1において移動体を検出及び部位を領域抽出した結果をそれぞれ抽出した領域ごとに記録・送信する機能を付加した例について説明する。このような第5変形例に係る移動体検出装置100cは、図20に示す構成図のように、基本的には実施の形態1と同じ構成を備えるが、実施の形態1における出力部108に代えて、記録・送信部1901を有する出力部108bを備える。
出力部108bは、実施の形態1における出力部108の機能に加えて、記録・送信部1901を有する。この記録・送信部1901は、領域抽出部107での領域抽出の結果に基づいて、画像入力部101で受け付けたピクチャにおける領域を特定し、特定した領域ごとに、対応する領域抽出の結果を、内蔵又は外付けのメモリやハードディスク等の記録媒体に記録(あるいは、自ら保持)する、又は、通信インターフェース及び伝送路等を介して外部に送信する処理部である。つまり、この記録・送信部1901は、画像表示の場合と同様に、領域抽出した結果画像を領域ラベルθmに応じてそれぞれ別々に記録・送信する。また、各領域に属する動き情報を以下のように平均化することで、動き情報を圧縮することも可能である。通常であれば画素ごとに動き情報を保持する必要があるが、以下の処理を行えば1つの領域に対して1つの動きを保持するだけでよい。例えば、動き情報として画素iの動きベクトル(ui t,vi t)を用いた場合には、以下のように抽出された領域ごとに平均化した動き情報を計算することができる。
ここで、C
mは、領域θ
mに属する画素数もしくは移動軌跡の数である。
は、それぞれ、領域θ
mに属する画素の動きベクトルである。図21に、図19(a)の処理結果について時刻Tからt枚の画像を入力として領域抽出を行い、その結果を用いて、セグメント領域を記録、送信する場合のデータ構造例を示す。識別子として各領域ラベルθ
mと、各領域ラベルθ
1からθ
3に属する時刻Tにおけるピクチャの画素位置と画素値、そして、各領域ラベルに対応する時刻Tから時刻T+tまでの動きベクトルu
m T,v
m T,u
m T+1,v
m T+1,...,u
m T+t,v
m T+tを記録、送信する。もちろん、画像の画素位置と画素値を用いる代わりに、時刻Tにおける1枚のピクチャに対して、画素ごとに各領域ラベルを付けて送信してもかまわない。これにより、動き情報を領域数分送信するだけで済むために、ピクチャをt枚送信する場合と比べて、効率よく記録、送信することができるといった効果がある。特には、領域数が画素数に比べて少なければ少ないほど効率がよい。
なお、アフィン動きを用いて動き情報を圧縮する場合は、上記式43及び上記式44の代わりに、アフィン動きに基づいて移動した画素位置の平均値を計算するとよい。
以上のようにして、本第5変形例における移動体検出装置100cによれば、画素の動き情報を圧縮しながら領域の記録、送信が可能である。これによって、実施の形態1で説明した、形状が変化しながら移動する人物等を含む動画像に対しても正しく領域抽出できるという効果に加えて、それぞれの領域に対して1つの動き情報を用いることで高い符号化効率を実現できるという効果がある。
さらには、別途、セグメント領域復元部を設けることによって、送信、記録した情報を復元することも可能である。具体的には、図19(a)及び図19(b)に示した各領域ラベルに対応する画素位置と画素値から、時刻Tのピクチャを復元する。さらに、画素の移動軌跡情報を用いて、時刻Tの各画素を移動させることによって、時刻T+1からT+tのピクチャを復元することが可能である。ここで、固定カメラを用いる場合には、画素の移動軌跡情報が0でない情報のみを用い、さらにセグメント領域復元部にて背景画像をあらかじめ取得、保持しておくことで、復元した画像を背景画像に上書きしてもよい。これにより、効率よく送信、記録された情報を用いて、低計算量でピクチャとして復元できるといった効果がある。
(実施の形態2)
次に、本発明の実施の形態2に係る移動体検出装置及び移動体検出方法について説明する。
本実施の形態では、実施の形態1で説明した移動体検出方法を用いて、移動体を検出及び領域抽出を行った結果から、移動体の動きを予測する機能を付加した移動体検出装置について説明する。
図22は、実施の形態2における移動体検出装置100dの構成を示す図である。図22に示すように、本実施の形態における移動体検出装置100dは、画像入力部101、動き解析部102、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、領域抽出部107、出力部108cに、動き予測部2101を付加することによって、移動体の動きを予測する機能を有する。
動き予測部2101は、領域抽出した結果を入力とし、各領域に含まれる画素の移動軌跡から代表軌跡を算出し、前記代表軌跡をもとに移動体の動きを予測する。
出力部108cは、実施の形態1における出力部108の機能に加えて、動き予測部2101で予測した移動体の位置や移動体部位の位置に関する情報を出力する。
図23に実施の形態2による処理のフローチャートを示す。ステップS201からS208までは、実施の形態1と同様であるため説明を省略する。
ステップS2201では、動き予測部2101は、ステップS208で行った領域抽出結果を用いて、以下のようにクラスタの代表点及びその代表軌跡を求める。
ここで、領域θmに属する画素の移動軌跡を
と表現することとする。次式のように、動き予測部2101は、クラスタ領域θ
mごとに代表の移動軌跡を求める。ここでは、代表の移動軌跡として、平均移動軌跡を算出する例について説明するが、下記の計算に対して画素の移動軌跡
ごとに重み付け等を行ってもよいし、画像上でのクラスタの重心に対応する画素の移動軌跡を代表の移動軌跡としてもよい。
ここで、C
mは、領域θ
mに属する画素数もしくは画素の移動軌跡の数である。
図24に上記式45に基づいてクラスタ領域θmごとに代表の移動軌跡を求める例を示す。ただし、見やすさを考慮して、本図では、頭部に対応するクラスタ領域θ1と脚部に対応するクラスタ領域θ8に関する代表の移動軌跡のみを示している。図中の×は、それぞれ時刻tに対応する
の要素であり画素位置を示している。さらに、上記式3や上記式4に示したように、非線形空間上でのクラスタリングによる領域抽出は、画素動きの類似性を考慮して行われるため、単純に近接した画素の移動軌跡の時間平均を求めるような方法と比較して、動きが類似した画素の移動軌跡のみを用いて算出できるため、より高精度に代表の移動軌跡を求めることができる。このように、クラスタ領域ごとに代表の移動軌跡を求めることによって、部位ごとの動きを正確かつ簡便に表現することができる。
次に、ステップS2202では、動き予測部2101は、ステップS2201にて算出した代表の移動軌跡から、時刻Tより先の時刻における移動体の位置を予測する。その具体例として、初めに、代表の移動軌跡から加速度を算出し、T+1以降の移動体の位置を予測する例について説明する。3枚以上の時系列画像が入力された場合は、次式のように代表の移動軌跡
ここで、u
m tは動きベクトルであり、次式のように表すことができる。
上記式46の加速度ベクトルを用いて、動き予測部2101は、図24にて破線の矢印及び○で示したように、移動体の部位ごとに、時刻T+t'における移動体の部位位置pos
m(T+t')を以下のように予測することができる。ここでは、移動体の部位を例として挙げたが、図19に示した検出例から、次式のように移動体ごとの位置を予測することも可能である。
そして、出力部108cにて、ステップS2202で予測した移動体の位置や移動体部位の位置を出力する。これにより、加速度を加味した予測が可能である。動きが急激に早くなったり、急激に止まったりといった場合に、その加速度を反映して移動体の位置を予測することができるといった効果がある。また、動きベクトルの代わりにアフィンパラメータを用いてもかまわない。アフィンパラメータは、回転運動を含む動きの表現が可能であり、腕あるいは足の回旋運動の表現に適しているため、特に関節物体の位置をより正確に予測することができる。
さらに、前述した動きベクトルと加速度の代わりに、代表の移動軌跡xmに対して直接N次関数をフィッティングすることも可能である。T枚の時系列に並んだ画像を入力とした場合、
に含まれるT個の画像上での位置情報に対してN次の関数でフィティングすることができる。これにより、フィッティングした関数の値に沿うように、時刻(T+t')における画像上での位置pos
m(T+t')を推定することが可能である。具体的には、関数でフィッティングすることによって、より滑らかな動きを表現することが可能となるため、より高精度な予測が可能となる。特には、フィッティングした関数に沿った予測が可能であるため、フィッティングした関数が本来の動きが近い場合に動き予測の精度が高い。もちろん、これらの画像上での位置予測は、時間的内挿にも利用可能である。
以上のように、本実施の形態における移動体検出装置100dによれば、動きが類似した画素の移動軌跡を同一のクラスタとして算出できるため、高精度に代表の移動軌跡を求めることができる。特に関節物体等に対して部位ごとの動きを表現することが可能であり、前処理として人物候補領域を設定することなく、高精度に移動体の部位位置を予測することが可能であるという効果がある。
(実施の形態3)
次に、本発明の実施の形態3に係る移動体検出装置及び移動体検出方法について説明する。
本実施の形態では、実施の形態1で説明した移動体検出方法を、複数のカメラ映像に対して移動体を検出及び領域抽出を行う場合に拡張した移動体検出装置について説明する。
図25は、実施の形態3における移動体検出装置100eの構成を示す図である。図25に示すように、本実施の形態における移動体検出装置100eは、複数カメラ画像入力部2401を有する画像入力部101a、動き解析部102a、領域分割部103a、距離計算部104a、測地距離変換部105b、近似測地距離算出部106b、領域抽出部107b、出力部108dからなる。なお、本実施の形態における移動体検出装置100eは、基本的には、実施の形態1と同じ機能を有する。以下、実施の形態1と異なる点を中心に説明する。
画像入力部101aは、実施の形態1における画像入力部101の機能に加えて、複数カメラ画像入力部2401を有する。この複数カメラ画像入力部2401は、図26(a)及び図26(b)に示すように、複数のカメラからの映像であって、かつ、撮影領域が一部重複した映像の入力を受け付ける処理部であり、例えば、ビデオカメラ、あるいは、ビデオカメラと接続された通信インターフェース等である。なお、複数カメラ画像入力部2401に入力される映像の撮影条件としては、図26(a)及び図26(b)に示されるようなカメラ配置や個数を限定するものではなく、カメラ映像間で重複撮影領域が設定されるように配置されていればよい。
動き解析部102aは、複数カメラ画像入力部2401で受け付けたそれぞれのカメラから得られたピクチャを構成する1個以上の画素からなるブロックごとに実施の形態1と同様に移動軌跡を算出する処理部である。また、複数のカメラ画像を重複撮影領域をもとに統合して、1つの画像としても構わない。その場合は、統合した画像を1つの画像として実施の形態1と同じ方法により処理を行うことができるので、以下の説明は省略する。
領域分割部103aは、重複撮影領域における移動軌跡の少なくとも1つを共有点として設定する処理部である。ここでは、領域分割部103aは、カメラpから得られた画像から得られる移動軌跡が部分集合pに対応するように、複数のカメラの動画像のそれぞれについて算出された複数の移動軌跡を、分割された複数の部分集合として記憶する。なお、各カメラ画像を実施の形態1と同様に部分集合に分割しても構わない。この場合の処理については、実施の形態1と同じであるので、以下の説明を省略する。
距離計算部104aは、各カメラから得られた画像から算出された移動軌跡について、それぞれ複数の移動軌跡間の類似性を表す距離を算出する処理部である。移動する物体の形状変化を捉えるために、動き解析部102aで算出した前記部分集合に含まれるブロックiの移動軌跡と、i以外の前記部分集合に含まれるブロックの移動軌跡とを用いて、ブロックの動きの類似性を表す距離を算出する処理部である。例えば、N個のブロックの移動軌跡を用いた場合、算出される距離はN×Nの距離マトリクスとなる。ここでは、ブロックの動きの類似性を評価する距離を計算することによって、ブロック間の距離が動きによって変化する移動体、特に、関節物体のように形状が変化しながら移動する人物等の物体の動きを距離マトリクスとして表現することが可能である。
測地距離変換部105bは、距離計算部104aで算出した各カメラ画像に対応する部分集合における距離マトリクスに対して、それぞれ測地距離変換を行う処理部である。
近似測地距離算出部106bは、測地距離変換部105bで算出された各部分集合、つまり各カメラ映像に対応する部分集合における測地距離マトリクスを共有点を用いて統合することによって、部分集合間、つまりカメラ映像間をまたがる近似的な測地距離を算出する処理部である。
領域抽出部107bは、近似測地距離算出部106bで算出された近似的な測地距離に基づいて、類似する移動軌跡をもつブロックから構成される領域を特定することによって、領域抽出をする処理部である。
出力部108dは、実施の形態1における出力部108の機能に加えて、領域抽出部107で行った複数のカメラ画像を統合して領域抽出、つまり被写体の検出を行った結果を出力する。
以下に、本発明の移動体検出方法、つまり移動体検出装置100eの動作として、図27のフローチャートを用いて移動する移動体を検出、領域抽出する例について説明する。
まず、ステップS201bにて、複数カメラ画像入力部2401は、図26(a)及び図26(b)に示すように複数のカメラからそれぞれ複数枚のピクチャを受け付ける。
次に、ステップS202bにて、動き解析部102aは、それぞれのカメラから得られた少なくとも2枚のピクチャからブロックの動きを算出する。ここでの処理は、各カメラから得られたピクチャに対してそれぞれ実施の形態1のステップS202の処理を行えばよいため、説明を省略する。
次に、ステップS203bにて、動き解析部102aは、ステップS202bで算出した動き情報を用いて実施の形態1で説明したステップS203と同じ処理を行うことで、カメラ画像ごとに上記式2に示した移動軌跡を算出する。実施の形態1と異なるのは、複数のカメラ映像に対して、それぞれステップS203の処理を行う点であるため、以下の説明を省略する。なお、便宜上、各カメラ画像から得られた移動軌跡を区別するため、上記式2を以下の式49のように書き換える。
ここで、p_iは、各カメラpから得られた画像の移動軌跡iである。
次に、ステップS204bにて、領域分割部103aは、図28(a)及び図28(b)に示すように、カメラ画像に応じてP個の部分集合とする。ここで、部分集合とは、各カメラ画像にから得られた移動軌跡の集合である。なお、図28(a)は図26(a)に、図28(b)は図26(b)にそれぞれ対応する。この時、例えば、図28(a)に示すように、領域分割部103aは、カメラ画像2701とカメラ画像2702において、重複撮影領域2703上に共有点2704を設定する。もちろん、本発明は、図28(b)に示すように、カメラの数は2個に限定されるものではなく、カメラ画像2710〜2713において、それぞれの重複撮影領域2703上に共有点2704を設定してもよい。ここで、重複撮影領域とは、複数の異なる位置に置かれたカメラから少なくとも一部、同一の場所が撮影されている場合における、画像上での領域である。さらに、共有点は、前記重複撮影領域上に少なくとも1点以上設定すればよい。以下の処理は、複数のカメラpから得られた画像およびそれに対応する移動軌跡を分割した部分集合pと考えて処理を行えばよい。以下、実施の形態1のステップS204と同じ処理を行えばよいため、説明を省略する。
次に、ステップS205bにて、距離計算部104aは、ステップS204bにてカメラpで得られた画像ごとに計算された移動軌跡を部分集合pに属する移動軌跡と考えて、距離マトリクスを算出する。本ステップにおける以降の処理は、複数のカメラpから得られた画像およびその移動軌跡を実施の形態1で分割した部分集合pと考えて処理を行えばよい。以下、実施の形態1のステップS205と同じ処理を行えばよいため、説明を省略する。
次に、ステップS206bにて、測地距離変換部105bは、ステップS205bにてカメラpで得られた画像ごとに計算された移動軌跡を部分集合pと考えて、測地距離を計算する。本ステップにおける以降の処理は、実施の形態1のステップS206と同じであるため、説明を省略する。
次に、ステップS207bにて、近似測地距離算出部106bは、ステップS206bにてカメラpで得られた画像ごとに計算された測地距離マトリクスを統合する。ここでは、図28に示したように重複撮影領域上の共有点を用いて、実施の形態1のステップS207と同じ処理を行えばよい。そのため、説明は省略する。
次に、ステップS208bにて、領域抽出部107bは、近似測地距離算出部106bで統合した測地距離を用いて、不連続点を検出することによって類似する移動軌跡をもつブロックから構成される領域を特定することによって領域抽出を行う。ここでの処理についても、実施の形態1のステップS208と同じ処理を行えばよいため、説明を省略する。
以上のようにして、実施の形態3における移動体検出装置100eによれば、複数のカメラ画像を入力として、形状が変化しながら移動する人物等の移動体を含む画像や、異なるカメラ画像間をまたがるように移動する移動体に対しても、移動体の姿勢あるいは大きさの影響を受けずに、高速かつ正しく領域抽出、つまり移動体検出を行うことができる。
(実施の形態4)
次に、本発明の実施の形態4に係る移動体検出装置及びその方法の応用例であるデータ分類装置及びその方法について説明する。
図29は、実施の形態4におけるデータ分類装置2800の構成を示す図である。図29に示されるように、このデータ分類装置2800は、ベクトルデータ入力部2801、領域分割部103、距離計算部104、測地距離変換部105、近似測地距離算出部106、データ分類部2802、出力部2803を備える。ここでは、上述した移動軌跡等の多次元のベクトルデータを入力として、そのデータを分類する。
ベクトルデータ入力部2801は、ベクトルデータを受け付ける処理部である。ベクトルデータは、例えば、ステレオカメラやCG等から得られた3次元位置を示すデータであってもよいし、その時間変化を表すデータであってもよい。
領域分割部103は、ベクトルデータ入力部2801で得られた多次元ベクトルについて、実施の形態1の第1変形例と同じように、多次元ベクトルの空間上でP個の部分集合に分割するとともに、分割された複数の部分集合の一つ(例えば、隣接する部分集合に対して、当該部分集合の少なくとも一方)に含まれる一部のベクトルデータを共有点として設定する。
以下、距離計算部104、測地距離変換部105、近似測地距離算出部106の構成は、実施の形態1および実施の形態1の第1変形例と同じであるため、説明を省略する。つまり、これらの実施の形態及び変形例においては、処理対象のデータが「移動軌跡」であったが、本実施の形態では、処理対象のデータが「ベクトルデータ」である点だけが異なり、各処理部での処理内容は同一である。
データ分類部2802は、実施の形態1における領域抽出部107と同様に、類似する多次元ベクトルデータをクラスタリングすることによって、データを分類する。ここでは、距離計算部104で算出した距離マトリクスを用いて、測地距離変換部105、近似測地距離算出部106にて得られた近似的な測地距離から、多次元ベクトル間の距離の分布における不連続性を検出し、検出した不連続点よりも小さい距離だけ離れた多次元ベクトルどうしが一つのクラスタとなるように、不連続点をもとにそれぞれ連続的に分布する多次元ベクトルをクラスタリングすることによって、多次元ベクトルデータを分類する。データ分類部2802での結果は、出力部2803によって、メモリやハードディスク等へ書き込まれたり、ディスプレイパネル等に表示されたりする。
なお、本実施の形態におけるデータ分類装置についても、移動体検出装置と同様に、各構成要素のうち、ディスプレイ装置等の入出力装置を除く構成要素については、図2に示されるコンピュータ1002で実行されるプログラム及びデータ(つまり、ソフトウェア)で実現してもよいし、電子回路、メモリ及び記録媒体等のハードウェアで実現してもよいし、それらの混在で実現してもよい。
以下に、本発明のベクトルデータの分類方法、つまり、データ分類装置2800の動作として、図30のフローチャートを用いて多次元ベクトルデータを分類する例について説明する。
まず、ステップS2901にて、ベクトルデータ入力部2801は、複数のベクトルデータを受け付ける。ここで、ベクトルデータとは、上記式2に示すような複数の要素からなる多次元ベクトルであれば何でもよい。
ステップS204からステップS208までは、実施の形態1の第1変形例において、移動軌跡を多次元ベクトルデータとして処理を行えばよい。
このように、本実施の形態4におけるデータ分類装置2800によれば、移動軌跡だけでなく、例えばレンジファインダやステレオカメラから得られた3次元位置を表すデータを多次元ベクトルとして入力すれば、3次元位置に基づいて3次元の被写体を分類することもできる。さらに、入力としての多次元ベクトルデータは、多次元尺度構成法で分析可能なベクトルデータであれば何でもよく、測地距離変換を行うことで、非線形性の高いデータに対しても分類がより高精度になり、かつ高速に処理ができるという効果がある。
(実施の形態1の補足)
ここでは、実施の形態1で説明した方法を用いた場合に、領域抽出可能な移動体の性質について補足する。図31(a)〜図31(c)に実施の形態1の方法を用いた場合に分離可能な図形の一例を示す。実施の形態1の方法を用いることで、それぞれ図形θ1と図形θ2とに領域抽出することが可能である。ここでは、図31(a)から図31(c)に示したそれぞれの図形θ1と図形θ2の移動方向は、同一であっても、異なっていてもかまわない。ただし、図形θ1に属する画素はすべて同じ動きであり、かつ図形θ2に属する画素はすべて同じ動きであることが条件である。
実施の形態1におけるステップS205およびS207では、図6に示したような特徴を持つ測地距離変換を行う。これによって、通常のユークリッド距離とは異なり、移動軌跡から移動軌跡を辿(たど)った距離を算出することができるという特徴がある。そのため、図31(a)から図31(c)に共通するように湾曲した形状に対して、その形状に沿った距離を算出することができる。
さらに、ステップS208では、測地距離が無限大となる移動軌跡と移動軌跡の間を不連続点としてクラスタリングを行う。このため、移動軌跡と移動軌跡の間に閾値以上の距離がある場合には、その不連続点をもとに、それぞれ図形θ1と図形θ2とを領域抽出することが可能である。
以上のように、本実施の形態を用いれば、湾曲した形状を含む移動体でかつ一定の不連続点がある場合に、不連続点をもとに領域を抽出することが可能である。
一方で、ステップS205およびS207の処理を行わない場合には、図形θ1に属する移動軌跡と図形θ2に属する移動軌跡との距離がユークリッド距離で算出されるため、図6で説明した場合と同様に、点iと点jの距離は、点iと点kの距離より大きくなる。すなわち、同一クラスに属している点間の距離が別クラスに属している点間の距離よりも大きくなる。さらに、ステップS205の処理にて、測地距離変換を行わないとデータを辿(たど)る処理を行わないために、隣接する移動軌跡と移動軌跡の間が不連続か連続かを判断することができない。そのため、図31に示すような例では、湾曲した形状を含む移動体でかつ一定の不連続点がある場合に、不連続点をもとに領域を抽出することは難しい。
よって、実施の形態1では、このような測地距離を用いたクラスタリングにより、直線的な距離であるユークリッド距離を用いたクラスタリングに比べ、移動軌跡間の類似性に関する連続性を考慮したクラスタリングが行われ、入り組んだ複雑な関係の領域どうしであっても、同一の物体(又は部位)に属するか別個の物体(又は部位)に属するかが確実に弁別される。
以上、本発明に係る移動体検出装置及びその方法、データ分類装置及びその方法について、実施の形態及びその変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。本発明の趣旨を逸脱しない範囲で、各実施の形態に対して当業者が思いつく各種変形を施して実現される形態や、各実施の形態及び変形例における構成要素を任意に組合せて実現される形態も本発明に含まれる。
たとえば、実施の形態1の第4変形例に対して、同第5変形例における記録・送信部1901及び実施の形態2における動き予測部2101を追加して構成される移動体検出装置も本発明に含まれる。
また、本発明に係る移動体検出装置は、上記実施の形態における領域分割部に代えて、図32に示される移動体検出装置103fが備える領域分割部103bを備えてもよい。この領域分割部103bは、実施の形態1における領域分割部103の機能に加えて、動き解析部102によって算出された移動軌跡を複数の部分集合に分割する処理を支援する2つの処理部(手動設定部1031、自動設定部1032)を有する。
手動設定部1031は、画像入力部101が受け付けたピクチャに対してユーザが指定した空間分割に従って、動き解析部102によって算出された移動軌跡を複数の部分集合に分割する。たとえば、手動設定部1031は、ユーザがマウス等を用いて、ピクチャ上で、移動体が存在する(あるいは、移動する)と予想される領域を指定すると、その領域を、一つの部分集合(つまり、その領域に含まれるブロックに対応する移動軌跡を一つの部分集合)に分割する。例えば、移動体の動線が通路に沿っている場合等には、その通路が一つの領域になるようにするとよい。
一方、自動設定部1032は、動き解析部102によって算出された移動軌跡を、ユーザの入力を介さずに、自動で、複数の部分集合に分割する。たとえば、自動設定部1032は、動き解析部102で検出された動きを参照し、予め設定された閾値を超える大きさの動きをもつ領域が一つの領域となるようにし、その他の領域を複数の部分集合に分割することで、上記移動軌跡を複数の部分集合に自動分割する。また、動き解析部102で検出された動きを時間的に累積して、累積値の大きい領域を一つの領域となるようにしてもよい。
例えば、監視システム等における固定されたカメラ(パン、チルト、ズームを含む)においては、撮影領域が予め分かっている。そのため、画像上において移動体が通る領域も予め特定することができる場合が多い。このような時に、特に検出精度の低下を防ぐことができるという効果がある。
このような領域分割部103bにより、移動体が存在する領域が複数の部分集合に分割されてしまうことによって、測地距離計算の精度が下がる危険性を回避することができるため、移動体の検出精度の低下を防ぐことができる。