Skip to content

Point cloud

점구름(point cloud)은 어떤 좌표계에 속한 점들의 집합이다.

3차원 좌표계에서 점은 보통 X, Y, Z 좌표로 정의되며 종종 사물의 표면을 나타내기 위해 사용되기도 한다. 점구름은 3D 스캐너로 얻을 수 있다. 3D 스캐너는 사물의 표면에서 수많은 점을 자동으로 측정하고, 이를 통해 생성한 점구름을 파일로 출력하기도 한다. 위와 같은 기계가 측정한 점들의 집합을 점구름으로 표현하기도 한다.

이렇게 얻은 3차원 점구름은 자동화를 위한 CAD 모델링, 기상학, 품질검사, 시각화, 애니메이션, 렌더링, 대량 고객화 등 다양한 분야에서 이용된다.

점구름을 직접 렌더링해서 볼 수 있지만, 대부분 3차원 응용 프로그램에서 점구름을 직접 이용하기는 힘들기 때문에, 표면 재건 과정을 통해 폴리곤 메시나 삼각형 메시, NURB 모델, 혹은 CAD 모델로 변환된다.

Categories

File Formats

PLY와 PCD는 둘 다 3D 포인트 클라우드를 저장하는 파일 포맷이지만, 각각의 특징과 사용 목적이 다릅니다.

PLY (Polygon File Format)

스탠포드 대학에서 개발한 범용 3D 데이터 포맷입니다.

포인트 클라우드뿐만 아니라 메쉬(mesh) 데이터도 저장할 수 있어서 활용 범위가 넓습니다. ASCII와 binary 두 가지 형식을 지원하며, 헤더 부분에서 vertex, face, edge 등의 요소(element)와 각 요소의 속성(property)을 정의합니다. 색상(RGB), 법선 벡터(normal), 텍스처 좌표 등 다양한 속성을 유연하게 추가할 수 있고, 파일 구조가 비교적 단순해서 파싱이 쉽습니다. 3D 스캐닝, 컴퓨터 그래픽스, 시각화 등 다양한 분야에서 널리 사용됩니다.

PCD (Point Cloud Data)

PCL(Point Cloud Library) 라이브러리에서 정의한 포맷으로, 포인트 클라우드 처리에 특화되어 있습니다.

ASCII, binary, binary_compressed 세 가지 형식을 지원하며, 헤더에서 데이터의 구조를 명시적으로 정의합니다(VERSION, FIELDS, SIZE, TYPE, COUNT, WIDTH, HEIGHT, VIEWPOINT, POINTS, DATA). organized point cloud(구조화된 포인트 클라우드)를 표현할 수 있어서 2D 이미지처럼 WIDTH×HEIGHT 구조로 데이터를 저장할 수 있습니다. PCL과의 통합이 매우 잘 되어 있어서 로봇 비전, 자율주행, LIDAR 데이터 처리 등 포인트 클라우드 알고리즘 개발에 주로 사용됩니다.

비교

실무적으로 보면,

  • PCL 기반 프로젝트를 진행할 때는 PCD가 편리하고,
  • 범용적인 데이터 교환이나 시각화가 목적이라면 PLY가 더 호환성이 좋습니다.

두 포맷 간 변환도 PCL이나 Open3D 같은 라이브러리를 통해 쉽게 할 수 있습니다.

Models

  • PointNet
  • PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space
  • KPConv: Flexible and Deformable Convolution for Point Clouds
  • Relation-Shape Convolutional Neural Network for Point Cloud Analysis
  • 4D Spatio-Temporal ConvNets: Minkowski Convolutional Neural Networks
  • RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds

Datasets

  • ScanNet: Richly-annotated 3D Reconstructions of Indoor Scenes
  • Joint 2D-3D-Semantic Data for Indoor Scene Understanding
  • ShapeNet: An Information-Rich 3D Model Repository
  • 3D ShapeNets: A Deep Representation for Volumetric Shapes
  • 3DMatch: Learning the Matching of Local 3D Geometry in Range Scans

See also

Favorite site