모션 키포인트 검출 AI 경진대회

[하마하마] |Private 8등 |7.52591 | HRNet & fast-rcnn

2021.04.06 20:53 4,789 조회 language

Pose estimation 알고리즘을 찾던 중 HR-Net 모델을 찾아 적용하였습니다.
- Pose estimation의 방법에는 person detect후 찾아진 person bbox에서 keypoints를 찾는 top-down방식과 keypoints 후보군을 찾은 후 PAF(keypoints간 연결관계)를 찾는 bottom-up 방식이 있습니다. 일반적으로 Top-down방식이 성능이 더 좋고, Multi person이 아닌 한사람의 keypoints만 찾는다는 가정하에 Top-down방식으로 결정하게 되었습니다.

- Keypoint detection model의 경우 pretrained된 모델을 load하여 특정 layer까지 freeze하였으며,  뒷부분의 weights만 training 했을 때 성능이 더 좋았습니다.
- Person Detector는 fast-rcnn사용하였으며 따로 training은 진행하지 않았습니다.

[학습]
1. Pose HRnet Model
2. Epoch : 35
3. Optimizer : Adam, lr=0.001, 
4. lr_scheduler : [20,30], 0.1
5. loss : JointsMSELoss
6. batch_size : 36
7. 5fold cross validation

[전처리]
1. normalize
2. Person center 
3. Person의 중심으로 부터 warpAffine

[후처리]
1. rescale heatmap
2. Heatmap to keypoints 
3. keypoint ensemble

Colab 환경에서 Test하였으며, Model load나 몇가지 함수들은 orignal 코드를 import 하여 사용하였습니다.

코드