(57)【特許請求の範囲】
【請求項１】
画像データにおける、互いに少なくとも一部が異なる複数の領域のそれぞれについて、当該領域の画素毎に法線情報を記録する法線画像データを生成する生成手段と、
生成された複数の法線画像データのそれぞれに対して、少なくとも２つ以上の互いに異なる平滑度のうち何れかの平滑度を設定する設定手段と、
前記設定手段により設定された前記平滑度で、前記複数の法線画像データそれぞれを平滑化する平滑化手段と、
前記平滑化手段により平滑化された前記複数の法線画像データを統合して、前記画像データの画素配置に対応する統合法線画像データを生成する統合手段と、
前記統合法線画像データに基づき、前記画像データに対してライティング処理を行うライティング処理手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記統合手段は、画素毎に前記複数の法線画像データのうち、前記平滑度が相対的に低い法線画像データの法線情報を採用することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記統合手段は、前記平滑度が高い法線画像データから前記複数の法線画像データを順に統合することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記統合手段は、前記複数の法線画像データを複数回の統合処理に分けて統合し、各統合処理の後に、当該統合処理において統合された法線画像データの前記平滑度が高いほど当該統合処理の結果を強く平滑化することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記法線画像データは、少なくとも被写体領域、顔領域、及び顔器官領域のいずれか１つに対応する法線画像データであることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像データに対応する距離画像データを取得する手段をさらに備え、
前記生成手段は、前記距離画像データに基づき、前記被写体領域に対応する前記法線画像データを算出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像データから顔情報を検出する顔検出手段をさらに備え、
前記生成手段は、顔法線モデルを前記顔情報に基づき変形することにより、前記顔領域に対応する法線画像データを算出し、顔器官法線モデルを前記顔情報に基づき変形することにより、前記顔器官領域に対応する法線画像データを算出することを特徴とする請求項５または６に記載の画像処理装置。
【請求項８】
前記平滑度は、前記複数の領域に対応する信頼度に応じて設定されることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記ライティング処理は、新たに光沢を加える処理を含み、前記ライティング処理手段は、前記平滑度に基づき、前記光沢の特性を領域毎に変化させることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
画像データにおける、互いに少なくとも一部が異なる複数の領域のそれぞれについて、当該領域の画素毎に法線情報を記録する法線画像データを生成する生成工程と、
生成された複数の法線画像データのそれぞれに対して、少なくとも２つ以上の互いに異なる平滑度のうち何れかの平滑度を設定する設定工程と、
前記設定工程により設定された前記平滑度で、前記複数の法線画像データそれぞれを平滑化する平滑化工程と、
前記平滑化工程により平滑化された前記複数の法線画像データを統合して、前記画像データの画素配置に対応する統合法線画像データを生成する統合工程と、
前記統合法線画像データに基づき、前記画像データに対してライティング処理を行うライティング処理工程と
を含むことを特徴とする画像処理方法。
【請求項１１】
請求項１０に記載の画像処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像に基づいて所望の照明条件下で撮像したかのような画像を生成する技術に関する。
【背景技術】
【０００２】
写真や映像を撮像する際に、照明は被写体の印象を決める大きな要因の一つである。照明を効果的に配置することで、撮像者の意図に合わせて被写体を立体的に見せることが可能である。しかし、撮像者の意図に反した照明条件で撮像してしまうこともある。例えば、逆光の状態で撮像したため、被写体が暗く写ってしまうことがある。あるいはストロボを用いて被写体に光を照射して撮像をした場合には、陰影が飛ばされ被写体が平坦に見えるような場合もある。これらの撮像画像を補正する方法として、被写体に対応する３Ｄモデルを用いた方法が知られている（特許文献１を参照）。特許文献１では、被写体に対応する３Ｄモデルを用いて所定の仮想照明条件下でＣＧ（コンピュータグラフィックス）のレンダリング処理を行い、撮像画像中の被写体像を、レンダリングしたＣＧ画像と置き換えることで被写体のライティングを変更する。特許文献１に記載の技術では、あらかじめ用意しておいた３Ｄモデルの中から被写体像を置き換えるための３Ｄモデルを決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２６７６６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
撮像画像から撮像者が所望する照明条件下で撮像したかのような別の画像を生成する場合、被写体の姿勢や表情に合わせた陰影を付与した画像が得られることが好ましい。しかしながら特許文献１の方法では以下のような課題がある。例えば、特許文献１のように、被写体の３Ｄモデルを用いてレンダリングした結果と撮像画像中の被写体を置きかえる場合、処理結果中の被写体の姿勢や表情が、あらかじめ用意した３Ｄモデルの姿勢や表情に置き換わってしまい不自然な結果となってしまう。また、仮に様々な姿勢や表情に対応するためには、各姿勢と表情の組み合わせ分だけの３Ｄモデルを予め用意しておく必要がある。この場合、３Ｄモデルのデータ量が膨大になる上、膨大な量の３Ｄモデルから適切なモデルを選択するのも困難になる。
【課題を解決するための手段】
【０００５】
本発明に係る画像処理装置は、画像データにおける、互いに少なくとも一部が異なる複数の領域のそれぞれについて、当該領域の画素毎に法線情報を記録する法線画像データを生成する生成手段と、生成された複数の法線画像データのそれぞれに対して、少なくとも２つ以上の互いに異なる平滑度のうち何れかの平滑度を設定する設定手段と、前記設定手段により設定された前記平滑度で、前記複数の法線画像データそれぞれを平滑化する平滑化手段と、前記平滑化手段により平滑化された前記複数の法線画像データを統合して、前記画像データの画素配置に対応する統合法線画像データを生成する統合手段と、前記統合法線画像データに基づき、前記画像データに対してライティング処理を行うライティング処理手段とを有することを特徴とする。
【発明の効果】
【０００６】
本発明は、撮像画像に基づいて、所望の照明条件下で撮像したかのような自然な画像を生成することができる。
【図面の簡単な説明】
【０００７】
【図１】実施形態１に係る撮像装置の外観を示す図である。
【図２】実施形態１における撮像装置の内部構成を示すブロック図である。
【図３】実施形態１における画像処理部の機能構成を示すブロック図である。
【図４】実施形態１における画像処理部の処理の流れを示すフローチャートである。
【図５】実施形態１におけるカラー画像データ及び距離画像データの例を示す図である。
【図６】実施形態１における顔情報の例を示す図である。
【図７】実施形態１における被写体抽出処理の流れを示すフローチャートである。
【図８】実施形態１における被写体抽出処理の概要を示す図である。
【図９】実施形態１における法線画像データ生成処理の流れを示すフローチャートである。
【図１０】実施形態１における被写体領域についての法線画像データ生成処理の流れを示すフローチャートである。
【図１１】実施形態１における被写体領域についての法線画像データ生成処理の概要を示す図である。
【図１２】実施形態１における顔・顔器官領域についての法線画像データ生成処理の流れを示すフローチャート。
【図１３】実施形態１における顔・顔器官領域についての法線画像データ生成処理の概要を示す図である。
【図１４】実施形態１における法線画像データ統合処理の流れを示すフローチャートである。
【図１５】実施形態１における法線画像データ統合処理の概要を示す図である。
【図１６】実施形態１において平滑度が異なる法線画像データを統合する処理の概要を示す図である。
【図１７】実施形態１におけるライティング処理の概要を示す図である。
【図１８】実施形態１におけるライティング処理の効果を示す図である。
【図１９】実施形態２における平滑度設定処理の流れを示すフローチャートである。
【図２０】実施形態２における法線画像データ統合処理の概要を示す図である。
【図２１】実施形態３における法線画像データ統合処理の流れを示すフローチャートである。
【図２２】実施形態３における平滑度マップ生成処理の概要を示す図である。
【図２３】実施形態３におけるライティング処理の概要を示す図である。
【図２４】実施形態３におけるライティング処理の効果を示す図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【０００９】
［実施形態１］
＜撮像装置の外観＞
図１は本実施形態に係る撮像装置の外観を示す図である。本実施形態では撮像装置を構成する一例として、デジタルカメラを示すが、本実施形態に適用可能な撮像装置は、これに限るものではない。例えば、携帯電話やタブレットデバイス、パーソナルコンピュータなどの情報処理装置であっても良いし、カメラ付き携帯電話等の撮像装置として構成されていても良い。図１（ａ）は撮像装置の前面、図１（ｂ）は背面の外観を示している。撮像装置１０１は、光学部１０２、撮像ボタン１０３、ストロボ１０４、距離取得部１０５、表示部１０６、及び操作ボタン１０７を有している。
【００１０】
光学部１０２はズームレンズ、フォーカスレンズ、ブレ補正レンズ、絞り、及びシャッターによって構成される鏡筒であり、被写体の光情報を集光する。撮像ボタン１０３は、ユーザが撮像の開始を撮像装置１０１に指示するためのボタンである。ストロボ１０４は、ユーザ指示に従い撮像の開始に合わせて発光させることができる照明である。
【００１１】
距離取得部１０５は、撮像指示に応じて撮像装置１０１を基準とする被写体の距離画像データを取得する距離取得モジュールである。距離画像データとは、画像の各画素の画素値としてその画素に対応する被写体距離を格納した画像データのことを意味する。本実施形態において、距離画像データを構成する画素（ｉ，ｊ）には画素値として撮像装置１０１を基準とする各被写体の座標値が格納されているものとする。すなわち、距離画像データにおける画素値Ｄ（ｉ，ｊ）は、ｘ（ｉ，ｊ）、ｙ（ｉ，ｊ）、ｚ（ｉ，ｊ）によって表される。ここでｘ軸は撮像装置１０１に対して水平な方向、ｙ軸は撮像装置１０１に対して垂直な方向、ｚ軸は撮像装置１０１の光軸方向とする。
【００１２】
本実施形態において距離取得部１０５は、赤外光を発光する赤外発光部と、被写体に反射した赤外光を受光する受光部とを含み、発光した赤外光が被写体に反射し受光するまでの時間に基づき撮像装置から被写体までの距離値を算出する。そして、算出した距離値と受光部のセンサ画素数や画角等を含む距離撮像情報に基づき被写体の位置情報を算出し、距離画像データを生成する。なお、距離取得部１０５は上記構成に限らず、距離画像データを取得できる構成であればよい。例えば距離取得部１０５は、光学部１０２と同様の光学系を設け、異なる２つの視点から撮像された画像データの間の視差に基づいて、三角測量を行うことにより距離画像データを取得するようにしてもよい。
【００１３】
表示部１０６は、液晶ディスプレイなどが用いられており、撮像装置１０１にて処理された画像データや他の各種データなどを表示する。本実施形態では撮像装置１０１に光学ファインダを設けていないので、フレーミング操作（ピントや構図の確認）は、表示部１０６を用いて行われる。すなわち、ユーザは表示部１０６が表示するライブビュー画像を確認しながら撮像を行うので、このフレーミングやフォーカシングの操作を行っている間は、表示部１０６は電子ファインダとして機能すると言える。表示部１０６では、撮像範囲をリアルタイムに表示するライブビュー表示が行われる他、カメラ設定メニューが表示される。
【００１４】
操作ボタン１０７は、撮像装置１０１の動作モードの切り換え操作や、撮像時の各種パラメータなどをユーザが撮像装置１０１に指示するためのボタンである。なお、本実施形態では動作モードの１つとして、撮像された画像における照明の当たり具合を撮像後に補正するライティング処理モードが含まれる。ユーザは操作ボタン１０７、あるいは撮像ボタン１０３を用いてライティング処理モードへの切り替えや、ライティング処理に用いる仮想照明の照明パラメータの設定や、被写体領域の選択などを行うことができる。また、ユーザは補正された画像データを出力する際に距離画像データを出力するか否かの指示をすることもできるものとする。なお、表示部１０６はタッチスクリーン機能を有していても良く、その場合はタッチスクリーンを用いたユーザ指示を操作ボタン１０７の入力として扱うことも可能である。
【００１５】
＜撮像装置の内部構成＞
図２は本実施形態における撮像装置１０１の内部構成を示すブロック図である。ＣＰＵ２０２は、各構成の処理すべてに関わり、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３や、ＲＡＭ（Ｒｏｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０４に格納された命令を順に読み込み、解釈し、その結果に従って処理を実行する。システムバス２１２はデータを送受信するためのバスである。なお、本実施形態において、ＲＯＭ２０３には、顔法線モデル及び顔器官法線モデルが格納されているものとする。顔法線モデルは、所定の形状の顔に対応する、顔表面の法線ベクトルを画素値として格納した法線画像データと、法線画像データにおける目・鼻・口などの器官位置を示す器官位置情報とを含む。顔器官法線モデルは、目・鼻・口などの顔器官領域に対応する法線ベクトルを画素値として格納した法線画像データと、法線画像データ中の器官位置を示す器官位置情報とを含む。
【００１６】
制御部２０６は、撮像ボタン１０３や操作ボタン１０７からのユーザ指示によって、撮像、ライティング処理モードの切り換え、被写体領域の選択、照明パラメータの設定、距離画像データ出力モードの切り替えなどの制御を行う。本実施形態において制御部２０６は、ユーザ指示に応じてフラグＳＷ１およびＳＷ２を制御する。フラグＳＷ１は、ライティング処理を有効にするように指示された場合にＯＮ、ライティング処理を無効にするように指示された場合にＯＦＦとする。フラグＳＷ２は、距離画像データの出力を行うように指示された場合にＯＮ、距離画像データの出力を行わないように指示された場合にＯＦＦとする。実際にはＳＷ１及びＳＷ２はそれぞれＲＡＭ２０４内のビット信号であり、ビットが０の状態をＯＦＦ、ビットが１の状態をＯＮとし、制御部２０６はこれらビットの状態を切り替える。
【００１７】
光学系制御部２０５は光学部１０２に対して、フォーカスを合わせる、シャッターを開く、絞りを調整するなどのＣＰＵ２０２から指示された制御を行う。カラー撮像素子部２０１は、光学部１０２にて集光された光情報を電流値へと変換する撮像素子群と、ベイヤ配列などの所定の配列を有するカラーフィルタとを備え、光学部１０２にて集光された光から被写体の色情報を取得する。Ａ／Ｄ変換部２０８は、カラー撮像素子部２０１で取得された被写体の色情報をデジタル信号値に変換してＲＡＷ画像データを生成する。なお、本実施形態では同時刻に撮像した距離画像データとＲＡＷ画像データが取得可能であるとする。
【００１８】
画像処理部２０９はＡ／Ｄ変換部２０８で生成されたＲＡＷ画像データに対して現像処理を行い、カラー画像データを生成する。また、画像処理部２０９はカラー画像データに対して各種画像処理を行う。本実施形態において、画像処理部２０９はカラー画像データ及び距離画像データに基づいて、カラー画像データに仮想的な光源を加えるライティング処理を行い、ライティング補正画像データを生成する。画像処理部２０９の機能構成は後に詳述する。
【００１９】
また、キャラクタージェネレーション部２０７は文字やグラフィックなどを生成する。キャラクタージェネレーション部２０７により生成された文字やグラフィックは、画像処理部２０９で生成されたライティング補正画像データなどに重畳して表示部１０６に表示される。エンコーダ部２１０は、画像処理部２０９が処理したカラー画像データやライティング処理によって生成されるライティング補正画像データを含む各種画像データをＪｐｅｇなどのファイルフォーマットに変換する処理を行う。メディアＩ／Ｆ２１１は、ＰＣ／メディア２１３（例えば、ハードディスク、メモリカード、ＣＦカード、ＳＤカードなど）に画像データを送受信するためのインタフェースである。メディアＩ／Ｆ２１１としては、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などが用いられる。
【００２０】
＜画像処理部の機能構成＞
図３は本実施形態における画像処理部２０９の機能構成を示すブロック図である。現像処理部３０１は、Ａ／Ｄ変換部２０８からＲＡＷ画像データを取得する。そして、ＲＡＭ画像データに対してホワイトバランス処理、デモザイク処理、ノイズリダクション処理、色変換処理、エッジ強調処理及びガンマ処理等を施し、カラー画像データを生成する。生成したカラー画像データは表示部１０６へ出力して表示したり、ＲＡＭ２０４、ＰＣ／メディア２１３などの記憶装置に記憶したりすることができる。なお、現像処理部３０１が施す処理は、上記の処理に限らず、必要不要に応じて処理の重複、増減があっても良い。本実施形態では、現像処理部３０１はガンマ処理を施さずにカラー画像データを生成し、ライティング処理部３０８に出力する。
【００２１】
顔検出部３０２は、現像処理部３０１で生成されたカラー画像データから被写体の顔情報を検出する。被写体の顔情報には、少なくともカラー画像データにおいて被写体の顔が占める領域を示す顔領域と、顔に含まれる目や口などのカラー画像データにおける位置を示す器官位置とに関する情報が含まれる。
【００２２】
被写体抽出部３０３は、カラー画像データ、顔情報、ユーザにより選択された被写体位置に基づいて、距離画像データから被写体領域を抽出し、被写体領域に対応する被写体距離画像データを生成する。本実施形態において、被写体距離画像データは、主に選択された被写体位置に対応した人物に対応する距離値を格納しているものとする。なお、被写体位置はユーザにより選択されず、顔情報に基づいて自動的に決定しても構わない。複数の顔情報が含まれる場合は、より手前に位置する顔を優先するなどしても良い。
【００２３】
法線生成部３０４は、被写体抽出部３０３で生成された被写体距離画像データに基づいて被写体領域の画素ごとの法線ベクトルを推定し、被写体領域に対応する被写体法線画像データを生成する。また、法線生成部３０４は、顔検出部３０２で検出された顔情報と、現像処理部３０１で生成されたカラー画像データとに基づいて、ＲＯＭ２０３に格納された顔法線モデル及び顔器官法線モデルを変形する。これにより、顔領域及び顔器官領域それぞれに対応する顔法線画像データ及び複数の顔器官法線画像データを生成する。
【００２４】
法線統合部３０５は、法線生成部３０４で生成された被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データを統合し、統合法線画像データを生成する。この際、現像処理部３０１で生成されたカラー画像データに基づいて、平滑化処理を行う。
【００２５】
照明パラメータ設定部３０７は、制御部２０６から得られるユーザ操作に基づいて、照明パラメータを設定する。本実施形態における照明パラメータは、照明の位置、姿勢、強度、光源色などを含む。
【００２６】
ライティング処理部３０８は、カラー画像データに対して仮想的な光源を加えるライティング処理を行い、ライティング補正画像データを生成する。ライティング処理は、被写体抽出部３０３で生成された被写体距離画像データと、法線統合部３０５で生成された統合法線画像データと、照明パラメータ設定部３０７で設定された照明パラメータとに基づいて行われる。ライティング処理により生成されたライティング補正画像データはＲＡＭ２０４やＰＣ／メディア２１３などの記憶装置に出力して記憶したり、表示部１０６へ出力して表示したりすることができる。なお、ライティング補正画像データを出力する前にガンマ処理などの色処理を行っても構わない。
【００２７】
＜画像処理部の処理フロー＞
図４は本実施形態の画像処理装置における画像処理部２０９の処理の流れを示すフローチャートである。本実施形態では、カラー画像データから検出された顔情報に基づき、距離画像データから被写体領域を抽出し、被写体距離画像データを生成する。次に、被写体距離画像データに基づいて被写体領域の画素毎の法線ベクトルを推定し、被写体領域に対応する被写体法線画像データを生成する。また、顔情報、顔法線モデル、及び顔器官法線モデルに基づき顔領域及び顔器官領域それぞれに対応する顔法線画像データ及び顔器官法線画像データを生成する。そして、被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データを統合し、カラー画像データの画素配置に対応する統合法線画像データを生成する。その後、ユーザ操作によって設定された照明パラメータ、被写体距離画像データ及び統合法線画像データに基づき、カラー画像データに仮想光源を追加するライティング処理を行い、ライティング補正画像データを生成する。以下、画像処理部２０９が行う処理の詳細について述べる。
【００２８】
ステップＳ４０１において、現像処理部３０１がＡ／Ｄ変換部２０８から取得したＲＡＷ画像データに基づきカラー画像データを生成する。本実施形態では、ＲＡＷ画像データに対してホワイトバランス処理、デモザイク処理、ノイズリダクション処理、色変換処理、及びエッジ強調処理等を施して、カラー画像データを生成する。本実施形態におけるカラー画像データの例を図５（ａ）に示す。カラー画像データ５０１の画素（ｉ，ｊ）にはＲＧＢ値が画素値として格納されているものとし、それぞれＩｒ（ｉ，ｊ）、Ｉｇ（ｉ，ｊ）、Ｉｂ（ｉ，ｊ）と表すものとする。なお、カラー画像データの取得方法はこれに限るものではない。例えば、ＲＡＭ２０４やＰＣ／メディア２１３に記憶されているＲＡＷ画像データを取得し現像処理部３０１がカラー画像データを生成してもよい。あるいは、ＲＡＭ２０４やＰＣ／メディア２１３に記憶されているカラー画像データを取得してもよい。
【００２９】
ステップＳ４０２において、被写体抽出部３０３が距離取得部１０５から距離画像データを取得する。本実施形態における距離画像データの例を図５（ｂ）に示す。距離画像データ５０２の画素（ｉ，ｊ）には画素値Ｄ（ｉ，ｊ）としてその画素に対応する撮像装置から被写体までの距離値を格納しているものとする。なお、距離画像データの取得方法はこれに限るものではない。例えば、ＲＡＭ２０４やＰＣ／メディア２１３に記憶されている距離画像データを取得してもよい。
【００３０】
ステップＳ４０３において、ライティング処理部３０８がＲＡＭ２０４からＳＷ１の状態を取得する。そして、ＳＷ１の状態に基づいてライティング処理を行うか否かの判定処理を行う。ＳＷ１がＯＦＦの場合はライティング処理を行わないと判定され、処理はＳ４０４に進む。ＳＷ１がＯＮの場合は、ライティング処理を行うと判定され、処理はテップＳ４０５に進む。
【００３１】
ステップＳ４０４において、ライティング処理部３０８がＲＡＭ２０４からＳＷ２の状態を取得する。そして、ＳＷ２がＯＦＦの場合はカラー画像データのみを、ＳＷ２がＯＮの場合はカラー画像データと距離画像データをＰＣ／メディア２１３に出力し記録する。あるいは、表示部１０６に出力し表示することによりユーザが画像データを確認できるようにすると良い。その後、処理を終了する。
【００３２】
ステップＳ４０５において、顔検出部３０２がカラー画像データ５０１に基づき、カラー画像データに撮像された被写体のうち、顔領域を識別可能な顔情報を取得する。取得された顔情報の例を図６に示す。本実施形態における顔情報は、顔領域６０１及び器官位置６０２を含む。顔領域６０１は、顔の各器官位置を含む領域であり、例えば図６に示すような矩形領域として抽出される。器官位置６０２は、顔領域内における目、鼻、口などの位置を示す座標を表す。顔領域、器官位置の抽出方法については既存のアルゴリズムが適用可能である。例として、テンプレートマッチングを用いたアルゴリズムや、Ｈａａｒ−Ｌｉｋｅ特徴量を用いたアルゴリズムなどが挙げられる。
【００３３】
本実施形態では、テンプレートマッチングによって顔領域・器官位置を抽出する。まず、顔検出部３０２は、カラー画像データに対して閾値処理を行い、肌色の領域を顔候補領域として抽出する。そして、顔検出部３０２は、様々な大きさの顔画像テンプレートを用いて顔候補領域に対してマッチング処理を行い、尤度を算出する。最後に、顔検出部３０２は、尤度に基づき、顔領域であるか否かの判定処理を行い、顔領域を抽出する。器官位置についても、抽出された顔領域に対して目、鼻、口画像テンプレートを用いて同様の抽出処理を行う。以上の処理により顔領域６０１、器官位置６０２を取得する。
【００３４】
ステップＳ４０６において、被写体抽出部３０３が顔検出部３０２で検出された顔領域６０１とカラー画像データとに基づき距離画像データから被写体領域を抽出し、被写体領域に対応する被写体距離画像データを生成する。複数の顔領域が含まれる場合は、制御部２０６から取得されるユーザ操作に基づいて対象とする被写体の顔領域を選択する。本ステップの被写体抽出処理の詳細については後述する。
【００３５】
ステップＳ４０７において、法線生成部３０４がカラー画像データにおける被写体領域、顔領域、及び顔器官領域それぞれに対応する被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データを生成する。被写体法線画像データは、被写体抽出部３０３で生成された被写体距離画像データに基づいて被写体領域の画素ごとの法線ベクトルを推定することで生成する。顔法線画像データ、顔器官法線画像データは顔情報及びカラー画像データに基づいて、ＲＯＭ２０３等から取得した顔法線モデル、顔器官法線モデルを変形することで生成する。そして、各法線画像データに対して平滑度を設定する。本ステップの法線画像データ生成処理の詳細については後述する。
【００３６】
ステップＳ４０８において、法線統合部３０５が法線生成部３０４で生成された被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データを統合し、カラー画像データの画素配置に対応する統合法線画像データを生成する。この際、ステップＳ４０７で設定された平滑度に基づいて、平滑度の高い法線画像データから順に平滑化処理と統合処理を繰り返す。本ステップの法線画像データ統合処理の詳細については後述する。
【００３７】
ステップＳ４０９において、照明パラメータ設定部３０７が制御部２０６から取得したユーザ操作に基づいて照明パラメータを設定する。本実施形態における照明パラメータは、照明の位置、姿勢、強度、光源色などを含む。また、本実施形態において、ユーザは表示部１０６に表示されたプレビュー画像を観察しながら、照明パラメータを設定するための操作を行うことができるものとする。プレビュー画像は、ステップＳ４０１で取得されたカラー画像データに基づいて初期化され、後続するステップＳ４１０のライティング処理によって生成されたライティング補正画像データに基づいて更新されるものとする。これにより、ユーザは、例えばプレビュー画像上の所望の位置を選択することで、選択した位置に照明を移動させることができる。
【００３８】
ステップＳ４１０において、ライティング処理部３０８が被写体距離画像データと統合法線画像データと照明パラメータに基づいて、カラー画像データに対して仮想的な照明を加えるなどのライティング処理を行い、ライティング補正画像データを生成する。本ステップのライティング処理の詳細については後述する。
【００３９】
ステップＳ４１１において、ライティング処理部３０８が制御部２０６から取得したユーザ操作に基づき、ライティング処理を終了するかを判定する。ここで、表示部１０６に表示されるプレビュー画像はステップＳ４１０で生成されたライティング補正画像データに基づいて更新される。ユーザは更新されたプレビュー画像に満足した場合に、ライティング処理を終了するための操作を行う。ライティング処理を終了すると判定される場合に、処理はＳ４１２へ進む。ライティング処理を終了しないと判定される場合に、再び光源パラメータの設定が行われるよう、処理はＳ４０９へ進む。
【００４０】
ステップＳ４１２において、ライティング処理部３０８がＲＡＭ２０４からＳＷ２の状態を取得する。そして、ＳＷ２がＯＦＦの場合はライティング補正画像データとカラー画像データを、ＳＷ２がＯＮの場合はライティング補正画像データとカラー画像データと距離画像データをＰＣ／メディア２１３に出力し記録する。その後、処理を終了する。
【００４１】
＜被写体抽出処理＞
ここでは、ステップＳ４０６で被写体抽出部３０３が行う被写体抽出処理について説明する。図７は本実施形態における被写体抽出処理の流れを示すフローチャートである。本実施形態における被写体抽出処理は、顔情報に基づき距離画像データから被写体候補領域を抽出した後、被写体候補領域を補正することにより、被写体領域のみに距離値が格納された被写体距離画像データを生成する。以下、被写体抽出処理の詳細について述べる。
【００４２】
ステップＳ７０１において、被写体抽出部３０３が顔情報に基づき距離画像データから被写体候補領域を抽出する。図８（ａ）、（ｂ）を参照して本ステップの処理を説明する。まず、図８（ａ）に示すように顔領域６０１に含まれる各画素の距離値を距離画像データ５０２から取得し、それらの平均値を被写体顔距離値として算出する。その後、被写体顔距離値に近い距離値を持つ画素を、距離画像データに対して閾値処理を施すことによって抽出する。これにより、被写体候補領域の画素値を１、その他の領域の画素値を０とする二値画像８０１を生成する。生成された二値画像８０１及び抽出された被写体候補領域８０２の例は図８（ｂ）に示す。
【００４３】
ステップＳ７０２において、被写体抽出部３０３が二値画像８０１に対して小成分除去処理や穴埋め処理を施すことにより被写体候補領域８０２に含まれる小さな連結成分を除去したり、穴を埋めたりする整形処理を行う。小成分除去処理・穴埋め処理としては、モルフォロジ演算を用いた方法やラベリング処理を利用した方法などが適用可能である。ここではモルフォロジ演算を用いた方法を利用する。小成分除去処理としては、二値画像８０１に含まれる被写体候補領域８０２に対してオープニング処理を行う。その後の穴埋め処理としては、被写体候補領域に対してクロージング処理を行う。これにより、被写体領域の画素値を１、それ以外の領域（背景領域）の画素値を０とする二値画像８０３を生成する。生成された二値画像８０３及び被写体領域８０２′の例は図８（ｃ）に示す。そして、二値画像８０３に基づき距離画像データ５０２から被写体領域８０２′に対応する被写体距離画像データ８０４を抽出する。以上の処理により、主に手前の被写体とそれ以外の背景に分割され、被写体領域のみに距離値が格納された被写体距離画像データ８０４を取得する。
【００４４】
＜法線画像データ生成処理＞
ここでは、ステップＳ４０７で法線生成部３０４が行う法線画像データ生成処理について説明する。本実施形態における法線画像データ生成処理は、カラー画像データにおける被写体領域、顔領域、及び顔器官領域それぞれに対応する被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データを生成する。図９は、本実施形態における法線画像データ生成処理の流れを示すフローチャートである。
【００４５】
ステップＳ９０１において法線生成部３０４は、被写体抽出部３０３で生成された被写体距離画像データに基づき被写体領域の画素毎の法線ベクトルを推定し、被写体領域に対応する被写体法線画像データを生成する。法線生成部３０４は、撮像装置から見た被写体領域（背景と被写体との境界）に合わせて、被写体領域の画素毎の法線ベクトルを推定する。本ステップの被写体領域についての法線画像データ生成処理の詳細については後述する。
【００４６】
ステップＳ９０２において法線生成部３０４は、ＲＯＭ２０３等から顔法線モデル及び顔器官法線モデルを取得する。そして、顔情報及びカラー画像データに基づき、顔法線モデル、顔器官法線モデルをそれぞれ変形することで顔法線画像データ、顔器官法線画像データを生成する。本ステップの顔・顔器官領域についての法線画像データ生成処理の詳細については後述する。
【００４７】
ステップＳ９０３において法線生成部３０４は、被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データに対して平滑度を設定する。ここでは、撮像画像中の被写体の形状との形状ずれや位置ずれが小さい法線画像データほど平滑度を低く設定する。被写体の形状との形状ずれが大きい法線画像データや、被写体に対して位置合わせしにくい法線画像データに対しては平滑度を高く設定する。後に行う平滑化処理では、設定した平滑度に基づきフィルタサイズを変更することで平滑化処理の強さを変える。本実施形態では、被写体領域の法線情報は、距離情報から抽出した被写体領域に基づき生成したものであり、被写体の概略形状を表したものである。このため、モデルに基づいて生成した法線画像データに比べ形状ずれが大きい。また、被写体の顔領域、被写体の顔器官領域はそれぞれのモデルに基づいて、各法線画像データを生成する。このとき、モデルとなる対象領域（パーツ）が小さいほど、被写体に対する位置ずれが小さい。例えば、顔をモデルにした顔法線モデルに基づいて生成される法線画像データは、顔領域全体のうち、顔器官の位置情報に基づいて被写体とモデルとの位置合わせを行う。このため、顔の輪郭など顔器官以外の領域は被写体との位置ずれが生じやすい。一方、目をモデルとした法線モデルに基づいて生成される法線画像データは、目として抽出された領域において、実際の被写体の目と位置合わせをしやすい。そこで本実施形態では下記のように平滑度を高・中・低の三段階に設定するものとする。本実施形態における被写体法線画像データは、平滑度を高とする。本実施形態における顔法線画像データの平滑度は中とする。本実施形態における顔器官法線画像データの平滑度は低とする。
【００４８】
＜＜被写体領域についての法線画像データ生成処理＞＞
ここでは、ステップＳ９０１で法線生成部３０４が行う被写体領域についての法線画像データ生成処理の詳細を説明する。本実施形態における被写体領域についての法線画像データ生成処理は、被写体距離画像データに基づき被写体領域に対応する被写体法線画像データを生成する。図１０に被写体領域についての法線画像データ生成処理の流れを示す。
【００４９】
ステップＳ１００１において法線生成部３０４は、被写体距離画像データ８０４に対して閾値処理を行うことで、被写体領域と背景領域からなる二値画像データ１１０１を生成する。例えば、被写体領域の画素値を２５５、背景領域の画素値を０とする二値画像データ１１０１を生成すれば良い。本ステップで生成された二値画像データ１１０１の例は図１１（ａ）に示す。
【００５０】
ステップＳ１００２において法線生成部３０４は、ステップＳ１００１で生成された二値画像データ１１０１に対して収縮処理を適用する。例えば、Ｅｒｏｓｉｏｎにより被写体領域のうち背景領域からの距離がｒ１以下の画素の画素値を０とすればよい。収縮処理を適用した結果である二値画像データ１１０２の例を図１１（ｂ）に示す。
【００５１】
ステップＳ１００３において法線生成部３０４は、ステップＳ１００２で生成された二値画像データ１１０２に対して平滑化処理を適用する。例えば、半径ｒ２のガウシアンフィルタなどを適用すればよい。平滑化処理を適用した結果である画像データ１１０３の例を図１１（ｃ）に示す。
【００５２】
ステップＳ１００４において法線生成部３０４は、ステップＳ１００３で生成された画像データ１１０３に基づき画素毎の法線ベクトルを算出する。ここでは、画像データ１１０３の画素値を距離値として扱い、この距離値と画像データ１１０３の画素の２次元的な座標値とに基づき、画素毎に３次元的な座標値を算出する。そして、３次元的な座標値に基づき、画素毎に対応する法線ベクトルを推定する。法線ベクトルの推定方法としては、３次元的な座標値から算出した勾配に基づいて算出する方法や、画素毎に平面を当てはめその垂線を法線ベクトルとする方法などが適用可能である。本実施形態では、注目画素の近傍領域に当てはめた平面に垂直なベクトルを法線ベクトルとして算出する。その手順を以下に述べる。
【００５３】
法線ベクトルを算出する注目画素とその近傍画素の３次元的な座標値を（ｘ0、ｙ0、ｚ0）、・・・、（ｘn-1，ｙn-1，ｚn-1）とする。なお、ｘ座標値は画像データ１１０３の２次元的な座標値の水平方向の座標値に基づいて求め、ｙ座標値は画像データ１１０３の２次元的な座標値の垂直方向の座標値に基づいて求める。また、ｚ座標値は画像データ１１０３の画素値に基づいて求める。これらの座標値に対して平面ａｘ＋ｂｙ＋ｃ＝ｚを当てはめる。具体的には、ｚ軸方向の距離を利用し下記の式（１）に示す関数が最小になるようなａ、ｂ、ｃを求めればよい。
【００５４】
【数１】
0006685827.tif 000002
【００５５】
この時、ａ、ｂ、ｃは下記の式（２）で算出できる。
【００５６】
【数２】
0006685827.tif 000003
【００５７】
また、平面ａｘ＋ｂｙ＋ｃ＝ｚに垂直なベクトルｎ＝（ｎx、ｎy、ｎz）は下記の式（３）のように算出できる。
【００５８】
【数３】
0006685827.tif 000004
【００５９】
上記で算出したベクトルを注目画素に対応する法線ベクトルとする。同様の処理を画像データ１１０３の各画素で行い、画像データ中の画素について法線ベクトルを求めることで法線画像データ１１０４を生成する。法線画像データは、画素（ｉ，ｊ）に法線ベクトル（ｎx（ｉ，ｊ）、ｎy（ｉ，ｊ）、ｎz（ｉ，ｊ））を格納した画像データである。算出した法線画像データ１１０４の例を図１１（ｄ）に示す。
【００６０】
ステップＳ１００５において法線生成部３０４は、ステップＳ１００４で生成された法線画像データ１１０４に対して、ステップＳ１００１で算出された二値画像データ１１０１を参照しつつ平滑化処理を適用する。例えば、平滑化処理として、二値画像データ１１０１を参照画像とするジョイントバイラテラルフィルタを適用すればよい。平滑化処理を適用した後、画素毎に法線ベクトルの大きさが１になるように正規化を行う。以上の処理により図１１（ｅ）に示すような被写体法線画像データ１１０５を生成する。
【００６１】
なお、ステップＳ１００３で使用される半径ｒ２はステップＳ１００２で使用されるｒ１と同じ値または近い値とすることが望ましい。これにより、被写体領域のみに傾きのある法線ベクトルを与えることができる。
【００６２】
＜＜顔・顔器官領域についての法線画像データ生成処理＞＞
ここでは、ステップＳ９０２で法線生成部３０４が行う顔・顔器官領域についての法線画像データ生成処理の詳細を説明する。本実施形態における顔・顔器官領域についての法線画像データ生成処理は、顔情報及びカラー画像データに基づき、顔法線モデル、顔器官法線モデルを変形することで顔法線画像データ、顔器官法線画像データを生成する。図１２に顔・顔器官領域についての法線画像データ生成処理の流れを示す。
【００６３】
ステップＳ１２０１において法線生成部３０４は、顔法線モデルをカラー画像データ中の被写体に合わせて変形するための顔用変形パラメータの算出を行う。変形パラメータはカラー画像データ中に含まれる被写体の器官位置６０２と、顔法線モデルに含まれる顔法線器官位置に基づいて求める。
【００６４】
本実施形態における、顔法線モデル及び顔法線器官位置の例を図１３（ａ）に示す。顔法線モデル１３０１は一般的な顔形状に基づいて作成した顔の法線情報を画素値として持つ画像データである。顔に対応する画素（ｉ，ｊ）には画素値として法線ベクトルの各要素が格納されている。顔以外の画素については法線ベクトルがないことを示す値が格納されており、これにより画素値に基づいて顔と顔以外の領域との判定ができるようになっている。また、顔法線モデル１３０１は、目、鼻、口などの顔器官に対応する顔法線器官位置１３０２も持っている。顔法線モデルの変形方法としてはアフィン変換や、射影変換等が適用可能である。本実施形態では、下記の式（４）に示すアフィン変換により顔法線モデル１３０１を変形するものとする。
【００６５】
【数４】
0006685827.tif 000005
【００６６】
変形パラメータ（ａ0，ａ1，ａ2，ａ3，ａ4，ａ5）は、器官位置６０２と顔法線器官位置１３０２の右目、左目、鼻、口の座標をそれぞれ対応付け、最小二乗法などを利用することにより算出可能である。以上の処理により、顔法線モデルを変形するための顔用変形パラメータを取得する。
【００６７】
ステップＳ１２０２において法線生成部３０４は、顔器官法線モデルをカラー画像データ中の被写体に合わせて変形するための顔器官用変形パラメータの算出を行う。図１３（ｃ）に、顔器官法線モデルの例を示す。顔器官法線モデルは、顔器官領域のみの法線情報を画素値として持つ画像データである。本実施形態では顔器官法線モデル１３０３、１３０４、１３０５、１３０６はそれぞれ右目、左目、鼻、口に対応する顔器官法線モデルである。また、顔器官法線モデルの画像サイズは、顔法線モデルの画像サイズと等しいものとし、顔器官領域は顔法線器官位置１３０２の周辺領域とする。
【００６８】
顔器官法線モデルを変形するための顔器官用変形パラメータは器官位置６０２と顔法線器官位置１３０２とに基づき、ステップＳ１２０１で算出した顔用変形パラメータを補正することで算出する。具体的には、変形後の顔法線器官位置１３０２が器官位置６０２と一致するように、顔用変形パラメータの平行移動成分であるａ2，ａ5を補正して、ａ′2，ａ′5を算出する。顔器官法線モデルは補正した変形パラメータ（ａ0，ａ1，ａ′2，ａ3，ａ4，ａ′5）を用いた下記の式（５）に従い変形する。
【００６９】
【数５】
0006685827.tif 000006
【００７０】
以上の処理により、右目、左目、鼻、口の各顔器官に対して行うことで、各顔器官法線モデルに対応する顔器官用変形パラメータを取得する。年齢・性別・個人差などにより、被写体によって目・鼻・口の配置は若干異なる。本実施形態のように顔器官毎に変形パラメータを変えて位置合わせを行うことにより、様々な被写体に対して正しい器官位置に法線情報を当てはめることができる。
【００７１】
ステップＳ１２０３において法線生成部３０４は、顔用変形パラメータに基づき顔法線モデルを変形することで、顔法線画像データを生成し、顔器官用変形パラメータに基づき顔器官法線モデルを変形することで、顔器官法線画像データを生成する。図１３（ｃ）に示すように、顔法線モデル１３０１、顔器官法線モデル１３０３〜１３０６を変形することで、顔法線画像データ１３０７及び顔器官法線画像データ１３０８〜１３１１を生成する。顔法線画像データ１３０７では顔領域以外は法線情報がないことを示す値が画素値として格納される。また、顔器官法線画像データ１３０８〜１３１１では顔器官領域以外は法線情報がないことを示す値が画素値として格納される。
【００７２】
＜法線画像データ統合処理＞
ここでは、ステップＳ４０８で法線統合部３０５が行う法線画像データ統合処理について説明する。本実施形態における法線画像データ統合処理は、法線統合部３０５が法線生成部３０４から取得した被写体法線画像データ、顔法線画像データ、及び顔器官法線画像データを統合し、カラー画像データの画素配置に対応する統合法線画像データを生成する。また、本実施形態では、各法線画像データの平滑度に基づき、法線画像データ統合処理を複数回に分けて行う図１４は、法線画像データ統合処理の流れを示すフローチャートである。
【００７３】
ステップＳ１４０１において法線統合部３０５は、平滑度が等しい法線画像データを統合する。本実施形態では平滑度が高の法線画像データを統合したものを高平滑度法線画像データ１５０１とする。また、平滑度が中の法線画像データを統合したものを中平滑度法線画像データ１５０２、平滑度が低の法線画像データを統合したものを低平滑度法線画像データ１５０３とする。
【００７４】
ステップＳ１４０１の処理の具体例を図１５に示す。本実施形態では、平滑度が高なのは被写体法線画像データ１１０５のみ、平滑度が中なのは顔法線画像データ１３０７のみである。このため、被写体法線画像データ１１０５を高平滑度法線画像データ１５０１、顔法線画像データ１３０７を中平滑度法線画像データ１５０２とする。平滑度が低なのは複数の顔器官法線画像データ１３０９〜１３１１であるため、これは統合し低平滑度法線画像データ１５０３とする。統合処理としては、画素毎に各法線画像データを参照し、いずれかの法線画像データから法線情報を取得した場合は、それを低平滑度法線画像データ１５０３の法線情報とする。２つ以上の法線画像データに法線情報が存在する場合は、優先度の高い法線画像データの法線情報を採用する。本実施形態では、優先度が高い方から順に鼻、口、右目、左目に対応する顔器官法線画像データとする。いずれの法線画像データにも法線情報がない画素は、低平滑度法線画像データ１５０３においても法線情報なしとする。
【００７５】
ステップＳ１４０２において法線統合部３０５は、ステップＳ１４０１の処理により得られた、平滑度が異なる複数の法線画像データを統合する。本実施形態では、平滑度の高い法線画像データから順に平滑化処理と統合処理を繰り返す。この際、画素毎に各法線画像データを参照し、２つ以上の法線画像データに法線情報が存在する場合に、平滑度が相対的に低い法線画像データの法線情報を採用する。また、平滑化処理としては、カラー画像データ５０１を参照画像とするジョイントバイラテラルフィルタなどを注目法線画像データに適用すればよい。これにより、注目法線画像データをカラー画像データのエッジに沿ってなじませることができる。この際、法線画像データの平滑度に応じてフィルタサイズを変更することにより、平滑化処理の強さを変更する。平滑度が高い法線画像データは強く平滑化され、法線ベクトルの凹凸がなくなる。逆に平滑度が低い法線画像データは弱く平滑化されるため、法線ベクトルの凹凸感が保存される。撮像画像中の被写体の形状と合っていない法線画像データほど強く平滑化し凹凸をなくなることにより、後のライティング処理において弊害を小さくすることができる。
【００７６】
ステップＳ１４０２の処理の具体例を図１６に示す。本実施形態では、高平滑度法線画像データ１５０１、中平滑度法線画像データ１５０２、及び低平滑度法線画像データ１５０３を統合する。まず、高平滑度法線画像データ１５０１に対してフィルタサイズ大で平滑化処理を行う。平滑化処理を適用した後、画素毎に法線ベクトルの大きさが１になるように正規化を行う。これにより、法線画像データ１６０１を得る。以降、特に説明がない限り、法線画像データに対して平滑化処理を適用した後に、画素毎に法線ベクトルの大きさが１になるように正規化を行うものとする。
【００７７】
次に、フィルタサイズ大で平滑化された法線画像データ１６０１と中平滑度法線画像データ１５０２を統合して、法線画像データ１６０２を生成する。統合処理としては、法線画像データ１６０１に対して中平滑度法線画像データ１５０２の法線情報のある画素の画素値を上書きすることで行う。本実施形態では被写体領域の法線情報に対して顔領域の法線情報を上書きすることになる。そして、統合結果の法線画像データ１６０２に対してフィルタサイズ中で平滑化処理を行うことで、法線画像データ１６０３を得る。
【００７８】
さらに、フィルタサイズ中で平滑化された法線画像データ１６０３と低平滑度法線画像データ１５０３を統合して、法線画像データ１６０４を得る。本実施形態では被写体領域と顔領域の法線情報に対して、顔器官領域の法線情報を上書きすることになる。統合結果の法線画像データ１６０４に対してフィルタサイズ小で平滑化処理を行い、得られた法線画像データを統合法線画像データ１６０５とする。以上の処理により、統合法線画像データ１６０５は被写体領域、顔領域、顔器官領域の順に強く平滑化されたものとなる。このため、後のライティング処理において顔器官領域では法線ベクトルに基づいて凹凸感を強調しつつ、被写体領域などでは法線ベクトルの凹凸による違和感を軽減することができる。
【００７９】
＜ライティング処理＞
ここでは、ステップＳ４１０で行うライティング処理について説明する。本実施形態におけるライティング処理は、被写体距離画像データ、統合法線画像データ、及びユーザ操作によって設定された照明パラメータに基づいて、カラー画像データに対して仮想光源を加える処理を行い、ライティング補正画像を生成する。ライティング処理の概要は図１７に示す。本実施形態では照明パラメータとして仮想照明の位置Ｑ、姿勢Ｕ、強度α、光源色Ｌが設定され、下記の式（６）に従いライティング補正画像データを生成するものとする。
【００８０】
【数６】
0006685827.tif 000007
【００８１】
ここで、Ｉ′r、Ｉ′g、Ｉ′bは補正画像データＩ′の画素値を表す。Ｌr,m、Ｌg,m、Ｌb,mはｍ番目の照明の色、ｋmはｍ番目の照明に対する補正度合いを表す。ｋmは照明の明るさα、仮想光源の位置Ｑ、姿勢Ｕおよび画素（ｉ，ｊ）に対応する距離値、法線ベクトルＮに基づいて決定する。例えば下記の式（７）のように求めることができる。
【００８２】
【数７】
0006685827.tif 000008
【００８３】
式（７）について図１７を参照して説明する。ｔは仮想光源による補正度合いを調整する補正係数である。本実施形態ではｔ＝１とする。αは照明の明るさを表す変数である。Ｑは仮想光源の位置を表すベクトルである。
【００８４】
Ｐ（ｉ，ｊ）は画素（ｉ，ｊ）に対応する被写体上の点の３次元的な位置を表すベクトルであり、被写体距離画像データ８０４から下記のように算出する。まず、被写体距離画像データ８０４における画素（ｉ，ｊ）の画素値を読み取ることで、撮像装置１０１から画素（ｉ，ｊ）に対応する被写体上の点までの距離値を取得する。続いて、取得された距離値、撮像装置１０１の画角、及びカラー画像データ５０１の画像サイズなどに基づき、画素（ｉ，ｊ）に対応する被写体上の点の３次元的な位置Ｐ（ｉ，ｊ）を算出する。
【００８５】
Ｗは画素（ｉ，ｊ）に対応する被写体上の点の位置Ｐ（ｉ，ｊ）から仮想光源の位置Ｑまでの距離が大きくなるに従い大きな値を返す関数である。ρは仮想光源の位置Ｑから位置Ｐ（ｉ，ｊ）に向かうベクトルと、照明の姿勢Ｕのなす角度を表す。Ｋはρが小さいほど大きな値となるような関数である。Ｎ（ｉ，ｊ）は画素（ｉ，ｊ）に対応する法線ベクトルであり、統合法線画像データの画素値が用いられる。Ｖ（ｉ，ｊ）は位置Ｐ（ｉ，ｊ）から仮想光源の位置Ｑに向かう方向を表す単位ベクトルである。
【００８６】
本実施形態のようにライティング補正画像を生成することにより、照明の位置と被写体の形状に応じた明るさの補正が可能である。すなわち、仮想照明に近く、仮想光源から画素（ｉ，ｊ）に対応する被写体上の点に向かうベクトルと法線ベクトルとのなす角が小さい画素ほど明るくなるように補正することができる。これにより、図１８に示すように、カラー画像データ５０１を仮想照明により被写体を照らしたかのようなライティング補正画像１８０１に補正することができる。また、ライティング補正画像１８０１では平滑度の低い顔器官領域ほど被写体形状に応じて立体的な陰影となる。
【００８７】
以上のとおり、本実施形態では、カラー画像データにおける被写体領域、顔領域及び顔器官領域（互いに少なくとも一部が異なる複数の領域）を抽出し、抽出した領域のそれぞれについて法線画像データを生成する。この際、被写体領域については、距離画像データに基づき法線画像データを生成し、顔領域及び顔器官領域については、平滑度の異なる複数の法線モデルを使い分けて法線画像データを生成する。そして、生成した法線画像データを統合し、ライティング補正処理に用いられる統合法線画像データを生成する。これにより、被写体の詳細な形状情報を取得すること及び膨大な量の３Ｄモデルをあらかじめ用意することを必要とせず、撮像画像から所望の照明条件下で撮像したかのような自然な画像を生成することができる。
【００８８】
なお、本実施形態では顔法線モデル１３０１と顔器官法線モデル１３０３〜１３０６の画像サイズは等しいものとしたが、画像サイズはこれに限るものではない。例えば、顔器官法線モデル１３０３〜１３０６のうち、法線情報のある画素を含む矩形領域のみを画像データとして保持しても構わない。あるいは、顔法線モデル１３０１を縮小、顔器官法線モデルよりも低い解像度で保持しても構わない。顔法線画像データの方が顔器官法線画像データよりも平滑度が高いため、基となる顔法線モデル１３０１を縮小しても最終的に得られる統合法線画像データにおける法線情報の劣化は少ない。このため、以上のような方法によりあらかじめ保持しておく法線モデルのデータ量を減らすことができる。
【００８９】
また、本実施形態では顔器官法線モデルとして目、鼻、口の法線モデルを使用したが、顔器官はこれに限るものではない。これらのうち使用しない顔器官があっても構わないし、頬・耳・眼球などの法線モデルを別途用意しても構わない。
【００９０】
また、本実施形態では顔器官法線画像データに対する平滑度を全て同一としたが、これらを器官毎に変えても構わない。この際、高・中・低の３段階で表していた平滑度を４段階以上に増やしても構わない。例えば、顔器官領域の大きさが小さい領域ほど細かな凹凸情報があるものとして平滑度を低く設定してよい。これにより、ライティング処理で細かな凹凸ほど強調することができる。あるいは、顔器官領域が顔領域の中心に近い顔器官ほど平滑度を低く設定してもよい。これにより、ライティング処理で凹凸の多い顔中央付近ほど立体感を強調することができる。また、平滑度が４段階以上の場合にも、平滑度が高い法線画像データから順に図１６に示す処理を繰り返すことで統合法線画像データを生成する。
【００９１】
［実施形態２］
上述した実施形態１では各法線画像データに対して領域毎にあらかじめ決めた平滑度を設定していたが、本実施形態ではカラー画像データから抽出された顔領域及び器官位置の信頼度に応じて、各領域の法線画像データに平滑度を設定する。これにより、顔領域や器官位置の確からしさを考慮したライティング補正画像データを生成することができる。本実施形態は実施形態１と比較し、ステップＳ４０５の顔情報検出処理及びステップＳ９０３の平滑度設定処理が異なる。
【００９２】
実施形態１のステップＳ４０５では、顔領域６０１及び器官位置６０２を抽出するが、本実施形態では、それに加え、抽出された顔領域６０１及び器官位置６０２の信頼度を決定する。具体的に、本実施形態では、実施形態１と同様にテンプレートマッチングによって顔領域・器官位置を抽出する。まず、顔検出部３０２は、カラー画像データに対して閾値処理を行い、肌色の領域を顔候補領域として抽出する。そして、顔検出部３０２は、様々な大きさの顔画像テンプレートを用いて顔候補領域に対してマッチング処理を行い、尤度を算出する。さらに、顔検出部３０２は、尤度に基づき顔領域であるか否かの判定処理を行い、顔領域を抽出する。器官位置についても、抽出された顔領域に対して目、鼻、口画像テンプレートを用いて同様の抽出処理を行う。この際、尤度の大きさに基づき、抽出された顔領域６０１及び器官位置６０２の信頼度をそれぞれ決定する。
【００９３】
以上のように決定された信頼度は、本実施形態の平滑度設定処理において用いられる。図１９は、本実施形態における平滑度設定処理の流れを示すフローチャートである。以下、図１９を参照して本実施形態の平滑度設定処理の詳細を説明する。
【００９４】
ステップＳ１９０１において法線生成部３０４は、被写体法線画像データの平滑度を設定する。本実施形態では被写体法線画像データは被写体のシルエット形状に基づいて生成されているため法線情報としての信頼度は低いものとし、平滑度は高とする。
【００９５】
ステップＳ１９０２において法線生成部３０４は、顔領域の信頼度が閾値ｔｈ１以上であるか否かを判定する。顔領域の信頼度が閾値ｔｈ１以上であれば、顔領域の法線情報は信頼できるものとし、処理はステップＳ１９０３へ進む。ステップＳ１９０３では顔法線画像データの平滑度を中とする。顔領域の信頼度が閾値ｔｈ１未満であれば、顔領域の法線情報は信頼できないものとし、処理はステップＳ１９０４へ進む。ステップＳ１９０４では顔法線画像データの平滑度を高とする。
【００９６】
ステップＳ１９０５において法線生成部３０４は、未処理の器官位置を注目器官位置として設定する。ステップＳ１９０６において法線生成部３０４は、全ての器官位置に対して処理を行ったかを判定し、全ての器官位置を処理済みであれば平滑度設定処理を終了する。未処理の器官位置があればステップＳ１９０７へ進む。
【００９７】
ステップＳ１９０７において法線生成部３０４は、注目器官位置の信頼度が閾値ｔｈ２以上であるか否かを判定する。注目器官位置の信頼度が閾値ｔｈ２以上であれば、対応する顔器官領域の法線情報は信頼できるものとし、処理はステップＳ１９０８へ進む。ステップＳ１９０８では対応する顔器官法線画像データの平滑度を低とする。注目器官位置の信頼度が閾値ｔｈ２未満であれば、処理はステップＳ１９０９へ進む。
【００９８】
ステップＳ１９０９において法線生成部３０４は、注目器官位置の信頼度が、閾値ｔｈ２より小さい閾値ｔｈ３以上であるか否かを判定する。注目器官位置の信頼度が閾値ｔｈ３以上であれば、対応する顔器官領域の法線情報はやや信頼できるものとし、処理はステップＳ１９１０へ進む。ステップＳ１９１０では対応する顔器官法線画像データの平滑度を中とする。注目器官位置の信頼度が閾値ｔｈ３未満であれば、対応する顔器官領域の法線情報は信頼できないものとしてステップＳ１９１１へ進み対応する顔器官法線画像データの平滑度を高とする。
【００９９】
ステップＳ１９１２において法線生成部３０４は、注目器官位置を未処理の器官位置に更新する。これにより、全ての器官位置に対してステップＳ１９０６〜Ｓ１９１１の処理が行われる。
【０１００】
以上の平滑度設定処理結果の例を図２０に示す。図２０では、顔法線画像データ１３０７の平滑度が高、口に対応する顔器官法線画像データ１３１１の平滑度が中、口以外の器官に対応する顔器官法線画像データ１３０８〜１３１０の平滑度が低になった場合の例を示す。この場合、顔法線画像データや口に対応する顔器官法線画像データは実施形態１よりも強く平滑化される。このため、顔領域及び口に対応する器官位置が、被写体の顔及び口の位置とずれていたとしても、強く平滑化処理を行うことで法線情報の凹凸が平坦になり、ライティング処理の際に位置ずれによる弊害を抑えることができる。
【０１０１】
以上のとおり、本実施形態では、カラー画像データから抽出された顔領域及び器官位置の信頼度を決定し、決定した信頼度に応じて各領域の法線画像データの平滑度を設定する。そして、設定された平滑度に基づき、平滑度の高い法線画像データから順に平滑化処理と統合処理を繰り返し、ライティング処理に用いる統合法線画像データを生成する。これにより、顔領域や器官位置のずれによる弊害を抑えつつ被写体のライティング補正を行うことができる。
【０１０２】
［実施形態３］
上述した実施形態では平滑度によらずライティング処理を行ったが、本実施形態では平滑度によりライティング処理を行う。具体的には、ライティング処理として新たに光沢を加える処理を追加する。この際、法線情報の平滑度に応じて光沢を加える度合いを変化させる。本実施形態では上述した実施形態と比較し、法線統合部３０５の処理及びライティング処理部３０８の処理が異なる。
【０１０３】
本実施形態における法線統合部３０５は、平滑度が異なる複数の法線画像データの統合に加えて、複数の法線画像データに基づき平滑度マップを生成する処理も行う。図２１は本実施形態における法線統合部３０５の処理の流れを示すフローチャートである。
【０１０４】
ステップＳ２１０１において法線統合部３０５は、上述した実施形態と同様に図１４で示した処理に従い、平滑度が異なる複数の法線画像データを統合して統合法線画像データを生成する。
【０１０５】
ステップＳ２１０２において法線統合部３０５は、異なる平滑度に対応する平滑度領域をそれぞれ抽出する。本実施形態において平滑度領域には、高平滑度、中平滑度、低平滑度にそれぞれ対応する高平滑度領域、中平滑度領域、低平滑度領域があるものとする。ここで、高平滑度領域は高平滑度法線画像データのうち法線情報のある領域とし、本実施形態では被写体領域となる。中平滑度領域は中平滑度法線画像データのうち法線情報のある領域とし、本実施形態では被写体の顔領域となる。低平滑度領域は低平滑度法線画像データのうち法線情報のある領域とし、本実施形態では被写体の顔器官領域となる。また、高平滑度領域、中平滑度領域、低平滑度領域に対してそれぞれ異なる画素値を与える。この際、平滑度が低い領域ほど画素値の値を大きくする。
【０１０６】
ステップＳ２１０３において法線統合部３０５は、ステップＳ２１０２で抽出された平滑度領域を統合し、平滑度マップを生成する。本実施形態では高平滑度領域、中平滑度領域、低平滑度領域を統合する。具体例を図２２に示す。まず、高平滑度領域２２０１に対してフィルタサイズ大で平滑化処理を行う。平滑化処理はステップＳ４０８の法線画像データ統合処理で使用したものと同様のものが適用可能である。フィルタサイズ大で平滑化された平滑化領域２２０４と中平滑度領域２２０２を統合する。本実施形態では顔領域のみ中平滑度領域に対応した画素値で上書きする。そして、統合結果２２０５に対してフィルタサイズ中で平滑化処理を行う。フィルタサイズ中で平滑化された統合結果２２０６と低平滑度領域２２０３を統合する。本実施形態では顔器官領域のみ低平滑度領域に対応する画素値で上書きすることになる。統合結果２２０７に対してフィルタサイズ小で平滑化処理を行い、得られた結果を平滑度マップ２２０８とする。
【０１０７】
以上の処理により、平滑度が小さな領域ほど大きな画素値を持つ平滑度マップを取得する。この画素値を後のライティング処理にて光沢に対する重みとして使用することにより、被写体に光沢を加える度合いを領域毎に変化させる。
【０１０８】
本実施形態におけるライティング処理部３０８は、法線統合部３０５で生成された平滑度マップを、統合法線画像データとともにライティング処理に用いる。本実施形態におけるライティング処理は、上述した実施形態における処理に加えて新たに仮想光源による光沢を加える処理を行う。具体的には、ステップＳ１７０２において式（６）に従いライティング補正画像データを生成する処理を、下記の式（８）に従い行うように変更する。
【０１０９】
【数８】
0006685827.tif 000009
【０１１０】
ここで、ｕは平滑度マップの画素値であり、平滑度が小さい画素ほど大きな値となる。ｓは仮想照明による光沢の強度を示す値であり、既存の鏡面反射を表すＢｌｉｎｎ−ＰｈｏｎｇモデルやＴｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルなどに従い算出することができる。例えば、下記の式（９）に従いｓを算出することができる。
【０１１１】
【数９】
0006685827.tif 000010
【０１１２】
ここで、βは仮想照明による鏡面反射の強度、ｃは光沢の広がりを表すパラメータである。ｃが大きいほど鋭い光沢、ｃが小さいほどやわらかな光沢となる。上記の式（９）などで求められる光沢は法線ベクトルＮで表される形状に対して敏感に変化する。Ｈはハーフベクトルであり、図２３に示すように画素（ｉ，ｊ）の位置Ｐから仮想照明の位置Ｑへ向かう単位ベクトルＶと、位置Ｐから撮像装置に対応する位置Ｃへと向かう単位ベクトルＥとの平均ベクトルを大きさ１に正規化したものである。本実施形態では平滑度の低い領域では法線ベクトルＮが被写体の形状に合致しているものとし、光沢の重みを大きくする。逆に平滑度の高い領域では、法線ベクトルＮが被写体の形状に合致していないものとし、光沢の重みを小さくする。上記の処理により、被写体に対して不自然な光沢が付与されることを防ぐことができる。
【０１１３】
本実施形態によるライティング処理の結果の例を図２４に示す、図２４（ａ）に示すライティング補正画像データ２４０１は、目・鼻・口の顔器官領域の平滑度が低い場合の統合法線画像データ１６０５と信頼度マップ２２０８に対応する結果となる。平滑度マップの画素値が大きい目・鼻・口周辺の顔器官領域に対して強い光沢が付与されている。図２４（ｂ）に示すライティング補正画像データ２４０４は、目・鼻の顔器官領域の平滑度が低い場合の統合法線画像データ２４０２と信頼度マップ２４０３に対応する結果となる。図２４（ａ）と比較して口の平滑度が高く法線ベクトルが強く平滑化されるため、統合法線画像データ２４０２において口の凹凸が消えている。また、平滑度マップ２４０３に置いて口周辺の画素値が小さくなっている。このため、ライティング補正画像データ２４０４において口周辺の光沢が弱くなっている。
【０１１４】
また、平滑度に応じて光沢の重みを加える度合いを変化させる代わりに、光沢の他の特性を変化させても構わない。例えば、光沢の広がりを変化させても構わない。これにより、法線ベクトルＮが被写体の形状に合致していない領域に鋭い光沢が付与されることで違和感が発生することを抑制できる。具体的には、平滑度の低い領域では法線ベクトルＮが被写体の形状に合致しているものとし、光沢の広がりを表すパラメータｃを所定の値のまま使用する。逆に平滑度の高い領域では、法線ベクトルＮが被写体の形状に合致していないものとし、ｃを所定の値より小さくなるように補正する。これにより、平滑度の高い領域では光沢の広がりが大きくなり、法線ベクトルＮが被写体の形状に合致していない場合でも見た目の違和感を抑えることができる。なお、ｃは顔領域６０１や器官位置６０２などに基づき目、鼻、口などの領域ごとに異なる値が予め設定されるものとする。
【０１１５】
以上により、顔領域や器官位置のずれによる弊害を抑えつつ被写体に光沢による立体感を加えることができる。
【０１１６】
（他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１７】
３０４  法線生成部
３０５  法線統合部
３０８  ライティング処理部
【図１】
0006685827.tif 000011
【図２】
0006685827.tif 000012
【図３】
0006685827.tif 000013
【図４】
0006685827.tif 000014
【図５】
0006685827.tif 000015
【図６】
0006685827.tif 000016
【図７】
0006685827.tif 000017
【図８】
0006685827.tif 000018
【図９】
0006685827.tif 000019
【図１０】
0006685827.tif 000020
【図１１】
0006685827.tif 000021
【図１２】
0006685827.tif 000022
【図１３】
0006685827.tif 000023
【図１４】
0006685827.tif 000024
【図１５】
0006685827.tif 000025
【図１６】
0006685827.tif 000026
【図１７】
0006685827.tif 000027
【図１８】
0006685827.tif 000028
【図１９】
0006685827.tif 000029
【図２０】
0006685827.tif 000030
【図２１】
0006685827.tif 000031
【図２２】
0006685827.tif 000032
【図２３】
0006685827.tif 000033
【図２４】
0006685827.tif 000034