前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >人脸实践篇 | 基于Caffe的年龄&性别识别

人脸实践篇 | 基于Caffe的年龄&性别识别

作者头像
计算机视觉研究院
发布于 2019-05-13 10:10:20
发布于 2019-05-13 10:10:20
2.4K0
举报

人脸检测及对应属性的识别是现在比较流行的一个技术之一。今天我们“计算机视觉战队”就和大家说说该技术的一些详细细节。

随着社会的发展,快速有效的自动身份验证在安防领域变的越来越迫切。

由于生物特性是人的内在属性,具有很强的自身稳定性和个体差异性,是身份验证的最理想依据。利用人脸属性进行身份验证又是最自然最直接的手段,相比其它人类生物特性,它具有直接、方便的特点,更容易被用户所接受且不易察觉。

近几年也是有很多相关的Paper及技术得到了实现,如:

  • 2015年的一篇文章就简单得到了实现,只要你懂得Alexnet,实现这篇文献的算法,会比较容易。最后的实验结果,Gender accuracy 在86.8%,Age预测精准的值准确率在50.7%,预测年龄段准确率在 84.7%,使用的数据集是Adience;
  • 基于传统方法也有,比如基于LBP,亮度、形状直方图的多尺度特征融合的性别识别,在性别识别中融入信息论概念,对PCA、LDA等经典识别算法进行简化,在简化过程中根据信息熵、互信息量等指标提出一套特征选择理论。最后结果,Gender accuracy基于像素增强为87.85%,基于shape features可以达到91.59%,基于LBP纹理特征也可以到达93.46%,利用三种特征可以得到95.33%,都是在常用的FERET数据集中。
  • 基于形状特征和深度神经网络的现实人脸性别分类,先对人脸进行对齐操作,用深度网络的方法进行分类,在LFW数据库的非正向人脸样本部分做实验,识别率可达到89.3%。

性别识别

性别识别是利用计算机视觉来辨别图像中的人脸性别属性。多年来,人脸性别因为实际场景的需求,如在身份认证、人机接口、视频检索以及机器人视觉中的潜在应用而备受关注。

性别识别是一个复杂的大规模二分类问题,分类器将数据录入并划分男女性别。目前性别识别方法主要有:基于特征脸的性别识别算法(等传统方法)及基于深度学习方法。

基于特征脸的性别识别算法

基于特征脸的性别识别算法主要是使用PCA。在计算过程中通过消除数据中的相关性,将高维图像降低到低维空间,而训练集中的样本则被映射成低维空间中的一点。当需要判断测试图片性别时,就需要先将测试图片映射到低维空间中,然后计算离测试图片最近样本点是哪一个,将最近样本点的性别赋值给测试图片即可。

下面我们主要讲深度学习方法,那我们开始吧!

年龄及性别识别

import os import numpy as np import matplotlib.pyplot as plt import sys import caffe %matplotlib inline caffe_root = './caffe/' sys.path.insert(0, caffe_root + 'python') plt.rcParams['figure.figsize'] = (10, 10) plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray'

然后我们读取均值文件:

mean_filename='./mean_file/mean.binaryproto' proto_data = open(mean_filename, "rb").read() temp = caffe.io.caffe_pb2.BlobProto.FromString(proto_data) mean = caffe.io.blobproto_to_array(temp)[0]

读取之前训练好的模型文件:

age_net_pretrained='./models/age_net.caffemodel' age_net_model_file='./deploy_age.prototxt' age_net = caffe.Classifier(age_net_model_file, age_net_pretrained,mean=mean,channel_swap=(2,1,0),raw_scale=255,image_dims=(256, 256))

读取Label文件:

age_list=['(0, 2)','(4, 6)','(8, 12)','(15, 20)','(25, 32)','(38, 43)','(48, 53)','(60, 100)'] gender_list=['Male','Female']

读取预测图像及预测结果:

example_image = './example_image.jpg' input_image = caffe.io.load_image(example_image) _=plt.imshow(input_image)

prediction = age_net.predict([input_image]) print('predicted age:', age_list[prediction[0].argmax()])

prediction = gender_net.predict([input_image]) print('predicted gender:', gender_list[prediction[0].argmax()])

特征可视化

做这个的原因,是想通过学习特征过程,其重点学习的特征到底是什么样子的,好让我们有一个空间想象力。

COV1第一层卷积滤波器学习特征的可视化结果,该层主要学习颜色、纹理、边缘等特征,属于较低层特征。

COV1第一层卷积后的可视化结果:

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用Caffe训练模型(solver、deploy、train_val)+python使用已训练模型
快照的大用途:如果出了什么意外中断了训练,那真是天都要塌了,所以快照存储了训练的中间结果,这个设计真是人性化,当再次训练时,就可以从快照中恢复数据了。直接在最后的执行文件,调用已经训练的快照就行,用-snapshot
悟乙己
2019/05/28
1.8K0
基于深度学习的人脸性别识别系统(含UI界面,Python代码)「建议收藏」
摘要:人脸性别识别是人脸识别领域的一个热门方向,本文详细介绍基于深度学习的人脸性别识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面。在界面中可以选择人脸图片、视频进行检测识别,也可通过电脑连接的摄像头设备进行实时识别人脸性别;可对图像中存在的多张人脸进行性别识别,可选择任意一张人脸框选显示结果,检测速度快、识别精度高。博文提供了完整的Python代码和使用教程,适合新入门的朋友参考,完整代码资源文件请转至文末的下载链接。本博文目录如下:
全栈程序员站长
2022/08/31
1.7K0
基于深度学习的人脸性别识别系统(含UI界面,Python代码)「建议收藏」
基于MXNET实现的年龄性别识别
年龄性别识别,基于insightface功能模块开发的,支持多张人脸同时检测和识别。
夜雨飘零
2021/12/07
1K0
基于MXNET实现的年龄性别识别
Caffe中均值文件的问题
本文主要介绍了在Caffe中进行均值文件转换的方法和具体实现。首先介绍了Caffe中对于均值文件的常用形式,然后详细阐述了将均值文件从binaryproto格式转换为npy格式的过程,最后通过实际测试证明了这种方法的有效性和正确性。
GavinZhou
2018/01/02
6610
【前沿】见人识面,TensorFlow实现人脸性别/年龄识别
【导读】近期,浙江大学学生Boyuan Jiang使用TensorFlow实现了一个人脸年龄和性别识别的工具,首先使用dlib来检测和对齐图片中的人脸,然后使用CNN深度网络来估计年龄和性别。代码已经
WZEARW
2018/04/11
5.8K0
【前沿】见人识面,TensorFlow实现人脸性别/年龄识别
使用 OpenCV 进行图像中的性别预测和年龄检测
照片中的面部分析引起了人们的广泛关注,因为它可以帮助我们解决各种问题,包括更好的客户广告定位、更好的内容推荐系统、安全监控和其他领域。
小白学视觉
2022/02/14
1.8K0
使用 OpenCV 进行图像中的性别预测和年龄检测
自己动手制作“平均脸”【2】
在本系列的上一篇中,我们讲解了用Image morphing方法合成人脸图片的基本原理。 所有代码都在:https://github.com/juliali/AverageFace 和 https://github.com/juliali/FaceGenderClassification 用OpenCV + dlib 制作“平均脸” 既然知道了原理,我们现在就要开始动手制作了。 再来回顾一下步骤,当我们要将N张人脸照片合称为一张平均脸的时候,我们首先要处理每一张照片: 【1】获取其中的68个脸部特征点,并以
叶锦鲤
2018/03/15
1.7K0
自己动手制作“平均脸”【2】
谷歌图片识别在线_图像识别库
在这里,我们利用已经训练好的Googlenet进行物体图像的识别,进入Googlenet的GitHub地址,进入models文件夹,选择Googlenet
全栈程序员站长
2022/09/21
4.8K0
谷歌图片识别在线_图像识别库
caffe introduction & classification
本文介绍了如何使用Caffe进行图像分类,通过加载已经训练好的模型和相应的配置文件,对输入的图像进行分类,并输出分类结果。同时,还介绍了一些基本的Caffe配置和常见的网络结构,以及如何使用Python API进行Caffe的调试和测试。
GavinZhou
2018/01/02
8850
caffe introduction & classification
caffe详解之工具篇
convert_imageset是将我们准备的数据集文件转换为caffe接口更快读取的LMDB或HDF5数据类型。
AI异构
2020/07/29
6230
caffe详解之工具篇
人脸识别算法演化史
本文为人脸识别算法系列专题的综述文章,人脸识别是一个被广泛研究着的热门问题,大量的研究论文层出不穷,文中我们将为大家总结近些年出现的具有代表性的人脸识别算法。请大家关注SIGAI公众号,我们会持续解析当下主流的人脸识别算法以及业内最新的进展。
SIGAI学习与实践平台
2018/08/07
1.8K0
人脸识别算法演化史
OpenCV实现年龄与性别预测
前面我写了很多篇关于OpenCV DNN应用相关的文章,这里再来一篇文章,用OpenCV DNN实现一个很有趣好玩的例子,基于Caffe的预训练模型实现年龄与性别预测,这个在很多展会上都有展示,OpenCV DNN实现这里非常简洁明了,总共不到100行的代码。下面就来说一下怎么实现的,首先下载两个Caffe的预训练模型:
OpenCV学堂
2019/04/29
1.6K0
OpenCV实现年龄与性别预测
论文阅读实践 - 基于CNN的年龄和性别分类
学习论文 Age and Gender Classification using Convolutional Neural Networks.
AIHGF
2019/02/18
1.3K0
论文阅读实践 - 基于CNN的年龄和性别分类
人脸识别系列二 | FisherFace,LBPH算法及Dlib人脸检测
前面介绍了使用特征脸法进行人脸识别,这里介绍一下OpenCV人脸识别的另外两种算法,一种是FisherFace算法,一种是LBPH算法。
BBuf
2019/12/09
3.2K0
基于insightface实现的人脸识别和人脸注册
本教程的人脸识别是使用的是insightface库进行开发的,该库使用的框架为mxnet。
夜雨飘零
2021/12/07
5.2K2
Android人脸识别之识别人脸特征
我最近创建了一个知识星球,13天已经有近160个朋友加入。其中嘉宾有《Android群英传》系列作者徐宜生、今日头条高级工程师月亮和六便士、阿里巴巴无线技术专家辰星。加入星球可以7折购买签名版《Android进阶之光》续作。更多福利请扫描下方二维码了解。 作者:junerver 链接:https://www.jianshu.com/p/b41f64389c21 在Android 人脸识别之人脸注册这篇文章中我大致的介绍了官方 Demo 中人脸注册的流程,本文我们接着来看看,在完成了人脸注册之后我们该如何识别
用户1269200
2018/06/22
19K2
微调︱caffe中fine-tuning模型三重天(函数详解、框架简述)+微调技巧
本文介绍了如何通过修改全连接层来改变CNN模型的行为,包括用于风格转换,风格迁移,人脸检测等。作者主要介绍了两种方法:1)使用预训练网络,通过冻结训练网络并微调它以适应新任务;2)使用自编码器进行无监督学习。
悟乙己
2018/01/02
1.9K0
微调︱caffe中fine-tuning模型三重天(函数详解、框架简述)+微调技巧
LeNet在caffe中的实现分析
本文主要分析了基于深度学习的目标检测算法在医疗影像识别中的应用。首先,介绍了目标检测算法的原理和流程,包括卷积神经网络(CNN)、区域提议网络(RPN)和目标检测算法。然后,详细阐述了基于深度学习的目标检测算法在医疗影像识别中的应用,包括影像增强、数据预处理、训练模型和评估指标。最后,介绍了几种常用的深度学习框架,包括TensorFlow、PyTorch和Keras。
Tyan
2017/12/29
1.1K0
LeNet在caffe中的实现分析
人脸识别算法分享系列之课程一
本次课程,分为三个部分,第一个部分是人脸识别概述,第二个部分是讲解人工神经网络,第三部分是人脸识别算法概述。
算法发
2020/08/17
1.4K0
人脸识别算法分享系列之课程一
【源码】常用的人脸识别数据库以及上篇性别识别源码
上一篇《使用ML.NET模型生成器来完成图片性别识别》发布后,很多朋友希望得到源码,这里附上地址:
心莱科技雪雁
2020/11/09
2.2K0
【源码】常用的人脸识别数据库以及上篇性别识别源码
推荐阅读
相关推荐
利用Caffe训练模型(solver、deploy、train_val)+python使用已训练模型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文