KR102548013B1 - 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치 - Google Patents
모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치 Download PDFInfo
- Publication number
- KR102548013B1 KR102548013B1 KR1020210083243A KR20210083243A KR102548013B1 KR 102548013 B1 KR102548013 B1 KR 102548013B1 KR 1020210083243 A KR1020210083243 A KR 1020210083243A KR 20210083243 A KR20210083243 A KR 20210083243A KR 102548013 B1 KR102548013 B1 KR 102548013B1
- Authority
- KR
- South Korea
- Prior art keywords
- model
- points
- planned
- actual
- computing device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004807 localization Effects 0.000 title description 4
- 238000013461 design Methods 0.000 claims abstract description 31
- 238000005259 measurement Methods 0.000 claims abstract description 28
- 230000009466 transformation Effects 0.000 claims description 97
- 239000011159 matrix material Substances 0.000 claims description 79
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 239000000284 extract Substances 0.000 claims description 21
- 230000005484 gravity Effects 0.000 claims description 15
- 238000005070 sampling Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 39
- 230000003190 augmentative effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/13—Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/08—Construction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/18—Details relating to CAD techniques using virtual or augmented reality
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Mathematical Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Civil Engineering (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Architecture (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Structural Engineering (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
본 발명은 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것으로, 일실시예에 따른 모델 정합 방법은 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하는 단계, 상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하는 단계, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하는 단계, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 단계 및 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는 단계를 포함할 수 있다.
Description
본 발명은 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것이다.
실내 환경에서의 계획 모델(As-planned Model)의 증강 현실(Augmented Reality) 구현을 위한 컴퓨터 비전 기반 위치 추정 기술 및 정합 기술에서, 실내 환경의 자기 유사성, 계획되지 않은 추가 물체의 존재 등의 이유로 위치 추정 및 정합에 오류가 발생한다.
실내 환경을 이용하여 구성한 실제 모델(As-built Model)을 계획 모델에 정합하기 위한 변환 정합 행렬을 얻기 위한 연산에서, 변환 추정의 자유도, 변환 추정의 복잡성, 넓은 검색 공간으로 인하여 연산이 복잡하고, 위치 추정 및 정합의 정확도가 감소한다.
본 문서에 개시되는 다양한 실시예에 따르면, 실제 모델 및 계획 모델을 높이 방향으로 정렬하고, 실제 모델 및 계획 모델의 수평 단면을 추출하여, 각 수평 단면에 포함된 포인트의 선형 특징(또는 기하학적 특징)을 기반으로 실제 모델의 위치를 추정하고, 실제 모델을 계획 모델에 정합할 수 있는 모델 정합 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 실제 모델을 계획 모델에 정합하기 위한 변환 정합 행렬의 자유도가 감소되고, 포인트 샘플링을 통해 검색 공간을 감소시켜, 실제 모델의 위치 추정 및 정합을 위한 연산을 간소화하고, 정확도를 높일 수 있는 모델 정합 방법을 제공할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 변환 추정의 복잡성을 줄이고 기하학적 특징 또는 선형 특징을 기반으로 특징 매칭을 단순화한 모델 정합 방법을 제공할 수 있다.
일실시예에 따른 모델 정합 방법은, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하는 단계, 상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하는 단계, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하는 단계, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 단계 및 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는 단계를 포함할 수 있다.
상기 모델 정합 방법은, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하는 단계 및 상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시키는 단계를 더 포함할 수 있다.
상기 높이 방향으로 정렬하는 단계는, 상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시킬 수 있다.
상기 수평 단면을 추출하는 단계는, 상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하는 단계, 상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하는 단계 및 상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출하는 단계를 포함할 수 있다.
상기 모델 정합 방법은, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계 및 상기 복수의 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링하는 단계를 더 포함할 수 있다.
상기 정합시키는 단계는, 상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다.
일실시예에 따른 모델 정합 방법에 있어서, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하는 단계, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키는 단계, 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키는 단계, 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키는 단계, 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 상기 실제 모델의 단면을 상기 계획 모델의 단면에 정합시키는 단계, 정합된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산하는 단계를 포함할 수 있다.
상기 자유도를 감소시키는 단계는, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계 및 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출하는 단계를 포함할 수 있다.
상기 포인트들의 개수를 감소시키는 단계는, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계 및 상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링하는 단계를 포함할 수 있다.
일실시예에 따른 모델 정합 방법을 수행하는 컴퓨팅 장치에 있어서, 프로세서를 포함하고, 상기 프로세서는, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델을 식별하고, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하고, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키고, 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시킬 수 있다.
상기 프로세서는, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하고, 상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시킬 수 있다.
상기 프로세서는, 상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시킬 수 있다.
상기 프로세서는, 상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하고, 상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하고, 상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출할 수 있다.
상기 프로세서는, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복수이 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링할 수 있다.
상기 프로세서는, 상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다.
일실시예에 따른 모델 정합 방법을 수행하는 컴퓨팅 장치에 있어서, 프로세서를 포함하고, 상기 프로세서는, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하고, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키고, 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 상기 실제 모델의 단면을 상기 계획 모델의 단면에 정합시키고, 정합된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산할 수 있다.
상기 프로세서는, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출할 수 있다.
상기 프로세서는, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 포인트 클라우드로 구성된 실제 모델과 계획 모델의 대표적인 수평 단면을 추출하여 두 모델을 유사하게 만든 후, 검색 공간을 줄이기 위해 불필요한 변환을 제한하고, 정합 변환 행렬을 추정하기 위해 선형 특징을 대응시킴으로써 위치 추정 및 정합의 정확도를 높인다.
본 문서에 개시되는 다양한 실시예에 따르면, 휴대용 증강현실 장치를 이용한 건설 및 시설 관리에 있어서, 모델 정합 방법에 따라 실제 모델을 계획 모델에 정합시킴으로써 효율성을 높일 수 있다.
도 1은 일실시예에 따른 컴퓨팅 장치의 동작 흐름을 나타낸 도면이다.
도 2는 일실시예에 따른 실제 모델 및 계획 모델을 나타낸 도면이다.
도 3은 일실시예에 따른 높이 방향으로 정렬된 실제 모델 및 계획 모델을 나타낸 도면이다.
도 4는 일실시예에 따른 실제 모델 및 계획 모델의 좌표계를 나타낸 도면이다.
도 5는 일실시예에 따른 변환 정합 행렬의 자유도를 나타낸 도면이다.
도 6은 일실시예에 따른 컴퓨팅 장치가 실제 모델 및 계획 모델의 수평 단면을 추출하는 동작을 나타낸 도면이다.
도 7은 일실시예에 따른 컴퓨팅 장치가 실제 모델의 수평 단면의 면적을 계산하는 동작을 나타낸 도면이다.
도 8은 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델 및 계획 모델의 수평 단면을 나타낸 도면이다.
도 9는 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트를 샘플링하는 동작을 나타낸 도면이다.
도 10은 일실시예에 따른 컴퓨팅 장치가 포인트를 샘플링한 실제 모델 및 계획 모델의 수평 단면을 나타낸 도면이다.
도 11은 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 동작을 나타낸 도면이다.
도 12는 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델 및 계획 모델의 수평 단면에 대응된 직선을 나타낸 도면이다.
도 13은 일실시예에 따른 대응된 직선의 극 반지름과 극 각도를 나타낸 도면이다.
도 14는 일실시예에 따른 컴퓨팅 장치가 실제 모델 및 계획 모델의 수평 단면을 정합시키는 동작을 나타낸 도면이다.
도 15는 일실시예에 따른 정합된 실제 모델 및 계획 모델을 나타낸 도면이다.
도 16 내지 도 23은 일실시예에 따른 컴퓨팅 장치를 이용한 실제 모델과 계획 모델의 정합 결과를 나타낸 도면이다.
도 24는 일실시예에 따른 모델 정합 방법의 흐름도이다.
도 25는 일실시예에 따른 모델 정합 방법의 흐름도이다.
도 2는 일실시예에 따른 실제 모델 및 계획 모델을 나타낸 도면이다.
도 3은 일실시예에 따른 높이 방향으로 정렬된 실제 모델 및 계획 모델을 나타낸 도면이다.
도 4는 일실시예에 따른 실제 모델 및 계획 모델의 좌표계를 나타낸 도면이다.
도 5는 일실시예에 따른 변환 정합 행렬의 자유도를 나타낸 도면이다.
도 6은 일실시예에 따른 컴퓨팅 장치가 실제 모델 및 계획 모델의 수평 단면을 추출하는 동작을 나타낸 도면이다.
도 7은 일실시예에 따른 컴퓨팅 장치가 실제 모델의 수평 단면의 면적을 계산하는 동작을 나타낸 도면이다.
도 8은 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델 및 계획 모델의 수평 단면을 나타낸 도면이다.
도 9는 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트를 샘플링하는 동작을 나타낸 도면이다.
도 10은 일실시예에 따른 컴퓨팅 장치가 포인트를 샘플링한 실제 모델 및 계획 모델의 수평 단면을 나타낸 도면이다.
도 11은 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 동작을 나타낸 도면이다.
도 12는 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델 및 계획 모델의 수평 단면에 대응된 직선을 나타낸 도면이다.
도 13은 일실시예에 따른 대응된 직선의 극 반지름과 극 각도를 나타낸 도면이다.
도 14는 일실시예에 따른 컴퓨팅 장치가 실제 모델 및 계획 모델의 수평 단면을 정합시키는 동작을 나타낸 도면이다.
도 15는 일실시예에 따른 정합된 실제 모델 및 계획 모델을 나타낸 도면이다.
도 16 내지 도 23은 일실시예에 따른 컴퓨팅 장치를 이용한 실제 모델과 계획 모델의 정합 결과를 나타낸 도면이다.
도 24는 일실시예에 따른 모델 정합 방법의 흐름도이다.
도 25는 일실시예에 따른 모델 정합 방법의 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하에서, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 컴퓨팅 장치의 동작 흐름을 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점(또는 포인트 클라우드, Point Clouds)으로 구성된 실제 모델(110)을 식별하고, 대상물의 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델(120)을 식별할 수 있다. 실제 모델(110)은 대상물의 실내 공간을 측정한 측정 정보에 대응하는 복수의 점으로 구성된다. 측정 정보는 실내 공간에 추가적으로 설치된 설비, 기구 등에 의해 설계 정보와 다르게 측정될 수 있다. 따라서, 설계 정보에 대응하는 계획 모델(120)과 실제 모델(110)이 다를 수 있다.
도 1을 참조하면, 컴퓨팅 장치는 검색 공간을 감소시키고, 변환 추정 및 정합의 정확도를 향상시키기 위하여, 실제 모델(110)과 계획 모델(120)을 변환할 수 있다. 컴퓨팅 장치가 실제 모델(110)과 계획 모델(120)의 변환을 수행함으로써, 실제 모델(110)을 계획 모델(120)에 정합하기 위한 변환 정합 행렬을 계산하는 과정에서 사용되는 파라메터를 최적화할 수 있다.
일례로, 최적화되는 파라메터는 변환 정합 행렬의 자유도(degree of freedom), 복수의 점으로 구성된 실제 모델(110)과 계획 모델(120)의 차원(Dimension), 복수의 점의 해상도(resolution) 등이 해당할 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 수직 정렬하고, 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출할 수 있다. 컴퓨팅 장치는 추출한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 다운 샘플링 처리하여, 각각의 수평 단면에 포함된 포인트의 수를 감소시킬 수 있다. 즉, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 수직 정렬, 수평 단면 추출, 다운 샘플링하는 등의 변환을 통해 파라메터를 최적화할 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)에 포함된 포인트들의 높이 정보를 이용하여, 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있다. 즉, 실제 모델(110)이 계획 모델(120)에서 대응하는 층, 높이 등에 실제 모델(110)을 위치시킬 수 있다. 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬함으로써, 변환 정합 행렬의 자유도가 감소할 수 있다. 변환 정합 행렬의 자유도 감소에 대해서는 후술한다.
일례로, 실제 모델(110) 및 계획 모델(120)의 포인트들은 3차원 좌표를 가질 수 있다. 실제 모델(110)은 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성되며, 실내 공간을 측정하는 장치의 시선 자세 추적(view pose tracking), 중력 센서 등을 이용하여 수직 평면과 수평 평면이 인식될 수 있다. 실제 모델(110)은 인식된 수직 평면과 수평 평면에 따라 복수의 점들이 각각 3차원 좌표를 가지도록 구성될 수 있다. 또한, 설계 정보에 포함된 3차원 좌표에 관한 정보를 이용하여 계획 모델(120)에 포함된 복수의 점 각각이 3차원 좌표를 가지도록 구성될 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 동일한 높이에서 높이 방향과 수직한 방향으로 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출할 수 있다. 컴퓨팅 장치는 도 1과 같이 높이 방향으로 정렬된 실제 모델(110) 및 계획 모델(120)의 동일한 높이에서 단면을 추출할 수 있다.
컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출하여, 3차원으로 표현된 복수의 점들을 동일한 높이에서의 2차원 단면으로 변환할 수 있다. 컴퓨팅 장치는 3차원으로 표현된 복수의 점들을 2차원 단면으로 표현된 복수의 점들로 변환함으로써, 실제 모델(110)의 위치를 추정하고 정합하기 위한 파라메터인 복수의 점들의 차원을 감소시킬 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수를 감소하도록 샘플링할 수 있다. 도 1에서, 다운 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수는 추출된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수에 비하여 작은 것을 알 수 있다. 즉, 다운 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 해상도가 감소하였음을 확인할 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응(line fitting) 시킬 수 있다. 도 1과 같이, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)의 수평 단면에 포함된 포인트들이 형성하는 선형 특징에 직선을 대응시킬 수 있고, 도 1에서 실제 모델(110)과 계획 모델(120)의 수평 단면에 대응된 직선들이 표시되어 있음을 확인할 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선을 계획 모델(120)의 수평 단면에 대응된 직선에 위치시키고, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다. 도 1과 같이, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선이 계획 모델(120)의 수평 단면에 대응된 직선에 위치하도록 실제 모델(110)의 수평 단면의 위치를 변환할 수 있다.
컴퓨팅 장치는 실제 모델(110)의 수평 단면이 계획 모델(120)의 수평 단면에 정합하도록, 각각의 수평 단면에 대응된 직선들이 일치한 상태에서 실제 모델(110)의 수평 단면의 위치를 조절할 수 있다. 컴퓨팅 장치는 실제 모델(110)의 수평 단면과 계획 모델(120)의 수평 단면의 정합 정도 내지 일치 정도를 판단하여, 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시킬 수 있다.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위한 높이 방향의 변환값 및 회전각, 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬을 계산하고, 변환 정합 행렬을 이용하여 실제 모델(110)을 계획 모델(120)에 정합(Fine Resistration)시킬 수 있다.
변환 정합 행렬은 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 행렬일 수 있다. 실제 모델(110)은 3차원 좌표로 표현된 복수의 점들로 구성되고, 컴퓨팅 장치는 복수의 점들의 좌표에 변환 정합 행렬을 이용하여 좌표를 변환하기 위한 연산을 수행할 수 있다. 변환 정합 행렬을 이용한 연산을 수행하면, 실제 모델(110)의 복수의 점들의 좌표가 계획 모델(120)의 복수의 점들의 좌표와 일치하도록 변환될 수 있다.
계획 모델(120)에 대응하는 실제 모델(110)의 위치를 추정하고 정합(Localization and Resistration)하기 위한 과정에서, 설계되지 않은 물체의 존재, 크고 복잡한 검색 공간 등으로 인하여, 연산이 복잡하고 정합의 정확도가 떨어지는 문제가 있다. 상기에서 설명한 컴퓨팅 장치의 동작에 대한 설명을 종합하면, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬하고, 수평 단면을 추출, 수평 단면에 포함된 포인트들의 개수를 줄이는 다운 샘플링과 같은 파라메터 최적화(Parameter Optimization)을 수행할 수 있다. 컴퓨팅 장치는 파라메터 최적화를 통해 검색 공간을 감소시키고, 변환 정합 행렬의 자유도를 감소시키고, 실제 모델(110) 및 계획 모델(120)의 차원을 감소시켜 연산을 효율적으로 수행할 수 있다.
또한, 컴퓨팅 장치는 후술하는 바와 같이 계획되지 않은 실내 공간에 존재하는 물체의 영향을 최소화하도록 실제 모델(110)의 수평 단면을 추출할 수 있고, 실제 공간의 위치 추정 및 정합의 정확도를 높일 수 있다.
일례로, 검색 공간은 실제 모델(110)을 계획 모델(120)에 정합하기 위한 변환 정합 행렬을 연산하고, 실제 모델(110) 및 계획 모델(120)의 기하학적 특성을 추출하기 위하여 필요한 대상들을 의미할 수 있다. 예를 들어, 실제 모델(110) 및 계획 모델(120)의 복수의 점의 개수 및 좌표, 변환 정합 행렬의 자유도 등이 검색 공간에 해당할 수 있다.
도 2는 일실시예에 따른 실제 모델(110) 및 계획 모델(120)을 나타낸 도면이다.
도 2에서 (a)는 대상물의 실내 공간, (b)는 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성된 실제 모델(110), (c)는 대상물의 설계 정보, (d)는 대상물의 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델(120)을 나타낸다.
일례로, 실제 모델(110)은 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성될 수 있다. 실내 공간은 측정한 측정 정보는 3D 스캐닝 장비, 증강현실을 제공하기 위한 장치 등으로부터 측정될 수 있다. 예를 들어, 측정 정보는 3D 깊이 카메라(Depth Camera) 등을 이용하여 측정될 수 있다. 측정 정보는 각각의 포인트(또는 점)들이 3차원 좌표를 가지고, 복수의 포인트로 구성된 실제 모델(110)로 변환될 수 있다.
일례로, 계획 모델(120)은 대상물의 설계 정보에 대응하도록 복수의 점으로 구성될 수 있다. 설계 정보는 대상물을 설계한 정보에 해당할 수 있고, 예를 들어, 빌딩 정보 모델(BIM, Building Information Model) 등이 해당할 수 있다.
일예로, 설계 정보는 모서리(corner) 포인트, 모서리 포인트의 연결에 의한 선(line), 폴리곤 표면(polygon surface) 등을 포함하는 메쉬(Mesh) 포맷의 계획 모델(120)로 변환될 수 있다. 복수의 점으로 구성된 계획 모델(120)의 해상도(resolution)을 높이기 위해, 메쉬에 존재하는 표면의 다각형을 더 작은 다각형으로 나누는 세분화 기법(Subdivision Surface Technique) 또는 계산 부하가 낮고, 표면의 수를 유지하는 무작위 샘플링 방법(Random Sampling Method) 등이 적용될 수 있다.
일실시예에 따른 컴퓨팅 장치는 대상물의 실내 공간을 측정한 측정 정보를 측정 정보에 대응하도록 복수의 점으로 구성된 실제 모델(110)로 변환할 수 있다. 또한, 컴퓨팅 장치는 대상물의 설계 정보를 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델(120)로 변환할 수 있다. 즉, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 입력 받거나, 측정 정보 및 설계 정보를 변환하여 실제 모델(110) 및 계획 모델(120)을 생성할 수도 있다.
일례로, 실제 모델(110) 및 계획 모델(120)의 복수의 점들은 3차원 좌표계에 표시될 수 있다. 실제 모델(110) 및 계획 모델(120)의 복수의 점들은 각각 3차원 좌표를 가질 수 있다.
일례로, 실제 모델(110) 및 계획 모델(120)의 복수의 점들이 표시되는 3차원 좌표계에서, 높이 방향의 축은 동일한 방향일 수 있다. 전술한 바와 같이, 실제 모델(110)에 대응하는 측정 정보에서, 측정 장치의 중력 센서, 시선 자세 추적 등을 통해 수직 평면과 수평 평면이 인식될 수 있고, 높이 방향의 축은 지표면과 수직한 방향일 수 있다. 또한, 계획 모델(120)에 대응하는 설계 정보에서 높이 방향의 축은 지표면과 수직한 방향일 수 있다. 즉, 실제 모델(110)과 계획 모델(120)의 높이 방향의 축은 동일한 방향일 수 있다.
도 3은 일실시예에 따른 높이 방향으로 정렬된 실제 모델(110) 및 계획 모델(120)을 나타낸 도면이다.
도 3을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 실제 모델(110)의 바닥면을 실제 모델(110)이 계획 모델(120)에 대응되는 층의 바닥면과 정렬시킬 수 있다. 즉, 컴퓨팅 장치는 실제 모델(110)의 바닥면을 실제 모델(110)이 계획 모델(120)에 대응되는 층의 바닥면과 일치하도록, 높이 방향으로 정렬할 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 식별할 수 있다.
도 3에서, 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이는 A로 표시되어 있다. 이때, 각 모델의 포인트들 중에서 높이가 최소인 점의 높이의 차이는 아래 식 1과 같이 계산될 수 있고, 높이의 차이 A는 계획 모델(120)의 바닥면으로부터 실제 모델(110)의 바닥면까지의 높이에 해당할 수 있다.
[식 1]
상기 식 1에서, Ty는 높이 방향의 변환값, B min elevation은 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이, 즉 실제 모델(110)의 바닥면의 높이이고, P min elevation은 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이다.
컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)에 포함된 포인트들의 높이 정보가 최소인 점의 높이의 차이를 이용하여 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있다. 이때, 도 3과 같이 실제 모델(110)의 바닥면은, 실제 모델(110)이 계획 모델(120)에서 대응하는 층의 바닥면과 높이 방향으로 정렬될 수 있다.
상기 식 1에서 높이 방향의 변환값 Ty는, 후술하는 변환 정합 행렬의 일 요소일 수 있다.
이하의 도 4 내지 도 5는 컴퓨팅 장치가 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬함으로써 감소하는 변환 정합 행렬의 자유도를 설명하기 위한 것으로, 감소하는 변환 정합 행렬의 자유도를 설명하기 전에, 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬에 대하여 설명한다.
아래 식 2와 같이, 변환된 점(또는 포인트)의 좌표 P'(Transformed point cloud)는 원래 점의 좌표 P(Original point cloud)에 변환 정합 행렬 M(Transformation matrix)을 곱하여 얻을 수 있다. 변환 정합 행렬 M은 변환 행렬 T(Translation matrix), 각각 x, y, z축을 중심으로 하는 회전 행렬 Rx, Ry, Rz(Rotation matrix), 각각 x, y, z축을 중심으로 하는 회전각 (Rotation angle), 각각 x, y, z축을 따라 이동되는 값인 변환값(또는 변환 행렬) Tx, Ty, Tz(Translation)을 이용하여 얻을 수 있다.
[식 2]
상기 식 2에서, P'(Transformed point cloud)는 변환된 점(또는 포인트)의 좌표, P(Original point cloud)는 원래 점의 좌표, M(Transformation matrix)은 변환 정합 행렬, T는 변환 행렬(Translation matrix), Rx, Ry, Rz(Rotation matrix for rotation around x, y and z axis respectively)는 각각 x, y, z축을 중심으로 하는 회전 행렬, (Rotation angle around x, y and z axis respectively)는 각각 x, y, z축을 중심으로 하는 회전각, 변환값 Tx, Ty, Tz(Translation along x, y and z axis respectively)은 각각 x, y, z축을 따라 이동되는 값을 의미한다.
상기 식 2에서, 변환 정합 행렬 M을 얻기 위해서 필요한 변수는 변환값 Tx, Ty, Tz와 회전각 가 필요하고, 6의 자유도를 가짐을 알 수 있다. 즉, 컴퓨팅 장치가 변환 정합 행렬을 이용하여 실제 모델(110)을 계획 모델(120)에 정합시킬 수 있고, 이때 변환 정합 행렬을 얻기 위하여 6개의 변수의 값을 계산하여야 한다.
도 4는 일실시예에 따른 실제 모델(110) 및 계획 모델(120)의 좌표계를 나타낸 도면이다. 도 4의 (a)는 실제 모델(110)의 좌표계를 나타낸 것이고, (b)는 계획 모델(120)의 좌표계를 나타낸 도면이다.
일례로, 실제 모델(110)의 좌표계는, 실제 모델(110)의 복수의 점의 위치와 방향을 나타내기 위하여 원점 및 세 축(x, y, z 축)을 갖는 데카르트 좌표계(Cartesian coordinate system)이 적용될 수 있다.
일례로, 도 4의 (a)와 같이, 실내 공간을 측정하는 장치를 원점으로 하고, 장치의 오른쪽으로 양의 x축, 장치의 위쪽으로 양의 y축, 장치에서 시선 반대 방향으로 양의 z 축을 가질 수 있다. 상기 예시에서 실제 모델(110)의 높이 방향은 y축 방향에 해당할 수 있다.
일례로, 계획 모델(120)의 좌표계는 계획 모델(120)의 복수의 점의 위치와 방향을 나타내기 위하여 설계 정보(예를 들어, BIM)에 정의된 좌표계가 적용될 수 있다.
일례로, 도 4의 (b)와 같이 특정 기준점을 원점으로 하고, 동쪽 방향으로 양의 x축, 북쪽 방향으로 양의 y축, 위쪽으로 양의 z축을 가질 수 있다. 상기 예시에서 계획 모델(120)의 높이 방향은 z축 방향에 해당할 수 있다.
위와 같이, 실제 모델(110) 및 계획 모델(120)에 포함된 복수의 점들은 원점을 가지고 x, y, z축을 가지는 3차원 좌표계(데카르트 좌표계)로 표현될 수 있다.
도 5는 일실시예에 따른 변환 정합 행렬의 자유도를 나타낸 도면이다.
일반적으로, 도 5의 (a)와 같이 세 개의 축(x, y, z축)을 중심으로 하는 회전각과 세 개의 축을 따라 이동하는 변환값을 추정하여, 변환 정합 행렬을 얻을 수 있다. 예를 들어, 상기 식 2에서 각각 x, y, z축을 중심으로 하는 회전각 , 각각 x, y, z축을 따라 이동되는 값인 변환값 Tx, Ty, Tz을 구하여 변환 정합 행렬을 얻을 수 있다.
도 5의 (b)를 참조하면, 일실시예에 따른 컴퓨팅 장치는, 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시킬 수 있다. 전술한 바와 같이, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬할 수 있고, 실제 모델(110)의 바닥면과 실제 모델(110)이 계획 모델(120)에 대응되는 층의 바닥면이 일치하도록 할 수 있다.
도 5의 (b)는 컴퓨팅 장치에 의하여 높이 방향으로 실제 모델(110)과 계획 모델(120)이 정렬된 경우, 실제 모델(110)을 계획 모델(120)에 정합시키기 위하여 필요한 변환 정합 행렬의 자유도를 나타낸다. (b)와 같이, 실제 모델(110)과 계획 모델(120)이 높이 방향으로 정렬된 경우, 높이 방향의 축(y축)을 중심으로 하는 회전각, 수평 방향의 두 축(높이 방향과 수직한 수평 단면에서 수직한 두 축, x, z축) 방향으로 이동되는 값인 변환값을 이용하여 실제 모델(110)을 계획 모델(120)에 정합할 수 있다. 예를 들어, 상기 식 2에서 , Tx, Tz를 구하면, 변환 정합 행렬을 구할 수 있다.
보다 상세하게, 측정 정보에서 수직 평면과 수평 평면이 인식될 수 있다. 실제 모델(110)은 측정 정보에 대응하므로, 실제 모델(110)의 높이 방향은 계획 모델(120)의 높이 방향과 동일한 방향일 수 있다. 따라서, 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬한 경우, 수평 방향의 두 축(x, z축)을 중심으로 하는 회전 정렬이 필요하지 않게 된다.
예를 들어, 도 4에서 (a)에 도시된 실제 모델(110)의 높이 방향 y축과 (b)에 도시된 계획 모델(120)의 높이 방향 z축에 따라 실제 모델(110)을 계획 모델(120)에 정렬시키는 경우, 수평 방향의 두 축(실제 모델(110)의 x, z축과 계획 모델(120)의 x, y축)을 중심으로 회전 정렬이 필요하지 않게 된다.
즉, 일반적으로 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬의 자유도는 (a)와 같이 6이나, 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬한 경우 변환 정합 행렬의 자유도는 3으로 감소할 수 있다.
컴퓨팅 장치는, 변환 정합 행렬의 자유도를 감소시키기 위하여 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬할 수 있고, 컴퓨팅 장치는 전술한 바와 같이 상기 식 1에 따라 실제 모델(110)을 계획 모델(120)에 높이 방향으로 정렬할 수 있다.
위의 도 3 내지 도 5의 내용을 종합하면, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 포인트들의 높이 정보를 이용하여, 실제 모델(110)의 바닥면을 실제 모델(110)이 계획 모델(120)에서 대응하는 층의 바닥면과 정렬되도록, 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬할 수 있다. 실제 모델(110)과 계획 모델(120)이 높이 방향으로 정렬되었을 때, 정합 변환 행렬의 자유도가 감소된다. 즉, 컴퓨팅 장치는 실제 모델(110)을 계획 모델(120)에 정합시기키 위한 변환 정합 행렬의 자유도를 감소시킬 수 있다.
도 6은 일실시예에 따른 컴퓨팅 장치가 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출하는 동작을 나타낸 도면이다.
도 6은 컴퓨팅 장치가 서로 유사한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출하기 위하여, 수평 단면을 추출하는 높이를 결정하는 과정을 나타낸다. 실제 모델(110)의 수평 단면은 설계되지 않은 물체로 인해 계획 모델(120)의 수평 단면과 차이가 발생할 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 차이가 최소가 되는 단면의 높이를 결정할 수 있다.
도 6을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 서로 다른 높이에서 수평 단면을 추출할 수 있다. 도 6과 같이, 컴퓨팅 장치는 실제 모델(110)의 서로 다른 높이에서 수평 단면을 추출할 수 있고, 일례로 기설정된 일정 간격의 높이에서 수평 단면을 추출할 수 있다.
컴퓨팅 장치는, 실제 모델(110)의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 경계를 이용하여 면적을 계산할 수 있다. 컴퓨팅 장치가 경계를 식별하고 면적을 계산하는 과정에 대한 자세한 설명은 후술한다.
컴퓨팅 장치는 실제 모델(110)의 수평 단면들 중에서, 면적이 최대가 되는 높이에서 계획 모델(120)의 수평 단면을 추출할 수 있다. 실제 모델(110)의 수평 단면들 중에서 면적이 최대인 경우는 실내 공간에 계획되지 않은 물체가 수평 단면에 가장 적게 포함된 경우를 의미한다. 따라서, 실제 모델(110)의 수평 단면의 면적이 최대인 경우 계획 모델(120)의 수평 단면과 가장 유사한 높이를 의미할 수 있다.
컴퓨팅 장치는 도 6과 같이 실제 모델(110)의 수평 단면의 면적이 최대가 되는 높이에 따라 계획 모델(120)의 수평 단면을 추출할 수 있다.
도 7은 일실시예에 따른 컴퓨팅 장치가 실제 모델(110)의 수평 단면에서 경계를 추출하고 면적을 계산하는 동작을 나타낸 도면이다.
일례로, 컴퓨팅 장치는 도 7의 (b)와 같이 x값이 최소인 점과 최대인 점을 잇는 직선 A로 공간을 분할할 수 있다. 컴퓨팅 장치는 도 7의 (c)와 같이 x값이 최소인 점과 최대인 점을 잇는 직선과 분할된 공간에서 각각 거리가 최대인 점 a와, 직선의 두 끝점을 이용하여 삼각형을 그릴 수 있다. 컴퓨팅 장치는 도 7의 (d)와 같이, 다시 직선들과의 거리가 최대인 점들 b를 구하고, 직선과 b를 이용하여 삼각형을 그릴 수 있다. 컴퓨팅 장치는 삼각형에서 가장 멀리 떨어진 점이 없을 때까지 도 7의 (c) 내지 (e)의 과정을 반복하여, 도 7의 (f)와 같이 실제 모델(110)의 수평 단면에서 경계를 추출할 수 있다. 컴퓨팅 장치는 추출한 경계를 형성하는 각각의 꼭지점 c의 좌표를 식별할 수 있다.
일례로 컴퓨팅 장치는 추출한 경계를 형성하는 각각의 꼭지점 c의 좌표를 이용하여, 아래 식 3에 따라 실제 모델(110)의 수평 단면의 면적을 구할 수 있다.
[식 3]
상기 식 3에서, A는 실제 모델(110)의 수평 단면의 면적, x, y는 각각 꼭지점의 x좌표와 y좌표, n은 꼭지점의 개수를 의미한다.
위의 내용을 정리하면, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에서 포인트들이 형성하는 경계를 식별 내지 추출하고, 실제 모델(110)의 수평 단면의 면적을 계산할 수 있다. 그러므로, 전술한 바와 같이 컴퓨팅 장치는 서로 다른 높이에서 추출한 실제 모델(110)의 수평 단면들 중에서 면적이 최대인 높이를 결정할 수 있고, 컴퓨팅 장치는 결정된 높이에서 계획 모델(120)의 수평 단면을 추출할 수 있다.
도 8은 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 나타낸 도면이다.
도 3 및 도 6에서 설명한 바와 같이, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있고, 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출할 수 있다. 도 8은 추출된 실제 모델(110) 및 계획 모델(120)의 수평 단면을 나타낸다.
도 9는 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트를 샘플링하는 동작을 나타낸 도면이다.
도 9를 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분(Voxelization) 할 수 있다. 도 9에서 A는 계획 모델(120)의 수평 단면 일부를 확대한 영역 내의 포인트들을 나타내고 있다. 컴퓨팅 장치는 계획 모델(120)의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분할 수 있다. 도 9에서 B는 A 영역에 대하여 복셀로 구분된 포인트들을 나타낸다.
도 9를 참조하면, 일실시예에 따른 컴퓨팅 장치는, 복수의 복셀 각각에 포함된 복수의 포인트들을 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링할 수 있다. 도 9에서 C는 계획 모델(120)의 수평 단면에서 일부 영역을 복셀로 구분한 B로부터, 각각의 복셀 내의 포인트들의 무게중심으로 샘플링한 포인트를 나타낸다. 컴퓨팅 장치는 복수의 복셀 각각에 포함된 복수의 포인트들을 무게 중심에 위치하는 포인트로 샘플링할 수 있다. B에서 각각의 복셀 내에 복수의 포인트들이 포함되어 있으나, C에는 샘플링된 하나의 포인트가 각각의 복셀 내에 위치하고 있음을 확인할 수 있다.
전술한 무게 중심에 위치하는 포인트로 샘플링하는 것은 본 발명의 일례로, 컴퓨팅 장치는 복수의 복셀 각각에 포함된 복수의 포인트들을 무게 중심과 다른 위치에 하나의 포인트로 샘플링하거나, 둘 이상의 포인트로 샘플링하는 것과 같이 다양한 방법으로 각각의 복셀에 포함된 복수의 포인트들을 샘플링할 수 있다.
컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 샘플링할 수 있고, 도 9에서 F는 샘플링된 계획 모델(120)의 수평 단면을 나타낸다. 샘플링된 계획 모델(120)의 수평 단면 F는 계획 모델(120)의 수평 단면 A에 비하여 포인트의 수가 감소된 것을 확인할 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수가 감소되도록 샘플링하여, 이후에 수행되는 실제 모델(110)의 위치 추정 및 정합에 필요한 연산 비용을 감소시킬 수 있다.
도 9는 계획 모델(120)의 수평 단면에 대하여 컴퓨팅 장치가 포인트들을 샘플링하는 과정을 도시하고 있으나, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대해서도 도 9와 동일하게 포인트들을 샘플링할 수 있다.
일실시예에 따른 컴퓨팅 장치는, 복셀의 크기를 변경할 수 있다. 복셀의 크기는 샘플링되는 포인트의 개수와 관련된 것으로, 복셀의 크기가 커지면 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 포인트의 개수가 줄어드나, 정합의 정확도가 낮아질 수 있다. 반대로, 복셀의 크기가 작아지면 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 포인트의 개수가 많아지고, 정합의 정확도가 높아질 수 있다. 즉, 복셀의 크기에 따라 샘플링된 수평 단면에서 포인트의 개수가 달라질 수 있어, 연산 효율에 영향을 미치고, 정합의 정확도가 달라질 수 있다. 컴퓨팅 장치는 연산 효율 내지 연산 비용, 정합의 정확도를 고려하여 복셀의 크기를 변경할 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면과 계획 모델(120)의 수평 단면의 정합 정도를 나타내는 정합도 등에 기초하여, 복셀의 크기를 조절할 수 있다. 컴퓨팅 장치가 후술하는 내용과 같이 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합한 결과, 정합도가 낮은 경우 기존의 복셀의 크기보다 작은 크기의 복셀로 실제 모델(110) 및 계획 모델(120)의 수평 단면을 샘플링하고, 작은 크기의 복셀로 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면을 이용하여 정합을 수행할 수 있다.
도 10은 일실시예에 따른 컴퓨팅 장치가 포인트를 샘플링한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 나타낸 도면이다. A는 샘플링된 실제 모델(110)의 수평 단면을 나타내고, B는 샘플링된 계획 모델(120)의 수평 단면을 나타낸다. 도 8의 실제 모델(110) 및 계획 모델(120)의 수평 단면과 비교할 때, 각각의 수평 단면에 포함된 포인트의 개수가 줄어들었음을 확인할 수 있고, 각각의 수평 단면에 포함된 포인트들이 형성하는 기하학적 특성은 유지되고 있음을 확인할 수 있다.
복셀의 크기가 큰 경우, 각각의 수평 단면에 나타나는 기하학적 특징이 샘플링된 수평 단면에서 유지되지 않고 왜곡될 수 있다. 컴퓨팅 장치는 연산 효율 내지 비용, 실제 모델(110) 및 계획 모델(120)의 수평 단면의 정합도 등에 따라 복셀의 크기를 달리하여 실제 모델(110) 및 계획 모델(120)의 수평 단면을 샘플링할 수 있고, 예를 들어 컴퓨팅 장치는 복셀의 크기를 기존 복셀의 크기보다 작은 크기로 설정하여 각각의 수평 단면을 샘플링함으로써, 실제 모델(110) 및 계획 모델(120)의 수평 단면 정합도를 높일 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시킬 수 있다.
일례로, 컴퓨팅 장치는 미리 설정한 정합도에 따라, 복셀의 크기를 다르게 설정하여 샘플링을 재수행할 수 있다. 실제 모델(110) 및 계획 모델(120)의 수평 단면의 정합도가 미리 설정한 정합도 미만인 경우, 컴퓨팅 장치는 복셀의 크기를 더 작은 크기로 설정하여 각각의 수평 단면을 샘플링하여, 정합도를 높일 수 있다.
도 11은 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트들이 형성하는 선형 특징에 직선(또는 수평 직선, Horizontal line)을 대응시키는 동작을 나타낸 도면이다. 도 11은 컴퓨팅 장치가 계획 모델(120)의 수평 단면에 직선을 대응시키는 동작을 나타내고 있다. 실제 모델(110)의 수평 단면에 직선을 대응시키는 과정은 도시되어 있지 않으나, 컴퓨팅 장치는 도 11에 도시된 동작과 동일하게 실제 모델(110)의 수평 단면에 직선을 대응시킬 수 있다.
도 11을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시킬 수 있다. 대상물의 구조, 형태 등에 따라 수평 단면의 포인트들은 기하학적 특징을 나타낼 수 있다. 컴퓨팅 장치는 수평 단면의 포인트들이 형성하는 기하학적 특징 중 선형 특징을 추출하고, 선형 특징에 직선을 대응시킬 수 있다. 컴퓨팅 장치는 선형 특징에 대응된 직선을 이용하여, 후술하는 바와 같이 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 대응시킬 수 있다.
도 11의 (a) 및 (b)와 같이, 컴퓨팅 장치는 계획 모델(120)의 수평 단면의 포인트들 중 임의의 포인트들을 선택하고, 선택한 임의의 포인트들에 직선이 대응하는지 여부를 판단할 수 있다. (a), (b)의 경우와 같이 컴퓨팅 장치는, 임의로 선택한 포인트들이 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트(inlier)의 비율, 개수에 따라, 선택된 임의의 포인트들에 직선이 대응하지 않는 것으로 판단할 수 있다.
도 11의 (c)와 같이, 컴퓨팅 장치는 선택한 임의의 포인트들 중 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트의 비율, 개수에 따라 직선을 대응시킬 수 있다. (c)에서 대응된 직선(Fitted line)이 표시되어 있고, 대응된 직선은 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 대응됨을 확인할 수 있다.
컴퓨팅 장치는 계획 모델(120)의 수평 단면의 포인트들 중에서 대응된 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트를 제거하고, 남은 포인트들 중에서 임의의 포인트들을 선택하여 직선을 대응시킬 수 있다. 도 11의 (d), (e)와 같이 컴퓨팅 장치는 대응된 직선의 포인트들을 제거하고, 남은 포인트들 중 임의의 포인트들을 선택하여 직선을 대응시켜, (e)와 같이 직선을 대응시킬 수 있다.
일례로, 컴퓨팅 장치는 큰 직선으로부터 작은 직선 순서로 실제 모델(110) 및 계획 모델(120)의 수평 단면에 직선을 대응시킬 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수를 식별할 수 있다. 대응된 직선상에 위치하는 포인트는 대응된 직선에 포함되거나, 대응된 직선으로부터 미리 설정한 임계값 이하의 거리에 위치하는 포인트를 의미할 수 있다.
일례로, 미리 설정한 임계값은, 측정 정보와 설계 정보로부터 변환되는 실제 모델(110) 및 계획 모델(120)의 변환 오차 내지 재구성 오차 등에 따라 다르게 설정될 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 식별할 수 있다. 컴퓨팅 장치는 직선상에 위치하는 포인트의 개수가 최대인 직선의 파라메터, 즉 직선의 기울기 및 절편을 식별할 수 있다.
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들 중에서 임의의 포인트를 선택하고, RANSAC(Random Sample Consensus)을 이용하여 직선을 대응시킬 수 있다. 컴퓨팅 장치는 임의의 포인트들을 선택하고, RANSAC을 이용하여 직선을 대응(fitting)시키고, 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트(특이치, inlier)를 확인할 수 있다.
일례로 컴퓨팅 장치는 아래 식 4에 따라 직선 샘플의 수를 임의로 선택하고, 직선상에 위치하는 포인트(inlier)를 비교하여, 직선을 대응시킬 수 있다. 컴퓨팅 장치는 대응된 직선상에 위치하는 포인트를 제거하고, 직선을 대응시키는 과정을 반복할 수 있다.
[식 4]
상기 식 4에서, N은 각 직선마다 수행되는 반복 횟수, p는 하나의 랜덤 표폰 추출에 모든 특이치(inlier)를 포함하는 확률(%), e는 이상치(outlier)의 비율(%), s는 모델에 대응(fit)시킬 임의의 포인트의 수를 의미한다.
예를 들어, 상기 식 4에서 p는 99%, s는 2, e는 최초 50%로 설정되고 상기 식 4에 따라 계산을 반복하면서 변경될 수 있고, 식 4에 따라 각 직선마다 수행되는 반복 횟수 N이 결정될 수 있다.
상기의 설명에서, 컴퓨팅 장치가 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들이 형성하는 선형 특징에 직선을 대응시키는 동작에 대하여 설명하였으나, 컴퓨팅 장치는 샘플링 되지 않은 실제 모델(110) 및 계획 모델(120)의 수평 단면에 직선을 대응시킬 수 있다.
도 12는 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선을 나타낸 도면이다.
도 12는 샘플링된 실제 모델(110)의 수평 단면 A, 샘플링된 계획 모델(120)의 수평 단면 B, 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 C, 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 D를 나타내고 있다.
도 12에서, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위해서, 높이 방향의 축을 중심으로 실제 모델(110)을 회전시키고, 높이 방향과 수직한 수평 단면에서 수직한 두 축의 방향으로 실제 모델(110)을 이동시켜 두 모델의 수평 단면을 정합시킬 수 있다.
높이 방향의 축 중심의 회전각, 수평 단면에서 수직한 두 축 방향으로의 이동하는 값인 변환값(예를 들어, 상기 식 2에서 β, Rx, Rz)의 값을 찾기 위하여, 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선을 대응(coarse registration)시킬 수 있다.
컴퓨팅 장치는 회전 변환(rotational transformation, 즉, 높이 방향의 축 중심의 회전각)을 추정하기 위한 선 대응 가설에 따라, 직선의 기울기를 일치시킬 수 있도록 수평 단면을 회전시킬 수 있다.
수평 단면을 회전시킨 이후, 수평 단면에서 수직한 두 축 방향으로의 이동하는 값인 변환값(translation transformation)을 추정하기 위한 점 대응 가정에 따라, 컴퓨팅 장치는 수평 단면을 변환값에 따라 이동시킴으로써, 각 직선상에 위치하는 포인트를 일치시킬 수 있다.
높이 방향의 축 중심의 회전각, 수평 단면에서 수직한 두 축 방향으로의 이동하는 값인 변환값을 추정하기 위하여, 컴퓨팅 장치는 모델의 회전 및 포인트의 변환(이동)을 실제 모델(110)의 수평 단면 또는 계획 모델(120)의 수평 단면 중 어느 하나에 수행할 수 있다.
즉, 상기와 같이, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면 중 어느 하나에 높이 방향의 축 중심의 회전각을 추정하기 위한 회전 변환, 수평 단면에서 수직한 두 축 방향으로 이동하는 값인 변환값을 추정하기 위한 위치 변환을 수행할 수 있다.
컴퓨팅 장치가 회전 변환 및 위치 변환을 어느 모델에 수행하더라도, 실제 모델(110) 및 계획 모델(120)의 수평 단면이 일치되는 것으로 동일한 결과를 얻을 수 있고, 각각의 변환을 다른 모델에 수행하더라도 동일한 결과를 얻을 수 있다. 또한, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면 중 어느 하나를 회전한 이후 포인트를 일치시키도록 변환하는 순서로 동작하는 것으로 설명하였으나, 컴퓨팅 장치는 포인트를 일치시키도록 변환한 이후 회전 변환을 수행할 수도 있다.
이하의 설명에서, 컴퓨팅 장치는 계획 모델(120)의 수평 단면에 회전 변환 및 위치 변환을 수행하는 경우로 설명하나, 전술한 바와 같이 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 회전 변환 및 위치 변환을 수행하는 등과 같이 다양하게 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시킬 수 있다.
이하의 도 13 및 도 14에서, 컴퓨팅 장치가 수행하는 회전 변환 및 위치 변환 동작에 대하여 설명한다.
도 13은 일실시예에 따른 대응된 직선의 극 반지름과 극 각도를 나타낸 도면이다.
도 13에서 극 형태(Polar Form)의 수평 축(x, y축, 수평 단면의 수직한 두 축)에 대한 극 반지름(Polar Radius)과 극 각도(Polar Angle)이 표시되어 있다.
도 12 및 도 13을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다.
컴퓨팅 장치는, 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선들 중에서, 직선상에 위치하는 포인트의 개수가 최대인 직선을 기준으로 높이 방향의 축 중심의 회전각을 추정하기 위한 회전 변환을 수행할 수 있다.
예를 들어, 도 12의 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 C, 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 D의 극 각도의 값이 각각 , 일 때, 높이 방향의 축 중심의 회전각 r.y는 아래 식 5와 같이 얻을 수 있다. 컴퓨팅 장치는 r.y를 이용하여 계획 모델(120)의 수평 단면을 변환할 수 있다.
[식 5]
상기 식 5에서, r.y는 높이 방향의 축 중심의 변환각(rotation angle of transformation), 은 실제 모델(110)의 수평 단면에 대응된 직선의 극 반지름의 각도(angle of a polar radius in the as-built model), 은 계획 모델(120)의 수평 단면에 대응된 직선의 극 반지름의 각도(angle of a polar radius in the as-planned model)에 해당한다.
도 14는 일실시예에 따른 컴퓨팅 장치가 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시키는 동작을 나타낸 도면이다. 도 14의 A, B, C, D는 도 12의 A, B, C, D와 동일하다.
도 14를 참조하면, (b) 내지 (d)와 같이 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선을 계획 모델(120)의 수평 단면에 대응된 직선에 위치시킬 수 있다. 컴퓨팅 장치는 (d)와 같이 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.
도 14를 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다. 컴퓨팅 장치는 도 14의 (d)와 같이, 직선 C를 직선 D에 위치시켜 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.
도 14의 (a)에서 상기 식 5를 이용하여 높이 방향의 축 중심의 회전각 r.y를 얻을 수 있고, 컴퓨팅 장치는 회전각을 이용하여 계획 모델(120)의 수평 단면을 변환할 수 있다.
일예로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상의 어느 한 포인트가 계획 모델(120)의 수평 단면에 대응된 직선상의 포인트에 위치하도록 할 수 있다.
예를 들어, 도 14에서 컴퓨팅 장치는 직선 C 상의 포인트들의 무게 중심이 직선 D 상에 위치하는 포인트에 위치하도록 할 수 있고, (b) 내지 (d)는 직선 C 상의 포인트들의 무게 중심이 직선 D 상에 위치하는 포인트에 위치하는 일부의 경우를 도시하고 있다.
일예로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상의 어느 한 포인트가 계획 모델(120)의 수평 단면에 대응된 직선상의 포인트에 위치할 때 실제 모델(110)과 계획 모델(120) 사이의 거리를 식별할 수 있다.
실제 모델(110)과 계획 모델(120) 사이의 거리는 실제 모델(110)의 수평 단면에 대응된 직선상의 어느 한 포인트가 계획 모델(120)의 수평 단면에 대응된 직선상의 포인트에 위치할 때의 유사성을 의미할 수 있다. 실제 모델(110)과 계획 모델(120) 사이의 거리를 이용하여 최적의 변환을 결정할 수 있고, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.
예를 들어, 실제 모델(110)과 계획 모델(120) 사이의 거리 산출 방법은 Hausdorff 거리, RMSD(Root Mean Square Distance) 등이 적용될 수 있다.
일예로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위해 아래 표 1과 같은 알고리즘을 수행할 수 있다.
[표 1]
상기 표 1에서, 컴퓨팅 장치는 각 모델의 수평 단면으로부터 추출(대응)된 직선 l1, L1, 대응하는 포인트 P1m, Q1m, 대응하는 각(극 각도) 를 입력한다(1행). 컴퓨팅 장치는 최소 거리 D, 높이 방향의 축 중심의 회전각 R.y, 수평 방향의 수직한 두 축 방향으로 이동하는 값 T.x, T.z를 출력하고(2행), 3행 내지 11행에 의하면 컴퓨팅 장치는 회전각 r.y, 실제 모델(110)의 수평 단면에 대응하는 직선에 포함된 포인트들의 무게 중심의 좌표 P1c를 구할 수 있다. 컴퓨팅 장치는 P1c가 계획 모델(120)의 수평 단면에 대응된 직선상의 모든 점의 좌표로 변환되기 위한 수평 방향의 수직한 두 축 방향으로 이동하는 값 t.x, t.z를 각각 계산할 수 있다. 회전각 r.y와 각각의 t.x, t.z에 따라 변환된 계획 모델(120)의 수평 단면과 실제 모델(110)의 수평 단면의 거리 d를 계산하고, 거리 d가 최소가 될 때, D, R.y, T.x, T.z를 얻을 수 있다.
상기에서 컴퓨팅 장치가 구한 R.y는 높이 방향의 축 중심의 회전각, T.x, T.z는 각각 수평 단면에서 수직한 두 축(x축, z축) 방향으로 이동하는 값을 의미할 수 있다.
컴퓨팅 장치는 상기 표 1의 알고리즘에 따라 실제 모델(110) 및 계획 모델(120)의 수평 단면을 도 14의 (d)와 같이 정합시킬 수 있다.
도 14에서, 컴퓨팅 장치는 각 모델에서 직선상의 포인트의 개수가 최대인 직선 C, D를 이용하여 수평 단면을 정합하는 예시를 설명하였으나, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)에 대응된 직선을 이용하여 두 모델 사이의 거리가 최소가 될 때의 높이 방향의 축 중심의 회전각 R.y, 각각 수평 단면에서 수직한 두 축(x축, z축) 방향으로 이동하는 값 T.x, T.z를 구할 수 있다.
도 15는 일실시예에 따른 정합된 실제 모델(110) 및 계획 모델(120)을 나타낸 도면이다.
도 15를 참조하면, 일실시예에 따른 컴퓨팅 장치는, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위한 높이 방향의 변환값 및 회전각, 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 실제 모델(110)을 상기 계획 모델(120)에 정합시키기 위한 변환 정합 행렬을 계산할 수 있다. 컴퓨팅 장치는, 변환 정합 행렬을 이용하여 실제 모델(110)을 계획 모델(120)에 정합시킬 수 있다.
도 15를 참조하면, 컴퓨팅 장치는 실제 모델(110) A를 계획 모델(120) B에 정합시킬 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 포인트들의 높이 정보를 이용하여 높이 방향의 변환값 Ty를 구할 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 추출한 직선을 이용하여, 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz를 구할 수 있다.
높이 방향으로 실제 모델(110)과 계획 모델(120)을 정렬함으로써, 상기 식 2의 변환 정합 행렬의 자유도가 3으로 감소된다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시켜 변환 정합 행렬을 계산할 수 있다.
전술한 바와 같이, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정합하여, 자유도를 감소시킬 수 있다. 실제 모델(110)과 계획 모델(120)이 높이 방향으로 정렬되었을 때, 변환 정합 행렬을 구하기 위해서는 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz이 필요하다.
즉, 컴퓨팅 장치는 높이 방향의 변환값 Ty를 이용하여 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정합시킬 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합(coarse registration)시키기 위한 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz을 얻을 수 있다. 컴퓨팅 장치는 높이 방향의 변환값 Ty, 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz를 이용하여 변환 정합 행렬을 계산할 수 있다.
컴퓨팅 장치는 계산된 변환 정합 행렬을 이용하여, 실제 모델(110)을 계획 모델(120)에 정합시킬 수 있다. 일례로, 변환 정합 행렬이 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 것인 경우, 컴퓨팅 장치는 실제 모델(110)의 포인트들에 식 2와 같이 변환 정합 행렬을 곱하여 계획 모델(120)에 정합시킬 수 있다. 일례로, 변환 정합 행렬이 계획 모델(120)을 실제 모델(110)에 정합시키기 위한 것인 경우, 컴퓨팅 장치는 계획 모델(120)의 포인트들에 식 2와 같이 변환 정합 행렬을 곱하여 실제 모델(110)에 정합시킬 수 있다.
도 16 내지 도 23은 일실시예에 따른 컴퓨팅 장치를 이용한 실제 모델(110)과 계획 모델(120)의 정합 결과를 나타낸 도면이다.
도 16의 (a)는 컴퓨팅 장치를 이용하여 실제 모델(110)을 정합시킬 계획 모델(120)을 나타낸 도면이고, (b) 대상물의 실내 공간을 나타낸 도면이다. (a)는 대상물의 구분, 면적 등을 나타내고 있다. (b)와 같이, 실내 공간에는 책상, 의자 등과 같은 계획되지 않은 물체들이 위치하고 있음을 확인할 수 있다.
컴퓨팅 장치는 실제 모델(110)에서 바닥면(floor plane)을 식별하여 아래 식 6의 바닥면에 대한 평면 방정식의 계수를 계산할 수 있다. 컴퓨팅 장치는 바닥면의 평면 방정식의 계수를 이용하여 아래 식 6과 같이 수평 평면과 바닥면의 각도()를 계산하고, 바닥면의 높이를 계산할 수 있다.
[식 6]
상기 식 6에서 A, B, C는 각각 평면의 법선 벡터의 x, y, z 좌표(X-, Y-, Z-coordinates of plane's normal), D는 원점 거리 계수(origin distance coefficient)를 나타낸다.
컴퓨팅 장치는 실제 모델(110)의 수평 단면을 추출하는 간격을 아래 식 7과 같이 최적화할 수 있다.
[식 7]
상기 식 7에서, 는 최대 면적의 수평 단면을 얻을 수 있는 확률(probability of obtaining the largest area cross section), 는 최대 면적의 수평 단면의 번호(the number of cross sections with the largest area) 는 추출된 수평 단면의 개수(the total number of cross sections extracted)를 의미한다. 특히, 는 최대 면적의 수평 단면의 번호로, 바닥면의 높이와 추출된 수평 단면 사이의 간격(interval)을 이용하여 면적이 최대인 수평 단면의 고도를 얻을 수 있다.
일례로, 컴퓨팅 장치는 복셀의 크기(즉, 복셀의 사이즈 내지 개수)를 다르게 설정할 수 있다. 복셀의 크기가 작고, 복셀의 개수가 많은 경우, 컴퓨팅 장치가 실제 모델(110)을 계획 모델(120)에 정합시키기 위하여 더 많은 계산을 수행하여야 한다. 컴퓨팅 장치는 유사 인덱스(Similarity index)를 기반으로 실제 모델(110)과 계획 모델(120)을 정합(Localization and Registeration)한 결과에 따라 복셀의 사이즈를 다르게 설정하여, 최적의 복셀 사이즈를 결정할 수 있다.
도 17은 일실시예에 따라 컴퓨팅 장치가 도 16에서 표시된 현관(hallway)의 바닥면을 식별한 결과를 나타낸 도면이다. 도 17에서 실제 모델(110) A에서 인식된 바닥면 B가 도시되어 있다.
도 18은 일실시예에 따라 컴퓨팅 장치가 간격을 다르게 설정하여 실제 모델(110)의 수평 단면을 추출하였을 때의 처리 시간과 최대 면적의 단면을 얻을 확률을 나타낸 도면이다. 도18에서, 간격(interval)이 0.1m일 때, 최대 면적의 단면을 얻을 확률이 0.25로 최대이므로, 컴퓨팅 장치는 0.1m 간격으로 실제 모델(110)의 수평 단면을 추출할 수 있다.
도 19는 일실시예에 따라 컴퓨팅 장치가 추출한 실제 모델(110)의 수평 단면을 나타낸 도면이다. 각각 도 16에서 (a)는 301A호(Room 301A), (b)는 301호(Room 301), (c)는 302호(Room 302), (d)303호(Room 303), (e)는 304호(Room 304), (f)는 305호(Room 305), (g)는 현관(Hallway)에 해당한다. 도 19에 도시된 수평 단면은 각각 최적의 높이, 즉 추출한 수평 단면들 중에서 면적이 최대가 되는 높이에서 추출된 단면을 나타낸다.
도 20은 일실시예에 따른 복셀 사이즈의 크기 별 처리 시간 및 RMSE를 나타낸 도면이다. 도 20과 같이, 303호, 304호 및 현관에 대해서 복셀 사이즈가 증가하면 처리 시간을 감소하나, 실제 모델(110) 및 계획 모델(120)의 수평 단면의 정합(coarse registration)에서 RMSE(root mean square error)가 증가함을 확인할 수 있다.
일실시예에 따르면, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트가 미리 설정한 비율 이하로 직선에 대응시킬 수 있다. 각 모델에 포함된 포인트들 중 일부는 선형 특징 외의 다른 특징을 가질 수 있다. 각 모델에 포함된 포인트가 미리 설정한 비율 이하로 직선에 대응하도록 하여, 선형 특징 외의 다른 특징을 가지는 포인트를 남겨둘 수 있다.
도 21은 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킨 결과, 도 22는 실제 모델(110)을 계획 모델(120)에 정합시킨 결과를 나타낸 도면이다. 각각 (a)는 301A호(Room 301A), (b)는 301호(Room 301), (c)는 302호(Room 302), (d)303호(Room 303), (e)는 304호(Room 304), (f)는 305호(Room 305), (g)는 현관(Hallway)의 정합 결과를 나타낸다.
도 23은 일실시예에 따른 컴퓨팅 장치가 제공하는 증강 현실 화면을 나타낸 도면이다.
도 23을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실내 공간을 측정한 측정 정보에 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다. 컴퓨팅 장치는 도 23의 (a)와 같이, 현관을 촬영하는 영상에 BIM 등과 같은 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다. 또한, 컴퓨팅 장치는 (b)와 같이 305호의 영상에 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다.
컴퓨팅 장치는 실제 모델(110)과 설계 모델의 정합 결과를 이용하여, 측정 정보에 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다.
이하의 도 24 및 도 25는 모델 정합 방법의 흐름도로, 전술한 컴퓨팅 장치에 의하여 수행될 수 있다. 따라서, 이하의 모델 정합 방법에 대하여 생략된 설명이라 하더라도, 컴퓨팅 장치에 대해서 설명한 내용은 모델 정합 방법에서 동일하게 적용될 수 있다.
도 24는 일실시예에 따른 모델 정합 방법의 흐름도이다.
도 24를 참조하면, 단계 S110에서 컴퓨팅 장치는 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델(110)을 식별하고, 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델(120)을 식별할 수 있다.
다음으로, 단계 S120에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)에 포함된 포인트들의 높이 정보를 이용하여, 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있다.
다음으로 단계 S130에서 컴퓨팅 장치는 동일한 높이에서 높이 방향과 수직한 방향으로 실제 모델(110) 및 상기 계획 모델(120)의 수평 단면을 추출할 수 있다.
다음으로 단계 S140에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시킬 수 있다.
다음으로, 단계 S150에서 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선을 계획 모델(120)의 수평 단면에 대응된 직선에 위치시키고, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.
도 25는 일실시예에 따른 모델 정합 방법의 흐름도이다.
도 25를 참조하면, 단계 S210에서 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델(110)을 식별하고, 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델(120)을 식별할 수 있다.
다음으로, 단계 S220에서 컴퓨팅 장치는 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시킬 수 있다.
다음으로 단계 S230에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 차원을 감소시킬 수 있다.
다음으로, 단계 S240에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시킬 수 있다.
상기의 단계 S220 내지 S240 단계는 변환 정합 행렬을 얻기 위한 파라메터를 최적화하는 단계로, 변환 정합 행렬의 자유도, 실제 모델(110) 및 계획 모델(120)의 차원, 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트의 개수를 감소시킴으로써 연산 효율을 높이고, 정합의 정확도를 높일 수 있다.
다음으로, 단계 S250에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 단면의 기하학적 특성을 이용하여 실제 모델(110)의 단면을 상기 계획 모델(120)의 단면에 정합시킬 수 있다.
다음으로, 단계 S260에서 컴퓨팅 장치는 정합된 실제 모델(110)의 단면을 이용하여 변환 정합 행렬을 계산할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
실제 모델: 110
계획 모델: 120
계획 모델: 120
Claims (18)
- 모델 정합 방법에 있어서,
컴퓨팅 장치가 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하는 단계;
상기 컴퓨팅 장치가 상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하는 단계;
상기 컴퓨팅 장치가 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계;
상기 컴퓨팅 장치가 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하는 단계;
상기 컴퓨팅 장치가 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 단계; 및
상기 컴퓨팅 장치가 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는 단계;
를 포함하는, 모델 정합 방법. - 제1항에 있어서,
상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하는 단계; 및
상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시키는 단계
를 더 포함하는, 모델 정합 방법. - 제1항에 있어서,
상기 높이 방향으로 정렬하는 단계는,
상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시키는, 모델 정합 방법. - 제1항에 있어서,
상기 수평 단면을 추출하는 단계는,
상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하는 단계;
상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하는 단계; 및
상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출하는 단계
를 포함하는, 모델 정합 방법. - 제1항에 있어서,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계; 및
상기 복수의 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링하는 단계
를 더 포함하는, 모델 정합 방법. - 제1항에 있어서,
상기 정합시키는 단계는,
상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시키는, 모델 정합 방법. - 모델 정합 방법에 있어서,
컴퓨팅 장치가 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하는 단계;
상기 컴퓨팅 장치가 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키는 단계;
상기 컴퓨팅 장치가 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키는 단계;
상기 컴퓨팅 장치가 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 선형 특징을 포함하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키는 단계;
상기 컴퓨팅 장치가 포인트들의 개수가 감소된 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 포인트들의 개수가 감소된 상기 실제 모델의 단면을 포인트들의 개수가 감소된 상기 계획 모델의 단면에 정합시키는 단계;
상기 컴퓨팅 장치가 포인트들의 개수가 감소된 상기 계획 모델의 단면에 정합된 포인트들의 개수가 감소된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산하는 단계;
를 포함하고,
상기 포인트들의 개수를 감소시키는 단계는,
상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 선형 특징이 포인트들의 개수가 감소된 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 선형 특징과 동일하도록 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들의 개수를 감소시켜 상기 기하학적 특성을 유지하는, 모델 정합 방법. - 제7항에 있어서,
상기 자유도를 감소시키는 단계는,
상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계; 및
동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출하는 단계
를 포함하는, 모델 정합 방법. - 제7항에 있어서,
상기 포인트들의 개수를 감소시키는 단계는,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계; 및
상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링하는 단계
를 포함하는, 모델 정합 방법. - 모델 정합 방법을 수행하는 컴퓨팅 장치에 있어서,
프로세서를 포함하고,
상기 프로세서는,
대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하고, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하고, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키고, 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는, 컴퓨팅 장치. - 제10항에 있어서,
상기 프로세서는,
상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하고, 상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시키는, 컴퓨팅 장치. - 제10항에 있어서,
상기 프로세서는,
상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시키는, 컴퓨팅 장치. - 제10항에 있어서,
상기 프로세서는,
상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하고, 상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하고, 상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출하는, 컴퓨팅 장치. - 제10항에 있어서,
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복수이 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링하는, 컴퓨팅 장치. - 제10항에 있어서,
상기 프로세서는,
상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시키는, 컴퓨팅 장치. - 모델 정합 방법을 수행하는 컴퓨팅 장치에 있어서,
프로세서를 포함하고,
상기 프로세서는,
대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하고, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키고, 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 선형 특징을 포함하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키고, 포인트들의 개수가 감소된 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 포인트들의 개수가 감소된 상기 실제 모델의 단면을 포인트들의 개수가 감소된 상기 계획 모델의 단면에 정합시키고, 포인트들의 개수가 감소된 상기 계획 모델의 단면에 정합된 포인트들의 개수가 감소된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산하고,
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 선형 특징이 포인트들의 개수가 감소된 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 선형 특징과 동일하도록 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들의 개수를 감소시켜 상기 기하학적 특성을 유지하는, 컴퓨팅 장치. - 제16항에 있어서,
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출하는, 컴퓨팅 장치. - 제16항에 있어서,
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링하는, 컴퓨팅 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210083243A KR102548013B1 (ko) | 2021-06-25 | 2021-06-25 | 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210083243A KR102548013B1 (ko) | 2021-06-25 | 2021-06-25 | 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230000744A KR20230000744A (ko) | 2023-01-03 |
KR102548013B1 true KR102548013B1 (ko) | 2023-06-27 |
Family
ID=84924578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210083243A KR102548013B1 (ko) | 2021-06-25 | 2021-06-25 | 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102548013B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003022454A (ja) | 2001-07-06 | 2003-01-24 | Nissan Motor Co Ltd | データの座標変換方法 |
KR102037332B1 (ko) | 2019-05-02 | 2019-11-26 | (주)디노 | 3차원 설계 도면의 정합성 검증 방법 및 이를 위한 시스템 |
KR102037331B1 (ko) | 2019-05-02 | 2019-11-26 | (주)디노 | 플랜트 정밀 시공 지원 시스템 및 공간 정합성 검증 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101616327B1 (ko) * | 2014-10-15 | 2016-04-28 | 삼성중공업 주식회사 | 3차원 점군 생성 시스템 및 방법 |
-
2021
- 2021-06-25 KR KR1020210083243A patent/KR102548013B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003022454A (ja) | 2001-07-06 | 2003-01-24 | Nissan Motor Co Ltd | データの座標変換方法 |
KR102037332B1 (ko) | 2019-05-02 | 2019-11-26 | (주)디노 | 3차원 설계 도면의 정합성 검증 방법 및 이를 위한 시스템 |
KR102037331B1 (ko) | 2019-05-02 | 2019-11-26 | (주)디노 | 플랜트 정밀 시공 지원 시스템 및 공간 정합성 검증 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20230000744A (ko) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109544677B (zh) | 基于深度图像关键帧的室内场景主结构重建方法及系统 | |
CN111508021B (zh) | 一种位姿确定方法、装置、存储介质及电子设备 | |
JP6681729B2 (ja) | オブジェクトの3d姿勢およびオブジェクトのランドマーク点の3dロケーションを求める方法、およびオブジェクトの3d姿勢およびオブジェクトのランドマークの3dロケーションを求めるシステム | |
JP4940461B2 (ja) | 3次元物体認識装置及び3次元物体認識方法 | |
JP2018055679A (ja) | 3dアライメントアルゴリズムのためのバランスの取れたプローブサイトの選択 | |
CN104040590A (zh) | 用于估计物体的姿态的方法 | |
WO2011115143A1 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
CN111079565A (zh) | 视图二维姿态模板的构建方法及识别方法、定位抓取系统 | |
Drost et al. | Local hough transform for 3d primitive detection | |
Sveier et al. | Object detection in point clouds using conformal geometric algebra | |
CN116091686A (zh) | 用于三维重建的方法、系统和存储介质 | |
JP6673504B2 (ja) | 情報処理装置、データベース生成装置、方法、プログラム、及び記憶媒体 | |
CN116844124A (zh) | 三维目标检测框标注方法、装置、电子设备和存储介质 | |
CN107765257A (zh) | 一种基于反射强度辅助外部校准的激光探测与测量方法 | |
JP5500245B2 (ja) | トレーニング方法及び装置並びに画像における対象の姿勢視角を推定する方法及び装置 | |
KR102548013B1 (ko) | 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치 | |
CN111275747B (zh) | 一种虚拟装配方法、装置、设备和介质 | |
JP2019105992A (ja) | 画像処理装置、画像処理プログラム及び画像処理方法 | |
Pan et al. | Vision-based approach angle and height estimation for UAV landing | |
Poglitsch et al. | [POSTER] A Particle Filter Approach to Outdoor Localization Using Image-Based Rendering | |
Wan et al. | A performance comparison of feature detectors for planetary rover mapping and localization | |
JP6281938B2 (ja) | データ処理装置、データ処理方法、及びデータ処理プログラム | |
JP2003123057A (ja) | 3次元形状モデルの生成方法および装置 | |
Wu et al. | Consistent correspondence between arbitrary manifold surfaces | |
KR20200056791A (ko) | 다중 이미지 마커 기반 증강 영상 생성 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |