"物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測する面法線計測装置であって、前記物体に対する照明方向として、互いに直交する2つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する画像取得手段と、前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す2値画像に変換する輝度判定手段と、前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって2値化した複数の2値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する陰影ベクトル作成手段と、表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースを記憶する参照データベース記憶手段と、面法線を計測する対象物体について前記画像取得手段で取得した画像を、前記輝度判定手段で2値画像に変換し、当該2値画像に基づいて前記陰影ベクトル作成手段で作成した陰影ベクトルである計測対象陰影ベクトルと、前記参照データベース記憶手段に記憶されている参照データベースとに基づいて、画素ごとに、面法線を推定する面法線推定手段と、を備え、前記面法線推定手段は、画素ごとに、2つの前記所定の平面で特定される2つの方位についての、前記参照データベース記憶手段に記憶されている前記参照データベースの中で最も類似する前記参照陰影ベクトルと対応付けられた面法線を合成して、前記画素における面法線とすること、を特徴とする面法線計測装置。前記参照陰影ベクトルは、前記参照物体として、円柱を、当該円柱の中心軸を含む平面で切断した形状である半円柱であって、当該半円柱の前記中心軸が、前記所定の平面に垂直になるように設置した物体を用いて作成したことを特徴とする請求項1に記載の面法線計測装置。前記輝度判定手段は、前記明暗を示す2値画像の画素値として、絶対値が等しく符号が異なる値を割当て、前記面法線推定手段は、前記計測対象陰影ベクトルと前記参照陰影ベクトルとの内積が最大となる前記参照陰影ベクトルを、前記最も類似する参照陰影ベクトルとして抽出することを特徴とする請求項1又は請求項2に記載の面法線計測装置。互いに直交する2つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明する照明装置と、前記照明方向ごとに、前記物体を撮影する撮影装置と、前記撮影装置によって撮影された前記物体の画像に基づいて、前記物体の面法線を計測する請求項1乃至請求項3の何れか一項に記載の面法線計測装置と、を備えたことを特徴とする面法線計測システム。前記照明装置は、平行光によって前記物体を照明することを特徴とする請求項4に記載の面法線計測システム。暗室を備え、前記撮影装置による前記物体の撮影は、前記暗室内で行うことを特徴とする請求項4又は請求項5に記載の面法線計測システム。前記撮影装置は、前記物体から、前記2つの平面の交線の方向について離れた位置である定位置と前記照明装置の移動の障害とならない位置である退避位置との間を移動する撮影装置移動手段を備えたことを特徴とする請求項4乃至請求項6の何れか一項に記載の面法線計測システム。前記撮影装置は、複数の撮影装置を、前記照明装置の移動の障害とならない位置であって、互いに物体の死角となる表面を補完して撮影可能な位置に設置することを特徴とする請求項4乃至請求項6の何れか一項に記載の面法線計測システム。前記物体の撮影対象領域を複数の領域に分割し、前記分割領域ごとに前記照明装置によって照明して、前記撮影装置によって前記物体を撮影することを特徴とする請求項4乃至請求項8の何れか一項に記載の面法線計測システム。物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測するために、コンピュータを、前記物体に対する照明方向として、互いに直交する2つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する画像取得手段、前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す2値画像に変換する輝度判定手段、前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって2値化した複数の2値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する陰影ベクトル作成手段、表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースを記憶する参照データベース記憶手段、面法線を計測する対象物体について前記画像取得手段で取得した画像を、前記輝度判定手段で2値画像に変換し、当該2値画像に基づいて前記陰影ベクトル作成手段で作成した陰影ベクトルである計測対象陰影ベクトルと、前記参照データベース記憶手段に記憶されている参照データベースとに基づいて、画素ごとに、面法線を推定する面法線推定手段、として機能させ、前記面法線推定手段は、画素ごとに、2つの前記所定の平面で特定される2つの方位についての、前記参照データベース記憶手段に記憶されている前記参照データベースの中で最も類似する前記参照陰影ベクトルと対応付けられた面法線を合成して、前記画素における面法線とすること、を特徴とする面法線計測プログラム。しかしながら、位置座標である距離計測の結果を微分する方法では、微分というノイズ成分に敏感な処理を含むために誤差が大きくなり、CGへの適用においてよい効果を得るのが難しかった。また、特許文献1に記載の方法のように、偏光を利用する方法では、計測対象となる物体の表面における反射光が、鏡面反射成分を含むことを条件としているため、適用範囲に制限があった。本発明は、前記した問題点に鑑み創案されたもので、計測対象となる物体の表面の反射特性において、鏡面反射成分を含むことを必要とせず、また、物体表面までの距離を計測する必要のない面法線計測装置、面法線計測システム及び面法線計測プログラムを提供することを課題とする。前記した課題を解決するために、本発明の請求項1に記載の面法線計測装置は、物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測する面法線計測装置であって、画像取得手段と、輝度判定手段と、陰影ベクトル作成手段と、参照データベース記憶手段と、面法線推定手段と、を備える構成とした。かかる構成によれば、面法線計測装置は、画像取得手段によって、前記物体に対する照明方向として、互いに直交する2つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する。次に、面法線計測装置は、輝度判定手段によって、前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す2値画像に変換する。次に、面法線計測装置は、陰影ベクトル作成手段によって、前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって2値化した複数の2値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する。なお、互いに直交する2つの予め定められた所定の平面とは、例えば、XYZ空間において、XY平面を水平面とし、Z軸を垂直軸鉛直軸とする場合に、XZ平面及びYZ平面とすることができる。また、所定の方向とは、この所定の平面であるXZ平面及びYZ平面で特定される方位と、XY平面とのなす角度とで特定される方向とすることができる。ここで、面法線計測装置は、予め、表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースを参照データベース記憶手段に記憶しておく。また、面法線計測装置は、前記画像取得手段によって、前記所定の平面ごとに、面法線を計測する対象物体についての画像を取得し、当該画像を前記輝度判定手段によって、2値画像に変換し、前記陰影ベクトル作成手段によって、当該2値画像に基づく陰影ベクトルである計測対象陰影ベクトルを画素ごとに作成する。そして、面法線計測装置は、面法線推定手段によって、画素ごとに、前記参照データベース記憶手段に記憶されている前記参照データベースから、最も類似する前記参照陰影ベクトルを抽出し、当該抽出した参照陰影ベクトルと対応付けられた面法線を、前記所定の平面で特定される方位についての前記画素における前記対象物体の面法線であると推定する。そして、面法線計測装置は、面法線推定手段によって、2つの所定の平面で特定される方位ごとに推定された2つの面法線の合成ベクトルを算出し、前記画素における面法線の計測値とする。請求項2に記載の面法線計測装置は、請求項1に記載の面法線計測装置において、前記参照物体として、円柱を、当該円柱の中心軸を含む平面で切断した形状である半円柱を用いることとした。かかる構成によれば、予め、面法線計測装置は、当該半円柱の前記中心軸が、前記所定の平面に垂直になるように設置して、当該参照物体について、照明方向を変化させて撮影した画像を2値化した2値画像に基づいて作成した参照陰影ベクトルと、既知の面法線とを対応付けた情報の集合である参照データベースを参照陰影ベクトル記憶手段に記憶しておく。そして、面法線計測装置は、面法線推定手段によって、参照データベースを用いて面法線を推定する。請求項3に記載の面法線計測装置は、請求項1又は請求項2に記載の面法線計測装置において、前記輝度判定手段は、前記明暗を示す2値画像の画素値として、絶対値が等しく符号が異なる値を割当て、前記面法線推定手段は、前記計測対象陰影ベクトルと前記参照陰影ベクトルとの内積が最大となる前記参照陰影ベクトルを、前記最も類似する参照陰影ベクトルとして抽出することとした。かかる構成によれば、面法線計測装置は、画素ごとに、計測対象陰影ベクトルと、参照陰影ベクトルデータベースに記録されている各参照陰影ベクトルとの内積を計算し、内積が最大となる参照陰影ベクトルに対応付けられた面法線を、当該画素における前記所定の平面で特定される方位についての面法線であると推定する。請求項4に記載の面法線計測システムは、照明装置と、撮影装置と、請求項1乃至請求項3の何れか一項に記載の面法線計測装置と、を備える構成とした。かかる構成によれば、面法線計測システムは、照明装置によって、互いに直交する2つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明し、前記撮影装置によって、前記照明方向ごとに、前記物体を撮影する。そして、面法線計測システムは、面法線計測装置によって、前記撮影装置によって撮影された前記物体の画像に基づいて、前記所定の平面で特定される方位ごとに、前記物体の面法線を推定し、2つの方位について推定された面法線の合成ベクトルを算出して、前記画素における面法線の計測値とする。請求項5に記載の面法線計測システムは、請求項4に記載の面法線計測システムにおいて、前記照明装置は、平行光によって前記物体を照明することとした。かかる構成によれば、面法線計測システムは、前記照明装置よって、平行光で前記物体を照明し、前記撮影装置によって、陰影の生じた前記物体を撮影する。請求項6に記載の面法線計測システムは、請求項4又は請求項5に記載の面法線計測システムにおいて、暗室を備えることとした。かかる構成によれば、面法線計測システムは、外光を遮断した環境である暗室内において、照明装置によって物体を照明し、この照明された物体を撮影装置によって撮影する。請求項7に記載の面法線計測システムは、請求項4乃至請求項6の何れか一項に記載の面法線計測システムにおいて、撮影装置は撮影装置移動手段を備えることとした。かかる構成によれば、面法線計測システムは、撮影装置を、撮影装置移動手段によって、前記物体から前記2つの平面の交線の方向について離れた位置である撮影装置の定位置と、前記照明装置の移動の障害とならない位置である退避位置との間を移動する。これによって、面法線計測システムは、撮影装置の定位置、すなわち物体を真上付近から照明して撮影する場合、撮影装置を定位置からシフトした退避位置に移動させ、照明装置を移動して、物体の真上付近から照明し、退避位置から撮影装置によって物体を撮影する。請求項8に記載の面法線計測システムは、請求項4乃至請求項6の何れか一項に記載の面法線計測システムにおいて、前記撮影装置は、複数の撮影装置を、前記照明装置の移動の障害とならない位置であって、互いに物体の死角となる表面を補完して撮影可能な位置に設置することとした。かかる構成によれば、面法線計測システムは、照明装置の照明方向に関わらず、複数の撮影装置によって、物体を、死角が生じないように撮影する。請求項9に記載の面法線計測システムは、請求項4乃至請求項8の何れか一項に記載の面法線計測システムにおいて、前記物体の撮影対象領域を複数に分割し、前記分割領域ごとに前記照明装置によって照明して、前記撮影装置によって前記物体を撮影することとした。かかる構成によれば、面法線計測システムは、前記照明装置によって、各分割領域について、照明方向を変化させて照明し、撮影装置によって物体を撮影する。これによって、面法線計測システムは、すべての分割領域について撮影した画像を合わせることにより、物体の全体を撮影した画像を得る。請求項10に記載の面法線計測プログラムは、物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測するために、コンピュータを、画像取得手段、輝度判定手段、陰影ベクトル作成手段、参照データベース記憶手段、面法線推定手段、として機能させることとした。かかる構成によれば、面法線計測プログラムは、画像取得手段によって、前記物体に対する照明方向として、互いに直交する2つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する。次に、面法線計測プログラムは、輝度判定手段によって、前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す2値画像に変換する。次に、面法線計測プログラムは、陰影ベクトル作成手段によって、前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって2値化した複数の2値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する。ここで、面法線計測プログラムは、予め、表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースが記憶された参照データベース記憶手段を用いる。また、面法線計測プログラムは、前記画像取得手段によって、前記所定の平面ごとに、面法線を計測する対象物体についての画像を取得し、当該画像を前記輝度判定手段によって、2値画像に変換し、前記陰影ベクトル作成手段によって、当該2値画像に基づく陰影ベクトルである計測対象陰影ベクトルを画素ごとに作成する。そして、面法線計測プログラムは、面法線推定手段によって、画素ごとに、前記参照データベース記憶手段に記憶されている前記参照データベースから、最も類似する前記参照陰影ベクトルを抽出し、当該抽出した参照陰影ベクトルと対応付けられた面法線を、前記所定の平面で特定される方位についての前記画素における前記対象物体の面法線であると推定する。そして、面法線計測装置は、面法線推定手段によって、2つの所定の平面で特定される方位ごとに推定された2つの面法線の合成ベクトルを算出し、前記画素における面法線の計測値とする。請求項1、請求項4又は請求項10に記載の発明によれば、計測対象物体についての画素ごとの照明方向の変化と明暗の変化との対応関係を示す陰影ベクトルに基づいて面法線を推定するため、計測対象物体の表面の反射特性の影響を大きく受けることなく、また、物体表面の各点までの距離を測定することなく、面法線を計測することができる。また、計測対象物体についての画素ごとの陰影ベクトルが、形状が既知の参照物体についての参照陰影ベクトルの中で最も類似する参照陰影ベクトルに対応付けられた面法線を、その画素における面法線であると推定するため、参照データベースが校正データとして機能し、面法線を正確に求めることができる。請求項2に記載の発明によれば、参照物体として半円柱形状の物体を用いるため、面法線の成分ごとの参照陰影ベクトルを高精度に作成することができる。請求項3に記載の発明によれば、計測対象陰影ベクトルと参照陰影ベクトルとの内積の大きさに基づいて最も類似する参照陰影ベクトルとして抽出するため、簡単な計算によって最も類似する参照陰影ベクトルを抽出することができる。請求項5に記載の発明によれば、照明光として平行光を用いるため、物体の表面位置にかかわらず、照明方向が一定であるため、物体表面の各位置において、正確に面法線を求めることができる。請求項6に記載の発明によれば、外光の影響を受けないように暗室内で物体の撮影を行うため、安定した精度で面法線を計測することができる。請求項7に記載の発明によれば、物体の真上付近から照明した物体を撮影することができるため、面法線が照明方向に垂直に近い面についても、面法線を精度よく測定することができる。請求項8に記載の発明によれば、複数の撮影装置によって死角を生じることなく物体を撮影することができるため、物体の表面全体について、面法線を精度よく測定することができる。請求項9に記載の発明によれば、分割領域ごとに照明装置によって照明して、撮影装置によって物体を撮影するため、照明範囲の狭い照明装置を用いた場合や、大きな物体を計測する場合でも、物体の表面全体について面法線を計測することができる。以下、本発明に係る面法線計測装置、面法線計測システム及び面法線計測プログラムを実施するための形態について適宜図面を参照して説明する。[第1実施形態][面法線計測システム]本発明の第1実施形態に係る面法線計測システム1は、図1に示すように、面法線計測装置10と、照明装置30と、撮影装置40と、半円弧状のガイドレールRx,Ryと、を備えている。また、照明装置30には、照明装置移動手段31が取り付けられており、ガイドレールRx,Ryに沿って移動できるように構成されている。また、撮影装置40には、撮影装置移動手段41が取り付けられており、ガイドレールRx,Ryに沿って移動できるように構成されている。照明装置30、照明装置移動手段31、撮影装置40及び撮影装置移動手段41は、信号線50を介して、面法線計測装置10と接続されており、面法線計測装置10からの制御信号によって動作が制御され、また、撮影装置40によって撮影された画像データは、面法線計測装置10に取り込まれるように構成されている。なお、面法線計測装置10、照明装置30、照明装置移動手段31、撮影装置40及び撮影装置移動手段41は、それぞれ電源から電力供給線不図示を介して電力が供給されるように構成されている。そして、面法線計測システム1は、面法線を計測しようとする物体OBJに対して、ガイドレールRx,Ryに沿って移動する照明装置30によって種々の角度からの平行光による照明を行い、物体OBJの略真上に設けられた撮影装置40によって撮影した画像を、面法線計測装置10によって解析することにより、物体OBJの面法線を算出するものである。なお、本実施形態では、照明装置30からの照明光の物体OBJの表面での拡散反射光成分の有無によって、物体OBJの表面の各点における陰影を判定するため、面法線計測システム1は、暗室に設置し、外光を遮断した環境で物体OBJの撮影を行うことが好ましい。面法線の計測原理ここで、図2及び図3を参照適宜図1参照して、本発明における面法線計測の原理について説明する。図2に示すように、面法線の計測対象である物体OBJに、照明光Lが照射されると、物体OBJの形状に応じて陰影が生じる。ここで、説明を簡単にするために、物体OBJとして、円柱を中心軸を含む平面で切断した半円柱を用い、この中心軸を含む切断面を下向き-Z軸方向に、かつ中心軸がY軸と一致するように設置する。また、照明光Lは平行光とし、その照射方向はXZ平面に平行であり、XY平面となす角度をθとする。以下、この角度θを、適宜に照明角度θと呼ぶ。このとき、物体OBJの表面半円柱の曲面部には、接線Tを境界として、ハッチングを施して示した影となる領域暗部と、それ以外の照明光Lが照射された領域明部とが生じる。図3aは、図2に示した物体OBJの、XZ平面による断面図である。物体OBJと照明光Lとの接線接点Tを境界として、左側が暗部であり、右側が明部である。ここで、照明光Lの照明角度θを、0°~180°まで変化させると、物体OBJの面の向き面法線に応じた特有の明暗変化が生じることになる。そこで、予め表面の形状がわかっている参照物体について、照明光Lの照明角度θを変化させたときの、参照物体の表面の各点における明暗の変化を計測することで、参照物体の表面を構成する種々の面法線に対応する明暗の変化パターンをデータベース化することができる。このとき、照明角度θは、例えば、2°ごとに変化させることにすれば、91個の照明角度θにおける明暗変化データを得ることができる。また、撮影装置40によって撮影した画像における明暗の判定は、予め定めておいた所定の輝度の対応する閾値と比較し、各画素を2値化することで行うことができる。すなわち、ある画素が、この閾値よりも大きい場合は、その画素は明部であると判定し、小さい場合はその画素は暗部であると判定する。なお、照明光Lの照明角度θは、推定する面法線の必要とする精度に応じて適宜に定めることができ、1°や5°などの間隔としてもよい。また、参照物体を計測したときの照明角度θを変化させるパターンと、計測対象物体を計測するときの照明角度θを変化させるパターンとが一致することが必要であるが、面法線の推定に照明角度θの値自体は用いないため、等間隔に照明角度θを設定することに限定されず、任意の間隔で照明角度θを変化させるようにしてもよい。また、物体OBJの表面を撮影した各画素P図3b参照において、照明光Lが照射されているかどうは、物体OBJの表面での照明光Lの拡散反射光成分の有無によって判定する。このため、僅かな反射光でも反射している場合は、明部である影ではないと判定するように、2値化するための所定の閾値は、低い輝度レベルに設定することが好ましい。このような輝度レベルを閾値とするために、輝度判定手段13図4参照によって2値化処理する前に、画像データ記憶手段12図4参照に記憶された、面法線計測の対象である物体OBJについての画像データから適宜に画像データを抽出し、予め、明暗を適切に判定できる閾値を実験的に定めるようにしてもよい。このように、低い画素レベルを閾値として表面の各点からの反射光の有無を判定することにより、物体OBJの表面の反射特性のムラなどの影響を大きく受けることなく、2値化処理することができる。また、参照物体を撮影した画像の各画素における面法線は既知であるため、面法線と明暗の変化パターンが対応づけられたデータベースを構築することができる。ここで、明暗の変化パターンは、前記した例のように、2°間隔で照明角度θを変化させる場合は、91個の要素を有するベクトルとみることができる。また、各要素は1明部又は-1暗部の値をとる。従って、このベクトルは、例えば、1,1,1,1,-1,-1,-1,、-1,-1,-1,1,1,のように表されることになる。これを陰影ベクトルと呼ぶことにする。また、参照物体を撮影して作成した陰影ベクトルは参照陰影ベクトルと呼び、面法線が未知の物体である計測対象物体を撮影して作成した陰影ベクトルを計測対象陰影ベクトルと呼ぶことにする。そして、種々の面法線と参照陰影ベクトルとがペアとなったデータの集合であるデータベースを参照して、形状が未知の物体OBJの表面の各点物体OBJを撮影した画像における各画素における計測対象陰影ベクトルを作成し、参照陰影ベクトルに最も類似する参照陰影ベクトルを抽出する。これによって、計測対象である物体OBJの表面の各点の面法線を推定することができる。言い換えれば、このデータベースを面法線の校正データとして用いるものである。また、物体OBJは、3次元物体であるから、面法線は、予め定められた互いに非平行な2つの平面内で、好ましくは互いに直交する2つの平面内で、それぞれ照明角度θを変化させて撮影した画像から陰影ベクトルを作成する。第1実施形態では、図1におけるXZ平面内及びYZ平面内で照明角度θを変化させるものである。なお、前記した予め定められた平面で特定される照明の方向を、照明方位と呼ぶことにする。また、XZ平面で特定される照明方位について照明角度θを変化させたときの明暗変化のパターンを示す陰影ベクトルを横陰影ベクトルと呼び、YZ平面で特定される照明方位について照明角度θを変化させたときの明暗変化のパターンを示す陰影ベクトルを縦陰影ベクトルと呼ぶことにする。また、YZ平面内で照明角度θを変化させたときの明暗変化のパターンを示す参照陰影ベクトルである縦参照陰影ベクトルを作成するには、参照物体として半円柱の物体を用いる場合は、半円柱の中心軸をX軸に一致するように設置する。すなわち、図2に示した例において、参照物体としての半円柱の物体OBJをZ軸周りに90°回転させた向きに設置する。また、このとき、照明光Lは、YZ平面内に平行な照明方位から照射され、照明角度θとは、照明方向とY軸とのなす角度のことである。そして、それぞれ横陰影ベクトルを用いて推定したXZ平面で特定される照明方位についての面法線ベクトル横面法線ベクトルと呼ぶと、縦陰影ベクトルを用いて推定したYZ平面で特定される照明方位についての面法線ベクトル縦面法線ベクトルと呼ぶとを合成したベクトルが、その画素における面法線ベクトルである。ここで、面法線ベクトルの合成について説明する。横面法線ベクトル及び縦面法線ベクトルを、それぞれXYZ座標におけるベクトルX1,Y1,Z1及びX2,Y2,Z2と表す。X1,Y1などは、ベクトルの要素を示す。また、横面法線ベクトルは、XZ平面に平行なベクトルであるから、Y1=0であり、縦面法線ベクトルは、YZ平面に平行なベクトルであるから、X2=0である。従って、横面法線ベクトル及び縦面法線ベクトルは、それぞれX1,0,Z1及び0,Y2,Z2となる。そして、この画素における面法線ベクトルである合成ベクトルは、横面法線ベクトル及び縦面法線ベクトルの要素同士を加算することで算出され、X1,Y2,Z1Z2となる。次に、図3bは、物体OBJの略真上に設置された撮影装置40によって撮影された物体OBJの画像である。図3bに示したように、画像Gの左側に暗部があり、右側に明部がある。なお、図3bにおいて、x、yは、撮影装置40によって撮影された画像G内での座標軸であり、画面に水平方向をx、画面に垂直方向をyとしている。また、点線で格子状に分割された個々の領域が1つの画素Pを示している。そして、カメラパラメータ画角ズーム、パン角、チルト角を調整して、撮影装置40により撮影される領域を予め定めておくことにより、画像Gにおける画素Pのx、y座標から、面法線計測システム1におけるXYZ座標系における物体OBJの各点のX,Y座標、すなわち、XY平面への投影像の座標である実寸法を算出することができる。ここで、照明角度θを変化させるごとに、撮影装置40によって、物体OBJを撮影し、撮影した画像Gを解析して、物体OBJの表面の各点として、物体OBJの表面を撮影した画素Pごとに、所定の閾値と比較して明部か暗部かを判定する。続いて、照明角度θを変化させるごとに撮影した複数の画像Gからなる画像群を用いて、物体OBJの表面を撮影した画素Pごとに、陰影ベクトルを作成する。そして、作成した陰影ベクトルに基づいて、画素Pごとに面法線を推定する。なお、参照物体としては、形状が既知であれば任意の形状の物体を用いることができるが、参照陰影ベクトルを精度よく作成するために、図2に示したような半円柱の物体を用いることが好ましい。図2に示した例のように、半円柱の物体を用いることにより、Y軸に平行な線上の各点では、同じ面法線となる。このため、図3bに示した画像Gにおいて、x座標X座標が同じ画素Pは、同じ陰影ベクトルとなるべきものである。従って、同じ陰影ベクトルとなるべき複数の画素Pにおける陰影ベクトルを、例えば、平均した陰影ベクトルを参照陰影ベクトルとして用いることにより、照明ムラや撮影時のノイズなどの影響を低減することができる。このため、校正データとしての品質が向上し、この校正データを用いた測定の精度が向上する。[面法線計測装置]図1に戻って、面法線計測システム1の構成について説明を続ける。面法線計測装置10は、信号線50を介して、照明装置30、照明装置移動手段31、撮影装置40及び撮影装置移動手段41と接続され、制御信号を出力することによって、これらの装置及び手段の動作を制御するとともに、撮影装置40によって撮影された物体OBJの画像データを入力する。そして、面法線計測装置10は、撮影装置40から入力した物体OBJの画像データを解析することによって、物体OBJの表面の面法線を算出するものである。面法線計測装置10は、専用のハードウェアによって構成することもできるが、パソコンパーソナルコンピュータなどの一般的なコンピュータに、面法線を算出するための後記する各手段を実現するプログラム面法線計測プログラムを実行させることによって実現することができる。本実施形態は、パソコンに面法線計測プログラムを実行させて面法線計測装置10を実現するものである。ここで、図4を参照適宜図1参照して、面法線計測装置10の詳細な構成について説明する。図4に示すように、本実施形態の面法線計測装置10は、画像取得手段11と、画像データ記憶手段12と、輝度判定手段13と、陰影ベクトル作成手段14と、陰影ベクトル記憶手段15と、面法線推定手段16と、面法線記憶手段17と、照明点灯制御手段18と、照明位置制御手段19と、撮影位置制御手段20と、を備えて構成される。画像取得手段11は、照明装置30によって、互いに直交する2つの予め定められた所定の平面であるXZ平面及びYZ平面の何れかに平行であって、予め定められた複数の所定の方向から順次に物体OBJを照明し、この順次変化する照明方向ごとに撮影装置40によって撮影した画像を取得するものである。本実施形態では、図1に示したように、XZ平面及びYZ平面内を、半円弧状のガイドレールRx,Ryに沿って、照明装置30を順次に所定の照明位置に移動させ、照明位置に対応した照明方向から照明した物体OBJを、物体OBJの略真上に設置された撮影装置40によって撮影した画像を取得する。このために、画像取得手段11は、撮影装置40に対して物体OBJの撮影を指示する制御信号を出力するとともに、撮影装置40によって撮影された画像データを入力する。また、画像取得手段11は、照明位置制御手段19から、撮影装置40によって物体OBJを撮影したときの照明装置30の照明位置を示す情報である照明位置情報を入力し、撮影装置40から入力した画像データを、この照明位置情報に対応付けて画像データ記憶手段12に記憶する。なお、照明位置情報とは、照明方位及び照明角度によって特定される照明方向に対応した照明位置を識別する情報である。照明位置情報としては照明位置を識別する識別番号を用いることができる。また、照明位置情報として、照明方位を識別する情報及び照明角度の値を用いるようにしてもよい。画像データ記憶手段12は、撮影装置40によって物体OBJを撮影した画像データを、その画像データの撮影時の照明装置30の照明位置情報に対応付けて記憶する記憶手段である。画像データ記憶手段12に記憶される画像データは、画像取得手段11によって書き込まれ、輝度判定手段13によって読み出される。輝度判定手段13は、画像データ記憶手段12から画像データを読み出し、所定の輝度に対応する閾値と参照して、画素ごとに、この閾値以上か閾値未満かを判定して、画像データを2値画像に変換する手段である。また、輝度判定手段13は、2値化した画像データを、その基となった画像データが対応付けられた照明位置情報とともに、陰影ベクトル作成手段14に出力する。ここで、画素の値が大きいほど高輝度な明るい画素であることを示す場合は、閾値以上の場合は明画素として、例えば1に変換し、閾値未満の場合は暗画素として、例えば-1に変換する。なお、画素の大きさと明暗の関係は逆でもよく、変換する数値も明画素を-1、暗画素を1としてもよい。2値画像の画素の値としては、2つの状態が区別できれば、例えば、0と1などの任意の数値を組み合わせて用いることができるが、後記するように、計測対象陰影ベクトルと参照陰影ベクトルとの類似度を両陰影ベクトルの内積の大きさで判断する場合は、画素値として割当てられる2値の数値は、それぞれの絶対値が等しく、符号が反対の数値とすることが好ましい。更に、1と-1との数値を割当てることが、より好ましい。なお、明画素とは、物体OBJを撮影した画像において、その画素で特定される物体OBJの位置に照明装置30からの照明光が照射されている画素であることを示し、暗画素とは、物体OBJの位置に照明装置30からの照明光が照射されていない画素であることを示す。また、照明光が照射されていない画素とは、その画素で特定され物体OBJの位置が、物体OBJの他の部分の影になっていることを示すものである。また、輝度判定手段13は、所定の閾値と比較する前に、処理対処の画像全体に対して、ノイズ成分除去処理を行うことが好ましい。このノイズ成分除去処理としては、例えば、平滑化フィルタや2次元ガウス関数の畳み込み処理などのローパス特性を有する空間フィルタ処理やメディアンフィルタ処理などを用いることができる。陰影ベクトル作成手段14は、所定の平面であるXZ平面及びYZ平面ごとに、これらの平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ輝度判定手段13によって変換した明暗を示す複数の2値画像について、画素ごとに、照明方向と明暗とを対応付けたベクトルデータである陰影ベクトルを作成するものである。すなわち、陰影ベクトル作成手段14は、輝度判定手段13から照明位置情報に対応付けられた2値化した画像データを入力し、各照明方位について、画素ごとに陰影ベクトル横陰影ベクトル及び縦陰影ベクトルを作成するものである。陰影ベクトル作成手段14は、作成した陰影ベクトルを、物体種別参照陰影ベクトルか、計測対象陰影ベクトルかと、照明方位横か、縦かと、画素位置と、に対応付けて陰影ベクトル記憶手段15に記憶する。なお、物体種別が参照物体の場合は、陰影ベクトル作成手段14は、参照陰影ベクトルを、予め取得しておいた画素ごとの面法線のデータと対応付けて、参照データベースのデータとして陰影ベクトル記憶手段15に記憶する。また、陰影ベクトルを画素位置に対応付けて記憶するために、陰影ベクトルの要素数照明位置の数に一致するビット数を各画素データに割当て、一種の画像データとして、物体の種別と照明方位とに対応付けて陰影ベクトル記憶手段15に記憶するようにしてもよい。このとき、例えば、91個の照明位置から物体OBJを撮影する場合は、各画素には、91ビットのデータが割当てられることになる。更にまた、横陰影ベクトルと縦陰影ベクトルを併せたビット数を各画素データに割当て、物体の種別に対応付けて陰影ベクトル記憶手段15に記憶するようにしてもよい。このとき、例えば、縦横それぞれ91個の照明位置から物体OBJを撮影する場合は、各画素は、182ビットのデータが割当てられることになる。陰影ベクトル記憶手段参照データベース記憶手段15は、陰影ベクトル作成手段14によって作成された陰影ベクトルを、物体種別と、照明方位と、画素位置と、に対応付けて記憶するものである。また、物体種別が参照物体である場合は、陰影ベクトル記憶手段15は、参照陰影ベクトルを、面法線とも対応付けて、参照データベースのデータとして記憶する。面法線推定手段16は、面法線を計測する対象物体について画像取得手段11により取得した画像を、輝度判定手段12で2値画像に変換し、当該2値画像に基づいて陰影ベクトル作成手段14で作成した陰影ベクトルである計測対象陰影ベクトルと、参照データベース記憶手段15に記憶されている参照データベースとに基づいて、画素ごとに、物体OBJの面法線を推定するものである。ここで、面法線の推定方法について説明する。面法線推定手段16は、照明方位ごとに、各画素における計測対象陰影ベクトルについて、照明方位が同じであるすべての参照陰影ベクトルの中で、計測対象陰影ベクトルと一致する程度を示す指標である類似度を算出する。そして、算出した類似度が最も大きな参照陰影ベクトルを抽出する。本実施形態においては、類似度として、計測対象陰影ベクトルと参照陰影ベクトルとの内積を算出する。すなわち、内積が大きいほど、計測対象陰影ベクトルと参照陰影ベクトルとの類似度ベクトルの一致度が高いことを意味する。従って、面法線推定手段16は、内積が最大となる参照陰影ベクトルを抽出する。そして、抽出した参照陰影ベクトルに対応付けられた面法線を、その照明方位についての、計測対象物体の当該画素における面法線であると推定する。なお、本実施形態では、計測対象陰影ベクトル及び参照陰影ベクトルにおける各要素の値は、明画素の場合は1、暗画素の場合は-1が割当てられているものとする。例えば、計測対象陰影ベクトルと、参照データベースに含まれる参照陰影ベクトル1~3とが次のような場合は、計測対象陰影ベクトルと各参照陰影ベクトルとの内積は次のようになる。計測対象陰影ベクトル参照陰影ベクトル1:内積=8参照陰影ベクトル2:内積=6参照陰影ベクトル3:内積=2従って、この例では、内積が最も大きい参照陰影ベクトル1が、最も類似する参照陰影ベクトルとして抽出される。なお、2値の値をとる陰影ベクトルの要素として、2値の数値の片方に0を割当てた場合は、対応する陰影ベクトルの要素が0であっても、他方の値であっても、積が0となるため、内積によって正しく類似度を判断することができない。この場合は、計測対象陰影ベクトルと参照陰影ベクトルとの各要素を比較し、一致する要素の数を類似度として用いるようにすればよい。前記した例において、-1を0に置き換えて、両陰影ベクトル間で一致する要素数をカウントすると、計測対象陰影ベクトルと各参照陰影ベクトル1~3との間で一致する要素数は、それぞれ、8、7及び4となる。従って、この類似度が、両陰影ベクトルが一致する程度に正しく対応していることがわかる。面法線推定手段16は、すべての画素について、同様にして面法線を推定する。また、面法線推定手段16は、2つの照明方位について、画素ごとに、面法線を推定することにより横面法線ベクトルと立て面法線ベクトルとを得る。そして、面法線推定手段16は、横面法線ベクトルと縦面法線ベクトルとを合成したベクトルを算出し、算出した合成ベクトルを、この画素における面法線の計測値として、計測対象である物体を識別する識別情報に対応付けて面法線記憶手段17に記憶する。なお、本実施形態では、面法線推定手段16は、画像取得手段11によって取得した画像について、すべての画素ごとに面法線を推定するようにしたが、これに限定されるものではなく、ダウンサンプリングして、画素数を低減した画像について、画素ごとに面法線を推定するようにしてもよい。ダウンサンプリングの手法としては、例えば、単に画素を間引きしたり、4×4などの所定画素ごとの平均値を算出したりする手法を用いることができる。面法線記憶手段17は、面法線推定手段16で算出された面法線を、計測対象物体を識別する識別情報に対応付けて記憶するものである。なお、面法線記憶手段17に記憶された面法線データは、不図示の出力手段によって出力され、例えば、ポリゴンモデルによるCG化のために用いられる。照明点灯制御手段18は、信号線50図1参照を介して、照明装置30に制御信号を出力し、照明装置30の照明のオン/オフを制御する手段である。照明位置制御手段19は、信号線50図1参照を介して、照明装置移動手段31に対して、予め定められた複数の照明位置の中から、移動しようとする照明位置を指示する制御信号を出力し、ガイドレールRx、Ryに沿って移動可能な照明装置移動手段31による移動先の位置を制御するものである。撮影位置制御手段20は、信号線50図1参照を介して、撮影装置移動手段41に対して、撮影装置40の移動しようとする位置を指示する制御信号を出力し、ガイドレールRx、Ryに沿って移動可能な撮影装置移動手段41による移動先の位置を制御するものである。続いて、図1を参照して、照明装置30について説明する。照明装置30は、背面に備えられた照明装置移動手段31によってガイドレールRx,Ryに沿って移動し、移動位置に応じた照明方位及び照明角度で特定される照明方向から物体OBJに照明光Lを照射するものである。また、本実施形態では、照明光Lは平行光であり、照明装置30は、何れの照明位置からでも照明光Lによる照明領域LAが、物体OBJの全体を照明するように照明方向が設定されている。また、照明装置30は、信号線50を介して面法線計測装置10と接続され、照明点灯制御手段18図4参照からの制御信号に従って、照明のオン/オフが制御される。ここで、図5を参照して、平行光を出射する照明装置30の具体例について説明する。図5aに示す本実施形態における照明装置30は、図5bに示す照明ユニット301を、4×4に配列して構成されている。これにより、照明装置30の厚さを抑えつつ、照明領域の広い照明装置30を実現するものである。なお、照明ユニット301の配列数は、4×4に限定されず、必要とする照明領域の広さや形状に応じて選択することができる。図5bに示した照明ユニット301は、筐体301aと、光源301bと、集光レンズ301cと、光源設置台301dと、から構成されている。光源301bは、点光源に近い光源であることが好ましく、例えば、LED発光ダイオードを用いることができる。また、光源301bは、集光レンズ301cの焦点に位置するように光源設置台301dに設置されている。これによって、点光源に近い光源301bから放出される発散光は、コリメータレンズとしての集光レンズ301cよって平行光が照明光Lとして、照明ユニット301から出射される。なお、照明ユニット301から出射される照明光Lが、平行光のみとなるように、筐体301aの内壁は黒色塗装などを施すことにより、筐体301aの内壁からの反射光を抑えるようにすることが好ましい。また、光源301bは、点光源に近いものであれば、白熱電球やハロゲンランプなどを用いることもでき、集光レンズ301cとしては、球面レンズやフレネルレンズを用いることができる。また、照明光は平行光を用いることが好ましいが、発散光も用いることができる。その場合、できる限り遠方から物体を照明することが好ましい。これにより、発散光であっても、実質的に平行光とみなせるようになるため、物体の面法線の推定誤差を小さくすることができる。照明装置移動手段図1に戻って、照明装置移動手段31は、照明装置30の背面に備えられ、信号線50を介して面法線計測装置10と接続され、面法線計測装置10の照明位置制御手段19図4参照からの照明位置を指示する制御信号に従って、ガイドレールRx,Ryに沿って移動するものである。照明装置移動手段31は、ガイドレールRx,Ryの両側をローラで挟持し、このローラを前記した制御信号に従って回転するモータで回転させることによって、ガイドレールRx,Ryに沿って自在に移動することができるように構成されている。撮影装置撮影装置40は、物体OBJを撮影するカメラである。本実施形態では、静止画像を撮影するものが好ましいが動画像から1フレームを取り出して用いてもよく、複数のフレームについて、画素ごとの平均を算出して用いるようにしてもよい。また、撮影装置40は、信号線50を介して面法線計測装置10と接続され、面法線計測装置10の画像取得手段11からの撮影を指示する制御信号に従って物体OBJを撮影し、撮影した画像を、信号線50を介して画像取得手段11に出力する。また、撮影装置40は、背面に備えられた撮影装置移動手段41によって、ガイドレールRx,Ryに沿って移動可能なように設置されている。なお、撮影装置40は、定位置として、物体OBJの略真上に設置され、この定位置から物体OBJを撮影する。しかし、照明装置30が物体OBJの真上近辺に移動する際には、照明装置30の移動の障害とならないように、撮影装置移動手段41によって、ガイドレールRx,Ryに沿って、予め定められた退避位置に移動して物体OBJを撮影する。また、撮影装置40は、何れの撮影位置からでも撮影領域IAが、物体OBJの全体を撮影するように撮影方向が設定されている。なお、照明方向が物体OBJの真上近辺から照明する場合は、照明光Lが物体OBJのXY平面に対して垂直に近い表面の接線方向すなわち、面法線がXY平面に平行な方向に近いと一致する場合である。この場合は、物体OBJの上方である定位置又は退避位置から撮影した画像において、当該表面は十分な精度で撮影することが難しい。そのため、物体OBJの真上付近を照明位置とする照明及び撮影を行わず、XY平面に対して垂直に近い面の測定は無視するようにしてもよい。そして、面法線の測定が無視された点における面法線は、例えば、測定が可能な隣接点における面法線のデータから補間して求めるようにしてもよい。これによって、前記した退避位置からの撮影は不要とすることができる。撮影装置移動手段撮影装置移動手段41は、撮影装置40背面に備えられ、信号線50を介して面法線計測装置10と接続され、面法線計測装置10の撮影位置制御手段20図4参照からの撮影位置を指示する制御信号に従って、定位置と予め定められた退避位置との間をガイドレールRx,Ryに沿って移動するものである。撮影装置移動手段41は、前記した照明装置移動手段31と同様の構成のものを用いることができる。ガイドレールガイドレールRx及びガイドレールRyは、ともに半円弧状のレールであり、この弧がなす平面が、それぞれXZ平面及びYZ平面に一致するように設置されている。ガイドレールRx,Ryには、照明装置移動手段31及び撮影装置移動手段41によって、それぞれ照明装置30及び撮影装置40が移動可能に設置されている。ここで、図6及び図7を参照して、照明装置30及び撮影装置40の移動について説明する。なお、図6では、照明装置30が、照明装置移動手段31によって、ガイドレールRxに沿って移動する様子を示しているが、ガイドレールRyに沿って移動する場合も同様である。図6に示すように、照明装置30は、背面に備えられた照明装置移動手段31によって、ガイドレールRxに沿って移動する。また、照明装置30は、照明装置移動手段31によって、照明位置制御手段19図4参照からの制御信号に従って、予め定められた複数の照明位置に移動し、移動した照明位置から物体OBJの全体を照明する。図6に示した例では、照明角度がθ1、θ2、θ3及びθ4となる照明位置に移動して、それぞれ平行光である照明光L1、L2、L3及びL4によって物体OBJの全体を照明している。また、撮影装置40は、撮影装置移動手段41によって、物体OBJの略真上になるようにガイドレールRxに設置され、物体OBJの全体が撮影領域IAに含まれるように撮影方向と画角が設定される。撮影装置40は、照明装置30の照明位置に連動して物体OBJを撮影し、撮影した画像を面法線計測装置10に出力する。撮影装置40は、定位置として、物体OBJの真上方向であるZ軸をカメラの光軸と一致するように設置することが好ましい。しかし、物体OBJの真上付近から照明光を照射する場合は、照明装置30は、撮影装置40が障害となり、物体OBJの真上付近に移動することができない。このため、本実施形態では、照明装置30が物体OBJの真上付近に移動する際に、照明装置30の移動の障害にならないように、撮影装置40の位置をガイドレールRyに沿った退避位置まで必要最小限の移動を行う。退避位置を定位置から必要最小限離れた位置とすることで、移動による撮影方向の変化が少なく、また、退避位置からの物体OBJの撮影に生じる死角を最小限に抑えることができる。図7に示すように、照明装置30がガイドレールRxに沿って、ガイドレールRyとの交点である物体OBJ図1参照の真上付近に移動する場合は、撮影装置40は、撮影装置移動手段41によって、この交点から、ガイドレールRyに沿って、照明装置30の移動の障害とならない位置まで移動する。そして、照明装置30が、交点付近から更に左側に移動すると、撮影装置40は、再び定位置である交点に移動する。すなわち、撮影位置制御手段20図4参照は、照明位置制御手段19図4参照による照明位置の制御と連動して、照明位置が物体OBJの真上付近に移動する際に、照明装置30の障害とならないように撮影装置40を退避させるための制御を行う。ここで、照明装置30が、ガイドレールRxに沿って移動する場合は、撮影位置制御手段20は、撮影装置40をガイドレールRyに沿ってY軸方向又は-Y軸方向に移動させる制御を行う。また、照明装置30が、ガイドレールRyに沿って移動する場合は、撮影位置制御手段20は、撮影装置40をガイドレールRxに沿ってX軸方向又は-X軸方向に移動させる制御を行う。なお、Y軸方向に移動させるか-Y軸方向に移動させるかは、予め定めおくものとする。また、X軸方向又は-X軸方向の移動についても同様である。なお、本実施形態では、照明装置30を移動させるために、半円弧状のガイドレールRx,Ryを用いたが、これに限定される物ではない。例えば、2本の垂直レールと1本の水平レールとをΠ型に構成したガイドレールや、傾斜した2本のレールをΛ型に構成したガイドレールを用いることもでき、また、垂直又は水平のガイドレールを用いるようにしてもよい。更にまた、XYZステージを用いるようにしてもよく、ガイドレール上を移動するのではなく、ロボットアームを用いて照明装置30を把持して移動させるようにしてもよい。また、照明方向を変化させるために照明装置を移動させるのではなく、複数の照明装置を複数の所定の照明位置にそれぞれ配置し、照明方向の選択に対応して、選択された照明装置を点灯するように構成してもよい。[面法線計測システムの動作]次に、第1実施形態における面法線計測システム1の動作について、図8~図11を参照適宜図1及び図4参照して説明する。全体動作図8に示すように、第1実施形態における面法線計測システム1は、参照物体測定処理ステップS10と、計測対象物体測定処理ステップS11と、面法線推定処理ステップS12と、を順次実行する。面法線計測システム1は、予め形状が分かっており、表面の各点の面法線が既知の参照物体について、照明装置30及び撮影装置40を用いて撮影測定した参照物体の画像に基づいて、面法線計測装置10によって、各照明方位について、参照陰影ベクトルを作成し、この参照陰影ベクトルを既知の面法線と対応付けたデータの集合である参照データベースを作成するステップS10。次に、面法線計測システム1は、面法線の計測対象物体について、前記した参照物体の測定と同様に、照明装置30及び撮影装置40を用いて撮影測定した計測対象物体の画像に基づいて、面法線計測装置10によって、各照明方位について、画素ごとに計測対象陰影ベクトルを作成するステップS11。そして、面法線計測システム1は、面法線計測装置10によって、ステップS10で作成した参照データベースを用いて、各照明方位について、ステップS11で作成した画素ごとの計測対象陰影ベクトルから面法線を推定するステップS12。続いて、図9~図11を参照して、順次に図8におけるステップS10~ステップS12の詳細について説明する。参照物体測定処理まず、図9を参照適宜図1及び図4参照して、図8におけるステップS10に対応する参照物体測定処理について説明する。図9に示すように、参照物体を測定するために、参照物体を面法線計測システム1のXY平面の中央部に設置するステップS20。次に、面法線計測システム1は、照明位置制御手段19によって、照明装置30の移動先として、所定の最初の照明位置を設定するステップS21。なお、本実施形態では、まず、XZ平面内で照明角度を変化させる照明方位を選択し、面法線計測システム1は、照明位置制御手段19によって、照明装置30の移動先として、ガイドレールRxの端部例えば、X軸の側の端部を照明位置として設定する。そして、面法線計測システム1は、照明位置制御手段19によって、設定した照明装置30の照明位置に移動する際に撮影装置40の移動が必要かどうかを判断しステップS22、移動が必要な場合はステップS22でYes、撮影位置制御手段20に対して、撮影装置40の移動を指示する制御信号を出力する。そして、面法線計測システム1は、撮影位置制御手段20によって、撮影装置移動手段41に対して移動を指示する制御信号を出力し、撮影装置40を移動させるステップS23。なお、照明位置を初期設定ステップS21する際に、面法線計測システム1は、照明点灯制御手段18によって、照明装置30を点灯させる。本実施形態では、測定期間中は、照明装置30を常時点灯することとするが、照明装置30の移動中は消灯し、撮影装置40による撮影時のみ点灯するようにしてもよい。また、撮影装置40の移動が必要な場合ステップS22でYesとは、照明位置が撮影装置40の定位置である参照物体の真上付近であり、撮影装置40が障害となって照明装置30が移動できない場合である。この場合は、撮影装置40をガイドレールRyに沿って退避位置に移動させる。なお、照明装置30がガイドレールRyに沿って移動する場合は、撮影装置40をガイドレールRxに沿って退避位置に移動させる。また、照明位置が撮影装置40の設置位置である参照物体の真上付近を通過して、撮影装置40が定位置である参照物体の真上の位置に移動可能な場合には、退避位置から定位置に移動させるものとする。従って、照明位置制御手段19は、撮影位置制御手段20に対して移動の要否を示す制御信号を出力し、撮影位置制御手段20は、撮影装置移動手段41に、定位置か退避位置の何れかである現在の位置から他方の位置への移動を指示する制御信号を出力する。そして、撮影装置40の移動が必要でない場合ステップS22でNoに、及び撮影装置40を移動ステップS23させた後に、面法線計測システム1は、照明位置制御手段19によって、照明装置移動手段31に移動を指示する制御信号を出力して、照明装置30を設定した照明位置に移動させるステップS24。次に、面法線計測システム1は、画像取得手段11によって、撮影装置40に撮影を指示する制御信号を出力して撮影装置40により参照物体を撮影させ、撮影した画像を撮影装置40から取得するステップS25。なお、面法線計測システム1は、画像取得手段11によって、取得した参照物体の画像を、照明方位及び照明位置に対応付けて画像データ記憶手段12に記憶する。次に、面法線計測システム1は、照明位置制御手段19によって、ステップS21で選択した照明方位において未撮影の次の照明位置があるかを確認しステップS26、ある場合はステップS26でYes、面法線計測システム1は、照明位置制御手段19によって、次の照明位置を選択しステップS27、ステップS22に戻る。一方、選択された照明方位において、未撮影の次の照明位置がない場合はステップS26でNo、面法線計測システム1は、輝度判定手段13によって、画像データ記憶手段12に蓄積された当該照明方位についての画像データを読み出して、画素ごとに所定の閾値と比較して輝度判定し、画像を2値化処理するステップS28。続いて、面法線計測システム1は、陰影ベクトル作成手段14によって、輝度判定手段13により2値化された画像データに基づいて、画素ごとに参照陰影ベクトルを作成するステップS29。そして、面法線計測システム1は、陰影ベクトル作成手段14によって、作成した参照陰影ベクトルを、予め取得しておいた当該参照物体の画素ごとの面法線とペアにして、参照データベースのデータとして陰影ベクトル記憶手段15に記憶するステップS50。選択された照明方位について、参照陰影ベクトルの作成が完了するとステップS29、面法線計測システム1は、照明位置制御手段19によって、次の照明方位があるかを確認するステップS30。本実施形態では照明方位は、XZ平面内での変化とYZ平面内での変化である。従って、XZ平面内で照明角度を変化させる照明方位の処理が終了した場合は、次にYZ平面内で照明角度を変化させる照明方位があるためステップS31でYes、面法線計測システム1は、照明位置制御手段19によって、YZ平面内で照明角度を変化させるために、照明装置30の移動先の初期値として、ガイドレールRyの端部例えば、Y軸の側の端部を選択するステップS21。そして、面法線計測システム1は、XZ平面で特定される照明方位についての処理と同様にして、YZ平面で特定される照明方位についての処理を行う。一方、YZ平面で特定される照明方位の処理が終了した場合は、次の照明方位はないためステップS31でNo、面法線計測システム1は、参照物体測定処理を終了する。なお、本実施形態では、撮影装置40から取得した画像を、照明方位及び照明位置に対応付けて画像データ記憶手段12に記憶するようにしたが、輝度判定手段13によって2値化した画像を照明方位及び照明位置に対応付けて記憶するようにしてもよい。この場合は、1つの照明位置に対応する画像を取得するごとに、輝度判定手段13によって輝度判定をして2値化処理を行うようにすればよい。また、撮影装置40から取得した画像を画像データ記憶手段12に記憶するとともに、2値化した画像を記憶する手段を別途設けて記憶するようにしてもよい。対象物体測定処理次に、図10を参照適宜図1及び図4参照して、図8に示したステップS11に対応する計測対象物体測定処理について説明する。ここで、図10に示す計測対象物体測定処理のステップS40~ステップS51は、それぞれ、図9に示した参照物体測定処理のステップS20~ステップS31に対応し、同様の動作を行うものである。すなわち、図10に示す計測対象物体測定処理は、図9に示した参照物体測定処理において、参照物体を面法線計測システム1のXY平面の中央部に設置するステップS20代わりに、計測対象物体を同じ場所に設置するステップS40ことと、作成した参照物体についての陰影ベクトルである参照陰影ベクトルを、予め取得した面法線とペアにして陰影ベクトル記憶手段15に記憶するステップS30代わりに、面法線が未知である計測対象物体についての陰影ベクトルである計測対象陰影ベクトルを、計測対象陰影ベクトル単独で陰影ベクトル記憶手段15に記憶するステップS50以外は、同様の動作であるので、詳細な説明は省略する。面法線推定処理次に、図11を参照適宜図1及び図4参照して、図8に示したステップS12に対応する計測対象物体についての面法線推定処理について説明する。まず、面法線計測システム1は、面法線推定手段16によって、計測対象物体を撮影した画像において、面法線を推定する最初の画素を選択するステップS60。次に、面法線計測システム1は、面法線推定手段16によって、2つの照明方位から、推定する面法線の方位を選択する。本実施形態では、まず、XZ平面内で照明角度を変化させた照明方位に対応する方位を選択するものとするステップS61。なお、YZ平面内で照明角度を変化させた照明方位に対応する方位を最初に選択するようにしてもよい。そして、面法線計測システム1は、面法線推定手段16によって、その画素の、その照明方位について、陰影ベクトル記憶手段15から計測対象陰影ベクトルを取得するステップS62。また、面法線計測システム1は、面法線推定手段16によって、ステップS61で選択した照明方位についてのすべての参照陰影ベクトルを、ペアとなっている面法線と共に、陰影ベクトル記憶手段15から取得するステップS63。次に、面法線計測システム1は、面法線推定手段16によって、その画素についての計測対象陰影ベクトルと、ステップS63で取得した各参照陰影ベクトルとの一致の程度を示す指標である類似度として、両陰影ベクトルの内積を算出し、計測対象陰影ベクトルと最も類似する参照陰影ベクトルとして、類似度である内積の値が最も大きくなる参照陰影ベクトルを抽出するステップS64。そして、面法線計測システム1は、面法線推定手段16によって、ステップS64で抽出した参照陰影ベクトルとペアとなっている面法線を、その照明方位についての、その画素における面法線であると推定するステップS65。なお、推定した面法線は、一時記憶メモリなどに保持しておくものとする。次に、面法線計測システム1は、面法線推定手段16によって、推定する面法線の方位として、面法線の推定処理が済んでいない照明方位がないかを確認しステップS66、ある場合はステップS66でYes、推定が未処理の照明方位を選択しステップS61、その照明方位についての面法線の推定処理ステップS62~ステップS65を行う。また、面法線の推定が未処理の照明方位がない場合はステップS66でNo、面法線計測システム1は、面法線推定手段16によって、ステップS65で推定した、2つの照明方位についての面法線をベクトル合成するステップS67。そして、面法線計測システム1は、面法線推定手段16によって、ステップS67でベクトル合成して算出した面法線を、その画素における面法線の計測値として、面法線記憶手段17に記憶するステップS68。次に、面法線計測システム1は、面法線推定手段16によって、面法線の推定が済んでいない画素があるかどうかを確認しステップS69、ある場合はステップS69でYes、面法線計測システム1は、面法線推定手段16によって、面法線を推定する次の画素を選択しステップS70、ステップS61に戻って、その画素について、一連の面法線の推定処理ステップS61~ステップS68を行う。一方、面法線の推定が済んでいない画素がない場合はステップS69でNo、面法線計測システム1は、面法線推定処理を終了する。[第1実施形態の変形例]次に、図12を参照して、第1実施形態の面法線計測システム1の変形例について説明する。図12に示した第1実施形態の変形例における面法線計測システム1Aは、図7に示した第1実施形態における面法線計測システム1に対して、照明装置30が、撮影装置40の定位置である物体OBJ図1参照の真上付近に移動する際に、撮影装置40を、図7に破線で示した退避位置に移動する代わりに、撮影装置40を、照明装置30の照明位置に関わらず、障害とならない位置に設置するものである。図12に示した例では、照明装置30が、ガイドレールRx及びガイドレールRyの何れの方向に沿って移動する場合でも障害とならないように、平面視で、ガイドレールRx,Ryの交点から斜め方向にシフトした位置に設置されている。また、撮影装置40を、物体OBJ図1参照の真上からシフトして配置することにより、物体OBJ図1参照の、撮影装置40から見て、撮影装置40がシフトした方向と反対側の面の一部が死角となって撮影できないことを考慮して、ガイドレールRx、Ryの交点を中心として、平面視で点対称の位置に撮影装置40を配置している。この2台の撮影装置40によって、死角を生じることなく、物体OBJ図1参照を撮影することができる。なお、2台の撮影装置40で撮影される画像は、できる限り同じ撮影領域IA図1参照となるように撮影方向と画角とが調整されることが好ましい。また、2台の撮影装置40で撮影された画像は、画像取得手段11図4参照によって統合され、一つの画像として画像データ記憶手段12に記憶されるものとする。なお、本変形例についてのその他の構成及び動作は、第1実施形態と同様であるから、詳細な説明は省略する。[第2実施形態]次に、図13を参照して、第2実施形態における面法線計測システムについて説明する。図6に示した第1実施形態における面法線計測システム1は、照明装置30によって、計測対象である物体OBJの全体を照明するのに対して、図13aに示した第2実施形態における照明装置30Aの照明範囲が狭く、物体OBJの全体を一度に照明できない場合に、物体OBJの撮影領域IAを、複数の有効撮影領域分割領域IA1~IA4に分割して、それぞれの分割した有効撮影領域IA1~IA4について、照明装置30Aにより照明角度を変化させて照明した物体OBJを、撮影装置40によって撮影するものである。これによって、小型の照明装置30Aを用いて、物体OBJの面法線を計測することができる。また、照明装置30Aの照明範囲が第1実施形態における照明装置30と同じ場合には、より大きな物体OBJの面法線を計測することができる。図13bは、物体OBJの有効撮影領域をX軸方向に4分割、Y軸方向に3分割した場合の様子を示している。従って、この例の場合は、破線で示した4×3=12個の有効撮影領域ごとに、照明装置30Aによって照明角度を変化させながら物体OBJの撮影を行うことになる。なお、図13aに示した有効撮影領域IA1~IA4は、図13bにおいてX軸方向に4分割された有効撮影領域に対応するものである。図14は、第2実施形態における面法線計測システム1Bにおける照明装置30A及び撮影装置40がガイドレールRxに沿って移動する様子を示したものである。第2実施形態における照明装置30Aは、進行方向と垂直方向に延伸する補助ガイドレールRsを備えた照明装置移動手段31Aによって、ガイドレールRxに沿って照明位置を移動するとともに、補助ガイドレールRsに沿って、垂直方向この例では、Y軸方向にも移動可能に構成されている。照明装置移動手段31Aの構成について更に詳細に説明する。照明装置移動手段31Aは、補助ガイドレールRsと、主移動手段31Aaと、副移動手段31Abとから構成される。主移動手段31Aaは、補助ガイドレールRsの延伸方向の中央部を把持し、ガイドレールRxに沿って自在に移動できるように設置されている。また、副移動手段31Abは、照明装置30Aの背面に取り付けられ、補助ガイドレールRsに沿って自在に移動できるように設置されている。また、副移動手段31Abは、ガイドレールRxに沿った方向この例では、X軸方向に、照明装置30Aの照明領域を調整することができるように構成されている。この補助ガイドレールRsに沿って照明装置30Aを移動させることによって、図13bに示した、Y軸方向に分割された有効撮影領域の一つを選択して照明することができる。また、副移動手段31Abは、照明装置30Aの照明方向を調整することにより、図13bに示したX軸方向に分割された有効撮影領域の一つを選択して照明することができる。また、照明装置30Aが、ガイドレールRyに沿って移動する場合は、照明装置移動手段31Aは、90°回転して、補助ガイドレールRsはX軸方向に延伸するように設定される。また、このとき、副移動手段31Abは、照明装置30Aの照明方向をY軸方向に沿って調整可能となる。これらによって、X軸方向及びY軸方向に分割された有効撮影領域の一つを選択して照明することができる。なお、照明装置30Aによる照明領域は、分割された有効撮影領域と同一である必要はなく、少なくとも個々の有効撮影領域をカバーできればよい。従って、照明領域の形状は、矩形に限らず、円形、楕円形、多角形などであってもよい。また、撮影装置40による物体OBJの撮影において、本実施形態においては、物体OBJの全体を撮影するように撮影領域IAを設定する。そして、各画像については、照明光が照射された有効撮影領域の画像のみを有効画像として用いることとする。なお、物体OBJの全体を撮影領域とするのではなく、有効撮影領域を拡大して撮影するようにしてもよい。次に、第2実施形態における面法線計測システム1Bの動作について説明する。第2実施形態における面法線計測システム1Bの動作は、図8に示した第1実施形態における面法線計測システム1の動作と同様に、参照物体測定処理S10と、計測対象物体測定処理S11と、面法線推定処理S12とを、順次行う。ここで、図15を参照図13及び図14参照して、第2実施形態における面法線計測システム1Bの動作が、第1実施形態における面法線計測システム1と異なる点について説明する。なお、第2実施形態の面法線計測システム1Bにおける面法線計測装置は、図4に示した第1実施形態の面法線計測システム1における面法線計測装置10と同様の構成であるため、第2実施形態における面法線計測システム1Bの動作については、図4を適宜参照して説明をする。図15に示した第2実施形態の面法線計測システム1Bの参照物体測定処理において、ステップS80~ステップS84及びステップS91~ステップS96は、図9に示した第1実施形態の面法線計測システム1の参照物体測定処理におけるステップS20~ステップS24及びステップS26~ステップS31と、それぞれ同様であるから、詳細な説明は省略する。第2実施形態における面法線計測システム1Bは、一つの照明位置照明角度について、複数に分割された有効撮影領域の数だけ、主移動手段31Aa及び副移動手段31Abによって、照明装置30Aによる照明領域をシフトして撮影を繰り返し、複数の画像を取得する。そのために、面法線計測システム1Bは、照明位置制御手段19によって、最初に照明する有効撮影領域を選択するステップS85。そして、面法線計測システム1Bは、照明位置制御手段19によって照明装置移動手段31Aの主移動手段31Aa及び副移動手段31Abに対して、選択した有効撮影領域の照明を指示する制御信号を出力し、照明装置30Aに有効撮影領域を照明させるステップS86。そして、面法線計測システム1Bは、画像取得手段11によって、撮影装置40に撮影を指示する制御信号を出力して参照物体を撮影させ、撮影した画像を取得するステップS87。なお、面法線計測システム1Bは、画像取得手段11によって、取得した画像を、照明方位及び照明角度に対応付けて、計測対象である有効撮影領域を識別する情報と共に画像データ記憶手段12に記憶する。面法線計測システム1Bは、照明位置制御手段19によって、次に照明する有効撮影領域があるか確認しステップS88、ある場合はステップS88でYes、次の有効撮影領域を選択するステップS89。そして、面法線計測システム1Bは、照明位置制御手段19によって、選択した有効撮影領域の照明を指示する制御信号を照明装置移動手段31Aに出力し、照明装置30Aによる照明領域を設定するステップS86。一方、次に照明する有効撮影領域がない場合はステップS88でNo、面法線計測システム1Bは、画像取得手段11によって、画像データ記憶手段12において記憶されている同じ照明方位及び照明角度から撮影した1組の画像データごとに、それぞれの画像における有効撮影領域を抽出して合成し、一つの画像に統合するステップS90。なお、面法線計測システム1Bは、画像取得手段11によって、統合した画像データを、照明方位及び照明角度に対応付けて画像データ記憶手段12に記憶する。そして、面法線計測システム1Bは、照明位置制御手段19によって、次の照明位置があるかを確認するステップS91。以降の処理は、前記したように第1実施形態における処理と同様であるので、説明は省略する。なお、本実施形態では、分割して照明された画像を一つに統合するようにしたが、画像を統合せずに、分割したまま後の処理で用いるようにしてもよい。また、第2実施形態の面法線計測システム1Bの計測対象物体測定処理は、図15に示した参照物体測定処理と同様に、一つの照明位置について複数に分割された有効撮影領域の数だけ照明領域をシフトして撮影を行い、画像合成をして一つの画像データに統合すること以外は、図10に示した第1実施形態の面法線計測システム1の計測対象物体測定処理と同様に行うことができるため、説明は省略する。更にまた、第2実施形態の面法線計測システム1Bの面法線推定処理は、図11に示した第1実施形態の面法線計測システム1の計測対象物体測定処理と同様に行うことができるため、説明は省略する。"