논문링크 : The One Where They Reconstructed 3D Humans and Environments in TV shows

Implementation : https://github.com/ethanweber/sitcoms3D

오늘 소개드릴 페이퍼는 ECCV 2022에 accept된 The One Where They Reconstructed 3D Humans and Environments in TV shows입니다.



1. Abstract & Introduction

    본 페이퍼는 앞서 설명드린 multishot(2022)과 유사하게, edited video를 학습 데이터로 사용하기 위한 방법들을 소개하고 있습니다. The One Where They Reconstructed 3D Humans and Environments in TV shows(이하 Sitcom3D)에서는 edited video 중 시트콤에 특히 집중하여 human mesh를 reconstruction하는 end-to-end 네트워크를 소개하고 있습니다.



2. Method

2-1. Camera estimation

    우선, Sitcom video로부터 카메라 파라미터(intrinsic, extrinsic)를 얻기 위해 SfM 파이프 라인을 사용합니다. 해당 페이페에서는 COLMAP을 사용하여 카메라 파라미터를 estimate해주었습니다. 이 때, COLMAP 학습에 모든 frame을 사용하지 않고 shot boundary 근처의 frame만 사용해주었는데(by shot detection), 이를 통해 viewpoint의 variety를 증가시키고 연산량을 합리적으로 줄일 수 있었다고 합니다.

    또한, 시트콤의 특성상 같은 배경에 다양한 배우가 등장하게 되는데, 이러한 시트콤의 특징이 COLMAP의 output에 좋지 않은 영향을 미칠 수 있습니다. 따라서 Mask R-CNN을 사용하여 human에 대해 mask를 씌워주었습니다. 이후 각 이미지들을 human이 덜 나온순서대로 sorting하고, stage를 3개로 나누어 각각 25%, 50%, 100%의 image를 사용하여 COLMAP을 optimize 해주었습니다. 이렇게 얻어진 카메라 파라미터는 shot boundary 이외의 다른 frame에 동일하게 사용됩니다.


2-2. Dense structure

    저자들은 SfM으로 얻은 카메라 파라미터 이외에도, NeRF based의 model을 사용하여 주변 structure들에 대한 density를 estimate합니다. 시트콤의 경우, structure가 static하지 않고 각종 잡동사니들이 올려져있는 경우가 많은데, 기존 dense reconstruction method들은 static scene을 가정하기 떄문에 시트콤 환경에 사용할 수 없습니다. 따라서 저자들은 NeRF-W라는 모델을 사용하여 density를 예측하게 되는데, 해당 모델은 이러한 varying appearances를 다루는 데 특화되어 있습니다. 이후, NeRF-W 역시 모든 이미지를 사용하지 않고 viewpoint variety를 최대화할 수 있는 auto selection method를 사용하여 일부의 이미지만 selection한다고 합니다. 아마 이 부분은 앞서 설명드린 shot detection 알고리즘을 통해 shot boundary의 이미지를 사용한다는 의미인 것 같습니다.


    이러한 과정을 통해 structure에 대한 density를 얻을 수 있게 됩니다.


2.3 Calibrated multi-shot human reconstruction

    이후에는 지금까지 얻은 camera parameter와 density를 바탕으로 3D reconstruction을 진행합니다. 해당 페이퍼에서는 shot boundary에 있는 프레임과, 그렇지 않은 프레임으로 총 2가지의 case를 나누어 reconstruction을 진행하였습니다. 그 중 shot boundary에 있는 frame에 대한 경우부터 먼저 소개드리도록 하겠습니다.

    edited video에서 가장 challenging한 부분이 바로 shot change입니다. shot이 바뀔 때마다 인물에 대한 클로즈업 및 카메라의 갑작스러운 위치 변환으로 인해 human 3D mesh가 제대로 recon되지 않는 문제가 있으며 tracklet도 끊깁니다. 이전 연구에서는 이러한 부분을 해결하기 위해 re-ID model을 사용하였으나, 인물이 계속 등지고 있는 경우 이 또한 제대로 동작하지 않았습니다. 따라서 저자는 이를 해결하기 위해 Calibrated multi-shot human reconstruction라는 새로운 approach를 제안합니다.

    일단 shot boundary를 기준으로 앞 frame을 $t$, 뒷 frame을 $t+1$이라고 해보겠습니다. frame $t$에서는 총 $M$명의 배우들이, $t-1$에서는 총 $N$명의 배우들이 등장한다고 했을 때, $M$과 $N$은 같을 수도 있고 다를 수도 있습니다. 따라서 저자들은 shot boundary 근처에 있는 actor들의 3D mesh를 matching시켜주기 위해 Hungarian matching알고리즘을 사용합니다. 이 때, matching cost는 SMPLify의 objective를 그대로 사용하였으며, 추가적으로 3D consistency에 대한 term을 추가해주었습니다.


    그럼 matching cost는 다음과 같이 표현될 수 있습니다. SMPLify와 Hungarian matching에 대한 부분은 앞선 포스팅에서 자주 언급하였기 때문에 자세한 설명은 생략하도록 하겠습니다. 아래 cost에서는 마지막 term에만 집중하도록 하겠습니다.


    $E_{glob_{t,t+1}}$에 대한 수식입니다. $R^{CW}$와 $T^{CW}$는 각각 extrinsic parameter의 rotation과 translation을 의미하며, $J^C$는 camera coordinate상의 estimated joint를 의미합니다. 즉, frame t의 3D mesh와 t+1의 mesh를 world coordinate으로 보낸 뒤, 해당 coordinate에서 가까이 있는 mesh끼리 matching되도록 constraint를 걸어준겁니다. 여기서도 multishot에서 소개되었던 개념이 비슷하게 사용된 것 같습니다. 결국 카메라가 아무리 격렬하게 움직여도, world coordinate에 있는 배우들은 움직이지 않기 때문에 매우 합리적인 아이디어인 것 같습니다.


2.4 Contextual monocular human reconstruction

    다음으로는, shot boundary에 있지 않은 frame에 대한 3D reconstruction입니다. multi-shot reconstruction의 결과가 아무리 좋다고 하더라도 결국 대다수의 프레임은 shot boundary에 있지 않습니다. 다시말해, 대다수의 frame은 한 장면에 대해 monocular observation만을 갖습니다. 이러한 경우는 많은 클로즈업에 의한 occlusion으로 인해 상당히 challenging한 task입니다. 저자는 이를 해결하기 위해, 지금까지 얻은 3D context를 효율적으로 사용할 수 있는, Contextual monocular human reconstruction라는 approach를 제안합니다.


    해당 approach 역시 SMPLify의 optimization 방식을 채택하였는데, angjoo 연구실 저자들이 SMPLify를 참 좋아하는 것 같습니다. 어쨋든, fitting objective는 다음과 같습니다. COLMAP으로 얻은 camera parameter(초록색), NeRF-W로 얻은 density(파란색), shape parameter(주황색)을 3D context로 사용하여 SMPLify를 fitting하고, 최종적으로 $\theta_t$와 $T^C_t$를 optimize합니다. 여기서 눈여겨 보실 부분은, shape parameterdensity 부분입니다.

    우선, shape parameter의 경우 어떻게 얻었는지는 구체적으로 페이퍼에 나와있지 않았습니다. 아마 서플에 나와있을 것 같은데, 이전 work들에서 했듯이 PHALP나 기타 regression model로 먼저 SMPL param을 estimate 해주는 것 같습니다. 그리고 이렇게 얻은 파라미터로 SMPL을 fitting 시키는데, 보통은 average shape을 사용하지만 저자는 shape parameter를 사용하는 것이 environment에 대한 상대적인 사람의 scale을 잘 포착할 수 있기 때문에 optimize시 shape parameter도 같이 사용해주었다고 합니다.

    다음은 density인데, NeRF based model로 얻은 density를 활용하여, density가 높게 나오는 area에서는 body vertex $v$가 생성되지 않도록 cosntraint를 걸어주었다고 합니다. $\sigma$는 density field를 의미하며 $\tilde\sigma$는 해당 field로부터 얻은 value입니다. 이를 통해 human이 structure를 뚫고 들어가는 penetraion을 완화할 수 있었다고 합니다.

    이렇게 다양한 모델로부터 얻은 3D context를 잘 활용함으로써, monocular viewpoint에 대해서도 Human 3D mesh를 잘 reconstruction할 수 있었다고 합니다.



3. Experiments

3-1. Calibrated multi-shot human reconstruction

3-1-1. Calibrated multi-shot and re-ID results

    이 실험이 이 페이퍼에서 가장 재미있는 부분인데, NeRF를 사용하여 novel view를 만들고 해당 view에 대해서 3D mesh를 reconstruction하는 것도 가능하다고 합니다. 이와 더불어, shot이 바뀌어도 각 human간의 mesh가 잘 matching되고 있는 것을 확인할 수 있습니다.

    또한, 다음과 같이 novel view에 대해 temporal한 recon도 가능하다고 합니다. 프로젝트 페이지에 관련 결과가 더 나와있는데 정말 재미있는 주제인 것 같습니다.

3-2-2. Evaluation of the proposed calibrated multi-shot optimization

    matching cost로 camera parameter를 사용했을 때의 효과를 보여주고 있습니다. 사용하지 않았을 때 대비 MPJPE가 약 60mm 이상 감소한 것을 확인할 수 있습니다.


3-2. Monocular contextual human reconstruction

3-2-1. Results for the contextual monocular reconstruction

    다음은 각 3D context의 영향에 대해 실험한 결과입니다. camera parameter가 없는 경우 human이 엉뚱한 위치에 align되는 것을 볼 수 있었으며, shape parameter를 사용하지 않은 경우 scale의 ambiguity로 인해 역시 제대로 mesh가 recon되지 않습니다. NeRF-W의 sturcture density를 사용하지 않을 경우, penetration이 심하게 나타나고 있는 것을 확인할 수 있었습니다.

    또한, 모든 context를 사용하는 것이 가장 높은 cross-shot PCK score를 보이고 있는 것을 확인할 수 있었다고 합니다.


3-3. Re-identification

    선행연구 대비 Re-identification F1 score도 더 높게 나타난 것을 확인할 수 있습니다.

댓글남기기