LLM과 3D 조합된 논문을 보다가, 제가 일전에 리뷰하던 NeRF 관련 3D 생성 분야와 LLM이 합쳐진 논문이 있어 리뷰합니다. 2024년 NeurIPS에 올라온 논문입니다.

1. Introduce

본 논문은 NeRF의 장점을 활용해 직접 처리할 수 있는 MLLM을 수행할 수 있는 새로운 기술을 소개했습니다. NeRF의 MLP 가중치를 직접 처리해 NeRF 캡션 생성, Q&A, 분류 등과 같은 작업을 수행할 수 있으며, 기존의 렌더링 없이 MLP 가중치에서 직접 정보를 추출하기 때문에 빠른 속도로 처리가 가능하다고 합니다. 캡션은 ShapeNet 데이터셋에서 훈련된 NeRF를 대상으로 자동화된 캡션 생성 프레임워크를 설계했고 추가로 텍스트 설명 데이터셋도 추가하여 더욱 정밀하게 평가가 가능합니다.

 

 

MLP 기반의 NeRF를 사용했으며, 기존 방법들은 NeRF로부터 이미지나 3D 데이터를 렌더링하고 추출하여 사용했지만, 이는 시간이 오래걸리기 때문에 LLaNA는 이러한 과정을 건너뛰고 NeRF의 MLP 가중치를 직접 입력하여 처리했습니다.

 

NeRF의 MLP 가중치를 임베딩 공간으로 프로젝션하고 이를 통해 NeRF의 정보를 LLaMA 2같은 Pretrained LLM이 이해할 수 있는 형태로 변환해, Pretrained LLM을 통해 캡션 생성, Q&A, 제로샷 분류를 수행할 수 있습니다.

 

2. Method

 

2.1 Neural Radiance Fields (NeRF)

MLP 기반 NeRF를 통해 출력되는 MLP 가중치(W)와 바이어스(b)를 사용합니다. 가중치에는 객체의 형상(Geometry)와 객체의 외형(Appearance) 가 포함되는데, 형상에는 3D 공간에서의 구조적 정보, 외형에는 각 좌표에서의 색상 정보가 포함됩니다. 

이러한 출력값 (W와 b)을 하나의 행렬(M)로 변환시켜 다음 단계로 입력시킵니다.

 

2.2 Meta-encoder

메타 인코더는 nf2vec 기반을 사용하는데 NeRF의 가중치를 입력으로 받아 전역 임베딩을 생성하는 역할을 수행합니다. NeRF에서 들어온 가중치, 바이어스 행렬인 M의 각 행을 독립적으로 처리해 S개의 토큰을 생성하고,  Max-Pooling하여 전역 임베딩g로 요약합니다, 이 전역 임베딩 g는 NeRF 전체 가중치에서 형상과 외형정보를 포함합니다. 

전역 임베딩 g를 기반으로 Decoder가 생성한 이미지와 원래 NeRF로 부터 렌더링된 이미지간의 차이를 최소화하도록 학습합니다. 이를 통해 g가 NeRF의 중요한 정보를 효과적으로 압축하게 됩니다. 

 

2.3 Large language and NeRF assistant

메타 인코더를 통해 출력된 전역 임베딩 g를 Pretrain된 LLaMA 2 LLM의 텍스트 임베딩 공간으로 투영 레이어 변환합니다. 투영 레이어는 NeRF 임베딩 g와 LLaMA 2의 텍스트 임베딩 공간 간의 차원을 맞추기 위해 사용합니다.

G : g의 길이(1024), T : LLaMA2의 단어 임베딩 차원

이러한 투영 레이어는 (⟨nstart,ϕ(g),nend,w1,w2,,wk) 형태의 Special 토큰으로 감싸져 LLaMA 2에 입력되고, 학습됩니다. Special 토큰은 NeRF 데이터를 텍스트 데이터와 명확히 구분하기 위해 사용합니다.

 

3. Experiment

4. Conclusion

본 연구에서 사용된 Meta Encoder인 nf2vec은 ShapeNet에서 생성된 데이터로만 사전 학습됐기 때문에, 실제 객체에 대한 일반화 성능이 떨어질 수 있습니다. 또한 MLP 기반의 NeRF를 사용했기 때문에 InstantNGP 같은 더 복잡한 아키텍쳐는 지원하지 못합니다. 추가적으로 LLaNA 는 객체 중심의 NeRF만 테스트했기 때문에 전체 장면을 표현하는 NeRF에는 적용되지 않아 추가적인 연구가 필요합니다. 

 

+ Recent posts