Beispiel #1
0
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
Beispiel #4
0
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
Beispiel #5
0
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
Beispiel #6
0
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
Beispiel #7
0
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