IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

7297018ビジョンシステムでラインを検出するためのシステム及び方法
<>
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図1
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図2
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図3
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図4
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図5
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図6
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図7
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図8
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図9
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図10
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図11
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図12
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図13
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図14
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図15
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図16
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図17
  • -ビジョンシステムでラインを検出するためのシステム及び方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-15
(45)【発行日】2023-06-23
(54)【発明の名称】ビジョンシステムでラインを検出するためのシステム及び方法
(51)【国際特許分類】
   G06T 7/60 20170101AFI20230616BHJP
【FI】
G06T7/60 200G
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2021135086
(22)【出願日】2021-08-20
(62)【分割の表示】P 2019000018の分割
【原出願日】2016-11-01
(65)【公開番号】P2021184307
(43)【公開日】2021-12-02
【審査請求日】2021-09-18
(31)【優先権主張番号】62/249,918
(32)【優先日】2015-11-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/338,445
(32)【優先日】2016-10-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100119378
【弁理士】
【氏名又は名称】栗原 弘幸
(72)【発明者】
【氏名】シュ,ユ フェン
(72)【発明者】
【氏名】ヤコブソン,ロウェル ディー.
(72)【発明者】
【氏名】リ,デイヴィッド ワイ.
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2005-322044(JP,A)
【文献】特開平9-26307(JP,A)
【文献】特開平8-237537(JP,A)
【文献】特表2015-501060(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/60
(57)【特許請求の範囲】
【請求項1】
画像内のライン特徴を検出するためのシステムであって:
当該システムは、ユーザの入力を受け付けるグラフィカルユーザインタフェースを備え;
当該システムはさらに、前記グラフィカルユーザインタフェースと連絡するプロセッサを備え、前記プロセッサは;
ライン特徴を含むシーンの画像データを取得し;
前記グラフィカルユーザインタフェースから、角度誤差を含むユーザ入力を受け;
前記画像データを解析して、前記画像内のエッジ特徴に対応するエッジポイントを得て;
前記画像データから得た前記エッジポイント及び前記ユーザ入力と一致する複数のラインを生成し;かつ
前記グラフィカルユーザインタフェースを介して前記画像上に前記複数のラインを描写する;
ように構成されてなる、
上記システム。
【請求項2】
前記ユーザ入力は、予想されるラインの最大数;距離誤差;予想される角度;最小カバレッジスコアのうちの1又はそれ以上をさらに含む、請求項1記載のシステム。
【請求項3】
前記ユーザ入力は、前記複数のラインを生成するのに先立って前記画像データの一部を除外するよう構成されたマスクをさらに含む、請求項1記載のシステム。
【請求項4】
前記複数のラインを生成する際にラインフィッティングの近似法が用いられる、請求項1記載のシステム。
【請求項5】
前記ラインフィッティングの近似法が最小二乗回帰である請求項4記載のシステム。
【請求項6】
前記ユーザ入力が極性選択をさらに含む請求項1記載のシステム。
【請求項7】
前記プロセッサは平滑化カーネルを介して前記画像データを平滑化するようさらに構成されてなる請求項1記載のシステム。
【請求項8】
前記平滑化カーネルがガウスカーネルである請求項7記載のシステム。
【請求項9】
前記ユーザ入力が予想される角度をさらに含み、前記プロセッサが前記予想される角度に実質的に一致する単一方向で場の投影を実行することにより前記エッジポイントを得る、請求項1記載のシステム。
【請求項10】
前記エッジポイントは絶対コントラストと前記画像データの平均強度に基づいて正規化したコントラストとによって定義される閾値に基づいて選択される、請求項1記載のシステム。
【請求項11】
画像を撮像して前記画像データを前記プロセッサに提供するカメラをさらに備える、請求項1記載のシステム。
【請求項12】
前記グラフィカルユーザインタフェースを提供するよう構成されたディスプレイをさらに備える、請求項1記載のシステム。
【請求項13】
前記エッジポイントを得ることが下記(a)~(c)すなわち:
(a)前記画像データから勾配ベクトル場を算出し;
(b)前記勾配ベクトル場を複数の勾配投影サブ区域に投影し;かつ
(c)投影された勾配データに基づいて、前記勾配投影サブ区域についての複数のエッジポイントを検出する;
ことを含む、請求項1記載のシステム。
【請求項14】
前記エッジポイントを得ることが下記(a)~(c)すなわち:
(a)前記画像データを勾配場計算プロセスに供して、2つの勾配成分画像及び強度画像を生成し;
(b)前記2つの勾配成分画像及び強度画像への重み付けされた投影の適用により、前記2つの勾配成分画像及び強度画像の1次元(1D)投影プロファイルを得て;かつ
(c)前記2つの勾配成分画像の1D投影プロファイルを結合することによりエッジポイントを抽出する;
ことを含む、請求項1記載のシステム。
【請求項15】
画像内のライン特徴を検出するための方法であって:
ライン特徴を含むシーンの画像データを取得し;
グラフィカルユーザインタフェースから、角度誤差を含むユーザ入力を受け;
前記画像データを解析して、前記画像内のエッジ特徴に対応するエッジポイントを得て;
前記画像データから得た前記エッジポイント及び前記ユーザ入力と一致する複数のラインを生成し;かつ
前記グラフィカルユーザインタフェースを介して前記画像上に前記複数のラインを描写する;
ことを含む、上記方法。
【請求項16】
前記画像データを解析するのに先立って平滑化カーネルを介して前記画像データを平滑化することをさらに含む、請求項15記載の方法。
【請求項17】
前記ユーザ入力を介してマスクを得て;
前記複数のラインを生成するのに先立って前記マスクに基づき前記画像データの一部を除外する;
ことをさらに含む、請求項15記載の方法。
【請求項18】
前記複数のラインを生成する際にラインフィッティングの近似法が用いられる、請求項15記載の方法。
【請求項19】
前記エッジポイントを得ることが下記(a)~(c)すなわち:
(a)前記画像データから勾配ベクトル場を算出し;
(b)前記勾配ベクトル場を複数の勾配投影サブ区域に投影し;かつ
(c)投影された勾配データに基づいて、前記勾配投影サブ区域についての複数のエッジポイントを検出する;
ことを含む、請求項15記載の方法。
【請求項20】
画像内のライン特徴を検出するための方法であって:
ライン特徴を含むシーンの画像データを取得し;
角度誤差及びマスクに関するユーザ入力を受け;
前記画像データにおいて前記マスクに対応する部分を除外し;
前記画像データの除外しなかった部分を解析して、前記画像内のエッジ特徴に対応するエッジポイントを得て;
前記画像データから得た前記エッジポイント及び前記角度誤差と一致する複数のラインを生成し;かつ
前記画像上に前記複数のラインを描写する;
ことを含む、上記方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は2015年2月11日に出願された同時係属米国特許仮出願第62/249918号「ビジョンシステムでラインを検出するためのシステム及び方法」の利益を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
【0002】
記述分野
本発明はマシンビジョンシステム、より具体的には取得した画像内のライン特徴を検出するビジョンシステムツールに関する。
【背景技術】
【0003】
マシンビジョンシステム(本明細書中では単に「ビジョンシステム」とも呼ぶ)は、製造、物流及び産業における多様なタスクに使用されている。そのようなタスクは表面および部品の検査、組立工程における対象物のアライメント、パターン及びIDコードの読取り、及び視覚データが取得されてその後のプロセスに使用するために解釈されるその他の操作を含んでいてもよい。ビジョンシステムは典型的には1台以上のカメラを用いて興味のある物体又は対象を含むシーンの画像を取得する。物体/対象は静止し、または相対運動をしてよい。運動はロボットで部品を操作する場合のように、ビジョンシステムによって得られる情報で制御することもできる。
【0004】
ビジョンシステムの共通のタスクは、画像内のライン特徴を検出して特徴付けることである。そのようなライン特徴を特定して解析するために多様なツールが用いられる。典型的には、これらのツールは画像の部分で生じる明確なコントラスト差に依拠している。このコントラスト差、例えばキャリパツールを用いて解析して、コントラスト差のある画像内の個々のポイントがライン状の特徴に集合できるか決定する。できると決定した場合は、画像内でラインが特定される。特に、エッジポイントを検出するツールと、ラインをポイントにフィッティングするツールは互いに独立に動作する。これにより処理オーバーヘッドが増えて信頼性が低下する。画像が複数のラインを含む場合、そのようなツールはそれらを正確に特定する能力が制限されよう。更に、画像内のシングルラインを検出するために設計されたツールは、画像内で類似の向きと極性をもつ複数のラインが密集している場合は使用するのに問題があろう。
【発明の概要】
【0005】
本発明は先行技術の短所を、複数のラインを効率的且つ正確に特定して特徴付けることを可能にする、画像内のライン特徴を検出するためのシステム及び方法を提供することによって克服する。最初に、プロセスは各画像箇所における勾配場のx成分とy成分を計算し、勾配場を複数のサブ区域に投影し、各サブ区域内で複数の勾配極値を検出して、関連する位置と勾配を有する複数のエッジポイントを生み出す。次に、プロセスは2つのエッジポイントを反復的に選択し、それらのエッジポイントにモデルラインをフィッティングし、それらのエッジポイントの勾配がモデルラインと一致したら、位置と勾配がモデルラインと一致しているインライアポイントの完全なセットを計算する。最大のインライアカウントを有する候補ラインがライン結果として保存され、残りのセットのアウトライアポイントが導出される。次いでプロセスはこのセット及び後続のアウトライアセットにラインフィッティング操作を反復的に適用して複数のライン結果を検出する。ラインフィッティングプロセスは網羅的であるか、またはランダムサンプルコンセンサス(RANSAC)に基づいてもよい。
【0006】
例示的な実施形態によれば、取得した画像内のライン特徴を検出するためのシステムが提供される。ビジョンシステムプロセッサは、ライン特徴を包含するシーンの画像データを受け取る。エッジポイント抽出装置は、画像データから強度勾配画像を生成し、強度勾配画像に基づいてエッジポイントを検出する。次いでラインファインダはエッジポイントにおける強度勾配に基づいてエッジポイントを1以上のラインにフィッティングする。例示的に、ラインファインダはRANSACに基づくプロセスを操作してインライアエッジポイントを新しいラインにフィッティングし、これは事前に定義されたラインを基準にしてアウトライアエッジポイントから反復的にラインを定義することを含む。エッジポイント抽出装置は、強度勾配画像のライン特徴を含む区域勾配場の投影を実行する。例示的に、勾配場の投影は、1以上の特徴若しくはライン特徴の予想される向きに応答して設定された方向に沿って向けられており、勾配場の投影はガウスカーネルに基づいて粒度を定義できる。例示的に、画像データは複数のカメラから取得されて共通座標空間に変換された複数の画像からのデータを含んでいてもよい。画像データは平滑化(重み付け)カーネルを用いて平滑化されることもでき、平滑化カーネルは1Dガウスカーネル又は他の重み付け関数を含んでいてもよい。エッジポイントは絶対コントラストと、画像データの平均強度に基づいて正規化したコントラストとによって定義された閾値が選択され得る。例示的に、ラインファインダは、不正確な向きを補正するために平行線又は交差線の部分を表すエッジポイントを交換するように、及び/又はエッジポイントにおける勾配値に基づいてライン内の混合極性を含むライン特徴の極性変化を有するラインを特定するように構成及び配置されている。また、例示的に、エッジポイント抽出装置は勾配投影サブ区域の各々で複数の勾配最大値を検出するように配置されている。これらの勾配最大値はそれぞれ複数のエッジポイントの一部として特定ができ、位置ベクトルと勾配ベクトルによって記述され得る。加えてラインファインダは、メトリックを計算することによって複数の抽出されたエッジポイントの少なくとも1つのエッジポイントと、検出された複数のラインの少なくとも1つの候補ラインとの間の整合性を決定するように配置され得る。このメトリックは少なくとも1つのエッジポイントの候補ラインからの距離、及びエッジポイントの勾配方向と候補ラインの通常の方向との間の角度差に基づいていてもよい。
【0007】
以下に本発明を図面を参照して説明する。
【図面の簡単な説明】
【0008】
図1】例示的な実施形態による、複数のエッジ特徴を含む物体の画像を取得する模範的なビジョンシステム構成及びエッジ検出ツール/モジュールを含むビジョンシステムプロセッサの図である。
【0009】
図2】例示的な実施形態による、取得した画像からエッジポイントを抽出してラインを検出するためのシステム及び方法の全体を示す図である。
【0010】
図3図2のシステム及び方法による、エッジポイント抽出手順のフローチャートである。
【0011】
図4図3のエッジポイント抽出手順の一部である、エッジ特徴を含む画像の区域に場を投影する図である。
【0012】
図5図3のエッジポイント抽出手順で使用する画像を平滑化するために、ガウスカーネルを画像に適用することを示す図である。
【0013】
図6図3のエッジポイント抽出手順で使用する投影を平滑化するためのガウスカーネルの適用を含む場の投影の図である。
【0014】
図7】ガウスカーネルの適用とエッジポイントに対する絶対及び正規化したコントラスト閾値の計算を含む、図3のエッジポイント抽出手順の概観を示す図である。
【0015】
図8】十分な絶対コントラスト閾値と正規化したコントラスト閾値を有するエッジポイントに対して適格化されたコントラストの区域を示す図である。
【0016】
図9】例示的な実施形態による、模範的なRANSACを用いる、図3で検出されたエッジポイントに基づくライン検出手順のフローチャートである。
【0017】
図10】密集した平行線特徴に対するエッジポイントの不正確なアライメントと正確なアライメントを示す図である。
図11】密集した平行線特徴に対するエッジポイントの不正確なアライメントと正確なアライメントを示す図である。
【0018】
図12】それぞれ例示的なシステム及び方法のラインファインダによって解像され得る、交差線特徴に対するエッジポイントの正確なアライメントと不正確なアライメントエッジポイントを示す図である。
図13】それぞれ例示的なシステム及び方法のラインファインダによって解像され得る、交差線特徴に対するエッジポイントの正確なアライメントと不正確なアライメントエッジポイントを示す図である。
【0019】
図14】例示的なシステム及び方法のラインファインダによって解像され得る、明から暗極性、暗から明極性、明から暗若しくは暗から明極性、又は混合極性を示す図である。
図15】例示的なシステム及び方法のラインファインダによって解像され得る、明から暗極性、暗から明極性、明から暗若しくは暗から明極性、又は混合極性を示す図である。
図16】例示的なシステム及び方法のラインファインダによって解像され得る、明から暗極性、暗から明極性、明から暗若しくは暗から明極性、又は混合極性を示す図である。
図17】例示的なシステム及び方法のラインファインダによって解像され得る、明から暗極性、暗から明極性、明から暗若しくは暗から明極性、又は混合極性を示す図である。
【0020】
図18】ユーザ定義マスクを考慮して検出されたラインに対するカバレージスコアの修正を示す図である。
【発明を実施するための形態】
【0021】
例示的な実施形態に従って使用できる模範的なビジョンシステム構成100が、図1に示されている。システム100は少なくとも1台のビジョンシステムカメラ110を含み、1台以上の追加の随意のカメラ112(仮想線で示す)。例示的なカメラ110、112は、画像センサ(又はイメージャ)Sと、画像フレームを取得してビジョンシステムプロセス(プロセッサ)130に伝送する関連エレクトロニクスを含み、ビジョンシステムプロセス(プロセッサ)130はスタンドアローンプロセッサ及び/又はコンピューティングデバイス140として例示され得る。カメラ110(及び112)は検査中の物体150を包含するシーンに焦点を当てた適当なレンズ/光学系116を含んでいてもよい。カメラ110(及び112)は、画像取得プロセスに従って作動する内部及び/又は外部照明器(図示せず)を含んでいてもよい。コンピューティングデバイス140は、例示的な実施形態に従って画像データを保存及び操作できる任意の容認可能なプロセッサベースのシステムであってよい。例えばコンピューティングデバイス140は、PC(図示の例)、サーバー、ラップトップ、タブレット、スマートフォン又は他の類似のデバイスを含んでいてもよい。コンピューティングデバイス140は、適当な端末装置、例えばカメラと相互接続するバスベースの画像キャプチャカードを含んでいてもよい。代替的な実施形態において、ビジョンプロセッサは部分的又は完全にカメラ本体それ自体の中に含まれることができ、画像データを共有及び処理する他のPC、サーバー及び/又はカメラベースのプロセッサとネットワーキングできる。コンピューティングデバイス140は随意に適当なディスプレイ142を含み、これはビジョンシステムプロセス(プロセッサ)130内に設けられたビジョンシステムツール及びプロセッサ132に従って作動できる適当なグラフィカルユーザインタフェース(GUI)をサポートすることができる。種々の実施形態でディスプレイは省くことができ及び/又はセットアップとサービス機能のためにのみ提供できることに留意されたい。ビジョンシステムツールは、物体の検査において使用することが認められる任意の容認可能なソフトウェア及び/又はハードウェアパッケージ、例えば米国マサチューセッツ州ネイティック市のコグネックス株式会社から市販されているものの一部であってよい。コンピューティングデバイスは、例えばキーボード144及びマウス146、並びにディスプレイ142内部のタッチスクリーンを含め関連するユーザインタフェース(UI)コンポーネントも含んでいてもよい。
【0022】
カメラ110(及び112)は、シーン内部に位置する物体150の一部又は全部を撮像する。各カメラは光学軸OAを定義し、それを中心に光学系116、焦点距離などに基づいて視野が確定される。物体150はそれぞれ異なる方向に配置された複数のエッジ152、154を含む。例えば物体のエッジはスマートフォン本体内に組み付けられたカバーガラスのエッジを含んでよい。例示的に、カメラは物体全体又は特定の箇所(例えばガラスが本体と交わるコーナ)を撮像できる。(共通)座標空間は、物体、1台のカメラ又は他の基準点(例えば物体150を載せている可動ステージ)を基準に確定できる。図示されているように、座標空間は軸158によって表される。これらの軸は例示的に直交するx軸、y軸及びz軸、並びにx-y面上のz軸を中心とする回転Θzを定義する。
【0023】
例示的な実施形態に従い、ビジョンシステムプロセス130は集合的にビジョンシステムツール/プロセス132のセットを含む1以上のアプリケーション/プロセス(コンピューティングデバイス140上で実行)と相互作用する。これらのツールは、画像データを解像するために使用される多様な慣用的及び特殊なアプリケーション-例えば取得した画像データを所定の(例えば共通)座標系に変換するために使用できる多様な較正ツール及びアフィン変換ツールを含んでいてもよい。画像グレースケール強度データを所定の閾値に基づいて二値画像に転換するツールも含めることができる。同様に、隣接した画像ピクセル(及びサブピクセル)の間の強度の勾配(コントラスト)を解析するツールを設けることができる。
【0024】
ビジョンシステムプロセス(プロセッサ)130は、例示的な実施形態に従い取得した画像内で複数のラインの位置を特定するライン検出プロセス、ツール又はモジュール13を含む。ここで図2を参照する例示的な実施形態に従うライン検出手順200の概観を図示する。手順200は2つの主要部分からなる。入力画像210がプロセッサに提供される。図示されているように、画像は1対の交差するエッジ212及び214を含む。これらは上述した物体150のコーナ区域を表すことができる。エッジポイント抽出装置220は、入力画像210を処理して、それぞれエッジ212及び214に沿って存在するエッジポイント232及び234を含む候補エッジポイントのセット230を得る。エッジポイント232、234、及びそれらに関連するデータ(例えば以下に説明する強度勾配情報)が再帰的ラインファインダ240に提供され、これは選択されたエッジポイントで一連の反復プロセスを実行する。反復プロセスの目標は、他の検出されたエッジポイントを候補ライン特徴にフィッティングすることを試みることである。ライン検出プロセス240の結果、図示されているようにライン252及び254が検出される。これらの結果は情報を使用する他の下流のプロセス260-例えばアライメントプロセス、ロボット操作、検査、ID読取り、部品/表面検査などに提供され得る。
【0025】
一実施形態に従う、エッジポイントを抽出するための手順を説明した図3を参照する。検出されるべきエッジ特徴を有する物体又は表面を含んでいるシーンの1以上の画像が取得される(ステップ310)。画像は単一のカメラ又は複数のカメラによって抽出できる。いずれの場合も、ステップ320で画像ピクセルは、(随意に)適当な較正パラメータによって新しい座標空間及び/又は共通座標空間に変換され得る。このステップは以下に説明するように画像の平滑化も含んでいてもよい。複数のカメラがシーンの不連続区域を撮像する-例えばより大きい物体のコーナ区域に焦点を当てる-実施形態において、共通座標空間はカメラ視野の間の空の区域を占めることができる。以下に説明するように、そのような視野の間に延びるライン(例えば2つの検出されたコーナ区域を接続する物体エッジ)は、例示的な実施形態のシステム及び方法によって例示的な実施形態のシステム及び方法によって外挿できる。ステップ330で、ラインを検出するために必要とされるエッジポイントは、適当な座標空間においてエッジポイント抽出装置によって勾配場の投影を用いて画像から抽出される。勾配値は最初に各ピクセルについて計算されて、x勾配成分とy勾配成分に対して画像を生成する。画像は更に勾配場を多数のキャリパ状区域に投影することによって処理される。強度値を投影する慣用的キャリパツールとは異なり、実施形態に従い勾配場を投影することによって、勾配の向きを保存でき、以下に説明するようにこれが後続のライン検出プロセスを容易にする。
【0026】
ステップ340で、図4の線図も参照して、候補エッジ特徴を含んでいる画像の部分(キャリパ状区域)400は(複数の投影410、420、430によって表された)勾配場の投影を受け、サーチ方向(矢印SD)で(近似的に)予想されるエッジの向きにわたってサーチされ、投影は直交投影方向(矢印PD)で区域400にわたって繰り返される。各投影(例えば投影420)に対してエッジは投影と関連した勾配場440における極大値として現れる。概して、エッジと関連した投影の内部の一連のエッジポイントは、エッジの延在方向に対して直角に強度勾配(ベクトル552、554)を示す。以下に説明するように、ユーザは予想されるラインの向きに基づいて投影方向を定義できる。代替として、これは既定のメカニズム又は他のメカニズム-例えば画像内の特徴の解析によって提供されてよい。
【0027】
上述した勾配投影ステップには2つの粒度パラメータが包含されている。勾配場計算の前に、ユーザは異方性ガウスカーネルを用いて画像を平滑化することを選択できる。第1の粒度はこのガウス平滑化カーネルのサイズを決定する。図5の線図500に示されているように、近似的なサイズのガウスカーネル(例えば大きい512、中位514、小さい516)を適用して画像210を平滑化する。それゆえ第1の粒度パラメータは、場計算の前に等方性ガウス平滑化カーネルのサイズを決定する。
【0028】
これにより勾配場計算の後で、慣用的なキャリパツールにおける統一的な重み付けではなく、ガウス重み付けされた投影がプロセスによって実行される。従って第2の粒度パラメータは、場の投影中に使用される1次元(1D)ガウスカーネルのサイズを決定し、図6に示されているように区域600はガウス平滑化カーネル610、620、630を受ける。典型的な操作の間、ユーザは(GUIを用いて)画像に重ね合わされたすべての抽出されたエッジを検証し、次いで検出されるべきラインに沿って抽出されたエッジの数が十分と思われるまで粒度とコントラスト閾値を調整する一方で、画像内のバックグラウンドノイズに起因するエッジの過度な数を回避する。換言すれば、このステップにより信号雑音比を画像特徴に対して最適化することが可能になる。この調整は、種々の実施形態でシステムにより既定値を用いて自動的に実行することもできる。ガウス重み付け関数は、(例えば)一様な重み付けを含む、投影を重み付けするための多様な方策の1つであることに留意されたい。
【0029】
勾配場の抽出及び投影の全体の流れが、図7の線図700に図示されている。2つの粒度パラメータ、等方性ガウスカーネル710及び1Dガウスカーネル720が、全体図700の各半分に示されている。図示されているように、各々の取得された画像210は平滑化及びデシメーション730を受ける。次いで結果として生じる画像740は、上述したように勾配場の計算750を経て、2つの勾配画像752及び754を生成する。これらの勾配画像はg及びgとも表現され、それぞれ共通座標空間における2本の直交軸を表す。2つの勾配画像に加えて、強度画像756は典型的には平滑化、デシメーション及びに投影プロセス760(1Dガウスカーネル720に基づいてガウス重み付けされた投影770を用いる)を受けることに留意されたい。なぜなら、処理された強度情報は、以下に説明する実施形態に従って正規化したコントラストを計算するためにも使用されるからである。その結果は、勾配画像772(g)、774(g)及び強度画像776の投影プロフィルである。
【0030】
手順300(図3)のステップ350も参照して、次にx勾配画像とy勾配画像の1D投影プロフィルを結合することによって適格化されたエッジポイントが抽出される。このことは生のコントラスト計算780と、強度画像に基づいて正規化したコントラスト計算790を用いて達成される。より具体的には、それぞれ閾値を超える生の投影された勾配の大きさと正規化した投影された勾配の大きさのいずれも有する局所的なピークは、次の例示的な式に従い後続のライン検出のための候補エッジポイントと見なされる。
(g +g 1/2>TABS
(g +g 1/2/I>TNORM
ここで、g及びgはそれぞれピクセル箇所におけるx勾配投影とy勾配投影の値、Iは強度、TABは生の投影された勾配の大きさに対する絶対コントラスト閾値、及びTNORMは強度正規化した投影された勾配の大きさに対する正規化したコントラスト閾値である。
【0031】
特に、ポイントはその絶対コントラストと正規化したコントラストがいずれもそれぞれの閾値を超える場合のみ候補エッジポイントと見なされる。このことは正規化したコントラスト閾値TNORMに対するコントラスト閾値TABSの模範的なグラフ800において、右上の象限810によって示されている。二重の閾値(絶対及び正規化)を用いることは、典型的に絶対コントラスト閾値を使用する既存の方策とは全体として異なる。二重コントラスト閾値の利点は、例を挙げるとある画像がいずれも興味のあるエッジを含む暗い強度区域と明るい強度区域の両方を含む場合に明確である。画像の暗い区域でエッジを検出するためには、低いコントラスト閾値を設定することが望ましい。しかしながらそのような低いコントラストを設定すると、その結果として画像の明るい部分で誤ったエッジを検出する可能性がある。反対に、画像の明るい区域で誤ったエッジを検出するのを避けるためには、高いコントラスト閾値を設定することが望ましい。しかしながら高いコントラストを設定すると、システムは画像の暗い区域でエッジを適切に検出できないかもしれない。伝統的な絶対コントラスト閾値に加えて、第2の正規化したコントラスト閾値を用いることによって、システムは暗い区域と明るい区域の両方で適切にエッジを検出することができ、画像の明るい区域で誤ったエッジを検出するのを避けることができる。それゆえ該当するエッジの検出を可能にする一方で誤ったエッジを回避することにより、避けながら、二重コントラスト閾値の使用は全体プロセスの後続のライン検出段階の速度と堅牢性を最大化するのに役立つ。
【0032】
更に手順ステップ350(図3)を参照すると、すべてのエッジポイントが抽出されたら、後続のラインファインダが作動するために都合の良いデータ構造で再現され保存される。例えば次のタプルに留意されたい。
p=(x,y,gx,gy,gm,go,I,gm/I,m,n)
ここで、(x,y)はエッジポイントの箇所、(g,g)はそれぞれx勾配投影及びy勾配投影の値、(g,g)は(g,g)から計算された勾配の大きさと向き、Iはエッジポイント箇所における強度、g/Iは勾配の大きさgを強度Iで除算することによって得られる強度正規化したコントラスト、mは画像インデックス、及びnは投影区域インデックスである。標準キャリパツールにおけるようなエッジポイントの箇所は、精度を向上させるために補間できる。
【0033】
エッジポイント抽出プロセスは一般的に場の投影を、予想されるライン角度と実質的に一致する単一方向で行うように作動することに留意されたい。それゆえツールはこの角度にあるエッジに対して最も敏感であり、その感度は他の角度にあるエッジに対して徐々に減少し、減少率は場の投影の長さを間接的に決定する粒度の設定に依存する。結果として角度範囲はユーザによって指定されることを条件に、プロセスは角度が予想されるライン角度「に近い」ラインを検出することに制限される。プロセスは直交していないラインを検出するように適合されているが、種々の実施形態において直交方向を含む複数の方向(全方向ライン検出)で投影を実行することによって360度全体の任意の角度のラインを検出できるように一般化されることが想定されている。
【0034】
手順300(図3)のステップ360を参照すると、例示的な実施形態に従い閾値を超えるエッジポイント候補がラインファインダに提供される。例を挙げると、ラインファインダは再帰的に作動し、(例えば)ランダムサンプルコンセンサス(RANSAC)ベースの技術を採用する。図9におけるライン検出手順900も参照する。ステップ910において、ユーザは1つの画像内で予想されるラインの最大数を、予想される角度、角度誤差、距離誤差及び(例示的に)最小カバレージスコア(以下に一般に定義)と共に(例えば)GUIによって指定する。これらのパラメータは、次のプロセスを操作するためにラインファインダによって使用される。画像の各サブ区域に対するラインはRANSACラインファインダを再帰的に実行して、ある段階からのエッジポイントアウトライアが次の段階に対する入力ポイントとなることによって検出される。こうしてステップ920において、手順900は、エッジ検出プロセスにおいて極値として特定されたエッジポイントのグループ部分である1対のエッジポイントを選択する。手順900は、モデルラインと(選択された誤差範囲内で)一致している勾配値のマッチングに基づいて、モデルラインを選択されたエッジポイントにフィッティングすることを試みる。ステップ924ではステップ922からの1以上のライン候補が戻される。各ライン検出段階は候補ライン、そのインライア及びアウトライアを戻す。戻されたラインは、ライン候補と一致する位置と勾配を有するインライアエッジポイントが計算される(ステップ926)。ステップ928では、最大のインライアカウントを有する候補ラインが特定される。上述したライン検出段階(ステップ920-928)は、RANSAC反復の許容された最大数に達すると終了する(決定ステップ930)。各ライン検出段階内部の反復の最大数は、内部計算されたアウトライアの最悪比率とユーザによって指定された保証レベルを用いて自動的に計算される。各ライン検出段階は、ユーザ指定のフィッティング誤差、幾何学的制限及び極性を条件に、キャンプチャーされたエッジポイントの最大数を有するラインをそのすべての反復から戻す。各エッジポイントは1本のラインのインライアリストのみに割り当てることができ、各ラインは各投影区域からたかだか1つのエッジポイントのみ含むことが許される。エッジポイントの勾配の向きはその位置と共に、候補ラインのインライアリストに含まれるべきか決定するために使用される。具体的には、エッジポイントは候補ラインの角度と一致する勾配の向きを有するべきである。
【0035】
決定ステップ930では、より多くの反復が許可されて、最良インライア候補からのアウトライア(ステップ940)を、RANSACプロセス(ステップ920)がライン候補の検出に使用するために戻すことを決定する。
【0036】
各RANSAC反復において、異なる投影区域に属する2つのエッジポイントがランダムに選択され、それらの2つのポイントにラインがフィッティングされる。結果として生じる候補ラインは更に、その角度がポイント対の両エッジの勾配角度と一致するか、及びラインの角度がユーザによって指定された不確かさの範囲と一致するかについてのみ検討される。概して、エッジポイント勾配方向は通常直角であるが、ユーザ設定の角度誤差だけ異なることが許容される。候補ラインがこれらの初期テストに合格したら、次いでインライアエッジポイントの数が評価され、さもなければ新しいRANSAC反復が開始される。エッジポイントは、ユーザによって指定された勾配角度と距離誤差に基づいて、その勾配の方向と位置がラインと一致する場合のみ候補ラインのインライアと見なされる。
【0037】
RANSAC反復が最大数に達したら(決定ステップ930)、検出された最良のライン候補のインライアは、(例えば)最小二乗回帰又は他の受け入れ可能な近似法を用いて改善されたラインのフィッティングが行われ、インライアエッジポイントのセットが再評価され、これらのステップを最大N回(例えば3回以上)、インライアの数がそれ以上増加又は減少しなくなるまで繰り返す(ステップ960)。これはステップ970で検出されたラインとして出力されるラインである。
【0038】
決定ステップ980は、((例えば)更にサブ区域又は他の基準をサーチすることによって)より多くのラインが検出されるべきか決定し、そうであればプロセスはステップ920にループバックして新しいセットのエッジポイントで作動する(ステップ982)。ポイントが使い尽くされるか、又は最大数反復カウントに達したら、手順900はステップ990で(複数の画像内で)検出されたラインのセットを戻す。
【0039】
マルチラインファインダは、2本のラインが検査区域内で互いに交差する場合に、既存の結果の最終調整を実行するように適合されている。図10及び図11に一般的に示されているように、密集した平行線1010及び1020に対しては、RANSAC手順の統計的正確に起因して時々誤ったライン結果(即ち図10)が得られることがある。しかしながらそのようなエラーが発生したら、インライアポイントグループの交換(図11のグループ1110における矢印1120)は時々カバレージスコアが増加してフィッティング残余が減少した正しいラインの位置を特定することができる。ポイント交換は、図示されているように画像が密集した平行線を含んでいる場合は極めて効果的である。反対に、画像が図12及び図13に図示されているように実際に互いに交差するライン1210及び1220を包含する場合、カバレージスコアはポイント交換の後で減らされ(図12のグループ1240における矢印1230)、交換の前に得られた最初の結果は、交差線を首尾よく検出するプロセスにより保存される。
【0040】
RANSAC手順は、ラインファインダがポイントをラインにフィッティングできる多様な技術の1つであることに留意されたい。代替的な実施形態において、候補ポイントはそれらの間の変位セットに従って選択でき、或いは画像は(例えば)網羅的サーチ技術を用いて処理できる。従って、本明細書中で用いられているようにRANSAC技術への参照は、広く多様な類似のポイントフィッティング技術を含むものと解するべきである。
【0041】
このシステム及び方法の追加の機能を設けることができる。これらは混合極性に対するサポート、投影区域幅の自動計算、多視点ライン検出のサポート、及び歪みのない入力画像により光学歪みを除去できるようにすることを含む。これらの機能について以下に説明する。
【0042】
更に図14図16の例を参照すると、例示的な実施形態のライン検出システム及び方法は、一般に検出されたエッジ間のコントラストに対して(それぞれ)標準的な明から暗、暗から明及び択一極性設定をサポートする。加えてこのシステム及び方法は明から暗と暗から明の両特徴が同一のラインに現れる混合極性設定(図17)もサポートできる。全4種類の設定のライン検出結果が次の図に示されている。例示的な実施形態において、システム及び方法は、反対極性のエッジポイントを包含する1本のラインの検出を可能にする混合極性設定を含んでいてもよい。これは、1本のラインのすべてのエッジポイントがいずれかの極性であるが1つの極性に限られている慣用的な「択一」極性設定とは異なる。混合極性設定は、幾つかある応用の中でも(例えば)較正プレートの明暗格子縞に用いられると有利であり得る。
【0043】
ユーザは、ライン検出の改善されたシフト不変を選択できる。そのような場合に、エッジポイント抽出装置は結果の安定性を改善するために実質的にオーバーラップした投影区域を使用する。これらの区域がオーバーラップしていないと、対象としているピクセルは画像がシフトしたとき投影区域の外に出る可能性があり、その結果としてライン検出結果におけるシフト不変が乏しいものとなる。オーバーラップした投影区域は、対象としているピクセルが投影区域によって連続的にカバーされることを保証する。オーバーラップした投影区域が使用された場合、増分計算を可能な低レベル最適化と共に実行できる。
【0044】
ユーザは、取得した画像及び/又は撮像された表面の特定部分をライン特徴の解析から除外するマスクを設けることができる。これは表面が興味のない既知のライン特徴(例えば他のメカニズムによって解析されるバーコード、テキスト、及びラインを検出しようとするタスクと密接な関係がないその他の構造)を含む場合に望ましいことがある。従ってエッジポイント抽出装置は、画像内の「無関係」区域はマスクアウトでき「関係」区域はマスクインされる画像マスキングをサポートできる。そのようなマスキングが起きたら、例示的に検出されたラインのカバレージスコアはマスク内に入るエッジポイントの数に従って再重み付される。
【0045】
図18の模範的な画像区域1800を参照すると、画像マスクが存在する場合のカバレージスコアと、そのようなカバレージスコアに及ぼす画像マスキングの効果を示す。エッジポイント抽出装置は、画像内の「無関係」区域をマスクアウトできる画像マスキングをサポートする。図示されているように、検出されたライン1810は(「関係」マスク区域1820に基づき)関係エッジポイントによって特徴付けられる。そのような関係エッジポイントは、ライン1810に対する関係エッジポイントインライア1830と、ライン1810に対する無関係エッジポイントアウトライア1840からなる。ライン1810上の無関係エッジポイント1850は、この例で示されているようにマスクの関係区域1820の間にあり、たとえインライアとしてライン上にあってもカバレージスコア計算に含まれていない。ライン1810に沿ったエッジポイントに対する潜在的箇所1860も、図示のように決定されている。これらの潜在的箇所は、検出されたポイントの間隔に基づいて予測できる間隔で既知のポイントの間に位置決めされている。例示的に、検出されたラインのカバレージスコアは、マスク内に入るエッジポイントの数に従って再重み付される。これによりカバレージスコアは、次の通り修正される。
カバレージスコア = ラインに対する関係エッジポイントインライアの数/(ラインに対する関係エッジポイントインライアの数+ラインに対する関係エッジポイントアウトライア+関係エッジポイントの潜在的箇所の数)。
【0046】
本明細書に記載したシステム及び方法に従うライン検出プロセスを実行した後で、検出されたラインはユーザが((例えば)GUIによって)指定する分類基準に基づいて種々の方法で分類できる。ユーザは、内部分類手段、例えばインライアカバレージスコア、強度又はコントラストから選択できる。ユーザは内部分類手段、例えば符号付き距離又は相対角度からも選択できる。外部分類手段を用いる場合、ユーザは検出されたラインの外部分類手段を計算するための参照ラインセグメントを指定できる。
【0047】
一般的に上述したように、このシステム及び方法は多視野角(MFOV)オーバーロードを含むことができ、異なる視野からの画像のベクトルをプロセスに入れることができる。画像はすべて較正に基づいて共通クライアント座標空間にあるべきである。上記のように、この機能性は、複数のカメラを使って単一の部品の部分領域をキャプチャーする応用シナリオにおいて極めて有益であり得る。エッジポイントは勾配情報を保持するので、視野におけるギャップの間に投影されるライン特徴は、(両FOVにおける勾配が各FOVで与えられたラインの向き及びアライメントに匹敵するとき)依然として解像され得る。
【0048】
特に、システム及び方法は、非直線ひずみを取り除いてひずみが重大でないことを保証するために、歪みの除去を要求しない(即ち画像が歪んでいないことを要求しない)(歪みのない画像を可能にする)。画像が歪んでいなければ、システム及び方法は依然として候補エッジポイントを検出し、非線形変換を通してポイント位置と勾配ベクトルをマッピングできる。
【0049】
システム、及び方法及び種々の代替実施形態/改良に従って提供されるラインファインダは、多様な条件の下で多数のライン特徴を決定するための効果的且つ堅牢なツールであることは明らかであろう。概して、ライン特徴を検出するために使用する場合にシステム及び方法は画像内に検出されるべきラインの最大数に特別制限はない。記憶装置と計算時間のみが検出できるラインの数に実用的な制限を課すであろう。
【0050】
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば本明細書中で使用される「プロセス」及び/又は「プロセッサ」という言葉は広く電子ハードウェア及び/又はソフトウェアをベースとする多様な機能及びコンポーネント(代替として機能的「モジュール」又は「エレメント」と呼ぶことがある)を含むものと解釈されるべきである。更に、図示されたプロセス又はプロセッサは他のプロセス及び/又はプロセッサと組み合わせ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び/又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び/又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組合せを用いて実施できることが明確に想定されている。更に、本明細書で使用される様々な方向及び/又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」およびこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。従ってこの記述は例示としてのみ受け取られるべきであり、本発明の範囲を別途制限することを意味するものではない。加えて、与えられた測定、値又は特徴に関して「実質的に」又は「近似的に」という言葉が用いられている場合、それは所期の結果を達成するための通常の操作範囲内にある量を指しているが、システムに許容された誤差の範囲内の固有の不正確さや誤りに起因するある程度のばらつきを含む(例えば1-5パーセント)。従ってこの説明は例示の方法によるものであり、本発明の範囲を別途制限することを意味するものではない。
【0051】
特許請求の範囲
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18