Jungduri / MLPaperReivew

0 stars 0 forks source link

Towards Stable Human Pose Estimation via Cross-View Fusion and Foot Stabilization #10

Open Jungduri opened 1 year ago

Jungduri commented 1 year ago

Towards Stable Human Pose Estimation via Cross-View Fusion and Foot Stabilization

Introduction

image

Multiview HPE는 두가지 관점에서 어려운 점이 있습니다. 첫번째는 다른 시각에서 깊이의 모호성 때문에 결과가 조화를 이루지 못한다는 점입니다. 두번째는, 사용하는 환경에 입장에서 생각해 보았을때 역동적인 동작의 표현에는 발의 자세, 위치가 주요합니다. 하지만 아쉽게도, 대부분의 데이터셋에는 이런 부분이 생략되어 있다는 점 입니다. 이 논문에서는 안정적인 포즈 추정을 위해 다른 관점에서 생기는 포즈 추정 성능 간의 부조화를 해소하기 위해 많은 노력을 합니다.

안정성을 추구하기 위해서는 발과 땅의 접촉을 이해하는 것이 중요합니다. Public data를 사용하여 foot-ground annotation을 추가하는 방법에 대해서 다룹니다. Multi-view 환경에서 촬영된 영상이 occlusion을 잘 설명해줄 수 있기 때문에 보다 더 용이하게 사용될 수 있습니다.

요약하면, 아래 3개의 주요한 contribution이 있습니다.

Method

image

Foot Pose and Contact Reconstruction

[foot poses]

image

2D Keypoints를 추출하고 SMPLify 기반의 framework를 사용하여 원본 SMPL 파라미터를 최적화합니다. 위의 그림에서 표현되듯, 다리와 종아리 부분이 부분적으로 최적화됩니다. 수식은 아래와 같습니다.

image

여기서 theta와 beta는 SMPL에서 조인트의 회전과 사람의 모양을 각각 의미하는 파라미터입니다. T는 카메라의 extrinsic matrix입니다. j_2D는 2D 키포인트 입니다. L_proj는 SMPL기반의 reprojection 결과와 2D 키포인트 간의 오차입니다.

image

여기서 omega는 모든 키포인트를 의미합니다. n는 keypoints의 전체 개수입니다. j_3D는 SMLP 모델로 얻어진 3D keypoint입니다.

L_smooth는 sequentially-smooth loss function 입니다.

image

여기서 theta_[a:b]는 a-th 프레임에서 b-th 프레임까지 시간에 따른 pose를 의미합니다. t는 전체 프레임 개수이빈다.

[foot-ground contacts]

image

평평한 바닥을 갖고 있는 indoor dataset에서 모든 mesh 정보를 기반을 가장 낮은 plain을 정의합니다. 각 프레임마다 메쉬에서 가장 가까운 vertex를 계산합니다. 이 verices와 LS 방법으로 가장 정확한 plain을 다시 설정 할 수 있습니다. 이 과정은 여러번 반복되면서 foot-ground contact annotations을 얻을 수 있습니다.

image

여기서 v는 6890x3의 SMPL의 모든 vertex를 의미합니디. D는 point와 plain의 Euclidean distance를 의미합니다. delta는 contact으로 인식되며 이 방법에서는 0.025m를 사용했습니다.

Vision Transformer Encoder

강력한 feature를 얻기 위해서 인 논문은 ViT를 backbone으로 사용합니다.

Cross-View Fusion Module

멀티뷰에서 오는 inconsistent를 경감시키기 위해서 CVF 모듈을 사용합니다.

CVF 모듈은 세개의 branch로 구성되어 있습니다. 첫번째 브랜치는 front view에서 keypoint를 추출하는 역할을 합니다. F_out(backbone의 output)을 입력으로 받고 J_front(HxWxk)를 출력으로 갖습니다. 깊이에 대한 정보 없이 2개의 다른 side-view에서 찍은 사진만으로 2D pose를 추정하기는 쉽지 않습니다. 그래서 front view에서 side와 top view로 정보를 전파해줍니다. 2D 추정 branch에서 F_front를 cross-view attention block으로 얻어줍니다.

Reversible Kinematic Topology Decoder

KTD는 root 조인트로 부터 pose parameter를 iterative 추정하기 위해서 고안되었습니다. 루트 조인트부터 다른 조인트까지 계층적 고정된 기구학을 풀어 구조로 접근합니다. 이 논문에서 제안하는 RKTD는 foot-ground 컨택 포인트의 예측으로 부터 reversible한 KTD를 제안합니다.

body-scene contacts를 파악하기 위해서 CVF에서 하나의 브랜치를 따와서 MLP layer의 인풋으로 집어 넣습니다. MLP layer의 출력은 6890x1로 vertex의 컨택 여부를 알 수 있게 해줍니다. 이를 학습하기 위해서 식 (4)에서 구한 정보와 BCELoss를 사용합니다. c in [0,1]^{6890x1}

추가적으로 ground-contact 상태를 결정하기 위해서 c_l과 c_r 를 정의합니다. c_l은 왼쪽 다리에 대한 모든 vertex의 body-scene contacts 정보의 합으로 계산됩니다. c_l = sigma_v_l(c_i)

image

이렇게 계산되 수식을 바탕으로 각 조인트에서 값들을 계산하여 위와 같은 Feature를 얻을 수 있습니다.

Loss Functions

전체 Loss를 L_2D, L_3D, L_SMPL, L_contact이 있습니다.

image image image image image

Experiments and Results

image