(57)【要約】  情報処理装置は、動画フレームからオブジェクト列を検出し、オブジェクト列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。情報処理装置は、第１時点の追跡情報を用いて、第１時点のオブジェクト列の振る舞いに関する列振る舞い情報を生成する。情報処理装置は、第１時点の追跡情報及び列振る舞い情報に基づき、第１時点よりも後の第２時点における各追跡対象オブジェクトの推定位置を算出する。情報処理装置は、第２時点の動画フレームから検出される各オブジェクトの位置と、第２時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報の更新を行う。
2019003709.tif 000002
【特許請求の範囲】
【請求項１】
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。
【請求項２】
前記更新手段は、前記第２時点における位置が推定された前記追跡対象オブジェクトと、前記第２時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、請求項１に記載の情報処理装置。
【請求項３】
前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の１つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、請求項３に記載の情報処理装置。
【請求項５】
前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、請求項４に記載の情報処理装置。
【請求項６】
前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、請求項５に記載の情報処理装置。
【請求項７】
前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、請求項４乃至６いずれか一項に記載の情報処理装置。
【請求項８】
前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、請求項１乃至７いずれか一項に記載の情報処理装置。
【請求項９】
コンピュータによって実行される制御方法であって、
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。
【請求項１０】
前記更新ステップにおいて、前記第２時点における位置が推定された前記追跡対象オブジェクトと、前記第２時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、請求項９に記載の制御方法。
【請求項１１】
前記列振る舞い推定ステップにおいて、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の１つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、請求項９又は１０に記載の制御方法。
【請求項１２】
前記列振る舞い推定ステップにおいて、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、請求項１１に記載の制御方法。
【請求項１３】
前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、請求項１２に記載の制御方法。
【請求項１４】
前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、請求項１３に記載の制御方法。
【請求項１５】
前記推定位置算出ステップにおいて、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、請求項１２乃至１４いずれか一項に記載の制御方法。
【請求項１６】
前記更新ステップにおいて、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、請求項９乃至１５いずれか一項に記載の制御方法。
【請求項１７】
請求項９乃至１６いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理に関する。
【背景技術】
【０００２】
行列内の人物を追跡する方式として、例えば特許文献１の技術が知られている。特許文献１では、真下を向くようにカメラを天井に配置し、レジ等の行列ができるエリアを撮影し、カメラによって撮像される各人物が行列内の人物かどうかを判定する方式が開示されている。より具体的には、特許文献１の技術は、行列ができる位置にエリアを設定し、エリア内に存在する人物が行列に含まれるかどうかを行列挙動パターンパラメータによって判定している。【０００３】
ここで、行列挙動パターンパラメータは、カメラで撮影された人物が行列内の人物かどうかを判定するためのパラメータである。行列挙動パターンパラメータには、微動パラメータ、静止パラメータ、行列最後尾人物からの距離（近接パラメータ）、及び割り込み・離脱判定用の行列線分からの距離（割り込み距離・乖離距離パラメータ）がある。特許文献１の技術は、これらのパラメータを用いて、各人物が行列内の人物かどうかを判定している。【０００４】
或る人物が設定されたエリア内に入ると、まずその人物の状態は、「行列に並んでいる可能性がある」という状態に設定される。さらに、エリア内でその人物が静止していると、その人物は行列に並んでいると判定される。人物が静止していると判定されるための条件は、その人物の位置が「微動パラメータ」内の範囲に収まっていること、及びその人物が「静止パラメータ」で指定される時間その範囲に留まることである。一旦行列内に含まれる人物が存在するようになると、その最後尾の人物からの近接パラメータ内の人物の状態が、「行列に並んでいる可能性がある」という状態になる。そして、それらの人物について、行列に加わったかどうかの判定が、同様の方法で行われる。【０００５】
或る人物が行列へ割り込んだか否かの判定は、その人物が、行列に並んでいる人物の位置を結んだ線分にどれだけ近づいたかを基準として行われる。同様に、或る人物が行列から離脱したか否かの判定は、その人物が、行列に並んでいる人物の位置を結んだ線分からどれだけ離れたかを基準として行われる。これらの判定に用いる距離の閾値が、割込距離・乖離距離パラメータである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００８−５１９５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
行列の一部又は全部は、時間と共に移動する。例えばスーパーのレジに並ぶ人の列は、先頭の人の会計が終了すると、全体的に一人分前に移動する。また、行列から人が離脱すると、その人よりも後ろに並んでいた人たちが前に移動する。【０００８】
この点、特許文献１の技術は、行列全体が止まっていることを前提として上述した各処理を行う。すなわち、行列が移動している状態で人物の追跡を行う技術は、引用文献１に開示されていない。【０００９】
本発明は、以上の課題に鑑みてなされたものである。本発明の目的の一つは、オブジェクトの列に含まれるオブジェクトを精度良く追跡する技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明の情報処理装置は、１）動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、２）第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、３）前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、４）前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する。【００１１】
本発明の制御方法は、コンピュータによって実行される制御方法である。当該制御方法は、１）動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、２）第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、３）前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、４）前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する。【００１２】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【００１３】
本発明によれば、オブジェクトの列に含まれるオブジェクトを精度良く追跡する技術が提供される。
【図面の簡単な説明】
【００１４】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１５】
【図１】実施形態１の情報処理装置の動作の概要を説明するための図である。
【図２】実施形態１の情報処理装置の動作の概要を説明するための図である。
【図３】実施形態１の情報処理装置の構成を例示する図である。
【図４】情報処理装置を実現するための計算機を例示する図である。
【図５】実施形態１の情報処理装置によって実行される処理の流れの概略を示すフローチャートである。
【図６】Ｓ１０８の処理の具体的な流れを例示するフローチャートである。
【図７】形状が直線ではないオブジェクト列を例示する図である。
【図８】追跡情報をテーブル形式で例示する図である。
【図９】一部移動状態のときのオブジェクト列の振る舞いを例示する図である。
【図１０】列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する第１の図である。
【図１１】列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する第２の図である。
【図１２】第２時点の動画フレームから検出されたオブジェクトと、第２時点における推定位置が算出された追跡対象オブジェクトとの対応付けを例示する図である。
【図１３】第２時点の動画フレームから検出されたオブジェクトと追跡対象オブジェクトとを対応付ける方法を説明するための図である。
【図１４】信頼度の高い対応付けを行った後、さらに部分列を分解してから、続きの対応付けを行うケースを例示する図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１７】
［実施形態１］
＜概要＞
図１は、実施形態１の情報処理装置（後述する図３における後述する情報処理装置２０００）の動作の概要を説明するための図である。以下で説明する情報処理装置２０００の動作は、情報処理装置２０００の理解を容易にするための例示であり、情報処理装置２０００の動作は以下の例に限定されるわけではない。情報処理装置２０００の動作の詳細やバリエーションについては後述する。
【００１８】
情報処理装置２０００は、カメラ１０によって生成された動画データ１２からオブジェクト列２０を検出する。オブジェクト列２０は、オブジェクト２２によって構成される列である。図１では、動画フレーム１４に含まれるオブジェクト２２−１からオブジェクト２２−８のうち、オブジェクト２２−１からオブジェクト２２−４によって、オブジェクト列２０が構成されている。動画フレーム１４は、動画データ１２を構成する時系列の撮像画像の内の１つである。
【００１９】
オブジェクト列２０としては、任意のものを扱うことができる。例えばオブジェクト列２０は、レジカウンタや券売機などの利用を待つ人の列である。この場合、オブジェクト２２は人である。その他にも例えば、オブジェクト列２０は、駐車場の利用を待つ車両の列である。この場合、オブジェクト２２は車両である。図１において、オブジェクト２２は人である。
【００２０】
情報処理装置２０００は、オブジェクト列２０に含まれるオブジェクト２２を追跡対象オブジェクトとして、追跡情報を生成する。追跡情報は、追跡対象オブジェクトに関する種々の情報を含み、少なくとも各追跡対象オブジェクトの位置を示す。
【００２１】
情報処理装置２０００は、追跡情報の更新を繰り返し行う。追跡情報の更新は、少なくとも、各追跡対象オブジェクトの位置の更新を含む。情報処理装置２０００は、各オブジェクト２２の振る舞いに加え、オブジェクト列２０の振る舞いを考慮して、追跡情報の更新を行う。
【００２２】
ここで、オブジェクト２２の振る舞いとは、オブジェクト２２の状態や動きなどによって表される。オブジェクト２２の状態とは、例えば、静止している状態や移動している状態などである。オブジェクト２２の動きとは、例えば、オブジェクト２２が移動している方向や速さなどで表される。
【００２３】
一方、オブジェクト列２０の振る舞いとは、オブジェクト列２０の状態や動きなどによって表される。オブジェクト列２０の状態とは、例えば、オブジェクト列２０全体が静止している状態、オブジェクト列２０全体が移動している状態、オブジェクト列２０の一部が移動している状態などである。オブジェクト列２０の動きとは、例えば、オブジェクト列２０が移動している方向や速さなどで表される。
【００２４】
情報処理装置２０００が、或る第１時点の追跡情報（第１時点においてオブジェクト列２０に含まれる追跡対象オブジェクトに関する追跡情報）を、第１時点よりも後の第２時点の追跡情報に更新するとする（図２参照）。この際、情報処理装置２０００は、第１時点の追跡情報を用いてオブジェクト列２０の振る舞いを推定し、列振る舞い情報を生成する。列振る舞い情報は、オブジェクト列２０の振る舞いを示す。さらに情報処理装置２０００は、第１時点の追跡情報及び第１時点の列振る舞い情報（第１時点におけるオブジェクト列２０について生成された列振る舞い情報）に基づいて、第２時点における各追跡対象オブジェクトの位置を推定する。そして情報処理装置２０００は、推定された第２時点における各追跡対象オブジェクトの位置と、第２時点の動画フレーム１４（第２時点におけるカメラ１０の撮像結果を表す動画フレーム１４）から検出された各オブジェクト２２の位置とに基づいて、追跡情報の更新を行う。
【００２５】
なお、図２において、第１時点の追跡情報は、第１時点の動画フレーム１４から生成したものとして描かれている。しかしながら、第１時点の追跡情報は、過去の追跡情報から更新されたものであってもよい。
【００２６】
＜作用・効果＞
オブジェクト列２０に含まれるオブジェクト２２の振る舞いは、オブジェクト列２０全体の振る舞いの影響を受ける。例えば、或る時点でオブジェクト２２が静止していても、その時点でそのオブジェクト２２の前のオブジェクトが前に移動していれば、その直後にそのオブジェクト２２も移動し始める蓋然性が高い。同様に、或る時点でオブジェクト２２が移動していても、その時点でそのオブジェクト２２の前のオブジェクトが静止していれば、その直後にそのオブジェクト２２も静止する蓋然性が高い。
【００２７】
そこで本実施形態の情報処理装置２０００は、第１時点のオブジェクト列２０の振る舞いを考慮した上で、第１時点の追跡情報を更新する。これにより、オブジェクト列２０全体の振る舞いによって各オブジェクト２２が受ける影響を考慮した上で、追跡情報が更新される。よって、追跡情報の更新、すなわちオブジェクト列２０に含まれるオブジェクトの追跡を、より高い精度で行うことができる。
【００２８】
以下、本実施形態の情報処理装置２０００についてさらに詳細に説明する。
【００２９】
＜情報処理装置２０００の機能構成の例＞
図３は、実施形態１の情報処理装置２０００の構成を例示する図である。情報処理装置２０００は、例えば、生成部２０２０、列振る舞い推定部２０４０、推定位置算出部２０６０、及び更新部２０８０を有する。生成部２０２０は、動画フレーム１４からオブジェクト列２０を検出し、オブジェクト列２０に含まれる各オブジェクト２２を追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する。列振る舞い推定部２０４０は、第１時点の追跡情報を用いて、第１時点のオブジェクト列２０の振る舞いを推定し、列振る舞い情報を生成する。推定位置算出部２０６０は、第１時点の追跡情報及び第１時点の列振る舞い情報に基づき、第１時点よりも後の第２時点における各追跡対象オブジェクトの推定位置を算出する。更新部２０８０は、第２時点の動画フレーム１４から１つ以上のオブジェクト２２を検出し、検出された各オブジェクト２２の位置と、第２時点における各追跡対象オブジェクトの推定位置とに基づいて、追跡情報を更新する。
【００３０】
＜情報処理装置２０００のハードウエア構成＞
情報処理装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、情報処理装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００３１】
図４は、情報処理装置２０００を実現するための計算機１０００を例示する図である。計算機１０００は任意の計算機である。例えば計算機１０００は、Personal Computer（PC）、サーバマシン、タブレット端末、又はスマートフォンなどである。その他にも例えば、計算機１０００はカメラ１０であってもよい。計算機１０００は、情報処理装置２０００を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【００３２】
計算機１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、CPU（Central Processing Unit）や GPU（Graphics Processing Unit）などの種々のプロセッサである。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。ただし、ストレージデバイス１０８０は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
【００３３】
入出力インタフェース１１００は、計算機１０００と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース１１２０は、計算機１０００を通信網に接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００３４】
例えば計算機１０００は、ネットワークを介してカメラ１０と通信可能に接続されている。ただし、計算機１０００をカメラ１０と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機１０００は、カメラ１０と通信可能に接続されていなくてもよい。
【００３５】
ストレージデバイス１０８０は、情報処理装置２０００の各機能構成部（生成部２０２０、列振る舞い推定部２０４０、推定位置算出部２０６０、及び更新部２０８０）を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００３６】
なお、計算機１０００は、複数の計算機を利用して実現されてもよい。例えば生成部２０２０、列振る舞い推定部２０４０、推定位置算出部２０６０、及び更新部２０８０は、それぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
【００３７】
＜カメラ１０について＞
カメラ１０は、繰り返し撮像を行って時系列の動画フレーム１４を生成することにより、動画データ１２を生成する任意のカメラである。例えばカメラ１０は、特定の施設や道路などを監視するために設けられている監視カメラである。
【００３８】
前述したように、情報処理装置２０００を実現する計算機１０００は、カメラ１０であってもよい。この場合、カメラ１０は、自身で生成した動画フレーム１４を解析することで、追跡情報の生成や更新を行う。このような機能を持たせるカメラ１０としては、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP（Internet Protocol）カメラなどと呼ばれるカメラを用いることができる。
【００３９】
なお、情報処理装置２０００の全ての機能をカメラ１０で実現するのではなく、情報処理装置２０００の一部の機能のみがカメラ１０で実現されてもよい。例えば、動画フレーム１４からオブジェクト２２を検出する機能のみをカメラ１０で実現し、それ以外の情報処理装置２０００の機能をサーバ装置で実現する。この場合、サーバ装置は、カメラ１０から、検出されたオブジェクト２２の位置や画像特徴などの種々の情報を取得する。
【００４０】
＜処理の流れ＞
図５は、実施形態１の情報処理装置２０００によって実行される処理の流れの概略を示すフローチャートである。情報処理装置２０００は、動画フレーム１４からオブジェクト列２０の検出する（Ｓ１０２）。情報処理装置２０００は、検出したオブジェクト列２０に含まれるオブジェクト２２を追跡対象オブジェクトとして、追跡情報を生成する（Ｓ１０４）。
【００４１】
Ｓ１０６からＳ１１０は、所定の終了条件が満たされるまで繰り返し実行されるループ処理Ａである。Ｓ１０６において、所定の終了条件が満たされている場合、情報処理装置２０００は、図５の処理を終了する。一方、所定の終了条件が満たされていない場合、図５の処理はＳ１０８に進む。Ｓ１０８において、情報処理装置２０００は、追跡情報の更新を行う。Ｓ１１０はループ処理の終端であるため、図５の処理はＳ１０６に進む。以降、所定の終了条件が満たされるまでループ処理Ａが繰り返し実行されることで、追跡情報が繰り返し更新される。
【００４２】
上記所定の終了条件は任意である。例えば所定の終了条件は、オブジェクト列２０に含まれるオブジェクト２２の数が０になること、すなわちオブジェクト列２０が無くなることである。この場合、情報処理装置２０００は、まだ処理対象となっていない動画フレーム１４で構成される動画データ１２について、再度図５の処理を最初から実行する。こうすることで、新たに形成されるオブジェクト列２０の検出及びそのオブジェクト列２０の変化の検出が行われる。
【００４３】
図６は、Ｓ１０８の処理の具体的な流れを例示するフローチャートである。列振る舞い推定部２０４０は、第１時点の追跡情報を用いて列振る舞い情報を生成する（Ｓ１０８−１）。推定位置算出部２０６０は、第１時点の追跡情報及び列振る舞い情報に基づき、第２時点における追跡対象オブジェクトの推定位置を算出する（Ｓ１０８−２）。更新部２０８０は、第２時点における各追跡対象オブジェクトの推定位置と、第２時点の動画フレーム１４から検出された各オブジェクト２２の位置とに基づいて、第２時点の動画フレーム１４から検出されたオブジェクト２２を、第１時点の追跡対象オブジェクトと対応づける（Ｓ１０８−３）。更新部２０８０は、対応付けの結果に基づいて追跡情報を更新する（Ｓ１０８−４）。
【００４４】
なお、図６に示す一連の処理は、ループ処理Ａに含まれる処理であるため、繰り返し実行される。そして、繰り返し実行されるループ処理Ａにおいて、第１時点はそれぞれ異なる時点となる。例えば、n+1 回目（ｎは正の整数）のループ処理Ａにおける第１時点は、n 回目のループ処理Ａにおける第１時点に所定値を加算した時点とする。その他にも例えば、n+1 回目のループ処理Ａにおける第１時点は、n 回目のループ処理Ａにおける第２時点と同じ時点としてもよい。
【００４５】
同様に、繰り返し実行されるループ処理Ａにおいて、第２時点はそれぞれ異なる時点となる。例えば、n+1 回目のループ処理Ａにおける第２時点は、n 回目のループ処理Ａにおける第２時点に所定値を加算した時点とする。
【００４６】
＜動画フレーム１４の取得方法＞
情報処理装置２０００は、処理対象とする１つ以上の動画フレーム１４を取得する。情報処理装置２０００が動画フレーム１４を取得する方法は様々である。例えば情報処理装置２０００は、カメラ１０から送信される動画フレーム１４を受信する。また例えば、情報処理装置２０００は、カメラ１０にアクセスし、カメラ１０に記憶されている動画フレーム１４を取得する。
【００４７】
なお、カメラ１０は、カメラ１０の外部に設けられている記憶装置に動画フレーム１４を記憶させてもよい。この場合、情報処理装置２０００は、この記憶装置にアクセスして動画フレーム１４を取得する。そのため、この場合、情報処理装置２０００とカメラ１０は通信可能に接続されていなくてもよい。
【００４８】
情報処理装置２０００の一部又は全部の機能がカメラ１０で実現される場合、情報処理装置２０００は、情報処理装置２０００自身によって生成された動画フレーム１４を取得する。この場合、動画フレーム１４は、例えば情報処理装置２０００の内部にある記憶装置（例えばストレージデバイス１０８０）に記憶されている。そこで情報処理装置２０００は、これらの記憶装置から動画フレーム１４を取得する。
【００４９】
情報処理装置２０００が動画フレーム１４を取得するタイミングは任意である。例えば情報処理装置２０００は、カメラ１０によって動画データ１２を構成する新たな動画フレーム１４が生成される度に、その新たに生成された動画フレーム１４を取得する。その他にも例えば、情報処理装置２０００は、定期的に未取得の動画フレーム１４を取得してもよい。例えば情報処理装置２０００が１秒間に１回動画フレーム１４を取得する場合、情報処理装置２０００は、カメラ１０によって１秒間に生成される複数の動画フレーム１４（例えば動画データ１２のフレームレートが 30fps（frames/second）であれば、３０枚の動画フレーム１４）をまとめて取得する。
【００５０】
情報処理装置２０００は、動画データ１２を構成する全ての動画フレーム１４を取得してもよいし、一部の動画フレーム１４のみを取得してもよい。後者の場合、例えば情報処理装置２０００は、カメラ１０によって生成される動画フレーム１４を、所定数に１つの割合で取得する。
【００５１】
＜オブジェクト列２０の検出：Ｓ１０２＞
生成部２０２０は、動画フレーム１４からオブジェクト列２０を検出する（Ｓ１０２）。また、その前提として、生成部２０２０は、動画フレーム１４からオブジェクト２２を検出する。動画フレーム１４からオブジェクト２２を検出する方法には、様々な方法を用いることができる。例えば生成部２０２０は、検出対象のオブジェクトの画像特徴を学習させた検出器を含む。人物をオブジェクト２２として扱う場合、検出器には、人の画像特徴を学習させておく。また、車両をオブジェクト２２として扱う場合、検出器には、車両の画像特徴を学習させておく。
【００５２】
検出器は、動画フレーム１４から、学習済みの画像特徴にマッチする画像領域を、オブジェクトを表す領域（以下、オブジェクト領域）として検出する。検出器には、例えば、HOG（Histograms of Oriented Gradients）特徴に基づいて検出を行うものや、CNN（Convolutional Neural Network）を用いるものが利用できる。なお、検出器は、オブジェクト全体の領域を検出するように学習させたものであってもよいし、オブジェクトの一部の領域（例えば人の頭部など）を検出するように学習させたものであってもよい。
【００５３】
検出器は、検出したオブジェクト２２に関する情報（以下、検出情報）を出力する。検出情報は、例えば、各オブジェクト２２の位置及び大きさを示す。ここで、検出情報におけるオブジェクト２２の位置は、動画フレーム１４上の位置（例えば動画フレーム１４の左上端を原点とする座標）で表されていてもよいし、実世界座標で表されてもよい。ここで、カメラによって生成された画像に含まれる物体の実世界座標を算出する技術には、既存の技術を利用することができる。例えば、オブジェクト２２の実世界座標は、カメラのキャリブレーションによって求まる位置や姿勢を表すパラメータを用いて、動画フレーム１４上の位置から算出することができる。
【００５４】
検出情報は、各オブジェクト２２の外見の特徴を表す特徴量を含んでいてもよい。特徴量としては、オブジェクトの大きさ、表面の色や模様（人物の場合は服の色や模様）などを記述する特徴量を用いることができる。より具体的には、色ヒストグラムやカラーレイアウト、エッジヒストグラムやガボール特徴などの特徴量を用いることができる。また、検出情報は、オブジェクトの形状を表す特徴量を含んでもよい。オブジェクトの形状を表す特徴量としては、例えば、MPEG-7 で標準化されたシェイプデスクリプタを用いることができる。
【００５５】
生成部２０２０は、動画フレーム１４から検出されたオブジェクト２２の列、すなわちオブジェクト列２０を検出する。ここで、画像から検出されたオブジェクトによって構成される列を検出する技術には、既存の様々な技術（例えば、特許文献１で開示されている技術）を利用することができる。
【００５６】
なお、オブジェクト列２０の形状は、直線であってもよいし、直線でなくてもよい。後者のケースは、オブジェクト列２０は、Ｓ字に蛇行していたり、途中で折れ曲がっていたりするケースである。図７は、形状が直線ではないオブジェクト列２０を例示する図である。このようにオブジェクト列２０の形状が直線以外である場合、例えば、オブジェクト列２０に沿って行列線３０を定義し、その行列線に沿って、オブジェクト列２０の状態や移動方向などを定義する。
【００５７】
＜追跡情報の生成：Ｓ１０４＞
生成部２０２０は、特定したオブジェクト列２０について追跡情報を生成する（Ｓ１０４）。第１時点の追跡情報は、第１時点においてオブジェクト列２０に含まれる追跡対象オブジェクトに関する情報を示す。追跡情報は、少なくとも、追跡対象オブジェクトの位置を示す。その他にも例えば、追跡情報は、追跡対象オブジェクトの状態、動き、特徴量、又は領域などを示す。
【００５８】
追跡対象オブジェクトの状態は、例えば、「移動」と「静止」のいずれかを示す。追跡対象オブジェクトの動きは、例えば、動きモデルのパラメータを示す。例えば動きモデルとして等速直線運動の動きモデルが利用される場合、動きモデルのパラメータは、移動方向と速さなどである。追跡対象オブジェクトの特徴量は、例えば、追跡対象オブジェクトの大きさ、色や模様、又は形状などが記述された情報である。追跡対象オブジェクトの領域は、例えば、追跡対象オブジェクトを表す画像領域の外接矩形を定義する情報（例えば、左上端と右下端の座標）で表される。
【００５９】
図８は、追跡情報をテーブル形式で例示する図である。図８のテーブルをテーブル２００と表記する。テーブル２００は、追跡ＩＤ２０２、位置２０４、状態２０６、動き２０８、特徴量２１０、及び領域２１２を示す。追跡ＩＤ２０２は、追跡対象オブジェクトに割り当てられた識別子である。なお、領域２１２における TL と BR はそれぞれ、左上端（top left）の座標と右下端（bottom right）の座標を表している。
【００６０】
生成部２０２０によって生成された追跡情報は、記憶領域に記憶される。例えばこの記憶領域は、図４のストレージデバイス１０８０である。ただし、追跡情報が記憶される記憶領域は、情報処理装置２０００の内部に設けられている記憶領域に限定されない。例えば追跡情報は、情報処理装置２０００の外部のサーバ装置や NAS（Network Attached Storage）などの記憶領域に記憶されてもよい。この場合、生成部２０２０は、サーバ装置等に対し、生成した追跡情報を送信する。
【００６１】
＜列振る舞い情報の生成：Ｓ１０８−１＞
列振る舞い推定部２０４０は、第１時点の追跡情報を用いて、第１時点の列振る舞い情報を生成する（Ｓ１０８−１）。列振る舞い情報は、オブジェクト列２０の振る舞いに関する情報である。
【００６２】
「オブジェクト列２０の振る舞い」とは、オブジェクト列２０の状態や動きを意味する。オブジェクト列２０の状態は、例えば、オブジェクト列２０が静止しているのか、それともオブジェクト列２０が動いているのかを表す。また、オブジェクト列２０の状態は、オブジェクト列２０が全体的に動いているのか、それともオブジェクト列２０の一部分が動いているのかを表してもよい。
【００６３】
例えば、オブジェクト列２０の状態として、静止状態、全体移動状態、及び一部移動状態という３つの状態を定めておく。静止状態は、オブジェクト列２０が静止している状態である。全体移動状態は、オブジェクト列２０の全体が動いている状態である。一部移動状態は、オブジェクト列２０の一部分が動いている状態である。
【００６４】
例えば列振る舞い情報は、オブジェクト列２０の状態が、前述した３つの状態のいずれであるかを示す。オブジェクト列２０が全体移動状態又は一部移動状態である場合、列振る舞い情報は、オブジェクト列２０の動き情報をさらに示してもよい。オブジェクト列２０の動き情報は、例えば、オブジェクト列２０の速さや方向などを示す。また、オブジェクト列２０が一部移動状態である場合、列振る舞い情報は、ブジェクト列２０のどの部分が動いているのか、及び動いている各部分についての動き情報を示す。
【００６５】
図９は、一部移動状態のときのオブジェクト列２０の振る舞いを例示する図である。図９において、左側がオブジェクト列２０の先頭であり、左方向が行列の移動方向である。丸印は、静止しているオブジェクト２２を表す。三角印は、移動しているオブジェクト２２を表す。
【００６６】
一部移動状態のときには、図９に示すように、一部のオブジェクト２２はオブジェクト列２０の進行方向に向かって移動しており、それ以外のオブジェクトは静止している。よって、オブジェクト列２０の領域が、移動領域（移動しているオブジェクト２２の領域）と静止領域（静止してるオブジェクト２２の領域）とに分けられる。図９では、実線で囲んだ領域は静止領域を表し、破線で囲んだ領域は移動領域を表す。
【００６７】
列振る舞い情報は、例えば図９の示すようなオブジェクト列２０について、オブジェクト列２０の状態が一部移動状態であること、各移動領域や静止領域を特定する情報、各移動領域の動き情報などを示す。移動領域を特定する情報は、例えば、その移動領域の位置、又はその移動領域に含まれる各オブジェクト２２を特定する情報（オブジェクト２２に割り当てた識別子など）などを示す。静止領域を特定する情報は、例えば、その静止領域の位置、又はその静止領域に含まれる各オブジェクト２２を特定する情報などを示す。
【００６８】
列振る舞い推定部２０４０は、追跡情報に示されている各オブジェクト２２の状態に基づいて、オブジェクト列２０の振る舞いを推定する。以下、より具体的に説明する。
【００６９】
例えば列振る舞い推定部２０４０は、追跡情報に示される各オブジェクト２２の状態がいずれも静止状態であれば、オブジェクト列２０の状態が静止状態であると推定する。また、列振る舞い推定部２０４０は、追跡情報に示される各オブジェクト２２の状態がいずれも移動状態であれば、オブジェクト列２０の状態が全体移動状態であると推定する。また、列振る舞い推定部２０４０は、追跡情報に、移動状態のオブジェクト２２と静止状態のオブジェクト２２のいずれもが示されている場合には、オブジェクト列２０の状態が一部移動状態であると推定する。
【００７０】
オブジェクト列２０の状態が全体移動状態である場合、列振る舞い推定部２０４０は、オブジェクト列２０の動きを推定し、列振る舞い情報にオブジェクト列２０の動き情報を含める。例えば列振る舞い推定部２０４０は、オブジェクト列２０の速さや移動方向を推定する。ここで、オブジェクト列の速さや移動方向を推定する技術には、既存の技術を利用することができる。
【００７１】
オブジェクト列２０の状態が一部移動状態である場合、列振る舞い推定部２０４０は、オブジェクト列２０を、オブジェクト２２が移動している移動領域と、オブジェクト２２が静止している静止領域に区分する。例えば列振る舞い推定部２０４０は、オブジェクト列２０において互いに隣接する複数の動いているオブジェクト２２によって構成される領域を、移動領域とする。一方、列振る舞い推定部２０４０は、オブジェクト列２０において互いに隣接する複数の静止しているオブジェクト２２によって構成される領域を、静止領域とする。
【００７２】
さらに、列振る舞い推定部２０４０は、移動領域について、その移動領域の動き情報を生成して、列振る舞い情報に含める。移動領域の動き（速さや移動方向）を推定する技術には、オブジェクト列の速さや移動方向を推定する技術を利用することができる。
【００７３】
ここで、追跡情報に各追跡対象オブジェクトの振る舞いが示されているとする。この場合において、個々の追跡対象オブジェクトの振る舞いが、オブジェクト列２０全体の振る舞いと整合しない状況が発生しうる。例えば、前後の追跡対象オブジェクトが静止しているにもかかわらず、その間に位置する追跡対象オブジェクトが動くケースがある。このケースは、例えば、追跡対象オブジェクトの姿勢変動等によって、その追跡対象オブジェクトの位置に小さな変化が生じたことにより、その追跡対象オブジェクトの状態が移動状態と判定されたケースなどである。
【００７４】
このように個々の追跡対象オブジェクトの振る舞いがオブジェクト列２０全体の振る舞いと整合しない場合、各追跡対象オブジェクトの振る舞いを互いに独立して考慮してオブジェクト列２０の振る舞いを推定すると、オブジェクト列２０の振る舞いの推定誤りが生じることがある。例えば、静止状態にあるオブジェクト列２０の状態が一部移動状態と推定されたり、一部移動状態にあるオブジェクト列２０の状態が全体移動状態と推定されたりする可能性がある。
【００７５】
そこで列振る舞い推定部２０４０は、追跡情報に示されている追跡対象オブジェクトの振る舞いをそのまま利用するのではなく、周囲の他の追跡対象オブジェクトの振る舞いとの整合性を考慮した上で、各追跡対象オブジェクトの振る舞いを修正してもよい。具体的には、列振る舞い推定部２０４０は、追跡情報において「移動状態」と示されている追跡対象オブジェクトについて、その追跡対象オブジェクトの一つ前に位置する他の追跡対象オブジェクトの状態と、その追跡対象オブジェクトの一つ後ろに位置する他の追跡対象オブジェクトの状態とがいずれも「静止状態」である場合、その追跡対象オブジェクトの状態を「静止状態」として扱う。同様に、列振る舞い推定部２０４０は、追跡情報において「静止状態」と示されている追跡対象オブジェクトについて、その追跡対象オブジェクトの一つ前に位置する他の追跡対象オブジェクトの状態と、その追跡対象オブジェクトの一つ後ろに位置する他の追跡対象オブジェクトの状態とがいずれも「移動状態」である場合、その追跡対象オブジェクトの状態を「移動状態」として扱ってもよい。
【００７６】
その他にも例えば、列振る舞い推定部２０４０は、過去に生成された列振る舞い情報（例えば、第１時点よりも前に生成された直近の列振る舞い情報）を利用して、追跡対象オブジェクトの振る舞いを修正してもよい。例えば、第１時点より前に生成された直近の列振る舞い情報が示すオブジェクト列２０の状態が静止状態である場合、第１時点のオブジェクト列２０は、全体が静止状態であり続けているか、又は先頭に近い追跡対象オブジェクトが動き出している状態であると考えられる。前者の場合におけるオブジェクト列２０の状態は静止状態であり、後者の場合におけるオブジェクト列２０の状態は一部移動状態である。
【００７７】
そこで例えば、列振る舞い推定部２０４０は、直近の列振る舞い情報が静止状態を示す場合、追跡情報において「移動状態」として示されている追跡対象オブジェクトのうち、オブジェクト列２０の先頭付近の追跡対象オブジェクトについてのみ移動状態として扱う。言い換えれば、列振る舞い推定部２０４０は、追跡情報において「移動状態」として示されている追跡対象オブジェクトのうち、オブジェクト列２０の先頭付近に位置しない追跡対象オブジェクトについては、静止状態として扱う。
【００７８】
その他にも例えば、直近の列振る舞い情報が示すオブジェクト列２０の状態が一部移動状態である場合、その振る舞い情報が示す静止領域の直後に位置する移動状態の追跡対象オブジェクトは、その後に静止する可能性がある。また、移動領域の直後に位置する静止状態の追跡対象オブジェクトは、移動し始める可能性がある。それ以外の追跡対象オブジェクトは、同じ状態を取り続ける蓋然性が高い。
【００７９】
そこで、列振る舞い推定部２０４０は、直近の列振る舞い情報が一部移動状態を示し、なおかつ、第１時点の追跡情報において、直近の列振る舞い情報が示す静止領域の直後に位置する追跡対象オブジェクトの状態が移動状態を示している場合には、その追跡対象オブジェクトの状態を静止状態として扱う。また、列振る舞い推定部２０４０は、直近の列振る舞い情報が一部移動状態を示し、なおかつ、第１時点の追跡情報において、直近の振る舞い情報が示す移動領域の直後に位置する追跡対象オブジェクトの状態が静止状態を示している場合には、その追跡対象オブジェクトの状態を移動状態として扱う。
【００８０】
上述のように、追跡情報に示される追跡対象オブジェクトの振る舞いを必ずそのまま用いるのではなく、他の追跡対象オブジェクトの状態や直近の列振る舞い情報を考慮して追跡対象オブジェクトの状態を修正して扱うことにより、個別の追跡対象オブジェクトに関する追跡情報の誤りの影響を排除できる。そのため、オブジェクト列２０の振る舞いの推定の精度を向上させることができる。
【００８１】
＜追跡対象オブジェクトの推定位置の算出：Ｓ１０８−２＞
推定位置算出部２０６０は、第１時点の追跡情報及び第１時点の列振る舞い情報に基づき、第２時点における各追跡対象オブジェクトの推定位置を算出する（Ｓ１０８−２）。追跡情報に加えて列振る舞い情報を用いることにより、追跡対象オブジェクトの振る舞いがオブジェクト列２０全体の振る舞いに合致するように、追跡対象オブジェクトの推定位置が算出される。
【００８２】
以下、推定位置算出部２０６０が追跡対象オブジェクトの推定位置を算出する方法について、具体的に説明する。
【００８３】
列振る舞い情報が示すオブジェクト列２０の状態が静止状態であるとする。この場合、推定位置算出部２０６０は、第１時点と第２時点における追跡対象の位置に変化がないと推定する。すなわち、推定位置算出部２０６０は、第１時点の追跡情報によって示される各追跡対象オブジェクトの位置を、第２時点における各追跡対象オブジェクトの推定位置とする。
【００８４】
列振る舞い情報が示すオブジェクト列２０の状態が一部移動状態又は全体移動状態である場合、推定位置算出部２０６０は、第１時点の追跡情報が示す追跡対象オブジェクトの振る舞いに基づいて、第２時点におけるその追跡対象オブジェクトの推定位置を算出する。第１時点における追跡対象オブジェクトの振る舞いは、第１時点の追跡情報に示されている。例えば、第１時点 t1 における追跡対象オブジェクトの位置及び動きがそれぞれ座標 p1 と速度ベクトル v で表されている場合、第２時点 t2 における追跡対象オブジェクトの推定位置 p2 は、以下の数式（１）によって算出される。
【数１】
2019003709.tif 000003
【００８５】
なお、第１時点の追跡情報には、第１時点における追跡対象オブジェクトの動きが示されていなくてもよい。例えばこの場合、移動する追跡対象オブジェクトの速さを予め固定値として定義しておき、定義された速さ及び第１時点における追跡対象オブジェクトの位置に基づいて、第２時点における追跡対象オブジェクトの位置が推定される。ここで、追跡対象オブジェクトの移動方向は、例えば、列振る舞い情報が示すオブジェクト列２０の移動方向と同じであると仮定する。
【００８６】
列振る舞い情報が一部移動状態を示すとする。この場合、推定位置算出部２０６０は、静止領域に含まれる追跡対象オブジェクトと、移動領域に含まれる追跡対象オブジェクトとについて、それぞれ異なる方法で第２時点における推定位置を算出する。以下、その方法を具体的に説明する。
【００８７】
基本的な考え方として、静止領域に含まれる追跡対象オブジェクトは、第１時点と第２時点において位置に変化がないと考えられる。また、移動領域に含まれる追跡対象オブジェクトは、第１時点におけるその追跡対象オブジェクトの動きに従って移動すると考えられる。
【００８８】
ただし、静止領域に含まれる追跡対象オブジェクトのうち、移動領域の後ろに位置する追跡対象オブジェクトについては、第１時点において静止していたとしても、その後に移動し始める可能性がある。逆に、移動領域に含まれる追跡対象オブジェクトのうち、静止領域の後ろに位置する追跡対象オブジェクトについては、第１時点において移動していたとしても、その後に静止する可能性がある。
【００８９】
そこで例えば、推定位置算出部２０６０は、図１０及び図１１のフローチャートに示す流れで、第２時点における各追跡対象オブジェクトの推定位置を算出する。図１０及び図１１は、列振る舞い情報が一部移動状態を示す場合において各追跡対象オブジェクトの推定位置を算出する処理の流れを例示する図である。図１０及び図１１では、追跡対象オブジェクトｉについて推定位置を算出している。なお、図１０及び図１１に示すフローチャートは、第１時点の追跡情報に示される各追跡対象オブジェクトについて行われる。
【００９０】
推定位置算出部２０６０は、追跡対象オブジェクトｉが静止領域に含まれるか否かを判定する（Ｓ２０２）。追跡対象オブジェクトｉが静止領域に含まれる場合（Ｓ２０２：ＹＥＳ）、推定位置算出部２０６０は、追跡対象オブジェクトｉが属する静止領域（以下、静止領域 s1）の前方に移動領域が存在するか否かを判定する（Ｓ２０４）。静止領域 s1 の前方に移動領域が存在しない場合（Ｓ２０４：ＮＯ）、推定位置算出部２０６０は、第１時点における追跡対象オブジェクトの位置を、第２時点における追跡対象オブジェクトｉの推定位置とする（Ｓ２０６）。
【００９１】
静止領域 s1 の前方に移動領域が存在する場合（Ｓ２０４：ＹＥＳ）、推定位置算出部２０６０は、追跡対象オブジェクトｉが、静止領域 s1 の前方に存在する移動領域（以下、移動領域 m1）の後方の所定範囲に位置するか否かを判定する（Ｓ２０８）。追跡対象オブジェクトｉが上記所定範囲に位置しない場合（Ｓ２０８：ＮＯ）、推定位置算出部２０６０は、第１時点における追跡対象オブジェクトの位置を、第２時点における追跡対象オブジェクトｉの推定位置とする（Ｓ２０６）。
【００９２】
追跡対象オブジェクトｉが上記所定範囲に位置する場合（Ｓ２０８：ＹＥＳ）、推定位置算出部２０６０は、移動領域 m1 に属する追跡対象オブジェクトの動きに基づいて追跡対象オブジェクトｉの動きを推定し、推定した動きに基づいて、第２時点における追跡対象オブジェクトｉの推定位置を算出する（Ｓ２１０）。移動領域 m1 に属する追跡対象オブジェクトの動きに基づいて追跡対象オブジェクトｉの動きを推定する具体的な方法については後述する。
【００９３】
Ｓ２０２において、追跡対象オブジェクトｉが静止領域に含まれないと判定された場合（Ｓ２０２：ＮＯ）、すなわち、追跡対象オブジェクトｉが移動領域に含まれる場合、推定位置算出部２０６０は、追跡対象オブジェクトｉが属する移動領域（以下、移動領域 m2 ）の前方に静止領域が存在するか否かを判定する（Ｓ２１２）。移動領域 m2 の前方に静止領域が存在しない場合（Ｓ２１２：ＮＯ）、推定位置算出部２０６０は、第１時点における追跡対象オブジェクトｉの位置及び動きに基づいて、第２時点における追跡対象オブジェクトｉの推定位置を算出する（Ｓ２１４）。この算出方法は、例えば前述した数式（１）を利用する方法である。
【００９４】
移動領域 m2 の前方に静止領域が存在する場合（Ｓ２１２：ＹＥＳ）、推定位置算出部２０６０は、追跡対象オブジェクトｉが、移動領域 m2 の前方に存在する静止領域（以下、静止領域 s2）の後方の所定範囲に位置するか否かを判定する（Ｓ２１６）。追跡対象オブジェクトｉが上記所定範囲に位置しない場合（Ｓ２１６：ＮＯ）、推定位置算出部２０６０は、第１時点における追跡対象オブジェクトｉの位置及び動きに基づいて、第２時点における追跡対象オブジェクトｉの推定位置を算出する（Ｓ２１４）。
【００９５】
追跡対象オブジェクトｉが上記所定範囲に位置する場合（Ｓ２１６：ＹＥＳ）、推定位置算出部２０６０は、第１時点の追跡情報が示す追跡対象オブジェクトｉの動きに基づいて、第１時点以降の追跡対象オブジェクトｉの動きを推定し、推定した動きに基づいて、第２時点における追跡対象オブジェクトｉの推定位置を算出する（Ｓ２１８）。ここで、第１時点以降の追跡対象オブジェクトｉの動きは、第１時点の追跡情報が示す追跡対象オブジェクトｉの動きよりも小さい動きとして推定される。その推定方法の詳細については後述する。
【００９６】
＜＜Ｓ２１０において追跡対象オブジェクトｉの動きを推定する方法＞＞
前述したように、追跡対象オブジェクトｉが、追跡対象オブジェクトｉが属する静止領域 s1 の前方に存在する移動領域 m1 の後方の所定範囲に位置する場合（Ｓ２０８：ＹＥＳ）、推定位置算出部２０６０は、第１時点における追跡対象オブジェクトｉの位置及び動きに基づいて、第２時点における追跡対象オブジェクトｉの推定位置を算出する（Ｓ２１０）。例えば推定位置算出部２０６０は、追跡対象オブジェクトｉの動きを、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの動きを表すベクトルに基づいて推定する。例えば、推定位置算出部２０６０は、追跡対象オブジェクトｉの動きが、移動領域 m1 の最後尾に位置する追跡対象オブジェクトの速度ベクトル vo に対してパラメータα（0<α≦1）を掛けた αvo で表されると推定する。この場合、推定位置算出部２０６０は、以下の数式（２）を用いて、第２時点における追跡対象オブジェクトｉの推定位置 p2 を算出する。
【数２】
2019003709.tif 000004
p1 は、第１時点における追跡対象オブジェクトｉの位置を表す。t1 と t2 はそれぞれ、第１時点と第２時点を表す。
【００９７】
ここで、前述した「移動領域 m1 の後方の所定範囲」を定める方法は様々である。例えば、移動領域の後方に位置する追跡対象オブジェクトのうちの先頭から所定個を、「移動領域 m1 の後方の所定範囲」とする。すなわち、移動領域の後方に位置する追跡対象オブジェクトのうち、先頭から所定個の追跡対象オブジェクトが、移動する追跡対象オブジェクトとして扱われる。その他にも例えば、移動領域 m1 の末尾から所定距離に含まれる範囲を、「移動領域 m1 の後方の所定範囲」とする。
【００９８】
なお、追跡対象オブジェクトｉの動きの推定に用いられるパラメータαは、全ての追跡対象オブジェクトに共通の値であってもよいし、追跡対象オブジェクトごとに異なる値であってもよい。後者の場合、例えば、追跡対象オブジェクトの位置がより後方になるほど、αの値を小さくする。
【００９９】
＜＜Ｓ２１８において追跡対象オブジェクトｉの動きを推定する方法＞＞
前述したように、追跡対象オブジェクトｉが、追跡対象オブジェクトｉが属する移動領域 m2 の前方に存在する静止領域 s2 の後方の所定範囲に位置する場合（Ｓ２１６：ＹＥＳ）、推定位置算出部２０６０は、第１時点の追跡情報が示す追跡対象オブジェクトｉの動きに基づいて、第１時点以降の追跡対象オブジェクトｉの動きを推定する。例えば推定位置算出部２０６０は、第１時点以降の追跡対象オブジェクトｉの動きが、第１時点における追跡対象オブジェクトの速度ベクトル vi に対してパラメータβ（0<β≦1）を掛けた βvi で表されると推定する。この場合、推定位置算出部２０６０は、以下の数式（３）を用いて、第２時点における追跡対象オブジェクトｉの推定位置 p2 を算出する。
【数３】
2019003709.tif 000005
p1 は、第１時点における追跡対象オブジェクトの位置を表す。t1 と t2 はそれぞれ、第１時点と第２時点を表す。
【０１００】
なお、前述した「静止領域 s2 の後方の所定範囲」は、前述した「移動領域 m1 の後方の所定範囲」と同様の方法で定めることができる。
【０１０１】
また、追跡対象オブジェクトｉの動きの推定に用いられるパラメータβは、全ての追跡対象オブジェクトに共通の値であってもよいし、追跡対象オブジェクトごとに異なる値であってもよい。後者の場合、例えば、追跡対象オブジェクトの位置がより前方になるほど、βの値を小さくする。
【０１０２】
なお、推定位置算出部２０６０は、第２時点における追跡対象オブジェクトの位置に加え、第２時点における追跡対象オブジェクトの状態及びその尤度、並びに追跡対象オブジェクトの動きを推定してもよい。
【０１０３】
＜オブジェクト２２と追跡対象オブジェクトとの対応付け：Ｓ１０８−３＞
更新部２０８０は、第２時点の動画フレーム１４からオブジェクト２２の検出を行う。この検出には、前述した生成部２０２０が有する検出器と同様の検出器を利用できる。検出器は、生成部２０２０と更新部２０８０のそれぞれに設けられていてもよいし、これらで共有するように設けられていてもよい。なお、更新部２０８０が利用する検出器は、オブジェクト列２０に含まれると推定されるオブジェクト２２に関する検出情報のみを出力するように構成されていてもよい。オブジェクト２２がオブジェクト列に含まれるか否かを推定する技術には、既存の技術を利用することができる。
【０１０４】
さらに更新部２０８０は、第２時点の動画フレーム１４から検出されたオブジェクト２２の位置と、各追跡対象オブジェクトの第２時点における推定位置とに基づいて、第２時点の動画フレーム１４から検出されたオブジェクト２２と追跡対象オブジェクトとを対応づける（Ｓ１０８−３）。この上述の対応付けは、第２時点の動画フレーム１４から検出された各オブジェクト２２が、どの追跡対象オブジェクトに相当するのかを特定する処理である。図１２は、第２時点の動画フレーム１４から検出されたオブジェクト２２と、第２時点における推定位置が算出された追跡対象オブジェクトとの対応付けを例示する図である。図１２において、互いに両矢印で結ばれているオブジェクト２２と追跡対象オブジェクトが、互いに対応付けられたオブジェクト２２と追跡対象オブジェクトである。
【０１０５】
第２時点の動画フレーム１４から検出されたオブジェクト２２と、第２時点の推定位置が算出された追跡対象オブジェクトとを対応づける方法は、様々である。例えば更新部２０８０は、第２時点の推定位置が算出された追跡対象オブジェクトに対し、その推定位置に最も近い位置で検出されたオブジェクト２２を対応づける。その他にも例えば、更新部２０８０は、以下に示す方法で上記対応付けを行ってもよい。
【０１０６】
図１３は、第２時点の動画フレーム１４から検出されたオブジェクト２２と追跡対象オブジェクトとを対応付ける方法を説明するための図である。なお、図１３における「未検知」とは、追跡対象オブジェクトに対応づけられるべきオブジェクト２２が、何らかの原因で動画フレーム１４から検出されないこと（例えば画像ノイズが原因でオブジェクトが動画フレーム１４から検出されないこと）を意味する。また、「誤検知」とは、実際には存在しないオブジェクトが何らかの原因で検出されたこと（例えば画像ノイズがオブジェクトとして検出されたこと）を意味する。未検知と誤検知の取り扱いについては後述する。
更新部２０８０は、静止状態の追跡対象オブジェクトについて優先的に対応付けを行い、その後に移動状態の追跡対象オブジェクトについて対応付けを行っている。まず第１のステップで、更新部２０８０は、アンカーとなる追跡対象オブジェクトについて対応付けを行う。ここで、アンカーとなる追跡対象オブジェクトとは、オブジェクト列２０中でほとんど動かず、確実に対応付けられる追跡対象オブジェクトのことである。すなわち、アンカーとなる追跡対象オブジェクトは、静止状態の追跡対象オブジェクトである。アンカーとなる追跡対象オブジェクトには、動画フレーム１４から検出されたオブジェクト２２のうち、その追跡対象オブジェクトの推定位置と間の距離が閾値以下のものが対応付けられる。図１３では、破線の楕円で囲った対応がこれに相当する。
【０１０７】
なお、上記対応付けには、列振る舞い情報をさらに用いてもよい。例えば、静止領域に含まれる追跡対象オブジェクトでも、移動領域のすぐ後にある追跡対象オブジェクトについては、アンカーの追跡対象オブジェクトとして扱わないようにしてもよい。
【０１０８】
次に、第２のステップで、更新部２０８０は、アンカーとなる追跡対象オブジェクトの対応付け結果により、オブジェクト列２０を分割する。図１２の例において、オブジェクト列２０は、実線の四角で囲われた２つの部分列に分割されている。更新部２０８０は、部分列それぞれについて対応付けを行う。すなわち、アンカーの追跡対象オブジェクトの対応付けによって分割される、追跡対象オブジェクトと、動画フレーム１４から検出されたオブジェクト２２との間で、部分列ごとに対応付けを行う。このときの対応付けの方法としては、例えば、ハンガリアン法を用いることができる。
【０１０９】
ハンガリアン法による対応付けの場合には、例えば、部分列内の追跡対象オブジェクトと、動画フレーム１４から検出されたオブジェクト２２との間で対応付けの尤度を求め、これを単調非増加関数によってコストに変換して用いるようにする。この際の尤度は、例えば、動画フレーム１４から検出されたオブジェクト２２の外接矩形と、追跡対象オブジェクトの外接矩形の位置や大きさを推定によって調整したものとの重なり度合によって算出することができる。その他にも例えば、動画フレーム１４から検出されたオブジェクト２２の位置と、追跡対象オブジェクトの推定位置との間の距離を求め、それを単調非増加関数によって尤度に変換するようにしてもよい。この際の距離は画像上での距離であってもよいし、実世界座標上の距離であってもよい。また、尤度を算出する際、追跡対象オブジェクトの状態を考慮してもよい。すなわち、追跡対象オブジェクトが静止状態か移動状態かによって、尤度を求める関数やパラメータを変えるようにしてもよい。これにより、静止状態のときは、より厳しい条件で尤度を求めるようにし、移動状態のときには、より緩い条件で尤度を算出することもできる。特に、移動状態の場合の方が、静止状態の場合に比べて、追跡対象オブジェクトの推定位置と動画フレーム１４から検出されるオブジェクトとの位置（実際の位置）との距離に誤差が生じやすいなどといった、状態ごとの特性を尤度に反映させることができる。また、外見特徴の類似度を尤度に反映させてもよい。すなわち、外見特徴が類似しているオブジェクト間ほど、尤度が高くなるように設定してもよい。
【０１１０】
あるいは、第２のステップにおける部分列の対応付けにおいて、さらに信頼度の高いと考えられる対応付けを優先してもよい。例えば、移動状態の追跡対象オブジェクトについて、その追跡対象オブジェクトの推定位置とほぼ同一の位置において動画フレーム１４からオブジェクト２２が検出されている場合には、更新部２０８０は、その追跡対象オブジェクトとそのオブジェクト２２とを対応づけてもよい。また、静止状態ではあるもののアンカーオブジェクトとして選定されなかった追跡対象オブジェクトが、少し緩い基準では動画フレーム１４から検出された或るオブジェクト２２と対応づけられる場合に、更新部２０８０は、その追跡対象オブジェクトとオブジェクト２２とを対応づけてもよい。この場合、更新部２０８０は、これらの対応付けの結果によって部分列を分割してから、続きの対応付けを行うようにする。
【０１１１】
図１４は、第２のステップで、信頼度の高い対応付けを行った後、さらに部分列を分解してから、続きの対応付けを行うケースを例示する図である。図中、破線の楕円で囲った対応付けは、アンカーとして選定されたオブジェクトの対応付けであり、実線の楕円で囲まれた対応付けは、アンカーとしては選定されなかった静止状態の追跡対象オブジェクトについて、信頼度が高いと判定されたために優先的に行われた対応付けである。この対応付けの後、残りのオブジェクトが部分列に分割されている。部分列に対しては、上述の第２のステップのときと同様、ハンガリアン法等で対応付けを行う。
【０１１２】
このように、列の特性を考慮して、対応付けの信頼度が高いと考えられるオブジェクトの対応付けを優先することで、対応付けの精度を高めることができる。また、部分列に分割することにより、検討すべき対応付けの場合の数を大幅に減らせるようになり、演算コストの削減にもつながる。
【０１１３】
なお、上述のように段階的に行わなくても同様のことが可能である。例えば、全体を一括でハンガリアン法により対応付ける方法を採用する場合において、アンカーとみなせるオブジェクトの対応付けのコストを他の対応付けのコストよりも低く設定すれば、これらを確実に対応付けることができるようになる。よって、対応付けの精度を上げることが可能となる。
【０１１４】
＜追跡情報の更新：Ｓ１０８−４＞
更新部２０８０は、上記対応付けの結果に基づいて、追跡情報に示される追跡対象オブジェクトの情報を更新する（Ｓ１０８−４）。すなわち、第１時点の追跡情報が、第２時点の追跡情報に更新される。ここで、追跡情報の更新は、第１時点の追跡情報を記憶領域から削除せずに第２時点の追跡情報を記憶領域へ記憶させることで行われてもよいし、第１時点の追跡情報が記憶されている記憶領域を第２時点の追跡情報で上書きすることで行われてもよい。前者の場合、追跡情報の履歴が記憶領域に蓄積されていく。一方、後者の場合、追跡情報の履歴は蓄積されず、常に最新の追跡情報のみが記憶領域に記憶されていることになる。
【０１１５】
更新部２０８０によって更新される追跡情報の内容としては、例えば、追跡対象オブジェクトの位置、特徴量、動き、又は状態などがある。以下、それぞれの情報を更新する方法について説明する。
【０１１６】
＜＜追跡対象オブジェクトの位置の更新＞＞
更新部２０８０は、追跡対象オブジェクトに対応づけられたオブジェクト２２の位置に基づいて、追跡対象オブジェクトの位置（テーブル２００における位置２０４）を更新する。例えば更新部２０８０は、追跡情報の位置２０４を、その追跡対象オブジェクトに対応付けられたオブジェクト２２の位置に更新する。その他にも例えば、更新部２０８０は、その追跡対象オブジェクトの第２時点における推定位置と、その追跡対象オブジェクトに対応付けられたオブジェクト２２の位置とを統計処理（例えば重み付け加算）し、追跡情報の位置２０４を、統計処理の結果得られた位置に更新する。
【０１１７】
＜＜追跡対象オブジェクトの動きの更新＞＞
更新部２０８０は、前述した更新後の追跡対象オブジェクトの位置（以下、更新位置）と、推定位置算出部２０６０によって推定された追跡対象オブジェクトの推定位置との差異に基づいて、追跡対象オブジェクトの動き（テーブル２００における動き２０８）を更新する。こうすることで、推定位置算出部２０６０による推定にどの程度の誤差があったかを考慮して、追跡対象オブジェクトの動きが補正される。
【０１１８】
追跡対象オブジェクトの動き２０８を更新する方法は様々である。例えば、追跡対象オブジェクトの動きが等速直線運動であると仮定しており、追跡情報の動き２０８が追跡対象オブジェクトの速度ベクトルを示しているとする。この場合、更新部２０８０は、推定位置と更新位置との差分ベクトルを第２時点と第１時点の時刻の差分（第２時点と第1時点の時間間隔）で割った値を、第１時点の追跡情報の動き２０８が示す追跡対象オブジェクトの速度ベクトルに加算することで、追跡情報の動き２０８を更新する。
【０１１９】
その他にも例えば、カルマンフィルタを使って追跡対象オブジェクトの動きが定義されているとする。この場合、追跡情報の動き２０８は、カルマンフィルタの状態変数に含まれる。更新部２０８０は、カルマンフィルタの状態変数の更新式に、推定位置と更新位置とを適用することで、カルマンフィルタの状態変数を更新する。ここで、カルマンフィルタの状態変数の更新式には、既知の更新式を利用することができる。
【０１２０】
＜＜追跡対象オブジェクトの状態の更新＞＞
更新部２０８０は、追跡対象オブジェクトの状態（テーブル２００の状態２０６）を更新する。例えば更新部２０８０は、更新した追跡対象オブジェクトの速度の大きさ（速さ）が所定値（例えば０）以下である場合に、その追跡対象オブジェクトの状態２０６を静止状態に更新する。一方、更新部２０８０は、更新した追跡対象オブジェクトの速度の大きさが所定値より大きい場合に、その追跡対象オブジェクトの状態２０６を移動状態に更新する。
【０１２１】
＜＜追跡対象オブジェクトの特徴量の更新＞＞
更新部２０８０は、第２時点の動画フレーム１４から検出されたオブジェクト２２の特徴量に基づいて、そのオブジェクト２２と対応づけられた追跡対象オブジェクトの特徴量（テーブル２００の特徴量２１０）を更新する。例えば更新部２０８０は、オブジェクト２２の特徴量と、そのオブジェクト２２に対応付けられた追跡対象オブジェクトについて追跡情報の特徴量２１０が示す特徴量とを統計処理（例えば、重み付け加算）し、その結果として得られた特徴量で、追跡情報が示すその追跡対象オブジェクトの特徴量２１０を更新する。その他にも例えば、更新部２０８０は、オブジェクト２２に対応付けられた追跡対象オブジェクトについて追跡情報が示す特徴量２１０を、そのオブジェクト２２の特徴量で置き換えてもよい。その他にも例えば、更新部２０８０は、追跡情報が一つの追跡対象オブジェクトについて複数の特徴量を示す場合（例えば、複数のテンプレートを保持する場合）、追跡情報が示す追跡対象オブジェクトの特徴量２１０の一つを、その追跡対象オブジェクトに対応づけられたオブジェクト２２の特徴量で置き換えてもよい。
【０１２２】
＜＜追跡対象オブジェクトの領域の更新＞＞
更新部２０８０は、追跡情報が示す追跡対象オブジェクトの領域（テーブル２００の領域２１２）を更新する。例えば更新部２０８０は、追跡情報が示す追跡対象オブジェクトの領域２１２を、追跡対象オブジェクトの位置の変化に応じて移動させることで、追跡情報の領域２１２を更新する。その他にも例えば、更新部２０８０は、第２時点の動画フレーム１４から検出されたオブジェクト２２の領域（例えば外接矩形）で、そのオブジェクト２２と対応づけられた追跡対象オブジェクトについて追跡情報が示す領域２１２を置き換えてもよい。
【０１２３】
＜＜追跡対象オブジェクトの追加や削除など＞＞
第１時点の追跡情報に示される追跡対象オブジェクトの中に、第２時点の動画フレーム１４から検出されるオブジェクト２２と対応づけられないものがあったとする（前述した未検知のケース）。これは、追跡対象オブジェクトに対応するオブジェクト２２が、何らかの理由で第２時点の動画フレーム１４から検出されなかったことを意味する。例えばオブジェクトを俯瞰するようにカメラ１０が設置されている場合、カメラ１０に近いオブジェクトによって他のオブジェクトが遮蔽されてしまうことがありうる。
【０１２４】
このように、第１時点の追跡情報に示される追跡対象オブジェクトの中に、第２時点の動画フレーム１４から検出されるオブジェクト２２と対応づけられないものがある場合、更新部２０８０は、追跡情報が示すその追跡対象オブジェクトの位置を、推定位置算出部２０６０によって算出されたその追跡対象オブジェクトの推定位置で更新する。
【０１２５】
また、第２時点の動画フレーム１４から検出されたオブジェクト２２の中に、追跡対象オブジェクトと対応づけられなかったものが存在するとする。この場合、１）新たにオブジェクト列２０に加わるオブジェクト２２が検出されたケース（以下、新規加入のケース）と、２）誤ってオブジェクト２２ではないものがオブジェクト２２として検出されたケース（以下、誤検知のケース）とがある。そこで更新部２０８０は、第２時点の動画フレーム１４から検出されたオブジェクト２２の中に、追跡対象オブジェクトと対応づけられないものがある場合には、新規加入のケースと誤検知のケースのいずれであるのかを判定する。新規加入のケースである場合、更新部２０８０は、上述した、追跡対象オブジェクトと対応づけられていないオブジェクト２２を、新たな追跡対象オブジェクトとして、第２時点の追跡情報に加える。一方、誤検知のケースである場合、更新部２０８０は、上述した、追跡対象オブジェクトと対応づけられていないオブジェクト２２を、第２時点の追跡情報に加えない。
【０１２６】
新規加入のケースと誤検知のケースとを判別する方法は様々である。例えば更新部２０８０は、追跡対象オブジェクトに対応づけられていないオブジェクト２２を表す第２時点の動画フレーム１４の画像領域が、既存の追跡対象オブジェクトの画像領域と大きく重なっている場合には、誤検知のケースであると判定する。その他にも例えば、更新部２０８０は、オブジェクト列２０の構造上、前後のオブジェクト２２が過不足なく追跡対象オブジェクトと対応づけられているにも関わらず、その間にいずれの追跡対象オブジェクトとも対応づけられないオブジェクト２２が存在する場合には、そのオブジェクト２２の画像領域が既存の追跡対象オブジェクトの画像領域と重なるか否かにかかわらず、誤検知のケースと判断してもよい。なお、更新部２０８０は、誤検知のケースと判定されなかった場合には、新規加入のケースであると判定する。
【０１２７】
なお、更新部２０８０は、動画フレーム１４に対して行ったオブジェクト検出の結果から、追跡対象オブジェクトに対応づけられていないオブジェクト２２について、オブジェクト列を構成するオブジェクトであるか否かを判定してもよい。この場合、更新部２０８０は、新規加入のケースであると判定され、なおかつオブジェクト２２がオブジェクト列を構成するオブジェクトであると判定された場合に、そのオブジェクト２２を新たな追跡対象オブジェクトとして、追跡情報に追加する。一方で、新規加入のケースであると判定されたものの、オブジェクト２２がオブジェクト列を構成するオブジェクトではないと判定された場合、更新部２０８０は、そのオブジェクト２２を追跡情報に追加しない。なお、動画フレームから検出される各オブジェクトがオブジェクト列を構成するものであるか否かを判定する技術には、既存の技術を用いることができる。
【０１２８】
追跡対象オブジェクトの中には、オブジェクト列２０から離脱するオブジェクトも存在しうる。そこで例えば、更新部２０８０は、オブジェクト列２０から離脱した追跡対象オブジェクトを、追跡情報から削除する（第２時点の追跡情報には、離脱した追跡対象オブジェクトを含めないようにする）。追跡対象オブジェクトがオブジェクト列２０から離脱したかどうかの判定には、既存の方式を用いることができる。例えば、オブジェクト列２０が、先頭からオブジェクトが順次離脱していく列であるとする。この場合、オブジェクト列２０の先頭として扱う動画フレーム１４の画像領域を予め定めておく。そして、更新部２０８０は、第１時点においてオブジェクト列２０の先頭に位置する追跡対象オブジェクトについて、その追跡対象オブジェクトと対応づけられたオブジェクト２２の動画フレーム１４における位置が、上述した先頭として扱う画像領域の外である場合、その追跡対象オブジェクトがオブジェクト列２０から離脱したと判定する。よって、更新部２０８０は、この追跡対象オブジェクトを、追跡情報から削除する。
【０１２９】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【０１３０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。
２．  前記更新手段は、前記第２時点における位置が推定された前記追跡対象オブジェクトと、前記第２時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、１．に記載の情報処理装置。
３．  前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の１つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、１．又は２．に記載の情報処理装置。
４．  前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、３．に記載の情報処理装置。
５．  前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、４．に記載の情報処理装置。
６．  前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、５．に記載の情報処理装置。
７．  前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、４．乃至６．いずれか一つに記載の情報処理装置。
８．  前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、１．乃至７．いずれか一つに記載の情報処理装置。
【０１３１】
９．  コンピュータによって実行される制御方法であって、
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。
１０．  前記更新ステップにおいて、前記第２時点における位置が推定された前記追跡対象オブジェクトと、前記第２時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、９．に記載の制御方法。
１１．  前記列振る舞い推定ステップにおいて、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の１つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、９．又は１０．に記載の制御方法。
１２．  前記列振る舞い推定ステップにおいて、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、１１．に記載の制御方法。
１３．  前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、１２．に記載の制御方法。
１４．  前記推定位置算出ステップにおいて、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、１３．に記載の制御方法。
１５．  前記推定位置算出ステップにおいて、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、１２．乃至１４．いずれか一つに記載の制御方法。
１６．  前記更新ステップにおいて、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、９．乃至１５．いずれか一つに記載の制御方法。
【０１３２】
１７．  ９．乃至１６．いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【０１３３】
この出願は、２０１７年６月３０日に出願された日本出願特願２０１７−１２９２２１号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2019003709.tif 000006
【図２】
2019003709.tif 000007
【図３】
2019003709.tif 000008
【図４】
2019003709.tif 000009
【図５】
2019003709.tif 000010
【図６】
2019003709.tif 000011
【図７】
2019003709.tif 000012
【図８】
2019003709.tif 000013
【図９】
2019003709.tif 000014
【図１０】
2019003709.tif 000015
【図１１】
2019003709.tif 000016
【図１２】
2019003709.tif 000017
【図１３】
2019003709.tif 000018
【図１４】
2019003709.tif 000019
【手続補正書】
【提出日】令和1年12月11日(2019.12.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成手段と、
第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定手段と、
前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出手段と、
前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新手段と、を有する情報処理装置。
【請求項２】
前記更新手段は、前記第２時点における位置が推定された前記追跡対象オブジェクトと、前記第２時点の動画フレームから検出されたオブジェクトとを対応づけることで、その追跡対象オブジェクトに関する前記追跡情報を更新する、請求項１に記載の情報処理装置。
【請求項３】
前記列振る舞い推定手段は、全ての前記追跡対象オブジェクトが静止している静止状態、全ての前記追跡対象オブジェクトが移動している全体移動状態、及び一部の前記追跡対象オブジェクトが移動している一部移動状態の中の１つを前記列の状態として推定し、前記推定した列の状態を示す前記列振る舞い情報を生成する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記列振る舞い推定手段は、前記列の状態が前記一部移動状態である場合、前記列振る舞い情報に、前記追跡対象オブジェクトが移動している移動領域と、前記追跡対象オブジェクトが静止している静止領域とを互いに識別する情報を含める、請求項３に記載の情報処理装置。
【請求項５】
前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトが移動すると推定して、その追跡対象オブジェクトの推定位置を算出する、請求項４に記載の情報処理装置。
【請求項６】
前記推定位置算出手段は、前記移動領域の後ろの所定範囲に位置していてなおかつ静止状態である前記追跡対象オブジェクトの動きの大きさを、その移動領域の動きの大きさ又はその移動領域に含まれる追跡対象オブジェクトの動きの大きさに基づいて推定する、請求項５に記載の情報処理装置。
【請求項７】
前記推定位置算出手段は、前記静止領域の後ろの所定範囲に位置していてなおかつ移動状態である前記追跡対象オブジェクトの動きを、前記追跡情報に示される動きの大きさよりも小さく推定して、その追跡対象オブジェクトの位置を算出する、請求項４乃至６いずれか一項に記載の情報処理装置。
【請求項８】
前記更新手段は、前記追跡対象オブジェクトのうち、静止状態にある追跡対象オブジェクトについて優先的に対応づけを行う、請求項１乃至７いずれか一項に記載の情報処理装置。
【請求項９】
コンピュータによって実行される制御方法であって、
動画フレームからオブジェクトの列を検出し、前記検出された列に含まれる各オブジェクトを追跡対象オブジェクトとして、各追跡対象オブジェクトの位置を示す追跡情報を生成する生成ステップと、
第１時点の前記追跡対象オブジェクトに関する前記追跡情報を用いて、前記第１時点の前記列の振る舞いを推定し、前記列の振る舞いに関する列振る舞い情報を生成する列振る舞い推定ステップと、
前記第１時点の前記追跡情報及び前記列振る舞い情報に基づき、前記第１時点よりも後の第２時点における各前記追跡対象オブジェクトの推定位置を算出する推定位置算出ステップと、
前記第２時点の動画フレームから１つ以上のオブジェクトを検出し、前記検出された各オブジェクトの位置と、前記第２時点における各追跡対象オブジェクトの推定位置とに基づいて、前記追跡情報に示される各前記追跡対象オブジェクトの情報を更新する更新ステップと、を有する制御方法。
【請求項１０】
請求項９に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【国際調査報告】
2019003709.tif 000020
2019003709.tif 000021
2019003709.tif 000022
2019003709.tif 000023