説明

画像処理装置、ホワイトバランスの評価値を演算する方法、ホワイトバランスの評価値を演算する方法を実現するためのプログラムコードを有するプログラム、および、このプログラムを記憶した記憶媒体

【課題】 顔検出時に高色温度下の肌色を低色温度下の白色と誤認識することなく、正確なホワイトバランス処理を行うことを可能にする。
【解決手段】 撮像装置が顔検出モードを備え、かつ顔が検出されたときには、顔領域と、輝度情報および色情報の値が顔領域のその値に対して所定の範囲内である体候補領域を検出し、これらの領域をWB評価値の取得領域から除外する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された画像データに対して画像処理を施して出力画像データとする撮像装置において、顔検出時におけるホワイトバランス制御方法に関するものである。
【背景技術】
【0002】
デジタルカメラやデジタルビデオカメラなどの撮像装置では、画像データの色バランスをとるために、以下に説明するようなホワイトバランス(これよりWBという)の調整が行われている。
【0003】
撮像素子から色フィルタを通過して出力されたアナログ信号は、アナログ/デジタル(これよりA/Dという)変換器によってデジタル信号に変換され、図3(a)のようなブロックにそれぞれ分割される。
【0004】
ただし各ブロックは、図3(b)に示すように、色信号R(赤),G1(緑),G2(緑),B(青)を一つずつ含む単位で構成される。
【0005】
これらのブロックそれぞれに対して、色評価値
Cx={(R+G2)−(B+G1)}/Y
Cy={(R+B)/4−(G1−G2)/4}/Y
Y=(R+G1+G2+B)/4
を算出する。
【0006】
なお、Yは輝度信号である。
【0007】
図4は色温度によって移り変わる白検出範囲の様子を示す図である。
【0008】
また、図4には横軸をCx=(R−B)/Y、縦軸をCy=(R+B)/4Yとした色座標を示しており、あらかじめ白色を高色温度下から低色温度下まで撮像し、色評価値Cx、Cyを座標上に示すことで定められた白軸を示している。
【0009】
実際の光源において白色には若干のばらつきが存在するため、白軸を中心として幅を持たせた範囲を白検出範囲(白と判断すべき領域)とする。
【0010】
すなわち、各ブロックについて求められた色評価値Cx、Cyを図4の座標上に示している。
【0011】
そして、これらのうち白検出範囲に含まれる色評価値のブロックを白色であると仮定する。さらに、白検出範囲に入った色画素の積分値SumR、SumG1、SumG2、SumBを算出して、以下の式を用いることでWBゲインを算出する。
【0012】
ただしkWB_R、kWB_G1、kWB_G2、kWB_Bはそれぞれ色信号R、G1、G2、BのWBゲインである。
kWB_R=1.0/SumR
kWB_G1=1.0/SumG1
kWB_G2=1.0/SumG2
kWB_B=1.0/SumB
しかしながら、上記に示したWB係数算出においては以下のような欠点があった。
【0013】
高色温度下において、白色の色評価値は図4の領域A付近に分布する。
【0014】
しかしながら、高色温度光源下において、人の肌の色評価値Cx、Cyを座標上に示すと、白検出範囲における低色温度側に分布してしまう。
【0015】
従って、撮像画面に白色が少なくかつ人肌がアップのシーンでは画面の色評価値は図4の領域Bに分布することになってしまう。
【0016】
つまり肌色を低色温度下の白色と誤判別し、人の肌を白色にしてしまうという問題があった。
【0017】
そこで、特開2003−189325号公報には、顔検出可能な撮像装置におけるWB制御に関する技術が開示されている。上記文献には顔認識モードで顔を認識した場合、WB評価値の取得エリアを顔部分から移動して、顔部分のWBの演算を行わないようにするという技術が開示されている。
【0018】
上記技術によって人物撮像を行ったときに、人物の顔の色と、無彩色部分に低色温度光源の光が照射されたときの色合いが非常に近いために誤認識してしまい、顔を白くしてしまうという問題を解決している。
【特許文献1】特開2003−189325号公報
【発明の開示】
【発明が解決しようとする課題】
【0019】
しかし、上記特許文献にて開示されている技術では顔部分のみをWB評価値取得エリアから除外するため、例えば水着など、顔以外にも肌の露出の多い被写体においては、体の部分の肌色にWB評価値が引っ張られてしまう。
【0020】
そのため、正確なWB制御が行えないという問題がある。
【課題を解決するための手段】
【0021】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、画像データから顔領域を検出する顔検出手段と、検出された顔領域に応じて、前記画像データから体が存在すると推定される体候補領域を抽出する領域抽出手段と、前記顔検出手段による検出結果と前記領域抽出ユニットの抽出結果に基づいて、ホワイトバランスの評価値を算出する演算手段と、を備えることを特徴とする。
【0022】
上記課題を解決し、目的を達成するために、本発明の画像処理装置の制御方法は、画像データから顔領域を検出する顔検出工程と、検出された顔領域に応じて、前記画像データから体が存在すると推定される体候補領域を抽出する領域抽出工程と、前記顔検出工程による検出結果と前記領域工程ユニットの抽出結果に基づいて、ホワイトバランスの評価値を算出する演算工程と、を備えることを特徴とする。
【発明の効果】
【0023】
本発明によれば、シーンに応じてWB評価値の取得領域を変えることで、精度の高いWB処理を可能にする。
【発明を実施するための最良の形態】
【0024】
以下、本発明の好適な実施形態について、図面を参照して詳細に説明する。
【0025】
(第1の実施形態)
図2に従来の顔検出機能を備えた撮像装置のブロック図を示す。
【0026】
図2において、1はレンズ系、絞り、シャッター、CCD等の光電変換機能を有する撮像素子、A/D変換器等が含まれ、レンズ系により撮像素子に投影された像をデジタル信号として出力する撮像部である。
【0027】
2は撮像部1の出力画像データの中に人物の顔が存在するか否かを公知の顔検出方法にて判定し、存在すれば顔領域を検出する顔検出処理部である。
【0028】
代表的な顔検出方法としては、ニューラルネットワークに代表される学習を用いた手法、目や鼻や口といった形状に特徴のある部位を、画像領域からテンプレートマッチングを用いて探し出し、類似度が高ければ顔とみなす手法、がある。
【0029】
他にも、肌の色や目の形といった画像特徴量を検出し統計的解析を用いた手法等、多数提案されており、これらの手法を複数組み合わせて顔認識するのが一般的である。
【0030】
具体的には特開平2002−251380号公報に記載のウェーブレット変換と画像特徴量を利用して顔検出する方法などが挙げられる。
【0031】
3は、顔検出処理部2での情報を基に、絞りおよびシャッタースピードの設定等の露出にかかわる制御を行う露出制御部である。4は、顔検出処理部2での情報を基に顔検出エリアの合焦点位置を特定するオートフォーカス(これよりAFという)制御部である。5は、露出制御部3で決定された絞りおよびメカシャッターを制御する、本露出制御部である。露出制御部3と本露出制御部5は兼用されるのが一般的であるが、ここでは撮像フローの理解を容易にするために別々に記載している。6は本露出撮像されて得られた画像データに対して、WB処理を施すWB制御部である。なお、このWB制御回路6では、彩度調整や、エッジ強調なども行うことができる。7はWB制御回路6にてWB処理されたデータから色差信号U,Vを生成する色信号生成回路である。8はWB制御回路6にてWB処理されたデータから輝度信号Yを生成する輝度信号生成回路である。
【0032】
次に、図1に示すフローチャートを用いて本発明の第1の実施形態の撮像装置における動作処理を説明する。
【0033】
また、図5は顔検出モード時に顔が検出されたときのWB評価値の取得領域を示した図である。図5(a)は、撮像画面全域をWB評価値の取得領域とした場合の図である。図5(b)は、顔検出の結果に基づき、顔領域とほぼ同一輝度情報、および、ほぼ同一色情報をもつ領域を被写体領域としてWB評価値の取得領域から除外した様子を示す図である。ここでは上半身が裸である人を例にあげている。
【0034】
撮像装置の電源がONされると、撮像装置は、ステップS101から始まる撮影動作に備える。
【0035】
ステップS101において、不図示のCPUは、撮像装置が顔検出モードに設定されているか否かを判定する。
【0036】
ステップS101にて、不図示のCPUが、撮像装置が顔検出モードであると判定した場合には処理をステップS102に進めて、顔検出処理部2は撮像素子から得られた画像データに対して顔検出処理を行う。
【0037】
ステップS101にて、不図示のCPUが、撮像装置が顔検出モードでないと判定した場合は、処理をステップS105に進めて、図5(a)の色付き部分をWB評価値の取得領域として設定する。
【0038】
ステップS103にて、不図示のCPUが、顔検出処理部2にて顔が検出されなかったと判断した場合には、処理をステップS105に進めて、図5(a)の色付き部分(画面全域)をWB評価値の取得領域として設定する。
【0039】
そしてステップS103にて、不図示のCPUが、顔検出処理部2にて顔が検出されたと判断した場合には処理をステップS104に進める。
【0040】
ステップS104では、不図示のCPUは、輝度情報および色情報の値が、顔領域でのその値に対して所定の範囲内となる領域を検出し、この領域を体の一部である体候補領域とする。ここで、所定の範囲とは、実際に顔領域と体の素肌領域を多数比較し、その結果から統計的に求められた範囲のことである。そして、処理をステップS106へ進める。
【0041】
ステップS102にて顔が複数検出された場合には、輝度情報および色情報の値が、それぞれの顔領域のその値に対して所定の範囲内である領域をすべて体候補領域として検出する。つまり、複数の顔が検出された場合には、それぞれの顔領域の輝度情報および色情報に基づく体候補領域がすべて検出されることになる。
【0042】
ステップS106では、顔領域と体候補領域を除いた領域である図5(b)の色付き部分をWB評価値の取得領域として指定する。なお、上述したように、図5(b)は上半身が裸である人の例である。この人物が半袖のシャツを着ていれば、肘から先の腕が露出している領域が体候補領域として検出される。
【0043】
ステップS107では、不図示のCPUは、ステップS105またはステップS106で指定したWB評価値の取得領域からWB評価値を求める。
【0044】
ステップS108では、ステップS107での処理の結果に基づき最終的なWB係数を算出する。
【0045】
なお、本実施形態では輝度情報および色情報の値が、顔領域のその値に対して所定の範囲内である領域を体候補領域として抽出しているが、これに限られるものではない。例えば、輝度情報と色情報のどちらか一方の値が、顔領域に対して所定の範囲内である領域を抽出しても構わない。
【0046】
また、体候補領域を検出する際には、検出された顔領域の近傍領域だけを検出対象とすることで、検出に要する時間を短縮できる。
【0047】
さらに、検出された顔領域の肌色が最適になるようなWB係数を、予め用意したWB係数テーブル群より選択するようにしてもよい。
【0048】
以上のように本実施形態では、顔が検出されたときには、顔領域と、輝度情報および色情報の値が顔領域のその値に対して所定の範囲内である体候補領域を検出し、これらの領域をWB評価値の取得領域から除外する。
【0049】
そうすることによって、例えば被写体が水着を着ているときのように、顔以外にも肌の露出が多いときでも、肌色を低色温度下の白色と誤認識することなく、より正確なWB処理を行うことが可能となる。
【0050】
(第2の実施形態)
本実施の形態の動作を図面を参照して詳細に説明する。第1の実施形態と同じ処理を行うステップには同じステップ番号が割り当てられる。
【0051】
第1の実施形態では、輝度情報および色情報の値が、顔領域のその値に対して所定の範囲内である領域を体候補領域として検出し、顔領域と体候補領域をWB評価値の取得領域から除外している。それに対して、本実施形態では、顔領域と体候補領域に対して、他の領域よりも小さな重み付けをしてWB評価値を演算している点が第1の実施形態とは異なる。
【0052】
図6は本発明の第2の実施形態における撮像処理のフローチャートを示している。
【0053】
図6において、ステップS101〜ステップS104、そしてステップS108の処理は第1の実施形態と同じなので説明は省略する。
【0054】
ステップS101にて、不図示のCPUが、撮像装置が顔検出モードでないと判定した場合、または、ステップS103にて、不図示のCPUが、顔検出処理部2にて顔が検出されなかったと判断した場合には、処理をステップS207に進める。
【0055】
ステップS207では、不図示のCPUは、撮像画面全体をWB評価値の取得領域と設定し、WB評価値を得て、処理をステップS108へ進める。
【0056】
ステップS104にて、不図示のCPUは、顔領域と所定の範囲内の輝度情報および所定の範囲内の色情報を持つ体候補領域を検出したら、処理をステップS208へ進める。
【0057】
ステップS208では、顔領域と体候補領域から求めたWB評価値と、それ以外の領域から求めたWB評価値とに重み付けを行い、撮像画面全体に対してのWB評価値を求める。
【0058】
ステップS208におけるWB評価値の取得領域の重み付けの具体例を図7に示す。
【0059】
ステップS208にて、顔領域と体候補領域から求めたWB評価値と、それ以外の領域から求めたWB評価値との比率を1:4になるように重み付けを行う。具体的には、領域と体候補領域から求めたWB評価値に係数として0.2を掛け、それ以外の領域から求めたWB評価値に係数として0.8を掛け、これらの和を求める。
【0060】
このように、重み付けとしては小さいながらも、顔領域とその顔領域と体候補領域から求めたWB評価値も考慮することにより、顔検出での顔の誤検出を行ってしまった場合でもWB制御に与える影響を小さくすることができる。
【0061】
以上のように、本実施形態では、顔領域と体候補領域から求めたWB評価値の重みの比率を小さくすることによって、WB評価値が肌色に引っ張られて正確なWB制御を行う妨げになることを防止する。
【0062】
(第3の実施形態)
本実施の形態の動作を図面を参照して詳細に説明する。第1の実施形態と同じ処理を行うステップには同じステップ番号が割り当てられる。
【0063】
本実施形態は、顔領域とほぼ同一距離にある領域を体候補領域として、WB評価値を求めるための演算に用いる領域から除外している点が第1の実施形態とは異なる。
【0064】
図7は本発明の第3の実施形態における撮像処理のフローチャートを示している。
【0065】
図7において、ステップS101〜ステップS103、そしてステップS105、ステップS107〜ステップS108の処理は第1の実施形態と同じなので説明は省略する。
【0066】
ステップS306では、不図示のCPUは、顔領域と所定の範囲内の距離にある領域を検出し、処理をステップS308へ進める。ここで、所定の範囲とは、実際に顔領域の距離情報と、手足あるいは胴体の領域の距離情報を多数比較し、その結果から統計的に求めれた値の範囲のことである。検出された顔領域の大きさに応じてこの所定の範囲の大きさを変更することも考えられる。
【0067】
ステップS102にて顔が複数検出された場合には、距離情報の値がそれぞれの顔領域のその値に対して所定範囲内である領域をすべて検出する。つまり、複数の顔が検出された場合には、それぞれの顔領域の距離情報に基づく体候補領域がすべて検出されることになる。
【0068】
ステップS308では、不図示のCPUは、ステップS306までの処理で検出された顔領域と、その顔領域と所定の範囲内の距離にある領域以外の領域を、WB評価値の取得領域として指定し、処理をステップS107へ進める。
【0069】
また、顔領域と所定の範囲内の距離にある領域を検出する際には、検出された顔領域を基準として所定の範囲内に位置する近傍の領域だけを体候補領域の検出対象とすることで、検出処理を高速化できる。
【0070】
以上のように本実施形態では、通常は撮像画面全体がWB評価値の取得領域であるが、顔が検出されたときには、距離情報が顔領域の所定の範囲内となる体候補領域を検出して、顔領域と体候補領域をWB評価値の取得領域から除外する。
【0071】
そうすることによって、例えば、逆光シーン等で輝度情報や色情報が正確に得にくいときにも精度良く被写体を検出しWB評価値の取得領域から除外することで、正確なWB処理を行うことを可能にしている。
【0072】
なお、上述した各実施形態の機能を実現するように各種のデバイスを動作させるように、上記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給する。
【0073】
そして、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0074】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになる。
【0075】
また、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明を構成する。
【0076】
かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0077】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけではない。
【0078】
例えば、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等の共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれる。
【0079】
さらに、供給されたプログラムコードはコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納される。
【0080】
そして、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれる。
【図面の簡単な説明】
【0081】
【図1】本発明の第1の実施形態の撮像装置のWB処理を示すフローチャートである。
【図2】本発明の撮像装置の概略構成を示す図である。
【図3】WB評価値検出ブロックを示す図である。
【図4】色温度によって移り変わる白検出範囲の様子を示す図である。
【図5】WB評価値の取得領域を示した図である。
【図6】本発明の第2の実施形態の撮像装置のWB処理を示すフローチャートである。
【図7】WB評価値の取得領域の重み付けの具体例を示した図である。
【図8】本発明の第3の実施形態の撮像装置のWB処理を示すフローチャートである。
【符号の説明】
【0082】
1 撮像部
2 顔検出処理部
3 露出制御部
4 AF制御回路
5 本露出制御部
6 WB制御回路
7 色信号生成回路
8 輝度信号生成回路

【特許請求の範囲】
【請求項1】
画像データから顔領域を検出する顔検出手段と、
検出された顔領域に応じて、前記画像データから体が存在すると推定される体候補領域を抽出する領域抽出手段と、
前記顔検出手段による検出結果と前記領域抽出ユニットの抽出結果に基づいて、ホワイトバランスの評価値を算出する演算手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記領域抽出手段は前記顔領域から得られる色情報を用いて前記体候補領域を抽出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記領域抽出手段は前記顔領域から得られる輝度情報を用いて前記体候補領域を抽出することを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記領域抽出手段は前記顔領域から得られる距離情報を用いて前記体候補領域を抽出することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記演算手段は前記画像データから前記顔領域と前記体候補領域を除いた残りの領域を用いてホワイトバランスの評価値を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記演算手段は前記画像データから前記顔領域と前記体候補領域を除いた残りの領域を、前記顔領域と前記体候補領域よりも重み付けを大きくしてホワイトバランスの評価値を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項7】
前記顔検出手段が複数の顔を検出した場合、前記領域抽出手段は前記画像データから検出されたそれぞれの顔に応じた体候補領域を抽出することを特徴とする請求項1から6に記載の画像処理装置。
【請求項8】
光電変換機能を有する撮像素子を備え、前記演算手段は該撮像素子にて得られる画像データに対してホワイトバランスの評価値を算出ことを特徴とする請求項1から7に記載の画像処理装置。
【請求項9】
画像データから顔領域を検出する顔検出工程と、
検出された顔領域に応じて、前記画像データから体が存在すると推定される体候補領域を抽出する領域抽出工程と、
前記顔検出工程による検出結果と前記領域工程ユニットの抽出結果に基づいて、ホワイトバランスの評価値を算出する演算工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項10】
前記領域抽出工程は、前記顔領域から得られる色情報を用いて前記体候補領域を抽出することを特徴とする請求項9に記載の画像処理装置の制御方法。
【請求項11】
前記領域抽出工程は、前記顔領域から得られる輝度情報を用いて前記体候補領域を抽出することを特徴とする請求項9に記載の画像処理装置の制御方法。
【請求項12】
前記領域抽出工程は、前記顔領域から得られる距離情報を用いて前記体候補領域を抽出することを特徴とする請求項9に記載の画像処理装置の制御方法。
【請求項13】
請求項9に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項14】
請求項13に記載のプログラムをコンピュータ読み取り可能に記録したことを特徴とする記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−68146(P2007−68146A)
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2006−159837(P2006−159837)
【出願日】平成18年6月8日(2006.6.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】