(57)【要約】【課題】  分解能を損なうことなく、位相とびを大幅に少なくする3次元計測装置を提供する。【解決手段】  被測定物に第1のピッチを有する周期的な明暗のパターンを投影し、被測定物体の位相が異なる複数の撮像画像を取得する撮像装置350と、複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する光強度抽出部310と、複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出するバイアス消去演算部311と、複数の基本関数のそれぞれに複数のメモリ格子関数を乗じ、複数のモアレ関数を算出するモアレ生成演算部312と、複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して和の周波数成分を除去し、初期位相を算出する位相演算部313とを備える。【選択図】      図1
2005227246.tif 000002
【特許請求の範囲】
【請求項１】
被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、前記被測定物体の位相が異なる複数の撮像画像を取得する撮像装置と、
前記複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する光強度抽出部と、
前記複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出するバイアス消去演算部と、
前記複数の基本関数のそれぞれに複数のメモリ格子関数のそれぞれを乗じ、複数のモアレ関数を算出するモアレ生成演算部と、
前記複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して前記和の周波数成分を除去し、初期位相を算出する位相演算部
とを備えることを特徴とする3次元計測装置。
【請求項２】
被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、前記被測定物体の位相が異なる複数の撮像画像を取得する撮像装置と、
前記複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する光強度抽出部と、
それぞれ位相が90度異なる第1メモリ格子関数群及び第2メモリ格子関数群を保存するメモリ格子記憶装置と、
前記複数の光強度関数のそれぞれに対し、前記第1メモリ格子関数群及び前記第2メモリ格子関数群のそれぞれに含まれる複数のメモリ格子関数のそれぞれを乗じて複数の余弦関数及び複数の正弦関数を算出する正余弦関数算出部と、
前記複数の余弦関数の和をとり前記複数の余弦関数に含まれるバイアス成分を除去して実部関数を算出し、前記複数の正弦関数の和をとり前記複数の正弦関数に含まれる前記バイアス成分を除去して虚部関数を算出する実部算出部と、
前記虚部関数を前記実部関数で割り、逆正接をとることにより初期位相を算出する初期位相算出部
とを備えることを特徴とする3次元計測装置。
【請求項３】
前記複数のメモリ格子関数のそれぞれに含まれる第2のピッチは、前記第1のピッチの半分よりも大であることを特徴とする請求項１又は２に記載の3次元計測装置。
【請求項４】
前記複数のメモリ格子関数のそれぞれに含まれる第2のピッチは、前記第1のピッチと等しい値であることを特徴とする請求項１又は２に記載の3次元計測装置。
【請求項５】
前記撮像装置は、前記明暗のパターンを順次前記第1のピッチと同じ方向に等間隔で移動させる格子駆動部を備えることを特徴とする請求項１乃至４のいずれか１項に記載の3次元計測装置。
【請求項６】
前記撮像装置は、前記明暗のパターンを順次前記第1のピッチと同じ方向に前記第1のピッチの４分の１の距離を移動させる格子駆動部を備えることを特徴とする請求項１乃至４のいずれか１項に記載の3次元計測装置。
【請求項７】
被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、撮像画像入力部が前記被測定物体の位相が異なる複数の撮像画像を取得し、データ記憶装置に格納するステップと、
光強度抽出部が前記複数の撮像画像のそれぞれに含まれる画素の光強度を複数の光強度関数と仮定し、前記データ記憶装置に格納するステップと、
バイアス消去演算部が前記複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出し、前記データ記憶装置に格納するステップと、
モアレ生成演算部が前記複数の基本関数のそれぞれに複数のメモリ格子関数のそれぞれを乗じ、複数のモアレ関数を算出し、前記データ記憶装置に格納するステップと、
位相演算部が前記複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して前記和の周波数成分を除去し、初期位相を算出するステップ
とを含むことを特徴とする3次元計測方法。
【請求項８】
被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、撮像画像入力部が前記被測定物体の位相が異なる複数の撮像画像を取得し、データ記憶装置に格納するステップと、
光強度抽出部が前記複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定し、前記データ記憶装置に格納するステップと、
正余弦関数算出部が前記複数の光強度関数のそれぞれに対し、それぞれ位相が90度異なる第1メモリ格子関数群及び第2メモリ格子関数群のそれぞれに含まれる複数のメモリ格子関数のそれぞれを乗じて複数の余弦関数及び複数の正弦関数を算出し、前記データ記憶装置に格納するステップと、
実部算出部が前記複数の余弦関数の和及び前記複数の正弦関数の和をとることにより前記複数の余弦関数及び正弦関数に含まれるバイアス成分を除去して実部関数及び虚部関数のそれぞれを算出し、前記データ記憶装置に格納するステップと、
初期位相算出部が前記虚部関数を前記実部関数で割り、逆正接をとることにより初期位相を算出するステップ
とを含むことを特徴とする3次元計測方法。
【請求項９】
前記複数のモアレ関数を算出し、前記データ記憶装置に格納するステップにおいて、前記複数のメモリ格子関数のそれぞれに含まれる第2のピッチは、前記第1のピッチの半分よりも大であることを特徴とする請求項７記載の3次元計測方法。
【請求項１０】
前記複数のモアレ関数を算出し、前記データ記憶装置に格納するステップにおいて、前記複数のメモリ格子関数のそれぞれに含まれる第2のピッチは、前記第1のピッチと等しいことを特徴とする請求項７記載の3次元計測方法。
【請求項１１】
前記複数の余弦関数及び複数の正弦関数を算出し、前記データ記憶装置に格納するステップにおいて、前記複数のメモリ格子関数のそれぞれに含まれる第2のピッチは、前記第1のピッチの半分よりも大であることを特徴とする請求項８記載の3次元計測方法。
【請求項１２】
前記複数の余弦関数及び複数の正弦関数を算出し、前記データ記憶装置に格納するステップにおいて、前記複数のメモリ格子関数のそれぞれに含まれる第2のピッチは、前記第1のピッチと等しいことを特徴とする請求項８記載の3次元計測方法。
【請求項１３】
前記位相が異なる複数の撮像画像を取得し、前記データ記憶装置に格納するステップは、前記明暗のパターンを順次前記第1のピッチと同じ方向に等間隔で移動させる手順を含むことを特徴とする請求項７乃至１２のいずれか１項に記載の3次元計測方法。
【請求項１４】
前記位相が異なる複数の撮像画像を取得し、前記データ記憶装置に格納するステップは、前記明暗のパターンを順次前記第1のピッチと同じ方向に前記第1のピッチの４分の１の距離を移動させる手順を含むことを特徴とする請求項７乃至１２のいずれか１項に記載の3次元計測方法。
【請求項１５】
被測定物体の表面形状を測定する３次元計測装置を駆動制御する３次元計測プログラムであって、前記３次元計測装置に、
被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、前記被測定物体の位相が異なる複数の撮像画像を取得する命令と、
前記複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する命令と、
前記複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出する命令と、
前記複数の基本関数のそれぞれに複数のメモリ格子関数のそれぞれを乗じ、複数のモアレ関数を算出する命令と、
前記複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して前記和の周波数成分を除去し、初期位相を算出する命令
とを実行させることを特徴とする3次元計測プログラム。
【請求項１６】
被測定物体の表面形状を測定する３次元計測装置を駆動制御する３次元計測プログラムであって、前記３次元計測装置に、
被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、前記被測定物体の位相が異なる複数の撮像画像を取得する命令と、
前記複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する命令と、
前記複数の光強度関数のそれぞれに対し、それぞれ位相が90度異なる第1メモリ格子関数群及び第2メモリ格子関数群のそれぞれに含まれる複数のメモリ格子関数のそれぞれを乗じて複数の余弦関数及び複数の正弦関数を算出する命令と、
前記複数の余弦関数の和及び前記複数の正弦関数の和をとることにより前記複数の余弦関数及び正弦関数に含まれるバイアス成分を除去して実部関数及び虚部関数のそれぞれを算出する命令と、
前記虚部関数を前記実部関数で割り、逆正接をとることにより初期位相を算出する命令
とを実行させることを特徴とする3次元計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は3次元計測技術に関し、特に３次元計測物体の表面を計測する3次元計測装置、3次元計測方法及び3次元計測プログラムに関する。
【背景技術】
【０００２】
物体の三次元形状を測定する手法に格子パターン投影法と格子投影型モアレ法がある。「格子パターン投影法」とは、格子状パターンを投影し、その位相から被測定物体表面の各点の高さを求める手法（例えば非特許文献1参照。）をいう。格子パターン投影法においては、格子パターンのピッチを小さくすることにより精度の向上が可能である。
【０００３】
一方、「格子投影型モアレ法」とは、まず被測定物体に投影した周期的な格子パターンを撮像し、得られた画像に対して計算機内の仮想的な格子モデルを乗算することにより、モアレを生成する手法（例えば非特許文献2参照。）をいう。このとき得られるモアレには、格子の空間周波数成分およびそれぞれの格子の和の空間周波数成分と差の空間周波数成分が含まれるので、空間的なローパスフィルターを用いてそれぞれの格子の差の空間周波数成分のみを取り出す。格子投影型モアレ法においては、計算機内の格子のピッチを調整することにより、それぞれの格子の差の空間周波数成分のレンジは狭くすることができるので、位相とびを少なくすることができる。
【非特許文献１】吉澤徹、「格子パターン投影方式三次元計測システム」、三次元光学、第１巻、光技術コミュニケーションズ、１９９３年、ｐ．８３−９９
【非特許文献２】加藤純一、山口一郎、「位相シフト電子モアレを用いた縞画像の実時間処理」、センサ技術、第１２巻、第７号、１９９２年、ｐ．３９−４４
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし格子パターン投影法には、格子パターンのピッチを小さくすると、比例して高さ計算結果における位相とびが多数発生するという問題があった。また、位相とびが多数発生することから、位相接続に時間がかかるという問題も生じていた。一方、格子投影型モアレ法においては、空間周波数フィルターを用いるため、空間分解能が著しく損なわれ、微細な形状を測定することができないという問題があった。
【０００５】
本発明は上記問題を鑑み、分解能を損なうことなく、位相とびを大幅に少なくすることが可能な3次元計測装置、3次元計測方法及び3次元計測プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の第1の特徴は、（イ）被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、被測定物体の位相が異なる複数の撮像画像を取得する撮像装置と、（ロ）複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する光強度抽出部と、（ハ）複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出するバイアス消去演算部と、（ニ）複数の基本関数のそれぞれに複数のメモリ格子関数を乗じ、複数のモアレ関数を算出するモアレ生成演算部と、（ホ）複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して和の周波数成分を除去し、初期位相を算出する位相演算部とを備える3次元計測装置であることを要旨とする。
【０００７】
本発明の第2の特徴は、（イ）被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、被測定物体の位相が異なる複数の撮像画像を取得する撮像装置と、（ロ）複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する光強度抽出部と、（ハ）それぞれ位相が90度異なる第1メモリ格子関数群及び第2メモリ格子関数群を保存するメモリ格子記憶装置と、（ニ）複数の光強度関数のそれぞれに対し、第1メモリ格子関数群及び第2メモリ格子関数群のそれぞれに含まれる複数のメモリ格子関数のそれぞれを乗じて複数の余弦関数及び複数の正弦関数を算出する正余弦関数算出部と、（ホ）複数の余弦関数の和をとり複数の余弦関数に含まれるバイアス成分を除去して実部関数を算出し、複数の正弦関数の和をとり複数の正弦関数に含まれるバイアス成分を除去して虚部関数を算出する実部算出部と、（ヘ）虚部関数を実部関数で割り、逆正接をとることにより初期位相を算出する初期位相算出部とを備える3次元計測装置であることを要旨とする。
【０００８】
本発明の第3の特徴は、（イ）被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、被測定物体の位相が異なる複数の撮像画像を取得するステップと、（ロ）複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定するステップと、（ハ）複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出するステップと、（ニ）複数の基本関数のそれぞれに複数のメモリ格子関数を乗じ、複数のモアレ関数を算出するステップと、（ホ）複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して和の周波数成分を除去し、初期位相を算出するステップとを含む3次元計測方法であることを要旨とする。
【０００９】
本発明の第4の特徴は、（イ）被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、撮像画像入力部が被測定物体の位相が異なる複数の撮像画像を取得し、データ記憶装置に格納するステップと、（ロ）光強度抽出部が複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定し、データ記憶装置に格納するステップと、（ハ）正余弦関数算出部が複数の光強度関数のそれぞれに対し、それぞれ位相が90度異なる第1メモリ格子関数群及び第2メモリ格子関数群のそれぞれに含まれる複数のメモリ格子関数のそれぞれを乗じて複数の余弦関数及び複数の正弦関数を算出し、データ記憶装置に格納するステップと、（ニ）実部算出部が複数の余弦関数の和及び複数の正弦関数の和をとることにより複数の余弦関数及び正弦関数に含まれるバイアス成分を除去して実部関数及び虚部関数のそれぞれを算出し、データ記憶装置に格納するステップと、（ホ）初期位相算出部が虚部関数を実部関数で割り、逆正接をとることにより初期位相を算出するステップとを含む3次元計測方法であることを要旨とする。
【００１０】
本発明の第5の特徴は、被測定物体の表面形状を測定する３次元計測装置を駆動制御する３次元計測プログラムであって、３次元計測装置に、（イ）被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、被測定物体の位相が異なる複数の撮像画像を取得する命令と、（ロ）複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する命令と、（ハ）複数の光強度関数から位相が異なる2つの光強度関数の組合せを複数生成してバイアス成分を除去し、複数の基本関数を算出する命令と、（ニ）複数の基本関数のそれぞれに複数のメモリ格子関数を乗じ、複数のモアレ関数を算出する命令と、（ホ）複数のモアレ関数から互いに和の周波数成分の絶対値が等しい2つのモアレ関数の組合せを複数生成して和の周波数成分を除去し、初期位相を算出する命令とを実行させる3次元計測プログラムであることを要旨とする。
【００１１】
本発明の第6の特徴は、（イ）被測定物体の表面形状を測定する３次元計測装置を駆動制御する３次元計測プログラムであって、３次元計測装置に、（ロ）被測定物体に第1のピッチを有する周期的な明暗のパターンを投影し、被測定物体の位相が異なる複数の撮像画像を取得する命令と、（ハ）複数の撮像画像のそれぞれに含まれる画素の光強度を、複数の光強度関数と仮定する命令と、（ニ）複数の光強度関数のそれぞれに対し、それぞれ位相が90度異なる第1メモリ格子関数群及び第2メモリ格子関数群のそれぞれに含まれる複数のメモリ格子関数のそれぞれを乗じて複数の余弦関数及び複数の正弦関数を算出する命令と、（ホ）複数の余弦関数の和及び複数の正弦関数の和をとることにより複数の余弦関数及び正弦関数に含まれるバイアス成分を除去して実部関数及び虚部関数のそれぞれを算出する命令と、（ヘ）虚部関数を実部関数で割り、逆正接をとることにより初期位相を算出する命令とを実行させる3次元計測プログラムであることを要旨とする。
【発明の効果】
【００１２】
本発明によれば、分解能を損なうことなく、位相とびを大幅に少なくすることが可能な3次元計測装置、3次元計測方法及び3次元計測プログラムを提供可能である。
【発明を実施するための最良の形態】
【００１３】
以下に本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号で表している。但し、図面は模式的なものである。したがって、具体的な寸法等は以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００１４】
（第1の実施の形態）
本発明の第1の実施の形態に係るモアレ三次元形状計測システムは、図1に示すように中央処理装置(CPU)300、撮像装置350、メモリ格子記憶装置332、入力装置340、出力装置341、プログラム記憶装置330、データ記憶装置331を備える。さらにCPU300は、撮像装置制御部200、撮像画像入力部309、光強度抽出部310、バイアス消去演算部311、モアレ生成演算部312、位相演算部313、位相接続演算部314、傾き補正演算部315及び高さ変換演算部316を備える。
【００１５】
撮像装置350は、図2に示すように、測定対象である被測定物体5に対して光を照射する光源10、光源10より照射された光を平行光にする第1のレンズ11、平行光が照射される格子3、格子3を透過した光が照射される被測定物体5を搭載するステージ80、被測定物体5からの反射光を集光する第2のレンズ21、集光された反射光の焦点近傍に配置されるスペイシャルフィルタ23、スペイシャルフィルタ23を通過した反射光を受けるイメージセンサ20、ステージ80の配置位置を移動させるステージ駆動部42及び格子3の配置位置を移動させる格子駆動部15を備える。
【００１６】
ここで光源10は、蛍光放電管、低圧水銀灯、キセノンランプ等の線光源等が使用可能である。第1のレンズ11はシリンドリカルレンズ等が使用可能であり、第2のレンズ21はテレセントリックレンズ等が使用可能である。格子3の表面を模式的に示したのが図3(a)であり、格子3の表面は図3(b)に示すようには周期的な透過率分布を有する。光源10より格子3に光を照射することにより、被測定物体5の表面には、第1のピッチPdを有する周期的な明暗のパターンが投影される。イメージセンサ20は電荷結合素子(CCD)カメラ等が使用可能であり、CCDカメラの光電変換機能により、反射光の明暗を電圧の大小に変換し、縦(x)方向及び横(y)方向にマトリックス状に配置された複数の画素から構成されるデジタル画像を図1に示した撮像画像入力部309へ伝達する。
【００１７】
撮像装置制御部200は、制御信号等を撮像装置350に供給することにより、図2に示したステージ駆動部42を制御し、ステージ80の配置位置を制御する。同様に格子駆動部15を制御し、格子3の配置位置を格子3の周期パターン方向に移動させる。さらに撮像装置制御部200は光源10の光強度の調整、イメージセンサ20のシャッタースピード等の制御を行う。
【００１８】
図1に示す撮像画像入力部309は、所定の位置に配置された図2に示した格子3を光源10で照射し、イメージセンサ20で撮像された被測定物体5のデジタル画像を第1の撮像画像と定義する。また、第1の撮像画像に対し、格子駆動部15により格子3を移動させて、被測定物体5の表面の明暗のパターンを第1のピッチPdの四分の一の距離を移動させ撮像したデジタル画像を第2の撮像画像と定義する。以下同様に、被測定物体5の表面の明暗のパターンを、第1のピッチPdの四分の一の距離を順次移動させ撮像したデジタル画像を第3の撮像画像、第4の撮像画像とそれぞれ定義する。
【００１９】
図1に示す光強度抽出部310は、x方向及びy方向に配置された複数の画素から構成される第1から第4の撮像画像のそれぞれから、x方向に1列に並ぶ複数の画素を抽出する。ここで、各画素は光強度のデータを有しており、第1の撮像画像から抽出された画素から再現された光強度分布の一例が図4である。図4に示した座標xにおける画素の光強度I1(x)は下記(1)式で表されると仮定される。以下同様に、第2の撮像画像から再現された光強度分布の一例が図5であり、図5に示した座標xにおける画素の光強度I2(x)は下記(2)式で表されると仮定される。第3の撮像画像から再現された光強度分布の一例が図6であり、図6に示した画素の光強度I3(x)は下記(3)式で表されると仮定される。第4の撮像画像から再現された光強度分布の一例が図7であり、図7に示した画素の光強度I3(x)は下記(4)式で表されると仮定される。：
I1(x) = A × cos(2 πx / Pd + φ(x)) + B           …(1)
I2(x) = A × cos(2 πx / Pd + φ(x) + π/2) + B     …(2)
I3(x) = A × cos(2 πx / Pd + φ(x) + π) + B       …(3)
I4(x) = A × cos(2 πx / Pd  + φ(x) + 3 × π/2) + B       …(4)
ここで、A、Bは各画素における定数であり、Aは振幅を、Bはバイアス項を示す。Aの値はレンズ等の光学系や、被測定物体5の表面の反射率によって定まる。Bの値は、レンズ等の光学系や、被測定物体5の表面の反射率の他に、迷光等の要因によって定まる。φ(x)は位相を示す。
【００２０】
図1に示すバイアス消去演算部311は光強度抽出部310で算出された互いに位相が180度異なる第1の光強度関数I1(x)から第3の光強度関数I3(x)を減じ、図8に示すバイアス項Bのない第1の基本関数E1(x)を算出する。また、互いに位相が180度異なる第4の光強度関数I4(x)から第2の光強度関数I2(x)を減じ、図9に示すバイアス項Bのない第2の基本関数E2(x)を算出する。第1の基本関数E1(x)及び第2の基本関数E2(x)のそれぞれは、下記（5）式及び（6）式で表される。：
E1(x) = I1(x) - I3(x)
= 2A × cos(2πx / Pd + φ(x))     …(5)
E2(x) =  I4(x) - I2(x)
= 2A × sin(2πx / Pd + φ(x))     …(6)
図1に示すメモリ格子記憶装置332は、下記（7）式及び（8）式で表される互いに位相が90度異なる第1のメモリ格子関数G1(x)及び第2のメモリ格子関数G2(x)のそれぞれを保存する。：
G1(x) = cos(2πx / Pm)          …(7)
G2(x) = sin(2πx / Pm)          …(8)
なおPmは、第1のピッチPdに対して、メモリ格子記憶装置332に保存される仮想的な格子モデルに設定された第2のピッチである。Pmの値は図1に示した入力装置340から任意の値に入力可能である。なお、Pmの値はPdと同じ単位系を用いる。例えば、Pdの単位がμmであれば、Pmの単位もμmで設定される。
【００２１】
モアレ生成演算部312は、バイアス消去演算部311で算出された第1の基本関数E1(x)に、メモリ格子記憶装置332に保存されている第1のメモリ格子関数G1(x)を乗ずる下記（9）式に示す計算と、第2のメモリ格子関数G2(x)を乗ずる下記（10）式に示す計算のそれぞれを行い、図10に示す第1のモアレ関数M1(x)及び図11に示す第2のモアレ関数M2(x)のそれぞれを算出する。さらにモアレ生成演算部312は、第2の基本関数E2(x)に第1のメモリ格子関数G1(x)を乗ずる下記（11）式に示す計算と、第2のメモリ格子関数G2(x)を乗ずる下記（12）式に示す計算のそれぞれを行い、図12に示す第3のモアレ関数M3(x)と図13に示す第4のモアレ関数M4(x)のそれぞれを算出する。また、第1乃至第4のモアレ関数M1(x)〜M4(x)のそれぞれの第2項を和の周波数成分と定義する。：
M1(x) = E1(x) × G1(x)
= 2A × cos(2πx / Pd + φ(x)) × cos(2πx / Pm)
= A × {cos(2πx(Pm - Pd) / (Pm × Pd) + φ(x)) + cos(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} …(9)
M2(x) = E1(x) × G2(x)
= 2A × cos(2πx / Pd + φ(x)) × sin(2πx / Pm)
= A × {-sin(2πx(Pm - Pd) / (Pm × Pd) + φ(x)) + sin(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} …(10)
M3(x) = E2(x) × G1(x)
= 2A × sin(2πx / Pd + φ(x)) × cos(2πx / Pm)
= A × {sin(2πx(Pm - Pd) / (Pm × Pd) + φ(x)) + sin(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} …(11)
M4(x) = E2(x) × G2(x)
= 2A × sin(2πx / Pd + φ(x)) × sin(2πx / Pm)
= A × {cos(2πx(Pm - Pd) / (Pm × Pd) + φ(x)) - cos(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} …(12)
図1に示す位相演算部313は、モアレ生成演算部312で算出された、互いに和の周波数成分の絶対値が等しい第1のモアレ関数M1(x)と第4のモアレ関数M4(x)の和を求め、図14に示す第1の差の周波数関数L1(x)を算出する。また、互いに和の周波数成分が等しい第3のモアレ関数M3(x)から第2のモアレ関数M2(x)を減じ、図15に示す第2の差の周波数関数L2(x)を算出する。第1の差の周波数関数L1(x)及び第2の差の周波数関数L2(x)のそれぞれは、下記（13）式及び（14）式で表される。：
L1(x) = M1(x) + M4(x)
= 2 × A × cos(2πx (Pm - Pd) / (Pm × Pd) + φ(x)) …（13）
L2(x) = M3(x) - M2(x)
= 2 × A × sin(2πx (Pm - Pd) / (Pm × Pd) + φ(x)) …（14）
さらに位相演算部313は、第2の差の周波数関数L2(x)を第1の差の周波数関数L1(x)で割り、その逆正接をとることにより、図16及び下記（15）式に示す初期位相δを算出する。：
δ = tan-1 (L2(x) / L1(x))
= 2 π × x / Pd - 2 π × x / Pm + φ(x)  … (15)
図16に示すように初期位相δは2π単位で不連続であるので、図1に示す位相接続演算部314は、「位相アンラップ」により初期位相δを位相接続する。位相アンラップとは、周りの位相データから連続になるように2πn（nは0でない整数）を加算、又は減算して位相をつなぎ合わせることをいう。「位相アンラップの開始点」は、位相計算を最初に行う箇所である。そこで被測定物体5がないところを計測の開始点とすると、モアレ縞が存在しないので、位相アンラップを行うことができない。被測定物体5があるところを計測の開始点として指定することにより、破綻のない位相アンラップを行える。位相アンラップにより、図17に示すように連続関数である接続後位相関数C(x)が得られる。
【００２２】
図1に示す傾き補正演算部315は、接続後位相関数C(x)を最小二乗法により一次関数に近似し、これを補正式V(x)と定義する。さらに、接続後位相関数C(x)から補正式V(x)を減ずることによって傾き補正をし、図18に示す補正後位相関数F(x)を算出する。
【００２３】
図1に示す高さ変換演算部316は、補正後位相関数F(x)の単位系を変換し、図19に示す被測定物体5のy切片における高さ関数H(x)を算出する。ここで、図2においてステージ80に対して垂直な方向と、格子3を透過した平行光の進行方向がなす角度をθとすると、撮像装置350の測定レンジはPd / tanθで与えられ、これが2πと等価になる。従って、傾き補正演算部315で算出された補正後位相関数F(x)を下記(16)式に代入することにより、単位系の変換を行い、座標xにおける被測定物体5の高さH(x)を算出する。：
H(x) = (F(x) / 2π) × Pd / tanθ  … (16)
なお、データ記憶装置331は、CPU300による演算結果を逐次格納する。また、プログラム記憶装置330は、CPU300を制御するオペレーティングシステム等を保存する。データ記憶装置331及びプログラム記憶装置330としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープなどのプログラムを記録する記録媒体等が使用可能である。入力装置340としては、例えばキーボード、マウスやボイスデバイス等が使用可能である。出力装置341としては、プリンタ、液晶ディスプレイ(LCD)やCRTディスプレイ等が使用可能である。
【００２４】
次に本発明の第1の実施の形態に係る３次元計測方法を、図20のフローチャートを参照して説明する。なお、図1に示したCPU300による演算結果は、データ記憶装置331に逐次格納される。
【００２５】
(a) まずステップS90で、図2に示した3次元計測に用いる格子3及び被測定物体5を用意する。被測定物体5はステージ80上に配置する。次にステップS91で図1に示した撮像装置制御部200から図2に示したステージ駆動部42に制御信号を送り、被測定物体5の3次元計測が好適に行われる場所までステージ80を移動させる。また撮像装置制御部200から光源10に制御信号を送り、光源10から照射される光の光強度を調整する。ステップS92に進み、3次元計測を行う計測条件の設定をする。計測条件の設定とは、位相アンラップ法の設定、位相アンラップ開始点の設定、被測定物体5が存在しない場所を自動的に検出してその場所のデータを削除する設定等をさす。
【００２６】
(b) ステップS93で、光源10から第1のレンズ11に向けて光を出射する。第1のレンズ11に入射した光は、平行光となり格子3に入射する。格子3を透過した平行光は、被測定物体5表面に第1のピッチPdを有する正弦波状の周期的な明暗のパターンを形成する。ここで、撮像装置制御部200からイメージセンサ20に制御信号が送られ、イメージセンサ20はシャッターを開き、明暗のパターンが形成された被測定物体5の表面画像を撮像する。次に、撮像装置制御部200から格子駆動部15に制御信号が送られ、格子3を移動させることにより、被測定物体5の表面の第1のピッチPdを有する正弦波状の周期的な明暗のパターンを、第1のピッチPdの四分の一の距離を第1のピッチPdと同じ方向に移動させ、被測定物体5の表面画像を撮像する。さらに、格子3の移動、撮像を繰り返して、合計4枚の撮像画像を取得する。
【００２７】
(c) 取得された4枚の撮像画像は、ステップS95で図1に示す撮像画像入力部309に順次取り込まれ、それぞれ第1の撮像画像、第2の撮像画像、第3の撮像画像、第4の撮像画像と定義される。次に、ステップS100で光強度抽出部310は、第1から第4の撮像画像それぞれから光強度を抽出し、抽出したそれぞれの光強度は、上記（1）式に示した第1の光強度関数I1(x)、上記（2）式に示した第2の光強度関数I2(x)、上記（3）式に示した第3の光強度関数I3(x)、上記（4）式に示した第4の光強度関数I4(x)のそれぞれで表されると仮定する。
【００２８】
(d) ステップS101で、バイアス消去演算部311は第1の光強度関数I1(x)から第3の光強度関数I3(x)を減算し、上記（5）式に示したバイアス項Bのない第1の基本関数E1(x)を得る。また、バイアス消去演算部311は第4の光強度関数I4(x)から第2の光強度関数I2(x)を減算し、上記（6）式に示したバイアス項Bのない第2の基本関数E2(x)を得る。
【００２９】
(e) ステップS102で、入力装置340からメモリ格子記憶装置332に保存されている第2のピッチPmの値を、第1のピッチPdに対して、Pm > Pd / 2の関係を満たす値に設定する。PmとPdの関係をこのように設定した理由は後述する。次に、モアレ生成演算部312はメモリ格子記憶装置332に保存されている上記（7）式に示した第1のメモリ格子関数G1(x)及び上記（8）式に示した第2のメモリ格子関数G2(x)を読みとる。さらに、モアレ生成演算部312は第1の基本関数E1(x)に、第1のメモリ格子関数G1(x)を乗ずる計算と、第2のメモリ格子関数G2(x)を乗ずる計算のそれぞれを行い、上記（9）式に示した第1のモアレ関数M1(x)及び上記（10）式に示した第2のモアレ関数M2(x)のそれぞれを算出する。同様に、第2の基本関数E2(x)に第1のメモリ格子関数G1(x)を乗ずる計算と、第2のメモリ格子関数G2(x)を乗ずる計算のそれぞれも行い、上記（11）式に示した第3のモアレ関数M3(x)と上記（12）式に示した第4のモアレ関数M4(x)のそれぞれを算出する。
【００３０】
(f) ステップS103で、位相演算部313は第1のモアレ関数M1(x)と第4のモアレ関数M4(x)の和をとり、上記（13）式で示した第1の差の周波数関数L1(x)を算出する。また、位相演算部313は第3のモアレ関数M3(x)から第2のモアレ関数M2(x)を減じ、上記（14）式に示した第2の差の周波数関数L2(x)を算出する。さらに位相演算部313は第2の差の周波数関数L2(x)を第1の差の周波数関数L1(x)で割り、逆正接をとることにより上記（15）式に示した初期位相δを算出する。
【００３１】
(g) 次にステップS104で位相接続演算部314は初期位相δに対し、位相アンラップを行うことにより接続後位相関数C(x)を算出する。ステップS105で、傾き補正演算部315は接続後位相関数C(x)を最小二乗法でxの一次関数に近似し、これを補正式V(x)と定義する。さらに、傾き補正演算部315は接続後位相関数C(x)から補正式V(x)を減ずることによって傾き補正をし、補正後位相関数F(x)を算出する。ステップS106で高さ変換演算部316は上記（16）式により補正後位相関数F(x)から、図1に示した被測定物体5の座標xにおける高さH(x)を算出する。
【００３２】
以上示した本発明の第1の実施の形態に係る3次元計測装置及び3次元計測方法によれば、図20のステップS103において、位相とびを大幅に少なくすることが可能となる。従来の格子パターン投影法においては、上記(1)式から(4)式に示された第1から第4の光強度関数I1(x)〜I4(x)を算出した後、下記(17)式により位相δEを算出し、位相アンラップしていた。：
δE = tan-1((I4(x) - I2(x)) / (I1(x) - I3(x)))
= 2 π × x / Pd + φ(x)                   …(17)
これに対し、第1の実施の形態による上記(15)式で示した初期位相δは、第2項(- 2 π × x / Pm )が存在することから、位相とびを効果的に抑制することが可能となる。ここで、図20のステップS102の説明で第1のピッチPdに対して、仮想的なメモリ格子の第2のピッチPmをPm > Pd / 2の関係を満たすよう設定した理由は、下記(18)式で示すように、(15)式の第1項( 2 π × x / Pd )及び第2項(- 2 π × x / Pm)の和の絶対値を(17)式の第1項(2 π × x / Pd)よりも小とすることにより、従来の格子パターン投影法と比較して位相とびを効果的に抑制することが可能となるからである。よって、下記(18)式よりPm > Pd / 2の関係が導かれる。：
|2 π × x / Pd - 2 π × x / Pm | < 2 π × x / Pd   …(18)
また、特に仮想的な格子モデルの第2のピッチPmを 第1のピッチPdと等しい値に設定すれば、上記(15)式の第1項及び第2項の和が0となる。そのため、（15）式に示した初期位相はδ = φ(x)で示される。よって位相とびが生じなくなり、図20に示したステップS104における位相アンラップが不要となる。従来においては、位相アンラップに多大な計算時間を要したが、本発明の第1の実施の形態によれば、被測定物体5の撮像から高さ関数H(x)の算出までに必要な計算時間の大幅な短縮が可能となる。
【００３３】
さらに、第1の実施の形態に係る3次元計測装置及び3次元計測方法は、従来の格子投影型モアレ法のように空間周波数フィルターを用いないことから、分解能の低下も生じない。以上示したように、第1の実施の形態に係る3次元計測装置及び3次元計測方法によれば、分解能の低下を招くことなく、高速な3次元形状計測が可能となる。
【００３４】
また上述した3次元計測方法は、時系列的につながった一連の処理あるいは操作として表現可能である。したがって、３次元計測方法をコンピュータシステムで実行するために、コンピュータシステム内のプロセッサなどが果たす複数の機能を特定するコンピュータプログラム製品で図20に示した３次元計測方法を実現可能である。ここで、コンピュータプログラム製品は、図1に示したプログラム記憶装置330等のコンピュータシステムに入出力可能な記録装置あるいは記録媒体等をいう。記録媒体としては、メモリ装置、磁気ディスク装置、光ディスク装置、その他のプログラムを記録することができるような装置が含まれる。
【００３５】
（第2の実施の形態）
図21に示す本発明の第2の実施の形態に係るモアレ三次元形状計測システムが図1と異なるのは、中央処理装置(CPU)400が正余弦関数算出部412、実部算出部411及び初期位相算出部413を備え、メモリ格子記憶装置432がCPU400に接続されている点である。
【００３６】
撮像装置350、撮像装置制御部200、撮像画像入力部309及び光強度抽出部310は図1に示したモアレ三次元形状計測システムと同じであるので説明は省略する。
【００３７】
図21に示すメモリ格子記憶装置432は、下記（19）式乃至（23）式で表され、それぞれ位相が90度ずつ異なるメモリ格子関数S1(x), S2(x), S3(x), S4(x), S5(x)を保存する。：
S1(x) = cos(2πx / Pm)                               …(19)
S2(x) = cos(2πx / Pm + π/ 2) = -sin(2πx / Pm)  …(20)
S3(x) = cos(2πx / Pm + π) = -cos(2πx / Pm)    …(21)
S4(x) = cos(2πx / Pm + 3π/ 2) = sin(2πx / Pm)  …(22)
S5(x) = cos(2πx / Pm + 2π) = cos(2πx / Pm)    …(23)
ここで、メモリ格子関数S1(x), S2(x), S3(x), S4(x)のそれぞれからなる集合を第1メモリ格子関数群と定義し、第1メモリ格子関数群に含まれるメモリ格子関数S1(x), S2(x), S3(x), S4(x)のそれぞれに対して位相が90度異なるメモリ格子関数S2(x), S3(x), S4(x), S5(x)からなる集合を第2メモリ格子関数群と定義する。
【００３８】
正余弦関数算出部412は、光強度抽出部310で算出された第1の光強度関数I1(x)に対し、第1メモリ格子関数群のメモリ格子関数S1(x)をメモリ格子記憶装置432から読み出し乗ずることにより、下記（24）式に示す計算を行い、第1の余弦関数N1(x)を算出する。また、第2の光強度関数I2(x)に対して第1メモリ格子関数群のメモリ格子関数S2(x)を乗ずる下記（25）式に示す計算を行い、第2の余弦関数N2(x)を算出する。同様に、第3の光強度関数I3(x)に対して第1メモリ格子関数群のメモリ格子関数S3(x)を乗ずる下記（26）式に示す計算と、第4の光強度関数I4(x)に対して第1メモリ格子関数群のメモリ格子関数S4(x)を乗ずる下記（27）式に示す計算を行い、第3の余弦関数N3(x)及び第4の余弦関数N4(x)のそれぞれを算出する。：
N1(x) = I1(x) × S1(x)
={A × cos(2πx / Pd + φ(x)) + B} × cos(2πx / Pm)
= A / 2 × {cos(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) + cos(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} + B ×cos(2πx / Pm) …(24)
N2(x) = I2(x) × S2(x)
= {A × cos(2πx / Pd + φ(x) + π / 2)+ B} × { - sin(2πx / Pm)}
= A × sin(2πx / Pd + φ(x)) × sin(2πx / Pm) - B×sin(2πx / Pm)
= A / 2 × {cos(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) - cos(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))}- B×sin(2πx / Pm) …(25)
N3(x) = I3(x) × S3(x)
= {A × cos(2 πx / Pd + φ(x) + π) + B} × {- cos(2πx / Pm)}
= {A × cos(2 πx / Pd + φ(x)) - B} × cos(2πx / Pm)
= A / 2 × {cos(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) + cos(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} - B ×cos(2πx / Pm) …(26)
N4(x) = I4(x) × S4(x)
= {A × cos(2 πx / Pd  + φ(x) + 3 × π/2) + B}× sin(2πx / Pm)
= {A × sin(2 πx / Pd  + φ(x)) + B}× sin(2πx / Pm)
= A / 2× {cos(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) - cos(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} + B× sin(2πx / Pm) …(27)
以上示したように、正余弦関数算出部412は第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれに対し、位相がφ(x)異なるメモリ格子関数S1(x)〜S4(x)のそれぞれを乗じることにより、第1乃至第4の余弦関数N1(x)〜N4(x)のそれぞれを算出する。
【００３９】
また正余弦関数算出部412は、第1の光強度関数I1(x)に対して第2メモリ格子関数群のメモリ格子関数S2(x)をメモリ格子記憶装置432から読み出し乗ずることにより、下記（28）式に示す計算を行い、第1の正弦関数O1(x)を算出する。また、第2の光強度関数I2(x)に対して第2メモリ格子関数群のメモリ格子関数S3(x)を乗ずる下記（29）式に示す計算を行い、第2の正弦関数O2(x)を算出する。同様に、第3の光強度関数I3(x)に対して第2メモリ格子関数群のメモリ格子関数S4(x)を乗ずる下記（30）式に示す計算と、第4の光強度関数I4(x)に対して第2メモリ格子関数群のメモリ格子関数S5(x)を乗ずる下記（31）式に示す計算を行い、第3の正弦関数O3(x)及び第4の正弦関数O4(x)のそれぞれを算出する。：
O1(x) = I1(x) × S2(x)
={A × cos(2πx / Pd + φ(x)) + B} × { - sin(2πx / Pm)}
= A / 2 × {sin(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) - sin(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} - B × sin(2πx / Pm)…(28)
O2(x) = I2(x) × S3(x)
= {A × cos(2πx / Pd + φ(x) + π / 2) + B} × {- cos(2πx / Pm)}
= {A × sin(2πx / Pd + φ(x)) - B} × cos(2πx / Pm)
= A / 2 × {sin(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) + sin(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} - B ×cos(2πx / Pm) …(29)
O3(x) = I3(x) × S4(x)
= {A × cos(2 πx / Pd + φ(x) + π) + B} × sin(2πx / Pm)
= {- A × cos(2 πx / Pd + φ(x)) + B} × sin(2πx / Pm)
= A / 2 × {sin(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) - sin(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} + B × sin(2πx / Pm)…(30)
O4(x) = I4(x) × S5(x)
= {A × cos(2 πx / Pd  + φ(x) + 3 × π/2) + B}× cos(2πx / Pm)
= {A × sin(2 πx / Pd  + φ(x)) + B}× cos(2πx / Pm)
= A / 2 × {sin(2πx× (Pm - Pd) / (Pm × Pd) + φ(x)) + sin(2πx × (Pm + Pd) / (Pm × Pd) + φ(x))} + B ×cos(2πx / Pm) …(31)
以上示したように、正余弦関数算出部412は第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれに対し、位相が(π/2 - φ(x))異なるメモリ格子関数S2(x)〜S5(x)のそれぞれを乗じることにより、第1乃至第4の正弦関数O1(x)〜O4(x)のそれぞれを算出する。
【００４０】
実部算出部411は、正余弦関数算出部412が算出した第1乃至第4の余弦関数N1(x)〜N4(x)の和をとる下記(32)式に示す計算を行い、実部関数R(x)を算出し、バイアス成分Bを除去する。：
R(x) = N1(x) + N2(x) + N3(x) + N4(x)
= 2 ×A × cos(2πx × (Pm - Pd) / (Pm × Pd) + φ(x))  …(32)
また実部算出部411は、正余弦関数算出部412が算出した第1乃至第4の正弦関数O1(x)〜O4(x)の和をとる下記(33)式に示す計算を行い、虚部関数J(x)を算出し、バイアス成分Bを除去する。：
J(x) =  O1(x) + O2(x) + O3(x) + O4(x)
= 2 ×A × sin(2πx × (Pm - Pd) / (Pm × Pd) + φ(x))  …(33)
初期位相算出部413は、実部算出部411で算出された虚部関数J(x)を実部関数R(x)で割り、その逆正接をとることにより、下記（34）式に示す初期位相δを算出する。：
δ = tan-1 (J(x) / R(x))
= 2 π × x / Pd - 2 π × x / Pm + φ(x)  … (34)
位相接続演算部314が、初期位相算出部413が算出した初期位相δを位相アンラップにより位相接続するのは図1と同様である。また、傾き補正演算部315、高さ変換演算部316、入力装置340、出力装置341、プログラム記憶装置330及びデータ記憶装置331についても図1と同様であるので説明は省略する。
【００４１】
次に本発明の第2の実施の形態に係る３次元計測方法を、図22のフローチャートを参照して説明する。なお、図21に示したCPU400による演算結果は、データ記憶装置331に逐次格納される。
【００４２】
(a) ステップS90からステップS100までは図20に示した第1の実施の形態に係る３次元計測方法と同様であるので説明は省略する。ステップS201で正余弦関数算出部412は光強度抽出部310が抽出した上記(1)〜(4)式に示した第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれに対して、上記(19)〜(22)式に示した第1メモリ格子関数群のメモリ格子関数S1(x)〜S4(x)のそれぞれをメモリ格子記憶装置432から読み出す。さらに正余弦関数算出部412は第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれにメモリ格子関数S1(x)〜S4(x)のそれぞれを乗じ、上記(24)〜(27)式に示した第1乃至第4の余弦関数N1(x)〜N4(x)を算出する。
【００４３】
(b) ステップS202で正余弦関数算出部412は第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれに対して、上記(20)〜(23)式に示した第2メモリ格子関数群のメモリ格子関数S2(x)〜S5(x)のそれぞれをメモリ格子記憶装置432から読み出す。さらに正余弦関数算出部412は第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれにメモリ格子関数S2(x)〜S5(x)のそれぞれを乗じ、上記(28)〜(31)式に示した第1乃至第4の正弦関数O1(x)〜O4(x)を算出する。
【００４４】
(c) ステップS203で実部算出部411はステップS201で正余弦関数算出部412が算出した第1乃至第4の余弦関数N1(x)〜N4(x)の和をとる上記(32)式に示した計算を行い、実部関数R(x)を算出し、バイアス成分Bを除去する。さらにステップS204で実部算出部411はステップS202で正余弦関数算出部412が算出した第1乃至第4の正弦関数O1(x)〜O4(x)の和をとる上記(33)式に示した計算を行い、虚部関数J(x)を算出し、バイアス成分Bを除去する。
【００４５】
(d) ステップS205で初期位相算出部413は、ステップS204で算出された虚部関数J(x)をステップS203で算出された実部関数R(x)で割り、その逆正接をとることにより上記(34)式に示した初期位相δを算出する。以下、ステップS104〜ステップS106は図20と同様であるので説明は省略する。
【００４６】
以上示した本発明の第2の実施の形態に係る3次元計測装置及び3次元計測方法においても、図22のステップS205において算出される初期位相δは上記(34)式に示すように第2項(- 2 π × x / Pm )を有し、第1の実施の形態と同様に位相とびを効果的に抑制することが可能となる。また(18)式で説明したように、ステップS201及びステップS202において第1のピッチPdに対して、仮想的なメモリ格子の第2のピッチPmをPm > Pd / 2の関係を満たすよう設定することにより従来の格子パターン投影法と比較して位相とびを効果的に抑制することが可能である。さらに仮想的な格子モデルの第2のピッチPmを 第1のピッチPdと等しい値に設定すれば、上記(34)式に示した初期位相はδ = φ(x)で示され、位相とびが生じなくなり、図22に示したステップS104における位相アンラップが不要となる。
【００４７】
具体例として、図22のステップS90で図2に示したステージ80に被測定物体5としてミラーを配置し、ステップS95で図23に示す第１の撮像画像及び順次位相が90度異なる第2乃至第4の撮像画像を取り込むことにより、第2の実施の形態に係る3次元計測システム及び方法によってステップS106で再現されるミラーの表面形状画像を図24に示す。図25に示す従来の位相シフト法で再現されたミラーの表面形状画像には格子の空間周波数成分により位相とびが発生している。これに対し、図24に示す第2の実施の形態に係る3次元計測システム及び方法で算出されたミラーの表面形状画像においては位相とびが発生していない。そのため、ミラーの表面形状を正確に評価することが可能となる。
【００４８】
また上述した第2の実施の形態に係る3次元計測方法においても、コンピュータシステム内のプロセッサなどが果たす複数の機能を特定するコンピュータプログラム製品で図22に示した３次元計測方法を実現可能であるのは第1の実施の形態と同様である。
【００４９】
（第2の実施の形態の変形例）
第2の実施の形態においては、図21に示した正余弦関数算出部412は、第1乃至第4の光強度関数I1(x)〜I4(x)のそれぞれにメモリ格子関数S2(x)〜S5(x)のそれぞれを乗ずることにより、第1乃至第4の正弦関数O1(x)〜O4(x)のそれぞれを算出していた。これに対し、メモリ格子関数S1(x)に対し第2の光強度関数I2(x)を乗じ、以下同様にメモリ格子関数S2(x)に第3の光強度関数I3(x)を乗じ、メモリ格子関数S3(x)に第4の光強度関数I4(x)を乗じ、メモリ格子関数S4(x)に第1の光強度関数I1(x)を乗ずることによっても第1乃至第4の正弦関数O1(x)〜O4(x)のそれぞれと同様の正弦関数を算出することが可能である。
【００５０】
また図21に示すメモリ格子記憶装置432の説明において、(19)乃至(23)式で示されるメモリ格子関数S1(x)〜S5(x)を保存すると説明したが、(21)式のメモリ格子関数S3(x)は(19)式のメモリ格子関数S1(x)と符号以外は同じである。また、(22)式のメモリ格子関数S4(x)も(20)式のメモリ格子関数S2(x)と符号以外は同じである。さらに、互いに位相が180度異なる(23)式のメモリ格子関数S5(x)と(19)式のメモリ格子関数S1(x)は実質同じである。よって、メモリ格子記憶装置432は(19)式のメモリ格子関数S1(x)及び(20)式のメモリ格子関数S2(x)のみを保存することとしてもよい。
【００５１】
この場合、正余弦関数算出部412は、下記(35)式及び(36)式により第3の余弦関数N3(x)及び第4の余弦関数N4(x)のそれぞれを算出し、下記(37)式及び(38)式により第2の正弦関数O2(x)及び第3の正弦関数O3(x)のそれぞれを算出することとすればよい。
【００５２】
N3(x) = I3(x) × ( - S1(x))   …(35)
N4(x) = I4(x) × ( - S2(x))   …(36)
O2(x) = I2(x) × ( - S1(x))   …(37)
O3(x) = I3(x) × ( - S2(x))   …(38)
さらに、第2の実施の形態に係る3次元計測方法は図22に示した順序に限定されないのは勿論である。例えばステップS100の次にステップS202に進み第1乃至第4の正弦関数O1(x)〜O4(x)を算出し、ステップS204で虚部関数J(x)を算出した後に、ステップS201、ステップS203、ステップS205と進んでもよい。
【００５３】
（その他の実施の形態）
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす記述及び図面はこの発明を限定するものであると理解するべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかになるはずである。例えば第1の実施の形態においては、被測定物体5に第1のピッチを有する正弦波状の周期的な明暗のパターンを投影する方法として、格子3を光源10で照射する方法を示したが、光源から照射された光を2光束に分け、再び被測定物体5表面で重ね合わせて干渉縞を被測定物体5上に形成する方法、あるいは光源からの光を2光束に分け、一方を被測定物体5に照射し、他方とCCDカメラ等のイメージセンサ上で重ね合わせて干渉縞を形成する方法等も、第1の実施の形態は適用可能である。また第1の実施の形態では、格子3を透過して被測定物体5に照射される光を第1のレンズ11で平行光にし、図2に示したように反射光の平行光成分を第2のレンズ21でイメージセンサ20に集光したが、被測定物体5に照射する光は平行光に限定されず、第1のレンズ11及び第2のレンズ21を省略したシステムにも本発明は適用可能である。さらに、第1のピッチPdの四分の一の距離を順次移動させ、第1から第4の撮像画像を取得し、図1に示した光強度抽出部310で上記（1）式〜（4）式を算出していた。しかし、上記(5)式及び（6）式を求めることが可能である限りにおいて、互いに位相が180度異なる撮像画像を撮像装置350で複数撮影し、バイアス項を除去する計算をバイアス消去演算部311で行えばよく、実施の形態に限定されるものではない。例えば、nを0又は自然数として、第1のピッチPdの(1/4 + n)の距離を順次移動させ、第1から第4の撮像画像を取得してもよい。この様に、本発明はここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【００５４】
【図１】本発明の第1の実施の形態に係る３次元計測装置のブロック図である。
【図２】本発明の第1の実施の形態に係る撮像装置の模式図である。
【図３】本発明の第1の実施の形態に係る格子の模式図である。
【図４】本発明の第1の実施の形態に係る光強度関数（その1）のグラフである。
【図５】本発明の第1の実施の形態に係る光強度関数（その2）のグラフである。
【図６】本発明の第1の実施の形態に係る光強度関数（その3）のグラフである。
【図７】本発明の第1の実施の形態に係る光強度関数（その4）のグラフである。
【図８】本発明の第1の実施の形態に係る基本関数（その1）のグラフである。
【図９】本発明の第1の実施の形態に係る基本関数（その2）のグラフである。
【図１０】本発明の第1の実施の形態に係るモアレ関数（その1）のグラフである。
【図１１】本発明の第1の実施の形態に係るモアレ関数（その2）のグラフである。
【図１２】本発明の第1の実施の形態に係るモアレ関数（その3）のグラフである。
【図１３】本発明の第1の実施の形態に係るモアレ関数（その4）のグラフである。
【図１４】本発明の第1の実施の形態に係る差の周波数関数（その1）のグラフである。
【図１５】本発明の第1の実施の形態に係る差の周波数関数（その2）のグラフである。
【図１６】本発明の第1の実施の形態に係る位相のグラフである。
【図１７】本発明の第1の実施の形態に係る接続後位相関数のグラフである。
【図１８】本発明の第1の実施の形態に係る補正後位相関数のグラフである。
【図１９】本発明の第1の実施の形態に係る高さ関数のグラフである。
【図２０】本発明の第1の実施の形態に係る計測方法を示すフローチャートである。
【図２１】本発明の第2の実施の形態に係る３次元計測装置のブロック図である。
【図２２】本発明の第2の実施の形態に係る計測方法を示すフローチャートである。
【図２３】本発明の第2の実施の形態に係る撮像画像である。
【図２４】本発明の第2の実施の形態に係る被測定物の表面形状画像である。
【図２５】従来技術に係る被測定物の表面形状画像である。
【符号の説明】
【００５５】
3…格子
5…被測定物体
10…光源
11…第1のレンズ
15…格子駆動部
20…イメージセンサ
21…第2のレンズ
23…スペイシャルフィルタ
42…ステージ駆動部
80…ステージ
200…撮像装置制御部
300, 400…CPU
309…撮像画像入力部
310…光強度抽出部
311…バイアス消去演算部
312…モアレ生成演算部
313…位相演算部
314…位相接続演算部
315…補正演算部
316…変換演算部
330…プログラム記憶装置
331…データ記憶装置
332…メモリ格子記憶装置
340…入力装置
341…出力装置
350…撮像装置
411…実部算出部
412…正余弦関数算出部
413…初期位相算出部
432…メモリ格子記憶装置
【図１】
2005227246.tif 000003
【図２】
2005227246.tif 000004
【図３】
2005227246.tif 000005
【図４】
2005227246.tif 000006
【図５】
2005227246.tif 000007
【図６】
2005227246.tif 000008
【図７】
2005227246.tif 000009
【図８】
2005227246.tif 000010
【図９】
2005227246.tif 000011
【図１０】
2005227246.tif 000012
【図１１】
2005227246.tif 000013
【図１２】
2005227246.tif 000014
【図１３】
2005227246.tif 000015
【図１４】
2005227246.tif 000016
【図１５】
2005227246.tif 000017
【図１６】
2005227246.tif 000018
【図１７】
2005227246.tif 000019
【図１８】
2005227246.tif 000020
【図１９】
2005227246.tif 000021
【図２０】
2005227246.tif 000022
【図２１】
2005227246.tif 000023
【図２２】
2005227246.tif 000024
【図２３】
2005227246.tif 000025
【図２４】
2005227246.tif 000026
【図２５】
2005227246.tif 000027