본문 바로가기
Deep Learning

[논문] A survey on deep geometry learning: From a representation perspective

by sk_victoria 2022. 10. 8.

출처 : https://link.springer.com/content/pdf/10.1007/s41095-020-0174-8.pdf

사진출처 : https://en.wikipedia.org/wiki/Constructive_solid_geometry

 

Constructive solid geometry - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Creating a complex 3D surface or object by combining primitive objects CSG objects can be represented by binary trees, where leaves represent primitives, and nodes represent operations

en.wikipedia.org

 사진출처 : https://www.researchgate.net/figure/Globally-deformed-superquadrics-From-left-to-right-original-object-tapered-object_fig4_228719774

사진출처 : https://en.wikipedia.org/wiki/Polygon_mesh

 

Polygon mesh - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Set of polygons to define a 3D model In 3D computer graphics and solid modeling, a polygon mesh is a collection of vertices, edges and faces that defines the shape of a polyhedral obje

en.wikipedia.org

 


Abstract

  • 2D image를 이용하여 딥러닝을 수행하는 task는 많이 다뤄져 온 바 있습니다.
  • 2D image를 이용한 딥러닝은 픽셀을 다루는 문제로 귀결이 되지만, 3D shape는 다양한 표현이 가능합니다.
    • Depth
    • Multi-view images
    • Voxels
    • Point clouds
    • Meshes
    • Implicit surfaces
  • 위 서베이 논문에서는 3D Geometry를 사용한 딥러닝의 발전에 대해서 표현방식을 기준으로 다뤄보고자 합니다.

 

Introduction

  • Background
    • 분야 : Computer Vision / Computer Graphics System
    • 지금까지 3D Modeling의 processing, generation, visualization 관련하여 다뤄져온바 있습니다
    • 기술로 치면 3D Shape을 Matching, Identifying, Manipulating 하는 기술이 다뤄져 왔습니다.
    • 3D data의 형태는 비정형이기 때문에 (픽셀과 달리) 형태를 나타내고 정의하는 것 자체가 challenging 한 문제입니다.
    • 초기의 3D Shape Representation을 보겠습니다.
      • 초기에는 Constructive Solid Geometry Deformed Superquadric 을 주로 이용하였습니다.
      • 이러한 접근방식은 이미지 recognition이나 3D 복원 등의 task에서 단점이 있을 수 있습니다.
        1. 이러한 접근방식으로 노이즈를 제거하는 게 힘들 수 있습니다.
        2. Superquadric 과 같이 고차원으로 표현을 하게 된다면 연산량이 증가하고 모델이 Training Dataset에 오버피팅되는 일이 있을 수 있습니다.
      • Constructive Solid Geometry란
        • Computational Binary Solid Geometry라고도 불립니다.
        • 심플한 object들 (Cuboids, Cylinders, Pyramid, Prisms) 을 Boolean 형식으로 쌓아올려 하나의 Complex Object를 만드는 것을 의미합니다.

 

  • Deformed Superquadric 란
    • Superquaeric에 약간의 변형을 조금씩 줘서 만들어지는 Object을 의미합니다.
    •  

 

  • Depth and Multi-view Images
    • RGB-D Images
    • RGB/RGB-D 형식의 Multi-view Images
    • 이미지 형식은 Geometric한 디테일이 떨어지는 형태이긴 합니다.
  • Voxels
    • pixel의 3D 로의 확장형태
    • Voxel 형식도 정형적인 구조를 가지고 있기 때문에 2D Image Representation 학습방식을 쉽게 차용할 수 있습니다.
    • 하지만 2D Image를 학습시키는데 사용되는 아키텍처에서 한 차원을 더 추가하는 것은 메모리와 연산시간에서 부하가 많이 생기는 일일 수 있습니다.
  • Surfaces
    • Pointclouds
      • 3D Point Coordinate
      • Connectivity Information 문제가 있습니다 (아무래도 라이다 데이터는 Sparse한 문제가 있어서, 중간에 빈 곳을 Dense하게 메꿔줘야하는 문제가 있을 수 있습니다)
      • Max Pooling과 같은 Order Invariant Operator를 사용하여 Orderless한 문제를 해결합니다.
    • Meshes
      • 3D shape를 최소한의 메모리와 연산시간으로 표현할 수 있는 모델입니다.
      • Graph-based CNN 에서 주로 쓰입니다.
      • Mesh는 Vertex set과 Edge set으로 나뉩니다.
      • 3D Shape을 변형하는 문제에서 Mesh를 많이 활용하는데, 일례로 Vertice를 변형하면서도 Connectivity는 그대로 유지하는 경우가 있을 수 있습니다.

  • Implicit Surfaces
    • 앞서 설명한 명시적인 표현들과는 다르게 보다 내재적인 표현을 의미합니다.
    • Occupancy Function
    • Signed Distance Function
    • 3D Shape Object를 훨씬 더 고차원의 표현방식으로 표현할 수 있다는 장점이 있습니다.
  • Structured Representation
    • 3D Shape을 더 잘 표현하기 위해 Structure 와 Geometric Detail을 따로 분리해서 생각할 수 있습니다.
    • Structure에 대해서만 생각한다는 것은, 3D Shape의 각 부분들끼리의 관계에 대해서만 생각한다는 것입니다. (일례로 Symmetry, Supporting, Being Supported 등의 관계가 있을 수 있습니다)
  • Deformation-based represenation
    • Human body와 같이 Non-rigid 3D Shape을 표현하기 위한 표현방법입니다.
    • 컴퓨터 애니메이션 분야나, 증강현실 등에서 주로 쓰이는 방법입니다.
    • Intrinsic Deformation Property를 기반으로 합니다. (Rotation-Invariant local feature)
  • Geometry Learning
    • 앞서 설명한 3D Shape들을 가공하고 생성해서 결과를 만들어내는 딥러닝 방식입니다.
    • Geometric Learning의 변천사는 아래 그림처럼 발전해왔습니다.
    • 2015년부터 활발히 연구되기 시작한 것을 알 수 있습니다.

 

Image-based Representations

  • 여러 각도에서의 이미지를 통해 하나의 3D Shape을 완성할 수 있습니다.
  • RGB에 Depth 정보를 추가하여 Geometric한 정보를 살릴 수 있습니다.
  • RGB와 Depth를 각각 별개의 CNN layer에서 다루고 feature를 merge하는 방식
  • RGB로부터 Depth를 reconstructing하여 별도의 scale-invariant loss를 두고 학습하는방식
  • Depth Map을 Disparity, Height, Angle로 인코딩하는방식
  • 3D Object Detection Task
  • 3D Object Recognition Task (MVCNN)
    • 다른 각도에서 본 이미지를 각각 별개로 처리하고, feature들만 aggregate하는 방식 (View-pooling layer)
    • 전통적인 2D Network를 Naive하게 확장시킨 형태로, 성능이 좋지 않습니다.
    • 특히 성능이 좋지 않은 이유로 overfitting, orientation, Data sparsity, low resolution 의 문제가 거론됩니다.
    • Multi-resolution strategy를 추가하여 정확도를 더 높이는 시도도 존재했습니다.

 

Voxel-based Representations

  1. Dense Voxel Representation
    • 3D ShapeNets
      • Input : Volumetric Representation, Output : Category Labels & Predicted 3D Shape
      • Category Label : [Observed / Unobserved / Free] 로 Voxel의 상태를 표현하는 방식
      • Deep Belief Network의 pixel data processing 형태를 Voxel로 확장시킨 형태입니다.
      • 2차원을 3차원으로 확장시키기 위해 fully connected layer를 fully convolution layer로 치환하였습니다.
    • VoxNet
      • Volumetric Layer를 처음으로 도입한 네트워크입니다
    • 3D-GAN
      • Latent Space Vector z로부터 3D Object를 만들어내는 방식
    • Denoising Auto-Encoders (DAE)
    • VConv-DAE
    • 3D-R2N2
      • Input : Multiple Image, Output : Reconstructed Objects within an occupancy grid

댓글