ImageNet数据集是一个计算机视觉数据集,是由斯坦福大学的李飞飞教授带领创建。该数据集包合 14,197,122张图片和21,841个Synset索引。 ImageNet数据集一直是评估图像分类算法性能的基准。
ImageNet数据集里总共有1000个类别。
链接:https://pan.baidu.com/s/1pd5aATHnp2YshaSHosBXWA
提取码:lnb2
2、具体介绍
数据集包含1000类对象的图像。这些类别一一对应于WordNet中1000个synsets (同义词名词集)。
仅供分类和定位任务使用:
图片:
- 训练集 ILSVRC2012_img_train、
- 验证集 ILSVRC2012_img_val.tar、
- 测试集 ILSVRC2012_img_test.tar
类名 imagenet-classes.txt
ImageNet的处理(Linux)1、对ILSVRC2012_img_train文件夹的处理
- 在当前文件夹中新建 train 文件夹,将当前文件夹中的压缩包复制到 train 文件中;
- 进入 train 文件夹中,解压压缩包并且删除;
- 解压之后得到多个压缩文件,继续解压,创建对应的文件夹来保存解压出来的图片。
- 处理命令如下
mkdir train cp ./ILSVRC2012_img_train/*.tar ./train cd train find . -name "*.tar" | while read NAME ; do mkdir -p "${NAME%.tar}"; tar -xvf "${NAME}" -C "${NAME%.tar}"; rm -f "${NAME}"; done cd ..
2、对ILSVRC2012_img_val.tar 的处理
分为两部分
-
- 在当前文件夹中新建 val 文件夹,将当前文件夹中的压缩包复制到 val 文件中;
- 进入 val 文件夹中,解压压缩包并且删除;
- 解压出来全部图片;
mkdir val cp ./ILSVRC2012_img_val.tar ./val cd val tar -xvf ILSVRC2012_img_val.tar && rm -f ILSVRC2012_img_val.tar cd .. # 解压ILSVRC2012_devkit_t12.tar tar -xvf IILSVRC2012_devkit_t12.tar
- 根据 Development kit(Task 1 & 2) 中的文件对 val 数据集图片进行归档.
在同一级目录创建valprep.py文件,
from scipy import io import os import shutil def move_valimg(val_dir='./val', devkit_dir='./ILSVRC2012_devkit_t12'): """ move valimg to correspongding folders. val_id(start from 1) -> ILSVRC_ID(start from 1) -> WIND organize like: /val /n01440764 images /n01443537 images ..... """ # load synset, val ground truth and val images list synset = io.loadmat(os.path.join(devkit_dir, 'data', 'meta.mat')) ground_truth = open(os.path.join(devkit_dir, 'data', 'ILSVRC2012_validation_ground_truth.txt')) lines = ground_truth.readlines() labels = [int(line[:-1]) for line in lines] root, _, filenames = next(os.walk(val_dir)) for filename in filenames: # val image name -> ILSVRC ID -> WIND val_id = int(filename.split('.')[0].split('_')[-1]) ILSVRC_ID = labels[val_id-1] WIND = synset['synsets'][ILSVRC_ID-1][0][1][0] print("val_id:%d, ILSVRC_ID:%d, WIND:%s" % (val_id, ILSVRC_ID, WIND)) # move val images output_dir = os.path.join(root, WIND) if os.path.isdir(output_dir): pass else: os.mkdir(output_dir) shutil.move(os.path.join(root, filename), os.path.join(output_dir, filename)) if __name__ == "__main__": move_valimg()
3、对ILSVRC2012_img_test.tar 的处理
- 在当前文件夹中新建 test 文件夹,将当前文件夹中的压缩包复制到 test 文件中;
- 进入 test 文件夹中,解压压缩包并且删除;
- 解压出来全部图片。
mkdir val cp ./ILSVRC2012_img_test.tar ./val cd val tar -xvf ILSVRC2012_img_test.tar && rm -f ILSVRC2012_img_test.tar cd ..
最后,将train、val、test放在同一目录(ILSVRC2012)下
参考: https://blog.csdn.net/chenxyelin/article/details/112848166https://blog.csdn.net/weixin_43233550/article/details/110715096
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)