반응형
내 맘대로 Introduction
2023.10.19 - [Reading/Paper] - Neural Fields as Learnable Kernels for 3D Reconstruction
이전 두 논문, 즉 PCD를 MLP 기반 function으로 만든 kernel로 mesh하는 논문의 가장 끝판왕 논문이라고 할 수 있다. 사실 이 논문을 이해하기 위해서 위 두 논문을 연달아 보았다.
이 논문 역시 한 마디로 정리하면 NKF처럼 point xyz + feature를 이용하여 neural kernel을 만들어내는 것인데 이 때 point feature를 multi resolution으로 사용하겠다는 차이가 있다. 사실 coarse-to-fine 개념을 어디서든 끝판왕 버전에서 등장하는데 똑같이 feature를 multi resolution으로 뽑아 feature 효율을 높이고 generalization 성능을 높이겠다는 전략이다.
큰 컨셉 차이는 없어보이는데, 뒤에 kernel ridge regression할 때, 사용하는 수식이 조금 다른 듯 하다.
메모하며 읽기
그림에서 알 수 있다시피, NKF랑 전체 과정이 완전 동일하다. 다만 point feature를 뽑는 부분이 multi resolution화 되었다는 것과 feature 뽑을 때 normal도 같이 뽑아낸다는 정도의 변형이 있다. normal을 같이 뽑는 이유는 수식 전개할 때 multi resolution에 대응되는 normal값이 있어야 matrix를 만들 수 있는데 interpolation해서 처리하기엔 성능 저하를 우려한 것 같다. |
3D Convolution을 이용해 point feature 뽑고 multi resolution voxel grid를 전부 다 채운다. 그리고 각 resolution에 대응되는 kernel을 계산하는 순서다. |
L개 resolution을 사전에 정의해서 사용하고 각 resolution은 2^3배씩 부피가 줄어드는 octree같은 구조이고 상위 level voxel 안에 하위 level voxel이 쏙 들어가는 구조다. 각 voxel은 feature와 동시에 normal 값들을 들고 있도록 한다. |
|
kernel method 적용한단 소린데, NKF 랑 달리 Bezier kernel이 달린다. 어떤 이유에서 넣었는지는 모르겠다. 의미를 설명한 부분은 없다. 나와있는 설명으로는, 뒤에 kernel ridge regression을 풀 때 , system이 sparse해진다고 한다. (무슨 의미를 갖는지...? 수학 잘해야 알듯) |
|
수학적으로 증명까지 이해하지 못해서 설명할 내용이 없음. 그냥 이렇게 풀었다더라; 추가적으로 특정 level의 특정 voxel이 가치가 있는지 없는지 예측하는 모듈을 중간에 끼워서 사용하기도 했다고 한다. |
|
앞에 feature를 뽑는 모듈 학습 방법은 surface 주변, surface 멀리를 나눠서 SDF를 직접 supervision해주거나 SDF gradient로 supervision을 걸어주는 식이다. 학습 데이터가 이미 mesh로 주어진 상황이기 때문에 사용할 수 있는 loss는 사실 상 다 넣은 듯. |
반응형