(57)【要約】【課題】通過検知の対象となる被写体の検出精度を確保しつつ、当該被写体の検出処理の処理負荷を適切に低減することができる被写体の検出領域を設定する。【解決手段】画像処理装置３００は、画像内に設定され、当該画像から検出された物体が通過したことを検知するために用いる検知線の位置を示す第１設定情報を取得し、物体における通過の判定に用いる通過判定位置に関する第２設定情報を取得し、第１設定情報と第２設定情報とに基づいて、物体を検出する検出処理を行う検出領域を設定する。【選択図】      図２
2020013289.tif 000002
【特許請求の範囲】
【請求項１】
画像内に設定され、当該画像から検出された物体が通過したことを検知するために用いる検知線の位置を示す第１設定情報を取得する第１の取得手段と、
前記物体における前記通過の判定に用いる通過判定位置に関する第２設定情報を取得する第２の取得手段と、
前記第１の取得手段により取得された前記第１設定情報と、前記第２の取得手段により取得された前記第２設定情報と、に基づいて、前記物体を検出する検出処理を行う検出領域を設定する設定手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記設定手段は、
前記画像内に前記検出領域の基準領域を設定する第１の設定手段と、
前記第１の取得手段により取得された前記第１設定情報と、前記第２の取得手段により取得された前記第２設定情報に基づいて、前記基準領域を変形させることで、前記検出領域を設定する第２の設定手段と、を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の設定手段は、
前記第１の取得手段により取得された前記第１設定情報に基づいて、前記検出領域の基準領域を設定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記物体の大きさに関する物体情報を取得する第３の取得手段をさらに備え、
前記第２の設定手段は、
前記第３の取得手段により取得された前記物体情報に基づいて、前記基準領域を変形させる変形量を算出することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記画像から物体を検出する検出手段をさらに備え、
前記第３の取得手段は、
前記検出手段により検出された物体をもとに、前記物体情報を取得することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第３の取得手段は、
前記検出処理において検出対象として設定されている物体のサイズ情報をもとに、前記物体情報を取得することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記検出処理における前記物体の検出に必要な前記物体の特定部位の部位情報を取得する第４の取得手段をさらに備え、
前記第２の設定手段は、
前記第４の取得手段により取得された前記部位情報に基づいて、前記基準領域を変形させる変形量を算出することを特徴とする請求項２から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第２の設定手段は、
前記基準領域に対して、拡張、縮小および移動の少なくとも１つを行うことを特徴とする請求項２から７のいずれか１項に記載の画像処理装置。
【請求項９】
前記第２の設定手段により前記基準領域を変形させる方向を決定する決定手段をさらに備え、
前記第２の設定手段は、
前記決定手段により決定された方向に前記基準領域を変形させることを特徴とする請求項２から８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記決定手段は、
ユーザの指定を受け付け、前記基準領域を変形させる方向を決定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記決定手段は、
前記画像における鉛直方向に相当する方向を、前記基準領域を変形させる方向として決定することを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記決定手段は、
前記通過判定位置から、前記検出処理における前記物体の検出に必要な前記物体の特定部位へ向かう方向を、前記基準領域を変形させる方向として決定することを特徴とする請求項９に記載の画像処理装置。
【請求項１３】
前記第１の取得手段により取得された前記検知線、前記第２の取得手段により取得された前記通過判定位置、前記第１の設定手段により設定された前記基準領域、前記第２の設定手段により設定された前記検出領域、および前記第２の設定手段により前記基準領域を変形させた変形量の少なくとも１つを表示させる第１の表示制御手段をさらに備えることを特徴とする請求項２から１２のいずれか１項に記載の画像処理装置。
【請求項１４】
前記第１の表示制御手段は、
前記変形量を、当該変形量に相当する長さを表現可能な図形を用いて表示させることを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記設定手段により設定された前記検出領域を更新する更新手段をさらに備えることを特徴とする請求項１から１４のいずれか１項に記載の画像処理装置。
【請求項１６】
前記更新手段は、
一定の周期、ユーザにより指定されたタイミング、前記通過判定位置が変化したタイミング、および前記検知線が変化したタイミングの少なくとも１つのタイミングで、前記検出領域を更新することを特徴とする請求項１５に記載の画像処理装置。
【請求項１７】
前記更新手段により更新された前記検出領域を表示させる第２の表示制御手段をさらに備えることを特徴とする請求項１５または１６に記載の画像処理装置。
【請求項１８】
前記第２の表示制御手段は、
前記更新手段により更新された前記検出領域を、更新前の前記検出領域とは異なる形態で表示させることを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
画像内に設定され、当該画像から検出された物体が通過したことを検知するために用いる検知線の位置を示す第１設定情報を取得するステップと、
前記物体における前記通過の判定に用いる通過判定位置に関する第２設定情報を取得するステップと、
前記第１設定情報と前記第２設定情報とに基づいて、前記物体を検出する検出処理を行う検出領域を設定するステップと、を含むことを特徴とする画像処理方法。
【請求項２０】
コンピュータを、請求項１から１８のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
従来、監視カメラによって撮像された画像を解析し、画像内の人体を検出する人体検出処理が知られている。このような人体検出処理は、画像内に設定された検知線を通過する人体の数をカウントする通過検知処理に用いられる。
通過検知処理では、カウント精度を高めるために、より細かな周期で人体検出処理を行う必要がある。しかしながら、人体検出処理は処理量が多く、１つの処理に時間がかかることが多い。そこで、画像内において人体検出処理を実行する領域を制限し、検出処理の処理負荷を低減する方法がある。
特許文献１には、ステレオカメラを使用して各画素が距離情報を有する距離画像を生成し、上記距離情報を利用して、検出すべき特定物体のサイズに合わせて検出領域のサイズを設定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２８００８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
通過検知処理において、処理負荷低減を目的として制限された検出領域から人体を検出し、検出された人体のうち検知線を通過した人体の数をカウントする場合、通過検知の対象となる人体が未検出とならないように、検出領域を適切に設定する必要がある。しかしながら、ユーザが上記のような適切な検出領域を設定することは困難であった。また、上記特許文献１に記載の技術においても、人体検出処理の処理負荷を最低限に抑えた、高精度な通過検知処理が可能となる検出領域を自動で設定することはできない。
そこで、本発明は、通過検知の対象となる被写体の検出精度を確保しつつ、当該被写体の検出処理の処理負荷を適切に低減することができる被写体の検出領域を設定することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る画像処理装置の一態様は、画像内に設定され、当該画像から検出された物体が通過したことを検知するために用いる検知線の位置を示す第１設定情報を取得する第１の取得手段と、前記物体における前記通過の判定に用いる通過判定位置に関する第２設定情報を取得する第２の取得手段と、前記第１の取得手段により取得された前記第１設定情報と、前記第２の取得手段により取得された前記第２設定情報と、に基づいて、前記物体を検出する検出処理を行う検出領域を設定する設定手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、通過検知の対象となる被写体の検出精度を確保しつつ、当該被写体の検出処理の処理負荷を適切に低減することができる被写体の検出領域を設定することができる。
【図面の簡単な説明】
【０００７】
【図１】ネットワークカメラシステムの構成例である。
【図２】画像処理装置の構成例を示すブロック図である。
【図３】通過カウントのフローを表す模式図である。
【図４】画像処理装置３００の動作を説明するためのフローチャートである。
【図５】撮像画像の一例を示す模式図である。
【図６】人体検出処理を行った結果を示す模式図である。
【図７】検知線をもとに設定された検出領域の基準領域を示す模式図である。
【図８】検出領域の基準領域の変形量の算出方法について説明する概略図である。
【図９】変形後の検出領域を用いて人体検出処理を行った結果を示す模式図である。
【図１０】変形後の検出領域を用いて人体検出処理を行った結果を示す模式図である。
【図１１】検出領域の基準領域の変形量の算出方法について説明する模式図である。
【図１２】表示画面の一例を示す模式図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【０００９】
（第一の実施形態）
図１は、本実施形態におけるネットワークカメラシステム１０００の構成例である。
ネットワークカメラシステム１０００は、撮像装置１１０と、クライアント装置１２０と、外部装置１３０と、を備える。撮像装置１１０、クライアント装置１２０および外部装置１３０は、ネットワーク２００によって相互に通信可能に接続されている。
このネットワークカメラシステム１０００は、例えば、人物の行動分析を行うためのシステムとすることができる。具体的には、当該ネットワークカメラシステム１０００は、施設内の所定の領域にいる人数をカウントして、曜日・時間帯ごとの当該領域の混雑度合のデータを取得することができる。また、当該ネットワークカメラシステム１０００は、施設内の所定の位置を通過する人数をカウントして、施設への入場者数や施設内における人物の移動軌跡を取得することができる。
【００１０】
ネットワーク２００は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）の通信規格に準拠する複数のルータ、スイッチ、ケーブル等から構成される。なお、ネットワーク２００は、撮像装置１１０、クライアント装置１２０および外部装置１３０の間で通信可能な構成であれば、その通信規格、規模および構成は問わない。ネットワーク２００は、インターネットや有線ＬＡＮ（Local Area Network）、無線ＬＡＮ（Wireless LAN）、ＷＡＮ（Wide Area Network）、若しくはこれらの複合により実現してもよい。
【００１１】
撮像装置１１０は、所定の撮像範囲を撮像するネットワークカメラである。撮像装置（以下、「カメラ」という。）１１０は、撮像領域を変更可能に構成されたＰＴＺカメラ（Pan Tilt Zoom カメラ）であってもよい。また、カメラ１１０は、ＰｏＥ（Power over Ethernet）に対応していてもよいし、ＬＡＮケーブルを介して電力が供給される構成でもよい。さらに、図１では、１台のカメラ１１０がネットワーク２００に接続されているが、ネットワーク２００には複数のカメラを接続することもできる。
【００１２】
クライアント装置１２０は、パーソナルコンピュータ（ＰＣ）やスマートフォン、タブレット型ＰＣといった端末装置により構成され、カメラ１１０に対して各種コマンドを送信可能である。カメラ１１０に対して送信されるコマンドには、カメラ１１０の撮像方向（方角）および画角を変更するためのコマンド、撮像パラメータを変更するためのコマンド、画像処理に関するコマンド、画像の送信を開始させるためのコマンド等を含むことができる。また、クライアント装置１２０は、上記コマンドに対するレスポンスをカメラ１１０から受信することもできる。
【００１３】
図１に示すように、クライアント装置１２０は、ＣＰＵ１２１と、ＲＯＭ１２２と、ＲＡＭ１２３と、ＨＤＤ（Hard Disc Drive）１２４と、通信部１２５と、入力部１２６と、表示部１２７と、システムバス１２８とを備える。ＣＰＵ１２１は、クライアント装置１２０における動作を統括的に制御するものであり、システムバス１２８を介して、各構成部（１２１〜１２７）を制御する。ＲＯＭ１２２は、ＣＰＵ１２１が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、ＨＤＤ１２４や着脱可能な記憶媒体（不図示）に記憶されていてもよい。ＲＡＭ１２３は、ＣＰＵ１２１の主メモリ、ワークエリア等として機能する。すなわち、ＣＰＵ１２１は、処理の実行に際してＲＯＭ１２２から必要なプログラム等をＲＡＭ１２３にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
【００１４】
ＨＤＤ１２４は、カメラ１１０により撮像された画像を保存することができる。また、ＨＤＤ１２４は、例えば、ＣＰＵ１２１がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。さらに、ＨＤＤ１２４には、例えば、ＣＰＵ１２１がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。
通信部１２５は、カメラ１１０や外部装置１３０との間で通信を行うための通信インターフェースである。入力部１２６は、キーボードやマウス等のポインティングデバイスを含んで構成されている。表示部１２７は、液晶ディスプレイ（ＬＣＤ）等のモニタを含んで構成されており、カメラ１１０から取得した画像やグラフィックユーザインタフェース（ＧＵＩ）を表示する。クライアント装置１２０のユーザは、入力部１２６を操作し、表示部１２７に表示されたＧＵＩを介して、各種コマンドを入力することができる。
【００１５】
なお、カメラ１１０の場合、図１の表示部１２７に替えて撮像部を具備する。ここで、撮像部は、レンズおよびＣＭＯＳ（Complementary Metal Oxide Semiconductor）、ＣＣＤ（Charge Coupled Device）等の撮像素子を含んで構成され、被写体の撮像を行う。また、撮像部は、撮像面に結像された光像を光電変換によりデジタル電気信号に変換する処理を行う。
【００１６】
本実施形態では、カメラ１１０は、ネットワーク２００を介してクライアント装置１２０へ撮像画像を送信し、クライアント装置１２０は、カメラ１１０から受信した撮像画像を表示部１２７へ表示する表示制御を行う。また、クライアント装置１２０は、ユーザのＧＵＩ操作に応じてユーザからの指定を受け付け、ユーザの指定に基づいて、被写体検出処理を行う画像内の検出領域を設定し、画像内の上記検出領域に対して被写体検出処理を実行する。そして、クライアント装置１２０は、被写体検出処理の検出結果を外部装置１３０へ送信する。
【００１７】
外部装置１３０は、被写体検出処理により検出された被写体を追尾する被写体追尾処理を行うとともに、画像内に設定された検知線を通過する被写体を検知する通過検知処理を行い、当該検知線を通過した被写体の数をカウントする追尾処理装置である。なお、通過検知処理は、被写体が、画像内における所定の位置（基準位置）を通過したか否かを判定する処理であればよく、必ずしも線で判定しなくてもよい。また、被写体検出処理の検出結果が最終的に追尾処理装置へ送られるのであれば、クライアント装置１２０は、ＰＣやサーバなどの他の機器に対して上記検出結果を送信するようにしてもよい。また、クライアント装置１２０が追尾処理装置の機能を有するようにしてもよい。
【００１８】
本実施形態では、被写体が人体である場合について説明する。つまり、クライアント装置１２０は、被写体検出処理として人体検出処理を行う。この人体検出処理は、画像内に設定された検知線を通過したか否かの判定の対象とする物体（人体）を検出する処理である。また、外部装置１３０は、被写体追尾処理として、人体検出処理の結果を用いた人体追尾処理を行い、人体の通過検知処理を行う。ただし、被写体は人体に限定されるものではなく、車両等の物体であってもよい。
また、本実施形態では、クライアント装置１２０が、人体検出処理の検出領域を設定し、設定された検出領域に対して人体検出処理を行う画像処理装置として動作する場合について説明する。
【００１９】
図２は、画像処理装置３００の構成例を示すブロック図である。
画像処理装置３００は、画像取得部３０１と、設定指示取得部３０２と、人体検出部３０３と、検出領域設定部３０４と、変形量算出部３０５と、検出領域変形部３０６と、を備える。
画像取得部３０１は、画像解析を行う対象とする画像を取得する。本実施形態では、画像取得部３０１は、カメラ１１０が送信する撮像画像を、ネットワーク２００を介して取得する。なお、画像取得部３０１は、ＰＣなどの画像を送信する機能を有する装置から、ネットワーク２００を介して画像を取得してもよい。また、画像取得部３０１は、クライアント装置１２０が有するＨＤＤ１２４を介して画像を取得してもよい。さらに、画像取得部３０１は、１枚以上の画像を含む映像を取得してもよい。この場合、映像は、ａｖｉファイル、ｍｏｖファイルのような映像ファイルでもよいし、ｗｅｂカメラからで送られてくるようなリアルタイム映像でもよい。また、取得する映像の数は１つでもよいし複数でもよい。
【００２０】
設定指示取得部３０２は、ユーザが指定した設定指示を取得する。本実施形態では、設定指示取得部３０２は、ユーザが、入力部１２６を操作して表示部１２７に表示されたＧＵＩを介して指定した設定指示を取得する。当該設定指示は、通過検知処理に用いる検知線の位置を示す設定情報や、通過検知処理に用いる通過判定位置に関する設定情報を含む。ここで、検知線の設定情報は、画像内における検知線の位置、長さおよび傾きの少なくとも１つを含む。また、通過判定位置は、物体（人体）のどの位置が検知線を越えたら通過と判定するかを示す位置情報である。
人体検出部３０３は、画像取得部３０１により取得された画像から人体を検出する人体検出処理を行う。そして、人体検出部３０３は、人体検出処理の結果を変形量算出部３０５へ出力する。
【００２１】
検出領域設定部３０４は、設定指示取得部３０２により取得された検知線の設定情報に基づいて、通過検知処理の対象とする人体を検出するための人体検出処理を行う検出領域を設定する。検出領域設定部３０４は、検知線の周囲において人体検出処理を行う検出領域を設定する。具体的には、検出領域設定部３０４は、検知線を含み、検知線の延伸方向に少なくとも検知線の長さを有し、検知線に直交する方向に所定の検知幅を有する領域を、検出領域として設定する。
この検出領域設定部３０４において設定される検出領域は、最終的に画像処理装置３００が通過検知の対象とする人体を検出するための人体検出処理を行う検出領域の基準領域である。本実施形態では、画像処理装置３００は、当該基準領域を、通過判定位置の設定情報に基づいて変形することで、最終的な検出領域を設定する。つまり、画像処理装置３００は、検知線の位置を示す設定情報と通過判定位置に関する設定情報とに基づいて、画像内の検出領域を設定する。
【００２２】
変形量算出部３０５は、設定指示取得部３０２により取得された通過判定位置の設定情報と、人体検出部３０３により検出された人体の情報とに基づいて、検出領域設定部３０４により設定された検出領域の基準領域の変形量を算出する。ここで、当該変形量は、基準領域をどれだけ変形させるかを示す情報であり、基準領域の拡張量、縮小量および移動量の少なくとも一方を含む。
検出領域変形部３０６は、検出領域設定部３０４により設定された検出領域の基準領域を、検出領域変形量算出部３０５により算出された変形量に基づいて変形し、変形した結果を検出領域として設定する。つまり、検出領域変形部３０６は、上記変形量に基づいて、基準領域に対して拡張、縮小および移動の少なくとも１つを行う。
【００２３】
この図２に示す画像処理装置３００の各要素の一部または全部の機能は、クライアント装置１２０のＣＰＵ１２１がプログラムを実行することで実現することができる。ただし、図２に示す画像処理装置３００の各要素のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、クライアント装置１２０のＣＰＵ１２１の制御に基づいて動作する。
【００２４】
図３は、本実施形態における通過検知処理のフローを表す図である。
この図３では、矢印４０１の方向に処理が流れていくことを示している。処理を始めてから１回目の人体検出処理４０２では、画像全体に対して人体検出処理を行い、画像内に存在する全ての人体を検出する。その後、人体追尾処理４０３では、人体検出処理４０２において検出された人体の周囲でのみ人体検出処理を行い、それぞれの人体の追尾を行う。２回目の人体検出処理４０４では、画像内で設定された検出領域に対してのみ人体検出処理を行い、間隔４０５内において検知線を通過しうる人体を検出する。また、これ以降の人体検出処理においても、設定された検出領域に対してのみ人体検出処理が行われる。
なお、人体追尾処理は、連続する画像において同一人体の追尾が可能であれば、どのような処理方法を用いてもよい。また、処理の流れは、フロー４０１のようにそれぞれの処理が逐次実行されるような形である必要はなく、例えばそれぞれの処理が並列に行われてもよい。
【００２５】
次に、本実施形態における画像処理装置３００の動作について説明する。
図４は、画像処理装置３００の動作を説明するためのフローチャートである。この図４の処理は、ユーザがクライアント装置１２０の表示部１２７に表示された設定画面上において、検知線を指定したタイミングで開始される。ただし、図４の処理の開始タイミングは、上記のタイミングに限らない。
クライアント装置１２０は、ＣＰＵ１２１が必要なプログラムを読み出して実行することにより、図４に示す各処理を実現し、画像処理装置３００の動作を実現することができる。ただし、図２に示す画像処理装置３００の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図４の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、クライアント装置１２０のＣＰＵ１２１の制御に基づいて動作する。以降、アルファベットＳはフローチャートにおけるステップを意味するものとする。
【００２６】
まず、Ｓ１において、画像処理装置３００は、取得した画像の全域に対して人体検出処理を行う。なお、人体検出処理のアルゴリズムは、頭部や顔など、人体のいずれかの部位を、人体の検出に必要な特定部位（検出部位）とし、当該検出部位を検出することで人体を検出するアルゴリズムであれば、任意のアルゴリズムを用いることができる。
このＳ１において、画像処理装置３００が図５に示す画像５００に対して人体検出処理を行った結果を図６に示す。画像５００内には、人体６０１、６０２、６０３が存在している。また、画像５００内には、ユーザにより指定された検知線５１０が設定されている。図６に示すように、画像５００の全域５２０に対して人体検出処理を行った場合、人体６０１、６０２および６０３が検出され、それぞれ人体領域６０１ａ、６０２ａおよび６０３ａが検出される。なお、図６では、人体領域を楕円領域で示しているが、人体領域は矩形領域など任意の形状の領域であってよい。
【００２７】
次にＳ２では、画像処理装置３００は、ユーザにより指定された検知線の設定情報に基づいて、人体検出処理の検出領域の基準領域を設定する。本実施形態では、図３の間隔４０５内で検知線を越えうる人体のみを検出するために、検知線の周辺の領域を検出領域の基準領域として設定する。
図７は、Ｓ２において設定される検出領域の基準領域の一例である。この図７に示すように、基準領域５３０は、検知線５１０を含み、検知線５１０の延伸方向に検知線５１０の長さを有する矩形領域として設定される。また、ユーザにより指定された検知線５１０の傾きと検知したい人の移動方向とには相関があると想定し、基準領域５３０は、検知線５１０に対して直交する方向に所定の検知幅を有する矩形領域として設定される。なお、検出領域の基準領域は、検知線の設定情報に基づいて設定されるものであればよく、設定方法については限定されない。
【００２８】
次にＳ３では、画像処理装置３００は、Ｓ１において検出された人体の情報と、ユーザにより指定された通過判定位置の設定情報とに基づいて、Ｓ２において設定された検出領域の基準領域をどれだけ拡張させるかを示す拡張量を算出する。拡張量の算出方法について、図８を用いて説明する。
図８は、人体６００の足元が、通過検知処理で用いる通過判定位置６１１に設定されており、人体６００の顔が、人体検出処理で用いる検出部位６１２に設定されている例を示している。画像処理装置３００は、Ｓ１において検出された人体の中で、最も大きな人体（最大人体）を用いて検出領域の拡張量５３１を算出する。具体的には、画像処理装置３００は、最大人体における通過判定位置６１１から、検出部位６１２の上端位置までの距離を求め、この値を拡張量５３１として算出する。
このように、画像処理装置３００は、検知線を通過し得る物体の大きさに関する物体情報と、当該物体の検出に必要な物体の特定部位（検出部位）とに基づいて、基準領域を拡張させる拡張量５３２を算出する。なお、拡張量５３１は、上記のように画像内に存在する最大人体の大きさに応じて動的に算出される必要はなく、ユーザによって手動で設定されてもよい。
【００２９】
次にＳ４では、画像処理装置３００は、Ｓ１において検出された人体の情報と、ユーザにより指定された通過判定位置の設定情報とに基づいて、Ｓ２において設定された検出領域の基準領域をどれだけ縮小させるかを示す縮小量を算出する。
画像処理装置３００は、Ｓ１において検出された人体の中で、最も小さな人体（最小人体）を用いて検出領域の縮小量を算出する。具体的には、画像処理装置３００は、図８に示すように、最小人体における通過判定位置６１１から、検出部位６１２の下端位置までの距離を求め、この値を縮小量５３２として算出する。
このように、画像処理装置３００は、検知線を通過し得る物体の大きさに関する物体情報と、当該物体の検出に必要な物体の特定部位（検出部位）とに基づいて、基準領域を縮小させる縮小量５３２を算出する。なお、縮小量５３２は、上記のように画像内に存在する最小人体の大きさに応じて動的に算出される必要はなく、ユーザによって手動で設定されてもよい。
【００３０】
最後にＳ５では、画像処理装置３００は、Ｓ２において設定された検出領域を、Ｓ３およびＳ４においてそれぞれ設定された拡張量および縮小量を用いて変形させる。具体的には、図９に示すように、Ｓ２において設定された基準領域５３０の上端をＳ３において設定された拡張量５３１だけ拡張するとともに、Ｓ２において設定された基準領域５３０の下端をＳ４において設定された縮小量５３２だけ縮小する。ここで、画像処理装置３００は、基準領域５３０を拡張および縮小する方向を、画像５００における鉛直方向に相当する方向（図９の上下方向）に決定し、決定された方向に基準領域５３０を変形させる。この結果、Ｓ２において設定された基準領域５３０は変形され、検出領域５３３が設定される。つまり、基準領域５３０に対して上方向に移動された領域が検出領域５３３となる。
【００３１】
基準領域５３０の上端を拡張量５３１だけ拡張することで、検知線５１０の上端ぎりぎりを通過する人体６０３の検出部位（顔）が検出領域５３３内に含まれ、人体６０３を適切に検出することが可能となる。
また、基準領域５３０の下端を縮小量５３２だけ縮小することで、検知線５１０を越えない人体６０２の検出部位（顔）が検出領域５３３外となり、人体６０２を未検出とすることが可能となる。さらに、縮小量５３２は、図８に示すように、最小人体における通過判定位置６１１から検出部位６１２の下端位置までの距離である。そのため、基準領域５３０の下端を縮小量５３２だけ縮小しても、図１０に示すように、検知線５１０の下端ぎりぎりを通過する人体６０１の検出部位（顔）は検出領域５３３内に含まれる。したがって、人体６０１を適切に検出することが可能となる。
【００３２】
なお、Ｓ３の拡張量の算出およびＳ４の縮小量の算出においては、Ｓ１における人体検出処理によって検出された人体の情報を使用する場合について説明した。しかしながら、ユーザによって人体検出処理にサイズフィルタが設定されている場合には、当該サイズフィルタの情報を用いてもよい。ここで、サイズフィルタは、人体検出処理において人体以外のものを検出してしまう誤検知の対策として設定される。検出対象とする人体の最小サイズや最大サイズなどのサイズ情報を、予め人体検出処理に与えることによって、人体として小さすぎる物や大きすぎる物を誤検知することを防ぐことができる。
【００３３】
この場合、画像処理装置３００は、サイズフィルタとして与えられている最大人体のサイズ情報の値に、通過判定位置ごとに設定された係数を掛け合わせることで拡張量を算出する。上記係数は、通過判定位置が頭なら０、通過判定位置が人体の中心なら０．５、通過判定位置が足元なら１．０のように、人体の高さに対して、頭頂部と通過判定位置との距離が、どの程度の割合となっているかに基づいて設定することができる。例えば、最大人体サイズとして１００ｐｉｘが与えられており、通過判定位置として人体の中心が設定されている場合、画像処理装置３００は、１００ｐｉｘに０．５を掛け合わせた５０ｐｉｘを検出領域の拡張量として算出し、検出領域を変形する。
検出領域の縮小量についても同様に、サイズフィルタとして与えられている最小人体のサイズ情報の値を用いて算出することができる。
【００３４】
また、変形量の算出に用いる最大人体および最小人体のサイズ情報は、サイズフィルタの値に限定されるものではなく、検知線を通過し得る人体の大きさに関する情報であればどのようなものでも使用可能である。例えばフィルタではなく、単なる大きさを示す情報として与えられた値も、変形量の算出に使用することが可能である。また、変形量の算出に用いるサイズ情報の単位は、ｐｉｘに限定されるものではなく、長さやサイズを示せるものであればどのような単位を使用してもよい。
これにより、画像内に人体が存在しないような状況においても、検出領域の変形量を適切に算出することができ、通過検知処理を行う環境に対して、柔軟に対処を行うことが可能になる。
【００３５】
さらに、本実施形態では、人体検出処理の検出部位が人体の顔である場合について説明したが、当該検出部位は人体の任意の部位であってよい。つまり、図１１（ａ）に示すように、検出部位６１２が人体６００の胴体であってもよいし、図１１（ｂ）に示すように、検出部位６１２が人体６００の足であってもよい。
いずれの場合においても、画像処理装置３００は、人体６００の通過判定位置６１１から、検出部位６１２の上端位置までの距離を、基準領域の上端の拡張量５３１として算出する。また、画像処理装置３００は、人体６００の通過判定位置６１１から、検出部位６１２の下端位置までの距離を、基準領域の下端の縮小量５３２として算出する。なお、図１１（ｂ）に示すように、通過判定位置６１１が足元であり、検出部位６１２が足である場合、縮小量５３２は０となる。
【００３６】
また、検出領域の基準領域を変形させる方向は、図９および図１０に示す方向に限定されるものではなく、ユーザがその用途に応じて自由に変更することができる。
さらに、検出領域の基準領域を変形させる方向は、通過判定位置から人体検出に必要な検出部位に向かう方向など、その処理の中で動的に決定されてもよい。本実施形態では、通過判定位置が足元に設定されているため、基準領域の上端を拡張し、基準領域の下端を縮小して検出領域を設定した。しかしながら、通過判定位置が頭頂部に設定されている場合には、基準領域の下端を拡張し、基準領域の上端を縮小して検出領域を設定する。この場合、通過判定位置である頭頂部から検出部位の上端位置までの距離が、基準領域の上端の縮小量となり、通過判定位置である頭頂部から検出部位の下端位置までの距離が、基準領域の下端の拡張量となる。
【００３７】
つまり、通過判定位置から検出部位の上端位置までの距離が、基準領域の上端の変形量であり、当該上端を変形させる方向は、通過判定位置から検出部位の上端位置に向かう方向である。また、通過判定位置から検出部位の下端位置までの距離が、基準領域の下端の変形量であり、当該下端を変形させる方向は、通過判定位置から検出部位の下端位置に向かう方向である。
以上のように検出領域の基準領域の変形量と変形方向とを導出することで、通過判定位置に応じて必要な量だけ、必要な方向に検出領域の基準領域を変形させることが可能になる。なお、本実施形態では検出領域の基準領域に対して拡張および縮小の２つの変形を実施しているが、必ずしも両方を行う必要はない。つまり、拡張のみ、縮小のみなど、用途に応じて変形の種類や数を自由に選択することができる。
【００３８】
図１２は、クライアント装置１２０の表示部１２７に表示される表示画面７００の一例である。画像処理装置３００は、クライアント装置１２０の表示部１２７に、表示画面７００を表示させる表示制御を行うことができる。
表示画面７００は、画像表示エリア７１０を備える。画像表示エリア７１０は、カメラ１００の撮像画像や画像解析結果、検知線や通過判定位置、人体検出処理の検出領域等を表示することができる。通過判定位置の表示方法としては、四角や人型などの人の身体を想像させる図形に、十字やバツなどの印を重畳する方法があるが、通過判定位置をユーザに提示できる方法であれば特に限定されない。また、検出領域の表示方法としては、実線で囲んだ任意の図形で表現する、透過率を下げて塗りつぶされた図形を画像上に重畳する、などの方法があるが、検出領域をユーザに提示できる方法であれば特に限定されない。
さらに、画像表示エリア７１０は、人体検出処理の検出領域の基準領域や、基準領域を変形させた変形量等を表示することもできる。基準領域の表示方法としては、破線で囲んだ任意の図形で表現するなどの方法がある。また、変形量の表示方法としては、直線や矢印といった、変形量に相当する長さを表現可能な図形を用いて表現するなどの方法がある。
【００３９】
また、表示画面７００は、チェックボックス７２０を有していてもよい。この場合、ユーザは、チェックボックス７２０を用いて検出領域の表示または非表示を選択することができる。さらに、表示画面７００は、検出領域の再設定を実行させるための実行ボタン７３０を有していてもよい。この場合、ユーザは、実行ボタン７３０を押下することで、画像処理装置３００に検出領域の再設定を実行させ、検出領域を更新させることができる。ユーザにより実行ボタン７３０が押下された場合、画像処理装置３００が図４に示すフローに従って検出領域を再設定してもよいし、ユーザが手動で検出領域の変更を行うための設定ダイアログが別途表示されてもよい。
なお、検出領域を更新するタイミングは、ユーザが実行ボタン７３０の押下により指定したタイミングに限定されるものではなく、一定の周期で検出領域を更新してもよい。この場合、検出領域を更新する時間間隔は、ユーザが任意に設定してもよいし、予め設定された固定値であってもよい。
【００４０】
さらに、表示画面７００は、通過判定位置の設定を行う設定エリア７４０を有していてもよい。この場合、設定エリア７４０にラジオボタン群が表示され、ユーザは、通過判定位置を任意のタイミングで自由に変更することができる。このように、通過判定位置を示す複数の図形のいずれかをユーザが選択する方法を採用することで、ユーザは容易に通過判定位置の切り替えを指示することができる。なお、通過判定位置の指定方法は、上記に限定されるものではなく、例えば、四角や人型などの人の身体を想像させる図形上の点を、ユーザがマウス等を用いて指定する方法であってもよい。
【００４１】
ユーザにより通過判定位置の切り替え操作が行われた場合、通過判定位置が変化したタイミングで、変化後の通過判定位置の設定情報に応じて検出領域の更新が行われる。
検出領域の更新が行われた場合、更新後の検出領域をユーザに提示するために、チェックボックス７２０により検出領域が非表示に設定されていたとしても、画像表示エリア７１０に更新された検出領域を表示するようにしてもよい。このとき、検出領域の更新が行われたことをユーザが理解しやすいように、更新された検出領域を更新前の検出領域とは異なる形態で表示させてもよい。例えば、更新された検出領域を更新前の検出領域とは異なる色で重畳する、更新された検出領域を点滅させるといった、ユーザの目を引くような表示であってもよい。
なお、図１２に示すユーザインターフェース（ＵＩ）は一例であり、用途に応じてＵＩの各機能、ボタンの配置や表示方法は自由に変更することが可能である。
【００４２】
以上説明したように、本実施形態における画像処理装置３００は、通過検知処理に用いる検知線の位置を示す設定情報と物体における通過判定位置に関する設定情報とを取得する。そして、画像処理装置３００は、取得された検知線の設定情報と通過判定位置の設定情報とに基づいて、画像から通過検知の対象とする物体を検出する検出処理を行う検出領域を設定する。
これにより、画像処理装置３００は、通過検知に影響しない領域に対して検出処理を行わないように、また、通過検知の対象とする物体が未検出とならないように、適切な検出領域を設定することができる。したがって、このように設定された検出領域に対して被写体の検出処理を行うことで、処理負荷を低減しつつ、通過検知の対象となる物体を適切に検出することができ、精度良く通過検知処理を行うことが可能となる。
【００４３】
また、画像処理装置３００は、検出領域の設定に際し、画像内に検出領域の基準領域を設定し、その基準領域を、検知線の設定情報と通過判定位置の設定情報に基づいて変形させることができる。ここで、当該変形は、拡張、縮小および移動の少なくとも１つを含む。これにより、処理負荷の低減などを目的に設定された制限された検出領域を、検知線を通過する物体が未検出とならないように、その範囲形状を変形させることができる。
また、画像処理装置３００は、検知線の設定情報に基づいて、検出領域の基準領域を設定することができる。具体的には、画像処理装置３００は、検知線の設定情報に基づいて、検知線を含み、検知線の延伸方向に検知線の長さを有し、検知線に直交する方向に所定の検知幅を有する領域を、被写体検出処理を行う検出領域の基準領域として設定することができる。ユーザにより指定された検知線は、通過を検知したい被写体の情報と相関がある可能性が高い。そのため、検知線の設定情報に基づいて検出領域の基準領域を設定することで、通過を検知したい被写体の検出精度の向上と被写体検出処理の処理負荷の低減とを目的とした適切な基準領域を設定することができる。そして、このように設定された基準領域を、通過判定位置の設定情報に基づいて変形させることで、より適切な検出領域を設定することができる。
【００４４】
ここで、上記のように検知線の延伸方向に検知線の長さを有する基準領域を、通過判定位置を考慮せずに、通過検知の対象とする物体の未検出防止を目的として変形させた場合について考える。この場合、基準領域の上端が物体の高さ分だけ拡張され、検知線の上部ぎりぎりを移動する物体が未検出となることを防止することになる。しかしながら、図９および図１０に示す本実施形態における検出領域５３３のように、基準領域５３０の下端が縮小されることはない。つまり、必要以上に検出領域が広く設定されてしまう。
これに対して、本実施形態では、通過判定位置を考慮して基準領域を変形させるため、基準領域の拡張だけでなく、基準領域の縮小を行うことができる。その結果、不必要な基準領域の削除を行うことができ、通過判定位置を考慮しない場合と比較して、より被写体検出処理の処理負荷を低減することが可能となる。また、通過判定位置としては、物体の中心位置、上端位置、下端位置など、さまざまな位置が用いられる。そのため、通過判定位置を考慮することで、必要な量だけ基準領域を適切に変形させることができる。
【００４５】
さらに、画像処理装置３００は、検出領域の基準領域の変形に際し、検知線を通過し得る物体の大きさに関する物体情報を取得し、取得された情報に基づいて、基準領域の変形量を算出することができる。ここで、物体の大きさに関する物体情報は、画像全体に対して被写体検出処理を実行して検出された物体をもとに取得してもよいし、被写体検出処理に設定されているサイズフィルタの情報をもとに取得してもよい。このように、物体の大きさに関する物体情報をもとに変形量を算出することで、通過検知の対象とする物体が未検出とならないように必要な量だけ変形させた検出領域を適切に設定することが可能となる。
【００４６】
また、画像処理装置３００は、検出領域の基準領域の変形に際し、被写体検出処理における物体の検出に必要な物体の特定部位（検出部位）の部位情報を取得し、取得された情報に基づいて、基準領域の変形量を算出することができる。例えば被写体検出処理において人体を検出する場合、人体の検出に使用される部位としては、顔、胴体、足など、さまざまな部位が用いられる。そのため、検出部位に応じて変形量を算出することで、通過検知の対象とする物体の検出部位が検出領域に含まれるように、基準領域を必要な量だけ変形させることが可能となる。したがって、通過検知の対象とする物体が未検出となることを適切に防止することができる。
【００４７】
さらに、画像処理装置３００は、検出領域の基準領域の変形に際し、検出領域の基準領域を変形させる方向を決定し、決定された方向に基準領域を変形させることができる。ここで、基準領域を変形させる方向は、ユーザにより指定された方向であってもよいし、画像における鉛直方向に相当する方向であってもよい。また、基準領域を変形させる方向は、通過判定位置から検出部位へ向かう方向であってもよい。この場合、通過判定位置から検出部位の上端へ向かう方向を、基準領域の上端を変形させる方向とし、通過判定位置から検出部位の下端へ向かう方向を、基準領域の下端を変形させる方向とすることができる。
【００４８】
また、画像処理装置３００は、通過検知処理の一連の流れで使用した情報や、通過検知処理によって設定された結果を表示画面に表示させる表示制御を行うことができる。例えば、画像処理装置３００は、通過検知処理に用いた画像とともに、検知線、通過判定位置、検出領域の基準領域、設定された検出領域、および基準領域を変形させた変形量の少なくとも１つを表示させることができる。このとき、画像処理装置３００は、表示画面上において、検出領域や当該検出領域の基準領域を実線や破線などで囲んだ任意の図形で表示することができる。また、画像処理装置３００は、表示画面上において、基準領域の変形量を、直線や矢印などの変形量に相当する長さを表現可能な図形を用いて表示させることができる。
これにより、ユーザは、自身が指定した検知線や通過判定位置が適切に設定されているかどうかや、これらの情報に基づいて検出領域が適切に設定されているかどうかを容易に確認することができる。したがって、ユーザは、表示画面に表示された内容をもとに、検知線や通過判定位置、検出領域の変更の要否を判断し、必要に応じて変更の指示を画像処理装置３００へ与えることができる。
【００４９】
なお、画像処理装置３００は、ユーザの指定を受け付け、表示画面に表示する内容を設定するようにしてもよい。例えば、画像処理装置３００は、ユーザの指定を受け付け、検出領域を表示画面に表示するか否かを設定してもよい。これにより、画像処理装置３００は、ユーザが所望する内容を適切に表示画面に表示させることができる。
さらに、画像処理装置３００は、ユーザにより検知線や通過判定位置の変更の指示が与えられたタイミングで、検出領域を再設定し、当該検出領域を更新することができる。また、このとき画像処理装置２００は、更新された検出領域を表示させる表示制御を行うこともできる。これにより、ユーザは、検出領域の変更が行われたことを容易に確認することができる。
【００５０】
また、画像処理装置３００は、更新された検出領域を、更新前の検出領域とは異なる形態で表示させることもできる。このように、画像処理装置３００は、更新された検出領域に対して、一定時間点滅させる、色の濃度を変えるなどのユーザの目を引く変化を与えることで、ユーザに検出領域の変更が行われたことを適切に提示することができる。
さらに、画像処理装置３００は、ユーザにより設定された一定の時間間隔で検出領域の更新を行ってもよいし、ユーザが表示画面上のボタンを押下した任意のタイミングで検出領域の更新を行ってもよい。この場合、ユーザが検出領域の更新タイミングを設定することができるので、ユーザは所望の通過検知結果を得ることができる。
【００５１】
以上、本実施形態における画像処理装置３００によれば、通過カウントにおいて、通過検知の対象とする物体を検出する検出処理を行う検出領域を、通過検知処理に用いる検知線の位置を示す設定情報と、通過判定位置に関する設定情報と、に基づいて設定する。このとき、画像処理装置３００は、処理負荷の低減などを目的に検知線をもとに設定された検出領域を、通過検知の対象とする物体が未検出とならないように、通過判定位置に応じて必要な量だけ変形させる。
したがって、被写体検出処理の処理負荷を最低限に抑えた、高精度な通過カウントを行うことができる。
【００５２】
（変形例）
上記実施形態においては、クライアント装置１２０が画像処理装置３００として動作する場合について説明したが、カメラ１１０が画像処理装置３００として動作してもよいし、一般のＰＣや他の機器等が画像処理装置３００として動作してもよい。また、複数の機器がそれぞれ画像処理装置３００の一部の機能を有していてもよい。
カメラ１１０が画像処理装置３００として動作する場合、図２に示す画像取得部３０１は、カメラ１１０が有する撮像部から画像を取得する。また、設定指示取得部３０２は、クライアント装置１２０が取得した設定指示を、ネットワーク２００を介して取得する。
なお、カメラ１１０が画像処理装置３００として動作する場合、図２に示す画像処理装置３００の各要素の一部または全部の機能は、カメラ１１０のＣＰＵがプログラムを実行することで実現することができる。ただし、図２に示す画像処理装置３００の各要素のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、カメラ１１０のＣＰＵの制御に基づいて動作する。また、カメラ１１０が画像処理装置３００として動作する場合、カメラ１１０は、ＣＰＵが必要なプログラムを読み出して実行することにより、図４に示す各処理を実現し、画像処理装置３００の動作を実現することができる。
【００５３】
また、上記実施形態においては、画像処理装置３００は、検知線の設定情報に基づいて設定した検出領域の基準領域を、通過判定位置の設定情報に基づいて変形させることで、検出領域を設定する場合について説明した。しかしながら、画像処理装置３００は、検知線の設定情報と通過判定位置の設定情報とに基づいて、検出領域を直接設定してもよい。
さらに、上記実施形態においては、画像処理装置３００は、検知線の設定情報に基づいて検出領域の基準領域を設定する場合について説明した。しかしながら、画像処理装置３００は、別装置において検知線の設定情報に基づいて設定された検出領域の基準領域の情報を取得することで、当該基準領域を設定してもよい。つまり、図２の検出領域設定部３０４は、ネットワーク２００を介して基準領域の情報を取得する検出領域取得部であってもよい。また、基準領域は、検知線の設定情報に基づいて設定された領域に限定されるものではなく、画像処理装置３００は、基準領域を、検知線の設定情報と通過判定位置の設定情報とに基づいて変形させ、上述した検出領域を設定できればよい。
【００５４】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５５】
１１０…撮像装置（ネットワークカメラ）、１２０…クライアント装置、１３０…外部装置、２００…ネットワーク、３００…画像処理装置、３０１…画像取得部、３０２…設定指示取得部、３０３…人体検出部、３０４…検出領域設定部、３０５…変形量算出部、３０６…検出領域変形部、１０００…ネットワークカメラシステム
【図１】
2020013289.tif 000003
【図２】
2020013289.tif 000004
【図３】
2020013289.tif 000005
【図４】
2020013289.tif 000006
【図５】
2020013289.tif 000007
【図６】
2020013289.tif 000008
【図７】
2020013289.tif 000009
【図８】
2020013289.tif 000010
【図９】
2020013289.tif 000011
【図１０】
2020013289.tif 000012
【図１１】
2020013289.tif 000013
【図１２】
2020013289.tif 000014