123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- use_gpu: true
- log_iter: 5
- save_dir: output
- snapshot_epoch: 10
- weights: output/lite_hrnet_30_256x192_coco/model_final
- epoch: 210
- num_joints: &num_joints 17
- pixel_std: &pixel_std 200
- metric: KeyPointTopDownCOCOEval
- num_classes: 1
- train_height: &train_height 256
- train_width: &train_width 192
- trainsize: &trainsize [*train_width, *train_height]
- hmsize: &hmsize [48, 64]
- flip_perm: &flip_perm [[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [15, 16]]
- #####model
- architecture: TopDownHRNet
- TopDownHRNet:
- backbone: LiteHRNet
- post_process: HRNetPostProcess
- flip_perm: *flip_perm
- num_joints: *num_joints
- width: &width 40
- loss: KeyPointMSELoss
- use_dark: false
- LiteHRNet:
- network_type: lite_30
- freeze_at: -1
- freeze_norm: false
- return_idx: [0]
- KeyPointMSELoss:
- use_target_weight: true
- loss_scale: 1.0
- #####optimizer
- LearningRate:
- base_lr: 0.002
- schedulers:
- - !PiecewiseDecay
- milestones: [170, 200]
- gamma: 0.1
- - !LinearWarmup
- start_factor: 0.001
- steps: 500
- OptimizerBuilder:
- optimizer:
- type: Adam
- regularizer:
- factor: 0.0
- type: L2
- #####data
- TrainDataset:
- !KeypointTopDownCocoDataset
- image_dir: train2017
- anno_path: annotations/person_keypoints_train2017.json
- dataset_dir: dataset/coco
- num_joints: *num_joints
- trainsize: *trainsize
- pixel_std: *pixel_std
- use_gt_bbox: True
- EvalDataset:
- !KeypointTopDownCocoDataset
- image_dir: val2017
- anno_path: annotations/person_keypoints_val2017.json
- dataset_dir: dataset/coco
- num_joints: *num_joints
- trainsize: *trainsize
- pixel_std: *pixel_std
- use_gt_bbox: True
- image_thre: 0.0
- TestDataset:
- !ImageFolder
- anno_path: dataset/coco/keypoint_imagelist.txt
- worker_num: 4
- global_mean: &global_mean [0.485, 0.456, 0.406]
- global_std: &global_std [0.229, 0.224, 0.225]
- TrainReader:
- sample_transforms:
- - RandomFlipHalfBodyTransform:
- scale: 0.25
- rot: 30
- num_joints_half_body: 8
- prob_half_body: 0.3
- pixel_std: *pixel_std
- trainsize: *trainsize
- upper_body_ids: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- flip_pairs: *flip_perm
- - TopDownAffine:
- trainsize: *trainsize
- - ToHeatmapsTopDown:
- hmsize: *hmsize
- sigma: 2
- batch_transforms:
- - NormalizeImage:
- mean: *global_mean
- std: *global_std
- is_scale: true
- - Permute: {}
- batch_size: 64
- shuffle: true
- drop_last: false
- EvalReader:
- sample_transforms:
- - TopDownAffine:
- trainsize: *trainsize
- batch_transforms:
- - NormalizeImage:
- mean: *global_mean
- std: *global_std
- is_scale: true
- - Permute: {}
- batch_size: 16
- TestReader:
- inputs_def:
- image_shape: [3, *train_height, *train_width]
- sample_transforms:
- - Decode: {}
- - TopDownEvalAffine:
- trainsize: *trainsize
- - NormalizeImage:
- mean: *global_mean
- std: *global_std
- is_scale: true
- - Permute: {}
- batch_size: 1
|