You are on page 1of 14

등록특허 10-1666937

(19) 대한민국특허청(KR) (45) 공고일자 2016년10월17일


(11) 등록번호 10-1666937
(12) 등록특허공보(B1) (24) 등록일자 2016년10월11일
(51) 국제특허분류(Int. Cl.) (73) 특허권자
G06F 17/50 (2006.01) G06F 17/30 (2006.01) 한국건설기술연구원
(52) CPC특허분류 경기도 고양시 일산서구 고양대로 283(대화동)
G06F 17/5004 (2013.01) (72) 발명자
G06F 17/30318 (2013.01) 강태욱
(21) 출원번호 10-2016-0058800
서울특별시 강남구 선릉로76길 12, 101동 706호(
(22) 출원일자 2016년05월13일 대치동, 대치한신휴플러스)
심사청구일자 2016년05월13일 김지은
(56) 선행기술조사문헌 서울특별시 성동구 한림말길 50, 108동 1002호 (
KR1020130037996 A* 옥수동, 옥수하이츠아파트)
“다단계 정육면체 격자 기반의 가상점 생성을 통 (74) 대리인
한 대용량 3D point cloud 가시화”, 한국측량학 특허법인세원
회지 30(4)(페이지 335-342), 2012년 8월*
“SP3D를 이용한 포인트 클라우드 파이프라인 자
동화 역설계의 상호보완적 모델링”, 대한기계학
회 춘추학술대회(페이지 1703-1708), 2015년 11월
KR1020140103407 A
*는 심사관에 의하여 인용된 문헌

전체 청구항 수 : 총 10 항 심사관 : 박승철


(54) 발명의 명칭 3차원 포인트 클라우드의 대용량 데이터를 처리하기 위한 장치 및 그 방법

(57) 요 약
본 발명에 3차원 포인트 클라우드의 대용량 데이터를 처리하기 위한 장치 및 그 방법이 개시된다. 본 발명에 따
른 포인트 클라우드 대용량 데이터를 처리하기 위한 장치는 입력된 상기 포인트 클라우드를 그리드 형태의 공간
으로 분할하여 분할된 상기 공간의 중심점에 가장 가까운 포인트를 LOD(Level of Detail) 포인트들로 선택하는
데이터 처리부; 상기 선택된 LOD 포인트들에 기반한 포인트 클라우드에서 노이즈를 제거하는 필터링부; 상기 필
터링된 포인트 클라우드를 클러스터링하는 세그먼테이션부; 및 상기 클러스터링된 포인트 클라우드를 이용하여
형상을 추출하는 형상 추출부를 포함한다.
대 표 도 - 도4

-1-
등록특허 10-1666937

(52) CPC특허분류
G06F 2217/34 (2013.01)

이 발명을 지원한 국가연구개발사업


과제고유번호 N0001530
부처명 산업통상자원부
연구관리전문기관 한국과학기술기획평가원
연구사업명 공공기관 보유기술 공동활용 지원사업
연구과제명 3D객체 역설계 기반 MEP 설비 유지관리 시스템
기 여 율 1/1
주관기관 한국건설기술연구원
연구기간 2015.08.01 ~ 2016.07.31

-2-
등록특허 10-1666937

명 세 서

청구범위
청구항 1

대용량의 포인트 클라우드가 입력되면, 입력된 상기 포인트 클라우드를 그리드 형태의 공간으로 분할하여 분할
된 상기 공간에서 LOD(Level of Detail) 포인트들을 선택하는 데이터 처리부;

상기 선택된 LOD 포인트들에 기반한 포인트 클라우드에서 노이즈를 제거하는 필터링부;

상기 필터링된 포인트 클라우드를 클러스터링하는 세그먼테이션부; 및

상기 클러스터링된 포인트 클라우드를 이용하여 파이프 형상을 추출하는 형상 추출부;를 포함하며,

상기 형상 추출부는,

상기 클러스터링된 포인트 클라우드를 상기 분할된 그리드 형태의 공간 별로 역설계하여 형상들을 추출하고, 상


기 그리드 형태의 공간 별로 추출된 형상들을 병합하여 상기 파이프 형상을 추출하는 것을 특징으로 하는 포인
트 클라우드 대용량 데이터를 처리하기 위한 장치.

청구항 2

제1 항에 있어서,

상기 데이터 처리부는,

분할된 상기 공간의 중심점에 가장 가까운 포인트를 상기 LOD 포인트들로 선택하는 것을 특징으로 하는 포인트
클라우드 대용량 데이터를 처리하기 위한 장치.

청구항 3

제1 항에 있어서,

상기 필터링부는,

상기 선택된 LOD 포인트들에 기반한 포인트 클라우드의 공간 영역을 이용하여 일정한 규격의 복셀 그리드를 생
성하고

상기 각 복셀 그리드에 할당된 포인트 셋의 평균치로 모든 복셀의 무게 중심 점을 포인트들로 산정하는 것을 특


징으로 하는 포인트 클라우드 대용량 데이터를 처리하기 위한 장치.

청구항 4

제1 항에 있어서,

상기 세그먼테이션부는,

상기 필터링된 포인트 클라우드에 곡률 유사도에 기반한 지역 성장 방식을 적용하여 세그먼트를 획득하는 것을


특징으로 하는 포인트 클라우드 대용량 데이터를 처리하기 위한 장치.

청구항 5

제1 항에 있어서,

상기 형상 추출부는,

클러스터링된 포인트 클라우드로부터 임의의 포인트를 선택하고

상기 선택된 임의의 포인트를 기반으로 RANSAC 알고리즘을 이용하여 상기 파이프 형상을 산출하는 것을 특징으
로 하는 포인트 클라우드 대용량 데이터를 처리하기 위한 장치.

-3-
등록특허 10-1666937

청구항 6

대용량의 포인트 클라우드가 입력되면, 입력된 상기 포인트 클라우드를 그리드 형태의 공간으로 분할하여 분할
된 상기 공간에서 LOD(Level of Detail) 포인트들을 선택하는 데이터 처리단계;

상기 선택된 LOD 포인트들에 기반한 포인트 클라우드에서 노이즈를 제거하는 필터링 단계;

상기 필터링된 포인트 클라우드를 클러스터링하는 세그먼테이션 단계; 및

상기 클러스터링된 포인트 클라우드를 이용하여 파이프 형상을 추출하는 형상 추출 단계;를 포함하며,

상기 형상 추출단계는,

상기 클러스터링된 포인트 클라우드를 상기 분할된 그리드 형태의 공간 별로 역설계하여 형상들을 추출하고, 상


기 그리드 형태의 공간 별로 추출된 형상들을 병합하여 상기 파이프 형상을 추출하는 것을 특징으로 하는 포인
트 클라우드 대용량 데이터를 처리하기 위한 방법.

청구항 7

제6 항에 있어서,

상기 필터링 단계는,

분할된 상기 공간의 중심점에 가장 가까운 포인트를 상기 LOD 포인트들로 선택하는 것을 특징으로 하는 포인트
클라우드 대용량 데이터를 처리하기 위한 방법.

청구항 8

제6 항에 있어서,

상기 필터링 단계는,

상기 선택된 LOD 포인트들에 기반한 포인트 클라우드의 공간 영역을 이용하여 일정한 규격의 복셀 그리드를 생
성하고

상기 각 복셀 그리드에 할당된 포인트 셋의 평균치로 모든 복셀의 무게 중심 점을 포인트들로 산정하는 것을 특


징으로 하는 포인트 클라우드 대용량 데이터를 처리하기 위한 방법.

청구항 9

제6 항에 있어서,

상기 세그먼테이션 단계는,

상기 필터링된 포인트 클라우드에 곡률 유사도에 기반한 지역 성장 방식을 적용하여 세그먼트를 획득하는 것을


특징으로 하는 포인트 클라우드 대용량 데이터를 처리하기 위한 방법.

청구항 10

제6 항에 있어서,

상기 형상 추출단계는,

클러스터링된 포인트 클라우드로부터 임의의 포인트를 선택하고,

상기 선택된 임의의 포인트를 기반으로 RANSAC 알고리즘을 이용하여 상기 파이프 형상을 산출하는 것을 특징으
로 하는 포인트 클라우드 대용량 데이터를 처리하기 위한 방법.

발명의 설명

기 술 분 야
[0001] 본 발명은 MPE(Mechanical Electrical and Plumbing) 설비에 대한 역설계 기법에 관한 것으로서, 특히, 3차원
포인트 클라우드의 대용량 데이터를 처리하기 위한 장치 및 그 방법에 관한 것이다.

-4-
등록특허 10-1666937

배 경 기 술
[0002] 최근 신규 시설물 건설이 줄어들고 기존 시설물에 대한 리모델링, 확장공사 및 유지보수가 시설물 관리에 있어
서 갈수록 큰 비중을 차지하고 있다.

[0003] 3차원 LiDAR 기술의 눈부신 발전으로 대규모 영역, 대용량 데이터 획득이 용이해졌고, 그 정밀도 또한 높아지고
있다. 대용량 3차원 데이터에 대한 처리기술 및 유용한 특징 정보 또는 형상정보를 정확하고 신속하게 추출할
수 있는 관련 연구도 국내외적으로 지속적으로 수행되고 있다. 따라서 업계에서는 최근 들어 LiDAR 장비를 도입
하여 기존 시설물에 대한 3차원 디지털 모델을 구축함으로서 라이프사이클 관리에 대한 효율을 극대화 하려고
하는 추세이다.

[0004] 특히, 건축에서 가장 큰 관리 및 운영비용을 차지하고 있는 MEP 배관 설비에 대한 역설계 기법이 최근 많이 적


용되고 있으나, 3차원 이미지 스캔 결과로 얻어진 데이터가 수백에서 수억개 이상의 포인트들로 구성되어 있는
빅 데이터가 대부분이므로, 포인트 클라우드의 관리, 저장, 처리 시 많은 어려움이 있다.

[0005] 따라서, MEP 배관 설비 3차원 포인트 클라우드의 대용량 데이터 처리 방법이 필요하다.

발명의 내용

해결하려는 과제
[0006] 따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 입력되는 포인트 클라우드를 그
리드 형태로 분할하여 분할된 각 그리드에 존재하는 포인트 클라우드를 역설계 가능한 정도의 LOD(Level of
Detail)로 낮추도록 한 3차원 포인트 클라우드의 대용량 데이터를 처리하기 위한 장치 및 그 방법을 제공하는데
있다.

[0007] 그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기
재로부터 당업자에게 명확하게 이해될 수 있을 것이다.

과제의 해결 수단
[0008] 상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 포인트 클라우드 대용량 데이터를 처리하기 위한 장
치는 대용량의 포인트 클라우드가 입력되면, 입력된 상기 포인트 클라우드를 그리드 형태의 공간으로 분할하여
분할된 상기 공간에서 LOD(Level of Detail) 포인트들을 선택하는 데이터 처리부; 상기 선택된 LOD 포인트들에
기반한 포인트 클라우드에서 노이즈를 제거하는 필터링부; 상기 필터링된 포인트 클라우드를 클러스터링하는 세
그먼테이션부; 및 상기 클러스터링된 포인트 클라우드를 이용하여 형상을 추출하는 형상 추출단계를 포함할 수
있다.

[0009] 바람직하게, 상기 데이터 처리부는 분할된 상기 공간의 중심점에 가장 가까운 포인트를 상기 LOD 포인트들로 선
택하는 것을 특징으로 한다.

[0010] 바람직하게, 상기 필터링 단계는 상기 선택된 LOD 포인트들에 기반한 포인트 클라우드의 공간 영역을 이용하여
일정한 규격의 복셀 그리드를 생성하고 상기 각 복셀 그리드에 할당된 포인트 셋의 평균치로 모든 복셀의 무게
중심 점을 포인트들로 산정하는 것을 특징으로 한다.

[0011] 바람직하게, 상기 세그먼테이션부는 상기 필터링된 포인트 클라우드에 곡률 유사도에 기반한 지역 성장 방식을


적용하여 세그먼트를 획득하는 것을 특징으로 한다.

[0012] 바람직하게, 상기 형상 추출부는 클러스터링된 포인트 클라우드로부터 임의의 포인트를 선택하고 상기 선택된
임의의 포인트를 기반으로 RANSAC 알고리즘을 이용하여 파이프 형상을 산출하는 것을 특징으로 한다.

[0013] 본 발명의 다른 한 관점에 따른 포인트 클라우드 대용량 데이터를 처리하기 위한 방법은 대용량의 포인트 클라
우드가 입력되면, 입력된 상기 포인트 클라우드를 그리드 형태의 공간으로 분할하여 분할된 상기 공간에서
LOD(Level of Detail) 포인트들을 선택하는 데이터 처리단계; 상기 선택된 LOD 포인트들에 기반한 포인트 클라
우드에서 노이즈를 제거하는 필터링 단계; 상기 필터링된 포인트 클라우드를 클러스터링하는 세그먼테이션
단계; 및 상기 클러스터링된 포인트 클라우드를 이용하여 형상을 추출하는 형상 추출부를 포함할 수 있다.

[0014] 바람직하게, 상기 필터링 단계는 분할된 상기 공간의 중심점에 가장 가까운 포인트를 상기 LOD 포인트들로 선택

-5-
등록특허 10-1666937

하는 것을 특징으로 한다.

[0015] 바람직하게, 상기 필터링 단계는 상기 선택된 LOD 포인트들에 기반한 포인트 클라우드의 공간 영역을 이용하여
일정한 규격의 복셀 그리드를 생성하고 상기 각 복셀 그리드에 할당된 포인트 셋의 평균치로 모든 복셀의 무게
중심 점을 포인트들로 산정하는 것을 특징으로 한다.

[0016] 바람직하게, 상기 세그먼테이션 단계는 상기 필터링된 포인트 클라우드에 곡률 유사도에 기반한 지역 성장 방식


을 적용하여 세그먼트를 획득하는 것을 특징으로 한다.

[0017] 바람직하게, 상기 형상 추출단계는 클러스터링된 포인트 클라우드로부터 임의의 포인트를 선택하고, 상기 선택


된 임의의 포인트를 기반으로 RANSAC 알고리즘을 이용하여 파이프 형상을 산출하는 것을 특징으로 한다.

발명의 효과
[0018] 이를 통해, 본 발명은 입력되는 포인트 클라우드를 그리드 형태로 분할하여 분할된 각 그리드에 존재하는 포인
트 클라우드를 역설계 가능한 정도의 LOD로 낮추도록 함으로써, 건축에서 가장 큰 관리 및 운영 비용을 차지하
고 있는 MEP 배관 설비를 효율적으로 관리할 수 있는 효과가 있다.

도면의 간단한 설명
[0019] 도 1은 대용량 3차원 포인트 클라우드의 형상 추출을 위한 전체 처리 흐름도이다.

도 2는 각 grid별 형상 추출 흐름도이다.

도 3은 각 grid별로 분할된 형상의 병합 방법의 흐름도이다.

도 4은 대용량 포인트 클라우드 기반 파이프 형상의 역설계 데이터 구조를 나타내는 도면이다.

도 5는 본 발명의 일 실시예에 따른 실린더의 수학적 모델을 나타내는 도면이다.

도 6은 본 발명의 일 실시예에 따른 대용량 데이터를 처리하기 위한 장치를 나타내는 도면이다.

발명을 실시하기 위한 구체적인 내용


[0020] 이하에서는, 본 발명의 실시예에 따른 3차원 포인트 클라우드의 대용량 데이터를 처리하기 위한 장치 및 그 방
법을 첨부한 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로
상세히 설명한다.

[0021] 또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부
호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와
같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른
실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의
각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.

[0022] 특히, 본 발명에서는 MEP(Mechanical Electrical and Plumbing) 배관 설비 3차원 포인트 클라우드 대용량 데이
터 처리 방법으로 최초로 입력되는 포인트 클라우드를 그리드 형태로 분할하여 분할된 각 그리드에 존재하는 포
인트 클라우드를 역설계 가능한 정도의 LOD(Level of Detail)로 낮추도록 한 새로운 방안을 제안한다.

[0024] 도 1은 대용량 3차원 포인트 클라우드의 형상 추출을 위한 전체 처리 흐름도이다.

[0025] 도 2는 각 grid별 형상 추출 흐름도이다.

[0026] 도 3은 각 grid별로 분할된 형상의 병합 방법의 흐름도이다.

[0028] 도 1 내지 3에 도시한 바와 같이, 대용량 3차원 포인트 클라우드를 효과적으로 처리하기 위해, 그리드로 분할하
고, 각 그리드에 속해진 포인트 클라우드 별 LOD를 복셀로 구분해 계산한다. LOD는 대용량 데이터를 간략화하는
데 사용된다. 간략화된 포인트 클라우드 데이터는 각 그리드의 개별적인 파일로 저장된다. 개별적으로 저장된
간략화된 포인트 클라우드 데이터는 형상을 추출할 필요가 있을 때만, 메모리에 로딩된다. 형상(shape) 추출된
결과는 그리드에 의해 분할되어 있으므로, 병합(merge)하는 과정이 필요하다. 이는 각 그리드에 포함된 형상과
기하학적으로 연결 가능성이 있는 주변 그리드의 형상이 있는 지 여부를 검사함으로써 가능하다.

[0030] 도 4은 대용량 포인트 클라우드 기반 파이프 형상의 역설계 데이터 구조를 나타내는 도면이다.

-6-
등록특허 10-1666937

[0031] 도 4에 도시한 바와 같이, 대용량 포인트 클라우드 기반 파이프 형상의 역설계 구조를 UML(Unified Modeling
Language) 클래스 다이어그램으로 표현한 것이다.

[0032] 이러한 파이프 형상의 역설계 구조의 클래스 다이어그램 요소는 [표 1]과 같다.

표 1
[0033] NO Class Description
1 PointXYZ 3D point structure which consists of X, Y, Z.
2 PointNormal 3D normal vector
3 PointCloud 3D points container
4 Segment Point cloud segmentation results
5 Database Database to manage the point clouds, shapes, Shapes and reverse design
algorithms
6 Shape Shape base class
7 Cylinder Cylinder is represented by a point 1, point 2 and radius
8 Plane Plane is represented by A, B, C and D
9 Shape Shape such as a pipe
10 ReverseDesignProgra Algorithm container to manage the Shape mapping rule sets and reverse
m design algorithms
11 ReverseDesignStrate Reverse design algorithm container to manage the algorithms
gy
12 Filtering Filtering algorithm implementation class
13 Segmentation Segmentation algorithm implementation class
14 RANSAC RANSAC implementation class
15 Recognition Shape recognition implementation class
16 Validation Validation implementation class to calculate and check the recognition
error
17 Report Validation results

[0035] 상기 [표 1]에서 정의된 것 중에서 역설계 자동화에 핵심적인 알고리즘은 포인트 클라우드에서 노이즈 등을 제
거하기 위한 Filtering, 필터링된 포인트 클라우드를 클러스터링하기 위한 Segmentation, 형상을 인식하기 위한
RANSAC이 있다.

[0036] 이때, 대용량 포인트 클라우드를 처리하기 위해서는 최초 입력되는 포인트 클라우드를 그리드 형태로 분할하여
각 그리드에 존재하는 포인트 클라우드를 역설계 가능한 정도의 LOD로 낮추지 않으면 대용량 포인트 클라우드를
메모리 불러 연산하기가 어려워진다. 이런 문제를 개선하기 위한 알고리즘을 상세히 설명하기로 한다.

[0037] 1. 필터링 알고리즘 모델 정의

[0038] 대용량 포인트 클라우드 노이즈 제거에 효과적인 방식은 복셀(Voxel) 기반의 통계적 아웃라이어 제거 기법으로
서 데이터 간략화(샘플링)와 아웃라이어 제거 필터링이 같이 처리됨으로 건축 MEP 객체 역설계 프로그램 개발에
유용하게 적용할 수 있다.

[0039] 포인트 클라우드 공간 영역을 이용하여 일정한 규격의 복셀 그리드를 생성하고 각 복셀에 할당된 포인트 셋의
평균치로 모든 복셀의 무게 중심 점을 산정한다. 결정된 무게 중심점을 이용해, 포인트 클라우드의 평균점이나
가장 가까운 근사점을 구한다. 평균점 혹은 근사점이 실제 형상을 추출할 때 사용되며, 이는 외부 시스템 옵션
에 따라 결정된다.

[0040] 이때, 복셀의 무게 중심 점을 산출하는 식은 다음의 [수학식 1]과 같이 나타낸다.

-7-
등록특허 10-1666937

수학식 1

[0041]

[0042] 여기서, s는 임의의 복셀 A에 소속된 포인트 수를 나타낸다.

[0043] 이렇게 샘플링을 통과하면 원시 데이터는 비교적 균질화된 가벼운 데이터로 압축된다.

[0044] 2. 세그먼테이션 알고리즘 모델 정의

[0045] 세그먼테이션은 곡률 유사도에 기반한 지역 성장(region growing) 방식을 가장 많이 사용한다. 이를 통해 포인


트 클라우드에서 연결된 지역을 부드럽게 탐색해 연결하는 방법을 제안한다.

[0046] 제안된 방법은 단지 지역 포면 법선과 점 연결성을 사용하며, 점 연결성은 k 근접점 또는 고정 거리 근접점을


사용하고, 작은 수의 파라미터만 요구하며, 세그먼트의 수를 조정할 수 있는데, 세그먼트의 수는 다음의 [수학
식 2]를 이용한다.

수학식 2

[0047]

[0048] 여기서, np는 PCD의 포인트 p=(px, py, pz)의 법선 벡터를 나타내고, ns는 현재 포인트와 주변 포인트의 법선 간
각도를 나타내며, θth는 허용 각도를 나타낸다.

[0049] 즉, 상기 [수학식 2]를 만족하는 포인트 p가 없을 때까지 세그먼테이션을 반복한다.

[0050] 3. 형상 추출 알고리즘 모델 정의

[0051] 포인트 클라우드에서 형상을 추출하기 위해, RANSAC 알고리즘이 사용된다. RANSAC 알고리즘은 기본 형상 인식
시 많이 활용되고 있는 방식으로 유명하다. 파이프 형상은 기본 형상인 실린더로 표현할 수 있으므로, 손쉽게
인식이 가능하다.

[0052] 도 5는 본 발명의 일 실시예에 따른 실린더의 수학적 모델을 나타내는 도면이다.

[0053] 도 5에 도시한 바와 같이, 실린더는 축, 지름, 반경, 길이로 정의할 수 있다. 이러한 실린더 모델을 수학적으로
간략화하면 다음의 [수학식 3]과 같이 나타낼 수 있다.

수학식 3

[0054]

[0055] 파이프 형상을 추출하기 위한 RANSAC 알고리즘 모델은 다음의 [표 2]와 같으며, 이를 이용하여 실린더 형상을
만족하는 포인트들을 얻을 때까지 각 단계를 반복한다.

-8-
등록특허 10-1666937

표 2
[0056] 1. P1 = SelectRandomPoint(PCD)
2. P2 = SelectRandomPoint(PCD)
3. P3 = SelectRandomPoint(PCD)
4. Plane = GetPlane(P1, P2, P3)
5. Pc = GetCenterPoint(P1, P2, P3, Plane)
6. R = GetRadius(Pc, P1, P2, P3)
7. AxisVector = GetAxis(Plane, Pc)
8. Cylinder = GetCylinder(AxisVector, Pc, R)
9. InlierNum = GetInlierNum(PCD, Cylinder, Tol)

[0058] 여기서, P1-P3은 실린더 탐색을 위한 시드(seed) 포인트를 의미한다. SelectRandomPoint() 함수는 PCD 포인트
클라우드로부터 임의의 포인트를 선택해 리턴한다. GetPlane() 함수는 시드 포인트로부터 평면을 얻는
함수이다. 평면과 시드 포인트들을 이용해, 원을 구성하고, 원의 중심점 Pc를 얻을 수 있으며, 반경 R도 함께
얻을 수 있다. 평면과 원의 중심점 Pc를 이용해 축을 획득하면, 실린더 형상을 계산할 수 있다. 그리고 나서 계
산된 실린더 형상에 허용오차 Tol를 적용하여, 포함되는 포인트들을 탐색한 후, 그 포인트 개수를 InlierNum으
로 리턴한다.

[0059] 위 알고리즘을 최대 InlierNum가 되도록, 반복한다. 여기서, PCD의 임의 포인트를 어떻게 선택하느냐에 따라,
알고리즘의 수행 성능과 품질을 크게 달라질 수 있다.

[0060] 4. 대용량 포인트 클라우드 처리 모델 정의

[0061] 대용량 포인트 클라우드를 처리하기 위해서는 포인트 클라우드를 3차원 공간상에서 격자 그리드 구조로 분할하
여, 각 그리드가 포함하는 포인트 클라우드의 LOD를 역설계 처리에 문제가 없는 수준에서 줄일 필요가 있다.

[0062] 이를 고려한 대용량 포인트 클라우드 처리 알고리즘 의사코드는 다음의 [표 3]과 같다.

표 3
[0063] 1: Grids = CreateGrid(PCD, GridPointNumber)
2: Loop Grid in Grids
3: Loop p in PCD
4: IF IsIn(Grid, p) Then
5: Grid = Grid + p
6: End
7: End
8: End
9:
10: Loop Grid in Grids
11: LODpoints = GetLODpoints(LODindex, Grid)
12: Grid[LODindex] = LODpoints
13: End

[0065] LOD 포인트를 얻는 GetLODpoints() 함수는 Grid의 전체 포인트 클라우드에서 주어진 LOD index로 정해진 포인트
최대 개수보다 같거나 낮은 포인트들을 얻기 위해, 해당 그리드를 Octree 공간으로 분할하고, 분할된 공간의 중
심점에 가장 가까운 포인트를 LOD 포인트들로 추가한다.

[0066] 도 6은 본 발명의 일 실시예에 따른 대용량 데이터를 처리하기 위한 장치를 나타내는 도면이다.

[0067] 도 6에 도시한 바와 같이, 본 발명에 따른 대용량 데이터를 처리하기 위한 장치는 데이터 처리부(310), 필터링
부(320), 세그먼트부(330), 형상 추출부(340)를 포함할 수 있다.

[0068] 데이터 처리부(310)는 포인트 클라우드가 입력되면, 입력되는 포인트 클라우드를 그리드 형태의 공간으로 분할
하여 분할된 공간의 중심점에 가장 가까운 포인트를 LOD 포인트들로 선택할 수 있다.

-9-
등록특허 10-1666937

[0069] 필터링부(320)는 선택된 LOD 포인트들에 기반한 포인트 클라우드에서 노이즈를 제거할 수 있는데, 포인트 클라
우드 공간 영역을 이용하여 일정한 규격의 복셀 그리드를 생성하고 각 복셀에 할당된 포인트 셋의 평균치로 모
든 복셀의 무게 중심 점을 포인트들로 산정할 수 있다.

[0070] 세그먼트부(330)는 필터링된 포인트 클라우드를 클러스터링할 수 있는데, 필터링된 포인트 클라우드를 특정 기
준에 따라 분류하여 그 분류한 결과로 다수의 세그먼트(segment)를 산정할 수 있다. 이때, 세그먼트부(330)는
필터링된 포인트 클라우드에 곡률 유사도에 기반한 지역 성장 방식을 적용하여 세그먼트를 획득할 수 있다.

[0071] 형상 추출부(340)는 클러스터링된 포인트 클라우드로부터 임의의 포인트를 선택하고 선택된 임의의 포인트를 기
반으로 RANSAC 알고리즘을 이용하여 파이프 형상을 산출할 수 있다.

[0072] 제안된 방식을 검증하기 위해, 앞서 정의한 대용량 클라우드 기반 파이프 형상 역설계 자동화 구조를 바탕으로
프로토타입을 구현해 보았다. 샘플은 MEP 설비를 레이저 스캔으로 얻은 포인트 클라우드를 사용하였다. 샘플의
개수는 41,790,655 포인트이다. 각 포인트마다 좌표 x,y,z 실수값(8x3 바이트), 반사강도값(8바이트) 실수값,
포인트 번호 n 정수값(4바이트)을 포함하고 있다. 전체 포인트 클라우드 용량은 1,504,463,580 바이트이다.

[0073] 이를 A=10만, B=100만, C=300만, D=원본 포인트 클라우드의 경우로 구분하여, 로딩 시간과 렌더링 시간에 대한
성능을 테스트해 보았다. 테스트한 컴퓨터의 재원인 CPU는 쿼드코어, 메모리는 4G이다.

[0074] 로딩 시간과 렌더링 시간에 대한 성능 결과는 다음의 [표 4]와 같이 나타난다.

표 4
[0075] case Loading Time(second) Rendering Time(second)
A 3.58 0.008
B 21.93 0.008
C 146.21 0.015
D 919.5 0.016
STD 435.8 0.004

[0077] 상기 [표 4]는 테스트 결과로 로딩 시간은 대용량 포인트 클라우드 처리를 위한 그리드와 LOD를 생성하고,
RANSAC 등 알고리즘에 필요한 포인트별 법선 벡터를 계산하는 시간으로 인해, 각 경우마다 로딩 시간(Loading
Time)은 표준편차 435.8로 차이가 많으나, 그리드와 LOD가 생성된 후에는 포인트 클라우드 검색과 관련된 렌더
링 시간(Rendering Time)은 표준편차 0.004로 큰 차이가 없음을 알 수 있어, 대용량 데이터 처리에 적합함을 알
수 있다.

[0078] 한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는
것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적
범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든
구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선
택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈
을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크,
플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하
여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록
매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.

[0079] 이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발
명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개
시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의
하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여
해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되
어야 할 것이다.

부호의 설명
[0080] 310: 데이터 처리부

- 10 -
등록특허 10-1666937

320: 필터링부

330: 세그먼트부

340: 형상 추출부

도면

도면1

도면2

- 11 -
등록특허 10-1666937

도면3

- 12 -
등록특허 10-1666937

도면4

- 13 -
등록특허 10-1666937

도면5

도면6

- 14 -

You might also like