KR20230000744A - Method of resistration and localization and computung device for performing the method - Google Patents
Method of resistration and localization and computung device for performing the method Download PDFInfo
- Publication number
- KR20230000744A KR20230000744A KR1020210083243A KR20210083243A KR20230000744A KR 20230000744 A KR20230000744 A KR 20230000744A KR 1020210083243 A KR1020210083243 A KR 1020210083243A KR 20210083243 A KR20210083243 A KR 20210083243A KR 20230000744 A KR20230000744 A KR 20230000744A
- Authority
- KR
- South Korea
- Prior art keywords
- model
- planned
- actual
- points
- section
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 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)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Structural Engineering (AREA)
- General Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Civil Engineering (AREA)
- Architecture (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Mathematical Optimization (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
Description
본 발명은 모델 정합 방법 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것이다.The present invention relates to a model matching method and a computing device for performing the method.
실내 환경에서의 계획 모델(As-planned Model)의 증강 현실(Augmented Reality) 구현을 위한 컴퓨터 비전 기반 위치 추정 기술 및 정합 기술에서, 실내 환경의 자기 유사성, 계획되지 않은 추가 물체의 존재 등의 이유로 위치 추정 및 정합에 오류가 발생한다.In the computer vision-based position estimation technology and matching technology for implementing augmented reality of an as-planned model in an indoor environment, location due to self-similarity of the indoor environment, the presence of unplanned additional objects, etc. Errors in estimation and matching occur.
실내 환경을 이용하여 구성한 실제 모델(As-built Model)을 계획 모델에 정합하기 위한 변환 정합 행렬을 얻기 위한 연산에서, 변환 추정의 자유도, 변환 추정의 복잡성, 넓은 검색 공간으로 인하여 연산이 복잡하고, 위치 추정 및 정합의 정확도가 감소한다.In the operation to obtain the transformation matching matrix for matching the as-built model constructed using the indoor environment to the planned model, the operation is complicated due to the degree of freedom of transformation estimation, complexity of transformation estimation, and wide search space. , the accuracy of position estimation and matching decreases.
본 문서에 개시되는 다양한 실시예에 따르면, 실제 모델 및 계획 모델을 높이 방향으로 정렬하고, 실제 모델 및 계획 모델의 수평 단면을 추출하여, 각 수평 단면에 포함된 포인트의 선형 특징(또는 기하학적 특징)을 기반으로 실제 모델의 위치를 추정하고, 실제 모델을 계획 모델에 정합할 수 있는 모델 정합 방법을 제공한다.According to various embodiments disclosed in this document, the actual model and the planned model are aligned in the height direction, horizontal sections of the actual model and the planned model are extracted, and linear features (or geometric features) of points included in each horizontal section are obtained. Based on this, we estimate the location of the actual model and provide a model matching method that can match the actual model to the planned model.
본 문서에 개시되는 다양한 실시예에 따르면, 실제 모델을 계획 모델에 정합하기 위한 변환 정합 행렬의 자유도가 감소되고, 포인트 샘플링을 통해 검색 공간을 감소시켜, 실제 모델의 위치 추정 및 정합을 위한 연산을 간소화하고, 정확도를 높일 수 있는 모델 정합 방법을 제공할 수 있다.According to various embodiments disclosed in this document, the degree of freedom of a transformation matching matrix for matching a real model to a planned model is reduced, and a search space is reduced through point sampling to perform calculations for estimating and matching the position of a real model. It is possible to provide a model matching method that can simplify and increase accuracy.
본 문서에 개시되는 다양한 실시예에 따르면, 변환 추정의 복잡성을 줄이고 기하학적 특징 또는 선형 특징을 기반으로 특징 매칭을 단순화한 모델 정합 방법을 제공할 수 있다.According to various embodiments disclosed in this document, it is possible to provide a model matching method that reduces the complexity of transform estimation and simplifies feature matching based on geometric features or linear features.
일실시예에 따른 모델 정합 방법은, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하는 단계, 상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하는 단계, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하는 단계, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 단계 및 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는 단계를 포함할 수 있다.A model matching method according to an embodiment includes identifying an actual model composed of a plurality of points to correspond to measurement information obtained by measuring an indoor space of an object, and selecting a plan model composed of a plurality of points to correspond to design information of the object. identifying, aligning the actual model and the planned model in a height direction using height information of points included in the actual model and the planned model; extracting horizontal cross sections of the model and the planned model, correlating a straight line to a linear feature formed by points of the horizontal cross sections of the actual model and the planned model, and converting a straight line corresponding to the horizontal cross section of the actual model to the plan model. Positioning a straight line corresponding to the horizontal cross section of the model, and matching the horizontal cross section of the actual model to the horizontal cross section of the planned model.
상기 모델 정합 방법은, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하는 단계 및 상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시키는 단계를 더 포함할 수 있다.The model matching method uses the conversion value in the height direction and the rotation angle for matching the horizontal section of the actual model to the horizontal section of the plan model, and the conversion value in two axis directions perpendicular to the horizontal section, The method may further include calculating a transformation matching matrix for matching a real model to the planned model and matching the actual model to the planned model using the transformation matching matrix.
상기 높이 방향으로 정렬하는 단계는, 상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시킬 수 있다.The aligning in the height direction may be performed by using a difference between a height of a point having a minimum height among points included in the actual model and a height of a point having a minimum height among points included in the plan model, A bottom surface of the model may be aligned with a bottom surface of a floor where the actual model corresponds to the planned model.
상기 수평 단면을 추출하는 단계는, 상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하는 단계, 상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하는 단계 및 상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출하는 단계를 포함할 수 있다.The extracting of the horizontal cross section may include extracting the horizontal cross section at different heights of the actual model, identifying a boundary formed by points of each horizontal cross section of the actual model, and calculating an area using the boundary. and extracting a horizontal section of the planned model from among horizontal sections of the actual model at a height at which the area is maximized.
상기 모델 정합 방법은, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계 및 상기 복수의 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링하는 단계를 더 포함할 수 있다.The model matching method includes dividing horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes, and locating a plurality of points included in each of the plurality of voxels at the center of gravity of the plurality of points. It may further include sampling with points that do.
상기 정합시키는 단계는, 상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다.In the matching step, a straight line having the maximum number of points located on a straight line corresponding to the horizontal cross section of the actual model is converted to a straight line having the maximum number of points located on a straight line corresponding to the horizontal cross section of the planning model. can be located.
일실시예에 따른 모델 정합 방법에 있어서, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하는 단계, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키는 단계, 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키는 단계, 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키는 단계, 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 상기 실제 모델의 단면을 상기 계획 모델의 단면에 정합시키는 단계, 정합된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산하는 단계를 포함할 수 있다.In the model matching method according to an embodiment, a real model composed of a plurality of points in a three-dimensional coordinate space is identified to correspond to measurement information obtained by measuring an indoor space of an object, and a three-dimensional model corresponding to design information of the object is identified. Identifying a planning model composed of a plurality of points in a coordinate space of , reducing degrees of freedom of a transformation matching matrix for matching the actual model to the planning model, and reducing the dimensions of the actual model and the planning model. , reducing the number of points while maintaining the geometric characteristics formed by the points included in the cross sections of the actual model and the planned model, using the geometric characteristics of the cross sections of the actual model and the planned model and matching the cross section of the plan model, and calculating the transformation matching matrix using the matched cross section of the actual model.
상기 자유도를 감소시키는 단계는, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계 및 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출하는 단계를 포함할 수 있다.The reducing of the degree of freedom may include aligning the actual model and the planned model in a height direction using information about heights of points included in the actual model and the planned model, and the height direction and the height direction at the same height. and extracting a horizontal section of the actual model and a horizontal section of the planned model in a vertical direction.
상기 포인트들의 개수를 감소시키는 단계는, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계 및 상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링하는 단계를 포함할 수 있다.The reducing of the number of points may include dividing horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes, and placing a plurality of points included in the voxels at the center of gravity of the plurality of points. A step of sampling with one located point may be included.
일실시예에 따른 모델 정합 방법을 수행하는 컴퓨팅 장치에 있어서, 프로세서를 포함하고, 상기 프로세서는, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델을 식별하고, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하고, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키고, 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시킬 수 있다.A computing device for performing a model matching method according to an embodiment, comprising: a processor, wherein the processor identifies a real model composed of a plurality of points to correspond to measurement information obtained by measuring an indoor space of an object; Identify a plan model composed of a plurality of points to correspond to the design information of, and align the actual model and the plan model in the height direction using height information of points included in the actual model and the plan model, and Horizontal sections of the actual model and the planned model are extracted from a height in a direction perpendicular to the height direction, a straight line is corresponded to a linear feature formed by points of the horizontal sections of the actual model and the planned model, and the actual model A straight line corresponding to the horizontal cross section of may be positioned on a straight line corresponding to the horizontal cross section of the planned model, and the horizontal cross section of the actual model may be matched to the horizontal cross section of the planned model.
상기 프로세서는, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하고, 상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시킬 수 있다.The processor uses the conversion value in the height direction and the rotation angle for matching the horizontal section of the actual model to the horizontal section of the planned model, and the conversion value in two axes directions perpendicular to the horizontal section, A transformation matching matrix for matching to the planned model may be calculated, and the real model may be matched to the planned model using the transformation matching matrix.
상기 프로세서는, 상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시킬 수 있다.The processor determines the bottom surface of the actual model by using a difference between a height of a point having a minimum height among points included in the actual model and a height of a point having a minimum height among points included in the plan model. The actual model may be aligned with a floor surface of a floor corresponding to the plan model.
상기 프로세서는, 상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하고, 상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하고, 상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출할 수 있다.The processor extracts horizontal sections of the real model at different heights, identifies a boundary formed by points of each of the horizontal sections of the real model, calculates an area using the boundary, and calculates an area of the real model. Among the cross sections, a horizontal cross section of the planning model may be extracted at a height at which the area is maximized.
상기 프로세서는, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복수이 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링할 수 있다.The processor divides the horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes, and samples a plurality of points included in each of the plurality of voxels as points located at the center of gravity of the plurality of points. can do.
상기 프로세서는, 상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다.The processor is configured to place a straight line having the maximum number of points located on a straight line corresponding to the horizontal cross section of the actual model to a straight line having the maximum number of points located on a straight line corresponding to the horizontal cross section of the plan model. can
일실시예에 따른 모델 정합 방법을 수행하는 컴퓨팅 장치에 있어서, 프로세서를 포함하고, 상기 프로세서는, 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하고, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키고, 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 상기 실제 모델의 단면을 상기 계획 모델의 단면에 정합시키고, 정합된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산할 수 있다.A computing device performing a model matching method according to an embodiment, including a processor, wherein the processor includes a real model composed of a plurality of points in a three-dimensional coordinate space to correspond to measurement information obtained by measuring an indoor space of an object. Identifying, identifying a planning model composed of a plurality of points in a three-dimensional coordinate space to correspond to the design information of the object, reducing the degree of freedom of a transformation matching matrix for matching the actual model to the planning model, Reduce the dimensions of the real model and the planned model, reduce the number of points while maintaining the geometric characteristics formed by the points included in the cross section of the actual model and the planned model, and The cross section of the real model may be matched to the cross section of the planning model using geometric characteristics, and the transformation matching matrix may be calculated using the matched cross section of the actual model.
상기 프로세서는, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출할 수 있다.The processor aligns the actual model and the planned model in a height direction using information about the heights of points included in the actual model and the planned model, and sets the actual model and the planned model in a direction perpendicular to the height direction at the same height. A horizontal section of the actual model and a horizontal section of the planned model may be extracted.
상기 프로세서는, 상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링할 수 있다. The processor divides the horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes, and samples a plurality of points included in the voxels as one point located at the center of gravity of the plurality of points. can do.
본 문서에 개시되는 다양한 실시예에 따르면, 포인트 클라우드로 구성된 실제 모델과 계획 모델의 대표적인 수평 단면을 추출하여 두 모델을 유사하게 만든 후, 검색 공간을 줄이기 위해 불필요한 변환을 제한하고, 정합 변환 행렬을 추정하기 위해 선형 특징을 대응시킴으로써 위치 추정 및 정합의 정확도를 높인다.According to various embodiments disclosed in this document, after making the two models similar by extracting representative horizontal sections of the actual model and the planned model composed of point clouds, limiting unnecessary transformations to reduce the search space, and generating a matched transformation matrix Corresponding linear features to estimate increases the accuracy of localization and matching.
본 문서에 개시되는 다양한 실시예에 따르면, 휴대용 증강현실 장치를 이용한 건설 및 시설 관리에 있어서, 모델 정합 방법에 따라 실제 모델을 계획 모델에 정합시킴으로써 효율성을 높일 수 있다.According to various embodiments disclosed in this document, in construction and facility management using a portable augmented reality device, efficiency may be increased by matching a real model to a planned model according to a model matching method.
도 1은 일실시예에 따른 컴퓨팅 장치의 동작 흐름을 나타낸 도면이다.
도 2는 일실시예에 따른 실제 모델 및 계획 모델을 나타낸 도면이다.
도 3은 일실시예에 따른 높이 방향으로 정렬된 실제 모델 및 계획 모델을 나타낸 도면이다.
도 4는 일실시예에 따른 실제 모델 및 계획 모델의 좌표계를 나타낸 도면이다.
도 5는 일실시예에 따른 변환 정합 행렬의 자유도를 나타낸 도면이다.
도 6은 일실시예에 따른 컴퓨팅 장치가 실제 모델 및 계획 모델의 수평 단면을 추출하는 동작을 나타낸 도면이다.
도 7은 일실시예에 따른 컴퓨팅 장치가 실제 모델의 수평 단면의 면적을 계산하는 동작을 나타낸 도면이다.
도 8은 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델 및 계획 모델의 수평 단면을 나타낸 도면이다.
도 9는 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트를 샘플링하는 동작을 나타낸 도면이다.
도 10은 일실시예에 따른 컴퓨팅 장치가 포인트를 샘플링한 실제 모델 및 계획 모델의 수평 단면을 나타낸 도면이다.
도 11은 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 동작을 나타낸 도면이다.
도 12는 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델 및 계획 모델의 수평 단면에 대응된 직선을 나타낸 도면이다.
도 13은 일실시예에 따른 대응된 직선의 극 반지름과 극 각도를 나타낸 도면이다.
도 14는 일실시예에 따른 컴퓨팅 장치가 실제 모델 및 계획 모델의 수평 단면을 정합시키는 동작을 나타낸 도면이다.
도 15는 일실시예에 따른 정합된 실제 모델 및 계획 모델을 나타낸 도면이다.
도 16 내지 도 23은 일실시예에 따른 컴퓨팅 장치를 이용한 실제 모델과 계획 모델의 정합 결과를 나타낸 도면이다.
도 24는 일실시예에 따른 모델 정합 방법의 흐름도이다.
도 25는 일실시예에 따른 모델 정합 방법의 흐름도이다.1 is a diagram illustrating an operation flow of a computing device according to an exemplary embodiment.
2 is a diagram illustrating an actual model and a planned model according to an embodiment.
3 is a diagram showing a real model and a planned model aligned in a height direction according to an embodiment.
4 is a diagram illustrating coordinate systems of a real model and a planned model according to an embodiment.
5 is a diagram illustrating degrees of freedom of a transformation matching matrix according to an embodiment.
6 is a diagram illustrating an operation of extracting horizontal sections of a real model and a planned model by a computing device according to an embodiment.
7 is a diagram illustrating an operation of calculating an area of a horizontal section of a real model by a computing device according to an exemplary embodiment.
8 is a diagram illustrating horizontal cross-sections of a real model and a planned model extracted by a computing device according to an embodiment.
9 is a diagram illustrating an operation of sampling a point of a horizontal section by a computing device according to an exemplary embodiment.
10 is a diagram illustrating horizontal cross-sections of a real model and a planned model in which points are sampled by a computing device according to an embodiment.
11 is a diagram illustrating an operation of a computing device to correspond a straight line to a linear feature formed by points of a horizontal section according to an embodiment.
12 is a diagram illustrating straight lines corresponding to horizontal sections of a real model and a planned model extracted by a computing device according to an embodiment.
13 is a diagram showing polar radii and polar angles of corresponding straight lines according to an embodiment.
14 is a diagram illustrating an operation of matching horizontal sections of a real model and a planned model by a computing device according to an embodiment.
15 is a diagram illustrating a matched actual model and a planned model according to an embodiment.
16 to 23 are diagrams illustrating matching results of a real model and a planned model using a computing device according to an embodiment.
24 is a flowchart of a model matching method according to an embodiment.
25 is a flowchart of a model matching method according to an embodiment.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes can be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents or substitutes to the embodiments are included within the scope of rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only for descriptive purposes and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the present application, they should not be interpreted in an ideal or excessively formal meaning. don't
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.
이하에서, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 일실시예에 따른 컴퓨팅 장치의 동작 흐름을 나타낸 도면이다. 1 is a diagram illustrating an operation flow of a computing device according to an exemplary embodiment.
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점(또는 포인트 클라우드, Point Clouds)으로 구성된 실제 모델(110)을 식별하고, 대상물의 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델(120)을 식별할 수 있다. 실제 모델(110)은 대상물의 실내 공간을 측정한 측정 정보에 대응하는 복수의 점으로 구성된다. 측정 정보는 실내 공간에 추가적으로 설치된 설비, 기구 등에 의해 설계 정보와 다르게 측정될 수 있다. 따라서, 설계 정보에 대응하는 계획 모델(120)과 실제 모델(110)이 다를 수 있다.Referring to FIG. 1 , a computing device according to an embodiment identifies a
도 1을 참조하면, 컴퓨팅 장치는 검색 공간을 감소시키고, 변환 추정 및 정합의 정확도를 향상시키기 위하여, 실제 모델(110)과 계획 모델(120)을 변환할 수 있다. 컴퓨팅 장치가 실제 모델(110)과 계획 모델(120)의 변환을 수행함으로써, 실제 모델(110)을 계획 모델(120)에 정합하기 위한 변환 정합 행렬을 계산하는 과정에서 사용되는 파라메터를 최적화할 수 있다. Referring to FIG. 1 , a computing device may transform a
일례로, 최적화되는 파라메터는 변환 정합 행렬의 자유도(degree of freedom), 복수의 점으로 구성된 실제 모델(110)과 계획 모델(120)의 차원(Dimension), 복수의 점의 해상도(resolution) 등이 해당할 수 있다.For example, the parameters to be optimized include the degree of freedom of the transformation matching matrix, the dimensions of the
일례로, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 수직 정렬하고, 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출할 수 있다. 컴퓨팅 장치는 추출한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 다운 샘플링 처리하여, 각각의 수평 단면에 포함된 포인트의 수를 감소시킬 수 있다. 즉, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 수직 정렬, 수평 단면 추출, 다운 샘플링하는 등의 변환을 통해 파라메터를 최적화할 수 있다.For example, the computing device may vertically align the
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)에 포함된 포인트들의 높이 정보를 이용하여, 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있다. 즉, 실제 모델(110)이 계획 모델(120)에서 대응하는 층, 높이 등에 실제 모델(110)을 위치시킬 수 있다. 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬함으로써, 변환 정합 행렬의 자유도가 감소할 수 있다. 변환 정합 행렬의 자유도 감소에 대해서는 후술한다.Referring to FIG. 1 , a computing device according to an embodiment sets a
일례로, 실제 모델(110) 및 계획 모델(120)의 포인트들은 3차원 좌표를 가질 수 있다. 실제 모델(110)은 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성되며, 실내 공간을 측정하는 장치의 시선 자세 추적(view pose tracking), 중력 센서 등을 이용하여 수직 평면과 수평 평면이 인식될 수 있다. 실제 모델(110)은 인식된 수직 평면과 수평 평면에 따라 복수의 점들이 각각 3차원 좌표를 가지도록 구성될 수 있다. 또한, 설계 정보에 포함된 3차원 좌표에 관한 정보를 이용하여 계획 모델(120)에 포함된 복수의 점 각각이 3차원 좌표를 가지도록 구성될 수 있다.For example, points of the
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 동일한 높이에서 높이 방향과 수직한 방향으로 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출할 수 있다. 컴퓨팅 장치는 도 1과 같이 높이 방향으로 정렬된 실제 모델(110) 및 계획 모델(120)의 동일한 높이에서 단면을 추출할 수 있다. Referring to FIG. 1 , the computing device according to an embodiment may extract horizontal sections of the
컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출하여, 3차원으로 표현된 복수의 점들을 동일한 높이에서의 2차원 단면으로 변환할 수 있다. 컴퓨팅 장치는 3차원으로 표현된 복수의 점들을 2차원 단면으로 표현된 복수의 점들로 변환함으로써, 실제 모델(110)의 위치를 추정하고 정합하기 위한 파라메터인 복수의 점들의 차원을 감소시킬 수 있다.The computing device may extract horizontal sections of the
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수를 감소하도록 샘플링할 수 있다. 도 1에서, 다운 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수는 추출된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수에 비하여 작은 것을 알 수 있다. 즉, 다운 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 해상도가 감소하였음을 확인할 수 있다.Referring to FIG. 1 , the computing device according to an embodiment may perform sampling to reduce the number of points included in horizontal sections of the
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응(line fitting) 시킬 수 있다. 도 1과 같이, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)의 수평 단면에 포함된 포인트들이 형성하는 선형 특징에 직선을 대응시킬 수 있고, 도 1에서 실제 모델(110)과 계획 모델(120)의 수평 단면에 대응된 직선들이 표시되어 있음을 확인할 수 있다. Referring to FIG. 1 , a computing device according to an exemplary embodiment may perform line fitting to linear features formed by points of horizontal sections of a
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선을 계획 모델(120)의 수평 단면에 대응된 직선에 위치시키고, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다. 도 1과 같이, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선이 계획 모델(120)의 수평 단면에 대응된 직선에 위치하도록 실제 모델(110)의 수평 단면의 위치를 변환할 수 있다. Referring to FIG. 1 , the computing device according to an embodiment positions a straight line corresponding to a horizontal cross section of a
컴퓨팅 장치는 실제 모델(110)의 수평 단면이 계획 모델(120)의 수평 단면에 정합하도록, 각각의 수평 단면에 대응된 직선들이 일치한 상태에서 실제 모델(110)의 수평 단면의 위치를 조절할 수 있다. 컴퓨팅 장치는 실제 모델(110)의 수평 단면과 계획 모델(120)의 수평 단면의 정합 정도 내지 일치 정도를 판단하여, 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시킬 수 있다.The computing device may adjust the position of the horizontal section of the
도 1을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위한 높이 방향의 변환값 및 회전각, 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬을 계산하고, 변환 정합 행렬을 이용하여 실제 모델(110)을 계획 모델(120)에 정합(Fine Resistration)시킬 수 있다. Referring to FIG. 1 , a computing device according to an embodiment includes a conversion value in a height direction and a rotation angle for matching a horizontal section of a
변환 정합 행렬은 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 행렬일 수 있다. 실제 모델(110)은 3차원 좌표로 표현된 복수의 점들로 구성되고, 컴퓨팅 장치는 복수의 점들의 좌표에 변환 정합 행렬을 이용하여 좌표를 변환하기 위한 연산을 수행할 수 있다. 변환 정합 행렬을 이용한 연산을 수행하면, 실제 모델(110)의 복수의 점들의 좌표가 계획 모델(120)의 복수의 점들의 좌표와 일치하도록 변환될 수 있다.The transformation matching matrix may be a matrix for matching the
계획 모델(120)에 대응하는 실제 모델(110)의 위치를 추정하고 정합(Localization and Resistration)하기 위한 과정에서, 설계되지 않은 물체의 존재, 크고 복잡한 검색 공간 등으로 인하여, 연산이 복잡하고 정합의 정확도가 떨어지는 문제가 있다. 상기에서 설명한 컴퓨팅 장치의 동작에 대한 설명을 종합하면, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬하고, 수평 단면을 추출, 수평 단면에 포함된 포인트들의 개수를 줄이는 다운 샘플링과 같은 파라메터 최적화(Parameter Optimization)을 수행할 수 있다. 컴퓨팅 장치는 파라메터 최적화를 통해 검색 공간을 감소시키고, 변환 정합 행렬의 자유도를 감소시키고, 실제 모델(110) 및 계획 모델(120)의 차원을 감소시켜 연산을 효율적으로 수행할 수 있다. In the process of estimating and registering the location of the
또한, 컴퓨팅 장치는 후술하는 바와 같이 계획되지 않은 실내 공간에 존재하는 물체의 영향을 최소화하도록 실제 모델(110)의 수평 단면을 추출할 수 있고, 실제 공간의 위치 추정 및 정합의 정확도를 높일 수 있다.In addition, as will be described later, the computing device may extract a horizontal section of the
일례로, 검색 공간은 실제 모델(110)을 계획 모델(120)에 정합하기 위한 변환 정합 행렬을 연산하고, 실제 모델(110) 및 계획 모델(120)의 기하학적 특성을 추출하기 위하여 필요한 대상들을 의미할 수 있다. 예를 들어, 실제 모델(110) 및 계획 모델(120)의 복수의 점의 개수 및 좌표, 변환 정합 행렬의 자유도 등이 검색 공간에 해당할 수 있다.For example, the search space means objects necessary to calculate a transformation matching matrix for matching the
도 2는 일실시예에 따른 실제 모델(110) 및 계획 모델(120)을 나타낸 도면이다.2 is a diagram illustrating a
도 2에서 (a)는 대상물의 실내 공간, (b)는 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성된 실제 모델(110), (c)는 대상물의 설계 정보, (d)는 대상물의 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델(120)을 나타낸다.In FIG. 2, (a) is the indoor space of an object, (b) is a
일례로, 실제 모델(110)은 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 점으로 구성될 수 있다. 실내 공간은 측정한 측정 정보는 3D 스캐닝 장비, 증강현실을 제공하기 위한 장치 등으로부터 측정될 수 있다. 예를 들어, 측정 정보는 3D 깊이 카메라(Depth Camera) 등을 이용하여 측정될 수 있다. 측정 정보는 각각의 포인트(또는 점)들이 3차원 좌표를 가지고, 복수의 포인트로 구성된 실제 모델(110)로 변환될 수 있다.For example, the
일례로, 계획 모델(120)은 대상물의 설계 정보에 대응하도록 복수의 점으로 구성될 수 있다. 설계 정보는 대상물을 설계한 정보에 해당할 수 있고, 예를 들어, 빌딩 정보 모델(BIM, Building Information Model) 등이 해당할 수 있다. For example, the
일예로, 설계 정보는 모서리(corner) 포인트, 모서리 포인트의 연결에 의한 선(line), 폴리곤 표면(polygon surface) 등을 포함하는 메쉬(Mesh) 포맷의 계획 모델(120)로 변환될 수 있다. 복수의 점으로 구성된 계획 모델(120)의 해상도(resolution)을 높이기 위해, 메쉬에 존재하는 표면의 다각형을 더 작은 다각형으로 나누는 세분화 기법(Subdivision Surface Technique) 또는 계산 부하가 낮고, 표면의 수를 유지하는 무작위 샘플링 방법(Random Sampling Method) 등이 적용될 수 있다.For example, the design information may be converted into a
일실시예에 따른 컴퓨팅 장치는 대상물의 실내 공간을 측정한 측정 정보를 측정 정보에 대응하도록 복수의 점으로 구성된 실제 모델(110)로 변환할 수 있다. 또한, 컴퓨팅 장치는 대상물의 설계 정보를 설계 정보에 대응하도록 복수의 점으로 구성된 계획 모델(120)로 변환할 수 있다. 즉, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 입력 받거나, 측정 정보 및 설계 정보를 변환하여 실제 모델(110) 및 계획 모델(120)을 생성할 수도 있다.The computing device according to an embodiment may convert measurement information obtained by measuring an object's indoor space into a
일례로, 실제 모델(110) 및 계획 모델(120)의 복수의 점들은 3차원 좌표계에 표시될 수 있다. 실제 모델(110) 및 계획 모델(120)의 복수의 점들은 각각 3차원 좌표를 가질 수 있다. For example, a plurality of points of the
일례로, 실제 모델(110) 및 계획 모델(120)의 복수의 점들이 표시되는 3차원 좌표계에서, 높이 방향의 축은 동일한 방향일 수 있다. 전술한 바와 같이, 실제 모델(110)에 대응하는 측정 정보에서, 측정 장치의 중력 센서, 시선 자세 추적 등을 통해 수직 평면과 수평 평면이 인식될 수 있고, 높이 방향의 축은 지표면과 수직한 방향일 수 있다. 또한, 계획 모델(120)에 대응하는 설계 정보에서 높이 방향의 축은 지표면과 수직한 방향일 수 있다. 즉, 실제 모델(110)과 계획 모델(120)의 높이 방향의 축은 동일한 방향일 수 있다.For example, in a 3D coordinate system in which a plurality of points of the
도 3은 일실시예에 따른 높이 방향으로 정렬된 실제 모델(110) 및 계획 모델(120)을 나타낸 도면이다.3 is a diagram showing a
도 3을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 실제 모델(110)의 바닥면을 실제 모델(110)이 계획 모델(120)에 대응되는 층의 바닥면과 정렬시킬 수 있다. 즉, 컴퓨팅 장치는 실제 모델(110)의 바닥면을 실제 모델(110)이 계획 모델(120)에 대응되는 층의 바닥면과 일치하도록, 높이 방향으로 정렬할 수 있다.Referring to FIG. 3 , the computing device according to an embodiment is configured to determine the height of a point having a minimum height among points included in the
일례로, 컴퓨팅 장치는 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 식별할 수 있다. For example, the computing device may identify a difference between a height of a point having a minimum height among points included in the
도 3에서, 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이는 A로 표시되어 있다. 이때, 각 모델의 포인트들 중에서 높이가 최소인 점의 높이의 차이는 아래 식 1과 같이 계산될 수 있고, 높이의 차이 A는 계획 모델(120)의 바닥면으로부터 실제 모델(110)의 바닥면까지의 높이에 해당할 수 있다.In FIG. 3 , the difference between the height of the point with the minimum height among the points included in the
[식 1][Equation 1]
상기 식 1에서, Ty는 높이 방향의 변환값, B min elevation은 실제 모델(110)에 포함된 포인트들 중에서 높이가 최소인 점의 높이, 즉 실제 모델(110)의 바닥면의 높이이고, P min elevation은 계획 모델(120)에 포함된 포인트들 중에서 높이가 최소인 점의 높이다.In Equation 1, Ty is a conversion value in the height direction, B min elevation is the height of the point with the minimum height among the points included in the
컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)에 포함된 포인트들의 높이 정보가 최소인 점의 높이의 차이를 이용하여 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있다. 이때, 도 3과 같이 실제 모델(110)의 바닥면은, 실제 모델(110)이 계획 모델(120)에서 대응하는 층의 바닥면과 높이 방향으로 정렬될 수 있다.The computing device may align the
상기 식 1에서 높이 방향의 변환값 Ty는, 후술하는 변환 정합 행렬의 일 요소일 수 있다.In Equation 1, the transformation value Ty in the height direction may be one element of a transformation matching matrix described later.
이하의 도 4 내지 도 5는 컴퓨팅 장치가 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬함으로써 감소하는 변환 정합 행렬의 자유도를 설명하기 위한 것으로, 감소하는 변환 정합 행렬의 자유도를 설명하기 전에, 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬에 대하여 설명한다.4 and 5 are for explaining the degree of freedom of the transformation matching matrix that decreases when the computing device aligns the
아래 식 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)을 이용하여 얻을 수 있다.As shown in
[식 2][Equation 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축을 따라 이동되는 값을 의미한다.In
상기 식 2에서, 변환 정합 행렬 M을 얻기 위해서 필요한 변수는 변환값 Tx, Ty, Tz와 회전각 가 필요하고, 6의 자유도를 가짐을 알 수 있다. 즉, 컴퓨팅 장치가 변환 정합 행렬을 이용하여 실제 모델(110)을 계획 모델(120)에 정합시킬 수 있고, 이때 변환 정합 행렬을 얻기 위하여 6개의 변수의 값을 계산하여야 한다.In
도 4는 일실시예에 따른 실제 모델(110) 및 계획 모델(120)의 좌표계를 나타낸 도면이다. 도 4의 (a)는 실제 모델(110)의 좌표계를 나타낸 것이고, (b)는 계획 모델(120)의 좌표계를 나타낸 도면이다.4 is a diagram showing coordinate systems of a
일례로, 실제 모델(110)의 좌표계는, 실제 모델(110)의 복수의 점의 위치와 방향을 나타내기 위하여 원점 및 세 축(x, y, z 축)을 갖는 데카르트 좌표계(Cartesian coordinate system)이 적용될 수 있다. For example, the coordinate system of the
일례로, 도 4의 (a)와 같이, 실내 공간을 측정하는 장치를 원점으로 하고, 장치의 오른쪽으로 양의 x축, 장치의 위쪽으로 양의 y축, 장치에서 시선 반대 방향으로 양의 z 축을 가질 수 있다. 상기 예시에서 실제 모델(110)의 높이 방향은 y축 방향에 해당할 수 있다.For example, as shown in (a) of FIG. 4, with the device for measuring indoor space as the origin, the positive x axis to the right of the device, the positive y axis to the top of the device, and the positive z axis in the direction opposite to the line of sight from the device. can have axes. In the above example, the height direction of the
일례로, 계획 모델(120)의 좌표계는 계획 모델(120)의 복수의 점의 위치와 방향을 나타내기 위하여 설계 정보(예를 들어, BIM)에 정의된 좌표계가 적용될 수 있다. As an example, a coordinate system defined in design information (eg, BIM) may be applied to the coordinate system of the
일례로, 도 4의 (b)와 같이 특정 기준점을 원점으로 하고, 동쪽 방향으로 양의 x축, 북쪽 방향으로 양의 y축, 위쪽으로 양의 z축을 가질 수 있다. 상기 예시에서 계획 모델(120)의 높이 방향은 z축 방향에 해당할 수 있다.For example, as shown in (b) of FIG. 4, a specific reference point may be used as an origin, and a positive x-axis in the east direction, a positive y-axis in the north direction, and a positive z-axis in the upward direction. In the above example, the height direction of the
위와 같이, 실제 모델(110) 및 계획 모델(120)에 포함된 복수의 점들은 원점을 가지고 x, y, z축을 가지는 3차원 좌표계(데카르트 좌표계)로 표현될 수 있다.As described above, a plurality of points included in the
도 5는 일실시예에 따른 변환 정합 행렬의 자유도를 나타낸 도면이다.5 is a diagram illustrating degrees of freedom of a transformation matching matrix according to an embodiment.
일반적으로, 도 5의 (a)와 같이 세 개의 축(x, y, z축)을 중심으로 하는 회전각과 세 개의 축을 따라 이동하는 변환값을 추정하여, 변환 정합 행렬을 얻을 수 있다. 예를 들어, 상기 식 2에서 각각 x, y, z축을 중심으로 하는 회전각 , 각각 x, y, z축을 따라 이동되는 값인 변환값 Tx, Ty, Tz을 구하여 변환 정합 행렬을 얻을 수 있다.In general, as shown in (a) of FIG. 5, a transformation matching matrix can be obtained by estimating rotation angles centered on three axes (x, y, and z axes) and transform values moving along the three axes. For example, in
도 5의 (b)를 참조하면, 일실시예에 따른 컴퓨팅 장치는, 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시킬 수 있다. 전술한 바와 같이, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬할 수 있고, 실제 모델(110)의 바닥면과 실제 모델(110)이 계획 모델(120)에 대응되는 층의 바닥면이 일치하도록 할 수 있다. Referring to (b) of FIG. 5 , the computing device according to an exemplary embodiment may reduce a degree of freedom of a transformation matching matrix for matching a
도 5의 (b)는 컴퓨팅 장치에 의하여 높이 방향으로 실제 모델(110)과 계획 모델(120)이 정렬된 경우, 실제 모델(110)을 계획 모델(120)에 정합시키기 위하여 필요한 변환 정합 행렬의 자유도를 나타낸다. (b)와 같이, 실제 모델(110)과 계획 모델(120)이 높이 방향으로 정렬된 경우, 높이 방향의 축(y축)을 중심으로 하는 회전각, 수평 방향의 두 축(높이 방향과 수직한 수평 단면에서 수직한 두 축, x, z축) 방향으로 이동되는 값인 변환값을 이용하여 실제 모델(110)을 계획 모델(120)에 정합할 수 있다. 예를 들어, 상기 식 2에서 , Tx, Tz를 구하면, 변환 정합 행렬을 구할 수 있다.(b) of FIG. 5 is a conversion matching matrix required to match the
보다 상세하게, 측정 정보에서 수직 평면과 수평 평면이 인식될 수 있다. 실제 모델(110)은 측정 정보에 대응하므로, 실제 모델(110)의 높이 방향은 계획 모델(120)의 높이 방향과 동일한 방향일 수 있다. 따라서, 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬한 경우, 수평 방향의 두 축(x, z축)을 중심으로 하는 회전 정렬이 필요하지 않게 된다. More specifically, a vertical plane and a horizontal plane can be recognized in the measurement information. Since the
예를 들어, 도 4에서 (a)에 도시된 실제 모델(110)의 높이 방향 y축과 (b)에 도시된 계획 모델(120)의 높이 방향 z축에 따라 실제 모델(110)을 계획 모델(120)에 정렬시키는 경우, 수평 방향의 두 축(실제 모델(110)의 x, z축과 계획 모델(120)의 x, y축)을 중심으로 회전 정렬이 필요하지 않게 된다.For example, in FIG. 4, the
즉, 일반적으로 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬의 자유도는 (a)와 같이 6이나, 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬한 경우 변환 정합 행렬의 자유도는 3으로 감소할 수 있다.That is, in general, the degree of freedom of the transformation matching matrix for matching the
컴퓨팅 장치는, 변환 정합 행렬의 자유도를 감소시키기 위하여 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬할 수 있고, 컴퓨팅 장치는 전술한 바와 같이 상기 식 1에 따라 실제 모델(110)을 계획 모델(120)에 높이 방향으로 정렬할 수 있다.The computing device may align the
위의 도 3 내지 도 5의 내용을 종합하면, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 포인트들의 높이 정보를 이용하여, 실제 모델(110)의 바닥면을 실제 모델(110)이 계획 모델(120)에서 대응하는 층의 바닥면과 정렬되도록, 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정렬할 수 있다. 실제 모델(110)과 계획 모델(120)이 높이 방향으로 정렬되었을 때, 정합 변환 행렬의 자유도가 감소된다. 즉, 컴퓨팅 장치는 실제 모델(110)을 계획 모델(120)에 정합시기키 위한 변환 정합 행렬의 자유도를 감소시킬 수 있다.Summarizing the contents of FIGS. 3 to 5 above, the computing device converts the bottom surface of the
도 6은 일실시예에 따른 컴퓨팅 장치가 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출하는 동작을 나타낸 도면이다. 6 is a diagram illustrating an operation of extracting horizontal sections of a
도 6은 컴퓨팅 장치가 서로 유사한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출하기 위하여, 수평 단면을 추출하는 높이를 결정하는 과정을 나타낸다. 실제 모델(110)의 수평 단면은 설계되지 않은 물체로 인해 계획 모델(120)의 수평 단면과 차이가 발생할 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 차이가 최소가 되는 단면의 높이를 결정할 수 있다.6 illustrates a process of determining a height at which a horizontal section is extracted in order to extract horizontal sections of the
도 6을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 서로 다른 높이에서 수평 단면을 추출할 수 있다. 도 6과 같이, 컴퓨팅 장치는 실제 모델(110)의 서로 다른 높이에서 수평 단면을 추출할 수 있고, 일례로 기설정된 일정 간격의 높이에서 수평 단면을 추출할 수 있다.Referring to FIG. 6 , the computing device according to an embodiment may extract horizontal sections of the
컴퓨팅 장치는, 실제 모델(110)의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 경계를 이용하여 면적을 계산할 수 있다. 컴퓨팅 장치가 경계를 식별하고 면적을 계산하는 과정에 대한 자세한 설명은 후술한다.The computing device may identify a boundary formed by points of each horizontal section of the
컴퓨팅 장치는 실제 모델(110)의 수평 단면들 중에서, 면적이 최대가 되는 높이에서 계획 모델(120)의 수평 단면을 추출할 수 있다. 실제 모델(110)의 수평 단면들 중에서 면적이 최대인 경우는 실내 공간에 계획되지 않은 물체가 수평 단면에 가장 적게 포함된 경우를 의미한다. 따라서, 실제 모델(110)의 수평 단면의 면적이 최대인 경우 계획 모델(120)의 수평 단면과 가장 유사한 높이를 의미할 수 있다. The computing device may extract a horizontal section of the planned
컴퓨팅 장치는 도 6과 같이 실제 모델(110)의 수평 단면의 면적이 최대가 되는 높이에 따라 계획 모델(120)의 수평 단면을 추출할 수 있다.As shown in FIG. 6 , the computing device may extract the horizontal section of the planned
도 7은 일실시예에 따른 컴퓨팅 장치가 실제 모델(110)의 수평 단면에서 경계를 추출하고 면적을 계산하는 동작을 나타낸 도면이다.7 is a diagram illustrating an operation of extracting a boundary from a horizontal section of the
일례로, 컴퓨팅 장치는 도 7의 (b)와 같이 x값이 최소인 점과 최대인 점을 잇는 직선 A로 공간을 분할할 수 있다. 컴퓨팅 장치는 도 7의 (c)와 같이 x값이 최소인 점과 최대인 점을 잇는 직선과 분할된 공간에서 각각 거리가 최대인 점 a와, 직선의 두 끝점을 이용하여 삼각형을 그릴 수 있다. 컴퓨팅 장치는 도 7의 (d)와 같이, 다시 직선들과의 거리가 최대인 점들 b를 구하고, 직선과 b를 이용하여 삼각형을 그릴 수 있다. 컴퓨팅 장치는 삼각형에서 가장 멀리 떨어진 점이 없을 때까지 도 7의 (c) 내지 (e)의 과정을 반복하여, 도 7의 (f)와 같이 실제 모델(110)의 수평 단면에서 경계를 추출할 수 있다. 컴퓨팅 장치는 추출한 경계를 형성하는 각각의 꼭지점 c의 좌표를 식별할 수 있다.For example, the computing device may divide the space into a straight line A connecting a point with a minimum value of x and a point with a maximum value of x, as shown in (b) of FIG. 7 . As shown in (c) of FIG. 7, the computing device can draw a triangle using a straight line connecting the point with the minimum and maximum x value, the point a with the maximum distance in the divided space, and the two endpoints of the straight line. . As shown in (d) of FIG. 7 , the computing device may obtain points b having a maximum distance from the straight lines and draw a triangle using the straight lines and b. The computing device may extract a boundary from the horizontal cross section of the
일례로 컴퓨팅 장치는 추출한 경계를 형성하는 각각의 꼭지점 c의 좌표를 이용하여, 아래 식 3에 따라 실제 모델(110)의 수평 단면의 면적을 구할 수 있다. For example, the computing device may obtain the area of the horizontal section of the
[식 3][Equation 3]
상기 식 3에서, A는 실제 모델(110)의 수평 단면의 면적, x, y는 각각 꼭지점의 x좌표와 y좌표, n은 꼭지점의 개수를 의미한다.In Equation 3, A is the area of the horizontal section of the
위의 내용을 정리하면, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에서 포인트들이 형성하는 경계를 식별 내지 추출하고, 실제 모델(110)의 수평 단면의 면적을 계산할 수 있다. 그러므로, 전술한 바와 같이 컴퓨팅 장치는 서로 다른 높이에서 추출한 실제 모델(110)의 수평 단면들 중에서 면적이 최대인 높이를 결정할 수 있고, 컴퓨팅 장치는 결정된 높이에서 계획 모델(120)의 수평 단면을 추출할 수 있다.Summarizing the above information, the computing device may identify or extract a boundary formed by points in the horizontal section of the
도 8은 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 나타낸 도면이다.8 is a diagram illustrating horizontal cross-sections of a
도 3 및 도 6에서 설명한 바와 같이, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있고, 실제 모델(110) 및 계획 모델(120)의 수평 단면을 추출할 수 있다. 도 8은 추출된 실제 모델(110) 및 계획 모델(120)의 수평 단면을 나타낸다.As described in FIGS. 3 and 6 , the computing device may align the
도 9는 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트를 샘플링하는 동작을 나타낸 도면이다.9 is a diagram illustrating an operation of sampling a point of a horizontal section by a computing device according to an exemplary embodiment.
도 9를 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분(Voxelization) 할 수 있다. 도 9에서 A는 계획 모델(120)의 수평 단면 일부를 확대한 영역 내의 포인트들을 나타내고 있다. 컴퓨팅 장치는 계획 모델(120)의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분할 수 있다. 도 9에서 B는 A 영역에 대하여 복셀로 구분된 포인트들을 나타낸다.Referring to FIG. 9 , the computing device according to an exemplary embodiment may voxelize horizontal sections of the
도 9를 참조하면, 일실시예에 따른 컴퓨팅 장치는, 복수의 복셀 각각에 포함된 복수의 포인트들을 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링할 수 있다. 도 9에서 C는 계획 모델(120)의 수평 단면에서 일부 영역을 복셀로 구분한 B로부터, 각각의 복셀 내의 포인트들의 무게중심으로 샘플링한 포인트를 나타낸다. 컴퓨팅 장치는 복수의 복셀 각각에 포함된 복수의 포인트들을 무게 중심에 위치하는 포인트로 샘플링할 수 있다. B에서 각각의 복셀 내에 복수의 포인트들이 포함되어 있으나, C에는 샘플링된 하나의 포인트가 각각의 복셀 내에 위치하고 있음을 확인할 수 있다.Referring to FIG. 9 , the computing device according to an exemplary embodiment may sample a plurality of points included in each of a plurality of voxels as a point located at a center of gravity of the plurality of points. In FIG. 9 , C represents points sampled from B, in which a partial region is divided into voxels in the horizontal section of the
전술한 무게 중심에 위치하는 포인트로 샘플링하는 것은 본 발명의 일례로, 컴퓨팅 장치는 복수의 복셀 각각에 포함된 복수의 포인트들을 무게 중심과 다른 위치에 하나의 포인트로 샘플링하거나, 둘 이상의 포인트로 샘플링하는 것과 같이 다양한 방법으로 각각의 복셀에 포함된 복수의 포인트들을 샘플링할 수 있다.Sampling with a point located at the above-described center of gravity is an example of the present invention, and the computing device samples a plurality of points included in each of a plurality of voxels as one point at a location different from the center of gravity, or sampling as two or more points. As such, a plurality of points included in each voxel may be sampled in various ways.
컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 샘플링할 수 있고, 도 9에서 F는 샘플링된 계획 모델(120)의 수평 단면을 나타낸다. 샘플링된 계획 모델(120)의 수평 단면 F는 계획 모델(120)의 수평 단면 A에 비하여 포인트의 수가 감소된 것을 확인할 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들의 개수가 감소되도록 샘플링하여, 이후에 수행되는 실제 모델(110)의 위치 추정 및 정합에 필요한 연산 비용을 감소시킬 수 있다.The computing device may sample horizontal cross-sections of the
도 9는 계획 모델(120)의 수평 단면에 대하여 컴퓨팅 장치가 포인트들을 샘플링하는 과정을 도시하고 있으나, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대해서도 도 9와 동일하게 포인트들을 샘플링할 수 있다.9 illustrates a process in which the computing device samples points for a horizontal cross section of the planned
일실시예에 따른 컴퓨팅 장치는, 복셀의 크기를 변경할 수 있다. 복셀의 크기는 샘플링되는 포인트의 개수와 관련된 것으로, 복셀의 크기가 커지면 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 포인트의 개수가 줄어드나, 정합의 정확도가 낮아질 수 있다. 반대로, 복셀의 크기가 작아지면 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 포인트의 개수가 많아지고, 정합의 정확도가 높아질 수 있다. 즉, 복셀의 크기에 따라 샘플링된 수평 단면에서 포인트의 개수가 달라질 수 있어, 연산 효율에 영향을 미치고, 정합의 정확도가 달라질 수 있다. 컴퓨팅 장치는 연산 효율 내지 연산 비용, 정합의 정확도를 고려하여 복셀의 크기를 변경할 수 있다.A computing device according to an embodiment may change a size of a voxel. The size of a voxel is related to the number of points to be sampled. If the size of a voxel increases, the number of points in the sampled horizontal section of the
일례로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면과 계획 모델(120)의 수평 단면의 정합 정도를 나타내는 정합도 등에 기초하여, 복셀의 크기를 조절할 수 있다. 컴퓨팅 장치가 후술하는 내용과 같이 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합한 결과, 정합도가 낮은 경우 기존의 복셀의 크기보다 작은 크기의 복셀로 실제 모델(110) 및 계획 모델(120)의 수평 단면을 샘플링하고, 작은 크기의 복셀로 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면을 이용하여 정합을 수행할 수 있다.For example, the computing device may adjust the size of the voxel based on a degree of matching representing the degree of matching between the horizontal cross section of the
도 10은 일실시예에 따른 컴퓨팅 장치가 포인트를 샘플링한 실제 모델(110) 및 계획 모델(120)의 수평 단면을 나타낸 도면이다. A는 샘플링된 실제 모델(110)의 수평 단면을 나타내고, B는 샘플링된 계획 모델(120)의 수평 단면을 나타낸다. 도 8의 실제 모델(110) 및 계획 모델(120)의 수평 단면과 비교할 때, 각각의 수평 단면에 포함된 포인트의 개수가 줄어들었음을 확인할 수 있고, 각각의 수평 단면에 포함된 포인트들이 형성하는 기하학적 특성은 유지되고 있음을 확인할 수 있다.10 is a diagram illustrating horizontal cross-sections of a
복셀의 크기가 큰 경우, 각각의 수평 단면에 나타나는 기하학적 특징이 샘플링된 수평 단면에서 유지되지 않고 왜곡될 수 있다. 컴퓨팅 장치는 연산 효율 내지 비용, 실제 모델(110) 및 계획 모델(120)의 수평 단면의 정합도 등에 따라 복셀의 크기를 달리하여 실제 모델(110) 및 계획 모델(120)의 수평 단면을 샘플링할 수 있고, 예를 들어 컴퓨팅 장치는 복셀의 크기를 기존 복셀의 크기보다 작은 크기로 설정하여 각각의 수평 단면을 샘플링함으로써, 실제 모델(110) 및 계획 모델(120)의 수평 단면 정합도를 높일 수 있다.When the size of the voxel is large, geometric features appearing in each horizontal section may not be maintained in the sampled horizontal section and may be distorted. The computing device may sample the horizontal sections of the
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시킬 수 있다.For example, the computing device may reduce the number of points while maintaining geometric characteristics formed by points included in cross sections of the
일례로, 컴퓨팅 장치는 미리 설정한 정합도에 따라, 복셀의 크기를 다르게 설정하여 샘플링을 재수행할 수 있다. 실제 모델(110) 및 계획 모델(120)의 수평 단면의 정합도가 미리 설정한 정합도 미만인 경우, 컴퓨팅 장치는 복셀의 크기를 더 작은 크기로 설정하여 각각의 수평 단면을 샘플링하여, 정합도를 높일 수 있다.For example, the computing device may re-perform sampling by setting a different size of a voxel according to a pre-set matching degree. If the matching degree of the horizontal sections of the
도 11은 일실시예에 따른 컴퓨팅 장치가 수평 단면의 포인트들이 형성하는 선형 특징에 직선(또는 수평 직선, Horizontal line)을 대응시키는 동작을 나타낸 도면이다. 도 11은 컴퓨팅 장치가 계획 모델(120)의 수평 단면에 직선을 대응시키는 동작을 나타내고 있다. 실제 모델(110)의 수평 단면에 직선을 대응시키는 과정은 도시되어 있지 않으나, 컴퓨팅 장치는 도 11에 도시된 동작과 동일하게 실제 모델(110)의 수평 단면에 직선을 대응시킬 수 있다.11 is a diagram illustrating an operation of a computing device to correspond a straight line (or horizontal line) to a linear feature formed by points of a horizontal cross section according to an embodiment. FIG. 11 shows an operation of the computing device to correspond a straight line to a horizontal section of the
도 11을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시킬 수 있다. 대상물의 구조, 형태 등에 따라 수평 단면의 포인트들은 기하학적 특징을 나타낼 수 있다. 컴퓨팅 장치는 수평 단면의 포인트들이 형성하는 기하학적 특징 중 선형 특징을 추출하고, 선형 특징에 직선을 대응시킬 수 있다. 컴퓨팅 장치는 선형 특징에 대응된 직선을 이용하여, 후술하는 바와 같이 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 대응시킬 수 있다.Referring to FIG. 11 , the computing device according to an embodiment may correspond a straight line to a linear feature formed by points of a horizontal section of a
도 11의 (a) 및 (b)와 같이, 컴퓨팅 장치는 계획 모델(120)의 수평 단면의 포인트들 중 임의의 포인트들을 선택하고, 선택한 임의의 포인트들에 직선이 대응하는지 여부를 판단할 수 있다. (a), (b)의 경우와 같이 컴퓨팅 장치는, 임의로 선택한 포인트들이 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트(inlier)의 비율, 개수에 따라, 선택된 임의의 포인트들에 직선이 대응하지 않는 것으로 판단할 수 있다.As shown in (a) and (b) of FIG. 11 , the computing device may select random points among the points of the horizontal section of the
도 11의 (c)와 같이, 컴퓨팅 장치는 선택한 임의의 포인트들 중 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트의 비율, 개수에 따라 직선을 대응시킬 수 있다. (c)에서 대응된 직선(Fitted line)이 표시되어 있고, 대응된 직선은 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 대응됨을 확인할 수 있다.As shown in (c) of FIG. 11 , the computing device may match the straight line according to the ratio and number of points included in the straight line or located within a preset threshold distance from the selected random points. In (c), a fitted line is displayed, and it can be confirmed that the fitted line corresponds to a linear feature formed by points of the horizontal section of the
컴퓨팅 장치는 계획 모델(120)의 수평 단면의 포인트들 중에서 대응된 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트를 제거하고, 남은 포인트들 중에서 임의의 포인트들을 선택하여 직선을 대응시킬 수 있다. 도 11의 (d), (e)와 같이 컴퓨팅 장치는 대응된 직선의 포인트들을 제거하고, 남은 포인트들 중 임의의 포인트들을 선택하여 직선을 대응시켜, (e)와 같이 직선을 대응시킬 수 있다.The computing device removes points included in the corresponding straight line from among the points of the horizontal section of the
일례로, 컴퓨팅 장치는 큰 직선으로부터 작은 직선 순서로 실제 모델(110) 및 계획 모델(120)의 수평 단면에 직선을 대응시킬 수 있다.In one example, the computing device may correspond straight lines to the horizontal sections of the
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수를 식별할 수 있다. 대응된 직선상에 위치하는 포인트는 대응된 직선에 포함되거나, 대응된 직선으로부터 미리 설정한 임계값 이하의 거리에 위치하는 포인트를 의미할 수 있다.For example, the computing device may identify the number of points located on straight lines corresponding to horizontal sections of the
일례로, 미리 설정한 임계값은, 측정 정보와 설계 정보로부터 변환되는 실제 모델(110) 및 계획 모델(120)의 변환 오차 내지 재구성 오차 등에 따라 다르게 설정될 수 있다.For example, the preset threshold may be set differently according to conversion errors or reconstruction errors of the
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 식별할 수 있다. 컴퓨팅 장치는 직선상에 위치하는 포인트의 개수가 최대인 직선의 파라메터, 즉 직선의 기울기 및 절편을 식별할 수 있다.For example, the computing device may identify a straight line having a maximum number of points located on straight lines corresponding to horizontal sections of the
일례로, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들 중에서 임의의 포인트를 선택하고, RANSAC(Random Sample Consensus)을 이용하여 직선을 대응시킬 수 있다. 컴퓨팅 장치는 임의의 포인트들을 선택하고, RANSAC을 이용하여 직선을 대응(fitting)시키고, 직선에 포함되거나 직선으로부터 미리 설정한 임계값 이내의 거리에 위치하는 포인트(특이치, inlier)를 확인할 수 있다.For example, the computing device may select an arbitrary point among points of the horizontal cross section of the
일례로 컴퓨팅 장치는 아래 식 4에 따라 직선 샘플의 수를 임의로 선택하고, 직선상에 위치하는 포인트(inlier)를 비교하여, 직선을 대응시킬 수 있다. 컴퓨팅 장치는 대응된 직선상에 위치하는 포인트를 제거하고, 직선을 대응시키는 과정을 반복할 수 있다.For example, the computing device may arbitrarily select the number of straight line samples according to
[식 4][Equation 4]
상기 식 4에서, N은 각 직선마다 수행되는 반복 횟수, p는 하나의 랜덤 표폰 추출에 모든 특이치(inlier)를 포함하는 확률(%), e는 이상치(outlier)의 비율(%), s는 모델에 대응(fit)시킬 임의의 포인트의 수를 의미한다.In
예를 들어, 상기 식 4에서 p는 99%, s는 2, e는 최초 50%로 설정되고 상기 식 4에 따라 계산을 반복하면서 변경될 수 있고, 식 4에 따라 각 직선마다 수행되는 반복 횟수 N이 결정될 수 있다.For example, in
상기의 설명에서, 컴퓨팅 장치가 샘플링된 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트들이 형성하는 선형 특징에 직선을 대응시키는 동작에 대하여 설명하였으나, 컴퓨팅 장치는 샘플링 되지 않은 실제 모델(110) 및 계획 모델(120)의 수평 단면에 직선을 대응시킬 수 있다.In the above description, the operation of the computing device to correspond a straight line to the linear features formed by the points included in the sampled
도 12는 일실시예에 따른 컴퓨팅 장치가 추출한 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선을 나타낸 도면이다.12 is a diagram illustrating straight lines corresponding to horizontal sections of the
도 12는 샘플링된 실제 모델(110)의 수평 단면 A, 샘플링된 계획 모델(120)의 수평 단면 B, 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 C, 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 D를 나타내고 있다. 12 is a straight line with the maximum number of points located on a straight line corresponding to the horizontal section A of the sampled
도 12에서, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위해서, 높이 방향의 축을 중심으로 실제 모델(110)을 회전시키고, 높이 방향과 수직한 수평 단면에서 수직한 두 축의 방향으로 실제 모델(110)을 이동시켜 두 모델의 수평 단면을 정합시킬 수 있다.12, in order to match the horizontal section of the
높이 방향의 축 중심의 회전각, 수평 단면에서 수직한 두 축 방향으로의 이동하는 값인 변환값(예를 들어, 상기 식 2에서 β, Rx, Rz)의 값을 찾기 위하여, 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선을 대응(coarse registration)시킬 수 있다.In order to find the value of the conversion value (for example, β, Rx, Rz in
컴퓨팅 장치는 회전 변환(rotational transformation, 즉, 높이 방향의 축 중심의 회전각)을 추정하기 위한 선 대응 가설에 따라, 직선의 기울기를 일치시킬 수 있도록 수평 단면을 회전시킬 수 있다. According to a line correspondence hypothesis for estimating a rotational transformation (ie, a rotational angle around an axis in a height direction), the computing device may rotate the horizontal cross section to match the inclination of the straight line.
수평 단면을 회전시킨 이후, 수평 단면에서 수직한 두 축 방향으로의 이동하는 값인 변환값(translation transformation)을 추정하기 위한 점 대응 가정에 따라, 컴퓨팅 장치는 수평 단면을 변환값에 따라 이동시킴으로써, 각 직선상에 위치하는 포인트를 일치시킬 수 있다.After rotating the horizontal cross section, according to the point correspondence assumption for estimating a translation transformation, which is a value that moves in two vertical axis directions in the horizontal cross section, the computing device moves the horizontal cross section according to the translation value, so that each Points located on a straight line can be matched.
높이 방향의 축 중심의 회전각, 수평 단면에서 수직한 두 축 방향으로의 이동하는 값인 변환값을 추정하기 위하여, 컴퓨팅 장치는 모델의 회전 및 포인트의 변환(이동)을 실제 모델(110)의 수평 단면 또는 계획 모델(120)의 수평 단면 중 어느 하나에 수행할 수 있다. In order to estimate the conversion value, which is the rotation angle of the center of the axis in the height direction and the value of movement in the direction of two vertical axes in the horizontal section, the computing device rotates the model and transforms (moves) the point to the horizontal of the
즉, 상기와 같이, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면 중 어느 하나에 높이 방향의 축 중심의 회전각을 추정하기 위한 회전 변환, 수평 단면에서 수직한 두 축 방향으로 이동하는 값인 변환값을 추정하기 위한 위치 변환을 수행할 수 있다.That is, as described above, the computing device converts the rotation for estimating the rotation angle around the axis in the height direction in any one of the horizontal cross sections of the
컴퓨팅 장치가 회전 변환 및 위치 변환을 어느 모델에 수행하더라도, 실제 모델(110) 및 계획 모델(120)의 수평 단면이 일치되는 것으로 동일한 결과를 얻을 수 있고, 각각의 변환을 다른 모델에 수행하더라도 동일한 결과를 얻을 수 있다. 또한, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면 중 어느 하나를 회전한 이후 포인트를 일치시키도록 변환하는 순서로 동작하는 것으로 설명하였으나, 컴퓨팅 장치는 포인트를 일치시키도록 변환한 이후 회전 변환을 수행할 수도 있다.No matter which model the computing device performs rotation transformation and position transformation, the same result can be obtained by matching the horizontal sections of the
이하의 설명에서, 컴퓨팅 장치는 계획 모델(120)의 수평 단면에 회전 변환 및 위치 변환을 수행하는 경우로 설명하나, 전술한 바와 같이 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 회전 변환 및 위치 변환을 수행하는 등과 같이 다양하게 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시킬 수 있다.In the following description, the computing device performs rotation transformation and position transformation on the horizontal section of the planned
이하의 도 13 및 도 14에서, 컴퓨팅 장치가 수행하는 회전 변환 및 위치 변환 동작에 대하여 설명한다.13 and 14 below, rotation conversion and position conversion operations performed by the computing device will be described.
도 13은 일실시예에 따른 대응된 직선의 극 반지름과 극 각도를 나타낸 도면이다.13 is a diagram showing polar radii and polar angles of corresponding straight lines according to an embodiment.
도 13에서 극 형태(Polar Form)의 수평 축(x, y축, 수평 단면의 수직한 두 축)에 대한 극 반지름(Polar Radius)과 극 각도(Polar Angle)이 표시되어 있다. In FIG. 13, the polar radius and the polar angle for the horizontal axes (x, y axes, and two vertical axes of the horizontal section) of the polar form are indicated.
도 12 및 도 13을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다. Referring to FIGS. 12 and 13 , the computing device according to an embodiment places a straight line having the maximum number of points located on a straight line corresponding to a horizontal cross section of a
컴퓨팅 장치는, 실제 모델(110) 및 계획 모델(120)의 수평 단면에 대응된 직선들 중에서, 직선상에 위치하는 포인트의 개수가 최대인 직선을 기준으로 높이 방향의 축 중심의 회전각을 추정하기 위한 회전 변환을 수행할 수 있다. The computing device estimates the rotation angle around the axis in the height direction based on the straight line having the maximum number of points located on the straight line among the straight lines corresponding to the horizontal cross sections of the
예를 들어, 도 12의 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 C, 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선 D의 극 각도의 값이 각각 , 일 때, 높이 방향의 축 중심의 회전각 r.y는 아래 식 5와 같이 얻을 수 있다. 컴퓨팅 장치는 r.y를 이용하여 계획 모델(120)의 수평 단면을 변환할 수 있다.For example, a straight line C having the maximum number of points located on a straight line corresponding to the horizontal section of the
[식 5][Equation 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)에 해당한다.In
도 14는 일실시예에 따른 컴퓨팅 장치가 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시키는 동작을 나타낸 도면이다. 도 14의 A, B, C, D는 도 12의 A, B, C, D와 동일하다.14 is a diagram illustrating an operation of matching horizontal sections of a
도 14를 참조하면, (b) 내지 (d)와 같이 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선을 계획 모델(120)의 수평 단면에 대응된 직선에 위치시킬 수 있다. 컴퓨팅 장치는 (d)와 같이 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.Referring to FIG. 14 , as shown in (b) to (d), in the computing device according to an embodiment, a straight line corresponding to the horizontal section of the
도 14를 참조하면, 일실시예에 따른 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델(120)의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시킬 수 있다. 컴퓨팅 장치는 도 14의 (d)와 같이, 직선 C를 직선 D에 위치시켜 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.Referring to FIG. 14 , the computing device according to an embodiment converts a straight line having the maximum number of points located on a straight line corresponding to a horizontal cross section of a
도 14의 (a)에서 상기 식 5를 이용하여 높이 방향의 축 중심의 회전각 r.y를 얻을 수 있고, 컴퓨팅 장치는 회전각을 이용하여 계획 모델(120)의 수평 단면을 변환할 수 있다.In (a) of FIG. 14 , the rotation angle r.y of the center of the axis in the height direction can be obtained using
일예로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상의 어느 한 포인트가 계획 모델(120)의 수평 단면에 대응된 직선상의 포인트에 위치하도록 할 수 있다. For example, the computing device may place a point on a straight line corresponding to the horizontal cross section of the
예를 들어, 도 14에서 컴퓨팅 장치는 직선 C 상의 포인트들의 무게 중심이 직선 D 상에 위치하는 포인트에 위치하도록 할 수 있고, (b) 내지 (d)는 직선 C 상의 포인트들의 무게 중심이 직선 D 상에 위치하는 포인트에 위치하는 일부의 경우를 도시하고 있다.For example, in FIG. 14 , the computing device may place the center of gravity of points on straight line C at a point on straight line D, and in (b) to (d), the center of gravity of points on straight line C may be located on straight line D. Some cases located at points located on the top are shown.
일예로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선상의 어느 한 포인트가 계획 모델(120)의 수평 단면에 대응된 직선상의 포인트에 위치할 때 실제 모델(110)과 계획 모델(120) 사이의 거리를 식별할 수 있다.For example, when a point on a straight line corresponding to the horizontal cross section of the
실제 모델(110)과 계획 모델(120) 사이의 거리는 실제 모델(110)의 수평 단면에 대응된 직선상의 어느 한 포인트가 계획 모델(120)의 수평 단면에 대응된 직선상의 포인트에 위치할 때의 유사성을 의미할 수 있다. 실제 모델(110)과 계획 모델(120) 사이의 거리를 이용하여 최적의 변환을 결정할 수 있고, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.The distance between the
예를 들어, 실제 모델(110)과 계획 모델(120) 사이의 거리 산출 방법은 Hausdorff 거리, RMSD(Root Mean Square Distance) 등이 적용될 수 있다.For example, as a method for calculating the distance between the
일예로, 컴퓨팅 장치는 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위해 아래 표 1과 같은 알고리즘을 수행할 수 있다.For example, the computing device may perform an algorithm shown in Table 1 below to match the horizontal section of the
[표 1][Table 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를 얻을 수 있다.In Table 1, the computing device represents
상기에서 컴퓨팅 장치가 구한 R.y는 높이 방향의 축 중심의 회전각, T.x, T.z는 각각 수평 단면에서 수직한 두 축(x축, z축) 방향으로 이동하는 값을 의미할 수 있다.R.y obtained by the computing device above may mean a rotation angle around an axis in the height direction, and T.x and T.z may mean values moving in directions of two vertical axes (x-axis and z-axis) in the horizontal section, respectively.
컴퓨팅 장치는 상기 표 1의 알고리즘에 따라 실제 모델(110) 및 계획 모델(120)의 수평 단면을 도 14의 (d)와 같이 정합시킬 수 있다. The computing device may match the horizontal sections of the
도 14에서, 컴퓨팅 장치는 각 모델에서 직선상의 포인트의 개수가 최대인 직선 C, D를 이용하여 수평 단면을 정합하는 예시를 설명하였으나, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)에 대응된 직선을 이용하여 두 모델 사이의 거리가 최소가 될 때의 높이 방향의 축 중심의 회전각 R.y, 각각 수평 단면에서 수직한 두 축(x축, z축) 방향으로 이동하는 값 T.x, T.z를 구할 수 있다.In FIG. 14, the computing device describes an example of matching the horizontal cross sections using straight lines C and D having the maximum number of points on the straight line in each model, but the computing device does not match the
도 15는 일실시예에 따른 정합된 실제 모델(110) 및 계획 모델(120)을 나타낸 도면이다.15 is a diagram illustrating a matched
도 15를 참조하면, 일실시예에 따른 컴퓨팅 장치는, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시키기 위한 높이 방향의 변환값 및 회전각, 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 실제 모델(110)을 상기 계획 모델(120)에 정합시키기 위한 변환 정합 행렬을 계산할 수 있다. 컴퓨팅 장치는, 변환 정합 행렬을 이용하여 실제 모델(110)을 계획 모델(120)에 정합시킬 수 있다.Referring to FIG. 15 , a computing device according to an embodiment includes a conversion value and a rotation angle in a height direction for matching a horizontal section of a
도 15를 참조하면, 컴퓨팅 장치는 실제 모델(110) A를 계획 모델(120) B에 정합시킬 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 포인트들의 높이 정보를 이용하여 높이 방향의 변환값 Ty를 구할 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에서 추출한 직선을 이용하여, 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz를 구할 수 있다.Referring to FIG. 15 , the computing device may match the actual model 110 A to the planned model 120 B. The computing device may obtain a conversion value Ty in the height direction using height information of points of the
높이 방향으로 실제 모델(110)과 계획 모델(120)을 정렬함으로써, 상기 식 2의 변환 정합 행렬의 자유도가 3으로 감소된다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합시켜 변환 정합 행렬을 계산할 수 있다.By aligning the
전술한 바와 같이, 컴퓨팅 장치는 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정합하여, 자유도를 감소시킬 수 있다. 실제 모델(110)과 계획 모델(120)이 높이 방향으로 정렬되었을 때, 변환 정합 행렬을 구하기 위해서는 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz이 필요하다.As described above, the computing device may reduce the degree of freedom by matching the
즉, 컴퓨팅 장치는 높이 방향의 변환값 Ty를 이용하여 실제 모델(110)과 계획 모델(120)을 높이 방향으로 정합시킬 수 있다. 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면을 정합(coarse registration)시키기 위한 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz을 얻을 수 있다. 컴퓨팅 장치는 높이 방향의 변환값 Ty, 높이 방향의 회전각 β, 수평 단면에서 수직한 두 축 방향의 변환값 Tx, Tz를 이용하여 변환 정합 행렬을 계산할 수 있다.That is, the computing device may match the
컴퓨팅 장치는 계산된 변환 정합 행렬을 이용하여, 실제 모델(110)을 계획 모델(120)에 정합시킬 수 있다. 일례로, 변환 정합 행렬이 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 것인 경우, 컴퓨팅 장치는 실제 모델(110)의 포인트들에 식 2와 같이 변환 정합 행렬을 곱하여 계획 모델(120)에 정합시킬 수 있다. 일례로, 변환 정합 행렬이 계획 모델(120)을 실제 모델(110)에 정합시키기 위한 것인 경우, 컴퓨팅 장치는 계획 모델(120)의 포인트들에 식 2와 같이 변환 정합 행렬을 곱하여 실제 모델(110)에 정합시킬 수 있다. The computing device may match the
도 16 내지 도 23은 일실시예에 따른 컴퓨팅 장치를 이용한 실제 모델(110)과 계획 모델(120)의 정합 결과를 나타낸 도면이다.16 to 23 are diagrams illustrating matching results of a
도 16의 (a)는 컴퓨팅 장치를 이용하여 실제 모델(110)을 정합시킬 계획 모델(120)을 나타낸 도면이고, (b) 대상물의 실내 공간을 나타낸 도면이다. (a)는 대상물의 구분, 면적 등을 나타내고 있다. (b)와 같이, 실내 공간에는 책상, 의자 등과 같은 계획되지 않은 물체들이 위치하고 있음을 확인할 수 있다.16 (a) is a diagram showing a
컴퓨팅 장치는 실제 모델(110)에서 바닥면(floor plane)을 식별하여 아래 식 6의 바닥면에 대한 평면 방정식의 계수를 계산할 수 있다. 컴퓨팅 장치는 바닥면의 평면 방정식의 계수를 이용하여 아래 식 6과 같이 수평 평면과 바닥면의 각도()를 계산하고, 바닥면의 높이를 계산할 수 있다.The computing device may identify a floor plane in the
[식 6][Equation 6]
상기 식 6에서 A, B, C는 각각 평면의 법선 벡터의 x, y, z 좌표(X-, Y-, Z-coordinates of plane's normal), D는 원점 거리 계수(origin distance coefficient)를 나타낸다.In
컴퓨팅 장치는 실제 모델(110)의 수평 단면을 추출하는 간격을 아래 식 7과 같이 최적화할 수 있다.The computing device may optimize the interval for extracting the horizontal section of the
[식 7][Equation 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)을 이용하여 면적이 최대인 수평 단면의 고도를 얻을 수 있다.In Equation 7 above, is the probability of obtaining the largest area cross section, is the number of cross sections with the largest area Means the total number of cross sections extracted. especially, is the horizontal section number of the maximum area, and the height of the horizontal section with the maximum area can be obtained using the interval between the height of the floor and the extracted horizontal section.
일례로, 컴퓨팅 장치는 복셀의 크기(즉, 복셀의 사이즈 내지 개수)를 다르게 설정할 수 있다. 복셀의 크기가 작고, 복셀의 개수가 많은 경우, 컴퓨팅 장치가 실제 모델(110)을 계획 모델(120)에 정합시키기 위하여 더 많은 계산을 수행하여야 한다. 컴퓨팅 장치는 유사 인덱스(Similarity index)를 기반으로 실제 모델(110)과 계획 모델(120)을 정합(Localization and Registeration)한 결과에 따라 복셀의 사이즈를 다르게 설정하여, 최적의 복셀 사이즈를 결정할 수 있다.For example, the computing device may differently set the size of voxels (ie, the size or number of voxels). When the size of the voxel is small and the number of voxels is large, the computing device must perform more calculations to match the
도 17은 일실시예에 따라 컴퓨팅 장치가 도 16에서 표시된 현관(hallway)의 바닥면을 식별한 결과를 나타낸 도면이다. 도 17에서 실제 모델(110) A에서 인식된 바닥면 B가 도시되어 있다.FIG. 17 is a diagram illustrating a result of identifying a floor surface of a hallway indicated in FIG. 16 by a computing device according to an exemplary embodiment. In FIG. 17 , the bottom surface B recognized in the real model 110 A is shown.
도 18은 일실시예에 따라 컴퓨팅 장치가 간격을 다르게 설정하여 실제 모델(110)의 수평 단면을 추출하였을 때의 처리 시간과 최대 면적의 단면을 얻을 확률을 나타낸 도면이다. 도18에서, 간격(interval)이 0.1m일 때, 최대 면적의 단면을 얻을 확률이 0.25로 최대이므로, 컴퓨팅 장치는 0.1m 간격으로 실제 모델(110)의 수평 단면을 추출할 수 있다.FIG. 18 is a diagram illustrating processing time and probability of obtaining a cross section with a maximum area when a computing device extracts a horizontal cross section of the
도 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에 도시된 수평 단면은 각각 최적의 높이, 즉 추출한 수평 단면들 중에서 면적이 최대가 되는 높이에서 추출된 단면을 나타낸다.19 is a diagram showing a horizontal cross-section of a
도 20은 일실시예에 따른 복셀 사이즈의 크기 별 처리 시간 및 RMSE를 나타낸 도면이다. 도 20과 같이, 303호, 304호 및 현관에 대해서 복셀 사이즈가 증가하면 처리 시간을 감소하나, 실제 모델(110) 및 계획 모델(120)의 수평 단면의 정합(coarse registration)에서 RMSE(root mean square error)가 증가함을 확인할 수 있다.20 is a diagram illustrating processing time and RMSE for each voxel size according to an exemplary embodiment. As shown in FIG. 20, as the voxel size increases for the 303rd, 304th, and front doors, the processing time decreases, but in the coarse registration of the horizontal cross sections of the
일실시예에 따르면, 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트가 미리 설정한 비율 이하로 직선에 대응시킬 수 있다. 각 모델에 포함된 포인트들 중 일부는 선형 특징 외의 다른 특징을 가질 수 있다. 각 모델에 포함된 포인트가 미리 설정한 비율 이하로 직선에 대응하도록 하여, 선형 특징 외의 다른 특징을 가지는 포인트를 남겨둘 수 있다.According to one embodiment, the computing device may correspond points included in horizontal sections of the
도 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)의 정합 결과를 나타낸다.FIG. 21 shows a result of matching the horizontal section of the
도 23은 일실시예에 따른 컴퓨팅 장치가 제공하는 증강 현실 화면을 나타낸 도면이다.23 is a diagram illustrating an augmented reality screen provided by a computing device according to an embodiment.
도 23을 참조하면, 일실시예에 따른 컴퓨팅 장치는 실내 공간을 측정한 측정 정보에 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다. 컴퓨팅 장치는 도 23의 (a)와 같이, 현관을 촬영하는 영상에 BIM 등과 같은 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다. 또한, 컴퓨팅 장치는 (b)와 같이 305호의 영상에 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다.Referring to FIG. 23 , the computing device according to an embodiment may provide an augmented reality image obtained by combining design information with measurement information obtained by measuring an indoor space. As shown in (a) of FIG. 23 , the computing device may provide an augmented reality image in which design information such as BIM is combined with an image photographing a front door. In addition, the computing device may provide an augmented reality image in which design information is combined with the image of No. 305 as shown in (b).
컴퓨팅 장치는 실제 모델(110)과 설계 모델의 정합 결과를 이용하여, 측정 정보에 설계 정보를 결합한 증강 현실 영상을 제공할 수 있다.The computing device may provide an augmented reality image obtained by combining design information with measurement information using a matching result between the
이하의 도 24 및 도 25는 모델 정합 방법의 흐름도로, 전술한 컴퓨팅 장치에 의하여 수행될 수 있다. 따라서, 이하의 모델 정합 방법에 대하여 생략된 설명이라 하더라도, 컴퓨팅 장치에 대해서 설명한 내용은 모델 정합 방법에서 동일하게 적용될 수 있다.24 and 25 are flowcharts of a model matching method, which may be performed by the computing device described above. Therefore, even if the description of the model matching method below is omitted, the description of the computing device can be equally applied to the model matching method.
도 24는 일실시예에 따른 모델 정합 방법의 흐름도이다.24 is a flowchart of a model matching method according to an embodiment.
도 24를 참조하면, 단계 S110에서 컴퓨팅 장치는 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델(110)을 식별하고, 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델(120)을 식별할 수 있다.Referring to FIG. 24 , in step S110, the computing device identifies a
다음으로, 단계 S120에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)에 포함된 포인트들의 높이 정보를 이용하여, 실제 모델(110) 및 계획 모델(120)을 높이 방향으로 정렬할 수 있다.Next, in step S120, the computing device may align the
다음으로 단계 S130에서 컴퓨팅 장치는 동일한 높이에서 높이 방향과 수직한 방향으로 실제 모델(110) 및 상기 계획 모델(120)의 수평 단면을 추출할 수 있다.Next, in step S130, the computing device may extract horizontal sections of the
다음으로 단계 S140에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시킬 수 있다.Next, in step S140 , the computing device may correspond a straight line to a linear feature formed by points of horizontal sections of the
다음으로, 단계 S150에서 컴퓨팅 장치는 실제 모델(110)의 수평 단면에 대응된 직선을 계획 모델(120)의 수평 단면에 대응된 직선에 위치시키고, 실제 모델(110)의 수평 단면을 계획 모델(120)의 수평 단면에 정합시킬 수 있다.Next, in step S150, the computing device positions a straight line corresponding to the horizontal section of the
도 25는 일실시예에 따른 모델 정합 방법의 흐름도이다.25 is a flowchart of a model matching method according to an embodiment.
도 25를 참조하면, 단계 S210에서 대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델(110)을 식별하고, 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델(120)을 식별할 수 있다.Referring to FIG. 25, in step S210, a
다음으로, 단계 S220에서 컴퓨팅 장치는 실제 모델(110)을 계획 모델(120)에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시킬 수 있다.Next, in step S220 , the computing device may reduce degrees of freedom of a transformation matching matrix for matching the
다음으로 단계 S230에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)을 차원을 감소시킬 수 있다.Next, in step S230, the computing device may reduce the dimensions of the
다음으로, 단계 S240에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시킬 수 있다.Next, in step S240 , the computing device may reduce the number of points while maintaining the geometric characteristics formed by the points included in the cross section of the
상기의 단계 S220 내지 S240 단계는 변환 정합 행렬을 얻기 위한 파라메터를 최적화하는 단계로, 변환 정합 행렬의 자유도, 실제 모델(110) 및 계획 모델(120)의 차원, 실제 모델(110) 및 계획 모델(120)의 수평 단면에 포함된 포인트의 개수를 감소시킴으로써 연산 효율을 높이고, 정합의 정확도를 높일 수 있다.The above steps S220 to S240 are steps of optimizing parameters for obtaining a transformation matching matrix, the degrees of freedom of the transformation matching matrix, the dimensions of the
다음으로, 단계 S250에서 컴퓨팅 장치는 실제 모델(110) 및 계획 모델(120)의 단면의 기하학적 특성을 이용하여 실제 모델(110)의 단면을 상기 계획 모델(120)의 단면에 정합시킬 수 있다.Next, in step S250, the computing device may match the cross section of the
다음으로, 단계 S260에서 컴퓨팅 장치는 정합된 실제 모델(110)의 단면을 이용하여 변환 정합 행렬을 계산할 수 있다.Next, in step S260, the computing device may calculate a transformation matching matrix using the matched cross section of the
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.Meanwhile, the method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may be a computer program product, i.e., an information carrier, e.g., a machine-readable storage, for processing by, or for controlling, the operation of a data processing apparatus, e.g., a programmable processor, computer, or plurality of computers. It can be implemented as a computer program tangibly embodied in a device (computer readable medium) or a radio signal. A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be written as a stand-alone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for the use of. A computer program can be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from read only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include, receive data from, send data to, or both, one or more mass storage devices that store data, such as magnetic, magneto-optical disks, or optical disks. It can also be combined to become. Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, compact disk read only memory (CD-ROM) ), optical media such as DVD (Digital Video Disk), magneto-optical media such as Floptical Disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented by, or included in, special purpose logic circuitry.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.In addition, computer readable media may be any available media that can be accessed by a computer, and may include both computer storage media and transmission media.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.Although this specification contains many specific implementation details, they should not be construed as limiting on the scope of any invention or what is claimed, but rather as a description of features that may be unique to a particular embodiment of a particular invention. It should be understood. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, while features may operate in particular combinations and are initially depicted as such claimed, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination is a subcombination. or sub-combination variations.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Similarly, while actions are depicted in the drawings in a particular order, it should not be construed as requiring that those actions be performed in the specific order shown or in the sequential order, or that all depicted actions must be performed to obtain desired results. In certain cases, multitasking and parallel processing can be advantageous. Further, the separation of various device components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented.
실제 모델: 110
계획 모델: 120Real Model: 110
Planning model: 120
Claims (18)
대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하는 단계;
상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하는 단계;
상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계;
동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하는 단계;
상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키는 단계; 및
상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는 단계;
를 포함하는, 모델 정합 방법.In the model matching method,
identifying an actual model composed of a plurality of points to correspond to measurement information obtained by measuring an indoor space of an object;
identifying a planning model composed of a plurality of points to correspond to the design information of the object;
aligning the actual model and the planned model in a height direction using height information of points included in the actual model and the planned model;
extracting horizontal sections of the actual model and the planned model at the same height in a direction perpendicular to the height direction;
correlating a straight line to a linear feature formed by points of horizontal sections of the actual model and the planned model; and
positioning a straight line corresponding to the horizontal section of the actual model to a straight line corresponding to the horizontal section of the planned model, and matching the horizontal section of the actual model to the horizontal section of the planned model;
Including, model matching method.
상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하는 단계; 및
상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시키는 단계
를 더 포함하는, 모델 정합 방법.According to claim 1,
The actual model is converted into the planned model by using the conversion value in the height direction and the rotation angle for matching the horizontal section of the actual model with the horizontal section of the planned model, and the conversion value in two axes directions perpendicular to the horizontal section. Calculating a transformation matching matrix to match to ; and
matching the actual model to the planned model using the transformation matching matrix;
Further comprising a, model matching method.
상기 높이 방향으로 정렬하는 단계는,
상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시키는, 모델 정합 방법.According to claim 1,
The step of aligning in the height direction,
Using the difference between the height of the point with the minimum height among the points included in the actual model and the height of the point with the minimum height among the points included in the plan model, the bottom surface of the actual model is Aligning with the bottom surface of the floor corresponding to the plan model, the model matching method.
상기 수평 단면을 추출하는 단계는,
상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하는 단계;
상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하는 단계; 및
상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출하는 단계
를 포함하는, 모델 정합 방법.According to claim 1,
Extracting the horizontal cross section,
extracting horizontal sections of the actual model at different heights;
identifying a boundary formed by points of each of the horizontal sections of the real model, and calculating an area using the boundary; and
extracting a horizontal section of the planned model from among horizontal sections of the actual model at a height at which the area is maximized;
Including, model matching method.
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계; 및
상기 복수의 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링하는 단계
를 더 포함하는, 모델 정합 방법.According to claim 1,
dividing horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes; and
sampling a plurality of points included in each of the plurality of voxels as a point located at a center of mass of the plurality of points;
Further comprising a, model matching method.
상기 정합시키는 단계는,
상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시키는, 모델 정합 방법.According to claim 1,
The matching step is
A model matching method of locating a straight line having the maximum number of points located on a straight line corresponding to the horizontal section of the actual model to a straight line having the maximum number of points located on a straight line corresponding to the horizontal section of the plan model. .
대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하는 단계;
상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키는 단계;
상기 실제 모델 및 상기 계획 모델을 차원을 감소시키는 단계;
상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키는 단계;
상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 상기 실제 모델의 단면을 상기 계획 모델의 단면에 정합시키는 단계;
정합된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산하는 단계;
를 포함하는, 모델 정합 방법.In the model matching method,
A real model composed of a plurality of points in a three-dimensional coordinate space is identified to correspond to the measurement information obtained by measuring the indoor space of the object, and a planning model composed of a plurality of points in the three-dimensional coordinate space corresponding to the design information of the object. identifying;
reducing degrees of freedom of a transformation matching matrix for matching the real model to the planned model;
reducing the dimensions of the real model and the planned model;
reducing the number of points while maintaining geometric characteristics formed by points included in cross sections of the actual model and the planned model;
matching a cross section of the actual model to a cross section of the planned model using geometric characteristics of the cross section of the actual model and the planned model;
calculating the transformation matching matrix using the matched cross section of the real model;
Including, model matching method.
상기 자유도를 감소시키는 단계는,
상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하는 단계; 및
동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출하는 단계
를 포함하는, 모델 정합 방법.According to claim 7,
The step of reducing the degree of freedom is,
aligning the actual model and the planned model in a height direction using information about heights of points included in the actual model and the planned model; and
Extracting a horizontal section of the actual model and a horizontal section of the planned model in a direction perpendicular to the height direction at the same height
Including, model matching method.
상기 포인트들의 개수를 감소시키는 단계는,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하는 단계; 및
상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링하는 단계
를 포함하는, 모델 정합 방법.According to claim 7,
Reducing the number of points,
dividing horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes; and
sampling a plurality of points included in the voxel as one point located at a center of mass of the plurality of points;
Including, model matching method.
프로세서를 포함하고,
상기 프로세서는,
대상물의 실내 공간을 측정한 측정 정보에 대응하도록 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 복수의 포인트로 구성된 계획 모델을 식별하고, 상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델 및 상기 계획 모델의 수평 단면을 추출하고, 상기 실제 모델 및 상기 계획 모델의 수평 단면의 포인트들이 형성하는 선형 특징에 직선을 대응시키고, 상기 실제 모델의 수평 단면에 대응된 직선을 상기 계획 모델의 수평 단면에 대응된 직선에 위치시키고, 상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키는, 컴퓨팅 장치.A computing device that performs a model matching method,
contains a processor;
the processor,
A real model composed of a plurality of points is identified to correspond to the measurement information obtained by measuring the indoor space of the object, a plan model composed of a plurality of points is identified to correspond to the design information of the object, and the actual model and the plan model are identified. Using the height information of included points, align the actual model and the planned model in the height direction, extract horizontal sections of the actual model and the planned model in a direction perpendicular to the height direction at the same height, and A straight line corresponds to a linear feature formed by points of the horizontal cross section of the actual model and the planned model, the straight line corresponding to the horizontal cross section of the actual model is placed on the straight line corresponding to the horizontal cross section of the planned model, and the actual model matching a horizontal section of the plan model to a horizontal section of the planning model.
상기 프로세서는,
상기 실제 모델의 수평 단면을 상기 계획 모델의 수평 단면에 정합시키기 위한 상기 높이 방향의 변환값 및 회전각, 상기 수평 단면에서 수직한 두 축 방향의 변환값을 이용하여, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬을 계산하고, 상기 변환 정합 행렬을 이용하여 상기 실제 모델을 상기 계획 모델에 정합시키는, 컴퓨팅 장치.According to claim 10,
the processor,
The actual model is converted into the planned model by using the conversion value in the height direction and the rotation angle for matching the horizontal section of the actual model with the horizontal section of the planned model, and the conversion value in two axes directions perpendicular to the horizontal section. Computing a transformation matching matrix to match the transformation matching matrix, and matching the real model to the planned model using the transformation matching matrix.
상기 프로세서는,
상기 실제 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이와 상기 계획 모델에 포함된 포인트들 중에서 높이가 최소인 점의 높이의 차이를 이용하여, 상기 실제 모델의 바닥면을 상기 실제 모델이 상기 계획 모델에 대응되는 층의 바닥면과 정렬시키는, 컴퓨팅 장치.According to claim 10,
the processor,
Using the difference between the height of the point with the minimum height among the points included in the actual model and the height of the point with the minimum height among the points included in the plan model, the bottom surface of the actual model is Aligning with the bottom surface of the floor corresponding to the plan model, the computing device.
상기 프로세서는,
상기 실제 모델의 서로 다른 높이에서 수평 단면을 추출하고, 상기 실제 모델의 수평 단면 각각의 포인트들이 형성하는 경계를 식별하고, 상기 경계를 이용하여 면적을 계산하고, 상기 실제 모델의 수평 단면들 중에서, 상기 면적이 최대가 되는 높이에서 상기 계획 모델의 수평 단면을 추출하는, 컴퓨팅 장치.According to claim 10,
the processor,
Extracting horizontal sections at different heights of the actual model, identifying boundaries formed by points of each of the horizontal sections of the actual model, calculating an area using the boundaries, and among the horizontal sections of the actual model, A computing device for extracting a horizontal section of the planning model at a height at which the area is maximized.
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복수이 복셀 각각에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 포인트로 샘플링하는, 컴퓨팅 장치.According to claim 10,
the processor,
A computing device that divides horizontal sections of the actual model and the planned model into a plurality of voxels having preset sizes, and samples a plurality of points included in each of the plurality of voxels as a point located at a center of gravity of the plurality of points. .
상기 프로세서는,
상기 실제 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선을 상기 계획 모델의 수평 단면에 대응된 직선상에 위치하는 포인트의 개수가 최대인 직선에 위치시키는, 컴퓨팅 장치.According to claim 10,
the processor,
Positioning a straight line having the maximum number of points located on a straight line corresponding to the horizontal cross section of the actual model to a straight line having the maximum number of points located on a straight line corresponding to the horizontal cross section of the plan model.
프로세서를 포함하고,
상기 프로세서는,
대상물의 실내 공간을 측정한 측정 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 실제 모델을 식별하고, 상기 대상물의 설계 정보에 대응하도록 3차원의 좌표 공간에 복수의 포인트로 구성된 계획 모델을 식별하고, 상기 실제 모델을 상기 계획 모델에 정합시키기 위한 변환 정합 행렬의 자유도를 감소시키고, 상기 실제 모델 및 상기 계획 모델을 차원을 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면에 포함된 포인트들이 형성하는 기하학적 특성을 유지하면서 포인트들의 개수를 감소시키고, 상기 실제 모델 및 상기 계획 모델의 단면의 기하학적 특성을 이용하여 상기 실제 모델의 단면을 상기 계획 모델의 단면에 정합시키고, 정합된 상기 실제 모델의 단면을 이용하여 상기 변환 정합 행렬을 계산하는, 컴퓨팅 장치.A computing device that performs a model matching method,
contains a processor;
the processor,
A real model composed of a plurality of points in a three-dimensional coordinate space is identified to correspond to the measurement information obtained by measuring the indoor space of the object, and a planning model composed of a plurality of points in the three-dimensional coordinate space corresponding to the design information of the object. identify, reduce the degrees of freedom of the transformation matching matrix for matching the actual model to the planned model, reduce the dimensions of the actual model and the planned model, and point included in the cross section of the actual model and the planned model. reducing the number of points while maintaining the geometric characteristics formed by them, matching the cross section of the actual model to the cross section of the planned model using the geometric characteristics of the cross section of the actual model and the planned model, and matching the actual model Computing device for calculating the transformation matching matrix using a cross-section of .
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델에 포함된 포인트들의 높이에 관한 정보를 이용하여, 상기 실제 모델 및 상기 계획 모델을 높이 방향으로 정렬하고, 동일한 높이에서 상기 높이 방향과 수직한 방향으로 상기 실제 모델의 수평 단면과 상기 계획 모델의 수평 단면을 추출하는, 컴퓨팅 장치.According to claim 16,
the processor,
The actual model and the planned model are aligned in the height direction using information about heights of points included in the actual model and the planned model, and the level of the actual model is aligned at the same height in a direction perpendicular to the height direction. A computing device for extracting cross-sections and horizontal cross-sections of the plan model.
상기 프로세서는,
상기 실제 모델 및 상기 계획 모델의 수평 단면을 미리 설정된 크기의 복수의 복셀로 구분하고, 상기 복셀에 포함된 복수의 포인트들을 상기 복수의 포인트들의 무게 중심에 위치하는 하나의 포인트로 샘플링하는, 컴퓨팅 장치.According to claim 16,
the processor,
A computing device that divides horizontal cross sections of the actual model and the planned model into a plurality of voxels having preset sizes, and samples a plurality of points included in the voxels as one point located at a center of gravity of the plurality of points. .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210083243A KR102548013B1 (en) | 2021-06-25 | 2021-06-25 | Method of resistration and localization and computung device for performing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210083243A KR102548013B1 (en) | 2021-06-25 | 2021-06-25 | Method of resistration and localization and computung device for performing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230000744A true KR20230000744A (en) | 2023-01-03 |
KR102548013B1 KR102548013B1 (en) | 2023-06-27 |
Family
ID=84924578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210083243A KR102548013B1 (en) | 2021-06-25 | 2021-06-25 | Method of resistration and localization and computung device for performing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102548013B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003022454A (en) * | 2001-07-06 | 2003-01-24 | Nissan Motor Co Ltd | Method for converting data coordinate |
KR20160044219A (en) * | 2014-10-15 | 2016-04-25 | 삼성중공업 주식회사 | System and method for cenerating 3d point cloud |
KR102037331B1 (en) * | 2019-05-02 | 2019-11-26 | (주)디노 | System for detailedly supporting plant construction and method for verifying space matching |
KR102037332B1 (en) * | 2019-05-02 | 2019-11-26 | (주)디노 | Method for verifying 3D design drawings and system therefor |
-
2021
- 2021-06-25 KR KR1020210083243A patent/KR102548013B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003022454A (en) * | 2001-07-06 | 2003-01-24 | Nissan Motor Co Ltd | Method for converting data coordinate |
KR20160044219A (en) * | 2014-10-15 | 2016-04-25 | 삼성중공업 주식회사 | System and method for cenerating 3d point cloud |
KR102037331B1 (en) * | 2019-05-02 | 2019-11-26 | (주)디노 | System for detailedly supporting plant construction and method for verifying space matching |
KR102037332B1 (en) * | 2019-05-02 | 2019-11-26 | (주)디노 | Method for verifying 3D design drawings and system therefor |
Also Published As
Publication number | Publication date |
---|---|
KR102548013B1 (en) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109544677B (en) | Indoor scene main structure reconstruction method and system based on depth image key frame | |
CN111508021B (en) | Pose determining method and device, storage medium and electronic equipment | |
CN105143907B (en) | Alignment system and method | |
Ding et al. | Automatic registration of aerial imagery with untextured 3d lidar models | |
WO2012014545A1 (en) | Three-dimensional object recognizing device and three-dimensional object recognizing method | |
JP2016161569A (en) | Method and system for obtaining 3d pose of object and 3d location of landmark point of object | |
US11341723B2 (en) | Methods, devices, and computer program products for improved mesh generation in constructed 3D images | |
WO2019011958A1 (en) | System and method for pose-invariant face alignment | |
JP2018055679A (en) | Selection of balanced probe sites for 3d alignment algorithms | |
CN114677418A (en) | Registration method based on point cloud feature point extraction | |
CN111079565A (en) | Construction method and identification method of view two-dimensional posture template and positioning and grabbing system | |
Drost et al. | Local hough transform for 3d primitive detection | |
Sveier et al. | Object detection in point clouds using conformal geometric algebra | |
CN112651944A (en) | 3C component high-precision six-dimensional pose estimation method and system based on CAD model | |
JP6673504B2 (en) | Information processing device, database generation device, method, program, and storage medium | |
CN107765257A (en) | A kind of laser acquisition and measuring method based on the calibration of reflected intensity accessory external | |
KR102548013B1 (en) | Method of resistration and localization and computung device for performing the method | |
Poglitsch et al. | [POSTER] A Particle Filter Approach to Outdoor Localization Using Image-Based Rendering | |
CN116844124A (en) | Three-dimensional object detection frame labeling method, three-dimensional object detection frame labeling device, electronic equipment and storage medium | |
CN111275747A (en) | Virtual assembly method, device, equipment and medium | |
Pan et al. | Vision-based approach angle and height estimation for UAV landing | |
Wan et al. | A performance comparison of feature detectors for planetary rover mapping and localization | |
KR101189167B1 (en) | The method for 3d object information extraction from single image without meta information | |
JP2019105992A (en) | Image processing device, image processing program and image processing method | |
JP6281938B2 (en) | Data processing apparatus, data processing method, and data processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |