JP2023120281A - System and method for detecting line in vision system - Google Patents
System and method for detecting line in vision system Download PDFInfo
- Publication number
- JP2023120281A JP2023120281A JP2023097204A JP2023097204A JP2023120281A JP 2023120281 A JP2023120281 A JP 2023120281A JP 2023097204 A JP2023097204 A JP 2023097204A JP 2023097204 A JP2023097204 A JP 2023097204A JP 2023120281 A JP2023120281 A JP 2023120281A
- Authority
- JP
- Japan
- Prior art keywords
- gradient
- image
- line
- projection
- images
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000009499 grossing Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 238000003708 edge detection Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000006059 cover glass Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- YLJREFDVOIBQDA-UHFFFAOYSA-N tacrine Chemical compound C1=CC=C2C(N)=C(CCCC3)C3=NC2=C1 YLJREFDVOIBQDA-UHFFFAOYSA-N 0.000 description 1
- 229960001685 tacrine Drugs 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/143—Segmentation; Edge detection involving probabilistic approaches, e.g. Markov random field [MRF] modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/162—Segmentation; Edge detection involving graph-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/181—Segmentation; Edge detection involving edge growing; involving edge linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
関連出願
本出願は2015年2月11日に出願された同時係属米国特許仮出願第62/249918号「ビジョンシステムでラインを検出するためのシステム及び方法」の利益を主張するものであり、その教示内容は参照により本明細書に組み込まれる。
RELATED APPLICATIONS This application claims the benefit of co-pending U.S. Provisional Patent Application Serial No. 62/249,918, entitled "System and Method for Detecting Lines in a Vision System," filed February 11, 2015, which is hereby incorporated by reference. The teachings are incorporated herein by reference.
記述分野
本発明はマシンビジョンシステム、より具体的には取得した画像内のライン特徴を検出するビジョンシステムツールに関する。
FIELD OF THE INVENTION This invention relates to machine vision systems and, more particularly, to vision system tools for detecting line features in acquired images.
マシンビジョンシステム(本明細書中では単に「ビジョンシステム」とも呼ぶ)は、製造、物流及び産業における多様なタスクに使用されている。そのようなタスクは表面および部品の検査、組立工程における対象物のアライメント、パターン及びIDコードの読取り、及び視覚データが取得されてその後のプロセスに使用するために解釈されるその他の操作を含んでいてもよい。ビジョンシステムは典型的には1台以上のカメラを用いて興味のある物体又は対象を含むシーンの画像を取得する。物体/対象は静止し、または相対運動をしてよい。運動はロボットで部品を操作する場合のように、ビジョンシステムによって得られる情報で制御することもできる。 Machine vision systems (also referred to herein simply as "vision systems") are used for a variety of tasks in manufacturing, logistics, and industry. Such tasks include inspecting surfaces and parts, aligning objects in the assembly process, reading patterns and ID codes, and other operations where visual data is acquired and interpreted for use in subsequent processes. You can A vision system typically uses one or more cameras to acquire images of a scene containing objects or objects of interest. The bodies/objects may be stationary or in relative motion. Motion can also be controlled by information provided by a vision system, such as when a robot manipulates parts.
ビジョンシステムの共通のタスクは、画像内のライン特徴を検出して特徴付けることである。そのようなライン特徴を特定して解析するために多様なツールが用いられる。典型的には、これらのツールは画像の部分で生じる明確なコントラスト差に依拠している。このコントラスト差、例えばキャリパツールを用いて解析して、コントラスト差のある画像内の個々のポイントがライン状の特徴に集合できるか決定する。できると決定した場合は、画像内でラインが特定される。特に、エッジポイントを検出するツールと、ラインをポイントにフィッティングするツールは互いに独立に動作する。これにより処理オーバーヘッドが増えて信頼性が低下する。画像が複数のラインを含む場合、そのようなツールはそれらを正確に特定する能力が制限されよう。更に、画像内のシングルラインを検出するために設計されたツールは、画像内で類似の向きと極性をもつ複数のラインが密集している場合は使用するのに問題があろう。 A common task in vision systems is to detect and characterize line features in images. Various tools are used to identify and analyze such line features. Typically, these tools rely on distinct contrast differences occurring in parts of the image. This contrast difference is analyzed using, for example, the caliper tool to determine if individual points in the image with contrast difference can be clustered into line-like features. If so, the lines are identified in the image. In particular, the tools for finding edge points and fitting lines to points work independently of each other. This increases processing overhead and reduces reliability. If the image contains multiple lines, such tools will be limited in their ability to accurately identify them. Additionally, tools designed to detect single lines in an image may be problematic to use when multiple lines of similar orientation and polarity are clustered together in the image.
本発明は先行技術の短所を、複数のラインを効率的且つ正確に特定して特徴付けることを可能にする、画像内のライン特徴を検出するためのシステム及び方法を提供することによって克服する。最初に、プロセスは各画像箇所における勾配場のx成分とy成分を計算し、勾配場を複数のサブ区域に投影し、各サブ区域内で複数の勾配極値を検出して、関連する位置と勾配を有する複数のエッジポイントを生み出す。次に、プロセスは2つのエッジポイントを反復的に選択し、それらのエッジポイントにモデルラインをフィッティングし、それらのエッジポイントの勾配がモデルラインと一致したら、位置と勾配がモデルラインと一致しているインライアポイントの完全なセットを計算する。最大のインライアカウントを有する候補ラインがライン結果として保存され、残りのセットのアウトライアポイントが導出される。次いでプロセスはこのセット及び後続のアウトライアセットにラインフィッティング操作を反復的に適用して複数のライン結果を検出する。ラインフィッティングプロセスは網羅的であるか、またはランダムサンプルコンセンサス(RANSAC)に基づいてもよい。 SUMMARY OF THE INVENTION The present invention overcomes the shortcomings of the prior art by providing a system and method for detecting line features in an image that allows multiple lines to be efficiently and accurately identified and characterized. First, the process computes the x- and y-components of the gradient field at each image location, projects the gradient field onto multiple sub-regions, finds multiple gradient extrema within each sub-region, and identifies the associated position and gradients. Next, the process iteratively selects two edge points, fits a model line to those edge points, and if the slopes of those edge points match the model line, then the position and slope match the model line. Compute the complete set of inlier points The candidate line with the largest inline count is saved as the line result and the remaining set of outlier points is derived. The process then iteratively applies line fitting operations to this set and subsequent outline sets to detect multiple line results. The line fitting process may be exhaustive or based on random sample consensus (RANSAC).
例示的な実施形態によれば、取得した画像内のライン特徴を検出するためのシステムが提供される。ビジョンシステムプロセッサは、ライン特徴を包含するシーンの画像データを受け取る。エッジポイント抽出装置は、画像データから強度勾配画像を生成し、強度勾配画像に基づいてエッジポイントを検出する。次いでラインファインダはエッジポイントにおける強度勾配に基づいてエッジポイントを1以上のラインにフィッティングする。例示的に、ラインファインダはRANSACに基づくプロセスを操作してインライアエッジポイントを新しいラインにフィッティングし、これは事前に定義されたラインを基準にしてアウトライアエッジポイントから反復的にラインを定義することを含む。エッジポイント抽出装置は、強度勾配画像のライン特徴を含む区域勾配場の投影を実行する。例示的に、勾配場の投影は、1以上の特徴若しくはライン特徴の予想される向きに応答して設定された方向に沿って向けられており、勾配場の投影はガウスカーネルに基づいて粒度を定義できる。例示的に、画像データは複数のカメラから取得されて共通座標空間に変換された複数の画像からのデータを含んでいてもよい。画像データは平滑化(重み付け)カーネルを用いて平滑化されることもでき、平滑化カーネルは1Dガウスカーネル又は他の重み付け関数を含んでいてもよい。エッジポイントは絶対コントラストと、画像データの平均強度に基づいて正規化したコントラストとによって定義された閾値が選択され得る。例示的に、ラインファインダは、不正確な向きを補正するために平行線又は交差線の部分を表すエッジポイントを交換するように、及び/又はエッジポイントにおける勾配値に基づいてライン内の混合極性を含むライン特徴の極性変化を有するラインを特定するように構成及び配置されている。また、例示的に、エッジポイント抽出装置は勾配投影サブ区域の各々で複数の勾配最大値を検出するように配置されている。これらの勾配最大値はそれぞれ複数のエッジポイントの一部として特定ができ、位置ベクトルと勾配ベクトルによって記述され得る。加えてラインファインダは、メトリックを計算することによって複数の抽出されたエッジポイントの少なくとも1つのエッジポイントと、検出された複数のラインの少なくとも1つの候補ラインとの間の整合性を決定するように配置され得る。このメトリックは少なくとも1つのエッジポイントの候補ラインからの距離、及びエッジポイントの勾配方向と候補ラインの通常の方向との間の角度差に基づいていてもよい。 According to an exemplary embodiment, a system is provided for detecting line features within an acquired image. A vision system processor receives image data of a scene containing line features. The edge point extractor generates an intensity gradient image from the image data and detects edge points based on the intensity gradient image. A line finder then fits the edge points to one or more lines based on the intensity gradients at the edge points. Illustratively, the line finder operates a RANSAC-based process to fit inlier edge points to new lines, which iteratively defines lines from outlier edge points relative to a pre-defined line. Including. The edge point extractor performs a projection of the area gradient field containing the line features of the intensity gradient image. Illustratively, the gradient field projections are oriented along directions set in response to expected orientations of one or more features or line features, and the gradient field projections have a granularity based on a Gaussian kernel. can be defined. Illustratively, the image data may include data from multiple images acquired from multiple cameras and transformed into a common coordinate space. The image data can also be smoothed using a smoothing (weighting) kernel, which may include a 1D Gaussian kernel or other weighting function. Edge points may be selected with thresholds defined by absolute contrast and normalized contrast based on the average intensity of the image data. Illustratively, the line finder may replace edge points representing portions of parallel or intersecting lines to correct for incorrect orientation and/or detect mixed polarities within the line based on gradient values at the edge points. constructed and arranged to identify lines having a polarity change of line features including . Also illustratively, the edge point extractor is arranged to detect a plurality of gradient maxima in each of the gradient projection sub-regions. Each of these gradient maxima can be identified as part of a plurality of edge points and can be described by a position vector and a gradient vector. Additionally, the line finder determines a match between at least one edge point of the plurality of extracted edge points and at least one candidate line of the plurality of detected lines by calculating a metric. can be placed. This metric may be based on the distance of at least one edge point from the candidate line and the angular difference between the gradient direction of the edge point and the normal direction of the candidate line.
以下に本発明を図面を参照して説明する。 The present invention will now be described with reference to the drawings.
例示的な実施形態に従って使用できる模範的なビジョンシステム構成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)コンポーネントも含んでいてもよい。
An exemplary
カメラ110(及び112)は、シーン内部に位置する物体150の一部又は全部を撮像する。各カメラは光学軸OAを定義し、それを中心に光学系116、焦点距離などに基づいて視野が確定される。物体150はそれぞれ異なる方向に配置された複数のエッジ152、154を含む。例えば物体のエッジはスマートフォン本体内に組み付けられたカバーガラスのエッジを含んでよい。例示的に、カメラは物体全体又は特定の箇所(例えばガラスが本体と交わるコーナ)を撮像できる。(共通)座標空間は、物体、1台のカメラ又は他の基準点(例えば物体150を載せている可動ステージ)を基準に確定できる。図示されているように、座標空間は軸158によって表される。これらの軸は例示的に直交するx軸、y軸及びz軸、並びにx-y面上のz軸を中心とする回転Θzを定義する。
Cameras 110 (and 112) image some or all of
例示的な実施形態に従い、ビジョンシステムプロセス130は集合的にビジョンシステムツール/プロセス132のセットを含む1以上のアプリケーション/プロセス(コンピューティングデバイス140上で実行)と相互作用する。これらのツールは、画像データを解像するために使用される多様な慣用的及び特殊なアプリケーション-例えば取得した画像データを所定の(例えば共通)座標系に変換するために使用できる多様な較正ツール及びアフィン変換ツールを含んでいてもよい。画像グレースケール強度データを所定の閾値に基づいて二値画像に転換するツールも含めることができる。同様に、隣接した画像ピクセル(及びサブピクセル)の間の強度の勾配(コントラスト)を解析するツールを設けることができる。 According to an exemplary embodiment, vision system processes 130 collectively interact with one or more applications/processes (running on computing device 140), including a set of vision system tools/processes 132. These tools cover a wide variety of conventional and specialized applications used to resolve image data - for example, a variety of calibration tools that can be used to transform acquired image data into a given (e.g. common) coordinate system. and may include affine transformation tools. A tool can also be included that converts the image grayscale intensity data to a binary image based on a predetermined threshold. Similarly, tools can be provided to analyze intensity gradients (contrast) between adjacent image pixels (and sub-pixels).
ビジョンシステムプロセス(プロセッサ)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読取り、部品/表面検査などに提供され得る。
Vision system processes (processor) 130 includes a line detection process, tool, or module 13 that locates multiple lines within an acquired image according to an exemplary embodiment. Referring now to FIG. 2, an overview of
一実施形態に従う、エッジポイントを抽出するための手順を説明した図3を参照する。検出されるべきエッジ特徴を有する物体又は表面を含んでいるシーンの1以上の画像が取得される(ステップ310)。画像は単一のカメラ又は複数のカメラによって抽出できる。いずれの場合も、ステップ320で画像ピクセルは、(随意に)適当な較正パラメータによって新しい座標空間及び/又は共通座標空間に変換され得る。このステップは以下に説明するように画像の平滑化も含んでいてもよい。複数のカメラがシーンの不連続区域を撮像する-例えばより大きい物体のコーナ区域に焦点を当てる-実施形態において、共通座標空間はカメラ視野の間の空の区域を占めることができる。以下に説明するように、そのような視野の間に延びるライン(例えば2つの検出されたコーナ区域を接続する物体エッジ)は、例示的な実施形態のシステム及び方法によって例示的な実施形態のシステム及び方法によって外挿できる。ステップ330で、ラインを検出するために必要とされるエッジポイントは、適当な座標空間においてエッジポイント抽出装置によって勾配場の投影を用いて画像から抽出される。勾配値は最初に各ピクセルについて計算されて、x勾配成分とy勾配成分に対して画像を生成する。画像は更に勾配場を多数のキャリパ状区域に投影することによって処理される。強度値を投影する慣用的キャリパツールとは異なり、実施形態に従い勾配場を投影することによって、勾配の向きを保存でき、以下に説明するようにこれが後続のライン検出プロセスを容易にする。
Refer to FIG. 3, which describes a procedure for extracting edge points, according to one embodiment. One or more images of a scene containing objects or surfaces having edge features to be detected are acquired (step 310). Images can be captured by a single camera or multiple cameras. In either case, at
ステップ340で、図4の線図も参照して、候補エッジ特徴を含んでいる画像の部分(キャリパ状区域)400は(複数の投影410、420、430によって表された)勾配場の投影を受け、サーチ方向(矢印SD)で(近似的に)予想されるエッジの向きにわたってサーチされ、投影は直交投影方向(矢印PD)で区域400にわたって繰り返される。各投影(例えば投影420)に対してエッジは投影と関連した勾配場440における極大値として現れる。概して、エッジと関連した投影の内部の一連のエッジポイントは、エッジの延在方向に対して直角に強度勾配(ベクトル552、554)を示す。以下に説明するように、ユーザは予想されるラインの向きに基づいて投影方向を定義できる。代替として、これは既定のメカニズム又は他のメカニズム-例えば画像内の特徴の解析によって提供されてよい。
At
上述した勾配投影ステップには2つの粒度パラメータが包含されている。勾配場計算の前に、ユーザは異方性ガウスカーネルを用いて画像を平滑化することを選択できる。第1の粒度はこのガウス平滑化カーネルのサイズを決定する。図5の線図500に示されているように、近似的なサイズのガウスカーネル(例えば大きい512、中位514、小さい516)を適用して画像210を平滑化する。それゆえ第1の粒度パラメータは、場計算の前に等方性ガウス平滑化カーネルのサイズを決定する。
Two granularity parameters are involved in the gradient projection step described above. Prior to gradient field computation, the user can choose to smooth the image using an anisotropic Gaussian kernel. The first granularity determines the size of this Gaussian smoothing kernel. A Gaussian kernel of approximate size (eg, large 512, medium 514, small 516) is applied to smooth the
これにより勾配場計算の後で、慣用的なキャリパツールにおける統一的な重み付けではなく、ガウス重み付けされた投影がプロセスによって実行される。従って第2の粒度パラメータは、場の投影中に使用される1次元(1D)ガウスカーネルのサイズを決定し、図6に示されているように区域600はガウス平滑化カーネル610、620、630を受ける。典型的な操作の間、ユーザは(GUIを用いて)画像に重ね合わされたすべての抽出されたエッジを検証し、次いで検出されるべきラインに沿って抽出されたエッジの数が十分と思われるまで粒度とコントラスト閾値を調整する一方で、画像内のバックグラウンドノイズに起因するエッジの過度な数を回避する。換言すれば、このステップにより信号雑音比を画像特徴に対して最適化することが可能になる。この調整は、種々の実施形態でシステムにより既定値を用いて自動的に実行することもできる。ガウス重み付け関数は、(例えば)一様な重み付けを含む、投影を重み付けするための多様な方策の1つであることに留意されたい。
This causes the process to perform a Gaussian weighted projection after the gradient field computation, rather than the uniform weighting in the conventional caliper tool. The second granularity parameter thus determines the size of the one-dimensional (1D) Gaussian kernel used during field projection, and
勾配場の抽出及び投影の全体の流れが、図7の線図700に図示されている。2つの粒度パラメータ、等方性ガウスカーネル710及び1Dガウスカーネル720が、全体図700の各半分に示されている。図示されているように、各々の取得された画像210は平滑化及びデシメーション730を受ける。次いで結果として生じる画像740は、上述したように勾配場の計算750を経て、2つの勾配画像752及び754を生成する。これらの勾配画像はgx及びgyとも表現され、それぞれ共通座標空間における2本の直交軸を表す。2つの勾配画像に加えて、強度画像756は典型的には平滑化、デシメーション及びに投影プロセス760(1Dガウスカーネル720に基づいてガウス重み付けされた投影770を用いる)を受けることに留意されたい。なぜなら、処理された強度情報は、以下に説明する実施形態に従って正規化したコントラストを計算するためにも使用されるからである。その結果は、勾配画像772(gx)、774(gy)及び強度画像776の投影プロフィルである。
The overall flow of gradient field extraction and projection is illustrated in diagram 700 of FIG. Two granularity parameters, an isotropic
手順300(図3)のステップ350も参照して、次にx勾配画像とy勾配画像の1D投影プロフィルを結合することによって適格化されたエッジポイントが抽出される。このことは生のコントラスト計算780と、強度画像に基づいて正規化したコントラスト計算790を用いて達成される。より具体的には、それぞれ閾値を超える生の投影された勾配の大きさと正規化した投影された勾配の大きさのいずれも有する局所的なピークは、次の例示的な式に従い後続のライン検出のための候補エッジポイントと見なされる。
(gx
2+gy
2)1/2>TABS
(gx
2+gy
2)1/2/I>TNORM
ここで、gx及びgyはそれぞれピクセル箇所におけるx勾配投影とy勾配投影の値、Iは強度、TABは生の投影された勾配の大きさに対する絶対コントラスト閾値、及びTNORMは強度正規化した投影された勾配の大きさに対する正規化したコントラスト閾値である。
Referring also to step 350 of procedure 300 (FIG. 3), qualified edge points are then extracted by combining the 1D projection profiles of the x-gradient and y-gradient images. This is accomplished using a
(g x 2 +g y 2 ) 1/2 >T ABS
(g x 2 +g y 2 ) 1/2 /I>T NORM
where g x and g y are the values of the x and y gradient projections at the pixel location respectively, I is the intensity, T AB is the absolute contrast threshold for the raw projected gradient magnitude, and T NORM is the intensity normal is the normalized contrast threshold for the normalized projected gradient magnitude.
特に、ポイントはその絶対コントラストと正規化したコントラストがいずれもそれぞれの閾値を超える場合のみ候補エッジポイントと見なされる。このことは正規化したコントラスト閾値TNORMに対するコントラスト閾値TABSの模範的なグラフ800において、右上の象限810によって示されている。二重の閾値(絶対及び正規化)を用いることは、典型的に絶対コントラスト閾値を使用する既存の方策とは全体として異なる。二重コントラスト閾値の利点は、例を挙げるとある画像がいずれも興味のあるエッジを含む暗い強度区域と明るい強度区域の両方を含む場合に明確である。画像の暗い区域でエッジを検出するためには、低いコントラスト閾値を設定することが望ましい。しかしながらそのような低いコントラストを設定すると、その結果として画像の明るい部分で誤ったエッジを検出する可能性がある。反対に、画像の明るい区域で誤ったエッジを検出するのを避けるためには、高いコントラスト閾値を設定することが望ましい。しかしながら高いコントラストを設定すると、システムは画像の暗い区域でエッジを適切に検出できないかもしれない。伝統的な絶対コントラスト閾値に加えて、第2の正規化したコントラスト閾値を用いることによって、システムは暗い区域と明るい区域の両方で適切にエッジを検出することができ、画像の明るい区域で誤ったエッジを検出するのを避けることができる。それゆえ該当するエッジの検出を可能にする一方で誤ったエッジを回避することにより、避けながら、二重コントラスト閾値の使用は全体プロセスの後続のライン検出段階の速度と堅牢性を最大化するのに役立つ。
In particular, a point is considered a candidate edge point only if its absolute contrast and normalized contrast both exceed their respective thresholds. This is illustrated by the upper
更に手順ステップ350(図3)を参照すると、すべてのエッジポイントが抽出されたら、後続のラインファインダが作動するために都合の良いデータ構造で再現され保存される。例えば次のタプルに留意されたい。
p=(x,y,gx,gy,gm,go,I,gm/I,m,n)
ここで、(x,y)はエッジポイントの箇所、(gx,gy)はそれぞれx勾配投影及びy勾配投影の値、(gm,go)は(gx,gy)から計算された勾配の大きさと向き、Iはエッジポイント箇所における強度、gm/Iは勾配の大きさgmを強度Iで除算することによって得られる強度正規化したコントラスト、mは画像インデックス、及びnは投影区域インデックスである。標準キャリパツールにおけるようなエッジポイントの箇所は、精度を向上させるために補間できる。
Still referring to procedural step 350 (FIG. 3), once all edge points have been extracted, they are reconstructed and stored in a convenient data structure for subsequent line finder operations. For example, note the following tuple:
p = (x, y, gx, gy, gm, go, I, gm/I, m, n)
where (x, y) is the location of the edge point, (g x , g y ) are the values of the x and y gradient projections respectively, and (g m , g o ) are calculated from (g x , g y ) is the intensity at the edge point, g m /I is the intensity-normalized contrast obtained by dividing the gradient magnitude g m by the intensity I, m is the image index, and n is the projected area index. Edge point locations, such as in the standard caliper tool, can be interpolated to improve accuracy.
エッジポイント抽出プロセスは一般的に場の投影を、予想されるライン角度と実質的に一致する単一方向で行うように作動することに留意されたい。それゆえツールはこの角度にあるエッジに対して最も敏感であり、その感度は他の角度にあるエッジに対して徐々に減少し、減少率は場の投影の長さを間接的に決定する粒度の設定に依存する。結果として角度範囲はユーザによって指定されることを条件に、プロセスは角度が予想されるライン角度「に近い」ラインを検出することに制限される。プロセスは直交していないラインを検出するように適合されているが、種々の実施形態において直交方向を含む複数の方向(全方向ライン検出)で投影を実行することによって360度全体の任意の角度のラインを検出できるように一般化されることが想定されている。 Note that the edge point extraction process generally operates by projecting fields in a single direction that substantially matches the expected line angle. The tool is therefore most sensitive to edges at this angle, and its sensitivity gradually decreases for edges at other angles, the rate of decrease indirectly determining the length of the field projection. depends on the setting of As a result, provided that the angular range is specified by the user, the process is limited to finding lines whose angles are "close to" the expected line angle. Although the process is adapted to detect non-orthogonal lines, in various embodiments any angle over 360 degrees can be detected by performing projections in multiple directions, including orthogonal directions (omnidirectional line detection). is assumed to be generalized to detect lines of
手順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つのエッジポイントのみ含むことが許される。エッジポイントの勾配の向きはその位置と共に、候補ラインのインライアリストに含まれるべきか決定するために使用される。具体的には、エッジポイントは候補ラインの角度と一致する勾配の向きを有するべきである。
Referring to step 360 of procedure 300 (FIG. 3), edge point candidates that exceed a threshold are provided to a line finder in accordance with an illustrative embodiment. By way of example, the line finder operates recursively and employs (for example) random sample consensus (RANSAC) based techniques. See also
決定ステップ930では、より多くの反復が許可されて、最良インライア候補からのアウトライア(ステップ940)を、RANSACプロセス(ステップ920)がライン候補の検出に使用するために戻すことを決定する。
各RANSAC反復において、異なる投影区域に属する2つのエッジポイントがランダムに選択され、それらの2つのポイントにラインがフィッティングされる。結果として生じる候補ラインは更に、その角度がポイント対の両エッジの勾配角度と一致するか、及びラインの角度がユーザによって指定された不確かさの範囲と一致するかについてのみ検討される。概して、エッジポイント勾配方向は通常直角であるが、ユーザ設定の角度誤差だけ異なることが許容される。候補ラインがこれらの初期テストに合格したら、次いでインライアエッジポイントの数が評価され、さもなければ新しいRANSAC反復が開始される。エッジポイントは、ユーザによって指定された勾配角度と距離誤差に基づいて、その勾配の方向と位置がラインと一致する場合のみ候補ラインのインライアと見なされる。 In each RANSAC iteration, two edge points belonging to different projection areas are randomly selected and a line is fitted to those two points. The resulting candidate line is further considered only if its angle matches the slope angles of both edges of the point pair and if the line angle matches a user-specified uncertainty range. In general, edge point gradient directions are usually orthogonal, but are allowed to differ by a user-defined angular error. If the candidate line passes these initial tests, then the number of inlier edge points is evaluated, otherwise a new RANSAC iteration is started. An edge point is considered an inlier of a candidate line only if its gradient direction and position match the line based on the gradient angle and distance error specified by the user.
RANSAC反復が最大数に達したら(決定ステップ930)、検出された最良のライン候補のインライアは、(例えば)最小二乗回帰又は他の受け入れ可能な近似法を用いて改善されたラインのフィッティングが行われ、インライアエッジポイントのセットが再評価され、これらのステップを最大N回(例えば3回以上)、インライアの数がそれ以上増加又は減少しなくなるまで繰り返す(ステップ960)。これはステップ970で検出されたラインとして出力されるラインである。
Once the maximum number of RANSAC iterations has been reached (decision step 930), the best line candidate inliers found are subjected to improved line fitting using (for example) least squares regression or other acceptable approximation methods. Then the set of inlier edge points is re-evaluated and these steps are repeated up to N times (eg, 3 or more times) until the number of inliers no longer increases or decreases (step 960). This is the line output as the detected line in
決定ステップ980は、((例えば)更にサブ区域又は他の基準をサーチすることによって)より多くのラインが検出されるべきか決定し、そうであればプロセスはステップ920にループバックして新しいセットのエッジポイントで作動する(ステップ982)。ポイントが使い尽くされるか、又は最大数反復カウントに達したら、手順900はステップ990で(複数の画像内で)検出されたラインのセットを戻す。
マルチラインファインダは、2本のラインが検査区域内で互いに交差する場合に、既存の結果の最終調整を実行するように適合されている。図10及び図11に一般的に示されているように、密集した平行線1010及び1020に対しては、RANSAC手順の統計的正確に起因して時々誤ったライン結果(即ち図10)が得られることがある。しかしながらそのようなエラーが発生したら、インライアポイントグループの交換(図11のグループ1110における矢印1120)は時々カバレージスコアが増加してフィッティング残余が減少した正しいラインの位置を特定することができる。ポイント交換は、図示されているように画像が密集した平行線を含んでいる場合は極めて効果的である。反対に、画像が図12及び図13に図示されているように実際に互いに交差するライン1210及び1220を包含する場合、カバレージスコアはポイント交換の後で減らされ(図12のグループ1240における矢印1230)、交換の前に得られた最初の結果は、交差線を首尾よく検出するプロセスにより保存される。
The multi-line finder is adapted to perform a final adjustment of existing results when two lines intersect each other within the inspection area. As generally shown in FIGS. 10 and 11, for closely spaced
RANSAC手順は、ラインファインダがポイントをラインにフィッティングできる多様な技術の1つであることに留意されたい。代替的な実施形態において、候補ポイントはそれらの間の変位セットに従って選択でき、或いは画像は(例えば)網羅的サーチ技術を用いて処理できる。従って、本明細書中で用いられているようにRANSAC技術への参照は、広く多様な類似のポイントフィッティング技術を含むものと解するべきである。 Note that the RANSAC procedure is one of a variety of techniques by which a line finder can fit points to lines. In alternative embodiments, candidate points can be selected according to a displacement set between them, or the image can be processed using (for example) an exhaustive search technique. Accordingly, references to the RANSAC technique as used herein should be taken to include a wide variety of similar point-fitting techniques.
このシステム及び方法の追加の機能を設けることができる。これらは混合極性に対するサポート、投影区域幅の自動計算、多視点ライン検出のサポート、及び歪みのない入力画像により光学歪みを除去できるようにすることを含む。これらの機能について以下に説明する。 Additional features of this system and method may be provided. These include support for mixed polarities, automatic calculation of projection area width, support for multi-view line detection, and allowing distortion-free input images to remove optical distortions. These functions are described below.
更に図14-図16の例を参照すると、例示的な実施形態のライン検出システム及び方法は、一般に検出されたエッジ間のコントラストに対して(それぞれ)標準的な明から暗、暗から明及び択一極性設定をサポートする。加えてこのシステム及び方法は明から暗と暗から明の両特徴が同一のラインに現れる混合極性設定(図17)もサポートできる。全4種類の設定のライン検出結果が次の図に示されている。例示的な実施形態において、システム及び方法は、反対極性のエッジポイントを包含する1本のラインの検出を可能にする混合極性設定を含んでいてもよい。これは、1本のラインのすべてのエッジポイントがいずれかの極性であるが1つの極性に限られている慣用的な「択一」極性設定とは異なる。混合極性設定は、幾つかある応用の中でも(例えば)較正プレートの明暗格子縞に用いられると有利であり得る。 Still referring to the examples of FIGS. 14-16, the line detection systems and methods of the illustrative embodiments generally provide standard bright-to-dark, dark-to-light and (respectively) contrasts for contrast between detected edges. Supports alternate polarity settings. In addition, the system and method can also support mixed polarity settings (FIG. 17) where both light-to-dark and dark-to-light features appear on the same line. The line detection results for all four settings are shown in the following figures. In an exemplary embodiment, the system and method may include a mixed polarity setting that allows detection of a single line containing edge points of opposite polarity. This differs from the conventional "alternative" polarity setting, where all edge points of a line are of either polarity, but are limited to one polarity. Mixed polarity settings may be advantageously used for (for example) light-dark graticules in calibration plates, among other applications.
ユーザは、ライン検出の改善されたシフト不変を選択できる。そのような場合に、エッジポイント抽出装置は結果の安定性を改善するために実質的にオーバーラップした投影区域を使用する。これらの区域がオーバーラップしていないと、対象としているピクセルは画像がシフトしたとき投影区域の外に出る可能性があり、その結果としてライン検出結果におけるシフト不変が乏しいものとなる。オーバーラップした投影区域は、対象としているピクセルが投影区域によって連続的にカバーされることを保証する。オーバーラップした投影区域が使用された場合、増分計算を可能な低レベル最適化と共に実行できる。 The user can select improved shift invariant line detection. In such cases, the edge point extractor uses substantially overlapping projected areas to improve the stability of the results. If these areas do not overlap, the pixel of interest may fall outside the projection area when the image shifts, resulting in poor shift invariance in line detection results. Overlapping projection areas ensure that the pixels of interest are continuously covered by the projection areas. If overlapping projection areas are used, incremental computations can be performed with possible low-level optimizations.
ユーザは、取得した画像及び/又は撮像された表面の特定部分をライン特徴の解析から除外するマスクを設けることができる。これは表面が興味のない既知のライン特徴(例えば他のメカニズムによって解析されるバーコード、テキスト、及びラインを検出しようとするタスクと密接な関係がないその他の構造)を含む場合に望ましいことがある。従ってエッジポイント抽出装置は、画像内の「無関係」区域はマスクアウトでき「関係」区域はマスクインされる画像マスキングをサポートできる。そのようなマスキングが起きたら、例示的に検出されたラインのカバレージスコアはマスク内に入るエッジポイントの数に従って再重み付される。 A user may provide a mask that excludes certain portions of the acquired image and/or imaged surface from the analysis of line features. This may be desirable if the surface contains known line features of no interest (e.g. barcodes, text, and other structures that are not closely related to the task of trying to detect lines that are parsed by other mechanisms). be. Thus, the edge point extractor can support image masking where "irrelevant" areas in the image can be masked out and "relevant" areas can be masked in. Once such masking occurs, the coverage score of the exemplary detected line is reweighted according to the number of edge points falling within the mask.
図18の模範的な画像区域1800を参照すると、画像マスクが存在する場合のカバレージスコアと、そのようなカバレージスコアに及ぼす画像マスキングの効果を示す。エッジポイント抽出装置は、画像内の「無関係」区域をマスクアウトできる画像マスキングをサポートする。図示されているように、検出されたライン1810は(「関係」マスク区域1820に基づき)関係エッジポイントによって特徴付けられる。そのような関係エッジポイントは、ライン1810に対する関係エッジポイントインライア1830と、ライン1810に対する無関係エッジポイントアウトライア1840からなる。ライン1810上の無関係エッジポイント1850は、この例で示されているようにマスクの関係区域1820の間にあり、たとえインライアとしてライン上にあってもカバレージスコア計算に含まれていない。ライン1810に沿ったエッジポイントに対する潜在的箇所1860も、図示のように決定されている。これらの潜在的箇所は、検出されたポイントの間隔に基づいて予測できる間隔で既知のポイントの間に位置決めされている。例示的に、検出されたラインのカバレージスコアは、マスク内に入るエッジポイントの数に従って再重み付される。これによりカバレージスコアは、次の通り修正される。
カバレージスコア = ラインに対する関係エッジポイントインライアの数/(ラインに対する関係エッジポイントインライアの数+ラインに対する関係エッジポイントアウトライア+関係エッジポイントの潜在的箇所の数)。
Referring to
Coverage score = number of related edge point inliers for line/(number of related edge point inliers for line + number of related edge point outliers for line + number of potential locations of related edge points).
本明細書に記載したシステム及び方法に従うライン検出プロセスを実行した後で、検出されたラインはユーザが((例えば)GUIによって)指定する分類基準に基づいて種々の方法で分類できる。ユーザは、内部分類手段、例えばインライアカバレージスコア、強度又はコントラストから選択できる。ユーザは内部分類手段、例えば符号付き距離又は相対角度からも選択できる。外部分類手段を用いる場合、ユーザは検出されたラインの外部分類手段を計算するための参照ラインセグメントを指定できる。 After performing the line detection process according to the systems and methods described herein, the detected lines can be classified in a variety of ways based on user-specified classification criteria (eg, via a GUI). The user can select from internal classifiers such as in-line coverage score, intensity or contrast. The user can also select from internal classifiers, such as signed distances or relative angles. When using an external classifier, the user can specify a reference line segment for calculating the external classifier for the detected line.
一般的に上述したように、このシステム及び方法は多視野角(MFOV)オーバーロードを含むことができ、異なる視野からの画像のベクトルをプロセスに入れることができる。画像はすべて較正に基づいて共通クライアント座標空間にあるべきである。上記のように、この機能性は、複数のカメラを使って単一の部品の部分領域をキャプチャーする応用シナリオにおいて極めて有益であり得る。エッジポイントは勾配情報を保持するので、視野におけるギャップの間に投影されるライン特徴は、(両FOVにおける勾配が各FOVで与えられたラインの向き及びアライメントに匹敵するとき)依然として解像され得る。 As described generally above, the system and method can include a multi-field-of-view (MFOV) overload, allowing vectors of images from different fields of view to be put into the process. All images should be in the common client coordinate space based on calibration. As noted above, this functionality can be extremely useful in application scenarios where multiple cameras are used to capture sub-regions of a single part. Since edge points carry gradient information, line features projected between gaps in the field of view can still be resolved (when the gradients in both FOVs are comparable to the line orientation and alignment given in each FOV). .
特に、システム及び方法は、非直線ひずみを取り除いてひずみが重大でないことを保証するために、歪みの除去を要求しない(即ち画像が歪んでいないことを要求しない)(歪みのない画像を可能にする)。画像が歪んでいなければ、システム及び方法は依然として候補エッジポイントを検出し、非線形変換を通してポイント位置と勾配ベクトルをマッピングできる。 In particular, the system and method do not require distortion removal (i.e., the image is not distorted) to remove non-linear distortion and ensure that the distortion is not significant (allowing for undistorted images). do). If the image is not distorted, the system and method can still detect candidate edge points and map point locations and gradient vectors through non-linear transformations.
システム、及び方法及び種々の代替実施形態/改良に従って提供されるラインファインダは、多様な条件の下で多数のライン特徴を決定するための効果的且つ堅牢なツールであることは明らかであろう。概して、ライン特徴を検出するために使用する場合にシステム及び方法は画像内に検出されるべきラインの最大数に特別制限はない。記憶装置と計算時間のみが検出できるラインの数に実用的な制限を課すであろう。 It will be apparent that the system and method and line finders provided in accordance with various alternative embodiments/improvements are effective and robust tools for determining multiple line features under a variety of conditions. Generally, when used to detect line features, the system and method have no particular limit on the maximum number of lines to be detected in an image. Only storage and computation time will impose a practical limit on the number of lines that can be detected.
以上、本発明の例示的な実施形態を詳細に説明した。本発明の精神と範囲を逸脱することなく種々の改変及び追加を行うことができる。上述した種々の実施形態の各々の特徴は、関連する新しい実施形態において多数の特徴の組み合わせを提供するのに適する限り、別の記載された実施形態の特徴と組み合わされてよい。更に、上に本発明の装置と方法の多数の別個の実施形態を記したが、ここに記載されたものは本発明の原理の応用を例示したものに過ぎない。例えば本明細書中で使用される「プロセス」及び/又は「プロセッサ」という言葉は広く電子ハードウェア及び/又はソフトウェアをベースとする多様な機能及びコンポーネント(代替として機能的「モジュール」又は「エレメント」と呼ぶことがある)を含むものと解釈されるべきである。更に、図示されたプロセス又はプロセッサは他のプロセス及び/又はプロセッサと組み合わせ、又は種々のサブプロセス又はサブプロセッサに分割されてよい。そのようなサブプロセス及び/又はサブプロセッサは、本明細書に記載された実施形態に従って多様に組み合わせることができる。同様に、本明細書中の何らかの機能、プロセス及び/又はプロセッサは、プログラム命令の非一時的コンピュータ可読媒体からなる電子ハードウェア、ソフトウェア、或いはハードウェアとソフトウェアの組合せを用いて実施できることが明確に想定されている。更に、本明細書で使用される様々な方向及び/又は向きを表わす用語、例えば、「垂直」、「水平」、「上」、「下」、「底部」、「頂部」、「側部」、「前部」、「後部」、「左」、「右」およびこれに類するものは、相対的な表現法として用いられているに過ぎず、重力の作用方向など固定した座標系を基準とした絶対的な向きを表わすものではない。従ってこの記述は例示としてのみ受け取られるべきであり、本発明の範囲を別途制限することを意味するものではない。加えて、与えられた測定、値又は特徴に関して「実質的に」又は「近似的に」という言葉が用いられている場合、それは所期の結果を達成するための通常の操作範囲内にある量を指しているが、システムに許容された誤差の範囲内の固有の不正確さや誤りに起因するある程度のばらつきを含む(例えば1-5パーセント)。従ってこの説明は例示の方法によるものであり、本発明の範囲を別途制限することを意味するものではない。 Exemplary embodiments of the invention are described above in detail. Various modifications and additions can be made without departing from the spirit and scope of the invention. Features of each of the various embodiments described above may be combined with features of another described embodiment so long as it is suitable to provide multiple feature combinations in the associated new embodiment. Moreover, although numerous separate embodiments of the apparatus and method of this invention have been described above, those described herein are merely illustrative of the application of the principles of this invention. For example, the terms "process" and/or "processor" as used herein are used broadly to refer to various electronic hardware- and/or software-based functions and components (alternatively functional "modules" or "elements"). ) should be interpreted as including Additionally, any illustrated process or processor may be combined with other processes and/or processors or divided into various sub-processes or sub-processors. Such sub-processes and/or sub-processors can be variously combined according to the embodiments described herein. Likewise, it is expressly understood that any function, process and/or processor herein can be implemented using electronic hardware comprising a non-transitory computer-readable medium of program instructions, software, or a combination of hardware and software. It is assumed. Further, terms representing various directions and/or orientations as used herein, such as "vertical", "horizontal", "top", "bottom", "bottom", "top", "side" , ``front'', ``back'', ``left'', ``right'' and the like are used only as relative expressions and refer to a fixed coordinate system such as the direction of gravity. It does not represent absolute orientation. Accordingly, this description should be taken as illustrative only and is not meant to otherwise limit the scope of the invention. Additionally, when the words "substantially" or "approximately" are used in reference to a given measurement, value or characteristic, it refers to the amount within the normal operating range to achieve the desired result. but includes some variation (eg, 1-5 percent) due to inherent inaccuracies and errors within the tolerance of the system. Accordingly, this description is by way of example and is not meant to otherwise limit the scope of the invention.
特許請求の範囲 Claims
Claims (18)
当該システムは、取得したシーンの画像を受け取るビジョンシステムプロセッサと、ラインファインダと、を備え、
上記ビジョンシステムプロセッサは、
(a)前記取得した画像を勾配場計算プロセスに供して2つの勾配画像及び1つの強度画像を生成し、
(b)重み付けされた投影を前記2つの勾配画像及び1つの強度画像に適用して、前記2つの勾配場及び投影画像の1次元(1D)投影プロファイルを得て、
(c)前記2つの勾配画像の1D投影プロファイルを結合することにより候補エッジポイントを抽出するものであり、
上記ラインファインダは前記抽出されたエッジポイントと一致する複数のラインを生成するものである、
上記システム。 A system for detecting line features in an acquired image, comprising:
The system comprises a vision system processor that receives an acquired image of a scene and a line finder,
The vision system processor above
(a) subjecting the acquired images to a gradient field computation process to generate two gradient images and an intensity image;
(b) applying weighted projections to the two gradient images and an intensity image to obtain a one-dimensional (1D) projection profile of the two gradient field and projection images;
(c) extracting candidate edge points by combining the 1D projection profiles of the two gradient images;
wherein the line finder generates a plurality of lines that coincide with the extracted edge points;
the above system.
取得したシーンの画像を受け取り、
前記取得した画像を勾配場計算プロセスに供して2つの勾配画像及び1つの強度画像を生成し、
重み付けされた投影を前記2つの勾配画像及び1つの強度画像に適用して、前記2つの勾配場及び投影画像の1次元(1D)投影プロファイルを得て、
前記2つの勾配画像の1D投影プロファイルを結合することにより候補エッジポイントを抽出し、かつ
前記抽出されたエッジポイントと一致する複数のラインを生成する、
上記方法。 A method for detecting line features in an acquired image, comprising:
Receive an image of the acquired scene,
subjecting the acquired images to a gradient field computation process to generate two gradient images and an intensity image;
applying a weighted projection to the two gradient images and an intensity image to obtain a one-dimensional (1D) projection profile of the two gradient field and projection images;
extracting candidate edge points by combining the 1D projection profiles of the two gradient images, and generating a plurality of lines that match the extracted edge points;
above method.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562249918P | 2015-11-02 | 2015-11-02 | |
US62/249,918 | 2015-11-02 | ||
US15/338,445 | 2016-10-31 | ||
US15/338,445 US10152780B2 (en) | 2015-11-02 | 2016-10-31 | System and method for finding lines in an image with a vision system |
JP2019000018A JP6934026B2 (en) | 2015-11-02 | 2019-01-03 | Systems and methods for detecting lines in a vision system |
JP2021135086A JP7297018B2 (en) | 2015-11-02 | 2021-08-20 | System and method for line detection with a vision system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021135086A Division JP7297018B2 (en) | 2015-11-02 | 2021-08-20 | System and method for line detection with a vision system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023120281A true JP2023120281A (en) | 2023-08-29 |
Family
ID=58741907
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016214703A Active JP6463593B2 (en) | 2015-11-02 | 2016-11-01 | System and method for detecting lines in a vision system |
JP2023097204A Pending JP2023120281A (en) | 2015-11-02 | 2023-06-13 | System and method for detecting line in vision system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016214703A Active JP6463593B2 (en) | 2015-11-02 | 2016-11-01 | System and method for detecting lines in a vision system |
Country Status (2)
Country | Link |
---|---|
JP (2) | JP6463593B2 (en) |
KR (3) | KR102153962B1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10152780B2 (en) | 2015-11-02 | 2018-12-11 | Cognex Corporation | System and method for finding lines in an image with a vision system |
US10937168B2 (en) | 2015-11-02 | 2021-03-02 | Cognex Corporation | System and method for finding and classifying lines in an image with a vision system |
US10753726B2 (en) * | 2017-03-26 | 2020-08-25 | Cognex Corporation | System and method for 3D profile determination using model-based peak selection |
US10540749B2 (en) * | 2018-03-29 | 2020-01-21 | Mitsubishi Electric Research Laboratories, Inc. | System and method for learning-based image super-resolution |
JP2019220163A (en) * | 2018-06-06 | 2019-12-26 | コグネックス・コーポレイション | System and method for finding line with vision system |
CN111612776A (en) * | 2020-05-22 | 2020-09-01 | 福州数据技术研究院有限公司 | Automatic pathological gross specimen size measuring method based on image edge recognition |
CN111724373B (en) * | 2020-06-22 | 2024-05-14 | 江西财经大学 | Visual safety measurement method based on perception encryption light field image |
CN113344955B (en) * | 2021-05-25 | 2022-03-18 | 云南凤云高速公路有限公司 | System and method for accurately detecting slope by fuzzy edge |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61120002A (en) * | 1984-11-16 | 1986-06-07 | Toyota Central Res & Dev Lab Inc | Method and device for detecting corner point of image |
JP3394104B2 (en) * | 1993-12-24 | 2003-04-07 | 株式会社小松製作所 | Location recognition method |
JPH08335274A (en) * | 1995-06-07 | 1996-12-17 | Sony Corp | Curve generating method |
US8442304B2 (en) * | 2008-12-29 | 2013-05-14 | Cognex Corporation | System and method for three-dimensional alignment of objects using machine vision |
RU2458396C1 (en) * | 2011-07-19 | 2012-08-10 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Method of editing static digital composite images, including images of several objects |
JP5783567B2 (en) * | 2011-10-12 | 2015-09-24 | 国立大学法人鳥取大学 | Straight line detection device, straight line detection method, straight line detection program, and imaging system |
JP2014092922A (en) * | 2012-11-02 | 2014-05-19 | Tottori Univ | Detector, detection method, and detection program |
-
2016
- 2016-11-01 JP JP2016214703A patent/JP6463593B2/en active Active
- 2016-11-02 KR KR1020160145441A patent/KR102153962B1/en active IP Right Grant
-
2019
- 2019-04-29 KR KR1020190049972A patent/KR102402906B1/en active IP Right Grant
-
2022
- 2022-05-24 KR KR1020220063255A patent/KR102649038B1/en active IP Right Grant
-
2023
- 2023-06-13 JP JP2023097204A patent/JP2023120281A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP6463593B2 (en) | 2019-02-06 |
JP2017090450A (en) | 2017-05-25 |
KR20220075290A (en) | 2022-06-08 |
KR102649038B1 (en) | 2024-03-18 |
KR20170051369A (en) | 2017-05-11 |
KR102402906B1 (en) | 2022-05-26 |
KR20190050311A (en) | 2019-05-10 |
KR102153962B1 (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7297018B2 (en) | System and method for line detection with a vision system | |
JP2023120281A (en) | System and method for detecting line in vision system | |
US11699283B2 (en) | System and method for finding and classifying lines in an image with a vision system | |
Placht et al. | Rochade: Robust checkerboard advanced detection for camera calibration | |
US20150262346A1 (en) | Image processing apparatus, image processing method, and image processing program | |
JP7133283B2 (en) | Systems and methods for efficiently scoring probes in images with a vision system | |
US9946947B2 (en) | System and method for finding saddle point-like structures in an image and determining information from the same | |
US20240078801A1 (en) | System and method for finding and classifying lines in an image with a vision system | |
JP2024016287A (en) | System and method for detecting line by vision system | |
Zhang et al. | A new algorithm for accurate and automatic chessboard corner detection | |
CN116958058A (en) | Lens dirt detection method and device and image detection equipment | |
CN114548136B (en) | Analysis method, device, equipment and medium for reflective two-dimensional code picture | |
Skocaj et al. | Evaluation of performance of smart mobile devices in machine vision tasks | |
CN109670519A (en) | Image processing apparatus and image processing method | |
Seth et al. | An Analytic Approach of Edge Detection Gradient Operators [J] | |
JP2017037363A (en) | Image processing device, image processing method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230711 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240510 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240611 |