HybridDepth, 모바일 증강현실(AR)을 위한 깊이 추정 모델

HybridDepth 소개

HybridDepth, 모바일 증강현실(AR)을 위한 깊이 추정 모델

HybridDepth는 모바일 증강현실(AR)을 위한 깊이 추정의 고유한 과제를 해결하기 위한 강력한 깊이 추정 파이프라인입니다. 여기에는 스케일 모호성, 하드웨어 이질성 및 일반화 가능성과 같은 문제가 포함됩니다. HybridDepth는 모바일 기기에서 사용할 수 있는 카메라 기능을 활용하여 포커스 깊이 추정(DFF) 방법의 스케일 정확성과 강력한 단일 이미지 깊이 사전에 의해 가능해진 일반화 기능을 효과적으로 결합합니다. 모바일 카메라의 초점 평면을 활용하여 포커스가 맞은 픽셀의 깊이 값을 정확하게 캡처하고 이러한 값을 사용하여 상대적인 깊이를 메트릭 깊이로 변환하는 스케일 및 시프트 매개변수를 계산합니다.

새로 개발된 모바일 클라이언트를 사용하여 초점 스택을 캡처하고 이를 GPU로 구동되는 서버로 전송하여 깊이를 추정함으로써 종단간(E2E, End-to-End) 시스템으로서의 파이프라인을 테스트합니다. DDFF12, NYU Depth v2 및 실제 AR 데이터 세트인 ARKitScenes와 같은 일반적인 데이터 세트에서 최첨단(SOTA) 모델을 능가할 뿐만 아니라 강력한 제로 샷 일반화를 입증합니다. 예를 들어, NYU Depth v2에서 훈련된 HybridDepth는 DDFF12에서 훈련된 기존 모델과 비교하여 DDFF12에서 유사한 성능을 달성하며 ARKitScenes 데이터 세트의 제로 샷 성능에서도 모든 SOTA 모델을 능가합니다. 또한 모델과 ARCore 프레임워크 간의 질적 비교를 수행하여 모델의 출력 깊이 맵이 구조적 세부 사항 및 메트릭 정확성 측면에서 훨씬 더 정확함을 입증합니다. 이 프로젝트의 소스 코드는 GitHub 저장소에서, 모델 가중치는 HuggingFace 저장소에서 확인할 수 있습니다.

위 그림은 모바일 기기의 카메라와 공통 기능만을 사용하여 메트릭 깊이를 추정하는 HybridDepth의 동작 방식을 보여줍니다. HybridDepth는 Depth from Focus (DFF)와 상대 깊이 추정의 고유한 기능을 활용하도록 설계된 포괄적인 깊이 추정 파이프라인입니다. HybridDepth의 설계는 주목할 만한 이전 연구를 따르지만, 초점 스택 처리를 최적화하기 위해 손실 함수, 학습 절차 및 개선된 정제 전략에서 새로운 수정이 이루어졌습니다.

HybridDepth의 동작 방식

HybridDepth는 위 그림과 같이 세 가지 주요 단계로 구성됩니다. 네트워크는 포컬 스택을 입력으로 받아서 상대 깊이 분기에서는 단일 프레임을 선택하고 DFF 분기에는 전체 스택을 제공합니다. 상대 깊이 분기에서의 출력은 깊이 맵의 기초를 형성합니다.

상대 및 메트릭 깊이 캡처(Capturing Relative and Metric Depth)

HybridDepth의 첫 번째 단계는 전체 깊이 추정 파이프라인에 필요한 중간 데이터를 생성하기 위해 선택된 두 개의 주요 모듈로 구성됩니다: 단일 이미지 상대 깊이 추정기DFF 메트릭 깊이 추정기. 후속 단계에서는 DFF 모듈이 제공하는 메트릭 정보를 사용하여 단일 이미지 모듈에서 생성한 상대 깊이 맵과 융합합니다.

  • 단일 이미지 상대 깊이 추정기(Single-Image Relative Depth Estimator): 이 모듈은 깊이 추정 프로세스의 기초층으로 작용하는 상대 깊이 맵을 생성합니다. 이 깊이 맵을 기반으로 사용함으로써 최종 출력이 구조적 완전성을 유지하며 선명하고 잘 정의된 가장자리 및 객체 경계를 보존하도록 합니다.

  • DFF 메트릭 깊이 추정기(DFF Metric Depth Estimator): 이 모듈은 상대 깊이 맵을 메트릭 깊이 맵으로 변환하는 데 필요한 중요한 스케일 및 메트릭 정보를 제공합니다. 포컬 스택을 입력으로 받아 DFF 모듈은 장면의 밀집 메트릭 깊이 맵을 생성합니다. 그런 다음 이 메트릭 깊이 맵을 사용하여 단일 이미지 상대 깊이 추정기의 상대 깊이 맵을 메트릭 깊이 맵으로 변환합니다.

상대 및 메트릭 깊이 정보 융합(Fusing Relative and Metric Depth information)

다음 단계로 먼저 DFF 분기로부터 상대 깊이(Relative Depth)에 메트릭 정보를 수학적으로 융합(fusing)합니다:

Metric\ Depth = Scale \times Relative\ Depth + Shift
  • 전역 스케일 및 시프트 정렬(The Global Scale and Shift alignment): 전역 스케일러는 스케일 및 시프트 조정을 적용하여 상대 깊이 데이터를 메트릭 깊이로 수학적으로 변환합니다. 메트릭 깊이와 상대 깊이 간의 관계는 단순한 선형 변환으로 모델링할 수 있습니다. 여기서 스케일 및 시프트 매개변수는 DFF의 메트릭 깊이 값을 사용하고 최소 자승 피팅 기법을 사용하여 상대 깊이에서 메트릭 깊이로의 변환이 실제 물리적 거리를 정확하게 반영하도록 보장합니다. 이 최소 자승 피팅 접근법은 DFF 출력과 상대 깊이 예측을 정렬하여 불일치를 최소화하는 최적의 스케일링 및 시프트 매개변수를 최적화합니다. 이 모듈은 시각적으로 상대 깊이와 매우 유사한 첫 번째 중간 메트릭 깊이 출력을 생성합니다.

HybridDepth는 상대 깊이 정보의 통합을 통해 상대 깊이 맵의 기본 깊이 관계를 자주 변경하여 구조적 무결성과 세부 사항을 초기 상태로 손상시키는 기존 방법과 달리 상대 깊이 맵의 무결성을 보존합니다. 대신 각 픽셀 값을 메트릭 등가물로 변환하면서 상대 깊이 관계를 유지함으로써 왜곡을 피하고 고품질 깊이 맵을 보장합니다. 이 방법은 상대 깊이 추정의 강점과 정밀한 메트릭 정보를 효과적으로 결합하여 증강현실과 같은 정확한 깊이 측정과 현실적인 장면 기하학 및 세분화가 중요한 애플리케이션에 강력한 솔루션을 제공합니다.

정제(Refinement)

전역 스케일 및 시프트 정렬은 상대 깊이 맵 전체를 두 개의 숫자를 사용하여 메트릭 깊이로 변환하려고 시도하므로 오류를 유발할 수 있습니다. 이 단순화는 일부 픽셀 및 영역에서 부정확성을 초래할 수 있습니다. 우리의 실험에 따르면 전역적으로 스케일링된 깊이 맵의 특정 영역은 로컬 스케일 정제로부터 이점을 얻을 수 있습니다. 이를 해결하기 위해 첫 번째 단계에서 DFF 분기 출력과 두 번째 단계에서 전역적으로 스케일링된 깊이 맵 간의 스케일 차이를 먼저 계산합니다. 이를 통해 두 깊이 맵을 나누어 새 스케일 맵을 구축할 수 있습니다. 그러나 DFF 분기와 전역적으로 스케일링된 깊이 맵 모두 오류를 포함할 수 있으므로 결과 스케일 맵도 부정확할 수 있습니다. 따라서 정제 레이어를 도입하여 로컬 스케일 개선 레이어로 작동하고 DFF에서 파생된 스케일 맵을 사용하여 전역적으로 스케일링된 깊이 맵의 다양한 픽셀에 스케일 수정을 적용합니다.

  • 스케일 정제 레이어(he Scale Refinement Layer): 이 레이어를 구축하기 위해 MiDaS-small의 사용자 정의 버전을 사용하여 개별 픽셀의 스케일 오류를 수정합니다. 우리의 정제 접근법은 희소 깊이를 처리하고 스케일 회귀를 사용하여 스케일 맵의 빈 영역을 채우는 다른 접근법과 다릅니다. 대신 우리는 DFF에서 제공하는 모든 깊이 값을 활용하여 전역적으로 스케일링된 깊이 맵을 기반으로 스케일 맵을 구축합니다. 이 방법은 DFF의 모든 깊이 값을 효과적으로 사용하여 전역적으로 스케일링된 깊이 맵의 각 픽셀에 스케일 정제를 적용할 수 있습니다. 두 개의 연결된 데이터 채널, 즉 전역적으로 스케일링된 깊이 맵과 DFF에서 파생된 스케일 맵을 입력으로 제공합니다. 이를 통해 스케일 정제 모델은 로컬 스케일 조정을 학습하고 적용하여 깊이 맵의 전체 정확성을 향상시킬 수 있습니다.

사전 학습 모델 다운로드

Model Checkpoint
Hybrid-Depth-NYU-5 Download
Hybrid-Depth-NYU-10 Download
Hybrid-Depth-DDFF12-5 Download
Hybrid-Depth-ARKitScenes-5 Download

라이선스

HybridDepth 코드는 GPL-3.0 라이선스로 공개 및 배포되고 있습니다.

:github: HybridDepth GitHub 저장소

:hugs: HybridDepth 저장소 (준비 중)

:scroll: HybridDepth 논문




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요