3D Object Generation 기술 동향, 모델 비교- Zero123, MVDream, SyncDreamer

Jomii·2024년 8월 20일
0

Computer Vision

목록 보기
18/24

연구원에서 세미나 열리는거 메일받고 듣고싶어서 실장님께 말씀드리고 다른 연구실 세미나 참석하기..

오늘 KAIST의 박병준 연구원님이 오셔서 "3D 콘텐츠 생성 기술 동향"에 대한 세미나를 열어주셨습니다. 최근 CVPR 2024에서 발표하신 논문도 함께 소개해 주셔서 매우 유익한 시간이었습니다. 최근에 multi-view synthetic data를 생성하는 모델에 관심이 있었는데, 마침 관련 주제로 세미나가 열려 운이 좋았습니다.

세미나 내용을 바탕으로 세미나에서 다룬 주제를 더 깊이 이해하기 위해 추가로 조사한 내용을 정리했습니다. 아래는 세미나에서 특히 인상 깊었던 내용과 관련 연구의 개요입니다.




최근 3D 객체 생성 기술은 크게 두 가지 축으로 발전하고 있다.
첫번째로 NeuS와 같은 기술은 표면복원에 집중하여 고해상도의 3표면을 생성하는데, 이는 기존의 NeRF 기반 방법론과 차별화된다.
두번째로 DreamFusion과 같은 새로운 접근법은 NeRF와 SDS를 결합하여 더 높은 품질의 3D를 객체를 생성하고자 한다. 특히 이 두 가지 접근법의 조합이 어떻게 최신 모델들에서 활용되는지 살펴보고자 한다.

모델을 살펴보기 전에 SDS와 NeuS를 먼저 얘기하자면, NeuS(Neural Implicit Surface)와 SDS(Score Distillation Sampling)는 모두 3D 객체를 생성하거나 표현하는 데 사용되는 기법이지만, 그 접근 방식과 역할이 다르다.

SDS(Score Distillation Sampling)란?

SDS는 주로 이미지 또는 3D 데이터를 기반으로 객체의 샘플을 생성하고, 그 output과 노이즈를 비교하여 SDS Loss를 계산하고 이를 통해 학습시키는 방식이다. 보통 생성 과정에서 정교한 샘플링을 통해 고품질의 결과물을 얻도록 설계되어 일반적으로 계산 비용이 높아 시간이 오래 걸릴 수 있다.

NeuS(Neural Implicit Surface)란?

NeuS는 3D 공간에서의 표면을 Implicit하게 정의하는 함수를 학습한다. 이 함수는 주어진 위치가 객체의 내부, 표면, 또는 외부에 있는지 구분할 수 있으며, 이를 통해 고해상도의 3D 표면을 복원한다.

NeuS는 NeRF(Neural Radiance Fields)와 유사하지만, NeRF가 주로 3D 객체의 밀도를 학습하여 볼륨 렌더링을 수행하는 반면, NeuS는 3D 공간에서 암시적(Implicit) 함수를 학습하여 객체의 표면을 고해상도로 재구성한다고 한다.

NeuS는 복잡한 샘플링 없이도 NeuS의 효율적인 표면 표현 능력을 이용해 빠르게 3D 객체를 생성할 수 있다는 것에 의미가 있다.



DreamFusion


DreamFusion은
(1) 샘플링한 camera pose, light position을 사용해서 Nerf로 이미지를 렌더링하고,
(2) Nerf로 생성된 이미지, timestep t, text embedding을 이용해 diffusion model의 noise ϵ\epsilon으로 샘플링하고 SDS Loss를 계산한다.

*SDS(score distillation sampling) Loss :
SDS Loss는 위의 DreamFusion의 피규어와 같이보면, gaussian noise가 추가된 이미지를 U-Net을 통해 복원하고, 그 생성된 이미지와 추가한 gaussian noise의 차이를 이용해서 loss값을 업데이트한다. 여기서 θ\theta가 Nerf 파라미터이므로 x를 θ\theta로 미분하여 Nerf의 파라미터를 업데이트하는 것이다.



Objarverse dataset 등장 이후의 모델


3D object dataset으로 주로 ShapeNet이 쓰이고 있었는데, 이후 더 큰 데이터셋인 Objarverse이 등장하였다. (OpenWorld에 대한 데이터셋) 주석이 달린 3D 객체 데이터셋으로, 80만 개 이상의 3D 모델을 포함하고 있으며, 이 모델들은 자연어 설명, 태그, 애니메이션과 함께 제공된다.

이를 기반으로 Zero-1-to-3, MVDream, SyncDreamer 등의 다양한 모델이 개발되었다.

1. Zero-1-to-3

(arxiv 기준 2023.03.)

  • Zero-1-to-3 모델은 텍스트 입력을 통해 단일 뷰에서 시작하여 SDS로 한 번에 한 뷰씩 생성한다. 한 관점씩 점진적으로 추가해 나가는 방식으로 3D 객체를 완성
  • 장점: Sequential한 방식으로, 각 관점에서의 세부 묘사가 비교적 정교하며, 복잡한 객체에 대한 세밀한 조정이 가능하다.
  • 단점: 관점을 하나씩 생성하기 때문에 전체 3D 객체를 생성하는 데 시간이 많이 걸리며, 객체의 일관성을 유지하는 데 어려움이 있을 수 있다.

2. MVDream

(arxiv 기준 2023.08.)

  • MVDream은 orthogonal한 네 가지 관점에서 동시에 3D 객체를 생성하는 방식으로, SDS 알고리즘을 활용하여 생성한다.
  • 객체의 전체적인 일관성을 유지하면서도 빠르게 3D 모델을 완성할 수 있는 것이 특징
  • 장점: 동시에 여러 관점을 생성하기 때문에 객체의 일관성을 유지하면서도 생성 속도가 빠름 (한 번에 네 가지 관점을 생성하므로, Zero-1-to-3에 비해 시간 효율적)
  • 단점: 모든 뷰가 동시에 생성되기 때문에 복잡한 객체의 세밀한 부분에 대한 조정이 어렵고, 생성 과정에서의 제어가 비교적 제한적일 수 있다. 또한, 생성하는 데 약 2시간이 소요된다는 점에서 여전히 효율성에 한계가 있다.

3. SyncDreamer

(arxiv 기준 2023.07.)

  • SyncDreamer는 SDS를 사용하지 않고 NeuS (Neural Scene Representation and Rendering)를 기반으로 하여 10분 내에 3D 객체 생성
  • 장점: SyncDreamer는 기존 모델들에 비해 훨씬 빠르게 3D 객체를 생성할 수 있으며, NeuS 기반의 학습을 통해 비교적 안정적인 결과물을 제공
  • 단점: Objaverse 데이터셋에서만 학습되었기 때문에, 이 도메인을 벗어난(out-of-domain) 객체에 대해서는 생성 성능이 저하될 수 있음

Recap

모델주요 기법시간 소요장점단점
Zero-1-2-3SDS를 사용한 단일 뷰 생성시간이 많이 소요됨세밀한 각도별 3D 이미지 생성 가능긴 생성 시간, 높은 계산 비용
MVDreamSDS를 사용한 동시 4뷰 생성약 2시간 소요뷰 간 일관성 높은 고품질 3D 생성 가능여전히 높은 시간 소요, 계산 비용이 큼
SyncDreamerNeuS 사용, SDS 비사용약 10분 소요빠른 생성 속도, 실시간 응용 가능도메인 밖에서는 성능 부족, 범용성 제한





profile
📩 qtly_u@naver.com

0개의 댓글