(57)【要約】  判定部は、第１の撮像画像から抽出された第１前景領域が移動物体を表しているか否かを判定する。警告部は、第１前景領域は移動物体を表さないと判定された場合に警告を出力する。判定手段は、第１判定及び前記第２判定の双方において、第１前景領域によって表される物体が移動していないと判定された場合に、第１前景領域は移動物体を表さないと判定する。第１判定において、判定手段は、第１の撮像画像よりも前に生成された第２の撮像画像から抽出された第２前景領域を第１前景領域と比較して、第１前景領域によって表される物体が移動しているか否かを判定する。第２判定において、判定部は、第１の撮像画像が生成された時点よりも前の時点における上記物体の情報に基づき、第１の撮像画像が生成されるよりも前の時点において上記物体が移動しているか否かを判定する。
2018109879.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）カメラなどと呼ばれるカメラを用いることができる。
【００４７】
＜処理の流れ＞
図５は、実施形態１の情報処理装置２０００によって実行される処理の流れを例示するフローチャートである。図５（ａ）は、処理の流れの概略を例示している。判定部２０２０は、第１前景領域１３が移動物体を表しているか否かを判定する（Ｓ１０２）。第１前景領域１３が移動物体を表す場合（Ｓ１０２：ＹＥＳ）、図５の処理は終了する。一方、第１前景領域１３が移動物体を表さない場合（Ｓ１０２：ＮＯ）、警告部２０４０は警告を出力する（Ｓ１０４）。
【００４８】
図５（ｂ）は、Ｓ１０２において実行される処理の流れの詳細を例示している。判定部２０２０は、第１前景領域１３及び第２前景領域１４を取得する（Ｓ１０８）。判定部２０２０は、取得した第１前景領域１３及び第２前景領域１４を用いて第１判定を行う（Ｓ１１０）。具体的には、判定部２０２０は、第１前景領域１３と第２前景領域１４とを比較することにより、第１前景領域１３によって表される物体が移動しているか否かを判定する。第１前景領域１３によって表される物体が移動していると判定された場合（Ｓ１１０：ＹＥＳ）、判定部２０２０による判定の結果は、「第１前景領域１３が移動物体を表している（Ｓ１０２：ＹＥＳ）」となる。そのため、警告は出力されない。
【００４９】
一方、第１前景領域１３によって表される物体が移動していないと判定された場合（Ｓ１１０：ＮＯ）、判定部２０２０は、第１前景領域１３によって表される物体についての履歴情報を取得する（Ｓ１１２）。
【００５０】
判定部２０２０は、取得した履歴情報を用いて第２判定を行う（Ｓ１１４）。具体的には、判定部２０２０は、第１の撮像画像１２から抽出された第１前景領域１３が、第１の撮像画像１２が生成された時点よりも前において移動していたか否かを判定する。移動していたと判定された場合（Ｓ１１４：ＹＥＳ）、判定部２０２０による判定の結果は、「第１前景領域１３は移動物体を表す（Ｓ１０２：ＹＥＳ）」となる。そのため、警告は出力されない。
【００５１】
一方、移動していなかったと判定された場合（Ｓ１１４：ＮＯ）、判定部２０２０による判定の結果は、「第１前景領域１３は移動物体を表さない（Ｓ１０２：ＮＯ）」となる。そのため、警告が出力される（Ｓ１０４）。
【００５２】
＜情報処理装置２０００が処理を実行するタイミング＞
情報処理装置２０００が図５に示す一連の処理を実行するタイミングは様々である。例えば情報処理装置２０００は、カメラ１０によって撮像画像１２が生成される度に、その撮像画像１２を第１の撮像画像１２として扱って、図５に示す一連の処理を実行する。
【００５３】
その他にも例えば、情報処理装置２０００は、所定の時間間隔で（例えば１秒ごとに）、図５に示す一連の処理を実行する。この場合、例えば情報処理装置２０００は、図５に示す一連の処理を開始するタイミングで、カメラ１０によって生成された最新の撮像画像１２を取得する。
【００５４】
＜第１前景領域１３及び第２前景領域１４の取得：Ｓ１０２＞
判定部２０２０は、第１前景領域１３及び第２前景領域１４を取得する（Ｓ１０８）。前述したように、前景領域は、撮像画像１２と背景画像１１との差分をとることによって抽出される。よって、第１前景領域１３は、第１の撮像画像１２と背景画像１１との差分をとることによって抽出される。また、第２前景領域１４は、第２の撮像画像１２と背景画像１１との差分をとることによって抽出される。
【００５５】
第１前景領域１３と第２前景領域１４を撮像画像１２から抽出する処理は、情報処理装置２０００によって行われてもよいし、情報処理装置２０００以外の装置によって行われてもよい。前者の場合、判定部２０２０は、第１の撮像画像１２、第２の撮像画像１２、及び背景画像１１を取得する。そして判定部２０２０は、第１の撮像画像１２と背景画像１１を用いて第１前景領域１３を抽出し、第２の撮像画像１２と背景画像１１を用いて第２前景領域１４を抽出する。なお、或る画像と背景画像１１との差分をとることで前景領域を抽出する技術には、既存の技術を利用することができる。第１前景領域１３を抽出するために利用される背景画像１１と、第２前景領域１４を抽出するために利用される背景画像１１は、同じ画像であってもよいし、異なる画像であってもよい。
【００５６】
ここで、判定部２０２０が撮像画像１２を取得する方法は任意である。例えば判定部２０２０は、カメラ１０から送信される撮像画像１２を受信する。また例えば、判定部２０２０は、カメラ１０にアクセスし、カメラ１０に記憶されている撮像画像１２を取得する。
【００５７】
なお、カメラ１０は、カメラ１０の外部に設けられている記憶装置に撮像画像１２を記憶してもよい。この場合、判定部２０２０は、この記憶装置にアクセスして撮像画像１２を取得する。
【００５８】
情報処理装置２０００がカメラ１０で実現される場合、情報処理装置２０００は、情報処理装置２０００自身によって生成された撮像画像１２を取得する。この場合、撮像画像１２は、例えば情報処理装置２０００の内部にあるメモリ１０６０やストレージデバイス１０８０（図４参照）に記憶されている。そこで判定部２０２０は、メモリ１０６０やストレージデバイス１０８０から撮像画像１２を取得する。
【００５９】
＜背景画像１１について＞
前述したように、前景領域の抽出には背景画像１１が利用される。例えば背景画像１１には、カメラ１０によって生成される撮像画像１２の内の１つが用いられる。前景領域の抽出に用いる背景画像１１を決定する方法には、既存の技術を用いてもよい。背景画像１１を決定する方法の詳細については、後述の実施形態で説明する。
【００６０】
＜監視領域について＞
前景領域の抽出は、撮像画像１２内の全ての領域について行われてもよいし、撮像画像１２内の一部の領域について行われてもよい。後者の場合に、前景領域の抽出の対象とする領域を、監視領域と呼ぶ。撮像画像１２に監視領域を定めておく場合、判定部２０２０は、撮像画像１２の中の監視領域と背景画像１１の中の監視領域とを比較することで、前景領域の抽出を行う。
【００６１】
このように監視領域を設定することで、撮像画像１２に含まれる領域のうち、監視対象としたい領域以外の領域を画像処理の対象から除外することができる。よって、画像処理に要する計算コストを削減することができる。例えば商品棚から商品が盗まれたときに警告を出力したい場合、撮像画像１２に含まれる領域のうち、商品棚を表す領域を監視領域として設定しておく。こうすることで、撮像画像１２に含まれる領域のうち、監視対象としたい商品棚以外の領域を画像処理の対象から除外することができる。
【００６２】
撮像画像１２における監視領域の位置を定める方法は様々である。例えば、撮像画像１２における監視領域の位置は、予め撮像画像１２上の座標を用いて定めておく。例えば監視領域の形状が矩形である場合、監視領域の左上の頂点の座標、及び監視領域の右下の頂点の座標を定めておく。監視領域の形状がその他の多角形である場合、例えば、監視領域の各頂点の座標を定めておく。
【００６３】
その他にも例えば監視領域は、監視対象の実世界上の位置で定められていてもよい。この場合、情報処理装置２０００は、監視対象の実世界上の位置を撮像画像１２上の位置に変換する。実世界上の位置を撮像画像上の位置に変換する処理は、その撮像画像を生成したカメラのカメラパラメタ（設置位置、撮像方向、及び画角など）を使って実現できる。なお、カメラパラメタを使って実世界上の位置を撮像画像の位置に変換する処理には、既存の技術を利用することができる。
【００６４】
＜第１判定：Ｓ１１０＞
判定部２０２０は、第１前景領域１３と第２前景領域１４とを用いて第１判定を行う（Ｓ１１０）。具体的には、判定部２０２０は、第１前景領域１３と第２前景領域１４とを比較することにより、第１前景領域１３によって表される物体が移動しているか否かを判定する。この判定の具体的な方法は様々である。以下に、この判定方法を例示する。
【００６５】
＜＜判定方法の例１＞＞
判定部２０２０は、第１前景領域１３を第２前景領域１４と比較することで、第１前景領域１３のオプティカルフローを算出する。そして判定部２０２０は、第１前景領域１３のオプティカルフローの大きさが所定値以上である場合に、第１前景領域１３によって表される物体が移動していると判定する。一方、第１前景領域１３のオプティカルフローの大きさが所定値未満である場合、判定部２０２０は、第１前景領域１３によって表される物体が移動していないと判定する。第１前景領域１３のオプティカルフローの大きさは、例えば、第１前景領域１３のオプティカルフローを表す複数のベクトルの大きさの統計値（平均値、最頻値、最大値、又は最小値など）として算出することができる。
【００６６】
＜＜判定方法の例２＞＞
判定部２０２０は、第１前景領域１３と第２前景領域１４の距離を算出する。そして判定部２０２０は、算出した距離が所定値以上である場合に、第１前景領域１３によって表される物体が移動していると判定する。一方、算出した距離が所定値未満である場合、判定部２０２０は、第１前景領域１３によって表される物体が移動していないと判定する。第１前景領域１３と第２前景領域１４の距離は、例えば第１前景領域１３の中心と第２前景領域１４の中心の距離として定められる。
【００６７】
＜＜判定方法の例３＞＞
判定部２０２０は、第１前景領域１３と第２前景領域１４とが重なっている部分の面積を算出する。そして判定部２０２０は、算出した面積の大きさに基づいて、第１前景領域１３によって表される物体が移動しているか否かを判定する。例えば判定部２０２０は、算出した面積と第１前景領域１３の面積との比が所定値以下である場合に、第１前景領域１３によって表される物体が移動していると判定する。一方、算出した面積と第１前景領域１３の面積との比が所定値より大きい場合、判定部２０２０は、第１前景領域１３によって表される物体が移動していないと判定する。ここで、判定部２０２０は、算出した面積と第１前景領域１３の面積との比の代わりに、算出した面積と第２前景領域１４の面積との比を用いてもよい。
【００６８】
なお、判定に用いる上記各所定値は、予め判定部２０２０に設定されていてもよいし、判定部２０２０からアクセス可能な記憶装置に記憶されていてもよい。
【００６９】
＜第２判定：Ｓ１１２、Ｓ１１４＞
判定部２０２０は、第１前景領域１３が表す物体についての履歴情報を取得し（Ｓ１１２）、その履歴情報を用いて第２判定を行う（Ｓ１１４）。具体的には、判定部２０２０は、履歴情報を用いて、第１前景領域１３によって表される物体が過去に（第１の撮像画像１２が生成された時点よりも前に）移動していたか否かを判定する。
【００７０】
或る物体の履歴情報は、その物体の過去の時点（第１の撮像画像１２が生成された時点よりも前の時点）についての情報を示す。例えば、第１前景領域１３が表す物体について取得される履歴情報は、第１の撮像画像１２が生成された時点よりも前におけるその物体の情報を示す。或る物体の履歴情報は、例えば、その物体を表す前景領域が含まれる複数の撮像画像１２を解析することで得られる。履歴情報の生成方法についての詳細は後述する。
【００７１】
履歴情報が示す具体的な情報は様々である。例えば或る物体の履歴情報は、複数の撮像画像１２それぞれから抽出されたその物体を表す前景領域について算出された、オプティカルフローの履歴を表す。この場合、例えば判定部２０２０は、履歴情報によって示されるオプティカルフローの履歴を積算することで積算値を算出し、その積算値が所定値以上であるか否かを判定することにより、第２判定を行う。オプティカルフローの積算値が所定値以上である場合、判定部２０２０は、第１の撮像画像１２が生成された時点よりも前において、第１前景領域１３によって表される物体が移動していたと判定する（Ｓ１１４：ＹＥＳ）。一方、オプティカルフローの積算値が所定値未満である場合、判定部２０２０は、第１の撮像画像１２が生成された時点よりも前において、第１前景領域１３によって表される物体が移動していなかったと判定する（Ｓ１１４：ＮＯ）。
【００７２】
その他にも例えば、或る物体の履歴情報は、複数の撮像画像１２それぞれから抽出されたその物体を表す前景領域を用いて行われた、その物体が移動物体であるか否かの推測の結果を示す。履歴情報によって「物体は移動物体である」という推測結果が示される場合、判定部２０２０は、第１の撮像画像１２が生成された時点よりも前において、第１前景領域１３によって表される物体が移動していたと判定する（Ｓ１１４：ＹＥＳ）。一方、履歴情報によって「物体は移動物体でない」という推測結果が示される場合、判定部２０２０は、第１の撮像画像１２が生成された時点よりも前において、第１前景領域１３によって表される物体が移動していなかったと判定する（Ｓ１１４：ＹＥＳ）。
【００７３】
＜履歴情報の生成方法＞
以下、履歴情報の生成方法について説明する。履歴情報を生成する機能構成部を生成部２０６０と呼ぶ。図６は、生成部２０６０を有する情報処理装置２０００を例示するブロック図である。
【００７４】
履歴情報がオプティカルフローの履歴を示す場合、例えば生成部２０６０は、判定部２０２０による第１判定の過程で算出されるオプティカルフローを利用する。即ち、判定部２０２０が第１前景領域１３と第２前景領域１４とを用いて第１前景領域１３によって表される物体のオプティカルフローを算出したら、生成部２０６０は、その算出されたオプティカルフローを、その物体の履歴情報に入れる。
【００７５】
履歴情報が、移動物体であるか否かの推測結果を示す場合、その履歴情報は例えば以下のように生成される。まず生成部２０６０は、複数の撮像画像１２それぞれから抽出される、互いに同一の物体を表す前景領域について、その前景領域が表す物体が移動しているか否かを判定する。そして生成部２０６０は、これら各前景領域についての判定結果に基づいて、これらの前景領域によって表される物体が移動物体であるか否かを判定する。そして生成部２０６０は、この判定結果を、履歴情報が示す推測結果とする。
【００７６】
以下、生成部２０６０によって実行される処理の流れの具体例を２つ示す。
【００７７】
＜＜第１の例＞＞
図７は、生成部２０６０によって実行される処理の第１例の流れを例示するフローチャートである。図７の処理は、カメラ１０によってｉ番目に生成された撮像画像１２（以下、撮像画像１２−ｉ）が処理される流れを表している
【００７８】
生成部２０６０は、撮像画像１２−ｉから前景領域を抽出する（Ｓ２０２）。ここで抽出される前景領域によって表される物体を物体Ｘとおく。
【００７９】
生成部２０６０は、物体Ｘの履歴情報が既に生成されているか否かを判定する（Ｓ２０４）。以下、物体Ｘの履歴情報を history[x] と表記する。また、物体Ｘの履歴情報は、物体Ｘの種類を表す history[x].type、物体Ｘが移動していると判定された回数を表す history[x].move、及び物体Ｘが移動していないと判定された回数を表す history[x].still という３つの属性を含むとする。
【００８０】
type には、物体の種類がまだ判定されていないことを表す定数 UNKNWON、物体の種類が移動物体であると判定されていることを表す定数 MOVING、物体の種類が静止物体であると判定されていることを表す定数 STILL、物体の種類が不明であると判別されていることを表す定数 PENDING のいずれか１つが設定されるとする。この type の値が、履歴情報が示す推測結果となる。例えば、MOVING という type の値は、「前景領域は移動物体を表す」という推測結果を意味する。また、STILL という type の値は、「前景領域は移動物体を表さない」という推測結果を意味する
【００８１】
物体Ｘの履歴情報が既に生成されている場合（Ｓ２０４：ＹＥＳ）、生成部２０６０は、履歴記憶部２０から物体Ｘの履歴情報を読み出す。一方、まだ物体Ｘの履歴情報がまだ生成されていない場合（Ｓ２０４：ＮＯ）、生成部２０６０は、物体Ｘの履歴情報を生成する（Ｓ２０６）。この際、type は UNKOWN に初期化される。また、move と still はいずれも０に初期化される。そして、図７の処理はＳ２０８に進む。
【００８２】
生成部２０６０は、撮像画像１２−ｉにおいて物体Ｘが移動しているか否かを判定する（Ｓ２０８）。この判定の方法は、例えば、第１前景領域１３及び第２前景領域１４を比較することで、第１前景領域１３によって表される物体が移動しているか否かを判定する方法と同様である。この場合、例えば生成部２０６０は、撮像画像１２−ｉから抽出される前景領域と、撮像画像１２−［ｉ−１］から抽出される前景領域とを比較することで、撮像画像１２−ｉから抽出された前景領域によって表される物体Ｘが移動しているか否かを判定する。
【００８３】
物体Ｘが移動していると判定された場合（Ｓ２０８：ＹＥＳ）、生成部２０６０は、hisotry[X].move に１を加算する（Ｓ２１０）。一方、物体Ｘが移動していないと判定された場合（Ｓ２０８：ＮＯ）、生成部２０６０は、history[x].still に１を加算する（Ｓ２１２）。
【００８４】
生成部２０６０は、これまでに撮像画像１２から物体Ｘを表す前景領域が抽出された回数（history[x].move + history[x].still）が所定値Ｎ以上であるか否かを判定する（Ｓ２１４）。所定値Ｎは、物体Ｘが移動物体であるか否かの推測に最低限必要な、物体Ｘが含まれる撮像画像１２の数を表している。撮像画像１２から物体Ｘを表す前景領域が抽出された回数がＮ未満である場合（Ｓ２１４：ＮＯ）、図７の処理は終了する。この場合、物体Ｘの履歴情報の type は UNKOWN となる。
【００８５】
撮像画像１２から物体Ｘを表す前景領域が抽出された回数がＮ以上である場合（Ｓ２１４：ＹＥＳ）、生成部２０６０は、物体Ｘが移動していると判定された回数（history[x].move）と、物体Ｘが移動していないと判定された回数（history[x].still）を比較する。移動していると判定された回数の方が多い場合（history[x].move>history[x].still）、生成部２０６０は、物体Ｘの履歴情報の type に MOVING を設定する（Ｓ２１８）。つまり、「前景領域は移動物体を表す」という推測結果が履歴情報に設定される。
【００８６】
移動していないと判定された回数の方が多い場合（history[x].move<history[x].still）、生成部２０６０は、物体Ｘの履歴情報の type に STILL を設定する（Ｓ２２０）。つまり、「前景領域は移動物体を表さない」という推測結果が履歴情報に設定される。
【００８７】
移動していると判定された回数と、移動していないと判定された回数とが同じ場合（history[x].move==history[x].still）、生成部２０６０は、物体Ｘの履歴情報の type に PENDING を設定する（Ｓ２２２）。
【００８８】
なお、図７に示す処理は、履歴情報の生成方法の一例であり、履歴情報の生成方法は図７に示す処理に限定されない。
【００８９】
生成部２０６０は、生成又は更新した履歴情報を履歴記憶部２０に記憶させる。履歴記憶部２０には、任意の記憶装置を利用できる。また、履歴記憶部２０は、情報処理装置２０００の内部に設けられていてもよいし、情報処理装置２０００の外部に設けられていてもよい。
【００９０】
＜＜第２の例＞＞
図８及び９は、生成部２０６０によって実行される処理の第２例の流れを例示するフローチャートである。図８及び９は、図７と同様に、撮像画像１２−ｉが処理される流れを表している。
【００９１】
生成部２０６０は、撮像画像１２−ｉから前景領域を抽出する（Ｓ３０２）。ここで抽出される前景領域によって表される物体を物体Ｘとおく。生成部２０６０は、物体Ｘの履歴情報（以下、history[x]）が既に生成されているか否かを判定する（Ｓ３０４）。
【００９２】
物体Ｘの履歴情報が既に生成されている場合（Ｓ３０４：ＹＥＳ）、生成部２０６０は、履歴記憶部２０から物体Ｘの履歴情報を読み出す（Ｓ３０６）。一方、まだ物体Ｘの履歴情報がまだ生成されていない場合（Ｓ３０４：ＮＯ）、生成部２０６０は、物体Ｘの履歴情報を生成する（Ｓ３０５）。
【００９３】
図８及び９のケースにおける履歴情報は、type という要素に加え、T 及び count という要素を含む。T は、物体Ｘが抽出された撮像画像１２の数をカウントするための変数である。count は、物体Ｘの状態が連続して PENDING と判定された回数をカウントするための変数である。
【００９４】
生成部２０６０は、撮像画像１２−ｉにおける物体Ｘの移動の大きさ flow を算出する（Ｓ３０８）。例えば生成部２０６０は、撮像画像１２−ｉにおいて物体Ｘを表す前景領域、及び撮像画像１２−［ｉ−１］において物体Ｘを表す前景領域を用いて、物体Ｘのオプティカルフローを算出する。そして生成部２０６０は、このオプティカルフローの大きさを、flow の値とする。
【００９５】
生成部２０６０は、history[x].T が定数 Nst 以上であるか否かを判定する（Ｓ３１０）。history[x].T が Nst 以上でない場合（Ｓ３１０：ＮＯ）、生成部２０６０は hisotry[x].T に１を加算して（Ｓ３１２）、図８の処理を終了する。
【００９６】
history[x].T が Nst 以上である場合（Ｓ３１０：ＹＥＳ）、図８の処理は history[x].type の値に基づいて分岐する（Ｓ３１３）。history[x].type が MOVING である場合（Ｓ３１３：MOVING）、図８の処理はＳ３１４に進む。history[x].type が STILL である場合（Ｓ３１３：STILL）、図８の処理はＳ３２０に進む。history[x].type が PENDING である場合（Ｓ３１３：PENDING）、図８の処理はＳ３２４に進む。history[x].type が UNKNWON である場合（Ｓ３１３：UNKNWON）、図８の処理はＳ３３２に進む。
【００９７】
上記分岐の後に続く各処理については、図９に示されている。以下、図９について説明する。
【００９８】
Ｓ３１３において history[x].type が MOVING である場合、生成部２０６０は、物体Ｘの移動の大きさが定数 Th2 未満であるか否かを判定する（Ｓ３１４）。物体Ｘの移動の大きさが Th2 未満である場合（Ｓ３１４：ＹＥＳ）、生成部２０６０は、history[x].type に PENDING を設定し、なおかつ history[x].count に０を設定する（Ｓ３１６）。その後、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【００９９】
物体Ｘの移動の大きさが Th2 未満でない場合（Ｓ３１４：ＮＯ）、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【０１００】
Ｓ３１３において history[x].type が STILL である場合、生成部２０６０は、物体Ｘの移動の大きさが定数 Th1 未満であるか否かを判定する（Ｓ３２０）。物体Ｘの移動の大きさが Th1 未満である場合（Ｓ３２０：ＹＥＳ）、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。一方、物体Ｘの移動の大きさが Th1 未満でない場合（Ｓ３２０：ＮＯ）、生成部２０６０は、history[x].type に MOVING を設定し、なおかつ history[x].count に０を設定する（Ｓ３２２）。その後、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【０１０１】
Ｓ３１３において history[x].type が PENDING である場合、生成部２０６０は、物体Ｘの移動の大きさが Th2 未満であるか否かを判定する（Ｓ３２４）。物体Ｘの移動の大きさが定数 Th2 未満である場合（Ｓ３２４：ＹＥＳ）、生成部２０６０は、history[x].count が定数 Ntr 未満であるか否かを判定する（Ｓ３２８）。
【０１０２】
history[x].count が Ntr 未満である場合（Ｓ３２８：ＹＥＳ）、生成部２０６０は、history[x].type に STILL を設定し、なおかつ history[x].count に０を設定する（Ｓ３３０）。その後、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。一方、history[x].count が Ntr 未満でない場合（Ｓ３２８：ＮＯ）、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【０１０３】
Ｓ３２４において、物体Ｘの移動の大きさが Th2 未満でない場合（Ｓ３２４：ＮＯ）、生成部２０６０は、history[x].type に MOVING を設定し、なおかつ history[x].count に０を設定する（Ｓ３２６）。その後、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【０１０４】
Ｓ３１３において history[x].type が UNKNWON である場合、生成部２０６０は、物体Ｘの移動の大きさが Th2 未満であるか否かを判定する（Ｓ３３２）。物体Ｘの移動の大きさが Th2 未満である場合（Ｓ３３２：ＹＥＳ）、生成部２０６０は、history[x].type に STILL を設定し、なおかつ history[x].count に０を設定する（Ｓ３３６）。その後、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【０１０５】
一方、Ｓ３３２において物体Ｘの移動の大きさが Th2 未満でない場合（Ｓ３３２：ＮＯ）、生成部２０６０は、history[x].type に MOVING を設定し、なおかつ history[x].count に０を設定する（Ｓ３３４）。その後、生成部２０６０は、history[x].count に１を加算して（Ｓ３１８）、図９の処理を終了する。
【０１０６】
＜＜前景領域の同定について＞＞
撮像画像１２から抽出した前景領域が表す物体について履歴情報の生成や取得を行うためには、複数の撮像画像１２それぞれから抽出された互いに同一の物体を表す前景領域を特定する必要がある。以下、同一の物体を表す前景領域を特定することを、「前景領域の同定」とも呼ぶ。前景領域の同定には、既存の種々の技術を利用することができる。
【０１０７】
例えば情報処理装置２０００は、時系列で生成される複数の撮像画像１２から抽出される前景領域についてトラッキングを行うことで、前景領域の同定を行う。そして、同一の物体を表す前景領域に対して共通のＩＤ（Identifier：識別子）を割り当てる。このＩＤを物体ＩＤと呼ぶ。或る物体の履歴情報には、その物体の物体ＩＤを対応づける。
【０１０８】
判定部２０２０は、例えばトラッキングの情報などを用いた前景領域の同定を行うことで、第１の撮像画像１２から抽出された第１前景領域１３が表す物体の物体ＩＤを特定する。そして、判定部２０２０は、その物体ＩＤに対応づけられている履歴情報を履歴記憶部２０から取得する。生成部２０６０が履歴情報の取得や生成を行う時にも同様にして、撮像画像１２から抽出された前景領域が表す物体の物体ＩＤを特定する。
【０１０９】
＜警告の出力：Ｓ１０４＞
第１前景領域１３によって表される物体が移動物体でないと判定された場合（Ｓ１０２：ＮＯ）、警告部２０４０は警告を出力する（Ｓ１０４）。ここで、警告部２０４０が警告を出力する方法は様々である。例えば警告部２０４０は、情報処理装置２０００に接続されている出力装置から、警告を出力する。出力装置は、例えばディスプレイ装置やスピーカなどである。
【０１１０】
図１０は、ディスプレイ装置に表示される警告画面３０を例示する図である。警告画面３０には、第１前景領域１３が移動物体を表していないと判定された第１の撮像画像１２が表示されている。領域３６は、移動物体を表していないと判定された第１前景領域１３を表す。情報３２は、警告メッセージを示す。情報３４は、第１前景領域１３が移動物体を表していないと判定された第１の撮像画像１２に関する情報を示す。具体的には、情報３４には、この第１の撮像画像１２の生成時点、この第１の撮像画像１２を生成したカメラ１０の識別子、及びそのカメラ１０によって監視されている場所が示されている。
【０１１１】
警告画面３０を見ることで、店員や監視員等は、（１）盗難が起こった可能性があること、及び（２）いつ、どこで、何が移動したかを容易に把握することができる。
【０１１２】
警告部２０４０から出力される警告は、１つ以上の携帯端末に出力されてもよい。例えばこの携帯端末は、店舗の店員や警備員などが所持する携帯端末である。警告部２０４０から出力された警告を取得した携帯端末は、その携帯端末のディスプレイ装置やスピーカから警告を出力する。例えば携帯端末のディスプレイ装置には、図１０と同様の警告画面が出力される。
【０１１３】
警告部２０４０によって出力される警告には、第１前景領域１３によって表される静止物体を移動させたと推測される移動物体（人など）を特定する情報が含まれてもよい。例えば情報処理装置２０００は、「第１前景領域１３が移動物体を表さない」と判定された撮像画像１２から抽出される第１前景領域１３以外の前景領域であって、第１前景領域１３との距離が最も近く、なおかつ移動物体を表す前景領域を、第１前景領域１３によって表される静止物体を移動させたと推測される移動物体として特定する。この移動物体を特定する情報は、例えば、その物体に割り当てられた物体ＩＤや、その移動物体を表す前景領域を表す画像である。こうすることで、盗難などが発生した場合に、犯人である蓋然性が高い人物を容易に把握することができる。
【０１１４】
警告部２０４０は、「第１前景領域１３は移動物体を表さない」という判定が複数回行われたことに応じて警告を出力してもよい。より具体的には、同一の物体を表す第１前景領域１３が抽出される複数の撮像画像１２をそれぞれ第１の撮像画像１２として扱って判定部２０２０による処理が行われ、「第１前景領域１３は移動物体を表さない」という判定結果が複数回得られた場合に、警告部２０４０が警告を出力する。
【０１１５】
［実施形態２］
図１１は、実施形態２の情報処理装置２０００を例示するブロック図である。下記で説明する事項を除き、実施形態２の情報処理装置２０００は、実施形態１の情報処理装置２０００と同様の機能を有する。
【０１１６】
実施形態２の情報処理装置２０００は決定部２０８０を有する。決定部２０８０は、背景画像１１の決定を行う。そして、決定部２０８０は、決定した背景画像１１を特定する情報を背景記憶部４０に記憶させる。
【０１１７】
背景記憶部４０に記憶させる情報は、背景画像１１を特定できる任意の情報である。例えば決定部２０８０は、背景画像１１の画像データそのものを背景記憶部４０に記憶させる。その他にも例えば、決定部２０８０は、背景記憶部４０が記憶されている場所を表すパス名を背景記憶部４０に記憶させてもよい。
【０１１８】
以下、実施形態２の決定部２０８０によって背景画像１１が決定される方法を説明する。
【０１１９】
＜背景画像１１の初期化＞
まず決定部２０８０は、所定のタイミングで、背景画像１１の初期化を行う。所定のタイミングは、例えば、情報処理装置２０００の電源が投入されて、情報処理装置２０００が種々の初期設定を行うタイミングである。その他にも例えば、決定部２０８０は、１日に１回、決められた時間に背景画像１１を初期化してもよい。また、決定部２０８０は、ユーザ操作に応じて背景画像１１を初期化してもよい。以下、初期化によって設定される背景画像１１を、初期背景画像と呼ぶ。
【０１２０】
初期背景画像として用いる画像は任意である。例えば決定部２０８０は、上記所定のタイミングでカメラ１０によって生成された撮像画像１２を、初期背景画像とする。その他にも例えば、決定部２０８０は、初期背景画像として扱う画像の指定をユーザから受け付けてもよい。
【０１２１】
＜背景画像１１の更新＞
決定部２０８０は、背景画像１１の初期化を行った後、所定の方法で背景画像１１を更新する。以下、背景画像１１の更新方法について、いくつか例示する。
【０１２２】
＜＜更新方法の例１＞＞
決定部２０８０は、所定の時間間隔で背景画像１１を更新する。図１２は、所定の時間間隔で背景画像１１が更新されるケースを例示する図である。図１２において、所定の時間間隔は p である。また、Ts は背景画像１１が初期化された時点である。そのため、背景画像１１は、時点 Ts+p、及び Ts+2p のそれぞれで更新されている。
【０１２３】
例えば決定部２０８０は、更新を行う時点における最新の撮像画像１２で、背景画像１１を更新する。図１２では、時点 Ts+p において生成された撮像画像１２−４が、新たな背景画像１１−２となっている。また、時点 Ts+2p において生成された撮像画像１２−７が、新たな背景画像１１−３となっている。
【０１２４】
＜＜更新方法の例２＞＞
決定部２０８０は、第１前景領域１３が移動物体を表さないと判定された撮像画像１２の生成時点以降に生成された撮像画像１２によって背景画像１１を更新する。前述したように、第１前景領域１３が移動物体を表さない場合、静止物体が動かされた（例えば商品が盗難にあった）と考えられる。つまり、移動物体を表さない第１前景領域１３が抽出されることは、背景が変わったことを意味する。そこで決定部２０８０は、背景画像１１の更新を行う。
【０１２５】
図１３は、第１前景領域１３が移動物体を表さないと判定された撮像画像１２の生成時点以降に生成された撮像画像１２によって背景画像１１を更新する方法を例示する図である。図１３では、時点 Ta に生成された撮像画像１２−２を第１の撮像画像として扱って情報処理装置２０００が処理を行ったことにより、「第１前景領域１３は移動物体を表さない」という判定が行われている。そこで決定部２０８０は、時点 Ta 以降に生成された撮像画像１２で背景画像１１を更新する。
【０１２６】
第１前景領域１３が移動物体を表さないと判定された撮像画像１２の生成時点以降に生成された撮像画像１２のうち、どの撮像画像１２を背景画像１１として扱うかは任意である。例えば決定部２０８０は、第１前景領域１３が移動物体を表さないと判定された撮像画像１２を背景画像１１として扱う。その他にも例えば、決定部２０８０は、第１前景領域１３が移動物体を表さないと判定された撮像画像１２よりも所定時間後又は所定フレーム後に生成された撮像画像１２を、背景画像１１として扱う。
【０１２７】
ただし、決定部２０８０は、移動物体が含まれない撮像画像１２を背景画像１１にすることが好ましい。なぜなら、移動物体は一時的にカメラ１０の撮像範囲に含まれているだけであり、しばらく後にカメラ１０の撮像範囲に含まれなくなる蓋然性が高いためである。なお前述したとおり、第１前景領域１３が移動物体を表していない場合、第１前景領域１３によって表される物体は、移動された静止物体であると考えられる。そのため、第１前景領域１３が移動物体を表していないと判定された撮像画像１２や、その撮像画像１２と近いタイミングで生成された撮像画像１２には、その静止物体を動かした移動物体（例えば人）が含まれる蓋然性が高い。背景画像１１として扱う撮像画像１２は、少なくとも、その移動物体がカメラ１０の撮像範囲から出た後に生成された撮像画像１２であることが好ましい。
【０１２８】
そこで決定部２０８０は、第１前景領域１３が移動物体を表さないと判定された場合、その第１前景領域１３が抽出された撮像画像１２よりも後に撮像され、なおかつ第１前景領域１３以外の前景領域が抽出されない撮像画像１２に、背景画像１１を更新してもよい。こうすることで、背景画像１１に移動物体が含まれないようにすることができる。
【０１２９】
第１前景領域１３以外の前景領域が抽出されない撮像画像１２を特定する処理は、例えば生成部２０６０を利用して実現することができる。生成部２０６０は、複数の撮像画像１２から順次前景領域を抽出し、各前景領域によって表される物体について履歴情報の生成や更新を行う。そこで、移動物体を表さないと判定された第１前景領域１３が抽出された撮像画像１２よりも後に生成された各撮像画像１２について生成部２０６０が順次処理を行っていく中で、その第１前景領域１３以外の前景領域が撮像画像１２から抽出されなくなったら、そのことを決定部２０８０が把握できるようにする。ただし決定部２０８０は、各撮像画像１２から前景領域の抽出を行う処理を自ら行うことで、第１前景領域１３以外の前景領域が抽出されない撮像画像１２を特定してもよい。
【０１３０】
背景画像１１を更新する方法は、前述の例に限定されない。例えば決定部２０８０は、前述した例１の方法と例２の方法を組み合わせて、背景画像１１の更新を行ってもよい。具体的には、決定部２０８０は、例１に示したように、所定時間ごとに背景画像１１の更新を行う。さらに決定部２０８０は、この所定時間の間に、判定部２０２０によって「第１前景領域１３が移動物体を表していない」という判定が行われたら、その判定に応じて背景画像１１の更新を行う。
【０１３１】
＜ハードウエア構成の例＞
実施形態２の情報処理装置２０００を実現する計算機のハードウエア構成は、実施形態１と同様に、例えば図３によって表される。ただし、本実施形態の情報処理装置２０００を実現する計算機１０００のストレージデバイス１０８０には、本実施形態の情報処理装置２０００の機能を実現するプログラムモジュールがさらに記憶される。
【０１３２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【０１３３】
例えば第１前景領域１３として撮像画像１２から抽出される静止物体には、カメラ１０の撮像範囲外からカメラ１０の撮像範囲内に移動された後に放置された物体も含まれうる。例えば、人が鞄を持ってきてカメラ１０の撮像範囲内に放置すると、その鞄は背景画像１１には含まれていないため、前景領域として抽出される。情報処理装置２０００によれば、第１前景領域１３がこのような静止物体を表す場合にも警告が出力される。よって、物が放置されたことを情報処理装置２０００のユーザが容易に把握できる。これによれば、例えば危険物の放置などを容易に検出することができる。
【０１３４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  カメラによって生成された第１撮像画像から抽出された第１前景領域が移動物体を表しているか否かを判定する判定手段と、
前記第１前景領域は移動物体を表さないと判定された場合に警告を出力する警告手段と、を有し、
前記判定手段は、
前記第１撮像画像よりも前に前記カメラによって生成された第２撮像画像から抽出された前景領域であって前記第１前景領域と同一の物体を表す第２前景領域と前記第１前景領域とを比較することで、前記第１前景領域によって表される物体が移動しているか否かを判定する第１判定を行い、
前記第１前景領域が表す物体に関して前記第１撮像画像が生成された時点よりも前の時点における情報を表す履歴情報を取得し、前記取得された履歴情報に基づいて、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動しているか否かを判定する第２判定を行い、
前記第１判定と前記第２判定の双方において、前記第１前景領域によって表される物体が移動していないと判定された場合に、前記第１前景領域は移動物体を表さないと判定する、情報処理装置。
２．  前記履歴情報は、前記第１撮像画像よりも前に前記カメラによって生成された撮像画像から抽出された、前記第１前景領域と同一の物体を表す前景領域のオプティカルフローを示す、１．に記載の情報処理装置。
３．  前記判定手段は、前記第２判定において、前記取得した履歴情報に示されるオプティカルフローの積算値が所定値未満である場合に、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動していないと判定する、２．に記載の情報処理装置。
４．  前記履歴情報は、前記第１撮像画像よりも前に前記カメラによって生成された撮像画像を用いて行われた、前記前景領域が移動物体を表すか否かの推測結果を示し、
前記判定手段は、前記第２判定において、前記前景領域が移動物体を表さないという推測結果を示す履歴情報が取得された場合に、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動していないと判定する、１．に記載の情報処理装置。
５．  前記第１前景領域が移動物体を表さないと判定された場合、その後に撮像画像から前景領域を抽出する処理に用いる背景画像を、前記第１撮像画像の生成時点以降に前記カメラによって生成された撮像画像に変更する決定手段を有する、１．乃至４．いずれか一つに記載の情報処理装置。
６．  前記決定手段は、前記背景画像を、前記第１撮像画像の生成時点以降に前記カメラによって生成され、なおかつ前記第１前景領域以外の前景領域が抽出されない撮像画像に変更する、５．に記載の情報処理装置。
７．  コンピュータによって実行される制御方法であって、
カメラによって生成された第１撮像画像から抽出された第１前景領域が移動物体を表しているか否かを判定する判定ステップと、
前記第１前景領域は移動物体を表さないと判定された場合に警告を出力する警告ステップと、を有し、
前記判定ステップにおいて、
前記第１撮像画像よりも前に前記カメラによって生成された第２撮像画像から抽出された前景領域であって前記第１前景領域と同一の物体を表す第２前景領域と前記第１前景領域とを比較することで、前記第１前景領域によって表される物体が移動しているか否かを判定する第１判定を行い、
前記第１前景領域が表す物体に関して前記第１撮像画像が生成された時点よりも前の時点における情報を表す履歴情報を取得し、前記取得された履歴情報に基づいて、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動しているか否かを判定する第２判定を行い、
前記第１判定と前記第２判定の双方において、前記第１前景領域によって表される物体が移動していないと判定された場合に、前記第１前景領域は移動物体を表さないと判定する、制御方法。
８．  前記履歴情報は、前記第１撮像画像よりも前に前記カメラによって生成された撮像画像から抽出された、前記第１前景領域と同一の物体を表す前景領域のオプティカルフローを示す、７．に記載の制御方法。
９．  前記判定ステップにおいて、前記第２判定において、前記取得した履歴情報に示されるオプティカルフローの積算値が所定値未満である場合に、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動していないと判定する、８．に記載の制御方法。
１０．  前記履歴情報は、前記第１撮像画像よりも前に前記カメラによって生成された撮像画像を用いて行われた、前記前景領域が移動物体を表すか否かの推測結果を示し、
前記判定ステップにおいて、前記第２判定において、前記前景領域が移動物体を表さないという推測結果を示す履歴情報が取得された場合に、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動していないと判定する、７．に記載の制御方法。
１１．  前記第１前景領域が移動物体を表さないと判定された場合、その後に撮像画像から前景領域を抽出する処理に用いる背景画像を、前記第１撮像画像の生成時点以降に前記カメラによって生成された撮像画像に変更する決定ステップを有する、７．乃至１０．いずれか一つに記載の制御方法。
１２．  前記決定ステップは、前記背景画像を、前記第１撮像画像の生成時点以降に前記カメラによって生成され、なおかつ前記第１前景領域以外の前景領域が抽出されない撮像画像に変更する、１１．に記載の制御方法。
１３．  ７．乃至１２．いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【図１】
2018109879.tif 000003
【図２】
2018109879.tif 000004
【図３】
2018109879.tif 000005
【図４】
2018109879.tif 000006
【図５】
2018109879.tif 000007
【図６】
2018109879.tif 000008
【図７】
2018109879.tif 000009
【図８】
2018109879.tif 000010
【図９】
2018109879.tif 000011
【図１０】
2018109879.tif 000012
【図１１】
2018109879.tif 000013
【図１２】
2018109879.tif 000014
【図１３】
2018109879.tif 000015
【手続補正書】
【提出日】令和1年6月13日(2019.6.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
カメラによって生成された第１撮像画像から抽出された第１前景領域が移動物体を表しているか否かを判定する判定手段と、
前記第１前景領域は移動物体を表さないと判定された場合に警告を出力する警告手段と、を有し、
前記判定手段は、
前記第１撮像画像よりも前に前記カメラによって生成された第２撮像画像から抽出された前景領域であって前記第１前景領域と同一の物体を表す第２前景領域と前記第１前景領域とを比較することで、前記第１前景領域によって表される物体が移動しているか否かを判定する第１判定を行い、
前記第１前景領域が表す物体に関して前記第１撮像画像が生成された時点よりも前の時点における情報を表す履歴情報を取得し、前記取得された履歴情報に基づいて、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動しているか否かを判定する第２判定を行い、
前記第１判定と前記第２判定の双方において、前記第１前景領域によって表される物体が移動していないと判定された場合に、前記第１前景領域は移動物体を表さないと判定する、情報処理装置。
【請求項２】
前記履歴情報は、前記第１撮像画像よりも前に前記カメラによって生成された撮像画像から抽出された、前記第１前景領域と同一の物体を表す前景領域のオプティカルフローを示す、請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記第２判定において、前記取得した履歴情報に示されるオプティカルフローの積算値が所定値未満である場合に、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動していないと判定する、請求項２に記載の情報処理装置。
【請求項４】
前記履歴情報は、前記第１撮像画像よりも前に前記カメラによって生成された撮像画像を用いて行われた、前記前景領域が移動物体を表すか否かの推測結果を示し、
前記判定手段は、前記第２判定において、前記前景領域が移動物体を表さないという推測結果を示す履歴情報が取得された場合に、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動していないと判定する、請求項１に記載の情報処理装置。
【請求項５】
前記第１前景領域が移動物体を表さないと判定された場合、その後に撮像画像から前景領域を抽出する処理に用いる背景画像を、前記第１撮像画像の生成時点以降に前記カメラによって生成された撮像画像に変更する決定手段を有する、請求項１乃至４いずれか一項に記載の情報処理装置。
【請求項６】
前記決定手段は、前記背景画像を、前記第１撮像画像の生成時点以降に前記カメラによって生成され、なおかつ前記第１前景領域以外の前景領域が抽出されない撮像画像に変更する、請求項５に記載の情報処理装置。
【請求項７】
コンピュータによって実行される制御方法であって、
カメラによって生成された第１撮像画像から抽出された第１前景領域が移動物体を表しているか否かを判定する判定ステップと、
前記第１前景領域は移動物体を表さないと判定された場合に警告を出力する警告ステップと、を有し、
前記判定ステップにおいて、
前記第１撮像画像よりも前に前記カメラによって生成された第２撮像画像から抽出された前景領域であって前記第１前景領域と同一の物体を表す第２前景領域と前記第１前景領域とを比較することで、前記第１前景領域によって表される物体が移動しているか否かを判定する第１判定を行い、
前記第１前景領域が表す物体に関して前記第１撮像画像が生成された時点よりも前の時点における情報を表す履歴情報を取得し、前記取得された履歴情報に基づいて、前記第１撮像画像が生成されるよりも前の時点において、前記第１前景領域によって表される物体が移動しているか否かを判定する第２判定を行い、
前記第１判定と前記第２判定の双方において、前記第１前景領域によって表される物体が移動していないと判定された場合に、前記第１前景領域は移動物体を表さないと判定する、制御方法。
【請求項８】
請求項７に記載の制御方法の各ステップをコンピュータに実行させるプログラム。
【国際調査報告】
2018109879.tif 000016
2018109879.tif 000017
2018109879.tif 000018
2018109879.tif 000019