補正前後の画像のペア群から補正前後の色の変化を抽出し、それら変化から他の画像に適用する色補正情報を作成する方式において、抽出された色の変化に顕著な傾向が複数ある場合、それらすべての変化を用いて色補正情報を作成すると、その色補正情報は、それら顕著な傾向のいずれにも適さない、どっちつかずのものになってしまうおそれがある。
本発明は、補正前後の画像のペア群から抽出される補正前後の色の変化を常にすべて用いる場合よりも、それら色の変化にある顕著な傾向により適した色補正情報を求めることができるようにすることを目的とする。
請求項1に係る発明は、補正の前後の画像のペアを1以上取得する手段と、前記ペアにおいて、画像内の各点について補正の前後でのその点の色の変化を求める手段と、取得した1以上の前記ペアにおける前記変化の分布を求める手段と、前記分布中の最大度数のピークから許容幅以上離れた位置に、区間ごとに定められた閾値以上の度数を持つ区間が存在する場合に、前記最大度数のピークを含むが前記区間は含まない範囲に属する前記変化を、補正による色の変化の学習のための学習データとして抽出する抽出手段と、を含む情報処理装置である。
請求項2に係る発明は、前記抽出手段は、前記最大度数のピークから許容幅以上離れた位置に前記閾値以上の度数を持つ区間が存在しない場合は、当該ピークを含む範囲であって、前記分布中の最大度数のピークから許容幅以上離れた位置に前記閾値以上の度数を持つ区間が存在する場合に前記変化が抽出される範囲よりも広い幅の範囲、に含まれる前記変化を学習データとして抽出する、請求項1に記載の情報処理装置である。
請求項3に係る発明は、取得した1以上の前記ペアにおける前記変化の平均を求める手段と、前記最大度数に基づき、前記分布の各区間についての前記閾値を決定する閾値決定手段と、を更に含む請求項1又は2に記載の情報処理装置である。
請求項4に係る発明は、前記閾値決定手段は、前記分布の前記ピークの位置において前記最大度数に対して所定の余裕分を見込んだ度数をとりその位置から離れるにつれて減少する所定の関数が、前記各区間の位置においてとる値に基づいて当該区間についての前記閾値を決定する、請求項3に記載の情報処理装置である。
請求項5に係る発明は、前記分布を求める手段は、色空間内に設定された領域ごとに前記分布を算出し、前記抽出手段は、前記領域ごとの前記分布を用いて、当該領域に属する色の前記変化についての前記学習データを抽出する、請求項1~4のいずれか1項に記載の情報処理装置である。
請求項6に係る発明は、前記抽出手段は、前記最大度数のピークから許容幅以上離れた位置に前記閾値以上の度数を持つ区間が存在し、その区間の度数と前記最大度数との差が所定の許容差以下である場合には、前記ピークとその区間のうちユーザに選択されたものを含み、選択されなかったものを含まない範囲に属する前記変化を、前記学習データとして抽出する、請求項1~5のいずれか1項に記載の情報処理装置である。
請求項7に係る発明は、前記抽出手段で前記学習データとして抽出された前記変化を用いて、入力される画像の色補正に用いる色補正情報を生成する手段、を更に含む請求項1~6のいずれか1項に記載の情報処理装置である。
請求項8に係る発明は、補正の前後の画像のペアを1以上取得する手段と、前記ペアにおいて、画像内の各点について補正の前後でのその点の色の変化を求める手段と、取得した1以上の前記ペアにおける前記変化の分布を求める手段と、前記分布中の最大度数のピークの位置が、前記変化の平均から許容幅以内の距離にある場合には、前記分布において前記ピークを含む第1の幅の範囲に属する変化を補正による色の変化の学習データとして抽出し、前記許容幅より大きい距離にある場合には、前記ピークを含む前記第1の幅より狭い第2の幅の範囲に属する前記変化を前記学習データとして抽出する抽出手段と、を含む情報処理装置である。
請求項9に係る発明は、前記抽出手段は、前記分布中の最大度数のピークの位置が前記変化の平均から許容幅以内の距離にある場合において、前記平均から前記許容幅以上離れた位置に、区間ごとに定められた閾値以上の度数を持つ第1の区間が存在する場合には、前記第1の幅の範囲から前記第1の区間を除いて残りの範囲に属する前記変化を前記学習データとして抽出する、請求項8に記載の情報処理装置である。
請求項10に係る発明は、補正の前後の画像のペアを1以上取得する手段と、前記ペアにおいて、画像内の各点について補正の前後でのその点の色の変化を求める手段と、取得した1以上の前記ペアにおける前記変化の方向の分布を求める手段と、前記方向の分布中の最大度数のピークの位置が、前記変化の平均方向から許容幅以内の距離にある場合には、前記許容幅より大きい距離にある場合よりも広い範囲に属する前記変化を一次抽出データとして抽出する第1抽出手段と、前記第1抽出手段により抽出された前記一次抽出データが示す前記変化の大きさの分布を求める手段と、前記大きさの分布中の最大度数のピークの位置が、前記変化の平均方向から許容幅以内の距離にある場合には、前記許容幅より大きい距離にある場合よりも広い範囲に属する前記一次抽出データを、補正による色の変化の学習のための学習データとして抽出する第2抽出手段と、を含む情報処理装置である。
請求項11に係る発明は、コンピュータを、補正の前後の画像のペアを1以上取得する手段、前記ペアにおいて、画像内の各点について補正の前後でのその点の色の変化を求める手段、取得した1以上の前記ペアにおける前記変化の分布を求める手段、前記分布中の最大度数のピークから許容幅以上離れた位置に、区間ごとに定められた閾値以上の度数を持つ区間が存在する場合に、前記最大度数のピークを含むが前記区間は含まない範囲に属する前記変化を、補正による色の変化の学習のための学習データとして抽出する抽出手段、として機能させるためのプログラムである。
請求項12に係る発明は、コンピュータを、補正の前後の画像のペアを1以上取得する手段、前記ペアにおいて、画像内の各点について補正の前後でのその点の色の変化を求める手段、取得した1以上の前記ペアにおける前記変化の分布を求める手段、前記分布中の最大度数のピークの位置が、前記変化の平均から許容幅以内の距離にある場合には、前記分布において前記ピークを含む第1の幅の範囲に属する変化を補正による色の変化の学習データとして抽出し、前記許容幅より大きい距離にある場合には、前記ピークを含む前記第1の幅より狭い第2の幅の範囲に属する前記変化を前記学習データとして抽出する抽出手段、として機能させるためのプログラムである。
請求項1、7~12に係る発明によれば、補正前後の画像のペア群から抽出される補正前後の色の変化を常にすべて用いる場合よりも、それら色の変化にある顕著な傾向により適した色補正情報を求めることができる。
請求項2に係る発明によれば、最大度数のピークが表す色補正の傾向から外れずに、より多くの変化の情報を学習データとして抽出することができる。
請求項3、4に係る発明によれば、最大度数のピークが表す色補正の傾向から外れそうな区間を見つけ出す閾値を設定することができる。
請求項5に係る発明によれば、色空間内で色の補正の傾向が一様でない場合でも、それぞれの色領域に応じた色補正情報を求めるための学習データを抽出することができる。
請求項6に係る発明によれば、最大度数のピークと、そのピークと許容差以下の差しかない度数を持つ許容幅以上離れた区間と、のどちらで色補正の傾向を代表させるのかについて、ユーザの希望を反映させることができる。
図1に、本実施形態の色補正情報生成システム100の構成例を示す。
色補正情報生成システム100は、補正前後画像ペア格納処理部102、画像ペアDB104、色変化抽出部106、色領域分類部108、分布計算部110、ばらつき許容幅設定部112、ばらつき判定閾値決定部114、学習データ抽出部116、色補正情報算出部118を含む。
補正前後画像ペア格納処理部102は、画像編集システム150で補正された画像について、その補正の前の画像(入力画像)と、その補正の後の画像とのペアを、画像ペアDB(データベース)104に格納する。ここで、画像編集システム150は、例えばAdobe社のPhotoshop(登録商標)のように、画像データに対して色補正等の補正を行うシステムである。ユーザは、画像編集システム150に補正前の画像を読み込み、画像編集システム150を操作してその画像の色調を全体的に補正したり、特に修正が必要な部分の色を個別に補正したりする。ユーザが画像編集システム150に対して補正が完了した旨の指示(例えば編集中の画像の保存指示)を行うと、画像編集システム150は、最初に読み込んだ補正前の画像と、補正完了時の画像(すなわち補正後の画像)と、のペアを補正前後画像ペア格納処理部102に渡す。補正前後画像ペア格納処理部102は、受け取ったペアの画像を互いに対応付けて画像ペアDB104に格納する。
画像ペアDB104は、補正前後の画像のペアを格納するデータベースである。
色変化抽出部106は、画像ペアDB104に格納されている補正前後の画像のペアから、色変化情報を抽出する。色変化情報とは、ペアを構成する補正前後の画像の間での同じ画素の色の変化を示す情報である。例えば、色変化情報は、RGBやCIE(国際照明委員会)のL*a*b*等の所定の色空間(表色系)における、補正前後の画像の同一画素の色座標の組である。また、補正前の画像のある画素の色を示す座標を始点とし、補正後の画像内の同じ画素の色を示す座標を終点とする色変化ベクトルと、その始点又は終点の色座標との組を、色変化情報としてもよい。補正前後で色が変化しない画素については、色変化ベクトルは0ベクトルとなる。
色変化抽出部106は、画像ペアDB104に格納されているすべてのペアから色変化情報の抽出を行ってもよいし、それらすべてのペアのうちユーザが選択した一部のペアのみから色変化情報の抽出を行ってもよい。
色領域分類部108は、色変化抽出部106が抽出した多数の色変化情報を色領域ごとに分類する。色領域とは、色空間を区切ることにより形成される領域である。例えば、RGB色空間において、R、G、Bの各値をそれぞれ所定幅ごとに区切ることでできる個々の矩形領域が、その色領域の一例である。色領域内の色は、ほぼ「同じ色」であるとみなすことができる。後述する色補正情報算出部118は、色領域を単位として、その色領域に属する色に対する色補正情報を求める。色領域分類部108は、色変化抽出部106が抽出した多数の色変化情報を、その色変化情報が含む色補正の始点又は終点の色が属する色領域に分類する。始点と終点のどちらで分類するかは、ユーザが指定する。
分布計算部110は、色領域ごとに、その色領域に属する色変化情報の度数分布(以下単に分布と呼ぶ)を計算する。一つの例では、分布計算部110は、色領域内の色変化情報が示す色変化ベクトルの方向の分布を求める。更なる例では、色変化ベクトルの方向及び大きさ(長さ)のそれぞれについての分布を求める。後で分布とその求め方の詳細な例を説明する。
ばらつき許容幅設定部112は、ユーザから、ばらつき許容幅の設定を受け付ける。ばらつき許容幅は、同一の色補正とみなす許容幅である。ばらつき許容幅は、例えば、色補正の方向(色変化ベクトルの方向)について設定する。この場合、2つの色補正の方向同士の角度差がその許容幅以内であれば、それら色補正を同じ方向の区分に分類する。また、色補正の大きさ(色変化ベクトルの大きさ)についてのばらつき許容幅を設定してもよい。この場合、2つの色補正の大きさ同士の差がその許容幅以内であれば、それら色補正は同じ大きさの区分に分類する。以下の例では、色補正の分布のピークの、その分布の平均からのずれが、ばらつき許容幅以内であるか否かにより、色補正情報の学習に用いる色変化情報の抽出(選抜)方法を切り替える(詳細は後述)。また、以下の例では、ばらつき許容幅に基づいて、分布の区間(ビン)幅を規定する(ただしこれは一例にすぎない)。
ばらつき判定閾値決定部114は、分布計算部110が計算した分布の区間ごとのばらつき判定閾値を決定する。分布のある区間が、その区間に対応するばらつき判定閾値以上の度数を持つ場合、その区間は性質のよい分布に対するばらつき区間(性質の悪い区間)であると判定する。ばらつき判定閾値の求め方については、後で具体例を説明する。
学習データ抽出部116は、分布計算部110が求めた分布と、ばらつき判定閾値決定部114が決定した各区間のばらつき判定閾値を用いて、その分布の中から色補正情報の学習に用いる区間を抽出(選抜)する。そして、学習データ抽出部116は、抽出した区間に属する色変化情報群を、色補正情報の学習のための学習データとして抽出する。
色補正情報算出部118は、学習データ抽出部116が抽出した学習データ群を用いて、画像に対する自動的な色補正に用いる色補正情報を算出する。色補正情報は、例えば、RGBやL*a*b*等の所定の色空間における、入力色(補正前の色)と出力色(補正後の色)との対応関係を示すLUT(ルックアップテーブル)の形態のものでよい。この場合、自動的な色補正では、入力された画像の各画素の色に対応する補正後の色を、その色補正のためのLUTから読み出すことで、補正後の各画素の色を求める。学習データ群から色補正情報を生成する方法には、従来各種の方法がある。色補正情報算出部118は、それら従来のいずれの方法を用いてもよい。
次に、分布計算部110が行う処理の詳細な例を説明する。分布計算部110は、図2に示すように、まず色領域ごとに、その色領域に分類された色変化情報が示す色補正の方向(色変化ベクトルの方向)の平均を求める(S10)。これには、例えば、各色変化情報が示す色変化ベクトルの平均を求め、その平均のベクトルが示す方向を求めればよい。求めた方向を平均方向と呼ぶ。なお、色領域内の色変化情報群が示す補正前の色座標の平均、及び補正後の色座標の平均をそれぞれ求め、補正前の平均から補正後の平均まで延びるベクトルの方向を、平均方向としてもよい。
次に分布計算部110は、色領域ごとに、その平均方向を分布の中心とし、その平均方向に対する各色変化情報の示す色変化方向(色変化ベクトルの方向)の角度差についての度数分布(ヒストグラム)を求める(S12)。度数分布の区間の幅は、この例では、ばらつき許容幅に基づき定める。例えば、各区間の幅をばらつき許容幅と同じ値としてもよい。また、平均方向を含む区間を、平均方向を中心として、その前後(角度差がマイナスの方向とプラスの方向)にばらつき許容幅の幅(合計してばらつき許容幅×2の幅)を持つ区間とし、他の区間も同様にばらつき許容幅の2倍の幅を持つ区間としてもよい。分布計算部110は、処理対象としている色領域に属する各色変化情報を、その色変化情報の色変化方向と平均方向との角度差が属する区間に分類し、その区間のデータとしてカウントする(すなわち、その区間の度数に計上する)。これにより、当該色領域についての、平均方向についての色変化情報の角度差についての分布が形成される。
図3に、このようにして生成された分布の例を示す。この例は、方向についてのばらつき許容幅を30度とし、平均方向に対する色変化情報の方向が時計回りであれば角度差を正の値、反時計回りであれば角度差を負の値としている。-30度~30度、30度~90度等の各区間に示される柱の高さが、その区間に属する色変化情報の個数(すなわち度数)である。なお、各柱の上に示される太い横線は、後述するばらつき判定閾値を示す。
次に、ばらつき判定閾値決定部114の処理の例を説明する。ばらつき判定閾値決定部114は、一つの例では、色領域について分布計算部110が求めた分布についてのばらつき判定閾値のセットを、その分布から求める。例えば、その分布の平均が属する区間の度数に余裕を見込んだ度数(例えばその度数に定数を足したもの、あるいは1より大きい定数係数を掛けたもの)を基準値とし、その基準値から分布の正負の各方向に減少していくあらかじめ定めた関数を用いて、各区間のばらつき判定閾値を決定する。例えば、図4に示す例では、当該色領域の色変化の平均方向が属する区間の度数に所定規則に従った余裕を見込んだ基準値をピークとする、正規分布様の関数の、各区間の中央の角度差値に対応する値を、当該区間に対応するばらつき判定閾値としている。なお、ばらつき判定閾値の決定に用いる関数は、図4に例示した正規分布様のものに限らない。この代わりに、例えば、基準値から正負方向に同じ傾きで減少する一次関数といった、他の関数を用いてもよい。
また、別の例として、図5に例示するように、色空間内の各色領域の分布を足し合わせて得られる分布を正規化(すなわち平均が属する区間の度数が1となるよう、分布の各区間の度数を一定の割合に縮小)し、1以上の定数αを掛け、この結果得られた分布の各区間の度数を、その区間のばらつき判定閾値としてもよい。この場合、色領域について分布計算部110が求めた分布における各区間の度数を、上記正規化の際の割合で縮小し、この縮小後の分布に対して、ばらつき判定閾値のセットを適用する。
次に、図6を参照して、学習データ抽出部116の処理手順の一例を説明する。この手順では、まず学習データ抽出部116は、色領域について分布計算部110が求めた分布の最大度数のピークが、その色領域の色変化情報の方向の平均からみてばらつき許容幅以内にあるかどうかを判定する(S20)。図3に例示した、色領域の色変化情報の方向の平均を中心とし、ばらつき許容幅の2倍を区間幅とした分布の場合、S20の判定は、その平均を含む区間が分布の最大度数のピークとなっているか否かの判定と同じである。分布の区間幅がばらつき許容幅の2倍より小さい場合は、S20の判定をそのまま実行すればよい。
S20の判定結果がYesの場合、学習データ抽出部116は、その分布内に、当該区間に対応するばらつき判定閾値を超える度数を持つ区間が存在するか否かを判定する(S22)。この判定の結果がNoの場合、その分布は、例えば、図7に示すように、中央の平均近傍の度数が他より顕著に大きく、平均から離れるほど度数が少なくなる、正規分布に近い単一ピークの形状となる。このような分布は性質がよい分布といえる。そこで、S22の判定結果がNoの場合、学習データ抽出部116は、その分布に含まれるすべての区間の色変化情報を、当該色領域についての色補正情報のための学習データとして採用する(S24)。画像ペアDB104に蓄積されている画像ペアの数が少なく、学習に用いることができる色変化情報の数が十分多いといえないケースがままあるので、図6の手順では、分布の性質がよい場合には、その分布のすべてのデータを学習データに採用することとしている。逆に、色補正情報の生成に用いる画像ペアの数が、統計的に見て十分大きな数である場合には、S24では、分布の全区間の色変化情報を採用する代わりに、平均を中心とする限られた範囲の区間の色変化情報のみを学習データに採用することとしてもよい。
S22の判定結果がYesの場合、図8に例示する分布のように、分布の平均からばらつき許容幅以上離れた部分に、その分布の性質がよいとみなすことを妨げる大きい度数が存在する。例えば図8の例では、90~150度の区間Aの度数が、対応するばらつき判定閾値を超えている。図8の例では、その色領域内の色変化情報群の中には、平均に近い方向の色変化の他に、その平均から90~150度ずれた区間Aに属する色変化が多く存在する。この場合、分布のすべての区間の色変化情報を学習データに用いると、色補正情報算出部118は、メインである平均方向の色変化だけでなく、区間Aの色変化の影響も強く受けた色補正情報を生成することとなる。このような色補正情報は、平均方向に近い色変化情報と、区間A内の色変化情報のどちらにもぴったりと適合しない、どっちつかずのものになりやすい。そこで、S22の判定結果がYesの場合、学習データ抽出部116は、ばらつき判定閾値以上の度数を持つ区間を、学習データの採用範囲から除く(S26)。すなわち、例えば、学習データ抽出部116は、分布のうちばらつき判定閾値以上の度数を持つ区間を除いた残りの区間群に属する色変化情報を、学習データとして採用する。なお、区間幅の決め方にもよるが、ばらつき判定閾値以上の度数を持つ区間だけでなく、その区間の近傍の区間(すなわちその区間から所定区間数以内の区間)も、学習データの採用範囲から除くようにしてもよい。このように、平均的な色変化の区間から外れている顕著な度数の色変化を学習データから省くことで、平均的な色変化の状況に主に適合した色補正情報が得られると期待される。
なお、ばらつき判定閾値以上の度数を持つ区間の度数が、最大頻度の区間(すなわち平均方向が属する区間)の度数と遜色ない場合、すなわち、前者と後者の差が所定の閾値以下である場合、どちらの区間に色領域を代表させるかをユーザに指定させてもよい。この場合、S26では、ユーザが選択しなかった方の区間を、学習データの抽出範囲から除く。
S20の判定結果がNo、すなわち、分布における最大度数のピークがその分布の平均からばらつき許容幅以上離れている場合、学習データ抽出部116は、その最大度数のピークとなる区間に属する色変化情報群を、学習データとして採用する(S28)。この場合、平均が属する区間の色変化情報は、当該色領域の色補正の傾向を代表しておらず、むしろ最大度数のピークの方がその傾向を代表しているといえるので、最大度数のピークに対応する区間を学習データの抽出範囲に採用するのである。図9に示す例では、-150~-90度の区間が最大度数のピークなので、S28ではこの区間に属する色変化情報を学習データに採用する。
なお、S28では、最大度数のピークの区間だけでなく、その近傍の例えば所定の数の区間も学習データの抽出範囲に採用してよい。この場合のS28での抽出範囲は、S24での学習データの抽出範囲より幅の狭い(すなわち区間数が少ない)ものとする。S24の場合の方が、S28の場合よりも分布の性質がよいので、学習データの抽出範囲をより広い幅としても、分布の主たる特徴を示す平均近傍のピークに適合しない色補正情報が生成される可能性が低く、むしろ幅広い範囲の学習データを用いることで、当該色領域についての色補正をよりよく表した色補正情報が得られるからである。またこの場合、最大度数のピークの区間の度数を基準に、図4又は図5に説明した方法と同様の方法で他の各区間のばらつき判定閾値を決定し、近傍の区間のうち、対応するばらつき判定閾値を超える区間は学習データの抽出範囲から外すようにしてもよい。
次に変形例を説明する。この変形例では、色補正情報生成システム100は、図10に示すように、まず、図2~図9を用いて以上で説明した方法で、色変化ベクトルの方向の分布に基づいて色領域についての学習データの抽出(選抜)を行う(S30)。次に、色補正情報生成システム100は、S30で抽出された学習データ群を母集団として、各学習データの色変化ベクトルの大きさに基づく抽出を行う(S32)。
S32では、色変化ベクトルの方向に基づく抽出と同様、分布計算部110が、その母集団内の学習データの色変化ベクトルの大きさの分布を求める。この分布は、その母集団内の色変化ベクトルの大きさの平均を中心とした分布である。また、色変化ベクトルの大きさについても、ユーザにばらつき許容幅の入力を求める。そのばらつき許容幅を基準に分布の区間幅を規定してもよい。次に、ばらつき判定閾値決定部114により、その分布の各区間に対するばらつき判定閾値を上述と同様の方法で求める。そして、学習データ抽出部116が、その分布とばらつき判定閾値のセットを用いて、図6の手順により、学習データの抽出を行う。
このように、この変形例では、色変化ベクトルの大きさで学習データを更に絞り込むことで、色領域内の色の変化を、方向及び大きさの両面で代表する学習データを抽出する。
以上に説明した実施形態及び変形例において、画像ペアDB104に対して格納する補正前後の画像のペアに対して属性を対応付けておき、画像ペアDB104内の画像ペアのうちユーザが指定した属性を持つ画像ペア群を用いて、色変化抽出部106~色補正情報算出部118による処理を実行してもよい。ここで用いる属性には、画像のペアに対応する補正を行ったユーザのユーザID、その画像のペアにおける補正後の画像が利用される媒体(例えば印刷物なのか、ウェブページなのか等)、その画像のペアが表しているシーンの種類(例えば風景なのか人物画像なのか)等がある。また、ユーザが複数の属性の組合せ(例えば論理式で表現される)を指定し、その組合せを満たす画像ペア群に対して色変化抽出部106~色補正情報算出部118による処理を実行してもよい。なお、これら属性は、画像編集システム150で画像の編集(補正)を行ったユーザが、その編集の完了時等に入力すればよい。
以上に説明した実施形態及び変形例では、色補正情報を生成する際に、画像ペアDB104に保存された補正前後の画像ペアから色変化抽出部106が色変化情報を抽出したが、これは一例に過ぎない。この代わりに、画像編集システム150による画像の編集(補正)が完了した時点で、その補正の前後の画像ペアから色変化抽出部106が色変化情報を抽出し、抽出したそれら色変化情報をDBに蓄積し、色補正情報を生成する際には、そのDBに蓄積された色変化情報を用いて色領域分類部108~色補正情報算出部118による処理を実行してもよい。この場合、画像ペアDB104は無くてもよい。また、画像ペアから抽出した色変化情報の集合に、その画像ペアの属性(例えば上に例示したユー材、媒体、シーンの種類等)を対応付けて、そのDBに蓄積し、色補正情報生成に用いる色変化情報の集合を属性により絞り込めるようにしてもよい。