IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許7459916物体追跡方法、物体追跡装置、及びプログラム
<>
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図1
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図2
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図3
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図4
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図5
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図6
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図7
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図8
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図9
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図10
  • 特許-物体追跡方法、物体追跡装置、及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】物体追跡方法、物体追跡装置、及びプログラム
(51)【国際特許分類】
   G06T 7/20 20170101AFI20240326BHJP
【FI】
G06T7/20 300Z
【請求項の数】 9
(21)【出願番号】P 2022185479
(22)【出願日】2022-11-21
(62)【分割の表示】P 2021508534の分割
【原出願日】2019-03-27
(65)【公開番号】P2023010840
(43)【公開日】2023-01-20
【審査請求日】2022-11-21
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】山崎 大輝
(72)【発明者】
【氏名】寺澤 哲
【審査官】笠田 和宏
(56)【参考文献】
【文献】特表2018-508135(JP,A)
【文献】特開2017-220151(JP,A)
【文献】特開2007-134948(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのコンピュータが、
第1物体を指定する要求を受け付け、
動画に映る前記第1物体を追跡し、
前記第1物体と、当該第1物体と所定の関係にある第2物体と、を関連付け、
前記第1物体と前記第2物体とを関連付けた後、前記第1物体が検出されている場合、前記第1物体を追跡し、前記第1物体が前記動画から検出されず、かつ、前記第2物体が検出されている場合、前記第2物体を追跡する、
ことを含む物体追跡方法。
【請求項2】
前記所定の関係は、前記第1物体が前記第2物体の中に入ったこと、又は前記第1物体が前記第2物体に乗ったことを含む、
請求項1に記載の物体追跡方法。
【請求項3】
前記所定の関係は、前記第1物体と前記第2物体とが重なった後、前記第1物体が前記第2物体と離れることなく前記動画から検出されなくなることを含む、
請求項1に記載の物体追跡方法。
【請求項4】
前記第2物体を追跡した後に前記第1物体を検出した場合、前記第1物体を追跡する、
請求項1から3のいずれか一項に記載の物体追跡方法。
【請求項5】
前記第1物体は人である、
請求項1からのいずれか一項に記載の物体追跡方法。
【請求項6】
前記第1物体は荷物である、
請求項1からのいずれか一項に記載の物体追跡方法。
【請求項7】
前記第2物体は乗り物である、
請求項1からのいずれか一項に記載の物体追跡方法。
【請求項8】
第1物体を指定する要求を受け付ける受付手段と、
動画に映る前記第1物体を追跡する追跡手段と、
前記第1物体と、当該第1物体と所定の関係にある第2物体と、を関連付ける関連付け手段と、を備え、
前記追跡手段は、
前記第1物体と前記第2物体とを関連付けた後、前記第1物体が検出されている場合、前記第1物体を追跡し、前記第1物体が前記動画から検出されず、かつ、前記第2物体が検出されている場合、前記第2物体を追跡する、
物体追跡装置。
【請求項9】
少なくとも1つのコンピュータを、
第1物体を指定する要求を受け付ける受付手段、
動画に映る前記第1物体を追跡する追跡手段、
前記第1物体と、当該第1物体と所定の関係にある第2物体と、を関連付ける関連付け手段、として機能させ、
前記追跡手段は、
前記第1物体と前記第2物体とを関連付けた後、前記第1物体が検出されている場合、前記第1物体を追跡し、前記第1物体が前記動画から検出されず、かつ、前記第2物体が検出されている場合、前記第2物体を追跡する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は動画を用いて物体を追跡する技術に関する。
【背景技術】
【0002】
カメラから得られる動画データを利用して、人や物の追跡を行うシステムが開発されている。例えば特許文献1は、複数のカメラが撮像した画像間で同一人物を対応づけることで、人物の監視を行うシステムを開示している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-114917号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者は、動画データを利用して或る物体を追跡している際に、他の物体の追跡が必要になりうることを見出した。特許文献1では、このような問題については言及していない。
【0005】
本発明は、上述の課題に鑑みてなされたものであり、その目的の一つは、動画データを用いた物体の追跡をより柔軟に行うことができる技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、
少なくとも1つのコンピュータが、
第1物体を指定する要求を受け付け、
動画に映る前記第1物体を追跡し、
前記第1物体と、当該第1物体と所定の関係にある第2物体と、を関連付け、
前記第1物体と前記第2物体とが検出されている場合、前記第1物体を追跡する、
ことを含む物体追跡方法が提供される。
【0007】
本発明の一態様によれば、
第1物体を指定する要求を受け付ける受付手段と、
動画に映る前記第1物体を追跡する追跡手段と、
前記第1物体と、当該第1物体と所定の関係にある第2物体と、を関連付ける関連付け手段と、を備え、
前記追跡手段は、
前記第1物体と前記第2物体とが検出されている場合、前記第1物体を追跡する、
物体追跡装置が提供される。
【0008】
本発明の一態様によれば、
少なくとも1つのコンピュータを、
第1物体を指定する要求を受け付ける受付手段、
動画に映る前記第1物体を追跡する追跡手段、
前記第1物体と、当該第1物体と所定の関係にある第2物体と、を関連付ける関連付け手段、として機能させ、
前記追跡手段は、
前記第1物体と前記第2物体とが検出されている場合、前記第1物体を追跡する、
プログラムが提供される。
【発明の効果】
【0009】
本発明によれば、動画データを用いた物体の追跡をより柔軟に行うことができる技術が提供される。
【図面の簡単な説明】
【0010】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
図1】本実施形態の物体追跡装置の動作の概要を例示する図である。
図2】実施形態1の物体追跡装置の構成を例示する図である。
図3】物体追跡装置を実現するための計算機を例示する図である。
図4】物体追跡装置の利用シーンの一例を示す図である。
図5】物体追跡装置の利用シーンの別の例を示す図である。
図6】実施形態1の物体追跡装置によって実行される処理の流れを例示するフローチャートである。
図7】追跡情報をテーブル形式で例示する図である。
図8】第1物体の選択をユーザから受け付けるケースを例示する図である。
図9】第1物体20と第2物体30について所定条件が満たされたことを検出する処理の流れを例示するフローチャートである。
図10】実施形態2の物体追跡装置を例示する図である。
図11】実施形態2の物体追跡装置によって実行される処理の流れを例示するフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0012】
<概要>
図1は、本実施形態の物体追跡装置2000の動作の概要を例示する図である。図1は、物体追跡装置2000の動作についての理解を容易にするための概念的な説明を表す図であり、物体追跡装置2000の動作を具体的に限定するものではない。
【0013】
物体追跡装置2000は、1つ以上のカメラ10それぞれから得られる動画データ12を用いて、物体の追跡処理を行う装置である。例えばカメラ10は、道路や駅などといった様々な場所に設定される監視カメラである。なお、ここでいう「物体の追跡処理」とは、動画データ12から(動画データ12を構成する時系列の動画フレーム14から)その物体の位置を継続的に特定する処理を意味する。
【0014】
ここでいう「物体の位置の継続的な特定」は、一定の頻度で物体の位置を特定し続けるケースだけに限定されない。例えば、それぞれ撮像範囲が異なる複数のカメラ10を利用して物体の追跡を広範囲で行う場合、物体が或るカメラの撮像範囲を出てから別のカメラの撮像範囲に入るまでに、時間がかかることが考えられる。このような場合でも、例えば物体追跡装置2000は、カメラ10間の位置関係などに基づき、物体が或るカメラ10の撮像範囲から外に出たら、そのカメラ10の周囲にある他のカメラ10から得られる動画データ12についてその物体の検出を試みることにより、その物体の位置を再度特定することができる。こうすることで、物体の位置を特定し続けることができる(すなわち、物体の追跡処理を実現できる)。
【0015】
物体追跡装置2000は、動画データ12から物体を検出し、検出した物体の追跡処理を行う。ここで、既に物体追跡装置2000によって第1物体20が追跡されているとする。図1の例において、第1物体20は人である。なお、必ずしも動画データ12から検出される全ての物体について追跡処理が行われる必要はない。
【0016】
物体追跡装置2000は、動画データ12を用いて、第1物体20及び第2物体30について所定条件が満たされたことを検出する。第2物体30は、第1物体20以外の物体である。上記所定条件は、第1物体20が第2物体30の中に入った場合、又は第1物体20が第2物体30の上に乗った場合に満たされる条件である。これらのケースでは、動画データ12を用いて第1物体20を直接追跡することが難しくなるものの、第2物体30を追跡することで、間接的に第1物体20を追跡できる。
【0017】
例えば、第1物体20が人物Aであり、第2物体30が自動車Xであるとする。また、人物Aが自動車Xの中に入って(自動車Xに乗車して)移動し始めたとする。この状況では、人物Aが動画データ12から検出されなくなるため、人物Aを直接追跡することは難しい。しかしながら、人物Aは自動車Xの中に入って移動しているため、自動車Xを追跡することにより、間接的に人物Aを追跡できる。
【0018】
その他にも例えば、第1物体20が人物Aであり、第2物体30がバイクYであるとする。また、人物AがバイクYの上に乗って移動し始めたとする。ここで、バイクのように人が中に入らずに上に乗る形態の乗り物の場合でも、人が乗り物に乗った結果、その人が画像から検出されなくなることがありうる。このような場合も、人物Aを直接追跡することは難しくなる。しかしながら、前述した自動車Xの例と同様に、バイクYを追跡することで、間接的に人物Aを追跡できる。
【0019】
上記所定条件が満たされたと判定されたら、物体追跡装置2000は、第1物体20と関連付けて第2物体30の追跡処理を行う。例えば、第1物体20として追跡されている人物が自動車に乗って移動し始めた場合、その人物に関連づけてその自動車の追跡処理が行われる。そのため、この自動車の追跡により、実質的にその人物の追跡を継続して実現することができる。
【0020】
<代表的な作用効果>
追跡中の人物が車に乗って移動し始めた場合などのように、追跡していた物体が他の物体の中に入って移動し始めてしまうと、追跡していた物体を直接追跡し続けることが難しくなる。人がバイクなどの上に乗って移動し始めた結果、その人が動画データから検出されなくなるケースについても同様である。
【0021】
本実施形態の物体追跡装置2000によれば、このように第1物体20を直接追跡し続けることが難しくなった場合、第1物体20と関連付けて第2物体30の追跡が行われる。こうすることで、より柔軟な物体追跡が実現される。具体的には、第1物体20を動画データ12から直接検出することが難しい状況になっても、第1物体20の追跡を実質的に継続することが可能となる。
【0022】
以下、本実施形態の物体追跡装置2000についてさらに詳細に説明する。
【0023】
<物体追跡装置2000の機能構成の例>
図2は、実施形態1の物体追跡装置2000の構成を例示する図である。物体追跡装置2000は、追跡処理部2020及び検出部2040を有する。追跡処理部2020は、動画データ12から検出される物体の追跡処理を行う。検出部2040は、動画データ12を用いて、第1物体20と第2物体30について所定条件が満たされたことを検出する。所定条件は、第1物体20が第2物体30の中に入った場合、又は第1物体20が第2物体30の上に乗った場合に満たされる。所定条件が満たされたことが検出されたら、追跡処理部2020は、第1物体20と関連付けて第2物体30の追跡処理を行う。
【0024】
<物体追跡装置2000のハードウエア構成>
物体追跡装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、物体追跡装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【0025】
図3は、物体追跡装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機1000は、物体追跡装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
【0026】
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などのプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスクドライブ、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
【0027】
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【0028】
ストレージデバイス1080は、物体追跡装置2000の機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【0029】
<利用例>
物体追跡装置2000は、様々なシーンで利用することができる。ここでは、物体追跡装置2000の利用シーンの具体例を説明する。
【0030】
図4は、物体追跡装置2000の利用シーンの一例を示す図である。図4において、物体追跡装置2000は、或る人物が乗り物を利用しながら移動する場合において、その人物を追跡し続けるために利用される。以下では、人が乗り物の中に乗って移動するケースについて例示する。しかしながら、人が乗り物の上に乗って移動するケースについても、後述する例と同様に扱うことができる。
【0031】
まず物体追跡装置2000が、第1物体20として、歩いて移動している人物40の追跡処理を行っているとする。その後、人物40は自動車50に乗り込んでいる。この際、物体追跡装置2000は、所定条件が満たされたことの検出として、人物40が自動車50の中に入ったこと(人物40が自動車50に乗ったこと)の検出を行う。そして、物体追跡装置2000は、自動車50に人物40を関連づけた上で、自動車50の追跡処理を行う。
【0032】
その後、人物40は、自動車50から降りている。この際、物体追跡装置2000は、人物40が自動車50から離れたことを検出したら、人物40の追跡を再開する。ここで、第1物体20が第2物体30の中に入るケースの場合、「第1物体20が第2物体30から離れたことの検出」は、「第1物体20が第2物体30の外に出たことの検出」とも表現できる。また、人が乗り物の中に入って移動するケースでは、さらに具体的に、「人物40が自動車50から降りたことの検出」とも表現できる。
【0033】
このように、物体追跡装置2000によれば、追跡対象の人物が乗り物を利用するために動画データ12から一時的に検出されなくなるようなケースについても、その人物の追跡処理を継続することができる。
【0034】
なお、同様の処理を繰り返し行うことで、人物40が乗り物を変えながら移動したとしても、人物40の追跡を継続することができる。例えば図4において、自動車50から降りた人物40が、歩いて移動した後に電車に乗ったとする。この場合、物体追跡装置2000は、人物40が電車の中に入ったこと(人物40が電車に乗ったこと)を検出する(所定条件が満たされたことの検出)。そして物体追跡装置2000は、電車に人物40を関連づけた上で、電車の追跡処理を行う。その後、物体追跡装置2000は、電車から人物40が降りたことを検出し、人物40の追跡処理を再開する。
【0035】
なお、電車やバスのように運行スケジュールが予め分かっている乗り物を追跡するケースでは、運行スケジュールなどの情報をさらに利用して追跡処理を行ってもよい。例えば、人物40が或る電車に乗ったとする。この際、人物40がその電車に乗った駅、人物40がその電車に乗った時刻、及び人物40がその電車に乗ったプラットフォームの番号などに基づき、その電車がその後に停車する各駅を特定することができる。そこで物体追跡装置2000は、その電車がその後に停車する各駅に設置されたカメラ10から得られる動画データ12に対して人物40の検出を試みることにより、人物40の降車を検出することができる。なお、電車やバスなどの運行スケジュールを取得する技術には、既存の技術を利用することができる。
【0036】
なお、電車の停車時刻は駅ごとに決まっている。そこで物体追跡装置2000は、運行スケジュールに基づいて、駅ごとに、その駅に人物40が乗った電車が停車する時刻を特定し、その停車時刻又はその停車時刻より所定時間前の時刻から、その電車がその駅を発車するまでの間、その駅に設置されたカメラ10から得られる動画データ12に対して人物40の検出を試みるようにしてもよい。こうすることで、人物40の検出処理の対象とする動画データ12の長さを短くすることができるため、物体追跡装置2000の計算コストを削減することができる。
【0037】
第1物体20として扱われる物体は、人に限定されない。例えば物体追跡装置2000は、カバンなどの特定の荷物を追跡し続けるためにも利用可能である。図5は、物体追跡装置2000の利用シーンの別の例を示す図である。図5において、物体追跡装置2000は、或る荷物が自動車や電車などの乗り物を利用しながら運ばれる場合に、その荷物を追跡し続けるために利用される。
【0038】
まず物体追跡装置2000が、第1物体20として、荷物70を追跡しているとする。最初は、歩いて移動している人物40によって荷物70が運ばれているため、動画データ12を利用して荷物70を直接追跡することができる。
【0039】
その後荷物70は、自動車50のトランクに収納される。すなわち、荷物70は自動車50に載せられる。この際、物体追跡装置2000は、所定条件が満たされたことの検出として、荷物70が自動車50の中に入ったこと(荷物70が自動車50に載せられたこと)を検出する。そのため、物体追跡装置2000は、自動車50に荷物70を関連づけた上で、自動車50の追跡を行う。
【0040】
その後、自動車50は、荷物70から降ろされる。この際、物体追跡装置2000は、荷物70が自動車50から離れたこと(自動車50が荷物70から降ろされたこと)を検出する。そして物体追跡装置2000は、荷物70の追跡処理を再開する。
【0041】
ここでは、自動車50から降ろされた荷物70は、人物80によって運ばれている。人物80によって運ばれている間、荷物70は動画データ12に含まれる。そのため、物体追跡装置2000は、荷物70を直接追跡することができる。
【0042】
このように、物体追跡装置2000によれば、荷物が電車などの乗り物を利用して運ばれるために、その荷物が動画データ12上から一時的に検出されなくなるようなケースについても、その荷物の追跡処理を継続することができる。
【0043】
なお、同様の処理を繰り返し行うことで、荷物70が複数の乗り物で運ばれたとしても、荷物70の追跡を継続することができる。例えば図5において、人物80が、歩いて移動した後に電車に乗ったとする。この場合、物体追跡装置2000は、荷物70が電車の中に入ったこと(荷物70が電車に載せられたこと)を検出する。そして物体追跡装置2000は、電車に荷物70を関連づけた上で、電車の追跡処理を行う。その後、物体追跡装置2000は、電車から荷物70が降ろされたことを検出し、荷物70の追跡処理を再開する。
【0044】
なお、荷物70が乗り物の中では無く、乗り物の上(荷台など)に載せて運ばれるケースについても、同様に扱うことができる(第1物体20が第2物体30の上に乗るケース)。
【0045】
ここで、荷物70を乗り物に載せて運ぶケース以外に、例えば、荷物70を布で覆うなどの方法で隠して運ぶケースが考えられる。この場合、荷物70を覆った布等が、荷物70と関連づけて追跡される。ただしこのケースでは、布で覆われた荷物70が、人や乗り物で運ばれるため、荷物70に関連づけて、それを運ぶ人や乗り物をさらに追跡してもよい。
【0046】
第2物体30は、移動する物体に限定されない。例えば、建物を第2物体30として扱うことが考えられる。具体的には、第1物体20として追跡している人や物が建物の中に入った場合に、第1物体20と関連付けて、その建物の追跡が行われる。そして、その建物から第1物体20(人や物)が出てきたら、再度その人や物の追跡が行われる。なお、第1物体20と関連付けた建物の追跡においては、その建物から第1物体20が外に出たか否かの監視(すなわち、建物から第1物体20が離れたか否かの判定)が行われていればよく、建物の位置の特定は省略されてもよい。
【0047】
<処理の流れ>
図6は、実施形態1の物体追跡装置2000によって実行される処理の流れを例示するフローチャートである。S102からS108は、第1物体20の追跡処理が繰り返し行われるループ処理Aである。最初に実行されるS102において、時刻iが初期化される。例えば初期化の際、時刻iは現在時刻に設定される。また、2回目以降に実行されるS102では、時刻iが1単位(例えば1フレーム)増加される。
【0048】
追跡処理部2020は、時刻iの各動画フレーム14を用いて、第1物体20の追跡処理を行う(S104)。検出部2040は、第1物体20と第2物体30についての所定条件が満たされたか否かを判定する(S106)。なお、所定条件が満たされたか否かの判定は、時刻i及びそれ以前の動画フレーム14を用いて行われる。
【0049】
所定条件が満たされていないと判定された場合(S106:NO)、図6の処理はS108に進む。S108はループ処理Aの終端であるため、図6の処理はS104に戻る。
【0050】
所定条件が満たされたと判定された場合(S106:YES)、図6の処理はS110に進む。S110からS116は、第1物体20に関連づけて第2物体30の追跡処理が繰り返し行われるループ処理Bである。S110では、時刻iが1単位(例えば1フレーム)増加される。
【0051】
追跡処理部2020は、時刻iの各動画フレーム14を用いて、第1物体20に関連づけた第2物体30の追跡処理を行う(S112)。検出部2040は、第1物体20が第2物体30から離れたか否かを判定する(S114)。なお、第1物体20が第2物体30から離れたか否かの判定は、時刻i及びそれ以前の動画フレーム14を用いて行われる。
【0052】
第1物体20が第2物体30から離れていないと判定された場合(S114:NO)、図6の処理はS116に進む。S116はループ処理Bの終端であるため、図6の処理はS110に戻る。
【0053】
第1物体20が第2物体30から離れたと判定された場合(S114:YES)、図6の処理はS102に進む。そのため、再度ループ処理Aで第1物体20の追跡処理が行われる。
【0054】
なお、図6に示されている一連の処理を終了する契機は様々である。例えば物体追跡装置2000は、所定のユーザ入力を受け付けたことに応じて、処理を終了する。その他にも例えば、物体追跡装置2000は、カメラ10から動画データ12を取得できなくなったら、処理を終了する。例えば、カメラ10の管理者がカメラ10の動作を停止させた場合、カメラ10から動画データ12が得られなくなるため、その結果として、物体追跡装置2000は処理を終了する。
【0055】
ここで、処理を終了する際、物体追跡装置2000は、図6に示されているようにいずれかのループ処理を抜けて処理を終了してもよいし、ループ処理の途中で処理を中断する形で処理を終了してもよい。
【0056】
また、図6に示されている一連の処理が開始する契機も様々である。例えば物体追跡装置2000は、所定のユーザ入力を受け付けたことに応じて、処理を開始する。その他にも例えば、物体追跡装置2000は、カメラ10から動画データ12を取得したことに応じて、処理を開始する。
【0057】
<動画データ12の取得方法>
物体追跡装置2000は、1つ以上のカメラ10それぞれから動画データ12を取得する。ここで、カメラによって生成された動画データを取得する技術には、既存の技術を利用することができる。例えば物体追跡装置2000は、各カメラ10とネットワークを介して接続されている。そして、各カメラ10は、新たな動画フレーム14を生成する度に、その動画フレーム14を物体追跡装置2000へ送信する。物体追跡装置2000は、送信された動画フレーム14を受信する。
【0058】
その他にも例えば、各カメラ10は、物体追跡装置2000からアクセス可能な記憶装置に、生成した動画フレーム14を格納していってもよい。この場合、例えば物体追跡装置2000は、定期的にこの記憶装置にアクセスし、未取得の動画フレーム14を取得するようにする。
【0059】
ここで、物体追跡装置2000による物体の追跡は、必ずしもリアルタイムで行われる必要はない。追跡がリアルタイムで行われない場合、物体追跡装置2000は、記憶装置に格納されている動画フレーム14の集合(すなわち、動画データ12)を取得し、取得した動画フレーム14を用いて物体の追跡を行う。
【0060】
この際、物体追跡装置2000は、全ての動画データ12を対象として物体の追跡を行ってもよいし、一部の動画データ12を対象として物体の追跡を行ってもよい。後者の場合、例えば物体追跡装置2000は、ユーザによる入力操作に基づいて、物体の追跡に利用する動画データ12を決定する。例えば物体追跡装置2000は、ユーザから、期間や地域を指定する入力を行う。期間が指定された場合、物体追跡装置2000は、指定された期間に生成された動画データ12を取得し、その動画データ12を用いて物体の追跡処理を行う。また、地域が指定された場合、物体追跡装置2000は、指定された地域に設置されている各カメラ10によって生成された動画データ12を取得し、その動画データ12を用いて物体の追跡処理を行う。なお、指定された地域に設置されているカメラ10は、例えば、各カメラ10について設置場所を示す情報を用意しておき、この情報を利用することで特定することができる。
【0061】
<物体の検出について>
物体の追跡処理を行うため、追跡処理部2020は、動画データ12を構成する各動画フレーム14から物体を検出する処理を行う。例えば追跡処理部2020は、動画データ12から、背景領域に含まれない画像領域(いわゆる前景領域)を検出し、検出した前景領域を物体として検出する。そして、追跡処理部2020は、検出した物体について、「動画データ12の識別子、物体の位置、物体の特徴量」という対応付けを示す情報を生成する。以下、検出した物体に関する情報を、検出情報と呼ぶ。検出情報は、動画データ12の識別子と共に又はそれに代えて、物体の検出時刻(動画データ12の生成時刻)を含んでもよい。なお、動画フレーム(すなわち画像)から物体を検出する具体的な技術については、既存の技術を利用することができる。
【0062】
ここで、検出情報が示す物体の位置は、各カメラ10の座標空間における座標(相対座標)で表されてもよいし、全てのカメラ10で共通の座標空間における座標(絶対座標)で表されてもよい。前者の場合において、カメラ10の撮像範囲が固定であれば、動画フレーム14上の物体の座標により、その物体の位置を表すことができる。一方、カメラ10の撮像範囲が固定でない場合(例えば、カメラ10が PTZ カメラである場合)、動画フレーム14上の物体の座標及びその動画フレーム14を生成した時のカメラ10のパラメータ値(パン角、チルト角、及びズーム率など)の組み合わせで、物体の位置を表すことができる。
【0063】
全てのカメラ10で共通の座標空間としては、例えば、GPS(Global Positioning System)座標などといった世界座標の座標空間を利用することができる。この場合、物体追跡装置2000は、前述したカメラ10の座標空間における物体の座標を、世界座標に変換する。なお、カメラの座標空間上の座標を世界座標に変換する技術には、既存の技術を利用することができる。
【0064】
<物体の追跡について:S104、S112>
追跡処理部2020は、追跡対象となっている物体について、追跡処理を行う(S104、S112)。追跡処理とは、動画データ12からその物体の位置を継続的に特定する処理を意味する。より具体的には、物体の追跡処理は、複数の動画フレーム14それぞれから同一の物体を検出することで、複数の動画フレーム14にまたがって同一の物体の位置を特定すること(物体の位置の時系列変化を特定すること)によって実現される。なお、追跡処理部2020は、1つの動画データ12だけでなく、複数のカメラ10それぞれから得られる動画データ12にまたがって追跡対象の物体を追跡する。ここで、複数の動画フレーム14にまたがって同一の物体を検出する具体的な方法、及びその検出を複数の動画データ12にまたがって実現する具体的な方法については、既存の技術を利用することができる。
【0065】
以下、追跡処理によって得られる物体についての情報を、追跡情報と呼ぶ。図7は、追跡情報をテーブル形式で例示する図である。図7のテーブルをテーブル200と呼ぶ。テーブル200は、物体識別子202、検出時刻204、カメラ識別子206、位置208、第1物体フラグ210、及び関連物体識別子212を示す。位置208は、カメラ識別子206で特定されるカメラ10によって、検出時刻204に生成された動画フレーム14における、物体識別子202が割り当てられた物体の位置を示す。
【0066】
第1物体フラグ210は、その物体が第1物体20として扱われていることを示すフラグである。関連物体識別子212は、その物体と関連付けられている物体の識別子を示す。例えば、第1物体20に関連付けて第2物体30の追跡を行う場合、第2物体30の追跡情報において、関連物体識別子212に第1物体20の識別子を設定する。
【0067】
なお、物体追跡装置2000によって追跡処理が行われる物体は、第1物体20として扱われる物体に限定されない。例えば物体追跡装置2000は、動画データ12から検出された全ての物体について追跡処理を行ってもよい。
【0068】
<第1物体20として扱われる物体を決定する方法>
本実施形態の物体追跡装置2000では、動画データ12から検出された物体のうちの少なくとも1つが、第1物体20として扱われる。以下、第1物体20として扱われる物体を決定する方法について説明する。
【0069】
例えば予め、第1物体20として扱うべき物体に関する情報を定めておき、物体追跡装置2000からアクセス可能な記憶装置に記憶させておく。以下、この情報を対象指定情報と呼ぶ。
【0070】
対象指定情報は、例えば、第1物体20として扱うべき物体の画像特徴(画像上の特徴量)を示す。例えば、特定の人物(事件の容疑者やブラックリストに載っている要注意人物など)の顔などの画像特徴を対象指定情報で示しておけば、その人物を第1物体20として追跡することができる。また、特定の人物ではなく、追跡したい人物や物が持つと思われる特徴を表す画像特徴を対象指定情報に示しておいてもよい。例えば、怪しい人物を第1物体20として追跡したい場合に、入れ墨などといった身体的特徴の画像特徴、サングラスや目出し帽などといった装着物の画像特徴、アタッシュケースなどといった所持品の画像特徴を利用することが考えられる。
【0071】
物体追跡装置2000は、動画データ12から検出される物体について、対象指定情報に示されている画像特徴と類似する画像特徴を持つかどうかを判定する。そして、対象指定情報に示されている画像特徴と類似する画像特徴を持つ物体が検出されたら、検出部2040は、その物体を第1物体20として扱う。なお、第1物体20として扱う物体については、前述した追跡情報の第1物体フラグに、第1物体20として扱うことを示す値(例えば1)を設定する。
【0072】
その他にも例えば、対象指定情報は、第1物体20として扱うべき物体の種類及び特徴を示してもよい。例えば、第1物体20として扱うべき物体の種類として「人」を定めておく。また、第1物体20として扱うべき物体の特徴として、身体的特徴、装着物、所持品、行動の特徴(うろつきや滞留など)などを定めておく。物体追跡装置2000は、動画データ12から検出された物体について、対象指定情報に示されている種類の物体に該当し、なおかつ対象指定情報に示されている特徴を持つかどうかを判定する。そして、物体追跡装置2000は、動画データ12から検出された物体の種類が対象指定情報に示されている種類に該当し、なおかつその物体が対象指定情報に示されている特徴を持つと判定したら、その物体を第1物体20として扱う。
【0073】
なお、画像から検出された物体が所定の種類に該当するか否か、その物体が所定の物を身につけているかどうか、その物体が所定の物を所持しているかどうか、及びその物体が所定の行動をしているかどうかなどを判定する技術には、既存の技術を利用することができる。
【0074】
その他にも例えば、第1物体20として扱う物体は、ユーザ入力によって指定されてもよい。例えば、物体追跡装置2000は、動画データ12をディスプレイ装置に表示し、ディスプレイ装置に表示された物体の中から第1物体20として扱う物体を選択する入力を、ユーザから受け付ける。
【0075】
図8は、第1物体20の選択をユーザから受け付けるケースを例示する図である。図8では、タッチパネルディスプレイ90に動画データ12が表示されている。また、動画データ12から検出された各物体について、外接矩形92が表示されている。ユーザは、第1物体20として追跡したい物体の外接矩形92をタッチして選択する。この選択操作を検出した物体追跡装置2000は、選択された外接矩形92に対応する物体を第1物体20として扱われる。
【0076】
<所定条件が満たされたことの検出:S106>
検出部2040は、第1物体20と第2物体30について所定条件が満たされたことを検出する(S106)。前述したように、この所定条件は、第1物体20が第2物体30の中に入った場合、又は第1物体20が第2物体30の上に乗った場合に満たされる条件である。このような所定条件が満たされたことの検出は、例えば、1)第1物体20と第2物体30が互いに重なり、なおかつ2)第1物体20と第2物体30が離れることなく第1物体20が動画データ12から検出されなくなったことの検出を行うことで、実現することができる。そこで例えば、検出部2040は、以下のように処理により、所定条件が満たされたことを検出する。
【0077】
図9は、第1物体20と第2物体30について所定条件が満たされたことを検出する処理の流れを例示するフローチャートである。すなわち、図9のフローチャートが示す一連の処理は、図6のS106を詳細化したものの一例である。なお、status という変数は、第1物体20が第2物体30と重なっていると判定された場合に1を示し、そうでない場合に0を示す。そのため、status の初期値は0とする。
【0078】
検出部2040は、status の値が1であるか否かを判定する(S202)。status の値が0である場合(S202:NO)、検出部2040は、第1物体20が第2物体30と重なっているか否かを判定する(S204)。第1物体20が第2物体30と重なっている場合(S204:YES)、検出部2040は、status の値に1を設定した後(S206)、所定条件が満たされていないと判定する(S208)。一方、第1物体20が第2物体30と重なっていない場合(S204:NO)、検出部2040は、status の値を変更せずに、所定条件が満たされていないと判定する(S208)。
【0079】
S202において、status の値が1である場合(S202:YES)、検出部2040は、第1物体20が第2物体30から離れたか否かを判定する(S210)。第1物体20が第2物体30から離れた場合(S210:YES)、検出部2040は、status の値を0に戻す(S212)。そして、検出部2040は、所定条件が満たされていないと判定する(S208)。
【0080】
S210において、第1物体20が第2物体30から離れていないと判定された場合(S210:NO)、検出部2040は、第1物体20が検出されなくなったか否かを判定する(S214)。第1物体20が検出されなくなったと判定された場合(S214:YES)、検出部2040は、所定条件が満たされたと判定する(S216)。第1物体20が検出されなくなったと判定されなかった場合(S214:NO)、検出部2040は、所定条件が満たされていないと判定する(S208)。
【0081】
<<第1物体20が第2物体30と重なっているか否かの判定:S204>>
検出部2040は、第1物体20が第2物体30と重なっているか否かを判定する(S204)。例えば検出部2040は、第1物体20を表す画像領域と第2物体30を表す画像領域の少なくとも一部が重なり合っている場合に、第1物体20が第2物体30と重なっていると判定する。
【0082】
その他にも例えば、検出部2040は、第1物体20と第2物体30とが接触した後、動画データ12においていずれか一方の一部が変化した場合に、第1物体20が第2物体30と重なったと判定してもよい。例えば、第1物体20と第2物体30が重なった際に、カメラ10から見て第1物体20が第2物体30の手前に位置するとする。この場合、まず、第1物体20と第2物体30とが重なる前に、第1物体20と第2物体30とが接触する。その後、第2物体30の一部が第1物体20に隠されるため、動画データ12上で第2物体30の一部が変化することになる。このように、第1物体20と第2物体30の接触、及び第2物体30の一部の変化を検出することにより、検出部2040は、第2物体30の手前に第1物体20が重なっていることを検出することができる。
【0083】
<<第1物体20が第2物体30から離れたか否かの判定:S210>>
検出部2040は、第1物体20が第2物体30から離れたか否かを判定する(S210)。例えば検出部2040は、第1物体20と第2物体30との間に重なりがあると判定された後に生成される各動画フレーム14を用いて、第1物体20を表す画像領域と第2物体30を表す画像領域との間に重なりがあるか否かを判定する。そして、これらの画像領域に重なりがないと判定されたら、検出部2040は、第1物体20と第2物体30が離れたと判定する。一方、これらの画像領域に重なりがあると判定されたら、検出部2040は、第1物体20と第2物体30が離れていないと判定する。
【0084】
<<第1物体20が検出されなくなったか否かの判定:S214>>
検出部2040は、第1物体20が動画データ12から検出されなくなったか否かを判定する。例えば検出部2040は、第1物体20が第2物体30と重なっていると判定された後に生成された動画フレーム14の中から第1物体20が検出されなかったら、第1物体20が動画データ12から検出されなくなったと判定する。
【0085】
ただし、ノイズ等が原因で、第1物体20が一時的に動画フレーム14から検出されないことも考えられる。そこで例えば、検出部2040は、時系列で連続する所定数以上の各動画フレーム14のどれからも第1物体20が検出されなかった場合に、第1物体20が動画データ12から検出されなくなったと判定してもよい。
【0086】
なお、第1物体20と第2物体30が重なっている際、第1物体20が第2物体30の奥に位置する場合、第1物体20が動画データ12から検出されなくても、第2物体30に隠れて見えなくなったことが原因である可能性がある。一方、第1物体20が第2物体30の手前に位置する場合、第1物体20が動画データ12から検出されなくなったら、第1物体20が第2物体30の中に入ったか、又は第1物体20が第2物体30の上に乗ったと考えられる。
【0087】
そこで検出部2040は、第1物体20が第2物体30と重なっていると判定された後(status=1 の際)、第1物体20が第2物体30の手前と奥のどちらに位置するかによって、互いに異なる処理を行ってもよい。第1物体20が第2物体30の手前に位置する場合、検出部2040は、第1物体20が動画データ12から検出されなくなったら、所定条件が満たされたと判定する。
【0088】
一方、第1物体20が第2物体30の奥に位置する場合、検出部2040は、第2物体30が移動した後に、第1物体20が動画データ12から検出されるか否かを判定する。第2物体30が移動した後に第1物体20が動画データ12から検出されたら、検出部2040は、所定条件が満たされていないと判定する。一方、第2物体30が移動した後に第1物体20が動画データ12から検出されない場合、検出部2040は、所定条件が満たされたと判定する。
【0089】
なお、第1物体20が第2物体30の奥に隠れているだけであった場合において、第2物体30が移動してから第1物体20が検出されるまでにタイムラグが生じうる。そこで例えば、物体追跡装置2000は、第2物体30が移動した後に第1物体20が動画データ12から検出されないと判定して第2物体30を追跡対象とした後、所定の時間、動画データ12から第1物体20の検出を試みてもよい。そして、この所定の時間の中で、動画データ12から第1物体20が検出されたら、物体追跡装置2000は、第1物体20と関連付けた第2物体30の追跡をキャンセルし、第1物体20の検出を再開する。上記所定の時間は、検出部2040からアクセス可能な記憶装置に予め記憶させておく。
【0090】
<<第2物体30として扱う物体の限定>>
なお、動画データ12から検出される物体の中には、第1物体20との間で所定条件を満たすことが考えられないものもある。すなわち、第1物体20がその中に入って移動したり、第1物体20がその上に乗って移動したりすることが考えられない物体が存在する例えば、銅像などの置物は、人がその中に入ったりその上に乗ったりして移動する物体には該当しない。そこで、動画データ12から検出された第1物体20以外の物体の全てを第2物体30として扱うのではなく、一定の条件を満たす物体のみを、第2物体30として扱うようにしてもよい。例えば第1物体20として人を扱う場合、第2物体30を乗り物に限定することが考えられる。
【0091】
第2物体30として扱う物体を限定する場合、例えば、第2物体30として扱う物体を指定する情報を予め定めておく。例えばこの情報は、第1物体20として扱う物体を定める対象指定情報と同様の情報とすることができる。そして、検出部2040は、動画データ12から検出された第1物体20以外の物体のうち、予め定めた情報によって指定される物体のみを、第2物体30として扱うようにする。
【0092】
<第1物体20の追跡の再開>
第1物体20と関連づけた第2物体30の追跡処理を開始した後、再度第1物体20を直接追跡できるようになることがある。例えば、図4の例において自動車50や電車60から人物40が降りて移動し始めた場合や、図5の例において、自動車50や電車60から荷物70が降ろされて人の手によって運ばれ始めた場合などである。
【0093】
そこで物体追跡装置2000は、このように第1物体20と関連づけた第2物体30の追跡処理を実行している状態(ループ処理Bを実行する状態)から、再度第1物体20を直接追跡する状態(ループ処理Aを実行する状態)に遷移する。この処理は、例えば以下のようにして実現される。
【0094】
第1物体20と関連づけた第2物体30の追跡処理を実行している間、検出部2040は、第1物体20が第2物体30から離れたか否かを判定する(S114)。そして、第1物体20が第2物体30から離れたと判定されたら(S114:YES)、物体追跡装置2000の状態は、第1物体20を直接追跡する状態に遷移する(S114からS102に遷移する)。
【0095】
第1物体20が第2物体30から離れたか否かの判定は、例えば次のようにして行われる。すなわち、検出部2040は、第2物体30が検出される各動画フレーム14について、動画フレーム14から第1物体20が検出されたか否かを判定する。動画フレーム14から第1物体20が検出されたら、検出部2040は、第1物体20が第2物体30から離れたと判定する。
【0096】
ただし、第2物体30が検出される動画フレーム14から第1物体20が検出されても、その検出が一時的なものである可能性もある。例えば図4の例において、人物40が自動車50に乗って移動している際、自動車50の窓が開けられたことにより人物40の顔が一時的に見えるようになることがある。この場合、人物40が自動車50から離れた(人物40が自動車50から降りた)とはいえない。
【0097】
そこで例えば、検出部2040は、第2物体30が検出される動画フレーム14から第1物体20が検出されたら、その後に生成される各動画フレーム14をさらに解析し、第1物体20と第2物体30の重なりが無くなったか否かを検出し、これらの重なりが無くなった場合に、第1物体20が第2物体30から離れたと判定してもよい。
【0098】
<第2物体30から第1物体20以外の物体が離れるケース>
ここで、第1物体20が関連づけられている第2物体30から、第1物体20以外の物体が離れるケースがある。例えば、第1物体20が人であり、第2物体30が乗り物である場合に、第2物体30から第1物体20以外の人が降りるケースである。このような場合、第2物体30から離れた第1物体20以外の物体は、第1物体20と関連付けて追跡することが好適な物体である可能性がある。例えば第1物体20として事件の容疑者を追跡している場合、第1物体20と一緒に自動車に乗っている人物は、第1物体20の共犯者である可能性がある。
【0099】
そこで追跡処理部2020は、第1物体20と関連づけられている第2物体30から第1物体20以外の物体が離れたら、その物体を第1物体20と関連付けて追跡してもよい。具体的には、追跡処理部2020は、その物体の追跡情報における関連物体識別子に、第1物体20の識別子を設定する。こうすることで、第1物体20と何らかの関連があると考えられる他の物体を、第1物体20と関連づけて追跡することができる。なお、第2物体30から第1物体20以外の物体が離れたことは、第2物体30と重なる第1物体20以外の物体を検出し、さらにその物体が第2物体30と重ならなくなることを検出することにより、実現できる。
【0100】
<追跡によって得られた情報の出力>
物体追跡装置2000は、第1物体20や第2物体30の追跡によって得られた種々の情報の出力を行う。この出力を行う機能構成部を、出力部と呼ぶ(図示せず)。例えば出力部は、第1物体20と関連づけられた第2物体30の追跡処理の結果も考慮して、第1物体20の位置の履歴を示す情報の生成・出力を行う。この情報を、追跡結果情報と呼ぶ。
【0101】
追跡結果情報には、第1物体20について生成された追跡情報に加え、第1物体20が第2物体30と関連付けられている期間について、その第2物体30の追跡情報が含まれる。追跡結果情報を利用することにより、第1物体20を直接追跡できなかった期間も含めて、第1物体20の位置の履歴を把握することができる。
【0102】
さらに、追跡結果情報によって表される第1物体20の位置の履歴は、視覚的に把握しやすい態様で出力されることが好適である。例えば出力部は、追跡結果情報に示されている位置の履歴を地図上にプロットする。こうすることで、第1物体20の位置の履歴を容易に把握することができる。この際、第1物体20の位置の履歴と、第1物体20が関連づけられた第2物体30の位置の履歴とを、互いに異なる態様(例えば異なる色)でプロットしてもよい。
【0103】
その他にも例えば、出力部は、第1物体20と関連づけられた第2物体30について、その第2物体30の画像、その画像から得られる画像特徴、及びその第2物体30の追跡情報などを出力してもよい。これらの情報を利用することで、第1物体20の移動に利用された自動車等の特徴を把握したり、その自動車等の位置の履歴を把握したりすることができる。
【0104】
その他にも例えば、出力部は、第1物体20と関連づけられた第2物体30から外に出た第1物体20以外の物体について、その物体の画像、その画像から得られる画像特徴、及びその物体の追跡情報などを出力してもよい。これらの情報を利用することにより、第1物体20と何らかの関係があると考えられる他の物体(例えば共犯者と推測される人物)について、その特徴や位置の履歴を把握することができる。
【0105】
[実施形態2]
図10は、実施形態2の物体追跡装置2000を例示する図である。図10は、実施形態2の物体追跡装置2000の動作についての理解を容易にするための概念的な説明を表す図であり、実施形態2の物体追跡装置2000の動作を具体的に限定するものではない。
【0106】
実施形態2の物体追跡装置2000は、「第1物体20と関連付けて第2物体30の追跡処理を行う」という点で実施形態1の物体追跡装置2000と共通する。一方で、実施形態2の物体追跡装置2000では、第1物体20と第2物体30との関連付けを行う条件が、実施形態1の物体追跡装置2000における条件と異なる。実施形態1では、所定の条件が満たされると、第1物体20を直接追跡でなくなることが想定されている。そのため、第2物体30を追跡することにより、実質的に第1物体20の追跡を行っている。一方で、実施形態2では、所定の条件が満たされても、第1物体20を直接追跡できることを想定している。そのため、実施形態2では、所定条件が満たされたら、第1物体20の追跡が継続されつつ、第1物体20と関連付けた第2物体30の追跡がさらに行われる。
【0107】
<代表的な作用効果>
本実施形態の通知処理装置2000によれば、第1物体20との関係で所定の条件を満たす第2物体30が、第1物体20と関連付けて追跡される。こうすることで、第1物体20に加え、第1物体20と何らかの関連があると考えられる物体を追跡することができる。よって、物体のより柔軟な追跡を実現することができる。
【0108】
例えば、犯罪者である蓋然性が高い人物Aを、第1物体20として追跡しているとする。この際、他の人物Bがその人物Aから荷物を受け取ったとする。この場合、人物Bは、人物Aと共謀して犯罪を行っている人物である可能性がある。そのため、人物Aに加え、人物Bの追跡も行うことが好適である。本実施形態の物体追跡装置2000によれば、このようなケースにおいて、人物Aに加え、人物Aと関連があると考えられる人物Bの追跡も行うことができる。よって、追跡すべきであることが予め分かっていない人物等についても、適切に追跡を行うことができるようになる。
【0109】
以下、実施形態2の物体追跡装置2000について、さらに詳細に説明する。
【0110】
<機能構成の例>
実施形態2の物体追跡装置2000の機能構成は、実施形態1の物体追跡装置2000と同様に、図2で表される。ただし、実施形態2の検出部2040は、第1物体20との関係で所定の条件を満たす第2物体30を検出する。そして、追跡処理部2020は、このような第2物体30が検出されたら、その第2物体30に第1物体20を関連付けて、その第2物体30の追跡処理を行う。
【0111】
<ハードウエア構成の例>
実施形態2の物体追跡装置2000を実現する計算機のハードウエア構成は、例えば、実施形態1の物体追跡装置2000を実現する計算機のハードウエア構成と同様に、図3で表される。ただし、実施形態2の物体追跡装置2000を実現する計算機1000が有するストレージデバイス1080には、実施形態2の物体追跡装置2000が有する各機能構成部の機能を実現するプログラムモジュールが格納されている。
【0112】
<処理の流れ>
図11は、実施形態2の物体追跡装置2000によって実行される処理の流れを例示するフローチャートである。S302からS310は、繰り返し実行されるループ処理Cである。最初に実行されるS302において、時刻iが初期化される。例えば初期化の際、時刻iは現在時刻に設定される。また、2回目以降に実行されるS302では、時刻iが1単位(例えば1フレーム)増加される。
【0113】
追跡処理部2020は、時刻iの各動画フレーム14を用いて、第1物体20の追跡処理を行う(S304)。検出部2040は、第1物体20との関係で第2物体30が所定の条件を満たしたか否かを判定する(S306)。例えばこの判定は、第1物体20と同じ動画フレーム14から検出される1つ以上の第2物体30それぞれについて行われる。また、この判定は、時刻i及びそれ以前の動画フレーム14を用いて行われる。
【0114】
第2物体30が所定の条件を満たしたと判定された場合(S306:YES)、追跡処理部2020は、第1物体20と関連づけて第2物体30の追跡処理を実行する(S308)。一方、第2物体30が所定の条件を満たしていないと判定された場合(S306:NO)、図11の処理はS310に進む。
【0115】
S310はループ処理Cの終端である。そのため、図11の処理は、S302に進む。
【0116】
なお、図11に示されている一連の処理を終了する契機及び開始する契機は、図6に示されている一連の処理を終了する契機及び開始する契機と同様である。
【0117】
また、第1物体20との関係で所定の条件を満たしていると一度判定された第2物体30については、S306における判定の対象から除外し、図11に示すフローチャートの処理と平行して、その第2物体30の追跡処理を実行するようにしてもよい。こうすることで、処理を高速化することができる。
【0118】
<所定の条件について>
追跡処理部2020は、第1物体20との関係で所定の条件を満たす第2物体30を、第1物体20と関連付けて追跡する(S308)。そのために、検出部2040は、第1物体20との関係で所定の条件を満たす第2物体30を検出する(S306)。この所定の条件には、様々な条件を採用することができる。
【0119】
例えば、第1物体20と第2物体30が共に人物であるとする。この場合、「第1物体20と第2物体30が所定時間以上一緒にいた」、「第1物体20と第2物体30が会話をした」、「第2物体30が第1物体20から物を受け取った」、又は「第2物体30が第1物体20に物を渡した」などといった条件を採用することができる。例えば物体追跡装置2000は、動画データ12から、所定時間以上の間、所定距離以内に位置する二人の人物が検出されたら、これらの人物が所定時間以上一緒にいたと判定する。また、例えば物体追跡装置2000は、動画データ12から、所定時間以上の間、所定距離以内に位置し、なおかつ顔が向き合っている二人の人物が検出されたら、これらの人物が会話をしたと判定することができる。また、例えば物体追跡装置2000は、動画データ12から、第1の人物、第1の人物によって保持されている物、及び第2の人物を検出し、さらに、その物が第1の人物によって所持されている状態から第2の人物によって所持されている状態に変化したことを検出することで、第1の人物から第2の人物へ物が渡されたことを検出することができる。
【0120】
その他にも例えば、第1物体20が人物であり、第2物体30が物であるとする。この場合、例えば所定の条件として、「第1物体20によって放置された」という条件を採用することができる。こうすることで、第1物体20によって放置された物体がその後どのように移動したかを、その物体が第1物体20によって放置されたものであることを認識した上で追跡することができる。例えば物体追跡装置2000は、動画データ12から、特定の人物及びその人物によって保持されている物を検出した後、その物がその人物から離れて、その人物が動画データ12から検出されなくなったら、その物がその人物によって放置されたと判定することができる。
【0121】
その他にも例えば、第1物体20が物体であり、第2物体30が人物であるとする。この場合、例えば所定の条件として、「第2物体30が第1物体20を持った」という条件を採用することができる。こうすることで、その位置を追跡すべき重要な物に接触したり、その物を持ち去ったりした人物を、その物と関連付けて把握することができる。例えば、ケースに入れて運ばれている貴重品を追跡する際、そのケースの中身を人が持ち去ってそのケースが捨てられてしまうと、それ以降その貴重品の追跡を行えなくなってしまう。そこで、そのケースを持った人物をそのケースと関連付けて追跡することで、たとえそのケースが途中で捨てられたとしても、貴重品を持ち去ったと考えられる人物を追跡することができる。例えば物体追跡装置2000は、動画データ12から、特定の物を検出し、その物が人によって持たれた状態に変化したことを検出したら、所定の条件が満たされたと判定する。
【0122】
なお、物体追跡装置2000は、第1物体20と関連付けて追跡されている第2物体30を、第1物体20と同様に扱うことで、その第2物体30との間で所定の条件を満たした別の物体をさらに追跡してもよい。例えば、人物A(第1物体20)が物X(第2物体30)を放置した後、その物Xを別の人物Bが持ったとする。この際、物Xを第1物体20として見れば、物Xと人物Bとの間で、「第2物体30が第1物体20を持った」という所定の条件が満たさせる。そこで、物体追跡装置2000は、物Xと関連付けて、人物Bを追跡する。このようにすることで、関連がありそうな物体を連鎖的に関連付けて追跡することができる。
【0123】
<追跡によって得られた情報の出力>
実施形態2の物体追跡装置2000の出力部は、第1物体20や第2物体30の追跡によって得られた種々の情報の出力を行う。例えば出力部は、第1物体20と関連づけた追跡された第2物体30の追跡情報を出力する。こうすることで、第1物体20と何らかの関係を持った物体(人や物)の位置の履歴を把握することができる。例えば第1物体20として事件の容疑者を追跡していた場合、第1物体20と関連づけた第2物体30の追跡を行うことで、共犯者や容疑者によって運ばれていた物の行方を把握することができる。
【0124】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0125】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. 動画データから検出される物体の追跡処理を行う追跡処理部と、
前記動画データを用いて、前記追跡処理部によって追跡処理が行われている第1物体及び他の第2物体について所定条件が満たされたことを検出する検出部と、を有し、
前記追跡処理部は、前記所定条件が満たされたことが検出されたら、前記第1物体と関連づけて前記第2物体の追跡処理を行う、物体追跡装置。
2. 前記所定条件は、前記第1物体が前記第2物体の中に入った場合、又は前記第1物体が前記第2物体の上に乗った場合に満たされる条件である、1.に記載の物体追跡装置。
3. 前記所定条件は、前記第1物体と前記第2物体とが重なった後、前記第1物体が前記第2物体と離れることなく前記動画データから検出されなくなることである、2.に記載の物体追跡装置。
4. 前記検出部は、前記第1物体と関連づけて追跡処理が行われている前記第2物体を含む前記動画データを用いて、前記第1物体が前記第2物体から離れたことを検出し、
前記追跡処理部は、前記第2物体から離れた前記第1物体の追跡処理を行う、2.又は3.に記載の物体追跡装置。
5. 前記検出部は、前記第1物体と関連づけて追跡処理が行われている前記第2物体を含む前記動画データから前記第1物体を検出し、前記第1物体と前記第2物体とが重ならなくなったことを検出することで、前記第1物体が前記第2物体から離れたことを検出する、4.に記載の物体追跡装置。
6. 前記第1物体と前記第2物体はいずれも人であり、
前記所定の条件は、前記第1物体と前記第2物体が所定時間以上一緒にいたこと、前記第1物体と前記第2物体が会話をしたこと、前記第2物体が前記第1物体から物を受け取ったこと、前記第2物体が前記第1物体に物を渡したことのいずれか1つ以上である、1.に記載の物体追跡装置。
7. 前記第1物体は人であり、
前記第2物体は物であり、
前記所定の条件は、前記第2物体が前記第1物体によって放置されたという条件である、1.に記載の物体追跡装置。
8. 前記第1物体は物であり、
前記第2物体は人であり、
前記所定の条件は、前記第2物体が前記第1物体を持ったという条件である、1.に記載の物体追跡装置。
9. 前記第1物体と関連付けた前記第2物体の位置の履歴を含む情報、及びその第2物体の特徴を表す情報のうちのいずれか1つ以上を出力する出力部を有する、1.乃至8.いずれか一つに記載の物体追跡装置。
10. コンピュータによって実行される制御方法であって、
動画データから検出される物体の追跡処理を行う追跡処理ステップと、
前記動画データを用いて、前記追跡処理ステップによって追跡処理が行われている第1物体及び他の第2物体について所定条件が満たされたことを検出する検出ステップと、を有し、
前記追跡処理ステップにおいて、前記所定条件が満たされたことが検出されたら、前記第1物体と関連づけて前記第2物体の追跡処理を行う、制御方法。
11. 前記所定条件は、前記第1物体が前記第2物体の中に入った場合、又は前記第1物体が前記第2物体の上に乗った場合に満たされる条件である、10.に記載の制御方法。
12. 前記所定条件は、前記第1物体と前記第2物体とが重なった後、前記第1物体が前記第2物体と離れることなく前記動画データから検出されなくなることである、11.に記載の制御方法。
13. 前記検出ステップにおいて、前記第1物体と関連づけて追跡処理が行われている前記第2物体を含む前記動画データを用いて、前記第1物体が前記第2物体から離れたことを検出し、
前記追跡処理ステップにおいて、前記第2物体から離れた前記第1物体の追跡処理を行う、11.又は12.に記載の制御方法。
14. 前記検出ステップにおいて、前記第1物体と関連づけて追跡処理が行われている前記第2物体を含む前記動画データから前記第1物体を検出し、前記第1物体と前記第2物体とが重ならなくなったことを検出することで、前記第1物体が前記第2物体から離れたことを検出する、13.に記載の制御方法。
15. 前記第1物体と前記第2物体はいずれも人であり、
前記所定の条件は、前記第1物体と前記第2物体が所定時間以上一緒にいたこと、前記第1物体と前記第2物体が会話をしたこと、前記第2物体が前記第1物体から物を受け取ったこと、前記第2物体が前記第1物体に物を渡したことのいずれか1つ以上である、10.に記載の制御方法。
16. 前記第1物体は人であり、
前記第2物体は物であり、
前記所定の条件は、前記第2物体が前記第1物体によって放置されたという条件である、10.に記載の制御方法。
17. 前記第1物体は物であり、
前記第2物体は人であり、
前記所定の条件は、前記第2物体が前記第1物体を持ったという条件である、10.に記載の制御方法。
18. 前記第1物体と関連付けた前記第2物体の位置の履歴を含む情報、及びその第2物体の特徴を表す情報のうちのいずれか1つ以上を出力する出力ステップを有する、10.乃至17.いずれか一つに記載の制御方法。
19. 10.乃至18.いずれか一つに記載の制御方法をコンピュータに実行させるプログラム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11