(57)【特許請求の範囲】
【請求項１】
マシンビジョンシステムの作動方法であって、
前記マシンビジョンシステムは、
画像テクスチャフィルタ処理要素の１組と、
前記マシンビジョンシステムによって画像形成された対象物の画像についてエッジ周りのテクスチャ以外の特性を用いてエッジの位置を決定する第１のエッジ検出モードと、
前記画像テクスチャフィルタ処理要素の１組を用いることにより、前記マシンビジョンシステムによって画像形成された対象物の画像についてエッジ周りのテクスチャを用いてエッジの位置を決定する第２のエッジ検出モードと、
画像表示装置と、
ユーザ入力装置と、
グラフィカル・ユーザ・インターフェースと、
少なくとも１つのエッジ設定ツールの１組とを備え、
前記方法は、
前記マシンビジョンシステムによって画像形成された前記対象物の画像を捕捉する捕捉ステップと、
前記画像表示装置上に前記捕捉ステップで捕捉された前記対象物の画像を表示する表示ステップと、
前記少なくとも１つのエッジ設定ツールの一組のうちの一つをユーザ入力に応じて選択するエッジ設定ツール選択ステップと、
前記少なくとも１つのエッジ設定ツールでユーザが位置決めした範囲を前記表示された画像中の注目範囲として識別する識別ステップと、
前記注目範囲を前記マシンビジョンシステムによって画像形成された前記対象物のための寸法検査測定の際のエッジを検出する範囲に設定する設定ステップと、
前記第１及び第２のエッジ検出モードの少なくとも１つを選択するエッジ検出モード選択ステップと、
前記選択された第１及び第２のエッジ検出モードの少なくとも１つに基づいて、前記エッジとして用いうる境界位置の決定に用いられるルーチンを決定する決定ステップとを有することを特徴とするマシンビジョンシステムの作動方法。
【請求項２】
前記エッジ検出モード選択ステップは、前記エッジ設定ツール選択ステップにより選択された前記少なくとも１つのエッジ設定ツールに応じて、前記選択された第１及び第２のエッジ検出モードの少なくとも１つを作動させることを特徴とする請求項１記載の方法。
【請求項３】
前記エッジ検出モード選択ステップは、
前記注目範囲にあるエッジの両側のユーザ指定された領域の少なくとも１つのテクスチャ特性を自動的に決定する決定ステップと、
前記決定された少なくとも１つのテクスチャ特性に基づいて前記第１と第２のエッジ検出モードの少なくとも１つを自動的に選択する選択ステップとを有することを特徴とする請求項１記載の方法。
【請求項４】
前記第２のエッジ検出モードが選択されているときは、前記ケース特有境界位置決めルーチンは、
前記注目範囲の中からユーザ指定された前記境界位置を含む範囲について、前記第２のエッジ検出モードにより選択された前記画像テクスチャフィルタ処理要素を用いた画像処理を行った画像を疑似画像として生成する生成ステップと、
前記エッジとして用いうる境界位置を決定すべく、前記疑似画像についてエッジ検出作動を実行する実行ステップとを有することを特徴とする請求項１記載の方法。
【請求項５】
マシンビジョンシステムによって画像形成された対象物ののための寸法検査測定の際のエッジとして用いうる境界位置の決定に用いられるルーチンを有するエッジ位置決めシステムであって、
画像テクスチャフィルタ処理要素の１組と、
前記マシンビジョンシステムによって画像形成された前記対象物の画像について前記エッジ周りのテクスチャ以外の特性を用いて前記エッジの位置を決定する第１のエッジ検出モードと、
前記画像テクスチャフィルタ処理要素の１組を用いることにより、前記マシンビジョンシステムによって画像形成された前記対象物の画像について前記エッジ周りのテクスチャを用いて前記エッジの位置を決定する第２のエッジ検出モードと、
グラフィカル・ユーザ・インターフェースと、
前記対象物の画像を捕捉し、当該捕捉された画像を表示する画像表示装置と、
少なくとも１つのエッジ設定ツールを選択するユーザ入力装置とを備え、
前記少なくとも１つのエッジ設定ツールでユーザが位置決めした範囲を前記表示された画像中の注目範囲として識別し、前記注目範囲を前記マシンビジョンシステムによって画像形成された前記対象物のための寸法検査測定の際のエッジを検出する範囲に設定し、前記第１及び第２のエッジ検出処理の少なくとも１つを選択し、前記ルーチンを前記選択された第１及び第２のエッジ検出モードの少なくとも１つに基づいて決定する境界位置決めシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の２領域間の境界検出及び境界位置決定を行うマシンビジョンシステムの作動方法及び境界位置決めシステムに関する。
【背景技術】
【０００２】
画像中の特徴あるエッジを位置決めするために用いられる多くの従来のマシンビジョンシステムは、主に又はもっぱら、元の画素の強度の値に対し勾配作動を適用することに基づいている。勾配演算（又は作動）を適用する際に、これらのシステムは、画像の有する元の強度に固有の差異を用いてエッジの位置決めを行う。この作動は、画像処理が行われる部分である画像中のエッジの位置決めを高い精度及び信頼性をもって強調するマシンビジョンシステムのためにしばしば用いられる。これらのときは、エッジの形状寸法は、多くの場合問題無く処理され且つ予測可能であり、これにより、これらの画像のほとんどに対し好結果が得られるようエッジの位置決め作動に適用することができる制約条件を提供する。エッジに沿ったポイントを発見して強度勾配型作動の信頼度を改善し、且つ、さらに検出されたエッジ位置の信頼度を増加させたエッジ検出の後に位置決めされたエッジポイントから境界外を除外するためフィルタ処理をエッジ検出作動の前に用いることもよく知られている。
【０００３】
これらの方法を用いるいくつかの従来のビジョン装置がある。これらのビジョン装置はまた、１つ以上の「エッジ設定ツール」を提供するソフトウェアを典型的に含む。エッジ設定ツールは、マシンビジョンシステムのオペレータが有用な情報及び／又は根本的なエッジ位置決め方法に用いられる制約条件をより容易に入力することを可能にする特定のカーソル及び／又はグラフィカル・ユーザ・インターフェース（ＧＵＩ）要素である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像処理の分野でよく知られているように、エッジの近傍の画像領域が高度のテクスチャを示すとき、又は画像中の問題のない強度勾配に必ずしも相当するとは限らないテクスチャ、色若しくは他の画像特性の変化によってエッジが規定されるときは、これらの従来方式は信頼性を低くしうる。特定のエッジの近傍の各テクスチャの領域はエッジの近傍の高い空間周波数強度変化として画像化されるので、テクスチャを有するエッジに関連した画像は本質的に不規則、即ちノイズが多い。従って、前述した強度勾配型作動はノイズの多い結果を返す傾向があり、これは後にエッジ位置の不十分な検出に帰着する。フィルタ処理作動はこれらの状況におけるノイズを減らすために用いられてもよいが、フィルタ処理作動はまた、検出されたエッジ位置をひずませる方法で画像を故意でなくさらに乱しうる。さらに、いくつかの場合において、例えば、エッジに接するテクスチャ領域の平均強度がほぼ同じであるときは、強度勾配作動はエッジの位置の発見の信頼性が完全になくなりうる。従って、そのような状況で、明確に検出することができる有効な強度勾配、即ち差分がないので、従来方式では正確に画像のエッジ位置を検出することができない。
【０００５】
様々なテクスチャを有する多数の別個の対象物又は領域を含む画像では、種々様々のテクスチャに基づいた画像区分化方法が知られている。例えば、１つの方法は、特定のテクスチャの計量値に基づいた局所領域に画素をグループ化するか分類することができる。そのような方法は、一の領域でグループ化又は分類された画素を他の領域でグループ化又は分類された画素から分離する境界を、分類処理の副産物として規定する。しかしながら、そのような方法は典型的には対象物認識、対象物追跡等のために設計し、且つ適用される。
【０００６】
これらの既存の画像区分化システムに関連した共通の問題はシステム構造が厳格であることである。確実さのための種々様々のテクスチャのフィルタ処理を含むシステムは遅すぎるので、高速の産業処理能力の要求に耐えることができない。テクスチャのフィルタ処理の数を制限し、又は検出する領域のメンバーシップのしきい値として用いられる限られた数の予め決定されたパラメータを用いるシステムは、種々様々なテクスチャに適用されたとき、多くの場合信頼性が低い。従って、そのような既存の区分化システムは、汎用の商用のマシンビジョンシステムで用いるには用途の広さ、確実さ及び／又は速さが不十分である。
【０００７】
さらに、そのような区分化方法は、領域間の境界のエッジ位置の比較的正確な位置を発見するものとしては十分開発されていない。正確なエッジ／境界の保持は、正確な画素のグループ化又は分類にとって不可欠であるエネルギー評価のような作動といくぶん矛盾する最終目的であることが一般に認識されている。例えば、Ｌｉ等による米国特許第６，１７８，２６０号明細書では、局所粗さ及びピーク谷算出が、ウィンドウ及び／又は画像のサブウィンドウ用に決定される場合に文字認識に用いられる方法を開示する。ウィンドウ用の入力画像データは、局所粗さ及びピーク谷算出に基づいてひき続き分類される。この方法は、線画又は漢字領域を識別時に用いなければ粗さ及びピーク谷分類により見過ごしうるようなパターン検出エッジのタイプを用いることにより追加してもよい。この画像区分化方法は多くの従来の方法より確実であり、また現画像に適合する。しかしながら、この方法は、分類領域間の境界の位置を位置決めするのに確実且つ正確に特定・使用する特定方法又はツールを開示しない。
【０００８】
フェンスター（Fenster）等の米国特許第６，１１１，９８３号明細書では、医療画像で用いることができる形状認識に用いられる方法を開示する。この方法では、形状モデルが、対象物への作動におけるパラメータ設定の「練習」がされた、即ち、正確な形状が特定されるような練習データに基づく。この練習は、各セクターに個々に適用されて練習することと共に、形状又は境界がセクターに分けられて取り扱われるモデルに有利に適用することができる。セクターは様々な特徴、又は特徴の組によって特徴づけられてもよく、また、この特徴は、望ましいセクター依存対象物への作動を生成するために調節される。この方法は、多くの従来の方法より確実で、また現在の画像に適合する。しかしながら、この方法は、様々なセクターの間の境界の位置を確実且つ正確に位置決めするための特定方法又はツールを開示しない。
【０００９】
汎用の商用マシンビジョンシステムに適用するためには、特定画像のために比較的熟練していないユーザ、即ち画像処理の分野において熟練していないユーザが、システムに組み込まれた様々な画像処理方法を設定し作動することができることも非常に望まれ、又は必要とされる。従って、用途が広く、確実で、速く、そして比較的正確な方法でテクスチャのエッジを位置決めすると同時に、比較的熟練していないオペレータによって作動可能な単純なユーザインターフェースの使用を通じてそのマシンビジョンシステムのエッジ検出処理に適応させ、且つ、管理することによりマシンビジョンシステムを作成することは、特定の問題である。
【００１０】
従って、テクスチャに基づいた区分化方法及び画像特有のテクスチャに基づいた区分化方法は、領域間の境界のエッジ位置の比較的正確な位置を発見するものとしては十分に開発されていない。さらに、そのような方法は、自動的にそれらを合理化し、且つ、合理的に問題ない予測可能な特徴を有する産業的に検査する対象物について発見される特定のエッジにより他のエッジ又は境界検出作動にそれらを従属させる方法と結びついていない。さらに、これらの方法は、根本的な数学的作動又は画像処理作動についてほとんど又は全く理解していないオペレータが用いることができる単純なユーザインターフェース又は互換性をもつ「エッジ設定ツール」に支えられていない。
【００１１】
最後に、従来のマシンビジョンシステムのユーザインターフェースは、作動を見つける従来の強度勾配型エッジ位置決め作動及び本質的に類似するエッジ設定ツール、及び又は関連するＧＵＩを備えたテクスチャ型エッジ位置決め作動の双方を支持するものはなく、また、単一のエッジ設定ツールを用いる双方のタイプの作動を組み合わせているものはない。
【００１２】
従って、従来のマシンビジョンシステムの多くのオペレータは、最小のユーザ理解及び／又は関与で、ますます確実な作動を支持するより標準化されたエッジ位置決め能力を望むので、強度の変化によって十分に規定されていないエッジの画像をより正確に検出し位置決めすることができるように、強度勾配又は差分以外の画像特性を用いて領域間で境界（即ちエッジ）の位置を正確に検出することができる既存のマシンビジョンシステムと共に用いることができる方法及びシステムが必要とされる。
【００１３】
本発明の目的は、複数の異なる画像特性に基づいたエッジ位置を正確に検出することができるマシンビジョンシステムの作動方法及び境界位置決めシステムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明は、強度勾配型エッジ位置決め作動に容易に統合される追加手段及び／又は代替手段として、１つ以上の有効なテクスチャを有する領域により境界づけられる、即ち規定されるエッジ位置を正確に位置決めする方法及びシステムを個々に提供する。
【００１５】
本発明は、強度勾配型エッジ位置決め作動と容易に統合される追加手段及び／又は代替手段として、１つ以上の有効な有色又は色テクスチャを有する領域により境界づけられるエッジ位置を正確に位置決めする方法及びシステムを個々に提供する。
【００１６】
本発明は、ＧＵＩの助けをもって手動的に、半自動的に、又は自動的にエッジ位置を位置決めすることに関する決定及び作動を実行することができるシステムと方法を個々に提供する。
【００１７】
本発明は、適応性のある選択されたテクスチャのフィルタ処理及び／又はテクスチャ特徴を用いて、１又は２の高度なテクスチャを有する領域により境界がつけられているエッジ位置を正確に位置決めする方法及びシステムを個々に提供する。
【００１８】
本発明は、学習用領域間のエッジ又は境界でエッジ位置決め作動を最も支持するテクスチャ区別フィルタ処理及び／又は特徴のある組を決定するために特定の学習用領域を使用して、エッジ位置作動の近傍で複数の特定の学習用注目領域を規定する方法及びシステムを個々に提供する。
【００１９】
本発明は、類似の画像化された部分の画像に類似のエッジを発見したときに、特定の速度及び信頼度で作動するカスタマイズされたエッジ発見ルーチンを決定する方法及びシステムを個々に提供する。
【００２０】
本発明は、ＧＵＩの助けをもって手動的に、半自動的に、又は自動的にカスタマイズされたエッジ検出ルーチンの決定に関連した一定の決定及び作動を実行できる方法及びシステムを個々に提供する。
【００２１】
本発明の方法及びシステムの様々な典型的な具体例では、ユーザが境界検出ツール、又はエッジ設定ツールと呼ばれるものを起動して、場合によっては、従来の強度勾配エッジ設定作動に従ってテクスチャに基づいたエッジ発見作動を実行し、捕捉された対象物の画像内にあるエッジを含む主な注目範囲を規定することができる。本発明の方法及びシステムに従う境界検出ツールは、現在の対象物にエッジを位置決めし、且つ類似対象物に対応するエッジを将来的に位置決めすることに用いることができる。
【００２２】
本発明の方法及びシステムの境界検出ツールは、ユーザが随意に、位置決めされるエッジを境界とする注目サブ領域の２対以上について、形、位置、方向、大きさ及び／又は分離を指定することを可能にする。これに代えて、本発明のシステム及び方法は、自動的に作動して注目サブ領域を決定することができる。従来の強度勾配型エッジ位置決め作動が主な注目領域に含まれたエッジの位置決めに適切でないときは、注目サブ領域が２つの別個のタイプ又はクラスタ中に含まれるエッジの各側の特徴画素値を有効に分離するために使用することができる１組のテクスチャに基づく特徴を決定するための学習用領域として使用される。メンバーシップ画像のような疑似画像は特徴画像を使用して算出される。その後、勾配作動を、希望のエッジを検出し且つその位置を決定するメンバーシップ画像に適用することができる。後処理は、エッジの既知の特徴及びおおよその位置に関する入力データを用いてエッジデータに適用して境界外を除外するか、さもなければエッジの位置決め信頼度の改善をすることができる。本発明のこれら及び他の特徴及び利点は、従来の強度勾配方法ではエッジの位置決めが正確にできない、又はすべてのエッジの位置決めができない様々な状況において正確且つ反復可能にエッジを位置決めする方法で比較的熟練していないユーザが汎用のマシンビジョンシステムを作動することを可能にする。
【００２３】
これら及び本発明の他の特徴及び利点は、以下の本発明の方法及びシステムの様々な典型的な具体例の詳細な説明に記載されているか、又は明らかである。
【発明の効果】
【００２４】
以上詳細に説明したように、本発明の方法及びシステムによれば、複数の異なる画像特性に基づいたエッジ位置を正確に検出することができる。
【発明を実施するための最良の形態】
【００２５】
本発明の様々な典型的な実施の形態を図面を参照して詳細に説明する。
【００２６】
本発明の方法及びシステムは、その全体が本明細書に参考として組込まれている米国特許第６,２３９,５５４Ｂ１号明細書に開示されたマシンビジョンシステム及び／又は光測定方法及びシステムと共に用いることができる。
【００２７】
本明細書で用いられる用語「境界」及び「エッジ」に関しては、用語「境界」及び「エッジ」は、本発明の方法及びシステムの範囲及び演算（又は作動）に関して、一般に互換性あるものとして用いられる。しかしながら、文脈が明らかに規定しているときは、用語「エッジ」は、対象物上の異なる平面間の不連続部のエッジ及び／又はその対象物の画像をさらに意味してもよい。同様に、用語「境界」は、対象物の比較的平坦な面上の２つのテクスチャ、２つのカラー又は２つの他の比較的均質の表面特性の間の不連続部の境界及び／又はその対象物の画像をさらに意味してもよい。
【００２８】
簡明化且つ明確化のために、図１に示すように、本発明の作動原理と設計要因を、本発明のシステムの典型的な一具体例を参照して説明する。図１に示すビジョンシステムの作動の基本的な説明は、本発明の方法及びシステムを組込む任意のビジョンシステムの理解や設計にも適用することができる。
【００２９】
図１は、本発明の方法及びシステムの典型的な具体例を組込むビジョンシステム１０の典型的な一具体例を示す。図１に示すように、ビジョンシステム１０は制御部１００及びビジョンシステム・コンポーネント部２００を含む。ビジョンシステム・コンポーネント部２００は、中央透明部２１２を有するステージ２１０を含む。ビジョンシステム１０を用いて画像形成すべき対象物２０はステージ２１０上に載置される。光源２２０〜２４０の１つ以上から出射した光は対象物２０を照射する。光源２２０〜２４０の１つ以上から出射した光は、対象物２０を照射した後、場合によっては、対象物２０を照射する前に、レンズシステム２５０を通過して対象物２０の画像を生成するためにカメラシステム２６０によって集められる。カメラシステム２６０によって捕捉された対象物２０の画像は、信号線２６２で制御部１００に出力される。対象物２０を照射するために用いられる光源２２０〜２４０は、ステージ２１０用の光源２２０、共軸光源２３０、輪状光源、即ちプログラム可能な輪状光源のような面光源２４０を含み、それらのすべては、接続線、即ちバス２２１，２３１，２４１を介して制御部１００に各々接続される。
【００３０】
ステージ２１０とカメラシステム２６０の間の距離は、カメラシステム２６０によって捕捉された対象物２０の画像の焦点を変更するために調節することができる。特に、ビジョンシステム１０の様々な典型的な具体例では、カメラシステム２６０の位置を固定されたステージ２１０に対して縦軸に沿って変更することができる。ビジョンシステム１０の他の様々な典型的な具体例では、ステージ２１０の位置を固定されたカメラシステム２６０に対して縦軸に沿って変更することができる。ビジョンシステム１０のさらに様々な典型的な具体例では、カメラシステム２６０及びステージ２１０の双方の垂直位置をビジョンシステム１０の焦点範囲を最大化するために変更することができる。
【００３１】
図１に示すように、制御部１００の典型的な一具体例は、入力／出力インターフェース１１０と、コントローラ１２０と、メモリ１３０と、注目範囲生成部１５０と、照明電源供給部１９１を含む電源１９０とを含み、これらは、夫々、様々な要素間でデータ／制御バス１４０により又は直接的に相互に接続される。メモリ１３０は、ビデオツールメモリ部１３１、フィルタ処理メモリ部１３２及び部分プログラムメモリ部１３３を含み、これらは、夫々データ／制御バス１４０により又は直接的に相互に接続される。ステージ２１０用の光源２２０、共軸光源２３０、及び面光源２４０の接続線、即ちバス２２１，２３１，２４１のすべては、各々、照明電源供給部１９１に接続される。カメラシステム２６０からの信号線２６２は、入力／出力インターフェース１１０に接続される。また、表示装置１０２は、信号線１０３を介して入力／出力インターフェース１１０に接続することができる。１つ以上の入力装置１０４は、１つ以上の信号線１０５で接続することができる。表示装置１０２及び１つ以上の入力装置１０４を、部分プログラムの検証、作成及び／又は修正に用いてカメラシステム２６０によって捕捉された画像の検証及び／又はビジョンシステム・コンポーネント部２００の直接制御を行う。しかしながら、予め決められた部分プログラムを有する完全に自動化されたシステムでは、表示装置１０２及び／又は１つ以上の入力装置１０４、並びにこれらに対応する信号線１０３及び／又は１０５を省略してもよいことは認識すべきである。
【００３２】
図１に示すように、ビジョンシステム１０はまた、フィルタ処理画像解析回路／ルーチン３１０、ケース特有フィルタ処理選択回路／ルーチン３５０、疑似画像生成回路／ルーチン３６０、エッジポイント解析回路／ルーチン３７０、境界位置決め修正回路／ルーチン３８０、場合によっては、エッジモード決定回路／ルーチン３９０を含み、これらは、夫々、データ／制御バス１４０により又は直接的に相互に接続される。
【００３３】
メモリ１３０は、対象物２０の画像を捕捉するビジョンシステム・コンポーネント部２００を作動するのに用いられるデータを格納して対象物２０の入力画像が望ましい画像特性を有するようにする。メモリ１３０は、手動又は自動で、捕捉された画像上に様々な検査及び測定作動を実行するビジョンシステム１０を作動するのに用いられ、且つ入力／出力インターフェース１１０を介してその結果を出力するのに用いられるデータをさらに格納する。メモリ１３０はまた、入力／出力インターフェース１１０を介して作動可能なグラフィカル・ユーザ・インターフェースを規定するデータを含む。
【００３４】
ビデオツールメモリ部１３１は、グラフィカル・ユーザ・インターフェースに用いることができる様々なビデオツールと、特に、捕捉された画像内の注目範囲においてエッジ位置決め作動に関わるメモリ・データを規定し格納する注目範囲生成部１５０に用いることができる１つ以上のエッジ設定又は境界設定ツールとを規定するデータを含む。典型的なエッジ／境界検出ツール及びその関連データを、図３及び図４を参照して以下に詳細に説明する。フィルタ処理メモリ部１３２は、さらに以下に詳細に説明するように、本発明の方法及びシステムで用いられる様々な画像のフィルタ処理作動を規定するデータを含んでいる。部分プログラムメモリ部１３３は、作動の処理又はその後にビジョンシステム１０を自動作動するためのルーチンを作成・格納するのに用いられる様々な作動を規定するデータを含む。
【００３５】
フィルタ処理画像解析回路／ルーチン３１０は、現在の注目範囲において所定のテクスチャを有する入力画像の修正及び／又は解析を行うために様々な候補フィルタ処理を適用し、この修正及び／又は解析に基づいてフィルタ処理画像結果を決定する。フィルタ処理画像結果は、候補フィルタ処理のどれが注目範囲のエッジポイントを最も強調又は分離するかを決定するのに用いられる。ケース特有フィルタ処理選択回路／ルーチン３５０は、様々なフィルタ処理画像結果に基づいて、注目範囲のエッジポイントを最も強調又は分離するケース特有フィルタ処理を選択する。ケース特有フィルタ処理選択回路／ルーチン３５０は、また、メモリ１３０の１つ以上の部分にケース特有フィルタ処理の選択に用いられたものを記録してもよい。
【００３６】
疑似画像生成回路／ルーチン３６０は、選択ケース特有フィルタ処理に基づいて注目範囲中の疑似画像を生成する。疑似画像は、入力画像中の不明瞭なテクスチャ特性のエッジに関するエッジポイントを強調又は分離する。その後、エッジポイント解析回路／ルーチン３７０を注目範囲中の疑似画像に適用し、疑似画像中の１つ以上のエッジポイントを見積もる。エッジポイント解析回路／ルーチン３７０は、また、追加情報に基づいて元の推定エッジポイントを修正する作動を行ってもよい。エッジポイント解析回路／ルーチン３７０は、また、メモリ１３０の１つ以上の部分で、見積もられたエッジポイントについて１つ以上のエッジ検出パラメータを記録してもよい。
【００３７】
境界位置決め修正回路／ルーチン３８０は、見積もられたエッジポイントの多数を解析して、確実なエッジの基準に一致するか否かを決定する。境界位置決め修正回路／ルーチン３８０は、また、信頼性のないエッジポイントの修正又は除去を管理し、確実なエッジポイントに基づいて全面的なエッジポイントデータを最終的に決定する。境界位置決め修正回路／ルーチン３８０は、また、メモリ１３０の１つ以上の部分にエッジポイントデータを記録するか、又は、入力／出力インターフェース１１０を介してエッジポイントデータを出力してもよい。
【００３８】
エッジモード決定回路／ルーチン３９０は、制御部１００の任意の要素であってもよい。制御部１００は、また、ビジョンシステム１０により得られた入力画像上で既知のエッジ検出作動を行うための既知の回路／ルーチンを含むことは認識すべきである。そのような既知のエッジ検出を行う既知の回路／ルーチンは、例えば、エッジポイント解析回路／ルーチン３７０及び／又は境界位置決め修正回路／ルーチン３８０に含まれていてもよい。ビデオツールメモリ部１３１、注目範囲生成部１５０、エッジポイント解析回路／ルーチン３７０、及び境界位置決め修正回路／ルーチン３８０にあるエッジ設定ツールのような様々な要素の作動範囲に応じて、そのような要素を、所定の注目範囲が入力画像に適用されたエッジ検出、又は疑似画像に適用されたエッジ検出によって適切に解析されるか否かを独立して決定するように作動させてもよい。しかしながら、そのような要素が、所定の注目範囲が入力画像に適用されるエッジ検出、又は疑似画像に適用されるエッジ検出によって適切に解析されるか否かを独立して決定できないときは、エッジモード決定回路／ルーチン３９０を、エッジ検出作動を実行する様々な他の要素のための適切な作動モードを決定するために含めることができる。
【００３９】
図２は、上述した図１のビジョンシステム１０の様々な回路／ルーチンの詳細な典型的な具体例を示す。図２に示すように、フィルタ処理画像解析回路／ルーチン３１０は、候補フィルタ処理選択回路／ルーチン３１１、特徴画像生成回路／ルーチン３１２、注目領域生成回路／ルーチン３１３、注目領域比較回路／ルーチン３１４を含み、これらは、夫々データ／制御バス１４０により又は直接的に相互に接続される。エッジポイント解析回路／ルーチン３７０は、スキャンライン決定回路／ルーチン３７７、エッジポイント検出回路／ルーチン３７８、及びエッジポイント修正回路／ルーチン３７９を含み、これらは、夫々データ／制御バス１４０により又は直接的に相互に接続される。境界位置決め修正回路／ルーチン３８０は、形状解析回路／ルーチン３８１、境界外除去回路／ルーチン３８２、及びエッジ位置決定回路／ルーチン３８３を含み、これらは、夫々データ／制御バス１４０により又は直接的に相互に接続される。エッジモード決定回路／ルーチン３９０は、エッジ設定ツール判断回路／ルーチン３９１、及び注目範囲解析回路／ルーチン３９２を含み、これらは、夫々データ／制御バス１４０により又は直接的に相互に接続される。
【００４０】
フィルタ処理画像解析回路／ルーチン３１０の様々な典型的な具体例では、要素３１１〜３１４が以下のように作動する。
【００４１】
候補フィルタ処理選択回路／ルーチン３１１は、候補フィルタ処理に対応する特徴画像又はそれに類似するものを得るために入力画像に適用される候補フィルタ処理の組を選択する。候補フィルタ処理は、フィルタ処理メモリ部１３２に含まれるフィルタ処理の組から選択され、典型的な一具体例においては、フィルタ処理メモリ部１３２は候補フィルタ処理の１つ以上の予め決められたグループを含む。個々のそのようなグループは、エッジ検出を高めること、及び検出すべきエッジ周りの特性の特定の傾向を示す画像を位置決めすることに関係するフィルタ処理を含む。候補フィルタ処理選択回路／ルーチン３１１は、入力画像の特性に応じて特定の候補フィルタ処理を選択する。そのような特性は、例えば、検出すべきエッジの一方の側又は両側に有効なテクスチャがあるか否か、画像が白黒画像又はカラー画像であるか否か等、以下にさらに述べるようなものを含んでもよい。様々な画像のために、候補フィルタ処理選択回路／ルーチン３１１は、フィルタ処理メモリ部１３２中のフィルタ処理をすべて選択してもよい。様々な典型的な具体例では、候補フィルタ処理選択回路／ルーチン３１１は自動的に候補フィルタ処理を選択し、また、他の典型的な具体例では、この選択はユーザ入力に基づく。
【００４２】
様々な典型的な具体例では、候補フィルタ処理選択回路／ルーチン３１１によって選択可能な候補フィルタ処理の予め決められた部分集合は以下のものを含む。即ち、Ｓｏｂｅｌオペレータの勾配に基づいて１つ以上の特徴画像を確立するフィルタ処理を含む部分集合、Ｌａｗ’ｓフィルタ処理、即ち、５×５（場合によっては３×３）画素マスク又はウィンドウを組込んだ２５個のフィルタ処理の組、に基づいて１つ以上の特徴画像を確立するフィルタ処理を含む部分集合、及びガボールフィルタ処理に基づいて１つ以上の特徴画像を確立するフィルタ処理を含む部分集合である。検出すべきエッジがそのエッジの一方の側に有効なテクスチャを含みそのエッジの反対側に有効でないテクスチャを含むときに発明者がＳｏｂｅｌ勾配フィルタ処理を用いると効果があった。検出すべきエッジがそのエッジの両側で有効且つ明確なテクスチャ及び／又は方向性のある特徴を含むときに発明者がガボールフィルタ処理を用いると効果があった。また、カラー画像における色領域の境界を検出するために、発明者は移動平均フィルタ処理を用いると効果があった。
【００４３】
これらの様々なフィルタ処理の部分集合は、夫々短、中、及びより長い実行時間で作動する傾向がある。従って、それらを特定の注目範囲内の適切なテクスチャ条件と合うように都合よく選択する。様々な典型的な具体例では、候補フィルタ処理選択回路／ルーチン３１１は、後述する注目範囲解析回路／ルーチン３９２と類似又は相互に影響を与える作動を含み、注目範囲にあるエッジの両側の評価領域において１つ以上のテクスチャの特性を測定する。その後、候補フィルタ処理選択回路／ルーチン３１１は、テクスチャ測定結果を様々な候補フィルタ処理グループに関連する予め決められた基準と比較し、適切な予め決められた候補フィルタ処理部分集合を選択する。例えば、低い変動値が境界の一方の側にあるときは、前述したＳｏｂｅｌ型フィルタ処理を用いることができる。方向性のあるテクスチャ特性が検出されたときは、ガボールフィルタ処理を用いることができる。わずかに方向性のないテクスチャが境界の両側で検出されるときは、Ｌａｗ’ｓフィルタ処理を用いることができる。カラーフィルタ処理はカラー画像等に用いることができる。様々なテクスチャを特徴づける方法は、当業者にとって周知であり、本明細書で引用した文献においても論じられている。
【００４４】
既知であるか又は最近開発されたフィルタ処理及び／又は１連の画像フィルタ処理方法は本発明の方法及びシステムの様々な具体例で用いることができることは認識すべきである。
【００４５】
さらに、用語「候補フィルタ処理」及び「選択フィルタ処理」、又は「ケース特有フィルタ処理」は、本明細書の様々な典型的な具体例で用いられているように、特定のフィルタ処理機能を用いたフィルタ処理画像、局所エネルギー関数をフィルタ処理画像に適用した結果得られる特徴画像、特徴画像に基づいて標準化された特徴画像等を生成するために必要なすべての機能又は構成要素を含んでもよいことは認識すべきである。また、従来型画像を特徴づけるのに適している現在既知であるか又は最近開発された計量値を決定するのに必要な機能又は作動を含んでもよい。より一般的には、候補フィルタ処理及び選択フィルタ処理という用語は、特定のフィルタ処理機能だけでなく特定のフィルタ処理に関連する独特の機能又は構成要素を含む。フィルタ処理画像解析回路／ルーチン３１０及び／又は特徴画像生成回路／ルーチン３１２及び／又は注目領域生成回路／ルーチン３１３は、用いられなければならず、様々な典型的な具体例において、その特定フィルタ処理を、その機能に応じて１つ以上の部分フィルタ処理画像結果を生成するために用いなければならない。このように、候補フィルタ処理及び選択フィルタ処理という用語は、本明細書で用いられるように、後述する特定のフィルタ処理機能に応じて対応する部分フィルタ処理画像結果を決定するのに必要なすべての独特の要素を指す。本明細書では、それらの範囲が様々な典型的な具体例に及ぶためにフィルタ処理及びフィルタ処理のグループも時にはフィルタ処理方法を指す場合がある。
【００４６】
特徴画像生成回路／ルーチン３１２は、選択候補フィルタ処理に基づいて少なくとも１つの特徴画像等を生成する。特徴画像生成回路／ルーチン３１２を、注目範囲生成部１５０により生成された注目範囲に従って元の入力画像に適用する。典型的な具体例では、特徴画像Ｆｋを各候補フィルタ処理ｋに対して生成する。特徴画像は、一般に、特定のフィルタ処理機能で入力画像データをフィルタ処理し、そのフィルタ処理された画像データに局所エネルギー関数を適用することにより生成する。局所エネルギー関数は、一般に、フィルタ処理された画像データに表された画像信号を修正し、且つ滑らかにする。典型的な局所エネルギー関数は特徴画像の各画素値を決定するために各画素を囲むウィンドウ中のフィルタ処理画像の画素値の大きさを集計することと、特徴画像の各画素値を決定するために各画素を囲むウィンドウ中のフィルタ処理画像の画素値の二乗を集計することを含む。
【００４７】
さらに、典型的な具体例では、各特徴画像を、さらに後述するように、各候補フィルタ処理に対応して部分フィルタ処理画像結果がより容易に比較されるように標準化することができる。この場合、本明細書では、標準化された特徴画像は、記号Ｆｋによって表される特徴画像である。標準化方法は、当業者にとって周知のものである。例えば、各特徴画像の画素値は、平均０分散１である範囲に標準化することができる。一般に、既知であるか又は最近開発された標準化方法を用いることができる。
【００４８】
注目領域生成回路／ルーチン３１３は、自動的に又はユーザにより注目範囲近傍に様々な注目領域を規定する。注目領域生成回路／ルーチン３１３は、また、注目領域に基づいて「部分フィルタ処理画像結果」を決定する。部分フィルタ処理画像結果は、特徴画像生成回路／ルーチン３１２によって生成された各特徴画像Ｆｋにある各注目領域に対して決定される。注目領域内の各部分フィルタ処理画像結果は、様々な典型的な具体例では、フィルタ処理画像であってもよいし、フィルタ処理画像に局所エネルギー関数を適用した結果得られた特徴画像であってもよいし、標準化された特徴画像等であってもよいし、従来型画像又はそれらの変形例を特徴づけるのに適している現在既知であるか又は最近開発された計量値であってもよい。典型的な具体例では、注目領域内の部分フィルタ処理画像結果は、その注目領域の標準化された特徴画像Ｆｋの画素値の平均値である。「部分」フィルタ処理画像結果は、「中間」結果として理解すべきであり、１つ以上の「最終の」フィルタ処理画像結果を決定するために用いてもよく、本明細書では、単に「フィルタ処理画像結果」と呼称してもよい。フィルタ処理画像又は特徴画像のためのフィルタ処理画像結果は、一般に、本明細書に記載される方法及びシステムによって検出すべき境界を強調、即ち分離する画像の能力を示す。
【００４９】
注目領域生成回路／ルーチン３１３は、適切に配置されたエッジ設定ツールに関連したデータ及び／又は注目範囲生成部１５０の作動に基づいて注目領域を生成する。注目領域は、各特徴画像Ｆｋと同一、即ち一致する。典型的な一具体例では、注目領域は、注目範囲に位置するエッジのほぼ中央位置に対称的に位置する１つ以上の対として規定される。中心位置は、また、後述する位置Ｐ０であってもよい。より一般には、注目領域は、注目範囲内の境界の向かい合う側にある少なくとも一対の領域を含む。注目領域は、注目範囲内の境界及びその境界の比較的近傍の一方の側に表された典型的なテクスチャ特性をすべて捕捉するのに十分な大きさであるべきである。注目範囲内の境界及び／又はその境界上の中心位置を囲む多数の注目領域の生成には、２つの長所がある。第１に、注目範囲内にかき傷や汚れのような変則的なテクスチャがあるとき、注目領域のいくつかにはその変則的なものがないであろう。第２に、多数の範囲を一般的な方法で自動的に生成することができ、後述するように、注目領域比較回路／ルーチン３１４は、適切な代表注目領域対を発見する好機をもたらす。典型的な注目領域を図４を参照しながら説明する。
【００５０】
注目領域比較回路／ルーチン３１４は、境界の両側のテクスチャの差分を最も良く表す代表注目領域対を選択するために、様々な注目領域で予め決定された部分フィルタ処理画像結果を比較する。典型的な一具体例では、注目領域比較回路／ルーチン３１４が、注目領域生成回路／ルーチン３１３によって対称的に位置する注目領域対毎に決定される特徴画像の計量値間の差分を決定される。この差分は、各特徴画像Ｆｋの中の各注目領域対のために決定する。特徴画像の計量値は、例えば、前述した各注目領域の標準化された特徴画像Ｆｋの画素値の平均値であってもよい。その後、注目領域比較回路／ルーチン３１４は、境界の両側のテクスチャの差分を最も反映する代表注目領域（ＲＲＯＩ1とＲＲＯＩ2）として最も大きな差分を示す注目領域対を選択する。
【００５１】
別の典型的な具体例では、注目領域比較回路／ルーチン３１４は、各注目領域対の合成値結果を決定し、次に、その合成値に基づいてＲＲＯＩ1及びＲＲＯＩ2を選択する。個々の合成値結果は、特徴画像Ｆｋ夫々の部分画像結果を組み込む。典型的な具体例では、フィッシャー距離又は基準として知られている基準が各特徴画像Ｆｋ内で対称的に位置する注目領域対毎に決定された夫々の部分フィルタ処理画像結果を比較するために用いられる。フィッシャー距離は、２つの要素の平均の差分の２乗の値を分子、２つの要素の分散の合計値を分母とする商である。第１に、フィッシャー距離は、各特徴画像Ｆｋの２つの注目領域内の特徴画像画素データである２つの要素用として決定される。第２に、各注目領域対の合成値結果は、すべての特徴画像Ｆｋのための注目領域対用のフィッシャー距離の合計として決定される。最大の合成値結果を有する注目領域対は、代表的注目領域ＲＲＯＩ1及びＲＲＯＩ2として選択される。アナログのフィッシャー距離手続きが、各特徴画像Ｆｋの夫々のフィッシャー距離を決定することなく、根本的な特徴画素データに適用しうることは認識すべきである。
【００５２】
注目領域比較回路／ルーチン３１４が一旦代表的な一対の注目領域、ＲＲＯＩ1及びＲＲＯＩ2を選択すると、図１を参照して前述したケース特有フィルタ処理選択回路／ルーチン３５０が候補フィルタ処理から最良のケース特有フィルタ処理を選択する。そのようなフィルタ処理を本明細書では選択フィルタ処理と呼ぶ。最良のケース特有フィルタ処理は、現在の注目範囲内のエッジポイントを最も強調、即ち分離するフィルタ処理である。
【００５３】
特定の候補フィルタ処理が特定の生成された特徴画像Ｆｋに相当すると共に、関連する部分フィルタ処理画像結果及び全体フィルタ処理画像結果に相当することは認識すべきである。さらに、選択特徴画像Ｆｊが選択されると同時に選択フィルタ処理ｊが有効に選択されることは認識すべきである。従って、様々な典型的な具体例では、ケース特有フィルタ処理選択回路／ルーチン３５０は、特徴画像Ｆｋの候補の組から特徴画像Ｆｊの部分集合を選択することにより候補フィルタ処理の選択を修正する。この選択は、候補特徴画像ＦｋのＲＲＯＩ1及びＲＲＯＩ2に対応するフィルタ処理画像結果の検討に基づく。
【００５４】
この選択は、エッジ検出に有用な疑似画像を生成するために、元の画像又は類似の画像に適用すべきフィルタ処理の数を減らすために行われる。最も有用なフィルタ処理だけを選択することにより、より速いエッジ検出を達成し、且つ／又は本発明の方法及びシステムを用いてエッジ検出する精度及び信頼度を改善することができる。一般に、注目範囲中の境界において２つの対向する側のテクスチャの差分を有効に強調しない候補フィルタ処理は除去される。特に、ＲＲＯＩ1及びＲＲＯＩ2中のテクスチャの差分を有効に強調しない候補フィルタ処理は除去される。
【００５５】
典型的な一具体例では、上述したように、注目領域比較回路／ルーチン３１４は、各候補特徴画像ＦｋのＲＲＯＩ1及びＲＲＯＩ2のための代表的なフィッシャー距離（Ｒ−フィッシャー距離）を決定している。そのような場合は、有効なＲ−フィッシャー距離が注目範囲中の境界を強調するのに役立つフィルタ処理に相当するので、ケース特有フィルタ処理選択回路／ルーチン３５０は、有効なＲ−フィッシャー距離を有する特徴画像を選択する。典型的な一具体例では、すべての候補画像Ｆｋ用のＲ−フィッシャー距離が比較され、最大のＲ−フィッシャー距離が決定される。その後、その最大のＲ−フィッシャー距離の５０％以上のＲ−フィッシャー距離を有する特徴画像／フィルタ処理はすべて、選択特徴画像Ｆｊ及び／又は選択フィルタ処理ｊとして選択される。この具体例の延長上では、予め選択されたフィルタ処理のうち最も優れたものの多くとも５つは、選択フィルタ処理として保持される。前述した選択技術は、特徴画像Ｆｊ及び／又は選択フィルタ処理ｊの最適の部分集合を生成しないことが知られている。一般に、特徴画像の「最適の」部分集合を得るには、処理装置の処理能力及び／又は時間の消費の徹底的な方法を必要とする。従って、徹底的に最適化する技術は、本発明の方法及びシステムが意図する適用範囲では現在のところ望ましいものでない。
【００５６】
既知であるか又は最近開発されたフィルタ処理選択技術は、特徴画像Ｆｊの部分集合及び／又は選択フィルタ処理ｊを選択するために用いることができることは認識すべきである。また、特徴画像Ｆｊの部分集合が特徴画像Ｆｋの候補組未満であっても、特徴画像Ｆｊの部分集合は特徴画像Ｆｋの候補の組と等しくなりえることは認識すべきである。さらに、ケース特有フィルタ処理選択回路／ルーチン３５０が一旦特徴画像Ｆｊの部分集合及び／又はフィルタ処理ｊを選択すると、注目領域比較回路／ルーチン３１４は、今度は選択特徴画像Ｆｊのみに基づいてＲＲＯＩ1及びＲＲＯＩ2を再度決定するために最適に用いることができることは認識すべきである。異なるＲＲＯＩ1及びＲＲＯＩ2が結果として生じてもよく、且つ、ＲＲＯＩ1及びＲＲＯＩ2は、引き続くケース特有作動のために用いられるべきである。
【００５７】
また、当業者であれば明らかなように、本発明の方法及びシステムに用いることができる特徴選択技術の様々な代替手段があることは認識すべきである。さらに、特徴選択技術の代替手段として、特徴抽出技術が知られており、これはケース特有フィルタ処理選択回路／ルーチン３５０の様々な作動及び上記概説した要素３１１〜３１４に関連する作動の代わり、又は、これらに追加して用いることができる。例えば、アカデミック出版から１９９０年サンディエゴで出版されたフクナガ・ケイノスケ著の統計的パターン認識序論（Introduction to Statistical Pattern Recognition, by Keinosuke Fukunaga, Academic, San Diego, 1990）という本にある「信号表現のための特徴抽出及び線形写像（Feature Extraction and Linear Mapping for Signal Representation）」というタイトルの章を参照されたい。さらに、Ｓｏｂｅｌフィルタ処理、Ｌａｗ’ｓフィルタ処理、ガボールフィルタ処理は、多数の代替フィルタ処理と同様に、また、フィルタ処理された画像、特徴画像、特徴ベクトル、分級ベクトル、特徴抽出及び疑似画像等を生成するためにそれらの様々な使用及び実行と同様に、当業者によく知られている。例えば、１９９９年４月のＩＥＥＥ会報「パターン解析及び人工知能」のＶｏｌ.２１，Ｎｏ．４にある「テクスチャ分類のためのフィルタ処理：比較研究」（"Filtering for Texture Classification: A Comparative Study", IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.21, No. 4, April 1999）を参照されたい。また、一般的な特徴選択及び抽出については、アメリカのオックスフォード大学出版社から１９９９年ニューヨークで共同出版されたアンドリュー・ウェッブ著の統計的パターン認識（"Statistical Pattern Recognition", by Andrew Webb, co-published in the USA by Oxford University Press Inc., New York, 1999）や、１９８０年ＳＰＩＥ会議会報「ミサイル誘導のための画像加工」の３７６〜３８０頁にある「迅速なテクスチャ識別」（"Rapid Texture Identification", Proc. SPIE Conf. Image Processing for Missile Guidance, pp. 376-380, 1980）や、１９９１年「パターン認識」のＶｏｌ．２４，  Ｎｏ．１２の１１６７〜１１６８頁（"Pattern Recognition", vol. 24, no. 12, pp. 1,167-1,168, 1991）にある「ガボールフィルタ処理を用いる未管理テクスチャの区分化」を参照されたい。
【００５８】
さらに、本発明の方法及びシステムの様々な典型的な具体例は、本明細書中では、画像、フィルタ処理画像、特徴画像及び／又は疑似画像を決定するか抽出するように、また同様に、様々な部分フィルタ処理画像結果と、フィルタ処理画像結果と、これらの様々な画像のタイプを評価・比較するのに用いることができる画像の計量値とを決定するように述べているが、これらの用語が、本発明の方法及びシステムの様々な具体例において相互に排他的ではないことは認識すべきである。例えば、本発明で用いられる数式の変形及びアルゴリズムの性質から明らかであるように、フィルタ処理画像の部分又は特徴画像はまた、関連部分フィルタ処理画像結果として作動するか、これらの結果を推論することができるものとしてもよい。従って、これらの用語は、様々な作動を説明する目的で本明細書中の様々な情況で用いられるが、故意に相互に排他的な意味で用いられることはない。
【００５９】
特に、本明細書中の様々な作動は、１つ以上の特徴画像、部分フィルタ処理画像結果及び／又はフィルタ処理画像結果を決定するものとして説明する。様々な他の作動は、以前に決められた画像及び／又は結果に基づいて、即ちこれらの中から選択するものとして説明する。関連する決定・選択タイプの作動間の境界線は大部分は任意であることは認識すべきである。例えば、より基本的な特徴画像、部分フィルタ処理画像結果及び／又はフィルタ処理画像結果は、本発明の目的を達成するために、より基本的な要素の不足を補う、より修正されたセレクタによって選択することができるようにしてもよいことは明らかである。反対に、本発明の目的を達成するために、より基本的な要素の不足を補うより基本的なセレクタをより多くの修正された特徴画像、部分フィルタ処理画像結果及び／又はフィルタ処理画像結果と共に用いてもよいことは明らかである。従って、様々な典型的な具体例では、「決定」及び「選択」に関連した様々な作動を、交換し、併合し、判別不能としてもよいことは認識すべきである。
【００６０】
ケース特有フィルタ処理選択回路／ルーチン３５０が一旦特徴画像Ｆｊ及び／又は選択フィルタ処理ｊの部分集合を選択すると、疑似画像生成回路／ルーチン３６０は、図１を参照して前述したように、本明細書においてケース特有フィルタ処理と呼ばれる選択フィルタ処理ｊに基づいて疑似画像を生成するために作動する。
【００６１】
典型的な一具体例では、標準化された特徴画像Ｆｊの１組がメモリ１３０から現在生成されず、即ち利用可能でないとき、疑似画像生成回路／ルーチン３６０は、特徴画像生成回路／ルーチン３１２に前述した作動によってケース特有フィルタ処理ｊの部分集合に基づいて標準化された特徴画像Ｆｊの１組を生成させる。その後、疑似画像生成回路／ルーチン３６０はＲＲＯＩ1及びＲＲＯＩ2に対応する一対の分級ベクトルＣＶ１及びＣＶ２を夫々決定する。
【００６２】
分級ベクトルＣＶ１は、ケース特有フィルタ処理ｊに対応する標準化された特徴画像Ｆｊの各々のＲＲＯＩ1中の画素データの平均値を含むことができる。従って、ｎを上記概説したように、ケース特有フィルタ処理選択回路／ルーチン３５０により選択されたケース特有フィルタ処理ｊの数としたとき、ＣＶ１の次元はｎである。ＣＶ２は、標準化された特徴画像Ｆｊ各々のＲＲＯＩ2の中の画素データに基づいて同様に決定された同様のベクトルである。分級ベクトルＣＶ１及びＣＶ２の決定後、疑似画像生成回路／ルーチン３６０は、エッジ位置決め作動の現在の組を実行するのに用いられるであろう疑似画像を生成する。疑似画像は、少なくとも前述した注目範囲のために生成する。この典型的な具体例は、分級ベクトルＣＶ１及びＣＶ２と標準化された特徴画像Ｆｊのデータとの比較に基づいている。
【００６３】
疑似画像生成回路／ルーチン３６０は、分級機を用いて疑似画像を生成することができる。この分級機はデータ集合制御技術でありうる。この場合、注目範囲中の画素の空間位置に対応する特徴ベクトル、即ち、画素特徴ベクトルとも呼ばれるものは、メンバーシップ等級によって指定されたクラスタ又は領域に属するように決定される。本明細書で用いられているように、画素特徴ベクトル（ＰＦＶ）は、ケース特有フィルタ処理ｊに対応して標準化された特徴画像Ｆｊの各々の対応空間位置に対する特徴画素値を含む。従って、ｎを上記概説したようにケース特有フィルタ処理選択回路／ルーチン３５０により選択されたケース特有フィルタ処理ｊの数としたとき、画素特徴ベクトルの次元はｎである。さらに、ＰＦＶの要素は、ＣＶ１とＣＶ２の要素と同様に処理されるものであり、また、同じ根本的な特徴画素データ、例えば標準化された特徴画素データに基づいている。従って、ＰＦＶとＣＶ１及びＣＶ２とに対応する要素は有効なものとして比較してもよい。
【００６４】
少なくとも注目範囲の各画素位置は、疑似画像生成回路／ルーチン３６０によって順に選択される。分級機は、疑似画像生成回路／ルーチン３６０により対応する画素特徴ベクトルに適用され、その画素特徴ベクトルがＲＯＩ1に対応するＣＶ１により似ているか、ＲＯＩ2に対応するＣＶ２により似ているか否かを決定する。例えば、ユークリッドの距離は現在のＰＦＶとＣＶ１又はＣＶ２との間の夫々の距離を決定するために用いてもよい。ＣＶ１又はＣＶ２のユークリッドの距離は、現在のＰＦＶとＣＶ１又はＣＶ２とに対応する要素間の差分の２乗の合計である。ユークリッドの距離がより小さいほど、そのユークリッドの距離によって比較された２つのベクトルはより相似形のものとなる。ユークリッドの距離、即ちユークリッドの距離を構成する要素に基づいて、メンバーシップ値が決定され、現在評価された画素特徴ベクトルに対応する疑似画像の画素に割り当てられる。
【００６５】
ある意味では、疑似画像の画素値は、ＲＲＯＩ1の境界側又はＲＲＯＩ2の境界側にその画素が「属する」程度を示す。典型的な具体例では、各疑似画素はＲＲＯＩ1の境界側に対する完全なメンバーシップを表す０.０と、ＲＲＯＩ2の境界側に対する完全なメンバーシップを表す１.０との間の値が割り当てられる。
【００６６】
１つの特定の具体例では、メンバーシップ値は、本明細書に参考文献として組み込まれている１９８４年の「コンピュータと地球科学」Ｖｏｌ．１０, Ｎｏ．２〜３の１９１〜２０３頁にある「ＦＣＭ:ファジィｃ−平均クラスタリングアルゴリズム」（"FCM: The fuzzy c-Means Clustering Algorithm", Computers & Geosciences, Vol. 10, No. 2-3, pp 191-203, 1984）の記事に記載されるファジィｃ−平均分級機に基づいて修正されたファジィｃ−平均分級機を用いて下記のように決定される。この記事で規定される記号を使用して、分級機のパラメータは、ｃ＝２（２つのクラスタ）、ｍ＝２（重み付けべき指数）、ｖ=ＣＶ１，ＣＶ２（本明細書中で規定される中心ベクトル）、ｎｏｒｍ=ユークリッドの距離、ｎ＝データ数＝ツールの注目範囲中の画素数として設定される。このアルゴリズムの好ましい修正版では、反復は無く、また、クラスタリングをクラスタｖ=ＣＶ１，ＣＶ２である初期の中心で実行する。十分に規定された原型のクラスタＣＶ１，ＣＶ２が用いられるので、最初の反復、つまり最初の分類の後にクラスタリングを止めても、好結果が得られる。境界の近傍のメンバーシップ値の分散を強調することにより、このパラメータの組が非線形の分類を生産することは認識すべきである。
【００６７】
一般に、このファジィクラスタリングアルゴリズムは２つのメンバーシップ画像を生成する。第１のメンバーシップ画像は、クラスタ１に対する各画素のメンバーシップ値で、第２のメンバーシップ画像は、クラスタ２に対する各画素のメンバーシップ値である。しかしながら、各画素位置に対するメンバーシップの合計が我々の場合は単一でなければならないので、メンバーシップ画像は追加的であり、且つ我々はそれらの１つを決定すれば足りる。
【００６８】
１組の特徴画像に基づいて様々な疑似画像を生成するための種々様々の代替手段があることは認識すべきである。そのような代替手段は、代替ファジィ分級機、神経分級機、隠しマーク付けモデル、又は本発明に用いることができる１組の疑似画像の画素値を生成することができる既知であるか又は最近開発された他のすべての技術又はアルゴリズムを含む。さらに、別のタイプの分類、即ち疑似画像の生成が実行されるときは、上述のメンバーシップ関数作動が、各画素位置に対応する様々なフィルタ処理画像結果又は特徴画像結果に重み付け因子を適用する他の適切な作動と取り替えることにより、それらがＲＲＯＩ1又はＲＲＯＩ2の特性に類似することに基づいてより大きいか又はより小さい値にそれらを一致させてもよいことは認識すべきである。本発明の方法及びシステムで用いることができる様々な代替手段は、当業者にとって明らかなものである。
【００６９】
前述の疑似画像生成回路／ルーチン３６０が一旦現在の疑似画像を生成すると、エッジポイント解析回路／ルーチン３７０は、図１を参照して前述したように、注目範囲内の境界に沿って１つ以上のエッジポイントを決定するために作動することができる。エッジポイント解析回路／ルーチン３７０の様々な典型的な具体例では、要素３７７〜３７９は以下のように作動することができる。
【００７０】
スキャンライン決定回路／ルーチン３７７は、イリノイ州オローラに所在地のあるミツトヨアメリカ社（ＭＡＣ）から購入可能なＱＵＩＣＫ  ＶＩＳＩＯＮ（登録商標）シリーズのビジョン検査機械及びＱＶＰＡＫ（登録商標）のソフトウェアのように、商業利用できるマシンビジョンシステムの中で使用されるような既知の方法により、１つ以上のエッジ検出スキャンラインと、スキャンラインを「横断」する方向、即ち極性を決定することができる。一般に、スキャンライン決定回路／ルーチン３７７は、入力画像上に適切に位置するエッジ設定ツール及び／又は注目範囲生成部１５０の作動に関連したデータに基づいてスキャンラインを決定する。オペレータ入力によりスキャンラインの間隔、即ち、５又は２０の画素単位のようなデフォルト値を変更してもよく、注目範囲の幅の割合を自動的にデフォルト値として設定することもできる。スキャンラインは疑似画像中の境界を横切って延びる。エッジ検出作動を実行するためにスキャンライン横断する方向、即ち極性は、エッジの近傍の疑似画像の特性に基づいて決定される。一般に、スキャンラインを横断する方向を、より変動値の小さい領域からより変動値の大きい領域に移行させることができる。より一般的には、スキャンラインを横断する方向を、よりノイズが小さいエッジ検出結果を呈する方向に移行させるべきである。
【００７１】
エッジポイント検出回路／ルーチン３７８は、既知であるか又は最近開発されたエッジポイント検出作動に従ってスキャンライン決定回路／ルーチン３７７により決定された各スキャンラインに沿ったエッジポイントを評価する。疑似画像中の各スキャンラインに沿った値は、一次元の信号を構成する。典型的な一具体例では、エッジポイントが疑似画像中のスキャンライン信号に沿った最大勾配の点である。白黒の強度画像等で用いられる既知であるか又は最近開発されたエッジ検出作動を疑似画像中のエッジ位置を検出・評価することに適用してもよいことは認識すべきである。
【００７２】
エッジポイント検出回路／ルーチン３７８はまた、メモリ１３０の１つ以上の部分で推定エッジポイントに関連した１つ以上のエッジ検出パラメータを記録し、ケース特有エッジ検出作動をエッジ検出及び／又はエッジポイント信頼度評価のために記録されたパラメータを用いて自動的に動作しうるようにしてもよい。そのようなパラメータは、エッジ上の画素値変化、エッジ上の画素値増加方向、しきい値を超えた画素値変化を含むエッジ上のスキャンラインの数又は割合等のような、エッジを特徴づけるスキャンラインの疑似画素値プロファイルの様々な特性を含んでいてもよい。典型的な一具体例では、各特性の平均値は、その後実行されるケース特有自動「実行時間」エッジ測定の基準として記録される値である。これはかなり高い初期信頼度を有するエッジポイントだけを検出する傾向にある。
【００７３】
その後、エッジポイント修正回路／ルーチン３７９は、追加情報に基づいて、１つ以上の初期のエッジポイント推定値を修正する作動を実行してもよい。典型的な一具体例では、エッジポイント修正回路／ルーチン３７９が、通常はスキャンラインと平行な１方向に沿った初期の推定エッジポイントの両側に延びる局所領域の複数の画素位置について解析作動を実行する。典型的な一作動例では、選択・検出されたエッジポイントのスキャンラインに沿った最も接近している多くの画素位置ｑに関連したデータが初期の推定エッジポイントの位置を修正するために用いられる。初期の推定エッジポイントを囲む画素位置ｑに属する各画素位置ｉのために、エッジポイント修正回路／ルーチン３７９は、特徴画像生成回路／ルーチン３１２によって生成されると共に、ケース特有フィルタ処理選択回路／ルーチン３５０によって選択された特徴画像の現在の組におけるこれらの特定の画素位置に基づいて、 画素位置（ｉ＋１）と 画素位置（ｉ−１）の間の上述したユークリッドの距離を算出する。画素位置ｑの各々に位置するこれらのユークリッドの距離の値はカーブを形成する。その後、解析作動は、カーブの下のエリアに対する重心の位置を決定する。重心の位置は、その画素位置に関して存在し、従って、スキャンラインに沿って修正されたエッジポイント推定値を決定する。典型的な一具体例では、エッジポイント修正回路／ルーチン３７９はこの重心の位置決め作動を用いて各初期のエッジポイントの推定を修正する。
【００７４】
エッジポイント修正回路／ルーチン３７９は、初期に決定されたエッジポイントを有効にし、それらの信頼度を増加させるために、図１４及び図１５のステップＳ１６５１〜Ｓ１６６２及び／又は図１７のステップＳ２５２０〜Ｓ２５６０を参照して後述するような作動を実行してもよい。様々な他の典型的な具体例では、エッジポイント修正回路／ルーチン３７９は、境界位置決め修正回路／ルーチン３８０と相互に作用し、図１を参照して前述したように修正されるエッジポイントを決定する。
【００７５】
エッジポイント修正回路／ルーチン３７９は、また、エッジポイント検出回路／ルーチン３７８によって以前に決定及び／又は記録が行われた１つ以上のエッジ検出パラメータを修正してもよい。さらに、メモリ１３０の１つ以上の部分で修正されたエッジポイントに関する１つ以上のエッジ追加エッジ検出パラメータを追加又は記録して、エッジ検出及び／又はエッジポイント信頼度評価のため記録されたパラメータを用いてケース特有エッジ検出作動を自動的に実行することができるようにしてもよい。
【００７６】
境界位置決め修正回路／ルーチン３８０の様々な典型的な具体例では、要素３８１〜３８３を以下のように作動させることができる。
【００７７】
形状解析回路／ルーチン３８１は、複数の推定エッジポイントを解析し、それらが信頼できるエッジ検出の基準に相当するか否かを決定する。典型的な一具体例では、基準は、推定されたポイントに合ったライン（曲線でもよい）と予期されたエッジ形状との間の偏差に基づいた形状評価に対するしきい値と、推定ポイントに合ったラインと予期されたエッジ位置との間の偏差に基づく位置評価に対するしきい値と、推定エッジポイントに合ったラインからの個々のエッジポイント距離の標準偏差に基づく境界外除去しきい値とを含む。予期されたエッジ形状及び位置は、ビジョンシステム１０のオペレータがエッジ設定ツールの選択及び配置をすることによって、他のユーザ入力によって設定されたり、また、様々なＣＡＤデータ作動に基づいて自動的に設定されたりする。形状解析回路／ルーチン３８１の作動の結果に基づいて、境界外除去回路／ルーチン３８２は、除去・修正用の境界外除去しきい値基準に満たない１つ以上のエッジポイントを選択する。様々な典型的な具体例では、エッジポイント修正回路／ルーチン３７９は前述したエッジポイントの推定の修正を実行し、形状解析回路／ルーチン３８１と境界外除去回路／ルーチン３８２とは、信頼性の高いエッジや信頼性の低いエッジを構成する残りの推定エッジポイントが最終的に決定されるまで、複数の推定・修正されたエッジポイントを循環的に解析する。信頼性の低いエッジについては、境界外除去回路／ルーチン３８２が、データ／制御バス１４０に対応エラー信号を出力する。様々な典型的な具体例では、形状解析回路／ルーチン３８１及び境界外除去回路／ルーチン３８２の作動は合併されたり、判別不能となったりしてもよいことは認識すべきである。信頼性の高いエッジについては、エッジ位置決定回路／ルーチン３８３が、最終推定エッジポイント及び／又は他の由来するエッジ位置パラメータを含んでもよい最終エッジ位置データを決定し、そしてメモリ１３０の１つ以上の部分及び／又は入力／出力インターフェース１１０にデータ／制御バス１４０でデータを出力する。
【００７８】
エッジモード決定回路／ルーチン３９０の様々な典型的な具体例では、要素３９１〜３９２が以下のように作動することができる。
【００７９】
エッジ設定ツール判断回路／ルーチン３９１は、各特定のエッジのケースに対して、様々な他の要素が、その特定のエッジのケースに関連したエッジ設定ツールデータに基づいてエッジ検出作動を行うための作動の適切なモードを決定する。適切な作動モードは、注目範囲の特定のエッジが、前述したように入力画像に適用されたエッジ検出作動又は疑似画像に適用されたエッジ検出作動によって適切に解析されるか否かに基づく。第１の典型的な具体例では、独特なエッジ設定ツールが、明確なエッジのための入力画像エッジ検出と、重要なテクスチャを有するエッジのための疑似画像エッジ検出との夫々に排他的に関連する。そのような場合、エッジ設定ツール判断回路／ルーチン３９１は、現在のエッジの場合に関連したエッジ設定ツールのタイプを判断し、それに従って作動する。第２の典型的な具体例では、エッジ設定ツールはチェックボックス又はそれに類似するような第２の選択可能な機構を含み、この機構は、明確なエッジのための入力画像エッジ検出と、重要なテクスチャを有するエッジのための疑似画像エッジ検出との夫々に排他的に関連する。そのような場合、エッジ設定ツール判断回路／ルーチン３９１は、現在のエッジの場合に関連した第２の選択可能な機構を判断し、それに従って作動する。
【００８０】
しかしながら、様々な他の典型的な具体例では、１つ以上のエッジ設定ツールが、明確なエッジのための入力画像エッジ検出又は重要なテクスチャを有するエッジのための疑似画像エッジ検出に排他的に関連する特性又は特徴を備えることができない。そのような場合、注目範囲解析回路／ルーチン３９２は適切なエッジ検出モードを決定することができる。ここで、注目範囲解析回路／ルーチン３９２は、注目範囲にあるエッジの両側の評価領域における局所変動値のような、少なくとも１つのテクスチャ特性を自動的に決定することができる。評価領域の位置は、適切に位置したエッジ設定ツールに関連するデータ及び／又は注目範囲生成部１５０の作動に基づく。そのとき、注目範囲解析回路／ルーチン３９２は、決定されたテクスチャ特性に基づいてエッジ検出の適切なモードを自動的に選択することができ、特定のエッジに対してエッジ検出作動を実行する様々な他の要素のための適切な作動モードを設定する。
【００８１】
図３は、本発明の方法及びシステムを用いて検出・位置決めできる重要なテクスチャを有するエッジを備える対象物の例の２画像を示す。画像４００は、本発明の方法及びシステムの様々な具体例で正確に位置決めできるエッジ／境界４０６を含む。画像４００は、画像４００の第１の部分４０２と画像４００の第２の部分４０４の間に存在するエッジ／境界４０６を備える。画像４００は、図１を参照して説明したビジョンシステム１０によって捕捉された対象物２０の画像である。
【００８２】
本発明の方法及びシステムを実行モード中にエッジ又は境界を位置決めするために自動モードで用いうる状態となる前に、本発明の方法及びシステムは、特有の画像由来パラメータを用いて特定のエッジを検出するために設定されなければならない。ビジョンシステム１０によって捕捉された画像を用いるときに、その捕捉された画像は、エッジ位置決め作動で入力画像５００として用いられる。図３は、本発明の方法及びシステムで用いることができる入力画像５００の典型的な一具体例を示す。入力画像５００は、入力画像５００にある第１の部分５０２及び第２の部分５０４間内に規定されるエッジ５０６を有する。
【００８３】
入力画像５００を捕捉した後に、入力画像５００は表示装置１０２上に表示され、その結果、ユーザはグラフィカル・ユーザ・インターフェースを用い、且つ、境界ツール又はエッジ検出ツールと呼ばれることもある境界検出ツールで位置決めすることにより、検出すべき特定のエッジ又はエッジの一部について注目範囲を規定することができる。注目範囲は、その位置決めされたエッジ設定ツールに対応するデータに基づいて注目範囲生成部１５０によって規定される。１つの典型的な境界ツール５０８は、ユーザによって形成しうる注目範囲の輪郭の描画・決定用のボックス５０５を含む。例えば、このボックス５０５は、円弧又は円形、又は図３で示されるような長方形で形成されてもよい。しかしながら、ユーザ又は自動プロセスによって注目範囲が規定されうるあらゆる形で境界検出ツール５０８を描くことができることは認識すべきである。境界ツール５０８は、また、図３で重なった同一の長方形をとして示される注目領域指標５１２を含む。様々な他の具体例では、エッジ設定ツールがエッジポイントツールであり、また、注目範囲及び注目領域の指標は表示装置１０２上で示されないが、夫々前述した注目範囲生成部１５０及びフィルタ処理画像解析回路／ルーチン３１０によって、ユーザにより位置決めされる単純なポイント・カーソルに基づいて自動的に決定する。様々な他の典型的なエッジ設定ツールは、以前に参照した商業上利用可能なマシンビジョンシステム等で明らかである。
【００８４】
境界検出ツール５０８が入力画像５００上に描画された後、ユーザは、境界ツール５０８によって境界づけられる注目範囲内に注目ポイント（Ｐ０）を規定することができる。これに代えて、注目ポイントＰ０は、境界検出ツール５０８の位置に相対して自動的に決定され、また表示装置１０２上で見ることができなくてもよい。注目ポイントＰ０は、一般に、場合によっては、単に境界又はエッジ上の１ポイントを示すに過ぎない。ユーザは、また、このポイントＰ０に注目するようにエッジ位置決め作動を指示することができる。さらに、ユーザは、注目範囲中の境界を横切って延びる様々な「スキャン」ライン５０９間の距離を規定することができる。これに代えて、前述した境界検出ツール作動及び情報に基づいて、前述したエッジポイント解析回路／ルーチン３７０は、自動的にスキャンライン５０９及びエンドポイント間、即ち、注目範囲中の境界を横切って延びる各スキャンライン５０９の（ｘ１，ｙ１）（ｘ２，ｙ２）間の距離を決定することができる。同様に、前述したフィルタ処理画像解析回路／ルーチン３１０は、注目領域指標５１２によって示された注目領域の位置を自動的に決定することができる。従って、境界検出ツール５０８に関連した作動を、予め定められた境界検出ツール特性を用いてユーザ入力又は自動プロセスにより手動で規定することができる。ユーザが予め決められた特性を有する境界検出ツールを選択することを可能にすることによって、根本的な数学的作動又は画像生成作動についてほとんど又は全く理解していないオペレータが境界検出作動を指示することができる。
【００８５】
図４では、境界検出ツール５０８、スキャンライン５０９、及び注目領域指標５１２が他の入力画像６００にも関連する例を示す。明瞭化のために、図４は、注目領域指標５１２により示される他の典型的な注目領域の組であって、本発明の方法及びシステムで生成され且つ用いられるものを示す。注目領域指標がいくつかの具体例では表示されず、また、入力画像に相当する独立して生成された注目領域はまた、本明細書で前述したように、他の対応するフィルタ処理画像、特徴画像、疑似画像等において、空間的に一致する注目領域を含むことを認識すべきである。前述したように、注目領域は自動的に決定することができるか、又はユーザが例えば表示された注目領域指標５１２を描画又は解除することにより、それらを決定することができる。前述したように、注目領域は、中央のポイントＰ０の周りにおいて対称又はほぼ対称な注目領域対５１４中に配置されてもよい。図４は、４つの注目領域対を示す。更に、代表注目領域ＲＲＯＩ1とＲＲＯＩ2を決定するための前述した自動作動の代わりに、ユーザは、注目ポイントＰ０に関して対向して位置決めされ、且つ注目範囲内において境界にほぼ垂直なラインに沿って配置されたＲＲＯＩ1とＲＲＯＩ2を選択することができる。しかしながら、最良のＲＲＯＩ1とＲＲＯＩ2は、一般的に又は必ずしも境界にほぼ垂直なラインに沿って配置された注目領域対にならないことは認識すべきである。
【００８６】
図５は、前述した疑似画像生成回路／ルーチン３６０によって生成された疑似画像７００の１つの典型的な具体例を示す。疑似画像は表示される必要はなく、一般に本発明の方法及びシステムによって表示されないことは認識すべきである。
【００８７】
より一般に、本発明の方法及びシステムの様々な典型的な具体例は、本明細書では、評価すべき画像結果の根拠として様々な「画像」を生成するものとして述べられる。しかしながら、「画像」として一般に認められない様々なデータ表現から画像結果が決定されてもよいことは認識すべきである。そのようなデータ表現を、本発明の方法及びシステムに用いることができる１つ以上の画像結果を提供するのに用いることが可能なときは、そのようなデータ表現は、用語「特徴画像」、「疑似画像」等の範囲に含まれ、その結果、本発明の方法及びシステムの範囲内に含まれることになる。さらに、様々な他の典型的な具体例では、決定すべき画像結果に応じて、画像結果を、入力画像及び適切な候補／選択フィルタ処理から直接決定することにより、認識しうる中間のステップとして認識しうる画像を描画、即ち生成する必要をなくしてもよいことは評価すべきである。
【００８８】
それにもかかわらず、疑似画像７００は、明瞭化のために有用である。前述したように、疑似画像７００は、入力画像、ひいては図３及び図４を参照して前述した様々なツール要素及び注目領域と空間的に一致する。特定の疑似画像７００は、拡大された入力画像に相当し、従って、この特定の画像の不鮮明な外観にもかかわらず高い精度のエッジ位置を支持できることは認識すべきである。スキャンライン５０９上の矢印によって示すようなスキャンライン５０９を横断する方向は、前述したように決定される。疑似画像７００は、図５におけるライン７０４で境界づけられる注目範囲の中で決定されれば足りる。疑似画像７００のエッジ／境界７０６に沿った「ｘ」で示されるエッジポイント７０２は、前述したように決定する。疑似画像は入力画像と空間的に一致するので、疑似画像用に決定されるエッジポイントを、本発明の方法及びシステムの様々な具体例では、入力画像を含むグラフィカル・ユーザ・インターフェースで簡易に表示する。
【００８９】
図６は、典型的な入力画像８００に対して決定され、前述した勾配タイプエッジ検出作動に用いる典型的なエッジポイント解析回路／ルーチン３７０によって検出すべき多数のエッジ位置８０２の１つの典型的な具体例を示す。疑似画像が入力画像と空間的に一致するので、疑似画像用に決定されるエッジポイント８０２を、本発明の方法及びシステムの様々な典型的な具体例では、入力画像を含むグラフィカル・ユーザ・インターフェース上のエッジポイント８０２として簡易に表示する。注目領域指標８１４及び境界ツール８０８の境界も図６に示される。
【００９０】
ビジョンシステム１０の部分プログラム又は練習モードにおいて、１つの典型的な具体例では、エッジポイント８０２が一旦決定されると、例えば要素８００，８０２，８０８のような要素を含む表示内容がユーザに表示される。ユーザが表示されたエッジポイント８０２と生成・出力しうる関連エッジ位置データとを承認するときは、ユーザは１つ以上の動作を通じて結果を受理し、その結果、ビジョンシステム１０により新しい作動の実行をほとんど不要にする。ユーザの受理が一旦任意の手段によって示されれば、制御部１００は、部分プログラムメモリ部１３３でケース特有ルーチン又はケース特有練習エッジ／境界ツールとして、エッジポイント８０２を決定するのに用いられた前述の様々な作動及びパラメータを記録する。制御部１００は、また、メモリ１３０に、生成・出力された関連するエッジ位置データを格納してもよい。制御部１００によって格納されたケース特有ルーチン又は練習エッジ／境界検出ツールは、もう１つの部分プログラムに一般に格納且つ／又は包含され、また、自動的に、「実行モード」において同様のケースのエッジについて迅速且つ確実に検出・位置決めするのに用いることができる。ケース特有ルーチン及び／又は練習エッジ／境界ツールが有利に用いられる類似ケースには、例えば、同一のエッジを将来的に位置決めしたり、同じエッジの別の部位を同じ部分上で位置決めしたり、即ち別の視点で、同じエッジを同じ仕様で生成される将来の部分上に位置決めしたり、同じプロセスにより生成される他のエッジ、例えば、プリント回路基板の穴のように、平板上の様々な場所にある様々な類似の穴のエッジを位置決めするようなケースが含まれる。これら及び他のタイプの類似のエッジは、当業者及びマシンビジョンシステムの典型的なユーザには明らかであり、これらの例に限定するものではない。
【００９１】
実行モードプロセスのより詳細な説明を図１６及び図１７を参照して行なう。
【００９２】
図７は、本発明の入力画像のエッジに特有なケースを検出するための境界検出ツールの練習方法の１つの典型的な具体例を概説するフローチャートである。練習境界検出ツールは、類似部分の類似ケースのエッジの検査用部分プログラムに含むことができるような迅速且つ確実な自動境界検出ルーチンで用いることができる。ステップＳ１０００で開始すると、作動はステップＳ１１００に進み、最初の又は次の入力画像を捕捉する。その後、ステップＳ１２００では、入力画像内の注目範囲を決定し、決定された注目範囲を横切って延びるスキャンラインを決定する。次に、ステップＳ１３００では、少なくとも注目範囲の１つ以上の特徴画像を生成する。その後、作動はステップＳ１４００へ続く。
【００９３】
ステップＳ１４００では、ステップＳ１３００で生成された特徴画像を、検出すべき特定のエッジの一方の側の第１の注目領域と、検出すべき特定のエッジの他の側の第２の注目領域とを区別するのに用いうるような特徴画像を決定・選択するために解析する。上述したように、生成された特徴画像のうちのいくつかは、選択された代表注目領域対の観点から、確実なエッジ検出を支持するエッジの両側の十分に異なる特徴画素値を持たなくてもよい。ステップＳ１４００では、特徴画像のいずれもエッジ検出を改善するのに有用でない場合は、初期の特徴画像の組を減らすことができる。
【００９４】
次に、ステップＳ１５００では、少なくとも２つのクラスタに関する注目範囲中の各画素のメンバーシップ値を示すメンバーシップ画像を生成する。２つのクラスタの中心は、ステップＳ１４００で選択された代表注目領域対の特性に基づく。メンバーシップ値は、クラスタ中心特性と、ステップＳ１３００で生成され、ステップＳ１４００で選択された特徴画像とに基づく。メンバーシップ画像を作成するのに用いられる２つのクラスタは、検出すべきエッジの各側にある２つのタイプの特徴画像データであって、ステップＳ１４００で選択された選択特徴画像に反映されるものを表す。その後、ステップＳ１６００では、スキャンラインに沿ったエッジポイントを、ステップＳ１５００で生成されたメンバーシップ画像に基づいて決定し、「良好」なエッジポイントを検出されたエッジポイントから選択する。その後、作動はステップＳ１７００に進む。
【００９５】
ステップＳ１７００では、ステップＳ１６００から検出されたエッジポイントを夫々保持するために、この検出されたエッジポイントの近傍の「近隣」を、検出されたエッジポイントの位置を修正するために解析し、検出されたエッジポイントのグループを境界外を除去するために解析する。ステップＳ１７００では、エッジポイント修正回路／ルーチン３７９及び境界位置決め修正回路／ルーチン３８０を参照して前述された１つ以上の作動を実行する。１つの典型的な作動では、選択され検出されたエッジポイントのスキャンラインに沿った多数の最も近い画素位置ｑに関連するデータを、選択され検出されたエッジポイントの位置を修正するために用いる。選択され検出されたエッジポイントを囲む画素位置ｑの各画素位置ｉについては、エッジポイント修正回路／ルーチン３７９が画素位置（ｉ＋１）及び画素位置（ｉ−１）間のユークリッドの距離を、現在の特徴画像の組にあるこれら特定の画素位置に基づいて算出する。画素位置ｑの各々に対するこれらのユークリッドの距離は円弧を形成する。続いて、円弧の重心は、その選択され検出されたエッジポイントの修正位置として用いられる。境界位置決め修正回路／ルーチン３８０は、境界外を検出し、修正又は除去するために、選択され検出されたエッジポイントのグループを解析する。次に、ステップＳ１８００では、練習モードで作成された入力画像においてこの特有のケースのエッジを検出するために決定された情報を表す境界検出ツールのデータを受理及び／又は格納する。受理は、最終のエッジポイントの組又は関連する境界位置データの表示に基づいて、ユーザにより決定されてもよい。デフォルト条件として、境界検出ツールのデータは特有の受理なしで格納されてもよい。次に、ステップＳ１９００では、他の入力画像を捕捉するか否かを決定する。他の画像が選択され解析されるときは、作動はステップＳ１１００に戻り、そうでないときは、作動はステップＳ１９５０に進み、この方法の作動を停止する。
【００９６】
図８は、ステップＳ１２００で注目範囲を決定する方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ１２００で作動が開始した後、作動はステップＳ１２１０に進み、ユーザは、エッジ位置決め作動がその中で又はそれを介して特有のエッジが検出されることになる注目範囲を表す自動境界検出ツールを用いるか否かを決定する。ユーザが自動境界検出ツールを用いないときは、作動はステップＳ１２２０に進む。そうでないときは、作動はステップＳ１２５０に飛び越す。ステップＳ１２２０では、ユーザは位置決めすべき境界と所望の注目範囲とを選択するために前述した境界検出ツールを手動で描画し、且つ／又は編集する。その後、ステップＳ１２３０では、ユーザは、作成された境界検出ツールによって境界づけられた、好ましくはその境界に近い注目範囲内のポイントＰ０を、エッジ検出プロセスに焦点があうように選択する。ポイントＰ０はツールの描画工程の一部として生成されてもよく、且つステップＳ１２２０及びＳ１２３０の作動は、区別がつかないものであってもよいことは認識すべきである。ステップＳ１２４０では、スキャンラインの位置又はその境界に沿った隙間と、そのスキャンラインの長さ又はエンドポイントとを、ユーザ入力又は選択された注目範囲に由来されるデフォルト位置によって決定する。その後、作動はステップＳ１２６０に進む。
【００９７】
ステップＳ１２２０，Ｓ１２３０及びＳ１２４０とは反対に、ステップＳ１２５０では、自動境界検出ツールを用いる。様々な自動境界検出ツールは、様々な作動範囲を持っていてもよい。１例として、ユーザは、ポイント・ツール又はボックスツールのような適切なツールを選択し、その後、「Ｐ０」を意図するポイント近傍のツールのカーソル／ポインタ要素の位置決めをほとんど行うこともなく、そのツールが自動的に前述したツールパラメータのいずれかであって、そのツールを用いるエッジ検出に要求されるものを決定してもよい。スキャンラインも自動的に規定することができる。作動はステップＳ１２６０に進む。ステップＳ１２６０では、作動はステップＳ１３００に戻る。
【００９８】
図９は、ステップＳ１３００の特徴画像を生成する方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ１３００で開始すると、作動はステップＳ１３１０に進み、ユーザが候補フィルタ処理グループを手動で選択するか、候補フィルタ処理グループを自動的に決定させるかを決定する。前述したように、候補フィルタ処理という用語は、フィルタ処理が現在の画像からのフィルタ処理された画像結果の生成に用いられることもあるが、画像結果に基づいて後に受理されたり拒絶されたりすることもあることを意味する。候補フィルタ処理グループが自動的に設定されないときは、その後、作動はステップＳ１３２０に進む。そうでないときは、作動はステップＳ１３３０に飛び越す。自動的に候補フィルタ処理グループを選択する決定を、グラフィカル・ユーザ・インターフェースの候補フィルタ処理方法のオプションを用いて行ない、且つ／又は伝達する。
【００９９】
ステップＳ１３２０では、ユーザが前述した候補フィルタ処理グループを手動で選択する。その後、作動はステップＳ１３４０に飛び越す。一方、ステップＳ１３３０では、用いられる候補フィルタ処理グループを自動的に決定し、その後、作動はステップＳ１３４０に進む。ステップＳ１３４０では、候補フィルタ処理方法によって選択されたか又は自動的に決定された候補フィルタ処理を、入力画像の規定された注目範囲に適用し、対応する数の特徴画像を生成する。その後、ステップＳ１３５０では、作動はステップＳ１４００に戻る。
【０１００】
図１０は、ステップＳ１４００の有用な特徴画像選択を行なう方法の１つの典型的な具体例をより詳細に概説するフローチャートである。前述したように、有用な特徴画像を選択したときに、その特徴画像を生成するのに用いられる対応フィルタ処理をも有効に選択する。ステップＳ１４００で開始すると、作動はステップＳ１４１０に進み、単一の注目領域対、又は図３、図４、図６で示される様々な注目領域対のように１つ以上の注目領域対を規定する。特に、１つの注目領域対ごとに、第１の注目領域を、特に、境界検出ツールによって境界づけられた注目範囲内の注目ポイントＰ０の一方の側に規定する。その１つの注目領域対の第２の注目領域を、その注目領域対にある第１の注目領域からみて注目ポイントＰ０の全く反対側に規定する。その後、ステップＳ１４２０では、代表注目領域対ＲＲＯＩ1及びＲＲＯＩ2を、注目領域にある１つ以上の対の１つから選択する。もちろん、単一の注目領域対をステップＳ１４１０で規定したときは、ステップＳ１４２０を省略することができることは認識すべきである。
【０１０１】
次に、ステップＳ１４３０では、選択されたポイントＰ０に関して対向側の代表注目領域対の画像データを最もよく区別する特徴画像を一般に含んでいる特徴画像の部分集合を、代表注目領域対の解析に基づいて選択する。選択フィルタ処理に対応する組を、ツール関連データとして少なくとも一時的には格納する。上述したように、様々な典型的な具体例では、この選択はエッジ検出に適用されるのに必要なフィルタ処理の数を減らすために行なわれ、その結果、本発明の方法及びシステムを用いて、迅速なエッジ検出の達成及び又はエッジ検出精度及び信頼度が改善される。その後、作動はステップＳ１４４０に続く。
【０１０２】
ステップＳ１４３０は特徴選択ステップを構成する。特徴抽出が特徴選択の知られた代替又は追加手段であることは認識すべきである。特徴抽出は、小さいがより有効な特徴画像の組を生成するために特徴画像を有効に組み合わせる技術である。様々な用いうる特徴抽出方法は、この技術及び様々な具体例における当業者にとって明らかである。特徴抽出を特徴選択の代わりにステップＳ１４３０で実行する。用いうる特徴抽出方法は、前述した引用文献で説明されている。
【０１０３】
ステップＳ１４４０では、代表注目領域対を、特徴画像の選択された部分集合に基づいて後にＲＲＯＩ1及びＲＲＯＩ2を提供するために再選択する。ステップＳ１４４０が任意のものであり、従って省略可能であることは認識すべきである。次に、ステップＳ１４５０では、例えば上述した分級ベクトルＣＶ１及びＣＶ２のように、特徴画像の部分集合中の各特徴画像にある最新の代表注目領域対ＲＲＯＩ1及びＲＲＯＩ2に基づいて複数の分級ベクトルを作成する。１つの典型的な具体例では、代表注目領域ＲＲＯＩ1及びＲＲＯＩ2内に位置する特徴画像の部分集合中の各特徴画像にある平均画像データを分級ベクトルＣＶ１及びＣＶ２を夫々生成するために算出する。一般に、分級ベクトルＣＶ１とＣＶ２の次元はｎであり、ここでｎは特徴画像の部分集合中の特徴画像の数である。様々な典型的な具体例では、場合によって、最新の代表注目領域対ＲＲＯＩ1及びＲＲＯＩ2を、ツール関連データとして少なくとも一時的に格納する。その後、ステップＳ１４６０では、作動はステップＳ１５００に戻る。
【０１０４】
図１１は、ステップＳ１５００のメンバーシップ画像を決定する方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ１５００で開始すると、作動はステップＳ１５１０に進み、最初の又は次の画素、つまり画素位置を、少なくとも境界検出ツールによって境界づけられた注目範囲内で選択する。次に、ステップＳ１５２０では、現在の画素に対するメンバーシップ値を、前述した修正ファジィｃ−平均分級器のような分級器及び作成された分級ベクトルＣＶ１及びＣＶ２を用いて決定する。その後、作動はステップＳ１５３０に進む。
【０１０５】
修正ファジィｃ−平均分級器は、図１０で示されるステップＳ１４２０〜Ｓ１４５０の作動の際、特に速く適切なステップＳ１５２０で実行される作動で用いうる単一の典型的な分級器であることは認識すべきである。本発明の方法及びシステムの様々な典型的な具体例では、前述した引用文献で述べられる未「修正」ファジィｃ−平均分級器が用いられる。そのような分級器は、クラスタのプロトタイプを要せず、データポイントの分級処理を改善するため反復作動する。従って、少なくとも図１０で示されるステップＳ１４２０~Ｓ１４５０の作動を実行する必要はない。
【０１０６】
次に、ステップＳ１５３０では、解析すべき未選択の画素が残っているか否かを決定する。未選択の画素が残っているときは、その後、作動はステップＳ１５１０に戻る。そうでないときは、作動はステップＳ１５４０に進み、エッジ検出を実行するためのスキャンラインに沿って横断する方向を決定する。前述したように、スキャンラインに沿った移動方向は、メンバーシップ画像、及びメンバーシップ画像を決定するのに用いられる代表注目領域対ＲＲＯＩ1及びＲＲＯＩ2を用いて決定することができる。その後、ステップＳ１５５０では、作動はステップＳ１６００に戻る。
【０１０７】
ステップＳ１５４０の作動は、ステップＳ１５００で省略してもよく、それに代えてステップＳ１６００の開始時に実行することができると認識すべきである。しかしながら、他の典型的な具体例では、ステップＳ１５４０の作動を完全に省略し、デフォルト条件の横断方向が用いられる。信頼性及び精度は、いくつかのエッジに多少影響を受けるが、本発明の方法及びシステムのそのような具体例で著しい利点が保持される。
【０１０８】
図１２は、ステップＳ１６００のエッジポイント決定選択方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ１６００で開始すると、作動はステップＳ１６１０に進み、最初の又は次のスキャンラインを選択する。その後、ステップＳ１６２０では、ステップＳ１５００で規定されたメンバーシップ画像を用いて、選択されたスキャンラインにある１つ（以上）のエッジポイントを検出する。元のメンバーシップ画像の画素値を計測し、本発明の方法及びシステムを用いて所望の範囲に標準化することができることは認識すべきである。次に、ステップＳ１６３０では、検出されたエッジポイントを、初期のエッジポイントの組であるＰＥＩに追加する。その後、作動はステップＳ１６４０に進む。
【０１０９】
ステップＳ１６４０では、解析すべき未選択のスキャンラインが残っているか否かを決定する。未選択のスキャンラインが残っているときは、作動はステップＳ１６１０に戻る。そうでないときは、作動はステップＳ１６５０に進む。ステップＳ１６５０では、有効なエッジポイントをメンバーシップ画像に基づいて選択する。その後、ステップＳ１６７０では、作動はステップＳ１７００に戻る。
【０１１０】
図１３は、ステップＳ１４２０の代表注目領域対を選択する方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ１４２０で開始すると、作動はステップＳ１４２１に進み、第１又は第２の注目領域対に対して、２つの注目領域の特徴画像データ間の類似距離を特徴画像の候補の組の各特徴画像に基づいて決定する。類似距離は、様々な典型的な具体例では、上述したフィッシャー距離である。いくつかの類似距離が決定されうることも認識すべきである。その後、ステップＳ１４２２で、規定されたすべての注目領域対に対し類似距離を決定するか否かを決定する。類似距離を決定するときは、作動はステップＳ１４２３に進む。そうでないときは、作動はステップＳ１４２１に進み、類似距離の結果を注目領域における次の対に対して決定する。
【０１１１】
ステップＳ１４２３では、代表注目領域対ＲＲＯＩ1及びＲＲＯＩ2を前述したように決定された類似距離に基づいて選択する。一般に、選択された代表する対は、決定された類似距離に基づいた最も非類似の注目領域対である。その後、作動はステップＳ１４２４に続く。単一の注目領域が規定された場合は、代表注目領域対としてそれが選択されることは認識すべきである。その後、ステップＳ１４２４では、作動はステップＳ１４３０に戻る。
【０１１２】
図１４及び図１５は、本発明の図１２のメンバーシップ画像を用いて有効なエッジポイントを選択する方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ１６５０で開始すると、作動はステップＳ１６５１に進み、最初の又は次のエッジポイントを選択する。その後、ステップＳ１６５２では、一般に機能及び位置が以前に規定された注目領域には無関係の新しいタイプの注目領域ＥＲＯＩ1及びＥＲＯＩ2の対を選択されたエッジポイントに対して規定する。１つの典型的な具体例では、ＥＲＯＩ1とＥＲＯＩ2は、各対向側において、その選択されたエッジポイントに対応するスキャンライン上に集められると共に、選択されたエッジポイントから画素１０個分離れて集められた１１×１１個の画素の正方形状に配列されている。その後、作動はステップＳ１６５３に続く。
【０１１３】
ステップＳ１６５３では、新しい注目領域ＥＲＯＩ1及びＥＲＯＩ2の対でメンバーシップ画像の画素値の一致の程度について決定がなされる。その後、作動はステップＳ１６５４に続く。
【０１１４】
メンバーシップ画像の画素が、ＲＲＯＩ1に対応するクラスにおいて完全なメンバーシップを表す第１の値と、ＲＲＯＩ2に対応するクラスにおいて完全なメンバーシップを表す第２の値との間の可能な値の範囲内にあることは認識すべきである。各新しい注目領域ＥＲＯＩ1及びＥＲＯＩ2の各々にある画素は、一般に、メンバーシップ画像境界の夫々の側に一致するべきである。１つの典型的な具体例の中では、画素値が第１の値により近いときは、それはＲＲＯＩ1のクラスに一致し、それが第２の値により近いときは、それはＲＲＯＩ2のクラスに一致する。別の典型的な具体例では、メンバーシップ画像の画素値を、メンバーシップ一致評価に対して１つ以上の決定エッジポイントのメンバーシップ値に基づいて学習モード中に決定されたしきい値と比較する。
【０１１５】
ステップＳ１６５４では、メンバーシップ一致の程度が、予め定められた「良好」の基準に入るか否かを決定する。即ち、ステップＳ１６５４では、初期のエッジポイントの組ＰＥＩが検出されたエッジポイントを無効のエッジポイントであるとして初期のエッジポイントの組から廃棄されるか否かを決定するために解析する。例えば、ＥＲＯＩ1の画素の予め決定された割合が境界のそれらの側を表す基準、例えば、ＣＶ１やＲＲＯＩ1の特性等のようなものに一致し、ＥＲＯＩ2の画素の予め決定された割合が境界のそれらの側を表す基準に一致するときは、検出されたエッジポイントを廃棄しない。「良好」の基準にあうときは、作動はステップＳ１６５６に進む。そうでないときは、作動はステップＳ１６５５に進み、選択されたエッジポイントを初期のエッジポイントの組から廃棄する。その後、作動はステップＳ１６５６に進む。１つの典型的な具体例では、各領域ＥＲＯＩ1及びＥＲＯＩ2で一致する画素の割合は、少なくとも８５%はなくてはならず、そうでないときは、選択されたエッジポイントを廃棄する。低い一致率は、無効のエッジポイントを示す傾向があるノイズ領域、即ち不規則な領域に相当することは認識すべきである。予め決定された割合を「受理された」エッジポイントに対して望まれる信頼度によって調節してもよい。更に、境界の一方の側と他方の側とを識別する異なるタイプの基準を、実行モードの作動及び練習モードの作動中これらの２つのモードで簡便に利用可能なデータに応じて夫々一致基準として用いてもよいことは認識すべきである。
【０１１６】
ステップＳ１６５６では、解析すべきエッジポイントが残っているか否かを決定する。エッジポイントが残っているときは、作動はステップＳ１６５１に戻る。さもなければ、作動はステップＳ１６５７に進む。
【０１１７】
ステップＳ１６５７では、１つ以上の特徴距離値Dを、ステップＳ１６５５で廃棄されなかった残りの各エッジポイントに対応して決定する。１つの典型的な具体例では、残りの各エッジポイントに対応する前述のＥＲＯＩ1とＥＲＯＩ2の間のフィッシャー距離を、特徴画像の選択された部分集合中のすべての特徴画像に基づいて決定する。このときは、単一の距離値Dが、残りの各エッジポイントに対して得られる。次に、ステップＳ１６５８では、１つ以上の対応する差異パラメータｄを残りの各エッジポイントに対する１つ以上の決定された距離値Ｄに基づいて決定する。差異パラメータｄは、ツール関連データとして少なくとも一時的に格納されてもよい。例えば、前述したフィッシャー距離の値Ｄの最小値は、単一の差異パラメータｄとして決定されてもよい。その後、作動はステップＳ１６５９に続く。
【０１１８】
ステップＳ１６５９では、最初の又は次のエッジポイントを、初期のエッジポイントの組であるＰＥＩの残りのエッジポイントＰＥから選ぶ。その後、作動はステップＳ１６６０に続く。
【０１１９】
ステップＳ１６６０では、ステップＳ１６５７で決定された選択されたエッジポイントに対する１つ以上の特徴距離（Ｄ）が、ステップＳ１６５８で決定された１つ以上の対応差異パラメータ（ｄ）未満であるか否かを決定する。選択されたエッジポイントに対する１つ以上の特徴距離（Ｄ）が、１つ以上の対応差異パラメータ（ｄ）未満でないときは、作動はステップＳ１６６２に進む。そうでないときは、作動はステップＳ１６６１に進み、選択されたエッジポイントを残りのエッジポイントＰＥの組から廃棄する。その後、作動はステップＳ１６６２に進む。ステップＳ１６６２では、確認すべき残りのエッジポイントがあるか否かを決定する。確認すべき残りのエッジポイントがあるときは、作動はステップＳ１６５９に戻る。そうでないときは、作動はステップＳ１６６３に進み、作動はステップＳ１６７０に戻る。
【０１２０】
ステップＳ１６５７〜Ｓ１６６２を用いて前述した適用可能な作動に類似する方法で、実行モード中の関連練習エッジ設定ツールと協働して、ステップＳ１６５７の作動によって決定された差異パラメータｄを保存して用いることができることは認識すべきである。その効果は、実行時間中で作成されたメンバーシップ画像が練習に用いられたメンバーシップ画像と少なくともほぼ同じくらいエッジ検出に適していることを保証する傾向にある。ｄが前述した最小値に設定されるときは、ツール練習モードでステップＳ１６５９〜Ｓ１６６２を実行する必要がないことも認識すべきである。ステップＳ１６５１〜Ｓ１６５６及びステップＳ１６５７〜Ｓ１６６２にほぼ対応する作動の組の双方は、夫々、残りのエッジポイントの信頼度を保証する傾向にあることも認識すべきである。従って、作動の組いずれで用いられる選考方法も一般に単独で実行することができる。いくつかのエッジが信頼性及び精度について、多少影響を受けるが、本発明の方法及びシステムの上記具体例では著しい利点が保持される。
【０１２１】
図１６は、本発明に係る図７〜図１５で概説した設定方法により規定されたパラメータを用いて、異なるが類似する入力画像の特定ケースで類似する特有のエッジのケースを検出する方法の１つの典型的な具体例をより詳細に概説するフローチャートである。前述したように、エッジ検出方法及びシステム、特に境界検出ツールを、特有の画像由来パラメータを用いて特有の入力画像内の特有のエッジを検出するために前述した作動によって設定する。従って、本発明の方法及びシステムは、実行モードでその入力画像が異なるが類似する場合にエッジ又は境界を自動的に位置決めするモードで用いることができる。本発明の方法及びシステムによる実行モードの作動は前述した設定モードと同じ多くのステップを包含するので、ステップＳ２１００〜Ｓ２４００及びＳ２６００〜Ｓ２７００の詳細な説明を省略する。その理由の１つは、これらのステップを図７〜図１２に対応するステップと似ており、しかも以前に「学習」モードで決定され、受理／格納されたいくつかのパラメータを「実行モード」で用いるからである。
【０１２２】
ステップＳ２０００で開始すると、作動はステップＳ２１００に進み、最初の又は次の画像を捕捉する。その後、ステップＳ２２００では、注目範囲及び１つ以上のスキャンラインを「学習モード」で決定されたパラメータを用いて決定する。次に、ステップＳ２３００では、１つ以上の特徴画像を、ツール関連データとして格納された前述の選択フィルタ処理に基づいて生成する。その後、ステップＳ２４００では、メンバーシップ画像をステップＳ２３００の作動で生成された特徴画像の組及び前述した分級ベクトルＣＶ１及びＣＶ２に基づいて生成する。その後、作動はステップＳ２５００に進む。
【０１２３】
様々な他の典型的な具体例では、メンバーシップ画像は、保持されたツール関連データの様々な異なる組合せ及び現在生成されたデータに基づいて生成してもよいことは認識すべきである。例えば、第１の具体例では、分級ベクトルＣＶ１及びＣＶ２を練習又は学習モードの間に決定し、これに従ってメンバーシップ画像の画素値を決定する。第２の具体例では、現在の分級ベクトルＣＶ１及びＣＶ２を、練習又は学習モードで決定されたＲＲＯＩの規定に基づいたＲＲＯＩの一対を用いて、現在の特徴画像の組から決定する。第３の具体例では、現在のＲＲＯＩ1及びＲＲＯＩ1をステップＳ１４１０〜Ｓ１４２０の作動を用いて決定し、現在のＣＶ１及びＣＶ２をステップＳ１４５０の作動を用いて決定し、そして、メンバーシップ画像の画素値をこれに従って決定する。第２と第３の具体例は第１の具体例より時間がかかるだろうが、３つの具体例はすべて、ツール関連データとして格納された、前述の選択フィルタ処理を用いることに関連した利点を引き出すことは認識すべきである。様々な他の組合せ及び選択は当業者にとって明らかである。
【０１２４】
ステップＳ２５００では、１つ以上のエッジポイントを各スキャンラインで検出し、「良好」なエッジポイントを選択する。この作動は、図７、図１２、図１４及び図１５のステップＳ１６００に関連して述べたエッジポイントの検出及び選別工程と異なり、この作動はより詳しくは図１７を参照して述べる。次に、ステップＳ２６００では、ステップＳ２５００で廃棄されていない残りのエッジポイントがある各スキャンラインに沿って検出すべきエッジの位置を修正し、また、図７のステップＳ１７００を参照して全て前述したようにエッジ位置を最終的に決定する。その後、ステップＳ２７００では、別の入力画像を捕捉するか否かを決定する。別の入力画像を捕捉するときは、作動はステップＳ２１００に戻る。そうでないときは、作動はステップＳ２８００に進み、実行モード方法の作動は終了する。
【０１２５】
図１７は、本発明に係る図１６のエッジポイントの選択方法の１つの典型的な具体例をより詳細に概説するフローチャートである。ステップＳ２５００で開始した後、作動はステップＳ２５１０に進み、決定されたスキャンラインの組に対するエッジポイントのデフォルト条件を検出する。このエッジポイントの組は、ステップＳ２４００で生成されたメンバーシップ画像に基づく。次に、ステップＳ２５２０では、未選択のエッジポイントを選択する。その後、ステップＳ２５４０では、選択されたエッジポイント用の特徴距離（Ｄ）を、図１４及び図１５のステップＳ１６５７を参照して前述したようにその選択されたエッジポイントから決定する。その後、作動はステップＳ２５５０に進む。
【０１２６】
ステップＳ２５５０では、選択されたエッジポイントに対する１つ以上の特徴距離Ｄが、図１４及び図１５のステップＳ１６５８で以前に規定された１つ以上の差異の値ｄに対応するものより小さいか否かを決定する。小さいときは、作動はステップＳ２５６０に進む。そうでないときは、作動はステップＳ２５７０に飛び越す。ステップＳ２５６０では、選択されたエッジポイントに対する１つ以上の特徴距離Ｄは、１つ以上の差異の値ｄに対応するものより小さく、選択されたエッジポイントを、エッジポイントのデフォルト条件から廃棄する。その後、ステップＳ２５７０では、残りの未選択のエッジポイントがあるか否かを決定する。残りの未選択のエッジポイントがあるときは、作動はステップＳ２５１０に戻る。そうでないときは、作動はステップＳ２５８０に進んでステップＳ２６００に戻る。様々な典型的な具体例では、実行モードでステップＳ２５６０を実行するに先立ってステップＳ１６５１〜Ｓ１６５６を参照して説明された作動を実行すると、残りのエッジポイントの信頼度をさらに増加させることは認識すべきである。例えば、作動を、ステップＳ２５５０直後、又はステップＳ２５１０直後に実行してもよい。
【０１２７】
様々な典型的な具体例において、制御部１００を、プログラムされた汎用算出機について実行する。しかしながら、本発明に係る制御部１００はまた、特別の目的のコンピュータ、プログラムされたマイクロプロセッサーかマイクロコントローラ、及び周辺の集積回路要素、例えば、ＡＳＩＣその他の集積回路、デジタル信号プロセサ、離散要素回路のようなハードワイヤードの電子回路又は論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ又はＰＡＬ等のようなプログラム可能なロジック装置について実行してもよい。一般に、図７〜図１６で示されるフローチャートを順番に実行することができる有限状態遷移機械を構成することができる装置を、本発明に係る制御部１００を構成するために用いることができる。
【０１２８】
メモリ１３０は、書換え可、揮発性若しくは不揮発性のメモリ、又は書換え不可若しくは固定のメモリの適切な組み合わせを用いて構成することができる。書換え可のメモリは、揮発性のものでも不揮発性のものでも、ＳＲＡＭ又はＤＲＡＭ、フロッピー（登録商標）ディスクドライブ、書き込み可能又は書き換え可能な光ディスク及びディスクドライブ、ハードドライブ、フラッシュメモリー等のうちの１つ以上を用いて構成することができる。同様に、書換え不可又は固定のメモリは、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はＤＶＤ−ＲＯＭディスクのような光学のＲＯＭディスク、及びディスクドライブ等のうちの１つ以上を用いて構成することができる。
【０１２９】
図１の回路その他の要素１５０〜１８０及び３０５〜３７９の各々は、適切にプログラムされた汎用算出機の一部として構成することができることは認識すべきである。これに代えて、図１の回路その他の要素１５０〜１８０及び３０５〜３７９の各々は、ＡＳＩＣ内の物理的に別個のハードウェア回路として、又はＦＰＧＡ、ＰＤＬ、ＰＬＡ、若しくはＰＡＬを用いて、又は個別の論理素子又は個別の回路素子を用いて構成することができる。図１における回路その他の要素１５０〜１８０及び３０５〜３７９の各々で採られるであろう特定のタイプは設計上の選択であり、当業者にとって明らか且つ予測可能である。
【０１３０】
さらに、制御部１００は、プログラムされた汎用算出機、特別の目的のコンピュータ、マイクロプロセッサー等の上で実行するソフトウェアとして実行することができる。制御部１００も、１つのビジョンシステム１０のソフトウェア・ハードウェアシステムのような、ソフトウェア及び／又はハードウェア・システムに物理的にそれを組み入れることにより実行することができる。
【０１３１】
本発明はその好ましい具体例に関して説明されているが、その発明は好ましい具体例又は構成に制限されないことは理解すべきである。これに対し、本発明は、様々な修正及び等価な配置を含むことを意図している。さらに、好ましい具体例の様々な要素を様々な組合せ及び構成で示しているが、より多く又は少ない又は単独の要素を含む他の組合せ及び構成も本発明の精神及び範囲内にある。
【図面の簡単な説明】
【０１３２】
【図１】本発明の方法及びシステムが用いられるビジョンシステムの典型的なブロック図である。
【図２】本発明の方法及びシステムが用いられる図１の様々な回路／ルーチンの詳細な典型的な具体例を示す図である。
【図３】（ａ）及び（ｂ）は、エッジ設定ツール及び本発明の方法及びシステムを用いて検出又は位置決めされる２つの有効なテクスチャ領域及び境界を有する典型的な対象物の２つの画像を示す図である。
【図４】（ａ）及び（ｂ）は、本発明の方法及びシステムで生成され且つ用いられた典型的な注目領域を示す図である。
【図５】本発明の方法及びシステムの様々な具体例で用いられるスキャンラインのついた疑似画像の典型的な一具体例の画像を示す図である。
【図６】本発明の方法及びシステムを用いて検出された多数のエッジポイントの典型的な一具体例の画像を示す図である。
【図７】本発明に係る画像中のエッジポイントを決定する方法の典型的な一具体例を概説するフローチャートである。
【図８】本発明に係る図７の注目範囲を決定する方法の典型的な一具体例をより詳しく概説するフローチャートである。
【図９】本発明に係る図７の特徴画像を決定する方法の典型的な一具体例をより詳しく概説するフローチャートである。
【図１０】本発明に係る図７の特徴選択を実行する方法の典型的な一具体例をより詳しく概説するフローチャートである。
【図１１】本発明に係る図７の疑似画像を決定する方法の典型的な具体例をより詳しく概説するフローチャートである。
【図１２】本発明に係る図７のエッジポイントを検出・選択する方法の典型的な具体例をより詳しく概説するフローチャートである。
【図１３】本発明に係る図１０の代表注目領域対を選択する方法の典型的な一具体例をより詳しく概説するフローチャートである。
【図１４】本発明に係る図１２の有効エッジポイントを選択する方法の典型的な具体例を概説するフローチャートである。
【図１５】本発明に係る図１２の有効エッジポイントを選択する方法の典型的な具体例を概説するフローチャートである。
【図１６】本発明に係る第２の画像中のエッジを特定するために図７〜図１５で概説した方法により決められたツールを用いる方法の典型的な一具体例を概説するフローチャートである。
【図１７】本発明に係る図１４及び図１５の有効エッジポイントを選択する方法の典型的な一具体例をより詳しく概説するフローチャートである。
【符号の説明】
【０１３３】
１０  ビジョンシステム
１００  制御部
１０２  表示装置
１０４  入力装置
１１０  入力／出力インターフェース
１２０  コントローラ
１３０  メモリ
１５０  注目範囲生成部
３１０  フィルタ処理画像解析回路／ルーチン
３５０  ケース特有フィルタ処理選択回路／ルーチン
３６０  疑似画像生成回路／ルーチン
３７０  エッジポイント解析回路／ルーチン
３８０  境界位置決め修正回路／ルーチン
３９０  エッジモード決定回路／ルーチン
【図１】
0004727703.tif 000002
【図２】
0004727703.tif 000003
【図３】
0004727703.tif 000004
【図４】
0004727703.tif 000005
【図５】
0004727703.tif 000006
【図６】
0004727703.tif 000007
【図７】
0004727703.tif 000008
【図８】
0004727703.tif 000009
【図９】
0004727703.tif 000010
【図１０】
0004727703.tif 000011
【図１１】
0004727703.tif 000012
【図１２】
0004727703.tif 000013
【図１３】
0004727703.tif 000014
【図１４】
0004727703.tif 000015
【図１５】
0004727703.tif 000016
【図１６】
0004727703.tif 000017
【図１７】
0004727703.tif 000018