人脸检测及对应属性的识别是现在比较流行的一个技术之一。今天我们“计算机视觉战队”就和大家说说该技术的一些详细细节。
随着社会的发展,快速有效的自动身份验证在安防领域变的越来越迫切。
由于生物特性是人的内在属性,具有很强的自身稳定性和个体差异性,是身份验证的最理想依据。利用人脸属性进行身份验证又是最自然最直接的手段,相比其它人类生物特性,它具有直接、方便的特点,更容易被用户所接受且不易察觉。
近几年也是有很多相关的Paper及技术得到了实现,如:
性别识别
性别识别是利用计算机视觉来辨别图像中的人脸性别属性。多年来,人脸性别因为实际场景的需求,如在身份认证、人机接口、视频检索以及机器人视觉中的潜在应用而备受关注。
性别识别是一个复杂的大规模二分类问题,分类器将数据录入并划分男女性别。目前性别识别方法主要有:基于特征脸的性别识别算法(等传统方法)及基于深度学习方法。
基于特征脸的性别识别算法
基于特征脸的性别识别算法主要是使用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
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有