画像処理装置および画像処理方法、プログラム
【課題】 形状推定を行った後に、推定した形状情報を用いて質感推定を行うと、形状推定の誤差が大きい場所で質感推定が不正確となる。
【解決手段】 多視点画像データから被写体の形状を推定し、推定された形状の確からしさを示す信頼度を算出し、推定された形状と信頼度と多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する画像処理装置。
【解決手段】 多視点画像データから被写体の形状を推定し、推定された形状の確からしさを示す信頼度を算出し、推定された形状と信頼度と多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多視点画像データの画像処理に関する。
【背景技術】
【0002】
撮影画像データに対して撮影者の意図に沿った効果を与えるために、画像加工ソフトウェアなどによる加工処理を行う場合がある。例えば、撮影画像データから、光源の種類や方向を変えた新たな加工画像データを作成するなどの加工処理である。このような加工処理によって不自然さの無い加工画像データを作成するためには、熟練者が時間をかけて加工処理を行う必要がある。しかし、被写体の形状や質感が分かっている場合は加工処理を自動化することが可能である。例えば、被写体の形状と質感の定義データが与えられた場合に、様々な光源環境における撮影画像データを合成する技術が知られている(非特許文献1)。
【0003】
複数の視点位置で撮影された撮影画像データ(以下、多視点画像データ)から被写体の形状を推定する技術として特許文献1や特許文献2が提案されている。特許文献1記載の技術では、多視点画像データの画素値と最も整合性が合うように、被写体を形成するパッチを生成することで被写体の形状を推定する。特許文献2記載の技術では、形状推定の際に形状の信頼度を算出して形状データと共に記録することで、形状データの信頼度をユーザが把握できるようにしている。また、多視点画像データから被写体の質感を推定する技術として非特許文献2が提案されている。非特許文献2に記載の技術では、被写体の質感をモデル化し、多視点画像データの画素値と最も整合性が合うように質感モデルのパラメータを決定することで被写体の質感を推定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】US2009/0052796A1
【特許文献2】特開平7−260446
【非特許文献】
【0005】
【非特許文献1】“An Efficient Representation for Irradiance Environment Maps”, Ravi Ramamoorthi et al., Proceedings of SIGGRAPH , pp.497−500 (2001)
【非特許文献2】“Determining reflectance properties of an object using range and brightness images”, Ikeuchi K, IEEE Trans. PAMI, Vol.13, 11, p.1139−1153 (1991)
【発明の概要】
【発明が解決しようとする課題】
【0006】
形状推定を行った後に、推定した形状情報を用いて質感推定を行うと、形状推定の誤差が大きい場所で質感推定が不正確となる。そこで本発明では、形状推定の際に生じる誤差に対してロバストな質感推定を行うことを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために本発明の画像処理装置は、多視点画像データから被写体の形状を推定する形状推定手段と、前記形状推定手段で推定された形状の確からしさを示す信頼度を算出する形状信頼度算出手段と、前記形状推定手段により推定された形状と前記信頼度と前記多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する質感情報推定手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、形状推定の際に生じる誤差に対してロバストな質感推定を行う効果を奏する。
【図面の簡単な説明】
【0009】
【図1】画像処理装置のブロック図
【図2】画像処理装置の動作を示すフローチャート
【図3】多視点画像取得手段の形態の例を模式的に示す図
【図4】ワールド座標系を模式的に示す図
【図5】形状推定手段100の動作を示すフローチャート
【図6】形状推定手段100において用いるパッチを模式的に示す図
【図7】形状推定手段100におけるパッチ最適化の様子を模式的に示す図
【図8】形状推定手段100における特徴点組み合わせの選び方の例を模式的に示す図
【図9】法線方向と形状信頼度の勾配の関係を模式的に示す図
【図10】ポリゴン座標系を模式的に示す図
【図11】実施例1における質感情報推定手段103の動作を示すフローチャート
【図12】Phong角度について模式的に示す図
【図13】BRDF推定対象画素と被写体の位置関係を模式的に示す図
【図14】画素に写っているポリゴンと被写体表面点の位置関係を模式的に示す図
【図15】実施例2における質感情報推定手段103の動作を示すフローチャート
【図16】対応点の三次元位置について模式的に示す図
【図17】実施例1における質感情報推定手段103の処理部を示すブロック図
【図18】質感情報補正処理の流れを示すフローチャート
【図19】実施例2における質感情報推定手段103の処理部を示すブロック図
【発明を実施するための形態】
【0010】
[実施例1]
<実施例1のフローチャート>
図1は、本実施例における画像処理装置である。図1に示す画像処理装置の動作を示すフローチャートを図2に示す。以降では、図2のフローチャートに従って画像処理装置の動作を説明する。
【0011】
ステップS201で、形状推定手段100が多視点画像データに写っている被写体の形状を推定する。ここで、多視点画像データは本画像処理装置が取得してもよいし、外部の取得手段によって取得したものを本画像処理装置に入力してもよい。多視点画像データの取得手段として例えば、図3(a)のような多眼カメラや、図3(b)のような複数台カメラ、あるいは図3(c)のような撮影位置を変えながら撮影ができるビデオカメラがある。図3(c)の場合は、ビデオカメラで撮影した動画の複数フレームを抽出した画像データが多視点画像データとなる。なお、本実施例では被写体にフォーカスが合っているものとするため、被写体にフォーカスを合わせた撮影やパンフォーカス撮影が望ましい。形状推定手段100の動作の詳細は後述する。
【0012】
ステップS202で、形状信頼度算出手段101が形状推定手段100で推定された形状が実際の形状であるとの確からしさを示す(形状の)信頼度を算出する。形状信頼度算出手段101の動作の詳細は後述する。
【0013】
ステップS203で、質感情報推定手段103が被写体の質感を推定し、その後、形状信頼度に応じて質感推定結果を補正する。ここで、質感とはBRDF(Bidirectional Reflectance Distribution Function)を指す。このBRDFは少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を示している。なお、質感として他に、透過まで考慮したBSSRDF(Bidirectional Scattering Surface Distribution Function)などもある。質感情報推定手段102の動作の詳細は後述する。
【0014】
<形状推定手段100の詳細>
形状推定手段100は、多視点画像データから被写体表面の三次元点群を特定し、その被写体表面点群をポリゴン化することで被写体の形状を推定する。以降では、形状推定手段100の動作を示すフローチャートである図5に従って形状推定手段100の動作の詳細を説明する。
【0015】
ステップS501で、多視点(複数の視点位置)から撮影された各撮影画像データから特徴点を抽出する。特徴点とは、画像上の際立って検出できる点のことである。特徴点の抽出には任意の方法を用いてよい。
【0016】
ステップS502で、1つ目の画像組み合わせを参照する。画像組み合わせとは、ある視点から撮影した画像データと別の視点から撮影した画像データとの組み合わせのことである。なお、1つ目の画像組み合わせとして、どの画像組み合わせを選ぶかは任意である。例えば、各多視点画像データを番号付けして、1枚目の画像データと2枚目の画像データとの組み合わせを1つ目の画像組み合わせとして選べばよい。
【0017】
ステップS503で、1つ目の特徴点組み合わせを参照する。特徴点組み合わせとは、現在参照している画像組み合わせにおける片方の画像データが示す画像内の1つの特徴点ともう片方の画像データが示す画像内の1つの特徴点の組み合わせのことである。なお、1つ目の特徴点組み合わせとして、どの特徴点組み合わせを選ぶかは任意である。例えば、それぞれの画像データの最も左上の特徴点の組み合わせを1つ目の特徴点組み合わせとして選べばよい。
【0018】
ステップS504で、参照している特徴点組み合わせが被写体表面の同じ点を撮影したものだと仮定して、その点の三次元位置を算出する。三次元位置の算出には三角測量の原理を用いればよい。
【0019】
ステップS505で、ステップS504において算出した三次元位置にパッチを生成し、そのパッチを初期化する。パッチとは、参照している画像組み合わせのうち片方の画像データ(以下、基準画像データとする)から、参照している特徴点を中心とするm×npixelの領域をトリミングしたものである。パッチは、上記トリミングにより得られるm×npixelの画素値V(I(x=1、y=1),……,I(x=m、y=n )の画素値を持つ)と中心位置C、法線方向Nの三要素により構成される(図6参照)。ここで、中心位置CはステップS504で算出した三次元位置である。また、法線方向NはステップS506で最適化するため、ここでは最適化を行う前処理として初期化を行う。初期化方法は任意であるが、例えば、基準画像データを撮影した視点方向を法線方向Nの初期値としてもよい。なお、以下では基準画像データを撮影する際の視点を基準視点とする。
【0020】
ステップS506で、ステップS505において生成したパッチを多視点画像データとの相違(差分値)が最も小さくなるように最適化する。ここで、パッチと多視点画像データとの相違は、パッチの画素値Vと基準視点以外の視点からパッチを撮影した時の画素値から算出される(以下、パッチと多視点画像データとの相違のことを「画素値相違」と記す)。画素値相違を表す指標として任意の指標を用いることができるが、例えば、式1で表される指標Gを用いればよい。
【0021】
【数1】
【0022】
ここで、hiはパッチの画素値Vと基準視点以外のある1つの視点iからパッチを撮影した時の画素値との平均二乗誤差であり、E[hi]はhiの全視点iに関する平均値を表している。なお、基準視点以外の視点からパッチを撮影した時の画素値は、カメラパラメータとパッチの画素値V、中心位置C、法線方向Nから射影幾何の原理を用いて算出することができる。カメラパラメータとは、カメラの光学中心位置、カメラの光軸方向を表すベクトル、カメラの上方向を表すベクトル、レンズの焦点距離、センササイズ、センサ画素数などである。カメラパラメータは事前にキャリブレーションを行うことで算出してもよいし、多視点画像データから射影幾何の原理などを用いて推定してもよい。
【0023】
ステップS506では、上記の指標Gを最小化する法線方向Nを探索することで最適化を行う。探索方法は任意であるが、例えば、法線方向Nを変えながら画素値相違の指標Gを算出していくことで、指標Gを最小化する法線方向Nを探索すればよい。また、共役勾配法などを用いて最適化を行ってもよい。最適化の結果、例えば、ワールド座標系(図4参照)における法線方向Nの仰角θ、方位角φとその法線方向Nにおける画素値相違の指標Gが図7のようになり、法線方向がN_optに最適化される。
【0024】
ステップS507で、現在参照している特徴点組み合わせが被写体表面の同じ点を撮影したものかを判定する。この判定には、最適化された法線方向N_optにおける画素値相違の指標G_optを用いる。もし、現在参照している特徴点組み合わせが被写体表面の同じ点を撮影したものであれば、指標G_optは小さな値になるはずである。そこで、指標G_optがあらかじめ与えたしきい値を下回った場合は、現在参照している特徴点組み合わせが被写体表面の同じ点を撮影したものであると判定する。ここで、同じ点を撮影したものであると判定した場合、その点を被写体表面点として特定し、以降の処理に利用する。
【0025】
ステップS508で、全特徴点組み合わせを参照したかを判定し、していなければ、ステップS509で次の特徴点組み合わせを参照し、ステップS504〜S509の処理を全特徴点組み合わせを参照するまで繰り返す。ここで、次の特徴点組み合わせとして、どの特徴点組み合わせを選ぶかは任意である。例えば、図8に示すように、『片方の画像のみラスター順で次の特徴点を選んでいき、その画像の全特徴点を参照し終えたら、もう片方の画像からラスター順で次の特徴点を選ぶ』という選び方をすればよい。
【0026】
ステップS510で、全画像組み合わせを参照したか判定し、していなければ、ステップS511で次の画像組み合わせを参照し、ステップS503〜S511の処理を全画像組み合わせを参照するまで繰り返す。ここで、次の画像組み合わせとして、どの画像組み合わせを選ぶかは任意である。例えば、ステップS509と同様の考え方で、『片方の画像のみステップS502で番号付けした順番で選んでいき、全画像を参照し終えたら、もう片方の画像を番号付けした順番で選ぶ』という選び方をすればよい。
【0027】
ステップS512で、ステップS507において特定した被写体表面点群をポリゴン化する。ポリゴン化には任意の方法を用いてよい。なお、ステップS507で特定した被写体表面点の数がポリゴン化するのに不十分である場合、被写体表面点を増やしてもよい。
【0028】
以上の処理により形状を推定する。なお、上記の方法では、全特徴点組み合わせを参照して被写体表面点を特定したが、事前知識などを用いて参照する特徴点組み合わせを減らしても構わない。例えば、エピポーラ幾何の原理を用いて参照する特徴点組み合わせを減らしてもよい。
【0029】
<形状信頼度算出手段101の詳細>
形状信頼度算出手段101は、形状推定手段100で算出した画素値相違の指標Gを用いて、推定した形状の信頼度を算出する。ここで、形状信頼度は各被写体表面点について算出するものとする。
【0030】
画素値相違の指標Gと形状信頼度の関係について、様々な見方をすることができる。まず、最適化された法線方向N_optにおける画素値相違の指標G_optが小さい値であるほど、形状信頼度は高いと見ることができる。これは、指標G_optが小さい値であるほど、最適化したパッチと多視点画像データの整合性が取れていることを意味するからである。そのため、形状信頼度の指標Rとして、例えば、式2を利用することができる。
【0031】
【数2】
【0032】
しかし、式2で表される形状信頼度の指標Rは、被写体シーン中に平坦な領域が存在する場合には意味をなさない。それは、平坦な領域では、多視点画像データやパッチの画素値が平坦となり、パッチの法線方向Nに関わらず指標G_optが小さな値になってしまうからである。そのような場合、最適な法線方向N_optが一意に定まらないため、指標G_optが小さい値だとしても、形状信頼度が高いとは限らない。そこで、最適化された法線方向N_opt付近における指標Gの変化の仕方が急峻であれば、N_optが一意に定まることを利用することにする。具体的には、指標G_の勾配
【0033】
【数3】
【0034】
があらかじめ決められたしきい値よりも小さくなるような仰角θと方位角φの範囲が小さいほど、形状信頼度が高いとする。ここで、そのような範囲の面積を求めることは一般的に困難であるため、例えば、図9に示すように、仰角θの範囲が最も広くなるようなΔθと方位角φの範囲が最も広くなるようなΔφから、式3を用いて範囲の大きさSを求めればよい。
【0035】
【数4】
【0036】
算出した範囲の大きさSを用いて、式4から形状信頼度の指標Rを算出できる。
【0037】
【数5】
【0038】
また、同様の考え方で、最適化された法線方向N_opt付近における指標Gの値があらかじめ決められたしきい値よりも小さくなるような仰角θと方位角φが作る範囲S’が小さいほど、形状信頼度が高いとすることもできる。その場合は、式5から形状信頼度の指標Rを算出できる。
【0039】
【数6】
【0040】
上記形状信頼度の指標Rのいずれかを算出し、後述するBRDF補正処理に利用する。なお、式2、4、5は形状信頼度の指標R算出方法の一例であり、上記の考え方で算出される任意の形状信頼度の指標Rを用いてよい。
【0041】
<BRDF>
BRDFとは光の各入射角度、反射角度に対する反射率であり、式6で表される。
【0042】
【数7】
【0043】
ここで、θ’iは光の入射仰角、φ’iは光の入射方位角、θ’rは光の反射仰角、φ’rは光の反射方位角、Liは入射光の放射輝度(以下、入射輝度とする)、Lrは反射光の放射輝度(以下、反射輝度とする)である。なお、θ’i、φ’i、θ’r、φ’rは、形状推定手段100によって生成したポリゴンの法線を基準としたポリゴン座標系における角度である(ポリゴン座標系については図10を参照)。
【0044】
なお、反射輝度Lrは多視点画像データの画素値vから、式7を用いて算出できるものとする。
【0045】
【数8】
【0046】
ここで、Tは画素値から輝度への変換を表しており、事前に画素値と輝度の関係をキャリブレーションすることによって求めておく。
【0047】
<質感情報推定手段102の動作>
図17は実施例1における質感情報推定手段102の各処理部を示すブロック図である。また、図11は実施例1における質感情報推定手段102の動作を示すフローチャートである。以降では、図11のフローチャートに従って質感情報推定手段102の動作を説明する。
【0048】
ステップS1101で、BRDFパラメータ推定手段1701がBRDF推定時に用いる被写体のBRDFモデルを選択する。BRDFモデルとは、BRDFをパラメータを含む関数で表現したものである。BRDFモデルの例として、式8で表されるPhongモデルが挙げられる。
【0049】
【数9】
【0050】
ここで、Kdは拡散反射係数、Ksは鏡面反射係数、sは光沢性であり、この3つの変数がPhongモデルにおけるパラメータである。また、αは光の正反射方向と反射方向との間の角度(以下、Phong角度とする)である(図12参照)。このようなBRDFモデルを用いれば、BRDFを少ないパラメータで表現することが可能となる。このことにより、少ない視点からの撮影画像データからでもBRDFを推定することが可能となる。なお、以下では、BRDFモデルとしてPhongモデルを選択した場合を例に説明を行うが、本実施例はPhongモデルに限定されず、任意のBRDFモデルを選択して構わない。
【0051】
ステップS1102で、BRDFパラメータ推定手段1701が多視点画像データから1つ目の画素を参照する。1つ目の画素としてどの画素を参照するかは任意であるが、例えば、各多視点画像データを番号付けして、1枚目の画像の最も左上の画素を1つ目の画素として参照すればよい。
【0052】
ステップS1103で、BRDFパラメータ推定手段1701がBRDFモデルのパラメータに初期値を設定する。パラメータの初期値は任意の値でよい。例えば、Kd=0.5、Ks=0.5、s=1.0という初期値を設定すればよい。
【0053】
ステップS1104〜S1108で、BRDFパラメータ推定手段1701が現在参照している画素のBRDFパラメータを最適化する。まず、ステップS1104で、BRDF推定対象画素に入射する光の反射方向を算出する。反射方向は、BRDF推定対象画素に写っている(対応する)被写体上の点の位置pから光学中心の位置cへのベクトルとして表現することができる(図13参照)。ここで、被写体上の点の位置pは、推定された形状とカメラパラメータから、射影幾何の原理を用いて算出できる(形状推定誤差は無視する)。また、光学中心の位置cも、カメラパラメータに含まれるため既知である。
【0054】
ステップS1105で、ステップS1104において算出した反射方向への反射輝度の期待値を算出する。これは、実際の反射輝度(BRDF推定対象画素の画素値から式7を用いて求められる輝度)ではなく、現在設定されているBRDFパラメータから算出される反射輝度の期待値である。反射輝度の期待値L’rは式9で表される。
【0055】
【数10】
【0056】
ここで、Liは光源分布である。光源分布Liは、本画像処理装置が取得してもよいし、外部の取得手段によって取得したものを本画像処理装置に入力してもよい。光源分布として例えば、魚眼レンズによる撮影画像データの画素値を光源分布として用いる方法がある。また、式9中のBRDFはステップS1101で選択したBRDFモデルに、現在設定されているパラメータを代入して算出される値である。
【0057】
ステップS1106で、反射輝度の期待値L’rとBRDF推定対象画素の画素値から算出される反射輝度Lrとの誤差を算出する。ここで、誤差の種類は任意であるが、例えば、平均二乗誤差を算出すればよい。
【0058】
ステップS1107で、パラメータ最適化終了かを判定し、終了でなければ、ステップS1108でパラメータを更新し、ステップS1104〜S1108の処理を最適化が終了するまで繰り返す。パラメータ最適化終了時点でのパラメータが、現在参照している画素の推定パラメータとなる。ここで、最適化終了判定とパラメータ更新の方法は任意であるが、例えば、共役勾配法に則って、最適化終了判定とパラメータ更新を行えばよい。
【0059】
ステップS1109で、BRDFパラメータ推定手段1701が、全画素を参照し終えたかを判定し、参照し終えてなければ、ステップS1110で次の画素を参照し、ステップS1103〜S1110の処理を全画素を参照し終えるまで繰り返す。ここで、次の画素としてどの画素を参照するかは任意であるが、例えば、ラスタ順で次の画素を参照していき、画像データ中の全ての画素を参照し終えたら次の画像データの画素をラスタ順で参照していけばよい。
【0060】
ステップS1110で、質感情報補正手段1702が推定したBRDFパラメータの補正を行う。質感情報補正手段1702の詳細は後述する。
【0061】
以上の処理を行うことで、多視点画像データの全画素についてBRDFパラメータを推定することができる。なお、上記の処理では、ステップS1102で設定するパラメータの初期値によっては局所解に落ちる可能性がある。そのため、初期値を変えながら上記の処理を複数回行い、ステップS1106の最適化終了条件に最もよく合致した時のパラメータを最適なBRDFモデルパラメータとして算出してもよい。また、上記の処理では、全ての画素についてBRDF推定を行ったが、鏡面反射成分が強く観察されるなどのBRDF推定がしやすい画素のBRDFのみを推定し、他の画素のBRDFはそれらの画素のBRDFから補間処理によって算出してもよい。
【0062】
<質感情報補正手段1702の動作>
図18は、実施例1における質感情報補正手段1702の動作を示すフローチャートである。以降では、図18のフローチャートに従って質感情報補正手段1702の動作を説明する。
【0063】
ステップS1801で、画素形状信頼度算出手段1703が多視点画像データの各画素に写っている(対応する)被写体上の点における形状信頼度を算出する。ここで、形状信頼度算出手段101で算出したのは被写体表面点の形状信頼度であり、この信頼度をそのまま画素の形状信頼度として用いることはできない。そこで、画素の形状信頼度を、画素に写っているポリゴンの周りにある被写体表面点の形状信頼度から算出する(図14のポリゴンAとその周りの被写体表面点A、B、Cを参照)。画素の形状信頼度の算出方法は任意であるが、例えば、画素に写っているポリゴン上の点から最も近い被写体表面点の形状信頼度を画素の形状信頼度とすればよい。図14の例では、画素に写っているポリゴン上の点から最も近いのは被写体表面点Cであるため、被写体表面点Cの形状信頼度を画素の形状信頼度として利用する。
【0064】
ステップS1802で、補正必要性判定手段1704が形状信頼度の低い画素の中から1つ目の画素を参照する。形状信頼度の高低を判定する基準は任意であるが、例えば、あらかじめ決められたしきい値よりも形状信頼度の低い画素を参照すればよい。
【0065】
ステップS1803で、補正必要性判定手段1704が注目画素の周りの画素(特に隣接画素)から、形状信頼度の高い画素を選択する。選択基準は任意であるが、例えば、形状信頼度が高い画素のうち、注目画素との距離が近い4画素を選択すればよい。
【0066】
ステップS1804で、補正必要性判定手段1704が注目画素と周りの画素とのBRDFパラメータの差を算出する。Phongモデルを例にすると、Ksの差ΔKs、Kdの差ΔKd、sの差ΔsをステップS1803で選択した全画素について算出し、その平均値を算出(導出)する。
【0067】
ステップS1805で、補正必要性判定手段1704がパラメータの差があらかじめ決められたしきい値以上であるかを判定する。しきい値は任意であるが、例えばΔKsのしきい値を0.1、ΔKdのしきい値を0.1、sのしきい値を10などとすればよい。
【0068】
ステップS1806でしきい値以上と判定された場合、ステップS1807で、BRDFパラメータ再算出手段1705が周りの画素のBRDFパラメータから注目画素のBRDFパラメータを再算出する。再算出方法は任意であるが、例えば、周りの画素のBRDFパラメータの平均値をその画素のBRDFパラメータとして算出すればよい。また、バイリニア法やバイキュービック法による補間処理を用いてもよい。
【0069】
ステップS1808で、補正必要性判定手段1704が形状信頼度の低い画素を全て参照し終えたかを判定し、参照し終えていなければ、ステップS1809で次の画素を参照し、全ての画素を参照し終えるまでステップS1803〜S1809の処理を繰り返す。
【0070】
以上の処理により、BRDFパラメータを補正する。ここで、以上述べたように、周りの画素と比べてBRDF推定結果が大きく異なる場合に補正が必要だと判定するのは、近くの画素の質感は似ていることが多いという経験的な理由による。ただし、実際には、周りの画素と比較してBRDFパラメータが大きく異なるからといって必ずしも、BRDF推定に失敗しているとは言えない。なぜなら、細かいテクスチャがある場合には近くの画素でも質感が大きく変化するからである。そこで本実施例では、BRDFパラメータが周りと大きく異なる画素について、その画素の形状信頼度が高い場合は細かいテクスチャがあると判断し補正は行わず、その画素の形状信頼度が低い場合にのみ質感推定に失敗していると判断して補正を行う。
【0071】
なお、本実施例の構成要素は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用しても良い。本実施例の目的は、前述の実施形態の機能を実現するプログラムをシステムのコンピュータ(またはCPUまたはMPU)が実行しても達成される。この場合、プログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本実施例を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のデータ保存部、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、プログラムの指示内容をシステムの機能拡張ボードに備わるCPUなどが実行し、その処理で前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【0072】
以上説明したように、本実施例によれば、形状信頼度を算出し、その形状信頼度をBRDF補正に用いることで、形状推定誤差に対してロバストなBRDF推定処理を行うことができる。
【0073】
[実施例2]
実施例1では、全画素でBRDF推定をした後に、形状信頼度が低く、かつ、BRDF推定結果が周りの画素と大きく異なる画素のBRDF推定結果を補正した。実施例2では、形状信頼度の低い画素ではBRDF推定を行わずに、形状信頼度の高い画素のBRDF推定結果から補間処理によって形状信頼度の低い画素のBRDFを算出する。
【0074】
実施例2は、実施例1と比べて、質感情報推定手段102の動作のみが異なるため、質感情報推定手段102のみ説明を行う。
【0075】
図19は実施例2における質感情報推定手段102の処理部を表すブロック図である。また、図15は実施例2における質感情報推定手段102の動作を示すフローチャートである。以降では、図15のフローチャートに従って質感情報推定手段102の動作を説明する。なお、ステップS1502、S1510、S1511以外の動作は実施例1と同様であるため、説明を省略する。
【0076】
ステップS1502で、BRDFパラメータ推定手段1701が形状信頼度の低い画素から1つ目の画素を参照する。実施例2では、全画素を参照対象にするのではなく、形状信頼度の高い画素のみを参照対象とする。
【0077】
ステップS1510で、BRDFパラメータ推定手段1701が次の画素を参照する。これもステップS1502同様、形状信頼度の高い画素のみを参照対象とする。
【0078】
ステップS1511で、BRDFパラメータ補間手段1902が形状信頼度の高い画素のBRDFパラメータから形状信頼度の低い画素のBRDFパラメータを補間処理により算出する。算出方法は実施例1におけるBRDFパラメータの補正方法と同様であるため説明を省略する。
【0079】
以上説明したように、実施例2では、形状信頼度の低い画素ではBRDF推定を行わずに、形状信頼度の高い画素のBRDF推定結果から補間処理によって形状信頼度の低い画素のBRDFを算出する。このことにより、BRDF推定に失敗しやすい画素ではBRDFを推定しないため、実施例1と比べて高速にロバストなBRDF推定を行うことができる。
【0080】
[実施例3]
実施例1と実施例2では、被写体表面にパッチを生成することによって被写体の形状を推定した場合について説明した。実施例3では、多視点画像データ間の対応点の三次元位置を算出することによって被写体の形状を推定する場合にロバストなBRDF推定を行う。
【0081】
実施例1、2と比べて、形状推定手段100と形状信頼度算出手段101の動作のみが異なるため、これらについてのみ説明を行う。
【0082】
図15は、形状推定手段100における対応点の三次元位置の算出方法を模式的に示す図である。図15では、実施例1と同様に多視点画像データ間の対応点探索を行い、その対応点の三次元位置を三角測量の原理で算出する。ここで、対応点が誤差なく算出されている場合、図16(a)のように、対応点の三次元位置は多視点画像データ中のどの二枚から算出しても同じ位置となる。しかし、対応点の算出結果に誤差が含まれる場合、図16(b)のように、多視点画像データ中のどの二枚から三次元位置を算出したかによって、対応点の三次元位置がずれてしまう。実施例2の形状信頼度算出手段101では、この対応点の三次元位置のバラツキ具合を形状信頼度を表す指標として算出する。バラツキ具合としてどのような値を算出するかは任意であるが、例えば図16(c)のように、算出される対応点群の重心を求め、重心からのからの距離の平均値を形状信頼度として算出すればよい。
【0083】
以上説明したように、実施例3では、多視点画像データから算出される対応点の三次元位置のバラツキ具合を形状信頼度として算出する。このことにより、対応点の三次元位置を算出することで推定した形状に誤差が含まれる場合でもロバストな質感推定が可能となる。
【0084】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、多視点画像データの画像処理に関する。
【背景技術】
【0002】
撮影画像データに対して撮影者の意図に沿った効果を与えるために、画像加工ソフトウェアなどによる加工処理を行う場合がある。例えば、撮影画像データから、光源の種類や方向を変えた新たな加工画像データを作成するなどの加工処理である。このような加工処理によって不自然さの無い加工画像データを作成するためには、熟練者が時間をかけて加工処理を行う必要がある。しかし、被写体の形状や質感が分かっている場合は加工処理を自動化することが可能である。例えば、被写体の形状と質感の定義データが与えられた場合に、様々な光源環境における撮影画像データを合成する技術が知られている(非特許文献1)。
【0003】
複数の視点位置で撮影された撮影画像データ(以下、多視点画像データ)から被写体の形状を推定する技術として特許文献1や特許文献2が提案されている。特許文献1記載の技術では、多視点画像データの画素値と最も整合性が合うように、被写体を形成するパッチを生成することで被写体の形状を推定する。特許文献2記載の技術では、形状推定の際に形状の信頼度を算出して形状データと共に記録することで、形状データの信頼度をユーザが把握できるようにしている。また、多視点画像データから被写体の質感を推定する技術として非特許文献2が提案されている。非特許文献2に記載の技術では、被写体の質感をモデル化し、多視点画像データの画素値と最も整合性が合うように質感モデルのパラメータを決定することで被写体の質感を推定する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】US2009/0052796A1
【特許文献2】特開平7−260446
【非特許文献】
【0005】
【非特許文献1】“An Efficient Representation for Irradiance Environment Maps”, Ravi Ramamoorthi et al., Proceedings of SIGGRAPH , pp.497−500 (2001)
【非特許文献2】“Determining reflectance properties of an object using range and brightness images”, Ikeuchi K, IEEE Trans. PAMI, Vol.13, 11, p.1139−1153 (1991)
【発明の概要】
【発明が解決しようとする課題】
【0006】
形状推定を行った後に、推定した形状情報を用いて質感推定を行うと、形状推定の誤差が大きい場所で質感推定が不正確となる。そこで本発明では、形状推定の際に生じる誤差に対してロバストな質感推定を行うことを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成するために本発明の画像処理装置は、多視点画像データから被写体の形状を推定する形状推定手段と、前記形状推定手段で推定された形状の確からしさを示す信頼度を算出する形状信頼度算出手段と、前記形状推定手段により推定された形状と前記信頼度と前記多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する質感情報推定手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、形状推定の際に生じる誤差に対してロバストな質感推定を行う効果を奏する。
【図面の簡単な説明】
【0009】
【図1】画像処理装置のブロック図
【図2】画像処理装置の動作を示すフローチャート
【図3】多視点画像取得手段の形態の例を模式的に示す図
【図4】ワールド座標系を模式的に示す図
【図5】形状推定手段100の動作を示すフローチャート
【図6】形状推定手段100において用いるパッチを模式的に示す図
【図7】形状推定手段100におけるパッチ最適化の様子を模式的に示す図
【図8】形状推定手段100における特徴点組み合わせの選び方の例を模式的に示す図
【図9】法線方向と形状信頼度の勾配の関係を模式的に示す図
【図10】ポリゴン座標系を模式的に示す図
【図11】実施例1における質感情報推定手段103の動作を示すフローチャート
【図12】Phong角度について模式的に示す図
【図13】BRDF推定対象画素と被写体の位置関係を模式的に示す図
【図14】画素に写っているポリゴンと被写体表面点の位置関係を模式的に示す図
【図15】実施例2における質感情報推定手段103の動作を示すフローチャート
【図16】対応点の三次元位置について模式的に示す図
【図17】実施例1における質感情報推定手段103の処理部を示すブロック図
【図18】質感情報補正処理の流れを示すフローチャート
【図19】実施例2における質感情報推定手段103の処理部を示すブロック図
【発明を実施するための形態】
【0010】
[実施例1]
<実施例1のフローチャート>
図1は、本実施例における画像処理装置である。図1に示す画像処理装置の動作を示すフローチャートを図2に示す。以降では、図2のフローチャートに従って画像処理装置の動作を説明する。
【0011】
ステップS201で、形状推定手段100が多視点画像データに写っている被写体の形状を推定する。ここで、多視点画像データは本画像処理装置が取得してもよいし、外部の取得手段によって取得したものを本画像処理装置に入力してもよい。多視点画像データの取得手段として例えば、図3(a)のような多眼カメラや、図3(b)のような複数台カメラ、あるいは図3(c)のような撮影位置を変えながら撮影ができるビデオカメラがある。図3(c)の場合は、ビデオカメラで撮影した動画の複数フレームを抽出した画像データが多視点画像データとなる。なお、本実施例では被写体にフォーカスが合っているものとするため、被写体にフォーカスを合わせた撮影やパンフォーカス撮影が望ましい。形状推定手段100の動作の詳細は後述する。
【0012】
ステップS202で、形状信頼度算出手段101が形状推定手段100で推定された形状が実際の形状であるとの確からしさを示す(形状の)信頼度を算出する。形状信頼度算出手段101の動作の詳細は後述する。
【0013】
ステップS203で、質感情報推定手段103が被写体の質感を推定し、その後、形状信頼度に応じて質感推定結果を補正する。ここで、質感とはBRDF(Bidirectional Reflectance Distribution Function)を指す。このBRDFは少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を示している。なお、質感として他に、透過まで考慮したBSSRDF(Bidirectional Scattering Surface Distribution Function)などもある。質感情報推定手段102の動作の詳細は後述する。
【0014】
<形状推定手段100の詳細>
形状推定手段100は、多視点画像データから被写体表面の三次元点群を特定し、その被写体表面点群をポリゴン化することで被写体の形状を推定する。以降では、形状推定手段100の動作を示すフローチャートである図5に従って形状推定手段100の動作の詳細を説明する。
【0015】
ステップS501で、多視点(複数の視点位置)から撮影された各撮影画像データから特徴点を抽出する。特徴点とは、画像上の際立って検出できる点のことである。特徴点の抽出には任意の方法を用いてよい。
【0016】
ステップS502で、1つ目の画像組み合わせを参照する。画像組み合わせとは、ある視点から撮影した画像データと別の視点から撮影した画像データとの組み合わせのことである。なお、1つ目の画像組み合わせとして、どの画像組み合わせを選ぶかは任意である。例えば、各多視点画像データを番号付けして、1枚目の画像データと2枚目の画像データとの組み合わせを1つ目の画像組み合わせとして選べばよい。
【0017】
ステップS503で、1つ目の特徴点組み合わせを参照する。特徴点組み合わせとは、現在参照している画像組み合わせにおける片方の画像データが示す画像内の1つの特徴点ともう片方の画像データが示す画像内の1つの特徴点の組み合わせのことである。なお、1つ目の特徴点組み合わせとして、どの特徴点組み合わせを選ぶかは任意である。例えば、それぞれの画像データの最も左上の特徴点の組み合わせを1つ目の特徴点組み合わせとして選べばよい。
【0018】
ステップS504で、参照している特徴点組み合わせが被写体表面の同じ点を撮影したものだと仮定して、その点の三次元位置を算出する。三次元位置の算出には三角測量の原理を用いればよい。
【0019】
ステップS505で、ステップS504において算出した三次元位置にパッチを生成し、そのパッチを初期化する。パッチとは、参照している画像組み合わせのうち片方の画像データ(以下、基準画像データとする)から、参照している特徴点を中心とするm×npixelの領域をトリミングしたものである。パッチは、上記トリミングにより得られるm×npixelの画素値V(I(x=1、y=1),……,I(x=m、y=n )の画素値を持つ)と中心位置C、法線方向Nの三要素により構成される(図6参照)。ここで、中心位置CはステップS504で算出した三次元位置である。また、法線方向NはステップS506で最適化するため、ここでは最適化を行う前処理として初期化を行う。初期化方法は任意であるが、例えば、基準画像データを撮影した視点方向を法線方向Nの初期値としてもよい。なお、以下では基準画像データを撮影する際の視点を基準視点とする。
【0020】
ステップS506で、ステップS505において生成したパッチを多視点画像データとの相違(差分値)が最も小さくなるように最適化する。ここで、パッチと多視点画像データとの相違は、パッチの画素値Vと基準視点以外の視点からパッチを撮影した時の画素値から算出される(以下、パッチと多視点画像データとの相違のことを「画素値相違」と記す)。画素値相違を表す指標として任意の指標を用いることができるが、例えば、式1で表される指標Gを用いればよい。
【0021】
【数1】
【0022】
ここで、hiはパッチの画素値Vと基準視点以外のある1つの視点iからパッチを撮影した時の画素値との平均二乗誤差であり、E[hi]はhiの全視点iに関する平均値を表している。なお、基準視点以外の視点からパッチを撮影した時の画素値は、カメラパラメータとパッチの画素値V、中心位置C、法線方向Nから射影幾何の原理を用いて算出することができる。カメラパラメータとは、カメラの光学中心位置、カメラの光軸方向を表すベクトル、カメラの上方向を表すベクトル、レンズの焦点距離、センササイズ、センサ画素数などである。カメラパラメータは事前にキャリブレーションを行うことで算出してもよいし、多視点画像データから射影幾何の原理などを用いて推定してもよい。
【0023】
ステップS506では、上記の指標Gを最小化する法線方向Nを探索することで最適化を行う。探索方法は任意であるが、例えば、法線方向Nを変えながら画素値相違の指標Gを算出していくことで、指標Gを最小化する法線方向Nを探索すればよい。また、共役勾配法などを用いて最適化を行ってもよい。最適化の結果、例えば、ワールド座標系(図4参照)における法線方向Nの仰角θ、方位角φとその法線方向Nにおける画素値相違の指標Gが図7のようになり、法線方向がN_optに最適化される。
【0024】
ステップS507で、現在参照している特徴点組み合わせが被写体表面の同じ点を撮影したものかを判定する。この判定には、最適化された法線方向N_optにおける画素値相違の指標G_optを用いる。もし、現在参照している特徴点組み合わせが被写体表面の同じ点を撮影したものであれば、指標G_optは小さな値になるはずである。そこで、指標G_optがあらかじめ与えたしきい値を下回った場合は、現在参照している特徴点組み合わせが被写体表面の同じ点を撮影したものであると判定する。ここで、同じ点を撮影したものであると判定した場合、その点を被写体表面点として特定し、以降の処理に利用する。
【0025】
ステップS508で、全特徴点組み合わせを参照したかを判定し、していなければ、ステップS509で次の特徴点組み合わせを参照し、ステップS504〜S509の処理を全特徴点組み合わせを参照するまで繰り返す。ここで、次の特徴点組み合わせとして、どの特徴点組み合わせを選ぶかは任意である。例えば、図8に示すように、『片方の画像のみラスター順で次の特徴点を選んでいき、その画像の全特徴点を参照し終えたら、もう片方の画像からラスター順で次の特徴点を選ぶ』という選び方をすればよい。
【0026】
ステップS510で、全画像組み合わせを参照したか判定し、していなければ、ステップS511で次の画像組み合わせを参照し、ステップS503〜S511の処理を全画像組み合わせを参照するまで繰り返す。ここで、次の画像組み合わせとして、どの画像組み合わせを選ぶかは任意である。例えば、ステップS509と同様の考え方で、『片方の画像のみステップS502で番号付けした順番で選んでいき、全画像を参照し終えたら、もう片方の画像を番号付けした順番で選ぶ』という選び方をすればよい。
【0027】
ステップS512で、ステップS507において特定した被写体表面点群をポリゴン化する。ポリゴン化には任意の方法を用いてよい。なお、ステップS507で特定した被写体表面点の数がポリゴン化するのに不十分である場合、被写体表面点を増やしてもよい。
【0028】
以上の処理により形状を推定する。なお、上記の方法では、全特徴点組み合わせを参照して被写体表面点を特定したが、事前知識などを用いて参照する特徴点組み合わせを減らしても構わない。例えば、エピポーラ幾何の原理を用いて参照する特徴点組み合わせを減らしてもよい。
【0029】
<形状信頼度算出手段101の詳細>
形状信頼度算出手段101は、形状推定手段100で算出した画素値相違の指標Gを用いて、推定した形状の信頼度を算出する。ここで、形状信頼度は各被写体表面点について算出するものとする。
【0030】
画素値相違の指標Gと形状信頼度の関係について、様々な見方をすることができる。まず、最適化された法線方向N_optにおける画素値相違の指標G_optが小さい値であるほど、形状信頼度は高いと見ることができる。これは、指標G_optが小さい値であるほど、最適化したパッチと多視点画像データの整合性が取れていることを意味するからである。そのため、形状信頼度の指標Rとして、例えば、式2を利用することができる。
【0031】
【数2】
【0032】
しかし、式2で表される形状信頼度の指標Rは、被写体シーン中に平坦な領域が存在する場合には意味をなさない。それは、平坦な領域では、多視点画像データやパッチの画素値が平坦となり、パッチの法線方向Nに関わらず指標G_optが小さな値になってしまうからである。そのような場合、最適な法線方向N_optが一意に定まらないため、指標G_optが小さい値だとしても、形状信頼度が高いとは限らない。そこで、最適化された法線方向N_opt付近における指標Gの変化の仕方が急峻であれば、N_optが一意に定まることを利用することにする。具体的には、指標G_の勾配
【0033】
【数3】
【0034】
があらかじめ決められたしきい値よりも小さくなるような仰角θと方位角φの範囲が小さいほど、形状信頼度が高いとする。ここで、そのような範囲の面積を求めることは一般的に困難であるため、例えば、図9に示すように、仰角θの範囲が最も広くなるようなΔθと方位角φの範囲が最も広くなるようなΔφから、式3を用いて範囲の大きさSを求めればよい。
【0035】
【数4】
【0036】
算出した範囲の大きさSを用いて、式4から形状信頼度の指標Rを算出できる。
【0037】
【数5】
【0038】
また、同様の考え方で、最適化された法線方向N_opt付近における指標Gの値があらかじめ決められたしきい値よりも小さくなるような仰角θと方位角φが作る範囲S’が小さいほど、形状信頼度が高いとすることもできる。その場合は、式5から形状信頼度の指標Rを算出できる。
【0039】
【数6】
【0040】
上記形状信頼度の指標Rのいずれかを算出し、後述するBRDF補正処理に利用する。なお、式2、4、5は形状信頼度の指標R算出方法の一例であり、上記の考え方で算出される任意の形状信頼度の指標Rを用いてよい。
【0041】
<BRDF>
BRDFとは光の各入射角度、反射角度に対する反射率であり、式6で表される。
【0042】
【数7】
【0043】
ここで、θ’iは光の入射仰角、φ’iは光の入射方位角、θ’rは光の反射仰角、φ’rは光の反射方位角、Liは入射光の放射輝度(以下、入射輝度とする)、Lrは反射光の放射輝度(以下、反射輝度とする)である。なお、θ’i、φ’i、θ’r、φ’rは、形状推定手段100によって生成したポリゴンの法線を基準としたポリゴン座標系における角度である(ポリゴン座標系については図10を参照)。
【0044】
なお、反射輝度Lrは多視点画像データの画素値vから、式7を用いて算出できるものとする。
【0045】
【数8】
【0046】
ここで、Tは画素値から輝度への変換を表しており、事前に画素値と輝度の関係をキャリブレーションすることによって求めておく。
【0047】
<質感情報推定手段102の動作>
図17は実施例1における質感情報推定手段102の各処理部を示すブロック図である。また、図11は実施例1における質感情報推定手段102の動作を示すフローチャートである。以降では、図11のフローチャートに従って質感情報推定手段102の動作を説明する。
【0048】
ステップS1101で、BRDFパラメータ推定手段1701がBRDF推定時に用いる被写体のBRDFモデルを選択する。BRDFモデルとは、BRDFをパラメータを含む関数で表現したものである。BRDFモデルの例として、式8で表されるPhongモデルが挙げられる。
【0049】
【数9】
【0050】
ここで、Kdは拡散反射係数、Ksは鏡面反射係数、sは光沢性であり、この3つの変数がPhongモデルにおけるパラメータである。また、αは光の正反射方向と反射方向との間の角度(以下、Phong角度とする)である(図12参照)。このようなBRDFモデルを用いれば、BRDFを少ないパラメータで表現することが可能となる。このことにより、少ない視点からの撮影画像データからでもBRDFを推定することが可能となる。なお、以下では、BRDFモデルとしてPhongモデルを選択した場合を例に説明を行うが、本実施例はPhongモデルに限定されず、任意のBRDFモデルを選択して構わない。
【0051】
ステップS1102で、BRDFパラメータ推定手段1701が多視点画像データから1つ目の画素を参照する。1つ目の画素としてどの画素を参照するかは任意であるが、例えば、各多視点画像データを番号付けして、1枚目の画像の最も左上の画素を1つ目の画素として参照すればよい。
【0052】
ステップS1103で、BRDFパラメータ推定手段1701がBRDFモデルのパラメータに初期値を設定する。パラメータの初期値は任意の値でよい。例えば、Kd=0.5、Ks=0.5、s=1.0という初期値を設定すればよい。
【0053】
ステップS1104〜S1108で、BRDFパラメータ推定手段1701が現在参照している画素のBRDFパラメータを最適化する。まず、ステップS1104で、BRDF推定対象画素に入射する光の反射方向を算出する。反射方向は、BRDF推定対象画素に写っている(対応する)被写体上の点の位置pから光学中心の位置cへのベクトルとして表現することができる(図13参照)。ここで、被写体上の点の位置pは、推定された形状とカメラパラメータから、射影幾何の原理を用いて算出できる(形状推定誤差は無視する)。また、光学中心の位置cも、カメラパラメータに含まれるため既知である。
【0054】
ステップS1105で、ステップS1104において算出した反射方向への反射輝度の期待値を算出する。これは、実際の反射輝度(BRDF推定対象画素の画素値から式7を用いて求められる輝度)ではなく、現在設定されているBRDFパラメータから算出される反射輝度の期待値である。反射輝度の期待値L’rは式9で表される。
【0055】
【数10】
【0056】
ここで、Liは光源分布である。光源分布Liは、本画像処理装置が取得してもよいし、外部の取得手段によって取得したものを本画像処理装置に入力してもよい。光源分布として例えば、魚眼レンズによる撮影画像データの画素値を光源分布として用いる方法がある。また、式9中のBRDFはステップS1101で選択したBRDFモデルに、現在設定されているパラメータを代入して算出される値である。
【0057】
ステップS1106で、反射輝度の期待値L’rとBRDF推定対象画素の画素値から算出される反射輝度Lrとの誤差を算出する。ここで、誤差の種類は任意であるが、例えば、平均二乗誤差を算出すればよい。
【0058】
ステップS1107で、パラメータ最適化終了かを判定し、終了でなければ、ステップS1108でパラメータを更新し、ステップS1104〜S1108の処理を最適化が終了するまで繰り返す。パラメータ最適化終了時点でのパラメータが、現在参照している画素の推定パラメータとなる。ここで、最適化終了判定とパラメータ更新の方法は任意であるが、例えば、共役勾配法に則って、最適化終了判定とパラメータ更新を行えばよい。
【0059】
ステップS1109で、BRDFパラメータ推定手段1701が、全画素を参照し終えたかを判定し、参照し終えてなければ、ステップS1110で次の画素を参照し、ステップS1103〜S1110の処理を全画素を参照し終えるまで繰り返す。ここで、次の画素としてどの画素を参照するかは任意であるが、例えば、ラスタ順で次の画素を参照していき、画像データ中の全ての画素を参照し終えたら次の画像データの画素をラスタ順で参照していけばよい。
【0060】
ステップS1110で、質感情報補正手段1702が推定したBRDFパラメータの補正を行う。質感情報補正手段1702の詳細は後述する。
【0061】
以上の処理を行うことで、多視点画像データの全画素についてBRDFパラメータを推定することができる。なお、上記の処理では、ステップS1102で設定するパラメータの初期値によっては局所解に落ちる可能性がある。そのため、初期値を変えながら上記の処理を複数回行い、ステップS1106の最適化終了条件に最もよく合致した時のパラメータを最適なBRDFモデルパラメータとして算出してもよい。また、上記の処理では、全ての画素についてBRDF推定を行ったが、鏡面反射成分が強く観察されるなどのBRDF推定がしやすい画素のBRDFのみを推定し、他の画素のBRDFはそれらの画素のBRDFから補間処理によって算出してもよい。
【0062】
<質感情報補正手段1702の動作>
図18は、実施例1における質感情報補正手段1702の動作を示すフローチャートである。以降では、図18のフローチャートに従って質感情報補正手段1702の動作を説明する。
【0063】
ステップS1801で、画素形状信頼度算出手段1703が多視点画像データの各画素に写っている(対応する)被写体上の点における形状信頼度を算出する。ここで、形状信頼度算出手段101で算出したのは被写体表面点の形状信頼度であり、この信頼度をそのまま画素の形状信頼度として用いることはできない。そこで、画素の形状信頼度を、画素に写っているポリゴンの周りにある被写体表面点の形状信頼度から算出する(図14のポリゴンAとその周りの被写体表面点A、B、Cを参照)。画素の形状信頼度の算出方法は任意であるが、例えば、画素に写っているポリゴン上の点から最も近い被写体表面点の形状信頼度を画素の形状信頼度とすればよい。図14の例では、画素に写っているポリゴン上の点から最も近いのは被写体表面点Cであるため、被写体表面点Cの形状信頼度を画素の形状信頼度として利用する。
【0064】
ステップS1802で、補正必要性判定手段1704が形状信頼度の低い画素の中から1つ目の画素を参照する。形状信頼度の高低を判定する基準は任意であるが、例えば、あらかじめ決められたしきい値よりも形状信頼度の低い画素を参照すればよい。
【0065】
ステップS1803で、補正必要性判定手段1704が注目画素の周りの画素(特に隣接画素)から、形状信頼度の高い画素を選択する。選択基準は任意であるが、例えば、形状信頼度が高い画素のうち、注目画素との距離が近い4画素を選択すればよい。
【0066】
ステップS1804で、補正必要性判定手段1704が注目画素と周りの画素とのBRDFパラメータの差を算出する。Phongモデルを例にすると、Ksの差ΔKs、Kdの差ΔKd、sの差ΔsをステップS1803で選択した全画素について算出し、その平均値を算出(導出)する。
【0067】
ステップS1805で、補正必要性判定手段1704がパラメータの差があらかじめ決められたしきい値以上であるかを判定する。しきい値は任意であるが、例えばΔKsのしきい値を0.1、ΔKdのしきい値を0.1、sのしきい値を10などとすればよい。
【0068】
ステップS1806でしきい値以上と判定された場合、ステップS1807で、BRDFパラメータ再算出手段1705が周りの画素のBRDFパラメータから注目画素のBRDFパラメータを再算出する。再算出方法は任意であるが、例えば、周りの画素のBRDFパラメータの平均値をその画素のBRDFパラメータとして算出すればよい。また、バイリニア法やバイキュービック法による補間処理を用いてもよい。
【0069】
ステップS1808で、補正必要性判定手段1704が形状信頼度の低い画素を全て参照し終えたかを判定し、参照し終えていなければ、ステップS1809で次の画素を参照し、全ての画素を参照し終えるまでステップS1803〜S1809の処理を繰り返す。
【0070】
以上の処理により、BRDFパラメータを補正する。ここで、以上述べたように、周りの画素と比べてBRDF推定結果が大きく異なる場合に補正が必要だと判定するのは、近くの画素の質感は似ていることが多いという経験的な理由による。ただし、実際には、周りの画素と比較してBRDFパラメータが大きく異なるからといって必ずしも、BRDF推定に失敗しているとは言えない。なぜなら、細かいテクスチャがある場合には近くの画素でも質感が大きく変化するからである。そこで本実施例では、BRDFパラメータが周りと大きく異なる画素について、その画素の形状信頼度が高い場合は細かいテクスチャがあると判断し補正は行わず、その画素の形状信頼度が低い場合にのみ質感推定に失敗していると判断して補正を行う。
【0071】
なお、本実施例の構成要素は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用しても良い。本実施例の目的は、前述の実施形態の機能を実現するプログラムをシステムのコンピュータ(またはCPUまたはMPU)が実行しても達成される。この場合、プログラム自体が前述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本実施例を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のデータ保存部、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけではない。そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、プログラムの指示内容をシステムの機能拡張ボードに備わるCPUなどが実行し、その処理で前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【0072】
以上説明したように、本実施例によれば、形状信頼度を算出し、その形状信頼度をBRDF補正に用いることで、形状推定誤差に対してロバストなBRDF推定処理を行うことができる。
【0073】
[実施例2]
実施例1では、全画素でBRDF推定をした後に、形状信頼度が低く、かつ、BRDF推定結果が周りの画素と大きく異なる画素のBRDF推定結果を補正した。実施例2では、形状信頼度の低い画素ではBRDF推定を行わずに、形状信頼度の高い画素のBRDF推定結果から補間処理によって形状信頼度の低い画素のBRDFを算出する。
【0074】
実施例2は、実施例1と比べて、質感情報推定手段102の動作のみが異なるため、質感情報推定手段102のみ説明を行う。
【0075】
図19は実施例2における質感情報推定手段102の処理部を表すブロック図である。また、図15は実施例2における質感情報推定手段102の動作を示すフローチャートである。以降では、図15のフローチャートに従って質感情報推定手段102の動作を説明する。なお、ステップS1502、S1510、S1511以外の動作は実施例1と同様であるため、説明を省略する。
【0076】
ステップS1502で、BRDFパラメータ推定手段1701が形状信頼度の低い画素から1つ目の画素を参照する。実施例2では、全画素を参照対象にするのではなく、形状信頼度の高い画素のみを参照対象とする。
【0077】
ステップS1510で、BRDFパラメータ推定手段1701が次の画素を参照する。これもステップS1502同様、形状信頼度の高い画素のみを参照対象とする。
【0078】
ステップS1511で、BRDFパラメータ補間手段1902が形状信頼度の高い画素のBRDFパラメータから形状信頼度の低い画素のBRDFパラメータを補間処理により算出する。算出方法は実施例1におけるBRDFパラメータの補正方法と同様であるため説明を省略する。
【0079】
以上説明したように、実施例2では、形状信頼度の低い画素ではBRDF推定を行わずに、形状信頼度の高い画素のBRDF推定結果から補間処理によって形状信頼度の低い画素のBRDFを算出する。このことにより、BRDF推定に失敗しやすい画素ではBRDFを推定しないため、実施例1と比べて高速にロバストなBRDF推定を行うことができる。
【0080】
[実施例3]
実施例1と実施例2では、被写体表面にパッチを生成することによって被写体の形状を推定した場合について説明した。実施例3では、多視点画像データ間の対応点の三次元位置を算出することによって被写体の形状を推定する場合にロバストなBRDF推定を行う。
【0081】
実施例1、2と比べて、形状推定手段100と形状信頼度算出手段101の動作のみが異なるため、これらについてのみ説明を行う。
【0082】
図15は、形状推定手段100における対応点の三次元位置の算出方法を模式的に示す図である。図15では、実施例1と同様に多視点画像データ間の対応点探索を行い、その対応点の三次元位置を三角測量の原理で算出する。ここで、対応点が誤差なく算出されている場合、図16(a)のように、対応点の三次元位置は多視点画像データ中のどの二枚から算出しても同じ位置となる。しかし、対応点の算出結果に誤差が含まれる場合、図16(b)のように、多視点画像データ中のどの二枚から三次元位置を算出したかによって、対応点の三次元位置がずれてしまう。実施例2の形状信頼度算出手段101では、この対応点の三次元位置のバラツキ具合を形状信頼度を表す指標として算出する。バラツキ具合としてどのような値を算出するかは任意であるが、例えば図16(c)のように、算出される対応点群の重心を求め、重心からのからの距離の平均値を形状信頼度として算出すればよい。
【0083】
以上説明したように、実施例3では、多視点画像データから算出される対応点の三次元位置のバラツキ具合を形状信頼度として算出する。このことにより、対応点の三次元位置を算出することで推定した形状に誤差が含まれる場合でもロバストな質感推定が可能となる。
【0084】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
多視点画像データから被写体の形状を推定する形状推定手段と、
前記形状推定手段で推定された形状の確からしさを示す信頼度を算出する形状信頼度算出手段と、
前記形状推定手段により推定された形状と前記信頼度と前記多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する質感情報推定手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記質感情報推定手段は、注目画素の信頼度が低く、かつ、該注目画素の隣接画素の信頼度が高い場合、該注目画素の質感情報を該注目画素の隣接画素の質感情報を用いて補正することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記質感情報推定手段は、注目画素の信頼度が低く、かつ、該注目画素の隣接画素の信頼度が高い場合、該注目画素の質感情報を該隣接画素の質感情報を用いて、補間処理により補正することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記質感情報推定手段は、前記信頼度が高い画素の質感情報を推定し、前記信頼度が低い画素の質感情報は信頼度が高い画素の質感情報を利用して算出することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記形状推定手段は、多視点画像データとの相違が小さくなるように被写体表面を構成するパッチを生成することによって被写体の形状を推定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記信頼度は、前記形状推定手段が生成したパッチと多視点画像データとの相違を示す値であることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記信頼度は、前記形状推定手段が生成したパッチと多視点画像データとの相違の勾配がしきい値よりも小さくなるパッチの法線の範囲を示す値であることを特徴とする請求項5に記載の画像処理装置。
【請求項8】
前記形状信頼度は、前記形状推定手段が生成したパッチと多視点画像データとの相違がしきい値よりも小さくなるパッチの法線の範囲を示す値であることを特徴とする請求項5に記載の画像処理装置。
【請求項9】
前記形状推定手段は、前記多視点画像データの間の対応点の三次元位置を算出することによって被写体の形状を推定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項10】
前記形状信頼度は、前記形状推定手段が算出した対応点の三次元位置のばらつき具合を示す値であることを特徴とする請求項9に記載の画像処理装置。
【請求項11】
多視点画像データから被写体の形状を推定する形状推定工程と、
前記形状推定工程で推定された形状の確からしさを示す信頼度を算出する形状信頼度算出工程と、
前記形状推定工程で推定された形状と前記信頼度と前記多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する質感情報推定工程と、
を有することを特徴とする画像処理方法。
【請求項12】
コンピュータを請求項1乃至10に記載されている手段として機能させるためのプログラム。
【請求項1】
多視点画像データから被写体の形状を推定する形状推定手段と、
前記形状推定手段で推定された形状の確からしさを示す信頼度を算出する形状信頼度算出手段と、
前記形状推定手段により推定された形状と前記信頼度と前記多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する質感情報推定手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記質感情報推定手段は、注目画素の信頼度が低く、かつ、該注目画素の隣接画素の信頼度が高い場合、該注目画素の質感情報を該注目画素の隣接画素の質感情報を用いて補正することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記質感情報推定手段は、注目画素の信頼度が低く、かつ、該注目画素の隣接画素の信頼度が高い場合、該注目画素の質感情報を該隣接画素の質感情報を用いて、補間処理により補正することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記質感情報推定手段は、前記信頼度が高い画素の質感情報を推定し、前記信頼度が低い画素の質感情報は信頼度が高い画素の質感情報を利用して算出することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記形状推定手段は、多視点画像データとの相違が小さくなるように被写体表面を構成するパッチを生成することによって被写体の形状を推定することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記信頼度は、前記形状推定手段が生成したパッチと多視点画像データとの相違を示す値であることを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記信頼度は、前記形状推定手段が生成したパッチと多視点画像データとの相違の勾配がしきい値よりも小さくなるパッチの法線の範囲を示す値であることを特徴とする請求項5に記載の画像処理装置。
【請求項8】
前記形状信頼度は、前記形状推定手段が生成したパッチと多視点画像データとの相違がしきい値よりも小さくなるパッチの法線の範囲を示す値であることを特徴とする請求項5に記載の画像処理装置。
【請求項9】
前記形状推定手段は、前記多視点画像データの間の対応点の三次元位置を算出することによって被写体の形状を推定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項10】
前記形状信頼度は、前記形状推定手段が算出した対応点の三次元位置のばらつき具合を示す値であることを特徴とする請求項9に記載の画像処理装置。
【請求項11】
多視点画像データから被写体の形状を推定する形状推定工程と、
前記形状推定工程で推定された形状の確からしさを示す信頼度を算出する形状信頼度算出工程と、
前記形状推定工程で推定された形状と前記信頼度と前記多視点画像データとから、少なくとも二つの方向から観察した際の被写体の反射率を示す質感情報を推定する質感情報推定工程と、
を有することを特徴とする画像処理方法。
【請求項12】
コンピュータを請求項1乃至10に記載されている手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2013−25762(P2013−25762A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−163234(P2011−163234)
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]