본문 바로가기

DeepLearning/Depth Estimation

[논문리뷰] HITNet: hierarchical iterative tile refinement network for real-time stereo matching

리뷰에 앞서 정확히 이해하지 못한 부분들이 있어 부족한점이 많은 글이기에 잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다.

 

[Depth Estimation]

Depth Estimation은 2D Image로 부터 3차원 정보를 얻어내는 방법으로 Monocular(단안)와 Stereo(쌍안)의 방법이 있습니다. 본 논문은 Stereo Image를 사용하는 방법으로 두개의 이미지 사이의 disparity를 구하는 방법을 설명합니다. 

 

[Method]

Overview of the preposed framework

HITNet은 크게 Feature Extraction, Initialization 그리고 Propagation 3가지 파트로 나뉩니다. 그리고 Tile hypothesis의 개념을 사용하여 High-resolution Image을 효율적으로 학습가능합니다.

 

Tile Hypothesis

Tile hypothesis

구조를 설명하기에 앞서 Tile Hypothesis는 High-resolution을 작은 사이즈의 tile로 나누어 학습하는 것으로 다음과 같이 구성됩니다.

  • d : disparity
  • dx,dy : gradient of disparity in x and y direction 
  • p : tile feature descriptor (learnable) 

 

Feature Extraction

본 논문에서 Feature Extraction은 작은 U-net의 구조를 사용합니다. 두개의 Image를 각각 Feature Extraction에 넣어 encoder부분에서 high-level feature를 얻어낸 후에 decoder부분에서의 featrue map (Left Image){e0L,e1L,...,e4L} 와 (Right Image){e0R,e1R,...,e4R}를 만들어 냅니다.

 

Initialization

Initialization

Initialization 부분은 Tile hypothesis를 초기화하는 과정으로 초기 disparity와 descriptor를 설정하고 dxdy는 0으로 설정합니다.

먼저 Feature extraction에서 얻어진 Featrue map e에 4x4 convolution를 적용하는데 eL에는 4x4 strides로 적용하고 eR에는 4x1 strides로 적용합니다.

그 결과로 ε~={e0~,...,eM~}가 만들어지고 이 것을 이용해 matching cost를 계산합니다.

matching cost

이때 l은 resolution이고 d는 disaprity를 의미합니다.

 

후에 계산한 matching cost를 이용해서 초기 disparity dl,x,yinit=argmind[0,D]ϱ(l,x,y,d)를 계산합니다.

 


+추가 업로드 예정