概述:
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. Spring整合Mybatis SQL语句的输出

    [1.修改Spring-Mybatis] <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSes ...

  2. 个人免签即时到账收款接口 bufpay.com 支持多账号收款

    有很多 bufpay 的用户反馈,单个手机收款有些时候不太方便,切换手机太麻烦:或者是营业额比较多,希望分摊到多个账号上面. 基于以上的问题,bufpay 开发了多手机收款的功能:每个收款的手机安装 ...

  3. MAMP:MySQL wasn't able to start

    MAMP 我点击start server的时候 发现mysql服务器打不开 http://images.cnblogs.com/cnblogs_com/lwwen/1231721/o_11111111 ...

  4. python中的extend和append

    list.append(object) 向列表中添加一个对象object list.extend(sequence)  把一个序列seq的内容添加到列表中 old = ['a', 'b'] new = ...

  5. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  6. XSS攻击 && CSRF攻击 基础理解

    一个网站,不管多么的帅气,多么的风骚,如果你不安全,那始终都是一个弟弟啊~ 今天又看了下XSS和CSRF攻击的文章,我也想发点什么普及下大家的安全意识,毕竟作为一名拥有伟大梦想的程序员,基本的安全意识 ...

  7. pyhton实现简单的木马程序

    十一的晚上,平时都在写工作的代码,好久没有专门看一些知识了,感觉想刚开始学c一样,搞到半夜 还是<python网络编程基础>,写了小脚本,没有任何结构,一句一句的往下写的,反正是可以实现想 ...

  8. python教程(二)·数据结构初探

    这一节,我来简单讲讲python自带的数据结构. 列表(list) 列表是常用的python数据结构,类似于C语言的数组,用来存储多个元素,与之不同的是,C语言的数组中的元素的类型是相同的,而列表可以 ...

  9. [Real World Haskell翻译]第20章 Haskell系统编程

    第20章 Haskell系统编程 到目前为止,我们已经讨论了大多数的高层次的概念.Haskell也可以用于较低级别的系统编程.很可能是用haskell编写出底层的与操作系统接口的程序. 在本章中,我们 ...

  10. Linux学习-rsyslog.service :记录登录文件的服务

    rsyslog.service 的配置文件:/etc/rsyslog.conf 我们现在知道 rsyslogd 可以负责主机产生的各个信息的登录,而这些信息本身是有『严重等级』之分的, 而且, 这些资 ...