(57)【要約】【課題】高品位なレンダリング画像を生成可能な処理装置を提供する。【解決手段】処理装置（１０４）は、入力画像を取得する入力画像取得部（１０４ａ）と、法線情報を取得する法線情報取得部（１０４ｂ）と、入力画像が撮像された際の光源条件と法線情報とに基づいて第一レンダリング画像を生成する第一レンダリング部（１０４ｃ）と、入力画像と第一レンダリング画像とに基づいて対象領域を検出する領域検出部（１０４ｄ）とを有する。【選択図】図３
2019168862.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を取得する入力画像取得部と、
法線情報を取得する法線情報取得部と、
前記入力画像が撮像された際の光源条件と前記法線情報とに基づいて第一レンダリング画像を生成する第一レンダリング部と、
前記入力画像と前記第一レンダリング画像とに基づいて対象領域を検出する領域検出部と、を有することを特徴とする処理装置。
【請求項２】
前記入力画像取得部は、前記入力画像として、互いに異なる複数の位置の光源からの光を被写体に順次照射して撮像された前記被写体の複数の入力画像を取得し、
前記法線情報取得部は、前記複数の入力画像に基づいて前記法線情報を取得することを特徴とする請求項１に記載の処理装置。
【請求項３】
前記第一レンダリング画像は、前記入力画像が撮像された前記光源条件と同一の光源条件でレンダリングされた画像であることを特徴とする請求項１または２に記載の処理装置。
【請求項４】
前記領域検出部は、前記入力画像と前記第一レンダリング画像との差分に基づいて前記対象領域を検出することを特徴とする請求項１乃至３のいずれか１項に記載の処理装置。
【請求項５】
前記領域検出部は、更に前記入力画像と前記第一レンダリング画像との前記差分の符号に基づいて前記対象領域を検出することを特徴とする請求項４に記載の処理装置。
【請求項６】
前記領域検出部は、複数の前記入力画像と複数の前記第一レンダリング画像とのそれぞれの複数の差分の最大値または平均値に基づいて前記対象領域を検出することを特徴とする請求項４または５に記載の処理装置。
【請求項７】
前記領域検出部は、前記入力画像と前記第一レンダリング画像とに基づく差分を反射率または前記入力画像に基づく画像で除した正規化差分に基づいて前記対象領域を検出することを特徴とする請求項４または５に記載の処理装置。
【請求項８】
前記領域検出部は、前記入力画像と前記第一レンダリング画像とに基づく前記差分が所定の閾値以上である領域を前記対象領域として検出することを特徴とする請求項４乃至７のいずれか１項に記載の処理装置。
【請求項９】
前記領域検出部は、前記入力画像と前記第一レンダリング画像との前記差分および前記入力画像における影領域に基づいて、前記対象領域を検出することを特徴とする請求項４乃至８のいずれか１項に記載の処理装置。
【請求項１０】
任意の光源条件における第二レンダリング画像を生成する第二レンダリング部と、
前記第二レンダリング画像における前記対象領域を前記入力画像を用いて置き換え処理を行う置換部と、を更に有することを特徴とする請求項１乃至９のいずれか１項に記載の処理装置。
【請求項１１】
前記置換部は、第二レンダリング画像を生成した際の光源条件である画像を、複数の入力画像を補間して生成した画像を用いて置き換え処理を行うことを特徴とする請求項１０に記載の処理装置。
【請求項１２】
前記置換部は、複数の前記入力画像のうち第二レンダリング画像を生成した際の光源条件に最も近い光源条件である入力画像を用いて前記置き換え処理を行うことを特徴とする請求項１０に記載の処理装置。
【請求項１３】
前記置換部は、
前記入力画像および第二レンダリング画像における前記対象領域の周囲の輝度値に基づいて調整係数を決定し、
前記調整係数に基づいて前記入力画像における前記対象領域の明るさを調整して前記置き換え処理を行うことを特徴とする請求項１０に記載の処理装置。
【請求項１４】
前記置換部は、第二レンダリング画像における前記対象領域の境界に対してぼかし処理を行うことを特徴とする請求項１０に記載の処理装置。
【請求項１５】
前記法線情報における前記対象領域に対して補間処理を行う補間部と、
前記補間処理により得られた前記対象領域の前記法線情報に基づいて、任意の光源条件における第二レンダリング画像を生成する第二レンダリング部と、を更に有することを特徴とする請求項１乃至９のいずれか１項に記載の処理装置。
【請求項１６】
前記対象領域は、前記法線情報の誤差が所定の誤差よりも大きい領域であることを特徴とする請求項１乃至１５のいずれか１項に記載の処理装置。
【請求項１７】
光源部と、
請求項１乃至１６のいずれか１項に記載の処理装置と、を有することを特徴とする処理システム。
【請求項１８】
前記光源部は１つの光源を含み、
前記入力画像取得部は、前記光源を移動して互いに異なる複数の位置の前記光源からの光を被写体に順次照射して撮像された前記被写体の複数の入力画像を取得することを特徴とする請求項１７に記載の処理システム。
【請求項１９】
前記光源部は、互いに位置が異なる少なくとも３つの光源を含み、
前記入力画像取得部は、前記少なくとも３つの光源からの光を被写体に順次照射して撮像された前記被写体の複数の入力画像を取得することを特徴とする請求項１７に記載の処理システム。
【請求項２０】
被写体を撮像する撮像部を更に有することを特徴とする請求項１７乃至１９のいずれか１項に記載の処理システム。
【請求項２１】
撮像光学系を介して形成された光学像を光電変換して入力画像に対応する画像データを出力する撮像素子と、
請求項１乃至２０のいずれか１項に記載の処理装置と、を有することを特徴とする撮像装置。
【請求項２２】
入力画像を取得するステップと、
法線情報を取得するステップと、
前記入力画像が撮像された際の光源条件と前記法線情報とに基づいて第一レンダリング画像を生成するステップと、
前記入力画像と前記第一レンダリング画像とに基づいて対象領域を検出するステップと、を有することを特徴とする処理方法。
【請求項２３】
請求項２２に記載の処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２４】
請求項２３に記載のプログラムを記憶していることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンダリング画像を生成する処理装置に関する。
【背景技術】
【０００２】
被写体に関するより多くの物理情報を取得することにより、撮像後の画像処理において、物理モデルに基づく画像生成を行うことができる。例えば、被写体の見えを変更した画像をレンダリング処理により生成することが可能となる。被写体の見え（見た目。または見え方）は、被写体の形状情報、被写体の反射率情報、および、光源情報等で決定される。光源から射出されて被写体により反射された光の物理的な振る舞いは、局所的な面法線に依存する。このため、形状情報としては、３次元形状ではなく被写体の面法線を用いることが特に有効である。
【０００３】
特許文献１や非特許文献１には、被写体の面法線を直接取得する方法として照度差ステレオ法が開示されている。照度差ステレオ法は、被写体の面法線と被写体から光源への方向とに基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから面法線を算出する方法である。被写体の反射特性は、例えば、ランバートの余弦則に従うランバート拡散反射モデルを用いて近似することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１２２１５８号公報
【非特許文献】
【０００５】
【非特許文献１】松下康之、“照度差ステレオ”、情報処理学会研究報告、Ｖｏｌ．２０１１−ＣＶＩＭ−１７７、Ｎｏ．２９、ｐｐ．１−１２、２０１１
【非特許文献２】肥後  智昭、宮崎  大輔、池内  克史、“二色性反射モデルに基づくリアルタイム鏡面反射成分除去”、研究報告コンピュータビジョンとイメージメディア、ｐｐ．２１１−２１８、２００６
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、照度差ステレオ法で面法線を算出する場合、仮定した反射特性とは異なる反射特性の被写体に関して法線誤差が生じる。このため、誤差が生じた面法線を用いてレンダリング画像を生成すると、レンダリング画像にも誤差が生じる。例えば、ランバート拡散反射モデルを仮定した照度差ステレオ法で金属や透明体等の拡散反射が少ない被写体の面法線を算出すると、特に大きな法線誤差が生じる。このため、取得した面法線を用いてレンダリング画像を生成しようとすると、レンダリング画像に破綻が生じて高品位なレンダリング画像を生成することができない。
【０００７】
そこで本発明は、高品位なレンダリング画像を生成可能な処理装置、撮像装置、処理方法、プログラム、および、記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面としての処理装置は、入力画像を取得する入力画像取得部と、法線情報を取得する法線情報取得部と、前記入力画像が撮像された際の光源条件と前記法線情報とに基づいて第一レンダリング画像を生成する第一レンダリング部と、前記入力画像と前記第一レンダリング画像とに基づいて対象領域を検出する領域検出部とを有する。
【０００９】
本発明の他の側面としての処理システムは、光源部と前記処理装置とを有する。
【００１０】
本発明の他の側面としての撮像装置は、撮像光学系を介して形成された光学像を光電変換して入力画像に対応する画像データを出力する撮像素子と、前記処理装置とを有する。
【００１１】
本発明の他の側面としての処理方法は、入力画像を取得するステップと、法線情報を取得するステップと、前記入力画像が撮像された際の光源条件と前記法線情報とに基づいて第一レンダリング画像を生成するステップと、前記入力画像と前記第一レンダリング画像とに基づいて対象領域を検出するステップとを有する。
【００１２】
本発明の他の側面としてのプログラムは、前記処理方法をコンピュータに実行させる。
【００１３】
本発明の他の側面としての記憶媒体は、前記プログラムを記憶している。
【００１４】
本発明の他の目的及び特徴は、以下の実施例において説明される。
【発明の効果】
【００１５】
本発明によれば、高品位なレンダリング画像を生成可能な処理装置、撮像装置、処理方法、プログラム、および、記録媒体を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施例１における撮像装置の外観図である。
【図２】実施例１における撮像装置および処理システムのブロック図である。
【図３】実施例１における処理方法を示すフローチャートである。
【図４】実施例１における処理方法の説明図である。
【図５】実施例１における処理方法の説明図である。
【図６】実施例２における撮像装置のブロック図である。
【図７】実施例２における処理方法を示すフローチャートである。
【図８】実施例３における処理システムの外観図である。
【図９】Ｔｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルの説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施例について、図面を参照しながら詳細に説明する。各図において、同一の部材については同一の参照符号を付し、重複する説明は省略する。
【００１８】
照度差ステレオ法は、被写体の面法線と被写体から光源への方向に基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性から面法線を算出する方法である。反射特性は、所定の面法線と光源の位置が与えられたときに反射率が一意に定まらない場合、ランバートの余弦則に従うランバート反射モデルで近似すればよい。図９は、Ｔｏｒｒａｎｃｅ−Ｓｐａｒｒｏｗモデルの説明図である。図９に示されるように、鏡面反射成分は、光源ベクトルｓと視線方向ベクトルｖの２等分線と、面法線ｎのなす角αに依存する。したがって、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報は、光源が点灯している場合と消灯している場合のそれぞれの被写体を撮像し、これらの差分をとることで環境光等の光源以外の光源による影響を除いてもよい。
【００１９】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をｉ、物体のランバート拡散反射率をρｄ、入射光の強さをＥ、物体から光源への方向（光源方向）を示す単位ベクトル(光源方向ベクトル)をｓ、物体の単位面法線ベクトルをｎとする。このとき、輝度値ｉは、ランバートの余弦則より、以下の式（１）のように表される。
【００２０】
【数１】
2019168862.tif 000003
【００２１】
ここで、異なるＭ個（Ｍ≧３）の光源ベクトルの各成分をｓ１、ｓ２、…、ｓＭ、光源ベクトルの各成分の輝度値をｉ１、ｉ２、・・・ｉＭとすると、式（１）は以下の式（２）のように表される。
【００２２】
【数２】
2019168862.tif 000004
【００２３】
式（２）において、左辺はＭ行１列の輝度ベクトル、右辺の［ｓ１Ｔ、…ｓＭＴ］はＭ行３列の光源方向を示す入射光行列Ｓ、ｎは３行１列の単位面法線ベクトルである。Ｍ＝３の場合は、入射光行列Ｓの逆行列Ｓ−１を用いることにより、Ｅρｄｎは以下の式（３）のように表される。
【００２４】
【数３】
2019168862.tif 000005
【００２５】
式（３）の左辺のベクトルのノルムが入射光の強さＥとランバート拡散反射率ρｄとの積であり、正規化したベクトルが物体の面法線ベクトルとして算出される。すなわち、入射光の強さＥとランバート拡散反射率ρｄは積の形でのみ条件式に現れるため、Ｅρｄを１つの変数とすると、式（３）は単位面法線ベクトルｎの２自由度と合わせて未知の３変数を決定する連立方程式とみなせる。したがって、少なくとも３つの光源を用いて輝度情報を取得することで、各変数を決定することができる。なお、入射光行列Ｓが正則行列でない場合は逆行列が存在しないため、入射光行列Ｓが正則行列となるように入射光行列Ｓの各成分ｓ１〜ｓ３を選択する必要がある。すなわち、成分ｓ３を成分ｓ１、ｓ２に対して線形独立に選択することが好ましい。
【００２６】
Ｍ＞３の場合、求める未知変数より多い条件式が得られる。このため、任意に選択した３つの条件式から、Ｍ＝３の場合と同様の方法で単位面法線ベクトルｎを算出すればよい。４つ以上の条件式を用いる場合、入射光行列Ｓが正則行列ではなくなるため、例えば、Ｍｏｏｒｅ−Ｐｅｎｒｏｓｅ疑似逆行列を使って近似解を算出すればよい。また、フィッティング手法や最適化手法によって単位面法線ベクトルｎを算出してもよい。
【００２７】
光源ベクトルの各成分の輝度値のうち、陰影や輝度飽和により正確な値を取得できない輝度値を使用して単位面法線ベクトルｎを算出した場合、正確な法線ベクトルを算出することが困難となる。したがって、陰影や輝度飽和により正確な値が取得できなかった輝度値は使用せずに単位面法線ベクトルｎを算出してもよい。すなわち、Ｍ＝ｍの光源ベクトルｓｍで得られた輝度値ｉｍが陰影や輝度飽和である場合、光源ベクトルｓｍおよび輝度値ｉｍを式（３）から除外して単位面法線ベクトルｎを算出する。除外する輝度値は所定の閾値に基づく判定により決定すればよい。ただし、上記したように少なくとも３つの輝度情報が必要である。被写体の反射特性をランバート反射モデルとは異なるモデルで仮定すると、条件式が単位面法線ベクトルｎの各成分に対する線形方程式と異なる場合がある。この場合、未知変数以上の条件式が得られれば、フィッティング手法や最適化手法を用いることができる。
【００２８】
またＭ＞３の場合、３以上Ｍ−１以下の複数の条件式が得られるため、単位面法線ベクトルｎの複数の解の候補を求めることができる。この場合、さらに別の条件を用いて複数の解の候補から解を選択すればよい。例えば、単位面法線ベクトルｎの連続性を条件として用いることができる。単位面法線ｎを撮像装置の１画素ごとに算出する場合、画素（ｘ、ｙ）での面法線をｎ（ｘ、ｙ）として、ｎ（ｘ−１、ｙ）が既知であれば、以下の式（４）であらわされる評価関数が最小となる解を選択すればよい。
【００２９】
【数４】
2019168862.tif 000006
【００３０】
また、ｎ（ｘ＋１、ｙ）やｎ（ｘ、ｙ±１）も既知であれば、以下の式（５）が最小となる解を選択すればよい。
【００３１】
【数５】
2019168862.tif 000007
【００３２】
既知の面法線がなく、全画素位置で面法線の不定性があるとすれば、以下の式（６）で示されるように、式（５）の全画素での総和が最小となるように解を選択してもよい。
【００３３】
【数６】
2019168862.tif 000008
【００３４】
なお、最近傍以外の画素での面法線を用いることや、注目する画素位置からの距離に応じて重み付けした評価関数を用いてもよい。また、別の条件として、任意の光源位置での輝度情報を用いてもよい。ランバート反射モデルに代表される拡散反射モデルでは、単位面法線ベクトルと光源方向ベクトルが近いほど反射光の輝度が大きくなる。よって、複数の光源方向での輝度値のうち最も輝度値が大きくなる光源方向ベクトルに近い解を選択することで、単位面法線ベクトルを決定することができる。
【００３５】
また、鏡面反射モデルでは、光源ベクトルをｓ、物体からカメラへの方向の単位ベクトル（カメラの視線ベクトル）をｖとすると、以下の式（７）が成り立つ。
【００３６】
【数７】
2019168862.tif 000009
【００３７】
式（７）で表されるように、光源方向ベクトルｓとカメラの視線ベクトルｖが既知であれば、単位面法線ベクトルｎを算出することができる。表面に粗さがある場合、鏡面反射も出射角の広がりを持つが、平滑面として求めた解の付近に広がるため、複数の解の候補うち最も平滑面に対する解に近い候補を選択すればよい。また、複数の解の候補の平均によって真の解を決定してもよい。
【００３８】
以上の照度差ステレオ法によって面法線ｎおよび反射率ρ（＝Ｅρｄ）を取得すると、式（１）に対して任意の光源ベクトルｓを与えることにより、任意の光源下での輝度値ｉを算出することができる。すなわち、任意の光源下での見え（被写体の見た目、または見え方）を再現したレンダリング画像を生成することが可能となる。式（１）ではランバート拡散反射でのレンダリング画像を生成するが、その他の拡散反射特性やそれに加えて鏡面反射特性でのレンダリング画像を生成することもできる。
【実施例１】
【００３９】
次に、図１および図２を参照して、本発明の実施例１における撮像装置および処理システムについて説明する。図１は、本実施例における撮像装置１の外観図である。図２（ａ）は、撮像装置１のブロック図である。図２（ｂ）は処理システム２のブロック図である。
【００４０】
撮像装置１は、法線情報の誤差が大きい対象領域（エラー領域）を検出し、レンダリング画像における対象領域（エラー領域）を入力画像で置き換えることで破綻のないレンダリング画像を生成する。図１に示されるように、撮像装置１は、被写体を撮像する撮像部１００および光源部２００を有する。図２に示されるように、撮像部１００は、撮像光学系１０１および撮像素子１０２を有する。本実施例において、光源部２００は８つの光源２００ａ〜２００ｈを有するが、これに限定されるものではない。照度差ステレオ法を実施する際に必要な光源は少なくとも３個であるため、入力画像を取得するために少なくとも３つ以上の光源を備えていればよい。また本実施例において、撮像部１００を構成する撮像光学系の光軸ＯＡから等距離の位置に同心円状に８つの光源を等間隔で配置しているが、これに限定されるものではない。また本実施例において、光源部２００は、撮像装置１に内蔵されているが、これに限定されるものではない。光源部２００は、撮像装置１に着脱可能に取り付けられるように構成されていてもよい。
【００４１】
撮像光学系１０１は、絞り１０１ａを備え、被写体からの光を撮像素子１０２上に結像させる。撮像素子１０２は、ＣＣＤセンサやＣＭＯＳセンサ等の光電変換素子により構成され、被写体を撮像する。すなわち撮像素子１０２は、撮像光学系１０１により形成された被写体の像（光学像）を光電変換し、アナログ電気信号（入力画像に対応する画像データ）を生成する。Ａ／Ｄコンバータ１０３は、撮像素子１０２の光電変換により生成されたアナログ信号をデジタル信号に変換し、デジタル信号を画像処理部１０４に出力する。
【００４２】
画像処理部（処理装置）１０４は、Ａ／Ｄコンバータ１０３から入力されたデジタル信号に対して、各種の画像処理を行う。また本実施例において、画像処理部１０４は、被写体の法線情報を算出し、任意の光源下でのレンダリング画像を生成する。画像処理部１０４は、入力画像取得部１０４ａ、法線情報取得部１０４ｂ、第一レンダリング部１０４ｃ、領域検出部１０４ｄ、第二レンダリング部１０４ｅ、および、置換部１０４ｆを有する。
【００４３】
画像処理部１０４により処理された出力画像は、半導体メモリや光ディスク等の画像記録部１０９に保存される。また、出力画像を表示部（ディスプレイ）１０５に表示してもよい。なお本実施例において、入力画像取得部１０４ａ、法線情報取得部１０４ｂ、第一レンダリング部１０４ｃ、領域検出部１０４ｄ、第二レンダリング部１０４ｅ、および、置換部１０４ｆは、撮像装置１に内蔵されているが、撮像装置１とは別に設けてもよい。
【００４４】
情報入力部１０８は、ユーザにより選択された撮影条件（絞り値、露出時間、および、焦点距離等）をシステムコントローラ１１０に供給する。撮像制御部１０７は、システムコントローラ１１０からの情報に基づいて、ユーザが選択した所望の撮影条件で画像を取得する。照射光源制御部１０６は、システムコントローラ１１０の制御指示に応じて光源部２００の発光状態を制御する。また情報入力部１０８は、ユーザにより選択された光源条件（光源位置、光源強度、および、光源色等）をシステムコントローラ１１０に供給する。画像処理部１０４は、システムコントローラ１１０からの情報に基づいて、ユーザが選択した所望の光源条件でレンダリング画像（リライティング画像）を生成する。なお本実施例において、撮像光学系１０１は、撮像装置１と一体的に構成されているが、これに限定されるものではない。本発明は、撮像素子を有する撮像装置本体と、撮像装置本体に着脱可能な撮像光学系（交換レンズ）とを備えて構成される一眼レフカメラ等のカメラシステムにも適用可能である。
【００４５】
次に、図３乃至図５を参照して、本実施例におけるレンダリング処理（処理方法）について説明する。図３は、レンダリング処理を示すフローチャートである。本実施例のレンダリング処理は、システムコントローラ１１０および画像処理部１０４により、コンピュータプログラムとしての処理プログラムに従って実行される。なお処理プログラムは、例えば、コンピュータに読み取り可能な記憶媒体（システムコントローラ１１０の内部メモリ等）に記憶されている。図４は、レンダリング処理のうち図３のステップＳ１０１〜Ｓ１０４の説明図である。図５は、レンダリング処理のうち図３のステップＳ１０５、Ｓ１０６の説明図である。ステップＳ１０１〜Ｓ１０４は、法線情報の誤差が大きい対象領域（エラー領域）を検出するステップである。ステップＳ１０５、Ｓ１０６は、レンダリング画像における対象領域（エラー領域）を入力画像で置き換えることで破綻のないレンダリング画像を生成するステップである。
【００４６】
まず、図３のステップＳ１０１において、入力画像取得部１０４ａは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで撮像部１００により取得された複数の入力画像１２０を取得する。複数の入力画像１２０は、単一の光源の位置を（駆動部などを用いて）変更しながら単一の光源からの光を順次照射することで取得することができる。または、複数の入力画像１２０を、それぞれ位置の異なる複数の光源（例えば、図１に示される８つの光源２００ａ〜２００ｈ）からの光を順次照射して取得してもよい。図４に示されるように、本実施例の入力画像１２０は、被写体として拡散特性である拡散球１２０ａと金属球１２０ｂとを含む。
【００４７】
また、後述するステップＳ１０２にてランバート反射等の拡散反射モデルを仮定した照度差ステレオ法で法線情報を取得する場合、入力画像として撮影画像から鏡面反射成分を除去した複数の拡散反射画像を用いてもよい。画像から鏡面反射成分を除去した拡散反射画像を取得するため、例えば非特許文献２に開示されているような、２色性反射モデルによる手法を用いることができる。ただし、画像から鏡面反射成分を除去する手法はこれに限定されるものではなく、種々の手法を用いることが可能である。
【００４８】
続いてステップＳ１０２において、法線情報取得部１０４ｂは、法線情報を取得する。本実施例において、具体的には、法線情報取得部１０４ｂは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の入力画像１２０を用いて、被写体の法線情報ｎおよび反射率ρを含む被写体情報１２１を取得する。法線情報ｎおよび反射率ρは、照度差ステレオ法を用いて、光源位置による輝度情報の変化に基づいて算出される。なお本実施例において、法線情報取得部１０４ｂは、法線情報ｎおよび反射率ρを算出するが、他のユニットが算出した法線情報や反射率を取得してもよい。また法線情報取得部１０４ｂは、ステップＳ１０１にて取得した複数の入力画像１２０とは異なる光源条件で撮像された画像を用いて法線情報を算出してもよい。ここで、入力画像１２０における拡散球１２０ａに関しては、被写体の反射特性を拡散反射と仮定した照度差ステレオ法で法線情報を取得することが可能である。一方、金属球１２０ｂに関しては法線情報に大きな誤差（エラー）が生じる。
【００４９】
続いてステップＳ１０３において、第一レンダリング部１０４ｃは、ステップＳ１０２にて取得した法線情報ｎおよび反射率ρとステップＳ１０１にて取得した入力画像１２０が撮像された際の光源条件とに基づいて、第一レンダリング画像１２２を生成する。すなわち第一レンダリング部１０４ｃは、取得した法線情報ｎおよび反射率ρを用いて、入力画像１２０を再現した第一レンダリング画像１２２を生成する。第一レンダリング画像１２２は、入力画像１２０が撮像された光源条件と同一の光源条件でレンダリングされた画像である。また第一レンダリング画像１２２は、ステップＳ１０２にて法線情報を算出する際に仮定した反射特性を用いてレンダリング処理により生成される。ランバート拡散を仮定して法線情報を算出した場合、第一レンダリング部１０４ｃは、式（１）に従って複数のレンダリング画像を生成することができる。なお、第一レンダリング画像１２２は、複数の入力画像１２０のうち一部の入力画像に対応するレンダリング画像、または、複数の入力画像１２０の全ての入力画像に対応する複数のレンダリング画像のいずれであってもよい。
【００５０】
続いてステップＳ１０４において、領域検出部１０４ｄは、ステップＳ１０１で取得された入力画像１２０とステップＳ１０３で生成された第一レンダリング画像１２２とに基づいて、対象領域（エラー領域１２４）を検出する。対象領域は、例えば、法線情報の誤差が所定の誤差よりも大きい領域である。前述のように、照度差ステレオ法で面法線を算出した場合、仮定した反射特性とは異なる反射特性の被写体については法線誤差（法線エラー）が生じる。このため、誤差が生じた面法線を用いてレンダリング画像を生成すると、レンダリング画像にも誤差（エラー）が生じる。すなわち、拡散反射モデルを仮定した照度差ステレオ法で金属球１２０ｂの面法線を算出すると、大きな誤差が生じる。このため、取得した面法線を用いてレンダリング画像を生成すると、第一レンダリング画像１２２における金属球１２０ｂに対応する斜線領域１２２ｂが破綻する（すなわち、斜線領域１２２ｂにおいて適切なレンダリング画像を生成することができない）。
【００５１】
そこで領域検出部１０４ｄは、ステップＳ１０１にて取得された入力画像１２０とステップＳ１０３にて生成された第一レンダリング画像１２２との差分（差分画像）１２３に基づいて、エラー領域１２４を検出する。入力画像１２０と入力画像１２０を再現した第一レンダリング画像１２２との差分１２３が大きい領域は、照度差ステレオ法で仮定した反射特性とは異なる反射特性の被写体である可能性が高い。
【００５２】
本実施例において、領域検出部１０４ｄは、例えば、入力画像１２０と第一レンダリング画像１２２との差分１２３が所定の閾値以上である領域を検出し、その領域をエラー領域１２４とする。好ましくは、領域検出部１０４ｄは、差分１２３を入力画像１２０または複数の入力画像１２０の平均値もしくは中央値等の入力画像１２０に基づく画像で除した正規化差分に基づいてエラー領域１２４を決定する。または、領域検出部１０４ｄは、差分１２３を反射率ρで除した正規化差分を用いてもよい。差分１２３を入力画像１２０や反射率ρで除することにより、算出した差分１２３から明るさの影響を低減（好ましくは除外）することができる。
【００５３】
また領域検出部１０４ｄは、複数の入力画像１２０と複数の第一レンダリング画像１２２との複数の差分１２３における最大値である最大差分、または、複数の差分１２３の平均値である平均差分に基づいて、エラー領域１２４を決定してもよい。好ましくは、領域検出部１０４ｄは、最大差分や平均差分を、入力画像１２０または複数の入力画像１２０の平均値もしくは中央値等の入力画像に基づく画像で除した正規化最大差分や正規化平均差分に基づいてエラー領域１２４を決定する。または、領域検出部１０４ｄは、最大差分や平均差分を反射率ρで除した正規化最大差分または正規化平均差分を用いてもよい。
【００５４】
また、法線情報を用いたレンダリング処理では、光が遮られて発生する影を再現することができない。したがって、差分（差分画像）１２３ａに示されるように、入力画像１２０と第一レンダリング画像１２２との差分１２３をとった際に入力画像１２０における影領域１２０ｃ、１２０ｄにおいて差分１２３ｃ、１２３ｄが大きくなる。このため、領域検出部１０４ｄは、差分１２３ｃ、１２３ｄに関して、法線情報ｎが正確であってもエラー領域１２４と検出する可能性がある。そこで、法線情報ｎに加えて形状情報を用いて、影を再現したレンダリング画像を生成することが好ましい。形状情報がない場合、入力画像１２０における影領域１２０ｃ、１２０ｄを検出し、差分１２３ｂに示されるように検出した影領域においては差分をとらないようにすることが好ましい。入力画像１２０における影領域１２０ｃ、１２０ｄは、輝度値が所定の閾値以下である領域とすることができる。または、入力画像１２０と第一レンダリング画像１２２との差分と差分の符号とに基づいてエラー領域１２４を検出してもよい。例えば、入力画像１２０における影領域１２０ｃ、１２０ｄでは、入力画像１２０から第一レンダリング画像１２２を引いた値が負となるため、負の差分領域はエラー領域１２４として検出しないようにする。また、影領域１２０ｃ、１２０ｄに関しては、機械学習などを用いて領域検出部１０４ｄが自動的に認識するように構成してもよい。
【００５５】
領域検出部１０４ｄは、差分１２３ｂに対して閾値処理を行うことにより、検出されたエラー領域１２４のうち白く表示される領域を最終的なエラー領域１２４として取得することができる。本実施例において、領域検出部１０４ｄは、入力画像１２０と第一レンダリング画像１２２との差分１２３に基づいてエラー領域１２４を検出するが、これに限定されるものではない。領域検出部１０４ｄは、例えば、複数の入力画像１２０における輝度値をフィッティングすることで法線情報ｎを取得し、得られたフィッティング誤差をエラー領域１２４を検出する際の差分として用いてもよい。
【００５６】
続いて、図３のステップＳ１０５において、第二レンダリング部１０４ｅは、任意の光源条件における第二レンダリング画像１２５を生成する。第二レンダリング部１０４ｅは、例えば、ユーザにより選択された光源条件（光源位置、光源強度、または、光源色など）で第二レンダリング画像１２５を生成する。第二レンダリング画像１２５は、ステップ１０２の法線情報算出において仮定した反射特性に代えて、その他の拡散反射特性やそれに加えて鏡面反射特性で生成してもよい。また、入力画像を反射率とみなして第二レンダリング画像１２５を生成してもよい。ここでも同様に、金属球１２０ｂにおける面法線には大きな誤差が生じるため、第二レンダリング画像１２５における金属球１２０ｂに対応する斜線領域１２５ｂが破綻する（すなわち、斜線領域１２５ｂにおいて適切なレンダリング画像を生成することができない）。
【００５７】
続いてステップＳ１０６において、置換部１０４ｆは、ステップＳ１０５にて取得された第二レンダリング画像１２５のうちステップＳ１０４にて検出されたエラー領域１２４に対して、入力画像１２０を用いて置き換え処理を行う。これにより、エラー領域の破綻が低減された第二のレンダリング画像１２６が生成される。置き換えに用いる入力画像１２０は、複数の入力画像のうちの一つの入力画像、または、複数の入力画像の平均値や最大値などであってもよい。また、ステップＳ１０５にて選択された光源条件に最も近い光源条件で撮像された入力画像を用いてもよい。ここで光源条件とは光源位置であり、選択された光源位置に最も近い光源位置で撮像された入力画像を用いてエラー領域１２４に対して置き換え処理を行うことで、置き換えた領域とそれ以外の領域における光源位置に対する見えの乖離を低減することができる。または、ステップＳ１０５にて選択された光源条件である画像を複数の入力画像を補間することで生成し、置き換え処理に用いてもよい。
【００５８】
また、エラー領域の破綻が低減された第二レンダリング画像１２６において、入力画像１２０と第二レンダリング画像１２５との明るさが異なり、置き換えた領域とそれ以外の領域で明るさが乖離する場合がある。このため、入力画像１２０および第二レンダリング画像１２５におけるエラー領域周囲の輝度値に基づいて決定される調整係数に基づいて、置き換え処理を行う入力画像におけるエラー領域１２４の明るさを調整してもよい。すなわち、置き換え処理を行う入力画像１２０におけるエラー領域１２４の輝度値を、第二のレンダリング画像におけるエラー領域周囲の輝度値を入力画像におけるエラー領域周囲の輝度値で除した値である調整係数で乗算した値を用いて置き換え処理を行う。または、置き換え処理を行った後、第二レンダリング画像１２５におけるエラー領域１２４の境界に対してぼかし処理を行ってもよい。
【００５９】
なお本実施例では、撮像装置１を用いて被写体の面法線を算出してエラー領域の破綻が低減された第二レンダリング画像１２６を生成しているが、これに限定されるものではない。例えば図２（ｂ）に示されるように、撮像装置１とは異なる処理システム２を用いてエラー領域の破綻が低減された第二レンダリング画像１２６を生成してもよい。図２（ｂ）に示される処理システム２は、処理装置５００、撮像部５０１、および光源部５０２を有する。処理装置５００は、入力画像取得部５００ａ、法線情報取得部５００ｂ、第一レンダリング部５００ｃ、領域検出部５００ｄ、第二レンダリング部５００ｅ、および、置換部５００ｆを有する。
【００６０】
処理システム２を用いてエラー領域の破綻が低減された第二レンダリング画像１２６を生成する場合、まず入力画像取得部５００ａは、互いに位置の異なる複数の光源位置で被写体の撮像を行うことで取得された複数の入力画像１２０を取得する。続いて、法線情報取得部５００ｂは、複数の入力画像１２０に基づいて被写体の法線情報ｎおよび反射率ρを算出する。そして第一レンダリング部５００ｃは、取得した法線情報ｎおよび反射率ρと入力画像が撮像された際の光源条件に基づいて第一レンダリング画像１２２を生成する。また領域検出部５００ｄは、取得した入力画像１２０と第一レンダリング画像１２２とに基づいてエラー領域１２４を検出する。そして第二レンダリング部５００ｅは、任意の光源条件における第二レンダリング画像１２５を生成する。また置換部５００ｆは、第二レンダリング画像１２５におけるエラー領域１２４に対して、入力画像１２０を用いて置き換え処理を行う。なお、撮像部５０１および光源部５０２はそれぞれ、個別の装置であってもよく、また、光源部５０２は撮像部５０１に内蔵されていてもよい。
【００６１】
本実施例によれば、誤差が生じた面法線を用いても破綻のないレンダリング画像を生成することができる。
【実施例２】
【００６２】
次に、図６および図７を参照して、本発明の実施例２について説明する。図６は、本実施例における撮像装置１ａのブロック図である。本実施例では、法線情報におけるエラー領域を、補間処理により領域周囲から補間し、補間した法線情報を用いて第二レンダリング画像を生成する方法について説明する。本実施例の撮像装置１ａは、置換部１０４ｆに代えて補間部１０４ｇを有する点で、実施例１の撮像装置１と異なる。撮像装置１ａの他の構成は、実施例１の撮像装置１と同様であるため、それらの説明を省略する。
【００６３】
図７は、本実施例におけるレンダリング処理（処理方法）を示すフローチャートである。本実施例のレンダリング処理は、システムコントローラ１１０および画像処理部１０４により、コンピュータプログラムとしての処理プログラムに従って実行される。なお処理プログラムは、例えば、コンピュータに読み取り可能な記憶媒体（システムコントローラ１１０の内部メモリ等）に記憶されている。なお、図７のステップＳ２０１〜Ｓ２０４は、実施例１にて説明した図３のステップＳ１０１〜Ｓ１０４とそれぞれ同様であるため、それらの詳細な説明は省略する。
【００６４】
図７のステップＳ２０５において、補間部１０４ｇは、ステップＳ２０２にて取得した法線情報におけるステップＳ２０４にて検出されたエラー領域を、補間処理によりエラー領域の周囲から補間する。同様に、補間部１０４ｇは反射率について補間処理を行ってもよい。補間処理は、バイリニア補間や、エラー領域をマスクとして用いたインペインティング処理など、種々の手法を用いることができる。
【００６５】
ステップＳ２０６において、第二レンダリング部１０４ｅは、ステップＳ２０５にて取得した補間された法線情報および反射率を用いて、任意の光源条件における第二レンダリング画像を生成する。本実施例において、エラー領域が補間された法線情報を用いて第二レンダリング画像を生成するため、法線情報の誤差が低減されたレンダリング画像を生成することができる。本実施例によれば、誤差が生じた面法線を用いても破綻のないレンダリング画像を生成することができる。
【実施例３】
【００６６】
次に、図８を参照して、本発明の実施例３について説明する。実施例１および実施例２では、光源を内蔵した撮像装置について説明したが、本実施例では撮像装置と光源ユニットとから構成される処理システムについて説明する。図８は、処理システム３の外観図である。処理システム３は、被写体３０３を撮像する撮像装置３０１、および、複数の光源ユニット３０２を備えて構成される。本実施例の撮像装置３０１は、実施例１と同様の撮像装置であるが、複数の光源を内蔵する構成である必要はない。
【００６７】
光源ユニット３０２は、撮像装置３０１と有線または無線で接続され、撮像装置３０１からの情報に基づいて制御できることが好ましい。また、照度差ステレオ法では少なくとも３つの光源を順次照射して撮像された画像が必要であるが、光源が移動可能に構成された光源ユニットを使用する場合、少なくとも１つの光源ユニットを備えていればよい。ただし、光源を移動させて、少なくとも互いに異なる３つの光源位置で撮像を行う必要がある。なお、光源ユニット３０２が自動で光源位置を変更できない場合や光源ユニット３０２が撮像装置３０１により制御できない場合、撮像装置３０１の表示部に表示される光源位置に位置するようにユーザに光源ユニット３０２を調整させてもよい。なお、本実施例のレンダリング処理は、実施例１の処理と同様であるため、詳細な説明は省略する。
【００６８】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６９】
各実施例によれば、高品位なレンダリング画像を生成可能な処理装置、撮像装置、処理方法、プログラム、および、記録媒体を提供することができる。
【００７０】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【００７１】
１０４  画像処理部（処理装置）
１０４ａ  入力画像取得部
１０４ｂ  法線情報取得部
１０４ｃ  第一レンダリング部
１０４ｄ  領域検出部
【図１】
2019168862.tif 000010
【図２】
2019168862.tif 000011
【図３】
2019168862.tif 000012
【図４】
2019168862.tif 000013
【図５】
2019168862.tif 000014
【図６】
2019168862.tif 000015
【図７】
2019168862.tif 000016
【図８】
2019168862.tif 000017
【図９】
2019168862.tif 000018