blazeface_keypoint.yml 2.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
architecture: BlazeFace
max_iters: 160000
pretrain_weights:
use_gpu: true
snapshot_iter: 10000
log_iter: 20
metric: WIDERFACE
save_dir: output
weights: output/blazeface_keypoint/model_final.pdparams
# 1(label_class) + 1(background)
num_classes: 2
12
with_lmk: true
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

BlazeFace:
  backbone: BlazeNet
  output_decoder:
    keep_top_k: 750
    nms_threshold: 0.3
    nms_top_k: 5000
    score_threshold: 0.01
  min_sizes: [[16.,24.], [32., 48., 64., 80., 96., 128.]]
  use_density_prior_box: false
  lmk_loss:
    overlap_threshold: 0.35
    neg_overlap: 0.35

BlazeNet:
  with_extra_blocks: true
  lite_edition: false

LearningRate:
  base_lr: 0.002
  schedulers:
  - !PiecewiseDecay
    gamma: 0.1
    milestones: [120000, 150000]

OptimizerBuilder:
  optimizer:
    momentum: 0.9
    type: Momentum
  regularizer:
    factor: 0.0005
    type: L2

TrainReader:
  inputs_def:
    image_shape: [3, 640, 640]
    fields: ['image', 'gt_bbox', 'gt_class', 'gt_keypoint', 'keypoint_ignore']
  dataset:
    !WIDERFaceDataSet
    dataset_dir: dataset/wider_face
    anno_path: wider_face_split/wider_face_train_bbx_lmk_gt.txt
    image_dir: WIDER_train/images
    with_lmk: true
  sample_transforms:
  - !DecodeImage
    to_rgb: true
  - !NormalizeBox {}
  - !RandomDistort
    brightness_lower: 0.875
    brightness_upper: 1.125
    is_order: true
  - !ExpandImage
    max_ratio: 4
    prob: 0.5
  - !CropImageWithDataAchorSampling
    anchor_sampler:
    - [1, 10, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.2, 0.0]
    batch_sampler:
    - [1, 50, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0]
    - [1, 50, 0.3, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0]
    - [1, 50, 0.3, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0]
    - [1, 50, 0.3, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0]
    - [1, 50, 0.3, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0]
    target_size: 640
  - !ResizeImage
    target_size: 640
    interp: 1
  - !RandomInterpImage
    target_size: 640
  - !RandomFlipImage
    is_normalized: true
  - !Permute {}
  - !NormalizeImage
    is_scale: false
    mean: [104, 117, 123]
    std: [127.502231, 127.502231, 127.502231]
  batch_size: 16
  use_process: true
  worker_num: 8
  shuffle: true

EvalReader:
  inputs_def:
    fields: ['image', 'im_id']
  dataset:
    !WIDERFaceDataSet
    dataset_dir: dataset/wider_face
    anno_path:  wider_face_split/wider_face_val_bbx_gt.txt
    image_dir: WIDER_val/images
  sample_transforms:
  - !DecodeImage
    to_rgb: true
  - !NormalizeBox {}
106
  - !Permute {}
107 108
  - !NormalizeImage
    is_scale: false
109
    mean: [104, 117, 123]
110 111 112 113 114 115 116 117 118 119 120 121
    std: [127.502231, 127.502231, 127.502231]
  batch_size: 1

TestReader:
  inputs_def:
    fields: ['image', 'im_id', 'im_shape']
  dataset:
    !ImageFolder
    use_default_label: true
  sample_transforms:
  - !DecodeImage
    to_rgb: true
122 123 124 125
  - !ResizeImage
    target_size: 640
    interp: 1
  - !Permute {}
126 127
  - !NormalizeImage
    is_scale: false
128
    mean: [104, 117, 123]
129 130
    std: [127.502231, 127.502231, 127.502231]
  batch_size: 1