(57)【要約】  情報処理装置（２０００）は、カメラ（１０）によって生成された動画データ（１２）に含まれるオブジェクト列（２０）から判定対象オブジェクトが離脱することを検出する。情報処理装置（２０００）は、オブジェクト列（２０）に含まれる他のオブジェクト（２２）との関係に基づく判定対象オブジェクトの大局的な振る舞いを推定する。そして、情報処理装置（２０００）は、判定対象オブジェクトの大局的な振る舞いに基づいて、判定対象オブジェクトがオブジェクト列（２０）から離脱したか否かを判定する。【選択図】図２
2019053789.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト列が含まれる撮像画像を用いて、前記オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、前記第２オブジェクトとの関係に基づく前記第１オブジェクトの大局的な振る舞いを推定する振る舞い推定手段と、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する判定手段と、を有する情報処理装置。
【請求項２】
前記判定手段は、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第２オブジェクトとの速度差、及び前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角のうちの少なくとも１つ、並びに前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したことの尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する、請求項１に記載の情報処理装置。
【請求項３】
前記振る舞い推定手段は、前記撮像画像を用い、前記第１オブジェクト及び前記第２オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
前記振る舞い推定手段は、前記第１オブジェクトの局所的な振る舞いと前記第２オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第１オブジェクトの大局的な振る舞いを推定する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか１つである、請求項３に記載の情報処理装置。
【請求項５】
前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第１振る舞い、前記オブジェクト列内で後退していることを表す第２振る舞い、静止していることを表す第３振る舞い、及び離脱していることを表す第４振る舞いのいずれかになりうる、請求項１乃至４いずれか一項に記載の情報処理装置。
【請求項６】
前記判定手段は、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第２オブジェクトとの速度差、及び前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角のうちの少なくとも１つを表すパラメータ並びに前記第１オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第１オブジェクトが前記オブジェクト列から離脱した尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定し、
前記判定モデルは、前記パラメータが固定された場合、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞いであるときに、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞い以外であるときよりも大きい前記尤度を算出する、請求項５に記載の情報処理装置。
【請求項７】
コンピュータによって実行される制御方法であって、
オブジェクト列が含まれる撮像画像を用いて、前記オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、前記第２オブジェクトとの関係に基づく前記第１オブジェクトの大局的な振る舞いを推定する振る舞い推定ステップと、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する判定ステップと、を有する制御方法。
【請求項８】
前記判定ステップにおいて、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第２オブジェクトとの速度差、及び前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角のうちの少なくとも１つ、並びに前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したことの尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する、請求項７に記載の制御方法。
【請求項９】
前記振る舞い推定ステップにおいて、前記撮像画像を用い、前記第１オブジェクト及び前記第２オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
前記振る舞い推定ステップにおいて、前記第１オブジェクトの局所的な振る舞いと前記第２オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第１オブジェクトの大局的な振る舞いを推定する、請求項７又は８に記載の制御方法。
【請求項１０】
前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか１つである、請求項９に記載の制御方法。
【請求項１１】
前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第１振る舞い、前記オブジェクト列内で後退していることを表す第２振る舞い、静止していることを表す第３振る舞い、及び離脱していることを表す第４振る舞いのいずれかになりうる、請求項７乃至１０いずれか一項に記載の制御方法。
【請求項１２】
前記判定ステップにおいて、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第２オブジェクトとの速度差、及び前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角のうちの少なくとも１つを表すパラメータ並びに前記第１オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第１オブジェクトが前記オブジェクト列から離脱した尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定し、
前記判定モデルは、前記パラメータが固定された場合、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞いであるときに、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞い以外であるときよりも大きい前記尤度を算出する、請求項１１に記載の制御方法。
【請求項１３】
請求項７乃至１１いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【請求項１４】
オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第１オブジェクトについて、前記オブジェクト列に含まれる第２オブジェクト及び第３オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定手段と、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定手段と、を有する情報処理装置。
【請求項１５】
前記判定手段は、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第３オブジェクトとの間の距離、前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角、前記第１オブジェクトの移動方向の時系列変化、及び前記第１オブジェクトの滞留時間のうちの少なくとも１つ、並びに前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだことの尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する、請求項１４に記載の情報処理装置。
【請求項１６】
前記振る舞い推定手段は、前記撮像画像を用い、前記第２オブジェクト及び前記第３オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
前記振る舞い推定手段は、前記第２オブジェクトの局所的な振る舞いと前記第３オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第１オブジェクトの大局的な振る舞いを推定する、請求項１４又は１５に記載の情報処理装置。
【請求項１７】
前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか１つである、請求項１６に記載の情報処理装置。
【請求項１８】
前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第１振る舞い、前記オブジェクト列内で後退していることを表す第２振る舞い、静止していることを表す第３振る舞い、及び割り込んでいることを表す第４振る舞いのいずれかになりうる、請求項１４乃至１７いずれか一項に記載の情報処理装置。
【請求項１９】
前記判定手段は、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第３オブジェクトとの間の距離、前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角、前記第１オブジェクトの移動方向の時系列変化、及び前記第１オブジェクトの滞留時間のうちの少なくとも１つを表すパラメータ並びに前記第１オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第１オブジェクトが前記オブジェクト列に割り込んだ尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定し、
前記判定モデルは、前記パラメータが固定された場合、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞いであるときに、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞い以外であるときよりも大きい前記尤度を算出する、請求項１８に記載の情報処理装置。
【請求項２０】
コンピュータによって実行される制御方法であって、
オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第１オブジェクトについて、前記オブジェクト列に含まれる第２オブジェクト及び第３オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定ステップと、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定ステップと、を有する制御方法。
【請求項２１】
前記判定ステップにおいて、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第３オブジェクトとの間の距離、前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角、前記第１オブジェクトの移動方向の時系列変化、及び前記第１オブジェクトの滞留時間のうちの少なくとも１つ、並びに前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだことの尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する、請求項２０に記載の制御方法。
【請求項２２】
前記振る舞い推定ステップにおいて、前記撮像画像を用い、前記第２オブジェクト及び前記第３オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
前記振る舞い推定ステップにおいて、前記第２オブジェクトの局所的な振る舞いと前記第３オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第１オブジェクトの大局的な振る舞いを推定する、請求項２０又は２１に記載の制御方法。
【請求項２３】
前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか１つである、請求項２２に記載の制御方法。
【請求項２４】
前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第１振る舞い、前記オブジェクト列内で後退していることを表す第２振る舞い、静止していることを表す第３振る舞い、及び割り込んでいることを表す第４振る舞いのいずれかになりうる、請求項２０乃至２３いずれか一項に記載の制御方法。
【請求項２５】
前記判定ステップにおいて、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第３オブジェクトとの間の距離、前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角、前記第１オブジェクトの移動方向の時系列変化、及び前記第１オブジェクトの滞留時間のうちの少なくとも１つを表すパラメータ並びに前記第１オブジェクトの大局的な振る舞いを判定モデルに入力することで、前記第１オブジェクトが前記オブジェクト列に割り込んだ尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定し、
前記判定モデルは、前記パラメータが固定された場合、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞いであるときに、前記第１オブジェクトの大局的な振る舞いが前記第４振る舞い以外であるときよりも大きい前記尤度を算出する、請求項２４に記載の制御方法。
【請求項２６】
請求項２０乃至２５いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理に関する。
【背景技術】
【０００２】
様々な場面において、人などのオブジェクトにより、行列が形成される。例えば行列は、空港の入国審査ゲート、銀行ＡＴＭ、店舗のレジ、又は公共交通機関の乗り場などで形成される。【０００３】
このような行列について解析や制御を行う技術が開発されている。例えば特許文献１は、監視領域を直上から撮影できるように設置されたカメラを利用し、行列から離脱したオブジェクトや行列に割り込むオブジェクトを追跡できる行列管理システムを開示している。このシステムは、行列とオブジェクトとの間の距離など、オブジェクトの動きを表す行列挙動パターンパラメータを用い、個々のオブジェクトについて、行列の中と外のどちらにあるかを判定する。オブジェクトの離脱や割り込みも、行列挙動パターンパラメータを用いて判定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００８−５１９５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
オブジェクトの離脱に関し、特許文献１では、行列が形成される方向と直交する方向へオブジェクトが離脱するケースしか考慮されていない。しかしながら、オブジェクトが離脱する方向は、行列が形成される方向と直交する方向であるとは限らない。例えばコンビニエンスストアのレジで形成される待ち行列のように、細い通路に形成される行列では、オブジェクトは行列が形成される方向と平行する方向へ離脱していく。特許文献１のシステムでは、このようなケースでの離脱が考慮されていない。【０００６】
また、特許文献１では、オブジェクトが行列から一定の距離にいる場合は割り込みと判定している。実利用シーンでは行列付近を通過するだけのオブジェクトや、行列付近で滞留するオブジェクトもある。これらのオブジェクトについて特許文献１では「行列に並んでいる可能性がある」として扱うものとしており、それ以上の記述はない。【０００７】
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、オブジェクト列からのオブジェクトの離脱又は割り込みを高い精度で検出する技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、１）オブジェクト列が含まれる撮像画像を用いて、オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、第２オブジェクトとの関係に基づく第１オブジェクトの大局的な振る舞いを推定する振る舞い推定手段と、２）推定された第１オブジェクトの大局的な振る舞いに基づいて、第１オブジェクトがオブジェクト列から離脱したか否かを判定する判定手段と、を有する。【０００９】
本発明の制御方法は、コンピュータによって実行される。当該制御方法は、１）オブジェクト列が含まれる撮像画像を用いて、オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、第２オブジェクトとの関係に基づく第１オブジェクトの大局的な振る舞いを推定する振る舞い推定ステップと、２）推定された第１オブジェクトの大局的な振る舞いに基づいて、第１オブジェクトがオブジェクト列から離脱したか否かを判定する判定ステップと、を有する。【００１０】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、オブジェクト列からのオブジェクトの離脱又は割り込みを高い精度で検出する技術が提供される。
【図面の簡単な説明】
【００１２】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１３】
【図１】実施形態１の情報処理装置の動作について説明するための図である。
【図２】判定対象オブジェクトの局所的な振る舞いと大局的な振る舞いを例示する図である。
【図３】実施形態１の情報処理装置の構成を例示する図である。
【図４】情報処理装置を実現するための計算機を例示する図である。
【図５】追跡情報をテーブル形式で例示する図である。
【図６】情報処理装置によって実行される処理の流れの概略を示すフローチャートである。
【図７】形状が直線ではないオブジェクト列を例示する図である。
【図８】追跡情報を更新する処理の流れを例示するフローチャートである。
【図９】追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第１の図である。
【図１０】追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第２の図である。
【図１１】オブジェクト列を真上から見た場合の模式図である。
【図１２】所定領域を例示する図である。
【図１３】実施形態２の情報処理装置の機能構成を例示するブロック図である。
【図１４】オブジェクト列を真上から見たときの模式図である。
【図１５】実施形態２の情報処理装置２０００が追跡情報を更新する処理の流れを例示するフローチャートである。
【図１６】第２判定対象オブジェクトの大局的な振る舞いを示す表を例示する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１５】
［実施形態１］
＜概要＞
図１は、実施形態１の情報処理装置（後述する図３における後述する情報処理装置２０００）の動作について説明するための図である。以下で説明する情報処理装置２０００の動作は、情報処理装置２０００の理解を容易にするための例示であり、情報処理装置２０００の動作は以下の例に限定されるわけではない。情報処理装置２０００の動作の詳細やバリエーションについては後述する。
【００１６】
情報処理装置２０００は、カメラ１０によって生成された動画データ１２に含まれるオブジェクト列２０（カメラ１０によって撮像されるオブジェクト列２０）からオブジェクト２２が離脱することを検出する。オブジェクト列２０は、オブジェクト２２によって構成される列である。図１では、動画フレーム１４に含まれるオブジェクト２２−１からオブジェクト２２−８のうち、オブジェクト２２−１からオブジェクト２２−４によって、オブジェクト列２０が構成されている。動画フレーム１４は、動画データ１２を構成する時系列の撮像画像の内の１つである。
【００１７】
オブジェクト列２０としては、任意のものを扱うことができる。例えばオブジェクト列２０は、空港の入国審査ゲート、銀行 ATM、店舗のレジカウンタ、又は公共交通機関の乗り場などで形成される人の列である。この場合、オブジェクト２２は人である。その他にも例えば、オブジェクト列２０は、駐車場の利用を待つ車両の列である。この場合、オブジェクト２２は車両である。図１において、オブジェクト２２は人である。
【００１８】
ここで、本明細書における「離脱」という用語の意味について説明する。オブジェクト列２０に含まれているオブジェクト２２が、その後に、オブジェクト列２０に含まれなくなることがある。この変化は、大別して、（１）オブジェクト２２がオブジェクト列２０に並び終えて先頭から外へ出て行くという変化と、（２）オブジェクト２２がオブジェクト列２０に並んでいる途中でオブジェクト列２０の外へ出て行く変化とに分けられる。
【００１９】
店舗のレジカウンタの前に形成される人の列を例として、（１）と（２）の違いを説明する。（１）のケースは、「列に並んだ人が、前へ進んでいって列の先頭に到達した後、レジカウンタが空いたために列の先頭から列の外へ出て、レジカウンタで商品を購入する」といったケースである。一方、（２）のケースは、「列に並んだ人が、列の途中から列の外へ出て、商品を購入しない」といったケースである。
【００２０】
本明細書では、「（２）オブジェクト２２がオブジェクト列２０に並んでいる途中でオブジェクト列２０の外へ出て行く変化」を「離脱」と表現する。これは、「途中離脱」とも表現できる。なお、途中離脱と対比して、上述の（１）を「先頭離脱」と表現することもできる。以下、単に「離脱」と表記した場合又は「途中離脱」と表記した場合には、上記（２）を表す。一方、「先頭離脱」と表記した場合には、上記（１）を表す。
【００２１】
情報処理装置２０００は、オブジェクト列２０に含まれるオブジェクト２２について、オブジェクト列２０から離脱したか否かを判定する（以下、「離脱判定を行う」とも表現とする）。ここで、情報処理装置２０００が判定対象とするオブジェクト２２を、判定対象オブジェクトと呼ぶ。例えば情報処理装置２０００は、オブジェクト列２０に含まれる各オブジェクト２２を順に判定対象オブジェクトとして離脱判定を行うことで、オブジェクト列２０から１つ以上のオブジェクト２２が離脱したことを検出する。
【００２２】
判定対象オブジェクトについて離脱判定を行うために、情報処理装置２０００は、オブジェクト列２０に含まれる他のオブジェクト２２との関係に基づく判定対象オブジェクトの振る舞いを推定する。そして、情報処理装置２０００は、推定された振る舞いに基づいて、判定対象オブジェクトがオブジェクト列２０から離脱したか否かを判定する。
【００２３】
ここで、オブジェクト列２０に含まれる他のオブジェクト２２との関係に基づく判定対象オブジェクトの振る舞いは、オブジェクト列２０に関する判定対象オブジェクトの大局的な振る舞い（動きや状態）を表す。以下、オブジェクト列２０に含まれる他のオブジェクト２２との関係に基づく判定対象オブジェクトの振る舞いを、「大局的な判定対象オブジェクトの振る舞い」とも表記する。
【００２４】
判定対象オブジェクト単体で見た場合の振る舞い（他のオブジェクト２２との関係を考慮せず、判定対象オブジェクトのみに着目した場合の振る舞い）が同一のシチュエーションであっても、判定対象オブジェクトの大局的な振る舞いが異なることがある。ここで、他のオブジェクト２２との関係を考慮せず、或るオブジェクト単体に着目したそのオブジェクトの振る舞いを、「局所的なオブジェクトの振る舞い」と呼ぶ。
【００２５】
図２は、判定対象オブジェクトの局所的な振る舞いと大局的な振る舞いを例示する図である。図２の左列と右列の例ではいずれも、判定対象オブジェクトが前進している。そのため、判定対象オブジェクトの局所的な振る舞いが「前進」であるという点で共通している。
【００２６】
一方で、これら２つの例において、判定対象オブジェクトの大局的な振る舞いは異なる。図２の左列の例では、判定対象オブジェクトだけでなく、判定対象オブジェクトの前のオブジェクトも前進している。よって、判定対象オブジェクトの振る舞いを大局的に見ると、判定対象オブジェクトは、オブジェクト列２０全体の動きに合わせて前進している蓋然性が高いと言える。そのため、判定対象オブジェクトの大局的な振る舞いを、「オブジェクト２０内で前進する動作」と表現することができる。
【００２７】
図２の右列の例では、判定対象オブジェクトが前進している一方で、判定対象オブジェクトの前のオブジェクトが静止している。この場合、判定対象オブジェクトの振る舞いを大局的に見ると、判定対象オブジェクトの振る舞いは、オブジェクト列２０全体の動きに合わせて前進しているのではなく、オブジェクト列２０から抜けるように前進している（即ち、離脱している）蓋然性が高いと言える。そのため、判定対象オブジェクトの大局的な振る舞いを、「オブジェクト列２０から離脱する動作」と表現することができる。
【００２８】
後者のケースのように、判定対象オブジェクトの大局的な振る舞いに着目すると、判定対象オブジェクトが離脱している蓋然性が高い状況を把握できることがある。そこで本実施形態の情報処理装置２０００は、このような大局的な判定対象オブジェクトの振る舞いを考慮して、判定対象オブジェクトの離脱判定を行う。これにより、判定対象オブジェクトの大局的な振る舞いを考慮しない場合と比較し、判定対象オブジェクトの離脱を高い精度で、なおかつ早期に検出することができる。
【００２９】
以下、本実施形態の情報処理装置２０００についてさらに詳細に説明する。
【００３０】
＜情報処理装置２０００の機能構成の例＞
図３は、実施形態１の情報処理装置２０００の構成を例示する図である。情報処理装置２０００は、例えば、振る舞い推定部２０２０及び判定部２０４０を有する。振る舞い推定部２０２０は、オブジェクト列２０が含まれる動画フレーム１４（撮像画像）を用いて、動画フレーム１４に含まれる判定対象オブジェクトと、オブジェクト列２０内の別のオブジェクト２２との関係に基づいて、判定対象オブジェクトの大局的な振る舞いを推定する。判定部２０４０は、推定された判定対象オブジェクトの大局的な振る舞いに基づき、判定対象オブジェクトについて離脱判定を行う。
【００３１】
＜情報処理装置２０００のハードウエア構成＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００３２】
図４は、情報処理装置２０００を実現するための計算機１０００を例示する図である。計算機１０００は任意の計算機である。例えば計算機１０００は、Personal Computer（PC）、サーバマシン、タブレット端末、又はスマートフォンなどである。その他にも例えば、計算機１０００はカメラ１０であってもよい。計算機１０００は、情報処理装置２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００３３】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、CPU（Central Processing Unit）や GPU（Graphics Processing Unit）などの種々のプロセッサである。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。
【００３４】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース１１２０は、計算機１０００を通信網に接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００３５】
例えば計算機１０００は、ネットワークを介してカメラ１０と通信可能に接続されている。ただし、計算機１０００をカメラ１０と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機１０００は、カメラ１０と通信可能に接続されていなくてもよい。
【００３６】
ストレージデバイス１０８０は、情報処理装置２０００の各機能構成部（振る舞い推定部２０２０及び判定部２０４０）を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００３７】
なお、計算機１０００は、複数の計算機を利用して実現されてもよい。例えば振る舞い推定部２０２０と判定部２０４０は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
【００３８】
＜カメラ１０について＞
カメラ１０は、繰り返し撮像を行って時系列の動画フレーム１４を生成することにより、動画データ１２を生成する任意のカメラである。例えばカメラ１０は、特定の施設や道路などを監視するために設けられている監視カメラである。
【００３９】
前述したように、情報処理装置２０００を実現する計算機１０００は、カメラ１０であってもよい。この場合、カメラ１０は、自身で生成した動画フレーム１４を解析することで、判定対象オブジェクトの離脱判定を行う。このような機能を持たせるカメラ１０としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP（Internet Protocol）カメラなどと呼ばれるカメラを用いることができる。
【００４０】
なお、情報処理装置２０００の全ての機能をカメラ１０で実現するのではなく、情報処理装置２０００の一部の機能のみがカメラ１０で実現されてもよい。例えば、動画フレーム１４からオブジェクト２２を検出する機能をカメラ１０で実現し、検出された各オブジェクト２２の動作等を解析して判定対象オブジェクトの離脱判定を行う機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ１０から、検出されたオブジェクト２２の位置や画像特徴などの種々の情報（後述する検出情報）を取得する。この場合、サーバ装置は、動画フレーム１４を取得しなくてもよい。
【００４１】
＜動画フレーム１４の取得方法＞
情報処理装置２０００は、処理対象とする１つ以上の動画フレーム１４を取得する。情報処理装置２０００が動画フレーム１４を取得する方法は様々である。例えば情報処理装置２０００は、カメラ１０から送信される動画フレーム１４を受信する。また例えば、情報処理装置２０００は、カメラ１０にアクセスし、カメラ１０に記憶されている動画フレーム１４を取得する。
【００４２】
なお、カメラ１０は、カメラ１０の外部に設けられている記憶装置に動画フレーム１４を記憶させてもよい。この場合、情報処理装置２０００は、この記憶装置にアクセスして動画フレーム１４を取得する。そのため、この場合、情報処理装置２０００とカメラ１０は通信可能に接続されていなくてもよい。
【００４３】
情報処理装置２０００の一部又は全部の機能がカメラ１０で実現される場合、情報処理装置２０００は、情報処理装置２０００自身によって生成された動画フレーム１４を取得する。この場合、動画フレーム１４は、例えば情報処理装置２０００の内部にある記憶装置（例えばストレージデバイス１０８０）に記憶されている。そこで情報処理装置２０００は、これらの記憶装置から動画フレーム１４を取得する。
【００４４】
情報処理装置２０００が動画フレーム１４を取得するタイミングは任意である。例えば情報処理装置２０００は、カメラ１０によって動画データ１２を構成する新たな動画フレーム１４が生成される度に、その新たに生成された動画フレーム１４を取得する。その他にも例えば、情報処理装置２０００は、定期的に未取得の動画フレーム１４を取得してもよい。例えば情報処理装置２０００が１秒間に１回動画フレーム１４を取得する場合、情報処理装置２０００は、カメラ１０によって１秒間に生成される複数の動画フレーム１４（例えば動画データ１２のフレームレートが 30fps（frames/second）であれば、３０枚の動画フレーム１４）をまとめて取得する。
【００４５】
情報処理装置２０００は、動画データ１２を構成する全ての動画フレーム１４を取得してもよいし、一部の動画フレーム１４のみを取得してもよい。後者の場合、例えば情報処理装置２０００は、カメラ１０によって生成される動画フレーム１４を、所定数に１つの割合で取得する。
【００４６】
＜オブジェクト列２０の検出と管理＞
判定対象オブジェクトの離脱判定を行う前提として、情報処理装置２０００は、オブジェクト列２０の検出及び管理を行う。オブジェクト列２０の管理は、例えば、オブジェクト列２０に含まれるオブジェクト２２について、追跡情報の生成及び更新を行うことで実現される。以下、オブジェクト列２０に含まれるオブジェクト２２を、追跡対象オブジェクトと呼ぶ。
【００４７】
追跡情報は、追跡対象オブジェクトに関する種々の情報を示す。例えば追跡情報は、各追跡対象オブジェクトについて、位置、大きさ、オブジェクト列２０との距離、識別情報などを示す。識別情報は、追跡対象オブジェクトを互いに識別するために、各追跡対象オブジェクトに割り当てられる識別子などである。さらに追跡情報は、追跡対象オブジェクトの局所的な振る舞いを表す局所情報と、追跡対象オブジェクトの大局的な振る舞いを表す大局情報を示す。
【００４８】
追跡対象オブジェクトの位置は、動画フレーム１４上の位置（例えば動画フレーム１４の左上端を原点とする座標）で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、追跡対象オブジェクトの実世界座標は、カメラのキャリブレーションによって求まる位置や姿勢を表すパラメータを用いて、動画フレーム１４上の位置から算出することができる。同様に、追跡対象オブジェクトとオブジェクト列２０との間の距離は、動画フレーム１４上の距離でもよいし、実空間上での距離でもよい。なお、追跡対象オブジェクトとオブジェクト列２０との間の距離の具体的な定め方について後述する。
【００４９】
追跡情報に示される情報は、前述したものに限定されない。例えば追跡情報は、各オブジェクト２２について、オブジェクト列２０の先頭からの順位、追跡情報に登録されてからの経過時間、推定待ち時間、画像特徴、及び画像領域などをさらに示してもよい。オブジェクト２２の推定待ち時間とは、現在時点からそのオブジェクト２２が先頭離脱するまでに要すると推定される時間を意味する。
【００５０】
追跡対象オブジェクトの画像特徴には、例えば、追跡対象オブジェクトの大きさ、形状、又は表面の色や模様（人物の場合は服の色や模様）などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、追跡対象オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプディスクリプタを用いることができる。
【００５１】
追跡対象オブジェクトの画像領域とは、追跡対象オブジェクトを表す画像領域を定義する情報である。例えば、追跡対象オブジェクトを表す画像領域として、追跡対象オブジェクトに外接する矩形を用いる場合、その矩形を定義する情報（例えば、左上端と右下端の座標）である。
【００５２】
図５は、追跡情報をテーブル形式で例示する図である。図５のテーブルをテーブル２００と表記する。テーブル２００は、追跡ＩＤ２０２、位置２０４、距離２０６、局所情報２０８、大局情報２１０、及び画像特徴２１２を示す。追跡ＩＤ２０２は、追跡対象オブジェクトに割り当てられた識別子を示す。距離２０６は、追跡対象オブジェクトとオブジェクト列２０との間の距離を示す。
【００５３】
追跡情報は、記憶領域に記憶される。例えばこの記憶領域は、図３のストレージデバイス１０８０である。ただし、追跡情報が記憶される記憶領域は、情報処理装置２０００の内部に設けられている記憶領域に限定されない。例えば追跡情報は、情報処理装置２０００の外部のサーバ装置や NAS（Network Attached Storage）などの記憶領域に記憶されてもよい。この場合、情報処理装置２０００は、サーバ装置等に対し、生成した追跡情報を送信する。
【００５４】
以下、追跡情報の生成と更新について説明する。追跡情報の生成とは、動画フレーム１４からオブジェクト列２０が検出された時に、そのオブジェクト列２０について新たに追跡情報を生成することを意味する。情報処理装置２０００は、オブジェクト列２０が検出された動画フレーム１４を用いて、その動画フレーム１４においてオブジェクト列２０に含まれる各オブジェクト２２を追跡対象オブジェクトとして、追跡情報を生成する。
【００５５】
追跡情報の更新とは、オブジェクト列２０が検出された後に生成される動画フレーム１４からオブジェクト２２を検出し、検出されたオブジェクト２２に関する情報に基づいて、追跡情報の内容を変更することを意味する。例えば、追跡対象オブジェクトの位置などの変化が追跡情報に反映される。また、新たにオブジェクト列２０に加わったオブジェクト２２に関する情報が、追跡情報に追加される。さらに、オブジェクト列２０から離脱したオブジェクト２２に関する情報が、追跡情報から削除される。ただし、離脱したオブジェクト２２に関する情報は、追跡情報に残されてもよい。この場合、オブジェクト列２０に属しているオブジェクト２２とオブジェクト列２０から離脱したオブジェクト２２とを判別できるように、追跡情報を構成する（例えばフラグが設けられる）。
【００５６】
図６は、情報処理装置２０００によって実行される処理の流れの概略を示すフローチャートである。情報処理装置２０００は、動画フレーム１４からオブジェクト列２０を検出する（Ｓ１０２）。情報処理装置２０００は、検出したオブジェクト列２０に含まれるオブジェクト２２を追跡対象オブジェクトとして、追跡情報を生成する（Ｓ１０４）。
【００５７】
Ｓ１０６からＳ１１０は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Ａである。Ｓ１０６において、所定の終了条件が満たされている場合、情報処理装置２０００は、図６の処理を終了する。一方、所定の終了条件が満たされていない場合、図６の処理はＳ１０８に進む。
【００５８】
Ｓ１０８において、情報処理装置２０００は、追跡情報の更新を行う。Ｓ１１０はループ処理の終端であるため、図６の処理はＳ１０６に進む。以降、所定の終了条件が満たされるまでループ処理Ａが繰り返し実行されることで、追跡情報が繰り返し更新される。また、追跡情報が更新される度に、各追跡対象オブジェクトについて離脱判定が行われる。
【００５９】
上記所定の終了条件は任意である。例えば所定の終了条件は、オブジェクト列２０に含まれるオブジェクト２２の数が０になること、すなわちオブジェクト列２０が無くなることである。この場合、情報処理装置２０００は、まだ処理対象となっていない動画フレーム１４で構成される動画データ１２について、再度図６の処理を最初から実行する。こうすることで、新たに形成されるオブジェクト列２０の検出及びそのオブジェクト列２０の変化の検出が行われる。
【００６０】
＜＜オブジェクト列２０の検出＞＞
情報処理装置２０００は、動画データ１２を構成する時系列の複数の動画フレーム１４を順に画像解析していくことで、動画データ１２からオブジェクト列２０を検出する。ただし、オブジェクト列２０の検出に利用される動画フレーム１４は、動画データ１２を構成する動画フレーム１４のうちの一部であってもよい。例えば、情報処理装置２０００は、動画データ１２を構成する時系列の動画フレーム１４を、所定数につき１つの割合で画像解析する。
【００６１】
オブジェクト列２０を検出するために、情報処理装置２０００は、動画フレーム１４からオブジェクト２２を検出する。動画フレーム１４からオブジェクト２２を検出する技術には、既知の様々な技術を用いることができる。例えば情報処理装置２０００は、動画フレーム１４から検出すべきオブジェクトの画像特徴を学習させた検出器を含む。例えば人物をオブジェクト２２として扱う場合、検出器には、人物らしさを表す画像特徴を学習させておく。また、車両をオブジェクト２２として扱う場合、検出器には、車両らしさを表す画像特徴を学習させておく。
【００６２】
検出器は、動画フレーム１４から、学習済みの画像特徴にマッチする画像領域を、オブジェクトを表す領域（以下、オブジェクト領域）として検出する。オブジェクト領域が検出されることは、そのオブジェクト領域によって表されるオブジェクトが検出されたことを意味する。オブジェクト２２を表す検出器には、例えば、HOG（Histograms of Oriented Gradients）特徴に基づいて検出を行うものや、CNN（Convolutional Neural Network）を用いるものが利用できる。なお、検出器は、オブジェクト全体の領域を検出するように学習させたものであってもよいし、オブジェクトの一部の領域（例えば人の頭部など）を検出するように学習させたものであってもよい。
【００６３】
検出器は、検出したオブジェクト２２に関する情報（以下、検出情報）を出力する。検出情報は、例えば、検出されたオブジェクト２２の位置、大きさ、識別情報、画像特徴、及び画像領域などを示す。識別情報は、動画フレーム１４から検出されたオブジェクト２２を互いに識別するための識別子などである。また、オブジェクト列２０が検出された後においては、検出器は、オブジェクト２２とオブジェクト列２０との間の距離を算出して検出情報に含めてもよい。
【００６４】
動画フレーム１４に含まれるオブジェクト２２によってオブジェクト列２０が形成されたことを検出する技術には、既存の様々な技術を利用することができる。ここで、動画フレーム１４の画像領域の一部として、オブジェクト列２０が形成される領域（以下、列エリア）が定められていてもよい。この場合、情報処理装置２０００は、列エリア内で１つ以上のオブジェクト２２が検出されたことに応じて、その１つ以上のオブジェクト２２によってオブジェクト列２０が形成されたと判定する。
【００６５】
列エリアを定義する方法は、カメラによって生成される撮像画像内の領域を指定する既知の様々な手法を用いて実現することができる。例えば情報処理装置２０００は、列エリアを指定する入力操作をユーザから受け付ける。この入力操作は、例えば、オブジェクト列２０が形成されるエリアを線、多角形、又は円形などの任意の図形を用いて動画フレーム１４上に描く操作である。その他にも例えば、列エリアの指定は、列エリアを特定するための座標（例えば列エリアが矩形であれば、左上端の座標と右下端の座標）をキーボード入力等によって指定することで実現されてもよい。
【００６６】
情報処理装置２０００は、動画フレーム１４の画像領域全体を対象としてオブジェクト２２の検出を行ってもよいし、一部の画像領域のみを対象としてオブジェクト２２の検出を行ってもよい。例えば前述した列エリアが定義される場合、情報処理装置２０００は、列エリア内のみを対象にしてオブジェクト２２の検出を行ったり、列エリア及びその周辺（例えば、列エリアを所定倍に拡大したエリア）のみを対象としてオブジェクト２２の検出を行ったりしてもよい。
【００６７】
オブジェクト列２０の形状は、直線であってもよいし、直線でなくてもよい。後者のケースは、オブジェクト列２０がＳ字に蛇行していたり、途中で折れ曲がっていたりするケースである。図７は、形状が直線ではないオブジェクト列２０を例示する図である。このようにオブジェクト列２０の形状が直線以外である場合、例えば、オブジェクト列２０に沿って行列線３０を定義し、その行列線３０に沿って、オブジェクト列２０の状態や移動方向などが定義される。行列線とは、オブジェクト列２０の形状を線で表したもの（近似したもの）である。
【００６８】
オブジェクト２２とオブジェクト列２０との間の距離は、例えばこの行列線を用いて定義される。具体的には、オブジェクト２２からオブジェクト列２０の行列線に下ろした垂線の長さを、オブジェクト２２とオブジェクト列２０との間の距離として扱う。
【００６９】
＜＜追跡情報を更新する処理の流れ＞＞
図８は、追跡情報を更新する処理の流れを例示するフローチャートである。図８は、図６のＳ１０８で実行される処理を詳細化したものである。
【００７０】
情報処理装置２０００は、オブジェクト列２０が検出された動画フレーム１４以降の各動画フレーム１４を対象に、図８に示す処理を行う。
【００７１】
情報処理装置２０００は、動画フレーム１４からオブジェクト２２を検出する（Ｓ２０２）。情報処理装置２０００は、動画フレーム１４から検出されたオブジェクト２２と、追跡対象オブジェクトとの対応付けを行う（Ｓ２０４）。ここで、動画フレーム１４から検出されたオブジェクトと、追跡情報に示される追跡対象オブジェクト（その以前の動画フレーム１４から検出されたオブジェクト）とを対応づける技術には、既存の技術を利用することができる。
【００７２】
情報処理装置２０００は、各追跡対象オブジェクトの局所的な振る舞いを推定する（Ｓ２０６）。情報処理装置２０００は、各追跡対象の大局的な振る舞いを推定する（Ｓ２０８）。情報処理装置２０００は、各追跡対象オブジェクトについて離脱判定を行う（Ｓ２１０）。
【００７３】
情報処理装置２０００は、追跡情報の内容を更新する（Ｓ２１２）。追跡情報の内容を更新する技術には、既存の技術を利用することができる。例えば情報処理装置２０００は、オブジェクト列２０に含まれなくなった追跡対象オブジェクト（先頭離脱又は途中離脱した追跡対象オブジェクト）を、追跡情報から削除する。ただし前述したように、オブジェクト列２０に含まれなくなった追跡対象オブジェクトに関する情報は、追跡情報に残されてもよい。また、情報処理装置２０００は、オブジェクト列２０に新たに含まれるようになったオブジェクト２２（オブジェクト列２０の末尾から新たにオブジェクト列２０に加わったオブジェクト２２、又はオブジェクト列２０に割り込んだオブジェクト２２）を、新たな追跡対象オブジェクトとして、追跡情報に追加する。さらに、情報処理装置２０００は、追跡情報に示されており、なおかつオブジェクト列２０に継続して含まれている追跡対象オブジェクトに関する情報（位置など）を、その追跡対象オブジェクトと対応づけられたオブジェクト２２の検出情報を利用して変更する。
【００７４】
＜局所的な振る舞いの推定：Ｓ２０６＞
情報処理装置２０００は、各追跡対象オブジェクトについて、その局所的な振る舞いを推定する。追跡対象オブジェクトの局所的な振る舞いは、例えば、追跡対象オブジェクトの動きに関する状態（以下、動き状態）で定義される。追跡対象オブジェクトの動き状態は、例えば、前進状態、後退状態、及び静止状態のいずれか１つである。
【００７５】
或る動画フレーム１４から検出された追跡対象オブジェクトの局所的な振る舞いは、例えば、その動画フレーム１４の生成時点を含む過去所定期間における追跡対象オブジェクトの位置の変化から推定することができる。例えば情報処理装置２０００は、動画フレーム１４−１から検出された追跡対象オブジェクトの位置と、その１つ前に生成された動画フレーム１４−２から検出されたその追跡対象オブジェクトの位置とを結ぶベクトルを、動画フレーム１４−１におけるその追跡対象オブジェクトの移動ベクトルとして算出する。そして、その移動ベクトルの方向及びその移動ベクトルの大きさ（動き量）に基づいて、動画フレーム１４−１における追跡対象オブジェクトの局所的な振る舞いを推定する。
【００７６】
例えば情報処理装置２０００は、追跡対象オブジェクトの移動ベクトルの大きさに基づいて、追跡対象オブジェクトが静止しているか否かを判定する。具体的には、情報処理装置２０００は、移動ベクトルの大きさが基準値以下である場合に、追跡対象オブジェクトが静止していると判定する。この基準値は、ゼロであってもよいし、ゼロより大きい値であってもよい。前者の場合、追跡対象オブジェクトが動いていない場合のみ、追跡対象オブジェクトの局所的な振る舞いが静止状態として扱われる。一方、後者の場合、追跡対象オブジェクトが動いていたとしても、その動き量が基準値以下であれば、追跡対象オブジェクトの局所的な振る舞いは静止状態として扱われる。なお、上記基準値は、情報処理装置２０００に予め固定で設定されていてもよいし、情報処理装置２０００のユーザによって指定されてもよい。
【００７７】
上記基準値は、静的に決定される値であってもよいし、動的に決定される値であってもよい。前者の場合、情報処理装置２０００からアクセス可能な記憶装置に、予め基準値を記憶させておく。後者の場合、情報処理装置２０００は、基準値を動的に計算する。例えば情報処理装置２０００は、過去の動き量の時間方向に移動平均を算出し、算出された値を基準値として利用する。
【００７８】
静止していない追跡対象オブジェクトについては、その移動ベクトルの方向に基づいて、前進状態と後進状態のいずれであるかが判定される。例えば情報処理装置２０００は、追跡対象オブジェクトの移動ベクトルについて、オブジェクト列２０の進行方向に平行な成分を算出する。その成分がオブジェクト列２０の進行方向と同じである場合、情報処理装置２０００は、その追跡対象オブジェクトの局所的な振る舞いを「前進状態」とする。一方、その成分がオブジェクト列２０の進行方向と逆方向である場合、情報処理装置２０００は、その追跡対象オブジェクトの局所的な振る舞いを「後退状態」とする。
【００７９】
＜大局的な振る舞いの推定：Ｓ２０８＞
振る舞い推定部２０２０は、各追跡対象オブジェクトについて、その大局的な振る舞いを推定する。振る舞い推定部２０２０は、追跡対象オブジェクトの大局的な振る舞いを、その追跡対象オブジェクトの局所的な振る舞いと、他の追跡対象オブジェクトの局所的な振る舞いとに基づいて推定する。追跡対象オブジェクトの大局的な振る舞いは、その追跡対象オブジェクトの局所的な振る舞いが、他の追跡対象オブジェクトとの関係に基づいてどのような意味をもつ振る舞いであるかを表す。
【００８０】
例えば情報処理装置２０００は、追跡対象オブジェクトの大局的な振る舞いを、その追跡対象オブジェクトの局所的な振る舞いと、その追跡対象オブジェクトに隣接する他の追跡対象オブジェクト（例えば一つ前又は後ろに位置する追跡対象オブジェクト）の局所的な振る舞いとの組み合わせとに基づいて推定する。図９は、追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第１の図である。図９は、追跡対象オブジェクトＡの局所的な振る舞いと、追跡対象オブジェクトＢの局所的な振る舞いとの組み合わせに対応づけて、追跡対象オブジェクトＡの大局的な振る舞いを示している。追跡対象オブジェクトＢは、追跡対象オブジェクトＡの一つ前に位置する追跡対象オブジェクトである。
【００８１】
例えば、追跡対象オブジェクトＡの局所的な振る舞いが「前進状態」を示す行に着目する。この場合、追跡対象オブジェクトＢの局所的な振る舞いが「前進状態」であれば、追跡対象オブジェクトＡの大局的な振る舞いが「列内で前進」となっている。これは、追跡対象オブジェクトＡとその一つ前の追跡対象オブジェクトＢの双方が前進しているため、追跡対象オブジェクトＡが、オブジェクト列２０全体に合わせて前進していると推定できるためである。
【００８２】
一方、追跡対象オブジェクトＢの局所的な振る舞いが「静止状態」であれば、追跡対象オブジェクトＡの大局的な振る舞いが「離脱動作」となっている。これは、一つ前の追跡対象オブジェクトＢが静止しているにもかかわらず追跡対象オブジェクトＡが前進しているため、追跡対象オブジェクトＡは、オブジェクト列２０から離脱するために前進していると推定できるためである。
【００８３】
また、追跡対象オブジェクトＡが静止しており、追跡対象オブジェクトＢが前進している場合、追跡対象オブジェクトＡは、静止しているものの、オブジェクト列２０内で前進することが可能な状態であるといえる。そのため、追跡対象オブジェクトＡの大局的な振る舞いが「列内で前進可能」となっている。
【００８４】
ここで、判定対象オブジェクトと比較する対象として、その一つ前に並んでいる一つの追跡対象オブジェクトの代わりに、判定対象オブジェクトの前に並んでいる所定数（２以上）の追跡対象オブジェクトを利用してもよい。この場合、例えば振る舞い推定部２０２０は、上記所定数の追跡対象オブジェクトを一つのグループとして扱い、このグループの局所的な振る舞いを推定する。ここでいうグループは、単に複数の追跡対象オブジェクトのまとまりを意味しているのであり、これらの追跡対象オブジェクトに共通の属性等があることを要しない。
【００８５】
判定対象オブジェクトの局所的な振る舞いと、その前に並んでいる追跡対象オブジェクトのグループの局所的な振る舞いとで定まる、判定対象オブジェクトの大局的な振る舞いは、例えば、図９において、「追跡対象オブジェクトＢ」としているところを、「追跡対象オブジェクトＡの前に並んでいる追跡対象オブジェクトのグループ」に置き換えることで表すことができる。
【００８６】
グループの局所的な振る舞いは、例えば、グループに含まれる各追跡対象オブジェクトの局所的な振る舞いに基づいて定められる。例えば、振る舞い推定部２０２０は、グループに含まれる追跡対象オブジェクトのうち、所定割合以上の追跡対象オブジェクトが静止していたら、グループの局所的な振る舞いを「静止」とする。同様に、振る舞い推定部２０２０は、所定割合以上の追跡対象オブジェクトが前進していたらグループの局所的な振る舞いを「前進」とし、所定割合以上の追跡対象オブジェクトが後退していたらグループの局所的な振る舞いを「後退」とする。
【００８７】
判定対象オブジェクトの大局的な振る舞いは、判定対象オブジェクトの一つ前に並んでいる他の追跡対象オブジェクトだけでなく、判定対象オブジェクトの一つ後ろに並んでいる他の追跡対象オブジェクトも考慮して定められてもよい。図１０は、追跡対象オブジェクトの大局的な振る舞いを示す表を例示する第２の図である。追跡対象オブジェクトＢは追跡対象オブジェクトＡの一つ前に位置しており、追跡対象オブジェクトＣは追跡対象オブジェクトＡの一つ後ろに位置している。
【００８８】
図１０は、追跡対象オブジェクトＡ、Ｂ、及びＣの局所的な振る舞いの組み合わせに対応づけて、追跡対象オブジェクトＡの大局的な振る舞いを示している。例えば、追跡対象オブジェクトＢが「前進状態」、追跡対象オブジェクトＣが「前進状態」の行に着目する。この場合、追跡対象オブジェクトＡの局所的な振る舞いが「前進状態」であれば、追跡対象オブジェクトＡの大局的な振る舞いが「列内で前進」となっている。これは、図９において追跡対象オブジェクトＡが「前進状態」、追跡対象オブジェクトＢが「前進状態」の場合と同じである。
【００８９】
このように追跡対象オブジェクトＡの一つ後ろに並ぶ追跡対象オブジェクトＣの局所的な振る舞いをさらに加味することで、追跡対象オブジェクトＡの大局的な振る舞いをより高い精度で推定することができる。
【００９０】
＜離脱の検出：Ｓ２１０＞
判定部２０４０は、各追跡対象オブジェクトについて離脱判定を行う。前述したように、離脱判定の判定対象となっているオブジェクトを、判定対象オブジェクトと呼ぶ。
【００９１】
判定部２０４０は、判定対象オブジェクトの大局的な振る舞いに基づいて、判定対象オブジェクトがオブジェクト列２０から離脱したことの尤度を算出する。ここで算出される尤度を、離脱尤度と呼ぶ。判定部２０４０は、離脱尤度に基づいて、判定対象オブジェクトがオブジェクト列２０から離脱したか否かを判定する。例えば判定部２０４０は、或る判定対象オブジェクトについて算出された離脱尤度が所定値以上である場合に、その判定対象オブジェクトがオブジェクト列２０から離脱したと判定する。一方、判定部２０４０は、或る判定対象オブジェクトについて算出された離脱尤度が所定値未満である場合に、その判定対象オブジェクトがオブジェクト列２０から離脱していないと判定する。
【００９２】
その他にも例えば、判定部２０４０は、判定対象オブジェクトの離脱尤度が所定値以上である状況が所定期間継続した場合のみ、判定対象オブジェクトがオブジェクト列２０から離脱したと判定してもよい。その他にも例えば、判定部２０４０は、所定期間における判定対象オブジェクトの離脱尤度の統計値を算出し、その統計値が所定値以上である場合のみ、判定対象オブジェクトがオブジェクト列２０から離脱したと判定してもよい。統計値は、例えば、平均値、積算値、最大値、又は最小値などである。
【００９３】
判定部２０４０は、判定対象オブジェクトに関する種々のパラメータを用いて離脱尤度を算出する。ここで、入力されたパラメータに基づいて離脱尤度を出力する関数を、離脱尤度関数と呼ぶ。離脱尤度関数が利用するパラメータの種類については後述する。
【００９４】
離脱尤度関数を用いて得られる離脱尤度には、判定対象オブジェクトの大局的な振る舞いが反映されるようにする。例えば、離脱尤度関数に与えるパラメータの値を固定した場合において、離脱尤度関数を用いて得られる離脱尤度が、判定対象オブジェクトの大局的な振る舞いに応じて異なるようにする。より具体的には、離脱尤度関数に与えるパラメータの値が同じ状況下において、判定対象オブジェクトの大局的な振る舞いが「離脱動作」である場合に算出される離脱尤度が、判定対象オブジェクトの大局的な振る舞いが「離脱動作」以外である場合に算出される離脱尤度よりも大きくなるようにする。例えば、２つの離脱尤度関数 f1 と f2 を用意する。f1 と f2 は、これらにそれぞれ同一の値のパラメータを入力した場合に、f1 の方が f2 よりも大きい値を出力するように設計しておく。そして、判定部２０４０は、判定対象オブジェクトの大局的な振る舞いが「離脱動作」である場合には離脱尤度関数 f1 を用い、それ以外の場合には離脱尤度関数 f2 を用いる。例えば f1 は、f2 の出力値に１より大きい所定値を乗じる関数とすることができる。
【００９５】
以下、離脱尤度関数において用いられるパラメータに着目しながら、離脱尤度関数についてさらに説明する。
【００９６】
離脱尤度関数で用いられるパラメータは、例えば、判定対象オブジェクトと、判定対象オブジェクトの進行方向において判定対象オブジェクトと隣接する追跡対象オブジェクトとの間の距離である。「判定対象オブジェクトの進行方向において判定対象オブジェクトと隣接する追跡対象オブジェクト」は、例えば、判定対象オブジェクトが前進している場合には判定対象オブジェクトの１つ前に位置する追跡対象オブジェクトを意味し、判定対象オブジェクトが後退している場合には判定対象オブジェクトの１つ後ろに位置する追跡対象オブジェクトを意味する。判定対象オブジェクトと隣接する追跡対象オブジェクトとの間の距離をパラメータとして利用する離脱尤度関数としては、例えば、その距離が小さくなるに連れて単調非減少するものが利用される。
【００９７】
その他にも例えば、離脱尤度関数で用いられるパラメータは、判定対象オブジェクトとオブジェクト列２０との間の距離である。判定対象オブジェクトとオブジェクト列２０との間の距離をパラメータとして利用する離脱尤度関数としては、例えば、その距離が大きくなるについて単調非減少する関数が利用される。
【００９８】
図１１は、オブジェクト列２０を真上から見た場合の模式図である。ここでは、オブジェクト２２−２を判定対象オブジェクトとする。図１１において、オブジェクト２２−２は前進している。そこで判定部２０４０は、離脱尤度関数に対し、オブジェクト２２−２と、オブジェクト２２−２の一つ前に位置するオブジェクト２２−１との間の距離である d1 を入力する。さらに判定部２０４０は、離脱尤度関数に対し、オブジェクト２２−２からオブジェクト列２０の行列線３０に対して下ろした垂線３２の長さ d2（オブジェクト２２−２とオブジェクト列２０との間の距離）も入力する。
【００９９】
なお、図１１の例では、追跡対象オブジェクト間の距離が、行列線方向における位置の差として定義されている。しかしながら、追跡対象オブジェクト間の距離は、これらの中心間を結んだ直線の長さなどで表されてもよい。
【０１００】
その他にも例えば、離脱尤度関数で用いられるパラメータには、前進している追跡対象オブジェクトの中で最後尾のものの順位（先頭から何番目に並んでいるかを表す値）と判定対象オブジェクトの順位との差がさらに含まれてもよい。通常、オブジェクト列２０全体が静止している状態から先頭が前進すると、次に２番目のオブジェクトが前進し、次に３番目のオブジェクトが前進するというように、前進する動きが先頭から順番に伝播していく。そのため、例えば先頭及び２番目のオブジェクトが前進しており、なおかつ３番目のオブジェクトが静止しているとすると、４番目以降のオブジェクトが前進することは、これらのオブジェクトの離脱の兆候を表している可能性がある。
【０１０１】
そこで、前進している追跡対象オブジェクトの中で最後尾のもの（前述した例における２番目のオブジェクト）の順位と判定対象オブジェクトの順位との差を離脱尤度関数のパラメータとして用いることで、離脱尤度をさらに高精度に求めることができる。ここで、離脱尤度関数は、前進している追跡対象オブジェクトの中で最後尾のものの順位と判定対象オブジェクトの順位との差が増加するにつれて単調非減少する関数である。
【０１０２】
その他にも例えば、離脱尤度関数を構成するパラメータには、判定対象オブジェクトの移動方向と、その移動方向において隣接する追跡対象オブジェクトの移動方向とのなす角を用いてもよい。通常、オブジェクト列２０に並んでいるオブジェクトは、オブジェクト列２０の進行方向とほぼ同じ方向に動くと考えられる。しかしながら、離脱するオブジェクトについては、その移動方向に、オブジェクト列２０の進行方向と直交する方向の成分が多く含まれていると考えられる。したがって判定対象のオブジェクトの移動方向と、その離脱方向に位置する追跡対象オブジェクトの移動方向とのなす角をパラメータとして利用できる。例えば離脱尤度関数では、上述のなす角が任意の三角関数に適用される。
【０１０３】
その他にも例えば、離脱尤度関数で用いられるパラメータには、判定対象オブジェクトと、判定対象オブジェクトの進行方向において判定対象オブジェクトと隣接する追跡対象オブジェクトの移動速度の差を用いてもよい。判定対象オブジェクトが前方に離脱する場合を考える。この場合、判定対象オブジェクトは判定対象オブジェクトの一つ前に並んでいる追跡対象を追い越すため、判定対象オブジェクトの移動速度は、その一つ前に並ぶオブジェクトの移動速度よりも速い。したがって判定対象のオブジェクトの移動速度と、その一つ前に並ぶ追跡対象オブジェクトの移動速度の差をパラメータとして利用できる。例えば、離脱尤度関数は、これらの移動速度の差が大きくなるにつれて単調非減少する関数である。
【０１０４】
その他にも例えば、以下のように離脱尤度を算出してもよい。まず以下のように、判定対象オブジェクトがその一つ前に並んでいる追跡対象オブジェクトに対して近接可能な距離に基づき、所定領域を定める。図１２は所定領域を例示する図である。符号２４は、判定対象オブジェクトを表している。また、符号５０は上記所定領域を表している。
【０１０５】
判定部２０４０は、判定対象オブジェクト２４の位置の履歴から参照点４０を定める。例えば図１２のように移動する判定対象オブジェクト２４を仮定する。この場合、まず参照点４０の候補として、判定対象オブジェクト２４の過去の移動履歴それぞれの時刻における判定対象オブジェクト２４の位置に対して最短となるような行列線上の点を求める。そして、上記候補のうち、時系列で最新のものを、参照点４０として扱う。また、判定対象オブジェクト２４の局所的な振る舞いを併用して参照点４０を定めてもよい。その場合、参照点４０の候補のうち、その時点における判定対象オブジェクト２４の局所的な振る舞いが「静止状態」であるものであって、なおかつ時系列で最新のものを、参照点４０として選択する。
【０１０６】
領域５０は、長さ r1 の第１の径（図１２における短径）と、長さ r2 の第２の径（図１２における長径）で定まる楕円である。r1は、参照点４０に位置していた判定対象オブジェクトが、その一つ前に並んでいるオブジェクト２２に対して近接可能な距離である。この距離は、例えば、参照点４０とオブジェクト２２との間の距離から所定のマージンを引いた長さである。
【０１０７】
r2 は、予め定められている所定の距離である。r2 は、追跡対象オブジェクトがオブジェクト列２０に対して直角な方向へ移動した場合に、その追跡対象オブジェクトがオブジェクト列２０から外に出たとして扱ってよいと考えられる距離である。
【０１０８】
判定部２０４０は、参照点４０と、現在時点の判定対象オブジェクト２４との間の距離 d1 を算出する。さらに判定部２０４０は、参照点４０から現在時点の判定対象オブジェクト２４に対して引いた直線と、領域５０の境界線とが交わる位置を求める。そして、判定部２０４０は、算出した位置と参照点４０との間の距離 d2 を求める。
【０１０９】
判定部２０４０は、前述した d1 と d2 との比（d1/d2）を、離脱尤度関数に入力するパラメータとして用いる。離脱尤度関数には、例えば、d1/d2 が大きくなるについて単調非減少する関数を用いることができる。
【０１１０】
判定対象オブジェクト２４の大局的な振る舞いを考慮する方法としては、例えば、判定対象オブジェクト２４の大局的な振る舞いに基づいて領域５０の大きさを変更する方法がある。領域５０の大きさを小さくするほど、判定対象オブジェクト２４がオブジェクト列２０から離脱したと判定されやすくなる。そこで例えば、判定対象オブジェクト２４の大局的な振る舞いが「離脱動作」である場合の領域５０の大きさを、判定対象オブジェクト２４の大局的な振る舞いが「離脱動作」以外である場合の領域５０の大きさよりも小さくする。領域５０の大きさは、r1 と r2の一方又は双方を変更することで変更できる。
【０１１１】
なお、上述の例において、参照点４０は判定対象オブジェクト２４を基準に設定されている。しかしながら、参照点４０は、判定対象オブジェクト２４が移動する方向に位置するオブジェクト２２の位置としてもよい。例えば判定対象オブジェクト２４が前進している場合、判定対象オブジェクト２４の一つ前に並んでいるオブジェクト２２の位置を参照点とする。この場合に定められる領域は、判定対象オブジェクト２４の移動方向にいるオブジェクト２２にこれ以上近づいてはならない領域として解釈できる。
【０１１２】
［実施形態２］
図１３は、実施形態２の情報処理装置２０００の機能構成を例示するブロック図である。以下で説明する点を除き、実施形態２の情報処理装置２０００は、実施形態１の情報処理装置２０００と同様の機能を有する。ただし、実施形態２の情報処理装置２０００は、追跡対象オブジェクトについての離脱判定を、既存の技術を利用して行ってもよい。
【０１１３】
実施形態２の情報処理装置２０００は、実施形態２の情報処理装置２０００と同様に、動画データ１２からオブジェクト２２を検出し、オブジェクト２２で構成されるオブジェクト列２０を検出する。そして、オブジェクト列２０に含まれるオブジェクト２２（追跡対象オブジェクト）を管理するため、追跡情報の生成・更新を行う。
【０１１４】
実施形態２の情報処理装置２０００は、オブジェクト列２０に割り込んだオブジェクト２２を検出する。ここで、「割り込み」という用語について説明する。オブジェクト列２０に新たなオブジェクト２２が加わるという変化には、大別して、（１）オブジェクト列２０の末尾から新たなオブジェクト２２がオブジェクト列２０に加わるという変化と、（２）オブジェクト列２０の末尾以外の部分から、新たなオブジェクト２２が、既にオブジェクト列２０に並んでいる２つのオブジェクト２２の間に割り込むようにして、オブジェクト列２０に加わるという変化がある。本明細書では、（２）のケースを「割り込み」と表記する。また、（１）のケースを「正規加入」と表記する。
【０１１５】
より具体的には、まず情報処理装置２０００は、動画フレーム１４から検出されたオブジェクト２２について、オブジェクト列２０の近くに存在するか否かを判定する。さらに情報処理装置２０００は、オブジェクト列２０の近くに存在すると判定された各オブジェクト２２と、追跡情報に含まれる追跡対象オブジェクトとの対応付けを行う。
【０１１６】
ここで、オブジェクト列２０の近くに存在すると判定されたにもかかわらず、対応する追跡対象オブジェクトが存在しないオブジェクト２２が存在しうる。このようなオブジェクト２２としては、例えば、（１）オブジェクト列２０に正規加入しようとしているオブジェクト２２、（２）オブジェクト列２０に割り込もうとしているオブジェクト、（３）オブジェクト列２０の付近を通過しているオブジェクト、又は（４）オブジェクト列２０の付近で滞留しているオブジェクトなどが考えられる。
【０１１７】
ここで、仮にオブジェクト２２がオブジェクト列２０に加わるオブジェクトである場合、オブジェクト２２がオブジェクト列２０の末尾に位置する追跡対象オブジェクトよりも後ろに位置すれば、そのオブジェクト２２は正規加入するオブジェクトである。一方、オブジェクト２２がオブジェクト列２０の末尾に位置する追跡対象オブジェクトよりも前に位置すれば、そのオブジェクト２２は割り込みをするオブジェクトである。
【０１１８】
そこで実施形態２の情報処理装置２０００は、オブジェクト列２０の末尾に位置する追跡対象オブジェクトよりも前に位置するオブジェクト２２を、第２判定対象オブジェクトとして扱う。そして情報処理装置２０００は、第２判定対象オブジェクトについて、オブジェクト列２０に割り込んだか否か（上記（２）に該当するオブジェクト２２であるか否か）を判定する。以下、この判定を割り込み判定とも表記する。
【０１１９】
割り込み判定を行う際、情報処理装置２０００は、オブジェクト列２０に含まれる他のオブジェクト２２との関係に基づく、第２判定対象オブジェクトの大局的な振る舞いを推定する。そして、情報処理装置２０００は、推定した大局的な振る舞いに基づいて、第２判定対象オブジェクトの割り込み判定を行う。
【０１２０】
ここで、第２判定対象オブジェクトがオブジェクト列２０に割り込む際に、オブジェクト列２０内のオブジェクト２２（追跡対象オブジェクト）について生じる変化について説明する。新たなオブジェクト２２がオブジェクト列２０に割り込むと、割り込みが発生した箇所付近における追跡対象オブジェクトの間隔が、割り込み発生前よりも小さくなる。図１４はオブジェクト列２０を真上から見たときの模式図である。左端の図は、割り込みが発生する前の状況を示している。オブジェクト２２−１からオブジェクト２２−３は、いずれも追跡対象オブジェクトである。各オブジェクト２２は、70cm 間隔で等間隔に並んでいる。
【０１２１】
中央の図は、割り込みが発生している状況を示している。オブジェクト２２−４が、オブジェクト２２−１とオブジェクト２２−２の間に割り込んでいる。オブジェクト２２−４がオブジェクト２２−１とオブジェクト２２−２の間に割り込むと、オブジェクトの間隔は 70cm よりも小さくなる。
【０１２２】
右端の図は、割り込みが発生した後の状況を示している。割り込みが発生すると、割り込みが発生した箇所から後ろの各追跡対象オブジェクトが徐々に後退することで、オブジェクトの間隔が自然に調整される。そして最終的には、オブジェクト２２の間隔が元々の間隔（70cm）と同程度になる。ただし、実際には割り込みが発生する前と比べて間隔が若干狭まることが多い。
【０１２３】
オブジェクト２２がオブジェクト列２０に割り込む場合には上述のような変化が生じる一方、オブジェクト２２がオブジェクト列２０の末尾からオブジェクト列２０に加わる場合、オブジェクト２２がオブジェクト列２０の付近を通過する場合、及びオブジェクト２２がオブジェクト列２０付近で滞留している場合ではいずれも、オブジェクト列２０内の追跡対象オブジェクトの間隔に上述のような変化は生じない。このことから、オブジェクト列２０に含まれる他のオブジェクト２２との関係に基づく第２判定対象オブジェクトの大局的な振る舞いを考慮することで、第２判定対象オブジェクトがオブジェクト列２０に割り込んでいるか否かを精度良く把握することができる。
【０１２４】
上述のように第２判定対象オブジェクトの大局的な振る舞いを考慮して割り込み判定を行うために、実施形態２の情報処理装置２０００は、第２振る舞い推定部２０５０及び第２判定部２０６０を有する。第２振る舞い推定部２０５０は、第２判定対象オブジェクトの大局的な振る舞いを推定する。第２判定部２０６０は、推定された第２判定対象オブジェクトの大局的な振る舞いに基づいて、第２判定対象オブジェクトがオブジェクト列２０に割り込んだか否かを判定する。
【０１２５】
＜ハードウエア構成の例＞
実施形態２の情報処理装置２０００を実現する計算機のハードウエア構成は、実施形態１と同様に、例えば図４によって表される。ただし、本実施形態の情報処理装置２０００を実現する計算機１０００のストレージデバイス１０８０には、本実施形態の情報処理装置２０００の機能を実現するプログラムモジュールがさらに記憶される。
【０１２６】
＜処理の流れ＞
実施形態２の情報処理装置２０００が追跡情報の生成及び更新を行う流れの概略は、実施形態１の情報処理装置２０００の場合と同様に、図６で表される。
【０１２７】
図１５は、実施形態２の情報処理装置２０００が追跡情報を更新する処理の流れを例示するフローチャートである。実施形態２の情報処理装置２０００が追跡情報を更新する流れは、実施形態１の情報処理装置２０００が追跡情報を更新する流れと概ね同じである。ただしこれらは、以下の２点において異なる。
【０１２８】
第１に、実施形態１の振る舞い推定部２０２０は、Ｓ２０８において、第１判定対象オブジェクトの大局的な振る舞いを推定する。一方、実施形態２の第２振る舞い推定部２０５０は、Ｓ２０８において、第２判定対象オブジェクトの大局的な振る舞いを推定する。
【０１２９】
第２に、図８はＳ２１０を有する一方で、図１５はＳ３０２を有する。Ｓ３０２において、第２判定部２０６０は、第２判定対象オブジェクトがオブジェクト列２０に割り込んだか否かを判定する。
【０１３０】
なお、実施形態２の情報処理装置２０００は、割り込み判定に加え、離脱判定を行ってもよい。この場合、図１５のフローチャートは、Ｓ３０２の前後いずれかにＳ２１０を有する。
【０１３１】
＜第２判定オブジェクトとして扱うオブジェクト２２の決め方>
情報処理装置２０００は、オブジェクト列２０の近くに存在し、なおかつ対応する追跡対象オブジェクトが存在しないオブジェクト２２を、第２判定対象オブジェクトとして扱う。ここで、オブジェクト２２がオブジェクト列２０の近くに存在するか否かを判定する方法は様々である。例えば情報処理装置２０００は、オブジェクト２２とオブジェクト列２０との間の距離が所定値以下である場合に、そのオブジェクト２２がオブジェクト列２０の近くに存在すると判定する。オブジェクト２２とオブジェクト列２０の間の距離を算出する方法については、前述した通りである。その他にも例えば、第２振る舞い推定部２０５０は、オブジェクト２２が前述した列エリア内に位置する場合に、そのオブジェクト２２がオブジェクト列２０の近くに存在すると判定する。
【０１３２】
＜大局的な振る舞いの推定：Ｓ２０８＞
第２振る舞い推定部２０５０は、第２判定対象オブジェクトの大局的な振る舞いを推知する（Ｓ２０８）。第２判定対象オブジェクトがオブジェクト列２０に割り込んだ場合、その割り込み位置の前後の追跡対象オブジェクトの間隔が変化する。そこで例えば、情報処理装置２０００は、第２判定対象オブジェクトの大局的な振る舞いを、そのオブジェクトの局所的な振る舞い、及びそのオブジェクトの前後に隣接する他の追跡対象オブジェクト（例えば一つ前または後ろに位置する追跡対象オブジェクト）の局所的な振る舞いとの組み合わせに基づいて推定する。
【０１３３】
図１６は、第２判定対象オブジェクトの大局的な振る舞いを示す表を例示する図である。ここで、第２判定対象オブジェクトはオブジェクトＡであるとする。そして図１６において、オブジェクトＢは、オブジェクトＡがオブジェクト列２０に含まれると仮定した場合に、オブジェクト列２０においてオブジェクトＡの一つ前に位置するオブジェクトである。オブジェクトＣは、オブジェクトＡがオブジェクト列２０に含まれると仮定した場合に、オブジェクト列２０においてオブジェクトＡの一つ後ろに位置するオブジェクトである。
【０１３４】
図１６は、オブジェクトＢ及びＣの局所的な振る舞いの組み合わせに対応づけて、オブジェクトＡ（すなわち、第２判定対象オブジェクト）の大局的な振る舞いを示している。図１６において、オブジェクトＢとオブジェクトＣの局所状態の組み合わせが、オブジェクトＢとオブジェクトＣの間隔が広がるような組み合わせの場合には、オブジェクトＡの大局状態は「割り込み動作」となっている。それ以外の組み合わせの場合は「滞留or通過」となっている。
【０１３５】
＜割り込みの検出：Ｓ３０２＞
第２判定部２０６０は、各第２判定対象オブジェクトについて割り込み判定を行う（Ｓ３０２）。具体的には、第２判定部２０６０は、第２判定対象オブジェクトの大局的な振る舞いに基づいて、第２判定対象オブジェクトがオブジェクト列２０に割り込んだことの尤度を算出する。ここで算出される尤度を、割り込み尤度と呼ぶ。第２判定部２０６０は、割り込み尤度に基づいて、第２判定対象オブジェクトがオブジェクト列２０に割り込んだか否かを判定する。
【０１３６】
例えば第２判定部２０６０は、第２判定対象オブジェクトについて算出された割り込み尤度が所定値以上である場合に、その第２判定対象オブジェクトがオブジェクト列２０に割り込んだと判定する。一方、第２判定部２０６０は、第２判定対象オブジェクトについて算出された割り込み尤度が所定値未満である場合に、その判定対象オブジェクトがオブジェクト列２０に割り込んでいないと判定する。
【０１３７】
その他にも例えば、第２判定部２０６０は、第２判定対象オブジェクトの割り込み尤度が所定値以上である状況が所定期間継続した場合のみ、第２判定対象オブジェクトがオブジェクト列２０に割り込んだと判定してもよい。その他にも例えば、第２判定部２０６０は、所定期間における第２判定対象オブジェクトの割り込み尤度の統計値を算出し、その統計値が所定値以上である場合のみ、第２判定対象オブジェクトがオブジェクト列２０に割り込んだと判定してもよい。統計値は、例えば、平均値、積算値、最大値、又は最小値などである。
【０１３８】
ここで、第２判定オブジェクトについて所定期間割り込み尤度を算出する場合、情報処理装置２０００は、オブジェクト列２０に加わったことがまだ確定していないオブジェクト２２についても追跡を行う必要がある。そこで例えば、情報処理装置２０００は、割り込み尤度の算出対象としたオブジェクト２２（第２判定オブジェクトとして扱ったオブジェクト２２）を、追跡対象オブジェクトと区別可能な態様で、追跡情報に仮に追加しておく。そして、追加情報に仮に追加されたオブジェクト２２について、オブジェクト列２０に割り込んだという判定がなされたときから、そのオブジェクト２２を追跡対象オブジェクトとして扱うようにする。
【０１３９】
＜割り込み尤度を算出するためのパラメータについて＞
第２判定部２０６０は、第２判定対象オブジェクトに関する種々のパラメータを用いて割り込み尤度を算出する。ここで、入力されたパラメータに基づいて割り込み尤度を出力する関数を、割り込み尤度関数と呼ぶ。割り込み尤度関数が利用するパラメータの種類については後述する。
【０１４０】
割り込み尤度関数を用いて得られる割り込み尤度には、第２判定対象オブジェクトの大局的な振る舞いが反映されるようにする。その具体的な方法は、離脱尤度関数を用いて得られる離脱尤度に判定対象オブジェクトの大局的な振る舞いが反映されるようにする方法と同様である。
【０１４１】
以下、離脱尤度関数において用いられるパラメータに着目しながら、離脱尤度関数についてさらに説明する。
【０１４２】
割り込み尤度関数で用いられるパラメータは、例えば、第２判定対象オブジェクトと第２判定対象オブジェクトの一つ前に並んでいる追跡対象オブジェクトとの距離と、第２判定対象オブジェクトと第２判定対象オブジェクトの一つ後ろに並んでいる追跡対象オブジェクトとの距離である。ここで、「第２判定対象オブジェクトの一つ前に並んでいる追跡対象オブジェクト」とは、第２判定対象オブジェクトがオブジェクト列２０に含まれると仮定した場合において、オブジェクト列２０において第２判定対象オブジェクトの一つ前に位置する追跡対象オブジェクトを意味する。同様に、「第２判定対象オブジェクトの一つ後ろに並んでいる追跡対象オブジェクト」とは、第２判定対象オブジェクトがオブジェクト列２０に含まれると仮定した場合において、オブジェクト列２０において第２判定対象オブジェクトの一つ後ろに位置する追跡対象オブジェクトを意味する。
【０１４３】
上記距離をパラメータとして利用する割り込み尤度関数としては、例えば、その距離が大きくなるにつれて単調非減少するものが利用される。
【０１４４】
その他にも例えば、割り込み尤度関数で用いられるパラメータは、第２判定対象オブジェクトの移動方向と、追跡対象オブジェクトの移動方向のなす角である。列に並んでいないオブジェクトの移動方向は不規則である一方で、列に並んでいるオブジェクトの移動方向は列の前方となるのが通常である。したがって、第２判定対象オブジェクトがオブジェクト列２０に含まれる場合、第２判定対象オブジェクトと追跡対象オブジェクトの移動方向のなす角は非常に小さくなる。例えば割り込み尤度関数では、上述のなす角が任意の三角関数に適用できる。ここで、第２判定対象オブジェクトとの比較対象とする追跡対象オブジェクトとしては、任意の追跡対象オブジェクトを利用できる。
【０１４５】
その他にも例えば、割り込み尤度関数で用いられるパラメータは、第２判定対象オブジェクトの移動方向の時系列変化である。オブジェクト列２０に割り込む第２判定対象オブジェクトは、割り込む前には行列線に向かって（行列線の向きと直交する方向に）移動し、割り込んだ後は行列線上を移動する。したがって、例えば第２判定対象オブジェクトと行列線のなす角を sin 関数に適用すれば、値は１に近い値から次第に０に近づいていく。例えば割り込み尤度関数では、この値の変化が割り込みの一般的なパターンに近いかどうかを利用できる。この一般的なパターンは、割り込むオブジェクトを多数計測し、モデルを作成しても良い。
【０１４６】
その他にも例えば、割り込み尤度関数で用いられるパラメータは、第２判定対象オブジェクトの滞留時間である。流動性の低い（前に進むまでにある程度の時間がかかる）列の場合、オブジェクトが同じ位置にとどまる時間が長い。したがって滞留時間（例えば局所状態が「静止」の状態が継続している時間）を利用する割り込み尤度関数としては、例えばその滞留時間が長くなるに連れて単調非減少するものが利用される。
【０１４７】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記実施形態を組み合わせた構成や、上記以外の様々な構成を採用することもできる。
【図１】
2019053789.tif 000003
【図２】
2019053789.tif 000004
【図３】
2019053789.tif 000005
【図４】
2019053789.tif 000006
【図５】
2019053789.tif 000007
【図６】
2019053789.tif 000008
【図７】
2019053789.tif 000009
【図８】
2019053789.tif 000010
【図９】
2019053789.tif 000011
【図１０】
2019053789.tif 000012
【図１１】
2019053789.tif 000013
【図１２】
2019053789.tif 000014
【図１３】
2019053789.tif 000015
【図１４】
2019053789.tif 000016
【図１５】
2019053789.tif 000017
【図１６】
2019053789.tif 000018
【手続補正書】
【提出日】令和2年3月9日(2020.3.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オブジェクト列が含まれる撮像画像を用いて、前記オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、前記第２オブジェクトとの関係に基づく前記第１オブジェクトの大局的な振る舞いを推定する振る舞い推定手段と、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する判定手段と、を有する情報処理システム。
【請求項２】
前記判定手段は、前記第１オブジェクトと前記第２オブジェクトとの間の距離、前記第１オブジェクトと前記第２オブジェクトとの速度差、及び前記第１オブジェクトの移動方向と前記第２オブジェクトの移動方向とが成す角のうちの少なくとも１つ、並びに前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したことの尤度を算出し、前記算出された尤度に基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する、請求項１に記載の情報処理システム。
【請求項３】
前記振る舞い推定手段は、前記撮像画像を用い、前記第１オブジェクト及び前記第２オブジェクトのそれぞれについて、そのオブジェクト単体に着目した振る舞いである局所的な振る舞いを推定し、
前記振る舞い推定手段は、前記第１オブジェクトの局所的な振る舞いと前記第２オブジェクトの局所的な振る舞いとの組み合わせに基づいて、前記第１オブジェクトの大局的な振る舞いを推定する、請求項１又は２に記載の情報処理システム。
【請求項４】
前記局所的な振る舞いは、前進していることを表す前進状態、後退していることを表す後退状態、及び静止していることを表す静止状態の内のいずれか１つである、請求項３に記載の情報処理システム。
【請求項５】
前記大局的な振る舞いは、前記オブジェクト列内で前進していることを表す第１振る舞い、前記オブジェクト列内で後退していることを表す第２振る舞い、静止していることを表す第３振る舞い、及び離脱していることを表す第４振る舞いのいずれかになりうる、請求項１乃至４いずれか一項に記載の情報処理システム。
【請求項６】
コンピュータによって実行される制御方法であって、
オブジェクト列が含まれる撮像画像を用いて、前記オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、前記第２オブジェクトとの関係に基づく前記第１オブジェクトの大局的な振る舞いを推定する振る舞い推定ステップと、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列から離脱したか否かを判定する判定ステップと、を有する制御方法。
【請求項７】
請求項６に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【請求項８】
オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第１オブジェクトについて、前記オブジェクト列に含まれる第２オブジェクト及び第３オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定手段と、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定手段と、を有する情報処理システム。
【請求項９】
コンピュータによって実行される制御方法であって、
オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第１オブジェクトについて、前記オブジェクト列に含まれる第２オブジェクト及び第３オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定ステップと、
前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定ステップと、を有する制御方法。
【請求項１０】
請求項９に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の第１の情報処理システムは、１）オブジェクト列が含まれる撮像画像を用いて、オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、第２オブジェクトとの関係に基づく第１オブジェクトの大局的な振る舞いを推定する振る舞い推定手段と、２）推定された第１オブジェクトの大局的な振る舞いに基づいて、第１オブジェクトがオブジェクト列から離脱したか否かを判定する判定手段と、を有する。
本発明の第２の情報処理システムは、１）オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第１オブジェクトについて、前記オブジェクト列に含まれる第２オブジェクト及び第３オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定手段と、２）前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定手段と、を有する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の第１の制御方法は、コンピュータによって実行される。当該制御方法は、１）オブジェクト列が含まれる撮像画像を用いて、オブジェクト列に含まれる第１オブジェクトと第２オブジェクトを検出し、第２オブジェクトとの関係に基づく第１オブジェクトの大局的な振る舞いを推定する振る舞い推定ステップと、２）推定された第１オブジェクトの大局的な振る舞いに基づいて、第１オブジェクトがオブジェクト列から離脱したか否かを判定する判定ステップと、を有する。
本発明の第２の制御方法は、コンピュータによって実行される。当該制御方法は、１）オブジェクト列が含まれる撮像画像を用いて、前記撮像画像に含まれる第１オブジェクトについて、前記オブジェクト列に含まれる第２オブジェクト及び第３オブジェクトとの関係に基づく大局的な振る舞いを推定する振る舞い推定ステップと、２）前記推定された第１オブジェクトの大局的な振る舞いに基づいて、前記第１オブジェクトが前記オブジェクト列に割り込んだか否かを判定する判定ステップと、を有する。
【国際調査報告】
2019053789.tif 000019
2019053789.tif 000020