공동 1저자 : Ben Mildenhall, Pratul P. Srinivasan, Matthew Tancik - UC Berkeley
Jonathan T. Barron - Google Research
Ravi Ramamoorthi - UC San Diego
Ren Ng - UC Berkeley
https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123460392.pdf
https://arxiv.org/abs/2003.08934
발표자 : 이형민 (2021.02.09)
View Synthesis란
N대의 카메라를 통한 Input으로 임의의 시점에서 본 대상의 모습을 합성하는 것
Depth에 따라 카메라의 먼 곳에 위치한 물체는 많이 이동하지 않는 반면 가까운 것들은 많이 움직이는 현상이 보임.
=> Parallax Effect
3D Space에 대한 Analysis가 필수적
parallax scrolling
https://ko.wikipedia.org/wiki/%EC%8B%9C%EC%B0%A8_(%EC%B2%9C%EB%AC%B8%ED%95%99)
Pinhole Camera Model (PR-228 GeoNet) 참조
실제 세상의 물체의 깊이가 존재한다. (이미지 상의 관계가 존재)
상대적인 길이 정보 비교는 가능하지만 실제로 몇 m, 몇 km인지를 알기위해서는 카메라의 정보가 필요
3D를 2D로 Projection 시키기 위한 Normalized Plane
초점을 보통 0,0으로 잡음
Normalized Coordinate에서는 중앙이 0,0이다. 이는 슬라이드 8의 초점의 위치
그러나 Image Coordinate에서는 왼쪽 상단 모서리가 0,0이다.
중심점의 위치가 다르기 때문에 이를 shift하기 위해 $c_x, c_y$가 존재
3D를 2D로 Projection
=⬆⬆⬆=여기까지 행렬을 통해 카메라 위치로부터 이미지로 담는지에 대해 설명=⬆⬆⬆=
NeRF 설명
N개의 시점에서 찍은 2D 이미지를 활용
가령 100개의 이미지가 존재할 때 80개로 훈련, 20개로는 Ground Truth와의 비교
물체를 3D로 나타낼 수 있는 하나의 방법 Neural Radiance Field를 제안
Point cloud가 대표적인 다른 예시
Neural Radiance Field : (x,y,z)라는 input을 주면 해당 위치의 RGB 값을 반환하는 함수
3D는 방향에 따라 다른 색을 가질 수 있음. 때문에 input으로 각도(방향)을 주는 것
$\sigma$ (density, 밀도) 투명도의 역 개념
일종의 Zero-shot learning
초점으로부터 Ray 직선을 정의하여 이미지의 Pixel을 정의
$T(t)$ : t지점까지의 density를 적분한 값의 마이너스를 지수로 갖는 지수함수 : weight
(가려지면 안보이는 것을 위해 안배한 장치)
t지점까지의 density가 높다면 T는 낮을 것
t지점까지의 density가 낮다면 T는 높을 것
카메라로부터 t지점까지 어떤 물체 A를 확인할 때, 중간 특정지점에 물체 B가 가로 막는다고 가정.
A의 입장에서는 B가 가리고 있으므로 보이지 않을 것이다.
즉, 밀도적 측면에서 A에 도달하기에 앞서 B까지의 밀도가 이미 큰 상황.
결과적으로 T(t)의 값(=weight)이 낮아짐.
C(r)를 discrete한 형식으로 보일 필요가 있음
sampling 필요
uniform dist로 뽑은 N등분의 t
논문에 기반한 수렴성을 확인.
2개의 Network : Coarse Network, Fine Network
Coarse Network 훈련 후
중점적으로 더 많이 봐야하는 곳.
즉, 높은 Density가 존재하는 곳에서 $N_f$만큼의 sampling 후 finer network에서 훈련을 진행
보지 못했던 곳에서 선명하게 나오지 않는 단점이 있음.
p : (x,y,z) 중 하나
차원을 늘려서 넣음.
https://www.matthewtancik.com/nerf