논문 요약: Structured Prediction of 3D Human Pose with Deep Neural Networks

소개



BMVC 2016에서 다음 논문
[1] B. Tekin, et. al."Structured Prediction of 3D Human Pose with Deep Neural Networks", BMVC 2016
요약

arXiv:
htps : // 아 rぃ v. rg/아bs/1605.05180

코드:
소재는 불명

일본어 요약 기사:
DeNA의 거친 정리
htps : // 엔기네 r. 그래. jp/#테킨2016

덧붙여서 BMVC는 British Machine Vision Conference의 약자로, 이 사이트
h tp // w w. 구이로 2 레세아 rch. 코 m/와 p 콘 f/
에 따르면 H-index가 46과 거기 컨퍼런스.

개요


  • 단안 카메라의 이미지에서 3 차원 자세를 추정하는 모델
  • 사전에 autoencoder로 자세의 잠재 표현을 학습
  • 이 잠재 표현을 이용하여 3차원 자세를 회귀 문제로 풀기


  • ([1]Figure3에서)
    좌측의 입력 화상에 대해서, 그 오른쪽이ground truth, 더욱 오른쪽이 본 수법으로 추정한 3차원 골격.

    기법 해설



    전체상



    전체 이미지는 아래 그림입니다.


    ([1]Figure1에서)

    해설에 쓰여진 대로, 이하의 3단계로 학습을 실시한다.
  • 잠재 변수의 차원이 큰 Auto-encoder로 사람의 자세를 학습한다
  • 잠재 변수를 대상으로하고 이미지를 입력으로 사용하는 CNN을 학습합니다.
  • decoder를 덧붙여 자세를 재학습한다

  • 1. auto-encoder로 자세 학습



    아래 그림과 같이 auto-encoder로 자세를 학습한다.


    ([1]Figure2에서 발췌)

    사람의 관절 벡터 $y_i$ 에 등방성 노이즈를 더한 것을 $\tilde{y}_i$ , 그것을 파라미터 $\theta_{ae}$ 의 auto-encoder $f_{ae}$ 에 의해 재 구축된 것을 $\hat{y}$ 라고 하면,
    \hat{y} = f_{ae} (y, \theta_{ae})
    

    $\theta_{ae}$의 매개 변수 중 가중치와 관련하여 과적합을 방지하기 위해
    W_{dec,j} = W^T_{enc,j}
    

    한다.

    loss는 입력 된 골격과 재구성 된 골격의 제곱 오차에 encoder의 Jacobi 행렬에 행렬 규범의 제곱을 더합니다.
    \newcommand{\argmin}{\mathop{\rm arg~min}\limits}
    \theta_{ae}^* = \argmin_{\theta_{ae}} \sum^N_i \|y_i - f(y_i, \theta_{ae} \|^2_2 + \lambda \| J(y_i) \|_F^2
    

    이 규범은 처음으로 보았지만, 야코비 행렬은 $J(y) =\frac{\partial g}{\partial y}(y)$ 라고 출력을 입력으로 미분하고 있기 때문에 무게 같은 것이라고 생각하면 , 그 놈을 취하고 있을 뿐이므로, 가중치에 대해서 L2 norm 의 제곱을 취하고 있는 것 같은 건? ?

    2. 잠재 공간을 회귀로 학습한다



    제 2 단계로서,


    ([1]Figure2에서 발췌)
    와 같이 auto-encoder의 latent를 target으로 한 회귀 문제로서 CNN을 학습한다.

    이 CNN 모델을 $f_{cnn}(x_i,\theta_{cnn})$ 로서 loss 는
    \newcommand{\argmin}{\mathop{\rm arg~min}\limits}
    \theta_{cnn}^* = \argmin_{\theta_{cnn}} \sum^N_{i} \| f_{cnn} (x_i, \theta_{cnn}) - h_{L,i} \|^2_2
    

    한다.

    3. 디코더를 추가하여 자세를 재학습



    3단계째로서 이하의 도면



    같이 auto-encoder의 decoder 부분을 덧붙여 fine-tuning한다.

    loss는 target의 관절 위치와 추론의 위치에서 제곱 오차를 취한다.
    \newcommand{\argmin}{\mathop{\rm arg~min}\limits}
    \theta_{ft}^* = \argmin_{\theta_{ft}} \sum^N_i \| f_{ft} (x_i, \theta_{ft} ) - y_i \|^2_2
    

    실험 및 결과



    실험 개요


  • dataset ... Human3.6M
  • metrics ... 3 차원 유클리드 거리의 평균값

  • 다른 모델과의 비교 결과




    ([1]Table1에서)
    2016년 당시 다른 기법에 비해 값이 좋다.

    좋은 웹페이지 즐겨찾기