KR102153962B1 - System and method for finding lines in an image with a vision system - Google Patents
System and method for finding lines in an image with a vision system Download PDFInfo
- Publication number
- KR102153962B1 KR102153962B1 KR1020160145441A KR20160145441A KR102153962B1 KR 102153962 B1 KR102153962 B1 KR 102153962B1 KR 1020160145441 A KR1020160145441 A KR 1020160145441A KR 20160145441 A KR20160145441 A KR 20160145441A KR 102153962 B1 KR102153962 B1 KR 102153962B1
- Authority
- KR
- South Korea
- Prior art keywords
- line
- gradient
- lines
- edge points
- image
- Prior art date
Links
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 by the use of 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
Abstract
본 발명은 이미지 내에서 다중선 특징을 찾아내기 위한 방법 및 시스템에 관한 것이다.
두 개의 관련된 스텝이 라인 특징을 식별하기 위해 이용된다. 첫번째 프로세스는 각 이미지 위치에서 기울기장(the gradient field)의 x와 y 컴포넌트를 계산하고, 다수의 서브영역을 넘어 기울기장을 프로젝트하고, 위치와 경사를 갖는 다수의 에지포인트를 산출하는 다수의 경사도 극값(a plurality of gradient extrema)을 검출한다. 두 번째 프로세스는 두 개의 에지 포인트를 선택하고, 그것들에 모델라인을 맞추고(fits), 에지포인트 기울기가 모델과 동일하면(consistent), 위치와 기울기가 그 모델과 일치하는 내좌층 포인트의 전체 세트(full set of inlier points)의 를 연산한다.
최대 내좌층 카운트를 갖는 후보 라인이 유지되고 외좌층 포인트(outlier points)를 남기는 세트가 도출된다. 상기 프로세스는 라인 맞춤 동작(the line fitting operation)과 다수의 라인결과를 찾기 위한 이후의 외좌층 세트를 반복적으로 적용한다. 이러한 프로세스는 철저한 RANSAC 기반에서 이루어질 수 있다.The present invention relates to a method and system for finding multiline features in an image.
Two related steps are used to identify line features. The first process calculates the x and y components of the gradient field at each image location, projects the gradient field over multiple sub-regions, and calculates multiple edge points with locations and slopes. It detects a plurality of gradient extrema. The second process selects two edge points, fits a model line to them, and if the edge point slope is consistent with the model, then the entire set of inner left-floor points whose position and slope match that model ( of the full set of inlier points).
The candidate line with the maximum left-most count is maintained and a set is derived leaving outlier points. The process repeatedly applies the line fitting operation and a subsequent set of outer left layers to find a plurality of line results. This process can be done on a thorough RANSAC basis.
Description
관련 출원Related application
본 출원은, 전체 내용이 본 명세서에 병합된, 2015년 11월 2일에 출원된, 발명의 명칭이 "SYSTEM AND METHOD FOR FINDING LINES IN AN IMAGE WITH A VISION SYSTEM"인 공동-계류 중인 미국 특허 가출원 일련 번호 62/249,918의 이익을 주장한다. This application is a co-pending US provisional application filed on November 2, 2015, the entire contents of which are incorporated herein by reference, entitled "SYSTEM AND METHOD FOR FINDING LINES IN AN IMAGE WITH A VISION SYSTEM" Claims the interest of serial number 62/249,918.
기술 분야Technical field
본 발명은 머신 비전 시스템에 관한 것으로, 보다 구체적으로 취득된 이미지에서 라인 특징부(line feature)를 발견하는 비전 시스템 도구에 관한 것이다. FIELD OF THE INVENTION [0001] The present invention relates to a machine vision system, and more particularly, to a vision system tool for finding line features in an acquired image.
머신 비전 시스템(본 명세서에서, 단순히 "비전 시스템"이라고도 언급됨)은 제조, 물류, 및 산업계에서 여러 작업에 사용된다. 이러한 작업은 표면과 부분의 검사, 조립 동안 물체의 정렬, 패턴과 ID 코드의 판독, 및 추가적인 프로세스에 사용하기 위해 시각적 데이터가 취득되고 해석되는 임의의 다른 동작을 포함할 수 있다. 비전 시스템은 일반적으로 관심 물체 또는 관심 대상을 포함하는 장면 이미지를 취득하는 하나 이상의 카메라를 사용한다. 이 물체/대상은 고정되어 있거나 또는 상대적으로 움직일 수 있다. 움직임은 로봇에 의해 부분들을 조작하는 경우와 같이 비전 시스템에 의해 유도된 정보에 의해 제어될 수도 있다. Machine vision systems (also referred to herein simply as “vision systems”) are used in manufacturing, logistics, and many operations in industry. Such operations may include inspection of surfaces and parts, alignment of objects during assembly, reading patterns and ID codes, and any other operations in which visual data is acquired and interpreted for use in further processes. Vision systems generally use one or more cameras to acquire an object of interest or a scene image that includes an object of interest. This object/object can be either stationary or relatively movable. Movement may also be controlled by information guided by the vision system, such as when manipulating parts by a robot.
비전 시스템의 공통 작업은 이미지에서 라인 특징부를 발견하고 특성화하는 것이다. 이러한 라인 특징부를 식별하고 분석하는데 여러 도구가 사용된다. 일반적으로, 이 도구는 이미지의 일부분에서 일어나는 급격한 콘트라스트(sharp contrast) 차이에 의존한다. 예를 들어 캘리퍼 도구를 사용하여 이 콘트라스트 차이를 분석하여, 콘트라스트 차이를 갖는 이미지 내 개별 점들이 라인-같은 특징부로 조립될 수 있는지 여부를 결정한다. 만약 조립될 수 있다면, 이미지에서 라인이 식별된다. 특히, 에지점(edge point)들을 발견하는 도구와, 라인을 점들에 맞추는(fit) 시도를 하는 도구는 서로 독립적이다. 이것은 처리 오버헤드를 증가시키고 신뢰성을 감소시킨다. 이미지가 다수의 라인을 포함하는 경우, 이들 도구는 이 라인을 정확히 식별하는 능력이 제한될 수 있다. 나아가, 이미지에서 단일 라인을 발견하도록 설계된 전통적인 라인-발견 도구는, 이미지가 유사한 배향과 극성을 갖는 다수의 근접 이격된 라인들을 포함할 때, 사용하는데 문제가 있을 수 있다. A common task of vision systems is to find and characterize line features in images. Several tools are used to identify and analyze these line features. In general, this tool relies on sharp contrast differences occurring in parts of the image. Analyze this contrast difference using, for example, a caliper tool to determine whether individual points in the image with contrast differences can be assembled into line-like features. If it can be assembled, lines are identified in the image. In particular, a tool that detects edge points and a tool that attempts to fit a line to the points are independent of each other. This increases processing overhead and reduces reliability. If the image contains multiple lines, these tools may have limited ability to accurately identify these lines. Furthermore, traditional line-finding tools designed to find a single line in an image can be problematic to use when the image contains multiple closely spaced lines of similar orientation and polarity.
본 발명은, 다수의 라인을 효율적이고 정확히 식별하고 특성화할 수 있는, 이미지에서 라인 특징부를 발견하는 시스템 및 방법을 제공하는 것에 의해 종래 기술의 단점을 극복한다. 먼저, 프로세스는, 이미지의 각 위치에서 구배장(gradient field)의 x 성분과 y-성분을 연산하고, 복수의 이미지 서브구역(subregion)에 걸쳐 상기 구배장을 사영(project)하고, 각 서브구역 내에 복수의 구배 극단값(gradient extrema)을 검출하여, 연관된 위치와 구배를 갖는 복수의 에지점을 산출한다. 다음으로, 상기 프로세스는 2개의 에지점을 반복적으로 선택하고, 모델 라인을 이들 에지점에 맞추고, 만약 이들 에지점의 구배들이 상기 모델 라인과 일치(consistent)하는 경우, 상기 모델 라인과 일치하는 위치와 구배를 갖는 정상치 점(inlier point)들의 전체 세트를 연산한다. 최대 정상치 카운트를 갖는 후보 라인은 라인 결과로 유지(retained)되고, 나머지 이상치 점(outlier point)들의 세트가 유도된다. 상기 프로세스는 이 이상치 세트와 후속 이상치 세트에 라인 맞춤 동작을 반복적으로 적용하여 복수의 라인 결과를 발견한다. 라인-맞춤 프로세스는 전체에 걸쳐 다 수행되거나, 또는 RANSAC(random sample consensus) 기술에 기초할 수 있다. The present invention overcomes the drawbacks of the prior art by providing a system and method for finding line features in an image that can efficiently and accurately identify and characterize multiple lines. First, the process calculates the x- and y-components of the gradient field at each position of the image, projects the gradient field over a plurality of image subregions, and each subregion By detecting a plurality of gradient extremas within, a plurality of edge points having associated positions and gradients are calculated. Next, the process iteratively selects two edge points, fits the model line to these edge points, and if the gradients of these edge points are consistent with the model line, the position coincides with the model line. Compute the entire set of inlier points with gradients and. The candidate line with the maximum normal count is retained as the line result, and a set of remaining outlier points is derived. The process finds a plurality of line results by repeatedly applying a line fitting operation to this set of outliers and subsequent sets of outliers. The line-to-fit process may be performed entirely or may be based on random sample consensus (RANSAC) techniques.
예시적인 실시예에서, 취득된 이미지에서 라인 특징부를 발견하는 시스템이 제공된다. 비전 시스템 프로세서는 라인 특징부를 포함하는 장면의 이미지 데이터를 수신한다. 에지점 추출기는 상기 이미지 데이터로부터 세기 구배 이미지(intensity gradient image)들을 생성하고, 상기 세기 구배 이미지들에 기초하여 에지점들을 발견한다. 라인-파인더(line-finder)는 상기 에지점들에서 세기 구배에 기초하여 상기 에지점들을 하나 이상의 라인에 맞춘다. 예시적으로, 상기 라인 파인더는, 이전에 한정된 라인에 대해 이상치 에지점들로부터 라인들을 반복적으로 한정하는 것을 포함하여, 정상치 에지점들을 새로운 라인들에 맞추는 RANSAC-기반 프로세스를 동작시킨다. 상기 에지점 추출기는 상기 세기 구배 이미지들의 라인-특징부를-포함하는 구역들의 구배장 사영(gradient field projection)을 수행한다. 예시적으로 상기 구배장 사영은 하나 이상의 또는 상기 라인 특징부들의 예상된 배향에 응답하여 설정된 방향을 따라 배향되고, 상기 구배장 사영은 가우시안 커널(Gaussian kernel)에 기초하여 입도(granularity)를 한정할 수 있다. 예시적으로, 상기 이미지 데이터는, 복수의 카메라로부터 취득되고 공통 좌표 공간으로 변환된 복수의 이미지로부터 데이터를 포함할 수 있다. 상기 이미지 데이터는 또한 1D 가우시안 커널 또는 다른 가중 함수(weighting function)를 포함할 수 있는 평활화(smoothing) (가중) 커널을 사용하여 평활화될 수 있다. 상기 에지점들은, 절대 콘트라스트(absolute contrast)에 의해 한정된 임계값과, 상기 이미지 데이터의 평균 세기에 기초하여 정규화된 콘트라스트(normalized contrast)에 기초하여 선택될 수 있다. 예시적으로, 상기 라인 파인더는, 에러 있는 배향을 정정(correct)하기 위해 평행한 라인들 또는 교차하는 라인들의 일부분을 나타내는 에지점들을 교환하거나, 및/또는 상기 에지점들의 구배 값들에 기초하여 라인 특징부들의 혼합된 극성을 포함하는, 극성 변동(polarity variation)을 갖는 라인을 식별하도록 구성되고 배열된다. 또한, 예시적으로, 상기 에지점 추출기는 상기 구배 사영 서브-구역들 각각에서 복수의 구배 크기 최대값을 발견하도록 배열된다. 이들 구배 크기 최대값은 각각 상기 복수의 에지점들 중 일부로 식별될 수 있고, 위치 벡터와 구배 벡터에 의해 설명될 수 있다. 추가적으로, 상기 라인 파인더는 메트릭(metric)을 연산하는 것에 의해 상기 추출된 복수의 에지점들 중 적어도 하나의 에지점과 상기 발견된 복수의 라인들 중 적어도 하나의 후보 라인 사이에 일치도(consistency)를 결정하도록 배열될 수 있다. 이 메트릭은, 상기 후보 라인으로부터 상기 적어도 하나의 에지점의 거리, 및 상기 에지점의 구배 방향과 상기 후보 라인의 법선 방향 사이의 각도 차이에 기초할 수 있다. In an exemplary embodiment, a system for finding line features in an acquired image is provided. The vision system processor receives image data of the scene including line features. An edge point extractor generates intensity gradient images from the image data and finds edge points based on the intensity gradient images. A line-finder fits the edge points to one or more lines based on an intensity gradient at the edge points. Illustratively, the line finder operates a RANSAC-based process of fitting normal edge points to new lines, including repetitively defining lines from outlier edge points for a previously defined line. The edge point extractor performs gradient field projection of regions including line-feature portions of the intensity gradient images. Illustratively, the gradient field projection is oriented along a direction set in response to one or more or expected orientations of the line features, and the gradient field projection will define a granularity based on a Gaussian kernel. I can. For example, the image data may include data from a plurality of images acquired from a plurality of cameras and converted into a common coordinate space. The image data may also be smoothed using a 1D Gaussian kernel or a smoothing (weighting) kernel, which may include other weighting functions. The edge points may be selected based on a threshold value defined by an absolute contrast and a normalized contrast based on an average intensity of the image data. Exemplarily, the line finder exchanges edge points representing portions of parallel lines or intersecting lines to correct an erroneous orientation, and/or a line based on the gradient values of the edge points. Constructed and arranged to identify lines with polarity variation, including mixed polarities of the features. Also, by way of example, the edge point extractor is arranged to find a plurality of gradient magnitude maxima in each of the gradient projection sub-zones. Each of these gradient magnitude maximum values can be identified as some of the plurality of edge points, and can be described by a position vector and a gradient vector. Additionally, the line finder calculates a consistency between at least one edge point among the plurality of extracted edge points and at least one candidate line among the plurality of found lines by calculating a metric. Can be arranged to determine. This metric may be based on a distance of the at least one edge point from the candidate line, and an angle difference between a gradient direction of the edge point and a normal direction of the candidate line.
본 발명의 아래 설명은 첨부 도면을 참조한다.
도 1은 예시적인 실시예에 따른 에지-발견 도구/모듈을 포함하는 다수의 에지 특징부와 비전 시스템 프로세서를 포함하는, 물체의 이미지를 취득하는 예시적인 비전 시스템 배열을 도시하는 도면;
도 2는 예시적인 실시예에 따라, 취득된 이미지로부터 에지점을 추출하고 라인을 발견하는 시스템 및 방법의 개요를 도시하는 도면;
도 3은 도 2의 시스템 및 방법에 따라 에지점을 추출하는 절차의 흐름도;
도 4는 도 3의 에지점을 추출하는 절차의 일부인 에지 특징부들을 포함하는 이미지의 구역에 구배장 사영을 도시하는 도면;
도 5는 도 3의 에지점을 추출하는 절차에 사용하기 위해, 이미지를 평활화하기 위해 이미지에 가우시안 커널을 적용하는 것을 도시하는 도면;
도 6은 도 3의 에지점을 추출하는 절차에 사용하기 위해, 사영을 평활화하기 위해 가우시안 커널을 적용하는 것을 포함하는 구배장 사영을 도시하는 도면;
도 7은 가우시안 커널들을 적용하고, 에지점들에 대해 절대 콘트라스트 임계값과 정규화된 콘트라스트 임계값을 계산하는 것을 포함하는, 도 3의 에지점을 추출하는 절차의 개요를 그래프로 도시하는 도면;
도 8은 충분한 절대 콘트라스트 임계값과 정규화된 콘트라스트 임계값을 구비하는, 에지점들에 대한 자격 있는 콘트라스트(qualified contrast)들의 구역을 도시하는 그래프;
도 9는 예시적인 실시예에 따라 예시적인 RANSAC 프로세스를 사용하여 도 3에서 발견된 에지점들에 기초하여 라인을 발견하는 절차의 흐름도;
도 10 및 도 11은 근접 이격된 평행한 라인 특징부들에 대해 에지점들이 에러 있게 정렬된 것과 올바르게 정렬된 것을 각각 도시하는 도면;
도 12 및 도 13은 예시적인 시스템 및 방법의 라인-파인더에 따라 분석될 수 있는 교차 라인 특징부들에 대해 에지점들이 올바르게 정렬된 것과 에러 있게 정렬된 것을 각각 도시하는 도면;
도 14 내지 도 17은 예시적인 시스템 및 방법의 라인-파인더에 따라 분석될 수 있는 밝은에서-어두운으로의 극성(light-to-dark polarity), 어두운에서-밝은으로의-극성(dark-to-light polarity), 밝은에서-어두운으로의 극성 또는 어두운에서-밝은으로의 극성 중 어느 하나의 극성, 또는 이들이 혼합된 극성을 나타내는 라인의 예를 각각 도시하는 도면; 및
도 18은 사용자-한정된 마스크를 고려하여 발견된 라인에 대해 커버리지 스코어(coverage score)의 변경을 도시하는 도면. The following description of the present invention refers to the accompanying drawings.
1 is a diagram illustrating an exemplary vision system arrangement for acquiring an image of an object, including a vision system processor and a plurality of edge features including an edge-discovery tool/module in accordance with an exemplary embodiment;
Fig. 2 is a diagram showing an overview of a system and method for extracting an edge point and finding a line from an acquired image, according to an exemplary embodiment;
3 is a flowchart of a procedure for extracting an edge point according to the system and method of FIG. 2;
FIG. 4 is a diagram showing a gradient field projection in a region of an image including edge features that are part of the procedure for extracting an edge point of FIG. 3;
FIG. 5 is a diagram illustrating applying a Gaussian kernel to an image to smooth the image for use in the procedure of extracting the edge point of FIG. 3;
6 is a diagram illustrating a gradient field projection including applying a Gaussian kernel to smooth the projection, for use in the procedure of extracting the edge point of FIG. 3;
Fig. 7 is a graph showing an overview of the procedure for extracting the edge point of Fig. 3, including applying Gaussian kernels and calculating an absolute contrast threshold and a normalized contrast threshold for the edge points;
8 is a graph showing a region of qualified contrasts for edge points with a sufficient absolute contrast threshold and a normalized contrast threshold;
9 is a flow diagram of a procedure for finding a line based on edge points found in FIG. 3 using an exemplary RANSAC process according to an exemplary embodiment;
Figures 10 and 11 show edge points erroneously and correctly aligned for closely spaced parallel line features, respectively;
12 and 13 are diagrams showing correct and erroneous alignment of edge points, respectively, for cross-line features that may be analyzed according to the line-finder of an exemplary system and method;
14-17 show light-to-dark polarity, dark-to-brightness, which can be analyzed according to the line-finder of exemplary systems and methods. light polarity), light to dark polarity or dark to light polarity; And
18 is a diagram showing a change in coverage score for a line found taking into account a user-defined mask.
예시적인 실시예에 따라 사용될 수 있는 예시적인 비전 시스템 배열(100)이 도 1에 도시된다. 시스템(100)은 적어도 하나의 비전 시스템 카메라(110)를 포함하고, 하나 이상의 추가적인 선택적인 카메라(112)(점선으로 도시)를 포함할 수 있다. 예시적인 카메라(들)(110, 112)는, 이미지 프레임을 취득하고 이 이미지 프레임을 비전 시스템 프로세스(프로세서)(130)에 전송하는 이미지 센서(또는 이미저)(S) 및 연관된 전자성분(electronics)을 포함하고, 이 이미지 프레임은 독립 프로세서 및/또는 연산 디바이스(140)에서 인스턴스화(instantiated)될 수 있다. 카메라(110)(및 112)는 검사 받는 물체(150)를 포함하는 장면에 집중(focus)하는 적절한 렌즈/광학기기(116)를 포함한다. 카메라(110)(및 112)는 이미지 취득 프로세스에 따라 동작하는 내부 및/또는 외부 조명기(미도시)를 포함할 수 있다. 연산 디바이스(140)는 예시적인 실시예에 따라 이미지 데이터를 저장하고 조작할 수 있는 임의의 허용가능한 프로세서-기반 시스템일 수 있다. 예를 들어, 연산 디바이스(140)는 (도시된) PC, 서버, 랩탑, 태블릿, 스마트폰 또는 다른 유사한 디바이스를 포함할 수 있다. 연산 디바이스(140)는 카메라에 상호 연결된 버스-기반 이미지 캡처 카드와 같은 적절한 주변기기를 포함할 수 있다. 대안적인 실시예에서, 비전 프로세서는 카메라 몸체 그 자체 내에 부분적으로 또는 완전히 포함될 수 있고, 이미지 데이터를 공유하고 처리하는 다른 PC, 서버 및/또는 카메라-기반 프로세서와 네트워크로 연결될 수 있다. 연산 디바이스(140)는, 비전 시스템 프로세스(프로세서)(130)에 제공된 비전 시스템 도구와 프로세서(132)에 따라 동작할 수 있는 적절한 그래픽 사용자 인터페이스(GUI)를 지원할 수 있는 적절한 디스플레이(142)를 선택적으로 포함할 수 있다. 디스플레이는 여러 실시예에서 생략되거나 및/또는 셋업 기능과 서비스 기능만을 위해 제공될 수 있는 것으로 이해된다. 비전 시스템 도구는 매사추세츠(MA)주, 나틱(Natick)에 소재하는 코그넥스사(Cognex Corporation)로부터 상업적으로 구입가능한 것과 같은, 물체를 검사하는데 사용하기 위해 허용가능한, 임의의 허용가능한 소프트웨어 및/또는 하드웨어 패키지의 일부일 수 있다. 연산 디바이스는, 예를 들어, 키보드(144)와 마우스(146), 및 디스플레이(142) 내 터치스크린을 포함하는 연관된 사용자 인터페이스(UI) 성분을 포함할 수도 있다. An exemplary
카메라(들)(110)(및 112)는 장면 내에 위치된 물체(150)의 일부 또는 전부를 이미징한다. 각 카메라는 광축(OA)을 한정하고, 이 광축 주위로 광학기기(116), 초점 거리, 등에 기초하여 시야(field of view)가 수립된다. 물체(150)는 여러 방향으로 각각 배열된 복수의 에지(152, 154 및 156)를 포함한다. 예를 들어, 물체 에지들은 스마트폰 몸체 내에 장착된 커버 유리의 에지를 포함할 수 있다. 예시적으로, 카메라(들)는 전체 물체 또는 특정 위치(예를 들어 유리가 몸체와 만나는 코너)를 이미징할 수 있다. (공통) 좌표 공간이 물체, 카메라들 중 하나의 카메라, 또는 다른 기준점(예를 들어 물체(150)를 지지하는 이동 스테이지)에 대해 수립될 수 있다. 도시된 바와 같이, 좌표 공간은 축(158)들로 표현된다. 이 축들은 예시적으로 직교하는 x 축, y 축 및 z 축과, x-y 평면에서 z 축 주위로 회전(θz)을 한정한다. Camera(s) 110 (and 112) images some or all of the
예시적인 실시예에 따라, 비전 시스템 프로세스(130)는 비전 시스템 도구/프로세스(132)의 세트를 집합적으로 포함하는 (연산 디바이스(140)에서 실행되는) 하나 이상의 애플리케이션(application)/프로세스와 상호 동작한다. 이들 도구는 이미지 데이터를 분석하는데 사용되는 여러 종래의 전문화된 애플리케이션을 포함할 수 있고 - 예를 들어 여러 교정 도구(calibration tool)와 아핀 변환 도구(affine transform tool)를 사용하여, 취득된 이미지 데이터를 미리 결정된 (예를 들어 공통) 좌표 시스템으로 변환할 수 있다. 이미지 그레이스케일 세기 데이터를 미리 결정된 임계값에 기초하여 바이너리(binary) 이미지로 변환하는 도구들이 포함될 수도 있다. 또한, 인접한 이미지 픽셀(및 서브픽셀)들 사이에 세기(콘트라스트)의 구배를 분석하는 도구들이 제공될 수 있다. According to an exemplary embodiment, the
비전 시스템 프로세스(프로세서)(130)는 예시적인 실시예에 따라 취득된 이미지에서 다수의 라인을 찾는 라인-발견 프로세스, 도구 또는 모듈(134)을 포함한다. 도 2를 참조하면, 도 2는 예시적인 실시예에 따른 라인-발견 절차(200)의 개요를 그래프로 도시한다. 이 절차(200)는 2개의 주요 부분으로 구성된다. 입력 이미지(210)는 프로세서에 제공된다. 도시된 바와 같이, 이 이미지는 한 쌍의 교차하는 에지(212 및 214)들을 포함한다. 이들 교차하는 에지는 전술된 물체(150)의 코너 구역을 나타낼 수 있다. 에지점 추출기(220)는 입력 이미지(210)를 처리하여, 에지(212 및 214)를 따라 각각 존재하는 에지점(232 및 234)들을 포함하는 후보 에지점들의 세트(230)를 획득한다. 에지점(232, 234)들과 그 연관된 데이터(예를 들어 아래에 설명된 세기 구배 정보)는 재귀적 라인 파인더(recursive line finder)(240)에 제공되고, 이 라인 파인더는 선택된 에지점들에 일련의 반복 프로세스(iterative process)를 수행한다. 반복 프로세스의 목표는 다른 발견된 에지점들을 후보 라인 특징부들에 맞추는 시도를 하는 것이다. 라인-발견 프로세스(240)를 수행한 결과, 도시된 바와 같이 라인(252)과 라인(254)이 발견된다. 이들 결과는 정보를 사용하는 다른 다운스트림 프로세스(260) - 예를 들어 정렬 프로세스, 로봇 조작, 검사, ID 판독, 부분/표면 검사 등에 제공될 수 있다. The vision system process (processor) 130 includes a line-discovery process, tool, or
도 3을 참조하면, 도 3은 일 실시예에 따라 에지점들을 추출하는 절차를 설명한다. 장면에서 발견될 에지 특징부를 가지는 물체 또는 표면을 포함하는 하나 이상의 이미지가 취득된다(단계 310). 이 이미지(들)는 단일 카메라 또는 복수의 카메라에 의해 추출될 수 있다. 어느 경우이든, 이미지 픽셀들은 단계(320)에서 적절한 교정 파라미터에 의해 새로운 좌표 공간 및/또는 공통 좌표 공간으로 (선택적으로) 변환될 수 있다. 이 단계는 아래에 설명된 바와 같이 이미지를 평활화하는 것을 더 포함할 수 있다. 특정 실시예에서, 복수의 카메라가 장면의 불연속적인 구역을 이미징하는 경우 - 예를 들어 더 큰 물체의 코너 구역에 집중하는 경우 - , 공통 좌표 공간은 카메라의 시야들 사이에 빈 구역(empty region)을 고려할 수 있다. 아래에 설명된 바와 같이, 이러한 시야들 사이에 연장되는 라인들(예를 들어 2개의 발견된 코너 구역들을 연결하는 물체 에지)이 예시적인 실시예의 시스템 및 방법에 의해 외삽될 수 있다. 라인들을 발견하는데 요구되는 에지점들이 단계(330)에서 구배장 사영을 사용하여 에지점 추출기에 의해 적절한 좌표 공간에서 이미지(들)로부터 추출된다. 먼저 각 픽셀에 대해 구배 값들이 연산되어, x 및 y 구배 성분에 대한 2개의 이미지가 생성된다. 이 이미지(들)는 많은 캘리퍼-같은 구역들에 걸쳐 구배장을 사영하는 것에 의해 더 처리된다. 세기 값을 사영하는 종래의 캘리퍼 도구와는 달리, 이 실시예에 따른 구배장을 사영하는 것에 의해, 구배 배향이 보존될 수 있고, 이는 아래에 설명된 바와 같이 후속 라인을-발견하는 프로세스를 촉진한다. Referring to FIG. 3, FIG. 3 describes a procedure of extracting edge points according to an embodiment. One or more images comprising an object or surface having edge features to be found in the scene are acquired (step 310). These image(s) can be extracted by a single camera or multiple cameras. In either case, the image pixels may (optionally) be transformed into a new coordinate space and/or a common coordinate space in
단계(340)에서 또한 도 4의 도면을 참조하면, 후보 에지 특징부를 포함하는 이미지의 부분(캘리퍼-같은 구역)(400)은 (복수의 사영(410, 420, 430)으로 표현된) 구배장 사영을 받고, 검색 방향(화살표 SD)으로 에지들의 (대략) 예상된 배향에 걸쳐 검색되는데, 이 사영은 직교 사영 방향(화살표 PD)으로 구역(400)에 걸쳐 반복된다. 각 사영(예를 들어 사영(420))에서 에지들은 이 사영과 연관된 구배장(440)에서 국부적인 최대값으로 보인다. 일반적으로, 에지와 연관된 사영에서 일련의 에지점들은 이 에지의 연장 방향과 직교하는 세기 구배(벡터(552, 554))를 나타낸다. 아래에 설명된 바와 같이, 사용자는 예상된 라인 배향에 기초하여 사영 방향을 한정할 수 있다. 대안적으로, 이것은 디폴트에 의해 또는 다른 메커니즘에 의해 - 예를 들어 이미지 내 특징부를 분석하는 것에 의해 제공될 수 있다. Referring also to the diagram of FIG. 4 at
2개의 입도 파라미터가 전술된 구배 사영 단계에 수반된다. 구배장을 계산하기 전에, 사용자는 등방성 가우시안 커널을 사용하여 이미지를 평활화하도록 선택할 수 있다. 제1 입도는 이 가우시안 평활화 커널의 사이즈를 결정한다. 도 5의 다이아그램(500)에 도시된 바와 같이, 적절히 사이즈의 가우시안 커널(예를 들어 대형(512), 중형(514), 소형(516))을 적용하여 이미지(210)를 평활화한다. 그리하여, 제1 입도 파라미터는, 구배장을 계산하기 전에, 등방성 가우시안 평활화 커널의 사이즈를 결정한다. Two granularity parameters are involved in the gradient projection step described above. Before calculating the gradient field, the user can choose to smooth the image using an isotropic Gaussian kernel. The first particle size determines the size of this Gaussian smoothing kernel. As shown in the diagram 500 of FIG. 5, the
구배장을 계산한 후, 종래의 캘리퍼 도구에서 수행되는 균일한 가중이 아니라 가우시안-가중된 사영이 이 프로세스에 의해 수행된다. 따라서, 제2 입도 파라미터는, 구역(600)이 가우시안-평활화된 커널(610, 620, 630)을 받은 도 6에 도시된 바와 같이, 구배장 사영 동안 사용되는 1차원(1D) 가우시안 커널의 사이즈를 결정한다. 일반적인 동작 동안, 사용자는 이미지에 오버레이된 모든 추출된 에지들을 (GUI를 사용하여) 검증하고 나서, 이미지의 배경 잡음으로 인한 과도한 개수의 에지를 회피하면서, 발견될 라인을 따라 추출된 에지의 개수가 만족스럽게 보일 때까지, 입도 및 콘트라스트 임계값을 조절한다. 다시 말해, 이 단계에 의해 신호-대-잡음 비가 이미지 특성에 대해 최적화될 수 있다. 이 조절은 여러 실시예에서 디폴트 값을 사용하여 시스템에 의해 자동적으로 수행될 수도 있다. 가우시안 가중 함수를 사용하는 것은 (예를 들어) 균일한 가중을 하는 것을 포함하여 사영을 가중시키는 여러 접근법들 중 하나의 접근법인 것으로 이해된다. After calculating the gradient field, a Gaussian-weighted projection rather than the uniform weighting performed in a conventional caliper tool is performed by this process. Thus, the second granularity parameter is the size of the one-dimensional (1D) Gaussian kernel used during gradient field projection, as shown in FIG. 6 in which the
구배장을 추출하고 사영하는 전체적인 흐름은 도 7의 다이아그램(700)에서 그래프로 도시된다. 2개의 입도 파라미터, 즉 등방성 가우시안 커널(710)과 1D 가우시안 커널(720)은 전체 다이아그램(700)의 각 절반에 각각 도시된다. 도시된 바와 같이, 각 취득된 이미지(210)는 평활화 및 데시메이션(decimation)(730)을 받는다. 그 결과로 생긴 이미지(740)는 전술된 바와 같이 구배장 계산(750)을 받아서, 2개의 구배 이미지(752 및 754)들이 생성된다. 이들 구배 이미지는 또한 공통 좌표 공간에서 2개의 직교 축을 나타내는 gx와 gy로 표현된다. 2개의 구배 이미지에 더하여, 처리된 세기 정보는 또한 일 실시예 - 아래에 설명된 실시예에 따라 정규화된 콘트라스트를 계산하는데 사용되기 때문에, 세기 이미지(756)는 또한 일반적으로 (1D 가우시안 커널(720)에 기초하여 가우시안-가중된 사영(770)을 사용하여) 평활화, 데시메이션 및 사영 프로세스(760)를 받는 것으로 이해된다. 그 결과 구배 이미지(772)(gx), 이미지(774)(gy), 및 세기 이미지(776)의 사영 프로파일이 생성된다. The overall flow of extracting and projecting the gradient field is shown graphically in the diagram 700 of FIG. 7. Two granularity parameters, i.e., isotropic
또한 절차(300)(도 3)에서 단계(350)를 참조하면, x 및 y 구배 이미지들의 1D 사영 프로파일들을 결합하는 것에 의해 자격 있는 에지점(qualified edge point)들이 추출된다. 이것은 세기 이미지에 기초하여 원시(raw) 콘트라스트를 계산하는 것(780)과 정규화된 콘트라스트를 계산하는 것(790)을 사용하여 달성된다. 보다 구체적으로, 각 임계값을 초과하는 원시 사영된 구배 크기와 정규화된 사영된 구배 크기를 갖는 임의의 국부적인 피크는 다음 예시적인 수식에 따라 후속 라인을 발견하기 위한 후보 에지점으로 고려된다: Also referring to step 350 in procedure 300 (FIG. 3), qualified edge points are extracted by combining the 1D projection profiles of x and y gradient images. This is achieved using calculating raw contrast based on the
(gx 2 + gy 2)1/2 > TABS (g x 2 + g y 2 ) 1/2 > T ABS
(gx 2 + gy 2)1/2/I > TNORM (g x 2 + g y 2 ) 1/2 /I> T NORM
여기서 gx 및 gy는, 각각, 픽셀 위치에서 x-구배와 y-구배 사영의 값이고, I는 세기이고, TABS는 원시 사영된 구배 크기에 대한 절대 콘트라스트 임계값이고, TNORM은 세기-정규화된 사영된 구배 크기에 대한 정규화된 콘트라스트 임계값이다. Where g x and g y are, respectively, the values of the x- and y-gradient projections at the pixel position, I is the intensity, T ABS is the absolute contrast threshold for the original projected gradient size, and T NORM is the intensity -Is the normalized contrast threshold for the normalized projected gradient size.
특히, 점의 절대 콘트라스트와 정규화된 콘트라스트가 각 임계값을 모두 초과할 때, 이 점만이 후보 에지점으로 고려된다. 이것은, 정규화된 콘트라스트 임계값(TNORM) 대(versus) 절대 콘트라스트 임계값(TABS)의 예시적인 그래프(800)에서 우상 사분면(upper right quadrant)(810)으로 도시된다. 듀얼(dual) 임계값(절대 임계값과 정규화된 임계값)을 사용하는 것이 일반적으로 절대 콘트라스트 임계값을 사용하는 기존의 접근법과 일반적으로 상이하다. 듀얼 콘트라스트 임계값의 이익은, 예시적으로, 이미지가 관심 에지들을 포함하는 어두운 세기 구역과 밝은 세기 구역을 모두 포함할 때, 명확하다. 이미지의 어두운 구역에서 에지를 검출하기 위해서는, 낮은 콘트라스트 임계값을 설정하는 것이 바람직하다. 그러나, 이러한 낮은 콘트라스트 설정은 이미지의 밝은 부분에서는 잘못된 에지를 검출할 수 있다. 역으로, 이미지의 밝은 구역에서 잘못된 에지를 검출하는 것을 회피하기 위해서는, 높은 콘트라스트 임계값을 설정하는 것이 바람직하다. 그러나, 높은 콘트라스트 설정에서는 시스템이 이미지의 어두운 구역에서 에지를 적절히 검출하지 못할 수 있다. 전통적인 절대 콘트라스트 임계값에 더하여 제2 정규화된 콘트라스트 임계값을 사용하는 것에 의해, 시스템은 어두운 구역과 밝은 구역에서 에지를 모두 적절히 검출할 수 있고, 이미지의 밝은 구역에서 잘못된 에지를 검출하는 것을 회피할 수 있다. 그리하여, 듀얼 콘트라스트 임계값을 사용하는 것을 통해, 의사 에지(spurious edge)를 회피하면서 관련 에지를 검출할 수 있는 것에 의해, 전체 프로세스에서 후속 라인을 발견하는 단계의 속력과 강력함(robustness)을 최대화하는 기능을 한다. In particular, when the absolute contrast and the normalized contrast of a point exceed both of each threshold, only this point is considered as a candidate edge point. This is shown as an upper
절차 단계(350)(도 3)를 더 참조하면, 모든 에지점들이 추출되면, 이들 에지점들은 후속 라인-파인더들이 동작하기에 편리한 데이터 구조로 표현되고 저장된다. 예를 들어, 다음 집합(tuple), 즉 : With further reference to procedure step 350 (Fig. 3), once all edge points are extracted, these edge points are represented and stored in a data structure convenient for subsequent line-finders to operate. For example, the following tuple:
p = (x,y,gx,gy,gm,go,I,gm/I,m,n)로 표현되는데,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은 이미지 색인(index)이고, n은 사영 구역 색인이다. 표준 캘리퍼 도구에서와 같이 에지점의 위치는 정확성을 개선하기 위해 내삽될 수 있다. Where (x,y) is the position of the edge point, (g x ,g y ) is the value of each x-gradient and y-gradient projection, and (g m ,g o ) is from (g x ,g y ) Is the calculated gradient size and orientation, I is the intensity at the edge point position, g m /I is the intensity-normalized contrast obtained by dividing the gradient size (g m ) by the intensity (I), and m is Is the image index, and n is the projected area index. As in a standard caliper tool, the position of the edge point can be interpolated to improve accuracy.
일반적으로 에지점을 추출하는 프로세스는, 예상된 라인 각도와 실질적으로 매칭(match)하는 단일 방향으로 구배장 사영을 실행하도록 동작하는 것으로 이해된다. 그리하여 도구는 이 각도의 에지에 가장 민감하고, 그 감도는 다른 각도의 에지에서는 점진적으로 떨어지고, 여기서 떨어지는 율은 구배장 사영 길이를 간접적으로 결정하는 입도 설정에 의존한다. 그 결과, 이 프로세스는, 사용자에 의해 지정된 각도 범위에 따라, 예상된 라인 각도"부근(near)"의 각도를 갖는 라인을 발견하는 것으로 제한된다. 이 프로세스는 직교가 아닌 라인을 발견하도록 적응된 것이지만, 이 프로세스는 여러 실시예에서 직교 방향을 포함하는 다수의 방향으로 사영을 수행하는 것에 의해 360도에 걸쳐 임의의 각도 라인을 발견(전방향 라인을 발견)하도록 일반화될 수 있는 것으로 고려된다. It is generally understood that the process of extracting an edge point operates to perform a gradient field projection in a single direction that substantially matches the expected line angle. Thus, the tool is most sensitive to the edge of this angle, and its sensitivity gradually drops at the edge of the other angle, and the rate at which it falls depends on the grain size setting, which indirectly determines the gradient field projection length. As a result, this process is limited to finding lines with an angle of "near" the expected line angle, according to the angle range specified by the user. While this process is adapted to find lines that are not orthogonal, this process in several embodiments finds any angular line over 360 degrees by performing projections in multiple directions, including orthogonal directions. It is considered that it can be generalized to find).
이제 절차(300)(도 3)에서 단계(360)를 참조하면, 임계값을 넘는 에지점 후보들이 예시적인 실시예에 따라 라인-파인더에 제공된다. 예를 들어, 라인-파인더는 재귀적으로(recursively) 동작하고, (예를 들어) RANSAC(RANdom SAmple Concensus)-기반 기술을 사용한다. 또한 도 9에 있는 라인-발견 절차(900)를 참조한다. 단계(910)에서, 사용자는, (예를 들어) GUI를 통해 예상된 각도, 각도 공차, 거리 공차, 및 (예시적으로) (일반적으로 아래에 한정된) 최소 커버리지 스코어와 함께 이미지에서 예상된 라인의 최대 개수를 지정한다. 이 파라미터는 다음 프로세스를 동작시키기 위해 라인-파인더에 사용된다. 이 라인은 RANSAC 라인 파인더를 재귀적으로 실행하는 것에 의해 이미지의 각 서브구역에 대해 발견되고, 하나의 단계로부터 에지점 이상치들은 그 다음 단계의 입력점이 된다. 따라서, 단계(920)에서, 절차(900)는, 에지-발견 프로세스에서 극단값으로 식별된 에지점들의 그룹의 일부인 한 쌍의 에지점을 선택한다. 절차(900)는 모델 라인과 일치하는 (선택된 공차 범위 내에서) 매칭 구배 값들에 기초하여 모델 라인을 선택된 에지점들에 맞추는 시도를 한다. 단계(924)에서, 단계(922)로부터의 하나 이상의 라인 후보(들)가 리턴된다. 각 라인-발견 단계는 후보 라인, 그 정상치 및 이상치를 리턴한다. 리턴된 라인(들)은 라인 후보와 일치하는 위치와 구배를 구비하는 정상치 에지점들에 대해 연산을 받는다(단계 926). 단계(928)에서, 최대 정상치 카운트를 갖는 후보 라인이 식별된다. 전술된 라인-발견 단계(단계 920-928)는 허용된 RANSAC 반복의 최대 개수에 도달될 때 종료한다(판정 단계 930). 각 라인-발견 단계 내 반복의 최대 개수는 사용자에 의해 지정된 보장 레벨(assurance level)과, 이상치의 내부적으로 연산된 최악의 경우의 비율을 자동적으로 사용하여 연산된다. 각 라인 발견 단계는, 사용자-지정된 맞춤 공차, 기하학적 제약 및 극성에 따라, 모든 반복들 중에서 최대 개수의 캡처된 에지점들을 갖는 라인을 리턴한다. 각 에지점은 단일 라인의 정상치 리스트에만 할당될 수 있고, 각 라인은 각 사영 구역으로부터 기껏 하나의 에지점만을 포함하도록 허용된다. 그 위치와 함께 에지점의 구배 배향은 에지점이 후보 라인의 정상치 리스트에 포함되어야 할지 여부를 결정하는데 사용된다. 특히, 에지점들은 후보 라인의 각도와 일치하는 구배 배향을 구비하여야 한다. Referring now to step 360 in procedure 300 (FIG. 3), edge point candidates above the threshold are provided to the line-finder according to an exemplary embodiment. For example, line-finders operate recursively and use (for example) RANSAC (RANdom SAmple Concensus)-based technology. See also line-
판정 단계(930)가 더 많은 반복이 허용되는 것으로 결정하면, 최상의 정상치 후보로부터 이상치가 라인 후보를 발견하는데 사용하기 위해 RANSAC 프로세스(단계 920)로 리턴된다(단계 940). If
각 RANSAC 반복 동안, 상이한 사영 구역에 속하는 2개의 에지점들이 랜덤하게 선택되고, 이 2개의 점들에 맞는 라인이 있을 수 있다. 그 결과로 생긴 후보 라인은, 후보 라인의 각도가 한 쌍의 점에서 두 에지들의 구배 각도와 일치하는 경우에만 그리고 라인의 각도가 사용자가 지정한 불확정성 범위와 일치하는 경우, 추가적인 고려를 받는다. 일반적으로, 에지점의 구배 방향은 공칭적으로 직교하지만, 사용자-구성된 각도 공차만큼 상이한 것이 허용된다. 후보 라인이 이들 초기 테스트를 통과하는 경우, 정상치 에지점들의 수가 평가되고, 만약 통과하지 못하면, 새로운 RANSAC 반복이 개시된다. 에지점은, 그 구배 방향과 위치가 사용자가 지정한 구배 각도와 거리 공차에 기초하여 라인과 일치하는 경우에만, 후보 라인의 정상치로 고려된다. During each RANSAC iteration, two edge points belonging to different projection zones are randomly selected, and there may be a line that fits these two points. The resulting candidate line is subject to additional consideration only when the angle of the candidate line coincides with the draft angle of the two edges at a pair of points, and when the angle of the line coincides with the uncertainty range specified by the user. In general, the draft direction of the edge point is nominally orthogonal, but different by a user-configured angular tolerance is allowed. If the candidate line passes these initial tests, the number of normal edge points is evaluated, and if not, a new RANSAC iteration is initiated. The edge point is considered as a normal value of the candidate line only when the gradient direction and position coincide with the line based on the gradient angle and distance tolerance specified by the user.
RANSAC 반복이 최대값에 도달하면(판정 단계 930), 최상으로 발견된 라인 후보의 정상치들이 (예를 들어) 최소 제곱 회귀(least squares regression) 또는 다른 허용가능한 근사 기술을 사용하여 개선된 라인 맞춤을 받고, 정상치들의 개수가 더 증가하거나 또는 감소하지 않을 때까지, 이 단계를 최대 N회(예를 들어 3회 이상) 반복하여 정상치 에지점들의 세트를 재평가한다(단계 960). 이것은 단계(970)에서 발견된 것으로 지시된 라인이다. When the RANSAC iteration reaches its maximum value (decision step 930), the best found line candidate's normal values (e.g.) use least squares regression or other acceptable approximation techniques for improved line fit. And, until the number of normal values further increases or does not decrease, this step is repeated at most N times (eg, 3 or more times) to re-evaluate the set of normal value edge points (step 960). This is the line indicated in
판정 단계(980)는 더 많은 라인이 ((예를 들어) 추가적인 서브 구역 또는 다른 기준을 검색하는데 기초하여) 발견될지 여부를 결정하고, 만약 발견된다면, 프로세스는 단계(920)로 되돌아가서, 새로운 세트의 에지점에 대해 동작한다(단계 982). 점들이 전체에 걸쳐 다 수행되었거나 또는 최대 반복 카운트에 도달되었다면, 절차(900)는 단계(990)에서 이미지에서 (즉, 다수의) 발견된 라인의 세트를 리턴한다.
다중-라인 파인더는, 2개의 라인 결과가 검사 구역에서 서로 교차하는 경우에, 기존의 결과를 최종적으로 조절하도록 적응된다. 일반적으로 도 10 및 도 11에 도시된 바와 같이, 근접 이격된 평행한 라인(1010 및 1020)들에 대해, RANSAC 절차의 통계적 특성으로 인해 종종 에러 있는 라인 결과(즉 도 10)가 획득될 수 있다. 그러나, 이러한 에러가 일어날 때, 정상치의 점 그룹을 교환하는 것(도 11에서 그룹(1110) 내 화살표 1120)에 의해 종종 증가된 커버리지 스코어와 감소된-맞춤 잔류값(fit residual)을 갖는 정확한 라인을 찾을 수 있다. 점을 교환하는 것은, 이미지가 도시된 바와 같이 근접 이격된 평행한 라인들을 포함할 때, 가장 효과적일 수 있다. 역으로, 이미지가 도 12 및 도 13에 도시된 바와 같이 실제 서로 교차하는 라인(1210)과 라인(1220)을 포함할 때, 커버리지 스코어가 점을 교환한(도 12에서 그룹(1240) 내 화살표 1230) 후 감소되는 경우, 교환하기 전에 획득된 원래의 결과가 프로세스에 의해 교차하는 라인들을 성공적으로 검출하기 위해 유지된다. The multi-line finder is adapted to finally adjust the existing results in case the two line results intersect each other in the inspection area. In general, for closely spaced
RANSAC 절차는 라인-파인더가 점들을 라인으로 맞출 수 있는 여러 기술 중 하나인 뿐이라는 것으로 이해된다. 대안적인 실시예에서, 후보 점들은 이들 점들 사이에 설정된 변위에 따라 선택될 수 있고, 또는 이미지는 (예를 들어) 전수 검색 기술(exhaustive search technique)을 사용하여 처리될 수 있다. 따라서, 본 명세서에 사용된 바와 같이 RANSAC 기술이라는 언급은 여러 유사한 점-맞춤 기술을 포함하는 것으로 넓게 해석되어야 한다. It is understood that the RANSAC procedure is only one of several techniques by which the line-finder can fit points into lines. In an alternative embodiment, candidate points may be selected according to the displacement established between these points, or the image may be processed using (eg) an exhaustive search technique. Thus, reference to RANSAC technology as used herein is to be broadly interpreted as including several similar point-to-measure techniques.
이 시스템 및 방법의 추가적인 기능이 제공될 수 있다. 이들 기능은 혼합된-극성을 지원하는 것, 사영 구역 폭을 자동 연산하는 것, 다중-뷰 라인 발견을 지원하는 것, 및 입력 이미지에서 미리-뒤틀림(pre-warpage)을 제거하여 광학적 왜곡을 제거하는 것을 포함한다. 이들 기능은 아래에서 더 설명된다. Additional functionality of this system and method may be provided. These features support mixed-polarity, automatically compute projected area widths, support multi-view line discovery, and eliminate optical distortion by removing pre-warpage from the input image. Includes doing. These functions are further described below.
도 14 내지 도 16의 예를 더 참조하면, 예시적인 실시예의 라인-발견 시스템 및 방법은 발견된 에지들 사이에 콘트라스트에 대한 표준 밝은에서-어두운으로의 극성, 어두운에서-밝은으로의 극성, 및 어느 하나의 극성 설정을 (각각) 일반적으로 지원한다. 나아가, 이 시스템 및 방법은 밝은에서-어두운으로의 극성 및 어두운에서-밝은으로의 극성 특성이 동일한 라인에 모두 보이는 혼합된-극성 설정(도 17)을 더 지원할 수 있다. 모두 4개의 설정의 라인-발견 결과는 다음 도면에서 도시된다. 예시적인 실시예에서, 이 시스템 및 방법은 반대 극성의 에지점들을 포함하는 단일 라인을 발견할 수 있는 혼합된-극성 설정을 포함할 수 있다. 이것은 단일 라인의 모든 에지점들이 어느 하나의 극성이지만 - 단 하나의 극성인"어느 하나의" 극성만을 구비하는 종래의 설정과는 상이하다. 혼합된-극성 설정은, 다른 적용 중에서 (예를 들어) 교정 판의 밝은 체커보드와 어두운 체커보드를 분석하는데 사용될 때 유리할 수 있다. With further reference to the example of FIGS. 14-16, the line-discovery system and method of the exemplary embodiment includes a standard light-to-dark polarity, a dark-to-bright polarity for contrast between the found edges, and Either polarity setting is generally supported (respectively). Furthermore, this system and method can further support a mixed-polarity setup (FIG. 17) where the light-to-dark polarity and dark-to-bright polarity characteristics are both visible on the same line. The line-discovery results of all four settings are shown in the following figure. In an exemplary embodiment, this system and method may include a mixed-polarity setting that can find a single line containing edge points of opposite polarity. This is different from the conventional setup where all the edge points of a single line are of either polarity-but only one polarity, "any one" polarity. A mixed-polarity setting can be advantageous when used to analyze the bright and dark checkerboards of the calibration plate (eg) among other applications.
사용자는 라인을-발견하는 개선된 시프트 불변성(shift invariance)을 선택할 수 있다. 이러한 경우에, 에지점 추출기는 실질적으로 오버랩된 사영 구역을 사용하여 결과 안정성을 개선시킨다. 구역들이 오버랩하지 않는 경우, 고려되는 픽셀들은 이미지가 시프트될 때 사영 구역으로부터 잠재적으로 이동하여, 그 결과, 라인-발견 결과에 불량한 시프트 불변성을 초래할 수 있다. 오버랩된 사영 구역들은 고려되는 픽셀들이 사영 구역들에 의해 연속적으로 커버되는 것을 보장한다. 오버랩된 사영 구역들이 사용된 경우, 증분적 연산을 수행하여 가능한 낮은 레벨의 최적화와 함께 속력을 유지할 수 있다. The user can select an improved shift invariance to find the line. In this case, the edge point extractor substantially improves the resulting stability by using overlapping projection areas. If the zones do not overlap, the pixels under consideration may potentially move out of the projected zone when the image is shifted, resulting in poor shift invariability in the line-discovery result. The overlapped projection zones ensure that the pixels under consideration are continuously covered by the projection zones. If overlapping projected areas are used, incremental operations can be performed to maintain speed with as low a level of optimization as possible.
사용자는 라인 특징부에 대한 분석으로부터 취득된 이미지 및/또는 이미징된 표면의 특정 부분들을 생략하는 마스크를 제공할 수 있다. 이것은 표면이 관심이 없는 알려진 라인 특징부(예를 들어, 라인들이 발견되는 작업과 관련이 없는 다른 메커니즘, 텍스트, 및 임의의 다른 구조에 의해 분석되는 바코드)를 포함하는 경우 바람직할 수 있다. 따라서, 에지점 추출기는, 이미지에서 "관심 없는(don't care)" 구역이 마스킹아웃(masked out)될 수 있고, "관심"구역이 마스킹인(masked in)되는 이미지 마스킹을 지원할 수 있다. 이러한 마스킹이 일어나는 경우, 발견된 라인들의 커버리지 스코어들은 마스크 내에 있는 에지점들의 수에 따라 예시적으로 재가중된다. The user may provide a mask that omits certain portions of the imaged surface and/or images obtained from analysis of the line features. This may be desirable if the surface contains known line features of no interest (eg, barcodes that are analyzed by other mechanisms, text, and any other structure not related to the operation in which the lines are found). Thus, the edge point extractor can support image masking in which “don't care” areas in the image can be masked out, and “interesting” areas are masked in. When this masking occurs, the coverage scores of the found lines are exemplarily reweighted according to the number of edge points in the mask.
도 18의 예시적인 이미지 구역(1800)을 참조하면, 도 18은 이미지 마스크들이 존재할 때 커버리지 스코어들과, 이러한 커버리지 스코어들에 대한 이미지 마스킹의 효과를 도시한다. 에지점 추출기는 이미지에서 "관심 없는 구역"이 마스킹아웃될 수 있는 이미지 마스킹을 지원한다. 도시된 바와 같이, 발견된 라인(1810)은 ("관심" 마스크 구역(1820)에 기초하여) 관심 에지점들로 특성화된다. 이러한 관심 에지점들은 라인(1810)으로의 관심 에지점 정상치(1830)와 라인(1810)으로의 관심 에지점 이상치(1840)로 구성된다. 라인(1810)에서 관심 없는 에지점(1850)들은 이 예에 도시된 바와 같이 마스크의 관심 구역(1820)들 사이에 존재하고, 이 관심 없는 에지점들이 정상치로 라인에 존재하는 경우에도 커버리지 스코어 연산에 포함되지 않는다. 라인(1810)을 따라 에지점들의 잠재적인 위치(1860)가 도시된 바와 같이 또한 결정된다. 이 잠재적인 위치는 발견된 점들의 간격에 기초하여 예측가능한 간격으로 알려진 점들 사이에 위치된다. 예시적으로, 발견된 라인들의 커버리지 스코어들은 마스크 내에 있는 에지점들의 수에 따라 재가중된다. 그리하여 커버리지 스코어는 다음과 같이 변경된다: Referring to the
커버리지 스코어 = 라인에 대한 관심 에지점 정상치의 수/(라인에 대한 관심 에지점 정상치의 수 + 라인에 대한 관심 에지점 이상치 + 에지점들의 관심 잠재적인 위치의 수). Coverage score = number of edge point normals of interest for line/(number of edge point of interest normals for line + number of edge point of interest outliers for line + number of potential positions of interest of edge points).
본 명세서에서 시스템 및 방법에 따른 라인-발견 프로세스를 실행한 후, 발견된 라인들은 ((예를 들어) GUI를 통해) 사용자에 의해 지정된 분류 기준에 기초하여 여러 방식으로 분류될 수 있다. 사용자는 정상치 커버리지 스코어, 세기 또는 콘트라스트와 같은 내적(intrinsic) 분류 조치로부터 선택될 수 있다. 사용자는 또한 부호 있는 거리 또는 상대 각도와 같은 외적(extrinsic) 분류 조치로부터 선택할 수 있다. 외적 분류 조치를 사용할 때, 사용자는 발견된 라인들의 외적 조치를 연산하는 기준 라인 세그먼트를 지정할 수 있다. After executing the line-discovery process according to the systems and methods herein, the found lines can be classified in several ways based on the classification criteria specified by the user (for example, through a GUI). The user may be selected from intrinsic classification measures such as normal coverage score, intensity or contrast. Users can also choose from extrinsic classification measures such as signed distance or relative angle. When using the extrinsic classification action, the user can specify a reference line segment to compute the extrinsic action of the found lines.
일반적으로 전술된 바와 같이, 이 시스템 및 방법은 상이한 시야로부터 이미지 벡터를 프로세스로 전달할 수 있는 MFOV(Multi-Field-of-View) 오버로드를 포함할 수 있다. 이미지들은 교정에 기초하여 공통 클라이언트 좌표 공간에 모두 있어야 한다. 전술된 바와 같이, 이 기능은 다수의 카메라가 단일 부분의 부분 영역들을 캡처하는데 사용되는 응용 시나리오에서 극히 유리할 수 있다. 에지점들은 구배 정보를 유지하기 때문에, (두 FOV에서의 구배들이 각 FOV에서 주어진 라인 배향과 정렬에 매칭할 때) 시야에 있는 갭들 사이에 사영된 라인 특징부들은 여전히 분석될 수 있다. As generally described above, this system and method may include a Multi-Field-of-View (MFOV) overload that can transfer image vectors from different fields of view to the process. Images should all be in a common client coordinate space based on calibration. As mentioned above, this function can be extremely advantageous in application scenarios where multiple cameras are used to capture partial regions of a single part. Because the edge points maintain the gradient information, the projected line features between the gaps in the field of view (when the gradients in both FOVs match a given line orientation and alignment in each FOV) can still be analyzed.
특히, 이 시스템 및 방법은, 왜곡이 심각하지 않는다고 가정하면, 비선형 왜곡을 제거하기 위해, (이미지에서) 뒤틀림을 제거할 것을 요구하지 않는다(즉, 이미지가 뒤틀리지 않은 것을 요구하지 않는다). 이미지가 뒤틀리지 않은 경우, 이 시스템 및 방법은 여전히 후보 에지점들을 검출할 수 있고, 비선형 변환을 통해 점의 위치와 구배 벡터를 맵핑할 수 있다. In particular, this system and method does not require removing distortion (in the image) to remove nonlinear distortion (i.e., it does not require that the image is not distorted), assuming that the distortion is not severe. If the image is not distorted, the system and method can still detect candidate edge points and map the position of the point and the gradient vector through nonlinear transformation.
이 시스템 및 방법 및 여러 대안적인 실시예/개선에 따라 제공된 라인-파인더는 여러 조건 하에서 다수의 라인 특징부를 결정하는 효과적이고 강력한 도구인 것이 분명하다. 일반적으로, 이 시스템 및 방법은 라인 특징부를 발견하는데 사용될 때, 이미지에서 발견되는 최대 라인 개수에 특정 제한을 갖지 않는다. 메모리와 연산 시간만이 발견될 수 있는 라인의 개수에 실제적 제한을 준다. It is evident that the line-finder provided according to this system and method and several alternative embodiments/improvements is an effective and powerful tool for determining multiple line features under different conditions. In general, these systems and methods, when used to find line features, do not place any particular limitation on the maximum number of lines found in an image. Only memory and computation time impose a practical limit on the number of lines that can be found.
상기는 본 발명의 예시적인 실시예의 상세한 설명이다. 본 발명의 사상과 범위를 벗어남이 없이 여러 변형과 추가를 할 수 있을 것이다. 전술된 여러 실시예 각각의 특징부는 적절한 경우 다른 설명된 실시예의 특징부와 결합되어, 연관된 새로운 실시예에서 다수의 특징부 조합이 제공될 수 있다. 나아가, 상기는 본 발명의 장치 및 방법의 다수의 별개의 실시예를 설명하지만, 본 명세서에서 설명된 것은 본 발명의 원리의 적용을 단지 예시하는 것이다. 예를 들어, 본 명세서에 사용된 바와 같이 "프로세스" 및/또는 "프로세서"라는 용어는 여러 전자 하드웨어 및/또는 소프트웨어 기반 기능과 성분을 포함하는 것으로 넓게 해석되어야 한다(그리고 대안적으로 기능 "모듈" 또는 "요소"이라고 언급될 수 있다). 나아가, 도시된 프로세스 또는 프로세서는 다른 프로세스 및/또는 프로세서와 결합되거나 또는 여러 서브-프로세스 또는 프로세서로 분할될 수 있다. 이러한 서브-프로세스 및/또는 서브-프로세서는 본 명세서에 개시된 실시예에 따라 여러 방식으로 결합될 수 있다. 또한, 본 명세서에서 임의의 기능, 프로세스 및/또는 프로세서는 전자 하드웨어, 프로그램 명령의 비-일시적인 컴퓨터-판독가능한 매체로 구성된 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있는 것으로 명시적으로 고려된다. 추가적으로, 본 명세서에 사용된 바와 같이 "수직", "수평", "위로", "아래로", "하부", "상부", "측면", "전방", "후방", "좌측", "우측" 등과 같은 여러 방향과 배치 용어는 상대적인 관례로서만 사용된 것일 뿐, 중력의 작용 방향과 같은 고정된 좌표 공간에 대해 절대 방향/배치로 사용된 것이 아니다. 추가적으로, "실질적으로" 또는 "대략"이라는 용어는 주어진 측정값, 값 또는 특성에 사용된 경우, 이 용어는 원하는 결과를 달성하는 정상 동작 범위 내에 있는 양을 말하지만, 이것은 시스템의 내적 부정확성과 허용된 공차 내 에러(예를 들어, 1-5 퍼센트)로 인한 일부 변동을 포함한다. 따라서, 본 설명은 예시적인 것으로만 해석되어야 하고, 본 발명의 범위를 제한하려고 의도된 것이 아니다. The above is a detailed description of an exemplary embodiment of the present invention. Various modifications and additions may be made without departing from the spirit and scope of the present invention. Features of each of the various embodiments described above may be combined with features of other described embodiments, where appropriate, to provide multiple feature combinations in associated new embodiments. Further, while the above describes a number of distinct embodiments of the apparatus and method of the present invention, what has been described herein is merely illustrative of the application of the principles of the present invention. For example, as used herein, the terms "process" and/or "processor" should be broadly interpreted as including various electronic hardware and/or software-based functions and components (and alternatively functional "modules"). May be referred to as "or "element"). Furthermore, the illustrated process or processor may be combined with other processes and/or processors or may be divided into several sub-processes or processors. These sub-processes and/or sub-processors can be combined in several ways according to the embodiments disclosed herein. In addition, in the present specification, any function, process, and/or processor is expressly stated that it can be implemented using electronic hardware, software composed of a non-transitory computer-readable medium of program instructions, or a combination of hardware and software. Is considered. Additionally, as used herein, "vertical", "horizontal", "upward", "down", "lower", "upper", "side", "front", "rear", "left", Several orientation and arrangement terms such as "right" are used only as a relative convention, and are not used as absolute orientations/arrangements for a fixed coordinate space such as the direction of action of gravity. Additionally, the terms "substantially" or "approximately" when used for a given measurement, value, or characteristic, this term refers to an amount within the normal operating range that achieves the desired result, but this is the internal inaccuracies of the system Includes some variation due to errors in tolerance (eg, 1-5 percent). Accordingly, this description is to be construed as illustrative only, and is not intended to limit the scope of the invention.
Claims (23)
라인 특징부를 포함하는 장면의 이미지 데이터를 수신하는 비전 시스템 프로세서로서,
(a) 상기 이미지 데이터로부터 구배 벡터장(gradient vector field)을 연산하는 동작,
(b) 복수의 구배 사영 서브-구역(gradient projection sub-region)들에 걸쳐 상기 구배 벡터장을 사영하는 동작, 및
(c) 사영된 구배 데이터에 기초하여 상기 구배 사영 서브-구역들 각각에서 복수의 에지점(edge point)들을 발견하는 동작을 수행하는 에지점 추출기를 구비하는 비전 시스템 프로세서; 및
상기 이미지로부터 추출된 에지점들과 일치(consistent)하는 복수의 라인을 생성하는 라인-파인더(line-finder)를 포함하는 것을 특징으로 하는 시스템. As a system for finding line features in an acquired image,
A vision system processor that receives image data of a scene including line features, comprising:
(a) calculating a gradient vector field from the image data,
(b) an operation of projecting the gradient vector field over a plurality of gradient projection sub-regions, and
(c) a vision system processor having an edge point extractor that performs an operation of finding a plurality of edge points in each of the gradient projection sub-zones based on the projected gradient data; And
And a line-finder for generating a plurality of lines consistent with edge points extracted from the image.
비전 시스템 프로세서로 장면의 이미지 데이터를 수신하는 단계로서, 상기 데이터는 라인 특징부를 포함하는, 상기 이미지 데이터를 수신하는 단계;
상기 이미지 데이터로부터 구배 벡터장을 연산하는 단계;
복수의 구배 사영 서브-구역에 걸쳐 상기 구배 벡터장을 사영하는 단계;
사영된 구배 데이터에 기초하여 상기 구배 사영 서브-구역들 각각에서 복수의 에지점을 발견하는 단계; 및
상기 이미지로부터 추출된 에지점들과 일치하는 복수의 라인을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.As a method of finding line features in an acquired image,
Receiving image data of a scene with a vision system processor, the data including line features;
Calculating a gradient vector field from the image data;
Projecting the gradient vector field over a plurality of gradient projection sub-regions;
Finding a plurality of edge points in each of the gradient projection sub-zones based on projected gradient data; And
And generating a plurality of lines coincident with the edge points extracted from the image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190049972A KR102402906B1 (en) | 2015-11-02 | 2019-04-29 | System and method for finding lines in an image with a vision system |
Applications Claiming Priority (4)
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 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190049972A Division KR102402906B1 (en) | 2015-11-02 | 2019-04-29 | System and method for finding lines in an image with a vision system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170051369A KR20170051369A (en) | 2017-05-11 |
KR102153962B1 true KR102153962B1 (en) | 2020-09-10 |
Family
ID=58741907
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160145441A KR102153962B1 (en) | 2015-11-02 | 2016-11-02 | System and method for finding lines in an image with a vision system |
KR1020190049972A KR102402906B1 (en) | 2015-11-02 | 2019-04-29 | System and method for finding lines in an image with a vision system |
KR1020220063255A KR102649038B1 (en) | 2015-11-02 | 2022-05-24 | System and method for finding lines in an image with a vision system |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190049972A KR102402906B1 (en) | 2015-11-02 | 2019-04-29 | System and method for finding lines in an image with a vision system |
KR1020220063255A KR102649038B1 (en) | 2015-11-02 | 2022-05-24 | System and method for finding lines in an image with a vision system |
Country Status (2)
Country | Link |
---|---|
JP (2) | JP6463593B2 (en) |
KR (3) | KR102153962B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
DE102016120775A1 (en) | 2015-11-02 | 2017-05-04 | Cognex Corporation | System and method for detecting 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 |
CN113344955B (en) * | 2021-05-25 | 2022-03-18 | 云南凤云高速公路有限公司 | System and method for accurately detecting slope by fuzzy edge |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084221A (en) * | 2011-10-12 | 2013-05-09 | Tottori Univ | Straight line detecting device, straight line detecting method, straight line detecting program, and photographing system |
Family Cites Families (6)
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 |
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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013084221A (en) * | 2011-10-12 | 2013-05-09 | Tottori Univ | Straight line detecting device, straight line detecting method, straight line detecting program, and photographing system |
Also Published As
Publication number | Publication date |
---|---|
KR102402906B1 (en) | 2022-05-26 |
JP6463593B2 (en) | 2019-02-06 |
KR20170051369A (en) | 2017-05-11 |
KR20190050311A (en) | 2019-05-10 |
JP2023120281A (en) | 2023-08-29 |
JP2017090450A (en) | 2017-05-25 |
KR102649038B1 (en) | 2024-03-18 |
KR20220075290A (en) | 2022-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11854173B2 (en) | System and method for finding lines in an image with a vision system | |
KR102649038B1 (en) | System and method for finding lines in an image with a 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 | |
JP7133283B2 (en) | Systems and methods for efficiently scoring probes in images with a vision system | |
JP2024016287A (en) | System and method for detecting lines in a vision system | |
US10074551B2 (en) | Position detection apparatus, position detection method, information processing program, and storage medium | |
Zhang et al. | A new algorithm for accurate and automatic chessboard corner detection | |
US20240078801A1 (en) | System and method for finding and classifying lines in an image with a vision system | |
CN112508925A (en) | Electronic lock panel quality detection method, system, computer device and storage medium | |
WO2023141903A1 (en) | Easy line finder based on dynamic time warping method | |
Pereira et al. | Parallelized automatic false defect detection using GPUs during mask inspection | |
CN116958058A (en) | Lens dirt detection method and device and image detection equipment | |
CN109670519A (en) | Image processing apparatus and image processing method | |
Wedekind et al. | Using generic image processing operations to detect a calibration grid | |
Seth et al. | An Analytic Approach of Edge Detection Gradient Operators [J] |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2019101001458; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20190429 Effective date: 20200512 |
|
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant |