画像中の赤目を補正するプログラム、記録媒体および赤目補正方法
【課題】画像中の赤目を適切に補正する。
【解決手段】特徴量である彩度、明度および色相に基づいて画像中から赤目補正が必要な複数の特徴領域を抽出し、特徴領域の各特徴量についてヒストグラムを生成する(ステップS32)。各ヒストグラムから特徴量の最小値、最大値、最頻値、分散、平均値等のパラメータを導き出し、パラメータに基づいて特徴量に対する補正曲線を生成する(ステップS33,S34)。その後、補正曲線に従って特徴量の補正を行う(ステップS35)。これにより、特徴領域の特性に応じた特徴量ごとの補正曲線を用いて各特徴領域の特徴量を適切に補正することができ、様々な態様にて生じる赤目をグラデーションを考慮しつつ適切に補正することが実現される。
【解決手段】特徴量である彩度、明度および色相に基づいて画像中から赤目補正が必要な複数の特徴領域を抽出し、特徴領域の各特徴量についてヒストグラムを生成する(ステップS32)。各ヒストグラムから特徴量の最小値、最大値、最頻値、分散、平均値等のパラメータを導き出し、パラメータに基づいて特徴量に対する補正曲線を生成する(ステップS33,S34)。その後、補正曲線に従って特徴量の補正を行う(ステップS35)。これにより、特徴領域の特性に応じた特徴量ごとの補正曲線を用いて各特徴領域の特徴量を適切に補正することができ、様々な態様にて生じる赤目をグラデーションを考慮しつつ適切に補正することが実現される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像中の赤目を補正する技術に関する。
【背景技術】
【0002】
フラッシュを用いて撮影を行うと画像中の人物の目が赤色あるいは黄金色に光って写る赤目現象が生じることがある。従来より、銀塩カメラにて取得された写真をスキャナにて取り込むことにより、あるいは、デジタルカメラにて撮影することにより取得された画像データに対して処理を施し、画像中の赤目を通常の目へと補正する技術が提案されている。
【0003】
赤目を補正する一般的な技術としては、画像中の赤目が存在する領域(以下、「赤目領域」という。)に対して赤色を他の色に置換したり、明度または彩度を下げるといった処理が知られている。赤目領域に対してこのような単純な処理を施した場合、目の中の彩度、明度および色相のグラデーションが失われてしまい、不自然な目となる。そこで、例えば、特許文献1や特許文献2では、瞳や赤目領域の周辺部から中央部にかけて明度または彩度を漸次減少させるようにしている。
【0004】
【特許文献1】特開2000−76427号公報
【特許文献2】特開2000−134486号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、赤目領域における明度や彩度を補正対象となる画素の位置に応じて修正する場合、補正対象の画素の位置と補正量とが適切に対応付けられる必要がある。したがって、例えば、瞳の中心が適切に検出できない場合や赤目領域の中心が瞳の中心と一致しないにも関わらず赤目領域の中心を瞳の中心とみなす場合等には、瞳の中心近傍のグラデーションが不自然なものとなってしまう。
【0006】
本発明は、上記課題に鑑みなされたものであり、様々な態様にて生じる赤目を適切に補正することを目的としている。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程とを実行させる。
【0008】
請求項2に記載の発明は、請求項1に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータに、前記複数の特徴領域のそれぞれに関する特徴量のヒストグラムを生成する工程と、前記ヒストグラムから導かれるパラメータに基づいて前記平滑化の度合いを決定する工程とをさらに実行させる。
【0009】
請求項3に記載の発明は、画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、画像中の補正対象領域を決定する工程と、前記補正対象領域の大きさと所定値とを比較する工程と、前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、前記補正対象領域に対して赤目補正を行う工程とを実行させる。
【0010】
請求項4に記載の発明は、コンピュータ読み取り可能な記録媒体であって、請求項1ないし3のいずれかに記載のプログラムを記録している。
【0011】
請求項5に記載の発明は、画像中の赤目を補正する赤目補正方法であって、特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程とを有する。
【0012】
請求項6に記載の発明は、画像中の赤目を補正する赤目補正方法であって、画像中の補正対象領域を決定する工程と、前記補正対象領域の大きさと所定値とを比較する工程と、前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、前記補正対象領域に対して赤目補正を行う工程とを有する。
【発明の効果】
【0013】
請求項1、請求項2および請求項5の発明によれば、特徴領域に応じた平滑化を行うことにより、赤目領域全体に対して適切な平滑化を行うことができる。
【0014】
また、請求項2の発明によれば、平滑化の度合いを決定するパラメータを容易に準備することができる。
【0015】
請求項3および請求項6の発明によれば、赤目補正の精度を向上することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について図面を参照して説明する。
【0017】
<実施形態>
図1は、本発明の一の実施の形態に係る画像処理装置1の外観図である。画像処理装置1は、プログラムを実行することにより画像中の赤目領域を特定して補正を行うコンピュータである。画像処理装置1は、図1に示すように使用者からの入力を受け付けるキーボード111およびマウス112、並びに、使用者に対する指示メニューや取得した画像等の表示を行うディスプレイ12を備える。
【0018】
画像処理装置1は、内部に画像のデータ等を記憶する固定ディスク161を有しており、さらに、プログラムを格納した記録ディスク91や画像データを格納したメモリカード92が、コンピュータ読み取り可能な記録媒体としてそれぞれ読取装置162やカードスロット163に装填可能となっている。
【0019】
図2は、画像処理装置1の構成を示すブロック図である。画像処理装置1は、CPU13、RAM14およびROM15をバスラインに接続した一般的なコンピュータシステムの構成となっている。バスラインにはさらに、ディスプレイ12、操作者からの入力を受け付けるキーボード111およびマウス112、データやプログラム等を保存する固定ディスク161、記録ディスク91(光ディスク、磁気ディスク、光磁気ディスク等)との間で情報の受け渡しを行う読取装置162、並びに、メモリカード92との間で情報の受け渡しを行うカードスロット163が、適宜、インターフェイス(I/F)を介する等して接続される。
【0020】
RAM14、固定ディスク161、読取装置162およびカードスロット163は互いにデータの受け渡しが可能とされており、CPU13の制御の下、ディスプレイ12には各種情報やRAM14、固定ディスク161、メモリカード92等に記憶されいてる画像の表示が可能とされる。
【0021】
図2に示すプログラム141は、記録ディスク91から読取装置162を介して固定ディスク161に記憶され、固定ディスク161からRAM14へと転送されたものであり、CPU13による実行が可能とされる。
【0022】
図3は、CPU13がRAM14内のプログラム141に従って動作することにより実現される機能構成を他の構成とともに示す図である。図3に示す構成のうち、表示制御部201、対象領域決定部202、サイズ決定部203、特徴領域抽出部204、赤目領域特定部205および補正部206が、CPU13等により実現される機能を示す。
【0023】
表示制御部201は、画像データに基づいてディスプレイ12上による画像の表示を制御する。対象領域決定部202は、マウス112を介して画像データ301が示す画像中の処理対象となる対象領域の決定を使用者から受け付ける。サイズ決定部203は、対象領域について後述する処理を行う単位となる単位領域の大きさを決定する。
【0024】
特徴領域抽出部204は、対象領域に対して単位領域ごとの処理を行い、特徴量に応じて複数種類の特徴領域を抽出する。なお、特徴量としては彩度、明度および色相が用いられる。赤目領域特定部205は抽出された複数の特徴領域のうち赤目領域を構成する特徴領域を特定する。補正部206は特定された赤目領域に対して色変換を行い、画像中の赤目を正常な色の目へと補正する。補正後の画像のデータは補正済画像データ302としてRAM14に記憶される。
【0025】
図4は、補正部206の機能構成を示すブロック図である。補正部206は、赤目領域を構成する特徴領域における特徴量のヒストグラムを生成するヒストグラム生成部211、赤目を補正するための補正曲線を生成する補正曲線生成部212、補正曲線を用いて特徴量を変換する変換部213、平滑化用のフィルタを生成するフィルタ生成部214、および、補正後の赤目領域の平滑化を行う平滑化部215を有する。これらの機能の詳細については後述する。
【0026】
図5ないし図7は、画像処理装置1が赤目領域を特定して補正する際の動作の流れを示す図である。以下、図3ないし図7を参照して画像処理装置1が赤目に対する補正(以下、「赤目補正」という。)を行う動作について説明する。
【0027】
まず、使用者がディスプレイ12を見ながらキーボード111やマウス112を用いてメモリカード92や固定ディスク161内の画像データのうち所望のものを選択すると、選択された画像データ301がRAM14に読み込まれるとともに表示制御部201が画像データ301に基づいて画像をディスプレイ12に表示する(ステップS11)。
【0028】
使用者は赤目補正が必要な領域をマウス112を用いて指定することにより、対象領域決定部202が演算対象となる対象領域を決定する(ステップS12)。具体的には、図8に示すように使用者が画像401中の対象領域402の対角の2点を指定することにより、1つの目に対応する赤目領域を含む対象領域402が決定される。
【0029】
対象領域402が決定されると、サイズ決定部203により、対象領域402の画素数N1とパラメータSとに基づいて、数1により単位領域の一辺の画素数(以下、「単位領域サイズ」という。)n(単位領域の大きさはn×nとされる。)が求められる(ステップS13)。
【0030】
【数1】
【0031】
なお、パラメータSは画像401と対象領域402との画素数の比を示す値であり、画像401の画素数をN2とすると数2により定まるパラメータである。
【0032】
【数2】
【0033】
また、関数Fは、パラメータSが小さいほど出力する単位領域サイズnを小さくし、対象領域402の画素数N1が大きいほど出力する単位領域サイズnを大きくする関数であり、例えば数3ないし数5のような入出力関係を有する関数である。
【0034】
【数3】
【0035】
【数4】
【0036】
【数5】
【0037】
このような関数Fを用いて単位領域サイズを決定することにより、画像401に対する対象領域402の大きさの割合に応じた大きさの単位領域に対象領域402を分割でき、その後は単位領域を単位として演算を行うことにより、画素ごとに演算する場合に比べて高速で、かつノイズの影響を受けにくい精度のよい赤目領域の特定ができる。なお、nの最小値は1であり、その場合、1つの単位領域は1画素となり、対象領域402は画素ごとに処理されることとなる。
【0038】
単位領域サイズnが決定されると、特徴領域抽出部204は、対象領域402の各単位領域のRGB値(平均のRGB値)をHSL表色系の色空間へと変換して各単位領域の色相、彩度および明度を特徴量として得る(ステップS14)。
【0039】
次に、特徴領域抽出部204により、単位領域の特徴量に基づいて瞳孔領域、虹彩領域および虹彩外領域がそれぞれ特徴領域として対象領域402から抽出される。具体的には、彩度および明度が一定の範囲にある領域(彩度、明度ともに低い範囲にある領域)が瞳孔領域として抽出され、色相および彩度が一定の範囲にある領域(色相は赤からやや黄色、彩度は高い範囲にある領域)が虹彩領域として抽出される。さらに、瞳孔領域と同じ明度範囲であり、虹彩領域と同じ色相範囲の領域が虹彩外領域として抽出される(ステップS15)。
【0040】
なお、特徴量に基づいて補正対象となる特徴領域を抽出することにより、後述の特徴量に基づく補正が特徴領域ごとに適切に行うことが実現される。
【0041】
図9は、特徴領域抽出部204により、対象領域402から抽出される特徴領域を例示する図である。符号501は瞳孔領域、符号502a,502bは虹彩領域、符号503は虹彩外領域を示す。赤目の状態によっては、各種特徴領域は抽出されない場合もあれば複数抽出される場合もある。
【0042】
各種特徴領域の抽出に用いられる特徴量の範囲は、赤目現象の生じていない正常時の特徴量から定められるものではなく、赤目現象が生じている場合の特徴量から統計的に定められる。したがって、このような特徴量に該当する各特徴領域は赤目現象の生じている可能性がある領域として抽出されていることを意味する。逆に、いずれの特徴領域としても抽出されなかった領域は赤目補正が必要でない領域と判定されたこととなる。
【0043】
次に、抽出された特徴領域から赤目補正に適さない不要な領域が除外される(ステップS16)。例えば、図9に示す特徴領域のうち、微小な虹彩領域502bは、誤って抽出された虹彩領域として補正対象から除外される。また、各特徴領域の包含関係や接触の度合いに基づいて、各特徴領域が補正対象となる領域として適切か否かが改めて判断される。
【0044】
具体例としては、虹彩外領域が虹彩領域の周囲の大部分に接していない場合には虹彩外領域を補正すると不自然な目になってしまうことから虹彩外領域が補正すべきでない領域であると判定される。瞳孔領域と虹彩領域との間に特徴領域以外の領域が存在する場合は瞳孔領域周辺が赤目となっていない可能性があり、瞳孔領域が補正すべきでない領域であると判定される。瞳孔領域が虹彩領域に完全には含まれていない場合には適切な補正が困難な状態であることからいずれの特徴領域も補正すべきでないと判定される(この場合、赤目補正は実行されない)。
【0045】
赤目補正をすべき赤目領域を構成する少なくとも1つの特徴領域が決定されると、次に、赤目領域特定部205から特徴領域を示す情報および特徴量が補正部206に入力され、赤目領域を構成する特徴領域ごとに順次、赤目補正に係る処理が実行される。なお、以下の処理は特徴領域の種類に依存することなく実行される。
【0046】
まず、補正部206において赤目領域に含まれる一の特徴領域が処理対象(以下、「注目特徴領域」という。)として決定される(ステップS21)。そして、ヒストグラム生成部211(図4参照)が注目特徴領域を構成する単位領域の数をカウントし、注目特徴領域の大きさを単位領域のカウント数として求める。
【0047】
注目特徴領域の大きさが所定値以下の場合には(ステップS22)、ヒストグラム生成部211からサイズ決定部203にその旨が伝達され、サイズ決定部203が単位領域サイズをさらに小さく設定することにより解像度を増大させ、ステップS14に戻る(ステップS23)。これにより、再度抽出される特徴領域中の単位領域数が増大され、後述のヒストグラムから得られるパラメータの信頼性を向上することができる。その結果、赤目補正の精度を向上することができる。
【0048】
なお、1つの単位領域が1画素である場合には、サイズ決定部203により解像度を増大する処理が対象領域402(または、注目特徴領域)に対して施される。解像度を向上する処理(すなわち、画像を拡大する処理)としては、直線補間法、キュービックコンボリューション補間法、Bスプライン補間法等が用いられる。これにより、再度抽出される特徴領域の画素数が増大される。
【0049】
次に、ヒストグラム生成部211により注目特徴領域において処理対象となる特徴量(彩度、明度および色相のいずれかであり、以下、「注目特徴量」という。)が決定され(図6:ステップS31)、注目特徴量の補正(ステップS32〜S35)および注目特徴量に対する平滑化(ステップS42,S43)が実行される。
【0050】
注目特徴量の補正では、ヒストグラム生成部211により注目特徴領域おける注目特徴量のヒストグラムが生成される(ステップS32)。すなわち、注目特徴量の値とその値を有する単位領域の数との関係を示すヒストグラムが生成される。
【0051】
単位領域を単位とする注目特徴量のヒストグラムが生成されると、補正曲線生成部212によりヒストグラムから導かれる統計学的値であるパラメータが求められ(ステップS33)、パラメータを用いて各単位領域の注目特徴量の補正前の値と補正後の値との関係を示す補正曲線が生成される(ステップS34)。その後、変換部213により補正曲線を用いて各単位領域の注目特徴量が変換される(ステップS35)。これにより、注目特徴領域における注目特徴量が補正される。
【0052】
補正後の注目特徴量に対する平滑化は、注目特徴量が彩度または明度の場合のみ実行され(ステップS41)、補正により強調された彩度や明度のばらつき(2次元空間におけるばらつき)が平滑化により緩和される。平滑化では、ヒストグラムから平滑化用の加重係数が求められ(ステップS42)、単位領域の注目特徴量が平滑化された値へと修正される(ステップS43)。これにより、特徴領域ごとに適切な度合いにて平滑化が行われる。
【0053】
一の注目特徴量について補正および平滑化が完了すると次の注目特徴量が決定され(ステップS44,S31)、再度、補正および平滑化が行われる。なお、本実施の形態では色相に対する平滑化は省略されるため、彩度および明度については補正および平滑化が行われ、色相については補正のみが行われる。ただし、色相に対して平滑化が行われるようにされてもよい。
【0054】
また、図6では補正の後に平滑化が行われるが、平滑化は補正の前に行われてもよい。この場合、ステップS41〜S43とステップS34,S35とが入れ替えられる。平滑化を補正の前に行う場合も補正により強調される彩度や明度のばらつきが緩和される。また、補正前に平滑化を行うことにより、補正前に特徴領域中のノイズを低減することができる。
【0055】
次に、補正に用いられる補正曲線および平滑化についてさらに詳細に説明する。
【0056】
図10は彩度に関する補正曲線61を例示する図である。図10において横軸は補正前の彩度(すなわち、変換部213の入力)であり、縦軸は補正後の彩度(すなわち、変換部213の出力)である。値XS1は注目特徴領域における補正前の彩度の最小値であり、値XS3は補正前の彩度の最大値である。値XS2は彩度の最頻値(最も多くの単位領域が有する彩度)である。これらの値は彩度のヒストグラムから導出される。
【0057】
図10において補正後の値YS1,YS2,YS3は、それぞれ値XS1,XS2,XS3に対応している。最小の彩度である値YS1は値XS1と等しくされる。これにより、補正後の画像において赤目領域の彩度が過度に減少してしまうことが防止される。
【0058】
値YS3は数6にて示す関数FS3により求められる。
【0059】
【数6】
【0060】
関数FS3は最大値XS3、および、彩度のヒストグラムから求められる彩度の分散VSをパラメータとし、分散VSが小さいほど値YS3を小さくする特性を有する。すなわち、関数FS3は分散VSが小さいほど最大値XS3から大きな値ZS3を減算して値YS3を求める。
【0061】
赤目補正において彩度の最大値はなるべく小さく抑えられることが好ましい。一方で、分散VSが大きい場合に彩度の最大値を小さくしてしまうと注目特徴領域の雰囲気が変化してしまうという問題が生じる。そこで、関数FS3により彩度の補正曲線61は彩度の分散が小さいほど彩度の最大値を減少させる特性を有するものとされる。
【0062】
なお、値YS3は値YS1以下となることが許されないため、正確には関数FS3は値YS1(すなわち、最小値XS1)も補助的なパラメータとして利用する。
【0063】
一方、値YS2は数7にて示す関数FS2により求められる。なお、彩度の中間値(彩度の範囲のおよそ中間の値をいう。以下同様)の減少の度合いが最頻値XS2を基準に決定されるのは、最頻値XS2近傍にて彩度を大きく減少させることにより、彩度を減少させるという赤目補正の目的を容易かつ的確に実現することができるからである。
【0064】
【数7】
【0065】
関数FS2は最頻値XS2、および、彩度のヒストグラムにおける最頻値近傍の分散VSMをパラメータとし、分散VSMが小さいほど値YS2は小さな値とされる。すなわち、関数FS2は分散VSMが小さいほど最頻値XS2から大きな値ZS2を減算して値YS2を求める。なお、値YS2は値YS3と値YS1との間の値である必要があるため、関数FS3では値YS3(または、値YS3を求めるための最大値XS3および分散VS)および値YS1(すなわち、最小値XS1)が補助的なパラメータとして利用される。
【0066】
最頻値近傍の分散VSMが小さい場合、彩度のヒストグラムは最頻値XS2近傍に集中したものになっている。したがって、分散VSMが小さい場合に値YS2を小さな値とすることにより、彩度を減少させるという赤目補正の効果を適切に得ることができる。一方、分散VSMが大きい場合、彩度のヒストグラムは最頻値XS2にさほど偏っていないため、値YS2を小さな値としても効率よく彩度を下げるという効果が期待できない。むしろ、彩度のむらを目立たせてしまうこととなる。そこで、関数FS2では分散VSMが小さいほど値XS2から大きな値を減算して値YS2を求めるようにしている。
【0067】
なお、関数FS2により、最大値XS3と最頻値XS2との差に基づいて値YS2が調整されてもよい。例えば、最大値XS3と最頻値XS2との差が小さい場合には補正曲線61が過度に折れ曲がらないように値YS2が若干大きくされてもよい。
【0068】
以上のようにして値YS1,YS2,YS3が決定されると、座標(XS1,YS1)、(XS2,YS2)、(XS3,YS3)の3つの点を通る2次曲線が彩度に関する補正曲線61として生成される。なお、3つの点から他の手法により補正曲線61が求められてもよい。
【0069】
図11は明度に関する補正曲線62を例示する図である。図11において横軸は補正前の明度(すなわち、変換部213の入力)であり、縦軸は補正後の明度(すなわち、変換部213の出力)である。値XL1は補正前の明度の最小値であり、値XL3は補正前の明度の最大値である。値XL2は明度の最頻値である。これらの値は明度のヒストグラムから導出される。
【0070】
図11においても図10と同様に、補正後の値YL1,YL2,YL3は、それぞれ値XL1,XL2,XL3に対応している。補正後の最小の明度である値YL1は値XL1と等しくされ、最大の明度である値YL3は値XL3と等しくされる。値YL1が値XL1と等しくされるのは、補正後の画像において赤目領域が黒くつぶれて不自然な目になってしまうことを防止するためであり、値YL3と値XL3とが等しくされるのは、目の中に存在するいわゆるキャッチライト(照明が反射されて明るくなっている領域)の消失を防止して補正後の目を生き生きとしたものとするためである。
【0071】
値YL2は数8にて示す関数FL2により求められる。なお、明度の中間値の減少の度合いが最頻値XL2を基準に決定されるのは、彩度の場合と同様に、最頻値XL2近傍にて明度を大きく減少させることにより、明度を減少させるという赤目補正の目的を容易かつ的確に実現するためである。
【0072】
【数8】
【0073】
関数FL2は最頻値XL2、および、明度のヒストグラムの分散VLをパラメータとし、分散VLが小さいほど値YS2は小さな値とされる。すなわち、関数FL2は分散VLが小さいほど最頻値XL2から大きな値ZL2を減算して値YL2を求める。なお、値YL2は値YL1以上である必要があるため、関数FL2は値YL1(すなわち、最小値XL1)も補助的なパラメータとして利用する。
【0074】
分散VLが大きい場合、注目特徴領域において様々な明度が存在しており、明度に関する強いグラデーションが存在すると想定される。典型例としては、注目特徴領域に明度の異なる複数の小領域が存在している状態が考えられる。そして、このような場合に値YL2を小さな値としてしまうと、補正後の注目特徴領域内において明度の異なる小領域の境界が明瞭になってしまい、明度のむらが目立つことになる。
【0075】
そこで、関数FL2は分散VLが小さい場合にのみ値YL2を小さくする関数とされる。これにより、赤目補正により特徴領域内に段差のような模様が生じることを防止しつつ可能な限り明度を小さくすることが実現される。
【0076】
なお、関数FL2においても彩度の場合と同様に、最大値XL3と最頻値XL2との差の大きさに基づいて値YL2が調整されてもよい。
【0077】
以上のようにして値YL1,YL2,YL3が決定されると、座標(XL1,YL1)、(XL2,YL2)、(XL3,YL3)の3つの点を通る2次曲線が明度に関する補正曲線62として生成される。これにより、明度の最小値および最大値を保持しつつ中間値を減少させる補正曲線62が得られる。もちろん、3つの点から他の手法により補正曲線62が求められてもよい。
【0078】
図12は色相に関する補正曲線63を例示する図である。図12において横軸は補正前の色相(すなわち、変換部213の入力)であり、縦軸は補正後の色相(すなわち、変換部213の出力)である。値XH2は色相のヒストグラムの最頻値であり、値XH1と値XH3との間の範囲は値XH2が示す色相と同色とみなすことができる色相範囲である。ただし、注目特徴領域内の色相は全て値XH1と値XH3との間の範囲に含まれるものとする。図12において補正後の値YH1,YH2,YH3はそれぞれ値XH1,XH2,XH3に対応している。
【0079】
なお、値XH1および値XH3は注目特徴領域における補正前の色相範囲の一端および他端の値として決定されてもよい。
【0080】
補正後の値YH1,YH2,YH3は予め設定されており、茶色の虹彩の場合には茶色の範囲、青色の虹彩の場合には青色の範囲に対応した値として設定される。そして、座標(XH1,YH1)、(XH2,YH2)、(XH3,YH3)の3つの点を通る2次曲線が色相に関する補正曲線63として生成される。もちろん、3つの点から他の手法により補正曲線63が求められてもよい。
【0081】
以上の手法で補正曲線63を生成することにより、補正前の最頻値XH2を予め指定された値YH2へと補正しつつ注目特徴領域の色相を適切な色相範囲内の値へと補正することが実現される。
【0082】
次に、彩度および明度に対して行われる平滑化用の加重係数の算出および平滑化について説明する。平滑化は処理対象となる単位領域の特徴量を周囲の8個の単位領域の特徴量とともに重み付け平均して得られる値へと変換する処理となっている。例えば、3×3(=9)個の単位領域のいずれかの特徴量をCp(pは単位領域の位置を示す。)とし、この単位領域に対する加重係数をapとした場合、平滑化後の特徴量Cは数9にて求められる。
【0083】
【数9】
【0084】
図13は平滑化の際に用いられるフィルタの加重係数を示す図である。図13に示すように処理対象となる中央の単位領域の加重係数が1とされ、周囲の単位領域の加重係数は1/Wとされる。ただし、値Wは1以上の値であり、注目特徴量が彩度の場合には数10により、明度の場合には数11により求められる。
【0085】
【数10】
【0086】
【数11】
【0087】
彩度用の関数FWSは彩度の最頻値XS2および分散VSをパラメータとし、これらのパラメータは彩度のヒストグラムから求められる。明度用の関数FWLも明度の最頻値XL2および分散VLをパラメータとし、これらのパラメータは明度のヒストグラムから求められる。
【0088】
既述のように、特徴量の分散が大きい場合、注目特徴領域において特徴量の異なる複数の小領域が存在する可能性が高い。このような場合に赤目補正を行うと小領域ごとの彩度や明度の相違が大きくなってしまい、注目特徴領域内にむらが生じてしまう。そこで、関数FWS,FWLはそれぞれ分散VS,VLが大きいほど平滑化の度合いが大きくなるように値Wを決定する。なお、値Wが1に近いほど平滑化の度合いは大きくなる。
【0089】
また、注目特徴領域において特徴量の異なる複数の小領域が存在する場合、彩度や明度の最頻値XS2,XL2が大きいほど補正後の彩度や明度の偏りが顕著となることから、関数FWS,FWLはそれぞれ最頻値XS2,XL2が大きいほど平滑化の度合いが大きくなるように値Wを決定する。
【0090】
以上のように、分散および最頻値に基づいて平滑化の度合いを決定することにより、各特徴領域の特性に応じた適切な平滑化が実現される。
【0091】
注目特徴領域に対する補正および必要な平滑化が完了すると、未処理の特徴領域が存在するか否かが確認され(図7:ステップS51)、未処理の特徴領域が存在する場合には次の注目特徴領域が決定される(図5:ステップS21)。その後、注目特徴領域の各単位領域の彩度および明度に対して補正および平滑化が行われ、色相に対して補正が行われる。
【0092】
全ての特徴量領域に対して補正および平滑化が行われると、補正後の特徴領域を有する対象領域402がHSL色空間からRGB色空間へと戻され、さらに、画像データ301と合成されて補正済画像データ302としてRAM14に保存される(ステップS52)。補正済画像データ302は表示制御部201に転送され、ディスプレイ12に赤目補正が施された画像が表示される(ステップS53)。
【0093】
以上、プログラム141に従って赤目補正を行う画像処理装置1について説明したが、画像処理装置1では補正対象である特徴領域における特徴量のヒストグラムを生成し、特徴量を補正するための補正曲線がヒストグラムに基づいて生成される。したがって、特徴領域に対して特徴領域の特性に応じた補正を行うことが実現される。また、補正前の特徴領域内の特徴量のグラデーションに応じて補正後の特徴領域内にグラデーションが生じるため、より自然な目へと補正を行うことができる。その結果、様々な態様にて生じる赤目を適切に補正することが実現される。
【0094】
なお、特徴量として彩度、明度および色相を利用することにより、補正曲線を求めるための関数の設定を人の感性に基づいて容易に行うことができ、より自然な補正済画像を得ることができる。
【0095】
また、特徴領域の補正の後(または前)に処理対象となる特徴領域に応じた平滑化を行うため、赤目領域全体に適切な平滑化を行うことができる。さらに、小さな特徴領域に対しては解像度を増大させた上で補正を行うため、小さな特徴領域に対しても適切に補正を行うことができる。
【0096】
<変形例>
以上、本発明の一の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【0097】
上記実施の形態では特徴領域ごとに補正が行われるが、例えば、近接する2つの虹彩領域が抽出された場合にはこれらの虹彩領域が1つの特徴領域として扱われてもよい。他の種類の特徴領域についても同様である。
【0098】
また、ヒストグラムからパラメータを導き出すと説明したが、特徴量の値と頻度との関係を示すヒストグラムという概念はプログラム中に任意の態様にて表現されてよい。例えば、複数の変数、配列、あるいは、オブジェクトとしてヒストグラムを表現することができる。
【0099】
色相については値YH1,YH2,YH3は予め定められるものとして説明したが、これらの値は関数を用いて求められてもよい。例えば、値YH1,YH2,YH3が、補正前の色相の範囲および最頻値、並びに、補正後の最頻値等をパラメータとする関数により求められてもよい。
【0100】
上記実施の形態では補正曲線や平滑化用のフィルタの生成に用いられるパラメータとして注目特徴量の最大値、最頻値および分散が利用され、補助的に最小値が用いられる例について説明したが、その他のパラメータが利用されてもよい。例えば、最頻値に代えて平均値が利用されてもよく、中央値(メジアン)が利用されてもよい。このように、ヒストグラムから導かれる統計学的値を利用することにより、補正曲線および平滑化用のフィルタの生成に必要なパラメータを容易に準備することができる。
【0101】
また、上記実施の形態では特徴量として色相、彩度および明度が用いられるが、L*a*b*、LUV、XYZ等の表色系(色空間)における値が特徴量として利用されてもよく、RGBの値がそのまま特徴量とされてもよい。なお、特徴量を補正することは最終的には画素値を補正することに相当する。
【0102】
平滑化も上記実施の形態とは異なる他の手法が用いられてもよい。例えば、フィルタが5×5以上であってもよく加重平均も4方向の隣接単位領域のみに対して行われてもよい。
【0103】
一方、画像処理装置1における画像データの取得は、上記実施の形態のようにメモリカード92から読み込まれるのではなく、例えば、ケーブル接続、通信回線または無線等により画像処理装置1と他の装置とが信号の送受信を行うことによって取得されてもよい。画像処理装置1に撮像部を設けて画像のデータが取得されてもよい。
【0104】
プログラム141はROM15に予め書き込まれていてもよい。また、画像処理装置1では、一連の画像処理が全てCPUによりソフトウェア的処理で実行されているが、それらの処理の一部または全部を専用の回路により実現することも可能である。特に、反復演算をロジック回路にて実行することにより、迅速な画像処理が実現される。
【0105】
上記実施の形態では、対象領域402の形状を長方形としたがこれに限られるものではない。例えば、楕円形状や使用者が任意に指定する形状等であってもよい。さらに、上記の実施の形態では、対象領域402は使用者によって指定されたが、画像認識または特徴量による判定等により自動的に対象領域402が決定されてもよい。
【図面の簡単な説明】
【0106】
【図1】画像処理装置の外観を示す図である。
【図2】画像処理装置の構成を示すブロック図である。
【図3】画像処理装置の機能構成を示すブロック図である。
【図4】補正部の機能構成を示すブロック図である。
【図5】画像処理装置の動作の流れを示す図である。
【図6】画像処理装置の動作の流れを示す図である。
【図7】画像処理装置の動作の流れを示す図である。
【図8】対象領域が指定された画像を例示する図である。
【図9】特徴領域を例示する図である。
【図10】彩度に関する補正曲線を示す図である。
【図11】明度に関する補正曲線を示す図である。
【図12】色相に関する補正曲線を示す図である。
【図13】平滑化用のフィルタの加重係数を示す図である。
【符号の説明】
【0107】
1 画像処理装置
61〜63 補正曲線
91 記録ディスク
141 プログラム
501 瞳孔領域
502a 虹彩領域
503 虹彩外領域
S15,S21〜S23,S32〜S35,S42,S43 ステップ
【技術分野】
【0001】
本発明は、画像中の赤目を補正する技術に関する。
【背景技術】
【0002】
フラッシュを用いて撮影を行うと画像中の人物の目が赤色あるいは黄金色に光って写る赤目現象が生じることがある。従来より、銀塩カメラにて取得された写真をスキャナにて取り込むことにより、あるいは、デジタルカメラにて撮影することにより取得された画像データに対して処理を施し、画像中の赤目を通常の目へと補正する技術が提案されている。
【0003】
赤目を補正する一般的な技術としては、画像中の赤目が存在する領域(以下、「赤目領域」という。)に対して赤色を他の色に置換したり、明度または彩度を下げるといった処理が知られている。赤目領域に対してこのような単純な処理を施した場合、目の中の彩度、明度および色相のグラデーションが失われてしまい、不自然な目となる。そこで、例えば、特許文献1や特許文献2では、瞳や赤目領域の周辺部から中央部にかけて明度または彩度を漸次減少させるようにしている。
【0004】
【特許文献1】特開2000−76427号公報
【特許文献2】特開2000−134486号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、赤目領域における明度や彩度を補正対象となる画素の位置に応じて修正する場合、補正対象の画素の位置と補正量とが適切に対応付けられる必要がある。したがって、例えば、瞳の中心が適切に検出できない場合や赤目領域の中心が瞳の中心と一致しないにも関わらず赤目領域の中心を瞳の中心とみなす場合等には、瞳の中心近傍のグラデーションが不自然なものとなってしまう。
【0006】
本発明は、上記課題に鑑みなされたものであり、様々な態様にて生じる赤目を適切に補正することを目的としている。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程とを実行させる。
【0008】
請求項2に記載の発明は、請求項1に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータに、前記複数の特徴領域のそれぞれに関する特徴量のヒストグラムを生成する工程と、前記ヒストグラムから導かれるパラメータに基づいて前記平滑化の度合いを決定する工程とをさらに実行させる。
【0009】
請求項3に記載の発明は、画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、画像中の補正対象領域を決定する工程と、前記補正対象領域の大きさと所定値とを比較する工程と、前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、前記補正対象領域に対して赤目補正を行う工程とを実行させる。
【0010】
請求項4に記載の発明は、コンピュータ読み取り可能な記録媒体であって、請求項1ないし3のいずれかに記載のプログラムを記録している。
【0011】
請求項5に記載の発明は、画像中の赤目を補正する赤目補正方法であって、特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程とを有する。
【0012】
請求項6に記載の発明は、画像中の赤目を補正する赤目補正方法であって、画像中の補正対象領域を決定する工程と、前記補正対象領域の大きさと所定値とを比較する工程と、前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、前記補正対象領域に対して赤目補正を行う工程とを有する。
【発明の効果】
【0013】
請求項1、請求項2および請求項5の発明によれば、特徴領域に応じた平滑化を行うことにより、赤目領域全体に対して適切な平滑化を行うことができる。
【0014】
また、請求項2の発明によれば、平滑化の度合いを決定するパラメータを容易に準備することができる。
【0015】
請求項3および請求項6の発明によれば、赤目補正の精度を向上することができる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施形態について図面を参照して説明する。
【0017】
<実施形態>
図1は、本発明の一の実施の形態に係る画像処理装置1の外観図である。画像処理装置1は、プログラムを実行することにより画像中の赤目領域を特定して補正を行うコンピュータである。画像処理装置1は、図1に示すように使用者からの入力を受け付けるキーボード111およびマウス112、並びに、使用者に対する指示メニューや取得した画像等の表示を行うディスプレイ12を備える。
【0018】
画像処理装置1は、内部に画像のデータ等を記憶する固定ディスク161を有しており、さらに、プログラムを格納した記録ディスク91や画像データを格納したメモリカード92が、コンピュータ読み取り可能な記録媒体としてそれぞれ読取装置162やカードスロット163に装填可能となっている。
【0019】
図2は、画像処理装置1の構成を示すブロック図である。画像処理装置1は、CPU13、RAM14およびROM15をバスラインに接続した一般的なコンピュータシステムの構成となっている。バスラインにはさらに、ディスプレイ12、操作者からの入力を受け付けるキーボード111およびマウス112、データやプログラム等を保存する固定ディスク161、記録ディスク91(光ディスク、磁気ディスク、光磁気ディスク等)との間で情報の受け渡しを行う読取装置162、並びに、メモリカード92との間で情報の受け渡しを行うカードスロット163が、適宜、インターフェイス(I/F)を介する等して接続される。
【0020】
RAM14、固定ディスク161、読取装置162およびカードスロット163は互いにデータの受け渡しが可能とされており、CPU13の制御の下、ディスプレイ12には各種情報やRAM14、固定ディスク161、メモリカード92等に記憶されいてる画像の表示が可能とされる。
【0021】
図2に示すプログラム141は、記録ディスク91から読取装置162を介して固定ディスク161に記憶され、固定ディスク161からRAM14へと転送されたものであり、CPU13による実行が可能とされる。
【0022】
図3は、CPU13がRAM14内のプログラム141に従って動作することにより実現される機能構成を他の構成とともに示す図である。図3に示す構成のうち、表示制御部201、対象領域決定部202、サイズ決定部203、特徴領域抽出部204、赤目領域特定部205および補正部206が、CPU13等により実現される機能を示す。
【0023】
表示制御部201は、画像データに基づいてディスプレイ12上による画像の表示を制御する。対象領域決定部202は、マウス112を介して画像データ301が示す画像中の処理対象となる対象領域の決定を使用者から受け付ける。サイズ決定部203は、対象領域について後述する処理を行う単位となる単位領域の大きさを決定する。
【0024】
特徴領域抽出部204は、対象領域に対して単位領域ごとの処理を行い、特徴量に応じて複数種類の特徴領域を抽出する。なお、特徴量としては彩度、明度および色相が用いられる。赤目領域特定部205は抽出された複数の特徴領域のうち赤目領域を構成する特徴領域を特定する。補正部206は特定された赤目領域に対して色変換を行い、画像中の赤目を正常な色の目へと補正する。補正後の画像のデータは補正済画像データ302としてRAM14に記憶される。
【0025】
図4は、補正部206の機能構成を示すブロック図である。補正部206は、赤目領域を構成する特徴領域における特徴量のヒストグラムを生成するヒストグラム生成部211、赤目を補正するための補正曲線を生成する補正曲線生成部212、補正曲線を用いて特徴量を変換する変換部213、平滑化用のフィルタを生成するフィルタ生成部214、および、補正後の赤目領域の平滑化を行う平滑化部215を有する。これらの機能の詳細については後述する。
【0026】
図5ないし図7は、画像処理装置1が赤目領域を特定して補正する際の動作の流れを示す図である。以下、図3ないし図7を参照して画像処理装置1が赤目に対する補正(以下、「赤目補正」という。)を行う動作について説明する。
【0027】
まず、使用者がディスプレイ12を見ながらキーボード111やマウス112を用いてメモリカード92や固定ディスク161内の画像データのうち所望のものを選択すると、選択された画像データ301がRAM14に読み込まれるとともに表示制御部201が画像データ301に基づいて画像をディスプレイ12に表示する(ステップS11)。
【0028】
使用者は赤目補正が必要な領域をマウス112を用いて指定することにより、対象領域決定部202が演算対象となる対象領域を決定する(ステップS12)。具体的には、図8に示すように使用者が画像401中の対象領域402の対角の2点を指定することにより、1つの目に対応する赤目領域を含む対象領域402が決定される。
【0029】
対象領域402が決定されると、サイズ決定部203により、対象領域402の画素数N1とパラメータSとに基づいて、数1により単位領域の一辺の画素数(以下、「単位領域サイズ」という。)n(単位領域の大きさはn×nとされる。)が求められる(ステップS13)。
【0030】
【数1】
【0031】
なお、パラメータSは画像401と対象領域402との画素数の比を示す値であり、画像401の画素数をN2とすると数2により定まるパラメータである。
【0032】
【数2】
【0033】
また、関数Fは、パラメータSが小さいほど出力する単位領域サイズnを小さくし、対象領域402の画素数N1が大きいほど出力する単位領域サイズnを大きくする関数であり、例えば数3ないし数5のような入出力関係を有する関数である。
【0034】
【数3】
【0035】
【数4】
【0036】
【数5】
【0037】
このような関数Fを用いて単位領域サイズを決定することにより、画像401に対する対象領域402の大きさの割合に応じた大きさの単位領域に対象領域402を分割でき、その後は単位領域を単位として演算を行うことにより、画素ごとに演算する場合に比べて高速で、かつノイズの影響を受けにくい精度のよい赤目領域の特定ができる。なお、nの最小値は1であり、その場合、1つの単位領域は1画素となり、対象領域402は画素ごとに処理されることとなる。
【0038】
単位領域サイズnが決定されると、特徴領域抽出部204は、対象領域402の各単位領域のRGB値(平均のRGB値)をHSL表色系の色空間へと変換して各単位領域の色相、彩度および明度を特徴量として得る(ステップS14)。
【0039】
次に、特徴領域抽出部204により、単位領域の特徴量に基づいて瞳孔領域、虹彩領域および虹彩外領域がそれぞれ特徴領域として対象領域402から抽出される。具体的には、彩度および明度が一定の範囲にある領域(彩度、明度ともに低い範囲にある領域)が瞳孔領域として抽出され、色相および彩度が一定の範囲にある領域(色相は赤からやや黄色、彩度は高い範囲にある領域)が虹彩領域として抽出される。さらに、瞳孔領域と同じ明度範囲であり、虹彩領域と同じ色相範囲の領域が虹彩外領域として抽出される(ステップS15)。
【0040】
なお、特徴量に基づいて補正対象となる特徴領域を抽出することにより、後述の特徴量に基づく補正が特徴領域ごとに適切に行うことが実現される。
【0041】
図9は、特徴領域抽出部204により、対象領域402から抽出される特徴領域を例示する図である。符号501は瞳孔領域、符号502a,502bは虹彩領域、符号503は虹彩外領域を示す。赤目の状態によっては、各種特徴領域は抽出されない場合もあれば複数抽出される場合もある。
【0042】
各種特徴領域の抽出に用いられる特徴量の範囲は、赤目現象の生じていない正常時の特徴量から定められるものではなく、赤目現象が生じている場合の特徴量から統計的に定められる。したがって、このような特徴量に該当する各特徴領域は赤目現象の生じている可能性がある領域として抽出されていることを意味する。逆に、いずれの特徴領域としても抽出されなかった領域は赤目補正が必要でない領域と判定されたこととなる。
【0043】
次に、抽出された特徴領域から赤目補正に適さない不要な領域が除外される(ステップS16)。例えば、図9に示す特徴領域のうち、微小な虹彩領域502bは、誤って抽出された虹彩領域として補正対象から除外される。また、各特徴領域の包含関係や接触の度合いに基づいて、各特徴領域が補正対象となる領域として適切か否かが改めて判断される。
【0044】
具体例としては、虹彩外領域が虹彩領域の周囲の大部分に接していない場合には虹彩外領域を補正すると不自然な目になってしまうことから虹彩外領域が補正すべきでない領域であると判定される。瞳孔領域と虹彩領域との間に特徴領域以外の領域が存在する場合は瞳孔領域周辺が赤目となっていない可能性があり、瞳孔領域が補正すべきでない領域であると判定される。瞳孔領域が虹彩領域に完全には含まれていない場合には適切な補正が困難な状態であることからいずれの特徴領域も補正すべきでないと判定される(この場合、赤目補正は実行されない)。
【0045】
赤目補正をすべき赤目領域を構成する少なくとも1つの特徴領域が決定されると、次に、赤目領域特定部205から特徴領域を示す情報および特徴量が補正部206に入力され、赤目領域を構成する特徴領域ごとに順次、赤目補正に係る処理が実行される。なお、以下の処理は特徴領域の種類に依存することなく実行される。
【0046】
まず、補正部206において赤目領域に含まれる一の特徴領域が処理対象(以下、「注目特徴領域」という。)として決定される(ステップS21)。そして、ヒストグラム生成部211(図4参照)が注目特徴領域を構成する単位領域の数をカウントし、注目特徴領域の大きさを単位領域のカウント数として求める。
【0047】
注目特徴領域の大きさが所定値以下の場合には(ステップS22)、ヒストグラム生成部211からサイズ決定部203にその旨が伝達され、サイズ決定部203が単位領域サイズをさらに小さく設定することにより解像度を増大させ、ステップS14に戻る(ステップS23)。これにより、再度抽出される特徴領域中の単位領域数が増大され、後述のヒストグラムから得られるパラメータの信頼性を向上することができる。その結果、赤目補正の精度を向上することができる。
【0048】
なお、1つの単位領域が1画素である場合には、サイズ決定部203により解像度を増大する処理が対象領域402(または、注目特徴領域)に対して施される。解像度を向上する処理(すなわち、画像を拡大する処理)としては、直線補間法、キュービックコンボリューション補間法、Bスプライン補間法等が用いられる。これにより、再度抽出される特徴領域の画素数が増大される。
【0049】
次に、ヒストグラム生成部211により注目特徴領域において処理対象となる特徴量(彩度、明度および色相のいずれかであり、以下、「注目特徴量」という。)が決定され(図6:ステップS31)、注目特徴量の補正(ステップS32〜S35)および注目特徴量に対する平滑化(ステップS42,S43)が実行される。
【0050】
注目特徴量の補正では、ヒストグラム生成部211により注目特徴領域おける注目特徴量のヒストグラムが生成される(ステップS32)。すなわち、注目特徴量の値とその値を有する単位領域の数との関係を示すヒストグラムが生成される。
【0051】
単位領域を単位とする注目特徴量のヒストグラムが生成されると、補正曲線生成部212によりヒストグラムから導かれる統計学的値であるパラメータが求められ(ステップS33)、パラメータを用いて各単位領域の注目特徴量の補正前の値と補正後の値との関係を示す補正曲線が生成される(ステップS34)。その後、変換部213により補正曲線を用いて各単位領域の注目特徴量が変換される(ステップS35)。これにより、注目特徴領域における注目特徴量が補正される。
【0052】
補正後の注目特徴量に対する平滑化は、注目特徴量が彩度または明度の場合のみ実行され(ステップS41)、補正により強調された彩度や明度のばらつき(2次元空間におけるばらつき)が平滑化により緩和される。平滑化では、ヒストグラムから平滑化用の加重係数が求められ(ステップS42)、単位領域の注目特徴量が平滑化された値へと修正される(ステップS43)。これにより、特徴領域ごとに適切な度合いにて平滑化が行われる。
【0053】
一の注目特徴量について補正および平滑化が完了すると次の注目特徴量が決定され(ステップS44,S31)、再度、補正および平滑化が行われる。なお、本実施の形態では色相に対する平滑化は省略されるため、彩度および明度については補正および平滑化が行われ、色相については補正のみが行われる。ただし、色相に対して平滑化が行われるようにされてもよい。
【0054】
また、図6では補正の後に平滑化が行われるが、平滑化は補正の前に行われてもよい。この場合、ステップS41〜S43とステップS34,S35とが入れ替えられる。平滑化を補正の前に行う場合も補正により強調される彩度や明度のばらつきが緩和される。また、補正前に平滑化を行うことにより、補正前に特徴領域中のノイズを低減することができる。
【0055】
次に、補正に用いられる補正曲線および平滑化についてさらに詳細に説明する。
【0056】
図10は彩度に関する補正曲線61を例示する図である。図10において横軸は補正前の彩度(すなわち、変換部213の入力)であり、縦軸は補正後の彩度(すなわち、変換部213の出力)である。値XS1は注目特徴領域における補正前の彩度の最小値であり、値XS3は補正前の彩度の最大値である。値XS2は彩度の最頻値(最も多くの単位領域が有する彩度)である。これらの値は彩度のヒストグラムから導出される。
【0057】
図10において補正後の値YS1,YS2,YS3は、それぞれ値XS1,XS2,XS3に対応している。最小の彩度である値YS1は値XS1と等しくされる。これにより、補正後の画像において赤目領域の彩度が過度に減少してしまうことが防止される。
【0058】
値YS3は数6にて示す関数FS3により求められる。
【0059】
【数6】
【0060】
関数FS3は最大値XS3、および、彩度のヒストグラムから求められる彩度の分散VSをパラメータとし、分散VSが小さいほど値YS3を小さくする特性を有する。すなわち、関数FS3は分散VSが小さいほど最大値XS3から大きな値ZS3を減算して値YS3を求める。
【0061】
赤目補正において彩度の最大値はなるべく小さく抑えられることが好ましい。一方で、分散VSが大きい場合に彩度の最大値を小さくしてしまうと注目特徴領域の雰囲気が変化してしまうという問題が生じる。そこで、関数FS3により彩度の補正曲線61は彩度の分散が小さいほど彩度の最大値を減少させる特性を有するものとされる。
【0062】
なお、値YS3は値YS1以下となることが許されないため、正確には関数FS3は値YS1(すなわち、最小値XS1)も補助的なパラメータとして利用する。
【0063】
一方、値YS2は数7にて示す関数FS2により求められる。なお、彩度の中間値(彩度の範囲のおよそ中間の値をいう。以下同様)の減少の度合いが最頻値XS2を基準に決定されるのは、最頻値XS2近傍にて彩度を大きく減少させることにより、彩度を減少させるという赤目補正の目的を容易かつ的確に実現することができるからである。
【0064】
【数7】
【0065】
関数FS2は最頻値XS2、および、彩度のヒストグラムにおける最頻値近傍の分散VSMをパラメータとし、分散VSMが小さいほど値YS2は小さな値とされる。すなわち、関数FS2は分散VSMが小さいほど最頻値XS2から大きな値ZS2を減算して値YS2を求める。なお、値YS2は値YS3と値YS1との間の値である必要があるため、関数FS3では値YS3(または、値YS3を求めるための最大値XS3および分散VS)および値YS1(すなわち、最小値XS1)が補助的なパラメータとして利用される。
【0066】
最頻値近傍の分散VSMが小さい場合、彩度のヒストグラムは最頻値XS2近傍に集中したものになっている。したがって、分散VSMが小さい場合に値YS2を小さな値とすることにより、彩度を減少させるという赤目補正の効果を適切に得ることができる。一方、分散VSMが大きい場合、彩度のヒストグラムは最頻値XS2にさほど偏っていないため、値YS2を小さな値としても効率よく彩度を下げるという効果が期待できない。むしろ、彩度のむらを目立たせてしまうこととなる。そこで、関数FS2では分散VSMが小さいほど値XS2から大きな値を減算して値YS2を求めるようにしている。
【0067】
なお、関数FS2により、最大値XS3と最頻値XS2との差に基づいて値YS2が調整されてもよい。例えば、最大値XS3と最頻値XS2との差が小さい場合には補正曲線61が過度に折れ曲がらないように値YS2が若干大きくされてもよい。
【0068】
以上のようにして値YS1,YS2,YS3が決定されると、座標(XS1,YS1)、(XS2,YS2)、(XS3,YS3)の3つの点を通る2次曲線が彩度に関する補正曲線61として生成される。なお、3つの点から他の手法により補正曲線61が求められてもよい。
【0069】
図11は明度に関する補正曲線62を例示する図である。図11において横軸は補正前の明度(すなわち、変換部213の入力)であり、縦軸は補正後の明度(すなわち、変換部213の出力)である。値XL1は補正前の明度の最小値であり、値XL3は補正前の明度の最大値である。値XL2は明度の最頻値である。これらの値は明度のヒストグラムから導出される。
【0070】
図11においても図10と同様に、補正後の値YL1,YL2,YL3は、それぞれ値XL1,XL2,XL3に対応している。補正後の最小の明度である値YL1は値XL1と等しくされ、最大の明度である値YL3は値XL3と等しくされる。値YL1が値XL1と等しくされるのは、補正後の画像において赤目領域が黒くつぶれて不自然な目になってしまうことを防止するためであり、値YL3と値XL3とが等しくされるのは、目の中に存在するいわゆるキャッチライト(照明が反射されて明るくなっている領域)の消失を防止して補正後の目を生き生きとしたものとするためである。
【0071】
値YL2は数8にて示す関数FL2により求められる。なお、明度の中間値の減少の度合いが最頻値XL2を基準に決定されるのは、彩度の場合と同様に、最頻値XL2近傍にて明度を大きく減少させることにより、明度を減少させるという赤目補正の目的を容易かつ的確に実現するためである。
【0072】
【数8】
【0073】
関数FL2は最頻値XL2、および、明度のヒストグラムの分散VLをパラメータとし、分散VLが小さいほど値YS2は小さな値とされる。すなわち、関数FL2は分散VLが小さいほど最頻値XL2から大きな値ZL2を減算して値YL2を求める。なお、値YL2は値YL1以上である必要があるため、関数FL2は値YL1(すなわち、最小値XL1)も補助的なパラメータとして利用する。
【0074】
分散VLが大きい場合、注目特徴領域において様々な明度が存在しており、明度に関する強いグラデーションが存在すると想定される。典型例としては、注目特徴領域に明度の異なる複数の小領域が存在している状態が考えられる。そして、このような場合に値YL2を小さな値としてしまうと、補正後の注目特徴領域内において明度の異なる小領域の境界が明瞭になってしまい、明度のむらが目立つことになる。
【0075】
そこで、関数FL2は分散VLが小さい場合にのみ値YL2を小さくする関数とされる。これにより、赤目補正により特徴領域内に段差のような模様が生じることを防止しつつ可能な限り明度を小さくすることが実現される。
【0076】
なお、関数FL2においても彩度の場合と同様に、最大値XL3と最頻値XL2との差の大きさに基づいて値YL2が調整されてもよい。
【0077】
以上のようにして値YL1,YL2,YL3が決定されると、座標(XL1,YL1)、(XL2,YL2)、(XL3,YL3)の3つの点を通る2次曲線が明度に関する補正曲線62として生成される。これにより、明度の最小値および最大値を保持しつつ中間値を減少させる補正曲線62が得られる。もちろん、3つの点から他の手法により補正曲線62が求められてもよい。
【0078】
図12は色相に関する補正曲線63を例示する図である。図12において横軸は補正前の色相(すなわち、変換部213の入力)であり、縦軸は補正後の色相(すなわち、変換部213の出力)である。値XH2は色相のヒストグラムの最頻値であり、値XH1と値XH3との間の範囲は値XH2が示す色相と同色とみなすことができる色相範囲である。ただし、注目特徴領域内の色相は全て値XH1と値XH3との間の範囲に含まれるものとする。図12において補正後の値YH1,YH2,YH3はそれぞれ値XH1,XH2,XH3に対応している。
【0079】
なお、値XH1および値XH3は注目特徴領域における補正前の色相範囲の一端および他端の値として決定されてもよい。
【0080】
補正後の値YH1,YH2,YH3は予め設定されており、茶色の虹彩の場合には茶色の範囲、青色の虹彩の場合には青色の範囲に対応した値として設定される。そして、座標(XH1,YH1)、(XH2,YH2)、(XH3,YH3)の3つの点を通る2次曲線が色相に関する補正曲線63として生成される。もちろん、3つの点から他の手法により補正曲線63が求められてもよい。
【0081】
以上の手法で補正曲線63を生成することにより、補正前の最頻値XH2を予め指定された値YH2へと補正しつつ注目特徴領域の色相を適切な色相範囲内の値へと補正することが実現される。
【0082】
次に、彩度および明度に対して行われる平滑化用の加重係数の算出および平滑化について説明する。平滑化は処理対象となる単位領域の特徴量を周囲の8個の単位領域の特徴量とともに重み付け平均して得られる値へと変換する処理となっている。例えば、3×3(=9)個の単位領域のいずれかの特徴量をCp(pは単位領域の位置を示す。)とし、この単位領域に対する加重係数をapとした場合、平滑化後の特徴量Cは数9にて求められる。
【0083】
【数9】
【0084】
図13は平滑化の際に用いられるフィルタの加重係数を示す図である。図13に示すように処理対象となる中央の単位領域の加重係数が1とされ、周囲の単位領域の加重係数は1/Wとされる。ただし、値Wは1以上の値であり、注目特徴量が彩度の場合には数10により、明度の場合には数11により求められる。
【0085】
【数10】
【0086】
【数11】
【0087】
彩度用の関数FWSは彩度の最頻値XS2および分散VSをパラメータとし、これらのパラメータは彩度のヒストグラムから求められる。明度用の関数FWLも明度の最頻値XL2および分散VLをパラメータとし、これらのパラメータは明度のヒストグラムから求められる。
【0088】
既述のように、特徴量の分散が大きい場合、注目特徴領域において特徴量の異なる複数の小領域が存在する可能性が高い。このような場合に赤目補正を行うと小領域ごとの彩度や明度の相違が大きくなってしまい、注目特徴領域内にむらが生じてしまう。そこで、関数FWS,FWLはそれぞれ分散VS,VLが大きいほど平滑化の度合いが大きくなるように値Wを決定する。なお、値Wが1に近いほど平滑化の度合いは大きくなる。
【0089】
また、注目特徴領域において特徴量の異なる複数の小領域が存在する場合、彩度や明度の最頻値XS2,XL2が大きいほど補正後の彩度や明度の偏りが顕著となることから、関数FWS,FWLはそれぞれ最頻値XS2,XL2が大きいほど平滑化の度合いが大きくなるように値Wを決定する。
【0090】
以上のように、分散および最頻値に基づいて平滑化の度合いを決定することにより、各特徴領域の特性に応じた適切な平滑化が実現される。
【0091】
注目特徴領域に対する補正および必要な平滑化が完了すると、未処理の特徴領域が存在するか否かが確認され(図7:ステップS51)、未処理の特徴領域が存在する場合には次の注目特徴領域が決定される(図5:ステップS21)。その後、注目特徴領域の各単位領域の彩度および明度に対して補正および平滑化が行われ、色相に対して補正が行われる。
【0092】
全ての特徴量領域に対して補正および平滑化が行われると、補正後の特徴領域を有する対象領域402がHSL色空間からRGB色空間へと戻され、さらに、画像データ301と合成されて補正済画像データ302としてRAM14に保存される(ステップS52)。補正済画像データ302は表示制御部201に転送され、ディスプレイ12に赤目補正が施された画像が表示される(ステップS53)。
【0093】
以上、プログラム141に従って赤目補正を行う画像処理装置1について説明したが、画像処理装置1では補正対象である特徴領域における特徴量のヒストグラムを生成し、特徴量を補正するための補正曲線がヒストグラムに基づいて生成される。したがって、特徴領域に対して特徴領域の特性に応じた補正を行うことが実現される。また、補正前の特徴領域内の特徴量のグラデーションに応じて補正後の特徴領域内にグラデーションが生じるため、より自然な目へと補正を行うことができる。その結果、様々な態様にて生じる赤目を適切に補正することが実現される。
【0094】
なお、特徴量として彩度、明度および色相を利用することにより、補正曲線を求めるための関数の設定を人の感性に基づいて容易に行うことができ、より自然な補正済画像を得ることができる。
【0095】
また、特徴領域の補正の後(または前)に処理対象となる特徴領域に応じた平滑化を行うため、赤目領域全体に適切な平滑化を行うことができる。さらに、小さな特徴領域に対しては解像度を増大させた上で補正を行うため、小さな特徴領域に対しても適切に補正を行うことができる。
【0096】
<変形例>
以上、本発明の一の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【0097】
上記実施の形態では特徴領域ごとに補正が行われるが、例えば、近接する2つの虹彩領域が抽出された場合にはこれらの虹彩領域が1つの特徴領域として扱われてもよい。他の種類の特徴領域についても同様である。
【0098】
また、ヒストグラムからパラメータを導き出すと説明したが、特徴量の値と頻度との関係を示すヒストグラムという概念はプログラム中に任意の態様にて表現されてよい。例えば、複数の変数、配列、あるいは、オブジェクトとしてヒストグラムを表現することができる。
【0099】
色相については値YH1,YH2,YH3は予め定められるものとして説明したが、これらの値は関数を用いて求められてもよい。例えば、値YH1,YH2,YH3が、補正前の色相の範囲および最頻値、並びに、補正後の最頻値等をパラメータとする関数により求められてもよい。
【0100】
上記実施の形態では補正曲線や平滑化用のフィルタの生成に用いられるパラメータとして注目特徴量の最大値、最頻値および分散が利用され、補助的に最小値が用いられる例について説明したが、その他のパラメータが利用されてもよい。例えば、最頻値に代えて平均値が利用されてもよく、中央値(メジアン)が利用されてもよい。このように、ヒストグラムから導かれる統計学的値を利用することにより、補正曲線および平滑化用のフィルタの生成に必要なパラメータを容易に準備することができる。
【0101】
また、上記実施の形態では特徴量として色相、彩度および明度が用いられるが、L*a*b*、LUV、XYZ等の表色系(色空間)における値が特徴量として利用されてもよく、RGBの値がそのまま特徴量とされてもよい。なお、特徴量を補正することは最終的には画素値を補正することに相当する。
【0102】
平滑化も上記実施の形態とは異なる他の手法が用いられてもよい。例えば、フィルタが5×5以上であってもよく加重平均も4方向の隣接単位領域のみに対して行われてもよい。
【0103】
一方、画像処理装置1における画像データの取得は、上記実施の形態のようにメモリカード92から読み込まれるのではなく、例えば、ケーブル接続、通信回線または無線等により画像処理装置1と他の装置とが信号の送受信を行うことによって取得されてもよい。画像処理装置1に撮像部を設けて画像のデータが取得されてもよい。
【0104】
プログラム141はROM15に予め書き込まれていてもよい。また、画像処理装置1では、一連の画像処理が全てCPUによりソフトウェア的処理で実行されているが、それらの処理の一部または全部を専用の回路により実現することも可能である。特に、反復演算をロジック回路にて実行することにより、迅速な画像処理が実現される。
【0105】
上記実施の形態では、対象領域402の形状を長方形としたがこれに限られるものではない。例えば、楕円形状や使用者が任意に指定する形状等であってもよい。さらに、上記の実施の形態では、対象領域402は使用者によって指定されたが、画像認識または特徴量による判定等により自動的に対象領域402が決定されてもよい。
【図面の簡単な説明】
【0106】
【図1】画像処理装置の外観を示す図である。
【図2】画像処理装置の構成を示すブロック図である。
【図3】画像処理装置の機能構成を示すブロック図である。
【図4】補正部の機能構成を示すブロック図である。
【図5】画像処理装置の動作の流れを示す図である。
【図6】画像処理装置の動作の流れを示す図である。
【図7】画像処理装置の動作の流れを示す図である。
【図8】対象領域が指定された画像を例示する図である。
【図9】特徴領域を例示する図である。
【図10】彩度に関する補正曲線を示す図である。
【図11】明度に関する補正曲線を示す図である。
【図12】色相に関する補正曲線を示す図である。
【図13】平滑化用のフィルタの加重係数を示す図である。
【符号の説明】
【0107】
1 画像処理装置
61〜63 補正曲線
91 記録ディスク
141 プログラム
501 瞳孔領域
502a 虹彩領域
503 虹彩外領域
S15,S21〜S23,S32〜S35,S42,S43 ステップ
【特許請求の範囲】
【請求項1】
画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、
前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程と、
を実行させることを特徴とするプログラム。
【請求項2】
請求項1に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータに、
前記複数の特徴領域のそれぞれに関する特徴量のヒストグラムを生成する工程と、
前記ヒストグラムから導かれるパラメータに基づいて前記平滑化の度合いを決定する工程と、
をさらに実行させることを特徴とするプログラム。
【請求項3】
画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
画像中の補正対象領域を決定する工程と、
前記補正対象領域の大きさと所定値とを比較する工程と、
前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、
前記補正対象領域に対して赤目補正を行う工程と、
を実行させることを特徴とするプログラム。
【請求項4】
請求項1ないし3のいずれかに記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項5】
画像中の赤目を補正する赤目補正方法であって、
特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、
前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程と、
を有することを特徴とする赤目補正方法。
【請求項6】
画像中の赤目を補正する赤目補正方法であって、
画像中の補正対象領域を決定する工程と、
前記補正対象領域の大きさと所定値とを比較する工程と、
前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、
前記補正対象領域に対して赤目補正を行う工程と、
を有することを特徴とする赤目補正方法。
【請求項1】
画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、
前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程と、
を実行させることを特徴とするプログラム。
【請求項2】
請求項1に記載のプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータに、
前記複数の特徴領域のそれぞれに関する特徴量のヒストグラムを生成する工程と、
前記ヒストグラムから導かれるパラメータに基づいて前記平滑化の度合いを決定する工程と、
をさらに実行させることを特徴とするプログラム。
【請求項3】
画像中の赤目を補正するプログラムであって、前記プログラムのコンピュータによる実行は、前記コンピュータに、
画像中の補正対象領域を決定する工程と、
前記補正対象領域の大きさと所定値とを比較する工程と、
前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、
前記補正対象領域に対して赤目補正を行う工程と、
を実行させることを特徴とするプログラム。
【請求項4】
請求項1ないし3のいずれかに記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項5】
画像中の赤目を補正する赤目補正方法であって、
特徴量に基づいて画像から赤目領域として抽出された複数の特徴領域に対して赤目補正を行う工程と、
前記赤目補正を行う工程の前または後に、前記複数の特徴領域のそれぞれに対して処理対象となる特徴領域に応じた平滑化を行う工程と、
を有することを特徴とする赤目補正方法。
【請求項6】
画像中の赤目を補正する赤目補正方法であって、
画像中の補正対象領域を決定する工程と、
前記補正対象領域の大きさと所定値とを比較する工程と、
前記補正対象領域の大きさが前記所定値よりも小さい場合に、前記補正対象領域の解像度を増大させる工程と、
前記補正対象領域に対して赤目補正を行う工程と、
を有することを特徴とする赤目補正方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−64459(P2009−64459A)
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【出願番号】特願2008−274141(P2008−274141)
【出願日】平成20年10月24日(2008.10.24)
【分割の表示】特願2001−70140(P2001−70140)の分割
【原出願日】平成13年3月13日(2001.3.13)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
【公開日】平成21年3月26日(2009.3.26)
【国際特許分類】
【出願日】平成20年10月24日(2008.10.24)
【分割の表示】特願2001−70140(P2001−70140)の分割
【原出願日】平成13年3月13日(2001.3.13)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】
[ Back to top ]