MJ's Blog
[논문리뷰] Image GANs meet differentiable rendering for inverse graphics and interpretable 3D neural rendering 본문
[논문리뷰] Image GANs meet differentiable rendering for inverse graphics and interpretable 3D neural rendering
minje_kim 2022. 6. 6. 16:151. ABSTRACT & INTRODUCTION
1.1 Inverse graphics 소개 및 현 문제점
'Inverse graphics'는 한장의 2D 이미지로 3D 형상을 예측하는 기술을 의미한다.
* inverse graphics
한장의 사진에서 해당 물질의 생김새, 질감, 물성, 채도 등의 특성을 알아내어 물질의 3D 형상을 예측하는 것.
inverse graphics는 현재 AR/VR, 로보틱스, 컴퓨터 비전등 다양한 분야에서 사용되고 있음.
Inverse graphics를 구현하기 위해 많은 노력이 있었고, 현재까지 구현된 기술에는 아래 2가지 문제점이 존재해 왔음 :
- synthetic 데이터의 낮은 성능
보통 inverse graphics를 구현하기 위해선, 3D 라벨을 사용해 신경망을 훈련시켜왔었음. 해당 라벨 (즉 Ground-truth) 데이터의 높은 퀄리티를 위해선 데이터의 양을 늘려야 했고, 이를 위해 synthetic dataset을 사용했음. 하지만 synthetic data는 실제 사진과 차이가 있었기 때문에 성능이 낮다는 단점이 있음. - latent code를 manipulate하여 만든 multi-view data는 physical interpretation이 부족함
높은 성능을 위해선 multi-view 이미지 데이터가 필요했고, 그동안은 latent code를 manipulate하여 만들었지만, 이렇게 만들어진 데이터는 physical interpretation이 부족했고, disentangling이 안돼서 3D로 렌더링하기에 부적합했음.
* latent coding
잠재코딩, 단순히 데이터의 decriptive한 내용을 넘어, 잠재적이고 함축적인 의미를 파악하는 기법.
1.2 논문 제시 해결방법
이러한 문제점을 해결하기 위해, 해당 논문에선 아래와 같은 새로운 아키텍쳐를 제시함 :
- StyleGAN을 통한 multi-view 이미지 생성
기존에 latent code를 조작해 multi-view 이미지를 만드는 대신, StyleGAN을 통해 multi-view 이미지를 만드는 기법을 제시한다. 이는 latent code를 조작해 만든 multi-view이미지의 2가지 단점을 보완해준다. - Differentiable renderer를 사용
기존에 3D ground-truth 데이터를 사용했던 대신, Differentiable renderer를 사용해 inverse graphics 신경망을 훈련시키는 아이디어를 제시한다. (StyleGAN과 inverse graphics 신경망은 하나의 아키텍쳐로 연결시킴) 이러한 renderer를 사용하면 3D Ground-truth 데이터가 필요없게 되고 낮은 성능을 극복할 수 있음. - 위 2개의 renderer를 합친 새로운 아키텍쳐 제안
1.3 아키텍쳐 양상
결과적으로, 해당 논문이 제시하는 새로운 아키텍쳐의 양상은 다음과 같다.
- StyleGAN을 사용해 multi-view 이미지 생성
- Differentiable renderer를 사용해 inverse graph 신경망 훈련
- 훈련시킨 신경망으로 GAN의 latent code를 disentagle하여 해석가능한 3D 정보를 추출
2. RELATED WORKS
2.1 3D from 2D
기존 발표된 3D from 2D 관련 기술들과 달리 해당 논문은 1) GAN을 사용해 multi-view realistic 한 데이터 셋을 구축해, 라벨링을 매우 효율적으로 만들어 정확한 3D 결과를 만들고, 2) GAN에서 'disentanglement' 작업을 수행해 physically interpretable 한 3D 결과를 만듦.
2.2 Neural rendering with GANs
Neural rendering 기술에 있어 레퍼런스가 되는 것은 아래 'Visual Object Network' 논문이다.
위 논문과 공통점/차이점을 보자면,
- 공통점 : 이전에 학습된 3D geometry를 사용하고, 주어진 viewpoint & texture code를 활용해 이미지를 생성함
- 차이점 : 1) 위 논문과 달리 우리는 훈련에 3D 데이터셋이 필요 없음
2) 우리모델의 texture에는 3D physical meaning이 있지만, 위 논문은 없음
3) 우리 모델은 배경을 control 하지만, 위 논문은 배경을 흰색으로 고정 시킴
2.3 Disentangling GANs
Disentangling GAN 기술에 있어 레퍼런스 논문은 대표적으로 아래 'DatasetGAN'과 'Semantic segmentation with generative models' 가 있다.
두 논문에서는 StyleGAN의 잠재공간(latent space)의 meaning을 해석하는 반면, 우리는 graphics를 통해 얻어진 지식을 바탕으로 잠재공간을 disentangle함.
3. THEORY & METHODS
3.1 데이터 생성 (StyleGAN)
○ StyleGAN
해당 논문에선 StyleGAN을 활용해 데이터를 생성한다. StyleGAN의 아이디어는, 마치 화가가 눈동자 색만 다른 색으로 색칠하고, 머리카락 색만 다른 색으로 색칠하고 하는 것 처럼 기본 틀은 유지하되 원하는 특정 style을 변형 시키는 알고리즘이다. (style을 수치화 시켜서 GAN에 적용 시키는 방법을 사용하기에 StyleGAN이라 불린다.)
StyleGAN의 중요한 특징으로 'disentangle' 작업이 필요하다는 점이 있다. StyleGAN은 latent variable 기반의 생성 모델이기에 가우안 분포 형태의 random noise을 입력으로 넣어주는 특징을 갖고 있고 이 경우 latent space가 entangle하게 된다. 따라서 StyleGAN은 학습 데이터셋이 어떤 분포를 갖고 있을지 모르니 GAN에 z을 바로 넣어주지 않고, 학습 데이터셋과 비슷한 확률 분포를 갖도록 non-linear하게 mapping을 우선적으로 한 후 학습 시킨다. (아래 그림을 보면 매핑된 W를 각 scale에 입력으로 넣어 학습 시키는 걸 볼 수 있음)
* 'entangle', 'disentangle' 이란
ㆍentangle : 특징들이 서로 얽혀 있는 상태여서 구분이 어려운 상태.
ㆍdisentangle : 특징들이 잘 분리가 되어있는 상태로, 선형적으로 변수를 변경했을 때 어떤 결과물의 feature인지 예측할 수 있는 상태.
그 외 해당 논문에서 언급된 StyleGAN의 주요 특징은 다음과 같다 :
- 16개의 layer를 가진 신경망 구조를 띔
- 정규분포에서 도출된 잠재코드(latent code)를 실제 이미지로 매핑함
- 각각의 layer는 다른 이미지 특성을 다룸
(앞단의 layer는 camera viewpoint를, 뒷단의 layer는 이미지의 모양/질감/배경 등을 다룸)
○ multi-view 데이터 생성
StyleGAN의 구체적인 multi-view 데이터 생성 방법은 다음과 같다. 앞단 첫 4개 layer의 잠재코드는 camera viewpoint를 다루는데, 이를 바탕으로 해당 잠재코드를 새롭게 샘플링하고 나머지를 유지하면 각도만 다르게 이미지 augmentation을 할 수 있다. 반대로 앞단 첫 4개 layer의 잠재코드를 유지하고 나머지를 새롭게 샘플링하면 각도만 유지된채 물체/배경 등 내용적으로 모든게 바뀐 이미지를 생성할 수 있다.
StyleGAN은 때때로 안좋은 이미지(비현실적인 이미지를 생성하거나 객체가 여러개 있는 이미지 등)를 생성한다. 이러한 단점을 보완하기 위해 해당 논문에선 'Mask R-CNN' 알고리즘을 적용해 훈련 중 segmentation을 한다. (Mask R-CNN에 대한 내용은 아래 논문 참고)
3.2 신경망 훈련
○ DIB-R
신경망 훈련에 있어, graphic renderer는 기본적으로 DIB-R (Differentiable Interpolation-based Renderer)를 사용한다. (아래 논문 참고)
*graphic rendering
2차원 이미지에서 3차원 이미지를 만들어내는 기법
DIB-R의 렌더링 방법은 기존의 inverse graphics network의 렌더링 방법과 다르게 input 인자로 viewpoint 'V' 가 더 들어가며, output으로 렌더링 된 이미지 외에도 렌더링 된 마스크 M' 가 나온다.
○ Loss
Loss 값들을 사용해 신경망 f 를 훈련 시키며, V(viewpoint) 를 최적화 할 수 있다. 아래는 2가지 Loss 값에 대해 경험적으로 얻어진 수식이다.
- DIB-R 의 loss :
- Multi-view 이미지에서 각 객체 k의 loss :
Loss 계산에 더 많은 이미지를 사용할 수도 있지만, 경험적으로 2개 씩 계산하는 것이 효율적임이 나타났다. 그래서 위 수식에서도 랜덤하게 짜여진 (i, j) 의 한 쌍을 기준으로 loss값을 계산 한 것.
3.3 StyleGAN Disentangling
○ Mapping Network
앞서 설명된 바와 같이 StyleGAN엔 disentangle 작업이 필요하며, disentanglement는 mapping network로 설명될 수 있다. (아래 그림 참조)
주요 특징으로는,
- 3.1 데이터 생성에서 설명된 바와 같이, 맨 앞단 4개의 layer는 camera viewpoint, 나머지 12개의 layer는 각각 shape, texture, background로 나뉜다.
- disentanglement를 위해선 dimension의 통합이 필요하고, 이를 위해 mapping network에선 최종적으로 softmax를 사용해 normalize를 해줘야한다.
○ Traning
Mapping network를 훈련시키는 과정은 크게 2가지로 나뉨 :
1) Warm-up Stage
- StyleGAN의 가중치는 고정 시킨 후 mapping network 만 훈련시킴
- StyleGAN에 들어갈 적절한 latent code를 만들어 내도록 하는 과정
2) Fine-tune Stage
- StyleGAN과 Mapping network 두개 다 튜닝하는 단계
- 서로 다른 특성들의 disentanglement가 잘 이뤄지도록 방향을 잡고 튜닝
4. EXPERIMENTS & RESULTS
4.1 성능 확인
○ Pascal3D 모델과 비교
질적 / 양적 모두에서 Pascal3D 모델보다 우수함을 보임 (아래 그림 참고)
4.2 한계점
해당 논문은 실험 결과 도출된, 당 기술의 3가지의 한계점을 시사한다 :
1) 정확한 조명(lighting) 예측의 실패
→ 실제 이미지와 StyleGAN으로 만들어진 multi-view 이미지 모두 여러가지 조명 효과 (ex) 반사, 투명, 그림자 등) 를 담고 있었지만, 만들어진 모델은 이러한 조명 효과를 다루진 못했다.
2) 배경의 disentangling의 실패
→ shape, texture에 대한 disentangling은 잘 이루어진대 반해 background에 대한 disentangling은 잘 안됨
→ 예측된 사진을 보면 배경들이 조금씩 바뀌어져 있었음
3) 주로 분포 외 객체 (out-of-distribution object)에 대한 예측 실패
→ 추후 과제로 남겨둠
SUM UP 1. 그동안 렌더링 기술들은 renderer를 한개 사용한데 반해, 해당 논문에선 2개의 renderer를 합친 새로운 아키텍쳐를 선보임 (renderer 1 : StyleGAN / renderer 2 : differentiable graphics renderer) 2. 2개의 renderer가 상호 작동하는 주요 메카니즘은 다음과 같음 : ![]() 3. 라벨링을 훨 씬 덜하고도 성능이 더 좋게 나올 정도로 우수한 결과를 보임. 4. 그럼에도 한계점은 존재 (조명 예측 x, 배경 disentangling x 등) |
'AI' 카테고리의 다른 글
ICML 2025 후기 (5) | 2025.07.19 |
---|---|
25' AI Agents Live + Labs (1) | 2025.07.08 |
[논문리뷰] UNDERSTANDING DEEP LEARNING REQUIRES RETHINKINGGENERALIZATION (0) | 2025.05.22 |
[논문리뷰] Pix2NeRF (0) | 2022.07.13 |
Reproduction 을 위한 Seed 고정 (0) | 2022.05.26 |