(57)【要約】【課題】入力画像から特定の被写体等の領域を正確に検出可能にすることを課題とする。【解決手段】顔検出部（２０２）は、入力画像から顔領域を検出する。人体検出部（２０３）は、入力画像から複数の人体領域を検出する。距離算出部（２０４）は、顔領域と複数の人体領域のそれぞれとの間の距離を算出する。条件設定部（２０５）は、距離算出部（２０４）のより算出される距離に対する条件を設定する。削除部（２０６）は、複数の人体領域の中で、距離算出部（２０４）により算出された距離が、距離に対する条件を満たさない人体領域を削除する。【選択図】図２
2018088049.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から被写体に関する第一の領域を検出する第一の検出手段と、
前記入力画像から前記被写体に関する複数の第二の領域を検出する第二の検出手段と、
前記第一の検出手段により検出された前記第一の領域と、前記第二の検出手段により検出された複数の前記第二の領域のそれぞれとの間の距離を算出する距離算出手段と、
前記距離算出手段により算出される距離に対する条件を設定する条件設定手段と、
前記第二の検出手段により検出された前記複数の第二の領域の中で、前記距離算出手段により算出された距離が、前記距離に対する条件を満たさない第二の領域を、削除する削除手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記削除手段による削除がなされた後の残りの複数の前記第二の領域を統合して一つの第二の領域を得る統合手段を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第一の検出手段は、前記第一の領域として人物の顔領域を検出し、
前記第二の検出手段は、前記第二の領域として人物の人体領域を検出し、
前記距離算出手段は、一人の人物につき前記検出された顔領域と複数の人体領域のそれぞれとの間の距離を算出することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記条件設定手段は、前記距離に対する条件として、前記顔領域と前記人体領域との間の距離に対する下限値及び上限値を、前記入力画像の中の人物の位置に対応付けて設定し、
前記削除手段は、前記入力画像の中の前記人物の位置に応じた条件を満たさない第二の領域を削除することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記条件設定手段は、前記距離に対する条件として、前記入力画像の中の人物の位置に対応付けて複数の条件を設定し、
前記削除手段は、前記複数の条件の中から、前記入力画像の中の人物の顔領域の位置に応じた条件を満たさない第二の領域を削除することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記条件設定手段は、前記入力画像を取得するカメラが被写体の人物を見下ろす角度が大きいほど、前記顔領域と前記人体領域との間の距離の前記下限値及び上限値が大きくなる条件を設定することを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記距離算出手段は、前記一人の人物につき前記検出された顔領域の中心点と前記複数の人体領域のそれぞれにおける頭頂部との間の距離を算出することを特徴とする請求項３乃至６の何れか１項に記載の画像処理装置。
【請求項８】
前記第二の検出手段は、前記入力画像を所定のそれぞれ異なる倍率に縮小した複数の縮小画像を生成して、前記複数の縮小画像から順次、前記人体領域を検出することを特徴とする請求項３乃至７の何れか１項に記載の画像処理装置。
【請求項９】
前記第二の検出手段は、前記縮小画像に対して所定の検出ウインドウを設定し、前記縮小画像の中で前記検出ウインドウを走査して前記検出ウインドウの画像における人体領域の尤度を取得し、前記尤度を基に、前記複数の人体領域を検出することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
入力画像から被写体に関する第一の領域を検出する第一の検出工程と、
前記入力画像から前記被写体に関する複数の第二の領域を検出する第二の検出工程と、
前記第一の検出工程により検出された前記第一の領域と、前記第二の検出工程により検出された複数の前記第二の領域のそれぞれとの間の距離を算出する距離算出工程と、
前記距離算出工程により算出される距離に対する条件を設定する条件設定工程と、
前記第二の検出工程により検出された前記複数の第二の領域の中で、前記距離算出工程により算出された距離が、前記距離に対する条件を満たさない第二の領域を、削除する削除工程と、
を有することを特徴とする画像処理装置の画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至９の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像から被写体等の領域を検出する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
画像から特定の被写体画像を自動的に検出する技術は、画像検索、物体検知、物体認識、物体追跡など様々な分野に応用される。このような技術の例として画像の中から特に人物領域を検出（以後、人体検出と称す。）する方法が非特許文献１に開示されている。この方法では、入力画像から抽出した多数の検出ウインドウを、予め膨大な数の人物画像を用いて学習した辞書データと照合することによって人物領域の検出を実現している。さらに、特許文献１では、積分画像を利用して人物の検出に有効なＨｉｓｔｇｒａｍ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ(以後ＨＯＧと称す。）特徴量を求め、アダブースト学習で得たカスケード型識別器を適用することで高速化を実現している。カスケード型識別器を用いた識別方法は、複数の識別器を直列に結合することによって効率よく検出対象を絞り込んでいく方法である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００７／０２３７３８７号明細書
【非特許文献】
【０００４】
【非特許文献１】Ｎ．Ｄａｌａｌ  ａｎｄ  Ｂ．Ｔｒｉｇｇｓ：ｈｉｓｔｇｒａｍｓ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ  ｆｏｒ  Ｈｕｍａｎ  Ｄｅｔｅｃｔｉｏｎｓ（ＣＶＰＲ２００５）．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上述べてきた方法では、検出結果として得られる被写体の位置と、画像内の実際の被写体の位置とでずれが生じてしまうという問題がある。例えば、従来手法を用いた人体検出の場合、検出結果として得られる人体の頭頂部の位置と、画像内の実際の人体の頭頂部の位置とがずれてしまうことがある。これは、従来手法の人体検出では、髪型や帽子等、様々に変化する可能性のある人体の頭頂部を検出する必要があるため、頭部等の特定輪郭の位置を正確に検出するのではなく、検出対象の領域内に人体頭部の大まかな輪郭があることを検出しているためである。
【０００６】
そこで、本発明は、画像から人体等の領域を正確に検出可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、入力画像から被写体に関する第一の領域を検出する第一の検出手段と、前記入力画像から前記被写体に関する複数の第二の領域を検出する第二の検出手段と、前記第一の検出手段により検出された前記第一の領域と、前記第二の検出手段により検出された複数の前記第二の領域のそれぞれとの間の距離を算出する距離算出手段と、前記距離算出手段により算出される距離に対する条件を設定する条件設定手段と、前記第二の検出手段により検出された前記複数の第二の領域の中で、前記距離算出手段により算出された距離が、前記距離に対する条件を満たさない第二の領域を、削除する削除手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、画像から人体等の領域を正確に検出可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の画像処理装置の概略的なハードウェア構成図である。
【図２】本実施形態の画像処理装置の概略的な機能ブロック構成図である。
【図３】本実施形態の画像処理の流れを示すフローチャートである。
【図４】人体検出処理の流れを示すフローチャートである。
【図５】入力画像、縮小画像、検出ウインドウの関係を示す図である。
【図６】顔検出結果、人体検出結果、顔人体距離の関係を示す図である。
【図７】不適合人体削除処理の流れを示すフローチャートである。
【図８】人物等の被写体を撮影する際の撮影環境を示す図である。
【図９】撮影された入力画像の例を示す図である。
【図１０】画像内の位置と顔人体距離との関係の対応表を示す図である。
【図１１】一人の人物の顔検出結果、人体検出結果、顔人体距離を示す図である。
【図１２】不適合人体削除処理前後の画像例と人体領域を示す図である。
【図１３】最終的な画像処理結果を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
本実施形態の画像処理装置は、一例として、デジタルカメラやデジタルビデオカメラ、カメラ機能を備えたスマートフォンやタブレット端末等の各種携帯端末、工業用カメラ、車載カメラ、医療用カメラ等に適用可能である。特に、本実施形態の画像処理装置は、画像から人物画像（以下、単に人物とする。）などの特定の被写体領域又は被写体の一部領域を検出する機能を有する。
【００１１】
図１は、本実施形態に係る画像処理装置の概略的なハードウェア構成図である。本実施形態の画像処理装置は、ＣＰＵ(Central Processing Unit)１０１、記憶装置１０２、入力装置１０３、及び出力装置１０４を含んで構成される。なお、各装置は互いに通信可能に構成され、バス等により接続されている。
【００１２】
ＣＰＵ１０１は、画像処理装置の動作をコントロールし、記憶装置１０２に格納されたプログラムの実行等を行う。記憶装置１０２は、磁気記憶装置、半導体メモリ等のストレージデバイスであり、ＣＰＵ１０１の動作に基づき読み込まれたプログラムや長時間記憶しなくてはならないデータ等を記憶する。また、記憶装置１０２は、図示しない撮像装置（カメラ）により撮影された画像データも記憶する。本実施形態では、ＣＰＵ１０１が記憶装置１０２に格納されたプログラムの手順に従って処理を行うことによって、画像処理装置の後述する機能及びフローチャートに係る処理が実現される。
【００１３】
入力装置１０３は、マウス、キーボード、タッチパネルデバイス、ボタン等であり、ユーザから各種の指示が入力される。また、入力装置１０３は、画像を撮影する撮像装置（カメラ）を含んでいてもよい。撮像装置は、公知のＣＣＤ素子などの撮像素子を有して構成されており画像の撮影を行う。出力装置１０４は、液晶パネル、外部モニタ等であり、各種の情報を出力する。
【００１４】
なお、画像処理装置のハードウェア構成は、上述した構成に限られるものではない。例えば、各種の装置間で通信を行うためのＩ／Ｏ装置を備えてもよい。Ｉ／Ｏ装置は、メモリーカード、ＵＳＢケーブル等の入出力部、有線、無線等による送受信部などである。
【００１５】
図２は、本実施形態に係る画像処理装置の機能構成を示す機能ブロック図である。図２の機能ブロックは、本実施形態の画像処理装置の例えば図１のＣＰＵ１０１が、記憶装置１０２に格納されたコンピュータプログラムを読み込んで実行することにより、ソフトウェア構成として構築されてもよい。もちろん、図２の機能ブロックは、全てがハードウェア構成又はソフトウェア構成として構築されていてもよいし、一部がハードウェア、残りがソフトウェアで構成されてもよい。また、図２に示した構成は一例であり、例えば各ブロックのうち幾つかが統合されていてもよく、各ブロックの機能を実現可能な構成であれば、如何なる構成が採用されていてもよい。
【００１６】
図２において、画像入力部２０１は、本実施形態において画像処理の対象となる画像を取得する。画像入力部２０１が取得する画像は、図１の記憶装置１０２から読み出された画像や、カメラにより撮像された画像などである。
顔検出部２０２は、画像入力部２０１により取得された入力画像から、人物の顔領域を検出する。顔検出部２０２は、入力画像の中に複数の人物が存在している場合には、それら人物毎の顔領域を検出する。顔検出部２０２における顔検出処理の詳細は後述する。そして、顔検出部２０２は、人物毎に検出した顔領域の情報を、距離算出部２０４に出力する。
【００１７】
人体検出部２０３は、画像入力部２０１の入力画像から複数の人体領域を検出する。人体検出部２０３は、入力画像の中に複数の人物が存在している場合、それら人物毎に複数の人体領域を検出する。人体検出部２０３における人体領域の検出処理の詳細は後述する。そして、人体検出部２０３は、人物毎に検出した複数の人体領域の情報を、顔人体距離算出部２０４に出力する。
【００１８】
距離算出部２０４は、顔検出部２０２で検出された顔領域と、人体検出部２０３で検出された複数の人体領域とに基づき、それら顔領域と複数の人体領域との間の距離を算出する。距離算出部２０４は、入力画像の中に複数の人物が存在していた場合には、それらの人物毎に、顔領域と複数の人体領域との間の距離を算出する。なお、顔領域と人体領域との間の距離（以下、顔人体距離とする。）の定義と、距離算出部２０４における顔人体距離の算出処理の詳細は後述する。そして、距離算出部２０４は、人物毎の顔領域及び複数の人体領域の情報と、それら人物毎の顔領域と複数の人体領域との間の顔人体距離の情報とを、削除部２０６に出力する。
【００１９】
条件設定部２０５は、顔人体距離に対する条件（以下、距離条件とする。）を設定し、その距離条件の情報を削除部２０６に出力する。条件設定部２０５における距離条件の詳細は後述する。
【００２０】
削除部２０６は、顔人体距離と距離条件の情報とに基づき、複数の人体領域の中から、人体領域としては不適合とみなせる人体領域を削除する。削除部２０６は、入力画像の中に複数の人物が存在していた場合には、それら人物毎に、複数の人体領域の中から、人体領域としては不適合とみなせる人体領域を削除する。削除部２０６における不適合領域の削除処理の詳細は後述する。そして、削除部２０６は、人物毎に不適合な人体領域が削除された後の残りの複数の人体領域の情報を、統合処理部２０７に出力する。
【００２１】
統合処理部２０７は、削除部２０６による不適合領域を削除した後の、複数の人体領域の中から、それら複数の人体領域の位置とサイズの関係に基づき、一つの人体領域を決定する。統合処理部２０７は、入力画像の中に複数の人物が存在していた場合には、それら人物毎に、複数の人体領域の中から一つの人体領域を決定、つまり一人の人物について一つの人体領域を決定する。統合処理部２０７における検出結果の統合処理の詳細は後述する。本実施形態において、統合処理部２０７により人物毎に決定された一つの人体領域を、各人物において最終的に得られた人体領域の情報として出力する。
【００２２】
図３は、図２の機能ブロックにより表される本実施形態の画像処理装置における画像処理の流れを示すフローチャートである。なお、図３のフローチャートの処理は、ハードウェア構成により実現される場合だけでなく、ＣＰＵ等がコンピュータプログラムを実行することにより実現されてもよい。これらのことは、後述する他のフローチャートにおいても同様とする。
【００２３】
図３のステップＳ３０１では、顔検出部２０２は、画像入力部２０１からの入力画像に対し、顔検出処理を実行する。本実施形態における顔検出処理は、公知の方法を用いることができ、例えば、顔画像に対するテンプレートマッチングを用いる方法や、予め機械学習した特徴抽出フィルタを検出器として用いる方法などが適用可能である。本実施形態では、これら公知の顔検出処理の何れを用いてもよく、特定の顔検出方式に限定されるものではない。顔検出部２０２により検出された顔領域の情報は、距離算出部２０４に送られる。ステップＳ３０１の後、画像処理装置の処理は、人体検出部２０３にて行われるステップＳ３０２の処理に進む。
【００２４】
図３のステップＳ３０２では、人体検出部２０３は、画像入力部２０１からの入力画像に対して人体検出処理を実行する。本実施形態における人体検出処理では、例えば、人物の肩から頭部にかけての形状、つまりΩ（オメガ）形状を検出する手法を例に挙げて、以下の説明を行う。
【００２５】
図４は、図３のステップＳ３０２の人体検出処理の詳細なフローチャートである。
図４のステップＳ４０１では、人体検出部２０３は、画像入力部２０１からの入力画像を所定の異なる倍率毎に縮小した複数の縮小画像を生成する。これは、様々な大きさの人物を検出するために、複数サイズの各画像に対して順次、人体検出処理を行うようにするためである。ステップＳ４０１の後、人体検出部２０３は、ステップＳ４０２に処理を進める。
【００２６】
ステップＳ４０２において、人体検出部２０３は、ステップＳ４０１で生成した複数の縮小画像の中から、以降の処理の対象となる画像（以下、処理対象画像とする。）を１枚設定する。ステップＳ４０２の後、人体検出部２０３は、ステップＳ４０３に処理を進める。
ステップＳ４０３では、人体検出部２０３は、ステップＳ４０２で設定した処理対象画像に対し、所定の大きさの部分領域を設定する。以降、この部分領域を検出ウインドウと呼ぶ。ステップＳ４０３の後、人体検出部２０３は、ステップＳ４０４に処理を進める。
【００２７】
ステップＳ４０４では、人体検出部２０３は、人体の認識モデルを用い、検出ウインドウ内に人体領域とみなせる候補領域が含まれるか否かの人体判別処理を行う。ここで、図５は、ステップＳ４０１で画像入力部２０１から供給された入力画像５１０と、その入力画像５１０を縮小した複数の縮小画像５１１と、ステップＳ４０３で設定された検出ウインドウ５０２との関係を示す図である。この図５に示すように、ステップＳ４０４の人体判別処理は、この検出ウインドウ５０２を用いて行われる。人体判別処理では縮小画像５１１の全域が人体検出対象となされるため、人体検出部２０３は、縮小画像５１１内において、検出ウインドウ５０２を図５の矢印５０１で示すように数画素刻みで走査する。具体的には、人体検出部２０３は、検出ウインドウ５０２を、縮小画像５１１の左端から右横方向に数画素刻みで走査し、右端に到達した後は縦方向に数画素分だけずらして左端に戻し、その後は同様に右横方向に数画素刻みで走査することを繰り返す。
【００２８】
また、ステップＳ４０４の人体判別処理は、検出ウインドウ５０２の画像パターンに対して人体認識モデルを適用して尤度（人体らしさ）を出力するものであればどのような方法でもよく、特に限定されるものではない。一例として、ステップＳ４０４の人体判別処理としては、前述した非特許文献１に開示されているような方法を用いることができる。なお、非特許文献１には、検出ウインドウ内の複数領域から認識対象に対する尤度を取得し、これら尤度と予め設定した閾値を比較することで検出ウインドウに認識対象が含まれるか否かを判別する方法が開示されている。そして、人体検出部２０３は、検出ウインドウ５０２の画像が人体の画像であると判別した場合、その縮小画像５１１における検出ウインドウ５０２の位置座標を後段の処理（ステップＳ４０７）に渡す。ステップＳ４０４の後、人体検出部２０３は、ステップＳ４０５に処理を進める。
【００２９】
ステップＳ４０５では、人体検出部２０３は、縮小画像５１１内を検出ウインドウ５０２により全て走査したか否かを判定する。人体検出部２０３は、ステップＳ４０５において走査が終了していないと判定（Ｎｏ）した場合には、前述したステップＳ４０３に処理を戻し、ステップＳ４０３以降の処理を行う。そして、人体検出部２０３は、ステップＳ４０５において、縮小画像５１１内の全ての走査が終了したと判定（Ｙｅｓ）した場合には、ステップＳ４０６に処理を進める。
【００３０】
ステップＳ４０６では、人体検出部２０３は、入力画像５１０から生成された複数の縮小画像５１１の全てに対して、ステップＳ４０２からステップＳ４０５までの処理が終わったか否かを判定する。人体検出部２０３は、ステップＳ４０６において、全ての縮小画像５１１に対する処理が終了していないと判定（Ｎｏ）した場合には、ステップＳ４０２に処理を戻し、ステップＳ４０２以降の処理を行う。そして、人体検出部２０３は、ステップＳ４０６において、全ての縮小画像５１１に対する処理が終了したと判定（Ｙｅｓ）した場合には、ステップＳ４０７に処理を進める。
【００３１】
ステップＳ４０７では、人体検出部２０３は、ステップＳ４０２からステップＳ４０６までの処理により、複数の各縮小画像５１１からそれぞれ検出された人体領域について、その人体領域の位置座標を元の入力画像５１０の座標系に変換する。そして、人体検出部２０３は、それら複数の縮小画像５１１から検出されてそれぞれ座標変換がなされた後の複数の人体領域を、それぞれ人体領域の候補として、図２の距離算出部２０４に出力する。このステップＳ４０７の処理後、人体検出部２０３は、図４のフローチャートの処理（図３のステップＳ３０２の処理）を終了する。その後、画像処理装置の処理は、距離算出部２０４にて行われる図３のステップＳ３０３に進む。
【００３２】
図１２（ａ）は、人体検出部２０３により入力画像１２０１から検出された、複数の人体領域１２１０，１２１１の候補の一例を示す図である。なお、図１２（ｂ）の説明は後述する。図１２（ａ）の例では、入力画像１２０１内には被写体として二人の人物８０１，８０２が写っているとする。人体検出部２０３は、この入力画像１２０１から図４のステップＳ４０１〜４０７までの処理により複数の人体領域１２１０，１２１１を検出する。ここで、図４のステップＳ４０１〜４０７までの処理では、入力画像１２０１から複数の縮小画像が生成され、それら複数の縮小画像からそれぞれ複数の人体領域が検出される。また、一つの縮小画像内においても、隣り合う複数の検出ウインドウにおいてそれぞれ人体領域が検出されることがある。このため、結果として、図１２（ａ）に示すように、入力画像１２０１内の人物８０１については複数の人体領域１２１０が検出され、人物８０２についても複数の人体領域１２１１が検出される。したがって、人体検出部２０３から図２の距離算出部２０４には、一人の人物につき複数検出された人体領域を示す情報が出力される。
【００３３】
図３に説明を戻す。図３のステップＳ３０３では、距離算出部２０４は、顔検出部２０２から供給された顔領域の情報と、人体検出部２０３から供給された複数の人体領域の情報とを用い、顔と人体の距離（以下、顔人体距離と呼ぶ。）を算出する。本実施形態の場合、人体検出部２０３は、顔領域の中心点（中心点の座標）と、複数の人体領域の各頭頂部（頭頂点の座標）との間の各距離を、それぞれ顔人体距離として算出する。
【００３４】
図６は、顔検出部２０２にて検出された顔領域６０２と、人体検出部２０３にて検出された複数の人体領域の中の一つの人体領域６０１と、距離算出部２０４が算出する顔人体距離６０５との関係を表す図である。図６に示すように、顔人体距離６０５は、顔領域６０２の中心点６０３と人体領域６０１の頭頂部６０４との間の距離として求められる。
【００３５】
具体的には、距離算出部２０４は、以下の演算により顔人体距離を算出する。ここで、顔領域６０２を表す矩形領域の４点（４角）の座標のうち、左上座標をＦ１（Ｘｆ１，Ｙｆ１）、右下座標をＦ２（Ｘｆ２，Ｙｆ２）とする。また、人体領域６０１を表す矩形領域の４点（４角）の座標のうち、左上座標をＨ１（Ｘｈ１，Ｙｈ１）、右上座標をＨ２（Ｘｈ２，Ｙｈ２）とする。この場合、顔領域の中心点の座標は（（Ｘｆ２−Ｘｆ１）／２，（Ｙｆ２−Ｙｆ１）／２）となり、人体の頭頂部の位置（頭頂点）の座標は（（Ｘｈ２−Ｘｈ１）／２，Ｙｈ１））になる。そして、顔人体距離６０５の値（顔人体距離Ｌｆｈ）は、下記式（１）により算出することができる。
Ｌｆｈ＝√（((Xf2-Xf1)/2-(Xh2-Xh1)/2)2+((Yf2-Yf1)/2-Yh1))2）      式（１）
【００３６】
距離算出部２０４は、前述したようにして、人物毎に、顔領域と複数の人体領域とについてそれぞれ顔人体距離を算出し、それら顔領域と複数の人体領域の情報と、それぞれ算出した顔人体距離の情報とを、削除部２０６に出力する。ステップＳ３０３の後、画像処理装置の処理は、削除部２０６にて行われるステップＳ３０４に進む。
【００３７】
ステップＳ３０４では、削除部２０６は、人物毎に、ステップＳ３０２で検出された複数の人体領域のうち、不適合と判断した人体領域を削除する。具体的には、削除部２０６は、ステップＳ３０３で人体領域毎にそれぞれ算出した顔人体距離が所定の条件を満たすか否かを判定し、顔人体距離が所定の条件を満たさない人体領域については削除する。
【００３８】
図７は、削除部２０６における不適合領域の削除処理の詳細なフローチャートである。また、図８は、撮像装置であるカメラ８０３とそのカメラ８０３が撮影した被写体である人物８０１，８０２との位置関係の一例を示した図である。図８の例では、カメラ８０３は例えば天井に固定され且つ天井に対して斜め下の前方向を撮影するように設置されている。また、図８の例では、被写体は二人の人物８０１，８０２であり、これら人物８０１，８０２は、カメラ８０３の撮影画角内で且つカメラ８０３からの距離がそれぞれ異なる位置にいるとする。また、図９は、図８に例示したカメラ８０３により二人の人物８０１，８０２が撮影されて得られた画像例を示す図である。図９の画像中の人物８０１，８０２は、図８のカメラ８０３により撮影された人物８０１，８０２である。以下、図８、図９の例を参照しながら、図７のフローチャートの処理を説明する。
【００３９】
図７のステップＳ７０１では、削除部２０６は、条件設定部２０５により設定される顔人体距離に対する条件（距離条件）を基に、それぞれの人物毎に、顔人体距離に対して適用する所定の条件を決定する。図７のフローチャートに示す不適合領域の削除処理は、複数の人体領域の中から、顔と人体の位置関係が実際にはありえない状況となっている人体領域を検出し、その人体領域を不適として削除する処理である。このため、削除部２０６は、条件設定部２０５により設定された距離条件を基に、人物毎に、顔人体距離に対する下限値と上限値を、所定の条件として決定する。
【００４０】
また、削除部２０６は、顔人体距離に対する所定の条件を、画像内で人体が存在している位置に応じて決定する。本実施形態の場合、撮影により取得された画像が図９に示すような三つの領域９０１，９０２，９０３に分けられ、画像内の人物の位置が、それら領域９０１，９０２，９０３の何れの位置であるかに応じて、顔人体距離に対して適用する所定の条件が決定される。
【００４１】
ここで、図８の例では、カメラ８０３が斜め下の前方向を撮影する向きに設置され、人物８０１，８０２の位置がカメラ８０３の撮影画角内で且つその距離が異なっており、この場合、カメラ８０３から見下ろす角度が人物８０１と人物８０２とで異なる。また、この図８の例の場合、カメラ８０３が人物８０１，８０２を見下ろす角度によって、カメラ８０３の撮影画像内における人物８０１，８０２の位置が異なる。具体的には、カメラ８０３が見下ろす角度が大きくなる人物８０１の撮影画像内の位置は、図９に示すように撮影画像の下側の位置となる。一方、カメラ８０３が見下ろす角度が小さくなる人物８０２の撮影画像内の位置は、図９に示すように撮影画像の上側の位置となる。また、顔中心と頭頂部との間の顔人体距離に注目すると、図８、図９の例のように、人物８０１と人物８０２の撮影画像内の位置によって、それら人物８０１と人物８０２のそれぞれの顔人体距離は異なる。具体的には、撮影画像内で下側の位置に写っている人物８０１の顔人体距離は、撮影画像内で上側の位置に写っている人物８０２の顔人体距離よりも大きく。このため、本実施形態において、削除部２０６は、画像内において検出された人体領域の位置に応じて、顔人体距離に対する所定の条件をそれぞれ決定する。例えば、削除部２０６は、図９に示すように、画像が三つの領域（分割領域９０１〜９０３）に分割される場合、人体領域が何れの分割領域９０１〜９０３に位置しているかに応じて、顔人体距離に適用する所定の条件を決定する。
【００４２】
図１０は、図８と図９の例において、画像内における人体領域の位置に応じて、顔人体距離に適用する所定の条件の一例を示す図である。図１０は、図９の分割領域９０１，９０２，９０３と、それら各分割領域９０１〜９０３について顔人体距離Ｌｆｈに対する上限値と下限値の条件（条件ＩＤ）が対応付けられた対応表を示している。図１０の対応表に設定されている条件は、カメラからの距離が近く、カメラが見下ろす角度が大きくなる人物、つまり画像内で下側に位置している人物ほど、顔人体距離Ｌｆｈの上限値と下限値が大きくなるような条件となされている。そして、削除部２０６は、図１０に示す対応表を参照し、ステップＳ３０２で検出した顔領域の位置が分割領域９０１〜９０３の何れに含まれているかに応じて、顔人体距離Ｌｆｈに対する所定の条件を決定する。
【００４３】
一例として、図９の人物８０２の場合、分割領域９０１内に顔領域が存在しているため、その人物８０２の人体領域に対して、削除部２０６は、顔人体距離Ｌｆｈに対する所定の条件として、条件ＩＤ（１００１）の１０＝＜Ｌｆｈ＜１５を決定する。条件ＩＤ（１００１）では、「１０」が顔人体距離Ｌｆｈに対する下限値、「１５」が顔人体距離Ｌｆｈに対する上限値に相当する。また例えば、図９の人物８０１の場合、分割領域９０３内に顔領域が存在しているため、削除部２０６は、顔人体距離Ｌｆｈに対する所定の条件として、条件ＩＤ（１００３）の２０＝＜Ｌｆｈ＜２５を決定する。条件ＩＤ（１００２）では、「２０」が顔人体距離Ｌｆｈに対する下限値、「２５」が顔人体距離Ｌｆｈに対する上限値に相当する。
【００４４】
図１０に例示したような対応表の情報は、予め統計的に調べた情報を基に用意しておけばよい。例えば、様々なカメラアングル（カメラが人物を見下ろす際の角度）で撮影した画像と、その画像内に写る人物の顔人体距離の統計値とを基に、対応表を生成し、その対応表の情報を例えば図１の記憶装置１０２内に格納しておくようにする。なお、図１０の例の対応表は、例えば図８のカメラ８０３に対して用意された対応表であり、このため、カメラが異なる場合やそのカメラの設置方法等が異なれば、対応表も異なるものが使用される。図２の条件設定部２０５は、設置されたカメラに応じた図１０のような対応表を設定し、削除部２０６は、その対応表を参照して前述のように条件を決定する。ステップＳ７０１の後、削除部２０６は、ステップＳ７０２に処理を進める。
【００４５】
ステップＳ７０２では、削除部２０６は、人物毎に、ステップＳ３０２で検出した複数の人体領域の中の一つを、顔人体距離の判定対象の人体領域として設定する。
ここで、図９に例示した人物８０１，８０２のうち、人物８０２の人体領域が、顔人体距離の判定対象として設定されたとする。図１１は、人物８０２の人物領域のみを抜き出して示す図である。図１１の例では、前述のステップＳ３０１で検出された顔領域１１０１と、ステップＳ３０２で検出された複数の人体領域１１０２〜１１０４と、それら複数の人体領域１１０２〜１１０４について算出された各顔人体距離１１０５〜１１０７とが示されている。
【００４６】
図１１の例では、三つの人体領域１１０２〜１１０４が検出されているため、削除部２０６は、ステップＳ７０２において、それら三つの人体領域１１０２〜１１０４の中から、顔人体距離の判定処理の対象とする人体領域を一つずつ順番に設定する。具体的には、削除部２０６は、人体領域１１０２〜１１０４のうち、それぞれの人体領域を表す矩形領域の４点の座標のうち例えば左上座標のＹ座標値が小さい方から順の人体領域を、顔人体距離の判定対象の人体領域として設定する。図１１の例の場合、左上座標のＹ座標値が小さい順番では人体領域１１０２，１１０３，１１０４の順であるため、ステップＳ７０２では、最初に、人体領域１１０２が判定対象として設定される。ステップＳ２０７の後、削除部２０６は、ステップＳ７０３に処理を進める。
【００４７】
ステップＳ７０３では、削除部２０６は、ステップＳ７０２で顔人体距離の判定対象に設定された人体領域１１０２について、その人体領域１１０２の顔人体距離が、ステップＳ７０１で決定した条件に該当するか否かを判定する。前述したステップＳ７０１では、人体領域１１０２の人物８０２に対しては図１０の条件ＩＤ（１００１）が決定されるため、ステップＳ７０３では、削除部２０６は、人体領域１１０２の顔人体距離Ｌｆｈが、条件ＩＤ（１００１）に該当するか否かを判定する。具体的には、削除部２０６は、ステップＳ７０３において、人体領域１１０２の顔人体距離Ｌｆｈ（１００５）と条件ＩＤ（１００１）とを基に、以下の式（２）を満たすか否かを判定する。
１０＝＜Ｌｆｈ（１１０５）＜１５          式（２）
【００４８】
そして、削除部２０６は、式（２）を満たすと判定（Ｙｅｓ）した場合には、人体領域１１０２は顔の位置に対して正しい位置に存在していると判断して、ステップＳ７０５に処理を進める。一方、削除部２０６は、式（２）を満たさないと判定（Ｎｏ）した場合には、人体領域１１０２は顔の位置関係が不適と判断して、ステップＳ７０４に処理を進める。
【００４９】
ステップＳ７０４では、削除部２０６は、ステップＳ７０３で不適と判断された人体領域（この場合は人体領域１１０２）を削除する。ステップＳ７０４の後、削除部２０６は、ステップＳ７０５に処理を進める。
【００５０】
ステップＳ７０５では、削除部２０６は、ステップＳ３０２で検出した複数の人体領域の全てについてステップＳ７０２からＳ７０４までの処理が終わったか否か判定する。この時点では、図１１の人体領域１１０２しか処理が終わっていないため、削除部２０６は、ステップＳ７０２に処理を戻す。
【００５１】
この場合、ステップＳ７０２において、削除部２０６は、次の判定対象の人体領域として図１１の人体領域１１０３を設定することになる。そして、削除部２０６は、前述同様に、人体領域１１０３についてステップＳ７０３，Ｓ７０４の処理を行う。そして、ステップＳ７０５からステップＳ７０２の処理に戻ると、削除部２０６は、さらに次の判定対象の人体領域として図１１の人体領域１１０４を設定する。そして、人体領域１１０４について、ステップＳ７０３，Ｓ７０４の処理が行われる。なお、図１１の例において、例えば人体領域１１０２が式（２）の条件を満たさず、人体領域１１０３，１１０４が式（２）の条件を満たした場合、人体領域１１０２が削除され、人体領域１１０３と１１０４は残される。
【００５２】
また、削除部２０６は、図９の人物８０１についてステップＳ３０２で検出した各人体領域についても同様に、所定の条件を満たすか否か判定し、条件を満たさない人体領域を不適として削除する。なおこの場合、ステップＳ７０３では、人物８０１から検出された各人体領域について、前述した図１０の条件ＩＤ（１００３）の条件を用いた判定処理が行われる。
【００５３】
前述したように、削除部２０６は、人物８０１と人物８０２からそれぞれステップＳ３０２で検出した複数のそれぞれの人体領域に対し、ステップＳ７０２で各々決定した所定の条件を満たすか否か判定し、条件を満たさない人体領域を不適として削除する。
【００５４】
図１２（ｂ）は、例えば前述した図１２（ａ）の入力画像１２０１（つまり削除部２０６における不適合人体の削除処理前の画像例）に対し、削除部２０６による不適合人体の削除処理が行われた後の画像１２０２の一例を示す図である。図１２（ａ）の例では、前述したように人物８０１，８０２に対し、それぞれ複数の人体領域１２１０，１２１１が検出されている。本実施形態では、削除部２０６により前述したような人体領域の顔領域の中心に対して不適な位置にある人体領域が削除されることで、図１２（ｂ）に示すように、人物８０１，８０２に対してそれぞれ人体領域１２２０，１２２１が残される。
【００５５】
図３に説明を戻す。図３のステップＳ３０４の後、画像処理装置の処理は、統合処理部２０７にて行われるステップＳ３０５に進む。ステップＳ３０５では、統合処理部２０７は、削除部２０６による不適合領域の削除処理後の人物毎に複数の人体領域を統合処理し、各人物につき一つの人体領域を決定する。具体的には、統合処理部２０７は、例えばＭｅａｎ−Ｓｈｉｆｔ等の手法を用いることにより、一人の人物について一つの人体結果が得られるような統合処理を行う。
【００５６】
図１３は、前述した図１２（ａ），図１２（ｂ）の画像例において、統合処理部２０７により一人の人物について一つの人体領域が得られた画像例を示している。図１３には、人物８０１については一つの人体領域１３１０が得られ、人物８０２についても一つの人体領域１３１１が得られた例が示されている。すなわち、削除部２０６からは一人の人物に対して複数の人体領域が出力されているが、統合処理部２０７は、一人の人物について一つの人体領域を出力する。このように、本実施形態の画像処理装置は、一人の人物につき一つの人体領域の情報を出力する。
【００５７】
以上説明したように、本実施形態によれば、入力画像から人物毎に複数検出された人体領域のうち、人物毎に顔領域の中心点との間の位置関係が不適な人体領域を削除することで、各人物の顔領域から位置がずれた人体領域が出力されることを防止している。また、本実施形態では、人体領域と顔領域の中心点との間の位置関係に対する条件を、カメラアングルによる人物の見え方の違いに対して適切に決定しているため、精度の高い条件判定が可能となり、不適な人体領域を精度良く削除することができる。
【００５８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５９】
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６０】
１０１  ＣＰＵ、１０２  記憶装置、１０３  入力装置、１０４  出力装置、２０１  画像入力部、２０２  顔検出部、２０３  人体検出部、２０４  顔人体距離算出部、２０５  顔人体距離条件設定部、２０６  不適合領域削除部、２０７  検出結果統合処理部
【図１】
2018088049.tif 000003
【図２】
2018088049.tif 000004
【図３】
2018088049.tif 000005
【図４】
2018088049.tif 000006
【図５】
2018088049.tif 000007
【図６】
2018088049.tif 000008
【図７】
2018088049.tif 000009
【図８】
2018088049.tif 000010
【図９】
2018088049.tif 000011
【図１０】
2018088049.tif 000012
【図１１】
2018088049.tif 000013
【図１２】
2018088049.tif 000014
【図１３】
2018088049.tif 000015