(57)【要約】【課題】  注目物体に対して、操作者が簡易的に仮想光源を設定する。【解決手段】  画像に対して仮想照明によるライティング処理を実行する画像処理装置であって、画像に対して前記仮想照明を設定するための照明基準点を設定する設定手段と、前記照明基準点を中心とし、前記画像の四隅のうちいずれかと前記照明基準点との距離を半径とする前記仮想照明を算出するための半球を設定する設定手段と、ユーザの指示により前記仮想照明を設定するための前記画像上の位置を受け付ける入力手段と、前記入力手段により入力された位置を前記半球の球面上の座標に変換する変換手段と、前記変換手段により得られる前記座標と前記照明基準点に基づいて、前記仮想照明の位置と方向を決定する決定手段と、前記決定手段により決定された前記仮想照明の位置と方向に基づいて、前記画像に対してライティング処理を実行することを特徴とする。【選択図】  図３
2019082958.tif 000002
【特許請求の範囲】
【請求項１】
画像に対して仮想照明によるライティング処理を実行する画像処理装置であって、
画像に対して前記仮想照明を設定するための照明基準点を設定する設定手段と、
前記照明基準点を中心とし、前記画像の四隅のうちいずれかと前記照明基準点との距離を半径とする前記仮想照明を算出するための半球を設定する設定手段と、
ユーザの指示により前記仮想照明を設定するための前記画像上の位置を受け付ける入力手段と、
前記入力手段により入力された位置を前記半球の球面上の座標に変換する変換手段と、
前記変換手段により得られる前記座標と前記照明基準点に基づいて、前記仮想照明の位置と方向を決定する決定手段と、
前記決定手段により決定された前記仮想照明の位置と方向に基づいて、前記画像に対してライティング処理を実行することを特徴とする画像処理装置。
【請求項２】
前記設定手段は、前記画像の四隅のうちいずれかと前記照明基準点との距離を前記半球の半径として算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記設定手段は、前記画像の四隅のうち、前記照明基準点に最も近い隅の座標と前記照明基準との距離を前記半球の半径として算出することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変換手段は、前記入力手段により入力された位置の画像に対する法線と前記半球の球面との交点を前記座標として算出することを特徴とする請求項１乃至３の何れか一項に記載の画像処理装置。
【請求項５】
前記決定手段は、前記変換手段により得られる前記座標と前記照明基準点とを結ぶ線分上に前記仮想照明の位置を決定することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
前記決定手段は、前記線分において前記照明基準点から所定の距離の位置を、前記仮想照明の位置として決定することを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
前記決定手段は、前記仮想照明の位置から前記照明基準点に向かう方向を前記仮想照明の方向とすることを特徴とする請求項１乃至６の何れか一項に記載の画像処理装置。
【請求項８】
前記前記入力手段はさらに、ユーザの指示により、前記仮想照明を設定する位置の前記照明基準点からの距離を前記所定の距離として受け付けることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
コンピュータを請求項１乃至７のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【請求項１０】
画像に対して仮想照明によるライティング処理を実行する画像処理方法であって、
画像に対して前記仮想照明を設定するための照明基準点を設定し、
前記照明基準点を中心とし、前記画像の四隅のうちいずれかと前記照明基準点との距離を半径とする前記仮想照明を算出するための半球を設定しと、
ユーザの指示により前記仮想照明を設定するための前記画像上の位置を受け付け、
前記ユーザの指示に応じた位置を前記半球の球面上の座標に変換し、
前記座標と前記照明基準点に基づいて、前記仮想照明の位置と方向を決定し、
前記決定された前記仮想照明の位置と方向に基づいて、前記画像に対してライティング処理を実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像において、撮像画像の照明条件とは異なる仮想的な照明条件下で撮影したかのような画像を生成する画像処理に関する。
【背景技術】
【０００２】
撮影した画像を撮影者が所望する照明条件下で撮影したかのような画像に補正するため、仮想的な照明条件下で被写体を照明したように補正する技術が知られている。例えば特許文献１では、任意の位置に設定された光源に基づいて、物体に明暗を付けた画像を作成する方法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−２７３００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１に開示された方法では、操作者は二次元画面上に対する指示しかできないため、注目物体に対する所望の位置に簡易的に仮想光源を設定することはできなかった。
【０００５】
そこで本発明は、注目物体に対して、操作者が簡易的に仮想光源を設定可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明は、画像に対して仮想照明によるライティング処理を実行する画像処理装置であって、画像に対して前記仮想照明を設定するための照明基準点を設定する設定手段と、前記照明基準点を中心とし、前記画像の四隅のうちいずれかと前記照明基準点との距離を半径とする前記仮想照明を算出するための半球を設定する設定手段と、ユーザの指示により前記仮想照明を設定するための前記画像上の位置を受け付ける入力手段と、前記入力手段により入力された位置を前記半球の球面上の座標に変換する変換手段と、前記変換手段により得られる前記座標と前記照明基準点に基づいて、前記仮想照明の位置と方向を決定する決定手段と、前記決定手段により決定された前記仮想照明の位置と方向に基づいて、前記画像に対してライティング処理を実行することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、注目物体に対して、操作者が簡易的に仮想光源を設定できる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置のハードウェア構成を示すブロック図である。
【図２】照明基準点を説明する図である。
【図３】照明位置指定処理の流れを示すフローチャートである。
【図４】照明基準点と指定座標、仮想照明位置の関係を示す図である。
【図５】画像補正処理の流れを示すフローチャートである。
【図６】ハイライト抑制処理の流れを示すフローチャートである。
【図７】ハイライト抑制処理の概要を示す図である。
【図８】画像処理アプリケーションのＧＵＩ例を示す図である。
【図９】画像データの読込処理の流れを示すフローチャートである。
【図１０】編集情報変換処理の概要を示す図である。
【図１１】編集情報変換処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明に好適な実施形態を説明する。なお、以下の実施形態において示す構成は本発明を適用する一例にすぎず、本発明は図示された構成に必ずしも限定されるものではない。
【００１０】
＜実施形態１＞
実施形態１では、撮影により得られた撮影画像に対して、仮想照明によるライティング処理とテカリ抑制処理を実行する。ライティング処理においては、撮影画像を平面の板とみなし、この板を照らす仮想照明を設定することで、簡易的な仮想照明の設定を実現する。また、テカリ抑制処理とは、撮影画像における被写体（人物）の顔に生じるテカリ（ぎらつき）を抑制するための処理である。
【００１１】
（画像処理装置）
図１は、本実施形態における画像処理装置のハードウェア構成を示す図である。画像処理装置はＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、汎用インターフェース（Ｉ／Ｆ）１０４、モニタ１０８、メインバス１０９を備える。汎用Ｉ／Ｆはカメラなどの撮像装置１０５や、マウス、キーボードなどの入力装置１０６、メモリーカードなどの外部メモリ１０７をメインバス１０９に接続する。ＣＰＵ１０１がＨＤＤ１０３に格納された各種ソフトウェア（コンピュータプログラム）を動作させることで、画像処理装置における各構成を実現する。まず、ＣＰＵ１０１はＨＤＤ１０３に格納されている画像処理アプリケーションを起動し、ＲＡＭ１０２に展開するとともに、モニタ１０８にユーザインターフェース（ＵＩ）を表示する。続いて、ＨＤＤ１０３や外部メモリ１０７に格納されている各種データ、撮像装置１０５で撮影された画像、入力装置１０６からの指示などがＲＡＭ１０２に転送される。さらに、画像処理アプリケーションにおける処理に従って、ＲＡＭ１０２に格納されているデータはＣＰＵ１０１からの指令に基づき各種演算を実行される。ＣＰＵ１０１は、演算結果をモニタ１０８に表示したり、ＨＤＤ１０３や外部メモリ１０７に格納したりする。
【００１２】
（仮想照明の位置設定）
実施形態１における仮想照明の位置算出処理について説明する。図３は、仮想照明の位置算出処理の流れを示すフローチャートである。以下、フローチャートにおける各工程を、「Ｓ」を用いて表すものとする。
【００１３】
Ｓ３０１において、ユーザから入力された指示を受け付ける。ここではまず、ユーザがモニタ１０８に表示された画像に対して、ライティング処理を実行したい被写体を指定する。画像処理装置は、指定された被写体の顔領域を特定し、特定した顔領域の中心座標を、照明基準点（ｉ、ｊ）として取得する。図２は、顔領域と照明基準点とを説明する図である。画像処理装置は、入力された撮影画像に対して事前に被写体の顔領域を検出している。予め検出されている顔領域のうち、ユーザによって選択された被写体の顔領域の中心位置を、照明基準点とする。また、ユーザがモニタ１０８に表示された撮影画像に対して、仮想光源を設定したい位置を指示する。画像処理装置は、ユーザによって指定された撮影画像上の座標Ｐ（ｓ，ｔ）を取得する。さらにユーザは、仮想照明の２次元的な位置と、ライティング処理を実行したい被写体と仮想光源との距離関係を特定するパラメータを入力する。ここではユーザは、被写体と仮想光源との距離Ｌを入力するものとする。次にＳ３０２において、画像における照明基準点（ｉ、ｊ）から撮影画像の四隅の座標までの距離に基づいて、仮想球面の半径ｒを決定する。本実施形態では、撮影画像の四隅のうち照明基準点に最も近い点を選択し、選択した点と照明基準点の距離を仮想球面の半径ｒとする。
【００１４】
Ｓ３０３において、座標Ｐと照明基準点との距離が仮想球面の半径ｒ以下であるか否かを判定する。座標Ｐ（ｓ，ｔ）と照明基準点（ｉ、ｊ）との距離が半径ｒ以下である場合にはＳ３０４において、照明基準点を中心とした半径ｒの仮想半球を設定し、座標Ｐに対応する仮想半球の球面上の座標Ｐ’を算出する。ここでは座標Ｐ’は、座標Ｐを通る画像平面の法線と仮想半球の球面との交点とする。なお、仮想半球は、モニタ１０８には表示されない。Ｓ３０５において、球面上の座標Ｐ’と照明基準点を結ぶ線分と、ユーザによって指定された距離Ｌを用いて、仮想照明の座標を決定する。ここで、座標Ｐ’と照明基準点を結ぶ線分上で、かつ照明基準点（ｉ，ｊ）から所定の距離Ｌ離れたの位置を仮想照明の座標として算出する。したがって、仮想照明の座標Ｑ（ｘ，ｙ，ｚ）は式（１）の通りに算出される。
【００１５】
【数１】
2019082958.tif 000003
【００１６】
以上本実施形態において、ユーザ入力に応じて仮想光源を設定すると、処理対象の撮影画像に対して編集情報が付与される。ここで画像ごとに保持される編集情報について説明する。本実施形態において編集情報は、（ｉ）撮影画像における顔領域リスト、（ｉｉ）ユーザによって指定される補正処理パラメータ、（ｉｉｉ）照明基準点、（ｉｖ）仮想照明の座標、（ｖ）仮想半球の半径とする。補正処理パラメータは、ハイライト抑制処理を適用するか否か示す情報、ハイライト抑制処理を適用する際の補正強度、ライティング処理を適用するか否かを示す情報を含む。さらに補正処理パラメータは、ライティング処理を適用する際の仮想照明の照射角、強度、仮想照明と照明基準点の距離を占めず情報を含む。なお仮想照明の座標Ｑは、照明基準点を原点にした相対座標表されている。本実施形態において仮想照明の向きは、仮想照明の座標から照明基準点に向かう方向とする。
【００１７】
（画像補正処理）
図５は、本実施形態における画像補正処理の流れを示すフローチャートである。なお、ＣＰＵ１００１が、図５に示すフローチャートを実現可能なプログラムを読み出し実行することで、各処理が実現される。また、以下の説明において、各工程（ステップ）を「Ｓ」と表記することとする。物体の反射光は、鏡面反射成分と拡散反射成分に分けることができる。被写体の顔領域で反射した反射光、一般に、鏡面反射成分がテカリとして認識される。本実施ではまず、被写体の顔領域における鏡面反射成分を抑える処理を実行した後、拡散反射成分を追加することで、自然なライティング処理を実現する。
【００１８】
まずＳ４０１においてモニタ１０５に表示している撮影画像の編集情報を参照することにより、ユーザからハイライト抑制処理の適用を指示されているか否かを判定する。なおここでは、処理対象とする撮影画像は、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）それぞれの色成分に対応する画像からなるカラー画像である。各色の画像は、０〜２５５の何れかの輝度が画素値として各画素に格納された８ビットのデータである。撮影画像の編集情報がハイライト抑制処理を適用すること示す場合、Ｓ４０２において画像に対してハイライト抑制処理を実行する。編集情報がハイライト抑制処理を適用しないことを示す場合は、Ｓ４０３に進む。
【００１９】
Ｓ４０３において、編集情報を参照することにより、ユーザから仮想照明を追加したライティング処理の適用を指示されているか否かを判定する。編集情報がライティング処理を適用することを示す場合、Ｓ４０４において、画像に対してライティング処理を実行する。編集情報がハイライト抑制処理を適用しないことを示す場合は、Ｓ４０４に進み、処理を完了する。
【００２０】
以下、本実施形態におけるハイライト抑制処理について詳細に説明する。図６は、ハイライト抑制処理の流れを示すフローチャートである。ハイライト抑制処理とは、白飛びしていることが推定される領域について、近傍画素を用いて補間して生成した画像と補間する前の撮影画像とをブレンド処理する。ハイライト抑制処理の強度は、ブレンド処理において、補間画像の重みをどの程度強くするかを示すパラメータによって決定される。
【００２１】
まずＳ６０１において、撮影画像において処理対象の候補となる領域を抽出する。本実施形態では、選択された顔領域において輝度が８ビット精度で２５０以上の画素を処理対象候補の画素として抽出する。ここで抽出した画素の近傍の８画素にも、２５０以上の輝度がある場合は、同じ領域としてラベルをつける。近傍の８画素にラベルが付与された画素があった場合、双方が同じ領域になるようにラベル情報を更新する。本実施例ではラベリング手法として、簡易なリージョングローイング処理を用いたが、他の方法により実現しても良い。以上の処理を各画素に繰り返すことにより、輝度が２５０となる画素からなる領域を抽出する。Ｓ６０２において、ノイズの影響を避けるため、抽出された領域のうち、画素数が１０未満の領域を除外する。
【００２２】
次にＳ６０３において、処理対象候補となった領域に隣接する画素が肌色を表すかどうかを判定する。処理対象候補の領域の周囲が全て肌色と判定された領域以外は、処理対象候補から除外する。本実施形態では、画素の色情報をＨＳＶ空間にマッピングし、マッピングした結果に対して閾値処理することにより、画素が肌色であるか否かを判定する。顔領域に対して各画素の輝度を用いて高輝度領域を抽出した場合、白目領域や眼鏡などのアクセサリ領域が含まれることがある。そこで、検出した領域の近傍画素に対する肌色判定により当該領域をハイライト抑制処理対象から除外することで、ハイライト抑制処理をすべきテカリ領域を得ることができる。Ｓ６０３において処理対象候補として残った領域が、ハイライト抑制処理をすべきテカリの生じた高輝度領域である。
【００２３】
Ｓ６０４において処理対象とする高輝度領域について、領域の近傍画素を用いて補間処理を実行する。本実施形態では、図７（ａ）に示す処理対象画素を基準とした８方向の画素を選択し、８画素の輝度を平均した値により処理対象画素の画素値を補間する。
【００２４】
Ｓ６０５において、処理対象領域とその近傍画素群に平滑化フィルタを適用する。これにより、Ｓ６０４において補間処理の結果、近傍画素のばらつきの影響で生じてしまう縦、横、斜め（４５°）のスジ状のノイズを抑制する。本実施形態では、平滑化フィルタとして、処理対象画素を中心として５×５画素の平均化フィルタを用いる。最後にＳ６０６において、処理対象領域とその近傍画素について、ブレンド処理を適用する。ハイライト抑制処理の補正強度をｈ（０≦ｈ≦１００）とした場合、ハイライト抑制処理後の画素値Ｐ’（ｘ，ｙ）は、ハイライト抑制処理前の撮影画像の画素値Ｐ（ｘ，ｙ）と補間後の画素値ｐ（ｘ，ｙ）を用いて式（２）により算出する。
【００２５】
【数２】
2019082958.tif 000004
【００２６】
図７（ｂ）は撮影画像とハイライト抑制処理の結果の関係を示す図である。図７（ｂ）に示したように、撮影画像とのブレンド処理を実行したことで、ハイライト抑制処理の結果にも撮影画像における階調性の変化を反映させられる。その結果テカリが生じたハイライト部の白飛びを抑えつつ、自然な画像を得ることができる。
次に、Ｓ４０４におけるライティング処理について述べる。ライティング処理は、前述のように処理対象の撮影画像を板と見立て、仮想照明位置から照明基準点に向かって照らす照明効果を追加する処理である。本実施形態におけるライティング処理適用後の画素値Ｐ’’（ｘ，ｙ）は、式（３）により算出する。
【００２７】
Ｐ’’（ｘ，ｙ）＝Ｐ（ｘ，ｙ）＋ｋ（ｘ，ｙ）Ｐ（ｘ，ｙ）          （式３）
なお、ハイライト補正処理を適用する場合、式（３）中のＰ（ｘ，ｙ）は式（２）を適用したＰ’（ｘ，ｙ）となる。ｋは仮想照明の明るさ、位置、姿勢および仮想照明と処理対象画素との距離、オブジェクト表面の法線ベクトルに基づいて、式（４）で決定する。
【００２８】
【数３】
2019082958.tif 000005
【００２９】
ここでｔは定数、αは別途指定された仮想照明の強度に対応する変数である。Ｑは照明位置ベクトルである。ＷはＰからＱまでの距離に応じて大きな値を返す関数であり、仮想照明の光の減衰を再現する。Ｋはρが小さいほど大きな値となるような関数であり、仮想照明の光の反射強度に対応する。ρは、ＱからＰ（ｘ，ｙ）に向かうベクトルと視点ＵからＰ（ｘ，ｙ）のなす角度を表す。Ｎ（ｘ，ｙ）は画素（ｘ，ｙ）に対応する法線ベクトル、Ｖ（ｘ，ｙ）はＰ（ｘ，ｙ）からＱへの方向ベクトルである。なお、本実施形態では、視点Ｕは画像の法線ベクトルと一致する。
【００３０】
図８は、実施形態１における画像処理アプリケーションのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の例である。本画像処理アプリケーションは、図９に示すように処理対象とする撮影画像が指定された場合、指定された撮影画像を表す画像データをロードして顔領域を検出する。その後に、撮影画像に関連付けられた編集情報があれば、編集情報をロードする。画像データとその編集情報を読み込んだ後、画像データに対して編集情報に応じた画像補正処理を適用し、これを画像表示領域８０１に表示する。以下、画像データに対して画像補正処理を適用した画像データのことを、編集済み画像データと呼ぶ。編集パレット８０２上のＧＵＩ部品の操作によって編集情報が更新された場合にも同様に編集済み画像データを生成して画像表示領域８０１の表示内容を更新する。
【００３１】
編集パレット８０２には、画像補正処理のパラメータを制御するＧＵＩ部品８０３〜８０９、編集情報を他の画像に適用するためのＧＵＩ部品８１０〜８１２、編集対象画像を変更するためのＧＵＩ部品８１３、８１４を配置する。顔領域選択ボタン８０３は、仮想照明の照明基準点や、ハイライト抑制処理の対象領域となる被写体（顔領域）を選択するためのボタンである。本実施形態における画像補正処理は、被写体または顔領域が指定されていないと機能しないため、顔領域が選択されていない場合には、ＧＵＩ部品８０４〜８１０を無効（操作不可の状態）にする。顔領域選択ボタン８０３が押下された場合、顔領域選択モードに遷移する。顔領域選択モード時は、画像表示領域８０１に表示している撮影画像上に、画像データの読み込み時に検出した顔領域を表示する。マウスなどを科介して顔領域が選択された場合、ＧＵＩ部品８０４〜８１０を有効（操作可能な状態）に変更する。顔領域が選択されたか選択されなかったかに関わらず、次のマウスボタン操作により顔領域選択モードを解除して、画像表示領域８０１を再描画する。
【００３２】
ハイライト抑制チェックボックス８０４、およびライティングチェックボックス８０６は、ハイライト抑制処理とライティング処理を適用するかどうかを指定する。処理対象の撮影画像には、この２つの処理のうち、チェックされている処理のみを適用する。いずれのチェックボックスも、初期値はチェックを外した状態（処理を適用しない状態）とする。ハイライト抑制スライダ８０５、照射角スライダ８０７、強度スライダ８０８、距離スライダ８０９は、編集情報を更新する。これらのチェックボックス、およびスライダを操作された場合には、ＧＵＩの状態に応じて編集情報を更新し、更新された編集情報に基づいた編集済み画像データを生成して画像表示領域８０１の表示を更新する。
【００３３】
本実施形態の画像処理アプリケーションは、ある撮影画像に対して実行した補正内容を他の撮影画像にも同様に適用する機能を備える。ボタン８１０を押下すると、編集対象画像データの編集情報と編集済み画像データをコピーバッファに格納する。以後、コピーバッファに格納した編集済み画像データのことを参照画像データ、コピーバッファに格納した編集情報のことを参照編集情報と呼ぶ。ボタン８１１を押下された場合、参照画像データと参照編集情報を用いて編集情報を更新する。ボタン８１２が押下された場合は、全ての画像データの編集情報を更新する。
【００３４】
ボタン８１１、あるいはボタン８１２を押下された時に実行する処理の概要を、図１０を用いて説明する。図１０は、ある画像データ（図１０中の画像データ１）に対応する編集情報を他の撮影画像（画像データ２〜４）に適用するために実行する処理の概要を示している。ここで、図１０中の実線は画像データ、破線は編集情報の流れを示す。編集情報ｎは画像データｎに関連付けられているものとする。編集情報変換処理は、画像データｎと参照画像データの対を用いて参照編集情報を変換し、編集情報ｎを生成する。編集情報変換処理の詳細は後述する。
【００３５】
ボタン８１３とボタン８１４は、編集対象画像データの変更に用いる。画像データをリストとして管理して、ボタン８１３で編集中の撮影画像の一つ前、ボタン８１４で一つ後の撮影画像を選択する。画像を選択後、その画像データを編集対象画像とする。
【００３６】
編集情報変換処理について説明する。編集情報変換処理は、参照画像データの顔領域の明るさを基準として、編集情報を決定する。図１１は、本実施形態における編集情報変換処理の流れを示すフローチャートである。
【００３７】
Ｓ１１０１において、変換対象画像における顔領域をリストにする。Ｓ１１０２において、参照画像において選択された顔領域の中心座標を変換対象画像上にマッピングし、変換対象画像において検出された顔領域との距離を昇順にソートする。Ｓ１１０３においてソート済み顔領域リストのうち、参照画像において選択された顔領域の面積との差が５％を超える顔領域を除外して、更新する。次にS１１０４において、ソート済み顔領域リスト先頭の顔領域を選択する。リストが空となった場合には、面積との差の条件を変更して顔領域選択処理を再実行する。
【００３８】
次に、Ｓ１１０５において参照画像における顔領域の平均輝度を算出する。Ｓ１１０６において、Ｓ１１０４において選択した顔領域の平均輝度を算出する。最後にＳ１１０７において、ステップＳ１１０５、Ｓ１１０６算出した平均輝度を用いて、変換対象画像の編集情報を決定する。参照画像における顔領域の輝度が変換対象画像における顔領域の輝度よりも低い場合、Ｓ１１０８に進み、Ｓ１１０８において変換対象の編集情報を次のように設定する。まず、変換対象画像から検出された顔領域リストを登録する。顔領域選択処理で選択された顔領域の中心座標を照明基準点として設定する。ハイライト抑制処理を有効、仮想照明追加処理を無効にする。ハイライト抑制処理の補正強度を、参照画像上の顔領域と変換対象画像上の顔領域の平均輝度が等しくなるように設定する。仮想半球の半径を、参照画像上に設定されている仮想半球の半径と同じ値にする。
【００３９】
また、参照画像上の顔領域輝度が変換対象画像上の顔領域輝度よりも高い場合、Ｓ１１０９に進み、Ｓ１１０９において変換対象の編集情報を次のように設定する。
【００４０】
変換対象画像から検出された顔領域リストを登録する。照明基準点を、顔領域選択処理で選択された顔領域の中心座標とする。ハイライト抑制処理を無効、仮想照明追加処理を有効にする。仮想照明追加処理のパラメータを、参照画像の編集情報の値を用いて設定する。仮想半球の半径を、参照画像上に設定されている仮想半球の半径と同じ値にする。
【００４１】
なお、仮想照明の強度は、参照画像上の顔領域と変換対象画像上の顔領域の平均輝度が等しくなる値に設定する。また、仮想照明の座標は、参照画像データ上の顔領域の中心座標と参照編集情報の仮想照明位置との相対位置で決定する。
【００４２】
参照画像における顔領域の輝度と変換対象画像における顔領域の輝度が等しい場合、変換対象画像の編集情報を更新しない。
【００４３】
以上の処理により、顔領域を選択して基準点を指定後、画像上の任意の座標を指定することで仮想照明の位置を適切に指定することができる。また、撮影画像の四隅の座標を用いて仮想半球面を設定することで、指定座標が多少ずれても補正画像に大きく影響しないようにできる。例えば仮想半球面の半径が小さすぎると、指定座標の位置の変化に対する仮想照明の向きの変動が大きくなり、ＧＵＩの操作感がピーキーな印象となり操作しづらくなってしまう。
【００４４】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４５】
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＨＤＤ
１０８  モニタ
【図１】
2019082958.tif 000006
【図２】
2019082958.tif 000007
【図３】
2019082958.tif 000008
【図４】
2019082958.tif 000009
【図５】
2019082958.tif 000010
【図６】
2019082958.tif 000011
【図７】
2019082958.tif 000012
【図８】
2019082958.tif 000013
【図９】
2019082958.tif 000014
【図１０】
2019082958.tif 000015
【図１１】
2019082958.tif 000016