Journal of the Society of Naval Architects of Korea
[ Research Paper ]
Journal of the Society of Naval Architects of Korea - Vol. 62, No. 1, pp.57-66
ISSN: 1225-1143 (Print) 2287-7355 (Online)
Print publication date 20 Feb 2025
Received 09 Sep 2024 Revised 10 Oct 2024 Accepted 29 Nov 2024
DOI: https://doi.org/10.3744/SNAK.2025.62.1.57

선박블록 3차원 스캐닝 데이터 처리를 위한 오픈 소스 알고리즘 기반 포인트 클라우드 후처리 방법 및 적용

정기석1 ; 김준수1 ; 박본영2 ; 이동건3,
1국립목포해양대학교 대학원 해양시스템공학과
2국립목포해양대학교 첨단해양모빌리티학과
3국립목포해양대학교 조선해양공학과
Post-Processing Methods and Applications for Ship Block 3D Scanning Data Based on Open-Source Point Cloud Algorithms
Ki-Seok Jung1 ; Joon-Soo Kim1 ; Bon-Yeong Park2 ; Dong-Kun Lee3,
1Department of Ocean System Engineering, Graduate School, Mokpo National Maritime University
2Department of Ocean Mobility and Smart Engineering, Mokpo National Maritime University
3Department of Naval Architecture and Ocean Engineering, Mokpo National Maritime University

Correspondence to: Dong-Kun Lee, dklee@mmu.ac.kr

This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

Recently, in the shipbuilding industry, various smart quality management technologies integrating Fourth Industrial Revolution technologies have been actively researched, with particular emphasis on the use of 3D laser scanning technologies for the rapid acquisition of precise data. The raw 3D point cloud data generated by 3D laser scanners often contains incomplete information and noise due to various factors such as surface characteristics, measurement environment, and weather conditions. Consequently, post-processing of the data is essential to accurately extracting and analyzing the desired information. Accordingly, this study investigates post-processing methods and applications for the analysis of point cloud in ship blocks. Utilizing open-source algorithms, the research implements and evaluates the feasibility of 3D point cloud data processing and analysis techniques, including noise removal and plane recognition. Initially, the algorithms were applied to sample 3D point cloud data measured in a laboratory setting, and an examination of characteristics based on algorithm parameters confirmed their applicability. Based on these findings, a step-by-step assessment of each algorithm was conducted on point cloud data from ship blocks measured on-site. The results indicated the applicability of the algorithms, except for the DBSCAN algorithm, for the ship block point cloud data.

Keywords:

3D point cloud, Ship block, Post-processing methods, Open-source algorithm

키워드:

3차원 포인트 클라우드, 선박 블록, 후처리 방법, 오픈 소스 알고리즘

1. 서 론

3차원 스캐닝 기술은 측정 대상의 표면에 대한 3차원 좌표와 표면의 특성 정보를 포함하는 포인트 클라우드(point cloud) 형태의 데이터를 생성하며, 생성된 데이터를 바탕으로 측정 대상과 동일한 형상의 3차원 모델을 신속하게 재구성할 수 있다. 특히 다수의 인력을 필요로 하지 않으며, 작업자의 숙련도에 관계없이 대상을 빠르고 정확하게 측정할 수 있는 장점으로 인해 다양한 산업에서 널리 활용되고 있다. 또한 레이저, 라이다(LiDAR, Light Detection and Ranging) 및 광학식 등 다양한 감지(sensing) 방법을 통해 원거리에서도 정밀한 계측이 가능하여 지속적으로 기술이 발전하고 있다.

이에 따라 조선 산업에서도 3차원 스캐닝 기술이 꾸준히 적용되고 있다. 복합재료 소형선박의 경우 생산 과정의 품질 관리를 위하여 3차원 스캐닝 기반의 디지털 품질 관리 방안을 제시하여 모형(mock-up), 금형(mold), 선체(hull) 단계에서의 변형을 정량적으로 평가하였으며 (Lee et al., 2023), 중대형선박의 경우 선박 블록의 포인트 클라우드와 설계 모델을 자동으로 정합하는 알고리즘을 개발하여 품질 관리에 적용하였다 (Wang et al., 2020). 뿐만 아니라 HDPE 용접 변형을 분석하기 위하여 3차원 스캐닝 기술을 적용하여 각 변형 및 휘어짐을 포함한 주요 왜곡 패턴을 정량적으로 측정하였다 (Lee, 2023). 최근에는 3차원 스캐닝 기술을 딥러닝에 적용하여 선형의 주요 특징을 네 가지 영역으로 나누어 학습 및 검증함으로써 선박 설계에서 딥러닝 기반 자동화 가능성을 보여주었다 (Guo et al., 2024). 또한 LNGC 화물창의 비계 시스템(scaffolding system)에 대한 객체 탐지를 자동화하여 데이터 처리 비용을 절감한 연구도 보고되었다 (Lee et al., 2021). 또한 3차원 스캐닝 기술은 광범위한 공간 및 제품을 신속하게 스캔하여 정밀한 포인트 클라우드를 생성함으로써 실시간으로 3차원 모델을 구축하고, 이를 통해 설계 데이터와 생산 제품의 간극을 최소화하여 대규모 인프라 구축 프로젝트의 전반적인 품질을 향상시킬 수 있다 (Wang and Kim, 2019).

3차원 스캐닝 계측 시 측정 대상의 모양 및 표면 특성, 측정 당시 주변 환경, 장비 등의 다양한 요인은 포인트 클라우드 데이터 정확도에 영향을 미칠 수 있으며, 이러한 요인으로 인해 일정하고 규칙적인 데이터 생성이 어려울 수 있다는 문제점이 존재한다. 포인트 클라우드 원본 데이터(raw data)는 이러한 불완전한 정보 및 노이즈(noise)를 포함하고 있어, 이를 그대로 활용하기는 한계가 있으며, 또한 적게는 수백만에서 많게는 수억 개의 포인트 클라우드가 생성되어 데이터 처리 및 가시화가 어려운 대용량 데이터가 생성되기도 한다. 따라서 원본 데이터를 토대로 원하는 정보를 정확하게 추출하고 분석하기 위해서는 데이터 후처리(post-processing) 과정이 필수적이나, 인력에 의존한 수동 후처리는 많은 비용과 시간이 소요될뿐더러 인적오류가 발생하기 쉬우므로 이 과정을 자동화할 필요가 있다 (Mirzaei et al., 2022).

이에 따라 본 연구에서는 실제 현장에서 계측한 선박블록 포인트 클라우드의 원본 데이터를 대상으로 유의미한 정보를 얻기 위한 포인트 클라우드 후처리 기법에 대한 연구를 수행하였다. 이를 위하여 오픈 소스 라이브러리 기반 포인트 클라우드의 후처리 기법 알고리즘을 적용하였다. 먼저 연구실 수준에서 계측 가능한 포인트 클라우드를 활용하여 알고리즘을 구현하고 그 특성을 파악하였으며 이를 기반으로 선박블록 포인트 클라우드에 적용함으로써 대용량 포인트 클라우드의 오픈 소스 라이브러리 기반 데이터 후처리 및 분석 알고리즘의 적용 가능성을 검토하였다.


2. 3차원 스캐닝 프로세스 및 포인트 클라우드 후처리 기법

3차원 스캐닝 기술은 계측 대상의 표면 형상을 포인트 클라우드 형태의 데이터로 재구성하는 기술로서 조선 산업에 있어 3차원 스캐닝 프로세스는 크게 네 가지로 스캐닝 플랜(scanning plan) 수립 단계, 전처리(pre-processing) 단계, 스캐닝(scanning) 단계, 후처리(post-processing) 단계로 구분할 수 있다(Fig. 1). 먼저 스캐닝 플랜 수립 단계에서는 계측 대상의 크기에 따라 스캔 방식을 결정하게 되며 일반적으로 10m 이상의 대규모 구조물의 경우 광대역 레이저 스캐닝(long-range laser scanning) 방식을 사용하며 10m 미만의 소형 또는 작은 부품의 경우 정밀 스캐닝(precision scanning) 방식을 사용한다. 또한 스캐너의 작동 원리에 따라 비행시간(ToF, Time of Flight), 위상편이(phase shift), 삼각측량(triangulation) 방식 등으로 구분되며 ToF 방식은 방출된 빛이 대상 표면에 반사되어 돌아오는 시간을 기록하여 거리를 측정하는 방법으로 장거리 측정이 가능하다는 특징이 있어 주로 광대역 스캐너에 ToF 방식이 사용된다. 위상편이 방식은 레이저를 방출하여 방출된 신호 및 반사된 신호 사이의 위상차를 측정하여 거리를 측정하는 방법으로 중거리 측정 및 빠른 데이터 취득이 가능하다는 특징이 있어 중거리 스캐너에 사용되는 방식이다. 다음으로 삼각측량 방식의 경우 레이저가 반사되어 센서로 되돌아오는 각도를 측정하여 거리를 측정하는 방법으로 단거리 측정 및 소형 대상물을 대상으로 한 핸드헬드형 스캐너에 사용된다. 이처럼 측정 대상의 크기 및 요구되는 데이터의 정확도, 측정을 수행하기 위한 환경에 따라 스캔 방식 및 스캐너를 결정하는 것은 초기 스캐닝 플랜 단계에서 매우 중요한 사항이다.

Fig. 1

3D scanning process for point cloud

스캐닝을 수행하기에 앞서 전처리 단계에서는 흡광도(absorbance), 반사율(reflectivity), 투명도(transparency), 색상(color)과 같은 계측 대상 표면의 특성을 고려하여 사전에 전처리를 수행하는 것이 매우 중요하다. 빛을 흡수하는 성질을 의미하는 흡광도나 빛을 반사하는 정도를 의미하는 반사율과 같은 성질은 계측된 포인트 클라우드의 품질을 좌우하기 때문에 중요한 고려 사항이다. 예를 들어 대상 표면의 흡광도가 높은 경우 스캐너에서 방출되는 빛을 흡수하여 정확한 포인트 클라우드를 획득하기 어렵고 마찬가지로 반사율이 클 경우 스캐너로부터 방출되어 돌아오는 빛에 영향을 미쳐 정확한 포인트 클라우드를 획득하기 어려운 문제점이 발생한다. 일반적으로 유리나 액체와 같은 투명한 물체는 스캐닝이 불가능한 경우에 해당하며 스캐너의 방식에 따라 차이는 있지만 물체 표면의 색상 또한 데이터 품질을 좌우하므로 전처리 단계 시 고려해야 할 사항에 해당한다. 뿐만 아니라 계측 대상의 형상 특징 또한 스캐닝을 수행하기 전에 고려해야 할 사항으로 형상이 매우 작거나 얇은 형상이거나 평면인 형상은 계측된 포인트 클라우드의 품질이 떨어질 수 있다. 이러한 문제를 해결하기 위해 전처리 단계가 필요하며 흡광도, 반사율, 투명도 및 포인트 클라우드 획득이 어려운 색상의 경우 마스킹 테이프(masking tape) 또는 반사 방지 스프레이(anti-glare spray)를 표면에 분사하여 데이터의 품질을 높일 수 있으며 작거나 얇은 물체 또한 같은 방법의 전처리 작업을 통하여 획득된 데이터의 품질을 높일 수 있다. 넓은 평면으로 이루어진 물체의 경우 마커(marker)를 부착하거나 텍스처 특징을 표면에 추가하여 스캐닝의 정확도를 높일 수 있다 (Park, 2023).

다음으로 스캐닝을 완료한 후 획득된 데이터를 처리하기 위한 후처리 단계는 데이터 정리(data cleaning), 데이터 정합(data registration), 데이터 분할(data segmentation), 객체인식(object recognition)까지 네 가지 후처리 기법으로 이루어져 있다. 데이터 정리는 원본 데이터의 불필요한 데이터를 제거하는 단계로 포인트 클라우드 원본 데이터에는 다양한 노이즈와 필요 없는 데이터가 포함되어 있으며 의도한 목적에 맞게 사용하기 위해서는 노이즈를 걸러내고 필요한 데이터만 남기는 작업을 거쳐야한다. 데이터 정합의 경우 서로 다른 위치에서 계측된 여러 포인트 클라우드를 공통의 좌표계로 정렬한 후 하나의 데이터로 정합하는 프로세스를 의미한다. 조선 산업의 선박블록과 같은 초대형 물체는 한 번의 계측으로 원하는 품질의 데이터를 얻기란 불가능에 가깝기 때문에 다양한 위치에서의 데이터 수집이 필요하며 이처럼 여러 위치에서 계측된 데이터를 하나의 데이터로 만들기 위한 작업이다. 다음으로 데이터 분할은 정합이 완료된 후의 포인트 클라우드에 대해 의미 있는 특징을 가진 여러 개의 동질적인 영역으로 구분하는 작업을 의미하며 포인트 클라우드 군집화(clustering)를 통하여 동일한 객체 또는 영역으로 분할하여 각각의 군집을 생성할 수 있다. 마지막으로 객체인식 단계는 포인트 클라우드로부터 특정 사물을 인식하는 것을 의미하며 예를 들어 건물에 대한 포인트 클라우드를 획득하였다면 벽, 지붕, 바닥, 기둥과 같은 객체 클래스를 지정하여 특정 포인트 클라우드가 벽에 속한 포인트인지 지붕에 속한 포인트인지 식별하는 단계라고 할 수 있다 (Wang et al., 2020). 유사하게 구조 공학에 응용하기 위한 데이터 후처리 단계로는 정합(registration), 이웃 선택(neighborhood selection), 이상치 제거(outlier point detection), 불필요한 점 제거(extraneous point detection), 이웃 삼각화(neighborhood triangulation), 가우스 맵 클러스터링(gauss map clustering), 날카로운 특징 감지(sharp feature detection), 분할(segmentation), 표면 맞춤(surface fitting), 객체 감지(object detection)까지 10가지 처리 단계를 제시하였으며 이는 앞서 네 가지 후처리 기법을 상세하게 구성한 단계로 주요한 단계는 유사한 것으로 나타났다 (Walsh et al., 2013).

또한 최근 광산 운송 시스템에 활용되는 컨베이터 벨트의 결함 감지(damage detection)를 위하여 벨트 형상을 얻기 위한 포인트 클라우드 데이터의 반자동 처리 방법이 개발되었으며 RANSAC (Random Sample Consensus) 알고리즘을 사용하여 벨트의 기본 평면을 추정하고 DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 알고리즘을 사용하여 객체 이외의 점을 제거하는데 활용하였다 (Trybała et al., 2020).

이처럼 획득된 포인트 클라우드를 처리하기 위한 방법에는 상용 소프트웨어를 이용하는 방법과 오픈 소스 라이브러리를 이용하는 방법이 있으며 대표적으로 상용 소프트웨어에는 Design X, MeshLab, CloudCompare 등과 같은 소프트웨어가 있고 오픈 소스 라이브러리에는 Open3D, PCL(Point Cloud Library), PDAL (Point Data Abstraction Library) 등이 있다. 본 연구에서는 상용 소프트웨어가 아닌 오픈 소스 라이브러리의 알고리즘을 사용하여 실제 현장에서 계측한 대용량 포인트 클라우드를 대상으로 어느 정도 수준까지 데이터를 처리할 수 있는지 검토하고자 하였으며 이에 오픈 소스 라이브러리를 선정함에 있어 파이썬(python) 기반의 예제 및 알고리즘이 다양하게 구현되어 있고 최근까지 업데이트가 이루어지고 있는 Open3D를 선정하였다 (Zhou et al., 2018). 앞서 설명한 바와 같이 포인트 클라우드 후처리 기법에는 데이터 정리, 데이터 정합, 데이터 분할, 객체인식 네 가지 단계로 구분할 수 있으며 본 연구에서는 다시 데이터 정리와 데이터 정합 단계를 후처리 알고리즘 적용으로 구분하고 데이터 분할과 객체인식 단계는 분석 알고리즘 적용으로 구분하여 수행하였다. 이를 Fig. 2에 나타내었으며 구현하고자 하는 오픈 소스 라이브러리 알고리즘을 각 단계에 맞추어 수행하였다. 먼저 데이터 정리 단계를 위하여 포인트 클라우드를 자르는 기능인 Crop point cloud 알고리즘과 이상치(outlier)를 제거하는 Point cloud outlier removal 알고리즘을 구현하였으며 데이터 정합 단계에서는 ICP(Iterative Closest Point) registration 알고리즘과 Global registration 알고리즘을 각각 구현하여 비교하였다. 다음으로 데이터 분할 단계에서는 DBSCAN 알고리즘을 구현하여 군집화를 수행하였으며 마지막으로 객체인식 단계에서는 평면인식을 위해 RANSAC 알고리즘을 구현하였다.

Fig. 2

Open-source algorithm according to post-processing methods for point cloud


3. 포인트 클라우드 후처리 및 분석 알고리즘

3.1 후처리 알고리즘

데이터 정리를 위한 첫 번째 후처리 알고리즘으로 Crop point cloud는 3차원 포인트 클라우드에서 일정 영역을 제외한 나머지 부분을 잘라내는 기능으로 계측된 원본 데이터에서 필요한 객체를 제외한 나머지 부분을 제거할 때 사용되며 일반적으로 계측된 데이터에 포함된 배경을 제거하거나 불필요한 영역의 포인트 클라우드를 제거하는데 사용된다. Crop point cloud 알고리즘을 이용하여 불필요한 포인트 클라우드를 제거하기 위한 절차로는 먼저 유지하고자 하는 영역을 확인하고 그 영역에 해당하는 포인트 좌표를 이용하여 경계 상자(bounding box)를 설정해야한다. 경계 상자에 대한 정보는 경계 상자의 특정 면을 이룰 다각형의 포인트와 그 면을 확장시킬 기준이 되는 축, 그리고 축의 최솟값과 최댓값으로 이루어져 있으며 JSON(Java Script Object Notation) 파일의 데이터 포맷으로 저장된다. 이처럼 설정된 경계 상자 내부의 포인트 클라우드를 제외한 나머지 영역의 포인트 클라우드를 제거하며 Fig. 3은 JSON 파일에 의해 경계 상자가 설정되는 과정을 나타내었다.

Fig. 3

Creating bounding box for crop point cloud algorithm

스캐닝 기술이 꾸준히 발전하고 있음에도 대부분의 스캐닝 장비는 노이즈 및 이상치와 같은 스캐닝 아티팩트(artifacts)를 유발한다. 스캐닝 아티팩트는 여러 요인에 의해 발생하며 센서의 물리적 한계로 인하여 획득된 데이터에 노이즈가 포함되기도 하고 날씨나 빛의 세기와 같이 계측 환경에 영향을 받아 발생하기도 한다. 또한 다중반사(multiple reflection)나 심한 노이즈로 인해 개체의 표면 밖에 이상치가 생성되기도 하며 스캐닝 중 계측 대상의 움직임으로 인해 모션 아티팩트가 발생하기도 한다. 이와 같은 포인트 클라우드의 결함이 제대로 제거되지 않으면 정밀한 메시 생성이 어렵고 정교한 표면의 재구성 및 모델링 작업을 위한 시간과 인력이 낭비될 수 있다. 따라서 메시 생성을 수행하기 전 포인트 클라우드의 스캐닝 아티팩트를 제거하는 작업은 필수적이라 할 수 있다. 이와 같은 이유로 인하여 데이터 정리를 위한 두 번째 후처리 알고리즘인 Point cloud outlier removal 알고리즘의 적용이 필요하며 원본 데이터에 포함된 노이즈와 이상치를 제거하는 알고리즘으로 일반적으로 통계적 이상치 제거(statistical outlier removal)알고리즘과 반경 이상치 제거(radius outlier removal) 알고리즘이 있다. 첫 번째 알고리즘은 K-Nearest Neighbors(K-NN) 알고리즘 기반으로 각각의 점으로부터 모든 이웃하는 점까지의 평균 거리를 계산하고 평균과 비교하여 표준편차 기반의 임계값보다 더 멀리 떨어져 있는 점을 이상치로 인식하여 제거하는 방법이며 두 번째 알고리즘은 특정 점을 기준으로 주어진 구의 반경 안의 포인트 클라우드의 개수가 최소 개수보다 적을 경우 이상치로 인식하여 제거하는 방법이다.

다음으로 데이터 정합의 경우 일반적으로 복잡한 형상이나 대규모 물체에 대한 완성된 포인트 클라우드를 얻기 위해서는 여러 지점(viewpoint)에서 계측이 필요하다. 계측된 각각의 포인트 클라우드는 각각의 좌표계를 가지고 있으며 이를 하나의 일괄된 좌표계로 변환하여 하나의 포인트 클라우드로 병합하는 작업을 거쳐야하는데 이를 포인트 클라우드 정합(registration)이라 한다. 정합을 위한 알고리즘으로는 FPFH(Fast Point Feature Histograms), ICP 알고리즘 등이 있다.

FPFH는 식 (1)과 같이 포인트 클라우드 내 포인트 간의 기하학적 관계를 나타내기 위해 법선 벡터가 이루는 각도를 계산하고 이를 히스토그램으로 추출하는 SPFH(Simple Point Feature Histograms) 알고리즘에 p점으로부터 이웃하는 pk점까지의 거리 가중치(ω)를 추가한 알고리즘이다 (Rusu et al., 2009). 이와 같이 Target data와 Source data의 동일한 특징을 찾아 대응관계를 얻어내고 데이터의 이동 및 회전과 같은 변환을 계산한다. 대용량 데이터의 정합의 경우 큰 범위의 대략적인 변환을 제공하기 때문에 이후 국부적인 개선을 통해 최적의 정합 결과를 얻어낸다.

FPFHp=SPFHp+1ki=1k1wkSPFHpk(1) 
  • 여기서,
  • k: 이웃 포인트 수
  • pk: 포인트 p의 이웃 포인트
  • ωk: 포인트 p와 이웃 포인트 pk간의 거리 가중치

ICP 알고리즘의 경우 포인트 클라우드 데이터인 Target data (P)와 초기 변환행렬(T)에 의해 변환된 Source data(Q)의 대응집합 K = (p,q)를 구한다. 이후 식 (2)와 같이 변환행렬 T에 따른 목적함수 E(T)를 최소화하는 K를 반복하여 업데이트하고 새로 계산된 목적함수와 이전에 계산된 목적함수의 차이를 오차로 정의하고 오차가 원하는 임계값보다 작아질 때까지 반복하는 알고리즘이다 (Besl and Mckay, 1992).

ET=p,qKp-Tq2(2) 
  • 여기서,
  • (p,q): 포인트 클라우드 P,Q에서의 최근접 포인트 쌍
  • K : p, q 간의 모든 포인트 쌍 집합

3.2 분석 알고리즘

데이터 분할 단계를 위한 군집화 기법은 주어진 포인트 클라우드를 부분적인 군집(cluster)으로 나누는 과정을 의미하며 나누어진 하나의 군집 내부의 포인트 클라우드는 가깝거나 유사한 특징을 가지고 있다. 군집화 알고리즘에는 대표적으로 K-means clustering, Hierarchical clustering, DBSCAN과 같은 알고리즘이 사용되고 있다. K-means clustering은 K개의 임의의 중심점을 배치하고 각 포인트를 가장 가까운 중심점으로 할당함으로서 하나의 군집을 형성하는 방법이며 형성된 군집의 데이터를 기반으로 새로운 중심점의 위치를 업데이트하여 업데이트가 되지 않을 때까지 반복하는 알고리즘이다. 다음으로 Hierarchical clustering의 경우 K-means clustering과 다르게 군집의 수를 미리 정하지 않는 특징이 있으며 가장 가까운 거리의 포인트를 하나의 군집으로 묶어가며 작은 군집부터 시작하여 모든 포인트 클라우드가 하나의 군집으로 묶일 때까지 반복하는 알고리즘이다. 마지막으로 DBSCAN 알고리즘은 포인트 클라우드의 밀도 기반 군집화 기법으로 특정 포인트를 기준으로 반경 내에 존재하는 포인트의 개수가 임계값 이상으로 존재하는 경우 하나의 군집으로 인식하는 방식의 알고리즘이다. 이는 기하학적인 형상을 갖는 군집을 찾는데 장점이 있어 본 연구에서는 DBSCAN 알고리즘을 사용하였다. Fig. 4에는 DBSCAN 알고리즘에 대한 개념을 나타내었으며 Fig. 4(a)의 p1을 중심으로 반경을 나타내는 Epsilon 내부의 점의 개수가 최소한의 점(Min. points)이상일 경우 중심점(core point)로 인식하고 Fig. 4(b)의 p2와 같이 최소한의 점을 만족하는 주위의 점과 함께 하나의 군집을 형성한다. 반면 Fig. 4(c)의 p3과 같이 최소한의 점을 만족하지 못하는 점을 경계점(border point), Fig. 4(d)의 p4와 같이 반경 내에 이웃하는 점이 없는 경우 노이즈 점(noise point)으로 인식한다.

Fig. 4

Concept of density based clustering using DBSCAN (Ahmed et al., 2020)

마지막으로 객체인식 단계를 위한 분석 알고리즘은 평면인식(plane recognition)에 널리 사용되는 RANSAC(RANdom SAmple Consensus) 알고리즘을 이용하여 구현하였으며 이는 계측된 포인트 클라우드에서 평면을 인식하는 알고리즘이다. RANSAC 알고리즘의 프로세스로는 Fig. 5와 같이 2차원 선 추정(line estimation)의 간단한 예시를 통해 설명할 수 있으며 먼저 선을 정의하기 위한 최소한의 샘플 포인트 2개를 선정하여 무작위 가설을 구성하고 지지도가 가장 높은 가설을 선택한다. 다음으로 명확한 Inlier, 즉 이상치(outlier)가 아닌 가설을 만족하는 포인트로부터 모델의 매개변수를 추정하고 마지막으로 최신 모델과 일치하는 포인트를 Inlier로 설정하여 모델을 재평가하는 단계로 이루어진다 (Civera et al., 2010). 본 연구의 오픈 소스 라이브러리에서 또한 RANSAC 알고리즘을 기반으로 전체 포인트 클라우드에서 n개의 샘플을 선택하고 선택된 샘플을 통해 모델을 예측하는 가설을 설정한 후 모델과 일치하는 포인트의 수를 세어 포인트가 최대인 경우 모델의 매개변수를 갱신하여 검증 단계를 반복함으로써 최적화된 모델을 사용하였다. 평면인식의 경우 앞서 2차원 선 추정 예시와 달리 평면을 인식하기 위해 식 (3)의 평면방정식을 RANSAC 알고리즘에 적용하였으며 포인트 클라우드 각각의 포인트(x, y, z)에 대해 식 (3)을 만족하는 방정식의 매개변수(a, b, c, d)를 반환하여 평면을 인식하도록 하였다.

ax+by+cz+d=0(3) 
Fig. 5

Process of RANSAC algorithm (Civera et al., 2010)


4. 포인트 클라우드 후처리 및 분석 알고리즘 테스트

본 연구에서는 앞서 오픈 소스 라이브러리를 이용한 포인트 클라우드 후처리 및 분석 알고리즘을 적용하기 위하여 연구실 환경에서 계측 가능한 테스트 형상을 제작하였으며 3차원 광대역 레이저 스캐너를 활용하여 연구실 복도에서 계측을 수행하였다. Fig. 6은 연구실 복도에서 계측한 포인트 클라우드의 원본 데이터를 나타내고 있으며 테스트 형상을 담은 테스트 보드(test board)와 계측에 사용된 3차원 스캐너의 위치 및 계측 가능한 범위에 대한 모든 포인트 클라우드를 나타내었다. 테스트 형상의 경우 복잡하고 기하학적인 선박블록 형상을 간단하게 모사하기 위한 형상으로 평면, 곡면, 가느다란 정도, 색상에 따른 알고리즘 적용 결과를 비교하기 위하여 제작되었다. 본 연구에 활용된 3차원 스캐너는 비접촉식 광대역 레이저 스캐너로 Leica사의 RTC360 제품을 사용하였으며 본 제품은 고정형 스캐너로 한 위치에 고정되어 수평방향으로 360°, 수직방향으로 300°로 스캐닝을 수행하여 계측 대상과 주위의 환경까지 모두 계측하는 특징이 있으며 Table 1에는 RTC360의 스펙을 나타내었다.

Fig. 6

Raw data of laboratory corridor point cloud

Specification of Leica-RTC360

4.1 테스트 보드 대상 알고리즘 적용 테스트

앞서 Fig. 6에서와 같이 3차원 광대역 스캐너를 활용하여 계측을 수행하는 경우 계측 대상인 테스트 보드 이외의 주변 환경이 모두 계측되는 것을 확인하였다. 이처럼 불필요한 포인트 클라우드를 제거하기 위하여 Crop point cloud 알고리즘을 활용하였으며 Fig. 7(a)에는 1차 crop을 통하여 연구실 복도에 대한 모든 포인트 클라우드 중 테스트 보드 주위의 포인트 클라우드를 제외한 나머지를 제거하였으며 Fig. 7(b)에는 다시 한 번 2차 crop을 수행하여 테스트 보드를 제외한 나머지 부분을 제거하였다.

Fig. 7

Crop point cloud application of laboratory corridor point cloud

이처럼 crop이 완료된 테스트 보드 포인트 클라우드에서 스캐닝 아티팩트를 제거하기 위하여 Point cloud outlier removal의 통계적 이상치 제거 알고리즘과 반경 이상치 제거 알고리즘을 각각 적용하였다. 먼저 통계적 이상치 제거 알고리즘의 파라미터는 각각의 포인트 사이의 평균거리를 계산하기 위해 이웃하는 점의 개수(nb_neighbors)와 평균거리 보다 멀리 떨어진 포인트를 찾기 위한 임계값(std_ratio)이 있으며, 반경 이상치 제거 알고리즘의 경우에는 반경 안에 포함되어야 하는 최소한의 포인트 개수(nb_minpoints)와 구의 반경(r_removal)이 있다. Fig. 8에는 각 알고리즘에 따라 주요 파라미터에 따른 이상치를 나타내었다. Fig. 8(a)의 경우 파라미터 nb_neighbors가 늘어남에 따라 이상치도 늘어나는 것을 확인하였으며 이는 이웃하는 점의 개수가 늘어남에 따라 평균거리가 늘어나 임계값보다 멀리 떨어진 점(outlier)이 증가하는 것으로 판단된다. 반면에 이웃하는 점의 개수가 일정하여 평균거리가 일정한 경우 임계값인 파라미터 std_ratio가 커짐에 따라 이 보다 더 멀리 떨어진 점(outlier)이 감소하는 것으로 판단된다. Fig. 8(b)의 경우 파라미터 nb_minpoinst가 늘어남에 따라 반경 내에 포함되어야하는 최소 포인트의 개수가 증가하여 이상치를 인식하는 기준이 높아져 기준을 만족하지 못하는 점(outlier)이 증가하는 것을 확인하였다. 또한, 파라미터 r_removal가 증가함에 따라 최소 포인트의 개수를 만족하는 포인트가 증가하여 이상치는 적어지는 것을 확인하였다. Fig. 9에는 각각의 Point cloud outlier removal 알고리즘을 적용한 테스트 보드의 결과를 나타내었다. 붉은색으로 보이는 부분이 이상치로 인식된 포인트 클라우드이며 해당 이상치를 제거한 후 정합을 수행하였다.

Fig. 8

Comparison of outlier according to algorithm

Fig. 9

Outlier results of test board point cloud

테스트 보드의 계측 결과 정면만 계측할 경우 측면의 형상이 계측되지 않고 빈 공간이 발생하는 문제로 인해 정면과 45도 각도 두 가지 지점에서 계측을 수행하였으며 Global registration 알고리즘과 ICP registration 알고리즘을 각각 적용하여 정합을 수행하였다. 먼저 Fig. 10(a)의 파란색 데이터는 45도 측면에서 계측된 데이터이며, 노란색 데이터는 정면에서 계측된 데이터이다. 두 가지 지점에서 계측된 포인트 클라우드는 각각의 좌표계를 가지고 있어 정렬(align)이 이루어지지 않은 상태를 확인하였다. Fig. 10(b)에는 두 데이터의 Global registration 알고리즘을 적용하기 위해 45도 데이터를 Target date로 설정하고 정면 데이터를 Source data로 설정하여 정합된 결과를 가시화하였다. 그 결과 모든 Inlier 대응관계에 대한 오차 평가 지표인 RMSE(Root Mean Squared Error)의 경우 4.16e-03을 나타냈으며 Target data 대비 Inlier 대응관계의 중첩영역을 의미하는 적합도(fitness)의 경우 96.3 %의 결과를 보여주었다. 마찬가지로 ICP registration 알고리즘 적용을 위해 동일한 데이터로 Target data와 Source data를 설정하였으며 두 데이터의 초기 대응관계를 나타내는 변환 행렬(trans_init) 파라미터와 두 데이터가 수렴하는 기준거리를 의미하는 임계값(threshold)을 설정하여 정합 결과를 얻었다. Fig. 11(a)는 점과 점 사이의 ICP registration을 통해 얻은 결과이며 Fig. 11(b)는 점과 평면 사이의 ICP registration을 통해 얻은 결과로써 RMSE는 각각 3.61e-03, 3.22e-03을 나타내었으며 적합도는 각각 98.9%와 98.8%를 나타내었다.

Fig. 10

Registration results of test board point cloud according to global registration algorithm

Fig. 11

Registration results of test board point cloud according to ICP registration algorithm

다음으로 정합이 완료된 테스트 보드에 포인트 클라우드의 밀도 기반 군집화 기법인 DBSCAN 알고리즘을 적용하였다. 주요 파라미터로는 특정 점을 기준으로 하는 반경(r_cluster)과 이 반경 안에 포함되는 최소한의 점의 개수(minPoints)가 있으며 이에 따라 반경 안에 최소한의 점 이상이 존재하면 하나의 군집으로 인식하는 알고리즘이다. 하나의 군집으로 군집화된 포인트 클라우드는 동일한 색상으로 가시화하여 같은 색상의 포인트 클라우드를 하나의 군집으로 구분할 수 있도록 하였으며 노이즈로 인식된 포인트 클라우드는 검은색으로 가시화하였다. Table 2Fig. 12는 테스트 보드 포인트 클라우드에 적용한 DBSCAN 결과를 나타내었으며 각각의 Case는 파라미터를 조절하면서 알고리즘에 적용하였다. Case-1의 경우 군집이 하나도 이루어지지 못한 것을 확인하였으며 이는 계측된 포인트 클라우드의 밀도에 비해 r_cluster와 minPoints의 파라미터 값이 작아 군집을 이루지 못한 것으로 판단되며 Fig. 12(a)와 같이 모든 포인트를 노이즈로 인식하였다. r_cluster 파라미터를 증가시킨 Case-2의 경우 8,301개의 군집이 이루어진 것을 확인하였으며 Fig. 12(b)에서와 같이 군집을 이루기 위한 반경을 증가시켜 일부 군집이 생성되었으나 테스트 보드의 형상 특징을 구분하지 못하는 작은 반경의 군집이 발생하였다. 이에 Case-3과 같이 동일한 r_cluster 파라미터에서 minPoints 파라미터만 증가시켜 군집의 수를 2,454개로 감소시켰으나 여전히 Fig. 12(c)와 같이 형상을 구분하지 못하였다. 이번에는 동일한 minPoints 파라미터에서 한 번 더 r_cluster를 증가시킨 Case-4의 경우 군집의 수가 109개로 현저히 감소한 것을 확인하였다. 이는 군집을 이루는 반경을 증가시키므로 더 넓은 범위의 군집을 이루어 Fig. 12(d)와 같이 테스트 보드의 형상 특징을 구분한 것으로 판단된다. 군집의 수를 더 줄이기 위하여 Case-2와 Case-3에서와 같이 minPoints의 수를 증가시킨 Case-5의 경우 Fig. 12(e)와 같이 오히려 군집의 개수가 증가하는 것을 확인하였으며 이는 반경에 따라 군집을 이루는 포인트의 밀도가 상이하기 때문으로 판단되며 반경 내의 최소 점의 수가 증가하더라도 항상 군집의 수가 감소하는 것은 아니며 반경에 따라 달라질 수도 있는 것을 확인하였다. 마지막으로 r_cluster를 더 증가시킨 Case-6의 경우 군집의 수가 25개로 감소하였으며 Fig. 12(f)와 같이 형상 특징 또한 조금 더 뚜렷하게 구분하는 것을 확인하였다.

DBSCAN results according to parameters

Fig. 12

DBSCAN clusters results of test board point cloud

이번에는 앞서 정합이 완료된 테스트 보드 포인트 클라우드 데이터를 기반으로 평면인식을 위해 RANSAC 알고리즘을 적용하였다. 주요 파라미터로는 Inlier로 간주되기 위해 추정된 평면에서 특정 점까지의 거리를 의미하는 distance_threshold 파라미터와 평면을 추정하기 위해 무작위로 샘플링 되는 점의 수를 의미하는 ransac_n 파라미터, 마지막으로 무작위로 구성되는 평면이 검증되는 빈도를 의미하는 num_iteration 파라미터가 있다. Fig. 13에는 테스트 보드에 RANSAC 알고리즘을 적용한 결과를 나타내었다. 붉은색으로 가시화된 부분이 평면으로 인식한 포인트 클라우드를 의미하며 Fig. 13(a)와 같이 distance_threshold : 0.05인 경우 테스트 보드의 평면을 제대로 인식하지 못한 것을 확인하였으며 Fig. 13(b)와 같이 distance_threshold : 0.01로 감소시킨 경우 즉 추정된 평면으로부터 lnlier로 인식하기 위한 특정 점까지의 임계값을 감소시킴으로 평면을 제대로 인식하는 것을 확인하였다.

Fig. 13

Plane recognition results of test board point cloud according to RANSAC algorithm

4.2 선박블록 대상 알고리즘 적용 테스트

앞서 4.1 절에서는 연구실 환경에서 계측 가능한 수준의 테스트 보드를 대상으로 후처리 알고리즘의 기능을 검토하였으며 4.2 절에서는 실제 현장에서 계측한 포인트 클라우드의 적용 가능성을 검토하기 위해 선박블록을 대상으로 알고리즘을 적용하였다. Fig. 14(a)는 건조된 선박블록을 계측하기 위한 스캐닝 플랜의 계측 지점(viewpoint)을 나타내었으며 Fig. 14(b), Fig. 14(c), Fig. 14(d)는 각각 계측 지점인 VP01, 02, 03에서 계측된 선박블록의 포인트 클라우드 원본 데이터 Scan data-01, 02, 03을 나타내었다.

Fig. 14

Scanned raw data at viewpoints

이에 따라 Fig. 15에는 VP01에서 계측한 원본 데이터를 대상으로 후처리 알고리즘의 적용 결과를 나타내었으며 Table 3에는 후처리 알고리즘에 따른 데이터 정보를 나타내었고 VP02, VP03에서 계측한 원본 데이터도 동일한 과정을 거쳐 정합을 완료하였다. Fig. 15(a)는 Crop point cloud 알고리즘을 적용한 결과이며 원본 데이터에서 불필요한 영역을 제거함으로 약 5천6백만 개의 포인트 클라우드에서 약 2천8백만 개로 49%가량 감소한 것을 확인하였다. Fig. 15(b)는 Point cloud outlier removal 알고리즘을 적용한 결과로 알고리즘을 적용하기에 앞서 다운샘플링을 진행하였다. 이는 테스트 보드와는 달리 대용량 포인트 클라우드의 경우 데이터를 처리하는데 과도한 시간이 소요되기 때문에 데이터 처리시간을 연구실에서 보유한 워크스테이션 기준으로 10분 이내로 완료하기 위함이며 100MB 내외로 다운샘플링을 수행하였다. 붉은색으로 가시화된 포인트가 이상치이며 약 1백8십만 개의 포인트 클라우드 중 4,269개의 포인트가 이상치로 인식되어 제거하였으며 0.2%가량 감소한 포인트 클라우드를 획득하였다.

Fig. 15

Results of post-processing algorithm application of ship block point cloud

Scan data information according to post-processing algorithm

Fig. 15(c)Fig. 15(d)는 각각 Scan data-01, 02 그리고 Scan data-01, 03에 정합 알고리즘을 적용한 결과이며 RMSE는 각각 1.18e-05, 2.82e-06을 나타내었으며 적합도는 각각 25.3%와 11.8%로 확인하였다. RMSE는 작을수록 높은 정확도를 의미하며 테스트 보드의 RMSE 보다 선박블록의 RMSE가 좋은 결과를 나타낸 원인은 테스트 보드의 계측 시 스캔거리는 10m이고 선박블록 계측 시 스캔거리는 약 2m로 보다 가까운 거리에서 계측된 선박블록의 포인트 클라우드가 더 높은 정확도를 가지고 있기 때문으로 판단된다. 또한, 테스트 보드의 적합도가 90% 이상인 것과 비교하여 선박블록의 적합도는 낮은 결과를 나타내었으며 이는 정합을 위한 두 데이터의 중첩영역이 선박블록에서 더 적기 때문으로 판단된다.

Fig. 15(e)는 Scan data-02, 03의 정합 결과이며 올바른 정합이 이루어지지 못한 것을 확인하였다. 이는 데이터의 중첩영역이 매우 적기 때문으로 판단되며 이러한 문제로 인하여 Fig. 15(f)와 같이 Scan data-01, 02의 정합 결과에 다시 Scan data-03을 정합시켜 세 가지 데이터가 모두 정합된 데이터를 획득하였으며 이와 같이 현장에서 계측한 포인트 클라우드 또한 오픈 소스 후처리 알고리즘의 적용이 가능한 것으로 확인되었다.

다음으로 Fig. 16에는 앞서 세 가지 데이터에 다른 지점에서 계측된 데이터를 추가로 정합하여 분석 알고리즘을 적용한 결과이다. Fig. 16(a)는 선박블록에 DBSCAN 알고리즘을 적용한 결과이며 일부 사다리와 같이 특정 형상을 가지고 있는 물체에 대해 군집을 형성한 것을 확인하였으나 모든 물체에 대한 정확한 군집을 이루지는 못하였다. 이와 같이 DBSCAN 알고리즘의 경우 테스트 보드와 같은 간단한 형상에 대해서는 포인트 클라우드의 분할이 가능하였으나 선박블록과 같은 복잡한 형상에 대해서는 다소 어려운 것으로 나타났으며 보다 정확한 데이터의 분할을 위해서는 딥러닝(deep learning)을 활용한 의미론적 분할이 필요할 것으로 판단된다.

Fig. 16

Results of analysis algorithm application of ship block point cloud

Fig. 16(b)는 선박블록의 평면을 인식하기 위해 RANSAC 알고리즘을 적용하였다. 그 결과 세 군데의 평면이 제대로 인식된 것을 확인하였으며 평면으로 인식된 포인트 클라우드를 각각의 색상으로 가시화하였다. 이처럼 실제 현장에서 계측한 포인트 클라우드에 RANSAC 알고리즘을 적용하여 평면이 인식된 유의미한 데이터를 획득하였으며 이로써 오픈 소스 알고리즘을 통한 평면인식은 가능한 것으로 확인하였다. 선박블록의 평면인식은 조선 산업의 설계, 생산 과정에서 의미 있는 데이터로 활용될 수 있다고 판단된다. 예를 들어 평면으로 인식된 포인트 클라우드는 선박블록의 편평도를 검사하는데 활용될 수 있으며 평판의 형상과 크기뿐만 아니라 평판에 존재하는 홀(hole)의 위치와 형상 및 크기도 검사가 가능할 것으로 판단된다. 또한 선박블록을 조립하기에 앞서 가상조립을 통한 조립검사에도 활용 될 수 있으며 이를 자동화한다면 3차원 스캐닝 기술의 적용을 더욱 극대화 할 수 있을 것으로 보이며 조선 산업의 품질관리 분야의 생산성 향상에 도움이 될 것으로 판단된다.


5. 결 론

본 연구에서는 스마트 정도관리 분야에 사용되고 있는 3차원 스캐닝 기술로 얻어진 대용량 포인트 클라우드를 처리하기 위한 기술을 연구하였다. 오픈 소스 라이브러리를 활용하여 연구실 수준에서 계측 가능한 테스트 보드와 실제 조선 산업 현장에서 계측한 선박블록 포인트 클라우드에 단계적으로 적용함으로서 그 가능성을 검토하였다.

포인트 클라우드 후처리 기법의 단계는 일반적으로 구분되는 데이터 정리, 데이터 정합, 데이터 분할, 객체인식 단계에 따라 검토하였으며 각 단계에 따른 알고리즘을 먼저 테스트 보드 포인트 클라우드에 적용하여 각 알고리즘의 파라미터에 따른 특성을 파악하였다. 그 결과 테스트 보드와 같은 간단한 형상에 대해서는 모든 알고리즘의 적용이 가능한 것을 확인하였으며 이에 파악된 알고리즘 특성을 반영하여 파라미터를 조절함으로써 실제 현장에서 계측된 선박블록 포인트 클라우드에 적용하였다. 선박블록 포인트 클라우드의 경우 DBSCAN 알고리즘을 제외한 모든 알고리즘의 적용이 가능한 것을 확인하였으며 특히 평면인식 알고리즘의 경우 유의미한 데이터를 획득하여 실제 조선 산업에 활용할 수 있을 것으로 기대된다. 향후 연구계획으로는 DBSCAN 알고리즘으로는 부족한 데이터의 분할을 위하여 딥러닝 기반의 객체 탐지 기법을 적용하여 선박블록의 구조부재 및 의장품과 같은 다양한 객체를 분할하고 평면 이외의 객체 탐지를 구현하고자 하며 이를 통해 포인트 클라우드로부터 더욱 유의미한 정보를 얻어 정도관리에 사용하고자 한다.

References

  • Ahmed, S.M. and Chew, C.M., 2020. Density-based clustering for 3D object detection in point clouds. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pp.10608–10617. [https://doi.org/10.1109/CVPR42600.2020.01062]
  • Besl, P.J. and McKay, N.D., 1992. A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(2), pp.239–256. [https://doi.org/10.1109/34.121791]
  • Civera, J., Grasa, O.G., Davison, A.J. and Montiel, J.M., 2010. 1-point RANSAC for extended Kalman filtering: Application to real-time structure from motion and visual odometry. Journal of Field Robotics, 27(5), pp.609–631. [https://doi.org/10.1002/rob.20345]
  • Guo, H., Du, L. and Li, G., 2024. An investigation of geometric feature recognition in 3D ship data. International Journal of Naval Architecture and Ocean Engineering, 16, 100597. [https://doi.org/10.1016/j.ijnaoe.2024.100597]
  • Lee, D.K., Ji, S.H. and Park, B.Y., 2021. Object detection and post-processing of LNGC CCS scaffolding system using 3D point cloud based on deep learning. Journal of the Society of Naval Architects of Korea, 58(5), pp.303–313. [https://doi.org/10.3744/SNAK.2021.58.5.303]
  • Lee, D.K. and Park, B.Y., 2023. A case study for 3D scanning-based quantitative quality control during key stages of composite small craft production. International Journal of Naval Architecture and Ocean Engineering, 15, 100534. [https://doi.org/10.1016/j.ijnaoe.2023.100534]
  • Lee, J.M., 2023. Feasibility study of shell element-based elastic FE approach for welding-induced thermal distortion prediction in HDPE welded structures. International Journal of Naval Architecture and Ocean Engineering, 15, 100559. [https://doi.org/10.1016/j.ijnaoe.2023.100559]
  • Mirzaei, K., Arashpour, M., Asadi, E., Masoumi, H., Bai, Y. and Behnood, A., 2022. 3D point cloud data processing with machine learning for construction and infrastructure applications: A comprehensive review. Advanced Engineering Informatics, 51, 101501. [https://doi.org/10.1016/j.aei.2021.101501]
  • Park, B.Y., 2023. A digital quality control method for ships based on point cloud data considering 3D scanning characteristics, Ph.D. Thesis, Mokpo National Maritime University.
  • Rusu, R.B., Blodow, N. and Beetz, M., 2009. Fast point feature histograms (FPFH) for 3D registration. Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pp.3212–3217. [https://doi.org/10.1109/ROBOT.2009.5152473]
  • Trybała, P., Blachowski, J., Błażej, R. and Zimroz, R., 2020. Damage detection based on 3D point cloud data processing from laser scanning of conveyor belt surface. Remote Sensing, 13(1), 55. [https://doi.org/10.3390/rs13010055]
  • Walsh, S.B., Borello, D.J., Guldur, B. and Hajjar, J.F., 2013. Data processing of point clouds for object detection for structural engineering applications. Computer-Aided Civil and Infrastructure Engineering, 28(7), pp.495–508. [https://doi.org/10.1111/mice.12016]
  • Wang, J., Huo, S., Liu, Y., Li, R. and Liu, Z., 2020. Research of fast point cloud registration method in construction error analysis of hull blocks. International Journal of Naval Architecture and Ocean Engineering, 12, pp.605–616. [https://doi.org/10.1016/j.ijnaoe.2020.06.006]
  • Wang, Q. and Kim, M.K., 2019. Applications of 3D point cloud data in the construction industry: A fifteen-year review from 2004 to 2018. Advanced Engineering Informatics, 39, pp.306–319. [https://doi.org/10.1016/j.aei.2019.02.007]
  • Wang, Q., Tan, Y. and Mei, Z., 2020. Computational methods of acquisition and processing of 3D point cloud data for construction applications. Archives of Computational Methods in Engineering, 27(2), pp.479–499. [https://doi.org/10.1007/s11831-019-09320-4]
  • Zhou, Q.Y., Park, J. and Koltun, V., 2018. Open3D: A modern library for 3D data processing. arXiv preprint arXiv: 1801.09847, .
정 기 석

김 준 수

박 본 영

이 동 건

Fig. 1

Fig. 1
3D scanning process for point cloud

Fig. 2

Fig. 2
Open-source algorithm according to post-processing methods for point cloud

Fig. 3

Fig. 3
Creating bounding box for crop point cloud algorithm

Fig. 4

Fig. 4
Concept of density based clustering using DBSCAN (Ahmed et al., 2020)

Fig. 5

Fig. 5
Process of RANSAC algorithm (Civera et al., 2010)

Fig. 6

Fig. 6
Raw data of laboratory corridor point cloud

Fig. 7

Fig. 7
Crop point cloud application of laboratory corridor point cloud

Fig. 8

Fig. 8
Comparison of outlier according to algorithm

Fig. 9

Fig. 9
Outlier results of test board point cloud

Fig. 10

Fig. 10
Registration results of test board point cloud according to global registration algorithm

Fig. 11

Fig. 11
Registration results of test board point cloud according to ICP registration algorithm

Fig. 12

Fig. 12
DBSCAN clusters results of test board point cloud

Fig. 13

Fig. 13
Plane recognition results of test board point cloud according to RANSAC algorithm

Fig. 14

Fig. 14
Scanned raw data at viewpoints

Fig. 15

Fig. 15
Results of post-processing algorithm application of ship block point cloud

Fig. 16

Fig. 16
Results of analysis algorithm application of ship block point cloud

Table 1

Specification of Leica-RTC360

Specification
Speed of scanning 2,000,000 points/sec
Accuracy of 3D points 1.9mm at 10m
2.0mm at 20m
5.3mm at 40m
Max. measurement distance 130m
Range of scanning Horizontality 360° / Verticality 300°

Table 2

DBSCAN results according to parameters

Case-1 Case-2 Case-3 Case-4 Case-5 Case-6
r_cluster 0.002 0.003 0.003 0.004 0.004 0.005
minPoints 2 2 3 3 4 4
Clusters 0 8,301 2,454 109 161 25

Table 3

Scan data information according to post-processing algorithm

Scanned raw data Cropped data Down sampling data Outlier removed data
Scan data-01 Points 56,873,383 28,888,361 1,838,587 1,834,318
File size 3.53 GB 1.88 GB 122 MB -
Scan data-02 Points 8,730,957 5,698,869 1,118,352 1,115,748
File size 553 MB 373 MB 93 MB -
Scan data-03 Points 43,426,522 30,011,879 1,865,548 1,862,898
File size 2.72 GB 1.98 GB 123 MB -