KR102204818B1 - 3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택 - Google Patents

3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택 Download PDF

Info

Publication number
KR102204818B1
KR102204818B1 KR1020170100976A KR20170100976A KR102204818B1 KR 102204818 B1 KR102204818 B1 KR 102204818B1 KR 1020170100976 A KR1020170100976 A KR 1020170100976A KR 20170100976 A KR20170100976 A KR 20170100976A KR 102204818 B1 KR102204818 B1 KR 102204818B1
Authority
KR
South Korea
Prior art keywords
points
interest
probes
module
rotation
Prior art date
Application number
KR1020170100976A
Other languages
English (en)
Other versions
KR20180103660A (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 KR20180103660A publication Critical patent/KR20180103660A/ko
Application granted granted Critical
Publication of KR102204818B1 publication Critical patent/KR102204818B1/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
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • G06K9/00201
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06K9/481
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/245Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • 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/20076Probabilistic image processing
    • 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

Abstract

본 기술들은, 3차원(3D) 런타임 이미지 내의 트레이닝된 3D 모델 이미지의 포즈를 추정하기 위해 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈를 평가하는 데 이용되는 3D 프로브들의 배치를 선택하기 위한 시스템들, 컴퓨터화된 방법들, 및 컴퓨터 판독가능한 매체들을 포함한다. 3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐가 생성되고, 여기서, 각각의 피쳐는 복수의 관심 지점으로부터의 연관된 지점의 3D 속성들을 나타내는 데이터를 포함한다. 제1 복수의 관심 지점과 연관된 복수의 피쳐에 적어도 부분적으로 기초하여, 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점이 선택된다. 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치가 결정된다.

Description

3D 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택{SELECTION OF BALANCED-PROBE SITES FOR 3-D ALIGNMENT ALGORITHMS}
개시된 장치, 시스템 및 방법은, 이미지 처리 응용을 위한 패턴의 이미지 상에 프로브들을 위치시키는 것에 관한 것이다.
디지털 이미지는 많은 디바이스들에 의해 형성되고 많은 실제적인 목적으로 이용된다. 디바이스들은, CCD(charge-coupled device) 이미지 센서 또는 CMOS(complementary metal-oxide-semiconductor) 이미지 센서, 라인 스캔 센서, 비점 스캐너(flying spot scanner), 전자 현미경, CT(computed tomography) 스캐너를 포함하는 X-ray 디바이스, 자기 공명 촬영기, 및 본 기술분야의 통상의 기술자에게 공지된 기타의 디바이스 등의, 가시광 또는 적외선 상에서 동작하는 이미지 센서를 갖춘 카메라를 포함한다. 실용적인 응용분야는, 산업 자동화, 의료 진단, 군사, 다양한 군사, 민간 및 과학 목적의 위성 이미징, 사진 처리, 감시 및 트래픽 모니터링, 문서 처리, 및 기타 여러 분야에서 볼 수 있다.
이러한 응용에 대해 서비스하기 위해, 다양한 디바이스에 의해 형성된 이미지는 머신 비전 시스템(machine vision system)에 의해 분석되어 적절한 정보를 추출한다. 상당한 실용적인 중요성을 가진 분석의 한 형태는, 촬영 디바이스의 시야 내의 물체에 대응하는 이미지 내의 패턴의 위치, 배향 및 크기를 결정하는 것이다. 패턴 검출 방법은 산업 자동화 분야에서 특히 중요하며, 여기서, 이 방법들은, 반도체 제조, 전자 어셈블리, 의약품, 식품 가공, 소비자 상품 제조, 및 기타 여러 분야에서 로봇 및 기타의 자동화 장비를 안내하는데 이용된다.
일부 경우에, 패턴 검출 방법은 하나 이상의 프로브를 이용하여 패턴을 모델링할 수 있다. 프로브란 이미지 내의 한 위치를 말하며, 그 위치에서 패턴 검출 방법은 이미지의 기울기 벡터(gradient vector)를 검사한다. 따라서, 각각의 프로브는 위치 벡터 및 배향 벡터와 연관될 수 있다. 프로브들은 이미지 내의 패턴의 위치와 배향을 효과적으로 표시할 수 있으므로, 머신 비전 시스템은 프로브들을 이용하여 패턴들의 위치와 배향을 정렬할 수 있다.
일부 실시예는, 3D 런타임 이미지(runtime image) 내의 트레이닝된 3D 모델 이미지의 포즈를 추정하기 위한 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈(pose)를 평가하는데 이용되는 3차원(3D) 프로브들의 배치를 선택하기 위한 시스템을 포함한다. 이 시스템은 메모리와 통신하는 프로세서를 포함하고, 이 프로세서는 메모리에 저장된 컴퓨터 프로그램을 실행하도록 구성되며, 컴퓨터 프로그램은: 3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐(feature) ―각각의 피쳐는 복수의 관심 지점 중의 한 연관된 지점의 3D 속성을 나타내는 데이터를 포함― 를 생성하고; 제1 복수의 관심 지점과 연관된 복수의 피쳐에 적어도 부분적으로 기초하여, 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하며; 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치를 결정하도록 구성된다.
일부 실시예에서, 복수의 피쳐 각각은, 적어도 하나의 병진 자유도(translational degree of freedom)에서의 정렬을 위해 제1 복수의 지점 중의 한 연관된 지점의 적어도 하나의 유용성 측도(measure of usefulness)를 포함한다. 일부 실시예에서, 복수의 피쳐 각각은, 적어도 하나의 회전 자유도(rotational degree of freedom)에서의 정렬을 위해 제1 복수의 지점 중의 한 연관된 지점의 적어도 하나의 유용성 측도를 포함한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 것보다 3개의 병진 자유도에서 더 큰 앙상블 정렬 능력(ensemble alignment ability)을 제공한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 것보다 3개의 병진 자유도에서 더 큰 앙상블 정렬 능력을 제공하며, 여기서, 더 큰 앙상블 정렬 능력은, 제1 복수의 지점의 최소 표현된 회전 자유도에서의 앙상블 정렬 능력의 증가를 포함한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 것보다 3개의 회전 자유도에서 더 큰 앙상블 정렬 능력을 제공한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수 지점의 최소 표현된 회전 자유도에서의 앙상블 정렬 능력의 증가를 제공한다.
일부 실시예에서, 제1 복수 지점의 서브세트에 맞는 회전 중심 및 회전 축들은, 회전 중심 및 회전축들이 패턴의 회전 대칭 피쳐(rotationally symmetric feature)와 연관되도록 결정된다. 일부 실시예에서, 제1 복수 지점의 서브세트로부터 회전 중심 및 회전축들을 찾는 것은 RANSAC 기술을 이용하는 것을 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 표면 법선 벡터를 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 엣지 근접 벡터를 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 엣지 방향 벡터를 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 표면 곡률 벡터를 포함한다.
일부 실시예에서, 제1 복수의 관심 지점과 연관된 복수의 피쳐에 적어도 부분적으로 기초하여 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하는 단계는 : 확률 분포를 제1 복수의 지점에 맞추는 단계; 타겟 분포 ―타겟 분포는 관심 지점들 중 하나 이상의 지점 상의 프로브들의 원하는 배치를 나타냄― 를 결정하는 단계; 적어도 부분적으로, 제안된 프로브 사이트들에서의 맞추어진 분포 및 타겟 분포의 상대적 확률들을 이용함으로써, 프로브들의 배치를 결정하는 단계를 포함한다. 일부 실시예에서, 관심 지점 분포를 결정하는 단계는, 복수의 관심 지점을 혼합 모델을 포함하는 확률 분포에 맞추는 단계를 포함하고, 여기서, 확률 분포는 복수의 관심 지점에서 측정된 적어도 배향의 분포를 나타낸다. 일부 실시예에서, 프로세서는 또한, 복수의 관심 지점을 적어도 하나의 클러스터로 클러스터링함으로써 관심 지점 분포의 혼합 모델의 성분의 수를 결정하도록 구성된다. 일부 실시예에서, 프로세서는 또한, 제1 복수의 관심 지점 중에서 하나 이상의 수평선 지점을 식별하고; 제2 복수의 관심 지점이 하나 이상의 수평선 지점을 포함하지 않도록 하나 이상의 수평선 지점을 고려대상에서 제거하도록 구성된다. 일부 실시예에서, 제2 복수의 관심 지점을 선택하는 단계는 몬테 카를로(Monte Carlo) 기술을 이용하는 단계를 포함한다.
일부 실시예는, 3D 런타임 이미지 내의 트레이닝된 3D 모델 이미지의 포즈를 추정하기 위한 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈를 평가하는데 이용되는 3차원(3D) 프로브의 배치를 선택하기 위한 방법을 포함한다. 이 방법은: 3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐 ―각각의 피쳐는 복수의 관심 지점 중의 한 연관된 지점의 3D 속성을 나타내는 데이터를 포함― 를 생성하는 단계; 제1 복수의 관심 지점과 연관된 복수의 피쳐에 적어도 부분적으로 기초하여, 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하는 단계; 및 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치를 결정하는 단계를 포함한다.
일부 실시예에서, 복수의 피쳐 각각은, 적어도 하나의 병진 자유도에서의 정렬을 위해 제1 복수의 지점 중의 한 연관된 지점의 적어도 하나의 유용성 측도를 포함한다. 일부 실시예에서, 복수의 피쳐 각각은, 적어도 하나의 회전 자유도에서의 정렬을 위해 제1 복수의 지점 중의 한 연관된 지점의 적어도 하나의 유용성 측도를 포함한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 것보다 3개의 병진 자유도에서 더 큰 앙상블 정렬 능력을 제공한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 것보다 3개의 병진 자유도에서 더 큰 앙상블 정렬 능력을 제공하며, 여기서, 더 큰 앙상블 정렬 능력은, 제1 복수의 지점의 최소 표현된 회전 자유도에서의 앙상블 정렬 능력의 증가를 포함한다.
일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 것보다 3개의 회전 자유도에서 더 큰 앙상블 정렬 능력을 제공한다. 일부 실시예에서, 복수의 3D 프로브의 배치는 제1 복수 지점의 최소 표현된 회전 자유도에서의 앙상블 정렬 능력의 증가를 제공한다. 일부 실시예에서, 제1 복수 지점의 서브세트에 맞는 회전 중심 및 회전 축들은, 회전 중심 및 회전축들이 패턴의 회전 대칭 피쳐와 연관되도록 결정된다. 일부 실시예에서, 제1 복수 지점의 서브세트로부터 회전 중심 및 회전축들을 찾는 것은 RANSAC 기술을 이용하는 것을 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 표면 법선 벡터를 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 엣지 근접 벡터를 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 엣지 방향 벡터를 포함한다. 일부 실시예에서, 복수의 피쳐는 복수의 표면 곡률 벡터를 포함한다.
일부 실시예에서, 제1 복수의 관심 지점과 연관된 복수의 피쳐에 적어도 부분적으로 기초하여 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하는 단계는 : 확률 분포를 제1 복수의 지점에 맞추는 단계; 타겟 분포 ―타겟 분포는 관심 지점들 중 하나 이상의 지점 상의 프로브들의 원하는 배치를 나타냄― 를 결정하는 단계; 적어도 부분적으로, 제안된 프로브 사이트들에서의 맞추어진 분포 및 타겟 분포의 상대적 확률들을 이용함으로써, 프로브들의 배치를 결정하는 단계를 포함한다. 일부 실시예에서, 관심 지점 분포를 결정하는 단계는, 복수의 관심 지점을 혼합 모델을 포함하는 확률 분포에 맞추는 단계를 포함하고, 여기서, 확률 분포는 복수의 관심 지점에서 측정된 적어도 배향의 분포를 나타낸다. 일부 실시예에서, 이 방법은, 복수의 관심 지점을 적어도 하나의 클러스터로 클러스터링함으로써 관심 지점 분포의 혼합 모델의 성분의 수를 결정하는 단계를 더 포함한다. 일부 실시예에서, 이 방법은: 제1 복수의 관심 지점 중에서 하나 이상의 수평선 지점을 식별하는 단계; 제2 복수의 관심 지점이 하나 이상의 수평선 지점을 포함하지 않도록 하나 이상의 수평선 지점을 고려대상에서 제거하는 단계를 더 포함한다. 일부 실시예에서, 제2 복수의 관심 지점을 선택하는 단계는 몬테 카를로(Monte Carlo) 기술을 이용하는 단계를 포함한다.
일부 실시예는, 3D 런타임 이미지 내의 트레이닝된 3D 모델 이미지의 포즈를 추정하기 위한 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈를 평가하는데 이용되는 3차원(3D) 프로브들의 배치를 선택하기 위한 시스템과 연관된 실행가능한 명령어들을 갖는 비일시적 컴퓨터 판독가능한 매체를 포함한다. 이 실행가능한 명령어들은 시스템으로 하여금 : 3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐 ―각각의 피쳐는 복수의 관심 지점 중의 한 연관된 지점의 3D 속성을 나타내는 데이터를 포함― 를 생성하고; 제1 복수의 관심 지점과 연관된 복수의 피쳐에 적어도 부분적으로 기초하여, 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하며; 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치를 결정하게 하도록 동작가능하다.
지금까지 후속되는 상세한 설명이 더욱 잘 이해될 수 있고, 본 기술분야에 대한 현재의 기여가 더욱 잘 이해될 수 있도록, 개시된 주제의 피쳐들을 다소 광범위하게 개략적으로 설명하였다. 물론, 이하에서 설명되고 첨부된 특허 청구범위의 주제를 형성할 개시된 주제의 추가적인 피쳐들도 있다. 여기서 사용되는 어법과 용어는 설명을 위한 것이며 제한으로서 간주되어서는 안 된다는 점을 이해하여야 한다.
개시된 주제의 다양한 목적, 피쳐, 및 이점들은, 유사한 참조 번호가 유사한 요소를 식별하는 이하의 도면들과 연계하여 개시된 주제의 이하의 상세한 설명을 참조하면 더욱 충분히 이해될 수 있다.
도 1은 길쭉한 직사각형 형상을 갖는 2D 패턴과 그 패턴 상에 균일하게 배치된 프로브들을 나타낸다.
도 2는 일부 실시예에 따른 2D 이미지의 관심 지점들에 프로브들을 배치하기 위한 고수준 프로세스를 나타낸다.
도 3은 일부 실시예에 따른 수직 배향들의 히스토그램을 균일 분포에 정합시킴으로써 프로브들을 배치한 결과를 나타낸다.
도 4는 일부 실시예에 따른 프로브 배치 모듈을 포함하는 컴퓨팅 디바이스를 나타낸다.
도 5는 일부 실시예에 따른 이미지의 관심 지점들에 대한 수직 배향들의 히스토그램을 결정하는 프로세스를 나타낸다.
도 6a 내지 도 6h는 일부 실시예에 따른 수직 배향들의 히스토그램을 생성하기 위한 프로세스를 나타낸다.
도 7은 일부 실시예에 따른 프로브 배치를 결정하기 위한 프로세스를 나타낸다.
도 8은 일부 실시예에 따른 2D 이미지의 관심 지점들과 연관된 호 길이의 스케일링을 나타낸다.
도 9는 일부 실시예에 따른 스케일링된 관심 지점들 상의 프로브들의 균일 배치를 나타낸다.
도 10은 일부 실시예에 따른 관심 지점들과 연관된 스케일된 호 길이의 역 스케일링을 나타낸다.
도 11a 및 11b는 일부 실시예에 따른 타겟 분포로부터 프로브들을 샘플링함에 의한 프로브 밸런싱을 나타낸다.
도 12a는 일부 실시예에 따른 기준 벡터와 단위 법선 벡터 사이의 관계를 나타낸다.
도 12b는 일부 실시예에 따른 위치 벡터
Figure 112017084000307-pat00001
와 단위 회전 벡터
Figure 112017084000307-pat00002
사이의 관계를 나타낸다.
도 13은 일부 실시예에 따른 프로브들을 샘플링하는 프로세스를 요약한 것이다.
도 14a는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 직사각형 상의 프로브들의 배치를 나타낸다.
도 14b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 레버 아암(lever arm)을 갖는 원형 물체 상의 프로브들의 배치를 나타낸다.
도 15a는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 직사각형 상의 프로브들의 배치를 나타낸다.
도 15b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 레버 아암을 갖는 원형 물체 상의 프로브들의 배치를 나타낸다.
도 16a 내지 도 16b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 홀을 갖는 패턴 상의 프로브들의 배치를 나타낸다.
도 17a 내지 도 17c는 일부 실시예에 따른 회전 변수
Figure 112017084000307-pat00003
의 표현이 프로브 배치를 어떻게 변화시키는지를 나타낸다.
도 18a 및 도 18b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 길쭉한 아암을 갖는 패턴 상의 프로브들의 배치를 나타낸다.
도 19는 일부 실시예에 따른 길쭉하고 불규칙한 파이프 형상을 갖는 3D 패턴, 및 그 3D 패턴 상에 균일하게 배치된 3D 프로브들을 나타낸다.
도 20은 일부 실시예에 따른 3D 이미지 내의 관심 지점들에 3D 프로브들을 배치하기 위한 고수준 프로세스를 나타낸다.
도 21은 일부 실시예에 따른 피쳐 생성 프로세스를 나타낸다.
도 22는 일부 실시예에 따른 픽셀 그리드 규칙화된 깊이 맵을 나타낸다.
도 23a는 일부 실시예에 따른 단위 정사각형으로부터 가장 가까운 4개의 주변 지점(임의로 이격됨) 상의 바이리니어 맵핑 및 이 맵핑의 역 ― 여기서, 픽셀 그리드 중심 지점은 단위 정사각형 내에 배치됨― 을 나타내며, 도 23b는 일부 실시예에 따른 주축(principal axis)의 각도를 나타낸다.
도 24는 일부 실시예에 따른 장축 및 단축(minor axis)을 따라 규칙적으로 이격된 샘플링을 나타낸다.
도 25는 일부 실시예에 따른 피쳐 생성 프로세스의 결과를 나타낸다.
도 26은 일부 실시예에 따른 지점 집단(point cloud) 내의 모든 표면 법선 벡터 n i 의 회전의 모멘트를 최소화하는 지점을 나타낸다.
도 27은 일부 실시예에 따른 회전축을 찾기 위해 RANSAC 알고리즘이 이용되는 물체의 예를 나타낸다.
도 28a는 일부 실시예에 따른 수평선 지점 제거를 동반하지 않은 프로브 배치를 나타내고 도 28b는 수평선 지점 제거를 동반한 프로브 배치를 나타낸다.
도 29는 일부 실시예에 따른 회전 단위 벡터
Figure 112017084000307-pat00004
상으로의
Figure 112017084000307-pat00005
,
Figure 112017084000307-pat00006
, 및
Figure 112017084000307-pat00007
의 투영의 합계의 크기로서 간주될 수 있는
Figure 112017084000307-pat00008
의 계산을 위한 관련 벡터들을 도시한다.
도 30a는 일부 실시예에 따른 편향이 적용되지 않은 프로브들의 예를 도시하고, 도 30b는 공간적 편향이 적용된 프로브들의 예를 도시하며, 도 30c는 회전 편향이 적용된 프로브들의 예를 도시한다.
도 31a는 지점들 및 그들의 해상력의 한 예를 나타내고, 도 31b는 C lim = 2인 프로브 선택 결과의 한 예를 나타내며, 도 31c는 C lim = 4인 프로브 선택 결과의 한 예를 도시하고, 도 31d는 C lim = 8인 프로브 선택 결과의 한 예를 도시한다.
이하의 설명에서, 개시된 주제의 철저한 이해를 제공하기 위하여, 개시된 주제의 시스템 및 방법과, 이러한 시스템 및 방법이 동작할 수 있는 환경 등에 관하여 수 많은 특정한 상세사항이 개시된다. 그러나, 본 기술분야의 통상의 기술자라면, 개시된 주제가 이러한 특정한 상세사항 없이도 실시될 수 있고, 본 기술분야의 널리 공지되어 있는 소정의 피쳐들은 개시된 주제의 복잡성을 피하기 위하여 상세히 설명되지 않는다는 것이 명백할 것이다. 또한, 이하에 제공되는 예들은 예시적인 것이며, 개시된 주제의 범위 내에 있는 다른 시스템 및 방법들이 있다고 여겨진다.
본 명세서는 대체적으로 다음과 같은 방식으로 구성된다. 본 명세서는 대체로 2차원 이미지와 관련된 예시적인 실시예를 설명함으로써 시작한다. 일부 예시적인 2차원 기술은, 예를 들어, 참조로 그 전체 내용이 본 명세서에 포함되는, 2015년 1월 23일 출원된 발명의 명칭이 "Probe Placement for Image Processing"인, 미국 특허 출원 제14/603,969호에 설명되어 있다. 그 다음, 본 명세서는 대체로 3차원 이미지와 관련된 예시적인 실시예를 설명한다. 첫번째 부분은 대체로 2차원 이미지를 포함하는 예시적인 실시예에 관한 것이고, 두번째 부분은 대체로 3차원 이미지를 포함하는 예시적인 실시예에 관한 것이지만, 본 기술분야의 통상의 기술자라면 한 부분의 개시내용은 다른 부분의 개시내용에 적용될 수 있고, 그 반대도 마찬가지라는 것을 이해할 것이다. 또한, 본 기술분야의 통상의 기술자라면 일부 예시적인 실시예는 양쪽 부분의 교시에 의존한다는 것을 이해할 것이다. 예를 들어, 일부 예시적인 실시예에서, 시스템 및 방법은 2차원 이미지 및 3차원 이미지 양쪽 모두를 이용한다. 또한, 본 기술분야의 통상의 기술자라면, 3D 경우에도 적용가능한 첫번째 부분으로부터의 교시가 불필요한 반복을 피하기 위해 제2 섹션에서 반드시 완전하게 반복될 필요는 없으며 그 반대도 마찬가지라는 것을 이해할 것이다. 즉, 본 명세서는 대체로 조직화 목적 및 이해의 용이성을 위해 2차원 및 3차원으로 구분되어 있지만, 이러한 조직화는 본 개시내용의 공개 범위를 제한하기 위한 것은 아니다.
이하에서, 하나 이상의 실시예에 따른 용어의 예시적인 설명을 소개한다. 이들 설명은 제한하기 위한 것이 아니다.
물체―이미지 형성 디바이스에 의해 측정되거나 데이터 처리 디바이스에 의해 시뮬레이션될 수 있는 특성을 갖는 임의의 물리적 또는 시뮬레이션된 물체 또는 그 일부.
이미지―2D 이미지는, 그 값이, 밝기(복사 에너지, 반사되거나 기타), 색상, 온도, 기준 평면 위의 높이(예를 들어, 범위 이미지) 등의 물체의 물리적 특성에 대응하고 임의의 이미지-형성 디바이스에 의해 측정되는 2차원 함수이거나, 그 값이 물체의 시뮬레이션된 특성에 대응하고 임의의 데이터 처리 디바이스에 의해 생성되는 2차원 함수이다. 3D 이미지는, 예를 들어, 범위 이미지로서 또는 지점 집단으로서 표현될 수 있다. 지점 집단은 각각의 지점 i가 (xi, yi, zi)로 표현될 수 있는 공간 내의 3D 지점들의 집합이다.
경계―끝이 열려 있거나 닫혀 있는, 직선이거나 곡선인, 매끄럽거나 날카로운 가상의 윤곽선으로서, 이 윤곽선을 따라 이미지 밝기의 불연속이 명시된 입도로 발생하고, 상기 불연속의 방향은 각각의 지점에서 경계에 대해 수직임.
기울기―이미지 내의 주어진 지점에서의 벡터로서, 상기 지점에서 명시된 입도로 밝기의 가장 큰 변화의 방향 및 크기를 준다.
패턴―윤곽선들의 평면의 한정된 서브세트에 놓인 윤곽선들의 특정한 기하학적 배치, 상기 윤곽선들은 위치파악될 및/또는 검사될 물체의 이상화된 이미지의 경계를 나타낸다. 3D 패턴은, 예를 들어, 범위 이미지 내의 윤곽선들의 배열로서 또는 지점 집단으로서 표현될 수 있다.
모델―패턴 발견 방법에 의한 이용을 위한 발견될 패턴의 특성을 인코딩한 데이터 세트.
트레이닝―예시적인 물체의 이미지로부터 또는 물체나 패턴의 기하학적 기술(geometric description)로부터 모델을 생성하는 프로세스.
머신 비전 시스템은, 이미지에서 미리 결정된 패턴의 하나 이상의 인스턴스의 부재 또는 존재를 결정하고 각각의 발견된 인스턴스의 위치를 결정하도록 구성될 수 있다. 2D 이미지에서 패턴을 위치파악하는 프로세스는, x-y 위치(병진이라고도 함), 배향 및 크기를 포함할 수 있지만 이것으로 제한되지 않는 다차원 공간에서 발생한다. 3D 이미지의 경우, 위치는, 예를 들어, x-y-z 위치(병진이라고도 함), 경사 및 회전(롤(roll), 피치(pitch) 및 요(yaw)라고도 함)을 포함할 수 있다.
이미지에서 미리 결정된 패턴의 하나 이상의 인스턴스의 부재 또는 존재를 결정하기 위해, 머신 비전 시스템은 발견될 패턴을 모델을 이용하여 나타낼 수 있다. 머신 비전 시스템은, 위치파악될 및/또는 검사될 패턴의 예를 포함하는 기하학적 기술(geometric description)로부터의 하나 이상의 합성 이미지나 하나 이상의 트레이닝 이미지로부터 패턴에 대한 모델을 생성할 수 있다. 일단 모델이 이용가능해지면, 머신 비전 시스템은 모델을 적절한 포즈 세트의 각각의 포즈에서 테스트 이미지와 비교하고, 각각의 포즈에서 정합 점수를 계산하며, 정합 점수에서 국지적 최대값에 대응하는 후보 포즈를 결정할 수 있다. 머신 비전 시스템은 정합 점수가 적절한 임계값 위인 후보 포즈들을 이미지의 패턴의 인스턴스로서 간주할 수 있다.
모델은 프로브라 불리는 한 세트의 데이터 요소를 포함할 수 있다. 각각의 프로브는 주어진 포즈에서 이미지 내의 소정의 측정 및 테스트가 수행될 상대적 위치를 나타내며, 각각의 이러한 테스트는 패턴이 연관된 포즈에서 존재한다는 증거를 제공한다. 프로브는 아래에 놓인 패턴의 구조(예를 들어, 경계)에 실질적으로 수직인 방식으로 배치될 수 있다.
트레이닝 스테이지 동안, 기존의 머신 비전 시스템은 프로브들을 2D 패턴의 경계 상에 균일한 방식으로 배치한다. 예를 들어, 머신 비전 시스템은, 인접한 프로브들 사이의 거리가 모든 인접한 프로브 쌍들에 대해 대략 동일하도록 프로브들을 패턴 경계 상에 배치한다. 여기서는 "균일 배치 전략(uniform placement strategy)"이라고 칭하는 이 전략은, 밸런싱된 배향 프로파일을 갖는 패턴을 모델링하는데 있어서 효과적일 수 있다(예를 들어, 많은 수의 배향을 가리키는 경계를 갖는 2D 패턴과 다양한 배향을 가리키는 경계의 비율은 유사하다). 예를 들어, 균일 배치 전략은 정사각형 패턴을 모델링하는데 유용한데, 그 이유는, 상이한 배향들(예를 들어, 위, 아래, 좌측 및 우측)을 가리키는 프로브들의 수가 2D 이미지 내의 패턴의 각각의 엣지 상에서 대략 동일하고, 이것은 2D 패턴의 위치 및 배향에 관한 정확한 정보를 유도할 수 있기 때문이다.
불행하게도, 균일 배치 전략은 언밸런싱된 배향 프로파일(예를 들어, 변들의 길이가 다양한 패턴)을 갖는 패턴을 모델링하는데 있어서 종종 비효율적이다. 예를 들어, 균일 배치 전략은, 길쭉한 직사각형 형상을 갖는 2D 패턴들을 정렬하는데 대체로 그렇게 효과적이지 않다. 도 1은 길쭉한 직사각형 형상을 갖는 2D 패턴과 그 패턴 상에 균일하게 배치된 프로브들을 나타낸다. 경계(102)가 길쭉한 직사각형 형상을 갖기 때문에, 균일 배치 전략 하에서, 프로브(104)들의 대부분은 경계의 긴 엣지(106) 상에 배치될 것이고, 소수의 프로브(104)만이 경계의 짧은 엣지(108) 상에 배치될 것이다. 경계의 짧은 엣지(108)를 따르는 프로브의 수가 적기 때문에, 프로브에 기초하여 짧은 엣지(108)가 존재하는지를 결정하는 것은 어렵다. 또한, 짧은 엣지(108)가 존재한다고 결정하는 것이 가능하다고 해도, 짧은 엣지(108)의 위치를 인코딩하는 프로브(104)의 수가 적기 때문에, 짧은 엣지(108)의 위치를 정확히 찾는 것은 어렵다. 이것은, 예를 들어, 경계(102)를 다른 2D 패턴과 수평으로 정렬하는 경우에 문제가 될 수 있다.
균일 배치 전략과 연관된 문제점들을 처리하기 위해 인접한 프로브들 사이의 거리를 변화시키려는 노력이 있어 왔다. 그러나, 노력은 프로브 위치의 수동으로 조정으로 제한되어 있었고, 이것은 노동 집약적이며 비용이 많이 들 수 있다.
여기서 설명된 기술들은 패턴(2D 및 3D 패턴 양쪽 모두) 상에 프로브들을 배치하기 위한 자동화된 프로브 배치 모듈을 제공한다. 프로브 배치 모듈은, 프로브들이 이미지에 묘사된 패턴을 정확하게 표현할 수 있도록 이미지의 관심 지점들 상에 프로브들을 배치하도록 구성된다. 프로브 배치 모듈은, 프로브들이 패턴의 움직임과 연관된 모든 자유도에 관한 밸런싱된 정보를 추출하여 프로브들로부터 생성된 모델의 정확성을 향상시킬 수 있게끔 프로브를 배치하도록 구성될 수 있다. 예를 들어, 패턴과 연관된 물체가 2차원으로 움직이는 것(예를 들어, 병진 운동)으로 알려진 경우, 프로브 배치 모듈은 (2D 패턴 및 이미지를 가정하여) 프로브가 2차원에서 밸런싱된 정보를 추출할 수 있도록 프로브들을 배치할 수 있다. 프로브 배치 모듈은 또한, 패턴의 형상에 관계없이 프로브들이 밸런싱된 정보를 추출할 수 있도록 패턴의 형상을 고려할 수 있다. 이것은, 도 1에 도시된 바와 같이 짧은 엣지에 비해 긴 엣지를 따라 더 많은 프로브가 배치될 때 수평 정보에 비해 더 많은 수직 정보를 추출하는 것 등의, 언밸런싱된 정보를 추출하는 기술과는 대조적이다.
도 2는 일부 실시예에 따른 2D 이미지의 관심 지점들에 프로브들을 배치하기 위한 고수준 프로세스를 나타낸다. 관심 지점들은 프로브들의 후보 위치를 나타낼 수 있다. 예를 들어, 프로브 배치 모듈은, 이미지 내의 관심 지점들의 서브세트를 선택하고 관심 지점들의 선택된 서브세트 상에 프로브들을 배치하도록 구성될 수 있다.
단계 202에서, 프로브 배치 모듈은, 2D 이미지 내의 관심 지점들의 위치에 관한 정보를 수신하도록 구성될 수 있다. 예를 들어, 프로브 배치 모듈은, 관심 지점 검출 모듈로부터, 2D 이미지 내의 2D 패턴의 경계를 수신할 수 있다.
단계 204에서, 프로브 배치 모듈은 관심 지점들의 분포를 결정할 수 있다. 예를 들어, 프로브 배치 모듈은 소정 피쳐(예를 들어, 관심 지점에서 측정된 수직 배향)를 이용하여 각각의 관심 지점을 나타낼 수 있고 관심 지점들과 연관된 피쳐들의 분포를 결정할 수 있다.
단계 206에서, 프로브 배치 모듈은 프로브들의 타겟 분포를 결정할 수 있다. 일부 경우에, 프로브들의 타겟 분포는 관심 지점들과 연관된 피쳐들 및/또는 단계 204에서 결정된 관심 지점들의 분포에 기초하여 결정될 수 있다. 예를 들어, 프로브 배치 모듈은, 프로브들의 타겟 분포가 단계 204에서 결정된 관심 지점들 분포의 역이라고 결정할 수 있다. 단계 208에서, 프로브 배치 모듈은, 프로브들의 실제 분포가 프로브들의 타겟 분포와 일치하도록 프로브들의 위치를 결정할 수 있다.
도 2에 나타낸 일반적인 프레임워크는, 예를 들어, 적어도 2개의 메커니즘을 이용하여(예를 들어, 단독으로 및/또는 서로 조합하여) 구현될 수 있다. 제1 메커니즘에서, 개시된 프로브 배치 모듈은, 프로브 위치들에서 측정된, 수직 배향들의 분포가 밸런싱되게끔 프로브들을 배치하도록 구성될 수 있다(예를 들어, 프로브들의 위치에서의 수직 배향들의 히스토그램은 대략 균일하다). 제1 메커니즘은, 2개의 자유도(예를 들어, 병진 운동)를 갖는 패턴을 모델링하는데 특히 유용할 수 있다.
예를 들어, 단계 204에서, 프로브 배치 모듈은 2D 이미지 내의 복수의 관심 지점들에서 측정된 수직 배향들의 히스토그램을 결정할 수 있다. 단계 206에서, 프로브 배치 모듈은 프로브 위치들에서 측정된 수직 배향들의 타겟 분포가 균일한 분포라고 결정할 수 있다. 단계 208에서, 프로브 배치 모듈은, 배치된 프로브들에 의해 측정된, 수직 배향들의 히스토그램이 균일한 분포에 근접하도록 하나 이상의 관심 지점들에 프로브들을 배치할 수 있다.
도 3은 일부 실시예에 따른 수직 배향들의 히스토그램을 균일 분포에 정합시킴으로써 프로브들을 배치한 결과를 나타낸다. 이 예에서, 관심 지점들은 집합적으로 2D 패턴의 경계(102)를 형성할 수 있다. 경계(102)가 길쭉한 직사각형 형상을 가질 때, 프로브 배치 모듈은 긴 엣지(106) 상의 프로브(104)의 수를 감소시키고 짧은 엣지(108) 상의 프로브의 수를 증가시켜, 긴 엣지(106) 상의 프로브의 수가 짧은 엣지(108) 상의 프로브의 수에 비해 대략 동일하게 할 수 있다. 이러한 방식으로, 배치된 프로브(104)들의 배향 분포가 밸런싱될 수 있다. 제1 메커니즘을 구현하는 프로브 배치 모듈은, 명세서 전체에 걸쳐, 특히 도 5 내지 도 10과 관련하여 논의된다.
제2 메커니즘 하에서, 프로브 배치 모듈은, 프로브들의 분포가 타겟 분포와 실질적으로 유사하도록 프로브들의 위치를 결정할 수 있다. 단계 204에서, 프로브 배치 모듈은 패턴의 자유도에 대응하는 변수들을 이용하여 관심 지점들을 나타낼 수 있다. 예를 들어, 2D 패턴과 연관된 물체가 2차원으로 움직이는 것으로 알려진 경우, 프로브 배치 모듈은 관심 지점에서 2차원 기울기 벡터를 이용하여 관심 지점을 나타낼 수 있다. 그 다음, 프로브 배치 모듈은 관심 지점들과 연관된 수직 배향들의 분포를 모델링함으로써 관심 지점들의 분포를 결정할 수 있다.
단계 206에서, 프로브 배치 모듈은 관심 지점들과 연관된 피쳐들에 기초하여 원하는 타겟 분포를 결정할 수 있다. 예를 들어, 프로브 배치 모듈은 복수의 관심 지점들에서 측정된 수직 배향들에 기초하여 원하는 타겟 분포를 결정할 수 있다. 더 구체적으로, 프로브 배치 모듈은 관심 지점들에서 측정된 수직 배향들의 분포의 역이 되도록 원하는 타겟 분포를 결정할 수 있다. 유사하게, 프로브 배치 모듈은 타겟 분포를 결정하기 위해 관심 지점들에서 측정된 회전 벡터 및 스케일 정보를 고려할 수 있다. 후속해서, 단계 208에서, 프로브 배치 모듈은 타겟 분포로부터 샘플링함으로써 하나 이상의 관심 지점에 프로브들을 배치할 수 있다. 제2 메커니즘은, 명세서 전체에 걸쳐, 특히 도 11 내지 도 18과 관련하여 논의된다.
도 4는 일부 실시예에 따른 프로브 배치 모듈을 포함하는 컴퓨팅 디바이스를 나타낸다. 컴퓨팅 디바이스(400)는, 프로세서(402), 메모리(404), 관심 지점 검출(IPD; interest point detection) 모듈(406), 프로브 배치 모듈(408), 및 인터페이스(410)를 포함할 수 있다.
일부 실시예에서, 프로세서(402)는 명령어들을 실행할 수 있는 하나 이상의 메모리 디바이스(404)는 명령어들 및/또는 데이터를 저장하기 위한 것이다. 메모리 디바이스(404)는, 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 플래시 메모리, 자기 디스크 드라이브, 광 드라이브, 프로그램가능한 판독 전용 메모리(PROM), 판독 전용 메모리(ROM), 또는 기타 임의의 메모리나 메모리들의 조합 등의, 비일시적 컴퓨터 판독가능한 매체일 수 있다. 메모리 디바이스(404)는 데이터를 일시적으로 저장하는데 이용될 수 있다. 메모리 디바이스(404)는 또한, 장기간 데이터 저장을 위해 이용될 수 있다. 프로세서(402)와 메모리 디바이스(404)는 특별 목적 로직 회로에 의해 보충되거나 및/또는 그 내부에 통합될 수 있다.
일부 실시예에서, IPD 모듈(406)은 입력 이미지로부터 관심 지점들을 검출하도록 구성될 수 있다. 예를 들어, IPD 모듈(406)은, 인터페이스(410)를 통해, IPD 모듈(406)과 통신하는 카메라 모듈 또는 다른 컴퓨팅 디바이스 등의, 또 다른 디바이스로부터 이미지를 수신할 수 있다. 그 다음, IPD 모듈(406)은 관심 지점들을 검출하기 위한 이미지 처리 동작을 수행할 수 있다.
일부 실시예에서, 관심 지점들은, 2D 패턴의 엣지, 2D 패턴의 경계(예를 들어, 엣지들의 체인), 텍스처 경계, 큰 기울기 크기를 갖는 픽셀, 이웃 픽셀들과의 강도 차이가 큰 픽셀, 이웃 픽셀들과의 색상 차이가 큰 픽셀, 스케일 불변 피쳐 변환(SIFT; Scale-Invariant Feature Transform) 피쳐 지점, 이웃 픽셀들과 구분되는 임의의 픽셀, 또는 이들의 임의의 조합을 포함할 수 있다. 따라서, IPD 모듈(406)은, 2D 패턴의 경계를 형성하는 엣지들의 세트를 결정하는 엣지 검출 동작, 큰 기울기 크기를 갖는 픽셀을 검출하는 미분 동작, SIFT 피쳐 지점을 검출하는 SIFT 연산자, 또는 이들의 임의의 조합을 수행하도록 구성될 수 있다.
일부 실시예에서, IPD 모듈(406)은 관심 지점들 아래에 놓인 (이하, 수직 배향이라고 하는) 구조에 수직인 배향을 결정하도록 구성될 수 있다. 경우에 따라, 수직 배향은 아래에 놓인 구조의 경사 배향을 결정함으로써 결정될 수 있다. 예를 들어, 아래에 놓인 패턴의 기울기 벡터가 관심 지점들에서 결정될 수 있고 기울기 벡터와 연관된 배향이 결정될 수 있다. 다른 경우에, 수직 배향은 간단한 계산을 통해 결정될 수 있다. 예를 들어, 구조의 경계 상의 2개의 지점이 취해지고 이 2개의 지점을 연결하는 라인이 결정될 수 있다. 이 라인에 수직인 배향이 수직 배향인 것으로 결정될 수 있다. 다른 경우에, 구조의 수직 배향은, 다른 컴퓨터적 모듈, 예를 들어, CAD(computer aided design) 모델링 모듈로부터 수신된 정보에 기초하여 결정될 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은, 이미지 내의 관심 지점들에 기초하여 프로브들의 위치를 결정하도록 구성될 수 있다. 프로브 배치 모듈(408)은, 타겟 분포 계산(TDC) 모듈(412), 피쳐 분포 계산(FDC) 모듈(414), 및 프로브 분포 정합 모듈(PDM) 모듈(416)을 포함할 수 있다. TDC 모듈(412)은 하나 이상의 관심 지점들에 배치될 프로브들의 타겟 분포를 결정할 수 있다; FDC 모듈(414)은 이미지 내의 관심 지점들의 분포를 결정할 수 있다; PDM 모듈(416)은 프로브들의 분포 및 프로브들의 타겟 분포가 실질적으로 정합하도록 프로브들의 위치를 결정할 수 있다. 후술되는 바와 같이, TDC 모듈(412)이 수직 배향들의 히스토그램만을 다루는 경우, 타겟 분포는 균일한 분포일 수 있다. 다른 실시예에서, 프로브 배치 모듈(408)은 실질적으로 유사한 동작을 수행하는 상이한 세트의 모듈들을 포함할 수 있다.
일부 실시예에서, 인터페이스(410)는, 광학, 구리, 및 무선 등의 다양한 매체로, 및 일부가 비일시적일 수 있는 다수의 상이한 프로토콜로 신호를 전송 및 수신하도록 하드웨어로 구현될 수 있다.
일부 실시예에서, 모듈들(406, 408, 412, 414, 416) 중 하나 이상은 메모리(404)를 이용하여 소프트웨어로 구현될 수 있다. 소프트웨어는, 컴퓨터 명령어 또는 컴퓨터 코드를 실행할 수 있는 프로세서(402)에서 실행될 수 있다. 프로세서(402)는, 주문형 집적 회로(ASIC), 프로그래머블 로직 어레이(PLA), 디지털 신호 프로세서(DSP), 필드 프로그래머블 게이트 어레이(FPGA), 또는 기타 임의의 집적 회로를 이용하여 하드웨어로 구현된다. 컴퓨터 프로그램을 실행하기에 적합한 프로세서(402)로는, 예로서, 범용 마이크로프로세서 및 특별 목적 마이크로프로세서 양쪽 모두, 디지털 신호 프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서가 포함된다. 일반적으로, 프로세서(402)는 판독 전용 메모리나 랜덤 액세스 메모리 또는 양쪽 모두로부터 명령어와 데이터를 수신한다.
일부 실시예에서, 개시된 방법 단계들은, 입력 데이터에 관해 동작하고 및/또는 출력 데이터를 생성함으로써 본 발명의 기능을 수행하도록 컴퓨터 프로그램을 실행하는 하나 이상의 프로세서(402)에 의해 수행될 수 있다. 모듈들(예를 들어, 모듈 406, 408, 412, 414, 416) 중 하나 이상은, ASIC(주문형 집적 회로), PLA(프로그래머블 로직 어레이), DSP(디지털 신호 프로세서), FPGA(필드 프로그래머블 게이트 어레이) 또는 다른 집적 회로를 이용하여 하드웨어로 구현될 수 있다. 일부 실시예에서, 2개 이상의 모듈들(406, 408, 412, 414, 416)은, ASIC, PLA, DSP 또는 FPGA 등의 동일한 집적 회로 상에 구현되어, 시스템 온 칩을 형성할 수 있다. 서브루틴은 컴퓨터 프로그램의 일부 및/또는 하나 이상의 기능을 구현하는 프로세서/특수 회로를 참조할 수 있다.
모듈들(406, 408, 412, 414, 416)은, 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 이들의 조합으로 구현될 수 있다. 구현은, 데이터 처리 장치, 예를 들어, 프로그래머블 프로세서, 컴퓨터, 및/또는 복수의 컴퓨터에 의한 실행을 위한, 또는 이들의 동작을 제어하기 위한, 컴퓨터 프로그램 제품, 예를 들어, 머신-판독가능한 스토리지 디바이스로 유형적으로 구현된 컴퓨터 프로그램일 수 있다. 컴퓨터 프로그램은, 소스 코드, 컴파일된 코드, 인터프리팅된 코드 및/또는 머신 코드를 포함한 컴퓨터 또는 프로그래밍 언어의 형태로 작성될 수 있으며, 컴퓨터 프로그램은, 독립형 프로그램 또는 서브루틴, 요소, 또는 컴퓨팅 환경에서 이용하기에 적합한 다른 유닛을 포함한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 또는 하나 이상의 사이트에 있는 복수의 컴퓨터에서 실행되도록 배치될 수 있다.
컴퓨팅 디바이스(400)는, 외부 장치에, 예를 들어, 공장 자동화나 물류 장비에, 또는 통신 네트워크에, 예를 들어, 공장 자동화나 물류 네트워크에 동작적으로 결합되어, 이들 장비 또는 네트워크로부터 명령 및/또는 데이터를 수신하거나 이들 장비 또는 네트워크에 명령 및/또는 데이터를 전송할 수 있다. 컴퓨터 프로그램 명령어 및 데이터를 구현하기에 적합한 컴퓨터-판독가능한 스토리지 디바이스는, 예시적인 반도체 메모리 디바이스, 예를 들어, DRAM, SRAM, EPROM, EEPROM 및 플래시 메모리 디바이스; 자기 디스크, 예를 들어, 내부 하드 디스크 또는 착탈식 디스크; 광자기 디스크; 및 광 디스크, 예를 들어, CD, DVD, HD-DVD, 및 블루레이(Blu-ray) 디스크를 포함한, 모든 형태의 휘발성 및 비휘발성 메모리를 포함한다.
일부 실시예에서, 컴퓨팅 디바이스(400)는 사용자 장비를 포함할 수 있다. 사용자 장비는 하나 이상의 무선 액세스 네트워크 및 유선 통신 네트워크와 통신할 수 있다. 사용자 장비는 셀룰러 전화일 수 있다. 사용자 장비는 또한, 워드 프로세싱, 웹 브라우징, 게임, 전자-책 기능, 운영 체제, 및 전체 키보드 등의 서비스를 제공하는 스마트 폰일 수도 있다. 사용자 장비는, 네트워크 액세스 및 스마트 폰에 의해 제공되는 대부분의 서비스를 제공하는 태블릿 컴퓨터일 수도 있다. 사용자 장비는, Symbian OS, iPhone OS, RIM의 Blackberry, Windows Mobile, Linux, HP WebOS, 및 Android 등의 운영 체제를 이용하여 동작한다. 스크린은 모바일 디바이스에 데이터를 입력하는데 이용되는 터치 스크린일 수 있고, 이 경우 화면은 전체 키보드 대신에 이용될 수 있다. 사용자 장비는 또한, 전역적 위치결정 좌표, 프로파일 정보, 또는 기타의 위치 정보를 유지할 수 있다.
일부 실시예에서, 컴퓨팅 디바이스(400)는 서버를 포함할 수 있다. 서버는 운영 체제(OS) 소프트웨어를 이용하여 동작할 수 있다. 일부 실시예에서, OS 소프트웨어는 Linux 소프트웨어 커널을 기반으로 하며, 태스크 모니터링 및 프로토콜 스택 제공 등의 특정한 애플리케이션을 서버에서 실행한다. OS 소프트웨어는 서버 자원이 제어 경로 및 데이터 경로에 대해 별개로 할당되는 것을 허용한다. 예를 들어, 소정의 패킷 가속기 카드 및 패킷 서비스 카드는 라우팅 또는 보안 제어 기능을 수행하는데 전용되는 반면, 다른 패킷 가속기 카드/패킷 서비스 카드는 사용자 세션 트래픽 처리에 전용된다. 네트워크 요건이 변함에 따라, 일부 실시예에서 하드웨어 자원은 이 요건을 충족시키도록 동적으로 배치될 수 있다.
제1 프로브 배치 메커니즘―프로브들의 수직 배향 밸런싱
일부 실시예에서, 프로브 배치 모듈(408)은 프로브 위치들에서 측정된 수직 배향들을 밸런싱하게끔 프로브들을 배치하도록 구성될 수 있다. 더 구체적으로는, 프로브 배치 모듈(408)은, 프로브들의 위치에서 측정된 수직 배향들의 히스토그램이 대략 균일하도록 2D 이미지 내의 하나 이상의 관심 지점에 프로브들을 배치하도록 구성될 수 있다. 이러한 동작 모드는 프로브 배치 모듈(408)이 2개 자유도를 갖는 물체에 대한 모델의 정확도를 향상시키는 것을 허용할 수 있다.
일부 실시예에서, 수직 배향들의 히스토그램은 복수의 배향 빈(orientation bin)을 포함할 수 있다. 각각의 배향 빈은 미리 결정된 배향 범위에 대응할 수 있다. 예를 들어, 수직 배향들의 히스토그램은 180개의 빈을 포함할 수 있고, 각각의 배향 빈은 2도 범위의 각도를 포함할 수 있다. 따라서, 수직 배향들의 히스토그램은 관심 지점들에서 측정된 수직 배향들의 프로파일을 나타낼 수 있다. 일부 실시예에서, 수직 배향들의 히스토그램은 연속적인 분포로서 표현될 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 관심 지점들과 연관된 수직 배향들의 히스토그램을 결정하도록 구성될 수 있다. 이 목적을 위해, 프로브 배치 모듈(408)은 관심 지점들 각각과 연관된 수직 배향을 결정할 수 있다. 예를 들어, 프로브 배치 모듈(408)은, IPD 모듈(406)로부터, 관심 지점들 각각에서의 수직 배향을 나타내는 정보를 수신할 수 있다. 다른 예로서, 프로브 배치 모듈(408)은 관심 지점들 각각과 연관된 수직 배향을 계산할 수 있다. 후속해서, 프로브 배치 모듈(408)은 복수의 관심 지점에서 측정된 수직 배향들의 히스토그램을 결정할 수 있다.
도 5는 일부 실시예에 따른 관심 지점들에 대한 수직 배향들의 히스토그램을 결정하는 프로세스를 나타낸다.
단계 502에서, IPD 모듈(406)은 이미지 내의 관심 지점들을 결정할 수 있다. 일부 실시예에서, 관심 지점들은 이미지에서 묘사된 2D 패턴의 경계를 포함할 수 있다. 일부 경우에, IPD 모듈(406)은 엣지 검출 기술을 이용하여 2D 패턴의 경계를 식별할 수 있다. 예를 들어, IPD 모듈(406)은 엣지 검출 동작을 수행하여 엣지에 대응하는 것으로 여겨지는 엣지 지점들의 세트를 식별할 수 있다. 각각의 지점은, 위치 벡터, 및 아래에 놓인 구조에 수직인 수직 벡터와 연관될 수 있다. 후속해서, IPD 모듈(406)은 엣지 지점들을 체인화하여 2D 패턴의 일관된 경계를 형성할 수 있다. 엣지 검출 기술은, 예를 들어, Canny 엣지 검출 기술 또는 Hough 변환 기술을 포함할 수 있다. 엣지 검출 기술은, 예를 들어, Sobel 연산자, Kirsch 연산자, Prewitt 연산자, Gabor 필터, Haar 웨이브렛 필터, 이미지 내의 픽셀 값(예를 들어, 이미지의 고주파 성분)의 변화를 검출할 수 있는 기타 임의의 필터, 및/또는 이들의 임의의 조합을 포함을 포함한, 하나 이상의 엣지 검출 연산자를 이용할 수 있다.
다른 실시예에서, 관심 지점들은 SIFT 피쳐 지점을 포함할 수 있다. 이러한 경우, IPD 모듈(406)은 SIFT 동작을 수행하여 SIFT 피쳐 지점들을 식별할 수 있다.
일부 실시예에서, 관심 지점들은 패턴의 경계 상에 균일하게 배치될 수 있다. 예를 들어, 임의의 2개의 인접 관심 지점들 사이의 거리는 실질적으로 동일할 수 있다. 이 경우, 각각의 관심 지점은 경계의 동일한 호 길이와 연관되는 것으로 간주할 수 있다.
일단 적어도 하나의 관심 지점이 이용가능하게 되면, FDC 모듈(414)은, IPD 모듈(406)로부터, 적어도 하나의 관심 지점의 위치를 수신할 수 있다. 그런 다음, FDC 모듈(414)은 적어도 하나의 관심 지점에서 측정된 수직 배향들의 히스토그램을 생성하기 위해 단계들 504-508을 반복할 수 있다.
단계 504에서, FDC 모듈(414)은 적어도 하나의 관심 지점 중 하나를 선택하고 선택된 관심 지점에서 수직 배향을 결정할 수 있다. 일부 실시예에서, FDC 모듈(414)은 IPD 모듈(406)로부터 수직 배향들 정보를 수신할 수 있다. 다른 실시예에서, FDC 모듈(414) 자체는 선택된 관심 지점에서 수직 배향을 결정할 수 있다. 예를 들어, FDC 모듈(414)은 수직 배향을 결정하기 위해 기울기 연산자를 관심 지점과 컨벌루션한다. 기울기 연산자는, Gabor 필터, Haar 웨이블릿 필터, 조향가능한 필터, x-방향 기울기 필터 [-1, 0, 1], y-방향 기울기 필터 [-1, 0, 1]T, 및/또는 이들의 임의의 조합을 포함할 수 있다. 또 다른 예로서, FDC 모듈(414)은, 예를 들어 관심 지점들 아래에 놓인 구조의 기울기 벡터를 결정하거나 구조의 경계 상의 2개의 근처의 지점들을 연결하는 라인의 배향을 결정함으로써, 관심 지점들 각각과 연관된 수직 배향들을 계산한다.
단계 506에서, FDC 모듈(414)은 선택된 관심 지점에서의 수직 배향의 기여도를 수직 배향들의 히스토그램에 추가할 수 있다. 이 목적을 위해, FDC 모듈(414)은 단계 504에서 결정된 수직 배향에 대응하는 배향 빈을 히스토그램에서 결정할 수 있다. 예를 들어, 수직 배향이 x-축에 관해 3도인 경우, FDC 모듈(414)은 그 수직 배향이 x-축에 관해 2도와 4도 사이의 배향을 커버하는 배향 빈 #1과 연관되어 있다고 결정할 수 있다. 후속해서, FDC 모듈(414)은 수직 배향과 연관된 배향 빈에 투표를 추가할 수 있다. 예를 들어, FDC 모듈(414)은 배향 빈의 값을 1만큼 증가시킬 수 있다. 또 다른 예로서, FDC 모듈(414)은 가중치에 의해 배향 빈의 값을 증가시킬 수 있다. 가중치는 관심 지점과 연관된 기울기 벡터에 의존할 수 있다. 예를 들어, 가중치는 기울기 벡터의 크기에 의존할 수 있다.
단계 508에서, FDC 모듈(414)은 FDC 모듈(414)이 수직 배향들의 히스토그램에 대해 고려하지 않은 임의의 관심 지점이 존재하는지를 결정할 수 있다. 그렇다면, FDC 모듈(414)은 단계 504로 되돌아 가서, FDC 모듈(414)에 의해 모든 관심 지점들이 고려될 때까지 단계들 504 내지 508을 반복할 수 있다. FDC 모듈(414)이 모든 관심 지점들을 고려했다면, FDC 모듈(414)은 수직 배향들의 히스토그램을 출력할 수 있다.
도 6a 내지 도 6h는 일부 실시예에 따른 수직 배향들의 히스토그램을 생성하기 위한 프로세스를 나타낸다. 이 예시에서, 각각의 화살표(602)의 중심은 관심 지점에 대응하는 것으로 간주될 수 있고, 모든 관심 지점들의 세트는 경계(102)를 포함하는 것으로 간주될 수 있다. 도 6a에 나타낸 바와 같이, FDC 모듈(414)은, 제1 관심 지점(602A)이 0과 π/6 사이의 범위를 커버하는 배향 빈과 연관되어 있다고 결정할 수 있다. 따라서, FDC 모듈(414)은 배향 빈과 연관된 값을 1만큼 증가시킬 수 있다. 도 6b 내지 도 6h에 나타낸 바와 같이, FDC 모듈(414)은 경계(102) 상의 각각의 관심 지점(602)에 대해 이 동작을 수행할 수 있고, 수직 배향(604)의 대응하는 히스토그램을 생성할 수 있다.
일부 실시예에서, TDC 모듈(412)은 프로브들의 타겟 분포를 생성하도록 구성될 수 있다. 프로브들의 타겟 분포는 하나 이상의 관심 지점 상의 프로브들의 원하는 배치를 나타낼 수 있다. 일부 실시예에서, 타겟 분포는 복수의 배향 빈을 포함할 수 있고, 여기서, 각각의 배향 빈은 값과 연관된다. 일부 경우에, 타겟 분포는 균일한 분포일 수 있다. 본질적으로 균일한 타겟 분포는, 특정한 배향을 가리키는 관심 지점들 상의 프로브들의 수가 또 다른 배향을 가리키는 관심 지점들 상의 프로브들 수와 같아야 한다는 것을 나타낸다. 이러한 방식으로, 프로브 배치 모듈(408)은 상이한 배향들을 가리키는 프로브들의 수를 밸런싱할 수 있다.
일부 경우에, 타겟 분포는 부분적으로 균일한 분포일 수 있다. 예를 들어, 타겟 분포의 배향 빈들 중 일부는 0 값을 가질 수 있고 나머지 배향 빈들은 동일한 값을 가질 수 있다. 이러한 경우에, 타겟 분포의 배향 빈은 수직 배향들의 히스토그램(604)에서 대응하는 배향 빈이 0의 값을 가질 때 0의 값을 가질 수 있다.
일단 FDC 모듈(414)이 수직 배향들의 히스토그램을 결정하고 TDC 모듈(412)이 타겟 분포를 결정하고 나면, PDM 모듈(416)은 하나 이상의 관심 지점들 상의 프로브들의 분포가 타겟 분포와 정합하도록 프로브들의 위치를 결정할 수 있다.
도 7은 일부 실시예들에 따른 프로브들의 배치를 결정하기 위한 프로세스를 나타낸다. 단계 702에서, PDM 모듈(416)은 수직 배향들의 히스토그램을 이용하여 관심 지점들의 어느 부분이 특정한 배향을 가리키는 구조 상에 있는지를 결정할 수 있다. 예를 들어, 히스토그램이 180개의 배향 빈을 갖는 경우, PDM 모듈(416)은 히스토그램을 이용하여 2도 해상력을 갖는 특정한 배향을 가리키는 관심 지점들의 비율을 결정할 수 있다. 후속해서, PDM 모듈(416)은 관심 지점에 대응하는 히스토그램 빈의 값에 기초하여 관심 지점들의 호 길이를 스케일링할 수 있다. 더 구체적으로는, PDM 모듈(416)은, 개개의 관심 지점과 연관된 히스토그램 빈의 값에 반비례하는 방식으로 개개의 관심 지점의 호 길이를 조정할 수 있다.
예를 들어, 도 3에 나타낸 예를 참조하면, 짧은 엣지(104)를 따른 관심 지점들의 수는 긴 엣지(106)를 따른 관심 지점들의 수에 비해 작을 수 있다. 따라서, 짧은 엣지(104)에 대응하는 히스토그램에서의 빈의 값은 긴 엣지(106)에 대응하는 빈의 값보다 작을 수 있다. 이에 기초하여, PDM 모듈(416)은 짧은 엣지(104)를 따른 관심 지점들의 호 길이(예를 들어, 경계 섹션)를 증가시키고 긴 엣지(106)를 따른 관심 지점들의 호 길이를 감소시킬(또는 변경하지 않고 내버려 둘) 수 있다.
도 8은 일부 실시예에 따른 경계에 대한 관심 지점들의 호 길이의 스케일링을 나타낸다. 히스토그램은 수직 엣지 상의 관심 지점들의 수가 수평 엣지 상의 관심 지점들의 수보다 적다는 것을 나타내기 때문에, PDM 모듈(416)은 수직 엣지 상의 관심 지점들의 호 길이를 증가시킬 수 있다. 관심 지점들의 증가된 호 길이는, 화살표(802)로 나타낸 바와 같이, 수직 엣지를 따른 경계의 길이를 증가시키는 것으로 생각될 수 있다.
단계 704에서, PDM 모듈(416)은 균일한 방식으로 스케일된 경계 상에 프로브들을 배치할 수 있다. 도 9는 일부 실시예에 따른 스케일링된 경계 상의 프로브들의 균일한 배치를 나타낸다. 경계의 수직 엣지가 스케일링되었기 때문에, 스케일링된 수직 엣지 상의 프로브(104)들의 균일한 배치는 수직 엣지 및 수평 엣지 상에서 대략 동일한 수의 프로브(104)를 야기할 수 있다.
일부 실시예에서, PDM 모듈(416)은 스케일링된 경계 상에 프로브들을 순차적으로 균일하게 배치할 수 있다. 예를 들어, PDM 모듈(416)은, (임의로 선택될 수 있는) 초기 관심 지점에서 시작하여 그 초기 관심 지점에 제1 프로브를 배치한다. 후속해서, PDM 모듈(416)은 제2 프로브를 제1 프로브로부터 미리 결정된 거리만큼 분리된 관심 지점에 배치할 수 있다. 이 프로세스는, PDM 모듈(416)이 복수의 관심 지점들 모두를 고려할 때까지 반복될 수 있다.
단계 706에서, PDM 모듈(416)은 단계 702로부터 스케일링 동작을 역전시킴으로써, 균일하게 배치된 프로브들 사이의 거리를 조정할 수 있다. 도 10은 일부 실시예에 따른 스케일링된 경계의 역 스케일링을 나타낸다. 경계의 역 스케일링과 함께, 2개의 인접한 프로브(104)들 사이의 거리도 역시 대응적으로 스케일링된다. 따라서, 수직 엣지를 따른 프로브들의 밀도는 수평 엣지를 따른 프로브들의 밀도에 비해 더 높아진다. 이러한 방식으로, 분포(1002)에 의해 도시된 바와 같이, PDM 모듈(416)은 프로브 위치들에서 측정된 수직 배향들의 히스토그램을 밸런싱할 수 있다. 수직 배향(1002)들의 밸런싱된 히스토그램은 일반적으로, 프로브(104)들로부터 도출된 방향 정보도 역시 밸런싱된다는 것을 나타낸다.
일부 실시예에서, PDM 모듈(416)은, 관심 지점들(예를 들어, 경계 섹션들)의 호 길이를 실제로 그래픽적으로 늘리지 않고 호 길이 스케일링 및 역 스케일링을 수행하도록 구성될 수 있다. 예를 들어, PDM 모듈(416)은, 관심 지점의 호 길이를 효과적으로 스케일링하기 위하여, 관심 지점 주변의 기저 좌표 시스템의 해상도를 증가시키거나 감소시키도록 구성될 수 있다.
일부 실시예에서, PDM 모듈(416)은 프로브들을 순차적으로 배치함으로써 단계들 704 및 706을 병합할 수 있다. 예를 들어, PDM 모듈(416)은 2개의 프로브들을 분리해야 하는 균일한 거리를 결정할 수 있다. 그 다음, PDM 모듈(416)은 (임의로 선택될 수 있는) 초기 관심 지점에서 시작하여 그 초기 관심 지점에 제1 프로브들을 배치한다. 후속해서, PDM 모듈(416)은 수직 배향들의 히스토그램에 기초하여 초기 관심 지점과 연관된 호 길이를 결정할 수 있다. 그 다음, PDM 모듈(416)은 호 길이의 함수로서 균일 거리를 스케일링하여 제1 프로브와 제1 프로브에 인접하게 배치될 제2 프로브들 사이의 스케일링된 거리를 결정할 수 있다. 후속해서, PDM 모듈(416)은 제2 프로브를 제1 프로브로부터 스케일링된 거리만큼 분리된 관심 지점에 배치할 수 있다. 이 프로세스는, PDM 모듈(416)이 복수의 관심 지점들 모두를 고려할 때까지 반복될 수 있다. 이러한 방식으로, PDM 모듈(416)은 패턴의 경계를 그래픽적으로 스케일링하지 않고 단계들 704 및 706을 수행할 수 있다.
일부 실시예에서, FDC 모듈(414)은, 단계 702에서 관심 지점들의 호 길이를 스케일링하기 전에 수직 배향들의 히스토그램에 관해 저역-통과 필터링 동작을 수행할 수 있다. 관심 지점들의 호 길이를 스케일링하기 전에 저역-통과 필터링 동작을 수행하는 것이 몇 가지 이점을 가질 수 있다. 첫째, 저역-통과 필터링 동작은 프로브 배치 모듈이 수직 배향들의 히스토그램으로부터 노이즈를 제거하는 것을 허용할 수 있다.
둘째, 저역-통과 필터링은 0에 의한 나눗셈 문제를 해결할 수 있다. 호 길이 스케일링을 수행하는 PDM 모듈(416)은, 종종, 수직 배향들의 히스토그램에서의 배향 빈의 값을 분모로서 이용한다. 그러나, 0에 의한 나눗셈 문제를 야기할 수 있는, 0의 값을 갖는 일부 배향 빈들이 있을 수 있다. 저역-통과 필터링 동작은, 0의 값을 갖는 배향 빈들을 효과적으로 제거함으로써 이 문제를 해결할 수 있다.
셋째, 저역-통과 필터링 동작은, 프로브 배치 모듈이, 이웃하는 배향 빈들이 잘 표현될 때 심하게 과소 표현되는 특정한 배향 빈을 할인하는 것을 허용할 수 있다. 예를 들어, 수직 배향들의 히스토그램은, 패턴이, 89도의 수직 배향을 갖는 구조에서 100개의 관심 지점을 가지며, 91도의 수직 배향을 갖는 구조에서 100개의 관심 지점을 갖지만 90도의 수직 배향을 갖는 구조에서는 단지 1개의 관심 지점을 가진다는 것을 나타낼 수 있다. 저역-통과 필터링이 없다면, PDM 모듈(416)은 89도 또는 91도의 수직 배향을 갖는 관심 지점들 주변의 프로브들의 수를 제한하면서, 90도의 수직 배향을 갖는 관심 지점 주변의 프로브들의 수를 증가시킬 것이다. 수직 배향들의 히스토그램을 밸런싱하기 위한 이러한 과감한 조처는, 유사한 배향들은 유사한 정보를 포착할 수 있기 때문에 프로브들로부터 밸런싱된 정보를 포착하는데 있어서 효과적이지 않을 수 있다. 즉, 89 또는 91도의 수직 배향을 가리키는 프로브들은 90도의 수직 배향을 가리키는 프로브들과 실질적으로 유사한 정보를 포착할 수 있다. 따라서, 90도의 수직 배향을 가리키는 프로브들의 수를 증가시키는 것은, 특히 프로브들의 총 수가 제한된 경우, 전체 범위의 각도에서 밸런싱된 정보를 포착하는데 있어서 효과적이지 않을 수 있다.
저역-통과 필터링은, 수직 배향들의 히스토그램을 저역 통과 필터링함으로써, 90도에 대한 배향 빈의 값은 89도 및 91도에 대한 배향 빈의 값들로 평활화(예를 들어, 평균화)될 수 있기 때문에, 이 문제를 해결할 수 있다. 따라서, 저역-통과 필터링 동작은 90도에 대한 배향 빈의 값을 상당히 증가시킬 수 있다. 이러한 방식으로, PDM 모듈(416)은, 90도의 수직 배향들 주변의 정보가 89도 및 91도를 가리키는 프로브들에 의해 잘 포착된다는 것을 인식할 수 있다. 따라서, PDM 모듈(416)은 90도를 가리키는 프로브들의 수를 급격히 증가시키지 않을 것이다.
일부 실시예에서, FDC 모듈(414)은 히스토그램을 커널로 컨벌루션함으로써 저역-통과 필터링 동작을 수행할 수 있다. 일부 경우에, FDC 모듈(414)은 순환 컨벌루션을 수행하도록 구성될 수 있다. 예를 들어, 순환 컨벌루션 하에서, FDC 모듈(414)은 히스토그램의 배향 도메인(예를 들어, 0-2π)의 경계 주위에서 커널을 감쌀 수 있다. 저역-통과 필터링 동작을 위한 커널은, 올림 코사인(raised cosine) 커널, 코사인-제곱 커널, 또는 히스토그램을 평활화할 수 있는 기타 임의의 순환 함수를 포함할 수 있다. FDC 모듈(414)은 히스토그램에 관해 수행될 평활화의 양을 제어하기 위해 커널의 폭을 제어할 수 있다. 예를 들어, 커널의 폭은 2π/N을 커버할 수 있고, 여기서 N은 임의의 정수일 수 있다.
일부 실시예에서, 도 10에서와 같이 짧은 엣지를 따른 프로브들의 밀도를 증가시키는 것 대신에, PDM 모듈(416)은 관심 지점들 상의 프로브들을 초기화하고 초기화된 프로브들과 연관된 가중치들을 결정하도록 구성될 수 있다. 예를 들어, 프로브가 짧은 엣지와 연관될 때(예를 들어, 프로브가 작은 값을 갖는 배향 빈에 대응하는 엣지 상에 배치되는 경우), PDM 모듈(416)은 그 프로브와 연관된 가중치를 증가시킬 수 있고; 프로브가 긴 엣지와 연관될 때(예를 들어, 프로브가 큰 값을 갖는 배향 빈에 대응하는 엣지 상에 배치되는 경우), PDM 모듈(416)은 그 프로브와 연관된 가중치를 감소시킬 수 있다. 후속해서, 가중치는, 다양한 응용, 예를 들어 경계의 정렬에 대해, 프로브들의 기여도를 변화시키는데 이용될 수 있다. 이 기술을 이용하여, PDM 모듈(416)은, (1) 짧은 엣지를 따른 프로브들의 밀도를 증가시키고, (2) 정렬 동안 증가된 수의 프로브들과 정합시키는데 필요한 계산 능력을 감소시킬 수 있다. 그러나, PDM 모듈(416)은 도 7의 프로세스를 이용하는 것과 비교하여 프로브들의 해상도를 감소시킬 수 있다.
제2 프로브 배치 메커니즘 ― 분포로부터 프로브들을 샘플링
일부 실시예에서, 프로브 배치 모듈(408)은, 프로브들의 타겟 분포로부터 프로브들을 샘플링함으로써 하나 이상의 관심 지점들 상에 프로브들을 배치하도록 구성될 수 있다. 프로브들의 타겟 분포는 패턴과 연관된 자유도에 대응하는 랜덤 변수들을 포함할 수 있다. 예를 들어, 패턴과 연관된 물체가 2차원으로 이동(예를 들어, 병진 운동)하는 것이 허용된 경우, 타겟 분포는 2개의 랜덤 변수: x 좌표 및 y 좌표(또는 다른 등가의 표현)를 가질 수 있다. 다른 예로서, 패턴과 연관된 물체가 병진 운동 및 회전 운동을 하는 것이 허용된 경우, 타겟 분포는 3개의 랜덤 변수: x 좌표, y 좌표, 및 회전 벡터(예를 들어, 배향)를 가질 수 있다. 또 다른 예로서, 패턴과 연관된 물체가 병진 운동, 회전 운동, 및 스케일링 운동(예를 들어, 이미징 디바이스로부터 멀어지거나 그 쪽으로 향하는 움직임)이 허용된 경우, 타겟 분포는 4개의 랜덤 변수 : x 좌표, y 좌표, 회전, 및 스케일을 포함할 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 타겟 분포를 비-파라메트릭 분포로서 나타낼 수 있다. 예를 들어, 프로브 배치 모듈(408)은 각각의 랜덤 변수의 도메인을 복수의 빈으로 양자화할 수 있고, 대응하는 빈에 속하는 관심 지점들의 수를 단순히 카운트할 수 있다. 다른 실시예에서, 프로브 배치 모듈(408)은 타겟 분포를 파라메트릭 분포로서 나타낼 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 TDC 모듈(412)을 이용하여 타겟 분포를 결정할 수 있다. TDC 모듈(412)은, 관심 지점들과 연관된 피쳐들에 기초하여 프로브들의 타겟 분포를 결정하도록 구성될 수 있다. 예를 들어, TDC 모듈(412)은, 예를 들어, 관심 지점들의 좌표, 관심 지점들과 연관된 수직 배향, 관심 지점들의 회전, 또는 관심 지점들의 스케일 중 하나 이상에 기초하여 타겟 분포를 결정할 수 있다.
일부 실시예에서, TDC 모듈(412)은, 타겟 분포로부터 샘플링된 수직 배향들의 분포가 실질적으로 밸런싱되게끔 타겟 분포를 결정하도록 구성된다. 예를 들어, 관심 패턴이 도 1에 도시된 바와 같이 수평 직사각형이라고 가정하자. 이러한 패턴은, 도 11a에 도시된 기울기 벡터 분포를 갖는 모델과 연관될 수 있다. 도 11a에 도시된 바와 같이, 큰 x-방향 성분을 갖는 엣지에 비해 y-방향 성분을 갖는 큰 엣지가 상당히 더 많다. 따라서, 도 1의 패턴에 대한 타겟 분포는, 도 11b에 도시된 바와 같이 타겟 분포로부터 도출된 프로브들이 밸런싱된 기울기 분포를 가질 수 있도록 하는 것이어야 한다.
일부 실시예에서, TDC 모듈(412)은 타겟 분포가 관심 지점들의 분포와 유사한 지지도를 갖게끔 타겟 분포를 결정하도록 구성된다. 이것은, 이들 실시예에서, 프로브 배치 모듈(408)은 기존의 관심 지점들 세트로부터 리샘플링(예를 들어, 중요도 샘플링)에 의해 프로브들을 샘플링하도록 구성되기 때문에 중요하다. 이 목적을 위해, TDC 모듈(412)은, 후술되는 바와 같이, 관심 지점 분포와 타겟 분포 양쪽 모두에 대한 혼합 모델을 이용하도록 구성된다.
일부 실시예에서, TDC 모듈(412)은 PDM 모듈(414)에 타겟 분포를 제공하고, PDM 모듈(414)은 프로브들의 위치를 결정하기 위해 타겟 분포로부터 샘플들을 추출하도록 구성된다.
일부 실시예에서, PDM 모듈(414)은 중요도 샘플링 기술을 이용하여 타겟 분포로부터 샘플들을 도출할 수 있다. 다른 실시예에서, PDM 모듈(414)은 패턴의 경계를 결정하고, 패턴의 경계를 따라 프로브 샘플들을 생성하도록 구성될 수 있다. 이 기술은 타겟 분포로부터 작은 수의 프로브들만을 도출할 때 유용할 수 있다. 이 기술은, 샘플링에 의해 생성된 프로브 세트가 리샘플링 프로세스에서의 무작위 변동에 영향을 받지 않으며, 프로브들이 패턴의 경계의 전체 기하학적 범위에 걸쳐 분산되도록 보장할 수 있다는 이점이 있다.
타겟 분포 계산
패턴이 2개의 자유도를 가질 때(예를 들어, 병진 운동), TDC 모듈(412)은 다음과 같은 관계를 만족하는 가중 함수 f(x, y)를 결정할 수 있다:
Figure 112017084000307-pat00009
및 :
Figure 112017084000307-pat00010
여기서, i는 i번째 관심 지점을 인덱싱한다. 이 최적화 루틴의 목적은, (1) 관심 지점들에서 측정된 기울기 벡터들의 x-성분들의 가중된 합과 (2) 관심 지점들에서 측정된 기울기 벡터들의 y-성분들의 가중된 합을 같게 하는 함수 f(x, y)를 식별하는 것이다. 일부 경우에, TDC 모듈(412)은 기울기 벡터들의 크기만을 밸런싱할 수 있다. 따라서,
Figure 112017084000307-pat00011
는 i번째 관심 지점에서 측정된 기울기 벡터의 x 성분의 절대 값을 지칭할 수 있고;
Figure 112017084000307-pat00012
는 i번째 관심 지점에서 측정된 기울기 벡터의 y 성분의 지칭할 수 있다.
일단 TDC 모듈(412)이 가중 함수 f(x, y)를 결정하고 나면, TDC 모듈(412)은 가중 함수 f(x, y)를 PDM 모듈(416)에 제공할 수 있다. 일부 실시예에서, 가중 함수는, PDM 모듈(416)이 하나 이상의 관심 지점들 상에 프로브들을 배치하는데 이용할 수 있는 확률 분포의 형태를 취할 수 있다. PDM 모듈(416)은 이 경우에서는 프로브들을 샘플링하기 위한 확률 분포로서 가중 함수 f(x, y)를 이용하기 때문에, 이것은 음이 아니도록 제한되어야 하고, 적어도 일부 기울기 성분(x, y)에 대해서는 양일 수 있다. 이러한 실시예에서, "타겟 분포"라는 용어는 여기서는 f(x, y)로 표기된 확률 분포를 지칭하기 위해 이용될 것이다.
일부 실시예에서, 가중 함수는, 어떤 다른 수단을 통해 선택된 기존의 프로브 세트를 가중치부여하여, 다음을 최소화하는 방식으로 그들의 상대적 중요성에 영향을 미친다:
Figure 112017084000307-pat00013
및 :
Figure 112017084000307-pat00014
패턴이 3개의 자유도(예를 들어, 병진 운동 및 회전 운동)를 가질 때, TDC 모듈(412)은 회전 운동에 대응하는 회전 변수
Figure 112017084000307-pat00015
를 타겟 분포에 통합할 수 있다. TDC 모듈(412)은 원점에 관한 회전 변수
Figure 112017084000307-pat00016
를 정의할 수 있다.
일부 실시예에서, 원점은 복수의 관심 지점의 질량 중심일 수 있다. 일부 실시예에서, 원점은 회전 중심일 수 있다. 회전 중심은 회전 모멘트가 최소화되는 지점일 수 있다. 회전 중심은 고유한 전역 최소값에 대응하고, 기본 벡터(예를 들어, 좌표계)의 선택과는 무관하다. 따라서, 회전 중심은 복수의 관심 지점에 고유한 기하학적 양이다. 회전 중심은 다음과 같이 계산할 수 있다:
Figure 112017084000307-pat00017
여기서, p는 (임의일 수 있는) 기준점에 관한 기준 벡터이고, u는 특정한 관심 지점에서의 단위 법선 벡터이며, X는 외적 행렬(cross product matrix)이다. 도 11은 일부 실시예에 따른 기준 벡터 p와 단위 법선 벡터 u 사이의 관계를 나타낸다. 정규직교 기반(orthonormal basis)에서,
Figure 112017084000307-pat00018
. 계산 목적을 위해, 정규직교 기반의 좌표계에서 회전 중심은 다음과 같이 계산될 수 있다:
Figure 112017084000307-pat00019
여기서 첨자 x 및 y는 대응하는 벡터의 x 및 y 성분을 나타낸다.
일단 원점이 결정되고 나면, TDC 모듈(412)은 원점으로부터 i번째 관심 지점의 중심까지의 벡터인 i번째 관심 지점의 위치 벡터
Figure 112017084000307-pat00020
와, i번째 관심 지점의 중심에서의 회전 단위 벡터
Figure 112017084000307-pat00021
를 이용하여, 회전 변수
Figure 112017084000307-pat00022
를 결정할 수 있다. 도 12는 일부 실시예에 따른 위치 벡터
Figure 112017084000307-pat00023
와 단위 회전 벡터
Figure 112017084000307-pat00024
사이의 관계를 나타낸다.
일부 실시예에서, 회전 변수
Figure 112017084000307-pat00025
는 위치 벡터
Figure 112017084000307-pat00026
의 노옴(norm)과는 독립적일 수 있다. 위치 벡터
Figure 112017084000307-pat00027
의 노옴과는 독립적인 회전 변수
Figure 112017084000307-pat00028
는 위치 벡터
Figure 112017084000307-pat00029
의 노옴에 기초하여 프로브 위치들을 구별하지 않는 타겟 분포를 제공할 수 있다. 예를 들어, TDC 모듈(412)은 다음과 같이 i번째 관심 지점에 대한 회전 변수
Figure 112017084000307-pat00030
를 정의할 수 있다:
Figure 112017084000307-pat00031
회전 변수
Figure 112017084000307-pat00032
의 이러한 표현은 큰 각도 스텝 크기 ω로 피쳐들을 대략적으로 정렬하는데 유용할 수 있다.
일부 실시예에서, 회전 변수
Figure 112017084000307-pat00033
는 위치 벡터
Figure 112017084000307-pat00034
의 노옴을 고려할 수 있다.
Figure 112017084000307-pat00035
이기 때문에, TDC 모듈(412)은 각도 정밀도를 증가시키기 위하여 원점으로부터 더 먼 관심 지점들의 기여도를 강조할 수 있다. 예를 들어, TDC 모듈(412)은 다음과 같이 i번째 관심 지점에 대한 회전 변수
Figure 112017084000307-pat00036
를 정의할 수 있다:
Figure 112017084000307-pat00037
위치 벡터
Figure 112017084000307-pat00038
의 노옴에 의존하는 회전 변수
Figure 112017084000307-pat00039
는 원점으로부터 더 멀리 떨어진 위치들에 프로브들을 배치하는 것에 우호적인 타겟 분포를 제공할 수 있다. 이러한 방식으로, 타겟 분포는 원점으로부터 더 멀리 떨어진 관심 지점들에서 더 많은 프로브들이 샘플링되게 할 수 있다.
일부 실시예에서, TDC 모듈(412)은 패턴의 피쳐에 기초하여 회전 변수
Figure 112017084000307-pat00040
에 대한 표현을 결정할 수 있다. 예를 들어, TDC 모듈(412)은 패턴이 레버 아암을 포함한다고 결정할 수 있다. 이 경우, TDC 모듈(412)은 회전 변수
Figure 112017084000307-pat00041
에 대해 어느 표현을 이용할지를 결정하는데 있어서 레버 아암을 고려할 수 있다. 또 다른 예로서, TDC 모듈(412)은 패턴이 동심원들 또는 너트 내부의 또 다른 너트를 포함한다고 결정할 수 있다. 이 경우, TDC 모듈(412)은 회전 변수
Figure 112017084000307-pat00042
에 대해 어느 표현을 이용할지를 결정하는데 있어서 동심원들 또는 너트 내부의 또 다른 너트를 고려할 수 있다.
일단 TDC 모듈(412)이 회전 변수에 대한 표현을 결정하고 나면, TDC 모듈(412)은 관심 지점들 각각을 나타낼 결정 표현을 이용할 수 있다. 후속해서, TDC 모듈(412)은 다음과 같은 관계를 만족하는 가중 함수 f(x, y, θ)를 발견함으로써 관심 지점들의 표현에 기초하여 타겟 분포를 결정하도록 구성될 수 있다:
Figure 112017084000307-pat00043
제약은 다음과 같다:
Figure 112017084000307-pat00044
여기서, i는 i번째 관심 지점을 인덱싱한다.
일단 TDC 모듈(412)이 타겟 분포 f(x, y, θ)를 결정하고 나면, TDC 모듈(412)은 타겟 분포 f(x, y, θ)를 PDM 모듈(416)에 제공할 수 있다. 후속해서, PDM 모듈(416)은 확률 분포로서 타겟 분포 f(x, y, θ)를 이용하여 패턴 상의 프로브들을 샘플링할 수 있다.
상기 최적화 프로세스를 용이하게 하기 위해, 프로브 배치 모듈(408)은 타겟 분포 f(x, y, θ)에 대한 함수 형태를 취할 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 타겟 분포 f(x, y, θ)가 선형 형태를 갖는다고 가정할 수 있다. 선형 함수는 음수가 될 수 있지만, 제약
Figure 112017084000307-pat00045
은 모든 관심 지점들에서 타겟 분포가 양의 값이 되도록 강제할 수 있다. 타겟 분포 f(x, y, θ)가 선형 형태를 가질 때, 타겟 분포를 찾는 최적화 루틴은 간단할 수 있다. 그러나, 선형 함수의 공간은 제한되어 있기 때문에, 모든 제약을 만족하는 선형 함수를 찾는 것이 어려울 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 타겟 분포 f(x, y, θ)가 비선형 형태를 갖는다고 가정할 수 있다. 타겟 분포 f(x, y, θ)가 비선형 형태를 가질 때, 타겟 분포를 찾는 최적화 루틴은 복잡할 수 있다. 그러나, 비선형 함수의 공간은 넓기 때문에, 모든 제약을 만족하는 비선형 함수를 찾는 것은 더 용이할 수 있다.
일부 실시예에서, TDC 모듈(412)은 타겟 분포 f(x, y, θ)를 관심 지점 분포
Figure 112017084000307-pat00046
의 역으로서 설정할 수 있다. 이 경우, TDC 모듈(412)은, FDC 모듈(414)로부터, 관심 지점 분포
Figure 112017084000307-pat00047
를 수신하고, 역 분포를 계산함으로써 간접적으로 타겟 분포 f(x, y, θ)를 결정할 수 있다:
Figure 112017084000307-pat00048
. 타겟 분포 f(x, y, θ)가 관심 지점 분포
Figure 112017084000307-pat00049
의 역으로서 정의되면, 타겟 분포 f(x, y, θ)는 나머지 관심 지점들에 비해 비교적 유사하지 않은 관심 지점들을 갖는 위치들에서 더 많은 프로브들이 샘플링되게 할 것이다.
FDC 모듈(414)은 관심 지점 분포
Figure 112017084000307-pat00050
를 혼합 모델로서 모델링할 수 있다. 일부 실시예에서, 혼합 모델은, 다음과 같은 가우시안 혼합 모델(GMM)을 포함할 수 있다:
Figure 112017084000307-pat00051
GMM은 4개의 파라미터 : 가우시안 분포의 수 N, k번째 가우시안 분포의 가중치
Figure 112017084000307-pat00052
, k번째 가우시안 분포의 평균 벡터
Figure 112017084000307-pat00053
, 및 k번째 가우시안 분포의 공분산 행렬
Figure 112017084000307-pat00054
를 가진다. 다른 실시예에서, 혼합 모델은 삼각형 분포의 혼합을 포함할 수 있다. 삼각형 분포의 혼합은 계산하기에 더 빠르며 관심 지점들의 소프트 그룹화를 제공하는 것과 유사한 바람직한 속성을 제공할 수 있다.
일부 실시예에서, FDC 모듈(414)은, 관심 지점들을 클러스터링하고 관심 지점들에 가장 잘 맞는 클러스터의 수를 결정함으로써 GMM에 대한 가우시안 분포의 수 N을 추정할 수 있다. 예를 들어, FDC 모듈(414)은 관심 지점들에 관해 k-평균 클러스터링 연산을 수행하여 가우시안 분포의 수 N을 추정할 수 있다.
나머지 파라미터 세트
Figure 112017084000307-pat00055
은, 주어진 관심 지점들 하에서 파라미터들의 우도(likelihood)를 최대화함으로써 결정될 수 있다. 일부 실시예에서, FDC 모듈(414)은 기대치-최대화 기술을 이용하여 주어진 관심 지점들 하에서 파라미터들의 우도를 최대화할 수 있다. 기대치-최대화를 수행하기 위해, FDC 모듈(414)은 클러스터링 단계로부터의 결과를 이용하여 파라미터 세트
Figure 112017084000307-pat00056
를 초기화할 수 있다.
전술된 바와 같이, TDC 모듈(412)은 단순히 관심 지점 분포
Figure 112017084000307-pat00057
를 반전(inverting)시킴으로써 타겟 분포 f(x, y, θ)를 결정할 수 있다. 그러나, 이러한 타겟 분포 f(x, y, θ)는 대부분의 프로브들이 최소의 공통 수직 배향들을 갖는 엣지들 상에 배치되게 할 수 있다. 예를 들어, 패턴이 2D 병진 운동만을 할 수 있고 그 패턴이 둥근 코너를 갖는 직사각형 경계를 갖는 경우, 이 타겟 분포 f(x, y)는 PDM 모듈(416)이 주로 코너 위치들 주변에서 샘플링하게 할 수 있다.
이러한 문제를 해결하기 위해, 일부 실시예에서, TDC 모듈(412)은 관심 지점 분포
Figure 112017084000307-pat00058
를 변환하고 변환된 관심 지점 분포
Figure 112017084000307-pat00059
를 반전시켜 타겟 분포 f(x, y, θ)를 결정할 수 있다.
앞서 설명된 "제1 프로브 배치 메커니즘"에서, 이 변환은 평활화 커널을
Figure 112017084000307-pat00060
에 적용하는 형태를 취한다.
일부 경우에, TDC 모듈(412)은 역변환을 수행하는 것 이외의 방식으로 관심 지점 분포를 변환함으로써 타겟 분포를 결정할 수 있다. 이러한 한 실시예는 소정의 조건을 만족하는 새로운 가중치
Figure 112017084000307-pat00061
를 발견함으로써 관심 지점 분포
Figure 112017084000307-pat00062
를 변환한다. 파라미터들의 세트
Figure 112017084000307-pat00063
를 추정하는데 있어서, TDC 모듈(412)은 사실상 관심 지점들의 소프트 그룹화(예를 들어, 가우시안 분포로의 소프트 그룹화)를 수행하였다. 이제 TDC 모듈(412)은 이들 그룹들을 갖기 때문에, TDC 모듈(412)은 각각의 그룹(예를 들어, 각각의 가우시안 분포)을 개별적으로 재-가중치부여할 새로운 가중치
Figure 112017084000307-pat00064
를 찾도록 구성될 수 있다.
예를 들어, TDC 모듈(412)은
Figure 112017084000307-pat00065
를 나타낼 수 있다. 이 표현에서 TDC 모듈(412)은 다음과 같은 관계를 최소화하는 가중치
Figure 112017084000307-pat00066
를 찾도록 구성될 수 있다:
Figure 112017084000307-pat00067
이 관계는 다음과 같은 제약을 가진다:
Figure 112017084000307-pat00068
Lagrange 승수를 이용하면, TDC 모듈(412)은 이 문제를 다음과 같은 선형 방정식 세트로서 변형시킬 수 있다:
Figure 112017084000307-pat00069
여기서, k=1,..,N이고,
Figure 112017084000307-pat00070
TDC 모듈(412)은 이 선형 방정식 세트를
Figure 112017084000307-pat00071
에 관해 풀 수 있지만, TDC 모듈(412)은 추가적인 제약을 받는다. 상기 선형 방정식 세트는 변환된 가중치
Figure 112017084000307-pat00072
가 음수가 되는 것을 방지하지 않거나, 큰 가중치
Figure 112017084000307-pat00073
가 (예를 들어, 관심 지점 분포
Figure 112017084000307-pat00074
의 원래의 가중치
Figure 112017084000307-pat00075
가 작은) 작은 그룹의 관심 지점들로부터 추정된 가우시안에 할당되는 것을 방지하지 않는다. TDC 모듈(412)은 이들 제약을 프로그램적으로 적용할 수 있다.
또한, TDC 모듈(412)은 변환된 가중치
Figure 112017084000307-pat00076
가 미리 정의된 값보다 클 것을 요구함으로써 인접한 프로브들 사이에 최소 프로브 거리를 부과하도록 구성된다 :
Figure 112017084000307-pat00077
여기서,
Figure 112017084000307-pat00078
는 관심 지점 분포
Figure 112017084000307-pat00079
에서 k번째 가우시안 분포의 가중치이고; Nedges는 관심 지점 분포
Figure 112017084000307-pat00080
에서 가중치
Figure 112017084000307-pat00081
를 추정하는데 이용되는 관심 지점들의 수이며; Nprobes는 프로브들의 타겟 수(예를 들어, 64)이고; dmax는 관심 지점들의 단위 또는 미리 결정된 단위의 프로브들 사이의 최대 허용 거리이다. 상기의 방정식은 다음과 같이 재배열될 수 있다:
Figure 112017084000307-pat00082
이 새로운 관계는, 혼합 성분 k에 대해 프로브들 수에 대한 엣지 수의 비율이 dmax 단위와 1 단위에 의해 제한되어 있다는 것을 나타낸다. 따라서, 클러스터 k 내의 인접한 프로브들은, dmax 단위보다 더 멀지 않고 1 단위보다는 더 가깝지 않게 배치될 수 있다.
선형 방정식 세트가 제약을 위반하는 적어도 하나의 가중치
Figure 112017084000307-pat00083
를 갖는 결과를 생성할 때, TDC 모듈(412)은 경계 사례들의 모든 가능한 조합들에 대해 반복하고, 최적의 나머지 가중치들을 계산하며, 제약된 최소치를 선택할 수 있다.
예를 들어, TDC 모듈(412)은, 선형 방정식에 대해 모든 가능한 경계 조건 세트(예를 들어,
Figure 112017084000307-pat00084
)를 결정할 수 있다. 경계 조건들의 각각의 세트는 변환된 가중치들
Figure 112017084000307-pat00085
의 서브세트에 대한 경계 조건을 포함할 수 있다. 후속해서, 각각의 경계 조건 세트에 대해, TDC 모듈(412)은 가중치들
Figure 112017084000307-pat00086
의 서브세트의 값을 대응하는 경계 조건의 값으로 고정하고, 경계 조건없이 나머지 자유 가중치들
Figure 112017084000307-pat00087
에 대해 선형 방정식 세트를 풀 수 있다. 이런 방식으로, TDC 모듈(412)은, 모든 가능한 경계 조건 세트 하에서, 해(solution)들 중에서 최소 점수를 갖는 해를 선택함으로써 주어진 제약 하에서 선형 방정식 세트에 대한 전역 해를 결정할 수 있다.
일부 경우에, GMM에서의 가우시안 분포의 개수가 관심 지점들이 놓여 있는 차원의 개수보다 클 때, GMM에서의 파라미터들 중 일부는 선형적으로 의존적일 수 있다. 예를 들어, 가우시안 분포의 평균 벡터는, 가우시안 분포의 수가 관심 지점들이 놓여 있는 차원의 수보다 클 때 선형적으로 의존할 수 있다.
이 문제를 해결하기 위해, TDC 모듈(412)은, 예를 들어, Tikhonov 규칙화를 이용하여 GMM에 대한 파라미터들을 규칙화하도록 구성될 수 있다. 이 목적을 위해, TDC 모듈(412)은 다음과 같은 관계를 최소화하도록 최적화 문제를 재구성할 수 있다:
Figure 112017084000307-pat00088
새로운 Lagrangian 공식은, 평균 벡터들의 (x, y, θ) 성분들이 밸런싱되고 변환된 가중치들의 합이 1이라는 제약하에, 관심 지점 분포
Figure 112017084000307-pat00089
와 타겟 분포
Figure 112017084000307-pat00090
사이의 변형된 가중치들
Figure 112017084000307-pat00091
의 변화를 정량화하려고 한다.
TDC 모듈(412)은 전술된 Lagrangian 관계를 만족하는 가중치들을 직접 찾을 수 있다. 그러나, 앞서와 같이, 이 관계는 가중치들
Figure 112017084000307-pat00092
가 음수가 되는 것을 방지하지 않거나, 큰 가중치
Figure 112017084000307-pat00093
가 (예를 들어, 관심 지점 분포
Figure 112017084000307-pat00094
의 원래의 가중치
Figure 112017084000307-pat00095
가 작은) 작은 그룹의 관심 지점들로부터 추정된 가우시안에 할당되는 것을 방지하지 않는다. TDC 모듈(412)은, 전술된 바와 같이, 이들 제약을 프로그램적으로 적용할 수 있다. 이것은 상기의 Lagrangian 관계는
Figure 112017084000307-pat00096
에 있어서 2차식이므로 수학적으로 유효하고, 따라서 가중치들
Figure 112017084000307-pat00097
중 하나가 음수이면, 최적 값은 경계 조건들 중 하나(또는 그 이상)에 놓여 있어야 한다.
요약하면, 관심 지점 분포
Figure 112017084000307-pat00098
의 파라미터들에 기초하여 타겟 분포
Figure 112017084000307-pat00099
에 대한 파라미터들을 식별하기 위하여, TDC 모듈(412)은 다음과 같은 절차를 이용할 수 있다:
1.
Figure 112017084000307-pat00100
를 정의한다.
2. N <= NDim인 경우 ―여기서, NDim은 기저 데이터의 차원임― , 다음과 같은 다음 방정식을 이용하여
Figure 112017084000307-pat00101
을 푼다:
Figure 112017084000307-pat00102
Figure 112017084000307-pat00103
이 연립 방정식이 특이해를 갖는다면(singular), TDC 모듈(412)은 규칙화를 이용하여 이 연립 방정식을 풀 수 있다. 예를 들어, TDC 모듈(412)이 행렬 방정식 :
Figure 112017084000307-pat00104
를 풀려고 한다면 : TDC 모듈(412)은 그 대신에
Figure 112017084000307-pat00105
를 풀 수 있다. 이러한 방식으로, TDC 모듈(412)은 해 벡터(solution vector)의 L2-노옴의 합을 최소화할 수 있으며, 이것은, 차례로, (합이 1이 되는) 큰 양의 및 음의
Figure 112017084000307-pat00106
를 갖는 해를 방지할 수 있다.
3. N > NDim이라면, 다음과 같은 방정식을 이용하여
Figure 112017084000307-pat00107
에 대해 풀 수 있다:
Figure 112017084000307-pat00108
4. 다음과 같은 제약과 대조하여 단계 2 또는 단계 3의 해를 체크한다:
Figure 112017084000307-pat00109
5. 해가 가중치들
Figure 112017084000307-pat00110
의 유효한 범위를 벗어난다면, 모든 가능한 경계 조건 세트(예를 들어, 제약들)에 대해 단계 2 또는 단계 3의 수정된 버전을 이용하여 제약되지 않은
Figure 112017084000307-pat00111
에 대한 해 벡터를 구한다. 검색을 통해, TDC 모듈(412)은 아래의 식의 최소값들을 추적할 수 있다:
Figure 112017084000307-pat00112
Figure 112017084000307-pat00113
. 전자의 관계가 0보다 크면, TDC 모듈(412)은 전자의 관계를 이용하여
Figure 112017084000307-pat00114
에 대한 해 벡터를 선택할 수 있다. 전자의 관계가 0보다 크지 않다면, TDC 모듈(412)은 후자의 관계를 이용하여
Figure 112017084000307-pat00115
에 대한 해 벡터를 선택할 수 있다.
타겟 분포로부터의 프로브들의 샘플링
일단 TDC 모듈(412)이 변환된 관심 지점 분포
Figure 112017084000307-pat00116
를 결정하고 나면, TDC 모듈(412)은 변환된 관심 지점 분포
Figure 112017084000307-pat00117
(또는 변환된 관심 지점 분포의 역)를 PDM 모듈(416)에 제공할 수 있다. 후속해서, PDM 모듈(416)은 변환된 관심 지점 분포
Figure 112017084000307-pat00118
의 역으로부터 샘플링하여 이미지 내의 하나 이상의 관심 지점들 상의 프로브들의 위치를 결정할 수 있다.
직관적으로 말하면, TDC 모듈(412)은 변환된 관심 지점 분포
Figure 112017084000307-pat00119
에 관한 x, y, 및
Figure 112017084000307-pat00120
의 기대값이 가능한한 유사하게끔, 변환된 관심 지점 분포
Figure 112017084000307-pat00121
를 선택하도록 구성된다:
Figure 112017084000307-pat00122
중요도 샘플링은, 샘플들이 유사한 지지도를 갖는다는 조건으로 PDM 모듈(416)이 또 다른 상이한 분포로부터 도출된 샘플들에 가중치를 부여함으로써 타겟 분포로부터 샘플들을 도출하는 것을 허용한다. 즉 :
Figure 112017084000307-pat00123
Figure 112017084000307-pat00124
여기서, Sprobes는 프로브 세트이고, SIP는 관심 지점들의 세트이다. 따라서, PDM 모듈(416)은 이 관계를 이용하여 관심 지점 분포
Figure 112017084000307-pat00125
로부터 도출된 샘플들을 다음에 의해 가중치부여할 수 있다:
Figure 112017084000307-pat00126
따라서, PDM 모듈(416)이 패턴의 경계를 따라 모든 관심 지점에 프로브들을 배치함으로써 프로브들을 도출하면, PDM 모듈(416)은 상기 비율
Figure 112017084000307-pat00127
로 프로브들을 가중치부여할 수 있다.
일부 실시예에서, PDM 모듈(416)은, (1) 인접한 프로브들을 패턴 경계를 따라 상기 비율의 역에 해당하는 거리만큼 이격시키고 (2) 원하는 수의 프로브들과 초기 엣지들의 수를 보상함으로써 유사한 효과를 달성할 수 있다.
따라서, 일부 실시예에서, 변환된 관심 지점 분포
Figure 112017084000307-pat00128
의 역으로부터의 샘플링은 인접한 프로브들이 다음과 같은 양만큼 이격될 것을 요구하는 것과 동일할 수 있다:
Figure 112017084000307-pat00129
여기서, Nedges는 관심 지점 분포
Figure 112017084000307-pat00130
에 대한 파라미터를 결정하는데 이용되는 관심 지점들의 수를 나타내고, Nprobes는 프로브들의 타겟 수를 나타낸다. 이런 방식으로, 과소-표현된 관심 지점들을 따른 프로브들의 밀도가 증가될 수 있다.
PDM 모듈(416)은 인접한 프로브들이 그와 같이 이격될 것을 요구하기 위해, 하나 이상의 관심 지점들에 순차적으로 프로브들을 배치할 수 있다. 예를 들어, PDM 모듈(416)은, (임의로 선택될 수 있는) 초기 관심 지점에서 시작하여 그 초기 관심 지점에 제1 프로브를 배치한다. 그 다음, PDM 모듈(416)은 상기 관계를 이용하여 제1 프로브와 제1 프로브에 인접하게 배치될 제2 프로브 사이의 거리를 결정할 수 있다. 후속해서, PDM 모듈(416)은 제2 프로브를 제1 프로브로부터 미리 결정된 거리만큼 분리된 관심 지점에 배치할 수 있다. 이 프로세스는 PDM 모듈(416)이 관심 지점 분포
Figure 112017084000307-pat00131
를 결정하는데 이용되는 복수의 관심 지점들 모두를 고려했을 때까지 반복될 수 있다.
인접한 프로브들이 소정량만큼 이격될 것을 요구하는 것은 인접한 관심 지점들의 호 길이를 수정하는 것(예를 들어, 늘리는 것)으로서 해석될 수 있다. 앞서 설명된 바와 같이, 관심 지점은 그 관심 지점의 중앙에 배치된 초기화된 프로브들의 표현으로서 간주될 수 있다. 따라서, 인접한 프로브들이 소정량만큼 이격될 것을 요구하는 것은 인접한 관심 지점들의 중심들 사이의 호 길이를 수정하는 것으로서 해석될 수 있다. 따라서, (도 5 내지 도 10에 관하여 예시된) 프로브들을 배치하기 위한 제1 메커니즘 및 (도 11 내지 도 12에 관하여 예시된) 프로브들을 배치하기 위한 제2 메커니즘은 유사한 결과를 갖는다.
본 논의의 대부분은 혼합 모델이 미치는 확률 공간이 x-방향 성분, y-방향 성분, 및 회전 벡터를 포함하는 경우에 초점을 맞추었지만, 개시된 기술은 혼합 모델이 미치는 확률 공간의 차원을 증가시키도록 확장될 수 있다. 예를 들어, 프로브 배치 모듈(408)은 4차원 공간에서 정보를 밸런싱하도록 구성될 수 있다:
Figure 112017084000307-pat00132
, 여기서,
Figure 112017084000307-pat00133
는 스케일을 나타낸다. 최적화 단계가 조금 더 복잡할 수 있지만, 프로브 배치 모듈(408)은 3차원 공간 시나리오에서와 동일한 기술을 채용할 수 있다. 예를 들어, 프로브 배치 모듈(408)은, (앞서와 같이) Lagrange 승수를 이용하여, 다음을 최소화하여 선형 방정식 세트로 변환하도록 구성될 수 있다:
Figure 112017084000307-pat00134
제약은 다음과 같다
Figure 112017084000307-pat00135
프로브 배치 모듈(408)은 가중치들
Figure 112017084000307-pat00136
이 음이 되지 않도록 하거나 또는 프로브들이 일부 엣지 위치들 상에 고도로 집중되게끔 보장하도록 구성될 수 있다. 이 목적을 위해, 3차원 공간 시나리오에서와 같이, 프로브 배치 모듈(408)은 경계 제약을 프로그램적으로 적용하도록 구성될 수 있다.
3차원 공간 시나리오에서와 같이, 프로브 배치 모듈(408)은 평균 벡터 세트가 선형적으로 독립적이지 않은 경우 및 혼합 모델의 성분들의 수(N)가 차원의 수(지금은 4)를 초과할 때, Tikhonov 규칙화를 적용할 수 있다:
Figure 112017084000307-pat00137
도 13은 일부 실시예에 따른 패턴의 하나 이상의 관심 지점들 상에서 프로브들을 샘플링하는 프로세스를 요약한 것이다. 도 13에서, 프로브 배치 모듈(408)은 타겟 분포를 파라메트릭 분포로서 나타낸다. 그러나, 본 기술분야의 통상의 기술자는, 프로브 배치 모듈(408)이 타겟 분포를 비-파라메트릭 분포로서 나타내는 경우를 수용하기 위해 도 13의 프로세스를 수정할 수 있다.
단계 1302에서, IPD 모듈(406)은 이미지 내의 관심 지점들을 결정할 수 있다. 일부 경우에, IPD 모듈(406)은 관심 지점들을 식별하기 위해 엣지 검출 기술을 이용할 수 있다. 엣지 검출 기술은, 예를 들어, Canny 엣지 검출 기술 또는 Hough 변환 기술을 포함할 수 있다. 엣지 검출 기술은, 예를 들어, Sobel 연산자, Kirsch 연산자, Prewitt 연산자, Gabor 필터, Haar 웨이브렛 필터, 이미지 내의 픽셀 값(예를 들어, 이미지의 고주파 성분)의 변화를 검출할 수 있는 기타 임의의 필터, 및/또는 이들의 임의의 조합을 포함을 포함한, 하나 이상의 엣지 검출 연산자를 이용할 수 있다.
일부 실시예에서, IPD 모듈(406)은 관심 지점들의 위치 정보를 FDC 모듈(414)에 제공할 수 있다. FDC 모듈(414)은 관심 지점과 연관된 자유도를 나타내는 변수들을 이용하여 각각의 관심 지점을 나타낼 수 있다. 예를 들어, 관심 지점이 2차원에서 움직이는 것으로 알려지면, 관심 지점은 관심 지점의 (x, y) 기울기 성분에 대응하는 2차원 벡터로서 표현될 수 있다. 또 다른 예로서, 관심 지점이 3차원에서 움직이는 것으로 알려지면, 관심 지점은 관심 지점의 (x, y) 기울기 성분들 및 관심 지점의 회전 배향(또는 그 함수)에 대응하는 3차원 벡터로서 표현될 수 있다.
단계 1304에서, FDC 모듈(414)은 관심 지점들을 클러스터링하도록 구성될 수 있다. 예를 들어, FDC 모듈(414)은, 그들의 표현상 Euclidian 거리에서 서로 근접해 있는 관심 지점들을 클러스터링함으로써 관심 지점들을 클러스터링할 수 있다. 일부 실시예에서, FDC 모듈(414)은, k-평균 클러스터링 기술, 평균-이동 클러스터링 기술, "밸런싱된 반복 감소 및 계층화를 이용한 클러스터링"(BIRCH) 클러스터링 기술, 또는 유사한 특성을 갖는 관심 지점들을 그룹화할 수 있는 기타 임의의 적절한 클러스터링 기술을 이용할 수 있다.
단계 1306에서, FDC 모듈(414)은 단계 1304로부터의 클러스터들에 기초하여 관심 지점 분포를 결정할 수 있다. 예를 들어, FDC 모듈(414)은 가우시안 혼합 모델(Gaussian Mixture Model)을 이용하여 관심 지점 분포를 나타내도록 구성될 수 있다. 이 경우, FDC 모듈(414)은 클러스터 단계로부터의 클러스터들의 수를 이용하여 가우시안 혼합 모델을 위한 가우시안 분포의 수를 결정하도록 구성될 수 있다. 또한, FDC 모듈(414)은 기대치-최대화 연산을 수행하여 가우시안 혼합 모델을 위한 파라미터 세트의 최대 우도 추정치를 결정하도록 구성될 수 있다. 이러한 방식으로, FDC 모듈(414)은 관심 지점 분포
Figure 112017084000307-pat00138
를 결정할 수 있다. FDC 모듈(414)은 관심 지점 분포
Figure 112017084000307-pat00139
를 TDC 모듈(412)에 제공할 수 있다.
단계 1308에서, TDC 모듈(412)은 관심 지점 분포
Figure 112017084000307-pat00140
로부터 변환된 관심 지점 분포
Figure 112017084000307-pat00141
를 결정할 수 있다. 이 목적을 위해, TDC 모듈(412)은, 전술한 바와 같은 제한된 최적화를 수행하여 변환된 관심 지점 분포에 대한 변환된 가중치들
Figure 112017084000307-pat00142
을 재계산할 수 있다. 일부 경우에서, TDC 모듈(412)은 변환된 관심 지점 분포
Figure 112017084000307-pat00143
를 반전시킴으로써 타겟 프로브 분포를 계산할 수 있다. 후속해서, TDC 모듈(412)은 변환된 관심 지점 분포(또는 변환된 관심 지점 분포의 역)를 PDM 모듈(416)에 제공할 수 있다.
단계 1310에서, PDM 모듈(416)은 타겟 분포(예를 들어, 변환된 관심 지점 분포의 역)를 샘플링하여 하나 이상의 관심 지점들 상의 프로브들의 위치를 결정하도록 구성된다. 일부 경우에서, PDM 모듈(416)은 다음과 같은 관계를 이용하여 2개의 인접한 프로브들 사이의 간격을 결정할 수 있다:
Figure 112017084000307-pat00144
PDM 모듈(416)은 상기 관계를 이용하여 모든 인접한 관심 지점들의 중심들 사이의(또는 인접한 관심 지점들의 서브세트의 중심들 사이의) 거리를 결정하거나 수정한다.
도 14a는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 직사각형 상의 프로브들의 배치를 나타낸다. 직사각형은 2개의 자유도를 갖는 것으로 가정된다(예를 들어, 직사각형은 단지 병진 운동만 한다고 가정된다). 이 경우, PDM 모듈(416)은 직사각형의 긴 엣지에 비해 직사각형의 짧은 엣지를 따른 프로브들의 밀도를 증가시켰다. 이 결과는, 도 5 내지 도 10과 연관하여 논의된 바와 같이, 수직 배향들의 히스토그램을 밸런싱한 결과와 유사하다.
도 14b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 레버 아암을 갖는 원형 물체 상의 프로브의 배치를 나타낸다. 패턴은 2개의 자유도를 갖는 것으로 가정된다(예를 들어, 패턴은 단지 병진 운동만 한다고 가정된다). 이 경우, PDM 모듈(416)은 원형 상의 y-방향의 프로브들을 약간 더 증가시킴으로써 레버 아암 상의 여분의 x-방향 프로브들을 보상한다.
도 15a는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 직사각형 상의 프로브들의 배치를 나타낸다. 직사각형은 3개의 자유도를 갖는 것으로 가정되고(예를 들어, 직사각형은 병진 및 회전 운동을 하는 것으로 가정된다), 회전 벡터는
Figure 112017084000307-pat00145
에 의해 주어진다. 이 경우, PDM 모듈(416)은, 도 14a에서와 같이, 직사각형의 짧은 엣지를 따른 프로브들의 밀도를 직사각형의 긴 엣지에 비해 증가시켰다. 그러나, PDM 모듈(416)은 또한, 긴 엣지를 따른 프로브들의 거리를 수정하여, 직사각형의 원점(예를 들어, 사각형의 질량 중심)으로부터 더 먼 프로브들의 수를 증가시켰다. 이것은 회전 변수
Figure 112017084000307-pat00146
가 직사각형의 원점과 프로브들 사이의 거리에 의존했기 때문이다.
도 15b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 레버 아암을 갖는 원형 물체 상의 프로브들의 배치를 나타낸다. 패턴은 3개의 자유도를 갖는 것으로 가정된다(예를 들어, 패턴은 병진 및 회전 운동을 하는 것으로 가정됨). 이 경우, PDM 모듈(416)은, 회전 변수
Figure 112017084000307-pat00147
가 직사각형의 원점과 프로브 사이의 거리에 의존했기 때문에 레버를 따른 프로브들의 밀도를 증가시켰다. 그러나, PDM 모듈(416)은 원형 경계 주위에 배치된 프로브들의 수를 감소시켰다. 특히, PDM 모듈(416)은 수평축에 가까운 경계를 따른 프로브들의 수를 감소시켰다. 이 경우, 레버 아암 엣지들은 모든 회전 자유도 정렬 정보를 포함하므로 더 많은 프로브들이 제공된다. 이들 프로브들은 또한, x-방향에서 정렬하는데 유용하지만 y-방향 정보가 완전히 결여되어 있다. 따라서, PDM 모듈(416)은 원형의 좌측 및 우측보다 상부 및 하부에 더 많은 프로브들을 추가하여 y-방향 정보를 모델에 도입한다.
도 16a 내지 도 16b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 홀(hole)을 갖는 패턴 상의 프로브들의 배치를 나타낸다. 한 경계가 완전히 또 다른 경계(예를 들어, 동심원들 또는 너트 내의 또 다른 너트) 내에 있는 경우, 프로브 배치 모듈(408)은 경계들 중 하나가 프로브 배치에 대해 더 선호되어야 하는지를 제어할 수 있고, 만일 그렇다면, 경계들 중 어느 것이 더 선호되어야 하는지를 제어할 수 있다. 일부 실시예에서, 프로브 배치 모듈(408)은 회전 변수
Figure 112017084000307-pat00148
에서 이러한 선호를 인코딩할 수 있다.
도 17a 내지 도 17c는 일부 실시예에 따른 회전 변수
Figure 112017084000307-pat00149
의 표현이 프로브 배치를 어떻게 변화시키는지를 나타낸다. 도 17a는 회전 변수
Figure 112017084000307-pat00150
가 위치 벡터
Figure 112017084000307-pat00151
의 노옴과 독립적일 때의 프로브 배치에 대응한다; 도 17b는 회전 변수
Figure 112017084000307-pat00152
가, 각 운동량(angular momentum)으로 생각할 수 있는 양을 모델링하기 위해 선형 방식으로 반경을 통합한,
Figure 112017084000307-pat00153
와 같이, 위치 벡터
Figure 112017084000307-pat00154
의 노옴에 의존할 때의 프로브 배치에 대응한다; 도 17c는, 회전 변수
Figure 112017084000307-pat00155
가, 관성 모멘트와 유사한 양을 형성하기 위해 정사각형을 이용하는
Figure 112017084000307-pat00156
와 같이, 위치 벡터
Figure 112017084000307-pat00157
의 노옴에 의존할 때의 프로브 배치에 대응한다. 응용에 따라, 이들 공식들 중 하나가 더욱 선호될 수 있다. 반경 항에서의 차수 증가는, 각도 성분이 가장 큰 프로브를 패턴의 가장 바깥쪽 영역으로 밀어 넣는 경향이 있다. 이것은 이미지에서 패턴을 검색할 때 프로브들에 적용할 간격을 선택하는 경우 영향을 미친다. 이것은 또한 각도 정렬 정확도에 영향을 미친다.
도 18a 및 도 18b는 일부 실시예에 따른 도 13에 나타낸 프로세스를 이용한 길쭉한 아암을 갖는 패턴 상의 프로브들의 배치를 나타낸다. 도 18a에서, 프로브 배치 모듈(408)은 패턴이 3개의 자유도를 갖는 것으로 가정한다(예를 들어, 패턴은 병진 운동과 회전 운동을 하는 것으로 가정된다); 도 18b에서, 프로브 배치 모듈(408)은, 패턴이 4개 자유도를 갖는 것으로 가정한다(예를 들어, 패턴은 병진 운동, 회전 운동, 및 이미지 디바이스를 향한/이로부터 멀어지는 운동을 하는 것으로 가정된다).
이들 도면들은, 관심 지점 분포에서의 4개의 가우시안 분포가 종속 평균 벡터들 :
Figure 112017084000307-pat00158
를 가지기 때문에 흥미로운 사례를 나타낸다. 이 경우, 비규칙화된 최적화는 가중치들이 큰 값(예를 들어,
Figure 112017084000307-pat00159
)을 가질 수 있지만 합산이 최대 1까지일 수 있는 해를 제공할 수 있다. 이러한 특이성을 처리하기 위해, TDC 모듈(412)은 최적화 문제를 규칙화할 수 있다.
프로브 배치 모듈(408)은 다양한 응용에 이용될 수 있다. 예를 들어, 프로브 배치 모듈(408)은 전자 디바이스 등의 패턴을 정렬하고 검사하는데 유용할 수 있다. 또한, 프로브 배치 모듈(408)은 로봇 안내에 유용할 수 있다. 예를 들어, 로봇이 길고 홀쭉한 배터리를 픽업하도록 구성된 경우, 프로브 배치 모듈(408)은 홀쭉한 배터리를 나타내는 모델의 정확성을 향상시키기 위해 프로브들을 배치하도록 구성될 수 있다.
머신 비전 시스템은 또한, 3D 이미지에서 미리 결정된 3D 패턴의 하나 이상의 인스턴스의 부재 또는 존재를 결정하고, 각각의 발견된 인스턴스의 위치를 결정하도록 구성될 수 있다. 이 정보는, 후속 검사(또는 기타의) 동작에서 결함을 검색하거나 부품 거절 등의 다른 동작을 수행하는데 이용될 수 있다.
3D 이미지는 다양한 기술 ― 예를 들어, 레이저 변위 센서(프로파일러), 입체 카메라, 음파 탐지기, 레이저 또는 LIDAR 거리-파악 카메라, 및 다양한 종류의 다른 수동 또는 능동 범위 감지 기술에 기초할 수 있는 3D 카메라를 이용하여 취득된다. 이러한 카메라는, 각각의 픽셀에 대한 (통상적으로는 xy 평면에 수직인 z 축을 따르는 것을 특징으로 하는) 제3 (높이) 치수를 역시 포함하는 (통상적으로는 직교 x 및 y 축들을 따른 위치들로서 특징을 이루는) 이미지 픽셀들의 어레이가 생성되는 범위 이미지(range image)를 생성할 수 있다. 대안으로서, 예를 들어, 이러한 카메라는 이미지화된 물체의 지점 집단 표현(point cloud representation)을 생성할 수 있다. 지점 집단은 각각의 지점 i가 예를 들어 (xi, yi, zi)로서 표현될 수 있는 공간 내의 3D 지점들의 집합이다. 지점 집단은 물체의 뒷면과 측면, 상단 및 하단을 포함하는 완전한 3D 물체를 나타낼 수 있다. 3D 지점 (xi, yi, zi)은 물체가 카메라에 대해 보여질 수 있는 공간 상의 위치를 나타낼 수 있다. 이 표현에서, 빈 공간은 점들의 부재로 나타낼 수 있다.
비교로서, 일부 실시예에서, 3D 범위 이미지 표현 Z(x, y)는 2D 이미지 표현 I(x, y)와 유사하며, 여기서 깊이 또는 높이 Z는 밝기/강도 이미지 내의 위치(x, y)에서의 밝기/강도 I를 대체한다. 일부 실시예에서, 오직 하나의 깊이만이 임의의 지점 위치(x, y)와 연관되기 때문에, 범위 이미지는 카메라 쪽으로 직접 향하는 물체의 전면을 독점적으로 나타낼 수 있다. 비록 일부 실시예에서는 물체의 배면 또는 측면, 상단 또는 하단을 나타낼 수 있지만, 범위 이미지는 전형적으로 물체의 배면 또는 측면, 상단 또는 하단을 나타내지는 않는다. 범위 이미지는 통상적으로 카메라가 이러한 위치들에서의 정보가 없더라도 모든 위치(x, y)에서의 데이터를 갖지만, 임의의 지점 위치(x, y)에서 데이터 부재를 나타내는 것도 가능하다. 본 기술분야의 통상의 기술자에게 명확한 방식으로 범위 이미지를 3D 지점 집단으로 변환하는 것이 가능하다.
3D 이미지에서 미리 결정된 3D 패턴의 하나 이상의 인스턴스의 부재 또는 존재를 결정하기 위해, 머신 비전 시스템은 발견될 3D 패턴을 모델을 이용하여 나타낼 수 있다. 머신 비전 시스템은, 위치파악될 및/또는 검사될 3D 패턴의 예를 포함하는 기하학적 기술(geometric description)로부터의 하나 이상의 합성된 3D 이미지나 하나 이상의 3D 트레이닝 이미지로부터 3D 패턴에 대한 모델을 생성할 수 있다. 일단 모델이 이용가능해지면, 머신 비전 시스템은 모델을 적절한 포즈 세트의 각각의 포즈에서 테스트 3D 이미지와 비교하고, 각각의 포즈에서 정합 점수를 계산하며, 정합 점수에서 국지적 최대값에 대응하는 후보 포즈를 결정할 수 있다. 머신 비전 시스템은 정합 점수가 적절한 임계값 위인 후보 포즈들을 3D 이미지 내의 3D 패턴의 인스턴스로서 간주할 수 있다.
3D 패턴을 위치파악하는 프로세스는, xyz 위치(병진이라고도 함), 위치, 배향, 크기 및/또는 회전 자유도(예를 들어, 피치, 롤, 및 요)를 포함할 수 있는 그러나 이것으로 제한되지 않는 다차원 공간 내에서 발생한다.
모델은 3D 프로브라 불리는 한 세트의 데이터 요소를 포함할 수 있다. 각각의 3D 프로브는 주어진 포즈에서 3D 이미지 내의 소정의 측정 및 테스트가 수행될 상대적 위치를 나타내며, 각각의 이러한 테스트는 3D 패턴이 연관된 포즈에서 존재한다는 증거를 제공한다. 3D 프로브는 아래에 놓인 3D 패턴의 구조(예를 들어, 표면)에 실질적으로 수직인 방식으로 배치될 수 있다.
트레이닝 스테이지 동안, 머신 비전 시스템은 3D 프로브들을 3D 패턴의 표면 상에 균일한 방식으로 배치할 수 있다. 예를 들어, 일부 실시예에서, 머신 비전 시스템은, 인접한 3D 프로브들 사이의 거리가 모든 인접한 3D 프로브 쌍들에 대해 대략 동일하도록 3D 프로브들을 대략 동일하도록 3D 프로브들을 3D 패턴 표면 상에 배치하도록 구성될 수 있다. 여기서 "균일 배치 전략(uniform placement strategy)"이라고 칭하는 이 전략은, 밸런싱된 배향 프로파일을 갖는 3D 패턴을 모델링하는데 있어서 효과적일 수 있다(예를 들어, 직교 표면들을 갖는 3D 패턴과 다양한 배향을 가리키는 표면들의 비율은 유사하다). 예를 들어, 균일 배치 전략은 정육면체 3D 패턴을 모델링하는데 유용할 수 있는데, 그 이유는, 상이한 배향들(예를 들어, 위, 아래, 좌측 및 우측)을 가리키는 3D 프로브들의 수가 3D 이미지 내의 3D 패턴의 각각의 엣지 상에서 대략 동일하고, 이것은 3D 패턴의 위치 및 배향에 관한 정확한 정보를 유도할 수 있기 때문이다.
불행하게도, 균일 배치 전략은, 언밸런싱된 배향 프로파일을 갖는 3D 패턴(예를 들어, 표면 법선이 고려된 모든 자유도에서의 정렬 정보를 제공하지 않는 패턴)을 모델링하는데 있어서 비효율적일 수 있다. 예를 들어, 균일 배치 전략은 일반적으로, 길쭉하고 불규칙한 파이프 형상을 갖는 3D 패턴을 정렬하는데 있어서 그렇게 효과적이지 않다. 도 19는 길쭉하고 불규칙한 파이프 형상을 갖는 3D 패턴과 그 3D 패턴 상에 균일하게 배치된 3D 프로브들을 나타낸다. 경계(1902)가 길쭉하고 불규칙한 파이프 형상을 갖기 때문에, 균일 배치 전략 하에서, 대부분의 3D 프로브(1904)들은 긴 튜브(1906)의 표면 상에 배치될 것이다. 소수의 3D 프로브(1904)들만이 짧은 튜브(1910) 상에 배치될 것이다. 또한 몇 개의 프로브들은 긴 튜브의 끝 부분에 가깝게 배치될 것이다. 긴 튜브(1908)의 끝부분 근처의 3D 프로브들의 수는 적기 때문에, 3D 프로브들에 기초하여, 그 중심 축을 따른 긴 튜브의 위치를 결정하는 것이 어렵다. 또한, 교차하는 짧은 튜브(1910)의 표면 상의 프로브들의 수는 비교적 적기 때문에 이 축을 중심으로 한 회전 각도를 결정하는 것은 어렵다. 추가로, 3D 프로브들이 물체의 표면에 걸쳐 균등하게 배치된다면, 모든 자유도에서 물체를 정렬하는 능력이 동일하지 않을 것이다. 예를 들어, 도 19의 파이프 위의 3D 프로브(1904)들의 균일한 분포는 원통의 중심 축 주변의 회전 방향 및 길이 방향에서 비교적 적은 정보를 제공한다. 이것은 하나의 특정한 자유도를 정렬하는데 이용가능한 정보의 양이 비교적 적을 때 정렬 알고리즘이 더욱 에러를 발생하게 할 수 있다.
여기서 설명된 기술들은 3D 패턴 상에 3D 프로브들을 3차원으로 배치하기 위한 자동화된 프로브 배치 모듈을 제공할 수 있다. 일부 실시예에서, 프로브 배치는, x, y, 및 z에서의 그들의 해상력을 밸런싱하도록 분포될 수 있다. 일부 실시예에서, 3개의 병진 운동 자유도는 3개의 회전 자유도와 함께 공동으로 밸런싱된다. 추가로, 일부 실시예에서, x, y 및 z는 가장 작은 회전 성분을 최대화하면서 밸런싱된다. 프로브 배치 모듈은, 3D 프로브들이 3D 이미지에 묘사된 3D 패턴을 정확하게 표현할 수 있도록 3D 이미지의 관심 지점들 상에 3D 프로브들을 배치하도록 구성된다. 프로브 배치 모듈은, 3D 프로브들이 3D 패턴의 움직임과 연관된 모든 자유도에 관한 밸런싱된 정보를 추출하여 3D 프로브들로부터 생성된 모델의 정확성을 향상시킬 수 있게끔 3D 프로브를 배치하도록 구성될 수 있다. 예를 들어, 3D 패턴과 연관된 물체가 3차원에서 움직이는 것으로 알려진 경우, 프로브 배치 모듈은 3D 프로브들이 3차원에서 밸런싱된 정보를 추출할 수 있도록 3D 프로브들을 배치할 수 있다. 프로브 배치 모듈은 또한, 3D 패턴의 형상에 관계없이 3D 프로브들이 밸런싱된 정보를 추출할 수 있도록 3D 패턴의 형상을 고려할 수 있다. 이것은, 3D 프로브들이 도 19에 도시된 3D 패턴의 표면 위에 균일하게 배치될 때, 장축을 따른 것에 비해 장축에 직교하는 자유도에서 더 많은 정보를 추출하는 것 등의, 언밸런싱된 정보를 추출할 수 있는 기술과는 대조적이다. 다양한 예시적인 도면들 및 예들이, (예를 들어, 도 19에 도시된 3D 패턴에 기초한) 후속하는 설명과 연계하여 이용된다. 본 기술분야의 통상의 기술자라면, 이것은 예시적인 목적을 위한 것이며, 임의의 3D 패턴이 여기서 설명된 기술을 이용하여 처리될 수 있다는 것을 이해할 것이다.
도 20은 일부 실시예에 따른 3D 이미지 내의 관심 지점들에 3D 프로브들을 배치하기 위한 고수준 프로세스를 나타낸다. 관심 지점들은 3D 프로브들의 후보 위치들을 나타낼 수 있다. 예를 들어, 프로브 배치 모듈은(408), 이미지 내의 관심 지점들의 서브세트를 선택하고 관심 지점들의 선택된 서브세트 상에 3D 프로브들을 배치하도록 구성될 수 있다.
단계 2001에서, 프로브 배치 모듈(408)은 3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐를 생성하도록 구성될 수 있다. 예를 들어, 프로브 배치 모듈(408)은, 관심 지점 검출 모듈(406)로부터, 제1 복수의 관심 지점에 의해 표현된 3D 이미지 내의 3D 패턴의 표면을 수신할 수 있다. 그 다음, 프로브 배치 모듈(408)은 3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐를 생성할 수 있다.
단계 2002에서, 프로브 배치 모듈(408)은 복수의 피쳐에 적어도 부분적으로 기초하여 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택할 수 있다. 일부 실시예에서, 선택 프로세스의 목적은 제2 복수의 관심 지점이 3D 정렬 시스템에 관하여 어떤 원하는 앙상블 속성을 나타내도록 하는 것이다. 일부 실시예에서, 프로브 배치 모듈(408)은 여기서 더 상세하게 설명된 통계 모델 핏팅 및 Monte-Carlo 샘플링 기술을 이용하여 제2 복수 지점을 선택할 수 있다. 그러나, 예를 들어, 제1 복수의 지점을 그들의 피쳐들에 속하는 빈들로 분류한 다음, 이들 빈들로부터 균일한 방식으로 지점들을 선택하는 것 등의, 다른 선택 기술이 이용될 수도 있다.
단계 2003에서, 프로브 배치 모듈(408)은 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브들의 배치를 결정할 수 있다. 예를 들어, 프로브 배치 모듈(408)은 제2 복수의 관심 지점들 각각에 프로브들을 배치할 수 있다. 대안으로서, 추가의 실시예에서, 프로브 배치 모델은, 예를 들어, 제2 복수의 관심 지점으로부터 이웃하는 관심 지점들 사이를 보간함으로써 프로브들을 배치할 수 있다.
일부 실시예에서, 단계 2002에서 지점 선택 프로세스가 원하는 앙상블 속성을 달성하는 제2 복수의 관심 지점을 선택하는 것을 허용하기 위해, 단계 2001에서 생성된 피쳐들이 이용될 수 있다. 일부 실시예에서, 각각의 관심 지점에 대해, 그 피쳐들은 원하는 앙상블 속성에 대한 그 기여도를 기술해야 한다. 예를 들어, 알고리즘이 3개의 병진 자유도 각각에서 3D 패턴을 정렬하는 능력을 밸런싱하려고 하는 경우, 각각의 지점에 대한 피쳐 벡터는 3개의 성분을 가질 수 있고, 각각의 성분은, 3개의 병진 자유도 각각에서 3D 패턴을 해상(resolve)할 수 있는 정렬 알고리즘은 능력에 대한 지점의 기여도를 나타낸다. 또 다른 예에서, 원하는 앙상블 속성은, 하나의 특정한 회전 자유도 내에서 해상력을 최대화하는 동시에 각각의 병진 자유도에서의 정렬 능력을 보존하는 것일 수 있다. 이 경우, 피쳐들은 또한, 특정한 회전 자유도에서의 해상력에 대한 각각의 지점의 기여도를 기술하는 정보를 포함할 것이다.
일부 실시예에서, 도 20의 피쳐 생성 단계 2001은, 도 21a에 나타낸 단계들을 포함하는 방법에 따라 수행될 수 있다. 일부 실시예에서, 원하는 앙상블 속성의 선택에 따라, 단계 2001에서 계산된 선택된 피쳐들은 달라질 것이다. 또한, 이들 피쳐들은 많은 상이한 방식으로 정량화될 수 있고, 많은 상이한 방법을 이용하여 계산될 수 있다.
예를 들어, 일부 실시예에서, 피쳐 생성 프로세스는 관심 지점의 위치 및/또는 표면 법선 방향을 이용하여 앙상블 속성에 대한 그 기여도를 정량화할 수 있다. 특정한 실시예에서, 앙상블 속성은 3개의 병진 자유도에서의 정렬 능력이 동일하도록 보장하는 것일 수 있다. 이것을 달성하기 위해, 일부 실시예에서, 단계 2004는 각각의 지점에 대한 표면 법선을 계산하는 단계를 포함하고, 단계 2005는 이들 피쳐 벡터들을 취하여 (아마도 주성분 분석을 이용하여) 유클리드 좌표계의 회전을 계산할 수 있으며, 단계 2006은 복수의 표면 법선을 새로운 좌표계를 정의하는 단위 벡터들 상으로 투사하여 복수의 피쳐 벡터에 대한 값들을 생성할 것이다.
또 다른 실시예에서, 앙상블 속성은 3개의 회전 좌표계들 각각 사이의 정렬 능력에서의 차이가 최소화되는 것을 보장하도록 선택될 수 있다. 이것을 달성하기 위해, 피쳐 벡터들은 3개의 성분을 포함할 수 있고, 그 각각은, 3D 패턴의 회전 좌표계에 의해 정의된 회전 단위 벡터들 중 하나 상으로의 관심 지점 표면 법선의 투사와 동일하도록 설정될 것이다. 따라서, 이 예에서, 단계 2005는 3D 패턴의 회전 중심 및 회전축을 계산하는 단계를 포함할 것이다.
추가의 실시예에서, 표면 법선 방향에 직교하는 방향들에서 지점의 기여도를 정량화하는 것이 유용할 수 있다. 이것은, 정량화될 평면에 평행한 방향들에서 정렬할 때 (중앙의 것들과는 반대로) 평면의 엣지에 가까운 프로브 사이트들의 비교 유용성을 허용할 수 있다. 대조적으로, 일부 실시예에서, 단순히 표면 법선 벡터를 이용하는 것은 평면의 표면에 평행한 자유도에서의 정렬을 위한 어떠한 정보도 제공하지 않는다. 추가의 예에서, 도 19에 도시된 파이프의 끝부분에서의 프로브들의 배치는 장축을 따르는 방향에서의 정렬을 허용하지만, 중앙에 배치된 프로브들은 이 방향에서의 어떠한 정보도 제공하지 않을 수고, 따라서, 이 경우 피쳐 생성 프로세스는 파이프의 끝부분에 대한 지점의 근접성과 가장 가까운 엣지 또는 끝부분의 방향을 정량화하기를 원할 수 있다. 이 목적을 위해, 일부 실시예에서, 피쳐 생성 단계 2001은, 도 21b에 도시된 단계들에 따라 수행될 수 있다.
단계 2101에서, 프로브 배치 모듈(408)은, 각각의 관심 지점에서, 그 지점을 중심으로 하는 N × N × N 영역 내의 모든 인접한 지점들을 위치파악한다. 예를 들어, 지점 pcenter는 지점 pcenter를 중심으로 하는 N × N × N 영역 내에 4개의 지점들 p1, p2, p3 및 p4를 가질 수 있다.
단계 2102에서, 프로브 배치 모듈(408)은 이들 인접하는 지점들을 그 지점에 대한 표면 법선에 직교하는 표면 평면 상으로 투사한다. 예를 들어, 지점 pcenter를 중심으로 하는 N × N × N 영역 내의 지점들 p1, p2, p3 및 p4는 그 지점에 대한 표면 법선에 직교하는 표면 평면 상으로 투사될 수 있다.
단계 2103에서, 프로브 배치 모듈(408)은 표면 평면을 픽셀 그리도로 규칙화하여, 각각의 픽셀의 값이 픽셀 중심에서 그 평면으로부터의 표면 깊이와 같아지게 한다. 이를 위해, 프로브 배치 모듈(408)은 단위 정사각형으로부터 가장 가까운 4개의 주변 투사된 지점들(임의적으로 이격됨) 상으로의 2D 바이리니어 맵핑을 찾은 다음, 이 맵핑의 역을 이용하여 픽셀 그리드 중심 지점을 도 23a에 도시된 바와 같이 단위 정사각형 내에 배치한다. 이 지점에서 이러한 역 맵핑된 중심 지점을 이용한 바이리니어 보간은 픽셀 그리드 위치에 대한 깊이 값을 찾는데 이용될 수 있다. 도 23a에 도시된 바와 같이, 지점들 pcenter t, p1t, p2t, p3t 및 p4t는 지점들 pcenter, p1, p2, p3 및 p4의 맵핑된 중심 지점에서 바이리니어 보간을 통해 획득된다. 특히, pi = (xi, yi)인 경우, 맵핑은 8개의 계수들, a1, a2, a3, a4, b1, b2, b3, b4에 관해 파라미터화될 수 있고,
Figure 112017084000307-pat00160
여기서 u와 v는 pi t = (ui, vi)의 성분들이다. 아래의 행렬 형태에서:
Figure 112017084000307-pat00161
Figure 112017084000307-pat00162
맵핑 파라미터들에 대해 해결할 수 있는 2개 세트의 선형 방정식이 있다. 일단 단위 정사각형으로부터 지점들의 세트로의 맵핑이 획득되고 나면, 단위 정사각형으로 맵핑된 픽셀 그리드 중심의 위치를 찾기 위해 역 맵핑이 계산된다. 역 맵핑은 비선형적이며, 먼저 다음과 같이 정의한다:
Figure 112017084000307-pat00163
그 다음,
Figure 112017084000307-pat00164
단계 2103으로 계속하면, pcenter t의 위치를 획득한 후, 그 위치는 이제, 픽셀 그리드 중심에 대한 깊이 값을 얻기 위해 4개의 위치들, p1, p2, p3 및 p4 각각에서의 깊이 값들 사이의 바이리니어 보간을 수행하는데 이용될 수 있다.
단계 2103에서, 주변 지점이 이용가능하지 않다면(예를 들어, 그 지점이 표면의 엣지에 있을 수 있기 때문), N과 동일한 깊이 값이 이용될 수 있다.
따라서, 단계 2103은 픽셀 그리드 규칙화된 깊이 맵을 생성할 수 있다. 예를 들어, 원통(2203)의 가시적인 수평선 근처의 영역(2202)에 대해 여기서 설명된 기술을 이용하여 도 22에 도시된 깊이 맵(2201)이 생성될 수 있다.
단계 2104에서, 프로브 배치 모듈(408)은 깊이 맵으로부터 방향 정보를 추출한다. 프로브 배치 모듈(408)은 다음과 같이 주어지는 제2 모멘트를 이용하여 (예를 들어, 도 23b에 도시된) 주축(2301)의 각도를 구함으로써 이 단계를 수행할 수 있다:
Figure 112017084000307-pat00165
단계 2105에서, 주축(예를 들어, 도 23b에 도시된 주축(2301))을 획득한 후, 프로브 배치 모듈(408)은 도 24에 도시된 바와 같이 각각의 축을 따라 규칙적으로 이격된 샘플링을 수행한다. 도 24는 라인 2401로 장축을 따른 보간된 깊이를 도시하고 라인 2402로 단축을 따른 보간된 깊이를 도시한다. 그 다음, 샘플링은 축들을 따른 해상력을 정량화하는 수치 값을 제공하는 임시 방정식에 의해 채점된다(여기서, 해상력이란 이 방향에서의 정렬 정보의 양을 말하는 것일 수 있다, 예를 들어, 납작한 표면의 중심에 있는 한 지점은 접평면에 포함된 임의의 방향에서 유용한 정렬 정보를 갖지 않고, 표면의 엣지에 있는 한 지점은 그 엣지에 수직인 방향에서 더 많은 정보를 제공한다). 예를 들어, (단계 2103에서) 앞서 설명된 예를 계속하면, 장축은 좌측에서 우측으로 배향될 것이다. 이 축을 따라 값들을 샘플링하는 것은 좌측 면을 향한 접평면으로부터의 큰 발산을 보일 것이고, 이것은 엣지 위치를 나타낸다. 이 예에서 해상력을 채점하기 위해, 프로브 배치 모듈(408)은 중심 지점 좌측의 절대 깊이 값들의 평균과 중심 지점 우측의 깊이 값들의 평균 중 최대값을 선택하도록 구성될 수 있다. 따라서, 축들 중 하나를 따른 보간된 절대 깊이, 즉,
Figure 112017084000307-pat00166
를 고려한다면, 고려된 축의 방향에서의 해상력을 다음과 같이 정의한다:
Figure 112017084000307-pat00167
단계 2106에서, 프로브 배치 모듈(408)은 (주축의 방향들에서의) 2d 단위 벡터들을 3d 도메인으로 다시 맵핑한다. 프로브 배치 모듈(408)은, 이전 단계 2016에서 계산된 해상력에 의해 이들 벡터들을 먼저 스케일링함으로써(예를 들어, 2d 단위 벡터들에 각각의 해상력을 곱함) 이 단계를 수행하도록 구성될 수 있다. 이 예에 대한 최종 결과가 도 25에 도시되어 있고, 여기서, 각각의 지점(2501)에는, 표면 법선 벡터를 나타내는 라인 2502와, 길이가 해상력의 1차 성분 및 2차 성분을 나타내는 접평면 내의 2개의 직교 라인 2503이 있다.
상기 절차를 계속하면, 각각의 지점에 대해, 이제 3개의 벡터
Figure 112017084000307-pat00168
가 존재하며, 그 크기는 공간에서 물체를 해상할 수 있는 점의 기여도를 나타낸다. 이 예에서 프로세스의 전반적인 목적은, 등록 프로세스가 병진 자유도 및/또는 회전 자유도 각각에서 동등한 측정 및 견고성으로 3D 물체를 해상하는 것을 허용하는 점들의 서브셋을 선택하는 것이다. 이를 위해, 프로브 배치 모듈(408)은 2개의 확률 분포를 구축하도록 구성될 수 있다. 첫 번째는 지점들 집합에 맞추어지고 데이터 세트에서 그들의 상대적 빈도를 나타낸다. 두 번째 "타겟" 분포는, 원하는 속성을 갖는 한 세트의 지점들의 상대적 빈도를 모델링하는 방식으로 구축된다. 그 속성은, 예를 들어, 그 지점들 세트가 결합될 때 3개의 병진 자유도에서 동일한 해상력을 제공한다는 것이다. 또 다른 실시예에서, 그 속성은, 회전 자유도에서의 해상력이 향상되면서 동시에 병진 자유도에서의 해상력들 사이의 차이를 최소화하는 것일 수 있다.
분포로부터의 프로브들의 샘플링
일부 실시예에서, 프로브 배치 모듈(408)은, 프로브들의 타겟 분포로부터 프로브들을 샘플링함으로써 하나 이상의 관심 지점들 상에 프로브들을 배치하도록 구성될 수 있다. 프로브들의 타겟 분포는 패턴과 연관된 자유도에 대응하는 랜덤 변수들을 포함할 수 있다. 예를 들어, 패턴과 연관된 물체가 3차원에서 이동(예를 들어, 병진 운동)하는 것이 허용된 경우, 타겟 분포는 3개의 랜덤 변수: x 좌표 및 y 좌표 및 z 좌표(또는 다른 등가의 표현)를 가질 수 있다. 또 다른 예로서, 패턴과 연관된 3D 물체가 병진 운동 및 회전 운동을 하는 것이 허용할 때, 타겟 분포는 6개의 랜덤 변수: x 좌표, y 좌표, z 좌표, 및 회전에 대한 3개(예를 들어, 피치 θp, 롤 θr 및 요 θy)를 가질 것이다.
일부 실시예에서, 프로브 배치 모듈(408)은 TDC 모듈(412)을 이용하여 타겟 분포를 결정할 수 있다. TDC 모듈(412)은, 관심 지점들과 연관된 피쳐들에 기초하여 프로브들의 타겟 분포를 결정하도록 구성될 수 있다. 예를 들어, TDC 모듈(412)은, 예를 들어, 관심 지점들의 좌표, 관심 지점들과 연관된 수직 배향, 및/또는 관심 지점들의 회전 중 하나 이상에 기초하여 타겟 분포를 결정할 수 있다.
일부 실시예에서, TDC 모듈(412)은, 타겟 분포로부터 샘플링된 수직 배향들의 분포가 실질적으로 밸런싱되게끔 타겟 분포를 결정하도록 구성된다. 예를 들어, 관심 물체가 얇은 파이프라고 가정하자. 이러한 물체의 표면에 균등하게 분포된 한 세트의 지점들은 (예를 들어, 중심 축을 따른) 길이 방향과 반대로 단면의 평면에서 훨씬 더 많은 해상 정보를 포함한다. 따라서, 물체에 대한 타겟 분포는, 그 타겟 분포로부터 그려지는 프로브들의 세트가 조합하여 길이 방향으로서의 단면 방향에서 더욱 균등한 해상 정보를 갖도록 하는 것이어야 한다. 이러한 세트 내의 프로브 위치들의 대다수는 파이프의 양쪽 끝부분에 배치될 것이다.
일부 실시예에서, TDC 모듈(412)은 타겟 분포가 관심 지점들의 분포와 유사한 지지도를 갖게끔 타겟 분포를 결정하도록 구성된다. 이것은, 예를 들어, 이들 실시예에서, 프로브 배치 모듈(408)은 기존의 관심 지점들 세트로부터 리샘플링(예를 들어, 중요도 샘플링)에 의해 프로브들을 샘플링하도록 구성될 수 있기 때문에 중요할 수 있다. 이 목적을 위해, TDC 모듈(412)은, 후술되는 바와 같이, 관심 지점 분포와 타겟 분포 양쪽 모두에 대한 혼합 모델을 이용하도록 구성될 수 있다.
일부 실시예에서, TDC 모듈(412)은 PDM 모듈(416)에 타겟 분포를 제공하고, PDM 모듈(416)은 프로브들의 위치를 결정하기 위해 타겟 분포로부터 샘플들을 추출하도록 구성된다.
일부 실시예에서, FDC(414) 모듈은 x, y, z 랜덤 변수들을 새로운 좌표 공간으로 변환하도록 구성된다. 이 목적을 위해, 일부 실시예에서, FDC(414)는 평균 중심화(mean centering) 없이 PCA를 이용하여 주 3D 공간 축들을 발견한다. 이것은, 이 예에서 나머지 프로세스에 대한 3D 공간 좌표계를 결정한다. 이 예에서의 좌표계는 (x, y, z)로 나타내며, 이것은 카테시안 좌표의 새로운 좌표계에 대한 단위 벡터들이
Figure 112017084000307-pat00169
가 되도록 하는 (x, y, z)로 표시된 원래의 카테시안 좌표계의 회전이다. 이 예에서, FDC(414)는, 해상력의 최대 분산(maximum variance)의 방향들에서 축들을 선택할 필요가 없기 때문에 평균 중심화를 이용하도록 구성되지 않을 수 있다. 오히려, 일부 실시예에서, (예를 들어, 나중에 밸런싱된 프로브 세트를 선택하기 위해) 최대 및 최소 해상력의 방향들에서 축들을 정렬하는 것이 바람직할 수 있다. 즉, 이 예에서의 FDC(414)는, 물체에 대한 최대 해상력의 방향(주 방향)으로 그 제1 축이 배향되어 있는 좌표계의 회전을 발견하도록 구성될 수 있다. 정의에 따르면, 다른 2개의 축들 중 하나는 최소 해상력의 방향일 것이고, 그에 따라, 프로브 배치 모듈(408)은 (예를 들어, 주 방향에서의 해상력을 댓가로) 이 방향에서 전체 해상력을 증가시키는 경향이 있는 프로브 사이트들을 나중에 선택할 수 있을 것이다. 일부 다른 실시예에서, 이 프로세스는 또한 평균 중심화와 함께 수행될 수 있다.
일부 실시예에서, 일단 프로브 배치 모듈(408)이 확률 분포를 정의할 축들을 결정하고 나면, 프로브 배치 모듈(408)은 분포에 맞추기 전에 이 공간 상으로 지점들을 투사한다. 예를 들어, 단일 점에 대해, 그 피쳐 벡터는 다음과 같을 것이다:
Figure 112017084000307-pat00170
위에서 논의된 2D 예와의 일관성을 위해, x i 는 x-방향에서 물체를 해상하는 능력에 대한 지점의 기여도로서 간주될 수 있고, y i 는 y-방향의 치수, z i 는 z-방향의 치수이다.
타겟 분포 계산
일부 실시예에서, 물체가 3개의 자유도(예를 들어, 3차원에서의 병진 운동)를 이용하여 정렬되려고 할 때, TDC 모듈(412)이 다음과 같은 관계를 만족하는 가중 함수 f(x, y, z)를 결정하는 것이 바람직할 수 있다:
Figure 112017084000307-pat00171
여기서, i는 i번째 관심 지점을 인덱싱한다. 이 최적화 루틴의 목적은, (1) 관심 지점들에서 측정된 피쳐 벡터들의 x-성분들의 가중된 합계와, (2) 관심 지점들에서 측정된 피쳐 벡터들의 y-성분들의 가중된 합계와, (3) 관심 지점들에서 측정된 피쳐 벡터들의 z-성분들의 가중된 합계를 같게하는 함수 f(x, y, z)를 식별하는 것이다.
일부 실시예에서, 일단 TDC 모듈(412)이 가중 함수 f(x, y, z)를 결정하고 나면, TDC 모듈(412)은 가중 함수 f(x, y, z)를 PDM 모듈(416)에 제공할 수 있다. 일부 실시예에서, 가중 함수는, PDM 모듈(416)이 하나 이상의 관심 지점들 상에 프로브들을 배치하는데 이용할 수 있는 확률 분포의 형태를 취할 수 있다. PDM 모듈(416)은 이 경우에서는 프로브들을 샘플링하기 위한 확률 분포로서 가중 함수 f(x, y, z)를 이용하기 때문에, 이것은 음이 아니도록 제한되어야 하고, 적어도 지원되는 도메인 중 일부에 대해 양일 수 있다. 타겟 분포는 여기서 f(x, y, z)로 표시된 확률 분포일 수 있다.
일부 실시예에서, 가중 함수는, 어떤 다른 수단을 통해 선택된 기존의 프로브 세트를 가중치부여하여, 다음을 최소화하는 방식으로 그들의 상대적 중요성에 영향을 미친다:
Figure 112017084000307-pat00172
일부 실시예에서, 패턴이 6개의 자유도(예를 들어, 3차원에서의 병진 운동 및 회전 운동)를 가질 때, TDC 모듈(412)은, 회전 운동에 대응하는 3개의 회전 변수 θp, θr 및 θy를 타겟 분포 내에 통합할 수 있다. TDC 모듈(412)은 원점 및 축 세트에 관한 회전 변수 θp, θr 및 θy를 정의할 수 있다.
일부 실시예에서, 3개의 회전 자유도에 밸런싱 기술을 적용하기 위해, 중심 및 회전축이 발견된다. 예를 들어, 프로브 배치 모듈(408)은 법선 벡터들의 회전 모멘트들의 합을 최소화하는 지점을 발견함으로써 회전의 중심을 발견하고 동일한 기준을 이용하여 개개의 축들을 발견하도록 구성될 수 있다.
예를 들어, 도 26에 나타낸 바와 같이, 일부 실시예에서, 회전 중심 c를 발견하기 위해, 프로브 배치 모듈(408)은 지점 집단 n i 내의 모든 표면 법선 벡터들의 회전 모멘트를 최소화하는 지점을 발견한다. 하나의 법선 벡터 n i 에 대한 지점 c를 중심으로 한 회전 모멘트는 다음과 같이 주어진다:
Figure 112017084000307-pat00173
따라서, 회전 중심을 발견하기 위해, 기술들은 다음을 최소화할 수 있다:
Figure 112017084000307-pat00174
설정은 다음과 같다:
Figure 112017084000307-pat00175
앞선 방정식은 다음과 같이 다시 쓸 수 있다:
Figure 112017084000307-pat00176
그 후 c에 관해 미분하고 0으로 설정하면 회전 중심에 대해 다음과 같은 해를 구할 수 있다:
Figure 112017084000307-pat00177
이제, 회전 중심 c에서, a=bt+c로 주어진 회전축에 대한 법선 벡터 ni의 모멘트는 다음과 같이 주어진다:
Figure 112017084000307-pat00178
따라서 다음과 같이 주어진 대칭 행렬의 널(null) 공간을 발견함으로써 회전축을 발견할 수 있다:
Figure 112017084000307-pat00179
그러나, 주로 회전 대칭인 물체들(예를 들어, 도 19의 이미지)이 있는 경우가 있을 수 있다. 이러한 경우, 프로브 선택 프로세스는 이 대칭성을 깨는 지점들에 프로브들을 할당할 수 있다. 따라서, 일부 실시예에서, 제1 실시예에서 주 회전축은 튜브의 중심을 통해 배치되고 교차 요소의 외래 피쳐들을 향해 편향되지 않는 것이 바람직하다. 일부 실시예에서, 본 기술분야의 통상의 기술자에게 공지된 바와 같이, (그러나 전술한 바와 동일한 기준에 기초하여) 회전축을 발견하기 위해 RANSAC 알고리즘이 채용될 수 있다. 다른 실시예들에서, 예를 들어, Monte Carlo 기술이 이용될 수 있고, 이 때, 회전 중심 및 축 추정은 Bayesian 파라미터 추정 문제로 제기된다.
도 27은 RANSAC 알고리즘이 회전축(2703)을 발견하는데 이용되는 물체의 예를 나타낸다. 도 27은 프로브(2701)들 및 지점(2702)들을 도시한다. RANSAC 알고리즘의 각각의 반복은 4개 지점들의 서브세트를 무작위로 선택한다. 이들 지점들은 제안된 회전 중심 및 회전 축들의 세트를 계산하는데 이용된다. 회전 중심이 점의 경계 박스 바깥에 있는 것으로 확인되면, 1배로 확장되고, 제안이 거부된다. 안쪽에 놓인 것들은 정규화된 내적을 임계화(thresholding)함으로써 검출할 수 있다:
Figure 112017084000307-pat00180
여기서 a i 는 제안된 주 회전축 상에 놓여 있다(도 26에 도시됨). 일단 안쪽에 놓인 것들의 세트가 획득되고 나면, 새로운 회전 중심과 회전 축 세트가 생성되어 모델의 적합성을 측정하는데 이용될 수 있다. 모델의 적합성은 모든 후보 및 안쪽에 놓인 지점들에 대한 상기 정규화된 내적을 합산함으로써 계산될 수 있다.
정렬 모델이 단일 시야(field of view)로부터 기록된 이미지로부터 트레이닝되는 응용에서, 곡면들은 이미징 디바이스에게 뚜렷한 수평선 지점들을 가질 수 있다. 예를 들어, 원통 표면의 일부만이 카메라에게 보여질 수 있다. 이러한 수평 엣지들에 근접하게 프로브들을 배치하는 것은 그리 바람직하지 않다. 예를 들어, 원통이 중심 축 주위로 회전한다면, 하나의 하단 엣지를 따른 모든 프로브들이 시야로부터 사라질 것이다. 정렬 알고리즘은 회전 자유도뿐만 아니라 병진 자유도에 관해 검색할 가능성이 크기 때문에, 일부 실시예에서는, 가능한한 전체 검색 범위에 걸쳐 많은 프로브 사이트들을 볼 수 있게 하는 것이 바람직할 수 있다.
일부 실시예에서, 프로브 사이트들을 선택할 때 수평선 지점들은 고려대상에서 제거될 수 있다. 일부 실시예에서, 한 지점이 사실상 수평선 지점인지를 결정하기 위해 2개의 조건들 중 하나 또는 양쪽 모두가 이용될 수 있다. 예를 들어, 도 26을 참조하면, 지점(pi)가 수평선 지점이 되는 제1 조건은 그 표면 법선과 회전 단위 벡터 중 하나와의 내적이 미리 정의된 임계값, 예를 들어, cos(85.0)보다 작아야 한다는 것이다. 바꾸어 말하면, 이 예에서, 표면 법선들이 도 19의 [pi - ai]와 대략 평행한 지점들만이 고려될 것이다. 이 예를 계속하면, 재2 조건은 그 지점이 회전 방향, 예를 들어, urot에서 표면의 엣지에 근접해야 한다는 것이다. 이를 확인하기 위해, 잠재적인 각각의 수평선 지점(예를 들어, 제1 조건을 충족시키는 지점들)에 대해, 단계들 2001 내지 2003이 적용되어 지점들 pi에서의 접평면에 대한 표면 깊이 값들의 규칙화된 그리드를 얻을 수 있다. 바이리니어 맵핑은 방향 urot을 따라 규칙적인 간격으로 샘플링을 수행하는데 이용될 수 있다. 이것은 단계 2005에서 수행된 샘플링과 유사하며, 차이점은 방향이다. 1-d 신호에 임계값을 적용함으로써, pi가 가시 표면의 엣지에 가까운지에 관한 결정이 이루어질 수 있다. 임계값은 누락된 픽셀 값들에 대해 이용되는 값들에 따라 달라지지만, (단계 2003에서 제안된) N을 이용한다면, 이 예에서는 0.9 N이 적당할 것이다. 추가 실시예들에서, 다른 값들이 이용될 수 있다. 예를 들어, 임계값은 0.7 N과 N 사이일 수 있고, 더 바람직하게는 0.85 N과 0.95 N 사이일 수 있다. 역시 추가의 실시예에서, 다른 임계값이 이용될 수 있다.
도 28a 및 도 28b는 일부 실시예에 따른 수평선 지점 제거를 동반한 및 동반하지 않은 프로브 배치의 예를 나타낸다. 특히, 도 28a는 일부 실시예에 따른 수평선 지점 제거를 동반하지 않은 프로브 배치를 나타내고 도 28b는 수평선 지점 제거를 동반한 프로브 배치를 나타낸다. 도 28a 및 도 28b는 프로브(2801)들 및 지점(2802)들을 도시한다. 도 28b는 예를 들어 도 28a의 수평선 지점(2803)들을 포함하지 않는다는 점에 유의해야 한다.
일부 실시예에서, 일단 회전 중심 c 및 회전축들이 결정되고(그들 각각의 단위 벡터
Figure 112017084000307-pat00181
에 의해 파라미터화 되고) 나면, TDC 모듈(412)은, 원점으로부터 i번째 관심 지점의 중심까지의 벡터인 i번째 관심 지점의 위치 벡터 p i 와, 이전에 계산된 해상력 벡터들
Figure 112017084000307-pat00182
을 이용하여, 회전 변수들(θp, θr, 및 θy)을 결정할 수 있다.
Figure 112017084000307-pat00183
도 29는 회전 단위 벡터
Figure 112017084000307-pat00184
상으로의
Figure 112017084000307-pat00185
의 투사들의 합의 크기로서 간주될 수 있는
Figure 112017084000307-pat00186
의 계산을 위한 관련 벡터들을 도시한다.
일부 실시예에서, 회전 변수
Figure 112017084000307-pat00187
는 지점과 회전 축 사이의 거리의 노옴, 즉, 벡터
Figure 112017084000307-pat00188
를 고려할 수 있다.
Figure 112017084000307-pat00189
이기 때문에, TDC 모듈(412)은 각도 정밀도를 증가시키기 위하여 원점으로부터 더 먼 관심 지점들의 기여도를 강조할 수 있다. 예를 들어, TDC 모듈(412)은 다음과 같이 i번째 관심 지점에 대한 회전 변수
Figure 112017084000307-pat00190
를 정의할 수 있다:
Figure 112017084000307-pat00191
위치 벡터
Figure 112017084000307-pat00192
의 노옴에 의존하는 회전 변수
Figure 112017084000307-pat00193
는 회전축으로부터 더 멀리 떨어진 위치들에 프로브들을 배치하는 것에 우호적인 타겟 분포를 제공할 수 있다. 이러한 방식으로, 타겟 분포는 회전 중심으로부터 더 멀리 떨어진 관심 지점들에서 더 많은 프로브들이 샘플링되게 할 수 있다.
일부 실시예에서, 일단 TDC 모듈(412)이 회전 변수에 대한 표현을 결정하고 나면, TDC 모듈(412)은 관심 지점들 각각을 나타낼 결정 표현을 이용할 수 있다. 후속해서, TDC 모듈(412)은 다음과 같은 관계를 만족하는 가중 함수 f(x, y, z, θp, θr, θy)를 발견함으로써 관심 지점들의 표현에 기초하여 타겟 분포를 결정하도록 구성될 수 있다:
Figure 112017084000307-pat00194
제약은 다음과 같다:
Figure 112017084000307-pat00195
Figure 112017084000307-pat00196
여기서, i는 i번째 관심 지점을 인덱싱한다. 이것은 병진 및 회전 자유도 양쪽 모두에서 이 부분의 해상력을 공동으로 밸런싱하는 효과를 가질 수 있다.
일부 실시예에서, TDC 모듈(412)은, 전체 세트의 관심 지점들을 이용하여 최소한의 해상 정보를 갖는 것으로 파악된 회전 자유도에서의 해상력을 최대화하면서 병진 자유도에서의 해상력을 공동으로 밸런싱하는, 즉,
Figure 112017084000307-pat00197
이면 피치,
Figure 112017084000307-pat00198
이면 요, 그 외에는 롤인, 가중 함수 f(x, y, z, θp, θr, θy)를 발견함으로써 관심 지점들의 표현에 기초하여 타겟 분포를 결정하도록 구성될 수 있다. 이것은, 예를 들어, 하나의 회전 변수가 작아서 앞서 기술한 최적화가 3개의 회전 변수 사이의 불일치를 다른 2개의 기여도를 최소화함으로써 감소시키게 하는 조건 하에서 유리할 수 있다. 이것은 대부분의 프로브들을 회전 중심 근처에 배치하는 바람직하지 않은 효과를 가질 수 있다.
일부 실시예에서, TDC 모듈(412)은, 다음과 같은 최적화를 실행함으로써 회전 자유도에서의 해상력을 최대화하면서 병진 자유도에서의 해상력을 밸런싱하는 가중 함수 f(x, y, z, θp, θr, θy)를 결정하도록 구성될 수 있다:
Figure 112017084000307-pat00199
제약은 다음과 같다:
Figure 112017084000307-pat00200
Figure 112017084000307-pat00201
여기서 파라미터 w S w R 은 병진 성분들 사이의 차이의 최소화와 최소 회전 성분의 최대화 사이의 최적화에 있어서 상대적 편향을 규정한다.
일부 실시예에서, 일단 TDC 모듈(412)이 타겟 분포 f(x, y, z, θp, θr, θy)를 결정하고 나면, TDC 모듈(412)은 타겟 분포 f(x, y, z, θp, θr, θy)를 PDM 모듈(416)에 제공할 수 있다. 후속해서, PDM 모듈(416)은 확률 분포로서 타겟 분포 f(x, y, z, θp, θr, θy)를 이용하여 패턴 상의 프로브들을 샘플링할 수 있다.
일부 실시예에서, 상기 최적화 프로세스를 용이하게 하기 위해, 프로브 배치 모듈(408)은 타겟 분포 f(x, y, z, θp, θr, θy)에 대한 함수 형태를 취할 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 타겟 분포 f(x, y, z, θp, θr, θy)가 선형 형태를 갖는다고 가정할 수 있다. 선형 함수는 음수가 될 수 있지만, 제약
Figure 112017084000307-pat00202
은 모든 관심 지점들에서 타겟 분포가 양의 값이 되도록 강제할 수 있다. 타겟 분포 f(x, y, z, θp, θr, θy)가 선형 형태를 가질 때, 타겟 분포를 찾는 최적화 루틴은 선형 형태를 이용하도록 구성될 수 있다. 그러나, 선형 함수의 공간은 제한되어 있기 때문에, 모든 제약을 만족하는 선형 함수를 찾는 것이 어려울 수 있다.
일부 실시예에서, 프로브 배치 모듈(408)은 타겟 분포 f(x, y, z, θp, θr, θy)가 비선형 형태를 갖는다고 가정할 수 있다. 타겟 분포 f(x, y, z, θp, θr, θy)가 비선형 형태를 가질 때, 타겟 분포를 찾는 최적화 루틴은 비선형 형태를 이용하도록 상이하게 구성될 수 있다. 그러나, 비선형 함수의 공간은 넓기 때문에, 모든 제약을 만족하는 비선형 함수를 찾는 것은 더 용이할 수 있다.
일부 실시예에서, TDC 모듈(412)은 타겟 분포 f(x, y, z, θp, θr, θy)를 관심 지점 분포
Figure 112017084000307-pat00203
의 역으로서 설정할 수 있다. 이 경우, TDC 모듈(412)은, FDC 모듈(414)로부터, 관심 지점 분포
Figure 112017084000307-pat00204
를 수신하고, 역 분포를 계산함으로써 간접적으로 타겟 분포를 결정할 수 있다:
Figure 112017084000307-pat00205
. 예를 들어, 타겟 분포 f(x, y, z, θp, θr, θy)가 관심 지점 분포
Figure 112017084000307-pat00206
의 역으로서 정의되면, 타겟 분포 f(x, y, z, θp, θr, θy)는 나머지 관심 지점들에 비해 비교적 유사하지 않은 관심 지점들을 갖는 위치들에서 더 많은 프로브들이 샘플링되게 할 것이다.
일부 실시예에서, FDC 모듈(414)은 관심 지점 분포
Figure 112017084000307-pat00207
를 혼합 모델로서 모델링할 수 있다. 일부 실시예에서, 혼합 모델은, 다음과 같은 가우시안 혼합 모델(GMM)을 포함할 수 있다:
Figure 112017084000307-pat00208
GMM은 4개의 파라미터 : 가우시안 분포의 수 N, k번째 가우시안 분포의 가중치 αk, k번째 가우시안 분포의 평균 벡터
Figure 112017084000307-pat00209
, 및 k번째 가우시안 분포의 공분산 행렬
Figure 112017084000307-pat00210
를 가진다. 다른 실시예에서, 혼합 모델은 삼각형 분포의 혼합을 포함할 수 있다. 일부 실시예에서, 삼각형 분포의 혼합은 계산하기에 더 빠르며 관심 지점들의 소프트 그룹화를 제공하는 것과 유사한 바람직한 속성을 제공할 수 있다.
일부 실시예에서, FDC 모듈(414)은, 관심 지점들을 클러스터링하고 관심 지점들에 가장 잘 맞는 클러스터의 수를 결정함으로써 GMM에 대한 가우시안 분포의 수 N을 추정할 수 있다. 예를 들어, FDC 모듈(414)은 관심 지점들에 관해 k-평균 클러스터링 연산을 수행하여 가우시안 분포의 수 N을 추정할 수 있다.
나머지 파라미터 세트
Figure 112017084000307-pat00211
는, 주어진 관심 지점들 하에서 파라미터들의 우도(likelihood)를 최대화함으로써 결정될 수 있다. 일부 실시예에서, FDC 모듈(414)은 기대치-최대화 기술을 이용하여 주어진 관심 지점들 하에서 파라미터들의 우도를 최대화할 수 있다. 기대치-최대화를 수행하기 위해, FDC 모듈(414)은 클러스터링 단계로부터의 결과를 이용하여 파라미터 세트
Figure 112017084000307-pat00212
를 초기화할 수 있다.
전술된 바와 같이, TDC 모듈(412)은 단순히 관심 지점 분포
Figure 112017084000307-pat00213
를 반전(inverting)시킴으로써 타겟 분포 f(x, y, z, θp, θr, θy)를 결정할 수 있다. 그러나, 이러한 타겟 분포 f(x, y, z, θp, θr, θy)는 대부분의 프로브들이 x, y, z, θp, θr, θy의 최소의 공통 값들을 갖는 엣지들 상에 배치되게 할 수 있다. 예를 들어, 물체가 3D 병진 운동만을 할 수 있고 그 물체가 둥근 코너를 갖는 박스 형상인 경우, 이 타겟 분포 f(x, y, z)는 PDM 모듈(416)이 주로 코너 위치들 주변에서 샘플링하게 할 수 있다. 이러한 시나리오에서, 프로브들이 코너 위치들에만 배치되는 정렬 모델은 폐색(occlusion) 및 노이즈에 취약하다.
이러한 문제를 해결하기 위해, 일부 실시예에서, TDC 모듈(412)은 관심 지점 분포
Figure 112017084000307-pat00214
를 변환하고 변환된 관심 지점 분포를 반전시켜 타겟 분포 f(x, y, z, θp, θr, θy)를 결정할 수 있다. 이 변환은 평활화 커널을
Figure 112017084000307-pat00215
에 적용하는 형태를 취할 수 있다.
일부 실시예에서, TDC 모듈(412)은 역변환을 수행하는 것 이외의 방식으로 관심 지점 분포를 변환함으로써 타겟 분포를 결정할 수 있다. 이러한 한 실시예는 소정의 조건을 만족하는 새로운 가중치
Figure 112017084000307-pat00216
를 발견함으로써 관심 지점 분포
Figure 112017084000307-pat00217
를 변환한다. 파라미터들의 세트
Figure 112017084000307-pat00218
를 추정하는데 있어서, TDC 모듈(412)은 관심 지점들의 소프트 그룹화(예를 들어, 가우시안 분포로의 소프트 그룹화)를 수행할 수 있다. 일단 TDC 모듈(412)이 이들 그룹화를 수행하고 나면, TDC 모듈(412)은 각각의 그룹(예를 들어, 각각의 가우시안 분포)을 개별적으로 재-가중치부여할 새로운 가중치
Figure 112017084000307-pat00219
를 찾도록 구성될 수 있다.
예를 들어, TDC 모듈(412)은:
Figure 112017084000307-pat00220
를 나타낼 수 있다. 이 표현에서, TDC 모듈(412)은 다음과 같은 관계를 최소화하는 가중치들
Figure 112017084000307-pat00221
을 찾도록 구성될 수 있다:
Figure 112017084000307-pat00222
제약은 다음과 같다:
Figure 112017084000307-pat00223
최소화는, Lagrange 승수
Figure 112017084000307-pat00224
를 이용한 Lagrangian 형성을 통해 선형 프로그래밍 문제로 변환될 수 있다:
Figure 112017084000307-pat00225
일부 실시예에서, 최적화의 병진 성분 및 회전 성분 사이의 상대적 가중치부여는 단일 파라미터 R BIAS 를 이용하고 가중치들에 대한 다음과 같은 공식을 이용하여 설정될 수 있다:
Figure 112017084000307-pat00226
Figure 112017084000307-pat00227
프로브 배치에 미치는 R BIAS 의 변경의 효과는 도 30a 내지 도 30c에 도시된 예들에 예시되어 있다. 도 30a는 어떠한 편향도 적용되지 않은 예를 도시하고, 도 30b는 병진 편향이 적용되는 예를 도시하고, 도 30c는 지점 3002 상의 프로브(3001)들의 배치에 관해 회전 편향이 적용되는 예를 도시한다. 도 30a에 비해, 도 30b는 튜브의 중심 축에 평행한 방향으로 모델의 해상력을 증가시키는 영역(3004) 및 끝부분(3003) 근처에 더 많은 프로브들을 포함한다. 도 30a에 비해, 도 30c는 작은 교차 튜브(3010)의 상단에 더 많은 프로브들을 포함한다. 이들 프로브 위치들은 주 튜브의 중심 축을 중심으로 하는 회전 자유도에서 모델의 해상력을 향상시킨다.
일부 실시예에서, TDC 모듈(412)은 추가적인 제약을 이용하여
Figure 112017084000307-pat00228
에 관한 최소화를 해결할 수 있다. 예를 들어, 전술된 기술은 변환된 가중치
Figure 112017084000307-pat00229
가 음수가 되는 것을 방지하지 않거나, 큰 가중치
Figure 112017084000307-pat00230
가 (예를 들어, 관심 지점 분포
Figure 112017084000307-pat00231
의 원래의 가중치
Figure 112017084000307-pat00232
가 작은) 작은 그룹의 관심 지점들로부터 추정된 가우시안에 할당되는 것을 방지하지 않는다. TDC 모듈(412)은 이들 및/또는 다른 제약을 프로그램적으로 적용할 수 있다.
또한, 일부 실시예에서, TDC 모듈(412)은, 최종 세트의 프로브들에서 개개의 클러스터가 과다 또는 과소 표현되는 양을 제한하도록 구성된다. 이것은 다음과 같은 한 세트의 제약을 추가함으로써 달성될 수 있다:
Figure 112017084000307-pat00233
여기서 C lim 은 제한 인자를 제공하는 상수이다.
제한 인자를 변경하는 효과의 예가 도 31a 내지 도 31d에 예시되어 있다. 도 31a는 해상력을 갖는 지점(3103)들의 예를 나타낸다. 상세 영역(3104)은 지점들이 가시적인 수평선에 접근함에 따라 튜브 중심 축 주변에서 증가하는 해상 회전 해상력을 보여준다; 이들 "수평선 지점들"은 프로브 위치들을 선택할 때 고려대상에서 제외될 것이다. 제2 상세 영역(3105)은 관심 지점들이 튜브의 끝부분에 접근함에 따라 튜브 중심 축에 평행한 해상력에서의 증가를 보여준다. 도 31b는 C lim = 1.2인 프로브 선택의 결과의 예를 도시한다; 이 프로브 세트는 무작위로 선택된 프로브 세트보다 약간 더 밸런싱되어 있다. 도 31c는 C lim = 4인 프로브 선택의 결과의 예를 도시한다; 프로브 사이트들이 튜브의 끝부분과 측면을 향해 더 가중치부여되어 있다는 것을 볼 수 있다. 도 31d는 프로브(3101)들 및 지점(3102)들에 관한 C lim = 10인 프로브 선택의 결과의 예를 도시한다; 여기서 프로브 사이트들의 대다수는 튜브의 끝부분에 있다. 도 31a 내지 도 31d에서 알 수 있는 바와 같이, 제한 인자를 증가시키면 프로브 사이트들이 튜브의 끝부분 쪽으로 더욱 집중된다. 제한 인자를 증가시키면 더 밸런싱된 프로브 세트가 생성되지만, 모델의 견고성은 폐색 영역에 더욱 취약해질 수 있다(예를 들어, 튜브의 끝부분들 중 하나가 런타임시에 가려질 수 있다).
일부 실시예에서, (예를 들어, Lagrangian의 미분 및 0과 같게 둠으로써 형성되는) 선형 방정식 세트가 제약을 위반하는 적어도 하나의 가중치
Figure 112017084000307-pat00234
를 갖는 결과를 생성할 때, TDC 모듈(412)은 경계 사례들의 모든 가능한 조합들에 대해 반복하고, 최적의 나머지 가중치들을 계산하며, 제약된 최소치를 선택하도록 구성될 수 있다.
예를 들어, TDC 모듈(412)은, 선형 방정식에 대해 모든 가능한 경계 조건 세트(예를 들어,
Figure 112017084000307-pat00235
)를 결정할 수 있다. 경계 조건들의 각각의 세트는 변환된 가중치들
Figure 112017084000307-pat00236
의 서브세트에 대한 경계 조건을 포함할 수 있다. 후속해서, 각각의 경계 조건 세트에 대해, TDC 모듈(412)은 가중치들
Figure 112017084000307-pat00237
의 서브세트의 값을 대응하는 경계 조건의 값으로 고정하고, 경계 조건없이 나머지 자유 가중치들
Figure 112017084000307-pat00238
에 대해 선형 방정식 세트를 풀 수 있다. 이런 방식으로, TDC 모듈(412)은, 모든 가능한 경계 조건 세트 하에서, 해(solution)들 중에서 최소 점수를 갖는 해를 선택함으로써 주어진 제약 하에서 선형 방정식 세트에 대한 전역 해를 결정할 수 있다.
일부 경우에, GMM에서의 가우시안 분포의 개수가 관심 지점들이 놓여 있는 차원의 개수보다 클 때, GMM에서의 파라미터들 중 일부는 선형적으로 의존적일 수 있다. 예를 들어, 가우시안 분포의 평균 벡터는, 가우시안 분포의 수가 관심 지점들이 놓여 있는 차원의 수보다 클 때 선형적으로 의존할 수 있다.
이 문제를 해결하기 위해, TDC 모듈(412)은, 예를 들어, Tikhonov 규칙화를 이용하여 GMM에 대한 파라미터들을 규칙화하도록 구성될 수 있다. 이러한 접근법이 실패한다면, TDC 모듈(412)은 다음과 같은 함수를 최소화하도록 최적화 문제를 재구성할 수 있다:
Figure 112017084000307-pat00239
이 새로운 Lagrangian 공식은, 그 해가 병진 자유도에서 완벽하게 밸런싱되고 변환된 가중치들의 합이 1이 되도록 제약하면서 최소의 적합한 해상력으로 회전 자유도에서의 해상력을 최대화하고자 한다.
일부 실시예에서, TDC 모듈(412)은 전술된 Lagrangian 관계를 만족하는 가중치들을 직접 발견할 수 있다. 그러나, 이 관계는, 가중치들
Figure 112017084000307-pat00240
가 음수가 되는 것을 방지하지 않거나, 큰 가중치
Figure 112017084000307-pat00241
가 (예를 들어, 관심 지점 분포
Figure 112017084000307-pat00242
의 원래의 가중치
Figure 112017084000307-pat00243
가 작은) 작은 그룹의 관심 지점들로부터 추정된 가우시안에 할당되는 것을 방지하지 못할 수 있다. TDC 모듈(412)은, 전술된 바와 같이, 이들 제약을 프로그램적으로 적용할 수 있다. 이것은 상기의 Lagrangian 관계는
Figure 112017084000307-pat00244
에 있어서 2차식이므로 수학적으로 유효하고, 따라서 가중치들
Figure 112017084000307-pat00245
중 하나가 음수이면, 최적 값은 경계 조건들 중 하나(또는 그 이상)에 놓여 있어야 한다.
요약하면, 일부 예시적 실시예에서, 관심 지점 분포
Figure 112017084000307-pat00246
의 파라미터들에 기초하여 타겟 분포
Figure 112017084000307-pat00247
에 대한 파라미터들을 식별하기 위하여, TDC 모듈(412)은 다음과 같은 절차를 이용할 수 있다:
1. Lagrangian을 미분하고 0과 같게 둠으로써 형성된 선형 연립 방정식을 푼다:
Figure 112017084000307-pat00248
2. 이 연립 방정식이 특이해를 갖는다면, TDC 모듈(412)은 규칙화를 이용하여 이 연립 방정식을 풀 수 있다. 예를 들어, TDC 모듈(412)이 행렬 방정식
Figure 112017084000307-pat00249
을 풀려고 하면, TDC 모듈(412)은 그 대신에
Figure 112017084000307-pat00250
를 풀 수 있다. 이러한 방식으로, TDC 모듈(412)은 해 벡터(solution vector)의 L2-노옴의 합을 최소화할 수 있으며, 이것은, 차례로, (합이 1이 되는) 큰 양의 및 음의
Figure 112017084000307-pat00251
를 갖는 해를 방지할 수 있다.
3. 단계 2가 실패하면, 대체 Lagrangian을 미분하고 0으로 둠으로써 형성된 선형 연립 방정식을 푼다:
Figure 112017084000307-pat00252
4. 제약과 대조하여 단계 2 또는 단계 3의 해를 체크한다.
Figure 112017084000307-pat00253
5. 해가 가중치들
Figure 112017084000307-pat00254
의 유효한 범위를 벗어난다면, 모든 가능한 경계 조건 세트(예를 들어, 제약들)에 대해 단계 2 또는 단계 3의 수정된 버전을 이용하여 제약되지 않은
Figure 112017084000307-pat00255
에 대한 해 벡터를 구한다. 검색을 통해, TDC 모듈(412)은 아래의 식의 최소값들을 추적할 수 있다:
Figure 112017084000307-pat00256
Figure 112017084000307-pat00257
. 전자의 관계가 0보다 크면, TDC 모듈(412)은 전자의 관계를 이용하여
Figure 112017084000307-pat00258
에 대한 해 벡터를 선택할 수 있다. 전자의 관계가 0보다 크지 않다면, TDC 모듈(412)은 후자의 관계를 이용하여
Figure 112017084000307-pat00259
에 대한 해 벡터를 선택할 수 있다.
타겟 분포로부터의 프로브들의 샘플링
일단 TDC 모듈(412)이 변환된 관심 지점 분포
Figure 112017084000307-pat00260
를 결정하고 나면, TDC 모듈(412)은 변환된 관심 지점 분포
Figure 112017084000307-pat00261
(또는 변환된 관심 지점 분포의 역)를 PDM 모듈(416)에 제공할 수 있다. 후속해서, PDM 모듈(416)은 변환된 관심 지점 분포
Figure 112017084000307-pat00262
의 역으로부터 샘플링하여 이미지 내의 하나 이상의 관심 지점들 상의 프로브들의 위치를 결정할 수 있다.
TDC 모듈(412)은 변환된 관심 지점 분포
Figure 112017084000307-pat00263
에 관한 x, y, 및 z의 기대값이 가능한한 유사하게끔, 변환된 관심 지점 분포
Figure 112017084000307-pat00264
를 선택하도록 구성될 수 있다:
Figure 112017084000307-pat00265
중요도 샘플링은, 샘플들이 유사한 지지도를 갖는다는 조건으로 PDM 모듈(416)이 또 다른 상이한 분포로부터 도출된 샘플들에 가중치를 부여함으로써 타겟 분포로부터 샘플들을 도출하는 것을 허용한다. 즉 :
Figure 112017084000307-pat00266
여기서, Sprobes는 프로브 세트이고, SIP는 관심 지점들의 세트이다. 따라서, PDM 모듈(416)은 이 관계를 이용하여 관심 지점 분포
Figure 112017084000307-pat00267
로부터 도출된 샘플들을 다음에 의해 가중치부여할 수 있다:
Figure 112017084000307-pat00268
개시된 주제는 그 적용에 있어서, 이하의 설명에 개시되거나 이하의 도면에 나타낸 컴포넌트들의 구조의 상세사항 또는 그 배열로 제한되지 않는다는 것을 이해해야 한다. 개시된 주제는 다른 실시예들이 가능하고 다양한 방식으로 실시되고 실행될 수 있다. 또한, 여기서 사용되는 어법과 용어는 설명을 위한 것이며 제한으로서 간주되어서는 안 된다는 점을 이해하여야 한다.
따라서, 본 기술분야의 통상의 기술자라면, 본 개시내용의 기초를 이루는 개념은, 본 개시된 주제의 수 개의 목적을 실행하기 위한 다른 구조, 방법, 및 장치를 설계하기 위한 기초로서 용이하게 이용될 수 있다는 것을 이해할 것이다. 따라서, 청구항들은, 개시된 주제의 사상 및 범위를 벗어나지 않는 한 이러한 균등한 구성을 포함하는 것으로 간주되어야 한다는 것이 중요하다. 예를 들어, 개시된 실시예들 중 일부는 하나 이상의 변수에 관련된다. 이 관계는 수학 방정식을 이용하여 표현될 수 있다. 그러나, 본 기술분야의 통상의 기술자라면, 개시된 수학 방정식을 변형시킴으로써 상이한 수학 방정식을 이용하여 하나 이상의 변수들 사이의 동일한 관계를 표현할 수 있을 것이다. 청구항들은, 하나 이상의 변수들 사이의 이러한 균등한 관계를 포함하는 것으로 간주되어야 하는 것이 중요하다.
개시된 주제가 전술된 예시적인 실시예들에서 설명되고 예시되었지만, 본 개시내용은 단지 예로서 이루어진 것일 뿐이고, 개시된 주제의 사상과 및 범위를 벗어나지 않고 개시된 주제의 구현의 상세사항들에서 많은 변경이 이루어질 수 있다는 것을 이해해야 한다.

Claims (37)

  1. 3차원(3D) 런타임 이미지(runtime image)에서 트레이닝된 3D 모델 이미지(trained 3D model image)의 포즈(pose)를 추정하기 위한 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈를 평가하는데 이용되는 3D 프로브들의 배치를 선택하기 위한 시스템으로서,
    메모리와 통신하는 프로세서를 포함하고, 상기 프로세서는 상기 메모리에 저장된 컴퓨터 프로그램을 실행하도록 구성되며, 상기 컴퓨터 프로그램은:
    3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐(feature) ―각각의 피쳐는 상기 복수의 관심 지점 중에서 연관된 지점의 3D 속성들을 나타내는 데이터를 포함함― 를 생성하고;
    상기 제1 복수의 관심 지점과 연관된 상기 복수의 피쳐에 적어도 부분적으로 기초하여, 상기 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하며;
    상기 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치를 결정하도록 구성되는, 시스템.
  2. 제1항에 있어서, 상기 복수의 피쳐는 복수의 표면 법선 벡터(surface normal vector), 복수의 엣지 근접 벡터(edge proximity vector), 복수의 엣지 방향 벡터(edge direction vector), 또는 복수의 표면 곡률 벡터(surface curvature vector)를 포함하거나, 또는
    상기 복수의 피쳐 각각은, 적어도 하나의 병진 자유도(translational degree of freedom) 또는 적어도 하나의 회전 자유도(rotational degree of freedom)에서의 정렬을 위해 상기 제1 복수의 관심 지점 중에서 연관된 지점의 적어도 하나의 유용성 측도(measure of usefulness)를 포함하거나, 또는
    상기 복수의 3D 프로브의 배치는 상기 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 적어도 하나의 덜 표현된(at least one less represented) 회전 자유도 또는 적어도 하나의 덜 표현된 병진 자유도에서 앙상블 정렬 능력(ensemble alignment ability)의 증가를 제공하는, 시스템.
  3. 제1항에 있어서,
    상기 제1 복수의 관심 지점의 서브세트에 맞는(fit) 회전 중심 및 회전축들은, 상기 회전 중심 및 회전축들이 패턴의 회전 대칭 피쳐(rotationally symmetric feature)들과 연관되도록 결정되거나, 또는
    RANSAC 기술 또는 몬테 카를로(Monte Carlo) 기술을 이용하여 상기 제1 복수의 관심 지점의 서브세트로부터 회전 중심 및 회전축들이 발견되거나, 또는
    상기 프로세서는:
    상기 복수의 피쳐의 회전 모멘트들의 합계를 최소화하는 회전 중심을 결정하고;
    상기 복수의 피쳐의 상기 회전 모멘트들의 합계를 최소화하는 제1, 제2,및 제3 회전축을 결정하도록 추가로 구성되는, 시스템.
  4. 제1항에 있어서,
    상기 제1 복수의 관심 지점과 연관된 상기 복수의 피쳐에 적어도 부분적으로 기초하여 상기 제1 복수의 관심 지점 중에서 상기 제2 복수의 관심 지점을 선택하는 것은:
    확률 분포를 상기 제1 복수의 관심 지점에 맞추는 것;
    상기 제1 복수의 관심 지점 중 하나 이상의 관심 지점 상의 상기 복수의 3D 프로브의 원하는 배치를 나타내는 타겟 분포를 결정하는 것; 및
    상기 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 상기 복수의 3D 프로브의 배치를 결정하는 것은, 상기 맞추어진 확률 분포와 상기 타겟 분포의 상대적 확률들을 적어도 부분적으로 이용함으로써 상기 복수의 3D 프로브의 배치를 결정하는 것을 포함하는, 시스템.
  5. 제4항에 있어서,
    상기 확률 분포를 상기 제1 복수의 관심 지점에 맞추는 것은 혼합 모델을 포함하는 상기 확률 분포에 상기 제1 복수의 관심 지점을 맞추는 것을 포함하거나 - 상기 확률 분포는 적어도 상기 제1 복수의 관심 지점에서 측정된 배향들의 분포를 나타냄 -; 또는
    상기 프로세서는 상기 제1 복수의 관심 지점을 적어도 하나의 클러스터로 클러스터링함으로써 상기 확률 분포의 혼합 모델의 컴포넌트들의 수를 결정하도록 추가로 구성되는, 시스템.
  6. 제1항에 있어서,
    상기 프로세서는:
    상기 제1 복수의 관심 지점으로부터 하나 이상의 수평선 지점(horizon point)을 식별하고;
    상기 제2 복수의 관심 지점이 상기 하나 이상의 수평선 지점을 포함하지 않도록 상기 하나 이상의 수평선 지점을 고려대상에서 제외하도록 추가로 구성되는, 시스템.
  7. 제1항에 있어서, 상기 제2 복수의 관심 지점을 선택하는 것은, 몬테 카를로(Monte Carlo) 기술을 이용하는 것을 포함하는, 시스템.
  8. 3차원(3D) 런타임 이미지(runtime image)에서 트레이닝된 3D 모델 이미지(trained 3D model image)의 포즈(pose)를 추정하기 위한 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈를 평가하는데 이용되는 3D 프로브들의 배치를 선택하기 위한 방법으로서,
    3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐(feature) ―각각의 피쳐는 상기 복수의 관심 지점 중에서 연관된 지점의 3D 속성들을 나타내는 데이터를 포함함― 를 생성하는 단계;
    상기 제1 복수의 관심 지점과 연관된 상기 복수의 피쳐에 적어도 부분적으로 기초하여, 상기 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하는 단계; 및
    상기 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치를 결정하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 복수의 피쳐는 복수의 표면 법선 벡터, 복수의 엣지 근접 벡터, 복수의 엣지 방향 벡터, 또는 복수의 표면 곡률 벡터를 포함하거나, 또는
    상기 복수의 피쳐 각각은, 적어도 하나의 병진 자유도 또는 적어도 하나의 회전 자유도에서의 정렬을 위해 상기 제1 복수의 관심 지점 중에서 연관된 지점의 적어도 하나의 유용성 측도를 포함하거나, 또는
    상기 복수의 3D 프로브의 배치는 상기 제1 복수의 관심 지점 각각 상의 배치에 의해 제공되는 적어도 하나의 덜 표현된 회전 자유도 또는 적어도 하나의 덜 표현된 병진 자유도에서 앙상블 정렬 능력의 증가를 제공하는, 방법.
  10. 제8항에 있어서,
    상기 제1 복수의 관심 지점의 서브세트에 맞는 회전 중심 및 회전축들은, 상기 회전 중심 및 회전축들이 패턴의 회전 대칭 피쳐들과 연관되도록 결정되거나, 또는
    RANSAC 기술 또는 몬테 카를로(Monte Carlo) 기술을 이용하여 상기 제1 복수의 관심 지점의 서브세트로부터 회전 중심 및 회전축들이 발견되거나, 또는
    상기 복수의 피쳐의 회전 모멘트들의 합계가 최소화되도록 회전 중심이 결정되고 상기 복수의 피쳐의 회전 모멘트들의 합계가 최소화되도록 제1, 제2, 및 제3 회전축이 결정되는, 방법.
  11. 제8항에 있어서,
    상기 제1 복수의 관심 지점과 연관된 상기 복수의 피쳐에 적어도 부분적으로 기초하여 상기 제1 복수의 관심 지점 중에서 상기 제2 복수의 관심 지점을 선택하는 단계는:
    확률 분포를 상기 제1 복수의 관심 지점에 맞추는 것;
    상기 제1 복수의 관심 지점 중 하나 이상의 관심 지점 상의 상기 복수의 3D 프로브의 원하는 배치를 나타내는 타겟 분포를 결정하는 것을 포함하고,
    상기 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 상기 복수의 3D 프로브의 배치를 결정하는 단계는, 상기 맞추어진 확률 분포와 상기 타겟 분포의 상대적 확률들을 적어도 부분적으로 이용함으로써 상기 복수의 3D 프로브의 배치를 결정하는 것을 포함하는, 방법.
  12. 제11항에 있어서,
    상기 확률 분포를 상기 제1 복수의 관심 지점에 맞추는 것은 혼합 모델을 포함하는 상기 확률 분포에 상기 제1 복수의 관심 지점을 맞추는 것 - 상기 확률 분포는 적어도 상기 제1 복수의 관심 지점에서 측정된 배향들의 분포를 나타냄 -; 또는
    상기 제1 복수의 관심 지점을 적어도 하나의 클러스터로 클러스터링함으로써 상기 확률 분포의 혼합 모델의 컴포넌트들의 수를 결정하는 것을 포함하는, 방법.
  13. 제8항에 있어서,
    상기 제1 복수의 관심 지점으로부터 하나 이상의 수평선 지점(horizon point)을 식별하는 단계; 및
    상기 제2 복수의 관심 지점이 상기 하나 이상의 수평선 지점을 포함하지 않도록 상기 하나 이상의 수평선 지점을 고려대상에서 제외하는 단계
    를 추가로 포함하는 방법.
  14. 제8항에 있어서, 상기 제2 복수의 관심 지점을 선택하는 단계는 몬테 카를로(Monte Carlo) 기술을 이용하는 것을 포함하는, 방법.
  15. 3차원(3D) 런타임 이미지(runtime image)에서 트레이닝된 3D 모델 이미지의 포즈를 추정하기 위한 3D 정렬 시스템 내부에서 런타임 3D 이미지의 3D 정렬 포즈를 평가하는데 이용되는 3D 프로브들의 배치를 선택하기 위한 시스템과 연관된 실행가능 명령어들을 갖는 비-일시적 컴퓨터 판독가능 매체로서, 상기 시스템으로 하여금:
    3D 이미지로부터 제1 복수의 관심 지점과 연관된 복수의 피쳐(feature) ―각각의 피쳐는 상기 복수의 관심 지점 중에서 연관된 지점의 3D 속성들을 나타내는 데이터를 포함함― 를 생성하고;
    상기 제1 복수의 관심 지점과 연관된 상기 복수의 피쳐에 적어도 부분적으로 기초하여, 상기 제1 복수의 관심 지점 중에서 제2 복수의 관심 지점을 선택하고;
    상기 제2 복수의 관심 지점에 적어도 부분적으로 기초하여 복수의 3D 프로브의 배치를 결정하도록 하는, 비-일시적 컴퓨터 판독가능 매체.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020170100976A 2016-08-09 2017-08-09 3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택 KR102204818B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/232,766 2016-08-09
US15/232,766 US10417533B2 (en) 2016-08-09 2016-08-09 Selection of balanced-probe sites for 3-D alignment algorithms

Publications (2)

Publication Number Publication Date
KR20180103660A KR20180103660A (ko) 2018-09-19
KR102204818B1 true KR102204818B1 (ko) 2021-01-19

Family

ID=61018555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170100976A KR102204818B1 (ko) 2016-08-09 2017-08-09 3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택

Country Status (5)

Country Link
US (1) US10417533B2 (ko)
JP (1) JP6744847B2 (ko)
KR (1) KR102204818B1 (ko)
CN (1) CN107705328B (ko)
DE (1) DE102017213752A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10482196B2 (en) * 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
US10417533B2 (en) * 2016-08-09 2019-09-17 Cognex Corporation Selection of balanced-probe sites for 3-D alignment algorithms
EP3297018B1 (en) * 2016-09-19 2019-03-27 FEI Company Tomographic imaging method
US10860841B2 (en) * 2016-12-29 2020-12-08 Samsung Electronics Co., Ltd. Facial expression image processing method and apparatus
EP3399757A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus to encode and decode two-dimension point clouds
US10382662B1 (en) * 2017-09-06 2019-08-13 The United States Of America, As Represented By The Secretary Of The Navy Apparatus and method for locating camera towers and scheduling surveillance
JP6598898B2 (ja) * 2018-02-27 2019-10-30 株式会社Screenホールディングス 芯ズレ検出装置および芯ズレ検出方法
WO2020014903A1 (en) * 2018-07-18 2020-01-23 Shenzhen Malong Technologies Co., Ltd. Complexity-based progressive training for machine vision models
CN110956603B (zh) 2018-09-25 2023-04-21 Oppo广东移动通信有限公司 深度图像边缘飞点的检测方法、装置及电子设备
CN110070182B (zh) * 2019-04-01 2021-08-24 京微齐力(北京)科技有限公司 适合人工智能的平台芯片及其制造和设计方法
CN110991229B (zh) * 2019-10-24 2023-04-28 中山大学 基于dsp芯片与量化模型的三维物体识别方法
US11315310B2 (en) * 2020-03-12 2022-04-26 Nvidia Corporation Reservoir-based spatiotemporal importance resampling utilizing a global illumination data structure
CN111487581B (zh) * 2020-04-20 2022-02-11 中国人民解放军军事科学院国防科技创新研究院 基于舵矢量模式匹配的宽带闪电vhf辐射源测向方法
JP2021189822A (ja) * 2020-06-01 2021-12-13 オリンパス株式会社 画像処理システム、及び、画像処理方法、並びに、画像処理プログラム
CN112075957B (zh) * 2020-07-27 2022-05-17 深圳瀚维智能医疗科技有限公司 乳腺环扫轨迹规划方法、装置及计算机可读存储介质
CN112329339B (zh) * 2020-10-27 2022-07-19 河北工业大学 一种风电场短期风速预测方法
CN113052110B (zh) * 2021-04-02 2022-07-29 浙大宁波理工学院 一种基于多视图投影和深度学习的三维兴趣点提取方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015052615A (ja) 2010-01-20 2015-03-19 ファロ テクノロジーズ インコーポレーテッド 多機能座標測定機
US20160055268A1 (en) 2014-06-06 2016-02-25 Matterport, Inc. Semantic understanding of 3d data

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016539B1 (en) * 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US6765570B1 (en) * 1998-07-21 2004-07-20 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets using a three-dimensional sampling probe
EP1193642B1 (en) 2000-09-27 2005-03-30 MVTec Software GmbH System and method for object recognition
US7006085B1 (en) * 2000-10-30 2006-02-28 Magic Earth, Inc. System and method for analyzing and imaging three-dimensional volume data sets
AU2001213525B2 (en) * 2000-10-30 2008-04-10 Landmark Graphics Corporation System and method for analyzing and imaging three-dimensional volume data sets
US20030063781A1 (en) * 2001-09-28 2003-04-03 Koninklijke Philips Electronics N.V. Face recognition from a temporal sequence of face images
JP2007141222A (ja) * 2005-10-19 2007-06-07 Keyence Corp 画像処理装置および画像処理方法
DE102008001800A1 (de) * 2007-05-25 2008-11-27 Carl Zeiss Smt Ag Projektionsobjektiv für die Mikrolithographie, Mikrolithographie-Projektionsbelichtungsanlage mit einem derartigen Projektionsobjektiv, mikrolithographisches Herstellungsverfahren für Bauelemente sowie mit diesem Verfahren hergestelltes Bauelement
WO2009047335A1 (en) * 2007-10-12 2009-04-16 Mvtec Software Gmbh Computer vision cad models
US8090160B2 (en) * 2007-10-12 2012-01-03 The University Of Houston System Automated method for human face modeling and relighting with application to face recognition
KR100930994B1 (ko) * 2007-12-18 2009-12-10 주식회사 케이티 3차원 영상 모델 생성 방법 및 장치, 이를 이용한 영상인식 방법 및 장치 그리고 상기 방법들을 수행하는프로그램이 기록된 기록 매체
US8259998B2 (en) * 2008-09-30 2012-09-04 Mazda Motor Corporation Image processing device for vehicle
US8556815B2 (en) * 2009-05-20 2013-10-15 Laurent Pelissier Freehand ultrasound imaging systems and methods for guiding fine elongate instruments
US9607239B2 (en) * 2010-01-20 2017-03-28 Faro Technologies, Inc. Articulated arm coordinate measurement machine having a 2D camera and method of obtaining 3D representations
KR20110097140A (ko) * 2010-02-24 2011-08-31 삼성전자주식회사 이동 로봇의 위치 추정 장치 및 방법
JP5872818B2 (ja) * 2010-08-20 2016-03-01 パナソニック株式会社 測位処理装置、測位処理方法、および画像処理装置
JP5593177B2 (ja) * 2010-09-14 2014-09-17 株式会社トプコン 点群位置データ処理装置、点群位置データ処理方法、点群位置データ処理システム、および点群位置データ処理プログラム
CN103430218A (zh) * 2011-03-21 2013-12-04 英特尔公司 用3d脸部建模和地标对齐扩增造型的方法
WO2013112749A1 (en) * 2012-01-24 2013-08-01 University Of Southern California 3d body modeling, from a single or multiple 3d cameras, in the presence of motion
US9299160B2 (en) * 2012-06-25 2016-03-29 Adobe Systems Incorporated Camera tracker target user interface for plane detection and object creation
EP2720171B1 (en) * 2012-10-12 2015-04-08 MVTec Software GmbH Recognition and pose determination of 3D objects in multimodal scenes
US9041914B2 (en) * 2013-03-15 2015-05-26 Faro Technologies, Inc. Three-dimensional coordinate scanner and method of operation
US9443297B2 (en) * 2013-07-10 2016-09-13 Cognex Corporation System and method for selective determination of point clouds
KR102016551B1 (ko) * 2014-01-24 2019-09-02 한화디펜스 주식회사 위치 추정 장치 및 방법
US9995573B2 (en) * 2015-01-23 2018-06-12 Cognex Corporation Probe placement for image processing
WO2016199605A1 (ja) * 2015-06-12 2016-12-15 ソニー株式会社 画像処理装置および方法、並びにプログラム
US11206989B2 (en) * 2015-12-10 2021-12-28 Fitbit, Inc. Light field management in an optical biological parameter sensor
US10373380B2 (en) * 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US10417533B2 (en) * 2016-08-09 2019-09-17 Cognex Corporation Selection of balanced-probe sites for 3-D alignment algorithms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015052615A (ja) 2010-01-20 2015-03-19 ファロ テクノロジーズ インコーポレーテッド 多機能座標測定機
US20160055268A1 (en) 2014-06-06 2016-02-25 Matterport, Inc. Semantic understanding of 3d data

Also Published As

Publication number Publication date
DE102017213752A1 (de) 2018-02-15
CN107705328B (zh) 2021-11-02
KR20180103660A (ko) 2018-09-19
US10417533B2 (en) 2019-09-17
JP6744847B2 (ja) 2020-08-19
JP2018055679A (ja) 2018-04-05
US20180046885A1 (en) 2018-02-15
CN107705328A (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
KR102204818B1 (ko) 3d 정렬 알고리즘들을 위한 밸런싱된-프로브 사이트들의 선택
CN110574071B (zh) 用于对齐3d数据集的设备,方法和系统
Kang et al. Automatic targetless camera–lidar calibration by aligning edge with gaussian mixture model
US9715761B2 (en) Real-time 3D computer vision processing engine for object recognition, reconstruction, and analysis
Aykin et al. On feature matching and image registration for two‐dimensional forward‐scan sonar imaging
Tazir et al. CICP: Cluster Iterative Closest Point for sparse–dense point cloud registration
US11965967B2 (en) Apparatus and method for detecting intersection edges
Almqvist et al. Learning to detect misaligned point clouds
Hu et al. An automatic 3D registration method for rock mass point clouds based on plane detection and polygon matching
Sveier et al. Object detection in point clouds using conformal geometric algebra
CN105825497B (zh) 用于图像处理的探针放置
US11468609B2 (en) Methods and apparatus for generating point cloud histograms
Bauersfeld et al. Low-cost 3d laser design and evaluation with mapping techniques review
Kim et al. A high quality depth map upsampling method robust to misalignment of depth and color boundaries
Weinmann et al. Point cloud registration
US20240029392A1 (en) Prediction method for target object, computer device, and storage medium
Antić et al. Segmentation of Stereo-Camera Depth Image into Planar Regions based on Evolving Principal Component Clustering
Vila Clarà et al. Automatic silo axis detection from RGB-D sensor data for content monitoring
CN115713504A (zh) 六自由度透视不变性特征分析方法、装置及处理设备
Muller Planar segmentation of range images
JP2011180763A (ja) 特徴抽出装置および方法、プログラム
YAN Fusion of Range Image Sensor Data of Differing Sizes and Densities
Shixun Fusion of Range Image Sensor Data of Differing Sizes and Densities

Legal Events

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