JP4888023B2 - 物体の反射特性データの作成方法および作成装置 - Google Patents

物体の反射特性データの作成方法および作成装置 Download PDF

Info

Publication number
JP4888023B2
JP4888023B2 JP2006270645A JP2006270645A JP4888023B2 JP 4888023 B2 JP4888023 B2 JP 4888023B2 JP 2006270645 A JP2006270645 A JP 2006270645A JP 2006270645 A JP2006270645 A JP 2006270645A JP 4888023 B2 JP4888023 B2 JP 4888023B2
Authority
JP
Japan
Prior art keywords
image
pixel
characteristic data
reflection characteristic
pixel value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006270645A
Other languages
English (en)
Other versions
JP2008090590A (ja
Inventor
和夫 松藤
直樹 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2006270645A priority Critical patent/JP4888023B2/ja
Publication of JP2008090590A publication Critical patent/JP2008090590A/ja
Application granted granted Critical
Publication of JP4888023B2 publication Critical patent/JP4888023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Description

本発明は、被写体を斜め方向から撮影することにより得られた撮影画像を、真上から見た状態の正則画像に変換する画像変換の技術に関し、特に、レンダリング用の高次元テクスチャデータ(反射特性データ)を作成する際に利用可能な画像変換技術に関する。
コンピュータの性能向上により、産業界の様々な分野でCG画像が利用されるようになってきている。たとえば、建築物、家具、自動車などの設計段階では、通常、多くのCG画像が利用されている。また、コンピュータを利用した製品のプレゼンテーションや映画などの種々の映像表現においても、物品の様々なCG画像が不可欠である。更に、最近では、商品カタログなどにも、実際の商品写真の代わりに、CG画像が利用される例も少なくない。
建築物、家具、自動車の内装部品などの物品データは、仮想物体の三次元データであるのに対して、提示用のCG画像は、通常、二次元画像として用意される。したがって、三次元の物品データを利用してCG画像を作成する際には、コンピュータ内に仮想物体の三次元データを取り込み、照明条件、視点位置、投影平面を設定した上で、三次元の仮想物体の二次元投影像を投影平面上に得るためのレンダリング処理が行われる。この処理は、基本的には、照明条件で定められた光源からの照明光が仮想物体の各部で反射して視点位置へ向かう現象をコンピュータ上でシミュレートするものであり、視点位置へ向かう反射光の強度を演算する処理ということができる。
また、仮想物体の表面に何らかの絵柄や模様を張り付けた表現を行いたい場合には、予め二次元のテクスチャデータを用意しておき、レンダリング時に、このテクスチャデータを物体データの表面にマッピングする処理が行われる。テクスチャデータは、基本的には、反射特性の分布を示す反射特性データであり、形式的には二次元の画像データとして与えられる。これを仮想物体の表面にマッピングすることにより、反射特性が部分ごとに異なる性質をもった物体を表現することが可能になる。
最近は、反射特性データとして、単なる二次元の画像データではなく、高次元画像データを用いる方法も提案されている。たとえば、下記の非特許文献1には、BTF(Bi-directional Texture Function)と呼ばれている6次元の関数で示されるテクスチャデータを用いるレンダリング処理が開示されている。このBTFは、光の入射方向や反射方向によって異なる反射特性を定義する関数であり、照明光の入射方向を示す2つの角度θL,φLと、反射光の射出方向を示す2つの角度θV,φVと、二次元uv座標系における座標値u,vという合計6個の変数(θL,φL,θV,φV,u,v)によって、特定の反射特性を定義する関数になる。
一方、実在の物体に近いテクスチャを表現するための手法として、当該実在の物体についての反射特性を実測し、この実測値に基づいて、反射特性データを作成する手法が知られている。たとえば、下記の特許文献1には、天然木の木目を撮影し、この撮影画像に基づいて、天然木の風合いをもった反射特性データを作成する手法が開示されている。このように、実在の物体についての反射特性を実測する場合、当該物体を様々な方向から撮影する必要があるが、これらの撮影画像に基づいて物体表面の反射特性データを作成するためには、任意方向から撮影した撮影画像を、真上から見た状態の正則画像に変換する処理が必要になる。このような画像変換処理は、幾何学的な演算によって行うことが可能である。たとえば、下記の特許文献2には、射影的正規化変換と呼ばれている画像変換処理の手法が開示されている。
G. Muller, J. Meseth, M. Sattler, R. Sarlette and R. Klein 2004, Acquisition, Synthesis and Rendering of Bidirectional Texture Functions. In Eurographics 2004 STAR-State of The Art Report 特開2002−071329号公報 特開平6−274649号公報
上述したとおり、BTFのような高次元画像データとして与えられる反射特性データを得るために、実在の物体についての反射特性を実測する手法を採る場合、物体を斜め方向から撮影することにより得られた撮影画像を、真上から見た状態の正則画像に変換する画像変換を行う必要がある。このような画像変換技術は、反射特性データを得る場合への利用に限られず、画像処理一般に広く適用可能な技術である。そして従来は、前掲の特許文献2に開示されているように、幾何学的な撮影条件に基づいて、射影的正規化変換と呼ばれている純然たる幾何学的な演算を利用した画像変換方法が専ら利用されてきた。
しかしながら、このような幾何学的な演算(撮影条件に基づく射影的正規化変換など)を利用した画像変換方法を、実在の物体についてのカメラ撮影で得られた実測画像データに適用した場合、精度の高い変換を行うことができないという問題がある。もちろん、幾何学的な演算を利用した画像変換方法を用いれば、理論上は正確な正則画像が得られるはずである。ところが、予め所定の幾何学的な撮影条件を設定し、実在の物体に対して当該撮影条件下で撮影を行ったとしても、実際には、設定どおりの正確な撮影条件下での撮影を行うことは困難である。すなわち、実在の物体を撮影する際には、物体に対するカメラの相対位置や向きに関する誤差、カメラの光軸のずれ、レンズの収差などの様々な要因が関与してくるため、実際に得られた撮影画像と、理想的な撮影条件から予測される撮影画像との間には、誤差が生じることになる。このため、実際に得られた撮影画像に対して、理想的な撮影条件に基づく幾何学的な画像変換処理を施すと、得られる正則画像は正確なものにはならない。
そこで本発明は、実在の物体を斜めから撮影することにより得られた撮影画像を、真上から見た状態の正則画像に正確に変換することが可能な画像変換方法および装置を提供することにより、物体の正確な反射特性データを作成することができる物体の反射特性データの作成方法および作成装置を提供することを目的とする。
(1) 本発明の第1の態様は、物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、所定位置から所定の射出方向に向かう反射光の反射率を、被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義したデータを、被測定面についての反射特性データとして作成する物体の反射特性データの作成方法において、
平面上に描かれた直線で構成される基準枠の内部に、被測定面を有する物体を載置する物体載置段階と、
光源と被測定面とカメラとが所定の位置関係になるような撮影条件を、光源と被測定面との位置関係を複数m通りに変化させ、かつ、被測定面とカメラとの位置関係を複数n通りに変化させることにより、合計(m×n)通り設定する撮影条件設定段階と、
設定された(m×n)通りの撮影条件のそれぞれについて、光源によって照明されている被測定面の画像をカメラで撮影する撮影処理を実行することにより、(m×n)枚の物体撮影画像を得る物体撮影段階と、
(m×n)枚の物体撮影画像に対して、所定の画像変換方法を利用した画像変換を行い、(m×n)枚の正則画像を得る画像変換段階と、
(m×n)枚の正則画像に基づいて、物体の反射特性データを作成する反射特性データ作成段階と、
を行うようにし、
上記所定の画像変換方法として、
基準枠の内部に配置された被写体を、所定方向から撮影することにより得られる撮影画像を、平面上の基準点に立てた法線方向から見た正則画像に変換する画像変換方法であって、
撮影画像もしくはこれに所定の加工処理を施した画像を、二次元xy座標系に所定の画素値をもった画素を配列してなる画像データとして入力する画像入力段階と、
xy座標系上の任意の直線を、座標軸に対する向きを示す変数ξと原点に対する変位を示す変数ρを用いて表わす表現形式を用い、画像データを構成する個々の画素について、当該画素の基準位置を通る直線群のそれぞれについての変数(ξ,ρ)の組合わせを求め、二次元ξρ座標系上に各変数対(ξ,ρ)に対応する座標点をプロットし、これら座標点の集合により構成される線グラフμを各画素ごとにξρ座標系上に求める線グラフ演算段階と、
ξρ座標系上に、各画素が同一の初期画素値を有する積算用二次元画素配列を定義し、この積算用二次元画素配列上に、画像データを構成する第i番目の画素Piについて求められた線グラフμiを重ね合わせ、この線グラフμi上もしくはその近傍に位置する画素の画素値に、画素Piのもつ画素値を積算する処理を、第1番目の画素から第N番目の画素まで(但し、1≦i≦N、Nは画像データに含まれる画素配列上の全画素数)繰り返し実行する画素値積算段階と、
撮影画像を得る際の幾何学的な撮影条件に基づいて、xy座標系上に配置された撮影画像上に現れるであろう基準枠の像の位置を、幾何学的な演算によって予測する基準枠位置予測段階と、
予測された基準枠の像を構成する各直線を示す変数(ξ,ρ)の組合わせについて、積算用二次元画素配列上に対応する座標点をそれぞれ幾何学的予測点εとしてプロットし、各幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素の基準位置を、対応する直線についての実測上予測点と決定する実測上予測点決定段階と、
二次元xy座標系上に、各実測上予測点の座標値(ξ,ρ)によって表わされる直線を描き、これらの直線の位置を正しい基準枠の像の位置として取り扱い、幾何学的な演算によって撮影画像を正則画像に変換する正則変換段階と、
を有する方法を行うようにしたものである。
(2) 本発明の第2の態様は、上述の第1の態様に係る物体の反射特性データの作成方法において、
所定領域の内部と外部とのコントラスト差による境界線からなる基準枠を用いた撮影により撮影画像が得られた場合に、
画像入力段階で、撮影画像に対して微分処理を施して得られる微分画像を画像データとして入力するようにしたものである。
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る物体の反射特性データの作成方法において、
線グラフ演算段階で、xy座標系上の任意の直線に、xy座標系の原点Oから垂線を下し、その足を点Fとしたときに、xy座標系の一軸と線分OFとのなす角度をξ、線分OFの長さをρで表わし、2つの変数ξ,ρにより直線を表わす表現形式を用いるようにしたものである。
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る物体の反射特性データの作成方法において、
画素値積算段階で、線グラフμ上に位置する画素の画素値に、画素Piのもつ画素値を積算するとともに、線グラフμから所定の近傍距離dだけ離れた画素の画素値に、画素Piのもつ画素値に近傍距離dに応じた所定割合R(0≦R≦1の範囲をとり、近傍距離dが大きくなるほど小さくなる値)を乗じた値を積算するようにしたものである。
(5) 本発明の第5の態様は、上述の第4の態様に係る物体の反射特性データの作成方法において、
所定割合Rを、線グラフμの位置を中心としてガウス分布をとるように設定したものである。
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る物体の反射特性データの作成方法において、
線グラフ演算段階で、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ線グラフを求める演算を実行し、
画素値積算段階で、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ画素値の積算処理を実行するようにしたものである。
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る物体の反射特性データの作成方法において、
線グラフ演算段階で、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ線グラフを求める演算を実行し、
画素値積算段階で、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ画素値の積算処理を実行するようにしたものである。
(8) 本発明の第8の態様は、上述の第1〜第7の態様に係る物体の反射特性データの作成方法において、
基準枠位置予測段階で、撮影画像を得る際の幾何学的な撮影条件として、基準点に立てた法線と撮影装置の光軸とのなす角θと、光軸の「基準枠が描かれた平面」への投影像と基準点を通り「基準枠が描かれた平面」に含まれる所定の基準線ζとのなす角φと、撮影装置の光学系の焦点距離と、に基づく幾何学的な演算により基準枠の像の位置を予測するようにしたものである。
(9) 本発明の第9の態様は、上述の第1〜第8の態様に係る物体の反射特性データの作成方法において、
実測上予測点決定段階で、幾何学的予測点εについての所定の近傍領域として、幾何学的予測点εの座標値を(ξε,ρε)としたときに、所定の偏差Δξ,Δρを用いて、ξε−Δξ≦ξ≦ξε+Δξ、ρε−Δρ≦ρ≦ρε+Δρなる条件を満たす座標値(ξ,ρ)で示される領域を設定するようにしたものである。
(10) 本発明の第10の態様は、上述の第1〜第9の態様に係る物体の反射特性データの作成方法において、
実測上予測点決定段階で、幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素が複数存在した場合には、これら複数の画素の基準位置の重心位置を、対応する直線についての実測上予測点と決定するようにしたものである。
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る物体の反射特性データの作成方法において、
実測上予測点決定段階で、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、正則画像への画像変換に失敗した取り扱いを行うようにしたものである。
(12) 本発明の第12の態様は、上述の第1〜第11の態様に係る物体の反射特性データの作成方法において、
矩形を示す基準枠を用いた撮影により撮影画像が得られた場合に、
正則変換段階で、基準枠の像を構成する矩形の4頂点の位置に基づく幾何学的な演算により正則画像への変換を行うようにしたものである。
(13) 本発明の第13の態様は、上述の第1〜第12の態様に係る物体の反射特性データの作成方法において、
特定の物体撮影画像を正則画像に変換する画像変換段階における実測上予測点決定段階で、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、当該物体撮影画像に関する正則画像への画像変換に失敗した取り扱いを行い、
画像変換に失敗した取り扱いが行われた物体撮影画像についての正則画像を、撮影条件が近似する別な物体撮影画像についての正則画像に基づく補間により求めるようにしたものである。
(14) 本発明の第14の態様は、物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、所定位置から所定の射出方向に向かう反射光の反射率を、被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義したデータを、被測定面についての反射特性データとして作成する物体の反射特性データの作成装置において、
上面が平面をなし、この平面上に直線で構成される基準枠が描かれている撮影用ステージと、
撮影用ステージ上に載置された物体を照明するための光源と、
撮影用ステージ上に載置された物体を撮影するためのカメラと、
光源と物体の被測定面との位置関係を複数m通りに変化させ、かつ、被測定面とカメラとの位置関係を複数n通りに変化させることにより撮影条件を設定する撮影条件設定部と、
所定の画像変換装置と、
を設け、
前記所定の画像変換装置は、
基準枠の内部に配置された被写体を、所定方向から撮影することにより得られる撮影画像を、平面上の基準点に立てた法線方向から見た正則画像に変換する画像変換装置であって、
撮影画像もしくはこれに所定の加工処理を施した画像を、二次元xy座標系に所定の画素値をもった画素を配列してなる画像データとして入力する画像入力部と、
xy座標系上の任意の直線を、座標軸に対する向きを示す変数ξと原点に対する変位を示す変数ρを用いて表わす表現形式を用い、画像データを構成する個々の画素について、当該画素の基準位置を通る直線群のそれぞれについての変数(ξ,ρ)の組合わせを求め、二次元ξρ座標系上に各変数対(ξ,ρ)に対応する座標点をプロットし、これら座標点の集合により構成される線グラフμを各画素ごとにξρ座標系上に求める線グラフ演算部と、
ξρ座標系上に、各画素が同一の初期画素値を有する積算用二次元画素配列を定義し、この積算用二次元画素配列上に、画像データを構成する第i番目の画素Piについて求められた線グラフμiを重ね合わせ、この線グラフμi上もしくはその近傍に位置する画素の画素値に、画素Piのもつ画素値を積算する処理を、第1番目の画素から第N番目の画素まで(但し、1≦i≦N、Nは画像データに含まれる画素配列上の全画素数)繰り返し実行する画素値積算部と、
撮影画像を得る際の幾何学的な撮影条件に基づいて、xy座標系上に配置された撮影画像上に現れるであろう基準枠の像の位置を、幾何学的な演算によって予測する基準枠位置予測部と、
予測された基準枠の像を構成する各直線を示す変数(ξ,ρ)の組合わせについて、積算用二次元画素配列上に対応する座標点をそれぞれ幾何学的予測点εとしてプロットし、各幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素の基準位置を、対応する直線についての実測上予測点と決定する実測上予測点決定部と、
二次元xy座標系上に、各実測上予測点の座標値(ξ,ρ)によって表わされる直線を描き、これらの直線の位置を正しい基準枠の像の位置として取り扱い、幾何学的な演算によって撮影画像を正則画像に変換する正則変換部と、
を有し、
カメラで撮影された撮影画像が画像変換装置の画像入力部へ与えられるように構成され、
画像変換装置によって変換された正則画像に基づいて、物体の反射特性データを作成する反射特性データ作成部を更に設けるようにしたものである。
(15) 本発明の第15の態様は、上述の第14の態様に係る物体の反射特性データの作成装置において、
線グラフ演算部が、xy座標系上の任意の直線に、xy座標系の原点Oから垂線を下し、その足を点Fとしたときに、xy座標系の一軸と線分OFとのなす角度をξ、線分OFの長さをρで表わし、2つの変数ξ,ρにより直線を表わす表現形式を用いるようにしたものである。
(16) 本発明の第16の態様は、上述の第14または第15の態様に係る物体の反射特性データの作成装置において、
画素値積算部が、線グラフμ上に位置する画素の画素値に、画素Piのもつ画素値を積算するとともに、線グラフμから所定の近傍距離dだけ離れた画素の画素値に、画素Piのもつ画素値に近傍距離dに応じた所定割合R(0≦R≦1の範囲をとり、近傍距離dが大きくなるほど小さくなる値)を乗じた値を積算するようにしたものである。
(17) 本発明の第17の態様は、上述の第16の態様に係る物体の反射特性データの作成装置において、
所定割合Rが、線グラフμの位置を中心としてガウス分布をとるように設定したものである。
(18) 本発明の第18の態様は、上述の第14〜第17の態様に係る物体の反射特性データの作成装置において、
線グラフ演算部が、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ線グラフを求める演算を実行し、
画素値積算部が、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ画素値の積算処理を実行するようにしたものである。
(19) 本発明の第19の態様は、上述の第14〜第18の態様に係る物体の反射特性データの作成装置において、
線グラフ演算部が、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ線グラフを求める演算を実行し、
画素値積算部が、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ画素値の積算処理を実行するようにしたものである。
(20) 本発明の第20の態様は、上述の第14〜第19の態様に係る物体の反射特性データの作成装置において、
基準枠位置予測部が、撮影画像を得る際の幾何学的な撮影条件として与えられた、基準点に立てた法線と撮影装置の光軸とのなす角θと、光軸の「基準枠が描かれた平面」への投影像と基準点を通り「基準枠が描かれた平面」に含まれる所定の基準線ζとのなす角φと、撮影装置の光学系の焦点距離と、に基づく幾何学的な演算により基準枠の像の位置を予測するようにしたものである。
(21) 本発明の第21の態様は、上述の第14〜第20の態様に係る物体の反射特性データの作成装置において、
実測上予測点決定部が、幾何学的予測点εについての所定の近傍領域として、幾何学的予測点εの座標値を(ξε,ρε)としたときに、所定の偏差Δξ,Δρを用いて、ξε−Δξ≦ξ≦ξε+Δξ、ρε−Δρ≦ρ≦ρε+Δρなる条件を満たす座標値(ξ,ρ)で示される領域を用いるようにしたものである。
(22) 本発明の第22の態様は、上述の第14〜第21の態様に係る物体の反射特性データの作成装置において、
実測上予測点決定部が、幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素が複数存在した場合には、これら複数の画素の基準位置の重心位置を、対応する直線についての実測上予測点と決定するようにしたものである。
(23) 本発明の第23の態様は、上述の第14〜第22の態様に係る物体の反射特性データの作成装置において、
実測上予測点決定部が、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、正則画像への画像変換に失敗した旨のメッセージを提示するようにしたものである。
(24) 本発明の第24の態様は、上述の第14〜第23の態様に係る物体の反射特性データの作成装置において、
撮影用ステージの上面に、物体を載置するための矩形を形成し、この矩形の内部領域と外部領域とはコントラストに差が生じるように構成し、両領域の境界線によって基準枠が構成されるようにし、
カメラで撮影された撮影画像に対して微分処理を実行する微分処理部を更に設け、微分処理後の画像が画像入力部へ与えられるように構成し、
正則変換部が、基準枠の像を構成する矩形の4頂点の位置に基づく幾何学的な演算により正則画像への変換を行うようにしたものである。
(25) 本発明の第25の態様は、上述の第14〜第24の態様に係る物体の反射特性データの作成装置において、
実測上予測点決定部が、近傍領域内の最大画素値が所定のしきい値に満たない、もしくは最小画素値が所定のしきい値を超えてしまうと判断した場合には、正則画像への画像変換に失敗した旨のエラー信号を出力し、
反射特性データ作成部が、エラー信号が出力されたために画像変換装置からは得られなかった正則画像を、撮影条件が近似する別な物体撮影画像についての正則画像に基づく補間により求めるようにしたものである。
本発明に係る画像変換の手法を利用すれば、実在の物体を斜めから撮影することにより得られた撮影画像を、真上から見た状態の正則画像に正確に変換することが可能になる。これにより、レンダリング用の高次元テクスチャデータなど、物体の正確な反射特性データを作成することができるようになる。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §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上には、αβ二次元座標系が定義されており、投影画像15(レンダリング処理の目的物として得られる二次元画像)は、このαβ座標系上の画像データとして得られることになる。
いま、図示のとおり、仮想物体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のどの座標に対応するかを定め、当該対応座標(u,v)に位置する画素T(u,v)を決定する。そして、この対応画素T(u,v)の画素値として定義されている値が、サンプル点Qの位置における反射係数Kになる。
テクスチャデータ20として、カラー画像を用いる場合は、個々の原色ごとに、それぞれ所定の反射係数が定義される。すなわち、uv座標系上に定義された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の法線Nに対する角度を示すものである。図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通りの方向から入射する照明光の方位角が描かれている(基準線ζは0°の位置に定義されている。)。すなわち、図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次元画像として表現される反射特性データを用意する必要がある。実在の物体に基づく測定により、このような高次元の反射特性データを作成するには、たとえば、実在のパイル地の生地を用意し、この生地の表面の反射特性を様々な幾何学的な撮影条件下で撮影し、得られた複数の撮影画像に基づいて、反射特性データを作成すればよい。
具体的な撮影条件としては、光源、物体、カメラという三者の位置関係を設定すればよい。すなわち、1つの撮影条件は、この三者が所定の位置関係にあることを示す条件ということになる。より具体的には、1つの撮影条件は、光源と物体との位置関係と、カメラと物体との位置関係と、の組み合わせにより定義される。
図6は、様々な撮影条件下での撮影を行うための撮影系の一例を示す斜視図である。この例では、撮影用ステージ30の上面(平面)にシート状の物体40(たとえば、パイル地などの布片)を載置した状態が示されている。この物体40の上面W(被測定面)に対する撮影を行うために、光源50およびカメラ60が図のように配置されている。ここでは、光源50として点光源を用いている。また、光源50、物体40、カメラ60という三者の位置関係を幾何学的に定義するために、光源50内に代表点51を定義し、物体40の上面Wの中心位置に基準点Sを定義している。点光源は、理論上は幾何学的な1点から球面波として光を発生させる光源であるが、実際には、有限の体積を有する発光体であるので、その中に代表点51を定義して取り扱うことにする。代表点51も基準点Sも、位置定義の基準を示すための幾何学的な点であり、理論的には任意の位置に定義することができるが、実用上は、それぞれの中心位置に定義するのが好ましい。したがって、図示の例では、光源50の中心位置に代表点51が定義されており、物体40の上面Wの中心位置に基準点Sが定義されている。
ここで、カメラ60は、その光軸上に基準点Sが位置するような向きに配置することにする。また、代表点51から基準点Sに向かう照明光を基準照明光Lsと呼び、基準点Sからカメラ60の光軸方向に射出する反射光を基準反射光Vsと呼ぶことにする。更に、基準点Sの位置において、物体40の上面Wに対する法線Nを立て、この上面Wを基準面Wと呼び、この基準面W上への基準照明光Lsの投影像をLs′と呼び、基準面W上への基準反射光Vsの投影像をVs′と呼ぶことにする。
このような定義を行うと、光源50と物体40との位置関係は、基準点Sに入射する基準照明光Lsと法線Nとのなす角θLs(基準照明光Lsの入射角)と、基準照明光Lsの基準面W上への投影像Ls′と基準線ζsとのなす角φLs(基準照明光Lsの方位角)とによって定義することができる。同様に、物体40とカメラ60の位置関係は、基準点Sからカメラ60の光軸方向に射出する基準反射光Vsと法線Nとのなす角θVs(基準反射光Vsの反射角)と、基準反射光Vsの基準面W上への投影像Vs′と基準線ζsとのなす角φVs(基準反射光Vsの方位角)とによって定義することができる。
この定義は、図2に示すBTFモデルにおけるサンプル点Qに関する照明光Lと反射光Vの定義と共通している。ただ、図2に示す例は、図1に示すようなレンダリング処理を行う際に、三次元仮想物体10上のサンプル点Qの位置における照明光Lと反射光Vとの関係を示すためのものであるのに対し、図6に示す例は、実在の物体40上に定義された基準点Sに入射する基準入射光Lsと、そこから反射する基準反射光Vsとを基準にして、光源50,物体40,カメラ60という三者の位置関係を示すためのものということになる。
さて、図6に示す例の場合、角度θLsをa通り、角度φLsをb通りに変化させることにより、光源50と物体40との位置関係をm=(a×b)通りに変化させることができる。同様に、角度θVsをc通り、角度φVsをd通りに変化させることにより、物体40とカメラ60との位置関係を複数n=(c×d)通りに変化させることができる。結局、光源50,物体40,カメラ60という三者の位置関係としては、光源50と物体40との位置関係を複数m通りに変化させ、かつ、物体40とカメラ60との位置関係を複数n通りに変化させることにより、合計(m×n)通りの設定を行うことができ、個々の設定をそれぞれ固有の撮影条件と捉えれば、合計(a×b×c×d)通りの撮影条件を設定することができる。
ここに示す実施形態では、0〜90°の角度範囲をα等分し、a=c=αとすることにより、θLsの角度値およびθVsの角度値をそれぞれα通り設定し、0〜360°の角度範囲をβ等分し、b=d=βとすることにより、φLsの角度値およびφVsの角度値をそれぞれβ通り設定し、合計α×β通りの撮影条件を設定するようにしている。
具体的には、たとえば、α=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と物体40との位置関係は72通り(m=6×12通り)、物体40とカメラ60との位置関係も72通り(n=6×12通り)となり、全部で5184通りの撮影条件が設定されることになる。
結局、図6に示す例の場合、光源50と物体40とカメラ60とが所定の位置関係になるような撮影条件を、光源50と物体40との位置関係を複数m通りに変化させ、かつ、物体40とカメラ60との位置関係を複数n通りに変化させることにより、合計(m×n)通り設定することができる。
こうして設定された(m×n)通りの撮影条件のそれぞれについて、光源50によって照明されている物体40の画像をカメラ60で撮影すれば、合計(m×n)枚の撮影画像を得ることができる。上述の例の場合、合計5184通りの撮影条件に基づいて、合計5184枚の撮影画像が得られる。なお、実用上は、カメラ60としてカラー画像を撮影する機能をもったカメラを用いることにより、三原色RGBの各原色プレーンの集合からなるカラー画像が撮影されることになる。
このように、幾何学的に様々な条件下で撮影を行うと、撮影画像上における物体像の形状や大きさは様々なものになる。たとえば、物体40の上面(被測定面)が矩形の平面であったとすると、この被測定面を、基準点S(この矩形の中心点)の位置に立てた法線Nの方向から(図6において、角度θVs=0となる方向から)、特定の回転位置で(図6において、角度φVs=0°もしくは180°となる回転位置で)撮影した場合には、図7(a) に示すように、正則な矩形(画像の輪郭を構成する矩形の各辺に平行な4辺をもった矩形)の撮影画像が得られることになる。ところが、角度φVsを変化させた撮影条件では、図7(b) のように、回転がかかった矩形の画像が得られることになり、更に、角度θVsおよびφVsが任意の値をとる撮影条件では、図7(c) 〜(f) のように、様々な形状や大きさをもった画像が得られることになる。
しかしながら、ここで作成しようとしているテクスチャーデータ20(反射特性データ)は、図3に示すように、uv座標系上に正則なマトリックス状に配置された画素T(u,v)の集合体によって構成されていなければならない。そこで、前掲の特許文献2などに開示されている射影的正規化変換と呼ばれている幾何学的な画像変換処理の手法を用い、図7(a) 〜(f) に示されている個々の撮影画像を、それぞれ図8(a) 〜(f) に示されている正則画像に変換する。このような正則画像への変換処理は、角度θVsおよびφVsと、カメラ60の焦点距離と、に基づいて行うことが可能である。
図8(a) 〜(f) に示されている正則画像は、幾何学的には、いずれも図6に示す物体40を法線Nの方向から見た画像に相当する。もっとも、この図8(a) 〜(f) に示されている正則画像は、互いにそれぞれ異なった画像になる。たとえば、図8(c) に示す正則画像は、幾何学的には、物体40を法線Nの方向から見た画像に相当し、縦横の画素数は、図8(a) に示す正則画像と全く同じになる。しかしながら、図8(c) に示す正則画像は、物体40を法線Nの方向から撮影することにより得られた画像ではなく、斜めの方向から撮影することにより得られた画像であるから、当然、個々の画素値は、図8(a) に示す正則画像の個々の画素値とは異なる。このように、本願において「法線方向から見た正則画像」とは、「幾何学的な意味で法線方向から見た画像と同じ画素配列を有する画像」という意味であり、「法線方向からの撮影により得られる画像(たとえば、図8(a) )」を意味するものではない。
さて、各撮影画像に対して、このような画像変換処理を行うことにより、最終的に(m×n)枚の正則画像が得られたら、これら正則画像に基づいて、反射特性データを作成することができる。最終的に作成される反射特性データは、図3に示されているテクスチャデータ20のように、二次元画素配列上の個々の画素T(u,v)に、4つのパラメータ「θL,φL,θV,φV」の関数として定まる反射係数K(θL,φL,θV,φV)をそれぞれ定義したものである。これに対して、上記画像変換処理によって得られるデータは、上述の例の場合、5184枚の正則画像のデータである。そこで、この5184枚の正則画像のデータに基づいて、図3に示すような反射特性データを作成すればよい。
もっとも、この処理は、実体的な演算を伴う処理ではなく、単にデータを整理する処理というべきものである。たとえば、図3に示すテクスチャデータ20の画素T(u,v)には、角度「θL,φL,θV,φV」の関数として定まる反射係数K(θL,φL,θV,φV)が定義されている。そこで、撮影条件として設定した角度「θLs,φLs,θVs,φVs」を、それぞれ角度「θL,φL,θV,φV」とみなして、角度「θLs,φLs,θVs,φVs」という特定の撮影条件についての正則画像上の座標(u,v)の位置にある画素の画素値を、図3に示すテクスチャデータ20の画素T(u,v)についての角度「θL,φL,θV,φV」についての反射係数K(θL,φL,θV,φV)と定義する処理を行えばよい。
より具体的に説明すると次のようになる。たとえば、「θLs=45°,φLs=120°,θVs=15°,φVs=300°」という特定の撮影条件の下で撮影された撮影画像に基づいて、特定の正則画像が得られたとする。そして、この特定の正則画像上の座標(u,v)の位置にある画素の画素値がP(u,v)であったとする。この場合、図3に示すテクスチャデータ20の画素T(u,v)についての角度「θL=45°,φL=120°,θV=15°,φV=300°」についての反射係数K(45°,120°,15°,300°)の値を、P(u,v)とする定義がなされることになる。もちろん、この画素T(u,v)には、個々の角度の組み合わせのバリエーションに応じて全部で5184通りの反射係数Kが定義されることになるが、これらの反射係数Kは、得られた5184枚の正則画像上の座標(u,v)の位置にある画素の画素値ということになる。
かくして得られた反射特性データは、結局、物体40の所定位置に所定の入射方向から照明光を当てたときに、当該所定位置から所定の射出方向に向かう反射光の反射率を、個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義した反射特性データということになる。
なお、カラー画像の撮影を行った場合、個々の原色プレーンごとに正則画像への変換処理を実行することにより、三原色RGBの各原色プレーンの集合からなる正則画像を得るようにすればよい。
<<< §4.本発明における変換の基本原理 >>>
上述したとおり、図7(a) 〜(f) に示されている個々の撮影画像を、それぞれ図8(a) 〜(f) に示されている正則画像に変換する手法として、従来は、幾何学的な撮影条件(角度θVs,φVs,カメラ60の焦点距離)に基づく幾何学的な演算手法(射影的正規化変換)が利用されてきた。しかしながら、このような幾何学的な演算手法を、実在の物体についてのカメラ撮影で得られた実測画像データに適用しても、精度の高い変換を行うことはできない。その原因は、既に述べたとおり、予め所定の幾何学的な撮影条件を設定し、実在の物体に対して当該撮影条件下で撮影を行ったとしても、実際には、設定どおりの正確な撮影条件下での撮影を行うことが困難なためである。すなわち、図6に示す撮影系では、物体40に対するカメラ60の相対位置や向きに関する誤差、カメラ60の光軸のずれ、レンズの収差などの要因が関与してくるため、図7(a) 〜(f) に示す実際の撮影画像は、幾何学的な撮影条件(角度θVs,φVs,カメラ60の焦点距離)の下で得られる理想的な撮影画像に合致しないのである。
そこで、本発明では、基本的に別なアプローチを採り、より正確な正則画像への変換を実現している。本発明における変換の基本原理は、幾何学的な撮影条件を手掛かりとする代わりに、実際に得られた撮影画像上に残された手掛かりを用いて、当該撮影画像を正則画像へ変換する処理を行うことにある。
たとえば、図6に示す撮影系において、撮影用ステージ30上に載置された物体40が矩形状の輪郭を有する平面物体であったとしよう。この場合、この物体40を斜め方向から撮影することにより得られた撮影画像上には、たとえば、図9(a) に示すように、物体40の輪郭矩形の像として、四角形ABCDが写っているはずである。一方、この物体40を、法線Nの方向(真上)から撮影した場合には、撮影画像上には、図9(b) に示すような正則な四角形ABCDが写ることが予めわかっていたとする。そうすれば、図9(a) に示す四角形ABCDを図9(b) に示す四角形ABCDに変換することは、公知の幾何学的な演算手法(たとえば、前掲の射影的正規化変換)を用いて行うことができ、この演算手法を用いて、図9(a) に示す四角形ABCD内の任意の点Qについて、図9(b) に示す正則四角形ABCD内の対応点Qを求めることもできる。
このように、被撮影対象物上に基準枠として機能する矩形が存在すれば、撮影画像上に写っているこの基準枠の像の形状を手掛かりとして、従来の幾何学的な演算手法を適用することにより、当該撮影画像を正則画像に変換することが可能になる。もちろん、射影的正規化変換などの幾何学的な変換手法を用いる、という点に関しては、§3で述べた従来の画像変換方法と共通するが、従来の方法の場合、幾何学的な撮影条件を手掛かりとした変換が行われていたのに対し、本発明では、実際に得られた撮影画像上に写っている基準枠の像の形状を手掛かりとした変換が行われることになる。ある特定の撮影画像を正則画像に変換する処理を行う際に、当該撮影画像上に写っている基準枠の像を利用するため、非常に正確な変換処理が可能になる。すなわち、本発明では、撮影時において、設定どおりの理想的な撮影条件下で撮影が行われなかったとしても、何ら影響を受けることはない。
もっとも、被撮影対象物上の基準枠として、測定対象となる物体40自身を用いるのは好ましくない。上述の例では、物体40が矩形状の輪郭を有する平面物体であった例を示したが、実用上、測定対象となる物体40は様々な形態を有しており、必ずしも矩形状の輪郭を有しているとは限らない。そこで、実用上は、物体40を載置する撮影用ステージ30の上面に、矩形からなる基準枠を形成しておくようにするのが好ましい。
図10は、本発明に係る画像変換を利用するために用いる撮影用ステージ30の一例を示す平面図である。図示のとおり、撮影用ステージ30の上面には、矩形状の基準枠35が描かれている。この基準枠35は、4つの辺35A,35B,35C,35Dによって構成されており、被写体となる物体40は、図示のとおり、この基準枠35の内側に載置される。図11は、図10に示す撮影用ステージ30を用いた撮影により得られた撮影画像の一例を示す平面図である(撮影用ステージ30の輪郭像は図示省略)。この例は、撮影用ステージ30の斜め上方から撮影した例であり、基準枠35の像は、歪んだ四角形ABCDを構成している。もちろん、物体40の像の形状も歪んだものとなっている。
この図11に示すような撮影画像を正則画像に変換する目的は、物体40の像の歪みを修正することにあるが、そのような修正を行う上での手掛かりとして、基準枠35の像を構成する歪んだ四角形ABCDを利用するのである。すなわち、図10に示す撮影用ステージ30を真上から撮影したときに得られる撮影画像上で、基準枠35の像がどのような像(正則な四角形)になるかを予め確認しておけば、図9(a) に示す歪んだ四角形ABCDを図9(b) に示す正則四角形ABCDに変換したのと同じ幾何学的な手法(たとえば、射影的正規化変換)により、図11に示す撮影画像を正則画像に変換することができる。
これが、本発明における正則画像への画像変換処理の基本原理である。しかしながら、この原理に基づく画像変換処理を実際に行うためには、解決しなければならない重要な問題がある。それは、図11に示すような撮影画像上での基準枠35の像の認識である。図11では、説明の便宜上、基準枠35の像を単純な四角形ABCDとして示したが、正則画像への画像変換処理をコンピュータを利用した演算として実行するためには、四角形ABCDを構成する各辺35A,35B,35C,35Dを、コンピュータに直線として認識させてやる必要がある。
コンピュータを利用したデジタル画像処理を行う場合、撮影画像は多数の画素の配列からなるデータとして取り扱われる。したがって、図10に示す撮影ステージ30上に、どんなに精密な基準枠35を描いたとしても、図11に示すような撮影画像上では、この基準枠35の像は、単なる画素の集合体でしかない。したがって、コンピュータに幾何学的な四角形ABCDを認識させてやるためには、何らかのアルゴリズムに基づき、基準枠35の像を構成する画素を抽出し、直線認識を行う処理が必要になる。
しかも、図11に示すような撮影画像から四角形ABCDを認識させる処理は、実際には困難を伴う処理になる。これは、撮影画像上に写った基準枠35の像は、必ずしも連続した線になっていないためである。図6に示す撮影系を見ればわかるとおり、実際の撮影画像は、物体40,光源50,カメラ60の相対位置を様々に変えた条件下で撮影されることになるので、撮影条件によっては、撮影用ステージ30上に描かれた基準枠35が光の反射により不鮮明に写る可能性がある。実際、撮影画像上の基準枠35の像は、とぎれとぎれの線になることも少なくない。§2で述べた例の場合、種々の撮影条件下で撮影した画像が合計5184枚も得られることになり、これら個々の撮影画像ごとに、それぞれ基準枠35の像の形態、線のとぎれ方は異なるものになる。
結局、前述した本発明における正則画像への画像変換処理の基本原理を実用化するには、個々の撮影画像上で、基準枠35の像を構成する各辺35A,35B,35C,35Dを、コンピュータ上で直線として認識させる、という具体的な課題を解決する必要がある。本発明では、ハフ変換という直線認識の手法と、幾何学的な撮影条件を手掛かりとする従来の画像変換の手法とを組み合わせることにより、この課題を解決することに成功した。以下、この方法について詳述する。
<<< §5.ハフ変換の基本原理 >>>
ここでは、ハフ変換の基本原理を簡単に説明する。ハフ変換(Hough transform)は、不完全な画像情報から線の抽出を行うための方法であり、たとえば、「イメージプロセッシング<画像処理標準テキストブック>」 監修:画像処理標準テキストブック編集委員会、発行所:財団法人画像情報教育振興協会、発行日:平成9年2月25日、187〜190頁などに詳細な説明がなされている。
いま、図12(a) に示すような二次元xy座標系を定義し、この座標上に、図示のような1本の直線Laが存在するものとする。一般に、xy座標系上の任意の直線は、座標軸に対する向きを示す変数ξと原点に対する変位を示す変数ρを用いて表わすことができる。図示の例の場合、直線Laは、座標軸xに対する向きを示す変数ξaと原点Oに対する変位を示す変数ρaを用いて表わされている。すなわち、図12(a) に示す例では、xy座標系の原点Oから直線Laに対して垂線を下し、その足を点Fとしたときに、このxy座標系の一軸xと線分OFとのなす角度をξaとし、線分OFの長さをρaで表わし、2つの変数ξa,ρaにより、当該直線Laを表わす表現形式が用いられている。
このように、2つの変数(ξ,ρ)の組合わせが、xy座標上の1本の直線に一義的に対応することになるので、図12(b) に示すように、二次元ξρ座標系を定義すれば、このξρ座標上の任意の1点λは、xy座標上の特定の直線に対応する。図示の例では、図12(b) に示すξρ座標上の1点λa(ξa,ρa)は、図12(a) に示すxy座標上の直線Laに対応する。
そこで、図13(a) に示すように、xy座標上に点Pをとり、この点Pを通る3本の直線La,Lb,Lcを考える。すると、図13(b) に示すように、ξρ座標上には、これら3本の直線La,Lb,Lcに対応して、それぞれ点λa,λb,λcがプロットできる。xy座標上の点Pを通る直線は、3本だけではなく、実は無限に存在するので、この無限個の直線について、ξρ座標上にそれぞれ対応する点をプロットすれば、ξρ座標上には、無限個の対応点がプロットされることになり、この無限個の対応点によって1本の線グラフを描くことができる。すなわち、図14(a) に示すように、xy座標上に点Pを定義し、この点Pを通る無限個の直線群を考えると、当該直線群は、図14(b) に示すように、ξρ座標上に引かれた1本の線グラフμとして表現されることになる。
次に、図15(a) に示すように、xy座標上に4つの点P1,P2,P3,P4が存在する場合を考える。この場合、点P1を通る無限個の直線は、図15(b) に示すように、ξρ座標上での1本の線グラフμ1として表現することができる。同様に、点P2を通る無限個の直線は線グラフμ2として表現され、点P3を通る無限個の直線は線グラフμ3として表現され、点P4を通る無限個の直線は線グラフμ4として表現される。ここで、図15(b) に示すように、この4本の線グラフμ1〜μ4が共通の交点γを通る場合、当該交点γは、点P1を通る直線の1つに対応し、点P2を通る直線の1つに対応し、点P3を通る直線の1つに対応し、点P4を通る直線の1つに対応することになるので、結局、図15(a) に破線で示す直線L(4点P1〜P4のすべてを通る直線)に対応することになる。
かくして、ハフ変換の手法を利用すれば、図15(a) に示すように、xy座標上の4点P1〜P4に基づいて、これら4点を通る直線Lを決定することが可能になる。すなわち、4点P1〜P4のそれぞれについて、図15(b) に示すように、各点を通る無限個の直線群を示す線グラフμ1〜μ4をそれぞれξρ座標上に求め、その交点γのξ座標値およびρ座標値を求めれば、図15(a) に示す直線Lを一義的に決定することができる。したがって、xy座標上で、とぎれとぎれの不鮮明な線が与えられた場合でも、これを完全な直線に修復することが可能になる。
<<< §6.本発明に係る反射特性データの作成方法の基本手順 >>>
続いて、本発明に係る反射特性データの作成方法の基本手順を、図16の流れ図を参照しながら説明する。この図16に示す方法の概要は、既に§3で述べたとおりであり、その目的は、実在の物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、当該所定位置から所定の射出方向に向かう反射光の反射率を、被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義したデータを、被測定面についての反射特性データとして作成することにある。
まず、ステップS1の物体載置段階では、平面上に描かれた直線で構成される基準枠の内部に、被測定面を有する物体が載置される。具体的には、図10に示すように、矩形からなる基準枠35が描かれた撮影用ステージ30を用意し、この基準枠35の内部に、被測定面を有する物体40を載置すればよい。
続くステップS2の撮影条件設定段階では、図6に示すような撮影系において、光源50と被測定面(物体40)とカメラ60とが所定の位置関係になるような撮影条件を、光源50と被測定面(物体40)との位置関係を複数m通りに変化させ、かつ、被測定面(物体40)とカメラ60との位置関係を複数n通りに変化させることにより、合計(m×n)通り設定する作業が行われる。§3で述べた例の場合、角度θV,θLに関しては、図4に示すとおり、0°,15°,30°,45°,60°,75°という6通りの離散的定義を行い、角度φV,φLに関しては、図5に示すとおり、0°〜360°の範囲内の方位角を30°おきに合計12通りの定義を行い、m=72通り、n=72通り、合計5184通りの撮影条件を設定した。
次のステップS3の物体撮影段階では、図6に示す撮影系を用いて、設定された(m×n)通りの撮影条件のそれぞれについて、光源50によって照明されている物体40上の被測定面の画像をカメラ60で撮影する撮影処理を実行することにより、(m×n)枚の物体撮影画像を得る処理が行われる。こうして得られた物体撮影画像は、たとえば、図7に示すように、様々な方向から撮影した画像になる。
そして、ステップS4の画像変換段階では、得られた(m×n)枚の物体撮影画像に対する画像変換が行われ、(m×n)枚の正則画像が得られる。たとえば、図7に示すような物体撮影画像が、図8に示すような正則画像に変換されることになる。このステップS4の画像変換段階の処理は、本発明の本質的な特徴となるプロセスであり、別途、§7において詳細に説明する。
最後に、ステップS5の反射特性データ作成段階において、(m×n)枚の正則画像に基づいて、物体の反射特性データの作成が行われる。これは、§3で説明したとおり、(m×n)枚の正則画像の各画素値を整理して、図3に示すようなテクスチャデータ20の形式のデータを作成する処理である。なお、図16に示す各手順におけるステップS4,S5は、実際には、コンピュータによって実行される処理である。
<<< §7.本発明に係る正則画像への画像変換方法の基本手順 >>>
ここでは、図16の流れ図におけるステップS4の画像変換段階の基本手順、すなわち、本発明の特徴となる正則画像への画像変換方法の基本手順を詳述する。図17は、この画像変換段階の詳細な手順を示す流れ図であり、平面上に描かれた直線で構成される基準枠の内部に配置された被写体を、所定方向から撮影することにより得られる撮影画像を、当該平面上の基準点に立てた法線方向から見た正則画像に変換するための処理手順である。この図17の各ステップに示されている処理は、実用上、コンピュータによって実行されることになる。
まず、ステップS11は、画像入力段階の処理であり、図16のステップS3の物体撮影段階で撮影された画像が、所定の画素値をもった画素を配列してなる画像データとして入力されることになる。図6の撮影系におけるカメラ60として、デジタルカメラを用いるようにすれば、このデジタルカメラから出力される画像データをそのままコンピュータに取り込むようにすればよい。
ここでは便宜上、ステップS11で入力された撮影画像が、二次元xy座標系上に定義された画素配列から構成されているものとし、より具体的には、図18に示すような単純な画素配列からなる撮影画像が入力されたものとして、以下の説明を行うことにする。図18に示す撮影画像は、xy座標系上に縦横行列状に多数の画素を配置してなるデータであり、ここでは説明を単純化するため、個々の画素には、「0」もしくは「1」のいずれかの画素値が与えられているものとする。すなわち、図18に示す撮影画像は二値画像であり、図にハッチングを施して示す画素が画素値「1」をもつ画素(以下、黒画素と呼ぶ)であり、それ以外の画素が画素値「0」をもつ画素(以下、白画素と呼ぶ)である。ここでは、この図18に示す撮影画像が、合計N個の画素から構成されているものとし、左上隅の画素から順に、画素P1,P2,P3,…,PNと符号を付すことにする。なお、黒画素については、個々の画素の輪郭を示してあるが、白画素については、図が繁雑になるため、左上隅の白画素P1,P2,P3および右下隅の白画素PNを除き、個々の白画素の輪郭は省略してある(図18において、黒画素の背景となっている白地部分には、すべて白画素が配列されている)。
なお、ここでは、後述するように、撮影用ステージ30上に描かれた基準枠35の像から、当該基準枠35を構成する直線を認識する例を説明するため、図18に示す撮影画像は、基準枠35の撮影像の直線部分の一部のみを示す画像になっている。図18の黒画素を繋げてゆけば、1本の直線の存在が認識できるであろう。このようなとぎれとぎれの黒画素の分布に基づいて、1本の直線(基準枠35を構成する直線)を認識するために、§5で述べたハフ変換の原理が利用されることになる。もちろん、実際の撮影画像は、たとえば、図11に示す例のように、基準枠35を構成する4本の辺35A,35B,35C,35Dの像と物体40の像とが含まれた複雑な画素構成になるので、図18は、実際に得られる撮影画像の一部分のみを図示した例ということになる。
続いて、ステップS12において、積算用二次元画素配列の定義を行う。ここで、積算用二次元画素配列は、後述するステップS15において画素値の積算処理を行う際に用いられる画素配列であり、ξρ座標系上に定義された画素配列であるものとする。また、個々の画素は、いずれも初期画素値0を有しているものとする。このステップS12は、いわばステップS15で実行される画素値積算段階の準備段階というべき処理である。なお、ここで定義する積算用二次元画素配列のサイズは、直線を決定するための変数ξ,ρについて必要な精度を考慮して適宜設定すればよい。
ステップS13では、パラメータiが初期値1に設定され、ステップS14,S15の処理が、ステップS16を経て繰り返し実行される。このとき、毎回、ステップS17において、パラメータiが1ずつ増加更新される。ここで、パラメータiは、図18に示す撮影画像上の画素を示すパラメータであり、i=1の場合は第1番目の画素P1,i=2の場合は第2番目の画素P2,…,i=Nの場合は第N番目の画素PNを示すことになる。
ステップS14は、§5で述べたハフ変換を利用して、ξρ座標上の線グラフμを演算によって求める線グラフ演算段階の処理である。図12に示すとおり、xy座標系上の任意の直線Laは、座標軸に対する向きを示す変数ξaと原点Oに対する変位を示す変数ρaとを用いて表わすことができ、ξρ座標系上では、1点λaとして表わすことができる。このような表現形式を採れば、図14に示すとおり、xy座標系上の任意の1点Pを通る直線群は、ξρ座標系上では、1本の線グラフμとして表わすことができる。そこで、このステップS14では、ステップS11で入力した画像データを構成する1つの画素について、当該画素の基準位置を通る直線群のそれぞれについての変数(ξ,ρ)の組合わせを求め、二次元ξρ座標系上に各変数対(ξ,ρ)に対応する座標点をプロットし、これら座標点の集合により構成される線グラフμをξρ座標系上に求める処理が行われる。
すなわち、ステップS14の処理は、パラメータiを用いて説明すれば、第i番目の画素Piについて、ξρ座標系上に線グラフμiを求める処理ということができる。図19は、このようにしてξρ座標上に求められた線グラフμiの一例を示す平面図である。この図19に示すξρ座標系上の線グラフμiは、図18に示すxy座標系上の第i番目の画素Piの基準位置を通る直線群を示すグラフということになる(図14に示す線グラフμと点Pとの関係と同じ)。なお、ここで述べる実施形態の場合、「画素の基準位置」として、当該画素の中心点位置を採用するようにしているので、図19に示す線グラフμiは、図18に示す画素Piの中心点を通る直線群を表わすグラフということになる。もちろん、「画素の基準位置」としては、必ずしも中心点位置を採用する必要はなく、たとえば、画素の左上隅の位置などを基準位置として用いるようにしてもかまわない。
次のステップS15は、ステップS14で求められた線グラフμi上の画素(ξρ座標系上に定義された積算用二次元画素配列上の画素)の画素値に、画素Pi(図18に示すようなxy座標系上に配列されている第i番目の画素)の画素値を積算する画素値積算段階の処理である。既に述べたとおり、ステップS12の準備段階において、ξρ座標系上に、各画素が初期画素値0を有する積算用二次元画素配列が定義されている。また、ステップS14の線グラフ演算段階において、ξρ座標系上に、図19に示すような線グラフμiが求められている。ステップS15の処理は、ステップS12で準備した積算用二次元画素配列上に、ステップS11で入力した画像データを構成する第i番目の画素Piについて求められた線グラフμiを重ね合わせ、この線グラフμi上に位置する画素の画素値に、画素Piのもつ画素値を積算する処理ということになる。
図20は、図19に示すξρ座標上の線グラフμi上に位置する画素(ハッチング部分)を示す平面図である。ステップS15の処理は、図20にハッチングを施して示す画素の画素値に、図18に示す画素Piの画素値を積算する処理ということになる。ここに示す例の場合、図18に示す画素Piは、画素値「1」をもった黒画素であるから、図20にハッチングを施したすべての画素の画素値に、画素値「1」が積算されることになる。別言すれば、ξρ座標系上に定義された積算用二次元画素配列を構成する画素のうち、図20にハッチングを施して示す画素の画素値のみが「1」だけ増加することになる。
前述したとおり、ステップS14およびS15の処理は、ステップS16およびS17を経て、パラメータiを1ずつ増加させながら繰り返し実行される。図21は、図18に示す画素P(i+1)の画素値を積算させる処理を示す平面図である。図20に示す線グラフμiが、図18に示す画素Piの基準位置を通る直線群を示すグラフであったのに対し、図21に示す線グラフμ(i+1)は、図18に示す画素P(i+1)の基準位置を通る直線群を示すグラフであるため、ξρ座標上の被積算対象となる画素(図20,図21にハッチングを施して示す画素)は、それぞれ異なっている。ただ、図20と図21との双方においてともにハッチングが施された画素(線グラフμiとμ(i+1)との交点付近に位置する画素)は、図18に示す画素Piの基準位置と画素P(i+1)の基準位置との双方を通る直線に対応することになる。
図18に示す画素P1,P2,P3等は、画素値「0」をもった白画素であるから、これらに対応するξρ座標系上の線グラフμ1,μ2,μ3の上に位置する画素について、ステップS15で積算される画素値は「0」ということになる。したがって、ステップS14,S15の処理は、パラメータiが白画素に対応している場合(たとえば、i=1,2,3,…の場合)は実行する意味がない。結局、理論上は、ステップS14およびS15の処理は、ステップS16においてパラメータiがNに達するまで、合計N回(図18に示す第1番目の画素P1から第N番目の画素PNまで)繰り返し実行されることになるが、実用上は、ステップS14,S15の処理は、全N個の画素のうち、画素値「1」を有する黒画素についてのみ行えば足り、画素値「0」を有する白画素については実行する必要はない。
こうして、ステップS16において、パラメータiがNに達すると、ステップS16からステップS18へと進み、基準枠位置予測段階が実行される。この基準枠位置予測段階は、撮影画像を得る際の幾何学的な撮影条件に基づいて、xy座標系上に配置された撮影画像上に現れるであろう基準枠の像の位置を、幾何学的な演算によって予測する処理である。ステップS11で画像データとして入力された撮影画像は、§3で述べたとおり、特定の幾何学的な撮影条件の下で撮影された画像であり、理論的には、この撮影条件が正確に与えられれば、当該撮影条件のみに基づく幾何学的な演算により、撮影画像を正則画像に変換することが可能である。
具体的には、ここで述べる実施例の場合、図6に示すような撮影系を用いて撮影が行われているので(但し、撮影用ステージ30上には、図10に示すような矩形状の基準枠35が描かれている)、撮影画像を得る際の幾何学的な撮影条件として、
(1)基準点Sに立てた法線Nと撮影装置(図6のカメラ60)の光軸とのなす角θ(図6のθVs)、
(2)この光軸の「基準枠が描かれた平面」(図6の撮影用ステージ30の上面)への投影像(図6のVs′)と基準点Sを通り「基準枠が描かれた平面」に含まれる所定の基準線ζ(図6のζs)とのなす角φ(図6のφVs)、
(3)撮影装置(図6のカメラ60)の光学系の焦点距離、
を与えることが可能である。そこで、ステップS18の基準枠位置予測段階では、上記幾何学的な撮影条件に基づく幾何学的な演算により(実際には、この他にも、カメラの撮影倍率やCCD素子上の画素ピッチなどのカメラ側の撮影条件も考慮した演算がなされる。)、ステップS11で画像データとして入力された撮影画像上に現れるであろう基準枠35の像の位置を予測することが可能である。
この幾何学的演算は、図10に示すように、撮影用ステージ30を真上から見たときの基準枠35の位置および形状に基づいて、図11に示すように、撮影用ステージ30を斜め方向(上記撮影条件で示される方向)から撮影したときの基準枠35の位置および形状を予測する演算であり、一般に射影的正規化変換と呼ばれている公知の手法に基づく演算である。しかしながら、実際の撮影条件は理想的な撮影条件に対して誤差を生じるため、このステップS18の基準枠位置予測段階で求めた基準枠の像は、正しい基準枠の像とは必ずしも一致しない。既に述べたとおり、従来は、この基準枠位置予測段階で求めた基準枠の像が正しい基準枠の像であるとの前提で、撮影画像を正則画像へ変換する処理を行っていたため、正確な変換処理を行うことができなかったわけである。本発明では、このステップS18で求めた基準枠の像は、あくまでも基準枠が現れるであろう予測位置として取り扱われる。
続くステップS19では、パラメータjが初期値1に設定され、ステップS20,S21の処理が、ステップS22を経て繰り返し実行される。このとき、毎回、ステップS23において、パラメータjが1ずつ増加更新される。ここで、パラメータjは、基準枠を構成する直線を示すパラメータである。ここで述べる実施形態の場合、図10に示すとおり基準枠35は矩形であるため、合計4本の直線から構成されており、j=1,2,3,4の値をとることになる。たとえば、j=1の場合は辺35Aを示し、j=2の場合は辺35Bを示し、j=3の場合は辺35Cを示し、j=4の場合は辺35Dを示すことになる。また、ステップS22における判定基準Mは、この場合M=4ということになる。
ステップS20,S21は、実測上予測点決定段階の処理であり、ここでは、ステップS18において予測された基準枠35の像を構成する各直線を示す変数(ξ,ρ)の組合わせについて、積算用二次元画素配列上に対応する座標点をそれぞれ幾何学的予測点εとしてプロットし、各幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大の画素の基準位置を、対応する直線についての実測上予測点と決定する処理が行われる。
この実測上予測点決定段階の処理の意味するところを説明する前に、まず、積算用二次元画素配列を構成する個々の画素の画素値が意味するところを説明しておく。積算用二次元画素配列は、ステップS12において、ξρ座標系上に定義された画素配列であり、初期状態では、すべての画素の画素値は0に設定されている。ところが、ステップS13〜S16の処理を繰り返してゆくと、特定の画素の画素値は徐々に増加してゆく。そこで、各画素の画素値が、どのような場合に増加するのかをふりかえってみよう。
たとえば、図18に示す第i番目の画素Piについての積算処理では、図20にハッチングを施して示す各画素の画素値が1ずつ増加することになる。ここで、図20にハッチングを施して示す各画素は、線グラフμi上の画素であるから、これは、「xy座標上の画素Pi」の基準位置を通る直線群を示す「ξρ座標上の画素」ということになる。結局、ステップS15において、xy座標上の特定の黒画素の画素値「1」が積算されるξρ座標上の画素とは、当該特定の黒画素の基準位置を通る直線を示す画素であるから、図18に示すすべての黒画素の基準位置を通る共通の直線(xy座標上での直線)が存在するとすれば、そのような直線に対応するξρ座標上の画素は、ξρ座標上の全画素の中の最大画素値をとる画素ということになる。これは、図15(b) の点γが、図15(a) の直線Lに対応することになるのと同じ原理である。
いま、図18に示すxy座標系上の全N個の画素(撮影画像の全画素)についての画素値積算処理が完了した時点において(すなわち、ステップS16でi=Nと判断された時点において)、ξρ座標上に定義されている積算用二次元画素配列上で最大画素値を有する画素が、図22に示すように、画素γであったとしよう。この場合、この画素γに対応するxy座標上の直線は、図18に示す黒画素のすべてを結ぶ直線の可能性が最も高い直線ということができる。たとえば、この画素γの基準位置(たとえば、中心位置)の座標値が(ξγ,ργ)であった場合、xy座標上に、変数(ξγ,ργ)の組合わせで示される直線Lを描けば、図23に示すように、この直線Lは、図に示すほとんどの黒画素上を通る直線になる。別言すれば、図22に示す画素γの最大画素値は、図23において直線L上に位置する黒画素の各画素値の積算結果として得られたことになる。
このように、ξρ座標上の積算用二次元画素配列を構成する個々の画素の画素値は、当該画素に対応するxy座標系上の直線が、撮影画像を構成する黒画素をいくつ通るかを示すパラメータということになる。したがって、最大画素値を有する画素γの座標値(ξγ,ργ)で表わされる直線は、xy座標上の撮影画像において、黒画素を結んで形成される直線の可能性が最も高い直線としての意味をもつ。かくして、図22に示すように、積算用二次元画素配列上で最大画素値を有する画素γを決定すれば、その座標値(ξγ,ργ)により、図23に示すように、xy座標上に直線Lを決定することができる。
このような方法で直線Lを決定するようにすれば、基準枠35の像を構成する直線が、撮影画像上では、とぎれとぎれの黒画素によって構成されていたとしても、これを幾何学的な直線として認識することが可能になる。しかも、このように撮影画像上の情報から直接認識した基準枠35の像は、幾何学的な撮影条件に基づいて予測した基準枠の像のような誤差を含まない正確な位置を示す指標として利用することができる。
しかしながら、「積算用二次元画素配列上で最大画素値を有する画素γを決定する」という手法のみで、基準枠35の像を構成する直線を決定することは、実用上問題がある。第1の問題点は、基準枠35が複数の直線から構成されているため、これら複数の直線を相互に区別して認識する必要がある点である。図18に示す例は、説明の便宜上、1本の直線を示す黒画素の集合からなる撮影画像を示すものであったため、図23に示すように、1本の直線Lのみが決定されれば十分であった。しかし、実際の基準枠35は、4本の直線から構成されているため、1枚の撮影画像について、基準枠35の像として4本の直線をそれぞれ決定しなければならない。
そして、第2の問題点は、撮影画像上には、基準枠35の像のみが写っているわけではないという点である。実際の撮影は、図10に示すように、撮影用ステージ30上に描かれた基準枠35の内部に被写体となる物体40を載置し、これら全体をカメラで撮影することになる。このため、撮影画像には、基準枠35のみならず、物体40も写っていることになる。したがって、撮影画像上の全画素について、ステップS13〜S16の処理を繰り返し実行すると、物体40上の直線要素も検出されてしまうことになる。また、実際には、様々な照明条件下で、様々な撮影方向から撮影が行われるため、撮影用ステージ30上の意図しない部分に反射や陰影が生じることになり、これらが誤って基準枠35の一部として認識されてしまう可能性もある。
ステップS18で行われた基準枠位置予測段階は、このような問題を解決するための準備を行う処理ということができる。上述したとおり、この基準枠位置予測段階で予測した基準枠の像の位置は、通常、撮影条件に関する誤差を含んでいるため、正しいものにはならない。しかしながら、ここで予測した基準枠の像の位置は、本来の基準枠の像の位置から大きく外れることはない。すなわち、本来の基準枠の像は、ステップS18で予測された位置から外れているとしても、その近傍の所定範囲内に位置していると考えることができる。
そこで、ステップS20では、基準枠35を構成する第j番目の直線について、ξρ座標系上に幾何学的予測点εをプロットする。すなわち、既に、ステップS18において、xy座標系上の4本の直線から構成される基準枠35の像の位置が予測されているので、この4本の直線のうちの第j番目の直線(たとえば、図11に示す辺35A)について、座標軸xに対する角度ξεと、原点Oから当該直線に下した垂線OFの長さρεとを求め、ξρ座標上に幾何学的予測点ε(ξε,ρε)をプロットすればよい。図24は、このようにしてプロットされた幾何学的予測点εの一例を示す平面図である。
次に、ステップS21において、プロットした幾何学的予測点εの近傍領域内で、最大画素値を有する画素を探し、当該画素の基準位置を実測上予測点γと決定する処理が行われる。具体的には、個々の画素の基準位置(たとえば、中心位置)が、近傍領域内に入る画素についての画素値を比較し、最大画素値を有する画素を決定すればよい。
図24では、幾何学的予測点εの近傍領域として、図に一点鎖線で囲った領域を設定している。すなわち、幾何学的予測点εの座標値を(ξε,ρε)としたときに、所定の偏差Δξ,Δρを用いて、ξε−Δξ≦ξ≦ξε+Δξ、ρε−Δρ≦ρ≦ρε+Δρなる条件を満たす座標値(ξ,ρ)で示される領域が幾何学的予測点εについての近傍領域として設定されている。ここで、偏差Δξ,Δρとしては、前述した2つの問題点を解決するのに好ましい値を適宜設定すればよい。もちろん、幾何学的予測点εの近傍領域は、必ずしも図示のような矩形領域にする必要はなく、たとえば、幾何学的予測点εを中心として所定半径をもった円を近傍領域として設定することも可能である。
図24に示す例において、たとえば、全画素の中で一番大きな画素値を有する画素が画素γ1であり、2番目に大きい画素値を有する画素が画素γ2であり、3番目に大きい画素値を有する画素が画素γ3であったとすると、ステップS21では、近傍領域に所属する画素のうちの最大画素値を有する画素γ3が抽出され、この画素γ3の基準位置(ξγ,ργ)が、実測上予測点と決定されることになる。ここで、幾何学的な撮影条件に基づいて得られた幾何学的予測点ε(ξε,ρε)は、実測上予測点(ξγ,ργ)に対して図示の距離だけずれているが、このずれは、設定した理論的な撮影条件と、現実に撮影が行われた際の実際の撮影条件とのずれに相当する。続いて、図23に示す例のように、xy座標系上に実測上予測点(ξγ,ργ)に応じた角度ξγおよび原点からの変位ργをもつ直線Lを求めれば、当該直線Lが、基準枠35を構成する第j番目の直線の像に相当することになる。
なお、図24に示す例において、一番大きな画素値を有する画素γ1や、2番目に大きい画素値を有する画素γ2は、幾何学的予測点εから大きく外れてしまっているため、目的とする第j番目の直線ではない別な直線に対応した画素か、物体40を構成する直線に対応した画素か、あるいは、撮影時に意図せずに生じた陰影などの影響の結果として積算画素値が大きくなってしまった画素と考えられる。
結局、ステップS20,S21における実測上予測点決定段階の処理は、撮影画像に基づくハフ変換という直線認識の手法(ξρ座標上で最大画素値の画素を求める手法)と、幾何学的な撮影条件を手掛かりとする従来の画像変換の手法とを組み合わせ、従来の画像変換の手法で得られた直線の位置をξρ座標上に幾何学的予測点εとしてプロットし、この幾何学的予測点εの近傍領域の中で最大画素値を有する画素の位置を実測上予測点と決定し、撮影画像上に目的とする第j番目の基準枠35を構成する直線の像を求める処理ということができる。
こうして、パラメータjを1ずつ増加させながらステップS20,S21の手順を繰り返し実行し、撮影画像上に基準枠35を構成する直線の像を1本ずつ順に求めてゆき、全M本の直線(この例では、M=4)が求まったら、ステップS22を経て、ステップS24へ進むことになる。
最後のステップS24の処理は、二次元xy座標系上に、各実測上予測点の座標値(ξ,ρ)によって表わされる直線を描き、これらの直線の位置を基準枠35の像の正しい位置として取り扱い、幾何学的な演算によって、ステップS11で入力した撮影画像を正則画像に変換する処理である。すなわち、図9(a) に示すように、xy座標系の撮影画像上において、基準枠35の正しい像が四角形ABCDと認識できれば、前掲の射影的正規化変換などの公知の幾何学的演算手法により、当該撮影画像を正則画像に変換する処理を実行することができる。こうして得られた正則画像上では、基準枠35の像は、図9(b) に示すような正則な四角形ABCDとなる。
<<< §8.より実用的な実施形態 >>>
上述した§7では、本発明の特徴となる正則画像への画像変換方法の基本概念を単純な実例モデルを用いて説明した。ここでは、本発明のより実用的な実施形態をいくつか述べることにする。
(1) 撮影画像が階調画像である場合
これまで述べた基本的な実施形態では、図17の流れ図におけるステップS11で入力される撮影画像が二値画像である単純な例を示した。たとえば、図18に示す撮影画像は、図にハッチングを施して示す黒画素とそれ以外の白画素との2種類の画素から構成される二値画像であった。しかしながら、物体の反射特性データを求めることを目的とした撮影では、通常、階調をもった撮影画像が利用される。このように、撮影画像が階調画像である場合にも、これまで述べてきた基本的な実施形態をそのまま適用した取り扱いが可能である。
たとえば、4段階の階調値をもった階調画像(2ビットの階調画像)の場合、個々の画素のもつ画素値は、「0」,「1」,「2」,「3」の4種類に増えることになる。ここで、画素値「0」をもった画素を白画素、画素値「1」をもった画素を淡画素、画素値「2」をもった画素を濃画素、画素値「3」をもった画素を黒画素と呼ぶことにし、撮影画像上に現れる直線が、図25に示す例のように、白画素からなる背景上に、黒画素,濃画素,淡画素の組合わせで表現されていた場合を考えてみよう。実際、撮影用ステージ30上に描かれた基準枠35を、所定の解像度のデジタルカメラなどで撮影した場合、階調をもった撮影画像上の基準枠35の像は、何種類かの画素値をもつ画素の集合体として表現されるのが一般的である。
この図25に示す例の場合、個々の黒画素は、基準枠35を構成する直線の像の最も確からしい位置を示しており、個々の濃画素は、若干精度の低い位置を示しており、個々の淡画素は、更に精度の低い位置を示していると考えられる。また、白画素は、基準枠35を構成する直線の像が存在しない位置を示していると考えてよい。したがって、撮影画像が二値画像ではなく階調画像の場合も、個々の画素の画素値を、積算用二次元画素配列上の画素の画素値に積算する処理を行えば問題はない。
前述した二値画像を用いて説明した例(図18の例)では、黒画素についての積算処理では画素値「1」が積算され、白画素についての積算処理では画素値「0」が積算された(実質的に、白画素については積算処理を実施しないのと同じ)。これに対して、図25に示す階調画像を用いた場合、黒画素についての積算処理では画素値「3」が積算され、濃画素についての積算処理では画素値「2」が積算され、淡画素についての積算処理では画素値「1」が積算され、白画素についての積算処理では画素値「0」が積算されることになる(実質的に、白画素については積算処理を実施しないのと同じ)。これは、濃画素の位置や淡画素の位置にも、ある程度の確率で基準枠35を構成する直線の像が存在する可能性があるため、当該確率に応じた画素値を積算した方が、より正確な結果が得られるであろうという考え方に基づいた手法である。
もちろん、実際には、より階調段階の多い階調画像が撮影画像として用いられるのが一般的である。たとえば、8ビットの階調画像の場合、個々の画素には、0〜255までの256通りの画素値が定義されることになる。この場合、基準枠35を構成する直線の像は、たとえば、240〜255という範囲内の画素値をもった画素の集合体として表現されることになろう。この場合、画素値「255」をもった画素は、基準枠35を構成する直線の像の最も確からしい位置を示しているものと考えられるが、画素値「240」をもった画素も、基準枠35を構成する直線の像についてある程度の確からしい位置を示しているものと考えることができる。したがって、このような場合でも、各画素値をそのまま積算するような取り扱いを行えば、これまで述べた基本的な実施形態どおりの手順で、基準枠35を構成する直線の像の位置を正確に決定することが可能である。
(2) 基準枠のバリエーション
これまで述べてきた基本的な実施形態では、図10に示す例のように、撮影用ステージ30の上面に、矩形からなる基準枠35が描かれている例を示した。しかしながら、本発明で用いる基準枠は、必ずしも4辺を有する矩形図形にする必要はない。本発明における基準枠の役割は、図9(a) に示すように、斜めから撮影したときに像として得られる四角形ABCDの幾何学的な形状に基づいて、これを図9(b) に示すような正則四角形に戻すための幾何学的変換(射影的正規化変換など)を特定するための手掛かりを与えることにある。このような幾何学的変換は、四角形の4頂点A,B,C,Dの位置が特定されていれば実施可能であるので、基準枠35は、必ずしも図形的な四角形である必要はない。
たとえば、図10に示す基準枠35は、35A,35B,35C,35Dの4辺を有する四角形の枠であるが、その代わりに、35A,35B,35Cの3辺を有するU字形の枠を基準枠として用いてもかまわない。この場合、第4の辺35Dは描かれていないが、U字形の枠によって、4頂点A,B,C,Dを特定することは可能である。同様に、35A,35Cの2線分のみからなる図形を基準枠として用いてもかまわない。この場合でも、2線分35A,35Cの各端点として、4頂点A,B,C,Dを特定することが可能である。
また、基準枠は、必ずしも線で描かれた図形によって構成する必要はない。たとえば、所定領域の内部と外部とのコントラスト差による境界線によって基準枠を構成することも可能である。図26(a) は、このような境界線から構成された基準枠35の一例を示す平面図である。この例では、撮影用ステージ30の上面に、矩形領域38が形成されている。ここで、この矩形領域38は、その内部と外部とでコントラスト差が生じるような領域として形成されている。具体的には、たとえば、上面が白色の撮影用ステージ30の上に、黒い矩形領域38を形成すればよい。そうすれば、黒色領域(図にハッチングを施した部分)と、その周囲の白色領域との境界線として、矩形状の基準枠35を形成することができる。
もっとも、このようにコントラスト差による境界線によって基準枠が構成されている場合は、撮影画像上には、たとえば図18に示すような黒画素の集合体として基準枠の像を得ることはできず、黒画素の集合からなる領域と、白画素の集合からなる領域との境界線としてしか、基準枠を構成する直線を把握することができなくなる。そこで、この場合には、図17のステップS11における画像データの入力を行う際に、境界線からなる基準枠35の像を抽出する処理を行う必要がある。
実際には、この基準枠35の像を抽出する処理は、撮影画像に対する微分処理によって行うことができる。図26(b) は、図26(a) に示す撮影用ステージ30を、図の横方向に走査したときの画素値の変化を示すグラフである。ここでは、白色の画素値を0,黒色の画素値を255とした例が示されている。図示のとおり、黒い矩形領域38に対応する部分の画素値は255、その両側の白い領域に対応する部分の画素値は0となっている。もちろん、実際の撮影画像は、矩形領域38の内部に被写体となる物品が載置された状態で撮影されるので、実際に得られる撮影画像の画素値分布は、このグラフのようにはならないが、矩形領域38の境界部分において、画素値の急激な変化が生じることに変わりはない。
図26(c) は、図26(b) のグラフを微分したグラフである。微分を行うことにより、画素値の急激な変化が微分値の急激な上昇として現れることになり、矩形領域38の境界部分を検出することが可能になる。なお、図26(c) における微分値は絶対値で示してあるので、境界部分はいずれも上方に伸びる線として表わされている。結局、図26(a) に示すように、所定領域の内部と外部とのコントラスト差による境界線によって基準枠を構成した場合は、画像入力段階で、撮影画像に対して微分処理を施して得られる微分画像を画像データとして入力すれば、これまで述べてきた基本的な実施形態をそのまま適用することが可能になる。
このように、図17のステップS11で入力する画像データは、必ずしも撮影画像そのものである必要はなく、撮影画像に所定の加工処理(たとえば、上述した微分処理や、その他のフィルタリング処理でもかまわない)を施した画像であってもよい。
(3) 画素値の被積算対象となるξρ座標上の画素
これまで述べた基本的な実施形態の場合、図17の流れ図におけるステップS14の線グラフ演算段階で、xy座標上の第i番目の画素Piに対応させて、ξρ座標上に図19に示すような線グラフμiを求め、続くステップS15の画素値積算段階で、図20に示すように、ξρ座標上の積算用二次元画素配列上に線グラフμiを重ね合わせ、この線グラフμi上に位置する画素(図20にハッチングを施して示す画素)の画素値に、画素Piのもつ画素値を積算する処理を行った。
しかしながら、ステップS15の画素値積算段階で画素値の被積算対象となるξρ座標上の画素は、必ずしも線グラフμi上に位置する画素に限定する必要はなく、線グラフμi上もしくはその近傍に位置する画素にまで拡張してかまわない。たとえば、図20に示す例の場合、被積算対象となる画素(ハッチングを施した画素)は、いずれも画素内の一部に線グラフμiが通過している画素に限られているが、対象となる画素をもう少し拡張し、線グラフμiに対して所定の距離範囲内にある画素までを被積算対象となる画素に含ませるようにしてもかまわない。
図27は、ξρ座標上の線グラフμiの近傍の画素Tdについても画素値を積算する変形例を説明する平面図である。たとえば、画素Tdの基準位置(中心位置)と線グラフμiとの距離d(μi上の最近接点との距離)を「画素Tdと線グラフμiとの距離」と定義し、この距離dが予め設定した所定のしきい値以下となる画素Tdを、画素値の被積算対象となる画素に含ませるようにすれば、図27にハッチングを施した画素だけでなく、線グラフμiとの距離dが所定のしきい値以下となる近傍の画素に対しても、画素Piのもつ画素値が積算されることになる。
なお、このように画素値の被積算対象となる画素を、線グラフμiの近傍に位置する画素まで拡張する場合、線グラフμiに対する近接度合いに応じて、積算すべき画素値に差をつけるのが好ましい。たとえば、図27に示す例の場合、ハッチングを施した画素はいずれも線グラフμi上の画素であるのに対して、画素Tdは線グラフμiから距離dだけ離れた位置にある画素であるので、線グラフμiに関連した画素値(画素Piのもつ画素値)を積算する場合、後者には、画素値の寄与割合を考慮して積算した方が理にかなっている。
そこで実用上は、線グラフμi上に位置する画素(図27にハッチングを施した画素)の画素値には、画素Piのもつ画素値をそのまま積算し、線グラフμiから所定の近傍距離dだけ離れた画素の画素値には、画素Piのもつ画素値に当該近傍距離dに応じた所定割合R(0≦R≦1の範囲をとり、近傍距離dが大きくなるほど小さくなる値)を乗じた値を積算するようにすればよい。たとえば、画素Piの画素値が255であった場合、図27にハッチングを施して示す各画素に対しては、当該画素値255をそのまま積算し、近傍距離dだけ離れた位置にある画素Tdに対しては、近傍距離dに応じて定まる所定割合R(0≦R≦1)を乗じた値「255×R」を積算するようにすればよい。
所定割合Rは、近傍距離dが大きくなるほど小さくなる値になれば、どのような方法で定義してもかまわないが、本願発明者は、近傍距離dが非常に小さいうちはRは1に近く、近傍距離dがある程度大きくなるとRが急激に低下するような関数により、Rとdとの関係を定義するのが好ましいと考えている。そこで、実用上は、図28に示すように、線グラフμiの位置を中心としてガウス分布をとる関数を定義し、この関数に基づいて任意の近傍距離dに対する所定割合Rを決定するようにすればよい。
(4) 実測上予測点決定方法のバリエーション
これまで述べた基本的な実施形態の場合、図17の流れ図におけるステップS21の実測上予測点決定段階では、幾何学的予測点εの近傍領域内で「最大画素値」を有する画素を探し、当該画素の基準位置を実測上予測点と決定していた。しかしながら、ここで「最大画素値」を有する画素を探したのは、xy座標上の画像上において、「基準枠の像を構成する画素の画素値が、その背景となる画素の画素値よりも大きい」という設定がなされていることを前提としたためである。
たとえば、図18に示す例の場合、基準枠の像を構成する黒画素の画素値は「1」、背景となる白画素の画素値は「0」という説明を行った。また、図25に示す例の場合も、基準枠の像を構成する黒画素,濃画素,淡画素の画素値はそれぞれ「3」,「2」,「1」であり、背景となる白画素の画素値は「0」という説明を行った。すなわち、これまで述べてきた実施形態は、「背景部分の画素値に比べて、基準枠の像の部分の画素値が大きい」ことを前提としたものであった。
しかしながら、本発明を実施する上では、必ずしもこのような前提をとる必要はない。たとえば、xy座標上の画像が二値画像であった場合、基準枠の像を構成する画素の画素値を「0」、背景部分の画素の画素値を「1」とする設定を行ってもかまわない。また、0〜255の画素値を有する階調画像の場合であれば、基準枠の像を構成する画素の画素値が「0〜50程度」、背景部分の画素の画素値が「200〜255程度」に分布した画像を用いてもかまわない。ただ、このように、「背景部分の画素値に比べて、基準枠の像の部分の画素値が小さい画像」をxy座標系上に入力して処理を行う場合、ξρ座標上では、「xy座標上における基準枠の像を構成する画素を通る直線」に対応する画素ほど、積算される画素値が小さくなる。したがって、ステップS21の実測上予測点決定段階では、幾何学的予測点εの近傍領域内で「最大画素値」の代わりに「最小画素値」を有する画素を探し、当該画素の基準位置を実測上予測点と決定する必要がある。
また、前述した実施形態では、図17のステップS12において、初期画素値0をもった画素の集合体として、積算用二次元画素配列の定義を行っているが、初期画素値は必ずしも0に設定する必要はない。上述したとおり、実測上予測点を決定する上では、ξρ座標上に定義された積算用二次元画素配列の構成画素の中から、「最大画素値」もしくは「最小画素値」を有する画素を探すことになるので、画素間相互で画素値の比較が可能な環境が用意できていればよい。したがって、積算用二次元画素配列を構成する個々の画素の初期画素値は、すべてが同一の初期画素値となっていれば、どのような値に設定してもかまわない。
なお、ステップS21の実測上予測点決定段階において、幾何学的予測点εについての所定の近傍領域に所属する画素のうち、「最大画素値」もしくは「最小画素値」を有する画素が複数存在した場合には、これら複数の画素の基準位置の重心位置を、対応する直線についての実測上予測点と決定するようにすればよい。たとえば、図24に示す例では、一点鎖線で示す近傍領域内の画素γ3が「最大画素値」を有する画素である場合を説明した。ここで、もし、「最大画素値」を有する画素として、画素γ3と画素γ4との2つが存在した場合、双方の基準位置を実測上予測点としてしまうと、xy平面上に2本の直線が定義されてしまう。このような場合は、画素γ3の基準位置と画素γ4の基準位置との重心位置を実測上予測点として決定すればよい。
(5) 画素値の積算対象となるxy座標上の画素
図17の流れ図におけるステップS13〜S17の処理は、パラメータiを1ずつ増加させながら繰り返し実行される手順であり、その意味するところは、xy座標上に入力された画像を構成する全N個の画素の1つ1つについて、ξρ座標上に線グラフを求め、当該線グラフ上もしくはその近傍に位置するξρ座標上の画素を被積算対象画素として、画素値の積算を行うことにある。したがって、この流れ図の手順によれば、xy座標上の第1番目の画素から第N番目の画素に至るまで、全N個の画素すべてを対象として、ステップS14,S15の処理が実行されることになる。
しかしながら、実際には、ステップS14,S15の処理は、必ずしも全N個の画素すべてについて実行する必要がないケースがある。たとえば、画素値「0」をもった画素については、ステップS14,S15を実行して画素値の積算処理を行ったとしても、積算対象となる画素の画素値が「0」であるから、実質的には無意味な処理になる。したがって、実用上、このようなケースでは、ステップS14,S15の処理は省略することができる。
また、画素値「0」をもった画素でなくても、実用上は、ステップS14,S15の処理を省略可能な画素もある。たとえば、0〜255の範囲の画素値をもつ画素の集合体からなる階調画像がxy座標上に存在し、画素値0〜50の範囲内の画素値は、ほとんど確実に背景部分の画素についての画素値であろうと予測されるような場合であれば、画素値0〜50の範囲内の画素値をもつ画素については、ステップS14,S15の処理を省略しても大きな支障は生じない。
このようなケースを考慮した場合、図17のステップS14の線グラフ演算段階は、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ線グラフを求める演算を実行すれば足り、ステップS15の画素値積算段階は、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ画素値の積算処理を実行すれば足りる。
なお、画素値の積算対象となるxy座標上の画素を決定する際に考慮する要素として、当該画素の画素値の代わりに、当該画素の位置を用いることも可能である。たとえば、ステップS18の基準枠位置予測段階は、ステップS13よりも先に行っておくことが可能であり、そうした場合、ステップS14,S15の処理を実行する時点で、幾何学的な撮影条件に基づいて基準枠位置が既に予測されていることになる。もちろん、ここで予測されている基準枠位置は正確なものにはならないが、実際の基準枠位置は、予測されている基準枠位置の近傍の領域に存在すると考えられるので、当該近傍の領域を「考慮領域」と定義し、xy座標上に配列された画素のうち、当該「考慮領域」内に位置する画素のみを画素値の積算対象とし、それ以外の画素については、ステップS14,S15の処理を省略しても大きな支障は生じない。
たとえば、図18に示す例の場合、前述した基本的実施形態では、全N個の画素すべてを画素値の積算対象としていたが、積算対象となる画素をその一部に絞り込むことが可能になる。すなわち、ステップS18の基準枠位置予測段階によって、基準枠の予測位置を求めれば、それは図示の黒画素を結ぶ直線に近い位置にくるであろう。したがって、基準枠の予測位置の近傍に「考慮領域」を定義すれば、それは図示の黒画素を含んだ細長い領域になるであろう。ステップS14,S15の処理は、この細長い「考慮領域」内の画素についてのみ実行され、それ以外の画素については省略される。
要するに、ステップS14の線グラフ演算段階で、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ線グラフを求める演算を実行し、ステップS15の画素値積算段階で、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ画素値の積算処理を実行するようにすればよい。
(6) 実測上予測点の決定に失敗した取り扱い
これまで述べてきた変形例の内容も踏まえると、図17のステップS21では、幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素の基準位置を、実測上予測点と決定することになる。しかしながら、実際には、このような方法で実測上予測点を決定すると、基準枠を構成する直線の像とは全く無関係な直線に対応する点が、実測上予測点として誤検出されてしまう事態が生じやすい。特に、§3で述べたような反射特性データの作成を目的として、様々な撮影条件で多数の撮影画像が得られた場合、何枚かの撮影画像においては、照明光の反射像の影響を受け、ステップS21で誤検出が生じる可能性がある。
たとえば、図6に示す撮影系において、照明光Lsの入射角θLs,方位角φLs、反射光Vsの入射角θVs,方位角φVsの組合わせが特定の条件を満たすと、撮影用ステージ30上の鏡面反射により、光源50の像がそのままカメラ60の撮像面に形成されてしまう場合がある。このような条件下で得られた撮影画像上には、光源50の像が真っ白い反射領域として写り込み、基準枠の像は、いわゆる白飛びの状態となって認識することはできなくなる。ところが、このような撮影画像について図17の流れ図に示す手順を実施すると、アルゴリズム上は、ステップS21で実測上予測点の決定が行われてしまう。本来の基準枠の像が写っていない以上、こうして決定された実測上予測点は、本来の基準枠を構成する直線とは全く無関係な点になる。
これは、「画素値が最大もしくは最小の画素」というアルゴリズムにより実測上予測点の決定を行う以上、真っ白い反射領域の中で、いくらかでも直線パターンの存在が認識できる部分が、実測上予測点と認識されてしまうためである。図24に示す例の場合、一点鎖線で囲った領域内の多くの画素が、たとえば、「0〜100程度」の画素値をとっているところ、画素γ3だけが最大画素値「10000」をとる、というように、最大画素値は他の画素値に比べてかなり突出した値になるのが一般的である。この突出度が高ければ高いほど正確な直線検出が行われたことを意味する。ところが、基準枠の像が白飛びの状態になってしまうと、図24に示す一点鎖線で囲った領域内のすべての画素が、たとえば、「0〜100程度」の画素値しかとらない現象が生じることになる。このような「ドングリの背比べ」のような状況でも、前掲のアルゴリズムに従う以上、たとえば最大画素値「101」をとる画素γ3が抽出され、その基準位置が実測上予測点として決定されてしまうことになる。もちろん、このような状況下で決定された実測上予測点は、基準枠を構成する直線の像を示すものにはなっていない。
このような誤検出を避けるためには、ステップS21の実測上予測点決定段階で、「近傍領域内の最大画素値が所定のしきい値に満たない場合」もしくは「最小画素値が所定のしきい値を超えてしまう場合」には、実測上予測点の決定を行わず、正則画像への画像変換に失敗した取り扱いを行うようにすればよい。たとえば、上述の図24に示す例のように、一般的には画素γ3だけが最大画素値「10000」をとる、というケースであれば、たとえば、しきい値を5000に設定しておき、「近傍領域内の最大画素値が5000に満たない場合」には、正しい検出は行われなかったものと判断し、実測上予測点の決定を行わず、正則画像への画像変換に失敗した取り扱いを行うようにすればよい。そうすれば、最大画素値「101」をとる画素γ3が抽出され、その基準位置が実測上予測点として決定されてしまうような誤検出を避けることができる。
なお、1枚の撮影画像を正則画像に変換する、という観点からは、上述したように実測上予測点の決定に失敗すると、正則画像への変換を行うことができず、完全な失敗に終わらざるを得ないが、§3で述べたような反射特性データの作成を目的として、様々な撮影条件で多数の撮影画像が得られた場合であれば、何枚かの撮影画像について正則画像への変換に失敗したとしても、これを補間することが可能になる。
すなわち、特定の物体撮影画像を正則画像に変換する画像変換段階における実測上予測点決定段階で、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、上述したとおり、実測上予測点の決定を行わず、当該物体撮影画像に関する正則画像への画像変換に失敗した取り扱いを行うこととし、画像変換に失敗した取り扱いが行われた物体撮影画像についての正則画像については、撮影条件が近似する別な物体撮影画像についての正則画像に基づく補間を行うことにより求めるようにすればよい。
図29は、§3で述べた反射特性データの作成プロセスにおいて、特定の撮影画像について正則画像への画像変換に失敗した場合の補間方法を示す平面図である。この図は、図6に示す撮影系における反射光Vsの仰角θVsを、θV1=0°〜θV6=75°の6通りに変化させ、方位角φVsを、φV1=0°〜φV12=330°の12通りに変化させた結果を表形式で示したものである。たとえば、この表における欄Eには、反射光Vsの仰角をθV3=30°に設定し、方位角をφV5=120°に設定したときの結果(正則画像に変換された画像)が配置されることになる。もちろん、実際には、照明光Lsについても、仰角θLsを6通り、方位角φLsを12通りに変化させた実測が行われるので、欄E内には、照明光Lsについての72通りのバリエーションを示す72枚の正則画像が配置されることになる。
ここでたとえば、θV3=30°,φV5=120°,θL4=45°,φL11=300°という特定の撮影条件で撮影したときに、上述した基準枠の像の白飛び現象が起こり、当該撮影画像について正則変換に失敗したものとしよう。この場合、失敗した正則画像を、隣接する欄A,B,C,D,F,G,H,I内の照明光Lsについての仰角および方位角が同一の正則画像8枚(すなわち、撮影条件が近似する別な物体撮影画像についての正則画像)に基づく補間処理によって求めることが可能である。
より具体的には、欄Aからは、θV2=15°,φV4=90°,θL4=45°,φL11=300°という特定の撮影条件での結果として得られている正則画像を取り出し、欄Bからは、θV3=30°,φV4=90°,θL4=45°,φL11=300°という特定の撮影条件での結果として得られている正則画像を取り出し、…、欄Iからは、θV4=45°,φV6=150°,θL4=45°,φL11=300°という特定の撮影条件での結果として得られている正則画像を取り出し、こうして取り出した8枚の正則画像に基づく補間処理(たとえば、8枚の画像の同一位置の画素の平均値を、補間画像の同一位置の画素の画素値とする補間処理)を行うことにより、θV3=30°,φV5=120°,θL4=45°,φL11=300°という撮影条件で得られる正則画像の代用として欄Eに配置可能な補間画像を得ることができる。
もちろん、補間に利用する正則画像は、必ずしも8枚である必要はなく、たとえば、縦横に隣接する欄B,D,F,H内の4枚の正則画像を用いてもよいし、斜めに隣接する欄A,C,G,I内の4枚の正則画像を用いてもよい。
<<< §9.本発明に係る物体の反射特性データの作成装置 >>>
最後に、本発明に係る物体の反射特性データの作成装置の基本構成を、図30に示すブロック図を参照しながら説明する。この装置は、図16の流れ図に示す反射特性データの作成手順を実施するために利用可能な装置であり、物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、当該所定位置から所定の射出方向に向かう反射光の反射率を、被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義したデータを、被測定面についての反射特性データとして作成する機能を有している。
この装置の主たる構成要素は、図示のとおり、撮影用ステージ30、光源50、カメラ60、撮影条件設定部210、画像変換装置100、微分処理部220、反射特性データ作成部230である。撮影用ステージ30は、上面が平面をなし、この平面上に直線で構成される基準枠35が描かれている。図示の例では、撮影用ステージ30の上面に、物体を載置するための矩形が形成されており、この矩形の内部領域38と外部領域とはコントラストに差が生じるように構成され、両領域の境界線によって基準枠35が構成されている。
光源50は、撮影用ステージ30上に載置された物体を照明する機能を果たし、カメラ60は、撮影用ステージ30上に載置された物体を撮影する機能を果たす。図示の例の場合、カメラ60としてデジタルカメラが用いられており、撮影画像はデジタル画像データとして出力される。
撮影条件設定部210は、光源50と撮影用ステージ30上に載置された物体の被測定面との位置関係を複数m通りに変化させ、かつ、当該被測定面とカメラ60との位置関係を複数n通りに変化させることにより所望の撮影条件を設定する機能をもった構成要素である。このような種々の撮影条件については、図6の撮影系を参照して§3で説明したとおりである。具体的には、この撮影条件設定部210は、光源50,カメラ60,撮影用ステージ30の相対位置を複数通りのバリエーションで変化させる機構と、これを駆動するモータなどの動力源と、これを制御するコンピュータなどによって構成することができる。この撮影条件設定部210で設定された幾何学的な撮影条件は、画像変換装置100へデジタルデータとして与えられる。
カメラ60で撮影された撮影画像は、デジタル画像データとして微分処理部220へと与えられ、ここで微分処理が施され、微分画像が画像変換装置100内の画像入力部110へと入力される。微分処理部220で行われる微分処理の内容およびその目的は、図26を参照して、§8(2)で説明したとおりである。なお、撮影用ステージ30上に形成する基準枠が実線からなるパターンであった場合は、微分処理を行う必要がないので、微分処理部220は省略することができる。この場合、カメラ60で得られた撮影画像は、画像入力部110に直接入力される。
画像変換装置100は、図17の流れ図に示す手順を実施する機能をもった装置であり、撮影用ステージ30の上面に描かれた直線で構成される基準枠の内部に配置された被写体を、所定方向から撮影することにより得られる撮影画像を、カメラ60から入力し、これを正則画像に変換する処理を行う装置である。また、反射特性データ作成部230は、この画像変換装置100によって変換された正則画像に基づいて、物体の反射特性データを作成する構成要素である。
画像変換装置100は、図示のとおり、画像入力部110,線グラフ演算部120,画素値積算部130,実測上予測点決定部140,正則変換部150,基準枠位置予測部160によって構成されている。もっとも、この画像変換装置100は、実際には、コンピュータに専用のプログラムを組み込むことにより実現されるべき装置であり、上記各構成要素は、実用上は、コンピュータのハードウエアとソフトウエアとの組合わせによって実現されることになる。
画像入力部110は、カメラ60から得られた撮影画像もしくは当該撮影画像に所定の加工処理を施した画像(図示の例の場合、微分処理部220により微分処理加工を施した微分画像)を、二次元xy座標系に所定の画素値をもった画素を配列してなる画像データとして入力する構成要素であり、図17のステップS11「画像入力段階」を実行する。実用上は、ここで入力された画像は、コンピュータのメモリ上に展開されることになる。
線グラフ演算部120は、図17のステップS14「線グラフ演算段階」を実行する構成要素であり、xy座標系上の任意の直線を、座標軸に対する向きを示す変数ξと原点に対する変位を示す変数ρを用いて表わす表現形式を用い、画像入力部110が入力した画像データを構成する個々の画素について、当該画素の基準位置を通る直線群のそれぞれについての変数(ξ,ρ)の組合わせを求め、二次元ξρ座標系上に各変数対(ξ,ρ)に対応する座標点をプロットし、これら座標点の集合により構成される線グラフμを各画素ごとにξρ座標系上に求める処理を行う。
ここで述べる実施形態の場合、線グラフ演算部120は、図12(a) に示すように、xy座標系上の任意の直線Laに、xy座標系の原点Oから垂線を下し、その足を点Fとしたときに、xy座標系の一軸xと線分OFとのなす角度をξ、線分OFの長さをρで表わし、2つの変数ξ,ρにより直線Laを表わす表現形式を用いている。
画素値積算部130は、図17のステップS12「画素値積算段階の準備」およびステップS15「画素値積算段階」を実行する構成要素である。すなわち、ξρ座標系上に、各画素が同一の初期画素値(たとえば、初期画素値0)を有する積算用二次元画素配列を定義し、この積算用二次元画素配列上に、画像入力部110がxy座標上に入力した画像データを構成する第i番目の画素Piについて線グラフ演算部120が求めた線グラフμiを重ね合わせ、この線グラフμi上もしくはその近傍に位置する画素の画素値に、画素Piのもつ画素値を積算する処理を実行する。実際には、コンピュータのメモリ上に積算用二次元画素配列が展開され、積算値はメモリ上に保存されることになる。
なお、§8(3)で述べたように、画素値積算部130による画素値の積算時には、線グラフμi上に位置する画素の画素値に、画素Piのもつ画素値を積算するとともに、線グラフμiから所定の近傍距離dだけ離れた画素の画素値に、画素Piのもつ画素値にその近傍距離dに応じた所定割合R(0≦R≦1の範囲をとり、近傍距離dが大きくなるほど小さくなる値)を乗じた値を積算するようにしてもかまわない。このとき、所定割合Rが、線グラフμの位置を中心としてガウス分布をとるように設定するとよい。
基準枠位置予測部160は、図17のステップS18「基準枠位置予測段階」を実行する構成要素である。すなわち、画像入力部110が入力した画像に関して、撮影条件設定部210から与えられる幾何学的な撮影条件に基づいて、xy座標系上に配置された撮影画像上に現れるであろう基準枠の像の位置を、幾何学的な演算によって予測する処理を実行する。具体的には、図6の撮影系を用いて撮影画像を得る際の幾何学的な撮影条件として、基準点Sに立てた法線Nとカメラ60の光軸とのなす角θ、この光軸の「基準枠が描かれた平面」への投影像と基準点Sを通り「基準枠が描かれた平面」に含まれる所定の基準線ζとのなす角φ、カメラ60と基準点Sとの距離が、撮影条件設定部210から幾何学的な撮影条件として与えられるので、これらに幾何学的な演算により基準枠の像の位置を予測する処理を実行する。
実測上予測点決定部140は、図17のステップS20,S21「実測上予測点決定段階」を実行する構成要素である。すなわち、基準枠位置予測部160において予測された基準枠の像を構成する各直線を示す変数(ξ,ρ)の組合わせについて、積算用二次元画素配列上に対応する座標点をそれぞれ幾何学的予測点εとしてプロットし、各幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素の基準位置を、対応する直線についての実測上予測点と決定する。図24には、幾何学的予測点εについての所定の近傍領域として、幾何学的予測点εの座標値を(ξε,ρε)としたときに、所定の偏差Δξ,Δρを用いて、ξε−Δξ≦ξ≦ξε+Δξ、ρε−Δρ≦ρ≦ρε+Δρなる条件を満たす座標値(ξ,ρ)で示される領域を用いた例が示されている。
なお、この実測上予測点決定部140では、§8(4)で述べたように、幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素が複数存在した場合には、これら複数の画素の基準位置の重心位置を、対応する直線についての実測上予測点と決定するようにしている。
正則変換部150は、図17のステップS24「正則変換段階」を実行する構成要素である。すなわち、二次元xy座標系上に、各実測上予測点の座標値(ξ,ρ)によって表わされる直線を描き、これらの直線の位置を正しい基準枠の像の位置として取り扱い、幾何学的な演算によって、カメラ60から得られる撮影画像を正則画像に変換する処理を行う。このような正則変換が、基準枠の像を構成する矩形の4頂点の位置に基づく幾何学的な演算により実施できる点は、既に述べたとおりである。変換により得られた正則画像は、反射特性データ作成部230へ与えられる。
なお、線グラフ演算部120による線グラフの演算処理や、画素値積算部130による画素値の積算処理は、理論上は、画像入力部110が入力したxy座標上の画像の全N個の画素について実行すればよいが、実用上は、§8(5)で述べたとおり、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ、もしくは、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ実行すると、演算負担を軽減させることができる。
また、実測上予測点決定部140には、§8(6)で述べたとおり、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、正則画像への画像変換に失敗した旨のメッセージを提示する機能をもたせておくのが好ましい。この場合、具体的には、画像変換装置100から反射特性データ作成部230に対して、正則画像への画像変換に失敗した旨のエラー信号を出力するようにする。そして、反射特性データ作成部230には、エラー信号が出力されたために画像変換装置100からは出力されなかった正則画像があった場合には、§8(6)で述べた手法により、撮影条件が近似する別な物体撮影画像についての正則画像に基づく補間を行う機能をもたせておけばよい。
テクスチャデータを利用した一般的なレンダリング処理の概念を示す斜視図である。 BRDFモデルおよびBTFモデルの原理を説明するための斜視図である。 BTFモデルで用いる6次元テクスチャデータの構造を示す平面図である。 BTFモデルにおける離散的な入射角定義の一例を示す正面図である。 BTFモデルにおける離散的な方位角定義の一例を示す正面図である。 BTFモデルで用いる6次元テクスチャデータを作成するための撮影系の構成を示す斜視図である。 図6に示す撮影系によって撮影された撮影画像のいくつかの例を示す平面図である。 図7に示す撮影画像に対して画像変換を施すことにより得られた正則画像を示す平面図である。 幾何学的な方法に基づいて、撮影画像を正則画像に変換する処理の一例を示す平面図である。 本発明に係る画像変換を利用するために用いる撮影用ステージ30の一例を示す平面図である。 図10に示す撮影用ステージ30を用いた撮影により得られた撮影画像の一例を示す平面図である。 xy座標系とハフ変換用のξρ座標系との関係を示す平面図である。 xy座標系上の各直線とハフ変換用のξρ座標系上の各点との対応関係を示す平面図である。 xy座標系上の1点Pを通る直線群とハフ変換用のξρ座標系上の線グラフμとの対応関係を示す平面図である。 xy座標系上の複数の点P1〜P4を通る直線Lとハフ変換用のξρ座標系上の線グラフμ1〜μ4の交点γとの対応関係を示す平面図である。 本発明に係る物体の反射特性データの作成方法の基本手順を示す流れ図である。 本発明に係る正則画像への画像変換方法(図16の流れ図のステップS4の段階)の基本手順を示す流れ図である。 図17のステップS11で入力された画像データを構成するxy座標上の画素配列の一部を示す平面図である。 図18に示すxy座標上の第i番目の画素Piに対応するξρ座標上の線グラフμiを示す平面図である。 図19に示すξρ座標上の線グラフμi上に位置する画素(ハッチング部分)を示す平面図である。 図18に示す第(i+1)番目の画素P(i+1)に対応するξρ座標上の線グラフμ(i+1)上に位置する画素(ハッチング部分)を示す平面図である。 ξρ座標上の各画素について画素値の積算処理を行った後に求まる最大画素値を有する画素γを示す平面図である。 図22に示す画素γの位置(ξγ,ργ)に対応して、xy座標上に描かれた直線Lを示す平面図である。 ξρ座標上の各画素について画素値の積算処理を行った後、幾何学的予測点εについての近傍領域に所属する画素のうちの最大画素値を有する画素γ3を決定する様子を示す平面図である。 図17のステップS11で入力された画像データが階調画像であった場合の当該画像データを構成するxy座標上の画素配列の一部を示す平面図である。 撮影用ステージ30の上面に、内部と外部とでコントラスト差が生じる矩形領域が形成されている場合に、境界線からなる基準枠35を抽出する処理を示す図である。 ξρ座標上の線グラフμiの近傍の画素Tdについても所定の画素値を積算する変形例を説明する平面図である。 図27に示す画素Tdに積算すべき画素値を決定する際に用いるガウス分布曲線を示すグラフである。 正則画像への画像変換に失敗した場合の補間方法を示す平面図である。 本発明に係る物体の反射特性データの作成装置の構成を示すブロック図である。
符号の説明
10:物体データ(三次元仮想物体)
15:二次元投影画像
20:テクスチャデータ(原テクスチャデータ)
30:撮影用ステージ
35:基準枠
35A〜35D:基準枠の4辺
38:矩形領域
40:被写体(物体)
50:光源
51:代表点
60:カメラ
100:画像変換装置
110:画像入力部
120:線グラフ演算部
130:画素値積算部
140:実測上予測点決定部
150:正則変換部
160:基準枠位置予測部
210:撮影条件設定部
220:微分処理部
230:反射特性データ作成部
A〜D:矩形の4頂点
d:近傍距離(線グラフμと画素Tの基準位置との距離)
E:視点
F:垂線の足
G:光源
H:投影平面
I(L):照明光の強度
I(V):反射光の強度
K:反射係数
K(θL,φL,θV,φV):反射係数
K(θL,φL,θV,φV,u,v):反射係数
L:照明光/xy座標上の直線
L1〜L6:照明光
La〜Lc:xy座標上の直線
L′:照明光の投影像
Ls:基準照明光
Ls′:基準照明光の投影像
N:法線
O:xy座標系の原点
P:投影平面上の画素/xy座標上の点
P1〜P4,Pi,P(i+1),PN:xy座標上の点/xy座標上の画素
Q:サンプル点/画像上の1点
R:画素値に乗じる割合
S:基準点
S1〜S24:流れ図の各ステップ
Td:ξρ座標上の画素
T(u,v):uv座標上の画素
u,v:テクスチャを定義する二次元座標系の各座標軸
V:反射光
V′:反射光の投影像
Vs:基準反射光
Vs′:基準反射光の投影像
W:基準面/被測定面
X,Y,Z:三次元座標系の各座標軸
α,β:投影平面H上の二次元座標系の各座標軸
γ:複数の線グラフの交点/最大画素値をもつ画素
γ1,γ2,γ3:ξρ座標上の画素
θL:照明光Lの入射角
θL1〜θL6:照明光の入射角
θLs:基準照明光Lsの入射角
θV:反射光Vの反射角
θVs:基準反射光Vsの反射角
ζ,ζs:基準線
λa,λb,λc:ξρ座標上の点
φL:照明光Lの方位角
φL1〜φL12:照明光Lの方位角
φLs:基準照明光Lsの方位角
φV:反射光Vの方位角
φVs:基準反射光Vsの方位角
μ,μ1〜μ4,μi,μ(i+1):ξρ座標上の線グラフ
ξ,ρ:ハフ変換用の座標系の各座標軸
ξa:x軸と垂線OFとのなす角
ρa:垂線OFの長さ
ξγ:x軸と垂線OFとのなす角/ξ座標軸上の座標値
ργ:垂線OFの長さ/ρ座標軸上の座標値
ξε:ξ座標軸上の座標値
ρε:ρ座標軸上の座標値
Δξ,Δρ:偏差

Claims (25)

  1. 物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、前記所定位置から所定の射出方向に向かう反射光の反射率を、前記被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義したデータを、前記被測定面についての反射特性データとして作成する物体の反射特性データの作成方法であって、
    平面上に描かれた直線で構成される基準枠の内部に、被測定面を有する物体を載置する物体載置段階と、
    光源と前記被測定面とカメラとが所定の位置関係になるような撮影条件を、前記光源と前記被測定面との位置関係を複数m通りに変化させ、かつ、前記被測定面と前記カメラとの位置関係を複数n通りに変化させることにより、合計(m×n)通り設定する撮影条件設定段階と、
    設定された(m×n)通りの撮影条件のそれぞれについて、前記光源によって照明されている前記被測定面の画像を前記カメラで撮影する撮影処理を実行することにより、(m×n)枚の物体撮影画像を得る物体撮影段階と、
    前記(m×n)枚の物体撮影画像に対して、所定の画像変換方法を利用した画像変換を行い、(m×n)枚の正則画像を得る画像変換段階と、
    前記(m×n)枚の正則画像に基づいて、物体の反射特性データを作成する反射特性データ作成段階と、
    を有し、
    前記所定の画像変換方法は、
    前記基準枠の内部に配置された被写体を、所定方向から撮影することにより得られる撮影画像を、前記平面上の基準点に立てた法線方向から見た正則画像に変換する画像変換方法であって、
    前記撮影画像もしくは前記撮影画像に所定の加工処理を施した画像を、二次元xy座標系に所定の画素値をもった画素を配列してなる画像データとして入力する画像入力段階と、
    前記xy座標系上の任意の直線を、座標軸に対する向きを示す変数ξと原点に対する変位を示す変数ρを用いて表わす表現形式を用い、前記画像データを構成する個々の画素について、当該画素の基準位置を通る直線群のそれぞれについての変数(ξ,ρ)の組合わせを求め、二次元ξρ座標系上に各変数対(ξ,ρ)に対応する座標点をプロットし、これら座標点の集合により構成される線グラフμを各画素ごとに前記ξρ座標系上に求める線グラフ演算段階と、
    前記ξρ座標系上に、各画素が同一の初期画素値を有する積算用二次元画素配列を定義し、この積算用二次元画素配列上に、前記画像データを構成する第i番目の画素Piについて求められた線グラフμiを重ね合わせ、この線グラフμi上もしくはその近傍に位置する画素の画素値に、前記画素Piのもつ画素値を積算する処理を、第1番目の画素から第N番目の画素まで(但し、1≦i≦N、Nは前記画像データに含まれる画素配列上の全画素数)繰り返し実行する画素値積算段階と、
    前記撮影画像を得る際の幾何学的な撮影条件に基づいて、前記xy座標系上に配置された撮影画像上に現れるであろう前記基準枠の像の位置を、幾何学的な演算によって予測する基準枠位置予測段階と、
    予測された前記基準枠の像を構成する各直線を示す変数(ξ,ρ)の組合わせについて、前記積算用二次元画素配列上に対応する座標点をそれぞれ幾何学的予測点εとしてプロットし、各幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素の基準位置を、対応する直線についての実測上予測点と決定する実測上予測点決定段階と、
    前記二次元xy座標系上に、前記各実測上予測点の座標値(ξ,ρ)によって表わされる直線を描き、これらの直線の位置を正しい基準枠の像の位置として取り扱い、幾何学的な演算によって前記撮影画像を前記正則画像に変換する正則変換段階と、
    を有することを特徴とする物体の反射特性データの作成方法。
  2. 請求項1に記載の反射特性データの作成方法において、
    所定領域の内部と外部とのコントラスト差による境界線からなる基準枠を用いた撮影により撮影画像が得られた場合に、
    画像入力段階で、撮影画像に対して微分処理を施して得られる微分画像を画像データとして入力することを特徴とする物体の反射特性データの作成方法。
  3. 請求項1または2に記載の反射特性データの作成方法において、
    線グラフ演算段階で、xy座標系上の任意の直線に、前記xy座標系の原点Oから垂線を下し、その足を点Fとしたときに、前記xy座標系の一軸と線分OFとのなす角度をξ、線分OFの長さをρで表わし、2つの変数ξ,ρにより前記直線を表わす表現形式を用いることを特徴とする物体の反射特性データの作成方法。
  4. 請求項1〜3のいずれかに記載の反射特性データの作成方法において、
    画素値積算段階で、線グラフμ上に位置する画素の画素値に、画素Piのもつ画素値を積算するとともに、線グラフμから所定の近傍距離dだけ離れた画素の画素値に、画素Piのもつ画素値に前記近傍距離dに応じた所定割合R(0≦R≦1の範囲をとり、近傍距離dが大きくなるほど小さくなる値)を乗じた値を積算することを特徴とする物体の反射特性データの作成方法。
  5. 請求項4に記載の反射特性データの作成方法において、
    所定割合Rを、線グラフμの位置を中心としてガウス分布をとるように設定することを特徴とする物体の反射特性データの作成方法。
  6. 請求項1〜5のいずれかに記載の反射特性データの作成方法において、
    線グラフ演算段階で、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ線グラフを求める演算を実行し、
    画素値積算段階で、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ画素値の積算処理を実行することを特徴とする物体の反射特性データの作成方法。
  7. 請求項1〜6のいずれかに記載の反射特性データの作成方法において、
    線グラフ演算段階で、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ線グラフを求める演算を実行し、
    画素値積算段階で、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ画素値の積算処理を実行することを特徴とする物体の反射特性データの作成方法。
  8. 請求項1〜7のいずれかに記載の反射特性データの作成方法において、
    基準枠位置予測段階で、撮影画像を得る際の幾何学的な撮影条件として、基準点に立てた法線と撮影装置の光軸とのなす角θと、前記光軸の「基準枠が描かれた平面」への投影像と前記基準点を通り前記「基準枠が描かれた平面」に含まれる所定の基準線ζとのなす角φと、前記撮影装置の光学系の焦点距離と、に基づく幾何学的な演算により基準枠の像の位置を予測することを特徴とする物体の反射特性データの作成方法。
  9. 請求項1〜8のいずれかに記載の反射特性データの作成方法において、
    実測上予測点決定段階で、幾何学的予測点εについての所定の近傍領域として、幾何学的予測点εの座標値を(ξε,ρε)としたときに、所定の偏差Δξ,Δρを用いて、ξε−Δξ≦ξ≦ξε+Δξ、ρε−Δρ≦ρ≦ρε+Δρなる条件を満たす座標値(ξ,ρ)で示される領域を設定することを特徴とする物体の反射特性データの作成方法。
  10. 請求項1〜9のいずれかに記載の反射特性データの作成方法において、
    実測上予測点決定段階で、幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素が複数存在した場合には、これら複数の画素の基準位置の重心位置を、対応する直線についての実測上予測点と決定することを特徴とする物体の反射特性データの作成方法。
  11. 請求項1〜10のいずれかに記載の反射特性データの作成方法において、
    実測上予測点決定段階で、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、正則画像への画像変換に失敗した取り扱いを行うことを特徴とする物体の反射特性データの作成方法。
  12. 請求項1〜11のいずれかに記載の反射特性データの作成方法において、
    矩形を示す基準枠を用いた撮影により撮影画像が得られた場合に、
    正則変換段階で、前記基準枠の像を構成する矩形の4頂点の位置に基づく幾何学的な演算により正則画像への変換を行うことを特徴とする物体の反射特性データの作成方法。
  13. 請求項1〜12のいずれかに記載の反射特性データの作成方法において、
    特定の物体撮影画像を正則画像に変換する画像変換段階における実測上予測点決定段階で、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、当該物体撮影画像に関する正則画像への画像変換に失敗した取り扱いを行い、
    画像変換に失敗した取り扱いが行われた物体撮影画像についての正則画像を、撮影条件が近似する別な物体撮影画像についての正則画像に基づく補間により求めることを特徴とする物体の反射特性データの作成方法。
  14. 物体の被測定面の所定位置に所定の入射方向から照明光を当てたときに、前記所定位置から所定の射出方向に向かう反射光の反射率を、前記被測定面の個々の位置ごとに、それぞれ複数m通りの入射方向および複数n通りの射出方向の組み合わせによる(m×n)通りの場合について定義したデータを、前記被測定面についての反射特性データとして作成する物体の反射特性データの作成装置であって、
    上面が平面をなし、この平面上に直線で構成される基準枠が描かれている撮影用ステージと、
    前記撮影用ステージ上に載置された物体を照明するための光源と、
    前記撮影用ステージ上に載置された物体を撮影するためのカメラと、
    前記光源と前記物体の被測定面との位置関係を複数m通りに変化させ、かつ、前記被測定面と前記カメラとの位置関係を複数n通りに変化させることにより撮影条件を設定する撮影条件設定部と、
    所定の画像変換装置と、
    を備え、
    前記所定の画像変換装置は、
    前記基準枠の内部に配置された被写体を、所定方向から撮影することにより得られる撮影画像を、前記平面上の基準点に立てた法線方向から見た正則画像に変換する画像変換装置であって、
    前記撮影画像もしくは前記撮影画像に所定の加工処理を施した画像を、二次元xy座標系に所定の画素値をもった画素を配列してなる画像データとして入力する画像入力部と、
    前記xy座標系上の任意の直線を、座標軸に対する向きを示す変数ξと原点に対する変位を示す変数ρを用いて表わす表現形式を用い、前記画像データを構成する個々の画素について、当該画素の基準位置を通る直線群のそれぞれについての変数(ξ,ρ)の組合わせを求め、二次元ξρ座標系上に各変数対(ξ,ρ)に対応する座標点をプロットし、これら座標点の集合により構成される線グラフμを各画素ごとに前記ξρ座標系上に求める線グラフ演算部と、
    前記ξρ座標系上に、各画素が同一の初期画素値を有する積算用二次元画素配列を定義し、この積算用二次元画素配列上に、前記画像データを構成する第i番目の画素Piについて求められた線グラフμiを重ね合わせ、この線グラフμi上もしくはその近傍に位置する画素の画素値に、前記画素Piのもつ画素値を積算する処理を、第1番目の画素から第N番目の画素まで(但し、1≦i≦N、Nは前記画像データに含まれる画素配列上の全画素数)繰り返し実行する画素値積算部と、
    前記撮影画像を得る際の幾何学的な撮影条件に基づいて、前記xy座標系上に配置された撮影画像上に現れるであろう前記基準枠の像の位置を、幾何学的な演算によって予測する基準枠位置予測部と、
    予測された前記基準枠の像を構成する各直線を示す変数(ξ,ρ)の組合わせについて、前記積算用二次元画素配列上に対応する座標点をそれぞれ幾何学的予測点εとしてプロットし、各幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素の基準位置を、対応する直線についての実測上予測点と決定する実測上予測点決定部と、
    前記二次元xy座標系上に、前記各実測上予測点の座標値(ξ,ρ)によって表わされる直線を描き、これらの直線の位置を正しい基準枠の像の位置として取り扱い、幾何学的な演算によって前記撮影画像を前記正則画像に変換する正則変換部と、
    を備え、
    前記カメラで撮影された撮影画像が前記画像変換装置の前記画像入力部へ与えられるように構成され、
    前記画像変換装置によって変換された正則画像に基づいて、物体の反射特性データを作成する反射特性データ作成部を更に有することを特徴とする物体の反射特性データの作成装置。
  15. 請求項14に記載の反射特性データの作成装置において、
    線グラフ演算部が、xy座標系上の任意の直線に、前記xy座標系の原点Oから垂線を下し、その足を点Fとしたときに、前記xy座標系の一軸と線分OFとのなす角度をξ、線分OFの長さをρで表わし、2つの変数ξ,ρにより前記直線を表わす表現形式を用いることを特徴とする物体の反射特性データの作成装置。
  16. 請求項14または15に記載の反射特性データの作成装置において、
    画素値積算部が、線グラフμ上に位置する画素の画素値に、画素Piのもつ画素値を積算するとともに、線グラフμから所定の近傍距離dだけ離れた画素の画素値に、画素Piのもつ画素値に前記近傍距離dに応じた所定割合R(0≦R≦1の範囲をとり、近傍距離dが大きくなるほど小さくなる値)を乗じた値を積算することを特徴とする物体の反射特性データの作成装置。
  17. 請求項16に記載の反射特性データの作成装置において、
    所定割合Rが、線グラフμの位置を中心としてガウス分布をとるように設定されていることを特徴とする物体の反射特性データの作成装置。
  18. 請求項14〜17のいずれかに記載の反射特性データの作成装置において、
    線グラフ演算部が、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ線グラフを求める演算を実行し、
    画素値積算部が、全N個の画素のうち、所定範囲内の画素値を有する画素についてのみ画素値の積算処理を実行することを特徴とする物体の反射特性データの作成装置。
  19. 請求項14〜18のいずれかに記載の反射特性データの作成装置において、
    線グラフ演算部が、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ線グラフを求める演算を実行し、
    画素値積算部が、全N個の画素のうち、所定の考慮領域内に位置する画素についてのみ画素値の積算処理を実行することを特徴とする物体の反射特性データの作成装置。
  20. 請求項14〜19のいずれかに記載の反射特性データの作成装置において、
    基準枠位置予測部が、撮影画像を得る際の幾何学的な撮影条件として与えられた、基準点に立てた法線と撮影装置の光軸とのなす角θと、前記光軸の「基準枠が描かれた平面」への投影像と前記基準点を通り前記「基準枠が描かれた平面」に含まれる所定の基準線ζとのなす角φと、前記撮影装置の光学系の焦点距離と、に基づく幾何学的な演算により基準枠の像の位置を予測することを特徴とする物体の反射特性データの作成装置。
  21. 請求項14〜20のいずれかに記載の反射特性データの作成装置において、
    実測上予測点決定部が、幾何学的予測点εについての所定の近傍領域として、幾何学的予測点εの座標値を(ξε,ρε)としたときに、所定の偏差Δξ,Δρを用いて、ξε−Δξ≦ξ≦ξε+Δξ、ρε−Δρ≦ρ≦ρε+Δρなる条件を満たす座標値(ξ,ρ)で示される領域を用いることを特徴とする物体の反射特性データの作成装置。
  22. 請求項14〜21のいずれかに記載の反射特性データの作成装置において、
    実測上予測点決定部が、幾何学的予測点εについての所定の近傍領域に所属する画素のうちの画素値が最大もしくは最小の画素が複数存在した場合には、これら複数の画素の基準位置の重心位置を、対応する直線についての実測上予測点と決定することを特徴とする物体の反射特性データの作成装置。
  23. 請求項14〜22のいずれかに記載の反射特性データの作成装置において、
    実測上予測点決定部が、近傍領域内の最大画素値が所定のしきい値に満たない場合もしくは最小画素値が所定のしきい値を超えてしまう場合には、実測上予測点の決定を行わず、正則画像への画像変換に失敗した旨のメッセージを提示することを特徴とする物体の反射特性データの作成装置。
  24. 請求項14〜23のいずれかに記載の反射特性データの作成装置において、
    撮影用ステージの上面に、物体を載置するための矩形が形成されており、前記矩形の内部領域と外部領域とはコントラストに差が生じるように構成され、両領域の境界線によって基準枠が構成されており、
    カメラで撮影された撮影画像に対して微分処理を実行する微分処理部が更に設けられており、微分処理後の画像が画像入力部へ与えられるように構成されており、
    正則変換部が、前記基準枠の像を構成する矩形の4頂点の位置に基づく幾何学的な演算により正則画像への変換を行うことを特徴とする物体の反射特性データの作成装置。
  25. 請求項14〜24のいずれかに記載の反射特性データの作成装置において、
    実測上予測点決定部が、近傍領域内の最大画素値が所定のしきい値に満たない、もしくは最小画素値が所定のしきい値を超えてしまうと判断した場合には、正則画像への画像変換に失敗した旨のエラー信号を出力し、
    反射特性データ作成部が、前記エラー信号が出力されたために画像変換装置からは得られなかった正則画像を、撮影条件が近似する別な物体撮影画像についての正則画像に基づく補間により求めることを特徴とする物体の反射特性データの作成装置。
JP2006270645A 2006-10-02 2006-10-02 物体の反射特性データの作成方法および作成装置 Active JP4888023B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006270645A JP4888023B2 (ja) 2006-10-02 2006-10-02 物体の反射特性データの作成方法および作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006270645A JP4888023B2 (ja) 2006-10-02 2006-10-02 物体の反射特性データの作成方法および作成装置

Publications (2)

Publication Number Publication Date
JP2008090590A JP2008090590A (ja) 2008-04-17
JP4888023B2 true JP4888023B2 (ja) 2012-02-29

Family

ID=39374666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006270645A Active JP4888023B2 (ja) 2006-10-02 2006-10-02 物体の反射特性データの作成方法および作成装置

Country Status (1)

Country Link
JP (1) JP4888023B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6054831B2 (ja) * 2013-09-03 2016-12-27 国立大学法人 東京大学 画像処理装置、画像処理方法及び画像処理プログラム
WO2018159535A1 (ja) * 2017-02-28 2018-09-07 株式会社島津製作所 画像処理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3962588B2 (ja) * 2002-01-07 2007-08-22 キヤノン株式会社 三次元画像処理方法、三次元画像処理装置、三次元画像処理システムおよび三次元画像処理プログラム
JP2006074512A (ja) * 2004-09-02 2006-03-16 Casio Comput Co Ltd 撮影装置、撮影装置の画像処理方法及びプログラム
JP4561302B2 (ja) * 2004-10-15 2010-10-13 カシオ計算機株式会社 撮影装置、撮影装置の画像処理方法及びプログラム
JP2006163545A (ja) * 2004-12-03 2006-06-22 Canon Inc 3次元データ処理プログラム、3次元データ処理システム及び3次元データ処理方法

Also Published As

Publication number Publication date
JP2008090590A (ja) 2008-04-17

Similar Documents

Publication Publication Date Title
US9886759B2 (en) Method and system for three-dimensional data acquisition
JP6007178B2 (ja) 3次元撮像システム
JP6201476B2 (ja) 自由視点画像撮像装置およびその方法
TWI387936B (zh) A video conversion device, a recorded recording medium, a semiconductor integrated circuit, a fish-eye monitoring system, and an image conversion method
JP6344050B2 (ja) 画像処理システム、画像処理装置、プログラム
JP6223169B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR100914211B1 (ko) 왜곡 영상 보정 장치 및 방법
WO2017154705A1 (ja) 撮像装置、画像処理装置、画像処理プログラム、データ構造、及び撮像システム
JP2018514237A (ja) 歯科用3dスキャナ用のテクスチャマッピングの装置及び方法
JP2008016918A (ja) 画像処理装置、画像処理システムおよび画像処理方法
JP6541920B1 (ja) 情報処理装置、プログラム及び情報処理方法
JPH07294215A (ja) 画像処理方法及び装置
US10091490B2 (en) Scan recommendations
JP2008217243A (ja) 画像生成装置
WO2009120073A2 (en) A dynamically calibrated self referenced three dimensional structured light scanner
JP7432793B1 (ja) 三次元点群に基づくマッピング方法、装置、チップ及びモジュール機器
JP4888023B2 (ja) 物体の反射特性データの作成方法および作成装置
KR101817756B1 (ko) 인터랙티브한 시점 제어가 가능한 3차원 모델 기반의 ptm 생성 시스템 및 이를 이용한 ptm 생성 방법
JP7298687B2 (ja) 物体認識装置及び物体認識方法
JP6776004B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP4802676B2 (ja) レンダリング用テクスチャデータの作成方法
JP4548228B2 (ja) 画像データ作成方法
CN115753019A (zh) 采集设备的位姿调整方法、装置、设备和可读存储介质
JP6867766B2 (ja) 情報処理装置およびその制御方法、プログラム
JP3823559B2 (ja) 三次元距離データを変換する方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110902

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111115

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111128

R150 Certificate of patent or registration of utility model

Ref document number: 4888023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3