• 目标检测数据集(皮卡丘)


    合成的数据集

    %matplotlib inline
    import gluonbook as gb
    from mxnet import gluon, image
    from mxnet.gluon import utils as gutils
    import os
    
    def _download_pikachu(data_dir):
        root_url = ('https://apache-mxnet.s3-accelerate.amazonaws.com/'
                    'gluon/dataset/pikachu/')
        dataset = {'train.rec': 'e6bcb6ffba1ac04ff8a9b1115e650af56ee969c8',
                   'train.idx': 'dcf7318b2602c06428b9988470c731621716c393',
                   'val.rec': 'd6c33f799b4d058e82f2cb5bd9a976f69d72d520'}
        for k, v in dataset.items():
            gutils.download(root_url + k, os.path.join(data_dir, k), sha1_hash=v)
    
    
    def load_data_pikachu(batch_size, edge_size=256):  # edge_size:输出图像的宽和高。
        data_dir = './data/pikachu'
        _download_pikachu(data_dir)
        train_iter = image.ImageDetIter(
            path_imgrec=os.path.join(data_dir, 'train.rec'),
            path_imgidx=os.path.join(data_dir, 'train.idx'),
            batch_size=batch_size,
            data_shape=(3, edge_size, edge_size),  # 输出图像的形状。
            shuffle=True,  # 以随机顺序读取数据集。
            rand_crop=1,  # 随机裁剪的概率为 1。
            min_object_covered=0.95, max_attempts=200)
        val_iter = image.ImageDetIter(
            path_imgrec=os.path.join(data_dir, 'val.rec'), batch_size=batch_size,
            data_shape=(3, edge_size, edge_size), shuffle=False)
        return train_iter, val_iter
    
    
    batch_size,edge_size = 32,256
    train_iter, _ = load_data_pikachu(batch_size,edge_size)
    batch = train_iter.next()
    
    batch.data[0].shape
    batch.label[0].shape
    
    imgs = (batch.data[0][0:10].transpose((0,2,3,1))) / 255
    axes = gb.show_images(imgs,2,5).flatten()
    print(len(axes))
    for ax, label in zip(axes, batch.label[0][0:10]):
        print(label)
        gb.show_bboxes(ax, [label[0][1:5] * edge_size], colors=['w'])

    batch.data[0].shape

    还是同之前的批量数据一样(批量大小,通道,高,宽)

    batch.label[0].shape

    (批量大小,m,5)m : 单个图像中最多含有的边界框个数,5 :(是否是非法边界框(0~1))

  • 相关阅读:
    02-CSS基础与进阶-day8_2018-09-10-20-14-46
    02-CSS基础与进阶-day7_2018-09-07-21-42-30
    02-CSS基础与进阶-day7_2018-09-07-20-25-28
    02-CSS基础与进阶-day7_2018-09-07-20-15-37
    02-CSS基础与进阶-day6_2018-09-05-22-35-51
    linux(5)查看历史命令执行记录history
    linux(4)Linux 文件内容查看
    linux(3) 处理目录的常用命令
    linux(2)系统目录结构
    docker(12)使用Dockerfile创建jenkins+python3+pytest环境
  • 原文地址:https://www.cnblogs.com/TreeDream/p/10144608.html
Copyright © 2020-2023  润新知