以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
[実施形態1]
<概要>
置き去り物体を検出する方法として、動画データから静止物体を検出し、静止物体を置き去り物体として扱う方法がある。そして、静止物体を検出する方法として、動画データを構成する各動画フレームから物体を検出し、その物体が静止している場合に、その物体を静止物体として検出する方法がある。ここで、「物体が静止している」とは、物体の位置の変化が小さい(所定の閾値以下の値)状態が継続することを意味する。よって、物体の位置の変化が小さい状態が継続した場合に、その物体が静止物体として検出される。
しかし前述したように、静止物体は必ずしも置き去り物体とは限らない。そのため、置き去り物体を精度良く検出するためには、静止物体を置き去り物体として検出する方法では不十分である。
そこで本実施形態の情報処理装置は、動画データから静止物体が検出された場合に、さらなる処理を行う。図1は、本実施形態の情報処理装置(後述する図2における情報処理装置2000)の動作の概要を例示する図である。図1は、情報処理装置2000の理解を容易にするための例示であり、情報処理装置2000の動作を限定するものではない。
情報処理装置2000は、動画データ12から静止物体を検出する。さらに情報処理装置2000は、静止物体として検出された物体(以下、対象物体)が含まれる複数の動画フレーム14から、対象物体の周辺に存在する人物を検出する処理(以下、人物検出処理)を行う。そして、各動画フレーム14を対象とした人物検出処理の結果を比較することで所定処理を行う。後述するように、例えば所定処理には、対象物体が置き去り物体である蓋然性が高い場合に警告を行う処理や、対象物体の状態を特定する(置き去られているかどうかを特定する)処理である。
例えば、静止物体として検出された対象物体が、置き去られた物体ではなく、持ち主のそばに置かれている物体であるとする。このケースでは、対象物体の周辺に持ち主がいる状態が継続する。一方で、対象物体が置き去られた物体であるケースでは、対象物体の周辺から持ち主がいなくなる。そこで情報処理装置2000は、これらのケースを区別するために、それぞれ異なる時点における対象物体が含まれる動画フレーム14について、対象物体の周辺から人物を検出する人物検出処理を行ってその結果を比較する。こうすることで、静止物体が検出されたそれを置き去り物体として検出する方法と比較し、置き去り物体を精度良く検出することができる。
以下、本実施形態の情報処理装置2000についてさらに詳細に説明する。
<情報処理装置2000の機能構成の例>
図2は、実施形態1の情報処理装置2000の構成を例示する図である。情報処理装置2000は、静止物体検出部2020、人物検出部2040、及び処理実行部2060を有する。静止物体検出部2020は、動画データ12から静止物体を検出する。人物検出部2040は、静止物体として検出された物体(対象物体)が含まれる複数の動画フレーム14それぞれを対象に、対象物体の周辺から人物を検出する人物検出処理を実行する。処理実行部2060は、複数の動画フレームそれぞれを対象とした人物検出処理の結果を比較することで所定処理を実行する。
<情報処理装置2000のハードウエア構成>
情報処理装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、情報処理装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
図3は、情報処理装置2000を実現するための計算機1000を例示する図である。計算機1000は任意の計算機である。例えば計算機1000は、Personal Computer(PC)、サーバマシン、タブレット端末、又はスマートフォンなどである。計算機1000は、情報処理装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。
計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。プロセッサ1040は、CPU(Central Processing Unit)や GPU(Graphics Processing Unit)などの演算装置である。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、メモリカード、又は ROM(Read Only Memory)などを用いて実現される補助記憶装置である。ただし、ストレージデバイス1080は、RAM など、主記憶装置を構成するハードウエアと同様のハードウエアで構成されてもよい。
入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
例えば計算機1000は、ネットワークを介してカメラ10と通信可能に接続されている。ただし、計算機1000をカメラ10と通信可能に接続する方法は、ネットワークを介した接続に限定されない。また、計算機1000は、カメラ10と通信可能に接続されていなくてもよい。
ストレージデバイス1080は、情報処理装置2000の各機能構成部(静止物体検出部2020、人物検出部2040、及び処理実行部2060)を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
なお、計算機1000は、複数の計算機を利用して実現されてもよい。例えば静止物体検出部2020、人物検出部2040、及び処理実行部2060をそれぞれ異なる計算機で実現することができる。この場合、各計算機のストレージデバイスに記憶されるプログラムモジュールは、その計算機で実現される機能構成部に対応するプログラムモジュールだけでもよい。
<カメラ10について>
カメラ10は、繰り返し撮像を行って動画データ12を生成できる任意のカメラである。例えばカメラ10は、特定の施設や道路などを監視するために設けられている監視カメラである。
情報処理装置2000の機能の一部又は全部は、カメラ10によって実現されてもよい。すなわち、情報処理装置2000を実現するための計算機1000として、カメラ10を利用してもよい。この場合、カメラ10は、自身で生成した動画データ12を処理する。このように情報処理装置2000を実現するために用いられるカメラ10には、例えば、インテリジェントカメラ、ネットワークカメラ、又は IP(Internet Protocol)カメラなどと呼ばれるカメラを利用できる。
<処理の流れ>
図4は、実施形態1の情報処理装置2000によって実行される処理の流れを例示するフローチャートである。静止物体検出部2020は、動画データ12から静止物体を検出する(S102)。人物検出部2040は、対象物体が含まれる複数の動画フレーム14それぞれを対象に、対象物体の周辺から人物を検出する人物検出処理を実行する(S104)。処理実行部2060は、複数の動画フレームそれぞれを対象とした人物検出処理の結果を比較することで所定処理を実行する(S106)。
<動画データ12の取得方法>
情報処理装置2000は、処理対象とする動画データ12を取得する。情報処理装置2000が動画データ12を取得する方法は様々である。例えば情報処理装置2000は、カメラ10から送信される動画データ12を受信する。また例えば、情報処理装置2000は、カメラ10にアクセスし、カメラ10に記憶されている動画データ12を取得する。
なお、カメラ10は、カメラ10の外部に設けられている記憶装置に動画データ12を記憶させてもよい。この場合、情報処理装置2000は、この記憶装置にアクセスして動画データ12を取得する。そのため、この場合、情報処理装置2000とカメラ10は通信可能に接続されていなくてもよい。
情報処理装置2000の一部又は全部の機能がカメラ10で実現される場合、情報処理装置2000は、情報処理装置2000自身によって生成された動画データ12を取得する。この場合、動画データ12は、例えば情報処理装置2000の内部にある記憶装置(例えばストレージデバイス1080)に記憶されている。そこで情報処理装置2000は、これらの記憶装置から動画データ12を取得する。
情報処理装置2000が動画データ12を取得するタイミングは任意である。例えば情報処理装置2000は、カメラ10によって動画データ12を構成する新たな動画フレーム14が生成される度に、その新たに生成された動画フレーム14を取得することで、動画データ12を取得する。その他にも例えば、情報処理装置2000は、定期的に未取得の動画フレーム14を取得してもよい。例えば情報処理装置2000が1秒間に1回動画フレーム14を取得する場合、情報処理装置2000は、1秒間に生成される複数の動画フレーム14(例えば動画データ12のフレームレートが 30fps(frames/second) であれば、30枚の動画フレーム14)をまとめて取得する。
静止物体検出部2020は、動画データ12を構成する全ての動画フレーム14を取得してもよいし、一部の動画フレーム14のみを取得してもよい。後者の場合、例えば静止物体検出部2020は、カメラ10によって生成される動画フレーム14を、所定数に1つの割合で取得する。
<静止物体の検出:S102>
静止物体検出部2020は、動画データ12から静止物体を検出する(S102)。動画データから静止物体を検出する技術には、既存の技術を利用することができる。以下、動画データ12から静止物体を検出する方法の一例を説明する。
静止物体検出部2020は、動画データ12を構成する各動画フレーム14から物体を検出する。静止物体検出部2020は、同じ物体が含まれる複数の動画フレーム14それぞれについて、その物体の位置の変化量を算出する。そして静止物体検出部2020は、その物体の位置の変化量が所定量以下である状態が所定長の期間継続した場合に、その物体を静止物体として検出する。ここで、静止物体検出部2020によって或る物体が静止物体として検出された場合において、その物体の位置の変化量が所定量以下である状態が継続した上記所定長の期間を、静止判定期間と呼ぶ。
図5は、動画データ12から静止物体を検出する方法を概念的に示す図である。この例において、静止物体検出部2020は、物体の位置の変化量が所定値以下である期間の長さが p 以上である場合に、その物体を静止物体として検出する。
図5の動画データ12では、時点 t 以降の各動画フレーム14から物体20が検出される。静止物体検出部2020は、時系列で隣接する2つの動画フレーム14の各組み合わせについて物体20の位置の差分を算出することで、物体20の位置の変化量を算出する。
まず時点 t において、物体20を持った人物30が現れる。人物30は、時点 t+a まで、物体20を持って移動している。そのため、時点 t から t+a までの期間について算出される物体20の位置の変化量は、いずれも所定量より大きい値となる。そのため、この期間に生成された動画フレーム14を用いた判定では、物体20は、静止物体として検出されない。
その後、時点 t+a 以降、物体20は地面に置かれている。そのため、時点 t+a 以降の各動画フレーム14から検出される物体20の位置の変化量は、いずれも所定量以下となる。したがって、静止物体検出部2020は、時点 t+a から時点 t+a+p の期間に生成された動画フレーム14を用いた判定により、物体20を静止物体として検出する。
その他にも例えば、静止物体検出部2020は、動画フレーム14を用いて背景画像(背景のみからなる画像)を生成し、背景差分によって静止物体を検出してもよい。まず、静止物体検出部2020は、時系列の動画フレーム14から背景画像を生成する。背景画像の生成には、既知の様々な手法を用いることができる。次に、静止物体検出部2020は、新たに取得する動画フレーム14と背景画像との差分を算出する。そして、静止物体検出部2020は、差分が大きくなる領域を抽出する。静止物体検出部2020は、動画フレーム14を取得するたびにこの処理を実行し、得られた抽出結果をフレーム間で比較し、物体の位置の変化量が所定量以内に収まっているかどうかを判定する。
図5のケースにおいて、上述の背景差分を利用するとする。この場合、時点 t から t+a までの期間について算出される物体20の位置の変化量は所定量より大きい値となる。一方、時点 t+a 以降では、物体20の位置の変化量が所定量以下となる。よって、背景差分を利用する場合においても、時点 t+a から時点 t+a+p の期間に生成された動画フレーム14を用いた判定により、物体20が静止物体として検出される。
なお、物体の移動を判定する方法は、上記の方法に限定されない。例えば、「物体中の特徴点を抽出し、特徴点を隣接フレーム間で対応付けることによって、物体の移動量を求める」という方式など、様々な方式を用いることができる。
<人物検出処理:S104>
人物検出部2040は、対象物体(静止物体として検出された物体)が含まれる複数の動画フレーム14それぞれを対象に、対象物体の周辺から人物を検出する人物検出処理を行う(S104)。以下、動画フレーム14において、対象物体の周辺の画像領域を、周辺領域と呼ぶ。「対象物体が含まれる複数の動画フレーム14」は、例えば前述した図5の例においては、時点 t 以降に生成された各動画フレーム14である。これらの動画フレーム14には、静止物体として検出された物体である物体20が含まれている。
ここで、動画フレーム(すなわち画像データ)から人物を検出する方法には、既存の技術(例えば特徴量マッチングやテンプレートマッチングなど)を利用できる。例えば特徴量マッチングを利用する場合、人物検出部2040は、人間の外見的な特徴を表す特徴量を持つ画像領域を動画フレーム14から検出することにより、人物検出を行う。
ここで、人物検出処理は、人物全体を表す画像領域を検出する処理であってもよいし、人物の一部(例えば頭部)を表す画像領域を検出する処理であってもよい。ここで、カメラ10の撮像範囲に多くの人物や物体が含まれる場合、人物の一部が他の人物や物体によって隠されてしまう蓋然性が高い。この点、頭部は下半身などと比べて他の人物などに隠されてしまう蓋然性が低い部位(カメラ10によって撮像される蓋然性が高い部位)であると言える。また、頭部は個々の人の特徴を良く表す部位であると言える。そのため、人物検出処理として頭部を検出する処理を行うことには、1)動画フレーム14から人物を検出できる蓋然性が高い、2)他の人物との識別が容易な態様で人物を検出できるなどといった利点がある。
周辺領域は、動画フレーム14全体の画像領域であってもよいし、動画フレーム14の一部の画像領域であってもよい。動画フレーム14の一部の画像領域を周辺領域とする場合、例えば対象物体の位置を基準とした所定形状の画像領域を周辺領域とする。ここで、物体の位置は、その物体を表す画像領域に含まれる任意の位置(例えば中心位置など)とすることができる。また、所定形状は、例えば所定のサイズを持つ円や矩形などとすることができる。周辺領域には、対象物体が含まれていてもよいし、含まれていなくてもよい。所定形状を定義する情報は、予め人物検出部2040に設定されていてもよいし、人物検出部2040からアクセス可能な記憶装置に記憶されていてもよい。
図6は、動画フレーム14の一部の画像領域として定められる周辺領域を例示する図である。図6において、対象物体は物体20である。図6(a)において、所定形状は、半径 d の円形である。また、周辺領域40の中心位置は、物体20の中心位置である。一方、図6(b)において、所定形状は、長辺が d1 であり、なおかつ短辺が d2 の矩形である。また、周辺領域40の中心位置は、物体20の中心位置から上方に所定距離 e 離れた位置である。
なお、周辺領域40の画像上の位置に応じ、周辺領域40を定める所定形状を変化させてもよい。例えば、カメラ10に近い場所では所定形状のサイズを大きくし、カメラ10から遠い場所ではカメラ10のサイズを小さくするように定義する。その他にも例えば、周辺領域40の実空間での大きさが一定となるように、所定形状を定める。ここで、周辺領域40の実空間での大きさは、カメラ10のキャリブレーション情報を用いて推定することができる。なお、カメラ10のキャリブレーション情報は、カメラ10上の座標を実空間上の座標に変換するために必要な種々のパラメータ(カメラの位置や姿勢、レンズの歪など)の情報を含む。キャリブレーション情報の生成には、既知の手法を利用することができる。
<<人物検出処理の対象とする動画フレーム14>>
人物検出部2040は、対象物体を含む複数の動画フレーム14のうち、少なくとも2つの動画フレーム14を人物検出処理の対象とする。以下、この2つの動画フレーム14を第1動画フレームと第2動画フレームと呼ぶ。第2動画フレームは、第1動画フレームよりも後に生成された動画フレーム14である。以下、第1動画フレームと第2動画フレームとして扱う動画フレーム14を定める方法について説明する。
人が物体を或る場所に置き去る場合、少なくともその物体がその場所に置かれるまでは、その人物がその物体の周辺に存在すると言える。一方、その物体が置かれてからしばらく後には、その人物がその物体の周辺に存在しない蓋然性が高い。よって、対象物体が置かれた時点付近又はその時点よりも前の時点に対象物体の周辺に存在する人物が、対象物体が置かれてからしばらく後に対象物体の周辺に存在していなければ、対象物体が置き去られていると推測できる。
そこで、例えば第1動画フレームには、前述した静止判定期間の開始時点又はそれに近い時点(所定時間前又は後の時点)に生成された動画フレーム14を採用できる。例えば図5の例において、静止判定期間の開始時点は時点 t+a である。よって、静止判定期間の開始時点に生成された動画フレーム14を第1動画フレームとすると、動画フレーム14−2が第1動画フレームとなる。
その他にも例えば、第1動画フレームは、静止判定期間の終了時点 t+a+pに抽出された対象物体が実際に置かれた時点(以下、置き去り時点と呼ぶ)を基準として決定されてもよい。人が往来する場所などがカメラ10によって撮像される場合、対象物体が静止していると判定され始める時点(静止判定期間の開始時点)は、対象物体が実際に置かれた時点と一致するとは限らないためである。
そのために、人物検出部2040は、対象物体の置き去り時点を推定する。例えば人物検出部2040は、静止判定期間の終了時点 t+a+p に生成された動画フレーム14から対象物体の画像特徴量を抽出し、その特徴量が時点 t+a+p よりも前に生成された各動画フレーム14において同じ位置で検出されるかどうかを遡って調べる。そして、人物検出部2040は、例えば対象物体の画像特徴量が検出されなくなる時点が、置き去り推定時刻であると推定する。置き去り時点を基準として決定される第1動画フレームは、例えば、置き去り時点に生成された動画フレーム14や、置き去り時点よりも所定時間前又は後に生成された動画フレーム14である。
その他にも例えば、第1動画フレームには、対象物体が含まれる動画フレーム14のうち、最も生成時点が早い動画フレーム14(対象物体が出現した動画フレーム14)を採用できる。例えば図5の例において、対象物体が出現した動画フレーム14は、動画フレーム14−1である。
その他にも例えば、第1動画フレームには、第2動画フレームの生成時点よりも所定の長さ前の時点に生成された動画フレーム14を採用してもよい。
一方、第2動画フレームには、例えば前述した静止判定期間の終了時点又はそれに近い時点(所定時間前又は後の時点)に生成された動画フレーム14を採用できる。図5の例において、静止判定期間の終了時点は t+a+p である。よって、静止判定期間の終了時点に生成された動画フレーム14を第2動画フレームとすると、動画フレーム14−3が第2動画フレームとなる。その他にも例えば、第2動画フレームには、第1動画フレームの生成時点よりも所定の長さ後の時点に生成された動画フレーム14を採用してもよい。
人物検出部2040は、前述した第1動画フレームと第2動画フレームに加え、他の動画フレーム14をさらに人物検出処理の対象としてもよい。例えば第1動画フレームに含まれる人物が屈んでいる場合、第1動画フレームに人物が含まれているにもかかわらず、姿勢変動によりその人物を検出できない可能性がある。そこで例えば、人物検出部2040は、第1動画フレームの生成時点の前後所定時間に生成された複数の動画フレーム14も、人物検出処理の対象とする。同様に人物検出部2040は、第2動画フレームの生成時点の前後所定時間に生成された複数の動画フレーム14も、人物検出処理の対象とする。
<所定処理の実行:S106>
処理実行部2060は、対象物体が含まれる複数の動画フレーム14それぞれを対象とした人物検出処理の結果を比較することで、所定処理を実行する(S106)。所定処理は、例えば、1)所定の条件が満たされた場合に警告を行う処理、2)対象物体の状態を特定する処理、3)対象物体を置き去ったと推定される人物を追跡する処理などである。以下、これらの処理について詳細に例示する。
<<警告処理>>
図7は、処理実行部2060によって実行される警告処理の流れを例示する図である。この例において、処理実行部2060は、第1動画フレームに対する人物検出結果と第2動画フレームに対する人物検出結果を比較する。
まず処理実行部2060は、第1動画フレームを対象とする人物検出処理によって人物が検出されたか否かを判定する(S202)。人物が検出されなかった場合、図7の処理は終了する(警告が行われない)。第1動画フレームにおいて対象物体の周辺から人物が検出されないケースは、例えば、対象物体がカメラ10の撮像範囲外から移動してきたのではなく、カメラ10の撮像範囲内に突然出現したケースである。例えば、対象物体が、カメラ10の撮像範囲内の或る場所に固定で設置されている物体(看板や銅像など)であるとする。この場合、対象物体が他の物体(例えば車などの機械)に隠されていると、対象物体がカメラ10によって撮像されない。しかし、対象物体を隠している物体が移動すると、対象物体がカメラ10によって撮像されるようになる。つまり、カメラ10の視点からは、対象物体が突然出現したことになる。その他にも例えば、環境光の変化などによって背景画像との差分が生じることで、対象物体が動画データ12に突然現れたかのように検出される場合がある。これらのケースでは、対象物体は置き去られていない蓋然性が高いと言える。そのため、処理実行部2060は警告を行わない。
第1動画フレームを対象とする人物検出処理によって人物が検出された場合(S202:YES)、人物が検出された領域(人物領域)から人物の照合に必要な特徴量(顔や頭部などの身体の一部の特徴量や、服若しくは持ち物などの特徴量)を抽出した上で、図7の処理はS204に進む。S204において、処理実行部2060は、第2動画フレームを対象とする人物検出処理によって、第1動画フレームを対象とする人物検出処理によって検出された人物と同じ人物が検出されたか否かを判定する。この際、第1動画フレームから人物が検出された場合には、その人物領域から、人物の照合に必要な特徴量を抽出する。そして、処理実行部2060は、第1動画フレームから抽出された特徴量と第2動画フレームから抽出された特徴量の類似度がある所定の閾値よりも高い場合に、これらの動画フレームから同一の人物が検出されたと判定する。
同じ人物が検出された場合(S204:YES)、図7の処理は終了する(警告が行われない)。このケースでは、第1動画フレームの生成時点と第2動画フレームの生成時点において、同一の人物が対象物体の周辺に存在している。すなわちこの状況は、対象物体を置いた人物がその周辺に留り続けている状況であり、対象物体は置き去られていない蓋然性が高いと言える。よって、処理実行部2060は警告を行わない。
これに対し、第2動画フレームを対象とする人物検出処理によって、第1動画フレームを対象とする人物検出処理によって検出された人物と同じ人物が検出されなかった場合(S204:NO)、処理実行部2060は警告を行う(S206)。このケースは、1)第2動画フレームを対象とする人物検出処理によって人物が検出されないか、又は2)第2動画フレームを対象とする人物検出処理によって検出された人物が、第1動画フレームを対象とする人物検出処理によって検出された人物とは異なるケースである。いずれのケースであっても、対象物体を置いた人物がその対象物体の周辺に存在しなくなっており、対象物体が置き去られている蓋然性が高いと言える。そこで処理実行部2060は、警告を行う。
なお、第1動画フレームと第2動画フレームから複数の人物が検出されることが考えられる。この場合、例えば、第1動画フレームから検出された複数の人物のいずれかが、第2動画フレームから検出された複数の人物のいずれかと同じである場合、処理実行部2060は、「第2動画フレームを対象とする人物検出処理によって、第1動画フレームを対象とする人物検出処理によって検出された人物と同じ人物が検出された」と判定する。一方、第1動画フレームから検出された全ての人物が、第2動画フレームから検出された複数の人物のいずれとも異なる場合、処理実行部2060は、「第2動画フレームを対象とする人物検出処理によって、第1動画フレームを対象とする人物検出処理によって検出された人物と同じ人物が検出されなかった」と判定する。
その他にも例えば、処理実行部2060は、第1動画フレームから検出される複数の人物それぞれについて、対象物体を置き去った人物(置き去り主)である蓋然性の高さを判定し、その判定結果を用いて人物同一判定を行ってもよい。例えば処理実行部2060は、第1動画フレームから検出される各人物について、その検出位置と対象物体との距離に応じて、置き去り主である尤度を算出する。すなわち、人物の検出位置と対象物体との距離が小さいほど、その人物の尤度を大きくする。この際、人物の検出位置と対象物体との距離は、動画フレーム14上の距離でもよいし、実空間上の距離でもよい。実空間上の距離は、カメラ10のキャリブレーション情報を用いて推定することができる。そして、例えば処理実行部2060は、第1動画フレームから検出される人物のうち、所定値以上の尤度を持つ人物のいずれかが、第2動画フレームからも検出された場合に、「第2動画フレームを対象とする人物検出処理によって、第1動画フレームを対象とする人物検出処理によって検出された人物と同じ人物が検出された」と判定する。
また、上述の例では第1動画フレームを対象とする人物検出結果と第2動画フレームを対象とする人物検出結果を比較しているが、処理実行部2060は必ずしもこれらを比較する必要はない。例えば、第1動画フレームを対象とする人物検出処理の結果の代わりに、第1動画フレームの生成時点の前後所定時間に生成されたいずれかの動画フレーム14を対象とする人物検出処理の結果を利用してもよい。例えば、第1動画フレーム及び第1動画フレームの生成時点の前後所定時間に生成された複数の動画フレーム14それぞれを対象として人物検出処理を行った結果、いずれか複数の動画フレーム14から同じ人物が検出されたとする。この場合、処理実行部2060は、最も鮮明にその人物が検出された人物検出処理の結果を利用する。第2動画フレームについても同様である。
また、処理実行部2060は、3つ以上の動画フレーム14を比較することで、警告処理を行うか否かを判定してもよい。例えば人物検出部2040は、第1動画フレームと第2動画フレームとの間に生成される1つ以上の動画フレーム14についても、人物検出処理を行う。以下、第1動画フレームと第2動画フレームとの間に生成される動画フレーム14を、中間フレームと呼ぶ。そして処理実行部2060は、第1動画フレーム、第2動画フレーム、及び1つ以上の中間動画フレームそれぞれに対する人物検出処理の結果に基づいて、警告を行うか否かを判定する。こうすることで、対象物体を置いた人物がその周辺に留まり続けているかどうかを、より高い精度で判定することができる。
例えば処理実行部2060は、上述のS204における判定の代わりに、第1動画フレームから検出された人物と同じ人物が、第2動画フレームに加え、1つ以上の中間フレームからも検出されるか否かを判定する。そして、例えば処理実行部2060は、第2動画フレーム及び中間フレームの中に、第1動画フレームから検出された人物と同じ人物が検出されない動画フレーム14がある場合には、警告を行う。一方、第2動画フレーム及び全ての中間フレームから、第1動画フレームから検出された人物と同じ人物が検出される場合、処理実行部2060は警告を行わない。なお、第1動画フレームから検出された人物は、必ずしも全ての中間フレームから検出されなくてもよい。例えば処理実行部2060は、所定割合以上の中間フレームから、第1動画フレームから検出された人物と同じ人物が検出された場合には、警告を行わないようにしてもよい。
その他にも例えば、処理実行部2060は、まずは第1動画フレームから検出された人物と第2動画フレームから検出された人物とが同一であるか否かを判定し、その判定の精度が十分でない場合のみ、中間フレームを利用するようにしてもよい。例えば処理実行部2060が、第1動画フレームから検出された人物の特徴量と、第2動画フレームから検出された人物の特徴量との類似度に基づいて、これらの人物が同一であると判定するとする。この場合、例えば処理実行部2060は、1)類似度が第1所定値以上であれば、検出された人物が同一であると判定し、2)類似度が第2所定値(第1所定値未満の値)未満であれば、検出された人物が同一でないと判定し、3)類似度が第2所定値以上であって第1所定値未満であれば、判定精度が不十分であると判定する。そして3)の場合、処理実行部2060は、第1動画フレームから検出された人物が中間フレームから検出されるかどうかをさらに判定する。
処理実行部2060が行う警告は任意である。例えば処理実行部2060は、警告音を出力したり、所定の情報を出力したりすることで警告を行う。この所定の情報は、例えば、対象物体に関する情報(以下、物体情報)である。例えば物体情報には、対象物体の画像、対象物体が撮像された時点や期間、対象物体が含まれる動画フレーム14の識別子(フレーム番号)、及び対象物体を撮像したカメラ10の識別子などが含まれる。
その他にも例えば、出力される所定の情報には、対象物体を置き去ったと推測される人物に関する情報(以下、人物情報)が含まれる。なお、対象物体を置き去ったと推測される人物は、第1動画フレームにおいて対象物体の周辺から検出され、なおかつ第2動画フレームにおいて対象物体の周辺から検出されなかった人物である。
例えば人物情報は、対象物体を置き去ったと推測される人物の画像やその特徴量、その人物がカメラ10の撮像範囲に入った時点(到着時点)、その人物がカメラ10の撮像範囲から出た時点(立ち去り時点)などを含む。ここで、到着時点や立ち去り時点の推定は、例えば、対象物体を置き去ったと推定される人物が検出された動画フレーム14の前後に生成された複数の動画フレーム14を用いてその人物の追跡処理を行い、対象物体が置かれた場所からその人物が動き出した時点を求めることによって推定できる。その他にも例えば、カメラ10の撮像範囲からその人物が消失した時点に基づいて、到着時点や立ち去り時点を推定するようにしてもよい。なお、人物の追跡処理には、既知の方式を用いることができる。なお、追跡処理によってその人物の移動速度を求め、その移動速度も人物に含めるようにしてもよい。対象物体を置き去ったと推定される人物の移動速度は、後述する周辺の他のカメラにおける、当該人物の出現時点の予測などに用いることができる。
また、対象物体を置き去ったと推定される人物が、ブラックリストなど、人物に関する他の情報に含まれる場合、人物情報は、この「他の情報」に示されるその人物の情報を含んでもよい。
警告の出力先は任意である。例えば警告の出力先は、警備員室でカメラ10の映像を監視している監視員の周囲に設けられているスピーカや、その監視員が使用している端末である。ここで、対象物体が含まれる動画フレーム14を端末に表示させる場合、対象物体や置き去ったと推定される人物の画像領域を強調表示するようにしてもよい。例えば、それらの画像領域を枠で囲ったり、さらにその枠を点滅させたりしてもよい。また、対象物体の大きさの情報等も付加して提示するようにしてもよい。物体の大きさについては、カメラのキャリブレーション情報を用いてその物体の画像領域を実空間上の領域に変換することにより、推定することができる。対象物体の大きさを示す情報は、対象物体が爆弾等の危険物である場合に、その危険性を判定する上で有用である。その他にも例えば、警告の出力先は、現場で警備を行っている警備員が使用している端末である。
その他にも例えば、警告の出力先は、警備会社や警察などの所定の機関で使用されている端末であってもよい。
<<状態の特定>>
処理実行部2060は、対象物体の状態を特定する。具体的には、処理実行部2060は、対象物体の状態が、「置き去られている」と「置き去られていない」のどちらであるかを特定する。
図8は、処理実行部2060が対象物体の状態を特定する処理の流れを例示するフローチャートである。このフローチャートにおける条件判定処理はいずれも、図7のフローチャートにおける条件判定処理と同じである。ただし、各状態判定処理の結果として行われる処理が、図7と図8とで異なる。
具体的には、処理実行部2060は、図7のフローチャートで「対象物体は置き去られていない蓋然性が高い」として説明したケース(S202:NO、及びS204:YES)において、対象物体の状態を「置き去られていない」と特定する(S302)。一方、処理実行部2060は、図7のフローチャートで「対象物体は置き去られている蓋然性が高い」として説明したケース(S204:NO)において、対象物体の状態を「置き去られている」と特定する(S304)。
例えば処理実行部2060は、状態が「置き去られている」であると特定された対象物体について、前述した物体情報を生成して、記憶装置に記憶させる。この記憶装置は、情報処理装置2000からアクセス可能な任意の記憶装置(例えばストレージデバイス1080)である。なお、処理実行部2060はさらに、対象物体を置き去ったと推測される人物について前述した人物情報を生成して、記憶装置に記憶させてもよい。
その他にも例えば、処理実行部2060は、置き去られた物体の種別を推定するようにしてもよい。置き去り物体が何であるかによって、置き去り物体が検出された際の対処などが異なるためである。例えば、置き去り物体が、荷物を運ぶためのカートや、床に置く注意を促す掲示ボード(Cautionと書かれたボードなど)などである場合は、その存在によって大きな問題は生じないため、緊急の対処や慎重な対処を必ずしも必要としない。一方で、置き去り物体が爆弾などの危険物である場合、緊急かつ慎重な対処が求められる。
さらに処理実行部2060は、物体の種別に応じて警告の種別を変えてもよい。また、処理実行部2060は、物体の種別に応じてその後の処理を変えたりしてもよい。例えば処理実行部2060は、置き去り物体が緊急な対処を要する物体である場合には記憶装置に記憶させる一方で、置き去り物体が緊急な対処を要しない物体である場合には記憶装置に記憶させなくてもよい。
なお、処理実行部2060は、「置き去られていない」という状態であると特定された対象物体についても、物体情報を生成するようにしてもよい。ただしこの場合、物体情報には、その物体について特定された状態も含める。
<<追跡処理>>
前述したように、第1動画フレームから検出された人物と同じ人物が第2動画フレームから検出されない場合、対象物体が置き去られた蓋然性が高い。そこで、対象物体を置き去ったと推測される人物を追跡することが好適である。ここでいう追跡は、例えば、その人物の現在位置を把握すること、その人物が今後移動すると予測される場所を把握すること、及び対象物体を置き去さるまでのその人物の行動を把握することなどを含む。
そこで処理実行部2060は、第1動画フレームから検出された人物と同じ人物が第2動画フレームから検出されない場合に、対象物体を置き去ったと推測される人物(第1動画フレームから検出された人物)を、第1動画フレームを生成したカメラ10とは別のカメラ10によって生成された動画データ12から検出する。前提として、情報処理装置2000が利用される環境には、カメラ10が複数設けられているとする。例えば監視カメラは、監視対象の施設の複数の場所に設けられる。そこで、これら複数の場所に設けられた複数の監視カメラをそれぞれカメラ10として扱う。なお、上述の「対象物体を置き去ったと推測される人物」を、以下では追跡対象人物と呼ぶ。
処理実行部2060は、複数のカメラ10それぞれから動画データ12を取得し、各動画データ12から追跡対象人物を検出する。ここで、動画データ12から特定の人物を検出する技術には、既存の技術を利用することができる。例えば処理実行部2060は、第1動画フレームから検出された追跡対象人物について特徴量を算出し、その特徴量を持つ画像領域を各動画データ12から検出することで、各動画データ12から追跡対象人物を検出する。
処理実行部2060は、1)追跡対象人物が検出された第1動画フレームの生成時点以前に生成された動画フレーム14のみを検出の対象としてもよいし、2)追跡対象人物が検出された第1動画フレームの生成時点以後に生成された動画フレーム14のみを検出の対象としてもよいし、3)双方を検出の対象としてもよい。1)のケースでは、対象物体を置き去るまでの追跡対象人物の行動(どこから来たのかなど)を把握することができる。一方、2)のケースでは、対象物体を置き去った後の追跡対象人物の行動(現在位置や、どこへ向かっているかなど)を把握することができる。
図9は、複数のカメラ10から追跡対象人物が検出される様子を概念的に例示する図である。図9に示されているカメラ10−1からカメラ10−7は、施設50を監視するために設けられている監視カメラの一部である。
図9において、カメラ10−4によって生成された動画データ12から、人物30によって物体20が置き去られたことが検出されている。ここで、追跡対象人物である人物30は、時刻 t にカメラ10−1によって生成された第1動画フレームから検出されたとする。
そこで処理実行部2060は、カメラ10−1からカメラ10−3及びカメラ10−5からカメラ10−7によって生成される各動画データ12それぞれをさらに解析して、人物30を検出する。その結果、人物30は、時刻 t-a-b においてカメラ10−1によって生成された動画フレーム14、t-a においてカメラ10−2によって生成された動画フレーム14、t+c においてカメラ10−5によって生成された動画フレーム14、及び t+c+d においてカメラ10−7によって生成された動画フレーム14それぞれから検出されている(a、b、c、及び d はそれぞれ正の値)。一方、カメラ10−3によって生成された動画データ12とカメラ10−6によって生成された動画データ12からは、人物30が検出されない。この結果により、処理実行部2060は、人物30の移動の軌跡が軌跡60であると推定する。なお、各カメラ10の情報(設置場所など)を示す情報は、情報処理装置2000からアクセス可能な任意の記憶装置に記憶されているものとする。
例えば軌跡60を利用することで、監視カメラによって撮像できない場所のうち、追跡対象人物が通った蓋然性が高い場所を推測することができる。そして、その推測した場所を警備員などに調べさせることにより、監視カメラで監視できていない場所に異常がないか(他の置き去り物体が存在していないかどうか)などを調べることができる。この方法によれば、怪しい行動をしている人物が通った蓋然性が高い場所を優先的に調べることができるため、監視対象の施設などを効率的に監視できるようになる。
また、この軌跡60及び施設50の構成から、追跡対象人物の今後の行動を推測することができる。例えば図9の例において、施設50に複数の出入り口がある場合、人物30は軌跡60の先にある出口へ向かうと推測できる。そこで例えば、その出口を封鎖するなどといった対処が可能となる。
ここで、処理実行部2060は、全てのカメラ10から動画データ12を取得してもよいし、一部のカメラ10から動画データ12を取得してもよい。後者の場合、例えば処理実行部2060は、対象物体が置き去られたことを検出したカメラ10に近いカメラ10から順に動画データ12を取得し、追跡対象人物の移動の軌跡を推定していく。そして処理実行部2060は、推定された軌跡上に存在するカメラ10からのみ動画データ12を取得するようにする。こうすることで、全てのカメラ10から動画データ12を取得して追跡対象人物の検出を行う場合と比較し、1)情報処理装置2000の処理負荷を軽減できる、2)追跡対象人物の検出に要する時間を短くできるといった利点がある。
例えば図9のケースにおいて、処理実行部2060が、追跡対象人物が、物体20を置く前にどこから来たのかを推定する処理を行うとする。この場合、まず処理実行部2060は、カメラ10−4によって生成された動画データ12における人物30の動きから、人物30が図9における左方向から移動してきたことを特定する。そこで処理実行部2060は、次に動画データ12を取得すべきカメラ10として、カメラ10−4の左方向に設置されているカメラ10−2を特定する。同様に処理実行部2060は、カメラ10−2によって生成された動画データ12における人物30の動きから、図9における上方向から人物30が移動してきたことを特定する。そこで処理実行部2060は、次に動画データ12を取得すべきカメラ10として、カメラ10−2の上方向にあるカメラ10−1を特定する。
一方、図9のケースにおいて、処理実行部2060が、追跡対象人物が、物体20を置き去った後にどこへ向かっているのかを推定する処理を行うとする。この場合、まず処理実行部2060は、カメラ10−4によって生成された動画データ12における人物30の動きから、人物30が図9における右方向へ移動していることを特定する。そこで処理実行部2060は、次に動画データ12を取得すべきカメラ10として、カメラ10−4の右方向に設置されているカメラ10−5を特定する。同様に処理実行部2060は、カメラ10−5によって生成された動画データ12における人物30の動きから、図9における下方向へ人物30が移動していることを特定する。そこで処理実行部2060は、次に動画データ12を取得すべきカメラ10として、カメラ10−5の下方向にあるカメラ10−7を特定する。
さらに処理実行部2060は、カメラ10の位置関係を利用して、追跡対象人物が各カメラ10によって撮像される時間帯を推定し、その時間帯に生成された動画フレーム14のみを利用して追跡対象人物の検出を行ってもよい。こうすることで、情報処理装置2000の処理負荷や人物30を検出する処理に要する時間をさらに削減することができる。
例えば図9の例において、まず処理実行部2060は、カメラ10−4によって生成された動画データ12から、物体20を置き去ったと推定される人物30を検出する。この際、処理実行部2060は、前述したように、動画データ12における人物30の動きから、その人物30を次に撮像するカメラ10がカメラ10−5であると推定する。さらに処理実行部2060は、人物30がカメラ10−4によって生成される動画データ12に含まれなくなった時点(カメラ10−4の撮像範囲からカメラ10−5の撮像範囲へと移動し始めた時点)を特定し、その特定した時点及びカメラ10−4とカメラ10−5との位置関係(距離)に基づいて、人物30がカメラ10−5の撮像範囲に入る時間帯を推定する。この際、人物の移動速度も推定し、撮像範囲に入る時間帯の推定に反映させてもよい。そして処理実行部2060は、カメラ10−5によって生成された動画データ12のうち、上記推定した時間帯に含まれる動画フレーム14のみについて、人物30を検出する処理を行う。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。