투빅스 14기 장혜림
: the ground-truth position of body part j for person k in the image.
: 이미지 내 pixel 위치
동일한 pixel 위치에 여러 사람의 part confidence 가 중첩되어 있을 경우, 가장 큰 score를 해당 pixel의 값으로 할당
average를 사용하는 것보다 max를 사용하는 것이 가우시안 분포의 peak에 근접함
- 한 이미지 내에 여러 사람이 존재할 경우 각 part가 다른 사람의 part로 연결될 가능성이 있음( (a)의 회색선 )
만약 pixel 가 limb c 위에 있다면 는 -> 를 향하는 unit vector 할당. 그렇지 않으면 zero vector 할당
참고로 limb는 line으로 구성되는 것이 아니라 distance threshold를 갖는 region으로 모델링됨
: 와 직각을 이루는 unit vector
: limb의 길이
: limb의 두께
동일한 pixel 위치에 여러 사람의 part affinity field 가 중첩되어 있을 경우, 모든 사람의 affinity vector 평균을 해당 pixel의 값으로 할당
: pixel 에 affinity vector 가 할당된 사람 수
stage가 진행됨에 따라 confidence map과 part affinity fields 정확하게 예측함
: stage index
: 전체 stage 개수 (논문에서는 6 stage까지)
: 전체 part 종류 개수
: 전체 affinity field 종류 개수
: 이미지 내의 위치를 나타내는 좌표
: confidence map score
: affinity field
: binary mask ( 위치에 confidence 및 affinity field annotation 이 있으면 1, 없으면 0)
the authors has added some weight to the loss functions to address a practical issue that some datasets do not completely label all people.
W(p) = 0 when the annotation is missing at an image location p. The mask is used to avoid penalizing the true positive predictions during training.
지금까지는 network 구조에 대해서 다루었고, multi-person parsing 단계로
1) 어떻게 confidence map에서 후보 part를 찾는지,
2) PAFs 이용해서 어떻게 part pair로 연결할 수 있는지,
3) 연결된 part pairs가 어떻게 사람(skeleton)으로 연결될 수 있는지 알아보도록 하겠습니다.
(b)와 같이 가능한 모든 part 연결을 고려하게 되면 K-dimensional mathching problem이 되고 이는 NP-hard 문제로 알려짐
NP-hard: 어떤 결정 문제의 답이 YES일 때, 그 문제의 답이 YES라는 것을 입증하는 힌트(=relaxation)가 주어지면, 그 힌트를 사용해서 그 문제의 답이 정말로 YES라는 것을 다항식 시간 이내에 확인할 수 있는 문제
논문에서 제안하는 relaxations
(1) 각 part에 인접하는 part를 미리 제공 (Fig 6.(c))
(ex. 오른쪽 어깨와 연결되는 것은, 목과 오른쪽 팔꿈치 뿐)
(2) 더 나아가 (c) graph를 여러 bipartite graph로 decompose (Fig 6.(d))
bipartite graph / matching
- 이분 그래프: 정점을 두개의 그룹으로 나누었을 때, 존재하는 모든 간선의 양 끝 정점이 서로 다른 그룹에 속하는 형태의 그래프
- 이분 매칭: 이분 그래프에서 한 그룹의 정점에서 다른 그룹의 정점으로 간선을 연결할 때 각각이 일대일 대응으로 매칭
(ex. 그룹1: 왼쪽 팔꿈치 candidates, 그룹2: 왼쪽 손목 candidates 일 때, 같은 그룹끼리는 연결될 수 없고, 다른 그룹과도 한 번 이내만 연결이 가능)
간선을 선택하는 기준으로 part affinity field를 이용해서 구한 association(=) 사용
가 limb c 위에 있을 때 affinity vector값을 가지므로, 가 클수록 두 part가 잘 연결되었다고 할 수 있음
∈ {0, 1} : indicate whether two detection candidates and are connected
:
합산한 association E의 값을 최대화하는 part pairs를 찾게 됨
만약 part index(with same coordinate)가 일치하는 part를 공유하고 있으면 같은 사람으로 판단함
공유하는 part가 없을 때까지 해당 과정을 반복함. 이를 통해 part pairs가 skeleton으로 만들어짐
Deepcut: Bottom-up 방식의 pose estimation 모델 (SVM 사용)
Deepercut: Deepcut의 속도 개선
Top-down approach 는 사람 수가 늘어나면, 그에 비례하여 Runtime이 증가하는 반면, Bottom-up 방식인 본 연구는 연산량이 거의 증가하지 않는 것을 보여줌
(cf. the speed of 8.8 fps for a video with 19 people)
OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields
직렬 구조로 연결하여 속도와 성능을 개선
This approach differs from [3], where both the PAF and
confidence map branches were refined at each stage. Hence,the amount of computation per stage is reduced by half.
We empirically observe in Section 5.2 that refined affinity field predictions improve the confidence map results, while the opposite does not hold. Intuitively, if we look at the PAF channel output, the body part locations can be guessed
Our current model also incorporates redundant PAF connections (e.g., between ears and shoulders, wrists and shoulders, etc.). This redundancy particularly improves the accuracy in crowded images
투빅스 14기 김민경
part affinity fields를 도입함으로써 Bottom-up approach로 pose estimation의 성능을 크게 향상시킬 수 있었던 논문인 OpenPose를 리뷰해주셨습니다. 세세한 개념부터 차근차근 알려주셔서 굉장히 이해가 잘 되었습니다. 감사합니다:)
[Pose Estimation] Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields : OpenPose
이번 주차에는 pose estimation과 관련한 논문 리뷰를 하였고, Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields: OpenPose 논문 리뷰는 장혜림님께서 진행해주셨습니다.
Network
part confidence map
part affinity fields
multi stage
Loss function
Result
OpenPose에 대해서 꼼꼼하게 정리를 잘 해주셔서 OpenPose에 대하여 전체적으로 이해를 잘 할 수 있었던 유익한 리뷰 시간이었던 것 같습니다! 감사합니다 ㅎㅎ
14기 김상현
이번 강의는 Pose Estimation에 관한 OpenPose 논문 리뷰로 장혜림님께서 진행해주셨습니다
OpenPose 논문에 대해 자세하게 설명해주셔서 이해하는데 도움이 되었습니다. 또한 네트워크 구조 이외에도 논문에 나오는 matching, merging 등의 단계를 자세하게 설명해주셨습니다.
유익한 강의 감사합니다!