使用Detection训练后测试的问题
Created by: shuxsu
测试结果如下 分别为迭代5W 4W 1W次的结果测试,配置信息为:
architecture: MaskRCNN train_feed: MaskRCNNTrainFeed eval_feed: MaskRCNNEvalFeed test_feed: MaskRCNNTestFeed use_gpu: true max_iters: 180000 snapshot_iter: 10000 log_smooth_window: 20 save_dir: output pretrain_weights: https://paddlemodels.bj.bcebos.com/object_detection/mask_rcnn_r50_1x.tar metric: COCO weights: output/mask_rcnn_r50_1x/50000/ num_classes: 7 finetune_exclude_pretrained_params: ['cls_score','bbox_pred','mask_fcn_logits']
MaskRCNN: backbone: ResNet rpn_head: RPNHead roi_extractor: RoIAlign bbox_assigner: BBoxAssigner bbox_head: BBoxHead mask_assigner: MaskAssigner mask_head: MaskHead
ResNet: norm_type: affine_channel norm_decay: 0. depth: 50 feature_maps: 4 freeze_at: 2
ResNetC5: depth: 50 norm_type: affine_channel
RPNHead: anchor_generator: anchor_sizes: [32, 64, 128, 256, 512] aspect_ratios: [0.5, 1.0, 2.0] stride: [16.0, 16.0] variance: [1.0, 1.0, 1.0, 1.0] rpn_target_assign: rpn_batch_size_per_im: 256 rpn_fg_fraction: 0.5 rpn_negative_overlap: 0.3 rpn_positive_overlap: 0.7 rpn_straddle_thresh: 0.0 train_proposal: min_size: 0.0 nms_thresh: 0.7 pre_nms_top_n: 6000 post_nms_top_n: 2000 test_proposal: min_size: 0.0 nms_thresh: 0.7 pre_nms_top_n: 1000 post_nms_top_n: 1000
RoIAlign: resolution: 14 spatial_scale: 0.0625 sampling_ratio: 0
BBoxHead: head: ResNetC5 nms: keep_top_k: 100 nms_threshold: 0.5 normalized: false score_threshold: 0.05
MaskHead: dilation: 1 conv_dim: 256 resolution: 14
BBoxAssigner: batch_size_per_im: 512 bbox_reg_weights: [0.1, 0.1, 0.2, 0.2] bg_thresh_hi: 0.5 bg_thresh_lo: 0.0 fg_fraction: 0.25 fg_thresh: 0.5
MaskAssigner: resolution: 14
LearningRate: base_lr: 0.0015 schedulers:
- !PiecewiseDecay gamma: 0.1 milestones: [120000, 160000] #values: [1.0 , 0.5 , 0.1]
- !LinearWarmup start_factor: 0.3333333333333333 steps: 500
OptimizerBuilder: optimizer: momentum: 0.9 type: Momentum regularizer: factor: 0.0001 type: L2
MaskRCNNTrainFeed: batch_size: 4 dataset: dataset_dir: /home/shuxsu/models-develop/PaddleCV/PaddleDetection/dataset/coco annotation: /home/shuxsu/models-develop/PaddleCV/PaddleDetection/dataset/coco/annotations/instance_train.json image_dir: train num_workers: 10 MaskRCNNEvalFeed: batch_size: 1 dataset: dataset_dir: /home/shuxsu/models-develop/PaddleCV/PaddleDetection/dataset/coco annotation: /home/shuxsu/models-develop/PaddleCV/PaddleDetection/dataset/coco/annotations/instance_val.json image_dir: val MaskRCNNTestFeed: batch_size: 1 dataset: annotation: /home/shuxsu/models-develop/PaddleCV/PaddleDetection/dataset/coco/annotations/instance_val.json image_shape: [3, 2048,1024] 运行的训练命令为
python train.py -c=/home/shuxsu/models-develop/PaddleCV/PaddleDetection/configs/mask_rcnn_r50_1x.yml -d=/home/shuxsu/models-develop/PaddleCV/PaddleDetection/dataset/coco
修改后脚本文件的数据集json instance_train.zip 效果并不理想,这个数据集是通过cityscape数据集转换成coco数据集的 转换脚本为paddle工作人员提供,原脚本文件为: cityscape1coco.zip 由于数据集类别过多,项目需求并不需要,自行修改脚本提取特定的类别,修改后的脚本文件如下: cityscape2coco.zip
现在的训练效果并不理想,其中很多bbox都在上面,类别也不显示,不知道其中的原因为何,希望能指点一下,不胜感激。