ika-rwth-aachen/ros2-depth-anything-v3-trt

ROS2 TensorRT Node for Monocular Metric Depth estimation and Point Cloud generation from camera images with Depth Anything V3

해결하는 문제

이 프로젝트는 단일 카메라 영상에서 실시간 단안 메트릭 깊이 추정 및 3D 포인트 클라우드 생성을 가능하게 하는 ROS 2 노드를 제공합니다. Depth Anything V3 모델을 NVIDIA TensorRT로 가속화하여 표준 이미지에서 정확한 거리 측정과 공간 매핑을 수행합니다.

작동 방식

노드는 카메라 이미지와 캘리브레이션 데이터(카메라 정보)를 구독합니다. 이 이미지를 TensorRT로 가속화된 Depth Anything V3 모델을 통해 처리하여 밀도 높은 메트릭 깊이 맵을 생성합니다. 이후 카메라 초점 거리에 따라 깊이를 스케일링하고, 하늘 픽셀을 처리하여 비현실적인 거리 값을 방지하며, 깊이 맵을 원본 이미지 해상도로 업스케일링하는 후처리 파이프라인을 적용합니다. 마지막으로 카메라의 내부 파라미터를 사용하여 깊이 맵을 PointCloud2 메시지로 변환합니다.

대상 사용자

이 도구는 ROS 2(Jazzy 버전)와 NVIDIA GPU를 사용하는 로봇 및 자율주행 개발자들을 위한 것으로, 차량이나 로봇의 실시간 공간 인식과 깊이 인식이 필요한 사용자에게 적합합니다.

주요 특징

  • 실시간 성능: DA3METRIC-LARGE 모델을 사용해 Quadro RTX 6000에서 최대 50 FPS를 달성.
  • TensorRT 가속: 최적화된 GPU 추론을 위한 FP16 및 FP32 정밀도 지원.
  • 통합 포인트 클라우드 생성: 선택적 RGB 색상화를 포함해 깊이 맵을 직접 3D 포인트 클라우드로 변환.
  • 하늘 처리: 하늘 픽셀을 식별하고 깊이를 제한하는 전용 분류 단계 포함.
  • Docker 지원: CUDA 및 TensorRT의 종속성 관리를 간소화하기 위해 사전 컴파일된 Docker 이미지 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트