KR20180014677A - 3d 이미지 데이터에서 3d 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법 - Google Patents

3d 이미지 데이터에서 3d 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법 Download PDF

Info

Publication number
KR20180014677A
KR20180014677A KR1020170097847A KR20170097847A KR20180014677A KR 20180014677 A KR20180014677 A KR 20180014677A KR 1020170097847 A KR1020170097847 A KR 1020170097847A KR 20170097847 A KR20170097847 A KR 20170097847A KR 20180014677 A KR20180014677 A KR 20180014677A
Authority
KR
South Korea
Prior art keywords
point cloud
point
runtime
points
camera
Prior art date
Application number
KR1020170097847A
Other languages
English (en)
Other versions
KR102296236B1 (ko
Inventor
호스쳐 앤드류
월랙 아론
와그맨 아담
제이 마이클 데이비드
홍준지아
Original Assignee
코그넥스코오포레이션
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 코그넥스코오포레이션 filed Critical 코그넥스코오포레이션
Publication of KR20180014677A publication Critical patent/KR20180014677A/ko
Application granted granted Critical
Publication of KR102296236B1 publication Critical patent/KR102296236B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 훈련된 모델 3D 점군에 대하여 런타임 3D 점군의 3D 정렬 포즈의 매치 정도를 추정하는 시스템 및 방법을 제공한다. 본 시스템 및 방법은, (a) 3D 카메라의 광학 중심을 수신하는 단계; (b) 상기 훈련된 모델 3D 점군을 수신하는 단계; (c) 상기 런타임 3D 점군을 수신하는 단계; 및 (d) 상기 광학 중심으로부터, 상기 런타임 후보 포즈에서 상기 훈련된 모델 또는 상기 런타임 3D 점군 내의 복수의 3D 점으로 복수의 선분을 구성하는 단계를 포함하는 가시성 체크를 포함하는, 상기 훈련된 모델 3D 점군에 대해 상기 런타임 3D 점군의 후보 포즈의 매치를 스코어링하는 단계를 포함한다. 이에 의해, 상기 시스템 및 방법은 각 선분을 따라 상기 3D 점들의 위치에 기초하여 상기 스코어링 단계에서 상기 3D 점들을 배제시킬지 또는 포함시킬지 여부를 결정한다.

Description

3D 이미지 데이터에서 3D 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법{SYSTEM AND METHOD FOR IMPROVED SCORING OF 3D POSES AND SPURIOUS POINT REMOVAL IN 3D IMAGE DATA}
본 발명은 머신 비전 시스템에 관한 것으로, 더욱 상세하게는 훈련된(trained) 3D 패턴에 대해 3차원(3D) 이미지의 특징(feature)을 식별하고 정렬하는 비전 시스템에 관한 것이다.
본 명세서에서 "비전 시스템"이라고도 언급되는 머신 비전 시스템은 제조 환경에서 다양한 작업을 수행하는 데 사용된다. 일반적으로, 비전 시스템은 제조 중인 객체(object)를 포함하는 장면(scene)의 그레이스케일 또는 컬러 이미지를 취득하는 이미지 센서(또는 "이미저")를 갖는 하나 이상의 카메라 조립체로 구성된다. 객체의 이미지는 사용자 및 관련 제조 프로세스에 데이터/정보를 제공하기 위해 분석될 수 있다. 카메라에 의해 생성된 데이터는 일반적으로 특정 목적으로 구축될 수 있는 하나 이상의 비전 시스템 프로세서 내 비전 시스템에 의해 분석 및 처리되거나, 또는 범용 컴퓨터(예를 들어, PC, 랩탑, 태블릿 또는 스마트폰) 내에서 인스턴스화된(instantiated) 하나 이상의 소프트웨어 애플리케이션(들)의 부분에 의해 분석 및 처리된다.
일반적인 비전 시스템 작업은 정렬 및 검사를 포함한다. 정렬 작업에서, 매사추세츠주 나틱(Natick)에 소재하는 코그넥스사(Cognex Corporation)로부터 상업적으로 이용가능한 잘 알려진 PatMax
Figure pat00001
시스템과 같은 비전 시스템 도구는 장면의 2차원(2D) 이미지 내 특징을 (실제 또는 합성 모델을 사용하여) 훈련된 2D 패턴과 비교하고, 2D 이미징된 장면 내 2D 패턴의 존재/부존재 및 포즈(pose)를 결정할 수 있다. 이 정보를 후속 검사(또는 다른 동작)에서 사용하여 결함을 검색하거나 및/또는 부품의 폐기와 같은 다른 동작을 수행할 수 있다.
비전 시스템을 사용하는 특정 작업은 훈련된 3D 모델 형상에 기초하여 런타임(runtime) 동안 3차원(3D) 타깃 형상을 정렬하는 것이다. 3D 카메라는, 예를 들어, 레이저 변위 센서(프로파일러), 입체 카메라, 수중 음파 탐지기, 레이저 또는 LIDAR 거리 측정 카메라, 비행 시간 센서 및 다양한 다른 수동 또는 능동 거리 감지 기술과 같은 다양한 기술에 기초할 수 있다. 이들 카메라는 (일반적으로 직교하는 x 축과 y 축을 따른 위치로 특징지워지는) 이미지 픽셀의 어레이가 생성된 거리 이미지를 생성하고, 이 거리 이미지는 또한 각 픽셀에 대해 (일반적으로 x-y 평면에 수직인 z 축을 따라 특징지워지는) 제3 (높이) 차원을 더 포함한다. 대안적으로, 이들 카메라는 이미징된 객체의 점군(point cloud) 표현을 생성할 수 있다. 점군은 각 점(i)이 (Xi, Yi, Zi)로 표현될 수 있는 공간 내 3D 점들의 집합이다. 점군은 객체의 뒷면과 측면, 윗면 및 밑면을 포함하는 완전한 3D 객체를 표현할 수 있다. 3D 점(Xi, Yi, Zi)들은 객체가 카메라에 가시적(visible)일 수 있는 공간 내의 위치를 표시한다. 이러한 표현에서 빈 공간은 점이 없는 것으로 표현된다.
비교로서, 3D 거리 이미지 표현(Z(x, y))은 깊이 또는 높이(Z)가 이미지 내 위치(x, y)에서의 밝기/강도(I)일 수 있는 것을 대체하는 2D 이미지 표현(I(x, y))과 유사하다. 단 하나의 깊이만이 임의의 점 위치(x, y)와 관련되기 때문에 거리 이미지는 카메라를 직접 향하는 객체의 전방 면만을 나타낸다. 거리 이미지는 조밀한 표현이지만, (x, y) 위치가 카메라에 의해 관찰되지 않는다는 것을 나타내는 능력을 갖는다. 거리 이미지를 이 기술 분야에 통상의 지식을 가진 자에게 자명한 방법으로 3D 점군으로 변환하는 것이 가능하다.
(또한 취득되거나 합성된) 모델 이미지에 대해 합성 (예를 들어, CAD) 프로세스에 의해 취득되거나 생성된 타깃 이미지를 정렬할 때 하나의 접근법은 타깃 내 3D 점군과 모델 내 3D 점군을 최상으로 매치(matching)하는 포즈를 찾는 노력으로 매치/비교하는 것을 포함한다. 이 비교하는 것은 모델에 대해 타깃의 적용범위(coverage)를 스코어링(scoring)하는 메트릭을 포함하는 하나 이상의 3D 정렬 알고리즘(들)을 사용하는 것을 포함할 수 있다. 임의의 3D 정렬 알고리즘에서, 훈련된 모델이 런타임에서 관찰되는 것보다 부품에서 더 큰 (또는 보다 완전한) 뷰(view)로 구성되는 인스턴스(instance)가 있는데, 예를 들어, 런타임 객체 이미지의 일부분은 시야(field of view: FOV) 밖에 있을 수 있고, 또는 그렇지 않은 경우 예를 들어 자가-폐색으로 인해 차단될 수 있다. 또한, 런타임 장면이 모델보다 더 많은 정보를 포함하는 인스턴스가 있다. 예를 들어, 모델 및 런타임 장면은 모두 하나의 카메라를 사용하여 (각 객체로부터) 취득되었지만, 이 객체는 각 형태가 상이한 배향들로 제공된 경우, 런타임 장면은 모델에 없는 부품의 구역을 포함할 수 있고, 그 역도 또한 같다. 정렬 스코어링 메트릭이 이들 시나리오를 설명하지 못한다면, 이 메트릭은 매치(match)가 실제로 보장하는 것보다 더 낮은 스코어(score)를 계산할 수 있고 이에 후보 포즈(candidate pose)는 폐기될 수 있다. 보다 일반적으로, 이 문제는 솔루션의 단계가 상당한 자가-폐색을 갖는 객체와 정렬해야 하는 응용에 존재하고, 또는 이 문제는, 객체의 전체 360도 뷰를 획득하기 위해 다수의 이미지가 훈련 시간에 융합되지만, 객체의 단 하나의 취득된 이미지만이 런타임에서 정렬을 수행하는데 사용되는 임의의 응용에 존재한다. 또한, 런타임 또는 훈련 시간의 객체 이미지(들) 중 일부는 이미지 센서의 작업 구획(working section)(시야)의 합집합(union) 밖에 있을 수 있다. 이들 조건은 3D 정렬 알고리즘의 적용과 그 결과에 다양한 방식으로 영향을 미칠 수 있다.
본 발명은 런타임 동안 3D 점군의 형태로 취득된 런타임 이미지에서 부분적으로 폐색된(occluded) 객체에 대해 3D 정렬 성능(올바른 정렬 결과(들)를 찾는 성능)을 증가시키는 시스템 및 방법을 제공하는 것에 의해 종래 기술의 단점을 극복한다. 카메라 조립체(즉, 하나 이상의 3D 카메라(들))에 의해 생성된 상기 3D 점군 정보는 (공장 교정으로부터 취득된) 카메라 광학 중심의 위치를 포함하여, 질의 점(query point)과 상기 카메라 조립체를 연결하는 선분이 알려진다. 따라서 질의 점은 다음 상태로 분류될 수 있다: (1) 완전히 가시적인 상태, 이 상태에서 이 점은 상기 카메라 조립체 내의 카메라(들)의 작업 구획(들)의 합집합 내에 있고, 장면에서 취득 시스템이 이 점을 관찰하는 것을 방해하는 다른 점이 없다; (2) 폐색된 상태, 이 상태에서 이 점은 상기 카메라 조립체의 작업 구획들의 합집합 내에 있으나, 장면에서 취득 시스템이 이 점을 관찰하는 것을 방해하는 다른 점이 있다; 및 (3) 작업 구획 밖에 있는 상태, 이 상태에서 이 점은 특정 카메라들의 작업 구획의 합집합 밖에 있어서, 취득 시스템은 장면의 나머지 부분과 무관하게 이 점을 관찰할 수 없다. 매치를 결정하기 위해 3D 점군에 대해 스코어링하는 것은 완전히 가시적인 점들만을 고려하거나, 또는 완전히 가시적인 점들 및 관련 카메라의 작업 구획 밖에 있는 점들만을 고려하는 것에 의해 수행될 수 있다. 이러한 선택은 응용에 따라 사용자에 의해 이루어질 수 있다. 폐색된 작업 점들 또는 완전히 가시적인 작업 점들을 식별하는 것을 통해 시스템은 특정 점들이 스코어링 알고리즘으로부터 배제된 경우 가시성 체크/조정(visibility check/adjustment)에 기초하여 3D 정렬 알고리즘의 적용범위 스코어(coverage score)를 수정할 수 있다.
예시적인 실시예에서, 훈련된 모델 3D 점군에 대하여 런타임 3D 점군의 3D 정렬 포즈의 매치 정도를 추정하는 시스템 및 방법이 비전 시스템에 제공된다. 상기 시스템 및 방법은, 비전 시스템 프로세서로, 가시성 체크를 제공하는 것을 포함하는, 상기 훈련된 모델 3D 점군에 대해 상기 런타임 3D 점군의 후보 포즈의 매치를 스코어링하는 단계를 포함한다. 상기 가시성 체크는 (a) 3D 카메라의 광학 중심을 수신하는 단계; (b) 상기 훈련된 모델 3D 점군을 수신하는 단계; (c) 상기 런타임 3D 점군을 수신하는 단계; 및 (d) 상기 광학 중심으로부터, 상기 런타임 후보 포즈에서 상기 훈련된 모델 3D 점군 또는 상기 런타임 3D 점군 상의 복수의 3D 점으로 복수의 선분을 구성하는 단계를 포함한다. 따라서, 상기 시스템 및 방법은, 각 선분을 따라 상기 3D 점들의 위치에 기초하여, 상기 스코어링에서 상기 3D 점들을 배제시킬지 또는 포함시킬지 여부를 결정한다. 예시적으로, 상기 스코어링은 (a) (예를 들어, 점-대-평면/표면, 점-대-선 또는 점-대-점 메트릭 중 어느 것을 사용하여) 포함된 3D 점들의 합을 형성하는 적용범위 스코어를 계산하는 것, 및 (b) 상기 가시성 체크를 증분적(incrementally)으로 동작시키는 것을 포함하는, 배제된 런타임 3D 점들의 합을 형성하는 클러터 스코어(clutter score)를 계산하는 것을 포함할 수 있다. 상기 가시성 체크는 인접성 테스트(adjacency test)에 기초하여 상기 3D 점들이 가시적인지 여부를 테스트하는 것에 의해 수행될 수 있다. 대안적으로 상기 가시성 체크는 점-대-표면-메시 테스트에 기초하여 상기 3D 점들이 가시적인지 여부를 테스트하는 것에 의해 수행될 수 있다. 예시적으로, 상기 테스트는 SIMD 머신-가속 하드웨어(즉, 숨겨진-라인 제거 그래픽)로 수행될 수 있다. 상기 가시성 체크는 거리 이미지에 기초하여 수행될 수 있다. 상기 3D 카메라는 상기 비전 시스템 프로세서에 상호 연결된 복수의 3D 카메라를 갖는 3D 카메라 조립체의 일부일 수 있다. 상기 런타임 3D 점군은 적어도 2개의 상기 3D 카메라에 의해 이미징된 객체로부터 취득될 수 있고, 여기서 상기 객체의 일부는 상기 적어도 2개의 3D 카메라 각각의 작업 구획 내에서 이미징된다. 상기 런타임 3D 점군은 또한 상기 3D 카메라의 작업 구획 내에서 자가-폐색된(self-occluded) 객체로부터 취득될 수 있다.
이하의 본 발명의 설명은 첨부된 도면을 참조한다:
도 1은 훈련 동안 또는 런타임 동안 하나 이상의 객체의 이미지를 취득하는 하나 이상의 3D 카메라 조립체를 포함하는 비전 시스템을 도시하는 도면이고, 여기서 예시적인 객체들 중 적어도 하나는 부분적으로 시야 밖에 있거나 그렇지 않은 경우 가려져 있고 또 객체의 다른 부분에는 결함이 있다;
도 2는 예시적인 실시예에 따라 런타임 객체 3D 점군이 부분적으로 폐색된 것을 처리하기 위해 가시성 체크/조정 프로세스를 포함하는, 훈련된 모델 및 런타임 객체의 3D 점군을 정렬하는 예시적인 전체 절차의 흐름도이다;
도 3은 도 2의 절차에 따른 가시성 체크/조정 프로세스의 흐름도이다;
도 4는 훈련 시간 동안 제공된 도 2의 절차에 따라 정렬될 객체의 전체 모델을 포함하는 예시적인 3D 점군을 도시하는 도면이다;
도 5는 훈련된 모델에 대해 패턴이 부분적으로 폐색된 것을 포함하는, 런타임 동안 제공된 객체의 예시적인 3D 점군의 다이어그램이다;
도 6은 최상의 매치를 형성하기 위해 런타임 3D 점군 및 모델 3D 점군을 정렬하여 오버랩한 것을 도시하는 도면이고, 여기서 (런타임 부분에 대해 폐색이 존재하는 것 등으로 인해) 모델 3D 점군의 일부가 누락되어 있다;
도 7은 도 3의 가시성 체크/조정 프로세스를 나타내는 도면이고, 여기서 런타임 3D 점군 상의 질의 점은 완전히 가시적인 것으로 식별되고 적용범위 스코어 내에 포함된다;
도 8은 도 3의 가시성 체크/조정 프로세스를 나타내는 도면이고, 여기서 모델 3D 점군 상의 질의 점은 폐색된 것으로 식별되고 적용범위 스코어로부터 배제된다; 및
도 9는 도 3의 예시적인 가시성 체크/조정 프로세스에 따라 복셀 격자 접근법(voxel grid approach)을 사용하여 질의 점을 폐색된 것으로 분류하거나 완전히 가시적인 것으로 분류하는 기술을 나타내는 도면이다.
도 1은 이산 3D 카메라(120, 122)들을 가진 하나 이상의 3D 비전 시스템 카메라 조립체의 작업 공간 또는 시야(FOV) 내에서 이미징되는 하나 이상의 객체(110, 112)의 특징을 검사 및/또는 분석하는데 사용되는 머신 비전 시스템 배열(본 명세서에서 "비전 시스템"이라고도 언급됨)(100)을 도시한다. 본 설명은 이후 예시적인 카메라(120)만을 언급하지만, 전체 카메라 조립체는 복수의 추가적인 카메라(예를 들어, 파선으로 도시된 카메라 조립체(122))를 포함할 수 있음을 주목해야 한다. 이들 카메라는 전체 비전 시스템 프로세스(프로세서)(150, 아래에서 더 설명됨)와 상호 연결될 수 있다. 각 3D 카메라(120, 122)는 임의의 허용 가능한 구성 요소 배열일 수 있고, 일반적으로 각 렌즈 조립체(121), 및 CCD 또는 CMOS와 같은 임의의 허용 가능한 이미징 기술에 기초하여 이미지 센서(또는 "이미저")(S)를 수용하는 카메라 몸체(124)를 포함한다. 이미저(S)는 그레이 스케일 또는 컬러로 장면을 감지하도록 적응될 수 있는 이미지 픽셀의 어레이에서 (예를 들어, 카메라의 좌표계(128)의 각 xi 축 및 yi 축을 따라) 1 차원 또는 2 차원의 이미지를 획득하도록 배열될 수 있다. 카메라 조립체(120)는 각 객체(110 및 112)의 표면의 3D "거리 이미지"를 구성하는 제3의 직교하는 차원(예를 들어, 각 zi 축을 따른 높이)을 결정하도록 더 적응된다. 다양한 기술이 각 이미지 픽셀 (pixel)에 대해 높이 데이터를 생성하는데 사용될 수 있다. 대안적으로, 3D 비전 시스템 카메라 조립체는 적절한 카메라 기능 및 설정을 사용하여 3D 점들의 집합(점군)을 직접 취득할 수 있다. 도 1에 도시된 예에 추가하여, 1개 또는 2개의 카메라, 보다 많은 수의 카메라(예를 들어, 3개 이상의 카메라)가 전체 3D 카메라 조립체 배열에 사용될 수 있고, "3D 카메라 조립체"라는 용어는 객체 표면의 3D 점군 또는 거리 이미지 표현을 생성하기 위한 하나 이상의 이산 3D 카메라의 전체 배열을 설명하는데 본 명세서에서 대안적으로 사용될 수 있다는 것을 주목해야 한다.
도시되지는 않았지만, 3D 거리 이미지 또는 점군을 생성하는데 사용되는 3D 카메라 조립체의 일 예시적인 유형은 레이저 변위 센서이며, 이 레이저 변위 센서는 (예를 들어, x-축 방향에 걸쳐 배향된) 라인을 형성하기 위해 객체 표면에 레이저 광의 팬(fan)을 투사하고, 조명 팬의 평면과 각 이미저의 광축(OA) 사이의 상대적 각도(예각)에서 투사된 라인으로부터 레이저 변위 센서의 이미저(S)에서 반사된 광을 수신한다. 설명된 바와 같이, 예를 들어, LIDAR, 구조화된 광 시스템, 비행 시간 센서, 입체 비전 시스템(예를 들어, 한 쌍의 이격된 카메라(120 및 122)), DLP 계측 등을 포함하는 다른 양식들을 사용하여 거리 또는 높이 정보를 생성할 수 있다. 이들 시스템은 모두 높이 값(예를 들어, z-좌표)을 픽셀에 제공하는 이미지를 생성한다.
통상적인 배열에서, 3D 카메라(120) 및/또는 객체(110)는, 객체 표면이 레이저 변위 센서(들)에 의해 스캐닝되고, - 일반적으로 움직임 정보(140)를 시스템 비전 프로세서(150, 이하에 설명됨)에 전달하는 움직임 제어기 및 관련 엔코더 또는 다른 움직임-측정 디바이스와 관련하여 - 원하는 공간 간격으로 (또는, 대안적으로, 시간 기반 간격으로) 레이저 라인의 이미지 시퀀스가 취득되도록 (예를 들어, 하나 이상의 카메라의 물리적 y 축 좌표 방향으로) 상대적 운동을 할 수 있다. 이 점에서, 움직임 방향을 따른 객체 상의 한 점의 위치는 좌표(Yi)로 한정된다. 3D 카메라 조립체에 의해 취득된 점(Xi, Yi, Zi)들의 집합은 점군으로 형성된다. 비행 시간 센서 3D 카메라를 갖는 것과 같은 다른 배열에서는 상대적인 움직임이 필요치 않다.
카메라 몸체(124)는 관련된 비전 프로세스를 동작시키는 비전 시스템 프로세서(150)를 구성하는 다양한 이미지 처리 구성 요소를 포함할 수 있다. 비전 프로세서(150)는 장면 및/또는 다른 소스(예를 들어, 모델의 CAD 표현)의 취득된 이미지에 기초하여 이미지 데이터(142)에서 동작하고, 비전 시스템 도구 및 프로세스(152)를 사용하여 취득된 이미지로부터 정보를 추출할 수 있다. 이러한 정보는 이미지 내에 보이는 관심 있는 특징 및 다른 항목과 관련될 수 있다 - 예를 들어, 매사추세츠주 나틱에 소재하는 코그넥스사로부터 이용가능한 잘 알려진 PatMax
Figure pat00002
와 같은 비전 시스템 도구는 이미지 내 2D 및 3D 특징을 분석하고, 상대적 포즈, 정렬 및 다른 상세 - 예를 들어, 에지, 얼룩 등에 대한 정보를 제공하는데 사용될 수 있다. 비전 시스템 프로세스의 일부 또는 전부가 카메라 조립체(120)의 몸체(124) 내에서 인스턴스화될 수 있지만, 프로세스의 일부 또는 전부는 적절한 사용자 인터페이스(마우스/키보드)(162) 및/또는 디스플레이(164)(예를 들어, 터치 스크린)를 갖는 특정 목적 프로세서 또는 범용 목적 컴퓨터(예를 들어, 서버, PC, 랩탑, 스마트폰, 태블릿 등)와 같은 상호 연결된(유선 또는 무선) 컴퓨팅 디바이스/프로세서(160)에 의해 수행될 수 있음이 명백히 고려된다. 상호 연결된 컴퓨팅 디바이스/프로세서(160)는 객체/정렬(168)에 관한 처리된 이미지 정보를 사용하여 통신 링크(166) 또는 다른 인터페이스 장치를 통해 추가적인 응용 프로세스 또는 작업을 수행할 수 있다. 예를 들어, 비전 시스템이 검사 작업을 수행하는 경우 이 정보를 사용하여 데이터베이스에 품질 제어 정보를 제공하거나 또는 생산 라인에서 결함 부품을 폐기할 수 있다.
훈련 프로세스(프로세서) 또는 모듈(154)은 런타임 (타깃) 객체의 런타임 3D 거리 이미지 또는 점군 이미지로부터 발견된 특징과 모델의 정렬을 용이하게 하는 특징을 형성하는 3D 거리 이미지 또는 점군 데이터로 구성된 하나 이상의 3D 모델/표현의 훈련 및 저장을 처리한다. 훈련된 모델(들)은 객체의 전체 뷰, 특정 객체의 상이한 부분 또는 배향, 및/또는 다수의 객체에서 발견된 특징을 포함할 수 있다.
예시적인 실시예에서, 비전 프로세스 및 프로세서(150)는 모델의 특징과 런타임 (타깃) 3D 이미지의 특징을 정렬시키려고 하는 적절한 정렬 알고리즘(또는 프로세스)을 사용하는 정렬 프로세스(프로세서) 또는 모듈(156)을 포함한다. 정렬 프로세스(프로세서)(156) 및 훈련 프로세스(프로세서)(154) 각각은 런타임 3D 점군의 자가-폐색된 포즈에 대한 가시성 체크를 수행하는 3D 정렬 가시성 프로세스(프로세서) 또는 모듈(158)과 상호 작용한다. 이를 통해 3D 정렬이 기초하는 적용범위 및/또는 클러터 스코어를 수정할 수 있다.
도 2의 절차(200)를 참조하면, 시스템은 단계(210)에서 일반적으로 하나 이상의 각 3D 점군(들)으로 형성된 하나 이상의 3D 훈련 이미지를 제공한다. 절차(200)는 런타임 장면에서 훈련된 모델 패턴의 위치를 향한다. 시스템 및 관련 절차(200)의 동작 동안, 복수의 후보 포즈가 생성된다. 각 후보는 장면에서 훈련된 모델 패턴의 가능한 위치이다. 목표는 각 후보에 대해 (즉, 비-제한적인 예로서 정규화된) 0.0 내지 1.0의 수치 스코어 또는 값을 할당하는 것이고, 여기서 0.0은 최악의 가능한 매치이고 1.0은 최상의 가능한 매치이다.
훈련 모델 이미지는 실제 객체로부터 취득될 수 있거나 또는 합성 이미지로 형성될 수 있는데, - 예를 들어, 하나 이상의 관점으로부터 객체의 CAD 표현으로 형성될 수 있다. 일반적으로, 훈련된 모델 패턴은 시스템에 의해 3D 정렬 절차를 실행하는 동안 사용된 보조 데이터 구조 세트와 함께 사용자가 찾으려고 하는 3D 데이터 구조(예를 들어, 점군)의 형태이다. 이 예에서 훈련된 모델 패턴은 다수의 뷰를 통합하는 취득 시스템 또는 CAD로부터 객체의 전체 뷰를 형성한다. 이 예시적인 모델(410)은 도 4에 도시된다.
단계(220)에서, 절차(200)는 하나 이상의 런타임 객체(들)의 이미지 데이터를 포함하는 하나 이상의 런타임 3D 점군을 취득한다. 도 1에 도시된 바와 같이, 예시적인 객체(110 및 112)들 각각은 카메라 조립체(120)가 정렬 절차에 잠재적으로 영향을 미칠 수 있는 불완전한 이미지를 이미징하는 인스턴스를 나타낸다. 보다 구체적으로, 객체(110)는 카메라의 (카메라 광학계(121)를 향해 상방으로 가면서 가늘어지는 일반적으로 피라미드 형상으로 형성된) 작업 구획(170) 내에 완전히 존재하지만, 런타임 객체의 누락 부분(174)의 형태로 실제 결함(172)(파선으로 도시됨)을 포함한다. 검사 환경에서 이러한 객체는 폐기된다. 역으로, 완전하고 결함이 없는 객체(112)는 부분적으로 카메라(120)의 작업 구획 밖에 있거나 또는 그렇지 않은 경우 (일부분(174)이 작업 구획(170)의 경계 밖에 있게) 폐색되도록 이미징된다. 이 부분(174)은 카메라(122)의 작업 구획(176)(파선으로 도시됨) 내에 있는 것임을 주목해야 한다.
보다 구체적으로, 도 5를 참조하면, 런타임 장면의 일 예가 도시되어 있다. 이 이미지는 상이한 포즈들의 훈련된 패턴과 유사한 객체(510)의 0 또는 그 이상의 인스턴스를 포함하는 또 다른 3D 데이터 구조를 포함한다. 각 인스턴스는 훈련된 패턴에 대해 병진이동 및 회전될 수 있다. 이 예에서, 런타임 장면은 객체의 단일 (즉, 부분) 뷰이다.
카메라 조립체는 그 설정의 일부로 저장된 다양한 교정 파라미터/정보를 포함한다. 정렬 알고리즘은 감지 설정(예를 들어, 교정 정보)에 관한 관련 정보에 대한 액세스를 갖는다. 이것은 절차(200)의 후속 단계에서 사용된다.
절차 단계(230)에서, 절차(200)는 임의의 잠재적인 후보 포즈를 찾기 위해 훈련된 점군(들)에 대해 런타임 점군의 대략적인 정렬을 수행하려고 한다. 이 대략적인 정렬은 아래에 설명된 바와 같이 추가적인 평가 후보 포즈에 기초하여 정교한 정렬을 하는 데 사용된다.
절차(200)는 각 후보 포즈 대(versus) 모델 점군에 대한 매치 품질을 평가한다(단계 240). 이 절차 단계는 후보가 얼마나 우수한지를 평가한다. 훈련 모델의 입력, 런타임 이미지 및 교정 정보에 추가하여 절차는 패턴을 런타임 장면의 일부 상에 매핑(map)하는 후보 포즈를 수신한다. 절차는 장면의 이 부분이 패턴의 인스턴스를 포함한다고 가정하고, 스코어는 절차가 이 가정을 얼마나 강하게 준수하는지를 나타내는 척도이다. 도 5는 모델 패턴(410)으로부터 누락 부분(610)과 결합하여 런타임 이미지(510)를 포함하는 가능한 후보(600)를 나타낸다. 이것은 모델의 완전한 패턴을 나타내고, 이에 따라 최상의 가능한 매치를 나타낸다. 그리하여 이 후보 포즈는 높은 스코어를 받아야 한다.
절차(200)의 단계(250)를 참조하면, 스코어는, 기초 적용범위 및 후보 포즈를 취한 클러터 스코어를 계산하고 나서, 두 스코어를 이 포즈에 대한 총 스코어로 결합하는 것에 의해 생성된다. 적용범위 스코어는 런타임 장면에서 가시적인 패턴의 비율이다. 클러터 스코어는 관찰하는 시스템에 의해 분석 중인 패턴 인스턴스에 인접한 장면에 얼마나 많은 "추가적인(extra)" 잡음이 존재하는지를 나타내는 척도이다. 일 실시예에서, 최종 스코어는 다음 수식으로 표현될 수 있다:
스코어 = 적용범위 - 0.5 * 클러터.
클러터 스코어를 계산하는 것은, Hongjun Jia 등에 의해 2015년 11월 11일에 출원된, 공동 양도된 미국 특허 출원 번호 14/938,981 (발명의 명칭 "SYSTEM AND METHOD FOR SCORING CLUTTER FOR USE IN 3D POINT CLOUD MATCHING IN A VISION SYSTEM") 내 유용한 배경 정보에서 논의되고 있고, 이 출원 문헌의 개시 내용은 본 명세서에 병합된다. 그러나, 런타임 객체(510)의 일부만이 후보(600)에서 이용가능하기 때문에, 모델 패턴(410)의 대부분(610)은 런타임 이미지와 매치되지 않는다. 종래의 스코어링 알고리즘에서, 모든 매치되지 않는 부분(610)은 적용범위 스코어의 순진한 정의에서 카운트되지 않는다. 그렇지 않은 경우, 도시된 매치는 본질적으로 완벽하므로, 단순히 런타임 이미지의 일부가 폐색된 것으로 인해 이 후보에 감점을 부여하는 것은 회피하는 것이 바람직하다.
도 6에 도시된 시나리오를 처리하기 위해, 절차(200)는 적용범위 평가 동안 가시성 체크/조정을 수행(단계(250))하여 런타임 이미지(510)의 주어진 점이 전체 적용범위에 기여하는지 여부를 결정한다(절차(200)의 단계(260)). 가시성 체크/조정을 수행하는 일반적인 프로세스(300)는 도 3에 도시되어 있다. 이 프로세스의 일부로서, 단계(310)에서, 제공된 교정 정보는 카메라의 광학 중심 및 작업 구획(도 1의 작업 구획(170) 및 광학 중심(180)의 표현 참조)을 포함한다. 이들 파라미터는 이용 가능한 카메라 정보(즉, 공장 교정에 의해 제공됨)에 내재되어 있고, 이에 따라 프로세스는 예시적인 실시예에 따라 가시성 체크/조정을 결정할 때 (훈련된 모델 및 런타임 이미지 3D 점군과 함께 - 단계(320)) 이들 파라미터를 이용한다. 이들 입력이 주어지면, 단계(330)에서, 프로세스(300)는 광학 중심(180)으로부터 훈련된 모델 3D 점군 또는 런타임 3D 점군 내 복수의 점 각각으로 선분을 구성한다. 단계(340)에서, 프로세스(300)는 런타임 후보 포즈에서 훈련된 모델 3D 점군의 뷰를 명시적으로 렌더링하지 않고 (렌더링함이 없이) 점 정보의 고려를 제한/배제한다. 이 가시성 체크/조정 프로세스의 동작 예는 도 7 내지 도 9에 도시되어 있다.
도 7에서, 카메라(120)의 (교정 정보로부터 알려진) 광학 중심(180)으로부터 적용범위 스코어에 기여하는 런타임 이미지 부분(510)의 점군 상의 점(720)으로 그려진 선분(710)을 갖는 후보 포즈(600)가 도시된다. 역으로, 도 8은 수학적 관계의 분자 또는 분모의 적용범위 스코어에 기여하는 것이 배제된 후보(600)의 폐색된 부분(610) 상의 점으로의 선분(810)을 도시한다. 이러한 배제는 폐색된 점(820)보다 선분을 따라 카메라(120)에 더 근접한 런타임 부분(510) 상에 개재하는 폐색 점(830)이 존재하는 것에 기인한다.
비-제한적인 예로서, 적용범위 스코어를 계산하는 루틴의 개요는 다음과 같이 제공된다:
고려된 점의 수 = 0;
커버된 점의 수 = 0;
패턴 내 각 점에 대해:
후보 포즈를 통해 점을 매핑한다.
매핑된 점이 폐색되지 않은 경우: [가시성 체크]
고려된 점의 수 = 고려된 점의 수 + 1;
매핑된 점이 런타임 장면 내 점에 가까운 경우:
커버된 점의 수 = 커버된 점의 수 + 1
적용범위 스코어 = 커버된 점의 수/고려된 점의 수;
여기서 가시성 체크는 위에서 설명된 프로세스(300 및 도 7 내지 도 8)의 성능을 나타낸다.
역 문제(inverse problem)(즉, 런타임 장면이 패턴에서 폐색된 부분을 포함하는 것)를 피하기 위해 전체 후보 스코어에 클러터가 기여하는 것은 적용범위 스코어를 변경하는 방식과 유사한 방식으로 수정될 수 있음이 주목된다. 이러한 경우에, 객체의 완전한 런타임 이미지가 존재시에는 일반적으로 배제되는 후보 포즈 상의 점들을 식별하고 배제하기 위해 광학 중심으로부터 선분이 그려진다.
요약하면, 가시성 체크/조정을 평가하는 단계는 (a) 카메라 구성 정보; (b) 전술된 루틴으로부터 "매핑된 점"을 포함하는 질의 점; 및 (c) 런타임 장면이 복셀 격자에 유지될 수 있는 런타임 장면을 사용하는 것을 포함한다. 이것은 일련의 복셀로 형성될 수 있으며, 각 복셀은 미리 결정된 수의 점을 포함할 수 있다. 이 복셀 격자(910)는 도 9에 따라 표현될 수 있다. 이 도시된 구성에서, 카메라(120)는 위쪽 방향에 위치되기 때문에, 복셀 내 각 점은 폐색 방향(940)을 따라 아래쪽 복셀의 모든 점을 폐색한다. 따라서, 루틴은 질의 점(930)과 카메라(120)를 연결하는 선분(920)의 임의의 부분을 포함하는, 격자(910) 내의 복셀의 모든 열(column)을 체크한다. 이 열 내에서 최상위 점이 라인의 임의의 점보다 더 높은 경우, 이 라인은 런타임 장면과 교차하여 질의 점이 폐색된다. 그렇지 않은 경우에는 질의 점이 폐색되지 않는다. 따라서, 도 9의 도시된 예에서, 선분(920)을 따라 (런타임 부분(510)을 통과하는) 복셀의 열 상의 점들은 질의 점(930)을 폐색한다. 따라서, 루틴은 질의 점(930)이 폐색된 것을 나타낸다.
정의상, 질의 점은 다음 상태로 분류될 수 있다: (1) 완전히 가시적인 상태, 이 상태에서 이 점은 카메라 조립체 내의 카메라(들)의 작업 구획(들)의 합집합 내에 있고, 장면에서 취득 시스템이 이 점을 관찰하는 것을 방해하는 다른 점이 없다; (2) 폐색된 상태, 이 상태에서 이 점은 카메라 조립체의 작업 구획의 합집합 내에 있지만, 장면에서 취득 시스템이 이 점을 관찰하는 것을 방해하는 다른 점이 있다; 및 (3) 작업 구획 밖에 있는 상태, 이 상태에서 이 점은 특정 카메라의 작업 구획의 합집합 밖에 있어서, 장면의 나머지 부분과 관계 없이 취득 시스템이 이 점을 관찰할 수 없다.
다시 도 2의 전체 절차(200)를 참조하면, 각 후보 포즈의 적용범위 스코어는 (결정 단계(270)를 통해) 모든 후보 포즈가 스코어링될 때까지 단계(250 및 260)에 따라 평가되고 수정된다. 그 다음에 (결정 단계(270)를 통해), 스코어들이 비교되고 최상의 스코어 및/또는 미리 결정된 임계값을 넘는 스코어를 갖는 후보가 단계(280)에서 정렬 결과로서 리턴된다. 절차(200)는 각 카메라 및 전체 카메라 조립체의 관련 작업 구획에 대해 사용될 수 있고, 정렬 결과들은 적절히 조합될 수 있음이 주목된다. 예시적으로, 이들 카메라 조립체는 (예를 들어, 손-눈 교정 기술)을 사용하여 단일 전체 좌표계로 모두 교정될 수 있거나 또는 각 카메라는 그 국부 좌표계로 동작할 수 있다.
가시성 체크/조정 프로세스는 정확도 및/또는 성능을 향상시키기 위해 더 수정될 수 있다. 예를 들어, 전술된 가시성 프로세스는, 최종 적용범위(및/또는 클러터) 스코어를 결정하기 전에 각 점이 고려되는 배취 접근법(batch approach)을 수행한다. 대안적으로, 증분 접근법이 사용될 수 있는데, 이 접근법에서는 절차가 (a) 다수의 후보 포즈에 대해 훈련된 모델 패턴의 일부를 평가하고; (b) 추가적인 처리를 위해 이들 포즈의 서브세트를 선택하고; 그 다음에 (c) 패턴의 상이한 부분들을 고려한다. 단계(a) 내지 단계(c)는 절차가 전체 훈련된 모델 패턴을 평가하거나 또는 가능한 후보 포즈의 수를 단 하나의 가능한 후보 포즈로 줄일 때까지 반복된다. 본 명세서에서 사용된 "증분적" 또는 "증분적으로" 라는 용어는 전술된 일반적인 절차를 나타낸다. 다양한 실시예에서, 숨겨진 라인 제거 하드웨어는 또한 폐색 (예를 들어) SIMD(single-instruction multiple-data) 머신-가속 하드웨어를 결정하는데 사용될 수 있다.
전술된 절차 및 그 변형은 통상적으로 그래픽 카드 GPU(예를 들어, SIMD 머신)보다 컴퓨터 CPU 상에서 실행되는 프로그래밍 언어의 사용을 고려한다. 프로세스가 GPU 상에서 실행되는 경우 다수의 점을 동시에 매핑할 수 있고, 가시성 체크/조정은 예를 들어, HLSL(DirectX shader language) 또는 GLSL(OpenGL shader language)을 사용하는 GPU 언어로 병렬로 수행될 수 있다.
전술된 정렬 시스템 및 방법은 자기-폐색이 존재시 모델 3D 점군을 런타임 3D 점군과 정렬시키는 효과적인 기술을 제공한다는 것이 명백하다. 이 시스템 및 방법은 런타임 객체(들)의 전체 가시적인 뷰를 포함하거나 포함하지 않을 수 있는 관련된 작업 구획을 갖는 복수의 카메라와 함께 사용될 수 있다. 이 시스템 및 방법은 다양한 처리 플랫폼 상에서 동작하도록 적응될 수 있다.
전술된 설명은 본 발명의 예시적인 실시예의 상세한 설명이다. 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변형 및 추가가 이루어질 수 있다. 전술된 다양한 실시예 각각의 특징은 관련된 새로운 실시예에서 다수의 특징의 조합을 제공하기 위해 다른 설명된 실시예들의 특징과 적절히 조합될 수 있다. 또한, 전술된 설명은 본 발명의 장치 및 방법의 다수의 개별 실시예를 설명하고 있지만, 본 명세서에 설명된 것은 단지 본 발명의 원리의 응용을 예시하기 위한 것일 뿐이다. 예를 들어, 본 명세서에 사용된 "수직", "수평", "위", "아래", "바닥", "상부", "측면", "전방", "후방", "좌측", "우측", "순방향", "역방향" 등과 같은 다양한 방향성 및 배향성 용어(및 그 문법적 변형어)는 중력의 작용 방향과 같은 고정된 좌표계에 대해 절대적인 방향을 나타내는 것이 아니고 상대적 관례로만 사용된 것이다. 또한, 도시된 프로세스 또는 프로세서는 다른 프로세스 및/또는 프로세서와 결합되거나 또는 다양한 서브 프로세스 또는 프로세서로 분할될 수 있다. 이러한 서브 프로세스 및/또는 서브 프로세서는 본 명세서의 실시예에 따라 다양하게 조합될 수 있다. 또한, 본 명세서의 임의의 기능, 프로세스 및/또는 프로세서는 전자 하드웨어, 프로그램 명령의 비-일시적 컴퓨터 판독 가능 매체로 구성된 소프트웨어, 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있는 것임이 명백히 고려된다. 따라서, 본 설명은 단지 예로서 취해진 것이며, 본 발명의 범위를 다른 방식으로 제한하려고 의도된 것이 아니다.

Claims (22)

  1. 비전 시스템에서 훈련된 모델 3D 점군(point cloud)에 대해 런타임 3D 점군의 3D 정렬 포즈(alignment pose)의 매치(match) 정도를 추정하는 방법으로서,
    비전 시스템 프로세서로, 상기 훈련된 모델 3D 점군에 대해 상기 런타임 3D 점군의 후보 포즈(candidate pose)의 매치를 스코어링(scoring)하는 단계로서,
    (a) 3D 카메라의 광학 중심을 수신하는 단계,
    (b) 상기 훈련된 모델 3D 점군을 수신하는 단계,
    (c) 상기 런타임 3D 점군을 수신하는 단계, 및
    (d) 상기 광학 중심으로부터, 상기 런타임 후보 포즈에서 상기 훈련된 모델 3D 점군 또는 상기 런타임 3D 점군 내 복수의 3D 점으로 복수의 선분을 구성하는 단계
    를 포함하는 가시성 체크(visibility check)를 제공하는 단계를 포함하는, 상기 스코어링하는 단계; 및
    각 선분을 따라 상기 3D 점들의 위치에 기초하여, 상기 스코어링하는 단계에서 상기 3D 점들을 배제시킬지 또는 포함시킬지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 런타임 3D 점군 후보 포즈에서 상기 훈련된 모델 3D 점군의 뷰(view)를 명시적으로 렌더링하지 않고 자가-폐색(self-occluding) 3D 점 정보의 고려를 제한하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 스코어링하는 단계는 (a) 포함된 3D 점들의 합을 형성하는 적용범위 스코어(coverage score)를 계산하는 단계, 및 (b) 배제된 런타임 3D 점들의 합을 형성하는 클러터 스코어(clutter score)를 계산하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 포함된 3D 점들의 합을 형성하는 단계는 점-대-평면, 점-대-선 및 점-대-점 메트릭 중 적어도 하나를 사용하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 스코어링하는 단계는 상기 가시성 체크를 증분적으로 동작시키는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, 상기 가시성 체크는 인접성 테스트(adjacency test)에 기초하여 상기 3D 점들이 가시적인지 여부를 테스트하는 것에 의해 수행되는 것을 특징으로 하는 방법.
  7. 제5항에 있어서, 상기 가시성 체크는 점-대-표면-메시 테스트에 기초하여 상기 3D 점들이 가시적인지 여부를 테스트하는 것에 의해 수행되는 것을 특징으로 하는 방법.
  8. 제6항에 있어서, 상기 테스트하는 단계는 SIMD 가속 하드웨어를 사용하는 것을 특징으로 하는 방법.
  9. 제5항에 있어서, 상기 가시성 체크는 거리 이미지에 기초하여 수행되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 3D 카메라는 상기 비전 시스템 프로세서에 상호 연결된 복수의 3D 카메라를 갖는 3D 카메라 조립체의 일부인 것을 특징으로 하는 방법.
  11. 제10항에 있어서, 상기 런타임 3D 점군은 적어도 2개의 상기 3D 카메라에 의해 이미징된 객체로부터 취득되고, 상기 객체의 일부분은 상기 적어도 2개의 3D 카메라 각각의 작업 구획 내에서 이미징된 것을 특징으로 하는 방법.
  12. 제1항에 있어서, 상기 런타임 3D 점군은 상기 3D 카메라의 상기 작업 구획 내에서 자가-폐색된 객체로부터 취득된 것을 특징으로 하는 방법.
  13. 비전 시스템에서 훈련된 모델 3D 점군에 대해 런타임 3D 점군의 3D 정렬 포즈의 매치 정도를 추정하는 시스템으로서,
    비전 시스템 프로세서에서 동작하며, 상기 훈련된 모델 3D 점군에 대해 상기 런타임 3D 점군의 후보 포즈의 매치를 스코어링하는 스코어링 프로세스로서,
    (a) 3D 카메라의 광학 중심을 수신하고,
    (b) 상기 훈련된 모델 3D 점군을 수신하고,
    (c) 상기 런타임 3D 점군을 수신하고,
    (d) 상기 광학 중심으로부터, 상기 런타임 후보 포즈에서 상기 훈련된 모델 3D 점군 또는 상기 런타임 3D 점군 내 복수의 3D 점으로 복수의 선분을 구성하도록 배열된 가시성 체크 프로세스를 포함하는 상기 스코어링 프로세스; 및
    각 선분을 따라 상기 3D 점들의 위치에 기초하여, 상기 3D 점들을 배제시킬지 또는 포함시킬지 여부를 결정하는 결정 프로세스를 포함하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서, 상기 스코어링 프로세스는, (a) 포함된 3D 점들의 합을 형성하는 적용범위 스코어를 계산하고, (b) 배제된 런타임 3D 점들의 합을 형성하는 클러터 스코어를 계산하도록 배열된 것을 특징으로 하는 시스템.
  15. 제13항에 있어서, 상기 스코어링 프로세스는 상기 가시성 체크를 증분적으로 동작시키도록 배열된 것을 특징으로 하는 시스템.
  16. 제15항에 있어서, 상기 가시성 체크 프로세스는 인접성 테스트에 기초하여 상기 3D 점들이 가시적인지 여부를 테스트하는 것에 의해 수행되는 것을 특징으로 하는 시스템.
  17. 제15항에 있어서, 상기 가시성 체크 프로세스는 점-대-표면-메시 테스트에 기초하여 상기 3D 점들이 가시적인지 여부를 테스트하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 상기 테스트는 SIMD 머신-가속 하드웨어에 의해 수행되는 것을 특징으로 하는 시스템.
  19. 제15항에 있어서, 상기 가시성 체크 프로세스는 거리 이미지에 기초하여 수행되는 것을 특징으로 하는 시스템.
  20. 제13항에 있어서, 상기 3D 카메라는 상기 비전 시스템 프로세서에 상호 연결된 복수의 3D 카메라를 갖는 3D 카메라 조립체의 일부인 것을 특징으로 하는 시스템.
  21. 제20항에 있어서, 상기 런타임 3D 점군은 적어도 2개의 상기 3D 카메라에 의해 이미징된 객체로부터 취득되고, 상기 객체의 일부는 상기 적어도 2개의 3D 카메라 각각의 작업 구획 내에서 이미징된 것을 특징으로 하는 시스템.
  22. 제13항에 있어서, 상기 런타임 3D 점군은 상기 3D 카메라의 상기 작업 구획 내에서 자가-폐색된 객체로부터 취득된 것을 특징으로 하는 시스템.
KR1020170097847A 2016-08-01 2017-08-01 3d 이미지 데이터에서 3d 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법 KR102296236B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662369709P 2016-08-01 2016-08-01
US62/369,709 2016-08-01
US15/654,793 US10482621B2 (en) 2016-08-01 2017-07-20 System and method for improved scoring of 3D poses and spurious point removal in 3D image data
US15/654,793 2017-07-20

Publications (2)

Publication Number Publication Date
KR20180014677A true KR20180014677A (ko) 2018-02-09
KR102296236B1 KR102296236B1 (ko) 2021-08-30

Family

ID=61134153

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170097847A KR102296236B1 (ko) 2016-08-01 2017-08-01 3d 이미지 데이터에서 3d 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법

Country Status (5)

Country Link
US (1) US10482621B2 (ko)
JP (1) JP6525459B2 (ko)
KR (1) KR102296236B1 (ko)
CN (1) CN107680124B (ko)
DE (1) DE102017116952A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030485A (ko) * 2018-09-12 2020-03-20 코그넥스코오포레이션 기계 시각을 위한 이미지 데이터 처리 방법들 및 장치
WO2020145598A1 (en) * 2019-01-07 2020-07-16 Samsung Electronics Co., Ltd. Fast projection method in video-based point cloud compression codecs
CN111461980A (zh) * 2020-03-30 2020-07-28 北京百度网讯科技有限公司 点云拼接算法的性能估计方法和装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9704055B2 (en) * 2013-11-07 2017-07-11 Autodesk, Inc. Occlusion render mechanism for point clouds
EP3220099B1 (en) * 2014-11-13 2019-11-06 Olympus Corporation Calibration device, calibration method, optical device, imaging device, projection device, measurement system, and measurement method
US10452949B2 (en) * 2015-11-12 2019-10-22 Cognex Corporation System and method for scoring clutter for use in 3D point cloud matching in 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
US11989835B2 (en) * 2017-09-26 2024-05-21 Toyota Research Institute, Inc. Augmented reality overlay
US10558844B2 (en) * 2017-12-18 2020-02-11 Datalogic Ip Tech S.R.L. Lightweight 3D vision camera with intelligent segmentation engine for machine vision and auto identification
GB2569656B (en) * 2017-12-22 2020-07-22 Zivid Labs As Method and system for generating a three-dimensional image of an object
US10825199B2 (en) 2018-09-12 2020-11-03 Cognex Corporation Methods and apparatus for processing image data for machine vision
US10878299B2 (en) 2018-09-12 2020-12-29 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
US10846563B2 (en) 2018-09-12 2020-11-24 Cognex Corporation Methods and apparatus for generating a dense field of three dimensional data for machine vision
CN110930442B (zh) * 2019-11-26 2020-07-31 广东技术师范大学 基于标定块的机器人手眼标定中关键点位置确定方法与装置
CA3067400A1 (en) * 2019-11-28 2021-05-28 Xesto Inc. System and method for mobile 3d scanning and measurement
CN111539361B (zh) * 2020-04-28 2023-09-05 北京小马慧行科技有限公司 噪点的识别方法、装置、存储介质、处理器和运载工具
CN113808097B (zh) * 2021-09-14 2024-04-12 北京主导时代科技有限公司 一种列车的关键部件丢失检测方法及其系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103773A1 (en) * 2007-10-23 2009-04-23 Leica Geoystems Ag Smart picking in 3d point clouds
JP2012514252A (ja) * 2008-12-29 2012-06-21 コグネックス・コーポレイション マシンビジョンを用いたオブジェクトの3次元アライメントのためのシステムと方法
WO2015154089A1 (en) * 2014-04-04 2015-10-08 Parkervision, Inc. An optimization of thermodynamic efficiency vs. capacity for communications systems
WO2015155628A1 (en) * 2014-04-07 2015-10-15 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
WO2015192117A1 (en) * 2014-06-14 2015-12-17 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20160125637A1 (en) * 2014-10-31 2016-05-05 Thomson Licensing Method and apparatus for removing outliers from a main view of a scene during 3d scene reconstruction
WO2016097732A1 (en) * 2014-12-16 2016-06-23 Metail Limited Methods for generating a 3d virtual body model of a person combined with a 3d garment image, and related devices, systems and computer program products
US20160210751A1 (en) * 2015-01-15 2016-07-21 Samsung Electronics Co., Ltd. Registration method and apparatus for 3d image data

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5988862A (en) 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
US6420698B1 (en) 1997-04-24 2002-07-16 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three-dimensional objects
US6297844B1 (en) 1999-11-24 2001-10-02 Cognex Corporation Video safety curtain
US7574067B2 (en) * 2003-10-03 2009-08-11 General Electric Company Surface reconstruction and registration with a helmholtz reciprocal image pair
US20050140670A1 (en) 2003-11-20 2005-06-30 Hong Wu Photogrammetric reconstruction of free-form objects with curvilinear structures
US8111904B2 (en) * 2005-10-07 2012-02-07 Cognex Technology And Investment Corp. Methods and apparatus for practical 3D vision system
JP4283816B2 (ja) 2006-03-31 2009-06-24 日本電信電話株式会社 三次元環境情報取得装置,三次元環境情報取得方法及びその方法を実現したプログラムを格納した記録媒体
US7822266B2 (en) 2006-06-02 2010-10-26 Carnegie Mellon University System and method for generating a terrain model for autonomous navigation in vegetation
JP2007322351A (ja) 2006-06-05 2007-12-13 Mitsubishi Electric Corp 3次元物体照合装置
WO2008072561A1 (ja) * 2006-12-11 2008-06-19 Mitsubishi Gas Chemical Company, Inc. テレフタル酸の製造方法
US8126260B2 (en) * 2007-05-29 2012-02-28 Cognex Corporation System and method for locating a three-dimensional object using machine vision
JP5224319B2 (ja) 2007-07-23 2013-07-03 富士フイルム株式会社 立体撮像装置および立体撮像装置の制御方法並びにプログラム
KR100951890B1 (ko) 2008-01-25 2010-04-12 성균관대학교산학협력단 상황 모니터링을 적용한 실시간 물체 인식 및 자세 추정 방법
CA2734143C (en) * 2008-08-15 2021-08-31 Brown University Method and apparatus for estimating body shape
WO2010088840A1 (en) 2009-02-06 2010-08-12 The Hong Kong University Of Science And Technology Generating three-dimensional models from images
US9400503B2 (en) 2010-05-20 2016-07-26 Irobot Corporation Mobile human interface robot
WO2012126135A1 (en) 2011-03-21 2012-09-27 Intel Corporation Method of augmented makeover with 3d face modeling and landmark alignment
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US9002099B2 (en) 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
US9008192B2 (en) * 2011-10-20 2015-04-14 Digimarc Corporation Arrangements for increasing detection confidence
US9070216B2 (en) 2011-12-14 2015-06-30 The Board Of Trustees Of The University Of Illinois Four-dimensional augmented reality models for interactive visualization and automated construction progress monitoring
US20140082358A1 (en) * 2012-09-17 2014-03-20 General Instrument Corporation Efficient key generator for distribution of sensitive material from mulitple application service providers to a secure element such as a universal integrated circuit card (uicc)
EP2720171B1 (en) * 2012-10-12 2015-04-08 MVTec Software GmbH Recognition and pose determination of 3D objects in multimodal scenes
US9154773B2 (en) 2013-03-15 2015-10-06 Seiko Epson Corporation 2D/3D localization and pose estimation of harness cables using a configurable structure representation for robot operations
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
DE102013110580B4 (de) * 2013-09-24 2024-05-23 Faro Technologies, Inc. Verfahren zum optischen Abtasten und Vermessen einer Szene und Laserscanner, ausgebildet zur Durchführung des Verfahrens
US9299195B2 (en) 2014-03-25 2016-03-29 Cisco Technology, Inc. Scanning and tracking dynamic objects with depth cameras
JP6338421B2 (ja) 2014-03-31 2018-06-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、把持システムおよびプログラム
US10360718B2 (en) 2015-08-14 2019-07-23 Samsung Electronics Co., Ltd. Method and apparatus for constructing three dimensional model of object
US10452949B2 (en) 2015-11-12 2019-10-22 Cognex Corporation System and method for scoring clutter for use in 3D point cloud matching in a vision system
CN105787933B (zh) * 2016-02-19 2018-11-30 武汉理工大学 基于多视角点云配准的岸线三维重建装置及方法
US10867430B2 (en) * 2018-11-19 2020-12-15 Intel Corporation Method and system of 3D reconstruction with volume-based filtering for image processing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103773A1 (en) * 2007-10-23 2009-04-23 Leica Geoystems Ag Smart picking in 3d point clouds
JP2012514252A (ja) * 2008-12-29 2012-06-21 コグネックス・コーポレイション マシンビジョンを用いたオブジェクトの3次元アライメントのためのシステムと方法
WO2015154089A1 (en) * 2014-04-04 2015-10-08 Parkervision, Inc. An optimization of thermodynamic efficiency vs. capacity for communications systems
WO2015155628A1 (en) * 2014-04-07 2015-10-15 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
WO2015192117A1 (en) * 2014-06-14 2015-12-17 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20160125637A1 (en) * 2014-10-31 2016-05-05 Thomson Licensing Method and apparatus for removing outliers from a main view of a scene during 3d scene reconstruction
WO2016097732A1 (en) * 2014-12-16 2016-06-23 Metail Limited Methods for generating a 3d virtual body model of a person combined with a 3d garment image, and related devices, systems and computer program products
US20160210751A1 (en) * 2015-01-15 2016-07-21 Samsung Electronics Co., Ltd. Registration method and apparatus for 3d image data

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030485A (ko) * 2018-09-12 2020-03-20 코그넥스코오포레이션 기계 시각을 위한 이미지 데이터 처리 방법들 및 장치
WO2020145598A1 (en) * 2019-01-07 2020-07-16 Samsung Electronics Co., Ltd. Fast projection method in video-based point cloud compression codecs
US11665372B2 (en) 2019-01-07 2023-05-30 Samsung Electronics Co., Ltd. Fast projection method in video-based point cloud compression codecs
CN111461980A (zh) * 2020-03-30 2020-07-28 北京百度网讯科技有限公司 点云拼接算法的性能估计方法和装置
CN111461980B (zh) * 2020-03-30 2023-08-29 北京百度网讯科技有限公司 点云拼接算法的性能估计方法和装置

Also Published As

Publication number Publication date
KR102296236B1 (ko) 2021-08-30
US20180130224A1 (en) 2018-05-10
CN107680124B (zh) 2021-08-10
DE102017116952A1 (de) 2018-03-22
CN107680124A (zh) 2018-02-09
US10482621B2 (en) 2019-11-19
JP6525459B2 (ja) 2019-06-05
JP2018055675A (ja) 2018-04-05

Similar Documents

Publication Publication Date Title
KR20180014677A (ko) 3d 이미지 데이터에서 3d 포즈와 기생포인트 제거의 스코어링을 개선하는 시스템 및 방법
JP6506731B2 (ja) ビジョンシステムで3dポイントクラウドマッチングに使用するクラッタをスコアリングするためのシステム及び方法
EP2430588B1 (en) Object recognition method, object recognition apparatus, and autonomous mobile robot
US11881000B2 (en) System and method for simultaneous consideration of edges and normals in image features by a vision system
Takimoto et al. 3D reconstruction and multiple point cloud registration using a low precision RGB-D sensor
JP6503153B2 (ja) ビジョンシステムにおいて3dアライメントアルゴリズムを自動選択するためのシステム及び方法
JP2017004533A (ja) マシンビジョンを用いたオブジェクトの3次元アライメントのためのシステムと方法
JP2011192214A (ja) 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
US6993177B1 (en) Gauging based on global alignment and sub-models
JP2021168143A (ja) ビジョンシステムで画像内のプローブを効率的に採点するためのシステム及び方法
JP2018152055A (ja) ビジョンシステムにおいてカラー画像と対照してカラーの候補ポーズをスコアリングするためのシステム及び方法
US11816857B2 (en) Methods and apparatus for generating point cloud histograms
CN110462688B (zh) 使用基于模型的峰值选择的三维轮廓确定系统及方法
Cociaş et al. Multiple-superquadrics based object surface estimation for grasping in service robotics
JP2021140429A (ja) 3dモデル生成方法
JP2023128662A (ja) 計測システム
Denker Acquisition and On-line Reconstruction of 3D Point Data from Hand-held Laser Scanners and Multi-camera Stereo-matching
Benlamri A Multiple-sensor Based System for Image Inspection
JP2012211833A (ja) ステレオカメラの配置方法とそのシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant