[WIP] Code release is still in preparation, stay tuned.
1st place solution for CVPR 2020 DeepFashion2 Clothes Landmark Detection Track. This repo contains code for the keypoints detector. The object detection part is not contained.
install HRNet dependencies as in HRNet/HRNet-Human-Pose-Estimation, then
cd HRNet-Human-Pose-Estimation/lib
make
install cocoapi in switchablenorms/DeepFashion2
git clone https://github.com/switchablenorms/DeepFashion2
cd DeepFashion2/deepfashion2_api/PythonAPI/
make install
download data to HRNet-Human-Pose-Estimation/lib/data/deepfashion2/
preprocess data to following structure
data/deepfashion2/
annotations/ # original data, converted from deepfashion2_to_coco.py
train_coco.json
validation_coco.json
test_coco.json
annotations_agg81kps/ # for training in aggregation
train_coco_agg81kps.json
annotations_per_category/ # for validation in finetuning
validation_coco_category_1.json
...
validation_coco_category_13.json
annotations_per_category_agg81kps/ # for training in finetuning
train_coco_category_1.json
...
train_coco_category_13.json
images/ # images, make some symlinks (or just cp) for this to be done
train/
validation/
test/
COCO pretrained weights is downloaded from here to HRNet-Human-Pose-Estimation/models/pytorch/pose_coco/pose_hrnet_w48_384x288.pth
Aggregation
python tools/train.py --cfg experiments/deepfashion2/w48_512x384_adam_lr1e-3-agg81kps.yaml
Finetune
# finetuning 1st category
python tools/train.py --cfg experiments/deepfashion2/w48_512x384_adam_lr1e-3-agg81kps-category1-hflip.yaml
# finetuning 2nd category
python tools/train.py --cfg experiments/deepfashion2/w48_512x384_adam_lr1e-3-agg81kps-category2-hflip.yaml
# finetuning others ...
Testing on validation set (with gt det)
CUDA_VISIBLE_DEVICES=0,1,2,3 python tools/test.py \
--cfg experiments/deepfashion2/w48_512x384_adam_lr1e-3-agg81kps-category1-hflip.yaml \
GPUS '(0,1,2,3)' \
TEST.MODEL_FILE output/deepfashion2agg81kps/pose_hrnet/w48_512x384_adam_lr1e-3-agg81kps-category1-hflip/final_state.pth \
TEST.USE_GT_BBOX True \
TEST.IMAGE_THRE 0.01 \
DATASET.TEST_SET validation \
TEST.FLIP_TEST True
Testing on validation set (with object det results /path/to/det.json
)
CUDA_VISIBLE_DEVICES=0,1,2,3 python tools/test.py \
--cfg experiments/deepfashion2/w48_512x384_adam_lr1e-3-agg81kps-category1-hflip.yaml \
GPUS '(0,1,2,3)' \
TEST.MODEL_FILE output/deepfashion2agg81kps/pose_hrnet/w48_512x384_adam_lr1e-3-agg81kps-category1-hflip/final_state.pth \
TEST.USE_GT_BBOX False \
TEST.COCO_BBOX_FILE '/path/to/det.json' \
TEST.IMAGE_THRE 0.01 \
DATASET.TEST_SET validation \
TEST.FLIP_TEST True
...
HRNet/HRNet-Human-Pose-Estimation
Please cite following if you use the code
@misc{lin2020aggregation,
title={Aggregation and Finetuning for Clothes Landmark Detection},
author={Tzu-Heng Lin},
year={2020},
eprint={2005.00419},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
MIT