(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】画像処理装置、画像処理システム、撮像装置および画像処理方法
(51)【国際特許分類】
G06T 15/50 20110101AFI20240624BHJP
G06T 5/00 20240101ALI20240624BHJP
【FI】
G06T15/50
G06T5/00 700
(21)【出願番号】P 2020012469
(22)【出願日】2020-01-29
【審査請求日】2023-01-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100110412
【氏名又は名称】藤元 亮輔
(74)【代理人】
【識別番号】100104628
【氏名又は名称】水本 敦也
(74)【代理人】
【識別番号】100121614
【氏名又は名称】平山 倫也
(72)【発明者】
【氏名】楠美 祐一
(72)【発明者】
【氏名】井田 義明
【審査官】▲高▼橋 真之
(56)【参考文献】
【文献】特開2019-168862(JP,A)
【文献】特開2013-012087(JP,A)
【文献】特開2016-095579(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/50
G06T 5/00
(57)【特許請求の範囲】
【請求項1】
被写体を撮像して得られる入力画像を用いて算出される前記被写体の第1の法線情報及び反射率情報を取得する第1の取得手段と、
前記反射率情報を用いて第1の補正情報を取得する第2の取得手段と、
前記入力画像と前記第1の法線情報とを用いて対象領域を検出する検出手段と、
前記対象領域における前記第1の補正情報を補正することで第2の補正情報を取得する補正手段と、
前記入力画像に基づいて得られる第1の画像と前記第1の法線情報と前記第2の補正情報とを用いて第2の画像を生成する生成手段とを有することを特徴とする画像処理装置。
【請求項2】
前記補正手段は、前記対象領域における前記第1の法線情報及び前記第1の補正情報をそれぞれ補正することで第2の法線情報及び前記第2の補正情報を取得し、
前記生成手段は、前記第1の画像と前記第2の法線情報と前記第2の補正情報とを用いて前記第2の画像を生成することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記生成手段は、前記第2の法線情報を用いてゲインマップを取得し、前記第1の画像と前記ゲインマップと前記第2の補正情報とを用いて前記第2の画像を生成することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記入力画像は、互いに異なる複数の光源位置で前記被写体を撮像して得られた複数の画像であり、
前記第1の画像は、前記入力画像の少なくとも1つの画像に基づいて生成された画像であることを特徴とする請求項1から3のいずれか一項に記載の画像処理装置。
【請求項5】
前記第1の画像は、前記入力画像のうち同一座標の輝度値が最大の画像であることを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記検出手段は、
前記入力画像の撮像が行われた光源条件と前記第1の法線情報と前記反射率情報とを用いて仮画像を生成し、
前記仮画像と前記入力画像とを用いて前記対象領域を検出することを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
【請求項7】
前記補正手段は、
前記入力画像を用いてガイド画像を取得し、
前記ガイド画像のうち前記対象領域に対応する対象画素とは異なる参照画素の前記第1の法線情報と前記反射率情報とを用いて、前記対象領域における前記第1の法線情報と前記第1の補正情報とを補正することで、前記第2の法線情報と前記第2の補正情報とを取得することを特徴とする請求項2に記載の画像処理装置。
【請求項8】
前記補正手段は、前記ガイド画像における前記対象画素とそれ以外の画素との色差または輝度差を用いて前記参照画素を選択することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記補正手段は、前記ガイド画像における輝度値を用いて前記参照画素を選択することを特徴とする請求項7または8に記載の画像処理装置。
【請求項10】
前記入力画像は、互いに異なる複数の光源位置で前記被写体を撮像して得られた複数の画像であり、
前記ガイド画像は、前記入力画像の少なくとも1つの画像に基づいて生成された画像であることを特徴とする請求項7から9のいずれか一項に記載の画像処理装置。
【請求項11】
前記ガイド画像は、前記入力画像のうち同一座標の輝度値が最大の画像であることを特徴とする請求項10に記載の画像処理装置。
【請求項12】
前記ガイド画像は、前記入力画像のうち前記対象画素の輝度値が最大の画像であることを特徴とする請求項10に記載の画像処理装置。
【請求項13】
前記補正手段は、
前記対象領域における前記第1の法線情報と前記第1の補正情報とを前記対象領域に対応する対象画素とは異なる参照画素の前記第1の法線情報と前記反射率情報とを用いて補正することで、前記第2の法線情報と前記第2の補正情報とを取得し、
前記第1の法線情報を取得する方法とは異なる方法で取得された前記被写体の形状に関する情報または前記被写体の意味的領域分割マップを用いて前記参照画素を選択することを特徴とする請求項2、3、7から12のいずれか一項に記載の画像処理装置。
【請求項14】
被写体を撮像する撮像手段と、
請求項1から1
3のいずれか一項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項15】
被写体に互いに異なる複数の位置から照明光を順次照射する照明手段と、
請求項1から1
3のいずれか一項に記載の画像処理装置とを有することを特徴とする画像処理システム。
【請求項16】
被写体を撮像する撮像手段をさらに有することを特徴とする請求項1
5に記載の画像処理システム。
【請求項17】
被写体を撮像して得られる入力画像を用いて算出される前記被写体の第1の法線情報及び反射率情報を取得するステップと、
前記反射率情報を用いて第1の補正情報を取得するステップと、
前記入力画像と前記第1の法線情報とを用いて対象領域を検出するステップと、
前記対象領域における前記第1の補正情報を補正することで第2の補正情報を取得するステップと、
前記入力画像に基づいて得られる第1の画像と前記第1の法線情報と前記第2の補正情報とを用いて第2の画像を生成するステップとを有することを特徴とする画像処理方法。
【請求項18】
コンピュータに、請求項1
7に記載の画像処理方法に従う処理を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像により取得された被写体の法線情報や反射率情報を用いて画像を生成する技術に関する。
【背景技術】
【0002】
被写体を撮像して得られた画像から被写体の法線情報や反射率情報を取得し、これらの情報を用いて、被写体の見えを変更したレンダリング画像を生成することが可能である。特許文献1には、照度差ステレオ法が開示されている。照度差ステレオ法は、複数の光源位置での被写体の輝度情報とランバート拡散反射モデル等を用いて仮定した反射特性とから、被写体の法線情報および反射率情報を取得する方法である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ただし、実際の被写体の反射特性が、照度差ステレオ法において仮定した反射特性と異なると、取得された法線情報や反射率情報に誤差が生じ、その結果、レンダリング画像にも誤差が生じる。例えば、金属や透明体等の拡散反射が少ない被写体の法線情報や反射率情報に大きな誤差が生じる。このため、取得した法線情報や反射率情報において誤差が大きい対象領域をその周囲の情報を用いて補正することが望ましい。
【0005】
しかしながら、反射率情報はレンダリング画像の元となる構造を含むため、反射率情報に対して補正を行うと、対象領域の構造が失われて良好なレンダリング画像を生成することができなくなる。
【0006】
本発明は、良好なレンダリング画像を生成可能な画像処理装置等を提供する。
【課題を解決するための手段】
【0007】
本発明の一側面としての画像処理装置は、被写体を撮像して得られる入力画像を用いて算出される被写体の第1の法線情報及び反射率情報を取得する第1の取得手段と、反射率情報を用いて、第1の補正情報を取得する第2の取得手段と、入力画像と第1の法線情報とを用いて対象領域を検出する検出手段と、対象領域における第1の補正情報を補正することで第2の補正情報を取得する補正手段と、入力画像に基づいて得られる第1の画像と第1の法線情報と第2の補正情報とを用いて第2の画像を生成する生成手段とを有することを特徴とする。
また、本発明の他の一側面としての画像処理装置は、被写体を撮像して得られる入力画像を用いて算出される被写体の反射率情報及び第1の法線情報を取得する第1の取得手段と、反射率情報に基づいて第1の補正情報を取得する第2の取得手段と、入力画像と第1の法線情報とに基づいて対象領域を検出する検出手段と、入力画像と第1の補正情報と対象領域とに基づいてレンダリング画像を生成する生成手段とを有することを特徴とする。
なお、上記画像処理装置を有する撮像装置も、本発明の他の一側面を構成する。また、被写体に互いに異なる複数の位置から照明光を順次照射する光源手段と、上記画像処理装置とを有することを画像処理システムも、本発明の他の一側面を構成する。
【0008】
また、本発明の他の一側面としての画像処理方法は、被写体を撮像して得られる入力画像を用いて算出される被写体の第1の法線情報及び反射率情報を取得するステップと、反射率情報を用いて第1の補正情報を取得するステップと、入力画像と第1の法線情報とを用いて対象領域を検出するステップと、対象領域における第1の補正情報を補正することで第2の補正情報を取得するステップと、入力画像に基づいて得られる第1の画像と第1の法線情報と第2の補正情報とを用いて第2の画像を生成するステップとを有することを特徴とする。なお、コンピュータに上記画像処理方法に従う処理を実行させることをコンピュータプログラムも、本発明の他の一側面を構成する。
【発明の効果】
【0009】
本発明は、良好なレンダリング画像を生成することができる。
【図面の簡単な説明】
【0010】
【
図2A】実施例1の撮像装置の構成を示すブロック図。
【
図2B】実施例1における画像処理システムの構成を示すブロック図。
【
図3】実施例1における画像処理方法を示すフローチャート。
【
図4】実施例1における画像処理方法(ステップS101~S104)を説明する図。
【
図5】実施例1における画像処理方法(ステップS106)を説明する図。
【
図6】実施例1における画像処理方法(ステップS106)を説明する別の図。
【
図7】実施例1における画像処理方法(ステップS107)を説明する図。
【
図8】実施例2における画像処理システムの外観図。
【
図9】Torrance-Sparrowモデルを説明する図。
【発明を実施するための形態】
【0011】
以下、本発明の実施例について図面を参照しながら説明する。
まず具体的な実施例の説明に先立って、照度差ステレオ法による被写体の法線情報を取得する方法について説明する。照度差ステレオ法は、被写体の面法線と被写体からの光源の方向とに基づく被写体の反射特性を仮定し、複数の光源位置での被写体の輝度情報と仮定した反射特性とから被写体の面法線の情報である法線情報を算出する方法である。反射特性は、所定の面法線と光源の位置が与えられたときに反射率が一意に定まらない場合に、ランバートの余弦則に従うランバート反射モデルを用いて近似する。
図9は、Torrance-Sparrowモデルを示している。
【0012】
図9に示されるように、鏡面反射成分は、光源ベクトルsと視線方向ベクトルvの2等分線と、面法線nのなす角αに依存する。したがって、反射特性は、視線方向に基づく特性としてもよい。また、輝度情報は、光源が点灯している場合と消灯している場合のそれぞれの被写体を撮像し、これらの差分をとることで環境光等の光源以外の光源による影響を除いてもよい。
【0013】
以下、ランバート反射モデルで反射特性を仮定した場合について説明する。反射光の輝度値をi、物体のランバート拡散反射率をρd、入射光の強さをE、物体から光源への方向(光源方向)を示す単位ベクトル(光源方向ベクトル)を太字のs、物体の単位面法線ベクトルを太字のnとする。このとき、輝度値iは、ランバートの余弦則より、以下の式(1)のように表される。
【0014】
【0015】
ここで、異なるM個(M≧3)の光源ベクトルの各成分をs1、s2、…、sM、光源ベクトルの各成分の輝度値をi1、i2、・・・iMとすると、式(1)は以下の式(2)のように表される。
【0016】
【0017】
式(2)において、左辺はM行1列の輝度ベクトル、右辺の[s1T、…sMT]はM行3列の光源方向を示す入射光行列S、nは3行1列の単位面法線ベクトルである。M=3の場合は、入射光行列Sの逆行列S-1を用いることにより、Eρdnは以下の式(3)のように表される。
【0018】
【0019】
式(3)の左辺のベクトルのノルムが入射光の強さEとランバート拡散反射率ρdとの積であり、正規化したベクトルが物体の面法線ベクトルとして算出される。すなわち、入射光の強さEとランバート拡散反射率ρdは積の形でのみ条件式に現れるため、Eρdを1つの変数とすると、式(3)は単位面法線ベクトルnの2自由度と合わせて未知の3変数を決定する連立方程式とみなせる。したがって、少なくとも3つの光源を用いて輝度情報を取得することで、各変数を決定することができる。
なお、入射光行列Sが正則行列でない場合は逆行列が存在しないため、入射光行列Sが正則行列となるように入射光行列Sの各成分s1~s3を選択する必要がある。すなわち、成分s3を成分s1、s2に対して線形独立に選択することが好ましい。
【0020】
M>3の場合、求める未知変数より多い条件式が得られる。このため、任意に選択した3つの条件式から、M=3の場合と同様の方法で単位面法線ベクトルnを算出すればよい。4つ以上の条件式を用いる場合、入射光行列Sが正則行列ではなくなるため、例えば、Moore-Penrose疑似逆行列を使って近似解を算出すればよい。また、フィッティング手法や最適化手法によって単位面法線ベクトルnを算出してもよい。
【0021】
光源ベクトルの各成分の輝度値のうち、陰影や輝度飽和により正確な値を取得できない輝度値を使用して単位面法線ベクトルnを算出した場合、正確な法線ベクトルを算出することが困難となる。したがって、陰影や輝度飽和により正確な値が取得できなかった輝度値は使用せずに単位面法線ベクトルnを算出してもよい。すなわち、M=mの光源ベクトルsmで得られた輝度値imが陰影や輝度飽和である場合、光源ベクトルsmおよび輝度値imを式(3)から除外して単位面法線ベクトルnを算出する。除外する輝度値は所定の閾値に基づく判定により決定すればよい。
ただし、上述したように少なくとも3つの輝度情報が必要である。被写体の反射特性をランバート反射モデルとは異なるモデルで仮定すると、条件式が単位面法線ベクトルnの各成分に対する線形方程式と異なる場合がある。この場合、未知変数以上の条件式が得られれば、フィッティング手法や最適化手法を用いることができる。
【0022】
またM>3の場合、3以上M-1以下の複数の条件式が得られるため、単位面法線ベクトルnの複数の解の候補を求めることができる。この場合、さらに別の条件を用いて複数の解の候補から解を選択すればよい。例えば、単位面法線ベクトルnの連続性を条件として用いることができる。単位面法線ベクトルnを撮像装置の1画素ごとに算出する場合、画素(x,y)での単位面法線ベクトルをn(x,y)とし、n(x-1,y)が既知であれば、以下の式(4)で表される評価関数が最小となる解を選択すればよい。
【0023】
【0024】
また、n(x+1,y)やn(x,y±1)も既知であれば、以下の式(5)が最小となる解を選択すればよい。
【0025】
【0026】
既知の面法線がなく、全画素位置で面法線の不定性があるとすれば、以下の式(6)で示されるように、式(5)の全画素での総和が最小となるように解を選択してもよい。
【0027】
【0028】
なお、最近傍以外の画素での面法線を用いることや、注目する画素位置からの距離に応じて重み付けした評価関数を用いてもよい。また、別の条件として、任意の光源位置での輝度情報を用いてもよい。ランバート反射モデルに代表される拡散反射モデルでは、単位面法線ベクトルと光源方向ベクトルが近いほど反射光の輝度が大きくなる。よって、複数の光源方向での輝度値のうち最も輝度値が大きくなる光源方向ベクトルに近い解を選択することで、単位面法線ベクトルを決定することができる。
【0029】
また、鏡面反射モデルでは、光源ベクトルを太字のs、物体からカメラへの方向の単位ベクトル(カメラの視線ベクトル)を太字のvとすると、以下の式(7)が成り立つ。
【0030】
【0031】
式(7)で表されるように、光源方向ベクトルsとカメラの視線ベクトルvが既知であれば、単位面法線ベクトルnを算出することができる。表面に粗さがある場合、鏡面反射も出射角の広がりを持つが、平滑面として求めた解の付近に広がるため、複数の解の候補うち最も平滑面に対する解に近い候補を選択すればよい。また、複数の解の候補の平均によって真の解を決定してもよい。
【0032】
以上の照度差ステレオ法によって単位面法線ベクトルnおよび反射率ρ(=Eρd)を取得すると、式(1)に対して任意の光源ベクトルsを与えることにより、任意の光源下での輝度値iを算出することができる。すなわち、任意の光源下での見えを再現したレンダリング画像を生成することが可能となる。式(1)ではランバート拡散反射でのレンダリング画像を生成するが、その他の拡散反射特性やそれに加えて鏡面反射特性でのレンダリング画像を生成することもできる。
【実施例1】
【0033】
図1および
図2Aを参照して、本発明の実施例1における撮像装置について説明する。
図1は、本実施例における撮像装置1の外観を示している。
図2Aは、撮像装置1の構成を示している。
【0034】
撮像装置1は、レンダリング処理を行ってレンダリング画像(リライティング画像)を生成する。
図1に示されるように、撮像装置1は、被写体を撮像する撮像部(撮像手段)100および光源部200を有する。
図2Aに示されるように、撮像部100は、撮像光学系101および撮像素子102を有する。本実施例において、光源部200は8つの光源200a~200hを有する。ただし、照度差ステレオ法を実施する際に必要な光源は少なくとも3つであるため、入力画像を取得するために少なくとも3つ以上の光源を備えていればよい。
【0035】
また本実施例においては、撮像部100を構成する撮像光学系の光軸OAから等距離の位置に同心円状に8つの光源200a~200hを等間隔で配置している。ただし、他の配置であってもよい。さらに本実施例において、光源部200は、撮像装置1に内蔵されているが、撮像装置1に着脱可能に取り付けられてもよい。
【0036】
撮像光学系101は、絞り101aを備え、被写体からの光を撮像素子102上に結像させる。撮像素子102は、CCDセンサやCMOSセンサ等の光電変換素子により構成され、被写体を撮像する。すなわち撮像素子102は、撮像光学系101により形成された被写体の像(光学像)を光電変換し、アナログ電気信号を生成する。
【0037】
A/Dコンバータ103は、撮像素子102の光電変換により生成されたアナログ信号をデジタル信号に変換し、デジタル信号を画像処理部104に出力する。
【0038】
画像処理部(画像処理装置)104は、A/Dコンバータ103から入力されたデジタル信号に対して各種画像処理を行う。また画像処理部104は、被写体の法線情報および反射率情報を算出(取得)し、任意の光源下でのレンダリング画像を生成する。画像処理部104は、入力画像取得部104a、被写体情報取得部104b、第1レンダリング部104c、領域検出部104d、補正係数取得部104e、補正部104fおよび第2レンダリング部104gを有する。被写体情報取得部104bが第1の取得手段に、第1レンダリング部104cおよび領域検出部104dが検出手段に、補正係数取得部104eが第2の取得手段に、補正部104fが補正手段に、第2レンダリング部104gが生成手段に相当する。
【0039】
画像処理部104により生成されたレンダリング画像としての出力画像は、半導体メモリや光ディスク等の画像記録部109に保存される。また、出力画像を表示部(ディスプレイ)105に表示してもよい。本実施例において、入力画像取得部104a、被写体情報取得部104b、第1レンダリング部104c、領域検出部104d、補正係数取得部104e、補正部104fおよび第2レンダリング部104gは撮像装置1に内蔵されている。ただし、これらの少なくとも一部を撮像装置1とは別に設けてもよい。例えば、入力画像取得部104a、被写体情報取得部104b、第1レンダリング部104c、領域検出部104d、補正係数取得部104e、補正部104fおよび第2レンダリング部104gをパーソナルコンピュータに設けてもよい。
【0040】
情報入力部108は、ユーザにより選択された撮像条件(絞り値、露出時間および焦点距離等)をシステムコントローラ110に供給する。撮像制御部107は、システムコントローラ110からの情報に基づいて、ユーザが選択した撮像条件で撮像を行うことで画像を取得する。照射光源制御部106は、システムコントローラ110からの制御指示に応じて光源部200の発光状態を制御する。情報入力部108は、ユーザにより選択された光源条件(光源位置、光源強度および光源色等)をシステムコントローラ110に供給する。画像処理部104は、システムコントローラ110からの情報に基づいて、ユーザが選択した光源条件でレンダリング画像を生成する。
【0041】
なお、本実施例における撮像光学系101は、撮像装置1と一体的に構成されているが、撮像装置1の本体に対して着脱(交換)可能であってもよい。
【0042】
次に、
図3から
図7を参照して、本実施例におけるレンダリング処理(画像処理方法)について説明する。
図3は、レンダリング処理を示すフローチャートである。本実施例のレンダリング処理は、システムコントローラ110および画像処理部104により、コンピュータプログラムとしての処理プログラムに従って実行される。なお、処理プログラムは、コンピュータにより読み取り可能な記憶媒体(システムコントローラ110の内部メモリ等)に記憶されている。
【0043】
図4は、レンダリング処理のうち
図3のステップS101~S104を説明する図である。ステップS101~S104は、法線情報における誤差が大きい対象領域(エラー領域)を検出するステップである。
図5、
図6および
図7は、レンダリング処理のうち
図3のステップS106~S107を説明する図である。ステップS106~S108は、取得した法線情報および反射率補正係数を補正し、補正した法線情報と反射率補正係数を用いることで高品位なレンダリング画像を生成するステップである。
【0044】
まず、
図3のステップS101において、入力画像取得部104aは、互いに異なる複数の光源位置で撮像部100により被写体を撮像することで得られる複数の入力画像120を取得する。複数の入力画像120は、それぞれ異なる位置に配置された複数の光源(例えば8つの光源200a~200h)からの照明光を被写体に順次照射して撮像を行うことで取得することができる。また、複数の入力画像120は、単一の光源の位置を変更しながら該光源からの照明光を被写体に順次照射して撮像を行うことで取得してもよい。
図4に示すように、本実施例の入力画像120は、被写体として、拡散特性を有する拡散板120aと金属板120bとを含む。
【0045】
また、次に説明するステップS102にてランバート反射等の拡散反射モデルを仮定した照度差ステレオ法で法線情報を取得する場合に、複数の入力画像として、撮像画像から鏡面反射成分を除去した複数の拡散反射画像を用いてもよい。撮像画像から鏡面反射成分を除去した拡散反射画像を取得するために、2色性反射モデルを用いた手法等の種々の手法を用いることができる。
【0046】
続いてステップS102において、被写体情報取得部104bは、第1の法線情報と反射率情報を取得する。具体的には、被写体情報取得部104bは、複数の入力画像120を用いて、被写体の各部の単位面法線ベクトル(以下、単に面法線という)nの情報である第1の法線情報と被写体の各部の反射率ρの情報である反射率情報とを含む被写体情報121を取得する。面法線nと反射率ρは、照度差ステレオ法を用いて、光源位置による輝度情報の変化に基づいて算出することができる。なお本実施例では、被写体情報取得部104bが第1の法線情報と反射率情報を算出するが、他の装置が算出した第1の法線情報や反射率情報を取得してもよい。また被写体情報取得部104bは、ステップS101にて取得した複数の入力画像120とは異なる光源条件での撮像により取得された画像を用いて第1の法線情報と反射率情報を算出してもよい。
【0047】
入力画像120中の拡散板120aについては、被写体の反射特性を拡散反射と仮定した照度差ステレオ法で第1の法線情報と反射率情報を取得することが可能である。一方、金属板120bについては、第1の法線情報と反射率情報に大きな誤差(エラー)が生じる。
なお、入力画像として、元の入力画像120を縮小した画像を用いて第1の法線情報と反射率情報を取得するようにしてもよい。入力画像を縮小した画像を用いる場合には、以降の処理においても入力画像を縮小した画像を用いる。
【0048】
続いてステップS103において、第1レンダリング部104cは、第1の法線情報および反射率情報と、複数の入力画像120が撮像された際の複数の光源条件のうち少なくとも1つである第1の光源条件とに基づいて、入力画像120を再現した第1の仮レンダリング画像(仮画像)を生成する。第1の仮レンダリング画像122は、入力画像120が撮像されたときの光源条件と同一の光源条件でレンダリングされた画像である。
【0049】
第1の仮レンダリング画像122は、ステップS102にて第1の法線情報や反射率情報を算出する際に仮定した反射特性を用いてレンダリング処理により生成される。ランバート拡散を仮定して第1の法線情報や反射率情報を算出した場合は、第1レンダリング部104cは、前述した式(1)に従って複数の第1の仮レンダリング画像を生成することができる。なお、第1の仮レンダリング画像122は、複数の入力画像120のうち一部の入力画像に対応する仮レンダリング画像または複数の入力画像120の全ての入力画像に対応する複数の仮レンダリング画像のいずれであってもよい。
【0050】
なお、「仮レンダリング画像」とは、本実施例の処理において最終的に生成される出力画像であるレンダリング画像(第2の画像)とは異なるレンダリング画像である。すなわち、仮レンダリング画像は、後述するように、被写体の材質によって破綻した(低品位の)レンダリング画像領域を含み得る。
【0051】
続いてステップS104において、領域検出部104dは、ステップS101で取得された入力画像120とステップS103で生成された第1の仮レンダリング画像122とを用いて、第1の法線情報および反射率情報における対象領域としてのエラー領域を検出し、さらに該エラー領域の分布を示すエラー領域マップ124を検出する。エラー領域は、面法線や反射率の誤差が周囲と比べて大きい領域である。前述したように、照度差ステレオ法で法線情報や反射率情報を算出した場合、仮定した反射特性とは異なる反射特性の被写体については面法線エラーや反射率エラーが生じる。
【0052】
エラーが生じた面法線や反射率を用いてレンダリング画像を生成すると、レンダリング画像にもエラーが生じる。特に、拡散反射モデルを仮定した照度差ステレオ法で金属板120bの面法線や反射率を算出すると、大きな誤差が生じる。この場合、取得した面法線を用いて第1の仮レンダリング画像122を生成すると、該第1の仮レンダリング画像122における金属板120bに対応する斜線領域122bにおいて高品位なレンダリング画像を生成することができない。
【0053】
そこで領域検出部104dは、ステップS101にて取得された入力画像120とステップS103にて生成された第1の仮レンダリング画像122との差分(差分画像)123に基づいて、エラー領域を検出する。例えば入力画像120のうちの1つと、該入力画像120の撮像時の光源条件を再現した第1の仮レンダリング画像122との差分123が大きい領域は、照度差ステレオ法で仮定した反射特性とは異なる反射特性の被写体である可能性が高い。
【0054】
具体的には、領域検出部104dは、入力画像120と第1の仮レンダリング画像122との差分123が所定の閾値以上である領域をエラー領域として検出する。好ましくは、領域検出部104dは、差分123を反射率ρで除した正規化差分に基づいてエラー領域を決定する。また領域検出部104dは、差分123を入力画像120または複数の入力画像120の平均値の画像もしくは中央値の画像等、入力画像120に基づく画像で除した正規化差分に基づいてエラー領域を決定してもよい。差分123を反射率ρや入力画像120に基づく画像で除することにより、算出した差分123から明るさの影響を低減(好ましくは除外)することができる。
【0055】
また領域検出部104dは、複数の入力画像120と複数の第1の仮レンダリング画像122との複数の差分123のうち最大値である最大差分または複数の差分123の平均値である平均差分に基づいて、エラー領域を決定してもよい。好ましくは、領域検出部104dは、最大差分や平均差分を反射率ρで除した正規化最大差分または正規化平均差分に基づいてエラー領域を決定してもよい。さらに領域検出部104dは、最大差分や平均差分を、入力画像120または複数の入力画像120の平均値の画像もしくは中央値の画像等、入力画像に基づく画像で除した正規化最大差分や正規化平均差分に基づいてエラー領域を決定してもよい。
【0056】
また、法線情報を用いたレンダリング処理では、光が遮られて発生する影を再現することができない。したがって、差分123a中に示されるように、入力画像120と第1の仮レンダリング画像122との差分123をとった際に入力画像120における影領域120cにおいて差分123cが大きくなる。このため、領域検出部104dは、差分123cに関して、面法線nや反射率ρが正確であってもエラー領域と検出する可能性がある。
そこで、第1の法線情報に加えて形状情報を用いて、影を再現したレンダリング画像を生成することが好ましい。形状情報がない場合は、入力画像120における影領域120cを検出し、差分123bに示されるように検出した影領域においては差分をとらないようにすることが好ましい。入力画像120における影領域120cは、輝度値が所定の閾値以下である領域として検出することができる。
【0057】
また、入力画像120と第1の仮レンダリング画像122との差分とその符号とからエラー領域を検出してもよい。例えば、入力画像120における影領域120cでは、入力画像120から第1の仮レンダリング画像122を引いた値が負となるため、負の差分領域はエラー領域として検出しないようにする。
【0058】
領域検出部104dは、差分123bに対して閾値処理を行うことにより、検出されたエラー領域のうち黒く表示される領域を最終的なエラー領域として取得することができる。本実施例において、領域検出部104dは入力画像120と第1の仮レンダリング画像122との差分123に基づいてエラー領域を検出するが、他の方法を用いてもよい。例えば、複数の入力画像120における輝度値をフィッティングすることで面法線nを取得し、得られたフィッティング誤差をエラー領域を検出する際の差分として用いてもよい。
【0059】
続いてステップS105において、補正係数取得部104eは、ステップS102にて取得した反射率情報を用いて反射率補正係数(第1の補正情報)を取得する。反射率情報は、レンダリング画像の元となる構造を含む。このため、反射率情報のエラー領域に対して後述するような補正を行ってレンダリング画像を生成すると、画像としての構造が崩れやすい。したがって、反射率情報そのものを補正するのではなく、例えば、ベース画像(第1の画像)を反射率情報に変換するための反射率補正係数(第1の補正情報)を補正することが好ましい。つまり、ベース画像×反射率補正係数=反射率情報とするときの反射率補正係数におけるエラー領域を補正する。
【0060】
ベース画像は、レンダリング画像を生成する際にベースとして用いる画像であって、例えば複数の入力画像120のうちの1つの画像であってもよいし、複数の入力画像120の平均値等を示す1つの画像であってもよい。好ましくは、ベース画像は、複数の入力画像120のうち同一座標の輝度値が最大の画像である最大輝度値画像とするとよい。最大輝度値画像には影が含まれにくいため、反射率補正係数を取得するのに適しているだけでなく、後述するガイド画像として用いるのにも適している。
【0061】
反射率補正係数は、反射率情報/ベース画像で生成することができる。ベース画像が画像の構造を含むため、反射率補正係数を大きく補正したとしても、ベース画像×反射率補正係数で取得できる反射率情報における構造は保たれる。なお、ステップS105は、ステップS102~ステップS106までの間であればどの段階で行ってもよい。
続いてステップS106およびステップS107において、補正部104fは、第1の法線情報と反射率補正係数におけるエラー領域に対して補正処理を行う。まずステップS106において、補正部104fは、ステップS104にて検出されたエラー領域に基づいて参照画素を選択する。参照画素は、後述するステップS107にてエラー領域内のエラー画素(対象画素)の法線情報と反射率補正係数を補正するために用いられる画素であり、エラー画素の周囲から選択される。
【0062】
図5および
図6は、ステップS106における参照画素の選択方法を示している。ここでは、第1の法線情報と反射率補正係数(
図7に符号127を付す)におけるエラー画素を中心とした7×7画素の範囲に着目して説明する。
【0063】
図5において、エラー領域マップ124は、着目範囲におけるエラー領域124aの分布を示す。エラー領域マップ124において、エラー領域(エラー画素)124aは黒く示されている。補正部104fは、エラー領域124aの周囲の画素を参照画素として選択する。
図5において、参照領域マップ125は、着目範囲において選択された参照画素の領域を示す。参照領域マップ125において、参照画素は斜線で示されている。
【0064】
このように、補正部104fは、エラー領域124aの分布に基づいて、エラー領域124a外の領域の画素を参照画素として選択する。自然なレンダリング画像が得られるように法線情報と反射率補正係数の補正を行うには、エラー領域124a外の参照画素を用いてエラー領域124aの法線情報と反射率補正係数を補正する必要があるためである。
【0065】
図6に示すように、補正部104fは、エラー領域マップ124とガイド画像126とに基づいて参照画素を選択してもよい。ガイド画像とは、参照画素を選択する際に用いられる被写体に関する画像である。ガイド画像は、ベース画像と同様に、複数の入力画像120のうちの1つの画像であってもよいし、複数の入力画像120の平均値等を示す1つの画像であってもよい。また好ましくは、複数の入力画像120のうち同一座標の輝度値が最大である最大輝度値画像であってもよいし、複数の入力画像120のうち複数の同一座標における大きい輝度値を平均化した画像を用いてもよい。さらに、エラー画素ごとにガイド画像を変更してもよい。例えば、複数の入力画像120のうちエラー画素が最大輝度値を有する入力画像を選択して用いてもよい。また、前述したように、ガイド画像126として、ベース画像を用いてもよい。
【0066】
図6は、エラー領域マップ124に基づいて選択された参照画素(斜線で示す)125aと、ガイド画像126に基づいて選択された参照画素(斜線で示す)125bとの共通画素を含む領域を参照領域マップ125とすることを示している。
【0067】
参照画素125bは、例えば、ガイド画像126におけるエラー画素と該エラー画素を中心とする7×7画素の着目範囲内の他の画素との色差に基づいて選択される。具体的には、ガイド画像126におけるエラー画素とその周辺の画素との色差が閾値としての所定の色差以下である画素を参照画素125bとして選択することができる。所定の色差としては、LAB色空間におけるユークリッド距離を色差としたときの丁度可知差異(just noticeable difference:例えば2.3)を用いればよい。ただし、所定の色差として他の色差を用いてもよい。なお、ガイド画像126におけるRGB間の相互の信号値の比(輝度比)を色差として用いてもよい。
【0068】
また、参照画素125bは、ガイド画像126におけるエラー画素とその周辺の画素との輝度差に基づいて選択されてもよい。具体的には、ガイド画像126におけるエラー画素とその周辺の画素との輝度差が閾値としての所定の輝度差以下である画素を参照画素125bとして選択することができる。
【0069】
また、ガイド画像126に影や輝度飽和等が存在して法線情報や反射率補正係数の補正が困難になる場合がある。この場合は、ガイド画像126の輝度値に基づいて参照画素を選択してもよい。具体的には、ガイド画像126において輝度値とその閾値とに基づいて参照画素を選択することができる。影の影響を除外するには、ガイド画像126において輝度値が閾値以上である画素を参照画素として選択する。輝度飽和の影響を除外するには、ガイド画像126において輝度値が閾値よりも小さい画素を参照画素として選択すればよい。
【0070】
参照画素の選択に際しては、第1の法線情報の取得方法とは異なる方法で取得された被写体の形状に関する情報を用いてもよい。被写体の形状に関する情報としては、例えば、撮像位置から被写体までの距離情報や、被写体の凹凸(高さ)に関する情報である。距離情報や凹凸に関する情報は、レーザ光を用いた三角測量や2眼ステレオ等の種々の距離計測手法を用いて取得すればよい。また、被写体の形状に関する情報として、第1の法線情報の取得方法とは異なる方法で取得された法線情報を用いてもよい。これらの被写体の形状に関する情報におけるエラー画素に対応する位置とその周辺の位置との形状差を比較することによって、参照画素を選択することができる。具体的には、エラー画素に対応する位置とその周辺の位置との形状差が閾値以下である位置に対応する画素を参照画素として選択する。
【0071】
さらに参照画素の選択に際して、被写体の意味的領域分割マップ(セグメンテーションマップ)を用いてもよい。例えば、意味的領域分割マップにおけるエラー画素に対応する位置の周辺に、エラー画素に対応する位置と同じ意味を持つ領域がある場合には、該領域に対応する画素を参照画素として選択することができる。なお、意味的領域分割マップは、種々の手法を用いて取得することができる。このとき、被写体ごとまたはその素材ごとに領域が分割されていることが好ましい。なお、上述した種々の参照画素の選択方法を複数、組み合わせて用いてもよい。
【0072】
上述したように参照画素を選択することで、より自然なレンダリング画像が得られるように第1の法線情報と反射率補正係数127とを補正することができる。なお、本実施例では、エラー画素を中心とする7×7画素の着目範囲において参照画素を選択したが、これは例に過ぎず、様々なサイズや形状の着目範囲を用いることができる。
【0073】
続いて、
図3のステップS107において、補正部104fは、
図7に示すように、第1の法線情報と反射率補正係数127におけるステップS106で得られた参照領域マップ125に基づいて、エラー画素の法線情報と反射率補正係数127を補正する。具体的には、エラー画素の法線情報と反射率補正係数の補正は、参照画素127exの法線情報と反射率補正係数とを用いて行われる。複数の参照画素が存在する場合には、参照画素127exの法線情報の平均値と反射率補正係数の平均値を、エラー画素の法線情報と反射率補正係数とすればよい。
【0074】
続いて補正部104fは、ステップS106およびステップS107の処理をエラー領域の全てのエラー画素に対して行ったか否かを判定する。まだ全てのエラー画素に対する補正が完了していない場合はステップS106に戻って残りのエラー画素に対する補正を行う。この際、前回のステップS106とステップS107で補正されたエラー画素を参照画素として用いてもよい。
【0075】
一方、エラー領域の全てに対する補正が完了した場合はステップS108に進む。これにより補正部104fは、面法線と反射率の誤差が低減された高品位なレンダリング画像を生成するために必要な、補正された法線情報(第2の法線情報)と反射率補正係数(第2の補正情報)129とを取得する。なお、法線情報と反射率補正係数の補正は、上述した方法に限らず、種々のインペインティング手法を用いて行ってもよい。
【0076】
ステップS108では、第2レンダリング部104gは、補正された第2の法線情報と反射率補正係数を用いて、面法線と反射率の誤差が低減された高品位なレンダリング画像(第2の画像)を生成する。例えば、ユーザによって選択された光源条件(光源位置、光源強度、光源色等)におけるレンダリング画像を生成する。レンダリング画像においては、ステップS102での第1の法線情報の算出において仮定した反射特性を用いなくてもよく、他の拡散反射特性や、それに加えた鏡面反射特性でのレンダリング画像を生成してもよい。
【0077】
また、前述したベース画像にゲインマップを適用することでレンダリング画像を生成するようにしてもよい。ゲインマップは、補正された第2の法線情報と光源条件とに基づいて取得する。第2レンダリング部104gは、反射率を1(または定数)としたときの第2の仮レンダリング画像をゲインマップとして取得してもよい。さらに、ベース画像に補正された反射率補正係数を適用し、さらにゲインマップを適用することで高品位なレンダリング画像を生成することができる。ステップS102において入力画像を縮小した画像を用いて第1の法線情報を取得した場合には、第1の法線情報、ゲインマップ、反射率情報および反射率補正係数のいずれかを拡大、すなわち(1/縮小率)倍して用いてもよい。ベース画像にゲインマップを適用する場合には、ベース画像として縮小していない入力画像に基づいた画像を用いることが好ましい。
【0078】
また、法線情報、ゲインマップ、反射率情報および反射率補正係数のいずれかに対してノイズ低減処理を行った後にレンダリング画像を生成するようにしてもよい。好ましくは、法線情報、ゲインマップおよび反射率補正係数のいずれかに対してノイズ低減処理を行うとよい。画像の構造を含むレンダリング画像や反射率情報に対してノイズ低減処理を行うと画像の構造に劣化が生じるが、法線情報、ゲインマップおよび反射率補正係数のいずれかに対してノイズ低減処理を行う場合には、レンダリング画像の構造を保つことができる。
【0079】
本実施例では、照度差ステレオ法を用いて第1の法線情報を取得し、該第1の法線情報を補正して得られた第2の法線情報を用いてレンダリング画像を取得する場合について説明した。しかし、照度差ステレオ法とは異なる方法で高精度な第1の法線情報が取得できる場合には、該第1の法線情報を第2の法線情報として用いてもよい。
【0080】
また本実施例では、撮像装置1を用いて被写体の面法線を算出してレンダリング画像を生成する場合について説明したが、例えば
図2Bに構成を示した、撮像装置1とは異なる画像処理システム2を用いてレンダリング画像を生成してもよい。画像処理システム2は、画像処理装置500、撮像部501および光源部(光源手段)502を有する。画像処理装置500は、
図2Aに示した画像処理部104と同様に、入力画像取得部500a、被写体情報取得部500b、第1レンダリング部500c、領域検出部500d、補正係数取得部500e、補正部500fおよび第2レンダリング部500gを有する。
【0081】
この画像処理システム2を用いてレンダリング画像を生成する場合は、まず入力画像取得部500aは、互いに異なる複数の光源位置で被写体の撮像を行うことで複数の入力画像120を取得する。続いて、被写体情報取得部500bは、複数の入力画像120を用いて被写体の第1の法線情報と反射率情報を算出する。そして第1レンダリング部500cは、取得した第1の法線情報と反射率情報と入力画像120の撮像時における光源条件に基づいて第1の仮レンダリング画像122を生成する。さらに領域検出部500dは、取得した入力画像120と第1の仮レンダリング画像122とに基づいて、エラー領域124を検出する。
【0082】
補正係数取得部500eは、反射率情報を用いて反射率補正係数(第1の補正情報)を取得する。補正部500fは、第1の法線情報と反射率補正係数におけるエラー領域に対して補正処理を行い、それぞれ補正された第2の法線情報と反射率補正係数129を取得する。そして、第2レンダリング部500gは、第2の法線情報と反射率補正係数129を用いてレンダリング画像(第2の画像)を生成する。
【0083】
なお、撮像部501と光源部502はそれぞれ、個別の装置であってもよい。また、光源部502は撮像部501に内蔵されていてもよい。
【0084】
本実施例によれば、高品位なレンダリング画像を生成することができる。
【実施例2】
【0085】
次に、
図8を参照して、本発明の実施例2について説明する。実施例1では、光源部を内蔵した撮像装置について説明したが、本実施例では撮像装置と光源ユニット(光源手段)とから構成される画像処理システムについて説明する。
画像処理システム3は、被写体303を撮像する撮像装置301と、複数の光源ユニット302とを備える。撮像装置301は、実施例1と同様の撮像装置であるが、光源部を内蔵しなくてもよい。
【0086】
光源ユニット302は、撮像装置301と有線または無線で接続され、撮像装置301からの情報に基づいて制御されることが好ましい。また、照度差ステレオ法では少なくとも3つの光源を順次照射して撮像を行うことにより取得された画像が必要であるが、単一の光源ユニットを少なくとも互いに異なる3つの位置に移動可能とすればよい。
【0087】
なお、光源ユニット302が自動で位置を変更できない場合や光源ユニット302が撮像装置301により制御できない場合は、撮像装置301の表示部に表示される光源位置に移動するようにユーザが光源ユニット302の位置を調整するようにしてもよい。
本実施例におけるレンダリング処理は、実施例1で説明したレンダリング処理と同様であるため、詳細な説明は省略する。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0088】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【0089】
104 画像処理部(画像処理装置)
104b 被写体情報取得部
104c 第1レンダリング部
104d 領域検出部
104e 補正係数取得部
104f 補正部
104g 第2レンダリング部