(57)【要約】【課題】所定の被写体を検出する処理の誤検出の影響を低減する画像処理装置およびその制御方法を提供する。【解決手段】画像処理装置は、画像から所定の被写体の領域を検出する検出部と、検出部による検出が誤検出であるか判定する判定部と、検出部により検出された領域に対して前記所定の被写体に関連する処理を行う処理部と、判定部の判定結果に基づいて、検出部により検出された領域に対する処理部による処理の実行を制御する制御部とを有する。【選択図】  図２
2018097611.tif 000002
【特許請求の範囲】
【請求項１】
画像から所定の被写体の領域を検出する検出手段と、
前記検出手段による検出が誤検出であるか判定する判定手段と、
前記検出手段により検出された領域に対して前記所定の被写体に関連する処理を行う処理手段と、
前記判定手段の判定結果に基づいて、前記検出手段により検出された領域に対する前記処理手段による処理の実行を制御する制御手段と、を備えることを特徴とする画像処理装置。
【請求項２】
前記判定手段は、前記検出手段により検出された領域の色に基づいて誤検出の判定を行うことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記判定手段は、前記検出手段により検出された領域の画像の平坦度に基づいて誤検出の判定を行うことを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記画像は動画であり、
前記判定手段は、前記動画のフレーム間の差分に基づいて誤検出の判定を行うことを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記検出手段は所定の被写体の領域として人物領域を検出することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記判定手段は、第１の期間において前記検出手段が検出した領域を誤検出領域として記憶し、前記第１の期間とは異なる第２の期間において前記検出手段が検出した領域についての誤検出の判定を、前記記憶された誤検出領域に基づいて行うことを特徴とする請求項１記載の画像処理装置。
【請求項７】
誤検出判定時間を設定する設定手段をさらに備え、
前記第１の期間において前記検出手段が検出した誤検出領域とは、撮像時刻が前記誤検出判定時間の間である画像について前記検出手段が検出した領域であることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
誤検出判定時間を設定する設定手段をさらに備え、
前記第１の期間において前記検出手段が検出した誤検出領域とは、現在時刻が前記誤検出判定時間の間に前記検出手段が検出した領域であることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記判定手段は、前記画像から前記検出手段が検出した領域のうち誤検出であると判定された誤検出領域の情報をメモリに蓄積し、
前記制御手段は、前記メモリに蓄積されている誤検出領域の情報に基づいて、前記画像から前記検出手段が検出した領域について前記処理手段による処理の適用を制御することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項１０】
前記メモリに記憶される前記誤検出領域の情報は、前記誤検出領域の位置を示し、
前記制御手段は、前記検出手段により検出された領域の位置と前記メモリに記憶された前記誤検出領域の位置とに基づいて、前記検出された領域への前記処理手段の処理の適用を制御することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記判定手段は、前記検出手段により検出された領域が前記所定の被写体の領域か否かを判定し、
前記制御手段は、前記判定手段により前記所定の被写体の領域であると判定された領域のみに対して前記処理手段に処理を実行させることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記判定手段は、前記誤検出の判定結果として３種類以上の判定結果を出力し、
前記制御手段は、前記判定結果の種類に応じて前記処理手段の処理内容を切り替えることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１３】
画像から所定の被写体の領域を検出する検出工程と、
前記検出工程における検出が誤検出であるか判定する判定工程と、
前記検出工程で検出された領域に対して前記所定の被写体に関連する処理を行う処理工程と、
前記判定工程の判定結果に基づいて、前記検出工程で検出された領域に対する前記処理工程による処理の実行を制御する制御工程と、を有することを特徴とする画像処理装置の制御方法。
【請求項１４】
請求項１３に記載された制御方法の各工程をコンピュータに実行させるためのプログラム。
【請求項１５】
カメラとコンピュータ装置が接続された画像処理システムであって、
前記カメラは、撮像された画像から所定の被写体の領域を検出する検出手段を備え、
前記コンピュータ装置は、
前記検出手段により検出された領域に対して誤検出の判定を行う判定手段と、
前記検出手段により検出された領域に対して前記所定の被写体に関連する処理を行う処理手段と、
前記判定手段の判定結果に基づいて、前記検出手段により検出された領域に前記処理手段による処理の実行を制御する制御手段と、を備えることを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の所定の被写体を検出する際の誤検出を抑制する画像処理技術に関する。
【背景技術】
【０００２】
撮像された画像中に映っている人物を検出する技術が実用化されてきている。この種の技術には、様々な用途への適用が考えられる。例えば、撮像された画像から人数をカウントすることができるため、店舗などにおける来店者数の把握によるマーケティングへの活用、あるいは、道路などにおける通行量の把握による都市計画への活用、が考えられる。
【０００３】
人物を検出する技術においてその検出精度は向上しているとはいえ、一般に、完全に誤検出を抑制することは困難である。特許文献1には、ユーザが目視で誤検出を確認し、誤検出が発生している箇所を指定することで誤検出を抑制する構成が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−９３６３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の構成では、たとえば、店舗に設置されたネットワークカメラを使用して人数をカウントする場合に、人物検出に関して誤検出が発生しているか否かを常時監視する人が必要となる。したがって、このようなシステムを導入して誤検出を監視する人を配置するよりも、初めから人数をカウントする人を配置した方が、コスト的に有利になることも考えられる。
【０００６】
また、誤検出の発生は、照明条件や周囲に配置された物体などの撮像環境、の影響を受ける。更に、検出精度が処理系によって異なる場合もある。例えば、新旧の処理系を有する複数の検出処理や、コストダウンのために検出性能を下げた検出処理などでは検出処理性能や誤検出率が大きく異なる場合がある。したがって、撮影環境毎およびカメラ毎（処理系毎）に検出精度が大きく異なってしまい、結果を統一的に扱えないなどの問題が発生する。
【０００７】
本発明は上記の課題に鑑みてなされたものであり、所定の被写体を検出する処理の誤検出の影響を低減する画像処理装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するための本発明の一態様による画像処理装置は以下の構成を備える。すなわち、
画像から所定の被写体の領域を検出する検出手段と、
前記検出手段による検出が誤検出であるか判定する判定手段と、
前記検出手段により検出された領域に対して前記所定の被写体に関連する処理を行う処理手段と、
前記判定手段の判定結果に基づいて、前記検出手段により検出された領域に対する前記処理手段による処理の実行を制御する制御手段と、を備える
【発明の効果】
【０００９】
本発明によれば、所定の被写体を検出する処理の誤検出の影響を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】第一実施形態の画像処理装置のハードウェア構成例を示すブロック図。
【図２】第一実施形態の画像処理装置の適用例を説明する図。
【図３】第一実施形態の画像処理装置の機能構成例を示すブロック図。
【図４】第一実施形態の画像処理装置による動作を示すフローチャート。
【図５】第二実施形態の画像処理装置の機能構成例を示すブロック図。
【図６】第二実施形態の画像処理装置による動作を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【００１２】
＜第一実施形態＞
図１は第一実施形態による画像処理装置２００のハードウェア構成例を示すブロック図である。画像処理装置２００として、たとえば汎用のコンピュータを用いることができる。図１において、ＣＰＵ１００は、ＲＯＭ１０１および／またはＲＡＭ１０２に格納されているプログラムを実行することにより、各種処理を実行するプロセッサである。ＲＯＭ１０１は、不揮発性の読み出し専用メモリであり、プログラムなどを格納する。ＲＡＭ１０２は、随時読み書きが可能なメモリであり、プログラムや画像データなどを一時的に格納する。格納部１０３は、プログラムや画像データなどを格納する二次記憶装置として動作する。格納部１０３の記憶媒体には、たとえばハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）などが用いられる。ＬＡＮインターフェース１０４は、ネットワークカメラおよび他のコンピュータなどとの通信を行う。図１では、ネットワークカメラ２０２がＬＡＮインターフェース１０４に接続された様子が示されている。ディスプレイ１０５はＣＰＵ１００の制御下で各種表示を行う。
【００１３】
図２は、第一実施形態による画像処理装置２００を含む画像処理システムの構成例を示す図である。図２において、ネットワークカメラ２０２は、撮像範囲内を撮像してネットワーク経由で画像を画像処理装置２００に送信する。図２の例では、ネットワークカメラ２０２の撮像範囲内に、被写体として人物２０３と人以外の物体２０４が存在している。この場合、ネットワークカメラ２０２が撮像する画像には、人物２０３と物体２０４が被写体として映っている。本実施形態において、物体２０４は、人物検出処理を行った際に人物として誤検出される物体であるとする。
【００１４】
なお、図２の構成では画像処理装置２００に画像を送信する機器の例としてネットワークカメラ２０２を示したが、本実施形態はこれに限定されるものではない。例えば、撮像された画像が一旦他のコンピュータのストレージデバイスに保存され、その後、他のコンピュータにより画像処理装置２００に送信される構成であっても良い。また、本実施形態では、画像処理装置２００とネットワークカメラ２０２（画像を送信する機器）とを、ＬＡＮなどのネットワークを介して接続する構成を示したがこれに限られるものではない。たとえば、デジタルカメラ（デジタルスチルカメラまたはデジタルビデオカメラ）と画像処理装置２００をＵＳＢ接続して、ＵＳＢを介してデジタルカメラから画像処理装置２００へ画像を送信する構成などでも良い。
【００１５】
図３は画像処理装置２００の機能構成例を示すブロック図である。なお、以下に説明する機能ブロックの各々は、ＣＰＵ１００がプログラムを実行することにより実現されてもよいし、その一部あるいは全てが専用のハードウェアにより実現されてもよい。
【００１６】
図３において、画像入力部３００は、ネットワークカメラ２０２から画像を入力する。画像入力部３００は、たとえば、画像フレームを動画として連続的に入力する。人物領域検出部３０１は、所定の被写体の領域を検出する検出部の一例であり、画像入力部３００が入力した画像から人物領域を検出する。人物領域検出部３０１は、たとえば、人の頭部、顔、上半身、全身など、人物が映っている領域を検出する。なお、人物領域検出部３０１が検出する人物の内容は処理アルゴリズムなどによって予め決まっており、例えば人数をカウントするためには、頭部や顔などを含むような検出を行うと良い。また、本実施形態では、検出対象の被写体の種類を人物としたがこれに限られるものではなく、たとえば、自動車など、人物以外の特定の種類の被写体を検出対象とするものでもよい。
【００１７】
誤検出判定部３０２は、検出された領域に対して誤検出判定を行う判定部の一例であり、人物領域検出部３０１により検出された人物領域が誤検出か否かを判定する。誤検出判定部３０２による誤検出の判定処理については後述する。なお、本実施形態では、人物領域検出部３０１は、画像から検出した人物領域の位置と大きさをリスト３５０に登録する。誤検出判定部３０２は、リスト３５０に登録されている各領域（人物領域として検出された領域）について誤検出か否かの判定を行い、その判定結果をリスト３５０に登録する。
【００１８】
処理制御部３０３は、画像から検出された各領域についての誤検出の判定結果に基づいて、各領域に対する処理（被写体に関連した処理）の実行を制御する制御部の一例である。本実施形態では、処理制御部３０３は、誤検出判定部３０２の判定結果に基づいて、人物領域検出部３０１が検出した人物領域に対する人物領域処理部３０４の処理の実行を制御する。人物領域処理部３０４は、画像から検出された領域に対して所定の被写体（本実施形態では人物）に関連する処理を行う処理部の一例である。人物領域処理部３０４は、処理制御部３０３の制御に従って、人物領域検出部３０１において検出された人物領域に対して所定の処理を行う。人物領域処理部３０４が実行する処理の例としては、たとえば検出された人数をカウントする処理が挙げられる。他にも、人物領域処理部３０４が実行する処理の例として、たとえば、人物領域検出部３０１において検出された人物領域に対して更なる解析処理を行うことにより、
・人物の年齢や性別などを推定する処理、
・あらかじめ登録された人物か否かを判定する人物認証、
・動画の複数フレームを使用した人物追尾処理、或いは、
・人物の移動方向を推定する処理、
などが挙げられる。また、上述の人物領域に対して適用可能な様々な処理は、単独で実行されてもよいし、複数の処理が組み合わされて実行されても良い。
【００１９】
結果出力部３０５は、人物領域処理部３０４により処理結果を、たとえばＣＰＵ１００が実行する他のアプリケーションによる利用のために出力する。
【００２０】
図４は第一実施形態の画像処理装置２００の処理例を示すフローチャートである。図４に示される処理は、たとえばＣＰＵ１００がＲＯＭ１０１またはＲＡＭ１０２に格納されているプログラムを実行することにより実現される。
【００２１】
処理が開始されると、ステップＳ４００において、ＣＰＵ１００は処理に必要な初期化を行う。ステップＳ４０１において、ＣＰＵ１００は、ネットワークカメラ２０２に対して画像フレームの取得要求（画像取得要求）を行い、撮像画像の取得を開始する。ステップＳ４０２において、画像入力部３００は、ネットワークカメラ２０２により撮像された動画像の画像フレームを受信する。ステップＳ４０３において、人物領域検出部３０１は、ステップＳ４０２で受信した画像フレームから人物領域の検出を行う。ここで、店舗や道路などをネットワークカメラ２０２で撮像した場合には、複数の人物領域が検出される場合がある。複数の人物領域を管理するために、検出処理の結果得られた人物領域（人物の位置や大きさ、範囲など）の情報はリスト３５０に保持され、管理される。また、このリスト３５０では、個々の人物領域に関連のある後述する他の情報（たとえば、誤検出の判定結果）が併せて管理可能となっている。
【００２２】
ステップＳ４０４〜Ｓ４０６では、誤検出判定部３０２がリスト３５０に登録されている人物領域の各々について誤検出判定処理を行い、その判定結果をリスト３５０に登録する。まず、ステップＳ４０４において、誤検出判定部３０２は、画像フレーム中で検出された人物領域（リスト３５０に登録されている人物領域）に関して、誤検出か否かの判定処理が未実行な領域（未判定の人物領域）があるか否かを判定する。未判定の人物領域がある場合、ステップＳ４０５において、誤検出判定部３０２は、未判定の人物領域に対して後述する誤判定か否かの判定処理を実行する。ステップＳ４０６において、誤検出判定部３０２は、ステップＳ４０５の判定結果をリスト３５０の人物領域に関連付けて保持する。以上のＳ４０５〜Ｓ４０６の処理は、リスト３５０に登録されている全ての人物領域が誤検出判定処理済みとなるように繰り返される（ステップＳ４０４）。
【００２３】
リスト３５０に登録されている全ての人物領域について誤検出判定処理が実行されるとステップＳ４０７〜Ｓ４１０に示される処理が実行される。ステップＳ４０７〜Ｓ４１０では、処理制御部３０３が、リスト３５０に登録されている人物領域のうち誤検出ではないと判定された人物領域を人物領域処理部３０４に処理させる。
【００２４】
まず、ステップＳ４０７において、処理制御部３０３は、リスト３５０に登録されている人物領域のうち人物領域に関する処理が未処理となっている人物領域があるかどうかを判定する。人物領域に関する処理が未処理の人物領域があれば、ステップＳ４０８において、処理制御部３０３は、未処理の人物領域の一つを選択する。このとき選択された人物領域については、リスト３５０において、処理済みである旨が記録される。次に、ステップＳ４０９において、処理制御部３０３は、ステップＳ４０８で選択した人物領域の誤検出判定結果を参照して、選択した人物領域が誤検出か否かを判断する。誤検出ではないと判断されると、ステップＳ４１０において、処理制御部３０３は、人物領域処理部３０４に当該人物領域に対して処理を実行させる。一方、ステップＳ４０８で誤検出していると判定された場合には、処理はステップＳ４０７に戻る。
【００２５】
ステップＳ４０７において未処理の人物領域が無いと判定されると、ステップＳ４１１において、ＣＰＵ１００は、処理の終了要求の有無を判定し、終了要求があれば処理を終了させる。一方、ステップＳ４１１で終了要求が無いと判定された場合、ステップＳ４１２において、ＣＰＵ１００は、動画のフレームレート分の時間待機した後に、処理をステップＳ４０２に戻す。なお、フレームレート毎の画像送受信のタイミングをカメラなどの画像送信側で行う場合には、ステップＳ４１２は不要である。この場合は、画像が受信されるまでの待ち、及びステップＳ４１１の終了判定待ちをステップＳ４０２において行うようにすればよい。
【００２６】
また、図４のフローチャートにおいて、ステップＳ４０２の画像フレームの受信は複数のカメラから送信される複数の画像を受信するようにしても良い。或いは、ネットワークカメラにおいてＰＴＺ（パン、チルト、ズーム）が切り替え可能な場合には、自動巡回させて撮像した異なる複数の撮像位置の画像を受信するようにしても良い。この場合、ステップＳ４０４、及びステップＳ４０９の処理は受信した全画像フレーム、及び全画像フレーム中に検出された全人物領域に関して処理を行うようにするとよい。
【００２７】
また、図４のフローチャートにおいて、ステップＳ４０４の判定はステップＳ４０３で検出されたすべての領域に対して行うようにしているが、予め指定された範囲に含まれるもののみ実行するようにしても良い。このような方法は、カメラの撮像範囲内において誤検出が発生しやすい個所が特定されている場合などに有用であり、処理の効率化を図ることが可能となる。
【００２８】
また、図４に示したフローチャートにおいては、ステップＳ４０９において誤検出していると判定された人物領域にはステップＳ４１０の処理（人物領域処理部３０４の処理）が実行されないようにしたが、これに限るものではない。例えばステップＳ４１０における人物領域に関する処理が複数あり、誤検出の判定結果に応じて処理を切り替えるようにしても良い。更にこの場合には、ステップＳ４０５の誤検出判定処理の出力結果が誤検出の有無の２値ではなく程度を示す値（３値以上の値）としておき、該値に応じて処理内容を切り替えるようにしても良い。このようにすることでステップＳ４１０の処理が３種類以上あった場合に、必要に応じて対応が可能となる。具体的な例としては、該程度を示す値を所定の閾値で判定することにより３段階に分け、誤検出の有無に加え、判定不能の判断を行い表示を切り替えるなどが挙げられる。このようにすることで例えば、人数をカウントする場合において人物であることの確実性の高いカウントと、判断不能な結果を含むカウントの２種類を行い、誤差を考慮した上限と下限が把握しやすいようなカウントを実現するなどが実現可能となる。
【００２９】
また、ステップＳ４０６では、誤検出の判定結果をステップＳ４０３で検出された人物領域に関連付けて保持するようにしているが、本実施形態はこれに限るものではない。例えば、判定結果を保存する代わりにステップＳ４０５で誤検出と判定された人物領域を検出リストから除外するようにしてもよい。このようにすることで、ステップＳ４０９における誤検出しているか否かの判定と同等の処理がステップＳ４０６で実行されることになるため、処理が軽減される。また、誤検出の判定結果を保持しない他の例としては、ステップＳ４０５の処理の直後にステップＳ４０９およびステップＳ４１０の処理を行うようにする方法も挙げられる。
【００３０】
次にステップＳ４０５の、誤検出判定部３０２による誤検出判定方法について説明する。本実施形態では、人物を検出対象としているので領域の飛車互い人物であるか否かの判定となる。人物領域の検出方法には様々なアルゴリズムが提案されている。例えば、輪郭抽出を行い、予め保持されている頭部の輪郭テンプレートとのパターンマッチングを行う方法が挙げられる。このような場合、パターンが偶然一致したものは人物でなくても人物領域であるとの誤検出を発生させる可能性がある。例えば非常に複雑な模様または密集している小さな物体が被写体となった場合に、このような偶然の一致が発生する可能性がある。
【００３１】
一方、人物を撮影した場合には、例えば人の顔は肌色領域が所定範囲に広がっているという特徴がある。また、頭部であれば髪の毛の色が所定範囲に広がっているという特徴があるなど、人物の顔や頭部は類似色が所定範囲に広がっているという特徴を有している傾向がある。よって、ステップＳ４０５の誤検出判定方法の好適な例として、検出された人物領域の色を検出し、色の分布（例えばヒストグラム）により人物領域か否かの判定を行うようにするとよい。この処理の具体例としては人肌として出現する可能性の少ない範囲の色成分が多く含まれるか否かを判断すると良い。より簡素な処理の例としては、肌色は青や緑の成分が単独で突出して多くなる可能性が低いという特徴があるため、青や緑の成分が単独で所定以上検出されている場合には誤検出と判定する方法でもよい。また、撮像環境の照明が白色光源ではく、特定色を有していることがあらかじめ分かっている場合には、光源の影響を考慮した肌色の成分を判定基準にしても良い。なお、検出した領域の色に基づいて誤検出の判定を行う判定方法は上述の例に限るものではなく、他の様々な方法が適用可能である。
【００３２】
更に、色以外にも例えば、人物画像には所定以上の平坦領域があることから、人物として検出された領域の平坦度合いを検出する方法もある。このような、検出された領域の画像の平坦度に基づく誤検出の判定処理の例としては、エッジ検出フィルタによるエッジの状態による判断や、周波数特性を用いた高周波成分の状態など様々な方法が適用可能である。更に、動画の場合、フレーム間の差分、たとえば前フレームとの差分、を取ることにより判定することも可能であり、例えば単純に差分がない領域に対して検出された人物領域は誤検出と判断するなどの方法が挙げられる。
【００３３】
以上のように、ステップＳ４０５の処理としては、誤検出の可能性が高い条件を適用すると良い。このようにすることで、性能の異なる複数の人物領域検出処理が行われた場合や、誤検出の発生のしやすさが異なる複数の被写体を撮像した画像に対する人物領域検出処理が行われた場合に、統一的な基準で誤検出を抑制することが可能となる。その結果、統一的な誤検出率での人物検出結果を活用して処理を行うことが可能となる。
【００３４】
また、本実施形態における人物検出結果（結果出力部３０５の出力）を活用した処理の好適な例としては、統計的な処理が挙げられる。統計的な処理の具体的な例としては、人数のカウントや、人物属性推定処理の結果を考慮した年齢性別毎の人数カウント、人物が特定位置に留まっていた割合を蓄積したヒートマップなどが挙げられる。また、本実施形態は上記の例に限るものではなく、様々な用途に適用可能である。
【００３５】
以上説明したように、第一実施形態によれば人物領域の検出処理を行った場合に、誤検出発生時に操作者の指定を必要とすることなく誤検出率を抑えることが可能となる。特に、撮像環境や撮像条件による誤検出率の抑制や、性能の異なる複数の人物領域検出処理が適用される場合に統一的な基準で誤検出を抑制し、一定の性能を確保した人物検出結果の活用を行うことが可能となる。
【００３６】
＜第二実施形態＞
第一実施形態では、図４のステップＳ４０５における人物領域の誤検出の判定方法として、予め決定された判断基準により誤検出を判定する方法を説明した。第二実施形態では、他の誤検出の判定方法を用いた場合の例を説明する。第二実施形態では、所定の期間に撮像された画像から検出された人物領域を誤検出領域として記録しておき、所定の期間以外に撮像された画像から検出された人物領域が誤検出か否かを、記録された誤検出領域に基づいて判定する。これは、例えば閉店時間が存在する店舗などにおいて、閉店時間に検出されている人物領域は誤検出と考えられる可能性が高いことを、誤検出の判断基準として活用したものである。第一実施形態では、現在のフレームに対する誤検出の判定結果を、現在のフレームの人物領域に対する処理の制御に使用するのに対し、第二実施形態では、異なる時間に検出された誤検出結果を、現在のフレームの人物領域に対する処理の制御に使用する。なお、第二実施形態の画像処理装置２００のハードウェア構成、画像処理システムの構成は、第一実施形態（図１、図２）と同様である。
【００３７】
図５は、第二実施形態の画像処理装置２００における機能ブロック図である。第一実施形態（図３）に示す機能ブロックと同等の機能ブロックには同一の参照番号が付してある。図５において、時間取得部３１０は、検出された人物領域を誤検出と判定する期間（誤検出判定時間）を示す時間指定を取得し、誤検出判定部３０２ａに通知する。誤検出判定部３０２ａは、誤検出判定時間内に人物領域検出部３０１が検出した人物領域を誤検出リスト３５１に登録する。第一実施形態で上述したリスト３５０が１つの画像フレームについて有効であるのに対し、誤検出リスト３５１は、誤検出と判定された領域を所定の期間（たとえば、次の誤検出判定時間が開始されるまで）にわたり維持される。誤検出判定部３０２ａは、時間取得部３１０により取得された誤検出判定時間以外の時間に取得された画像から検出された人物領域について、誤検出リスト３５１を参照して誤検出の判定を行う。以下、図６のフローチャートにより第二実施形態の画像処理装置２００の動作について説明する。
【００３８】
図６は、第二実施形態の画像処理装置２００による処理を示すフローチャートであり、例えば図１に示すＣＰＵ１００により実行される。なお、第一実施形態（図４）と同様の処理を行うステップには、同じ符号を付してある。
【００３９】
処理が開始されると、ＣＰＵ１００は初期化を行い、ネットワークカメラ２０２に対して画像取得要求を行う（ステップＳ４００、Ｓ４０１）。ステップＳ６００において、時間取得部３１０は、検出された人物領域を誤検出と判定する期間（誤検出判定時間）を取得する。誤検出判定時間は、適用環境に応じて適切な時間を操作者が入力可能であり、時間取得部３１０はこの入力された時間を取得する。なお、誤検出判定時間として、通常は人物が映らない時間帯が設定されることが望ましい。たとえば、店舗の営業時間外などの時間を開始時刻と終了時刻の形で指定することにより誤検出判定時間を設定できるようにする。ステップＳ６００では、このような操作者による誤検出判定時間の指定を、時間取得部３１０が取得する。
【００４０】
続いて、画像入力部３００がネットワークカメラ２０２により撮像された動画像の画像フレームを受信し、人物領域検出部３０１が、受信された画像フレームから人物領域を検出し、リスト３５０に登録する（ステップＳ４０２およびステップＳ４０３）。
【００４１】
次に、ステップＳ６０１において、誤検出判定部３０２ａは、ステップＳ４０２で受信した画像フレームの撮像された時刻を取得する。なお、動画像の各フレームの撮像時間は画像データのヘッダ部などに格納されている場合がある。このような場合には、画像フレームの受信時に撮像時刻も取得しているため、ステップＳ６０１はステップＳ４０２に含まれているとみなすことも可能である。ステップＳ６０２において、誤検出判定部３０２ａは、ステップＳ６０１で取得した撮像時刻がステップＳ６００で取得した誤検出判定時間の間か否かを判定する。誤検出判定時間の間であると判定された場合、ステップＳ６０３において、誤検出判定部３０２ａは、ステップＳ４０３で検出された人物領域を誤検出が発生している誤検出領域であるとして誤検出リスト３５１に登録する。そして、ステップＳ４１１、Ｓ４１２の処理を行う。ステップＳ４１１、Ｓ４１２の処理は第一実施形態と同様である。
【００４２】
一方、ステップＳ６０２において、撮像時刻が誤検出判定時間内ではないと判定されると、処理はステップＳ４０７に移行する。ステップＳ４０７、Ｓ４０８、Ｓ５０４、Ｓ４１０の処理では、人物領域検出部３０１が検出した人物領域のうち、誤検出判定部３０２ａが誤検出ではないと判定した人物領域について、人物領域処理部３０４が処理を行う。なお、人物領域検出部３０１が検出した人物領域は、リスト３５０に記録されている。
【００４３】
まず、ステップＳ４０７において、誤検出判定部３０２ａは、リスト３５０に未処理の人物領域があるか否かを判定する。未処理の人物領域があると判定された場合、ステップＳ４０８において、誤検出判定部３０２ａは、未処理の人物領域のうちの一つを選択する。選択された人物領域については、リスト３５０の「処理済」の欄に「済」が記録される。ステップＳ６０４において、誤検出判定部３０２ａは、ステップＳ４０８で選択した人物領域が、誤検出リスト３５１に記録されている誤検出領域の位置の近傍であるか否かにより、その人物領域が誤検出か否かを判定する。選択された人物領域の検出位置が誤検出リスト３５１に記録されている誤検出領域の何れかの検出位置の近傍である場合、その人物領域は誤検出であると判定される。なお、近傍か否かは、たとえば、検出位置の距離が所定値を超えるか否かにより判定することができる。また、誤検出か否かの判定条件として、距離の条件に加えて、検出された領域の大きさを条件として加えてもよい。たとえば、検出された人物領域の大きさと誤検出リスト３５１に記録されている領域の大きさの差（割合）が所定範囲内であることを条件として用いてもよい。ステップＳ６０４で誤検出であると判定された場合、処理制御部３０３は、人物領域処理部３０４に当該人物領域を処理させない。したがって、処理はそのままステップＳ４０７に戻る。ステップＳ６０４で誤検出ではないと判断された場合、ステップＳ４１０において、処理制御部３０３は、人物領域処理部３０４に、選択された人物領域を処理させる。
【００４４】
なお、ステップＳ６００で取得する時間は開始時間と終了時間ではなく、開始時間と実行期間の指定でもよい。或いは、開始時間と、処理を行う画像フレーム数でもよい。或いは、処理を行う期間、或いは画像フレーム数を予め決定しておいた所定値としておき、開始時間のみを取得するようにしても良い。
【００４５】
また、ステップＳ６０１で取得する撮像時刻の代わりに、画像処理装置２００内の現在時刻を使用するようにしても良い。この場合、現在時刻が誤検出判定時間の間に人物領域検出部３０１が検出した領域が誤検出領域として誤検出リスト３５１に記録されることになる。このようにすることで、ネットワークカメラ２０２が撮像時刻に関する情報を送信してこなかった場合や、取得した撮像時刻が画像処理装置２００内の現在時刻と比較して明らかに異常な場合などにも対応することが可能になる。
【００４６】
また、上述の例ではステップＳ６０３の処理において検出されたすべての領域を誤検出とみなす例を示したが、第一実施形態のステップＳ４０５で説明した誤検出判定処理と組み合わせた結果で判断するようにしても良い。誤検出判定時間内では、原則として人物が存在しない時間帯であり検出される人物領域は少ない。また、誤検出判定時間内では、人物領域に関する処理（ステップS４１０）は行われない。したがって、ステップＳ６０３では、誤検出判定処理により多くの時間を割くことができるため、高精度な判定処理を適用することができる。
【００４７】
また、上述の例ではステップＳ６０４の処理において誤検出か否かを判断しているが、これに限られるものではない。第一実施形態のステップＳ４０９の処理と同様に検出の判定結果を３値以上として、ステップＳ４１０での人物領域に関する処理内容を誤検出の判定結果に応じて切り替えるようにしても良い。
【００４８】
以上説明したように、上述した各実施形態によれば、誤検出の発生原因が推測できないような場合であっても、結果的に発生した誤検出発生時に操作者の指定を必要とすることなく誤検出率を所定内に抑えることが可能となる。すなわち、人物領域検出処理の誤検出の影響を人の手を介すことなく抑制することが可能となる。また、人物領域検出部３０１が複数の場合に、誤検出判定部３０２は統一的な抑制基準となり得る。すなわち、人物検出処理を行う際に、検出処理系毎、或いは測定環境毎に異なる誤検出の発生状況を統一的な基準で抑制することが可能になる。その結果、人物検出処理結果を活用した処理結果の誤検出によるばらつきを抑制することが可能になる。
【００４９】
＜変形例＞
第一実施形態において、ステップＳ４０５による誤検出判定処理の結果を第二実施形態で説明したような誤検出リスト３５１に記録、蓄積しておき、ステップＳ４０９の誤検出の判定において誤検出リストを参照するようにしてもよい。このようにすることで、例えば店舗などにおいて人物が撮像範囲内に入る可能性がある時間帯において、商品の追加補充などにより誤検出が発生するようになった場合の誤検出などを抑制することが可能となる。なお、誤検出リストは所定の間隔で（たとえば１日に１回、１週間に１回など）でリセットされればよい。
【００５０】
また、上述の各実施形態においては、図２に示した画像処理装置２００で動作するソフトウェアプログラムによって実現される構成としたが、これに限られるものではない。例えば、ネットワークカメラ２０２内のハードウェア処理、或いは組み込みのソフトウェア処理で上述の処理を実現する方法が挙げられる。或いは、上述の処理の一部をネットワークカメラ２０２で行い、他の処理を画像処理装置２００で行うなど、単一機器内での処理に限定しない分散処理を行うシステム構成であってもよい。分散処理の例としては、人物領域の検出処理であるステップＳ４０３の処理をネットワークカメラ２０２で行い、誤検出判定処理（ステップＳ４０５）、誤検出リストへの登録処理（ステップＳ６０３）を画像処理装置２００で実行することが挙げられる。また、人物領域検出処理が、ネットワークカメラ２０２と画像処理装置２００で実行されるようにしてもよいし、ネットワークカメラ２０２以外の複数のコンピュータで実行されるようにしても良い。また、誤検出判定処理は、同一のコンピュータ内で実行される複数の人物領域検出機能を有するアプリケーションの出力結果に対して適用されてもよい。
【００５１】
以上のように処理を複数の装置で分担することにより人物領域検出処理４０３の性能がカメラやアプリケーション毎に異なっている場合や、異なる対象を撮像した場合でも、統一的な基準で誤検出を抑制することができる。そのため、検出された人物領域を活用した処理ステップＳ４１０の結果のばらつきをカメラ間で抑制することが可能となる。
【００５２】
更に上述の実施形態は、本発明の好適な一実施例について述べているが、本発明は上述の内容に限定されるものではない。
【００５３】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
１００：ＣＰＵ、１０１：ＲＯＭ、１０２：ＲＡＭ、１０３：格納部、１０４：ＬＡＮインターフェース、１０５：ディスプレイ、２００：画像処理装置、２０２：ネットワークカメラ、２０３：被写体（人物）、２０４：被写体（物体）、３００：画像入力部、３０１：人物領域検出部、３０２：誤検出判定部、３０３：処理制御部、３０４：人物領域処理部、３０５：結果出力部、３５０：リスト
【図１】
2018097611.tif 000003
【図２】
2018097611.tif 000004
【図３】
2018097611.tif 000005
【図４】
2018097611.tif 000006
【図５】
2018097611.tif 000007
【図６】
2018097611.tif 000008