(57)【特許請求の範囲】
【請求項１】
測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する手段と、
前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データが格納されている基準データ格納部と、
対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ手段と、
前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価手段とを備え、
前記位置合わせ手段は、
ネルダーミード法の移動要素であって前記３つの軸の各々に沿って平行移動させる要素を軸平行移動要素とし、ネルダーミード法の回転要素であって前記３つの軸の各々を中心に回転させる要素を軸回転要素とすると、前記３つの軸に各々対応する、３つの前記軸平行移動要素と、前記３つの軸に各々対応する、３つの前記軸回転要素のうち２つの要素からなる複合要素を前記ネルダーミード法の多面体の頂点の１つに設定する手段と、
前記複合要素が設定された頂点を含む前記多面体の頂点により前記ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成する手段と
を有することを特徴とする欠陥抽出装置。
【請求項２】
前記複合要素は、前記３つの軸平行移動要素および前記３つの軸回転要素から選択される２つの要素の組み合わせを変化させて複数用意されており、
前記複数の複合要素を含む複合要素リストを作成する手段をさらに備えることを特徴とする請求項１に記載の欠陥抽出装置。
【請求項３】
前記複合要素リストを作成する手段は、前記３つの軸平行移動要素および前記３つの軸回転要素のうち任意の２つの要素の組み合わせについて、前記多面体の頂点のうち、前記ネルダーミード法に係る最悪点を除く各頂点の重心を原点とし、前記任意の２つの要素を軸とした２次元のデカルト座標系における、前記任意の２つの要素の座標が該２次元のデカルト座標系の第１象限または第３象限に位置するように設定された複合要素と、前記任意の２つの要素の座標が前記２次元のデカルト座標系の第２象限または第４象限に位置するように設定された複合要素とを対で設定することを特徴とする請求項２に記載の欠陥抽出装置。
【請求項４】
前記暫定合同変換パラメータを生成する手段は、
基準の距離に対する、測定点と該測定点に対応付けられた基準点との間の距離である対応点間距離の割合をユークリッド距離比率とすると、前記ネルダーミード法における関数値としての評価値を算出する際に用いる評価係数を、前記３つの軸の軸要素毎に算出する手段であって、前記ユークリッド距離比率が０％〜１００％に向かって前記評価係数が連続的に増加している関数により、前記３つの軸の軸要素毎に前記評価係数を算出する手段と、
前記３つの軸の軸要素毎にそれぞれ算出された評価係数により、前記多面体の頂点の各々について前記評価値を算出する手段と
を有することを特徴とする請求項１乃至３のいずれか一項に記載の欠陥抽出装置。
【請求項５】
前記位置合わせ手段は、
前記３つの軸の軸要素毎に、各軸要素における測定点と基準点との間のユークリッド距離を算出し、前記各軸要素毎にユークリッド距離の平均値を算出し、前記各軸要素毎に前記ユークリッド距離の最大値を抽出する手段と、
前記各軸要素毎に、前記基準の距離を、前記算出されたユークリッド距離の平均値以上、前記抽出されたユークリッド距離の最大値未満の所定の値に設定する手段と
を有することを特徴とする請求項４に記載の欠陥抽出装置。
【請求項６】
前記位置合わせ手段は、
前記関数の波形を、現在の波形よりも緩やかな波形に変更する手段を有することを特徴とする請求項４または５に記載の欠陥抽出装置。
【請求項７】
測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する手段と、
前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データが格納されている基準データ格納部と、
対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ手段と、
前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価手段とを備え、
前記位置合わせ手段は、前記ネルダーミード法の多面体の頂点により該ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成するように構成され、
前記位置合わせ手段は、
基準の距離に対する、測定点と該測定点に対応付けられた基準点との間の距離である対応点間距離の割合をユークリッド距離比率とすると、前記ネルダーミード法における関数値としての評価値を算出する際に用いる評価係数を、前記３つの軸の軸要素毎に算出する手段であって、前記ユークリッド距離比率が０％〜１００％に向かって前記評価係数が連続的に増加している関数により、前記３つの軸の軸要素毎に前記評価係数を算出する手段と、
前記３つの軸の軸要素毎にそれぞれ算出された評価係数により、前記多面体の頂点の各々について前記評価値を算出する手段と
を有することを特徴とする欠陥抽出装置。
【請求項８】
前記位置合わせ手段は、
前記３つの軸の軸要素毎に、各軸要素における測定点と基準点との間のユークリッド距離を算出し、前記各軸要素毎にユークリッド距離の平均値を算出し、前記各軸要素毎に前記ユークリッド距離の最大値を抽出する手段と、
前記各軸要素毎に、前記基準の距離を、前記算出されたユークリッド距離の平均値以上、前記抽出されたユークリッド距離の最大値未満の所定の値に設定する手段と
を有することを特徴とする請求項７に記載の欠陥抽出装置。
【請求項９】
前記位置合わせ手段は、
前記関数の波形を、現在の波形よりも緩やかな波形に変更する手段を有することを特徴とする請求項７または８に記載の欠陥抽出装置。
【請求項１０】
前記位置合わせ手段は、
前記ネルダーミード法の移動要素であって前記３つの軸の各々に沿って平行移動させる要素を軸平行移動要素とし、ネルダーミード法の回転要素であって前記３つの軸の各々を中心に回転させる要素を軸回転要素とすると、前記３つの軸に各々対応する、３つの前記軸平行移動要素と、前記３つの軸に各々対応する、３つの前記軸回転要素のうち２つの要素からなる複合要素を前記多面体の頂点の１つに設定する手段と、
前記複合要素が設定された頂点を含む前記多面体の頂点により前記ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成する手段と
を有することを特徴とする請求項７乃至９のいずれか一項に記載の欠陥抽出装置。
【請求項１１】
前記複合要素は、前記３つの軸平行移動要素および前記３つの軸回転要素から選択される２つの要素の組み合わせを変化させて複数用意されており、
前記複数の複合要素を含む複合要素リストを作成する手段をさらに備えることを特徴とする請求項１０に記載の欠陥抽出装置。
【請求項１２】
前記複合要素リストを作成する手段は、前記３つの軸平行移動要素および前記３つの軸回転要素のうち任意の２つの要素の組み合わせについて、前記多面体の頂点のうち、前記ネルダーミード法に係る最悪点を除く各頂点の重心を原点とし、前記任意の２つの要素を軸とした２次元のデカルト座標系における、前記任意の２つの要素の座標が該２次元のデカルト座標系の第１象限または第３象限に位置するように設定された複合要素と、前記任意の２つの要素の座標が前記２次元のデカルト座標系の第２象限または第４象限に位置するように設定された複合要素とを対で設定することを特徴とする請求項１１に記載の欠陥抽出装置。
【請求項１３】
測定対象物にスリット光を照射し、該照射により該測定対象物の表面にて反射された光を受光して、前記測定対象物の形状に対応した画像データを取得する工程と、
前記画像データに基づいて、前記測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する工程と、
前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データと、前記測定点データとに基づいて、対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ工程と、
前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価工程とを有し、
前記位置合わせ工程は、
ネルダーミード法の移動要素であって前記３つの軸の各々に沿って平行移動させる要素を軸平行移動要素とし、ネルダーミード法の回転要素であって前記３つの軸の各々を中心に回転させる要素を軸回転要素とすると、前記３つの軸に各々対応する、３つの前記軸平行移動要素と、前記３つの軸に各々対応する、３つの前記軸回転要素のうち２つの要素からなる複合要素を前記ネルダーミード法の多面体の頂点の１つに設定する工程と、
前記複合要素が設定された頂点を含む前記多面体の頂点により前記ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成する工程と
を有することを特徴とする欠陥抽出方法。
【請求項１４】
測定対象物にスリット光を照射し、該照射により該測定対象物の表面にて反射された光を受光して、前記測定対象物の形状に対応した画像データを取得する工程と、
前記画像データに基づいて、前記測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する工程と、
前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データと、前記測定点データとに基づいて、対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ工程と、
前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価工程とを有し、
前記位置合わせ工程は、前記ネルダーミード法の多面体の頂点により該ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成し、
前記位置合わせ工程は、
基準の距離に対する、測定点と該測定点に対応付けられた基準点との間の距離である対応点間距離の割合をユークリッド距離比率とすると、前記ネルダーミード法における関数値としての評価値を算出する際に用いる評価係数を、前記３つの軸の軸要素毎に算出する工程であって、前記ユークリッド距離比率が０％〜１００％に向かって前記評価係数が連続的に増加している関数により、前記３つの軸の軸要素毎に前記評価係数を算出する工程と、
前記３つの軸の軸要素毎にそれぞれ算出された評価係数により、前記多面体の頂点の各々について前記評価値を算出する工程と
を有することを特徴とする欠陥抽出方法。
【請求項１５】
コンピュータを請求項１乃至１２のいずれか一項に記載の欠陥抽出装置として機能させることを特徴とするコンピュータプログラム。
【請求項１６】
コンピュータにより読み出し可能なプログラムを格納した記憶媒体であって、請求項１５に記載のコンピュータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、欠陥抽出装置および欠陥抽出方法に関し、より詳細には、測定対象物の形状に対応する多数の測定点とこの測定点に対応する多数の基準点とを位置合わせすることで測定対象物の欠陥を抽出する欠陥抽出装置および欠陥抽出方法に関する。
【背景技術】
【０００２】
測定点群と基準点群とを位置合わせ（マッチング）することで測定対象物に対する測定結果を評価する技術が開発されている。従来、特許文献１および特許文献２にて提案されている測定対象物の物体形状を評価する技術では、対応する測定点と基準点との間の距離を逐次収束させる逐次収束処理に基づいて測定点と基準点との位置合わせを行い、該位置合わせ処理後の測定点データと基準点データとに基づいて測定対象物の形状を評価する。
【０００３】
特許文献１にて提案された物体形状評価では、測定対象物にスリット光を照射して測定対象物の表面形状に応じて湾曲する帯状の光をカメラ等により受光することにより、測定対象物の３次元断面形状に対応する測定点の全てに関する全測定点データを取得する。次いで、全測定点データからエッジ検出処理を行ってエッジ測定点群を検出し、ＩＣＰ（ｉｔｅｒａｔｉｖｅ  ｃｌｏｓｅｓｔ  ｐｏｉｎｔ）法等により、該検出されたエッジ測定点群をエッジ基準点データから読み出されたエッジ基準点群に近づける位置合わせを行い、該位置合わせにおいて、対応するエッジ基準点群にエッジ測定点群を位置合わせするための合同変換パラメータＥ（Ｒ、ｔ）（Ｒ：回転行列、ｔ：並進移動ベクトル）を求める。次いで、該求められた合同変換パラメータを用いて、全測定点データからの全測定点群を、全基準点データからの全基準点に近づける位置合わせを行う。このように、特許文献１にて提案された技術によれば、孔や切り欠きとは違って明確な実態的形状を表しているエッジにより測定点の基準点への位置合わせを行っているので、傾斜面や孔や切り欠きといったその測定誤差が大きくなるような特定の測定領域が存在する場合であっても、測定点群と基準点群との良好な位置合わせを行うことができる。
【０００４】
なお、本明細書において、「基準点」とは、測定対象物の表面全体の基準となる点であって、測定対象物の表面形状の、測定点の位置合わせのターゲットとなる点であり、欠陥が無い理想的な仕上がりを有する測定対象物（以降、“マスタ”とも呼ぶ）に対して上記スリット光による測定対象物の３次元断面形状の測定を行った場合の測定点に対応するものである。よって、基準点データは、３次元の位置情報（Ｘ、Ｙ、Ｚ）を有する。また、エッジ基準点は、測定対象物の表面に形成されているエッジに関する基準点である。
【０００５】
特許文献２にて提案された物体形状評価では、上述の特許文献１と同様にて全測定点データを取得し、該測定された全測定点データの各々について、ＩＣＰ法などにより、検出された測定点を対応する基準点に近づける位置合わせを行い、対応する基準点群に測定点群を位置合わせするための合同変換パラメータＥ（Ｒ、ｔ）を求める。そして、該求められた合同変換パラメータＥ（Ｒ、ｔ）を用いて、全測定点データからの全測定点群を、全基準点データからの全基準点に近づける位置合わせを行う。該対応付けの後に、測定点群と基準点群とのいずれかの点群においてその点群に属する各点（測定点、または基準点）に対して、隣接する点（測定点、または基準点）との間の距離（以降、“隣接する点における隣接点間距離”とも呼ぶ）に基づいて、重み係数を割り当てる。該割り当てられた重み係数は、対応する測定点と基準点との間の距離を逐次収束させる逐次収束処理（上記位置合わせ）における逐次収束評価値を求める際に用いられ、隣接する点における隣接点間距離によって逐次収束評価値に及ぼす影響度が調整される。よって、測定点群と基準点群との間の良好な合同変換を実現することができる。
【０００６】
特許文献１および特許文献２における欠陥評価においては、全基準点について、ある基準点が有する３次元の位置情報（Ｘ、Ｙ、Ｚ）と、対応する位置合わせ後の測定点の３次元の位置情報（Ｘ、Ｙ、Ｚ）とによりユークリッド距離を算出することにより、ある基準点とそれに対応する位置合わせ後の測定点との間の距離（以降、“対応点間距離”とも呼ぶ）を算出する。全基準点について、算出された対応点間距離を、対応点間距離しきい値（以降、“第１のしきい値”とも呼ぶ）と比較して、該第１のしきい値以上の対応点間距離に対応する位置合わせ後の測定点を抽出し、該抽出された測定点群を誤対応領域（欠陥に対応した測定点を含むと推定された領域）とする。該誤対応領域が抽出されると、該誤対応領域に属する測定点の各々について、隣接する測定点の間の３次元の位置情報により算出された距離（以降、“測定点の隣接点間距離”とも呼ぶ）と、予め設定された隣接点間距離しきい値（以降、“第２のしきい値”とも呼ぶ）とを比較して、第２のしきい値よりも小さい値の測定点の隣接点間距離に対応する、誤対応領域に含まれる測定点を近傍測定点として抽出することにより、誤対応領域に属する測定点の分布密度を算定する。さらに、抽出された近傍測定点の数と予め設定された近傍測定点数しきい値（以降、“第３のしきい値”とも呼ぶ）とを比較して、抽出された近傍測定点の数が第３のしきい値以上の場合、該第３のしきい値以上の近傍測定点にて規定される領域を表面欠陥として判定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−１６３８２２号公報
【特許文献２】特開２０１０−１０７３００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以上から明らかなように、測定対象物の形状に対応する測定点群を基準点群に位置合わせすることにより、測定対象物の形状を評価する方法においては、上述の特許文献１および特許文献２にて提案された方式は有力であるが、これら評価方法を用いる方式であっても、位置合わせをより正確に行うためには、まだ改善しなければならない課題が残されている。
【０００９】
上述のように、従来では、基準点群（基準点データ）と異なる測定点群（測定点データ）を欠陥として抽出する。例えば従来の、図１に示すような頂点を有する多面体を用いたネルダーミード法により合同変換パラメータを算出する場合、位置合わせにおける位置推定時に誤判定が生じることがあり、位置合わせの推定結果、測定点群が基準点群からずれた状態に対応する合同変換パラメータが生成されてしまうことがある。すなわち、装置が良好な位置合わせが行われたと判断しても、実際には位置合わせ後の測定点が基準点からズレた状態が得られてしまう。このような場合は、誤欠陥検出に繋がってしまう。
【００１０】
図２（ａ）および図２（ｂ）は、基準点群２０１からある条件で位置ズレを予め起こさせた測定点群２０３を該基準点群２０１に位置合わせする実験を説明するための図である。図２（ａ）は、位置ズレ方向α°、位置ズレ方向β°、姿勢変化量Δθｘ°、姿勢変化量Δθｙ°、姿勢変化量θｚ°、基準点群２０１の重心２０２と測定点群２０３の重心２０４との間の重心間距離Ｍｍｍの６つのパラメータをそれぞれ任意に変化させて（変化無し（パラメータ＝０）も含む）、基準点群２０３を基準点群２０１から位置ズレを起こさせた状態（位置合わせ前）を示す図である。図２（ｂ）は、図１に示す頂点を有する多面体を用いたネルダーミード法により、図２（ａ）のように予め位置ズレを起こさせた測定点群２０３を基準点群２０１に位置合わせした後の状態を示す図である。なお、図２（ｂ）において、符号２０５は、位置合わせ後の測定点群であり、符号２０６は位置合わせ後の測定点群の重心であり、距離ｙは、位置合わせ前の測定点群２０３の重心２０４と、位置合わせ後の測定点群２０５の重心２０６との間の距離であり、図２（ａ）に示す位置合わせ前から位置合わせ後まで測定点群が移動した移動量に相当する。
【００１１】
なお、図２（ｂ）においては、位置合わせ後の測定点群２０５が基準点群２０１にぴったりと位置合わせされた状態を示しているので、重心間距離Ｍと移動量ｙとは一致している。しかしながら、位置合わせ後の測定点群２０５が基準点群２０１からズレている場合は、測定点群２０３の基準点群２０１からの位置ズレ量に相当する重心間距離Ｍと、移動量ｙとは一致しないことに留意されたい。
【００１２】
上述のように、図２（ａ）、（ｂ）に示す実験は、図２（ａ）のように所定の条件で、測定点群２０３を基準点群２０１から予め位置ズレを起こさせた状態から、図２（ｂ）に示すように（ただし、位置合わせ後の測定点群２０５と基準点群２０１とは必ずしも一致しない、すなわち、両者がズレる場合もある）、図１に係るネルダーミード法を用いて位置合わせを行うものである。
【００１３】
さて、図２（ａ）、（ｂ）に示す実験を、図３（ａ）に示す３つの形状の各々に対して、下記表１に示す各位置ズレ条件にて予め位置ズレさせた状態（図２（ａ）の状態）について行った。すなわち、図３（ａ）に示す３つの形状と表１の各位置ズレ条件の組み合わせとによる２９１６パターンの各々で図２（ａ）、（ｂ）に示す実験の検証を行った。
【００１４】
なお、図３（ａ）は、実形状として３次元の形状を、形状のシンプル化のために２次元で表記した図であり、３次元形状を上面から見た２次元図（上面図）である。図３（ａ）において、形状３０１から形状３０３に向かって実形状が複雑になっている。また、図３（ｂ）は、形状３０２の３次元形状を示す斜視図である。図３（ｂ）において、符号３０２ａは測定対象物の加工面であり、符号３０２ｂは、該測定対象物の加工面に形状３０２のパターンで形成された溝の溝底である。図３（ｃ）において、符号３０２ａは、図３（ｂ）に示す形状３０２に対応する測定点群の上面図であり、符号３０２ｃは該形状３０２に対応する基準点群の上面図である。同様に、図３（ｄ）において、符号３０３ａは上記測定対象物の加工面であり、符号３０３ｂは、該測定対象物の加工面に形状３０３のパターンで形成された溝の溝底である。図３（ｅ）において、符号３０３ａは、図３（ｄ）に示す形状３０３に対応する測定点群の上面図であり、符号３０３ｃは該形状３０３に対応する基準点群の上面図である。
【００１５】
【表１】
0005867787.tif 000002
【００１６】
上述のように、合計２９１６通りの、測定点群２０３の位置ズレ基準状態（図２（ａ）の状態）から基準点群２０１に、図１に係るネルダーミード法により位置合わせ処理を行い、最大位置ズレ量を算出すると、図４に示すように、最大位置ズレ距離が１．７ｍｍと大きくなり、誤判定が多発することになる。
【００１７】
形状３０１〜３０３の各々について、重心間距離（位置ズレ量）の４つの変数０、１、２、３、４（ｍｍ）毎に、最も評価の悪かった位置合わせ結果をプロットしたグラフが図４に示されている。位置合わせを行った結果、図２（ｂ）に示すように、位置合わせ後の測定点群２０５が基準点群２０１にぴったりと位置合わせされると、図４の破線上にプロットされるはずである。しかしながら、図４に示されるように、例えば、形状３０１においては、重心間距離Ｍの各々について位置推定後に算出された移動量ｙは図４の破線からズレており、形状３０２、３０３についても、上記移動量ｙが図４の破線に近い場合もあるが、移動量ｙのほとんどが図４の破線からズレている。すなわち、図１に係る従来のネルダーミード法による位置推定を行うと、位置合わせ前の実際の位置ズレ量と、測定点群の基準点群への位置合わせ時の移動量ｙとが一致、またはほぼ一致しない場合が生じてしまい、測定後の測定点群の基準点群からの位置ズレが生じてしまう。
【００１８】
図４のように位置ズレが生じてしまう原因は主に２つある。１つ目の原因は、例えば位置ズレの形態として図５（ａ）に示すように測定点群３０２ａが基準点群３０２ｃからずれている場合に、位置ズレの評価値が局所解に陥り易いことである。形状３０２について、図１に係るネルダーミード法により、図５（ｂ）に示すようにＸ（←）方向（図５（ｂ）中の矢印方向）に移動するように位置推定された場合、図５（ａ）の方が、基準点群３０２ｃからズレた測定点群３０２ａの総面積（基準点群３０２ｃと測定点群３０２ａとが重ならない領域の総面積）が小さくなる。すなわち、図５（ｂ）と図５（ａ）とを比べると、図５（ｂ）の方が領域５０３における位置ズレの面積（基準点群３０２ｃと測定点群３０２ａとが重ならない領域の面積）が増加しており、この面積の増加分が、上記位置ズレの面積の減少分よりも大きい。その結果、位置ズレの総面積（基準点群３０２ｃと測定点群３０２ａとが重ならない領域の総面積）については、図５（ａ）の方が図５（ｂ）よりも小さくなり、測定点群は移動しない。また、図５（ｃ）に示すようにＹ（↑）方向（図５（ｃ）中の矢印方向）に移動するように位置推定した場合も、領域５０４における位置ズレの面積の増加により、図５（ａ）の方が基準点群３０２ｃからズレた測定点群３０２ａの総面積が小さくなり、測定点群は移動しない。
【００１９】
従って、図５（ａ）のように位置ズレが生じている場合、Ｘ方向およびＹ方向のいずれか一方向に移動するように位置推定されても、上述のように図５（ａ）に示す状態を最終的な位置ズレの総面積が最小の場合と判断してしまい、位置ズレの評価値が局所解に陥り易くなってしまう。図５（ｄ）は、位置ズレの平均距離と評価値との関係を示す図である。ここで、位置ズレの平均距離とは、測定点群に含まれる各測定点を所定の条件に従って全て移動させた後の各測定点と、それぞれに対応する基準点との間のそれぞれの距離の平均値である。また、符号５０１は、図５（ａ）に対応するプロットであり、符号５０２は、図５（ｂ）および図５（ｃ）に対応するプロットである。図５（ｄ）からも分かるように、図５（ｂ）および図５（ｃ）に対応するプロット５０２の方が、図５（ａ）に対応するプロット５０１よりも平均距離は小さくなっているが、上述のような領域５０３、５０４における位置ズレの面積の増加に応じて評価値が悪くなり、コンピュータといった評価値の判断部は、図５（ａ）の状態を測定点群と基準点群とが最も合わさった状態であると判断し、局所解を解と判断してしまう。よって、上記判断部が、良好に位置合わせが行われたと判断しても、実際には位置ズレが生じている状態が得られてしまうのである。
【００２０】
２つ目の原因は、例えば位置ズレの形態として図６（ａ）に示すように測定点群３０３ａが基準点群３０３ｃからずれている場合においても、位置ズレの評価値が局所解に陥り易いことである。形状３０３について、図１に係るネルダーミード法により、図６（ｂ）に示すようにＹ（↑）方向（図６（ｂ）中の矢印方向）に移動するように位置推定された場合、図６（ａ）の方が、基準点群３０３ｃからズレた測定点群３０３ａの総面積が小さくなる。すなわち、図６（ｂ）と図６（ａ）とを比べると、図６（ｂ）の方が領域６０３における位置ズレの面積が増加しており、この面積の増加分が、上記位置ズレの面積の減少分よりも大きい。その結果、位置ズレの総面積については、図６（ａ）の方が図６（ｂ）よりも小さくなり、測定点群は移動しない。
【００２１】
従って、図６（ａ）のように位置ズレが生じている場合、Ｙ方向のいずれか一方向に移動するように位置推定されても、上述のように図６（ａ）に示す状態を最終的な位置ズレの総面積の最小と判断してしまい、位置ズレの評価値が局所解に陥り易くなってしまう。図６（ｃ）は、位置ズレの平均距離と評価値との関係を示す図である。図６（ｄ）において、符号６０１は、図６（ａ）に対応するプロットであり、符号６０２は、図６（ｂ）に対応するプロットである。図６（ｃ）からも分かるように、図６（ｂ）に対応するプロット６０２の方が、図６（ａ）に対応するプロット６０１よりも平均距離は小さくなっているが、上述のような領域６０３における位置ズレの面積の増加に応じて評価値が悪くなり、上記判断部は、図６（ａ）の状態を測定点群と基準点群とが最も合わさった状態と判断し、局所解を解と判断してしまう。よって、この場合に対しても、上記判断部が良好に位置合わせが行われたと判断しても、実際には位置ズレが生じている状態が得られてしまうのである。
【００２２】
なお、図４のように位置ズレが生じてしまう原因として、図５、６を例に説明したが、該原因となる位置ズレの形態が図５（ａ）、図６（ａ）に限られると言うことではない。測定点群の形状が変われば、上記局所解が生じてしまう位置ズレの状態も変わるであろう。ここで問題としているのは、特定の位置ズレ状態が局所解を招いてしまうことでは無く、位置ズレの形態によっては、位置ズレの評価値が局所解に陥ってしまうことである。
【００２３】
このように、測定点群の基準点群からの位置ズレの形態によっては、位置ズレの平均距離が小さくなっても位置ズレの評価値が悪くなり局所解に陥ることがあり、位置合わせにおける位置推定時の誤判定を招くことがあった。
【００２４】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、凹凸（例えば、溝など）が少なくとも１つ形成された測定対象物の表面データを用い、測定点群データと基準点群データとを位置合わせする際に、測定点群と基準点群との位置ズレの状態によらず、より正確に位置推定を行うことが可能な欠陥抽出装置および欠陥抽出方法を提供することにある。
【課題を解決するための手段】
【００２５】
このような目的を達成するために、本発明の第１の態様は、欠陥抽出装置であって、測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する手段と、前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データが格納されている基準データ格納部と、対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ手段と、前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価手段とを備え、前記位置合わせ手段は、ネルダーミード法の移動要素であって前記３つの軸の各々に沿って平行移動させる要素を軸平行移動要素とし、ネルダーミード法の回転要素であって前記３つの軸の各々を中心に回転させる要素を軸回転要素とすると、前記３つの軸に各々対応する、３つの前記軸平行移動要素と、前記３つの軸に各々対応する、３つの前記軸回転要素のうち２つの要素からなる複合要素を前記ネルダーミード法の多面体の頂点の１つに設定する手段と、前記複合要素が設定された頂点を含む前記多面体の頂点により前記ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成する手段とを有することを特徴とする。
【００２６】
本発明の第２の態様は、欠陥抽出装置であって、測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する手段と、前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データが格納されている基準データ格納部と、対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ手段と、前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価手段とを備え、前記位置合わせ手段は、前記ネルダーミード法の多面体の頂点により該ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成するように構成され、前記位置合わせ手段は、基準の距離に対する、測定点と該測定点に対応付けられた基準点との間の距離である対応点間距離の割合をユークリッド距離比率とすると、前記ネルダーミード法における関数値としての評価値を算出する際に用いる評価係数を、前記３つの軸の軸要素毎に算出する手段であって、前記ユークリッド距離比率が０％〜１００％に向かって前記評価係数が連続的に増加している関数により、前記３つの軸の軸要素毎に前記評価係数を算出する手段と、前記３つの軸の軸要素毎にそれぞれ算出された評価係数により、前記多面体の頂点の各々について前記評価値を算出する手段とを有することを特徴とする。
【００２７】
本発明の第３の態様は、欠陥抽出方法であって、測定対象物にスリット光を照射し、該照射により該測定対象物の表面にて反射された光を受光して、前記測定対象物の形状に対応した画像データを取得する工程と、前記画像データに基づいて、前記測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する工程と、前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データと、前記測定点データとに基づいて、対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ工程と、前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価工程とを有し、前記位置合わせ工程は、ネルダーミード法の移動要素であって前記３つの軸の各々に沿って平行移動させる要素を軸平行移動要素とし、ネルダーミード法の回転要素であって前記３つの軸の各々を中心に回転させる要素を軸回転要素とすると、前記３つの軸に各々対応する、３つの前記軸平行移動要素と、前記３つの軸に各々対応する、３つの前記軸回転要素のうち２つの要素からなる複合要素を前記ネルダーミード法の多面体の頂点の１つに設定する工程と、前記複合要素が設定された頂点を含む前記多面体の頂点により前記ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成する工程とを有することを特徴とする。
【００２８】
本発明の第４の態様は、欠陥抽出方法であって、測定対象物にスリット光を照射し、該照射により該測定対象物の表面にて反射された光を受光して、前記測定対象物の形状に対応した画像データを取得する工程と、前記画像データに基づいて、前記測定対象物の形状に対応する多数の測定点の３次元の位置情報を含む測定点データを取得する工程と、前記測定対象物の基準形状に対応する多数の基準点の３次元の位置情報を含む基準点データと、前記測定点データとに基づいて、対応する測定点と基準点との間の距離を逐次収束させて、対応する基準点群に測定点群を位置合わせするための合同変換パラメータを生成し、該合同変換パラメータに従って前記測定点を前記基準点に対して位置合せする位置合わせ手段であって、回転、拡大、縮小のパラメータとしての四元数、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分からなる７つの要素を用いてネルダーミード法により暫定合同変換パラメータを生成し、該暫定合同変換パラメータから前記合同変換パラメータを生成する位置合わせ工程と、前記位置合せ後の測定点データと、前記基準点データとに基づいて、前記測定対象物の表面欠陥を評価する表面欠陥評価工程とを有し、前記位置合わせ工程は、前記ネルダーミード法の多面体の頂点により該ネルダーミード法を実行することで、前記暫定合同変換パラメータを生成し、前記位置合わせ工程は、基準の距離に対する、測定点と該測定点に対応付けられた基準点との間の距離である対応点間距離の割合をユークリッド距離比率とすると、前記ネルダーミード法における関数値としての評価値を算出する際に用いる評価係数を、前記３つの軸の軸要素毎に算出する工程であって、前記ユークリッド距離比率が０％〜１００％に向かって前記評価係数が連続的に増加している関数により、前記３つの軸の軸要素毎に前記評価係数を算出する工程と、前記３つの軸の軸要素毎にそれぞれ算出された評価係数により、前記多面体の頂点の各々について前記評価値を算出する工程とを有することを特徴とする。
【発明の効果】
【００２９】
本発明によれば、凹凸（例えば、溝など）が少なくとも１つ形成された測定対象物の表面データを用い、測定点群データと基準点群データとを位置合わせする際に、測定点群と基準点群との位置ズレの状態によらず、より正確に位置推定を行うことが可能となる。
【図面の簡単な説明】
【００３０】
【図１】従来の、ネルダーミード法の多面体の各頂点を説明するための図である。
【図２】基準点群からある条件で位置ズレを起こさせた測定点群を該基準点群に位置合わせする実験を説明するための図である。
【図３】実形状として単純な形状から複雑な形状までの３つの３次元形状の２次元形状を示す図、およびそれら３つのうちの２つの３次元形状を示す図である。
【図４】表１による図２に示す実験において、最も評価の悪い位置合わせによる移動量ｙと重心間距離（位置ズレ量）との関係を示す図である。
【図５】従来の、ネルダーミード法により位置合わせをした際に、位置合わせ後の測定点群が基準点群から位置ズレが生じてしまう原因の１つを説明するための図である。
【図６】従来の、ネルダーミード法により位置合わせをした際に、位置合わせ後の測定点群が基準点群から位置ズレが生じてしまう原因の１つを説明するための図である。
【図７】本発明の一実施形態に係る欠陥抽出装置の概略構成図である。
【図８】図７に示した測定装置部の構成を示す図である。
【図９】本発明の一実施形態に係る評価モジュールの機能ブロック図である。
【図１０】本発明の一実施形態に係る複合要素リストの一例を示す図である。
【図１１Ａ】本発明の一実施形態に欠陥抽出の処理手順を示すフローチャートである。
【図１１Ｂ】本発明の一実施形態に欠陥抽出の処理手順を示すフローチャートである。
【図１２】本発明の一実施形態に係るエッジ抽出の処理手順を示すフローチャートである。
【図１３】本発明の一実施形態に係るエッジによる位置合わせの処理手順を示すフローチャートである。
【図１４】本発明の一実施形態に係る複合要素リスト作成の処理手順を示すフローチャートである。
【図１５】本発明の一実施形態に係る、２つの要素を軸とするデカルト座標系を説明するための図である。
【図１６】本発明の一実施形態に係る、収束評価値の算出手順を示すフローチャートである。
【図１７】本発明の一実施形態に係る、ネルダーミード法による合同変換パラメータの算出処理を示すフローチャートである。
【図１８】本発明の一実施形態に係る、ネルダーミード法による反射処理を示すフローチャートである。
【図１９】本発明の一実施形態に係る、ネルダーミード法による拡大処理を示すフローチャートである。
【図２０】本発明の一実施形態に係る、ネルダーミード法による縮小処理を示すフローチャートである。
【図２１】本発明の一実施形態に係る、ネルダーミード法になる収縮処理を示すフローチャートである。
【図２２】本発明の一実施形態に係る、ユークリッド距離比率とバイウェイト係数との関係を示す図である。
【図２３】本発明の一実施形態に係る欠陥判定の処理手順を示すフローチャートである。
【図２４】本発明の一実施形態に係る型修正による形状違い判定の処理手順を示すフローチャートである。
【図２５】本発明の一実施形態に係る欠陥・型修正箇所判定の処理手順を示すフローチャートである。
【図２６】本発明の一実施形態に係る基準データ変更の処理手順を示すフローチャートである。
【図２７】本発明の一実施形態に係る複合要素を用いることにより、評価値が局所解に陥りにくくなることを説明するための図である。
【図２８】本発明の一実施形態に係るバイウェイト係数を用いることにより、評価値が局所解に陥りにくくなることを説明するための図である。
【図２９】本発明の一実施形態に係る位置合わせ処理を行った際の、移動量ｙと重心間距離（位置ズレ量）との関係を示す図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照して、本発明の実施の形態を説明するが、本発明は本実施形態に限定されるものではない。なお、以下で説明する図面で、同機能を有するものは同一符号を付け、その繰り返しの説明は省略することもある。
【００３２】
（第１の実施形態）
本実施形態に係る欠陥抽出装置は、表面に少なくとも１つの凹凸構造（例えば、溝）が形成された測定対象物（鋳造品）の断面（例えば、溝断面）を検査するように設定されている。図７は、本実施形態に係る欠陥抽出装置の構成を模式的に示す斜視図である。
【００３３】
図７において、欠陥抽出装置７００は、測定装置部７０１と、測定対象物７０２を保持可能であり、該測定対象物７０２を回転させるように構成された回転テーブル７０３と、測定装置部７０１に対して測定対象物７０２をＸ軸方向に相対的に移動させるように構成されたＸステージ７０４と、測定装置部７０１に対して測定対象物７０２をＹ軸方向に相対的に移動させるように構成されたＹステージ７０５と、欠陥抽出装置７００が備える各部の動作を制御し、各種データの生成、データ処理を行うコントローラ７０６とを備える。測定装置部７０１、回転テーブル７０３、Ｘステージ７０４、およびＹステージ７０５はそれぞれ、コントローラ７０６に電気的に接続されている。よって、コントローラ７０６は、測定装置部７０１、回転テーブル７０３、Ｘステージ７０４、およびＹステージ７０５にそれぞれ制御信号を送信してそれらの駆動を制御することができる。また、コントローラ７０６は、測定装置部７０１の動作を制御することができ、測定装置部７０１にて撮影された画像データを測定装置部７０１から取得することができる。
【００３４】
本実施形態では、コントローラ７０６と、欠陥抽出装置７００との上記電気的接続は、有線であっても無線であっても良い。また、ＬＡＮやＷＡＮといったネットワークを介して行っても良い。すなわち、コントローラ７０６から欠陥抽出装置７００に向かって、該欠陥抽出装置７００の所定の構成要素を制御するための制御信号を伝送でき、かつ、欠陥抽出装置７００にて取得された画像データをコントローラ７０６に伝送できればいずれの方式を用いても良いのである。
【００３５】
なお、本実施形態では、Ｘ軸方向およびＹ軸方向を測定対象物７０２の加工面の面内方向、すなわち、回転テーブル７０３の測定対象物の保持面の面内方向を規定する２次元方向（測定装置部７０１から照射されたスリット光７０７の光軸方向と垂直な２次元方向）に設定し、Ｚ軸方向を測定対象物７０２の厚さ方向（すなわち、測定装置部７０１から照射されたスリット光７０７の光軸方向に沿った方向）に設定する。
【００３６】
図８は、本実施形態に係る測定装置部７０１の構成を説明するための模式図である。  
図８において、測定装置部７０１は、スリット光７０７を照射するレーザスリット平行投光器７２０と、レーザスリット平行投光器７２０から測定対象物に対してスリット光７０７が照射され、該測定対象物にて反射された反射光を受光する、すなわち測定対象物７０２のスリット光７０７が照射されている領域を撮像する撮像部７２３とを備える。レーザスリット平行投光器７２０は、測定対象物７０２上の複数の凹凸（溝）表面を死角なく照射するためのレーザスリット投光器７２１と、シリンドリカルレンズ７２２とを有する。また、撮像部７２３は、ＣＭＯＳ素子７２７のカバーガラス裏面反射により発生するノイズ光を除去するための偏光板７２４と、画角ゼロで測定対象物７０２上の複数の凹凸（溝）表面を死角なく撮像するためのテレセントリック系レンズ７２５と、ＣＭＯＳ素子７２７を有するＣＭＯＳカメラ７２６とを有する。
【００３７】
レーザスリット平行投光器７２０はレーザ光を平行スリット状のスリット光７０７にして該スリット光７０７を測定対処物７０２に照射する。測定される断面形状は、レーザスリット平行光であるスリット光７０７が形成する面と交差する測定対象物７０２の断面である。測定対象物７０２の表面形状を反映した、スリット光７０７の測定対象物７０２の照射領域における反射光は測定装置７０１の撮像部７２３に入射し、ＣＭＯＳ素子７２７にて受光され、画像データに変換される。該画像データは、コントローラ７０６に送信される。コントローラ７０６は、撮像部７２３と測定対象物７０２との位置関係から測定対象物７０２の表面の形状データを演算し、欠陥のない基準点データとの照合により欠陥を抽出し、ＯＫ・ＮＧ判定するように構成されている。
【００３８】
本実施形態では、コントローラ７０６は、実質的にはコンピュータユニットとして構成されている。従って、コントローラ７０６は、種々の演算、制御、判別などの処理動作を実行するＣＰＵ（不図示）、このＣＰＵによって実行される制御プログラムなどを格納するＲＯＭ（不図示）、ＣＰＵの処理動作中のデータや入力データなどを一時的に格納するＲＡＭ（不図示）、および所定のデータなどを保持可能な不揮発性メモリなどを有する。また、コントローラ７０６は、光源制御部７０８と、画像メモリ７０９と、画像処理部７１０と、３次元測定データ演算部７１１と、評価モジュール７１２と、昇降機構制御部７１３と、回転テーブル制御部７１４と、Ｘステージ制御部７１５と、Ｙステージ制御部７１６とを備えている。さらに、コントローラ７０６には、所定の指令あるいはデータなどを入力するキーボードあるいは各種スイッチなどを含む入力操作部７１７、欠陥抽出装置７００の入力・設定状態などをはじめとする種々の表示を行う表示部７１８がそれぞれ接続されている。
【００３９】
光源制御部７０８は、レーザスリット投光器７２１に接続され、スリット光７０７の投光強度を制御する。ＣＭＯＳカメラ７２６からコントローラ７０６に送られてきた撮像画像（画像データ）は、画像メモリ７０９に展開される。さらに、必要に応じて、画像処理部７１０によって座標変換やレベル補正、エッジ検出などの画像処理が施され、スリット光７０７による光切断線Ｓが検出される。３次元測定データ演算部７１１は、スリット光７０７の照射点や照射角度、スリット光軸と撮像光軸とのなす角度が既知なので、画像処理部７１０で検出された光切断線Ｓの座標値から三角測量法に基づいて演算することで、光切断線Ｓ、つまり複数の直線状深溝を形成している測定対象物７０２の３次元断面形状に対応する多数の測定点データ（距離画像）を得ることができる。ここでいう距離画像とは、測定点としての画素にその三次元位置座標値を割り当てた測定データである。なお、三角測量法に基づく演算に代えて、その演算結果を格納したテーブルを用いる方法を採用してもよい。
【００４０】
Ｘステージ制御部７１５は、測定対象物７０２をＸ方向に移動させるようにＸステージ７０４を制御し、Ｙステージ制御部７１６は、測定対象物７０２をＹ方向に移動させるようにＹステージ７０５を制御する。すなわち、測定対象物７０２の全面を測定するように、Ｘステージ制御部７１５およびＹステージ制御部７１６はＸステージ７０４およびＹステージ７０５の駆動を制御する。また、昇降機構制御部７１３は、レーザスリット平行投光器７２０および撮像部７２３の、Ｚ軸方向に沿った高さ（レーザスリット平行投光器７２０および撮像部７２３の、測定対象物７０２に対する高さ）を調整するように、測定装置部７０１が有するレーザスリット平行投光器７２０および撮像部７２３の昇降機構（不図示）を制御する。
【００４１】
３次元測定データ演算部７１１によって生成された測定点データは評価モジュール７１２に転送される。評価モジュール７１２は、図９に示すように、表面評価モジュール７１２Ａと、欠陥評価モジュール７１２Ｂと、基準データ変更モジュール７１２Ｃとを有する。
【００４２】
表面評価モジュール７１２Ａは、転送されてきた測定点データに、所定の位置合わせアルゴリズムを適用して測定点群の基準点群への位置合わせを行い測定対象物の表面形状を評価する。測定データ入力部９００は、３次元測定データ演算部７１１から測定点データを取得する。基準データ格納部９０１には、測定対象物の表面形状を示す基準点データが格納されている。基準点データは、測定対象物において予め区分けされた所定ブロック毎に測定点に対応するように設定された理想的な仕上がり形状を示すデータである。また、基準データ格納部９０１には、エッジ基準点データも格納されている。点群対応付け部９０２は、上記所定ブロック単位で、対応する測定点と基準点との間の距離を逐次収束させて測定点と基準点とを位置合わせする所定の位置合わせアルゴリズムに基づいて測定点と基準点とを対応させる。この所定の位置合わせアルゴリズムとしては、例えば、基準点群の各基準点について最も近い測定点群の点を対応点とし、各対応点距離の２乗和を最小とする合同変換パラメータを推定して、逐次収束させていくＩＣＰアルゴリズム等を用いれば良い。本実施形態では、点群対応付け部９０２は、ＩＣＰアルゴリズムにより、測定点と基準点とを対応付ける形態について説明する。また、点群対応付け部９０２は、測定点と基準点との対応付け後に、各測定点または各基準点について隣接点間距離を算出する。
【００４３】
重み演算部９０３は、測定点群と基準点群とのいずれかの点群においてその点群に属する各点（測定点、または基準点）に対して、隣接する点における隣接点間距離ｄｉ（ｉ：点番号であって、１≦ｉ≦ｋ、ｋ：点の総数）に基づいて、隣接点間距離重み係数γｉを算出する。隣接点間距離重み係数γｉは、重み関数をΓとすると、γｉ＝Γ（ｄｉ２）で求められる。例えば、重み関数Γを次のような閾値関数とすると好都合である。例えば、ｄｉ２が所定の閾値以上のとき、γｉ＝０．０１とし、ｄｉ２が所定の閾値未満のとき、γｉ＝１とする。なお、上記所定の閾値を、基準点群や測定点群の特性によって適宜設定すれば良い。
【００４４】
また、重み演算部９０３は、（Ｘ、Ｙ、Ｚ）からなる３次元の軸要素であるＸ要素、Ｙ要素、Ｚ要素の各々について、下記式（１）に基づいて、ネルダーミード法の関数値としての評価値を算出するためのバイウェイト係数Ｂ（Ｎｉ）（Ｎ：Ｘ、Ｙ、Ｚ）（バイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、バイウェイト係数Ｂ（Ｚｉ））を算出する。すなわち、各ブロック中の測定点の各々に対して、Ｘ要素、Ｙ要素、Ｚ要素毎に、式（１）より、対応するバイウェイト係数が算出される。なお、本明細書において、「バイウェイト係数」とは、対応点間距離の重み係数として用いる評価係数であって、３次元のＸ要素、Ｙ要素、Ｚ要素の各々について算出される。
Ｂ（Ｎｉ）＝（1−（1−（ｕｄｉ）ｎ）ｍ）ｌ      （１）
ｍ＝ｌｏｇ（1−０．５ｎ）1−０．５1／ｌ      （２）
「ｌ、ｎ」は、評価値特性変化パラメータであり、０．０＜ｌ＜４．０、０．０＜ｎ＜４．０である。また、「ｕｄｉ」は、ユークリッド距離比率（％）である。該ユークリッド比率は、Ｘ、Ｙ、Ｚ要素の各々について各測定点毎に算出されるものであり、基準となる距離と、ある測定点に対する対応点間距離との比率である。よって、ユークリッド比率ｕｄｉ＝１００％の場合は、上述の、ｉ番目の測定点に対する対応点間距離は、上記基準となる距離と一致している。よって、重み演算部９０３は、Ｘ要素、Ｙ要素、Ｚ要素の各々に対して、１〜ｋ番目までの各々の測定点についてユークリッド距離比率ｕｄｉをそれぞれ算出し、該算出されたユークリッド距離比率ｕｄｉを、ユークリッド距離比率ｕｄが０％〜１００％に向かって評価係数が連続的に増加している関数を規定する式（１）に代入して、１〜ｋ番目の各々の測定点毎にバイウェイト係数を算出する。
【００４５】
なお、式（１）は、ネルダーミード法の関数値として用いる評価値（後述するＰ（ｓ）Ｅｖａｌ）を算出する際に用いられる評価係数（バイウェイト係数）とユークリッド距離比率との関係を示す関数であり、パラメータｎ、ｌを変えることにより、該関数の波形を変化させることができる。
【００４６】
上記式（１）の導出について説明する。  
従来では、上記対応点間距離の重み係数として、下記式（３）を用いていた。なお、式（３）では、例えば、Ｂａ＝４．５と設定する。また、式（３）中のパラメータｘ（ｍｍ）は、実距離である対応点間距離とする。
【００４７】
【数１】
0005867787.tif 000003
【００４８】
式（３）から分かるように、従来では、対応点間距離が４．５ｍｍ以上となると評価値（対応点間距離の重み係数）は飽和してしまう。これに対して、本実施形態では、従来式である式（３）から固定値要素Ｂａを取り除き、入力値ｕｄ（「Ｂａ／ｘ」はユークリッド距離比率の逆数と見なせる）、２乗項、３乗項に対してパラメータとして変数ｎ、m、ｌにすると、式（４）が得られる（ｅｖａｌ：評価係数）。  
ｅｖａｌ＝（1−（1−ｕｄｎ）ｍ）ｌ          （４）  
本実施形態では、ユークリッド距離比率ｕｄが５０％の時に評価値が最大評価値の半分となるように調整したいので、式（５）が成り立つ。  
０．５＝（1−（1−０．５ｎ）ｍ）ｌ          （５）  
これをパラメータｍについて解くと、パラメータｍは式（６）となる。  
ｍ＝ｌｏｇ（１−０．５ｎ）1−０．５1／ｌ          （６）  
このように、パラメータｍは式（６）によって決まるので、ｎ、ｌをパラメータとして扱って式（１）が得られる。すなわち、本実施形態では、収束評価の際に用いるユークリッド距離比率と評価係数（バイウェイト係数）との波形特性を可変とすることができる。従って、あるパラメータｎ、ｌで規定されるバイウェイト係数では収束していないと評価される場合、式（１）で表される波形特性を緩やかになるように変更することで、バイウェイト係数を評価値が良い方向に進むような値に変更することができる。
【００４９】
収束評価部９０４は、測定点と基準点との間の距離を逐次収束させる逐次収束処理としてネルダーミード法を用いて暫定合同変換パラメータを算出し、該暫定合同変換パラメータを用いて測定点群が基準点群に収束移動させようとする際にその逐次収束評価値を演算し、測定点群の移動が基準点群に逐次収束していくかどうかを評価する。また、収束評価部９０４は、各測定点について、対応点間距離も算出する。点群変換部９０５は、収束評価部９０４によって収束していると判定された暫定合同変換パラメータに基づいて、対応付けされた基準点群に測定点群を位置合わせするための合同変換パラメータを求め、この合同変換パラメータを用いて測定点群の位置座標を変換する。エッジ検出部９０６は、測定点データに基づいて測定点群をワーキングメモリに展開し、ソーベルフィルタなどのエッジ検出フィルタを用いて測定対象物の表面におけるエッジに対応するエッジ測定点検出して、エッジ測定点群からなるエッジ測定点データを生成する。
【００５０】
複合要素リスト作成部９０７は、所望に応じて、例えば図１０に示すような複合要素リスト１００１を作成する。該作成された複合要素リストは、コントローラ７０６が有するＲＡＭ等の記憶部に格納されれば良い。なお、複合要素リスト１００１の各複合要素には番号（複合要素リスト番号）が付されている。よって、上記ＲＡＭには、各複合要素には対応する複合要素リスト番号が関連付けて保持されている。
【００５１】
本実施形態において、「複合要素」とは、ネルダーミード法に係る多面体の頂点の１つであって、移動または回転要素を複合した要素である。すなわち、複合要素は、３つの軸平行移動要素（移動要素）および３つの軸回転要素（回転要素）のうちいずれか２つの要素（例えば、Ｘ軸平行移動およびＹ軸平行移動のような軸平行移動の組み合わせ、Ｚ軸平行移動およびＸ軸回転のような１つの軸平行移動と１つの軸回転との組み合わせ、Ｙ軸回転およびＺ軸回転のような軸回転の組み合わせ）を有するものである。本実施形態では、３つの軸平行移動要素および３つの軸回転要素から選択される２つの要素の組み合わせを変化させて複数用意されており、複合要素リスト１００１は、該用意された複数の複合要素を含むものである。なお、「軸平行移動」とは、３次元直交座標系（デカルト座標系）の３つの軸（Ｘ軸、Ｙ軸、Ｚ軸）の１つに沿った平行移動を指す。よって、例えば、Ｘ軸に沿った軸平行移動はＸ軸平行移動となる。また、「軸回転」とは、上記３つの軸（Ｘ軸、Ｙ軸、Ｚ軸）周りの回転（ある軸を回転軸とした回転）を指す。よって、例えば、Ｙ軸を回転軸として回転はＹ軸回転となる。
【００５２】
また、図１０において、「Ｐｉｔｃｈ」とは、Ｘ軸回転における回転であり、「Ｙａｗ」とは、Ｙ軸回転における回転であり、「Ｒｏｌｌ」とは、Ｚ軸回転における回転である。よって、図１０において、「＋Ｐｉｔｃｈ（−Ｒｏｌｌ）」とは、Ｘ軸の正の方向に所定の角度だけ回転すること（Ｚ軸の負の方向に所定の角度だけ回転すること）を示す。また、「＋Ｙ（−Ｘ）」とは、Ｙ軸の正の方向に所定の距離だけ平行移動すること（Ｘ軸の負の方向に所定の距離だけ平行移動すること）を示す。  
なお、図１０は、Ｐｉｔｃｈ、Ｙａｗ、Ｒｏｌｌの回転角を各々を５°とし、Ｘ軸平行移動量、Ｙ軸平行移動量、Ｚ軸平行移動量の各々を１ｍｍとした際の複合要素リストの作成例である。
【００５３】
欠陥評価モジュール７１２Ｂは、表面評価モジュール７１２Ａから出力された測定点群の基準点群への位置合わせ結果に基づいて測定対象物の表面欠陥を評価する。誤対応測定群抽出部９０８は、後述する表面欠陥判定アルゴリズムに基づいて、切粉残り、はがれ、バリといった欠陥に対応した測定点を含むと推定された領域である誤対応領域（欠陥の候補点）を抽出する。欠陥判定部９０９は、誤対応測定群抽出部９０８にて抽出された誤対応領域が欠陥であるか否かを判定する。
【００５４】
さて、測定対象物が金型製作されるような製品の場合、ロット生産の途中で金型の一部を修正した場合、金型修正後の正常に製作された製品の形状と、金型修正前の基準点データによる形状が一致しなくなり、その不一致を欠陥とみなすという問題が生じる。後述する、型修正による形状違い判定ルーチン、および欠陥・型修正箇所判定ルーチンは、この問題を解決すべく、欠陥判定部９０９によって判定された欠陥が使用された金型を部分的に修正したために生じたものであるかどうかを欠陥情報を参照して判定する機能を有する。型修正による形状違い判定部９１０は、測定対象物の金型の一部に修正がある可能性がある場合、金型の修正（以降、“型修正”とも呼ぶ）があったか否かを判定する。また、欠陥・型修正箇所判定部９１１は、測定対象物の金型の一部に修正がある可能性がある場合、型修正があったか否かを判定し、その判定対象となる測定対象物に欠陥があるか否かを判定する。
【００５５】
なお、表面評価モジュール７１２Ａおよび欠陥評価モジュール７１２Ｂは、それぞれの評価を測定対象物において予め区分けされた所定ブロック単位で行う。
【００５６】
基準データ変更モジュール７１２Ｃは所定の測定対象物数ごとに、欠陥評価モジュール７１２ＢからＯＫと判定された測定点データについて形状をチェックし、必要に応じて基準点データを変更する。測定対象物が金型製作されるような製品の場合、所定数の製品が製作されると磨耗等によって金型に寸法変動が生じる。このような寸法変動は、製品が正常に製作されているにもかかわらず、その測定点データと基準データとの間のずれが生じることがある。このずれを欠陥と判定することを避けるためには、そのようなずれが生じる領域の基準データを正常に製作された製品の測定点データによって修正することが好ましい。この目的のために設けられた基準データ変更モジュール７１２Ｃは、図９に示すように、測定データ入力部９１２と、測定点データ形状チェック部９１３と、基準データ変更部９１４とを有する。測定データ入力部９１２は、表面評価モジュール７１２Ａで生成された測定点データと製品設計データである形状データとを受け取り、内部処理可能な形式に変換して測定点データ形状チェック部９１３に転送する。測定点データ形状チェック部９１３は、測定点データと製品設計データとを比較して製品が設計寸法の許容範囲であると評価すると、基準データ変更部９１４が基準データ格納部９０１にアクセスして、この測定点データで基準点データを変更する。
【００５７】
上述したように構成された欠陥抽出装置７００を用いた、測定対象物の検査手順を図１１Ａ、１１Ｂに示された計測フローチャートを用いて以下に説明する。例えばコントローラ７０６が有するＣＰＵによって実行される処理である。従って、処理の制御は、コントローラ７０６が有するＣＰＵが、コントローラ７０６が有するＲＯＭまたは記憶装置に格納された図１１Ａ、１１ＢのＳ２〜Ｓ２９に示す処理を行うプログラムを読み出し、該プログラムを実行することによって行われる。  
ここでの測定対象物は、長方形のプレート体の表面に多数の直線状の深溝が形成されたもので、その測定領域は４００ｍｍ×３００ｍｍ程度である。この測定領域は１００ｍｍ×１５ｍｍの測定ブロックに区分けされている。１回のＸ軸方向走査で４つの測定ブロックを走査して、走査ピッチと撮像解像度によって規定される測定単位での直線状深溝の３次元断面形状位置を表す測定点データを取得して、測定ブロック毎に区分けしてメモリに格納する。1回のＸ軸方向走査が完了する毎に所定ピッチでＹ軸方向移動を行い、次の測定ブロックに対するＸ軸方向走査を逆方向で行う。このような、Ｘ軸方向走査とＹ軸方向移動を繰り返すことで、全測定領域おける直線状深溝の測定点データを取得する。さらに、測定死角の発生を考慮して、測定対象物を９０度回転させた状態で、再度同じ測定領域における測定を行う。なお、取得した測定点データを用いた測定対象物の測定結果に対する評価は、つまり測定対象物に対する検査は、各ブロック単位で行われ、各ブロック単位での検査結果をまとめて、最終的な総合判定が行われる。
【００５８】
本実施形態に係る欠陥抽出を行うために、測定対象物７０２を回転テーブル７０３上にセットされる（Ｓ１）。図示されていない測定開始ボタンが操作されると（Ｓ２Ｙ（Ｙｅｓ）分岐）、測定が開始される。まず、光源制御部７０８は、レーザスリット投光器７２１を制御して、スリット光７０７照射させる（Ｓ３）。Ｘステージ制御部７１５、Ｙステージ制御部７１６、および回転テーブル制御部７１４は、測定開始ポイントである１番目の測定ブロックの左エッジがスリット光７０７によって照射されるように、Ｘステージ７０４及びＹステージ７０５、回転テーブル７０３を動作させる（Ｓ４）。Ｘステージ制御部７１４は、Ｘステージ７０４を制御して、該Ｘステージ７０４を正方向に定速移動させながらＸ軸方向走査を行う（Ｓ５）。それとともに、ＣＭＯＳカメラ７２６は、測定対象物７０２を撮影することにより得られた画像データをコントローラ７０６に送信する。すなわち、コントローラ７０６は、ＣＭＯＳカメラ７２６から画像データを取得し、画像メモリ７０９に転送する（Ｓ６）。このＸ軸方向走査と画像データの取得は、スリット光７０７が測定対象物７０２の側端に達するまで行われる。
【００５９】
スリット光７０７が測定対象物７０２の側端に達すると（Ｓ７Ｙ分岐）、Ｘステージ制御部７１５は、Ｘステージ７０４の移動を停止させて、Ｘ軸方向走査を停止する（Ｓ８）。Ｘ軸方向走査が停止すると、画像処理部７１０は、転送され画像メモリ７０９に展開された画像データを処理し、その光切断線画素位置情報（スリット光７０７による光切断線に沿った各点（測定点に対応）の、画像データベースの座標情報）を生成する（Ｓ９）。この光切断線画素位置情報から、３次元測定データ演算部７１１は、画素位置と、その画素位置から三角測量法に基づいて演算された３次元位置との関係を格納したテーブルを利用して、光切断線画素位置情報に基づき深溝の三次元座標値を読み出し、この値を測定点データとして各測定点に対応付けられたメモリアドレスに転送する（Ｓ１０）。もちろん、テーブルを用いずに、その都度、光切断線画素位置情報を用いて三角測量法に基づく演算を行い、深溝の三次元座標値を求めて測定点データとしてもよい。コントローラ７０６は、測定点データから測定対象の縁（エッジ）を抽出するエッジ抽出ルーチンを実行する(Ｓ１１)。
【００６０】
このエッジ抽出ルーチンは図１２に示すように、エッジ検出部９０６は、測定点データ全点を読み出し(Ｓ１００)、測定ブロック全領域で欠落部（高さ情報がない領域）と、高さ情報のある境界を抽出し、測定下限値以下の指定値をセットする(Ｓ１０１)。次いで、エッジ検出部９０６は、高さ方向の微分フィルタ（例えばソーベル微分フィルタ等）により、測定ブロック全領域で微分値を算出し（Ｓ１０２）、ある閾値以上の微分値をエッジとしてメモリに保存する（Ｓ１０３）。落部（高さ情報がない）と高さ情報のある境界に測定下限値以下の指定値をセットしているため、対象物の外周や貫通穴などの底面がないところでもエッジを抽出できる。
【００６１】
本実施形態ではエッジも抽出しているので、基準点に関するデータは、同じ対象物なら、全点データである基準点データと、対象物の縁（エッジ）のみを抽出したエッジ基準点データとの２種類を持つ。続いて、同じ対象物の追加基準データが無い場合（つまり型修正後の基準点データが無い場合）(Ｓ１２Ｙ分岐)、表面評価モジュール７１２Ａは、所定の位置合わせアルゴリズムを用いて測定点のエッジデータと基準点のエッジデータ（エッジ基準点データ）との位置合わせを行う位置合わせルーチンを実行する（Ｓ１３）。
【００６２】
この位置合わせルーチンでは、図１３に示すように、測定データ入力部９００は、Ｓ１１にて抽出されたエッジの測定点データを読み出し（Ｓ２００）、さらにその測定点群に対応するエッジ基準点データを基準データ格納部９０１から読み出す（Ｓ２０１）。
【００６３】
複合要素リスト作成部９０７は、複合要素リストの作成ルーチンを実行する（Ｓ２０２）。本実施形態では、ネルダーミード法により合同変換パラメータを生成するので、ネルダーミード法における移動推定要素を組み合わせた複合要素リスト１００１を用意する。但し、クォータニオン（四元数）で回転を表現する場合、後述する、ネルダーミード法での反射、拡大、縮小、収縮時の位置推定計算上、拡大、縮小成分も含まれるので、ネルダーミード法に関する頂点として拡大・縮小用の頂点は特に必要はない。
【００６４】
上記複合要素リストの作成ルーチンでは、図１４に示すように、複合要素作成部９０７は、ネルダーミード法による位置合わせの推定要素として軸平行移動が必要か否かを判断する（Ｓ２０２１）。本実施形態では、入力操作部７１８により、ユーザが予め軸平行移動が必要か否かに関する指示を入力している。すなわち、複合要素リスト作成部９０７は、Ｓ２０２の前に、表示部７１９に、軸平行移動が必要か否かの指示をユーザに入力させる表示（例えば、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ））を行わせ、ユーザに軸平行移動が必要か否かの指示を行わせる。ユーザが入力操作部７１８を操作して該指示を行うと、コントローラ７０６は該ユーザ入力を受け付け、コントローラ７０６が有するＲＡＭにその情報を格納する。複合要素リスト作成部９０７は、Ｓ２０２１において、ＲＡＭに格納された、ユーザより入力された軸平行移動が必要か否かの指示を読み出し、該指示が軸平行移動を必要とする内容であれば、推定要素の１つである複合要素として軸平行移動が必要であると判断し、Ｓ２０２２に進み、該指示が軸平行移動を必要としない内容であれば、該複合要素として軸平行移動が必要無いと判断し、Ｓ２０２５に進む。
【００６５】
複合要素リスト作成部９０７は、軸平行移動の要素に関する複合要素群を複合要素リスト１００１に追加する（Ｓ２０２２）。本実施形態では、軸平行移動の要素に関する複合要素群（雛形）がコントローラ７０６が有する不揮発性メモリに予め保持されている。また、図１０に示すようなネルダーミード法の各初期頂点Ｐ０〜Ｐ７（ただし、Ｐ４は除く）のクォータニオン（回転・拡大・縮小）を表す四元数（ｑ０、ｑ１、ｑ２、ｑ３）、および３次元のデカルト座標系を構成する３つの軸に沿った３つの平行移動成分（ｘ、ｙ、ｚ）の初期値も、上記不揮発性メモリに予め保持されている。よって、Ｓ２０２１にて軸平行移動が必要であると判断されると、複合要素リスト作成部９０７は、上記不揮発性メモリから各初期値を有する各初期頂点Ｐ０〜Ｐ７（ただし、Ｐ４は除く）、および軸平行移動に関する複合要素群を読み出し、該読み出された軸平行移動に関する複合要素群を頂点Ｐ４に係る複合要素リスト１００１に追加する。
【００６６】
複合要素作成部９０７は、ネルダーミード法による位置合わせの推定要素として軸回転、または軸回転・拡大が必要か否かを判断する（Ｓ２０２３）。本実施形態では、入力操作部７１８により、ユーザが予め軸回転、または軸回転・拡大が必要か否かに関する指示を入力している。よって、コントローラ７０６は該指示を受け付けると、コントローラ７０６が有するＲＡＭにその情報を格納する。複合要素リスト作成部９０７は、Ｓ２０２３において、ＲＡＭに格納された、ユーザより入力された軸回転、または軸回転・拡大が必要か否かに関する指示を読み出し、該軸回転、または軸回転・拡大を必要とする内容であれば、推定要素の１つである複合要素として軸回転、または軸回転・拡大が必要であると判断し、Ｓ２０２４に進み、該指示が軸回転、または軸回転・拡大を必要としない内容であれば、該複合要素として軸平行移動が必要無いと判断し、Ｓ２０２５に進む。
【００６７】
複合要素リスト作成部９０７は、軸回転、および軸回転・拡大の要素に関する複合要素群を複合要素リスト１００１に追加する（Ｓ２０２４）。本実施形態では、軸回転、および軸回転・拡大の要素に関する複合要素群（雛形）がコントローラ７０６が有する不揮発性メモリに予め保持されている。複合要素リスト作成部９０７は、Ｓ２０２２を経ている場合は、上記不揮発性メモリから軸回転、および軸回転・拡大の要素に関する複合要素群を読み出し、該読み出された軸回転、および軸回転・拡大の要素に関する複合要素群をＳ２０２２にて軸平行移動に関する複合要素群が追加された複合要素リスト１００１に追加する。一方、Ｓ２０２２を経ていない場合は、複合要素リスト作成部９０７は、上記不揮発性メモリから各初期値を有する各初期頂点Ｐ０〜Ｐ７（ただし、Ｐ４は除く）、および軸平行移動に関する複合要素群を読み出し、該読み出された軸回転、および軸回転・拡大の要素に関する複合要素群を頂点Ｐ４に係る複合要素リスト１００１に追加する。
【００６８】
なお、複合要素リストの回転、拡大・縮小のパラメータである四元数（ｑ０、ｑ１、ｑ２、ｑ３）、および３次元の平行移動成分（ｘ、ｙ、ｚ）に所定の数値が設定されていることが重要であり、その数値自体は位置合わせ時間に影響するのみであり、位置合わせの精度に影響を与えるものではない。よって、上記各パラメータに設定される数値を任意に設定すれば良い。
【００６９】
複合要素リスト作成部９０７は、ネルダーミード法の初期頂点のＰ４に、作成された複合要素リスト１００１の１つを設定する（Ｓ２０２５）。このとき、複合要素リスト作成部９０７は、設定された複合要素に対応する複合要素リスト番号をコントローラ７０６が有するＲＡＭに保存する。ただし、Ｓ２０２３およびＳ２０２５の双方ともＮ分岐であった場合は複合要素リスト１００１は作成されていない。よって、この場合は、複合要素リスト作成部９０７は、図１に示すような従来のネルダーミード法の初期頂点Ｐ０〜Ｐ７を設定値として設定する。よって、図１に示すような従来のネルダーミード法の各初期頂点Ｐ０〜Ｐ７のクォータニオン（回転・拡大・縮小）を表す四元数（ｑ０、ｑ１、ｑ２、ｑ３）、および平行移動成分（ｘ、ｙ、ｚ）の初期値も、上記不揮発性メモリに予め保持されている。
【００７０】
さて、本実施形態では、ネルダーミード法に係る重心Ｐcentroid（後述する）に、３つの軸平行移動および３つの軸回転のうち２つの要素を軸とするデカルト座標系における象限の概念を適用して複合要素リスト１００１を作成することにより、位置合わせによる評価値を局所解により陥らないようにすることができる（詳細は後述する）。上記「２つの要素を軸とするデカルト座標系」は、上記ネルダーミード法に係る重心Ｐcentroidを原点１５００とした、ある軸Ｅと、該軸Ｅに直交する軸Ｆとによって規定された２次元のデカルト座標系である。また、上記「２つの要素を軸とするデカルト座標系」は、Ｅ座標およびＦ座標共に正である領域の第１象限１５０１と、Ｅ座標が負であり、Ｆ座標が正である領域の第２象限１５０２と、Ｅ座標およびＦ座標共に負である領域の第３象限１５０３と、Ｅ座標が正であり、Ｆ座標が負である領域の第４象限１５０４とを有する。
【００７１】
ここで、複合要素になり得る、３つの軸平行移動（Ｘ軸平行移動（以降、単に“Ｘ”と表記することもある）、Ｙ軸平行移動（以降、単に“Ｙ”と表記することもある）、Ｚ軸平行移動（以降、単に“Ｚ”と表記することもある））、および３つの軸回転（Ｘ軸回転（Ｐｉｔｃｈ）、Ｙ軸回転（Ｙａｗ）、Ｚ軸回転（Ｒｏｌｌ））のうち任意の２つの要素をそれぞれ軸Ｅ、軸Ｆに割り当てる場合を考える。このとき、デカルト座標系の軸の組み合わせ（Ｅ、Ｆ）は、（Ｘ、Ｙ）、（Ｙ、Ｚ）、（Ｘ、Ｚ）、（Ｐｉｔｃｈ、ｘ）、（Ｐｉｔｃｈ、Ｙ）、（Ｐｉｔｃｈ、Ｚ）、（Ｙａｗ、Ｘ）、（Ｙａｗ、Ｙ）、（Ｙａｗ、Ｚ）、（Ｒｏｌｌ、Ｘ）、（Ｒｏｌｌ、Ｙ）、（Ｒｏｌｌ、Ｚ）、（Ｐｉｔｃｈ、Ｙａｗ）、（Ｙａｗ、Ｒｏｌｌ）、（Ｐｉｔｃｈ、Ｒｏｌｌ）の１５種類となる。例えば、（Ｅ、Ｆ）＝（Ｘ、Ｙ）であり、複合要素（＋Ｘ、＋Ｙ）（Ｘ軸の正の方向に所定量（＋Ｘ）だけ移動させ、Ｙ軸の正の方向に所定量（＋Ｙ）だけ移動させる場合）の場合、デカルト座標系（Ｘ、Ｙ）における座標は（＋Ｘ、＋Ｙ）となり、この複合要素は該デカルト座標系の第１象限１５０１にあることになる。また、複合要素（−Ｘ、＋Ｙ）（Ｘ軸の正の方向に所定量（−Ｘ）だけ移動させ、Ｙ軸の正の方向に所定量（＋Ｙ）だけ移動させる場合）、デカルト座標系（Ｘ、Ｙ）における座標は（−Ｘ、＋Ｙ）となり、この複合要素は該デカルト座標系の第２象限１５０２にあることになる。一方、例えば、（Ｅ、Ｆ）＝（Ｙａｗ、Ｒｏｌｌ）であり、複合要素（−Ｙａｗ、−Ｒｏｌｌ）（Ｙ軸の負の方向に所定の回転角（−Ｙａｗ）だけ回転させ、Ｚ軸の負の方向に所定の回転角（−Ｒｏｌｌ）だけ回転させる場合）、デカルト座標系（Ｙａｗ、Ｒｏｌｌ）における座標は（−Ｙａｗ、−Ｒｏｌｌ）となり、この複合要素は該デカルト座標系の第３象限１５０３にあることになる。また、複合要素（＋Ｙａｗ、−Ｒｏｌｌ）（Ｙ軸の正の方向に所定の回転角（＋Ｙａｗ）だけ回転させ、Ｚ軸の負の方向に所定の回転角（−Ｒｏｌｌ）だけ回転させる場合）、デカルト座標系（Ｙａｗ、Ｒｏｌｌ）における座標は（＋Ｙａｗ、−Ｒｏｌｌ）となり、この複合要素は該デカルト座標系の第４象限１５０４にあることになる。
【００７２】
本実施形態では、複合要素リストに加えられる複合要素として、ある２つの要素の組み合わせについて、例えば、（Ｐ４：＋Ｘ、＋Ｙ）および（Ｐ４：＋Ｘ、−Ｙ）、（Ｐ４：＋Ｒｏｌｌ、＋Ｐｉｔｃｈ）および（Ｐ４：＋Ｒｏｌｌ、−Ｐｉｔｃｈ）、（Ｐ４：＋Ｚ、＋Ｙａｗ）および（Ｐ４：＋Ｚ、−Ｙａｗ）というように、上記２つの要素の組み合わせにより規定されるデカルト座標系における座標が第１象限１５０１にある場合と第４象限１５０４にある場合との２種類を設定することが好ましい。このように設定することにより、ある２つの要素からなる複合要素についてネルダーミード法により反射、拡大、縮小、または収縮を行っても、収束性が対角に並ぶ象限（第１象限１５０１および第３象限１５０３、または第２象限１５０２および第４象限１５０４）に偏ることを低減することができる。
【００７３】
なお、本実施形態では、ある２つの要素からなる複合要素を設定するに当たり、該２つの要素の組み合わせにより規定されるデカルト座標系における座標が第１象限１５０１にある場合に対応する複合要素と第４象限１５０４にある場合に対応する複合要素との２種類を用意することが本質ではない。本実施形態では、２つの移動または回転の要素からなる複合要素に対してネルダーミード法による反射、拡大、縮小、および収縮の少なくとも１つを行う場合、上述の２つの要素の組み合わせにより規定されるデカルト座標系において対角に位置する２つの象限に収束性を偏らせることを低減することが重要である。
【００７４】
ネルダーミード法における反射、拡大、縮小、および収縮では、頂点の各要素に対して一定の係数が掛かってしまう。よって、２つの要素からなる複合要素に対して反射、拡大、縮小、および収縮のいずれか１つを行うと、ある象限にある複合要素に対応する座標は、ネルダーミード法に係る重心Ｐcentroidである原点１５００に対して対角に位置する象限に位置するか、または上記ある象限内に位置することになる。すなわち、例えば第１象限１５０１（第３象限１５０３）にある複合要素に係る座標は、第１象限１５０１または第３象限１５０３に位置することになり、また例えば第２象限１５０２（第４象限１５０４）にある複合要素に係る座標は、第２象限１５０２または第４象限１５０４に位置することになる。このように、２つの要素から構成されるデカルト座標系において、頂点の２要素が全て正の数か負の数であれば収束性が第１象限１５０１と第３象限１５０３に偏り、片方要素が正の数でもう１つの要素が負の数であれば、第２象限１５０２と第４象限１５０４に偏る。
【００７５】
従って、上記デカルト座標系の第１象限１５０１または第３象限１５０３に位置する、ある２つの要素を複合要素として用いるのであれば、第２象限１５０２または第４象限１５０４に位置する上記ある２つの要素を複合要素として加えることによって、ネルダーミード法の位置推定方向に幅ができ、評価値が局所解に陥いってしまうことをより低減することができる。すなわち、上記３つの軸平行移動および３つの軸回転のうち任意の２つの要素の組み合わせについて、該２つの要素からなるデカルト座標系における、該２つの要素の座標が第１象限または第３象限に位置するように設定された複合要素と、上記２つの要素の座標が第２象限または第４象限に位置するように設定された複合要素とを対で設定する。よって、本実施形態では、上記任意の２つの要素については、ネルダーミード法により反射、拡大、縮小、および収縮の少なくとも１つを行っても、上記デカルト座標系の第１〜第４象限の全てを考慮した評価を行うことができる。
【００７６】
また、上記３の軸平行移動および３つの軸回転の各要素の複合を考えられる全ての組み合わせ（組み合わせ数を２つに限らない）、かつそれら組み合わせの各々について、全象限に対応するように複合した要素をリスト化して頂点Ｐ４に適用すると、ネルダーミード法に係る重心が平均化されてしまい局所解に陥りやすくなる可能性がある。よって、図１０に示すように、移動に必要と考えられる２つの要素を複合させた複合要素をリスト化しておき、ネルダーミード法の解が収束する毎に、リストを切り替える等するとネルダーミード法に係る重心が変動し局所解に陥らなくなる。
【００７７】
点群対応付け部９０２は、ＩＣＰアルゴリズムにより最も小さい対応点間距離を有するように測定点と基準点を対応付ける（Ｓ２０３）。また、点群対応付け部９０２は、各測定点の間、または各基準点の間の距離である隣接点間距離を算出する。
【００７８】
重み演算部９０３は、隣接点間距離重み係数γｉを算出する（Ｓ２０４）。すなわち、重み演算部９０３は、各測定点間の隣接点間距離ｄｉを算出し、該隣接点間距離ｄｉに基づいて、各測定点に対する隣接点間距離重み係数γｉを取得する。なお、隣接点間距離ｄｉは、固定値であるので、評価処理がループされて２回目以降の評価の際には隣接点間距離ｄｉ算出を省略しても良い。また、重み演算部９０３は、バイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、バイウェイト係数Ｂ（Ｚｉ）を算出する。なお、重み演算部９０３は、これから処理される評価処理Ｓ２０５が初回か否かに応じて（次のステップであるＳ２０５が所定の位置合わせにおける１番目の収束評価算出ルーチンであるか否かに応じて）、バイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、バイウェイト係数Ｂ（Ｚｉ）の算出処理を変える。
【００７９】
（ｉ）これから処理される評価処理Ｓ２０５が初回である場合（次に行われる評価処理Ｓ２０５のＳ２０４１にてＹ分岐の場合）  
重み演算部９０３は、各測定点について、パラメータｎ、ｌが共に初期値に設定された式（１）にユークリッド距離比率ｕｄ＝１００（％）を代入して、Ｘ要素のバイウェイト係数Ｂ（Ｘｉ）、Ｙ要素のバイウェイト係数Ｂ（Ｙｉ）、およびＺ要素のバイウェイト係数Ｂ（Ｚｉ）を算出する。本実施形態では、パラメータｎの初期値を「３」とし、パラメータｌの初期値を「１」とする。
【００８０】
これから処理される評価処理Ｓ２０５が初回では無い場合（次に行われる評価処理Ｓ２０５のＳ２０４１にてＮ分岐の場合）  
重み演算部９０３は、後述するＳ２０４１０またはＳ２０４１１にて変更されたユークリッド距離比率の最大値となる距離（基準の距離）に対する、各測定点毎の対応点間距離（各測定点に固有の対応点間距離）の割合を算出して各測定点に対応するユークリッド距離比率ｕｄを算出する。なお、本処理を行っているということは、後述するＳ２０４６を一度行っているので、前回の、ネルダーミード法による暫定合同変換パラメータの算出ルーチン（Ｓ２０４５）により得られた暫定合同変換パラメータにより移動する場合の対応点間距離は算出されているので、ユークリッド距離比率ｕｄの算出時にはこれら対応点間距離を用いれば良い。重み演算部９０３は、該算出されたユークリッド距離比率ｕｄを式（１）に代入することにより、バイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、およびバイウェイト係数Ｂ（Ｚｉ）を算出する。なお、２回目以降の算出ルーチン（Ｓ２０４５）を行う場合は、後述するＳ２０４８にて式（１）で規定される波形特性が緩やかになるようにパラメータｎ、ｌが変更されている場合もある。
【００８１】
収束評価部９０４は、図１６に示す収束評価値算出ルーチンを実行する。収束評価部９０４は、今回の収束評価値算出ルーチンは、位置合わせ処理における初回か否かを判定する（Ｓ２０４１）。上記初回と判断された場合はＳ２０４２に進み、上記初回ではないと判断された場合はＳ２０４４に進む。
【００８２】
収束評価部９０４は、初回の位置推定時には、ネルダーミード法に係る頂点Ｐ０〜Ｐ７の基本移動量（四元数（ｑ０、ｑ１、ｑ２、ｑ３）、および平行移動成分（ｘ、ｙ、ｚ））を初期化する（Ｓ２０４２）。一方、収束評価部９０４は、収束条件でのリトライ時(Ｓ２０６やＳ２１１からのリトライ時)からの復帰時で、前回の収束時に評価値が悪化したか否かを判定する（Ｓ２０４３）。すなわち、収束評価部９０４は、コントローラ７０６が有するＲＡＭに保存されている前回の、各測定点に対する対応点間距離の平均値、および前々回の、各測定点に対する対応点間距離の平均値を読み出し、前回の対応点間距離の平均値が、前々回の対応点間距離の平均値よりも大きくなっていたら上記評価値が悪化したと判定し、Ｓ２０４４に進み、前回の対応点間距離の平均値が、前々回の対応点間距離の平均値以下となっていたら上記評価値が悪化していないと判定し、Ｓ２０４５に進む。なお、Ｓ２０６またはＳ２１１からの１回目のリトライ時には前々回の対応点間距離の平均値は算出されていない。従って、該１回目のリトライ時の場合、収束評価部９０４は、自動的にＳ２０４５に進む。
【００８３】
収束評価部９０４は、ネルダーミード法に係る頂点のうち、複合要素に関する頂点Ｐ４については、複合要素リストにおいて現在設定されている複合要素を、その次の複合要素に変更し、頂点Ｐ０〜Ｐ３、Ｐ５〜Ｐ７についてはそれぞれ初期値に初期化する（Ｓ２０４４）。
【００８４】
収束評価部９０４は、図１７に示す、ネルダーミード法による暫定合同変換パラメータを算出するルーチンを実行する（Ｓ２０４５）。収束評価部９０４は、ネルダーミード法に測定点データ点群を読み込み（Ｓ２０４５１）、次に基準点データ点群を読み込む(Ｓ２０４５２)。
【００８５】
収束評価部９０４は、各頂点Ｐ０〜Ｐ７に対して、Ｓ２０４にて算出されたバイウェイト係数を掛けたＩＣＰ法評価値で最良点から最悪点まで評価計算を行い暫定的な格付けを行なう(Ｓ２０４５３)。すなわち、収束評価部９０４は、下記式（７）を用いて各頂点Ｐ０〜Ｐ７毎に評価値Ｐ（ｓ）Ｅｖａｌ（ｓ：ネルダーミード法に係る頂点番号、０〜７）を算出する。
【００８６】
【数２】
0005867787.tif 000004
【００８７】
ここで、記号ｉは点群番号であり、記号ｋは点群数である。また、隣接点間距離ｄｉは、Ｓ２０３にて算出されている。
【００８８】
【数３】
0005867787.tif 000005
【００８９】
上記Ｘａ（ｉ）、Ｙａ（ｉ）、Ｚａ（ｉ）はそれぞれ、各測定点に各頂点パラメータが反映されたものである。すなわち、各頂点により得られる合同変換パラメータに従って測定点を移動させ、該移動後の各測定点のＸ要素、Ｙ要素、およびＺ要素がそれぞれ、Ｘａ（ｉ）、Ｙａ（ｉ）、Ｚａ（ｉ）となる。上記Ｘｂ（ｉ）、Ｙｂ（ｉ）、Ｚｂ（ｉ）はそれぞれ、測定点に対応付けられた基準点である。よって、収束評価部９０４は、ネルダーミード法に係る頂点Ｐ０について、該頂点Ｐ０から得られる合同変換パラメータにより各測定点を移動させる。これにより、移動後の測定点の３次元座標として（Ｘａ（ｉ）、Ｙａ（ｉ）、Ｚａ（ｉ））が得られる。次いで、収束評価部９０４は、上記頂点Ｐ０の合同変換パラメータが反映されたＸａ（ｉ）、Ｙａ（ｉ）、Ｚａ（ｉ）、およびＸｂ（ｉ）、Ｙｂ（ｉ）、Ｚｂ（ｉ）を式（８）に代入して、頂点Ｐ０に対するｅｕｃｌｉｄ（Ｘｉ）、ｅｕｃｌｉｄ（Ｙｉ）、ｅｕｃｌｉｄ（Ｚｉ）をそれぞれ算出し、それらを式（７）に代入して頂点Ｐ０に係る評価値Ｐ（０）Ｅｖａｌを算出することになる。収束評価部９０４は、同様にして、評価値Ｐ（１）Ｅｖａｌ〜Ｐ（７）Ｅｖａｌを算出する。
【００９０】
一方、バイウェイト係数については、Ｓ２０４にて算出されたバイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、およびバイウェイト係数Ｂ（Ｚｉ）を用いる。しかしながら、頂点Ｐ４に設定する複合要素を変更した場合（Ｓ２０４４を経てＳ２０４５を行う場合）、Ｓ２０４４にて頂点Ｐ４として設定された複合要素のとっては、Ｓ２０４５は初めての処理となる。従って、この場合、収束評価部９０４は、Ｓ２０４にて算出されたバイウェイト係数を破棄し、それと共に、重み演算部９０３は、各測定点について、パラメータｎ、ｌが共に初期値に設定された式（１）にユークリッド距離比率ｕｄ＝１００（％）を代入して、バイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、およびバイウェイト係数Ｂ（Ｚｉ）を算出し、収束評価部９０４は、Ｓ２０４５にて算出されたバイウェイト係数を用いて評価値Ｐ（１）Ｅｖａｌ〜Ｐ（７）Ｅｖａｌを算出する。
【００９１】
収束評価部９０４は、Ｓ２０４または本ステップにより算出された、バイウェイト係数Ｂ（Ｘｉ）、バイウェイト係数Ｂ（Ｙｉ）、およびバイウェイト係数Ｂ（Ｚｉ）、ならびに本ステップにより算出された、ｅｕｃｌｉｄ（Ｘｉ）、ｅｕｃｌｉｄ（Ｙｉ）、およびｅｕｃｌｉｄ（Ｚｉ）により、頂点Ｐ０〜Ｐ７の各々に対して評価値を算出する。上記各頂点Ｐ０〜Ｐ７に対する評価値Ｐ（０）Ｅｖａｌ〜Ｐ（７）Ｅｖａｌが算出されると、収束評価部９０４は、各評価値を比較し、最も評価値が小さい頂点を最良点Ｐbestと設定し、最も評価値が大きい頂点を最悪点Ｐworstと設定し、２番目に評価値が大きい頂点を最悪点の次点と設定する。
【００９２】
本実施形態では、Ｓ２０４５におけるＳ２０４５４以降の処理については、従来のネルダーミード法による合同変換パラメータの算出処理と同様に行う。  
収束評価部９０４は、図１８に示す、ネルダーミード法の反射ルーチンを実行する。収束評価部９０４は、頂点Ｐ０〜Ｐ７の中で暫定最悪点Ｐworstを選定する（Ｓ２０４５４１）。Ｓ２０４５４１にて選定された暫定最悪点Ｐworstの除いた各頂点の重心Ｐcentroidを求める(Ｓ２０４５４２)。収束評価部９０４は、反射係数α（本実施形態では、α＝１）を用いて、暫定最悪点最悪点Ｐworstの反射点Ｐreflectionを算出し、該反射点Ｐreflectionについて式（７）により評価値を算出する（Ｓ２０４５４３）。
【００９３】
収束評価部９０４は、Ｓ２０４５４３にて算出された反射点Ｐreflectionの評価値と、最悪点Ｐworstの評価値との比較を行う(Ｓ２０４５１９)。収束評価部９０４は、最悪点Ｐworstより反射点Ｐreflectionの評価値がよければ(Ｓ２０４５１９ Ｙ分岐)、最悪点Ｐworstを反射点Ｐreflectionに置き換える(Ｓ２０４５２０)。ここで、収束評価部９０４は、Ｓ２０４５１９にてＮ分岐の場合は最悪点ＰworstをＰｗとし、Ｓ２０４５２０にて最悪点から反射点に置き換えたネルダーミードの頂点ＰreflectionをＰｗとする。次いで、収束評価部９０４は、Ｐｗの評価値と最良点Ｐworstの評価値とを比較する（Ｓ２０４５５）。Ｐｗの方が最良点よりも評価値が良ければ(Ｓ２０４５５ Ｙ分岐)、収束評価部９０４は、図１９に示すネルダーミード法の拡大ルーチンを行う（Ｓ２０４５６）。
【００９４】
上記拡大ルーチンにおいて、収束評価部９０４は、Ｓ２０４５４にて得られた反射点(Ｐｗ)の評価値を保持しておき(Ｓ２０４５６１)、拡大係数γ（本実施形態では、γ＝２）を用いて、反射点(Ｐｗ)による拡大点Ｐexpansionを計算する(Ｓ２０４５６２)。次いで、収束評価部９０４は、拡大点Ｐexpansionについて式（７）により評価値を算出する（Ｓ２０４５６３）。次いで、収束評価部９０４は、Ｓ２０４５６３にて取得された拡大点Ｐexpansionの評価値と、反射点(Ｐｗ)の評価値とを比較する(Ｓ２０４５７)。拡大点Ｐexpansionの方が反射点Ｐｗよりも評価値が良ければ(Ｓ２０４５７ Ｙ分岐)、収束評価部９０４は、最悪点Ｐworstを拡大点Ｐexpansionに置き換え(Ｓ２０４５８)、Ｓ０２４５１１０に進む。拡大点Ｐexpansionの方が反射点Ｐｗよりも評価値が悪ければ(Ｓ２０４５７ Ｎ分岐)、収束評価部９０４は、Ｓ０２４５１１０に進む。収束評価部９０４は、ネルダーミード法が収束したかを判定する(Ｓ２０４５１１０)。収束していなければＳ２０４５３へ処理を再帰する。
【００９５】
頂点Ｐｗの評価値が最良点Ｐbestの評価値より良くなかった場合(Ｓ２０４５５ Ｎ分岐)は、収束評価部９０４は、頂点Ｐｗの評価値を最悪点の次点の評価値と比較する(Ｓ２０４５１１)。頂点Ｐｗの評価値が最悪点の次点より良かった場合は(Ｓ２０４５１１ Ｎ分岐)、収束評価部９０４は、ネルダーミード法が収束したか判定を行なう(Ｓ２０４５１１０)。
【００９６】
頂点Ｐｗの評価値が最悪点の次点より悪い場合は(Ｓ２０４５１１ Ｙ分岐)、収束評価部９０４は、図２０に示すネルダーミード法の縮小ルーチンを行う(Ｓ２０４５１４)。該縮小ルーチンにおいて、収束評価部９０４は、頂点Ｐｗの評価値（Ｐｗが反射点である場合は、Ｓ２０４５４にて算出された評価値、またＰｗが最悪点Ｐworstである場合は、Ｓ２０４５３にて算出された評価値）を保持しておき(Ｓ２０４５１４１)、縮小係数ρ（本実施形態では、ρ＝０．５）を用いて、Ｐｗの縮小点Ｐcontractionを計算し、該縮小点Ｐcontractionについて式（７）により評価値を算出する（Ｓ２０４５１４２）。次いで、収束評価部９０４は、Ｓ２０４５１４１にて保持されたＰｗの評価値と、Ｓ２０４５１４２にて算出されたＰcontractionの評価値とを比較する（Ｓ２０４５１４３）。Ｐｗの評価値より縮小点Ｐcontractionの評価値の方が良ければ(Ｓ２０４５１４３ Ｙ分岐)、頂点Ｐｗを縮小点Ｐcontractionに置き換える（Ｓ２０４５１４４）。次いで、収束評価部９０４は、収束評価部９０４は、Ｓ２０４５１４１にて取得されたＰｗの評価値と、最悪点の次点の評価値とを比較する(Ｓ２０４５１３)。上記頂点Ｐｗの評価値が最悪点の次点の評価値より良ければ(Ｓ２０４５１３ Ｙ分岐)、収束評価部９０４は、ネルダーミード法が収束したか判定処理を行う(Ｓ２０４５１１０)。
【００９７】
頂点Ｐｗの評価値が最悪点の次点の評価値より悪い場合(Ｓ２０４５１３ Ｎ分岐)、収束評価部９０４は、図２１に示すネルダーミード法の収縮ルーチンを行う(Ｓ２０４５１６)。該収縮ルーチンにおいて、収束評価部９０４は、収縮係数σ（本実施形態では、σ＝０．５）を用いて、最良点以外の全頂点をそれぞれ、この次点での暫定最良点Ｐbestに向かって収縮させる（Ｓ２０４５１６１１）。
【００９８】
Ｓ２０４５１１０においてネルダーミード法の収束条件を満たした場合(Ｓ２０４５１１０)は、収束評価部９０４は、その時のＰbestを暫定合同変換パラメータとして設定する。
【００９９】
上記暫定合同変換パラメータが取得されると、Ｓ２０４６において、収束評価部９０４は、各測定点を、該暫定合同変換パラメータによって暫定移動させる。次いで、収束評価部９０４は、暫定移動された測定点の各々について、該暫定移動された測定点と、対応付けられた基準点との間の３次元の対応点間距離を算出し、各測定点の対応点間距離の平均値を算出し、該算出された対応点間距離および対応点間距離の平均値をコントローラ７０６が有するＲＡＭに格納する。なお、暫定合同変換パラメータが算出された順番に、対応点間距離の平均値をＲＡＭに格納することが好ましい。このようにすることで、前々回の対応点間距離と前回の対応点間距離とがコントローラ７０６において保持されているので、Ｓ２０４３の比較を容易に行うことができる。また、収束評価部９０４は、対応付けした基準点と、暫定移動された測定点との間のユークリッド距離をＸ要素、Ｙ要素、Ｚ要素毎に算出する。Ｘ要素のユークリッド距離ＵＸｉ、Ｙ要素のユークリッド距離ＵＹｉ、およびＺ要素のユークリッド距離ＵＺｉは式（９）で表される。
【０１００】
【数４】
0005867787.tif 000006
【０１０１】
式（９）において、ｘ１ｉは暫定移動された測定点のＸ要素であり、ｙ１ｉは暫定移動された測定点のＹ要素であり、ｚ１ｉは暫定移動された測定点のＺ要素であり、ｘ２ｉは暫定移動された測定点に対応付けられた基準点のＸ要素であり、ｙ２ｉは暫定移動された測定点に対応付けられた基準点のＹ要素であり、ｚ２ｉは暫定移動された測定点に対応付けられた基準点のＺ要素である。
【０１０２】
収束評価部９０４は、式（９）にて算出されたＸ要素のユークリッド距離ＵＸｉ、Ｙ要素のユークリッド距離ＵＹｉ、およびＺ要素のユークリッド距離ＵＺｉから、Ｘ、Ｙ、Ｚ要素の各々について、ユークリッド距離の平均値（平均距離）を算出し、ＲＡＭに保存する。また、Ｘ、Ｙ、Ｚ要素の各々について、ユークリッド距離の最大値（最大距離）を抽出し、ＲＡＭに保存する。
【０１０３】
次に、収束評価部９０４は、複合頂点リストが一周しても、位置合わせに失敗しているかを判定する(Ｓ２０４７)。すなわち、収束評価部９０４は、現在設定されている複合要素の複合要素リスト番号を参照し、該現在設定されている複合要素リスト番号が、複合要素数と一致している場合は、複合要素リスト１００１の全複合要素について暫定合同変換パラメータを算出しても評価値が収束していないと判断しＳ２０４８に進む。また、該現在設定されている複合要素リスト番号が、複合要素数よりも小さい場合は、まだ複合要素リストの全てについて評価が行われてないと判断し、Ｓ２０４９に進む。
【０１０４】
位置合わせに失敗していると判断される場合(Ｓ２０４７ Ｙ分岐)、収束評価部９０４は、式（１）で示す波形特性の傾きを小さくする(Ｓ２０４８)。このＳ２０４８において、例えば、収束評価部９０４は、現在の式（１）で表される関数の波形を緩やかにするパラメータｎ、ｌの値を入力するようにユーザに促す。このような促す方法の例として、収束評価部９０４は、式（１）のパラメータｎ、ｌの値をユーザに入力させる画面を表示部７１８に表示させる。ユーザは、入力操作部７１７を介して、所望のパラメータｎ、ｌを入力すると、収束評価部９０４は該ユーザ入力に基づいて、式（１）のパラメータｎ、ｌをユーザが入力した値に変更する。図２２において、波形特性２２０１は、パラメータｎ、ｌが共に所期値（ｎ＝３、ｌ＝１）に設定されたときの式（１）に関するグラフであり、波形特性２２０２は、パラメータｎ＝２、ｌ＝１に設定されたときの式（１）に関するグラフである。本実施形態では、式（１）で表される波形特性のユークリッド距離比率が５０％の時の傾斜（このときの接線の傾き）が緩やかになるようにパラメータｎ、ｌを決定することが好ましい。図２２においては、波形特性２２０２の方が波形特性２２０１よりも緩やかである。従って、例えば、現在パラメータｎ＝３、ｌ＝１が設定されている場合（波形特性２２０１が得られている場合）、ユーザによりパラメータｎ＝２、ｌ＝１が入力されることにより、収束評価部９０４は、バイウェイト推定法に関する波形特性（式（１）の関数の波形）を波形特性２２０１よりも緩やかな波形特性２２０２に変更する。  
なお、Ｓ２０４７にて失敗されていると判断されても、Ｓ２０４８にて、次の評価に備えてバイウェイト推定に関する波形を可変としているだけであり、複合要素リストの最後の複合要素に対して算出された暫定合同変換パラメータにより収束する場合も有り得ることは言うまでもない。
【０１０５】
上記波形を緩やかにするパラメータの変更をコントローラ７０６が自動で行っても良い。この場合は、例えば、波形が緩やかになるようなパラメータｎ、ｌの組み合わせを、波形が急峻から緩やかに向かって複数用意し、それらをテーブル化してコントローラ７０６が有する不揮発性メモリ等に予め保持させておく。収束評価部９０４は、Ｓ２０４８に進むと、上記テーブルを参照して、現在のパラメータｎ、ｌの組み合わせよりも波形が緩やかになるパラメータｎ、ｌの組み合わせを抽出し、該抽出されたパラメータに変更すれば良い。
【０１０６】
次いで、収束評価部９０４は、現在設定されている複合要素について、ネルダーミード法による暫定合同変換パラメータの算出処理（Ｓ２０４５）が初回であるか否かを判定する（Ｓ２０４９）。ある複合要素に対する初回の評価であれば、Ｓ２０４１０に進み、ある複合要素に対する初回の評価では無いのであれば、Ｓ２０４１１に進む。
【０１０７】
ある複合要素に対する初回の評価であれば(Ｓ２０４９ Ｙ分岐)、収束評価部９０４は、本実施形態に係るバイウェイト推定のユークリッド距離比率の最大値（ユークリッド距離の基準の距離）を、Ｘ要素、Ｙ要素、およびＺ要素の各々について、要素別（Ｘ要素、Ｙ要素、Ｚ要素）の最大距離以上に設定する（Ｓ２０４１０）。すなわち、収束評価部９０４は、Ｓ２０４６にて取得したＸ要素のユークリッド距離ＵＸの最大値を読み出し、式（１）のユークリッド距離比率ｕｄの１００％となる距離（上記基準の距離）を、該読み出されたＸ要素のユークリッド距離ＵＸの最大値に設定する。同様に、収束評価部９０４は、Ｙ要素、およびＺ要素についても同様の設定を行う。このように設定することにより、式（１）におけるユークリッド距離比率において１００％の距離を越える所期の位置ズレがあった場合に、測定形状に応じて起こり得る局所解に陥ることを防止、ないしは低減することができる。
【０１０８】
複合要素パラメータの更新初回の評価でなければ(Ｓ２０４９ Ｎ分岐)、収束評価部９０４は、本実施形態に係るバイウェイト推定のユークリッド距離比率の最大値（ユークリッド距離の基準の距離）を、Ｘ要素、Ｙ要素、およびＺ要素の各々について、要素別(Ｘ要素、Ｙ要素、Ｚ要素)の平均距離以上から最大距離未満の所定の値に設定する(Ｓ２０４１１)。すなわち、収束評価部９０４は、Ｓ２０４６にて取得したＸ要素のユークリッド距離ＵＸの平均値（平均距離）、およびＸ要素のユークリッド距離ＵＸの最大値（最大距離）を読み出し、式（１）のユークリッド距離比率ｕｄの１００％となる距離（上記基準の距離）を、上記平均値以上、最大値未満の所定の値に設定する。同様に、収束評価部９０４は、Ｙ要素、およびＺ要素についても同様の設定を行う。このように設定することにより、収束するのにかかる繰り返し数を減らすことができ、時間的に速く収束させることができる。
【０１０９】
収束評価部９０４は、算出された逐次収束評価値に基づいてこの対応付けられた対応点群が逐次収束しているかどうかチェックする（Ｓ２０６）。収束しない場合（Ｓ２０６  Ｎ分岐）、ステップＳ２０３に戻り再度測定点と基準点との対応付けを行う。収束する場合（Ｓ２０６Ｙ分岐）、点群変換部９０５は、Ｓ２０５にて取得された暫定合同変換パラメータを合同変換パラメータとして設定する（Ｓ２０７）。
【０１１０】
次いで、点群変換部９０５は、生成された合同変換パラメータを用いてエッジ測定点群の位置座標を変換し、エッジ測定点群を移動させ（Ｓ２０８）、該合同変換パラメータを用いて測定点群の位置座標を変換し、全点測定群を移動させる（Ｓ２０９）。表面評価モジュール７１２Ａは、移動後のエッジ測定点群とエッジ基準点群とから平均対応距離を算出し（Ｓ２１０）、算出された平均対応距離と予め設定された閾値を比較して、終了条件が満たされたかどうかをチェックする（Ｓ２１１）。なお、このチェックステップにおいて、上限の繰り返し回数を付加的に設定しておくと好都合である。終了条件が満たされていない場合（Ｓ２１１Ｎ分岐）、ステップＳ２０３に戻り、移動後の測定点と基準点との対応付けを行う。終了条件が満たされた場合（Ｓ２１１Ｙ分岐）、この位置合わせルーチンを終了する。
【０１１１】
位置合わせルーチンが終了すると、欠陥評価モジュール５１２Ｂが表面欠陥領域の検出を行う欠陥判定ルーチンを実行する（Ｓ１４）。この欠陥判定ルーチンでは、図２３に示すように、まず、誤対応測定群抽出部９０８は、対応点間距離閾値を用いて、全点基準点に対して３次元対応点間距離（Ｘ,Ｙ,Ｚ）が閾値以上となる測定点の集合体（特定測定点群）を誤対応領域として仮抽出する処理を実行する(Ｓ４００）。欠陥判定部９０９は、誤対応領域が抽出されたか否かを判定し、誤対応領域が抽出されなかった場合（Ｓ４０１Ｎ分岐）、この欠陥判定ルーチンを終了する。誤対応領域が抽出された場合（Ｓ４０１Ｙ分岐）、欠陥判定部９０９は、誤対応領域に含まれている測定点間の隣接点間距離が予め設定されている隣接点間距離閾値以下となる集合を一塊りとして、塊ごとに番号を付けるラベリングを行い（Ｓ４０２）、各ラベルの塊ごとに特徴量（重心、等価楕円体長軸長、等価楕円体長軸角度、フェレ径等）を算出する（Ｓ４０３）。欠陥判定部９０９は、その特徴量が設定値よりも大きい場合（Ｓ４０４  Ｙ分岐）、欠陥と判断し、その情報をメモリに記録する（Ｓ４０５）。また、欠陥判定部９０９は、特徴量が設定値以下である場合（Ｓ４０４Ｎ分岐）、欠陥と判定せずその情報を記録しない。
【０１１２】
欠陥判定ルーチンが終了すると、欠陥評価モジュール７１２Ｂは、型修正による形状違い判定ルーチンを実行する(Ｓ１５)。この判定ルーチンを図２４に示す。金型の型修正による形状違いは、型修正後の異なる測定対象物同士で同じ位置・同じ場所に発生することを利用するものである。型修正による形状違い判定部９１０は、前回の測定対象物の欠陥の特徴量を読み出し（Ｓ５００）、今回の測定対象物の欠陥の特徴量を読み出す（Ｓ５０１）。型修正による形状違い判定部９１０は、前回と今回の欠陥の特徴量（重心、等価楕円長軸長、等価楕円長軸角度、フェレ径等）差がある範囲内にあれば（Ｓ５０２  Ｙ分岐）、型修正箇所有りと判定し（Ｓ５０３）、ある範囲外（Ｓ５０２Ｎ分岐）なら型修正箇所無しと判定する（Ｓ５０４）。
【０１１３】
型修正による形状違い判定ルーチンが終了し、型修正箇所がある場合（Ｓ１６Ｙ分岐）には、欠陥評価モジュール７１２Ｂは、その計測ブロックの基準値データ（エッジ基準点および全基準点）を新たに型修正後の基準値データとして追加し(Ｓ１７)、型修正箇所が無ければ（Ｓ１６Ｎ分岐）追加しない。
【０１１４】
図１１ＡのＳ１２にもどり、同じ測定対象物の追加基準データが有る場合（つまり型修正後の基準値データが有る場合）(Ｓ１２Ｎ分岐)、表面評価モジュール７１２Ａは、上述した位置合わせアルゴリズムを用いて、測定点のエッジデータと型修正前のエッジ基準点データ、および測定点のエッジデータと型修正後のエッジ基準点データとの位置合わせを行う位置合わせルーチンを実行する（Ｓ１８）。
【０１１５】
位置合わせルーチンが終了すると、欠陥評価モジュール７１２Ｂは、金型の型修正前と型修正後の測定対象物が混在しても、基準点データからずれた測定点群が欠陥なのか、あるいは型修正箇所なのかを判定する欠陥・型修正箇所判定ルーチンを実行する（Ｓ１９）。この判定ルーチンは図２５に示すように、誤対応測定群抽出部９０８は、型修正前の基準値データから、対応点間距離閾値を用いて、対応点間距離が閾値以上となる測定点の集合体（特定測定点群）を誤対応領域として抽出する処理を実行する（Ｓ７００）。誤対応領域が抽出されなかった場合（Ｓ７０１  Ｎ分岐）、ステップＳ７０６へ飛ぶ。誤対応領域が抽出された場合（Ｓ７０１Ｙ分岐）、欠陥判定部９０９は、誤対応領域に含まれている測定点間の隣接点間距離が予め設定されている隣接点間距離しきい値以下となる集合を一塊りとして、塊ごとに番号を付けるラベリングを行い（Ｓ７０２）、各ラベルの塊ごとに特徴量（重心、等価楕円長軸長、等価楕円長軸角度、フェレ径等）を算出する（Ｓ７０３）。欠陥判定部９０９は、その特徴量が設定値よりも大きい場合（Ｓ７０４Ｙ分岐）、欠陥と判断し、その情報を第１の欠陥情報としてメモリに記録する（Ｓ７０５）。また、欠陥判定部９０９は、その特徴量が設定値以下である場合（Ｓ７０４Ｎ分岐）、欠陥ではないと判定し、その情報を記録しない。
【０１１６】
次に、誤対応測定群抽出部９０８は、対応点間距離閾値を用いて、対応点間距離が閾値以上となる測定点の集合体（特定測定点群）を誤対応領域として抽出する処理を実行する（Ｓ７０６）。誤対応領域が抽出されなかった場合（Ｓ７０７Ｎ分岐）、ステップＳ７１２へ飛ぶ。誤対応領域が抽出された場合（Ｓ７０７Ｙ分岐）、結果判定部９０９は、誤対応領域に含まれている測定点間の隣接点間距離が予め設定されている隣接点間距離しきい値以下となる集合を一塊りとして、塊ごとに番号を付けるラベリングを行い（Ｓ７０８）、各ラベルの塊ごとに特徴量（重心、等価楕円長軸長、等価楕円長軸角度、フェレ径等）を算出する（Ｓ７０９）。欠陥判定部９０９は、その特徴量が設定値よりも大きい場合（Ｓ７１０Ｙ分岐）、欠陥と判断し、その情報を第２の欠陥情報としてメモリに記録する（Ｓ７１１）。また、欠陥判定部９０９は、その特徴量が設定値以下である場合（Ｓ７１０  Ｎ分岐）、その情報を記録しない。
【０１１７】
次に、Ｓ７００〜Ｓ７１１にて抽出されたそれぞれの欠陥が、金型の型修正による形状違いにより検出されたものではなく、本当の欠陥なら、型修正前と後の両方の基準値データからの評価により欠陥として抽出されると考えられる。欠陥・型修正箇所判定部９１１は、第１の欠陥情報および第２の欠陥情報に基づいて、第１の欠陥情報および第２の欠陥情報に欠陥として共通の領域がある場合（Ｓ７１２Ｙ分岐）、それら共通の領域を欠陥として判定し（Ｓ７１４）、欠陥として共通の領域を有さない場合は欠陥ではない判断する（Ｓ７１２Ｎ分岐）。次に、欠陥・型修正箇所判定部９１１は、Ｓ７００〜Ｓ７１１にて抽出された欠陥が型修正前の基準値データからのみを検出した場合は（Ｓ７１３Ｙ分岐）、本当は欠陥でなく、型修正箇所であると判定し、第１の欠陥情報のみの欠陥を、型修正箇所として判定し、型修正後の測定対象物数をカウントアップする（Ｓ７１４）。第２の欠陥情報のみもしくは欠陥が無い場合は（Ｓ７１３Ｎ分岐）このルーチンを終了する。
【０１１８】
欠陥・型修正箇所判定ルーチンが終了すると、欠陥評価モジュール７１２Ｂは、型修正後の測定対象物数が設定値以下か否かを判定して、型修正前と型修正後の測定対象物が混在しているか否かを判定する（Ｓ２０）。型修正後の測定対象物数が設定値以下なら型修正前後対象物混載中であると判断（Ｓ２０Ｙ分岐）し、ステップＳ２３に飛ぶ。一方、型修正後の対象物数が設定値より大きい場合は型修正前の対象物はないと判断し（Ｓ２０Ｎ分岐）し、欠陥評価モジュール７１２Ｂは、型修正前の基準値データを消去し（Ｓ２１）、型修正後の対象物のカウントをリセットする（Ｓ２２）。
【０１１９】
なお、ステップＳ８でＸ軸方向走査を停止すると、ステップＳ９からＳ２２を行うと同時に、Ｙステージ制御部７１６は、Ｙステージ１１を動作させ、所定のピッチでＹ軸方向のシフトが行われる（Ｓ２３）。ステップＳ９からＳ２２の処理とシフト処理の両方が終わると、コントローラ７０６が有するＣＰＵは、Ｘ軸方向走査がまだ残っているかどうかのチェックを行う（Ｓ２４）。
【０１２０】
ステップＳ２４のチェックでＸ軸方向走査がまだ残っている場合（Ｓ２４Ｙ分岐）、Ｘステージ制御部７１５は、Ｘ軸方向走査の方向を反転し（Ｓ２５）、ステップＳ５に戻ってＸ軸方向走査を行う。ステップＳ２４のチェックでＸ軸方向走査が残っていない場合（Ｓ２４Ｎ分岐）、光源制御部７０８は、レーザスリット投光器７２１をＯＦＦするように制御して、スリット光７０７の照射を停止する（Ｓ２６）。さらに、コントローラ７０６が有するＣＰＵは、測定死角の発生に伴う測定不能箇所の測定データを補完するために、回転テーブル７０３を９０度回転させる必要があるかどうかをチェックする（Ｓ２７）。回転テーブル７０３を９０度回転させる必要がある場合は（Ｓ２７Ｙ分岐）、回転テーブル制御部７１４は、回転テーブル７０３が９０度回転するように回転テーブル７０３の動作を制御する。次いで、再びステップＳ３に戻り、この測定を繰り返す。なお、この９０度の追加回転では不十分な場合には、さらに９０度毎のあと２回までの回転（最初の姿勢位置に対する１８０度位置と２７０度位置）が行われる。回転テーブル７０３を９０度回転させる必要がない場合は（Ｓ２７Ｎ分岐）、コントローラ７０６のＣＰＵは、全ての測定ブロックにおける欠陥評価結果に基づいて総合判定を行う（Ｓ２８）。この総合判定において、測定対象物の全体を示す全体図の上で欠陥の位置をマーキングした欠陥位置表示図をモニタ又はプリントを通じて出力することができる。
【０１２１】
次に、型摩耗による形状違いによる誤判定を防止するため、基準データ変更部９１４は、基準値データを時々変更する基準データ変更ルーチンを実行する（Ｓ２９）。この判定ルーチンは図２６に示すように、基準データ変更部９１４は、測定対象物数をカウントし（Ｓ８００）、設定数以下なら（Ｓ８０１Ｎ分岐）、このルーチンを終了し、設定数よりも大きかったら（Ｓ８０１Ｙ分岐）次ステップへ進む。次に、基準データ変更部９１４は、その測定対象物がＮＧ（欠陥有り）なら、このルーチンを終了し、ＯＫなら、測定点データから測定対象物が図面寸法どおりできているか形状をチェックする(Ｓ８０３)。基準データ変更部９１４は、形状チェックがＮＧなら（Ｓ８０４Ｎ分岐）このルーチンを終了し、ＯＫなら（Ｓ８０４Ｙ分岐）、その測定点データを基準値データとして変更する。
【０１２２】
上述のように、本実施形態では、位置合わせの手段として、最小値算出法であるネルダーミード法を用いて解として暫定合同変換パラメータを生成し、評価算術法としてＩＣＰ法を用いる。ネルダーミード法は、多面体の頂点毎に評価を行い、最小評価となる頂点を選択する。このとき、図１に示す従来のように、ネルダーミード法の多面体の頂点として、１つの移動または回転要素を設定する場合において、図５（ａ）に示すように例えば２方向（Ｘ軸、Ｙ軸方向）に測定点群３０２ａが基準点群３０２ｃからズレている場合、図５（ｄ）に示すように、評価値が局所解に陥り易い。
【０１２３】
しかしながら、本実施形態では、上記ネルダーミード法の多面体の頂点の１つを、３つの軸平行移動および３つの軸回転のうち２つからなる複合要素としている。従って、２つの移動または回転要素を複合的に評価することができ、評価値が局所解に陥ることを防止、ないしは低減することができる。すなわち、本実施形態では、図５（ａ）の位置ズレ状態について、Ｘ（←）方向への移動およびＹ（↑）方向への移動を複合して位置推定を行うことができるので、図２７（ａ）に示すように、測定点群３０２ａを基準点群３０２ｃにぴったりと合せることができる。また、図２７（ｂ）は、平均距離と評価値との関係を示す図であり、符号２７０１は上記従来のネルダーミード法による評価値と平均距離との関係を示すグラフであり、符号２７０２は、本実施形態の複合要素を用いたネルダーミード法による評価値と平均距離との関係を示すグラフである。従来では、グラフ２７０１に示されるように、平均距離を小さくしようとすると、平均距離を小さくする方向に山が存在するので、局所解に陥ってしまう。しかしながら、本実施形態では、グラフ２７０２に示すように、平均距離を小さくする方向に局所解を生じさせてしまう程の山が無い。よって、平均距離が小さくなる方に進んでも、評価値を局所解に陥らせないようにすることができる。
【０１２４】
また、本実施形態では、移動または回転要素の所定の２つの要素からなる複合要素を、種々の、２つの要素の組み合わせを種々のパターンで複数用意し、すなわち、複合要素をリスト化し、ある複合要素に評価した際に収束していないと判断される場合は、ネルダーミード法の複合要素に関する頂点Ｐ４を他の複合要素に変更している。従って、現在設定されている複合要素では収束しないと判断されても、他の複合要素により評価することができるので、測定対象物の形状が変化しても、その形状に適切な複合要素を適宜選択することができる。従って、測定対象物の形状によらず、評価値が局所解に陥ることを低減することができる。
【０１２５】
本実施形態では、上述のように、少なくとも１つの複合要素を用いることにより、評価値が局所解に陥ってしまうことを低減することができるが、ネルダーミード法の、反射処理（Ｓ２０４５４）、拡大処理（Ｓ２０４５６）、縮小処理（Ｓ２０４５１４）、および収縮処理（Ｓ２０４５１６）においては、頂点の各要素に対して一定に係数が掛かってしまう。よって、上述したように、３つの軸平行移動の要素および３つの軸回転の要素のうち２つの要素から構成されるデカルト座標系において、収束性の所定の象限への偏りが生じてしまうことがある。しかしながら、本実施形態では、上記３つの軸平行移動および３つの軸回転のうち任意の２つの要素の組み合わせについて、ネルダーミード法に係る重心Ｐcentroidを原点とした該２つの要素からなるデカルト座標系における、該２つの要素の座標が第１象限または第３象限に位置するように設定された複合要素と、上記２つの要素の座標が第２象限または第４象限に位置するように設定された複合要素とを対で設定する。従って、上記デカルト座標系の全象限についてネルダーミード法の評価を行うことができ、評価値が局所解に陥る可能性を低減することができる。
【０１２６】
さて、本実施形態では、位置を推定する評価値として、ＩＣＰ評価法にＭ推定法であるバイウェイト推定法を用いる。バイウェイト推定法にＩＣＰ評価法の基である、測定点データ点に対応する基準点データ点群中の最近傍点までのユークリッド距離の三次元要素、Ｘ要素、Ｙ要素、Ｚ要素に対して、それぞれ平均距離と最大距離を算出し、Ｘ要素、Ｙ要素、およびＺ要素の各々に対して、バイウェイト係数を掛けてＩＣＰの評価法に代入する。ここで、従来のように式（３）を用いて対応点間距離の重み係数を算出すると、最大距離を４．５ｍｍに設定した場合は、実距離が４．５ｍｍより短くなる方向は評価値が単調減少し、長くなる方向は一定の評価値となる。すなわち、対応点間距離の重み係数の曲線は、実距離が４．５ｍｍで一定の評価値に飽和してしまう。従って、測定対象物の形状が図６（ａ）に示すように複雑な場合、図６（ｃ）に示すように、評価値は局所解に陥ってしまう。
【０１２７】
これに対して、本実施形態では、ネルダーミード法の評価に用いる評価値Ｐ（ｓ）Ｅｖａｌを算出するための評価係数（バイウェイト係数）を算出する際に、ユークリッド距離比率を用い、ユークリッド距離比率が０％〜１００％に向かって評価係数が連続的に増加している関数を用いることにより、ネルダーミード法の評価に用いる評価値の算出に用いる係数から飽和要素を除外することができるので、評価値が局所解に陥ることを低減することができる。
【０１２８】
また、本実施形態では、同一の複合要素に対する評価の２回目以降において、Ｘ〜Ｚ要素のバイウェイト係数を求める際に、Ｘ〜Ｚ要素（座標要素）の各々について、ユークリッド距離比率の１００％に対応する距離を、対応する座標要素のユークリッド距離の最大値（最大距離）ではなく、対応する座標要素のユークリッド距離の平均値（平均距離）以上、該最大距離未満（例えば、平均距離）とする。従って、例えば、図６（ａ）に示すような複雑な形状の位置ズレの位置合わせにおいて、収束評価部９０４は、図２８（ａ）に示すように、測定点群３０３ａから一点鎖線で囲まれた領域２８０３を除いた状態で評価する。例えば、ユークリッド距離比率の１００％に対応する距離を平均距離に設定すると、実際の距離とは関係無く収束評価部９０４は、平均距離よりも大きく最大距離未満のユークリッド距離を全て該平均距離と見なして評価することになる。よって、収束評価部９０４は、図２８（ａ）の位置ズレの総面積の方が、ズレ状態である図６（ａ）の位置ズレの総面積よりも小さいと解釈し、局所解でる図６（ａ）を解とせず、評価を続行することができる。よって、図２８（ｂ）に示すように、測定点群３０３ａを基準点群３０３ｃにぴったりと合せることができる。
【０１２９】
図２７（ｂ）は、平均距離と評価値との関係を示す図であり、符号２８０１は上記従来のネルダーミード法による評価値と平均距離との関係を示すグラフであり、符号２７０２は、本実施形態のバイウェイト係数を用いたネルダーミード法による評価値と平均距離との関係を示すグラフである。従来では、グラフ２８０１に示されるように、平均距離を小さくしようとすると、平均距離を小さくする方向に山が存在するので、局所解に陥ってしまう。しかしながら、本実施形態では、グラフ２８０２に示すように、平均距離を小さくする方向に局所解を生じさせてしまう程の山を小さくすることができる。よって、平均距離が小さくなる方に進んでも、評価値を局所解に陥らせないようにすることができる。
【０１３０】
また、従来では、バイウェイト法による評価値の算出においては式（３）のように固定曲線を用いており、評価値と実距離との関係は画一的であり局所解に陥ることがあった。しかしながら、本実施形態では、ユークリッド距離比率が０％〜１００％に向かって評価係数が連続的に増加している関数（バイウェイト係数を求めるための式（１）にて規定される関数）の波形形状を可変としている。従って、上記関数をある波形にして評価したが、収束しない場合は、波形の形状を変化させることにより、評価値が局所解に陥ることを低減することができる。すなわち、式（１）（図２２参照）のように曲線を変動するように計算式化しておき、式（１）のパラメータｎ、ｌを適宜変更することによって、バイウェイト係数を求めるための関数の波形特性を変化させることができる。波形特性は、ユークリッド距離比率５０％を境に傾きが大きいほどユークリッド距離に対して評価値が位置ズレ量に対して過大評価になるが、１０％付近では反対に小さくなり、位置ズレ量を過少評価してしまう。そのため、評価値が小さくならない場合は、パラメータn、ｌを１に近づけ、ずれ量を過小評価しにくくしたり、 パラメータｎ、ｌを０より大きく1未満に設定することで過大評価としたり、適宜パラメータｎ、ｌを選択する。これにより、局所解に陥らなくなるようにすることができる。
【０１３１】
従って、従来法では局所解に陥り、位置合わせをしたはずなのに基準点データと測定点データとの位置ずれが大きく、欠陥と誤判定が発生する場合でも、本実施形態に係る方法を用いることで、評価値が局所解に陥ることを低減できる。よって、図２９に示すように、各重心間距離Ｍと移動量ｙとをほぼ同一にすることができ、最大位置ズレ距離も±２×１０−７ｍｍと小さくすることができる。よって、基準点データと位置合わせ後の測定点データとの位置ズレが低減されているので、誤判定を低減することができる。
【０１３２】
本実施形態では、複合要素を用いたネルダーミード法を実行することと、ネルダーミード法における関数値としての評価値を算出する際の評価係数を算出するための関数を、ユークリッド距離比率が０％〜１００％に向かって評価係数が連続的に増加している関数とすることの双方を行っているが、それらのうちいずれか一方を行うのみであっても良い。何故ならば、上記２つの方法のいずれも、上述するように、評価値を局所解に陥らせることを低減する効果を奏することができるからである。
【０１３３】
（その他の実施形態）  
本発明の一実施形態では、コントローラ７０６が欠陥抽出装置７００を制御することができれば、欠陥抽出装置７００に内蔵されても良いし、ＬＡＮ等によるローカルな接続、または、インターネットといったＷＡＮによる接続を介して、欠陥抽出装置７００と別個に設けても良い。すなわち、本発明では、コントローラ７０６の配置位置が問題ではなく、上述の実施形態のようにして位置合わせや欠陥抽出を行うようにコントローラ７０６を構成することが重要なのである。
【０１３４】
また、前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラム（例えば、図１１Ａ、１１ＢのＳ２〜Ｓ２９に示す処理を行うプログラム）を記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。即ちコンピュータ読み取り可能な記憶媒体も実施例の範囲に含まれる。また、前述のコンピュータプログラムが記憶された記憶媒体はもちろんそのコンピュータプログラム自体も上述の実施形態に含まれる。
かかる記憶媒体としてはたとえばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ―ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。
また前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウエア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【符号の説明】
【０１３５】
７００    欠陥抽出装置
７０１    測定装置部
７０２    測定対象物
７０６    コントローラ
７１１    ３次元測定データ演算部
７１２    評価モジュール
７１２Ａ  表面評価モジュール
７１２Ｂ  欠陥評価モジュール
７２０    レーザスリット平行投光器
７２３    撮像部
９００    測定データ入力部
９０１    基準データ格納部
９０２    点群対応付け部
９０３    重み演算部
９０４    収束評価部
９０５    点群変換部
９０７    複合要素リスト作成部
【図１】
0005867787.tif 000007
【図３】
0005867787.tif 000008
【図７】
0005867787.tif 000009
【図９】
0005867787.tif 000010
【図１０】
0005867787.tif 000011
【図１１Ａ】
0005867787.tif 000012
【図１１Ｂ】
0005867787.tif 000013
【図１２】
0005867787.tif 000014
【図１３】
0005867787.tif 000015
【図１４】
0005867787.tif 000016
【図１５】
0005867787.tif 000017
【図１６】
0005867787.tif 000018
【図１７】
0005867787.tif 000019
【図１８】
0005867787.tif 000020
【図１９】
0005867787.tif 000021
【図２０】
0005867787.tif 000022
【図２１】
0005867787.tif 000023
【図２３】
0005867787.tif 000024
【図２４】
0005867787.tif 000025
【図２５】
0005867787.tif 000026
【図２６】
0005867787.tif 000027
【図２】
0005867787.tif 000028
【図４】
0005867787.tif 000029
【図５】
0005867787.tif 000030
【図６】
0005867787.tif 000031
【図８】
0005867787.tif 000032
【図２２】
0005867787.tif 000033
【図２７】
0005867787.tif 000034
【図２８】
0005867787.tif 000035
【図２９】
0005867787.tif 000036