Caffe Windows平台 人脸性别预测(1)

  • 摘要
  • 安装微软caffe
  • 数据集准备
  • CPU训练
  • 网络模型和solver方案
  • 训练
  • 后序优化工作

1、摘要

一般情况下,caffe的训练和使用都是在linux下使用的,但是特殊要求,所以要在windows下进行训练和使用。除了训练的工作之外,windows下caffe工程主要用来学习和代码阅读。

2、安装caffe

windows下的caffe版本,有两个。一个是某网友做的开源项目;一个是微软caffe。现在在caffe的官网文档介绍,推荐的windows caffe就是微软caffe.

(1)版本1

项目链接地址
https://github.com/happynear/caffe-windows
第三方库可以使用作者提供的百度云盘下载。然后解压到3rdparty目录下;其他请看开源项目的README.md文件。

(2)版本2

项目链接地址:
https://github.com/BVLC/caffe/tree/windows

项目基本上不需要进行配置。

如果不使用gpu的话,需要修改进行以下操作。

将.\windows\CommonSettings.props 设置CpuOnlyBuild = true
UseCudnn = false。然后 build .\windows\Caffe.sln

其他请参照官网

这里写图片描述

安装好之后,运行编译。我们需要用到的工程

  • caffe 用于训练
  • classification 用于分类
  • computer_image_mean 计算图像像素的均值
  • convert_imageset 转化图像为lmdb数据格式
  • libcaffe lib库,其他工程的引用工程。

依次编译即可。

然后可在项目路径下找到可执行文件。

路径: caffe-master\Build\x64\Release

3.数据集准备

性别的数据集国外不少,但是包括亚洲人的数据集不多。我做过总结。如下。

这里写图片描述

其中的AFAD数据集是今年的CVPR的文章[1]。但是我们给作者发了邮件,不过并没有回信。
显而易见的是:使用非亚洲人的数据集训练的模型,对亚洲人分类效果特别差。所以,为了训练一个好的性别模型,收集一个较大的亚洲人数据集是至关重要的。

本人所在的实验室收集了一个2万左右的亚洲人数据集:明星数据集。

(1)数据集介绍

明星数据集男性女性总数
训练集8776798923377
测试集34873122

数据集例子

这里写图片描述

(2)数据集的获取

我们实验室的数据集不公布。但是说下我们的收集方式。

  • 使用百度批量下载软件 下载明星人脸数据集。这个可以百度搜下
  • 编写简单的爬虫代码

3、CPU训练过程

请先标注好数据集

一般工程都是先转化为lmdb文件。

(1)运行convert_imageset.cpp 产生lmdb文件
在运行前请先编译。然后进入到
caffe-master\Build\x64\Release目录下。运行 convert_imageset.exe文件。

命令格式:

covert_imageset.exe 你的图片的根目录(第一个参数) 你的txt文件(第二个参数)

(2)编译运行 computer_image_mean

命令格式:
Computer_image_mean.exe 你的train的lmdb文件

(3)编译caffe

命令格式:
运行 caffe.exe train –solver=你的solver文件

这样大概就运行起来了,开始训练了。

4、网络模型和solver方案

请参考我的开源项目中的网络模型。

https://github.com/zhangqianhui

在assets 目录下的deploy.prototxt 文件。

solver文件大同小异。

test_iter: 1000
test_interval: 1000
base_lr: 0.01
lr_policy: "step"
gamma: 0.1
#power:0.75
stepsize: 2000
display: 20
max_iter: 10000
momentum: 0.9
weight_decay: 0.0005
snapshot: 10000

5、训练

首先说下,我训练用的是GPU版本(数据集过大,最好使用GPU版本),CUDA版本7.5,之前已经安装好了。

这里写图片描述

运行效果图

测试集的实验结果:

实验结果:  88%

6、后序优化工作

现在做性别预测,比较好的预测率能达到95以上。本次只是将模型跑了起来,那么如何做优化,达到更好的分类效果,是下面最为重要的问题。
本人未来的的优化工作如下。

  • 修改模型

    修改模型的工作没有那么容易做,一般要有较好的调参经验,才能在短时间内做到优化。最近比较热门的网络模型也可以关注,比如BN网络,Resnet,都可以作为未来模型优化的一个尝试。

  • 修改数据集

    最简单,最暴力的优化方式,就是增大数据集。基本上,增大数据集一定会提高测试集的识别率。还有就是对数据集做优化,去除一些相似的图片,增大图片之间的差异性,也就是非线性程度。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值