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