KR102231665B1 - 이미지 처리 - Google Patents

이미지 처리 Download PDF

Info

Publication number
KR102231665B1
KR102231665B1 KR1020157024440A KR20157024440A KR102231665B1 KR 102231665 B1 KR102231665 B1 KR 102231665B1 KR 1020157024440 A KR1020157024440 A KR 1020157024440A KR 20157024440 A KR20157024440 A KR 20157024440A KR 102231665 B1 KR102231665 B1 KR 102231665B1
Authority
KR
South Korea
Prior art keywords
cube
volumes
cubes
points
current
Prior art date
Application number
KR1020157024440A
Other languages
English (en)
Other versions
KR20150122676A (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 KR20150122676A publication Critical patent/KR20150122676A/ko
Application granted granted Critical
Publication of KR102231665B1 publication Critical patent/KR102231665B1/ko

Links

Images

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/87Combinations of systems using electromagnetic waves other than radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/481Constructional features, e.g. arrangements of optical elements
    • G01S7/4817Constructional features, e.g. arrangements of optical elements relating to scanning
    • G06K9/00201
    • 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
    • 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
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

객체들의 세트들의 포인트 클라우드 데이터로부터 상기 객체들의 세트들의 3-차원 표현들을 자동으로 생성하기 위한 방법들 및 장치들이 기술된다. 상기 방법들 및 장치들은 상기 객체들에 의해 차지되는 공간을 다수의 볼륨들로 분할한다. 볼륨 내의 포인트들이 표면에서 대략적으로 공존한다면, 이러한 볼륨은 표면 볼륨으로 지정된다. 대략적으로 공면 표면들을 가진 표면 볼륨들이 결합되어서 더 큰 표면 볼륨들을 형성한다. 볼륨 내의 포인트들이 라인에서 대략적으로 공존한다면, 이러한 볼륨은 라인 볼륨으로 지정된다. 대략적으로 동일 선상에 있는 라인들을 가진 라인 볼륨들이 결합되어서, 더 큰 라인 볼륨들을 형성한다.

Description

이미지 처리 {Image processing}
본 발명은 객체들의 세트들의 포인트 클라우드 데이터로부터, 상기 객체들의 세트들의 3-차원 표현들을 자동적으로 생성하는 방법들 및 장치들에 관한 것이다.
실-세계 객체들의 정확한 3-차원(3D) 컴퓨터 모델들의 생산은 고고학, 건축학, 토목 및 기계 공학, 그리고 지리적 매핑(geographical mapping)의 분야들뿐만 아니라 다른 많은 분야들에서 매우 유용함이 입증되었다. 이러한 많은 응용들에서, 스캐너는 객체의 표면상에 있는 다수의 포인트들을 자동적으로 측정하여서, 표면 포인트들의 3D "포인트 클라우드"를 생성한다. 이러한 포인트들의 클라우드는 매우 많은 양의 데이터를 포함할 수 있으며, 이뿐만 아니라 다른 이유들로 인해, 효율적으로 최종 모델로 통합하기 위해 조작하거나 처리하는 것이 어려울 수 있다. 따라서 포인트 클라우드 데이터를 더 쉽게 조작되는 형태로, 예를 들어 3D 컴퓨터-지원 설계(CAD) 모델 포맷의 형태로, 전환하는 것에 대한 관심이 존재한다.
포인트 클라우드 데이터의 특성은, 다른 이미징 기법들에 존재하지 않는 그것의 분석 측면들이 있다는 것을 의미한다. 예를 들어, 자기 공명 영상(MRI) 및 전산화축성단층촬영(computed axial tomography; CAT)과 같은 의료 이미징 기법들은 특정 볼륨을 스캐닝하고, 스캐닝된 볼륨의 모든 포인트들에 정의된 연속 밀도 값들로부터 3D 이미지를 생성한다. 그러나 포인트 클라우드에 대해, 포인트들의 밀도는, 밀도 또는 객체의 다른 특성을 표시이기보다는, 스캐너 설정, 그리고 스캐너 위치까지의 거리 및 각도의 함수이다. 또한 스캐닝된 볼륨 중 큰 영역들은 어떤 특징들이 완전히 결여될 수 있다.
현재, 포인트 클라우드 데이터는 구조들을 인식함으로써 데이터를 해석하는, 그리고 식별된 것의 3D 모델을 수동으로 생성하는 전문가(또는 전문가들의 팀)에게 주어진다. 이러한 과정은 여러 가지 단점들을 갖는다. 먼저, 이는 완성하기 위해 매우 많은 인시(man-hour)들을 요구하며, 이는 비용 증가로 연결된다. 두 번째로, 동일한 포인트를 해석하는 서로 다른 사람들은 서로 다른 3D 모델들을 생성할 수 있다. 따라서 그러한 모델들의 사용자는 그들의 정확성에 너무 많이 의존할 수 없다. 이러한 두 번째 어려움은 특히, 이동 스캐너의 사용으로부터 발생하는 노이즈가 있는 포인트 클라우드 데이터에서 주로 나타난다. 이동 스캐너들은 노이즈를 발생하지만, 문제의 스캐닝 기술 범위보다 더 큰 영역을 스캐닝하기 위해 정적 스캐너들 보다 이동 스캐너들이 바람직하다.
3D 모델들을 자동적으로 생성하지만, 다른 결점들을 가지고 있는 다른 장치들이 개시된다. 예를 들어, US 8,244,026은 지면 스캔의 라이다(light detection and ranging; LIDAR) 포인트 클라우드를 처리하는 장치를 기술한다. 지면 필터(ground filter)가 지면을 필터링하여서, 상기 지면 위에서 연장하는 특징들이 식별될 수 있다. 그 결과, 자동 특성 탐색 및 인식 유닛은 특정 특성과 관련된 포인트들을 인식하고, 그것들을 상기 특성을 나타내는 가상의 객체로 대체할 수 있다. 이러한 장치는 참조 포인트로서 지면을 사용하기 때문에, 다른 응용들을 위해 사용될 수 없다. 또한, 가상 객체가 존재하는 객체들만이 대체될 수 있다; 전문가는 수동으로 그 결과들을 모니터해야하거나, 특이한 특성들을 더 모델링해야 한다.
EP 1 691 335 B1은 2-차원 프로파일들에 따라 표면들을 포인트 클라우드들에 맞추는 장치를 기술한다. 여기서의 단점은, 수동으로 또는 본 발명의 일부가 아닌 어떠한 자동 메커니즘에 의해 프로파일들이 먼저 정의되어야 한다는 것이다. 이와 대조적으로, 본 발명은 2차원 또는 기타 다른 프로파일들이 제공될 것을 필요로 하지 않는다.
ClearEdge 3D는 포인트 클라우드로부터 자동으로 특성들을 추출하는 소프트웨어를 생산한다. 이 소프트웨어는 WO 2010/042466 에 기술된 기법을 사용할 수 있다. WO 2010/042466에서, 하나 이상의 표면 패치들은 포인트 클라우드로부터 추출되며, 객체의 하나 이상의 주축들을 판단하기 위해 사용된다. 그러나 이러한 방법은, 스캐닝된 객체들이 정렬된 공통 주축들을 가지지 않을 때, 특히 이동 스캐너로-생성된 데이터를 분석할 때 사용될 수 없다. 실제로, ClearEdge 3D는 사용자들이 특성들의 초기 버전들과, 그 후 자동으로 식별되는 사본들을 수동으로 식별할 것을 요구한다.
청구범위에 기재된 본 발명의 양상들은 계산 효율적이고 노동-절약적인 해결책을 제공한다. 이 해결책은 주요한 특성들이 실-세계 객체들로서 식별되고 가상의 등가물로 대체되는 시나리오들에 유용하지만, 이에 제한되지는 않는다. 또한, 본 발명의 예시적 실시 예들은 그것들이 이동 스캐너 시스템으로부터의 포인트 클라우드 데이터를 변환할 수 있다는 것에 충분히 강력하다.
본 발명은 3 x 3의 대칭행렬들의 고유값들과, 그리고 해당 고유벡터들의 빈번한 계산을 필요로 한다. 이는, 예를 들어 존스 홉킨스 대학 출판부, G. H. Golub 및 C. F. van Loan의 “Matrix Computation(1983)”에 기술된 바와 같은, Jacobi의 대각화 방법으로 쉽게 완수될 수 있다. 그러나 그 밖에 다른 유효한 고유값 및 고유벡터 계산 방법은, 그것이 고유값들 중 두 개 또는 모두가 구별되지 않는 경우를 올바르게 대처할 수 있다면, 상기 방법 대신 사용될 수 있다.
본 발명은 첨부된 청구범위에 의해 정의된다. 본 발명의 예시적 실시 예들의 다른 특징들 및 이점들은 첨부된 도면들과 관련하여 취해진 다음의 설명으로부터 명백해질 것이다.
도 1은 포인트 클라우드 데이터가 생성되고 3-차원 모델로 변환되는 예시적 시스템을 도시한다.
도 2는 본 방법의 주요 단계들인 M1 내지 M12의 흐름도를 도시한다.
도 3은 동일 평면 또는 동일 선상에 있는 포인트들을 포함하는 것으로 큐브를 분류하는 예시적 방법의 A1 내지 A7 단계들의 흐름도를 도시한다.
도 4는 평면 큐브 세트들을 형성하기 위해, 공통 평면을 따라 공면 큐브들을 결합함으로써 표면들을 식별하는 예시적 방법의 B1 내지 B24 단계들의 흐름도를 도시한다.
도 5는, 평면 큐브 세트들에 속하는 큐브들을 납작하게 하여, 그것들이 상기 공통 평면에 의해 모두 교차되도록 하는 예시적 방법의 Y1 내지 Y8 단계들의 흐름도를 도시한다.
도 6은 평면 큐브 세트의 경계를 형성하는 큐브들을 식별하는 예시적 방법의 X1 내지 X10 단계들의 흐름도를 도시한다.
도 7은 평면 큐브 세트의 외부 주위에서 또는 평면 큐브 세트 내부의 홀들 주위에서 경계 다각형을 추적하는 예시적 방법의 Z1 내지 Z21 단계들의 흐름도를 도시한다.
도 8은 경계 다각형들을 따라 클라우드 경계 포인트들의 위치를 식별하는 예시적 방법의 U1 내지 U11 단계들의 흐름도를 도시한다.
도 9는 클라우드 경계 포인트들을 이웃 평면들과의 교차선들로 이동시키는 예시적 방법의 V1 내지 V14 단계들의 흐름도를 도시한다.
도 10은 라인 큐브 세트들을 형성하기 위해, 공통 라인을 따라 공선 큐브들을 결합함으로써 라인들을 식별하는 예시적 방법의 W1 내지 W18 단계들의 흐름도를 도시한다.
도 11은 라인 큐브 세트들에 속하는 큐브들을 납작하게 하여서, 그것들 모두가 상기 공통 라인에 의해 교차되도록 하는 예시적 방법의 T1 내지 T8 단계들의 흐름도를 도시한다.
도 12는 라인 큐브 세트 내에 있는 유한 선분들의 끝점들의 위치를 찾는 예시적 방법의 S1 내지 S16 단계들의 흐름도를 도시한다.
도 13은 평면들 간의 거리를 계산하는 예시적 방법을 도시하는 평면도이다.
도 14는 예시적 다각형 팬(fan)을 도시하는 평면도이다.
도 15는 평면 큐브 세트들의 경계 다각형들을 추적하는 예시적 방법을 도시하는 평면도이다.
도 16은 다각형 상에서의 다음 모서리의 대체가능한 두 위치들을 나타내는 평면도이다.
도 17은 상기 포인트 클라우드 경계가 교차 다각형 내에서 선형인 경우, 상기 클라우드 경계 포인트를 산출하는 예시적 방법을 도시하는 평면도이다.
도 18은 상기 포인트 클라우드 경계가 교차 다각형 내에서 비-선형인 경우, 상기 클라우드 경계 포인트를 산출하는 예시적 방법을 도시하는 평면도이다.
도 19는 하나 이상의 후보 클라우드 경계 포인트가 있는 경우, 상기 클라우드 경계 포인트를 산출하는 예시적 방법을 도시하는 평면도이다.
도 20은 클라우드 경계 포인트들을 평면들의 교차선들로 이동시키는 예시적 방법을 도시하는 사시도이다.
도 21은 포인트 클라우드 데이터의 특정 세트에서 수행되는 본원에 기술된 방법에 의한, 건축 시나리오에서 사용하기 위한 라인 드로잉(line drawing)이다.
도 1은 본 발명의 일예시적 실시 예에 따른 장치의 일반적인 구성을 도시하는 블록도이다. 스캐너(120)는 일련의 레이저 펄스들을 방출하는 LIDAR 스캐닝 모듈(102)을 포함한다. 이러한 레이저 펄스들은 관심 객체들(104)의 표면들 전체에 걸쳐 스캐닝되고, 상기 펄스는 상기 표면들로부터 반사되어 상기 스캐닝 모듈 내에 있는 센서에 의해 수신된다. 상기 레이저 펄스의 TOF(time-of-flight)로부터, 상기 스캐너(120) 내의 처리 모듈(106)은 상기 표면들 상의 포인트들까지의 거리를 계산할 수 있으며, 이러한 거리 데이터를 기반으로 포인트 클라우드를 생성할 수 있다. 그 후 상기 포인트 클라우드 데이터(108)는 추가 처리 전에 포인트 클라우드 데이터베이스(110)에 저장될 수 있다. 추가 처리가 요구될 때, 컴퓨터(112)로 상기 포인트 클라우드 데이터가 보내진다. 상기 컴퓨터(112)에서, 포인트 클라우드 처리 모듈은 상기 데이터를 3D 표현(118)으로 변환하는 방법을 수행한다. 이러한 방법의 예는 아래에서 더 자세히 기술된다. 상기 방법이 완료되면, 상기 3D 표현(118)은 메모리(114)에 데이터 파일로서 저장될 수 있으며, 그리고/또는 가시적 형태로 출력될 수 있다.
그러한 3D 표현이 이용될 수 있는 많은 다른 응용들이 있다. 예를 들어, 자동차 조립 라인 시나리오에서, 서로 잘 맞도록 설계된 서로 다른 구성요소들이 LIDAR 스캐너에 의해 스캐닝될 수 있다. 그 결과물인 포인트 클라우드들은 3D 벡터 모델들로 변환될 수 있다. 그리고 상기 구성요소들이 특정 허용오차 내에서 서로 잘 맞을 수 있는지 여부가 판단될 수 있다. 본원에 기술된 바와 같은 자동 기법들 없이 종래의 기술을 사용하여 정확한 결과를 얻기 위해서는 많은 인시(man-hour)가 필요할 것이다. 이는 필요한 시간 척도 내에서 실용적이지 않을 것이다.
또 다른 응용 예는 노측용 충돌 방호울타리들에 관한 것이다. 많은 공공기관들은 빠르게 움직이는 교통흐름을 가진 도로들 상의 방호울타리들에 대해 최소 높이를 요구한다. 이러한 요구 사항을 준수하기 위해, 차량-장착 스캐너는 도로들의 많은 부분들을 스캐닝하여서, 방호울타리들에 대한 포인트 클라우드 데이터를 생성할 수 있다. 이러한 데이터는 3D 모델과, 판단된 울타리 높이로 변환될 수 있다. 또 다시, 상기 데이터를 벡터 그래픽 모델로 변환하기 위한 수동 방법들은 시간이 오래 걸릴 것이다. 그러나 서로 다른 수동 운용자들이 장벽의 동일한 부분들에 대해 상이한 높이들을 판단할 가능성이 있기 때문에, 문제는 더 악화된다. 서로 다른 기득권을 가진 당사자들은, 고의적으로 혹은 비고의적으로, 결과 모델이 모델 제작자가 선호하는 현실을 나타내도록 끼워 맞춘 데이터를 제공할 수 있다. 특정 방호울타리가 충분히 높지 않을 때, 상기 모델 제작자가 상기 방호 울타리가 충분히 높다고 판단한다면, 그 결과는 처참할 수 있다. 따라서 본원에 기술된 것과 같은 객관적인 방법이 바람직할 것이다.
포인트 클라우드는 3-차원 벡터들(
Figure 112015087065714-pct00001
)의 세트다. 상기 포인트 클라우드의 포인트들은 하나 이상의 3D 객체들의 표면들 위에 분산되어 있다고 가정한다. 본원에 기술된 기법은 상기 포인트 클라우드를 상기 객체들의 CAD 모델 표현으로 변환한다. 이러한 것들은, (상기 객체들의 평면들을 나타내는) 닫힌 평면 다각형들의 모서리들을 포함하는 연결된 선분들과, 그리고 평면들을 가지지 않는 전선들, 전화선들 등과 같은, 객체들을 나타내는 다른 선분들의 세트들로 구성된다. 실린더들과 같이 비-평면들(예를 들어 파이프들 및 터널들)로 이루어지는 객체들은, 상기 객체들의 표면들에 접하는, 충분한 수의 작은 평면들에 의해 표현된다. 이 방법론은 임의의 3D 객체들이 표현될 수 있도록 한다.
도 2는 본 방법의 주요 단계들인 M1 내지 M12의 흐름도를 도시한다.
M1. 상기 객체들에 의해 차지되는 공간의 부분에 3D 그리드를 중첩시킨다. 상기 그리드는 크지만 유한한 리스트의 큐브들로 그 공간을 분할한다. 컴퓨터 저장 공간을 낭비하지 않도록, 상기 리스트는 빈 큐브들을 모두 제외한다. 현 실시 예에서, 상기 큐브들은 모두 동일한 크기이다. 각각의 큐브의 한 변의 길이를 그것의 분해능이라고 한다. 필요하다면(예를 들어, 국부적으로, 스캐닝된 표면이 높은 곡률을 가지고 있기 때문에), 이러한 큐브들의 일부는 더 작은 큐브들로 세분화될 수 있으며, 상기 더 작은 큐브들은 더 세분화될 수 있으며, 그것들이 또 세분화될 수 있다. 이러한 방식으로, 상이한 장소들에 상이한 로컬 해상도가 사용될 수 있다. 예를 들어 4면체들을 사용하는, 3D 공간의 다른 분할들 또한 가능하다. 다음으로 큐브라는 용어가 사용되지만, 본 방법은 4면체 또는 다른 공간-채움 테셀레이션(tessellation)에도 동일하게 적용한다는 것이 이해될 것이다
M2. 비-공동 큐브들 각각을 다음의 것들 중 하나로 분류한다 : 같은 공간을 차지함(co-incident)(상기 큐브 내의 모든 포인트들은 대략적으로 동일한 위치에 위치된다), 동일 평면상에 있음(공면)(상기 큐브 내의 모든 포인트들은 대략적으로 하나의 평면에 놓여진다), 동일 선상에 있음(공선)(상기 큐브 내의 모든 포인트들은 대략적으로 하나의 직선을 따라 놓여진다), 또는 공간-채움(국부적으로, 상기 포인트 클라우드는 선도 아니고 표면도 아니다). M2 단계의 세부사항은 아래에서 A1 내지 A8의 단계들로 더 상세히 논의되며, 도 3에 도시되어 있다.
M3. 평면들(그것들의 포인트 클라우드의 포인트들의 평면들)이 대략 동일 평면상에 있는 이웃한 공면 큐브들을 결합함으로써, 평면 큐브 세트들을 확대한다. 각각의 평면 큐브 세트는 상기 큐브 세트의 공통 평면이라 불리는 수학적 단일 평면과 연관된다. M3 단계의 결론에서, 모든 공면 큐브는 정확히 하나의 평면 큐브 세트에 속할 것이다. 각각의 평면 큐브 세트는 하나 이상의 공면 큐브들을 포함할 것이다. M3 단계의 세부사항은 아래에서 B1 내지 B24의 단계들로 더 상세히 논의되며, 이는 도 4에 도시되어 있다.
M4. 다음과 같이 각각의 평면 큐브 세트를 납작하게 한다. 임의의 공면 큐브가 그것의 평면 큐브 세트의 공통 평면에 의해 교차되지 않는다면, 그 큐브를 상기 평면 큐브 세트로부터 제거하고, 그것의 포인트들 모두를 상기 공통 평면상으로 투사한다. 임의의 투사된 포인트가 이미 상기 평면 큐브 세트에 속하지 않는 큐브에 놓여진다면, 그 큐브를 상기 평면 큐브 세트에 추가한다. 이는, M4 단계 마지막에, 상기 평면 큐브 세트는 M2 단계에서 공면으로 분류되지 않았던 큐브들을 포함할 수 있다는 것을 의미한다. 이제 큐브들은 하나 이상의 평면 큐브 세트에 속할 수 있다. 그러나 두개 이상의 평면 큐브 세트에 속하는 임의의 큐브는 그것이 속해 있는 모든 평면 큐브 세트의 공통 평면들에 의해 교차될 것이다. M4 단계의 세부사항은 아래에서 Y1 내지 Y8의 단계들로 더 상세히 논의되며, 도 5에 도시되어 있다.
M5. 각각의 평면 큐브 세트에 대해, 평면 경계 큐브 세트를 생성한다. 이는 상기 평면 큐브 세트의 경계에 있는 모든 큐브들로 구성된다. M5 단계의 세부사항은 아래에서 X1 내지 X10의 단계들로 더 상세히 논의되며, 도 6에 도시되어 있다.
M6. 각각의 평면 큐브 세트의 경계 다각형들은 상기 평면 큐브 세트의 외부 주위에서, 그리고 또한 상기 평면 큐브 세트의 내부에 있는 임의의 홀들 주위에서, 상기 평면 큐브 경계 세트에 속하는 큐브들의 모서리들을 이용하여, 순서대로 추적된다. M6 단계의 세부사항은 아래에서 Z1 내지 Z21의 단계들로 더 상세히 논의되며, 도 7에 도시되어 있다.
M7. 클라우드 경계 포인트는 각각의 경계 다각형의 각각의 모서리에 대해 추정된다. 모서리들이 큐브들의 면들을 따라 놓여있는 경계 다각형과 달리, 각각의 클라우드 경계 포인트는 각각의 평면 큐브 세트의 공통 평면상에 투사된 상기 포인트 클라우드 포인트들의 컨벡스헐(convex hull) 가까이에 놓여있다. 상기 클라우드 경계 포인트들은, M6 단계에서 추산된 각각의 별개의 경계 다각형에서 마주하게 되는 순서대로 저장된다. M7 단계의 세부사항은 아래에서 U1 내지 U11의 단계들로 더 상세히 설명되며, 도 8에 도시되어 있다.
M8. 임의의 클라우드 경계 포인트가 그것의 공통 평면과, 또 다른 평면 큐브 세트의 공통 평면의 교차선에 충분히 가까이에 놓여있다면, 상기 클라우드 경계 포인트의 위치는 상기 교차선 상에 있는 가장 가까운 포인트로 이동된다. 상기 클라우드 경계 포인트가 두개 이상의 평면과의 교차에 충분히 가까이에 놓여있다면, 상기 클라우드 경계 포인트는 가장 가까운 교차선으로 이동된다. M8 단계의 세부사항은 아래에서 V1 내지 V14의 단계들로 더 상세히 설명되며, 도 9에 도시되어 있다.
M9. 상기 경계 다각형 모서리들은, M8 단계 끝에서 상기 경계 포인트들이 저장된 순서대로, 상기 별개의 경계 포인트들로 구성된 폴리라인(polyline)들로 변환된다. 각각의 경계 다각형에 대해 별개의 폴리라인이 생성된다.
M10. 라인들이 대략적으로 동일 선상에 있는, 이웃하는 공선 큐브들이 결합되어서 라인 큐브 세트들을 형성한다. 각각의 라인 큐브 세트는 상기 큐브 세트의 공통 라인이라 불리는 수학적 단일 직선과 연관된다. M10 단계 마지막에, 모든 공선 큐브는 정확히 하나의 라인 큐브 세트에 속할 것이다. 각각의 라인 큐브 세트는 하나 이상의 공선 큐브들을 포함할 것이다. M10 단계의 세부사항은 아래에서 W1 내지 W24의 단계들로 더 상세히 논의되며, 도 10에 도시되어 있다.
M11. 다음과 같이 각각의 라인 큐브 세트를 납작하게 한다. 임의의 공선 큐브가 그것의 라인 큐브 세트의 공통 라인에 의해 교차되지 않는다면, 그 큐브를 상기 라인 큐브 세트로부터 제거하고, 그것의 모든 포인트들을 상기 공통 라인으로 투사한다. 임의의 투사된 포인트가 이미 상기 라인 큐브 세트에 속하지 않는 큐브에 놓여진다면, 그 큐브를 상기 라인 큐브 세트에 추가한다. 이는, M11 단계 마지막에, 상기 라인 큐브 세트는 M2 단계에서 공선으로 분류되지 않았던 큐브들을 포함할 수 있다는 것을 의미한다. 또한 큐브들은 하나 이상의 라인 큐브 세트에 속할 수 있다. (실제로 큐브들은 라인 및 평면 큐브 세트들에 동시에 속할 수 있다.) 그러나 두개 이상의 라인 큐브 세트에 속하는 임의의 큐브는 그것이 속해있는 모든 라인 큐브 세트의 공통 라인들에 의해 교차될 것이다. M11 단계의 세부사항은 아래에서 T1 내지 T8의 단계들로 더 상세히 설명되며, 도 11에 도시되어 있다.
M12. 각각의 라인 큐브 세트의 공통 라인을 따르는 하나 이상의 선분들의 끝점들이 식별된다. M12 단계의 세부사항은 아래에서 S1 내지 S17의 단계들로 더 상세히 설명되며, 도 12에 도시되어 있다.
이미 언급한 바와 같이, 이 프로세스의 최종 결과는 다른 선분들뿐만 아니라 잘-정의된 경계들을 가진 다각형의 생성이다. 추가 처리가 수행되어서, 그에 의해, 특정 요건들을 충족하는 인접 다각형 경계들은 객체 모서리들의 부분들을 정의하는 것으로 식별된다. 이러한 방식으로 더 많은 다각형들을 결합함으로써, 그리고 충분한 데이터를 가지고, 전체 3D 객체들이 재구성될 수 있다. 이것이 달성될 때, 객체들은 핵심 특징들로서 식별될 수 있으며, 상기 핵심 특징들의 개수 및 위치에 대한 데이터뿐만 아니라 기타 다른 관련 정보가 상기 3D 모델의 사용자에게 제공될 수 있다. 상기 포인트 클라우드 데이터로부터 바로 객체들을 식별하고 비교하는 것은 매우 비효율적이다. 예를 들어, 객체의 포인트 클라우드가 ~
Figure 112015087065714-pct00002
개의 포인트들을 포함한다면, 그러한 객체들 두개를 비교하는 것은
Figure 112015087065714-pct00003
번의 계산을 필요로 한다(각각의 계산은 하나의 객체의 포인트 클라우드 포인트들을 유사한 포인트 개수를 가진 다른 객체의 포인트 클라우드 포인트들과 비교한다). 그에 반해서, 동일한 객체가 적은 수(예를 들어, 100이하)의 다각형들로 구성된 모델에 의해 표현된다면, 훨씬 적은 계산(~10,000)들이 필요하게 되어서, 상기 프로세스는 훨씬 더 계산적으로 효율적이다. 거리 풍경 모델에서, 흔한 가로시설물 물품(street furniture article)들은 그것들의 형상(다각형들의 조합)에 의해 식별될 수 있다. 이들은 정확한 가상 모델들로 대체될 수 있거나, 또는 가로시설물 위치에 대한 데이터는 이해 당사자에 의해 추출될 수 있다. 3-차원 이미지들을 생성하기 위해, 병렬 사진 이미지들을 사용할 수 있다면, 그것들로부터 도출된 이미지 부분들은 표면 충전(surface fill)으로서 각각의 다각형과 연관될 수 있다.
도 3은 A1 내지 A9 단계들을 도시하는 M2 단계의 흐름도이다. 이 단계들은 (M1 단계에서 생성된) 상기 큐브들 각각을, 비어 있음(상기 큐브는 어떠한 포인트도 포함하지 않는다), 같은 공간을 차지함(상기 큐브 내의 모든 포인트들은 대략적으로 동일한 위치에 위치된다), 동일 평면상에 있음(공면)(상기 큐브 내의 모든 포인트들은 대략적으로 하나의 평면에 놓여진다), 동일 선상에 있음(공선)(상기 큐브 내의 모든 포인트들은 대략적으로 하나의 직선을 따라 놓여진다), 또는 공간-채움으로 분류한다. 모든 경우들에서, 포인트 클라우드 포인트가 두 개 이상의 큐브들 간의 면 또는 꼭짓점에 정확히 놓여있다면, 그러한 큐브들 중 오직 하나만 그 포인트를 포함하는 것으로 간주됨을 유의한다.
수학적 표면들 및 라인들은 두께가 0이다. 포인트 클라우드들은 총괄적으로 노이즈이라 칭해지는 측정 오류들 및 기타 교란(perturbation)들의 대상이 되기 때문에, 상기 포인트 클라우드 포인트들 자체는, 그들이 표현되는 진정한 수학적 표면 또는 라인으로부터 조금 떨어져서 놓여질 수 있다. 이를 감안하기 위해, A1 내지 A9 단계들에 기술된 계산은 두께 허용공차를 사용한다. 그 최적 값은 상기 포인트 클라우드의 정확성에 따라 달라진다.
공분산 행렬은
Figure 112015087065714-pct00004
로 정의된다.
이 때, n은 상기 큐브 내에 있는 포인트 클라우드들 포인트들의 수이며, 합산은 이러한 모든 포인트들에 대해 이루어지며, 또한 이 때,
Figure 112015087065714-pct00005
이다.
분류 프로세스는 다음과 같다.
A1. 비-공동 큐브들의 리스트에서 제1 큐브를 선택한다.
A2. Jacobi 방법 또는 기타 다른 유효 방법들을 사용하여, 상기 큐브 내에 포함된 포인트 클라우드 포인트들의 공분산 행렬의 세 개의 고유값들을 계산한다. 모든 음의 고유값을 0으로 설정한다. 상기 큐브 내에 정확히 하나의 포인트가 있다면, 세 개의 고유값들 모두 0으로 설정한다.
A3. 모든 고유값들이 상기 두께 허용공차보다 작다면, 상기 큐브를 같은 공간을 차지함(co-incident)으로 분류하고, A7 단계로 이동한다. 이는 상기 큐브 내의 모든 포인트들이 대략적으로 동일한 위치에 있을 때 발생한다.
A4. 고유값들 중 오직 두 개만이 상기 두께 허용공차보다 작다면, 상기 큐브를 공선 큐브로 분류하고 A7 단계로 이동한다. 이는 상기 큐브 내의 모든 포인트들이 대략적으로 동일한 수학적 라인을 따라 놓여질 때 발생한다.
A5. 고유값들 중 오직 하나만이 상기 두께 허용공차보다 작다면, 상기 큐브를 공면 큐브로 분류하고, A7 단계로 이동한다. 이는 상기 큐브 내의 모든 포인트들이 대략적으로 동일한 수학적 평면에 놓여질 때 발생한다.
A6. 상기 큐브를 공간-채움으로 분류한다. 이는 비-공동 큐브가 같은 공간을 차지하지도 않고, 공선 또는 공면도 아닐 때 발생한다.
A7. 상기 큐브가 상기 리스트에서 마지막일 때, 멈춘다.
A8. 상기 리스트에서 다음 큐브를 선택한 후 A2 단계로 이동한다.
도 4는, 공통 평면을 따라 인접한 공면 큐브들의 세트를 확대하는 M3 단계를 B1 내지 B24의 단계들로 더 자세히 도시하는, M3 단계의 흐름도이다. 이러한 방식으로 확대된 공면 큐브들의 세트 각각은 평면 큐브 세트로 불린다. 계산은 상기 평면 큐브 세트 내의 포인트들의 수를 누적한다(
Figure 112015087065714-pct00006
, 이 때,
Figure 112015087065714-pct00007
은 공면 큐브(l )내의 포인트들의 수이다). 또한 상기 계산은 상기 포인트 클라우드 포인트들의 합을 누적하며(
Figure 112015087065714-pct00008
, 이 때,
Figure 112015087065714-pct00009
), 그 외적들의 합도 누적한다(
Figure 112015087065714-pct00010
, 이 때,
Figure 112015087065714-pct00011
). 두 경우 모두에서, 합산은 상기 평면 큐브 세트 내의 모든 공면 큐브들(l )에서의 모든 포인트 클라우드 포인트들에 대한 것이며, 이 때,
Figure 112015087065714-pct00012
는 공면 큐브(l )에서의 k번째 포인트 클라우드 포인트이다.
상기 평면 큐브 세트 내의 모든 공면 큐브들 내의 포인트 클라우드 포인트들의 평균(
Figure 112015087065714-pct00013
) 및 공분산 행렬(V )은
Figure 112015087065714-pct00014
Figure 112015087065714-pct00015
에 의해 계산될 수 있다.
이와 유사하게, 상기 공면 큐브(l ) 내의 포인트 클라우드 포인트들의 평균(
Figure 112015087065714-pct00016
) 및 공분산 행렬(V )은
Figure 112015087065714-pct00017
Figure 112015087065714-pct00018
에 의해 계산될 수 있다.
상기 공면 큐브(l ) 내의 모든 포인트 클라우드 포인트들을 통한 상기 수학적 평면의 방정식은
Figure 112015087065714-pct00019
이다. 이 때,
Figure 112015087065714-pct00020
은 상기 평면에 수직인 단위길이의 벡터이며, 이는
Figure 112015087065714-pct00021
의 유일한 가장 작은 고유값에 대응하는, 상기 공분산 행렬(
Figure 112015087065714-pct00022
)의 고유벡터와 동일하다.
이와 유사하게, 상기 평면 큐브 세트의 모든 큐브들 내의 모든 포인트 클라우드 포인트들을 통한 상기 수학적 평면의 방정식은
Figure 112015087065714-pct00023
이다. 이 때, u 는 상기 공통 평면에 수직한 단위길이의 벡터이며, V 의 유일한 가장 작은 고유값에 대응하는, 누적된 공분산 행렬(V )의 고유벡터와 동일하다.
B14 및 B21 단계에서, 본 방법은 현재 누적된 공통 평면을, 상기 현재 공면 큐브(l )를 통해 맞춰진 평면과 비교하여, 상기 두 개의 평면들이 동일 평면상에 있는지 여부를 판단한다. 상기 두 단계들에서, 서로 다른 기준이 사용된다.
기준 A는 B14 단계에서 사용되며, 두 평면들 사이의 각이
Figure 112015087065714-pct00024
라디안보다 작음을 보장하는
Figure 112015087065714-pct00025
과, 평균(
Figure 112015087065714-pct00026
)의 상기 누적된 공통 평면까지 거리가 단위거리(
Figure 112015087065714-pct00027
)보다 작음을 보장하는
Figure 112015087065714-pct00028
을 요한다.
이러한 조건들 중 2번째 조건의 기하학은,
Figure 112015087065714-pct00029
Figure 112015087065714-pct00030
을 포함하는 평면들 모두를 통과한 단면인 도 13에 도시된다. 라인
Figure 112015087065714-pct00031
는 상기 누적된 공통 평면의 단면(cross-section)을 나타내며, 라인
Figure 112015087065714-pct00032
은 특정 현재 큐브의 평면의 단면을 나타낸다. 포인트 X는 상기 누적된 공통 평면의 평균(
Figure 112015087065714-pct00033
)이며,
Figure 112015087065714-pct00034
는 상기 현재 평면의 평균(
Figure 112015087065714-pct00035
)이여서,
Figure 112015087065714-pct00036
이 된다.
Figure 112015087065714-pct00037
는 단면 AB상에서
Figure 112015087065714-pct00038
과 가장 가까운 포인트여서,
Figure 112015087065714-pct00039
로부터
Figure 112015087065714-pct00040
의 거리는
Figure 112015087065714-pct00041
이다.
Figure 112015087065714-pct00042
라면,
Figure 112015087065714-pct00043
이다.
Figure 112015087065714-pct00044
Figure 112015087065714-pct00045
에 수직이기 때문에, 결과적으로,
Figure 112015087065714-pct00046
과 법선(u) 사이 각 또한
Figure 112015087065714-pct00047
이며, 따라서
Figure 112015087065714-pct00048
는 상기 누적된 공통 평면으로부터
Figure 112015087065714-pct00049
의 거리가 된다. 도 13에서, 파선
Figure 112015087065714-pct00050
은 또 다른 현재 큐브의 평면의 단면을 나타낸다.
Figure 112015087065714-pct00051
는 이 다른 현재 큐브의 경우에서
Figure 112015087065714-pct00052
의 위치이다.
Figure 112015087065714-pct00053
Figure 112015087065714-pct00054
로부터
Figure 112015087065714-pct00055
위로의 수선의 발이여서, 상기 누적된 공통 평면으로부터
Figure 112015087065714-pct00056
의 거리는
Figure 112015087065714-pct00057
이다. 점선 MN
Figure 112015087065714-pct00058
와 평행하며,
Figure 112015087065714-pct00059
로부터 d1 만큼 떨어져있다. 그 결과
Figure 112015087065714-pct00060
Figure 112015087065714-pct00061
에 충분히 근접한 것으로 간주되나
Figure 112015087065714-pct00062
는 그렇지 않게 된다.
기준 B는 B21 단계에서 사용되며, 다음을 요구한다.
Figure 112015087065714-pct00063
이는, 상기 공통 평면으로부터 공면 큐브(l )내 각각의 포인트(
Figure 112015087065714-pct00064
) 의 평균 제곱거리가 단위거리(d2)보다 작음을 보장한다.
상기 평면 증가(growing) 프로세스의 실제 단계들은 다음과 같다.
B1. M2 단계에서 식별된 모든 공면 큐브들을 포함하는 큐브들의 미사용 리스트를 생성한다. 이 리스트에 있는 큐브는 미사용 큐브라고 한다.
B2. 미사용 리스트가 비어 있다면, 프로세스를 멈춘다.
B3. 평면 큐브 세트라 불리는 큐브들의 빈 리스트(empty list)를 생성한다. 상기 평면 큐브 세트는 상기 평면 큐브 세트의 큐브들의 공통 평면을 따르는 모든 공면 큐브들을 포함하도록 확대될 것이다. 결국, 상기 평면 큐브 세트가 오직 하나의 큐브를 포함한다 하더라도, 현재 상기 큐브들의 미사용 리스트에 있는 모든 큐브는 평면 큐브 세트로 이동될 것이다.
B4. 상기 미사용 큐브들의 리스트의 제1 큐브를 현재 큐브로 설정한다.
B5. 후보 리스트라 불리는 큐브들의 빈 리스트를 생성한다. 이 리스트는 상기 평면 큐브 세트 내의 포함을 위한 후보들로서 고려되는 미사용 공면 큐브들을 포함할 것이다.
B6. 스페셜 리스트라 불리는 큐브들의 빈 리스트를 생성한다. 이 리스트는 최근에, 상기 평면 큐브 세트 내의 포함을 위한 후보들이 되지 못한 미사용 공면 큐브들을 포함할 것이다.
B7. 상기 현재 큐브를 상기 미사용 리스트로부터 상기 평면 큐브 세트로 이동시킨다. 따라서 모든 평면 큐브 세트는 적어도 하나의 큐브를 포함한다.
B8. 상기 평면 큐브 세트 내의 포인트들의 합을 상기 현재 큐브 내의 포인트들의 합과 동일하게 설정한다.
B9. 상기 평면 큐브 세트 포인트들의 외적들의 합을, 상기 현재 큐브 내의 포인트들의 외적들의 합과 동일하게 설정한다.
B10. 상기 미사용 리스트에 있는 현재 큐브의 모든 이웃 큐브들을 상기 후보 리스트에 추가한다. 여기서, 큐브가 상기 현재 큐브와 면 또는 꼭짓점을 공유한다면, 이 큐브는 상기 현재 큐브와 이웃하는 것이다.
B11. 상기 후보 리스트가 빈다면, B18 단계로 이동한다.
B12. 상기 후보 리스트의 제1 큐브를 현재 큐브로 설정한다.
B13. 상기 후보 리스트로부터 상기 현재 큐브를 제거한다.
B14. 상기 현재 큐브가 기준 A를 만족하지 않는다면, 상기 스페셜 리스트에 상기 현재 큐브를 추가하고, B11 단계로 이동한다.
B15. 상기 현재 큐브를 상기 미사용 리스트로부터 상기 평면 큐브 세트로 이동시킨다.
B16. 상기 현재 큐브(l )의 포인트들의 합(sl )을 상기 평면 큐브 세트의 포인트들의 누적 합(s )에 더한다.
B17. 상기 현재 큐브(l)의 포인트들의 외적들의 합(Wl )을 상기 평면 큐브 세트의 포인트들의 외적들의 합(W)에 더하고, B10 단계로 이동한다.
B18. 상기 스페셜 리스트가 빈다면, 상기 평면 큐브 세트 데이터를 출력하고 B2 단계로 이동한다.
B19. 상기 스페셜 리스트의 제1 큐브를 현재 큐브로 설정한다.
B20. 상기 스페셜 리스트로부터 상기 현재 큐브를 제거한다.
B21. 상기 현재 큐브가 기준 B를 만족하지 않는다면, B18 단계로 이동한다.
B22. 상기 현재 큐브를 상기 미사용 리스트로부터 상기 평면 큐브 세트로 이동시킨다.
B23. 상기 현재 큐브(l )의 포인트들의 합(sl )을 상기 평면 큐브 세트의 포인트들의 누적 합(s)에 더한다.
B24. 상기 현재 큐브(l )의 포인트들의 외적의 합(Wl )을 상기 평면 큐브 세트의 포인트들의 외적들의 누적 합(W)에 더하고, B18 단계로 이동한다.
도 5는, M4 단계를 Y1 내지 Y8 단계들로 더 자세히 도시하는 M4 단계의 흐름도이다. Y1 내지 Y8 단계들은 평면 큐브 세트의 각각의 큐브에 적용되어서, 반드시 상기 평면 큐브 세트의 모든 큐브가 그것의 공통 평면에 의해 교차되게 한다. M4 단계의 효과는 상기 평면 큐브 세트를 납작하게 하는 것이다. M4 단계는 M3 단계에서 상기 평면 큐브 세트에 새로운 큐브가 부가될 때마다 공통 평면이 변하기 때문에 필요하다. 평면 큐브 세트의 증가 프로세스에서 초기에 부가된 큐브들이 상기 공통 평면이 변한 후에, 그것에 의해 계속 교차될 것이라는 보장은 없다. M4 단계는 이를 보완한다. Y1 내지 Y8 단계들은 상기 평면 큐브 세트의 모든 큐브에 별도로 적용되며, 따라서, 필요하다면 병렬로 적용될 수 있다.
상기 평면 큐브 세트 평탄화 프로세스의 단계들은 다음과 같다.
Y1. 상기 큐브가 상기 공통 평면에 의해 교차된다면, 프로세스를 멈춘다.
Y2. 상기 평면 큐브 세트로부터 상기 큐브를 제거한다.
Y3. 상기 큐브 내의 제1 포인트 클라우드 포인트를 현재 포인트로 설정한다.
Y4.
Figure 112015087065714-pct00065
의 수식을 이용하여, 상기 현재 포인트(
Figure 112015087065714-pct00066
)를 상기 공통 평면(
Figure 112015087065714-pct00067
)상의 가장 가까운 포인트(
Figure 112015087065714-pct00068
)로 투사한다.
Y5. 상기 투사된 포인트를 포함하는 큐브를 찾는다. 이 큐브를 투사된 큐브라고 한다. 이 계산의 정확한 세부사항은 큐브들이 공간에서 배치되는 방법에 따라 달라진다. 일례에서, 상기 큐브들은 행들, 열들 및 층들로 배열된다. 그런 다음,
Figure 112015087065714-pct00069
라면, 상기 투사된 포인트(
Figure 112015087065714-pct00070
)는 I행, J 열, K층의 큐브에 의해 포함된다. 이 때, h 는 해상도이며, X0, Y0, Z0 는 모든 k에 대해
Figure 112015087065714-pct00071
,
Figure 112015087065714-pct00072
Figure 112015087065714-pct00073
이 되도록 선택된다.
Y6. 상기 투사된 큐브가 이미 상기 평면 큐브 세트에 속하지 않는다면, 상기 투사된 큐브를 상기 평면 큐브 세트에 추가한다. 여기서, 상기 투사된 큐브는 상기 투사된 포인트(
Figure 112015087065714-pct00074
)를 포함하는 큐브를 의미한다.
Y7. 상기 현재 포인트가 상기 큐브 내의 마지막 포인트 클라우드 포인트라면, 프로세스를 멈춘다.
Y8. 상기 큐브내의 다음 포인트 클라우드 포인트를 상기 현재 포인트로 설정하고, Y4 단계로 이동한다.
도 6은 M5 단계를 X1 내지 X10 단계들로 더 자세히 도시하는 M5 단계의 흐름도이다. X1 내지 X10 단계들은, 상기 평면 큐브 세트에 속하지 않지만 그것의 공통 평면에 의해 교차된 이웃들을 가진 상기 평면 큐브 세트의 멤버들을 식별하기 위해 적용된다. 상기 식별된 큐브들은 상기 평면 경계 큐브 세트에 저장된다. M5 단계가 적용된 시기에, 각각의 평면 큐브 세트는 평평하게 되어서, 그것의 큐브들 모두가 그것의 공통 평면에 의해 교차된다.
X1. 빈 평면 경계 큐브 세트를 형성한다.
X2. 상기 평면 큐브 세트가 비었다면, 멈춘다.
X3. 상기 평면 큐브 세트의 제1 큐브를 현재 큐브로 설정한다.
X4. 현재 큐브의 18개의 직교하는 이웃 큐브들을 포함하는 리스트를 생성한다. 여기서, 직교하는 이웃 큐브는 상기 현재 큐브와 면 또는 모서리를 공유하는 큐브를 의미한다. 상기 현재 큐브와 오직 하나의 꼭짓점만을 공유하는 큐브들은 직교하는 이웃들이 아니라는 점을 유의한다.
X5. 직교하는 이웃 큐브들의 리스트의 제1 큐브를 테스트 큐브로 설정한다.
X6. 상기 테스트 큐브가 상기 평면 큐브 세트의 멤버라면, X8 단계로 이동한다.
X7. 상기 공통 평면이 상기 테스트 큐브와 교차한다면, 상기 현재 큐브를 상기 평면 경계 큐브 세트에 부가하며, X9 단계로 이동한다.
X8. 상기 테스트 큐브가 직교하는 이웃 큐브들의 리스트의 마지막 큐브가 아니라면, 상기 리스트의 다음 멤버를 상기 테스트 큐브로 설정하며, X6 단계로 이동한다.
X9. 상기 현재 큐브가 상기 평면 큐브 세트의 마지막 큐브라면, 멈춘다.
X10. 상기 평면 큐브 세트의 다음 큐브를 상기 현재 큐브로 설정하고, X4 단계로 이동한다.
도 7은 M6 단계를 Z1 내지 Z21 단계들로 더 자세히 도시하는 M6 단계의 흐름도이다. Z1 내지 Z21 단계들은 각각의 평면 큐브 세트의 경계 다각형들을 추적하기 위해 사용된다. M6 단계가 적용되는 시기에, 각각의 평면 큐브 세트는 납작해져서, 상기 평면 큐브 세트의 모든 큐브들이 그것의 공통 평면에 의해 교차된다. (상기 큐브 평면 세트에 속하지 않는 큐브들을 포함하는) 상기 공통 평면과 교차하는 임의의 큐브와, 상기 공통 평면과의 교차는 큐브의 교차 다각형이라 불리는 볼록 다각형이다. 상기 공통 평면에 의해 교차되는 임의의 두 개의 큐브들은, 그것들의 교차 다각형들이 적어도 하나의 공통 모서리를 공유한다면, 공면 이웃들이라고 불린다. 교차 다각형들이 오직 하나의 꼭짓점만을 공유하는 큐브들은 공면 이웃들이 아니라는 점을 유의한다. 예를 들어 도 14에서, 다각형 D0C0P0 및 다각형 C0B0Q0은 둘 다 다각형 A0B0C0D0E0 의 공면 이웃들이지만, 다각형 C0Q0P0은 공면 이웃이 아니다.
다각형 팬(polygonal fan)은 중앙 꼭짓점 주위에 연속적으로 배치된 두개 이상의 볼록 다각형들의 리스트여서, 가능하면 마지막 다각형을 제외한, 각각의 다각형은, 상기 리스트의 다음 다각형과 공통 모서리를 공유한다. 예를 들어 도 14에서, 다각형들 C0D0E0A0B0, C0B0Q0, C0Q0P0 및 C0P0D0은 중앙 꼭짓점(C0)에 대한 4-멤버 다각형 팬을 포함한다. 공통 모서리들은 C0B0, C0Q0 및 C0D0이다. 이와 유사하게 도 15에서, 다각형 GHO, GOB 및 GBF 는 중앙 꼭짓점(G)에 대해 3-멤버 다각형 팬을 포함한다. 그 공통 모서리들은 GO 및 GB 이다.
간결성을 위해, 다음으로, 상기 평면 큐브 세트에 속하는 큐브의 교차 다각형은 내부 다각형이라고 한다; 그렇지 않다면 외부 다각형이라고 불린다. 상기 평면 경계 큐브 세트의 모든 큐브의 교차 다각형은 내부 다각형이며, 그리고 적어도 하나의 외부 다각형의 공면 이웃이다. 내부 및 외부 다각형들 간에 공유되는 모서리들은 외부 모서리들이라고 불린다. 그것들은, 상기 평면 큐브 세트의 경계 다각형들이라 불리는, 하나 이상의 폐다각형들(볼록할 필요는 없다)을 형성한다. 경계 다각형의 연이은 모서리들은 멤버들이 모두 내부 다각형들인 다각형 팬의 연이은 모서리들이다. 그것은 M6 단계에서 추적된 경계 다각형들이다.
평면 큐브 세트는, 그것이 상기 평면 큐브 세트 내에 하나 이상의 홀들을 가진다면, 그리고/또는 상기 평면 큐브 세트의 큐브들이 하나 이상의 부분들을 형성하고 상기 부분들 각각은 동일한 큐브 세트의 다른 부분들로부터 분리되거나 또는 오직 공통 꼭짓점들에 의해서만 다른 것들에 연결된다면, 하나 이상의 경계 다각형을 가질 것이다. 예시는 도 15에 도시되어 있으며, 그리기 쉽도록 모든 다각형들은 삼각형들이다. 음영 처리된 다각형들은 모두 내부 다각형들이다. 음영 처리되지 않은 다각형들은 적어도 하나의 내부 다각형의 공면 이웃들인 외부 다각형들이다. OIK, OKC 및 OBG을 제외하고, 모든 음영 처리된 다각형들은 또한 상기 평면 경계 큐브 세트의 멤버들이다. 도 15에서, 3개의 경계 다각형들이 있다 : ABC, DEFGHIJKLMN 및 PQF. 교차 다각형들인 EFB 및 PQF은 멤버들 모두가 내부 다각형들인 다각형 팬의 멤버들이 아니기 때문에, 모서리 EF 및 모서리 FP는 동일한 경계 다각형의 연이은 모서리들이 아니다. 이와 대조적으로, 모서리 HG 및 모서리 GF는 다각형들 GHO, GOB 및 GBF에 의해 형성된 3-멤버 다각형 팬의 연이은 모서리들이다. 이와 유사하게, AB 및 BC는 다각형들 BAE, BEF, BFG, BGO 및 BOC에 의해 형성된 5-멤버 다각형 팬의 연이은 모서리들이다.
상기 경계 다각형들의 모서리들은 다음과 같이 추적된다. 또한 도 7을 참조한다.
Z1. 경계 다각형들의 빈 리스트를 생성한다.
Z2. 상기 평면 큐브 경계 세트가 비어 있다면, 멈춘다.
Z3. 현재 큐브로서 상기 평면 큐브 세트의 제1 큐브를 선택한다.
Z4. 상기 현재 큐브의 교차 다각형내의 모든 외부 모서리들을 미사용된 것으로 표시한다.
Z5. 상기 현재 큐브가 평면 경계 큐브 세트의 마지막 것이 아니라면, 상기 세트 내의 다음 큐브를 현재 큐브로서 선택하고, Z4 단계로 이동한다. Z4 및 Z5 단계들은 상기 평면 경계 세트 내의 모든 큐브들에 걸쳐 반복하며, 반드시 그들의 교차 다각형들의 모든 외부 모서리들이 미사용된 것으로 표시되도록 한다.
Z6. 새로운 빈 경계 다각형을 생성한다. 상기 경계 다각형은 외부 모서리들의 리스트이며, 상기 외부 모서리들은 그것들이 상기 공통 평면 중 하나의 경계 주위에서 추적된 순서대로 증가될 것이다.
Z7. 현재 큐브로서 상기 평면 경계 큐브 세트의 제1 큐브를 선택한다.
Z8. 현재 모서리로서 상기 현재 큐브의 교차 다각형 내의 임의의 미사용된 외부 모서리를 선택한다.
Z9. 상기 현재 모서리의 두 개의 노드들을 A 및 B로 라벨을 붙인다. 상기 모서리는 노드 A에서 시작하고 노드 B에서 끝나는 것으로 처리될 것이다. 여기서, 상기 모서리의 방향 선택은 임의적이다.
Z10. 상기 경계 다각형에 상기 현재 모서리를 더한다. 또한, U2 및 U7 단계들에서 사용하기 위해 상기 현재 모서리를 포함하는 큐브를 저장한다.
Z11. 상기 현재 모서리를 사용된 것으로 표시한다.
Z12. 상기 현재 큐브의 교차 다각형에서 다음 다각형을 찾는다. 이는, (AB를 제외하고) 그것의 노드들 중 하나로서 B를 가진, 현재 다각형의 고유의 모서리이다. 상기 다음 다각형 모서리의 다른 노드를 C로 라벨을 붙인다. 도 16에 도시된 바와 같이, 상기 다음 모서리의 위치는 현재 모서리의 어떤 노드가 B 노드인가에 따라 달라진다.
Z13. 상기 다음 모서리가 외부 모서리라면, Z18 단계로 이동한다.
Z14. 상기 현재 큐브의 다각형의 교차가, 남아있는 미사용된 외부 모서리들을 전혀 가지고 있지 않다면, 상기 평면 경계 큐브 세트로부터 상기 현재 큐브를 제거한다.
Z15. 교차 다각형이 상기 다음 모서리(BC)를 포함하는 상기 고유의 공면 이웃 큐브를 상기 현재 큐브로 설정한다.
Z16. 노드들 중 하나로서 노드 B를 가지는 상기 현재 큐브의 다른 모서리를 다음 모서리로 설정한다. 그 다른 노드를 C로 라벨을 붙인다.
Z17. 상기 다음 모서리가 외부 모서리가 아니라면, Z15 단계로 이동하고, 그렇지 않으면 Z18 단계로 이동한다. Z15 내지 Z17 단계들은, 그들이 상기 팬의 중앙 꼭짓점에 연결된 외부 모서리를 가진 상기 팬의 멤버를 찾을 때까지, 다각형 팬 전체에 걸쳐 반복한다. 예를 들어, Z15 단계의 초기에, 도 15의 모서리 HG가 현재 모서리이며, GO가 다음 모서리라고 가정한다. Z13 단계는 이미 GO가 외부 모서리가 아님을 확인했음을 유의한다. Z15 단계는 GOB를 현재 교차 다각형으로 설정한다. Z16 단계는 GB를 다음 모서리로 설정한다. GB 또한 외부 모서리가 아니기 때문에, Z17 단계는 Z15 단계로 되돌아가는 액션을 취한다. 이제 Z15 단계는 GBF를 현재 교차 다각형으로 설정하고, Z16 단계는 GF를 다음 모서리로 설정한다. 이제 마침내, 상기 다음 모서리 GF는 외부 모서리이기 때문에, Z17 단계는 이 루프를 나가는 액션을 취한다. 한편, Z15 단계의 초기에, 상기 현재 및 다음 모서리들이 GF 및 FB 라면, 그 결과 Z15 단계는 FBE 를 현재 교차 다각형으로 설정하고, Z16 단계는 FE를 다음 모서리로 설정한다. FE는 외부 모서리이기 때문에, Z17 단계는 즉시 상기 루프를 종료한다. 마지막 예로서, Z15 단계의 초기에, 현재 및 다음 모서리들이 AB 및 BE라고 가정한다. 그렇다면, Z15 단계는 BEF를 현재 교차 다각형으로 설정하고, Z16 단계는 BF를 다음 모서리로 설정한다. BF는 외부 모서리가 아니기 때문에, Z17 단계는 Z15 단계로 되돌아온다. 둘 다 외부 모서리들이 아닌 BG 및 BO 모서리들을 다시 고려하면, Z15 내지 Z17 단계들이 반복되며, 그 결과 외부 모서리 BC로 상기 루프가 종료된다.
Z18. 상기 다음 모서리가 상기 경계 다각형 내의 제1 모서리와 동일하지 않다면, 상기 다음 모서리를 현재 모서리로 설정하고 Z10 단계로 이동한다.
Z19. 상기 현재 큐브의 다각형의 교차가, 남아있는 미사용된 외부 모서리들을 전혀 가지지 않는다면, 상기 평면 경계 큐브 세트로부터 상기 현재 큐브를 제거한다.
Z20. 상기 경계 다각형을 상기 경계 다각형들의 리스트에 부가한다.
Z21. 상기 평면 경계 큐브 세트가 비어 있지 않다면, Z6 단계로 이동하고, 그렇지 않다면 중단한다.
도8은 M7 단계를 U1 내지 U11 단계들로 더 자세히 도시하는 M7 단계의 흐름도이다. U1 내지 U11 단계들은 상기 클라우드 경계 포인트들의 위치들을 계산하기 위해 적용된다. U1 내지 U11 단계들은 M6 단계에서 계산된 별도의 경계 다각형 각각에 적용된다. U4 및 U8 단계들에서 요구되는 A 및 B 노드들은 M6 단계에서 저장될 수 있거나, 그렇지 않다면 상기 경계 다각형내의 선행 모서리 및 다음 모서리의 꼭짓점들과 비교함으로써 추론될 수 있다.
U1. 상기 경계 다각형의 제1 모서리를 현재 모서리로 설정한다.
U2. 상기 현재 모서리가 위치해있는 큐브를 현재 큐브로 설정한다. 임의의 모서리가 위치된 큐브의 정체성(identity)은, 상기 경계 다각형이 추적되었을 때, Z10 단계에서 저장되었다. 상기 큐브는 상기 평면 큐브 세트의 멤버이다.
U3. 상기 현재 모서리를 선두(leading) 모서리로 설정한다.
U4. 상기 현재 모서리의 A 노드를 P로 설정한다.
U5. 상기 현재 모서리가 상기 경계 다각형의 마지막 모서리라면, U8 단계로 이동한다.
U6. 상기 경계 다각형으로부터 다음 모서리를 얻는다.
U7. 상기 다음 모서리가 상기 현재 큐브 내에 위치한다면, 상기 다음 모서리를 현재 모서리로 설정하고, U6 단계로 이동한다. 임의의 모서리가 위치된 큐브의 정체성은, 상기 경계 다각형이 추적되었을 때, Z10 단계에서 저장되었다. U6 및 U7 단계들은 상기 현재 모서리가 상기 현재 큐브의 마지막 모서리일 때까지 반복된다.
U8. 상기 현재 모서리의 B 노드를 Q로 설정한다.
U9. 라인 PQ까지의 최대 방향 거리(directed distance)를 가진 상기 투사된 포인트 클라우드 포인트를 클라우드 경계 포인트로 설정한다. 포인트 클라우드 포인트들은 Y4 단계의 수식을 이용하여 상기 평면상에 투사된다. 상기 투사된 포인트(
Figure 112015087065714-pct00075
)의 방향 거리(dk)는
Figure 112015087065714-pct00076
에 의해 산출될 수 있다. 이 때, q는 상기 라인 PQ 내의 임의의 포인트(가장 편리하게는 P 또는 Q)이며, v 는 PQ에 수직하고, 상기 공통 평면에 놓여있으며, 그리고 단위 길이를 가진다. -v 또한 이러한 조건들을 만족함을 유의한다. v 및 -v의 올바른 선택은, dk 가 상기 경계 다각형의 꼭짓점 이기도한 상기 현재 교차 다각형의 임의의 꼭짓점에 대해 비-음(non-negative)임을 검사함으로써, 그리고 dk가 다른 꼭짓점에 대해 비-양(non-positive)임을 검사함으로써 이루어진다. dk가 0이 아니어서 dk의 부호가 구별될 수 있는 상기 교차 다각형의 적어도 하나의 꼭짓점이 항상 존재한다. U9 단계의 기하학은 도 17 내지 도 19에 도시된다. 3 개의 도면 모두에서, 상기 교차 다각형은 PCQBA이며, 상기 경계 다각형의 모서리들은 QB, BA 및 AP이다. 오직 꼭짓점 C만이 상기 경계 다각형상에 놓여있지 않다. 법선 벡터 v는 dk 가 증가해야하는 방향으로 도시된다. 상기 포인트 클라우드는 음영 처리된 영역으로 표현된다. 상기 방향 거리를 극대화하는 상기 투사된 포인트 클라우드 포인트는 X로 표시되어 있으며, KL은 PQ와 평행하고 X를 통과하는 라인이다.
U10. 상기 교차 다각형 내에, PQ 와 평행하고 상기 클라우드 경계 포인트를 통과하는 직선에 근접한, 다른 투사된 포인트 클라우트 포인트들이 있다면, U9 단계에서 산출된 상기 클라우드 경계 포인트의 위치를 통과하는 평행 라인에 충분히 가까이 있는 모든 상기 투사된 포인트 클라우트 포인트들의 평균을 상기 클라우드 경계 포인트로 설정한다. 여기에서 “충분히 가까운”은, 상기 평행 라인까지의 거리가 명시된 허용공차 이하인 모든 투사된 포인트 클라우드 포인트들을 의미한다. 상기 허용공차는 작은 부분이어야 하며, 예를 들어, 해상도의 1/4 또는 1/10이다. U10 단계의 기하학은 KL 이 상기 투사된 포인트 클라우드의 모서리인 도 19에 도시된다. 상기 포인트 클라우드 포인트들이 균일하게 분포되어 있다고 가정하면, KL에 충분히 가깝고 PCQBA 내에 있는 포인트들의 평균은 대략 X에 있을 것이다.
U11. 상기 현재 모서리가 상기 경계 다각형의 마지막 모서리가 아니라면, 상기 경계 다각형의 다음 모서리를 현재 모서리로 설정하고, U2 단계로 이동하며, 그렇지 않으면 중단한다.
도 9는 M8 단계를 V1 내지 V14 단계들로 더 자세히 도시하는 M8 단계의 흐름도이다. V1 내지 V14 단계들은 공통 평면들의 쌍들 간의 교차선으로 클라우드 경계 포인트들을 이동시키기 위해 적용된다.
V1. 모든 평면 큐브 세트들의 공통 평면들의 리스트를 생성한다. 이 리스트는 상기 공통 평면들의 법선 벡터들과 평균들을 포함한다.
V2. 상기 공통 평면들의 리스트가 비어있다면, 이 프로세스를 중단한다.
V3. 상기 공통 평면들의 리스트의 제1 공통 평면을 현재 평면으로 설정한다.
V4. 상기 현재 평면의 제1 클라우드 경계 포인트를 현재 클라우드 경계 포인트로 설정한다. 상기 클라우드 경계 포인트들은 M8 단계의 목적들을 위해 임의의 순서대로 나열될 수 있다. 특히, 서로 다른 경계 다각형들과 관련된 클라우드 경계 포인트들 간에 구별이 필요하지 한다.
V5. 최소 거리를 무한대로 설정한다. 여기서, 무한대는, 상기 클라우드 경계 포인트의 임의의 공통 평면까지의 거리보다 더 크도록 보장되는 임의의 양수를 의미한다. 무한대의 적절한 값은 10의 30제곱(
Figure 112015087065714-pct00077
)이다.
V6. 상기 공통 평면들의 리스트의 제1 공통 평면을 이웃 평면으로 설정한다.
V7. 상기 이웃 평면이 상기 현재 평면과 동일하다면, V11 단계로 이동한다.
V8. 상기 현재 및 이웃 평면들의 법선 벡터들 간의 각도가 충분히 작다면(예를 들어, 1 도보다 작다고 하자), V11 단계로 이동한다. 이 테스트의 목적은, 대략적으로 평행한 평면들의 교차의 계산 시도를 방지하기 위한 것이다.
V9. 상기 현재 클라우드 경계 포인트를 상기 이웃 평면상에 투사시킨다. 또는, 더 정확하게는, 상기 현재 및 이웃 평면들의 교차에 의해 형성된 직선상에 투사시킨다. 상기 현재 클라우드 경계 포인트(
Figure 112015087065714-pct00078
)는 두 개의 공통 평면들의 교차에 의해 형성된 직선상에 놓여있는 다음의 포인트 상에 투사된다.
Figure 112015087065714-pct00079
상기 두 개의 공통 평면들은 다음과 같다.
Figure 112015087065714-pct00080
이 때,
Figure 112015087065714-pct00081
, , 그리고
Figure 112015087065714-pct00082
이다. 기하학적으로,
Figure 112015087065714-pct00083
Figure 112015087065714-pct00084
에 가장 가까운, 상기 직선상의 포인트이다. 두 법선 벡터들
Figure 112015087065714-pct00085
Figure 112015087065714-pct00086
모두 단위 길이 벡터임을 유의한다.
V10. 상기 현재 클라우드 경계 포인트 및 그것의 투사간의 거리(D)가 상기 최소 거리보다 작다면, D를 상기 최소 거리로 설정하고, 현재 투사된 포인트를 최고의 투사된 포인트로 설정한다.
V11. 상기 이웃 평면이 상기 공통 평면들의 리스트의 마지막 평면이 아니라면, 상기 공통 평면들의 리스트의 다음 평면을 이웃 평면으로 설정하고, V7 단계로 이동한다.
V12. 상기 최소 거리가 충분히 작다면, 상기 현재 클라우드 경계 포인트의 위치를 상기 최고의 투사된 포인트의 위치로 이동시키고, V13 단계로 이동한다. 여기서, “충분히 작은”은 해상도의 작은 부분을 의미한다 - 예를 들어, 해상도의 1/4 또는 1/10이다. 기하학을 도시하는 도 20에서, ABCD는 특정 평면 큐브 세트의 공통 평면이며, DCFE 및 ADEG는 DC 및 AD를 따라 ABCD 와 교차하는 두개의 인근의 평면 큐브 세트들의 공통 평면들이다. 파선 MN 및 파선 KL은 DC 및 AD에 평행하며, 포인트들이 상기 교차선들에 충분히 가까운 것으로 간주되는 거리를 나타낸다. P1 , P2, P3 및 P4은 클라우드 경계 포인트들의 위치들의 예들이다. P2 및 P4의 DC까지의 거리는 충분히 작아서, P2 및 P4은 그것들의 투사들인 Q2 및 Q4 로 이동된다. 상기 클라우드 경계 포인트 P1 는 DC 및 AD 모두에 충분히 가깝다. 그러나 P1은 AD에 더 가깝기 때문에, Q1 로 이동된다. 이와 대조적으로, P3 는 어느 교차선에도 충분히 가깝지 않기 때문에, 이동되지 않는다.
V13. 상기 현재 클라우드 경계 포인트가 상기 현재 평면에 대한 클라우드 경계 포인트들의 리스트 내의 마지막 클라우드 경계 포인트가 아니라면, 상기 리스트의 다음 클라우드 경계 포인트를 상기 현재 클라우드 경계 포인트로 설정하고, V5 단계로 이동한다.
V14. 상기 현재 평면이 상기 공통 평면들의 리스트의 마지막 평면이 아니라면, 상기 공통 평면들의 리스트의 다음 평면을 현재 평면으로 설정하고, V3 단계로 이동한다. 그렇지 않으면 중단한다.
도 10은 공통 직선(공통 라인이라고 함)에 의해 교차되는 인접한 공선 큐브들의 세트들을 확대하는 W1 내지 W24 단계들을 도시하는 흐름도이다. 이러한 방식으로 확대된 공선 큐브들의 세트 각각은 라인 큐브 세트라고 불린다. 상기 계산은 상기 라인 큐브 세트 내의 포인트들의 수를 누적한다(
Figure 112015087065714-pct00087
, 이 때, nl은 상기 공선 큐브(l)내의 포인트들의 수이다). 또한 상기 계산은 상기 포인트 클라우드 포인트들의 합을 누적하며(
Figure 112015087065714-pct00088
, 이 때,
Figure 112015087065714-pct00089
), 그 외적들의 합도 누적한다(
Figure 112015087065714-pct00090
, 이 때,
Figure 112015087065714-pct00091
). 두 경우 모두에서, 합산은 상기 라인 큐브 세트 내의 모든 공선 큐브들(l)의 모든 포인트 클라우드 포인트들에 대해 이루어지며, 이 때,
Figure 112015087065714-pct00092
는 공선 큐브(l)에서의 k번째 포인트 클라우드 포인트이다.
상기 라인 큐브 세트 내의 모든 공선 큐브들 내의 포인트 클라우드 포인트들의 평균(
Figure 112015087065714-pct00093
) 및 공분산 행렬(V )은
Figure 112015087065714-pct00094
Figure 112015087065714-pct00095
에 의해 계산될 수 있다.
이와 유사하게, 상기 공선 큐브(l) 내의 포인트 클라우드 포인트들의 평균(
Figure 112015087065714-pct00096
) 및 공분산 행렬(
Figure 112015087065714-pct00097
)은
Figure 112015087065714-pct00098
Figure 112015087065714-pct00099
에 의해 계산될 수 있다.
상기 공선 큐브(l) 내의 모든 포인트 클라우드 포인트들을 통한 상기 수학적 라인상의 임의의 포인트(x)는
Figure 112015087065714-pct00100
라고 쓰여질 수 있다. 이 때,
Figure 112015087065714-pct00101
는 스칼라 파라미터이며, 그리고
Figure 112015087065714-pct00102
Figure 112015087065714-pct00103
의 유일한(unique) 가장 큰 고유값에 대응하는 상기 공분산 행렬(
Figure 112015087065714-pct00104
)의 고유벡터이다. 또한
Figure 112015087065714-pct00105
는 Jacobi 방법이
Figure 112015087065714-pct00106
의 고유벡터들을 계산하기 위해 사용될 때 그것에 의한 부산물로 산출된다.
이와 유사하게, 상기 평면 큐브 세트의 모든 큐브들 내의 모든 포인트 클라우드 포인트들을 통한 상기 수학적 평면상의 임의의 포인트는
Figure 112015087065714-pct00107
라고 쓰여질 수 있다. 이 때, u는 상기 공통 라인에 수직한 단위 길이 벡터이며, V의 유일한 가장 큰 고유값에 대응하는, 상기 누적된 공분산 행렬(V)의 고유벡터와 동일하다. 또한 u는 Jacobi의 방법에 의해 산출될 수 있다.
W14 및 W21 단계들에서, 본 방법은 상기 현재 누적된 큐브 라인 세트에 따른 상기 수학적 직선을, 상기 현재 공선 큐브(l)를 통해 맞춰진 라인과 비교하여, 상기 두개의 직선들이 동일 선상에 있는지 여부를 판단한다. 상기 두 개의 단계들에서, 서로 다른 기준이 사용된다.
기준 A는 W14 단계에서 사용되며, 두 평면들 사이의 각이
Figure 112015087065714-pct00108
라디안보다 작음을 보장하는
Figure 112015087065714-pct00109
과, 상기 평균(
Figure 112015087065714-pct00110
)의 거리가 단위거리(d1)보다 작음을 보장하는
Figure 112015087065714-pct00111
을 요한다. 여기에서의 기준 A는, 여기에서의 u가 상기 공통 평면의 법선 벡터가 아니라 상기 공통 라인에 따른 벡터인 것을 제외하고는, B14 단계에서 사용된 기준 A와 동일하다. 이러한 관점에서 도 13은 재-해석될 수 있다.
기준 C는 W21 단계에서 사용되며, 다음을 요구한다.
Figure 112015087065714-pct00112
이는, 반드시 상기 공통 라인으로부터 공선 큐브(l )내의 각각의 포인트(
Figure 112015087065714-pct00113
) 의 평균 제곱거리가 단위거리(d2)보다 작도록 한다.
W1. M2 단계에서 식별된 모든 공선 큐브들을 포함하는, 큐브들의 미사용 리스트를 생성한다. 이 리스트에 있는 임의의 큐브는 미사용 큐브라고 한다.
W2. 상기 미사용 리스트가 비어 있다면, 프로세스를 멈춘다.
W3. 라인 큐브 세트라 불리는 큐브들의 빈 리스트(empty list)를 생성한다. 상기 라인 큐브 세트는 공통 직선에 의해 교차되는 모든 공선 큐브들을 포함하도록 확대될 것이다. 결국, 상기 라인 큐브 세트가 오직 하나의 큐브를 포함한다 하더라도, 현재 상기 큐브들의 미사용 리스트에 있는 모든 큐브는 라인 큐브 세트로 이동될 것이다.
W4. 상기 미사용 리스트의 제1 큐브를 현재 큐브로 설정한다.
W5. 후보 리스트라 불리는 큐브들의 빈 리스트를 생성한다. 이 리스트는 상기 라인 큐브 세트 내의 포함을 위한 후보들로서 고려되는 미사용 공선 큐브들을 포함할 것이다.
W6. 스페셜 리스트라 불리는 큐브들의 빈 리스트를 생성한다. 이 리스트는 최근에, 상기 라인 큐브 세트 내의 포함을 위한 후보들이 되지 못한 미사용 공선 큐브들을 포함할 것이다.
W7. 현재 큐브를 상기 미사용 리스트로부터 상기 라인 큐브 세트로 이동시킨다. 따라서 모든 라인 큐브 세트는 적어도 하나의 큐브를 포함한다.
W8. 상기 라인 큐브 세트 내의 포인트들의 합을 상기 현재 큐브 내의 포인트들의 합과 동일하게 설정한다.
W9. 상기 라인 큐브 세트 포인트들의 외적들의 합을, 상기 현재 큐브 내의 포인트들의 외적들의 합과 동일하게 설정한다.
W10. 상기 미사용 리스트에 있는 현재 큐브의 모든 이웃 큐브들을 상기 후보 리스트에 추가한다. 여기서, 큐브가 상기 현재 큐브와 면 또는 꼭짓점을 공유한다면, 이 큐브는 상기 현재 큐브의 이웃이다.
W11. 상기 후보 리스트가 빈다면, W18 단계로 이동한다.
W12. 상기 후보 리스트의 제1 큐브를 현재 큐브로 설정한다.
W13. 상기 후보 리스트로부터 상기 현재 큐브를 제거한다.
W14. 상기 현재 큐브가 기준 A를 만족하지 않는다면, 상기 스페셜 리스트에 상기 현재 큐브를 추가하고, W11 단계로 이동한다.
W15. 상기 현재 큐브를 상기 미사용 리스트로부터 상기 라인 큐브 세트로 이동시킨다.
W16. 상기 현재 큐브(l)의 포인트들의 합(sl)을 상기 라인 큐브 세트의 포인트들의 누적 합(s)에 더한다.
W17. 상기 현재 큐브(l)의 포인트들의 외적들의 합(Wl)을 상기 라인 큐브 세트의 포인트들의 외적들의 누적 합(W)에 더하고, W10 단계로 이동한다.
W18. 상기 스페셜 리스트가 빈다면, 상기 라인 큐브 세트 데이터를 출력하고 W2 단계로 이동한다.
W19. 상기 스페셜 리스트의 제1 큐브를 현재 큐브로 설정한다.
W20. 상기 스페셜 리스트로부터 상기 현재 큐브를 제거한다.
W21. 상기 현재 큐브가 기준 C를 만족하지 않는다면, W18 단계로 이동한다.
W22. 상기 현재 큐브를 상기 미사용 리스트로부터 상기 라인 큐브 세트로 이동시킨다.
W23. 상기 현재 큐브(l)의 포인트들의 합(sl)을 상기 라인 큐브 세트의 포인트들의 누적 합(s)에 더한다.
W24. 상기 현재 큐브(l)의 포인트들의 외적들의 합(Wl )을 상기 라인 큐브 세트의 포인트들의 외적들의 누적 합(W)에 더하고, W18 단계로 이동한다.
도 11은 M11 단계를 T1 내지 T8 단계들로 더 자세히 도시하는 M11 단계의 흐름도이다. T1 내지 T8 단계들은 라인 큐브 세트의 각각의 큐브에 적용되어서, 상기 라인 큐브 세트 내의 모든 큐브가 반드시 그것의 공통 라인에 의해 교차되게 한다. M11 단계의 효과는 상기 라인 큐브 세트를 납작하게 하는 것이다. M10 단계에서 상기 라인 큐브 세트에 새로운 큐브가 부가될 때마다 공통 라인이 변하기 때문에 M11 단계가 필요하다. 라인 큐브 세트의 증가 프로세스의 초기에 부가된 큐브들은 상기 공통 라인이 변한 후에, 그것에 의해 계속 교차될 것이라는 보장이 없다. M11 단계가 이를 보완한다. T1 내지 T8 단계들은 상기 평면 큐브 세트의 모든 큐브에 별도로 적용되며, 따라서, 필요하다면, 병렬로 적용될 수 있다.
상기 라인 큐브 세트 평탄화 프로세스의 단계들은 다음과 같다.
T1. 상기 큐브가 상기 공통 라인에 의해 교차된다면, 프로세스를 멈춘다. (이 큐브 상에 추가 조치가 필요하지 않다)
T2. 상기 라인 큐브 세트로부터 상기 큐브를 제거한다.
T3. 상기 큐브 내의 제1 포인트 클라우드 포인트를 현재 포인트로 설정한다.
T4.
Figure 112015087065714-pct00114
의 수식을 이용하여, 상기 현재 포인트(
Figure 112015087065714-pct00115
)를 상기 공통 라인(
Figure 112015087065714-pct00116
)상의 가장 가까운 포인트(
Figure 112015087065714-pct00117
)로 투사한다. 여기서,
Figure 112015087065714-pct00118
는 상기 큐브 라인 세트의 포인트들의 중심(centroid)이다.
T5. 상기 투사된 포인트를 포함하는 큐브를 찾는다. 이 큐브를 투사된 큐브라고 한다. 상기 투사된 큐브가 산출될 수 있는 방법의 세부 사항을 위해 Y5 단계를 참조한다.
T6. 상기 투사된 큐브가 상기 라인 큐브 세트에 속하지 않는다면, 상기 투사된 큐브를 상기 라인 큐브 세트에 추가한다.
T7. 상기 현재 포인트가 상기 큐브 내의 마지막 포인트 클라우드 포인트라면, 프로세스를 멈춘다.
T8. 상기 큐브내의 다음 포인트 클라우드 포인트를 상기 현재 포인트로 설정하고, T4 단계로 이동한다.
도 12는 M12 단계를 S1 내지 S16 단계들로 더 자세히 도시하는 M12 단계의 흐름도이다. S1 내지 S16 단계들은 라인 큐브 세트들의 공통 라인들의 끝점들을 식별하기 위해 적용된다. M12 단계가 적용되는 시기에, 각 라인 큐브 세트는 그것의 큐브들 모두가 그것의 공통 라인에 의해 교차되는 속성을 가진다. 상기 공통 라인에 의해 교차되는 임의의 큐브(상기 라인 큐브 세트의 멤버들이 아닌 큐브들을 포함)는 큐브의 교점들이라 불리는 (일치(co-incident)할 수 있는) 두 개의 포인트들에서 상기 공통 라인과 만난다.
상기 공통 라인에 의해 교차되고 교차점을 공유하는 임의의 두 개의 큐브들은 공선 이웃들이라고 불린다. 두 개의 공선 이웃들(이들 중 오직 하나만이 상기 라인 큐브 세트의 멤버이다)에 의해 공유되는 임의의 교차점은, 상기 큐브 라인 세트의 끝점이라 불린다. M12 단계는 라인 큐브 세트가 두 개 이상의 끝점들을 가질 수 있는 가능성을 허용한다.
M12 단계는 각각의 라인 큐브 세트에 별도로 적용된다. 이는 상기 큐브 라인 세트가 빌 때까지, 그 세트로부터 큐브들을 계속해서 제거한다. M12 단계는 동시에 적용될 수 있다.
S1. A 및 B 노드 쌍들의 빈 리스트를 생성한다. M12 단계를 마치고, 상기 리스트의 각각의 노드 쌍은 상기 라인 큐브 세트의 공통 라인을 따르는 하나의 선분의 두 끝점들을 나타낼 것이다.
S2. 상기 라인 큐브 세트가 비어 있다면, 멈춘다.
S3. 상기 라인 큐브 세트의 제1 큐브를 현재 큐브로 설정한다.
S4. 상기 현재 큐브가 상기 라인 큐브 세트의 끝점을 포함하지 않는다면, 상기 라인 큐브 세트로부터 상기 현재 큐브를 제거하고, S6 단계로 이동한다.
S5. 상기 큐브 라인 세트의 다음 큐브를 현재 큐브로 설정하고, S4 단계로 이동한다. S5 단계에서, 상기 다음 큐브는 상기 큐브 라인 세트에 남아있는 임의의 큐브일 수 있다.
S6. 상기 현재 큐브의 교차점들을 상기 현재 노드 쌍으로 설정한다.
S7. 상기 현재 노드 쌍의 노드들 모두가 상기 라인 큐브 세트의 끝점들이라면, 노드 하나를 A로 라벨을 붙이고, 다른 노드를 B로 라벨을 붙인 후, S16 단계로 이동한다.
S8. 상기 현재 노드 쌍의 고유한(unique) 끝점을 A로 저장한다.
S9. 상기 라인 큐브 세트의 멤버 이기도한 상기 현재 큐브의 고유한 이웃 큐브를 다음 큐브로 설정한다.
S10. 상기 현재 큐브를 이전 큐브로서 저장한다.
S11. 상기 다음 큐브를 현재 큐브로 저장한다.
S12. 상기 라인 큐브 세트로부터 상기 현재 큐브를 제거한다.
S13. 상기 현재 큐브의 교차점들을 현재 노드 쌍으로 설정한다.
S14. 상기 현재 노드 쌍의 노드들 모두가 끝점들이 아니라면, 이전 노드가 아닌 상기 고유한 이웃 큐브를 다음 큐브로 설정하고, S10 단계로 이동한다.
S15. 상기 고유한 끝점을 B 노드로서 저장한다.
S16. 상기 A 및 B 노드들이 (허용 오차 내에서) 일치(co-incident)하지 않는다면, 노드 쌍들의 리스트에 상기 A 및 B 노드들을 추가한다.
S17. S2 단계로 이동한다.
본 발명의 상기 특정 실시 예는 큐브(또는 4면체를 포함하여, 다른 테셀레이팅 공간-채움(tessellating space-filling) 형상들)들을 사용하여 기술하지만, 당업자는 중첩 볼륨들(overlapping volumes), 특히 중첩 구들(overlapping spheres) 또한 사용될 수 있음을 인식할 것이다. 이러한 실시 예에서, 이웃 볼륨들은, 그 중심 포인트들이 문제의 볼륨의 중심점으로부터 소정의 거리 내에 있는 볼륨들로 정의될 수 있다.
일 실시예는 : 클라우드 경계 포인트들이 상기 더 큰 표면들의 교차들에 의해 형성된 교차 곡선들 가까이에 놓여있는 곳을 식별하기 위한 수단; 및 상기 클라우드 경계 포인트들의 위치들을 상기 교차 곡선들 상으로 이동시키기 위한 수단을 더 포함할 수 있다.
일 실시예는 : 각각의 볼륨 내의 포인트들이 곡선 상에서 공존하는지 여부를 판단하기 위한 수단으로서, 그러한 볼륨들은 곡선 볼륨들로 식별되며, 포인트들이 공존하는 상기 곡선은 상기 곡선 볼륨의 곡선으로 식별되는, 수단; 대응하는 곡선들에 의해 교차되는 제1 다수의 이웃 곡선 볼륨들을 곡선 볼륨 세트로 결합하기 위한 수단으로서, 상기 교차하는 곡선들은 더 큰 곡선으로 식별되는, 수단; 및 곡선 조각(segment)을 정의하기 위해 끝점들을 식별하기 위한 수단을 더 포함할 수 있다.
일 실시예에 따르면, 상기 볼륨들은 : 비-중첩(non-overlapping) 큐브들로서, 이웃 큐브들은 하나 이상의 공통 면들, 모서리들 또는 꼭짓점들을 공유하는, 비-중첩 큐브들; 또는 비-중첩 큐브들을 포함하지 않는, 비-중첩 공간-채움 4면체 또는 다른 공간-채움 테셀레이션(tessellation) 형상들로서, 이웃 볼륨들은 하나 이상의 공통 면들, 모서리들 또는 꼭짓점들을 공유하는, 비-중첩 공간-채움 4면체 또는 다른 공간-채움 테셀레이션(tessellation) 형상들; 또는 중첩 구(overlapping sphere)들 또는 다른 중첩 형상들 중 하나일 수 있다.
도 21은 건축 장면에 대해 포인트 클라우드 데이터로부터 벡터 그래픽스 묘화로 전환한 결과를 도시한다. 묘화에서의 특정 치수들의 측정들은 쉽게 판단될 수 있으며, 건축가는 상기 벡터 그래픽스 묘화들을 조작하여서, 수정된 설계 도면을 생성할 수 있다. 이는 촬영된 실제 건물들/환경 및 처음부터 만들어진 3D 모델을 힘들게 측정해야하는 건축가의 문제를 회피할 수 있다.
삭제
당업자는 포인트 클라우드 데이터의 생성을 위해, LIDAR 및 사진측량 기법들을 포함하여, 다양한 상이한 기술들이 사용될 수 있음을 이해할 것이다. 이러한 다른 형태들의 기술들은 위치 데이터 이상의 것을 포함하는 상이한 포인트 클라우드들을 생성할 수 있다. 또한 이러한 추가 데이터는 기술된 본 방법에 통합될 수 있다. 예를 들어, 상기 포인트 클라우드의 각각의 포인트는 색 또는 강도 정보를 포함할 수 있다. 표면이 식별되기만 한다면, 본래는 상기 표면을 식별하는 상기 포인트들의 색 또는 강도를 사용하여, 상기 표면의 착색 또는 강도 매핑이 상기 모델 상에서 수행될 수 있다.
또한, 기술된 본 방법은 다른 이미징 기법들과 함께 사용되어서, 3D 모델들의 정확도를 향상시킬 수 있고, 그리고/또는 상기 모델에 추가 이미징 데이터를 오버레이 할 수 있다. 예를 들어, 스캐너는 3-차원 카메라와 함께 사용될 수 있다. 스캐닝 및 3-차원 촬영술은 동시에 수행되어서, 사진과 같은(photo-real) 3-차원 환경들이 생성될 수 있다.
본 발명의 범위를 벗어나지 않고 본 발명의 명백하게 다른 다수의 실시 예들이 이루어질 수 있으므로, 본 발명은 특정 실시 예들에 한정되지 않음이 이해되어야 한다.

Claims (26)

  1. 하나 이상의 객체들의 세트의 포인트 클라우드 데이터를 상기 객체들의 세트의 3-차원 표현들로 변환하기 위한 장치에 있어서, 상기 장치는 :
    상기 포인트 클라우드 데이터의 상기 객체들의 세트에 의해 차지되는 공간을 다수의 볼륨들로 분할(M1)하기 위한 수단;
    각각의 볼륨 내의 포인트들이 표면에서 공존하는지 여부를 판단(M2)하기 위한 수단으로서, 이러한 볼륨들은 지정된 표면 볼륨들이고, 포인트들이 공존하는 상기 표면은 상기 표면 볼륨의 표면으로 지정되는, 수단;
    대응하는 표면들을 따라 공존하는 제1 다수의 이웃 표면 볼륨들을 표면 볼륨 세트로 결합(M3)하기 위한 수단으로서, 상기 대응하는 표면들은 더 큰 표면으로 식별되는, 수단; 및
    상기 더 큰 표면에 의해 교차되는 빈(empty) 볼륨들과 이웃하는 상기 표면 볼륨 세트 내의 볼륨들을 식별함으로써, 상기 표면 볼륨 세트의 표면 모서리 볼륨 세트를 식별(M5)하기 위한 수단을 포함하는, 장치.
  2. 제1 항에 있어서,
    상기 객체들의 세트의 포인트 클라우드 데이터를 생성하기 위한 수단을 더 포함하는, 장치.
  3. 제2 항에 있어서,
    상기 포인트 클라우드 데이터를 생성하기 위한 수단은 :
    광 검출 및 LIDAR(light detecting and ranging) 스캐너이거나; 또는
    객체들의 세트의 하나 이상의 이미지들을 캡처하도록 구성된 카메라 및 상기 이미지들 상에 사진측량 기법들을 수행하도록 구성된 프로세서를 포함하는 스캐너인, 장치.
  4. 제3 항에 있어서,
    상기 스캐너는 경로를 따라 이동하고, 상기 경로를 따라 다수의 스캐닝 포인트들로부터 포인트 클라우드 데이터를 생성하도록 조정되는, 장치.
  5. 제1 항에 있어서,
    상기 장치는 :
    상기 표면 모서리 볼륨 세트의 각각의 볼륨의 각각의 모서리에 대해 클라우드 경계 포인트를 추정하는 수단을 더 포함하며,
    모서리는 상기 표면 모서리 볼륨 세트의 볼륨 및 빈 볼륨간의 경계와, 상기 표면 볼륨 세트의 더 큰 표면과의 교차에 의해 정의되는, 장치.
  6. 제5 항에 있어서,
    클라우드 경계 포인트들이 상기 더 큰 표면들의 교차들에 의해 형성된 교차 곡선들 가까이에 놓여있는 곳을 식별하기 위한 수단; 및
    상기 클라우드 경계 포인트들의 위치들을 상기 교차 곡선들 상으로 이동시키기 위한 수단을 더 포함하는, 장치.
  7. 제1 항에 있어서,
    각각의 볼륨 내의 포인트들이 곡선 상에서 공존하는지 여부를 판단하기 위한 수단으로서, 그러한 볼륨들은 곡선 볼륨들로 식별되며, 포인트들이 공존하는 상기 곡선은 상기 곡선 볼륨의 곡선으로 식별되는, 수단;
    대응하는 곡선들에 의해 교차되는 제1 다수의 이웃 곡선 볼륨들을 곡선 볼륨 세트로 결합하기 위한 수단으로서, 상기 교차하는 곡선들은 더 큰 곡선으로 식별되는, 수단; 및
    곡선 조각(segment)을 정의하기 위해 끝점들을 식별하기 위한 수단을 더 포함하는, 장치.
  8. 하나 이상의 객체들의 세트의 포인트 클라우드 데이터를 상기 객체들의 세트의 3-차원 표현들로 변환하기 위한 방법에 있어서, 상기 방법은 :
    상기 포인트 클라우드 데이터의 상기 객체들의 세트에 의해 차지되는 공간을 다수의 볼륨들로 분할하는 단계(M1);
    각각의 볼륨 내의 포인트들이 표면에서 공존하는지 여부를 판단하는 단계(M2)로서, 이러한 볼륨들은 지정된 표면 볼륨들이고, 포인트들이 공존하는 상기 표면은 상기 표면 볼륨의 표면으로 지정되는, 단계(M2);
    대응하는 표면들 상에서 공존하는 제1 다수의 이웃 표면 볼륨들을 표면 볼륨 세트로 결합하는 단계(M3)로서, 상기 대응하는 표면들은 더 큰 표면으로 식별되는, 단계(M3); 및
    상기 더 큰 표면에 의해 교차되는 빈(empty) 볼륨들과 이웃하는 상기 표면 볼륨 세트 내의 볼륨들을 식별함으로써, 상기 표면 볼륨 세트의 표면 모서리 볼륨 세트를 식별하는 단계(M5)를 포함하는, 방법.
  9. 제8 항에 있어서,
    포인트들이 공존하는 상기 표면은 평면인, 방법.
  10. 제8 항에 있어서,
    상기 볼륨들은 :
    비-중첩(non-overlapping) 큐브들로서, 이웃 큐브들은 하나 이상의 공통 면들, 모서리들 또는 꼭짓점들을 공유하는, 비-중첩 큐브들; 또는
    비-중첩 큐브들을 포함하지 않는, 비-중첩 공간-채움 4면체 또는 다른 공간-채움 테셀레이션(tessellation) 형상들로서, 이웃 볼륨들은 하나 이상의 공통 면들, 모서리들 또는 꼭짓점들을 공유하는, 비-중첩 공간-채움 4면체 또는 다른 공간-채움 테셀레이션(tessellation) 형상들; 또는
    중첩 구(overlapping sphere)들 또는 다른 중첩 형상들
    중 하나인, 방법.
  11. 제8 항에 있어서,
    상기 3-차원 표현들은 데이터 파일로서 저장되는, 방법.
  12. 제11 항에 있어서,
    상기 데이터 파일은 벡터 그래픽스 모델로서 저장되는, 방법.
  13. 제12 항에 있어서,
    상기 벡터 그래픽스 모델은 3D 컴퓨터-지원 설계(computer-aided design; CAD) 모델 포맷인, 방법.
  14. 컴퓨터가 제8 항의 방법을 수행하도록 하는 컴퓨터 실행가능 명령들을 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 매체.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
KR1020157024440A 2013-02-27 2014-02-27 이미지 처리 KR102231665B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1303540.7A GB201303540D0 (en) 2013-02-27 2013-02-27 Image processing
GB1303540.7 2013-02-27
PCT/GB2014/000068 WO2014132020A1 (en) 2013-02-27 2014-02-27 Image processing

Publications (2)

Publication Number Publication Date
KR20150122676A KR20150122676A (ko) 2015-11-02
KR102231665B1 true KR102231665B1 (ko) 2021-03-24

Family

ID=48092234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157024440A KR102231665B1 (ko) 2013-02-27 2014-02-27 이미지 처리

Country Status (9)

Country Link
US (1) US10186080B2 (ko)
EP (1) EP2962286B8 (ko)
JP (1) JP6378215B2 (ko)
KR (1) KR102231665B1 (ko)
CN (1) CN105103195B (ko)
AU (1) AU2014222457B2 (ko)
CA (1) CA2902349C (ko)
GB (1) GB201303540D0 (ko)
WO (1) WO2014132020A1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6468756B2 (ja) * 2014-08-25 2019-02-13 株式会社ミツトヨ 三次元モデルの生成方法、三次元モデルの生成システム及び三次元モデルの生成プログラム
CN105469447A (zh) * 2014-09-11 2016-04-06 富泰华工业(深圳)有限公司 点云边界直角边修补系统及方法
US9772405B2 (en) * 2014-10-06 2017-09-26 The Boeing Company Backfilling clouds of 3D coordinates
KR102434406B1 (ko) * 2016-01-05 2022-08-22 한국전자통신연구원 공간 구조 인식을 통한 증강 현실 장치 및 그 방법
JP6793194B2 (ja) * 2016-07-07 2020-12-02 日本碍子株式会社 光走査素子
KR102526754B1 (ko) * 2016-07-13 2023-04-27 삼성전자주식회사 3차원 영상 처리 방법 및 장치
KR102529120B1 (ko) * 2016-07-15 2023-05-08 삼성전자주식회사 영상을 획득하는 방법, 디바이스 및 기록매체
JP6928414B2 (ja) * 2016-11-29 2021-09-01 ブラックモア センサーズ アンド アナリティクス エルエルシー 点群データセット内において物体を分類する方法およびシステム
JP6811862B2 (ja) 2016-11-30 2021-01-13 ブラックモア センサーズ アンド アナリティクス エルエルシー 光学測距システムによる適応走査の方法およびシステム
US11802965B2 (en) 2016-11-30 2023-10-31 Blackmore Sensors & Analytics Llc Method and system for doppler detection and doppler correction of optical chirped range detection
KR102254466B1 (ko) 2016-11-30 2021-05-20 블랙모어 센서스 앤드 애널리틱스, 엘엘씨 광학 거리 측정 시스템을 이용한 자동적인 실시간 적응형 스캐닝 방법과 시스템
US10422880B2 (en) 2017-02-03 2019-09-24 Blackmore Sensors and Analytics Inc. Method and system for doppler detection and doppler correction of optical phase-encoded range detection
US10482619B2 (en) * 2017-07-27 2019-11-19 AI Incorporated Method and apparatus for combining data to construct a floor plan
US11348269B1 (en) * 2017-07-27 2022-05-31 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10339669B2 (en) * 2017-08-22 2019-07-02 Here Global B.V. Method, apparatus, and system for a vertex-based evaluation of polygon similarity
JP2021515241A (ja) 2018-04-23 2021-06-17 ブラックモア センサーズ アンド アナリティクス エルエルシー コヒーレント距離ドップラー光学センサを用いた自律走行車の制御方法およびシステム
CN109003330B (zh) * 2018-07-02 2022-02-11 南京师范大学 一种基于基岩边界约束的三维地层建模方法
US11822010B2 (en) 2019-01-04 2023-11-21 Blackmore Sensors & Analytics, Llc LIDAR system
US11250594B2 (en) * 2019-01-09 2022-02-15 Tencent America LLC Method and apparatus for geometry smoothing by local geometry projection
JP7188201B2 (ja) 2019-03-13 2022-12-13 富士通株式会社 画像処理装置、画像処理方法、及び画像処理プログラム
TWI709062B (zh) * 2019-09-20 2020-11-01 財團法人資訊工業策進會 虛實疊合方法與系統
EP4072135A4 (en) * 2019-12-02 2023-06-21 Guangdong Oppo Mobile Telecommunications Corp., Ltd. METHOD FOR PREDICTING ATTRIBUTE INFORMATION, ENCODER, DECODER AND STORAGE MEDIA
CN113297340B (zh) * 2020-02-23 2023-12-19 北京初速度科技有限公司 点云地图的矢量化、矢量地图转化点云地图的方法和装置
CN111429589B (zh) * 2020-03-11 2023-09-19 上海嘉奥信息科技发展有限公司 基于二维视图进行三维空间划分的方法及系统
KR102513220B1 (ko) * 2021-06-04 2023-03-24 주식회사 지에프티 3차원 영상을 위한 복수의 카메라 간의 인접 카메라 인식 시스템 및 방법
GB202108778D0 (en) 2021-06-18 2021-08-04 Pointfuse Ltd Pointcloud processing, especially for use with building intelligence modelling (BIM)
US11544419B1 (en) 2021-07-26 2023-01-03 Pointlab, Inc. Subsampling method for converting 3D scan data of an object for marine, civil, and architectural works into smaller densities for processing without CAD processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222600A (ja) * 1999-01-29 2000-08-11 Ricoh Co Ltd 点群からのボリュームモデル生成システム、方法およびそのプログラムを記録した記録媒体
US20050168460A1 (en) * 2002-04-04 2005-08-04 Anshuman Razdan Three-dimensional digital library system
JP2006323608A (ja) 2005-05-18 2006-11-30 Kozo Keikaku Engineering Inc 立体構造物群モデル作成装置、立体構造物群モデル作成方法及び立体モデル作成システム
US20090060345A1 (en) * 2007-08-30 2009-03-05 Leica Geosystems Ag Rapid, spatial-data viewing and manipulating including data partition and indexing
JP2009151754A (ja) 2001-03-16 2009-07-09 Mitsubishi Electric Research Laboratories Inc グラフィクスモデル変換装置及びグラフィクスモデル変換装置としてコンピュータを機能させるグラフィクスモデル処理プログラム

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623790A (en) * 1987-08-24 1997-04-29 Lalvani; Haresh Building systems with non-regular polyhedra based on subdivisions of zonohedra
WO2002037406A1 (en) * 2000-10-30 2002-05-10 Translation Technologies, Inc. Computational geometry system, interrupt interface, geometric model comparator, and method
US6627206B2 (en) * 2001-07-25 2003-09-30 Greg A. Lloyd Method and apparatus for treating obesity and for delivering time-released medicaments
US6931367B2 (en) * 2001-11-29 2005-08-16 Faurecia Exhaust Systems, Inc. Optimal rib design method for exhaust components
US7860639B2 (en) * 2003-02-27 2010-12-28 Shaoping Yang Road traffic control method and traffic facilities
US7451704B1 (en) * 2003-03-20 2008-11-18 The United States Of America As Represented By The Secretary Of The Army Multifunctional explosive fragmentation airburst munition
US7728833B2 (en) * 2004-08-18 2010-06-01 Sarnoff Corporation Method for generating a three-dimensional model of a roof structure
US7860299B2 (en) 2005-02-10 2010-12-28 Trimble Ab Methods and apparatus for image processing
CN1928921A (zh) * 2006-09-22 2007-03-14 东南大学 三维扫描系统中特征点云带的自动搜索方法
US7805463B2 (en) * 2007-05-08 2010-09-28 Laser-Scan, Inc. Three-dimensional topology building method and system
US8019150B2 (en) * 2007-10-11 2011-09-13 Kwe International, Inc. Color quantization based on desired upper bound for relative quantization step
US20090144031A1 (en) * 2007-12-04 2009-06-04 Tele Atlas North America, Inc. System for applying clothoid curve values to roadways in a geographic data information system
GB2456301A (en) 2008-01-08 2009-07-15 Gmj Design Ltd Surface Representation from a Point Cloud
CA2649916A1 (en) 2008-01-09 2009-07-09 Tiltan Systems Engineering Ltd. Apparatus and method for automatic airborne lidar data processing and mapping using data obtained thereby
DK2124196T3 (da) * 2008-05-20 2011-10-31 Widex As Anordning og fremgangsmåde til afbildning af en scannet overflade
WO2010042466A1 (en) 2008-10-06 2010-04-15 Kevin Scott Williams Apparatus and method for classifying point cloud data based on principal axes
US8775063B2 (en) * 2009-01-26 2014-07-08 GM Global Technology Operations LLC System and method of lane path estimation using sensor fusion
US8386288B2 (en) * 2009-01-27 2013-02-26 Direct Response Medicine, Llc Workflow management system and method with workflow package exchange between drop-box application programs
US8290305B2 (en) 2009-02-13 2012-10-16 Harris Corporation Registration of 3D point cloud data to 2D electro-optical image data
US8330673B2 (en) * 2009-04-02 2012-12-11 GM Global Technology Operations LLC Scan loop optimization of vector projection display
US8581162B2 (en) * 2009-12-08 2013-11-12 Mitutoyo Corporation Weighting surface fit points based on focus peak uncertainty
US8199977B2 (en) * 2010-05-07 2012-06-12 Honeywell International Inc. System and method for extraction of features from a 3-D point cloud
US9024970B2 (en) * 2011-12-30 2015-05-05 Here Global B.V. Path side image on map overlay
CN102914501B (zh) * 2012-07-26 2015-01-14 南京大学 一种利用激光点云计算三维森林冠层消光系数的方法
CN102902864B (zh) 2012-10-17 2015-01-21 山东理工大学 三维物体的近似最小体积包围盒快速求解方法
US9766712B2 (en) * 2016-01-14 2017-09-19 Google Inc. Systems and methods for orienting a user in a map display

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222600A (ja) * 1999-01-29 2000-08-11 Ricoh Co Ltd 点群からのボリュームモデル生成システム、方法およびそのプログラムを記録した記録媒体
JP2009151754A (ja) 2001-03-16 2009-07-09 Mitsubishi Electric Research Laboratories Inc グラフィクスモデル変換装置及びグラフィクスモデル変換装置としてコンピュータを機能させるグラフィクスモデル処理プログラム
US20050168460A1 (en) * 2002-04-04 2005-08-04 Anshuman Razdan Three-dimensional digital library system
JP2006323608A (ja) 2005-05-18 2006-11-30 Kozo Keikaku Engineering Inc 立体構造物群モデル作成装置、立体構造物群モデル作成方法及び立体モデル作成システム
US20090060345A1 (en) * 2007-08-30 2009-03-05 Leica Geosystems Ag Rapid, spatial-data viewing and manipulating including data partition and indexing

Also Published As

Publication number Publication date
EP2962286B8 (en) 2023-08-30
GB201303540D0 (en) 2013-04-10
CN105103195A (zh) 2015-11-25
AU2014222457A1 (en) 2015-09-03
US20160012638A1 (en) 2016-01-14
CA2902349C (en) 2021-09-21
EP2962286A1 (en) 2016-01-06
JP2016514310A (ja) 2016-05-19
WO2014132020A1 (en) 2014-09-04
WO2014132020A4 (en) 2014-10-16
CN105103195B (zh) 2019-06-07
CA2902349A1 (en) 2014-09-04
JP6378215B2 (ja) 2018-08-22
EP2962286B1 (en) 2023-06-28
KR20150122676A (ko) 2015-11-02
US10186080B2 (en) 2019-01-22
AU2014222457B2 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
KR102231665B1 (ko) 이미지 처리
Yang et al. Hierarchical extraction of urban objects from mobile laser scanning data
Pito A solution to the next best view problem for automated surface acquisition
Suveg et al. Reconstruction of 3D building models from aerial images and maps
Bosche et al. Automated retrieval of 3D CAD model objects in construction range images
Tseng et al. Semiautomated building extraction based on CSG model-image fitting
Son et al. Semantic as-built 3D modeling of structural elements of buildings based on local concavity and convexity
Jarząbek-Rychard et al. 3D building reconstruction from ALS data using unambiguous decomposition into elementary structures
Chen et al. Proactive 2D model-based scan planning for existing buildings
Xu et al. Robust segmentation and localization of structural planes from photogrammetric point clouds in construction sites
JP2016217941A (ja) 3次元データ評価装置、3次元データ測定システム、および3次元計測方法
CN105654023A (zh) 识别物体危险性的方法和装置
Staats et al. Automatic generation of indoor navigable space using a point cloud and its scanner trajectory
JP4568845B2 (ja) 変化領域認識装置
Oliveira et al. Scene representations for autonomous driving: an approach based on polygonal primitives
JP4619504B2 (ja) 3次元デジタル地図作成装置
CN115235467A (zh) 地图段的对准
Rottensteiner Consistent estimation of building parameters considering geometric regularities by soft constraints
JP3966419B2 (ja) 変化領域認識装置および変化認識システム
Jarząbek-Rychard et al. Automatic enrichment of indoor 3D models using a deep learning approach based on single images with unknown camera poses
Forsman Three-dimensional localization and mapping of static environments by means of mobile perception
Liu et al. Segmentation and reconstruction of buildings with aerial oblique photography point clouds
CN114868154A (zh) 包括多分辨率体素中的协方差的地图
Nagatani et al. Scan-point planning and 3-d map building for a 3-d laser range scanner in an outdoor environment
Abdelmajid Investigation and comparison of 3D laser scanning software packages

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