KR102539085B1 - 설계로부터 오브젝트 형상 및 편차의 모니터링 - Google Patents

설계로부터 오브젝트 형상 및 편차의 모니터링 Download PDF

Info

Publication number
KR102539085B1
KR102539085B1 KR1020180026551A KR20180026551A KR102539085B1 KR 102539085 B1 KR102539085 B1 KR 102539085B1 KR 1020180026551 A KR1020180026551 A KR 1020180026551A KR 20180026551 A KR20180026551 A KR 20180026551A KR 102539085 B1 KR102539085 B1 KR 102539085B1
Authority
KR
South Korea
Prior art keywords
point cloud
model
mesh
point
combined
Prior art date
Application number
KR1020180026551A
Other languages
English (en)
Other versions
KR20180125379A (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 KR20180125379A publication Critical patent/KR20180125379A/ko
Application granted granted Critical
Publication of KR102539085B1 publication Critical patent/KR102539085B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/653Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0006Industrial image inspection using a design-rule based approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Generation (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)

Abstract

시스템은, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하도록 구성된 프로세서를 포함한다. 프로세서는, 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하도록 구성된다. 프로세서는, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하도록 구성된다. 프로세서는 결합된 3D 포인트 클라우드를 오브젝트의 메시 모델과 비교하도록 구성된다. 프로세서는, 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하도록 구성된다. 시스템은 차이들의 그래픽 디스플레이를 디스플레이하도록 구성된 디스플레이를 포함한다.

Description

설계로부터 오브젝트 형상 및 편차의 모니터링{MONITORING OBJECT SHAPE AND DEVIATION FROM DESIGN}
본 개시내용은 결함 검출에 관한 것이다.
건설되고 있는 오브젝트는, 건설된 오브젝트(object as built)의 치수들을 결정하기 위해 수동으로 측정될 수 있다. 건설된 오브젝트의 치수들은, 건설된 오브젝트와 설계된 오브젝트 사이의 편차들을 식별하도록 설계된 오브젝트의 치수들과 비교될 수 있다. 대안적으로, 시스템들은 건설된 그대로의 모델(as-built model)을 설계된 그대로의 모델(as-designed model)과 이 모델들 사이의 편차들을 식별하기 위해 비교할 수 있다. 이들 시스템들은 통상적으로, 건설된 그대로의 모델과 설계된 그대로의 모델 사이의 수동 정합을 요구하고, 실시간으로 동작하지 않으며, 오브젝트 레벨에서의 차이들을 분석한다.
일부 구현들에서, 시스템은 제1 센서 데이터를 생성하도록 구성된 제1 센서를 포함한다. 시스템은, 제2 센서 데이터를 생성하도록 구성된 제2 센서를 포함한다. 시스템은, 오브젝트의 3-차원(3D; three-dimensional) 모델을 저장하도록 구성된 메모리를 포함한다. 시스템은, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하도록 구성된 프로세서를 포함한다. 제2 3D 포인트 클라우드는 제1 센서 데이터에 기반하고, 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반한다. 프로세서는, 제1 3D 포인트 클라우드, 및 제2 센서 데이터에 기반하는 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하도록 구성된다. 프로세서는, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하도록 구성된다. 프로세서는 결합된 3D 포인트 클라우드를 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하도록 구성된다. 프로세서는, 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하도록 구성된다. 시스템은, 출력 데이터에 기반하여 차이들의 그래픽 디스플레이를 디스플레이하도록 구성된 디스플레이를 포함한다.
일부 구현들에서, 방법은, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하는 단계를 포함한다. 제2 3D 포인트 클라우드는 제1 센서로부터의 제1 센서 데이터에 기반한다. 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반한다. 방법은, 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하는 단계를 포함한다. 제3 3D 포인트 클라우드는 제2 센서로부터의 제2 센서 데이터에 기반한다. 방법은, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하는 단계를 포함한다. 방법은 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하는 단계를 포함한다. 방법은, 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하는 단계를 포함한다.
특정 구현에서, 프로세서 판독가능 매체는 프로세서 실행가능 명령들을 저장하며, 프로세서 실행가능 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하게 한다. 제2 3D 포인트 클라우드는 제1 센서로부터의 제1 센서 데이터에 기반하고, 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반한다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하게 한다. 제3 3D 포인트 클라우드는 제2 센서로부터의 제2 센서 데이터에 기반한다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하게 한다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하게 한다. 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하게 한다.
본원에서 설명된 특징들, 기능들, 및 장점들은 다양한 실시예들에서 독립적으로 달성될 수 있거나, 또는 또 다른 실시예들에서 결합될 수 있으며, 이들에 대한 추가적인 세부사항들은, 다음의 설명 및 도면들을 참조하여 개시된다.
도 1은 다수의 센서들로부터의 센서 데이터에 기반하는 결합된 3-차원(3D) 포인트 클라우드와 오브젝트의 메시 모델 사이의 차이들을 표시하는 출력 데이터를 생성하도록 구성된 시스템의 블록 다이어그램을 예시하고;
도 2는 도 1의 시스템(100)의 동작 동안의 예시적인 단계들을 예시하고;
도 3은 다수의 센서들로부터의 센서 데이터에 기반하는 결합된 3D 포인트 클라우드와 오브젝트의 메시 모델 사이의 차이들을 표시하는 출력 데이터를 생성하는 방법의 흐름도이며; 그리고
도 4는 다수의 센서들로부터의 센서 데이터에 기반하는 결합된 3D 포인트 클라우드와 오브젝트의 메시 모델 사이의 차이들을 표시하는 출력 데이터의 생성을 지원하도록 구성된 컴퓨팅 환경의 특정 예의 블록 다이어그램이다.
본 개시내용의 특정 실시예들은 도면들을 참조하여 아래에서 설명된다. 설명에서, 공통 특징들은 도면들 전체에 걸쳐 공통 참조 번호들에 의해 지정된다.
도면들 및 다음의 설명은 특정 예시적인 실시예들을 예시한다. 본원에서 명시적으로 설명되거나 또는 도시되지 않지만, 본원에서 설명된 원리들을 구현하며, 본 설명 다음의 청구항들의 범위 내에 포함되는 다양한 어레인지먼트들을 당업자들이 창안할 수 있을 것임이 인식될 것이다. 또한, 본원에서 설명된 임의의 예들은 본 개시내용의 원리들을 이해하는 것을 보조하는 것으로 의도되며, 제한 없이, 있는 그대로 해석되어야 한다. 그 결과, 본 개시내용은 특정 실시예들 또는 아래에서 설명된 예들로 제한되는 것이 아니라, 청구항들 및 그들의 등가물들에 의해 제한된다.
본원에서 설명된 예들은 오브젝트의 건설된 그대로의 모델(다수의 센서들로부터의 데이터에 기반하여 생성됨)과 오브젝트의 설계된 그대로의 모델(예컨대, 컴퓨터 보조 설계(CAD; computer aided design) 모델) 사이의 차이들을 결정하는 시스템을 포함한다. 시스템은 다수의 센서들로부터의 장면들(오브젝트를 포함함)의 포인트 클라우드들을, 설계된 그대로의 모델로부터 생성된 포인트 클라우드에 대해 정합하거나, 세그먼팅하거나, 또는 이 둘 모두를 한다. 센서들로부터의 정합된 포인트 클라우드들이 융합되어, 결합된 포인트-클라우드 모델이 생성된다. 시스템은 설계된 그대로의 모델로부터 생성되는 오브젝트의 메시 모델과, 결합된 포인트-클라우드 모델을 비교하기 위한 비교기를 포함한다. 비교기는 결합된 포인트-클라우드 모델과 메시 모델 사이의 차이들을 결정한다. 일부 예들에서, 시스템은, 다수의 센서들로부터의 스트리밍 센서 데이터에 기반하여, 결합된 3-차원(3D) 포인트 클라우드 모델들의 시퀀스를 생성하며, 실시간으로 설계로부터의 편차에 대해 오브젝트를 모니터링하는 것을 가능하게 하기 위해, 결합된 3D 포인트 클라우드 모델들 각각을 메시 모델과 비교한다.
도 1은 오브젝트(104)의 3D 모델(102)(예컨대, 설계된 그대로의 모델)과 결합된 3D 포인트 클라우드(106)(예컨대, 건설된 그대로의 모델) 사이의 차이들을 결정하도록 구성된 시스템(100)의 블록 다이어그램을 예시한다. 시스템(100)은 프로세서(126) 및 메모리(112)를 포함한다. 메모리(112)는 하나 또는 그 초과의 3D 모델들, 이를테면 3D 모델(102)을 저장하도록 구성된다. 일부 예들에서, 3D 모델(102)은 (설계된) 오브젝트(104)의 CAD 모델에 대응한다.
시스템(100)은 복수의 센서들(107), 이를테면 제1 센서(108) 및 제2 센서(110)를 포함한다. 일부 구현들에서, 복수의 센서들(107)은 2 개 초과의 센서들을 포함한다. 예시하자면, 도 1에서, 시스템(100)은 N 개의 센서들(N번째 센서(115)를 포함함)을 포함하며, 여기서 N은 2보다 큰 정수이다. 시스템(100)의 동작 동안, 복수의 센서들(107) 각각은 복수의 센서들(107)의 다른 센서들과 상이한 시야(field of view)를 갖는다. 동작 동안, 복수의 센서들(107) 각각은 센서의 시야에 대응하는 장면의 데이터(예컨대, 이미지 데이터)를 캡처하도록 구성된다. 동작 동안, 복수의 센서들(107)은, 복수의 센서들(107) 각각의 시야가 오브젝트(104)를 포함하도록(예컨대, 복수의 센서들(107)에 의해 캡처된 장면들이 오브젝트(104)를 포함하도록) 구성된다. 설명이 주로, 오브젝트(104)가 모니터링되고 있는 예들에 초점을 두지만, 다른 예들에서, 시스템(100)은 다수의 오브젝트들을 모니터링하도록 구성된다. 예컨대, 시스템(100)은 제조 프로세스 동안 다수의 오브젝트들의 조이닝(joining) 동안 (예컨대, 적절한 정렬을 위해) 이 다수의 오브젝트들을 모니터링하도록 구성될 수 있다. 시스템(100)이 다수의 오브젝트들을 모니터링하도록 구성된 예들에서, 복수의 센서들(107)에 의해 캡처된 장면들은 다수의 오브젝트들을 포함할 수 있다. 부가적으로, 복수의 센서들(107) 중 하나 또는 그 초과의 센서의 장면은 오브젝트(104)와 다른 컴포넌트들을 포함할 수 있다. 오브젝트(104)와 다른 부가적인 컴포넌트들에 대응하는 포인트들은 아래에서 설명된 세그먼테이션 및 정합 동안 제거될 수 있다.
복수의 센서들(107)은 3D 센서들을 포함한다. 일부 예들에서, 복수의 센서들(107)은 스테레오 카메라, 비행 시간(time-of-flight) 카메라, 스캐닝 광 검출 및 레인징(LIDAR; light detection and ranging) 시스템, 구조화된 광 카메라들, 또는 이들의 결합을 포함한다. 일부 예들에서, 복수의 센서들(107)은 상이한 타입들의 센서들을 포함한다. 예컨대, 제1 센서(108)는 스테레오 카메라를 포함할 수 있으며, 제2 센서(110)는 비행 시간 카메라를 포함할 수 있다.
제1 센서(108)는 제1 센서 데이터(114)를 생성하도록 구성된다. 제1 센서 데이터(114)는 데이터의 다수의 프레임들에 대응하거나 또는 이들을 포함할 수 있다. 시스템(100)은, 제1 센서 데이터(114)에 기반하여 하나 또는 그 초과의 포인트 클라우드들을 생성하도록 구성된다. 예컨대, 시스템(100)은, 제1 센서 데이터(114)에 기반하여 제2 3D 포인트 클라우드(111)를 생성하도록 구성된다. 시스템(100)은, 제1 센서 데이터(114)에 기반하여 복수의 포인트 클라우드들을 생성할 수 있다. 예컨대, 제1 센서 데이터(114)는 데이터의 다수의 프레임들을 포함할 수 있으며, 시스템(100)은 제1 센서 데이터(114)의 데이터의 다수의 프레임들 각각에 기반하여 포인트 클라우드를 생성할 수 있다.
제1 센서(108)는 깊이 이미지 데이터(예컨대, 픽셀들의 2 차원 그리드)의 형태로 제1 센서 데이터(114)를 생성하도록 구성될 수 있다. 예컨대, 제1 센서 데이터(114)의 데이터의 다수의 프레임들의 각각의 프레임은 깊이 이미지에 대응할 수 있다. 깊이 이미지 데이터에 의해 정의된 깊이 이미지의 각각의 픽셀은 제1 센서(108)로부터, 제1 센서(108)에 의해 캡처된 장면 내의 가장 가까운 포인트까지의 레인지(range)를 특정한다. 제1 센서(108) 또는 프로세서(126)는, 제2 3D 포인트 클라우드(111)를 포함하는 하나 또는 그 초과의 포인트 클라우드들을 생성하기 위해 (예컨대, 제1 센서(108)의 내재 파라미터들에 기반하여) 깊이 이미지 데이터를 프로세싱하도록 구성된다. 따라서, 제2 3D 포인트 클라우드(111)는 제1 센서(108)로부터의 데이터에 기반한다(예컨대, 제1 센서 데이터(114)에 기반한다).
제2 센서(110)는 제2 센서 데이터(116)를 생성하도록 구성된다. 제2 센서 데이터(116)는 데이터의 다수의 프레임들에 대응하거나 또는 이들을 포함할 수 있다. 시스템(100)은, 제2 센서 데이터(116)에 기반하여 하나 또는 그 초과의 포인트 클라우드들을 생성하도록 구성된다. 예컨대, 시스템(100)은, 제2 센서 데이터(116)에 기반하여 제3 3D 포인트 클라우드(113)를 생성하도록 구성된다. 시스템(100)은, 제2 센서 데이터(116)에 기반하여 복수의 포인트 클라우드들을 생성할 수 있다. 예컨대, 제2 센서 데이터(116)는 데이터의 다수의 프레임들을 포함할 수 있으며, 시스템(100)은 제2 센서 데이터(116)의 데이터의 다수의 프레임들 각각에 기반하여 포인트 클라우드를 생성할 수 있다.
제2 센서(110)는 깊이 이미지 데이터(예컨대, 픽셀들의 2 차원 그리드)의 형태로 제2 센서 데이터(116)를 생성하도록 구성될 수 있다. 예컨대, 제1 센서 데이터의 데이터의 다수의 프레임들의 각각의 프레임은 깊이 이미지에 대응할 수 있다. 깊이 이미지 데이터에 의해 정의된 깊이 이미지의 각각의 픽셀은 제2 센서(110)로부터, 제2 센서(110)에 의해 캡처된 장면 내의 가장 가까운 포인트까지의 레인지를 특정한다. 제2 센서(110) 또는 프로세서(126)는, 제3 3D 포인트 클라우드(113)를 포함하는 하나 또는 그 초과의 포인트 클라우드들을 생성하기 위해 (예컨대, 제2 센서(110)의 내재 파라미터들에 기반하여) 깊이 이미지 데이터를 프로세싱하도록 구성된다. 따라서, 제3 3D 포인트 클라우드(113)는 제2 센서(110)로부터의 데이터에 기반한다(예컨대, 제2 센서 데이터(116)에 기반한다).
본원의 설명이 주로, 복수의 센서들(107)이 2 개의 센서들(예컨대, 제1 센서(108) 및 제2 센서(110))을 포함하는 예들에 초점을 두지만, 다른 예들에서, 복수의 센서들(107)은 N 개의 센서들을 포함하며, 여기서 N은 2보다 크다. 그러한 예들에서, 결합된 3D 포인트 클라우드(106)는 2 개 초과의 센서들의 센서 데이터로부터의 포인트 클라우드들에 기반하여 생성된다. 예컨대, 도 1에서, N번째 센서(115)는 센서 데이터(117)를 프로세서(126)에 제공하도록 구성된다. 이 예에서, 센서 데이터(117)는 하나 또는 그 초과의 부가적인 정합된 포인트 클라우드들(145)을 생성하기 위해 사용되며, 이 하나 또는 그 초과의 부가적인 정합된 포인트 클라우드들(145)이 제1 및 제2 정합된 포인트 클라우드들(142, 144)과 결합되어, 결합된 3D 포인트 클라우드(106)가 생성된다.
따라서, 시스템(100)은 복수의 센서들(107)로부터의 데이터로부터 포인트 클라우드들의 스트림을 생성하도록 구성될 수 있다. 포인트 클라우드들 각각은 오브젝트(104)에 대응하는 포인트들을 포함한다. 예컨대, 제2 3D 포인트 클라우드(111)는 오브젝트(104)에 대응하는 제1 포인트들(122)을 포함하며, 제1 센서(108)에 의해 캡처된 장면의 다른 부분들에 대응하는 부가적인 포인트들을 포함할 수 있다. 다른 예로서, 제3 3D 포인트 클라우드(113)는 오브젝트(104)에 대응하는 제2 포인트들(124)을 포함하며, 제2 센서(110)에 의해 캡처된 장면의 다른 부분들에 대응하는 부가적인 포인트들을 포함할 수 있다. 시스템(100)에 의해 생성된 포인트 클라우드들 각각은, 포인트 클라우드가 기반하고 있는 센서 데이터의 캡처 시간과 연관된다. 예컨대, 제1 센서 데이터(114)는 제1 시간에 캡처된 제1 프레임을 포함할 수 있으며, 제2 센서 데이터(116)는 제1 시간에 캡처된 제2 프레임을 포함할 수 있다. 이 예에서, 제1 프레임에 기반하여 생성된 제2 3D 포인트 클라우드(111)는 제2 프레임에 기반하여 생성된 제3 3D 포인트 클라우드(113)와 동일한 시간에 대응할 수 있다. 아래에서 설명된 바와 같이, 동일한 시간과 연관된 정합된 포인트 클라우드들이 결합되어, 결합된 3D 포인트 클라우드(106)가 형성된다.
프로세서(126)는, 3D 모델(102)에 기반하여 오브젝트(104)의 메시 모델(132)을 생성하도록 구성된 메시 생성기(128)를 포함한다. 일부 예들에서, 메모리(112)는 다수의 3D 모델들, 또는 오브젝트(104)를 포함하는 다수의 오브젝트들을 저장하며, 시스템(100)은, 오브젝트(104)를 인식하고, 시스템(100)이 오브젝트(104)를 인식하는 것에 기반하여 3D 모델(102)을 선택하기 위한 오브젝트 인식 동작을 수행하도록 구성된다.
메시 모델(132)은 설계된 오브젝트(104)의 형상을 정의하는 복수의 꼭짓점들, 모서리들, 및 면들, 이를테면 다각형들(예컨대, 삼각형들)을 포함한다. 메시 모델(132)의 메시 면들의 사이즈는 시스템(100)의 출력의 해상도를 결정한다. 해상도(및 그에 따른 메시 면들의 사이즈)는, 만나게 될 것으로 예상되는 변형들 또는 결함들의 스케일, 결합된 3D 포인트 클라우드(106)의 예상 밀도, 또는 이들의 결합에 기반하여 선택될 수 있다.
프로세서(126)는 부가적으로, 설계된 오브젝트(104)의 표면들을 표현하는 제1 3D 포인트 클라우드(136)를 생성하도록 구성된 포인트 클라우드 생성기(134)를 포함한다. 프로세서(126)는 3D 모델(102)의 표면들을 샘플링함으로써 제1 3D 포인트 클라우드(136)를 생성하도록 구성될 수 있다. 일부 예들에서, 프로세서(126)는 3D 모델(102)을 무작위로 샘플링할 수 있다. 샘플링의 더 높은 밀도(예컨대, 제1 3D 포인트 클라우드(136)의 포인트들의 개수)는 더 낮은 밀도 샘플링보다 더욱 정확한 정합을 제공할 수 있다.
프로세서(126)는 부가적으로, 복수의 센서들(107)로부터의 데이터에 기반하여(예컨대, 제1 센서 데이터(114), 제2 센서 데이터(116), 및 N번째 센서 데이터(117)에 기반하여) 생성되는 하나 또는 그 초과의 3D 포인트 클라우드들에 대응하는 정합된 포인트 클라우드들(140)을 생성하도록 구성된 세그먼테이션 및 정합 엔진(138)을 포함한다. 예컨대, 세그먼테이션 및 정합 엔진(138)은, 제1 3D 포인트 클라우드(136) 및 제2 3D 포인트 클라우드(111)에 기반하여, 정합된 제1 3D 포인트 클라우드(142)를 생성하도록, 그리고 제1 3D 포인트 클라우드(136) 및 제3 3D 포인트 클라우드(113)에 기반하여, 정합된 제2 3D 포인트 클라우드(144)를 생성하도록 구성된다. 시스템(100)이 2 개 초과의 센서들을 포함하면, 세그먼테이션 및 정합 엔진(138)은, N번째 센서 데이터(117)에 기반하여, N번째 정합된 3D 포인트 클라우드(145)를 생성하도록 구성된다. 각각의 정합된 포인트 클라우드(142, 144, 145)는 3D 모델(102)의 좌표계(예컨대, 제1 3D 포인트 클라우드(136)의 좌표계)에 정합된다.
일부 예들에서, 세그먼테이션 및 정합 엔진(138)은, 복수의 센서들(107)로부터의 하나 또는 그 초과의 포인트 클라우드들을 제1 3D 포인트 클라우드(136)에 개별적으로 정합함으로써, 정합된 포인트 클라우드들(140)을 생성하도록 구성된다. 예시하자면, 세그먼테이션 및 정합 엔진(138)은, 오브젝트(104)에 대응하는 제1 포인트들(122)을 식별하고, 제2 3D 포인트 클라우드(111)의 나머지 포인트들을 제거하기 위해, 제2 3D 포인트 클라우드(111)를 세그먼팅함으로써, 정합된 제1 3D 포인트 클라우드(142)를 생성하도록 구성될 수 있다. 제2 3D 포인트 클라우드(111)를 세그먼팅하는 것은 세그먼팅된 제1 포인트 클라우드를 생성한다. 일부 예들에서, 제2 3D 포인트 클라우드(111)는 제1 센서(108)의 좌표계에서 오브젝트(104)의 마지막 알려진 포지션 및 포즈에 기반하여 세그먼팅된다. 예컨대, 프로세서(126)는, 오브젝트(104)의 마지막 알려진 포지션 및 포즈에 기반하여, 오브젝트(104)로부터 제2 3D 포인트 클라우드(111)의 포인트들의 거리를 결정하도록 구성될 수 있다. 제1 센서(108)의 좌표계에서 오브젝트(104)의 마지막 알려진 포지션 및 포즈에 기반하여 표시된, 오브젝트(104)로부터 거리 임계치를 초과하여 떨어져 있는, 제2 3D 포인트 클라우드(111)의 포인트들은 제거되거나 또는 폐기될 수 있다. 이후, 나머지 포인트들(예컨대, 세그먼팅된 제2 포인트 클라우드)이 제1 3D 포인트 클라우드(136)에 정합되어, 정합된 제1 3D 포인트 클라우드(142)가 생성된다. 일부 예들에서, 프로세서(126)는, 세그먼팅된 제1 포인트 클라우드를 제1 3D 포인트 클라우드(136)에 정합하기 위해 반복 최근접 포인트(ICP; iterative closest point) 기법을 실행하도록 구성된다. 따라서, 프로세서(126)는, 제1 3D 포인트 클라우드(136) 및 제2 3D 포인트 클라우드(111)에 기반하여, 정합된 제1 3D 포인트 클라우드(142)를 생성하도록 구성된다.
다른 예로서, 일부 구현들에서, 세그먼테이션 및 정합 엔진(138)은, 오브젝트(104)에 대응하는 제2 포인트들(124)을 식별하고, 제3 3D 포인트 클라우드(113)의 나머지 포인트들을 제거하기 위해, 제3 3D 포인트 클라우드(113)를 세그먼팅함으로써, 정합된 제2 3D 포인트 클라우드(144)를 생성하도록 구성된다. 제3 3D 포인트 클라우드(113)를 세그먼팅하는 것은 세그먼팅된 제3 3D 포인트 클라우드를 생성한다. 일부 예들에서, 제3 3D 포인트 클라우드(113)는 제2 센서(110)의 좌표계에서 오브젝트(104)의 마지막 알려진 포지션 및 포즈에 기반하여 세그먼팅된다. 예컨대, 프로세서(126)는, 오브젝트(104)의 마지막 알려진 포지션 및 포즈에 기반하여, 오브젝트(104)로부터 제3 3D 포인트 클라우드(113)의 포인트들의 거리를 결정하도록 구성될 수 있다. 제2 센서(110)의 좌표계에서 오브젝트(104)의 마지막 알려진 포지션 및 포즈에 기반하여 표시된, 오브젝트(104)로부터 거리 임계치를 초과하여 떨어져 있는, 제3 3D 포인트 클라우드(113)의 포인트들은 제거되거나 또는 폐기될 수 있다. 이후, 나머지 포인트들(예컨대, 세그먼팅된 제3 포인트 클라우드)이 제1 3D 포인트 클라우드(136)에 정합되어, 정합된 제2 3D 포인트 클라우드(144)가 생성된다. 일부 예들에서, 프로세서(126)는, 세그먼팅된 제3 포인트 클라우드를 제1 3D 포인트 클라우드(136)에 정합하기 위해 반복 최근접 포인트(ICP) 기법을 실행하도록 구성된다. 따라서, 프로세서(126)는, 제1 3D 포인트 클라우드(136) 및 제3 3D 포인트 클라우드(113)에 기반하여, 정합된 제2 3D 포인트 클라우드(144)를 생성하도록 구성된다.
시스템(100)이 2 개 초과의 센서들을 포함하면, 다른 정합된 포인트 클라우드들(예컨대, N번째 정합된 포인트 클라우드)을 생성하기 위해, 유사한 동작들이 수행될 수 있다. 그러므로, 세그먼테이션 및 정합 엔진(138)은, 복수의 센서들(107)로부터의 포인트 클라우드들에 대한 정합된 포인트 클라우드들(140)을 생성하도록 구성된다. 정합된 포인트 클라우드들(140)은 3D 모델(102)의 좌표계에 정합된다.
일부 예들에서, 세그먼테이션 및 정합 엔진(138)은, k-d 트리 및 서브트리 캐싱을 사용하여, 복수의 센서들(107)로부터의 하나 또는 그 초과의 포인트 클라우드들에 기반하여, 정합된 3D 포인트 클라우드들(140)을 생성하도록 구성된다. k-d 트리의 루트 노드는 제1 3D 포인트 클라우드(136)의 모든 포인트들에 대응하거나 또는 이들을 포함한다. k-d 트리의 리프 노드들은 제1 3D 포인트 클라우드(136)의 단일 포인트 또는 다수의 포인트들을 포함한다. k-d 트리의 각각의 노드는 이 각각의 노드에 대응하는 제1 3D 포인트 클라우드(136)의 3D 포인트들을, 최고 분산을 갖는 차원에 수직인 평면으로 나눔으로써, 이 3D 포인트들을 2 개의 반쪽들로 분해한다. 일부 예들에서, 세그먼테이션 및 정합 엔진(138)은 제1 센서 데이터(114)로부터의 포인트 클라우드들에 대한 어레이 데이터 구조 및 제2 센서 데이터(116)로부터의 포인트 클라우드들에 대한 어레이 구조를 사용하여 서브트리 캐싱을 수행한다. 예컨대, 세그먼테이션 및 정합 엔진(138)은 제2 3D 포인트 클라우드(111)에 대한 제1 어레이 데이터 구조 및 제3 3D 포인트 클라우드(113)에 대한 제2 어레이 데이터 구조를 사용할 수 있다. 제1 센서 데이터(114)에 기반하는 포인트 클라우드들에 대한 어레이 데이터 구조는 제1 센서 데이터(114)와 동일한 차원들을 가지며, 제2 센서 데이터(116)에 기반하는 포인트 클라우드들에 대한 어레이 데이터 구조는 제2 센서 데이터(116)와 동일한 차원들을 갖는다. 어레이 데이터 구조들의 각각의 어레이 데이터 구조의 각각의 어레이 엘리먼트는 k-d 트리 내의 노드의 위치에 대한 포인터를 메모리에 포함한다. 제1 3D 포인트 클라우드(136)의, 각각의 입력 픽셀에 마지막 알려진 가장 가까운 포인트를 포함하는 서브트리에 대한 포인터가 어레이 데이터 구조에 저장(캐싱)된다. 이 캐싱된 포인터는 다음으로 가장 가까운 이웃 탐색을 위한 시작 포인트로서 사용된다.
예시하자면, 일부 예들에서, 프로세서(126)는, 정합된 제1 3D 포인트 클라우드(142)를 생성하기 위해 제1 k-d 트리 및 제1 어레이 데이터 구조를 사용하도록 구성된다. 세그먼테이션 및 정합 엔진(138)은, 제1 센서 데이터(114)로부터의 포인트 클라우드에 대해 수행된 가장 최근의 세그먼테이션 및 정합 동작으로부터의 변환 매트릭스를 사용하여, 제1 센서(108)의 좌표계로부터 3D 모델(102)의 좌표계로 제2 3D 포인트 클라우드(111)를 변환하도록 구성된다. 예컨대, 변환 매트릭스는, 제2 3D 포인트 클라우드(111)에 대해 수행된 세그먼테이션 및 정합 동작의 선행 반복 동안에 결정된 변환 매트릭스일 수 있다. 대안적으로 또는 부가적으로, 변환 매트릭스는, 제1 센서 데이터(114)의 선행 프레임에 기반하는 포인트 클라우드(예컨대, 선행 3D 포인트 클라우드)에 대해 결정된 변환 매트릭스일 수 있다. 제2 3D 포인트 클라우드(111)의 각각의 포인트에 대해, 제1 3D 포인트 클라우드(136)의 최근접 포인트에 대한 탐색은, 제2 3D 포인트 클라우드(111)의 이 각각의 포인트에 대응하는, 제1 어레이 데이터 구조의 엘리먼트에 캐싱된 포인터에 의해 식별된 제1 k-d 트리의 노드에서 시작한다. 예컨대, 제2 3D 포인트 클라우드(111)의 포인트에 대응하는 제1 센서 데이터(114)의 픽셀의 좌표들은, 제2 3D 포인트 클라우드(111)의 포인트와 연관된 (제1 어레이 데이터 구조에) 캐싱된 포인터의 좌표들에 대응한다. 탐색은 L2 규범 유클리드 거리(norm Euclidean distance)에 기반하여 제2 3D 포인트 클라우드(111)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트를 포함하는 제1 k-d 트리의 리프 노드로 이어진다. 제2 3D 포인트 클라우드(111)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트 사이의 거리가 리세팅된 임계치 미만이면, 제1 3D 포인트 클라우드(136)의 최근접 포인트의 좌표들이 대응성들의 목록에 추가된다. 거리가 리세팅된 임계치를 초과하면, 제1 k-d 트리의 루트부터 새로운 탐색이 시작되며, 이는 제2 3D 포인트 클라우드(111)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트를 포함하는 제1 k-d 트리의 리프 노드로 이어진다. 최근접 포인트의 좌표들이 대응성들의 목록에 추가된다. 프로세서(126)는, 제2 3D 포인트 클라우드(111)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트와 연관되는 제1 k-d 트리의 리프 노드 위의 특정 높이인, 제1 k-d 트리의 노드에 대한 포인터를 (제1 어레이 데이터 구조의 대응하는 엘리먼트에) 세팅함으로써, 캐시를 업데이트하도록 구성된다. 탐색이 제2 3D 포인트 클라우드(111)의 모든 각각의 포인트에 대해 수행되며, 그 결과로 제2 3D 포인트 클라우드(111)와 제1 3D 포인트 클라우드(136) 사이의 대응성들의 목록이 생긴다.
임계치 유클리드 거리를 초과하여 떨어져 있는 포인트들 사이의 포인트 대응성들은 폐기된다. 임계치 유클리드 거리를 초과하여 떨어져 있는 포인트들 사이의 포인트 대응성들을 폐기하는 것은 포인트 클라우드를 세그먼팅하는 것에 대응한다. 세그먼테이션 단계가 수행된 후에 남아 있는 포인트 대응성들은, 변환 매트릭스를 추정하기 위해 사용된다. 일부 예들에서, 변환 매트릭스는, 특이 값 분해를 사용하여 추정된다. 최단 이웃 탐색(nearest neighbor search), 세그먼테이션, 및 변환 매트릭스 추정 단계들은, 제1 센서(108)로부터 새로운 입력 프레임이 가용할 때까지 또는 반복들의 미리-결정된 횟수가 수행될 때까지 반복된다. 마지막 반복에서 남아 있는, 제2 3D 포인트 클라우드(111)의 포인트들은 정합된 제1 3D 포인트 클라우드(142)에 대응한다.
다른 예로서, 일부 구현들에서, 프로세서(126)는, 정합된 제2 3D 포인트 클라우드(144)를 생성하기 위해 제2 k-d 트리 및 제2 어레이 데이터 구조를 사용하도록 구성된다. 세그먼테이션 및 정합 엔진(138)은, 제2 센서 데이터(116)로부터의 포인트 클라우드에 대해 수행된 가장 최근의 세그먼테이션 및 정합 동작으로부터의 변환 매트릭스를 사용하여, 제1 센서(108)의 좌표계로부터 3D 모델(102)의 좌표계로 제3 3D 포인트 클라우드(113)를 변환하도록 구성된다. 예컨대, 변환 매트릭스는, 제3 3D 포인트 클라우드(113)에 대해 수행된 세그먼테이션 및 정합 동작의 선행 반복 동안에 결정된 변환 매트릭스일 수 있다. 대안적으로 또는 부가적으로, 변환 매트릭스는, 제2 센서 데이터(116)의 선행 프레임에 기반하는 포인트 클라우드(예컨대, 선행 3D 포인트 클라우드)에 대해 결정된 변환 매트릭스일 수 있다. 제3 3D 포인트 클라우드(113)의 각각의 포인트에 대해, 제1 3D 포인트 클라우드(136)의 최근접 포인트에 대한 탐색은, 제3 3D 포인트 클라우드(113)의 이 각각의 포인트에 대응하는, 제2 어레이 데이터 구조의 엘리먼트에 캐싱된 포인터에 의해 식별된 제2 k-d 트리의 노드에서 시작한다. 예컨대, 제3 3D 포인트 클라우드(113)의 포인트에 대응하는 제2 센서 데이터(116)의 픽셀의 좌표들은, 제3 3D 포인트 클라우드(113)의 포인트와 연관된 (제1 어레이 데이터 구조에) 캐싱된 포인터의 좌표들에 대응한다. 탐색은 L2 규범 유클리드 거리에 기반하여 제3 3D 포인트 클라우드(113)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트를 포함하는 제2 k-d 트리의 리프 노드로 이어진다. 제3 3D 포인트 클라우드(113)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트 사이의 거리가 리세팅된 임계치 미만이면, 제1 3D 포인트 클라우드(136)의 최근접 포인트의 좌표들이 대응성들의 목록에 추가된다. 거리가 리세팅된 임계치를 초과하면, 제2 k-d 트리의 루트부터 새로운 탐색이 시작되며, 이는 제3 3D 포인트 클라우드(113)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트를 포함하는 제2 k-d 트리의 리프 노드로 이어진다. 최근접 포인트의 좌표들이 대응성들의 목록에 추가된다. 프로세서(126)는, 제3 3D 포인트 클라우드(113)의 포인트에 가장 근접한 제1 3D 포인트 클라우드(136)의 포인트와 연관되는 제2 k-d 트리의 리프 노드 위의 특정 높이인, 제2 k-d 트리의 노드에 대한 포인터를 (제2 어레이 데이터 구조의 대응하는 엘리먼트에) 세팅함으로써, 캐시를 업데이트하도록 구성된다. 탐색이 제3 3D 포인트 클라우드(113)의 모든 각각의 포인트에 대해 수행되며, 그 결과로 제3 3D 포인트 클라우드(113)와 제1 3D 포인트 클라우드(136) 사이의 대응성들의 목록이 생긴다.
임계치 유클리드 거리를 초과하여 떨어져 있는 포인트들 사이의 포인트 대응성들은 폐기된다. 임계치 유클리드 거리를 초과하여 떨어져 있는 포인트들 사이의 포인트 대응성들을 폐기하는 것은 포인트 클라우드를 세그먼팅하는 것에 대응한다. 세그먼테이션 단계가 수행된 후에 남아 있는 포인트 대응성들은, 변환 매트릭스를 추정하기 위해 사용된다. 일부 예들에서, 변환 매트릭스는, 특이 값 분해를 사용하여 추정된다. 최단 이웃 탐색, 세그먼테이션, 및 변환 매트릭스 추정 단계들은, 제2 센서(110)로부터 새로운 입력 프레임이 가용할 때까지 또는 반복들의 미리-결정된 횟수가 수행될 때까지 반복된다. 마지막 반복에서 남아 있는, 제3 3D 포인트 클라우드(113)의 포인트들은 정합된 제2 3D 포인트 클라우드(144)에 대응한다.
위에서-설명된 k-d 트리 및 서브트리 캐싱 기법을 사용하여, 정합된 제1 3D 포인트 클라우드(142)를 생성하는 것은, k-d 트리 및 서브트리 캐싱을 사용하지 않는 시스템들에 의해 동일한 시간량 내에 정합될 수 있는 것보다, 복수의 센서들(107)로부터의 더 많은 개수의 포인트 클라우드들이 정합되는 것을 가능하게 하여서, 시스템(100)이 실시간 정합을 달성하는 것을 가능하게 할 수 있다.
프로세서(126)(예컨대, 세그먼테이션 및 정합 엔진(138))는, 결합된 3D 포인트 클라우드를 형성하기 위해, 동일한 시간과 연관된 정합된 포인트 클라우드들(140)을 융합하거나 또는 결합하도록 구성된다. 예컨대, 위에서 설명된 바와 같이, 제2 3D 포인트 클라우드(111) 및 제3 3D 포인트 클라우드(113)는 동일한 시간과 연관될 수 있다. 그러므로, 이 예에서, 정합된 제1 3D 포인트 클라우드(142) 및 정합된 제2 3D 포인트 클라우드(144)는 동일한 시간과 연관된다. 이 예에서, 프로세서(126)는, 결합된 3D 포인트 클라우드(106)를 생성하기 위해, 정합된 제1 3D 포인트 클라우드(142)와, 정합된 제2 3D 포인트 클라우드(144)를 융합하거나 또는 결합하도록 구성된다. 프로세서(126)는, 복수의 센서들(107)로부터의 입력 데이터에 기반하여 생성된 포인트 클라우드들과 연관된 시간들에 대응하는 정합된 포인트 클라우드들을 융합하거나 또는 결합함으로써, 다수의 결합된 3D 포인트 클라우드들(예컨대, 결합된 3D 포인트 클라우드들의 스트림 또는 시퀀스)을 생성하며, 그 결과로, 결합된 3D 포인트 클라우드들의 스트림 또는 시퀀스가 생길 수 있다.
프로세서(126)는 비교기(146)를 포함한다. 비교기(146)는 결합된 3D 포인트 클라우드들 각각을 메시 모델(132)과 비교하도록 구성된다. 예컨대, 비교기(146)는, 결합된 3D 포인트 클라우드(106)를 메시 모델(132)과 비교하도록 구성된다. 일부 예들에서, 비교기(146)는, 결합된 3D 포인트 클라우드의 각각의 포인트에 대해, 이 각각의 포인트에 대한 메시 모델(132)의 최근접 메시 면을 식별함으로써, 결합된 3D 포인트 클라우드 모델들 각각을 메시 모델과 비교하도록 구성된다. 예컨대, 비교기(146)는, 결합된 3D 포인트 클라우드(106)의 각각의 포인트에 대해, 이 각각의 포인트에 대한 메시 모델(132)의 최근접 메시 면을 식별함으로써, 결합된 3D 포인트 클라우드(106)를 메시 모델(132)과 비교하도록 구성된다. 포인트에 대한 최근접 메시 면은 포인트의 "대응하는 메시 면"으로 지칭된다. 비교기(146)는 추가로, 결합된 3D 포인트 클라우드(106)의 각각의 포인트에 대해, 포인트와 대응하는 메시 면의 최근접 부분 사이의 거리를 결정하도록 구성된다. 일부 예들에서, 메시 면은 결합된 3D 포인트 클라우드(106)의 대응하는 포인트를 포함하지 않을 수 있는데, 그 이유는 결합된 3D 포인트 클라우드(106)의 포인트들 전부가 메시 모델(132)의 다른 메시 면들에 더 근접하기 때문이다. 프로세서(126)는, 결합된 3D 포인트 클라우드(106)의 다수의 대응하는 포인트들과 연관되는, 메시 모델의 각각의 메시 면에 대해, 다수의 대응하는 포인트들과 메시 면 사이의 평균 거리를 결정하도록 구성된다.
프로세서(126)는, 비교에 기반하여, 건설된 그대로의 모델에 의해 표현된(예컨대, 결합된 3D 포인트 클라우드들 각각에 의해 표현된) 오브젝트(104)와 설계된 그대로의 모델(예컨대, 3D 모델(102))에 의해 표현된 오브젝트(104) 사이의 차이들을 표시하는 출력 데이터(148)를 생성하도록 구성된다. 예컨대, 프로세서(126)는, 비교에 기반하여, 결합된 3D 포인트 클라우드(106)에 의해 표현된 오브젝트(104)와 오브젝트(104)의 3D 모델(102)에 의해 표현된(예컨대, 메시 모델(132)에 의해 표현된) 오브젝트(104) 사이의 차이들(152)을 표시하는 출력 데이터(148)를 생성하도록 구성된다.
일부 예들에서, 차이들(152)은 메시 모델(132)의 각각의 메시 면에 대해 결정된 차이를 포함한다. 이들 예들에서, 프로세서(126)는 메시 모델(132)의 각각의 메시 면에 대한 차이를 결정하도록 구성된다. 결합된 3D 포인트 클라우드(106)의 대응하는 단일 포인트와 연관되는 특정 메시 면에 대해 결정된 차이는, 단일 포인트와 메시 면의 최근접 부분 사이의 거리에 기반한다. 결합된 3D 포인트 클라우드(106)의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대해 결정된 차이는, 다수의 대응하는 포인트들과 메시 면 사이의 평균 거리(예컨대, 메시 면에 대해 결정된 평균 거리)에 기반한다.
시스템(100)은, 출력 데이터(148)에 기반하여 차이들(152)의 그래픽 디스플레이(156)를 디스플레이하도록 구성된 디스플레이(154)를 포함한다. 예컨대, 디스플레이(154)는 모니터 또는 다른 디스플레이 디바이스를 포함할 수 있으며, 그래픽 디스플레이(156)는, 메시 면에 대해 결정된 (차이들(152) 중의) 차이에 기반하여 메시 모델(132)의 각각의 메시 면에 대한 컬러를 표시하는 컬러맵 또는 히트맵을 포함할 수 있다. 예컨대, 프로세서(126)는 제1 메시 면의 개개의 부분들과 제1 메시 면에 대응하는, 결합된 3D 포인트 클라우드(106)의 포인트들 사이의 평균 거리에 기반하여, 제1 메시 면에 대한, 0.5 마이크로미터의 값에 대응하는 제1 차이를 결정할 수 있으며, 제2 메시 면의 개개의 부분들과 제2 메시 면에 대응하는, 결합된 3D 포인트 클라우드(106)의 포인트들 사이의 평균 거리에 기반하여, 제2 메시 면에 대한, 0.7 마이크로미터의 값에 대응하는 제2 차이를 결정할 수 있다. 디스플레이(154)는 제1 메시 면에 대해, 제2 메시 면에 대해서와 상이한 컬러를 디스플레이할 수 있으며, 제2 메시 면에 대해 사용되는 컬러는 제1 메시 면에 대해 사용되는 컬러보다 3D 모델(102)로부터 더 큰 불일치(divergence)를 표시할 수 있다.
따라서, 시스템(100)은 3D 모델(102)(예컨대, 설계된 그대로의 모델에 기반하는 메시 모델(132))과 센서 데이터로부터의 모델(예컨대, 결합된 3D 포인트 클라우드(106)에 대응하는 건설된 그대로의 모델) 사이의 불일치를 표시하는 출력을 생성한다. 출력은, 메시 모델의 각각의 메시 면에 대해 메시 면과, 결합된 3D 포인트 클라우드(106) 사이의 불일치를 표시하며, 이는 오브젝트 레벨에서 불일치를 표시하는 시스템들보다 더 미세한 해상도에서 불일치의 표시를 제공한다. 부가적으로, 세그먼테이션 및 정합 엔진(138)은, 위에서 설명된 바와 같이, 복수의 센서들(107)로부터의 데이터의 스트림들에 기반하여 실시간으로 출력이 생성되는 것을 가능하게 한다.
실시간으로 차이들을 표시하는 출력을 생성하는 능력은 실시간 계측(metrology)을 가능하게 한다. 예컨대, 시스템(100)은, 제조 프로세스 동안, 컴포넌트들이 서로 아주 근접하게 이동되고 있을 때, 결합된 컴포넌트들의 모델과 컴포넌트들의 결합된 3D 포인트 클라우드들 사이의 편차를 검출하는 것에 기반하여, 함께 조이닝될 2 개의 컴포넌트들이 오정렬된다고 결정하는 것을 가능하게 할 수 있다. 시스템(100)은, 출력 데이터(148)에 기반하여, 설계된 그대로의 모델과 건설된 그대로의 모델 사이의 차이들(152) 또는 편차들이 임계치를 충족한다는 것을 표시하는 경보를 생성하도록 구성될 수 있으며, 이는 2 개의 컴포넌트들이 부정확하게 함께 조이닝되거나 또는 부착되기 전에 조이닝 또는 결합 프로세스가 인터럽트되는 것을 가능하게 할 수 있다.
다른 예로서, 시스템(100)은 제조 프로세스 동안 공장 현장(factory floor)에서 사용될 수 있다. 이 예에서, 복수의 센서들(107)은, 오브젝트(104)가 오브젝트(104)의 제조 동안 공장 현장을 따라 이동할 때, 오브젝트(104)를 포함하는 하나 또는 그 초과의 오브젝트들을 포함하는, 공장 현장의 일부의 장면의 이미지 데이터를 제공하도록 구성될 수 있다. 시스템(100)은 오브젝트 인식에 기반하여 오브젝트(104)에 대응하는 것으로서 공장 현장의 새로운 부품 또는 컴포넌트를 검출할 수 있다. 시스템(100)은, 오브젝트(104)가 공장을 통해 이동할 때 오브젝트(104)의 건설된 그대로의 모델들(예컨대, 결합된 3D 포인트 클라우드들)을 생성함으로써, 결함들에 대해 오브젝트(104)를 자동적으로 모니터링할 수 있다. 시스템(100)은 건설된 그대로의 모델들을 설계된 그대로의 모델(예컨대, 3D 모델(102))과 비교하며, 디스플레이 디바이스(예컨대, 디스플레이(154)) 상에 비교의 결과들(예컨대, 그래픽 디스플레이(156))을 디스플레이할 수 있다. 시스템(100)은, 건설된 오브젝트(104)의 양상이 부정확하다는 것을 표시하는 디스플레이 결과들에 기반하여 제조를 조정하도록 제조 프로세스의 자동화된 부분에 지시하는 능력을 포함할 수 있다.
예컨대, 시스템(100)은, 편차가 임계치를 초과한다는 것을 표시하는 출력 데이터(148)에 기반하여 제조 규격이 조정되어야 한다는 것을 검출하도록 구성될 수 있다. 예시하자면, 공장 현장에서 수행되는 제조 프로세스는 특정 컴포넌트에(예컨대, 오브젝트(104)에) 홀, 애퍼처, 또는 보이드를 형성하는 것을 포함할 수 있으며, 시스템(100)은, 특정 컴포넌트의 제조 동안 특정 컴포넌트의 생산을 모니터링하도록 장착 및 구성될 수 있다. 시스템(100)은, 홀, 애퍼처, 또는 보이드에 대응하는 메시 면들과 연관된 편차들을 표시하는 출력 데이터(148)에 기반하여, 홀, 애퍼처, 또는 보이드와 연관된 편차(예컨대, 부정확한 사이즈 또는 위치)를 검출하도록 구성될 수 있다. 시스템(100)은 편차가 임계치를 충족한다고 결정할 수 있고, 경보를 생성할 수 있으며, 이는 제조 프로세스가, 정확한 사이즈로 또는 정확한 포지션에 홀, 애퍼처, 또는 보이드를 생산하도록 조정되는 것을 가능하게 한다. 대안적으로, 시스템(100)은 오차를 정정하도록 공장의 로봇에 자동적으로 지시할 수 있다(예컨대, 홀, 애퍼처, 또는 보이드가 있어야 하는 곳을 로봇에 지시하여서, 로봇으로 하여금, 로봇이 홀, 애퍼처, 또는 보이드를 형성하는 위치를 정정하게 할 수 있다).
도 2는 도 1의 시스템(100)의 동작 동안 예시적인 단계들을 예시한다. 제1 단계 동안, 복수의 센서들(107)의 개개의 센서들에 의해 센서 데이터(예컨대, 제1 센서 데이터(114) 및 제2 센서 데이터(116))가 수집된다. 예컨대, 제1 센서 데이터(114) 및 제2 센서 데이터(116)는 도 1의 제1 센서(108) 및 제2 센서(110)에 의해 각각 수집될 수 있다. 예시의 용이함을 위해, 센서 데이터(114, 116)의 단 2 개의 세트들 및 관련된 동작들만이 도 2에서 예시되지만; 시스템(100)이 2 개 초과의 센서들을 포함하면, 아래에서 설명된 것들과 유사한 동작들도 또한, 다른 센서들 각각으로부터의 센서 데이터에 대해 수행될 수 있다.
위에서 설명된 바와 같이, 제2 3D 포인트 클라우드(111) 및 제3 3D 포인트 클라우드(113)는 각각 제1 센서 데이터(114) 및 제2 센서 데이터(116)에 기반하여 생성된다. 도 2는 제2 3D 포인트 클라우드(111)의 포인트들의 그래픽 표현(201) 및 제1 센서(108)에 의해 캡처된 장면에 포함된 오브젝트(104)의 예의 윤곽(파선)을 묘사한다. 오브젝트(104)의 윤곽(파선)은 상황에 따라 묘사되며, 제2 3D 포인트 클라우드(111)에는 존재하지 않는다. 도 2는 또한, 제3 3D 포인트 클라우드(113)의 포인트들의 그래픽 표현(203) 및 제2 센서(110)에 의해 캡처된 장면에 포함된 오브젝트(104)의 예의 윤곽(파선)을 묘사한다. 오브젝트(104)의 윤곽(파선)은 상황에 따라 묘사되며, 제3 3D 포인트 클라우드(113)에는 존재하지 않는다.
제2 3D 포인트 클라우드(111)는 오브젝트(104)에 대응하는 도 1의 제1 포인트들(122)(예컨대, 파선으로 된 윤곽 내의 포인트들), 그리고 제1 센서(108)에 의해 캡처된 장면의 다른 부분들에 대응하는 포인트들(202, 204, 206)을 포함한다. 제3 3D 포인트 클라우드(113)는 오브젝트(104)에 대응하는 도 1의 제2 포인트들(124)(예컨대, 파선으로 된 윤곽 내의 포인트들), 그리고 제2 센서(110)에 의해 캡처된 장면의 다른 부분들에 대응하는 포인트들(208, 212, 214)을 포함한다. 제2 3D 포인트 클라우드(111)는 제1 센서(108)의 좌표계(232)에서 정의된다. 제3 3D 포인트 클라우드(113)는 제2 센서(110)의 좌표계(234)에서 정의된다.
제2 단계 동안, 제2 3D 포인트 클라우드(111) 및 제3 3D 포인트 클라우드(113)가 개별적으로 세그먼팅되고 제1 3D 포인트 클라우드(136)에 정합되어, 각각, 정합된 제1 3D 포인트 클라우드(142) 및 정합된 제2 3D 포인트 클라우드(144)가 생성된다. 도 1을 참조하여 위에서 설명된 바와 같이, 제2 3D 포인트 클라우드(111) 및 제3 3D 포인트 클라우드(113)는 개별적으로 세그먼팅 및 정합될 수 있다. 도 2는 정합된 제1 3D 포인트 클라우드(142)의 예의 그래픽 묘사(205)을 예시하고, 정합된 제2 3D 포인트 클라우드(144)의 예의 그래픽 묘사(207)를 예시한다. 정합된 제1 3D 포인트 클라우드(142)는 오브젝트(104)에 대응하는 제1 포인트들(122)을 포함하며, 제1 센서(108)에 의해 캡처된 장면의 다른 부분들에 대응하는 포인트들(202, 204, 206)을 포함하지 않는다. 정합된 제1 3D 포인트 클라우드(142)는 3D 모델(102)의 좌표계(236)에 정합된다. 정합된 제2 3D 포인트 클라우드(144)는 오브젝트(104)에 대응하는 제2 포인트들(124)을 포함하며, 제2 센서(110)에 의해 캡처된 장면의 다른 부분들에 대응하는 포인트들(208, 212, 214)을 포함하지 않는다. 정합된 제2 3D 포인트 클라우드(144)는 도 1의 3D 모델(102)의 좌표계(236)에 정합된다.
제3 단계 동안, 정합된 제1 3D 포인트 클라우드(142)와 정합된 제2 3D 포인트 클라우드(144)를 융합함으로써, 도 1의 결합된 3D 포인트 클라우드(106)가 생성된다. 도 2는 도 1의 결합된 3D 포인트 클라우드(106)의 예의 그래픽 묘사(209)를 예시한다.
제4 단계 동안, 도 1의 결합된 3D 포인트 클라우드(106)는 도 1의 메시 모델(132)과 비교된다. 도 2는 도 1의 메시 모델(132)의 그래픽 묘사를 예시한다. 메시 모델(132)은 복수의 면들, 이를테면 복수의 메시 면들(221, 222, 223, 224, 225, 226, 227, 228, 229, 230)을 포함한다. 도 1을 참조하여 위에서 설명된 바와 같이, 도 1의 결합된 3D 포인트 클라우드(106)는 메시 모델(132)과 비교된다. 예컨대, 도 1의 프로세서(126)는, 결합된 3D 포인트 클라우드(106)의 각각의 포인트에 대해, 메시 모델(132)의 복수의 메시 면들(221, 222, 223, 224, 225, 226, 227, 228, 229, 230) 중 최근접 메시 면을 식별할 수 있다. 예컨대, 프로세서(126)는 포인트들(262, 264, 266, 268)에 대한 최근접 메시 면이 메시 면(230)이라고 결정할 수 있다.
프로세서(126)는 결합된 3D 포인트 클라우드(106)의 각각의 포인트와, 이 각각의 포인트의 대응하는 메시 면의 최근접 부분 사이의 거리를 결정할 수 있다. 예컨대, 프로세서(126)는, 메시 면(230)의 부분(272)이 포인트(262)에 가장 근접하고, 메시 면(230)의 부분(274)이 포인트(264)에 가장 근접하고, 메시 면(230)의 부분(276)이 포인트(266)에 가장 근접하며, 그리고 메시 면(230)의 부분(278)이 포인트(268)에 가장 근접하다고 결정할 수 있다. 프로세서(126)는 포인트(262)와 부분(272) 사이의 거리(282), 포인트(264)와 부분(274) 사이의 거리(284), 포인트(266)와 부분(276) 사이의 거리(286), 및 포인트(268)와 부분(278) 사이의 거리(288)를 결정할 수 있다.
결합된 3D 포인트 클라우드(106)의 1 개 초과의 대응하는 포인트를 포함하는 각각의 메시 면에 대해, 프로세서(126)는 대응하는 포인트들과 메시 면 사이의 평균 거리를 결정한다. 예컨대, 메시 면(230)에 대해, 프로세서(126)는 거리들(282, 284, 286, 288)의 평균을 결정할 수 있다.
제5 단계 동안, 프로세서(126)는 결합된 3D 포인트 클라우드(106)와 3D 모델(102)(예컨대, 메시 모델(132)) 사이의 차이들을 표시하는 출력 데이터를 제공한다. 차이들은 메시 모델(132)의 각각의 메시 면에 대해 결정된 차이를 포함한다. 출력 데이터는, 차이들(152)의 그래픽 디스플레이(156)를 디스플레이하는 디스플레이(154)에 제공된다. 그래픽 디스플레이(156)는, 컬러에 기반하여 3D 모델(102)로부터의 편차의 양을 표시하는 컬러맵 또는 히트맵의 형태로 있을 수 있다. 예시하자면, 도 2는 그래픽 디스플레이(156)의 예를 도시한다. 그래픽 디스플레이(156)의 각각의 메시 면은 컬러맵의 컬러에 대응할 수 있는 대응하는 셰이딩(shading)을 갖는다. 각각의 셰이딩은 차이들에 기반하여 메시 면과, 결합된 3D 포인트 클라우드(106) 사이의 편차의 양을 표시할 수 있다.
도 3은 다수의 센서들로부터의 센서 데이터에 기반하는 결합된 3D 포인트 클라우드와 오브젝트의 메시 모델 사이의 차이들을 표시하는 출력 데이터를 생성하는 방법(300)을 예시한다. 일부 예들에서, 방법(300)은 도 1의 시스템(100)에 의해 수행된다. 방법(300)은, 302에서, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하는 단계를 포함한다. 예컨대, 정합된 제1 3D 포인트 클라우드는 도 1을 참조하여 위에서 설명된 정합된 제1 3D 포인트 클라우드(142)에 대응할 수 있고, 제1 3D 포인트 클라우드는 제1 3D 포인트 클라우드(136)에 대응할 수 있으며, 제2 3D 포인트 클라우드는 제2 3D 포인트 클라우드(111)에 대응할 수 있다. 제2 3D 포인트 클라우드는 제1 센서로부터의 제1 센서 데이터에 기반하고, 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반한다. 예컨대, 제2 3D 포인트 클라우드는 제1 센서 데이터(114)에 기반하여 생성될 수 있으며, 제1 3D 포인트 클라우드는 도 1을 참조하여 위에서 설명된 오브젝트(104)의 3D 모델(102)에 기반하여 생성될 수 있다.
방법(300)은, 304에서, 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하는 단계를 포함한다. 예컨대, 정합된 제2 3D 포인트 클라우드는 도 1을 참조하여 위에서 설명된 정합된 제2 3D 포인트 클라우드(144)에 대응할 수 있으며, 제3 3D 포인트 클라우드는 제3 3D 포인트 클라우드(113)에 대응할 수 있다. 제3 3D 포인트 클라우드는 제2 센서로부터의 제2 센서 데이터에 기반한다. 예컨대, 도 1을 참조하여 위에서 설명된 바와 같이, 제3 3D 포인트 클라우드는 제2 센서 데이터(116)에 기반하여 생성될 수 있다.
방법(300)은, 306에서, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하는 단계를 포함한다. 예컨대, 결합된 3D 포인트 클라우드는 도 1을 참조하여 위에서 설명된 결합된 3D 포인트 클라우드(106)에 대응할 수 있으며, 결합된 3D 포인트 클라우드는 도 1을 참조하여 위에서 설명된 바와 같이 프로세서(126)에 의해 생성될 수 있다. 시스템(100)이 2 개 초과의 센서들을 포함하는 구현들에서, 정합된 포인트 클라우드들이 또한 다른 센서들로부터의 센서 데이터에 기반하여 생성된다. 그러한 구현들에서, 결합된 3D 포인트 클라우드는 또한, 다른 센서들과 연관된 정합된 포인트 클라우드들에 기반한다.
방법(300)은, 308에서, 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하는 단계를 포함한다. 예컨대, 메시 모델은 도 1 또는 도 2의 메시 모델(132)에 대응할 수 있다. 결합된 3D 포인트 클라우드는 도 1 및 도 2를 참조하여 위에서 설명된 바와 같이 메시 모델과 비교될 수 있다. 일부 구현들에서, 결합된 3D 포인트 클라우드를 오브젝트의 메시 모델과 비교하는 단계는, 결합된 3D 포인트 클라우드의 각각의 포인트에 대해, 메시 모델의 대응하는 메시 면을 결정하는 단계를 포함한다. 예컨대, 도 1을 참조하여 위에서 설명된 바와 같이, 도 1의 프로세서(126)는 결합된 3D 포인트 클라우드의 각각의 포인트에 대해 메시 모델의 대응하는 메시 면을 결정할 수 있다. 일부 구현들에서, 결합된 3D 포인트 클라우드를 메시 모델과 비교하는 단계는 부가적으로, 포인트와 이 포인트의 대응하는 메시 면 사이의 거리를 결정하는 단계를 포함한다. 일부 구현들에서, 결합된 3D 포인트 클라우드를 메시 모델과 비교하는 단계는, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는, 메시 모델의 각각의 메시 면에 대해, 다수의 대응하는 포인트들과 메시 면 사이의 평균 거리를 결정하는 단계를 포함한다.
방법(300)은 부가적으로, 310에서, 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하는 단계를 포함한다. 일부 구현들에서, 차이들은 메시 모델의 각각의 메시 면에 대해 결정된 차이를 포함하며, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대한 차이는 메시 면에 대해 결정된 평균 거리에 기반한다.
일부 구현들에서, 방법(300)은 부가적으로, 차이들을 디스플레이하는 단계를 포함한다. 예컨대, 차이들은, 메시 모델의 각각의 메시 면에, 이 각각의 메시 면에 대해 결정된 차이에 기반하는 컬러가 할당되는 컬러맵을 사용하여 디스플레이될 수 있다. 따라서, 디스플레이는 건설된 오브젝트와 설계된 오브젝트 사이의 차이들을 그래픽적으로 표시한다.
도 4는 본 개시내용에 따른, 컴퓨터-구현 방법들 및 프로세서-실행가능 프로그램 명령들(또는 코드)의 실시예들을 지원하도록 구성된 디바이스(410)(예컨대, 범용 컴퓨팅 디바이스)를 포함하는 컴퓨팅 환경(400)의 블록 다이어그램의 예시이다. 예컨대, 컴퓨팅 디바이스(410) 또는 그 부분들은, 시스템(100)의 기능들 또는 시스템(100)의 부분, 이를테면 프로세서(126)의 기능들을 수행하기 위한 프로세서-실행가능 명령들을 실행할 수 있다. 도 1, 도 2, 또는 도 3을 참조하여 위에서 설명된 바와 같이, 시스템(100)(또는 시스템(100)의 부분, 이를테면 프로세서(126), 세그먼테이션 및 정합 엔진(138) 또는 비교기(146))을 제어하기 위한 프로세서-실행가능 명령들은, 도 1의 결합된 3D 포인트 클라우드(106)를 생성하고, 결합된 3D 포인트 클라우드(106)를 메시 모델(132)과 비교하며, 그리고 차이들(152)을 표시하는 출력 데이터(148)를 생성하기 위한 프로세서-실행가능 명령들을 포함할 수 있다. 컴퓨팅 디바이스(410) 또는 그 부분들은 추가로, 본원에서 설명된 방법들 중 임의의 방법, 이를테면 도 3의 방법(300)에 따른 프로세서-실행가능 명령들을 실행할 수 있다.
프로세서(126)는 비-일시적인 프로세서 판독가능 매체, 이를테면 시스템 메모리(430), 하나 또는 그 초과의 저장 디바이스들(440), 또는 이들의 결합과 통신할 수 있다. 프로세서(126)는 부가적으로, 하나 또는 그 초과의 입력/출력 인터페이스들(450), 하나 또는 그 초과의 통신 인터페이스들(460), 또는 이들의 결합과 통신할 수 있다. 시스템 메모리(430)는 휘발성 메모리 디바이스들(예컨대, RAM(random access memory) 디바이스들), 비휘발성 메모리 디바이스들(예컨대, ROM(read-only memory) 디바이스들, 프로그램가능 판독-전용 메모리, 및 플래시 메모리), 또는 둘 모두를 포함할 수 있다. 시스템 메모리(430)는 운영체제(432)를 포함할 수 있으며, 이 운영체제(432)는, 컴퓨팅 디바이스(410)를 부팅하기 위한 기본/입력 출력 시스템 뿐만 아니라 컴퓨팅 디바이스(410)가 사용자들, 다른 프로그램들, 및 다른 디바이스들과 상호작용하는 것을 가능하게 하기 위한 전체 운영체제를 포함할 수 있다. 시스템 메모리(430)는, 프로세서(126)에 의해 실행가능할 수 있는 하나 또는 그 초과의 애플리케이션들(예컨대, 프로세서-실행가능 명령들)(434)을 포함하거나 또는 저장할 수 있다. 예컨대, 하나 또는 그 초과의 애플리케이션들(434)은 도 1-도 3을 참조하여 위에서 설명된 하나 또는 그 초과의 기능들 또는 단계들을 수행하기 위해 프로세서(420)에 의해 실행가능한 프로세서-실행가능 명령들을 포함할 수 있다.
예컨대, 시스템 메모리(430)는 프로세서-실행가능 명령들을 저장할 수 있으며, 프로세서-실행가능 명령들은, 프로세서(126)에 의해 실행될 때, 프로세서(126)로 하여금, 도 1-도 3을 참조하여 위에서 설명된 바와 같이, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하게 한다. 프로세서-실행가능 명령들은, 프로세서(126)에 의해 실행될 때, 프로세서(126)로 하여금, 도 1-도 3을 참조하여 위에서 설명된 바와 같이, 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하게 한다. 프로세서-실행가능 명령들은, 프로세서(126)에 의해 실행될 때, 프로세서(126)로 하여금, 도 1-도 3을 참조하여 위에서 설명된 바와 같이, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하게 한다. 프로세서-실행가능 명령들은, 프로세서(126)에 의해 실행될 때, 프로세서(126)로 하여금, 도 1-도 3을 참조하여 위에서 설명된 바와 같이, 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하게 한다. 프로세서-실행가능 명령들은, 프로세서(126)에 의해 실행될 때, 프로세서(126)로 하여금, 도 1-도 3을 참조하여 위에서 설명된 바와 같이, 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하게 한다.
프로세서(420)는 또한, 하나 또는 그 초과의 저장 디바이스들(440)과 통신할 수 있다. 예컨대, 하나 또는 그 초과의 저장 디바이스들(440)은 비휘발성 저장 디바이스들, 이를테면 자기 디스크들, 광학 디스크들, 또는 플래시 메모리 디바이스들을 포함할 수 있다. 저장 디바이스들(440)은 제거가능한 그리고 제거가능하지 않은 메모리 디바이스들 둘 모두를 포함할 수 있다. 저장 디바이스들(440)은 운영체제, 운영체제들의 이미지들, 애플리케이션들, 및 프로그램 데이터를 저장하도록 구성될 수 있다. 저장 디바이스들(440)은 또한, 3D 모델(102)을 저장할 수 있다. 특정 실시예에서, 시스템 메모리(430), 저장 디바이스들(440), 또는 둘 모두는 유형의 컴퓨터-판독가능 매체를 포함한다.
프로세서(126)는, 사용자 상호작용을 가능하게 하기 위해 컴퓨팅 디바이스(410)가 하나 또는 그 초과의 입력/출력 디바이스들(470)과 통신하는 것을 가능하게 하는 하나 또는 그 초과의 입력/출력 인터페이스들(450)과 통신할 수 있다. 입력/출력 인터페이스들(450)은 직렬 인터페이스들(예컨대, USB(universal serial bus) 인터페이스들 또는 IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스들), 병렬 인터페이스들, 디스플레이 어댑터들, 오디오 어댑터들, 및 다른 인터페이스들을 포함할 수 있다. 입력/출력 디바이스들(470)은 키보드들, 포인팅 디바이스들, 디스플레이들, 스피커들, 마이크로폰들, 터치 스크린들, 및 다른 디바이스들을 포함할 수 있다. 프로세서(126)는 입력/출력 인터페이스들(450)을 통해 수신된 사용자 입력에 기반하여 상호작용 이벤트들을 검출할 수 있다. 부가적으로, 프로세서(126)는 입력/출력 인터페이스들(450)을 통해 디스플레이를 디스플레이 디바이스(예컨대, 출력 디바이스(180))에 전송할 수 있다.
프로세서(126)는 하나 또는 그 초과의 통신 인터페이스들(460)을 통해 복수의 센서들(107), 하나 또는 그 초과의 디바이스들(480), 또는 이들의 결합과 통신할 수 있다. 하나 또는 그 초과의 통신 인터페이스들(460)은 유선 이더넷 인터페이스들, IEEE 802 무선 인터페이스들, 다른 무선 통신 인터페이스들, 또는 다른 네트워크 인터페이스들을 포함할 수 있다. 하나 또는 그 초과의 디바이스들(480)은 호스트 컴퓨터들, 서버들, 워크스테이션들, 및 다른 컴퓨팅 디바이스들을 포함할 수 있다.
본원에서 설명된 예들의 예시들은 다양한 실시예들의 구조의 일반적인 이해를 제공하는 것으로 의도된다. 예시들은, 본원에서 설명된 구조들 또는 방법들을 활용하는 장치 및 시스템들의 엘리먼트들 및 특징들 전부의 전체 설명으로서의 역할을 하는 것으로 의도되지 않는다. 본 개시내용을 검토할 때, 많은 다른 실시예들이 당업자들에게 자명할 수 있다. 본 개시내용으로부터 다른 실시예들이 활용 및 도출될 수 있어서, 본 개시내용의 범위로부터 벗어나지 않으면서 구조적 및 논리적 치환들 및 변화들이 이루어질 수 있다. 예컨대, 방법 단계들은 도면들에서 도시된 것과 상이한 순서로 수행될 수 있거나, 또는 하나 또는 그 초과의 방법 단계들이 생략될 수 있다. 그에 따라서, 본 개시내용 및 도면들은 제약적인 것이 아니라 예시적인 것으로서 간주되어야 한다.
첨부된 도면들에서 도시된 흐름도들, 모듈들, 또는 컴포넌트들은 소프트웨어 명령들 및 하드웨어 로직, 동작들을 수행하도록 하드웨어에 지시하는 소프트웨어, 또는 이들의 결합에 기반하여 동작하는 하드웨어를 표현할 수 있다. 특히, 도 1-도 4를 참조하여 위에서 설명된 세그먼테이션 및 정합 엔진(138), 비교기(146), 또는 이들의 결합은, 도 1-도 4를 참조하여 위에서 설명된 프로세서(126)를, 도 1-도 4를 참조하여 위에서 설명된 세그먼테이션 및 정합 엔진(138), 비교기(146), 또는 이들의 결합을 갖지 않는 프로세서들과 비교할 때 특별 목적 프로세서로 변환한다.
추가로, 본 개시내용은 다음의 조항들에 따른 실시예들을 포함한다:
조항 1. 시스템으로서, 제1 센서 데이터를 생성하도록 구성된 제1 센서, 제2 센서 데이터를 생성하도록 구성된 제2 센서, 오브젝트의 3-차원(3D) 모델을 저장하도록 구성된 메모리, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3D 포인트 클라우드를 생성하고 ―제2 3D 포인트 클라우드는 제1 센서 데이터에 기반하고, 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반함―; 제1 3D 포인트 클라우드, 및 제2 센서 데이터에 기반하는 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하고; 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하고; 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하며; 그리고 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하도록 구성된 프로세서, 및 출력 데이터에 기반하여 차이들의 그래픽 디스플레이를 디스플레이하도록 구성된 디스플레이를 포함한다.
조항 2. 조항 1의 시스템에 있어서, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드는 3D 모델의 좌표계에 정합된다.
조항 3. 조항 1의 시스템에 있어서, 프로세서는, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드를 생성하기 위해 반복 최근접 포인트 알고리즘을 실행하도록 구성된다.
조항 4. 조항 1의 시스템에 있어서, 결합된 3D 포인트 클라우드를 오브젝트의 메시 모델과 비교하기 위해, 프로세서는, 결합된 3D 포인트 클라우드의 각각의 포인트에 대해, 메시 모델의 대응하는 메시 면을 결정하며; 그리고 포인트와, 포인트의 대응하는 메시 면 사이의 거리를 결정하도록 구성된다.
조항 5. 조항 4의 시스템에 있어서, 결합된 3D 포인트 클라우드를 메시 모델과 비교하기 위해, 프로세서는 추가로, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는, 메시 모델의 각각의 메시 면에 대해, 다수의 대응하는 포인트들과 메시 면 사이의 평균 거리를 결정하도록 구성된다.
조항 6. 조항 5의 시스템에 있어서, 차이들은 메시 모델의 각각의 메시 면에 대해 결정된 차이를 포함하며, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대한 차이는 메시 면에 대해 결정된 평균 거리에 기반한다.
조항 7. 조항 1의 시스템에 있어서, 3D 모델은 컴퓨터 보조 설계(CAD) 모델을 포함하며, 프로세서는 추가로, CAD 모델에 기반하여 메시 모델을 생성하며; 그리고 CAD 모델에 기반하여 제1 3D 포인트 클라우드를 생성하도록 구성된다.
조항 8. 방법으로서, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3-차원(3D) 포인트 클라우드를 생성하는 단계 ―제2 3D 포인트 클라우드는 제1 센서로부터의 제1 센서 데이터에 기반하고, 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반함―; 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하는 단계 ―제3 3D 포인트 클라우드는 제2 센서로부터의 제2 센서 데이터에 기반함―; 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하는 단계; 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하는 단계; 및 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하는 단계를 포함한다.
조항 9. 조항 8의 방법에 있어서, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드는 3D 모델의 좌표계에 정합된다.
조항 10. 조항 9의 방법에 있어서, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드를 생성하는 단계는 반복 최근접 포인트 알고리즘을 실행하는 단계를 포함한다.
조항 11. 조항 10의 방법에 있어서, 결합된 3D 포인트 클라우드를 오브젝트의 메시 모델과 비교하는 단계는, 결합된 3D 포인트 클라우드의 각각의 포인트에 대해, 메시 모델의 대응하는 메시 면을 결정하는 단계; 및 포인트와, 포인트의 대응하는 메시 면 사이의 거리를 결정하는 단계를 포함한다.
조항 12. 조항 11의 방법에 있어서, 결합된 3D 포인트 클라우드를 메시 모델과 비교하는 단계는, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는, 메시 모델의 각각의 메시 면에 대해, 다수의 대응하는 포인트들과 메시 면 사이의 평균 거리를 결정하는 단계를 포함한다.
조항 13. 조항 12의 방법에 있어서, 차이들은 메시 모델의 각각의 메시 면에 대해 결정된 차이를 포함하며, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대한 차이는 메시 면에 대해 결정된 평균 거리에 기반한다.
조항 14. 조항 13의 방법에 있어서, 3D 모델은 컴퓨터 보조 설계(CAD) 모델을 포함하며, 방법은, CAD 모델에 기반하여 메시 모델을 생성하는 단계; 및 CAD 모델에 기반하여 제1 3D 포인트 클라우드를 생성하는 단계를 더 포함한다.
조항 15. 프로세서-실행가능 명령들을 저장하는 비-일시적인 프로세서-판독가능 매체로서, 프로세서-실행가능 명령들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 제1 3D 포인트 클라우드 및 제2 3D 포인트 클라우드에 기반하여, 정합된 제1 3-차원(3D) 포인트 클라우드를 생성하게 하고 ―제2 3D 포인트 클라우드는 제1 센서로부터의 제1 센서 데이터에 기반하고, 제1 3D 포인트 클라우드는 오브젝트의 3D 모델에 기반함―; 제1 3D 포인트 클라우드 및 제3 3D 포인트 클라우드에 기반하여, 정합된 제2 3D 포인트 클라우드를 생성하게 하고 ―제3 3D 포인트 클라우드는 제2 센서로부터의 제2 센서 데이터에 기반함―; 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드에 기반하여, 결합된 3D 포인트 클라우드를 생성하게 하고; 결합된 3D 포인트 클라우드를, 오브젝트의 3D 모델에 기반하는, 오브젝트의 메시 모델과 비교하게 하며; 그리고 비교에 기반하여, 결합된 3D 포인트 클라우드에 의해 표현된 오브젝트와 오브젝트의 3D 모델에 의해 표현된 오브젝트 사이의 차이들을 표시하는 출력 데이터를 생성하게 한다.
조항 16. 조항 15의 비-일시적인 프로세서-판독가능 매체에 있어서, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드는 3D 모델의 좌표계에 정합된다.
조항 17. 조항 16의 비-일시적인 프로세서-판독가능 매체에 있어서, 정합된 제1 3D 포인트 클라우드 및 정합된 제2 3D 포인트 클라우드를 생성하는 것은 반복 최근접 포인트 알고리즘을 실행하는 것을 포함한다.
조항 18. 조항 17의 비-일시적인 프로세서-판독가능 매체에 있어서, 결합된 3D 포인트 클라우드를 오브젝트의 메시 모델과 비교하는 것은, 결합된 3D 포인트 클라우드의 각각의 포인트에 대해, 메시 모델의 대응하는 메시 면을 결정하는 것; 및 포인트와, 포인트의 대응하는 메시 면 사이의 거리를 결정하는 것을 포함한다.
조항 19. 조항 18의 비-일시적인 프로세서-판독가능 매체에 있어서, 결합된 3D 포인트 클라우드를 메시 모델과 비교하는 것은, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는, 메시 모델의 각각의 메시 면에 대해, 다수의 대응하는 포인트들과 메시 면 사이의 평균 거리를 결정하는 것을 포함한다.
조항 20. 조항 19의 비-일시적인 프로세서-판독가능 매체에 있어서, 차이들은 메시 모델의 각각의 메시 면에 대해 결정된 차이를 포함하며, 결합된 3D 포인트 클라우드의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대한 차이는 메시 면에 대해 결정된 평균 거리에 기반한다.
게다가, 특정 예들이 본원에서 예시 및 설명되었지만, 동일한 또는 유사한 결과들을 달성하도록 설계된 임의의 후속하는 어레인지먼트가 도시된 특정 실시예들을 대신할 수 있다는 것이 인식되어야 한다. 본 개시내용은 다양한 실시예들의 임의의 그리고 모든 후속하는 적응들 또는 변형들을 커버하는 것으로 의도된다. 위의 실시예들의 결합들, 및 본원에서 구체적으로 설명되지 않은 다른 실시예들은, 본 설명을 검토할 때 당업자들에게 자명할 것이다.
본 개시내용의 요약은, 이 요약이 청구항들의 범위 또는 의미를 해석하거나 또는 제한하기 위해 사용되지 않을 것이라는 이해와 함께 제출된다. 부가하여, 앞선 상세한 설명에서, 본 개시내용을 간소화하는 목적을 위해 다양한 특징들이 단일 실시예에서 함께 그룹핑되거나 또는 설명될 수 있다. 다음의 청구항들이 반영하는 바와 같이, 청구되는 발명의 요지는 개시된 예들 중 임의의 예의 특징들 전부보다는 더 적은 수의 특징들에 관한 것일 수 있다.
위에서 설명된 예들은 본 개시내용을 예시하지만, 본 개시내용을 제한하지 않는다. 또한, 많은 수정들 및 변형들이 본 개시내용의 원리들에 따라 가능하다는 것이 이해되어야 한다. 그에 따라서, 본 개시내용의 범위는 다음의 청구항들 및 그들의 등가물들에 의해 정의된다.

Claims (14)

  1. 시스템(100)으로서,
    제1 센서 데이터(114)를 생성하도록 구성된 제1 센서(108);
    제2 센서 데이터(116)를 생성하도록 구성된 제2 센서(110);
    오브젝트(104)의 3-차원(3D; three-dimensional) 모델(102)을 저장하도록 구성된 메모리(112);
    제1 3D 포인트 클라우드(136) 및 제2 3D 포인트 클라우드(111)에 기반하여, 정합된 제1 3D 포인트 클라우드(142)를 생성하고 ―상기 제2 3D 포인트 클라우드(111)는 상기 제1 센서 데이터(114)에 기반하고, 상기 제1 3D 포인트 클라우드(136)는 상기 오브젝트(104)의 3D 모델에 기반함―,
    상기 제1 3D 포인트 클라우드(136), 및 상기 제2 센서 데이터(116)에 기반하는 제3 3D 포인트 클라우드(113)에 기반하여, 정합된 제2 3D 포인트 클라우드(144)를 생성하고,
    상기 정합된 제1 3D 포인트 클라우드(142) 및 상기 정합된 제2 3D 포인트 클라우드(144)에 기반하여, 결합된 3D 포인트 클라우드(106)를 생성하고,
    상기 결합된 3D 포인트 클라우드(106)를 상기 오브젝트(104)의 상기 3D 모델(102)에 기반하는, 상기 오브젝트(104)의 메시 모델(132)과 비교하며, 그리고
    상기 비교에 기반하여, 상기 결합된 3D 포인트 클라우드(106)에 의해 표현된 오브젝트(104)와 상기 오브젝트(104)의 상기 3D 모델(102)에 의해 표현된 오브젝트(104) 사이의 차이들(152)을 표시하는 출력 데이터(148)를 생성하도록
    구성된 프로세서(126); 및
    상기 출력 데이터(148)에 기반하여 상기 차이들(152)의 그래픽 디스플레이(156)를 디스플레이하도록 구성된 디스플레이(154)
    를 포함하는,
    시스템(100).
  2. 제1 항에 있어서,
    상기 정합된 제1 3D 포인트 클라우드(142) 및 상기 정합된 제2 3D 포인트 클라우드(144)는 상기 3D 모델(102)의 좌표계에 정합되는,
    시스템(100).
  3. 제1 항에 있어서,
    상기 프로세서(126)는, 상기 정합된 제1 3D 포인트 클라우드(142) 및 상기 정합된 제2 3D 포인트 클라우드(144)를 생성하기 위해 반복 최근접 포인트 알고리즘(iterative closest point algorithm)을 실행하도록 구성되는,
    시스템(100).
  4. 제1 항에 있어서,
    상기 결합된 3D 포인트 클라우드(106)를 상기 오브젝트(104)의 메시 모델(132)과 비교하기 위해, 상기 프로세서(126)는, 상기 결합된 3D 포인트 클라우드(106)의 각각의 포인트에 대해,
    상기 메시 모델(132)의 대응하는 메시 면(mesh face)을 결정하며; 그리고
    상기 각각의 포인트와, 상기 각각의 포인트의 대응하는 메시 면 사이의 거리를 결정하도록
    구성되는,
    시스템(100).
  5. 제4 항에 있어서,
    상기 결합된 3D 포인트 클라우드(106)를 상기 메시 모델(132)과 비교하기 위해, 상기 프로세서(126)는 추가로, 상기 결합된 3D 포인트 클라우드(106)의 다수의 대응하는 포인트들과 연관되는, 상기 메시 모델(132)의 각각의 메시 면에 대해, 상기 다수의 대응하는 포인트들과 상기 메시 면 사이의 평균 거리를 결정하도록 구성되는,
    시스템(100).
  6. 제5 항에 있어서,
    상기 차이들(152)은 상기 메시 모델(132)의 각각의 메시 면에 대해 결정된 차이를 포함하며, 상기 결합된 3D 포인트 클라우드(106)의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대한 차이는 상기 메시 면에 대해 결정된 평균 거리에 기반하는,
    시스템(100).
  7. 제1 항에 있어서,
    상기 3D 모델(102)은 컴퓨터 보조 설계(CAD; computer aided design) 모델을 포함하며, 상기 프로세서(126)는 추가로,
    상기 CAD 모델에 기반하여 상기 메시 모델(132)을 생성하며; 그리고
    상기 CAD 모델에 기반하여 상기 제1 3D 포인트 클라우드(136)를 생성하도록
    구성되는,
    시스템(100).
  8. 방법으로서,
    제1 3-차원(3D) 포인트 클라우드(136) 및 제2 3D 포인트 클라우드(111)에 기반하여, 정합된 제1 3D 포인트 클라우드(142)를 생성하는 단계 ―상기 제2 3D 포인트 클라우드(111)는 제1 센서(108)로부터의 제1 센서 데이터(114)에 기반하고, 상기 제1 3D 포인트 클라우드(136)는 오브젝트(104)의 3D 모델(102)에 기반함―;
    상기 제1 3D 포인트 클라우드(136) 및 제3 3D 포인트 클라우드(113)에 기반하여, 정합된 제2 3D 포인트 클라우드(144)를 생성하는 단계 ―상기 제3 3D 포인트 클라우드(113)는 제2 센서(110)로부터의 제2 센서 데이터(116)에 기반함―;
    상기 정합된 제1 3D 포인트 클라우드(142) 및 상기 정합된 제2 3D 포인트 클라우드(144)에 기반하여, 결합된 3D 포인트 클라우드(106)를 생성하는 단계;
    상기 결합된 3D 포인트 클라우드(106)를 상기 오브젝트(104)의 상기 3D 모델(102)에 기반하는, 상기 오브젝트(104)의 메시 모델(132)과 비교하는 단계; 및
    상기 비교에 기반하여, 상기 결합된 3D 포인트 클라우드(106)에 의해 표현된 오브젝트(104)와 상기 오브젝트(104)의 상기 3D 모델(102)에 의해 표현된 오브젝트(104) 사이의 차이들(152)을 표시하는 출력 데이터(148)를 생성하는 단계
    를 포함하는,
    방법.
  9. 제8 항에 있어서,
    상기 정합된 제1 3D 포인트 클라우드(142) 및 상기 정합된 제2 3D 포인트 클라우드(144)는 상기 3D 모델(102)의 좌표계에 정합되는,
    방법.
  10. 제9 항에 있어서,
    상기 정합된 제1 3D 포인트 클라우드(142) 및 상기 정합된 제2 3D 포인트 클라우드(144)를 생성하는 단계는 반복 최근접 포인트 알고리즘을 실행하는 단계를 포함하는,
    방법.
  11. 제10 항에 있어서,
    상기 결합된 3D 포인트 클라우드(106)를 상기 오브젝트(104)의 메시 모델(132)과 비교하는 단계는, 상기 결합된 3D 포인트 클라우드(106)의 각각의 포인트에 대해,
    상기 메시 모델(132)의 대응하는 메시 면을 결정하는 단계; 및
    상기 각각의 포인트와, 상기 각각의 포인트의 대응하는 메시 면 사이의 거리를 결정하는 단계
    를 포함하는,
    방법.
  12. 제11 항에 있어서,
    상기 결합된 3D 포인트 클라우드(106)를 상기 메시 모델(132)과 비교하는 단계는, 상기 결합된 3D 포인트 클라우드(106)의 다수의 대응하는 포인트들과 연관되는, 상기 메시 모델(132)의 각각의 메시 면에 대해, 상기 다수의 대응하는 포인트들과 상기 메시 면 사이의 평균 거리를 결정하는 단계를 포함하는,
    방법.
  13. 제12 항에 있어서,
    상기 차이들(152)은 상기 메시 모델(132)의 각각의 메시 면에 대해 결정된 차이를 포함하며, 상기 결합된 3D 포인트 클라우드(106)의 다수의 대응하는 포인트들과 연관되는 특정 메시 면에 대한 차이는 상기 메시 면에 대해 결정된 평균 거리에 기반하는,
    방법.
  14. 제13 항에 있어서,
    상기 3D 모델(102)은 컴퓨터 보조 설계(CAD) 모델을 포함하며,
    상기 방법은,
    상기 CAD 모델에 기반하여 상기 메시 모델(132)을 생성하는 단계; 및
    상기 CAD 모델에 기반하여 상기 제1 3D 포인트 클라우드(136)를 생성하는 단계
    를 더 포함하는,
    방법.
KR1020180026551A 2017-05-15 2018-03-06 설계로부터 오브젝트 형상 및 편차의 모니터링 KR102539085B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/595,806 2017-05-15
US15/595,806 US10255480B2 (en) 2017-05-15 2017-05-15 Monitoring object shape and deviation from design

Publications (2)

Publication Number Publication Date
KR20180125379A KR20180125379A (ko) 2018-11-23
KR102539085B1 true KR102539085B1 (ko) 2023-05-31

Family

ID=61017778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180026551A KR102539085B1 (ko) 2017-05-15 2018-03-06 설계로부터 오브젝트 형상 및 편차의 모니터링

Country Status (4)

Country Link
US (1) US10255480B2 (ko)
EP (1) EP3404612B1 (ko)
JP (1) JP6978330B2 (ko)
KR (1) KR102539085B1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565787B1 (en) * 2017-01-27 2020-02-18 NHIAE Group, LLC Systems and methods for enhanced 3D modeling of a complex object
US10600199B2 (en) * 2017-06-27 2020-03-24 Toyota Research Institute, Inc. Extending object detection and identification capability for an object sensor device
US10989795B2 (en) 2017-11-21 2021-04-27 Faro Technologies, Inc. System for surface analysis and method thereof
US10740914B2 (en) * 2018-04-10 2020-08-11 Pony Ai Inc. Enhanced three-dimensional training data generation
CN109015641B (zh) * 2018-08-16 2019-12-03 居鹤华 基于轴不变量的通用6r机械臂逆解建模与解算方法
US10834413B2 (en) * 2018-08-24 2020-11-10 Disney Enterprises, Inc. Fast and accurate block matching for computer generated content
US11182954B2 (en) 2018-09-07 2021-11-23 Hivemapper Inc. Generating three-dimensional geo-registered maps from image data
US10346998B1 (en) * 2019-02-25 2019-07-09 Nurulize, Inc. Method of merging point clouds that identifies and retains preferred points
US10930062B2 (en) * 2019-07-18 2021-02-23 Raytheon Company 3D view model generation of an object utilizing geometrically diverse image clusters
KR20210030147A (ko) * 2019-09-09 2021-03-17 삼성전자주식회사 3d 렌더링 방법 및 장치
US11113844B2 (en) 2019-11-26 2021-09-07 The Boeing Company Systems and methods for automatic quality assessment of multiple-camera calibration
CN111402308B (zh) * 2020-03-17 2023-08-04 阿波罗智能技术(北京)有限公司 障碍物速度的确定方法、装置、设备和介质
US11430182B1 (en) 2021-03-09 2022-08-30 Pony Ai Inc. Correcting or expanding an existing high-definition map
KR102428740B1 (ko) * 2021-03-30 2022-08-02 센스타임 인터내셔널 피티이. 리미티드. 포인트 클라우드 완성 네트워크 생성 및 포인트 클라우드 데이터 처리
CN113111974B (zh) * 2021-05-10 2021-12-14 清华大学 基于深度典型相关分析的视觉-激光雷达融合方法及系统
CN113490406B (zh) * 2021-07-07 2022-09-16 广州市爱浦电子科技有限公司 一种微功率模块电源组成结构的自动化生产方法
KR102554504B1 (ko) * 2022-05-18 2023-07-11 이재경 3d모델 기반 철골 구조물의 자동 검수방법
US20240161261A1 (en) * 2022-11-14 2024-05-16 The Boeing Company Systems and methods for registering data to a coordinate system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090160852A1 (en) 2007-12-19 2009-06-25 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. System and method for measuring a three-dimensional object
WO2017068244A1 (en) 2015-10-20 2017-04-27 Elomatic Oy Method and system for determining the manufacturing dimensions for a connecting element

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326587B2 (en) 2007-12-13 2012-12-04 The Boeing Company System, method, and computer program product for predicting cruise orientation of an as-built airplane
US9607370B2 (en) * 2014-01-15 2017-03-28 The Boeing Company System and methods of inspecting an object
US10706615B2 (en) * 2015-12-08 2020-07-07 Matterport, Inc. Determining and/or generating data for an architectural opening area associated with a captured three-dimensional model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090160852A1 (en) 2007-12-19 2009-06-25 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. System and method for measuring a three-dimensional object
WO2017068244A1 (en) 2015-10-20 2017-04-27 Elomatic Oy Method and system for determining the manufacturing dimensions for a connecting element

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Development of an Inspection System for Defect Detection in Pressed Parts Using Laser Scanned Data, procedia engineering, 2014.

Also Published As

Publication number Publication date
KR20180125379A (ko) 2018-11-23
JP6978330B2 (ja) 2021-12-08
EP3404612B1 (en) 2020-11-04
EP3404612A1 (en) 2018-11-21
US10255480B2 (en) 2019-04-09
JP2019040577A (ja) 2019-03-14
US20180330149A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
KR102539085B1 (ko) 설계로부터 오브젝트 형상 및 편차의 모니터링
JP6807639B2 (ja) 奥行きカメラを校正する方法
CN107077744B (zh) 使用边缘的三维模型生成的方法和系统
JP6426968B2 (ja) 情報処理装置およびその方法
EP2874118B1 (en) Computing camera parameters
JP6632208B2 (ja) 情報処理装置、情報処理方法、プログラム
US9886528B2 (en) Designing a 3D modeled object with 2D views
JP5018721B2 (ja) 立体模型の作製装置
JP2014035702A (ja) 光学データ処理装置、光学データ処理システム、光学データ処理方法、および光学データ処理用プログラム
EP1766580A2 (en) Method and apparatus for machine-vision
JP2016212086A (ja) シーン内の寸法を求める方法
CN108961144A (zh) 图像处理系统
Bognot et al. Building construction progress monitoring using unmanned aerial system (UAS), low-cost photogrammetry, and geographic information system (GIS)
WO2015098222A1 (ja) 情報処理装置及び情報処理方法及びプログラム
EP3961556A1 (en) Object recognition device and object recognition method
Yoshioka et al. Automatic segmentation and feature identification of laser scanning point cloud data for reverse engineering
JP4714050B2 (ja) 3次元形状モデル生成システム
Marčiš et al. Photogrammetric Measurement of a Wooden Truss
Jarząbek-Rychard et al. Automatic enrichment of indoor 3D models using a deep learning approach based on single images with unknown camera poses
KR102077934B1 (ko) 비디오를 이용하여 객체의 가상 리트로피팅을 수행하기 위한 정렬 데이터 생성 방법 및 이를 수행하는 단말 장치
CN117351157B (zh) 单视图三维场景位姿估计方法、系统及设备
Hasan et al. Construction inspection through spatial database
KR101284136B1 (ko) 3차원 물체 복원 자동화를 위한 카메라 파라미터 추정 및 물체 추출 시스템
Li et al. Planar segmentation and topological reconstruction for urban buildings with lidar point clouds

Legal Events

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