"計測対象物の3次元形状を計測する形状計測装置であって、ステージ上に配置された計測対象物に光を照射する照明装置と、前記計測対象物を撮像する撮像装置と、前記照明装置から光を照射した状態で前記撮像装置による撮像を行うことにより得られた画像から、前記計測対象物の表面上の複数の点における法線の向きを算出し、その法線の向きの算出結果から前記計測対象物の表面の3次元形状を算出する形状算出装置と、前記計測対象物の表面上の1以上の点について、所定の基準位置からの距離を計測する測距装置と、前記測距装置で得られた距離の情報を用いて、前記形状算出装置で得られた前記計測対象物の表面の3次元形状の空間位置を決定する決定装置と、を有する形状計測装置。前記測距装置は、縞状または格子状のパタンを前記計測対象物に投影する投影装置を有しており、前記測距装置は、縞状または格子状のパタンを投影した状態で撮像された前記計測対象物の画像を解析することにより前記計測対象物の表面上の点の距離を算出するものである請求項1に記載の形状計測装置。前記撮像装置は、前記測距装置が測距用の画像を撮像するための装置を兼ねている請求項2に記載の形状計測装置。前記照明装置は、所定の広さの発光領域を有する面光源であり、前記発光領域内の各位置から照射される光のスペクトル分布が互いに異なっている請求項1~3のうちいずれか1項に記載の形状計測装置。前記照明装置は、互いに異なる複数の照明パタンを重ね合わせた光を照射し、または、前記複数の照明パタンを順次照射する面光源であり、各照明パタンは、前記計測対象物が配置される点を通る前記ステージに平行な所定の直線を中心軸として、前記中心軸周りの角度に対し発光強度が線形に変化するように設定されている請求項1~4のうちいずれか1項に記載の形状計測装置。計測対象物の3次元形状を計測する形状計測方法であって、ステージ上に配置された計測対象物に光を照射するステップと、前記光を照射した状態で前記計測対象物を撮像するステップと、前記撮像ステップで得られた画像から、前記計測対象物の表面上の複数の点における法線の向きを算出し、その算出結果から前記計測対象物の表面の3次元形状を算出するステップと、前記計測対象物の表面上の1以上の点について、所定の基準位置からの距離を計測する測距ステップと、前記測距ステップで得られた距離の情報を用いて、前記形状算出ステップで得られた前記計測対象物の表面の3次元形状の空間位置を決定するステップと、を有する形状計測方法。以下、図面を参照して本発明の好適な実施形態について説明する。本発明の実施形態の形状計測装置は、画像解析により鏡面物体の3次元計測を行うものである。本実施形態の形状計測装置は、自動計測装置、自動検査装置、ロボットビジョンなど様々な分野における物体認識に適用可能である。例えば、形状計測装置は基板外観検査装置AOIシステムにおけるはんだ付けの良否検査や、金属加工物表面の凹凸検査などに好ましく適用することができる。<計測装置の全体構成>図1を参照して、本実施形態の形状計測装置の全体構成について説明する。図1は形状計測装置のハードウェア構成を模式的に示す図である。形状計測装置は、概略、計測ステージ5、検査ヘッドH、および、情報処理装置6を備える。検査ヘッドHには、照明装置3、プロジェクタ2、および、カメライメージセンサ1が取り付けられている。照明装置3は、計測ステージ5上に配置された計測対象物4に測定光を照射する。プロジェクタ2は、計測対象物4の表面に所定の縞状パタンを投影する。カメラ1は、鉛直上方から計測対象物4を撮影する。情報処理装置6は、CPU中央演算処理装置60、メモリ61、記憶装置62、検査ヘッド制御部63、画像入力部64、プロジェクタ制御部65、照明装置制御部66、ステージ制御部67、ユーザI/F68、表示部69などを備えている。検査ヘッド制御部63は検査ヘッドHのZ方向計測ステージ5に垂直な方向の移動を制御する機能であり、ステージ制御部67は計測ステージ5のXY方向の移動を制御する機能である。プロジェクタ制御部65はプロジェクタ2の点灯および消灯や投影パタンの変更を制御する機能である。照明装置制御部66は照明装置3の点灯および消灯必要に応じて照明パタンの切り替えを制御する機能である。画像入力部64はカメラ1からデジタル画像を取り込む機能である。ユーザI/F68はユーザにより操作される入力装置である。ユーザI/F68の例としては、ポインティングデバイス、タッチパネル、キーボードなどがある。計測結果は表示部69の画面に表示される。例えば、表示部69は液晶ディスプレイで構成される。本実施形態の形状計測装置は、形状計測と測距の2つの計測機能を有している。本実施形態の形状計測装置の特徴の一つは、形状計測機能で得られた物体表面の3次元形状と測距機能で得られた物体表面の距離高さ情報とを組み合わせることで、計測対象物4の3次元形状およびその空間位置を簡易かつ高精度に求める点である。ここで形状計測機能は照明装置3とカメラ1と情報処理装置6とで構成され、測距機能はプロジェクタ2とカメラ1と情報処理装置6とで構成されている。すなわち、2つの計測機能は、光源はそれぞれ別のものを用いるが、計測対象物4からの反射光の測定には同一の観測系カメラ1を用いている。計測時には、検査ヘッドHと計測ステージ5が相対的に移動し、計測対象物4が所定の計測位置図1の例では、照明装置3の中央カメラ1の光軸と計測ステージ5の交点に位置決めされる。そして、照明装置3から測定光を照射した状態で形状計測用の画像が撮影され、続いて、プロジェクタ2がパタンを投影し測距用の画像が撮影される。形状計測と測距の順番は逆でもよい。カメラ1で撮影された画像は画像入力部64を介して情報処理装置6に取り込まれ、その画像は画像解析に供される。各計測機能の構成および処理について詳しく説明する。<形状計測>形状計測機能は、計測対象物表面の3次元形状を計測するための機能である。ここでは金属のような鏡面物体が計測対象となるため、以下に述べるような構造化照明を用いて物体表面の法線を計測し表面形状を復元する方法を用いる。照明装置照明装置3は、図1に示すようにドーム形状をした面光源であり、このドーム形状の全てが発光領域である。照明装置3の天頂部分と側方にはそれぞれカメラ1とプロジェクタ2のための開口が設けられている。照明装置3は、例えば、ドーム形状のカラーフィルタと、その外部から白色光で計測対象物4を照射する光源とから構成することができる。また、例えば、複数のLEDチップをドームの内側に配列させて拡散板を通して計測対象物4を照射する構成にしても良い。また、液晶ディスプレイや有機ELディスプレイなどをドーム形状にして、照明装置3を構成することもできる。照明装置3の発光領域の形状は、計測対象物4の全方位から光を照射できるように半球状のドーム形状であることが好ましい。こうすることにより、あらゆる方向の法線を計測可能となる。しかしながら、計測の対象とする法線方向に対応した位置から光が計測対象物4に照射されるような形状であれば、発光領域の形状はどのようなものであっても良い。例えば、表面の法線の向きがほぼ鉛直方向に限られるのであれば、水平方向から角度の浅い方向からの光で計測対象物4を照射する必要がない。照明装置3の発光領域の各位置における発光は、全ての位置で異なるスペクトル分布の光を発するように設定される。例えば、発光が赤色光R、緑色光G、青色光Bの3色の光成分の合成で実現される場合に、図2に示すようにRGBの各成分の発光強度をドーム上で異なる方向に対して変化させる。ここでは、変化方向が互いに120度となるようにしている。このようなRGB成分の組み合わせにより、発光領域の各位置での発光はRGB各成分の組み合わせが全て異なることとなる。したがって、全ての位置で異なるスペクトル分布の光を発し、計測対象物4への入射方向が異なれば入射する光のスペクトル分布RGBの強度比が異なるように設定できる。なお、発光色は前述の3色だけでなく3色以上の色成分カラーチャンネルを用いてもよい。図3Aおよび図3Bに、図2における一つの成分光の強度変化照明パタンを示した。図3Aは一つの成分光の等色等発光強度線を示す斜視図である。図3Bは図3Aに対応する側面図である。図3Aおよび図3Bに示すように、ドーム半球とドームの直径を通る平面との交線が等色線となる。便宜上、図2、図3A、図3BではRGB各成分の発光強度が段階的に変化図2、図3A、図3Bでは8段階で変化するように示している。しかし実際には各成分光の発光強度輝度は連続的に変化している。そして、この発光強度の変化は角度に対して線形に変化するように設定する。より具体的には、発光強度の最小値をLmin、発光強度の最大値をLmax、等色線を含む平面と水平面計測ステージ5とのなす角度をθとしたとき、この等色線上での発光強度LθはLθ=LminLmax-Lmin×θ/πの関係を満たすように発光強度を設定する。図3Aに示すように極を定義すると、このθは経度であり、本実施形態における光源分布照明パタンは経度に対して線形に変化すると表現することができる。あるいは、この照明パタンは、計測対象物が配置される点Oを通る計測ステージ5に平行な直線を中心軸として、この中心軸周りの角度θに対し発光強度が線形に変化するように設定されている、と表現することもできる。このような光源分布照明パタンをもつ照明装置を利用することで、1枚の画像のみから計測対象物の表面形状法線の向きを計測することができる。このことを図4を参照して説明する。計測対象物4の表面上のある点における法線の向きが矢印Nの向きであり、天頂角がθ、方位角がφであるとする。このとき、カメラ1によって撮影される像点の色は、照明装置3の領域Rで発光し計測対象物4へ入射する光の反射光となる。このように、表面の法線の向きθ、φと、入射光の方向照明装置3の発光領域における位置は1対1に対応する。そして、異なる方向から入射される光は異なるスペクトル分布をもつ発光領域の全ての位置で異なるスペクトル分布の光を発していることから、撮影画像の色スペクトル分布を調べることで、その点における法線の向きを天頂角および方位角の両方について、算出することができる。法線算出および形状復元次に図5および図6を参照して、形状計測に関わる機能および処理の流れを説明する。図5は本形状計測装置の計測処理の流れを示すフローチャートであり、図6はその計測処理の流れを模式的に図示したものである。図5に示す処理は、情報処理装置6のCPU60が記憶装置62からプログラムを読み込み実行することにより実現されるものである。これらの機能ブロックの一部または全部をASICやPLDプログラマブルロジックデバイスなどで構成してもよい。CPU60は、画像入力部64を介して形状計測用の画像を取り込み、その形状計測用の画像から計測対象物部分の画素のそれぞれについて、反射光のスペクトル成分に関する特徴量を算出するステップS10。本実施形態では、照明装置3が、赤色光R、緑色光Gおよび青色光Bの3つの成分光を組み合わせた光を投光しているため、ここでは特徴量としてRGB各成分の比を利用する。例えば、RGBの各成分について、最大輝度を1で正規化した上で、R,G,Bの組み合わせを特徴量とすることができる。また、ある色ここではGに対する他の色の比、例えば、R/RG,B/BGなどを特徴量としても良い。上述したように、計測対象物4の色、すなわち、ステップS10で算出される特徴量と、法線の向きとは1対1に対応する。情報処理装置6の記憶装置62内には、法線の向きと特徴量の値との対応関係を記述したテーブルが格納されている。このテーブルは、真球などの形状が既知の物体に対して、照明装置3およびカメラ1を使った撮影を行って、法線と特徴量との対応関係をあらかじめ調べることで作成可能である。例えば、真球の物体を利用した場合、注目する画素の中心からの位置を調べることで、その法線の向きを計算によって求めることができる。そして、この位置における特徴量を算出することで、法線の向きと特徴量の対応関係を調べることが可能である。法線と特徴量の対応関係ではなく、法線とRGBの値の対応関係、入射光の方向天頂角と方位角と特徴量の値の対応関係、または、入射光の方向とRGBの値の対応関係をテーブルに記述してもよい。あるいは、法線の向きとカメラ1で撮影されるスペクトル分布の関係が、幾何配置等から定式化できるのであれば、この算出式を用いて法線を算出しても良い。CPU60は、入力画像から算出した特徴量とテーブルとから、計測対象物4の表面上の各点における法線の向きを算出するステップS11。半球状の計測対象物4の画像から算出された法線マップの例を図6のaに示す。なお法線マップとは、計測対象物表面の各点における法線を単位ベクトルで図示したものである。CPU60は、ステップS11で得られた各点の法線を勾配に変換し、それらの勾配をつなぎ合わせることで3次元形状を復元するステップS12。ステップS10からS12の処理を積分と表現する。図6のbは、aの法線マップから復元された形状を示す。積分によれば、鏡面物体の表面の3次元形状を精度良く復元することができる。ただし、あくまでも勾配の積み上げにより各点の相対的な高さを計算しているにすぎないので、復元された3次元形状全体の絶対的な高さ空間位置は不明である。積分を補完するのが、次に説明する測距機能である。<測距>測距機能は、計測対象物表面の高さ所定の基準位置からの距離を計測するための機能である。ここでは位相シフト法を利用して、計測対象物の表面上の点の高さ情報を得る。位相シフト法とは、縞状パタンを計測対象物の表面に投影し、表面の凹凸によるパタンの歪を解析することにより表面の3次元計測を行う手法の一つである。具体的には、位相シフト法では、輝度が正弦波状に変化する縞状パタンを物体表面に投影し撮影するという処理を、輝度変化の位相を変化させながら複数回繰り返すことで、明るさの相違する複数枚の画像を得る。各画像の同一画素の明るさ濃度値は縞状パタンの変化と同一の周期で変化するはずであるから、各画素の明るさの変化に対して正弦波を当てはめることで、各画素の位相が分かる。そして、所定の基準位置計測テーブル表面、基板表面などの位相に対する位相差を求めることで、その基準位置からの距離高さを算出することができる。前述したように、位相シフト法は原理的には鏡面物体の3次元計測には適していない。ただし、鏡面物体といっても、実際には反射光に多少の拡散反射成分が含まれていたり、正反射方向を向いている面が存在したりする。そのため、精度良く高さを計測できる点がいくらか存在する。本実施形態の場合、計測対象物4の3次元形状そのものは法線積分により得られているから、測距では少なくとも物体表面上の1点好ましくは複数点の高さ情報が精度良く得られればよい。このような目的であれば位相シフト法は十分実用に足りる。図5および図6を参照して、測距に関わる機能および処理の流れを説明する。CPU60は、画像入力部64を介して測距用の画像を取り込むステップS20。ここでは縞状パタンの位相をπ/2ずつずらして4枚の画像を取得する。CPU60は、各画素の明るさの変化に正弦波を当てはめることで、各画素の位相を求めるステップS21。半球状の計測対象物4の画像から算出された位相マップの例を図6のcに示す。位相マップとは、同位相の画素を同じ明るさで図示したものである。次にCPU60は、三角測量の原理により各画素の位相から距離高さを算出するステップS22。このようにして得られた測距結果を図6のdに示す。図6bと比較すると、位相シフトによる測距結果はばらつきが大きく、精度が低いことが分かる。<空間位置の決定>上記処理により計測対象物4の復元形状と測距結果が得られたら、復元形状と測距結果を組み合わせて復元形状の空間位置高さが決定される。具体的には、CPU60は、全画素の測距結果高さ情報の中から信頼度の高い測距結果を選別する処理を行うステップS30。信頼度の評価指標としては、当該画素の明るさの変化のカーブと正弦波とのマッチング度合いを示すスコアを用いることができる。このスコアは、ステップS21において画素の明るさの変化に最も合致する正弦波を探索する際に求められる値である。ここでは、信頼度の値が所定の閾値よりも高い画素の測距結果のみ選出される。選出された測距結果の例を図6のeに示す。dと比較すると、ばらつきがかなり軽減されていることが分かる。信頼度の評価指標は画素の明るさの変化のカーブと正弦波とのマッチング度合いに限られず、明るさの変化から決定される位相、または、正反射成分の強度から決定される値を信頼度の評価指標として用いてもよい。CPU60は、ステップS30で得られた測距結果高さ情報を用いて、計測対象物4の復元形状の位置決めを行うステップS31。ここでは、最小二乗法により、測距結果に最もフィットする復元形状のZ方向位置を求める。これにより、図6のfに示すように、計測対象物4の3次元的な形状および位置を確定できる。本実施形態では信頼度に基づき測距結果高さ情報の選別を行った。しかし、全ての測距結果をもとに3次元形状の位置決めを行っても実用上問題ない精度が得られる場合や、測距結果の数が少ない場合には、選別は不要である。また選別を行う場合の評価指標は上記のものに限らず、どのような指標を用いてもよい。<実施形態の利点>本実施形態の形状計測装置によれば、測距により求めた高さ情報を、形状計測により求めた復元形状に組み合わせることで、鏡面物体表面の3次元形状およびその空間位置を精度良く計測することができる。測距と形状計測における観測系カメラを共通にしたことで、形状計測結果と測距結果の間のXY座標画像座標の位置合わせを省略できるという利点もある。もし測距と形状計測で異なる観測系を用いた場合は、測距により得られた高さ情報が、形状計測により得られた表面形状のどの点の高さを表しているのかを特定しなければならないが、このような位置同定処理を精度良く行うことは難しい。したがって、形状計測結果と測距結果の位置合わせを省略できることは、処理の簡易化ならびに精度の向上という観点から非常に好ましい。さらに観測系を共通にすることは、装置の小型化や低コスト化にも寄与する。形状計測の照明として、全ての入射角方向について異なるスペクトル分布の光が入射するような照明装置3を利用していることから、1枚の画像だけから計測対象物4の法線の向きを、天頂角成分および方位角成分の両方について求めることができる。画像の撮影が1回だけであること、および、法線の向きの算出が法線と特徴量の対応関係を格納したテーブルを調べるだけで分かることから簡単に高速に計測対象物4の表面形状を計測することが可能である。拡散物体反射特性がLambertian特性をもつ物体を撮影する場合、その画像は様々な方向からの入射光が混じり合ったものとなる。本実施形態では、照明装置3の発光領域を、RGBの3つの成分の光を図2に示すように均等な方向互いに120度の向きに変化させ、かつ、その変化の度合いを同じにしている。したがって、図7に示すように、任意の天頂角についてその天頂角における全方位角方向からの1色あたりの光強度の総和は各色で同一となる。全天頂角について積分しても各色の光強度の総和は同一である。そのため、拡散物体から鉛直方向に位置するカメラに入射する光のRGBの成分光は全て同じ強度となり、その撮影画像は拡散物体に関しては白色の反射光が撮影されることになる。つまり、撮影対象が、鏡面物体計測対象物体と拡散物体の両方から構成される場合に、鏡面物体の表面形状を計測可能であるとともに、拡散物体についてはあたかも白色光が照射されたかのような撮影が可能である。したがって、例えば、はんだ検査を行う際に、はんだ以外の対象基板、ICなどについては対象色に基づいた検査が実施可能となる。照明装置3を利用することで、反射特性が不均一な対象物に対しても精度の良い計測が行える。以下、このことについて説明する。図8に示すように、完全鏡面ではない物体に入射した光の反射光は、正反射の方向に鋭く狭い光鏡面スパイクと、正反射方向からずれた方向へのぼんやりと広がった光鏡面ローブの2つからなる。鏡面ローブとは、計測対象表面上の微小凹凸面マイクロファセットによって引き起こされる鏡面反射光の広がりのことを指す。マイクロファセットの向きがばらつくほど、すなわち表面が粗くなるほど鏡面ローブは広がる。逆にマイクロファセットの向きのばらつきが小さくなるほど、計測対象物表面は完全鏡面の状態に近づく。ここで、正反射方向からのずれ角度とスパイクに対するローブの光強度の比が、反射特性を表す。反射特性が均一ではない物体では、各表面位置における表面粗さに応じて鏡面ローブの形状が異なる。表面が非常に粗い場合、反射光は鏡面ローブのみで構成されることになる。この場合、鏡面ローブと鏡面スパイクの比は1に近づき、鏡面ローブと鏡面スパイクはほとんど区別できない。鏡面ローブの広がりがあることで、撮影画像における輝度値は、物体の表面位置に対応する発光領域図4における領域Rからの光だけでなく、その周囲からの光の影響も受ける。つまり、表面が粗い物体では、正反射方向に対応する発光領域からの光とその周囲の領域からの光とが混じり合ってしまい、完全鏡面の場合と異なるスペクトル特徴が観測されることとなる。このとき、周囲の領域からの光がちょうどキャンセルして完全鏡面の場合と同様のスペクトル特徴が保たれるような照明を行うことができれば、反射特性が均一でない物体や表面が粗い物体でも、あたかも完全鏡面の物体と同じように計測することができる。反射特性が均一でない物体や表面が粗い物体の計測を実現するためには、理論的には、照明装置3の光源分布照明パタンを次のように設定すればよい。すなわち、図9に示すように、入射角θi,φiの方向から計測点pに入射する光源の放射輝度をLip,θi,φiとしたときに、点pにおける任意の法線ベクトルおよび発光領域上の任意の点対称領域Ωについて、以下の式が成り立てばよい。ここで、pは物体表面上の計測点、θi,φiは光源の入射方向θは天頂角成分、φは方位角成分。以下同じ。、θr,φrは光源の光の反射方向カメラの視線方向、fは点pの反射特性、Ωは反射特性fでの鏡面ローブのプロスペクト立体角、kfは放射輝度の減衰比物体表面の反射特性に依存するである。本実施形態による照明装置3では、RGB各成分光の発光強度を、角度経度に対して線形に変化するように設定している図2、図3A、図3B参照。角度経度に対して輝度が線形に変化する照明パタンは上記式の近似解の一つである。また、RGBの各成分光のパタンを重ね合わせて得られる照明装置3の照明パタンも上記式の近似解となる。このような照明パタンを利用することで鏡面ローブの影響を相殺できることを、図10を参照して別の観点から説明する。図10は、本実施形態における照明パタンの効果を説明するために、理想に近い光が得られる輝度変化方向の1次元方向を示した図である。ここでは、図10に示すように、角度a正反射方向、角度aα、角度a-αの3点からの光についてのみ考える。角度aα、a-αの位置からの光のローブ係数は、互いに等しくσであるとする。また、照明装置3の発光強度は、角度に比例するものとして、角度a-α、a、aαのそれぞれの位置において、a-αL、aL、aαLであるとする。すると、この3点からの反射光の合成は、σa-αLaLσaαL=12σaLとなり、周囲からの光の拡散光による影響が相殺されることが分かる。ここではa±αの2点のみを考えているが、周囲からの光の拡散光の影響は全て相殺されることは容易に分かる。このことは、RGBそれぞれの光について成立し、したがって、RGBの各色の発光強度の比によって表される特徴量は、完全鏡面反射の場合と同一の値となる。よって、反射特性が均一でない物体の場合であっても、完全鏡面反射の場合と同様、1枚の撮影画像から計測対象物の表面形状を精度良く取得することができる。上記の説明は最も理想的な効果が得られる方向についての説明である。その他の方向については、上記のような線形性が崩れてしまい厳密には拡散反射の影響を相殺することはできないが、実用上問題ない範囲で拡散反射の影響を除去することが可能である。<照明装置の変形例>上記実施形態の説明では、RGBの3色の発光強度が120度ずつ異なる方向に対して角度とともに変化するパタンを重ね合わせた照明装置を利用している。しかし、照明パタンはこれに限られるものではない。例えば、図11Aに示すように3色がそれぞれ下方向、右方向、左方向に変化するパタンのように、それぞれが異なる方向に対して変化するパタンを組み合わせたものを利用しても良い。3色全てを角度ともに変化させる必要はなく、図11Bに示すように1色については全面で均一の輝度で発光し、その他の2色については異なる方向に角度とともに変化するようなパタンを採用しても良い。上記実施形態では、異なるカラーチャンネルの照明パタンを重ね合わせた照明装置を用いることにより、1回の計測照明および撮影だけで対象物の3次元形状を復元することを可能にしている。ただし、上記実施形態に比べて計測時間は長くはなるものの、2種類以上の照明パタンを順次点灯してそれぞれ撮影を行い、得られた複数枚の画像を用いて3次元形状を復元してもよい。この方法でも同じ復元結果を得ることができる。照明パタンを切り替えながら撮影する場合は、図11Cに示すように、輝度分布が異なる複数のモノクロ照明パタンを用いることもできるこの場合はカメラもモノクロでよい。上記実施形態では、経度方向の角度に対して発光強度が線形に変化する照明パタンを採用した。しかし、照明パタンはこれに限られない。例えば図12Aおよび図12Bに示すように緯度方向に対して発光強度が線形に変化するパタンを用いることも好適である。このような照明パタンも上記式の近似解の1つであり、鏡面ローブの影響をほぼ相殺して正反射光を検出することが可能となる。また照明装置3の形状はドーム状半球状に限られず、図13に示すような平板形状でもよい。また平板を弧状に湾曲させた形状でもよい。このような形状の照明装置3においても、発光領域での各位置における発光のスペクトル分布が全ての位置で異なるように照明パタンを設定すれば、1回の計測で計測対象物4の3次元形状を復元できる。図14Aの例では、右方向に行くほど発光強度が大きくなる赤色光Rパタンと、左方向に行くほど発光強度が大きくなる緑色光Gパタンと、上方向に行くほど発光強度が大きくなる青色光Bパタンを重ね合わせている。この場合も、図14Bに示すように、各パタンにおいて、発光強度を角度θに対して線形に変化させることで、鏡面ローブの影響をほぼ相殺することができる。ここで、θは、点P計測対象物が配置される点を通り計測ステージ5に平行な直線周りの角度である。あるいは、θは、照明装置3の発光領域上の等発光強度線等色線と点Pを通る平面と、計測ステージ5に平行な平面とのなす角と表現することもできる。<その他の変形例>上記実施形態では位相シフト法により測距を行っている。代わりに、物体表面の高さ情報を得られるのであればいかなる測距方法を用いてもよい。中でも、縞状や格子状のパタンを物体に投影しそのパタンの歪を画像解析することによって高さ情報を得ることのできる測距方法が、観測系カメラを共通にできるという点から好ましい。この種の測距方法としては、例えば、光切断法、縞解析法などがある。もちろん画像解析以外の測距方法を用いてもかまわない。例えば、X線、赤外線、超音波などを用いた測距センサを用いることもできる。いずれの方法であっても、物体表面上の少なくとも1点の高さを特定できれば、この高さ情報を法線積分による復元形状に組み合わせることで、3次元的な形状および位置を決定することが可能となる。"