(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022169723
(43)【公開日】2022-11-09
(54)【発明の名称】ビジョンシステムで画像内のプローブを効率的に採点するためのシステム及び方法
(51)【国際特許分類】
G06T 7/73 20170101AFI20221101BHJP
G06T 7/00 20170101ALI20221101BHJP
【FI】
G06T7/73
G06T7/00 350B
【審査請求】有
【請求項の数】16
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022135459
(22)【出願日】2022-08-28
(62)【分割の表示】P 2021098371の分割
【原出願日】2017-02-11
(31)【優先権主張番号】62/294,430
(32)【優先日】2016-02-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/429,336
(32)【優先日】2017-02-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100119378
【弁理士】
【氏名又は名称】栗原 弘幸
(72)【発明者】
【氏名】ボーガン,ナタニエル アール.
(57)【要約】 (修正有)
【課題】実行時画像の1以上の候補ポーズの分析に使用する訓練されたプローブを採点するためのシステム及び方法を提供する。
【解決手段】訓練されたモデルに基づく位置と勾配方向を有するプローブのセットが実行時画像に基づく1以上の候補ポーズに適用されるプローブと実行時候補ポーズとのマッチを採点するための手順であって、適用されたプローブは、各々それぞれの勾配方向を基準にした位置オフセットの離散的セットを含んでいる。各々のプローブについてマッチスコアが計算され、これは各々のプローブについてそれぞれのオフセットの1つと相対的に最良マッチ位置を推定し、それぞれ推定された最良マッチ位置で各々のプローブについて個々のプローブスコアのセットを生成することを含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ビジョンシステムプロセッサで実行時画像の1以上の候補ポーズの分析に使用する訓練されたプローブを採点するための方法であって、
訓練されたモデルに基づく位置と勾配方向を有するプローブのセットを提供するステップと、
実行時画像に基づく1以上の候補ポーズを提供し、プローブを少なくとも1つの候補ポーズに適用するステップであって、適用されたプローブは各々がそれぞれ勾配方向を基準にした位置オフセットの離散的セットを含む、前記ステップと、
各々のプローブについてマッチスコアを計算し、それぞれプローブのオフセットの1つと相対的に各々のプローブについて最良マッチ位置を推定することを含み、それぞれ推定された最良マッチ位置で各々のプローブについて個々のプローブスコアのセットを生成するステップと、を含む方法。
【請求項2】
プローブのセットは、訓練ステップにおいて訓練されたモデルを表わす位置と方向で生成される、請求項1に記載の方法。
【請求項3】
更に、個々のプローブスコアの加重和又は積である合計スコアを計算し、合計スコアの計算は(a)プローブスコアが生成されるのと同時に動作するか、又は(b)プローブスコアの一部又は全部が生成された後に動作することを含む、請求項1に記載の方法。
【請求項4】
更に、合計スコアに基づいてモデルと実行時画像との間の最良アライメントマッチを選択することを含む、請求項3に記載の方法。
【請求項5】
更に、適用のステップの前に各々の候補ポーズを基準にしてプローブのセットを事前登録することを含む、請求項1に記載の方法。
【請求項6】
更に、適用のステップの前に各々のプローブが適用される各位置について勾配を計算することを含む、請求項1に記載の方法。
【請求項7】
更に、各々のプローブが適用される各位置について勾配ベクトルを
(a)当該位置を包含する勾配場ピクセルを決定して、この勾配場ピクセルに対応する勾配ベクトルを使用するか、
(b)当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するか、
(c)当該位置に最も近い位置にある画像ピクセルのセットを決定して、XカーネルとYカーネルを適用して全体ピクセル勾配を計算するか、あるいは
(d)当該位置を中心とした全体ピクセル勾配の近傍についてX勾配とY勾配を決定して、当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するか、
のいずれか1つによって計算することを含む、請求項6に記載の方法。
【請求項8】
更に、各々のプローブの少なくとも1つの方向ベクトルの大きさと、各々のプローブの勾配方向ベクトルを正規化することを含む、請求項1に記載の方法。
【請求項9】
正規化のステップは、
(a)方向ベクトルの大きさを所定の大きさに正規化すること、又は
(b)方向ベクトルの大きさをその未処理の大きさの所定の関数である大きさに正規化すること、
のいずれか1つを含む、請求項8に記載の方法。
【請求項10】
更に、訓練段階で各々のプローブの方向ベクトルの大きさを正規化することを含む、請求項8に記載の方法。
【請求項11】
実行時画像に適用されるプローブの位置は、
(a)各々のプローブの方向ベクトルを1.0の大きさに正規化すること、及び
(b)オフセット位置を正規化されたプローブ方向ベクトルの所定の倍数として計算すること、によって決定される、請求項8に記載の方法。
【請求項12】
更に、オフセットをそれぞれ各々の方向ベクトルに対して垂直の方向で計算することを含む、請求項11に記載の方法。
【請求項13】
計算のステップは、各々のプローブのそれぞれの位置で各々のプローブの方向と実行時画像の勾配ベクトルとのドット積を実行することを含む、請求項1に記載の方法。
【請求項14】
更に、プローブの1以上のベクトルの大きさを正規化関数に基づいて正規化することを含む、請求項1に記載の方法。
【請求項15】
ビジョンシステムプロセッサで実行時画像の1以上の候補ポーズの分析に使用する訓練されたプローブを採点するためのシステムであって、
画像データの訓練されたモデルに基づく位置と勾配方向を有するプローブのセットを受け取り、実行時画像に基づく1以上の候補ポーズを提供し、プローブを少なくとも1つの候補ポーズに適用し、適用されたプローブは各々それぞれの勾配方向を基準にした位置オフセットの離散的セットを含んでいる採点プロセスと、
各々のプローブについてマッチスコアを計算し、それぞれのオフセットの1つと相対的に各々のプローブについて最良マッチ位置の推定を含み、それぞれ推定された最良マッチ位置で各々のプローブについて個々のプローブスコアのセットを生成することを含むアライメントプロセスと、を有する上記システム。
【請求項16】
プローブのセットが訓練段階で訓練されたモデルを表わす位置と方向で生成される請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は2016年12月2日に出願された同時係属米国特許仮出願第62/294,430号「ビジョンシステムで画像内のプローブを効率的に採点するためのシステム及び方法」の優先権を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
【0002】
技術分野
本発明は、マシンビジョンシステム、より具体的には実行時画像の候補ポーズを基準にして訓練された画像をアライメントするためのシステム及び方法に関する。
【背景技術】
【0003】
本明細書で「ビジョンシステム」とも呼ばれるマシンビジョンシステムは、製造環境において多様なタスクを実行するために使用される。一般にビジョンシステムは、製造中のオブジェクトを包含するシーンのグレースケール、カラー画像及び/又は3次元(3D)画像を取得する画像センサ(又は「イメージャ」)を備えた1台以上のカメラからなる。オブジェクトの画像を分析してデータ/情報をユーザ及び関連する製造工程及び/又は他の工程に提供できる。画像によって生み出されるデータは通常ビジョンシステムにより1台以上のビジョンシステムプロセッサで分析及び処理され、ビジョンシステムプロセッサはそれ専用に製造されたものであるか、或いは汎用コンピュータ(例えばPC、ラップトップ、タブレット又はスマートフォン)内で作成される1以上のソフトウェアアプリケーションの一部であってよい。
【0004】
ビジョンシステムの共通タスクは、アライメントと検査を含む。アライメントタスクにおいてビジョンシステムツール、例えばコグネックス社(マサチューセッツ州ネイティック)から市販されている周知のPatMax(登録商標)システムが、あるシーンの画像内の特徴を(実際のモデル又は合成モデルを用いて)訓練されたパターンに対して撮像されたシーンにおけるパターンの存在/欠如及びポーズを決定する。この情報は後続の検査動作(又は他の)動作に使用して欠陥を探し及び/又は部品拒否など他の動作を実行できる。
【0005】
そのようなビジョンシステムタスクは、アライメント実行時2次元(2D)画像(例えばグレースケール)において訓練されたモデルの与えられたポーズについて有意味なマッチスコアを計算することによって実行できる。スコアは、例えばどの候補ポーズがモデルの真のインスタンスであるかを決定するため、利用可能な最良候補を選択するため、又はその他の分類及び/又は決定の目的のために使用できる。
【0006】
スコアを計算してアライメントを決定することは、取得された実行時画像が予想されるモデル画像からの変形又はその他の変容を含む場合はしばしば困難である。そのような変形は、オブジェクト表面の微小な欠陥の結果であるか、又は光学的問題-例えば視野角の変化、視野の不均一な照明部分遮蔽、陰影などに起因する結果であり得る。ポーズを効果的に採点するために、プロセスにおいて若干の変形を考慮に入れる必要がある。同様に、ビジョンシステムカメラレンズの非線形であり得る歪みが存在することがあり、これに対処するのは困難で高い処理オーバーヘッドを要することがある。
【0007】
訓練された画像を実行時画像とアライメントするための共通技術は、一般に勾配を定義するモデル上のポイントに対応する一連の位置を包含するプローブの使用を伴う。プローブは実行時画像内の候補ポーズを基準にして位置決めされ、候補ポーズがプローブによって定義された予想されるモデル特性とどの程度マッチするかを決定するために採点される。
【0008】
変形が存在する場合に、候補ポーズのプローブマッチングを実行するための先行技術は、実行時画像から「小特徴」を抽出して小特徴をマッチングする試みを伴う。これは画像から個々のエッジ遷移のサブピクセル位置を抽出することからなる。各小特徴は境界の(例えば)長さ1ピクセルのセクションにほぼ対応する。これらの小特徴が抽出されたら、各プローブを中心とする近傍サーチは、潜在的マッチング特徴があるか決定でき、マッチが生じるとスコアにクレジットが与えられる。しかしながら、この方策は2つの重要な不備がある。第1に、それは何が特徴と呼ばれるのに十分な強い勾配変化であり何がそうでないかを決定するために、ハードなコントラスト閾値を要する。画像特徴がこのハードな閾値に近ければ、抽出の挙動は不安定であり得る。第2に、小特徴を抽出することは計算コストが高い。なぜならそれはあらゆる位置で勾配を決定し、勾配方向の角度を計算し(単にそれらのx成分とy成分ではなく)、局所的に最も強い勾配を有する位置だけを残すためにオフピーク抑圧を実行することを求めるからである。従ってこの方策はあまり迅速ではなく、所望するほど効率的ではない。
【0009】
訓練されたモデルをマッチングするためのその他の先行技術は、「平滑化された」実行時画像を採点することである。これは画像の平滑化(例えばガウシアンフィルタを適用して)と(随意に)画像のダウンサンプリングからなる。次に画像は(例えば)正確に変容されたプローブ位置で(該当する場合はダウンサンプリングされた座標に正確にマッピングされて)採点される。これは暗黙に若干の局所的変形を許容する。なぜなら近くの特徴が不鮮明になって、プローブ位置とオーバーラップするからである。再び、この方策は2つの重要な不備がある。第1に、平滑化は情報を破壊し、それゆえ真のマッチング特徴を排除し、その結果として所望するより低いスコアを招く可能性がある。第2に、平滑化は強い勾配を有する1以上の新しい位置を生み出すことがあり、それゆえ誤ったマッチング特徴を生み出し、その結果として所望するより高いスコアを招く可能性がある。
【発明の概要】
【0010】
本発明は、訓練されたモデル画像を実行時画像の候補ポーズにアライメントする際に使用するプローブを採点するためのシステム及び方法を提供することによって先行技術の短所を克服する。このシステム及び方法は、明確にポーズ変容の一部ではない若干の局所的変形を許すが、実行時画像データ不鮮明化及び/又はダウンサンプリング、或いは実行時画像で計算コストがかかる過剰な動作を行うことを回避する。この変形の調節はスコアを著しく減少させない。有利には、スコアは迅速に、且つ概して取得した画像で明確な実行時特徴の抽出を行うことを要することなく計算できる。
【0011】
例示的な実施形態において、実行時画像の1以上の候補ポーズの分析に使用する訓練されたプローブを採点するためのシステム及び方法が提供される。訓練段階で生成された、訓練されたモデルに基づく位置と勾配方向を有するプローブのセット、実行時画像に基づく1以上の候補ポーズに適用される。適用されたプローブは各々それぞれの勾配方向を基準にした位置オフセットの離散的セットを含む。各々のプローブについてマッチスコアが計算され、これは各々のプローブについてそれぞれ1つのオフセットと相対的に最良マッチ位置を推定し、それぞれ推定された最良マッチ位置で各々のプローブに対する個々のプローブスコアのセットを生成することを含む。
【0012】
例示的に、訓練ステップで訓練されたモデルを表わす位置と方向を有するプローブのセットが生成される。個々のプローブスコアの加重和又は積である合計スコアを生成でき、合計スコアの計算は(a)プローブスコアが生成されるのと同時に動作するか、又は(b)プローブスコアの一部又は全部が生成された後に動作する。合計スコアに基づいてモデルと実行時画像との間の最良アライメントマッチを選択できる。例示的に、適用のステップの前に各々の候補ポーズを基準にしてプローブのセットが事前登録される。適用のステップの前に、各々のプローブが適用される各位置について勾配が計算される。各々のプローブが適用される各位置について勾配ベクトルも、(a)当該位置を包含する勾配場ピクセルを決定して、この勾配場ピクセルに対応する勾配ベクトルを使用するか、(b)当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するか、(c)当該位置に最も近い位置にある画像ピクセルのセットを決定して、XカーネルとYカーネルを適用して全体ピクセル勾配を計算するか、(d)当該位置を中心とした全体ピクセル勾配の近傍についてX勾配とY勾配を決定して、当該位置を基準にして隣接する勾配場の値のサブピクセル補間を実行するかのいずれか1つによって計算できる。各々のプローブの少なくとも1つの方向ベクトルの大きさと、各々のプローブの勾配方向ベクトルは所定の値(例えば1.0)に正規化できる。例示的に、正規化は、(a)方向ベクトルの大きさを所定の大きさに正規化すること、又は(b)方向ベクトルの大きさをその未処理の大きさの所定の関数である大きさに正規化することのいずれか1つを含む。システム及び方法は、訓練段階で各々のプローブの方向ベクトルの大きさを正規化することを含むこともできる。例示的に、実行時画像に適用されるプローブの位置は、(a)各々のプローブの方向ベクトルを1.0の大きさに正規化すること、及び(b)オフセット位置を正規化されたプローブ方向ベクトルの所定の倍数として計算することによって決定できる。実施形態において、システム及び方法はオフセットをそれぞれ各々の方向ベクトルに対して垂直の方向で計算することも含むことができる。追加的に、スコアを計算することは、各々のプローブのそれぞれの位置で各々のプローブの方向と実行時画像の勾配ベクトルとのドット積を実行することを含むことができる。実施形態において、プローブの1以上のベクトルの大きさを正規化関数に基づいて正規化できる。
【0013】
以下に本発明について添付の図面を参照して説明する。
【図面の簡単な説明】
【0014】
【
図1】候補ポーズが例示的な実施形態に従うプローブを用いて訓練されたモデルとアライメントされた模範的なオブジェクトの画像を取得するビジョンシステムを示す略図である。
【0015】
【
図2】訓練されたプローブがモデル画像の輪郭/特徴から生成される訓練手順のフローチャートである。
【0016】
【
図3】関連する訓練されたプローブを示す模範的なモデル画像の輪郭のディスプレイの略図である。
【0017】
【
図4】模範的なモデル輪郭の勾配を基準にして中央位置を示す複数の訓練されたプローブのディスプレイの略図である。
【0018】
【
図5】モデル画像の勾配を包囲する訓練されたプローブのセットのディスプレイの略図である。
【0019】
【
図6】訓練されたプローブを実行時候補ポーズに適用して、プローブと実行時候補ポーズとのマッチを採点するための手順のフローチャートである。
【0020】
【
図7】変形が訓練されたプローブのセットとアライメントされた模範的な実行時画像のディスプレイの略図である。
【0021】
【
図8】実行時輪郭の勾配を基準にして最良位置を推定するために使用する所定の増分でのオフセットのセットを示す模範的なプローブの略図である。
【0022】
【
図9】模範的な実行時輪郭の勾配とのマッチから弱いマッチを経て非マッチに至る遷移を示す複数のプローブのディスプレイの略図である。
【発明を実施するための形態】
【0023】
I.システムの概観
【0024】
図1は、ビジョンシステムカメラアセンブリ120の視野(FOV)内で撮像されたオブジェクトの表面上の特徴の検査及び/又は分析に使用するためマシンビジョンシステム100(単に「ビジョンシステム」とも呼ぶ)を示す。カメラアセンブリ120はコンポーネントの任意の受け入れ可能な配置構成であってよく、典型的にはレンズアセンブリ122と、CCD又はCMOSなど任意の受け入れ可能な撮像技術に基づき画像センサ(又は「イメージャ」)126を収容するカメラ本体124とを含む。イメージャ126は、画像を2次元で(例えばx軸とy軸に沿って)シーンをグレースケール又はカラーで感知するように適合できる画像ピクセルの配列において取得するように配置できる。カメラ本体124は、関連するビジョンプロセスを実行するビジョンプロセッサ130を構成する種々の画像処理コンポーネントを含むことができる。ビジョンプロセッサ130はシーンの取得した画像上で動作し、ビジョンシステムツール及び他のプロセス(プロセッサ)152を用いて取得した画像データ134から情報を抽出できる。この情報は興味のある特徴及び画像内に現れる他のアイテムに関係することができる。例えば米国マサチューセッツ州ネイティック市所在のコグネックス株式会社から市販されている周知のPatMax(登録商標)などのビジョンシステムツールを使用して、画像内の2D及び3D特徴を分析して、相対的ポーズ、アライメント及び他のディテール、例えばエッジ、ブロブなどに関する情報を提供できる。ビジョンシステムプロセスの一部の又は全部をカメラアセンブリ120の本体124内で実行できる。プロセスの一部の又は全部を相互接続された(有線又は無線)コンピューティングデバイス/プロセッサ、例えば専用プロセッサ又は汎用コンピュータ(例えばサーバ、PC、ラップトップ、スマートフォン、タブレットなど)140と適当なユーザインタフェース(例えばキーボード142、マウス144、及びディスプレイ/タッチスクリーン146)によって実行できることが明確に想定されている。相互接続されたコンピューティングデバイス/プロセッサ140は、処理された画像データ134を用いて更に下流プロセッサ又はデバイスによるユーティライゼーションタスクを実行できる。例えばビジョンシステムが検査タスクを実行する場合に、情報を用いてデータベースに品質管理情報を提供したり、ライン上の欠陥品を拒否したりできる。情報は(例えば)物流用途でもオブジェクト上のラベル及び/又はIDコードを読み取ることによって使用できる。画像データ及び関連情報で他の様々なユーティライゼーションタスクを企てることができる。
【0025】
例示的な実施形態において、ビジョンプロセス及びプロセッサ130は、複数の機能的ブロック及び/又はモジュールを含む。これらは、後続の実行時プロセスでオブジェクト特徴の候補ポーズをモデル特徴に対するアライメントについて分析するために使用するモデル特徴データの訓練を行う訓練プロセス(又はプロセッサ)152を含む。以下に記すように、モデルデータ154は訓練プロセス(又はプロセッサ)152によって生成される。このモデルデータは、モデルプローブ/訓練されたプローブを含む。これらのプローブは、様々な位置でモデル特徴の勾配を特徴付ける。訓練された画像データ又はモデル画像データは、実際の訓練オブジェクト表面及び/又は合成画像データの取得された画像に基づくことができることに留意されたい。即ち、訓練された画像又はモデルは、(例えば)CADモデル、合成スクエアなどで提供される記述によって規定することができる。従って「モデル」という用語は、広く実際の取得された画像ピクセル値に概して依存することなく規定されたデータを含む。
【0026】
ビジョンシステムプロセス(又はプロセッサ)130は、実行時動作においてオブジェクトの画像の取得及び処理に関係する様々なタスクを実行する実行時プロセス(又はプロセッサ)154も含む。そのようなタスクは画像内の特徴を登録し、随意の特徴の平滑化及び勾配分析を実行し、ビジョンシステムツール(132)を用いてエッジ及びその他の特徴を特定し、実行時分析の結果をデータ処理装置/プロセス(プロセッサ)に伝送することを含むことができる。これらのプロセスにより、後続のアライメント動作のために特定すべき実行時画像内の興味のある特徴の様々な候補ポーズが可能になる。そのような実行時動作は、例示的な実施形態に従うアライメントプロセス(又はプロセッサ)156を用いてオブジェクトの候補ポーズ及びオブジェクト特徴をモデルにアライメントすることを含む。以下に記すように、アライメントプロセス(又はプロセッサ)は、各プローブに対するスコアに基づいてプローブを候補ポーズにおける実行時画像特徴/輪郭の勾配にマッチングする。より具体的には、与えられた画像における訓練されたモデルの与えられた候補ポーズについてスコアが計算される。これにより、ポーズが規定するものを超えた輪郭内の(モデルに対する)局所的変形の程度を調節するためのマッチングが可能になる。
【0027】
II.モデルプローブの訓練
【0028】
図2を参照して、1以上のモデル輪郭からなるモデル特徴の訓練のための手順200が示されている。モデル輪郭又は輪郭のセットは、当業者には明確である筈の幾つかの技術によって決定される。各輪郭は、輪郭を横断する勾配の方向を示す掌性を定義でき、或いはそうでない場合には勾配の極性を無視できる。
【0029】
ステップ210で、手順210が1以上の輪郭を含むモデル画像を提供する。これらは(実行時オブジェクトの所望のバージョンを表わす)モデルオブジェクトの実際の取得された画像に基づき、又は上述したようにオブジェクトの(例えば)CAD表現から合成データによって提供され得る。追加的に、所望のモデル輪郭を生成するために実際の画像を修正できる。
【0030】
ステップ220に記されているように、モデル輪郭は(輪郭に対して垂直な)勾配の方向を指し示すプローブと呼ばれるサンプルの離散的セットによって表現される。グレースケールモデルに対して、プロセス200は概して勾配及びそれらの連結度を調べることによって輪郭を抽出し、次にこの輪郭を表わすためにプローブの離散的セットを選択する。プローブのセットの生成は、概して当業者には明白なやり方で達成できる。該当する場合はプローブ配置及び均衡などの追加的な技術を採用できる。そのような技術、並びにプローブのより一般的な背景が、本発明の譲受人に譲渡されたサイモン・バーカーの米国特許出願第14/603969号「画像処理のためのプローブ配置」で提供されており、その教示内容は参照により有益な背景情報として本明細書に組み込まれる。
図3を参照して、楕円形オブジェクト310の模範的なディスプレイ300が表現されている。オブジェクトのエッジにおけるコントラストが勾配を定義する。即ち、個々のピクセル312、314及び316は、暗から明に遷移している。そのようなものとして、矢印によって表現された一連のプローブ320が勾配の方向を定義する。プローブはベクトル特性を有しており、その長さが勾配の大きさを定義する。同様に、各プローブ320はほぼオブジェクト310の指定されたエッジに当たる中央位置322(プローブの実際の位置)を定義できる。
図4に、模範的な輪郭400に沿ったプローブ320が関連位置(円322)と共により詳細に示されている。
図5に示されているように、形状500の完全なモデルは形状の外周510を包囲する訓練されたプローブの配列によって定義でき、各プローブは(この例では)勾配の方向を表わすために外方を指し示す矢印によって指定される。
【0031】
更に手順200(
図2)を参照して、プローブは随意に正規化でき(ステップ230)、それらの最大長さ(大きさ)は所定の値、例えば1.0である。この模範的な実施形態ではすべてのプローブの大きさには0~1である。次にこの正規化されたプローブセットが保存されるか、さもなければ候補ポーズをモデルにマッチングする際に使用するためにプロセスの実行時段階に提供される(ステップ240)。
【0032】
III.実行時動作
【0033】
図6の実行時手順600を参照して、ビジョンシステム(100)は実行時オブジェクトの画像を取得するか、さもなければ画像データが(例えば記憶装置から)ビジョンシステムプロセス(又はプロセッサ)130に提供される(ステップ610)。例示的に、画像は2D配列であり、その要素はグレースケール、色の強度、立体情報などを表してよい。ステップ620で、ビジョンシステムプロセス(又はプロセッサ)130は興味のある領域-例えば対照的な特徴を包含する画像の部分、輪郭及び/又は形状を特定する。随意に、ステップ630でこの画像からビジョンシステムプロセス(又はプロセッサ)は、完全に集合した「勾配画像」を生成することもできる。勾配画像はx方向とy方向の各々で2D配列の各要素に対して派生物を規定する。この配列は画像の配列と同じであるか、勾配を計算するために使用されるカーネルのためにピクセルの部分(例えば2分の1ピクセル)だけオフセットされてよい。代替的に、勾配画像の配列は、取得された画像の配列に対して任意の関係を定義できる。例えば勾配動作の一部としてデシメーションが行われる場合。
【0034】
様々な実施形態でイメージャは3D画像データを取得するように適合できることに留意されたい。ここで記載された原理は、当業者には明白である筈のやり方でそのようなデータを調節することに拡張できる。
【0035】
ステップ640でポーズ変容が起こる。ポーズ変容は、プローブの訓練されたポーズから画像内のプローブの候補ポーズへのマッピングを規定する。このポーズはxオフセットとyオフセットのように単純なものであってよく、或いは随意に一部又は全部のアフィン自由度を含むことができる。代替的に、ポーズ変容は任意の複合的な非線形マッピングを定義できる。
【0036】
例示的に、ビジョンシステムプロセス(又はプロセッサ)はセットアップ時又は実行時ユーザに対し(例えばユーザインタフェースを介して)モデルと実行時画像/輪郭との間に許される変形の量を規定するように要求できる(或いはシステムは自動的に規定できる)。この変形はピクセル単位又はその他の適当な測定基準で規定され得る。より一般的には、ユーザは依然として良好なマッチと見なされる局所的変形の量を規定する。1実施形態において、この値は整数であることができ、他の実施形態値では浮動小数点値であってよい。例示的に、規定された許容変形1.0は1ピクセルの線寸法に等しい。ユーザは物理的測定単位(例えばミリメートル、ミクロンなど)を事前に定めた較正関係によってピクセル単位に換算できる。
【0037】
上述したように、各候補ポーズの変容が起こる。訓練された(モデル)プローブは変容を通してマッピングされ、マッピングされた位置は各プローブに対する方向で確定される。
図7は、実行時オブジェクト画像710のディスプレイ700を示しており、これはモデルプローブ720のセットによって定義されたモデルに対する変形の程度を含んでいる。円で囲んだ領域730及び740は、変形のため実行時輪郭エッジ750から(それぞれ外方及び内方に)著しくミスアライメントされたプローブを表している。このミスアライメントは以下に記すように採点によって対処される。
【0038】
例示的な実施形態において変容を採点するために、最初に各プローブが個々に採点され、次にスコアが合計される。各プローブについて、システムプロセスは画像内のマッチング勾配を発見(推定)することを試みる。プロセスはまた候補とモデルの間の僅かな固有の変形を調節するためにマッチする「近くの」勾配を発見することも試みる。概して、プロセスはプローブの勾配方向に沿った潜在的マッチを発見しようと試みる。そのようなものとして他のプローブは対象プローブの各側でエッジに沿った(勾配方向に対して垂直な)方向にあることが予想される。同様に、プロセスは予想より短いセグメントには全クレジットを適用しない。その結果生じる技術は、テストすべきプローブ位置を効率的に推定する。これは特に対象プローブの(ベクトル)方向が、輪郭上の特定位置について最も望ましくテストされる方向であり、プローブの長さは1.0に正規化されているという事実に基づく。
【0039】
ステップ650(
図6)に従い、プロセスはプローブ方向の倍数(増分オフセット)を変容された位置に加えて線を形成するテスト位置のセットを生み出すことができる。例を挙げると、
図8に示されているように、模範的なプローブ800はアローヘッド810によって表される方向を定義する。プローブ800の変容された位置は円820によって識別される。この例では、ユーザ定義による(正規化された)許容変形は2に設定される。このようにして、実行時画像で勾配を決定するためのテスト位置を定義する中央位置(円820)に加えて、それぞれ1単位の増分オフセットで4つの追加的なテスト位置830、840、850、860が、中央位置820の互いに反対側(一方の側は830、840、他方の側は850、860)で提供される。これらのオフセット位置830、840、850、860は、特にプローブ方向(黒のベクトル)の倍数、具体的には-2、-1、0(位置820)、1、2を加えることによって計算される。
【0040】
効率のために、及び双一次補間空間のピークは典型的にサンプル位置で生じるので、プロセスは各サンプル位置が集合する全体ピクセル勾配ビンを決定する。その結果、同じ位置を2度テストすることもあるが、同じ位置が複数回テストされるか否かを判定するよりも、盲目的にテストする方が効率的である。例示的に、プロセスは、(正規化された)プローブ方向と未処理の勾配の大きさのベクトルとの(テスト位置における)最大ドット積を有するテスト位置に注目する。
【0041】
別の実施形態において、プローブ位置は(例えば)勾配方向に基づく所定の位置のセットから選択できることが特筆される。制限的でない例を挙げると、システムは、プローブを0度、45度、90度又は135度スライドさせた4セットのオフセットを選択する。例えば45度の場合、オフセットは正規化された値(-1、-1)、(0、0)、(1、1)であることができる。適当な方向を選択するために、システムマッピングされたプローブ勾配の実際の角度に最も近い計算済みの角度を選択できる。
【0042】
手順600(
図6)のステップ660で、各プローブのオフセット位置について最終的な採点が行われる。各プローブの最終的スコアに対して、システムは選択された勾配の大きさのベクトルを正規化する。概して、正規化機能はプローブ長さが与えられた値-例えば1.0に最大化されることを保証する。
【0043】
実行時画像710にマッピングされた訓練されたプローブ720を示す
図7を再び参照して、円で囲んだ領域730及び740内のプローブは、実行時画像の勾配から実質的にオフセットしているため非常に低いスコアを表す。これらのエリアは明らかな非マッチと見なされる。同様に隣接エリア770は閾値を下回る低いスコアを定義し、非マッチと見なされる。遷移エリア760はマッチが少ないが、それは勾配が(最良の位置オフセットでテストしても)弱いか、又は角度マッチが理想より小さいためである。それ以外の実行時勾配又はその近傍(例えば領域780)にあるプローブは、一般に非常に強いマッチを定義する1に近いプローブスコアを表す。画像の頂点に近い及び画像から僅か左の一部のプローブはどの勾配上にもないが、マッチング勾配に近接しているために依然として緑で表示されていることに留意されたい。とりわけ、マッチング特徴からあまりに遠い位置にあるプローブは、たとえある程度の変形は許しても0に近いスコアを受ける。さもなければシステムはマッチングパターンと非マッチングパターンとを効果的に区別できないであろう。
図11は、輪郭1100の部分を示しており、プローブは実行時勾配との近さに基づいて強いマッチ(領域1110)から弱いマッチ(領域1120)を経て非マッチ(領域1130)に遷移している。
【0044】
再び
図6の実行時手順600を参照して、ステップ670でプローブを採点した後、システムは次にそのようなすべてのプローブスコアの合計を計算する。最終スコアは正規化され得る。即ち、この方法で計算されるスコアの最大可能な値はプローブの数に等しく、総計をプローブの数で割ることによってスコアは0~1の範囲に正規化される。このタイプのスコアは、各々の適当な候補ポーズについて計算できる。与えられた閾値を超えるスコア(決定ステップ680)はアライメントされたポーズと見なされ(ステップ682)、与えられた閾値を超えないスコアはアライメントされないポーズと見なされる(ステップ684)。
【0045】
IV.結論及び追加的な考察
【0046】
上述したシステム及び方法は、訓練時におけるモデルと実行時における実行時オブジェクト画像の候補ポーズとの間に合理的な程度の変形を許し、これを計算効率が良く精確で、実行時画像内のディテールを処理/マッチングできるやり方で調節する。変形及び歪みは画像又はその基礎をなすオブジェクトで生じることがあり、そのような可能な変容をモデル化することは実用的ではないということが考慮されている。そのためここではアライメントプロセス(又はプロセッサ)は、概して可能な変容、例えばx、y及び面内回転Θによって規定された厳密な変容のサブセットを採用する。従って最良の候補を精確に報告するために、採点プロセスは概して典型的に変容された境界からの局所的逸脱として現れるモデル化されない変容に対して寛容である。システム及び方法は一般に最大速度で動作して、長さ数ミリ秒であり得る時間割当が守られ、実行時画像で生じ得る多数の可能な候補ポーズを採点できるようにする。
【0047】
概して、以上述べたシステム及び方法は、訓練段階で及び実行時段階でこれらの目標を達成するために動作する。訓練段階では、モデルを表現するためにプローブのセットが選択され、その各プローブが位置と方向を定義する。次に実行時段階では、訓練プローブの変容によって規定されたプローブのマッピングされたセットを計算する。マッピングされた位置からのオフセットの離散的セットのうち各プローブについて最良の得点位置が計算又は推定される。これらのオフセットはマッピングされたプローブの方向と相対的に向けられており、各プローブに対するマッチスコアは、その最良マッチ位置における当該プローブのスコアとして計算される。次に個々のプローブスコアの加重和又は積である合計スコアが計算される。随意に、システム及び方法は候補ポーズを訓練されたプローブとアライメントする前に前処理ステップで完全に集合した勾配場を計算することができる。これはプローブがテストされる各位置について対応する勾配ベクトルを計算することによって達成できる。より具体的には、当該位置を包含する勾配場ピクセルが決定され、その勾配場ピクセルに対応する勾配ベクトルが採用される。代替的に、システムは隣接する勾配場の値のサブピクセル補間を実行する。これは例えば4つの隣接するx勾配の双一次補間と、4つの隣接するy勾配の双一次補間によって行う。システムはまた当該位置に最も近い位置にある画像ピクセルのセットも決定でき、XカーネルとYカーネルを適用して全体ピクセル勾配を計算する。
【0048】
例示的に、全体ピクセル勾配の近傍についても上記のようにX勾配とY勾配を決定でき、次いで上述した勾配値を決定できる。また、プローブ方向ベクトル及び/又は勾配方向ベクトルの大きさ(長さ)を、プローブ又は勾配に個々に適用できるやり方で正規化できる。より具体的には、方向ベクトルの大きさは、所定の大きさ(例えば1.0)、又はその未処理の大きさの所定の関数である大きさに正規化できる。例示的に、訓練段階ですべてのプローブ方向ベクトルの長さを正規化できる。上述したプローブのスコア及び対応する勾配方向は、(随意に正規化された)プローブ方向と対応する(随意に正規化された)勾配方向ベクトルとのドット積によって計算できる。例示的に、計算効率のためにベクトルの固定したポイント表現を採用できる。
【0049】
例示的な実施形態において、システムはテストすべき位置のセットをマッピングされプローブの位置と相対的に決定する。これは、(a)すべてプローブの方向ベクトルを1.0の大きさに正規化し(例えば訓練段階)、(b)オフセット位置を正規化されたプローブ方向ベクトルの所定の倍数として計算することによって行う(例えば許容された変形が3であれば、テストされるオフセットはそれぞれプローブの正規化された方向を乗じて-3、-2、-1、0、1、2、3であろう)。代替的に、位置のセットを決定するためにシステムは垂直方向の所定のオフセットを採用できる。これらはベクトル(-y、x)によって規定され、(x、y)はプローブの正規化された方向ベクトルの成分である。例えば、{-1、0、1×(-y、x)}と{-3、-2、-1、0、1、2、3×(x、y)}のクロス積。
【0050】
様々な実施形態において、システムは(総)スコアを(a)測定基準の理論的最大スコア(即ちすべてのプローブに対する完璧なマッチのスコア)で割るか、又は(b)訓練された画像内の訓練されたポーズオンスコアで割ることによって0~1の範囲に正規化できる。
【0051】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組合せを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば本明細書中で使用される「プロセス」及び/又は「プロセッサ」という言葉は広く電子ハードウェア及び/又はソフトウェアをベースとする多様な機能及びコンポーネントント(或いは機能的「モジュール」又は「エレメント」と呼ぶことがある)を含むものと解釈されるべきである。更に、図示されたプロセス又はプロセッサは他のプロセス及び/又はプロセッサと組合せ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び/又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び/又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組合せを用いて実施できることが明確に想定されている。更に、本明細書で使用される様々な方向及び/又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」及びこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。加えて、与えられた測定、値又は特徴に関して「実質的に」又は「近似的に」という言葉が用いられている場合、それは所期の結果を達成するための通常の操作範囲内にある量を指しているが、システムに許容された誤差の範囲内の固有の不正確さや誤りに起因するある程度のばらつきを含む(例えば1-5パーセント)。従ってこの説明は例示の方法によるものであり、本発明の範囲を別途制限することを意味するものではない。
以下に特許請求の範囲を記載する。
【外国語明細書】