Deep Learning

[Paper] Self-supervised Spatial Reasoning on Multi-View Line Drawings

ju_young 2023. 4. 17. 00:22
728x90

Introduction

 

학습된 인간은 spatial memory, logic, imagination을 사용하기 때문에  spatial reasoning task에서 좋은 결과를 보여준다. 하지만 deep network의 spatial reasoning은 아직 부족하다.

 

image classification, object detection, segmentation과 같은 task에서 사용하는 sota depp network는 좋은 성능을 보여주었지만 view consistency (모델의 다양한 뷰가 일관된 결과를 출력하는 것)과 camera pose와 같은 spatial information에 대해서는 어렵다.

 

위처럼 SPARE3D dataset을 사용하여 첫 번째로 spatial reasoning task를 조사했다고 한다. 이 dataset은 다음과 같은 특징을 가진다.

  • input으로 line drawing을 사용
  • non-categorical dataset (label 없음)
  • spatial reasoning을 정의

view-consistency reasoning task (the Three-view to Isometric or T2I) 와 two camera-pose reasoning tasks (the Isometric to Pose or I2P, and the Pose to Isometric or P2I) 에 집중했다고 한다.

 

성능을 향상시키기위해 다음 3가지 측면에서 고민해보았다고 한다.

  • 학습을 위한 데이터양
  • network의 용량 (width, depth)
  • network의 구조

하지만 이러한 것들은 좋은 성능을 가져다주지 못했고 동시에 data를 generate하기 위한 비용이 더 많이 들었었다고 한다. 그래서 비슷하거나 더 나은 결과를 보여주는 self-supervied learning을 설계했다.

 

view consistency reasoning task에서는 contrastive spatial reasoning method를 설계했다고 한다. 이는 대부분의  contrastive learning method에서는 다른 view들 간의 관계를 명시적으로 고려하지 않으며 다른 이미지들 간의 디테일한 차이에 집중하지 않기 때문에 필요하다고 한다. 

 

camera pose reasoning task에서는 pose (객체의 위치와 방향을 묘사한 정보)와 해당 위치와 방향에서 카메라를 놓고 찍은 이미지와의 상관관계를 찾기위해 self-supervised learning network를 제안한다고 한다. 그리고 self-supervised learning network는 봤던 view뿐만 아니라 못봤던 view들에서도 도움이 된다고 한다.

 

Contrastive learning network for task T2I

이 method는 3D Model augmentation, line-drawing feature extraction, contrastive loss computation으로 나누어진다.

Step 1: 3D data augmentation

3D boolean 연산에 따라 view 들간의 visual 차이가 일어난다. 위에서 branch 1, branch 2가 각각 다른 boolean 연산이 적용된 augmentation된 CAD 모델이다.

 

각 이미지는 세 가지 view와 isometric view를 포함한다. branch 1은 {F1, R1, T1, I1}, branch 2는 {F2, R2, T2, I2}으로 나타나있으며 F, R, T, I는 각각 Front, Right, Top, Isometric을 의미한다.

Step 2: line-drawing feature extraction

4개의 view들은 각각 CNN을 통과하고 이후 T, R, F는 concatenate한 후 하나의 MLP 레이어를 통과한다. I도 바로 MLP 레이어를 통과한다. 각각의 CNN과 MLP는 같은 architecture를 가지지만 서로 다른 parameter를 가지고 있다.

 

각각의 MLP 출력은 3-view 이미지와 isometric 이미지 정보를 encoding한 것이다.

Step 3: Contrastive loss computation

branch1, branch2에서 각각 MLP 까지 통과한 출력은 a1, a2, b1, b2라 나타내져있으며 4가지 조합(a1+b1, a1+b2, a2+b1, a2+b2)을 가진다. 그리고 각각의 concatenate 결과는 두 개의 MLP 레이어에 통과하여 binary classifier를 수행한다.

 

Self-supervised learning network for task I2P and P2I

이 method는 line-drawing feature extraction, loss computation으로 나누어진다.

Step 1: line-drawing feature extraction

three view 이미지는 share-weight CNN에 각각 통과하여 feature를 얻는다. 그리고 concatenate하여 하나의 MLP 레이어를 통과한다.

 

8개의 isometric view 이미지는 같은 network를 통과하고 하나의 MLP 레이어에 들어간다. 8개 출력 결과 (1xK) 는 three view의 출력 vector(1xK)과 concatenate되어 두 개의 MLP 레이어를 통과한다.

 

이렇게해서 출력된 e1(1x8)은 8개의 isometric에 대한 camera-pose 확률 값을 가진다.

Step 2: loss computation

BCE loss를 사용하며 gt matrix는 8x8 identity matrix이다.

 

 

리뷰를 마치며...

 

엔지니어링, 건축, 전기 등 다양한 분야에서 CAD를 사용하고 있으며 실무에서는 section, detail 등 다양한 view 들이 존재한다. 특히 section의 경우 다양한 각도에서 본 경우들이 존재하며 대응되는 view들간의 치수가 차이가 나는 경우들이 종종있다. 하지만 이 논문은 이러한 복잡한 문제까지 해결할 수 없을 것 같다. 단순히 three-view, isometric만 가지고는 해결할 수 있는 문제가 많이 없을 것이다.

728x90