¶引言
在计算机视觉方面的工作,我们常常需要用到很多图像数据集.像ImageNet这样早已大名鼎鼎的数据集,我等的百十个G的硬盘容量怕是怎么也承载不下;本文中,将给出一些Hello world级的图像数据集生成方法,以及其他相关图像数据资源的整理.
本文的主要内容包括:
- MNIST, CIFAR-10, CIFAR-100等.png或.jpg格式数据集的生成方法;
- 如何编写脚本生成图像数据,并更根据标签文件自动归类;
- 如何使用Digist工具生成这些数据集;
- .h5格式数据文件格式查看方式;
- 相关数据集的下载地址.
¶生成图像数据
MNIST, CIFAR-10, CIFAR-100等数据在其官网都有相关的介绍,这里也给出相关的数据集的官方地址:
通过官网的介绍可以看出,官网给出的数据集大多都是二进制格式和一些python,matlab格式;有时候我们需要的是原始图像数据,这个时候我们就需要使用代码或者借助其他工具自己生成了.
代码生成的方式,在网上也有很多,但良莠不齐.大多需要自己根据官网给出的数据格式,自己更具格式特征生成原始数据,这里就不做具体介绍了,网上有很多.这里介绍一些比较简单快捷的方式,来帮助我们快速得到原始图像数据.
¶CIFAR-10 图像数据
这部分是我从kaggle cifar-10 官网提供的CIFAR-10数据集生成的,原始数据集(.png格式,比较符合我们的要求),但存在一个问题,所给的图片混乱的排列在train目录下,未按照原始10分类进行分类,但好在给出了trainLabels.csv类别映射文件;所以,我们需要解决的首要问题就是,根据这个映射文件自动分成10类别,并存放在10个文件目录下.
下边直接给出我的代码:
1 | # coding: utf-8 |
这样,便分成了10个类别,并根据类别存放在不同的目录下,每一类别5000张图片;在我的Windows平台下耗时1.5个小时(包括文件重命名)才跑完,确实有点慢.下图为最终的结果图:
¶caffe图像化操作工具digits工具生成图像数据集
详细的使用方法可移步这篇博文:http://www.cnblogs.com/denny402/p/5136155.html
需要安装caffe和digits工具,使用工具可直接生成自动归类的图片数据,速度很快可以一试.
¶.h5文件结构查看器
在做卷积神经网络的时候,我们经常需要保存.h5数据文件,但有时候我们需要利用这些.h5文件,比如在进行transfor Learning的时候,就需要根据.h5文件的格式进行层冻结.
除了自己用代码一窥.h5文件结构外,还有什么快捷的工具吗?有的,matlab就提供了现成的调用方法.文档地址在这里:http://cn.mathworks.com/help/matlab/ref/h5disp.html
如,我们可以使用matlab命令查看vgg16模型的权重结构
1 | >> h5disp('vgg16_weights.h5') |
结果显示如下:
1 | >> h5disp('vgg16_weights.h5') |
¶参考资料
[1]. https://www.cs.toronto.edu/~kriz/cifar.html
[2]. https://www.kaggle.com/c/cifar-10/data
[3]. http://cn.mathworks.com/help/matlab/ref/h5disp.html
[4]. http://www.cnblogs.com/denny402/p/5136155.html