💻
Tutorial
  • INTRO
  • Part 0 (개요)
    • README
    • 3D 영상처리
    • [별첨] PCL & PCD란 (100%)
    • chapter02 : PCL 설치 (100%)
    • chapter03 : ROS 실습 준비(100%)
  • Part 1 (초급)
    • README
    • PCL 기반 로봇 비젼
    • [별첨] 파일 생성 및 입출력 (70%)
      • PCL-Cpp (70%)
      • PCL-Python (70%)
      • Open3D-Python (70%)
      • ROS 실습 (90%)
    • Filter
    • [별첨] 샘플링 (70%)
      • 다운샘플링-PCL-Cpp (70%)
      • 다운샘플링-PCL-Python (50%)
      • 업샘플링-PCL-Cpp (70%)
      • ROS 실습 (90%)
    • [별첨] 관심 영역 설정 (70%)
      • PCL-Cpp (70%)
      • PCL-Python (70%)
      • ROS 실습 (90%)
    • [별첨] 노이즈 제거 (70%)
      • PCL-Cpp (70%)
      • PCL-Python (50%)
      • ROS 실습 (90%)
  • Part 2 (중급)
    • README
    • Kd-Tree/Octree Search
    • Chapter03 : Sample Consensus
    • [별첨] 바닥제거 (RANSAC) (70%)
      • PCL-Cpp (70%)
      • PCL-Python (70%)
      • ROS 실습 (90%)
    • 군집화 (70%)
      • Euclidean-PCL-Cpp (70%)
      • Euclidean-PCL-Python (0%)
      • Conditional-Euclidean-PCL-Cpp (50%)
      • DBSCAN-PCL-Python (0%)
      • Region-Growing-PCL-Cpp (50%)
      • Region-Growing-RGB-PCL-Cpp (50%)
      • Min-Cut-PCL-Cpp (50%)
      • Model-Outlier-Removal-PCL-Cpp (50%)
      • Progressive-Morphological-Filter-PCL-Cpp (50%)
    • 포인트 탐색과 배경제거 (60%)
      • Search-Octree-PCL-Cpp (70%)
      • Search-Octree-PCL-Python (70%)
      • Search-Kdtree-PCL-Cpp (70%)
      • Search-Kdtree-PCL-Python (70%)
      • Compression-PCL-Cpp (70%)
      • DetectChanges-PCL-Cpp (50%)
      • DetectChanges-PCL-Python (50%)
    • 특징 찾기 (50%)
      • PFH-PCL-Cpp
      • FPFH-PCL-Cpp
      • Normal-PCL-Cpp (70%)
      • Normal-PCL-Python (80%)
      • Tmp
    • 분류/인식 (30%)
      • 인식-GeometricConsistencyGrouping
      • SVM-RGBD-PCL-Python (70%)
      • SVM-LIDAR-PCL-Python (0%)
      • SVM-ROS (0%)
    • 정합 (70%)
      • ICP-PCL-Cpp (70%)
      • ICP-ROS 실습 (10%)
    • 재구성 (30%)
      • Smoothig-PCL-Cpp (70%)
      • Smoothig-PCL-Python (70%)
      • Triangulation-PCL-Cpp (70%)
  • Part 3 (고급)
    • README
    • 딥러닝 기반 학습 데이터 생성 (0%)
      • PointGAN (90%)
      • AutoEncoder (0%)
    • 딥러닝 기반 샘플링 기법 (0%)
      • DenseLidarNet (50%)
      • Point Cloud Upsampling Network
      • Pseudo-LiDAR
    • 딥러닝 기반 자율주행 탐지 기술 (0%)
    • 딥러닝 기반 자율주행 분류 기술 (0%)
      • Multi3D
      • PointNet
      • VoxelNet (50%)
      • YOLO3D
      • SqueezeSeg
      • butNet
  • Snippets
    • PCL-Snippets
    • PCL-Python-Helper (10%)
    • Lidar Data Augmentation
  • Appendix
    • 시각화Code
    • 시각화툴
    • Annotation툴
    • Point Cloud Libraries (0%)
    • 데이터셋
    • Cling_PCL
    • 참고 자료
    • 작성 계획_Tips
    • 용어집
Powered by GitBook
On this page
  • 다운 샘플링
  • 업샘플링
  • Moving least squares 이란

Was this helpful?

  1. Part 1 (초급)

[별첨] 샘플링 (70%)

PreviousFilterNext다운샘플링-PCL-Cpp (70%)

Last updated 5 years ago

Was this helpful?

센서를 통해 수집되는 포인트 클라우드는 상황에 따라 포인트가 많거나, 적을 수 있습니다. 포인트 클라우드 Resampling은 목적에 따라서 포인트의 수를 줄이거나(Donsampling) 늘리는것(Upsampling)을 의미 합니다.

  • 포인트 클라우드의 수를 줄이는 것을 다운샘플링이라 하며, 연산 부하 감소 등의 목적으로 수행 합니다. : Voxel Grid

  • 포인트 클라우드의 수를 늘리는 것을 업샘플링이라 하며, 탐지/식별 정확도 향상 등의 목적으로 수행 합니다. : surface reconstruction

다운 샘플링

Voxel이란

개념

활용

복셀은 2D 이미지를 구성하는 최소 단위인 pixel(picture element)을 3D로 확장한것입니다. 즉, 이미지 1x1에서 깊이 정보를 포함한 1x1x1로 표현하고 이때의 최소 단위를 Voxel(Volume + Pixel)이라고 합니다. 단위는 고정되어 있지 않고 사용자가 정의 가능 합니다.

일부 문서에서는 3D Box, Cube라고도 표현 합니다.

복셀화(voxelization) 방법

복셀화는 point cloud를 Voxel로 변환하는 작업을 의미 합니다. PCL에서는 Voxel Grid filter를 이용하여 복셀화를 진행 합니다.

진행 방법은 아래와 같습니다. 1. 사용자 정의로 적합한 Voxel크기(=leaf_size)를 선택 합니다. 2. 각 voxel의 중심점에서 leaf size내 포인트(파란색) 유무를 계산 합니다. 3. 포인트들의 중심점(빨간색)을 계산 하고 나머지 포인트는 제거 합니다.

위 그림의 예에서는 Point 5개가 하나의 포인트(=Voxel)로 표현 되었습니다. 즉, 데이터의 크기가 1/5이 되었습니다. voxel 단위(=leaf_size)가크면 데이터의 양을 더 줄일수 있습니다. 하지만, 물체 표현력은 줄어 들게 됩니다. 결국 복셀화는 계산 부하와 물체 표현력의 트레이드 오프 관계에서 최적의 단위(=leaf_size)를 구하는 것이 가장 중요합니다.

예시에서 사용되는 tabletop.pcd에서는 실험을 통해 0.01 이 최적임을 도출 하였습니다.

업샘플링

Moving least squares 이란

https://en.wikipedia.org/wiki/Moving_least_squares