(57)【要約】      （修正有）【課題】実行時画像の１以上の候補ポーズの分析に使用する訓練されたプローブを採点するためのシステム及び方法を提供する。【解決手段】訓練されたモデルに基づく位置と勾配方向を有するプローブのセットが実行時画像に基づく１以上の候補ポーズに適用される。適用されたプローブは各々それぞれの勾配方向を基準にした位置オフセットの離散的セットを含んでいる。各々のプローブについてマッチスコアが計算され、これは各々のプローブについてそれぞれのオフセットの１つと相対的に最良マッチ位置を推定し、それぞれ推定された最良マッチ位置で各々のプローブについて個々のプローブスコアのセットを生成することを含む。【選択図】図６
2019091493.tif 000002
【特許請求の範囲】
【請求項１】
ビジョンシステムプロセッサで実行時画像の１以上の候補ポーズの分析に使用する訓練されたプローブを採点するための方法であって、
訓練されたモデルに基づく位置と勾配方向を有するプローブのセットを提供するステップと、
実行時画像に基づく１以上の候補ポーズを提供し、プローブを少なくとも１つの候補ポーズに適用するステップであって、適用されたプローブは各々がそれぞれ勾配方向を基準にした位置オフセットの離散的セットを含む、前記ステップと、
各々のプローブについてマッチスコアを計算し、それぞれプローブのオフセットの１つと相対的に各々のプローブについて最良マッチ位置を推定することを含み、それぞれ推定された最良マッチ位置で各々のプローブについて個々のプローブスコアのセットを生成するステップと、を含む方法。
【請求項２】
プローブのセットは、訓練ステップにおいて訓練されたモデルを表わす位置と方向で生成される、請求項１に記載の方法。
【請求項３】
更に、個々のプローブスコアの加重和又は積である合計スコアを計算し、合計スコアの計算は（ａ）プローブスコアが生成されるのと同時に動作するか、又は（ｂ）プローブスコアの一部又は全部が生成された後に動作することを含む、請求項１に記載の方法。
【請求項４】
更に、合計スコアに基づいてモデルと実行時画像との間の最良アライメントマッチを選択することを含む、請求項３に記載の方法。
【請求項５】
更に、適用のステップの前に各々の候補ポーズを基準にしてプローブのセットを事前登録することを含む、請求項１に記載の方法。
【請求項６】
更に、適用のステップの前に各々のプローブが適用される各位置について勾配を計算することを含む、請求項１に記載の方法。
【請求項７】
更に、各々のプローブが適用される各位置について勾配ベクトルを
（ａ）当該位置を包含する勾配場ピクセルを決定して、この勾配場ピクセルに対応する勾配ベクトルを使用するか、
（ｂ）当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するか、
（ｃ）当該位置に最も近い位置にある画像ピクセルのセットを決定して、ＸカーネルとＹカーネルを適用して全体ピクセル勾配を計算するか、あるいは
（ｄ）当該位置を中心とした全体ピクセル勾配の近傍についてＸ勾配とＹ勾配を決定して、当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するか、
のいずれか１つによって計算することを含む、請求項６に記載の方法。
【請求項８】
更に、各々のプローブの少なくとも１つの方向ベクトルの大きさと、各々のプローブの勾配方向ベクトルを正規化することを含む、請求項１に記載の方法。
【請求項９】
正規化のステップは、
（ａ）方向ベクトルの大きさを所定の大きさに正規化すること、又は
（ｂ）方向ベクトルの大きさをその未処理の大きさの所定の関数である大きさに正規化すること、
のいずれか１つを含む、請求項８に記載の方法。
【請求項１０】
更に、訓練段階で各々のプローブの方向ベクトルの大きさを正規化することを含む、請求項８に記載の方法。
【請求項１１】
実行時画像に適用されるプローブの位置は、
（ａ）各々のプローブの方向ベクトルを１．０の大きさに正規化すること、及び
（ｂ）オフセット位置を正規化されたプローブ方向ベクトルの所定の倍数として計算すること、によって決定される、請求項８に記載の方法。
【請求項１２】
更に、オフセットをそれぞれ各々の方向ベクトルに対して垂直の方向で計算することを含む、請求項１１に記載の方法。
【請求項１３】
計算のステップは、各々のプローブのそれぞれの位置で各々のプローブの方向と実行時画像の勾配ベクトルとのドット積を実行することを含む、請求項１に記載の方法。
【請求項１４】
更に、プローブの１以上のベクトルの大きさを正規化関数に基づいて正規化することを含む、請求項１に記載の方法。
【請求項１５】
ビジョンシステムプロセッサで実行時画像の１以上の候補ポーズの分析に使用する訓練されたプローブを採点するためのシステムであって、
画像データの訓練されたモデルに基づく位置と勾配方向を有するプローブのセットを受け取り、実行時画像に基づく１以上の候補ポーズを提供し、プローブを少なくとも１つの候補ポーズに適用し、適用されたプローブは各々それぞれの勾配方向を基準にした位置オフセットの離散的セットを含んでいる採点プロセスと、
各々のプローブについてマッチスコアを計算し、それぞれのオフセットの１つと相対的に各々のプローブについて最良マッチ位置の推定を含み、それぞれ推定された最良マッチ位置で各々のプローブについて個々のプローブスコアのセットを生成することを含むアライメントプロセスと、を有する上記システム。
【請求項１６】
プローブのセットが訓練段階で訓練されたモデルを表わす位置と方向で生成される請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は２０１６年１２月２日に出願された同時係属米国特許仮出願第６２／２９４，４３０号「ビジョンシステムで画像内のプローブを効率的に採点するためのシステム及び方法」の優先権を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
【０００２】
技術分野
本発明は、マシンビジョンシステム、より具体的には実行時画像の候補ポーズを基準にして訓練された画像をアライメントするためのシステム及び方法に関する。
【背景技術】
【０００３】
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において多様なタスクを実行するために使用される。一般にビジョンシステムは、製造中のオブジェクトを包含するシーンのグレースケール、カラー画像及び／又は３次元（３Ｄ）画像を取得する画像センサ（又は「イメージャ」）を備えた１台以上のカメラからなる。オブジェクトの画像を分析してデータ／情報をユーザ及び関連する製造工程及び／又は他の工程に提供できる。画像によって生み出されるデータは通常ビジョンシステムにより１台以上のビジョンシステムプロセッサで分析及び処理され、ビジョンシステムプロセッサはそれ専用に製造されたものであるか、或いは汎用コンピュータ（例えばＰＣ、ラップトップ、タブレット又はスマートフォン）内で作成される１以上のソフトウェアアプリケーションの一部であってよい。
【０００４】
ビジョンシステムの共通タスクは、アライメントと検査を含む。アライメントタスクにおいてビジョンシステムツール、例えばコグネックス社（マサチューセッツ州ネイティック）から市販されている周知のＰａｔＭａｘ（登録商標）システムが、あるシーンの画像内の特徴を（実際のモデル又は合成モデルを用いて）訓練されたパターンに対して撮像されたシーンにおけるパターンの存在／欠如及びポーズを決定する。この情報は後続の検査動作（又は他の）動作に使用して欠陥を探し及び／又は部品拒否など他の動作を実行できる。
【０００５】
そのようなビジョンシステムタスクは、アライメント実行時２次元（２Ｄ）画像（例えばグレースケール）において訓練されたモデルの与えられたポーズについて有意味なマッチスコアを計算することによって実行できる。スコアは、例えばどの候補ポーズがモデルの真のインスタンスであるかを決定するため、利用可能な最良候補を選択するため、又はその他の分類及び／又は決定の目的のために使用できる。
【０００６】
スコアを計算してアライメントを決定することは、取得された実行時画像が予想されるモデル画像からの変形又はその他の変容を含む場合はしばしば困難である。そのような変形は、オブジェクト表面の微小な欠陥の結果であるか、又は光学的問題−例えば視野角の変化、視野の不均一な照明部分遮蔽、陰影などに起因する結果であり得る。ポーズを効果的に採点するために、プロセスにおいて若干の変形を考慮に入れる必要がある。同様に、ビジョンシステムカメラレンズの非線形であり得る歪みが存在することがあり、これに対処するのは困難で高い処理オーバーヘッドを要することがある。
【０００７】
訓練された画像を実行時画像とアライメントするための共通技術は、一般に勾配を定義するモデル上のポイントに対応する一連の位置を包含するプローブの使用を伴う。プローブは実行時画像内の候補ポーズを基準にして位置決めされ、候補ポーズがプローブによって定義された予想されるモデル特性とどの程度マッチするかを決定するために採点される。
【０００８】
変形が存在する場合に、候補ポーズのプローブマッチングを実行するための先行技術は、実行時画像から「小特徴」を抽出して小特徴をマッチングする試みを伴う。これは画像から個々のエッジ遷移のサブピクセル位置を抽出することからなる。各小特徴は境界の（例えば）長さ１ピクセルのセクションにほぼ対応する。これらの小特徴が抽出されたら、各プローブを中心とする近傍サーチは、潜在的マッチング特徴があるか決定でき、マッチが生じるとスコアにクレジットが与えられる。しかしながら、この方策は２つの重要な不備がある。第１に、それは何が特徴と呼ばれるのに十分な強い勾配変化であり何がそうでないかを決定するために、ハードなコントラスト閾値を要する。画像特徴がこのハードな閾値に近ければ、抽出の挙動は不安定であり得る。第２に、小特徴を抽出することは計算コストが高い。なぜならそれはあらゆる位置で勾配を決定し、勾配方向の角度を計算し（単にそれらのｘ成分とｙ成分ではなく）、局所的に最も強い勾配を有する位置だけを残すためにオフピーク抑圧を実行することを求めるからである。従ってこの方策はあまり迅速ではなく、所望するほど効率的ではない。
【０００９】
訓練されたモデルをマッチングするためのその他の先行技術は、「平滑化された」実行時画像を採点することである。これは画像の平滑化（例えばガウシアンフィルタを適用して）と（随意に）画像のダウンサンプリングからなる。次に画像は（例えば）正確に変容されたプローブ位置で（該当する場合はダウンサンプリングされた座標に正確にマッピングされて）採点される。これは暗黙に若干の局所的変形を許容する。なぜなら近くの特徴が不鮮明になって、プローブ位置とオーバーラップするからである。再び、この方策は２つの重要な不備がある。第１に、平滑化は情報を破壊し、それゆえ真のマッチング特徴を排除し、その結果として所望するより低いスコアを招く可能性がある。第２に、平滑化は強い勾配を有する１以上の新しい位置を生み出すことがあり、それゆえ誤ったマッチング特徴を生み出し、その結果として所望するより高いスコアを招く可能性がある。
【発明の概要】
【００１０】
本発明は、訓練されたモデル画像を実行時画像の候補ポーズにアライメントする際に使用するプローブを採点するためのシステム及び方法を提供することによって先行技術の短所を克服する。このシステム及び方法は、明確にポーズ変容の一部ではない若干の局所的変形を許すが、実行時画像データ不鮮明化及び／又はダウンサンプリング、或いは実行時画像で計算コストがかかる過剰な動作を行うことを回避する。この変形の調節はスコアを著しく減少させない。有利には、スコアは迅速に、且つ概して取得した画像で明確な実行時特徴の抽出を行うことを要することなく計算できる。
【００１１】
例示的な実施形態において、実行時画像の１以上の候補ポーズの分析に使用する訓練されたプローブを採点するためのシステム及び方法が提供される。訓練段階で生成された、訓練されたモデルに基づく位置と勾配方向を有するプローブのセット、実行時画像に基づく１以上の候補ポーズに適用される。適用されたプローブは各々それぞれの勾配方向を基準にした位置オフセットの離散的セットを含む。各々のプローブについてマッチスコアが計算され、これは各々のプローブについてそれぞれ１つのオフセットと相対的に最良マッチ位置を推定し、それぞれ推定された最良マッチ位置で各々のプローブに対する個々のプローブスコアのセットを生成することを含む。
【００１２】
例示的に、訓練ステップで訓練されたモデルを表わす位置と方向を有するプローブのセットが生成される。個々のプローブスコアの加重和又は積である合計スコアを生成でき、合計スコアの計算は（ａ）プローブスコアが生成されるのと同時に動作するか、又は（ｂ）プローブスコアの一部又は全部が生成された後に動作する。合計スコアに基づいてモデルと実行時画像との間の最良アライメントマッチを選択できる。例示的に、適用のステップの前に各々の候補ポーズを基準にしてプローブのセットが事前登録される。適用のステップの前に、各々のプローブが適用される各位置について勾配が計算される。各々のプローブが適用される各位置について勾配ベクトルも、（ａ）当該位置を包含する勾配場ピクセルを決定して、この勾配場ピクセルに対応する勾配ベクトルを使用するか、（ｂ）当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するか、（ｃ）当該位置に最も近い位置にある画像ピクセルのセットを決定して、ＸカーネルとＹカーネルを適用して全体ピクセル勾配を計算するか、（ｄ）当該位置を中心とした全体ピクセル勾配の近傍についてＸ勾配とＹ勾配を決定して、当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するかのいずれか１つによって計算できる。各々のプローブの少なくとも１つの方向ベクトルの大きさと、各々のプローブの勾配方向ベクトルは所定の値（例えば１．０）に正規化できる。例示的に、正規化は、（ａ）方向ベクトルの大きさを所定の大きさに正規化すること、又は（ｂ）方向ベクトルの大きさをその未処理の大きさの所定の関数である大きさに正規化することのいずれか１つを含む。システム及び方法は、訓練段階で各々のプローブの方向ベクトルの大きさを正規化することを含むこともできる。例示的に、実行時画像に適用されるプローブの位置は、（ａ）各々のプローブの方向ベクトルを１．０の大きさに正規化すること、及び（ｂ）オフセット位置を正規化されたプローブ方向ベクトルの所定の倍数として計算することによって決定できる。実施形態において、システム及び方法はオフセットをそれぞれ各々の方向ベクトルに対して垂直の方向で計算することも含むことができる。追加的に、スコアを計算することは、各々のプローブのそれぞれの位置で各々のプローブの方向と実行時画像の勾配ベクトルとのドット積を実行することを含むことができる。実施形態において、プローブの１以上のベクトルの大きさを正規化関数に基づいて正規化できる。
【００１３】
以下に本発明について添付の図面を参照して説明する。
【図面の簡単な説明】
【００１４】
【図１】候補ポーズが例示的な実施形態に従うプローブを用いて訓練されたモデルとアライメントされた模範的なオブジェクトの画像を取得するビジョンシステムを示す略図である。
【００１５】
【図２】訓練されたプローブがモデル画像の輪郭／特徴から生成される訓練手順のフローチャートである。
【００１６】
【図３】関連する訓練されたプローブを示す模範的なモデル画像の輪郭のディスプレイの略図である。
【００１７】
【図４】模範的なモデル輪郭の勾配を基準にして中央位置を示す複数の訓練されたプローブのディスプレイの略図である。
【００１８】
【図５】モデル画像の勾配を包囲する訓練されたプローブのセットのディスプレイの略図である。
【００１９】
【図６】訓練されたプローブを実行時候補ポーズに適用して、プローブと実行時候補ポーズとのマッチを採点するための手順のフローチャートである。
【００２０】
【図７】変形が訓練されたプローブのセットとアライメントされた模範的な実行時画像のディスプレイの略図である。
【００２１】
【図８】実行時輪郭の勾配を基準にして最良位置を推定するために使用する所定の増分でのオフセットのセットを示す模範的なプローブの略図である。
【００２２】
【図９】模範的な実行時輪郭の勾配とのマッチから弱いマッチを経て非マッチに至る遷移を示す複数のプローブのディスプレイの略図である。
【発明を実施するための形態】
【００２３】
Ｉ．システムの概観
【００２４】
図１は、ビジョンシステムカメラアセンブリ１２０の視野（ＦＯＶ）内で撮像されたオブジェクトの表面上の特徴の検査及び／又は分析に使用するためマシンビジョンシステム１００（単に「ビジョンシステム」とも呼ぶ）を示す。カメラアセンブリ１２０はコンポーネントの任意の受け入れ可能な配置構成であってよく、典型的にはレンズアセンブリ１２２と、ＣＣＤ又はＣＭＯＳなど任意の受け入れ可能な撮像技術に基づき画像センサ（又は「イメージャ」）１２６を収容するカメラ本体１２４とを含む。イメージャ１２６は、画像を２次元で（例えばｘ軸とｙ軸に沿って）シーンをグレースケール又はカラーで感知するように適合できる画像ピクセルの配列において取得するように配置できる。カメラ本体１２４は、関連するビジョンプロセスを実行するビジョンプロセッサ１３０を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサ１３０はシーンの取得した画像上で動作し、ビジョンシステムツール及び他のプロセス（プロセッサ）１５２を用いて取得した画像データ１３４から情報を抽出できる。この情報は興味のある特徴及び画像内に現れる他のアイテムに関係することができる。例えば米国マサチューセッツ州ネイティック市所在のコグネックス株式会社から市販されている周知のＰａｔＭａｘ（登録商標）などのビジョンシステムツールを使用して、画像内の２Ｄ及び３Ｄ特徴を分析して、相対的ポーズ、アライメント及び他のディテール、例えばエッジ、ブロブなどに関する情報を提供できる。ビジョンシステムプロセスの一部の又は全部をカメラアセンブリ１２０の本体１２４内で実行できる。プロセスの一部の又は全部を相互接続された（有線又は無線）コンピューティングデバイス／プロセッサ、例えば専用プロセッサ又は汎用コンピュータ（例えばサーバ、ＰＣ、ラップトップ、スマートフォン、タブレットなど）１４０と適当なユーザインタフェース（例えばキーボード１４２、マウス１４４、及びディスプレイ／タッチスクリーン１４６）によって実行できることが明確に想定されている。相互接続されたコンピューティングデバイス／プロセッサ１４０は、処理された画像データ１３４を用いて更に下流プロセッサ又はデバイスによるユーティライゼーションタスクを実行できる。例えばビジョンシステムが検査タスクを実行する場合に、情報を用いてデータベースに品質管理情報を提供したり、ライン上の欠陥品を拒否したりできる。情報は（例えば）物流用途でもオブジェクト上のラベル及び／又はＩＤコードを読み取ることによって使用できる。画像データ及び関連情報で他の様々なユーティライゼーションタスクを企てることができる。
【００２５】
例示的な実施形態において、ビジョンプロセス及びプロセッサ１３０は、複数の機能的ブロック及び／又はモジュールを含む。これらは、後続の実行時プロセスでオブジェクト特徴の候補ポーズをモデル特徴に対するアライメントについて分析するために使用するモデル特徴データの訓練を行う訓練プロセス（又はプロセッサ）１５２を含む。以下に記すように、モデルデータ１５４は訓練プロセス（又はプロセッサ）１５２によって生成される。このモデルデータは、モデルプローブ／訓練されたプローブを含む。これらのプローブは、様々な位置でモデル特徴の勾配を特徴付ける。訓練された画像データ又はモデル画像データは、実際の訓練オブジェクト表面及び／又は合成画像データの取得された画像に基づくことができることに留意されたい。即ち、訓練された画像又はモデルは、（例えば）ＣＡＤモデル、合成スクエアなどで提供される記述によって規定することができる。従って「モデル」という用語は、広く実際の取得された画像ピクセル値に概して依存することなく規定されたデータを含む。
【００２６】
ビジョンシステムプロセス（又はプロセッサ）１３０は、実行時動作においてオブジェクトの画像の取得及び処理に関係する様々なタスクを実行する実行時プロセス（又はプロセッサ）１５４も含む。そのようなタスクは画像内の特徴を登録し、随意の特徴の平滑化及び勾配分析を実行し、ビジョンシステムツール（１３２）を用いてエッジ及びその他の特徴を特定し、実行時分析の結果をデータ処理装置／プロセス（プロセッサ）に伝送することを含むことができる。これらのプロセスにより、後続のアライメント動作のために特定すべき実行時画像内の興味のある特徴の様々な候補ポーズが可能になる。そのような実行時動作は、例示的な実施形態に従うアライメントプロセス（又はプロセッサ）１５６を用いてオブジェクトの候補ポーズ及びオブジェクト特徴をモデルにアライメントすることを含む。以下に記すように、アライメントプロセス（又はプロセッサ）は、各プローブに対するスコアに基づいてプローブを候補ポーズにおける実行時画像特徴／輪郭の勾配にマッチングする。より具体的には、与えられた画像における訓練されたモデルの与えられた候補ポーズについてスコアが計算される。これにより、ポーズが規定するものを超えた輪郭内の（モデルに対する）局所的変形の程度を調節するためのマッチングが可能になる。
【００２７】
ＩＩ．モデルプローブの訓練
【００２８】
図２を参照して、１以上のモデル輪郭からなるモデル特徴の訓練のための手順２００が示されている。モデル輪郭又は輪郭のセットは、当業者には明確である筈の幾つかの技術によって決定される。各輪郭は、輪郭を横断する勾配の方向を示す掌性を定義でき、或いはそうでない場合には勾配の極性を無視できる。
【００２９】
ステップ２１０で、手順２１０が１以上の輪郭を含むモデル画像を提供する。これらは（実行時オブジェクトの所望のバージョンを表わす）モデルオブジェクトの実際の取得された画像に基づき、又は上述したようにオブジェクトの（例えば）ＣＡＤ表現から合成データによって提供され得る。追加的に、所望のモデル輪郭を生成するために実際の画像を修正できる。
【００３０】
ステップ２２０に記されているように、モデル輪郭は（輪郭に対して垂直な）勾配の方向を指し示すプローブと呼ばれるサンプルの離散的セットによって表現される。グレースケールモデルに対して、プロセス２００は概して勾配及びそれらの連結度を調べることによって輪郭を抽出し、次にこの輪郭を表わすためにプローブの離散的セットを選択する。プローブのセットの生成は、概して当業者には明白なやり方で達成できる。該当する場合はプローブ配置及び均衡などの追加的な技術を採用できる。そのような技術、並びにプローブのより一般的な背景が、本発明の譲受人に譲渡されたサイモン・バーカーの米国特許出願第１４／６０３９６９号「画像処理のためのプローブ配置」で提供されており、その教示内容は参照により有益な背景情報として本明細書に組み込まれる。図３を参照して、楕円形オブジェクト３１０の模範的なディスプレイ３００が表現されている。オブジェクトのエッジにおけるコントラストが勾配を定義する。即ち、個々のピクセル３１２、３１４及び３１６は、暗から明に遷移している。そのようなものとして、矢印によって表現された一連のプローブ３２０が勾配の方向を定義する。プローブはベクトル特性を有しており、その長さが勾配の大きさを定義する。同様に、各プローブ３２０はほぼオブジェクト３１０の指定されたエッジに当たる中央位置３２２（プローブの実際の位置）を定義できる。図４に、模範的な輪郭４００に沿ったプローブ３２０が関連位置（円３２２）と共により詳細に示されている。図５に示されているように、形状５００の完全なモデルは形状の外周５１０を包囲する訓練されたプローブの配列によって定義でき、各プローブは（この例では）勾配の方向を表わすために外方を指し示す矢印によって指定される。
【００３１】
更に手順２００（図２）を参照して、プローブは随意に正規化でき（ステップ２３０）、それらの最大長さ（大きさ）は所定の値、例えば１．０である。この模範的な実施形態ではすべてのプローブの大きさには０〜１である。次にこの正規化されたプローブセットが保存されるか、さもなければ候補ポーズをモデルにマッチングする際に使用するためにプロセスの実行時段階に提供される（ステップ２４０）。
【００３２】
ＩＩＩ．実行時動作
【００３３】
図６の実行時手順６００を参照して、ビジョンシステム（１００）は実行時オブジェクトの画像を取得するか、さもなければ画像データが（例えば記憶装置から）ビジョンシステムプロセス（又はプロセッサ）１３０に提供される（ステップ６１０）。例示的に、画像は２Ｄ配列であり、その要素はグレースケール、色の強度、立体情報などを表してよい。ステップ６２０で、ビジョンシステムプロセス（又はプロセッサ）１３０は興味のある領域−例えば対照的な特徴を包含する画像の部分、輪郭及び／又は形状を特定する。随意に、ステップ６３０でこの画像からビジョンシステムプロセス（又はプロセッサ）は、完全に集合した「勾配画像」を生成することもできる。勾配画像はｘ方向とｙ方向の各々で２Ｄ配列の各要素に対して派生物を規定する。この配列は画像の配列と同じであるか、勾配を計算するために使用されるカーネルのためにピクセルの部分（例えば２分の１ピクセル）だけオフセットされてよい。代替的に、勾配画像の配列は、取得された画像の配列に対して任意の関係を定義できる。例えば勾配動作の一部としてデシメーションが行われる場合。
【００３４】
様々な実施形態でイメージャは３Ｄ画像データを取得するように適合できることに留意されたい。ここで記載された原理は、当業者には明白である筈のやり方でそのようなデータを調節することに拡張できる。
【００３５】
ステップ６４０でポーズ変容が起こる。ポーズ変容は、プローブの訓練されたポーズから画像内のプローブの候補ポーズへのマッピングを規定する。このポーズはｘオフセットとｙオフセットのように単純なものであってよく、或いは随意に一部又は全部のアフィン自由度を含むことができる。代替的に、ポーズ変容は任意の複合的な非線形マッピングを定義できる。
【００３６】
例示的に、ビジョンシステムプロセス（又はプロセッサ）はセットアップ時又は実行時ユーザに対し（例えばユーザインタフェースを介して）モデルと実行時画像／輪郭との間に許される変形の量を規定するように要求できる（或いはシステムは自動的に規定できる）。この変形はピクセル単位又はその他の適当な測定基準で規定され得る。より一般的には、ユーザは依然として良好なマッチと見なされる局所的変形の量を規定する。１実施形態において、この値は整数であることができ、他の実施形態値では浮動小数点値であってよい。例示的に、規定された許容変形１．０は１ピクセルの線寸法に等しい。ユーザは物理的測定単位（例えばミリメートル、ミクロンなど）を事前に定めた較正関係によってピクセル単位に換算できる。
【００３７】
上述したように、各候補ポーズの変容が起こる。訓練された（モデル）プローブは変容を通してマッピングされ、マッピングされた位置は各プローブに対する方向で確定される。図７は、実行時オブジェクト画像７１０のディスプレイ７００を示しており、これはモデルプローブ７２０のセットによって定義されたモデルに対する変形の程度を含んでいる。円で囲んだ領域７３０及び７４０は、変形のため実行時輪郭エッジ７５０から（それぞれ外方及び内方に）著しくミスアライメントされたプローブを表している。このミスアライメントは以下に記すように採点によって対処される。
【００３８】
例示的な実施形態において変容を採点するために、最初に各プローブが個々に採点され、次にスコアが合計される。各プローブについて、システムプロセスは画像内のマッチング勾配を発見（推定）することを試みる。プロセスはまた候補とモデルの間の僅かな固有の変形を調節するためにマッチする「近くの」勾配を発見することも試みる。概して、プロセスはプローブの勾配方向に沿った潜在的マッチを発見しようと試みる。そのようなものとして他のプローブは対象プローブの各側でエッジに沿った（勾配方向に対して垂直な）方向にあることが予想される。同様に、プロセスは予想より短いセグメントには全クレジットを適用しない。その結果生じる技術は、テストすべきプローブ位置を効率的に推定する。これは特に対象プローブの（ベクトル）方向が、輪郭上の特定位置について最も望ましくテストされる方向であり、プローブの長さは１．０に正規化されているという事実に基づく。
【００３９】
ステップ６５０（図６）に従い、プロセスはプローブ方向の倍数（増分オフセット）を変容された位置に加えて線を形成するテスト位置のセットを生み出すことができる。例を挙げると、図８に示されているように、模範的なプローブ８００はアローヘッド８１０によって表される方向を定義する。プローブ８００の変容された位置は円８２０によって識別される。この例では、ユーザ定義による（正規化された）許容変形は２に設定される。このようにして、実行時画像で勾配を決定するためのテスト位置を定義する中央位置（円８２０）に加えて、それぞれ１単位の増分オフセットで４つの追加的なテスト位置８３０、８４０、８５０、８６０が、中央位置８２０の互いに反対側（一方の側は８３０、８４０、他方の側は８５０、８６０）で提供される。これらのオフセット位置８３０、８４０、８５０、８６０は、特にプローブ方向（黒のベクトル）の倍数、具体的には−２、−１、０（位置８２０）、１、２を加えることによって計算される。
【００４０】
効率のために、及び双一次補間空間のピークは典型的にサンプル位置で生じるので、プロセスは各サンプル位置が集合する全体ピクセル勾配ビンを決定する。その結果、同じ位置を２度テストすることもあるが、同じ位置が複数回テストされるか否かを判定するよりも、盲目的にテストする方が効率的である。例示的に、プロセスは、（正規化された）プローブ方向と未処理の勾配の大きさのベクトルとの（テスト位置における）最大ドット積を有するテスト位置に注目する。
【００４１】
別の実施形態において、プローブ位置は（例えば）勾配方向に基づく所定の位置のセットから選択できることが特筆される。制限的でない例を挙げると、システムは、プローブを０度、４５度、９０度又は１３５度スライドさせた４セットのオフセットを選択する。例えば４５度の場合、オフセットは正規化された値（−１、−１）、（０、０）、（１、１）であることができる。適当な方向を選択するために、システムマッピングされたプローブ勾配の実際の角度に最も近い計算済みの角度を選択できる。
【００４２】
手順６００（図６）のステップ６６０で、各プローブのオフセット位置について最終的な採点が行われる。各プローブの最終的スコアに対して、システムは選択された勾配の大きさのベクトルを正規化する。概して、正規化機能はプローブ長さが与えられた値−例えば１．０に最大化されることを保証する。
【００４３】
実行時画像７１０にマッピングされた訓練されたプローブ７２０を示す図７を再び参照して、円で囲んだ領域７３０及び７４０内のプローブは、実行時画像の勾配から実質的にオフセットしているため非常に低いスコアを表す。これらのエリアは明らかな非マッチと見なされる。同様に隣接エリア７７０は閾値を下回る低いスコアを定義し、非マッチと見なされる。遷移エリア７６０はマッチが少ないが、それは勾配が（最良の位置オフセットでテストしても）弱いか、又は角度マッチが理想より小さいためである。それ以外の実行時勾配又はその近傍（例えば領域７８０）にあるプローブは、一般に非常に強いマッチを定義する１に近いプローブスコアを表す。画像の頂点に近い及び画像から僅か左の一部のプローブはどの勾配上にもないが、マッチング勾配に近接しているために依然として緑で表示されていることに留意されたい。とりわけ、マッチング特徴からあまりに遠い位置にあるプローブは、たとえある程度の変形は許しても０に近いスコアを受ける。さもなければシステムはマッチングパターンと非マッチングパターンとを効果的に区別できないであろう。図１１は、輪郭１１００の部分を示しており、プローブは実行時勾配との近さに基づいて強いマッチ（領域１１１０）から弱いマッチ（領域１１２０）を経て非マッチ（領域１１３０）に遷移している。
【００４４】
再び図６の実行時手順６００を参照して、ステップ６７０でプローブを採点した後、システムは次にそのようなすべてのプローブスコアの合計を計算する。最終スコアは正規化され得る。即ち、この方法で計算されるスコアの最大可能な値はプローブの数に等しく、総計をプローブの数で割ることによってスコアは０〜１の範囲に正規化される。このタイプのスコアは、各々の適当な候補ポーズについて計算できる。与えられた閾値を超えるスコア（決定ステップ６８０）はアライメントされたポーズと見なされ（ステップ６８２）、与えられた閾値を超えないスコアはアライメントされないポーズと見なされる（ステップ６８４）。
【００４５】
ＩＶ．結論及び追加的な考察
【００４６】
上述したシステム及び方法は、訓練時におけるモデルと実行時における実行時オブジェクト画像の候補ポーズとの間に合理的な程度の変形を許し、これを計算効率が良く精確で、実行時画像内のディテールを処理／マッチングできるやり方で調節する。変形及び歪みは画像又はその基礎をなすオブジェクトで生じることがあり、そのような可能な変容をモデル化することは実用的ではないということが考慮されている。そのためここではアライメントプロセス（又はプロセッサ）は、概して可能な変容、例えばｘ、ｙ及び面内回転Θによって規定された厳密な変容のサブセットを採用する。従って最良の候補を精確に報告するために、採点プロセスは概して典型的に変容された境界からの局所的逸脱として現れるモデル化されない変容に対して寛容である。システム及び方法は一般に最大速度で動作して、長さ数ミリ秒であり得る時間割当が守られ、実行時画像で生じ得る多数の可能な候補ポーズを採点できるようにする。
【００４７】
概して、以上述べたシステム及び方法は、訓練段階で及び実行時段階でこれらの目標を達成するために動作する。訓練段階では、モデルを表現するためにプローブのセットが選択され、その各プローブが位置と方向を定義する。次に実行時段階では、訓練プローブの変容によって規定されたプローブのマッピングされたセットを計算する。マッピングされた位置からのオフセットの離散的セットのうち各プローブについて最良の得点位置が計算又は推定される。これらのオフセットはマッピングされたプローブの方向と相対的に向けられており、各プローブに対するマッチスコアは、その最良マッチ位置における当該プローブのスコアとして計算される。次に個々のプローブスコアの加重和又は積である合計スコアが計算される。随意に、システム及び方法は候補ポーズを訓練されたプローブとアライメントする前に前処理ステップで完全に集合した勾配場を計算することができる。これはプローブがテストされる各位置について対応する勾配ベクトルを計算することによって達成できる。より具体的には、当該位置を包含する勾配場ピクセルが決定され、その勾配場ピクセルに対応する勾配ベクトルが採用される。代替的に、システムは隣接する勾配場の値のサブピクセル補間を実行する。これは例えば４つの隣接するｘ勾配の双一次補間と、４つの隣接するｙ勾配の双一次補間によって行う。システムはまた当該位置に最も近い位置にある画像ピクセルのセットも決定でき、ＸカーネルとＹカーネルを適用して全体ピクセル勾配を計算する。
【００４８】
例示的に、全体ピクセル勾配の近傍についても上記のようにＸ勾配とＹ勾配を決定でき、次いで上述した勾配値を決定できる。また、プローブ方向ベクトル及び／又は勾配方向ベクトルの大きさ（長さ）を、プローブ又は勾配に個々に適用できるやり方で正規化できる。より具体的には、方向ベクトルの大きさは、所定の大きさ（例えば１．０）、又はその未処理の大きさの所定の関数である大きさに正規化できる。例示的に、訓練段階ですべてのプローブ方向ベクトルの長さを正規化できる。上述したプローブのスコア及び対応する勾配方向は、（随意に正規化された）プローブ方向と対応する（随意に正規化された）勾配方向ベクトルとのドット積によって計算できる。例示的に、計算効率のためにベクトルの固定したポイント表現を採用できる。
【００４９】
例示的な実施形態において、システムはテストすべき位置のセットをマッピングされプローブの位置と相対的に決定する。これは、（ａ）すべてプローブの方向ベクトルを１．０の大きさに正規化し（例えば訓練段階）、（ｂ）オフセット位置を正規化されたプローブ方向ベクトルの所定の倍数として計算することによって行う（例えば許容された変形が３であれば、テストされるオフセットはそれぞれプローブの正規化された方向を乗じて−３、−２、−１、０、１、２、３であろう）。代替的に、位置のセットを決定するためにシステムは垂直方向の所定のオフセットを採用できる。これらはベクトル（−ｙ、ｘ）によって規定され、（ｘ、ｙ）はプローブの正規化された方向ベクトルの成分である。例えば、｛−１、０、１×（−ｙ、ｘ）｝と｛−３、−２、−１、０、１、２、３×（ｘ、ｙ）｝のクロス積。
【００５０】
様々な実施形態において、システムは（総）スコアを（ａ）測定基準の理論的最大スコア（即ちすべてのプローブに対する完璧なマッチのスコア）で割るか、又は（ｂ）訓練された画像内の訓練されたポーズオンスコアで割ることによって０〜１の範囲に正規化できる。
【００５１】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組合せを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば本明細書中で使用される「プロセス」及び／又は「プロセッサ」という言葉は広く電子ハードウェア及び／又はソフトウェアをベースとする多様な機能及びコンポーネントント（或いは機能的「モジュール」又は「エレメント」と呼ぶことがある）を含むものと解釈されるべきである。更に、図示されたプロセス又はプロセッサは他のプロセス及び／又はプロセッサと組合せ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び／又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び／又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組合せを用いて実施できることが明確に想定されている。更に、本明細書で使用される様々な方向及び／又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」及びこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。加えて、与えられた測定、値又は特徴に関して「実質的に」又は「近似的に」という言葉が用いられている場合、それは所期の結果を達成するための通常の操作範囲内にある量を指しているが、システムに許容された誤差の範囲内の固有の不正確さや誤りに起因するある程度のばらつきを含む（例えば１−５パーセント）。従ってこの説明は例示の方法によるものであり、本発明の範囲を別途制限することを意味するものではない。
以下に特許請求の範囲を記載する。
【図１】
2019091493.tif 000003
【図２】
2019091493.tif 000004
【図３】
2019091493.tif 000005
【図４】
2019091493.tif 000006
【図５】
2019091493.tif 000007
【図６】
2019091493.tif 000008
【図７】
2019091493.tif 000009
【図８】
2019091493.tif 000010
【図９】
2019091493.tif 000011
【手続補正書】
【提出日】平成31年2月13日(2019.2.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
実行時画像７１０にマッピングされた訓練されたプローブ７２０を示す図７を再び参照して、円で囲んだ領域７３０及び７４０内のプローブは、実行時画像の勾配から実質的にオフセットしているため非常に低いスコアを表す。これらのエリアは明らかな非マッチと見なされる。同様に隣接エリア７７０は閾値を下回る低いスコアを定義し、非マッチと見なされる。遷移エリア７６０はマッチが少ないが、それは勾配が（最良の位置オフセットでテストしても）弱いか、又は角度マッチが理想より小さいためである。それ以外の実行時勾配又はその近傍（例えば領域７８０）にあるプローブは、一般に非常に強いマッチを定義する１に近いプローブスコアを表す。画像の頂点に近い及び画像から僅か左の一部のプローブはどの勾配上にもないが、マッチング勾配に近接しているために依然として緑で表示されていることに留意されたい。とりわけ、マッチング特徴からあまりに遠い位置にあるプローブは、たとえある程度の変形は許しても０に近いスコアを受ける。さもなければシステムはマッチングパターンと非マッチングパターンとを効果的に区別できないであろう。図９は、輪郭９００の部分を示しており、プローブは実行時勾配との近さに基づいて強いマッチ（領域９１０）から弱いマッチ（領域９２０）を経て非マッチ（領域９３０）に遷移している。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１６
【補正方法】変更
【補正の内容】
【請求項１６】
プローブのセットが訓練段階で訓練されたモデルを表わす位置と方向で生成される請求項１５に記載のシステム。
【外国語明細書】
2019091493000001.pdf