Paper/Human

[Human] StereoPIFu: Depth Aware Clothed Human Digitization via Stereo Vision

침닦는수건 2023. 4. 5. 22:07
반응형

StereoPIFu: Depth Aware Clothed Human Digitization via Stereo Vision

내 맘대로 Introduction

제목 그대로다. PiFU가 좋은 성능을 보여줬다고 한들 single view이기 때문에 문제가 많다. 애초에 depth ambiguity 때문에 풀 수 없는 것이 single view 3D reconsturction인데 이를 데이터에 의존해서 풀어낸 것이기 때문에 분명 한계가 있는 방법이다. 해결 방법은 multiview 정보를 쓰는 것 뿐인데 이 논문은 그 multiview를 two view로 한정해서 푼 논문이다. two view, 즉 stereo는 아직까지 타협할 수 있는 정도의 카메라 세팅이기 때문에 좋은 접근이라고 생각했다. 

 

stereo 세팅을 사용하면 depth ambiguity가 더 이상 없기 때문에 이 논문은 perspective projection 카메라를 그대로 사용하고 3D volume도 그대로 사용한다. 그리고 disparity를 얻어 전면 depth를 얻고 시작할 수 있는 세팅이기 때문에 front depth를 추정하여 활용한다. 알고리즘의 전체 흐름은 PiFU와 갖고 pixel aligned feature만 사용할 수 있는 것이 아니라 이제는 volume aligned feature도 사용할 수 있기 때문에 이를 추가했다. 

 

핵심 내용

전체 흐름은 3가지 입력 준비 -> occupancy MLP 학습으로 이루어진다. 3가지 입력은 각각 pixel aligned feature, voxel aligned feature, relative depth이다. pixel aligned feature를 PiFU와 동일하다. 

 

voxel aligned feature는 stereo에서 cost volume을 만드는 방식과 동일하게 만든다. disparity를 정한 범위 내에서 (예를 들어, 1~192) disparity를 바꿔가며 left feature와 right feature 간의 차이를 쌓은 형태다. D channel 이 num(disparity)가 되겠다. 

이렇게 만들어진 initial cost volume을 3D stacked hourglass network를 통과시켜 최종 feature volume으로 만든다. 이 volume 상의 한 voxel을 공간 상의 한 3D 위치 정보를 encoding하고 있다고 볼 수 있고 voxel aligned feature 역할을 한다. 

 

그림의 마지막에 무언가 곱해지는 듯한 모습을 볼 수 있는데 이것은 마지막 입력인 depth를 만드는 과정에서 나온 confidence map을 곱하는 것이다. visibility를 이용하여 weighting해주기 위함이다. 

 

세번째 입력은 진짜 depth다. 스테레오 세팅이다 보니 좌우 disparity를 구하면 depth를 얻어낼 수 있는데 이를 이용하여 human front depth를 먼저 얻고 시작하는 것이다. AANet+를 이용하여 사람의 front depth를 추정한다. 동시에 dispairty 별 confidence도 예측하도록 한다.

 

PiFU에 사용되던 depth, z와 같이 직접 real scale depth, z를 던져줄 수도 있지만 스테레오 세팅의 장점을 살려 front depth를 알 수 있는 상황에서 front depth + offset 형태로 사용하는 것이 더 효과적이라고 판단해서 이렇게 했다고 한다. 실제로 효과도 더 좋았고.

 

다시 말하면 front depth 뽑고 front depth 대비 offset을 MLP의 세번째 입력으로 넣어준다. 

참고로 (이해가 안되었는데) occluded region에서 이러한 front depth + offset을 사용하는 기법은 불연속적인 값을 보이기 때문에 위와 같은 transformation function을 씌워준 뒤 사용했다고 한다. 

 

loss는 세번째 입력을 만드는 과정에서 disparity supervision이 필요하고 

메인이 되는 MLP를 학습시킬 때 필요한 3D supervision이 필요하다.

 

Results

multiview contraints가 추가된 모양이기 때문에 PiFU가 계속 겪던 side로 늘어지는 효과가 사라졌고 디테일도 더 살아났다고 한다.

이해 못했다던 그 transformation function 씌워서 depth offset을 사용하는 논리가 위 사진과 같이 안 보이는 back side의 디테일을 살리는데 기여했다는 결과도 보여준다.

PiFU 대비 정량적으로 더 나은 결과를 보인다고 한다. 

반응형