본문 바로가기
DeepLearning/논문 리뷰

[논문 리뷰] Semantically-Guided Representation Learning For Self-Supervised Monocular Depth

by Wanda 2022. 3. 6.

1. Introduction

self-supervised 방법은 geometry를 supervision(감독)으로 활용하는데, 그로 인해 raw videos의 대규모 datasets를 활용하여 supervised 방법을 능가할 가능성을 가지고 있었다.

 

- 비록 단일한 image에서의 depth는 ill-posed reverse problem(해답이 많은 reverse problem)이지만, monocular depth networks는 Euclidean 3D space에서 장면과 object의 모양과 형상을 연결하는 representation을 학습하여 정확한 예측을 할 수 있다.

 

- 원근법(perspective) 때문에, 2D에서의 시각적 외관과 이것의 depth는 등변 관계가 있는데, 이것은  object가 한 category라는 조건 하에 가능하다. 

 

- 예를 들어, 25미터 거리의 차는 5미터 거리의 차보다 작을 것이지만 50미터 거리의 트럭보단 클 것이다.( 트럭은 차보다 크지만 길이에 따라 달라질 수 있다. 즉 등변 관계(equivariance relationship이 아니다)

 

- 최근의 depth estimation 방법들은 이런 구조를 명시적으로 활용하지 않거나 multi-task objective에서  geometric cconsistency와 semantic proxy task를 공동으로 최적화 하기 위해 강력한 semantic supervision(감독)에 의존하였기에, self-supervised paradigm에서 벗어나고 있었다. 

 

* Contribution

1) 고정된 pre-trained semantic segmentation network를 이용하여 self-supervised monocular depth network 안에서  geometric representation 학습을 guide한다.

 

- 기본적인 convolution layers와 대조적으로 우리의 architecture는 pixel-adaptive convolutions을 이용하여 의미에 의존적인 표현들을 배움으로 통해 equivariance(등변)특성을 잘 capture한다.

 

2) two-stage training 과정을 통해서 움직이는 물체로 인한 공통된 편향(무한대 투사)의 존재를 자동으로 감지한다. 

 

 

2. Related Work

- 생략

 

3. SELF-SUPERVISED STRUCTURE-FROM-MOTION

- 본 논문의 semantically-guided architecture은 self-supervised monocular depth estimation setting 내에서 발전 되었는데, 이는 일반적으로 structure-from-motion(sfM)이라고 알려져 있다. self-supervised structure-from-motion setting에서의 학습은 두가지 networks가 필요로 한다. 

 

*sFM 설명 : https://wonjae-projects.tistory.com/28

 

1) monocular depth model  that outputs a depth prediction

- 이는 target image I에 있는 모든 pixel p의 depth prediction을 결과로 낸다. 

2) monocular ego-motion estimator

- 이는 target image I(t)와 source image I(s) 사이의 *x(t->s)가 주어졌을 때  6DoF transformations을 예측한다.

* DOF : degree of freedom

 

3.1 THE SELF-SUPERVISED OBJECTIVE LOSS

 - 본 논문에서는 depth와 pose networks를 Guizilini et al.에서 묘사된, 같은 protocols와 losses 동시에 train한다.

 

- 본 논문의 self-supervised objective loss는 appearance matching termdepth regularization term으로 이루어져 있다. 

 

* apprearance matching term (L(p)) : imposed between the synthesized ˆIt and original It target images

* depth regularizaton term (L(s)) : ensures edge-aware smoothing in the depth estimates D(t)

 

-  최종 objective loss는 픽셀, 피라미드 스케일 및 이미지 배치당 평균이며 다음과 같이 정의된다.

1) apprearance matching term 

- 즉 합성된 이미지와 오리지널 이미지 사이의 유사도는 Structural Similarity(SSIM)을 이용하여 추정할 수 있다.

2) depth regularizaton term

- low gradient 영역에서 depth를 regularize하기 위해, 본 논문은 Godard et al.와 유사한 edge-aware term을 통합한다. 

 이 loss는 각 pyramid level에 weight를 부여하고, 0번째 피라미드 레벨에서 weight를 1로 시작하여 각 downsampling에 대해 2의 비율로 decay한다. 

 

- 또한 본 논문에서는 Godard et al.에서 제시한 auto-masking, minimum reprojection error,  inverse depth map upsampling등의 insight를 이용하여 depth estimation을 더욱 향상시킨다. 

 

3.2 Depth and pose Networks

- PackNet architecture : propose novel packing and unpacking blocks to respectively downsample and upsample feature maps during the encoding and decoding stages.

 

4. SEMANTICALLY-GUIDED GEOMETRIC REPRESENTATION LEARNING

- semantic-aware convolution을 통한 augmentation을 통해 self-supervised depth networksemantic information주입하는 방법을 이용한다. 

 

- 해당 모델에는 2가지 network가 존재한다.

 

1) responsible for the generation of depth predictions

 

-  self-supervised learning동안 optimize 된다. 

 

2) capable of producing semantic predictions 

 

- 미리 학습된 weight로 initialize되고, 더 이상 optimize 되지 않는다.

 

- 이는 기존의 depth encoders의 supervised pretraining 관습과 다른데, 보통은 pre-trained weights를 fine-tuning하는 데 비해, 본 논문에서는 이 secondary weights를 그대로 보존(preserve)하여 주된 depth network의 feature 학습을 guide 한다. 

 

- 또한 이러한 접근법은 Li&Hoiem가 제안한 forgetting 기법 없이 학습하며, training 동안 일관된 semantic guidance를 유지하기 위해 고정된 중간 feature representation을 활용한다. 

 

4.1 SEMANTICALLY-GUIDED DEPTH FEATURES

 -본 논문은 pixel-adaptive convolutions의 이용을 통해 depth network에서 pretrain된 semantic network의 정보를 활용한다.

 

- 이 기법은 최근에 standard convolution operations의 내재된 한계를 다루기 위해 제안된 것으로, convolution의 특징인 translation invariance로 인해 content-agnostic 하게 만들기 때문이다. convolution을 통해 parameters의 수는 현저하게 줄어들었지만, 이로 인해 시각적으로는 비슷한(예를 들어 그림자 혹은 검은 물체로 인해 어두운 공간) 다른 pixels를 구분할 수 없거나 시각적으로 다른(예를 들어 다양한 색깔을 가지고 있는 차)를 비슷한 물체로 일반화 하였다. 

 

- 의미론적으로 이해하는(semantic-aware)depth features를 제공하기 위해, semantic network에서 encode된 고정된 information이 multi-level depth features의 생성에서 기하학적 표현(geometric representation)을 분명하게 하기위해 이용된다.

 

- Fig2에서 보이는 것과 마찬가지로, semantic network에서 multi-level feature maps를 추출한다. 각각의 feature map은, 3*3 convolution과 1*1 convolutional layer 그 이후 이루어지는 Group Normalization과 ELU non-linearities activation을 이용한다. 

- 해당 식에서 달라진 점은 기존 식(가중치 곱해주는 식)에 standard Gaussian kernel를 곱해준다는 점 이다.  

- 여기서 Σij는 f(i)와 f(j) 사이의 covariance matrix이고, 본 논문에서는 σ가 각각의 convolution filter에 따른 추가로 배울수 있는 parameter인 diagonal matrix σ^2*I(D)를 이용하였다. 

 

- 이러한 kernel evaluation은 standard convolution에 이차적으로 부여하는 weights set으로 보일 수 있는데, guiding semantic features에 저장된 내용에 따라 depth features 결과에 미치는 영향을 변경한다.

 

- 예를들어, 하늘과 관련된 depth features에 담고 있는 정보는 pedestrain의 depth features를 생성할 때 이용되서는 안되고, 이러한 행동은 그들의 semantic features 사이에 더 먼거리로 잡히기 위해 그 특정한  convolution filter에  더 작은 weights를 생성하게 된다.

 

4.2 SEMANTIC GUIDANCE NETWORK

- 두번째 network가 depth features의 sematic guidance를 제공하기 위해 이용되게 때문에, 본 논문에서는ResNet backbone과 함께 Feature Pyramid Network(FPN)을 이용한다.

 

- 이러한 architecture은 panoptic segmentation을 향하는 semantic과 instance-level predictions 모두 효과적이다. 

 

4.3. TWO-STAGE TRAINING

- 기존의 photometric loss의 문제점은 static world로 가정을 하여, 오직 camer ego-motion만을 계산하기 때문에 dynamic objects에서의 모델을 할 수 없었다는 점이다.

 

- 이런 가정의 문제점은, infinite depth problem인데, 만약 카메라와 같은 속도로 물체가 움직인다면 depth는 무한대로 나올 것 이기 때문이다.

 

-이것을 해결하기 위해, 본 논문에서는 간단하고 효과적인 two-stage training method를 제안한다. 

 

* First stage 

1-1) 사용 가능한 모든 training data에 대한 standard depth network를 학습한다. 

1-2) 이 network에서, infinite depth problem을 나타내고 이를  basic geometric을 침해하는 infinete depth predictions이 있는 sequences를 자동으로 필터링 하여 dataset을 resample한다.

 

1-3) 본 논문에서는 ground plane에 해당하는  pixels의 depth preictions은 일반적으로 견고(robust)다는 사실을 발견하였고 이를 통해 RANSAC기법을 이용하여 ground palen의 대략적인 추정치를 얻을 수 있으며, 예측 깊이가 지면보다 상당히 아래에 투영되는 픽셀 수를 탐지할 수 있었다. 

 

 

1-4) 만약 그 수가 threshold값 보다 크다면, 해당 영상은 무시된다. (본 논문에서는 threshold 값이 10일 때 실험이 잘 되었고, 이는 KITTI training dataset의 5%를 filtering out하게 되었다.)

 

* second stage

2-1) first stage에서 filter된 subsampled  dataset을 이용하여 retrain을 시켜준다. 이 subsampled dataset은 편중되지 않았으므로, dynamic objects에서 더욱 좋은 depth 추정을 할 수 있게 된다. 이 방법은 여러번 반복될 수 있지만, 본 논문에서는 two-stage만으로도 충분히 infinite depth를 제거할 수 있다고 하였다. 

 

 

5. EXPERIMENTAL RESULTS

 

5.1 DATASETS 

- 생략

 

5.2 INPLEMENTATION DETAILS

- 생략

 

5.3 DEPTH ESTIMATION PERFORMANCE

5.4 ABLATIVE ANALYSIS

5.4.1 DIFFERENT DEPTH NETWORKS

 

5.4.2 CLASS-SPECIFIC DEPTH PERFORMANCE

- fine-grained structures and sharp boundaries에 대한 performance를 확인한 결과이다. 이를 통해 본 논문의 semantically-guided architecture가 더 좋은 결과를 나타내는 것을 확인 할 수 있다. (lower is the better)