(57)【特許請求の範囲】
【請求項１】
設定される検出情報に基づいて与えられる画像から顔を検出する顔検出器と、
上記顔検出器の顔サイズを含む検出情報を設定し、入力された画像の全画像領域を分割し、当該分割した画像をそれぞれ時分割に上記顔検出器に与える処理部と、を有し、
上記顔検出器は、
検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、
上記処理部は、
分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う
画像処理装置。
【請求項２】
上記処理部は、
元画像を分割せず上記顔検出器が処理可能な画素数に縮小し、上記顔検出器に当該顔検出器が検出可能な最大の顔サイズから最小の顔サイズまで、顔の検出を行わせた後、
分割し縮小、または単に切り出した画像を顔検出する際、先に行った顔検出の顔サイズと、これから行う顔検出の顔サイズが重ならないよう、顔サイズを含む上記検出情報の上記顔検出器への設定を行う
請求項１記載の画像処理装置。
【請求項３】
上記処理部は、
上記顔検出器により取得した顔検出結果情報に基づいて、一旦顔が検出された場合、検出された顔に対し、当該顔を対象とした周辺の画像領域のみを検出するように上記顔検出器を制御する
請求項１記載の画像処理装置。
【請求項４】
上記処理部は、
顔を検出する領域を、当該顔の大きさに比例した範囲とする機能を有する
請求項３記載の画像処理装置。
【請求項５】
上記処理部は、
顔検出された元画像における位置と顔サイズをもとに、検出した顔サイズに対し、あらかじめ設定された比率にて検出領域を決定し、あらかじめ設定された検出する顔サイズのみを検出し、以降、当該決定した検出領域における顔検出を繰り返すように制御する
請求項３記載の画像処理装置。
【請求項６】
上記処理部は、
当該決定した検出領域における顔検出を行いつつ、バックグランドで分割した顔検出を行うように制御する
請求項５記載の画像処理装置。
【請求項７】
上記処理部は、
上記顔検出器が顔を検出する領域を、その過去の顔の位置関係から移動量を推定し、当該推定した移動量を加味した範囲とする機能を有する
請求項３記載の画像処理装置。
【請求項８】
上記処理部は、
上記全画像領域を、分割境界線上で画像のオーバーラップ領域を持つように分割し、
全ての分割処理後の顔検出の結果のマージ並びに切り出し位置におけるオーバーラップ領域において同じ顔が複数検出された場合に、不要な顔検出の結果を無効にする
請求項１から７のいずれか一に記載の画像処理装置。
【請求項９】
上記処理部は、
上記全画像領域の動きを検出し、動きのあった領域のみを対象に顔を検出するように上記顔検出器を制御する
請求項１から８のいずれか一に記載の画像処理装置。
【請求項１０】
撮像素子と、
上記撮像素子に被写体像を結像する光学系と、
上記撮像素子による広角レンズで撮像した元画像を、歪み補正パラメータを用い歪み補正が可能な画像処理装置と、を有し、
上記画像処理装置は、
設定される検出情報に基づいて与えられる画像から顔を検出する顔検出器と、
上記顔検出器の顔サイズを含む検出情報を設定し、入力された画像の全画像領域を分割し、当該分割した画像をそれぞれ時分割に上記顔検出器に与える処理部と、を有し、
上記顔検出器は、
検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、
上記処理部は、
分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う
カメラ装置。
【請求項１１】
上記処理部は、
上記顔検出器により取得した顔検出結果情報に基づいて、一旦顔が検出された場合、検出された顔に対し、当該顔を対象とした周辺の画像領域のみを検出するように上記顔検出器を制御する
請求項１０記載のカメラ装置。
【請求項１２】
上記処理部は、
顔検出された元画像における位置と顔サイズをもとに、検出した顔サイズに対し、あらかじめ設定された比率にて検出領域を決定し、あらかじめ設定された検出する顔サイズのみを検出し、以降、当該決定した検出領域における顔検出を繰り返すように制御する
請求項１１記載のカメラ装置。
【請求項１３】
上記処理部は、
当該決定した検出領域における顔検出を行いつつ、バックグランドで分割した顔検出を行うように制御する
請求項１２記載のカメラ装置。
【請求項１４】
上記処理部は、
上記顔検出器が顔を検出する領域を、その過去の顔の位置関係から移動量を推定し、当該推定した移動量を加味した範囲とする機能を有する
請求項１１記載のカメラ装置。
【請求項１５】
上記処理部は、
上記全画像領域を、分割境界線上で画像のオーバーラップ領域を持つように分割し、
全ての分割処理後の顔検出の結果のマージ並びに切り出し位置におけるオーバーラップ領域において同じ顔が複数検出された場合に、不要な顔検出の結果を無効にする
請求項１０から１４のいずれか一に記載のカメラ装置。
【請求項１６】
上記処理部は、
上記全画像領域の動きを検出し、動きのあった領域のみを対象に顔を検出するように上記顔検出器を制御する
請求項１０から１５のいずれか一に記載のカメラ装置。
【請求項１７】
顔検出器において設定される顔サイズを含む検出情報に基づき与えられる画像から顔を検出する画像処理方法であって、
上記検出情報を設定するステップと、
入力画像の全画像領域を分割するステップと、
上記分割した画像をそれぞれ時分割に上記顔検出器に与えるステップと、を有し、
上記顔検出器において、
検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、
分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う
画像処理方法。
【請求項１８】
顔検出器において設定される顔サイズを含む検出情報に基づき与えられる画像から顔を検出する画像処理であって、
上記検出情報を設定する処理と、
入力画像の全画像領域を分割する処理と、
上記分割した画像をそれぞれ時分割に上記顔検出器に与える処理と、を有し、
上記顔検出器において、
検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、
分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う
画像処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像された画像から顔を検出し、また、画像の歪みを補正する機能を有する画像処理装置、カメラ装置、画像処理方法、およびプログラムに関するものである。
【背景技術】
【０００２】
撮像素子（イメージングセンサ）により撮像した画像から被写体の顔を検出する顔検出器を備えたカメラ装置が実用に供されている。
【０００３】
このようなカメラ装置においては、顔検出器に与える画像は一般的にイメージングセンサにて撮像した画像を縮小したものを使用することが多い。
【０００４】
また、顔検出器における顔を検出する時間は、一般的にイメージングセンサにて撮像されるフレームレートよりも遅いことが多く、実際（リアルタイム）に撮像した画像に対し、顔検出器からの検出結果は数フレーム前の遅れた情報となる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記した技術においては、顔検出器に与える画像は一般的にイメージングセンサにて撮像した画像を縮小したものを使用することが多いが、たとえば広角レンズを用いて広角撮像した画像は被写体が小さく撮像されるため、自ずと顔も小さく撮像される。
したがって、広角撮像した全画像領域を縮小し、顔検出器に与えた場合、カメラ装置からの距離がかなり近い顔しか検出することができないという不利益がある。
【０００６】
たとえば、一般的なデジタルスチルカメラ（ＤＳＣ）などで集合写真等、撮像する被写体の幅が広い場合、レンズ画角が狭いため、自ずと被写体との距離をあける（離れる）必要がある。このとき、同様に被写体となる顔を検出することができない。
【０００７】
上述した場合において、顔検出器に与える画像を大きくすることも考えられるが、顔検出用の画像メモリの容量を大きくする必要が生じ、コストが増大する。
また、このとき、顔検出用の画像メモリの容量を大きくした分、顔を検索する時間が指数的に増大するため、結果、検出時間が増大する。
【０００８】
また、顔検出器の最小検出顔サイズを変更し、より小さい顔を検出しようとすることも考えられる。
しかし、一般的に小さいサイズの顔を検出することには限界があり、結果、検出できないことが多い。
【０００９】
また、上述したように、顔検出器における顔を検出する時間は、一般的にイメージングセンサにて撮像されるフレームレートよりも遅いことが多く、実際（リアルタイム）に撮像した画像に対し、顔検出器からの検出結果は数フレーム前の遅れた情報となる。
したがって、被写体となる人が動いている場合、または撮像者が動いている場合、顔検出結果を用いた露光（ＡＥや逆光補正等)制御が適切に行えず、主に静止画用途でしか対応できないという不利益がある。
【００１０】
顔検出時間を短縮させるために、複数の顔検出器を実装するということも考えられるが、システム的なコストが増大する。
【００１１】
本発明は、コスト増を招くことなく、顔検出器の検出可能な顔のサイズ全体にわたった顔検出が可能となり、顔のサイズに依存しない露光制御が可能で、ひいては画質の向上を図ることが可能な画像処理装置、カメラ装置、画像処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の観点の画像処理装置は、設定される検出情報に基づいて与えられる画像から顔を検出する顔検出器と、上記顔検出器の顔サイズを含む検出情報を設定し、入力された画像の全画像領域を分割し、当該分割した画像をそれぞれ時分割に上記顔検出器に与える処理部と、を有し、上記顔検出器は、検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、上記処理部は、分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う。
【００１３】
好適には、上記処理部は、上記全画像領域を、分割境界線上で画像のオーバーラップ領域を持つように分割し、全ての分割処理後の顔検出の結果のマージ並びに切り出し位置におけるオーバーラップ領域において同じ顔が複数検出された場合に、不要な顔検出の結果を無効にする（結果のリジェクトを行う）。
【００１５】
また、本発明の画像処理装置は、検出情報に基づいて与えられる画像から顔を検出する顔検出器と、上記顔検出器の検出情報を設定し、入力された画像の全画像領域を分割し、当該分割した画像をそれぞれ時分割に上記顔検出器に与える処理部と、を有し、上記顔検出器は、検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、上記処理部は、上記顔検出器により取得した顔検出結果情報に基づいて、一旦顔が検出された場合、検出された顔に対し、当該顔を対象とした周辺の画像領域のみを検出するように上記顔検出器を制御する。
【００１６】
好適には、上記処理部は、顔を検出する領域を、当該顔の大きさに比例した範囲とする機能を有する。
【００１７】
好適には、上記処理部は、上記顔検出器が顔を検出する領域を、その過去の顔の位置関係から移動量を推定し、当該推定した移動量を加味した範囲とする機能を有する。
【００１８】
好適には、上記処理部は、全画像領域の動きを検出し、動きのあった領域のみを対象に顔を検出するように上記顔検出器を制御する。
【００１９】
本発明の第２の観点のカメラ装置は、撮像素子と、上記撮像素子に被写体像を結像する光学系と、上記撮像素子による広角レンズで撮像した元画像を、歪み補正パラメータを用い歪み補正が可能な画像処理装置と、を有し、上記画像処理装置は、設定される検出情報に基づいて与えられる画像から顔を検出する顔検出器と、上記顔検出器の顔サイズを含む検出情報を設定し、入力された画像の全画像領域を分割し、当該分割した画像をそれぞれ時分割に上記顔検出器に与える処理部と、を有し、上記顔検出器は、検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、上記処理部は、分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う。
【００２０】
本発明の第３の観点は、顔検出器において設定される顔サイズを含む検出情報に基づき与えられる画像から顔を検出する画像処理方法であって、上記検出情報を設定するステップと、入力画像の全画像領域を分割するステップと、上記分割した画像をそれぞれ時分割に上記顔検出器に与えるステップと、を有し、上記顔検出器において、検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う。
【００２１】
本発明の第４の観点は、顔検出器において設定される顔サイズを含む検出情報に基づき与えられる画像から顔を検出する画像処理であって、上記検出情報を設定する処理と、入力画像の全画像領域を分割する処理と、上記分割した画像をそれぞれ時分割に上記顔検出器に与える処理と、を有し、上記顔検出器において、検出可能な範囲で、全画像における最大サイズの顔から、最小サイズの顔までを検出し、分割し縮小、または単に切り出した画像を顔検出する際、これから行う顔検出において、先に行った顔サイズの顔検出で検出できなかった小さい顔サイズでの顔検出を行うように、上記顔サイズを含む上記検出情報の上記顔検出器への設定を行う画像処理をコンピュータに実行させるプログラムである。
【００２２】
本発明によれば、処理部において、検出情報が顔検出器に対して設定される。そして、処理部においては、たとえば歪み補正前の全画像領域が分割され、分割した画像がそれぞれ時分割に顔検出器に与えられる。
そして、顔検出器において、その検出可能な範囲で、全画像における大サイズの顔から最小サイズの顔までが検出される。
【発明の効果】
【００２３】
本発明によれば、コスト増を招くことなく、顔検出器の検出可能な顔のサイズ全体にわたった顔検出が可能となる。
小さいサイズの顔を検出可能となることで、顔のサイズに依存しない露光制御が可能となり、画質の向上を図ることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２５】
図１は、本発明の実施形態に係る画像処理装置を採用したカメラ装置の構成例を示すブロック図である。
【００２６】
本実施形態に係るカメラ装置１０は、図１に示すように、光学系１１、撮像素子（イメージングセンサ）１２、カメラ信号処理部１３、歪み補正回路１４、出力処理部１５、スイッチ１６、縮小回路および画像メモリ１７、顔検出器１８、および制御部としてのマイクロコンピュータ（マイコン）１９を有する。
これらの構成要素のうち、スイッチ１６、縮小回路および画像メモリ１７、およびマイクロコンピュータ１９により画像処理装置の処理部が構成される。
【００２７】
なお、本実施形態においては、レンズ歪曲収差における歪み補正パラメータを、単に歪み補正パラメータという。
【００２８】
本実施形態に係るカメラ装置１０は、広角レンズで撮像した画像を元に顔検出器１８にて顔を検出する制御機能（アルゴリズム）を有し、撮像した歪み補正前の画像を分割し時分割に顔検出器１８の制御を行い、その後、検出した顔を元に歪み補正前の画像を切り出して顔検出器１８の制御を行う。
また、カメラ装置１０は、動きを検出した領域を対象に上記の顔検出を行う機能を有する。
また、カメラ装置１０は、撮像した歪み補正前の画像から顔を検出した場合、場合によってはその後、歪み補正後の画像にて顔検出する機能を有する。
これらの機能を有するカメラ装置１０は、広角レンズで撮像した歪み補正前の全画像領域から顔を検出することが可能であり、かつ歪み補正後の画像からも顔を検出することが可能なカメラとして構成されている。
【００２９】
本実施形態に係るカメラ装置１０は、歪み補正パラメータを用いることにより、広角撮像した画像の歪み補正をしつつ、電子的な切り出し（パン・チルト・ズーム）、合成等を行う機能を有する。
このとき、マイクロコンピュータ１９は、歪み補正パラメータを内蔵のＲＯＭ／ＲＡＭ等のメモリにあらかじめ記憶してもよいし、マイクロコンピュータ１９の演算により求めてもよいし、カメラ装置１０が伝送回線によって接続されているホストコンピュータ（図示せず）からの外部通信により受信するように構成することも可能である。
【００３０】
光学系１１は、たとえば超広角レンズにより形成される広角レンズ１１１を含み、広角レンズ１１１を通した被写体像を撮像素子１２の撮像面に結像させる。
【００３１】
撮像素子１２は、たとえばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｙｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）デバイスであるイメージングセンサにより構成される。
撮像素子１２は、半導体基板上にマトリクス状に配列した光センサにより光学系１１による被写体像を検出して信号電荷を生成し、同信号電荷を垂直信号線や水平信号線を介して読み出して被写体のデジタル画像信号をカメラ信号処理部１３に出力する。
【００３２】
カメラ信号処理部１３は、カラー補間、ホワイトバランス、ＹＣｂＣｒ変換処理、圧縮、ファイリング等の処理を行い、歪み補正なし画像（以降、元画像という）ＩＭＮＣとして、歪み補正回路１４、並びにスイッチ１６を介して縮小回路および画像メモリ１７に出力する。
【００３３】
歪み補正回路１４は、カメラ信号処理部１３による元画像ＩＭＮＣを歪み補正パラメータにより歪み補正を行い、出力処理部１５に出力する。
【００３４】
出力処理部１５は、歪み補正回路１４から出力された、元画像に歪み補正、切り出し、合成等が施された画像データにガンマ処理、マスク処理、フォーマット変換等を施して外部に出力し、また補正後画像ＩＭＡＣとしてスイッチ１６に出力する。
【００３５】
スイッチ１６は、接点ａがカメラ信号処理部１３の出力部に接続され、接点ｃが出力処理部１５の出力部に接続され、接点ｂが縮小回路および画像メモリ１７の入力部に接続されている。
スイッチ１６は、マイクロコンピュータ１９の制御により、カメラ信号処理部１３による元画像（歪み補正していない画像）または出力処理部１５による歪み補正された画像を縮小回路および画像メモリ１７に入力させる。
【００３６】
縮小回路および画像メモリ１７は、縮小回路１７１および画像メモリ１７２を有する。
縮小回路１７１は、スイッチ１６を介して入力したカメラ信号処理部１３による元画像（歪み補正していない画像）または出力処理部１５による歪み補正された画像における全領域、または分割し切り出した領域を任意の縮小率にて縮小したり、分割し単に切り出した画像を画像メモリ１７２に格納する。
縮小回路１７１は、マイクロコンピュータ１９により設定される画像の分割、切り出し領域の設定情報や縮小率の情報を用いて、歪み補正前の元画像ＩＭＮＣまたは歪み補正後の画像ＩＭＡＣの全画像領域を分割（4/9/16/25/36分割等）し、その分割した画像をそれぞれ時分割に顔検出器１８に与える。
なお、このとき、縮小後の画像サイズは顔検出器１８が処理可能なサイズである。
【００３７】
顔検出器１８は、マイクロコンピュータ１９により設定される検出する顔サイズや領域などの情報を用いて、画像メモリ１７２内に格納された画像を元に顔を検出する。
なお、顔検出器１８はソフトウェア、ハードウェアどちらで実装してもよく、アルゴリズムや回路構成などは公知・既存のものでよい。
【００３８】
マイクロコンピュータ１９は、歪み補正すべき元画像部分を示す歪み補正パラメータを、歪み補正回路１４に供給し、元画像に対する歪み補正を制御する機能を有する。
また、マイクロコンピュータ１９は、スイッチ１６の切り替え制御、縮小回路１７１における画像の分割、切り出し領域の設定や縮小率の設定を行い、画像の分割、切り出し処理や縮小処理を制御する機能を有する。
マイクロコンピュータ１９は、顔検出器１８における検出する顔サイズや領域などの設定を行い、顔検出処理を制御する機能を有し、位置や顔サイズなどの検出結果を取得する。
【００３９】
マイクロコンピュータ１９は、歪み補正前または歪み補正後の全画像領域を分割（4/9/16/25/36分割等）し、その分割した画像をそれぞれ時分割に顔検出器１８に与えることにより、歪み補正前または補正後の全画像における（顔検出器１８が検出可能な範囲で）最大サイズの顔から、最小サイズの顔までを網羅した検出をするように、スイッチ１６、縮小回路および画像メモリ１７、並びに、顔検出器１８を制御する。
【００４０】
マイクロコンピュータ１９は、分割した際、オーバーラップ領域を持つことにより、分割境界線上に顔があった場合も、検出可能となるように制御する。
マイクロコンピュータ１９は、顔検出器１８において、検出する顔サイズが分割し縮小した画像間で重ならないよう、顔検出器１８の設定を行い、検出時間を短縮可能に制御する。
【００４１】
マイクロコンピュータ１９は、顔検出器１８により取得した顔検出結果情報に基づいて、検出された顔に対し、その後、その顔を対象とした周辺の画像領域のみを検出し、一旦検出した顔に対し検出時間を短縮するように制御する機能を有する。
この場合、マイクロコンピュータ１９は、検出する領域を、その顔の大きさに比例した範囲とする機能を有する。
また、マイクロコンピュータ１９は、検出する領域を、その過去の顔の位置関係から移動量を推定し、それを加味した範囲とする機能を有する。
【００４２】
また、マイクロコンピュータ１９は、歪み補正前または歪み補正後の全画像領域の動きを検出し、動きのあった領域のみを対象に顔を検出し、検出時間を短縮するように制御する機能を有する。
なお、この場合、動き検出した結果（動きベクトル等）を顔検出に利用する訳ではない。
【００４３】
ここで、本実施形態に係る広角撮像した画像に対する顔検出機能や撮像した画像等について、より具体的に説明する。
【００４４】
まず、顔検出の要約（概要）について図２および図３に関連付けて説明する。
【００４５】
＜顔検出の要約＞
図２は、顔検出の画像と制御フローを模式的に示す図である。図３は、マイクロコンピュータの検出領域および検出する顔サイズの設定例を示す図である。
【００４６】
一般的にカメラ信号処理部１３より出力される元画像ＩＭＮＣの画素数は、顔検出用の画像メモリ１７２の画素数より大きい。
そのため、元画像ＩＭＮＣの画素数を顔検出用の画像メモリ１７２の画素数に合わせるため、元画像ＩＭＮＣを縮小し、縮小した画像ＩＭＲＤを顔検出用の画像メモリに格納する。
【００４７】
なお、一般的にイメージングセンサ１２の画素数やカメラ信号処理部１３より出力される元画像ＩＭＮＣの画素数の大きさによらず、顔検出用の画像メモリ１７２の画素数は一定であることが多い。
これはレンズの画角が同じである場合、イメージングセンサ１２にて撮像される画像や、カメラ信号処理部１３より出力される元画像ＩＭＮＣは、撮像される領域（画角）自体に差はなく、その差は単に解像度だけであり、縮小し顔検出用の画像メモリ１７２に格納された画像上では、その差はほぼ同等になるからである。
【００４８】
マイクロコンピュータ１９は、図３に示すように、顔検出器１８に対し、顔検出用の画像メモリ１７２に対する検出領域ＤＴＡや、検出する顔サイズＳＺ１〜ＳＺｎ等を設定した後、顔検出器１８に検出を開始させる。
なお、このとき、一般的に複数の検出領域や顔サイズを指定できることが多いため、顔検出器１８はそれらを連続で実行可能である。
【００４９】
顔検出器１８は、設定された検出領域ＤＴＡや検出する顔サイズＳＺ（１〜ｎ）等に従い、顔検出用の画像メモリ１７２内の画像から顔検出を行い、検出完了後、顔検出した顔検出用の画像メモリ１７２内の位置や顔サイズ情報をマイクロコンピュータ１９に出力する。
または、マイクロコンピュータ１９が画像メモリ１７２内の位置や顔サイズ情報を読み出す。
【００５０】
なお、先にも示したが、顔検出器１８はソフトウェア、ハードウェアどちらで実装してもよく、アルゴリズムや回路構成などは公知・既存のものでよい。
ここでは、あくまで後述する内容の理解度を深めるための例として示している。
【００５１】
次に、標準画角で撮像した画像と広角撮像した画像について図４および図５に関連付けて説明する。
【００５２】
＜標準画角で撮像した画像と広角撮像した画像＞
図４は、標準画角で撮像した画像と広角撮像した画像の例を示す図である。
図５は、顔検出した場合の標準画角で撮像した画像と広角撮像した画像の例を示す図である。
【００５３】
図４に示すように、広角撮像した画像ＩＭＷＡは被写体ＯＢＪが小さく撮像され、自ずと顔も小さく撮像される。
そのため、同じシステム構成（元画像のサイズや縮小回路の縮小率、顔検出器）を用いても、標準画角で撮像した画像ＩＭＳＤにおいて検出可能な顔サイズも、広角撮像では検出できない可能性がある。
【００５４】
図５に顔検出した場合の例を示す。
なお、図５では、例として縮小回路１７１における縮小率（画素数比）を1/4としたが、実際の縮小率は使用する元画像ＩＭＮＣの画素数と、顔検出器１８が処理可能な画像の画素数の比により決まることは言うまでもない。
【００５５】
次に、最大サイズの顔から最小サイズの顔までを網羅した顔を検出する方法について、図６に関連付けて説明する。
【００５６】
＜第１の方法：最大サイズの顔から最小サイズの顔までを網羅した顔を検出する方法＞
図６は、最大サイズの顔から最小サイズの顔までを網羅した顔を検出する方法を説明するための図である。
【００５７】
元画像ＩＭＮＣにおける全画像を分割（1/4/9/16/25分割等）し（図６の例は４分割）、その分割した画像ＩＭＤ１〜ＩＭＤ４をそれぞれ時分割に縮小回路１７１にて顔検出器１８が処理可能な画素数に縮小し顔検出器１８に与える。このことにより、元画像ＩＭＮＣの全画像における最大サイズの顔から、最小サイズの顔までを網羅した検出をする。
つまり、元画像ＩＭＮＣを顔検出器１８が処理可能な画素数に縮小することにより、縮小し過ぎて潰れてしまい検出不可能だった顔が、元画像ＩＭＮＣを分割し縮小した場合は縮小し過ぎることがなくなり、また元画像を切り出した場合はそのままの画像サイズを顔検出器１８に与えることができる。
このため、真に元画像ＩＭＮＣの全画像における最大サイズの顔から、最小サイズの顔までを網羅できることになる。
【００５８】
なお、元画像ＩＭＮＣに対する分割数や切り出し位置、分割された画像ＩＭＤ１〜ＩＭＤ４を顔検出器１８が処理できる画素数に縮小するための縮小率等の設定はマイクロコンピュータ１９が行う。
また、時分割処理により検出された結果はマイクロコンピュータ１９が取得し、全ての分割処理後の顔検出の結果のマージや、切り出し位置におけるオーバーラップ領域ＯＬＰＡにおいて同じ顔が複数検出された場合における、顔検出の結果のリジェクトを行う。
【００５９】
また、図６の例では４分割としたが、元画像ＩＭＮＣの画素数が顔検出器１８の処理可能な画素数に対し、画素数比で１６倍であれば、４分割したものを行った後、更に小さいサイズの顔を検出したいのであれば１６分割したものを同様に行えばよく、分割数や縮小率は任意であることは言うまでもない。
【００６０】
次に、最大サイズの顔から最小サイズの顔までを網羅した顔を検出する方法において、検出時間を高速化する方法について、図７に関連付けて説明する。
【００６１】
＜第２の方法：検出時間を高速化する方法＞
図７は、全画素サイズを網羅した顔を検出する方法において検出時間を高速化する方法を説明するための図である。
【００６２】
まず、元画像を分割せず顔検出器１８が処理可能な画素数に縮小し、顔検出器１８が検出可能な最大の顔サイズから最小の顔サイズまで、顔の検出を行う。
次に、分割し縮小、または単に切り出した画像を顔検出する際、先に行った顔検出の顔サイズと、これから行う顔検出の顔サイズが重ならないよう、つまり小さいサイズの顔のみになるよう、顔検出器１８の設定を制御することにより、検出時間を短縮する。
【００６３】
図７にその例を示す。
図７の例では、顔検出器１８が処理可能な画像サイズである顔検出サイズとして、「８０×８０」、「６０×６０」、「５０×５０」、「４０×４０」、「２８×２８」、「２０×２０」が例示されている。
１／４縮小した画像の顔検出サイズとして、「１６０×１６０」、「１２０×１２０」、「１００×１００」、「８０×８０」、「５６×５６」、「４０×４０」が例示されている。
縮小せず切り出した画像の顔検出サイズとして、「８０×８０」、「６０×６０」、「５０×５０」、「４０×４０」、「２８×２８」、「２０×２０」が例示されている。
【００６４】
図７の例においては、分割し縮小、または単に切り出した画像を顔検出する際、先に行った顔検出の顔サイズと、これから行う顔検出の顔サイズが重ならないように、次のように処理される。
【００６５】
＜１＞：１／４縮小した画像で最大サイズ（「１６０×１６０」）の顔から最小サイズ（「４０×４０」）の顔間で検出する。
【００６６】
＜２＞：上記＜１＞の処理で検出可能な最小サイズの顔より小さいサイズ（「２８×２８」，「２０×２０」）の顔のみを検出する。
【００６７】
＜３＞：上記＜１＞の処理にてサイズが「４０×４０」以上の顔は既に顔検出器１８にて検出処理しているため、ここでは検出処理を省く。
【００６８】
図７の例では４分割としたが、元画像の画素数が顔検出器１８の処理可能な画素数に対し、画素数比で１６倍であれば、１分割を行った後、４分割では１分割で検出できなかった小さい顔サイズのみを検出し、更に１６分割では４分割で検出できなかった小さい顔サイズのみを検出すればよい。
なお、検出する顔サイズは分割した画像等に捕らわれず任意であることは言うまでもない。
【００６９】
＜第３の方法：検出画像の対象＞
上述した顔検出方法は歪み補正後の全画像を対象にしてもよく、広角撮像ではない、つまり歪みがない画像を対象にしてもよく、広角撮像ではない、つまり歪みがない撮像下における出力画像を対象にしても、同様の方法を用いることができることは言うまでもない。
【００７０】
次に、一旦検出した顔に対する検出時間を短縮する方法について、図８〜図１１に関連付けて説明する。
【００７１】
＜第４の方法：一旦検出した顔に対する検出時間を短縮する方法＞
図８は、一旦検出した顔に対する検出時間を短縮する方法を説明するための図である。
図９は、分割して顔検出を行った後、検出した顔に対し、以降、その顔の領域における顔検出を繰り返す例を示す図である。
図１０は、分割して顔検出を行った後、検出した顔に対し、以降、その顔の領域における顔検出を行いつつバックグランドで分割した顔検出を行う例を示す図である。
図１１は、特定の顔を検出する際、元画像における過去の顔の位置やサイズから、移動量を推定し、元画像における検出位置の移動や検出領域の拡大・縮小を行う例を示す図である。
【００７２】
顔検出器１８が検出可能な全ての顔サイズを検出する時間は、一般的にイメージングセンサ１２にて撮像されるフレームレートよりも遅いことが多く、それを繰り返し使用し顔検出するのは静止画など、被写体や撮像者が動いていない場合でない限り実用的ではない。
そこで、本実施形態においては、一旦顔が検出された場合、その顔を対象とした周辺の画像領域のみを顔検出することにより検出時間を短縮する。
【００７３】
つまり、顔検出された元画像における位置と顔サイズを元に、検出された顔サイズに対し、あらかじめ設定された比率にて検出領域を決定し、また、あらかじめ設定された検出する（複数の）顔サイズのみを検出する。以降、これを繰り返す（以降、特定の顔を検出するという）。
これにより、顔検出器が検出可能な全ての顔サイズを検出する上記した方法における検出時間より、大幅に検出時間を短縮することが可能であり、被写体や撮像者が動いていても、ある程度の移動速度であれば追従しつつ顔を検出可能となる。
【００７４】
図８にその例を示す。
図８の例において、元画像において全てのサイズ（大きさ）の顔を検出中、顔を検出したとする。
この場合、検出した顔サイズに対して、あらかじめ設定されている比率で、特定の顔を検出する領域を拡大し、元画像における切り出し領域や縮小率を決定する。
そして、検出した顔サイズに対し、あらかじめ設定されている顔サイズのみ顔を検出する。
図８の例においては、「５０×５０」、「４０×４０」、「２８×２８」の顔サイズのみの顔の検出が行われる。
【００７５】
なお、顔が検出された時点において、図９に示すように、顔検出器１８が検出可能な全ての顔サイズを検出する上述した第１、第２、または、および第３の方法を中断してもよいし、図１０に示すように、第１、第２、または、および第３の方法のバックグラウンドで時分割に検出し続けてもよい。
【００７６】
また、特定の顔を検出する際の顔数は任意である。
また、図１１に示すように、特定の顔を検出する際、元画像における過去の顔の位置やサイズから、移動量を推定し、元画像における検出位置の移動や検出領域の拡大・縮小を行ってもよい。
【００７７】
なお、推定結果が元画像の領域を超えた場合は、当然検出領域は元画像の端に合わせることは言うまでもない。また、このときの移動量の推定は任意のアルゴリズムを用いることが可能である。
【００７８】
次に、動き検出により上記した第１、第２、第３の方法の検出時間を高速化する方法について、図１２に関連付けて説明する。
【００７９】
＜第５の方法：.動き検出により検出時間を高速化する方法＞
図１２は、動き検出により検出時間を高速化する方法を説明するための図である。
【００８０】
上述した第１、第２、および第３の方法による顔検出において、動きを検出し、その動きのあった領域に限定することで、顔を検出する領域や分割数を制限し、結果、更に高速に顔を検出する。
なお、このとき、動きの検出はソフトウェア、ハードウェアどちらで実装してもよく、アルゴリズムや回路構成などは任意のものでよい。
また、この方法においての特徴は、動き検出した結果（動きベクトル等）を顔検出に利用しないことである。
ここでは例として動き検出器という。
【００８１】
まず、元画像における動きを、動き検出器により検出する。
このとき、動きがあれば、動きのあった領域のみを第１、第２、または、および第３の方法にて、顔を検出する。
これにより、第１、第２、または、および第３の方法における全ての分割数の顔を検出することはなくなるため、大幅に検出時間を短縮することが可能であり、被写体に動きがあった直後、大きい顔サイズから小さい顔サイズまで高速に顔検出が可能となる。
【００８２】
図１２にその例を示す。
図１２の例では、元画像ＩＭＮＣにおいて、動きを検出し、動きのある領域を、たとえば四角の枠でかこみＦＬＭで囲み、その領域のみ顔を検出する。
この場合、顔検出する領域を分割して、顔を検出してもよい。
【００８３】
なお、この方法により顔を検出した後、上述した第４の方法を行ってもよいことは言うまでもない。
【００８４】
＜第５の方法の検出画像の対象について＞
第５の方法は歪み補正後の全画像を対象にしてもよく、広角撮像ではない、つまり歪みがない画像を対象にしてもよく、広角撮像ではない、つまり歪みがない撮像下における出力画像を対象にしても、同様の方法が用いることができることは言うまでもない。
【００８５】
以上説明したように、本実施形態によれば、マイクロコンピュータ（制御部）１９は、歪み補正前または歪み補正後の全画像領域を分割（4/9/16/25/36分割等）し、その分割した画像をそれぞれ時分割に顔検出器１８に与えるように制御することから、顔検出器１８が検出可能な範囲で最大サイズの顔から、最小サイズの顔までを網羅した検出を行うことができる。
すなわち、撮像した画像における、顔検出器が検出可能な最小の顔サイズから最大の顔サイズまでを網羅した顔検出が可能になり、小さいサイズの顔を検出可能となる。
これにより、顔のサイズに依存しない最適な露光制御（ＡＥや逆光補正）が可能になり集合写真などの画品質が向上する。
【００８６】
また、顔検出の高速化を図ることが可能で、リアルタイム性が向上した顔検出を実現できる。
また、広角撮像における顔を検出する距離が大幅に拡大することができ、“広角撮像＋顔検出”という用途の実用性・商品性が大幅に向上し、監視カメラやＤＳＣ等への応用も大幅に広がる。
【００８７】
また、一旦顔を検出した後、特定の顔を高速で検出可能となるため、リアルタイム性が向上し、被写体となる人が動いている場合、または撮像者が動いている場合においても、顔検出器１８が検出可能な範囲で最大サイズの顔から、最小サイズの顔までを網羅した検出を行うことができ、顔検出の高速化を図ることが可能で、リアルタイム性が向上した顔検出を実現できる。
【００８８】
また、広角撮像において、一旦顔を検出した後、特定の顔を高速で検出可能となるため、歪み補正により電子パン、チルト、ズームで追従しつつ表示することが可能になる。
【００８９】
なお、本発明は、基本的に、広角撮像が可能なカメラだけではなく、一般的なＤＳＣや監視カメラなど、光学ズームの有無や固定焦点等に関わらず、カメラ全般を対象とすることが可能である。
上述した顔検出機能は、広角撮像ではない、つまり歪みがない画像を対象にしても適用可能である。
また、上述した顔検出機能は、広角撮像ではない、つまり歪みがない撮像下における出力画像を対象にしても適用可能である。
上記した技術をこれに当てはめると、イメージングセンサにて撮像した全画像領域から顔を検出することが可能であり、かつ出力（縮小処理後等）画像からも顔を検出することが可能なカメラを実現することが可能となる。
【００９０】
なお、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、ＣＰＵ等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー（登録商標）ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施形態に係る画像処理装置を採用したカメラ装置の構成例を示すブロック図である。
【図２】顔検出の画像と制御フローを模式的に示す図である。
【図３】マイクロコンピュータの検出領域および検出する顔サイズの設定例を示す図である。
【図４】標準画角で撮像した画像と広角撮像した画像の例を示す図である。
【図５】顔検出した場合の標準画角で撮像した画像と広角撮像した画像の例を示す図である。
【図６】最大サイズの顔から最小サイズの顔までを網羅した顔を検出する方法を説明するための図である。
【図７】全画素サイズを網羅した顔を検出する方法において検出時間を高速化する方法を説明するための図である。
【図８】一旦検出した顔に対する検出時間を短縮する方法を説明するための図である。
【図９】分割して顔検出を行った後、検出した顔に対し、以降、その顔の領域における顔検出を繰り返す例を示す図である。
【図１０】分割して顔検出を行った後、検出した顔に対し、以降、その顔の領域における顔検出を行いつつバックグランドで分割した顔検出を行う例を示す図である。
【図１１】特定の顔を検出する際、元画像における過去の顔の位置やサイズから、移動量を推定し、元画像における検出位置の移動や検出領域の拡大・縮小を行う例を示す図である。
【図１２】動き検出により検出時間を高速化する方法を説明するための図である。
【符号の説明】
【００９２】
１０・・・カメラ装置、１１・・・光学系、１１１・・・広角レンズ、１２・・・撮像素子、１３・・・カメラ信号処理部、１４・・・歪み補正回路、１５・・・出力処理部、１６・・・スイッチ、１７・・・縮小回路および画像メモリ、１８・・・顔検出器、１９・・・マイクロコンピュータ（マイコン）。
【図１】
0004539729.tif 000002
【図２】
0004539729.tif 000003
【図３】
0004539729.tif 000004
【図４】
0004539729.tif 000005
【図５】
0004539729.tif 000006
【図６】
0004539729.tif 000007
【図７】
0004539729.tif 000008
【図８】
0004539729.tif 000009
【図９】
0004539729.tif 000010
【図１０】
0004539729.tif 000011
【図１１】
0004539729.tif 000012
【図１２】
0004539729.tif 000013