(57)【特許請求の範囲】
【請求項１】
画像を取得する取得手段と、
前記取得手段により取得された画像からオブジェクトを検出する検出手段と、
前記取得手段により取得された複数の画像から前記検出手段により検出されたオブジェクトの数と、前記複数の画像における前記オブジェクトの位置と、前記複数の画像において前記オブジェクトが検出されていた期間とに基づいて、前記複数の画像より後に前記取得手段により取得される画像においてオブジェクトの数を計数する計数処理が実行される計数領域を決定する決定手段と、
前記決定手段により決定された計数領域に対して実行された前記計数処理の結果を出力する出力手段とを有し、
前記決定手段は、決定した第１計数領域と第２計数領域の距離に応じて、前記第１計数領域及び前記第２計数領域を１つの計数領域として統合することを特徴とする画像処理装置。
【請求項２】
画像を取得する取得手段と、
前記取得手段により取得された画像からオブジェクトを検出する検出手段と、
前記取得手段により取得された複数の画像から前記検出手段により検出されたオブジェクトの数と、前記複数の画像における前記オブジェクトの位置と、前記複数の画像において前記オブジェクトが検出されていた期間とに基づいて、前記複数の画像より後に前記取得手段により取得される画像においてオブジェクトの数を計数する計数処理が実行される計数領域を決定する決定手段と、
前記決定手段により決定された計数領域に対して実行された前記計数処理の結果を出力する出力手段と、
前記取得手段により取得された複数の画像のそれぞれから検出されたオブジェクトを、当該オブジェクトの位置及び特徴量のうち少なくとも何れかを用いて対応付ける追尾手段とを有し、
前記決定手段は、第１計数領域と第２計数領域とを前記計数処理が実行される領域として決定した場合、前記追尾手段により対応付けられたオブジェクトが前記第１計数領域と前記第２計数領域とで検出されたか否かの情報に基づいて、前記第１計数領域及び前記第２計数領域を統合することを特徴とする画像処理装置。
【請求項３】
前記取得手段により取得された画像を複数に分割した分割領域を設定する設定手段を更に有し、
前記決定手段は、前記複数の画像における前記分割領域の各々において前記検出手段により検出されたオブジェクトの数と、前記分割領域の各々において前記オブジェクトが検出されていた期間とに基づいて、前記計数処理が実行される計数領域を決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記分割領域において検出されたオブジェクトの数と、当該分割領域における前記オブ
ジェクトが検出されていた期間とに基づき、当該分割領域においてオブジェクトが存在する度合を示す存在度を算出する算出手段を更に有し、
前記算出手段は、前記設定手段により設定された分割領域の各々について前記存在度を算出し、
前記決定手段は、前記算出手段により前記分割領域の各々について算出された存在度に基づき、１つ又は複数の分割領域を前記計数処理が実行される計数領域として決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記決定手段は、前記設定手段により設定された複数の前記分割領域のうち、前記算出手段により算出された存在度が閾値以上の分割領域を含む領域を前記計数処理が実行される計数領域として決定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記決定手段により第１の複数の画像に基づいて決定された領域を、前記第１の複数の画像より後に前記取得手段により取得された画像から前記算出手段により算出された存在度に応じて変更する変更手段を有することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記出力手段は、前記決定手段により決定された計数領域から検出されたオブジェクトの数を表示手段に表示させることを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記出力手段は、前記決定手段により決定された計数領域のサイズと、当該計数領域から検出されたオブジェクトの数とに基づいて算出された当該計数領域の混雑度を示す情報を表示手段に表示させることを特徴とする請求項１乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記出力手段は、前記決定手段により決定された計数領域を示す情報を表示手段に表示させることを特徴とする請求項１乃至８の何れか１項に記載の画像処理装置。
【請求項１０】
画像を取得する取得工程と、
前記取得工程により取得された画像からオブジェクトを検出する検出工程と、
前記取得工程により取得された複数の画像から前記検出工程により検出されたオブジェクトの数と、前記複数の画像における前記オブジェクトの位置と、前記複数の画像において前記オブジェクトが検出されていた期間とに基づいて、前記複数の画像より後に前記取得工程により取得される画像においてオブジェクトの数を計数する計数処理が実行される計数領域を決定する決定工程と、
前記決定工程により決定された計数領域に対して実行された前記計数処理の結果を出力する出力工程とを有し、
前記決定工程において、決定した第１計数領域と第２計数領域の距離に応じて、前記第１計数領域及び前記第２計数領域を１つの計数領域として統合することを特徴とする画像処理方法。
【請求項１１】
画像を取得する取得工程と、
前記取得工程により取得された画像からオブジェクトを検出する検出工程と、
前記取得工程により取得された複数の画像から前記検出工程により検出されたオブジェクトの数と、前記複数の画像における前記オブジェクトの位置と、前記複数の画像において前記オブジェクトが検出されていた期間とに基づいて、前記複数の画像より後に前記取得工程により取得される画像においてオブジェクトの数を計数する計数処理が実行される計数領域を決定する決定工程と、
前記決定工程により決定された計数領域に対して実行された前記計数処理の結果を出力する出力工程と、
前記取得工程により取得された複数の画像のそれぞれから検出されたオブジェクトを、当該オブジェクトの位置及び特徴量のうち少なくとも何れかを用いて対応付ける追尾工程とを有し、
前記決定工程において、第１計数領域と第２計数領域とを前記計数処理が実行される領域として決定した場合、前記追尾工程により対応付けられたオブジェクトが前記第１計数領域と前記第２計数領域とで検出されたか否かの情報に基づいて、前記第１計数領域及び前記第２計数領域を統合することを特徴とする画像処理方法。
【請求項１２】
前記取得工程により取得された画像を複数に分割した分割領域を設定する設定工程を更に有し、
前記決定工程において、前記複数の画像における前記分割領域の各々において前記検出工程により検出されたオブジェクトの数と、前記分割領域の各々において前記オブジェクトが検出されていた期間とに基づいて、前記計数処理が実行される領域を決定することを特徴とする請求項１０または１１に記載の画像処理方法。
【請求項１３】
コンピュータを請求項１乃至９の何れか１項に記載の画像処理装置の各手段として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計数処理が実行されるべき画像領域の特定方法に関する。
【背景技術】
【０００２】
現在、監視カメラによる撮像画像から人物の全身や、人物の頭部を検出する検出技術の実用化が進んでおり、検出技術を応用したアプリケーションが利用されている。特許文献１には、あらかじめ床面に取り付けられた位置決めマーカーを撮像画像から検出して監視範囲を設定し、当該監視範囲から人物を検出することで、当該監視領域の混雑度合いを算出することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２４２８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像内の計数処理が実行されるべき領域の特定にユーザの負荷がかかる場合がある。
【０００５】
例えば、人体が全く写っていない画像を参照しながら、ユーザが人体の計数処理が実行されるべき領域を指定しようとすると、どの領域を指定すればよいのかの判断が困難となりやすい。また、ユーザが、人体のどの部位（例えば、重心や頭部）の位置に基づいて人体の計数が行われるのかを認識していないと、ユーザが表示画面上で指定した計数領域と、ユーザが意図した計数領域とにずれが生じてしまう場合がある。また、特許文献１の方法を用いる場合には、あらかじめ床面に位置決めマーカーを取り付ける必要がある。さらに特許文献１の方法を用いると、計数領域を変更するためには、位置決めマーカーの位置を変更する必要があり、やはり煩雑である。
【０００６】
なお、上記の説明では、人体の計数処理を実行する場合の例を説明したが、人体に限らず、例えば、動物や自動車等、任意のオブジェクトの計数処理を実行する場合にも同様の課題が発生しうる。
本発明は上記の問題点に鑑みてなされたものであり、その目的は、画像内の計数処理が実行されるべき領域を特定するための負荷を低減することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像処理装置は例えば以下の構成を有する。すなわち、画像を取得する取得手段と、前記取得手段により取得された画像からオブジェクトを検出する検出手段と、前記取得手段により取得された複数の画像から前記検出手段により検出されたオブジェクトの数と、前記複数の画像における前記オブジェクトの位置と、前記複数の画像において前記オブジェクトが検出されていた期間とに基づいて、前記複数の画像より後に前記取得手段により取得される画像においてオブジェクトの数を計数する計数処理が実行される領域を決定する決定手段と、前記決定手段により決定された領域に対して実行された前記計数処理の結果を出力する出力手段とを有し、前記決定手段は、決定した第１計数領域と第２計数領域の距離に応じて、前記第１計数領域及び前記第２計数領域を１つの計数領域として統合する。
また、本発明の画像処理装置は例えば以下の構成を有する。すなわち、画像を取得する取得手段と、前記取得手段により取得された画像からオブジェクトを検出する検出手段と、前記取得手段により取得された複数の画像から前記検出手段により検出されたオブジェクトの数と、前記複数の画像における前記オブジェクトの位置と、前記複数の画像において前記オブジェクトが検出されていた期間とに基づいて、前記複数の画像より後に前記取得手段により取得される画像においてオブジェクトの数を計数する計数処理が実行される計数領域を決定する決定手段と、前記決定手段により決定された計数領域に対して実行された前記計数処理の結果を出力する出力手段と、前記取得手段により取得された複数の画像のそれぞれから検出されたオブジェクトを、当該オブジェクトの位置及び特徴量のうち少なくとも何れかを用いて対応付ける追尾手段とを有し、前記決定手段は、第１計数領域と第２計数領域とを前記計数処理が実行される領域として決定した場合、前記追尾手段により対応付けられたオブジェクトが前記第１計数領域と前記第２計数領域とで検出されたか否かの情報に基づいて、前記第１計数領域及び前記第２計数領域を統合する。
【発明の効果】
【０００８】
本発明によれば、画像内の計数処理が実行されるべき領域を特定するための負荷を低減できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態の画像処理装置１００の機能構成例を示すブロック図
【図２】存在ヒートマップの概念を説明するための図
【図３】存在ヒートマップから外接する多角形を求める処理を説明するための図
【図４】画像処理装置１００の動作を説明するためのフローチャート
【図５】画像処理装置１００の動作を説明するためのフローチャート
【図６】画像処理装置１００の動作を説明するためのフローチャート
【図７】画像処理装置１００のハードウェア構成例を説明するための図
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
図１は、本実施形態の画像処理装置１００の構成図を示すブロック図である。画像処理装置１００は、画像取得部１０１（以下、取得部１０１）と人体検出追尾部１０２（以下、追尾部１０２）と人体情報記憶部１０３と人体情報集計評価部１０４（以下、評価部１０４）を有する。また、画像処理装置１００は、パラメータ算出部１０５（以下、算出部１０５）とパラメータ設定部１０６（以下、設定部１０６）と領域内外判定部１０７（以下、判定部１０７）と判定結果記憶部１０８と判定結果出力部１０９（以下、出力部１０９）を有する。なお、本実施形態の画像処理装置１００は、画像内の特定の領域（以下、計数領域）から検出される人体を計数（カウント）する計数処理を実行する人数計測装置として動作する。
【００１２】
取得部１０１は、レンズ、センサ等を備えた撮像部（不図示）から所定の時間間隔で画像を順次取得して、追尾部１０２に提供する。なお、画像処理装置１００が撮像部を備えるようにしても良い。また、取得部１０１は、録画画像の読み込みや、ネットワークを介したストリーミング入力など種々の方法により画像を取得することができる。
【００１３】
追尾部１０２は、取得部１０１から取得した画像から人体の検出処理を行い、検出した人体の追尾処理を行う。追尾部１０２は、以下のようにして人体の検出処理を実行する。すなわち、追尾部１０２は、Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅなどの機械学習を利用して、人体の画像特徴を識別するための識別器を生成する。そして、追尾部１０２は、当該識別器を利用して画像から人体を検出する。なお、本実施形態では、人体が検出される場合の例を中心に説明するが、人体に限らず、人間の頭部が検出されても良いし、人間以外にも、例えば、動物や自動車等が検出されるようにしても良い。すなわち、追尾部１０２は、取得部１０１により取得された画像からオブジェクトを検出する。
【００１４】
また、追尾部１０２は、人体の検出結果として、人体の中心座標と外接矩形座標を特定する。人体の外接矩形座標とは、人体の領域に外接する矩形を特定するための４点の座標である。なお、外接矩形座標の表現の仕方は、４点の座標をそれぞれ個別に表現する方法のほか、外接矩形の左上の座標と、外接矩形の幅と高さの情報の組み合わせによって表現する方法等もあり、その表現方法に制限は無い。
【００１５】
人体の追尾処理は、上記のようにして検出された人体と、以前の画像において検出された人体とを対応付ける処理である。本実施形態の追尾部１０２は、ある画像から検出された人体と、前の画像から検出された人体の画像特徴（特徴量）の比較結果と位置関係とに基づいて人体の対応付けを行う。即ち、追尾部１０２は、ある画像から検出された第１人体の特徴量と、前の画像から検出された第２人体の特徴量との差分が閾値未満で、且つ、第１人体と第２人体の空間的な距離が閾値未満である場合、第１人体と第２人体とを対応付ける。ただし、追尾処理の方法については、上記の方法に限らず、例えば、人体の画像特徴と空間的な距離の何れか一方を用いても良い。すなわち、追尾部１０２は、取得部１０１により入力された複数の画像のそれぞれから検出されたオブジェクトを、位置及び特徴量のうち、少なくとも何れかを用いて対応付けできる。
【００１６】
また、追尾部１０２は、現在の画像内に、以前の画像において検出した人体に対応付く人体がない場合、Ｋａｌｍａｎ  Ｆｉｌｔｅｒなどの移動予測やテンプレートやヒストグラムといった画像特徴を用いたマッチング処理により人体の検出結果を補完できる。また、画像特徴と位置関係によって対応付け可能な人体が所定時間以上（所定の画像フレーム数以上）、検出されない場合、追尾部１０２は、当該人体に関する追尾処理を終了する。
【００１７】
追尾部１０２は、対応付けた人体に対して同じ人体ＩＤを付与する。一方、追尾部１０２は、対応付ける人体が存在しない場合（例えば、初めて画像から人物が検出された場合）、追尾部１０２は、新たな人体ＩＤを当該人体に付与する。追尾部１０２は、追尾処理において付与した人体ＩＤと、当該人体ＩＤに対応する人体の中心座標と外接矩形座標とに画像の取得時刻（例えば撮像時刻）を対応付け、それを人体情報として人体情報記憶部１０３に提供する。
【００１８】
人体情報記憶部１０３は、追尾部１０２から受け取った人体情報を人体ＩＤ単位で記憶する。
【００１９】
評価部１０４は、人体情報記憶部１０３が管理する人体情報を用いて、画像内の分割領域ごとに人体が存在する度合い（以下、存在度）を特定する。本実施形態では、領域内に存在するオブジェクトの数と、当該オブジェクトが存在する時間とに比例する値を存在度として扱う場合の例を中心に説明するが、存在度の定義は上記の定義に限らない。
本実施形態における評価部１０４による存在度の特定方法について、以下に説明する。すなわち、評価部１０４は、画像を所定サイズの分割領域に分割する。画像の分割方法は任意であり、画像内を均等のサイズに分割しても良いし分割サイズが一定でなくても良い。そして、評価部１０４は、人体情報に記述された中心座標に対応する分割領域を特定し、人体と分割領域とを対応付ける。なお、本実施形態では、人体の中心座標に基づいて人体と分割領域とを対応付ける例を中心に説明するが、人体の中心座標の代わりに、人体の重心座標や、頭部の中心座標等を用いても良い。すなわち、評価部１０４は、追尾部１０２により検出されたオブジェクトの位置に基づいて、当該オブジェクトと分割領域とを対応付ける。また、本実施形態では、２次元座標を用いる場合の例を中心に説明するが、３次元座標を用いて行うようにしても良い。
【００２０】
上記の処理を複数の画像に対して実行することにより、評価部１０４は、画像を構成する分割領域のうち、どの分割領域に多くの人体の中心が存在し、どの分割領域には人体の中心が存在していないかを判別できる。例えば、ある人物が、同じ分割領域内に長時間、存在した場合、当該分割領域の存在度は高くなる。一方、ある瞬間においては、ある分割領域内に人物が検出されたものの、その後、当該分割領域から人体が検出されなかった場合は、当該分割領域の存在度は低くなる。
【００２１】
なお、評価部１０４は、画像から検出された人体のうち、移動量又は移動速度が閾値未満の人体の位置に対応する分割領域の存在度のみ、加算しても良いし、すべての人体の位置に対応する分割領域の存在度を加算することもできる。また、評価部１０４は、存在度の特定方法として、上記の方法に限らず、例えば、統計的な算出方法を用いて存在度を特定することもできるし、人体の移動軌跡の情報を用いて分割領域ごとの存在度を特定することもできる。特に移動軌跡の情報を用いて存在度を特定するようにすれば、すべての画像に対して人体（オブジェクト）の検出処理や追尾処理をしなくても良くなるため、処理負荷を低減できる。
【００２２】
本実施形態では、上記のようにして評価部１０４により特定された分割領域ごとの存在度の分布を示すマップを存在ヒートマップと呼ぶ。図２は、存在ヒートマップの例である。存在ヒートマップ２０１は、画像がグリッドにより複数のブロック領域２０２（分割領域）に分割されている状態を示している。ブロック領域２０２のそれぞれは、ひとつの存在度を保持しており、図２では、存在度を色の濃淡で表現している。図２の存在ヒートマップ２０１は、色の濃い分割領域は人体の存在度が高く、色の薄い分割領域は人体の存在度が低いことを示している。また、評価部１０４は、図２の存在ヒートマップ２０１に基づいて、局所的に存在度が高くなる極大点２０３に対応する分割領域を特定することができる。
【００２３】
算出部１０５は、評価部１０４にて生成された存在ヒートマップに基づいて、計数領域を特定する。本実施形態において、計数領域とは、オブジェクト（人体）の計数処理が実行されるべき領域である。また、本実施形態における存在ヒートマップとは、画像の分割領域ごとの人体の検出結果に基づくマップである。すなわち、算出部１０５は、画像に対する追尾部１０２によるオブジェクトの検出結果に基づいて、オブジェクトの計数処理が実行されるべき領域（計数領域）を特定する。
【００２４】
本実施形態における計数領域の特定方法について、以下に説明する。まず、算出部１０５は、存在ヒートマップ２０１が示す存在度に基づいて、閾値を決定する。閾値の決定方法としては、例えば、画像を２値化する場合の閾値の算出方法を用いることができる。また、閾値の決定方法の他の例として、各分割領域の存在度に対応する値の平均値を採用する方法や、存在度に対応する値が高い分割領域から所定数の分割領域が計数領域として設定されるような閾値の決定方法を用いても良い。閾値を固定値にするのではなく、人体の検出結果に応じて動的に設定できるようにすることで、撮像範囲内の人体が多いか少ないかに関わらず、他の分割領域と比べて存在度が高い分割領域を計数領域として特定できる。
【００２５】
また、算出部１０５は、存在度に対応する値が閾値以上の１つ又は複数の分割領域を抽出し、当該１つ又は複数の分割領域を、その代表座標値に基づいてクラスタリングする。クラスタリングには、公知技術であるＫ−ｍｅａｎｓ法を適用することが可能である。図３（ｂ）は、図３（ａ）の存在ヒートマップから閾値を超える存在度に対応する分割領域を抽出し、クラスタリングが適用された例を示している。ただし、クラスタリング手法はＫ−ｍｅａｎｓ法に限らず、他の公知の手法を用いることができる。
【００２６】
さらに、算出部１０５は、各クラスタについて、分割領域の代表座標に基づいて、外接する多角形（外接多角形）を特定する。外接多角形は、閾値以上の分割領域を内包する自由形状の領域でもよいし、各クラスタの輪郭線がそのまま外接多角形となるようにしてもよい。図３（ｃ）は、算出部１０５が、図３（ｂ）のクラスタに基づいて、外接多角形を特定した場合の例を示している。
【００２７】
算出部１０５は、上記のようにして特定した外接多角形を識別するための座標情報を、計数領域の座標情報として設定部１０６に出力する。すなわち、算出部１０５は、画像の分割領域のそれぞれにおいて追尾部１０２がオブジェクトを検出した数に基づいて計数処理が実行されるべき計数領域を決定する。より具体的には、算出部１０５は、複数の画像から検出されたオブジェクトの数を分割領域ごとに特定し、特定された数が閾値以上である分割領域を含む領域を計数領域として特定する。
【００２８】
なお、算出部１０５は、複数の外接多角形を特定した場合、すべての外接多角形の座標情報を出力しても良いし、面積が最も大きい外接多角形の座標情報のみを出力しても良い。また、算出部１０５は、複数の外接多角形のうち、面積が閾値以上の外接多角形の座標情報のみを出力するようにしても良い。また、画像内の位置に基づいて優先度を設定し、出力する外接多角形の座標情報が決定されるようにしても良い。このように、計数領域の数を絞り込めば、計測処理にかかる処理負荷を低減できる。
【００２９】
なお、上記の実施形態では、算出部１０５が、外接多角形の座標情報を出力する場合の例を中心に説明したが、計数領域を特定するための情報であれば、座標情報に限らず、分割領域の番号等が出力されるようにしても良い。また、本実施形態では、分割領域のすべてについて存在度を求める例を中心に説明しているが、この例に限らない。例えば、計数領域として不適切であることが明らかな分割領域については、存在度を求める必要はない。このように、計数領域となる領域を絞りこんだ上で計数領域を特定する処理を行うことで、画像処理装置１００の処理負荷を低減できる。
【００３０】
なお、本実施形態では、算出部１０５が、２次元の計数領域を特定する例を中心に説明するが、３次元の計数領域を特定するようにしても良い。この場合、算出部１０５は、３次元の多面体の位置及び形状を特定するための座標情報が設定部１０６に対して出力する。
【００３１】
設定部１０６は、算出部１０５からの計数領域の座標情報を取得する。そして、設定部１０６は、取得した座標情報に基づいて計数領域を設定する。設定部１０６は、１つ又は複数の計数領域を設定できる。
【００３２】
判定部１０７は、設定部１０６により設定された計数領域の座標情報と人体情報記憶部１０３が記憶する人体情報に含まれる中心座標とから計数領域の内外判定を行う。すなわち、判定部１０７は、追尾部１０２により検出された人体の中心座標が、計数領域の内部に存在するか、外部に存在するかを判定する。内外の判定は、公知技術であるＣｒｏｓｓｉｎｇ  Ｎｕｍｂｅｒ  Ａｌｇｏｒｉｔｈｍを用いることで実現できる。なお、判定部１０７による内外の判定方法は、Ｃｒｏｓｓｉｎｇ  Ｎｕｍｂｅｒ  Ａｌｇｏｒｉｔｈｍに基づく方法に限らず、他の公知の内外判定アルゴリズムを適用可能であり、特定の方法に限るものではない。また、判定部１０７の処理は、追尾部１０２が１つの画像に対する処理を完了する度に実行される。ただし、例えば、追尾部１０２が過去に処理した複数の画像に対して判定部１０７が内外判定処理を行うようにしても良い。
【００３３】
また、判定部１０７は、計数領域内に中心座標が存在すると判定された人体の数をカウントする計数処理を行う。そして、判定部１０７は、計数領域の識別情報と、当該計数領域内に中心座標が存在すると判定された人体の数とを対応付けて、それを判定結果記憶部１０８に保存する。ただし、判定結果記憶部１０８に記憶させる情報は上記の例に限らず、例えば、混雑度を示す情報であっても良い。混雑度を示す情報は、計数領域のサイズと、計数領域内のオブジェクトの数とに基づいて特定される。判定結果記憶部１０８は、判定部１０７により出力された情報を記憶する。すなわち、判定結果記憶部１０８は、計数領域の識別情報と、計数領域内のオブジェクト数とを対応付けて記憶する。
【００３４】
出力部１０９は、算出部１０５により特定された計数領域に対して実行された計数処理の結果に応じた情報を出力する。本実施形態では、出力部１０９による出力先を表示部１１０としているが、画像処理装置１００が、例えばネットワークに接続されるネットワークカメラであれば、計数処理の結果に応じた情報の典型的な出力先は、ネットワークを介して接続される監視モニタである。また、出力先は表示部１１０に限らず、例えば紙へ出力されるようにしても良い。
【００３５】
出力部１０９は、計数処理の結果に応じた情報として、各計数領域から検出された人体の数を示す情報を表示部１１０へ出力する。そして、表示部１１０は、出力部１０９からの情報に基づく画像を表示画面に表示させる。すなわち、出力部１０９は、算出部１０５により特定された領域（計数領域）から検出された人体（オブジェクト）の数を表示画面に表示させるための表示制御を実行する。
【００３６】
なお、出力部１０９は、計数処理の結果に応じた情報として、計数領域の面積（サイズ）と人体の数とに応じて定まる混雑度情報を表示部１１０へ出力することも可能である。この場合、表示部１１０は、表示画面に混雑度を示す画像を表示することができる。すなわち、出力部１０９は、算出部１０５により特定された領域（計数領域）のサイズと、当該領域から検出されたオブジェクトの数とに基づいて、当該領域の混雑度を特定し、当該特定された混雑度を表示画面に表示させる。
【００３７】
また、出力部１０９は、算出部１０５により特定された領域（計数領域）の位置を特定するための計数領域情報を表示部１１０に対して出力できる。そして、表示部１１０は、出力部１０９からの計数領域情報に基づいて、表示画面上に計数領域を示す領域情報を表示させる。より具体的には、表示部１１０は、例えば取得部１０１が取得した画像と同じ画像を表示画面に表示すると共に、当該表示画面上に計数領域の位置を示す枠を表示できる。上記のような構成により、ユーザは、画像内のどの領域が計数領域として設定されたのかを容易に確認できる。
【００３８】
図４は、画像処理装置１００が画像に対して人体の検出処理及び追尾処理を実行する際の動作を説明するためのフローチャートである。図４の処理は、画像処理装置１００のＣＰＵ７０１が各種プログラムを読み出して実行することにより実現される。また、図４の処理は、ユーザにより所定のオブジェクト（本実施形態においては人体）の検出処理及び追尾処理の実行の指示に応じて開始される。ただし、図４の処理の開始タイミングは、上記のタイミングに限らず、例えば、画像処理装置１００の立ち上げと同時に開始されるようにしてもよい。
【００３９】
画像処理装置１００の取得部１０１は、画像を取得する（Ｓ１０１）。取得部１０１は、Ｓ１０１において、１フレーム分の画像を取得するものとする。ただし、この形態に限らず、複数フレーム分の画像がＳ１０１において取得されるようにしても良い。
【００４０】
追尾部１０２は、取得部１０１が取得した画像に対して人体の検出処理、及び追尾処理を実行する（Ｓ１０２）。なお、本実施形態では人体の検出処理と追尾処理を行う場合の例を中心に説明しているが、人体の代わりに、または人体に加えて、自動車や動物等の検出処理と追尾処理が行われるようにしても良い。また、人体の代わりに人間の頭部や顔が検出されるようにしても良い。すなわち、追尾部１０２は、取得部１０１により入力された画像からオブジェクトを検出する。また、追尾部１０２は、複数の画像から検出された人体を対応付ける追尾処理を実行する。本実施形態の追尾部１０２は、取得部１０１により入力された複数の画像のそれぞれから検出された人体（オブジェクト）を位置関係及び特徴量のうち、少なくとも何れかを用いて対応付けることができる。
【００４１】
追尾部１０２は、追尾処理により得られた人体情報（人体ＩＤ、人体の中心座標、外接矩形座標、及び、画像の取得時刻が対応付けられた情報）を人体情報記憶部１０３に記憶させる（Ｓ１０３）。
【００４２】
Ｓ１０３の完了後、ＣＰＵ７０１は、上記処理を継続するか終了するかを判定し、継続すると判定された場合は、Ｓ１０１に戻り、取得部１０１が次の画像を取得する（Ｓ１０４）。本実施形態では、図４の処理を所定時間継続することで、所定数の画像に対して人体の検出処理と追尾処理を実行することを想定している。ただし、図４の処理の継続時間は任意である。
【００４３】
図５は、画像処理装置１００が計数領域の特定を実行する際の動作を説明するためのフローチャートである。図５の処理は、画像処理装置１００のＣＰＵ７０１が各種プログラムを読み出して実行することにより実現される。また、図５の処理は、ユーザからの指示に基づいて開始される。ただし、図５の開始タイミングは上記のタイミングに限らず、例えば、図４の処理が開始されてから所定時間が経過したタイミングで開始されるようにしても良い。また、画像処理装置１００は、図４の処理と図５の処理とを並行して実行できる。
【００４４】
画像処理装置１００の評価部１０４は、１つの画像における分割領域ごとの存在度を特定する（Ｓ２０１）。すなわち、評価部１０４は、画像から検出された人体の中心座標が、どの分割領域内に存在するかを判定する。そして、評価部１０４は、人体の中心座標が存在すると判定された分割領域の存在度が、人体の中心座標が存在しないと判定された分割領域の存在度よりも高くなるように存在度を特定する。なお、評価部１０４は、複数の人体の中心座標が１つの分割領域内に存在すると判定された場合、１つの人体の中心座標のみが当該分割領域内に存在すると判定された場合の存在度よりも高くなるように、分割領域の存在度を特定する。１つの画像に対するＳ２０１の処理が完了するとＳ２０２に進む。
【００４５】
評価部１０４は、存在ヒートマップを更新する（Ｓ２０２）。本実施形態において、存在ヒートマップとは、分割領域ごとの存在度の分布を示すマップである。すなわち、評価部１０４は、Ｓ２０１で特定された分割領域ごとの存在度を、過去の画像に基づいて特定された分割領域ごとの存在度に加算する。なお、所定時間ごとに各分割領域の存在度を一定量デクリメントするようにしても良い。このようにすれば、過去には多くの人体が検出されたものの、その後、人体が検出されなくなった領域の存在度を、低くすることができるので、より最新の人体検出状況に即した計数領域の設定ができるようになる。上記のようにして評価部１０４が存在ヒートマップを更新すると、Ｓ２０３に進む。
【００４６】
評価部１０４は、存在度の評価と存在ヒートマップの更新を継続するか否かを判定し（Ｓ２０３）、継続すると判定した場合はＳ２０１に戻り、次の画像に基づいてＳ２０１とＳ２０２の処理を実行する。一方、Ｓ２０３において継続しないと判定された場合は、Ｓ２０４に進む。
【００４７】
算出部１０５は、評価部１０４により更新（生成）された存在ヒートマップに基づいて、計数領域を特定する。本実施形態において計数領域とは、画像から検出されたオブジェクトの計数処理が実行される領域である。算出部１０５は、具体的には、図３を用いて説明したように、閾値以上の存在度に対応する分割領域を内包する外接多角形を特定する。算出部１０５が上記のようにして特定した外接多角形を特定するための情報（例えば、座標情報及び分割領域の識別情報）を設定部１０６へ出力すると、Ｓ２０５に進む。
【００４８】
設定部１０６は、算出部１０５から受け取った外接多角形の情報に基づいて、判定部１０７に対して計数領域の設定を行う（Ｓ２０５）。そして判定部１０７は、Ｓ２０５で設定された計数領域の内部に人体が存在するか否かを判定する内外判定処理を実行する。内外判定処理の詳細は、図６を用いて説明する。
【００４９】
図６は、画像処理装置１００が内外判定処理を実行する際の動作を説明するためのフローチャートである。図６の処理は、画像処理装置１００のＣＰＵ７０１が各種プログラムを読み出して実行することにより実現される。また、図６の処理は、図５のＳ２０５が完了したタイミングで開始される。ただし、図６の処理の開始タイミングは上記のタイミングに限らない。例えば、過去に計数領域が設定されていれば、ユーザからの指示に応じて図６の処理が開始されるようにしてもよい。
【００５０】
画像処理装置１００の判定部１０７は、人体情報記憶部１０３から人体情報を取得し、設定部１０６により設定された計数領域内に人体が存在するか否かを判定する（Ｓ３０１）。そして、判定部１０７は、Ｓ３０１における内外判定処理の結果を判定結果記憶部１０８に記憶させる。そして、出力部１０９は、判定結果記憶部１０８に記憶された内外判定処理の結果を読み出して、表示部１１０へ出力する。なお、画像処理装置１００と表示部１１０とが一体であっても、画像処理装置１００と表示部１１０とがケーブルで接続されていても、ネットワークを介して接続されていても良い。また、出力部１０９は、計数領域の人体の計数結果そのものを表示部１１０へ出力しても良いし、計数結果が加工されたデータを表示部１１０へ出力しても良い。計数結果が加工されたデータとは、例えば、計数領域のサイズと当該計数領域から検出されたオブジェクトの数とに基づいて特定される混雑度の情報である。また、出力部１０９は、混雑度の情報として、「混雑」「やや混雑」「混雑していない」といった複数の段階別の状況を示す情報を出力しても良いし、混雑度が数値化された情報を出力しても良い。また、出力部１０９は、取得部１０１により取得された画像、及び、算出部１０５により特定された計数領域を特定するための情報を表示部１１０へ出力できる。
【００５１】
表示部１１０は、出力部１０９により出力された情報に基づいた画像を表示させる。例えば、表示部１１０は、取得部１０１により取得された画像と共に、計数領域の位置を示す枠を表示させることができる。さらに、表示部１１０は、計数領域内に存在すると判定された人物の数を表示させることができる。さらに、表示部１１０は、計数領域内の混雑度を示す情報や、混雑の度合いを示す情報を表示させることができる。なお、混雑度に応じて、計数領域を示す枠の色を変化させても良い。このようにすれば、計数領域がどの位置に設置されており、その混雑度がどの程度なのか、直観的にユーザが認識できるようになる。
【００５２】
出力部１０９は、図６の処理を終了するか否かを判定し（Ｓ３０３）、終了しないと判定した場合はＳ３０１に戻って処理を継続し、終了すると判定した場合は図６の処理を終了する。
【００５３】
以上説明したように、本実施形態の画像処理装置１００は、画像の分割領域ごとの人体（オブジェクト）の検出状況に応じて存在度の分布を特定し、当該存在度の分布に基づいて、人体の計数処理が実行されるべき計数領域を特定する。上記の構成により、ユーザが計数領域を設定する負荷が低減される。
【００５４】
なお、本実施形態の画像処理装置１００は、算出部１０５により特定された計数領域を、当該特定の後の人体の検出結果に基づいて調整することもできる。
【００５５】
すなわち、算出部１０５は、過去の複数画像に基づいて特定した計数領域と、その後の複数画像に基づいて特定した計数領域の差異を判定し、当該判定結果に基づいて計数領域を移動させることができる。具体的には、例えば、過去の複数画像に基づく計数領域と、その後の複数画像に基づく計数領域のそれぞれの存在度のピーク（極大点または極小点）を特定し、公知技術であるＭｅａｎｓｈｉｆｔアルゴリズムを用いて移動量を決定できる。ただし、上記の方法に限らない。
【００５６】
また、すでに算出部１０５により特定された計数領域に含まれる各分割領域における存在度を取得し、当該存在度が閾値を下回る分割領域については、計数領域から除外することもできる。すなわち、算出部１０５は、計数領域を特定後における当該計数領域内のオブジェクトの検出結果に応じて、当該計数領域を縮小する。このように計数領域を縮小すれば、計数処理にかかる負荷を低減できるという効果がある。
【００５７】
また、算出部１０５が第１の複数の画像に基づいて第１の計数領域を特定した後、第１の複数の画像より後の第２の複数の画像に対して分割領域ごとの人体の検出を実施し、その検出結果に基づいて第２の計数領域を特定しても良い。そして、算出部１０５は、第１の計数領域と第２の計数領域との類似度が高い場合、第１の計数領域に代えて、第２の計数領域が新たな計数領域となるように、判定部１０７に対して設定する計数領域を変更できる。なお、類似度は、第１の計数領域と第２の計数領域との重複領域のサイズ、重複領域の割合、及び重心間の距離のうち、少なくとも何れかを用いれば算出できる。上記のように第１の計数領域を第２の計数領域に更新する構成によれば、時間の経過と共に人体が検出されやすい領域が変化する場合において、より混雑しやすい領域を計数領域として設定できるようになる。
【００５８】
また、算出部１０５は、存在度が閾値以上の分割領域に基づいて計数領域を特定する際に、人体のサイズに応じたマージンを設定することもできる。すなわち、算出部１０５は、分割領域で検出された人体のサイズが閾値よりも大きい場合は、閾値より小さい場合よりも、当該分割領域を含む計数領域が大きくなるように、計数領域を決定できる。このようにすれば、計数領域を大きくしすぎることによる負荷増大を抑えつつ、計数領域を小さくし過ぎることによる計数漏れを抑えることができる。なお、人体のサイズは、上述の人体情報に含まれる外接矩形の情報から特定できる。また複数の人体が検出されている場合は、複数の人体のサイズの平均値等の統計値を用いることができる。ただし、平均値に限らず、最大サイズや最小サイズを用いてもよい。
【００５９】
以上説明したように、本実施形態の画像処理装置１００は、第１の複数の画像に基づいて算出部１０５により特定された計数領域を、第１の複数の画像より後の第２の複数の画像に対するオブジェクトの検出結果に応じて変更できる。
【００６０】
また、算出部１０５は、存在度と閾値の比較に基づいて複数の計数領域を特定した場合に、当該複数の計数領域を統合できる。例えば、追尾部１０２によるオブジェクトの検出結果に基づいて算出部１０５により特定された第１の計数領域（第１領域）と第２の計数領域（第２領域）との間の距離が閾値未満であれば、算出部１０５は、第１及び第２の計数領域を統合する。このように第１及び第２の計数領域の距離に応じて統合すれば、例えば同じレジの前に並んでいる客を計数するための計数領域が複数の計数領域に分割されてしまったような場合であっても、それらを１つの計数領域として扱うことができるようになる。
【００６１】
ただし、複数の計数領域の統合方法は、上記の方法に限らず、例えば、人体の移動軌跡に基づいて統合する方法も採用できる。この統合方法を用いる場合、評価部１０４は、人体情報に基づいて各人物の移動軌跡を特定する。
【００６２】
そして、算出部１０５が各分割領域の存在度と閾値との比較に基づいて複数の計数領域を特定した場合、当該複数の計数領域のそれぞれで、同一の人体が検出されているか否かを判定する。つまり、算出部１０５は、複数の計数領域のうち、第１の計数領域において検出された人体が、第２の計数領域においても検出されているか否かに応じて、第１及び第２の計数領域を統合する。この形態は、例えば、レジに並んでいる客の数を特定する場面を想定している。すなわち、レジに並ぶ客が離れていると、例えば、レジ付近の計数領域と、レジから離れた計数領域とが分割されてしまう可能性がある。このような場合において、複数の計数領域に同じ人体が検出される場合は、当該複数の計数領域を統合する。このようにすることで１つのレジに並んでいる客の数を、より理解しやすくなるという効果がある。
【００６３】
より具体的な統合方法は、以下の通りである。まず、算出部１０５は、ある画像のある計数領域から検出された人体が、後の画像の別の計数領域に移動する確率を移動確率Ｆとして求める。即ち、算出部１０５は、複数画像を用いて、ある計数領域Ａｉから検出される人体を特定する。そして、算出部１０５は、計数領域Ａｉ内に存在すると判定された人体の数Ｎｉを求める。このとき、同じ人体ＩＤに対応する人体については、１つの人体として人体の数Ｎｉを求める。そして、算出部１０５は、計数領域Ａｉ内に存在するとされた人体の人体ＩＤに対応する人体情報のみを抽出し、当該人体情報に対応する人体が、別の計数領域Ａｊから検出されるか否かの判定を行う。そして、別の計数領域Ａｊ内に存在すると判定された人体の数Ｎｊを求める。そして、算出部１０５は、移動確率を式Ｆ＝Ｎｊ／Ｎｉによって求める。算出部１０５は、この移動確率Ｆが閾値よりも高ければ、計数領域Ａｉ及び別の計数領域Ａｊを統合する。すなわち、算出部１０５は、追尾部１０２による人体の検出結果に応じて第１領域と第２領域とが計数領域として特定された場合、追尾処理により対応付けられた人体が第１領域と第２領域とで検出されたか否かの情報に基づいて、第１及び第２領域を統合する。
【００６４】
なお、計数領域Ａｉから別の計数領域Ａｊへの人体の移動時間が所定時間以上である場合は、当該人体については、計数領域Ａｉから別の計数領域Ａｊへ移動していないものとして移動確率Ｆを求めるようにしても良い。また、計数領域の統合方法は、上記の方法に限らず、用途やユーザ設定に応じて種々の方法をとりうる。
【００６５】
また、算出部１０５が特定した計数領域をユーザに提示し、ユーザによる計数領域の選択や変更を受け付けるようにすることもできる。この場合、算出部１０５は、図５のＳ２０４のようにして特定した１つ又は複数の計数領域の情報を、出力部１０９を介して表示部１１０へ出力する。このようにすることで、表示部１１０は、１つ又は複数の計数領域の候補を表示させることができる。ユーザは、表示部１１０を参照しながら操作をすることにより、計数領域の選択や、計数領域の位置の修正等を行うことができる。なお、画像処理装置１００は、ユーザによる計数領域の位置の修正等を受け付ける際に、表示画面上に、人体画像を表示させることができる。人体画像とは、例えば、他の画像から検出された人体が切り取られた画像や、人体を模擬したオブジェクト画像等である。複数の人体画像が表示された表示画面を見ながらユーザが計数領域の位置の修正等を行えるようにすることで、ユーザの意図により近い計数領域の設定ができるようになる。
【００６６】
出力部１０９は、ユーザによる操作情報を取得することができ、当該操作情報に応じた計数領域の設定を、判定部１０７に対して行う。上記のような構成により、例えば、算出部１０５が複数の計数領域を特定した場合において、不要な計数領域に対する計数処理を行うことが少なくなる。また、ユーザに計数領域の統合や拡張、縮小等の調整をさせることにより、よりユーザの目的に沿った計数領域の設定ができるようになるという効果がある。
【００６７】
なお、上記で説明した各種機能を、ユーザ設定（計数処理の目的や使用場面）等に基づいて動的に切り替えることもできる。また、上記の実施形態では、計数領域を特定する装置と計数処理を実行する装置が同一の装置（画像処理装置１００）である場合の例を中心に説明したが、異なる複数の装置によって計数処理の特定と計数処理とが実現されるようにしても良い。
【００６８】
また、本実施形態では、図１で示す各構成要素が、１つの画像処理モジュールにより実現される場合の例を中心に説明した。ただし、図１の各構成要素が複数の画像処理モジュールにより実現されても良い。１つ又は複数の画像処理モジュールは、ＣＰＵの制御に基づいて動作する。また、図１で示す各構成要素の機能が、ＣＰＵにより実行されるようにしても良い。画像処理装置１００のＣＰＵを含むハードウェア構成を図７に示す。
【００６９】
図７に示すように、画像処理装置１００は、ＣＰＵ７０１と、ＲＯＭ７０２と、ＲＡＭ７０３と、外部メモリ７０４と、通信Ｉ／Ｆ７０５と、撮像部７０６と、システムバス７０７とを備える。
【００７０】
ＣＰＵ７０１は、画像処理装置１００における動作を統括的に制御するものであり、システムバス７０７を介して、各構成部（７０２〜７０６）を制御する。
【００７１】
ＲＯＭ７０２は、ＣＰＵ７０１が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ７０４や着脱可能な記憶媒体に記憶されていてもよい。
【００７２】
ＲＡＭ７０３は、ＣＰＵ７０１の主メモリ、ワークエリア等として機能する。すなわち、ＣＰＵ７０１は、処理の実行に際してＲＯＭ７０２から必要なプログラム等をＲＡＭ７０３にロードし、当該プログラム等を実行することで図１を用いて説明したような画像処理装置１００の各種機能動作を実現できる。
【００７３】
外部メモリ７０４は、例えば、ＣＰＵ７０１がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、外部メモリ７０４には、例えば、ＣＰＵ７０１がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。
【００７４】
通信Ｉ／Ｆ７０５は、外部装置（本実施形態においては表示部や、ネットワークに接続された録画サーバ等）と通信するためのインターフェースである。通信Ｉ／Ｆ７０５は、例えばＬＡＮインターフェースである。
【００７５】
システムバス７０７は、ＣＰＵ７０１、ＲＯＭ７０２、ＲＡＭ７０３、外部メモリ７０４、及び通信Ｉ／Ｆ７０５を通信可能に接続する。
【００７６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１０１  画像取得部
１０２  人体検出追尾部
１０３  人体情報記憶部
１０４  人体情報集計評価部
１０５  パラメータ算出部
１０６  パラメータ設定部
１０７  領域内外判定部
１０８  判定結果記憶部
１０９  判定結果出力部
【図１】
0006584123.tif 000002
【図２】
0006584123.tif 000003
【図３】
0006584123.tif 000004
【図４】
0006584123.tif 000005
【図５】
0006584123.tif 000006
【図６】
0006584123.tif 000007
【図７】
0006584123.tif 000008