赞
踩
ImageNet图像数据集始于2009年,当时李飞飞教授等在CVPR2009上发表了一篇名为《ImageNet: A Large-Scale Hierarchical Image Database》的论文,之后就是基于ImageNet数据集的7届ImageNet挑战赛(2010年开始)。
数据下载:ImageNet,tiny-imagenet
Tiny Imagenet有 200 类。 每个类有 500 张训练图像、50 张验证图像和 50 张测试图像。
数据集下载之后的相关压缩包:
ILSVRC2012_img_train.tar ILSVRC2012_img_val.tar
注:1.这里没有下载test集,只下载了训练和验证集;
2.数据的详细说明可以参考这个中文翻译版;也可以在官网直接查看;
训练集数据预处理
ILSVRC2012_img_train.tar压缩包,里面包含120多万的自然图像,大概有150G。含有1000个类别的压缩包,分别对应1000个类别。每个压缩包解压之后都可以得到对应的类别照片。
训练集预处理的目标是将1000个tar解压至train文件中,对应的每类图片建立自己的对应文件夹,即在tran文件中含有1000个子文件夹。具体文件结构如下:
---train ---------n01440764 ---------n01443537 ---------... ---------n15075141
处理的过程可以使用shell脚本或python程序进行处理。我是直接使用的命令,跟shell脚本是一样的,只是我是一个命令进行的,具体形式如下:
# step 1 # 创建train文件夹,将tar转移到train文件中,并cd到train文件夹 mkdir train && mv ILSVRC2012_img_train.tar train/ && cd train # step 2 # 解压 train压缩包并删除train压缩包 # tar -xvf ILSVRC2012_img_train.tar && rm -f ILSVRC2012_img_train.tar # step 3 # 解压1000个类别压缩包并创建对应的子文件。 # find . -name "*.tar" | while read NAME ; do mkdir -p "${NAME%.tar}"; tar -xvf "${NAME}" -C "${NAME%.tar}"; rm -f "${NAME}"; done
验证集数据预处理
ILSVRC2012_img_val.tar中含有50000张图片,解压之后是直接是图像,并没有按照类别区分开,具体形式如下:
ILSVRC2012_val_00000001.JPEG ILSVRC2012_val_00000002.JPEG ... ILSVRC2012_val_00049999.JPEG ILSVRC2012_val_00050000.JPEG
关于val的处理方式,根train类似,都是得到根train一样的文件结构:
---val ---------n01440764 ---------n01443537 ---------... ---------n15075141
具体命令如下:
# Step 1 #创建val文件夹,将val.tar移动到val文件中,cd到val文件,解压 mkdir val && mv ILSVRC2012_img_val.tar val/ && cd val && tar -xvf ILSVRC2012_img_val.tar # Step 2 # 重新分类 wget -qO- https://raw.githubusercontent.com/soumith/imagenetloader.torch/master/valprep.sh | bash
注:在step 2重新分类中用到了一个valprep.sh文件,这样可以帮助我们得到和训练集一样的文件结构;
下载后解压到指定文件夹或者直接解压
unzip archive_name.zip -d new_dir # 解压到指定文件夹
解压后得到的train和val文件中的结构是不同的。train中每一类一个文件夹,val中所有图片放在images文件夹中。需要重新处理一下
内容未完结,很多内容是抄的,非盈利性质使用,侵删。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。