概述:
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--解读世纪晟人脸识别的更多相关文章

  1. 3D动态人脸识别技术分析——世纪晟人脸识别实现三维人脸建模

    - 目录 - 国内3D动态人脸识别现状概况 - 新形势下人脸识别技术发展潜力 - 基于深度学习的3D动态人脸识别技术分析 1. 非线性数据建模方法 2. 基于3D变形模型的人脸建模 - 案例结合——世 ...

  2. 基于MTCNN多任务级联卷积神经网络进行的人脸识别 世纪晟人脸检测

    神经网络和深度学习目前为处理图像识别的许多问题提供了最佳解决方案,而基于MTCNN(多任务级联卷积神经网络)的人脸检测算法也解决了传统算法对环境要求高.人脸要求高.检测耗时高的弊端. 基于MTCNN多 ...

  3. 基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

      AdaBoost 算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高.   系统在技术上的三个贡献: 1.用简单的Haa ...

  4. c# 利用AForge和百度AI开发实时人脸识别

    baiduAIFaceIdentify项目是C#语言,集成百度AI的SDK利用AForge开发的实时人脸识别的小demo,里边包含了人脸检测识别,人脸注册,人脸登录等功能 人脸实时检测识别功能 思路是 ...

  5. 人脸搜索项目开源了:人脸识别(M:N)-Java版

    ​ 一.人脸检测相关概念 人脸检测(Face Detection)是检测出图像中人脸所在位置的一项技术,是人脸智能分析应用的核心组成部分,也是最基础的部分.人脸检测方法现在多种多样,常用的技术或工具大 ...

  6. opencv_人脸检测、模型训练、人脸识别

    人脸检测.模型训练.人脸识别 2018-08-15 今天给大家带来一套人脸识别一个小案例,主要是帮助小伙伴们解决如何入门OpenCV人脸识别的问题,现在的AI行业比较火热,AI技术的使用比较广泛.就拿 ...

  7. 温故知新,.Net Core利用UserAgent+rDNS双解析方案,正确识别并反爬虫/反垃圾邮件

    背景 一般有价值的并保有数据的网站或接口很容易被爬虫,爬虫会占用大量的流量资源,接下来我们参考历史经验,探索如何在.Net Core中利用UserAgent+rDNS双解析方案来正确识别并且反爬虫. ...

  8. 利用opencv中的级联分类器进行人脸检測-opencv学习(1)

    OpenCV支持的目标检測的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification).注意,新版本号的C++接口除了Haar特征以外 ...

  9. Python 3.6.3 利用 Dlib 19.7 和 opencv 实现人脸68点定位 进行人脸识别

    0.引言 介绍利用Dlib官方给的人脸识别预测器"shape_predictor_68_face_landmarks.dat"进行68点标定,利用OpenCv进行图像化处理,在人脸 ...

随机推荐

  1. Bootstrap Data Table简单使用(动态加载数据)

    直接上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  2. TCP/IP协议族之链路层(二)

    TCP/IP学习记录,如有错误请指正,谢谢!!! TCP/IP协议族之链路层(二) 链路层是最底层协议,主要有三个目的: 1. 为IP模块发送和接收IP数据报 2. 为ARP模块发送ARP请求和接收A ...

  3. 『ACM C++』HDU杭电OJ | 1418 - 抱歉 (拓扑学:多面体欧拉定理引申)

    呕,大一下学期的第一周结束啦,一周过的挺快也挺多出乎意料的事情的~ 随之而来各种各样的任务也来了,嘛毕竟是大学嘛,有点上进心的人多多少少都会接到不少任务的,忙也正常啦~端正心态 开心面对就好啦~ 今天 ...

  4. springboot-自定义起步依赖

    自定义起步依赖步骤: 1.  添加configuration注解文件 -          指定什么情况下加载配置 -          使用enableconfigurationProperties ...

  5. meven 配置

    配置meven 自定义文件[User Settings] D:\java\apache-maven-3.5.3\conf\settings.xml settings.xml 新增两端配置信息 < ...

  6. JQuery制作网页——第八章 使用jQuery操作DOM

    1.DOM操作: DOM操作分为三类: ●DOM Core:任何一种支持DOM的编程语言都可以使用它,如getElementById().getElementsByName: ●HTML-DOM:用于 ...

  7. PHP文档生成器(PHPDoc)的基本用法

    目录 PHP文档生成器(PHPDoc)的基本用法 PHPDoc概述 安装 PHPDoc注释规范 页面级别的注释 代码级别的注释 生成API文档 额外软件 PHP文档生成器(PHPDoc)的基本用法 P ...

  8. 面试:Hbase和Hive的区别

    区别: 1. Hive是一个构建在Hadoop基础设施之上的数据仓库,通过HQL查询存放在HDFS上的数据,不能交互查询.HBase是一种Key/Value系统,它运行在HDFS之上,可以交互查询. ...

  9. python应用:日期时间

    计算时间差时,注意天数差引发的问题,获取天数差为 (date2-date1).days 此处,需谨记date2>date1,以保证结果的正确性 具体应用如下: # -*-coding:utf8- ...

  10. 对fgets的理解

    gets()函数 因为用gets函数输入数组时,只知道数组开始处,不知道数组有多少个元素,输入字符过长,会导致缓冲区溢出,多余字符可能占用未使用的内存,也可能擦掉程序中的其他数据,后续用fgets函数 ...