논문 요약: Convolutional Pose Machines
소개
CVPR2016에서 다음 논문
[1] S. Wei, et. al. "Convolutional Pose Machines"
요약.
꽤 오래된 논문이지만, 그 후의 영향(특히 OpenPose에의 영향)도 가미해 일독&정리한다.
arXiv:
htps : // 아 rぃ v. rg/bs/1602.00134
이미 일본어로 몇 가지 정리 기사가 존재한다.
yusuke ujitoko 씨의 녹차 사고 블로그 :
ht tp // 유스케 우지토코. 하테나 bぉg. 코m/엔트리/2017/07/21/012238
Takanori Ogata의 slideshare :
htps //w w. s에서 멋지다. 네 t / 타카리 오가타 1121 / 안녕하세요 치오나 l 포세 마치네 s
코드도 저자를 포함하여 github에 몇 가지 존재.
htps : // 기주 b. 코 m / 시헨 w / 안녕 ぉ ぅ 치오나 l 포세 마치 네 s
개요
다음 예에서는
좌측의 입력 화상에 대해, 그 우측 stage 1에서는 오른손목 위치를 추정하고 있지만, 어느 쪽인가라고 하면 잘못해 왼손목의 위치를 추정하고 있다.
그러나 그 오른쪽(stage 2), 또한 그 오른쪽(stage 3)으로 진행됨에 따라 정밀도가 증가하여 정확하게 오른손목 위치를 추정하고 있다.
아키텍처
우선 아키텍처 전체는 이하의 그림.
상단의 (a), (b)는 [2]Pose Machine의 아키텍처. 중단(c), (d)의 부분이 본 CPMs.
OpenPose의 confidence map을 출력하는 부분과 매우 비슷합니다.
변수 등의 정의
$\bf x$ : 입력 이미지
${\mathcal{Z}}$ : 이미지의 모든 픽셀
$t\in\{ 1\cdots T\} $ :stage
$Y_p\in {\mathcal{Z}}\subset {\mathbb{R}^2}$ : 사람의 몸의 $p$ 번째 부위(오른손목 등)의 위치
$Y = (Y_1,\cdots , Y_p)$ : $p$ 개의 모든 신체 부위 위치
$g_t (\cdot)$ : $t$ stage 눈의 각 부위를 추정하는 함수로, 이번은 CNN.
stage 1에서 스코어맵 출력
우선 이 그림의 부분.
이미지 $\bf x$를 입력하고 여러 번 컨볼루션하고 풀링하여 각 신체 부위의 스코어맵 $b_1$을 출력한다.
g_1 ({\bf{x}}_{ z}) \to \{ b_1^p (Y_p = z) \}_{p \in \{ 0 \cdots P \}}
stage t에서 스코어맵 출력
stage 2 이후는 이하.
현재 stage에서 입력 이미지 $\bf x$를 컨볼루션 풀링하여 특징량 $\bf x'$로 한다.
이것에 이전 stage 의 출력 $b^p_{t-1}$ 를 더해 (concatenate?), 한층 더 복수 회 컨볼루션한다.
다중 stage 효과
아래 그림은 각 stage에서 출력한 특징량을 비교한 것입니다.
좌측 4개는 stage 1 로부터의 출력. right shoulder 나 head 등은 비교적 정확하게 위치를 특정할 수 있지만, right elbow 는 잘못해서 오른쪽 무릎 근처의 위치를 추정하고 있다.
이 head 위치나 right shoulder 위치는 다음 stage에 입력되므로, 그 공간적인 관계성을 살려 오른쪽의 stage 2나 stage 3에서는 right elbow의 위치도 올바르게 추정할 수 있다.
또한 아래 그림의 하단과 같이,
스테이지를 겹치면 수용 필드가 퍼지므로보다 광범위한 정보를 사용하여 위치를 추정 할 수 있습니다.
그라디언트 소실 문제에 대한 대응
그러나 수용 필드를 넓히는 것만으로는 층을 깊게하는 것만으로도 좋다.
stage에 걸치는 장점은 각 stage에서 loss를 취하는 곳에 있다. 이렇게하면 입력 근처의 기울기가 사라지지 않습니다.
Loss
앞에서 언급했듯이 그라디언트 소실 문제 대책으로 각 stage에서 loss를 취한다. $t$ stage 눈의 loss는 다음의 제곱 오차입니다.
f_t = \sum^{P+1}_{p=1} \sum_{z \in \mathcal{Z}} \| b^p_t(z) - b^p_{*}(z) \|^2_2
관절수 $P$ 보다 하나 많아지고 있는 것은 back ground 의 채널을 포함하기 (위해)때문에. 쌀 표는 target.
이것을 더한 것이 총 loss.
\mathcal{F} = \sum^T_{t=1} f_t
참조
[2] V. Ramakrishna, D. Munoz, M. Hebert, J. Bagnell, and Y. Sheikh. Pose Machines: Articulated Pose Estimation via Inference Machines. In ECCV, 2014.
Reference
이 문제에 관하여(논문 요약: Convolutional Pose Machines), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masataka46/items/88f1a375ce8a485d9454
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
g_1 ({\bf{x}}_{ z}) \to \{ b_1^p (Y_p = z) \}_{p \in \{ 0 \cdots P \}}
앞에서 언급했듯이 그라디언트 소실 문제 대책으로 각 stage에서 loss를 취한다. $t$ stage 눈의 loss는 다음의 제곱 오차입니다.
f_t = \sum^{P+1}_{p=1} \sum_{z \in \mathcal{Z}} \| b^p_t(z) - b^p_{*}(z) \|^2_2
관절수 $P$ 보다 하나 많아지고 있는 것은 back ground 의 채널을 포함하기 (위해)때문에. 쌀 표는 target.
이것을 더한 것이 총 loss.
\mathcal{F} = \sum^T_{t=1} f_t
참조
[2] V. Ramakrishna, D. Munoz, M. Hebert, J. Bagnell, and Y. Sheikh. Pose Machines: Articulated Pose Estimation via Inference Machines. In ECCV, 2014.
Reference
이 문제에 관하여(논문 요약: Convolutional Pose Machines), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masataka46/items/88f1a375ce8a485d9454
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(논문 요약: Convolutional Pose Machines), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masataka46/items/88f1a375ce8a485d9454텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)