利用人脸特征提取DeepID--解读世纪晟人脸识别
概述:
DeepID的目标是人脸验证(判断两张图片是否是一个人),同时衍生出人脸识别(多次人脸验证)。
DeepID采用增大数据集的方法:
增加新的数据,celebFaces(87628张图片,5436个人),celebFaces+(202599张图片,10177个人);
裁剪图片,多区域、多尺度、多通道裁剪,然后将计算的向量组合,使用PCA降维
DeepID是一种特征提取的算法,这种网络一经训练好后,可以提取出输入人脸图片的深层次特征——
DeepID也是多个特征的融合体,你可以理解为DeepID对人脸上的很多关键区域都训练了一个 CNN 网络,去做分类,得到隐层特征,把这些特征拼接在一起,再做某种意义上的降维,得到最终特征,用这个特征来做描述,世纪晟科技人脸识别就可以非常有效地完成多分类任务。
DeepID网特征提取+softmax分类:
下图就是这个特征提取DeepID网+softmax分类的示意图。

softmax这个分类器可以说是咱们深度学习领域最常见的一个分类器了,如果大家对逻辑回归有基础的话,那么这个softmax分类器可以当成一个多分类的逻辑回归。
每层的数字表示的是每个卷积网络神经元的数量,随着层数的增加,神经元的数量会减少。
DeepNets的训练过程:

一个DeepID网(就是前面的120个之一)包含4个卷积层(每一个都带有最大池化层)以及一个全连接层(也就是DeepID的160维特征),在训练网络时后面还要加上softmax层,不然不能给标签没法训练了,当然训练出网络后在测试数据上可以不加softmax,只到全连接层后就直接使用特征。
人脸的特征提取:

对于一张人脸图片,在经过人脸检测和人脸对齐之后,作者按照瞳孔和嘴的位置对所有训练样本进行了对齐(保证后面的切片工作是同一尺度下的),然后根据特征点的位置,进行了切块提取,下图上半部分就是对一张人脸在10个位置下的提取,然后每一个位置的切块提取还会有三个不同的尺度,这就得到了同一张人脸的30个不同的部位人脸图
有了30个不同部位人脸图后,当然此时着30个不同部位人脸图还都是RGB图像,我们还需要灰度图像上的特征,因此每一个部位图还要有一份灰度图版的,因此30又翻个倍,变成了60
下面把DeepID特征可视化的结果,也是可以挺明显的看出不同人脸提取的特征不一样

利用人脸特征提取DeepID--解读世纪晟人脸识别的更多相关文章
- 3D动态人脸识别技术分析——世纪晟人脸识别实现三维人脸建模
- 目录 - 国内3D动态人脸识别现状概况 - 新形势下人脸识别技术发展潜力 - 基于深度学习的3D动态人脸识别技术分析 1. 非线性数据建模方法 2. 基于3D变形模型的人脸建模 - 案例结合——世 ...
- 基于MTCNN多任务级联卷积神经网络进行的人脸识别 世纪晟人脸检测
神经网络和深度学习目前为处理图像识别的许多问题提供了最佳解决方案,而基于MTCNN(多任务级联卷积神经网络)的人脸检测算法也解决了传统算法对环境要求高.人脸要求高.检测耗时高的弊端. 基于MTCNN多 ...
- 基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别
AdaBoost 算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高. 系统在技术上的三个贡献: 1.用简单的Haa ...
- c# 利用AForge和百度AI开发实时人脸识别
baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...
- 人脸搜索项目开源了:人脸识别(M:N)-Java版
一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...
- opencv_人脸检测、模型训练、人脸识别
人脸检测.模型训练.人脸识别 2018-08-15 今天给大家带来一套人脸识别一个小案例,主要是帮助小伙伴们解决如何入门OpenCV人脸识别的问题,现在的AI行业比较火热,AI技术的使用比较广泛.就拿 ...
- 温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫/反垃圾邮件
背景 一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫. ...
- 利用opencv中的级联分类器进行人脸检測-opencv学习(1)
OpenCV支持的目标检測的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).注意,新版本号的C++接口除了Haar特征以外 ...
- Python 3.6.3 利用 Dlib 19.7 和 opencv 实现人脸68点定位 进行人脸识别
0.引言 介绍利用Dlib官方给的人脸识别预测器"shape_predictor_68_face_landmarks.dat"进行68点标定,利用OpenCv进行图像化处理,在人脸 ...
随机推荐
- Python 学习笔记(九)Python元组和字典(二)
什么是字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 键必须是唯 ...
- ios之runtime
简介 OC是从C语言发展过来的, 之所以能变为动态语言是因为runtime机制, runtime就是OC在运行时的一些机制: OC的runtime最重要的是消息机制. 在编译阶段,OC可以调用任意函数 ...
- 通过非聚集索引让select count(*) from 的查询速度提高几十倍、甚至千倍
通过非聚集索引,可以显著提升count(*)查询的性能. 有的人可能会说,这个count(*)能用上索引吗,这个count(*)应该是通过表扫描来一个一个的统计,索引有用吗? 不错,一般的查询,如果用 ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 052-053
今日刷题,水题水题 ------------------------------------------------L1-052------------------------------------ ...
- chromium之message_pump_win之二
接下来分析 MessagePumpForUI上一篇分析MessagePumpWin,可以参考chromium之message_pump_win之一 根据对MessagePumpWin的分析,Messa ...
- binlog2sql 用法
binlog2sql 用法 使用场景:binlog2sql是根据mysql的binlog (要求格式是row)反解析出delete,update操作,对误操作数据进行还原. https://githu ...
- MySQL必知必会 读书笔记二:MySQL使用
使用MySQL 选择数据库 使用USE关键字 USE database; 了解数据库和表 如果不知道可以使用的数据库名时,可用MySQL的SHOW命令来显示这些信息. SHOW DATABASES; ...
- 常用关于时间的一些设置。获取当前时间后30天;判断时间段一年内;Date转String,String转Date
//获取当前时间后30天(之前也可),天数不限可修改1 var data = new Date(); var date1 = newe Date(date); date2 = date1.se ...
- es6-----部分新特性详解
ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台 ...
- MySQL:数据存在则更新,不存在则插入
前提:表结构存在主键或唯一索引,插入数据包含主键或唯一索引而导致记录重复插入失败. 单条记录更新插入: ,,) ,b,c; 多条记录批量更新插入: ,,),(,,) ON DUPLICATE KEY ...