jessemelpolio / Faster_RCNN_for_DOTA

Code used for training Faster R-CNN on DOTA
https://arxiv.org/abs/1711.10398
Apache License 2.0
336 stars 102 forks source link

What's the meaning of the test.txt and train.txt? #22

Open xdd0109 opened 5 years ago

xdd0109 commented 5 years ago

/home/xjd/anaconda2/lib/python2.7/site-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type. from ._conv import register_converters as _register_converters ('Called with argument:', Namespace(cfg='experiments/faster_rcnn/cfgs/DOTA_quadrangle.yaml', frequent=100)) {'CLASS_AGNOSTIC': False, 'MXNET_VERSION': 'mxnet', 'RESIZE_TO_FIX_SIZE': True, 'SCALES': [(1024, 1024)], 'TEST': {'BATCH_IMAGES': 1, 'CXX_PROPOSAL': False, 'DO_MULTISCALE_TEST': False, 'HAS_RPN': True, 'MULTISCALE': [1.0, 1.2, 1.4, 1.6], 'NMS': 0.3, 'PROPOSAL_MIN_SIZE': 0, 'PROPOSAL_NMS_THRESH': 0.7, 'PROPOSAL_POST_NMS_TOP_N': 2000, 'PROPOSAL_PRE_NMS_TOP_N': 20000, 'RPN_MIN_SIZE': 0, 'RPN_NMS_THRESH': 0.7, 'RPN_POST_NMS_TOP_N': 300, 'RPN_PRE_NMS_TOP_N': 6000, 'max_per_image': 300, 'save_img_path': '/home/dj/data/vis', 'test_epoch': 59}, 'TRAIN': {'ALTERNATE': {'RCNN_BATCH_IMAGES': 0, 'RPN_BATCH_IMAGES': 0, 'rfcn1_epoch': 0, 'rfcn1_lr': 0, 'rfcn1_lr_step': '', 'rfcn2_epoch': 0, 'rfcn2_lr': 0, 'rfcn2_lr_step': '', 'rpn1_epoch': 0, 'rpn1_lr': 0, 'rpn1_lr_step': '', 'rpn2_epoch': 0, 'rpn2_lr': 0, 'rpn2_lr_step': '', 'rpn3_epoch': 0, 'rpn3_lr': 0, 'rpn3_lr_step': ''}, 'ASPECT_GROUPING': True, 'BATCH_IMAGES': 1, 'BATCH_ROIS': 128, 'BATCH_ROIS_OHEM': 128, 'BBOX_MEANS': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 'BBOX_NORMALIZATION_PRECOMPUTED': False, 'BBOX_REGRESSION_THRESH': 0.5, 'BBOX_STDS': [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], 'BBOX_WEIGHTS': array([1., 1., 1., 1., 1., 1., 1., 1.]), 'BG_THRESH_HI': 0.5, 'BG_THRESH_LO': 0.1, 'CXX_PROPOSAL': False, 'ENABLE_OHEM': True, 'END2END': True, 'FG_FRACTION': 0.25, 'FG_THRESH': 0.5, 'FLIP': True, 'RESUME': False, 'RPN_BATCH_SIZE': 256, 'RPN_BBOX_WEIGHTS': [1.0, 1.0, 1.0, 1.0], 'RPN_CLOBBER_POSITIVES': False, 'RPN_FG_FRACTION': 0.5, 'RPN_MIN_SIZE': 0, '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': 60, 'lr': 0.0005, 'lr_factor': 0.1, 'lr_step': '45,52', 'model_prefix': 'rcnn_DOTA_quadrangle', 'momentum': 0.9, 'warmup': True, 'warmup_lr': 5e-05, 'warmup_step': 1000, 'wd': 0.0005}, 'dataset': {'NUM_CLASSES': 16, 'dataset': 'DOTA_oriented', 'dataset_path': './path-to-dota-split', 'image_set': 'train', 'proposal': 'rpn', 'root_path': './result', 'test_image_set': 'test'}, 'default': {'frequent': 100, 'kvstore': 'device'}, 'gpus': '0', 'network': {'ANCHOR_RATIOS': [0.5, 1, 2], 'ANCHOR_SCALES': [8, 16, 32], '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': 9, '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/rcnn/DOTA_quadrangle', 'symbol': 'resnet_v1_101_rcnn_quadrangle'} num_images 0 DOTA_oriented_train gt roidb loaded from ./result/cache/DOTA_oriented_train_gt_roidb.pkl append flipped images to roidb filtered 0 roidb entries: 0 -> 0 Traceback (most recent call last): File "experiments/faster_rcnn/rcnn_dota_quadrangle_e2e.py", line 23, in train_quadrangle_end2end.main() File "experiments/faster_rcnn/../../faster_rcnn/train_quadrangle_end2end.py", line 165, in main config.TRAIN.begin_epoch, config.TRAIN.end_epoch, config.TRAIN.lr, config.TRAIN.lr_step) File "experiments/faster_rcnn/../../faster_rcnn/train_quadrangle_end2end.py", line 81, in train_net anchor_ratios=config.network.ANCHOR_RATIOS, aspect_grouping=config.TRAIN.ASPECT_GROUPING) File "experiments/faster_rcnn/../../faster_rcnn/core/loader.py", line 659, in init self.get_batch_individual() File "experiments/faster_rcnn/../../faster_rcnn/core/loader.py", line 807, in get_batch_individual iroidb = [roidb[i] for i in range(islice.start, islice.stop)] IndexError: list index out of range

I have download the dota v1.0 already, and try to run with the usage as you mentioned before,but I can't run successfully.And I think the mistake is caused by dataset processing. I can't understand the meaning of your description of the test.txt ande the train.txt. Are the two txt files used to store the name of the train of test picture, such as P000001? I'm looking forward to hearing from you. Thank you.

jessemelpolio commented 5 years ago

I think you should refer to DOTA_devkit. This should be a data processing problem. @dingjiansw101 can you help solve this?

namitashah commented 5 years ago

Were you able to find out what are these two files - train.txt, test.txt? I couldn't find any instruction on DOTA_devkit. How to generate these two files? @xdd0109 @jessemelpolio

dingjiansw101 commented 5 years ago

Since the train.txt and test.txt represent the names of split images, different split images would get different train.txt and test.txt. I will update the DOTA_devkit later. You can write a script to generate it currently, or you can use a linux command like ls images/* > train.txt.