(57)【特許請求の範囲】
【請求項１】
撮像手段と、
前記撮像手段により得られた映像から認識対象領域を指定する指定手段と、
前記指定手段により指定された認識対象領域の映像を取得する取得手段と、
前記取得手段により取得された映像の解像度とフレームレートとを制御する制御手段と、
前記制御手段により上限の解像度に制御された映像を辞書データと照合して所定の物体を検出し、該物体の大きさを認識する第１の認識手段と、
前記第１の認識手段による認識結果を基に、映像の解像度を決定する解像度決定手段と、
前記解像度決定手段により決定された解像度と、前記制御手段により前記解像度で取り得るフレームレートの上限に制御された所定の領域の映像から前記物体の移動速度を認識する第２の認識手段と、
前記第２の認識手段による認識結果を基に、映像のフレームレートを決定するフレームレート決定手段と、
前記フレームレート決定手段により決定されたフレームレートが、前記解像度で取り得るフレームレートの上限を超えた場合に、ユーザに警告を発する警告手段とを備えたことを特徴とする画像処理装置。
【請求項２】
撮像手段と、
前記撮像手段により得られた映像から認識対象領域を指定する指定手段と、
前記指定手段により指定された認識対象領域の映像を取得する取得手段と、
前記取得手段により取得された映像の解像度とフレームレートとを制御する制御手段と、
前記制御手段により上限の解像度に制御された映像を辞書データと照合して所定の物体を検出し、該物体の大きさを認識する第１の認識手段と、
前記第１の認識手段による認識結果を基に、映像の解像度を決定する解像度決定手段と、
前記解像度決定手段により決定された解像度と、前記制御手段により前記解像度で取り得るフレームレートの上限に制御された所定の領域の映像から前記物体の移動速度を認識する第２の認識手段と、
前記第２の認識手段による認識結果を基に、映像のフレームレートを決定するフレームレート決定手段と、
前記フレームレート決定手段により決定されたフレームレートが、前記解像度で取り得るフレームレートの上限を超えた場合に、前記認識対象領域を変更する変更手段とを備えたことを特徴とする画像処理装置。
【請求項３】
前記解像度決定手段は、所定時間の映像において前記第１の認識手段により認識された前記物体の大きさの最小値に基づいて、前記映像の解像度の下限を決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記フレームレート決定手段は、前記第２の認識手段により認識された前記物体の移動速度に基づいて、前記フレームレートの下限を決定することを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記解像度決定手段により決定された解像度と、前記フレームレート決定手段により決定されたフレームレートとで読み出された所定時間の映像から、前記第１の認識手段によって検出された所定の物体を追跡して軌跡を生成する生成手段を更に有することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記生成手段により生成された軌跡のうち所定の条件を満たす軌跡をカウントするカウント手段を更に有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
画像処理装置の画像処理方法であって、
指定手段が、撮像手段により得られた映像から認識対象領域を指定する指定工程と、
取得手段が、前記指定工程で指定された認識対象領域の映像を取得する取得工程と、
制御手段が、前記取得工程で取得された映像の解像度とフレームレートとを制御する制御工程と、
第１の認識手段が、前記制御工程で上限の解像度に制御された映像を辞書データと照合して所定の物体を検出し、該物体の大きさを認識する第１の認識工程と、
解像度決定手段が、前記第１の認識工程における認識結果を基に、映像の解像度を決定する解像度決定工程と、
第２の認識手段が、前記解像度決定工程で決定された解像度と、前記制御工程により前記解像度で取り得るフレームレートの上限に制御された所定の領域の映像から前記物体の移動速度を認識する第２の認識工程と、
フレームレート決定手段が、前記第２の認識工程における認識結果を基に、映像のフレームレートを決定するフレームレート決定工程と、
警告手段が、前記フレームレート決定工程で決定されたフレームレートが、前記解像度で取り得るフレームレートの上限を超えた場合に、ユーザに警告を発する警告工程とを備えたことを特徴とする画像処理方法。
【請求項８】
画像処理装置の画像処理方法であって、
指定手段が、撮像手段により得られた映像から認識対象領域を指定する指定工程と、
取得手段が、前記指定工程で指定された認識対象領域の映像を取得する取得工程と、
制御手段が、前記取得工程で取得された映像の解像度とフレームレートとを制御する制御工程と、
第１の認識手段が、前記制御工程で上限の解像度に制御された映像を辞書データと照合して所定の物体を検出し、該物体の大きさを認識する第１の認識工程と、
解像度決定手段が、前記第１の認識工程における認識結果を基に、映像の解像度を決定する解像度決定工程と、
第２の認識手段が、前記解像度決定工程で決定された解像度と、前記制御工程により前記解像度で取り得るフレームレートの上限に制御された所定の領域の映像から前記物体の移動速度を認識する第２の認識工程と、
フレームレート決定手段が、前記第２の認識工程における認識結果を基に、映像のフレームレートを決定するフレームレート決定工程と、
変更手段が、前記フレームレート決定工程で決定されたフレームレートが、前記解像度で取り得るフレームレートの上限を超えた場合に、前記認識対象領域を変更する変更工程とを備えたことを特徴とする画像処理方法。
【請求項９】
コンピュータを請求項１乃至６の何れか１項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びコンピュータプログラムに関し、特に、人物などを検出するために用いて好適な技術に関する。
【背景技術】
【０００２】
従来、店舗等の入り口や通路を通行する人をカメラで撮影し、撮影した映像より人物の顔の位置を検出して、通過した人数を計測する技術が開示されている。このような所定領域における通行人をカメラ映像から自動的にカウントする技術として、例えば特許文献１に開示されている。この特許文献１に記載の技術では、通路の上方から真下に向けてカメラを設置し、カメラ上方から見た人物の頭の形状が円であることから、カメラ映像から円形の物体を抽出することで人物を検知、カウントするようにしている。
【０００３】
一方、近年、画像から顔を検出する技術の実用化が進んでいる。このような技術を利用して、通路の前方にカメラを設置し、カメラ映像から顔を検出することで人物をカウントすることも可能である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−１９９４８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、カメラが高解像度の撮像素子を持っている場合、例えば撮像素子数が６４０×４８０画素に比べ１００倍以上であるような場合は、以下のような問題が生じる。なお、レンズを通して撮像素子の面に投影される映像が同じであれば、解像度は撮像素子の総数によって決定される。従って、以下、「解像度」と「撮像素子の総数」とは同義であるものとして、説明する。
【０００６】
例えば、図５に示す人物５０４のように、通路の天井５０１に設置されたカメラ５０３から遠い距離にいるときは、人物５０４を検出してカウントするため、図６に示すようにユーザは認識対象領域６０４を設定する。このとき、フレーム画像中の認識対象領域６０４では、人物６０２が小さく写る。なお、図５の５０２は通路の床であり、図６の６０１はフレーム画像である。従って、小さな人物を認識する必要があるため、認識対象領域６０４において高解像度な映像が必要である。また、人物に対するカメラの角度が浅いために、フレーム画像内での人物の位置が変化するためには長い時間が必要である。即ち、認識対象領域６０４における人物の移動速度は遅くなる。従って、認識対象領域６０４におけるフレームレートは低くても、認識結果は大きく変化しない。
【０００７】
次に、図５に示す人物５０５のようにカメラ５０３に近い距離にいるときは、図６に示すようにユーザは認識対象領域６０５を設定する。このとき、フレーム画像中の認識対象領域６０５では、人物６０３が大きく写る。従って、小さな人物を認識する必要がないため、認識対象領域６０５では低解像度な映像であっても、認識は可能である。また、人物に対するカメラの角度が深くなるために、フレーム画像中の認識対象領域６０５での人物の位置は、短い時間の間に、大きく変化する。従って、認識対象領域６０５では高フレームレートな映像が必要である。
【０００８】
ところで、高解像度カメラでは、撮像素子上の全ての画素を読み出そうとすると、通常のフレーム１枚あたり、１００倍以上のデータ量を読み出すことになる。６４０×４８０画素で、３０ｆｐｓ（フレーム毎秒）で読み出し可能な回路で読み出そうとしても、フレーム１枚当たり３秒以上かかってしまうため、実用に耐えない。そこで、例えば、撮像素子上で認識対象領域（６０４、６０５）の画素を飛ばし読みすることにより、６４０×４８０画素など、取得可能な解像度で、映像を取得する。
【０００９】
ここで、単位時間当たりの読み出しのデータ量は、解像度とフレームレートとの乗算になる。従って、解像度とフレームレートは、解像度の値を上限まで出せば、フレームレートは下限の値になり、解像度を下限にすれば、フレームレートは上限の値になるという、トレードオフの関係にある。
【００１０】
従って、ユーザの指定した検出対象領域において、認識に必要な解像度とフレームレートを確保できないことがある。前述の認識対象領域６０５では、大きく写るため低解像度でよいが高フレームレートが必要である。もし、必要なフレームレートを確保できなければ、より低解像度にする必要があるが、これを行うと、認識に必要な解像度を下回ることになってしまい、認識そのものが不可能になる。このような場合は認識対象領域を狭くすることにより、認識対象領域に対する人物の大きさが相対的に大きくなるようにする必要がある。しかしながら、予めこのような条件をユーザが把握し、適切に認識対象領域を設定するのは非常に困難である。
【００１１】
本発明は前述の問題点に鑑み、高解像度カメラおいて、認識対象領域を容易に設定できるようにすることを目的としている。
【課題を解決するための手段】
【００１２】
本発明の画像処理装置は、撮像手段と、前記撮像手段により得られた映像から認識対象領域を指定する指定手段と、前記指定手段により指定された認識対象領域の映像を取得する取得手段と、前記取得手段により取得された映像の解像度とフレームレートとを制御する制御手段と、前記制御手段により上限の解像度に制御された映像を辞書データと照合して所定の物体を検出し、該物体の大きさを認識する第１の認識手段と、前記第１の認識手段による認識結果を基に、映像の解像度を決定する解像度決定手段と、前記解像度決定手段により決定された解像度と、前記制御手段により前記解像度で取り得るフレームレートの上限に制御された所定の領域の映像から前記物体の移動速度を認識する第２の認識手段と、前記第２の認識手段による認識結果を基に、映像のフレームレートを決定するフレームレート決定手段と、前記フレームレート決定手段により決定されたフレームレートが、前記解像度で取り得るフレームレートの上限を超えた場合に、ユーザに警告を発する警告手段とを備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、認識の対象領域の設定を容易に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る画像処理装置の設置例を示す図である。
【図２】実施形態に係る画像処理装置の機能構成例を示すブロック図である。
【図３】図４のステップＳ４１４の処理の概要を示す図である。
【図４】実施形態において全体の処理手順の一例を示すフローチャートである。
【図５】人物とカメラとの位置関係を示す図である。
【図６】認識対象領域と人物とのサイズの関係を示す図である。
【図７】顔検出の概要を示す図である。
【図８】実施形態に係る画像処理装置のハード構成例を示すブロック図である。
【図９】２つの認識結果と中心間の距離とを示す図である。
【図１０】図４のステップＳ４０３の詳細な手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。
本実施形態では、通路を通行する人数をカウントするだけでなく、所定のエリアの混雑率を計測したり、動線を分析したり、特定の人物に対してアラームを発生させたりするなど、様々な用途に適用可能である。以下、本実施形態では、人数カウントに適用した例について説明する。
【００１６】
図１は、本実施形態に係る画像処理装置の設置例を示す図である。
図１において、１０１は通路の天井であり、１０２は通路の床である。１０３は通路を通行している人物である。１０４は撮像部（カメラ）であり、人物１０３を斜め上から撮影できるように、天井１０１に設置されている。１０５はＬＡＮケーブルであり、撮像部１０４で撮像される映像を送信する。１０６は映像を解析して計数するパーソナルコンピュータ（ＰＣ）である。
【００１７】
図８は、本実施形態におけるＰＣ１０６のハード構成例を示すブロック図である。
図８において、８０１はＣＰＵであり、本実施形態の画像処理装置における各種制御を実行する。８０２はＲＯＭであり、本装置の立ち上げ時に実行されるブートプログラムや各種データを格納する。８０３はＲＡＭであり、ＣＰＵ８０１が処理するための制御プログラムを格納するとともに、ＣＰＵ８０１が各種制御を実行する際の作業領域を提供する。８０４はキーボード、８０５はマウスであり、ユーザによる各種入力操作環境を提供する。
【００１８】
８０６は外部記憶装置であり、ハードディスクや光ディスク等で構成される。ただし、外部記憶装置８０６は、制御プログラムや各種データを全てＲＯＭ８０２に保持するようにすれば、必ずしも必要な構成要素ではない。８０７は表示器であり、ディスプレイなどで構成され、結果等をユーザに対して表示する。８０８はネットワークインターフェースであり、ネットワーク上の撮像部１０４とＬＡＮケーブルを介した通信を可能とする。８０９はビデオインターフェースであり、撮像部１０４と同軸ケーブルを解したフレーム画像の取り込みを可能とする。また、８１０は上記の各構成を接続するバスである。
【００１９】
図２は、本実施形態に係る画像処理装置の機能構成例を示すブロック図である。
図２において、２００はカメラであり、図１の撮像部１０４に相当する。２０１は、撮像レンズ、および、ＣＣＤ、ＣＭＯＳなどの撮像素子からなる撮像部である。なお、撮像素子は６４０×４８０画素に比べ１００倍以上ものあるような高解像度なものである。
【００２０】
２０２は、映像読出部であり、撮像部２０１の撮像素子から、後述するユーザに指定された認識対象領域より、後述するフレームレート及び解像度で、映像を読み出して取得すものである。２０３は、映像送信部であり、映像読出部２０２で読み出された映像を、ＬＡＮケーブル１０５を介してｈｔｔｐプロトコルのパケットデータとしてＰＣ２１０へ送る。
【００２１】
２０４は、映像読出制御パラメータ設定部であり、後述する映像読出制御パラメータ決定部２１６で決定されたフレームレート及び解像度を、ＬＡＮケーブル１０５を介して受信し、受信した値を映像読出部２０２に設定する。これにより、映像読出制御パラメータ決定部２１６で決定されたフレームレート及び解像度で映像が読み出され、フレーム画像として送信されるようになる。また、後述する認識対象領域設定部２１５により設定された認識対象領域を、ＬＡＮケーブル１０５を介して受信し、受信した値を映像読出部２０２に設定する。これにより、認識対象領域設定部２１５により設定された認識対象領域を、撮像素子から読み出し、フレーム画像として送信されるようになる。
【００２２】
２１０はＰＣであり、図１のＰＣ１０６に相当する。２１１は、映像受信部であり、ＰＣ２１０上のネットワークインターフェース８０８を介してパケットデータを受信する。そして、受信したパケットデータよりフレーム画像へ戻し、物体認識部２１２へ出力する。２１２は、物体認識部であり、映像受信部２１１より入力されたフレーム画像に所望の物体が映っているかどうかを認識する。
【００２３】
２１３は、認識結果分析部であり、物体認識部２１２で認識した結果を分析する。２１４は、出力部であり、認識結果分析部２１３の分析結果を、例えば、表示器８０７に表示するように出力する。２１５は、認識対象領域設定部であり、フレーム画像中でユーザが所望する物体を認識する領域を、ユーザがキーボード８０４、マウス８０５などを使用して、設定するものである。
【００２４】
２１６は、映像読出制御パラメータ決定部であり、認識結果分析部２１３による認識結果の分析結果より、フレームレートと解像度とを決定する。決定結果は、ＬＡＮケーブル１０５を介してカメラ２００に送信される。
【００２５】
次に、本実施形態における処理の流れについて図４のフローチャートを用いて説明する。本実施形態の画像処理装置の処理は、映像処理制御パラメータ設定モード時の処理と人数カウントモード時の処理とに大きく分かれる。まず、カメラを設置後や、認識対象領域の変更を行う場合など、人数のカウントを開始する前は、映像処理制御パラメータ設定モードとし、ステップＳ４０１からステップＳ４１０までの処理において、フレームレートと解像度を最適化する処理を行う。その後、人数カウントモードに移行し、人数のカウント処理（ステップＳ４１２からステップ４１６）を開始する。
【００２６】
まず、ステップＳ４００において、映像処理制御パラメータ設定モードであるかどうかを判定する。設定モードでないときは、ステップＳ４０１からステップＳ４１０をスキップする。本映像処理制御パラメータ設定モードは、一般的に人数をカウントするための初期設定を行うためのモードである。
【００２７】
次に、ステップＳ４０１において、認識対象領域設定部２１５は、認識対象領域を設定する。具体的には、ユーザがキーボード８０４やマウス８０５を用いて、図６の認識対象領域６０４、６０５に示すような矩形領域をフレーム画像内に指定する。なお、本実施形態では説明のために一箇所のみ指定するものとして説明する。認識対象領域設定部２１５は、指定された矩形領域を認識対象領域として、カメラ２００の映像読出制御パラメータ設定部２０４へ、ネットワークを介して送信する。
【００２８】
なお、認識対象領域の設定時は、カメラ２００は撮像素子全体を画素飛ばし読みをすることにより、６４０×４８０画素などでＰＣ２１０へフレーム画像として送信する。例えば、６４０×４８０画素の１００倍の画素数を持つ撮像素子（６４００×４８００画素）であれば、縦方向、横方向それぞれ１０画素に１回、画素を読み出すようにすればよい。設定後は、カメラ２００は認識対象領域のみをフレーム画像としてＰＣ２１０へ送信する。なお、ユーザの設定・確認用に常に別のチャンネルで撮像素子全体をフレーム画像として送信するようにして、出力部２１４には、こちらのフレーム画像を表示するようにしてもよい。
【００２９】
次に、ステップＳ４０２において、映像読出制御パラメータ決定部２１６は、初期値として認識対象領域の解像度を利用可能な上限の値に設定する。この値は、映像読出部２０２の撮像素子からの画像の読み出し能力、映像送信部２０３の送信能力、ネットワークの帯域の広さによって決まる。従って、決定方法としては、まず、カメラ２００に対してネットワークを介して問い合わせを行い、カメラ２００で利用可能な解像度とフレームレートの組み合わせを得る。例えば、６４０×４８０画素で２ｆｐｓ（フレーム毎秒）、３２０×２４０画素で８ｆｐｓといった情報である。この組み合わせの中から、解像度を上限の値に設定する（前記例では、６４０×４８０画素）。なお、フレームレートは必然的に下限の値を設定することになる（前記例では、２ｆｐｓ）。
【００３０】
次に、ネットワークを介して映像読出制御パラメータ設定部２０４へ送信する。そして、映像読出制御パラメータ設定部２０４は、映像読出部２０２を、解像度を上限の値に、フレームレートを下限の値になるように制御する。もし、ユーザの設定した認識対象利用域内の撮像素子の画素数が、指定した解像度よりも多いときは前述したように撮像素子の画素を飛ばし読みすることで、所望の解像度を得る。
【００３１】
次に、ステップＳ４０３において、第１の認識として物体を認識して物体のサイズで最小の値を求める。以下、処理の詳細を示した図１０のフローチャートを用いて述べる。図１０は、図４のステップＳ４０３の詳細な処理手順の一例を示すフローチャートである。
図１０のステップＳ１００１からステップＳ１００３において、所定時間分の認識を行うが、このとき、ユーザは指定した認識対象領域内を予め決められたパターンで歩行する。例えば、認識対象領域の上端から下端までの往復を繰り返すように歩行する。これは認識する内容を予め決めておくことにより、後の認識結果の分析を容易にするためである。
【００３２】
まず、ステップＳ１００１において、映像受信部２１１によってフレーム画像を受信し、物体認識部２１２へ出力する。ここで読み込まれた画像データは、例えば８ビットの画素により構成される２次元配列のデータであり、Ｒ、Ｇ、Ｂ、３つの面により構成される。このとき、画像データがＪＰＥＧ等の方式により圧縮されている場合は、画像データを所定の解凍方式にしたがって解凍し、ＲＧＢ各画素により構成される画像データとする。さらに、本実施形態では、ＲＧＢデータを輝度データに変換し、輝度画像データを以後の処理に適用するものとし、不図示の画像メモリに格納する。画像データとしてＹＣｒＣｂのデータを入力する場合はＹ成分をそのまま輝度データとしてもよい。
【００３３】
次に、ステップＳ１００２において、物体認識部２１２は、内部の画像メモリに転送された画像データから辞書データと照合を行い、認識対象領域設定部２１５で設定された領域に対して、所望の物体を認識する。物体認識方法については、例えば、ニューラル・ネットワークにより画像中の顔パターンを検出している。以下、その方法について簡単に説明する。
【００３４】
まず、顔の検出を対象とする画像データをメモリに読み込み、顔と照合する所定の領域を読み込んだ画像中から切り出す。そして、切り出した領域の画素値の分布を入力としてニューラル・ネットワークによる演算で一つの出力を得る。このとき、ニューラル・ネットワークの重み、閾値が膨大な顔画像パターンと非顔画像パターンによりあらかじめ学習されており、例えば、ニューラル・ネットワークの出力が０以上なら顔、それ以外は非顔であると判別する。ここで、重みや閾値が辞書データとなる。そして、ニューラル・ネットワークの入力である顔と照合する画像パターンの切り出し位置を、例えば、図７に示すように画像全域から縦横順次に走査していくことにより、画像中から顔を検出する。また、様々な大きさの顔の検出に対応するため、図７のＡ列に示すように読み込んだ画像を所定の割合で順次縮小し、それに対して前述した顔検出の走査を行うようにしている。
【００３５】
また、処理の高速化に着目した例としては、AdaBoostを使って多くの弱判別器を有効に組合せて顔判別の精度を向上させる。一方、夫々の弱判別器をHaarタイプの矩形特徴量で構成し、しかも矩形特徴量の算出を、積分画像を利用して高速に行っている。また、AdaBoost学習によって得た判別器を直列に繋ぎ、カスケード型の顔検出器を構成するようにしている。このカスケード型の顔検出器は、まず前段の単純な（すなわち計算量のより少ない）判別器を使って明らかに顔でないパターンの候補をその場で除去する。そして、それ以外の候補に対してのみ、より高い識別性能を持つ後段の複雑な（すなわち計算量のより多い）判別器を使って顔かどうかの判定を行っており、すべての候補に対して複雑な判定を行う必要がないので高速である。
【００３６】
次に、ステップＳ１００３において、所定時間経過しているかどうかを判定し、経過していない場合は、ステップＳ１００１からステップＳ１００２の処理を繰り返す。経過している場合は、ステップＳ１００４へ進む。
【００３７】
次に、ステップＳ１００４において、認識結果分析部２１３は、所定時間分の認識結果を分析し、映像受信部２１１で受信したフレーム画像から物体認識部２１２で認識した顔の最小サイズを求める。顔の最小サイズは、所定時間内に認識された結果を、顔のサイズについてヒストグラムを取り、顔のサイズが小さい方から順に見て、所定数以上の頻度があるサイズを採用する。
【００３８】
図４の説明に戻り、次に、ステップＳ４０４において、映像読出制御パラメータ決定部２１６は、ステップＳ４０３で求めた顔の最小サイズより、認識するのに必要な解像度の下限値を決定する。このとき、解像度決定処理では、認識可能な最小サイズにより解像度が決定される。図７を用いて説明したように、照合に使用する画像パターンは所定のサイズであり、走査を行う画像を縮小していくことで、様々なサイズの顔を認識する。従って、図７のＡ列の先頭のフレーム画像のサイズ（縮小を行う前のサイズ）に対する画像パターンのサイズが、認識可能な最小のサイズになる。
【００３９】
例えば、照合に使用する画像パターンが２０×２０画素である場合、フレーム画像の解像度が６４０×４８０画素であるときは、もちろん認識可能な顔の最小サイズは２０×２０画素である。ここで、後述するステップＳ４０６で得られた顔の最小サイズが４０×４０画素であったとする。照合に使用する画像パターンに比べて縦横それぞれ２倍であるから、フレームの解像度は６４０×４８０画素の縦横がそれぞれ１／２であれば十分である。従って、必要なフレーム画像の解像度の下限値は３２０×２４０画素と決定できる。
【００４０】
次に、ステップＳ４０５において、解像度をステップＳ４０４で決定された値（前記例では、３２０×２４０画素）に変更し、フレームレートをこのとき取り得る上限の値（前記例では、８ｆｐｓ）に変更する。そして、ステップＳ４０２と同様に、解像度及びフレームレートについて、この変更した値を、ネットワークを介して映像読出制御パラメータ設定部２０４へ送信する。そして、映像読出制御パラメータ設定部２０４は、解像度をステップＳ４０４で決定された値になるように映像読出部２０２を制御し、さらにフレームレートをこのときとりうる上限の値になるように映像読出部２０２を制御する。
【００４１】
次に、ステップＳ４０６において、第２の認識として物体を認識して物体の移動速度を求める。本処理の詳細は、ステップＳ４０３と概ね同じであるので、以下に違いのあるステップＳ１００４についてのみ述べる。この場合、ステップＳ１００４においては、認識結果分析部２１３は所定時間分の認識結果を分析し、映像受信部２１１で受信したフレーム画像から物体認識部２１２で認識した顔の移動速度を求める。
【００４２】
顔の移動速度は、２つのフレーム間の認識された顔の位置の間の距離（画素数）を求めればよい。２つのフレーム間の時間はフレームレートから判別することができる。また、認識位置の精度のばらつきを除くため、所定時間分、前述の方法で移動速度を算出し、その平均値を顔の移動速度とする。
【００４３】
次に、ステップＳ４０７において、映像読出制御パラメータ決定部２１６は、ステップＳ４０６で求めた顔の移動速度より、認識するのに必要なフレームレートの下限値を決定する。フレームレート決定処理では、ステップＳ４０６で求めた認識対象領域内の顔の移動速度と前後のフレームの認識結果の位置ずれの許容範囲とによってフレームレートが決まる。人数をカウントするには、後述するようにフレームごとの認識結果から、同一の人物ごとに軌跡を作成する必要がある。即ち、前後のフレーム間の認識結果が同一人物の顔のものであるかどうかが判定できなければならない。例えば、前後のフレーム間で認識結果が重ならなくなると同じ顔であったかどうかの判断は難しくなる。そこで、前後のフレームの認識結果が常に重なる範囲の位置ずれを、許容範囲とすることができる。
【００４４】
例えば、ステップＳ４０６で得られた顔の最小サイズより、解像度は３２０×２４０画素となっている。このとき、フレームレートは３２０×２４０画素で取り得る値の上限値が８ｆｐｓであったとする。ここで、認識可能な顔のサイズは２０×２０であるので、２つの認識結果が認識可能な顔サイズ１辺の２０画素以上ずれると重ならなくなる。例えば、図９に示すように、２つの認識結果９０１、９０２があり、長さ９０３を２つの中心間の距離とする。この長さ９０３は１辺の半分の１０画素の２倍に相当するので２０画素になる。つまり、前後のフレーム間で２０画素以上ずれると認識結果が重ならなくなる。そこで、許容する位置ずれの範囲を１５画素以内とする。認識した結果、８ｆｐｓで計測すると移動量が３０画素であったとすると、１６ｆｐｓにすれば、１５画素となり、前記許容する位置ずれの範囲内となる。
【００４５】
ステップＳ４０８において、ステップＳ４０７で決定されたフレームレートの下限値が、ステップＳ４０４で決められた解像度で取り得る値の上限を超えているかどうかチェックする。前述の例では、８ｆｐｓが上限であったときに、１６ｆｐｓ必要である場合は、上限を超えてしまっている。この場合、１６ｆｐｓを確保できるようにするためには、解像度を低くしなければならないが、解像度は既に認識に必要な下限値となっている。従って、認識対象領域を狭く設定し直すことで、検出最小サイズがより大きくなるようにする。即ち、認識に必要な解像度が３２０×２４０画素の半分となるまで、認識対象領域を狭くする必要がある。
【００４６】
そこで、ステップＳ４０８のチェックの結果、上限を超えた場合は、ステップＳ４０９において、例えば「認識対象領域を狭く設定しなおしてください。」などのようなアラートメッセージを出力部２１４に表示し、ユーザに認識対象領域の再設定を促す。そして、ステップＳ４０１に戻り、ユーザが再設定を行うと、既に説明したステップＳ４０２からステップＳ４０７の処理が再度行われる。
【００４７】
一方、ステップＳ４０８のチェックの結果、ステップＳ４０７で決定されたフレームレートの下限値が、ステップＳ４０４で決められた解像度で取り得る値の上限を超えていない場合は、ステップＳ４１０へ進む。そして、ステップＳ４１０において、ネットワークを介してカメラ２００の映像読出制御パラメータ設定部２０４へ前記フレームレートの値（下限値）を送信する。そして、映像読出制御パラメータ設定部２０４は、映像読出部２０２が、ステップＳ４０７で求めたフレームレートの映像を送信するようパラメータを設定する。これにより、以降、撮像部２０１で撮像されたフレーム画像は映像読出制御パラメータ決定部２１６によって決定されたフレームレートと解像度で、映像読出部２０２によって読み出され、映像送信部２０３によって送信される。
【００４８】
ステップＳ４１１は終了判定であり、電源ＯＦＦやキーボード８０４やマウス８０５によりユーザからの指示があるまで、後述するステップＳ４１２からステップＳ４１６の処理を繰り返す。そして、ステップＳ４１２においては、フレーム画像を映像受信部２１１によって受信し、物体認識部２１２へ出力する。
【００４９】
次に、ステップＳ４１３において、ステップＳ４１２にて入力されたフレーム画像について、物体認識部２１２にて物体の認識を行う。詳細は図１０のステップＳ１００２と同じであるので説明は省略する。次に、ステップＳ４１４において、認識結果分析部２１３は、現在から所定時間前までの間に検出された被写体領域をＲＡＭ８０３より読み出し、軌跡を生成する。この処理は、所定時間内に検出された複数ある顔のうち、どれが同一の人物の動きに対応するかを求める処理である。
【００５０】
ステップＳ４１４の処理の詳細について図３を用いて説明する。図３において、３０１は撮像しているフレーム全体である。ここで、所定の時間に検出された顔の領域３０３〜３０５を、矩形で表現して重ね描きしている。図３の例では、３フレーム分が重ね描きしており、最も古いフレームでは領域３０３が、次のフレームでは領域３０４が、その次の現在のフレームでは、領域３０５が検出されているものとする。これらの軌跡を求める方法としては、各領域の中心を求め、各領域の中心間の距離が最小となるもの同士を同一の被写体とみなし、線分で接続するようにすればよい。図３に示す例では、軌跡３０９がこのようにして求めた軌跡となる。
【００５１】
次に、ステップＳ４１５において、認識結果分析部２１３はステップＳ４１４で作成された軌跡が、所定の条件を満たすかどうかをチェックし、条件を満たしていればカウントする。ここで所定の条件とは例えば、図３に示すような計測ライン３０２を横切っているかどうかについてである。なお、この計測ライン３０２は、ユーザによってフレーム画面内に設定される。また、図３の例では、軌跡３０９が計測ライン３０２を横切っているので、１とカウントされる。もし、まだ、計測ライン３０２を横切っていない軌跡が存在すれば、この時点では、カウントされない。
【００５２】
次に、ステップＳ４１６において、出力部２１４でカウントされた結果をユーザに対して表示する。そして、ステップＳ４００へ戻る。以上のように、所定時間分の認識結果から認識に必要な入力映像のフレームレートと解像度を求めることにより、ユーザにより設定された認識対象領域が適切であるかどうかを判定し、ユーザへ警告または通知することが可能となる。
【００５３】
本実施形態では、顔の位置を検出する例で説明したが、人体全体や上半身、頭部など人物の様々な部位や、自動車や自転車など、様々な物体においても適用可能である。また、本実施形態では、認識対象領域が適切でない場合、アラートを出して、ユーザに再設定をさせたが、認識手対象領域を自動的に補正するようにしてもよい。本実施形態で挙げた例では、必要なフレームレートを確保するために３２０×２４０画素の半分にする必要があった。このような解像度を確保できるまで、認識対象領域を、その中心位置を変えずに、各辺を漸次、短くするようにすればよい。
【００５４】
さらに本実施形態では、カメラとＰＣをネットワークで接続した構成とした。しかしながら本発明の適用範囲はこれに限ったものではない。例えば、カメラ内で物体認識や認識結果分析を行うように構成してもよい。
【００５５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５６】
２０１  撮像部、２０２  映像読出部、２０３  映像送信部、２０４  映像読出制御パラメータ設定部、２１１  映像受信部、２１２  物体認識部、２１３  認識結果分析部、２１４  出力部、２１５  認識対象領域設定部、２１６  映像読出制御パラメータ決定部
【図１】
0005693094.tif 000002
【図２】
0005693094.tif 000003
【図３】
0005693094.tif 000004
【図４】
0005693094.tif 000005
【図５】
0005693094.tif 000006
【図６】
0005693094.tif 000007
【図７】
0005693094.tif 000008
【図８】
0005693094.tif 000009
【図９】
0005693094.tif 000010
【図１０】
0005693094.tif 000011