(57)【要約】【課題】  計測時間の短縮を可能とし、且つ正確な高さ測定を行うことができる３次元計測装置を提供する。【解決手段】  水平レベルが変化する背景画素中にその背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する被測定対象の画像を位相シフトモアレ法で測定する３次元計測装置であり、被測定対象の背景画素のなす水平レベルに平行に配置された格子を垂直方向に移動しながら背景画素と特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に複数枚取得する画像取得手段、計測に必要な画素の情報を格納する画素情報記憶部７２、画素の情報を用いて背景画素と特異点画素とを分類する対象画素特定手段４５、複数枚の撮像画像を用いて背景画素の高さを決定する背景画素高さ算出手段４６、背景画素の高さを基準として複数枚の撮像画像から特異点画素の高さを決定する特異点画素高さ算出手段４７とを備える。【選択図】      図２
2005121397.tif 000002
【特許請求の範囲】
【請求項１】
水平レベルが緩やかに変化する背景画素中に該背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する３次元物体を被測定対象とし、該被測定対象の画像を位相シフトモアレ法により測定する３次元計測装置であって、
前記被測定対象の背景画素のなす水平レベルにほぼ平行に配置された格子と、
前記格子を前記水平レベルに対し垂直方向に移動しながら、前記背景画素と前記特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に、複数枚取得する画像取得手段と、
前記撮像画像を構成する画素のうち、計測に必要な前記画素の情報を予め格納する画素情報記憶部と、
前記画素の情報を用いて、前記撮像画像において前記背景画素と前記特異点画素とを分類する対象画素特定手段と、
前記複数枚の撮像画像を用いて、分類された前記背景画素の高さを決定する背景画素高さ算出手段と、
該決定された前記背景画素の高さを基準として、前記複数枚の撮像画像から、前記特異点画素の高さを決定する特異点画素高さ算出手段
とを備えることを特徴とする３次元計測装置。
【請求項２】
前記画像取得手段は、
前記格子を前記垂直方向に移動させる格子位置制御部と、
前記格子に平行光を出射する照射部と、
前記撮像画像を光学的に、複数枚取り込む受光部
とを備えることを特徴とする請求項１に記載の３次元計測装置。
【請求項３】
前記対象画素特定手段は、
前記撮像画像、及び前記被測定対象の設計データであるテンプレート画像を用いて前記撮像画像の位置ずれを表す位置ずれ情報を算出する位置ずれ情報算出部と、
前記位置ずれ情報及び前記画素の情報に基づいて、前記背景画素と前記特異点画素とを分類する対象画素特定部
とを備えることを特徴とする請求項１又は２に記載の３次元計測装置。
【請求項４】
前記位置ずれ情報算出手段は、
前記撮像画像に基づいて位置合わせ用画像を作成する位置合わせ画像作成部と、
前記テンプレート画像に基づいて変換画像を作成する変換画像作成部と、
前記位置合わせ用画像と前記変換画像のマッチングを行うことにより前記位置ずれ情報を算出するマッチング部
とを備えることを特徴とする請求項３に記載の３次元計測装置。
【請求項５】
前記マッチング部は、
前記変換画像と前記位置合わせ用画像とのマッチングを行いマッチング評価値を算出する評価値算出部と、
前記マッチング評価値が大きい前記変換画像の位置ずれ量を保持する評価値比較部と、
全ての前記変換画像に対してマッチングが行われたか判断するマッチング終了判断部と、
全ての前記変換画像に対してマッチングが行われた時点で保持されている前記位置ずれ量から前記位置ずれ情報を算出する位置ずれ情報算出部
とを備えることを特徴とする請求項４に記載の３次元計測装置。
【請求項６】
前記背景画素高さ算出手段は、
隣り合う前記背景画素の高さの差を算出する高さ差算出部と、
前記背景画素の差に基づいて位相とびの発生を判断する位相とび判断部と、
前記位相とびが発生したと判断された場合に位相接続を行い前記背景画素の高さを決定する背景画素確定高さ算出部
とを備えることを特徴とする請求項１〜５のいずれか１項に記載の３次元計測装置。
【請求項７】
前記位相とび判断部は、前記背景画素の高さの差と閾値を比較して、前記背景画素の高さの差が閾値以上である場合に、位相とびが発生したと判断することを特徴とする請求項６に記載の３次元計測装置。
【請求項８】
前記特異点画素高さ算出手段は、
前記特異点画素の近傍に存在する前記背景画素の高さを基準とする基準高さ算出部と、
前記特異点画素の初期高さを算出する特異点画素初期高さ算出部と、
前記特異点画素の初期高さから、前記基準とされた前記背景画素の高さを減算する特異点画素暫定高さ算出部と、
減算された前記特異点画素の前記初期高さが、予め設定された特異点画素高さ範囲に収まるか判断する特異点画素暫定高さ判断部と、
前記特異点暫定高さ範囲に収まらないと判断された場合に減算された前記特異点画素の前記初期高さを補正して前記特異点画素の高さを決定する特異点画素確定高さ算出部
とを備えることを特徴とする請求項１〜７のいずれか１項に記載の３次元計測装置。
【請求項９】
水平レベルが緩やかに変化する背景画素中に該背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する３次元物体を被測定対象とし、該被測定対象の画像を位相シフトモアレ法により測定する３次元計測方法であって、
前記被測定対象の背景画素のなす水平レベルに格子をほぼ平行に配置するステップと、
前記格子を前記水平レベルに対し垂直方向に移動しながら、前記背景画素と前記特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に、複数枚取得するステップと、
計測の事前に、前記撮像画像を構成する画素のうち、計測に必要な画素の情報を予め作成するステップと、
前記画素の情報を用いて、前記撮像画像において前記背景画素と前記特異点画素とを分類するステップと、
前記複数枚の撮像画像を用いて、分類された前記背景画素の高さを決定するステップと、
該決定された前記背景画素の高さを基準として、前記複数枚の撮像画像から、前記特異点画素の高さを決定するステップ
とを含むことを特徴とする３次元計測方法。
【請求項１０】
前記背景画素と前記特異点画素とを分類するステップは、
前記撮像画像、及び前記被測定対象の設計データであるテンプレート画像を用いて前記撮像画像の位置ずれを表す位置ずれ情報を算出する手順と、
前記位置ずれ情報及び前記画素の情報に基づいて、前記背景画素と前記特異点画素とを分類する手順
とを含むことを特徴とする請求項９に記載の３次元計測方法。
【請求項１１】
前記位置ずれ情報を算出する手順は、
前記撮像画像に基づいて位置合わせ用画像を作成する段階と、
前記テンプレート画像に基づいて変換画像を作成する段階と、
前記位置合わせ用画像と前記変換画像のマッチングを行うことにより前記位置ずれ情報を算出する段階
とを含むことを特徴とする請求項１０に記載の３次元計測方法。
【請求項１２】
前記位置ずれ情報を算出する段階は、
前記変換画像と前記位置合わせ用画像とのマッチングを行いマッチング評価値を算出し、
前記マッチング評価値が大きい前記変換画像の位置ずれ量を保持し、
全ての前記変換画像に対してマッチングが行われたか判断し、
全ての前記変換画像に対してマッチングが行われた時点で保持されている前記位置ずれ量から前記位置ずれ情報を算出する
とを備え
【請求項１３】
前記背景画素の高さを決定するステップは、
隣り合う前記背景画素の高さの差を算出する手順と、
前記背景高さの差に基づいて位相とびの発生を判断する手順と、
前記位相とびが発生したと判断された場合に位相接続を行い前記背景画素の高さを決定する手順
とを含むことを特徴とする請求項９〜１２のいずれか１項に記載の３次元計測方法。
【請求項１４】
前記位相とびの発生を判断する手順は、前記背景画素の高さの差と閾値を比較して、前記背景画素の高さの差が閾値以上である場合に、位相とびが発生したと判断することを特徴とする請求項１３に記載の３次元計測方法。
【請求項１５】
前記特異点画素の高さを算出するステップは、
前記特異点画素の近傍に存在する前記背景画素の高さを基準とする手順と、
前記特異点画素の初期高さを算出する手順と、
前記特異点画素の初期高さから、前記基準とされた前記背景画素の高さを減算する手順と、
減算された前記特異点画素の前記初期高さが、予め設定された特異点画素高さ範囲に収まるか判断する手順と、
前記特異点暫定高さ範囲に収まらないと判断された場合に減算された前記特異点画素の前記初期高さを補正して前記特異点画素の高さを決定する手順
とを含むことを特徴とする請求項９〜１４のいずれか１項に記載の３次元計測方法。
【請求項１６】
水平レベルが緩やかに変化する背景画素中に該背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する３次元物体を被測定対象とし、該被測定対象の画像を位相シフトモアレ法により測定する３次元計測装置を駆動制御する３次元計測プログラムであって、前記３次元計測装置に、
前記被測定対象の背景画素のなす水平レベルに格子をほぼ平行に配置する命令と、
前記格子を前記水平レベルに対し垂直方向に移動しながら、前記背景画素と前記特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に、複数枚取得する命令と、
前記撮像画像を構成する画素のうち、計測に必要な前記画素の情報を画素情報記憶部に予め格納する命令と、
前記画素の情報を用いて、前記撮像画像において前記背景画素と前記特異点画素とを分類する命令と、
前記複数枚の撮像画像を用いて、分類された前記背景画素の高さを決定する命令と、
該決定された前記背景画素の高さを基準として、前記複数枚の撮像画像から、前記特異点画素の高さを決定する命令
とを実行させることを特徴とする３次元計測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元計測技術に関し、特に３次元物体の表面を計測する３次元計測装置、３次元計測方法及び３次元計測プログラムに関する。
【背景技術】
【０００２】
３次元計測技術におけるモアレトポグラフィには、モアレ縞を利用した位相シフト法（縞走査法）がある。モアレ縞は規則的な模様を重ね、又は標本化することで３次元計測をすることができる。例えば、直線格子の影が３次元物体に投影されると、格子線の影は３次元物体の形状に応じて変形する。３次元物体上の影と直線格子を重ね合わせることで、影と直線格子が干渉しモアレ縞が観測される。モアレ縞は、光学系を適宜配置することにより、３次元物体の等高線に対応した等高線画像となる。この等高線画像を用いれば、非接触で３次元計測を行うことができる。
【０００３】
位相シフト法においては、３次元物体の表面が格子と平行な部分に対しては誤差の少ない測定結果が得られる。しかし、急激な高さの変化がある段差や穴等の３次元物体を計測すると、正弦波縞に「位相とび」が生じて正しい高さ情報が得られない場合がある。そのため、位相とびが生じた箇所に対して位相接続処理を行う必要がある。位相接続処理として、隣り合う画素間での位相が２πの８０％程度変化したときに２πを加減算する技術（以下において「第１の背景技術」という。）がある（例えば、非特許文献１参照。）。また、他の位相接続処理として、位相画像中の全ての画素について隣り合う画素との位相接続の可否を判断した後、位相接続可能な全ての画素について、補正対象画素の位相値と補正済み或いは補正対象外の画素の位相値との差が２π以下となるように、補正対象画素の位相値に２πを整数倍加減する技術（以下において「第２の背景技術」という。）もある（例えば、特許文献１参照。）。
【特許文献１】特開２０００−１４９０２４号公報
【非特許文献１】「縞走査を導入した格子パターン投影法」、精密学会誌、１９８９年、p．１８１７-１８２２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
第１及び第２の背景技術において、測定した画像中の全ての画素について高さ計測を行った場合、画像中の画素数は通常数十万〜数百万画素あるので、相当な計測時間が必要となる。そのため、ハードウェアによっては実装が困難となってしまう場合がある。また、第２の背景技術において、各画素が隣り合う画素と位相接続の可否を位相差に基づいてのみ判断し、その画素の位相値の信頼性自体の情報を利用していない。よって、位相値自体が大きな誤差を含む場合でも、位相接続が可能と判断され、正しい高さの測定結果が得られない可能性がある。
【０００５】
そこで、本発明は上記課題を解決するためになされたものであって、計測時間の短縮を可能とし、且つ正確な高さ測定を行うことができる３次元計測装置、３次元計測方法及び３次元計測プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の第１の特徴は、水平レベルが緩やかに変化する背景画素中にその背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する３次元物体を被測定対象とし、その被測定対象の画像を位相シフトモアレ法により測定する３次元計測装置であって、（イ）被測定対象の背景画素のなす水平レベルにほぼ平行に配置された格子と、（ロ）格子を水平レベルに対し垂直方向に移動しながら、背景画素と特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に、複数枚取得する画像取得手段と、（ハ）撮像画像を構成する画素のうち、計測に必要な画素の情報を予め格納する画素情報記憶部と、（ニ）画素の情報を用いて、撮像画像において背景画素と特異点画素とを分類する対象画素特定手段と、（ホ）複数枚の撮像画像を用いて、分類された背景画素の高さを決定する背景画素高さ算出手段と、（ヘ）その決定された背景画素の高さを基準として、複数枚の撮像画像から、特異点画素の高さを決定する特異点画素高さ算出手段とを備える３次元計測装置であることを要旨とする。
【０００７】
本発明の第２の特徴は、水平レベルが緩やかに変化する背景画素中にその背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する３次元物体を被測定対象とし、その被測定対象の画像を位相シフトモアレ法により測定する３次元計測方法であって、（イ）被測定対象の背景画素のなす水平レベルに格子をほぼ平行に配置するステップと、（ロ）格子を水平レベルに対し垂直方向に移動しながら、背景画素と特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に、複数枚取得するステップと、（ハ）計測の事前に、撮像画像を構成する画素のうち、計測に必要な画素の情報を予め作成するステップと、（ニ）画素の情報を用いて、撮像画像において背景画素と特異点画素とを分類するステップと、（ホ）複数枚の撮像画像を用いて、分類された背景画素の高さを決定するステップと、（ヘ）その決定された背景画素の高さを基準として、複数枚の撮像画像から、特異点画素の高さを決定するステップとを含む３次元計測方法であることを要旨とする。
【０００８】
本発明の第３の特徴は、水平レベルが緩やかに変化する背景画素中にその背景画素の水平レベルとは高さが急激に変化する特異点画素が複数個存在する３次元物体を被測定対象とし、その被測定対象の画像を位相シフトモアレ法により測定する３次元計測装置を駆動制御する３次元計測プログラムであって、３次元計測装置に、（イ）被測定対象の背景画素のなす水平レベルに格子をほぼ平行に配置する命令と、（ロ）格子を水平レベルに対し垂直方向に移動しながら、背景画素と特異点画素とが構成する２次元画素配列からなる撮像画像を光学的に、複数枚取得する命令と、（ハ）撮像画像を構成する画素のうち、計測に必要な画素の情報を画素情報記憶部に予め格納する命令と、（ニ）画素の情報を用いて、撮像画像において背景画素と特異点画素とを分類する命令と、（ホ）複数枚の撮像画像を用いて、分類された背景画素の高さを決定する命令と、（ヘ）その決定された背景画素の高さを基準として、複数枚の撮像画像から、特異点画素の高さを決定する命令とを実行させる３次元計測プログラムであることを要旨とする。
【発明の効果】
【０００９】
本発明によれば、計測に必要な画素を対象として計測を行うことにより、不必要な画素の高さを測定する必要がなくなり計測時間が短縮可能とし、且つ、精度の高い測定結果が得られる複数の点に相当する背景画素の高さを決定し、特異点近傍の背景画素の高さを基準として特異点画素の高さを決定することにより、より正確な高さ測定を行うことができる３次元計測装置、３次元計測方法及び３次元計測プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下に本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号で表している。但し、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なる。したがって、具体的な厚みや寸法は以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【００１１】
本発明の実施の形態に係る３次元計測装置は、図１に示すように、３次元物体５を被測定対象とし、その被測定対象の画像を位相シフトモアレ法により測定する。３次元物体５は、例えば、図８に示すように、水平レベルが緩やかに変化する背景画素６０中に、その背景画素６０の水平レベルとは高さが急激に変化する特異点画素６１が複数個存在する。３次元物体５としては、例えばボールグリッドアレイ（ＢＧＡ）等の半導体パッケージがある。背景画素６０としては、図７に示すように、例えば半導体パッケージの基板５１を対象とし、特異点画素６１としては、半導体パッケージの基板５１上に配置されたはんだボール（凸部）５０ａ〜５０ｌ等を対象とする。特異点画素６１としては、凸部５０ａ〜５０ｌの他にも、凹部や孔でもあっても良い。図１に示した３次元物体５は、支持台上や平行移動するベルトコンベア上に載置される。
【００１２】
実施の形態に係る３次元計測装置は、図１に示すように、被測定対象の背景画素のなす水平レベル（Ｘ−Ｙ平面）に格子をほぼ平行に配置された格子３、格子３をＸ−Ｙ平面に対し垂直方向（Ｚ軸方向）に移動しながら、図８に示すような背景画素６０と特異点画素６１とが構成する２次元画素配列からなる撮像画像img_org[n]（n=0,1,2,・・・）を光学的に、複数枚取得する画像取得手段６、及び処理部４を備える。ここで、Ｘ−Ｙ平面は、互いに直交するＸ−Ｙ−Ｚ座標系におけるＸ−Ｙ平面であり、Ｚ軸はこのＸ−Ｙ−Ｚ座標系におけるＺ軸である。格子３は、Ｙ軸方向に延びるスリットを一定のピッチｐでＸ−Ｙ平面に配列している。
【００１３】
画像取得手段６は、格子３をＸ−Ｙ平面に対し垂直方向に移動させる格子位置制御部３０と、格子３に平行光を照射する照射部１と、撮像画像img_org[n]を光学的に、複数枚取得する受光部２を有する。格子位置制御部３０は、移動機構、及びこの移動機構を駆動する駆動部（図示省略）とを備え、処理部４から制御信号等を供給され格子３の位置移動を制御される。即ち、処理部４は、駆動部に制御信号等を供給し、格子３の移動機構の動作を制御する。移動機構は、格子３の位置をＺ軸に沿って移動するＺ軸ステージを備える。また、格子３の位置は、例えばレーザー干渉計等により測定され、処理部４にフィードバックされる。
【００１４】
照射部１は、光源１０と、光源１０から出射した照明光を平行光に変換する第１のレンズ１１を備える。光源１０としては、例えば蛍光灯等の線光源を用いることができる。第１のレンズ１１としては、例えばシリンドリカルレンズ等が採用可能である。また、受光部２は、格子３を介して３次元物体５の被計測面で反射した格子３の像と格子３との重ね合わせにより形成されるモアレ縞の画像を集光する第２のレンズ２１と、モアレ縞の画像を撮像するイメージセンサ２０とを備える。第２のレンズ２１としては、例えばテレセントリックレンズ等を用いることができる。イメージセンサ２０としては、例えばＣＣＤカメラ等が使用可能である。
【００１５】
図１に示した画像取得手段６において、光源１０から出射した照明光が第１のレンズ１１により平行光に変換され、格子３を介して３次元物体５の被計測面で反射する。反射した平行光は第２のレンズ２１により集光され、格子３の像と格子３との重ね合わせにより形成されるモアレ縞の画像がイメージセンサ２０に取り込まれる。
【００１６】
ここで、イメージセンサ２０で撮像される画像の光強度は、３次元物体５の測定表面と格子３との距離に依存する。例えば、格子３と３次元物体５との距離がある値の場合は、光源１０から照射した光は、格子３を通過する機会が３次元物体５で反射する前後で２回あるうち、２回とも格子３に遮られることがない。その結果、３次元物体５で反射した光はイメージセンサ２０に強い強度で撮像される。一方、格子３と３次元物体５との距離がその他の値の場合には、光源１０から照射した光が、格子３を通過する機会が２回あるうち、いずれかで格子３に遮られる。その結果、弱い強度でイメージセンサ２０に撮像される。
【００１７】
図１に示した格子３がＸ軸方向に正弦波状の透過率分布を持っているとすると、その透過率分布T(x,y)は、格子３と３次元物体５の測定表面との距離をｚとして、
T(x,y)=1/2{1+cos(2πx/p)}       ・・・（１−１）
のように記述される。照射部１から格子３を通して３次元物体５上に投影された平行光の光の強度分布Is1(x,y)は、光の入射角をθ1として、
Is1(x,y)=1/2[1+cos{2π/p(x-z・tanθ1)}]   ・・・（１−２）
となる。また、３次元物体５で反射し格子３を通過した光の強度分布Is2(x,y)は、光の出射角をθ2として、
Is2(x,y)=1/2[1+cos{2π/p(x-z・tanθ2)}]   ・・・（１−３）
となる。ここで、光源強度は簡単のため規格化している。また、反射型モアレの場合、tanθ1= -tanθ2となる。３次元物体５上のモアレ縞の強度分布 Im は、モアレの場合には式（１−２）と式（１−３）の積となる。即ち、モアレ縞の強度分布 Imは、tanθ1=αとして、
Im (x,y,z)=1/4
+1/4cos{2π/p(x-zα)}
+1/4cos{2π/p(x+zα)}
+1/8cos{4πx/p}
-1/8cos{4πzα/p}       ・・・（１−４）
となる。ここで、式（１−４）の右辺の第３項1/4cos{2π/p(x+zα)}、及び第４項1/8cos{4πx/p}は、格子３の周期ｐをもった強度分布を持ち、第５項-1/8cos{4πzα/p}は格子３半分の周期を持った強度分布である。第３〜第５項は通常モアレの周期や光学系の解像度に比べて非常に小さいので無視でき、下記式（１−５）のように近似できる。
【００１８】
I=1/4+1/4cos{2π/p(x-zα)}      ・・・（１−５）
したがって、３次元物体５の高さｈと光強度Ｉとの関係は、３次元物体５の高さをh、光強度をI、モアレ縞の位相をφとして、定数をＡ〜Ｃとして、下記式（１）を用いて近似できる。
【００１９】
I=Acos(C・h)+B=Acosφ+B  ・・・（１）
ここで式（１）に示すように、位相φは３次元物体５の表面形状の高さhに比例している。よって、３次元物体５の高さhを算出するためには、式（１）における位相φを算出した後、位相φに比例定数Ｃの逆数を乗じればよい。モアレ縞の位相φから高さｈを算出することにより、より精度の高い測定結果を得ることができる。
【００２０】
モアレ縞の位相φは、図１に示した画像取得手段６において、格子３をＺ軸方向に複数回移動させながら撮像した複数枚の撮像画像img_org[n]から算出される。モアレ縞の位相φは、例えば格子３を正弦波の１／４周期に相当する高さだけ上方向に移動させながら撮像した４枚のモアレ縞の撮像画像img_org[0]〜img_org[3]の光強度をそれぞれＩ0,Ｉ1,Ｉ2,Ｉ3として、下記式（2）を用いて算出することができる。
【００２１】
φ=tan-1{(I1-I3)/(I2-I0)} ・・・（２）
このような原理を用いて、３次元物体５の測定表面の高さ測定が可能となる。
【００２２】
図１に示した処理部４は、図２に示すように、中央処理装置（ＣＰＵ）４０、データ記憶装置７０、主記憶装置８０、入力装置８１、出力装置８２及びプログラム記憶装置８４を備える。ＣＰＵ４０は、画像取得手段制御部４１、画素情報設定手段４２、対象画素特定手段４５、背景画素高さ算出手段４６及び特異点画素高さ算出手段４７を備える。
【００２３】
画像取得手段制御部４１は、図１に示した画像取得手段６及び格子位置制御部３０の動作を制御し、且つイメージセンサ２０によって撮像されたモアレ縞の複数枚の撮像画像img_org[n]を取得し、図２に示した画素情報記憶部７２に格納する。ここでは、一例として、第１の撮像画像img_org[0], 第２の撮像画像img_org[1], 第３の撮像画像img_org[2], 第４の撮像画像img_org[3]を取得するものとする。第１〜第４の撮像画像img_org[0]〜img_org[3]のそれぞれは、図８に示すように横方向ｉｘ画素、縦方向ｉｙ画素からなる電子画像データである。第１〜第４の撮像画像img_org[0]〜img_org[3]において、背景画素６０は図７に示した３次元物体５の基板５１に対応する部分の画素である。また図８に示した特異点画素６１は、図７に示した凸部５０ａ〜５０ｌのいずれかに対応する部分の画素である。第１〜第４の撮像画像img_org[0]〜img_org[3]としては、現実的には、図１５（ａ）〜図１５（ｄ）に示すようなデータで撮像される。
【００２４】
図２に示した画素情報設定手段４２は、図３に示すように、原画素リスト設定部４２ｂ、位相接続順序情報設定部４２ｃ及び背景画素リスト設定部４２ｄを備える。原画素リスト設定部４２ｂは、計測の事前に、第１〜第４の撮像画像img_org[0]〜img_org[3]を構成するｉｘ×ｉｙ個の画素のうち、計測に必要な複数の特異点画素６１及び複数の背景画素６０を選択して原画素リストinf_pxl_refを予め作成する。ここで、原画素リスト設定部４２ｂは、位相とびを２回以上発生させないために、図１に示した画像取得手段６や３次元物体５の形状等から、位相とびが発生する方向及び位相とびが発生すると予測しうる背景画素６０縦横方向の大きさの閾値をまず予測する。そして、位相とびが発生する閾値よりも小さくなるように背景画素６０の縦方向及び横方向の大きさを設定して原画素リストinf_pxl_refを作成する。作成された原画素リストinf_pxl_refは、図２に示した画素情報記憶部７２に計測の事前に予め格納しておく。
【００２５】
ここで、原画素リストinf_pxl_refは、それぞれの撮像画像img_org[0]〜img_org[3]について必要なものではなく、撮像した全ての撮像画像img_org[0]〜img_org[3]について共通である。例えば、ｉｘ＝９００[画素]，ｉｙ=９００[画素]の第１〜第４の撮像画像img_org[0]〜img_org[3]で、座標（ｘ＝４００，ｙ＝３００）の位置の画素が原画素リストinf_pxl_ref中の２０番目の背景画素６０であるとすると、第１の撮像画像img_org[0]でも座標（ｘ＝４００，ｙ＝３００）の画素は２０番目の背景画素６０であり、第４の撮像画像img_org[3]でも座標（ｘ＝４００，ｙ＝３００）の画素は２０番目の背景画素６０である。
【００２６】
また、図３に示した位相接続順序情報設定部４２ｃは、計測の事前に、画素間の位相接続時の接続順序を決めるための位相接続順序情報inf_odrを予め作成する。位相接続順序情報inf_odrを作成する際には、全ての背景画素６０が互いに矛盾なく位相接続され、更に画像全体における全ての位相とびが検出されるように作成される。また、背景画素リスト設定部４２ｄは、計測の事前に、３次元物体５の高さを計測する際に基準として用いる背景画素６０の情報である背景画素リストinf_lnkを予め作成する。作成された位相接続順序情報inf_odr及び背景画素リストinf_lnkは、図２に示した画素情報記憶部７２に計測の事前に予め格納しておく。
【００２７】
図２に示した対象画素特定手段４５は、位置ずれ情報測定部４３及び対象画素特定部４４を備える。位置ずれ測定部４３は、図４に示すように、位置合わせ用画像作成部４３ａ、初期化部４３ｂ、変換画像作成部４３ｃ及びマッチング部４３ｘを備える。
【００２８】
位置合わせ用画像作成部４３ａは、画像取得手段制御部４１により取得された第１〜第４の撮像画像img_org[0]〜img_org[3]を基に平均化された図１２に示すような１枚の位置合わせ用画像img_tgtを作成する。位置合わせ用画像img_tgtはｉｘ×ｉｙ個の画素からなり、後述する位置合わせに用いられる。
【００２９】
図４に示した初期化部４３ｂは、暫定位置ずれ量を構成する３つのパラメータである暫定回転ずれrsl_theta、暫定Ｘ方向ずれrsl_xsft、暫定Ｙ方向ずれrsl_ysftを０に初期化する。また、内部関数である初期評価値rsl_scoreを設定する。
【００３０】
変換画像作成部４３ｃは、図２に示したテンプレート画像記憶部７１に格納された図１３に示すようなテンプレート画像img_refを、補正用位置ずれ量を構成する３つのパラメータである補正用回転ずれtmp_theta、補正用Ｘ方向ずれtmp_xsft、補正用Ｙ方向ずれtmp_ysftを用いてアフィン変換して図１４（ａ）〜図１４（ｄ）に示すようなｉｘ×ｉｙ個の画素値からなる変換画像img_tmpを作成する。ここで、図１４（ａ）〜図１４（ｄ）に示した変換画像img_tmpの補正用位置ずれ量（tmp_theta，temp_xsft，temp_ysft）はそれぞれ、（０，０，０）、（０，−１０，−１０）、（１０，８，８）、（−１０，−８，−９）である。
【００３１】
図４に示したマッチング部４３ｘは、評価値算出部４３ｄ、評価値比較部４３ｅ、マッチング終了判断部４３ｆ及び位置ずれ情報算出部４３ｇを備える。評価値算出部４３ｄは、位置合わせ用画像作成部４３ａにより作成された位置合わせ用画像img_tgtと変換画像img_tmpについて、下記式（３）を用いてマッチングの評価をする。
【００３２】
tmp_score=Σ(img_tmp[i]・img_tgt[i])
/〈{√(Σ(img_tmp[i])2}・√{(Σimg_tgt[i])2}〉 ・・・（３）
式（3）により、マッチング評価値tmp_scoreが算出される。例えば、図１４（ａ）〜図１４（ｄ）に示した変換画像img_tmpに対するマッチング評価値tmp_scoreはそれぞれ、０．４２、０．１８、０．９５、０．５２である。
【００３３】
図４に示した評価値比較部４３ｅは、初期化部４３ｂにより算出された初期評価値rsl_scoreと、評価値算出部４３ｄにより算出されたマッチング評価値tmp_scoreとを比較する。比較した結果、マッチング評価値tmp_scoreが初期評価値rsl_scoreより大きい場合は、下記式（４）〜（６）を用いて、補正用回転ずれtmp_theta、補正用Ｘ方向ずれtmp_xsft、補正用Ｙ方向ずれtmp_ysftのそれぞれを、暫定回転ずれrsl_theta、暫定Ｘ方向ずれrsl_xsft、暫定Ｙ方向ずれrsl_ysftと定義する。
【００３４】
rsl_theta = tmp_theta       ・・・（４）
rsl_xsft = tmp_xsft ・・・（５）
rsl_ysft = tmp_ysft ・・・（６）
評価値比較部４３ｅは更に、暫定位置ずれ量（rsl_theta、rsl_xsft、rsl_ysft）が加えられた変換画像img_tmpのマッチング評価値tmp_scoreと、後続して作成される新たな変換画像img_tmpのマッチング評価値tmp_scoreとを比較する。比較した結果、新たな変換画像img_tmpのマッチング評価値tmp_scoreが大きい場合は、新たな変換画像img_tmpに加えられた暫定位置ずれ量（rsl_theta、rsl_xsft、rsl_ysft）を取得し、それまで保持していた暫定位置ずれ量は消去する。また、マッチング終了判断部４３ｆは、作成された全ての変換画像img_tmpに対してマッチングが行われたか否かを判断する。
【００３５】
位置ずれ情報算出部４３ｇは、マッチング終了判断部４３ｆが作成された全ての変換画像img_tmpに対してマッチングが行われたと判断した時点で保持されている暫定位置ずれ量（rsl_theta、rsl_xsft、rsl_ysft）を確定位置ずれ量と定義する。そして、下記式（７）〜（１２）を用いて、位置ずれ情報prm_trn[0]〜prm_trn[5]のそれぞれを算出する。
【００３６】
prm_trn[0] = cos(rsl_theta)    ・・・（７）
prm_trn[1] = -sin(rsl_theta)        ・・・（８）
prm_trn[2] = rsl_xsft          ・・・（９）
prm_trn[3] = sin(rsl_theta)         ・・・（１０）
prm_trn[4] = cos(rsl_theta)         ・・・（１１）
prm_trn[5] = rsl_ysft          ・・・（１２）
図２に示した対象画素特定部４４は、位置ずれ情報算出部４３ｇにより算出された位置ずれ情報prm_trn[0]〜prm_trn[5]と画素情報記憶部７２に予め格納された原画素リストinf_pxl_refを読み込んで、撮像画像img_org[0]〜img_org[3]の計測に必要な画素を、計測に必要な特異点画素６１と計測に必要な背景画素６０とに分類し、変換画素リストinf_pxl_tgtを作成する。原画素リストinf_pxl_ref中のpxl番目の画素inf_pxl_tgt[pxl]に対応する変換画素リストinf_pxl_tgt中の画素inf_pxl_tgt[pxl]は、次のようにして算出することができる。まず、原画素リストinf_pxl_ref中のpxl番目の画素のＸ座標xrefと、原画素リストinf_pxl_ref中のpxl番目の画素のＹ座標yrefを下記式（１３）及び（１４）を用いて算出する。
【００３７】
xref = inf_pxl_ref[pxl]% ix ・・・（１３）
yref = inf_pxl_ref[pxl]/ ix ・・・（１４）
ここで、Ｘ座標xref及びＹ座標yrefは整数であり、%は剰余を表す。なお、分類される画素inf_pxl_tgt[pxl]も、それぞれの撮像画像img_org[0]〜img_org[3]について必要なものではなく、全ての撮像画像img_org[0]〜img_org[3]について共通である。
【００３８】
次にＸ座標xref及びＹ座標yrefを、位置ずれ情報算出部４３ｇで求めた位置ずれ情報prm_trn[0]〜prm_trn[5]を用い、下記式（１５）及び（１６）で変換する。
【００３９】
xtgt = prm_trn[0]・ xref + prm_trn[1] ・ yref + prm_trn[2]    ・・・（１５）
ytgt = prm_trn[3]・ xref + prm_trn[4] ・ yref + prm_trn[5]    ・・・（１６）
最後に、画像座標（xtgt ，ytgt ）を下記式（１７）を用いてスカラ値に変換し、変換画素リストinf_pxl_tgt中のpxl番目の画素として格納する。
【００４０】
inf_pxl_tgt[pxl]= ix・ ytgt + xtgt                          ・・・（１７）
図２に示した背景画素高さ算出手段４６は、背景画素６０のそれぞれの高さを決定する。背景画素高さ算出手段４６は、図５に示すように、背景画素初期高さ算出部４６ｘ、高さ差算出部４６ａ、位相とび判断部４６ｂ、背景画素確定高さ算出部４６ｃ及び高さ算出終了判断部４６ｄを備える。
【００４１】
背景画素初期高さ算出部４６ｘは、第１〜第４の撮像画像img_org[0]〜img_org[3]中の背景画素６０の高さを計測し、背景画素初期高さhgt_brd_tmpを算出する。背景画素初期高さ算出部４６ｘは、変換画素リストinf_pxl_tgt中のpxl番目の画素inf_pxl_tgt[pxl]が背景画素６０である場合、その背景画素６０における背景画素初期高さhgt_brd_tmp[pxl]を以下のようにして算出する。
【００４２】
ptgt = inf_pxl_tgt[pxl]                  ・・・（１８）
argy = img_org[0][ptgt]-img_org[2][ptgt]          ・・・（１９）
argx = img_org[1][ptgt]-img_org[3][ptgt]          ・・・（２０）
hgt_brd_tmp[pxl]= δH・atan2(argy,argx)    ・・・（２１）
ここで、δHは比例定数である。atan2(y,x)は、y/xのアークタンジェントを返す関数で、ｘが０の場合０を返し、出力範囲は-πからπで、両方の引数の符号を使って象限を定めることができる。例えば、背景画素初期高さ算出部４６ｘで、２０番目の背景画素６０の高さ（背景画素初期高さ）hgt_brd_tmp[20] （座標（ｘ＝４００，ｙ＝３００））を求めるためには、第１〜第４の撮像画像img_org[0]〜img_org[3]に対して同じ座標（ｘ＝４００，ｙ＝３００）の画素を用いて、式（１８）〜（２１）で算出する。
【００４３】
高さ差算出部４６ａは、画素情報記憶部７２に予め格納された位相接続順序情報inf_odrによるｔ番目の背景画素初期高さhgt_brd_tmp[t]と、（ｔ−１）番目の背景画素６０の背景画素確定高さhgt_brd_rsl[t-1]との差を算出する。位相とび判断部４６ｂは、高さ差算出部４６ａにより算出されたｔ番目の背景画素初期高さhgt_brd_tmp[t]、及び（ｔ−１）番目の背景画素６０の背景画素確定高さhgt_brd_rsl[t-1]の差と閾値を比較する。ここで、閾値λが
λ=0.5・δH・2π  ・・・（２２）
で表されるとき、差の絶対値が閾値λ以上である場合、ｔ番目の背景画素は位相とびが発生していると判断する。背景画素確定高さ算出部４６ｃは、位相とびが確認された場合、背景画素初期高さhgt_brd_tmp[t]と背景画素確定高さhgt_brd_rsl[t-1]との差が最小となるように、式（２）における比例定数δHを用いて、加減定数をＮとして、背景画素確定高さhgt_brd_rsl[t-1]にδH・2πの整数倍を加減する。その結果、背景画素確定高さhgt_brd_rsl[t]として、
hgt_brd_rsl[t]=hgt_brd_tmp[t]+ N ・δH・2π       ・・・（２３）
が算出される。高さ算出終了判断部４６ｄは、全ての背景画素６０について背景画素確定高さhgt_brd_rslを算出したか否かを判断する。
【００４４】
図２に示した特異点画素高さ算出手段４７は、図６に示すように、基準高さ算出部４７ａ、特異点画素初期高さ算出部４７ｂ、特異点画素暫定高さ算出部４７ｃ、特異点画素暫定高さ判断部４７ｄ及び特異点画素確定高さ算出部４７ｅを備える。
【００４５】
基準高さ算出部４７ａは、画素情報記憶部７２に予め格納された背景画素リストinf_lnkから、特異点画素６１の高さを計測するために、特異点画素６１の近傍の背景画素６０を基準として少なくとも１つ抽出する。複数の背景画素６０を抽出した場合は、背景画素確定高さ算出手段４６で算出された各々の背景画素６０の背景画素確定高さhgt_brd_rslから平均値等を求め、これを基準高さhgt_brd_basと定義する。
【００４６】
特異点画素初期高さ算出部４７ｂは、撮像画像img_org[0]〜img_org[3]と、変換画素リストinf_pxl_tgtから、特異点画素６１の特異点画素初期高さhgt_bll_iniを算出する。
【００４７】
特異点画素暫定高さ算出部４７ｃは、下記式（２４）のように、特異点画素初期高さ算出部４７ｂにより算出された特異点画素初期高さhgt_bll_iniから、基準高さ算出部４７ａにより算出された基準高さhgt_brd_basを減算することにより特異点画素暫定高さhgt_bll_tmpを算出する。
【００４８】
hgt_bll_tmp = hgt_bll_ini - hgt_brd_bas ・・・（２４）
特異点画素暫定高さ判断部４７ｄは、特異点画素暫定高さhgt_bll_tmpが、予め設定した特異点画素高さ範囲に収まるか否かを判断する。ここで、「特異点画素高さ範囲」とは、Ｄを比例定数として、「最大最小の差が２πＤを越えないように設定された、特異点画素暫定高さhgt_bll_tmpの最大最小の範囲」を意味する。
【００４９】
特異点画素確定高さ算出部４７ｅは、特異点画素暫定高さ判断部４７ｄにより特異点画素暫定高さhgt_bll_tmpが特異点画素高さ範囲に収まると判断した場合、下記式（２５）のように、特異点画素暫定高さhgt_bll_tmpを特異点画素確定高さhgt_bll_rslと定義する。
【００５０】
hgt_bll_rsl = hgt_bll_tmp       ・・・（２５）
一方、特異点画素暫定高さhgt_bll_tmpが予め設定した特異点画素高さ範囲に収まらない場合、特異点画素確定高さ算出部４７ｅは、式（２）における比例定数δHを用い、特異点画素確定高さhgt_bll_rslが特異点画素高さ範囲内に収まるような整数をＮとして特異点画素暫定高さhgt_bll_tmpにδH*2πをN倍した値を加減することにより、特異点画素確定高さhgt_bll_rslを算出する。
【００５１】
hgt_bll_rsl = hgt_bll_tmp + N *δH*2π  ・・・（２６）
図２に示したデータ記憶装置７０は、テンプレート画像記憶部７１、画素情報記憶部７２及び撮像画像記憶部７３を備える。テンプレート画像記憶部７１は、第１〜第４の撮像画像img_org[0]〜img_org[3]との位置ずれ計測に用いる、３次元物体５の設計データであるテンプレート画像img_refを測定の事前に記憶する。画素情報記憶部７２は、原画素リスト設定部４２ｂにより又は入力装置８１から入力されて設定された原画素リストinf_pxl_ref、位相接続順序情報設定部４２ｃにより又は入力装置８１から入力されて設定された位相接続順序情報inf_odr、及び背景画素リスト設定部４２ｄにより又は入力装置８１から入力されて設定された背景画素リストinf_lnkを計測の事前に予め記憶する。撮像画像記憶部７３は、画像取得手段６が取得した複数枚の撮像画像img_org[n]を記憶する。
【００５２】
主記憶装置８０は、ＣＰＵ４０による演算結果を逐次格納する。主記憶装置８０としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープ等が使用できる。入力装置８１としては、例えばキーボード、マウスやボイスデバイス等から構成される。出力装置８２は、特異点画素高さ算出手段４７により算出された特異点画素の高さを出力する。出力装置８２としては、プリンタ、液晶ディスプレイ(ＬＣＤ)やＣＲＴディスプレイ等が採用できる。
【００５３】
次に本発明の実施の形態に係る３次元計測方法を、図９〜図１１のフローチャートを参照して説明する。なお、図２に示したＣＰＵ４０による演算結果は、主記憶装置８０に逐次格納される。
【００５４】
(a) 図９のステップＳ９１において、測定の事前に、原画素リストinf_pxl_ref、位相接続順序情報inf_odr及び背景画素リストinf_lnkを図２に示した画素情報記憶部７２に格納しておく。原画素リストinf_pxl_ref、位相接続順序情報inf_odr及び背景画素リストinf_lnkは、図３に示した画素情報設定手段４２の原画素リスト設定部４２ｂ、位相接続順序情報設定部４２ｃ及び背景画素リスト設定部４２ｄにより、それぞれ予め作成しても良く、入力装置８１を介して入力されても良い。ステップＳ９２において測定を開始し、まず図１及び図７に示すような３次元物体５を用意する。図２に示した画像取得手段制御部４１は、図１に示した画像取得手段６及び格子位置制御部３０を制御して、格子３を３次元物体５を略平行に配置する。そして、格子位置制御部３０により格子３をＺ軸方向に順次移動させながら、照射部１により格子３に平行光を照射して、受光部２により格子３を介して３次元物体５のモアレ縞の画像を取り込む。ここでは例として、４枚の撮像画像img_org[0]〜img_org[3]を撮像する。イメージセンサ２０により撮像された第１〜第４の撮像画像img_org[0]〜img_org[3]を図２に示した画像取得手段制御部４１に転送し、撮像画像記憶部７３に格納する。
【００５５】
(b) ステップＳ１０１において、図４に示した位置合わせ用画像作成部４３ａは、第１〜第４の撮像画像img_org[0]〜img_org[3]のそれぞれを平均化した１枚の位置合わせ用画像img_tgtを作成する。そしてステップＳ１０２において、初期化部４３ｂは、暫定位置ずれ量のパラメータである暫定回転ずれrsl_theta、暫定Ｘ方向ずれrsl_xsft、暫定Ｙ方向ずれrsl_ysftのそれぞれを０に初期化する。また、初期評価値rsl_scoreを十分小さな値に初期化する。次に、ステップＳ１０３において、変換画像作成部４３ｃは、テンプレート画像記憶部７１に格納されたテンプレート画像img_refを、補正用位置ずれ量を構成する3のパラメータである補正用回転ずれtmp_theta、補正用Ｘ方向ずれtmp_xsft、補正用Ｙ方向ずれtmp_ysftを用いてアフィン変換し、変換画像img_tmpを作成する。その後、評価値算出部４３ｄは式（３）を用いて、例えば図１４（ａ）に示した変換画像img_tmpと図１２に示した位置合わせ用画像img_tgtとのマッチング評価値tmp_scoreを算出する。
【００５６】
(c) ステップＳ１０４において、評価値比較部４３ｅは、評価値算出部４３ｄで算出されたマッチング評価値tmp_scoreと、初期化部４３ｂで設定された初期評価値rsl_scoreを比較する。この結果、マッチング評価値tmp_scoreが初期評価値rsl_scoreより大きい場合は、ステップＳ１０５において、評価値比較部４３ｅは補正用回転ずれtmp_theta、補正用Ｘ方向ずれtmp_xsft、補正用Ｙ方向ずれtmp_ysftのそれぞれを、暫定回転ずれrsl_theta、暫定Ｘ方向ずれrsl_xsft、暫定Ｙ方向ずれrsl_ysftと定義する。一方、マッチング評価値tmp_scoreが初期評価値rsl_scoreより小さい場合は、初期評価値rsl_scoreの位置ずれ量を暫定位置ずれ量とする。次にステップＳ１０６おいて、マッチング終了判断部４３ｆは、作成された全ての変換画像img_tmpに対してマッチングが行われたか否かを判断する。ここで、全ての変換画像img_tmpに対してマッチングが行われていないと判断された場合は、ステップＳ１０７に進み、新たな補正用位置ずれ量(tmp_theta、tmp_xsft、tmp_ysft)を抽出してステップＳ１０３に戻る。一方、全ての変換画像img_tmpに対してマッチングが行われたと判断された場合には、ステップＳ１０８に進む。そして、位置ずれ情報算出部４３ｇは暫定位置ずれ量を確定位置ずれ量と定義し、式（７）〜（１２）を用いて位置ずれ情報prm_trn[0]〜prm_trn[5]を算出する。
【００５７】
(d) 次に 図１０のステップＳ１１０において、図２に示した対象画素特定部４４は、位置ずれ情報prm_trn[0]〜prm_trn[5]と、画素情報記憶部７２に予め格納された原画素リストinf_pxl_refを用いて、撮像画像img_org[0]〜img_org[3]を構成する画素のうち、計測に必要な画素を計測に必要な特異点画素６１と計測に必要な背景画素６０に分類し、変換画素リストinf_pxl_tgtを作成する。更にステップＳ１２０において、図５に示した背景画素初期高さ算出部４６ｘは、変換画素リストinf_pxl_tgtに含まれる少なくとも1の背景画素６０の高さを計測して背景画素初期高さhgt_brd_tmpを算出する。そして、ステップＳ２０１において、画素情報記憶部７２に予め格納された位相接続順序情報inf_odrを参照し、t番目の背景画素６０の高さを背景画素確定高さhgt_brd_rsl[t]と定義する。よって、最初の背景画素６０の高さは背景画素確定高さhgt_brd_rsl[0]と定義される。
【００５８】
(e) 次にステップＳ２０２において、高さ差算出部４６ａは、背景画素初期高さhgt_brd_tmp[t]と（ｔ−１）番目の背景画素６０の確定高さhgt_brd_rsl[t-1]の差を算出する。位相とび判断部４６ｂは、高さ差算出部４６ａにより算出された差の絶対値が閾値λ以上である場合、ｔ番目の背景画素において位相とびが発生していると判断する。ステップＳ２０２で位相とびが確認された場合は、ステップＳ２０３において背景画素初期高さhgt_brd_tmp[t]と背景画素確定高さhgt_brd_rsl[t-1]との差が最小となるように、式（２）を用いて、背景画素確定高さhgt_brd_rsl[t-1]にδH・2πを整数倍した値を加減し、t番目の背景画素の高さhgt_brd_rsl[t]を確定する。そして、ステップＳ２０４において、抽出された全ての背景画素６０について背景画素確定高さhgt_brd_rslを算出したか否かを判断する。算出していない場合は、ステップＳ２０５において、t = t + 1と定義し、ステップＳ２０２に戻る。他方算出済みである場合には、ステップＳ３０１に進む。
【００５９】
(f) 図１１のステップＳ３０１において、基準高さ算出部４７ａは、画素情報記憶部７２に予め格納された背景画素リストinf_lnkから、背景画素６０を少なくとも１つ抽出する。複数の背景画素６０を抽出した場合は、抽出された背景画素の高さの平均値を算出し、これを基準高さhgt_brd_basと定義する。次にステップＳ３０２において、変換画素リストinf_pxl_tgtを参照することにより、撮像画像img_org[0]〜img_org[3]から特異点画素初期高さhgt_bll_iniを取得する。そしてステップＳ３０３において、特異点画素暫定高さ算出部４７ｃは、特異点画素初期高さhgt_bll_iniから基準高さhgt_brd_basを減算することにより、特異点画素暫定高さhgt_bll_tmpを算出する。次にステップＳ３０４において、特異点画素暫定高さ判断部４７ｄは、特異点画素暫定高さ算出部４７ｃにより算出された特異点画素暫定高さhgt_bll_tmpが、予め設定した特異点画素高さ範囲に収まるか否かを判断する。特異点画素暫定高さhgt_bll_tmpが特異点画素高さ範囲に収まる場合は、特異点画素暫定高さhgt_bll_tmpを特異点画素確定高さhgt_bll_rslと定義する。他方、特異点画素暫定高さhgt_bll_tmpが特異点画素高さ範囲に収まらなかった場合は、ステップＳ３０５において、特異点画素確定高さhgt_bll_rslが、予め設定した特異点画素高さ範囲内に収まるように、式（２４）を用いて、特異点画素確定高さhgt_bll_rslを算出する。
【００６０】
以上説明したように、本発明の実施の形態に係る３次元計測装置及び３次元計測方法によれば、測定の事前に計測に必要な画素を選択して計測に必要な画素を対象に高さを算出することにより、不必要な画素の高さを測定する必要がなくなり、計測時間が短縮可能となる。更に、精度の高い測定結果が得られる複数の点に相当する背景画素を対象に位相接続を行いこれらの背景画素高さを確定し、特異点（凸部）近傍の確定した背景画素高さを基準として特異点画素高さを算出するので、より正確な高さ測定を行うことができる。
【００６１】
また上述した３次元計測方法は、時系列的につながった一連の処理或いは操作として表現可能である。したがって、３次元計測方法を３次元計測装置（コンピュータシステム）で実行するために、コンピュータシステム内のＣＰＵ４０などが果たす複数の機能を特定する３次元計測プログラム（コンピュータプログラム製品）で図９〜図１１に示した３次元計測方法を実現可能である。
【００６２】
コンピュータプログラム製品は、具体的には、（イ）３次元物体５の背景画素６０のなす水平レベルに格子３をほぼ平行に配置する命令、（ロ）格子３を水平レベルに対し垂直方向に移動しながら、背景画素６０と特異点画素６１とが構成する２次元画素配列からなる撮像画像img_org[n]を光学的に、複数枚取得する命令、（ハ）撮像画像を構成する画素のうち、計測に必要な画素の情報（原画素リスト）を画素情報記憶部７２に予め格納する命令、（ニ）画素の情報及び３次元物体５の設計データであるテンプレート画像を用いて、撮像画像img_org[n]において、背景画素６０と特異点画素６１とを分類する命令、（ホ）複数枚の撮像画像img_org[n]を用いて、計測に必要な背景画素６０のそれぞれの高さを決定する命令、（ヘ）決定された背景画素６０の高さを基準として、複数枚の撮像画像img_org[n]から、特異点画素６１の高さを決定する命令等を実行させる。
【００６３】
コンピュータプログラム製品は、図２に示したプログラム記憶装置８４等のコンピュータシステムに入出力可能な記録装置或いは記録媒体等である。記録媒体としては、メモリ装置、磁気ディスク装置、光ディスク装置、その他のプログラムを記録することができるような装置が含まれる。
【００６４】
本発明の実施の形態による発明の効果を検証するため、ペンティウム（Pentinum）２．２ＧＨｚのパーソナルコンピュータを用いてシュミレーションを行った。発明の実施の形態に係る内容をＣ言語の３次元計測プログラムで実装し、４枚の撮像画像（幅９００画素、高さ９００画素）をファイル化して３次元計測プログラムへの入力とし、３次元計測プログラムを実行して計測を行った。比較のため、従来技術として提示した内容のプログラム（比較プログラム）も実装して、実行を行った。図１６が３次元物体（はんだボール基板）の画像、図１７に比較プログラムによる計測結果を画像化したもの、図１８に本発明の実施の形態に係る計測結果を画像化したものを示す。ここで計測結果を画像化して比較するために、３次元計測プログラムにおいても全ての画素の高さを得るようにした。
【００６５】
図１７に示すように、比較プログラムでは、はんだボールの縁に当たる画素で精度の低い計測結果による位相ずれが度々発生し、結果として正しい高さ結果が得られない様子がわかる。一方、３次元計測プログラムによる計測結果では、精度の低い計測結果を持つ画素は位相接続に用いないので、図１８に示すように、安定した計測結果が得られていることが伺える。
【００６６】
また計測時間は、１０００回計測したときの平均値で結果を比較した。ここでは、比較プログラムでは９００×９００=８１００００［画素］の全ての画素の高さを求めているのに対し、３次元計測プログラムでは、全ての画素のうち２４００画素を選択し、高さを計測するように設定した。比較した結果、比較プログラムにおいて約３４３ｍｓｅｃであったのに対して、３次元計測プログラムでは約１２２ｍｓｅｃとなり計算時間が約１／３に短縮された。計算時間が画素数に比例していないのは、位置合わせなどの比較プログラムと３次元計測プログラムとで共通な処理が、全体の計算時間において支配的であるためである。
【００６７】
（その他の実施の形態）
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす記述及び図面はこの発明を限定するものであると理解するべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかになるはずである。例えば実施の形態に係る３次元計測装置が観察可能な３次元物体の形状は図７に示した物に限られないのは当然である。
【００６８】
また、図２に示した画素情報記憶部７２が計測の事前に原画素リストinf_pxl_ref、位相接続順序情報inf_odr及び背景画素リストinf_lnkを予め格納していれば、図２に示した画素情報設定手段４２を含まない構成であっても良い。また実施の形態に示した種々の式も異なる表現が許されるのは当然である。このような、本発明はここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施の形態に係る３次元計測装置のブロック図である。
【図２】本発明の実施の形態に係る処理部のブロック図である。
【図３】本発明の実施の形態に係る画素情報設定手段のブロック図である。
【図４】本発明の実施の形態に係る位置ずれ測定部のブロック図である。
【図５】本発明の実施の形態に係る背景画素高さ算出手段のブロック図である。
【図６】本発明の実施の形態に係る特異点画素高さ算出手段のブロック図である。
【図７】本発明の実施の形態に係る３次元物体の上面概略図である。
【図８】本発明の実施の形態に係る撮像画像の概略図である。
【図９】本発明の実施の形態に係る３次元画像計測方法を説明するためのフローチャート（その１）である。
【図１０】本発明の実施の形態に係る３次元画像計測方法を説明するためのフローチャート（その２）である。
【図１１】本発明の実施の形態に係る３次元画像計測方法を説明するためのフローチャート（その３）である。
【図１２】本発明の実施の形態に係る位置合わせ用画像の概略図である。
【図１３】本発明の実施の形態に係るテンプレート画像の概略図である。
【図１４】本発明の実施の形態に係る位置ずれ処理後の変換画像の概略図である。
【図１５】図１５（ａ）〜図１５（ｄ）は、本発明の実施の形態に係る撮像画像の写像である。
【図１６】本発明の実施の形態に係る３次元物体（基板）の写像である。
【図１７】従来の３次元物体の計測結果の写像である。
【図１８】本発明の実施の形態に係る３次元物体の計測結果の写像である。
【符号の説明】
【００７０】
１…照射部
２…受光部
３…格子
４…処理部
５…３次元物体（被測定対象）
６…画像取得手段
１０…光源
１１…第１のレンズ
２０…イメージセンサ
２１…第２のレンズ
３０…格子位置制御部
４０…中央処理装置（ＣＰＵ）
４１…画像取得手段制御部
４２…画素情報設定手段
４２ｂ…原画素リスト設定部
４２ｃ…位相接続順序情報設定部
４２ｄ…背景画素リスト設定部
４３…位置ずれ測定部
４３ａ…位置合わせ用画像作成部
４３ｂ…初期化部
４３ｃ…変換画像作成部
４３ｄ…評価値算出部
４３ｅ…評価値比較部
４３ｆ…マッチング終了判断部
４３ｇ…位置ずれ情報算出部
４３ｘ…マッチング部
４４…対象画素特定部
４５…対象画素特定手段
４６…背景画素高さ算出手段
４６ａ…高さ差算出部
４６ｂ…位相とび判断部
４６ｃ…背景画素確定高さ算出部
４６ｄ…高さ算出終了判断部
４６ｘ…背景画素初期高さ算出部
４７…特異点画素高さ算出手段
４７ａ…基準高さ算出部
４７ｂ…特異点画素初期高さ算出部
４７ｃ…特異点画素暫定高さ算出部
４７ｄ…特異点画素暫定高さ判断部
４７ｅ…特異点画素確定高さ算出部
５０ａ〜５０ｌ…特異点（凸部）
５１…基板
６０…背景画素
６１…特異点画素
７０…データ記憶装置
７１…テンプレート画像記憶部
７２…画素情報記憶部
７３…撮像画像記憶部
８０…主記憶装置
８１…入力装置
８２…出力装置
８４…プログラム記憶装置
【図１】
2005121397.tif 000003
【図２】
2005121397.tif 000004
【図３】
2005121397.tif 000005
【図４】
2005121397.tif 000006
【図５】
2005121397.tif 000007
【図６】
2005121397.tif 000008
【図７】
2005121397.tif 000009
【図８】
2005121397.tif 000010
【図９】
2005121397.tif 000011
【図１０】
2005121397.tif 000012
【図１１】
2005121397.tif 000013
【図１２】
2005121397.tif 000014
【図１３】
2005121397.tif 000015
【図１４】
2005121397.tif 000016
【図１５】
2005121397.tif 000017
【図１６】
2005121397.tif 000018
【図１７】
2005121397.tif 000019
【図１８】
2005121397.tif 000020