ch-sa/labelCloud

A lightweight tool for labeling 3D bounding boxes in point clouds.

What it solves

labelCloud는 3D 객체 탐지와 6D 포즈 추정을 위한 학습 데이터를 만들기 위해 설계된 경량 도구입니다. 사용자는 포인트 클라우드에서 객체 주변에 3D 바운딩 박스를 수동으로 라벨링할 수 있어, 3D 비전 AI 모델에 필요한 고품질 그라운드 트루스 라벨을 효율적으로 생성하는 문제를 해결합니다.

How it works

이 도구는 인터랙티브한 3D 환경을 제공하며, 사용자는 두 가지 주요 방법으로 바운딩 박스를 정의합니다:

  • Picking Mode: 사용자가 박스의 앞‑위 가장자리를 선택하고 마우스 휠로 회전을 조정합니다.
  • Spanning Mode: 사용자가 네 개의 정점을 선택해 박스의 길이, 너비, 높이를 정의합니다.

박스가 정의되면 키보드 단축키를 사용해 이동, 회전(최대 9 DoF 지원), 크기 조정을 할 수 있습니다. 또한 바운딩 박스 내부의 모든 포인트에 라벨을 할당하여 의미론적 분할도 지원합니다.

Who it’s for

KITTI 형식 등을 사용하는 컴퓨터 비전, 로보틱스, 자율 주행 분야에서 3D 포인트 클라우드 데이터를 다루는 연구자 및 개발자를 위한 도구이며, 맞춤형 라벨 데이터셋을 만들고자 하는 경우에 적합합니다.

Highlights

  • Versatile Import/Export: .pcd, .ply, .pts, .xyzrgb, .xyz, .xyzn, .bin 등 다양한 포인트 클라우드 형식을 지원하며, KITTI 및 정점 기반 좌표를 포함한 여러 라벨 내보내기 형식을 지원합니다.
  • Flexible Labeling: 직관적인 3D 박스 생성을 위해 Picking 모드와 Spanning 모드를 모두 제공합니다.
  • Semantic Segmentation: 바운딩 박스 내부의 개별 포인트에 라벨을 지정할 수 있어 세그멘테이션 작업에 활용할 수 있습니다.
  • Extensible: BaseLabelFormat 클래스를 상속하여 사용자 정의 익스포터를 만들 수 있습니다.
  • Detailed Control: 바운딩 박스의 크기와 회전을 정밀하게 조정할 수 있는 포괄적인 키보드 단축키를 제공합니다.