CAFFE之将图片转化为lmdb格式脚本【直接运行版】(内含生成train.txt和test.txt)

标签: caffe 深度学习


作者:贾金让

本人博客的链接:http://blog.csdn.net/jiajinrang93
本脚本的新版打包下载地址:http://download.csdn.net/download/jiajinrang93/99762494

一.脚本实现的功能

1.将训练数据集转化为lmdb格式;
2.将测试数据集转化为lmdb格式;
3.生成mean.binaryproto文件。

二.原理简述

对于使用caffe的人来说,预处理中非常重要的一步就是格式的转换,将常用的图片(.jpg、.png等)转换为caffe使用的lmdb是非常必要的一步。

caffe中提供了将图片转化为lmdb的可执行文件,即处于caffe/build/tools目录下的convert_imageset可执行文件,不过它的使用有三个输入参数,即需要转化成lmdb的图片文件,用于转化的train.txt文件(或test.txt)以及生成lmdb的位置参数。

其中train.txt(test.txt)文件是需要我们自己生成的,对于大数据来说,手动生成非常之繁琐和麻烦。下图是train.txt的示例,可以看到不仅要在文件中存放图片的名字,还要有子路径和所属类别。

image_1bgs70kfc1ph31fil13244clsksm.png-230.3kB

所以我们也需要一个脚本来自动完成这项功能。

三.程序包简介及使用说明

完整的程序包应该是下面这个样子的。

image_1bgs76ru8162e1rqkfjb17201d5b13.png-163.7kB

在运行前建议看看readme.md文件,里面也有详细的操作说明。

下面介绍各个文件夹的作用:
/data :用于存放生成的lmdb格式文件和mean文件,里面如下图:

image_1bgs7b64b1as31sur7tn1rdo1h1m1g.png-159.5kB

当然脚本没有运行时里面是没有mean文件的。
/sh :用于存放生成train.txt、test.txt、lmdb和mean的脚本文件,里面如下图:

image_1bgs7f58257v1hu4svt10gp1n562a.png-155.9kB

/tools :用于存放调用的caffe的convert_imageset和compute_image_mean两个可执行文件,需要手动从你的caffe目录下,build/toools/目录里拷贝到这里,拷贝后里面是这个样的:

image_1bgs7i0li1tu3kpc28i1q4taj237.png-157.7kB

/train :用于存放你需要转换成lmdb格式的源训练图片,里面是按类分好的子文件夹,有几类就有几个文件夹,命名从0开始(例:我的训练数据有两类,男和女,那么0代表男,1代表女),如下图所示:

image_1bgs7mulk1a9i1ja74rsvu21tln3k.png-154.9kB

其中0文件夹中存放属于该类的图片(例:男),如下:

image_1bgs7phstjre10d8jops1j3m41.png-572.5kB

另一个1文件夹中存放属于该类的图片(例:女),如下:

image_1bgs7r0e61nq31hmk1qnillfmek4e.png-480.1kB

/test :用于存放你需要转换成lmdb格式的源测试图片,里面是暗雷分好的子文件夹,有几类就有几个文件夹,命名从0开始(例:同上,也是男女),不过这里需要注意,测试的图片不仅要按类放在各个子文件夹中,还要存放在/test文件夹下,test文件夹内部如下所示:

image_1bgs807ac1erl4r59no1mij1kmf4r.png-613.5kB

其中0文件中也存放其中属于该类的图片(例:男),如下:

image_1bgs81ibedji19hh1ng71h981p2458.png-342.1kB

另一个1文件夹中存放属于该类的图片(例:女),如下:

image_1bgs82h431o8v1649fmdd0c1v6s5l.png-422.4kB

data_create.sh脚本文件就是我们要运行的文件。

四.运行脚本

将训练图片、测试图片和两个可执行文件都拷入对应位置后,就可以运行脚本了。
在命令行中进入create_lmdb目录,输入下列代码:
./data_create.sh
即可。
运行界面如下:
image_1bgs8bro615itpfjqe7fvs10r16i.png-80.4kB
之后就会在create_lmdb目录下生成train.txt和test.txt两个文件,并且在/create_lmdb/data目录下生成mean.binaryproto,且在两个子目录中生成各自的lmdb文件。

大功告成!

本人博客的链接:http://blog.csdn.net/jiajinrang93
本脚本的新版打包下载地址:http://download.csdn.net/download/jiajinrang93/99762494

猜你喜欢

转载自blog.csdn.net/jiajinrang93/article/details/72674978