def combined_roidb(imdb_names): """ Combine multiple roidbs """ def get_roidb(imdb_name): #实例化一个pascal_voc类对象 imdb = get_imdb(imdb_name) print('Loaded dataset `{:s}` for training'.format(imdb.name)) #为imbd.roidb_handler赋值为self.gt_roidb imdb.set_proposal_method("gt") print('Set proposal method: {:s}'.format("gt")) roidb = get_training_roidb(imdb) return roidb roidbs = [get_roidb(s) for s in imdb_names.split('+')] roidb = roidbs[0] if len(roidbs) > 1: for r in roidbs[1:]: roidb.extend(r) tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: #实例化一个pascal_voc类对象 imdb = get_imdb(imdb_names) return imdb, roidb
def combined_roidb(imdb_names): """Combine multiple roidbs""" # 融合roidb,roidb来自于数据集(实验可能用到多个),所以需要combine多个数据集的roidb def get_roidb(imdb_name): imdb = get_imdb(imdb_name) print('imdb*******/n', imdb) print('Loaded dataset `{:s}` for training'.format(imdb_name)) imdb.set_proposal_method("gt") # 设置proposal方法 print('Set proposal method: gt') roidb = get_training_roidb(imdb) # 得到用于训练的roidb,定义在train.py,进行了水平翻转,以及为原始roidb添加了一些说明性的属性 return roidb roidbs = [get_roidb(s) for s in imdb_names.split('+')] roidb = roidbs[0] if len(roidbs) > 1: # 如果大于一个,则进行combine roidb for r in roidbs[1:]: roidb.extend(r) tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: imdb = get_imdb(imdb_names) # get_imdb方法定义在factory.py中,通过名字得到imdb return imdb, roidb
def combined_roidb(imdb_names): """ Combine multiple roidbs """ def get_roidb(imdb_name): # 构造了两个类:数据集类pascal_voc和图片类imdb imdb = get_imdb(imdb_name) print('Loaded dataset `{:s}` for training'.format(imdb.name)) # 即选择真实物体groundtruth imdb.set_proposal_method("gt") print('Set proposal method: {:s}'.format("gt")) # 获得训练数据 roidb = get_training_roidb(imdb) return roidb roidbs = [get_roidb(s) for s in imdb_names.split('+')] roidb = roidbs[0] if len(roidbs) > 1: for r in roidbs[1:]: roidb.extend(r) tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: imdb = get_imdb(imdb_names) return imdb, roidb
def combined_roidb(imdb_names): """ Combine multiple roidbs """ #print('get_roidb') def get_roidb(imdb_name): imdb = get_imdb(imdb_name) print('Loaded Dataset `{:s}` for training'.format(imdb.name)) imdb.set_proposal_method("gt") print('Set proposal method: {:s}'.format("gt")) roidb = get_training_roidb(imdb) return roidb roidbs = [get_roidb(s) for s in imdb_names.split('+')] roidb = roidbs[0] #print('roidbs',roidbs) if len(roidbs) > 1: for r in roidbs[1:]: roidb.extend(r) tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: imdb = get_imdb(imdb_names) return imdb, roidb
def combined_roidb(imdb_names): """ Combine multiple roidbs """ if imdb_names.split('+').__len__() > 1: tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: imdb = get_imdb(imdb_names) return imdb
def combined_roidb(imdb_names): """ Combine multiple roidbs """ roidbs = [get_roidb(s) for s in imdb_names.split('+')] roidb = roidbs[0] if len(roidbs) > 1: for r in roidbs[1:]: roidb.extend(r) tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: imdb = get_imdb(imdb_names) return imdb, roidb
def combined_roidb(imdb_names): def get_roidb(imdb_name): # 初始化了imdb,已经获取了一些基础配置 imdb = get_imdb(imdb_name) print('Loaded dataset `{:s}` for training'.format(imdb.name)) imdb.set_proposal_method("gt") print('Set proposal method: {:s}'.format("gt")) # 为imdb.roidb添加了一些配置,宽高,最大类别等 roidb = get_training_roidb(imdb) return roidb roidbs = [get_roidb(s) for s in imdb_names.split('+')] roidb = roidbs[0] if len(roidbs) > 1: for r in roidbs[1:]: roidb.extend(r) tmp = get_imdb(imdb_names.split('+')[1]) imdb = imdb2(imdb_names, tmp.classes) else: imdb = get_imdb(imdb_names) return imdb, roidb