以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.レンダリング処理の基本概念 >>>
本発明によって作成される反射特性データは、コンピュータを用いたレンダリング処理で利用されるものである。そこで、説明の便宜上、まず、従来の一般的なレンダリング処理の基本概念を説明しておく。
図1は、一般的なレンダリング処理の原理を示す斜視図である。この例は、三次元仮想物体10を、視点Eから観察したときに、投影平面H上に二次元投影画像15を求めるシェーディングモデルを示すものである。ここでは、二次元画像として用意されているテクスチャデータ20を、仮想物体10の表面にマッピングした状態で、投影画像15を求める演算が行われる。
このようなレンダリング処理を行うために、まず、仮想物体10を示す物体データが用意される。たとえば、図示の例では、XYZ三次元座標系上に定義された多数のポリゴン(多角形)の集合として、仮想物体10が表現されており、仮想物体10の表面の各部は、それぞれポリゴンによって構成されている。したがって、仮想物体10を示す物体データは、このポリゴンの集合体からなる三次元形状データということになり、仮想物体10の実体は物体データということになる。
一方、テクスチャデータ20は、uv二次元座標系上に定義された二次元画像データであり、二次元平面上に配列された多数の画素の集合体である。ここに示す例では、ハート型の絵柄模様が表現されている。もちろん、テクスチャデータ20によって表現される模様は、必ずしも人為的に描かれた絵柄模様だけではなく、天然素材がもつ固有の陰影模様の場合もある。たとえば、無地の絨毯を表現するテクスチャデータには、人為的な模様は描かれていないが、絨毯の毛並みによる陰影模様が表現されていることになる。
結局、このテクスチャデータ20は、二次元平面上における反射特性の分布を示す反射特性データということができる。本発明は、このような反射特性データを、たとえば絨毯などの実在の物体を利用して作成する技術を提案するものである。レンダリング処理を行う際には、このuv座標系上に定義されたテクスチャデータ20を、XYZ座標系上に定義された仮想物体10の表面にマッピングし、仮想物体表面の各部の反射特性を決定することになる。
レンダリング処理にあたっては、この他、照明条件、視点位置、投影平面を設定する必要がある。照明条件としては、光源の種類(たとえば、形状、大きさ、波長特性など)や位置などを設定する。図示の例の場合、光源G、視点E、投影平面Hが図示の位置に設定されている。また、三次元仮想物体10の表面に、どのようにして二次元テクスチャデータ20をマッピングするかを示すマッピング態様(たとえば、相対的な位置や向き)も設定しておく必要がある。一方、投影平面H上には、xy二次元座標系が定義されており、投影画像15(レンダリング処理の目的物として得られる二次元画像)は、このxy座標系上の画像データとして得られることになる。
いま、図示のとおり、仮想物体10上にサンプル点Qを定義し、このサンプル点Qから視点Eに向かう反射光Vを考える。この反射光Vは、光源Gからの照明光Lが、サンプル点Qで反射することにより得られる光であり、視点Eの位置で観察される光である。もっとも、ここでいう「反射」とは、「鏡面反射」のみでなく、「拡散反射」も含めた広い概念であり、サンプル点Qに様々な角度で入射する照明光がそれぞれ反射光として視点Eに向かうことになる。したがって、図示の反射光Vは、様々な角度から入射した照明光から得られる反射光の集まりというべきものになる。
1つのサンプル点Qから視点Eに向かう反射光Vと投影平面Hとの交点位置に、当該反射光Vの強度に応じた画素値をもつ画素Pを定義するようにし、仮想物体10の表面上の多数のサンプル点から視点Eに向かう各反射光について、同様に、投影平面H上に画素を定義すれば、多数のサンプル点について定義された多数の画素の集合により、三次元仮想物体10の二次元投影画像15が投影平面H上に得られることになる。実用上は、予め投影平面H上に所望の解像度で画素配列を定義しておき、視点Eと個々の画素Pの代表点(たとえば、中心位置)とを結ぶ線を仮想物体10上へと伸ばし、仮想物体表面との交点位置にサンプル点Qを定義し、上述した手法により、個々の画素Pの画素値を演算すれば、必要な解像度をもった二次元データを得ることができる。
このように、投影平面H上の画素Pの画素値を求めるためには、サンプル点Qから画素Pを通って視点Eに向かう反射光Vの強度を求める必要があるが、このような反射光Vの強度は、基本的に、サンプル点Qに入射する照明光Lの強度と、サンプル点Qにおける光の反射率(鏡面反射率や拡散反射率)とを考慮した演算によって求めることができる。もちろん、このとき、サンプル点Qを含むポリゴンの向きを考慮に入れた演算が行われ、サンプル点Qにマッピングされたテクスチャデータ20(uv座標系上に定義された二次元画像データ)も考慮に入れた演算が行われる。したがって、仮想物体10の表面が曲面であれば、当該曲面に応じた陰影をもった投影画像15が得られることになり、テクスチャデータ20が、図示のように、ハート型の絵柄の情報をもっていれば、投影画像15上にも、このハート型の絵柄が表現されることになる(図1では、この絵柄の図示は省略)。
サンプル点Qからの反射光の強度を演算する最も単純な方法は、XYZ三次元座標系上の1点として定義されるサンプル点Qから視点Eに向かう反射光Vの強度I(V)を、
I(V)=K・I(L)
なる式で求める方法である。ここで、I(L)は照明光Lのサンプル点Qの位置における強度であり、Kは反射係数である。照明光Lの強度I(L)は、光源Gの輝度、光源Gとサンプル点Qとの距離、サンプル点Qが所属するポリゴンに対する照明光の入射角といったパラメータによって決定される。これに対して、反射係数Kは、テクスチャデータ20によって決定される。まず、テクスチャデータ20を仮想物体10の表面に所定のマッピング態様でマッピングした場合に、サンプル点Qの位置が、テクスチャデータ20のどの座標に対応するかを定め、当該対応座標に位置する画素T(u,v)を決定する。そして、この対応画素T(u,v)の画素値として定義されている値が、サンプル点Qの位置における反射係数Kになる。
テクスチャデータ20として、カラー画像を用いる場合は、個々の原色ごとに、それぞれ所定の反射係数が定義される。すなわち、1つの画素T(u,v)の画素値として、3つの係数Kr,Kg,Kbが定義されている。ここで、係数Krは原色R(赤)の波長成分をもった照明光についての反射率、係数Kgは原色G(緑)の波長成分をもった照明光についての反射率、係数Kbは原色B(青)の波長成分をもった照明光についての反射率である。
このようなカラー画像からなるテクスチャデータ20をマッピングした場合、サンプル点Qからの反射光の強度は、光の各波長成分ごとに演算される。たとえば、反射光Vの赤色波長成分の強度Ir(V)は、照明光Lの赤色波長成分のサンプル点Qの位置における強度Ir(L)と、反射係数Krとを用いて、
Ir(V)=Kr・Ir(L)
なる式で求めることができる。
<<< §2.高次元画像をテクスチャとして用いるモデル >>>
§1では、テクスチャデータ20として、二次元画像を用いた例を示した。このような二次元画像をマッピングするモデルでは、サンプル点Qの反射特性が、照明光の入射角や反射光の反射角に依存しないものとして取り扱っているが、パイル地のような三次元構造をもった繊維シートを物体表面に張り付けた場合、厳密には、照明光の入射角や反射光の反射角に依存した異方性反射の特性を考慮した取り扱いをしなければならない。
このように、光の入射方向や反射方向に関する角度に依存して、反射特性が異なるような取り扱いを行う基本的なモデルとして、BRDF(Bi-directional Reflection Distribution Function)と呼ばれるモデルが提案されている。図2は、このBRDFモデルの原理を説明するための斜視図である。図示のとおり、仮想物体表面上のサンプル点Qの位置に法線Nを立て、サンプル点Qを含み、法線Nに直交する直交平面W(以下、基準面Wと呼ぶ)を定義する。そして、法線Nと入射照明光Lとのなす角をθL、基準面W上への入射照明光Lの投影像L′とこの基準面W上のサンプル点Qを通る所定の基準線ζとのなす角度をφLとし、入射照明光Lの向きを角度θLおよび角度φLの組み合わせで定義する。同様に、法線Nと反射光Vとのなす角をθV、基準面W上への反射光Vの投影像V′と基準線ζとのなす角度をφVとし、反射光Vの向きを角度θVおよび角度φVの組み合わせで定義する。いわば、角度θL,θVは、入射照明光および反射光の仰角に相当する(本来の「仰角」は、水平面に対する角度を意味するので、角度θL,θVは、厳密に言えば「90°−仰角」であるが、ここでは、便宜上、単に「仰角」と呼ぶことにする)。また、角度φL,φVは、入射照明光および反射光の方位角に相当する。
ここで、サンプル点Qにおける入射照明光Lの強度をI(L)としたとき、サンプル点Qからの反射光Vの強度I(V)を、θL,φL,θV,φVの関数として与えられる反射係数K(θL,φL,θV,φV)を用いて、
I(V)=K(θL,φL,θV,φV)・I(L)
なる式で求めるのが、BRDFモデルである。このBRDFモデルの特徴は、反射係数Kを、入射照明光Lの向きを示すパラメータ「θL,φL」および反射光Vの向きを示すパラメータ「θV,φV」の関数として与える点にある。
このBRDFモデルに、テクスチャマッピングの概念を付加したものが、前掲の非特許文献1等に記載されているBTF(Bi-directional Texture Function)モデルである。BTFモデルでは、上記BRDFモデルで用いた4つの角度パラメータに、更に、二次元uv座標系上での座標値(u,v)がパラメータとして加わることになり、サンプル点Qにおける入射照明光Lの強度をI(L)としたとき、サンプル点Qからの反射光Vの強度I(V)は、
I(V)=K(θL,φL,θV,φV,u,v)・I(L)
なる式で与えられる。すなわち、図2に示す反射光Vの強度I(V)は、入射照明光Lがどの方向からサンプル点Qに照射され、反射光Vがサンプル点Qからどの方向に射出するか、という角度に関するパラメータに依存して定まるとともに、サンプル点Qの位置にも依存して定まるファクターということになる。
図3は、このBTFモデルで用いる6次元テクスチャデータ20の構造を示す平面図である。上述したとおり、このBTFモデルにおいて、反射係数Kは、6次元の関数K(θL,φL,θV,φV,u,v)として定義されるパラメータであるから、この6次元テクスチャデータ20自身は、6次元空間上に配置された多数の画素の集合から構成される6次元の画像データということになり、個々の画素が特定の反射係数Kに相当する画素値を有することになる。ただ、ここでは、説明の便宜上、図3に示す例のように、この6次元テクスチャデータ20を、uv平面上の二次元画素配列として図示することにする。この場合、この二次元画素配列上の個々の画素T(u,v)には、4つのパラメータ「θL,φL,θV,φV」の関数として定まる反射係数K(θL,φL,θV,φV)がそれぞれ定義されていることになる。
ここで、反射係数K(θL,φL,θV,φV)は、θL,φL,θV,φVをそれぞれ変数として含む何らかの関数式として定義することも可能であるが、実用上は、数値テーブルとして定義するのが一般的であり、本発明も、数値テーブルとして定義する取り扱いを行うことを前提としている。このように反射係数Kを数値テーブルとして定義する場合、角度のパラメータθL,φL,θV,φVは連続量として取り扱うことはできないので、離散的な取り扱いを行わざるを得ない。
図4に、角度θLの離散的な定義の一例を示す。上述したとおり、角度θLは、サンプル点Qに入射する照明光Lの法線に対する角度を示すものである。図4には、サンプル点Qに対して、6通りの仰角をもって入射する照明光L1〜L6が描かれている。これら照明光L1〜L6の入射角θL1〜θL6は、図示のとおり、0°,15°,30°,45°,60°,75°である。入射角(仰角)に関しては、このように15°おきに6通りの角度を離散的に定義しておけば、実用上、ある程度の精度をもったテクスチャ表現が可能になる。
一方、図5には、角度φLの離散的な定義の一例を示す。上述したとおり、角度φLは、サンプル点Qに入射する照明光Lの基準面W上への投影像L′と基準線ζとのなす角度であり、照明光Lの方位角を示すものである。図5には、サンプル点Qに対して、12通りの方向から入射する照明光の方位角が描かれている。すなわち、図5の紙面は基準面Wに対応し、この基準面W上に、0°〜360°の範囲内の方位角が30°おきに定義されている。方位角に関しては、このように30°おきに12通りの角度を離散的に定義しておけば、実用上、ある程度の精度をもったテクスチャ表現が可能になる。
以上、入射照明光Lに関する角度θL,φLについての離散的定義例を示したが、反射光Vに関する角度θV,φVについても同様の定義を行うことができる。すなわち、角度θVに関しては、0°,15°,30°,45°,60°,75°という6通りの離散的定義を行い、角度φVに関しては、0°〜360°の範囲内の方位角を30°おきに定義すればよい。
このような離散的な定義を行うと、角度θLおよびθVはそれぞれ6通りの値をとり、角度φLおよびφVはそれぞれ12通りの値をとることになるので、これら4つの角度の組み合わせは、6×12×6×12=5184通りということになる。したがって、図3に示すテクスチャデータ20の1つの画素T(u,v)に定義される反射係数Kは、それぞれの角度値の組み合わせに応じて5184通りの値をとることになる。
結局、図3に示すテクスチャデータ20は、形式的には、二次元uv座標系上に定義された二次元の画像データとして表現されているが、実際には、6つのパラメータθL,φL,θV,φV,u,vによって定義される画素値(反射率)をもった6次元の画像データ(反射特性データ)ということになる。
この図3に示すような高次元のテクスチャデータ20を用いたBTFモデルによるレンダリング処理は、次のようにして行われる。まず、図1に示すように、三次元仮想物体10の表面に、このテクスチャデータ20をマッピングし、サンプル点Qの位置に対応する画素T(u,v)を決定する。次に、光源Gの位置やサンプル点Qが所属するポリゴンの向きなどを考慮することにより、サンプル点Qに入射する照明光Lの角度θL,φL、サンプル点Qから射出する反射光Vの角度θV,φVを決定する。そして、図3に示す画素T(u,v)について定義されている反射特性を参照して、特定の角度θL,φL,θV,φVの組み合わせに対応する反射係数を求める。カラー画像の場合は、三原色RGBのそれぞれについての反射係数Kr,Kg,Kbが求められる。最後に、これらの反射係数Kr,Kg,Kbに基づいて、反射光Vの各原色成分ごとの強度値を求め、投影面H上の画素Pの画素値を決定すればよい。
<<< §3.本発明に係る反射特性データの作成方法 >>>
本発明は、§2で述べたような高次元画像として表現される反射特性データを作成するための技術を提案するものである。たとえば、図1に示すレンダリング処理において、物体データ10の表面に、パイル地のような三次元構造をもった繊維シートを張り付けた状態をBTFモデルによって表現したい場合、表面にマッピングするテクスチャデータ20としては、図3に示すような6次元画像として表現される反射特性データを用意する必要がある。本発明では、実在の物体に基づく測定により、このような高次元の反射特性データを作成することになる。たとえば、実在のパイル地の生地を用意し、この生地の表面の反射特性を様々な撮影環境で撮影し、これら複数の撮影画像に基づいて、反射特性データが作成される。
図6は、本発明に係る反射特性データの作成方法の基本手順を示す流れ図である。以下、この流れ図に沿って、各手順の内容を説明する。
まず、ステップS1において、物体・比較体準備段階が行われる。ここで準備される物体は、反射特性データを作成するための測定対象であり、たとえば、上述の例の場合、実在のパイル地の生地ということになる。これに対して、比較体とは、測定対象となる物体と比較するために用意される比較対象物である。図7は、本発明において用いられる物体および比較体の一例を示す斜視図である。
図7(a) に示す物体30は、上述の例の場合、実在のパイル地の生地であり、反射特性を測定する対象物となる。ここでは、この物体30の表面に、被測定面31(図では、ハッチング領域として示されている)を定義し、以下の手順では、この被測定面31を測定対象として取り扱うことにする。図7(a) の場合、物体30の縁を除いた部分に被測定面31を定義しているが、もちろん被測定面31は任意に定義することが可能であり、たとえば、縁を除くことなしに、物体30の上面全体を被測定面31としてもかまわない。物体30としてパイル地の生地などを用いる場合には、当該生地を、たとえば30cm四方の大きさに切り取り、その上面全体を被測定面31として用いるようにすれば、被測定面31は、一辺が30cmの正方形の領域によって構成されることになる。
一方、図7(b) に示す比較体40は、以下に述べる手順において、物体30と対比する比較対象物として機能するものである。この比較体40は、比較面41(図では、ハッチング領域として示されている)を有している。比較面41は、「無彩色かつ均一な拡散反射特性をもち、被測定面31と同一形状および同一サイズの面」であれば、どのような面でもよく、比較体40は、そのような比較面41を有していれば、どのようなものでもかまわない。図7に示す例では、物体30と比較体40とは、同一形状および同一サイズを有する板状体によって構成されており、その上面に、同一形状および同一サイズの被測定面31および比較面41が定義されている。
もっとも、比較対象となるのは、あくまでも被測定面31と比較面41であり、この両者が、同一形状および同一サイズの面となっていれば足りる。別言すれば、物体30と比較体40とは、必ずしも同一形状および同一サイズである必要はない。たとえば、物体30として矩形の板状部材を用い、比較体40として円柱状部材を用いるようなことも可能である。このような場合でも、物体30(矩形の板状部材)の上面に定義した一辺が30cmの正方形の領域を被測定面31とし、比較体40(円柱状部材)の上面に定義した一辺が30cmの正方形の領域を比較面41とすれば、少なくとも被測定面31と比較面41とは同一形状および同一サイズの面となる。ただ、実用上は、後述するように、物体30に対する撮影と比較体40に対する撮影とを、同じ撮影条件で行う必要があるため、物体30と比較体40とは、ほぼ同一形状およびほぼ同一サイズとなるようにした方が好ましい。したがって、物体30として、たとえば、30cm四方の大きさのパイル地の生地を用いた場合には、比較体40としても、30cm四方の大きさの板状部材を用いるのが好ましい。
一方、比較面41のもうひとつの条件は、「無彩色かつ均一な拡散反射特性をもつ」という条件である。ここで、「無彩色」とは、少なくとも可視波長域における反射スペクトルが平坦になっていることを意味し、いわゆる「白色」や「グレー」といった色を意味するものである。また、「均一な拡散反射特性」とは、比較面41の各部が鏡面反射ではなく、拡散反射を行う特性を有しており、しかも、比較面41の全面にわたって、この拡散反射の特性が均一であることを意味している。したがって、もし、比較面41の全面にわたって均一な照度が得られるような照明を行ったとすると、このような照明下にある比較面41の各部から得られる拡散反射光の強度は等しくなる。
もっとも、「無彩色かつ均一な拡散反射特性をもつ」という比較面41の条件は、人間の眼で観察したときに、人間がそのように認識しうる程度の精度であれば十分である。なぜなら、本発明により作成される反射特性データ(テクスチャデータ)は、図1に示すようなレンダリング処理に利用されるものであり、最終的に得られるマッピング後の二次元投影画像15は、結局は人間に対して提示されるものだからである。したがって、比較面41の「無彩色かつ均一な拡散反射特性をもつ」という条件は、人間が肉眼で観察したときに、「全面にわたって白色もしくはグレーの均一面」として認識可能であれば満足していることになる。
なお、反射特性の測定対象となる物体30側の被測定面31は、通常、このような条件を満たしていない。たとえば、パイル地の場合、表面には何らかの着色があり、肉眼観察した場合には、全面にわたって繊維の織り目から生じる濃淡模様が確認できるであろう。
比較面41は、無彩色であれば、必ずしも白色である必要はなく、グレーであってもかまわないが、実用上は、なるべく白色もしくは白色に近いグレーのものを用いるのが好ましい。これは、後述するように、比較面41を撮影する際に、できるだけ大きな光量をもった撮影画像を得た方が、誤差の少ない正確な測定が可能になるためである。したがって、実用上は、比較体40として、少なくとも可視波長全域にわたってほぼ100%の拡散反射特性(照明光のエネルギーを内部にほとんど吸収することなしに、ほぼ100%を拡散反射光として放出する特性)を有する白色体を用いるようにするのが好ましい。このような白色体として、たとえば、表面に硫酸バリウム層を有する完全拡散板などが市販されており、ステップS1で準備する比較体40としては、このような市販の完全拡散板を用いれば十分である。
続いて、ステップS2において、撮影条件設定段階が行われる。ここで設定する撮影条件とは、図7(a) に示す物体30の被測定面31を、所定方向に配置した光源から照明光を当てた環境下で、所定方向に配置したカメラで撮影するための条件であり、ステップS3において行われる物体撮影段階における撮影条件である。但し、ステップS4では、ステップS3において被測定面31に対して行った撮影と全く同様の撮影条件で、比較体40の比較面41に対する撮影が行われることになるので、ステップS2で設定した被測定面31に対する撮影条件は、そのまま比較面41に対する撮影条件としても利用されることになる。
ステップS2で設定する撮影条件は、光源、被測定面、カメラという三者の位置関係であり、1つの撮影条件は、この三者が所定の位置関係にあることを示す条件ということになる。より具体的には、1つの撮影条件は、光源と被測定面との位置関係と、被測定面とカメラとの位置関係と、の組み合わせにより定義される。
図8は、本発明に係る反射特性データの作成方法に用いる撮影系の一例を示す斜視図である。この例では、板状の物体30の被測定面31(物体30の縁を除いた上面)に対する撮影を行うために、光源50およびカメラ60が図のように配置されている。ここでは、光源50として点光源を用いている。また、光源50、被測定面31、カメラ60という三者の位置関係を幾何学的に定義するために、光源50内に代表点51を定義し、被測定面31上に基準点Sを定義している。点光源は、理論上は幾何学的な1点から球面波として光を発生させる光源であるが、実際には、有限の体積を有する発光体であるので、その中に代表点51を定義して取り扱うことにする。代表点51も基準点Sも、位置定義の基準を示すための幾何学的な点であり、理論的には任意の位置に定義することができるが、実用上は、それぞれの中心位置に定義するのが好ましい。したがって、図示の例では、光源50の中心位置に代表点51が定義されており、被測定面31の中心位置に基準点Sが定義されている。
ここで、カメラ60は、その光軸上に基準点Sが位置するような向きに配置することにする。また、代表点51から基準点Sに向かう照明光を基準照明光Lsと呼び、基準点Sからカメラ60の光軸方向に射出する反射光を基準反射光Vsと呼ぶことにする。更に、基準点Sの位置において、被測定面31に対する法線Nを立て、基準点Sを含み、法線Nに垂直な平面を基準面Wと呼び、基準面W上への基準照明光Lsの投影像をLs′と呼び、基準面W上への基準反射光Vsの投影像をVs′と呼ぶことにする。図示の例の場合、被測定面31が平面であるため、基準面Wは被測定面31に一致する。
このような定義を行うと、光源50と被測定面31との位置関係は、基準点Sに入射する基準照明光Lsと法線Nとのなす角θLs(基準照明光Lsの入射角)と、基準照明光Lsの基準面W上への投影像Ls′と基準線ζsとのなす角φLs(基準照明光Lsの方位角)とによって定義することができる。同様に、被測定面31とカメラ60の位置関係は、基準点Sからカメラ60の光軸方向に射出する基準反射光Vsと法線Nとのなす角θVs(基準反射光Vsの反射角)と、基準反射光Vsの基準面W上への投影像Vs′と基準線ζsとのなす角φVs(基準反射光Vsの方位角)とによって定義することができる。
この定義は、図2に示すBTFモデルにおけるサンプル点Qに関する照明光Lと反射光Vの定義と共通している。ただ、図2に示す例は、図1に示すようなレンダリング処理を行う際に、三次元仮想物体10上のサンプル点Qの位置における照明光Lと反射光Vとの関係を示すためのものであるのに対し、図8に示す例は、実在の物体30上に定義された基準点Sに入射する基準入射光Lsと、そこから反射する基準反射光Vsとを基準にして、光源50,被測定面31,カメラ60という三者の位置関係を示すためのものということになる。
さて、図8に示す例の場合、角度θLsをa通り、角度φLsをb通りに変化させることにより、光源50と被測定面31との位置関係をm=(a×b)通りに変化させることができる。同様に、角度θVsをc通り、角度φVsをd通りに変化させることにより、被測定面31とカメラ60との位置関係を複数n=(c×d)通りに変化させることができる。結局、光源50,被測定面31,カメラ60という三者の位置関係としては、光源50と被測定面31との位置関係を複数m通りに変化させ、かつ、被測定面31とカメラ60との位置関係を複数n通りに変化させることにより、合計(m×n)通りの設定を行うことができ、個々の設定をそれぞれ固有の撮影条件として捉えれば、合計(a×b×c×d)通りの撮影条件を設定することができる。
ここに示す実施形態では、0〜90°の角度範囲をα等分し、a=c=αとすることにより、θLsの角度値およびθVsの角度値をそれぞれα通り設定し、0〜360°の角度範囲をβ等分し、b=d=βとすることにより、φLsの角度値およびφVsの角度値をそれぞれβ通り設定し、合計α2×β2通りの撮影条件を設定するようにしている。
具体的には、たとえば、α=6(a=6,c=6)に設定した場合、入射角θLsおよび反射角θVsについては、図4に示す例と同様に、0°,15°,30°,45°,60°,75°なる6通りの設定を行うことができ、β=12(b=12,d=12)に設定した場合、方位角φLsおよび方位角φVsについては、図5に示す例と同様に、0°,30°,60°,…,300°,330°なる12通りの設定を行うことができる。この場合、光源50と被測定面31との位置関係は72通り(m=6×12通り)、被測定面31とカメラ60との位置関係も72通り(n=6×12通り)となり、全部で5184通りの撮影条件が設定されることになる。
結局、図6の流れ図におけるステップS2の撮影条件設定段階では、光源50と被測定面31とカメラ60とが所定の位置関係になるような撮影条件を、光源50と被測定面31との位置関係を複数m通りに変化させ、かつ、被測定面31とカメラ60との位置関係を複数n通りに変化させることにより、合計(m×n)通り設定する処理が行われることになる。
続いて、図6の流れ図におけるステップS3の物体撮影段階が行われる。すなわち、ステップS2の撮影条件設定段階で設定された(m×n)通りの撮影条件のそれぞれについて、光源50によって照明されている被測定面31の画像をカメラ60で撮影する撮影処理を実行することにより、(m×n)枚の物体撮影画像を得る処理が行われる。上述の例の場合、合計5184通りの撮影条件に基づいて、合計5184枚の物体撮影画像が得られることになる(実際には、光源50とカメラ60との位置が重なるような撮影条件については、物理的に撮影できない場合もある。)。なお、実用上は、カメラ60としてカラー画像を撮影する機能をもったカメラを用いることにより、三原色RGBの各原色プレーンの集合からなるカラー画像が撮影されることになる。
次に、図6の流れ図におけるステップS4の比較体撮影段階が行われる。すなわち、物体30上の被測定面31の代わりに、比較体40上の比較面41を用いて、ステップS3の物体撮影段階と同様の撮影条件に基づく撮影処理を実行することにより、(m×n)枚の比較体撮影画像を得る処理が行われる。上述の例の場合、やはり合計5184通りの撮影条件に基づいて、合計5184枚の比較体撮影画像が得られることになる(実際には、光源50とカメラ60との位置が重なるような撮影条件については、物理的に撮影できない場合もある。)。この場合も、カメラ60としてカラー画像を撮影する機能をもったカメラを用いることにより、三原色RGBの各原色プレーンの集合からなるカラー画像が撮影されることになる。
ところで、ステップS3の物体撮影段階やステップS4の比較体撮影段階では、様々な撮影条件の下で撮影が行われるため、撮影画像上における被測定面31や比較面41の形状や大きさは様々なものになる。たとえば、被測定面31が矩形の平面であったとすると、この被測定面31を、基準点S(この矩形の中心点)の位置に立てた法線Nの方向から(図8において、角度θVs=0となる方向から)、特定の回転位置で(図8において、角度φVs=0°もしくは180°となる回転位置で)撮影した場合には、図9(a) に示すように、正則な矩形の物体撮影画像が得られることになる。ところが、角度φVsを変化させた撮影条件では、図9(b) のように、回転がかかった矩形の画像が得られることになり、更に、角度θVsおよびφVsが任意の値をとる撮影条件では、図9(c) 〜(f) のように、様々な形状や大きさをもった画像が得られることになる。比較体撮影画像についても全く同様のことが言える。
前述したとおり、被測定面31と比較面41とは、同一形状および同一サイズであるため、全く同じ撮影条件で得られた物体撮影画像と比較体撮影画像とは、相互に形状や大きさが等しくなる。たとえば、ある特定の撮影条件で得られた物体撮影画像の輪郭が、図9(d) のようなものであったとすると、同じ撮影条件で得られた比較体撮影画像の輪郭も図9(d) のようなものになる。したがって、同じ撮影条件で得られた物体撮影画像と比較体撮影画像については、相互に、画素の対応関係が定義できることになるので、このままでも、後述する補正処理段階(ステップS5)の処理を実行することは可能である。
しかしながら、実用上は、図9(a) 〜(f) に示すように、個々の撮影画像が様々な形状および大きさをもっていると、取り扱いが不便であるため、ステップS3の物体撮影段階およびステップS4の比較体撮影段階で、実際の撮影により得られた画像を、基準点Sの位置に立てた法線Nの方向から特定の回転位置で撮影した場合に得られるであろう画像に変換する幾何変換処理を行い、後述するステップS5では、この幾何変換処理後の画像を物体撮影画像および比較体撮影画像として用いるようにするのが好ましい。
このような幾何変換処理を行うと、図9(a) 〜(f) に示されている個々の画像は、それぞれ図10(a) 〜(f) に示されている画像に変換されることになる。別言すれば、図9(b) 〜(f) に示されている画像は、図9(a) に示されている画像が得られた撮影条件と同じ条件で撮影した場合に得られるであろう画像に幾何学的に変換されることになり、いずれも正則な矩形状の輪郭をもった画像になる。このような幾何学的な変換は、角度θVsおよびφVsと、カメラ60から基準点Sまでの距離と、が既知であれば理論的に行うことが可能であり、その具体的な手法自体は既に公知の技術であるため、ここでは詳しい説明は省略する。
続いて、ステップS5の補正処理段階が実行される。ここで行われる補正処理は、物体撮影画像を構成する画素の画素値Poと、当該物体撮影画像と同一の撮影条件で得られた比較体撮影画像の対応する位置にある画素の画素値Prと、当該撮影条件における基準入射角θLs(図8参照)と、に基づいて、
Pc=cosθLs・Po/Pr
なる演算を行うことにより、画素値Pcをもった画素から構成される補正画像を求める補正処理を、個々の撮影条件について行い、(m×n)枚の補正画像を得る処理である。
図11は、この補正処理の原理を示す平面図である。図11(a) は、ある特定の撮影条件で撮影された物体撮影画像であり、図11(b) は、これと全く同一の撮影条件で撮影された比較体撮影画像である。いずれもuv座標系上における全く同一の画素配列をもった画像であり、図11(a) に示す物体撮影画像上の座標(u,v)の位置にある画素Po(u,v)の画素値をPoとし、図11(b) に示す比較体撮影画像上の同じ座標(u,v)の位置にある画素Pr(u,v)の画素値をPrとすれば、図11(c) に示す補正画像上の座標(u,v)の位置にある画素Pc(u,v)の画素値Pcは、上記式によって求められることになる。
前述の例のように、合計5184通りの撮影条件に基づいて、合計5184枚の物体撮影画像および合計5184枚の比較体撮影画像が得られた場合には、第1番目の撮影条件で得られた第1番目の物体撮影画像と第1番目の比較体撮影画像とに基づいて第1番目の補正画像が得られ、第2番目の撮影条件で得られた第2番目の物体撮影画像と第2番目の比較体撮影画像とに基づいて第2番目の補正画像が得られ、…、第5184番目の撮影条件で得られた第5184番目の物体撮影画像と第5184番目の比較体撮影画像とに基づいて第5184番目の補正画像が得られることになる。
なお、実用上は、物体撮影画像および比較体撮影画像は、いずれも三原色RGBの各原色プレーンの集合からなるカラー画像であるので、この補正処理段階では、個々の原色プレーンごとに補正処理を実行することにより、三原色RGBの各原色プレーンの集合からなる補正画像が得られることになる。たとえば、物体撮影画像の原色Rのプレーンと比較体撮影画像の原色Rのプレーンとを用いた補正処理により、補正画像の原色Rのプレーンが得られる。
最後のステップS6として示されている反射特性データ作成段階は、こうして得られた合計(m×n)枚の補正画像に基づいて、物体30の反射特性データを作成する処理を行う段階である。最終的に作成される反射特性データは、図3に示されているテクスチャデータ20のように、二次元画素配列上の個々の画素T(u,v)に、4つのパラメータ「θL,φL,θV,φV」の関数として定まる反射係数K(θL,φL,θV,φV)をそれぞれ定義したものである。これに対して、ステップS5の補正処理段階で得られるデータは、上述の例の場合、5184枚の補正画像のデータである。ステップS6では、この5184枚の補正画像のデータに基づいて、図3に示すような反射特性データを作成する処理が行われる。
もっとも、この処理は、実体的な演算を伴う処理ではなく、単にデータを整理する処理というべきものである。たとえば、図3に示すテクスチャデータ20の画素T(u,v)には、角度「θL,φL,θV,φV」の関数として定まる反射係数K(θL,φL,θV,φV)が定義されている。そこで、ステップS2で設定した撮影条件における角度「θLs,φLs,θVs,φVs」を、それぞれ角度「θL,φL,θV,φV」とみなして、角度「θLs,φLs,θVs,φVs」という特定の撮影条件について得られた補正画像上の座標(u,v)の位置にある画素Pc(u,v)の画素値Pcを、図3に示すテクスチャデータ20の画素T(u,v)についての角度「θL,φL,θV,φV」についての反射係数K(θL,φL,θV,φV)と定義する処理を行えばよい。
より具体的に説明すると次のようになる。たとえば、「θLs=45°,φLs=120°,θVs=15°,φVs=300°」という特定の撮影条件の下で撮影された物体撮影画像と比較体撮影画像とに基づいて、特定の補正画像が得られたとする。そして、この特定の補正画像上の座標(u,v)の位置にある画素Pc(u,v)の画素値がPcであったとする。この場合、図3に示すテクスチャデータ20の画素T(u,v)についての角度「θL=45°,φL=120°,θV=15°,φV=300°」についての反射係数K(45°,120°,15°,300°)=Pcなる定義がなされることになる。もちろん、この画素T(u,v)には、個々の角度の組み合わせのバリエーションに応じて全部で5184通りの反射係数Kが定義されることになるが、これらの反射係数Kは、補正処理段階で得られた5184枚の補正画像上の座標(u,v)の位置にある画素の画素値ということになる。
かくして得られた反射特性データは、結局、物体30の被測定面31の所定位置に所定の入射方向から照明光を当てたときに、当該所定位置から所定の射出方向に向かう反射光の反射率を、被測定面31の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義した反射特性データということになる。
なお、カラー画像の撮影を行った場合、前述したとおり、ステップS5の補正処理段階で、個々の原色プレーンごとに補正処理を実行することにより、三原色RGBの各原色プレーンの集合からなる補正画像が得られる。したがって、ステップS6の反射特性データ作成段階においても、個々の原色ごとの反射特性を示すデータが作成されることになる。
<<< §4.本発明における補正処理の物理的な意味 >>>
ここでは、図6に示す流れ図におけるステップS5で行われる補正処理の物理的な意味を説明する。既に述べたとおり、この補正処理は、ステップS3の物体撮影段階で得られた物体撮影画像に対して補正を行うための処理であり、この補正を行うために、ステップS4の比較体撮影段階で得られた比較体撮影画像を用いることになる。そこで、まず、このような補正を行う必要性について説明する。
図12は、撮影対象となる物体30に対して平行な照明光が照射されている状態を示す正面図である。ここでは、説明の便宜上、この物体30上に3つの参照点S1,S2,S3を定義し、各参照点における照度を考えてみる。図12の例では、各参照点S1,S2,S3に、それぞれ照明光L1,L2,L3が、入射角θL1,θL2,θL3で照射されている。ここで、照明光L1,L2,L3が互いに平行であるとすると、入射角θL1,θL2,θL3はすべて等しくなる。光源が無限遠に存在する場合、この図12に示す例のように、各照明光L1,L2,L3は互いに平行になり、この場合の各参照点S1,S2,S3の照度は互いに等しくなる。光源として太陽光を利用した場合、この図12に示す例のような取り扱いを行うことが可能になる。
しかしながら、実用的な観点からは、太陽光を光源として用いることは現実的ではなく、商業的なプロセスとして反射特性データの作成を行う上では、人工的な光源を利用した撮影を行わざるを得ない。この場合、各照明光L1,L2,L3は平行にはならないので、各参照点S1,S2,S3の照度は等しくならない。たとえば、図13は、撮影対象となる物体30に対して点光源Gからの照明光が照射されている状態を示す正面図である。図示のとおり、照明光L1,L2,L3の入射角θL1,θL2,θL3は、それぞれ異なった値となり、各参照点S1,S2,S3の照度に差が生じることになる。具体的には、小さな入射角θL1をもった照明光L1によって照らされている参照点S1の照度は、大きな入射角θL3をもった照明光L3によって照らされている参照点S3の照度よりも大きくなる。
各参照点S1,S2,S3の照度に差が生じる原因は、この入射角の差だけではない。図示のとおり、照明光L1の光路と照明光L3の光路とを比較すると、前者よりも後者の方が長いので、光量の減衰割合は、前者よりも後者の方が大きくなる。これも、参照点S3の照度が参照点S1の照度よりも低くなる要因のひとつである。また、実際に点光源Gとして用いる照明器具は、必ずしも理想的な点光源としては機能せず、発光時点で既に輝度の方向依存性(ばらつき)を有している。したがって、照明光L1,L2,L3は、点光源Gから放出された時点で、既に光量にばらつきをもった光となっている。
このような種々の原因により、物体30上の各部分には、照明光による照度ムラが生じていることになる。ステップS5で行われる補正処理は、この照度ムラを相殺するための処理ということができる。すなわち、物体30上の被測定面31に対する測定と、比較体40上の比較面41に対する測定とを全く同じ撮影条件で行っておき、両者の結果を比較するようにすれば、照度ムラを相殺した結果を得ることができる。
既に§3で説明したとおり、ステップS5の補正処理では、物体撮影画像を構成する画素の画素値Poと、当該物体撮影画像と同一の撮影条件で得られた比較体撮影画像の対応する位置にある画素の画素値Prと、当該撮影条件における基準入射角θLs(図8参照)と、に基づいて、
Pc=cosθLs・Po/Pr
なる演算を行うことにより、画素値Pcをもった画素から構成される補正画像が求められる。ここで、「Po/Pr」なる除算項は、物体30に対する測定結果と比較体40に対する測定結果とを比較するための演算項である。このような除算により、照度ムラの相殺が可能になることは、次のようなモデルを考えれば、容易に理解できよう。
いま、図14(a) に示すように、点光源Gにより物体30の上面を照明している状態において、各参照点S1,S2,S3の照度を考える。このモデルは、図13に示すモデルと同じものであり、上述したとおり、各参照点の照度は、一般的には、参照点S1,S2,S3の順番に小さくなってゆく。そこで、ここでは説明の便宜上、各参照点S1,S2,S3の照度を、図14(a) に示すとおり、照度値10,8,6という数値で示すことにする。
これらの照度値は、各参照点S1,S2,S3に照射される照明光のエネルギーに相当するものである。そして、ステップS3の物体撮影段階やステップS4の比較体撮影段階で撮影される画像の各参照点位置に対応する画素の画素値は、各参照点S1,S2,S3からの反射光の強度値に対応したものとなる。結局、撮影画像上の画素の画素値は、各参照点S1,S2,S3の照度値に所定の反射率を乗じた値に対応する。
そこで、まず、物体30として、均質物体35(全面にわたって反射率が一定の物体)を用いた場合に、各参照点位置から得られる反射光の強度値を考えてみる。ここでは、図14(b) に示すように、この均質物体35の参照点S1,S2,S3における反射率がいずれも50%であるものとする。この場合、各参照点S1,S2,S3からの反射光強度は、それぞれの照度値に50%を乗じたものとなるので、図14(b) に示すとおり、5,4,3という値になる(これらの値は、上述の式における画素値Poに対応する)。
一方、全く同じ撮影条件で、比較体40を撮影した場合を考える。ここでは、図14(c) に示すように、この比較体40の参照点S1,S2,S3における反射率がいずれも100%であるものとする。この場合、各参照点S1,S2,S3からの反射光強度は、それぞれの照度値に100%を乗じたものとなるので、図14(c) に示すとおり、10,8,6という値になる(これらの値は、上述の式における画素値Prに対応する)。したがって、「Po/Pr」なる除算を行うと、その結果は、図14(b) の上方に示すとおり、いずれも50%となる。これは、各参照点S1,S2,S3に照度ムラがあるにもかかわらず、当該照度ムラの影響が相殺され、各参照点S1,S2,S3の位置における正しい反射率が求まったことを示している。
次に、物体30として、不均質物体36(全面にわたって反射率が一定ではない物体)を用いた場合に、各参照点位置から得られる反射光の強度値を考えてみる。ここでは、図14(d) に示すように、この不均質物体36の参照点S1,S2,S3における反射率が、それぞれ50%,25%,50%であるものとする。この場合、各参照点S1,S2,S3からの反射光強度は、それぞれの照度値に、それぞれ50%,25%,50%を乗じたものとなるので、図14(d) に示すとおり、5,2,3という値になる(これらの値は、上述の式における画素値Poに対応する)。
一方、全く同じ撮影条件で、比較体40を撮影した場合を考える。ここでも、図14(e) に示すように、この比較体40の参照点S1,S2,S3における反射率がいずれも100%であるものとする。この場合、各参照点S1,S2,S3からの反射光強度は、それぞれの照度値に100%を乗じたものとなるので、図14(e) に示すとおり、10,8,6という値になる(これらの値は、上述の式における画素値Prに対応する)。したがって、「Po/Pr」なる除算を行うと、その結果は、図14(d) の上方に示すとおり、それぞれ50%,25%,50%となる。これは、やはり、各参照点S1,S2,S3に照度ムラがあるにもかかわらず、当該照度ムラの影響が相殺され、各参照点S1,S2,S3の位置における正しい反射率が求まったことを示している。
なお、実際には、各参照点S1,S2,S3ごとに照度ムラが生じるだけでなく、各参照点S1,S2,S3からカメラに向かう反射光についても、同様の理由により、強度にムラが生じることになる。たとえば、各参照点S1,S2,S3からカメラに向かう反射光の強度が全く同じであったとしても、反射光がカメラに入射する角度に差があり、また、反射光の光路長にも差があるため、撮影画像上では、各参照点S1,S2,S3に対応する画素の画素値は等しくならない。しかしながら、上述したプロセスによる補正を行えば、各参照点S1,S2,S3ごとの照明光による照度ムラの影響が相殺されるだけでなく、反射光の強度ムラの影響も相殺されることになる。
このように、「Po/Pr」なる除算により、照明光による照度ムラや反射光による強度ムラの影響を相殺することができるが、このような除算による相殺を行った副作用として、複数の撮影条件間の相対的な反射特性の相違までもが相殺されてしまうことになる。たとえば、図8に示す撮影系において、基準入射角θLs=15°なる撮影条件と、基準入射角θLs=75°なる撮影条件とでは、他の条件が同一でも、異なる撮影画像が得られるべきである。一般的には、基準入射角θLsが小さいほど、被測定面31の各部の照度は大きくなるので、明るい撮影画像が得られるべきである。ところが、「Po/Pr」なる除算を行うことにより、撮影画像上の画素値の比がとられることになるので、基準入射角θLsの相違によって生じる明度の差までもが相殺されてしまうことになる。
ステップS5の補正処理で行われる「Pc=cosθLs・Po/Pr」なる演算の「cosθLs」は、このような問題を解決するための補正項である。基準入射角θLsが0°の場合は、Pc=Po/Prになるが、基準入射角θLsが大きくなるにしたがって、cosθLsの値は徐々に小さくなってゆき、画素値Pcが小さくなる。このため、基準入射角θLsの相違によって生じる明度差が反映された結果が得られるようになる。
なお、上述の演算は、実用上、コンピュータによるデジタル演算として行われることになるので、もし上記演算式における分母Prが0となるようなケースが生じる可能性がある場合には、何らかの対応をとる必要がある。たとえば、物体撮影段階および比較体撮影段階で、カメラで撮影した画像情報に基づいて、0,1,2,3,…,Hなる量子化された画素値(但し、Hは画素値の最大値)を有する画像を求める場合であれば、もし、比較体撮影画像を構成する画素値Prのうち、画素値0をもった画素が存在するときには、当該画素の画素値を1に修正する処理を行うような対応を行えばよい。具体的には、画素値を8ビットのデータで表現する場合、H=255となり、画素値は0〜255の間の値をとることになるが、もし比較体撮影画像の画素値Pcが0になってしまうような場合には、当該画素値Pcを1に置換して除算処理を行うようにすればよい。
もっとも、実用上、比較体40としては、前述したように、表面に硫酸バリウム層を有する市販の完全拡散板など、ほぼ100%の拡散反射特性を有する白色体を用いるようにするのが好ましい。このような白色体を用いれば、比較体撮影画像の画素値Pcが0になるようなケースは、実用上、ほとんど起こり得ないケースと言える。
以上、図6に示す流れ図におけるステップS5で行われる補正処理の物理的な意味を説明してきたが、この説明からわかるとおり、図6の流れ図に従って求めた反射特性データは、厳密な意味では、正しい反射特性データにはなっていない。なぜなら、ステップS2で設定した撮影条件が示す角度「θLs,φLs,θVs,φVs」は、いずれも基準点Sを基準として定めた代表角度となっているためである。
たとえば、図8の撮影系において、「θLs=45°,φLs=120°,θVs=15°,φVs=300°」という特定の撮影条件を定め、物体撮影画像と比較体撮影画像とを得たものとしよう。この場合、得られた物体撮影画像および比較体撮影画像は、基準点Sの位置に関しては、正しい反射特性を示しており、最終的に得られる補正画像も、基準点Sの位置に関しては、正しい反射特性を示すものになる。すなわち、この補正画像の基準点Sの位置の画素の画素値は、「基準点Sの位置に、θLs=45°,φLs=120°なる向きで照明光を照射したときに、φLs=120°,φVs=300°という方向に射出される反射光の強度」を示すものになる。ところが、基準点Sから外れた位置に関しては、これらの角度値は誤差を含むことになる。
具体的には、図14(a) に示すモデルにおいて、参照点S2が基準点Sであった場合を考えればよい。この場合、照明光L2が基準照明光ということになるので、基準入射角θLs=θL2となる。撮影条件は、この基準入射角θLsによって参照されることになるので、この条件で撮影された画像上の情報は、すべて基準入射角θLs(=θL2)の方向から照明光を照射した場合の情報として取り扱われる。しかしながら、実際には、参照点S1に関する情報は、基準入射角θLs(=θL2)ではなく、入射角θL1で照明光が入射したときの情報となっており、参照点S3に関する情報は、基準入射角θLs(=θL2)ではなく、入射角θL3で照明光が入射したときの情報となっている。これは、基準反射角VLsに関しても全く同様であり、また、方位角φLs,φVsに関しても全く同様である。
結局、「θLs=45°,φLs=120°,θVs=15°,φVs=300°」という特定の撮影条件による撮影によって得られた画像は、基準点Sに関しては、この角度どおりの入射および反射条件下での反射特性を示しているが、それ以外の点に関しては、これらの角度値は誤差を含んだものとなる。たとえば、本発明に係る方法で作成された反射特性データにおいて、基準点Sから外れた特定の位置に関して、「θLs=45°,φLs=120°,θVs=15°,φVs=300°」なる角度パラメータに対応する反射特性として、何らかの反射率Kが定義されていても、実際には、当該反射率Kは、「θLs=44°,φLs=121°,θVs=16°,φVs=299°」に対応する反射率である、といった事象が起こることになる。基準点Sを物体の中心位置に定義した場合、物体の周囲にゆくほど、このような角度に関する誤差は大きくなる。
しかしながら、このような誤差は、実用上、大きな支障にはならない。本発明の目的は、与えられた物体の反射特性を正確に測定することにあるわけではなく、実在の物体に対する実測を行うことにより、レンダリング処理に利用するための高次元反射特性データを効率的に作成することにある。したがって、本発明により作成された反射特性データに、上述した角度値の誤差が含まれていたとしても、レンダリング処理に利用する上で大きな支障がなければ問題はない。実際、本願発明者は、パイル地などのいくつかの実在の素材を測定対象物体として用い、本発明に係る方法により反射特性データを作成し、この反射特性データを高次元テクスチャデータとして用いたレンダリング処理を行ったが、いずれも元の素材の風合いが十分に表現された結果が得られている。
このように、本発明では、基準点Sに対する照明光および反射光の角度を代表として、撮影条件の設定を行うため、基準点Sから外れた位置については、この撮影条件が示す角度に関して誤差が生じることは避けられない。別言すれば、このような角度誤差が生じることを許容する代償として、被測定面31全体に関する情報を、1枚の撮影画像という形で効率的に採取できるというメリットを得ているのである。
もっとも、このような角度誤差は、後の処理で補正することも可能である。原理的には、反射特性データ作成段階で、被測定面31の特定位置における反射特性データに対して、この特定位置と基準点Sとの位置関係に基づく誤差補正を行うようにすればよい。このような誤差補正は、必ずしもすべてのケースで可能になるわけではないが、たとえば、照明光の入射角の変化によって、反射光強度がどの程度変化するかを予測できるような素材の場合、この予想に基づいて誤差補正を行うことは可能である。特定位置と基準点Sとの距離は、一義的に求めることができる。そして、当該距離に応じて、入射角や反射角にどの程度の誤差が生じるかも、光源やカメラの配置に基づいて計算することができる。したがって、この入射角や反射角の誤差に応じて、反射光強度がどの程度変化するかを予測し、これを補正するような処理を行えば、より厳密な反射特性データを得ることが可能である。
<<< §5.本発明に係る反射特性データの作成装置 >>>
最後に、本発明に係る反射特性データの作成装置の基本構成を、図15のブロック図を参照しながら説明する。この作成装置は、§3で述べた反射特性データの作成方法を実行するために用いる装置であり、物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、当該所定位置から所定の射出方向に向かう反射光の反射率を、被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義した反射特性データを作成する機能をもった装置ということになる。
図示のとおり、この作成装置は、支持対象物100(図では、便宜上、ハッチングを施して示してある)を支持する支持台110と、支持対象物100に照明光を照射する光源120と、支持対象物100の画像を撮影するカメラ130と、光源120・支持対象物100・カメラ130という三者相互の位置関係を調節する位置調節手段140と、この位置調節手段140を制御することにより、三者相互の位置関係によって定まる撮影条件を複数通りに変化させる撮影条件設定手段150と、カメラ130から出力される複数通りのデジタル画像データに対して所定の演算を施すことにより、物体の反射特性データを求める演算処理手段160と、によって構成されている。
支持台110は、支持対象物100を支持することができる構造物であれば、どのようなもので構成してもかまわない。ここで、支持対象物100は、§3で述べた手順における物体30および比較体40に相当するものである。図6の流れ図におけるステップS3の物体撮影段階を実行する際には、物体30を支持対象物100として支持台110の上に配置することになり、図6の流れ図におけるステップS4の比較体撮影段階を実行する際には、比較体40を支持対象物100として支持台110の上に配置することになる。なお、この支持台110は、その姿勢が可変となるような構造を採用している。具体的には、この実施例の場合、支持対象物100の上面の中心位置(基準点Sの位置)に原点を定義したときに、図に示すX軸(紙面垂直方向)およびY軸(図の右方向)に関して、支持台110が回動自在となるような構成となっている。
光源120としては、点光源を用いるのが好ましい。具体的には、たとえば、ハロゲンランプなどの光発生手段によって発生させた光を、光ファイバの一端からファイバ内部へと導き、この光ファイバの他端から球面波としての光を放出させる機能をもった点光源を用いるようにすればよい。
カメラ130としては、支持対象物100(物体30もしくは比較体40)の画像を撮影する機能をもっていれば、どのようなカメラを用いてもかまわない。もちろん、原理的には、フィルムを装填して用いる銀鉛カメラを用いることも可能である。しかし、実用上は、三原色RGBの各原色プレーンの集合からなるカラー画像を撮影する機能を有し、撮影したカラー画像をデジタルデータとしてそのまま出力することができるデジタルカメラ(デジタルビデオカメラを含む)を用いるのが好ましく、ここで述べる実施形態も、デジタルカメラを用いる例を前提としている。
なお、ここに示す実施形態では、カメラ130は、その光軸が基準点Sを通るような位置に固定されており、光源120は、支持対象物100に対して、仰角および方位角が可変となるように配置されている。これとは逆に、光源120を固定し、カメラ130が可変となるようにしてもかまわない。このように、支持台110については、その姿勢が可変となるようにし、光源120およびカメラ130のうちの一方についてはこれを固定し、他方についてはその位置および向きが可変となるようにすれば、前述した任意の撮影条件を実現することが可能になる。
位置調節手段140は、光源120・支持対象物100・カメラ130という三者相互の位置関係を調節するための手段である。すなわち、位置調節手段140は、支持台110の姿勢と、光源120の位置および向き(カメラ130を可変にした場合には、カメラ130の位置および向き)と、を調節する機能を有し、これらを調節することにより、三者相互の位置関係を所望の状態に設定することが可能になる。この位置調節手段140は、具体的には、リンク機構や歯車などの機械的構造体によって構成することができるが、ここでは詳しい構成例の提示は省略する。
撮影条件設定手段150は、この位置調節手段140を制御することにより、三者相互の位置関係によって定まる撮影条件を複数通りに変化させることができる。具体的には、光源120と支持対象物100との位置関係(§3で説明した例の場合、角度θLsおよびφLsの組み合わせで定まる)を複数m通りに変化させ、かつ、支持対象物100とカメラ130との位置関係(§3で説明した例の場合、角度θVsおよびφVsの組み合わせで定まる)を複数n通りに変化させることにより、合計(m×n)通りの撮影条件を設定する機能を有している。個々の支持対象物100(すなわち、物体30と比較体40)ごとに、かつ、個々の撮影条件ごとに、カメラ130による撮影がそれぞれ行われ、撮影された各画像がデジタル画像データとして出力されることになる。具体的な撮影条件の設定方法は、既に§3で述べたとおりである。
ここに示す実施形態の場合、撮影条件設定手段150とカメラ130とは連動して動作する構成となっている。したがって、撮影条件設定手段150が、位置制御手段140を制御することにより、光源120・支持対象物100・カメラ130という三者間が特定の位置関係になった時点で、カメラ130による撮影が行われ、続いて、撮影条件設定手段150により、位置制御手段140が制御され、光源120・支持対象物100・カメラ130という三者間の位置関係が更新され、再びカメラ130による撮影が行われ、…、というプロセスが必要な回数だけ自動的に連続して実行されることになる。§3で述べた具体的な実施形態の場合、合計5184通りの撮影条件が設定されたが、ここに示す実施形態の場合、オペレータが物体30を支持対象物100として支持台110の上にセットすると、この物体30に対して5184通りの撮影が自動的に行われることになる。オペレータが、続いて、比較体40を支持対象物100として支持台110の上にセットすると、この比較体40に対して、同様に5184通りの撮影が自動的に行われることになる。
こうして撮影された画像データは、演算処理手段160へと送信され、処理される。この演算処理手段160は、実際には、コンピュータによって構成されている。たとえば、一般的なパソコンに専用のプログラムを組み込むことにより、演算処理手段160を構成することができる。ここでは、説明の便宜上、この演算処理手段160を、複数の機能ブロックの集合として捉えることにし、画像入力部161,幾何変換部162,補正処理部163,反射特性データ作成部164の4つの構成要素からなる手段として説明する。
まず、画像入力部161は、カメラ130から与えられる撮影画像を入力する機能を果たす構成要素である。オペレータは、§3で説明した手順により、物体30を支持対象物100として用いた撮影によって得られた被測定面31についての(m×n)枚の物体撮影画像を撮影する操作を行い、更に、比較体40を支持対象物100として用いた撮影によって得られた比較面41についての(m×n)枚の比較体撮影画像を撮影する操作を行うことになる。画像入力部161は、こうして得られた(m×n)枚の物体撮影画像と、(m×n)枚の比較体撮影画像とを入力する。
幾何変換部162は、こうして画像入力部161によって入力された各画像を、基準点Sの位置に立てた法線Nの方向から特定の回転位置で撮影した場合に得られるであろう画像に変換する幾何変換処理を行う構成要素である。この幾何変換処理は、図9(a) 〜(f) に示すような画像を、図10(a) 〜(f) に示すような画像に変換する処理であり、既に§3で述べたとおりである。補正処理部163には、こうして幾何変換処理された後の画像が、物体撮影画像および比較体撮影画像として与えられることになる。なお、§3で述べたとおり、このような幾何変換は必須のものではないので、幾何変換を行わずに補正処理を実行する場合には、幾何変換部162を設ける必要はない。
補正処理部163は、図6の流れ図におけるステップS5の補正処理段階を実行する機能をもった構成要素である。すなわち、この補正処理部163では、物体撮影画像を構成する画素の画素値Poと、当該物体撮影画像と同一の撮影条件で得られた比較体撮影画像の対応する位置にある画素の画素値Prと、当該撮影条件において光源120内の代表点から支持対象物100上に定義された基準点Sに向かう基準照明光Lsの入射角として定義される基準入射角θLsと、に基づいて、
Pc=cosθLs・Po/Pr
なる演算を行うことにより、画素値Pcをもった画素から構成される補正画像を求める補正処理を、個々の撮影条件について行い、(m×n)枚の補正画像を得る処理が実行される。
最後の反射特性データ作成部164は、図6の流れ図におけるステップS6の反射特性データ作成段階を実行する機能をもった構成要素であり、補正処理部163から与えられる(m×n)枚の補正画像に基づいて、物体の反射特性データを作成する処理が実行される。この処理は、既に§3で説明したとおりである。かくして、演算処理手段160から、作成された反射特性データが出力されることになる。
ここに述べる実施形態の場合、補正処理部163では、個々の原色プレーンごとに補正処理が実行され、三原色RGBの各原色プレーンの集合からなる補正画像が求められ、反射特性データ作成部164により、個々の原色ごとの反射特性を示すデータが作成される。
なお、§4の最後で述べたとおり、このようにして作成された反射特性データは、厳密な意味では、正しい反射特性データにはなっておらず、基準点Sから外れた位置に関しては、角度値に誤差が含まれている。このような誤差を補正する必要があれば、反射特性データ作成部において、被測定面の特定位置における反射特性データに対して、この特定位置と基準点Sとの位置関係に基づく誤差補正を行うようにすればよい。