(57)【特許請求の範囲】
【請求項１】
物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測する面法線計測装置であって、
前記物体に対する照明方向として、互いに直交する２つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する画像取得手段と、
前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す２値画像に変換する輝度判定手段と、
前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって２値化した複数の２値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する陰影ベクトル作成手段と、
表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースを記憶する参照データベース記憶手段と、
面法線を計測する対象物体について前記画像取得手段で取得した画像を、前記輝度判定手段で２値画像に変換し、当該２値画像に基づいて前記陰影ベクトル作成手段で作成した陰影ベクトルである計測対象陰影ベクトルと、前記参照データベース記憶手段に記憶されている参照データベースとに基づいて、画素ごとに、面法線を推定する面法線推定手段と、を備え、
前記面法線推定手段は、画素ごとに、２つの前記所定の平面で特定される２つの方位についての、前記参照データベース記憶手段に記憶されている前記参照データベースの中で最も類似する前記参照陰影ベクトルと対応付けられた面法線を合成して、前記画素における面法線とすること、
を特徴とする面法線計測装置。
【請求項２】
前記参照陰影ベクトルは、前記参照物体として、円柱を、当該円柱の中心軸を含む平面で切断した形状である半円柱であって、当該半円柱の前記中心軸が、前記所定の平面に垂直になるように設置した物体を用いて作成したことを特徴とする請求項１に記載の面法線計測装置。
【請求項３】
前記輝度判定手段は、前記明暗を示す２値画像の画素値として、絶対値が等しく符号が異なる値を割当て、前記面法線推定手段は、前記計測対象陰影ベクトルと前記参照陰影ベクトルとの内積が最大となる前記参照陰影ベクトルを、前記最も類似する参照陰影ベクトルとして抽出することを特徴とする請求項１又は請求項２に記載の面法線計測装置。
【請求項４】
互いに直交する２つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明する照明装置と、
前記照明方向ごとに、前記物体を撮影する撮影装置と、
前記撮影装置によって撮影された前記物体の画像に基づいて、前記物体の面法線を計測する請求項１乃至請求項３の何れか一項に記載の面法線計測装置と、
を備えたことを特徴とする面法線計測システム。
【請求項５】
前記照明装置は、平行光によって前記物体を照明することを特徴とする請求項４に記載の面法線計測システム。
【請求項６】
暗室を備え、前記撮影装置による前記物体の撮影は、前記暗室内で行うことを特徴とする請求項４又は請求項５に記載の面法線計測システム。
【請求項７】
前記撮影装置は、前記物体から、前記２つの平面の交線の方向について離れた位置である定位置と前記照明装置の移動の障害とならない位置である退避位置との間を移動する撮影装置移動手段を備えたことを特徴とする請求項４乃至請求項６の何れか一項に記載の面法線計測システム。
【請求項８】
前記撮影装置は、複数の撮影装置を、前記照明装置の移動の障害とならない位置であって、互いに物体の死角となる表面を補完して撮影可能な位置に設置することを特徴とする請求項４乃至請求項６の何れか一項に記載の面法線計測システム。
【請求項９】
前記物体の撮影対象領域を複数の領域に分割し、前記分割領域ごとに前記照明装置によって照明して、前記撮影装置によって前記物体を撮影することを特徴とする請求項４乃至請求項８の何れか一項に記載の面法線計測システム。
【請求項１０】
物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測するために、コンピュータを、
前記物体に対する照明方向として、互いに直交する２つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する画像取得手段、
前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す２値画像に変換する輝度判定手段、
前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって２値化した複数の２値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する陰影ベクトル作成手段、
表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースを記憶する参照データベース記憶手段、
面法線を計測する対象物体について前記画像取得手段で取得した画像を、前記輝度判定手段で２値画像に変換し、当該２値画像に基づいて前記陰影ベクトル作成手段で作成した陰影ベクトルである計測対象陰影ベクトルと、前記参照データベース記憶手段に記憶されている参照データベースとに基づいて、画素ごとに、面法線を推定する面法線推定手段、として機能させ、
前記面法線推定手段は、画素ごとに、２つの前記所定の平面で特定される２つの方位についての、前記参照データベース記憶手段に記憶されている前記参照データベースの中で最も類似する前記参照陰影ベクトルと対応付けられた面法線を合成して、前記画素における面法線とすること、
を特徴とする面法線計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の表面の向きを示す面法線を計測するための面法線計測装置、面法線計測システム及び面法線計測プログラムに関する。
【背景技術】
【０００２】
ＣＧ（コンピュータグラフィックス）の分野において、ＣＧ化したい物体（実物）の３次元形状を特定する情報として、物体表面の向きを示す面法線を細かく計測し、計測した面法線を用いてその物体を多面体で表現するポリゴンモデルによってＣＧ化した画像を作成する手法がある。
【０００３】
ここで、物体の面法線を計測する方法としては、従来は、観察位置から物体の表面までの距離を細かく計測し、計測した表面上の各点までの距離に基づいて、面法線を算出する手法がある。この表面上の各点までの距離は、物体表面の各点の位置座標を示す情報とみることができる。従って、この位置座標を微分することにより、面の傾斜方向を算出することができ、これに垂直な方向が面法線となる。
【０００４】
また、面法線を計測する他の手法として、例えば、特許文献１には、偏光を利用して、物体表面の鏡面の反射特性を有する部分における偏光位相と偏光度とから面法線を推定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５６３５１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、位置座標である距離計測の結果を微分する方法では、微分というノイズ成分に敏感な処理を含むために誤差が大きくなり、ＣＧへの適用においてよい効果を得るのが難しかった。また、特許文献１に記載の方法のように、偏光を利用する方法では、計測対象となる物体の表面における反射光が、鏡面反射成分を含むことを条件としているため、適用範囲に制限があった。
【０００７】
本発明は、前記した問題点に鑑み創案されたもので、計測対象となる物体の表面の反射特性において、鏡面反射成分を含むことを必要とせず、また、物体表面までの距離を計測する必要のない面法線計測装置、面法線計測システム及び面法線計測プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するために、本発明の請求項１に記載の面法線計測装置は、物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測する面法線計測装置であって、画像取得手段と、輝度判定手段と、陰影ベクトル作成手段と、参照データベース記憶手段と、面法線推定手段と、を備える構成とした。
【０００９】
かかる構成によれば、面法線計測装置は、画像取得手段によって、前記物体に対する照明方向として、互いに直交する２つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する。次に、面法線計測装置は、輝度判定手段によって、前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す２値画像に変換する。次に、面法線計測装置は、陰影ベクトル作成手段によって、前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって２値化した複数の２値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する。
なお、互いに直交する２つの予め定められた所定の平面とは、例えば、ＸＹＺ空間において、ＸＹ平面を水平面とし、Ｚ軸を垂直軸（鉛直軸）とする場合に、ＸＺ平面及びＹＺ平面とすることができる。また、所定の方向とは、この所定の平面であるＸＺ平面及びＹＺ平面で特定される方位と、ＸＹ平面とのなす角度とで特定される方向とすることができる。
【００１０】
ここで、面法線計測装置は、予め、表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースを参照データベース記憶手段に記憶しておく。
【００１１】
また、面法線計測装置は、前記画像取得手段によって、前記所定の平面ごとに、面法線を計測する対象物体についての画像を取得し、当該画像を前記輝度判定手段によって、２値画像に変換し、前記陰影ベクトル作成手段によって、当該２値画像に基づく陰影ベクトルである計測対象陰影ベクトルを画素ごとに作成する。そして、面法線計測装置は、面法線推定手段によって、画素ごとに、前記参照データベース記憶手段に記憶されている前記参照データベースから、最も類似する前記参照陰影ベクトルを抽出し、当該抽出した参照陰影ベクトルと対応付けられた面法線を、前記所定の平面で特定される方位についての前記画素における前記対象物体の面法線であると推定する。そして、面法線計測装置は、面法線推定手段によって、２つの所定の平面で特定される方位ごとに推定された２つの面法線の合成ベクトルを算出し、前記画素における面法線の計測値とする。
【００１２】
請求項２に記載の面法線計測装置は、請求項１に記載の面法線計測装置において、前記参照物体として、円柱を、当該円柱の中心軸を含む平面で切断した形状である半円柱を用いることとした。
【００１３】
かかる構成によれば、予め、面法線計測装置は、当該半円柱の前記中心軸が、前記所定の平面に垂直になるように設置して、当該参照物体について、照明方向を変化させて撮影した画像を２値化した２値画像に基づいて作成した参照陰影ベクトルと、既知の面法線とを対応付けた情報の集合である参照データベースを参照陰影ベクトル記憶手段に記憶しておく。そして、面法線計測装置は、面法線推定手段によって、参照データベースを用いて面法線を推定する。
【００１４】
請求項３に記載の面法線計測装置は、請求項１又は請求項２に記載の面法線計測装置において、前記輝度判定手段は、前記明暗を示す２値画像の画素値として、絶対値が等しく符号が異なる値を割当て、前記面法線推定手段は、前記計測対象陰影ベクトルと前記参照陰影ベクトルとの内積が最大となる前記参照陰影ベクトルを、前記最も類似する参照陰影ベクトルとして抽出することとした。
【００１５】
かかる構成によれば、面法線計測装置は、画素ごとに、計測対象陰影ベクトルと、参照陰影ベクトルデータベースに記録されている各参照陰影ベクトルとの内積を計算し、内積が最大となる参照陰影ベクトルに対応付けられた面法線を、当該画素における前記所定の平面で特定される方位についての面法線であると推定する。
【００１６】
請求項４に記載の面法線計測システムは、照明装置と、撮影装置と、請求項１乃至請求項３の何れか一項に記載の面法線計測装置と、を備える構成とした。
【００１７】
かかる構成によれば、面法線計測システムは、照明装置によって、互いに直交する２つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明し、前記撮影装置によって、前記照明方向ごとに、前記物体を撮影する。そして、面法線計測システムは、面法線計測装置によって、前記撮影装置によって撮影された前記物体の画像に基づいて、前記所定の平面で特定される方位ごとに、前記物体の面法線を推定し、２つの方位について推定された面法線の合成ベクトルを算出して、前記画素における面法線の計測値とする。
【００１８】
請求項５に記載の面法線計測システムは、請求項４に記載の面法線計測システムにおいて、前記照明装置は、平行光によって前記物体を照明することとした。
【００１９】
かかる構成によれば、面法線計測システムは、前記照明装置よって、平行光で前記物体を照明し、前記撮影装置によって、陰影の生じた前記物体を撮影する。
【００２０】
請求項６に記載の面法線計測システムは、請求項４又は請求項５に記載の面法線計測システムにおいて、暗室を備えることとした。
【００２１】
かかる構成によれば、面法線計測システムは、外光を遮断した環境である暗室内において、照明装置によって物体を照明し、この照明された物体を撮影装置によって撮影する。
【００２２】
請求項７に記載の面法線計測システムは、請求項４乃至請求項６の何れか一項に記載の面法線計測システムにおいて、撮影装置は撮影装置移動手段を備えることとした。
【００２３】
かかる構成によれば、面法線計測システムは、撮影装置を、撮影装置移動手段によって、前記物体から前記２つの平面の交線の方向について離れた位置である撮影装置の定位置と、前記照明装置の移動の障害とならない位置である退避位置との間を移動する。
これによって、面法線計測システムは、撮影装置の定位置、すなわち物体を真上付近から照明して撮影する場合、撮影装置を定位置からシフトした退避位置に移動させ、照明装置を移動して、物体の真上付近から照明し、退避位置から撮影装置によって物体を撮影する。
【００２４】
請求項８に記載の面法線計測システムは、請求項４乃至請求項６の何れか一項に記載の面法線計測システムにおいて、前記撮影装置は、複数の撮影装置を、前記照明装置の移動の障害とならない位置であって、互いに物体の死角となる表面を補完して撮影可能な位置に設置することとした。
【００２５】
かかる構成によれば、面法線計測システムは、照明装置の照明方向に関わらず、複数の撮影装置によって、物体を、死角が生じないように撮影する。
【００２６】
請求項９に記載の面法線計測システムは、請求項４乃至請求項８の何れか一項に記載の面法線計測システムにおいて、前記物体の撮影対象領域を複数に分割し、前記分割領域ごとに前記照明装置によって照明して、前記撮影装置によって前記物体を撮影することとした。
【００２７】
かかる構成によれば、面法線計測システムは、前記照明装置によって、各分割領域について、照明方向を変化させて照明し、撮影装置によって物体を撮影する。
これによって、面法線計測システムは、すべての分割領域について撮影した画像を合わせることにより、物体の全体を撮影した画像を得る。
【００２８】
請求項１０に記載の面法線計測プログラムは、物体に対する照明装置による照明方向を変化させて、前記物体の表面の陰影の変化を撮影装置により撮影した画像に基づいて、前記物体の表面の面法線を計測するために、コンピュータを、画像取得手段、輝度判定手段、陰影ベクトル作成手段、参照データベース記憶手段、面法線推定手段、として機能させることとした。
【００２９】
かかる構成によれば、面法線計測プログラムは、画像取得手段によって、前記物体に対する照明方向として、互いに直交する２つの予め定められた所定の平面の何れかに平行であって、予め定められた複数の所定の方向から順次に前記物体を照明して撮影した画像を取得する。次に、面法線計測プログラムは、輝度判定手段によって、前記画像の各画素について、予め定められた所定の輝度値に対応する閾値以上かどうかを判定して、前記画像を、明暗を示す２値画像に変換する。次に、面法線計測プログラムは、陰影ベクトル作成手段によって、前記所定の平面ごとに、前記所定の平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ前記輝度判定手段によって２値化した複数の２値画像について、画素ごとに、前記照明方向と前記明暗とを対応付けたベクトルデータである陰影ベクトルを作成する。
【００３０】
ここで、面法線計測プログラムは、予め、表面の面法線が既知の物体である参照物体の、複数の面法線に対応する前記参照物体の複数の表面位置について作成した前記陰影ベクトルである参照陰影ベクトルを、前記参照物体の面法線と対応付けた情報のデータベースである参照データベースが記憶された参照データベース記憶手段を用いる。
【００３１】
また、面法線計測プログラムは、前記画像取得手段によって、前記所定の平面ごとに、面法線を計測する対象物体についての画像を取得し、当該画像を前記輝度判定手段によって、２値画像に変換し、前記陰影ベクトル作成手段によって、当該２値画像に基づく陰影ベクトルである計測対象陰影ベクトルを画素ごとに作成する。そして、面法線計測プログラムは、面法線推定手段によって、画素ごとに、前記参照データベース記憶手段に記憶されている前記参照データベースから、最も類似する前記参照陰影ベクトルを抽出し、当該抽出した参照陰影ベクトルと対応付けられた面法線を、前記所定の平面で特定される方位についての前記画素における前記対象物体の面法線であると推定する。そして、面法線計測装置は、面法線推定手段によって、２つの所定の平面で特定される方位ごとに推定された２つの面法線の合成ベクトルを算出し、前記画素における面法線の計測値とする。
【発明の効果】
【００３２】
請求項１、請求項４又は請求項１０に記載の発明によれば、計測対象物体についての画素ごとの照明方向の変化と明暗の変化との対応関係を示す陰影ベクトルに基づいて面法線を推定するため、計測対象物体の表面の反射特性の影響を大きく受けることなく、また、物体表面の各点までの距離を測定することなく、面法線を計測することができる。また、計測対象物体についての画素ごとの陰影ベクトルが、形状が既知の参照物体についての参照陰影ベクトルの中で最も類似する参照陰影ベクトルに対応付けられた面法線を、その画素における面法線であると推定するため、参照データベースが校正データとして機能し、面法線を正確に求めることができる。
【００３３】
請求項２に記載の発明によれば、参照物体として半円柱形状の物体を用いるため、面法線の成分ごとの参照陰影ベクトルを高精度に作成することができる。
請求項３に記載の発明によれば、計測対象陰影ベクトルと参照陰影ベクトルとの内積の大きさに基づいて最も類似する参照陰影ベクトルとして抽出するため、簡単な計算によって最も類似する参照陰影ベクトルを抽出することができる。
請求項５に記載の発明によれば、照明光として平行光を用いるため、物体の表面位置にかかわらず、照明方向が一定であるため、物体表面の各位置において、正確に面法線を求めることができる。
請求項６に記載の発明によれば、外光の影響を受けないように暗室内で物体の撮影を行うため、安定した精度で面法線を計測することができる。
請求項７に記載の発明によれば、物体の真上付近から照明した物体を撮影することができるため、面法線が照明方向に垂直に近い面についても、面法線を精度よく測定することができる。
請求項８に記載の発明によれば、複数の撮影装置によって死角を生じることなく物体を撮影することができるため、物体の表面全体について、面法線を精度よく測定することができる。
請求項９に記載の発明によれば、分割領域ごとに照明装置によって照明して、撮影装置によって物体を撮影するため、照明範囲の狭い照明装置を用いた場合や、大きな物体を計測する場合でも、物体の表面全体について面法線を計測することができる。
【図面の簡単な説明】
【００３４】
【図１】本発明の第１実施形態における面法線計測システムの構成を示す模式的斜視図である。
【図２】本発明における面法線計測の原理を説明するための模式的斜視図である。
【図３】本発明における面法線計測の原理を説明するための説明図であり、（ａ）は物体と照明光と面法線との関係を示す模式的断面図であり、（ｂ）は物体を撮影した画像例を示す。
【図４】本発明の第１実施形態における面法線計測装置の構成を示すブロック図である。
【図５】本発明の第１実施形態における照明装置の構成を示す模式図であり、（ａ）は照明装置の模式的斜視図であり、（ｂ）は照明ユニットの模式的断面図である。
【図６】本発明の第１実施形態における照明装置の移動の様子を説明するための模式的正面図である。
【図７】本発明の第１実施形態における照明装置及び撮影装置の移動の様子を説明するための模式的平面図である。
【図８】本発明の第１実施形態における面法線計測システムによる処理の流れを示すフローチャートである。
【図９】本発明の第１実施形態における面法線計測システムによる参照物体を測定する処理の流れを示すフローチャートである。
【図１０】本発明の第１実施形態における面法線計測システムによる計測対象物体を測定する処理の流れを示すフローチャートである。
【図１１】本発明の第１実施形態における面法線計測システムによる計測対象物体の面法線を推定する処理の流れを示すフローチャートである。
【図１２】本発明の第１実施形態の変形例における照明装置の移動の様子を説明するための模式的平面図である。
【図１３】本発明の第２実施形態における照明装置の移動と物体を照明する様子を説明するための説明図であり、（ａ）は照明の様子を示す模式的正面図であり、（ｂ）は物体の領域分割の様子を示す画像例である。
【図１４】本発明の第２実施形態における照明装置及び撮影装置の移動の様子を説明するための模式的平面図である。
【図１５】本発明の第２実施形態における面法線計測システムによる参照物体を測定する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下、本発明に係る面法線計測装置、面法線計測システム及び面法線計測プログラムを実施するための形態について適宜図面を参照して説明する。
【００３６】
［第１実施形態］
［面法線計測システム］
本発明の第１実施形態に係る面法線計測システム１は、図１に示すように、面法線計測装置１０と、照明装置３０と、撮影装置４０と、半円弧状のガイドレールＲｘ，Ｒｙと、を備えている。また、照明装置３０には、照明装置移動手段３１が取り付けられており、ガイドレールＲｘ，Ｒｙに沿って移動できるように構成されている。また、撮影装置４０には、撮影装置移動手段４１が取り付けられており、ガイドレールＲｘ，Ｒｙに沿って移動できるように構成されている。
【００３７】
照明装置３０、照明装置移動手段３１、撮影装置４０及び撮影装置移動手段４１は、信号線５０を介して、面法線計測装置１０と接続されており、面法線計測装置１０からの制御信号によって動作が制御され、また、撮影装置４０によって撮影された画像データは、面法線計測装置１０に取り込まれるように構成されている。なお、面法線計測装置１０、照明装置３０、照明装置移動手段３１、撮影装置４０及び撮影装置移動手段４１は、それぞれ電源から電力供給線（不図示）を介して電力が供給されるように構成されている。
【００３８】
そして、面法線計測システム１は、面法線を計測しようとする物体ＯＢＪに対して、ガイドレールＲｘ，Ｒｙに沿って移動する照明装置３０によって種々の角度からの平行光による照明を行い、物体ＯＢＪの略真上に設けられた撮影装置４０によって撮影した画像を、面法線計測装置１０によって解析することにより、物体ＯＢＪの面法線を算出するものである。
【００３９】
なお、本実施形態では、照明装置３０からの照明光の物体ＯＢＪの表面での拡散反射光成分の有無によって、物体ＯＢＪの表面の各点における陰影を判定するため、面法線計測システム１は、暗室に設置し、外光を遮断した環境で物体ＯＢＪの撮影を行うことが好ましい。
【００４０】
（面法線の計測原理）
ここで、図２及び図３を参照（適宜図１参照）して、本発明における面法線計測の原理について説明する。
【００４１】
図２に示すように、面法線の計測対象である物体ＯＢＪに、照明光Ｌが照射されると、物体ＯＢＪの形状に応じて陰影が生じる。ここで、説明を簡単にするために、物体ＯＢＪとして、円柱を中心軸を含む平面で切断した半円柱を用い、この中心軸を含む切断面を下向き（−Ｚ軸方向）に、かつ中心軸がＹ軸と一致するように設置する。また、照明光Ｌは平行光とし、その照射方向はＸＺ平面に平行であり、ＸＹ平面となす角度をθとする。以下、この角度θを、適宜に照明角度θと呼ぶ。
【００４２】
このとき、物体ＯＢＪの表面（半円柱の曲面部）には、接線Ｔを境界として、ハッチングを施して示した影となる領域（暗部）と、それ以外の照明光Ｌが照射された領域（明部）とが生じる。
【００４３】
図３（ａ）は、図２に示した物体ＯＢＪの、ＸＺ平面による断面図である。物体ＯＢＪと照明光Ｌとの接線（接点）Ｔを境界として、左側が暗部であり、右側が明部である。
ここで、照明光Ｌの照明角度θを、０°〜１８０°まで変化させると、物体ＯＢＪの面の向き（面法線）に応じた特有の明暗変化が生じることになる。
【００４４】
そこで、予め表面の形状がわかっている参照物体について、照明光Ｌの照明角度θを変化させたときの、参照物体の表面の各点における明暗の変化を計測することで、参照物体の表面を構成する種々の面法線に対応する明暗の変化パターンをデータベース化することができる。このとき、照明角度θは、例えば、２°ごとに変化させることにすれば、９１個の照明角度θにおける明暗変化データを得ることができる。また、撮影装置４０によって撮影した画像における明暗の判定は、予め定めておいた所定の輝度の対応する閾値と比較し、各画素を２値化することで行うことができる。すなわち、ある画素が、この閾値よりも大きい場合は、その画素は明部であると判定し、小さい場合はその画素は暗部であると判定する。
【００４５】
なお、照明光Ｌの照明角度θは、推定する面法線の必要とする精度に応じて適宜に定めることができ、１°や５°などの間隔としてもよい。また、参照物体を計測したときの照明角度θを変化させるパターンと、計測対象物体を計測するときの照明角度θを変化させるパターンとが一致することが必要であるが、面法線の推定に照明角度θの値自体は用いないため、等間隔に照明角度θを設定することに限定されず、任意の間隔で照明角度θを変化させるようにしてもよい。
【００４６】
また、物体ＯＢＪの表面を撮影した各画素Ｐ（図３（ｂ）参照）において、照明光Ｌが照射されているかどうは、物体ＯＢＪの表面での照明光Ｌの拡散反射光成分の有無によって判定する。このため、僅かな反射光でも反射している場合は、明部である（影ではない）と判定するように、２値化するための所定の閾値は、低い輝度レベルに設定することが好ましい。このような輝度レベルを閾値とするために、輝度判定手段１３（図４参照）によって２値化処理する前に、画像データ記憶手段１２（図４参照）に記憶された、面法線計測の対象である物体ＯＢＪについての画像データから適宜に画像データを抽出し、予め、明暗を適切に判定できる閾値を実験的に定めるようにしてもよい。
このように、低い画素レベルを閾値として表面の各点からの反射光の有無を判定することにより、物体ＯＢＪの表面の反射特性のムラなどの影響を大きく受けることなく、２値化処理することができる。
【００４７】
また、参照物体を撮影した画像の各画素における面法線は既知であるため、面法線と明暗の変化パターンが対応づけられたデータベースを構築することができる。
ここで、明暗の変化パターンは、前記した例のように、２°間隔で照明角度θを変化させる場合は、９１個の要素を有するベクトルとみることができる。また、各要素は「１（明部）」又は「−１（暗部）」の値をとる。
【００４８】
従って、このベクトルは、例えば、（１，１，１，１，−１，−１，−１，・・・）、（−１，−１，−１，１，１，・・・）のように表されることになる。これを「陰影ベクトル」と呼ぶことにする。また、参照物体を撮影して作成した陰影ベクトルは参照陰影ベクトルと呼び、面法線が未知の物体である計測対象物体を撮影して作成した陰影ベクトルを計測対象陰影ベクトルと呼ぶことにする。
【００４９】
そして、種々の面法線と参照陰影ベクトルとがペアとなったデータの集合であるデータベースを参照して、形状が未知の物体ＯＢＪの表面の各点（物体ＯＢＪを撮影した画像における各画素）における計測対象陰影ベクトルを作成し、参照陰影ベクトルに最も類似する参照陰影ベクトルを抽出する。これによって、計測対象である物体ＯＢＪの表面の各点の面法線を推定することができる。言い換えれば、このデータベースを面法線の校正データとして用いるものである。
【００５０】
また、物体ＯＢＪは、３次元物体であるから、面法線は、予め定められた互いに非平行な２つの平面内で、好ましくは互いに直交する２つの平面内で、それぞれ照明角度θを変化させて撮影した画像から陰影ベクトルを作成する。第１実施形態では、図１におけるＸＺ平面内及びＹＺ平面内で照明角度θを変化させるものである。
【００５１】
なお、前記した予め定められた平面で特定される照明の方向を、照明方位と呼ぶことにする。また、ＸＺ平面で特定される照明方位について照明角度θを変化させたときの明暗変化のパターンを示す陰影ベクトルを横陰影ベクトルと呼び、ＹＺ平面で特定される照明方位について照明角度θを変化させたときの明暗変化のパターンを示す陰影ベクトルを縦陰影ベクトルと呼ぶことにする。
【００５２】
また、ＹＺ平面内で照明角度θを変化させたときの明暗変化のパターンを示す参照陰影ベクトルである縦参照陰影ベクトルを作成するには、参照物体として半円柱の物体を用いる場合は、半円柱の中心軸をＸ軸に一致するように設置する。すなわち、図２に示した例において、参照物体としての半円柱の物体ＯＢＪをＺ軸周りに９０°回転させた向きに設置する。また、このとき、照明光Ｌは、ＹＺ平面内に平行な照明方位から照射され、照明角度θとは、照明方向とＹ軸とのなす角度のことである。
【００５３】
そして、それぞれ横陰影ベクトルを用いて推定したＸＺ平面で特定される照明方位についての面法線ベクトル（横面法線ベクトルと呼ぶ）と、縦陰影ベクトルを用いて推定したＹＺ平面で特定される照明方位についての面法線ベクトル（縦面法線ベクトルと呼ぶ）とを合成したベクトルが、その画素における面法線ベクトルである。
【００５４】
ここで、面法線ベクトルの合成について説明する。横面法線ベクトル及び縦面法線ベクトルを、それぞれＸＹＺ座標におけるベクトル（Ｘ１，Ｙ１，Ｚ１）及び（Ｘ２，Ｙ２，Ｚ２）と表す。Ｘ１，Ｙ１などは、ベクトルの要素を示す。また、横面法線ベクトルは、ＸＺ平面に平行なベクトルであるから、Ｙ１＝０であり、縦面法線ベクトルは、ＹＺ平面に平行なベクトルであるから、Ｘ２＝０である。従って、横面法線ベクトル及び縦面法線ベクトルは、それぞれ（Ｘ１，０，Ｚ１）及び（０，Ｙ２，Ｚ２）となる。
【００５５】
そして、この画素における面法線ベクトルである合成ベクトルは、横面法線ベクトル及び縦面法線ベクトルの要素同士を加算することで算出され、（Ｘ１，Ｙ２，Ｚ１＋Ｚ２）となる。
【００５６】
次に、図３（ｂ）は、物体ＯＢＪの略真上に設置された撮影装置４０によって撮影された物体ＯＢＪの画像である。図３（ｂ）に示したように、画像Ｇの左側に暗部があり、右側に明部がある。なお、図３（ｂ）において、ｘ、ｙは、撮影装置４０によって撮影された画像Ｇ内での座標軸であり、画面に水平方向をｘ、画面に垂直方向をｙとしている。また、点線で格子状に分割された個々の領域が１つの画素Ｐを示している。
【００５７】
そして、カメラパラメータ（画角（ズーム）、パン角、チルト角）を調整して、撮影装置４０により撮影される領域を予め定めておくことにより、画像Ｇにおける画素Ｐの（ｘ、ｙ）座標から、面法線計測システム１におけるＸＹＺ座標系における物体ＯＢＪの各点の（Ｘ，Ｙ）座標、すなわち、ＸＹ平面への投影像の座標である実寸法を算出することができる。
【００５８】
ここで、照明角度θを変化させるごとに、撮影装置４０によって、物体ＯＢＪを撮影し、撮影した画像Ｇを解析して、物体ＯＢＪの表面の各点として、物体ＯＢＪの表面を撮影した画素Ｐごとに、所定の閾値と比較して明部か暗部かを判定する。
続いて、照明角度θを変化させるごとに撮影した複数の画像Ｇからなる画像群を用いて、物体ＯＢＪの表面を撮影した画素Ｐごとに、陰影ベクトルを作成する。
そして、作成した陰影ベクトルに基づいて、画素Ｐごとに面法線を推定する。
【００５９】
なお、参照物体としては、形状が既知であれば任意の形状の物体を用いることができるが、参照陰影ベクトルを精度よく作成するために、図２に示したような半円柱の物体を用いることが好ましい。図２に示した例のように、半円柱の物体を用いることにより、Ｙ軸に平行な線上の各点では、同じ面法線となる。このため、図３（ｂ）に示した画像Ｇにおいて、ｘ座標（Ｘ座標）が同じ画素Ｐは、同じ陰影ベクトルとなるべきものである。従って、同じ陰影ベクトルとなるべき複数の画素Ｐにおける陰影ベクトルを、例えば、平均した陰影ベクトルを参照陰影ベクトルとして用いることにより、照明ムラや撮影時のノイズなどの影響を低減することができる。このため、校正データとしての品質が向上し、この校正データを用いた測定の精度が向上する。
【００６０】
［面法線計測装置］
図１に戻って、面法線計測システム１の構成について説明を続ける。
面法線計測装置１０は、信号線５０を介して、照明装置３０、照明装置移動手段３１、撮影装置４０及び撮影装置移動手段４１と接続され、制御信号を出力することによって、これらの装置及び手段の動作を制御するとともに、撮影装置４０によって撮影された物体ＯＢＪの画像データを入力する。そして、面法線計測装置１０は、撮影装置４０から入力した物体ＯＢＪの画像データを解析することによって、物体ＯＢＪの表面の面法線を算出するものである。面法線計測装置１０は、専用のハードウェアによって構成することもできるが、パソコン（パーソナルコンピュータ）などの一般的なコンピュータに、面法線を算出するための後記する各手段を実現するプログラム（面法線計測プログラム）を実行させることによって実現することができる。本実施形態は、パソコンに面法線計測プログラムを実行させて面法線計測装置１０を実現するものである。
【００６１】
ここで、図４を参照（適宜図１参照）して、面法線計測装置１０の詳細な構成について説明する。
図４に示すように、本実施形態の面法線計測装置１０は、画像取得手段１１と、画像データ記憶手段１２と、輝度判定手段１３と、陰影ベクトル作成手段１４と、陰影ベクトル記憶手段１５と、面法線推定手段１６と、面法線記憶手段１７と、照明点灯制御手段１８と、照明位置制御手段１９と、撮影位置制御手段２０と、を備えて構成される。
【００６２】
画像取得手段１１は、照明装置３０によって、互いに直交する２つの予め定められた所定の平面であるＸＺ平面及びＹＺ平面の何れかに平行であって、予め定められた複数の所定の方向から順次に物体ＯＢＪを照明し、この順次変化する照明方向ごとに撮影装置４０によって撮影した画像を取得するものである。
【００６３】
本実施形態では、図１に示したように、ＸＺ平面及びＹＺ平面内を、半円弧状のガイドレールＲｘ，Ｒｙに沿って、照明装置３０を順次に所定の照明位置に移動させ、照明位置に対応した照明方向から照明した物体ＯＢＪを、物体ＯＢＪの略真上に設置された撮影装置４０によって撮影した画像を取得する。
【００６４】
このために、画像取得手段１１は、撮影装置４０に対して物体ＯＢＪの撮影を指示する制御信号を出力するとともに、撮影装置４０によって撮影された画像データを入力する。また、画像取得手段１１は、照明位置制御手段１９から、撮影装置４０によって物体ＯＢＪを撮影したときの照明装置３０の照明位置を示す情報である照明位置情報を入力し、撮影装置４０から入力した画像データを、この照明位置情報に対応付けて画像データ記憶手段１２に記憶する。
【００６５】
なお、照明位置情報とは、照明方位及び照明角度によって特定される照明方向に対応した照明位置を識別する情報である。照明位置情報としては照明位置を識別する識別番号を用いることができる。また、照明位置情報として、照明方位を識別する情報及び照明角度の値を用いるようにしてもよい。
【００６６】
画像データ記憶手段１２は、撮影装置４０によって物体ＯＢＪを撮影した画像データを、その画像データの撮影時の照明装置３０の照明位置情報に対応付けて記憶する記憶手段である。画像データ記憶手段１２に記憶される画像データは、画像取得手段１１によって書き込まれ、輝度判定手段１３によって読み出される。
【００６７】
輝度判定手段１３は、画像データ記憶手段１２から画像データを読み出し、所定の輝度に対応する閾値と参照して、画素ごとに、この閾値以上か閾値未満かを判定して、画像データを２値画像に変換する手段である。また、輝度判定手段１３は、２値化した画像データを、その基となった画像データが対応付けられた照明位置情報とともに、陰影ベクトル作成手段１４に出力する。
【００６８】
ここで、画素の値が大きいほど高輝度な（明るい）画素であることを示す場合は、閾値以上の場合は明画素として、例えば「１」に変換し、閾値未満の場合は暗画素として、例えば「−１」に変換する。なお、画素の大きさと明暗の関係は逆でもよく、変換する数値も明画素を「−１」、暗画素を「１」としてもよい。
【００６９】
２値画像の画素の値としては、２つの状態が区別できれば、例えば、「０」と「１」などの任意の数値を組み合わせて用いることができるが、後記するように、計測対象陰影ベクトルと参照陰影ベクトルとの類似度を両陰影ベクトルの内積の大きさで判断する場合は、画素値として割当てられる２値の数値は、それぞれの絶対値が等しく、符号が反対の数値とすることが好ましい。更に、「１」と「−１」との数値を割当てることが、より好ましい。
【００７０】
なお、明画素とは、物体ＯＢＪを撮影した画像において、その画素で特定される物体ＯＢＪの位置に照明装置３０からの照明光が照射されている画素であることを示し、暗画素とは、物体ＯＢＪの位置に照明装置３０からの照明光が照射されていない画素であることを示す。また、照明光が照射されていない画素とは、その画素で特定され物体ＯＢＪの位置が、物体ＯＢＪの他の部分の影になっていることを示すものである。
【００７１】
また、輝度判定手段１３は、所定の閾値と比較する前に、処理対処の画像全体に対して、ノイズ成分除去処理を行うことが好ましい。このノイズ成分除去処理としては、例えば、平滑化フィルタや２次元ガウス関数の畳み込み処理などのローパス特性を有する空間フィルタ処理やメディアンフィルタ処理などを用いることができる。
【００７２】
陰影ベクトル作成手段１４は、所定の平面であるＸＺ平面及びＹＺ平面ごとに、これらの平面に平行な方向において照明方向を変化させて撮影した複数の画像を、それぞれ輝度判定手段１３によって変換した明暗を示す複数の２値画像について、画素ごとに、照明方向と明暗とを対応付けたベクトルデータである陰影ベクトルを作成するものである。
【００７３】
すなわち、陰影ベクトル作成手段１４は、輝度判定手段１３から照明位置情報に対応付けられた２値化した画像データを入力し、各照明方位について、画素ごとに陰影ベクトル（横陰影ベクトル及び縦陰影ベクトル）を作成するものである。陰影ベクトル作成手段１４は、作成した陰影ベクトルを、物体種別（参照陰影ベクトルか、計測対象陰影ベクトルか）と、照明方位（横か、縦か）と、画素位置と、に対応付けて陰影ベクトル記憶手段１５に記憶する。
【００７４】
なお、物体種別が参照物体の場合は、陰影ベクトル作成手段１４は、参照陰影ベクトルを、予め取得しておいた画素ごとの面法線のデータと対応付けて、参照データベースのデータとして陰影ベクトル記憶手段１５に記憶する。
【００７５】
また、陰影ベクトルを画素位置に対応付けて記憶するために、陰影ベクトルの要素数（照明位置の数）に一致するビット数を各画素データに割当て、一種の画像データとして、物体の種別と照明方位とに対応付けて陰影ベクトル記憶手段１５に記憶するようにしてもよい。このとき、例えば、９１個の照明位置から物体ＯＢＪを撮影する場合は、各画素には、９１ビットのデータが割当てられることになる。
【００７６】
更にまた、横陰影ベクトルと縦陰影ベクトルを併せたビット数を各画素データに割当て、物体の種別に対応付けて陰影ベクトル記憶手段１５に記憶するようにしてもよい。このとき、例えば、縦横それぞれ９１個の照明位置から物体ＯＢＪを撮影する場合は、各画素は、１８２ビットのデータが割当てられることになる。
【００７７】
陰影ベクトル記憶手段（参照データベース記憶手段）１５は、陰影ベクトル作成手段１４によって作成された陰影ベクトルを、物体種別と、照明方位と、画素位置と、に対応付けて記憶するものである。また、物体種別が参照物体である場合は、陰影ベクトル記憶手段１５は、参照陰影ベクトルを、面法線とも対応付けて、参照データベースのデータとして記憶する。
【００７８】
面法線推定手段１６は、面法線を計測する対象物体について画像取得手段１１により取得した画像を、輝度判定手段１２で２値画像に変換し、当該２値画像に基づいて陰影ベクトル作成手段１４で作成した陰影ベクトルである計測対象陰影ベクトルと、参照データベース記憶手段１５に記憶されている参照データベースとに基づいて、画素ごとに、物体ＯＢＪの面法線を推定するものである。
【００７９】
ここで、面法線の推定方法について説明する。
面法線推定手段１６は、照明方位ごとに、各画素における計測対象陰影ベクトルについて、照明方位が同じであるすべての参照陰影ベクトルの中で、計測対象陰影ベクトルと一致する程度を示す指標である類似度を算出する。そして、算出した類似度が最も大きな参照陰影ベクトルを抽出する。
【００８０】
本実施形態においては、類似度として、計測対象陰影ベクトルと参照陰影ベクトルとの内積を算出する。すなわち、内積が大きいほど、計測対象陰影ベクトルと参照陰影ベクトルとの類似度（ベクトルの一致度）が高いことを意味する。従って、面法線推定手段１６は、内積が最大となる参照陰影ベクトルを抽出する。そして、抽出した参照陰影ベクトルに対応付けられた面法線を、その照明方位についての、計測対象物体の当該画素における面法線であると推定する。
【００８１】
なお、本実施形態では、計測対象陰影ベクトル及び参照陰影ベクトルにおける各要素の値は、明画素の場合は「１」、暗画素の場合は「−１」が割当てられているものとする。
例えば、計測対象陰影ベクトルと、参照データベースに含まれる参照陰影ベクトル（１）〜（３）とが次のような場合は、計測対象陰影ベクトルと各参照陰影ベクトルとの内積は次のようになる。
【００８２】
計測対象陰影ベクトル     ( 1, 1, 1, 1,-1,-1,-1,-1)
参照陰影ベクトル（１）   ( 1, 1, 1, 1,-1,-1,-1,-1) ：内積＝８
参照陰影ベクトル（２）   ( 1, 1, 1,-1,-1,-1,-1,-1) ：内積＝６
参照陰影ベクトル（３）   ( 1, 1, 1, 1, 1, 1, 1,-1) ：内積＝２
従って、この例では、内積が最も大きい参照陰影ベクトル（１）が、最も類似する参照陰影ベクトルとして抽出される。
【００８３】
なお、２値の値をとる陰影ベクトルの要素として、２値の数値の片方に「０」を割当てた場合は、対応する陰影ベクトルの要素が「０」であっても、他方の値であっても、積が「０」となるため、内積によって正しく類似度を判断することができない。この場合は、計測対象陰影ベクトルと参照陰影ベクトルとの各要素を比較し、一致する要素の数を類似度として用いるようにすればよい。
【００８４】
前記した例において、「−１」を「０」に置き換えて、両陰影ベクトル間で一致する要素数をカウントすると、計測対象陰影ベクトルと各参照陰影ベクトル（１）〜（３）との間で一致する要素数は、それぞれ、８、７及び４となる。従って、この類似度が、両陰影ベクトルが一致する程度に正しく対応していることがわかる。
【００８５】
面法線推定手段１６は、すべての画素について、同様にして面法線を推定する。また、面法線推定手段１６は、２つの照明方位について、画素ごとに、面法線を推定することにより横面法線ベクトルと立て面法線ベクトルとを得る。そして、面法線推定手段１６は、横面法線ベクトルと縦面法線ベクトルとを合成したベクトルを算出し、算出した合成ベクトルを、この画素における面法線の計測値として、計測対象である物体を識別する識別情報に対応付けて面法線記憶手段１７に記憶する。
【００８６】
なお、本実施形態では、面法線推定手段１６は、画像取得手段１１によって取得した画像について、すべての画素ごとに面法線を推定するようにしたが、これに限定されるものではなく、ダウンサンプリングして、画素数を低減した画像について、画素ごとに面法線を推定するようにしてもよい。ダウンサンプリングの手法としては、例えば、単に画素を間引きしたり、４×４などの所定画素ごとの平均値を算出したりする手法を用いることができる。
【００８７】
面法線記憶手段１７は、面法線推定手段１６で算出された面法線を、計測対象物体を識別する識別情報に対応付けて記憶するものである。
なお、面法線記憶手段１７に記憶された面法線データは、不図示の出力手段によって出力され、例えば、ポリゴンモデルによるＣＧ化のために用いられる。
【００８８】
照明点灯制御手段１８は、信号線５０（図１参照）を介して、照明装置３０に制御信号を出力し、照明装置３０の照明のオン／オフを制御する手段である。
【００８９】
照明位置制御手段１９は、信号線５０（図１参照）を介して、照明装置移動手段３１に対して、予め定められた複数の照明位置の中から、移動しようとする照明位置を指示する制御信号を出力し、ガイドレールＲｘ、Ｒｙに沿って移動可能な照明装置移動手段３１による移動先の位置を制御するものである。
【００９０】
撮影位置制御手段２０は、信号線５０（図１参照）を介して、撮影装置移動手段４１に対して、撮影装置４０の移動しようとする位置を指示する制御信号を出力し、ガイドレールＲｘ、Ｒｙに沿って移動可能な撮影装置移動手段４１による移動先の位置を制御するものである。
【００９１】
(照明装置)
続いて、図１を参照して、照明装置３０について説明する。
照明装置３０は、背面に備えられた照明装置移動手段３１によってガイドレールＲｘ，Ｒｙに沿って移動し、移動位置に応じた照明方位及び照明角度で特定される照明方向から物体ＯＢＪに照明光Ｌを照射するものである。また、本実施形態では、照明光Ｌは平行光であり、照明装置３０は、何れの照明位置からでも照明光Ｌによる照明領域ＬＡが、物体ＯＢＪの全体を照明するように照明方向が設定されている。
また、照明装置３０は、信号線５０を介して面法線計測装置１０と接続され、照明点灯制御手段１８（図４参照）からの制御信号に従って、照明のオン／オフが制御される。
【００９２】
ここで、図５を参照して、平行光を出射する照明装置３０の具体例について説明する。
図５（ａ）に示す本実施形態における照明装置３０は、図５（ｂ）に示す照明ユニット３０１を、４×４に配列して構成されている。これにより、照明装置３０の厚さを抑えつつ、照明領域の広い照明装置３０を実現するものである。
なお、照明ユニット３０１の配列数は、４×４に限定されず、必要とする照明領域の広さや形状に応じて選択することができる。
【００９３】
図５（ｂ）に示した照明ユニット３０１は、筐体３０１ａと、光源３０１ｂと、集光レンズ３０１ｃと、光源設置台３０１ｄと、から構成されている。
光源３０１ｂは、点光源に近い光源であることが好ましく、例えば、ＬＥＤ（発光ダイオード）を用いることができる。また、光源３０１ｂは、集光レンズ３０１ｃの焦点に位置するように光源設置台３０１ｄに設置されている。これによって、点光源に近い光源３０１ｂから放出される発散光は、コリメータレンズとしての集光レンズ３０１ｃよって平行光が照明光Ｌとして、照明ユニット３０１から出射される。
【００９４】
なお、照明ユニット３０１から出射される照明光Ｌが、平行光のみとなるように、筐体３０１ａの内壁は黒色塗装などを施すことにより、筐体３０１ａの内壁からの反射光を抑えるようにすることが好ましい。
【００９５】
また、光源３０１ｂは、点光源に近いものであれば、白熱電球やハロゲンランプなどを用いることもでき、集光レンズ３０１ｃとしては、球面レンズやフレネルレンズを用いることができる。
【００９６】
また、照明光は平行光を用いることが好ましいが、発散光も用いることができる。その場合、できる限り遠方から物体を照明することが好ましい。これにより、発散光であっても、実質的に平行光とみなせるようになるため、物体の面法線の推定誤差を小さくすることができる。
【００９７】
（照明装置移動手段）
図１に戻って、照明装置移動手段３１は、照明装置３０の背面に備えられ、信号線５０を介して面法線計測装置１０と接続され、面法線計測装置１０の照明位置制御手段１９（図４参照）からの照明位置を指示する制御信号に従って、ガイドレールＲｘ，Ｒｙに沿って移動するものである。照明装置移動手段３１は、ガイドレールＲｘ，Ｒｙの両側をローラで挟持し、このローラを前記した制御信号に従って回転するモータで回転させることによって、ガイドレールＲｘ，Ｒｙに沿って自在に移動することができるように構成されている。
【００９８】
（撮影装置）
撮影装置４０は、物体ＯＢＪを撮影するカメラである。本実施形態では、静止画像を撮影するものが好ましいが動画像から１フレームを取り出して用いてもよく、複数のフレームについて、画素ごとの平均を算出して用いるようにしてもよい。また、撮影装置４０は、信号線５０を介して面法線計測装置１０と接続され、面法線計測装置１０の画像取得手段１１からの撮影を指示する制御信号に従って物体ＯＢＪを撮影し、撮影した画像を、信号線５０を介して画像取得手段１１に出力する。
【００９９】
また、撮影装置４０は、背面に備えられた撮影装置移動手段４１によって、ガイドレールＲｘ，Ｒｙに沿って移動可能なように設置されている。なお、撮影装置４０は、定位置として、物体ＯＢＪの略真上に設置され、この定位置から物体ＯＢＪを撮影する。しかし、照明装置３０が物体ＯＢＪの真上近辺に移動する際には、照明装置３０の移動の障害とならないように、撮影装置移動手段４１によって、ガイドレールＲｘ，Ｒｙに沿って、予め定められた退避位置に移動して物体ＯＢＪを撮影する。
【０１００】
また、撮影装置４０は、何れの撮影位置からでも撮影領域ＩＡが、物体ＯＢＪの全体を撮影するように撮影方向が設定されている。
【０１０１】
なお、照明方向が物体ＯＢＪの真上近辺から照明する場合は、照明光Ｌが物体ＯＢＪのＸＹ平面に対して垂直に近い表面の接線方向（すなわち、面法線がＸＹ平面に平行な方向に近い）と一致する場合である。この場合は、物体ＯＢＪの上方である定位置又は退避位置から撮影した画像において、当該表面は十分な精度で撮影することが難しい。そのため、物体ＯＢＪの真上付近を照明位置とする照明及び撮影を行わず、ＸＹ平面に対して垂直に近い面の測定は無視するようにしてもよい。そして、面法線の測定が無視された点における面法線は、例えば、測定が可能な隣接点における面法線のデータから補間して求めるようにしてもよい。これによって、前記した退避位置からの撮影は不要とすることができる。
【０１０２】
（撮影装置移動手段）
撮影装置移動手段４１は、撮影装置４０背面に備えられ、信号線５０を介して面法線計測装置１０と接続され、面法線計測装置１０の撮影位置制御手段２０（図４参照）からの撮影位置を指示する制御信号に従って、定位置と予め定められた退避位置との間をガイドレールＲｘ，Ｒｙに沿って移動するものである。撮影装置移動手段４１は、前記した照明装置移動手段３１と同様の構成のものを用いることができる。
【０１０３】
（ガイドレール）
ガイドレールＲｘ及びガイドレールＲｙは、ともに半円弧状のレールであり、この弧がなす平面が、それぞれＸＺ平面及びＹＺ平面に一致するように設置されている。ガイドレールＲｘ，Ｒｙには、照明装置移動手段３１及び撮影装置移動手段４１によって、それぞれ照明装置３０及び撮影装置４０が移動可能に設置されている。
【０１０４】
ここで、図６及び図７を参照して、照明装置３０及び撮影装置４０の移動について説明する。なお、図６では、照明装置３０が、照明装置移動手段３１によって、ガイドレールＲｘに沿って移動する様子を示しているが、ガイドレールＲｙに沿って移動する場合も同様である。
【０１０５】
図６に示すように、照明装置３０は、背面に備えられた照明装置移動手段３１によって、ガイドレールＲｘに沿って移動する。また、照明装置３０は、照明装置移動手段３１によって、照明位置制御手段１９（図４参照）からの制御信号に従って、予め定められた複数の照明位置に移動し、移動した照明位置から物体ＯＢＪの全体を照明する。図６に示した例では、照明角度がθ１、θ２、θ３及びθ４となる照明位置に移動して、それぞれ平行光である照明光Ｌ１、Ｌ２、Ｌ３及びＬ４によって物体ＯＢＪの全体を照明している。
【０１０６】
また、撮影装置４０は、撮影装置移動手段４１によって、物体ＯＢＪの略真上になるようにガイドレールＲｘに設置され、物体ＯＢＪの全体が撮影領域ＩＡに含まれるように撮影方向と画角が設定される。
【０１０７】
撮影装置４０は、照明装置３０の照明位置に連動して物体ＯＢＪを撮影し、撮影した画像を面法線計測装置１０に出力する。
【０１０８】
撮影装置４０は、定位置として、物体ＯＢＪの真上方向であるＺ軸をカメラの光軸と一致するように設置することが好ましい。しかし、物体ＯＢＪの真上付近から照明光を照射する場合は、照明装置３０は、撮影装置４０が障害となり、物体ＯＢＪの真上付近に移動することができない。
【０１０９】
このため、本実施形態では、照明装置３０が物体ＯＢＪの真上付近に移動する際に、照明装置３０の移動の障害にならないように、撮影装置４０の位置をガイドレールＲｙに沿った退避位置まで必要最小限の移動を行う。退避位置を定位置から必要最小限離れた位置とすることで、移動による撮影方向の変化が少なく、また、退避位置からの物体ＯＢＪの撮影に生じる死角を最小限に抑えることができる。
【０１１０】
図７に示すように、照明装置３０がガイドレールＲｘに沿って、ガイドレールＲｙとの交点である物体ＯＢＪ（図１参照）の真上付近に移動する場合は、撮影装置４０は、撮影装置移動手段４１によって、この交点から、ガイドレールＲｙに沿って、照明装置３０の移動の障害とならない位置まで移動する。そして、照明装置３０が、交点付近から更に左側に移動すると、撮影装置４０は、再び定位置である交点に移動する。
【０１１１】
すなわち、撮影位置制御手段２０（図４参照）は、照明位置制御手段１９（図４参照）による照明位置の制御と連動して、照明位置が物体ＯＢＪの真上付近に移動する際に、照明装置３０の障害とならないように撮影装置４０を退避させるための制御を行う。
【０１１２】
ここで、照明装置３０が、ガイドレールＲｘに沿って移動する場合は、撮影位置制御手段２０は、撮影装置４０をガイドレールＲｙに沿ってＹ軸方向又は−Ｙ軸方向に移動させる制御を行う。また、照明装置３０が、ガイドレールＲｙに沿って移動する場合は、撮影位置制御手段２０は、撮影装置４０をガイドレールＲｘに沿ってＸ軸方向又は−Ｘ軸方向に移動させる制御を行う。なお、Ｙ軸方向に移動させるか−Ｙ軸方向に移動させるかは、予め定めおくものとする。また、Ｘ軸方向又は−Ｘ軸方向の移動についても同様である。
【０１１３】
なお、本実施形態では、照明装置３０を移動させるために、半円弧状のガイドレールＲｘ，Ｒｙを用いたが、これに限定される物ではない。例えば、２本の垂直レールと１本の水平レールとをΠ型に構成したガイドレールや、傾斜した２本のレールをΛ型に構成したガイドレールを用いることもでき、また、垂直又は水平のガイドレールを用いるようにしてもよい。更にまた、ＸＹＺステージを用いるようにしてもよく、ガイドレール上を移動するのではなく、ロボットアームを用いて照明装置３０を把持して移動させるようにしてもよい。
【０１１４】
また、照明方向を変化させるために照明装置を移動させるのではなく、複数の照明装置を複数の所定の照明位置にそれぞれ配置し、照明方向の選択に対応して、選択された照明装置を点灯するように構成してもよい。
【０１１５】
［面法線計測システムの動作］
次に、第１実施形態における面法線計測システム１の動作について、図８〜図１１を参照（適宜図１及び図４参照）して説明する。
【０１１６】
（全体動作）
図８に示すように、第１実施形態における面法線計測システム１は、参照物体測定処理（ステップＳ１０）と、計測対象物体測定処理（ステップＳ１１）と、面法線推定処理（ステップＳ１２）と、を順次実行する。
【０１１７】
面法線計測システム１は、予め形状が分かっており、表面の各点の面法線が既知の参照物体について、照明装置３０及び撮影装置４０を用いて撮影（測定）した参照物体の画像に基づいて、面法線計測装置１０によって、各照明方位について、参照陰影ベクトルを作成し、この参照陰影ベクトルを既知の面法線と対応付けたデータの集合である参照データベースを作成する（ステップＳ１０）。
【０１１８】
次に、面法線計測システム１は、面法線の計測対象物体について、前記した参照物体の測定と同様に、照明装置３０及び撮影装置４０を用いて撮影（測定）した計測対象物体の画像に基づいて、面法線計測装置１０によって、各照明方位について、画素ごとに計測対象陰影ベクトルを作成する（ステップＳ１１）。
【０１１９】
そして、面法線計測システム１は、面法線計測装置１０によって、ステップＳ１０で作成した参照データベースを用いて、各照明方位について、ステップＳ１１で作成した画素ごとの計測対象陰影ベクトルから面法線を推定する（ステップＳ１２）。
【０１２０】
続いて、図９〜図１１を参照して、順次に図８におけるステップＳ１０〜ステップＳ１２の詳細について説明する。
【０１２１】
（参照物体測定処理）
まず、図９を参照（適宜図１及び図４参照）して、図８におけるステップＳ１０に対応する参照物体測定処理について説明する。
図９に示すように、参照物体を測定するために、参照物体を面法線計測システム１のＸＹ平面の中央部に設置する（ステップＳ２０）。
【０１２２】
次に、面法線計測システム１は、照明位置制御手段１９によって、照明装置３０の移動先として、所定の最初の照明位置を設定する（ステップＳ２１）。なお、本実施形態では、まず、ＸＺ平面内で照明角度を変化させる照明方位を選択し、面法線計測システム１は、照明位置制御手段１９によって、照明装置３０の移動先として、ガイドレールＲｘの端部（例えば、Ｘ軸の＋側の端部）を照明位置として設定する。
【０１２３】
そして、面法線計測システム１は、照明位置制御手段１９によって、設定した照明装置３０の照明位置に移動する際に撮影装置４０の移動が必要かどうかを判断し（ステップＳ２２）、移動が必要な場合は（ステップＳ２２でＹｅｓ）、撮影位置制御手段２０に対して、撮影装置４０の移動を指示する制御信号を出力する。そして、面法線計測システム１は、撮影位置制御手段２０によって、撮影装置移動手段４１に対して移動を指示する制御信号を出力し、撮影装置４０を移動させる（ステップＳ２３）。
【０１２４】
なお、照明位置を初期設定（ステップＳ２１）する際に、面法線計測システム１は、照明点灯制御手段１８によって、照明装置３０を点灯させる。本実施形態では、測定期間中は、照明装置３０を常時点灯することとするが、照明装置３０の移動中は消灯し、撮影装置４０による撮影時のみ点灯するようにしてもよい。
【０１２５】
また、撮影装置４０の移動が必要な場合（ステップＳ２２でＹｅｓ）とは、照明位置が撮影装置４０の定位置である参照物体の真上付近であり、撮影装置４０が障害となって照明装置３０が移動できない場合である。この場合は、撮影装置４０をガイドレールＲｙに沿って退避位置に移動させる。なお、照明装置３０がガイドレールＲｙに沿って移動する場合は、撮影装置４０をガイドレールＲｘに沿って退避位置に移動させる。
【０１２６】
また、照明位置が撮影装置４０の設置位置である参照物体の真上付近を通過して、撮影装置４０が定位置である参照物体の真上の位置に移動可能な場合には、退避位置から定位置に移動させるものとする。従って、照明位置制御手段１９は、撮影位置制御手段２０に対して移動の要否を示す制御信号を出力し、撮影位置制御手段２０は、撮影装置移動手段４１に、定位置か退避位置の何れかである現在の位置から他方の位置への移動を指示する制御信号を出力する。
【０１２７】
そして、撮影装置４０の移動が必要でない場合（ステップＳ２２でＮｏ）に、及び撮影装置４０を移動（ステップＳ２３）させた後に、面法線計測システム１は、照明位置制御手段１９によって、照明装置移動手段３１に移動を指示する制御信号を出力して、照明装置３０を設定した照明位置に移動させる（ステップＳ２４）。
【０１２８】
次に、面法線計測システム１は、画像取得手段１１によって、撮影装置４０に撮影を指示する制御信号を出力して撮影装置４０により参照物体を撮影させ、撮影した画像を撮影装置４０から取得する（ステップＳ２５）。なお、面法線計測システム１は、画像取得手段１１によって、取得した参照物体の画像を、照明方位及び照明位置に対応付けて画像データ記憶手段１２に記憶する。
【０１２９】
次に、面法線計測システム１は、照明位置制御手段１９によって、ステップＳ２１で選択した照明方位において未撮影の次の照明位置があるかを確認し（ステップＳ２６）、ある場合は（ステップＳ２６でＹｅｓ）、面法線計測システム１は、照明位置制御手段１９によって、次の照明位置を選択し（ステップＳ２７）、ステップＳ２２に戻る。
【０１３０】
一方、選択された照明方位において、未撮影の次の照明位置がない場合は（ステップＳ２６でＮｏ）、面法線計測システム１は、輝度判定手段１３によって、画像データ記憶手段１２に蓄積された当該照明方位についての画像データを読み出して、画素ごとに所定の閾値と比較して輝度判定し、画像を２値化処理する（ステップＳ２８）。
【０１３１】
続いて、面法線計測システム１は、陰影ベクトル作成手段１４によって、輝度判定手段１３により２値化された画像データに基づいて、画素ごとに参照陰影ベクトルを作成する（ステップＳ２９）。そして、面法線計測システム１は、陰影ベクトル作成手段１４によって、作成した参照陰影ベクトルを、予め取得しておいた当該参照物体の画素ごとの面法線とペアにして、参照データベースのデータとして陰影ベクトル記憶手段１５に記憶する（ステップＳ５０）。
【０１３２】
選択された照明方位について、参照陰影ベクトルの作成が完了すると（ステップＳ２９）、面法線計測システム１は、照明位置制御手段１９によって、次の照明方位があるかを確認する（ステップＳ３０）。本実施形態では照明方位は、ＸＺ平面内での変化とＹＺ平面内での変化である。従って、ＸＺ平面内で照明角度を変化させる照明方位の処理が終了した場合は、次にＹＺ平面内で照明角度を変化させる照明方位があるため（ステップＳ３１でＹｅｓ）、面法線計測システム１は、照明位置制御手段１９によって、ＹＺ平面内で照明角度を変化させるために、照明装置３０の移動先の初期値として、ガイドレールＲｙの端部（例えば、Ｙ軸の＋側の端部）を選択する（ステップＳ２１）。
【０１３３】
そして、面法線計測システム１は、ＸＺ平面で特定される照明方位についての処理と同様にして、ＹＺ平面で特定される照明方位についての処理を行う。
【０１３４】
一方、ＹＺ平面で特定される照明方位の処理が終了した場合は、次の照明方位はないため（ステップＳ３１でＮｏ）、面法線計測システム１は、参照物体測定処理を終了する。
【０１３５】
なお、本実施形態では、撮影装置４０から取得した画像を、照明方位及び照明位置に対応付けて画像データ記憶手段１２に記憶するようにしたが、輝度判定手段１３によって２値化した画像を照明方位及び照明位置に対応付けて記憶するようにしてもよい。この場合は、１つの照明位置に対応する画像を取得するごとに、輝度判定手段１３によって輝度判定をして２値化処理を行うようにすればよい。また、撮影装置４０から取得した画像を画像データ記憶手段１２に記憶するとともに、２値化した画像を記憶する手段を別途設けて記憶するようにしてもよい。
【０１３６】
（対象物体測定処理）
次に、図１０を参照（適宜図１及び図４参照）して、図８に示したステップＳ１１に対応する計測対象物体測定処理について説明する。
ここで、図１０に示す計測対象物体測定処理のステップＳ４０〜ステップＳ５１は、それぞれ、図９に示した参照物体測定処理のステップＳ２０〜ステップＳ３１に対応し、同様の動作を行うものである。
【０１３７】
すなわち、図１０に示す計測対象物体測定処理は、図９に示した参照物体測定処理において、参照物体を面法線計測システム１のＸＹ平面の中央部に設置する（ステップＳ２０）代わりに、計測対象物体を同じ場所に設置する（ステップＳ４０）ことと、作成した参照物体についての陰影ベクトルである参照陰影ベクトルを、予め取得した面法線とペアにして陰影ベクトル記憶手段１５に記憶する（ステップＳ３０）代わりに、面法線が未知である計測対象物体についての陰影ベクトルである計測対象陰影ベクトルを、計測対象陰影ベクトル単独で陰影ベクトル記憶手段１５に記憶する（ステップＳ５０）以外は、同様の動作であるので、詳細な説明は省略する。
【０１３８】
（面法線推定処理）
次に、図１１を参照（適宜図１及び図４参照）して、図８に示したステップＳ１２に対応する計測対象物体についての面法線推定処理について説明する。
【０１３９】
まず、面法線計測システム１は、面法線推定手段１６によって、計測対象物体を撮影した画像において、面法線を推定する最初の画素を選択する（ステップＳ６０）。
【０１４０】
次に、面法線計測システム１は、面法線推定手段１６によって、２つの照明方位から、推定する面法線の方位を選択する。本実施形態では、まず、ＸＺ平面内で照明角度を変化させた照明方位に対応する方位を選択するものとする（ステップＳ６１）。
なお、ＹＺ平面内で照明角度を変化させた照明方位に対応する方位を最初に選択するようにしてもよい。
【０１４１】
そして、面法線計測システム１は、面法線推定手段１６によって、その画素の、その照明方位について、陰影ベクトル記憶手段１５から計測対象陰影ベクトルを取得する（ステップＳ６２）。
【０１４２】
また、面法線計測システム１は、面法線推定手段１６によって、ステップＳ６１で選択した照明方位についてのすべての参照陰影ベクトルを、ペアとなっている面法線と共に、陰影ベクトル記憶手段１５から取得する（ステップＳ６３）。
【０１４３】
次に、面法線計測システム１は、面法線推定手段１６によって、その画素についての計測対象陰影ベクトルと、ステップＳ６３で取得した各参照陰影ベクトルとの一致の程度を示す指標である類似度として、両陰影ベクトルの内積を算出し、計測対象陰影ベクトルと最も類似する参照陰影ベクトルとして、類似度である内積の値が最も大きくなる参照陰影ベクトルを抽出する（ステップＳ６４）。
【０１４４】
そして、面法線計測システム１は、面法線推定手段１６によって、ステップＳ６４で抽出した参照陰影ベクトルとペアとなっている面法線を、その照明方位についての、その画素における面法線であると推定する（ステップＳ６５）。なお、推定した面法線は、一時記憶メモリなどに保持しておくものとする。
【０１４５】
次に、面法線計測システム１は、面法線推定手段１６によって、推定する面法線の方位として、面法線の推定処理が済んでいない照明方位がないかを確認し（ステップＳ６６）、ある場合は（ステップＳ６６でＹｅｓ）、推定が未処理の照明方位を選択し（ステップＳ６１）、その照明方位についての面法線の推定処理（ステップＳ６２〜ステップＳ６５）を行う。
【０１４６】
また、面法線の推定が未処理の照明方位がない場合は（ステップＳ６６でＮｏ）、面法線計測システム１は、面法線推定手段１６によって、ステップＳ６５で推定した、２つの照明方位についての面法線をベクトル合成する（ステップＳ６７）。
【０１４７】
そして、面法線計測システム１は、面法線推定手段１６によって、ステップＳ６７でベクトル合成して算出した面法線を、その画素における面法線の計測値として、面法線記憶手段１７に記憶する（ステップＳ６８）。
【０１４８】
次に、面法線計測システム１は、面法線推定手段１６によって、面法線の推定が済んでいない画素があるかどうかを確認し（ステップＳ６９）、ある場合は（ステップＳ６９でＹｅｓ）、面法線計測システム１は、面法線推定手段１６によって、面法線を推定する次の画素を選択し（ステップＳ７０）、ステップＳ６１に戻って、その画素について、一連の面法線の推定処理（ステップＳ６１〜ステップＳ６８）を行う。
【０１４９】
一方、面法線の推定が済んでいない画素がない場合は（ステップＳ６９でＮｏ）、面法線計測システム１は、面法線推定処理を終了する。
【０１５０】
［第１実施形態の変形例］
次に、図１２を参照して、第１実施形態の面法線計測システム１の変形例について説明する。
【０１５１】
図１２に示した第１実施形態の変形例における面法線計測システム１Ａは、図７に示した第１実施形態における面法線計測システム１に対して、照明装置３０が、撮影装置４０の定位置である物体ＯＢＪ（図１参照）の真上付近に移動する際に、撮影装置４０を、図７に破線で示した退避位置に移動する代わりに、撮影装置４０を、照明装置３０の照明位置に関わらず、障害とならない位置に設置するものである。
【０１５２】
図１２に示した例では、照明装置３０が、ガイドレールＲｘ及びガイドレールＲｙの何れの方向に沿って移動する場合でも障害とならないように、平面視で、ガイドレールＲｘ，Ｒｙの交点から斜め方向にシフトした位置に設置されている。
また、撮影装置４０を、物体ＯＢＪ（図１参照）の真上からシフトして配置することにより、物体ＯＢＪ（図１参照）の、撮影装置４０から見て、撮影装置４０がシフトした方向と反対側の面の一部が死角となって撮影できないことを考慮して、ガイドレールＲｘ、Ｒｙの交点を中心として、平面視で点対称の位置に撮影装置４０を配置している。この２台の撮影装置４０によって、死角を生じることなく、物体ＯＢＪ（図１参照）を撮影することができる。
【０１５３】
なお、２台の撮影装置４０で撮影される画像は、できる限り同じ撮影領域ＩＡ（図１参照）となるように撮影方向と画角とが調整されることが好ましい。
また、２台の撮影装置４０で撮影された画像は、画像取得手段１１（図４参照）によって統合され、一つの画像として画像データ記憶手段１２に記憶されるものとする。
【０１５４】
なお、本変形例についてのその他の構成及び動作は、第１実施形態と同様であるから、詳細な説明は省略する。
【０１５５】
［第２実施形態］
次に、図１３を参照して、第２実施形態における面法線計測システムについて説明する。
図６に示した第１実施形態における面法線計測システム１は、照明装置３０によって、計測対象である物体ＯＢＪの全体を照明するのに対して、図１３（ａ）に示した第２実施形態における照明装置３０Ａの照明範囲が狭く、物体ＯＢＪの全体を一度に照明できない場合に、物体ＯＢＪの撮影領域ＩＡを、複数の有効撮影領域（分割領域）ＩＡ１〜ＩＡ４に分割して、それぞれの分割した有効撮影領域ＩＡ１〜ＩＡ４について、照明装置３０Ａにより照明角度を変化させて照明した物体ＯＢＪを、撮影装置４０によって撮影するものである。
【０１５６】
これによって、小型の照明装置３０Ａを用いて、物体ＯＢＪの面法線を計測することができる。また、照明装置３０Ａの照明範囲が第１実施形態における照明装置３０と同じ場合には、より大きな物体ＯＢＪの面法線を計測することができる。
【０１５７】
図１３（ｂ）は、物体ＯＢＪの有効撮影領域をＸ軸方向に４分割、Ｙ軸方向に３分割した場合の様子を示している。従って、この例の場合は、破線で示した４×３＝１２個の有効撮影領域ごとに、照明装置３０Ａによって照明角度を変化させながら物体ＯＢＪの撮影を行うことになる。なお、図１３（ａ）に示した有効撮影領域ＩＡ１〜ＩＡ４は、図１３（ｂ）においてＸ軸方向に４分割された有効撮影領域に対応するものである。
【０１５８】
図１４は、第２実施形態における面法線計測システム１Ｂにおける照明装置３０Ａ及び撮影装置４０がガイドレールＲｘに沿って移動する様子を示したものである。第２実施形態における照明装置３０Ａは、進行方向と垂直方向に延伸する補助ガイドレールＲｓを備えた照明装置移動手段３１Ａによって、ガイドレールＲｘに沿って照明位置を移動するとともに、補助ガイドレールＲｓに沿って、垂直方向（この例では、Ｙ軸方向）にも移動可能に構成されている。
【０１５９】
照明装置移動手段３１Ａの構成について更に詳細に説明する。照明装置移動手段３１Ａは、補助ガイドレールＲｓと、主移動手段３１Ａａと、副移動手段３１Ａｂとから構成される。主移動手段３１Ａａは、補助ガイドレールＲｓの延伸方向の中央部を把持し、ガイドレールＲｘに沿って自在に移動できるように設置されている。また、副移動手段３１Ａｂは、照明装置３０Ａの背面に取り付けられ、補助ガイドレールＲｓに沿って自在に移動できるように設置されている。また、副移動手段３１Ａｂは、ガイドレールＲｘに沿った方向（この例では、Ｘ軸方向）に、照明装置３０Ａの照明領域を調整することができるように構成されている。
【０１６０】
この補助ガイドレールＲｓに沿って照明装置３０Ａを移動させることによって、図１３（ｂ）に示した、Ｙ軸方向に分割された有効撮影領域の一つを選択して照明することができる。また、副移動手段３１Ａｂは、照明装置３０Ａの照明方向を調整することにより、図１３（ｂ）に示したＸ軸方向に分割された有効撮影領域の一つを選択して照明することができる。
【０１６１】
また、照明装置３０Ａが、ガイドレールＲｙに沿って移動する場合は、照明装置移動手段３１Ａは、９０°回転して、補助ガイドレールＲｓはＸ軸方向に延伸するように設定される。また、このとき、副移動手段３１Ａｂは、照明装置３０Ａの照明方向をＹ軸方向に沿って調整可能となる。これらによって、Ｘ軸方向及びＹ軸方向に分割された有効撮影領域の一つを選択して照明することができる。
【０１６２】
なお、照明装置３０Ａによる照明領域は、分割された有効撮影領域と同一である必要はなく、少なくとも個々の有効撮影領域をカバーできればよい。従って、照明領域の形状は、矩形に限らず、円形、楕円形、多角形などであってもよい。
【０１６３】
また、撮影装置４０による物体ＯＢＪの撮影において、本実施形態においては、物体ＯＢＪの全体を撮影するように撮影領域ＩＡを設定する。そして、各画像については、照明光が照射された有効撮影領域の画像のみを有効画像として用いることとする。
なお、物体ＯＢＪの全体を撮影領域とするのではなく、有効撮影領域を拡大して撮影するようにしてもよい。
【０１６４】
次に、第２実施形態における面法線計測システム１Ｂの動作について説明する。
第２実施形態における面法線計測システム１Ｂの動作は、図８に示した第１実施形態における面法線計測システム１の動作と同様に、参照物体測定処理Ｓ１０と、計測対象物体測定処理Ｓ１１と、面法線推定処理Ｓ１２とを、順次行う。
【０１６５】
ここで、図１５を参照（図１３及び図１４参照）して、第２実施形態における面法線計測システム１Ｂの動作が、第１実施形態における面法線計測システム１と異なる点について説明する。なお、第２実施形態の面法線計測システム１Ｂにおける面法線計測装置は、図４に示した第１実施形態の面法線計測システム１における面法線計測装置１０と同様の構成であるため、第２実施形態における面法線計測システム１Ｂの動作については、図４を適宜参照して説明をする。
【０１６６】
図１５に示した第２実施形態の面法線計測システム１Ｂの参照物体測定処理において、ステップＳ８０〜ステップＳ８４及びステップＳ９１〜ステップＳ９６は、図９に示した第１実施形態の面法線計測システム１の参照物体測定処理におけるステップＳ２０〜ステップＳ２４及びステップＳ２６〜ステップＳ３１と、それぞれ同様であるから、詳細な説明は省略する。
【０１６７】
第２実施形態における面法線計測システム１Ｂは、一つの照明位置（照明角度）について、複数に分割された有効撮影領域の数だけ、主移動手段３１Ａａ及び副移動手段３１Ａｂによって、照明装置３０Ａによる照明領域をシフトして撮影を繰り返し、複数の画像を取得する。
【０１６８】
そのために、面法線計測システム１Ｂは、照明位置制御手段１９によって、最初に照明する有効撮影領域を選択する（ステップＳ８５）。そして、面法線計測システム１Ｂは、照明位置制御手段１９によって照明装置移動手段３１Ａの主移動手段３１Ａａ及び副移動手段３１Ａｂに対して、選択した有効撮影領域の照明を指示する制御信号を出力し、照明装置３０Ａに有効撮影領域を照明させる（ステップＳ８６）。
【０１６９】
そして、面法線計測システム１Ｂは、画像取得手段１１によって、撮影装置４０に撮影を指示する制御信号を出力して参照物体を撮影させ、撮影した画像を取得する（ステップＳ８７）。なお、面法線計測システム１Ｂは、画像取得手段１１によって、取得した画像を、照明方位及び照明角度に対応付けて、計測対象である有効撮影領域を識別する情報と共に画像データ記憶手段１２に記憶する。
【０１７０】
面法線計測システム１Ｂは、照明位置制御手段１９によって、次に照明する有効撮影領域があるか確認し（ステップＳ８８）、ある場合は（ステップＳ８８でＹｅｓ）、次の有効撮影領域を選択する（ステップＳ８９）。そして、面法線計測システム１Ｂは、照明位置制御手段１９によって、選択した有効撮影領域の照明を指示する制御信号を照明装置移動手段３１Ａに出力し、照明装置３０Ａによる照明領域を設定する（ステップＳ８６）。
【０１７１】
一方、次に照明する有効撮影領域がない場合は（ステップＳ８８でＮｏ）、面法線計測システム１Ｂは、画像取得手段１１によって、画像データ記憶手段１２において記憶されている同じ照明方位及び照明角度から撮影した１組の画像データごとに、それぞれの画像における有効撮影領域を抽出して合成し、一つの画像に統合する（ステップＳ９０）。なお、面法線計測システム１Ｂは、画像取得手段１１によって、統合した画像データを、照明方位及び照明角度に対応付けて画像データ記憶手段１２に記憶する。
【０１７２】
そして、面法線計測システム１Ｂは、照明位置制御手段１９によって、次の照明位置があるかを確認する（ステップＳ９１）。以降の処理は、前記したように第１実施形態における処理と同様であるので、説明は省略する。
なお、本実施形態では、分割して照明された画像を一つに統合するようにしたが、画像を統合せずに、分割したまま後の処理で用いるようにしてもよい。
【０１７３】
また、第２実施形態の面法線計測システム１Ｂの計測対象物体測定処理は、図１５に示した参照物体測定処理と同様に、一つの照明位置について複数に分割された有効撮影領域の数だけ照明領域をシフトして撮影を行い、画像合成をして一つの画像データに統合すること以外は、図１０に示した第１実施形態の面法線計測システム１の計測対象物体測定処理と同様に行うことができるため、説明は省略する。
更にまた、第２実施形態の面法線計測システム１Ｂの面法線推定処理は、図１１に示した第１実施形態の面法線計測システム１の計測対象物体測定処理と同様に行うことができるため、説明は省略する。
【符号の説明】
【０１７４】
１、１Ａ、１Ｂ  面法線計測システム
１０    面法線計測装置
１１    画像取得手段
１２    画像データ記憶手段
１３    輝度判定手段
１４    陰影ベクトル作成手段
１５    陰影ベクトル記憶手段（参照データベース記憶手段）
１６    面法線推定手段
１７    面法線記憶手段
１８    照明点灯制御手段
１９    照明位置制御手段
２０    撮影位置制御手段
３０、３０Ａ  照明装置
３１、３１Ａ  照明装置移動手段
４０    撮影装置
４１    撮影装置移動手段
５０    信号線
ＯＢＪ  物体（計測対象物体）
Ｒｘ，Ｒｙ  ガイドレール
【図１】
0005647084.tif 000002
【図２】
0005647084.tif 000003
【図３】
0005647084.tif 000004
【図４】
0005647084.tif 000005
【図５】
0005647084.tif 000006
【図６】
0005647084.tif 000007
【図７】
0005647084.tif 000008
【図８】
0005647084.tif 000009
【図９】
0005647084.tif 000010
【図１０】
0005647084.tif 000011
【図１１】
0005647084.tif 000012
【図１２】
0005647084.tif 000013
【図１３】
0005647084.tif 000014
【図１４】
0005647084.tif 000015
【図１５】
0005647084.tif 000016