caffe 预处理,图片转为LMDB

来源:互联网 发布:军训 知乎 编辑:程序博客网 时间:2024/06/03 13:49

Caffe:如何将图片数据转换成lmdb文件

1 图片信息的转换

  在caffe中经常使用的数据类型是lmdb或leveldb;不是常见的jpg,jpeg,png,tif等格式;因此,需要进行格式转换,通过输入你自己的图片目录(下有的大量图片)转换成一个lmdb库文件输出;这个过程一般由caffe工具convert_imageset完成,该工具在编译过的cafferoot/build/tools目录下;

2 格式转换需要的条件

  格式转换准备条件有:1)编译好caffe,而且convert_imageset存在; 2)待转换的图片 3)标签文件valrgblist.txt; 4)用命令编辑好的shell脚本create_lmdb.sh;

3 被转换图片文件

      我是将图片存放在home/mokii/RGB-D/SUNRGB/statistic目录下。

4 标签文件home/caffe/placesCNN/valrgblist.txt,home/caffe/placesCNN/testrgblist.txt, home/caffe/placesCNN/trainrgblist.txt

转换过程,除了上面提到的图片文件目录,还需要这些图片的标签文件;该文件存放图片文件路径(我存的是绝对路径),以及该图片的标签(属于哪个类)。格式如下:

tesrgblist.txt文件:

/home/mokii/RGB-D/SUNRGBD/statistic/000037_living_room.jpg 15/home/mokii/RGB-D/SUNRGBD/statistic/001298_office.jpg 16/home/mokii/RGB-D/SUNRGBD/statistic/002622_furniture_store.jpg 9/home/mokii/RGB-D/SUNRGBD/statistic/006374_lecture_theatre.jpg 13/home/mokii/RGB-D/SUNRGBD/statistic/008629_bathroom.jpg 0/home/mokii/RGB-D/SUNRGBD/statistic/006850_classroom.jpg 2/home/mokii/RGB-D/SUNRGBD/statistic/005882_library.jpg 14


 6 用脚本命令生成lmdb

  编写一个shell文件create_lmdb.sh,内容如下:

    #!/usr/bin/env sh      rm -rf  img_trainrgb_lmdb      rm -rf  img_valrgb_lmdb      rm -rf  img_testrgb_lmdb      ../build/tools/convert_imageset --shuffle      --resize_height=227   --resize_width=227     /    trainrgblist.txt  img_trainrgb_lmdb         ../build/tools/convert_imageset --shuffle      --resize_height=227   --resize_width=227     /    valrgblist.txt  img_valrgb_lmdb      ../build/tools/convert_imageset --shuffle      --resize_height=227   --resize_width=227     /    testrgblist.txt  img_testrgb_lmdb    

7 执行脚本

  设置参数-shuffle,打乱图片顺序。设置参数-resize_height和-resize_width将所有图片尺寸都变为227*2227.

  /home/caffe/examples/images/train 为图片保存的绝对路径。最后,运行这个脚本文件

# sudo ./examples/placesCNN/create_lmdb.sh

  就会在examples/images/ 目录下生成一个名为 img_train_lmdb的文件夹,里面的文件就是我们需要的db文件。

0 0
原创粉丝点击