상세 컨텐츠

본문 제목

[Paper review] Improving neural implicit surfaces geometry with patch warping

Paper review

by 최끝장1234 2022. 3. 18. 13:24

본문

이번 포스팅은 3D Reconstruction 관련 최신 모델 중 Neural implicit surface 계열NeuralWrap에 대해서 설명하려고 한다. 논문을 읽으면서 기존의 NeRF 계열(Neural radiance field)의 모델들과 비슷하면서 약간은 색다른 느낌을 주기도 했다. 

 

논문의 초록에서는 여타 논문들과 비슷하게 기존 모델들의 한계점을 제시한다. 기존의 Neural implicit surfaces 기반의 모델들 (NeRF는 이 계열에 해당하는 모델인지는 찾아봐야겠다..), VolSDF와 같은 모델의 주요 한계점high frequency texture를 neural network를 통해 만들어내기가 어려웠다는 점이다. 이제 논문에서 어떤 구조의 모델과 방법론을 활용하여 문제를 해결했는지 하나씩 살펴보자.

 

논문참조

 

일단 모델의 구조에 대해서 설명하면, 모델을 이루는 핵심적인 Network두가지이다. 위 그림의 오른쪽에서 확인할 수 있듯이, Geometry networkRadiance network이다. 

 

Geometry network는 ray sampling을 통해 뽑아낸 point의 Geometry한 특성을 뽑아내는 network로, 3D 좌표인 xiinput으로 들어가면 ni, ai 가 나온다. 여기서 ni는 surface normal vector을 말하고, ai는 occupancy(0~1)를 말한다.

Radiance network는 point에서의 color를 예측하는 network로, xi, ni, d (viewing direction)이 들어가면 그 point에서의 color인, ci가 나온다. 

참고로 위 두 network 모두 MLP를 사용한다.

구조는 이게 끝이다,,, 논문은 이제 이러한 두개의 network를 가지고 어떤식으로 3D image를 rendering하는지 설명한다.

다음과 같이 크게 두가지 방법론을 적용한다.

 

1. Volumetric rendering of radiance field

2. Path Warping

 

먼저 첫번째 방법론에 대해서 설명을 하면, 아래 식과 같이 단순히 network를 통해 구한 각 sampling된 point들의 color를, 대응하는 occupancy를 가중치로 사용해 weighted sum을 해주는 방식이다. 여기서 occupancy가 클수록 rendering에 더 많이 기여를 한다. 아래 식에서 p는 pixel을 말하고, R은 rendering 하고자하는 Reference Image를 말한다.

첫번째 방법론, 논문참조

첫번째 방법론을 활용하여 논문에서는 network 훈련시에 사용하는 rendering loss를 계산한다. 다음과 같다.

논문 참조

논문에서는 첫번째 방법론만 사용할때는 기존 모델처럼 여전히 high frequency texture에 대한 어려움이 존재했다고 말하면서, 두번째 방법론을 적용했다고 한다. 

 

다음으로 두번째 방법론은 이 논문의 핵심적인 아이디어라고 할 수 있다. 여기에는 Patch warping이라는 개념이 들어간다. 한마디로 설명하자면 rendering 하고자 하는 이미지 외에 다른 view에서 본 이미지(source image)의 color 정보patch 단위로 직접적으로 반영을 하는 것이다. 아까 논문의 그림을 보면 더 쉽게 이해할 수 있다. 

구체적인 방법론에 대해서 알아보자. 

 

논문참조

 

다른 view에서 본 source 이미지를 반영을 하려면 결국, 현재 ray sampling한 point 각각과 대응하는 source image의 location을 찾아야 한다. 이를 가능하게 해주는 것이 위 식, Hi이다. 식은 굉장히 난해해 보이지만, 3D 그래픽스의 개념을 충실하게 따라간 것이다. K는 camera celebration이고, t는 translation, R은 rotation matrix이다. 이들은 모델을 학습하기 전에 이미 정해지는 값들이다. 

이런식으로 Hi를 구하면 Hi와 rendering하고자 하는 이미지의 Patch의 위치, P와 행렬곱하여 source이미지에서 어떤 patch를 ray sampling한 point에서 적용할건지 구할 수 있다. 이러한 방식으로 sampling point에서 반영할 source image의 patch들이 모두 정해지면, 아래와 같이 occupancy를 가중치로 사용해 가중합하는 방식으로 patch단위의 예측된 rendering 이미지가 완성된다. 

논문참조

논문에서는 이와 같은 두번째 방법을 이용해 다음과 같은 Warping-based loss를 계산한다.

논문 참조

여기서 d는 SSIM으로, rendering한 patch와 정답 patch사이의 photometric distance를 계산하는 역할을 한다.

그런데 위 식을 보면 Ms[P]라는 당최 처음보는 term이 하나 보인다. 이 term은 mask를 의미하는 것으로, rendering한 patch를 loss에 얼마만큼 반영할지를 결정한다. 이러한 mask가 필요한 이유는 필연적으로 모든 patch들이 valid하지는 않기 때문이다. 가령 기하학적으로, source 이미지만 가지고는 rendering이 매우 어려운 경우들이 존재할 수 있다.

 

논문에서는 이처럼 patch들이 valid하지 않을 수 있는 경우를 크게 두가지, projection과 occlusion으로 나누어서 이들 각각의 경우에 대해 patch가 얼마나 해당되는지 수치적으로 계산하고, 이 둘의 값을 곱한 값을 Ms[P]로 정의한다. Ms[P]는 soft mask로써, 0~1사이의 값을 가진다. (미분가능→ loss로 활용가능)

 

이제 모델을 훈련하기 위한 network, loss까지 알아보았다. 모델을 어떤식으로 훈련하는지에 대해서 간략히 알아보자.

먼저 최종 loss는 다음과 같다. 참고로 마지막 eik loss는 geometry network의 학습을 도와주는 역할을 하는 부가적인 loss이다. 

 

논문 참조

초기에는 Lwarp의 가중치를 0으로 하고 훈련한다. (100k iteration) 그리고 Lwarp을 추가해서 finetuning 한다. (50k iteration)

 

마지막 NeuralWrap의 결과를 한번 살펴보자.

논문참조

NeuralWrap과 대응하는 Neural implicit surface 계열 기존 모델 중 VolSDF와 결과를 비교한 것인데, 쉽게 확인할 수 있듯이 fine한 detail까지 기존 모델과 달리 Neural Wrap는 잡아낼 수 있다는 것을 볼 수 있다. (가장 오른쪽 결과 참조)

논문참조

위 결과는 앞서 설명한 NeuralWrap의 다양한 방법론이 정말 효과적인지 확인한 실험으로, 모든 방법론을 사용했을때 가장 좋은 성능을 낸다는 것을 확인할 수 있다.

 

논문을 읽으면서 물론 좋은 성능을 내고, source 이미지를 직접적으로 반영한다는 점에서 흥미롭게 볼 수 있었지만, 한편으로는 한계점이 눈에 보였다. 내가 생각한 첫번째 한계점은 source 이미지가 적절하게 존재하지 않으면 거의 성능이 나오지 않을 것 같다고 생각했다. source 이미지의 color값을 직접적으로 반영하기 때문에 당연하다. 두번째 한계점은 general한 모델이 아니기 때문에, 초기 NeRF와 같이 scene에 대한 optimization 시간이 길게 걸리지 않을까라는 생각이 들었다.

저번 paper에서 리뷰한 Point-NeRF의 개념을 적용하면 개선 가능성이 있지 않을까라는 생각이 조심스럽게 든다.

 

다음은 논문 주소이다. 관심있는 사람들은 참고 바란다.

https://arxiv.org/abs/2112.09648

 

Improving neural implicit surfaces geometry with patch warping

Neural implicit surfaces have become an important technique for multi-view 3D reconstruction but their accuracy remains limited. In this paper, we argue that this comes from the difficulty to learn and render high frequency textures with neural networks. W

arxiv.org

 

 

관련글 더보기

댓글 영역