(57)【特許請求の範囲】
【請求項１】
被写体を照明する光源の位置が互いに異なる複数の光源条件での撮像により生成された複数の入力画像を取得し、前記光源条件に応じた前記入力画像における輝度情報の変化に関する情報を用いて、前記被写体の表面の法線情報を生成する生成手段と、
前記撮像時における前記光源に関する情報である光源情報を用いて、前記法線情報または処理対象画像に対するノイズ低減処理の強度を設定するために用いる情報であるノイズ低減処理情報を取得する取得手段とを有し、
前記光源情報は、前記光源からの前記被写体への光照射方向に関する情報または前記光源条件の数に関する情報であることを特徴とする画像処理装置。
【請求項２】
前記光照射方向に関する情報は、前記撮像を行う撮像装置から前記被写体に向かう撮像方向と前記光照射方向とがなす角度または複数の前記光源からの前記光照射方向同士がなす角度の情報であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記光源情報として前記光源条件の数に関する情報を用いる場合、前記入力画像の数の情報を前記光源条件の数に関する情報として用いることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記取得手段は、前記ノイズ低減処理情報を前記被写体における部分領域ごとに取得することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記ノイズ低減処理情報を用いて前記法線情報または前記処理対象画像に対する前記ノイズ低減処理を行う処理手段を有することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記処理対象画像は、前記入力画像であることを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記処理対象画像は、仮想光源条件下での前記被写体の画像として前記法線情報を用いて生成されたリライティング画像であることを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項８】
被写体の光学像を光電変換する撮像素子と、
該撮像素子からの出力を用いて生成された撮影画像を前記入力画像として取得する請求項１から７のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項９】
前記画像処理装置は、撮像光学系の瞳のうち互いに異なる領域を通過した複数の光束を前記撮像素子における互いに異なる画素にて光電変換して得られた信号を用いて前記被写体までの距離に関する情報を算出し、該距離に関する情報に基づいて前記光源情報を取得することを特徴とする請求項８に記載の撮像装置。
【請求項１０】
コンピュータに画像処理を実行させるコンピュータプログラムとしての画像処理プログラムであって、
前記コンピュータに、
被写体を照明する光源の位置が互いに異なる複数の光源条件での撮像により生成された複数の入力画像を取得させ、
前記光源条件に応じた前記入力画像における輝度情報の変化に関する第２の情報とを用いて、前記被写体の表面の法線情報を生成させ、
前記撮像時における前記光源に関する情報である光源情報を用いて、前記法線情報または処理対象画像に対するノイズ低減処理の強度を設定するために用いる情報であるノイズ低減処理情報を取得させ、
前記光源情報は、前記光源からの前記被写体への光照射方向に関する情報または前記光源条件の数に関する情報であることを特徴とする画像処理プログラム。
【請求項１１】
前記コンピュータに、前記ノイズ低減処理情報を用いて前記法線情報または前記処理対象画像に対する前記ノイズ低減処理を行わせることを特徴とする請求項１０に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像により得られた画像を用いて被写体の法線情報を取得する技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置で被写体を撮像して得られた撮影画像から、被写体の形状情報として面法線の情報（以下、法線情報という）を取得する方法が知られている。法線情報を取得する方法としては、レーザ光を用いた三角測量や２眼ステレオ法等の方法で取得した距離情報から求めた三次元形状を法線情報に変換する方法や、非特許文献１にて開示された照度差ステレオ法がある。照度差ステレオ法は、被写体の面法線と光源方向に基づいた反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから面法線を決定する方法である。被写体の反射特性としてはランバートの余弦則に従うランバート反射モデルが用いられることが多い。
【０００３】
一般に、物体での反射には、鏡面反射と拡散反射とがある。鏡面反射は、物体表面での正反射であり、物体表面（界面）においてフレネルの式に従うフレネル反射である。拡散反射は、被写体の表面を透過した後に物体内部で散乱されて光が返ってくる反射である。鏡面反射した光は上述のランバートの余弦則では表せず、撮像装置で観測される被写体からの反射光に鏡面反射光が含まれていると、照度差ステレオ法では面法線が正確に求まらない。光源からの光が当たらない陰影部においても仮定した反射モデルからのずれが生じ、被写体の法線情報を正確に取得することができない。さらに、表面の粗い被写体などでは拡散反射成分もランバートの余弦則からずれを生じる。
【０００４】
例えば、特許文献１には、４つ以上の光源を使用して得られた複数の法線候補から真の面法線を求める方法が開示されている。また、特許文献２には、光源から放射される偏光または光源位置を変化させた場合の偏光状態から拡散反射領域を分割し、拡散反射領域に対して照度差ステレオ法を用いる方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１２２１５８号公報
【特許文献２】特許第４４３５８６５号公報
【非特許文献】
【０００６】
【非特許文献１】松下康之、“照度差ステレオ”、情報処理学会研究報告、Ｖｏｌ．２０１１−ＣＶＩＭ−１７７、Ｎｏ．２９、ｐｐ．１−１２、２０１１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
照度差ステレオ法では輝度情報から法線情報を取得するため、輝度情報に含まれるノイズの影響によって法線情報に誤差（ノイズ）が生じる。さらに、輝度情報に含まれるノイズ量が同じであっても、撮像の際の光源条件によって法線情報に含まれるノイズ量が異なる。そして、この法線情報を用いて生成される画像（法線利用画像：例えば、仮想光源条件下での被写体の画像に相当するリライティング画像）にも法線情報のノイズの影響によるノイズが生じる。
【０００８】
しかしながら、特許文献１，２には、法線情報に含まれるノイズの低減処理については何ら開示されていない。特許文献１にて開示された方法では、鏡面反射成分が観測された場合と観測されない場合とで面法線の決定方法が異なる。このため、法線情報のノイズの大きさが画素ごとにばらついてしまう。この状態で全画素に対して一様なノイズ低減処理を行うと、残留ノイズやぼけが発生する。また、特許文献１，２にて開示された方法においては、光源からの被写体に対する光照射角度に依存して法線情報に含まれるノイズが変化することも考慮されていない。このため、適切なノイズ低減処理を行うことができずに、残留ノイズやぼけの発生を招く。
【０００９】
本発明は、ノイズの影響が低減された法線情報や法線利用画像を生成することができるようにした画像処理装置および撮像装置等を提供する。
【課題を解決するための手段】
【００１０】
本発明の一側面としての画像処理装置は、被写体を照明する光源の位置が互いに異なる複数の光源条件での撮像により生成された複数の入力画像を取得し、光源条件に応じた入力画像における輝度情報の変化に関する情報を用いて、被写体の表面の法線情報を生成する生成手段と、撮像時における光源に関する情報である光源情報を用いて、法線情報または処理対象画像に対するノイズ低減処理の強度を設定するために用いる情報であるノイズ低減処理情報を取得する取得手段とを有し、光源情報は、光源からの被写体への光照射方向に関する情報または光源条件の数に関する情報であることを特徴とする。
【００１１】
なお、上記画像処理装置を含む撮像装置やコンピュータを上記画像処理装置として動作させる画像処理プログラムも、本発明の他の一側面を構成する。
【発明の効果】
【００１２】
本発明によれば、光源情報を用いてノイズ低減処理情報を取得することで、ノイズの影響が低減された法線情報や法線利用画像を生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１の撮像装置で行われる画像処理を示すフローチャート。
【図２】実施例１の撮像装置の外観図。
【図３】実施例１の撮像装置の構成を示すブロック図。
【図４】実施例１における撮像素子と撮像光学系の瞳との関係を示す図。
【図５】上記撮像素子の模式図。
【図６】実施例１の他の撮像装置の例を示す外観図。
【図７】実施例１におけるノイズ量のデータテーブルの例を示す図。
【図８】近い被写体および遠い被写体を撮像する際の光源照射角度を示す図。
【図９】本発明の実施例２である撮像装置で行われる画像処理を示すフローチャート。
【図１０】鏡面反射成分を説明する図。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例について図面を参照しながら説明する。
【００１５】
まず具体的な実施例の説明に先立って、各実施例に共通する事項について説明する。各実施例は、被写体の表面の面法線に関する情報である法線情報を取得する画像処理装置およびこれを搭載した撮像装置であり、法線情報に含まれるノイズの影響を効果的に低減することができる。
【００１６】
法線情報（面法線情報ともいう）とは、面法線の１自由度の候補を少なくとも１つ以上決定する情報、面法線の複数の解候補から真の解を選択するための情報および求めた面法線の妥当性に関する情報である。
【００１７】
光源位置（光源条件）による被写体（撮影画像）の輝度に関する情報である輝度情報の変化に基づいて被写体の法線情報を取得する方法としては照度差ステレオ法を用いるとよい。照度差ステレオ法は、被写体の面法線と光源方向とに基づいた反射特性を仮定し、互いに異なる複数の光源位置での被写体の輝度情報と仮定した反射特性とから面法線を決定する方法である。仮定する反射特性は、ある面法線と光源位置が与えられたときに反射率を一意に定めるものである。被写体の反射特性が未知の場合は、ランバートの余弦則に従うランバート反射モデルで近似すればよい。
【００１８】
また、鏡面反射成分は、図１０に示した光源ベクトルｓと視線方向ベクトルｖの２等分線と面法線ｎのなす角に反射率が依存するようなモデルで表現することができる。したがって、前述した反射特性は視線方向にも基づく特性としてもよい。照度差ステレオ法に用いる輝度情報は、既知の光源が点灯している場合と消灯している場合のそれぞれの撮影画像を取得し、これらの差分をとることで環境光等、既知の光源以外の光源による影響を除いてもよい。以下では、ランバート反射モデルを仮定した場合を説明する。
【００１９】
反射光の輝度をｉとし、物体のランバート拡散反射率をρｄとし、入射光の強さをＥとし、物体から光源への方向を示す単位ベクトル(光源方向ベクトル)をｓとし、物体の単位面法線ベクトルをｎとする。このとき、ランバートの余弦則から、
【００２０】
【数１】
0006786225.tif 000002
【００２１】
と表せる。ここで異なるＭ個（Ｍ≧３）の光源方向ｓ１，ｓ２，・・・，ｓＭで得られた輝度をｉ１，ｉ２，・・・ｉＭとすると（１）式から以下のように表せる。
【００２２】
【数２】
0006786225.tif 000003
【００２３】
ここで左辺はＭ行１列の輝度ベクトルであり、右辺の［ｓ１Ｔ,・・・,ｓＭＴ］はＭ行３列の光源方向を示す入射光行列Ｓである。また、ｎは３行１列の単位面法線ベクトルである。Ｍ＝３の場合は入射光行列Ｓの逆行列を左から乗じることで、Ｅρｄｎが下記のように求まる。
【００２４】
【数３】
0006786225.tif 000004
【００２５】
左辺のベクトルのノルムがＥとρｄの積であり、正規化したベクトルが物体の面法線ベクトルとして求まる。ここから分かるように、Ｅとρｄは積の形でのみ条件式に現れるので、Ｅρｄで１つの変数として見ると、単位面法線ベクトルの２自由度と合わせて未知の３変数を決定する連立方程式とみなせる。よって、３つの光源条件で輝度情報を取得することで方程式が３つ得られ、解を決定することができる。なお、入射光行列Ｓが正則でない場合は逆行列が存在しないため、光源方向ｓ１〜ｓ３をＳが正則となるように選択する必要がある。つまり、ｓ３をｓ１とｓ２に対して線形独立に選ぶことが望ましい。
【００２６】
一方、Ｍ＞３の場合は求める未知変数より多い条件式が得られる。このときは任意に選択した３つの条件式から上記と同様の方法で面法線ベクトルを求めることができる。４つ以上の条件式を用いる場合は入射光行列Ｓが正方行列ではなくなるため、例えば、Moore-Penrose疑似逆行列を使って近似解を求めればよい。
【００２７】
また、行列計算を用いなくとも、既存のフィッティング手法や最適化手法によって解を求めてもよい。特に、被写体の反射特性をランバート反射モデル以外のモデルで仮定した場合は条件式が単位面法線ベクトルｎの各成分や反射特性モデルの未知係数に対する線形方程式でなくなることがある。この場合は、行列計算ができず、既存のフィッティング手法や最適化手法によって解を求めることとなる。前述のように反射特性モデルｆは、光源ベクトルｓ、視線方向ベクトルｖ、面法線ｎおよび未知係数Ｘに依存し、以下のように表される。
【００２８】
【数４】
0006786225.tif 000005
【００２９】
ここで、Ｘは反射特性モデルの係数ベクトルであり、係数の数と等しい次元を持つ。このうちｍ個の係数が未知であるとすると、（４）式は面法線ベクトルと合わせてｍ＋２個の未知変数を含む。このとき、光源位置の条件数だけ方程式が得られ、既知のフィッティング手法や最適化手法を用いることができる。例えば、
【００３０】
【数５】
0006786225.tif 000006
【００３１】
を最小化すればよい。
また、反射特性モデルｆが視線方向ベクトルｖに依存する場合は、視線方向を変化させることによっても方程式の数を増やすことができる。
【００３２】
また、Ｍ−１以下の条件式から解を得られる場合は、条件式の組み合わせの数だけ解を得ることができ、複数の面法線候補を求めることもできる。この場合は、特許文献１の方法や後述の方法によって解を選択するとよい。
【００３３】
照度差ステレオ法による法線情報の取得（推定）が正しくできない画像領域として、光源からの光が遮蔽されて当たらない陰影領域や、拡散反射成分の観測を想定した反射特性モデルに対して鏡面反射成分や相互反射成分が観測されてしまう領域が挙げられる。このような場合は、陰影領域や想定以外の反射成分が観測される領域を発生させる光源位置で得られる輝度情報を除外して法線情報を推定するとよい。ある輝度情報を取得した際の光源位置が不適当であるかは、既存の陰影領域や鏡面反射領域の抽出法を用いればよく、例えば輝度情報の閾値処理をすればよい。
【００３４】
照度差ステレオ法では輝度情報から面法線を決定するため、輝度情報に含まれるノイズの影響によって取得される法線情報にも誤差、すなわちノイズが生じる。さらに、輝度情報に含まれるノイズ量が同じであっても、複数の撮影画像を取得する撮像の際の光源条件によって法線情報に含まれるノイズ量が異なる。したがって、法線情報を用いて生成される法線利用画像（後述するリライティング画像等）にもノイズが生じる。
【００３５】
面法線ベクトルの解の候補が複数求まる場合、さらに別の条件から解を選択するとよい。例えば、面法線ベクトルの連続性を条件として用いることができる。面法線を撮像装置の１画素ごとに算出する場合、画素（ｘ，ｙ）での面法線ｎ（ｘ，ｙ）として、ｎ（ｘ−１，ｙ）が既知であれば評価関数である、
【００３６】
【数６】
0006786225.tif 000007
【００３７】
が最小となる解を選択するとよい。ｎ（ｘ＋１，ｙ）やｎ（ｘ，ｙ±１）も既知であれば、
【００３８】
【数７】
0006786225.tif 000008
【００３９】
が最小となるような解を選択するとよい。既知の面法線がなく、全画素位置で面法線の不定性があるとすれば、全画素での総和である、
【００４０】
【数８】
0006786225.tif 000009
【００４１】
が最小となるように解を選択してもよい。
【００４２】
上記は一例であり、注目画素の最近傍以外の画素での面法線情報を用いたり、注目画素の位置からの距離に応じて重みをつけた評価関数としたりしてもよい。
【００４３】
複数候補から解を選択する場合には、奥行き情報を利用してもよい。奥行き情報は前述のレーザ光を用いた三角測量や２眼ステレオなどの方法で取得できる。奥行き情報から求めた三次元形状を面法線情報へ変換することで面法線ベクトルが算出できる。前述したように、この方法で求めた面法線ベクトルは精度が十分ではない。しかし、複数の面法線ベクトルの解候補が既に求まっている場合は、１つの解に決定するための参考情報とすることができる。すなわち、複数の面法線ベクトルの解候補のうち、奥行き情報により求めた面法線ベクトルに最も近い候補を選択するとよい。
【００４４】
また、任意の光源位置での輝度情報を用いてもよい。例えば、ランバート反射モデルでは、面法線ベクトルと光源方向が近いほど反射光の輝度が大きくなる。このため、複数の光源方向での輝度値を参考にすることで、輝度が小さいときの光源方向よりも輝度が大きいときの光源方向に近くなるような面法線ベクトルを選択することができる。また、鏡面反射モデルでは、物体からカメラへの方向の単位ベクトル(カメラの視線ベクトル)をｖとして、
【００４５】
【数９】
0006786225.tif 000010
【００４６】
が滑らかな表面で成り立つため、光源方向ベクトルｓとカメラの視線ベクトルｖが既知であれば面法線ｎを算出することができる。表面に粗さがある一般の物体の場合は鏡面反射も射出角の広がりを持つが、平滑面として求めた解の付近に広がるため、複数の解候補から最も平滑面に対する解に近い候補を選択することができる。また、複数の解候補の平均によって真の解を決めてもよい。
【００４７】
各実施例の画像処理装置は、被写体を照明する光源の位置が互いに異なる複数の光源条件での撮像により生成された複数の入力画像（撮影画像）を取得する。そして、光源条件に応じた入力画像における輝度の変化に関する情報である輝度変化情報を用いて、被写体の表面の法線情報を生成する。さらに、撮像時における該光源に関する情報である光源情報を用いて、法線情報または処理対象画像に対するノイズ低減処理に用いる情報であるノイズ低減処理情報を取得する。ノイズ低減処理情報は、例えばノイズ低減処理の強度を設定するための情報である。
【００４８】
光源位置（光源条件）が異なる複数の入力画像を取得することで、前述した方法により、光源位置に応じた輝度変化情報から法線情報を取得することができる。法線情報は、面法線の少なくとも１自由度の値である。また、光源情報を取得することで、光源情報に依存した法線情報の取得時のノイズの違いを得ることができる。このため、このノイズの違い（言い換えれば光源情報）に応じたノイズ低減処理情報を取得することで、法線情報に含まれるノイズの影響を効果的に低減することができる。
【００４９】
各実施例において、光源情報を、光源からの被写体への光照射方向に関する情報としてもよい。具体的には、光照射方向に関する情報として、撮像を行う撮像装置から被写体に向かう撮像方向と光照射方向とがなす角度の情報や、複数の光源からの光照射方向同士がなす角度の情報を用いてもよい。以下の説明において、これらの角度をまとめて光源照射角度という。
【００５０】
前述した通り、照度差ステレオ法での光源方向は線形独立に選択することが望ましいが、線形独立であるだけではなく、異なる光源方向同士がなす角度が大きいほど輝度情報の変化も大きくなり、法線取得の精度が向上する。反対に、異なる光源方向同士のなす角が小さいほど輝度情報の変化が小さくなり、入力画像に含まれるノイズの影響を受けやすくなる。このとき、取得した法線においても誤差が大きくなってしまう。したがって、入力画像における光源照射角度に応じたノイズ低減処理情報を取得することで適切なノイズ低減処理を行うことができる。なお、光源方向同士のなす角度を大きくとろうとすると、装置が大型化し、また陰影部が生じやすくなる。さらに、光源照射角度は、被写体と光源位置との関係にも依存する。このため、これらの要因によって決まった光源照射角度に対して適切なノイズ低減処理を行うことが必要となる。
【００５１】
なお、光源照射角度は、入力画像を取得するための撮像における被写体距離に関する情報から取得することができる。この場合、例えば、撮像において被写体距離を計測したり、撮像光学系のフォーカスレンズの位置から被写体距離を推定したりしてもよい。また、互いに視差を有する複数の視差画像を取得し、該視差画像から被写体距離を推定してもよい。視差画像は、撮像光学系の瞳のうち互いに異なる領域を通過した複数の光束を撮像素子における互いに異なる画素に導いて光電変換を行うことで取得することができる。ここにいう「互いに異なる画素」は、画素ごとに１つのマイクロレンズと複数のサブ画素とが設けられている撮像素子における該複数のサブ画素であってもよい。
【００５２】
また、各実施例において、光源情報は、法線情報の推定に用いることができる光源条件の数に関する情報としてもよい。ここにいう光源条件の数に関する情報として、例えば、該光源条件の数に対応する入力画像の数の情報としてもよい。照度差ステレオ法による法線情報の推定を正しく行うために、前述したように陰影領域や鏡面反射領域が観測された入力画像（つまりは光源条件）を除外した残りの入力画像から法線情報を推定することがある。このような場合、除外した光源条件の有無やその数によって法線情報の推定に用いることができる入力画像の数が変わる。これは法線情報の推定に用いることができる条件式の数が変わることに等しい。法線情報の推定に用いる条件式、つまりは入力画像の数が少ないほど、入力画像の取得がノイズの影響を受けやすく、結果として得られる法線情報のノイズが大きくなる。したがって、法線情報の推定に用いる入力画像の数（つまりは光源条件の数）によってノイズ低減処理情報を取得することで、適切なノイズ低減処理を行うことができる。
【００５３】
なお、上述した光源照射角度や法線情報の推定に用いる入力画像の数が被写体の部分領域（画素）ごとに異なる場合には、ノイズ低減処理情報を被写体における部分領域ごとに取得してもよい。
【００５４】
各実施例の画像処理装置または撮像装置において、ノイズ低減処理情報を用いて法線情報または処理対象画像に対してノイズ低減処理を行うようにしてもよい。法線情報に対してノイズ低減処理を行うことで、入力画像から法線情報を推定する際の方法や条件を加味しつつノイズを低減することができる。法線情報に対するノイズ低減処理は既存の方法で行えばよく、例えば法線情報の各自由度の値を画像の輝度値と同等とみなして、既存のノイズ低減処理を行えばよい。また、処理対象画像としての入力画像に対してノイズ低減処理を行うことで、一次データである入力画像の輝度値に基づいたノイズ低減処理を行うことができる。さらに、処理対象画像として、法線情報を用いた画像処理によって生成された法線利用画像に対してノイズ低減処理を行ってもよい。法線利用画像としては、例えば、仮想光源条件下での被写体の画像として法線情報を用いた画像処理によって生成されたリライティング画像がある。出力画像としてのリライティング画像に対してノイズ低減処理を行うことで、法線情報の推定方法およびその条件やリライティング画像の生成方法およびその条件によらず、良好にノイズが低減された法線利用画像を得ることができる。
【実施例１】
【００５５】
図２には、本発明の実施例１である撮像装置３００の外観を示す。撮像装置３００は、不図示の被写体を撮像する撮像部１００を備えており、さらに撮像部１００の光学系である撮像光学系１０１の周囲には複数（１６個）の光源２００を備えている。１６個の光源２００は、撮像光学系１０１の光軸からの距離が等しく、かつ光軸に関して上下左右斜め方向にて対称となるように配置された８個の光源２００を１組の光源とするとき、光軸からの距離（光源位置）が互いに異なる２組の光源２００を含む。１６個の光源２００のうち１または２個以上の光源２００を選択的に点灯させることで、被写体に対する複数の光源位置を得ることができる。
【００５６】
なお、図２に示した光源２００の数および配置は例であり、１６より少ない又は多い数の光源を図２に示した配置とは異なる配置となるように設けてもよい。ただし、照度差ステレオ法を行う場合は最低３つの光源が必要であるため、３個以上の光源を設ける必要がある。また、単一の光源の位置を変更することで複数（３以上）の光源位置を選択できるようにしてもよい。さらに、本実施例では、光源を撮像装置３００に内蔵する構成としているが、撮像装置に対して外付け可能な光源を用いてもよい。
【００５７】
図３には、撮像装置３００の内部構成を示している。撮像部１００は、撮像光学系１０１と撮像素子１０２とにより構成されている。絞り１０１ａを含む撮像光学系１０１は、不図示の被写体からの光を撮像素子１０２上に結像させる。撮像素子１０２はＣＣＤセンサやＣＭＯＳセンサ等の光電変換素子により構成され、撮像光学系１０１により形成された光学像としての被写体像を光電変換（撮像）する。
【００５８】
撮像素子１０２から出力されたアナログ信号はＡ／Ｄコンバータ１０３によってデジタル信号に変換され、該デジタル信号としての撮像信号は画像処理装置としての画像処理部１０４に入力される。画像処理部１０４は、撮像信号に対して一般的な画像処理を行って撮影画像を生成する。また、画像処理部１０４は、被写体に対する点灯する光源２００の位置が互いに異なる撮像により生成された複数の撮影画像を入力画像とし、該入力画像を用いて被写体の法線情報を推定（生成または取得）する法線情報推定部（生成手段）１０４ａを有する。さらに、画像処理部１０４は、光源情報に応じてノイズ低減処理情報を決定（取得）するノイズ低減処理情報決定部（取得手段）１０４ｂと、該ノイズ低減処理情報を用いてノイズ低減処理を行うノイズ低減処理部（処理手段）１０４ｃとを有する。また、画像処理部１０４は、後述する状態検知部１０７からの情報に基づいて光源情報を取得する光源情報取得部１０４ｄと、撮像時の被写体までの距離（被写体距離）を推定する距離推定部１０４ｅとを有する。
【００５９】
画像処理部１０４で生成された出力画像（例えば、ノイズ低減処理後のリライティング画像）は、半導体メモリや光ディスク等により構成される画像記録媒体１０８に保存される。また、出力画像を、表示部１０５に表示してもよい。
【００６０】
情報入力部１０９は、ユーザが所望の撮像条件（絞り値、露出時間、ＩＳＯ感度、光源条件等）を選択して入力する情報を検知してシステムコントローラ１１０にそのデータを供給する。撮像制御部１０６は、システムコントローラ１１０からの指令に応じて、撮像光学系１０１内の不図示のフォーカスレンズを移動させて被写体に対する焦点調節を行い、さらに光源２００、絞り１０１ａおよび撮像素子１０２を制御して撮像を行う。
【００６１】
状態検知部１０７は、撮像光学系１０１の状態（フォーカスレンズの位置、絞り値、撮像光学系１０１が変倍可能である場合は変倍レンズの位置等）および点灯している光源２００の位置や発光強度等の情報を検知し、その情報をシステムコントローラ１１０に送る。なお、撮像光学系１０１は、撮像素子１０２を含む撮像装置本体と一体に設けられていてもよいし、撮像装置本体に対して交換可能であってもよい。
【００６２】
図１のフローチャートには、システムコントローラ１１０および画像処理部１０４が行う法線情報の推定処理およびノイズ低減処理を含む画像処理の流れを示している。それぞれコンピュータとしてのシステムコントローラ１１０および画像処理部１０４は、コンピュータプログラムとしての画像処理プログラムに従って本画像処理を実行する。このことは、後述する他の実施例でも同じである。また、この画像処理を必ずしもソフトウェア上で行う必要はなく、ハードウェア回路によって行ってもよい。
【００６３】
ステップＳ１０１では、システムコントローラ１１０は、撮像光学系１０１および撮像素子１０２により構成される撮像部１００を制御して複数の光源位置での被写体の撮像を行う。この際、システムコントローラ１１０は、撮像制御部１０６を介して点灯させる光源２００（つまりは光源位置）を選択するとともに、該光源２００の発光強度を制御する。画像処理部１０４は、複数の光源位置での撮像によって撮像素子１０２から出力された撮像信号から複数の撮影画像を生成する。そして、画像処理部１０４は、該複数の撮影画像（入力画像）の輝度情報を取得する。
【００６４】
次にステップＳ１０２では、画像処理部１０４（光源情報取得部１０４ｄ）は、光源情報としての光源照射角度を取得する。この際、画像処理部１０４は、状態検知部１０７を通じて光源位置を取得し、撮像光学系１０１および撮像素子１０２と光源との相対位置も取得することができる。このため、被写体の位置を示す情報を取得することで光源照射角度を取得することができる。被写体の位置を示す情報は、撮影画像内での被写体の位置および撮像時における被写体距離から取得することができる。
【００６５】
図８（Ａ），（Ｂ）にはそれぞれ、被写体ＯＢＪが近距離および遠距離に位置する場合の光源照射角度θ１，θ２を示している。光源が撮像装置３００に内蔵されて撮像光学系１０１と光源２００との相対位置が固定されていたとしても、これらの図に示すように被写体距離によって光源照射角度θ１，θ２が異なる。
【００６６】
被写体距離は、距離推定部１０４ｅが、ステップＳ１０１での撮像時にオートフォーカスまたはユーザによるマニュアルフォーカスにより被写体に対して合焦状態が得られたときのフォーカスレンズの位置から推定する。また、距離推定部１０４ｅは、異なる視点から撮像した互いに視差を有する複数の視差画像を取得し、これら視差画像から被写体距離を推定してもよい。具体的には、複数の視差画像における被写体の対応点間での視差量と各視点の位置情報と撮像光学系１０１の焦点距離の情報とから、三角測量法によって被写体距離（奥行き）を推定することができる。被写体の位置を示す情報を取得するために用いる被写体距離は、被写体の複数の対応点間で推定された被写体距離の平均値としてもよいし、被写体のうち特定点の被写体距離としてもよい。
【００６７】
複数の視差画像から被写体距離を推定する場合には、撮像光学系１０１の瞳のうち互いに異なる領域を通過した複数の光束を撮像素子１０２における互いに異なる画素（ここでは１つの画素ごとに設けられた複数のサブ画素）に導くようにしてもよい。図４には、１画素ごとに２つ（一対）のサブ画素を有する撮像素子１０２と撮像光学系１０１の瞳との関係を示す。図４において、ＭＬはマイクロレンズであり、ＣＦはカラーフィルタである。ＥＸＰは撮像光学系１０１の射出瞳を示す。Ｇ１，Ｇ２はそれぞれが１画素内に設けられた受光部（光電変換部）である一対のサブ画素である。以下の説明において、一対のサブ画素それぞれ、Ｇ１画素およびＧ２画素という。
【００６８】
撮像素子１０２には、このようなＧ１画素とＧ２画素が設けられた画素が複数配列されている。Ｇ１画素とＧ２画素は、共通の（つまりはサブ画素対ごとに１つずつ設けられた）マイクロレンズＭＬを介して射出瞳ＥＸＰと共役な関係を有する。以下の説明において、撮像素子１０２に配列された複数のＧ１画素をまとめてＧ１画素群ともいい、同様に撮像素子に配列された複数のＧ２画素をまとめてＧ２画素群ともいう。
【００６９】
図５には、図４に示したマイクロレンズＭＬの代わりに、射出瞳ＥＸＰの位置に薄肉レンズがあると仮定した場合の撮像部１００を模式的に示している。Ｇ１画素は射出瞳ＥＸＰのうちＰ１領域を通過した光束を受光し、Ｇ２画素は射出瞳ＥＸＰのうちＰ２領域を通過した光束を受光する。ＯＳＰは撮像する物点である。ただし、物点ＯＳＰには必ずしも物体が存在している必要はなく、この点を通った光束はそれが通過する瞳内での領域（位置）に応じてＧ１画素またはＧ２画素に入射する。瞳内の互いに異なる領域を光束が通過することは、物点ＯＳＰからの入射光が角度（視差）によって分離されることに相当する。すなわち、各マイクロレンズＭＬに対して設けられたＧ１およびＧ２画素のうち、Ｇ１画素からの出力信号を用いて生成された画像とＧ２画素からの出力信号を用いて生成された画像とが、互いに視差を有する複数（ここでは一対）の視差画像となる。以下の説明において、瞳内の互いに異なる領域を通過した光束を互いに異なる受光部（サブ画素）により受光することを、瞳分割ともいう。
【００７０】
また、図４および図５において、射出瞳ＥＸＰの位置がずれる等して上述した共役関係が完全ではなくなったり、Ｐ１領域とＰ２領域とが部分的にオーバーラップしたりしても、得られた複数の撮影画像を視差画像として扱うことができる。
【００７１】
さらに別の例として、図６に示すように、１つの撮像装置３０１にそれぞれの光軸が離間した複数の撮像光学系ＯＳｊ（ｊ＝１，２）を設けることで、視差画像を取得することもできる。また、複数の撮像装置を用いて同一被写体を撮像することによっても視差画像を得ることができる。
【００７２】
次にステップＳ１０３では、画像処理部１０４（ノイズ低減処理情報決定部１０４ｂ）は、ステップＳ１０２で取得された光源照射角度に基づいてノイズ低減処理情報を決定する。ここではノイズ低減処理情報として、法線情報に含まれるノイズ量としての法線情報ノイズ量σｎを用いる。ノイズ量とはノイズ分布の標準偏差であり、法線情報ノイズ量σｎは法線の各自由度の値のノイズ量を指す。
【００７３】
状態検知部１０７で取得される撮像条件のうち撮像装置（撮像素子１０２）のＩＳＯ感度や入力画像の輝度レベル等の入力画像のノイズに関する条件をノイズ条件とする。このとき、図３に示したＲＯＭ１１１には、あるノイズ条件での様々な光源照射角度に対する法線情報ノイズ量σｎのデータが予め測定されて記憶されている。ノイズ低減処理情報決定部１０４ｂは、ノイズ低減処理情報を決定する際に、実際の光源照射角度に対応する法線情報ノイズ量σｎをＲＯＭ１１１から取得する。
【００７４】
また、様々なノイズ条件のそれぞれに対応する法線情報ノイズ量σｎをＲＯＭ１１１に記憶しておき、実際のノイズ条件と光源照射角度に対応する法線情報ノイズ量σｎをＲＯＭ１１１から取得するようにしてもよい。さらに、入力画像に含まれるノイズ量としての入力画像ノイズ量σｉごとに法線情報ノイズ量σｎをＲＯＭ１１１に記憶しておき、撮像時の入力画像ノイズ量σｉに対応する法線情報ノイズ量σｎをＲＯＭ１１１から取得するようにしてもよい。入力画像ノイズ量σｉは、ノイズ条件ごとにＲＯＭ１１１に記憶しておいてもよいし、ＭＡＤ（Median Absolute Deviation）を用いて算出してもよい。
【００７５】
ＭＡＤは、撮影画像をウェーブレット変換して取得した最も高周波なＨＨ１のサブバンド画像のウェーブレット係数ｗＨＨ１を用いて以下の（１０）式により算出する。
【００７６】
ＭＡＤ＝ｍｅｄｉａｎ（｜ｗＨＨ１−ｍｅｄｉａｎ（ｗＨＨ１）｜）  ・・・（１０）
撮影画像に含まれる入力画像ノイズ量σｉは、ＭＡＤと標準偏差が（１１）式の関係であることから推定することができる。
σｉ＝ＭＡＤ／０．６７４５  ・・・（１１）
図７には、ノイズ量のデータを記憶するデータテーブルの例を示している。この例では、複数のノイズ条件および複数の光源照射角度のそれぞれに対して入力画像ノイズ量σｉおよび法線情報ノイズ量σｎが保持されている。状態検知部１０７で取得される撮像条件（ノイズ条件）とステップＳ１０２で取得される光源照射角度とに基づいてノイズ低減処理情報を決定することができる。
【００７７】
データテーブルのフォーマットは図７に示したものに限らず、入力画像ノイズ量を含まなかったり、光源照射角度の代わりに被写体距離に対する法線情報ノイズ量を保持したりしてもよい。また、法線情報ノイズ量σｎおよび入力画像ノイズ量σｉは撮影画像における部分領域（複数の画素を含む領域または１画素）ごとに取得してもよい。なお、ステップＳ１０３を次に説明するステップＳ１０４の後に行ってもよい。
【００７８】
ステップＳ１０４では、画像処理部１０４（法線情報推定部１０４ａ）は、ステップＳ１０１で取得された複数の撮影画像の輝度情報から得られる光源位置に応じた輝度情報の変化を用いる照度差ステレオ法により法線情報を推定（生成）する。
【００７９】
次にステップＳ１０５では、画像処理部１０４（ノイズ低減処理部１０４ｃ）は、ステップＳ１０３で算出された法線情報ノイズ量σｎを用いて、ステップＳ１０４で推定された法線情報に対してノイズ低減処理を行う。ノイズ低減処理としては、一般的な画像データに対するノイズ低減処理手法を用いて行えばよい。例えば、以下の（１２）式に示すバイラテラルフィルタを用いてもよい。
【００８０】
【数１０】
0006786225.tif 000011
【００８１】
（１２）式において、ｉ，ｊは注目画素の位置であり、ｆ（ｉ，ｊ）は入力画像である。ｇ（ｉ，ｊ）はノイズ低減処理後の画像であり、ｗはフィルタサイズである。σ１は空間方向分散値であり、σ２は輝度値方向分散値である。このσ２（フィルタにおける変数）としてノイズ低減処理情報である法線情報ノイズ量σｎを用いることで、法線情報に含まれるノイズ量に応じたノイズ低減処理を行うことができ、法線情報の取得時に発生したノイズの影響を効果的に低減することができる。
【００８２】
なお、本実施例では、光源照射角度が小さいほど法線情報ノイズ量σｎが大きくなり、この結果σ２も大きくなってノイズ低減処理の強度が強くなる。逆に言えば、光源照射角度が大きいほど法線情報ノイズ量σｎが小さくなり、この結果σ２も小さくなってノイズ低減処理の強度が弱くなる。このように、ノイズ低減処理情報としての法線情報ノイズ量σｎは、ノイズ低減処理の強度を設定する情報である。
【００８３】
ここでは、法線情報に対してノイズ低減処理を行ったが、入力画像に対してノイズ低減処理を行ってもよい。この場合、入力画像自体のノイズ量は法線情報ノイズ量σｎではなく入力画像ノイズ量σｉであるため、σ２（つまりはノイズ低減処理情報）として入力画像ノイズ量σｉを用いる。ただし、同じ入力画像ノイズ量σｉに対して法線情報ノイズ量σｎは光源情報である光源照射角度に依存して異なる値となるため、光源照射角度に応じてσ１を変えることで、法線情報ノイズ量σｎに応じたノイズ低減処理を入力画像に対して行うことができる。この場合、入力画像ノイズ量σｉおよび光源照射角度に対してノイズ低減処理後に所望のノイズ量となるようなσ１もノイズ低減処理情報として保持しておくとよい。
【００８４】
また、リライティング画像でのノイズ量を基準として、リライティング画像に対してノイズ低減処理を行ってもよい。この場合には、法線情報の推定処理だけでなく、法線情報からリライティング画像を生成する処理までを含めた一連の処理で発生するノイズ量である、リライティング画像ノイズ量σｒを算出する。この際、リライティング画像ノイズ量σｒを、法線情報ノイズ量σｎと同様に、リライティングする光源条件ごとに測定してＲＯＭ１１１に記憶しておいてもよい。リライティング画像に対してノイズ低減処理を行う際のσ２（つまりはノイズ低減処理情報）としてリライティング画像ノイズ量σｒを用いることで、リライティング画像に含まれるノイズ量に応じたノイズ低減処理を行うことができる。
【００８５】
さらに、法線情報ノイズ量σｎに応じたノイズ低減処理を入力画像に対して行ったように、リライティング画像ノイズ量σｒに応じたノイズ低減処理を入力画像や法線情報に対して行ってもよい。もちろん、入力画像と法線情報に対してともにノイズ低減処理を行うといったように、複数の処理対象に対してノイズ低減処理を行ってもよい。
【００８６】
ノイズ低減処理手法の例としてバイラテラルフィルタを用いる例を挙げたが、光源情報に依存する法線情報ノイズ量σｎやリライティング画像ノイズ量σｒに応じてノイズ低減処理を行えば、他のノイズ低減処理手法を用いてもよい。
【００８７】
また、ノイズ低減処理を行う入力画像やリライティング画像は、撮影画像そのものでなくともよい。例えば、デコンボリューション処理、エッジ強調、Richardson‐lucy法のような超解像処理等の高解像度化処理、デモザイキング処理等、ノイズ低減処理以外の画像処理がなされた画像であってもよい。また、特定の偏光成分や拡散反射、鏡面反射等の反射成分を抽出した画像でもよい。
【実施例２】
【００８８】
次に、本発明の実施例２について説明する。図９のフローチャートには、本実施例においてシステムコントローラ１１０および画像処理部１０４が行う法線情報の推定処理およびノイズ低減処理を含む画像処理の流れを示している。本実施例の撮像装置の構成は実施例１にて説明した撮像装置３００と同じであり、本実施例において実施例１と共通する構成要素には実施例１と同符号を付す。また、本実施例の画像処理は、光源情報として、法線情報の推定に用いる撮影画像（入力画像）の数を取得する点で実施例１と異なる。ステップＳ１０１、Ｓ１０４およびＳ１０５は、実施例１（図１）におけるステップＳ１０１、Ｓ１０４およびＳ１０５と同じである。
【００８９】
ステップＳ１０１で複数の光源位置での撮影画像から輝度情報が取得された後、ステップＳ２０１では、画像処理部１０４（法線情報推定部１０４ａ）は、各撮影画像中の陰影領域および鏡面反射領域を判定する。前述したように照度差ステレオ法による法線情報の推定を正しく行うために、陰影領域や鏡面反射領域を含む撮影画像の輝度情報を用いない方が良い。したがって、取得した全ての撮影画像のうち陰影領域または鏡面反射領域を含むと判定された撮影画像を除いた撮影画像の数を法線情報の推定に用いることができる撮影画像の数（以下、法線推定用画像数という）として決定する。
【００９０】
なお、ステップＳ２０１において法線推定用画像数を決定する場合に、陰影領域や鏡面反射領域を含む撮影画像を除くだけでなく、意図しない環境光源による光やゴーストが写り込んだ画像を除外してもよい。また、法線情報の推定処理を高速化するために、意図的に法線推定用画像数を減らしてもよい。
【００９１】
次にステップＳ２０２では、画像処理部１０４（ノイズ低減処理情報決定部１０４ｂ）は、ステップＳ２０１で取得された法線推定用画像数に基づいてノイズ低減処理情報を決定（取得）する。本実施例でも、実施例１のステップＳ１０３と同様に、法線情報ノイズ量σｎやリライティング画像ノイズ量σｒを法線推定用画像数ごとに予め測定してＲＯＭ１１１に記憶しておく。そして、ノイズ低減処理情報を決定する際に実際の法線推定用画像数に対応するノイズ量をＲＯＭ１１１から取得する。
【００９２】
光源情報として、法線推定用画像数と実施例１で説明した光源照射角度とを併せ用いてノイズ低減処理情報を決定してもよい。さらに、光源強度の安定性等、入力画像のノイズに影響を与える他の光源情報を用いてもよい。
【００９３】
本実施例によれば、法線推定用画像数に応じたノイズ低減処理情報を取得することで、適切なノイズ低減処理を行うことができる。
【００９４】
上記各実施例では、画像処理装置としての画像処理部１０４が撮像装置３００に内蔵されている場合について説明したが、パーソナルコンピュータ等の撮像装置とは別装置としての画像処理装置でも各実施例で説明した画像処理を行うことができる。
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９５】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００９６】
１００  撮像部
２００  光源
１０４  画像処理部
１０４ａ  法線情報推定部
１０４ｂ  ノイズ低減処理情報決定部
１０４ｃ  ノイズ低減処理部
１０４ｄ  光源情報取得部
【図１】
0006786225.tif 000012
【図２】
0006786225.tif 000013
【図３】
0006786225.tif 000014
【図４】
0006786225.tif 000015
【図５】
0006786225.tif 000016
【図６】
0006786225.tif 000017
【図７】
0006786225.tif 000018
【図８】
0006786225.tif 000019
【図９】
0006786225.tif 000020
【図１０】
0006786225.tif 000021