(57)【要約】      （修正有）【課題】通過方向ごとの人の通過量に基づいて、人を検出する処理負荷を効率的に低減することができる画像処理装置、撮影装置、画像処理方法及びプログラムを提供する。【解決手段】撮影した画像から物体を検出する検出処理を行う。検出された物体を追尾して、追尾される物体が検知線を通過したこと及び通過方向を判定し、検知線を通過したと判定された物体の数を通過方向ごとに算出する。算出された結果に基づいて、画像において物体の検出処理を実行する検出領域を設定する。【選択図】図５
2019192155.tif 000002
【特許請求の範囲】
【請求項１】
画像から物体を検出する検出処理を行う検出手段と、
前記検出手段により検出された物体を追尾する追尾手段と、
前記追尾手段により追尾される物体が前記画像における検知線を通過したこと及び通過方向を判定する判定手段と、
前記判定手段により前記検知線を通過したと判定された物体の数を前記通過方向ごとに算出する算出手段と、
前記算出手段の結果に基づいて、前記画像において前記検出手段による検出処理を実行する検出領域を設定する設定手段とを有することを特徴とした画像処理装置。
【請求項２】
前記設定手段は、前記算出手段により算出された前記通過方向ごとの物体の数が所定の条件を満たした場合、前記検知線を通過する物体の数がより多い通過方向の出口側の領域において、前記検出領域の面積が小さくなるように前記検出領域を設定することを特徴とした請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、一定期間において或る一方向を通過した人数が所定値以上、かつ、もう一方向を通過した人数が所定値以下の条件を満たした場合、前記検知線を通過する物体の数がより多い通過方向の出口側の領域において、前記検出領域の面積が小さくなるように前記検出領域を設定することを特徴とした請求項１または２に記載の画像処理装置。
【請求項４】
前記検出手段は、所定の大きさの矩形領域を画像内において水平および垂直方向に走査しつつ順次切り出し、切り出した該矩形領域を検出領域として、物体を検出する検出手段であって、
前記設定手段は、前記算出手段により算出された前記通過方向ごとの物体の数が所定の条件を満たした場合、前記検知線を通過する物体の数がより多い通過方向の入口側と出口側の領域を規定したとき、出口側の領域における矩形領域を走査させる間隔を変更することを特徴とした請求項１に記載の画像処理装置。
【請求項５】
前記検出手段は、所定の大きさの矩形領域を画像内において水平および垂直方向に走査しつつ順次切り出し、切り出した該矩形領域を検出領域として、物体を検出する検出手段であって、
前記設定手段は、一定期間において或る一方向を通過した人数が所定値以上、かつ、もう一方向を通過した人数が所定値以下の条件を満たした場合、前記検知線を通過する物体の数がより多い通過方向の入口側と出口側の領域を規定したとき、出口側の領域における矩形領域を走査させる間隔を変更することを特徴とした請求項１または請求項４に記載の画像処理装置。
【請求項６】
画像を撮影する撮影手段と、
前記撮影手段により撮影された画像から物体を検出する検出処理を行う検出手段と、
前記検出手段により検出された物体を追尾する追尾手段と、
前記追尾手段により追尾される物体が前記画像における検知線を通過したこと及び通過方向を判定する判定手段と、
前記判定手段により前記検知線を通過したと判定された物体の数を前記通過方向ごとに算出する算出手段と、
前記算出手段の結果に基づいて、前記画像において前記検出手段による検出処理を実行する検出領域を設定する設定手段とを有することを特徴とした撮影装置。
【請求項７】
画像から物体を検出する検出処理を行う検出工程と、
前記検出工程により検出された物体を追尾する追尾工程と、
前記追尾工程により追尾される物体が前記画像における検知線を通過したこと及び通過方向を判定する判定工程と、
前記判定工程により前記検知線を通過したと判定された物体の数を前記通過方向ごとに算出する算出工程と、
前記算出工程の結果に基づいて、前記画像において前記検出工程による検出処理を実行する検出領域を設定する設定工程とを有することを特徴とした画像処理方法。
【請求項８】
画像から物体を検出する検出処理を行う検出手段と、
前記検出手段により検出された物体を追尾する追尾手段と、
前記追尾手段により追尾される物体が前記画像における検知線を通過したこと及び通過方向を判定する判定手段と、
前記判定手段により前記検知線を通過したと判定された物体の数を前記通過方向ごとに算出する算出手段と、
前記算出手段の結果に基づいて、前記画像において前記検出手段による検出処理を実行する検出領域を設定する設定手段として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人数をカウントする画像処理技術に関するものである。
【背景技術】
【０００２】
マーケティングの用途などへの活用を目的として、店舗等における通路を撮影装置によって撮影し、撮影した画像から通路を通過する人の数を通過方向ごとにカウントする技術が知られている。
【０００３】
特許文献１では、画像全体について所定の照合パターンを走査させながらマッチングすることで人の上半身を検出し、複数フレームの検出結果に基づいて人の軌跡を生成して通過ラインと比較することで、ラインを通過する人の数を計数する旨の記載がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、通過方向ごとの人の通過量に極端に偏りがある場合であっても、特許文献１では、通過方向ごとの通過量の傾向を考慮せずに、画像全体の領域に対して人を検出する処理を行っているため、人を計数する処理のための人の検出負荷が大きかった。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、通過方向ごとの人の通過量に基づいて、人を検出する処理負荷を効率的に低減することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の画像処理装置は以下の構成を備える。すなわち、画像から物体を検出する検出処理を行う検出手段と、前記検出手段により検出された物体を追尾する追尾手段と、前記追尾手段により追尾される物体が前記画像における検知線を通過したこと及び通過方向を判定する判定手段と、前記判定手段により前記検知線を通過したと判定された物体の数を前記通過方向ごとに算出する算出手段と、前記算出手段の結果に基づいて、前記画像において前記検出手段による検出処理を実行する検出領域を設定する設定手段とを有する。
【発明の効果】
【０００８】
本発明によれば、通過方向ごとの人の通過量に基づいて、人を検出する処理負荷を効率的に低減することができる。
【図面の簡単な説明】
【０００９】
【図１】画像処理システムの構成を示す模式図である。
【図２】画像処理装置および撮像装置のハードウェア構成を示す概略図である。
【図３】画像処理装置および撮影装置の機能ブロック図である。
【図４】検出領域を設定する処理を説明するための模式図である。
【図５】通過カウント処理および検出領域を設定する処理のフローチャートである。
【図６】軌跡情報および通過情報のデータ構成図の一例である。
【図７】検出領域を設定する処理のフローチャートである。
【図８】検出領域を設定する処理を説明するための模式図である。
【図９】画像処理装置の一部の機能を有する撮影装置とクライアント装置の機能ブロック図である。
【発明を実施するための形態】
【００１０】
（実施形態１）
以下、添付図面を参照しながら本発明に係る実施形態について説明する。なお、以下の実施形態において示す構成は一例に過ぎず、図示された構成に限定されるものではない。
【００１１】
図１は、本実施形態に係るシステム構成を示す模式図である。画像処理装置１００は、後述する画像処理を実行する装置である。なお、画像処理装置１００は、例えば、後述する画像処理の機能を実現するためのプログラムがインストールされたパーソナルコンピュータである。
【００１２】
表示装置１０１は、画像処理装置１００に接続され、撮像装置１０２から配信される画像データに基づく画像や後述する画像処理により出力されるデータなどを表示するディスプレイ等を含む。
【００１３】
撮影装置１０２は、画像を撮影する装置であり、例えば、ネットワークを介して画像の画像データなどを送信できるネットワークカメラや監視カメラなどである。記録装置１０３は、撮影装置１０２から送信された画像データなどを記録する。
【００１４】
また、画像処理装置１００、撮影装置１０２、および記録装置１０３は、ネットワーク１０４を介して互いに通信を行う。ネットワーク１０４は、例えばＥＴＨＥＲＮＥＴ（登録商標）等の通信規格を満足する複数のルータ、スイッチ、ケーブル等から構成される。本実施形態においては画像処理装置１００、撮影装置１０２、記録装置１０３間の通信を行うことができるものであれば、その通信規格、規模、構成を問わない。例えば、ネットワーク１０４はインターネットや有線ＬＡＮ（ＬＯＣＡＬ  ＡＲＥＡ  ＮＥＴＷＯＲＫ）、無線ＬＡＮ（ＷＩＲＥＬＥＳＳ  ＬＡＮ）、ＷＡＮ（ＷＩＤＥ  ＡＲＥＡ  ＮＥＴＷＯＲＫ）等により構成されてもよい。
【００１５】
また、図１に示す本実施形態の構成では、撮影装置１０２により撮影された画像の画像データ（ライブ映像）や記録装置１０３にて記録された画像データ（過去に撮影した画像）などが画像処理装置１００に送信される。
【００１６】
次に、図２を参照して、画像処理装置１００および撮影装置１０２のハードウェア構成について説明する。図２は、画像処理装置１００および撮影装置１０２のハードウェア構成を示す概略図である。
【００１７】
まず、画像処理装置１００のハードウェア構成について説明する。ＣＰＵ（ＣＥＮＴＲＡＬ  ＰＲＯＣＥＳＳＩＮＧ  ＵＮＩＴ）２００は、画像処理装置１００を制御する。
【００１８】
ＩＦ２０１は、ネットワーク１０４を介してＴＣＰ／ＩＰやＨＴＴＰ、ＯＮＶＩＦ等のプロトコルに従って、撮影装置１０２との通信を行う。また、ＩＦ２０１は、撮影装置１０２が撮影した画像の画像データなどを受信したり、撮影装置１０２を制御するための各種のコマンドなどを送信したりする。
【００１９】
ＲＡＭ（ＲＡＮＤＯＭ  ＡＣＣＥＳＳ  ＭＥＭＯＲＹ）２０２は、ＣＰＵ２００が実行するコンピュータプログラムを一時的に記憶する。また、ＲＡＭ２０２は、ＩＦ２０１を介して外部から取得したデータ（コマンドや画像データ）などを一時的に記憶する。また、ＲＡＭ２０２は、ＣＰＵ２００が後述の画像処理を実行する際に用いるワークエリアを提供する。また、ＲＡＭ２０２は、例えば、フレームメモリとして機能したり、バッファメモリとして機能したりする。
【００２０】
ＣＰＵ２００は、ＲＡＭ２０２に格納されるコンピュータプログラムを実行する。なおＣＰＵ以外にも、ＤＳＰ（ＤＩＧＩＴＡＬ  ＳＩＧＮＡＬ  ＰＲＯＣＥＳＳＯＲ）等のプロセッサを用いてもよい。
【００２１】
ＨＤＤ（ＨＡＲＤ  ＤＩＳＫ  ＤＲＩＶＥ）２０３は、オペレーティングシステムのプログラムや画像データを記憶する。後述する図５および図７のフローチャートを実行するためのコンピュータプログラムやデータはＨＤＤ２０３に格納されており、ＣＰＵ２００による制御に従って、適宜、ＲＡＭ２０２にロードされ、ＣＰＵ２００によって実行される。なおＨＤＤ以外にもフラッシュメモリ等の他の記憶媒体を用いてもよい。
【００２２】
なお、画像処理装置１００の筐体は表示装置１０１と一体であってもよい。ＵＩ（ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ）２０４は、キーボードやマウスなどの入力装置である。
【００２３】
なお、以降の説明では、ＣＰＵ２００が画像処理を実行する例について説明するが、ＣＰＵ２００の処理のうち少なくとも一部を専用のハードウェアによって行うようにしてもよい。例えば、表示装置１０１にＧＵＩ（ＧＲＡＰＨＩＣＡＬ  ＵＳＥＲ  ＩＮＴＥＲＦＡＣＥ）や画像データを表示する処理は、ＧＰＵ（ＧＲＡＰＨＩＣＳ  ＰＲＯＣＥＳＳＩＮＧ  ＵＮＩＴ）で実行してもよい。また、ＨＤＤ２０３からプログラムコードを読み出してＲＡＭ２０２に展開する処理は、転送装置として機能するＤＭＡ（ＤＩＲＥＣＴ  ＭＥＭＯＲＹ  ＡＣＣＥＳＳ）によって実行してもよい。
【００２４】
次に、撮影装置１０２のハードウェア構成について説明する。ＣＰＵ２１０は撮影装置１０２を統括制御する中央処理装置である。
【００２５】
ＩＦ２１１は、ネットワーク１０４を介してＴＣＰ／ＩＰやＨＴＴＰ、ＯＮＶＩＦ等のプロトコルに従って、画像処理装置１００との通信を行う。ＩＦ２１１は、画像処理装置１００へ画像の画像データなどを送信したり、撮影装置１０２を制御するための各種のコマンドなどを画像処理装置１００から受信したりする。
【００２６】
ＲＡＭ２１２は、ＣＰＵ２１０が実行するコンピュータプログラムを一時的に記憶する。また、ＲＡＭ２１２は、ＩＦ２１１を介して外部から取得したデータ（コマンドや撮像条件に関するパラメータなど）を一時的に記憶する。また、ＲＡＭ２１２は、ＣＰＵ２１０が処理を実行する際に用いるワークエリアを提供する。また、ＲＡＭ２１２は、例えば、フレームメモリとして機能したり、バッファメモリとして機能したりする。
【００２７】
ＲＯＭ２１３は、ＣＰＵ２１０が撮影装置１０２を制御するためのプログラムなどを記憶する。なお、ＲＯＭ２１３に加えてＨＤＤ２０３と同等な二次記憶装置を備えるようにしてもよい。
【００２８】
撮影デバイス２１４は、動画または静止画を撮影するビデオカメラ、赤外線カメラなどの撮影デバイスである。なお、撮影装置１０２の筐体と撮影デバイス２１４の筐体は一体でなくてもよい。
【００２９】
次に、図３（ａ）を参照して、本実施形態に係る画像処理装置１００について説明する。図３（ａ）は、本実施形態に係る画像処理装置１００の機能ブロック図である。なお、図３（ａ）に示す各機能ブロックは、ソフトウェアモジュールで実現してもよいし、ハードウェアモジュールで実現してもよい。また、ソフトウェアモジュールとハードウェアモジュールとを協働させて実現してもよい。なお、以降の説明においては、画像処理装置１００が有する各機能は、画像処理装置１００のＣＰＵ２００により実行されるものとする。
【００３０】
本実施形態における画像処理装置１００は、通信部３００と、検出部３０１と、追尾部３０２と、保持部３０３と、判定部３０４と、算出部３０５と、設定部３０６と、出力制御部３０７と、操作受付部３０８と、記憶部３０９とを有する。
【００３１】
通信部３００は、ネットワーク１０４を介して、撮影装置１０２が撮影した画像の画像データなどを受信したり、撮影装置１０２を制御するための各種のコマンドなどを撮影装置１０２へ送信したりする。
【００３２】
検出部３０１は、画像における検出領域を対象にして所定の物体（人や車など）を検出する検出処理を行う。本実施形態における検出部３０１は、照合パターン（辞書）を使用して、画像の検出領域を対象にして人体を検出する検出処理を行う。なお、検出領域は、検出部３０１が検出処理を行う対象とする画像内の領域であり、検出領域について照合パターンを走査する。
【００３３】
なお、画像から人体などの特定の物体を検出する場合において、人体が正面向きである場合と横向きである場合とで使用する照合パターンを使い分けることで検出精度の向上が期待できる。例えば、正面（背面）向きの人体の画像と照合させるための照合パターンと、横向きの人体の画像と照合させるための照合パターンとを保持し、撮影装置１０２の設置状況（通路の方向と撮影方向の関係）やユーザーの指定に基づいて使い分けることができる。
【００３４】
また、照合パターンは、斜め方向からや上方向からなど他の角度からのものを用意しておいてもよい。また、人体を検出する場合、全身の特徴を辞書化しておく必要はなく、上半身、下半身、頭部、顔、足などの人体の一部について照合パターンを用意してもよい。照合パターンは人体以外にも、車や動物など特定の移動体を検出するために用意しておけばよい。
【００３５】
なお、検出部３０１は、ユーザーが検出したい対象である物体を画像から検出する機能を有していればよく、既知の動体検出や肌色検出などでもよく、パターンマッチング処理に限定されるものではない。また、以降の説明では本実施形態における検出部３０１は、検出処理を行う対象を人体として説明するが、検出処理を行う対象として、例えば、人の顔、車、動物等であってもよい。
【００３６】
追尾部３０２は、検出部３０１により検出された人体を追尾する。本実施形態における追尾部３０２は、着目フレームよりも１つ以上前のフレームの画像から検出部３０１が検出した人体と同じ人体を検出部３０１が着目フレームの画像から検出した場合、それぞれのフレームにおける人体同士を対応づける。すなわち、時間的に近い複数のフレームについて画像間で物体を追尾する。
【００３７】
なお、追尾部３０２は、追尾する対象となる人体ごとにＩＤを付与する。例えば、追尾部３０２は、着目フレームよりも１つ以上前のフレームの画像から検出部３０１が検出した人体に対してＩＤ＝１を付与したとする。そして、検出部３０１が着目フレームの画像からもこの人体を検出した場合、追尾部３０２は、この人体にもＩＤ＝１を付与する。このように、複数のフレームの画像にわたって同じ人体が検出された場合には、それぞれの物体に同じＩＤを付与する。なお、記憶部３０９は、追尾部３０２が追尾する人体に対応するＩＤごとに、その人体の画像における位置と、画像が撮影された時刻とを含んだ軌跡情報を記憶する。なお、軌跡情報についての更に詳細な説明は図６を参照して後述する。
【００３８】
追尾部３０２が複数のフレームの画像にわたって同じ物体であると判断する方法として、例えば、検出された物体の移動ベクトルを用いて物体の移動予測位置と検出した物体位置が一定距離内であれば同一物体であるとする。また、追尾部３０２が物体の色、形状、大きさ（画素数）等を用いて、複数のフレームの画像間で相関の高い物体を対応付けてもよい。このように、追尾部３０２は、複数のフレームの画像にわたって同じ物体であると判断し追尾する処理を実行できればよく、特定の方法に限定されるものではない。
【００３９】
保持部３０３は、追尾部３０２により追尾される人体が検知線を通過したか否かを判定するためのパラメータ、つまり、検知線を規定するパラメータの情報を保持する。例えば、出力制御部３０７により表示装置１０１に出力された画像に対して、ユーザーが指定した画像上における２点の位置座標の情報を操作受付部３０８が受け付ける。そして、保持部３０３は、その２点の位置座標の情報が検知線を規定するパラメータとして保持する。なお、本実施形態において、画像の左下の端点を原点とした（ｘ、ｙ）座標を位置座標の情報として定められるとし、２点の位置座標を結ぶ線が検知線となる。なお保持部３０３は、事前に予め登録されたパラメータを保持してもよく、このパラメータにより規定されるラインを画像内における検知線としてもよい。
【００４０】
判定部３０４は、追尾部３０２により追尾される人体が画像における検知線を通過したこと及びその通過方向を判定する。なお、本実施形態における判定部３０４は、記憶部３０９が記憶する人体ごとの軌跡情報と、検知線を規定するパラメータとに基づいて、人体が検知線を通過したこと及びその通過方向を判定する。なお、記憶部３０９は、判定部３０４により通過したことを判定された時刻と、通過した人体のＩＤと、通過方向とを含む通過情報を記憶する。
【００４１】
算出部３０５は、判定部３０４により検知線を通過したと判定された人体の数を通過方向ごとに算出する。算出部３０５により算出された通過方向ごとの人体の数は、記憶部３０９が記憶する。
【００４２】
設定部３０６は、算出部３０５の結果に基づいて、検出部３０１が検出処理を行う領域である検出領域を設定する。なお、本実施形態における設定部３０６は、通過方向ごとの人体の数が所定の条件を満たした場合、検知線を通過する人体の数が多い通過方向の入口側と出口側の領域を規定したとき、出口側の領域における検出領域の面積が小さくなるよう検出領域を設定する。
【００４３】
出力制御部３０７は、通信部３００が受信した画像や本実施形態に係る画像処理の結果などを表示装置１０１に出力する。
【００４４】
操作受付部３０８は、ＵＩ２０４を介したユーザーにより行われた操作の情報を受け付ける。例えば、操作受付部３０８は、ユーザーにより画像内に指定されたラインの位置座標に関する情報を受け付ける。
【００４５】
記憶部３０９は、追尾部３０２により追尾される人体に関する情報や、判定部３０４により通過したことを判定された人体に関する情報などを記憶する。
【００４６】
次に、図３（ｂ）を参照して、本実施形態に係る撮影装置１０２について説明する。図３（ｂ）は、撮影装置１０２の機能ブロック図である。撮影装置１０２は、撮影部３３０と、画像処理部３３１と、制御部３３２と、通信部３３３とを有する。
【００４７】
撮影部３３０は、ＣＣＤ（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）センサやＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ  ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）センサ等の撮像素子により構成される。そして、撮影部３３０は、撮影装置１０２のレンズを通って結像された被写体像を光電変換して電気信号を生成する。
【００４８】
画像処理部３３１は、撮影部３３０において光電変換された電気信号をデジタル信号へ変換する処理や、圧縮符号化処理などを行い、画像データを生成する。
【００４９】
制御部３３２は、画像処理装置１００から受信した撮影装置１０２を制御するコマンドに従い、撮影装置１０２を制御する。例えば、制御部３３２は、撮影装置１０２の画角を変更する制御を行う。
【００５０】
通信部３３３は、画像処理装置１００との通信を行うインターフェースである。例えば、通信部３３３は、画像処理部３３１で生成された画像データを画像処理装置１００に送信する。また、通信部３３３は、画像処理装置１００が送信する撮影装置１０２を制御するコマンドを受信する。
【００５１】
次に、図４〜図６を参照して、本実施形態に係る画像処理について説明する。なお、以降の説明において、本実施形態に係る画像処理の対象となる物体は人体とする。例えば、検出部３０１は人体を検出する検出処理を行うとして説明する。
【００５２】
図４は、本実施形態に係る画像処理を説明するための模式図である。なお、図４（ｂ）は図４（ａ）に映っている人体が検知線を通り過ぎてから撮影されている様子を示す模式図である。
【００５３】
図４において、画像４００ａおよび画像４００ｂは通信部３００が受信した画像である。なお画像４００ｂは、画像４００ａが撮影装置１０２により撮影された時刻から所定時間経過したのちに撮影された画像である。領域４０１ａおよび領域４０１ｂは、検出部３０１が人体の検出処理を行う対象となる検出領域である。なお、領域４０１ａは、画像４００における全体の領域であり、予め設定された検出領域である。また、領域４０１ｂは、画像４００における一部分の領域である。領域４０１ｃは、検出部３０１により人体の検出処理が行われない領域である。
【００５４】
ライン４０３は、画像において通過する人体を検知するための検知線である。なお、画像４００ａや画像４００ｂなど通信部３００が受信する画像が示す全体の領域は、便宜的に、ライン４０３を基準にして領域Ａと領域Ｂとで分かれるものとして説明する。枠４０５は、検出部３０１により検出された人体４０４の位置と大きさを示す枠である。
【００５５】
また説明の簡便化のため、領域Ａを基準として、領域Ａから領域Ｂの方向へ人体がライン４０３を通過した場合の通過方向を「ＩＮ方向」とする。対して、領域Ｂから領域Ａへ人体がライン４０３を通過した場合の通過方向を「ＯＵＴ方向」とする。なお矢印４０２は、ＩＮ方向を示す矢印である。
【００５６】
次に本実施形態における画像処理について図５に示すフローチャートを参照して説明する。図５（ａ）は、本実施形態に係る通過カウント処理の流れを示すフローチャートである。また、図５（ｂ）は、本実施形態に係る検出領域の設定処理の流れを示すフローチャートである。
【００５７】
なお、本実施形態において、図５に示すフローチャートの処理は、画像処理装置１００のＨＤＤ２０３に格納されたコンピュータプログラムをＣＰＵ２００が実行することにより実現される図３の各機能ブロックにより実行されるものとして説明する。しかし、図５に示すフローチャートの処理の一部は、専用のハードウェアによって実行するようにしてもよい。
【００５８】
まず、図５（ａ）を参照して、本実施形態に係る通過カウント処理のフローチャートについて説明する。ステップＳ５０１において、通信部３００は、ネットワーク１０４を介して、画像データを受信する。
【００５９】
次に、ステップＳ５０２において、検出部３０１は、画像における検出領域を対象にして人体を検出する検出処理を行う。なお設定部３０６の後述する処理が行われる前における初期の段階では、検出部３０１は、画像全体に予め設定された検出領域である領域４０１ａを対象に検出処理を行うものとする。図４（ａ）において、検出部３０１は人体４０４を検出する。なお、出力制御部３０７は、検出された人体４０４の位置と大きさが分かるような枠を、人体４０４に外接するように画像に重畳させて表示装置１０１に表示させてもよい。
【００６０】
次に、ステップＳ５０３において、追尾部３０２は、検出部３０１により検出された人体を追尾する。図４（ａ）において、追尾部３０２は、人体４０４の追尾を行い、さらに人体４０４に対してＩＤ＝１を付与するものとする。ここで図６（ａ）を参照して、追尾部３０２により追尾される人体の軌跡の情報である軌跡情報について説明する。
【００６１】
図６（ａ）は人体の軌跡情報を示すデータ構成図の一例である。図６（ａ）における軌跡情報を示すデータ構成は、追尾部３０２により付与されたＩＤ毎に、人体の軌跡情報として、検出部３０１により検出された時刻と、検出された画像における座標の位置とが含まれている。なお、図６（ａ）に示すデータ構成の例では、追尾部３０２によりＩＤ＝１と付与された人体について、検出部３０１により検出された時刻と、その時刻における画像内での人体の位置が示されている。このような軌跡情報は、追尾部３０２により追尾されるＩＤ毎、すなわち、人体毎に存在し、それらの軌跡情報は記憶部３０９にて記憶される。なお、人体の位置は、画像における人体の位置を示す枠（例えば、枠４０５）の中心点の座標として説明する。
【００６２】
次に、ステップＳ５０４において、判定部３０４は、追尾部３０２により追尾される人体がパラメータにより規定される画像内に設定された検知線を通過したこと及びその通過方向を判定する。図４において、画像４００ａが撮影された時刻から画像４００ｂが撮影された時刻までの過程で、人体４０４は領域Ａから領域Ｂへ移動した場合、判定部３０４は、人体４０４が検知線をＩＮ方向へ通過したと判定する。なお、判定部３０４により人体が検知線を通過した時刻と、その人体に付与されたＩＤと、通過方向とを含む情報である通過情報は記憶部３０９により記憶される。図６（ｂ）は通過情報の一例を示すデータ構成図である。図６（ｂ）が示すデータ構成には、判定部３０４により通過したことを判定された時刻と、通過した人体に付与されたＩＤと、通過した人体の通過方向が含まれている。
【００６３】
次に、図５（ｂ）を参照して、検出領域を設定する処理について説明する。ステップＳ５０５において、算出部３０５は、判定部３０４により検知線を通過したと判定された人体の数を通過方向ごとに算出する。つまり、算出部３０５は、通過方向ごとの人体の通過量を算出する。なお本実施形態における算出部３０５は、記憶部３０９に記憶される通過情報に基づいて、通過方向ごとの人体の通過量を算出するものとする。
【００６４】
算出部３０５により算出された通過方向ごとの人体の数は、記憶部３０９が記憶する。なお、出力制御部３０７は、算出部３０５により算出された通過方向ごとの人体の数を画像に重畳させて表示装置１０１に出力するようにしてもよい。
【００６５】
次に、ステップＳ５０６において、検出領域設定の条件を満たしたか否かを判定する。本実施形態において、最新一定期間において、或る一方向を通過した人数が所定値以上かつもう一方向を通過した人数が所定値以下の条件を満たしたか否かを条件とする。なお以下の説明において、或る一方向を直前５秒間にて通過した人数が１０人以上、かつ、もう一方向を直前５秒間にて通過した人数が１人以下であるか否かの条件を検出領域設定の条件とするが、これに限らない。例えば、最新の一定期間において、通過方向ごとの通過する人体の数の差分が所定値以上であるかの条件を検出領域設定の条件としてもよく、通過量に偏りがあるか否かを判定できる条件であればよい。また、検出領域設定の条件については、予め事前に登録された条件でもよいし、ユーザーにより適宜設定されるようにしてもよい。
【００６６】
ステップＳ５０６においてＮｏの場合、ステップＳ５０７の処理へ移行する。ステップＳ５０７にて、設定部３０６は、第一の領域を検出領域として設定する。なお、本実施形態において、第一の領域は画像全体の領域を示し、図４の場合、第一の領域は領域４０１ａとなる。
【００６７】
ステップＳ５０６においてＹｅｓの場合、ステップＳ５０８の処理へ移行する。ステップＳ５０８にて、設定部３０６は、第二の領域を検出領域として設定する。第二の領域は、通過した人数が多い通過方向の入口側と出口側の領域を規定したとき、出口側での領域における検出領域の面積を小さくするように設定された領域である。例えば、図４において、ＩＮ方向を直前５秒間で通過した人数が１０人以上、かつ、ＯＵＴ方向を直前５秒間で通過した人数が１人以下である場合を想定する。このとき、設定部３０６は、通過した人数が多い方向であるＩＮ方向の出口側である領域Ｂの検出領域の面積を減らすように検出領域を設定する。なおこのとき、本実施形態の設定部３０６は、領域Ｂを対象に、検知線の延伸方向に直交する方向において、検知線から所定長の距離４０６までは検出領域とし、検知線から距離４０６の長さ以上に離れた領域における検出領域の面積を削るようにする。この場合、設定部３０６は、領域４０１ａから領域４０１ｃを削った領域４０１ｂを検出領域として設定する。設定部３０６が設定した検出領域の大きさ及び位置の情報は記憶部３０９にて記憶される。
【００６８】
このように、最新一定期間において通過方向ごとの通過量に偏りが生じている場合、通過量の偏りが継続すると推定することができる。そこで、通過量に偏りが生じている通過方向に基づいて、検出領域の大きさを変更する。具体的には、通過量が多い通過方向の入口側と出口側の領域を規定したとき、出口側での領域における検出処理を行う面積を小さくすることで、すでに検知線を通過したと判定された人に対して検出処理を行う負荷を低減することができる。
【００６９】
次に、ステップＳ５０９にて、出力制御部３０７は、ステップＳ５０７またはステップＳ５０８にて設定部３０６により設定された検出領域の位置を画像に重畳させて表示装置１０１に出力する。こうすることにより、人体の検出処理の対象となる検出領域の位置をユーザーは容易に把握することができる。
【００７０】
なお、ステップＳ５０８において、設定部３０６は、通過方向ごとの通過する人体の数に応じて、領域４０１ｃの面積を変化させるようにしてもよい。例えば、或る一方向を直前５秒間で通過した人数が１０人以上、かつ、もう一方向を直前５秒間で通過した人数が１人以下であるという条件（Ｓ５０６）を満たしたうえで、通過した人数が多ければ多い程、領域４０１ｃの面積を大きくするようにしてもよい。
【００７１】
なお、本実施形態における設定部３０６は、検知線を通過する通過量に基づいて、検出領域の大きさを変更するようにしたが、これに限定されない。設定部３０６は、検知線を通過する通過量に基づいて、検出部３０１により検出処理が行われる頻度を変更するようにしてもよい。
【００７２】
例えば、検出部３０１は、初期の段階において、通信部３００が受信する画像のうち毎フレームに対して、つまり１フレームに１回の頻度で検出処理を行う場合を想定する。このとき、ステップＳ５０７にて、つまり検知線を通過する通過量の偏りが少ない場合、設定部３０６は、領域Ａおよび領域Ｂを対象に、毎フレームに対して検出処理が行われるよう設定する。
【００７３】
そして、ステップＳ５０８にて、つまり検知線を通過する通過量に偏りがある場合、通過した人数が多い通過方向の入口側と出口側の領域を規定したとき、設定部３０６は、出口側での領域では、５フレームに１回の頻度で検出処理が行われるよう設定する。例えば、図４において、ＩＮ方向を直前５秒間で通過した人数が１０人以上、かつ、ＯＵＴ方向を直前５秒間で通過した人数が１人以下である場合を想定する。このとき、設定部３０６は、領域Ａでは検出処理の頻度を毎フレームに設定し、通過した人数が多い方向であるＩＮ方向の出口側である領域Ｂにおいては、検出部３０１による検出処理の頻度を５フレームに１回に設定する。
【００７４】
なお、ステップＳ５０８にて、通過した人数が多い通過方向の入口側と出口側の領域を規定したとき、設定部３０６は、出口側での領域において、検知線からの距離に基づいて検出処理の頻度を変更するようにしてもよい。例えば、図４において、ＩＮ方向を直前５秒間で通過した人数が１０人以上、かつ、ＯＵＴ方向を直前５秒間で通過した人数が１人以下である場合を想定する。このとき設定部３０６は、ＩＮ方向の入口側の領域である領域Ａでは検出処理の頻度を毎フレームに設定する。そして、設定部３０６は、ＩＮ方向の出口側の領域である領域Ｂを対象に、検知線と直交する方向において、検知線から距離４０６までは検出処理の頻度を毎フレームに設定し、距離４０６より離れた領域では５フレームに１回を検出処理の頻度として設定する。
【００７５】
以上のように、設定部３０６は、検知線を通過する通過量に基づいて、検出処理の頻度を変更するようにしてもよい。具体的には、設定部３０６は、通過量が多い通過方向の入口側と出口側の領域を規定したとき、出口側での領域において、検出部３０１により検出処理が行われる頻度を少なくするようにしてもよい。こうすることにより、通過量が少ない通過方向を通過する人に対する検出部３０１による検出の精度低下を抑制することができる。
【００７６】
なお、本実施形態において図５（ａ）に示す通過カウント処理および図５（ｂ）に示す検出領域の設定処理は時間的に並行して実行されてもよいし、時間的に別々で実行されるようにしてもよい。
【００７７】
以上説明したように、本実施形態によれば、通過方向ごとの人の通過量に基づいて、人を計数する処理のための人を検出する処理負荷を効率的に低減することができる。
【００７８】
（実施形態２）
実施形態１では、検知線を通過する人の通過量に基づいて、検出領域の大きさを変更する処理について説明したが、これに限らない。例えば、検知線を通過する人の通過量に基づいて、検出部３０１が検出処理の対象として画像から切り出す矩形領域の位置を変更するようにしてもよい。この場合における画像処理について、図５（ａ）、図７、および図８を参照して説明する。なお、以下の説明において、実施形態１と同一または同等の構成要素、処理には、同一の符号を付するものとし、適宜、重複した説明は省略する。
【００７９】
図５（ａ）、図７および図８を参照して、実施形態２に係る画像処理について説明する。図７は、実施形態２に係る画像処理の流れを示すフローチャートである。図８は、実施形態２に係る画像処理を説明するための図である。
【００８０】
図５（ａ）に示す通過カウント処理におけるステップＳ５０１にて、通信部３００は、ネットワーク１０４を介して、画像データを受信する。
【００８１】
ステップＳ５０２にて、検出部３０１は、画像における検出領域を対象にして人体を検出する検出処理を行う。なお、実施形態２に係る検出部３０１は、所定の大きさの矩形領域を画像内において水平および垂直方向に走査しつつ順次切り出していく。そして、検出部３０１は、切り出した矩形領域を対象にして、照合パターン（辞書）を使用し、人体の検出処理を行っていく。つまり、検出部３０１は、切り出した矩形領域を検出領域として、人体を検出する検出処理を行う。
【００８２】
図８において、検出部３０１は、矩形領域である領域８０１を画像内にて水平および垂直方向に走査させて、矩形領域を切り出していく。そして、検出部３０１は、切り出した矩形領域を検出領域として、人体を検出する検出処理を行う。
【００８３】
ステップＳ５０３およびステップＳ５０４の処理は、実施形態１と同様であるため説明を省略する。
【００８４】
次に図７を参照して、本実施形態に係る検出領域の設定処理のフローチャートについて説明する。なお図７に示すフローチャートの処理は、画像処理装置１００のＨＤＤ２０３に格納されたコンピュータプログラムをＣＰＵ２００が実行することにより実現される図３の各機能ブロックにより実行ものとして説明する。しかし、図７に示すフローチャートの処理の一部は、専用のハードウェアによって実行するようにしてもよい。
【００８５】
図７においてＳ５０５およびＳ５０６の処理は、実施形態１と同様であるため説明を省略する。
【００８６】
ステップＳ５０６においてＮｏの場合、ステップＳ７０７の処理へ移行する。ステップＳ７０７にて、実施形態２における設定部３０６は、画像全体の領域にて矩形領域の水平方向における走査の間隔を第一間隔に設定する。なお、本実施形態において第一間隔は、１つの矩形領域における水平方向の辺の長さであるとする。図８の場合、第一間隔は距離８０２ａとなる。つまり、ステップＳ７０７の処理を経て、検出部３０１は、第一間隔である距離８０２ａに従って矩形領域８００を水平方向に走査させ、矩形領域を切り出していく。そして、検出部３０１は、切り出した矩形領域を検出領域として、人体を検出する検出処理を行う。つまり、この場合、検出部３０１は、画像全体の領域を検出領域として検出処理を行う。
【００８７】
ステップＳ５０６においてＹｅｓの場合、ステップＳ７０８の処理へ移行する。ステップＳ７０８にて、実施形態２における設定部３０６は、通過した人数が多い通過方向について入口側と出口側の領域を規定したとき、出口側での領域にて矩形領域の水平方向における走査の間隔を第二間隔に設定する。本実施形態の場合、第二間隔は、第一間隔より所定値大きい長さである。例えば、図８において、ＩＮ方向を直前５秒間で通過した人数が１０人以上、かつ、ＯＵＴ方向を直前５秒間で通過した人数が１人以下である場合を想定する。このとき、図８（ｂ）に示すように、設定部３０６は、通過した人数が多いＩＮ方向の出口側である領域Ｂにて水平方向における走査の間隔を第二間隔である距離８０２ｂに設定する。なお、第二間隔の距離８０２ｂの長さは、予め事前に登録された設定でもよいし、ユーザーにより適宜設定するようにしてもよい。以上のように、本実施形態の設定部３０６は、通過方向ごとの人体の数が所定の条件を満たした場合、検知線を通過する物体の数が多い通過方向の入口側と出口側の領域を規定したとき、出口側の領域にて水平方向における矩形領域を走査させる間隔を変更する。
【００８８】
最新一定期間における人体の通過方向ごとの通過量に偏りが生じている場合、通過量の偏りが継続すると推定することができる。そこで、通過量に偏りが生じている通過方向に基づいて、矩形領域を走査させる間隔を変化させる。そして通過量が多い通過方向に検知線を通過した人がいる領域においては、検出部３０１が切り出す矩形領域を走査させる間隔を大きくすることで、すでに通過したと判定された人に対して検出処理の負荷を低減することが可能になる。
【００８９】
次に、ステップＳ５０９にて、出力制御部３０７は、ステップＳ７０７またはステップＳ７０８にて設定部３０６が設定した矩形領域を走査させる間隔に基づき、検出部３０１の検出処理の対象である検出領域を画像に重畳させて表示装置１０１に出力する。こうすることにより、人体の検出処理の対象となる検出領域の位置をユーザーは容易に把握することができる。
【００９０】
なお、ステップＳ７０８にて、設定部３０６は、通過方向ごとの通過する人体の数に応じて、第二の間隔の長さを変化させるようにしてもよい。例えば、或る一方向を直前５秒間で通過した人数が１０人以上、かつ、もう一方向を直前５秒間で通過した人数が１人以下であるという条件（Ｓ５０６）を満たしたうえで、通過した人数が多ければ多い程、第二の間隔の距離８０２ｂを長くするようにしてもよい。
【００９１】
また、ステップＳ７０８にて、本実施形態における設定部３０６は、通過した人数が多い通過方向の出口側の領域における矩形領域を走査させる間隔を大きくするとしたが、例えば次のような処理を行ってもよい。すなわち、ステップＳ７０８にて、設定部３０６は、図８（ｃ）に示すように、検知線の延伸方向と直交する方向において、検知線から所定長の距離８０３までは、第一の間隔とし、検知線から距離８０３より離れた領域においては、第二の間隔としてもよい。なお、距離８０３の長さは、予め登録された設定でもいいし、ユーザーにより適宜設定されるようにしてもよい。
【００９２】
また、本実施形態において、設定部３０６は、検知線を通過する通過量に基づいて、画像において水平方向に矩形領域８０１を走査させる間隔を変更するようにしたが、垂直方向に矩形領域８０１を走査させる間隔を変更するようにしてもよい。また、設定部３０６は、検知線を通過する通過量に基づいて、水平方向および垂直方向に矩形領域８０１を走査させる間隔を変更するようにしてもよい。
【００９３】
なお、本実施形態において、図５（ａ）に示す通過カウント処理および図７に示す検出領域の設定処理は時間的に並行して実行されてもよいし、時間的に別々で実行されるようにしてもよい。
【００９４】
以上説明したように、本実施形態によれば、通過方向ごとの人の通過量に基づいて、人を計数する処理のための人を検出する処理負荷を効率的に低減することができる。
【００９５】
（実施形態３）
上述した実施形態に係る画像処理は画像処理装置１００が行うとして説明したが、これに限定されない。実施形態１または実施形態２に係る画像処理装置１００の１以上の機能を、撮影装置１０２が有していてもよい。つまり、実施形態１または実施形態２に係る画像処理は、画像処理装置１００のＣＰＵ２００により実行されたが、撮影装置１０２のＣＰＵ２１０およびクライアント装置が有するＣＰＵが協働することにより実現されてもよい。
【００９６】
例えば、図３に示す、検出部３０１と、追尾部３０２と、保持部３０３と、判定部３０４と、算出部３０５と、設定部３０６と、記憶部３０９は撮影装置１０２が有していてもよい。なおこのとき、出力制御部３０７と、操作受付部３０８は、クライアント装置９００が有する。クライアント装置９００は、画像処理装置１００と同等のハードウェア構成を有するパーソナルコンピュータである。この場合について、図９を参照して更に詳細に説明する。なお、図１〜図８と同一または同等の構成要素、処理には、同一の符号を付するものとし、適宜、重複した説明は省略する。
【００９７】
図９は、画像処理装置１００の一部の機能を有する撮影装置１０２とクライアント装置９００の機能ブロック図の一例である。撮影装置１０２とクライアント装置９００は、ネットワーク１０４を介して通信が行われる。
【００９８】
撮影部３３０は、ＣＣＤセンサやＣＭＯＳセンサ等の撮像素子を有し、撮影装置１０２のレンズを通って結像された被写体像を光電変換して電気信号を生成する。
【００９９】
画像処理部３３１は、撮影部３３０において生成された電気信号をデジタル信号へ変換する処理や、圧縮符号化処理などを行い、画像データを生成する。
【０１００】
画像処理部３３１にて生成された画像データは、通信部３３３と通信部９０１とを介して、出力制御部３０７へ送られ、出力制御部３０７により表示装置１０１に出力される。なお、クライアント装置９００における通信部９０１は、撮影装置１０２から送られる画像データの受信や、撮影装置１０２を制御するための各種のコマンドなどを送信する。
【０１０１】
クライアント装置９００における操作受付部３０８は、マウスやキーボードなどの入力装置を介してユーザーによる操作を受け付ける。なお、操作受付部３０８が受け付けた情報は、通信部９０１と通信部３３３とを介して撮影装置１０２へ送られる。例えば、操作受付部３０８は、出力制御部３０７により表示装置１０１に出力された画像に対して、ユーザーが設定した検知線の位置に関する情報を受け付ける。そして操作受付部３００が受け付けた検出領域の位置に関する情報は、通信部９０１と通信部３３３とを介して撮影装置１０２の保持部３０３へ送られる。
【０１０２】
検出部３０１と、追尾部３０２と、保持部３０３と、判定部３０４と、算出部３０５と、設定部３０６と、記憶部３０９における機能は実施形態１または２において説明したものと同様であるため省略する。
【０１０３】
設定部３０６により設定された検出領域の位置の情報は、通信部３３３および通信部９０１を介して、クライアント装置９００の出力制御部３０７へ送られる。そして出力制御部３０７は、設定部３０６により設定された検出領域を画像に重畳させて表示装置１０１に出力する。
【０１０４】
以上のように実施形態１または実施形態２に係る画像処理装置１００の１以上の機能を、撮影装置１０２が有していてもよい。
【０１０５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを１つ以上のプロセッサが読出して実行する処理でも実現可能である。プログラムは、ネットワーク又は記憶媒体を介して、プロセッサを有するシステム又は装置に供給するようにしてもよい。また、本発明は、上述の実施形態の１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０６】
３０１  検出部
３０２  追尾部
３０４  判定部
３０５  算出部
３０６  設定部
【図１】
2019192155.tif 000003
【図２】
2019192155.tif 000004
【図３】
2019192155.tif 000005
【図４】
2019192155.tif 000006
【図５】
2019192155.tif 000007
【図６】
2019192155.tif 000008
【図７】
2019192155.tif 000009
【図８】
2019192155.tif 000010
【図９】
2019192155.tif 000011