(57)【要約】      （修正有）【課題】簡易な装置構成にて高精度な形状情報を取得することのできる画像処理装置を提供する。【解決手段】撮像装置１０００は、撮像光学系１０１の瞳の互いに異なる領域を通過した複数の光束を互いに異なる画素で受光することにより複数の視差画像を取得可能な撮像素子１０２と、撮像素子１０２を用いて得られた画像に対して画像処理を行う画像処理部１０４と、を有する。画像処理部１０４は、互いに異なる少なくとも３つの光源条件を含む複数の光源条件で撮像素子１０２を用いて撮影された複数の照度差画像に基づいて第１の形状情報を取得する第１取得部１０４ａと、複数の視差画像を用いて第２の形状情報を取得する第２取得部１０４ｂと、第１の形状情報と第２の形状情報を用いて第３の形状情報を取得する第３取得部１０４ｃと、を備える。【選択図】図３
2020003432.tif 000002
【特許請求の範囲】
【請求項１】
撮像光学系の瞳の互いに異なる領域を通過した複数の光束を互いに異なる画素で受光することにより複数の視差画像を取得可能な撮像素子と、
前記撮像素子を用いて得られた画像に対して画像処理を行う画像処理部と、を有する撮像装置であって、
前記画像処理部は、
互いに異なる少なくとも３つの光源条件を含む複数の光源条件で前記撮像素子を用いて撮影された複数の照度差画像に基づいて被写体の第１の形状情報を取得する第１取得部と、
前記複数の視差画像を用いて被写体の第２の形状情報を取得する第２取得部と、
前記第１の形状情報と前記第２の形状情報を用いて被写体の第３の形状情報を取得する第３取得部と、
を備えることを特徴とする撮像装置。
【請求項２】
前記第１の形状情報は法線情報であり、前記第２の形状情報は距離情報であることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記撮像光学系の瞳のうち前記複数の照度差画像に含まれる画像を撮影する際に光束が通過する領域は、前記複数の視差画像のうちの少なくとも１つを撮影する際に光束が通過する領域の少なくとも一部を含むことを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記撮像光学系の瞳のうち、前記複数の視差画像に含まれる各画像を撮影する際に光束が通過するそれぞれの領域は、いずれも前記複数の照度差画像に含まれる画像を撮影する際に光束が通過する領域と共通部分を有することを特徴とする請求項１乃至３のいずれか一項に記載の撮像装置。
【請求項５】
前記複数の照度差画像に含まれる画像は前記複数の視差画像に対応する全ての画素を加算して取得された画像であることを特徴とする請求項１乃至４のいずれか一項に記載の撮像装置。
【請求項６】
前記撮像光学系の瞳のうち前記複数の照度差画像に含まれる画像を撮影する際に光束が通過する領域は、前記複数の視差画像のうち少なくとも１つの画像を撮影する際に光束が通過する領域と同一であることを特徴とする請求項１乃至５のいずれか一項に記載の撮像装置。
【請求項７】
前記第２の形状情報は距離情報であり、
前記複数の照度差画像に含まれる各画像は、前記複数の視差画像のうちの前記距離情報の基準となる基準画像に対応する画素により取得された画像であることを特徴とする請求項１乃至６のいずれか一項に記載の撮像装置。
【請求項８】
前記光源条件は、複数の光源の点灯または消灯の組み合わせの条件であって、
前記複数の視差画像を撮影する際には、前記複数の光源を全て消灯させることを特徴とする請求項１乃至７のいずれか一項に記載の撮像装置。
【請求項９】
前記光源条件は、複数の光源の点灯または消灯の組み合わせの条件であって、
前記複数の視差画像を撮影する際には、前記複数の光源を全て点灯させることを特徴とする請求項１乃至７のいずれか一項に記載の撮像装置。
【請求項１０】
前記撮像装置は前記複数の光源を備える発光部を有することを特徴とする請求項８または９に記載の撮像装置。
【請求項１１】
前記複数の視差画像は前記複数の照度差画像に含まれる複数の画像を加重平均して得られた画像を含むことを特徴とする請求項１乃至１０のいずれか一項に記載の撮像装置。
【請求項１２】
前記複数の視差画像は前記複数の照度差画像のうち１枚を用いて得られた画像を含むことを特徴とする請求項１乃至１０のいずれか一項に記載の撮像装置。
【請求項１３】
前記複数の照度差画像に含まれる画像を撮影する際の露出条件は、前記複数の視差画像を撮影する際の露出条件とは異なることを特徴とする請求項１乃至１２のいずれか一項に記載の撮像装置。
【請求項１４】
撮像光学系の瞳の互いに異なる領域を通過した複数の光束を互いに異なる画素で受光することにより複数の視差画像を取得可能な撮像素子を用いて、互いに異なる少なくとも３つの光源条件を含む複数の光源条件で撮影された複数の照度差画像に基づいて第１の形状情報を取得するステップと、
前記複数の視差画像を用いて第２の形状情報を取得するステップと、
前記第１の形状情報と前記第２の形状情報を用いて第３の形状情報を取得するステップと、
を有することを特徴とする画像処理方法。
【請求項１５】
請求項１４に記載の画像処理方法をコンピュータに実行させることを特徴とする画像処理プログラム。
【請求項１６】
請求項１５に記載のプログラムが記録されていることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の形状情報を算出可能な画像処理方法および撮像装置に関する。
【背景技術】
【０００２】
被写体を撮像する際に、距離情報や法線情報等の形状情報を取得できるように撮像することで、撮像後に物理モデルに基づく画像処理を行うことが可能となる。このため、簡易に高精度な形状情報を取得することのできる手法の開発が望まれる。
【０００３】
特許文献１には、被写体の法線を直接取得する方法として知られる照度差ステレオ法をステレオカメラによる測距と併用することによって、距離情報の算出を高速化できることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６１−１９８０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、照度差ステレオ法で取得した法線情報に基づいて撮影領域を分割し、各領域の重心の距離をステレオカメラによる複数の視差画像から取得し、各領域内に存在する被写体内での相対距離は照度差ステレオ法で取得した法線情報から取得している。
【０００６】
しかし、この方法では複数の視差画像を取得するために複数の光学系を用いるため装置が複雑化したり大型化したりする。また、光学系の収差やオクルージョンにより、視差画像間のマッチングの計算が困難となってしまう。さらに、ステレオカメラの個別の光学系の校正や光学系間の関係の構成も必要となる。
【０００７】
本発明の目的は、簡易な装置構成にて高精度な形状情報を取得することのできる画像処理装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の撮像装置は、撮像光学系の瞳の互いに異なる領域を通過した複数の光束を互いに異なる画素で受光することにより複数の視差画像を取得可能な撮像素子と、前記撮像素子を用いて得られた画像に対して画像処理を行う画像処理部と、を有する撮像装置であって、前記画像処理部は、互いに異なる少なくとも３つの光源条件を含む複数の光源条件で前記撮像素子を用いて撮影された複数の画像からなる複数の照度差画像に基づいて被写体の第１の形状情報を取得する第１取得部と、前記複数の視差画像を用いて被写体の第２の形状情報を取得する第２取得部と、前記第１の形状情報と前記第２の形状情報を用いて被写体の第３の形状情報を取得する第３取得部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、簡易な装置構成にて高精度な形状情報を取得することのできる画像処理装置を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態における撮像装置の外観図である。
【図２】一実施形態における撮像装置の外観図である。
【図３】一実施形態における撮像装置のブロック図である。
【図４】一実施形態における撮像装置の画像処理部で行われる画像処理を表すフローチャートである。
【図５】他の実施形態における撮像装置および画像処理装置の外観図である。
【図６】他の実施形態おける画像処理装置のブロック図である。
【図７】他の実施形態における画像処理装置で行われる画像処理を表すフローチャートである。
【図８】鏡面反射成分を説明する図である。
【図９】２視点撮影方式について説明する図である。
【図１０】一実施形態における撮像素子の受光部と撮像光学系の瞳との関係を説明する図である。
【図１１】一実施形態における撮像素子の受光部と被写体との関係を説明する図である。
【発明を実施するための形態】
【００１１】
以下、本発明の画像処理を実行する画像処理部を有する撮像装置の実施形態について、添付の図面に基づいて説明する。
【００１２】
本実施形態の撮像装置の画像処理部は、照度差ステレオ法によって取得された形状情報（第１の形状情報）と、複数の視差画像から取得された形状情報（第２の形状情報）を用いて高精度な形状情報（第３の形状情報）を取得する。なお、本願明細書において形状情報とは、被写体の法線情報、光学系などの基準位置からの絶対距離情報、被写体領域内の相対距離情報を含む。
【００１３】
本実施形態の撮像装置の構成に関する説明に先立ち、照度差ステレオ法による法線情報の算出方法および複数の視差画像を用いた距離情報の算出方法について述べる。
【００１４】
照度差ステレオ法は、被写体の面法線と被写体から光源への方向（光源方向）に基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性から面法線情報を算出する方法である。所定の面法線と光源の位置が与えられたときに反射率が一意に定まらない場合、反射特性はランバートの余弦則に従うランバート反射モデルで近似すればよい。鏡面反射成分は、図８に示されるように、光源ベクトルｓと視線ベクトルｖの２等分線と、面法線ｎのなす角αに依存する。したがって、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報は、光源が点灯している場合と消灯している場合のそれぞれの被写体を撮影し、これらの差分をとることで環境光等の光源以外の光源による影響を除いた情報でもよい。
【００１５】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をｉ、物体のランバート拡散反射率をρｄ、入射光の強さをＥ、物体から光源への方向を示す単位ベクトル（光源方向ベクトル）をｓ、物体の単位面法線ベクトルをｎとすると、輝度値ｉはランバートの余弦則から以下の式（１）で示される。
ｉ＝Ｅρｄｓ・ｎ      （１）
【００１６】
異なるＭ個（Ｍ≧３）の光源ベクトルの各成分をｓ１、ｓ２、・・・、ｓＭ、光源ベクトルの成分ごとの輝度値をｉ１、ｉ２、・・・ｉＭとすると、式（１）は以下の式（２）で示される。
【００１７】
【数１】
2020003432.tif 000003
【００１８】
式（２）の左辺はＭ行１列の輝度ベクトル、右辺の［ｓ１Ｔ，・・・，ｓＭＴ］はＭ行３列の光源方向を示す入射光行列Ｓ、ｎは３行１列の単位面法線ベクトルである。Ｍ＝３の場合は、入射光行列Ｓの逆行列Ｓ−１を用いて、Ｅρｄｎは以下の式（３）で示される。
【００１９】
【数２】
2020003432.tif 000004
【００２０】
式（３）の左辺のベクトルのノルムが入射光の強さＥとランバート拡散反射率ρｄの積であり、正規化したベクトルが物体の面法線ベクトルとして算出される。すなわち、入射光の強さＥとランバート拡散反射率ρｄは積の形でのみ条件式に現れるので、Ｅρｄを１つの変数とみなすと、式（３）は単位面法線ベクトルｎの２自由度と合わせて未知の３変数を決定する連立方程式とみなせる。したがって、少なくとも３つの光源を用いて輝度情報を取得することで、各変数を決定することができる。なお、入射光行列Ｓが正則行列でない場合は逆行列が存在しないため、入射光行列Ｓが正則行列となるように入射光行列Ｓの各成分ｓ１〜ｓ３を選択する必要がある。すなわち、成分ｓ３を成分ｓ１，ｓ２に対して線形独立に選択することが望ましい。
【００２１】
また、Ｍ＞３の場合は求める未知変数より多い条件式が得られるので、任意に選択した３つの条件式からＭ＝３の場合と同様の方法で単位面法線ベクトルｎを算出すればよい。４つ以上の条件式を用いる場合は、入射光行列Ｓが正則行列ではなくなるため、例えば、Ｍｏｏｒｅ−Ｐｅｎｒｏｓｅ疑似逆行列を使って近似解を算出してもよい。また、フィッティング手法や最適化手法によって単位面法線ベクトルｎを算出してもよい。
【００２２】
被写体の反射特性をランバート反射モデルとは異なるモデルで仮定した場合は、条件式が単位面法線ベクトルｎの各成分に対する線形方程式と異なる場合がある。その場合、未知変数以上の条件式が得られれば、フィッティング手法や最適化手法を用いることができる。
【００２３】
また、Ｍ＞３の場合には３以上Ｍ−１以下の複数の条件式が得られるため、単位面法線ベクトルｎの複数の解の候補を求めることができる。この場合、さらに別の条件を用いて複数の解の候補から解を選択すればよい。例えば、単位面法線ベクトルｎの連続性を条件として用いることができる。面法線ベクトルｎを撮像装置の１画素ごとに算出する場合、画素（ｘ，ｙ）での面法線ベクトルをｎ（ｘ，ｙ）として、ｎ（ｘ−１，ｙ）が既知であれば以下の式（４）で示される評価関数が最小となる解を選択すればよい。
１−ｎ（ｘ，ｙ）・ｎ（ｘ−１，ｙ）      （４）
【００２４】
また、ｎ（ｘ＋１，ｙ）やｎ（ｘ，ｙ±１）も既知であれば、以下の式（５）が最小となる解を選択すればよい。
４−ｎ（ｘ，ｙ）・ｎ（ｘ−１，ｙ）−ｎ（ｘ，ｙ）・ｎ（ｘ＋１，ｙ）−ｎ（ｘ，ｙ）・ｎ（ｘ，ｙ−１）−ｎ（ｘ，ｙ）・ｎ（ｘ，ｙ＋１）      （５）
【００２５】
既知の面法線がなく、全画素位置で面法線の不定性があるとすれば、以下の式（６）で示される式（５）の全画素での総和が最小となるように解を選択してもよい。
【００２６】
【数３】
2020003432.tif 000005
【００２７】
なお、最近傍以外の画素での面法線を用いてもよいし、注目する画素位置からの距離に応じて重みづけした評価関数を用いてもよい。
【００２８】
また、別の条件として、任意の光源位置での輝度情報を用いてもよい。ランバート反射モデルに代表される拡散反射モデルでは、単位面法線ベクトルと光源方向ベクトルが近いほど反射光の輝度が大きくなる。よって、複数の光源方向での輝度値のうち最も輝度値が大きくなる光源方向ベクトルに近い解を選択することで、単位面法線ベクトルを決定することができる。
【００２９】
また、鏡面反射モデルでは、光源ベクトルをｓ、物体からカメラへの方向の単位ベクトル（カメラの視線ベクトル）をｖとすると、以下の式（７）が成り立つ。
ｓ＋ｖ＝２（ｖ・ｎ）ｎ      （７）
【００３０】
式（７）に示されるように、光源ベクトルｓとカメラの視線ベクトルｖが既知であれば単位面法線ベクトルｎを算出することができる。被写体の表面に粗さがある場合、鏡面反射でも出射角に広がりを生じるが、この場合の鏡面反射光は平滑面として求めた解の付近に広がるため、複数の解の候補のうち最も平滑面に対する解に近い候補を選択すればよい。また、複数の解の候補の平均によって真の解を決定してもよい。
【００３１】
次に視差画像を用いた被写体距離算出の原理について説明する。図９は２視点撮影方式のモデルを説明する図である。座標は左右のカメラＣ１，Ｃ２の中心を原点として、水平方向にｘ軸、奥行き方向にｙ軸とする。高さ方向は簡略化のために省略する。左右のカメラＣ１，Ｃ２の結像光学系の主点がそれぞれ（−Ｗｃ，０）、（Ｗｃ，０）に配置されているとする。ここで左右カメラの結像光学系の焦点距離はｆとする。この状態でｙ軸上（０，ｙ１）にある被写体Ａを夫々のカメラで撮影することを考える。左右カメラのセンサ（撮像素子）中心からの被写体Ａ像のズレ量を撮影視差として、それぞれＰｌｃ，Ｐｒｃとすると下記式で表すことが出来る。
【００３２】
【数４】
2020003432.tif 000006
【００３３】
【数５】
2020003432.tif 000007
【００３４】
以上の原理により同一被写体を異なる視点から撮影することで、それぞれ視点位置ズレ方向（基線に沿う方向）に式（８）、（９）式で示すズレ量を持つ左右視差画像を取得することができる。このズレ量から被写体Ａまでの距離ｙ１は、次の式で算出することができる。
【００３５】
【数６】
2020003432.tif 000008
【００３６】
したがって、視差画像を用いた被写体距離算出のためには、視差画像間で対応する被写体領域を特定すればよい。画像間での同一被写体領域を特定する方法は種々の方法を用いることができる。例えば、複数の視差画像のうち１つを基準画像としたブロックマッチング法を用いれば良い。
【００３７】
複数の視差画像は、１つの撮像光学系の瞳のうちそれぞれ異なる領域を通過した複数の光束を１つの撮像素子における互いに異なる受光部（画素）に導いて光電変換を行わせる撮像部を用いて取得することができる。すなわち１つの撮像部（１つの光学系と１つの撮像素子から成る）で距離算出に必要な視差画像を取得できる。
【００３８】
図１０には、このような撮像部における撮像素子の受光部と撮像光学系の瞳との関係を示す。ＭＬはマイクロレンズであり、ＣＦはカラーフィルタである。ＥＸＰは撮像光学系の射出瞳を示している。Ｇ１，Ｇ２は受光部（以下それぞれ、Ｇ１画素およびＧ２画素という）であり、１つのＧ１画素と１つのＧ２画素とが互いに対をなしている。撮像素子には、Ｇ１画素とＧ２画素の対（画素対）が複数配列されている。対のＧ１画素とＧ２画素は、共通の（つまりは画素対ごとに１つずつ設けられた）マイクロレンズＭＬを介して射出瞳ＥＸＰと共役な関係を有する。撮像素子に配列された複数のＧ１画素をまとめてＧ１画素群ともいい、同様に撮像素子に配列された複数のＧ２画素をまとめてＧ２画素群ともいう。
【００３９】
図１１には、図１０の射出瞳ＥＸＰの位置に薄肉レンズがあると仮定した場合の撮像部を模式的に示している。Ｇ１画素は射出瞳ＥＸＰのうちＰ１領域を通過した光束を受光し、Ｇ２画素は射出瞳ＥＸＰのうちＰ２領域を通過した光束を受光する。ＯＳＰは撮影している物点である。物点ＯＳＰには必ずしも物体が存在している必要は無く、この点を通った光束はそれが通過する瞳内での領域（位置）に応じてＧ１画素またはＧ２画素に入射する。瞳内の互いに異なる領域を光束が通過することは、物点ＯＳＰからの入射光が角度（視差）によって分離されることに相当する。すなわち、各マイクロレンズＭＬに対して設けられたＧ１およびＧ２画素のうち、Ｇ１画素からの出力信号を用いて生成された画像とＧ２画素からの出力信号を用いて生成された画像とが、互いに視差を有する複数（ここでは一対）の視差画像となる。以下の説明において、瞳内の互いに異なる領域を通過した光束を互いに異なる受光部（画素）により受光することを、瞳分割ともいう。なお、図１０、１１に示す構成において、Ｇ１およびＧ２画素を加算することで得られた画像と、Ｇ１またはＧ２画素を用いて得られた画像も互いに視差を有することになる。したがって、Ｇ１およびＧ２画素を加算して得られた画像も複数の視差画像の内の１枚を構成し得る。
【００４０】
また、図１０および図１１において、射出瞳ＥＸＰの位置がずれる等して、上述した共役関係が完全ではなくなったりＰ１領域とＰ２領域とが部分的にオーバーラップしたりする場合がある。この場合も、得られた複数の画像を視差画像として扱うことができる。
【００４１】
複数の視差画像から上記の手法により距離情報を算出することで、これらの視差画像間で対応する画素を抽出することで、１つの撮像部で距離算出を行うことができる。
【００４２】
次に、本実施形態の撮像装置について述べる。本実施形態の撮像装置の画像処理部は、照度差ステレオ法によって取得された形状情報としての法線情報と、複数の視差画像から取得された形状情報としての距離情報を用いて高精度に形状情報を取得するように構成されている。
【００４３】
図１は本実施例の撮像装置１０００および照明装置１００１の外観図である。単一の照明装置１００１は発光部２００と照射光源制御部１０６を備え、撮像部１００を備える撮像装置に着脱可能な装置である。図２は照明装置１００１をデジタルカメラとしての撮像装置１０００に取り付けた場合の外観図である。
【００４４】
図３は本実施例の撮像装置１０００のブロック図である。
【００４５】
撮像装置１０００は、被写体を撮像する撮像部および発光部（光源）２００を備える。撮像部は、撮像光学系１０１と撮像素子１０２を備える。
【００４６】
本実施例では、発光部２００は撮像光学系１０１の光軸を中心とする同心円状に回転対称に配置される８個の光源を有する。発光部２００は、複数の光源の点灯（発光）と消灯の組み合わせにより、複数の光源条件で被写体を照らすことができる。なお、照度差ステレオ法を実施する際に必要な光源は少なくとも３個であるため、発光部２００は３個以上の発光部を備えていればよい。また、本実施例では発光部２００は複数の発光部を撮像光学系１０１の光軸を中心とした同心円状に回転対称に配置しているが、必ずしも等間隔でなく不等間隔の隙間をあけて配置してもよい。また、本実施例では、発光部２００は、撮像装置１０００に着脱可能であるが、内蔵されていてもよい。
【００４７】
撮像光学系１０１は、複数のレンズと絞り１０１ａを備え、被写体から射出される光を撮像素子１０２上に集光する。本実施例では、撮像光学系１０１は、交換レンズとして撮像装置１０００に着脱可能に取り付けられる構成であるが、撮像装置１０００と一体に構成されていても良い。撮像素子１０２は、ＣＣＤセンサやＣＭＯＳセンサ等の光電変換素子により構成される。撮像部１００は、全体として図１０，１１に示すような構成となっており、視点の異なる画像を取得可能である。すなわち、撮像光学系１０１の瞳のうちそれぞれ異なる領域を通過した複数の光束は撮像素子１０２における互いに異なる受光部（画素）に導かれて光電変換される。
【００４８】
撮像素子１０２の光電変換によって生成されるアナログ電気信号は、Ａ／Ｄコンバータ１０３でデジタル信号に変換されて画像処理部１０４に入力される。
【００４９】
画像処理部１０４は、デジタル信号に対して一般的に行われる画像処理と併せて、被写体の形状情報として法線情報と距離情報を取得する機能を有する。法線情報とは、面法線の１自由度の候補を少なくとも１つ以上決定する情報、面法線の複数の解候補から真の解を選択するための情報、および求めた面法線の妥当性に関する情報である。距離情報とは、所定の位置を基準とした被写体奥行情報であり、撮像部の所定位置や焦点面等の基準位置からの距離を表す情報である。特に基準位置を焦点面とした場合は、被写体のデフォーカス情報に等しい。なお撮像光学系１０１の瞳の異なる領域を通過した複数の光束を撮像素子１０２の互いに異なる受光部に導く撮像部１００では、視差ずれ（視差による被写体の位置関係のずれ）量の基準は焦点面であり、視差ずれ量とデフォーカス情報とが対応している。
【００５０】
画像処理部１０４の具体的な構成について述べる。画像処理部１０４は複数の照度差画像から照度差ステレオ法によって被写体の法線情報（第１の形状情報）を取得する第１取得部（法線情報取得部）１０４ａを有する。照度差画像とは、発光部２００の点灯パターンが互いに異なる複数の画像である。本実施例では、照度差画像として互いに異なる少なくとも３つの点灯パターン（光源条件）を含む複数の光源条件で撮影された複数の画像を用いる。
【００５１】
また、画像処理部１０４は複数の視差画像から距離情報（第２の形状情報）を取得する第２取得部（距離情報取得部）１０４ｂを有する。さらに、画像処理部１０４は法線情報と距離情報から第３の形状情報を取得する第３取得部１０４ｃを備える。
【００５２】
画像処理部１０４で処理された出力画像は、半導体メモリや光ディスク等の画像記録部１０９に保存される。また、出力画像を表示部１０５に表示してもよい。
【００５３】
情報入力部１０８は、ユーザーによって選択された撮像条件（絞り値、露出時間、および焦点距離など）をシステムコントローラ１１０に供給する。
【００５４】
照射光源制御部１０６は、システムコントローラ１１０から出力される指示に応じて発光部２００の発光状態を制御する。
【００５５】
撮像制御部１０７は、システムコントローラ１１０から出力される情報に基づいて、ユーザーが選択した所望の撮影条件で画像を取得する。
【００５６】
ＲＯＭ１１１は、システムコントローラ１１０によって実行される各種のプログラムやそれに必要となるデータを格納している。
【００５７】
また、照明装置に内蔵されたＲＯＭ１１２は、発光部の配光特性や発光部ごとの発光量等の特性が記録されたテーブルを格納しており、格納された情報を必要に応じて画像処理部１０４へ送信し第１取得部１０４ａで第１の形状情報を取得する際に用いてもよい。
【００５８】
本実施例の画像処理部１０４は、上述のように、被写体の形状情報（第３の形状情報）を照度差ステレオ法によって取得された法線情報と、複数の視差画像から取得された距離情報を用いて取得するように構成されている。これによって、被写体の形状情報（第３の形状情報）を高精度に得ることができるようになる。
【００５９】
例えば照度差ステレオ法で取得した法線情報を積分することで距離情報を得ることはできるが、積分時に誤差が生じるため視差画像から取得できる距離情報と比較して絶対距離精度で劣る。また、前景と背景のように被写体エッジで不連続に距離が変わる場合は法線情報から形状情報としての距離情報を得ることができない。
【００６０】
これに対して視差画像から算出した距離情報を用いることで積分による系統誤差を差し引くことや、被写体エッジでの絶対距離を反映した形状情報とすることができる。さらに、照度差ステレオ法では仮定する反射特性が実際とずれる被写体において法線情報の精度が低下するが視差画像から得た距離情報では反射特性に左右されない。一方で、視差画像による距離情報よりも照度差画像による法線情報の方が微細な距離の変化に敏感であり水平・垂直方向の解像度も向上しやすい。
【００６１】
また、視差画像からの距離算出では低コントラストの画像領域では距離情報を算出し難いが、照度差ステレオ法では容易に算出できる。
【００６２】
したがって、これらの照度差ステレオ法による法線情報と視差画像による距離情報の利点を組み合わせることで精度のよい第３の形状情報を取得できるようになる。なお、第３の形状情報は距離情報であっても法線情報であっても良い。
【００６３】
また、本実施例の画像処理部１０４は、１つの撮像部１００で取得された視差画像と照度差画像を取得するように構成されている。このため、複数の撮像部や撮像装置を用いることなく被写体の形状情報を得るために必要な画像を取得できるので、形状情報を得るために必要な画像を撮像するための撮像装置を簡易な構成とすることができる。
【００６４】
さらに、１つの撮像部で取得した視差画像をもとに距離情報を算出しているため、歪曲収差や偏心によるずれの影響を低減できる。また、その他の光学収差の影響や光学系の視差ずれに起因した前景と背景の境界部における距離算出処理への影響を低減できる。ここで、前景と背景の境界部における影響とは、例えばオクルージョンによって対応領域の抽出が困難となることがある。
【００６５】
また、１つの撮像部で照度差画像と視差画像を取得することで、第３の形状情報を取得する際にも同様に光学収差の影響や形状情報間の視差ずれによる影響を抑制し、精度よく第３の形状情報を取得することができる。第１の形状情報と第２の形状情報の間での視差ずれによる影響は、各形状情報が異なる原理により取得されたデータのため、視差画像間の視差ずれによる影響とは本質的に異なる。例えば視差画像のように画像同士であれば前景と背景の境界部であっても前景の色情報や輝度情報は共通である。しかし、法線情報と距離情報では共通する情報ではないため、法線情報と距離情報から共通する前景部を判定することは難しい。それゆえ、法線情報と距離情報のそれぞれの情報から視差ずれによる影響を低減することは困難である。
【００６６】
法線情報を積分して距離情報に変換したものを第１の形状情報としてもよいが、その場合でも第１の形状情報では上述したように正確な距離情報が得られないため、第２の形状情報との類似性を探索することが難しい。したがって、第１の形状情報と第２の形状情報に基づいて第３の形状情報を取得する際には、それぞれの形状情報を取得する元となる撮像画像間の視差ずれを抑えることが、精度よく取得する上で重要である。
【００６７】
図４は、本実施形態の撮像装置１０００における形状情報の取得方法（画像処理方法）に関するフローチャートである。本実施形態の形状情報取得処理は、システムコントローラ１１０および画像処理部１０４により、コンピュータを画像処理装置として機能させるための画像処理プログラムにしたがって実行される。なお、画像処理プログラムは、例えば、コンピュータが読み取り可能な記録媒体に記録されていてもよい。
【００６８】
ステップＳ１０１において、システムコントローラ１１０は、情報入力部１０８からユーザーによって設定される撮像条件（絞り値、露出時間、または焦点距離など）を取得する。その後、レリーズボタン（不図示）の全押し動作に連動し、設定された撮像条件にて複数光源位置での被写体の撮像を行うことで複数の照度差画像および複数の視差画像を取得する。具体的には、システムコントローラ１１０は、照射光源制御部１０６を介して８つに区切られた発光部２００に、互いに異なる少なくとも３つ以上の位置からの光を被写体へ順次照射させ、撮像制御部１０７を介して撮像部１００に被写体を撮像させる。また、非発光状態でも撮像を行い、視差画像を取得する。Ａ／Ｄコンバータ１０３は、撮像素子１０２から出力されたアナログ信号をＡ／Ｄ変換することで撮影画像（輝度情報）を形成し、画像処理部１０４に出力する。なお、画像処理部１０４は、画像生成のために、通常の現像処理や各種の画像補正処理を実行してもよい。
【００６９】
ステップＳ１０２では、ステップＳ１０１で取得した照度差画像の輝度値を用いて、第１取得部１０４ａが照度差ステレオ法により被写体の第１の形状情報（法線情報）を推定する。
【００７０】
ステップＳ１０３では、第１取得部１０４ａが法線情報を取得した際のランバート反射を仮定した輝度と撮像画像の輝度とのずれを見ることで法線情報の信頼度を取得する。この工程は、ステップＳ１０２で法線情報を取得する工程と同時に行ってもよい。
【００７１】
ステップＳ１０４では、ステップＳ１０１で取得した視差画像を用いて、第２取得部１０４ｂがブロックマッチングなどの既知の手法で視差ずれ量を取得し、さらに距離情報を取得する。
【００７２】
ステップＳ１０５では、第２取得部１０４ｂがブロックマッチングの際の類似度に基づいて距離情報の信頼度を取得する。
【００７３】
ステップＳ１０６では、第３取得部１０４ｃが法線情報を積分することで距離情報を算出する。
【００７４】
ステップＳ１０７では、第３取得部１０４ｃがＳ１０６で取得した距離情報とステップＳ１０４で取得した距離情報を統合することでより精度のよい距離情報を第３の形状情報として取得する。
【００７５】
第３取得部１０４ｃによる第３の形状情報の取得は、具体的には以下のように行われる。Ｓ１０６で取得した距離情報は法線情報に基づくため高解像かつ被写体の微細な凹凸も取得できる一方で、発光部の光量ばらつきで法線誤差が生じる等の理由により系統的な誤差が生じて傾いた（誤った）被写体面を取得してしまうことがある。一方、Ｓ１０５で取得した距離情報は低解像で微小な凹凸は取得できないが、絶対的な距離精度はよい。したがって、Ｓ１０６で取得した距離情報から算出した被写体の面形状をＳ１０５で取得した距離情報に合うように線形な傾きを補正することで高精度な形状情報が得られる。また、ステップＳ１０３、Ｓ１０５で取得した信頼度に基づいて信頼度が高いほど重みを大きくした加重平均をとることでも高精度な距離情報（第３の形状情報）が得られる。
【００７６】
画像記録部１０９が最終的に得られた第３の形状情報や画像情報を保存し、フローは完了する。
【００７７】
なお、ステップＳ１０２、Ｓ１０３のフローとステップＳ１０４，Ｓ１０５のフローは順番に行っても（どちらを先に処理してもよい）、並行で行ってもよい。また、ステップＳ１０６では法線情報（第１の形状情報）から距離情報への変換を第３取得部１０４ｃで行ったが、第１取得部１０４ａで行う構成としてもよい。また、ステップＳ１０７においては必ずしも信頼度を用いなくともよい。
【００７８】
以上説明したように、本実施形態によれば簡易な装置構成にて高精度な形状情報を取得することが可能となる。
【００７９】
なお、本実施形態では第３の形状情報として距離情報を取得する例について述べたが、第１の形状情報と第２の形状情報を用いて法線情報を取得しても良い。この場合、具体的にはステップＳ１０６で第３取得部１０４ｃが法線情報を積分する代わりに、ステップＳ１０４で取得した距離情報を微分することで法線情報に変換する。そして、ステップＳ１０７ではＳ１０２で取得した法線情報とＳ１０６で取得した法線情報を統合することでより精度のよい法線情報を第３の形状情報として取得する。法線情報の統合においては、距離情報の統合と同様にステップＳ１０３、Ｓ１０５で取得した信頼度に基づいて信頼度が高いほど重みを大きくした加重平均をとっても良い。例えば反射特性が仮定と実際とでずれる被写体においては、照度差ステレオ法で得られる法線情報は信頼度が低下するため、視差画像から得た法線情報の重みが大きくなる。これにより、第１の形状情報と第２の形状情報からより高精度な法線情報を得ることが可能となる。
【００８０】
次に、本実施形態における好ましい構成について述べる。
【００８１】
第１の形状情報は被写体の法線情報であり、第２の形状情報は被写体の距離情報であることが好ましい。
【００８２】
第１の形状情報として複数の照度差画像から法線情報を算出し、第２の形状情報として複数の視差画像から距離情報を算出することで、上述のようにそれぞれの利点を相補的に組み合わせることが可能である。これにより精度よく第３の形状情報が取得できる。
【００８３】
また、本実施形態のように、第３の形状情報の取得に際して第１の形状情報の信頼度を表す第１の信頼度情報を用いることが好ましい。
【００８４】
第１の信頼度情報としては、照度差ステレオ法として推定精度が低下する状況か否かの情報を用いれば良い。照度差ステレオ法として推定精度が低下する状況としては、例えば照度差画像で輝度値が低くＳＮ比が良くない場合、一部の領域が影となり光が当たっていないような画像の枚数が多い場合、ランバート反射特性から予想される輝度とのずれが大きい場合等がある。このような第１の信頼度情報の指標（大きさ）としては、一定の輝度値を超える照度差画像の枚数や、ランバート反射特性から予想される輝度とのずれの照度差画像間での総和などを用いればよい。第１の形状情報の信頼度が低い被写体領域においては第２の形状情報の寄与を大きくすることで精度よく第３の形状情報が取得できる。
【００８５】
同様に、本実施形態のように、第３の形状情報の取得に際して第２の形状情報の信頼度を表す第２の信頼度情報を用いることが好ましい。
【００８６】
第２の信頼度情報としては、視差画像からの距離情報算出精度が低下する場合か否かの情報を用いれば良い。視差画像からの距離情報算出精度が低下する場合としては、例えば視差画像間のマッチング時に類似度が低い場合、マッチングの基準となる画像が低コントラストでマッチング困難な場合などがある。このような第２の信頼度情報の指標（大きさ）としては、マッチング時の類似度や基準画像のコントラストなどを用いればよい。第２の形状情報の信頼度が低い被写体領域においては第１の形状情報の寄与を大きくすることで精度よく第３の形状情報が取得できる。
【００８７】
また、撮像光学系１０１の瞳のうち、照度差画像を撮影する際に光束が通過する領域は視差画像のうち少なくとも１つの画像を撮影する際に光束が通過する領域の少なくとも一部を含むことが好ましい。
【００８８】
照度差画像を撮影する際に光束が通過する瞳領域が視差画像のうちの少なくとも１つを撮影する際に光束が通過する瞳領域と共通部分を持つようにすることで、第３の形状情報を取得する際の光学収差や視差ずれによる影響（精度の低下）を低減できる。例えば図１０のＧ１画素で視差画像のうちの１枚を取得し、照度差画像も同じＧ１画素で取得していれば共通の瞳領域に対応した光束で画像を取得することができる。ただし、撮像時の絞り値に応じて瞳の大きさが変化するため、絞り値が異なる場合には完全に共通（同一）ではないが共通部分を持つこととなる。また、照度差画像をＧ１画素とＧ２画素の和として取得する場合（すなわちＧ１画素に対応する画像とＧ２画素に対応する画像を足して照度差画像とする場合）にも、照度差画像と視差画像を瞳領域が共通部分を持つように取得したといえる。
【００８９】
さらに、撮像光学系１０１の瞳のうち、照度差画像を撮影する際に光束が通過する領域を視差画像のうち少なくとも１つの画像を撮影する際に光束が通過する領域と同一にすることで、光学収差や視差ずれによる影響をより低減することができる。
【００９０】
また、光束が通過する瞳領域について、照度差画像と共通部分を持つような視差画像のうち１つが距離算出時の基準画像であれば、第１の形状情報と第２の形状情報との間の光学収差や視差ずれの影響が低減できるため好ましい。例えば、基準画像がＧ１画素に対応した視差画像であれば、照度差画像もＧ１画素のみ、もしくはＧ１画素とＧ２画素の和として取得した画像であれば良い。ここでは瞳が２分割された場合について説明したが、３分割以上の場合でも同様である。
【００９１】
また、撮像光学系１０１の瞳のうち、照度差画像を撮影する際に光束が通過する領域は、視差画像に含まれる各画像を撮影する際に光束が通過するそれぞれ領域の少なくとも一部を含んでいることが好ましい。すなわち、各視差画像を撮影する際に光束が通過するそれぞれの瞳領域は、いずれも照度差画像を撮影する際に光束が通過する瞳領域と共通部分を有することが好ましい。
【００９２】
これによって第３の形状情報を取得する際の光学収差や視差ずれの影響をより低減することができる結果、より精度よく第３の形状情報を取得することができる。例えば、視差画像がそれぞれＧ１画素に対応した画像とＧ２画素に対応した画像である時、照度差画像をＧ１画素とＧ２画素の和として取得する場合は照度差画像と視差画像の全てで撮影に用いる光束が通過する瞳領域が共通部分を持つように取得したといえる。
【００９３】
また、照度差画像は視差画像に対応する全ての画素を加算して取得された画像であることが好ましい。視差画像に対応する画素とは、マイクロレンズ１つあたり設けられた複数の画素のうち、ある視差画像を得るために用いた画素である。例えば図１０、１１に示す撮像素子で２枚の視差画像を取得する場合、Ｇ１画素が２枚の視差画像の内の一方に対応する画素であり、画素Ｇ２が２枚の視差画像の内の他方に対応する画素である。すなわち、図１０、１１に示すように撮像素子１０２はマイクロレンズ１つあたりに複数の画素を有するが、照度差画像を得る場合にはマイクロレンズ１つあたりに設けられた全ての画素を用いることが好ましい。
【００９４】
照度差画像を取得する際に視差画像に対応する全画素を加算して取得することで、被写体からの光の利用効率を高くすることができ、照度差画像のＳＮ比やダイナミックレンジの観点で有利である。これにより第１の形状情報を精度よく取得でき、結果として精度よく第３の形状情報が取得できる。
【００９５】
第２取得部１０４ｂが第２の形状情報として距離情報を取得する場合、照度差画像は、視差画像のうちの距離情報の基準となる基準画像に対応する画素により取得された画像であることが好ましい。
【００９６】
これにより、第１の形状情報と第２の形状情報との間の光学収差や視差ずれの影響を低減できるため好ましい。結果として精度よく第３の形状情報が取得できる。
【００９７】
また、視差画像を取得（撮影）する時には発光部２００を発光させない、または全て発光させることが好ましい。
【００９８】
距離算出時に視差画像のマッチングをする際には、被写体に偏って光が当たることなく全体が照らされていることが好ましい。これにより、被写体の全領域が暗くならずマッチングしやすくなり、距離算出の精度が向上する。発光部の一部を発光させた場合は光が偏り、被写体上に暗い領域や影ができる。全ての発光部を発光させることで被写体を万遍なく照らすことが可能である。環境光が撮像に十分な程度に明るい場合には環境光のみでの撮影によっても被写体を万遍なく照らすことが可能である。
【００９９】
なお、視差画像は複数の照度差画像に含まれる各光源条件の画像を加重平均して得られた画像を用いても良い。図１０、１１に示すような本実施形態の撮像素子で取得された照度差画像に含まれる各画像は、マイクロレンズ１つあたりに設けられた画素のうちの一部を抽出することで複数の視差画像に分割することができる。したがって、照度差画像に含まれる各光源条件に対応する各画像は複数の視差画像に分割できる。このようにして得た各光源条件における視差画像を加重平均すれば良い。なお、照度差画像に含まれる複数の画像を加重平均した後に視差画像に分割しても良い。
【０１００】
この場合、照度差画像を撮影する際に複数の視差画像を同時に取得できる。また、照度差画像の加重平均をとることによって、光源条件に依らない被写体全体が明るい視差画像とすることができる。
【０１０１】
なお、視差画像は照度差画像のうち１枚を用いて得ても良い。
【０１０２】
複数の照度差画像のうち１枚を距離算出に用いる視差画像として使用することで、視差画像用に照度差画像とは異なる光源条件で撮影する必要がなくなり必要な画像枚数を低減することができる。また、複数の照度差画像のうち１枚のみを用いることで、距離算出に用いる視差画像の枚数を低減することができ、データ容量や計算負荷を低減することができる。
【０１０３】
また、照度差画像と視差画像を撮像する際の露出条件を異ならせることが好ましい。
【０１０４】
露出条件とは、シャッター速度や絞り値、ＩＳＯ感度など撮像装置上の設定条件を指す。露出条件は環境光や発光部の明るさとは異なる。複数の照度差画像では第１の形状情報を取得できる被写界深度を深くするため絞り値を大きくするとよい。一方で、視差画像においても被写界深度は深い方がよいが、距離算出の精度向上のためには絞り値をある程度小さい値にするとよい。そのため、照度差画像と視差画像を撮像する際の露出条件を変えることが好ましい。
【０１０５】
また、照度差画像において露出条件を暗くすることで発光部の発光量を大きくとることができ、発光部の光による被写体の見えの変化に基づく第１の形状情報の取得精度を向上させることができる。結果として第３の形状情報の取得精度が向上する。
【０１０６】
また、発光部２００の光源うち少なくとも１つはパターン光を照射することが好ましい。
【０１０７】
発光部の光源のうち少なくとも１つでパターン光を照射して取得した画像を視差画像として用いることで、低コントラストの被写体上で距離算出時のマッチング精度を向上させることができるため第２の形状情報の取得精度が向上する。結果として第３の形状情報の取得精度を向上させることができる。
【０１０８】
次に、他の実施形態について述べる。
【０１０９】
上述した実施形態では撮像装置１０００内の画像処理部１０４で被写体の形状情報を算出したが、撮像装置１０００とは異なる画像処理装置２０００を用いて被写体の形状情報を算出しても良い。画像処理装置２０００は例えばＰＣである。このような構成の外観の概略図を図５に示す。また、画像処理装置２０００のブロック図を図６に示す。
【０１１０】
画像処理装置２０００は撮像装置と有線または無線で接続されていて、撮像装置で取得した照度差画像および視差画像を通信によって取得可能である。画像処理装置２０００は上述した第１取得部１０４ａ、第２取得部１０４ｂ、第３取得部１０４ｃに相当する第１取得部２０４ａ、第２取得部２０４ｂ、第３取得部２０４ｃを有する。さらにレンダリング部２０４ｄを有する。
【０１１１】
図７は、このような実施形態における形状情報取得処理を示すフローチャートである。
【０１１２】
図７のステップＳ２０１〜Ｓ２０７は実施例１のステップＳ１０１〜Ｓ１０７と同様であるため説明は省略する。
【０１１３】
ステップＳ２０８では取得した形状情報に基づいて、レンダリング部２０４ｄが仮想光源画像を生成する。具体的には第３の形状情報や照度差ステレオ法で算出されたランバート拡散反射率を用いることで、仮想的に設定した光源の位置や光量に基づいた被写体の見え方を再現した画像をレンダリング処理により生成することが可能である。被写体の見え方は、被写体の形状情報、被写体の反射率情報、光源情報等で決定されるためである。また、距離情報が取得できていることで被写体の前後関係がわかり、光源からの光が遮蔽されてできる影も再現することができる。画像記録部がレンダリング画像を保存し、完了となる。
【０１１４】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の組合せ、変形及び変更が可能である。
【符号の説明】
【０１１５】
１０００  撮像装置
１０１  撮像光学系
１０２  撮像素子
１０４  画像処理部
１０４ａ  第１取得部
１０４ｂ  第２取得部
１０４ｃ  第３取得部
【図１】
2020003432.tif 000009
【図２】
2020003432.tif 000010
【図３】
2020003432.tif 000011
【図４】
2020003432.tif 000012
【図５】
2020003432.tif 000013
【図６】
2020003432.tif 000014
【図７】
2020003432.tif 000015
【図８】
2020003432.tif 000016
【図９】
2020003432.tif 000017
【図１０】
2020003432.tif 000018
【図１１】
2020003432.tif 000019