반응형
내 맘대로 Introduction
이름 그대로 deferred shading을 neural network로 대체한 것이다. deferred shading이란 내용 자체는 geometry -> rendering 과정에서 pixel 값을 직접 계산하는 것이 아니라 geometry -> position,normal,depth -> rendering 순서로 계산하는 방식을 말한다. 직접 바로 계산하는 pixel shading과 달리 중간 산물을 만들고, 중간 산물로 shading을 하는 식으로 "지연"시켰다는 의미로 deferred shading이라고 불린다.
이 내용을 가져와서 multiview image에서 geometry를 만들어내는데, estimated geometry -> position, normal, depth -> shading (<-> loss) 라는 과정이 위 언급한 deferred shading과 동일하기 때문에 neural deferred shading이라고 명명한 듯 하다.
핵심 내용은 multiview reconstruction을 최적화 방식으로 수행하는 논문이다. differentiable rasterizer를 활용한 논문들하고 거의 유사한데 normal, depth까지 이용한다는 차이점이 있다고 보면 된다.
(다 읽고 보니 differentiable rasterizer + NeRF MLP + shading 붙인 내용)
메모
|
1) 이미지, mask, Mesh (rough init) 들이 입력, geometry 복원만 목표 2) diff. rasterizer(Mesh)로 rendered mask 생성, mask 비교 3) mesh vertex, rendered normal, view direction 입력으로 하는 NeRF MLP 학습, rendered rgb <-> rgb 비교 gradient 흘려보내면 geometry가 변한다. position,x가 업데이트 되면 diff.rasterizer에 의해 normal을 자동계산. |
|
앞의 mesh to rasterized mask, normal 부분들을 기존 diff.rasterizer를 썼기 때문에 생략된 것 같다. 이어 따라 붙는 NDS 설명이 되어있는데 사실상 NeRF MLP랑 완전히 동일하다. position 들어가고, 중간에 normal, view direction 받아 rgb 찾는 순서. 결과 값은 pixel로 shading할 때도 NeRF랑 사실 상 동일 (NeRF가 애초에 shading 방식을 따르니까 동일한 것 같음) |
사용하는 cost function은 수식(2)와 같은데 핵심은 저 안에 들어가는 geometry, G도 updatable 상태라는 것이다. 입력이지만 gradient가 흘러들어가기 때문에 업데이트 됨. |
|
앞의 appearance cost는 rgb l1 loss, mask l1 loss다. masked image 간의 cost를 구할 수도 있었는데 (I*M <->I'*M') 이 방식은 gradient 계산이 가벼운 mask를 계산이 무거운 이미지랑 엮어서 연산량을 늘릴 필요가 없다고 판단해서 그랬다고 한다. 즉, 연산량 증가 때문에 분리. |
|
수식(2)와 같이만 디자인하면 mesh vertex가 발산하듯이 변할 것이 뻔하다. 그럴 듯한 mesh vertex 변형을 유지하기 위해서 regularization 필수 1) laplacian cost : 2차미분 값이 0에 가깝도록, 변화가 완만하도록 억제, 부드러운 표면 강제함 2) normal consistency cost : 비슷한 맥락으로 서로 같은 face를 구성하는 vertex끼리는 normal이 같도록 강제함. 부드러운 표면 강제. ---------------- 개인적인 생각이지만 smooth surface를 강제하는 regularization이 2개나 걸려있기 때문에 각진 물체 복원에 불리할 것 같다. 혹은 안이 파여있어 곡률이 심하게 변하는 물체에 불리할 듯. |
최적화 팁은, 처음부터 face 많은 mesh로 시작하면 잘 안되니 최적화 과정에 비례해서 face를 쪼개 점점 dimension이 높은 mesh로 변형시켜가며 최적화 하는게 좋다고 한다. face subdivision 하는 듯. |
반응형