(57)【要約】【課題】  対象物の移動をより高精度に追跡することを可能とする。【解決手段】  実施形態の追跡装置は、取得手段、向き判定手段及び位置判定手段を備える。取得手段は、施設内での設置位置及び撮影中心方向が既知であるカメラから、当該カメラによる撮影画像内で対象物が映り込んでいる領域を特定する領域データと、予め定められた基準位置から対象物までの距離を特定する距離データとを取得する。向き判定手段は、取得手段により取得された領域データに基づいて、カメラからの対象物の方向と撮影中心方向とのずれ量を判定する。位置判定手段は、前記カメラの設置位置及び撮影中心方向と、向き判定手段により判定されたずれ量と、取得手段により取得された距離データとに基づいて、対象物の施設内での位置を判定する。【選択図】      図２
2020184725.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｝
【００４５】
さて、２つのインテリジェントカメラ１０２が一人の人物１０３をいずれも撮影する状態にあるとき、第１及び第２の追跡データが同時に更新されることがある。そしてその時に追加される第１及び第２のグローバル座標は、同じ位置に関しての判定結果である。しかしながら、２つのインテリジェントカメラ１０２の検出精度及び第１及び第２のグローバル座標の判定のための処理において生ずる誤差などにより、第１及び第２のグローバル座標が一致しない場合がある。
【００４６】
図７は１人の人物１０３に関して２つのインテリジェントカメラ１０２で判定された検出位置が一致しない様子の一例を示す図である。なお、２つのインテリジェントカメラ１０２は、別々の方向から人物１０３を撮影するのであるが、図７は便宜的に同一の条件で人物１０３を撮影した場合の検出位置にずれが生じる様子を表している。
図７における検出位置ＰＯ３−Ａ及び検出位置ＰＯ３−Ｂはいずれも、認識エリアＡＲ１−Ａ，ＡＲ１−Ｂが頭部に対してずれて判定されているために、理想的な検出位置ＰＯ３−Ｉからずれている。
【００４７】
また、２つのインテリジェントカメラ１０２が２人の人物１０３を個別に検出している場合は、当然ながら第１及び第２のグローバル座標が一致しない。
図８は互いにすれ違う２人の人物１０３−Ａ，１０３−Ｂに関して２つのインテリジェントカメラ１０２で判定された検出位置の違いの一例を表す図である。なお、２つのインテリジェントカメラ１０２は、別々の方向から人物１０３−Ａ、１０３−Ｂをそれぞれ撮影するのであるが、図８は便宜的に同一の条件で設置されたインテリジェントカメラ１０２から人物１０３−Ａ，１０３−Ｂを撮影した場合の検出位置ＰＯ３−Ａ，ＰＯ３−Ｂの違いを表している。
図８に示すように、別々の２人の人物１０３に関してはそもそも別々の位置に存在しており、頭部どうしは通常は十分に離れているので、検出位置ＰＯ３−Ａ，ＰＯ３−Ｂは互いに大きく離れる。
【００４８】
そして、誤差に起因する検出位置ＰＯ３−Ａ，ＰＯ３−Ｂのずれは、２人の人物１０３の存在位置の違いに起因する検出位置ＰＯ３−Ａ，ＰＯ３−Ｂの違いに対して非常に小さい。
ＡＣＴ２３としてプロセッサ１１は、上記の判定した距離が予め定められた誤差範囲内であるか否かを確認する。なお、誤差範囲は、インテリジェントカメラ１０２の性能などを考慮して、適宜に定められればよい。そしてプロセッサ１１は、誤差範囲内であるためにＹＥＳと判定したならば、ＡＣＴ２４へと進む。
【００４９】
ＡＣＴ２４としてプロセッサ１１は、第１及び第２のグローバル座標の中間位置を判定する。プロセッサ１１は例えば、Ｘ１ＡがＸ１Ｂ以下であるならば、Ｘ１Ｓ＝Ｘ１Ａ，Ｘ１Ｌ＝Ｘ１Ｂとし、またＸ１ＡがＸ１Ｂ未満であるならば、Ｘ１Ｓ＝Ｘ１Ｂ，Ｘ１Ｌ＝Ｘ１Ａとする。プロセッサ１１は例えば、Ｙ１ＡがＹ１Ｂ以下であるならば、Ｙ１Ｓ＝Ｙ１Ａ，Ｙ１Ｌ＝Ｙ１Ｂとし、またＹ１ＡがＹ１Ｂ未満であるならば、Ｙ１Ｓ＝Ｙ１Ｂ，Ｙ１Ｌ＝Ｙ１Ａとする。プロセッサ１１は例えば、Ｚ１ＡがＺ１Ｂ以下であるならば、Ｚ１Ｓ＝Ｚ１Ａ，Ｚ１Ｌ＝Ｚ１Ｂとし、またＺ１ＡがＺ１Ｂ未満であるならば、Ｚ１Ｓ＝Ｚ１Ｂ，Ｚ１Ｌ＝Ｚ１Ａとする。そしてプロセッサ１１は例えば、次の式により、Ｘ１，Ｙ１，Ｚ１をそれぞれ算出する。
Ｘ１＝Ｘ１Ｓ＋（Ｘ１Ｌ−Ｘ１Ｓ）／２
Ｙ１＝Ｙ１Ｓ＋（Ｙ１Ｌ−Ｙ１Ｓ）／２
Ｚ１＝Ｚ１Ｓ＋（Ｚ１Ｌ−Ｚ１Ｓ）／２
【００５０】
ＡＣＴ２５としてプロセッサ１１は、追跡データを補正する。プロセッサ１１は例えば、第１及び第２の追跡データを、最後に追加された第１及び第２のグローバル座標を、いずれもグローバル座標（Ｘ１，Ｙ１，Ｚ１）に置き換える。
こののちにプロセッサ１１は、ＡＣＴ２１の待受状態に戻る。なおプロセッサ１１は、ＡＣＴ２２で判定した距離が誤差範囲外であるならばＡＣＴ２３にてＮＯと判定し、ＡＣＴ２４，ＡＣＴ２５を実行することなく、ＡＣＴ２１の待受状態に戻る。つまりプロセッサ１１は、第１の追跡処理及び第２の追跡処理によりそれぞれ判定されたグローバル座標を補正することなくそのまま有効とする。
【００５１】
以上のように第２の実施形態の追跡装置２によれば、２つのインテリジェントカメラ１０２により同一の人物１０３が同時に検出された場合には、２つの検出データから第１の実施形態の情報処理によりそれぞれ判定した２つのグローバル座標を考慮して上記の人物１０３の位置のグローバル座標を判定する。かくして、第１の実施形態の情報処理により精度よく判定しても残る誤差を補償して、より精度のよい位置判定が行える。
【００５２】
この実施形態は、次のような種々の変形実施が可能である。
売場１０１内の水平面として設定された２次元のグローバル座標系における座標として人物１０３の位置を追跡してもよい。この場合も、距離データを用いない場合に比べて、位置検出の精度を向上することが可能である。
【００５３】
プロセッサ１１は、図２中のＡＣＴ１１を行わずに、ＡＣＴ６又はＡＣＴ１０で判定したグローバル座標を逐次外部に出力するだけとしてもよい。そしてこの場合に移動軌跡の把握のためのデータ管理は、別の情報処理装置により行ってもよい。あるいは移動軌跡の把握のためのデータ管理は、人間が行ってもよい。
【００５４】
プロセッサ１１は、図２中のＡＣＴ１４に代えて、追跡データを外部に出力してもよい。そしてこの場合に、追跡データの蓄積管理は、別の情報処理装置により行ってもよい。あるいは追跡データの蓄積管理は、人間が行ってもよい。
【００５５】
検出データの異常は、単位時間当たりの移動距離に基づいて判定してもよい。なお、インテリジェントカメラ１０２が一定の時間間隔で検出データを出力するのであれば、プロセッサ１１は前回の検出位置ＰＯ３と今回の検出位置ＰＯ３との距離に基づいて検出データの異常を判定してもよい。
【００５６】
検出データの異常は、連続する２回の位置判定により判定された２つの検出位置の間の距離を閾値と比較することによって判定してもよい。ただしこの場合は、当該の連続する２回の位置判定の時間差が大きいほど大きな閾値を適用することが望ましい。
【００５７】
プロセッサ１１は、異常と判定した検出データの全てを位置判定に用いないようにしてもよい。つまりプロセッサ１１は例えば、図２中のＡＣＴ８にてＹＥＳと判定した場合は、ＡＣＴ２へと戻るようにしてもよい。ただしこの場合は、位置判定の時間分解能が前記実施形態に比べて低下する。
【００５８】
インテリジェントカメラ１０２は、人物１０３の胴体などの頭部以外の部位、あるいは人物１０３の全身を内包する領域として認識エリアを判定するものであってもよい。
【００５９】
インテリジェントカメラ１０２は、例えばショッピングカートなどの人物１０３以外の任意の対象物を検出するものであってもよい。そしてこの場合に追跡装置１は、インテリジェントカメラ１０２が検出する人物１０３以外の対象物を追跡する装置として利用される。
【００６０】
インテリジェントカメラ１０２を追跡装置１に内蔵してもよい。
【００６１】
人物１０３の移動を監視する対象となる施設は店舗１００には限らず、会館などの任意の建物、あるいは道路及び公園などの如何なる施設であっても構わない。
【００６２】
プロセッサ１１は、インテリジェントカメラ１０２が出力する検出データを蓄積記憶する記憶媒体からの読み出しによって検出データを取得してもよい。この場合の検出データの読み出しは、プロセッサ１１によって直接的に行われてもよいし、他の情報処理装置を介して間接的に行われてもよい。
【００６３】
第２の実施形態においては、図６に示す処理を図２に示す処理と一体の情報処理としてもよい。例えば、プロセッサ１１は、ＡＣＴ１１ののち、他の追跡データが同時更新されたか否かを確認する。そしてプロセッサ１１は、同時更新されているならば、図６中のＡＣＴ２２乃至ＡＣＴ２５を実行する。ただしプロセッサ１１は、同じ情報処理内のＡＣＴ１１にて直前に追跡データに追加したグローバル座標のみを補正する。またプロセッサ１１はこの場合は、他の追跡データが同時更新されていないか、ＡＣＴ２３にてＮＯと判定したか、あるいはＡＣＴ２５を終えたならば、図２中のＡＣＴ２に戻る。
【００６４】
第２の実施形態においては、より多くのインテリジェントカメラ１０２での検出結果を追跡装置１により処理してもよい。そしてプロセッサ１１は、誤差範囲内である複数のグローバル座標の中間的な位置として、それら複数のグローバル座標の補正後のグローバル座標を判定する。
【００６５】
第２の実施形態においては、図２に示す複数の情報処理と、図６に示す情報処理とを、複数の情報処理装置によって分散処理してもよい。なおこの場合は、当該複数の情報処理装置の組み合わせによって追跡装置が構成される。
【００６６】
情報処理によりプロセッサ１１が実現する各機能は、その一部又は全てをロジック回路などのようなプログラムに基づかない情報処理を実行するハードウェアにより実現することも可能である。また上記の各機能のそれぞれは、上記のロジック回路などのハードウェアにソフトウェア制御を組み合わせて実現することも可能である。
【００６７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６８】
１…追跡装置、１１…プロセッサ、１２…メインメモリ、１３…補助記憶ユニット、１４…通信インタフェース、１５…伝送路、１００…店舗、１０１…売場、１０２…インテリジェントカメラ、１０３…人物。
【図１】
2020184725.tif 000003
【図２】
2020184725.tif 000004
【図３】
2020184725.tif 000005
【図４】
2020184725.tif 000006
【図５】
2020184725.tif 000007
【図６】
2020184725.tif 000008
【図７】
2020184725.tif 000009
【図８】
2020184725.tif 000010