(57)【特許請求の範囲】
【請求項１】
カメラの視軸を含む座標軸を有するマシンビジョンシステムにおいて３ＤのＣＡＤモデルを試験対象物にアライメントする方法であって、
測定したい試験対象物のフィーチャに対応するＣＡＤモデルのフィーチャを露出させるように、前記マシンビジョンシステムのモデルウィンドウにおいて前記３ＤのＣＡＤモデルを方向付ける工程と、
前記試験対象物を前記マシンビジョンシステムのステージ上に、前記３ＤのＣＡＤモデルの方向とほぼ一致する方向に載置する工程と、
前記ステージ上の試験対象物の画像を前記カメラで撮影し、前記カメラの視軸に垂直な基準面における周辺境界を抽出する工程と、
対応する基準面における前記３ＤのＣＡＤモデルのシルエット境界を抽出する工程と、
フィッティングアルゴリズムを用いて、前記３ＤのＣＡＤモデルの前記シルエット境界を、前記対応する基準面において前記試験対象物の前記周辺境界とマッチングするように、相対的に位置決めする工程と、
前記３ＤのＣＡＤモデルにおける点の座標を、前記対応する基準面内で前記視軸に沿って参照された前記試験対象物の対応する点の座標とマッチングさせる工程と、
を備え、
前記対応する基準面における前記３ＤのＣＡＤモデルのシルエット境界を抽出する工程が、さらに、
前記ＣＡＤモデルの３Ｄの三角形メッシュのうちの可能性を有するシルエットエッジから、全線分を集める工程と、
前記可能性を有するシルエットの線分を、前記カメラの視線方向を用いて２Ｄに投影する工程と、
前記線分に２Ｄの候補輪郭点を生成する工程と、
前記候補輪郭点と一致する第一位置から、第二のシフト位置へと移動可能な試験点を生成する工程と、
前記シフト位置にある各試験点が、前記ＣＡＤモデルの三角形メッシュの他の面によって覆われているか否かを判定し、前記第二のシフト位置にある試験点がいずれの他の面によっても覆われていない２Ｄの候補輪郭点を、真の輪郭点であるとする工程と、
を備えた方法。
【請求項２】
前記シフトした第二位置において、いずれの他の面によっても覆われていない試験点上のエッジのセットを有する、最小全域木を生成する工程をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
点生成密度よりも長い前記最小全域木のエッジのサブセットを捨てる工程をさらに備え、前記最小全域木のエッジの残りのサブセットが、前記３ＤのＣＡＤモデルの真の輪郭の線分であることを特徴とする請求項２に記載の方法。
【請求項４】
フィッティングアルゴリズムを用いて、前記最小全域木のエッジの残りのサブセットを前記試験対象物の周辺境界にフィットさせる工程、をさらに備えたことを特徴とする請求項３に記載の方法。
【請求項５】
前記３ＤのＣＡＤモデルが頂点によって結ばれた線を含み、前記シルエット境界を抽出する工程が、前記対応する基準面における前記３ＤのＣＡＤモデルの境界よりも内側にある線を除去する工程を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記３ＤのＣＡＤモデル上で測定対象のフィーチャを選択する工程と、 
前記対応する基準面内で視軸に沿って参照される前記試験対象物の対応する点の座標とマッチングする前記３ＤのＣＡＤモデルの点の座標に基づいて、前記ステージと前記カメラのうち少なくとも一方を所望の位置に自動的に平行移動させる工程と、
前記ＣＡＤモデルの選択されたフィーチャに対応する試験対象物のフィーチャを測定する工程と、
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記３ＤのＣＡＤモデル上で測定対象フィーチャを選択する工程と、
前記試験対象物の選択されたフィーチャを測定する前に、前記ＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、前記カメラを前記試験対象物に対して自動的に焦点合わせする工程と、
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項８】
前記ステージ上の試験対象物の画像を前記カメラで撮影する工程は、ビデオカメラを用いて、（ｉ）静止画像データ、および（ｉｉ）ビデオストリームからのフレームの画像データのうちの１つを提供する工程を含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ステージ上の前記試験対象物の画像を前記カメラで撮影する前に、前記試験対象物に背後から照明を当てる工程をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１０】
前記３ＤのＣＡＤモデル上で測定対象フィーチャを選択する工程と、
前記対応する基準面内で視軸に沿って参照される前記試験対象物の対応する点の座標とマッチングする前記３ＤのＣＡＤモデルの点の座標に基づいて、前記ステージと前記カメラのうち少なくとも一方を所望の位置に自動的に平行移動させる工程と、
前記カメラを自動的に焦点合わせする工程と、
前記ＣＡＤモデルの前記選択されたフィーチャに対応する試験対象物のフィーチャを測定する工程と、
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項１１】
３ＤのＣＡＤモデルを参照しマシンビジョンシステムで試験対象物の異なるフィーチャを測定する方法であって、
前記３ＤのＣＡＤモデルをモデルウィンドウにおいて方向付ける工程と、
ビデオカメラで前記試験対象物のビデオ画像を取得する工程と、
前記ビデオカメラの視軸に垂直な基準面における撮像された試験対象物の周辺境界を抽出する工程と、
３ＤのＣＡＤモデルのシルエット境界を、対応する基準面において前記試験対象物の周辺境界とマッチングするように相対的に位置決めする工程と、
前記３ＤのＣＡＤモデルにおける点の座標を、前記対応する基準面内で前記視軸に沿って参照される前記試験対象物の対応する点の座標と、マッチングさせる工程と、
モデルウィンドウ内で前記ＣＡＤモデルのフィーチャを選択し、前記フィーチャの１以上の点の座標を同定する工程と、
前記モデルウィンドウ内で選択されたＣＡＤモデルのフィーチャに対応する試験対象物のフィーチャを測定する工程と、
を備えた方法。
【請求項１２】
前記試験対象物のフィーチャを測定する前に、前記視軸に沿って参照される前記ＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、前記試験対象物に対する前記ビデオカメラの焦点を変える工程をさらに備えたことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記対応する基準面内において前記視軸に沿って参照される前記ＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、前記試験対象物の照明条件を変える工程をさらに備えたことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記ビデオカメラの視野（ＦＯＶ）を調節して、測定すべき前記試験対象物の前記フィーチャが視野（ＦＯＶ）内に収まるようにする工程を、さらに備えたことを特徴とする請求項１１に記載の方法。
【請求項１５】
前記ビデオカメラの被写界深度（ＤＯＦ）を調節して、試験対象物の周辺境界が基準面に近いか否かにかかわらず、前記試験対象物の周辺境界全体が焦点内にとどまるようにする工程を、さらに備えたことを特徴とする請求項１１に記載の方法。
【請求項１６】
前記ビデオカメラの前記視野（ＦＯＶ）を調節する工程が自動的に行われることを特徴とする請求項１４に記載の方法。
【請求項１７】
前記ビデオカメラの前記被写界深度（ＤＯＦ）を調節する工程が自動的に行われることを特徴とする請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マシンビジョンシステム技術の分野に関し、特に、試験対象物のフィーチャを測定するために、３ＤのＣＡＤモデルを試験対象物に自動的にアライメントすることに関する。
【背景技術】
【０００２】
マシンビジョンシステムは、ステージに載置された試験対象物の画像をディスプレイ画面に投影する。現在のビジョン測定マシン(vision measuring machines)の多くが、測定対象の部品のビデオ画像に依存して、行うべき測定をユーザが選択できるようにしている。ユーザが測定される部品のある位置から別の位置へと移動すると、追加の測定対象フィーチャの選択に使えるように画質を維持するために、照明と焦点の調整がしばしば必要となる。特に、ビジョンの光軸に沿って深さがある部品の場合、測定点から測定点への焦点の変更には時間がかかる可能性がある。
【０００３】
測定対象の部品のＣＡＤ図面が利用可能な場合は、ＱＶＩ社のＺｏｎｅ３等の一部の測定ソフトウェアでは、ユーザが、ディスプレイパネルのモデルウィンドウで、行うべき測定を指示できるようになっている。測定対象の部品のＣＡＤモデルをコントローラにロードし、そして、そのＣＡＤモデルを、一連のガイドされた手動操作の工程によって、ビデオ画像とアライメントするのである。この手動の設定されたプロセスは時間がかかり、経験の浅いユーザには混乱を招きかねない。
【発明の概要】
【０００４】
マシンビジョンシステムにおいて、３ＤのＣＡＤモデルを試験対象物にアライメント（位置合わせ）する方法を提供する。１つの形態では、本方法は、測定したい試験対象物のフィーチャに対応するマスタ対象物のフィーチャが露出するように、マシンビジョンシステムのモデルウィンドウにおいて３ＤのＣＡＤモデルを方向づける（orienting）工程と、試験対象物をマシンビジョンシステムの移動ステージ上に、３ＤのＣＡＤモデルの方向(orientation)とほぼマッチングする（合う；一致する）方向に載置する工程と、移動ステージ上の試験対象物の画像をカメラで撮影し、カメラの視軸（viewing axis）に垂直な基準面（datum plane; データム面）における周辺境界（peripheral boundary）を抽出する工程と、対応する基準面における３ＤのＣＡＤモデルのシルエット境界（silhouette boundary）を抽出する工程と、フィッティングアルゴリズムを用いて、対応する基準面における試験対象物の周辺境界とマッチングするように、３ＤのＣＡＤモデルのシルエット境界を相対的に位置づける工程と、３ＤのＣＡＤモデルの点の座標を、対応する基準面内で視軸に沿って参照される試験対象物の対応する点の座標とマッチングさせる（適合させる、合わせる）工程と、を含む。
【０００５】
本方法は、さらに、ＣＡＤモデルの３Ｄ三角形メッシュの可能性のあるシルエットエッジからの全線分を集める工程と、可能性のあるシルエット線分（silhouette line segments）を、カメラ視線方向（view direction）を用いて２Ｄに投影する工程と、線分に２Ｄの候補輪郭点（candidate contour points）を生成する工程と、候補輪郭点と一致する第一位置からシフトした第二位置へと移動可能な試験点（test points）を生成する工程と、シフトした位置にある各試験点が、ＣＡＤモデルの３Ｄ三角形メッシュの隣接面によって覆われているかを判定する工程と、を含んでいてよい。ここで、いかなる隣接面によっても覆われないシフトした第二位置にある試験点に対応する２Ｄの候補輪郭点が真の輪郭点である。
【０００６】
本方法はさらに、シフトした第二位置において、隣接面によって覆われない試験点上のエッジのセット（集合）を有する、最小全域木を生成する工程を含んでいてよい。
【０００７】
１つの形態において、本方法はさらに、点生成密度（point generation density）よりも長い最小全域木のエッジのサブセットを捨てる工程を含んでいてよい。ここにおいて、最小全域木のエッジの残りのサブセットが３ＤのＣＡＤモデルの真の輪郭線分である。
【０００８】
本方法は、さらに、フィッティングアルゴリズムを用いて、最小全域木のエッジの残りのサブセットを試験対象物の周辺境界にフィッティングさせる(合わせる、適合させる)工程を備えていてよい。
【０００９】
１つの構成において、３ＤのＣＡＤモデルは頂点によって結ばれた線を含み、シルエット境界を抽出する工程は、対応する基準面における３ＤのＣＡＤモデルの境界よりも内側にある線を除去する工程を含む。
【００１０】
本方法はさらに、３ＤのＣＡＤモデル上で測定対象フィーチャを選択する工程と、対応する基準面内で視軸に沿って参照される試験対象物の対応する点の座標にマッチングする３ＤのＣＡＤモデルの点の座標に基づいて、移動ステージとカメラのうち少なくとも一方を所望の位置に自動的に平行移動させる工程と、３ＤのＣＡＤモデルの選択されたフィーチャに対応する試験対象物のフィーチャを測定する工程と、を備えていてよい。
【００１１】
１つの構成において、本方法はまた、３ＤのＣＡＤモデル上で測定対象フィーチャを選択する工程と、試験対象物上の選択されたフィーチャを測定する前に、３ＤのＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、カメラを試験対象物に対して自動的に焦点合わせする工程と、を含んでいてよい。
【００１２】
別の形態において、移動ステージ上の試験対象物の画像をカメラで撮影する工程は、ビデオカメラを用いて、（ｉ）静止画像データ、および（ｉｉ）ビデオストリームからのフレームの画像データのうちの１つを提供する工程を含む。
【００１３】
本方法はさらに、移動ステージ上の試験対象物の画像をカメラで撮影する前に、試験対象物にバックライトを当てる工程を備えていてよい。
【００１４】
本方法はまた、３ＤのＣＡＤモデル上で測定対象フィーチャを選択する工程と、対応する基準面内で視軸に沿って参照される試験対象物の対応する点の座標とマッチングする３ＤのＣＡＤモデルの点の座標に基づいて、移動ステージとカメラのうち少なくとも一方を所望の位置に自動的に平行移動させる工程と、カメラを自動的に焦点合わせする工程と、ＣＡＤモデルの選択されたフィーチャに対応する試験対象物のフィーチャを測定する工程と、を備えていてよい。
【００１５】
さらに別の形態において、３ＤのＣＡＤモデルを参照するマシンビジョンシステムで試験対象物の異なるフィーチャを測定する方法は、ビデオカメラで試験対象物のビデオ画像を撮影する工程と、ビデオカメラの視軸に垂直な基準面における撮影された試験対象物の周辺境界を抽出する工程と、３ＤのＣＡＤモデルのシルエット境界を、対応する基準面において試験対象物の周辺境界とマッチングするように相対的に位置づける工程と、３ＤのＣＡＤモデルの点の座標を、対応する基準面内で視軸に沿って参照される試験対象物の対応する点の座標にマッチングさせる工程と、モデルウィンドウ内でＣＡＤモデルのフィーチャを選択し、同フィーチャの１以上の点の座標を同定する工程と、モデルウィンドウ内で選択されたＣＡＤモデルのフィーチャに対応する試験対象物のフィーチャを測定する工程と、を備えている。
【００１６】
本方法はさらに、試験対象物のフィーチャを測定する前に、視軸に沿って参照されるＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、試験対象物に対するビデオカメラの焦点を変える工程を備えていてよい。
【００１７】
本方法はまた、対応する基準面内において視軸に沿って参照されるＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、試験対象物の照明条件を変える工程をさらに備えていてよい。
【００１８】
本方法はまた、ビデオカメラの視野（ＦＯＶ）を調整して、測定すべき試験対象物のフィーチャが視野（ＦＯＶ）内に収まるようにする工程を備えていてよい。１つの形態において、ビデオカメラの視野（ＦＯＶ）は自動的に調整される。
【００１９】
本方法はさらに、ビデオカメラの被写界深度（ＤＯＦ）を調整して、試験対象物の周辺境界が基準面に近いか否かにかかわらず、試験対象物の周辺境界全体が焦点内にとどまるようにする工程を備えていてよい。１つの形態においては、ビデオカメラの被写界深度（ＤＯＦ）は自動的に調整される。
【００２０】
別の形態においては、３ＤのＣＡＤモデルを参照するマシンビジョンシステムで試験対象物の異なるフィーチャを測定する方法は、３ＤのＣＡＤモデル上で測定対象フィーチャを選択する工程と、対応する基準面内で視軸に沿って参照される試験対象物の対応する点の座標とマッチングする３ＤのＣＡＤモデルの点の座標に基づいて、移動ステージとカメラのうち少なくとも一方を所望の位置に自動的に平行移動させる工程と、カメラを自動的に焦点合わせする工程と、ＣＡＤモデルの選択されたフィーチャに対応する試験対象物のフィーチャを測定する工程と、を備えている。
【図面の簡単な説明】
【００２１】
【図１】３ＤのＣＡＤモデルを試験対象物にアライメントするためのマシンビジョンシステムの実施形態を示す概略図である。
【００２２】
【図２】マシンビジョンシステムにおいて、３ＤのＣＡＤモデルを試験対象物にアライメントするための方法の工程を示すフローチャートである。
【００２３】
【図３】マシンビジョンシステムを用いて、試験対象物の異なるフィーチャを測定するための方法の工程を示すフローチャートである。
【００２４】
【図４】３ＤのＣＡＤモデルの三角形メッシュを例示的に示す図である。
【００２５】
【図５】候補輪郭点のセット（集合）を例示的に示す図である。
【００２６】
【図６】ある点が真の輪郭点であるか否かの判定に用いられる試験点のセットを例示的に示す図である。
【００２７】
【図７】真の輪郭点の例示的セットである。
【発明を実施するための形態】
【００２８】
図面を参照すると、図１は、試験対象物２０のプロファイル生成に用いられるマシンビジョンシステム１０の実施形態を示す。１つの構成例では、マシンビジョンシステム１０はトップダウン光学システム（top-down optical system）である。マシンビジョンシステム１０は，１つの構成例では、座標測定機であってよい。用いられる座標測定機の一例は、Otical Gaging Products, Inc.社のSmartscope Quest Series Model 650 CMMである。しかし、測定機能およびビデオ機能を備えた他のマシンビジョンシステムを用いてもよいことを、当業者は理解されたい。
【００２９】
マシンビジョンシステム１０は、一般的には、光学撮像システム３０、可動ステージ４０、およびバックライト照明器５０を含む。システム１０はさらに、コンピュータ等の処理装置６０を含む。この処理装置は、１以上のプロセッサ、メモリ、データベース、グラフィックスカード等を含むとともに、通常のパーソナルコンピュータのモニタ等のディスプレイパネル７０、およびキーボードやマウス等のユーザ入力装置８０を含む。システムはさらに、プリンタおよび追加のディスプレイパネル（図示せず）を含んでいてよい。処理装置６０は、データ記憶媒体に記憶されたデータとしておよび／または処理装置６０への信号入力として入力されたプログラミング命令に従って動作するように、プログラムされている。
【００３０】
可動ステージ４０は、試験対象物２０を位置決めおよび移動するために、平行移動の３つの直交する軸Ｘ、Ｙ、Ｚを有する多軸ステージを含んでいてよい。しかし、ステージ４０はより少ない数の平行移動軸を含んでもよく、まったく移動不能であってもよいことを理解されたい。ステージ４０は手動制御によって調節してよく、コントローラ１３０およびモータ、アクチュエータ等の自動位置決め手段により自動的に調節ししてよい。
【００３１】
マシンビジョンシステム１０は可動ステージを有していなくてもよい。光学撮像システム３０がＸ軸、Ｙ軸およびＺ軸に沿って移動してもよい。ある構成では、可動ステージ４０がＹ軸に沿ってのみ移動され、光学撮像システム３０がＸ軸およびＺ軸に沿って移動される。あるシステムでは、ステージが移動不能で、光学撮像システム３０がＺ軸に沿って移動され、ユーザが手動で部品をＸ軸およびＹ軸に沿って移動しなければならない。光学撮像システム３０と可動ステージ４０の位置が分かる限り、マシンビジョンシステム１０に対する測定点の相対的位置を定義する、測定点のマシン座標を定めることができる。
【００３２】
マシンビジョンシステム１０の光学撮像システム３０は、ビデオカメラ９０を含んでいてよい。ビデオカメラ９０は試験対象物２０のビデオ画像をビューイング画面１００に投影してもよい。しかし、スチールカメラ、レーザー３Ｄスキャナーや他のあらゆる装置を用いてもよいことを理解されたい。これら装置は、試験対象物２０の画像データを取得し、この画像データを試験対象物データインターフェース１１０を介してマシンビジョンシステム１０に送るように構成されている。１つの構成において、ビデオカメラ９０は、試験対象物２０のビデオ画像をビューイング画面１００に投影する代わりに、またはそれに加えて、試験対象物２０のビデオ画像をディスプレイパネル７０に投影することを理解されたい。好ましくは、ビデオカメラ９０は比較的大きな視野（ＦＯＶ）を有する。視野が大きいため、試験部品２０の境界を抽出（extract）するための所要時間を減らすことができる。ビデオカメラ９０はまた、好ましくは、比較的大きな被写界深度（ＤＯＦ）を有する。これにより、試験部品２０の境界全体（基準面に近くない試験部品２０のフィーチャを含む）で良好に焦点が合う。ある実施形態における光学的構成では、視野は１００ｍｍ、使用可能な被写界深度は７５ｍｍである。
【００３３】
ある構成では、試験対象物２０はバックライト（プロファイル）照明器５０によって背後から照らされる。バックライト照明器５０は照明ビームを出力する光源である。この光源は、発光ダイオード（ＬＥＤ）、白熱電球、アーク灯、および照明ビームを作る光学部品等であってよい。ある構成では、ステージ４０は検出領域（図示せず）を有する。照明光はこの検出領域を通り、試験対象物を背後から照らす。例えば、検出領域は１以上の開口部、及び／又は透明なガラス製の円形の領域を含んでいてよい。
【００３４】
試験対象物２０はいかなるワークピースであってもよく、特に、ユーザが測定を所望するフィーチャを有するワークピースであってよい。測定を必要とする試験対象物２０のあるフィーチャの位置情報を生成するための情報は、好ましくは、試験対象物２０のデザイン仕様を含む、デジタルマシンで読み取り可能な１以上のファイル１２０によりもたらされる。デジタルマシンで読み取り可能なファイルは、コンピュータ支援設計（ＣＡＤ）システムによって生成された試験対象物の３Ｄモデルであってよい。本明細書において、「３Ｄ」は三次元を意味し、「２Ｄ」は二次元を意味する。ユーザは予め存在する試験対象物２０のデジタルマシンで読み取り可能なファイルを取得し、それを測定ソフトウェアのモデルウィンドウにロードする。
【００３５】
ある構成において、デジタルファイル１２０は３ＤのＣＡＤモデルを含んでいてよい。それは様々な方法で表現することができ、試験対象物２０の製造をガイドするためのトポロジーおよびフィーチャの描写を有するワイヤフレームモデル、サーフェスモデル、またはソリッドモデルを含む。好ましくは、３Ｄモデルの各サーフェスのワイヤフレームポリラインまたは３Ｄ境界ポリライン、例えば、ＳＴＥＰファイルが用いられる。しかし、ワイヤフレームは要件ではないことを当業者は理解されたい。メッシュのみのモデル、例えばＳＴＬファイルを用いてもよい。デジタルファイル１２０が読み込まれると、試験対象物の３Ｄモデル（ここでは時にＣＡＤモデルと呼ぶ）が、ユーザによって基準面（datum plane;データム面）とアライメントされ、これにより、以下に詳述するように、上から見た時の測定対象のフィーチャが示される。基準面は、ビデオカメラの光軸と垂直であり、ステージ４０の表面と平行である。従って、測定対象フィーチャの軸を光軸とほぼ平行にアライメントする必要がある。例えば、ユーザが、試験対象物２０の表面に垂直に穿設された穴の直径および深さを測定したい場合には、ユーザは、測定対象の穴の軸が基準面とほぼ垂直になり、光軸とほぼ平行になるように、３Ｄモデルをアライメントする。同様に、試験対象物２０を概ね同じ向き（orientation）にアライメントする。すなわち、試験対象物の穴の軸が光軸とほぼ平行で、ステージ４０と基準面が光軸に垂直になるようにする。
【００３６】
制御ユニット１３０は、コントローラであり、マシンビジョンシステム１０のディスプレイパネルと可動ステージ４０と光学撮像システム３０を制御し、試験対象物２０のビデオ画像を分析する。ユーザ入力／出力装置８０も制御ユニット１３０に接続されている。
【００３７】
ここで図１と図２を参照する。図２は、ある実施形態において、３ＤのＣＡＤモデルを試験対象物のビデオ画像に自動的にアライメントし、それによって試験対象物２０そのものにアライメントするプロセスを示している。このプロセス２００は、ステップ２０２にしたがい、ユーザが最初に、マシンビジョンシステム１０の測定ソフトウェアのモデルウィンドウに、３Ｄモデルをロードする工程から開始してよい。次に、このプロセスは、ステップ２０４にしたがい上述したように３ＤのＣＡＤモデルを方向づけする工程を含む。試験対象物２０の測定対象となるフィーチャに対応するＣＡＤモデルのフィーチャが露出される（exposed; さらされる）。例えば、ユーザは、測定対象フィーチャの軸が基準面とほぼ垂直になり、光軸とほぼ平行になるように、３Ｄモデルをアライメントしてよい。測定対象の試験部品のフィーチャに関する数字情報を、ユーザは一切知る必要がないことを理解されたい。次にユーザはステップ２０６にしたがい、試験対象物２０をマシンビジョンシステム１０の移動ステージ４０に、３ＤのＣＡＤモデルの向きとほぼ一致する向きに載せる。移動ステージ４０は、試験部品２０の角度方向を３ＤのＣＡＤモデルの向きとマッチングするようアライメントするために、いかなる平面で移動させてもよい。
【００３８】
あるいは、最初のステップとして、ユーザが試験対象物２０をマシンビジョンシステム１０の移動ステージ４０に載置し、次にユーザがモデルウィンドウ内で３ＤのＣＡＤモデルを試験対象物の向きにほぼマッチングするように方向づけても良いことを、当業者は理解すべきである。ここで「マッチング（適合；一致）」とは、３ＤのＣＡＤモデルと試験対象物２０が、ｘ軸、ｙ軸およびｚ軸に対してほぼ同じ位置に位置し、同一の対象フィーチャが視軸（viewing axis）に露出していることを意味する。しかし、３ＤのＣＡＤモデルと試験対象物２０は厳密に方向付ける必要はないことを理解されたい。
【００３９】
ビデオ画像を撮る前に、ステージ４０上に載置された試験対象物２０にビデオカメラ９０を向ける。このビデオカメラ９０の向き(orientation)はマシンビジョンシステム１０によって捉えられ、自動的に輪郭生成アルゴリズムに入力される。以下に述べる自動輪郭測定は前面照明では困難であり、背面照明の方が困難でない。そのため、ステージの下にあるバックライト５０が用いられる。理想的には、ビデオカメラ９０は試験対象物２０の上方で垂直に向けられる。試験対象物２０はその中央をビデオカメラ９０の下方に位置合わせする必要がないことを、当業者は理解されたい。
【００４０】
ステップ２０８では、ビデオカメラ９０の視軸に垂直な基準面において移動ステージ４０に置かれた試験対象物２０のビデオ画像を、ビデオカメラ９０で撮影する。ある構成では、このビデオ画像は静止画像データを含む。別の構成では、ビデオ画像はビデオストリームからのフレームの画像データである。ユーザのコマンドにより、ステップ２１０では、周辺境界抽出手段１４０により試験対象物２０の周辺境界を抽出する。すなわち、ある構成では、システム１０はビデオ画像を用いて、二次元における試験対象物２０の境界を測定する。試験対象物２０の輪郭は、当該技術分野に公知のソフトウェアを用いて測定される。生成された試験対象物２０の輪郭は、ユーザによる試験対象物２０のおおよそのアライメントとカメラ９０の現在の向きに基づく。
【００４１】
プロセス２００はまた、以下に詳述するとおり、ステップ２１２にしたがい、シルエット境界抽出手段１５０により、対応する基準面における３ＤのＣＡＤモデルのシルエット境界を抽出する。ある構成では、シルエット境界を測定する前に基準面において３ＤのＣＡＤモデルを２Ｄに圧縮する。３Ｄモデルのシルエット境界は、平面図としてユーザに呈示されてよい。マッチングモジュール１７０は、フィッティングアルゴリズム１６０を用いて、３ＤのＣＡＤモデルのシルエット境界を、対応する基準面における試験対象物２０の周辺境界にマッチングさせる。ある構成では、ステップ２１４において、公知の最小二乗アルゴリズムが用いられる。試験対象物２０、３ＤのＣＡＤモデル、およびｘ軸、ｙ軸、ｚ軸のマシン座標がリンクされ、座標割り当て手段１８０によって同じ共通の２Ｄ（二次元）の参照フレームにおける座標が割り当てられる。３ＤのＣＡＤモデルからの２Ｄ基準面は、測定機のＺ基準点（Ｚ＝０）と同じ位置を割り当てられる。こうして、ステップ２１６では、３ＤのＣＡＤモデルの点の座標を、対応する基準面で視軸に沿って参照される試験対象物２０の座標と同一視する（equate;結び付ける）。試験対象物２０の測定された座標は３ＤのＣＡＤモデルの公称座標と完全にはマッチングしないことがあることを理解されたい。すなわち、最小二乗フィットは完全なアライメント（alignment；位置合わせ）を提供しないことがある。試験対象物２０の測定された座標は、公称座標におおむねマッチングしている。ユーザは、ディスプレイパネル７０のモデルから測定する点を選択することができる。ビデオカメラ９０は、異なるｚ座標を有するフィーチャを測定するために、速やかに再フォーカスすることができる。おおよそのｚ座標が３Ｄモデルで分かっているからである。ある構成では、ユーザはまた、試験部品２０の測定対象フィーチャのために照明を変える必要がない。この方向付け（orientation）の過程により、ディスプレイパネル７０のモデルウィンドウで３ＤのＣＡＤモデルからフィーチャを選択するだけで、マシンビジョンシステム１０を自動的に動かして、試験部品２０の３Ｄフィーチャを測定することが可能になる。
【００４２】
３ＤのＣＡＤモデルの仮想輪郭エッジ（ここでは、シルエットエッジとも称する）の生成は、三角形エッジに関する三角形隣接情報に基づく。より具体的には、３Ｄモデルにおける各サーフェスの３Ｄ境界ポリラインを集める。ここで、各ポリラインは、頂点とこれら頂点間の線分の集合である。すなわち、ワイヤフレームポリラインからの全ての線分を集める。次に、３Ｄメッシュのシルエットエッジの全ての線分を集める。ある構成では、ＣＡＤモデルのメッシュは、例えば図４に示すＣＡＤモデルボウルのような、ＣＡＤモデルの表面を表わす三角形メッシュ４００であり、各三角形は３つの点とその間の３つの線分の集まりである。各三角形エッジに関する三角形隣接情報を用いて、可能性のあるシルエットエッジを認識する。２つの隣接する三角形について以下が真であれば、三角形エッジは可能性のあるシルエットエッジ４１０である。（ｉ）隣接する三角形の１つ（符号４０２で示す三角形Ａ）の法線ベクトルがカメラ視線方向（camera view direction）４０
４からやや離れた方向を向いている。（ｉｉ）隣接する三角形の他方(例えば符号４０６
で示す三角形Ｂ)の法線ベクトルがカメラ視線方向４０４とやや同じ方向を向いている。
候補となる輪郭線分は、３Ｄ境界のポリラインの線分であり、カメラ視線方向４０４を用いて２Ｄに投影された（平らになされた）シルエット線分の可能性がある。候補となる輪郭線分の全てが輪郭の一部を成す訳ではない。集められた候補の２Ｄ輪郭線分が真の輪郭線分であるか否かを判定するために、その線分上に所定の点生成密度で２Ｄの点を生成し、所定のカメラの方向と位置を用いて、３Ｄメッシュ三角形を２Ｄに投影し、いずれかの２Ｄ三角形によって覆われた２Ｄ点は除去する。線分上に生成された２Ｄ点間の距離は３ＤのＣＡＤモデルの最小のフィーチャよりも小さいことを理解されたい。２Ｄ点は、２Ｄ三角形領域内にあれば、輪郭だけを残して、２Ｄ三角形によって「覆われている」と見なされる。すなわち、３ＤのＣＡＤモデルの境界の内側にある点は、除去される。
【００４３】
より具体的には、図５〜図７に示すように、線分５０２に沿って候補の２Ｄ輪郭点５００の集合を生成する。この時点では、どの点が三角形エッジ上に生成され、どの点が２Ｄ三角形領域内に生成されたものであるかを判定するのは困難である。そのため、各点５００について、図６に示すシフト試験を行なうことができる。一例では、候補点５００から試験点５１２、５１４、５１６、５１８、５２０、５２２、５２４、５２６を生成する。試験点５１２、５１４、５１６、５１８、５２０、５２２、５２４、５２６をシフトして、試験点５１２、５１４、５１６、５１８、５２０、５２２、５２４、５２６が候補点５００の位置からシフトされたときに隣接面によって覆われるか否かを判定する。例えば、「Ａ面」のエッジにある点５１２、５１４をそれぞれ位置５１３、５１５にシフトさせた時、点５１２、５１４はいずれの隣接面によっても覆われることはない。同様に、「Ｂ面」のエッジにある点５１８、５２０をそれぞれ位置５１９、５２１にシフトさせた時、点５１８、５２０はいずれの隣接面によっても覆われることはない。したがって、２Ｄ点５１８、５２０は「真の」輪郭点であると判定される。「Ａ」面と「Ｂ」面の境界にある点５２２、５２４、５２６をそれぞれ位置５２８、５３０、５３２、または位置５３４、５３６、５３８にシフトさせた時、それぞれ「Ｂ」面および「Ａ」面によって覆われる。これらの２Ｄ点５２２、５２４、５２６は隣接面によって覆われるため、２Ｄ点５２２、５２４および５２６は「真の」輪郭点であるとは見なされない。図７に示すとおり、いかなる隣接面によっても覆われることのないシフトされた点は「真の」輪郭点５０６として示される（図７において若干大きく示す）。「Ａ」面および「Ｂ」面と境界を成す点５１６が位置５１７にシフトされた時、点５１６は隣接面によって覆われることはない。したがって、この２Ｄ点５１６は「真の」輪郭点であると判定される。
【００４４】
残った２Ｄ点に基づいて最小全域木（minimum spanning tree）を生成する。この最小全域木は、エッジウェイトの合計が可能な限り最小となる全域木(spanning tree)である。この最小全域木は、残った２Ｄ点に基づいて、公知の最小全域木アルゴリズム（例えば、Prims、Kruskall、Boruvka）のいずれかを用いて構築される。点生成密度よりも長いグラフエッジを全域木から捨てる。残りのグラフエッジは、３ＤのＣＡＤモデルの真の輪郭線の線分であり、それは、フィッティングアルゴリズム１６０を用いて、試験対象物２０の周辺境界に適合(フィッティング)させることができる。
【００４５】
図３は、本発明の別の態様であって、３ＤのＣＡＤモデルへの参照を有するマシンビジョンシステム１０を用いて、試験対象物２０の異なるフィーチャを測定するためのプロセスを示す。このプロセス３００は、ステップ３０２に従って、ユーザがビデオカメラ９０で試験対象物２０のビデオ画像を撮影するステップから始めることができる。このプロセス３００は、さらに、ステップ３０４に従って、ビデオカメラ９０の視軸に垂直な基準面における撮像された試験対象物２０の周辺境界を、周辺境界抽出手段１４０により抽出する工程を含む。上述のように、シルエット境界抽出手段１５０によって、３ＤのＣＡＤモデルのシルエット境界を取得する。ステップ３０６に従って、マッチングモジュール１７０により、３ＤのＣＡＤモデルのシルエット境界を、対応する基準面における試験対象物の周辺境界とマッチングするように相対的に位置付ける。ステップ３０８に記述するように、座標割り当て手段１８０により、３ＤのＣＡＤモデルの点の座標を、対応する基準面内で視軸に沿って参照される試験対象物の対応する点の座標とマッチングさせる。これにより、ユーザは、ステップ３１０に従って、ディスプレイパネル７０のモデルウィンドウ内でＣＡＤモデルのフィーチャを選択し、測定すべきフィーチャの１以上の点の座標を同定することができる。ステップ３１２に記述するように、次に、モデルウィンドウ内で選択されたＣＡＤモデルのフィーチャに対応する試験対象物２０のフィーチャを選択し、システム１０は、試験対象物２０の選択されたフィーチャの測定に移行する。典型的には、比較的大きな視野（ＦＯＶ）および比較的大きな被写界深度（ＤＯＦ）が用いられ、これにより、基準面に近くない試験部品２０のフィーチャを含んで、部品の境界に焦点が合わされるようになされている。例えば、Quality Vision International, Inc.社で販売しているフュージョン（Fusion）大視野のマルチセンサ測定システムの低倍率光路は、ＦＯＶ１００ｍｍ、利用可能ＤＯＦ７５ｍｍに設定することができる。低倍率光路を用いて試験部品２０の境界を取得してから、ユーザはフュージョン大視野マルチセンサ測定システムの高倍率ｆ／５の光路を用いて、試験部品のフィーチャの測定を行うことができる。実施形態においては、ＦＯＶとＤＯＦは自動的に設定される。
【００４６】
しかし、必要であれば、視軸に沿って参照されるＣＡＤモデルの選択されたフィーチャの１以上の点の座標に基づいて、試験対象物２０に対するビデオカメラ９０の焦点を変えてもよい。試験対象物の照明条件も、測定すべきＣＡＤモデルのフィーチャの点の座標に基づいて、変えてよい。例えば、前面照明器１９０またはバックライト照明器５０を選択してよい。しかし、測定対象の試験対象物２０を照らすために、照明器の他の位置を用いかつ選択してもよいことを理解されたい。
【００４７】
本発明は、数々の変更および改変がなされることが想定されている。したがって、システムの現在好ましい形態を示し、および描写し、いくつかの改変例および代替例について述べてきたが、本発明の範囲を逸脱することなく、さらに様々な変更および改変がなされてもよいことが、当業者には容易に理解されよう。本発明の範囲は、以下の特許請求の範囲によって定義され識別される。
【図１】
0006858878.tif 000002
【図２】
0006858878.tif 000003
【図３】
0006858878.tif 000004
【図４】
0006858878.tif 000005
【図５】
0006858878.tif 000006
【図６】
0006858878.tif 000007
【図７】
0006858878.tif 000008