(57)【特許請求の範囲】
【請求項１】
連続した画像をもとに移動体の軌跡を作成する第一の作成手段と、
前記画像上に設定された、前記移動体の通過数を計数するために用いる検出線の設定情報を取得する取得手段と、
前記第一の作成手段により作成された軌跡と、前記取得手段により取得された検出線の設定情報とに基づいて、前記軌跡が前記検出線を通過したか否かを判定する判定手段と、
前記判定手段による判定結果に基づいて、前記取得手段により取得された前記検出線を視覚的に評価可能な情報を表示させる表示制御手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記表示制御手段は、
前記判定手段による判定結果に基づいて、前記第一の作成手段により作成された前記軌跡を、前記軌跡が前記検出線を通過した通過軌跡であるか、前記検出線を通過していない非通過軌跡であるかを視覚的に区別可能な態様で表示させる
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、
前記通過軌跡に関する付帯情報として、前記通過軌跡が前記検出線を通過した方向、および前記通過軌跡が前記通過数の計数対象として不適切な軌跡であると推定される第一の軌跡であるか否かの少なくとも一方を判定し、
前記表示制御手段は、前記通過軌跡を、さらに前記付帯情報に応じて、視覚的に区別可能な態様で表示させることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記判定手段は、
所定の長さよりも短い軌跡、前記検出線とのなす角が所定の角度よりも小さい軌跡、および前記検出線の端部と交差する軌跡の少なくとも１つを、前記第一の軌跡として判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判定手段は、
前記非通過軌跡に関する付帯情報として、前記非通過軌跡が、前記検出線の角度、長さおよび位置の少なくとも１つを所定範囲内で変化させた仮想検出線を通過する軌跡である第二の軌跡であるか否かを判定し、
前記表示制御手段は、前記非通過軌跡を、さらに前記付帯情報に応じて、前記第二の軌跡とその他の前記非通過軌跡とを視覚的に区別可能な態様で表示させることを特徴とする請求項２から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記表示制御手段は、
前記判定手段による複数の前記軌跡についての判定結果を用いた統計情報を表示させることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記判定手段による判定結果に基づいて、前記検出線を定量的に評価したスコアを推定する推定手段をさらに備え、
前記表示制御手段は、前記推定手段により推定された前記スコアに関する情報を表示させることを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記表示制御手段は、前記推定手段により推定された前記スコアを表示させることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記取得手段により取得された前記検出線の設定情報をもとに、前記推定手段により推定された前記スコアよりも高いスコアを有する検出線候補を作成する第二の作成手段をさらに備え、
前記表示制御手段は、前記スコアに関する情報として、前記第二の作成手段により作成された前記検出線候補を表示させることを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
前記判定手段は、前記第一の作成手段により前記軌跡が作成されるたびに、前記第一の作成手段により作成された軌跡について、前記軌跡が前記検出線を通過したか否かを判定することを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記第一の作成手段により作成された軌跡を保存する保存手段をさらに備え、
前記判定手段は、
前記保存手段により保存された複数の軌跡について、それぞれ前記検出線を通過したか否かを判定することを特徴とすることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１２】
前記取得手段は、複数の前記検出線の設定情報を取得し、
前記判定手段は、
前記第一の作成手段により作成された軌跡と、前記取得手段により取得された複数の検出線の設定情報とに基づいて、前記軌跡が前記複数の検出線を通過したか否かを判定することを特徴とする請求項１から１１のいずれか１項に記載の画像処理装置。
【請求項１３】
連続した画像をもとに移動体の軌跡を作成するステップと、
前記画像上に設定された、前記移動体の通過数を計数するために用いる検出線の設定情報を取得するステップと、
作成された前記軌跡と、取得された前記検出線の設定情報とに基づいて、前記軌跡が前記検出線を通過したか否かを判定するステップと、
前記軌跡が前記検出線を通過したか否かの判定結果に基づいて、前記検出線を視覚的に評価可能な情報を表示させるステップと、を含むことを特徴とする画像処理方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続した画像から移動体の通過数を計数するための画像処理技術に関する。
【背景技術】
【０００２】
従来、店舗や施設内をカメラによって撮像し、撮像画像から移動体を検出して、所定の領域を通過した移動体の数を計測する技術が提案されている。特許文献１は、異なる時間に取り込んだ画像から移動体の軌跡を抽出し、抽出した軌跡が画像上に設定した検出線（仮想ゲート）を横切ったことを条件に、移動体が通過したものとみなして移動体をカウントする技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−２２３１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、移動体が人物である場合、人の身長や移動経路は多様であるため、人数計数の対象とする人物の軌跡を適切に横切るように検出線を設定することは困難である。つまり、ユーザが意図した計数結果が得られるような適切な検出線を設定することは困難である。
そこで、本発明は、ユーザが、移動体の通過数を計数するために用いる検出線を適切に設定することを補助することを目的としている。
【課題を解決するための手段】
【０００５】
本発明に係る画像処理装置の一態様は、連続した画像をもとに移動体の軌跡を作成する第一の作成手段と、前記画像上に設定された、前記移動体の通過数を計数するために用いる検出線の設定情報を取得する取得手段と、前記第一の作成手段により作成された軌跡と、前記取得手段により取得された検出線の設定情報とに基づいて、前記軌跡が前記検出線を通過したか否かを判定する判定手段と、前記判定手段による判定結果に基づいて、前記取得手段により取得された前記検出線を視覚的に評価可能な情報を表示させる表示制御手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、ユーザが、移動体の通過数を計数するために用いる検出線を適切に設定することを補助することができる。
【図面の簡単な説明】
【０００７】
【図１】画像処理装置の構成例を示す機能ブロック図である。
【図２】画像処理装置のハードウェア構成の一例である。
【図３】第一の実施形態の画像処理装置の動作を示すフローチャートである。
【図４】非通過軌跡の表示例を示す図である。
【図５】通過軌跡の表示例を示す図である。
【図６】通過失敗軌跡の表示例を示す図である。
【図７】非好適通過軌跡を説明するための図である。
【図８】第二の実施形態の画像処理装置の動作を示すフローチャートである。
【図９】第二の実施形態における軌跡の表示例である。
【図１０】軌跡の統計情報の表示例である。
【図１１】画像処理装置の構成例を示す機能ブロック図である。
【図１２】第三の実施形態の画像処理装置の動作を示すフローチャートである。
【図１３】過去の軌跡の判定結果の一例である。
【図１４】検出線候補の示唆の例を示す図である。
【図１５】複数本の検出線の判定結果の表示例である。
【図１６】通過軌跡の統計情報の表示例である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
（第一の実施形態）
本実施形態における画像処理装置は、撮像画像をもとに移動体の通過数を計数する計数処理に用いる検出線の決定を支援（補助）するための装置である。本実施形態では、店舗や施設内の監視を行う監視システムを構成するネットワークカメラが、画像処理装置として動作する場合について説明する。本実施形態におけるネットワークカメラは、所定の撮像領域を撮像し、撮像画像と、その撮像画像に対して上記計数処理を実行した結果とを、ネットワークを介してクライアント装置に送信可能である。ただし、画像処理装置は、ネットワークカメラに限定されるものではなく、録画サーバであってもよいし、パーソナルコンピュータ（ＰＣ）やスマートフォン等であってもよい。
【０００９】
図１は、本実施形態における画像処理装置１００の構成例を示す機能ブロック図である。画像処理装置１００は、画像取得部１０１、移動体軌跡作成部１０２（以下、「軌跡作成部１０２」という。）、保存部１０３、検出線情報取得部１０４、検出線通過判定部１０５（以下、「通過判定部１０５」という。）、および表示制御部１０６を備える。画像取得部１０１は、後述する図２の撮像部１５の撮像面に結像された光像を光電変換によりデジタル電気信号に変換し、そのデジタル電気信号に対して画像処理を施すことで、画像データを取得する。上記画像処理は、ホワイトバランス処理、シャープネス処理、階調変換処理等である。
【００１０】
軌跡作成部１０２は、画像取得部１０１により取得された、時間的に連続する複数の画像を入力し、入力した連続した画像をもとに移動体の軌跡を作成する。本実施形態では、移動体が人物であり、軌跡作成部１０２は、画像内の人物がどう移動したかを表す軌跡を作成する場合について説明する。
軌跡作成部１０２は、まず複数の画像のそれぞれに対して人体検出処理を施し、画像内における人物の位置と大きさとを検出する。軌跡作成部１０２は、パターン認識や機械学習に基づく手法を用いて人物を検出することができる。なお、軌跡作成部１０２は、背景画像と最新の画像との差分によって移動体を検出する方法や、移動体の検出と人物の検出とを組み合わせる方法を用いて人物を検出してもよい。検出結果は、矩形や楕円などの任意の図形を用いて表現することができる。
【００１１】
次に、軌跡作成部１０２は、各画像の移動体の検出結果をもとに、同一人物の検出結果同士を対応付ける対応付け処理を行う。具体的には、軌跡作成部１０２は、最も類似度の高い検出結果の組から順番に対応付けを行っていく方法や、全体の類似度の和が最大になるよう対応付けを行う方法を用いることができる。最後に、軌跡作成部１０２は、上記の対応付け処理により対応付けがなされた検出結果をすべて繋ぎ合わせることで、人物の軌跡を作成する。このとき、軌跡作成部１０２は、検出結果を表す図形の重心や最下点といった所定の点をつなぎ合わせることで、人物の軌跡を作成する。この場合、人物の軌跡は、複数の線分の集合として表現される。
【００１２】
保存部１０３は、画像取得部１０１により取得された画像と、軌跡作成部１０２により作成された軌跡とを保存する。検出線情報取得部１０４は、画像上に設定された、移動体の通過数を計測するために用いる検出線の設定情報を取得する。検出線は、１つの線分、もしくは複数の線分の集合として表現することができる。ユーザは、クライアント装置が備えるモニタ（表示部）に表示された画像を参照しながら、画像上の複数点をクライアント装置が備えるキーボードやマウス等のポインティングデバイスを用いて指定することで、検出線を設定することができる。検出線情報取得部１０４は、検出線の設定情報として、ユーザが指定した複数の点の画像上の位置情報や、ユーザが指定した複数の点によって形成される線分の情報を取得する。
【００１３】
通過判定部１０５は、軌跡作成部１０２により作成された軌跡と、検出線情報取得部１０４により取得された検出線の設定情報とに基づいて、上記軌跡が上記検出線を通過したか否かを判定する通過判定処理を行う。本実施形態における通過判定部１０５は、軌跡作成部１０２により軌跡が作成されるたびに、軌跡作成部１０２により作成された軌跡について上記通過判定処理を行う。この通過判定処理は、軌跡を表す複数の線分と検出線を表す少なくとも１つの線分とのすべての組み合わせに対して交差判定を行うことで、実現することができる。
【００１４】
表示制御部１０６は、通過判定部１０５による判定結果に基づいて、所定の表示デバイスの表示制御を行う。本実施形態では、表示デバイスは、クライアント装置が備えるモニタ等の表示部である。なお、画像処理装置１００が表示機能を有する場合、上記表示デバイスは画像処理装置１００が備える表示部であってもよい。
この表示制御部１０６は、通過判定部１０５による判定結果に基づいて、検出線情報取得部１０４によって取得された検出線を視覚的に評価可能な情報を表示させる。本実施形態では、表示制御部１０６は、軌跡作成部１０２によって作成された軌跡を、検出線を通過した通過軌跡であるか、検出線を通過していない非通過軌跡であるかを視覚的に区別可能な態様で表示させる。この場合、ユーザは、自身が設定した検出線によって人数計数が可能か否かを容易に確認することができる。つまり、上記のように視覚的区別を与えて表示された軌跡は、検出線を視覚的に評価可能な情報であるといえる。軌跡の表示方法については後述する。
【００１５】
図２は、画像処理装置１００として動作するネットワークカメラのハードウェア構成を示す図である。
画像処理装置１００は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、外部メモリ１４と、撮像部１５と、入力部１６と、通信Ｉ／Ｆ１７と、システムバス１８とを備える。ＣＰＵ１１は、画像処理装置１００における動作を統括的に制御するものであり、システムバス１８を介して、各構成部（１２〜１７）を制御する。ＲＯＭ１２は、ＣＰＵ１１が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、このプログラムは、外部メモリ１４や着脱可能な記憶媒体（不図示）に記憶されていてもよい。ＲＡＭ１３は、ＣＰＵ１１の主メモリ、ワークエリアとして機能する。つまり、ＣＰＵ１１は、処理の実行に際してＲＯＭ１２から必要なプログラムをＲＡＭ１３にロードし、ロードしたプログラムを実行することで各種の機能動作を実現する。
【００１６】
外部メモリ１４は、ＣＰＵ１１がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶している。また、外部メモリ１４には、例えば、ＣＰＵ１１がプログラムを用いた処理を行うことにより得られた各種データや各種情報が記憶される。撮像部１５は、被写体の撮像を行うためのものであり、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）、ＣＣＤ（Charge Coupled Device）等の撮像素子を含んで構成される。入力部１６は、各種設定ボタンや電源ボタンなどから構成される。通信Ｉ／Ｆ１７は、通信相手であるクライアント装置と通信するためのインターフェースである。なお、画像処理装置１００が、撮像機能を有していない場合には、撮像部１５は不要である。また、画像処理装置１００が、表示機能を有する場合には、ハードウェア構成として、液晶ディスプレイ（ＬＣＤ）等のモニタで構成される表示部が追加される。
図１に示す画像処理装置１００の各部の機能は、ＣＰＵ１１がプログラムを実行することで実現することができる。ただし、図１に示す画像処理装置１００の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。
【００１７】
次に、画像処理装置１００の動作について、図３を参照しながら説明する。画像処理装置１００は、ＣＰＵ１１が所定のプログラムを読み出して実行することにより、図１に示す各要素の処理、および図３で示す各処理を実現する。ただし、上述したように、図１で示す各要素のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。
まずＳ１において、検出線情報取得部１０４は、ユーザが設定した検出線の設定情報を取得し、Ｓ２に移行する。Ｓ２では、画像取得部１０１は画像を取得し、軌跡作成部１０２は、画像取得部１０１によって取得された画像をもとに人物の軌跡を作成する。次にＳ３では、通過判定部１０５は、Ｓ２において作成された軌跡が、Ｓ１において取得された検出線を通過するか否かを判定する。この際、通過判定部１０５は、Ｓ２において作成された通過判定対象である軌跡に関する付帯情報を同時に判定してもよい。付帯情報の詳細については後述する。
【００１８】
Ｓ４では、表示制御部１０６は、Ｓ３における判定結果に基づいて、軌跡の表示制御を行う。本実施形態では、Ｓ２において作成された軌跡を、Ｓ１において取得された検出線を通過した「通過軌跡」であるか、上記検出線を通過していない「非通過軌跡」であるかが視覚的に区別可能な方法で表示デバイスに表示させる。
図４に示す人物３０１の軌跡２０１は、人物３０１の頭部（もしくは上半身）を検出した検出結果３０１ａをもとに作成された軌跡である。図４に示す例では、人物３０１は検出線４０１を通過しておらず、軌跡２０１と検出線４０１とは交差していないため、通過判定部１０５は、軌跡２０１を非通過軌跡と判定する。この場合、表示制御部１０６は、非通過軌跡２０１を、図４に示すように点線で表示させる。
【００１９】
図５に示す人物３０２の軌跡２０２は、人物３０２の頭部（もしくは上半身）を検出した検出結果３０２ａをもとに作成された軌跡である。図５に示す例では、人物３０２は検出線４０１を通過しており、軌跡２０２と検出線４０１とが交差しているため、通過判定部１０５は、軌跡２０２を通過軌跡と判定する。この場合、表示制御部１０６は、通過軌跡２０２を、図５に示すように実線で表示させる。
図４および図５に示すように、通過軌跡と非通過軌跡とを視覚的に区別可能な方法で表示させることで、ユーザは、自身が設定した検出線によって意図した人数計数が適切に行えるか否かを容易に把握することができる。
【００２０】
また、通過判定部１０５は、単に軌跡が検出線を通過した通過軌跡であるか否かだけではなく、軌跡の付帯情報に応じて、軌跡をさらに視覚的に区別可能な態様で表示させてもよい。付帯情報とは、通過軌跡および非通過軌跡のそれぞれを、軌跡の性質に応じてさらに区別するための属性情報である。以下、付帯情報について説明する。
検出線を通過しない軌跡である非通過軌跡には、検出線が少しずれていれば検出線を通過する通過軌跡となり得た「通過失敗軌跡」が含まれる。通過失敗軌跡は、検出線情報取得部１０４によって取得された検出線の角度、長さ、位置の少なくとも１つを所定範囲内で変化させた仮想検出線を通過する軌跡（第二の軌跡）である。また、検出線を通過した軌跡である通過軌跡には、人物の計数として好ましくない性質を持つ可能性がある「非好適通過軌跡」が含まれる。非好適通過軌跡は、移動体の通過数の計数対象として不適切な軌跡であると推定される軌跡（第一の軌跡）である。非好適通過軌跡には、全長が所定の長さよりも短い軌跡、検出線とのなす角が所定の角度よりも小さい軌跡、および検出線の端部と交差する軌跡の少なくとも１つが含まれる。
【００２１】
そこで、通過判定部１０５は、通過判定対象である軌跡が非通過軌跡である場合には、非通過軌跡に関する付帯情報として、その非通過軌跡が通過失敗軌跡であるか否かを判定する。そして、表示制御部１０６は、非通過軌跡を、さらに付帯情報に応じて、通過失敗軌跡とその他の非通過軌跡とを視覚的に区別可能な態様で表示させてもよい。また、通過判定部１０５は、通過判定対象である軌跡が通過軌跡である場合には、通過軌跡に関する付帯情報として、その通過軌跡が非好適通過軌跡であるか否かを判定する。そして、表示制御部１０６は、通過軌跡を、さらに付帯情報に応じて、非好適通過軌跡とその他の通過軌跡とを視覚的に区別可能な態様で表示してもよい。
【００２２】
図６に示す人物３０３の軌跡２０３は、人物３０３の頭部（もしくは上半身）を検出した検出結果３０３ａをもとに作成された軌跡である。図６に示す例では、軌跡２０３と検出線４０１とは交差していないため、軌跡２０３は非通過軌跡である。ただし、軌跡２０３は、検出線４０１の近傍を通っており、もし検出線４０１が少しずれた位置に存在していたり、検出線４０１が少し長く設定されたりしていたら、軌跡２０３は検出線４０１と交差していた可能性が高い。そのため、通過判定部１０５は、この軌跡２０３を、検出線４０１の角度、長さ、位置の少なくとも１つを所定範囲内で変化させた仮想検出線を通過する通過失敗軌跡であると判定する。
このように、作成された軌跡が通過失敗軌跡である場合、表示制御部１０６は、通過失敗軌跡２０３を、図６に示すように破線で表示させてもよい。つまり、表示制御部１０６は、通過失敗軌跡である軌跡２０３を、図４に示す非通過軌跡である軌跡２０１とは区別して表示させてもよい。これにより、通過判定対象である軌跡が非通過軌跡である場合、ユーザは、その軌跡が通過失敗軌跡であるか否かを容易に把握することができる。
【００２３】
図７に示す軌跡２０４〜２０６は、非好適通過軌跡の例である。軌跡２０４は、全長が所定の長さよりも短い軌跡である。このような短い軌跡は、人体検出処理において誤検出や未検出をした結果作成されることが多い。また、軌跡２０５は、検出線４０２とのなす角が所定の角度よりも小さい軌跡である。このような検出線とのなす角が小さい軌跡は、誤って検出線を複数回通過したと判定されたり、検出線を通過する向きが揺らいだりしやすい。さらに、軌跡２０６は、検出線の端部を通過する軌跡である。このような検出線との交点が検出線の端部に近い軌跡は、検出線を通過するか否かの判定が揺らぎやすい。これらの軌跡２０４〜２０６はすべて、人物の計数結果が真値と異なりやすくなる原因となる。
そこで、本実施形態では、表示制御部１０６は、非好適通過軌跡２０４〜２０６を、図７に示すように一点鎖線で表示させてもよい。つまり、表示制御部１０６は、非好適通過軌跡である軌跡２０４〜２０６を、非好適通過軌跡ではない実線で示す通過軌跡２０７とは区別して表示させてもよい。これにより、通過判定対象である軌跡が通過軌跡である場合、ユーザは、その軌跡が非好適通過軌跡であるか否かを容易に把握することができる。
【００２４】
なお、通過判定部１０５は、非好適通過軌跡を、非好適とみなされる原因に応じてさらに細分類し、その原因ごとに異なる視覚的区別を与えるようにしてもよい。また、通過判定部１０５は、通過軌跡に関する付帯情報として、軌跡が検出線を通過した方向を判定し、表示制御部１０６は、通過軌跡を、さらに付帯情報に応じて、視覚的に区別可能な態様で表示させてもよい。つまり、検出線が画像の上方から下方に向けて引かれている場合、人物が検出線を右から左に通過したか、左から右に通過したかに応じて視覚的区別を与えてもよい。さらに、軌跡の視覚的区別の方法としては、線の種類を変える方法に限定されるものではなく、線の太さ、色、明度を変える方法を用いることもできる。また、アイコンやメッセージや値を表示することで軌跡の視覚的区別を与えてもよい。
図３に戻って、Ｓ５では画像処理装置１００は、図３の処理を終了するか否かを判定する。具体的には、画像処理装置１００は、新たな移動体の出現を待ち受けるか否かを判定する。そして、新たな移動体の出現を待ち受ける場合はＳ２へ戻り、待ち受けない場合は処理を終了する。
【００２５】
以上のように、本実施形態では、画像処理装置１００は、ユーザが設定した検出線の設定情報を取得し、連続画像から移動体の軌跡を作成し、作成した軌跡と取得した検出線の設定情報とに基づいて、軌跡が検出線を通過したか否かを判定する。そして、画像処理装置１００は、軌跡が検出線を通過したか否かの判定結果に基づいて、検出線を通過した軌跡と通過していない軌跡とを視覚的に区別可能な方法で表示させるよう表示制御する。
このように、画像処理装置１００は、画像上に設定された検出線に対して通過判定処理を行い、その判定結果に基づいて、検出線を視覚的に評価可能な情報を表示させる。したがって、ユーザは、設定された検出線が意図した人数計数を実現可能な検出線であるか否かを容易に把握することができる。
【００２６】
また、画像処理装置１００は、上記判定結果に基づいて、軌跡を、通過軌跡であるか非通過軌跡であるかを視覚的に区別可能な態様で表示させるので、ユーザは、設定された検出線によって人数計数が可能か否かを容易に確認することができる。さらに、画像処理装置１００が軌跡を表示させることで、軌跡が通過軌跡である場合には、ユーザは軌跡が検出線のどの位置を通過したか（中央部を通過したのか、端部を通過したのか）を確認することができる。また、軌跡が非通過軌跡である場合には、ユーザは軌跡が検出線に対してどのくらい離れた位置を通過したかを確認することができる。このように、画像処理装置１００は、設定された検出線が、ユーザの意図した計数結果が得られる適切な検出線であるか否かをユーザに提示することができ、ユーザに対して検出線の修正のヒントを与えることができる。
【００２７】
ところで、次のような場合、ユーザが意図した人数計数を実現するように検出線を引くことが困難である。例えば、ユーザが、店舗のレジ前を通過した人数を計数するための検出線を設定しようとする場合であって、画像処理において、人物の頭部の検出結果に基づいて軌跡が作成される場合を考える。この場合、ユーザは、撮像領域のうち、レジ前を通過する人の頭部が作りうる軌跡を横切るように検出線を設定する必要がある。しかしながら、人の身長や移動経路は多様であり、レジ前に現れる人の頭部の位置を予想することは困難である。そのため、ユーザが設定した検出線が、レジ前を通過した人数を計数するための適切な検出線とはならない場合がある。また、ユーザが設定した検出線が、レジ前を通過した人数を計数するための適切な検出線であるか否かをユーザが知ることも困難である。したがって、移動体の通過数を計数するために用いる検出線を適切に設定するためには、試行錯誤を要する。
さらに、移動体の軌跡は、動体検出や人体検出の結果に依存するため、常に正しく作成されるとは限らない。例えば、人の頭部の検出結果を使って軌跡を作成する場合、背景の棚に人体の頭部と誤検出されやすい物体が存在する場合、その物体の周辺では誤った軌跡が作成されやすい。そのため、上記のような棚の近くに検出線を引くと、人数計数の結果が真値から外れやすくなる。
【００２８】
これに対して、本実施形態における画像処理装置１００は、上述したように、設定された検出線が、ユーザの意図した計数結果が得られる適切な検出線であるか否かをユーザに提示することができる。また、画像処理装置１００は、移動体の軌跡を表示させることで、動体検出や人体検出の誤検出により不自然な軌跡が作成されている場合には、移動体の軌跡が精度良く作成できない位置に検出線が設定されていることをユーザに認識させることができる。このように、画像処理装置１００は、ユーザが、移動体の通過数を計数するために用いる検出線を適切に設定することを補助することができる。
【００２９】
さらに、画像処理装置１００は、軌跡が検出線を通過したか否かだけでなく、軌跡に関する付帯情報に応じて、軌跡をさらに視覚的に区別可能な態様で表示させる。したがって、軌跡が通過軌跡である場合、ユーザは、設定した検出線が安定して精度良く人数計数可能な検出線であるか否かを容易に確認することができる。さらに、軌跡が非通過軌跡である場合、ユーザは、設定した検出線をどのように修正すれば人数計数が可能になるかを容易に確認することができる。
また、画像処理装置１００は、移動体の軌跡が作成されるたびに、作成された軌跡について通過判定処理を行うことができる。つまり、画像処理装置１００は、撮像画像からリアルタイムで移動体の軌跡を作成し、逐次的に通過判定処理を行うことができる。したがって、ユーザは、設定した検出線が現在の状況（撮像領域や時間帯など）に適した設定であるか否かを容易に確認することができる。
【００３０】
（第二の実施形態）
次に、本発明の第二の実施形態について説明する。
上述した第一の実施形態では、移動体の軌跡が作成されるたびに、作成された軌跡について通過判定処理を行う場合について説明した。第二の実施形態では、過去に作成し保存された複数の軌跡について通過判定処理を行う場合について説明する。つまり、第二の実施形態における画像処理装置１００は、保存部１０３によって保存された過去の軌跡を利用して通過判定処理および表示制御を行う。
図８は、第二の実施形態における画像処理装置１００の動作を示すフローチャートである。画像処理装置１００は、ＣＰＵ１１が所定のプログラムを読み出して実行することにより、図１に示す各要素の処理、および図８で示す各処理を実現する。ただし、上述したように、図１で示す各要素のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。図８において、図３に示す第一の実施形態と同様の処理には同一ステップ番号を付し、以下、処理の異なる部分を中心に説明する。
【００３１】
Ｓ１における処理の後、Ｓ１１では、通過判定部１０５は、保存部１０３によって保存された過去の軌跡から、所定本数の軌跡を選択する。軌跡の選択方法は任意の方法を採用することができる。例えば、任意の正の整数ｎを設定し、過去の軌跡のうち直近のｎ本を選択してもよいし、ランダムにｎ本を選択してもよい。また、軌跡の位置や長さなどのバリエーションが大きくなるような選択方法を採用してもよい。なお、Ｓ１１において、通過判定部１０５が保存部１０３によって保存された軌跡を選択するのではなく、軌跡作成部１０２が保存部１０３によって保存された過去の映像（連続画像）を選択し、選択した連続画像をもとに軌跡を作成し直してもよい。
【００３２】
Ｓ１２では、通過判定部１０５は、Ｓ１１において取得された複数の軌跡について、それぞれ図３のＳ３と同様に検出線を通過したか否かを判定し、さらに軌跡に関する付帯情報を取得する。Ｓ１３では、表示制御部１０６は、Ｓ１２における判定結果に基づいて、軌跡の表示制御を行う。本実施形態では、Ｓ１１において選択したｎ本の軌跡を１画面に表示させる方法を採用する。その際、上述した第一の実施形態と同様に、単に軌跡が検出線を通過したか否かだけではなく、軌跡に関する付帯情報に応じて、軌跡をさらに視覚的に区別可能な態様で表示してもよい。
【００３３】
図９は、軌跡の表示例を示す図である。図９において、通過軌跡である軌跡２０８および軌跡２０９は、実線で表示されている。軌跡２１０も通過軌跡であるが、全長が所定の長さよりも短いので、非好適通過軌跡と判定されている。そのため、軌跡２１０は、非好適通過軌跡ではない通過軌跡２０８および２０９と区別可能なように、一点鎖線で表示されている。また、軌跡２１１および軌跡２１２は、非通過軌跡であり、点線で表示されている。軌跡２１３および軌跡２１４も非通過軌跡であるが、検出線４０１が少し延長された場合に検出線４０１を通過し得る軌跡であるため、通過失敗軌跡と判定されている。そのため、軌跡２１３および軌跡２１４は、非通過軌跡２１１および２１２と区別可能なように、破線で表示されている。
【００３４】
図８のＳ１４では、表示制御部１０６は、Ｓ１２における複数の軌跡についての判定結果を用いた統計情報を表示させる表示制御を行う。統計情報は、Ｓ１１において選択された軌跡のうち、通過軌跡、非好適通過軌跡、通過失敗軌跡、非通過軌跡の割合を示す情報である。統計情報の表示例を図１０に示す。図１０は、統計情報５０１を積み上げ棒グラフより表示する例を示している。なお、統計情報の表示方法は図１０に示す方法に限定されるものではない。例えば、表示制御部１０６は、統計情報として、通過軌跡、非好適通過軌跡、通過失敗軌跡、非通過軌跡の本数を表示させてもよい。また、表示制御部１０６は、統計情報を棒グラフではなく、「○○％の軌跡を検出できます。」といったコメントを表示させてもよい。さらに、統計情報は、付帯情報を用いた情報に限定されるものではなく、単純に通過軌跡と非通過軌跡との割合を示す情報であってもよい。
【００３５】
以上のように、本実施形態では、画像処理装置１００は、複数の軌跡を、軌跡の性質に応じて異なる態様で表示させたり、軌跡に関する統計情報を表示させたりする。このように、複数の軌跡について実施した通過判定処理の判定結果を用いた統計情報が表示されることで、ユーザは、検出線の良し悪しをより容易に把握することができる。なお、本実施形態では、画像処理装置１００が、視覚的区別を与えた軌跡の表示制御と統計情報の表示制御とを両方行う場合について説明したが、いずれか一方のみを行うようにしてもよい。
また、画像処理装置１００は、保存部１０３により保存された過去の複数の軌跡のそれぞれについて通過判定処理を行い、その判定結果を用いた表示制御を行う。そのため、画像処理装置１００は、ユーザが検出線を設定するたびに、検出線を視覚的に評価可能な情報を速やかに表示させることができる。したがって、ユーザは、適切な検出線位置を短時間で探し出すことができる。このように、ユーザは、自身の意図に近い人数計数を実現する検出線を設定しやすくなる。
【００３６】
（第三の実施形態）
次に、本発明の第三の実施形態について説明する。
第三の実施形態では、ユーザが設定した検出線の良さを定量的に表すスコアを推定し、そのスコアに関する情報をユーザに提示する場合について説明する。ユーザが設定した検出線の引き方が適切ではない場合、移動体の計数処理の精度が低下するという問題がある。そこで、本実施形態では、設定された検出線の良さを表すスコアを推定し、推定したスコアが所定値未満である場合に警告を発したり、より適切な検出線の候補を示唆したりする。
図１１は、第三の実施形態における画像処理装置１００の構成例を示すブロック図である。この図１１において、図１と同様の構成を有する部分には同一符号を付し、構成の異なる部分を中心に説明する。
【００３７】
スコア計算部１０７は、通過判定部１０５による判定結果に基づいて、検出線情報取得部１０４により取得された検出線の良さを定量的に評価したスコアを推定（計算）する。スコアの計算方法については後述する。検出線作成部１０８は、検出線情報取得部１０４により取得された検出線の設定情報をもとに、スコア計算部１０７により推定されたスコアよりも高いスコアを有する検出線候補を作成する。表示制御部１０９は、スコアに関する情報を表示させる表示制御を行う。具体的には、スコアに関する情報として、スコア計算部１０７によって計算されたスコアを表示させたり、検出線作成部１０８によって作成された検出線候補を表示させたりする。
【００３８】
図１２は、第三の実施形態における画像処理装置１００の動作を示すフローチャートである。画像処理装置１００は、ＣＰＵ１１が所定のプログラムを読み出して実行することにより、図１１に示す各要素の処理、および図１２で示す各処理を実現する。ただし、図１１で示す各要素のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。図１２において、図８に示す第二の実施形態と同様の処理には同一ステップ番号を付し、以下、処理の異なる部分を中心に説明する。
【００３９】
Ｓ１２における処理の後、Ｓ２１では、スコア計算部１０７は、Ｓ１において取得した検出線のスコアを計算する。まず、スコア計算部１０７は、Ｓ１において取得した検出線を基準検出線として、回転を加えた検出線、長さを変更した検出線、平行移動させた検出線、といった複数のバリエーションを作成する。そして、スコア計算部１０７は、それぞれの検出線について、保存部１０３によって保存された過去の軌跡をもとに、通過数の計数を行う。１つの基準検出線に対して作成された複数のバリエーション間における計数結果の分散が大きいほど、移動体の計数結果は安定しない可能性が高いと推定できる。そのため、この場合には、スコア計算部１０７は、上記基準検出線に対して小さな値のスコアを与える。
【００４０】
別の計算方法として、スコア計算部１０７は、まず、Ｓ１において取得した検出線を通過する全通過軌跡に対する非好適通過軌跡の割合を求める。非好適通過軌跡のうち短い軌跡は、移動体を誤検出した結果作成される可能性が高い。また、非好適通過軌跡のうち検出線とのなす角が小さい軌跡は、誤って検出線を複数回通過したり、検出線を通過する向きが揺らいだりしやすい。そして、これらの非好適通過軌跡は、移動体の計数結果の信頼性を下げる原因となる。したがって、全通過軌跡に対する非好適通過軌跡の割合が大きいほど、移動体の計数結果は安定しない可能性が高いと推定できる。そのため、この場合には、スコア計算部１０７は、Ｓ１において取得した検出線に対して小さな値のスコアを与える。
ただし、検出線のスコアの計算方法は、上記の二つの方法に限定されるものではない。スコアの計算方法は、移動体の計数結果が安定する検出線であるほど、スコアが大きな値となる計算方法であればよい。
【００４１】
次にＳ２２において、検出線作成部１０８は、Ｓ１において取得した検出線よりも適切な検出線候補を作成する。まず、Ｓ１において取得した検出線を基準検出線として、前述したような複数のバリエーションを作成する。次に、作成した複数のバリエーションのそれぞれについてスコアを計算し、定量的に評価する。そして、スコアの大きい順に１本以上の検出線を選択し、選択した検出線を検出線候補として決定する。
Ｓ２３では、表示制御部１０９は、スコアに関する情報として、Ｓ２１およびＳ２２の少なくとも一方の処理結果をユーザに提示する。Ｓ２１の処理結果をユーザに提示する場合、表示制御部１０９は、Ｓ２１において計算した検出線のスコアを表示デバイスに表示させる。このように、表示制御部１０９は、検出線のスコアを表示させることで、ユーザが設定した検出線の良さをユーザに知らせることができる。また、表示制御部１０９は、Ｓ２１において計算した検出線のスコアが所定値よりも小さい場合、警告を表示させてもよい。さらに、表示制御部１０９は、軌跡を視覚的に区別可能な態様で表示することで、検出線のスコアの根拠をユーザに提示するようにしてもよい。また、表示制御部１０９は、検出線のスコアに応じて、検出線を視覚的に区別可能な態様で表示してもよい。
【００４２】
また、Ｓ２３では、表示制御部１０９は、Ｓ２２において決定した検出線候補を表示させることで、ユーザに対してより良い検出線を示唆するようにしてもよい。この場合、示唆された検出線によって元の検出線を置換するかどうかをユーザに選択させるユーザインタフェースを表示させることもできる。また、画像処理装置１００は、検出線候補をユーザに提示することなく、検出線候補によって元の検出線を置換してもよい。
図１３は、ユーザが設定した検出線４０３について、保存部１０３により保存された軌跡２１５〜２１７の通過判定処理を行った結果である。検出線４０３を通過する通過軌跡は、非好適通過軌跡である軌跡２１５のみであり、検出線４０３の近傍には通過失敗軌跡である軌跡２１６および２１７が存在する。つまり、図１３に示す検出線４０３は、移動体を安定して高精度に計数可能な検出線ではない。
【００４３】
ユーザが図１３に示す検出線４０３を設定した場合、検出線作成部１０８は、検出線４０３よりもスコアの高い検出線候補を作成し、表示制御部１０９は、検出線作成部１０８によって作成された検出線候補を表示させる。図１４に示す検出線４０４は、検出線４０３をもとに作成された検出線候補である。この検出線候補４０４は、検出線４０３に対して、回転、平行移動、長さ変更の少なくとも１つが実行された検出線である。より具体的には、検出線作成部１０８は、ユーザが設定した検出線４０３を所定の角度ずつ回転させる、所定の距離ずつ平行移動させる、所定の長さずつ長さを変更するという処理を適宜組み合わせることで、検出線４０３の複数のバリエーションを作成する。次に、検出線作成部１０８は、それぞれのバリエーションに対するスコアを計算し、定量的に評価する。そして検出線作成部１０８は、スコアが大きい順に１本以上の検出線を検出線候補として選択する。表示制御部１０９は、上記のようにして検出線作成部１０８により選択された検出線候補（検出線４０４）を表示デバイスに表示させる。なお、検出線作成部１０８は、検出線４０３に対する長さ変更として、検出線４０３を長くする変更と、短くする変更の一方又は両方を行うことができる。検出線候補４０４について、軌跡２１５〜２１７の通過判定を行った結果、軌跡２１５〜２１７は、それぞれ非好適通過軌跡ではない通過軌跡となっている。なお、検出線候補の示唆方法は、図１４に示す方法に限定されるものではなく、任意の方法を用いることができる。
【００４４】
以上のように、本実施形態では、画像処理装置１００は、検出線を定量的に評価したスコアを推定し、推定したスコアに関する情報を表示させる表示制御を行う。したがって、ユーザは、設定された検出線が意図した人数計数を実現可能な検出線であるか否かを容易に把握することができる。また、画像処理装置１００は、ユーザによって検出線が設定された場合、設定された検出線よりもスコアの高い検出線候補を作成し、作成した検出線候補を表示させる表示制御を行う。したがって、画像処理装置１００は、ユーザに対してより適切な検出線を示唆することができ、ユーザは容易に検出線の修正を行うことができる。
【００４５】
（第四の実施形態）
次に、本発明の第四の実施形態について説明する。
上述した第一〜第三の実施形態では、ユーザが１つの検出線を設定する場合について説明した。第四の実施形態では、ユーザが複数の検出線を設定する場合について説明する。つまり、第四の実施形態における画像処理装置１００は、画像上に設定された複数の検出線の設定情報を取得し、移動体の軌跡が複数の検出線を通過したか否かを判定する通過判定処理を行う。このように、複数の検出線を通過した軌跡を取り出せるようにすることで、より精密な移動体の移動傾向の分析を可能にする。
本実施形態における画像処理装置１００の動作の流れは、図８に示す画像処理装置１００の動作の流れと同様である。ただし、各ステップにおける処理の内容は異なる。また、本実施形態における画像処理装置１００の構成は、図１に示す第二の実施形態における画像処理装置１００の構成と同様である。
【００４６】
図８のＳ１に対応する処理では、検出線情報取得部１０４は、複数の検出線の設定情報を取得する。Ｓ１１に対応する処理は、第二の実施形態と同様である。Ｓ１２に対応する処理においては、通過判定部１０５は、Ｓ１１に対応する処理において取得された複数の軌跡について、それぞれＳ１に対応する処理において取得された複数の検出線を通過したか否かを判定する通過判定処理を行う。
Ｓ１３に対応する処理では、表示制御部１０６は、通過判定処理の判定結果を表示させる表示制御を行う。図１５は、ユーザが複数の検出線４０５〜４０７を設定した場合における、通過判定の判定結果の表示例である。図１５に示す例では、判定結果に応じて軌跡を次の４つに分類し、視覚的に区別可能な方法で表示している。
【００４７】
１つ目の軌跡は、検出線４０５と検出線４０６の両方を通過する軌跡２１８であり、図１５では一点鎖線で表示している。２つ目の軌跡は、検出線４０５と検出線４０７の両方を通過する軌跡のうち、上記の１つ目の条件を満たす軌跡を除く軌跡２１９および２２０であり、図１５では二点鎖線で表示している。３つ目の軌跡は、検出線４０５を通過するが検出線４０６および検出線４０７を通過しない軌跡２２１であり、図１５では実線で表示している。４つ目の軌跡は、検出線４０５を通過しない軌跡２２２であり、図１５では点線で表示している。なお、軌跡の視覚的区別の方法としては、線の種類を変える方法に限定されるものではなく、線の太さ、色、明度を変えることで視覚的区別を与えてもよい。
【００４８】
次に、Ｓ１４に対応する処理では、表示制御部１０６は、統計情報を表示デバイスに表示させる表示制御を行う。図１６は、統計情報５０２の表示例である。図１６の左側の棒グラフは、Ｓ１１に対応する処理において選択されたすべての軌跡のうち、検出線４０５の通過軌跡の割合を示す棒グラフである。また、図１６の右側の棒グラフは、検出線４０５の通過軌跡のうち、上記の１つ目の軌跡と２つ目の軌跡とのいずれかに分類される軌跡の割合を示す積み上げ棒グラフである。なお、図１６においては、検出線４０５を検出線Ａ、検出線４０６を検出線Ｂ、検出線４０７を検出線Ｃで表している。
このように、検出線が複数設定される場合には、画像処理装置１００は、軌跡が複数の検出線を通過するか否かを判定し、その判定結果に応じた表示制御を行う。したがって、検出線が複数設定される場合であっても、画像処理装置１００は、軌跡を、軌跡の性質に応じて異なる態様で表示させたり、検出線に関する統計情報を表示させたりすることができる。その結果、ユーザは、移動体の移動形状を容易に把握することができ、自身の意図に近い人数計数を実現する検出線を設定しやすくなる。
【００４９】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５０】
１００…画像処理装置、１０１…画像取得部、１０２…移動体軌跡作成部、１０３…保存部、１０４…検出線情報取得部、１０５…検出線通過判定部、１０６…表示制御部、２０１〜２２２…軌跡、３０１〜３０３…移動体（人物）、４０１〜４０７…検出線、５０１，５０２…統計情報
【図１】
0006433389.tif 000002
【図２】
0006433389.tif 000003
【図３】
0006433389.tif 000004
【図４】
0006433389.tif 000005
【図５】
0006433389.tif 000006
【図６】
0006433389.tif 000007
【図７】
0006433389.tif 000008
【図８】
0006433389.tif 000009
【図９】
0006433389.tif 000010
【図１０】
0006433389.tif 000011
【図１１】
0006433389.tif 000012
【図１２】
0006433389.tif 000013
【図１３】
0006433389.tif 000014
【図１４】
0006433389.tif 000015
【図１５】
0006433389.tif 000016
【図１６】
0006433389.tif 000017