(57)【要約】【課題】対象物の位置の誤判定を低減すること。【解決手段】画像処理装置１００は、撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、次の処理を行う。画像処理装置１００は、撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで第１の対象物を探索する第１の範囲と、第２の対象物を探索する第２の範囲を特定する。画像処理装置１００は、次フレームで特定した第１の範囲と第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が所定値未満となるように、次フレームでの第１の範囲、及び／または第２の範囲を変更する。画像処理装置１００は、変更後の第１の範囲と第２の範囲を探索して、次フレームでの第１の対象物に対応する領域と第２の対象物に対応する領域を特定する。【選択図】図６
2018025988.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、前記撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで前記第１の対象物を探索する第１の範囲と、前記第２の対象物を探索する第２の範囲を特定し、
前記次フレームで特定した前記第１の範囲と前記第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が前記所定値未満となるように、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更し、
変更後の第１の範囲と第２の範囲を探索して、前記次フレームでの前記第１の対象物に対応する領域と前記第２の対象物に対応する領域を特定する
処理を実行させることを特徴とする画像処理プログラム。
【請求項２】
前記範囲を特定する処理は、前記過去フレームにおける前記第１の対象物の移動履歴を基にして、第１の速度ベクトルを算出することで、前記第１の範囲を特定し、前記過去フレームにおける前記第２の対象物の移動履歴を基にして、第２の速度ベクトルを算出することで、前記第２の範囲を特定することを特徴とする請求項１に記載の画像処理プログラム。
【請求項３】
前記範囲を変更する処理は、前記第１の速度ベクトルの方向を変更しつつ、前記第１の範囲と前記第２の範囲とが重なる面積を特定し、前記重なる面積が前記所定値未満となる条件を満たす範囲内で前記第１の速度ベクトルの方向の変更量が最小となる変更量を特定し、特定した変更量だけ前記第１の速度ベクトルの方向を変更することで、前記次フレームでの前記第１の範囲を変更することを特徴とする請求項２に記載の画像処理プログラム。
【請求項４】
前記範囲を変更する処理は、前記過去フレームに含まれる前記第１の対象物の第１の特徴と、前記第２の対象物の第２の特徴との類似度が閾値以上である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする請求項１、２または３に記載の画像処理プログラム。
【請求項５】
前記範囲を変更する処理は、前記第１の対象物の移動方向と、前記第２の対象物の移動方向とが略同一である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする請求項１〜４のいずれか一つに記載の画像処理プログラム。
【請求項６】
コンピュータが実行する画像処理方法であって、
撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、前記撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで前記第１の対象物を探索する第１の範囲と、前記第２の対象物を探索する第２の範囲を特定し、
前記次フレームで特定した前記第１の範囲と前記第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が前記所定値未満となるように、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更し、
変更後の第１の範囲と第２の範囲を探索して、前記次フレームでの前記第１の対象物に対応する領域と前記第２の対象物に対応する領域を特定する
処理を実行することを特徴とする画像処理方法。
【請求項７】
撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、前記撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで前記第１の対象物を探索する第１の範囲と、前記第２の対象物を探索する第２の範囲を特定する範囲特定部と、
前記次フレームで特定した前記第１の範囲と前記第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が前記所定値未満となるように、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更する変更部と、
変更後の第１の範囲と第２の範囲を探索して、前記次フレームでの前記第１の対象物に対応する領域と前記第２の対象物に対応する領域を特定する領域特定部と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理プログラム等に関する。
【背景技術】
【０００２】
近年、監視カメラは、監視目的の他に、マーケティングや交通量調査等、多くの用途で用いられる。例えば、ショッピングセンター等の監視カメラにより撮影された画像データに基づいて人物の移動経路を解析することで、人物が購入した商品などを推定し、マーケティングに役立てる。
【０００３】
例えば、従来技術では、パーティクルフィルタで推定した頭部候補に対して識別器による頭部判定をして、人物の頭部の位置決定を行う処理を繰り返し実行することで、同一人物を追跡する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１０８７９８号公報
【特許文献２】特開２００８−１１２２１０号公報
【特許文献３】特開２００４−９４５１８号公報
【特許文献４】特開２０１１−１８０６８４号公報
【特許文献５】特開２００８−２６９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、対象物の位置の誤判定を低減することができないという問題がある。
【０００６】
１つの側面では、本発明は、対象物の位置の誤判定を低減することができる画像処理プログラム、画像処理方法および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、画像処理プログラムは、コンピュータに下記の処理を実行させる。コンピュータは、撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、次の処理を行う。コンピュータは、撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで第１の対象物を探索する第１の範囲と、第２の対象物を探索する第２の範囲を特定する。コンピュータは、次フレームで特定した第１の範囲と第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が所定値未満となるように、次フレームでの第１の範囲、及び／または第２の範囲を変更する。コンピュータは、変更後の第１の範囲と第２の範囲を探索して、次フレームでの第１の対象物に対応する領域と第２の対象物に対応する領域を特定する。
【発明の効果】
【０００８】
対象物の位置の誤判定を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、人物の移動経路を判定する参考例を説明するための図（１）である。
【図２】図２は、人物の移動経路を判定する参考例を説明するための図（２）である。
【図３】図３は、参考例の問題点を説明するための図（１）である。
【図４】図４は、参考例の問題点を説明するための図（２）である。
【図５】図５は、本実施例に係る画像処理装置の処理を説明するための図である。
【図６】図６は、本実施例に係る画像処理装置の構成を示す機能ブロック図である。
【図７】図７は、画像テーブルのデータ構造の一例を示す図である。
【図８】図８は、追跡テーブルのデータ構造の一例を示す図である。
【図９】図９は、類似度算出部の処理を説明するための図である。
【図１０】図１０は、範囲特定部の処理を説明するための図（１）である。
【図１１】図１１は、範囲特定部の処理を説明するための図（２）である。
【図１２】図１２は、範囲特定部の処理を説明するための図（３）である。
【図１３】図１３は、変更部の処理を説明するための図（１）である。
【図１４】図１４は、変更部の処理を説明するための図（２）である。
【図１５】図１５は、領域特定部の処理を説明するための図である。
【図１６】図１６は、検出部の処理を説明するための図である。
【図１７】図１７は、本実施例に係る画像処理装置の処理手順を示すフローチャートである。
【図１８】図１８は、類似度算出処理の処理手順を示すフローチャートである。
【図１９】図１９は、位置推定処理の処理手順を示すフローチャートである。
【図２０】図２０は、領域算出処理の処理手順を示すフローチャートである。
【図２１】図２１は、位置決定処理の処理手順を示すフローチャートである。
【図２２】図２２は、人物追跡処理の処理手順を示すフローチャートである。
【図２３】図２３は、人物検出処理の処理手順を示すフローチャートである。
【図２４】図２４は、コンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する画像処理プログラム、画像処理方法および画像処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１１】
本実施例の説明を行う前に、人物の移動経路を判定する参考例について説明する。この参考例は従来技術ではない。参考例の画像処理装置は、位置予測処理を行った後に、追跡処理を実行する。
【００１２】
図１及び図２は、人物の移動経路を判定する参考例を説明するための図である。図１を用いて、参考例による位置予測処理について説明する。前提として、時刻ｔ１，ｔ２において、人物１Ａの位置が特定されているものとする。時刻ｔ１における人物１Ａの位置を（ｘ１，ｙ１）とし、時刻ｔ２における人物１Ａの位置を（ｘ２，ｙ２）とする。
【００１３】
参考例の画像処理装置は、人物１Ａが直線的に移動すると仮定して、時刻ｔ３における人物１Ａの位置（ｘ３，ｙ３）を予測する。図１に示す例では、画像処理装置は、位置（ｘ３、ｙ３）を含む範囲を探索範囲１Ｂとして設定する。
【００１４】
図２を用いて、参考例による追跡処理について説明する。前提として、図１の位置予測処理に基づき、探索範囲１Ｂが設定されているものとする。画像処理装置は、人物１Ａの特徴２Ａを記憶部から取得する。人物１Ａの特徴２Ａは、１つ前の画像データから検出した人物１Ａの特徴であり、例えば、時刻ｔ２における人物１Ａの特徴となる。
【００１５】
人物の特徴２Ａと探索範囲１Ｂとを比較して、人物１Ａの特徴２Ａと探索範囲１Ｂとの類似度が高い領域２Ｂを特定し、特定した領域２Ｂを時刻ｔ３における人物１Ａの領域として判定する。参考例による画像処理装置は、上記の位置予測処理、追跡処理を繰り返し実行することで、人物１Ａを追跡していく。
【００１６】
続いて、参考例の問題点について説明する。図３および図４は、参考例の問題点を説明するための図である。まず、図３について説明する。前提として、時刻ｔ１，ｔ２において、人物３Ａ，４Ａの位置が特定されているものとする。時刻ｔ１における人物３Ａの位置を（ｘ３１，ｙ３１）とし、時刻ｔ２における人物３Ａの位置を（ｘ３２，ｙ３２）とする。時刻ｔ１における人物４Ａの位置を（ｘ４１，ｙ４１）とし、時刻ｔ２における人物４Ａの位置を（ｘ４２，ｙ４２）とする。
【００１７】
参考例の画像処理装置は、図１で説明した処理と同様にして、人物３Ａが直線的に移動すると仮定し、時刻ｔ３における人物３Ａの位置を含む範囲を探索範囲３Ｂとして設定する。画像処理装置は、人物４Ａが直線的に移動すると仮定し、時刻ｔ３における人物４Ａの位置を含む範囲を探索範囲４Ｂとして設定する。
【００１８】
図４について説明する。画像処理装置は、人物３Ａの特徴５Ａを記憶部から取得する。人物３Ａの特徴５Ａは、１つ前の画像データから検出した人物３Ａの特徴であり、例えば、時刻ｔ２における人物３Ａの特徴となる。
【００１９】
画像処理装置は、人物３Ａの特徴５Ａと探索範囲３Ｂとの類似度が高い領域を時刻ｔ３における人物３Ａの領域として判定する。しかしながら、人物３Ａと人物４Ａとの特徴が類似しており、かつ、探索範囲３Ｂ，４Ｂとが所定領域以上重複していると、人物４Ａの領域６Ｂを、人物３Ａの領域として判定してしまい、人物３Ａについて、適切に追跡処理を実行することができない。
【００２０】
同様に、画像処理装置は、人物４Ａの特徴６Ａを記憶部から取得する。人物４Ａの特徴６Ａは、１つ前の画像データから検出した人物４Ａの特徴であり、例えば、時刻ｔ２における人物４Ａの特徴となる。
【００２１】
画像処理装置は、人物４Ａの特徴６Ａと探索範囲４Ｂとの類似度が高い領域を時刻ｔ３における人物４Ａの領域として判定する。しかしながら、人物３Ａと人物４Ａとの特徴が類似しており、かつ、探索範囲３Ｂ，４Ｂとが所定領域以上重複していると、人物３Ａの領域５Ｂを、人物４Ａの領域として判定してしまい、人物４Ａについて、適切に追跡処理を実行することができない。
【００２２】
次に、本実施例に係る画像処理装置について説明する。図５は、本実施例に係る画像処理装置の処理を説明するための図である。図５のステップＳ１０について説明する。前提として、ある時刻に撮影された画像データのフレームには、人物１０Ａ，１０Ｂが存在しているものとする。画像処理装置は、人物１０Ａ，１０Ｂが等速で直線的に移動することを仮定して、過去の人物１０Ａ，１０Ｂの移動速度から次フレームにおける位置を推定する。
【００２３】
例えば、人物の移動速度（速度ベクトル）は、式（１）により定義される。
【００２４】
ｖ＝（ｐｘ（ｔ−１）−ｐｘ（ｔ−２），ｐｙ（ｔ−１）−ｐｙ（ｔ−２）・・・（１）
【００２５】
式（１）において、ｐｘ（ｔ）は、時刻ｔにおける人物のｘ座標を示す。ｐｙ（ｔ）は、時刻ｔにおける人物のｙ座標を示す。例えば、時刻ｔにおける人物の位置座標は、式（２）によって定義される。
【００２６】
ｐ（ｔ）＝（ｐｘ（ｔ），ｐｙ（ｔ））・・・（２）
【００２７】
画像処理装置は、人物１０Ａ，１０Ｂの移動速度に基づいて、次フレームの人物１０Ａ，１０Ｂの位置座標を予測する。例えば、人物１０Ａの単位時間（フレーム間の時間）の移動量、移動方向をｖ１（速度）とすると、次フレームの人物１０Ａの位置座標は位置座標１０Ａ’となる。人物１０Ｂの単位時間（フレーム間の時間）の移動量、移動方向をｖ２（速度）とすると、次フレームの人物１０Ｂの位置座標は、位置座標１０Ｂ’となる。
【００２８】
図５のステップＳ１１について説明する。画像処理装置は、人物１０Ａの予測される位置座標１０Ａ’を基準にして、探索範囲１１Ａを設定する。また、画像処理装置は、人物１０Ｂの予測される位置座標１０Ｂ’を基準にして、探索範囲１１Ｂを設定する。
【００２９】
画像処理装置は、下記に示す「追い抜き発生の条件１，２」を満たすか否かを判定する。画像処理装置は、追い抜き発生の条件１，２の双方を満たす場合には、追い抜きは発生すると判定し、ステップＳ１２の処理に移行する。画像処理装置は、追い抜き発生の条件１，２の双方を満たさない場合には、追い抜きが発生しないと判定し、参考例の追跡処理と同様の処理を行う。追い抜きが発生しない場合には、参考例の追跡処理を行っても、図３，４に示した問題が発生しない。
【００３０】
追い抜き発生の条件１：ｘ，ｙ座標方向におけるｖ１とｖ２との符号が等しい、または、ｖ２の値が０となる。
追い抜きの発生条件２：探索範囲１１Ａと探索範囲１１Ｂとの重複領域１１Ｃの縦幅をｈ、横幅をｗとした場合において、ｗ≧ｗ０かつｈ≧ｈ０となる。ｗ０およびｈ０は、予め設定される閾値であり、人物領域の大きさに対応する。
【００３１】
図５のステップＳ１２について説明する。画像処理装置は、追い抜きが発生すると判定した場合には、速度が速い方の人物の推定位置を元の移動方向との差が最も小さく、他の人物の探索範囲との重複領域が人物領域よりも小さくなるように、速い方の速度の方向を調整する。
【００３２】
具体的には、画像処理装置は、重複領域１１Ｃの横幅ｗがｗ０以下となるまで、または、重複領域１１Ｃの縦幅ｈがｈ０以下となるまで、速度ベクトルｖ１の方向を変更して探索範囲１１Ａを再設定する処理を繰り返し実行する。画像処理装置は、重複領域１１Ｃの横幅ｗがｗ０以下となる、または、重複領域１１Ｃの縦幅ｈがｈ０以下となる速度ベクトルが複数存在する場合には、元の速度ベクトルと、変更後の速度ベクトルとのなす角θが最小となる速度ベクトルｖ１’を特定する。画像処理装置は、速度ベクトルｖ１’によって、探索範囲１１Ａを設定し、追跡処理を実行する。
【００３３】
図５のステップＳ１０〜Ｓ１２で説明したように、本実施例に係る画像処理装置は、追い抜く人物は、追い抜かれる人物を避けて移動することに着目し、追い抜く人物の予測される位置座標を調整する。このように調整することで、追い抜く人物の探索範囲と、追い抜かれる人物の探索範囲との重複領域が、人物領域よりも小さくなり、人物の入れ替わりを抑止できるので、適切に追跡処理を実行することができる。
【００３４】
続いて、本実施例に係る画像処理装置の構成について説明する。図６は、本実施例に係る画像処理装置の構成を示す機能ブロック図である。図６に示すように、この画像処理装置１００は、カメラ１１０と、入力装置１２０と、表示装置１３０と、記憶部１４０と、制御部１５０とを有する。
【００３５】
カメラ１１０は、撮影範囲の画像を撮影し、撮影した画像のデータを、画像処理装置１００に出力する装置である。以下の説明では、カメラ１１０が撮影した画像のデータを画像データと表記する。画像データは、時刻毎のフレームが連続するデータとなる。図６では説明を省略するが、カメラ１１０は、ネットワークを介して、画像処理装置１００に接続されても良い。
【００３６】
入力装置１２０は、各種の情報を画像処理装置１００に入力するための入力装置である。入力装置１２０は、キーボードやマウス、タッチパネル等に対応する。
【００３７】
表示装置１３０は、制御部１５０の処理結果等を表示する表示装置である。表示装置１３０は、液晶ディスプレイやタッチパネル等に対応する。
【００３８】
記憶部１４０は、画像テーブル１４１、追跡テーブル１４２、予測誤差データ１４３を有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３９】
画像テーブル１４１は、画像データに含まれる時刻毎のフレームを格納するテーブルである。図７は、画像テーブルのデータ構造の一例を示す図である。図７に示すように、この画像テーブル１４１は、時刻とフレームとを対応付ける。上記のように、カメラ１１０により撮影される画像データは、時刻毎に連続するフレームから構成される。
【００４０】
追跡テーブル１４２は、追跡対象の人物に関する各種の情報を保持するテーブルである。図８は、追跡テーブルのデータ構造の一例を示す図である。図８に示すように、追跡テーブル１４２は、人物ＩＤ（Identification）と、時刻と、人物領域と、移動量とを対応付ける。人物ＩＤは、人物を一意に識別する情報である。時刻は、該当するフレームの時刻を示すものである。
【００４１】
人物領域は、人物が存在するフレーム上の領域を示すものである。人物領域は、ｘ座標と、ｙ座標と、幅と、高さとを有する。ｘ座標、ｙ座標は、人物領域の左上のｘ座標、ｙ座標に対応する。幅は、人物領域の幅に対応し、高さは、人物領域の高さに対応する。なお、ｘ座標、ｙ座標は、人物領域の左上のｘ座標、ｙ座標に限らず、人物領域の右上、左下、右下、中心等のｘ座標、ｙ座標であっても良い。
【００４２】
移動量（ｘ，ｙ）は、人物が単位時間当たりに移動するｘ軸方向およびｙ軸方向の移動量を示すものである。移動量（ｘ，ｙ）は、速度ベクトルに対応する。例えば、単位時間を、時刻ｔ−１のフレームから時刻ｔのフレームまでの時間とする。
【００４３】
予測誤差データ１４３は、推定されるある人物の位置座標と、ある人物の実際の位置座標との誤差を示す情報である。予測誤差データ１４３に関する具体的な説明は後述する。
【００４４】
制御部１５０は、取得部１５１、類似度算出部１５２、範囲特定部１５３、変更部１５４、領域特定部１５５、検出部１５６を有する。制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１５０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００４５】
取得部１５１は、カメラ１１０から画像データを取得する処理部である。取得部１５１は、画像データに含まれる各フレームを、時刻と対応付けて画像テーブル１４１に格納する。
【００４６】
類似度算出部１５２は、次フレームに複数の人物領域が存在する場合に、各人物領域の類似度を算出する処理部である。類似度算出部１５２は、各人物領域の類似度のデータを、変更部１５４に出力する。類似度算出部１５２は、次フレームに３つ以上の人物領域が存在する場合には、異なる２つの人物領域の組毎に、類似度を算出する。
【００４７】
例えば、類似度算出部１５２は、正規化相互相関関数の値を、類似度として算出する。具体的に、類似度算出部１５２は、式（３）に基づいて、各人物領域の類似度Ｒを算出する。図９は、類似度算出部の処理を説明するための図である。図９に示すように、次フレームには、人物１０Ａの領域Ｔと、人物１０Ｂの領域Ｉとが存在するものとする。式（３）のＴ（ｘ，ｙ）は、領域Ｔに含まれる座標（ｘ，ｙ）の画素値を示す。Ｉ（ｘ，ｙ）は、領域Ｉに含まれる座標（ｘ，ｙ）の画素値を示す。ｈは、領域Ｔまたは領域Ｉの高さに対応する。ｗは、領域Ｔまたは領域Ｉの幅に対応する。
【００４８】
【数１】
2018025988.tif 000003
【００４９】
類似度算出部１５２は、次フレームに含まれる人物領域の組に対して類似度を算出する処理を繰り返し実行する。例えば、類似度算出部１５２は、フレームの時刻と、人物領域の組に対応する各人物ＩＤと、類似度とを対応付けた情報を、変更部１５４に出力する。
【００５０】
範囲特定部１５３は、追跡テーブル１４２を基にして、次フレームにおける第１の人物を探索する第１の範囲と、第２の人物を探索する第２の範囲を特定する処理部である。範囲特定部１５３は、以下に説明する位置推定処理、範囲算出処理を実行する。
【００５１】
範囲特定部１５３が実行する位置推定処理について説明する。範囲特定部１５３は、過去フレームにおける人物の位置座標から人物の移動量を算出し、次フレームにおける人物の位置座標を推定する。
【００５２】
図１０は、範囲特定部の処理を説明するための図（１）である。前提として、過去の処理により、カメラ座標系における、過去２フレームの人物の位置座標ｐ（ｔ−１）、ｐ（ｔ−２）が、追跡テーブル１４２に格納されているものとする。ここでは一例として、人物を人物１０Ａとする。位置座標ｐ（ｔ−２）は、時刻ｔ−２における人物１０Ａの位置座標に対応する。位置座標ｐ（ｔ−１）は、時刻ｔ−１における人物１０Ａの位置座標に対応する。ここで、ｐ（ｔ）は、上述した式（２）で定義される。
【００５３】
人物１０Ａの単位時間当たりの移動量（速度ベクトル）は、式（４）により定義される。範囲特定部１５３は、人物１０Ａが等速で直線的に移動すると仮定し、時刻ｔにおける人物１０Ａの位置座標ｐ（ｔ）を、式（５）によって推定する。
【００５４】
Δ＝ｐ（ｔ−１）−ｐ（ｔ−２）・・・（４）
【００５５】
ｐ（ｔ）＝ｐ（ｔ−１）＋Δ・・・（５）
【００５６】
続いて、範囲特定部１５３が実行する範囲算出処理について説明する。範囲特定部１５３は、上記の位置推定処理により特定した位置座標ｐ（ｔ）を基準として、探索範囲を設定する。
【００５７】
図１１は、範囲特定部の処理を説明するための図（２）である。範囲特定部１５３は、位置座標ｐ（ｔ）を基にして、横幅ｒ、縦幅ｒの探索範囲１１Ａを設定する。例えば、範囲特定部１５３は、探索範囲１１Ａの左上端が、位置座標ｐ（ｔ）となるように、探索範囲１１Ａを設定する。
【００５８】
続いて、範囲特定部１５３は、予測誤差ε（εｘ，εｙ）を考慮して、探索範囲１１Ａを修正する。範囲特定部１５３は、予測誤差ε（εｘ，εｙ）を、予測誤差データ１４３から取得する。
【００５９】
図１２は、範囲特定部の処理を説明するための図（３）である。予測誤差εは、式（５）に基づいて推定した人物１０Ａの位置座標と、人物１０Ａの実際の位置座標との誤差に対応するものである。例えば、範囲特定部１５３は、探索範囲１１Ａの横幅を２εｘだけ広げ、縦幅をεｙだけ広げることで、探索範囲１１Ａを探索範囲１１Ａ’に修正する。探索範囲１１Ａを、探索範囲１１Ａ’に修正することで、人物領域をもれなく探索領域１１Ａ’に含めることができる。範囲特定部１５３以外の説明において、修正した探索範囲１１Ａ’を、単に、探索範囲１１Ａと表記する。
【００６０】
例えば、予測誤差εｘは、式（６）により定義される。予測誤差εｙは、式（７）により定義される。式（６）のｘは、式（５）に基づいて推定された人物１０Ａのｘ座標に対応する。式（６）のｙは、式（５）に基づいて推定された人物１０Ａのｙ座標に対応する。
【００６１】
εｘ＝ｘ×（１−ｐｘ）・・・（６）
εｙ＝ｙ×（１−ｐｙ）・・・（７）
【００６２】
式（６）のｐｘは、式（８）により定義される値である。式（７）のｐｙは、式（９）により定義される値である。
【００６３】
【数２】
2018025988.tif 000004
【数３】
2018025988.tif 000005
【００６４】
式（８）および式（９）のｐｘ１，ｐｙ１は、ある人物（例えば、人物１０Ａ）における予測精度であり、それぞれ、式（１０）、式（１１）により定義される。
【００６５】
【数４】
2018025988.tif 000006
【数５】
2018025988.tif 000007
【００６６】
式（１０）に含まれる「ｘｐ１，ｘｐ２，ｘｐ３・・・」、式（１１）に含まれる「ｙｐ１，ｙｐ２，ｙｐ３・・・」は、式（１２）〜式（１７）により定義される。式（１２）〜式（１７）において、ｘ１（ｔ）は、時刻ｔにおけるフレームから検出された人物の実際のｘ座標を示すものである。ｙ１（ｔ）は、時刻ｔにおけるフレームから検出された人物の実際のｙ座標を示すものである。ｘ２（ｔ）は、時刻ｔにおけるフレームから検出された人物の予測されたｘ座標を示すものである。ｙ２（ｔ）は、時刻ｔにおけるフレームから検出された人物の予測されたｙ座標を示すものである。
【００６７】
【数６】
2018025988.tif 000008
【００６８】
式（８）および式（９）のｐｘ２，ｐｙ２は、他の人物（例えば、人物１０Ｂ）における予測精度であり、それぞれ、式（１０）、式（１１）と同様にして定義される。式（８）および式（９）のｐｘ３，ｐｙ３は、他の人物（例えば、図示しない人物１０Ｃ）における予測精度であり、それぞれ、式（１０）、式（１１）と同様にして定義される。
【００６９】
範囲特定部１５３は、事前に、人物１０Ａ〜１０Ｃ、その他の人物の実際の位置座標と、式（５）に基づく、推定される位置座標とを算出しておき、予測誤差εｘ，εｙを算出しておくものとする。範囲特定部１５３は、予測誤差εｘ，εｙのデータを、予測誤差データ１４３として、記憶部１４０に登録しておく。
【００７０】
範囲特定部１５３は、人物ＩＤと、この人物ＩＤに対応する、時刻ｔ−１の人物の位置座標、移動量（速度ベクトル）、探索範囲を対応付けた情報を、変更部１５４に出力する。
【００７１】
変更部１５４は、次フレームで特定された人物１０Ａの探索範囲１１Ａと、人物１０Ｂの探索範囲１１Ｂとの重なる面積が、所定値以上である場合に、重なる面積が所定値未満となるように、探索範囲１１Ａまたは探索範囲１１Ｂの位置を変更する処理部である。
【００７２】
まず、変更部１５４は、追い抜き発生の条件１，２の双方を満たすか否かを判定することで、探索範囲１１Ａまたは探索範囲１１Ｂの位置を変更するか否かを判定する。
【００７３】
上記のように、追い抜き発生の条件１は「ｘ，ｙ座標方向におけるｖ１とｖ２との符号が等しい、または、ｖ２の値が０となる。」である。ここで、追い抜く人物を人物１０Ａ、追い抜かれる人物を人物１０Ｂとすると、人物１０Ａの移動量が「ｖ１」に対応し、人物１０Ｂの移動量が「ｖ２」に対応する。例えば、変更部１５４は、各人物の移動量を比較し、移動量が大きい方を追い抜く人物、移動量が小さい方を追い抜かれる人物として判定する。
【００７４】
追い抜き発生の条件２は「探索範囲１１Ａと探索範囲１１Ｂとの重複領域１１Ｃの縦幅をｈ、横幅をｗとした場合において、ｗ≧ｗ０かつｈ≧ｈ０となる。ｗ０およびｈ０は、予め設定される閾値であり、人物領域の大きさに対応する。」である。
【００７５】
図１３は、変更部の処理を説明するための図（１）である。図１３に示す座標系では、右側ほど、ｘの座標が大きくなり、下側ほど、ｙの座標が大きくなるものとする。図１３に示すように、探索範囲１１Ｂの左上端の座標を（ｘ１ｍｉｎ，ｙ１ｍｉｎ）とし、右下端の座標を（ｘ１ｍａｘ，ｙ１ｍａｘ）とする。探索範囲１１Ａの左上端の座標を（ｘ２ｍｉｎ，ｙ２ｍｉｎ）とし、右下端の座標を（ｘ２ｍａｘ，ｙ２ｍａｘ）とする。
【００７６】
重複領域１１Ｃの幅ｗは、式（１８）によって定義される。重複領域１１Ｃの高さｈは、式（１９）によって定義される。式（１８）および式（１９）に含まれるｍｉｎ（ｘ，ｙ）は、ｘ、ｙのうち、値の小さいものを選択することを意味する。ｍａｘ（ｘ，ｙ）は、ｘ、ｙのうち、値の大きいものを選択することを意味する。変更部１５４は、式（１８）および式（１９）に基づいて、重複領域１１Ｃの幅ｗ、高さｈを算出する。
【００７７】
ｗ＝ｍｉｎ（ｘ１ｍａｘ，ｘ２ｍａｘ）−ｍａｘ（ｘ１ｍｉｎ，ｘ２ｍｉｎ）・・・（１８）
ｈ＝ｍｉｎ（ｙ１ｍａｘ，ｙ２ｍａｘ）−ｍａｘ（ｙ１ｍｉｎ，ｙ２ｍｉｎ）・・・（１９）
【００７８】
変更部１５４は、追い抜きの条件１，２の双方を満たさない場合には、探索範囲１１Ａまたは探索範囲１１Ｂの位置を変更する処理をスキップする。すなわち、変更部１５４は、追い抜きの条件１，２の双方を満たさない場合には、探索範囲１１Ａまたは探索範囲１１Ｂの位置をそのままとする。
【００７９】
一方、変更部１５４は、追い抜きの条件１，２の双方を満たす場合には、探索範囲１１Ａまたは探索範囲１１Ｂの位置を変更する処理を実行する。ここでは一例として、探索範囲１１Ａの位置を変更する場合について説明する。
【００８０】
図１４は、変更部の処理を説明するための図（２）である。図１４の説明では、追い抜く人物を人物１０Ａとし、追い抜かれる人物を人物１０Ｂとする。また、人物１０Ａの変更前の速度ベクトル（移動量）を速度ベクトルｖ１とし、変更後の速度ベクトルを速度ベクトルｖ１’とする。
【００８１】
図１４のステップＳ２０について説明する。変更部１５４は、速度ベクトルｖ１の向きを、人物１０Ｂから離れる方向に変更することで、速度ベクトルｖ１’を設定する。速度ベクトルｖ１と、速度ベクトルｖ１’との大きさは等しいが、向きが異なる。図１４に示す例では、速度ベクトルｖ１と速度ベクトルｖ１’とのなす角はθとなる。
【００８２】
図１４のステップＳ２１について説明する。変更部１５４は、人物１０Ａの移動量を、速度ベクトルｖ１’として、人物１０Ａの次フレームにおける位置座標を再計算し、探索範囲１１Ａを再設定する。変更部１５４が、移動量に基づいて、人物１０Ａの位置座標を計算する処理および探索範囲を設定する処理は、上述した範囲特定部１５３が、位置座標を計算する処理、探索範囲を設定する処理と同様である。
【００８３】
図１４のステップＳ２２について説明する。変更部１５４は、新たに設定した探索範囲１１Ａと、人物１０Ｂの探索範囲１１Ｂとの重複領域１１Ｃを特定する。
【００８４】
変更部１５４は、重複領域１１Ｃの横幅ｗがｗ０以下となるまで、または、重複領域１１Ｃの縦幅ｈがｈ０以下となるまで、速度ベクトルｖ１の方向を変更して探索範囲１１Ａを再設定する処理（ステップＳ２０〜Ｓ２２）を繰り返し実行する。変更部１５４は、重複領域１１Ｃの横幅ｗがｗ０以下となる、または、重複領域１１Ｃの縦幅ｈがｈ０以下となる速度ベクトルが複数存在する場合には、元の速度ベクトルと、変更後の速度ベクトルとのなす角θが最小となる速度ベクトルｖ１’を特定する。変更部１５４は、特定したなす角θが最小となる速度ベクトルｖ１’に基づく探索範囲１１Ａを、変更後の探索範囲１１Ａとして確定する。
【００８５】
変更部１５４は、人物ＩＤと、次フレームの探索範囲とを対応付けた情報を、領域特定部１５５に出力する。例えば、次フレームを、時刻ｔのフレームとする。
【００８６】
なお、変更部１５４は、類似度算出部１５２からフレームの時刻と、人物領域の組に対応する各人物ＩＤと、類似度とを対応付けた情報を取得し、各人物ＩＤの類似度が、閾値未満である場合には、下記の処理を行う。ここでは、説明の便宜上、各人物ＩＤに対応する人物を、人物１０Ａ，１０Ｂとする。変更部１５４は、時刻ｔ−１における人物１０Ａの人物領域と、人物１０Ｂの人物領域との類似度が、閾値未満である場合には、図１４のステップＳ２０〜Ｓ２２に示した処理をスキップし、変更前の人物１０Ａの探索範囲１１Ａと、人物１０Ｂの探索範囲１１Ｂを、そのままにする。そして、変更部１５４は、人物ＩＤと、次フレームの探索範囲とを対応付けた情報を、領域特定部１５５に出力する。
【００８７】
領域特定部１５５は、次フレームに設定された各探索範囲から人物の領域を特定する処理部である。領域特定部１５５は、過去フレームから得られる人物の特徴を用いることにより、同一人物の追跡を行う。ここでは説明の便宜上、時刻ｔのフレームに設定された人物１０Ａの探索範囲１１Ａから、人物１０Ａの領域を特定する場合について説明する。また、時刻ｔのフレームに設定された人物１０Ｂの探索範囲１１Ｂから、人物１１Ｂの領域を特定する場合について説明する。
【００８８】
図１５は、領域特定部の処理を説明するための図である。図１５のステップＳ３０について説明する。領域特定部１５５は、人物１０Ａのテンプレート１２Ａを、画像テーブル１４１および追跡テーブル１４２を基にして、取得する。例えば、領域特定部１５５は、追跡テーブル１４２を参照し、人物ＩＤ「１０Ａ」の時刻「ｔ−１」に対応する人物領域の情報を取得する。図８で説明したように、人物領域の情報には、ｘ座標、ｙ座標、幅、高さが含まれる。続いて、領域特定部１５５は、画像テーブル１４１の時刻「ｔ−１」のフレームから、人物１０Ａの人物領域の画像を抽出することで、テンプレート１２Ａを取得する。
【００８９】
同様にして、領域特定部１５５は、人物１０Ｂのテンプレート１２Ｂを、画像テーブル１４１および追跡テーブルを基にして、取得する。例えば、領域特定部１５５は、追跡テーブル１４２を参照し、人物ＩＤ「１０Ｂ」の時刻「ｔ−１」に対応する人物領域の情報を取得する。続いて、領域特定部１５５は、画像テーブル１４１の時刻「ｔ−１」のフレームから、人物１０Ｂの人物領域の画像を抽出することで、テンプレート１２Ｂを取得する。
【００９０】
図１５のステップＳ３１について説明する。領域特定部１５５は、探索範囲１１Ａ上に、テンプレート１２Ａを配置して、類似度を算出する処理を、テンプレート１２Ａの位置を移動させながら繰り返し実行する。
【００９１】
例えば、領域特定部１５５は、探索範囲１１Ａのうち、テンプレートと重複する領域とテンプレートとの類似度を、式（２０）により算出する。式（２０）のＴ’（ｘ，ｙ）は、テンプレートＴ’に含まれる座標（ｘ，ｙ）の画素値を示す。Ｉ’（ｘ，ｙ）は、探索範囲のうちテンプレートと重複する領域Ｉ’に含まれる座標（ｘ，ｙ）の画素値を示す。ｈは、テンプレートＴ’の高さに対応する。ｗは、テンプレートＴ’の幅に対応する。
【００９２】
【数７】
2018025988.tif 000009
【００９３】
領域特定部１５５は、テンプレート１２Ａとの比較による、最も類似度Ｒが大きくなる領域Ｉ’を領域１３Ａとする。この場合には、領域特定部１５５は、時刻ｔにおける人物１０Ａの人物領域１３Ａとして特定する。
【００９４】
同様にして、領域特定部１５５は、探索範囲１１Ｂ上に、テンプレート１２Ｂを配置して、類似度を算出する処理を、テンプレート１２Ｂの位置を移動させながら繰り返し実行する。領域特定部１５５は、テンプレート１２Ｂとの比較による、最も類似度Ｒが大きくなる領域Ｉ’を領域１３Ｂとする。この場合には、領域特定部１５５は、時刻ｔにおける人物１０Ｂの人物領域１３Ｂとして特定する。
【００９５】
図１５のステップＳ３２について説明する。領域特定部１５５は、時刻ｔ−１の人物１０Ａが、時刻ｔにおいて、人物領域１３Ａに移動したと判定する。領域特定部１５５は、人物ＩＤ「１０Ａ」、時刻「ｔ」、人物領域１３Ａの情報、人物１０Ａの移動量を対応付けて、追跡テーブル１４２に登録する。
【００９６】
領域特定部１５５は、時刻ｔ−１の人物１０Ｂが、時刻ｔにおいて、人物領域１３Ｂに移動したと判定する。領域特定部１５５は、人物ＩＤ「１０Ｂ」、時刻「ｔ」、人物領域１３Ｂの情報、人物１０Ｂの移動量を対応付けて、追跡テーブル１４２に登録する。
【００９７】
図６の説明に戻る。検出部１５６は、時刻ｔのフレームから人物を検出する処理部である。検出部１５６は、検出した人物が、追跡中の人物であるのか否かを判定し、追跡中の人物でない場合には、検出した人物の情報を、新たな追跡対象の人物として、追跡テーブル１４２に追加する。
【００９８】
図１６は、検出部の処理を説明するための図である。図１６のステップＳ４０について説明する。検出部１５６は、画像テーブル１４１を参照し、時刻ｔ−１のフレーム５０ａと、時刻ｔのフレーム５０ｂを取得する。
【００９９】
図１６のステップＳ４１について説明する。検出部１５６は、フレーム５０ａとフレーム５０ｂとの背景差分画像５１を生成する。
【０１００】
図１６のステップＳ４２について説明する。検出部１５６は、ＨＯＧ（Histograms  of  Oriented  Gradients）特徴を用いて、識別器を予め生成しておく。検出部１５６は、識別器と背景差分画像５１とを比較して、背景差分画像５１に人物の領域が含まれるか否かを判定する。検出部１５６は、背景差分画像５１に人物の領域が含まれる場合に、人物領域候補５２を出力する。
【０１０１】
図１６のステップＳ４３について説明する。検出部１５６は、時刻ｔにおける追跡中の人物の人物領域を、追跡テーブル１４２を基にして特定する。ここでは説明の便宜上、追跡テーブル１４２を基にして特定する人物領域を、人物１０Ａの人物領域１３Ａとする。検出部１５６は、人物領域１３Ａと、人物領域候補５２との重複率を算出する。
【０１０２】
検出部１５６は、人物領域１３Ａと、人物領域候補５２との重複率が所定の重複率以上である場合には、人物領域候補５２が、人物領域１３Ａに対応するものと判定し、追跡テーブル１４２に追加する処理をスキップする。
【０１０３】
検出部１５６は、人物領域１３Ａと、人物領域候補５２との重複率が所定の重複率未満である場合には、人物領域候補５２が、人物領域１３Ａに対応しないと判定する。検出部１５６は、人物領域候補５２が、追跡テーブル１４２の各人物領域に対応しないと判定した場合に、人物候補領域５２の情報を、追跡テーブル１４２に新規に登録する。例えば、検出部１５６は、ユニークな人物ＩＤを割り当て、人物ＩＤと、時刻ｔと、人物候補領域のｘ座標、ｙ座標、幅、高さを対応付けて、追跡テーブル１４２に登録する。
【０１０４】
次に、本実施例に係る画像処理装置１００の処理手順について説明する。図１７は、本実施例に係る画像処理装置の処理手順を示すフローチャートである。図１７に示すように、画像処理装置１００の取得部１５１は、カメラ１１０から画像データを取得する（ステップＳ１０１）。
【０１０５】
画像処理装置１００の類似度算出部１５２は、類似度算出処理を実行する（ステップＳ１０２）。画像処理装置１００の範囲特定部１５３は、位置推定処理を実行する（ステップＳ１０３）。範囲特定部１５３は、領域算出処理を実行する（ステップＳ１０４）。
【０１０６】
画像処理装置１００の変更部１５４は、位置決定処理を実行する（ステップＳ１０５）。画像処理装置１００の領域特定部１５５は、人物追跡処理を実行する（ステップＳ１０６）。画像処理装置１００の検出部１５６は、人物検出処理を実行する（ステップＳ１０７）。
【０１０７】
画像処理装置１００の制御部１５０は、処理結果を出力する（ステップＳ１０８）。画像処理装置１００は、処理を継続するか否かを判定する（ステップＳ１０９）。画像処理装置１００は、処理を継続する場合には（ステップＳ１０９，Ｙｅｓ）、ステップＳ１０１に移行する。画像処理装置１００は、処理を継続しない場合には（ステップＳ１０９，Ｎｏ）、処理を終了する。
【０１０８】
図１７のステップＳ１０２に示した類似度算出処理について説明する。図１８は、類似度算出処理の処理手順を示すフローチャートである。図１８に示すように、類似度算出部１５２は、画像テーブル１４１および追跡テーブル１４２に基づき人物領域を特定する（ステップＳ２０１）。
【０１０９】
類似度算出部１５２は、画像テーブル１４１および追跡テーブル１４２に基づき別の人物領域を特定する（ステップＳ２０２）。類似度算出部１５２は、各人物領域同士の類似度を算出する（ステップＳ２０３）。
【０１１０】
類似度算出部１５２は、類似度を算出していない人物領域の組み合わせが存在するか否かを判定する（ステップＳ２０４）。類似度算出部１５２は、類似度を算出していない人物領域の組み合わせが存在する場合には（ステップＳ２０４，Ｙｅｓ）、ステップＳ２０１に移行する。一方、類似度算出部１５２は、類似度を算出していない人物領域の組み合わせが存在しない場合には（ステップＳ２０４，Ｎｏ）、類似度算出処理を終了する。
【０１１１】
図１７のステップＳ１０３に示した位置推定処理について説明する。図１９は、位置推定処理の処理手順を示すフローチャートである。図１９に示すように、範囲特定部１５３は、過去のフレームにて、得られた同一人物の人物領域が２以上であるか否かを判定する（ステップＳ２５１）。範囲特定部１５３は、過去のフレームにて、得られた同一人物の人物領域が２以上でない場合には（ステップＳ２５１，Ｎｏ）、ステップＳ２５５に移行する。一方、範囲特定部１５３は、過去のフレームにて、得られた同一人物の人物領域が２以上である場合には（ステップＳ２５１，Ｙｅｓ）、ステップＳ２５２に移行する。
【０１１２】
範囲特定部１５３は、過去の２フレームにおける人物の各位置座標を特定する（ステップＳ２５２）。範囲特定部１５３は、各位置座標を用いて、人物の移動量（速度ベクトル）を算出する（ステップＳ２５３）。
【０１１３】
範囲特定部１５３は、人物の位置座標を推定する（ステップＳ２５４）。例えば、範囲特定部１５３は、時刻ｔ−２、時刻ｔ−１の人物の位置座標を基にして、速度ベクトルを算出し、時刻ｔの人物の位置座標を推定する。
【０１１４】
範囲特定部１５３は、位置座標の推定を行っていない人物が存在するか否かを判定する（ステップＳ２５５）。範囲特定部１５３は、位置座標の推定を行っていない人物が存在する場合には（ステップＳ２５５，Ｙｅｓ）、ステップＳ２５１に移行する。一方、範囲特定部１５３は、位置座標の推定を行っていない人物が存在しない場合には（ステップＳ２５５，Ｎｏ）、位置推定処理を終了する。
【０１１５】
図１７のステップＳ１０４に示した領域算出処理について説明する。図２０は、領域算出処理の処理手順を示すフローチャートである。図２０に示すように、範囲特定部１５３は、推定した次フレーム（時刻ｔのフレーム）の人物の位置座標を取得する（ステップＳ３０１）。範囲特定部１５３は、推定した人物の位置座標を基に人物の探索範囲を設定する（ステップＳ３０２）。
【０１１６】
範囲特定部１５３は、探索範囲を設定していない人物が存在するか否かを判定する（ステップＳ３０３）。範囲特定部１５３は、探索範囲を設定していない人物が存在する場合には（ステップＳ３０３，Ｙｅｓ）、ステップＳ３０１に移行する。範囲特定部１５３は、探索範囲を設定していない人物が存在しない場合には（ステップＳ３０３，Ｎｏ）、領域算出処理を終了する。
【０１１７】
図１７のステップＳ１０５に示した位置決定処理について説明する。図２１は、位置決定処理の処理手順を示すフローチャートである。図２１に示すように、変更部１５４は、追跡対象の人物の移動量（速度ベクトル）、探索範囲の情報を取得する（ステップＳ３５１）。変更部１５４は、別の人物の移動量（速度ベクトル）、探索範囲の情報を取得する（ステップＳ３５２）。
【０１１８】
変更部１５４は、人物の移動方向が等しい、または、前方に位置する人物の移動量が０であるかを判定する（ステップＳ３５３）。変更部１５４は、人物の移動方向が等しい、または、前方に位置する人物の移動量が０である場合には（ステップＳ３５３，Ｙｅｓ）ステップＳ３５４に移行する。一方、変更部１５４は、人物の移動方向が等しくない場合、または、前方に位置する人物の移動量が０でない場合には（ステップＳ３５３，Ｎｏ）、ステップＳ３５７に移行する。
【０１１９】
変更部１５４は、探索範囲の重複領域が人物領域の大きさ以上であるか否かを判定する（ステップＳ３５４）。変更部１５４は、探索範囲の重複領域が人物領域の大きさ以上である場合には（ステップＳ３５４，Ｙｅｓ）、ステップＳ３５５に移行する。一方、変更部１５４は、探索範囲の重複領域が人物領域の大きさ以上でない場合には（ステップＳ３５４，Ｎｏ）、ステップＳ３５７に移行する。
【０１２０】
変更部１５４は、人物の移動方向を変更して人物の位置座標および探索範囲を推定する（ステップＳ３５５）。変更部１５４は、重複領域が人物領域の大きさ以上であるか否かを判定する（ステップＳ３５６）。変更部１５４は、重複領域が人物領域の大きさ以上である場合には（ステップＳ３５６，Ｙｅｓ）、ステップＳ３５４に移行する。
【０１２１】
変更部１５４は、重複領域が人物領域の大きさ以上でない場合には（ステップＳ３５６，Ｎｏ）、人物の探索範囲として固定する（ステップＳ３５７）。ステップＳ３５７において、変更部１５４は、ステップＳ３５６の条件がＮｏとなる変更後の速度ベクトルのうち、変更前の速度ベクトルと変更後の速度ベクトルとのなす角θが最小となる速度ベクトルに基づく探索範囲を、変更後の探索範囲として固定する。
【０１２２】
変更部１５４は、追跡対象の他の人物が存在するか否かを判定する（ステップＳ３５８）。変更部１５４は、追跡対象の他の人物が存在する場合には（ステップＳ３５８，Ｙｅｓ）、ステップＳ３５１に移行する。変更部１５４は、追跡対象の他の人物が存在しない場合には（ステップＳ３５８，Ｎｏ）、位置決定処理を終了する。
【０１２３】
図１７のステップＳ１０６に示した人物追跡処理について説明する。図２２は、人物追跡処理の処理手順を示すフローチャートである。図２２に示すように、領域特定部１５５は、人物領域のテンプレートを取得する（ステップＳ４０１）。
【０１２４】
領域特定部１５５は、人物領域のテンプレートを用いて、探索範囲内を走査し、類似度を算出する（ステップＳ４０２）。領域特定部１５５は、探索範囲内で類似度が最も高い領域を人物領域として特定する（ステップＳ４０３）。
【０１２５】
領域特定部１５５は、追跡テーブル１４２を更新する（ステップＳ４０４）。領域特定部１５５は、追跡処理を行っていない人物が存在するか否かを判定する（ステップＳ４０５）。領域特定部１５５は、追跡処理を行っていない人物が存在する場合には（ステップＳ４０５，Ｙｅｓ）、ステップＳ４０１に移行する。領域特定部１５５は、追跡処理を行っていない人物が存在する場合には（ステップＳ４０５，Ｎｏ）、人物追跡処理を終了する。
【０１２６】
図１７のステップＳ１０７に示した人物検出処理について説明する。図２３は、人物検出処理の処理手順を示すフローチャートである。図２３に示すように、検出部１５６は、背景差分画像を求める（ステップＳ４５１）。検出部１５６は、ＨＯＧ特徴を用いて識別器を予め作成する（ステップＳ４５２）。
【０１２７】
検出部１５６は、背景差分画像に人物候補領域が含まれるか否かを識別器を用いて判定する（ステップＳ４５３）。検出部１５６は、人物と判定された人物候補領域を特定する（ステップＳ４５４）。
【０１２８】
検出部１５６は、人物領域候補と人物追跡処理で得られた人物領域との重複率が閾値以上であるか否かを判定する（ステップＳ４５５）。検出部１５６は、人物領域候補と人物追跡処理で得られた人物領域との重複率が閾値以上でない場合には（ステップＳ４５５，Ｎｏ）、新たに現れた人物として人物領域候補の情報を追跡テーブル１４２に新規登録する（ステップＳ４５６）。
【０１２９】
一方、検出部１５６は、人物領域候補と人物追跡処理で得られた人物領域との重複率が閾値以上である場合には（ステップＳ４５５，Ｙｅｓ）、人物検出処理を終了する。
【０１３０】
次に、本実施例に係る画像処理装置１００の効果について説明する。画像処理装置１００は、第１の人物の第１探索範囲と、第２の人物の第２探索範囲との重なる面積が、所定値以上の場合には、重なる面積が所定値未満となるように、第１探索範囲、及び／または第２探索範囲を変更する。そして、画像処理装置１００は、次フレームの第１探索範囲から第１の人物の領域を特定し、次フレームの第２探索範囲から第２の人物の領域を特定する。このため、対象物の位置の誤判定を低減することができる。
【０１３１】
画像処理装置１００は、過去フレームにおける第１の人物の移動履歴を基にして、第１の速度ベクトルを算出することで、第１の探索範囲を特定する。また、画像処理装置１００は、過去フレームにおける第２の人物の移動履歴を基にして、第２の速度ベクトルを算出することで、第２の探索を特定する。これにより、第１の人物および第２の人物の位置を簡易的な方法で、算出することができる。
【０１３２】
画像処理装置１００は、速度ベクトルの方向を変更しつつ、第１の探索範囲と第２の探索範囲とが重なる面積を特定し、重なる面積が所定値未満となる条件を満たす範囲内で速度ベクトルの方向の変更量が最小となる変更量を特定する。画像処理装置１００は、特定した変更量だけ速度ベクトルの方向を変更し、次フレームでの第１の探索範囲を変更する。これにより、追い抜く人物の探索範囲と、追い抜かれる人物の探索範囲との重複範囲が、人物領域よりも小さくなり、人物の入れ替わりを抑止できるので、適切に追跡処理を実行することができる。
【０１３３】
画像処理装置１００は、過去フレームに含まれる第１の人物の特徴と、第２の人物の特徴との類似度が閾値以上である場合に、次フレームにおける探索範囲の変更を行う。第１の人物の特徴と第２の人物の特徴とが類似している場合にのみ、上記のような入れ替わりが発生するため、特徴が類似していない場合には、次フレームにおける探索範囲を変更する処理をスキップして、処理負荷を減らすことができる。
【０１３４】
画像処理装置１００は、第１の人物の移動方向と、第２の人物の移動方向とが略同一である場合に、次フレームでの第１の範囲における探索範囲の変更を行う。ここで、第１の人物の移動方向と、第２の人物の移動方向とが略同一でなければ各探索領域が重複する場合がないため、探索範囲の変更を行うか否かの処理をスキップすることで、処理負荷を減らすことができる。
【０１３５】
なお、本実施例では一例として、カメラ１１０に撮影される人物を追跡する場合について説明したが、これに限定されるものではなく、車両や動物などの移動体についても同様に適用することができる。
【０１３６】
次に、上記実施例に示した画像処理装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図２４は、コンピュータのハードウェア構成の一例を示す図である。
【０１３７】
図２４に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置２０５とを有する。また、コンピュータ２００は、カメラ２０６を有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０７と、ハードディスク装置２０８とを有する。そして、各装置２０１〜２０８は、バス２０９に接続される。
【０１３８】
ハードディスク装置２０８は、取得プログラム２０８ａ、類似度算出プログラム２０８ｂ、範囲特定プログラム２０８ｃ、変更プログラム２０８ｄ、領域特定プログラム２０８ｅ、検出プログラム２０８ｆを有する。ＣＰＵ２０１は、取得プログラム２０８ａ、類似度算出プログラム２０８ｂ、範囲特定プログラム２０８ｃ、変更プログラム２０８ｄ、領域特定プログラム２０８ｅ、検出プログラム２０８ｆを読み出してＲＡＭ２０７に展開する。
【０１３９】
取得プログラム２０８ａは、取得プロセス２０７ａとして機能する。類似度算出プログラム２０８ｂは、類似度算出プロセス２０７ｂとして機能する。範囲特定プログラム２０８ｃは、範囲特定プロセス２０７ｃとして機能する。変更プログラム２０８ｄは、変更プロセス２０７ｄとして機能する。領域特定プログラム２０８ｅは、領域特定プロセス２０７ｅとして機能する。検出プログラム２０８ｆは、検出プロセス２０７ｆとして機能する。
【０１４０】
例えば、取得プロセス２０７ａの処理は、取得部１５１の処理に対応する。類似度算出プロセス２０７ｂの処理は、類似度算出部１５２の処理に対応する。範囲特定プロセス２０７ｃの処理は、範囲特定部１５３の処理に対応する。変更プロセス２０７ｄの処理は、変更部１５４の処理に対応する。領域特定プロセス２０７ｅの処理は、領域特定部１５５の処理に対応する。検出プロセス２０７ｆの処理は、検出部１５６の処理に対応する。
【０１４１】
なお、各プログラム２０８ａ〜２０８ｆについては、必ずしも最初からハードディスク装置２０８に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が各プログラム２０８ａ〜２０８ｆを読み出して実行するようにしてもよい。
【０１４２】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１４３】
（付記１）コンピュータに、
撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、前記撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで前記第１の対象物を探索する第１の範囲と、前記第２の対象物を探索する第２の範囲を特定し、
前記次フレームで特定した前記第１の範囲と前記第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が前記所定値未満となるように、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更し、
変更後の第１の範囲と第２の範囲を探索して、前記次フレームでの前記第１の対象物に対応する領域と前記第２の対象物に対応する領域を特定する
処理を実行させることを特徴とする画像処理プログラム。
【０１４４】
（付記２）前記範囲を特定する処理は、前記過去フレームにおける前記第１の対象物の移動履歴を基にして、第１の速度ベクトルを算出することで、前記第１の範囲を特定し、前記過去フレームにおける前記第２の対象物の移動履歴を基にして、第２の速度ベクトルを算出することで、前記第２の範囲を特定することを特徴とする付記１に記載の画像処理プログラム。
【０１４５】
（付記３）前記範囲を変更する処理は、前記第１の速度ベクトルの方向を変更しつつ、前記第１の範囲と前記第２の範囲とが重なる面積を特定し、前記重なる面積が前記所定値未満となる条件を満たす範囲内で前記第１の速度ベクトルの方向の変更量が最小となる変更量を特定し、特定した変更量だけ前記第１の速度ベクトルの方向を変更することで、前記次フレームでの前記第１の範囲を変更することを特徴とする付記２に記載の画像処理プログラム。
【０１４６】
（付記４）前記範囲を変更する処理は、前記過去フレームに含まれる前記第１の対象物の第１の特徴と、前記第２の対象物の第２の特徴との類似度が閾値以上である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする付記１、２または３に記載の画像処理プログラム。
【０１４７】
（付記５）前記範囲を変更する処理は、前記第１の対象物の移動方向と、前記第２の対象物の移動方向とが略同一である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする付記１〜４のいずれか一つに記載の画像処理プログラム。
【０１４８】
（付記６）コンピュータが実行する画像処理方法であって、
撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、前記撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで前記第１の対象物を探索する第１の範囲と、前記第２の対象物を探索する第２の範囲を特定し、
前記次フレームで特定した前記第１の範囲と前記第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が前記所定値未満となるように、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更し、
変更後の第１の範囲と第２の範囲を探索して、前記次フレームでの前記第１の対象物に対応する領域と前記第２の対象物に対応する領域を特定する
処理を実行することを特徴とする画像処理方法。
【０１４９】
（付記７）前記範囲を特定する処理は、前記過去フレームにおける前記第１の対象物の移動履歴を基にして、第１の速度ベクトルを算出することで、前記第１の範囲を特定し、前記過去フレームにおける前記第２の対象物の移動履歴を基にして、第２の速度ベクトルを算出することで、前記第２の範囲を特定することを特徴とする付記６に記載の画像処理方法。
【０１５０】
（付記８）前記範囲を変更する処理は、前記第１の速度ベクトルの方向を変更しつつ、前記第１の範囲と前記第２の範囲とが重なる面積を特定し、前記重なる面積が前記所定値未満となる条件を満たす範囲内で前記第１の速度ベクトルの方向の変更量が最小となる変更量を特定し、特定した変更量だけ前記第１の速度ベクトルの方向を変更することで、前記次フレームでの前記第１の範囲を変更することを特徴とする付記７に記載の画像処理方法。
【０１５１】
（付記９）前記範囲を変更する処理は、前記過去フレームに含まれる前記第１の対象物の第１の特徴と、前記第２の対象物の第２の特徴との類似度が閾値以上である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする付記６、７または８に記載の画像処理方法。
【０１５２】
（付記１０）前記範囲を変更する処理は、前記第１の対象物の移動方向と、前記第２の対象物の移動方向とが略同一である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする付記６〜９のいずれか一つに記載の画像処理方法。
【０１５３】
（付記１１）撮像装置を用いて撮像されたフレームから第１の対象物に対応する第１の領域と、第２の対象物に対応する第２の領域とを抽出した場合に、前記撮像装置によって撮像された過去フレームを記憶する記憶部を参照して、次フレームで前記第１の対象物を探索する第１の範囲と、前記第２の対象物を探索する第２の範囲を特定する範囲特定部と、
前記次フレームで特定した前記第１の範囲と前記第２の範囲とが重なる面積が所定値以上の場合には、重なる面積が前記所定値未満となるように、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更する変更部と、
変更後の第１の範囲と第２の範囲で探索して、前記次フレームでの前記第１の対象物に対応する領域と前記第２の対象物に対応する領域を特定する領域特定部と
を有することを特徴とする画像処理装置。
【０１５４】
（付記１２）前記変更部は、前記過去フレームにおける前記第１の対象物の移動履歴を基にして、第１の速度ベクトルを算出することで、前記第１の範囲を特定し、前記過去フレームにおける前記第２の対象物の移動履歴を基にして、第２の速度ベクトルを算出することで、前記第２の範囲を特定することを特徴とする付記１１に記載の画像処理装置。
【０１５５】
（付記１３）前記変更部は、前記第１の速度ベクトルの方向を変更しつつ、前記第１の範囲と前記第２の範囲とが重なる面積を特定し、前記重なる面積が前記所定値未満となる条件を満たす範囲内で前記第１の速度ベクトルの方向の変更量が最小となる変更量を特定し、特定した変更量だけ前記第１の速度ベクトルの方向を変更することで、前記次フレームでの前記第１の範囲を変更することを特徴とする付記１２に記載の画像処理装置。
【０１５６】
（付記１４）前記変更部は、前記過去フレームに含まれる前記第１の対象物の第１の特徴と、前記第２の対象物の第２の特徴との類似度が閾値以上である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする付記１１、１２または１３に記載の画像処理装置。
【０１５７】
（付記１５）前記変更部は、前記第１の対象物の移動方向と、前記第２の対象物の移動方向とが略同一である場合に、前記次フレームでの前記第１の範囲、及び／または前記第２の範囲を変更することを特徴とする付記１１〜１４のいずれか一つに記載の画像処理装置。
【符号の説明】
【０１５８】
１００  画像処理装置
１１０  カメラ
１２０  入力装置
１３０  表示装置
１４０  記憶部
１４１  画像テーブル
１４２  追跡テーブル
１４３  予測誤差データ
１５０  制御部
１５１  取得部
１５２  類似度算出部
１５３  範囲特定部
１５４  変更部
１５５  領域特定部
１５６  検出部
【図１】
2018025988.tif 000010
【図２】
2018025988.tif 000011
【図３】
2018025988.tif 000012
【図４】
2018025988.tif 000013
【図５】
2018025988.tif 000014
【図６】
2018025988.tif 000015
【図７】
2018025988.tif 000016
【図８】
2018025988.tif 000017
【図９】
2018025988.tif 000018
【図１０】
2018025988.tif 000019
【図１１】
2018025988.tif 000020
【図１２】
2018025988.tif 000021
【図１３】
2018025988.tif 000022
【図１４】
2018025988.tif 000023
【図１５】
2018025988.tif 000024
【図１６】
2018025988.tif 000025
【図１７】
2018025988.tif 000026
【図１８】
2018025988.tif 000027
【図１９】
2018025988.tif 000028
【図２０】
2018025988.tif 000029
【図２１】
2018025988.tif 000030
【図２２】
2018025988.tif 000031
【図２３】
2018025988.tif 000032
【図２４】
2018025988.tif 000033