Point cloud
점구름(point cloud)은 어떤 좌표계에 속한 점들의 집합이다.
3차원 좌표계에서 점은 보통 X, Y, Z 좌표로 정의되며 종종 사물의 표면을 나타내기 위해 사용되기도 한다. 점구름은 3D 스캐너로 얻을 수 있다. 3D 스캐너는 사물의 표면에서 수많은 점을 자동으로 측정하고, 이를 통해 생성한 점구름을 파일로 출력하기도 한다. 위와 같은 기계가 측정한 점들의 집합을 점구름으로 표현하기도 한다.
이렇게 얻은 3차원 점구름은 자동화를 위한 CAD 모델링, 기상학, 품질검사, 시각화, 애니메이션, 렌더링, 대량 고객화 등 다양한 분야에서 이용된다.
점구름을 직접 렌더링해서 볼 수 있지만, 대부분 3차원 응용 프로그램에서 점구름을 직접 이용하기는 힘들기 때문에, 표면 재건 과정을 통해 폴리곤 메시나 삼각형 메시, NURB 모델, 혹은 CAD 모델로 변환된다.
Categories
File formats
- Point Cloud Data (PCD; .pcd)
- PLY (file format) (Polygon File Format; PLY; .ply) - a polygon file format, developed at Stanford University by Turk et al
- STL - a file format native to the stereolithography CAD software created by 3D Systems
- OBJ - a geometry definition file format first developed by Wavefront Technologies
- X3D - the ISO standard XML-based file format for representing 3D computer graphics data
- npy, npz - Numpy file formats
Viewer
- Open3D
- CloudCompare
- PCL Tools - pcl_viewer 있음.
- PCL (pclpy)
- MeshLab
- ros2 (RViz2)
Deep learning based
- OpenPoints
- Pointcept
- OpenPCDet
- MMDetection3D
- Swin3D
- TorchSparse
- Minkowski
Topics
Point Cloud Labeling Tools
Point Cloud 의 Annotation Tool 목록:
- Segments.ai
- Deepen
- Kognic
- SageMaker Ground Truth
- CVAT
- Dataloop
- Supervisely
- Scale.ai
- Understand.ai
- Telus International
- Sama
- Appen
- Scalabel
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
산업용 3D Point Cloud 이상 탐지 데이터셋
- MVTec 3D-AD - TIFF (organized point cloud), PNG (RGB)
- 10개 실물 카테고리에서 4,147개의 고해상도 3D point cloud 스캔으로 구성된 비지도 3D 이상 탐지 및 위치 추정용 데이터셋. 스크래치, 덴트, 홀, 오염, 변형 등의 결함 포함. 용접 결함 탐지 모델의 사전학습 또는 전이학습에 적합.
- 클래스 목록: bagel, cable_gland, carrot, cookie, dowel, foam, peach, potato, rope, tire
- (2112.09045) The MVTec 3D-AD Dataset for Unsupervised 3D Anomaly Detection and Localization 1
- 다운로드 페이지 - https://www.mvtec.com/research-teaching/datasets/mvtec-3d-ad/downloads
- Google Drive Download Link - 14.2 GBytes 압축파일
- Evaluation Code - Mvtec-3d-ad-evaluation_code.tar.xz
- Github - Real3D-AD (NeurIPS 2023)
- 12개 카테고리 총 1,254개 샘플의 고정밀 point cloud 이상 탐지 데이터셋. 각 아이템이 수만~수백만 포인트로 구성(해상도 0.0010mm~0.0015mm). 360도 커버리지 및 완전한 프로토타입 제공. PCD, PLY 파일 제공.
- Airplane, Car, Candybar, Chicken, Diamond, Duck, Fish, Gemstone, Seahorse, Shell, Starfish, Toffees
- Liu et al., "Real3D-AD: A Dataset of Point Cloud Anomaly Detection", NeurIPS 2023
- Eyecandies
- 합성 기반 멀티모달 3D 이상 탐지 데이터셋. RGB + Depth + Normal Map 제공. MVTec 3D-AD와 함께 벤치마크로 자주 사용됨.
- Eyecandies Dataset | Download 페이지 에서 다운로드 가능함.
기타 3D Point Cloud 데이터셋
- AAU Sewer Defect Point Cloud Dataset
- 이는 AAU 하수관 및 결함에 대한 최초의 공개 3D 데이터 세트입니다. 데이터 세트의 대부분은 합성 데이터로 구성되어 있으며, 실제 하수관의 포인트 클라우드는 덴마크 올보르 대학교의 실험실 환경에서 기록되었습니다.
- 건조된 플라스틱 파이프 세트를 사용했으며, 파이프를 이동시키거나 파이프 내부에 고무 링 또는 벽돌을 넣어 결함을 만들었습니다. 데이터는 Pico Flexx Time-of-Flight 센서를 사용하여 수집했습니다.
- OpenTrench3D - A Photogrammetric 3D Point Cloud Dataset for Semantic Segmentation of Underground Utilities
- 지하 시설물의 의미론적 분할을 위한 사진측량 기반 3D 포인트 클라우드 데이터셋
- Github - https://github.com/SimonBuusJensen/OpenTrench3D
- Google Drive Download Link - 약 5.4 GBytes 압축파일
기타 샘플 데이터들
- 소규모 테스트용:
- Open3D — open3d.data 모듈로 코드에서 바로 다운로드 가능 (bunny, eagle 등)
- PCL (Point Cloud Library) — GitHub PointCloudLibrary/data에 PCD 파일들
- Stanford 3D Scanning Repository — graphics.stanford.edu/data/3Dscanrep/ (bunny, dragon, happy buddha 등 PLY 포맷)
- KITTI — cvlibs.net/datasets/kitti/ (자율주행 LiDAR, velodyne 포인트 클라우드)
- ModelNet — modelnet.cs.princeton.edu (3D CAD 모델 10/40 카테고리)
- ShapeNet — shapenet.org (대규모 3D shape, 등록 필요)
- Semantic3D — semantic3d.net (야외 대규모 컬러 포인트 클라우드, 4B+ points)
- S3DIS — Stanford 실내 3D 데이터셋
빠르게 하나만 받고 싶으면 Stanford bunny가 가장 클래식합니다.
See also
- LiDAR
- SLAM
- Welding:SurfaceSampleDataGenerator - LVS로 부터
(x, z)축만 있는 csv 데이터 1-Line을y축으로 여러 라인을 추가한, "면 (Surface)" 가상 데이터로 ply로 생성하는 방법.
Favorite site
- Wikipedia (en) Point cloud
- Torch Points3D — A unifying framework for deep learning on point clouds (Torch)
- 포인트 클라우드(Point Cloud)란?
References
-
2112.09045v1.pdf ↩