Paper/Others

Improving 2D Feature Representations by 3D-Aware Fine-Tuning

침닦는수건 2024. 9. 11. 11:33
반응형

내 맘대로 Introduction

요즘 foundation model이 온갖 feature extraction을 대체하고도 남을 정도로 잘 되다보니까 foundation model에서 나온 feature 갖고 노는 법, 업그레이드하는 법 같은 논문이 자주 보이는 것 같다.

 

이 논문은 DiNOv2를 예시로 썼지만 foundation model에서 나온 2D feature를 3D-aware형태로 튜닝하는 방법론을 설명한다. 2D 이미지를 어마어마하게 먹어서 어느 정도 3D-aware라고 "할 수도" 있겠지만 명시적으로 3D를 보고 배운 것이 아니기 때문에 아쉬운 점이 있다. 

 

3D feature gaussian을 2D feature + camera pose로 학습시킨 뒤, 이를 이용해 다시 각 view의 2D feature를 튜닝하는 식이다. 크게 보면 multiview-feature aggregation한 뒤, 다시 each singlview를 튜닝하는 self-supervised에 가깝다. 

 

암묵적으로 2D feature 안에 있는 3D 관련 feature들만 공통적으로 3D feature gaussian 안에 남기를 기대하고, 이를 다시 2D 로 내려주는 형태다. 

 

아무리 이렇게 노력해도 2D Foundation model이 먹은 2D 데이터에 비할바는 아니니까 concat해주는 식으로 쓴다. 

 

메모


그림 한 방으로 이해가 된다. 

1) 2D feature + camera pose로 3D feature gaussian 학습

2) 다시 projection해서 2D model finetuing.

간단한 아이디어지만 구현이 필요한 부분이 많고 memory-intensive 라서 감히 도전할 생각을 했다는게 대단. 구글이니까 가능한 듯.

방법론이다 보니 2D foundation model만 바꾸면 다 가능함. (이걸 다했다니....)

3D representation 이 MLP도 있고, tri-plane도 있고, gaussian도 있고 다양한데 이런 방식이 시간 소모와 메모리 소모가 큰 방식이다 보니 최소화 하기 위해 3D GS를 선택함

기존 3DGS 파이프라인에 feature rasterizer를 직접 구현해서 끼워넣는 식으로 구현함
D=64 dimension의 3d feature가 할당되고 learanable이어서 2d feature guidance를 통해 수렴함.

이를 다시 2d 로 내리는 것은 기존 3DGS alph blending을 따름.

DiNOv2 같은 경우 feature dimension이 384고 요즘 나온 sapiens는 1536까지도 가니까 feature dimension을 그대로 쓰면 메모리가 터짐

그래서 일단 줄이고 2d level에서 decoding하는 CNN을 붙여서 커버함.
(뒤에 보면 single layer conv)
rasterize 후 loss는 rgb ,feature 레벨에서 총 2종류다. 

rgb loss를 유지하는 이유는 rgb photometric loss가 3D geometry를 유지하는데 크게 기여하기 때문이다. 

feature로만 수렴시키면 실제 3DGS가 geometry에 상관없이 수렴할 가능성이 있으므로 3d-aware랑은 멀어진다고 한다.
----------

따라서 3d feature parameter를 제외한 것은 그대로 rgb loss로 수렴시키고, 3d feature parameter만 2d feature loss로 수렴시켰다고 한다.
학습은 매 scene마다 3DGS를 불러오고 렌더링하면서 loss 계산을 해야하기 때문에 엄청 느리다.

그나마 완화하기 위해서 CPU 메모리에 scene을 미리 올려두고 epoch 수도 줄여서 튜닝했다고 한다.

(적은 수 epoch으로도 괜찮다고 했는데, 진짜 그런건지... 메모리 때문에 그냥 그렇게 한건지...)


segmentation과 depth 를 대상으로 feature의 효과를 분석함

feature 논문은 이게 어려운 듯. 다양한 task의 성능 향상 정도로 평균 평가해야하니까 시간이 오래걸리는 듯.

-----------

230개 scene에 대해서 했다고 함.

이것도 대단하다.

반응형