본문 바로가기

논문 리뷰/etc.

Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer (MiDaS)

다양한 깊이 추정 데이터셋에 통합적으로 적용 가능한 손실함수 개발. 3D movies dataset 제안.

 

요약:

  1. 다양한 기준을 가진 데이터셋을 정렬하여 혼합 훈련
  2. Multi-log-scale에서 x,y 축의 gradient를 포착하는 loss term

 

arXiv

Github

 

 

 

Abstract

Zero-shot monocular depth estimation을 위한 새로운 데이터 소스 제안.

다양한 깊이 추정 데이터셋에 통합적으로 적용 가능한 손실함수 개발.

 

 

 

Introduction

본 논문의 목적은 다양한 환경에서 강력한 monocular depth estimation 모델을 훈련하는 방법을 조사하는 것이다.

 

이를 위해 다양한 감지 양식으로 얻은 데이터에 대해 훈련 가능한 손실함수를 개발하고 다양한 기존 데이터셋을 혼합하기 위한 최적의 전략을 탐구한다.

 

(Monocular depth estimation에 대한 한글 survey 논문. 나도 이쪽에 전혀 지식이 없어서 읽어봤는데 ㄱㅊ함.)

 

 

 

Existing Datasets

위 : Training set, 아래 : Test set

 

테스트에서는 각 데이터셋에 대해 미세조정하지 않고 제로샷으로 평가한다.

 

 

 

3D Movies

새로운 데이터셋 소개. 3D movies는 할리우드 영화의 인간 중심 이미지에서 다큐멘터리의 풍경과 동물이 있는 자연 장면에 이르기까지 다양한 동적 환경에서의 고품질 비디오 프레임을 특징으로 한다. 깊이 데이터를 제공하진 않지만 스테레오 매칭을 사용하여 상대 깊이를 얻을 수 있다.


Movie selection and preprocessing

 

영화 선정 기준

  • Physical stereo camera를 이용하여 촬영된 영화
  • 현실감과 다양성의 균형
  • 블루레이로 제작되어 고해상도 이미지 추출 가능

 

 

영화마다 프레임이 다르기 때문에 1880x800으로 자름. FFmpeg의 장면 감지 도구 사용. 혼란스러운 액션 장면을 제거하고 4초마다 24 프레임을 샘플링.


Disparity extraction

 

스테레오 매칭은 입체 필름에서 추출된 이미지 쌍에 적합하지 않기 때문에 현대적인 광학 흐름 알고리즘 적용.

 

아무튼 이것저것 전처리를 하고 남은 데이터의 영화 비중 :

 

 

 

Training on Diverse Data

주요 과제 

  • 데이터셋들이 각각 다른 깊이 표현을 사용
  • Scale 모호성 : 일부 데이터셋의 경우 깊이는 알 수 없는 scale까지만 제공됨.
  • Shift 모호성 : some datasets provide disparity only up to an unknown scale and global disparity shift that is a function of the unknown baseline and a horizontal shift of the principal points due to post-processing.

(설명 모호성 : 번역해도 뭔소린지 모르겠음;)

 

아무튼 각각의 데이터셋이 제공하는 깊이 값의 기준이 다르다는 것이다.(e.g. 0~100, 0~1, -1~1 )


Scale- and shift- invariant losses

 

유효한 ground truth를 가진 픽셀 수를 M, 예측 모델의 피라미터 θ, d = d(θ)를 disparity 예측으로 하고 d*을 GT disparity로 함.

 

단일 샘플에 대한 scale- and shift- invariant loss :

(d̂은 d의 scaled and shifted version. 일종의 정규화 느낌인데 아래에 설명. ρ는 손실함수 타입 지정.)


s와 t는 scale과 translation의 추정치를 나타냄.(shift의 s가 중복이라 translation이라고 표현한 듯.) 

어쨌든 정렬을 해줘야 한다.

 

이 정렬을 수행하기 위한 두 가지 방법 중 첫 번째 : 최소 제곱법

 

s와 t는 표준 최소 제곱 문제로 다시 작성하여 효율적으로 결정할 수 있다.

 

또 다른 방법은 outlier에 예민한 mse 대신 중앙값을 사용하여 정렬하는 것이다.


손실함수는 ρ를 mse로 하는 Lssimse, mae로 하는 Lssimae,

Um을 0.8M으로 하여 상위 20% outlier를 잘라내는 Lssitrim이 있다.

(중앙값에다 이런 손실함수까지 만든 걸 보면 outlier를 혐오하는 듯하다.)


Final loss

 

Multiscale에 적응하기 위해  Scale-invariant gradient matching term을 disparity space에 적용한다.

(Ri = d̂i − d̂i*, Rk는 scale k에서 log-depth difference map의 값이다.)

 

해당 term은 다양한 log scale로 계산되기 때문에 큰 image distance에 걸쳐 GT의 depth-gradient를 포착한다.

다른 논문 이미지라 용어 다름

 

최종 scale- and shift- invariant loss

(Nl은 training set size)


Mixing strategies

Scale- and shift- invariant loss로 인해 다양한 데이터셋을 혼합할 수 있다. 섞는 방법에는 2가지가 있다.

  • 데이터셋 크기를 전부 같게 하기
  • 각 데이터 세트에 대한 학습을 별도의 작업으로 정의하고 해당 논문에서 제시된 파레토 최적화 알고리즘 사용

 

 

 

Experiments