Projects/AI 아이트래킹 모델 프로젝트

[도메인 공부 ] 6. 절대 깊이(absolute depth)에 특화된 모델, Depth Anything

ha2yong 2025. 9. 14. 16:48

절대 깊이(absolute depth)에 특화된 모델들

절대 깊이를 잘 추정하려면 **단일 센서 기반 데이터셋(Kinect, LiDAR 등)**으로 학습된 모델들이 필요합니다. 대표적으로:

1. NYU Depth 기반 (실내, Kinect 센서)

  • Eigen et al. (2014): 최초의 단일 이미지 절대 깊이 추정 CNN.
  • DenseDepth (Alhashim & Wonka, 2018): U-Net 기반, NYU Depth v2 절대 깊이 잘 맞춤.
    → 주로 실내 환경에서 0.5~10m 정도 범위의 절대 거리 예측 가능.

2. KITTI 기반 (실외, LiDAR 센서)

  • Monodepth2 (Godard et al., 2019): stereo supervision 기반 절대 깊이 추정.
  • PackNet-SfM (Guizilini et al., 2020): SfM 기반, KITTI의 실제 LiDAR 거리 단위에 맞춰 학습.
    도로 주행(autonomous driving) 환경에서 절대 거리(m 단위) 예측 가능.

3. Depth Anything (2024, IDEA-Research)

  • 최근 나온 모델로, MiDaS와 유사하게 여러 데이터셋을 통합했지만, absolute scale recovery를 개선.
  • Large-scale 학습 덕분에 MiDaS보다 절대 깊이와 구조 모두 강함.
  • 오픈소스에서 쉽게 활용 가능 (Depth Anything repo).

4. Lidar-supervised Transformer 모델들

  • DPT-Hybrid / DPT-Large (Ranftl et al.): MiDaS와 같은 저자지만 일부는 절대 깊이도 잘 맞음.
  • 최근에는 Vision Transformer + LiDAR ground truth 조합이 가장 state-of-the-art.

 

 요약

  • 상대 깊이(Relative depth) → MiDaS, MegaDepth류 모델이 강함.
  • 절대 깊이(Absolute depth)
    • 실내: DenseDepth, NYU 기반 모델
    • 실외: Monodepth2, PackNet-SfM, KITTI 기반 모델
    • 최근 SOTA: Depth Anything (상대+절대 둘 다 강함)

 

핵심 알고리즘 쉽게 설명 (Depth Anything, HF 체크포인트 버전 기준)

  • 백본 인코더(Encoder):
    대규모 사전학습(예: DINOv2)으로 시각 표현을 잘 배운 비전 트랜스포머 계열을 사용 → 장면의 전역 문맥객체 경계를 잘 파악합니다.
  • 디코더(Decoder, DPT: Dense Prediction Transformer):
    인코더의 멀티스케일 피처를 모아서 픽셀 단위로 깊이를 예측합니다.
    (U-Net처럼 스킵연결로 공간 정보를 살리고, 트랜스포머의 전역 특성을 결합)
  • 학습 데이터 전략:
    • 라벨이 적은 문제를 해결하려고, 대량의 라벨 없는(real) 이미지에 대해 teacher 모델로 만든 pseudo depth를 붙이고, student 모델이 이를 학습합니다.
    • 여기에 metric depth(NYU, KITTI 등)를 섞어 절대/상대 균형을 잡습니다.
    • 결과적으로 제로샷 일반화가 좋고, (보정 시) 절대 깊이도 꽤 맞출 수 있습니다.
  • 현재 프로토타입의 의미:
    위 스크립트는 HF 공개 체크포인트를 활용한 빠른 프로토타입입니다.
    바로 상대 깊이를 잘 뽑아 시각화할 수 있고, 내부 파라미터를 넣으면 **간단한 3D(포인트클라우드)**로 백프로젝션까지 해볼 수 있어요.
    다만 **절대 거리(m)**로 정확히 쓰려면, 스케일/오프셋 보정이나 metric priors(예: 몇 개의 실측 거리 포인트, LiDAR, 챠트 등) 또는 in-domain fine-tuning이 필요합니다.
  •  
  • 다음 단계 (당신 프로젝트 맞춤 제안)
    1. 월드 카메라 캘리브레이션: fx, fy, cx, cy + 왜곡 계수 확보
    2. 기준 거리 보정 루틴: 장면 내 기준 물체(예: 체커보드)를 특정 거리(1m, 2m)로 두고 scale/shift 자동 보정
    3. 아이 카메라 교차점 정합: 월드 깊이 D(보정본) + 두 아이카메라 시선 벡터 교차점(X,Y,Z)을 최소 거리 오차로 맞추는 코스트 함수 설계
    4. Prior Depth Anything 검토: 일부 실측 포인트를 prior로 넣어 metric 정확도 향상