diff --git a/configs/det/det_mv3_db.yml b/configs/det/det_mv3_db.yml index b702ad04cc4d786a65123ae0a320d8dd73b44487..fa714871499a1b2cfecc42c4be41b452b5c833cc 100644 --- a/configs/det/det_mv3_db.yml +++ b/configs/det/det_mv3_db.yml @@ -76,12 +76,14 @@ Train: - { 'type': Fliplr, 'args': { 'p': 0.5 } } - { 'type': Affine, 'args': { 'rotate': [-10, 10] } } - { 'type': Resize, 'args': { 'size': [0.5, 3] } } - - Resize: + - EastRandomCropData: size: [640, 640] -# - EastRandomCropData: -# size: [640, 640] -# max_tries: 50 -# keep_ratio: true + max_tries: 50 + keep_ratio: true + - EastRandomCropData: + size: [640, 640] + max_tries: 50 + keep_ratio: true - MakeBorderMap: shrink_ratio: 0.4 thresh_min: 0.3 diff --git a/configs/det/det_mv3_db_unittest.yml b/configs/det/det_mv3_db_unittest.yml new file mode 100644 index 0000000000000000000000000000000000000000..63c3b73add2d5b47c68a183cac778b2a95fed67a --- /dev/null +++ b/configs/det/det_mv3_db_unittest.yml @@ -0,0 +1,129 @@ +Global: + use_gpu: true + epoch_num: 5 + log_smooth_window: 20 + print_batch_step: 10 + save_model_dir: ./output/db_mv3/ + save_epoch_step: 1200 + # evaluation is run every 2000 iterations + eval_batch_step: [0, 2000] + cal_metric_during_train: False + pretrained_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained + checkpoints: + save_inference_dir: + use_visualdl: False + infer_img: doc/imgs_en/img_10.jpg + save_res_path: ./output/det_db/predicts_db.txt + +Architecture: + model_type: det + algorithm: DB + Transform: + Backbone: + name: MobileNetV3 + scale: 0.5 + model_name: large + Neck: + name: DBFPN + out_channels: 256 + Head: + name: DBHead + k: 50 + +Loss: + name: DBLoss + balance_loss: true + main_loss_type: DiceLoss + alpha: 5 + beta: 10 + ohem_ratio: 3 + +Optimizer: + name: Adam + beta1: 0.9 + beta2: 0.999 + lr: + learning_rate: 0.001 + regularizer: + name: 'L2' + factor: 0 + +PostProcess: + name: DBPostProcess + thresh: 0.3 + box_thresh: 0.6 + max_candidates: 1000 + unclip_ratio: 1.5 + +Metric: + name: DetMetric + main_indicator: hmean + +Train: + dataset: + name: SimpleDataSet + data_dir: ./train_data/icdar2015/text_localization/ + label_file_list: + - ./train_data/icdar2015/text_localization/train_icdar2015_label.txt + ratio_list: [1.0] + transforms: + - DecodeImage: # load image + img_mode: BGR + channel_first: False + - DetLabelEncode: # Class handling label +# - IaaAugment: +# augmenter_args: +# - { 'type': Fliplr, 'args': { 'p': 0.5 } } +# - { 'type': Affine, 'args': { 'rotate': [-10, 10] } } +# - { 'type': Resize, 'args': { 'size': [0.5, 3] } } + - Resize: + size: [640, 640] + - MakeBorderMap: + shrink_ratio: 0.4 + thresh_min: 0.3 + thresh_max: 0.7 + - MakeShrinkMap: + shrink_ratio: 0.4 + min_text_size: 8 + - NormalizeImage: + scale: 1./255. + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + order: 'hwc' + - ToCHWImage: + - KeepKeys: + keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list + loader: + shuffle: False + drop_last: False + batch_size_per_card: 1 + num_workers: 0 + use_shared_memory: False + +Eval: + dataset: + name: SimpleDataSet + data_dir: ./train_data/icdar2015/text_localization/ + label_file_list: + - ./train_data/icdar2015/text_localization/test_icdar2015_label.txt + transforms: + - DecodeImage: # load image + img_mode: BGR + channel_first: False + - DetLabelEncode: # Class handling label + - DetResizeForTest: + image_shape: [736, 1280] + - NormalizeImage: + scale: 1./255. + mean: [0.485, 0.456, 0.406] + std: [0.229, 0.224, 0.225] + order: 'hwc' + - ToCHWImage: + - KeepKeys: + keep_keys: ['image', 'shape', 'polys', 'ignore_tags'] + loader: + shuffle: False + drop_last: False + batch_size_per_card: 1 # must be 1 + num_workers: 8 + use_shared_memory: False diff --git a/configs/det/det_r50_vd_db.yml b/configs/det/det_r50_vd_db.yml index 4a6820dab5c679a3a182f4a8a9cf8d81523001fd..e863e02e998d70d35f07146f19363fb48391302d 100644 --- a/configs/det/det_r50_vd_db.yml +++ b/configs/det/det_r50_vd_db.yml @@ -75,12 +75,14 @@ Train: - { 'type': Fliplr, 'args': { 'p': 0.5 } } - { 'type': Affine, 'args': { 'rotate': [-10, 10] } } - { 'type': Resize, 'args': { 'size': [0.5, 3] } } - - Resize: + - EastRandomCropData: size: [640, 640] -# - EastRandomCropData: -# size: [640, 640] -# max_tries: 50 -# keep_ratio: true + max_tries: 50 + keep_ratio: true + - EastRandomCropData: + size: [640, 640] + max_tries: 50 + keep_ratio: true - MakeBorderMap: shrink_ratio: 0.4 thresh_min: 0.3 @@ -97,7 +99,7 @@ Train: - KeepKeys: keep_keys: ['image', 'threshold_map', 'threshold_mask', 'shrink_map', 'shrink_mask'] # the order of the dataloader list loader: - shuffle: False + shuffle: True drop_last: False batch_size_per_card: 4 num_workers: 2