在Ubuntu上利用caffe进行食物图像识别

本文详述了在Ubuntu上使用Caffe进行食物图像识别的步骤,包括数据集准备、图像预处理、转换为lmdb格式、计算均值、创建模型和配置文件,以及最终的训练过程。
摘要由CSDN通过智能技术生成

如何搭建caffe环境已经在之前的文章中介绍了,有需要的可以自行回顾。


一、准备数据集

首先是准备好要用到的图片数据集,目前随机选用了五类水果:苹果、草莓、香蕉、火龙果、猕猴桃来作为图像识别的测试案例(事实证明,这个看似随机的选择在后续暴露出了caffe使用会遇到的问题,有点巧了)。图片是我从百度图片中随机挑选下载的,总共250张,其中每类50张,分割为10张测试集和40张训练集。

选择完图片集后先对其进行预处理。这里使用了美图秀秀的图片裁剪工具,将每张图都变为256*256的大小。其实我也不想用这么奇怪又笨拙的操作的,主要是因为在使用caffe的图像转换工具convert_imageset时发现:如果图片的长宽都大于256,那么可以顺利转换;如果其中之一小于256,则会报错。对于这个问题暂时还没找到解决方法,所以为了保证达到预期目标只能先强行迈过这一关了。。。

在使用caffe处理图片之前,要先对其进行规则编号。编号分别以1,2,3,4,5开头,各为一类。这里推荐一个便捷的批量处理工具Advanced Renamer,可以快速将图片分批编号。编号完成后将图片存入caffe根目录下的data文件夹中,其中训练图片的目录为data/re/train/,测试图片的目录为data/re/test/。

二、转换为lmdb格式

首先在examples下创建新的文件夹myfile,

sudo mkdir examples/myfile/

用于存放配置文件和脚本文件。

然后运行

sudo vi examples/myfile/create_filelist.sh

 用于生成图片的txt清单文件。

编辑create_filelist.sh,写入以下代码并保存:

#!/usr/bin/env sh
    DATA=data/re/
    MY=examples/myfile


    echo "Create train.txt..."
    rm -rf $MY/train.txt
    for i in 1 2 3 4 5 
    do
    find $DATA/train -name $i*.jpg | cut -d '/' -f4-5 | sed "s/$/ $i/">>$MY/train.txt
    done
    echo "Create test.txt..."
    rm -rf $MY/test.txt
    for i in 1 2 3 4 5
    do
    find $DATA/test -name $i*.jpg | cut -d '/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值