Exemplo n.º 1
0
 def get_roidb(imdb_name):
     imdb = get_imdb(imdb_name)
     print('Loaded dataset `{:s}` for training'.format(imdb.name))
     imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
     print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
     roidb = get_training_roidb(imdb)
     return roidb
Exemplo n.º 2
0
 def get_roidb(imdb_name):
   imdb = get_imdb(imdb_name)
   print('Loaded dataset `{:s}` for training'.format(imdb.name))
   imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
   print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
   roidb = get_training_roidb(imdb)
   return roidb
Exemplo n.º 3
0
 def get_roidb(imdb_name):
     imdb = get_imdb(imdb_name)
     print('Loaded dataset `{:s}` for training'.format(imdb.name))
     imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)  # 设置proposal方法,这里是selective search(config.py)
     print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
     roidb = get_training_roidb(imdb)  # 得到用于训练的roidb,定义在train.py,进行了水平翻转,以及为原始roidb添加了一些说明性的属性
     return roidb
Exemplo n.º 4
0
 def get_roidb(imdb_name):
   imdb = get_imdb(imdb_name)#得到对应数据集的对象,coco和pascal_voc都是imdb的子类
   print('Loaded dataset `{:s}` for training'.format(imdb.name))#加载数据集 图片
   imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
   print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))#区域准则方法是gt,
   roidb = get_training_roidb(imdb)#加载roi
   return roidb
Exemplo n.º 5
0
def combined_roidb(imdb_names):
    """
    Combine multiple roidbs
    """
    def get_roidb(imdb_name):
        imdb = get_imdb(imdb_name)
        print('Loaded dataset `{:s}` for training'.format(imdb.name))
        imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
        print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
        roidb = get_training_roidb(imdb)
        return imdb, roidb


#     roidbs = [get_roidb(s) for s in imdb_names.split('+')]
#     imdb, roidb = roidbs[0]

    imdb = get_imdb(imdb_names)
    print('Loaded dataset `{:s}` for training'.format(imdb.name))
    imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
    print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
    roidb = get_training_roidb(imdb)
    #     if len(roidbs) > 1:
    #         for r in roidbs[1:]:
    #             roidb.extend(r)
    #         tmp = get_imdb(imdb_names.split('+')[1])
    #         imdb = datasets.imdb.imdb(imdb_names, tmp.classes)
    #     else:
    #         imdb = get_imdb(imdb_names)
    return imdb, roidb
Exemplo n.º 6
0
 def get_roidb(imdb_name):
   imdb = get_imdb(imdb_name)  # factory.py在工厂类中的get_imdb()
   print('Loaded dataset `{:s}` for training'.format(imdb.name))
   # 读取imdb后,执行set_proposal_method函数,该函数把字符串转成表达式
   imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
   print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
   roidb = get_training_roidb(imdb)
   return roidb
Exemplo n.º 7
0
def combined_roidb(imdb_name):
    """
    Combine multiple roidbs
    """
    imdb = get_imdb(imdb_name)
    print('Loaded dataset `{:s}` for training'.format(imdb.name))
    roidb = get_training_roidb(imdb)
    #if cfg.TRAIN.USE_RPN_DB:
    #    roidb = imdb.add_rpn_rois()
    return imdb, roidb
Exemplo n.º 8
0
 def get_roidb(imdb_name):
     ## imdb为pascal_voc类的一个对象
     ## 内容里有该类里的各种self名称与操作,包括roi信息等等
     imdb = get_imdb(imdb_name)
     print('Loaded dataset `{:s}` for training'.format(imdb.name))
     ## __C.TRAIN.PROPOSAL_METHOD = 'gt'
     imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)
     print('Set proposal method: {:s}'.format(cfg.TRAIN.PROPOSAL_METHOD))
     ## get_training_roidb函数返回imdb对象的各种roi与图片信息,用于训练
     ## 这是一个列表,列表中存的是各个图片的字典,字典中存roi信息,字典引索为图片引索
     roidb = get_training_roidb(imdb)
     return roidb
Exemplo n.º 9
0
 def get_roidb(imdb_name):
     imdb = get_imdb(imdb_name)
     print('Loaded dataset `{:s}` for training'.format(imdb.name))
     imdb.set_proposal_method(cfg.TRAIN.PROPOSAL_METHOD)  #这句是什么意思????
     print('Set proposal method: {:s}'.format(
         cfg.TRAIN.PROPOSAL_METHOD))  ##cfg.TRAIN.PROPOSAL_METHOD='gt'
     roidb = get_training_roidb(imdb)
     '''
 roidb是一个列表,长度为10022,(10022,),,每个元素是一个字典
 imdb.roidb[0]:
 {
   'gt_classes': array([9, 9, 9], dtype=int32), 'max_classes': array([9, 9, 9]), 
   'image': '/home/beitadoge/.../000005.jpg', 'flipped': False, 'width': 500, 
   'boxes': array([[262, 210, 323, 338],[164, 263, 252, 371],[240, 193, 294, 298]], dtype=uint16), 
   'max_overlaps': array([ 1.,  1.,  1.], dtype=float32), 'height': 375, 
   'seg_areas': array([ 7998.,  9701.,  5830.], dtype=float32), 
   'gt_overlaps': <3x21 sparse matrix of type '<type 'numpy.float32'>'with 3 stored elements in Compressed Sparse Row format>
 }
 '''
     return roidb
    if args.cfg_file is not None:
        cfg_from_file(args.cfg_file)
    if args.set_cfgs is not None:
        cfg_from_list(args.set_cfgs)

    print('Using config:')
    pprint.pprint(cfg)

    np.random.seed(cfg.RNG_SEED)

    # train set
    # imdb, roidb = combined_roidb(args.imdb_name)
    # print('{:d} roidb entries'.format(len(roidb)))
    imdb = get_imdb(args.imdb_name)
    roidb = get_training_roidb(imdb)
    valroidb = roidb
    # output directory where the models are saved
    output_dir = get_output_dir(imdb, args.tag)
    print('Output will be saved to `{:s}`'.format(output_dir))

    # tensorboard directory where the summaries are saved during training
    tb_dir = get_output_tb_dir(imdb, args.tag)
    print('TensorFlow summaries will be saved to `{:s}`'.format(tb_dir))

    # also add the validation set, but with no flipping images
    orgflip = cfg.TRAIN.USE_FLIPPED
    cfg.TRAIN.USE_FLIPPED = False
    # _, valroidb = combined_roidb(args.imdbval_name)
    print('{:d} validation roidb entries'.format(len(valroidb)))
    cfg.TRAIN.USE_FLIPPED = orgflip
Exemplo n.º 11
0
 def get_roidb(imdb_name):
     imdb = get_imdb(imdb_name)
     print('Loaded dataset `{:s}` for training'.format(imdb.name))
     roidb = get_training_roidb(imdb)
     return roidb
Exemplo n.º 12
0
    print(args)

    if args.cfg_file is not None:
        cfg_from_file(args.cfg_file)
    if args.set_cfgs is not None:
        cfg_from_list(args.set_cfgs)

    print('Using config:')
    pprint.pprint(cfg)

    np.random.seed(cfg.RNG_SEED)

    # train set
    # imdb, roidb = combined_roidb(args.imdb_name)
    imdb = get_imdb(args.imdb_name)
    roidb = get_training_roidb(imdb)
    print('{:d} roidb entries'.format(len(roidb)))

    # output directory where the models are saved
    output_dir = get_output_dir(imdb, args.tag)
    print('Output will be saved to `{:s}`'.format(output_dir))

    # tensorboard directory where the summaries are saved during training
    tb_dir = get_output_tb_dir(imdb, args.tag)
    print('TensorFlow summaries will be saved to `{:s}`'.format(tb_dir))

    # also add the validation set, but with no flipping images
    orgflip = cfg.TRAIN.USE_FLIPPED
    cfg.TRAIN.USE_FLIPPED = False
    _, valroidb = combined_roidb(args.imdbval_name)
    print('{:d} validation roidb entries'.format(len(valroidb)))