일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- prompt2prompt
- image editing
- research intern
- Programmers
- 네이버 부스트캠프 ai tech 6기
- image generation
- 논문리뷰
- 코테
- Vit
- 코딩테스트
- 3d editing
- ddpm inversion
- 프로그래머스
- ddim inversion
- Python
- visiontransformer
- 3d generation
- DP
- magdiff
- style align
- plug-and-play
- transformer
- BOJ
- video generation
- ami lab
- VirtualTryON
- video editing
- diffusion models
- image2image translation
- diffusion
- Today
- Total
평범한 필기장
[평범한 학부생이 하는 논문 리뷰] SyncNoise : Geometrically Consistent Noise Prediction for Text-based 3D Scene Editing (arXiv 2406) 본문
[평범한 학부생이 하는 논문 리뷰] SyncNoise : Geometrically Consistent Noise Prediction for Text-based 3D Scene Editing (arXiv 2406)
junseok-rh 2024. 7. 6. 13:41https://arxiv.org/abs/2406.17396
1. Introduction
Instruct-NeRF2NeRF는 만족스러운 edited scene을 얻기 위해 긴 optimization 시간을 가진다느 단점을 지닌다. 또한 view에 따라 consistent하지 않은 fine-grained detail들을 제거해서 over-smoothed한 결과를 낸다.
Efficeint-NeRF2NeRF는 두 가지 이유로 blurry한 결과를 낸다. 첫 번째로 optical flow가 cross-view matching에 적용되는데 이는 부정확한 correspondence를 이끈다. EN2N은 diffusion model의 latent code에 consistency 제약을 도입하는데, 이게 부유하고 미묘한 latent representation를 평균적인 형태로 붕괴시켜서 high-frequency 디테일들과 미묘한 variation들의 손실을 이끈다.
앞선 두 모델들의 결과를 피하기 위해 본 논문에서 SyncNoise를 제안한다.
2. Related Work
Image Generation and Editing
DALL-E-2, Stable Diffusion, Prompt2Prompt, InstructPix2Pix, Plug-and-Play, DDS, SDS, Textual Inversion, DreamBooth, ...
3D Scene Editing
NeRF-Art, ClipNeRF, FocalDreamer, Instruct-3Dto3D, Shap-Editor, Instruct-NeRF2NeRF, DreamEditor, GenN2N, GaussianEditor, ...
$\rightarrow$ 이러한 방식들은 depth 정보를 생략하고 이 때문에 insconsistent editing 결과를 보인다.
3. Method
본 논문에서는 NeRF나 Gaussian Splatting과 같은 original 3D representation, multi-view image들과 그에 대응되는 camera pose들이 주어졌을 때, 자연어 instruction의 guidance하에서 editing된 장면을 생성하는 것을 목표로 한다.
위 이미지가 전체적인 구조를 나타낸다. Multi-view 이미지들을 수정하기 위해 instruction-based 2D diffusion models을 활용하고, 그 후에 수정된 view들을 supervision으로 활용해서 original 3D representations을 최적화한다.
3.1 Reliable Geometry-guided Correspondence
다양한 views에 따라 그럴듯한 correspondence들을 보이기 위해, reconstructed geometry를 강화하기 위한 depth supervision을 통합한다. 거기에 더해서, mathching 정확성을 보장하기 위해 그럴듯하지 않은 matching points를 거르는 re-projected depth와 cycle consistency constraints를 활용한다.
Depth Supervision
NeRF와 같은 implicit 3D representation은 특히 잘 보지 않은 곳에서의 geometry fitting하는 능력이 제한된다. 그래서 NeRF에 의해 추정된 depth는 그럴 듯 하지 않다. 위 이미지 (a)를 보면 reference view로부터 다른 view에서 point를 reproject할 때 상당한 offeset들이 있는 것을 볼 수 있다. 이 문제를 해결하기 위해 DS-NeRF에서의 depth supervision을 도입한다. SfM solver를 통해 얻은 3D keypoint들로부터 depth supervision을 끌어내고 추정된 depth가 keypoint들의 depth에 매칭되도록 depth loss를 더한다. 위 이미지 (b)를 보면 depth supervison을 더함으로써 더 정확한 depth를 추정할 수 있고, 이를 통해 결국 다른 view들 사이에 dense하고 정확한 correspondence들을 만들 수 있다.
Reprojected Depth Constraint
앞선 방식이 3D geometry의 퀄리티를 강화할 수 있지만, 3D key points의 noise때문에 matching point들에서 여전히 편차가 존재한다. Noisy한 correspondence들을 거르기 위해, reference view $I_{ref}$로부터 $k$번째 novel view $I_k$로 reproject된 depth $D_{ref \rightarrow k}$를 $k$번째 view에 대한 추정된 depth와 비교하고 다음 조건을 만족하는 matching point들을 얻는다.
위 이미지 (c)에서 볼 수 있듯이 배경 포인트들, 새로운 view에서 가려진 포인트들, 객체의 엣지에 위치한 포인트들의 대부분은 걸러진다. 뷰 사이의 거리가 증가할수록, 신뢰할만한 matching point들의 수는 점점 감소한다.
Cycle Consistency Constraint
신뢰할만한 matching point들은 reprojected depth constraint뿐만 아니라 cycle consistency constraint도 지켜야한다. $I_k$로부터 $I_{ref}$로 back-project된 포인트$P_{ref \rightarrow k \rightarrow ref}$와 original starting point $P_{ref}$사이의 픽셀 거리는 다음 조건을 만족시켜야한다.
3.2 Geometrically Consistent Noise Prediction
이번 섹션에서는 전체 denoising process를 통해 editing 결과가 multiple views에 대해 일관성 있도록 하는 것이 목표이다. 본 논문에서는 latent map 대신에 U-Net feature들에 대한 multi-view consistency를 강화한다. 위 이미지 (d)에서 볼 수 있듯이, U-Net의 intermediate decoder feature들에 대한 consistency를 강요함으로써, bulrred artifacts 없이 multi-view consistent한 editing 결과를 보인다.
(b)에서는 multi-view에 대한 corresponding latent map을 평균내는 것으로 일관성을 성취하는 방식에 대한 결과이다. 이는 위 이미지와 같이 latent map을 직접 조작하는 것이 smoothed 결과를 이끌고 다른 view들에 대해 동일한 weight를 할당하는 것이 view들에 따라 matching point들의 퀄리티가 다양하기 때문에 합리적이지 않기에 poor correspondence에 편향된 모델을 이끈다고 설명한다.
(c)에서는 skip feature에 제약을 걸어준 결과인데, 결과가 좋지는 않다.
Initial Noise Alignment
먼저 multiple views로부터 초기 noise를 align한다. $K$개의 different views로 부터 random noise $\{Z^1_T, \cdots, Z^K_T \}$와 그들 중에 correspondences가 주어지면, $K$개의 view들로부터 noise들의 weighted sum으로 각 reference view의 noise를 다음과 같이 정의한다.
여기서 $Z^{ref,i}_T$는 reference view에서 $i$번째 포인트(앞에서의 key point를 얘기하는 의 noise vector를 나타낸다. $\mathbb{1}^{k,1}_{match}$는 reference view에서 $i$번째 포인트에 대해 $k$번째 view가 matching 포인트를 포함하면 1을 가지는 지시함수이다. $w^i_k$는 $k$번 째 view에 align된 weight를 나타내고 이는 reprojection error $\delta^i_k = \vert D_{ref \rightarrow k} - D_k \vert$에 반비례한다. Weight는 다음처럼 정의된다.
여기서 $\mu$는 다른 view들에 대한 weight 사이의 상대적인 차이를 제어한다. 각 weight는 모든 matching 포인트들에 대한 weight들의 합으로 normalize된다.
Masked Multi-View Consistent Noise Editing
초기 random noise뿐만 아니라, 모든 diffusion steps $t \in [0, \cdots ,T]$에 따라 noise predictions 또한 align한다. $K$개의 다른 view들로부터 noise predictor의 $l$번째 layer feature$\{ F^1_l, \cdots, F^K_l \}, l \in \{1, \cdots,11 \}$가 주어지면 다음 식을 통해 $i$번째 포인트에 상응하는 multi-view noise feature들을 $F^{ref,i}_l$(논문에는 $I_{ref}$라 나오지만 $F^{ref,i}_l$가 맞지 않나...)로 합친다.
게다가 무관한 지역을 수정하지 않고 foreground를 더 정확하게 editing하기 위해, matching과 editing 지역을 제한하는 mask를 도입한다. Mask 내에 correspondence만 유지하고 관계 없는 지역에서의 association은 거른다. 또한 각 denoising step동안 text guidance를 제한하는 mask를 적용하고 다음 수식처럼 noise estimate equation을 수정한다.
여기서 $c_I, c_T, \emptyset$은 image, text, no condition을 각각 나타낸다. $\mathcal{M}_{soft}$는 soft mask를 나타낸다. 여기서 soft mask를 사용하는 이유는 background weight를 0으로 줄이는 것은 foreground에 대한 editing fidelity를 감소시키기 때문이다. Foreground에 대한 weight는 1, background에 대한 weight는 0.5에서 foreground의 중심에서 멀어질수록 0으로 간다.
3.3 Cross-View Pixel-Level Projection
이미지 5(b)를 보면, noise-level alignment는 semantic structure와 low-frequency textures에서의 consistency만 보장할 수 있고 high-frequency 디테일들에서 consistency를 보장할 수 없다. 그렇기에 3D editing에서 smoothed texture를 야기한다.
Cross-View Projection
Editing된 3D scene에서 더 세밀한 texture를 보존하기 위해, pixel-level alignment를 수행할 필요가 있다. 섹션 3.1에서 설립된 dense correspondence를 base로 partial anchor view를 다른 view들에 전파하는 것을 제안했다. 먼저 anchor로 잘 editing된 view $I^e_{anchor}$를 CLIP directional score와 같은 metric들을 이용해 선택한다. 그런 후에, $I^e_{anchor}$를 이웃 view $I^e_k$에 reproject한고 $I^e_k$에 대응되는 픽셀들을 reprojected 픽셀들로 대체한다.
여기서 $M^{val}_k, M^{val}_{anchor}$는 각각 $I^e_k, I^e_{anchor}$에서 depth와 cycle consistency 제약을 만족하는 유효한 correspondence를 나타낸다.
Masked Diffusion Refinement
이미지 5(c)를 보면 cross-view reprojection은 인접한 view들에 대한 fine-grained 디테일에서 consistency를 향상시키는 것을 볼 수 있다. 하지만 이는 새로운 views에서 artifacts를 야기할 수 있다. 이러한 문제를 해결하기 위해, 다음과 같이 editing된 view $I^e_k$를 2D editing model에 넣음으로써 masked refinement를 수행한다.
위 수식은 original image 대신에 editing된 image를 image condition으로 사용한다. 또한 text guidance는 anchor view에 의해 대체되지 않은 지역($M^{fore}_k - M^{val}_k$)에만 적용된다. 이미지 5(d)에서처럼 masked refinement를 통해, $I^e_{anchor}$는 $I^e_k$의 unprojected 지역에 통합된다.
3.4 3D Representation Optimization
앞선 방식으로 structure와 appearance에서 둘다 consistent한 editing 결과를 만들고, 이렇게 모든 view들에 대한 editing된 결과를 가지고 3D representation에 2D edit을 주입하기 위해 3D model을 1000~2000 iteration으로 먼저 학습시킨다. 그 후에 IN2N 논문에서의 iterative refinement 방식을 사용해서 3D representation 더 강화한다. 여기서 본 논문의 방식과 IN2N의 다른 점은 일단 IN2N은 초반 optimization step때의 multi-view image edit들이 상당히 inconsistent하다는 것이다. 반면에 본 논문의 방식은 일단 multi-view consistent 2D edit을 먼저 생성하고 그 후에 더 미세한 디테일들을 적용시키기 위해 iterative refinement 프로세스를 적용한다.
4. Experiments
4.1 Qualitative Results
이미지 1을 보면 본 논문의 방식이 original scene의 geometry나 shape가 명백한 변화를 할때에도 multi-view consistency를 보인다. 또 헐크나 스파이더맨, 토르의 예시를 보면 더 미세한 디테일들을 볼 수 있다. 이는 본 논문의 방식이 pixel-level projection을 통해 인접한 frame에 대한 consistency를 강요하기 때문이라고 설명한다.
이미지 6에서는 IN2N과 GaussianEditor와 비교한 결과를 보여준다. SyncNoise가 input textual instruction에 더 충실한 realistic하고 consistent한 edit을 보인다. 또 더 multi-view consistent하고 fine-grained texture를 성공적으로 editing한다. 그리고 editing prompt를 더 잘 따르는 것을 볼 수 있다. SyncNoise가 pixel level에서 local texture consistency를 향상시킬뿐만 아니라 noise level에서 global 구조적, 외형 consistency를 강요하기에 더 좋은 editing 결과를 보인다고 설명한다.
이미지 9는 IN2N과의 추가적인 비교 결과이다.
4.2 Quantitative Comparison
IN2N과 비교해서는 더 좋은 퀄리티를 보이면서 더 짧은 시간을 필요로 한다. GaussianEditor와 비교해도 더 좋은 결과를 보인다. 또 GaussianEditor는 original scene의 부분적인 3D points의 업데이트를 제한하는데 이로 인해 instruction을 엄청 잘 따르지는 못한다고 한다.
4.3 Ablation Study
Noise alignment만 있을 경우, edit이 geometrical하게 align은 되지만 몇 detail들을 잃는다. 또 cross-view reprojection만 있을 경우, 인접한 frame들에 대해 local consistency가 유지되지만, coverage와 completeness가 부족하다.
5. Limitation
2D diffusion model에 의존하기 때문에, 3D editing의 퀄리티와 prompt에서의 flexibility가 제한된다. 또한 3D shape와 geometry를 수정하는 데에서 제한된 능력을 가진다. 마지막으로 SyncNoise는 복잡한 장면, 특히 복잡한 geometry들을 가진 장면들에 대해 힘들어한다.