利用CNN进行人脸年龄预测
2024-09-18 10:46:27
很久之前做的东西了,最近做了一个人脸相似度检测,里面用到了这里的一个模型,所以抽个空把人脸年龄检测的思路总结一下。
与其他CNN分类问题类似,人脸年龄预测无非就是将人脸分为多个类别,然后训练卷积神经网络,最后利用训练好的卷积神经网络进行分类即可。
但是在人脸年龄分类方面,有几个比较重要的问题,第一,人脸数据集不好获取,第二,人脸对偏移,光照敏感度很高。第三,特征不容易提取。
在数据集方面,我直接用了歪果仁的一个数据集,大概有40W张图片,分为100个年龄类,虽然质量不高,但是勉强可用。
对人脸图像进行预处理可降低偏移,光照等带来的影响,例如对正人脸图像,使用均值文件等等。
对于第三个问题,则需要用到caffe里面强大的功能::fine-turning,我选择了vgg-16神经网络,其中训练分为6个阶段,其结构图为:
从左到右一共6个阶段,每个阶段为一个fine-turning,使用fine-turning能非常有效的提升神经网络预测的准确率。
接下来训练网络,训练时间比较慢,我在GTX1060上训练大概3天才训练玩。
训练好以后直接将模型文件保存为age.caffemodel,将网络配置文件保存为age.prototxt。
当预测一张新图片时,会得到图像的最终预测值,维度为100的向量,每个值代表属于此类的概率,然后乘以range(100)即可。
最新文章
- .NET平台开源项目速览(5)深入使用与扩展SharpConfig组件
- VGA, QVGA, HVGA, WVGA, FWVGA和iPhone显示分辨率
- CSS3中媒体查询,更换样式表
- css3之边框新属性
- [ javascript New Image() ] New Image() 对象讲解
- Struts2几种传值
- Oracle存储过程基本语法 存储过程
- Android Activity交互及App交互
- FMDatabase 数据库的使用
- 在win7下装ubuntu(硬盘版安装)及遇到的问题
- hdu_2688_Rotate(树状数组)
- IOS任务管理之GCD使用
- 钉钉 机器人接入 自定义webhook
- NoSQL在大数据中的应用
- CentOS7使用ZFS文件系统
- block 对外部引用变量的处理
- vue select的change事件,将点击过的城市名存在数组中,下次调用不需要再调用接口
- office2016word 每次打开都有进度条问题 解决方式
- Asp.Net_优化
- unidac 6.0.1 与kbmmw 的一点小摩擦