説明

画像処理装置および画像処理方法

【課題】全方向の顔を検出する際に、誤検出を抑制し、更に検出時間を短縮する。
【解決手段】画像に含まれる顔を検出する検出器を有する画像処理装置において、画像かつ/または検出器を回転して検出処理を行う際に、画像回転時に画像劣化が生じる場合に画像劣化が生じない場合よりも検出器の検出範囲を狭める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特定の特徴を有する例えば顔などの画像領域を検出するための画像処理装置、画像処理方法に関する。
【背景技術】
【0002】
画像から特定の被写体パターンを自動的に検出する画像検出方法は非常に有用であり、例えば人間の顔の判定に利用することができる。このような方法は、通信会議、マン・マシン・インタフェース、セキュリティ、人間の顔を追跡するためのモニタ・システム、画像圧縮などの多くの分野で使用することができる。
【0003】
このような画像中から顔検出する技術としては、例えば次のような方式がある。例えば、いくつかの顕著な特徴とその特徴間の固有の幾何学的位置関係を利用する方式、人間の顔の対称的特徴、人間の顔色の特徴、テンプレート・マッチング、又はニューラル・ネットワークなどを利用することによって、人間の顔を検出する方式が知られている。
【0004】
ところで、画像から顔を検出する場合には、人物が必ずしも直立正面向きに映っているわけではなく、またカメラも任意の方向に任意の倍率で撮影され得るため、顔が取りうる様々な角度、サイズに対応する必要がある。そのため、検出器の角度、サイズおよび検出位置を少しずつ変更しつつ、検出処理を繰り返す必要がある。
しかしながら、膨大な数の角度やサイズの組み合わせに関してその全てに対して検出処理を行うとすると、処理に長時間を要してしまう事態が発生してしまう。このため、探索領域を制限して検出処理を削減する手法が提案されている。例えば、最初の検出結果から顔の角度やサイズを限定して探索領域を制限する手法(特許文献1参照)、連続撮影画像に対して1枚目の検出結果から顔の角度やサイズを予測して探索領域を制限する手法(特許文献2参照)が提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−233517号公報
【特許文献2】特開2009−026299号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の手法では最初の検出結果が誤検出であった場合、正確な顔領域を検出することができない。また、特許文献2の手法では連続して撮影していない画像に対しては探索範囲を制限することができず、処理時間を短縮することができない。このように、従来の顔検出の検出処理を削減する手法は、諸々の問題を内在している。そこで、高い検出性能を実現しつつ、検出処理の時間を短縮する適切な手法による顔検出処理が求められている。
【0007】
全方向の顔に対応するために、検出器の検出角度を広くする方法が考えられる。しかし、検出角度を広げるとロバスト性が低下するため検出性能が悪化することが考えられる。特に、検出アルゴリズムが学習を必要とする場合は、検出角度が増えた分だけ学習が複雑になり、学習時間が長くなるだけでなく収束しない可能性が高くなってしまう。そのため、検出角度を広げる方法は得策ではなく、ある程度の検出角度の検出器の利用が必然となる。
【0008】
検出角度に制限があるため、全方向対応するためには検出器のみを何度も回転する方法が考えられる。しかし、検出時にフィルタ出力値を解析する場合は、フィルタを回転することになる。その結果、フィルタ出力の特性が回転により変化してしまうため、設計時の特徴を捕えることができず検出性能が著しく低下する。また、IntegralImageを利用して矩形領域を高速に解析する場合は、90度の倍数以外の回転では高速解析ができないため、処理速度が著しく低下してしまう。なおIntegralImageとは画像中の特定の矩形領域の画素の総和を求める手法である。
【0009】
一方、検出角度に制限があるため、斜め検出用パラメータを別途用意する方法が考えられる。しかし、検出器が学習を必要とする場合には、例えば90度回転用と斜め検出用の両パラメータの検出性能が同等となる学習は困難であり、パラメータ間で検出性能差が生じる。その結果、両パラメータの検出結果を統合する際に誤検出の影響を受け、全体的な検出性能が低下してしまう。また、別途斜め検出用のパラメータを使用するには、膨大な学習時間を時間が必要となるだけでなく、別パラメータ分の記憶領域が必要となる。
【0010】
そのため、画像中に現れ得る全方向の顔に対応するためには、検出器の90度倍数回転に加え、それ以外の角度の画像回転が必要となる。しかし、画像を回転させた場合、90度倍数以外では補間処理が発生するため画質が劣化する。劣化した画像に対して検出処理を行うと、予め学習した解析内容と異なる解析結果が得られる場合が発生し、検出性能が低下する可能性がある。
【0011】
以上のように、従来の技術では、画像から特定の特徴を持つ領域(たとえば顔領域)を、その方向に関わらず検出しようとすると、処理時間の増大や、検出結果の低下が避けられなかった。
【0012】
本発明は上記従来例に鑑みてなされたもので、画像中に出現し得る特定の特徴を持つ領域(例えば顔領域)を、当該画像領域の方向に関わらず、検出性能の低下を抑えつつ短時間で検出できる画像処理方法及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するために、本発明は以下の構成を備える。すなわち、画像に含まれるオブジェクトを検出する画像処理装置であって、
前記画像を所定の回転角度で回転させる画像回転手段と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転手段と、
前記画像回転手段による回転によって画像に画質劣化が生じる回転角度の場合、回転によって画像に画質劣化が生じない回転角度の場合よりも前記検出器の検出範囲を狭く設定する設定手段と、
前記画像回転手段により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転手段により複数の異なる回転角度で回転された検出器を用いて、前記設定手段によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出手段とを有する。
【発明の効果】
【0014】
本発明によれば、特定の特徴を持つ画像領域を検出する際に、画像が劣化した場合の検出範囲を狭めることによって、検出性能低下の抑制が実現できる。さらに、検出範囲を狭くすることにより検出時間を短くすることができる。
【図面の簡単な説明】
【0015】
【図1】検出する顔の定義を説明するための図である。
【図2】第1実施形態における情報処理装置のハードウェア構成例を説明するブロック図である。
【図3】第1実施形態における顔の検出処理フローを説明するフローチャートである。
【図4】第1実施形態における顔検出の構成例を説明するブロック図である。
【図5】第1実施形態における顔検出の処理フローを説明するフローチャートである。
【図6】第1実施形態における顔検出の器官探索の構成例を説明するブロック図である。
【図7】第1実施形態における顔検出の器官探索の構成例を説明するフローチャートである。
【図8】第1実施形態における画像処理装置の構成例を説明するブロック図である。
【図9】第1実施形態における画像処理装置の構成例を説明するフローチャートである。
【図10】第1実施形態における器官探索を画像回転に応じて変更する例を説明する図である。
【図11】検出器の応答特性の例を説明する図である。
【図12】弱判別器内に解析する矩形領域を設定する例を説明する図である。
【図13】第2実施形態における弱判別器を直列に接続して強判別器を実現するAdaBoosting例を説明する図である。
【図14】第2実施形態における画像処理装置の構成例を説明するブロック図である。
【図15】第2実施形態における画像処理装置の構成例を説明するフローチャートである。
【図16】第2実施形態における顔検出の構成例を説明するブロック図である。
【図17】第2実施形態における顔検出の処理フローを説明するフローチャートである。
【図18】顔検出範囲を分割する例を示した図である。
【図19】弱判別器ごとの角度特性の対応表の例と、画像回転に応じた使用設定表の例を示した図である。
【図20】分岐型AdaBoostingの例を示した図である。
【図21】第3実施形態における画像処理装置の構成例を説明するブロック図である。
【図22】第3実施形態における画像処理装置の構成例を説明するフローチャートである。
【図23】第3実施形態における顔検出の構成例を説明するブロック図である。
【図24】第3実施形態における顔検出の処理フローを説明するフローチャートである。
【図25】第3実施形態における画像の回転に応じた分岐設定のTBLの例を示した図である。
【発明を実施するための形態】
【0016】
[実施形態に共通する説明]
以下、添付の図面を参照して本発明の好適な実施形態である画像処理装置および画像検出方法について説明する。以下で説明する各実施形態においては入力された画像にオブジェクトがあるか否かを判定する情報処理装置(画像処理装置)の例を示す。オブジェクトとは、ここでは、検出の対象となる特定の特徴を持つ画像領域であり、説明の具体化のためにオブジェクトは人の顔とする。これを特徴量域とも呼ぶ。なお、他のオブジェクトであってもよい。また処理対象となる画像データ(単に画像とも呼ぶ)は、画素を格子状に配置したラスタ画像データである。そのため、90度を単位とした回転処理を行っても画質の劣化は生じない。しかし90度以外の回転処理を行うと、補間処理などが行われて画質の劣化が生じする可能性がある。
【0017】
各実施形態の説明を簡単にするために、入力画像に含まれる顔のサイズは検出器で検出できるサイズと仮定する。なお、画像及び検出器又はその一方をリサイズすることにより、多サイズの顔が検出できるようになるのは言うまでもない。
【0018】
<顔領域の一例>
また、検出する顔サイズに関しては、図1のように定義する。目の間隔101は、両目の間の距離を示しており、瞳孔(目の中心)の中心間距離をdとする。目の高さ102は、顔領域の上辺から動向の中心までの距離を示しており、両目距離の半分の距離(d/2)を設定する。顔幅103は顔領域の幅を示しており、両目距離の2倍の距離(2×d)を設定する。顔幅103は、顔領域全体にわたって一様に与えられる。顔領域の上辺は両目から目の高さ分だけ上の位置に、両目の瞳孔を結ぶ線分と平行に成るように設定する。顔高さ104は顔領域の高さを示しており、顔幅と同じ距離(2×d)を設定する。顔高さ104は顔領域の左右の辺の長さであり、顔幅すなわち顔領域の上辺と直角に成るように設定する。顔領域の下辺は上辺から顔高さだけ離れて上辺と並行に設定される。顔領域の上辺及び下辺を顔幅、左辺及び右辺を顔高さと呼ぶこともある。顔サイズ105には顔幅及び顔高に囲まれた領域のサイズを設定する。以下で説明する実施形態では、検出する顔サイズ(検出顔サイズ)は、図1の顔サイズ105と定義して説明する。なお、図1では正面を向いている顔を例にしているが、正面以外の方向に顔が向いている場合であっても同様に検出顔サイズを定義することができる。すなわち、後述する要領で画像中の目や鼻といった器官を特定し、特定した器官のうち、たとえば両目の中心を結ぶ線分の長さおよび方向を基準として上述の方法で決まる正方形を顔領域とする。なお正面向き以外の顔についても、たとえば目やその近傍にある鼻の輪郭を探索するなどして検出できる。また、顔領域以外のオブジェクトについても、検出対象の特徴(たとえは顔領域における目に相当)を予め定めておき、検出された特徴を基準としてオブジェクトの範囲を決定することで、顔領域と同様の要領でオブジェクトを含む領域を画像中で定義することが可能である。
【0019】
<情報処理装置の構成>
図2は第1実施形態に係わる情報処理装置のハードウェア構成例を説明するブロック図である。この情報処理装置すなわちコンピュータは、本実施形態では画像処理を行うことから画像処理装置と呼ぶこともできる。図2において、CPU(中央演算装置)200は、本実施形態で説明する情報処理方法すなわち画像処理方法をRAM202に一時的に読み出したプログラムに従って実行する。ROM201には、CPU200により実行されるプログラムが記憶されている。RAM202には、CPU200によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。ハードディスク203は、画像ファイルや、顔検出の際に用いられるパターン識別用の検出パラメータなどを保存するための記憶媒体である。ディスプレイ204は、本実施形態の処理結果をユーザに提示する装置である。制御バス/データバス205は、上述の各部とCPU200とを接続する。
【0020】
<顔検出処理の流れ>
以上の構成を備えた情報処理装置によって実行される顔を検出する際の全体的な処理の流れを、図3のフローチャートを参照して説明する。まずステップS301で、CPU200は、ハードディスク203に格納された画像データをRAM202に展開する。画像データはRAM202上では2次元配列として保持される。次のステップS302では、CPU200は、顔検出アルゴリズムで使用する解析パターンなどの検出パラメータをハードディスク203またはROM201からRAM202に読み込む。ステップS303において、CPU200は、ステップS302で読み込んだ検出パラメータを使用して、ステップS301で読み込んだ画像データが表す画像内に顔があるかどうかを判定する。このステップS303における顔検出の処理が本発明の特徴部分であり、詳細な説明については後述する。次のステップS304において、CPU200は、ステップS303による顔の検出結果をディスプレイ204に表示する。ステップS303については図5にその詳細を説明する。
【0021】
[実施形態1]
実施形態1では、器官の位置により顔検出を行う場合に、画像の回転に応じて検出時の探索範囲(検出範囲とも呼ぶ)を変更し、画像と検出器の回転を組み合わせて全方向の顔を検出する画像処理装置について説明する。本例では画像の回転角を検出器の回転角を補間する角度としている。具体的には、検出器を90度ずつ回転させ、検出器の回転角である90度を補間するよう元画像を回転させた画像についても顔領域の検出を行う。
【0022】
なお検出器とは、後述する顔検出部に相当するが、本実施形態では顔の検出は器官すなわち特徴領域を構成する部品の検出に基づくので、後述の器官探索ユニットをこの場合の検出器とすることもできる。検出器の回転とは、対象画像と検出器との回転位相の関係を検出器の検出方向を変えることで変更することである。このようにするのは、顔など検出対象の特徴量域が方向性を持つためである。たとえばフィルタなどを用い、検出器が画素を走査している場合には、その走査方向を変更すればよい。たとえば、無回転すなわち基本方向では処理対象の領域の左上隅を起点としてラスタ走査順にフィルタ処理を行うとする。この場合、検出器を90度を単位として回転することは、検出器を90度を単位として回転した場合に画像が走査される順序で処理対象の領域を走査するように走査順を変更することと同じである。たとえば左上隅を起点として主走査を右に副走査を下にしてラスタ走査する検出器を右に90度を回転することは、走査順を、右上隅を起点として主走査を下に副走査を左にしてラスタ走査するように変更することで実現できる。そこで、検出器の回転のことを検出方向の回転と呼ぶこともある。
【0023】
以下の説明においては、顔検出は、Gaborフィルタとグラフマッチングを利用した顔検出アルゴリズムを例に挙げて説明する。このアルゴリズムは、周波数特性と角度特性を抽出するGaborフィルタ出力結果から器官検出を行い、各器官の位置関係から注目領域が顔領域か否かを判定する方法である。
【0024】
以下、第1の実施形態の画像処理装置に関して説明を行う。図8は、本発明の第1の実施形態による画像処理装置の構成の一例を示すブロック図である。図8は図3のS301〜S303に相当する処理を行うための構成を示す。本画像処理装置がソフトウェアにより実現される場合には、図8の各ブロックは部品となるソフトウェアモジュールで実現される。その手順は図9等に示す。
【0025】
図8において画像設定部801は、ハードディスク内に記憶されている顔探索用の画像をRAM領域に設定する。画像設定部801はハードディスクから画像ファイルをRAM領域に展開する。画像回転設定部803は画像の回転角度を設定する。上述のように、画像の回転角は、最初は0度、2回目は45度である。画像回転部802は展開した画像に対して設定した角度の画像回転を行う。画像の回転方法に関しては、一般的な回転方法により回転処理を行う。回転角度が90度の倍数の場合、画素の入れ替えにより画像回転が可能なので、丸め誤差による画像劣化は発生しない。しかし、回転角度が90度の倍数以外の場合、補間処理による丸め誤差が発生する為、画像劣化が発生する。
【0026】
画像の回転は、まず回転後座標が回転前座標のどの位置に当たるかを算出する。その後、算出した座標の回転前画素値を回転後画素値として設定する。この時の座標変換は以下の式により行う。
x'=[( x - cx ) × cos(β) - ( y - cy )× sin(β) + cx]
y'=[( x - cx ) × sin(β) - ( y - cy )× cos(β) + cy]
xとyは変換前の画像座標、x'とy'は変換後の画像座標である。また、cxとcyは画像の中心座標、βは回転角度を示す。[n]は、nの整数部のみを出力する。式中に三角関数が含まれているため、小数部が存在する。座標位置を算出するために小数部を打ち切ることにより、丸め誤差が発生する。
【0027】
探索範囲変更部804は、画像の回転角度に応じて器官の探索範囲を変更する。回転により画質劣化が起きる場合は、探索範囲を予め定めた範囲より狭く設定する。画質劣化が起きない場合は、予め定めた範囲から探索範囲を変更しない。これは、劣化した画像に対して検出処理を行うと検出性能が低下する為である。本例では器官の探索は、元画像を0度回転させた画像(元画像)と45度回転させた画像とを対象として行われる。両者を比較すると、補間等により画像の劣化が生じる45度回転した画像における探索の方が、元画像を対象とした探索より探索結果の精度が劣る可能性がある。そこで、元画像を0度回転させた画像(元画像)における探索範囲よりも、45度回転させた画像における探索範囲を狭める。検出器の回転は90度単位であり、探索精度の低下をもたらさないので、その回転によって探索範囲を変更することはない。なお狭めることで探索の空白を作らないために、探索範囲の変更は、隣り合う検出範囲と重複する範囲で行われる。
【0028】
検出器回転設定部805は検出器を回転する角度を設定する。この時、回転処理による丸め誤差をなくすために、90度単位での回転のみを行う。すなわち、検出器の回転角は0度、90度、180度、270度になる。検出器回転部806は、設定した検出器回転角度に基づいて、器官特徴及び探索範囲に対して回転処理を行う。
【0029】
顔検出部807は、回転された画像を対象とし、また回転された検出器によって、探索領域を対象として器官の検出処理を行い、また各器官の検出結果を用いて顔候補領域の検出を行う。この詳細は図4に示す。検出結果統合部808は検出結果を統合し、最終的な検出結果すなわち顔領域を得る。以上が、実施形態1の画像処理装置に関する一例の説明である。
【0030】
<動作手順>
次に、上述した画像処理装置の動作手順に関して説明する。図9は、実施形態1の画像処理装置の処理に関するフローチャートである。まず、画像設定部801により、顔を検出する画像が入力されRAM領域に展開されて設定する(S901)。次に、画像回転設定部803により、画像を回転する角度が設定される(S902)。最初は0度、2回目は45度である。次に、画像回転部802により、設定した角度に応じて画像を回転する(S903)。次に、探索範囲変更部804により、画像の回転角度に応じて、器官の探索範囲を変更する(S904)。回転角が0度であればθ、45度であればγが設定される。より一般的にいえば、元画像から90度の整数倍だけ回転されている画像に対する探索範囲よりも狭い探索範囲を、元画像から90度の整数倍でない角度だけ回転されている画像に対して設定する。
【0031】
次に、検出器回転部805により、検出器を回転させる角度を設定する(S905)。ここでは、0,90,180,270が、S905が実行される都度順次設定される。次に、検出器回転部806により、器官の特徴パラメータ及び探索範囲を回転する(S906)。次に、顔検出部807により、回転した画像に対して、回転した検出器を用いて検出処理すなわち各器官の探索処理を行う(S907)。ステップS907の詳細は図5に示す。
【0032】
一対象範囲に対する探索処理の後には、全方向検出に必要な検出器の回転が終了したか否かを判断する(S908)。270度の回転が終了し、器官探索が終えていれば、S905に戻り再度検出器をさらに回転して検出処理を行う。終了した場合は、次の処理に進む。次に、全方向検出に必要な画像の回転が終了したか否かを判断する(S909)。45度の回転が済んでいれば回転が終了したと判断される。終了していない場合は、S902に戻り再度画像を回転させて検出処理を行う。終了した場合は、次の処理に進む。最後に、検出結果統合部808により、検出した結果を統合して最終的な検出結果を出力する(S910)。
【0033】
以上、実施形態1によれば、画像回転時に応じて器官の探索範囲を変更し、探索範囲を狭くすることにより、探索時間が短くなり検出時間を短縮することができる。更に、画像回転時に探索範囲を狭くすることにより、画像劣化による検出性能低下を抑えることができる。
【0034】
<顔検出部>
顔検出部807は、本実施形態の画像処理装置の一部を構成する顔検出を実現する装置であり、例えばコンピュータにより本実施形態の装置が実現されるなら、その構成要素である顔検出部もまたコンピュータにより実行されるソフトウェアモジュールということになる。しかしながらハードウエアにより顔検出部807を構成することもできる。上述したように、顔検出は、Gaborフィルタとグラフマッチングを利用した顔検出アルゴリズムで実現されている。
【0035】
図4は、顔検出部807の構成の一例を示すブロック図である。ここでは、両目と口に関する器官検出を行い、その位置関係から顔検出を行う方法に関して説明する。もちろん、これは一例であって他の器官または髪や輪郭等の顔を特徴付ける部位を利用した検出でもよい。座標設定部401は、画像内における顔検出処理を行う基準となる座標位置を設定する。ここでは説明の簡略化のために、設定した座標位置は眉間とする。基準位置は、各器官の探索が終了(中止を含む)すると画像全体を走査するように新たな位置に移動される。左目探索部402は、基準位置である眉間から指定された探索範囲内で左目を探索する。探索する範囲は、予めパラメータとして設定する。探索処理に関しては、以下詳細に説明する。左目探索部402は、探索位置や範囲、探索対象の特徴といった入力パラメータとして左目用のパラメータが与えられた、器官探索ユニットという汎用の装置により実現される。本実施形態では、器官探索ユニットは、探索位置や範囲、探索対象の特徴を入力パラメータとするソフトウェアモジュールにより実現される。もちろんその構成要素は更にそのサブモジュールで実現される。もし探索が成功したなら、その探索範囲の画像領域について、探索対象の器官の特徴を持つことが記憶される。
【0036】
図4の顔検出部807は、器官探索ユニットを用いて他の器官に関しても検出を行う。もちろん入力パラメータは、右目探索部403,口探索部404それぞれの探索位置や範囲、探索対象の特徴に応じて変更される。右目探索部403は右目の探索を行う。口探索部404は口の探索を行う。
【0037】
顔領域設定部405は、各器官探索結果から全ての器官が指定探索領域で検出された場合に、座標設定部401で指定された座標を眉間の位置とする顔候補領域を設定する。顔領域は図1で説明したように設定される。各探索部は予め眉間から顔モデルに基づいて設定している。そのため、探索により検出された器官位置は自ずと器官の位置関係は顔の条件を満たしている。なお図4では左右の目と口という全ての探索対象器官を探索するように記載されているが、途中で探索に失敗した器官があれば、その時点で当該領域の探索を中止する。
【0038】
<器官探索ユニット>
図6は、器官探索ユニットの構成の一例を示すブロック図である。探索範囲設定部601は、設定位置から探索する範囲を設定する。探索範囲は器官によって異なるため、器官ごとの探索パラメータを保持する。探索位置設定部602は探索開始位置を設定する。探索開始位置は器官により異なる。たとえば左目は眉間を基準位置として向かって右側にあるのでそこが探索範囲になる。たとえば、基準点から右側に基準線を伸ばし、基準点を要にして、基準線から上下に±θ度あるいは±γ度の広がりを持ち、かつ基準点からの距離が所定の距離範囲に収まる範囲を探索範囲とする。この探索範囲は、扇形から同軸の扇形を除外した範囲になるが、もちろん探索範囲を制限するために中心線から上下各方向への距離などでさらに範囲を制限しても良い。右目や口も同様に基準位置に対して探索範囲が決まる。もちろん基準点に対する方向は異なる。あるいは、上述した扇形の角度は、基準点から探索範囲までの距離と、探索範囲の上下の長さによって決めることもできるので、上述した角度θおよびγに相当するよう、探索範囲の基準点からの位置及びサイズを決定して角度θおよびγの決定に代えることもできる。この場合には探索範囲は矩形とすることができるので、探索をより単純化できる。
【0039】
器官特徴設定部603は探索器官の特徴を設定する。ここでは、探索対象の器官に対するGaborフィルタの出力特性を設定する。Gaborフィルタの特徴は器官ごとに異なるため、器官ごとにフィルタ特性を保持する。判定処理部604は設定した探索領域内に注目器官が含まれるか否かを判定する。
【0040】
図7は、器官探索処理の処理フローの一例を示すフローチャートである。すなわち図7の各ステップは、図6のいずれかの構成要素により実現される。また器官探索装置がソフトウェアモジュールであれば、図7はまさにそれを実行するコンピュータ(あるいはプロセッサ)による処理フローを示す。
【0041】
まず、探索範囲設定部601により、探索範囲を設定する(S701)。本例では探索範囲は基準位置からの広がり角度θ又はγのいずれかである。次に、探索位置設定部602により、器官を探索する開始位置が設定されている(S702)。次に、器官特徴設定部603により、探索する器官の特徴を設定する(S703)。次に、判定処理部604により、設定された画素に対して、器官の判定処理を行う(S704)。Gaborフィルタの出力結果が予め設定した出力と同じであれば、注目器官として判定する(S705)。注目器官が検出できなかった場合は、設定した全探索領域内を探索するまでこの処理を行う(S706)。
【0042】
<器官探索の例>
図10は、器官探索の一例として左目の探索を示したものである。図10(a)は、探索範囲変更前の探索範囲すなわち既定の探索範囲である。探索範囲の角度θは、画像が0度または90度の倍数で回転されている場合の探索範囲に対応している。θは探索範囲の2分の1の角度であり、検出器のロバスト性を高めるために45度未満の範囲とする。検出器は基準点1010から所定距離離れた基準線上にある探索開始位置1001から矢印に沿って注目器官の検出処理を行う。注目器官が検出できなかった場合には探索終了位置1002で探索終了とする。図では探索範囲は上下方向の距離も制限されているが、これはなくともよい。基準点からの距離範囲は必要である。
【0043】
本実施形態における探索範囲の角度は、画像中における探索可能な顔の傾きに相当する。たとえば、設定された眉間を中心として左右の目がそれぞれの探索範囲内にあれば、たとえ顔が傾いていても検出することができる。これは口についても同様である。したがって探索範囲の角度の半分をθとすれば、眉間を中心として±θ傾いた顔を検出できることになる。
【0044】
図10(b)は、探索範囲変更後の探索範囲である。すなわち元画像を45度回転した画像に適用される探索範囲を示す。探索範囲の角度γは、以下の式により算出される。
γ(度)=(90−2θ)/2 + α (数式1)。
【0045】
ここで、αは検出範囲の重複量を表しており、適当な値を設定する。なお本発明の主旨からは、θ>γとなるようにθ及びγは決定される必要がある。従って数式1に従えばθ>(45−α)/2なる条件がつく。また重複角度αは、探索範囲の境界に位置する器官も高精度に探索することを目的の一つとしている。そこでαはそのように選択されるが、たとえば探索結果が最も良好になるように実験的に決定してもよい。数式1に従えば、たとえばθを30度と設定すれば、γは15度+αとなる。このようにθとγとを定め、元画像を0度または45度回転した画像それぞれを対象に、検出器を90度ずつ回転させて顔を検出することで、どのような傾きを持つ顔であっても画像から検出できる。
【0046】
<顔検出処理手順>
図5は、これまで説明した顔検出の処理フローの一例を示すフローチャートである。図5の手順は、顔検出をソフトウェアで行う場合には、コンピュータ(あるいはCPU)が実行主体となる顔検出のフローを示している。また、ステップS502,S504,S506それぞれは、パラメータを器官に応じて変えつつ図7の器官探索処理をサブルーチンとして実現される。
【0047】
まず、座標設定部401により、検出処理を行う基準の座標位置を設定する(S501)。設定した座標を眉間とみなす。次に、左目探索部402により、眉間座標から指定範囲内に対して左目の探索を行う(S502)。左目を検出した場合は処理を続行し、検出しなかった場合はS509まで処理を飛ばす(S503)。次に、右目探索部403により、眉間座標から指定範囲内に対して右目の探索を行う(S504)。右目を検出した場合は処理を続行し、検出しなかった場合はS509まで処理を飛ばす(S505)。次に、口探索部404により、眉間座標から指定範囲内に対して口の探索を行う(S506)。口を検出した場合は、処理を続行する。検出しなかった場合、S509まで処理を飛ばす(S507)。次に、顔候補設定部405により、眉間座標を顔領域としてメモリに格納する(S508)。一連の検出処理を全画素に対して実行したか否かを判定し、実行した場合は顔検出処理を終了する。実行していない場合は、S501に戻り、基準位置を次の座標に移動して処理を続ける(S509)。移動する距離は、たとえばもし顔領域が検出されていれば、その顔領域の辺の距離でよい。そして検出されている顔領域を単位として画像全体を走査するように基準位置を移動する。一方顔領域が未検出の場合には、たとえば、設定されている各器官の探索範囲に基づいて決まる顔領域の辺の距離とする。もちろん他の基準で予め定めておいた距離で移動させても良い。以上が、顔検出処理の処理フローである。
【0048】
このように、器官探索用のフィルタは対象の器官毎に変えられるだけでなく、画像の回転角度に応じてもまた変更される。そして、画像の回転角度に応じて探索範囲が変更される。こうすることで、画像の全方向について顔を検出でき、高精度且つ高速な顔領域の検出が可能となる。
【0049】
なお本実施形態では元画像の回転角は、90度の半分である45度としている。しかし、検出器の検出範囲が狭い場合には、より小さい角度としてもよく、たとえば90度の半分ではなく3分の1の30度や4分の1の22.5度などとすることもできる。画像の回転角を30度とした場合には、探索対象の画像は元画像そのものに加えて、30度回転した画像と60度回転した画像の合計3つとなり、画像の回転角を22.5度とした場合には、探索対象の画像は元画像そのものに加えて、22.5度回転した画像と45度回転した画像、67.5度回転した画像の合計4つとなる。ただし検出範囲を均等にしなければ、そのすべてである必要はない。本実施形態では検出範囲を角度αだけ重複させているので、角度αを大きく取れば、検出範囲は必ずしも均等でなくとも全方向をカバーできる。
[実施形態2]
実施形態2では、AdaBoostingを用いて顔検出を行う場合に、画像の回転に応じて使用する弱判別器を制御し、画像と検出器の回転を組み合わせて全方向の顔を検出する装置について説明する。実施形態2では、探索範囲を変更して検出範囲を狭めるのではなく、使用する弱判別器を制御して検出範囲を狭める点で、実施形態1と処理が異なる。しかしながら、弱判別器の組み合わせで実現される強判別器を顔領域の検出器と考えた場合、本実施形態でもやはり探索範囲を変更しているとも言える。ただし、本実施形態では、使用する弱判別器の取捨選択により探索範囲の変更を実現している。
【0050】
以下の実施形態2では、画像の回転に応じて使用する弱判別器を制御して検出範囲を狭める例を説明する。実施形態2の画像処理装置を実現するための情報処理装置に関しては、実施形態1と同様であるため、説明は省略する。本実施形態でも、検出器すなわち弱判別器で構成される強判別器は方向性を有する。
【0051】
AdaBoostは多数の弱判別器を直列に接続することにより強判別器を実現する手法である。各弱判別器は、Haarタイプの矩形特徴量が設定されている。ここでは説明のために、図12に示すように、1つの弱判別器で2箇所の矩形領域を解析するように設定する。弱判別器は、矩形領域ごとに矩形特徴量を解析し、その特徴量の関係が予め学習した結果と同じであれば、評価値を加算していく。弱判別器ごとに解析する矩形特徴量は異なる。たとえば、一つの弱判別器で横方向のエッジの量を特徴量として判別し、もうひとつの判別器では輝度の分散を、他の弱判別器では特定の色の範囲の画素の数を判別する。このように本実施形態では器官の検出に適した特徴量が選択される。これは一例に過ぎず、他の特徴量を採用することもできる。図13に示すように弱判別器を直列に接続し、1つの強判別器(すなわち、検出器)を実現する。各弱判別器で、各矩形領域の評価値を加算した加算評価値が設定閾値以下になった時点で処理を打ち切ることにより、処理の高速化を図る。最終的に全ての弱判別器で顔候補と判定された場合には、その矩形領域によって特定される領域を顔領域として出力する。
【0052】
図14は、本発明の第2の実施形態による画像処理装置の構成の一例を示すブロック図である。図8と同じ番号に関しては、実施形態1で説明したものと同じ処理内容であるため、ここでは詳細な説明を省略し、実施形態1と相違する部分についてのみ説明する。また画像の回転や検出器の回転については実施形態1と同様である。TBL設定部1404には、使用する弱判別器の設定に関するTBL(弱判別器適用表とも呼ぶ)を設定する。TBLには、使用する弱判別器は「1」を設定し、使用しない弱判別器は「0」を設定する。
【0053】
ここからはTBL作成方法に関して説明する。図19(a)に示したように各弱判別器の角度特性を調査する。角度特性とは、図18に示したように検出可能範囲を分割し、各範囲を定義したものである。θ度は、実施形態1で示した検出器の検出角度であり、γ度は数式1に基づき算出する。角度特性の調査方法としては、図18の各範囲に相当する傾いた顔が含まれる画像を入力して検出処理を行い、その際の弱判別器の出力特性を測定する。出力特性が強い範囲を弱判別器の角度特性とみなし、図19(a)のような対応表を作成する。作成した対応表をもとにTBL(弱判別器適用表)を作成する。画像回転時に検出範囲を狭める場合は、「範囲1」と「範囲4」の弱判別器を使用しない設定「0」にし、「範囲2」と「範囲3」の弱判別器を使用する設定「1」にする(図19(c))。検出範囲を狭めない場合は、「範囲1」〜「範囲4」までの全弱判別器を使用する設定「1」にする(図19(b))。このように図19(B)と図19(c)に示した2種類のTBLを作成し、画像の回転に応じて設定するTBLを変更することにより、弱判別器を制御し、検出範囲を変える。
【0054】
図14に戻り説明を続ける。検出器回転部1406は、設定した角度に応じて弱判別器の解析矩形領域を回転する。顔検出部1407は、回転した画像に対して、回転した弱判別器と設定したTBLを用いて、検出処理を行う。ここで、顔検出処理部の詳細に関して説明する。
【0055】
図16は、顔検出部1407の構成の一例を示したものである。処理画素設定部1601は、弱判別器で解析する画像データを設定する。弱判別器設定部1602は、処理する弱判別器を設定する。TBL参照部1603は、TBLを参照して弱判別器が処理対象か否かを出力する。TBLは、画像回転に応じて変更されたTBLである。解析処理部1604は、画像に対して、設定した弱判別器とTBLを利用して、解析処理を行い、閾値判定を行う。評価値累積部1605は、解析処理部1604での判定結果に基づき評価量を累積する。顔領域設定部1606は、全弱判別器処理後に累積評価値から、処理画素が顔領域か否かを判定する。
【0056】
上述した顔検出の動作手順に関して説明する。図17は、顔検出の処理フローチャートである。まず、処理画素設定部1601により、処理する画像データを設定する(S1701)。次に、弱判別器設定部1602により、判定に使用する弱判別器を設定する(S1702)。次に、TBL参照部1603により、使用する弱判別器の設定TBLを参照する(S1703)。TBLを参照した結果、使用する弱判別器の場合は処理を続け、使用しない弱判別器の場合はS1710まで処理を飛ばす。次に、解析処理部1604で、設定した弱判別器を用いて、画像領域内の解析処理を行う(S1705)。解析結果から閾値判定を行う(S1706)。次に、評価値累積部1605により、閾値よりも上の場合には評価値を累積加算し(S1708)、閾値よりも下の場合には評価値を累積減算する(S1709)。加減する評価値は弱判別器によって異なる。次に全弱判別器が実行済みか否かを判定する(S1710)。実行済みの場合は次の処理に進む。実行済みでない場合はS1702に戻り、次の弱判別器を用いて一連の処理を繰り返す。次に、累積評価値から処理用域が顔領域か否かを判定する(S1711)。顔と判定された場合は、顔領域設定部1606により、顔候補として設定する(S1712)。次に、全画素に対して検出処理を行ったか否かを判定し(S1713)、全画素に対して処理を行った場合には処理を終了し、全画素に対して処理を行っていない場合には、S1701に戻り次の処理画素に対して一連の処理を繰り返す。以上が、顔検出の詳細な検出処理フローである。
【0057】
以上が、実施形態2の画像処理装置に関する一連の説明である。
【0058】
次に、上述した画像処理装置の動作手順に関して説明する。図15は、画像処理装置の処理フローチャートである。まず、画像設定部801により、顔を検出する画像が入力されRAM領域に展開して設定する(S1501)。次に、画像回転設定部803により、画像を回転する角度を設定する(S1502)。次に、画像回転部802により、画像回転設定部803により設定した角度に応じて画像を回転する(S1503)。次に、TBL設定部1404により、設定した角度に応じて、使用する弱判別器に関するTBLを設定する(S1504)。次に、検出器回転設定部805により、検出器を回転する角度を設定する(S1505)。次に、検出器回転部1406により、弱判別器ごとの解析矩形領域を回転する(S1506)。
【0059】
次に、顔検出部1407により、回転した画像に対して、回転した検出器を用いて検出処理を行う(S1507)。次に、全方向の顔を検出するために必要な検出器の回転が完了したかを判定する(S1508)。終了していない場合は、S1505に戻り再度検出器を回転させて検出処理を行う。完了した場合は、次の処理に進む。次に、全方向の顔を検出するために必要な画像の回転が完了したかを判定する(S1509)。完了していない場合は、S1502に戻り再度画像を回転させて検出処理を行う。完了した場合は、次の処理に進む。最後に、検出結果統合部808により、検出された結果を統合し、最終的な検出結果を出力する(S1510)。
【0060】
以上、実施形態2によれば、画像回転に応じて使用する弱判別器を、センシティブな角度の範囲に応じて変更し探索範囲を狭くすることができるため、使用する弱判別器が少なくなる分だけ検出時間を短縮することができる。更に、画像回転時は画像劣化するため、画像回転時の探索範囲を狭くすることにより検出性能の低下を抑えることができる。
【0061】
ここでは、画像回転に応じて使用する弱判別器を変更する方法に関して説明したが、他の項目を制御してもよいことは言うまでもない。例えば、画像回転に応じて弱判別器の閾値を変更し、範囲外の弱判別器では顔領域と判定されないように制御してもよい。閾値が上がり顔領域で内と判定されると累積評価値が下がっていくため、各弱判別器処理後に実行される打ち切り処理の対象となり、処理が中断される。打ち切りが速くなる分処理速度は速くなる。また、閾値が高くなるため誤検出が抑えられ、検出性能の低下を抑えることができる。
【0062】
[実施形態3]
実施形態3では、顔の状態別に弱判別器を分岐構造に配置した分岐型AdaBoostingを用いて顔検出を行う場合に、画像の回転に応じて使用する分岐を制御し、画像と検出器の回転を組み合わせて全方向の顔を検出する装置について説明する。実施形態3は、使用する弱判別器を制御するのではなく、分岐を制御して検出範囲を狭める点で、実施形態2と処理が異なる。本実施形態でも、弱判別器の組み合わせで実現される強判別器を顔領域の検出器と考えた場合、やはり探索範囲を変更していると言える。ただし、本実施形態では、使用する弱判別器の取捨選択により探索範囲の変更を実現している。この点は実施形態2と共通する。本実施形態では、検出した特徴信号の強度に応じてよりセンシティブな方向で特徴領域すなわち顔を検出する点で実施形態2と相違する。
【0063】
以下の実施形態3では、画像の回転に応じて使用する分岐を制御して検出範囲を狭める例を説明する。実施形態3の画像処理装置を実現するための情報処理装置に関しては実施形態2と同様であるため、説明は省略する。
【0064】
分岐型AdaBoostingは、顔の状態に応じて弱判別器を分岐構造に配置することにより、AdaBoostingよりも更にロバスト性を高めた検出手法である。AdaBoostingとの類似点は、弱判別器での判定結果に応じて評価値を累積し、最終的にその評価値により判定を行う点と、各弱判別器の判定後に打ち切り判定を行う点である。異なる点である分岐に関しての説明は、ここでは顔の方向のみに注目して説明する。顔のサイズなど他の要素に応じて分岐させてもよいことは言うまでもない。
【0065】
図20は、顔の方向に応じて弱判別器を分岐型に配置した分岐型AdaBoostingの一例である。Step(ステージ又は段とも呼ぶ)は、各分岐の区間を示す単位とする。顔の方向に関しては、図18の定義を利用する。まずは、Step1で検出器の全範囲である−θからθまでを処理対象とする弱判別器で画像を処理する。弱判別器103までの累積評価値を基にStep2の弱判別器による検出を行う。弱判別器201から203までの累積評価値(−θ〜0)と、弱判別器301から303(0〜θ)までの累積評価値を比較し、累積評価値が大きい方の分岐を継続する。評価値が低い分岐は、処理を打ち切る。分岐数が多い場合は、複数の分岐を同時並行して処理してもよい。比較した結果、累積評価値が大きかった方の分岐からさらに分岐する弱判別器で画像の評価を継続する。すなわち、弱判別器201から203までの累積評価値が大きければ、弱判別器401から4MNまでの分岐(範囲はγ〜θ)と、弱判別器501から5MNまでの分岐(範囲は0〜γ)とで評価を継続する。一方、弱判別器301から303までの累積評価値が大きければ、弱判別器601から6MNまでの分岐(範囲は−γ〜0)と、弱判別器701から7MNまでの分岐(範囲は−θ〜−γ)とで評価を継続する。なおγ<θである。分岐は弱判別器がセンシティブな傾きに応じて行われることから、本実施形態でも、検出器すなわち弱判別器で構成される強判別器はやはり方向性を有する。
【0066】
たとえばステップ2の分岐で弱判別器301から303までの累積評価値が大きかったとすると、Step3では、弱判別器601およびそれに連なる弱判別器の分岐と弱判別器701およびそれに連なる弱判別器の分岐とが処理を継続する。このように同時並行する弱判別器の評価結果を比較することにより、分岐を制御し、最終的に最後の弱判別器まで処理された評価値から顔を判定する。
【0067】
図21は、本発明の第3の実施形態による画像処理装置の構成の一例を示すブロック図である。図14と同じ番号に関しては、実施形態2で説明したものと同じ処理内容であるため、ここでは詳細な説明を省略し、実施形態2と相違する部分についてのみ説明する。また画像の回転や検出器の回転については実施形態1と同様である。分岐設定変更部2104は、画像回転設定部803に応じて使用する分岐を設定する。使用する分岐の設定は、図25に示すTBLを参照して行う。TBLには、画像回転角度に応じて各Stepにおける分岐の数と、使用する弱判別器群の先頭アドレスが格納されている。このTBLを参照して、画像の回転角度に応じて使用分岐を設定する。検出処理時には、使用分岐範囲内で、分岐判定処理して検出処理を行う。顔検出部2107は、回転した画像に対して、使用する分岐内の回転した弱判別器を用いて、検出処理を行う。
【0068】
図23は、顔検出部2107の構成の一例を示したものである。図16と同じ番号に関しては、実施形態2で説明したものと同じ内容であるため、ここでは詳細な説明を省略し、実施形態2との相違する部分についてのみ説明する。処理Step設定部2303は、分岐型AdaBoostingの処理Stepを設定する。分岐制御部2304は、TBLにより設定された使用分岐が設定される。使用分岐は、分岐設定変更部2104で画像の回転に応じて設定する。分岐判定部2305は、各分岐の全弱判別器処理後の累積評価値を比較して、評価値が大きい方を継続分岐と判定する。ここまでが、顔検出処理部の構成に関する説明である。
【0069】
図24は、詳細な顔検出処理部のフローチャートを示したものである。まず、処理画素設定部1601により、処理する画像データを設定する(S2401)。次に、処理Step設定部2303により、処理するStepを設定する(S2402)。次に、分岐制御部2304により、画像の回転角度により変更した使用分岐を分岐テーブルTBLに基づいて設定する(S2403)。使用分岐の設定は図25に例示した分岐テーブルにより定められており、ステップS2403では、前のステップにおける評価結果と、次に進むステップおよび画像の回転角度とから、次のステップで評価を継続する分岐すなわち弱判別器の系列を決定する。次に、弱判別器設定部1602により、決定された使用分岐内で実際に評価処理を行う弱判別器を設定する(S2404)。すなわち各ステージの弱判別器は直列に接続されていることから、その系列の先頭のステージの弱判別器で順次評価が行われ、その評価結果すなわち前段の評価結果が、次段のステージの弱判別器として、どの方向性を持つ弱判別器を選択するかの基礎となる。すなわち前段における評価結果に応じて、次段での弱判別器により検出可能な方向性が段階的に絞り込まれる。
【0070】
次に、解析処理部1604により、画像に対して、S2404で決定した弱判別器により解析処理を行う(S2405)。次に、解析結果から閾値判定を行う(S2406)。閾値よりも高い場合は評価値累積部1605により累積評価値に評価値を加算し(S2407)、閾値よりも低い場合は評価値を累積評価値から減算する(S2408)。この処理がStep間の全弱判別器に対して実行したかを判定する(S2409)。実行した場合は次の処理に進む。実行していない場合は、S2404に戻り、次の弱判別器で一連の処理を繰り返す。更に、全分岐が実行したかを判定し(S2410)、実行した場合は次の処理に進む。実行していない場合は、S2403に戻り次の分岐で一連の処理を繰り返す。次に、分岐判定部2305により、各分岐での累積評価値を比較して継続する分岐を決定する(S2411)。次に、全Stepに対して一連の処理を実行したかを判定する(S2412)。実行した場合は次の処理に進む。実行していない場合は、S2402に戻り、次のStepで一連の処理を繰り返す。全Stepを実行した後、累積評価値から顔領域か否かを判定する(S2413)。顔領域と判定した場合、顔候補設定部1606により、処理画素を顔領域として設定する(S2414)。次に、全画素に対して検出処理を行ったかを判定する(S2415)。全画素に対して処理を行った場合には処理を終了し、全画素に対して処理を行っていない場合には、次の処理画素に対して一連の処理を繰り返す。以上が、顔検出の詳細な検出処理フローである。以上が、実施形態3の画像処理装置に関する一連の説明である。
【0071】
次に、上述した画像処理装置の動作手順に関して説明する。図22は、画像処理の処理フローチャートである。まず、画像設定部801により、顔を検出する画像を入力してRAM領域に展設定する(S2201)。次に、画像回転指定部803により、画像を回転する角度を設定する(S2202)。次に、画像回転部802により、設定した角度に応じて画像を回転する(S2203)。次に、分岐設定変更部2104により、回転した画像の角度に応じて、使用分岐を設定する(S2204)。具体的には、0度であれば図25のテーブルの上段を、45度であれば下段を設定する。次に、検出器回転設定部805により、検出器を回転する角度を設定する(S2205)。次に、検出器回転部1406により、設定した角度に応じて、弱判別器ごとの解析矩形領域を回転する。(S2206)。次に、顔検出部2107により、画像に対して、分岐内の検出器を用いて検出処理を行う(S2207)。ステップS207の詳細が図24に示した手順である。次に、全方向の顔を検出するために必要な検出器の回転が完了したかを判定する(S2208)。完了していない場合は、S2205に戻り更に検出器を回転させて一連の検出処理を繰り返す。完了した場合は、次の処理に進む。次に、全方向の顔を検出する為に必要な画像の回転が完了したかを判定する(S2209)。完了していない場合は、S2202に戻り画像を回転させて一連の検出処理を行う。完了した場合は次の処理に進む。最後に、検出結果統合部808により、検出した結果を統合して最終的な検出結果を出力する(S2210)。
【0072】
この様に顔検出部2107を構成することで、画像回転量が元画像に対して90度の整数倍であれば探索範囲(探索角度)は−θ〜θの範囲となるが、そうでない場合には−γ〜γの範囲となる。
【0073】
以上、実施形態3によれば、画像回転に応じて分岐型AdaBoostingの使用分岐を変更して探索範囲を狭くすることができるため、使用しない分岐だけ検出時間を短縮することができる。更に、画像回転時は画像劣化するため検出性能低下が発生しやすくなるので、画像回転時の探索範囲を狭くすることにより検出性能低下を抑えることができる。
【0074】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
画像に含まれるオブジェクトを検出する画像処理装置であって、
前記画像を所定の回転角度で回転させる画像回転手段と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転手段と、
前記画像回転手段による回転によって画像に画質劣化が生じる回転角度の場合、回転によって画像に画質劣化が生じない回転角度の場合よりも前記検出器の検出範囲を狭く設定する設定手段と、
前記画像回転手段により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転手段により複数の異なる回転角度で回転された検出器を用いて、前記設定手段によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記回転によって画像に画質劣化が生じる回転角度は、前記画像を座標変換することによって生じる丸め誤差が発生する角度であり、前記回転によって画像に画質劣化が生じない回転角度は、前記画像を座標変換することによって生じる丸め誤差が発生しない角度であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記設定手段は、前記検出手段が前記オブジェクトに含まれる器官の位置関係により前記オブジェクトを検出する場合、基準点を中心として当該器官の検出範囲を狭くすることを特徴とする請求項1記載の画像処理装置。
【請求項4】
前記設定手段は、検出する方向性の相違する複数の弱判別器を用いたAdaBoostingにより前記検出手段が実現される場合、弱判別器として、方向性の範囲が狭い弱判別器を選択して用いることで検出範囲を狭くすることを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記設定手段は、検出する前記オブジェクトの方向性を段階的に絞り込む分岐型AdaBoostingにより前記検出手段が実現される場合、最終的に絞り込まれる前記オブジェクトの方向性が狭くなるよう前記弱判別器を選択することで検出範囲を狭くすることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記画像回転手段は、元画像を0度および45度回転させ、
前記検出手段は、前記画像回転手段により元画像を異なる0度回転させた画像と45度回転させた画像とを対象として、前記検出器の回転手段により前記検出器を90度ごとに回転させて、前記検出手段により前記オブジェクトを検出することを特徴とする請求項1乃至5のいずれか一項に記載の画像処理装置。
【請求項7】
前記設定手段は、隣り合う検出範囲と重複する範囲で検出範囲を狭くすることを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。
【請求項8】
画像に含まれるオブジェクトを検出する画像処理方法であって、
前記画像を所定の回転角度で回転させる画像回転工程と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転工程と、
前記画像回転工程による回転によって画像に画質劣化が生じる回転角度の場合、回転によって画像に画質劣化が生じない回転角度の場合よりも前記検出器の検出範囲を狭く設定する設定工程と、
前記画像回転工程により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転工程により複数の異なる回転角度で回転された検出器を用いて、前記設定工程によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出工程と
を有することを特徴とする画像処理方法。
【請求項9】
前記画像を所定の回転角度で回転させる画像回転手段と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転手段と、
前記画像回転手段による回転によって画像に画質劣化が生じる回転角度の場合、回転によって画像に画質劣化が生じない回転角度の場合よりも前記検出器の検出範囲を狭く設定する設定手段と、
前記画像回転手段により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転手段により複数の異なる回転角度で回転された検出器を用いて、前記設定手段によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出手段と
してコンピュータを機能させるためのプログラム。
【請求項10】
画像に含まれるオブジェクトを検出する画像処理装置であって、
前記画像を所定の回転角度で回転させる画像回転手段と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転手段と、
前記画像回転手段による回転角度が90度の整数倍ではない角度の場合、前記画像回転手段による回転角度が90度の整数倍の角度の場合よりも前記検出器の検出範囲を狭く設定する設定手段と、
前記画像回転手段により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転手段により複数の異なる回転角度で回転された検出器を用いて、前記設定手段によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出手段と
を有することを特徴とする画像処理装置。
【請求項11】
画像に含まれるオブジェクトを検出する画像処理方法であって、
前記画像を所定の回転角度で回転させる画像回転工程と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転工程と、
前記画像回転工程による回転角度が90度の整数倍ではない角度の場合、前記画像回転工程による回転角度が90度の整数倍の角度の場合よりも前記検出器の検出範囲を狭く設定する設定工程と、
前記画像回転工程により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転手段により複数の異なる回転角度で回転された検出器を用いて、前記設定工程によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出工程と
を有することを特徴とする画像処理方法。
【請求項12】
前記画像を所定の回転角度で回転させる画像回転手段と、
前記オブジェクトを検出するための検出器を所定の回転角度で回転させる検出器の回転手段と、
前記画像回転手段による回転角度が90度の整数倍ではない角度の場合、前記画像回転手段による回転角度が90度の整数倍の角度の場合よりも前記検出器の検出範囲を狭く設定する設定手段と、
前記画像回転手段により画像を異なる回転角度で回転させた複数の画像を対象として、前記検出器の回転手段により複数の異なる回転角度で回転された検出器を用いて、前記設定手段によって設定された検出範囲を探索することで、前記画像に含まれるオブジェクトを検出する検出手段と
してコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2012−63945(P2012−63945A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−207155(P2010−207155)
【出願日】平成22年9月15日(2010.9.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】