<第1の実施の形態>
本発明の第1の実施の形態について図面を参照して詳細に説明する。まず、図2を参照して、本発明の物体追跡システム(単にシステムとも呼ぶ)の全体構成について説明する。図2は、本実施の形態に係る物体追跡システム1の全体構成の概略の一例を示す図である。図2に示す通り、本実施の形態に係る物体追跡システム1は、物体追跡装置10と、複数のカメラ(20−1〜20−N(Nは自然数))と、1以上の表示装置30とを備えている。なお、本実施の形態では、複数のカメラ(20−1〜20−N)の夫々を区別しない場合、または、総称する場合には、これらをカメラ20と呼ぶ。
物体追跡装置10、カメラ20および表示装置30は、ネットワーク40を介して互いに通信可能に接続されている。なお、表示装置30は、物体追跡システム1に含まれていなくてもよい。また、表示装置30は、ネットワーク40を介さず、物体追跡装置10に直接接続される構成であってもよい。
カメラ20は、物体を検知するセンサとして機能する。なお、本実施の形態では、物体を検知するセンサとして、カメラ20を用いた場合を例に説明を行うが、本発明はこれに限定されるものではない。センサは、カメラに限らず、電波センサなど、位置測位が可能なものであればよい。また、電波センサとカメラとが一体となったセンサのように複数のセンサが混在するものを用いてもよい。センサとして、カメラ20を用いることにより、物体追跡装置10は、色などの視覚的な情報をより好適に取得することができる。
また、本実施の形態では、センサが取得する情報とは、カメラが撮影した映像であるとして、説明を行うが、センサが電波センサの場合、センサが取得する情報は、該電波センサによって取得される電波である。
物体追跡装置10は、複数のカメラ20の夫々で撮影された映像に含まれる物体を追跡する装置である。なお、物体追跡装置10の機能構成については、図面を変えて説明する。
表示装置30は、物体追跡装置10によるオブジェクトの追跡結果を表示する。なお、表示装置30は、カメラ20が撮影した映像を表示するものであってもよい。また、表示装置30は、動線情報などのその他の情報を表示するものであってもよい。
(物体追跡装置10)
次に、物体追跡装置10の機能について説明する。図1は、本実施の形態に係る物体追跡装置10の機能構成の一例を示す機能ブロック図である。図1に示す通り、物体追跡装置10は、複数の検出部(100−1〜100−N)と、統合追跡部200とを備えている。なお、本実施の形態では、複数の検出部(100−1〜100−N)の夫々を区別しない場合、または、総称する場合には、これらを検出部100と呼ぶ。
(検出部100)
検出部100は、後述する統合追跡部200から出力される追跡情報であって、物体(オブジェクト)を検出する対象のフレームの前フレームにおけるオブジェクトの追跡情報に基づいて、カメラ20の出力情報からオブジェクトを検出する。ここで、本実施の形態において、カメラ20の出力情報とは、カメラ20が撮影した映像を示す映像データを示す。
本実施の形態では、複数の検出部100と複数のカメラ20とは一対一で対応付けられているものとする。例えば、検出部100−1は、カメラ20−1が撮影した映像からオブジェクトを検出し、検出部100−2は、カメラ20−2が撮影した映像からオブジェクトを検出する。なお、本実施の形態はこれに限定されるものではなく、例えば、検出部100−1は、カメラ20−Nが撮影した映像からオブジェクトを検出してもよい。
また、カメラ20と検出部100とが一対一で対応付けられていなくてもよい。例えば、検出部100−1は、複数のカメラ20の夫々が撮影した映像からオブジェクトを検出してもよい。
以下、検出部100の動作について説明する。検出部100は、カメラ20から、カメラ20が撮影した映像を示す映像データ(以降、カメラ映像と呼ぶ)を受信する。図1では、カメラ20−n(nは、1〜N)が撮影した映像を示す映像データを、カメラ映像(n)と記載している。ここで、カメラ映像は、監視カメラ等のカメラ20で撮影した映像をリアルタイムで取得したものでもよいし、カメラ20で撮影した映像を一旦、図示しない記憶部等に蓄積しておき、それを後で復号(または再生)したものであってもよい。この映像データには、撮影された時間を示す時間情報が含まれている。
また、検出部100は、統合追跡部200から前フレームにおけるオブジェクトの追跡情報を受信する。なお、前フレームとは、オブジェクトを検出する対象となるフレーム(現時点のフレーム)の、直前のフレームであってもよいし、現時点のフレームから所定数前のフレームであってもよい。また、前フレームとは1つであってもよいし、複数であってもよい。なお、検出部100が最初のフレームに対するオブジェクトの検出を行う場合、前フレームにおけるオブジェクトの追跡情報は存在しないため、検出部100は、前フレームにおけるオブジェクトの追跡情報を受信しない(使用しない)。
検出部100は、受信したカメラ映像と前フレームにおけるオブジェクトの追跡情報とを用いて、該カメラ映像からオブジェクトの検出(オブジェクト検出と呼ぶ)を行う。なお、上述したとおり、最初のフレームに対してオブジェクト検出を行う場合、検出部100は、前フレームにおけるオブジェクトの追跡情報を使わずに検出を行う。なお、以下では、検出されたオブジェクトのことを、ターゲットと呼ぶ。即ち、オブジェクトの検出結果(オブジェクト検出結果、または、単に検出結果とも呼ぶ)は、ターゲットの集合となる。
オブジェクト検出結果は、ターゲット毎の、例えば、ターゲットの位置を表す情報、該ターゲットの大きさを表す情報等を含んでいる。具体的には、オブジェクト検出結果は、例えば、オブジェクトを検出した映像中のフレームにおける、ターゲットが占める領域(ターゲット領域)の外接矩形の情報、ターゲット領域の重心の座標値、ターゲットの幅を示す情報、ターゲットの高さを示す情報等を含んでいる。なお、オブジェクト検出結果は、これに限定されるものではない。例えば、オブジェクト検出結果は、ターゲット領域の重心の座標値に代えて、または、加えて、ターゲット領域の最上端の座標値や最下端の座標値等を含んでもよい。オブジェクト検出結果は、ターゲット毎に、ターゲットの位置および大きさ等を表す情報を含んでいればよい。
なお、本実施の形態では、オブジェクト検出結果は、ターゲット毎に、ターゲットの最下端の座標値と、ターゲットの外接矩形を示す情報とを含むことを例に説明を行う。なお、ターゲットの最下端の座標値とは、オブジェクトが床面(地面)と接する点の座標値および/またはオブジェクトの外接矩形の下辺の中点の座標値を示す。また、ターゲットの最下端の座標値とは、オブジェクトが人の場合には足元の座標値であってもよい。
そして、検出部100は、オブジェクト検出結果に含まれる座標値を、複数のカメラ20で撮影される空間(撮影空間)内で定義される共通の共通座標系における座標値に変換し、変換した座標値をオブジェクト検出結果とする。
また、オブジェクト検出結果は、上述した情報の他に、ターゲットの形状を表す情報を含んでもよい。つまり、オブジェクト検出結果は、ターゲット領域を表すシルエット情報などを含んでもよい。ここで、シルエット情報とは、ターゲット領域の内部の画素と外部の画素を区別する情報であり、例えば、内部の画素値を255、外部の画素値を0に設定した画像情報であったり、MPEG−7で標準化されているようなシェイプディスクリプタ(形状特徴量)をシルエット形状から抽出した値である。また、オブジェクト検出結果は、オブジェクトの外見の特徴量を含んでもよい。例えば、オブジェクト検出結果は、該オブジェクトの色、模様、形状などの特徴量も含んでいてもよい。
さらに、オブジェクト検出結果は、オブジェクト検出の確からしさ(確度)を表す尤度を記述する情報(ターゲットの尤度情報)をターゲット毎に含んでもよい。ターゲットの尤度情報とは、ターゲットの尤度の算出に必要な情報であり、オブジェクト検出時のスコアの値、検出されたオブジェクトのカメラからの距離、大きさなど、オブジェクト検出の確度に関連する情報である。また、検出部100は、ターゲットの尤度自体を算出し、算出した尤度をターゲットの尤度情報としてもよい。
そして、検出部100は、オブジェクト検出結果を統合追跡部200へ出力する。
(統合追跡部200)
統合追跡部200は、検出部100の夫々から出力された検出結果を受け取る。そして、統合追跡部200は、この各検出結果に基づいてオブジェクトを追跡する。具体的には、統合追跡部200は、検出部100の夫々が検出部100に紐付けられたカメラ20によって撮影された映像から検出した、1または複数のオブジェクトに対するオブジェクト検出結果を用いて、該オブジェクトを追跡する(オブジェクト追跡を行う)。そして、統合追跡部200は、共通座標系で表現されたオブジェクトの追跡結果(オブジェクト追跡結果)を生成する。このように、統合追跡部200は、各検出部100が、該検出部100に紐付けられたカメラ20によって撮影された映像から検出したオブジェクト検出結果を統合し、オブジェクト追跡を行う。そのため、統合追跡部200が行うオブジェクト追跡を、オブジェクト統合追跡とも呼ぶ。
以後、オブジェクト追跡結果として生成される、オブジェクト毎の情報をトラッカーと呼ぶ。つまり、トラッカーには、追跡されたオブジェクトの情報(オブジェクト追跡結果)として、追跡されたオブジェクトの位置を示す情報、該オブジェクトの運動モデル等が含まれるとするが本発明はこれに限定されるものではない。なお、追跡されたオブジェクトの位置は、オブジェクトの、現時点より前(過去)の位置であるため、オブジェクトの過去の位置とも呼ぶ。
つまり、オブジェクト追跡とは、オブジェクト検出で検出されたターゲットと、このターゲットの検出前に生成されたトラッカーとを対応付けることによって、フレーム間におけるオブジェクト同士を対応付けていく処理とみなせる。このオブジェクト追跡について、図3を参照して説明する。図3は、統合追跡部200によるターゲットとトラッカーとを対応付ける処理を説明するための図である。図3に示す通り、ターゲットの数をM個、トラッカーの数をK個とする(MおよびKは、0以上の整数)。統合追跡部200は、このM個のターゲットとK個のトラッカーとの間で対応付けを行う。統合追跡部200は、ターゲットとトラッカーとを対応付ける際、まず、トラッカーに含まれる情報によって示される、オブジェクトの過去の位置から該オブジェクトの現在の位置を予測し、ターゲットとトラッカーとの関連性を表す指標を用いて対応付けを行う。
つまり、統合追跡部200は、前フレームにおいて検出されたオブジェクトの位置と、トラッカー毎に算出され保持されるオブジェクトの運動モデルと、に基づいて、オブジェクトの現フレーム上の位置を予測する。この手法としては、カルマンフィルタを用いる方法、または、パーティクルフィルタを用いる方法など、既存の様々な方法を用いることができる。
そして、統合追跡部200は、例えば、以下の(1)〜(3)に挙げる情報に基づいて、前フレームにおけるオブジェクト追跡結果(トラッカー)と、検出結果に含まれるオブジェクト(ターゲット)とを対応付ける。
(1)トラッカーを用いて予測したオブジェクトの現フレーム上の位置とターゲットの位置との距離の近さ
(2)ターゲットと、トラッカーによって追跡結果が示されるオブジェクトと、の間の外見特徴量の類似性
(3)ターゲットおよびトラッカーそれぞれの尤度
この対応付けの処理は、図3に示すような2部グラフのコスト最小化問題に帰着させることができる。よって、統合追跡部200は、ハンガリアン法などのアルゴリズムによってこの問題を解くことができる。
図3では、ターゲットとトラッカーとが対応付けられた場合を、矢印を用いて示している。つまり、一番上のターゲットは、一番上のトラッカーと対応付いていることを示している。
そして、トラッカーと対応付かないターゲットが存在する場合には、統合追跡部200は、該ターゲットが新規に現れたオブジェクトとみなせるかどうかを判定する。そして、統合追跡部200は、該ターゲットが新規に現れた可能性が高いと判定した場合、該ターゲットに関連するトラッカーを新規に追加する。図3においては、符号mで示したターゲット(ターゲットmと呼ぶ)が、トラッカーと対応付かないターゲットであるとする。このとき、統合追跡部200は、ターゲットmが新たに表れたオブジェクトとみなせるか否かの判定を行い、みなせる場合、ターゲットmに関連するトラッカーを新規に作成する。
一方、ターゲットと対応付かないトラッカーが存在する場合には、統合追跡部200は、該トラッカーが撮影空間から消えたオブジェクトに関する情報か否かを判定する。そして、統合追跡部200は、該トラッカーが撮影空間から消えたオブジェクトに関する情報である可能性が高い場合、該トラッカーを削除する。図3においては、符号kで示したトラッカー(トラッカーkと呼ぶ)が、ターゲットと対応付かないトラッカーであるとする。このとき、統合追跡部200は、トラッカーkが、消えたオブジェクトに関する情報か否かの判定を行い、該トラッカーkが消えたオブジェクトに関する情報の場合、トラッカーkを削除する。
統合追跡部200は、これらの処理をフレーム単位で繰り返すことにより、オブジェクト追跡を行っていく。なお、統合追跡部200は、トラッカーに全カメラ20で共通の一意のID(identifier)を与え、このIDによって追跡結果(トラッカー)を管理する。また、統合追跡部200は、追跡結果の確からしさを評価した値(以後、トラッカーの尤度(重み)と呼ぶ)をトラッカーのパラメータとして、該トラッカーに含める。なお、トラッカーに含まれる、追跡されたオブジェクトの位置を示す情報によって示される位置であって、最も新しいオブジェクトの位置を、トラッカーの位置と呼ぶ。また、このときのオブジェクトの大きさをトラッカーの大きさとも呼ぶ。
また、統合追跡部200は、対応付けの結果に基づいて、各トラッカーの位置を示す情報およびトラッカーの尤度の情報等を更新する。トラッカーの位置の情報は、複数のカメラ20で撮影される撮影空間内で定義される共通座標系で表現された情報である。この共通座標系で表現された情報とは、共通座標系における座標値である。この共通座標系における座標値とは、例えば、複数のカメラ20が、ある店舗内に設置されたカメラである場合、実世界におけるフロアの位置を示す座標系である。これに対し、各カメラ20に固有の座標系を、該カメラ20の個別座標系と呼ぶ。この個別座標系は、カメラ20の撮影画像上の座標系である。以降、共通座標系で表現された位置の情報を、共通座標系の座標値として説明を行う。また、カメラ20の個別座標系で表現された位置の情報を、カメラ20の個別座標系の座標値として説明を行う。
そして、統合追跡部200は、対応付けの結果に基づいて情報が更新されたトラッカーを、新たなオブジェクト追跡結果として生成する。そして、統合追跡部200は、生成したオブジェクト追跡結果(トラッカー)のうち、トラッカーの位置および/または大きさを示す情報、および、トラッカーの尤度の情報等を、オブジェクト追跡の追跡結果を示す情報(追跡情報)として出力する。
この追跡情報は、各トラッカーの位置を示す情報として、各トラッカーの共通座標系の座標値を含んでいる。この追跡情報は、検出部100にフィードバックされる。つまり、検出部100は、この追跡情報を受信し、該追跡情報を、以降のフレームに対するオブジェクト検出に用いる。
なお、統合追跡部200は、上記追跡情報と、トラッカーのその他の情報を含むオブジェクト追跡結果を検出部100に出力する構成であってもよい。
このように、本実施の形態に係る物体追跡装置10は、複数のカメラの夫々で撮影された映像を用いて、この複数のカメラ20の夫々で撮影された映像に対するオブジェクト検出結果を統合して、オブジェクト追跡を行う。そして、物体追跡装置10は、得られた追跡情報を次のフレームでのオブジェクト検出にフィードバックする。
このように、物体追跡装置10は、前のフレームに対する追跡結果を用いて、映像からオブジェクトを検出する。例えば、あるカメラ20から見えないが、他のカメラ20から見えているオブジェクトがある場合、物体追跡装置10は、あるカメラ20からは見えないオブジェクトに対する追跡結果も、このあるカメラ20の映像におけるオブジェクト検出に用いる。これにより、検出部100は、このあるカメラ20から見える範囲に同じオブジェクトが現れた場合に、このオブジェクトを好適に検出することができる。そのため、物体追跡装置10は、このオブジェクトに対するオブジェクト追跡を精度よく行うことができる。
したがって、物体追跡装置10は、前のフレームに対する追跡結果を用いない場合に比べ、オブジェクトの検出精度を高めることができる。また、物体追跡装置10は、検出精度が高い検出結果の全てを用いてオブジェクト追跡を行うため、全体として得られる追跡結果の精度も向上する。
(検出部100の詳細)
次に、図4から図8を参照して、物体追跡装置10の各部の機能についてより詳細に説明する。図4は、本実施の形態に係る物体追跡装置10の検出部100のより詳細な機能構成の一例を示す機能ブロック図である。図4に示す通り、検出部100は、オブジェクト検出部110と、共通座標変換部(第2の変換部)120と、個別座標変換部(第1の変換部)130とを備えている。なお、図4では、検出部100が受信するカメラ映像(n)(nは、1〜N)を、単にカメラ映像と記載している。
個別座標変換部130は、統合追跡部200から出力される追跡情報を、統合追跡部200から受信する。そして、個別座標変換部130は、この追跡情報に含まれる、各トラッカーの共通座標系の座標値を、各カメラ20が撮影するフレーム上の座標値(つまり、各カメラ20固有の個別座標系で表現された座標値)に変換する。共通座標系の座標値を(X,Y,Z)とし、カメラ20の個別座標系の座標値を(x,y)と表したとき、個別座標変換部130は、トラッカーの共通座標系の座標値(X,Y,Z)から、該個別座標変換部130を備える検出部100に紐付けられたカメラ20の個別座標系の座標値(x,y)を求める。このとき、個別座標変換部130は、少なくとも、検出部100に紐付けられたカメラ20の、カメラ位置、姿勢等を表すカメラパラメータをキャリブレーションにより求めておくことが好ましい。これにより、個別座標変換部130は、得られたカメラパラメータを用いて、共通座標系の座標値を、カメラ20の個別座標系の座標値に変換する。
なお、このカメラパラメータは、検出部100内の図示しない記憶部等に格納されるものであってもよいし、個別座標変換部130内の記憶領域に格納されるものであってもよい。後者の場合、個別座標変換部130は、共通座標変換部120にカメラパラメータを供給する構成であってもよい。
例えば、オブジェクトが人物であり、トラッカーの位置を示す情報が、該人物の足元位置を示す座標値と頭頂位置を示す座標値であるとする。そして、この足元位置の座標値と、頭頂位置の座標値とを、それぞれ(X0,Y0,0)、(X0,Y0,H)(Hは人物の高さを表す)とする。また、個別座標変換部130を備える検出部100に紐付けられたカメラ20が、カメラ20−1であるとする。
このとき、個別座標変換部130は、カメラ20−1に関するカメラパラメータを用いて、該カメラ20−1が撮影するフレーム上における足元位置(x0,y0)と頭頂位置(x1,y1)とをそれぞれ求める。もし、トラッカーの位置を示す情報が外接矩形を示す情報を含む場合、該外接矩形の幅を示す値は、以前に、カメラパラメータを用いて共通座標系の座標値に変換することにより、求められている。そのため、個別座標変換部130は、この外接矩形の幅として再び上記カメラパラメータを用いて変換した値を用いてもよい。
また、トラッカーによって追跡結果が示されるオブジェクトの全てが1つのカメラ20から見えるわけではなく、このカメラ20の視界の外側に存在する場合もある。したがって、追跡情報に含まれるトラッカーの位置を示す情報が、検出部100に紐付けられたカメラ20から見えないオブジェクトに関する情報の場合、個別座標変換部130は、オブジェクトの上記カメラ20の個別座標系の座標値を求めることができない。よって、個別座標変換部130は、このようなカメラ20の画角外で見えないオブジェクトに関するトラッカーの共通座標系の座標値を、個別座標系の座標値に変換しないようにしてもよい。この際、個別座標変換部130は、各カメラ20で見える共通座標系の座標値の範囲を、カメラ20毎に、図示しない記憶部等に予め登録しておき、各オブジェクトがこの中に入っているかどうかを判定するようにしてもよい。また、個別座標変換部130は、実際に個別座標系の座標値に変換して、紐付けられたカメラ20で監視している領域の外側を示す異常な値になったり、値が求まらなかったりしたときに、座標値を変換したオブジェクトがカメラ20から見えないオブジェクトであると判定してもよい。
そして、個別座標変換部130は、統合追跡部200から出力された追跡情報に含まれるトラッカーの共通座標系の座標値が、検出部100に紐付けられたカメラ20の個別座標系の座標値に変換された結果(追跡情報)を、オブジェクト検出部110に出力する。つまり、個別座標変換部130は、共通座標系で表現された追跡情報を、個別座標系で表現された追跡情報に変換し、該変換後の追跡情報をオブジェクト検出部110に出力する。以降、単に「個別座標系の座標値」と記載した場合、検出部100に紐付けられたカメラ20の個別座標系の座標値を示す。
オブジェクト検出部110は、オブジェクト検出部110を備える検出部100に紐付けられたカメラ20からのカメラ映像を受信する。また、オブジェクト検出部110は、個別座標変換部130から個別座標系の座標値に変換された追跡情報を受信する。そして、オブジェクト検出部110は、上記追跡情報に基づいて、受信したカメラ映像からオブジェクトを検出する。
そして、オブジェクト検出部110は、検出結果を生成する。オブジェクト検出部110は、生成した検出結果を共通座標変換部120に出力する。なお、この検出結果は、個別座標系で表現された検出結果である。
図5を参照して、オブジェクト検出部110の構成についてより詳細に説明する。図5は、本実施の形態に係るオブジェクト検出部110の機能構成の一例を示す機能ブロック図である。図5に示す通り、オブジェクト検出部110は、認識型オブジェクト検出部(第1の物体検出部)111と、探索範囲設定部112とを備えている。
探索範囲設定部112は、個別座標変換部130から、個別座標系の座標値に変換された追跡情報を受信する。そして、探索範囲設定部112は、この個別座標系の座標値に変換された追跡情報を用いて、現フレームに対するオブジェクトの検出を行う対象となるエリア(探索範囲)を求める。つまり、探索範囲設定部112は、個別座標系の座標値に変換された、前フレームの追跡結果からなる追跡情報に基づいて、現フレームのオブジェクトの位置を予測する。そして、探索範囲設定部112は、予測した位置から、オブジェクトを検索する検出範囲を求める。なお、この探索範囲をオブジェクトの検出範囲とも呼ぶ。
ここで、探索範囲設定部112が受信する追跡情報は、現在処理を行おうとするフレームの時間から見ると、過去のフレームにおけるオブジェクト追跡の結果(過去の追跡結果とも呼ぶ)になる。そこで、探索範囲設定部112は、各オブジェクトの動きを予測し、現フレームにおける各オブジェクトの位置を予測する。以降、この予測したオブジェクトの位置を予測位置と呼ぶ。そして、探索範囲設定部112は、この予測位置の近傍を該オブジェクトの探索範囲として設定する。
探索範囲設定部112は、過去の追跡結果から算出されるオブジェクト毎の運動モデルを用いて、オブジェクト毎の動きを予測することが好ましい。例えば、探索範囲設定部112は、過去数フレーム(2フレームでもよい)の追跡結果でオブジェクトの位置が変化していないときには、該オブジェクトが静止していると判定し、追跡結果で得られたオブジェクトの位置をそのまま予測位置とする。また、探索範囲設定部112は、過去数フレームの追跡結果でオブジェクトが移動している場合には、該オブジェクトが等速で動いていると仮定し、過去フレームからの時間差を考慮して予測位置を求めてもよい。
探索範囲設定部112がオブジェクト毎の動きを予測する際に使用する過去数フレームの追跡結果は、追跡情報に含まれるものであってもよい。また、上記過去数フレームの追跡結果から得られるオブジェクトの運動モデルも、上記追跡情報に含まれるものであってもよい。
また、この予測位置は、追跡情報に含まれていてもよい。つまり、統合追跡部200が、オブジェクト追跡時にカルマンフィルタまたはパーティクルフィルタで求まった値を予測位置として、追跡情報に含めてもよい。
また、例えば、カメラ20が撮影可能な範囲の外縁部分には、該カメラ20の画角に新たなオブジェクトが出現する可能性がある。また、カメラ20が撮影している場所が出入口のような場所を含む場合も、該カメラ20の画角に新たなオブジェクトが出現する可能性がある。したがって、探索範囲設定部112は、このようなカメラ20が撮影した映像に含まれるフレーム上における、これらの領域(フレームの外縁部および/または出入口部分)も併せてオブジェクト探索範囲に含めることが好ましい。
探索範囲設定部112は、設定したオブジェクトの探索範囲を示す情報(探索範囲情報)を認識型オブジェクト検出部111に出力する。
認識型オブジェクト検出部111は、探索範囲設定部112から、探索範囲情報を受信する。認識型オブジェクト検出部111は、受信した探索範囲情報に基づいて、認識型オブジェクト検出部111に入力されるカメラ映像からオブジェクトを検出する。認識型オブジェクト検出部111は、入力されたカメラ映像のフレームを、一旦、認識型オブジェクト検出部111内のバッファ等の記憶手段に蓄えておき、探索範囲情報を受信すると、この情報を適用してオブジェクト検出処理を実行する。具体的には、認識型オブジェクト検出部111は、探索範囲情報によって示される領域(探索範囲)に対して、オブジェクトの画像特徴を学習させた識別器を用いて、オブジェクト検出を行う。
例えば、オブジェクトが人物の場合には、認識型オブジェクト検出部111は、人物の特徴的な部位(例えば、頭部または上半身)を学習させた識別器を適用し、人物の検出を行う。また、認識型オブジェクト検出部111は、上記識別器として、人物全体を学習させた識別器を用いてもよい。認識型オブジェクト検出部111は、この識別器として、様々なものを用いることができる。例えば、認識型オブジェクト検出部111は、頭部、上半身、および、人物全身等の画像をCNN(Convolutional Neural Network)で学習させて得られる識別器を用いることができる。また、認識型オブジェクト検出部111は、HOG(Histogram Of Gaussian)等の特徴抽出を行い、SVM(Support Vector Machine;サポートベクタマシン)、または、GLVQ(Generalised Learning Vector Quantization;一般化学習ベクトル量子化)等の識別器を用いるようにしてもよい。なお、上記以外でも、認識型オブジェクト検出部111は、既存の様々な認識ベースの検出手法を用いることができる。
このように、本実施の形態に係る認識型オブジェクト検出部111は、探索範囲設定部112によって設定された探索範囲内において、物体を検出する。つまり、認識型オブジェクト検出部111は、探索範囲設定部112が前フレームにおける追跡結果を用いて絞り込んだ探索範囲内で、オブジェクト検出を行う。そのため、認識型オブジェクト検出部111は、フレームにおける、オブジェクトが存在する可能性が低い範囲でのオブジェクト検出を行わないため、余分な誤検知を低減できる。また、認識型オブジェクト検出部111は、オブジェクト検出の処理の高速化を図ることができる。
また、認識型オブジェクト検出部111がオブジェクト検出を行う探索範囲は、探索範囲情報で示される領域だけでなく、背景差分等によって求まるシルエット情報で定まる領域も含まれてもよい。また、認識型オブジェクト検出部111は、シルエット情報で定まる領域とオブジェクト探索範囲情報で指定される領域の共通部分を、オブジェクト検出を実行する領域(探索範囲)としてもよい。
そして、認識型オブジェクト検出部111は、オブジェクト検出を行った結果(検出結果)を生成し、該検出結果を共通座標変換部120に出力する。このとき、検出結果に含まれるオブジェクトの座標値は、個別座標系の座標値である。
図4に戻り、検出部100の共通座標変換部120の機能について説明する。共通座標変換部120は、オブジェクト検出部110から、個別座標系で表現された、オブジェクト検出結果を受信する。そして、個別座標変換部130は、受信した検出結果に含まれる個別座標系の座標値を、共通座標系の座標値に変換する。これにより、共通座標変換部120は、個々のカメラ20に対するオブジェクトの検出位置を統合するための情報を生成することができる。
具体的には、共通座標変換部120は、共通座標変換部120を備える検出部100に紐付けられたカメラ20のカメラパラメータを用いて、オブジェクト検出結果に含まれる個別座標系の座標値を共通座標系の座標値に変換する。例えば、共通座標変換部120は、カメラ20が撮影したフレーム上でのオブジェクトの下端の座標が(x0,y0)のとき、これを共通座標系の座標である(X0,Y0,0)に変換する。ここで、地面をZ=0の平面としているため、Z軸方向の成分が0となっている。また、オブジェクトの上端の座標が(x1,y1)のとき(ここでは、オブジェクトの上端は、オブジェクトの下端の真上(鉛直方向上方)にあると仮定)、オブジェクトの高さをHとする。このとき、共通座標変換部120は、このオブジェクトの上端の座標(x1,y1)を、共通座標系の座標である(X0,Y0,H)に変換する。なお、共通座標変換部120は、これを満たすHを探索することにより、オブジェクトの高さを求める。このようにして、共通座標変換部120は、検出されたオブジェクト毎に、共通座標系での座標値(X,Y,Z)を求める。
なお、Hが既知の場合、共通座標変換部120は、その既知の値をそのまま用いてもよい。
共通座標変換部120は、座標変換後の座標値(共通座標系の座標値)を含む検出結果を、統合追跡部200に出力する。つまり、共通座標変換部120は、共通座標系で表現された検出結果を統合追跡部200に出力する。なお、共通座標変換部120は、検出結果に含まれる1または複数のターゲット(オブジェクト)の夫々に対し、シルエット情報および該オブジェクトの外見特徴(色、模様、形状など)の特徴量等の情報を該オブジェクトに関する情報として含めてもよい。そして、共通座標変換部120は、これらの情報を含んだ検出結果を統合追跡部200に出力してもよい。
(統合追跡部200の詳細)
次に、図6を参照して、統合追跡部200の機能構成についてより詳細に説明する。図6は、本実施の形態に係る物体追跡装置10の統合追跡部200のより詳細な機能構成の一例を示す機能ブロック図である。図6に示す通り、統合追跡部200は、予測部210と、記憶部220と、対応付け部230と、更新部240と、を備えている。なお、本実施の形態における統合追跡部200は、各カメラ20からの映像をカメラ単位で逐次追跡するため、逐次追跡部とも呼ぶ。
この統合追跡部200が行う、逐次のオブジェクト追跡(オブジェクトの逐次追跡、逐次統合追跡とも呼ぶ。)について、図7を用いて説明する。図7は、本実施の形態に係る統合追跡部200が行うオブジェクトの逐次追跡処理を説明するための図である。図7には、カメラ数が3つの場合に、カメラA、カメラB、カメラCの夫々で画像を取得するタイミングの一例を示している。図7において、横軸は、時間軸を示しており、右側にいくほど、時間的に後であることを示している。図7に示す通り、カメラAは時間t1、t5およびt8で画像を取得している。同様に、カメラBは、時間t2、t4、t6およびt9で画像を取得し、カメラCは時間t3およびt7で画像を取得している。
図7に示す通り、各カメラ20で取得されるフレーム(画像)の時間(タイムスタンプ)は、すべてのカメラ20で一致しているとは限らず、通常ばらばらであることが多い。また、フレーム間隔も、カメラ20ごとに異なる場合もあり、また、同じカメラ20でも不均一であることもある。
そして、検出部100がこのカメラ20間で非同期に出力されたカメラ映像から、時間順に検出を行い、検出結果を統合追跡部200に出力する。
本実施の形態に係る統合追跡部200は、時間的に早い時間の画像から順に、逐次追跡処理を実行する。即ち、図7の場合、統合追跡部200は、まず、カメラAの時間t1の画像に対するオブジェクト検出結果を用いて、複数カメラ間の統合を行い、オブジェクト追跡を行う。それが終わると、統合追跡部200は、続いて、カメラBの時間t2、カメラCの時間t3、カメラBの時間t4、・・・の順に、オブジェクト検出結果を用いて、複数カメラ間の統合を行い、オブジェクト追跡を行う。この際、オブジェクトの全てがどのカメラ20からも見えているわけではないため、統合追跡部200は、カメラ20毎に見えている可能性が高いオブジェクトに対してオブジェクト追跡を行う。
図6に戻り、統合追跡部200の各部について説明する。
記憶部220には、統合追跡部200が受信した検出結果に含まれるオブジェクト(ターゲット)と対応付ける、トラッカーの情報が格納されている。この記憶部220に格納されている、トラッカーの情報は、トラッカーのIDを用いて、更新部240によって管理されている。このトラッカーの情報とは、例えば、トラッカーに追跡結果が含まれるオブジェクトに関する情報、トラッカーの尤度等を含むパラメータ等であるが、本発明はこれに限定されるものではない。オブジェクトに関する情報には、オブジェクトの過去の位置を示す情報、該オブジェクトの運動モデル等が含まれるが本発明はこれに限定されるものではない、オブジェクトに関する情報には、上述したオブジェクト検出結果に含まれる情報が含まれてもよい。
なお、図6では、記憶部220が統合追跡部200内に内蔵されることを例に説明を行うが、本発明はこれに限定されるものではない。記憶部220は、統合追跡部200とは、別に、物体追跡装置10内に設けられるものであってもよい。また、記憶部220は、物体追跡装置10とは別個の記憶装置等で実現されるものであってもよい。
記憶部220が統合追跡部200内に内蔵されない場合、記憶部220は、物体追跡装置10内で使用するデータ等を格納する構成であってもよい。例えば、記憶部220には、例えば、カメラ20で撮影したカメラ映像、各カメラ20のカメラパラメータ、各カメラ20で見える共通座標系の座標値の範囲等が格納されていてもよい。
予測部210は、記憶部220を参照し、現フレーム上のオブジェクトの位置を予測する。具体的には、予測部210は、前フレームにおけるオブジェクトの追跡結果(トラッカー)を用いて、該オブジェクトの運動モデルに基づいて、該オブジェクトの現在の位置を予測する。ここで、オブジェクトの位置を示す情報は共通座標系で表現されている。
また、予測部210が位置の予測に使用するオブジェクトの運動モデルは、記憶部220に格納されているものであってもよいし、予測部210が追跡結果を用いて、オブジェクトの位置の予測を行う前に算出したものであってもよい。
予測部210によるオブジェクトの位置の予測には、例えば、カルマンフィルタまたはパーティクルフィルタ等の予測処理を適用することができる。また、予測部210は、単純に、過去数回分の追跡結果からオブジェクトの速度を算出し、等速直線運動を仮定して、前フレームにおける位置からの移動量を速度から予測して該前フレームにおける位置に加算することにより、現在の位置を予測してもよい。
そして、予測部210は、予測結果を対応付け部230に出力する。
対応付け部230は、検出部100の夫々から出力される検出結果を受信する。なお、図6において、検出結果(n)(nは、1〜N)は、検出部100−nから出力された検出結果を示している。また、対応付け部230は、予測部210から、予測結果を受信する。そして、対応付け部230は、記憶部220を参照し、上記予測結果を用いて、検出結果に含まれるターゲットと、トラッカーとの対応付けを行う。
対応付け部230は、対応付け全体として最も確度が高くなる組み合わせを求める。あるターゲットmと、あるトラッカーkが対応付く尤度は、ターゲットmおよびトラッカーkのそれぞれの尤度Pmおよびηkと、両者が同一のオブジェクトである可能性を表す尤度qkmとを掛け合わせたものになる。よって、対応付け部230は、ターゲットおよびトラッカーの各ペアに対してこの値を算出し、全体として最大となる組み合わせを求める。
ここで、ターゲットの尤度(第1の尤度)は、オブジェクト検出の確からしさ(確度)を表す値である。オブジェクト検出の確度は、検出対象のオブジェクト(検出オブジェクトと呼ぶ)の画面上(フレーム上)における大きさ、カメラ20から、オブジェクトの検出位置までの距離、カメラ20からのオブジェクトの見え方等に依存する。
例えば、検出オブジェクトが小さく、該検出オブジェクトのサイズが検出できるサイズの限界に近い場合には、オブジェクト検出の確度は低くなる。また、検出オブジェクトの大きさが、カメラパラメータによって想定されるオブジェクトの見かけの大きさからずれている場合、オブジェクト検出の確度は低くなる。また、オブジェクトの検出位置がカメラ20から離れていたり、オブジェクトの存在する領域に対する照明条件が悪く、オブジェクトが検出されにくい場所であったりする場合には、オブジェクト検出の確度は低くなる。また、識別器の学習に用いたデータと、実際の見え方が大きく異なる場合(例えば、角度が異なるなど)にも、オブジェクト検出の確度は低くなる。
対応付け部230は、このような特性を反映させて、ターゲットの尤度を算出する。具体的には、対応付け部230は、検出部100から受信した検出結果に含まれる、ターゲットの尤度情報を用いて、ターゲットの尤度を算出する。なお、検出部100がターゲットの尤度を算出し、算出した尤度をターゲットの尤度情報として検出結果に含めている場合、対応付け部230は、このターゲットの尤度情報に含まれる尤度をそのまま用いてもよい。なお、ターゲットの尤度はここに記載したすべての項目を反映させる必要はなく、主要な要因のみを反映させるようにしてもよい。
トラッカーの尤度(第2の尤度)は、オブジェクト追跡の確からしさ(確度)を表す値である。オブジェクト追跡の確度は、前フレームにおけるオブジェクト追跡の追跡結果に依存して変化する。例えば、現フレームの前の(過去の)フレームまでにおける追跡結果で、ターゲットと確実に対応付いているトラッカーは、オブジェクト追跡の確度が高いと言え、あまり対応づいていないトラッカーは、オブジェクト追跡の確度が低いと言える。よって、対応付け部230は、各フレームにおいて、ターゲットとトラッカーとが対応付いたかどうかの結果に基づいて、尤度を変化させていけばよく、対応付いた場合にトラッカーの尤度を上げ、対応付かなかった場合にトラッカーの尤度を下げるようにすればよい。
また、この際、トラッカーの位置が、カメラ20から遠い位置にある場合には、このトラッカーの位置の誤差が大きくなると考えられる。その結果、このようなトラッカーは、検出結果に含まれるオブジェクト(ターゲット)と対応付きにくくなる。このため、対応付け部230は、トラッカーの位置とカメラ20との距離に応じて、該トラッカーの尤度を変化させる比率を変更させてもよい。更に対応付け部230は、カメラ20が、トラッカーによって追跡結果が示されるオブジェクトを見たときの、該カメラ20を含む水平面と視線方向とがなす角(俯角または仰角)に応じて、該トラッカーの尤度を変化させる比率を変えてもよい。
例えば、トラッカーによって追跡結果が示されるオブジェクト(以降、トラッカーのオブジェクトと呼ぶ)がカメラ20から近く、該オブジェクトに対するカメラ20の俯角が所定の角度より大きい場合には、オブジェクトの位置の精度は高い。よって、該トラッカーと、ターゲットとが対応付きやすい。そのため、このような場合、対応付け部230は、トラッカーの尤度を変化させる比率をより大きくする。
また、例えば、トラッカーのオブジェクトがカメラ20から遠く該オブジェクトに対するカメラ20の俯角が所定の角度より浅い場合、カメラ20が撮影したフレーム上における該オブジェクトのサイズは小さくなる。また、画像上での少しの位置のずれが、実空間上では大きなずれになる。よって、該オブジェクトの検出位置の精度は低くなる可能性が高い。そのため、このような場合、対応付け部230は、トラッカーの尤度を変化させる比率をより小さくする。このようにして、対応付け部230は、トラッカーの尤度を算出する。
以上のように、対応付け部230は、トラッカーのオブジェクトに近いカメラ20で検出された検出結果を優先的にトラッカーの尤度に反映できるため、全体として追跡の精度を上げることができる。なお、トラッカーの尤度にはここに記載したすべての項目を反映させる必要はなく、主要な要因のみを反映させるようにしてもよい。
また、ターゲットmとトラッカーkと間の同一性を表す尤度qkmは、両者が同一である確度を表している。ターゲットが示すオブジェクトと、トラッカーのオブジェクトとが同一のオブジェクトの場合には、ターゲットとトラッカーのオブジェクトとの位置は近くなる可能性が高い。そのため、対応付け部230は、ターゲットとトラッカーのオブジェクトとの間の距離に応じて尤度を変化させる。つまり、対応付け部230は、ターゲットmとトラッカーkのオブジェクトとの距離が近い場合に、尤度qkmの値をより大きく、距離が離れている場合に尤度qkmの値をより小さくすればよい。
この際、ターゲットmがカメラ20から離れていたり、カメラ20の該ターゲットmに対する俯角が所定の角度より浅かったりする場合には、ターゲットmの位置の精度が低くなる可能性が高い。よって、対応付け部230は、単純なユークリッド距離を用いた距離の計算ではなく、ターゲットの検出位置に含まれる誤差(曖昧さ)を考慮した、マハラノビス距離を用いて、ターゲットとトラッカーのオブジェクトとの間の距離を求めてもよい。また、対応付け部230は、上記方法の他に、曖昧さを考慮して、距離に応じた尤度qkmの変化の度合いを制御するようにしてもよい。即ち、対応付け部230は、上記曖昧さがより大きい場合には、ターゲットmとトラッカーkのオブジェクトとの間の距離に応じて、尤度qkmの変化をより小さくする。これにより、対応付け部230は、ターゲットの位置ずれが対応付けに与える影響を軽減させる。
さらに、対応付け部230は、ターゲットおよびトラッカーの外見の類似性も考慮してもよい。即ち、対応付け部230は、ターゲットおよびトラッカーのオブジェクトの色、模様、形状といった特徴を抽出しておき、これらの類似性を評価して、尤度qkmを求めるようにしてもよい。
例えば、対応付け部230は、オブジェクトの色ヒストグラムを、ターゲットおよびトラッカーのオブジェクトの両方に対して算出し、これらの類似度を色ヒストグラムの重なり等によって評価し、尤度qkmに反映させてもよい。なお、ターゲットおよびトラッカーの同一性を表す尤度qkmも、トラッカーの尤度ηkおよびターゲットの尤度Pmと同様に、上述した全ての項目を反映させる必要はなく、主要な要因のみを反映させるようにしてもよい。
また、対応付け部230は、オブジェクトがカメラ20の画角外に出たり、他のオブジェクトに遮蔽されたりして、検出されない場合も考慮して、上記の各尤度を算出してもよい。これにより、統合追跡部200は、オブジェクトが未検出であったり、画角外に出てしまったりする場合であっても、高精度にオブジェクトを追跡することができる。
以上のように、各尤度を算出し、全体として各尤度が最大となるターゲットとトラッカーとの対応付けを求める問題は、各尤度を単調非増加関数によってコストに変換して用いることにより、コストが最小となる割当問題(どのターゲットをどのトラッカーに対応付けるか)に帰着できる。この割当問題は、例えば、ハンガリアン法等の手法により、効率的に算出することが可能である。
そして、対応付け部230は対応付けの結果を更新部240に出力する。この対応付けの結果には、どのターゲットとトラッカーとが対応付くかを示す情報と、少なくともトラッカーの尤度を含む上記各尤度とが含まれる。
なお、本実施の形態において、対応付け部230は、ターゲットの尤度と、トラッカーの尤度との両方の尤度を用いて、対応付けを行ったが、どちらか一方の尤度を用いて対応付けを行ってもよい。
更新部240は、トラッカーの情報の更新を行う。そして、更新部240は、このトラッカーを新たなオブジェクト追跡結果として生成する。具体的には、更新部240は、対応付け部230から、対応付けの結果を受信する。そして、更新部240は、この結果に基づいて、トラッカーのオブジェクトの現在位置を算出する。そして、更新部240は、記憶部220に格納された該トラッカー情報を更新する。更新を行う情報は、例えば、トラッカーに追跡結果が含まれるオブジェクトの位置および/またはサイズ、該オブジェクトの運動モデル、および、トラッカーの尤度等のパラメータであるが、本発明はこれに限定されるものではない。更新部240は、記憶部220に格納された情報のうち、更新があった情報を更新すればよい。
まず、更新部240による、トラッカーのオブジェクトの現在位置の算出について説明する。更新部240は、トラッカーのオブジェクトの現在位置を、ターゲットの位置の精度を考慮して算出する。例えば、更新部240がトラッカーを用いてオブジェクトの位置を予測した予測位置と、該トラッカーに対応付いたターゲットの検出位置とに対し、重みづけを行い、該トラッカーのオブジェクトの現在位置を算出するとする。この場合、更新部240は、ターゲットの位置の確度によって、該重みを制御してもよい。
例えば、ターゲットがカメラ20から離れた位置にあり、該カメラ20のターゲットに対する俯角が浅い場合には、このターゲットの位置の精度は低い可能性が高い。このような場合、更新部240は、このターゲットの位置に対する重みをより小さくする。
一方、ターゲットがカメラ20に近い位置にあり、該カメラ20ターゲットに対する俯角が所定の値より大きい場合には、このターゲットの位置の精度は高いと想定される。このような場合、更新部240は、このターゲットの位置に対する重みをより大きくする。
更新部240は、予測位置と、重みを設定した位置とを用いて、トラッカーのオブジェクトの現在位置を算出する。
このように、更新部240がターゲットの位置に対する重みを決定することで、ターゲットに近いカメラ20による、オブジェクトの検出位置の予測結果がより強く反映されるようになる。したがって、物体追跡装置10は、オブジェクトの位置の予測精度を向上させることができる。
そして、更新部240は、記憶部220に格納されたオブジェクトに関する情報に含まれる、オブジェクトの最も新しい位置を、算出したオブジェクトの現在位置に更新する。
次に、更新部240が行うトラッカーの尤度の更新について説明する。
トラッカーのオブジェクトがカメラ20から離れた位置にある場合、該オブジェクトの大きさは小さくなる。そのため、検出部100は、このようなオブジェクトを検出し辛くなる。
また、フレームに含まれるオブジェクトが、学習に用いたオブジェクトの見え方と異なる見え方である場合に、検出部100の認識型オブジェクト検出部111が認識型のオブジェクト検出を行う場合について説明する。フレームに含まれるオブジェクトが、学習に用いたオブジェクトの見え方と異なる見え方である場合とは、例えば、トラッカーのオブジェクトの位置から想定される、該オブジェクトに対するカメラ20の俯角と、学習に用いたオブジェクトに対するカメラ20の俯角と、が大きく異なる場合である。このような場合、検出部100の認識型オブジェクト検出部111は、フレームに含まれるオブジェクトを検出し辛くなる。
このようなオブジェクトを検出し辛い状況の場合、フレームに含まれるオブジェクトは、未検出となってしまう可能性がある。この場合、このオブジェクトに関連するトラッカーに対応付くターゲットが存在しない可能性がある。
したがって、更新部240は、ターゲットに関連付いていないトラッカーのうち、オブジェクトが検出されづらい状況にあるオブジェクトのトラッカーの尤度の変化を小さく抑える。
このようにして、更新部240は、オブジェクトが検出されにくい場合の追跡への影響を抑え、検出されやすいカメラでの検出の結果をトラッカーの尤度に大きく反映させることができる。そして、次のフレームに対するオブジェクト追跡の際に、対応付け部230は、このトラッカーの尤度に基づいて、対応付けを行うため、統合追跡部200は、よりオブジェクト追跡の精度を向上させることができる。
そして、記憶部220に格納されたトラッカーの尤度のうち、対応付け部230が算出したトラッカーの尤度と、上記変化を小さく抑えたトラッカーの尤度とを、更新する。
次に、更新部240による、トラッカーのオブジェクトの運動モデルの更新について説明する。例えば、統合追跡部200が、カルマンフィルタを用いてオブジェクトの位置を予測することによって、オブジェクト追跡を行う場合について説明する。この場合、更新部240は、ターゲットと対応付いたトラッカーのオブジェクトの位置座標を、検出された位置座標として、記憶部220に格納された、カルマンフィルタの状態変数の更新式に代入し、カルマンフィルタの状態を更新する。
また、上記以外にも更新部240は、記憶部220に格納された、トラッカーのその他のパラメータ等を更新する。
例えば、オブジェクト自体が姿勢を変更する場合がある。例えば、オブジェクトが人物の場合には、該人物がしゃがんだり、屈んだりすることにより、該オブジェクトの見かけの高さが変わる。このように、運動モデル以外に、オブジェクトのサイズ等も変更がある場合、更新部240は、記憶部220に格納された情報のうち、この変更があった情報の更新を行う。
さらに、トラッカーのパラメータとして、トラッカーのオブジェクトの存在する確率、追跡結果の信頼度を表す重み等が含まれている場合、この重みは対応付け部230による対応付けの結果に応じて変化する。したがって、更新部240は、この重み等のパラメータを更新する。
また、更新部240は、トラッカーの更新として、トラッカーの生成、削除を行う。まず、更新部240は、対応付け部230による対応付けの処理後、トラッカーと対応付かないターゲットが存在するか否かを判定する。このトラッカーと対応付かないターゲットは、カメラ20で撮影される範囲内に新たに現れたオブジェクトである可能性がある。そのため、更新部240は、トラッカーと対応付かないターゲットが存在する場合、このターゲットが上記範囲内に新たに表れたオブジェクトとみなせるか否かの判定を行う。
つまり、更新部240は、トラッカーと対応付かないターゲットが存在する場合、このターゲットの存在する確率を評価する。そして、更新部240は、この確率が所定の値以上か否かを判定する。そして、この確率が所定の値以上の場合、更新部240は、このターゲットが示すオブジェクトが、上記範囲内に新たに表れたオブジェクトであると判定する。そして、更新部240は、上記範囲内に新たに表れたオブジェクトと判定したオブジェクト(ターゲット)に関連するトラッカーを新規に作成する。
また、更新部240は、ターゲットと対応付かないトラッカーが存在するか否かを判定する。このターゲットと対応付かないトラッカーは、カメラ20で撮影される範囲内から消えた(範囲内から範囲外に移動した)オブジェクトに関するトラッカーである可能性がある。そのため、更新部240は、ターゲットと対応付かないトラッカーが存在する場合、このターゲットが上記範囲内から消えたオブジェクトに関するトラッカーとみなせるか否かを判定する。
つまり、更新部240は、ターゲットと対応付かないトラッカーが存在する場合、このトラッカーに関するオブジェクトの存在する確率を評価する。そして、更新部240は、この確率が所定の値を下回るかを判定する。そして、この確率が所定の値を下回った場合、更新部240は、このトラッカーに関するオブジェクトが、上記範囲内から消えたオブジェクトであると判定する。そして、更新部240は、上記範囲内から消えたオブジェクトと判定したオブジェクトに関するトラッカーを削除する。
オブジェクトの存在する確率とは、トラッカーの尤度によって求められる。つまり、更新部240は、ターゲットと対応付かないトラッカーが存在する場合、このトラッカーの尤度を減じていく。そして、トラッカーの尤度の値が所定の閾値を下回った場合、更新部240は、該トラッカーを削除するようにする。
そして、更新部240は、最終的に残ったトラッカーを、このフレームにおけるオブジェクトの追跡結果として生成する。そして、更新部240は、このうち、トラッカーの位置を示す情報およびトラッカーのオブジェクトの大きさに関する情報等を、オブジェクト追跡の追跡結果を示す情報(追跡情報)として出力する。
このように、本実施の形態に係る物体追跡装置10によれば、オブジェクト追跡は、各カメラ20から出力されたカメラ映像に含まれる時間情報が古いものから順に行われる。複数のカメラ20の夫々の映像データから検出されるオブジェクトは、カメラ20毎の確度の高い検出結果を統合し、この検出結果および過去の追跡結果が反映された追跡結果を用いて検出される。そのため、物体追跡装置10の統合追跡部200が行うオブジェクト追跡の追跡精度が向上する。
次に、図8を用いて、本実施の形態に係る物体追跡装置10の物体追跡処理の流れについて説明する。図8は、本実施の形態に係る物体追跡装置10の物体追跡処理の流れの一例を示すフローチャートである。
図8に示す通り、まず、検出部100の認識型オブジェクト検出部111が該オブジェクト検出部110を備える検出部100に紐付けられたカメラ20からのカメラ映像を受信する(ステップS81)。
検出部100は、受信したカメラ映像のフレームが、該カメラ20から出力される最初のフレームか否かを確認し(ステップS82)、最初のフレームの場合(ステップS82にてYES)、処理をステップS85に進める。
受信したカメラ映像のフレームが最初のフレームではない場合(ステップS82にてNO)、個別座標変換部130が、統合追跡部200から出力される、前フレームに対する追跡情報を、個別座標系で表現された追跡情報に変換する(ステップS83)。
そして、オブジェクト検出部110の探索範囲設定部112がステップS83にて変換された追跡情報を用いて、現フレームに対するオブジェクトの探索範囲を設定する(ステップS84)。
そして、認識型オブジェクト検出部111が、受信したカメラ映像からオブジェクトを検出する(ステップS85)。
次に、個別座標変換部130が、認識型オブジェクト検出部111による検出結果を、共通座標系で表現された検出結果に変換する(ステップS86)。
次に、統合追跡部200の予測部210が、トラッカーの情報を用いて、現フレーム上のオブジェクトの位置を予測する(ステップS87)。
そして、対応付け部230が、検出結果に含まれるオブジェクト(ターゲット)と、トラッカーとを対応付ける(ステップS88)。
次に、更新部240がトラッカーのオブジェクトの位置およびオブジェクトの運動モデル等の、トラッカーの情報の更新を行う(ステップS89)。
更に、更新部240がトラッカーの生成および/または削除を行う(ステップS90)。そして、物体追跡装置10は、検出部100にフレームが入力されなくなるまで、この処理を繰り返す。
(効果)
以上のように、本実施の形態に係る物体追跡装置10によれば、より高精度に物体を追跡することができる。なぜならば、検出部100が、カメラ20の出力情報から、該出力情報(映像のフレーム)の前の出力情報に対する追跡情報に基づいて、物体を検出するからである。そして、統合追跡部200が、各検出部100が出力した、複数の検出結果に基づいて、物体を追跡し、共通座標系で表現された物体の追跡情報を生成するからである。
例えば、あるカメラ20から見えないが、他のカメラ20から見えているオブジェクトがある場合、物体追跡装置10は、あるカメラ20からは見えないオブジェクトに対する追跡結果も、このあるカメラ20の映像におけるオブジェクト検出に用いる。これにより、検出部100は、このあるカメラ20から見える範囲に同じオブジェクトが現れた場合に、このオブジェクトを好適に検出することができる。そのため、物体追跡装置10は、このオブジェクトに対するオブジェクト追跡を精度よく行うことができる。
したがって、物体追跡装置10は、前のフレームに対する追跡結果を用いない場合に比べ、オブジェクトの検出精度を高めることができる。また、物体追跡装置10は、検出精度が高い検出結果の全てを用いてオブジェクト追跡を行うため、全体として得られる追跡結果の精度も向上する。
このように、本実施の形態に係る物体追跡装置10は、複数のカメラ20の夫々が撮影している領域をまたがって移動する人物等の動線を抽出することが可能になる。これにより、物体追跡装置10による追跡結果は、例えば、店舗内を回遊する顧客の行動を分析し、マーケティングや店舗のレイアウト変更の基礎情報とすることができる。また、この追跡結果は、セキュリティ目的で、エリア間をうろつく人物を検出に利用することができる。
また、探索範囲設定部112が追跡結果を用いて、カメラ映像における、オブジェクト検出を行う検索範囲を設定するため、認識型オブジェクト検出部111は、余分な誤検知を低減できる。また、認識型オブジェクト検出部111は、オブジェクト検出の処理の高速化を図ることができる。
また、統合追跡部200が、ターゲットの尤度および/またはトラッカーの尤度を用いて、オブジェクト追跡を行うことにより、物体追跡装置10は、より信頼性の高いオブジェクト追跡結果を得ることができる。また、物体追跡装置10は、このようにして得られたオブジェクト追跡結果を用いて、オブジェクト検索を行うため、よりオブジェクト追跡の精度を高めることができる。これにより、全体として、物体追跡装置10は、オブジェクト追跡の精度を向上させることができる。
<第2の実施の形態>
次に、本発明の第2の実施の形態について、図面を参照して説明する。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
本実施の形態に係る物体追跡システム2は、図2を用いて説明した第1の実施の形態に係る物体追跡システム1の物体追跡装置10の代わりに、物体追跡装置50を備える構成である。物体追跡システム2のその他のシステム構成については、図2に示した物体追跡システム1と同様であるため、説明を省略する。
(物体追跡装置50)
物体追跡装置50の機能について、図9を参照して説明を行う。図9は、本実施の形態に係る物体追跡装置50の機能構成の一例を示す機能ブロック図である。図9に示す通り、物体追跡装置50は、複数の検出部(100−1〜100−N)と、統合追跡部200と、表示制御部300とを備えている。なお、上述した第1の実施の形態と同様に本実施の形態では、複数の物体検出部(100−1〜100−N)の夫々を区別しない場合、または、総称する場合には、これらを検出部100と呼ぶ。
表示制御部300は、表示装置30に表示させる画像(映像)を制御するものである。具体的には、表示制御部300は、統合追跡部200が出力する追跡情報を、表示装置30に表示可能なデータに変換した表示データを生成し、表示装置30に送信する。統合追跡部200が出力する追跡情報は、共通座標系で表現されている。そのため、表示制御部300は、共通座標系で表示装置30に表示可能な表示データを生成する。
なお、このとき、統合追跡部200は、表示装置30にオブジェクトの動線を表示するために必要な情報(例えば、トラッカーのオブジェクトの過去の位置を示す情報)を追跡情報として、表示制御部300に出力することが好ましい。この追跡情報は、検出部100にフィードバックする情報と同じであってもよいし、異なるものであってもよい。
そして、表示装置30は、受信した表示データを画面に表示する。これにより、物体追跡装置50は、追跡結果をユーザに提示することができる。
また、本実施の形態に係る物体追跡装置50の検出部100は、オブジェクト検出部110の探索範囲設定部112が設定する探索範囲を、表示装置30に表示可能なデータに変換した表示データを生成し、表示装置30に送信する。探索範囲設定部112が出力する探索範囲情報は、個別座標系で表現されている。したがって、表示制御部300は、探索範囲情報を出力した検出部100に紐付いたカメラ20のカメラパラメータを用いて、個別座標系で表示装置30に表示可能な表示データを生成する。
そして、表示装置30は、受信した表示データを画面に表示する。これにより、物体追跡装置50は、各検出部100から出力された、オブジェクトの探索範囲情報を用いて、該探索範囲をユーザに提示することができる。
なお、表示装置30は、複数であってもよい。例えば、表示装置30は、共通座標系で表示される表示データと、個別座標系で表示される表示データとを異なる表示装置30で受信して、夫々において、受信した表示データを画面に表示する構成であってもよい。また、表示装置30は、1つの画面の表示領域を分割して、複数の表示データを画面に表示する構成であってもよい。このように、本実施の形態に係る表示装置30における表示データ表示方法は特に限定されない。
また、表示制御部300は、検出部100内に夫々備えられる構成であってもよい。図10は、本実施の形態に係る物体追跡装置50の検出部100の機能構成の一例を示す機能ブロック図である。図10に示す通り、検出部100は、オブジェクト検出部110と、共通座標変換部120と、個別座標変換部130と、表示制御部150とを備えている。また、オブジェクト検出部110は、図5に示すオブジェクト検出部110と同様に、認識型オブジェクト検出部111と、探索範囲設定部112とを備えている。
図10に示す探索範囲設定部112は、設定した探索範囲を示す探索範囲情報を表示制御部150に出力する。表示制御部150は、探索範囲設定部112から出力された探索範囲情報を受信し、表示制御部300と同様に、表示装置30に表示可能なデータに変換した表示データを生成する。探索範囲設定部112が出力する探索範囲情報は、個別座標系で表現されている。したがって、表示制御部150は、該表示制御部150を備える検出部100に紐付いたカメラ20のカメラパラメータを用いて、個別座標系で表示装置30に表示可能な表示データを生成する。
そして、表示制御部150は、生成した表示データを表示装置30に送信する。そして、表示装置30は、受信した表示データを画面に表示する。
(適用例)
本実施の形態に係る物体追跡装置50の適用例を図11から14を参照して説明する。図11から図14は、本実施の形態に係る物体追跡装置50の適用例を説明するための図である。
まず、図11は、棚R1と棚R2と、複数のカメラ(A〜F)が設置された室内を、重力方向とは逆の方向から見た場合の室内の例を示す図である。図11に示す通り、図11の横方向を共通座標系におけるX軸とし、縦方向をY軸としている。棚R1と棚R2とは、長手方向が、Y軸方向と平行になるように、X軸上に並べて設置されている。
カメラAは、この部屋の出入口に近接した位置に設置されている。本実施の形態では、カメラA〜Fによって、この室内が、全て撮影されているとみなす。つまり、図11に示す通り、複数のカメラ(A〜F)が設置された室内空間は、撮影空間となる。また、カメラA〜Fは、互いに共通する場所を撮影している。
図12は、カメラAとカメラBとの夫々が撮影した映像の一例を示す図である。図12の上側の図は、カメラAで撮影した映像のあるフレームを示す図であり、下側の図は、カメラBで撮影した映像のあるフレームを示す図である。これらのフレームにおける座標値は、カメラ毎の個別座標系の座標値で表現される。
なお、本実施の形態における物体追跡装置50は、カメラ20が撮影した映像を、表示装置30に表示する構成であってもよい。
図12に示す通り、カメラAで撮影した映像には、人物C1が含まれる。また、カメラAは出入口の近辺に設置されているため、この映像に出入口が含まれている。また、カメラBで撮影した映像には、人物C1と人物C2とが含まれる。
人物C2は、カメラAから見ると、棚R1の陰に隠れている。したがって、図12の映像の時点では、人物C2は、カメラAからは見えないオブジェクトとなっている。仮にこれらの映像のフレームがカメラAおよびカメラBで撮影された映像の最初のフレームの場合、前フレームにおける追跡情報が無いため、物体追跡装置50は、これらのフレームから、オブジェクトを検出し、追跡情報を生成する。
そして、探索範囲設定部112は、個別座標系で表現された追跡情報を用いて、カメラAが撮影した映像の、次のフレームに対するオブジェクトの探索範囲を設定する。同様に、探索範囲設定部112は、個別座標系で表現された追跡情報を用いて、カメラBが撮影した映像の、次のフレームに対するオブジェクトの探索範囲を設定する。
図13は、表示装置30に表示された探索範囲の一例を示す図である。図13の上側の図は、カメラAから出力されるフレームに対する、オブジェクトの探索範囲の例を示す図であり、下側の図は、カメラBから出力されるフレームに対する、オブジェクトの探索範囲の例を示す図である。
図13の上側の図に示す通り、探索範囲設定部112は、図12の上側の図における人物C1の位置から、探索範囲A1を求めている。また、探索範囲設定部112は、室内への出入口部分の領域を探索範囲N1として求めている。また、探索範囲設定部112は、フレームの外縁部を、探索範囲N2およびN3として求めている。そして、探索範囲設定部112は、求めた探索範囲A1、N1〜N3をまとめた情報を探索範囲情報として、認識型オブジェクト検出部111および表示制御部150または表示制御部300に出力する。そして、表示制御部150または表示制御部300は、表示装置30にこの探索範囲情報によって示される探索範囲を、画面上に表示可能な表示データに変換し、表示装置30に送信する。
表示制御部150または表示制御部300から表示データを受け取った表示装置30は、図13の上側の図に示すように、画面上に探索範囲を表示する。
次に、図13の下側の図について説明する。図13の下側の図に示す通り、探索範囲設定部112は、図12の下側の図における人物C1および人物C2の位置から、夫々、探索範囲B1および探索範囲B2を求めている。また、探索範囲設定部112は、フレームの外縁部を、探索範囲N4〜N7して求めている。そして、探索範囲設定部112は、求めた探索範囲B1、B2、N4〜N7をまとめた情報を探索範囲情報として、認識型オブジェクト検出部111および表示制御部150または表示制御部300に出力する。そして、表示制御部150または表示制御部300は、表示装置30にこの探索範囲情報によって示される探索範囲を、画面上に表示可能な表示データに変換し、表示装置30に送信する。
表示制御部150または表示制御部300から表示データを受け取った表示装置30は、図13の下側の図に示すように、画面上に探索範囲を表示する。
なお、表示装置30は、探索範囲を、領域毎に異なる様態となるように表示してもよい。例えば、表示装置30は、既に検出されたオブジェクトに対する探索範囲と、フレームの外縁部に対する探索範囲とを、互いに異なる色で表示してもよい。
そして、統合追跡部200が、その後のフレームにおいて検出された、人物C1と人物C2とに関するトラッカーを生成する。そして、統合追跡部200は、人物C1および人物C2の夫々動線を表示するために必要な情報を追跡情報として、表示制御部300に出力する。
統合追跡部200から追跡情報を受け取った表示制御部300は、該追跡情報を表示装置30に表示可能な表示データに変換し、該表示データを表示装置30に送信する。
そして、表示装置30は、表示制御部300から受信した表示データを画面に表示する。図14は、表示装置30が、人物C1および人物C2の夫々の追跡結果を示した動線を画面(表示画面)に表示した際の例を示す図である。図14に示す通り、本適用例では、表示画面には、共通座標系におけるXY平面でオブジェクトの追跡結果が表示されるものとする。図14では、人物C1の動線が実線で、人物C2の動線が一点鎖線で表示される。このように、表示装置30は、オブジェクトの追跡結果を画面に表示することができる。
<第3の実施の形態>
次に、本発明の第3の実施の形態について、図面を参照して説明する。なお、説明の便宜上、前述した第1および第2の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
本実施の形態に係る物体追跡装置10は、図1に示した物体追跡装置10の検出部100の代わりに、検出部400を備える構成である。この検出部400の構成について、図15を参照して説明を行う。図15は、本実施の形態に係る物体追跡装置10の検出部400の機能構成の一例を示す機能ブロック図である。
検出部400は、図4および図5に示す検出部100のオブジェクト検出部110に代えて、オブジェクト検出部140を備える。また、検出部400は、記憶部160を更に備える構成である。つまり、本実施の形態に係る検出部400は、図15に示す通り、オブジェクト検出部140と、共通座標変換部120と、個別座標変換部130と、記憶部160とを備える。
本実施の形態では、第1の実施の形態に係る物体追跡装置10の検出部100のオブジェクト検出部110の代わりに、オブジェクト検出部140を備える構成を例に説明を行う。なお、本発明はこれに限定さえるものではなく、第2の実施の形態に係る物体追跡装置50の検出部100のオブジェクト検出部110の代わりにオブジェクト検出部140を備える構成であってもよい。つまり、本実施の形態に係る検出部100は、表示制御部150または表示制御部300に表示対象となるデータを出力する構成であってもよい。
記憶部160には、座標系の変換の際に使用される、カメラ20毎のカメラパラメータが格納されている。更に、記憶部160には、個別座標変換部130が、追跡情報に含まれる共通座標系の座標値が紐付けられたカメラ20で撮影される範囲に含まれるか否かを確認する際に使用する共通座標系の座標値の範囲を示す情報が格納されている。また、記憶部160には、カメラ20で撮影した映像が格納されてもよい。なお、この映像は一時的に格納されるものであってもよい。
なお、図15では、記憶部160が検出部400内に内蔵されることを例に説明を行うが、本発明はこれに限定されるものではない。記憶部160は、検出部400とは、別に、物体追跡装置10内に設けられるものであってもよい。また、記憶部160は、物体追跡装置10とは別個の記憶装置等で実現されるものであってもよい。
次に、検出部400のオブジェクト検出部140の詳細な機能構成について、図16を参照して説明する。図16は、本実施の形態に係る検出部400のオブジェクト検出部140の機能構成の一例を示す機能ブロック図である。図16に示す通り、オブジェクト検出部140は、認識型オブジェクト検出部(第1の物体検出手段)141と、非認識型オブジェクト検出部(第2の物体検出手段)142と、検出パラメータ更新部143と、検出結果統合部144とを備えている。
本実施の形態では、辞書(識別器)等を用いたオブジェクト検出を「認識型オブジェクト検出」と呼ぶ。一方、識別器等を用いないオブジェクト検出を、「非認識型オブジェクト検出」と呼ぶ。
認識型オブジェクト検出部141は、認識型オブジェクト検出部141に入力されるカメラ映像からオブジェクトを検出する。認識型オブジェクト検出部141は、フレーム全体に対してオブジェクトの検出を行う。なお、認識型オブジェクト検出部141は、図16に破線で示す通り、後述する検出パラメータ更新部143から出力される探索範囲情報に基づいて、オブジェクト検出を行ってもよい。このとき、認識型オブジェクト検出部141は、第1の実施の形態において説明した認識型オブジェクト検出部111と同様の方法で、オブジェクト検出を行う。
また、認識型オブジェクト検出部141は、探索範囲情報が検出パラメータ更新部143から出力されないとき、フレーム全体に対してオブジェクト検出を行うのではなく、別の基準を用いて、オブジェクト検出を行ってもよい。例えば、認識型オブジェクト検出部141は、シルエット情報を利用して、シルエットがある領域とその周囲の領域に対してのみオブジェクトの検出を行ってもよい。
認識型オブジェクト検出部141は、オブジェクト検出の検出結果を第1の検出結果として、検出結果統合部144に出力する。
また、認識型オブジェクト検出部141は、後述する非認識型オブジェクト検出部142によるオブジェクト検出に備えて、この時点で、オブジェクトの外見特徴を抽出してもよい。オブジェクトの外見特徴としては、オブジェクトの色、模様、形状などの情報が挙げられるが本発明はこれに限定されるものではない。認識型オブジェクト検出部141は、オブジェクトの外見特徴としてこれらの特徴量を抽出する。この際、認識型オブジェクト検出部141によるオブジェクト検出で用いる領域と、非認識型オブジェクト検出部142によるオブジェクト検出で用いる領域とは同一でなくてもよい。例えば、オブジェクトが人物の場合、認識型オブジェクト検出部141によるオブジェクト検出では、頭部を検出し、非認識型オブジェクト検出部142によるオブジェクト検出では、服の領域までを検出するとする。このとき認識型オブジェクト検出部141は、該服の領域を含むように、オブジェクトの外見特徴の特徴量を抽出する。そして、認識型オブジェクト検出部141は、抽出された特徴量をテンプレート情報として、抽出に用いた領域を示す情報(抽出領域情報)とともに出力してもよい。また、認識型オブジェクト検出部141は、特徴量自体を認識型オブジェクト検出部141内部で保持しておき、その特徴量を識別するための情報のみを出力してもよい。
検出パラメータ更新部143は、個別座標変換部130から、個別座標系で表現された追跡情報を受信する。そして、検出パラメータ更新部143は、この追跡情報を用いて、オブジェクト検出に必要なパラメータ(検出パラメータと呼ぶ)を求める。この検出パラメータは、オブジェクト検出処理で必要となるパラメータ類である。検出パラメータには、例えば、オブジェクトの現フレームにおける予測位置(予測領域)、オブジェクト検出を適用する探索範囲、テンプレートマッチングに用いるテンプレートのサイズ、以前にトラッカーに対応付いたターゲットのテンプレートの特徴量(テンプレート情報)等が含まれる。なお、検出パラメータには、これら全ての情報が含まれていなくてもよく、非認識型オブジェクト検出部142によるオブジェクト検出に必要なパラメータが含まれていればよい。また、検出パラメータには、前フレームにおけるオブジェクトの追跡結果でトラッカーと対応づいたターゲットの情報が含まれてもよい。
例えば、検出パラメータ更新部143は、前フレームで検出され、トラッカーに対応付けられたターゲット(オブジェクト)に対して、該オブジェクトの追跡情報に基づいて、現フレームにおけるオブジェクトが存在する位置を予測位置として求める。この予測処理は、第1の実施の形態に係る探索範囲設定部112における予測位置の予測処理と同様である。なお、検出パラメータ更新部143は、この予測位置を含む領域を予測領域として求めてもよい。
また、例えば、検出パラメータ更新部143は、上記予測領域を中心として、テンプレートマッチングによるオブジェクト検出を適用する範囲を求め、この範囲を検出パラメータに含まれるオブジェクトの探索範囲として含めてもよい。
検出パラメータ更新部143は、上記検出パラメータを、追跡情報に含まれる各オブジェクトに対して求める。そして、検出パラメータ更新部143は、求めた検出パラメータを、オブジェクト検出処理に用いる検出パラメータとして更新する。そして、検出パラメータ更新部143は、この検出パラメータを非認識型オブジェクト検出部142に出力する。
なお、検出パラメータ更新部143は、上述した第1の実施の形態に係る検出部100の探索範囲設定部112と同様に、個別座標系の座標値に変換された追跡情報を用いて、オブジェクトの探索範囲を求めてもよい。そして、検出パラメータ更新部143は、求めたオブジェクトの探索範囲を示す探索範囲情報を、認識型オブジェクト検出部141に出力してもよい。
非認識型オブジェクト検出部142は、検出パラメータ更新部143から、検出パラメータを受信する。そして、非認識型オブジェクト検出部142は、受信した検出パラメータに基づいて、非認識型オブジェクト検出部142に入力されるカメラ映像からオブジェクトを検出する。この非認識型オブジェクト検出部142は、認識型オブジェクト検出部141とは異なり、前のフレームにおいて検出されたオブジェクトの外見の類似性に基づいてオブジェクトの検出を行う。
即ち、非認識型オブジェクト検出部142は、前のフレームにおいて、オブジェクトが検出された際、その領域の画像特徴(または検出領域の部分画像そのものでもよい)をテンプレートとして記憶しておく。そして、非認識型オブジェクト検出部142は、この記憶したテンプレートと類似する領域が現フレームに存在するかどうかをテンプレートマッチングにより調べることによって、オブジェクト検出を行う。この際に用いる画像の特徴としては、例えば、色のパターンおよび分布に関する情報、エッジおよび輝度勾配の分布情報、あるいは、これらを組み合わせてできる特徴等を用いることができる。
非認識型オブジェクト検出部142におけるオブジェクト検出を行う際に使用する検出パラメータは、検出パラメータ更新部143から出力される検出パラメータによって制御される。具体的には、非認識型オブジェクト検出部142は、検出パラメータ更新部143によって予測された、オブジェクトの予測位置(予測領域)およびその近辺に対してテンプレートマッチングによるオブジェクト検出を行う。即ち、非認識型オブジェクト検出部142は、予測されるオブジェクト存在範囲(予測領域)を中心として、テンプレートマッチングの探索範囲を設定し、その周辺に対してテンプレートマッチングを行う。また、この際、非認識型オブジェクト検出部142は、オブジェクトの位置の移動によってオブジェクトの見かけの大きさが変化することも考慮してもよい。この変化は、カメラパラメータを用いることによって算出可能である。そのため、非認識型オブジェクト検出部142は、オブジェクトの大きさの変化を計算し、テンプレートに反映させてからテンプレートマッチングを行うようにしてもよい。
また、非認識型オブジェクト検出部142がテンプレートマッチングを行うテンプレートの情報は、前のフレームにおけるオブジェクト検出処理において、認識型オブジェクト検出部141が抽出した特徴量であってもよい。
このように、非認識型オブジェクト検出部142は、統合追跡部200によって追跡された物体に対する追跡結果に基づいて、オブジェクト検出を行うため、上記追跡結果を用いない場合に比べ、検出の精度を向上させることができる。
そして、非認識型オブジェクト検出部142は、オブジェクト検出の検出結果を第2の検出結果として、検出結果統合部144に出力する。
検出結果統合部144は、認識型オブジェクト検出部141から第1の検出結果を受信する。また、検出結果統合部144は、非認識型オブジェクト検出部142から第2の検出結果を受信する。そして、検出結果統合部144は、第1の検出結果と、第2の検出結果とを統合する。そして、検出結果統合部144は、統合した結果をオブジェクト検出部140におけるオブジェクト検出の検出結果として、共通座標変換部120に出力する。
第1の検出結果および第2の検出結果の両方に含まれているオブジェクトと、どちらか一方のみに含まれているオブジェクトとが存在する場合がある。そのため、検出結果統合部144は、第1の検出結果と第2の検出結果とのそれぞれに含まれるオブジェクト同士の対応付けを行い、統合する。この対応付けには、例えば、オブジェクト領域の重なりの度合いを用いることができる。
即ち、検出結果統合部144は、オブジェクト領域同士の重なり比率(例えば、オブジェクト外接矩形の重なり比率)を算出し、これが所定の値より大きくなる場合に第1の検出結果に含まれるオブジェクトと、第2の検出結果に含まれるオブジェクトとを対応付ける。
また、検出結果統合部144は、オブジェクト間の領域の重なり比率を重みとするグラフ問題として定式化し、オブジェクト間の対応付けを行ってもよい。例えば、検出結果統合部144は、重なり比率を単調非増加関数によってコストに変換したのち、ハンガリアン法等を用いて、最適な対応付けを計算することにより、オブジェクト間の対応付けを行う。
検出結果統合部144は、対応付けを行った結果、対応付けの際に用いた値(例えば、重なり比率またはコスト)が、所定の値より大きいものはこの時点でマージしてもよい。また、検出結果統合部144は、この時点ではマージせず、対応づくという情報を生成してもよい。そして、検出結果統合部144は、第1の検出結果と第2の検出結果とを合わせた検出結果に、該対応付くという情報を付随させた結果をオブジェクト検出部140の検出結果として出力し、統合追跡時に対応付けの情報を用いて追跡を行うようにしてもよい。
また、非認識型オブジェクト検出部142は、前フレームに対するオブジェクトの追跡結果に基づいて、第2の検出結果を出力する。このため、この第2の検出結果の方が、第1の検出結果よりも遅れて生成される場合がある。このような場合には、検出結果統合部144は、第1の検出結果を、一旦、検出結果統合部144内のバッファ等の記憶手段または記憶部160に蓄えておく。そして、検出結果統合部144は、該第1の検出結果を生成する対象となるフレームに対応するフレームに対する第2の検出結果を受信した時点で、両結果を統合してもよい。
以上のように、本実施の形態に係る物体追跡装置10の検出部400は、認識型オブジェクト検出部141によるオブジェクト検出の結果(第1の検出結果)と、非認識型オブジェクト検出部142によるオブジェクト検出の結果(第2の検出結果)とを統合した結果を、検出結果として出力する。このとき、非認識型オブジェクト検出部142は、統合追跡部200によって追跡された物体に対する追跡結果に基づいて、テンプレートマッチングを行うことにより、オブジェクトを検出する。これにより、検出部400は、オブジェクトを識別することによるオブジェクト検出(認識型オブジェクト検出)のみを行う場合に比べ、よりオブジェクト検出の精度をより向上させることができる。
したがって、物体追跡装置10は、より高精度にオブジェクトの追跡を行うことができる。
<第4の実施の形態>
次に、本発明の第4の実施の形態について、図面を参照して説明する。なお、説明の便宜上、前述した各実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
本実施の形態に係る物体追跡装置10は、図1に示した物体追跡装置10の統合追跡部200代わりに、統合追跡部500を備える構成である。この統合追跡部500の構成について、図17を参照して説明を行う。図17は、本実施の形態に係る物体追跡装置10の統合追跡部500の機能構成の一例を示す機能ブロック図である。図17に示す通り、統合追跡部500は、バッファ部510と、予測部210と、記憶部220と、対応付け部530と、更新部240と、を備えている。
本実施の形態では、第1の実施の形態に係る物体追跡装置10の統合追跡部200の代わりに、統合追跡部500を備える構成を例に説明を行う。なお、本発明はこれに限定さえるものではなく、第2の実施の形態に係る物体追跡装置50の統合追跡部200の代わりに統合追跡部500を備える構成であってもよい。つまり、本実施の形態に係る統合追跡部500は、表示制御部300に表示対象となるデータを出力する構成であってもよい。
また、本実施の形態に係る統合追跡部500に検出結果を出力する検出部は、第3の実施の形態において説明した検出部400であってもよい。
バッファ部510は、検出部100から出力される共通座標系で表現された検出結果を一時的に格納する手段である。そして、バッファ部510にバッファリングされたデータ(検出結果)のうち、検出が行われたカメラ映像に含まれる時間情報が所定期間内であるデータは、対応付け部530によって取得される。この所定期間は周期的な期間である。そして、対応付け部530は、ある周期で取得した1または複数の検出結果を用いて、オブジェクト追跡を行う。このように、本実施の形態における統合追跡部500は、各カメラ20からの映像のうち、複数のカメラの映像を用いてオブジェクト追跡を行うため、一括追跡部とも呼ぶ。
この統合追跡部500が行う、オブジェクト追跡(一括統合追跡とも呼ぶ。)について、図18を用いて説明する。図18は、本実施の形態に係る統合追跡部500が行うオブジェクトの一括追跡処理を説明するための図である。図18には、図7と同様に、カメラ数が3つの場合に、カメラA、カメラB、カメラCの夫々で画像を取得するタイミングの一例を示している。図18において、横軸は、時間軸を示しており、右側にいくほど、時間的に後であることを示している。図18に示す通り、カメラAは時間t1、t5およびt8で画像を取得している。同様に、カメラBは、時間t2、t4、t6およびt9で画像を取得し、カメラCは時間t3およびt7で画像を取得している。
そして、これらの各タイミングで取得された画像は、順にオブジェクト検出が行われる。以下では、説明の便宜上、図18に示す時間は、オブジェクトの検出結果が出力された時間とほぼ同じであるとみなして説明を行う。つまり、時間t1は、カメラAによって撮影された映像のフレームに対する検出結果が検出部100から出力され、バッファ部510にバッファリングされた時間であるとする。
また、図18の最下部の時間軸は、周期的な期間の一例を示している。
対応付け部530は、バッファ部510にバッファリングされた1または複数の検出結果のうち、物体の検出の対象となったカメラ映像に含まれる時間情報が所定期間内である検出結果を取得する。なお、上述したとおり、この所定期間は周期的な期間である。また、本実施の形態では、バッファリングされた時間と、カメラ映像の時間とは同じであるとみなしている。そのため、対応付け部530は、バッファ部510にバッファリングされた1または複数の検出結果を、所定の周期で取得するともいえる。
具体的には、対応付け部530は、まず、最初の期間T1でバッファリングされた検出結果を取得する。つまり、対応付け部530は、時間t1、t2、t3でバッファリングされた検出結果を取得する。時間t1でバッファリングされた検出結果は、カメラAによって撮影された映像のフレームに対する検出結果である。また、時間t2でバッファリングされた検出結果は、カメラBによって撮影された映像のフレームに対する検出結果であり、時間t3でバッファリングされた検出結果は、カメラCによって撮影された映像のフレームに対する検出結果である。したがって、対応付け部530は、バッファ部510に所定期間(この場合T1)内でバッファリングされた検出結果であって、複数のカメラ20の夫々で撮影された映像のフレームに対する、複数の検出結果を、バッファ部510から取得する。そして、対応付け部530は、取得した検出結果を用いて、オブジェクト追跡を行う。
また、対応付け部530は、同様に、期間T2、T3、T4においても、この周期的な期間内でバッファリングされた検出結果を取得し、オブジェクト追跡を行う。
なお、本実施の形態では、対応付け部530がバッファ部510にバッファリングされたデータ(複数の検出結果)を、所定の周期でバッファ部510から取得する構成について説明するが、対応付け部530は、所定の周期でバッファ部510からこのデータを受信する構成であってもよい。つまり、バッファ部510は、このデータを、所定の周期で対応付け部530に出力する機能を有してもよい。
図17に戻り、統合追跡部500の対応付け部530について更に説明する。
対応付け部530は、取得した各検出結果に含まれるターゲットの位置から、ターゲット間の距離を求め、該距離が近いターゲット同士を互いに対応付ける。このとき、対応付け部530は、ターゲット間の距離を用いて、ハンガリアン法等の手法によって、対応付けを行う。また、対応付け部530は、ターゲット間の距離に加え、ターゲットの外見特徴の類似性も同時に用いてもよい。例えば、位置が近く、近似した色を有するターゲット同士は同一のオブジェクトである可能性が高い。よって、対応付け部530は、このような特徴を用いて対応付けを行ってもよい。なお、外見特徴の類似性を判定するための特徴は、色に限定されず、例えば、ターゲットの模様等であってもよい。
そして、対応付け部530は、互いに対応付けされたターゲットに対する検出結果同士を統合する。つまり、対応付け部530は、ターゲット間の対応付けを行った後、対応付いたターゲットの夫々の検出結果を用いて、オブジェクトの位置を求める。この際、対応付け部530は、各ターゲットの尤度および/または予測位置の確度を評価し、この確度が最大となる位置を、オブジェクトの位置としてもよい。
また、対応付け部530は、各ターゲットに対するカメラ20の角度(俯角または仰角)および該カメラ20からターゲットまでの距離等によって定まる予測位置の確度に基づいて、各ターゲットの位置に対し重みづけをしてもよい。そして、対応付け部530は、重みづけした位置から、例えば、平均値などの統計量を算出し、該算出した統計量によって示される位置を、オブジェクトの位置としてもよい。
そして、対応付け部530は、求めたオブジェクトの位置を、検出結果を取得した周期に対するターゲットの位置とする。対応付け部530は、このターゲットの位置を用いて、第1の実施の形態に係る対応付け部230と同様に、対応付けを行う。また、統合追跡部500による、対応付けの処理およびその後の処理については、第1の実施の形態において説明した統合追跡部200における処理と同様であるため、説明を省略する。
また、対応付け部530は、ターゲット間の対応付けを行う前に、各ターゲットとトラッカーとの対応付けを行い、統合してもよい。つまり、対応付け部530は、同じトラッカーに対応付けされたターゲットが複数ある場合、これらのターゲットの間でマージ処理を行う。この場合、対応付け部530は、各ターゲットの尤度および/または予測位置の確度がより高いものを優先して、マージを行ってもよい。このように、対応付け部530は、これらの情報に基づいて、検出結果を評価し、同じトラッカーに対応付いたターゲットを統合してもよい。
以上のように、本実施の形態に係る物体追跡装置10は、所定の期間内に、各カメラ20で撮影されたカメラ映像に対する検出結果の全てを用いてオブジェクト追跡を行う。これにより、物体追跡装置10は、複数のカメラ20間で、オブジェクトの検索結果の優先付けを行い、オブジェクト追跡を行う処理を適用しやすくなる。
また、例えば、全てのカメラ20のフレームレートが安定して同じである場合、フレーム間隔に従って、所定期間を設定することにより、全カメラ20のフレームは、この所定期間に含まれる。したがって、本実施の形態に係る物体追跡装置10は、全カメラ20に対するフレームに対し、オブジェクト追跡を行うことができる。これにより、物体追跡装置10は、複数のカメラ20から同時に見えているオブジェクトに対し、同時に検出結果を評価できるようになるため、検出結果の信頼性を、追跡によりダイレクトに反映できるようになる。
<第5の実施の形態>
本発明の第5の実施の形態について説明する。本実施の形態では、本発明の課題を解決する最小の構成について説明を行う。
本実施の形態に係る物体追跡装置10は、第1の実施の形態において説明した図1に示す物体追跡装置10と同様の構成であるため、図1を参照して説明を行う。
図1に示す通り、本実施の形態に係る物体追跡装置10は、複数の検出部(100−1〜100−N)(Nは自然数)と、統合追跡部200とを備えている。なお、本実施の形態では、複数の検出部(100−1〜100−N)の夫々を区別しない場合、または、総称する場合には、これらを検出部100と呼ぶ。
複数の検出部100の夫々は、センサから出力される出力情報から物体を検出する。なお、図1においては、センサをカメラとし、センサの出力情報をカメラ映像(映像データ)として記載しているが、センサはカメラに限定されるものではない。具体的には、検出部100は、統合追跡部200から出力される追跡情報に基づいて、物体を検出する。検出部100は、検出結果を統合追跡部200に出力する。
統合追跡部200は、複数の検出部(100−1〜100−N)の夫々によって出力された、複数の検出結果に基づいて、該検出結果によって示される1または複数の物体の夫々を追跡する。そして、統合追跡部200は、追跡結果として、共通座標系で表現された物体の追跡情報を生成する。そして、統合追跡部200は、複数の検出部(100−1〜100−N)の夫々に出力する。
このように、本実施の形態に係る物体追跡装置10の検出部100は、統合追跡部200によって追跡された物体に対する追跡結果に基づいて、センサから出力された出力情報から物体を検出する。
このように、物体追跡装置10は、前のフレームに対する追跡結果を用いて、映像からオブジェクトを検出するため、該追跡結果を用いない場合に比べ、オブジェクトの検出精度を高めることができる。また、カメラ20の夫々で撮影された映像に対するオブジェクトの検出結果全てを用いてオブジェクト追跡を行うため、物体追跡装置10は、カメラ毎に独立にオブジェクト追跡を行う場合に比べ、追跡精度を向上できる。また、物体追跡装置10は、検出精度が高い検出結果の全てを用いてオブジェクト追跡を行うため、より高精度に物体を追跡することができる。
なお、上述した各実施の形態では、物体追跡装置10は、検出部(100、400)と統合追跡部(200、500)とを含むことを例に説明したが、この検出部と統合追跡部とは夫々別個の装置で実現されるものであってもよい。つまり、検出部(100、400)は、物体検出装置として、統合追跡部(200、500)は、統合追跡装置として、夫々、別個の装置で実現されるものであってもよい。また、表示制御部300も、物体追跡装置50とは別個の表示制御装置で実現されるものであってもよい。この表示制御装置は、表示装置30内に内蔵されるものであってもよい。
<第6の実施の形態>
本発明の第6の実施の形態について説明する。本実施の形態に係る物体追跡装置10は、第1の実施の形態において説明した図1に示す物体追跡装置10と同様の構成であるため、図1を参照して説明を行う。なお、本実施の形態に係る物体追跡装置10は、第1の実施の形態に係る物体追跡装置10に、更に以下に説明する機能を追加した構成であるとするが、本発明はこれに限定されるものではない。本実施の形態に係る物体追跡装置10は、上述した第2から第5の実施の形態に係る物体追跡装置にも適用可能である。
本実施の形態では、統合追跡部200が、更に、オブジェクトの見え方に関する情報を取得し、取得した情報を追跡情報に含める。そして、検出部100が、統合追跡部200から出力された追跡情報に含まれる各オブジェクトの見え方に関する情報を用いて、オブジェクトの検出を制御する。
このオブジェクトの見え方に関する情報(以降、見え方情報)とは、各カメラ20の位置からオブジェクトを見たときに、各オブジェクトがどのように見えるかに関する情報であり、各トラッカーのオブジェクトの位置によって定まるものである。
例えば、あるカメラ20からあるオブジェクトと他のオブジェクトとを見たときに、あるオブジェクトが他のオブジェクトの前(カメラ20側)にある場合を考える。この場合、後ろ側のオブジェクト(他のオブジェクト)は、前側のオブジェクト(あるオブジェクト)に隠れてしまい、カメラ20から見えなくなる可能性が高くなる。このとき、統合追跡部200は、このようなオブジェクト同士の重なりを表す情報を、見え方情報として、他のオブジェクトに関するトラッカー(追跡結果)に含め、該追跡結果を出力する。
次に、本実施の形態に係る物体追跡装置10の各部の具体的な動作について説明する。
統合追跡部200は、例えば、図6に示した記憶部220などに、各カメラ20の配置に関する情報を格納している。カメラ20の配置に関する情報とは、例えば、各カメラ20がどの位置に配置されているのか、どの方向を撮影しているのか等を示す情報である。また、統合追跡部200は、カメラ20の配置に関する情報として、撮影空間の照明の位置や向き、照明の特性に関する情報、撮影空間のどの位置が明るいまたは暗いのかといった照明条件に関する情報を含んでもよい。また、統合追跡部200は、カメラ20の配置に関する情報として、撮影空間の方角情報も保持していてもよい。
統合追跡部200は、前述した各実施の形態に係る統合追跡部200と同様に、各トラッカーによって示されるオブジェクトの現フレーム上の動きを予測し、ターゲットとトラッカーとを対応付けることにより、トラッカーの位置を求める。
そして、統合追跡部200は、求めたトラッカーの位置と、各トラッカーの動きの情報とから、各カメラ20によって撮影された撮影画像上での各トラッカーによって示されるオブジェクトの位置を予測する。
そして、統合追跡部200は、各カメラ20の配置に関する情報を参照し、予測した位置の各オブジェクトが、各カメラ20から見たときに、どのように見えるか(見え方)を予測する。つまり、統合追跡部200は、複数のカメラ20の夫々に対し、次に撮影したタイミングにおいて、上記各トラッカーによって示されるオブジェクト同士が、重なり合うかどうかを予測する。
そして、統合追跡部200は、予測した見え方に基づいて、あるカメラ20の撮影画像上において、オブジェクト同士が重なっていると判定した場合には、オブジェクトが重なって見えない可能性があることを示す情報(見え方情報)を生成する。
例えば、統合追跡部200は、あるカメラ20と予測したあるオブジェクトとを結ぶ線分の間に、予測した他のオブジェクトがあるかどうかを判定する。予測した他のオブジェクトが上記線分の間にある場合には、このあるオブジェクトが、他のオブジェクトと重なる可能性が高い。そのため、統合追跡部200は、隠される(重なる)オブジェクトの情報、および重なり合う度合(尤度)を、上記あるオブジェクトに対する見え方情報として求める。
そして、統合追跡部200は、このあるオブジェクトの追跡結果に、この判定結果を見え方情報として含めてもよい。
そして、統合追跡部200は、あるカメラ20によって撮影された撮影画像上から見えなくなる可能性が高いオブジェクトの追跡情報に、生成した見え方情報を含める。このとき、見え方情報には、オブジェクトが見えなくなる可能性が高いカメラ20を示す情報を含むことが好ましい。
そして、統合追跡部200は、見え方情報を含んだ追跡情報を、各検出部100に出力する。なお、統合追跡部200は、見え方情報を含んだ追跡情報を、オブジェクトが重なって見えない可能性が高いカメラ20(あるカメラ20)に関連付けられた検出部100に出力してもよい。そして、統合追跡部200は、見え方情報を含まない追跡情報を他のカメラ20に関連付けられた物体追跡装置10に出力してもよい。
また、オブジェクトの位置に応じて照明の当たり方が変わり、該オブジェクトの色合いや明るさが変化することがわかっている場合には、統合追跡部200は、オブジェクトの位置に応じた見え方の変化を記述した情報を追跡情報に含めてもよい。
例えば、照明の当たり方がオブジェクトの位置によって定まる場合には、統合追跡部200は、その位置から照明の当たり方を予測し、明るくなる、暗くなる、色味が変化するといった情報を、トラッカーごとに追跡情報に含めてもよい。
また、オブジェクトが配置された空間における照明の位置がわかっている場合には、統合追跡部200は、照明およびオブジェクトの関係から、オブジェクトまたはこの環境に配置されている他の物体の影が、他のオブジェクトに重なるか否か判定する。そして、影が重なる可能性がある場合には、統合追跡部200は、影が重なるオブジェクトに対して、影が重なる可能性(尤度)を算出し、追跡情報に含めるようにする。
また、太陽のように、移動する場合であっても、統合追跡部200は、時刻と現場の方角の情報とから太陽の位置を求め、影のできる方向を予測し、オブジェクトの見え方に与える影響を考慮するようにしてもよい。例えば、統合追跡部200は、時刻情報から太陽の現在位置を求め、方角情報と合わせて、どちらの方向に影ができるかを予測する。そして、統合追跡部200は、他のオブジェクトの影がかかる可能性がある場合に影が重なる可能性(尤度)を算出し、追跡情報に含めるようにすればよい。
次に、検出部100の動作について説明する。検出部100は、上述した各実施の形態と同様に、追跡情報に基づいて、オブジェクトを検出する。このとき、本実施の形態に係る物体追跡装置10の検出部100は、追跡情報に含まれる各オブジェクトの見え方に関する情報を用いて、オブジェクトの検出を制御する。具体的には、検出部100は、他のオブジェクトと重なって見えない可能性が高いオブジェクトに関しては、検出を行わないようにする。例えば、検出部100は、この見えない可能性が高いオブジェクトに対して、探索範囲を設定しないようにする。
なお、明るさや色合いが変化する情報が追跡情報に含まれている場合には、検出部100は、探索する際にその照明の効果を補正して検出をかけるようにしてもよい。たとえば、暗い領域では、検出部100は、その領域の画素値を明るめに補正してから、検出をかけるようにしてもよい。
また、色合いが変化する場合には、検出部100は、テンプレートマッチングで用いるマッチングのパラメータ(つまり、上述した検出パラメータ)を更新する際に、その色合いの変化を考慮して、該パラメータの色の情報を補正してもよい。また、色合いの変化が大きい場合には、検出部100は、色の情報を用いないようにしてもよい。また、検出部100は、テンプレートの特徴の中で、色の情報の重みを下げ、エッジ等の他の特徴の重みを高めてマッチングを行うようにしてもよい。
また、検出部100で、オブジェクト検出処理に用いる検出パラメータを更新する際に、該オブジェクトが重なっている可能性が高いと判断される場合には、検出パラメータの更新を行わないようにしてもよい。
以上のように、検出部100は、追跡情報に含まれる見え方情報に基づいて、物体の検出を制御する。これにより、検出部100は、見えないオブジェクトを検出する処理や、テンプレートマッチング等のパラメータを更新する処理を削減することができる。これにより、検出部100は、誤検出や誤ったパラメータの更新の可能性を低減することができる。
同様に、検出部100は、照明条件が変わった可能性が高い場合には、その効果を補正してパラメータを更新するように制御してもよいし、パラメータの更新を行わないように制御してもよい。
また、複数の検出アルゴリズムが切り替えられるようになっている場合には、物体追跡装置10は、検出部100として、より重なりに強い検出器を用いるようにしてもよい。具体的には、物体追跡装置10は、通常は頭部全体を検知する検出器を用いるが、重なっている場合には、頭部全体ではなく、頭部の一部分のみを検知する検出器を用いるようにしてもよい。これにより、物体追跡装置10は、通常時は、シンプルな検出器を用い、重なっている可能性がある場合には、より詳細な検出器を用いることができる。これにより、物体追跡装置10は、効率性を維持したうえで、高精度な検出が可能になる。同様に、物体追跡装置10は、照明条件が変化した場合には、その照明条件に対して頑健性が高い検出器(特徴量)を用いて、検出を制御してもよい。
以上のように本実施の形態に係る物体追跡装置10は、統合追跡部200が、他のカメラの情報も使ってオブジェクトの見え方の判定をする。そのため、統合追跡部200は、あるカメラ20からは、オブジェクト同士が重なって映る場合など、そのカメラ20だけでは判定が難しい場合でも高精度に見え方を判定することができる。そして、統合追跡部200はこの結果を、検出部100にフィードバックすることができる。これにより、検出部100は、オブジェクトの誤検出を低減できる。そして、統合追跡部200は、この検出結果を用いてオブジェクト追跡を行うため、オブジェクトの追跡精度を向上させることができる。
<ハードウェアの構成例>
ここで、上述した各実施の形態に係る物体追跡装置(10、50)を実現可能なハードウェアの構成例について説明する。上述した物体追跡装置(10、50)は、専用の装置として実現してもよいが、コンピュータ(情報処理装置)を用いて実現してもよい。
図19は、本発明の各実施の形態を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示する図である。
図19に示した情報処理装置(コンピュータ)700のハードウェアは、CPU(Central Processing Unit)11、通信インタフェース(I/F)12、入出力ユーザインタフェース13、ROM(Read Only Memory)14、RAM(Random Access Memory)15、記憶装置17、及びコンピュータ読み取り可能な記憶媒体19のドライブ装置18を備え、これらがバス16を介して接続された構成を有する。入出力ユーザインタフェース13は、入力デバイスの一例であるキーボードや、出力デバイスとしてのディスプレイ等のマンマシンインタフェースである。通信インタフェース12は、上述した各実施の形態に係る装置(図1、図9)が、外部装置と、通信ネットワーク600を介して通信するための一般的な通信手段である。係るハードウェア構成において、CPU11は、各実施の形態に係る物体追跡装置(10、50)を実現する情報処理装置700について、全体の動作を司る。
上述した各実施の形態を例に説明した本発明は、例えば、上記各実施の形態において説明した処理を実現可能なプログラム(コンピュータ・プログラム)を、図19に示す情報処理装置700に対して供給した後、そのプログラムを、CPU11に読み出して実行することによって達成される。なお、係るプログラムは、例えば、上記各実施の形態の説明において参照したフローチャート(図8)に記載した各種処理や、或いは、図1、図4〜図6、図9、図15〜図17に示したブロック図において当該装置内に示した各部(各ブロック)を実現可能なプログラムであってもよい。
また、情報処理装置700内に供給されたプログラムは、読み書き可能な一時記憶メモリ(15)またはハードディスクドライブ等の不揮発性の記憶装置(17)に格納されてもよい。即ち、記憶装置17において、プログラム群17Aは、例えば、上述した各実施の形態における物体追跡装置(10、50)内に示した各部の機能を実現可能なプログラムである。また、各種の記憶情報17Bは、例えば、上述した各実施の形態におけるオブジェクト追跡結果、カメラ映像、カメラパラメータ、各カメラ20で見える共通座標系の座標値の範囲等である。ただし、情報処理装置700へのプログラムの実装に際して、個々のプログラム・モジュールの構成単位は、ブロック図(図1、図4〜図6、図9、図15〜図17)に示した各ブロックの区分けには限定されず、当業者が実装に際して適宜選択してよい。
また、前記の場合において、当該装置内へのプログラムの供給方法は、CD(Compact Disk)−ROM、フラッシュメモリ等のコンピュータ読み取り可能な各種の記録媒体(19)を介して当該装置内にインストールする方法や、インターネット等の通信回線(600)を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード(プログラム群17A)或いは係るコードが格納された記憶媒体(19)によって構成されると捉えることができる。
以上、本発明を、上述した模範的な実施の形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施の形態に記載した範囲には限定されない。当業者には、係る実施の形態に対して多様な変更または改良を加えることが可能であることは明らかである。そのような場合、係る変更または改良を加えた新たな実施の形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。