(57)【要約】【課題】距離画像を用いることなく適正なＷＢ補正を可能にすることを課題とする。【解決手段】画像処理装置（１０４）は、環境光のもとで補助光を発光した状態で撮像された撮像画像を取得する画像取得手段（２０１）と、撮像画像に含まれる被写体の領域に対して３次元形状モデルを当てはめることで被写体の形状情報を生成する生成手段（２０４）と、補助光を発光した際に被写体が受ける補助光の光量を表す光量特性と被写体の形状情報とに基づき撮像画像の各画素における補助光の強さを表す補助光成分を取得する成分取得手段（２０７）と、環境光に応じて撮像画像の色みが補正された第１の補正画像を生成する第１の補正手段（２０２）と、補助光に応じて撮像画像の色みが補正された第２の補正画像を生成する第２の補正手段（２０３）と、第１の補正画像と第２の補正画像とを補助光成分に基づき算出した合成比率によって合成する合成手段（２０８）とを有する。【選択図】図２
2020191546.tif 000002
【特許請求の範囲】
【請求項１】
環境光のもとで補助光を発光した状態で撮像した撮像画像を取得する画像取得手段と、
前記撮像画像に含まれる被写体の領域に対して３次元形状モデルを当てはめることにより、前記被写体の形状情報を生成する生成手段と、
前記補助光を発光した際に前記被写体が受ける補助光の光量を表す光量特性と、前記被写体の形状情報とに基づき、前記撮像画像の各画素における補助光の強さを表す補助光成分を取得する成分取得手段と、
前記環境光に応じて前記撮像画像の色みが補正された第１の補正画像を生成する第１の補正手段と、
前記補助光に応じて前記撮像画像の色みが補正された第２の補正画像を生成する第２の補正手段と、
前記第１の補正画像と前記第２の補正画像とを、前記補助光成分に基づく合成比率によって合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の補正手段は、前記環境光に対応したホワイトバランス補正係数を用いて前記撮像画像を補正することにより、前記第１の補正画像を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の補正手段は、前記補助光に対応したホワイトバランス補正係数を用いて前記撮像画像を補正することにより、前記第２の補正画像を生成することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記撮像画像から、前記被写体である人物の顔の器官の位置を検出し、当該位置と、前記３次元形状モデルの顔の器官の位置とがほぼ一致するように、前記３次元形状モデルを変形して当てはめることを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記生成手段は、前記撮像画像から、画像の特徴点に基づいて特定のオブジェクトの領域の位置を検出し、当該位置と、前記３次元形状モデルの特定のオブジェクトの領域の位置とがほぼ一致するように、前記３次元形状モデルを変形して当てはめることを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項６】
前記形状情報とは、前記撮像画像の各画素に対応する被写体表面の法線情報であることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像取得手段は、さらに、前記環境光のもとで前記補助光を発光しない状態で撮像した撮像画像を取得することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記光量特性は、前記補助光を発光した状態で撮像された撮像画像の輝度と、前記補助光を発光しない状態で撮像された撮像画像の輝度とに応じた、当該被写体が受ける前記補助光の光量を示す特性であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記光量特性は、前記補助光を発光した光源に対する前記被写体の３次元位置情報に応じた、当該被写体が受ける前記補助光の光量を示す特性であることを特徴とする請求項１から７のいずれか１項に記載の画像処理装置。
【請求項１０】
前記第１の補正手段は、前記補助光を発光しない状態で撮像された撮像画像に基づいて、前記環境光に対応したホワイトバランス補正係数を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項１１】
前記第１の補正手段は、前記補助光を発光した状態で撮像された撮像画像と前記補助光成分とに基づいて、前記環境光に対応したホワイトバランス補正係数を算出することを特徴とする請求項２に記載の画像処理装置。
【請求項１２】
画像処理装置が実行する画像処理方法であって、
環境光のもとで補助光を発光した状態で撮像した撮像画像を取得する画像取得工程と、
前記撮像画像に含まれる被写体の領域に対して３次元形状モデルを当てはめることにより、前記被写体の形状情報を生成する生成工程と、
前記補助光を発光した際に前記被写体が受ける補助光の光量を表す光量特性と、前記被写体の形状情報とに基づき、前記撮像画像の各画素における補助光の強さを表す補助光成分を取得する成分取得工程と、
前記環境光に応じて前記撮像画像の色みが補正された第１の補正画像を生成する第１の補正工程と、
前記補助光に応じて前記撮像画像の色みが補正された第２の補正画像を生成する第２の補正工程と、
前記第１の補正画像と前記第２の補正画像とを、前記補助光成分に基づく合成比率によって合成する合成工程と、
を有することを特徴とする画像処理方法。
【請求項１３】
コンピュータを請求項１から１１のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のホワイトバランスを調整するための画像処理技術に関する。
【背景技術】
【０００２】
従来、デジタルカメラなどの撮像装置においてストロボ光等の補助光発光時に撮像された画像の色調を調整する技術として、例えば特許文献１に記載のような、被写体の奥行き方向の距離情報を用いて自動でホワイトバランスを調整する技術が知られている。この技術では、マイクロレンズアレイなどを用いて視差のある複数の撮像画像を取得し、これらの視差のある撮像画像に基づいて画像中の任意の領域ごとに距離情報を算出して距離画像が生成される。そして、得られた距離画像に基づいて撮像画像におけるストロボ光の寄与度を算出し、その寄与度に基づいてホワイトバランス補正が行われる。これにより、ストロボ光以外の光（環境光）とストロボ光とで色みが異なる場合においても、適正なホワイトバランス補正が可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１４４０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した技術は、距離画像を取得するためにマイクロレンズアレイなどの複雑な機構を必要とするため、撮像装置にかかるコストが増大してしまう。また、絞り値などの撮像条件によっては十分な視差のある画像を取得することできず、その結果、距離画像の精度が低下してストロボ光の寄与度を適切に算出し難くなり、適正なホワイトバランス補正が困難になる。
【０００５】
そこで、本発明は、距離画像を用いることなく適正なホワイトバランス補正を可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、環境光のもとで補助光を発光した状態で撮像された撮像画像を取得する画像取得手段と、前記撮像画像に含まれる被写体の領域に対して３次元形状モデルを当てはめることにより、前記被写体の形状情報を生成する生成手段と、前記補助光を発光した際に前記被写体が受ける補助光の光量を表す光量特性と、前記被写体の形状情報とに基づき、前記撮像画像の各画素における補助光の強さを表す補助光成分を取得する成分取得手段と、前記環境光に応じて前記撮像画像の色みが補正された第１の補正画像を生成する第１の補正手段と、前記補助光に応じて前記撮像画像の色みが補正された第２の補正画像を生成する第２の補正手段と、前記第１の補正画像と前記第２の補正画像とを、前記補助光成分に基づき算出した合成比率によって合成する合成手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、距離画像を基いることなく適正なホワイトバランス補正が可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態の画像処理装置の構成例を示す図である。
【図２】第１の実施形態の画像処理部の構成例を示す図である。
【図３】ストロボ発光画像とストロボ非発光画像の一例を示す図である。
【図４】標準形状情報の一例を示す図である。
【図５】法線マップの一例を示す図である。
【図６】第１の実施形態の画像処理のフローチャートである。
【図７】第１の実施形態の法線マップ生成処理のフローチャートである。
【図８】ストロボ光成分の一例を示す図である。
【図９】第２の実施形態の画像処理装置の構成例を示す図である。
【図１０】第２の実施形態の画像処理部の構成例を示す図である。
【図１１】第２の実施形態の画像処理のフローチャートである。
【図１２】被写体と光源との位置関係を説明する図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１０】
＜第１の実施形態＞
本実施形態は、環境光のもとストロボ光を発光して撮像した撮像画像に対して、撮像画像の色みを光源に応じて調整する。図１は、第１の実施形態における画像処理装置のハードウェア構成例を示す図である。
本実施形態の画像処理装置は、デジタルカメラなどの撮像装置１００への適用例である。撮像装置１００は、光学部１０１、撮像素子部１０２、Ａ／Ｄ変換部１０３、画像処理部１０４、エンコーダ部１０５、メディアＩ／Ｆ１０６、ＣＰＵ１０７、メモリ部１０８、及びシステムバス１０９を有する。さらに撮像装置１００は、撮像系制御部１１０、発光部１１１、操作部１１２、キャラクタ生成部１１３、及び表示部１１４などをも備えている。
【００１１】
光学部１０１は、ズームレンズ、フォーカスレンズ、ブレ補正レンズ、絞り、およびシャッターによって構成される鏡筒であり、被写体等の光学像を撮像素子部１０２の撮像面上に結像させる。
撮像素子部１０２は、光学部１０１にて結像された光学像をアナログ電気信号へと変換する撮像素子を有する。撮像素子部１０２は、さらにＲ（赤），Ｇ（緑），Ｂ（青）のフィルタ素子がベイヤ配列などの所定の配列となされたカラーフィルタを備えており、光学部１０１にて集光された被写体からの光を色成分ごとに分離する。
【００１２】
Ａ／Ｄ変換部１０３は、撮像素子部１０２にて取得された被写体の色成分ごとの信号をデジタル信号に変換する。Ａ／Ｄ変換部１０３にてＡ／Ｄ変換されて得られたデジタル信号からなる画像データは、ＲＡＷ画像データとして画像処理部１０４に出力される。また、撮像装置１００がＲＡＷ画像データを記録又は外部出力する設定になされている場合、Ａ／Ｄ変換部１０３から出力されたＲＡＷ画像データは、後述するメディアＩ／Ｆ１０６を介して例えばＰＣ／メディア１１５に出力される。
【００１３】
画像処理部１０４は、Ａ／Ｄ変換部１０３で生成されたＲＡＷ画像データに対して現像処理を行い、カラー画像データを生成する処理回路である。また、画像処理部１０４は、カラー画像データに対してＷＢ補正処理を含む様々な画像処理を行う。画像処理部１０４の内部構成は後に詳述する。なお、画像処理部１０４は、画像処理を行う際に適宜画像データをメモリ部１０８に記憶し、また、適宜画像データの読み出しを行う。
【００１４】
エンコーダ部１０５は、画像処理部１０４にて処理した各種画像データを、Ｊｐｅｇなどのファイルフォーマットに変換する処理回路である。
メディアＩ／Ｆ１０６は、ＰＣ／メディア１１５との間で画像データ等を送受信するためのインタフェイスである。ＰＣ／メディア１１５は、例えば、パーソナルコンピュータ、又は、ハードディスク、メモリカード、ＣＦカード（ＣＦ（コンパクトフラッシュ）は登録商標）、ＳＤカードなどの記録メディアである。メディアＩ／Ｆ１０６は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などが用いられる。
【００１５】
ＣＰＵ１０７は、撮像装置１００内の各構成の処理及び制御のすべてに関わり、ＲＯＭ１１６及びＲＡＭ１１７で構成されるメモリ部１０８に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。
なお本実施形態において、後述する標準形状情報と光量特性とは、予めＲＯＭ１１６に格納されているものとする。これら標準形状情報および光量特性の詳細は後述する。
システムバス１０９は、撮像装置１００の内部構成間でデータを送受信するためのバスである。
【００１６】
撮像系制御部１１０は、光学部１０１に対して、フォーカスを合わせる制御、シャッターを開く制御、絞りを調整する制御などの撮像系に関する各種の制御を行う制御回路である。
発光部１１１は、撮像時の照明補助を行うための補助光（いわゆるストロボ光）を発光する補助光源である。補助光源は、カメラの内蔵ストロボ装置でもよいし、外付けのストロボ装置であってもよい。発光部１１１は、撮像系制御部１１０によってストロボ発光やストロボ非発光といった発光動作が制御される。
【００１７】
操作部１１２は、シャッターボタン１１８や操作ボタン１１９からの信号を受け取り、撮像やカメラ設定の変更などのユーザ指示をＣＰＵ１０７へ伝える。シャッターボタン１１８は、いわゆる半押しと全押しの二つの状態を取り得るボタンである。
キャラクタ生成部１１３は、文字データやグラフィックデータなどを生成する処理回路である。キャラクタ生成部１１３により生成された文字データあるいはグラフィックデータは、各種画像データに重畳されて表示部１１４に送られて表示される。
表示部１１４は、各種の画像データやカメラ設定メニューなどを表示する液晶ディスプレイなどである。
【００１８】
本実施形態の撮像装置１００は、シャッターボタン１１８の操作が行われていない状態では、撮像系制御部１１０が光学部１０１及び撮像素子部１０２を制御して所定のフレーム周期ごとに撮像を行い、いわゆるライブビュー表示用の画像を取得する。
シャッターボタン１１８が半押しされると、撮像系制御部１１０は、光学部１０１を制御してＡＦロックとＡＥロックとを行う。なお、ＡＦロックは、光学部１０１内のフォーカスレンズを駆動するオートフォーカスの制御において、焦点距離をロックする制御である。ＡＥロックは、自動露出制御において露出値をロックする制御である。
【００１９】
その後、シャッターボタン１１８が全押しされると、撮像系制御部１１０は、光学部１０１及び撮像素子部１０２を制御し、また発光部１１１のストロボを発光させるように制御して、実際に被写体を撮像する本露光を行うようにする。これにより、ストロボ発光状態で撮像したＲＡＷ画像データが取得されることになる。
【００２０】
ここで、第１の実施形態の撮像装置１００は、本露光によって画像を撮像する際には、ストロボ光を発光して撮像した画像と、ストロボ光を発光せずに撮像した画像とを取得する。すなわち本実施形態において、撮像系制御部１１０は、シャッターボタン１１８が全押しされると、光学部１０１及び撮像素子部１０２を制御し、また発光部１１１のストロボを発光させるように制御して、実際に被写体を撮像する本露光を行うようにする。これにより、ストロボ発光状態で撮像したＲＡＷ画像データが取得される。さらに続けて、撮像系制御部１１０は、光学部１０１及び撮像素子部１０２を制御し、また発光部１１１のストロボを発光させないように制御して、被写体を撮像する露光を行うようにする。これにより、ストロボ非発光状態で撮像したＲＡＷ画像データが取得される。なお、ストロボ非発光状態での露光は、シャッターボタン１１８が全押しされてから本露光を開始するまでの間に行ってもよい。
【００２１】
ストロボ発光状態で撮像したＲＡＷ画像データは、発光部１１１のストロボ発光時に撮像素子部１０２で撮像がなされてＡ／Ｄ変換部１０３から出力された画像データである。また、ストロボ非発光状態で撮像したＲＡＷ画像データは、発光部１１１のストロボを発光させず、環境光のもとで撮像素子部１０２による撮像がなされてＡ／Ｄ変換部１０３から出力された画像データである。これらのＲＡＷ画像データは、メモリ部１０８に一時的に記憶される。
【００２２】
次に、本実施形態の撮像装置１００は、ストロボ発光状態で撮像したＲＡＷ画像データに対し、デモザイク処理、ノイズリダクション処理などを施してストロボ光に対応したカラー画像データを生成する。以後、ストロボ光に対応したカラー画像をストロボ発光画像と呼び、その画像データをストロボ発光画像データＩonとする。同様に、撮像装置１００は、ストロボ非発光状態で撮像したＲＡＷ画像データに対し、デモザイク処理、ノイズリダクション処理などを施してストロボ光を含まない環境光のみに対応したカラー画像データを生成する。以後、ストロボ光を含まない環境光のみに対応したカラー画像をストロボ非発光画像と呼び、その画像データをストロボ非発光画像データＩoffとする。なお、これらストロボ非発光画像データおよびストロボ非発光画像データの取得方法は前述した例に限るものではない。例えば、これらのカラー画像データは、ＰＣ／メディア１１５に記憶されているＲＡＷ画像データを読み出して処理することで生成されてもよい。あるいは、これらのカラー画像データは、メモリ部１０８またはＰＣ／メディア１１５に記憶されているカラー画像データが読み出して取得されてもよい。
【００２３】
また、本実施形態の撮像装置１００は、ストロボ発光画像に含まれている特定の被写体の領域に対し、予め用意されている３次元形状モデルを当てはめることにより、その特定の被写体の形状情報を生成する。
そして、撮像装置１００は、得られた形状情報と予め用意した光量特性とに基づいて、ストロボ発光画像の各画素についてストロボ光の寄与度を算出する。本実施形態において、形状情報は、撮像された画像の各画素に対応する被写体表面の法線ベクトルを画素値として持つ法線マップである。光量特性とは、ストロボ発光画像内の被写体領域の平均輝度Ｙfonと、ストロボ非発光画像内の被写体領域の平均輝度Ｙfoffとを入力とし、被写体が受けるストロボ光の入射光量Ｅsを出力する関数Ｆ（Ｙfon，Ｙfoff）である。これらストロボ光の寄与度、形状情報、及び光量特性の詳細は後述する。なお本実施形態において、ストロボ光は、被写体に対してその位置に依らず一様に同じエネルギーをもって入射するものとする。すなわち、被写体が受けるストロボ光の入射光量Ｅsは、画像上の位置に依らず一様であるものとする。
【００２４】
また本実施形態の撮像装置１００は、ストロボ光の寄与度に基づいて、ストロボ光に対応したホワイトバランス補正画像と環境光に対応したホワイトバランス補正画像とを生成する。ストロボ光に対応したホワイトバランス補正画像とは、ストロボ光に応じて撮像画像の色みが調整された画像である。また、ホワイトバランス補正画像とは、環境光に応じて撮像画像の色みが調整された画像である。以後、ホワイトバランスを「ＷＢ」と表記する。さらに、撮像装置１００は、ストロボ光に対応したＷＢ補正画像と環境光に対応したＷＢ補正画像とを合成する際の合成比率を求める。そして、撮像装置１００は、ストロボ発光画像に対応したＷＢ補正画像とストロボ非発光画像に対応したＷＢ補正画像とを、その合成比率に従い合成することにより、最終的なＷＢ補正画像を得る。ＷＢ補正画像及び合成比率の詳細は後述する。
【００２５】
図２は、本実施形態の撮像装置１００において、前述したようにして撮像された画像データから最終的なＷＢ補正画像を生成する処理を行う、画像処理部１０４の内部構成を示すブロック図である。
入力部２０１は、ストロボ発光状態で撮像されたＲＡＷ画像データをメモリ部１０８から読み出す画像取得処理を行う。そして、入力部２０１は、そのＲＡＷ画像データに対し、デモザイク処理、ノイズリダクション処理などを施してストロボ発光画像データＩonを生成する。生成されたストロボ発光画像データＩonは、第１補正部２０２、第２補正部２０３、生成部２０４、算出部２０７、及び合成部２０８へ送られる。
また入力部２０１は、ストロボ非発光状態で撮像したＲＡＷ画像データをメモリ部１０８から読み出す画像取得処理を行う。そして、入力部２０１は、そのＲＡＷ画像データに対し、ストロボ発光画像データＩonと同様の処理を行ってストロボ非発光画像データＩoffを生成して、第１補正部２０２及び算出部２０７へ送る。
【００２６】
図３（ａ）と図３（ｂ）は、特定の被写体である人物の顔を撮像した画像の一例を示した図である。図３（ａ）はストロボ発光画像３００の例を示し、図３（ｂ）はストロボ非発光画像３１０の例を示している。図３（ａ）に示すストロボ発光画像３００の画素Ｉon(i,j)には、ストロボ発光時の被写体のＲＧＢ値（ＩonR(i,j)，ＩonG(i,j)，ＩonB(i,j)）が画素値として格納されている。同様に、図３（ｂ）に示すストロボ非発光画像３１０の画素Ｉoff(i,j)には、ストロボ非発光時の被写体のＲＧＢ値（ＩoffR(i,j)，ＩonG(i,j)，ＩonB(i,j)）が画素値として格納されている。また、図３（ａ）に示したストロボ発光画像の顔の部分のデータには、顔領域Ｒfと器官位置Ｐとに関する情報が含まれている。顔領域Ｒfはストロボ発光画像３００の画像上で被写体の顔が占める領域であり、被写体の顔を構成している各画素の集合である。器官位置Ｐは、顔領域Ｒf内の目や口などの各器官の画像上における位置座標の情報である。これら顔領域Ｒfと器官位置Ｐの情報を取得する処理の詳細は後述する。
【００２７】
また、入力部２０１は、以下に説明するような、標準形状情報をＲＯＭ１１６から読み出して生成部２０４へ送り、また、光量特性をＲＯＭ１１６から読み出して算出部２０７へ送る。
図４は、標準形状情報４００の例を説明する図であり、標準形状情報は３次元形状モデルとして予め用意されている。図４に例示した標準形状情報４００は、人の顔領域Ｒfの３次元形状モデルとなされている。標準形状情報は、標準法線マップＮsとそれに対応する器官位置Ｐsとから成る。標準法線マップＮsは、予め一般的な顔形状に基づいて作成した顔の法線情報を画素値として持つ画像データである。標準形状情報において、顔に含まれる画素Ｎs(u,v)には、画素値として顔表面の単位法線ベクトルのｘｙｚ成分値（Ｎsx(u,v)、Ｎsy(u,v)、Ｎsz(u,v)）が格納されている。また、図中の斜線部で示されている顔領域外の画素については、法線ベクトルが存在しないことを示すｎｕｌｌ値が格納されている。これにより、法線マップ中の画素値に基づいて顔領域と顔領域外との判別ができるようになっている。また、器官位置Ｐsは、標準法線マップＮs上における目、鼻及び口などの各器官の位置座標である。
【００２８】
本実施形態における光量特性は、ストロボ発光画像の輝度とストロボ非発光画像の輝度とに応じた、被写体が受けるストロボ光の光量を示す特性である。具体的には本実施形態の光量特性は、ストロボ発光画像における顔領域の平均輝度Ｙfonと、ストロボ非発光画像における顔領域の平均輝度Ｙfoffとを入力とし、被写体が受けるストロボ光量Ｅsを出力する関数Ｆ（Ｙfon，Ｙfoff）である。本実施形態の場合、この関数Ｆ（Ｙfon，Ｙfoff）は、例えば以下に説明するようにして、予めルックアップテーブル（ＬＵＴ）の形で作成してＲＯＭ１１６に格納されている。なお、関数Ｆ（Ｙfon，Ｙfoff）は、数式の形で作成して、ＲＯＭ１１６に格納されていてもよい。
【００２９】
関数Ｆ（Ｙfon，Ｙfoff）を生成する際には、まずサンプルとしての人物の顔がストロボ発光状態とストロボ非発光状態とでそれぞれ撮像される。また、それぞれの撮像時における顔正面（撮像装置に正対した向き）の照度が、照度計を用いるなどして測定される。次に、それら撮像により得られた各画像から、ストロボ発光時の顔領域の平均輝度Ｙfonと、ストロボ非発光時の顔領域の平均輝度Ｙfoffとが算出される。また、ストロボ発光時の照度からストロボ非発光時の照度を引いた差分が、被写体が受けるストロボ光量Ｅsとして算出される。さらに、前述のようにして得たストロボ発光時における顔領域の平均輝度Ｙfon、およびストロボ非発光時の顔領域の平均輝度Ｙfoffの組（Ｙfon，Ｙfoff）と、被写体が受けるストロボ光量Ｅsとが対応付けられる。そして、以上のように説明した対応付けを、被写体距離、環境光、及びストロボ発光量を様々に変えながら撮像した画像から取得した平均輝度の組（Ｙfon，Ｙfoff）について行い、それらにより得られた対応関係からＬＵＴまたは関係式が作成される。
【００３０】
なお、光量特性の作成方法は上述の方法に限らない。例えば、被写体が受けるストロボ光量Ｅsは、ストロボ発光状態で撮像した際の撮像装置１００から被写体の顔までの距離を測定し、既知のストロボ発光量と測定した距離とに基づいて求めてもよい。また、平均輝度の差分値ΔＹ（＝Ｙfon−Ｙfoff）と被写体が受けるストロボ光量Ｅsとが対応付けられてもよい。また、顔領域の平均輝度に代えて、肌色の領域の平均輝度、又は顔領域内の特定の部位の輝度が用いられてもよい。
【００３１】
図２の内部構成の説明に戻る。
第１補正部２０２は、ストロボ非発光画像データＩoffを基に環境光に対応したホワイトバランス補正係数（ＷＢ補正係数）を算出し、この係数を用いて、ストロボ発光画像データＩonから環境光に対応したＷＢ補正画像データＩ'1を生成する。生成された画像データＩ'1は、合成部２０８へ送られる。
第２補正部２０３は、ストロボ発光画像データＩonを基に、ストロボ光に対応したＷＢ補正画像データＩ'2を生成する。生成された画像データＩ'2は、合成部２０８へ送られる。
【００３２】
生成部２０４は、検出部２０５と変形部２０６とを有する。
検出部２０５は、ストロボ発光画像データＩonから被写体の顔情報を検出し、その検出した顔情報を変形部２０６へ送る。被写体の顔情報は、画像上において被写体の顔が占める領域を示す顔領域と、顔に含まれる目や口などの各器官の画像上における位置座標を示す器官位置とに関する情報を含む。
【００３３】
検出部２０５は、例えば図３（ａ）に示したストロボ発光画像３００から、画像上で被写体の顔が占める領域を示す顔領域Ｒfと、目や口などの各器官の画像上における器官位置Ｐを示す位置座標と、に関する情報を取得する。検出部２０５は、例えばテンプレートマッチングまたはＨａａｒ−Ｌｉｋｅ特徴量などを用いた顔検出手法を利用することで、顔領域Ｒfと器官位置Ｐに関する情報を取得する。
【００３４】
以下、例えば検出部２０５が、テンプレートマッチングにより顔領域Ｒfと器官位置Ｐを検出する場合について説明する。
検出部２０５は、まず、ストロボ発光画像データIonに対し、肌色の閾値を用いた閾値処理を行うことで、肌色の領域を検出し、その肌色領域を顔候補領域とする。そして、検出部２０５は、予め用意した顔画像テンプレートを用い、顔候補領域に対してマッチング処理を行い、尤度を算出する。次に、検出部２０５は、尤度に基づいて顔領域か否かの判定処理を行い、顔領域であると判定した場合に、その顔候補領域を顔領域として抽出する。また、検出部２０５は、抽出した顔領域内の各画素に対し、目、鼻、及び口にそれぞれの器官に対応した画像テンプレートを用いたマッチング処理により尤度を算出する。そして、検出部２０５は、その尤度が大きくなる画素位置を各器官の位置と判定する。検出部２０５は、以上の処理により顔領域Ｒfと器官位置Ｐとを検出する。
【００３５】
変形部２０６は、検出部２０５により撮像画像から検出された顔の各器官の位置と、予め用意された３次元形状モデル内の顔の各器官の位置とが略一致するように、３次元形状モデルを変形して当てはめる処理を行う。本実施形態の場合、変形部２０６は、検出部２０５により取得された顔情報に基づいて、３次元形状モデルである標準形状情報に含まれる標準法線マップＮsを変形して、ストロボ発光画像に対応する法線マップを生成する。
【００３６】
図５は、図３（ａ）のストロボ発光画像３００に対応する法線マップ５００の例を示した図である。法線マップ５００の画素Ｎ(i,j)には、被写体の顔に関する単位法線ベクトルの各要素の値が画素値として格納される。具体的には、ストロボ発光画像の顔領域Ｒf内の画素Ｉon(i,j)に対応する単位法線ベクトルのｘｙｚ成分値（Ｎx(i,j)，Ｎy(i,j)，Ｎz(i,j)）が、画素Ｎ(i,j)の画素値Ｓとして格納される。また、図５中に斜線で示した顔領域外の各画素には、法線ベクトルが存在しないことを示す値が格納される。なお、本実施形態において、ストロボ発光画像を撮像した際の撮像装置１００の水平方向がｘ軸、撮像装置１００の鉛直方向がｙ軸、撮像装置１００の光軸方向がｚ軸である。生成部２０４における処理の詳細は後述する。生成部２０４で生成された法線マップＮは、算出部２０７へ送られる。
【００３７】
算出部２０７は、法線マップと光量特性とを用いて、ストロボ発光画像の各画素Ｉon(i,j)に対応する補助光成分であるストロボ光成分Ｙs(i,j)を算出する成分取得処理を行う。算出部２０７における処理の詳細は後述する。算出部２０７にて算出されたストロボ光成分Ｙs(i,j)は、合成部２０８へ送られる。
合成部２０８は、ストロボ発光画像データＩonとストロボ光成分とに基づいて、画像の合成比率を算出し、この合成比率を用いて、環境光に対応したＷＢ補正画像データＩ'1とストロボ光に対応したＷＢ補正画像データＩ'2とを合成する。合成部２０８での合成処理により生成された画像データは、最終的なＷＢ補正画像データＩ"として出力部２０９へ送られる。
出力部２０９は、合成部２０８で生成されたＷＢ補正画像データＩ"を後段の処理部へ出力する。なお、出力部２０９は、出力前に、ＷＢ補正画像データＩ"に対してガンマ処理などの色処理を行ってもよい。
【００３８】
図６は、図２の画像処理部１０４における一連の処理の流れを示したフローチャートである。図６のフローチャートに示した一連の処理は、ソフトウェア構成により実現されてもよいし、ハートウェア構成により実現されてもよい。図６のフローチャートの処理を実現するハードウェア構成は、例えば図２に示した画像処理部１０４の各構成要素に相当する回路等からなる。また、図６のフローチャートの処理がソフトウェア構成により実現される場合、図６のフローチャートの処理を記述したコンピュータ実行可能なプログラムがＲＯＭからＲＡＭ上に読み込まれ、ＣＰＵがそのプログラムを実行することで実現される。ソフトウェア構成によって図６のフローチャートの処理が実現される場合、図２に示した各構成要素はＣＰＵにより形成される。その他にも、図６のフローチャートの処理は、一部がハードウェア構成で残りがプログラムによるソフトウェア構成により実現されてもよい。
【００３９】
まずステップＳ６０１において、入力部２０１は、ストロボ発光画像データＩon、ストロボ非発光画像データＩoff、標準形状情報、及び光量特性の情報を取得し、後の処理を行う各部へ送る。
次にステップＳ６０２において、第１補正部２０２は、ストロボ非発光画像データＩoffを用いて環境光に対応したＷＢ補正係数を算出し、この係数を用いてストロボ発光画像データＩonから環境光に対応したＷＢ補正画像データＩ'1を生成する。ＷＢ補正係数の算出、および、ＷＢ補正画像の生成には、以下のようなオートＷＢ調整手法を用いることができる。
【００４０】
第１補正部２０２はまずストロボ非発光画像データＩoffの画素Ｉoff(i,j)のＲＧＢ値IoffR(i,j)，IoffG(i,j)，IoffB(i,j)を平均して平均ＲＧＢ値aveIoffR，aveIoffG，aveIoffBを算出する。そして、第１補正部２０２は、この平均ＲＧＢ値が示す色を無彩色に補正するようなＷＢ補正係数(αr1，αg1，αb1)を、下記の式（１）〜式（３）により算出する。
【００４１】
αr1＝aveIoffG／aveIoffR  ・・・式（１）
αg1＝１                  ・・・式（２）
αb1＝aveIoffG／aveIoffB  ・・・式（３）
【００４２】
次に、第１補正部２０２は、ストロボ発光画像データＩonの各画素のＲＧＢ値と、前述のように算出したＷＢ補正係数とを用いて下記の式（４）〜式（６）の演算を行う。これにより、環境光に対応したＷＢ補正画像データＩ'1の各画素のＲＧＢ値Ｉ'1R(i,j)，Ｉ'1G(i,j)，Ｉ'1B(i,j)が算出される。
【００４３】
Ｉ'1R(i,j)＝ＩonR(i,j)＊αr1  ・・・式（４）
Ｉ'1G(i,j)＝ＩonG(i,j)＊αg1  ・・・式（５）
Ｉ'1B(i,j)＝ＩonB(i,j)＊αb1  ・・・式（６）
【００４４】
次にステップＳ６０３において、第２補正部２０３は、ストロボ発光画像データＩonからストロボ光に対応したＷＢ補正画像データＩ'2を生成する。このとき、ストロボ光に対するＷＢ補正係数（αr2，αg2，αb2）は、予め記憶しておいた既知の値を用いてもよいし、ステップＳ６０２におけるストロボ非発光画像データＩoffをストロボ発光データＩonに置き換えて算出してもよい。ストロボ光に対応したＷＢ補正画像Ｉ'2のＲＧＢ値Ｉ'2R(i,j)，Ｉ'2G(i,j)，Ｉ'2B(i,j)は、ステップＳ６０２と同様、ストロボ発光画像データＩonの各画素のＲＧＢ値にＷＢ補正係数（αr2，αg2，αb2）を乗算して得られる。
【００４５】
次にステップＳ６０４において、生成部２０４は、ストロボ発光画像データＩonに対応する法線マップＮを生成する。
図７は、ステップＳ６０４において生成部２０４が行う法線マップ生成処理の詳細なフローチャートである。
ステップＳ７０１において、生成部２０４の検出部２０５は、ストロボ発光画像データＩonから、前述したようにテンプレートマッチング等を用いて顔情報を検出する。
【００４６】
次にステップＳ７０２において、変形部２０６は、標準形状情報に含まれる標準法線マップＮsをストロボ発光画像データＩonの器官位置Ｐに合わせて変形し、法線マップＮを生成する。変形部２０６は、まずステップＳ７０１で検出された器官位置Ｐと、標準形状情報の器官位置Ｐsとに基づいて、標準法線マップＮsの変形パラメータを求める。標準法線マップＮsの変形は、アフィン変換や射影変換などを利用して行うことができる。本実施形態の場合、変形部２０６は、下記の式（７）に示すアフィン変換を用いて標準法線マップＮs(u,v)を変形する。
【００４７】
ｕ'＝ａ0u＋ａ1v＋ａ2 
ｖ'＝ａ3u＋ａ4v＋ａ5  ・・・式（７）
【００４８】
変換パラメータ（a0，a1，a2，a3，a4，a5）は、ストロボ発光画像の器官位置Ｐが示す各器官（目、鼻、及び口）の座標と、標準形状情報の器官位置Ｐsが示す各器官の座標とを各々対応付け、最小二乗法等を用いて算出可能である。
次に、変形部２０６は、算出した変換パラメータを用いて標準法線マップを変形する。そして、変形部２０６は、ストロボ発光画像上の器官位置Ｐに標準法線マップ上の器官位置Ｐsが一致するように、ストロボ発光画像と同サイズの画像上に変形後の標準法線マップを配置する。さらに変形部２０６は、配置した標準法線マップの周囲（顔領域外の部分）の画素に法線情報がないことを示すｎｕｌｌ値を格納し、これをストロボ発光画像データに対応する法線マップＮとする。
【００４９】
以上のような法線マップ生成処理が終了すると、算出部２０７が行う図６のステップＳ６０５の処理に進む。
ステップＳ６０５において、算出部２０７は、法線マップＮと光量特性Ｆとを用い、ストロボ発光画像の各画素(i,j)についてストロボ光成分Ｙs(i,j)を算出する。
図８はストロボ光成分の例を示す図である。本実施形態におけるストロボ光成分とは、光学部１０１によって集光される光のうち、ストロボ光が被写体に反射して光学部１０１に入射する光量を表す。一般に、被写体の反射光量は、入射光量が一定であったとしても、光の入射方向と反射面の法線方向とのなす角に応じて変化する。したがって、被写体表面全体が一様な強さのストロボ光を受けたとしても、撮像画像データに含まれるストロボ光成分は、画素位置ごとに被写体の表面形状に応じて変化する。本実施形態では光学部１０１の撮像光軸と平行に進むストロボ光が被写体表面でランバートの余弦則に従い反射すると見なし、算出部２０７は式（８）及び式（９）によりストロボ発光画像の各画素(i,j)に対応するストロボ光成分Ｙs(i,j)を算出する。
【００５０】
Ｙs(i,j)＝Ｅs＊（Ｎ(i,j)・Ｌ )  ・・・式（８）
Ｅs＝Ｆ(Yfon,Yfoff)             ・・・式（９）
【００５１】
ここで、式（８）中のＮ(i,j)は法線マップＮの画素(i,j)に格納されている単位法線ベクトルであり、Ｌは被写体に対するストロボ光の入射方向（すなわち撮像光軸方向）の単位ベクトルである。また、式中のＥsは、ストロボ発光画像における顔領域の平均輝度Ｙfonと、ストロボ非発光画像における顔領域の平均輝度Ｙfoffとから、光量特性Ｆを用いて得られるストロボ光量である。ただし、法線マップＮの画素(i,j)に法線ベクトルが存在しないことを示すｎｕｌｌ値が格納されている場合には、反射する被写体面が存在しないと見なしてＹs(i,j)＝０とする。
【００５２】
次にステップＳ６０６において、合成部２０８は、ストロボ発光画像データＩonとストロボ光成分Ｙs(i,j)とを用いて、次式（１０）に従い各画素(i,j)における合成比率ｔ(i,j)を算出する。
【００５３】
ｔ(i,j)＝Ｙs(i,j)／Ｙon(i,j)  ・・・式（１０）
【００５４】
ここで、式（１０）のＹon(i,j)はストロボ発光画像の画素値ＩonR(i,j)，ＩonG(i,j)， ＩonB(i,j)から算出される輝度値である。そして、合成部２０８は、得られた合成比率を用いて、環境光に対応したＷＢ補正画像データＩ'1とストロボ光に対応したＷＢ補正画像データＩ'2とを次式（１１）に従い合成し、最終的なＷＢ補正画像データＩ"を生成する。
【００５５】
Ｉ"(i,j)＝Ｉ'1(i,j)＊（１−ｔ(i,j)）＋Ｉ'2(i,j)＊ｔ(i,j)  ・・・式（１１）
【００５６】
以上説明したように画像処理部１０４は、標準法線マップを変形して生成した被写体の法線マップと、撮像画像データの輝度に基づきストロボ反射特性から推定したストロボ光量とを用いて、被写体の形状を考慮したストロボ光成分を算出することができる。前述したように、本実施形態の画像処理部１０４は、撮像画像中の被写体領域に、予め保持された３次元形状モデルを当てはめることにより、視差の情報を含まない撮像画像から被写体の形状情報を生成する。そして、本実施形態の画像処理部１０４は、得られた形状情報に基づいてストロボ光の寄与度を算出することで、被写体に関する距離画像を用いることなく、ストロボ発光状態で撮像された画像のホワイトバランスを適正に補正を行うことができる。
【００５７】
なお、本実施形態では標準形状情報として標準法線マップをＲＯＭ１１６から読み出す例を説明したが、一般的な顔の表面形状を表すポリゴンデータをＲＯＭ１１６から読み出してもよい。その場合、標準法線マップは、ポリゴンデータが示す面の法線から生成すればよい。
【００５８】
また、前述の実施形態では、特定の被写体として、人の顔を例に挙げて説明したが、特定の被写体は人の顔に限らない。例えば特定のオブジェクトに関しても特徴点を持つ３次元形状モデルを予め用意し、さらに、公知のオブジェクト検出手法を用いてストロボ発光画像データから特定のオブジェクト領域と特徴点を検出すれば、顔以外の被写体に対しても適用可能である。このことは後述する第２の実施形態においても同様に適用可能である。
【００５９】
＜第２の実施形態＞
第１の実施形態では、ストロボ発光時の顔領域の輝度とストロボ非発光時の顔領域の輝度とに基づいて、被写体が受けるストロボ光量を取得する方法について説明した。また、第１の実施形態では、ストロボ非発光時の撮像画像データを用いて環境光に対応したＷＢ補正係数を算出している。
第２の実施形態では、ストロボ光源と被写体との位置関係に基づいて、被写体が受けるストロボ光量を推定（取得）する例について説明する。また、第２の実施形態では、撮像画像中のストロボ光成分を用いることで、ストロボ発光時の撮像画像データから環境光に対応したＷＢ補正係数を算出する例についても説明する。
【００６０】
図９は、第２の実施形態における画像処理装置としてのＰＣ９００のハードウェア構成例を示した図である。
ＰＣ９００は、ＣＰＵ９０７、システムバス９０９、ＲＯＭ９１６、ＲＡＭ９１７、ＨＤＤＩ／Ｆ９０１、入力Ｉ／Ｆ９０３、出力Ｉ／Ｆ９０５を有して構成される。ＨＤＤＩ／Ｆ９０１は、ＨＤＤ９０２や光ディスクドライブなどの二次記憶装置を接続する、例えばシリアルＡＴＡ（ＳＡＴＡ）などのインタフェイスである。ＣＰＵ９０７は、ＨＤＤＩ／Ｆ９０１を介して、ＨＤＤ９０２からのデータ読み出し、およびＨＤＤ９０２へのデータ書き込み等を行う。さらにＣＰＵ９０７は、ＨＤＤ９０２に格納されたデータをＲＡＭ９１７に展開し、同様に、ＲＡＭ９１７に展開されたデータをＨＤＤ９０２に保存することが可能である。入力Ｉ／Ｆ９０３は、マウス・キーボード９０４などの入力デバイスを接続する、例えばＵＳＢなどのシリアルバスインタフェイスである。ＣＰＵ９０７は、入力Ｉ／Ｆ９０３を介してマウス・キーボード９０４から各種信号を読み込むことが可能である。出力Ｉ／Ｆ９０５は、ディスプレイ９０６などの表示デバイスを接続する、例えばＤＶＩなどの映像出力インタフェイスである。ＣＰＵ９０７は、出力Ｉ／Ｆ９０５を介してディスプレイ９０６にデータを送り、表示を実行させることができる。なお、ＵＳＢやＩＥＥＥ１３９４などの双方向通信インタフェイスを利用すれば、入力Ｉ／Ｆ９０３と出力Ｉ／Ｆ９０５を一つにまとめることができる。また、本実施形態では、ＣＰＵ９０７が画像処理部として機能する。また、標準形状情報と光量特性に加えて、ストロボ発光画像データがＥｘｉｆなどの写真用のメタデータを含む画像ファイルフォーマットで予めＲＯＭ９１６またはＨＤＤ９０２に格納されているものとする。
【００６１】
図１０は、図９に示したＰＣ９００において第２の実施形態の画像処理装置を実現する場合の機能ブロック図である。この図１０において、第２補正部２０３、生成部２０４、合成部２０８、及び出力部２０９は、前述した図２の対応した構成要素と同様な処理を行うため、それらの説明は省略する。以下、第１の実施形態とは異なる処理を中心に簡潔に説明する。
【００６２】
第２の実施形態において、入力部１００１は、ストロボ発光画像データ、標準形状情報及び光量特性を、ＲＯＭ１１６またはＨＤＤ９０２から読み出して取得する。ここで、第２の実施形態における光量特性とは、ストロボ光源からの距離と方向（すなわち、ストロボ光源に対する３次元位置情報）に応じた、被写体が受けるストロボ光の光量を示す特性である。具体的には、第２の実施形態の場合の光量特性は、被写体の３次元位置座標(x,y,z)を入力とし、その位置座標に存在する被写体が受けるストロボ光量Ｅs'を出力する関数Ｆ'(x,y,z)である。
【００６３】
また、入力部１００１は、取得したストロボ発光画像データのメタデータから、焦点距離ｆと被写体までの距離（被写体距離Ｄとする）を取得する。さらに、入力部１００１は、Ｅｘｉf情報に基づき当該ストロボ発光画像データを撮像した撮像機器の機種を特定し、予め用意したデータベースなどを参照して撮像センサのサイズ（Ｈ、Ｗ）を取得する。本実施形態では、これらの焦点距離ｆ、被写体距離Ｄ、撮像センササイズ（縦幅Ｈ、横幅Ｗ）が、撮像パラメータとして用いられる。なお一般に、被写体距離Ｄは撮像時の焦点距離およびフォーカスレンズの位置に応じて求めることができる。
【００６４】
取得されたストロボ発光画像データは、第１補正部１００３、第２補正部２０３、生成部２０４、及び合成部２０８へ送られる。また、標準形状情報は、生成部２０４へ送られる。また、光量特性および撮像パラメータは、算出部１００２へ送られる。
【００６５】
本実施形態における算出部１００２は、入力部１００１が取得した光量特性および撮像パラメータと、生成部２０４が前述のようにして生成した法線マップとを用いて、ストロボ発光画像データに対応するストロボ光成分を算出する。この算出処理の詳細は後述する。算出されたストロボ光成分は、合成部２０８へ送られる。
【００６６】
本実施形態における第１補正部１００３は、入力部１００１が取得したストロボ発光画像データと、算出部１００２が算出したストロボ光成分とを用いて、環境光に対応したＷＢ補正係数を算出する。この算出処理の詳細は後述する。また、第１補正部１００３は、そのＷＢ補正係数を用いて、ストロボ発光画像データから環境光に対応したＷＢ補正画像データを生成する。そして、生成された環境光に対応したＷＢ補正画像データは、合成部２０８へ送られる。
【００６７】
図１１は、第２の実施形態の画像処理装置における一連の処理の流れを示したフローチャートである。
まずステップＳ１１０１において、入力部１００１は、ストロボ発光画像データ、標準形状情報、光量特性、及び撮像パラメータを取得し、後の処理を行う各部へ送る。
次のステップＳ１１０２で行われる処理は第１の実施形態のステップＳ６０４と同一であるため説明は省略する。
【００６８】
次にステップＳ１１０３において、算出部１００２は、撮像パラメータに基づいてストロボ発光画像中の各画素に対応する被写体の３次元座標を取得し、この座標と光量特性および法線マップを用いてストロボ光成分を算出する。
本実施形態では、ストロボ光源の位置および発光光軸を、それぞれ撮像装置の位置および撮像光軸と同一とみなす。さらに、ストロボ光源から被写体までの奥行き方向の距離を、撮像パラメータに含まれる被写体距離Ｄで近似する。その上で、算出部１００２は、画素位置(i,j)に対応する被写体の３次元座標（ｘ(i,j)，ｙ(i,j)，ｚ(i,j)）を、式（１２）〜式（１４）によって算出する。式（１２）〜式（１４）に示すように、算出部１００２は、撮像パラメータに含まれる焦点距離ｆと撮像センササイズ（Ｈ、Ｗ）を用いて３次元座標（ｘ(i,j)，ｙ(i,j)，ｚ(i,j)）を算出する。
【００６９】
ｘ(i,j)＝(i−Ｗ／２)＊Ｄ／ｆ  ・・・式（１２）
ｙ(i,j)＝(j−Ｈ／２)＊Ｄ／ｆ・・・式（１３）
ｚ(i,j)＝Ｄ             ・・・式（１４）
【００７０】
そして、算出部１００２は、式（１５）〜式（１７）によりストロボ発光画像データの各画素(i,j)に対応するストロボ光成分Ｙs(i,j)を算出する。
【００７１】
Ｙs(i,j)＝Ｅs'(i,j)＊Refl(i,j)             ・・・式（１５）
Ｅs'(i,j)＝Ｆ'(ｘ(i,j)，ｙ(i,j)，ｚ(i,j))  ・・・式（１６）
Refl(i,j)＝(Ｎ(i,j)＊Ｌ(i,j))＊Ｃd＋(Ｌ(i,j)＊Ｒ(i,j))＾ｎ＊Ｃs  ・式（１７）
【００７２】
ここで、式中のＥs'(i,j)は、画素(i,j)に対応する被写体の３次元座標から光量特性Ｆ'を用いて得られるストロボ光量である。また、式（１７）は公知の反射モデルであるフォンの鏡面反射モデルを表しており、Refl(i,j)は反射モデルにより算出される光の反射量である。式（１７）において、Ｌ(i,j)は被写体位置からストロボ光源位置へ向かう単位ベクトルである。また、Ｒ(i,j)は撮像装置から被写体位置へ向かう視線ベクトルの、被写体表面に関する正反射方向を表す単位ベクトルである。
【００７３】
図１２は、これらのベクトルの例を示す図である。図１２において、原点Ｏは撮像装置およびストロボ光源の位置を表している。ベクトルＬ(i,j)，Ｒ(i,j)は、被写体と撮像装置およびストロボ光源との位置関係に基づき算出可能である。また、式（１７）におけるＣdは被写体の拡散反射率、Ｃsは被写体の鏡面反射率である。これらの反射率は予め一般的な肌の反射率に基づいて設定した値を用いればよい。
【００７４】
次にステップＳ１１０４において、第１補正部１００３は、ストロボ発光画像データから環境光に対応したＷＢ補正画像データを生成する。このとき、環境光に対応したＷＢ補正係数は、ストロボ発光画像データとストロボ光成分とを用いて算出される点が第１の実施形態とは異なる。ストロボ発光画像データ中においてストロボ光の寄与が小さい画素のＲＧＢ値は、環境光を大きく反映した色情報であると考えられる。そこで第２の実施形態の場合、第１補正部１００３は、ストロボ発光画像データからストロボ光成分Ｙs(i,j)が予め定めた閾値以下である画素を抽出する。次いで第１補正部１００３は、これらの画素のＲＧＢ値を平均して、第１の実施形態のステップＳ６０２における平均ＲＧＢ値aveIoffR，aveIoffG，aveIoffBを算出する。第１補正部１００３は、こうして算出した平均ＲＧＢを用いて前述の式（１）〜式（３）に従い算出したＷＢ補正係数を、環境光に対応するＷＢ補正係数とする。ＷＢ補正係数を用いてＷＢ補正画像データを生成する処理は第１の実施形態と同一であるため説明を省略する。
【００７５】
次のステップＳ１１０５とステップＳ１１０６は、それぞれ第１の実施形態のステップＳ６０３とステップＳ６０６と同一であるため説明を省略する。
以上説明した処理制御を行うことで、第２の実施形態の画像処理装置は、ストロボ光源と被写体との位置関係を考慮した、より精度の高いストロボ光成分を算出することができる。また、第２の実施形態の画像処理装置は、ストロボ非発光時の撮像画像データを取得することなく、環境光に対応したＷＢ補正画像データを生成することができる。
【００７６】
なお、本実施形態では、ステップＳ１１０３の式（１７）において反射量を算出する際にフォンの鏡面反射モデルを用いたが、Ｂｌｉｎｎ−ＰｈｏｎｇモデルやＴｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルなど、他の反射モデルを用いてもよい。
また、本実施形態では、被写体距離ＤをＥｘｉｆ情報から取得したが、他の方法で取得してもよい。例えば、予め撮像画像の画角に対する顔領域の大きさと被写体距離とを対応付けたＬＵＴをＲＯＭ９１６に格納しておき、ストロボ発光画像データから検出した顔領域の大きさと撮像画角とを基に、このＬＵＴを参照して被写体距離Ｄが取得されてもよい。なお、撮像画角は焦点距離ｆおよび撮像センササイズ（Ｈ、Ｗ）から算出可能である。
【００７７】
＜その他の実施形態＞
なお、上述した各処理部のうち、第１補正部２０２、第２補正部２０３等については、その代わりとして、機械学習された学習済みモデルを代わりに用いて処理しても良い。その場合には、例えば、その処理部への入力データと出力データとの組合せを学習データとして複数個準備し、それらから機械学習によって知識を獲得し、獲得した知識に基づいて入力データに対する出力データを結果として出力する学習済みモデルを生成する。学習済みモデルは、例えばニューラルネットワークモデルで構成可能である。第１の実施形態の場合、例えば、二つの学習済モデルを用いる。まず、撮像画像を入力データとし、上述の実施形態で説明した環境光に対応したＷＢ補正画像データＩ'1を出力データとして、学習した学習済モデルを第１補正部２０２に用いる。また、撮像画像を入力データとし、上述の実施形態で説明した環境光に対応したストロボ光に対応したＷＢ補正画像データＩ'2を出力データとして、学習した学習済モデルを第２補正部２０３に用いる。このような学習済モデルを用いて、第１補正部２０２は、環境光に応じて撮像画像の色みが補正された補正画像を、第２補正部２０３は、ストロボ光に応じて撮像画像の色みが補正された補正画像を、出力する。
各補正部に適用された学習済みモデルは、前記処理部と同等の処理をするためのプログラムとして、ＣＰＵあるいはＧＰＵなどと協働で動作することにより、前記処理部の処理を行う。なお、上記学習済みモデルは、必要に応じて一定の処理後に更新しても良い。
前述した実施形態では、デジタルカメラ等の撮像装置に画像処理装置が適用された例に挙げたが、撮像装置はデジタルカメラに限定されない。撮像装置は、例えばデジタルカメラ機能を備えたパーソナルコンピュータやタブレット端末、スマートフォン、携帯ゲーム機などの各種情報端末、カムコーダ、車載カメラ、監視カメラ、医療用カメラ、あるいは工業用カメラ等で取得された画像であってもよい。
【００７８】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００７９】
２０１：入力部、２０２：第１補正部、２０３：第２補正部、２０４生成部、２０７：算出部、２０８：合成部、２０９：出力部
【図１】
2020191546.tif 000003
【図２】
2020191546.tif 000004
【図３】
2020191546.tif 000005
【図４】
2020191546.tif 000006
【図５】
2020191546.tif 000007
【図６】
2020191546.tif 000008
【図７】
2020191546.tif 000009
【図８】
2020191546.tif 000010
【図９】
2020191546.tif 000011
【図１０】
2020191546.tif 000012
【図１１】
2020191546.tif 000013
【図１２】
2020191546.tif 000014