msracver / FCIS

Fully Convolutional Instance-aware Semantic Segmentation
MIT License
1.57k stars 415 forks source link

When I train my own coco-like datasets,I successfully train and test the model,but the result of all AP is 0. #143

Closed CPFelix closed 5 years ago

CPFelix commented 5 years ago

When I train my own coco-like datasets,I successfully train and test the model,but the result of all AP is 0. I don't know whether casused by dataset or it didn't converge?And fellow is my config and result: training config:{'BINARY_THRESH': 0.4, 'CLASS_AGNOSTIC': True, 'MASK_SIZE': 21, 'MXNET_VERSION': 'mxnet', 'SCALES': [(756, 1008)], 'TEST': {'BATCH_IMAGES': 1, 'CXX_PROPOSAL': False, 'HAS_RPN': True, 'ITER': 2, 'MASK_MERGE_THRESH': 0.5, 'MIN_DROP_SIZE': 2, 'NMS': 0.3, 'PROPOSAL_MIN_SIZE': 2, 'PROPOSAL_NMS_THRESH': 0.7, 'PROPOSAL_POST_NMS_TOP_N': 2000, 'PROPOSAL_PRE_NMS_TOP_N': 20000, 'RPN_MIN_SIZE': 2, 'RPN_NMS_THRESH': 0.7, 'RPN_POST_NMS_TOP_N': 100, 'RPN_PRE_NMS_TOP_N': 2000, 'USE_GPU_MASK_MERGE': True, 'USE_MASK_MERGE': True, 'test_epoch': 21}, 'TRAIN': {'ASPECT_GROUPING': True, 'BATCH_IMAGES': 1, 'BATCH_ROIS': -1, 'BATCH_ROIS_OHEM': 128, 'BBOX_MEANS': [0.0, 0.0, 0.0, 0.0], 'BBOX_NORMALIZATION_PRECOMPUTED': True, 'BBOX_REGRESSION_THRESH': 0.5, 'BBOX_STDS': [0.2, 0.2, 0.5, 0.5], 'BBOX_WEIGHTS': array([1., 1., 1., 1.]), 'BG_THRESH_HI': 0.5, 'BG_THRESH_LO': 0, 'BINARY_THRESH': 0.4, 'CONVNEW3': True, 'CXX_PROPOSAL': False, 'ENABLE_OHEM': True, 'END2END': True, 'FG_FRACTION': 0.25, 'FG_THRESH': 0.5, 'FLIP': True, 'GAP_SELECT_FROM_ALL': False, 'IGNORE_GAP': False, 'LOSS_WEIGHT': [1.0, 10.0, 1.0], 'RESUME': False, 'RPN_ALLOWED_BORDER': 0, 'RPN_BATCH_SIZE': 128, 'RPN_BBOX_WEIGHTS': [1.0, 1.0, 1.0, 1.0], 'RPN_CLOBBER_POSITIVES': False, 'RPN_FG_FRACTION': 0.5, 'RPN_MIN_SIZE': 2, 'RPN_NEGATIVE_OVERLAP': 0.3, 'RPN_NMS_THRESH': 0.7, 'RPN_POSITIVE_OVERLAP': 0.7, 'RPN_POSITIVE_WEIGHT': -1.0, 'RPN_POST_NMS_TOP_N': 300, 'RPN_PRE_NMS_TOP_N': 6000, 'SHUFFLE': True, 'begin_epoch': 0, 'end_epoch': 22, 'lr': 0.0001, 'lr_step': '12,18', 'model_prefix': 'e2e', 'momentum': 0.9, 'warmup': True, 'warmup_lr': 5e-05, 'warmup_step': 250, 'wd': 0.0005}, 'dataset': {'NUM_CLASSES': 2, 'dataset': 'coco', 'dataset_path': './data/mango', 'image_set': 'mango_train_76', 'proposal': 'rpn', 'root_path': './data', 'test_image_set': 'mango_val_30'}, 'default': {'frequent': 100, 'kvstore': 'device'}, 'gpus': '0', 'network': {'ANCHOR_RATIOS': [0.5, 1, 2], 'ANCHOR_SCALES': [16, 32, 64, 128, 256], 'FIXED_PARAMS': ['conv1', 'bn_conv1', 'res2', 'bn2', 'gamma', 'beta'], 'FIXED_PARAMS_SHARED': ['conv1', 'bn_conv1', 'res2', 'bn2', 'res3', 'bn3', 'res4', 'bn4', 'gamma', 'beta'], 'IMAGE_STRIDE': 0, 'NUM_ANCHORS': 15, 'PIXEL_MEANS': array([103.06, 115.9 , 123.15]), 'RCNN_FEAT_STRIDE': 16, 'RPN_FEAT_STRIDE': 16, 'pretrained': './model/pretrained_model/resnet_v1_101', 'pretrained_epoch': 0}, 'output_path': './output/fcis/mango', 'symbol': 'resnet_v1_101_fcis'} train: 2018-11-24 22:45:30,791 Epoch[21] Train-RPNAcc=0.808123 2018-11-24 22:45:30,791 Epoch[21] Train-RPNLogLoss=0.429338 2018-11-24 22:45:30,791 Epoch[21] Train-RPNL1Loss=0.544096 2018-11-24 22:45:30,791 Epoch[21] Train-FCISAcc=0.954281 2018-11-24 22:45:30,791 Epoch[21] Train-FCISAccFG=0.213988 2018-11-24 22:45:30,791 Epoch[21] Train-FCISLogLoss=0.174537 2018-11-24 22:45:30,791 Epoch[21] Train-FCISL1Loss=0.011554 2018-11-24 22:45:30,791 Epoch[21] Train-FCISMaskLoss=0.378973 2018-11-24 22:45:30,791 Epoch[21] Time cost=4369.082 test:


all               0.0
mango             0.0
CPFelix commented 5 years ago

I later found perhaps because it didn't converge,but is there any problem with my config???

CPFelix commented 5 years ago

I got the RPN_MIN_SIZE' and ANCHOR_SCALES wrong.

ccxietao commented 5 years ago

I also encountered the same problem, how do you solve it?

ccxietao commented 5 years ago

I got the RPN_MIN_SIZE' and ANCHOR_SCALES wrong.

Hello, I have encountered the same problem. When testing, map=0, how do you solve it?

CPFelix commented 5 years ago

@ccxietao The code of reading data has some problem,you should check it.