논문 리뷰나 짧게 둘러본 정도라도 일단 계속 추가할 예정
Single-Person
Direct Regression
BlazePose
- OnDevice, Realtime이 가능한 light한 모델
- Heatmap과 regression을 모두 이용
- Face detector를 사용해 사람을 찾아 기준으로 삼아 tracker를 실행
- Backbone에서는 heatmap, offset, regression을 결합한 방식을 이용, encoder-decoder heatmap-based network 뒤에 regression network가 따라오는 구조를 stack
- Heatmap과 offset loss는 train에만 이용해 경량화
- 지원하는 angle, scale, translation의 범위를 일부로 제한해 모델을 경량화함
Heatmap based
Fast Human Pose Estimation
- Computation, model size 줄이기와 performance 높이기에 집중
- 이를 해결하기 위해 Fast Pose Distillation이라는 기법을 제시
- lightweight hourglass network 사용: 기존 hourglass를 절반으로 줄임
- SOTA hourglass로 teacher network 학습
- Knowledge distillation 사용, teacher network를 보고 student network가 추론
Multi-Person
Top-down
Bottom-up
OpenPose
- Keypoint 간 관계의 정보를 갖는 2차원 vector field인 Part Affinity Field(PAF)을 backbone으로 찾고, PAF를 기반으로 keypoint를 예측
- 찾은 keypoint는 hungarian algorithm을 이용해 연결
- 2017년 논문에서는 병렬적으로 예측했으나 직렬로 변경하면서 속도, 정확도를 높임 --> PAF는 keypoint에 대한 정보도 포함하고 있기 때문에
- 발에 대한 keypoint를 추가해 SMPL에서 candy wrapper effect를 방지
- OpenPose는 정확도보다는 multi-person을 realtime이 가능하도록 하게 했다는 점에 중점을 둠
HigherHRNet
- Bottom-up 방식은 정확도가 낮고 scale에 따라 영향을 많이 받음
특히 작은 scale일수록 정확도가 매우 낮음
- Image pyramid는 1/4 ~ 1/32 크기에서 예측해야 되기 때문에 bottom-up 방식에는 적합하지 않음
- 이를 개선하기 위해 1/4 정도의 고화질 pyramid feature만 사용해 고화질 heatmap을 생성
- Backbone은 HRNet을 사용하고 deconv로 1/2 feature map을 생성
- 처음부터 1/2 feature map을 만들면 computation이 너무 커져 처음엔 HRNet으로 1/4를 사용
- Medium person에 대한 정확도가 특히 높아짐 --> 아마 high resolution feature를 유지해서 그런듯?