(57)【要約】      （修正有）【課題】影境界領域において高精度に被写体の面法線を算出可能な処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体を提供する。【解決手段】互いに異なる複数の位置の光源２００からの光を被写体に順次照射して被写体の複数の撮影画像を取得する撮影画像取得部１０４ａと、複数の撮影画像の影領域を判定することで第１の影マップを作成する第１の影マップ作成部１０４ｂと、第１の影マップに基づいて第２の影マップを作成する第２の影マップ作成部１０４ｃと、第２の影マップおよび複数の撮影画像に基づいて算出された被写体の法線情報を取得する法線情報取得部１０４ｄと、を有する。【選択図】図２Ａ
2018054412.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なる複数の位置の光源からの光を被写体に順次照射して前記被写体の複数の撮影画像を取得する撮影画像取得部と、
前記複数の撮影画像の影領域を判定することで第１の影マップを作成する第１の影マップ作成部と、
前記第１の影マップに基づいて第２の影マップを作成する第２の影マップ作成部と、
前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得する法線情報取得部と、を有することを特徴とする処理装置。
【請求項２】
前記処理装置は、
前記第１の影マップ作成部は、前記複数の撮影画像の影領域を判定することで複数の第１の影マップを作成し、
前記第２の影マップ作成部は、前記複数の第１の影マップのそれぞれに対応する複数の第２の影マップを作成し、
前記法線情報取得部は、前記複数の第２の影マップおよび前記複数の撮影画像に基づいて前記被写体の法線情報を取得することを特徴とする請求項１に記載の処理装置。
【請求項３】
前記第２の影マップ作成部は、前記第１の影マップを膨張させることで前記第２の影マップを作成することを特徴とする請求項１または２に記載の処理装置。
【請求項４】
前記第２の影マップ作成部は、前記第１の影マップおよび前記複数の撮影画像の輝度情報に基づいて前記第２の影マップを作成することを特徴とする請求項１から３のいずれか１項に記載の処理装置。
【請求項５】
前記第２の影マップ作成部は、前記第１の影マップおよび前記撮影画像の輝度勾配に基づいて前記第２の影マップを作成することを特徴とする請求項４に記載の処理装置。
【請求項６】
前記第２の影マップ作成部は、前記第１の影マップおよび光学情報に基づいて前記第２の影マップを作成することを特徴とする請求項１から３のいずれか１項に記載の処理装置。
【請求項７】
前記光学情報は、前記被写体を撮像した撮像光学系の収差情報であることを特徴とする請求項６に記載の処理装置。
【請求項８】
前記第２の影マップ作成部は、前記第１の影マップ、および前記被写体を撮像した際の撮影条件と光源条件の少なくとも一方に基づいて前記第２の影マップを作成することを特徴とする請求項１から３のいずれか１項に記載の処理装置。
【請求項９】
前記第２の影マップ作成部は、前記第１の影マップ、および前記被写体を撮像した際の撮影条件における回折現象に基づいて前記第２の影マップを作成することを特徴とする請求項８に記載の処理装置。
【請求項１０】
前記第２の影マップおよび前記複数の撮影画像に基づいて前記被写体の法線情報を算出する法線情報算出部を更に有することを特徴とする請求項１から９のいずれか１項に記載の処理装置。
【請求項１１】
光源部と、
互いに異なる複数の位置の前記光源部からの光を被写体に順次照射して前記被写体の複数の撮影画像を取得する撮影画像取得部と、前記複数の撮影画像の影領域を判定することで第１の影マップを作成する第１の影マップ作成部と、前記第１の影マップに基づいて第２の影マップを作成する第２の影マップ作成部と、前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得する法線情報取得部と、を備える処理装置と、を有することを特徴とする処理システム。
【請求項１２】
前記光源部は、移動可能であることを特徴とする請求項１１に記載の処理システム。
【請求項１３】
互いに位置の異なる３つ以上の光源部を備えることを特徴とする請求項１１に記載の処理システム。
【請求項１４】
前記被写体を撮像する撮像部を更に有することを特徴とする請求項１０から１３のいずれか１項に記載の処理システム。
【請求項１５】
互いに異なる複数の位置の光源からの光を順次照射される被写体を撮像する撮像部と、
前記撮像部が撮像する前記被写体の複数の輝度情報を取得し、前記複数の撮影画像の影領域を判定することで作成された第１の影マップを取得し、前記第１の影マップに基づいて第２の影マップを作成し、前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得する処理部と、を有することを特徴とする撮像装置。
【請求項１６】
互いに異なる複数の位置の光源からの光を被写体に順次照射して前記被写体の複数の撮影画像を取得するステップと、
前記複数の撮影画像の影領域を判定することで第１の影マップを作成するステップと、
前記第１の影マップに基づいて第２の影マップを作成するステップと、
前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得するステップと、を有することを特徴とする処理方法。
【請求項１７】
請求項１６に記載の処理方法をコンピュータに実行させるためのプログラム。
【請求項１８】
請求項１７に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
被写体に関するより多くの物理情報を取得しておくことで、撮像後の画像処理において、物理モデルに基づく画像生成を行うことができる。例えば、被写体の見えを変更した画像を生成することが可能となる。被写体の見えは、被写体の形状情報、被写体の反射率情報、光源情報等で決定される。光源から射出され、被写体によって反射された光の物理的な振る舞いは局所的な面法線に依存するため、形状情報としては３次元形状ではなく被写体の面法線を用いることが特に有効である。被写体の面法線を取得する方法として、例えば、レーザ光を用いた三角測量や２眼ステレオなどの方法で取得された距離情報から求められた三次元形状を面法線情報に変換する方法が知られている。しかしながら、このような方法では装置は複雑になり、取得された面法線の精度は不十分である。
【０００３】
そこで、特許文献１や非特許文献１では、被写体の面法線を直接取得する方法として照度差ステレオ法を開示している。照度差ステレオ法は、被写体の面法線と被写体から光源への方向とに基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから面法線を算出する方法である。被写体の反射特性は、例えば、ランバートの余弦則に従うランバート反射モデルを用いて近似することができる。
【０００４】
また、照度差ステレオ法では、複数の光源位置での被写体の輝度情報が必要となるため、陰影や輝度飽和等で輝度情報が観測されない光源位置での輝度情報を使用すると正確に被写体の面法線を算出することができない。特許文献２では、輝度情報が観測されない光源位置をしきい値判定し、その光源位置における輝度情報を使用しないようにすることで、精度良く被写体の面法線を算出する方法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１２２１５８号公報
【特許文献２】特開２０１２−１２２８７０号公報
【非特許文献】
【０００６】
【非特許文献１】松下康之、“照度差ステレオ”、情報処理学会研究報告、Ｖｏｌ．２０１１−ＣＶＩＭ−１７７、Ｎｏ．２９、ｐｐ．１−１２、２０１１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
照度差ステレオ法により被写体の面法線を取得する際、照射した光が遮られることで被写体中に影の領域が生じる場合がある。影領域のような輝度情報が取得できない領域に対しては、特許文献２のようにしきい値判定を行うことで被写体の面法線を算出することができる。しかしながら、影領域と影ではない領域の境界部分（以下、影境界領域という）には、撮像光学系の収差や遮蔽物からの光の回折、光源の大きさの影響および被写体での内部散乱等によってボケが生じる。影境界領域では照射した光が遮られない条件下で観測されるはずの本来の輝度値を取得できないため、影境界領域を影であると判定して影領域と同様に面法線算出に使用しないことが望ましい。しかしながら、影境界領域ではある程度の輝度値を有するため、しきい値判定では影であると判定されない。そのため、しきい値判定を用いた面法線算出処理では、影境界領域における被写体の面法線を正確に算出することができない。
【０００８】
このような課題に鑑みて、本発明は、影境界領域において高精度に被写体の面法線を算出可能な処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面としての処理装置は、互いに異なる複数の位置の光源からの光を被写体に順次照射して前記被写体の複数の撮影画像を取得する撮影画像取得部と、前記複数の撮影画像の影領域を判定することで第１の影マップを作成する第１の影マップ作成部と、前記第１の影マップに基づいて第２の影マップを作成する第２の影マップ作成部と、前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得する法線情報取得部と、を有することを特徴とする。
【００１０】
また、本発明の他の側面としての処理システムは、光源部と、互いに異なる複数の位置の前記光源部からの光を被写体に順次照射して前記被写体の複数の撮影画像を取得する撮影画像取得部と、前記複数の撮影画像の影領域を判定することで第１の影マップを作成する第１の影マップ作成部と、前記第１の影マップに基づいて第２の影マップを作成する第２の影マップ作成部と、前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得する法線情報取得部と、を備える処理装置と、を有することを特徴とする。
【００１１】
また、本発明の他の側面としての撮像装置は、互いに異なる複数の位置の光源からの光を順次照射される被写体を撮像する撮像部と、前記撮像部が撮像する前記被写体の複数の輝度情報を取得し、前記複数の撮影画像の影領域を判定することで作成された第１の影マップを取得し、前記第１の影マップに基づいて第２の影マップを作成し、前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得する処理部と、を有することを特徴とする。
【００１２】
また、本発明の他の側面としての処理方法は、互いに異なる複数の位置の光源からの光を被写体に順次照射して前記被写体の複数の撮影画像を取得するステップと、前記複数の撮影画像の影領域を判定することで第１の影マップを作成するステップと、前記第１の影マップに基づいて第２の影マップを作成するステップと、前記第２の影マップおよび前記複数の撮影画像に基づいて算出された前記被写体の法線情報を取得するステップと、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、影境界領域において高精度に被写体の面法線を算出可能な処理装置、処理システム、撮像装置、処理方法、プログラム、および記録媒体を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施例１の撮像装置の外観図である。
【図２Ａ】実施例１の撮像装置のブロック図である。
【図２Ｂ】実施例１の処理システムを示す図である。
【図３】実施例１の面法線算出処理を示すフローチャートである。
【図４】実施例１の第１の影マップの作成例を示す図である。
【図５】実施例１の撮影画像における微分値のピークの算出方法を示す図である。
【図６】実施例１の第２の影マップの作成例を示す図である。
【図７】実施例１の点像強度分布を用いた膨張処理のパラメータの決定方法を示す図である。
【図８】実施例２の面法線算出処理を示すフローチャートである。
【図９】実施例２の撮像素子の受光部と撮像光学系の瞳との関係図である。
【図１０】実施例２の撮像部の模式図である。
【図１１】実施例２の撮像の他の例を示す図である。
【図１２】実施例２の光の回折による影境界領域を示す図である。
【図１３】実施例２の光源の大きさの影響による影境界領域を示す図である。
【図１４】実施例３の法線情報取得システムの外観図である。
【図１５】Ｔｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルの説明図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
【００１６】
照度差ステレオ法は、被写体の面法線と被写体から光源への方向とに基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから面法線を算出する方法である。反射特性は、所定の面法線と光源の位置が与えられたときに反射率が一意に定まらない場合、ランバートの余弦則に従うランバート反射モデルで近似すればよい。また、鏡面反射成分は、図１５に示されるように、光源ベクトルｓと視線方向ベクトルｖの２等分線と、面法線ｎのなす角αに依存する。したがって、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報は、光源が点灯している場合と消灯している場合のそれぞれの被写体を撮像し、これらの差分をとることで環境光等の光源以外の光源による影響を除いてもよい。
【００１７】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をｉ、物体のランバート拡散反射率をρｄ、入射光の強さをＥ、物体から光源への方向（光源方向）を示す単位ベクトル(光源ベクトル)をｓ、物体の単位面法線ベクトルをｎとすると、輝度値ｉはランバートの余弦則から以下の式（１）で示される。
【００１８】
【数１】
2018054412.tif 000003
【００１９】
異なるＭ個（Ｍ≧３）の光源ベクトルの各成分をｓ１、ｓ２、・・・、ｓＭ、光源ベクトルの各成分ごとの輝度値をｉ１、ｉ２、・・・ｉＭとすると、式（１）は以下の式（２）で示される。
【００２０】
【数２】
2018054412.tif 000004
【００２１】
式（２）の左辺はＭ行１列の輝度ベクトル、右辺の［ｓ１Ｔ、・・・ｓＭＴ］はＭ行３列の光源方向を示す入射光行列Ｓ、ｎは３行１列の単位面法線ベクトルである。Ｍ＝３の場合は、入射光行列Ｓの逆行列Ｓ−１を用いて、Ｅρｄｎは以下の式（３）で示される。
【００２２】
【数３】
2018054412.tif 000005
【００２３】
式（３）の左辺のベクトルのノルムが入射光の強さＥとランバート拡散反射率ρｄの積であり、正規化したベクトルが物体の面法線ベクトルとして算出される。すなわち、入射光の強さＥとランバート拡散反射率ρｄは積の形でのみ条件式に現れるので、Ｅρｄを１つの変数とみなすと、式（３）は単位面法線ベクトルｎの２自由度と合わせて未知の３変数を決定する連立方程式とみなせる。したがって、少なくとも３つの光源を用いて輝度情報を取得することで、各変数を決定することができる。なお、入射光行列Ｓが正則行列でない場合は逆行列が存在しないため、入射光行列Ｓが正則行列となるように入射光行列Ｓの各成分ｓ１〜ｓ３を選択する必要がある。すなわち、成分ｓ３を成分ｓ１、ｓ２に対して線形独立に選択することが望ましい。
【００２４】
また、Ｍ＞３の場合は求める未知変数より多い条件式が得られるので、任意に選択した３つの条件式からＭ＝３の場合と同様の方法で単位面法線ベクトルｎを算出すればよい。４つ以上の条件式を用いる場合は、入射光行列Ｓが正則行列ではなくなるため、例えば、Ｍｏｏｒｅ−Ｐｅｎｒｏｓｅ疑似逆行列を使って近似解を算出すればよい。また、フィッティング手法や最適化手法によって単位面法線ベクトルｎを算出してもよい。
【００２５】
光源ベクトルの各成分ごとの輝度値のうち、陰影や輝度飽和により正確な値が取得できなかった輝度値を用いて算出された単位面法線ベクトルｎは正確ではない。したがって、陰影や輝度飽和により正確な値が取得できなかった輝度値は使用せずに単位面法線ベクトルｎを算出してもよい。つまり、Ｍ＝ｍの光源ベクトルｓｍで得られた輝度値ｉｍが陰影や輝度飽和である場合には、光源ベクトルｓｍおよび輝度値ｉｍを式（３）から除外して単位面法線ベクトルｎを算出する。除外する輝度値はしきい値判定により決定すればよい。ただし、上述したように単位面法線ベクトルｎを算出するためには、少なくとも３つの輝度情報が必要である。
【００２６】
被写体の反射特性をランバート反射モデルとは異なるモデルで仮定した場合は、条件式が単位面法線ベクトルｎの各成分に対する線形方程式と異なる場合がある。その場合、未知変数以上の条件式が得られれば、フィッティング手法や最適化手法を用いることができる。
【００２７】
また、Ｍ＞３の場合には３以上Ｍ−１以下の複数の条件式が得られるため、単位面法線ベクトルｎの複数の解の候補を求めることができる。この場合、さらに別の条件を用いて複数の解の候補から解を選択すればよい。例えば、単位面法線ベクトルｎの連続性を条件として用いることができる。単位面法線ｎを撮像装置の１画素ごとに算出する場合、画素（ｘ、ｙ）での面法線をｎ（ｘ、ｙ）として、ｎ（ｘ−１、ｙ）が既知であれば以下の式（４）で示される評価関数が最小となる解を選択すればよい。
【００２８】
【数４】
2018054412.tif 000006
【００２９】
また、ｎ（ｘ＋１、ｙ）やｎ（ｘ、ｙ±１）も既知であれば、以下の式（５）が最小となる解を選択すればよい。
【００３０】
【数５】
2018054412.tif 000007
【００３１】
既知の面法線がなく、全画素位置で面法線の不定性があるとすれば、以下の式（６）で示される式（５）の全画素での総和が最小となるように解を選択してもよい。
【００３２】
【数６】
2018054412.tif 000008
【００３３】
なお、最近傍以外の画素での面法線を用いたり、注目する画素位置からの距離に応じて重みづけした評価関数を用いてもよい。
【００３４】
また、別の条件として、任意の光源位置での輝度情報を用いてもよい。ランバート反射モデルに代表される拡散反射モデルでは、単位面法線ベクトルと光源方向ベクトルが近いほど反射光の輝度が大きくなる。よって、複数の光源方向での輝度値のうち最も輝度値が大きくなる光源方向ベクトルに近い解を選択することで、単位面法線ベクトルを決定することができる。
【００３５】
また、鏡面反射モデルでは、光源ベクトルをｓ、物体からカメラへの方向の単位ベクトル(カメラの視線ベクトル)をｖとすると、以下の式（７）が成り立つ。
【００３６】
【数７】
2018054412.tif 000009
【００３７】
式（７）に示されるように、光源方向ベクトルｓとカメラの視線ベクトルｖが既知であれば単位面法線ベクトルｎを算出することができる。表面に粗さがある場合、鏡面反射も出射角の広がりを持つが、平滑面として求めた解の付近に広がるため、複数の解の候補うち最も平滑面に対する解に近い候補を選択すればよい。また、複数の解の候補の平均によって真の解を決定してもよい。
【実施例１】
【００３８】
図１は本実施例の撮像装置１の外観図であり、図２Ａは撮像装置１のブロック図である。撮像装置１は、撮像部１００および光源部２００を備える。撮像部１００は、撮像光学系１０１を備える。光源部２００は、撮像光学系１０１の光軸を中心とした同心円状に等間隔で配置された８個の光源から構成される。なお、照度差ステレオ法を実施する際に必要な光源は少なくとも３個であるため、光源部２００は３個以上の光源を備えていればよい。また、本実施例では光源部２００は複数の光源を撮像光学系１０１の光軸を中心とした同心円状に等間隔で配置しているが、本発明はこれに限定されない。また、本実施例では、光源部２００は、撮像装置１に内蔵されているが、着脱可能に取り付けられる構成としてもよい。
【００３９】
撮像光学系１０１は、絞り１０１ａを備え、被写体からの光を撮像素子１０２上に結像させる。本実施例では、撮像光学系１０１は、撮像装置１に内蔵されているが、一眼レフカメラのように撮像装置１に着脱可能に取り付けられる構成であってもよい。撮像素子１０２は、ＣＣＤセンサやＣＭＯＳセンサ等の光電変換素子により構成され、被写体を撮像する。撮像素子１０２の光電変換によって生成されたアナログ電気信号は、Ａ／Ｄコンバータ１０３でデジタル信号に変換されて画像処理部１０４に入力される。
【００４０】
画像処理部１０４は、デジタル信号に対して一般的に行われる画像処理と併せて、被写体の法線情報を算出する。画像処理部１０４は、撮影画像取得部１０４ａ、第１の影マップを作成する第１の影マップ作成部１０４ｂ、第１の影マップに基づいて第２の影マップを作成する第２の影マップ作成部１０４ｃ、および法線取得部（法線情報取得部）１０４ｄを備える。画像処理部１０４で処理された出力画像は、半導体メモリや光ディスク等の画像記録部１０９に保存される。また、出力画像を、表示部１０５に表示してもよい。なお、本実施例では、撮影画像取得部１０４ａ、第１の影マップ作成部１０４ｂ、第２の影マップ作成部１０４ｃ、および法線取得部１０４ｄは、撮像装置１に内蔵されているが、後述するように撮像装置１とは別に構成されてもよい。
【００４１】
情報入力部１０８は、ユーザーによって選択された撮影条件（絞り値、露出時間、および焦点距離など）をシステムコントローラ１１０に供給する。撮像制御部１０７は、システムコントローラ１１０からの情報に基づいて、ユーザーが選択した所望の撮影条件で画像を取得する。照射光源制御部１０６は、システムコントローラ１１０からの指示に応じて光源部２００の発光状態を制御する。
【００４２】
次に、図３のフローチャートを参照して、本実施例の面法線算出処理について説明する。図３は、本実施例の面法線算出処理を示すフローチャートである。本実施例の面法線算出処理は、システムコントローラ１１０および画像処理部１０４により、コンピュータプログラムとしての処理プログラムに従って実行される。なお、処理プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録してもよい。
【００４３】
ステップＳ１０１では、撮影画像取得部１０４ａは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の撮影画像を取得する。複数の撮影画像は、単一の光源の位置を変更して光源からの光を順次照射することで取得してもよいし、それぞれ位置の異なる複数の光源からの光を順次照射して取得してもよい。
【００４４】
ステップＳ１０２では、第１の影マップ作成部１０４ｂは、ステップＳ１０１で取得した複数の撮影画像それぞれにおいて影であると判定される画素をマップ化した複数の第１の影マップを作成する。例えば、各撮影画像の全画素のうち、輝度値がしきい値より小さい画素を影であると判定するしきい値判定を行うことで第１の影マップを作成すればよい。また、あらかじめ撮影時に作成した第１の影マップを撮影画像に付帯させておき、ステップＳ１０１で取得した撮影画像から第１の影マップを取得してもよい。本実施例では、撮影画像ごとに第１の影マップを作成しているが、あらかじめ影が発生する光源位置が認識されている場合は、その光源位置での撮影画像に対してのみ第１の影マップおよび後述する第２の影マップを作成してもよい。
【００４５】
図４は、第１の影マップの作成例を示す図である。図４（ｂ）は、図４（ａ）に示される撮影画像に対して、しきい値を１０としてしきい値判定を行うことで作成される第１の影マップを示している。図４（ｂ）の第１の影マップでは、影である画素を１、影ではない画素を０で表している。図４（ｂ）に示されるように、影境界領域は影であるとは判定されていない。
【００４６】
ステップＳ１０３では、第２の影マップ作成部１０４ｃは、ステップＳ１０２で作成した複数の第１の影マップのそれぞれに対応する複数の第２の影マップを作成する。上述したように、影境界領域は、影領域と同様に面法線算出に使用しないことが望ましいが、ある程度の輝度値を有するためしきい値判定では影であると判定されない。そのため、しきい値判定を用いた面法線算出処理では、影境界領域における被写体の面法線を正確に算出することができない。そこで、第２の影マップ作成部１０４ｃは、影境界領域を影領域として扱うために、一般的に画像処理で行われる膨張処理によって第１の影マップを膨張させることで第２の影マップを作成する。
【００４７】
膨張処理では、第１の影マップの各画素を原点とした構造化要素内に影判定されている画素が存在するならば、その画素は影であると判定することで第１の影マップを膨張させる。膨張処理を行う際の構造化要素のサイズや形状および膨張回数等のパラメータは任意に決定してよい。好ましくは、影境界領域のみを影領域として膨張するように膨張処理のパラメータを決定するとよい。影境界領域のみを影領域として膨張するためには、例えば、図４（ｂ）の第１の影マップにおけるエッジ近傍で図４（ａ）の撮影画像における微分値（輝度勾配）のピークを探索し、そのピークの画素が影判定されるように膨張処理のパラメータを決定すればよい。
【００４８】
図５は、撮影画像における微分値のピークの算出方法を示す図である。本実施例では、図５（ａ）に示される撮影画像の一部に対して図５（ｂ）のｓｏｂｅｌフィルタを適用することで、図５（ｃ）に示される微分値が算出される。本実施例では、水平方向のｓｏｂｅｌフィルタを適用しているが、垂直方向のｓｏｂｅｌフィルタを適用してもよい。影境界領域と影ではない領域との境界では輝度値が大きく変化する場合が多いため、微分値のピークがその境界部分に対応する。そこで、図５（ｃ）に示される微分値のピークの画素（灰色部分）が影判定されるまで、第１の影マップに対して膨張処理を行う。
【００４９】
図６は、第２の影マップの作成例を示す図である。本実施例では、図６（ａ）に示される第１の影マップに対して図６（ｂ）に示される中心を原点として水平方向へ３画素、垂直方向へ３画素から成る構造化要素を用いて膨張処理を複数回行うことで第２の影マップを作成する。膨張処理を１回行った後の図６（ｃ）に示される影マップでは、微分値のピーク（灰色部分）の画素が影判定されていない。本実施例では、再度膨張処理を行うことで、図６（ｄ）に示される微分値のピークの画素が影判定された（影境界領域が影判定された）第２の影マップを作成することができる。本実施例では膨張処理を複数回行うことで影境界領域が影判定された第２の影マップを作成したが、本発明はこれに限定されない。例えば、構造化要素のサイズや形状を調整して膨張処理を行ってもよい。また、微分値のピークの画素が影判定されるように膨張処理を行ったが、本発明はこれに限定されない。例えば、影境界領域の大きさを推定して膨張処理のパラメータを決定してもよい。
【００５０】
影境界領域の大きさを推定して膨張処理のパラメータを決定するために、撮影光学系の光学情報を用いてもよい。影境界領域は撮像光学系の収差等によってボケが生じた領域であるため、光学情報に基づいたボケ量（収差情報）から膨張処理のパラメータを決定できる。光学情報に基づいたボケ量の一例として、点像強度分布（ＰＳＦ：Ｐｏｉｎｔ  Ｓｐｒｅａｄ  Ｆｕｎｃｔｉｏｎ）が挙げられる。撮像により取得した撮影画像は、理想的な被写体像にＰＳＦが畳み込まれたものである。したがって、第１の影マップに対して膨張処理を行う構造化要素としてＰＳＦを用いる。例えば、図７（ａ）に示される撮像光学系のＰＳＦを２値化（しきい値０．０１）した図７（ｂ）に示される構造化要素（図７（ｂ））を用いて膨張処理を行う。
【００５１】
点像強度分布は、撮像光学系の状態によって膨大な量のバリエーションがある。例えば、焦点距離が可変であるズームレンズでは、焦点距離、Ｆ値、撮像距離、撮像素子（撮像面）上での位置、および色（波長）等の組み合わせ分だけ点像強度分布が存在する。さらに、撮像素子の画素サイズ等の撮像素子の特性と組み合わせた場合にもバリエーションがある。したがって、現実的には、多数の組み合わせの中から膨張処理に必要なものだけを保持しておけばよい。なお、保持していない撮像条件での点像強度分布は、補間処理によって生成してもよい。
【００５２】
点像強度分布は、あらかじめ光学ＣＡＤ等で計算しておき、膨張処理に適したデータベースにしてメモリに保持しておく。また、点像強度分布は、測定によって求め、データとして保持しておいてもよい。第２の影マップ作成部１０４ｃは、あらかじめ保持された点像強度分布のデータベースの中から撮影画像から取得される撮像時の焦点距離、Ｆ値、撮像距離、画素サイズ等の情報に一致する点像強度分布を取得すればよい。
【００５３】
また、被写体の内部散乱特性（例えば、双方向散乱面反射率分布関数：ＢＳＳＲＤＦ）に基づいて推定される影境界領域の大きさを用いて膨張処理を行ってもよい。
【００５４】
ステップＳ１０４では、法線取得部１０４ｄは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の撮影画像とステップＳ１０３で作成した第２の影マップを用いて、被写体の法線情報を算出する。つまり、法線取得部１０４ｄは、複数の撮影画像の各画素に対応する第２の影マップで影と判定された画素の輝度情報を使用せずに、照度差ステレオ法により面法線を算出する。法線情報は、照度差ステレオ法を用いて、光源位置による輝度情報の変化に基づいて算出される。照度差ステレオ法では各画素に最低３つの輝度情報が必要であるため、第２の影マップにより使用できる輝度情報が減ることで輝度情報が３つ未満にならないようにする必要がある。なお、本実施例では、法線取得部１０４ｄは、法線情報を算出しているが、他のユニットが算出した法線情報を取得するようにしてもよい。
【００５５】
なお、本実施例では撮像装置１内で被写体の法線情報を算出しているが、図２Ｂに示されるように、撮像装置１とは異なる処理システム２を用いて被写体の法線情報を算出してもよい。図２Ｂに示される処理システム２は、処理装置５００、法線算出部（法線情報算出部）５０１、撮像部５０２、および光源部５０３を備える。処理装置５００は、撮影画像取得部５００ａ、第１の影マップ作成部５００ｂ、第２の影マップ作成部５００ｃ、および法線取得部（法線情報取得部）５００ｄを備える。処理システム２を用いて法線情報を算出する場合、まず、撮影画像取得部５００ａは複数の光源位置で被写体の撮像を行うことで取得された複数の撮影画像を取得する。次に、第１の影マップ作成部５００ｂは、撮影画像取得部５００ａが取得した複数の撮影画像に基づいて第１の影マップを取得する。そして、第２の影マップ作成部５００ｃは、第１の影マップ作成部５００ｂが作成した第１の影マップから第２の影マップを作成する。さらに、法線算出部５０１は、撮影画像取得部５００ａが取得した複数の撮影画像と第２の影マップ作成部５００ｃが作成した第２の影マップを用いて被写体の法線情報を算出する。最後に、法線取得部５００ｄは、法線算出部５０１が算出した法線情報を取得する。なお、処理システムは少なくとも処理装置５００と法線算出部５０１を備えていればよく、処理装置５００が法線算出部５０１を備えていてもよい。また、撮像部５０２および光源部５０３はそれぞれ、個別の装置であってもよいし、光源部５０３が撮像部５０２に内蔵されていてもよい。
【００５６】
以上説明したように、本実施例では、影境界領域においても高精度に被写体の法線情報を算出することができる。
【実施例２】
【００５７】
本実施例では、影の原因となる光の遮蔽物、被写体および光源の３次元位置関係（撮像条件）と光源の大きさ（光源条件）の少なくとも一方に基づいて推定される影境界領域の大きさに基づいて膨張処理を行い、法線情報を取得する方法について説明する。本実施例の撮像装置は、実施例１と同様の撮像装置であるが、本実施例では被写体空間の３次現位置情報が必要となるため、後述する被写体距離算出部を有することが望ましい。
【００５８】
図８のフローチャートを参照して、本実施例の面法線算出処理について説明する。図８は、本実施例の面法線算出処理を示すフローチャートである。本実施例の面法線算出処理は、図２Ａに示されるシステムコントローラ１１０および画像処理部１０４により、コンピュータプログラムとしての処理プログラムに従って実行される。なお、処理プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録してもよい。
【００５９】
本実施例のステップＳ２０１、Ｓ２０２、およびＳ２０５はそれぞれ、実施例１のステップＳ１０１、Ｓ１０２、およびＳ１０４と同様であるため、詳細な説明は省略する。
【００６０】
ステップＳ２０３では、被写体距離算出部は、被写体距離を算出する。本実施例では、異なる視点から撮影した複数の視差画像を取得するステレオ法によって被写体距離を算出する。ステレオ法では、取得した複数の視差画像中の被写体の対応点の視差量と撮影した各視点の位置情報および光学系の焦点距離から三角測量によって奥行きを算出する。被写体距離は、被写体の対応点で算出された奥行きの平均値としてもよいし、被写体の特定の点における奥行きとしてもよい。視差画像から被写体距離を算出する場合、複数の視差画像の撮像部は、図９に示されるように、撮像光学系の瞳のうちそれぞれ異なる領域を通過した複数の光束を撮像素子の互いに異なる受光部（画素）に導いて光電変換を行う撮像系を有する。
【００６１】
図９は、撮像素子の受光部と撮像光学系の瞳との関係図である。撮像素子には、受光部であるＧ１画素とＧ２画素の対（画素対）が複数配列されている。複数のＧ１画素をまとめてＧ１画素群といい、複数のＧ２画素をまとめてＧ２画素群という。対のＧ１画素とＧ２画素は、共通の（すなわち、画素対ごとに１つずつ設けられた）マイクロレンズＭＬを介して撮像光学系の射出瞳ＥＸＰと共役な関係を有する。また、マイクロレンズＭＬと受光部との間には、カラーフィルタＣＦが設けられている。
【００６２】
図１０は、図９の射出瞳ＥＸＰの位置に薄肉レンズがあると仮定した場合の撮像系の模式図である。Ｇ１画素は射出瞳ＥＸＰのうちＰ１領域を通過した光束を受光し、Ｇ２画素は射出瞳ＥＸＰのうちＰ２領域を通過した光束を受光する。撮像している物点ＯＳＰには必ずしも物体が存在している必要はなく、物点ＯＳＰを通った光束は通過する瞳内での領域（位置）に応じてＧ１画素またはＧ２画素に入射する。瞳内の互いに異なる領域を光束が通過することは、物点ＯＳＰからの入射光が角度（視差）によって分離されることに相当する。すなわち、マイクロレンズＭＬごとに設けられたＧ１画素およびＧ２画素のうち、Ｇ１画素からの出力信号を用いて生成された画像とＧ２画素からの出力信号を用いて生成された画像とが、互いに視差を有する複数（ここでは一対）の視差画像となる。以下の説明において、瞳内の互いに異なる領域を通過した光束を互いに異なる受光部（画素）により受光することを瞳分割という。
【００６３】
図９および図１０において、射出瞳ＥＸＰの位置がずれる等して、上述した共役関係が完全ではなくなったりＰ１領域とＰ２領域とが部分的にオーバーラップしたりしても、得られた複数の画像を視差画像として扱うことができる。
【００６４】
図１１は、撮像の他の例を示す図である。図１１に示されるように、１つの撮像装置に複数の撮像光学系ＯＳｊ（ｊ＝１、２）を設けることで視差画像を取得することができる。また、複数のカメラを用いて同一被写体を撮像する場合も視差画像が得られる。
【００６５】
なお、本実施例ではステレオ法によって被写体距離を算出したが、本発明はこれに限定されない。例えば、レーザ距離計等を用いて算出してもよい。
【００６６】
ステップＳ２０４では、第２の影マップ作成部１０４は、撮像条件および光源条件の少なくとも一方に基づいて推定される影境界領域の大きさを用いて膨張処理を行うことで第２の影マップを作成する。例えば、図１２に示されるように、影の原因となる光の遮蔽物、被写体および光源の３次元位置関係（撮影条件）に基づいて推定される光の回折現象による影境界領域の大きさを用いて膨張処理を行ってもよい。また、図１３に示されるように、３次元位置関係および光源の大きさ（光源条件）に基づいて推定される影境界領域の大きさを用いて膨張処理を行ってもよい。
【００６７】
以上説明したように、本実施例では、影境界領域においても高精度に被写体の法線情報を算出することができる。
【実施例３】
【００６８】
実施例１および２では、光源を内蔵した撮像装置について説明したが、本実施例では撮像装置と光源ユニットから構成される法線情報取得システムについて説明する。
【００６９】
図１４は、法線情報取得システムの外観図である。法線情報取得システムは、被写体３０３を撮像する撮像装置３０１、および複数の光源ユニット３０２を備える。本実施例の撮像装置３０１は、実施例１と同様の撮像装置であるが、複数の光源を内蔵する構成である必要はない。
【００７０】
光源ユニット３０２は、撮像装置３０１と有線または無線で接続され、撮像装置３０１からの情報に基づいて制御できることが好ましい。また、照度差ステレオ法では少なくとも３光源を順次照射して撮像された画像が必要であるが、光源が移動可能に構成された光源ユニットを使用する場合、少なくとも１つの光源ユニットを備えていればよい。ただし、光源を移動させて、最低３つの光源位置で撮影を行う必要がある。なお、光源ユニット３０２が自動で光源位置を変更できない場合や光源ユニット３０２が撮像装置３０１により制御できない場合には、撮像装置３０１の表示部に表示される光源位置に位置するようにユーザーに光源ユニット３０２を調整させてもよい。
【００７１】
本実施例の面法線算出処理は、実施例１の処理と同様であるため詳細な説明は省略する。
【００７２】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００７３】
５００    処理装置
５００ａ  撮影画像取得部
５００ｂ  第１の影マップ作成部
５００ｃ  第２の影マップ作成部
５００ｄ  法線取得部（法線情報取得部）
【図１】
2018054412.tif 000010
【図２Ａ】
2018054412.tif 000011
【図２Ｂ】
2018054412.tif 000012
【図３】
2018054412.tif 000013
【図４】
2018054412.tif 000014
【図５】
2018054412.tif 000015
【図６】
2018054412.tif 000016
【図７】
2018054412.tif 000017
【図８】
2018054412.tif 000018
【図９】
2018054412.tif 000019
【図１０】
2018054412.tif 000020
【図１１】
2018054412.tif 000021
【図１２】
2018054412.tif 000022
【図１３】
2018054412.tif 000023
【図１４】
2018054412.tif 000024
【図１５】
2018054412.tif 000025