설명
GitHub의 nutonomy/second.pytorch 저장소는 KITTI 데이터셋 내 객체 탐지를 위한 PointPillars의 특정 구현을 제공합니다. 이 프로젝트는 CVPR 2019에 발표될 예정인 논문 'PointPillars: Fast Encoders for Object Detection from Point Clouds'에 제시된 결과를 재현하기 위한 시연 역할을 합니다. 이는 기존 오픈 소스 코드베이스인 SECOND에 최소한의 수정만을 가하여 달성됩니다.
이 저장소는 KITTI 객체 탐지 작업을 위해 맞춤화된 원래 SECOND 코드베이스의 포크입니다. 이 코드가 공식 nuTonomy 코드베이스는 아니지만, 발표된 PointPillars 결과와 일치하도록 설계되었다는 점에 유의하는 것이 중요합니다. 이 프로젝트는 2021년 10월 13일부로 소유자에 의해 보관 처리되었으며, 현재 읽기 전용 상태입니다. nuScenes 데이터셋에서도 PointPillars 결과를 재현할 수 있는 활발히 유지 관리되는 코드를 원하시면 SECOND 저장소를 참조하십시오.
이 프로젝트를 시작하려면 저장소를 클론하고, 필요한 Python 패키지(PyTorch, Anaconda, shapely, pybind11, protobuf, scikit-image, numba, pillow, google-sparsehash, fire, tensorboardX 등 포함)를 설치하고, Numba를 위한 CUDA를 설정해야 합니다. 설치 과정에는 SparseConvNet에 대한 지침도 포함되어 있으며, 이는 일반 SECOND 코드베이스에 의해 올바르게 구성될 것으로 예상되며, 잠재적으로 Boost geometry도 포함됩니다. Numba 및 PYTHONPATH 구성을 위한 환경 변수도 자세히 설명되어 있습니다.
데이터셋 준비는 KITTI 데이터셋을 다운로드하고 특정 디렉토리 구조를 생성해야 하는 중요한 단계입니다. 사용자는 제공된 Python 스크립트를 사용하여 KITTI 정보 파일을 생성하고, 축소된 포인트 클라우드를 생성하며, groundtruth 데이터베이스 정보를 생성해야 합니다. 마지막으로, 준비된 데이터셋을 가리키도록 구성 파일을 편집해야 합니다. 저장소는 단일 GPU 학습 및 체크포인트에서 재개하는 명령을 포함한 학습 및 평가 절차와, 공식 KITTI 레이블 형식으로 탐지 결과를 저장하는 방법을 설명합니다.
PointPillars for KITTI 하이라이트
포인트 클라우드로부터의 객체 탐지
PointPillars 알고리즘 구현
KITTI 데이터셋 호환성
SECOND 코드베이스의 포크
발표된 PointPillars 결과 재현
Python 3.6+ 지원 코드베이스
PyTorch 0.4.1+ 필요
Ubuntu 16.04/18.04에서 테스트됨
데이터셋 준비 스크립트 포함
학습 및 평가 스크립트 제공
단일 GPU 학습 지원
학습 시 배치 크기 2
보관 처리 및 읽기 전용 저장소
PointPillars for KITTI 시작하기
코드 클론: git clone https://github.com/nutonomy/second.pytorch.git
Python 패키지 설치: 핵심 패키지는 Anaconda를 사용하고, 나머지는 pip를 사용합니다.
Numba용 CUDA 설정: ~/.bashrc에서 환경 변수를 구성합니다.
PYTHONPATH에 추가: second.pytorch/를 PYTHONPATH에 포함시킵니다.
데이터셋 준비: KITTI를 다운로드하고, 디렉토리를 생성하며, 데이터 준비 스크립트를 실행합니다.
설정 파일 수정: 구성 파일에서 데이터셋 경로를 업데이트합니다.
모델 학습: 지정된 설정 및 모델 디렉토리로 학습 스크립트를 실행합니다.
모델 평가: 평가 스크립트를 실행하여 모델 성능을 평가합니다.
PointPillars for KITTI의 사용 사례
- 객체 탐지
- 자율 주행 연구
- 포인트 클라우드 분석
- 컴퓨터 비전 벤치마킹
- 학술 연구








