(57)【要約】【課題】  対象物の移動をより高精度に追跡することを可能とする。【解決手段】  実施形態の追跡装置は、取得手段、向き判定手段、第１及び第２の位置判定手段を備える。取得手段は、複数のカメラから、対象物が映り込んでいる領域の領域データと、対象物までの距離の距離データとを取得する。向き判定手段は、領域データに基づいて、カメラからの対象物の方向と撮影中心方向とのずれ量を判定する処理を、複数のカメラに関して行う。第１の位置判定手段は、カメラの設置位置及び撮影中心方向、ずれ量、距離データに基づいて、対象物の施設内での位置を判定する処理を、複数のカメラに関して行う。第２の位置判定手段は、同時刻に関して誤差範囲内として判定された複数の位置から当該時刻における同一の対象物に関する位置を判定し、誤差範囲外として判定された複数の位置から当該時刻におけるそれぞれ別々の対象物に関する位置を判定する。【選択図】      図６
2020184733.tif 000002
【特許請求の範囲】
【請求項１】
施設内での設置位置及び撮影中心方向がそれぞれ既知である複数のカメラから、当該カメラによる撮影画像内で対象物が映り込んでいる領域を特定する領域データと、予め定められた基準位置から前記対象物までの距離を特定する距離データとをそれぞれ取得する取得手段と、
前記取得手段により取得された前記領域データに基づいて、前記カメラからの前記対象物の方向と前記撮影中心方向とのずれ量を判定する処理を、前記複数のカメラのそれぞれに関して行う向き判定手段と、
前記カメラの設置位置及び撮影中心方向と、前記向き判定手段により判定された前記ずれ量と、前記取得手段により取得された前記距離データとに基づいて、前記対象物の前記施設内での位置を判定する処理を、前記複数のカメラのそれぞれに関して行う第１の位置判定手段と、
前記第１の位置判定手段により同時刻に関して予め定められた誤差範囲内として判定された複数の位置の判定結果に基づいて当該時刻における同一の対象物に関する位置を判定し、前記第１の位置判定手段により同時刻に関して予め定められた誤差範囲外として判定された複数の位置の判定結果に基づいて当該時刻におけるそれぞれ別々の対象物に関する位置を判定する第２の位置判定手段と、
を具備した追跡装置。
【請求項２】
前記第２の位置判定手段による判定結果を時系列に表した追跡データを生成する生成手段、
をさらに備える請求項１に記載の追跡装置。
【請求項３】
前記第１の位置判定手段は、前記施設内に定められた３次元座標系における座標として、前記対象物としての人物の頭部の位置を判定する、
請求項１又は請求項２に記載の追跡装置。
【請求項４】
前記距離データが異常であることを検出する検出手段、
をさらに備え、
前記第１の位置判定手段は、前記検出手段により異常があることが検出された前記距離データに基づかずに、当該距離データとともに前記取得手段により取得された前記領域データに基づいて前記向き判定手段により判定されたずれ量に基づく位置の判定を行う
請求項１乃至請求項３のいずれか一項に記載の追跡装置。
【請求項５】
前記取得手段は、複数の前記カメラから前記領域データと前記距離データとを取得し、
前記向き判定手段は、前記取得手段により複数の前記領域データのそれぞれに基づいて複数の前記ずれ量を判定し、
前記第１の位置判定手段は、前記複数のカメラのそれぞれの設置位置及び撮影中心方向と、前記向き判定手段により判定された複数の前記ずれ量と、前記取得手段により取得された前記複数の距離データとに基づいて、前記対象物の位置を複数判定し、さらにこれら複数の位置の中間的な位置として前記対象物の前記施設内での位置を判定する、
請求項１乃至請求項４のいずれか一項に記載の追跡装置。
【請求項６】
追跡装置に備えられたコンピュータを、
施設内での設置位置及び撮影中心方向がそれぞれ既知である複数のカメラから、当該カメラによる撮影画像内で対象物が映り込んでいる領域を特定する領域データと、予め定められた基準位置から前記対象物までの距離を特定する距離データとをそれぞれ取得する取得手段と、
前記取得手段により取得された前記領域データに基づいて、前記カメラからの前記対象物の方向と前記撮影中心方向とのずれ量を判定する処理を、前記複数のカメラのそれぞれに関して行う向き判定手段と、
前記カメラの設置位置及び撮影中心方向と、前記向き判定手段により判定された前記ずれ量と、前記取得手段により取得された前記距離データとに基づいて、前記対象物の前記施設内での位置を判定する処理を、前記複数のカメラのそれぞれに関して行う第１の位置判定手段と、
前記第１の位置判定手段により同時刻に関して予め定められた誤差範囲内として判定された複数の位置の判定結果に基づいて当該時刻における同一の対象物に関する位置を判定し、前記第１の位置判定手段により同時刻に関して予め定められた誤差範囲外として判定された複数の位置の判定結果に基づいて当該時刻におけるそれぞれ別々の対象物に関する位置を判定する第２の位置判定手段と、
して機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、追跡装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
カメラで撮影された画像において人物が写り込んでいる領域の変化によって人物を追跡する技術は既に知られている。
しかしながら、カメラで撮影された画像は、カメラから人物までの距離の情報をほとんど含んでおらず、その情報を考慮しない追跡となっていた。このため、人物の移動軌跡を詳細に検出するには至っていなかった。
このような事情から、人物等の対象物の移動をより高精度に追跡できることが望まれていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４７９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、対象物の移動をより高精度に追跡することを可能とする追跡装置及び情報処理プログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の追跡装置は、取得手段、向き判定手段、第１及び第２の位置判定手段を備える。取得手段は、施設内での設置位置及び撮影中心方向がそれぞれ既知である複数のカメラから、当該カメラによる撮影画像内で対象物が映り込んでいる領域を特定する領域データと、予め定められた基準位置から対象物までの距離を特定する距離データとをそれぞれ取得する。向き判定手段は、取得手段により取得された領域データに基づいて、カメラからの対象物の方向と撮影中心方向とのずれ量を判定する処理を、複数のカメラのそれぞれに関して行う。第１の位置判定手段は、カメラの設置位置及び撮影中心方向と、向き判定手段により判定されたずれ量と、取得手段により取得された距離データとに基づいて、対象物の施設内での位置を判定する処理を、複数のカメラのそれぞれに関して行う。第２の位置判定手段は、第１の位置判定手段により同時刻に関して予め定められた誤差範囲内として判定された複数の位置の判定結果に基づいて当該時刻における同一の対象物に関する位置を判定し、第１の位置判定手段により同時刻に関して予め定められた誤差範囲外として判定された複数の位置の判定結果に基づいて当該時刻におけるそれぞれ別々の対象物に関する位置を判定する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る追跡装置の要部回路構成を示すブロック図。
【図２】図１中に示されるプロセッサによる追跡処理のフローチャート。
【図３】追跡データの構成を模式的に示す図。
【図４】図１に示されるインテリジェントカメラにおける認識エリアの判定の様子を示す図。
【図５】図４のように判定された認識領域に対して判定した検出位置を示す図。
【図６】図１中のプロセッサによる補正処理のフローチャート。
【図７】１人の人物に関して２つのインテリジェントカメラで判定された検出位置が一致しない様子の一例を示す図。
【図８】互いにすれ違う２人の人物に関して２つのインテリジェントカメラで判定された検出位置の違いの一例を表す図。
【図９】インテリジェントカメラによる撮影範囲の形勢状況の一例を模式的に示す平面図。
【図１０】追跡領域の形成状況を表す図。
【図１１】追跡データの補正の様子を示す図。
【図１２】追跡データの補正の様子を示す図。
【発明を実施するための形態】
【０００７】
以下、実施の形態の一例について図面を用いて説明する。
図１は実施形態に係る追跡装置１の要部回路構成を示すブロック図である。
追跡装置１は、店舗１００の売場１０１を撮影するように設けられた複数のインテリジェントカメラ１０２による人物１０３の検出結果に基づいて、当該人物１０３の売場１０１での行動を追跡する。
【０００８】
インテリジェントカメラ１０２は、動画を撮影する。インテリジェントカメラ１０２は、撮影した動画において人物１０３が写り込んでいる領域（以下、認識エリアと称する）を判定する。インテリジェントカメラ１０２は、撮影した動画に映り込んでいる人物１０３までのインテリジェントカメラ１０２からの距離を測定する。距離の測定方式は、ステレオカメラ方式又はＴｏＦ（time of flight）方式など、任意の方式を適用できる。インテリジェントカメラ１０２は、認識エリアを特定する領域データと、測定した距離を表す距離データとを含んだ検出データを、新たな認識エリアを判定する毎に出力する。
【０００９】
追跡装置１は、プロセッサ１１、メインメモリ１２、補助記憶ユニット１３、通信インタフェース１４及び伝送路１５を備える。
プロセッサ１１は、上記コンピュータの中枢部分に相当する。プロセッサ１１は、オペレーティングシステム、ミドルウェア及びアプリケーションプログラム等の情報処理プログラムに従って、追跡装置１としての各種の機能を実現するための情報処理を実行する。
【００１０】
メインメモリ１２は、上記コンピュータの主記憶部分に相当する。メインメモリ１２は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ１２は、不揮発性のメモリ領域では上記の情報処理プログラムを記憶する。またメインメモリ１２は、プロセッサ１１が各部を制御するための処理を実行する上で必要なデータを不揮発性又は揮発性のメモリ領域で記憶する場合もある。メインメモリ１２は、揮発性のメモリ領域を、プロセッサ１１によってデータが適宜書き換えられるワークエリアとして使用する。
【００１１】
補助記憶ユニット１３は、上記コンピュータの補助記憶部分に相当する。補助記憶ユニット１３は、例えばＥＥＰＲＯＭ（electric erasable programmable read-only memory）、ＨＤＤ（hard disc drive）、ＳＳＤ（solid state drive）、あるいはその他の周知の各種の記憶デバイスを利用できる。補助記憶ユニット１３は、プロセッサ１１が各種の処理を行う上で使用するデータと、プロセッサ１１での処理によって生成されたデータとを保存する。補助記憶ユニット１３は、上記の情報処理プログラムを記憶する場合もある。
【００１２】
通信インタフェース１４は、通信ケーブルを介したインテリジェントカメラ１０２とのデータ通信を行う。通信インタフェース１４としては、例えばＵＳＢ（universal serial bus）規格、あるいはＬＡＮ（local area network）規格に準拠した周知の通信デバイスを用いることができる。
伝送路１５は、アドレスバス、データバス及び制御信号線等を含み、接続されている各部の間で授受されるデータや制御信号を伝送する。
【００１３】
追跡装置１は例えば、ハードウェアとしてサーバ用の汎用のコンピュータ装置を用い、後述の情報処理について記述した情報処理プログラムをメインメモリ１２又は補助記憶ユニット１３に記憶することによって実現できる。なお、当該の情報処理プログラムは、追跡装置１の譲渡の際にメインメモリ１２又は補助記憶ユニット１３に記憶されていてもよいし、上記の汎用のコンピュータ装置とは別に譲渡されてもよい。後者の場合、情報処理プログラムは、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して譲渡される。
【００１４】
次に以上のように構成された追跡装置１の動作について説明する。
プロセッサ１１は、人物１０３の追跡を行うべき状態にあるときには、メインメモリ１２又は補助記憶ユニット１３に記憶された情報処理プログラムに従って、以下に説明する情報処理（以下、追跡処理と称する）を行う。なおプロセッサ１１は、追跡処理を、複数のインテリジェントカメラ１０２のそれぞれに関して個別に実行する。
【００１５】
図２はプロセッサ１１による追跡処理のフローチャートである。なお、以下に説明する処理の内容は一例であって、一部の処理の順序の変更、一部の処理の省略、あるいは別の処理の追加などは適宜に可能である。
ＡＣＴ１としてプロセッサ１１は、メインメモリ１２又は補助記憶ユニット１３に記憶される追跡データを初期化する。追跡データは、一人の人物１０３に関連付けられ、その人物１０３についての１つのインテリジェントカメラ１０２での検出結果に基づいて判定される位置の経時変化を表す。
【００１６】
図３は追跡データの構成を模式的に示す図である。
図３に示すように追跡データは、フィールドＦ１，Ｆ２，Ｆ３，Ｆ４を含む。また追跡データは、フィールドＦ５以降のフィールドを含む場合もある。
フィールドＦ１には、当該追跡データが関連付けられた人物１０３を後述する追跡処理の対象者として識別するための対象者コードがセットされる。フィールドＦ２には、位置判定に用いられたインテリジェントカメラ１０２を識別するためのカメラコードがセットされる。フィールドＦ３には、位置を判定した時刻を表す時刻データがセットされる。フィールドＦ４には、フィールドＦ３にセットされた時刻データが表す判定時刻における対象者の位置を表す位置データがセットされる。かくして追跡データは、フィールドＦ３，Ｆ４の２つのフィールドが一組となって、１つの位置の判定結果を表す。フィールドＦ５以降には、２つ一組のフィールドが追加され得る。そして一組の２つのフィールドには、フィールドＦ  ３，Ｆ４と同様に、時刻データ及び位置データがセットされる。
プロセッサ１１は、ＡＣＴ１１においては例えば、予め定められたルールに従って、他の追跡データのフィールドＦ１にセットされている対象コードとは異なるように対象者コードを選定し、フィールドＦ１にセットする。またプロセッサ１１は、インテリジェントカメラ１０２のうちの１つに予め割り当てられているカメラコードをフィールドＦ２にセットする。そしてプロセッサ１１は、フィールドＦ３以降をクリアする。
【００１７】
ところでインテリジェントカメラ１０２は、人物を検出する動作状態にあるときには、動画像を常時撮影し、これにより得られた動画に基づいて認識エリアの判定を試みる。
図４はインテリジェントカメラ１０２における認識エリアの判定の様子を示す図である。
一例としてインテリジェントカメラ１０２は、動画のフレームＦＲ１の中で人物１０３の頭部として認識した領域を内包する矩形のエリアを認識エリアＡＲ１とする。そしてインテリジェントカメラ１０２は、フレームＦＲ１の左上の角を原点ＰＯ１とする２次元座標系における認識エリアＡＲ１の左上の角の位置ＰＯ２を表すＸ座標及びＹ座標と、認識エリアのＸ方向のドット数（以下、Ｘサイズと称する）ＡＸ１及びＹ方向のドット数（以下、Ｙサイズと称する）ＡＹ１とを含んだデータを領域データとする。なお、一例としてインテリジェントカメラ１０２は、Ｘ座標及びＹ座標を、原点ＰＯ１からの左方向及び下方向へのドット数ＬＸ１，ＬＹ１として表す。また一例としてインテリジェントカメラ１０２は、認識エリアを判定した時刻を表す時刻データを検出データに含める。
【００１８】
追跡の対象となる人物１０３がインテリジェントカメラ１０２の撮影範囲に居ない場合は、インテリジェントカメラ１０２は検出データを出力しない。インテリジェントカメラ１０２は、売場１０１を移動する人物１０３の頭部がインテリジェントカメラ１０２の撮影範囲内に入り、撮影した動画像に映り込むようになると、人物１０３の頭部の動画像内における位置に応じた検出データを出力する。インテリジェントカメラ１０２はこののち、人物１０３が撮影範囲内に居続ける限り、頭部の位置が変化する毎に、その変化後の位置に応じた検出データを出力する。つまりインテリジェントカメラ１０２による検出データの出力は不定期となる。インテリジェントカメラ１０２は検出データを出力するのに先立ち、追跡装置１に対して検出データの取り込みをリクエストする。
【００１９】
プロセッサ１１は、検出データの出力に先立つインテリジェントカメラ１０２からのリクエストに応じて、検出データの取り込みを通信インタフェース１４に指示する。この指示に応じて通信インタフェース１４は、インテリジェントカメラ１０２から出力された検出データを取り込み、メインメモリ１２又は補助記憶ユニット１３に保存する。かくして情報処理プログラムに基づく情報処理をプロセッサ１１が実行することによって、プロセッサ１１を中枢部分とするコンピュータは、通信インタフェース１４との協働により取得手段としての機能を実現する。
【００２０】
図２中のＡＣＴ２としてプロセッサ１１は、検出データが取り込まれたか否かを確認する。そしてプロセッサ１１は、上述のように通信インタフェース１４によって検出データが取り込まれたならばＹＥＳと判定し、ＡＣＴ３へと進む。
ＡＣＴ３としてプロセッサ１１は、検出データに含まれた領域データで特定される領域の中心を人物１０３が検出された検出位置として判定する。プロセッサ１１は例えば、図４に示す認識エリアＡＲ１に関しては、
ＣＸ１＝（ＬＸ１＋ＡＸ１／２）
ＣＹ１＝（ＬＹ１＋ＡＹ１／２）
として求まるＣＸ１，ＣＹ１をＸ座標及びＹ座標とする位置を検出位置として判定する。
図５は図４のように判定された認識エリアＡＲ１に対して判定した検出位置ＰＯ３を示す図である。なお、検出位置は、認識エリアに対して予め定められた関係を持った位置であればよい。例えば、位置ＰＯ２をそのまま検出位置としてもよい。
【００２１】
図２中のＡＣＴ４としてプロセッサ１１は、検出位置に関して、インテリジェントカメラ１０２の撮影中心方向を基準とした方位角及び上下角を判定する。
ここでインテリジェントカメラ１０２は、内蔵する光学系により、２次元に配列された多数の撮像素子のうちの中央に位置する撮像素子に撮影中心方向から到来する光を入射し、その周りの撮像素子に撮影中心方向とは別のそれぞれ異なる方向から到来する光を入射することで、ある程度の画角をもって撮影するものとなっている。このため、検出位置ＰＯ３のフレームＦＲ１の中心位置ＰＯ４との距離が大きい程、撮影中心方向と検出位置ＰＯ３の方向とがなす角度が大きくなる。そして当該距離と当該角度の大きさとの関係は、インテリジェントカメラ１０２の光学的な特性によって定まっている。
【００２２】
そこでプロセッサ１１は、検出位置ＰＯ３と中心位置ＰＯ４との水平方向の距離ＧＸ１を算出し、当該距離ＧＸ１に対応する角度を方位角θＨ１として判定する。またプロセッサ１１は、検出位置ＰＯ３と中心位置ＰＯ４との垂直方向への距離ＧＸ１を算出し、当該距離ＧＸ１に対応する角度を上下角θＶ１として判定する。なおプロセッサ１１は、距離に対応する角度の判定は、インテリジェントカメラ１０２の光学系の特性を考慮して予め定められた演算により行ってもよいし、距離に関連付けて角度を表したテーブルデータの参照により行ってもよい。なお、光学系においては、歪曲収差などの歪み特性を有することが多いので、このような歪み特性の影響を低減するように距離と角度との関連付けが行われていることが望ましい。ここで、中心位置ＰＯ４が、インテリジェントカメラ１０２の撮影中心方向に一致する。つまり方位角θＨ１及び上下角θＶ１は、インテリジェントカメラからの検出位置への方向と撮影中心方向とのずれ量を表す指標の１つである。かくして情報処理プログラムに基づく情報処理をプロセッサ１１が実行することによって、プロセッサ１１を中枢部分とするコンピュータは向き判定手段として機能する。
【００２３】
さて、上記の方位角θＨ１及び上下角θＶ１は、いずれもインテリジェントカメラ１０２の撮影中心方向を基準としている。インテリジェントカメラ１０２の撮影中心方向は、グローバル座標に対して傾きを有している場合が多い。なお、グローバル座標は、売場１０１内の位置を特定するために予め定められた３次元座標系内の座標である。グローバル座標は、例えば図１中に示すように売場の端に定めた基準位置ＰＯ５を基準としたＸ座標、Ｙ座標及びＺ座標によって表される。なお、グローバル座標系は論理的な座標系であって、どのように定められてもよい。
【００２４】
ＡＣＴ５としてプロセッサ１１は、検出位置ＰＯ３についてのグローバル座標系に対応した極座標を判定する。プロセッサ１１は例えば、インテリジェントカメラ１０２の撮影中心方向のグローバル座標のＸ方向に対する傾きを方位角θＨ１に加算することで、検出位置ＰＯ３についてのグローバル座標系における方位角θＨ２を算出する。またプロセッサ１１は例えば、インテリジェントカメラ１０２の撮影中心方向のグローバル座標のＺ方向に対する傾きを上下角θＶ１に加算することで、検出位置ＰＯ３についてのグローバル座標系における上下角θＶ２を算出する。そしてプロセッサ１１は、方位角θＨ２及び上下角θＶ２と、検出データに含まれた距離データが表す距離ＤＩ１とによって、（ＤＩ１，θＶ２，θＨ２）として検出位置ＰＯ３の極座標を判定する。
【００２５】
ＡＣＴ６としてプロセッサ１１は、極座標（ＤＩ１，θＶ２，θＨ２）をグローバル座標に変換する。プロセッサ１１は例えば、次の３つの式をそれぞれ計算し、グローバル座標（Ｘ１，Ｙ１，Ｚ１）を得る。なお、既知であるインテリジェントカメラ１０２の位置のグローバル座標を（Ｘ２，Ｙ２，Ｚ２）と表すこととする。
Ｘ１＝ＤＩ１・ｓｉｎθＶ２・ｃｏｓθＨ２＋Ｘ２
Ｙ１＝ＤＩ１・ｓｉｎθＶ２・ｓｉｎθＨ２＋Ｙ２
Ｚ１＝ＤＩ１・ｃｏｓθＶ２＋Ｚ２
かくして情報処理プログラムに基づく情報処理をプロセッサ１１が実行することによって、プロセッサ１１を中枢部分とするコンピュータは第１の位置判定手段として機能する。
【００２６】
ＡＣＴ７としてプロセッサ１１は、人物１０３の移動速度を判定する。プロセッサ１１は例えば、図２に示す情報処理を開始してから最初にＡＣＴ７を実行する場合には、移動速度をゼロとする。プロセッサ１１は例えば、後述するようにＡＣＴ３以降を繰り返した場合には、前回のＡＣＴ６の実行により判定したグローバル座標と今回のＡＣＴ６の実行により判定したグローバル座標との間の距離を、前回の検出データに含まれた時刻データが表す時刻と今回の検出データに含まれた時刻データが表す時刻との時間差で除算して求まる値を移動速度として判定する。つまりこの場合にプロセッサ１１は、前回のＡＣＴ６の実行により判定したグローバル座標及び今回のＡＣＴ６の実行により判定したグローバル座標を（Ｘ１ｐ，Ｙ１ｐ，Ｚ１ｐ）及び（Ｘ１ｃ，Ｙ１ｃ，Ｚ１ｃ）と表し、時間差をΔＴと表すならば、例えば次式を計算する。
√｛（Ｘ１ｃ−Ｘ１ｐ）2＋（Ｙ１ｃ−Ｙ１ｐ）2＋（Ｚ１ｃ−Ｚ１ｐ）2｝／ΔＴ
つまり、この例で求める移動速度は、連続する２回の位置判定で判定される２つの検出位置の間を人物１０３が移動した際の平均の移動速度である。
【００２７】
ＡＣＴ７としてプロセッサ１１は、検出データが異常であるか否かを確認する。検出データから求まる人物１０３の移動速度が極端に早いならば、検出データが異常であると考えられる。そこでプロセッサ１１は例えば、ＡＣＴ７にて判定した移動速度が、予め定められた閾値以上であるか否かを確認する。そして閾値以上であるならば異常であるとしてＹＥＳと判定し、ＡＣＴ９へと進む。
【００２８】
ＡＣＴ９としてプロセッサ１１は、極座標を補正する。プロセッサ１１は例えば、ＡＣＴ５にて判定した極座標（ＤＩ１，θＶ２，θＨ２）の上下角θＶ２及び方位角θＨ２はそのままに、距離ＤＩ１を前回の検出データに含まれた距離データが表す値に置き換える。
つまり、今回の検出位置ＰＯ３に関して測定された距離を用いず、代わりに前回測定された距離を用いる。そして、今回の検出位置ＰＯ３に関して判定した上下角θＶ２及び方位角θＨ２はそのまま用いる。これは、上下角θＶ２及び方位角θＨ２が、人物が実際に動画に映り込んだ位置に基づくために精度が高いのに対して、ステレオカメラ方式及びＴｏＦ方式による距離測定は、条件により誤差が大きくなることがあるためである。このため、移動速度が異常となる原因は、距離の誤測定である確率が高いのであり、このような誤測定の結果である可能性の高い距離を用いないことによって、追跡の精度を向上できる可能性がある。
【００２９】
このように、ＡＣＴ９にて異常であると判定することは、距離データに異常があることを検出していることになる。かくして情報処理プログラムに基づく情報処理をプロセッサ１１が実行することによって、プロセッサ１１を中枢部分とするコンピュータは検出手段として機能する。
【００３０】
ＡＣＴ１０としてプロセッサ１１は、ＡＣＴ９で補正した極座標をＡＣＴ６と同様にグローバル座標に変換する。そしてこののちにプロセッサ１１は、ＡＣＴ１１へと進む。なおプロセッサ１１は、移動速度が閾値未満であるならば、異常ではないとしてＡＣＴ８にてＮＯと判定し、ＡＣＴ９及びＡＣＴ１０をパスしてＡＣＴ１１へと進む。
ＡＣＴ１１としてプロセッサ１１は、追跡データを更新する。プロセッサ１１は例えば、今回の検出データに含まれた時刻データをセットしたフィールドと、ＡＣＴ１０を実行した場合にはＡＣＴ１０にて得たグローバル座標を、またＡＣＴ１０をパスした場合にはＡＣＴ６で得たグローバル座標を、位置データとしてセットしたフィールドとを含むように追跡データを更新する。かくして情報処理プログラムに基づく情報処理をプロセッサ１１が実行することによって、プロセッサ１１を中枢部分とするコンピュータは追跡データを生成する生成手段として機能する。
【００３１】
そしてプロセッサ１１はこののち、ＡＣＴ２へと戻る。かくしてプロセッサ１１は、人物１０３の頭部がインテリジェントカメラ１０２の撮影範囲内に存在し続けており、インテリジェントカメラ１０２から検出データが繰り返し出力される状況にあっては、ＡＣＴ３乃至ＡＣＴ１１を繰り返し実行する。つまりプロセッサ１１は、当該繰り返し出力される検出データのそれぞれに基づいて得たグローバル座標を位置データとしてセットしたフィールドと、時刻データをセットしたフィールドとを組として追跡データに追加して行く。これにより、追跡データは、人物１０３の頭部の位置を追跡したデータとなる。
【００３２】
さてプロセッサ１１は、検出データが取り込まれていない場合にはＡＣＴ２にてＮＯと判定し、ＡＣＴ１２へと進む。
ＡＣＴ１２としてプロセッサ１１は、ＡＣＴ３を前回実行した際に判定した検出位置ＰＯ３が辺縁領域内であるか否かを確認する。辺縁領域は、図４に示すようにフレームＦＲ１の変縁部に予め定められた領域である。そしてプロセッサ１１は、前回の検出位置ＰＯ３が辺縁領域外であったならばＮＯと判定し、そのままＡＣＴ２に戻る。つまりプロセッサ１１はＡＣＴ２及びＡＣＴ１２としては、前回の検出位置ＰＯ３が辺縁領域外であるならば、単に検出データが取り込まれるのを待ち受ける。
【００３３】
プロセッサ１１は、しかしながら前回の検出位置ＰＯ３が辺縁領域内であったならばＡＣＴ１２にてＹＥＳと判定し、ＡＣＴ１３へと進む。
ＡＣＴ１３としてプロセッサ１１は、検出データが取り込まれない状態で制限時間が経過したか否かを確認する。そしてプロセッサ１１は、制限時間が経過していないならばＮＯと判定し、そのままＡＣＴ２に戻る。かくしてプロセッサ１１は、前回の検出位置ＰＯ３が辺縁領域内であったならば、検出データが取り込まれるか、あるいは制限時間が経過するのを待ち受ける。そしてプロセッサ１１は、検出データが取り込まれない状態のまま予め定められた制限時間が経過したならば、ＡＣＴ１３にてＮＯと判定し、ＡＣＴ１４へと進む。
【００３４】
ＡＣＴ１４としてプロセッサ１１は、メインメモリ１２又は補助記憶ユニット１３に記憶される履歴データベースを更新する。履歴データベースは、追跡データの集合である。プロセッサ１１は、例えば、メインメモリ１２又は補助記憶ユニット１３に記憶されている追跡データを含むように履歴データベースを更新する。なおプロセッサ１１は、履歴データベースに追加する追跡データに、追跡データの個々を識別するための識別コードを含めるなどの処理を施してもよい。そしてプロセッサ１１は、図２に示す追跡処理を終了する。
【００３５】
前述したように、プロセッサ１１は以上の追跡処理を複数のインテリジェントカメラ１０２のそれぞれに関して個別に実行する。かくして複数の追跡データの生成が同時に行われ得る。複数のインテリジェントカメラ１０２のうちの多くは、撮影範囲の少なくとも一部を他のインテリジェントカメラ１０２と重複するように設けられる。このため、同時に生成される複数の追跡データがいずれも同一の人物１０３に関することもあるし、別々の人物１０３に関することもある。
【００３６】
プロセッサ１１は、以上のような追跡処理とは別に、以下に説明する情報処理（以下、補正処理と称する）を実行する。
図６はプロセッサ１１による補正処理のフローチャートである。
【００３７】
ＡＣＴ２１としてプロセッサ１１は、複数の追跡データが同時に更新されるのを待ち受ける。例えばプロセッサ１１は、１つの追跡処理（以下、第１の追跡処理と称する）に応じた追跡データ（以下、第１の追跡データと称する）と、別の追跡処理（以下、第２の追跡処理と称する）に応じた追跡データ（以下、第２の追跡データと称する）とがいずれも更新され、かつそれにより追加された時刻データが互いに同一である場合に、同時の更新としてＹＥＳと判定し、ＡＣＴ２２へと進む。
【００３８】
ＡＣＴ２２としてプロセッサ１１は、第１及び第２の追跡データにそれぞれ新たに追加されたグローバル座標どうしの距離を判定する。プロセッサ１１は例えば、第１及び第２の追跡データに追加されたグローバル座標（以下、第１のグローバル座標及び第２のグローバル座標と称する）を（Ｘ１Ａ，Ｙ１Ａ，Ｚ１Ａ）及び（Ｘ１Ｂ，Ｙ１Ｂ，Ｚ１Ｂ）と表す場合に、次の式により算出する。
√｛（Ｘ１Ａ−Ｘ１Ｂ）2＋（Ｙ１Ａ−Ｙ１Ｂ）2＋（Ｚ１Ａ−Ｚ１Ｂ）2｝
【００３９】
さて、２つのインテリジェントカメラ１０２が一人の人物１０３をいずれも撮影する状態にあるとき、第１及び第２の追跡データが同時に更新されることがある。そしてその時に追加される第１及び第２のグローバル座標は、同じ位置に関しての判定結果である。しかしながら、２つのインテリジェントカメラ１０２の検出精度及び第１及び第２のグローバル座標の判定のための処理において生ずる誤差などにより、第１及び第２のグローバル座標が一致しない場合がある。
【００４０】
図７は１人の人物１０３に関して２つのインテリジェントカメラ１０２で判定された検出位置が一致しない様子の一例を示す図である。なお、２つのインテリジェントカメラ１０２は、別々の方向から人物１０３を撮影するのであるが、図７は便宜的に同一の条件で人物１０３を撮影した場合の検出位置にずれが生じる様子を表している。
図７における検出位置ＰＯ３−Ａ及び第２の検出位置ＰＯ３−Ｂはいずれも、認識エリアＡＲ１−Ａ，ＡＲ１−Ｂが頭部に対してずれて判定されているために、理想的な検出位置ＰＯ３−Ｉからずれている。
【００４１】
また、２つのインテリジェントカメラ１０２が２人の人物１０３を個別に検出している場合は、当然ながら第１及び第２のグローバル座標が一致しない。
図８は互いにすれ違う２人の人物１０３−Ａ，１０３−Ｂに関して２つのインテリジェントカメラ１０２で判定された検出位置の違いの一例を表す図である。なお、２つのインテリジェントカメラ１０２は、別々の方向から人物１０３−Ａ、１０３−Ｂをそれぞれ撮影するのであるが、図８は便宜的に同一の条件で設置されたインテリジェントカメラ１０２から人物１０３−Ａ，１０３−Ｂを撮影した場合の検出位置ＰＯ３−Ａ，ＰＯ３−Ｂの違いを表している。
図８に示すように、別々の２人の人物１０３に関してはそもそも別々の位置に存在しており、頭部どうしは通常は十分に離れているので、検出位置ＰＯ３−Ａ，ＰＯ３−Ｂは互いに大きく離れる。
【００４２】
そして、誤差に起因する検出位置ＰＯ３−Ａ，ＰＯ３−Ｂのずれは、２人の人物１０３の存在位置の違いに起因する検出位置ＰＯ３−Ａ，ＰＯ３−Ｂの違いに対して非常に小さい。
ＡＣＴ２３としてプロセッサ１１は、上記の判定した距離が予め定められた誤差範囲内であるか否かを確認する。なお、誤差範囲は、インテリジェントカメラ１０２の性能などを考慮して、適宜に定められればよい。そしてプロセッサ１１は、誤差範囲内であるためにＹＥＳと判定したならば、ＡＣＴ２４へと進む。
【００４３】
ＡＣＴ２４としてプロセッサ１１は、第１及び第２のグローバル座標の中間位置を判定する。プロセッサ１１は例えば、Ｘ１ＡがＸ１Ｂ以下であるならば、Ｘ１Ｓ＝Ｘ１Ａ，Ｘ１Ｌ＝Ｘ１Ｂとし、またＸ１ＡがＸ１Ｂ未満であるならば、Ｘ１Ｓ＝Ｘ１Ｂ，Ｘ１Ｌ＝Ｘ１Ａとする。プロセッサ１１は例えば、Ｙ１ＡがＹ１Ｂ以下であるならば、Ｙ１Ｓ＝Ｙ１Ａ，Ｙ１Ｌ＝Ｙ１Ｂとし、またＹ１ＡがＹ１Ｂ未満であるならば、Ｙ１Ｓ＝Ｙ１Ｂ，Ｙ１Ｌ＝Ｙ１Ａとする。プロセッサ１１は例えば、Ｚ１ＡがＺ１Ｂ以下であるならば、Ｚ１Ｓ＝Ｚ１Ａ，Ｚ１Ｌ＝Ｚ１Ｂとし、またＺ１ＡがＺ１Ｂ未満であるならば、Ｚ１Ｓ＝Ｚ１Ｂ，Ｚ１Ｌ＝Ｚ１Ａとする。そしてプロセッサ１１は例えば、次の式により、Ｘ１，Ｙ１，Ｚ１をそれぞれ算出する。
Ｘ１＝Ｘ１Ｓ＋（Ｘ１Ｌ−Ｘ１Ｓ）／２
Ｙ１＝Ｙ１Ｓ＋（Ｙ１Ｌ−Ｙ１Ｓ）／２
Ｚ１＝Ｚ１Ｓ＋（Ｚ１Ｌ−Ｚ１Ｓ）／２
【００４４】
ＡＣＴ２５としてプロセッサ１１は、第１及び第２の追跡データを、最後に追加された第１及び第２のグローバル座標を、いずれもグローバル座標（Ｘ１，Ｙ１，Ｚ１）に変更する。
【００４５】
ＡＣＴ２６としてプロセッサ１１は、第１及び第２の追跡データのそれぞれのフィールドＦ１にセットされた対象者コードが互いに一致するか否かを確認する。そしてプロセッサ１１は、両対象者コードが異なっているならばＮＯと判定し、ＡＣＴ２７へと進む。
ＡＣＴ２７としてプロセッサ１１は、第１及び第２の追跡データのそれぞれのフィールドＦ１にセットされた対象者コードを一致させる。プロセッサ１１は例えば、第１及び第２の追跡データの一方のフィールドＦ１にセットされた対象者コードを、他方のフィールドＦ１にセットされた対象者コードに変更する。より具体的にはプロセッサ１１は例えば、フィールドＦ３にセットされた時刻データがより新しい時刻を表す追跡データのフィールドＦ１にセットされている対象者コードを、他方の追跡データのフィールドＦ１にセットされている対象者コードに書き替える。あるいはプロセッサ１１は、第１及び第２の追跡データのそれぞれのフィールドＦ１に、第１及び第２の追跡データを含む全ての追跡データのフィールドＦ１にセットされている対象者コードとは異なる新しい対象者コードをセットしてもよい。
【００４６】
こののちにプロセッサ１１は、ＡＣＴ２１の待受状態に戻る。なおプロセッサ１１は、ＡＣＴ２２で判定した距離が誤差範囲外であるならばＡＣＴ２３にてＮＯと判定し、ＡＣＴ２４乃至ＡＣＴ２７を実行することなく、ＡＣＴ２１の待受状態に戻る。つまりプロセッサ１１は、第１の追跡処理及び第２の追跡処理によりそれぞれ判定されたグローバル座標と、第１の追跡データ及び第２の追跡データのそれぞれにセットされた対象者コードを変更することなくそのままとする。またプロセッサ１１は、第１及び第２の追跡データのそれぞれのフィールドＦ１にセットされた対象者コードが互いに一致するならばＡＣＴ２６にてＹＥＳと判定し、ＡＣＴ２７を実行することなく、ＡＣＴ２１の待受状態に戻る。
【００４７】
続いて、上記の補正処理による追跡データの変更の様子を具体的に説明する。
図９はインテリジェントカメラ１０２による撮影範囲の形成状況の一例を模式的に示す平面図である。
図９では図１に示すグローバル座標系におけるＸＹ平面を表す。そして図９は、４つのインテリジェントカメラ１０２により売場１０１を撮影する例である。なおここでは、４つのインテリジェントカメラ１０２の区別を容易とするために、符号として１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄを用いることとする。
【００４８】
インテリジェントカメラ１０２Ａ，１０２Ｂ，１０２Ｃ，１０２Ｄは、領域ＡＲ１，ＡＲ２，ＡＲ３，ＡＲ４をそれぞれ撮影する。領域ＡＲ１，ＡＲ２はそれぞれ、その半分ずつが領域ＡＲ３，ＡＲ４の半分ずつと重複する。かくして売場１０１には、それぞれが２つのインテリジェントカメラ１０２を用いて人物１０３を追跡する４つの追跡領域が形成されている。
図１０は追跡領域の形成状況を表す図である。
追跡領域ＡＲ１１は、インテリジェントカメラ１０２Ａ，１０２Ｃを用いる追跡領域である。追跡領域ＡＲ１２は、インテリジェントカメラ１０２Ｂ，１０２Ｃを用いる追跡領域である。追跡領域ＡＲ１３は、インテリジェントカメラ１０２Ａ，１０２Ｄを用いる追跡領域である。追跡領域ＡＲ１４は、インテリジェントカメラ１０２Ｂ，１０２Ｄを用いる追跡領域である。
【００４９】
さて人物１０３が、図１０中に矢印で示すように、グローバル座標が（Ｘ１，Ｙ１，Ｚ１）である位置で時刻ＴＩ１において最初に位置が判定されてから、グローバル座標が（Ｘ２，Ｙ２，Ｚ２）である位置を時刻ＴＩ２に経て、グローバル座標が（Ｘ３，Ｙ３，Ｚ３）である位置へと時刻ＴＩ３に到達した場合を考える。
【００５０】
図１１は時刻ＴＩ１に関しての追跡データの補正の様子を示す図である。
インテリジェントカメラ１０２Ａに関する追跡処理にてプロセッサ１１は、図１１に示す追跡データＴＤ１１を生成している。この例では、対象者コードは「ＯＢ１１」とされている。またインテリジェントカメラ１０２Ａのカメラコードは「ＣＡ１」である。人物１０３の位置は座標（Ｘ１、Ｙ１，Ｚ１）であるが、誤差を含んで座標（Ｘ１１，Ｙ１１，Ｚ１１）と判定されている。時刻ＴＩ１における位置の判定は、インテリジェントカメラ１０２Ａに関する追跡処理での最初の判定であるため、座標（Ｘ１１，Ｙ１１，Ｚ１１）はフィールドＦ４にセットされている。
【００５１】
インテリジェントカメラ１０２Ｃに関する追跡処理にてプロセッサ１１は、図１１に示す追跡データＴＤ２１を生成している。この例では、対象者コードは「ＯＢ２１」とされている。またインテリジェントカメラ１０２Ｃのカメラコードは「ＣＡ３」である。人物１０３の位置は座標（Ｘ１、Ｙ１，Ｚ１）であるが、誤差を含んで座標（Ｘ１２，Ｙ１２，Ｚ１２）と判定されている。時刻ＴＩ１における位置の判定は、インテリジェントカメラ１０２Ｃに関する追跡処理での最初の判定であるため、座標（Ｘ１２，Ｙ１２，Ｚ１２）はフィールドＦ４にセットされている。
【００５２】
そしてプロセッサ１１による補正処理により、追跡データＴＤ１１は追跡データＴＤ１２に、また追跡データＴＤ２１は追跡データＴＤ２２に、それぞれ補正される。
追跡データＴＤ１２，ＴＤ２２においては、それぞれのフィールドＦ４が、座標（Ｘ１１，Ｙ１１，Ｚ１１）と座標（Ｘ１２，Ｙ１２，Ｚ１２）との中間的な位置としての座標（Ｘ１３，Ｙ１３，Ｚ１３）に変更されている。また追跡データＴＤ２２のフィールドＦ１は、追跡データＴＤ１２のフィールドＦ１にセットされている対象者コードである「ＯＢ１１」に変更されている。
【００５３】
時刻ＴＩ２においては、人物１０３が追跡領域ＡＲ１１から追跡領域ＡＲ１２へと移っている。つまり人物１０３は、インテリジェントカメラ１０２Ａによる撮影領域ＡＲ１から出ている。これにより、人物１０３についてのインテリジェントカメラ１０２Ａに関する追跡処理は終了されている。代わりに、人物１０３がインテリジェントカメラ１０２Ｂの撮影領域ＡＲ２に入ったために、人物１０３についてのインテリジェントカメラ１０２Ｂに関する追跡処理が開始されることになる。なお、人物１０３は、インテリジェントカメラ１０２Ｃの撮影領域ＡＲ３から出ていないので、インテリジェントカメラ１０２Ｃに関する追跡処理は継続されている。
このため、時刻ＴＩ２に関しては、インテリジェントカメラ１０２Ｃに関する追跡処理及びインテリジェントカメラ１０２Ｂに関する追跡処理によってそれぞれの追跡処理に関する追跡データに位置の判定結果が追加される。
【００５４】
図１２は時刻ＴＩ２に関しての追跡データの様子を示す図である。
インテリジェントカメラ１０２Ｃに関する追跡処理にてプロセッサ１１は、人物１０３の移動に伴って、図１１に示す追跡データＴＤ２２に更に複数組のフィールドを追加しており、その最後の２つのフィールドＦｍ，Ｆｎに、時刻ＴＩ２を表す時刻データと、時刻ＴＩ２に関して判定した座標とをセットして、追跡データＴＤ２３としている。時刻ＴＩ２における人物１０３の位置は座標（Ｘ２、Ｙ２，Ｚ２）であるが、誤差を含んで座標（Ｘ２１，Ｙ２１，Ｚ２１）と判定されている。
【００５５】
インテリジェントカメラ１０２Ｂに関する追跡処理にてプロセッサ１１は、図１２に示す追跡データＴＤ３１を生成している。この例では、対象者コードは「ＯＢ３１」とされている。またインテリジェントカメラ１０２Ｂのカメラコードは「ＣＡ２」である。人物１０３の位置は座標（Ｘ２、Ｙ２，Ｚ２）であるが、誤差を含んで座標（Ｘ２２，Ｙ２２，Ｚ２２）と判定されている。時刻ＴＩ２における位置の判定は、インテリジェントカメラ１０２Ｂに関する追跡処理での最初の判定であるため、座標（Ｘ２２，Ｙ２２，Ｚ２２）はフィールドＦ４にセットされている。
【００５６】
そしてプロセッサ１１による補正処理により、追跡データＴＤ２３は追跡データＴＤ２４に、また追跡データＴＤ３１は追跡データＴＤ３２に、それぞれ補正される。
追跡データＴＤ２４においてはフィールドＦｎが、また追跡データＴＤ３２においてはフィールドＦ４が、座標（Ｘ２１，Ｙ２１，Ｚ２１）と座標（Ｘ２２，Ｙ２２，Ｚ２２）との中間的な位置としての座標（Ｘ２３，Ｙ２３，Ｚ２３）に変更されている。また追跡データＴＤ３２のフィールドＦ１は、追跡データＴＤ２４のフィールドＦ１にセットされている対象者コードである「ＯＢ１１」に変更されている。
【００５７】
時刻ＴＩ３においては、人物１０３が追跡領域ＡＲ１２から追跡領域ＡＲ１３へと移っている。つまり人物１０３は、インテリジェントカメラ１０２Ｃによる撮影領域ＡＲ３から出ている。これにより、人物１０３についてのインテリジェントカメラ１０２Ｃに関する追跡処理は終了されている。代わりに、人物１０３がインテリジェントカメラ１０２Ｄの撮影領域ＡＲ４に入ったために、人物１０３についてのインテリジェントカメラ１０２Ｄに関する追跡処理が開始されることになる。なお、人物１０３は、インテリジェントカメラ１０２Ｂの撮影領域ＡＲ２から出ていないので、インテリジェントカメラ１０２Ｄに関する追跡処理は継続されている。
【００５８】
このため、時刻ＴＩ３に関しては、インテリジェントカメラ１０２Ｂに関する追跡処理及びインテリジェントカメラ１０２Ｄに関する追跡処理によってそれぞれの追跡処理に関する追跡データに位置の判定結果が追加される。このときのインテリジェントカメラ１０２Ｂに関する追跡処理に関する追跡データは、図１２に示す追跡データＴＤ２３のように複数組の時刻データ及び位置データを含む。インテリジェントカメラ１０２Ｄに関する追跡処理に関する追跡データは、図１２に示す追跡データＴＤ３１のように１組の時刻データ及び位置データを含む。そして、この場合も時刻ＴＩ２と同様にして各追跡データが変更される。
【００５９】
以上のように追跡装置１によれば、インテリジェントカメラ１０２によって測定された人物１０３までの距離を考慮して人物１０３の位置を判定するので、カメラにより撮影された動画のみに基づく場合に比べて位置の判定精度が向上する。そしてこの結果として追跡装置１により高精度に判定された位置に基づけば、人物１０３の移動をより高精度に追跡することが可能となる。
【００６０】
そして追跡装置１によれば、判定した位置を時系列に記録した追跡データを生成しているので、この追跡データに基づいて人物１０３の移動軌跡を容易に認識できる。
さらに、２つのインテリジェントカメラ１０２により同一の人物１０３が同時に検出された場合には、２つの検出データから第１の実施形態の情報処理によりそれぞれ判定した２つのグローバル座標を考慮して追跡データを補正する。かくして、上記のように精度よく判定しても残る誤差を補償して、より精度のよい位置判定が行える。
【００６１】
また追跡装置１によれば、上記のように追跡データを補正する場合には、補正の対象となる２つの追跡データの対象者コードを統一する。これにより、複数の追跡データがいずれも同一の人物１０３に関するデータであることを識別可能となる。そして該当の複数の追跡データに基づいて、複数のインテリジェントカメラ１０２の撮影範囲に跨がる広範囲での人物の行動を追跡できる。
なお、別々の人物１０３の位置が同時に判定される場合には、それぞれの人物１０３に関しての追跡データの補正は行われず、対象者コードの統一もなされないため、それら複数の追跡データに基づいて、当該の別々の人物１０３の個別の行動を識別できる。
このようにして、複数のインテリジェントカメラ１０２を用いて同時に判定された複数の位置が、いずれも同一の人物１０３に関するか、それとも別々の複数の人物１０３に関するかを管理可能となる。つまり、複数の追跡データは、同時刻に関して誤差範囲内として判定された複数の位置の判定結果に基づいて当該時刻における同一の対象物に関する位置を判定し、かつ同時刻に関して誤差範囲外として判定された複数の位置の判定結果に基づいて当該時刻におけるそれぞれ別々の対象物に関する位置を判定した結果を表していることになる。かくして情報処理プログラムに基づく情報処理をプロセッサ１１が実行することによって、プロセッサ１１を中枢部分とするコンピュータは第２の位置判定手段として機能していることになる。
【００６２】
また追跡装置１によれば、追跡データを蓄積した履歴データベースを生成しているので、この履歴データベースに基づいて、インテリジェントカメラ１０２の撮影領域内への人物１０３の出入り及び過去における移動軌跡を容易に認識できる。
【００６３】
また追跡装置１によれば、３次元のグローバル座標系における座標として、人物１０３の頭部の位置を判定している。このため、Ｚ座標に基づいて、人物１０３が立ったり、しゃがんだりする行動をも認識することが可能となる。そしてこのような認識の結果は、商品の陳列棚から人物１０３が取り出した商品を特定する情報処理に有用な情報となる。
【００６４】
また追跡装置１によれば、インテリジェントカメラ１０２が出力する検出データの異常が疑われる場合には、その検出データのうちの距離データを位置判定に用いない。これにより、インテリジェントカメラ１０２の測定距離に大きな誤差を生ずる恐れがある場合でも、位置判定の精度の低下を小さく抑えることができる。
【００６５】
また追跡装置１によれば、インテリジェントカメラ１０２が出力する検出データの異常が疑われる場合でも、その検出データのうちの領域データは位置判定に用いる。このため、人物１０３が位置しているインテリジェントカメラ１０２からの方向については、最新の検出結果が位置の判定に反映されることとなり、検出データの全てを用いない場合に比べて位置判定の精度の低下を小さく抑えることができる。
【００６６】
また追跡装置１によれば、連続する２回の位置判定により判定された２つの検出位置の間の平均の移動速度に基づいてインテリジェントカメラ１０２が出力する検出データの異常であるか否かを判定している。このため、例えば人物がインテリジェントカメラ１０２からみて物陰となる位置を通ったことによって、２回の位置判定により判定された２つの検出位置の距離が大きくなったとしても、平均速度が過剰となることはなく、新たな検出データが異常であると誤判定することがない。
【００６７】
この実施形態は、次のような種々の変形実施が可能である。
図６中のＡＣＴ２４及びＡＣＴ２５は、省略してもよい。
【００６８】
ＡＣＴ２７における対象者コードの変更は行わず、例えば以下に示すような別の処理によって、複数の位置の判定結果を同一の対象物に関する判定結果として管理可能とすることもできる。
(1)  第１及び第２の追跡データのそれぞれのフィールドＦ１にセットされた対象者コードを互いに関連付けて表した管理データを生成してもよい。
(2)  第１の追跡データのフィールドＦ１にセットされた対象者コードをセットした新たなフィールドを第２の追跡データに追加し、第２の追跡データのフィールドＦ１にセットされた対象者コードをセットした新たなフィールドを第１の追跡データに追加してもよい。
【００６９】
ＡＣＴ２７における対象者コードの変更は行わず、後処理によって同一の人物１０３に関する複数の追跡データを前述と同様に判定してもよい。
【００７０】
人物１０３に関する複数の追跡データを統合して１つの追跡データを生成してもよい。
【００７１】
図２に示す追跡処理からＡＣＴ１１における追跡データの更新を分離し、同時に誤差範囲内で判定された複数の位置に応じて１つの位置のグローバル座標を１つの追跡データに追加してもよい。
【００７２】
売場１０１内の水平面として設定された２次元のグローバル座標系における座標として人物１０３の位置を追跡してもよい。この場合も、距離データを用いない場合に比べて、位置検出の精度を向上することが可能である。
【００７３】
検出データの異常は、単位時間当たりの移動距離に基づいて判定してもよい。なお、インテリジェントカメラ１０２が一定の時間間隔で検出データを出力するのであれば、プロセッサ１１は前回の検出位置ＰＯ３と今回の検出位置ＰＯ３との距離に基づいて検出データの異常を判定してもよい。
【００７４】
検出データの異常は、連続する２回の位置判定により判定された２つの検出位置の間の距離を閾値と比較することによって判定してもよい。ただしこの場合は、当該の連続する２回の位置判定の時間差が大きいほど大きな閾値を適用することが望ましい。
【００７５】
プロセッサ１１は、異常と判定した検出データの全てを位置判定に用いないようにしてもよい。つまりプロセッサ１１は例えば、図２中のＡＣＴ８にてＹＥＳと判定した場合は、ＡＣＴ２へと戻るようにしてもよい。ただしこの場合は、位置判定の時間分解能が前記実施形態に比べて低下する。
【００７６】
インテリジェントカメラ１０２は、人物１０３の胴体などの頭部以外の部位、あるいは人物１０３の全身を内包する領域として認識エリアを判定するものであってもよい。
【００７７】
インテリジェントカメラ１０２は、例えばショッピングカートなどの人物１０３以外の任意の対象物を検出するものであってもよい。そしてこの場合に追跡装置１は、インテリジェントカメラ１０２が検出する人物１０３以外の対象物を追跡する装置として利用される。
【００７８】
インテリジェントカメラ１０２を追跡装置１に内蔵してもよい。
【００７９】
人物１０３の移動を監視する対象となる施設は店舗１００には限らず、会館などの任意の建物、あるいは道路及び公園などの如何なる施設であっても構わない。
【００８０】
プロセッサ１１は、インテリジェントカメラ１０２が出力する検出データを蓄積記憶する記憶媒体からの読み出しによって検出データを取得してもよい。この場合の検出データの読み出しは、プロセッサ１１によって直接的に行われてもよいし、他の情報処理装置を介して間接的に行われてもよい。
【００８１】
図２に示す追跡処理と図６に示す補正処理とを一体の情報処理としてもよい。例えば、プロセッサ１１は、ＡＣＴ１１ののち、他の追跡データが同時更新されたか否かを確認する。そしてプロセッサ１１は、同時更新されているならば、図６中のＡＣＴ２２乃至ＡＣＴ２７を実行する。ただしプロセッサ１１は、同じ情報処理内のＡＣＴ１１にて直前に追跡データに追加したグローバル座標のみを補正する。またプロセッサ１１はこの場合は、他の追跡データが同時更新されていないか、ＡＣＴ２３にてＮＯと判定したか、ＡＣＴ２６にてＹＥＳと判定したか、あるいはＡＣＴ２７を終えたならば、図２中のＡＣＴ２に戻る。
【００８２】
１人の人物１０３に関して、３つ以上のインテリジェントカメラ１０２を用いて判定された３つ以上のグローバルに基づいて補正を行ってもよい。つまり例えばプロセッサ１１は、誤差範囲内である複数のグローバル座標の中間的な位置として、それら複数のグローバル座標の補正後のグローバル座標を判定する。
【００８３】
図２に示す複数の情報処理と、図６に示す情報処理とを、複数の情報処理装置によって分散処理してもよい。なおこの場合は、当該複数の情報処理装置の組み合わせによって追跡装置が構成される。
【００８４】
情報処理によりプロセッサ１１が実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【００８５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８６】
１…追跡装置、１１…プロセッサ、１２…メインメモリ、１３…補助記憶ユニット、１４…通信インタフェース、１５…伝送路、１００…店舗、１０１…売場、１０２…インテリジェントカメラ、１０３…人物。
【図１】
2020184733.tif 000003
【図２】
2020184733.tif 000004
【図３】
2020184733.tif 000005
【図４】
2020184733.tif 000006
【図５】
2020184733.tif 000007
【図６】
2020184733.tif 000008
【図７】
2020184733.tif 000009
【図８】
2020184733.tif 000010
【図９】
2020184733.tif 000011
【図１０】
2020184733.tif 000012
【図１１】
2020184733.tif 000013
【図１２】
2020184733.tif 000014