[Paper Review] Estimating Egocentric 3D Human Pose in the Wild with External Weak Supervision

E0u0n·2023년 11월 10일
0

Human Pose Estimation

목록 보기
1/2

Paper : Estimating Egocentric 3D Human Pose in the Wild with External Weak Supervision

Abstract

  • 하나의 fisheye 카메라를 이용한 자기 중심 3D 인간 포즈 추정이 최근 상당한 관심
  • 기존 방식은 합성 데이터에서만 훈련할 수 있고, 신체 부위가 주변 장면에 의해 가려지거나 상호 작용할 때 실제 이미지의 포즈 추정이 어려움
  • Egocentric Poses in the Wild(EgoPW)는 자기 중심 카메라와 외부 카메라로 촬영한 데이터 동기화
  • weak external supervision으로 새로운 자기 중심적 자세 추정 방법 제시 : 1) 외부 뷰 감독을 통합하여 시공간 최적화 방법으로 EgoPW 데이터 세트에 대한 pseudo label 생성 2) pseudo label로 자기 중심 포즈 추정 네트워크 훈련
  • 사전 학습된 외부 뷰 포즈 추정 모델로 추출한 고품질 feature로 자기 중심적 feature를 감독하는 새로운 학습 전략 제안
  • 단일 자기 중심 이미지에서 정확한 3D 포즈를 예측하고 양적, 질적으로 최첨단 방법 능가

1. Introduction

  • 기존 모션 캡처 시스템은 넓은 공간에서는 적용 범위가 제한적이므로, 자기중심적인 모션 캡처 이용
    • 자기중심적 모션 캡처 시스템은 이동성이 유연하며 기록 공간 요구 사항 없음
    • 웨어러블 의료 모니터링, 스포츠 분석 및 xxR과 같은 많은 애플리케이션에 대한 광범위한 인간 활동 캡처 가능
  • 본 연구는 단일 머리 장착 fisheye 카메라에서 전체 3D 신체 포즈를 추정하는 데 중점
    • 가장 관련성이 높은 작업은 Mo2^2Cap2^2xxR-egoose
    • 기존 방법은 합성 이미지에 대해서만 훈련되므로 실제 시나리오에서 상당한 성능 저하
    • 인체의 일부가 주변 장면에 의해 가려지거나 상호작용하는 경우 어려움 → 합성 데이터와 실제 데이터 사이의 도메인 격차 및 가림을 처리하는 능력의 제한 때문
  • ocentric Poses in the Wild (EgoPW)라는 대규모 야생 자기 중심적 데이터 세트 캡처
    • 312k개 이상의 프레임을 포함, 8개의 일상 장면, 20개의 다른 일상 활동
    • 네트워크 훈련에 대한 감독을 얻기 위해, 멀티 뷰 카메라 설정을 사용하여 지상 실측 3D 신체 포즈로 훈련 데이터를 캡처하거나 멀티 뷰 약한 감독을 적용하는 것 → 제한된 공간이 있는 환경에서는 비현실적 → 유연성3D 정확도 사이의 균형을 고려하여 자기 중심 카메라와 단일 보조 외부 카메라로 구성된 새로운 장치 설정 사용
    • 외부 뷰가 자기 중심적 뷰(예: 하체 부분)에서 가려진 영역에 대해 훈련 중에 추가적인 감독을 제공할 수 있음을 보여줌
  • 가림을 처리하고 정확한 포즈를 추정하기 위해, 약하게 감독하는 방식으로 새로운 자기 중심적 포즈 추정 방법을 제안
    • EgoPW 데이터 세트의 각 프레임에 대해 정확한 3D 포즈를 생성하기 위한 시공간 최적화 방법 제안
    • 생성된 포즈는 자기 중심적 포즈 추정 네트워크를 훈련하기 위한 pseudo label로 사용
    • 외부 포즈 추정 네트워크에서 추출된 feature를 사용하여 자기 중심 포즈 추정 네트워크의 훈련 촉진
    • discriminator를 속여 두 뷰에서 추출된 feature가 유사하도록 함
    • EgoPW 데이터 세트 외에도 합성 데이터 세트를 사용하여, 네트워크를 훈련하고 합성 데이터와 실제 데이터 간의 도메인 격차를 최소화하기 위한 도메인 적응 전략 채택
  • 특히 신체 관절이 심각하게 막힌 어려운 장면에서 정확한 3D 포즈를 예측할 수 있음을 보여줌
    • A large in-the-wild egocentric dataset (EgoPW) captured with a head-mounted fisheye camera and an external camera
    • 심각한 가림이 존재할 때 in-the-wild 데이터에서 기존 방법을 크게 능가하는 외부 관점에서 약한 감독으로 자기 중심적 인간 자세를 추정하는 새로운 방법
    • 외부 뷰의 감독을 통합하여 야생 자기 중심 데이터 세트에 대한 의사 레이블을 생성하는 새로운 최적화 방법
    • 외부 특징 표현으로 자기 중심 이미지의 특징 표현을 학습하여 네트워크를 훈련하는 적대적 방법

3. Method

  • 자기 중심 및 외부 관점에서 약한 감독으로 야생 데이터 세트를 이용해 신경망을 훈련시키는 새로운 접근 방식 제안
  1. 동기화된 자기 중심 및 외부 이미지 시퀀스를 포함하는 EgoPW Dataset 수집
  2. 멀티뷰 기반 최적화 프레임워크를 사용하여 EgoPW 데이터 세트에 대한 pseudo label 생성
    • 자기 중심 이미지 Iseqego={I1ego,...,IBego}\mathcal{I}^{ego}_{seq}= \{ \mathcal{I}^{ego}_{1},...,\mathcal{I}^{ego}_{B}\}와 외부 이미지 Iseqext={I1ext,...,IBext}\mathcal{I}^{ext}_{seq}= \{ \mathcal{I}^{ext}_{1},...,\mathcal{I}^{ext}_{B}\}BB 프레임이 있는 time window에서 시퀀스를 입력으로 받아들이고, 자기 중심 3D 포즈 Pseqego={P1ego,...,PBego}\mathcal{P}^{ego}_{seq}= \{ \mathcal{P}^{ego}_{1},...,\mathcal{P}^{ego}_{B}\}를 pseudo label로 출력
  3. Mo2^2Cap2^2의 합성 데이터와 유사 레이블 Pseqego\mathcal{P}^{ego}_{seq}이 있는 EgoPW 로 egocentric pose estimation network 훈련
    • 기성 외부 포즈 추정 네트워크의 feature 표현을 활용하여 자기 중심적 네트워크를 adversarial 방식으로 더 나은 feature 표현 학습
    • 합성 데이터 세트와 실제 데이터 세트 사이의 도메인 격차를 완화하기 위해 adversarial domain adaptation 전략 사용

EgoPW Dataset

  • 자기 중심 카메라와 외부 카메라(Sony RX0) 동기화
  • 318k 프레임, 20개의 의상 스타일에서 20개의 다른 동작을 수행하는 10명의 배우의 97개 시퀀스
  • 자기 중심적 이미지와 외부 이미지를 사용하여 유사 레이블로 3D 포즈를 생성

Optimization for Generating Pseudo Labels

  • EgoPW에 대한 pseudo label을 생성하기 위해 기반한 최적화 방법
  • 시퀀스가 주어지면, 그것을 BB 연속 프레임을 포함하는 세그먼트로 나눔
  • 자기 중심 프레임 Iseqego{I}^{ego}_{seq} : Mo2^2Cap2^2 방법을 사용하여 3D pose(egocentric pose)2D heatmap 추정
    • 3D pose : P~seqego={P~1ego,...,P~Bego},P~iegoR15×3\tilde{\mathcal{P}}^{ego}_{seq}= \{ \tilde{\mathcal{P}}^{ego}_{1},...,\tilde{\mathcal{P}}^{ego}_{B}\}, \tilde{\mathcal{P}}^{ego}_{i}\in \mathbb{R}^{15\times 3}(15개의 joint 위치)
    • 2D heatmap : Hseqego={H1ego,...,HBego}{H}^{ego}_{seq}= \{ {H}^{ego}_{1},...,{H}^{ego}_{B}\}
  • transform matrix : ORB-SLAM2를 사용하여 인접한 두 프레임의 자기 중심적 카메라 포즈 사이의 변환 추정
    • 인접한 두 프레임 : [RseqSLAMtseqSLAM]={[R12t12],...,[RB1BtB1B]}[R^{SLAM}_{seq}\mid t^{SLAM}_{seq}]= \{[R^{2}_{1}\mid t^{2}_{1}],...,[R^{B}_{B-1}\mid t^{B}_{B-1}] \}
  • 외부 프레임 Iseqext{I}^{ext}_{seq} : VIBE를 사용하여 3D pose(external pose)를, openpose를 사용하여 2D joint 추정
    • 3D pose : Pseqext={P1ext,...,ePBext},PiextR15×3{\mathcal{P}}^{ext}_{seq}= \{ {\mathcal{P}}^{ext}_{1},...,e{\mathcal{P}}^{ext}_{B}\}, {\mathcal{P}}^{ext}_{i}\in \mathbb{R}^{15\times 3}
    • 2D joint : Jseqext={J1ext,...,ePBext},JiextR15×2{\mathcal{J}}^{ext}_{seq}= \{ {\mathcal{J}}^{ext}_{1},...,e{\mathcal{P}}^{ext}_{B}\}, {\mathcal{J}}^{ext}_{i}\in \mathbb{R}^{15\times 2}
  • CNN 기반 인코더 fencf_{enc} 및 디코더 fdecf_{dec}로 구성된 sequential VAE로 자기 중심적 동작을 인코딩하기 위한 잠재 공간 학습
  • 해당 포즈 시퀀스 Pseqego=fdec(z)P^{ego}_{seq}=f_{dec}(z)가 목적 함수를 최소화하도록 잠재 벡터 zz를 찾아 자기 중심적 포즈 최적화:
    E(Pseqego,Rseq,tseq)=λRegoERego+λRextERext+λJegoEJego+λJextEJext+λTET+λBEB+λCEC+λMEM(1)E(\mathcal{P}^{ego}_{seq},R_{seq},t_{seq})=\lambda^{ego}_{R}E^{ego}_{R}+\lambda^{ext}_{R}E^{ext}_{R}+\lambda^{ego}_{J}E^{ego}_{J}+\lambda^{ext}_{J}E^{ext}_{J}+\lambda_{T}E_{T}+\lambda_{B}E_{B}+\lambda_{C}E_{C}+\lambda_{M}E_{M} \tag{1}
    • ERego,EJego,ET,EBE^{ego}_R, E^{ego}_J, E_T, E_B : egocentric reprojection term, egocentric pose regularization term, motion smoothness regularization term, bone length regularization term
    • ERext,EJext,EC,EME^{ext}_R, E^{ext}_J, E_C, E_M : external reprojection term, external 3D body pose regularization term, camera pose consistency term, and camera matrix regularization term
    • 각 프레임에 대한 외부 카메라 포즈(회전과 변환)에 대한 상대적인 자기 중심적인 카메라 포즈 최적화 필요

External Reprojection Term ERextE^{ext}_R

  • 외부 2D 포즈로 최적화 프로세스를 감독하기 위해 외부 2D joint와 투영된 3D 포즈 간의 차이를 최소화하는 외부 재투영 :
    ERext(Pseqego,Rseq,tseq)=i=1BJiextK[Riti]Piego22(2)E^{ext}_R(\mathcal{P}^{ego}_{seq},R_{seq},t_{seq})=\sum_{i=1}^{B}\Vert\mathcal{J}^{ext}_i-K [R_{i}\mid t_{i}]\mathcal{P}^{ego}_{i}\Vert^2_2 \tag{2}
    • KK : intrinsic matrix of the external camera
    • [Riti][R_{i}\mid t_{i}] : pose of the egocentric camera in the ii th frame(w.t.r. external camera position)
    • Piego\mathcal{P}^{ego}_{i} : egocentric body pose
    • 투영된 신체 포즈를 openpose에 의해 추정된 2D joint와 비교
    • 최적화 초기에 외부 카메라와 자기 중심 카메라 사이의 상대적 포즈를 알 수 없기 때문에, Piego\mathcal{P}^{ego}_{i}를 최적화하면서 동시에 [Riti][R_{i}\mid t_{i}] 를 최적화
    • 최적화 과정이 속도를 위해, perspective-n-Point algorithm을 사용하여 자기 중심적 카메라 포즈 [Riti][R_{i}\mid t_{i}] 초기화

Camera Pose Consistency ECE_C

  • external reprojection term만으로는 정확한 3D 포즈를 얻을 수 없음

  • 자기중심적 카메라 포즈와 최적화된 신체 포즈의 external reprojection constraint을 violation하지 않고 임의로 변경될 수 있는 모호성을 완화하기 위한 카메라 일관성 term :

    EC(Rseq,tseq)=i=1B1[Riti01][Rii+1tii+101][Ri+1ti+101]2(3)E_C(R_{seq},t_{seq})=\sum_{i=1}^{B-1}\Bigg\Vert \begin{bmatrix} R_{i} & t_{i}\\ 0 & 1 \end{bmatrix}\begin{bmatrix} R_{i}^{i+1} & t^{i+1}_i\\ 0 & 1 \end{bmatrix}-\begin{bmatrix} R_{i+1} & t_{i+1}\\ 0 & 1 \end{bmatrix} \Bigg\Vert_2 \tag{3}
  • (i+1)(i + 1)번째 프레임에서 자기 중심 카메라 포즈를 ii번째 프레임과의 상대 포즈로 변환하여 얻은 포즈와 일치하도록 함

External 3D Body Pose Regularization EJE_J

  • 자기 중심적인 3D 신체 포즈의 최적화를 감독하기 위해 외부 3D 신체 포즈 사용
  • rigid 정렬 후 외부 신체 포즈와 자기 중심적 신체 포즈의 차이를 측정하는 term :
    EJ(Pseqego,Pseqext)=i=1BPiext[Ripatipa]Piego22(2)E_J(\mathcal{P}^{ego}_{seq},\mathcal{P}^{ext}_{seq})=\sum_{i=1}^{B}\Vert\mathcal{P}^{ext}_i- [R_{i}^{pa}\mid t_{i}^{pa}]\mathcal{P}^{ego}_{i}\Vert^2_2 \tag{2}
    • [Ripatipa][R_{i}^{pa}\mid t_{i}^{pa}] : transformation matrix calculated with Procrustes analysis

Procrustes analysis
Shape 집합의 분포를 분석하는 방법

  • 자기 중심적 관점과 외부 관점에서 추정된 신체 자세를 결합하여 보다 정확한 의사 레이블을 재구성
  • 두 관점의 정보를 결합함으로써, 우리는 의사 레이블로서 정확한 3D 포즈를 성공적으로 예측
  • 외부 카메라가 의사 레이블을 생성하는 데만 사용되며, 테스트 시에는 자기 중심 카메라만 사용

Camera Matrix Regularization

  • 카메라 회전 행렬 RiR_i가 직교하도록 제한:
EJ(Rseq)=i=1BRiTRiI22(5)E_J(R_{seq})=\sum_{i=1}^{B}\Vert R^T_iR_i-I\Vert^2_2 \tag{5}
  • 이전 연구와 달리, 시공간 최적화 방법은 사전에 학습된 동작의 안내에 따라 pseudo label을 생성 → 노이즈가 많고 부정확한 자기 중심 2D 포즈 추정에 강력

Training Egocentric Pose Estimation Network

  • 3.2절의 최적화 프레임워크를 통해 EgoPW 데이터 세트의 각 자기 중심 프레임에 대한 정확한 3D 포즈 유사 레이블 Pegoseq를 얻을 수 있으며, 이는 보충 자료에 설명된 fisheye 카메라 모델로 2D 열 지도 HE와 관절과 자기 중심 카메라 DE 사이의 거리로 추가로 처리

  • MoCap의 합성 데이터 세트와 EgoPW 데이터 세트 모두에서 단일 이미지 기반 자기 중심적 포즈 추정 네트워크를 훈련

  • 합성 이미지 ISI_S를 포함한 합성 데이터 세트 S={IS,HS,DS}S = \{I_S, H_S, D_S\}와 Mo2^2Cap2^2 데이터 세트의 heatmap HSH_S 및 거리 레이블 DSD_S, pseudo heatmap HEH_E, 거리 레이블 DED_E 및 외부 이미지 IEI_E를 포함하는 EgoPW 데이터 세트 E에 주목한다

  • 두 개의 reconstruction loss term과 두 개의 adversarial loss term으로 자기 중심적 자세 추정 네트워크를 훈련

    • reconstruction loss : 예측된 heatmap/거리와 레이블의 heatmap/거리 사이의 평균 제곱 오차(MSE)로 정의
      LS=mse(H^S,HS)+mse(D^S,DS)LE=mse(H^E,HE)+mse(D^E,DE)(6)L_S= \mathrm{mse}(\hat{H}_S,{H}_S)+\mathrm{mse}(\hat{D}_S,{D}_S) \\ L_E= \mathrm{mse}(\hat{H}_E,{H}_E)+\mathrm{mse}(\hat{D}_E,{D}_E) \tag{6}
    • adversarial loss : 자기 중심적 feature 표현을 학습하고 합성 데이터 세트와 실제 데이터 세트 사이의 도메인 격차를 메우기 위해 별도로 설계
      H^S,D^S=Ψ(FS),FS=Θ(IS);H^E,D^E=Ψ(FEego),FEego=Θ(IEego)(7)\hat{H}_S,\hat{D}_S=\Psi(F_S),F_S=\Theta(I_S); \\ \hat{H}_E,\hat{D}_E=\Psi(F_E^{ego}),F_E^{ego}=\Theta(I_E^{ego}) \tag{7}
      • Θ\Theta : 이미지를 feature 벡터로 인코딩하는 feature extractor
      • Ψ\Psi : feature 벡터를 2D heatmap 및 거리 벡터로 디코딩하는 pose estimator

Adversarial Domain Adaptation

  • 합성 데이터와 실제 데이터 사이의 도메인 격차를 해소하기 위해 이미지에서 추출된 feature 벡터를 입력으로 사용
    • 해당 feature가 실제 이미지에서 추출되는지 여부를 결정하는 adversarial discriminator Γ\Gamma 도입
    • adversarial discriminator Γ\Gamma는 교차 엔트로피 손실로 훈련:
LD=E[log(Γ(FS))]E[1log(Γ(FEego))](8)\mathcal{L}_D=-E[\mathrm{log}(\Gamma(F_S))]-E[1-\mathrm{log}(\Gamma(F_E^{ego}))] \tag{8}
  • discriminator Γ\Gamma가 훈련되면 feature extractor Θ\Theta는 discriminator Γ\Gamma가 feature가 합성 이미지에서 추출되었는지 실제 이미지에서 추출되었는지 구별할 수 없도록 서로 다른 도메인의 이미지를 동일한 feature 공간에 매핑
  • pose estimator Ψ\Psi는 야생 데이터에 대해 더 정확한 포즈를 예측

Supervising Egocentric Feature Representation with External View

  • 데이터 세트의 정체성 변형은 기존의 대규모 외부 뷰 인간 데이터 세트(수천 개의 정체성)에 비해 상대적으로 제한적(20개의 정체성)
    • 네트워크의 일반화 가능성을 향상시키고 학습 정체성에 과적합되는 것을 방지 → 고품질의 3인칭 시점 feature를 활용하여 자기 중심적 표현을 감독 것을 제안
    • transfer learning 관점에서, 자기중심적 네트워크가 Mo2^2Cap2^2 데이터로 사전 학습되었지만, 합성 데이터 세트에서 fine tuning되는 동안 학습된 지식을 쉽게 "잊을" 수 있음
    • 3인칭 시점 feature의 감독은 자기 중심적 feature가 대규모 실제 인간 이미지에서 학습된 것과 너무 많이 차이나는 것을 방지
  • 자기 중심 feature FEegoF^{ego}_E와 외부 feature FEextF^{ext}_E 사이의 거리를 직접적으로 최소화하는 것은 성능을 향상시키지 못함
    • 시야 방향과 카메라 왜곡에 대한 상당한 차이로 인해 자기중심적 관점과 외부 관점의 중간 특징이 서로 달라야 하기 때문에

      → 적대적 훈련 전략을 사용하여 자기 중심 및 외부 네트워크의 feature 표현을 정렬

    • 자기 중심 이미지와 해당하는 야생 이미지에서 추출된 feature 벡터를 취하고 feature가 자기 중심 이미지인지 외부 이미지인지 예측하는 adversarial discriminator Λ\Lambda를 사용

    • adversarial discriminator Λ\Lambda는 교차 엔트로피 손실로 훈련 :

      LV=E[log(Λ(FEego))]E[log(1Λ(FEext))](9)\mathcal{L}_V=-E[\mathrm{log}(\Lambda(F_E^{ego}))]-E[\mathrm{log}(1-\Lambda(F_E^{ext}))] \tag{9}
      • FEego=Θext(IEext)F_E^{ego}=\Theta^{ext}(I^{ext}_E) : 자기중심적 포즈 추정 네트워크와 정확히 동일한 아키텍처를 공유하는 외부 포즈 추정 네트워크의 feature extractor
      • features extractor와 pose estimator의 매개변수는 사전 훈련된 모델에서 얻어지며 훈련 과정 동안 고정
  • 포즈 추정 네트워크의 심층 레이어는 일반적으로 인체의 전역 의미 정보를 나타냄
    • ResNet-50 네트워크의 4번째 res-block의 출력 feature를 discriminator Λ\Lambda의 입력으로 사용
    • joint의 공간적 위치는 자기 중심 관점과 외부 관점에서 상당히 다르므로 discriminator Λ\Lambda는 자기 중심 feature와 외부적 feature의 차이를 쉽게 알 수 있음
    • discriminator Λ\Lambda의 평균 pooling 레이어를 사용하여 feature을 공간적으로 집계함으로써 자기 중심적 이미지와 외부 이미지 사이의 공간 분포의 영향을 더욱 제거
  • 학습 과정에서 자기중심적 자세 추정 네트워크는 feature가 자기중심적 이미지인지 외부 이미지인지 구별할 수 없도록 도메인 discriminator Λ\Lambda를 속이기 위해 feature FEegoF^{ego}_E를 생성하도록 훈련
    • 자기 중심 네트워크는 입력 이미지의 관련 부분, 즉 인체에 더 많은 주의를 기울이는 방법을 학습

Conclusions

  • 단일 헤드 마운트 어안 카메라를 사용하여 자기 중심적 인간 포즈 추정에 대한 새로운 접근 방식을 제안
  • 새로운 야생 자기 중심 데이터 세트(EgoPW)를 수집하고 의사 레이블로 정확한 자기 중심 포즈를 생성하기 위한 새로운 최적화 방법을 설계
  • 의사 레이블과 외부 네트워크의 기능을 사용하여 자기 중심적 자세 추정 네트워크를 감독
  • 실험에 따르면 우리의 방법은 질적으로나 양적으로 모든 최첨단 방법을 능가하며 심각한 폐색 상태에서도 잘 작동
  • 향후 연구로, 우리는 야생 비디오에서 시간적으로 일관된 자기 중심적 자세를 추정하기 위한 비디오 기반 방법을 개발

Limitations

  • 우리 방법에서 유사 레이블의 정확성은 하나의 자기 중심적 뷰와 하나의 외부 뷰만 포함하는 야생 내 캡처 시스템에 의해 제약을 받으며, 네트워크의 성능을 더욱 제약 → 미래의 솔루션 중 하나는 IMU와 깊이 카메라를 포함한 다양한 센서를 융합하여 야생 데이터 세트를 캡처
profile
이세계 개발자입니다.

0개의 댓글