以下、本発明の実施形態を、図面を参照しながら説明する。なお、説明の明確化のため、以下の説明で用いる図面には、適宜、模式的に表現した図が用いられるものとする。また、各図面において同一の構成または同一の機能を有する構成要素およびその構成要素に相当する部分には同一の符号を付し、一度説明した構成または機能については、後の記載においてその説明を省略する。
まず初めに、本発明によるカラー画像処理装置が行うカラー画像処理方法の一態様について、その概要を説明する。本発明によるカラー画像処理方法では、入力画像中の特定対象物の色を補正する際、まず、カラー画像処理装置は、入力画像中の特定対象物の低周波成分を算出する。次に、カラー画像処理装置は、算出した低周波成分を、特定対象物における陰影情報を含んだ完全拡散成分として用いる。そして、カラー画像処理装置は、入力画像から完全拡散成分(陰影情報を含む)を減算することで、その特定対象物上における表面反射成分(ハイライト)を算出する。
次に、カラー画像処理装置は、特定対象物の完全拡散成分(陰影情報を含む)から、陰影情報を除去して、特定対象物の本来の色情報であるアルベドを得る。カラー画像処理装置は、このアルベドを用いて、特定対象物を表現する際に用いられる表面反射率を復元する。そして、カラー画像処理装置は、より好ましい表面反射率として対象物ごとに予め設定されている参照表面反射率に、上述する復元された表面反射率を近づける補正を施すことで、補正アルベドを算出する。最後に、カラー画像処理装置は、補正アルベドに表面反射成分と陰影情報を加算することで、特定対象物の再現色を算出する。このようにすることで、特定対象物の色を補正した後の再現色を、より自然に近い色で、かつ、より好ましい色で表現することが出来る。
なお、上述する処理概要に記載された単語の意味については後述する。
図1は、本発明におけるカラー画像処理の一例を示す説明図である。以下、本発明におけるカラー画像処理装置が行うカラー画像処理方法の概要について、図1を用いてさらに説明する。
I.まず、カラー画像処理装置は、入力される入力画像に関する情報を取得する(以下、画像情報取得処理と記す。)。具体的には、カラー画像処理装置は、入力画像が入力されると、その入力画像から特定対象物を特定する。特定対象物とは、補正する対象として特定される領域のことである。カラー画像処理装置は、特定対象物を特定することにより、アルベドを補正する領域(以下、対象物領域と記すこともある。)を検出する。また、併せて、カラー画像処理装置は、特定対象物の色情報(すなわち、対象物領域の色)を取得する。ここで、アルベドとは、特定対象物そのものの色情報であり、具体的には、特定対象物の画像情報(すなわち、入力画像から取得される色情報)から、テカリや影を取り除いた色情報である。
II.次に、カラー画像処理装置は、特定対象物の反射情報を復元する(以下、反射情報復元処理と記す。)。ここで、反射情報とは、特定対象物上で反射する反射光に関する情報である。特定対象物の反射情報は、一般的に、特定対象物の3次元形状に基づいて、照明の幾何条件をもとに復元される。一方、本発明におけるカラー画像処理方法では、3次元形状の代わりに特定対象物の低周波成分を利用する。
カラー画像処理装置は、まず、特定対象物の低周波成分を、陰影情報を含む完全拡散成分とする。そして、カラー画像処理装置は、特定対象物の色情報から低周波成分を取り除くことで、表面反射成分を復元する。このとき、カラー画像処理装置は、入力画像の各画素の画素値について、色情報から低周波成分を減算することにより、表面反射成分を算出する。以上により、特定対象物の色情報が、表面反射成分と完全拡散成分(すなわち、陰影情報を含む完全拡散成分)に分離される。すなわち、表面反射成分が復元される。
ここで、表面反射成分とは、物体の表面上で反射する反射光の成分であり、いわゆる「テカリ」を示す情報である。また、完全拡散成分とは、特定対象物の低周波成分であり、陰影情報とは、その完全拡散成分の輝度を示す情報である。
III.カラー画像処理装置は、特定対象物のアルベドを計算する(以下、アルベド計算処理と記す。)。具体的には、カラー画像処理装置は、特定対象物の低周波成分である完全拡散成分(陰影情報を含む)から、陰影情報を除算することでアルベドを算出する。なお、このことから、アルベドとは、特定対象物の色情報から表面反射成分を取り除いた色情報である完全拡散成分から、さらに、陰影情報を除いた色情報であるということができる。すなわち、特定対象物の画像情報(入力画像から取得した色情報)から、表面反射成分(テカリ)と陰影情報(影)を取り除いた色情報がアルベドである。逆にいえば、完全拡散成分には陰影情報が含まれているといえる。また、対象物領域の色情報は、アルベドと陰影情報の積に、表面反射成分を付加したものとして表わされているといえる。
IV.カラー画像処理装置は、アルベドを補正する(以下、アルベド補正処理と記す。)。具体的には、カラー画像処理装置は、特定対象物の色情報とアルベドとを用いて表面反射率を算出する。そして、カラー画像処理装置は、算出した表面反射率を参照表面反射率に近づける補正を行う。この補正した表面反射率を用いてカラー画像処理装置は、アルベドを補正する。ここで、参照表面反射率とは、特定対象物に応じて予め設定された表面反射率である。参照表面反射率については後述する。
V.カラー画像処理装置は、補正されたアルベドへ表面反射成分と陰影情報とを付加した再現色を算出する(以下、再現色算出処理と記す。)。
なお、以下の説明では、特定対象物から検出した対象物領域が複数の画素から構成されていることを前提とする。また、各画素は色情報を有するものとする。なお、色情報のことを、画素値と記すこともある。色情報には、少なくとも、表面反射成分、完全拡散成分(陰影情報を含む)が含まれることを前提とする。なお、色情報には、上述以外の色に関する情報を含んでいてもよい。また、以降の説明では、特定対象物と対象物領域とを区別せずに説明する。なお、上述した各処理を行うカラー画像処理装置の構成については、後述する。
次に、本発明によるカラー画像処理装置の構成について説明する。図2は、本発明によるカラー画像処理装置の一実施形態を示すブロック図である。図2に例示するカラー画像処理装置100は、画像情報取得部110と、反射情報復元部120と、アルベド計算部130と、アルベド補正処理部140と、再現色算出部150とを備えている。
画像情報取得部110は、外部から入力される入力画像に基づいて、特定対象物を特定し、特定対象物の対象物領域を検出する。また、画像情報取得部110は、対象物領域の色情報を取得する。
反射情報復元部120は、対象物領域の低周波成分を算出する。この算出された低周波成分が対象物領域における陰影情報を含んだ完全拡散成分である。そして、反射情報復元部120は、対象物領域の色情報から完全拡散成分を除去することで、対象物領域における表面反射成分を復元する。すなわち、対象物領域における色情報は、表面反射成分(テカリ)と完全拡散成分に分離され、それぞれの成分として復元される。
アルベド計算部130は、アルベドを算出する。具体的には、アルベド計算部130は、対象物領域における完全拡散成分を陰影情報で除算する(すなわち、完全拡散成分から陰影情報を除く)ことでアルベドを算出する。
アルベド補正処理部140は、色情報とアルベドを用いて表面反射率を復元し、その表面反射率を用いてアルベドを補正した色情報(以下、補正アルベドと記す。)を算出する。なお、アルベド補正処理部140は、分光分布復元部141とアルベド補正部142とを含んでいる。分光分布復元部141は、対象物領域の色情報を用いて照明の分光分布を復元する。アルベド補正部142は、復元した照明の分光分布とアルベドとを用いて、対象物領域の表面反射率を復元する。そして、アルベド補正部142は、復元した表面反射率に基づいてアルベドを補正することで補正アルベドを算出する。
再現色算出部150は、補正アルベドへ陰影情報と表面反射成分を付加して対象物領域の再現色を算出する。そして、再現色算出部150は、算出した再現色を用いて出力画像を生成する。
以下、本発明におけるカラー画像処理装置の動作について、各実施形態に則して説明する。
実施形態1.
まず、本発明の第1の実施形態におけるカラー画像処理方法を、図面を用いて処理の流れを説明する。図3は、本発明の第1の実施形態におけるカラー画像処理方法の例を示すフローチャートである。なお、以下の説明では、本実施形態におけるカラー画像処理方法を、図2に例示するカラー画像処理装置100を用いて実現するものとする。また、以下の説明では、画像の表色系がRGB表色系であるものとする。すなわち、画像の色が、R(赤)、G(緑)およびB(青)の組み合わせで表されるものとする。以下、入力画像の色情報のことを、色情報RGBと表記するものとする。ただし、画像の表色系は、RGB表色系に限定されない。画像の表色系は、RGB以外の他の表色系であってもよい。
以下、図2に例示するカラー画像処理装置100が、任意に与えられたカラー画像中の特定対象物の質感を向上させるために、カラー画像中の対象物領域の各画素における再現色の再計算を行う動作を説明する。
まず、画像情報取得部110は、入力画像中から特定対象物を自動で検出する(ステップS1)。このとき、画像情報取得部110は、検出した特定対象物における対象物領域の色情報を併せて取得する。ここで、入力画像中から特定対象物を自動で検出するとは、入力画像から予め定められた対象(例えば、人間の顔)を特定対象物として検出することや、ユーザ等により個別に指定された対象を特定対象物として検出することを意味する。
ここで、特定対象物とする個体は、それぞれ異なっていてもよい。すなわち、個体差があったとしても、大まかな色情報やテクスチャが普遍であることから、カラー画像から得られる特徴から想定する対象物であると特定できるのであれば、特定対象物は、特定の個体に限定されるものではない。
図4は、入力画像中の対象物領域を検出し、色情報を求める処理の例を示す説明図である。図4に示す例では、対象物領域を人間の顔とし、その対象物領域から色情報を取得することを示す。画像情報取得部110は、例えば、図4に例示するカラー画像中から、色情報やテクスチャなどを用いて特定対象物を検出する。以下、特定対象物が、人間の顔である場合について説明する。
特定対象物を人間の顔とした場合、画像情報取得部110は、目、鼻、口などの形状特徴を利用して顔領域を検出する。画像情報取得部110は、顔領域を検出する方法として、例えば、非特許文献2に記載された顔検出方法を用いてもよい。上述の通り、非特許文献2に記載された顔検出方法は、Image−based型と目の検出を行うFeature−based型とを組み合わせる一般化学習ベクトル量子化を用いた方法である。
他にも、画像情報取得部110は、入力画像から顔領域を検出する方法として、例えば、特許文献2に記載された、画像中から目を検出する方法を用いてもよい。入力画像中から目の位置を検出できれば、顔領域を推定することは容易である。
なお、非特許文献2に記載された顔検出方法と、特許文献2に記載された目の検出方法は、通常、モノクロ情報を利用して顔検出を行う。画像情報取得部110は、さらに、その検出結果である顔領域が肌色であるか否かについて判定してもよい。このような判定処理を追加することにより、顔領域の検出精度を向上させることができる。なお、指定の領域が肌色か否かを判定する方法として、例えば、特許文献1に記載された画像ヒストグラムを利用してもよい。
なお、画像情報取得部110が入力画像から顔領域を検出する方法は、上記方法に限定されない。また、上記説明では、任意に与えられた入力画像から自動検出する対象物が人間の顔である場合について説明した。ただし、自動検出する対象物は人間の顔に限られない。人間の顔以外の対象物を自動検出する場合、画像情報取得部110は、例えば、予め登録されている対象物領域の視覚的特徴情報と、画像データの視覚的特徴情報とを比較することによって対象物を自動検出してもよい。
次に、分光分布復元部141は、入力画像中の特定対象物における色情報(対象物領域の色)をもとに、入力画像を撮影した際の照明の色情報を復元する(ステップS2)。具体的には、分光分布復元部141は、入力画像を撮影した際の照明の分光分布を算出する。なお、ここでは、分光分布復元部141は、カラー画像中の対象物領域の色情報、及び、対象物が有する表面反射特性を利用して、入力画像を撮影した際に用いられたと推定される照明の色情報(具体的には、照明の分光分布特性)を復元するものとする。
まず、分光分布復元部141は、対象物領域の色情報RGBを取得し、取得した色情報RGBに基づいて、XYZ表色系の三刺激値XYZを求める。そして、分光分布復元部141は、対象物領域の三刺激値XYZと、対象物が有する表面反射率とから、分光分布を復元する。以下、分光分布復元部141が、入力画像から自動検出された特定対象物が示す対象物領域の色情報を求める処理について具体的に説明する。
ここでは、画像情報取得部110が対象物領域の色情報RGBを取得し、分光分布復元部141がその色情報RGBに基づいて、XYZ表色系の三刺激値XYZを求めるものとする。なお、分光分布復元部141は、対象物領域の色情報として、例えば、対象物が占める領域内に存在する画素の平均色、中央色(メジアン)、最頻色(モード)など、いずれか一つの色を利用することが可能である。
また、色情報RGBにおけるRGB蛍光体の色度及び白色の色度は、予め指定されているものとする。また、色情報RGBと表示機器の発光強度との関係は、線形であるものとする。この場合、入力画像の色情報RGBと三刺激値XYZとの関係は、以下の式1で表される。
ここで、RXは、3×3変換行列である。この変換行列RXは、RGB蛍光体の色度及び白色の色度が決まれば、一意に定まる行列である。分光分布復元部141は、変換行列RXを算出する方法として、例えば、非特許文献2に記載された算出方法を用いてもよい。また、カラー画像を表示する表示装置(図示せず)が、sRGB(Standard RGB)ディスプレイである場合、分光分布復元部141は、変換行列として、国際電気標準会議(IEC)が規定する変換行列を用いてもよい。さらに、式1に例示する関係式に、黒を示すXYZ値をオフセット項として追加してもよい。
次に、分光分布復元部141は、入力画像を撮影した際の照明の色情報である照明の分光分布を算出する。ここで、入力画像を撮影した際の照明とは、入力画像中の対象物を照射する照明(光源)のことである。
分光分布復元部141は、式(1)により算出される対象物領域の三刺激値XYZと、対象物が有する表面反射率とから、分光分布を復元するための観測方程式を生成する。XYZ表色系に基づいて表わされた対象物領域の色を示す三刺激値XYZは、対象物領域の表面反射率、その対象物を照射する照明の分光分布および人間視覚の等色関数を用いて、以下の式(2)で表現される。
ここで、λは波長、I(λ)は照明の分光分布、R(λ)は対象物領域の表面反射率である。また、x(λ)、y(λ)およびz(λ)は等色関数であり、既知の関数である。また、可視光の波長領域で積分が行われる。
式1を用いて計算された三刺激値XYZを式2の左辺に代入すると、式2は、未知である照明の分光分布I(λ)およびR(λ)の観測方程式になる。しかし、現状では、波長に関する連続関数であるI(λ)およびR(λ)を、式2から計算することはできない。
ここで、対象物領域の色を示す表面反射率R(λ)を、ある程度の誤差を含んだ状態であっても、予め限定または決定できると仮定する。すると、R(λ)を、既知の値として扱うことができる。この場合、式2は、I(λ)のみの観測方程式になる。
図5は、平均的な肌色を有する日本人の顔領域における表面反射率の一例を示すグラフである。図5に例示するグラフの横軸は波長(nm)、縦軸は、表面反射率(%)を表す。例えば、対象物を日本人の顔とした場合、図5に例示する表面反射率を、式2におけるR(λ)として用いることができる。
また、対象物が顔以外の場合であってもよい。例えば、複数の対象物を測定して得られた表面反射率の平均、または、代表的な色を持つ領域として選択された対象物領域の表面反射率を予め求めておき、その表面反射率を式2におけるR(λ)として用いてもよい。なお、対象物領域の表面反射率は予め定められ、カラー画像処理装置100が備えるメモリ(図示せず)や、アルベド補正処理部140に含まれるメモリ(図示せず)に記憶される。このように、測定等により予め定められた対象物領域の代表的な表面反射率を代表表面反射率と言うこともできる。
R(λ)を定めることにより、式2は照明の分光分布I(λ)の観測方程式になる。しかし、このままでは、I(λ)を解析的に計算することは出来ない。これは、本来、照明の分光分布I(λ)は、可視光領域において無限次元の波形で表されるためである。しかし、I(λ)が少ないパラメータで表現できれば、この問題は解決される。
ここで、CIE昼光は、国際照明委員会(CIE)が相対分光分布によって規定した測色用の光源であり、平均と2つの主成分の線形和でよく近似されることが知られている。図6は、CIE昼光の平均および第1、第2主成分ベクトルの例を示すグラフである。図6に例示するグラフの横軸は波長(nm)、縦軸は照明や光源の各波長における分光分布スペクトルパワーを表している。また、I0がCIE昼光の平均ベクトル、I1が第1主成分ベクトル、I2が第2主成分ベクトルである。このことから、照明の分光分布I(λ)を以下の式3のように表すことができる。
式3におけるIi(λ)(i=0〜2)は、図6に例示する照明の平均および基底ベクトルである。また、ai(i=1〜2)は、各基底ベクトルの重み係数であり、照明の色を表現する特性パラメータになる。ここで、式3のI(λ)を式2に代入すると、照明の色を表現する未知の特性パラメータa1およびa2に関する2元一次連立方程式になる。そのため、a1及びa2を容易に計算することが出来る。そして、上記連立方程式を解くことにより得られた特性パラメータa1およびa2を、式3に代入することによって、照明の分光分布I(λ)が得られる。以上の手順により得られた照明の分光分布を、入力画像を撮影した際の照明の分光分布I(λ)とする。
次に、画像中の特定対象物について、質感を保ったまま色を補正する処理について説明する。
いま、特定対象物が人間の顔である場合を例に説明する。画像中の特定対象物について質感を保って色を補正するためには、その特定対象物の本来の色情報、すなわち、アルベドを抽出し補正する必要がある。特定対象物のアルベドを計算するためには、特定対象物の見かけの色情報から、表面反射成分(テカリ)と陰影情報を除去しなければならない。この表面反射成分と陰影情報は、特定対象物の三次元形状や照明幾何が必要になる場合がある。2次元画像として表わされた特定対象物の3次元形状を得るためには、例えば、非特許文献3などに記載された技術が利用できる。しかし、非特許文献3などに記載された方法よりも、より低い計算コストで特定対象物のアルベドを計算出来ることが望ましい。
ここで、人間が知覚する物体の見かけの色情報は、その物体の材質条件(単一色のプラスチック)により、2色性反射モデルとして表せる場合がある。図7は、2色性反射モデルの例を示す説明図である。図7に示す例では、入射光が対象物に入射すると、一部の光は完全拡散成分として拡散し、一部の光は表面反射成分として反射することを示す。Phongモデルや、Torrance−Sparrowモデルなどの2色性反射モデルでは、物体からの反射光は、表面反射成分と完全拡散成分の2つの反射成分のミクスチャで表される。完全拡散成分は、物体表面の法線ベクトルと光源方向ベクトルのなす角によってのみ決定される。つまり、観察方向には依存せず、どの方向から見ても変化しない。
一方、表面反射成分は、入射角と反射角が等しくなった角度で最も大きくなる。言い換えると、このことは、完全拡散成分の周波数は低く、表面反射成分は高い周波数を有する性質をそれぞれが持つことに相当する。そして、2色性反射モデルそのものが適用できない顔のような特定対象物であっても、表面反射成分(テカリ)が確認できるのであれば、その表面反射成分は、高い周波数成分を有する特徴があると言ってよい。そこで、本発明では、2色性反射モデルそのものが適用できない顔のような画像中の特定対象物であっても、表面反射成分(テカリ)については、高い周波数成分を有する特徴があることに着目する。具体的には、特定対象物の三次元形状を用いずに、特定対象物の見かけの色情報から、表面反射成分(テカリ)と陰影情報を除去し、アルベドを算出する。そのため、低計算コストでアルベドを算出することができる。具体的には、画像情報取得部110及び反射情報復元部120がこれらの処理を実行する。以下、ステップS3〜ステップS4の説明において、これらの処理を詳述する。
次に、反射情報復元部120は、画像中の特定対象物が示す領域の低周波成分を算出する(ステップS3)。反射情報復元部120は、例えば、画像中の特定対象物が示す領域における各画素について、その周辺画素の平均値を算出することで低周波成分を算出してもよい。また、反射情報復元部120は、各画素をガウシアンなどの値に置き換える平滑化フィルタを使用することで、低周波成分を算出してもよい。ただし、低周波成分を算出する方法は、上記方法に限定されない。
次に、反射情報復元部120は、ステップS3で算出された低周波成分を入力画像中の特定対象物における完全拡散成分とする。そして、反射情報復元部120は、入力画像中の特定対象物の色情報から完全拡散成分を減算して、表面反射成分を計算する(ステップS4)。
一般に、対象物の反射率は、入射光と放射光の幾何条件に依存し、この反射特性は、双方向反射率分布関数BRDF(Bidirectional Reflectance Distribution Function)として表現される。BRDFでは、表面反射成分(Secular component)と完全拡散成分(Body reflection component)の2つの成分から構成される場合が多い。例えば、特定対象物が人などの生物の場合、表面反射成分は、皮膚の表面で反射する光の成分である。また、この場合、完全拡散成分は、一旦皮膚内部に入射し、その内部で拡散された光が再度皮膚を通じて発散する光の成分である。
完全拡散成分は、低周波の特性を有している。そのため、特定対象物が示す領域の低周波成分を特定対象物の完全拡散成分DR(Diffuse Reflection)とみなすことができる。なお、ここでは、完全拡散成分DRは、カラーチャネル(たとえば、R、G、Bなど)ごとに算出されているものとし、各カラーチャネルの完全拡散成分をDRiと表現する。なお、iは各カラーチャネルを表す。
いま、特定対象物がランバーシャンであると仮定して完全拡散成分が計算されている。しかし、実際には、完全拡散成分は、拡散反射成分のみではなく表面反射成分を含んでいる。つまり、入力画像の各カラーチャネルの画素値は、拡散反射成分と表面反射成分とを含んだ、そのカラーチャネルにおける見かけの画素値(輝度、明るさ)を表していると言える。したがって、反射情報復元部120は、特定対象物が示す領域中に含まれる画素の各カラーチャネルの表面反射成分SPiを、以下の式4で計算する。
Ii−DRi>0のとき SPi=Ii−DRi
上記以外 SPi=0 (式4)
ここで、Iiは、入力画像の特定対象物が示す領域中に含まれる画素の画素値を現しており、iは、カラーチャネル(たとえば、R、G、Bなど)を表している。
完全拡散成分DRiのルミナンス(輝度)が対象物領域の陰影情報(Shading)である。陰影情報は、入力画像の特定対象物が示す領域におけるある画素の拡散反射成分DRiの輝度を表しており、式1で計算される。式1で計算される三刺激値Y(三刺激値のうちのY成分)を、特定対象物の3次元形状と照明の幾何条件から生じる陰影情報とすれば、アルベドは、完全拡散成分から陰影情報を取り除いた色情報であると定義できる。
アルベド計算部130は、入力画像中の特定対象物が示す領域中に含まれる画素のアルベドを計算する(ステップS5)。具体的には、アルベド計算部130は、入力画像中の特定対象物が示す領域中に含まれる画素の各カラーチャネルのアルベドを、以下の式5にしたがって算出する。
ADi=DRi/Y (式5)
ここで、ADiは、各カラーチャネルのアルベドを表す。
次に、アルベド補正処理部140(具体的には、アルベド補正部142)は、入力画像中の特定対象物における各画素のアルベドと照明の分光分布とから、表面反射率R(λ)を復元する(ステップS6)。以下、入力画像がRGB表色系の画像であるものとして説明する。
アルベド補正部142は、アルベドADiで表された特定対象物の領域における各画素のRGB値をもとに、式1にしたがって、三刺激値XYZを計算する。そして、アルベド補正部142は、計算した三刺激値XYZを式2の左辺に代入する。また、アルベド補正部142は、ステップS2で計算された、入力画像を撮影した際の照明の分光分布I(λ)を、式(2)の右辺に代入する。こうすることで、式2は、特定対象物の領域のある画素における表面反射率R(λ)に関する観測方程式(以下、観測方程式(2)と記す。)になる。
特定対象物の表面反射率は、照明の分光分布と同様に、可視光領域において無限次元の波形で表される。そのため、特定対象物の表面反射率を観測方程式(2)から解析的に計算することは出来ない。そこで、アルベド補正部142は、特定対象物の表面反射率を、低次元の基底ベクトルの加重和で表す有限次元線形モデルを用いて以下の式6のようにモデル化する。
ここで、ri(λ)(i=0〜3)は、多くの物体の表面反射率を集め、それらを主成分分析して得られる基底ベクトルである。r0(λ)は、平均ベクトル、r1(λ)〜r3(λ)は、それぞれ第一主成分ベクトル〜第三主成分ベクトルを表しており、すべて既知のベクトルである。一方、bi(i=1〜3)は、各基底ベクトルの重み係数で、物体の色を表現する未知の特性パラメータになる。
図8は、物体の表面反射率を主成分分析して得られた基底ベクトルの例を示すグラフである。図8に例示するグラフの横軸は波長(nm)、縦軸は、照明や光源の各波長における分光分布スペクトルパワーを表している。なお、多数集めた特定対象物の表面反射率を主成分分析して得られた基底ベクトルを、式6に用いてもよい。
いま、特定対象物の表面反射率R(λ)が式6のように表わされるとする。この場合、未知の特性パラメータb1〜b3は、式6を観測方程式(2)に代入することにより得られる3元一次連立方程式(以下の式7)によって求められる。
ここで、M(x,ri)(i=0〜3)は、以下の積分項を表す。y、zについても同様である。
そして、アルベド補正部142は、式7で得られた特性パラメータbi(i=1〜3)を、式6に代入する。このようにして、対象物領域の任意の画素における表面反射率が求められる。
次に、アルベド補正部142は、対象物領域の参照表面反射率を利用して、入力画像中の対象物における各画素の再現表面反射率を算出し、補正後のアルベドを計算する(ステップS7)。まず、アルベド補正部142は、ステップS6で算出された入力画像中の対象物における各画素の表面反射率を、その対象物領域の望ましい色が再現できるように設定された参照表面反射率を基に補正する。対象物領域の参照表面反射率とは、その対象物領域の望ましい色が再現できるように予め設定された表面反射率である。より具体的には、参照表面反射率とは、その対象物を標準照明下で撮影して得たカラー画像において、その対象物が良好で、かつ、好ましい色(明度、彩度、色相)になるような表面反射率のことである。すなわち、参照表面反射率は、対象物領域における色情報を所望の色に再現する際の表面反射率であるということができる。
この参照表面反射率は、人間の主観に依存するため一意に定義できるものではない。しかし、主観評価実験を実施することで参照表面反射率を予め求めておくことができる。例えば、画像処理ツールを用いて画像中の対象物領域の色を様々に変化させてその画質を評価する。そして、評価した中で最も好ましいと判断されたときの画像について、上述のステップS2およびステップS3を適用する。これにより、対象物領域における各画素の参照表面反射率を求めることができる。
また、参照表面反射率として、対象物領域から3つ以上の色をあらかじめ選択しておく。そして、その選択された色の平均色、中央色(メジアン)、最頻色(モード)に相当する画素の色に対する表面反射率を、対象物領域の参照表面反射率としてもよい。他にも、対象物領域内の最も明るい色、最も暗い色、最も彩度の高い色、最も彩度の低い色、または、対象物領域内の色分布を解析し、色相の両端に位置する色などについての表面反射率を、対象物領域の参照表面反射率としてもよい。以下、参照表面反射率をRref(λ)と記すこともある。
また、入力画像中の対象物において形状的な特徴が利用できる場合には、その領域における色に対する表面反射率を、その対象物領域の参照表面反射率Rref(λ)としてもよい。例えば、対象物が顔の場合、頬、目尻、額などが特徴領域として与えられる。このとき、これらの特徴領域において、ある程度の範囲内に存在する画素の平均色を求め、その平均色に対する表面反射率を算出する。この算出した表面反射率を、対象物領域の参照表面反射率Rref(λ)としてもよい。
以上のような手法を用いることで、対象物領域の参照表面反射率を予め定めておくことができる。ただし、参照表面反射率の算出方法は、上述の方法に限定されない。
アルベド補正部142は、入力画像中の特定対象物における各画素の表面反射率R(λ)を、参照表面反射率であるRref(λ)を利用して補正することによって、再現表面反射率Rmd(λ)を算出する。すなわち、アルベド補正部142は、対象物領域の色を良好に再現するための参照表面反射率であるRref(λ)を利用して、好ましい色を再現する再現表面反射率Rmd(λ)を算出する。
アルベド補正部142は、例えば、以下の式8を用いて再現表面反射率Rmd(λ)を算出する。
Rmd(λ)=α・R(λ)+(1−α)・Rref(λ) (式8)
ここで、αは、0以上1.0以下(0≦α≦1.0)の実数である。
また、アルベド補正部142は、以下のように再現表面反射率Rmd(λ)を算出してもよい。まず、アルベド補正部142は、入力画像中の特定対象物における色の平均色、中央色(メジアン)、または、最頻色(モード)に相当する画素の色について、その表面反射率を求める。この表面反射率をRavg(λ)とする。参照表面反射率については、上述のRref(λ)を用いる。ここで、波長λに関する関数F(λ)を以下の式9のように定義する。
F(λ)=Rref(λ)/Ravg(λ) (式9)
そして、アルベド補正部142は、入力画像中の特定対象物における各画素の表面反射率R(λ)を、以下の式10を用いて補正することで、再現表面反射率Rmd(λ)を算出する。
Rmd(λ)=α・F(λ)・R(λ)+(1−α)・R(λ) (式10)
ここで、αは、0以上1.0以下(0≦α≦1.0)の実数である。
このように、アルベド補正部142は、対象物領域における表面反射率を、一つの波長λに関する関数F(λ)を用いて表面反射率(すなわち、再現表面反射率)に補正する。さらに、アルベド補正部142は、対象物領域内の再現色の分散が小さくならないように予め工夫して再現表面反射率を算出してもよい。対象物領域内の色の分散が小さくなってしまうと、質感の低下を引き起こしてしまう場合があるからである。
本実施形態では、アルベド補正部142は、画像中の対象物領域の色を補正するに際し、特定対象物が示す領域における各画素に対して、アルベドから算出された表面反射率を構成する特性パラメータbi(i=1〜3)を補正する。なお、ステップS7における以降の処理を、再現表面反射率拡張導出処理と記す。
すなわち、アルベドから算出された表面反射率は、式6に例示するように、低次元の規定ベクトルの加重和で表現することができる。式6におけるr0(λ)〜r3(λ)は固定のベクトルであり、特性パラメータbiが変化することにより表面反射率が変化(すなわち、色が変化)する。そのため、特性パラメータbiを補正することで、アルベドから算出された表面反射率R(λ)を補正することになる。その結果、再現表面反射率Rmd(λ)を得ることができる。
特性パラメータbi(i=1〜3)を補正する式の一例を以下の式11に示す。
ここで、bi’(i=1〜3)は、補正後の特性パラメータである。また、式11における3×3行列が補正行列である。アルベド補正部142は、補正行列の要素mij(i=1〜3,j=1〜3)を以下のように算出する。
まず、上述のように特定対象物に対する3個以上の参照表面反射率Rref(i,λ)(i=0〜n,ただし、n≧3)を予め用意しておく。この参照表面反射率Rref(i,λ)は、例えば、特定対象物の領域における色の平均色、中央色(メジアン)、最頻色(モード)に相当する画素の色に対する表面反射率であってもよい。また、参照表面反射率Rref(i,λ)は、対象物領域内の最も明るい色、最も暗い色、最も彩度の高い色、最も彩度の低い色、または、対象物領域内の色分布を解析したときの、色相の両端に位置する色などについての表面反射率であってもよい。また、参照表面反射率Rref(i,λ)は、入力画像中の対象物において形状的な特徴が利用できる場合には、その領域における色に対する表面反射率であってもよい。
アルベド補正部142は、それぞれの参照表面反射率Rref(i,λ)に対して、入力画像中の対象物領域において同じ性質を有する色を求め、それらの色について表面反射率を求める。つまり、1個目の参照表面反射率Rref(1,λ)が、画像中の対象物領域の平均色に対して、上述の最も好ましいと判断された表面反射率であった場合、アルベド補正部142は、対象物領域の平均色に対する表面反射率R(1,λ)を求める。ここで、Rref(1,λ)の特性パラメータをbr1,i(i=1〜3)、R(1,λ)の特性パラメータをb1,i(i=1〜3)とする。
アルベド補正部142は、入力画像中の対象物領域における平均色を、好ましいと判断されたときの対象物領域における中心色に補正する。具体的には、アルベド補正部142は、Rref(1,λ)の特性パラメータであるbr1,i(i=1〜3)を、式11の左辺の特性パラメータbi’(i=1〜3)に代入する。また、アルベド補正部142は、R(1,λ)の特性パラメータをb1,i(i=1〜3)を、式11の右辺の特性パラメータbi(i=1〜3)に代入する。すると、式11は、未知である要素mij(i=1〜3,j=1〜3)に関する連立方程式になる。
対象物の3個以上の色について以上の処理を行うことにより、方程式の数と未知数との関係から、未知である要素mij(i,j=1〜3)を解くことができる。そのため、式11における補正行列を導出することが出来る。
図9は、特性パラメータbi(i=1〜3)の空間において、対象物領域における3個の色について、特性パラメータの補正を行った場合の関係の一例を示す説明図である。図9に示す例では、入力画像における対象物の表面反射率の特性パラメータが、対象物の参照表面反射率の特性パラメータとして補正されたことを示す。図9に例示するように、入力画像中の特定対象物の領域における特性パラメータの分布は、補正により、望ましい色再現をもたらす参照表面反射率における特性パラメータの分布になる。よって、色の分散の変化(例えば、分散の偏りや分散が小さくなること)を抑えることができ、補正後の色の質感が損なわれることを抑制できる。
また、逆に、入力画像中の特定対象物の領域における特性パラメータの分布が大きく分散している場合には、補正により、参照表面反射率における特性パラメータの分布の分散に調整できる。そのため、色の分散が大きすぎることによる質感の低下も改善できる。
アルベド補正部142は、入力画像中の対象物における各画素の表面反射率を構成する特性パラメータbi(i=1〜3)に、式11の補正行列を適用して、補正後の特性パラメータを算出する。そして、アルベド補正部142は、算出した補正後のパラメータを式6に代入して、入力画像中の対象物における各画素の補正後の再現表面反射率を算出する。
次に、アルベド補正部142は、入力画像中の対象物における各画素の補正後の色を算出する。具体的には、アルベド補正部142は、照明の分光分布及び再現表面反射率を式2の右辺に代入して、三刺激値X’Y’Z’、すなわち、補正後のアルベドADi’(iはカラーチャネルを表す)を計算する。なお、表色系がRGBの場合、アルベド補正部142は、以下の式12を用いて補正後のアルベドADi’を計算する。
ここで、XRは、式1に例示する行列RXの逆行列であり、既知の値をとる行列である。
次に、再現色算出部150は、補正後のアルベドと、陰影情報(すなわち、拡散反射成分の輝度)と、表面反射成分とを用いて、入力画像中の対象物における各画素の補正後の色を算出する(ステップS8)。なお、この補正後の色を、再現色と言うこともできる。
再現色算出部150は、まず、式13に例示するように、補正後のアルベドADi’に拡散反射成分の輝度、すなわち陰影情報を乗算し、完全拡散成分DRi’を計算する。
DRi’=ADi’×Y (式13)
ここで、Yは、完全拡散成分DRiの輝度、すなわち、式1で求められる三刺激値のY成分である。そして、再現色算出部150は、式14に例示するように、完全拡散成分DRi’に表面反射成分SPiを加算することで、色補正後の画素値Ii’を求める。
Ii’=DRi’+Spi (式14)
そして、再現色算出部150は、入力画像中の対象物領域の色を上記方法に従って補正した画像を出力画像として出力する。
上記説明では、入力画像および出力画像のデバイス依存カラーがRGBである場合について説明した。なお、デバイス依存カラーとは、出力先のデバイスに依存する色空間を意味する。ただし、このデバイス依存カラーは、RGBに限定されない。デバイス依存カラーとデバイス非依存カラーの三刺激値XYZとの対応関係が得られれば、デバイス依存カラーは、RGB以外のCMYやCMYKなどであってもよい。この場合、RGB以外の画像についても本発明の色補正方法を適用することが可能である。
また、上記説明では、照明の分光分布(照明の色情報)を復元する処理が図3に例示するステップS2で行われる場合について説明した。ただし、この処理は、必ずしも図3に例示する順序で行われなくてもよい。この処理は、図3に例示するステップS6の処理(すなわち、表面反射率の算出処理)より前の段階で行われていればよい。
以上のように、本実施形態によれば、画像情報取得部110が、対象物領域を入力画像から検出する。次に、反射情報復元部120は、対象物領域における色情報と完全拡散成分を算出し、その色情報及び低周波成分に基づいて表面反射成分を復元する。また、アルベド計算部130は、完全拡散成分から陰影情報を除去したアルベドを算出する。その後、アルベド補正処理部140(具体的には、分光分布復元部141及びアルベド補正部142)は、対象物領域における色情報及びアルベドに基づいて、対象物領域における表面反射率を復元し、その表面反射率に基づいて補正アルベドを算出する。そして、再現色算出部150は、補正アルベドに陰影情報及び表面反射成分を付加して再現色を算出し、その再現色に基づいて出力画像を生成する。このような処理を行うことで、カラー画像機器で撮影されたカラー画像中の所定の対象物を、低い計算コストで所望の色に再現し、質感を向上させることができる。
次に、カラー画像処理装置(色補正装置と言うこともある。)の変形例について説明する。図10は、第1の実施形態におけるカラー画像処理方法に適用されるカラー画像処理装置の例を示すブロックである。
図10に例示するカラー画像処理装置101は、入力画像1に対して色補正を施し出力画像2を出力する装置である。カラー画像処理装置101は、対象物領域検出部3と、照明の分光分布復元部4(以下、分光分布復元部4)と、対象物の代表表面反射率保存メモリ5(以下、代表表面反射率保存メモリ5)と、対象物領域の低周波成分計算部6(以下、低周波成分計算部6)と、対象物領域の陰影情報と表面反射成分と完全拡散成分計算部7(以下、反射情報復元部7)と、対象物領域のアルベド計算部8(以下、アルベド計算部8)と、対象物領域の表面反射率復元部9(以下、表面反射率復元部9)と、表面反射率補正によるアルベド補正部10(以下、補正アルベド算出部10)と、対象物の参照表面反射率保存メモリ11(以下、参照表面反射率保存メモリ11)と、対象物領域の再現色算出部12(以下、再現色算出部12)とを備えている。
対象物領域検出部3は、入力画像1が与えられると、入力画像1を解析し、予め想定された特定対象物を検出する。そして、対象物領域検出部3は、検出した特定対象物における対象物領域を示す情報を出力する。ここで、対象物領域を示す情報には、対象物領域の色情報も含まれる。具体的には、対象物領域検出部3は、図3のステップS1で説明した画像情報取得部110が行う方法を用いて、対象物領域の色情報を求める。
また、既に説明したように、入力画像1から検出する特定対象物は、人の顔などのように、対象物領域の色と形状特徴がある程度限定できるものである。なお、特定対象物の検出方法は、画像情報取得部110の説明で記載したとおりである。なお、入力画像1から目的とする対象物が検出できない場合、後述する再現色算出部12が、入力画像1を出力画像2として出力する。
代表表面反射率保存メモリ5は、対象物領域の代表表面反射率を保存する。対象物領域の代表表面反射率は、予め設定された値が保存される。
分光分布復元部4は、照明の分光分布を復元する。具体的には、分光分布復元部4は、対象物領域における色情報と、対象物領域の代表的な表面反射率とを用いて、入力画像中の照明の分光分布を復元する。なお、対象物領域は、対象物領域検出部3によって検出された特定対象物の示す領域である。分光分布復元部4は、対象物領域における照明の分光分布(照明の色情報)を、図3のステップS2で説明した分光分布復元部141が行う方法を用いて復元する。
図10に例示するカラー画像処理装置101において、分光分布復元部4は、代表表面反射率保存メモリ5から対象物領域の代表的な表面反射率を読み出す。そして、分光分布復元部4は、対象物領域における色情報と、対象物領域の代表的な表面反射率とを用いて、照明の分光分布を、ステップS2に記載された処理に従って復元する。
低周波成分計算部6は、対象物領域の低周波成分を計算する。具体的には、低周波成分計算部6は、ステップS3に記載された反射情報復元部120が行う処理に基づいて、対象物領域検出部3が検出した対象物領域の低周波成分を計算する。
反射情報復元部7は、対象物領域の陰影情報と、表面反射成分と、完全拡散成分とを計算する。具体的には、反射情報復元部7は、ステップS4に記載された反射情報復元部120が行う処理に従い、対象物領域の低周波成分を利用して、対象物領域における表面反射成分と完全拡散成分を求め、さらに、対象物領域の陰影情報を求める。
アルベド計算部8は、対象物領域のアルベドを計算する。具体的には、アルベド計算部8は、反射情報復元部7が求めた完全拡散成分から輝度、すなわち陰影情報を取り除いた色情報であるアルベドを算出する。なお、反射情報復元部7がアルベドを算出する処理は、ステップS5に記載されたアルベド計算部130が行う処理手順に従う。
表面反射率復元部9は、対象物領域の表面反射率を復元する。具体的には、表面反射率復元部9は、復元された照明の分光分布と、対象物領域のアルベドとから、対象物領域における各画素の表面反射率を復元する。表面反射率復元部9は、ステップS6に記載されたアルベド補正部142が行う処理手順に従って、表面反射率を復元する。
参照表面反射率保存メモリ11は、対象物領域の参照表面反射率を記憶する。参照表面反射率保存メモリ11は、3以上の対象物領域の参照表面反射率を記憶可能なメモリである。
補正アルベド算出部10は、表面反射率を補正してアルベドを補正する。具体的には、補正アルベド算出部10は、参照表面反射率保存メモリ11に記憶されている対象物領域の参照表面反射率を用いて、表面反射率復元部9が復元した表面反射率を補正する。次に、補正アルベド算出部10は、補正した表面反射率をもとに、再現表面反射率を計算する。そして、補正アルベド算出部10は、照明の分光分布と再現表面反射率とから補正後のアルベド(補正アルベド)を算出する。補正アルベド算出部10は、ステップS7に記載されたアルベド補正部142が行う処理手順に従う。
なお、補正アルベド算出部10は、複数の参照表面反射率を用いて再現表面反射率を算出してもよい。この場合、補正アルベド算出部10は、ステップS7の後半部に記載されたアルベド補正部142が行う処理手順(より具体的には、再現表面反射率拡張導出処理)に従って再現表面反射率を算出する。
再現色算出部12は、対象物領域の再現色を算出する。具体的には、再現色算出部12は、補正された対象物領域における各画素のアルベドと、完全拡散成分の輝度(すなわち陰影情報)と、表面反射成分とを用いて、入力画像中の対象物における各画素の補正後の色を算出する。そして、再現色算出部12は、算出した補正後の画像を出力画像として出力する。なお、再現色算出部12は、ステップS8に記載された再現色算出部150が行う処理手順に従って、補正後の色を算出し、補正した画像を出力する。
以上のことから、図10に例示するカラー画像処理装置101と、図2に例示するカラー画像処理装置100とは、以下の対応関係を有する。画像情報取得部110は、対象物領域検出部3に対応する。反射情報復元部120は、低周波成分計算部6と、反射情報復元部7とによって実現される。アルベド計算部130は、アルベド計算部8に対応する。アルベド補正処理部140における分光分布復元部141は、分光分布復元部4と代表表面反射率保存メモリ5とによって実現される。また、アルベド補正部142は、表面反射率復元部9、補正アルベド算出部10、及び参照表面反射率保存メモリ11によって実現される。再現色算出部150は、再現色算出部12に対応する。なお、図2または図9に示したカラー画像処理装置の構成は一例であり、同様の機能を実現する装置であれば、その他の構成であってもよい。
さらに、カラー画像処理装置101は、コンピュータで実現可能である。具体的には、カラー画像処理装置を構成する各構成要素、すなわち、対象物領域検出部3と、分光分布復元部4と、低周波成分計算部6と、反射情報復元部7と、アルベド計算部8と、表面反射率復元部9と、補正アルベド算出部10と、再現色算出部12とは、プログラム(カラー画像処理プログラム)に従って動作するコンピュータの中央処理装置(CPU)によって実現される。また、代表表面反射率保存メモリ5と、参照表面反射率保存メモリ11とは、例えば、カラー画像処理装置101が備えるメモリ装置によって実現される。
例えば、プログラムは、カラー画像処理装置101の記憶部(図示せず)に記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、対象物領域検出部3、分光分布復元部4、低周波成分計算部6、反射情報復元部7、アルベド計算部8、表面反射率復元部9、補正アルベド算出部10、及び、再現色算出部12として動作してもよい。
また、対象物領域検出部3と、分光分布復元部4と、低周波成分計算部6と、反射情報復元部7と、アルベド計算部8と、表面反射率復元部9と、補正アルベド算出部10と、再現色算出部12とは、それぞれが専用のハードウェアで実現されていてもよい。
なお、カラー画像処理装置を構成する各構成要素がCPU及びメモリで実現可能であること、およびプログラムに従って動作可能であることは、実施形態1に限らず、後述する第2の実施形態でも同様である。
実施形態2.
次に、本発明の第2の実施形態におけるカラー画像処理方法について、図面を用いて処理の流れを説明する。図11は、本発明の第2の実施形態におけるカラー画像処理方法の例を示すフローチャートである。第2の実施形態におけるカラー画像処理方法についても、図2に例示するカラー画像処理装置100を用いて実現するものとする。
第2の実施形態におけるカラー画像処理方法は、図3におけるステップS6及びステップS7で行われる2つの処理(具体的には、表面反射率を復元する処理及び補正後のアルベドを計算する処理)が1つの処理にまとめられている点において、第1の実施形態におけるカラー画像処理方法と異なる。それ以外の処理については、第1の実施形態と同様である。
具体的には、図2に例示するアルベド補正部142が、入力画像中の対象物における各画素の表面反射率を復元する処理(ステップS6)と、復元された表面反射率を補正して、補正後のアルベドを計算する処理(ステップS7)とをまとめた処理(具体的には、図10におけるステップS9)を行う。すなわち、ステップS9では、図11におけるステップS8で行われる補正後の再現色の計算結果が、第1の実施形態におけるステップS8で算出された計算結果と同様の結果になるような計算式(補正式)を作成する。以下、ステップS9で、アルベド補正部142が、線形計算に基づく補正式を作成する方法について説明する。このような補正式を利用したカラー画像処理方法を用いれば、第1の実施形態におけるカラー画像処理方法と同等の補正結果を低計算コストで実現できる。
なお、入力画像から特定対象物を検出して、その特定対象物のアルベドを算出するまでの図11におけるステップS1からステップS5の処理、及び、補正後の画素値を算出する図11におけるステップS8の処理は、図3に例示するステップ1からステップS5及びステップS8の処理と同様であるため説明を省略する。
アルベド計算部130が特定対象物のアルベドを算出した後、アルベド補正部142は、特定対象物の参照表面反射率を利用して、入力画像中の特定対象物における各画素の表面反射率を補正する。そして、アルベド補正部142は、補正後のアルベドを線形変換によって計算する(ステップS9)。具体的には、まず、アルベド補正部142は、上述の式11で要素mij(i=1〜3,j=1〜3)により構成される3×3行列(すなわち、対象物領域における表面反射率の補正行列)を、ステップS6で説明した対象物領域における表面反射率の算出方法を用いて計算する。
いま、ステップS2において、分光分布復元部141が入力画像を撮影した際の照明の分光分布I(λ)を復元しているものとする。また、アルベド補正部142が、図3のステップS6と同様の処理を行い、入力画像中の対象物領域におけるある画素の表面反射率R(λ)を復元しているものとする。すなわち、ここでは、物体の色を表す特性パラメータbi(i=1〜3)がすでに得られている状態にあるものとする。この状態で、アルベド補正部142は、上述したステップS7と同様の処理によって、表面反射率を補正する3×3行列の補正行列を導出する。
補正行列を導出した後、アルベド補正部142は、R’(λ)の特性パラメータbi’(i=1〜3)を、式11を用いて算出する。ここで、R’(λ)は、補正後の対象物領域の表面反射率である。そして、アルベド補正部142は、特性パラメータbi’(i=1〜3)を式6に代入することで、補正後の表面反射率R’(λ)を計算する。このとき、補正後の表面反射率R’(λ)は、以下の式15のように表わされる。
また、補正後の対象物領域の色の三刺激値X’Y’Z’は、以下の式16のように表される。
さらに、式16の右辺に、式15を代入し、行列変換の形式で表すと、以下の式17のようになる。
ここで、M(x,ri)(i=0〜3)は、以下の積分項を表す。y、zについても同様である。
また、式17は、式7及び式11から、以下の式18のように表わされる。
さらに、式18は、以下の式19のようにまとめることができる。
ここで、行列Oは、以下の式20で表される3×3行列であり、行列Pは、以下の式21で表される3×1行列であって、いずれの行列も定数行列になる。
色情報を補正する式である式19が得られると、分光分布復元部141は、入力画像中の対象物領域における全ての画素について三刺激値XYZを算出する。そして、アルベド補正部142は、式19を用いて補正後の三刺激値X’Y’Z’を計算する。そして、アルベド補正部142は、式12を用いて、補正後のR’G’B’(補正後のアルベド)を計算する。すなわち、入力画像中の対象領域における全ての画素値RGBを、画素値R’G’B’に補正する処理が、1つの線形計算で表わせる。なお、この線形計算を行う式をアルベド補正式と呼ぶことができる。このアルベド補正式は、表面反射率を補正する行列を用いて線形式で表わされた、アルベドを補正する式であるといえる。このように、一つの線形計算に基づく補正式に置き換えることによって、処理時間の高速化を図ることができる。
すなわち、本実施形態によれば、アルベド補正部142が補正式(アルベド補正式)に基づいて補正アルベドを算出する。よって、第1の実施形態の効果に加え、第1の実施形態におけるカラー画像処理方法と同等の補正結果を低計算コストで実現できる。
次に、カラー画像処理装置の他の変形例について説明する。図12は、第2の実施形態におけるカラー画像処理方法に適用されるカラー画像処理装置の例を示す説明図である。図12に例示するカラー画像処理装置102は、入力画像1に対して色補正を施し出力画像2を出力する装置である。カラー画像処理装置102は、対象物領域検出部3と、分光分布復元部4と、代表表面反射率保存メモリ5と、低周波成分計算部6と、反射情報復元部7と、アルベド計算部8と、アルベド補正部13と、参照表面反射率保存メモリ11と、再現色算出部12とを備えている。
すなわち、カラー画像処理装置102は、図10に例示するカラー画像処理装置101の表面反射率復元部9及び補正アルベド算出部10を、アルベド補正部13に置き換えた装置である。そのため、以下、アルベド補正部13の内容についてのみ説明する。
アルベド補正部13は、前述した図11のステップS9に相当する処理を実行する。具体的には、アルベド補正部13は、アルベド補正部13は、対象物領域の色を補正する補正式として、式19、もしくは、式1と式19と式12とを一つの線形変換の形式で表した補正式を作成する。そして、アルベド補正部13は、この補正式を用いて対象物領域の画素を補正した補正アルベドを算出する。
次に、本発明を実現する様々な実施形態について説明する。本発明によるカラー画像処理方法及び装置は、コンピュータを用いて実現することができる。また、本発明によるカラー画像処理方法及びカラー画像処理装置が行う各処理は、ソフトウェア、ハードウェア、ファームフェアのいずれか二つ以上の組み合わせで実現することもできる。
例えば、図2に例示するカラー画像処理装置100を、プログラムを用いてコンピュータで実現する場合、プログラム(プログラムの命令群)は、少なくとも次の手順をコンピュータに実行させる。具体的には、プログラムが、コンピュータのメモリにロードされ、CPUの制御のもとで、以下の命令(a)〜(e)が実行される。
(a)画像処理の対象とする領域である対象物領域を入力画像から検出する対象物領域検出手順。この手順は、図2における画像情報取得部110が行う処理に対応する。
(b)対象物領域における色情報及びその対象物領域における低周波成分である完全拡散成分を算出し、その色情報及び低周波成分に基づいて表面反射成分を復元する反射成分復元手順。この手順は、図2における反射情報復元部120が行う処理に対応する。
(c)完全拡散成分から、その完全拡散成分の輝度を示す情報である陰影情報を除去した色情報であるアルベドを算出するアルベド算出手順。この手順は、図2におけるアルベド計算部130が行う処理に対応する。
(d)対象物領域における色情報及びアルベドに基づいて、対象物領域における表面反射率を復元し、その表面反射率に基づいてアルベドを補正した色情報である補正アルベドを算出するアルベド補正処理手順。この手順は、図2におけるアルベド補正処理部140が行う処理に対応する。
(e)補正アルベドに陰影情報及び表面反射成分を付加した色情報である再現色を算出し、その再現色に基づいて出力画像を生成する再現色算出手順。この手順は、図2における再現色算出部150が行う処理に対応する。
具体的に、アルベド補正処理手順を、次の手順で実現してもよい。
(f)対象物領域における色情報から、照明の分光分布を復元する分光分布復元手順、(g)分光分布とアルベドとに基づいて、対象物領域における表面反射率を復元する表面反射率復元手順、および、(h)表面反射率に基づいて補正アルベドを算出する補正アルベド算出手順。
補正アルベド算出手順では、より具体的には、対象物領域に応じて予め定められた参照表面反射率をもとに表面反射率を補正した反射率である再現表面反射率を算出し、その再現表面反射率に基づいて補正アルベドを算出する。なお、参照表面反射率は、例えば、参照表面反射率保存メモリに記憶される。
分光分布復元手順では、より具体的には、対象物領域における色情報と、対象物領域の代表的な表面反射率として予め定められた代表表面反射率とから分光分布を復元する。
さらに、アルベド補正処理手順では、例えば、第2の実施形態で説明したように、表面反射率を補正する行列を用いて線形式で表わされた、アルベドを補正する式であるアルベド補正式に基づいて補正アルベドを算出してもよい。補正式は、例えば、行列式で表わされる。
なお、上述した各処理は、プログラムで実現する処理の一例を示したものであり、プログラムが行う処理は、これらの処理に限られることはない。また、複数の処理のうちの一部をハードウェアやファームウェアによって実現することも可能である。
また、プログラム(カラー画像処理プログラム)は、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
以上説明したように、本発明によれば、カラー画像機器で撮影されたカラー画像中の特定の対象物について、その特定の対象物が示す領域の所望の色再現を実現できる。そのため、画像の質感が劣化することを防止し、画像の質感を維持または向上させることができる。
また、例えば、カラー画像データのRGBや、色相、彩度、明度といった色の3属性を用いたカラー画像処理では、本来の物体の質感を低下させてしまうという課題があった。しかし、本発明では、上記課題を解決している。すなわち、本発明によれば、カラー画像機器で撮影されたカラー画像中の特定対象物について質感を落とすことなく対象物領域の所望の色再現を実現することができる。
また、本発明によれば、光ファイバスペクトロメータや、3Dスキャナなどの測定装置を必要とせず、入力画像のみを利用した、より容易な方法で画像の質感を向上させることができる。
次に、本発明によるカラー画像処理装置の最小構成の例を説明する。図13は、本発明によるカラー画像処理装置の最小構成の例を示すブロック図である。本発明によるカラー画像処理装置は、画像処理の対象とする領域である対象物領域を入力画像から検出する対象物領域検出手段81(例えば、画像情報取得部110)と、対象物領域における色情報及びその対象物領域における低周波成分である完全拡散成分を算出し、その色情報及び低周波成分に基づいて(例えば、色情報から低周波成分を除いて)表面反射成分を復元する反射成分復元手段82(例えば、反射情報復元部120)と、完全拡散成分から、その完全拡散成分の輝度を示す情報である陰影情報を除去した色情報であるアルベドを算出するアルベド算出手段83(例えば、アルベド計算部130)と、対象物領域における色情報及びアルベドに基づいて、対象物領域における表面反射率を復元し、その表面反射率に基づいてアルベドを補正した色情報である補正アルベドを算出するアルベド補正処理手段84(例えば、アルベド補正処理部140)と、補正アルベドに陰影情報及び表面反射成分を付加した色情報である再現色を算出し、その再現色に基づいて出力画像を生成する再現色算出手段85(例えば、再現色算出部150)とを備えている。
そのような構成により、カラー画像機器で撮影されたカラー画像中の所定の対象物を、低い計算コストで所望の色に再現し、質感を向上させることができる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)画像処理の対象とする領域である対象物領域を入力画像から検出し、前記対象物領域における色情報及び当該対象物領域における低周波成分である完全拡散成分を算出し、前記色情報及び低周波成分に基づいて表面反射成分を復元し、前記完全拡散成分から、当該完全拡散成分の輝度を示す情報である陰影情報を除去した色情報であるアルベドを算出し、前記対象物領域における色情報及び前記アルベドに基づいて、対象物領域における表面反射率を復元し、前記表面反射率に基づいて前記アルベドを補正した色情報である補正アルベドを算出し、前記補正アルベドに前記陰影情報及び前記表面反射成分を付加した色情報である再現色を算出し、前記再現色に基づいて出力画像を生成することを特徴とするカラー画像処理方法。
(付記2)表面反射率を復元する際、対象物領域における色情報から、照明の分光分布を復元し、当該分光分布とアルベドとに基づいて、対象物領域における表面反射率を復元し、補正アルベドを算出する際には、前記表面反射率に基づいて補正アルベドを算出する付記1記載のカラー画像処理方法。
(付記3)補正アルベドを算出する際、対象物領域に応じて予め定められた参照表面反射率をもとに表面反射率を補正した反射率である再現表面反射率を算出し、当該再現表面反射率に基づいて補正アルベドを算出する付記1または付記2記載のカラー画像処理方法。
(付記4)補正アルベドを算出する際、3以上の参照表面反射率をもとに再現表面反射率を算出する付記3記載のカラー画像処理方法。
(付記5)照明の分光分布を復元する際、対象物領域における色情報と、対象物領域の代表的な表面反射率として予め定められた代表表面反射率とをもとに分光分布を復元する付記2から付記4のうちのいずれか1つに記載のカラー画像処理方法。
(付記6)補正アルベドを算出する際、表面反射率を補正する行列を用いて線形式で表わされた、アルベドを補正する式であるアルベド補正式を生成し、アルベドに対して当該アルベド補正式を用いた行列変換を行うことにより補正アルベドを算出する付記1から付記5のうちのいずれか1項に記載のカラー画像処理方法。
(付記7)画像処理の対象とする領域である対象物領域を入力画像から検出する対象物領域検出手段と、前記対象物領域における色情報及び当該対象物領域における低周波成分である完全拡散成分を算出し、当該色情報及び低周波成分に基づいて表面反射成分を復元する反射成分復元手段と、前記完全拡散成分から、当該完全拡散成分の輝度を示す情報である陰影情報を除去した色情報であるアルベドを算出するアルベド算出手段と、前記対象物領域における色情報及び前記アルベドに基づいて、対象物領域における表面反射率を復元し、当該表面反射率に基づいて前記アルベドを補正した色情報である補正アルベドを算出するアルベド補正手段と、前記補正アルベドに前記陰影情報及び前記表面反射成分を付加した色情報である再現色を算出し、当該再現色に基づいて出力画像を生成する再現色算出手段とを備えたことを特徴とするカラー画像処理装置。
(付記8)アルベド補正手段は、対象物領域における色情報から、照明の分光分布を復元する分光分布復元手段と、前記分光分布とアルベドとに基づいて、対象物領域における表面反射率を復元する表面反射率復元手段と、前記表面反射率に基づいて補正アルベドを算出する補正アルベド算出手段とを含む付記7記載のカラー画像処理装置。
(付記9)対象物領域に応じて予め定められた参照表面反射率を記憶する参照表面反射率記憶手段を備え、補正アルベド算出手段は、前記参照表面反射率をもとに表面反射率を補正した反射率である再現表面反射率を算出し、当該再現表面反射率に基づいて補正アルベドを算出する付記8記載のカラー画像処理装置。
(付記10)参照表面反射率記憶手段は、3以上の参照表面反射率を記憶し、補正アルベド算出手段は、前記3以上の参照表面反射率をもとに再現表面反射率を算出する付記9記載のカラー画像処理装置。
(付記11)アルベド補正手段は、表面反射率を補正する行列を用いて線形式で表わされた、アルベドを補正する式であるアルベド補正式を生成し、アルベドに対して当該アルベド補正式を用いた行列変換を行うことにより補正アルベドを算出する付記7から付記10のうちのいずれか1つに記載のカラー画像処理装置。
(付記12)補正アルベド算出手段は、表面反射率を補正する行列を用いて線形式で表わされた、アルベドを補正する式であるアルベド補正式を算出された再現表面反射率をもとに生成し、当該補正式を用いて補正アルベドを算出する付記9記載のカラー画像処理装置。
(付記13)代表表面反射率を記憶する代表表面反射率記憶手段を備え、分光分布復元手段は、対象物領域における色情報と、前記代表表面反射率記憶手段に記憶された表面反射率とをもとに分光分布を復元する付記8から付記12のうちのいずれか1つに記載のカラー画像処理装置。
(付記14)コンピュータに、画像処理の対象とする領域である対象物領域を入力画像から検出する対象物領域検出処理、前記対象物領域における色情報及び当該対象物領域における低周波成分である完全拡散成分を算出し、当該色情報及び低周波成分に基づいて表面反射成分を復元する反射成分復元処理、前記完全拡散成分から、当該完全拡散成分の輝度を示す情報である陰影情報を除去した色情報であるアルベドを算出するアルベド算出処理、前記対象物領域における色情報及び前記アルベドに基づいて、対象物領域における表面反射率を復元し、当該表面反射率に基づいて前記アルベドを補正した色情報である補正アルベドを算出するアルベド補正処理、および、前記補正アルベドに前記陰影情報及び前記表面反射成分を付加した色情報である再現色を算出し、当該再現色に基づいて出力画像を生成する再現色算出処理を実行させるためのカラー画像処理プログラム。
(付記15)コンピュータに、アルベド補正処理で、対象物領域における色情報から、照明の分光分布を復元する分光分布復元処理、前記分光分布とアルベドとに基づいて、対象物領域における表面反射率を復元する表面反射率復元処理、および、前記表面反射率に基づいて補正アルベドを算出する補正アルベド算出処理を実行させる付記14記載のカラー画像処理プログラム。
(付記16)コンピュータに、補正アルベド算出処理で、対象物領域に応じて予め定められた参照表面反射率を記憶する参照表面反射率記憶手段に記憶された当該参照表面反射率をもとに表面反射率を補正した反射率である再現表面反射率を算出させ、当該再現表面反射率に基づいて補正アルベドを算出させる付記15記載のカラー画像処理プログラム。
(付記17)コンピュータに、補正アルベド算出処理で、参照表面反射率記憶手段に記憶された3以上の参照表面反射率をもとに再現表面反射率を算出させる付記16記載のカラー画像処理プログラム。
(付記18)コンピュータに、分光分布復元処理で、対象物領域における色情報と、対象物領域の代表的な表面反射率として予め定められた代表表面反射率とをもとに分光分布を復元させる付記15から付記17のうちのいずれか1つに記載のカラー画像処理プログラム。
(付記19)コンピュータに、補正アルベド算出処理で、表面反射率を補正する行列を用いて線形式で表わされた、アルベドを補正する式であるアルベド補正式を生成させ、アルベドに対して当該アルベド補正式を用いた行列変換を行うことにより補正アルベドを算出させる付記14から付記18のうちのいずれか1つに記載のカラー画像処理プログラム。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2010年6月30日に出願された日本特許出願2010−149233を基礎とする優先権を主張し、その開示の全てをここに取り込む。