专栏首页播放刘德华的歌第五:人脸识别算法课程系列文章-Facenet算法
原创

第五:人脸识别算法课程系列文章-Facenet算法

大家好,欢迎大家来到本节课。本次课给大家分享人脸识别的算法。从这里开始,我们就先看一下人脸识别算法所面临的挑战吧。

●人脸验证( Face Identifcation)。就是检测A、B是否属于同一个人。只需要计算向量之间的距离,设定合适的报警阈值( threshold )即可。

●人脸识别( Face Recognition)。这个应用是最多的,给定一-张图片,检测数据库中与之最相似的人脸。显然可以被转换为一个求距离的最近邻问题。

●人脸聚类( Face Clustering) 。在数据库中对人脸进行聚类,直接用K-Means即可。

看一下之前提出的人脸是被算法deepface。

其实,这个就类似于聚类算法中的,缩小类内距离,扩大类间距离。论文中指出,把阈值设置为1.1时,对人脸的分类效果是最好的。

如果把阈值设置为1.1,那么在第一行的两张图片是同一个人,第二行的两张图片也是同一个人,第三行的两张图片也是同一个人。

如果竖着看,因为两张图片之间的距离阈值都大于1.1,所以被判断为不是同一个人。

算法的整个训练过程就在于此。

算法模型的整体结构是什么样的呢?

算法模型的结构如下:主要是由一个batch输入层和一个深度卷积神经网络组成,这个深度卷积神经网路指的是用于提取特征的Googlenet,然后进行L2归一化,然后得到的是一个嵌入的人脸特征,最后欧式距离计算人脸特征之间的差异,将这些差异组成一个三元组损失函数,就可以利用这个损失函数来训练这个神经网络模型。

如果这么细分为五个步骤,其实还是很好理解的。

我们通过一张图来看一下,绿色的范围指的是同一类,到了红色的范围,就不是同一类

这其实是这个论文里的诠释

论文中指出,这里需要最小化anchor与正样本之间的距离,最大化anchor与负样本之间的距离。其实他的核心就是缩小类内距离,扩大类间距离。

从PPT下方我们就可以看出,加入了α之后,anchor与负样本之间的距离变大了,这就使得anchor与正样本之间的距离缩小了。

在模型算法训练好之后,实际当中,算法是怎么进行对比的呢?

其实是这样的,输入一张人脸的图片,同样是经过算法进行特征提取,使用得到的特征向量进行计算欧式距离,判断是不是同一人。

这就是使用的一个深度卷积神经网络,这个网络使用了1*1,3*3,7*7的卷积核,这也是这篇文章的创新之一,这几个卷积分别有他们的作用,作者通过对卷积的改进,起到减少参数量的作用,这样是可以提高运算速度的。

这个表格,说明了每个inception模块的参数设置,这个其实是和下面这个网络是一样的,具体是不是一样的,其实还是要去对照一下的,

这张图的网络结构比起上一张来看可以更加直观的理解这个模型。

人脸聚类是什么呢?

人脸聚类就是将提取到相近的特征的图片都聚集在一起,这和单纯的人脸验证相比,效果更佳惊人。从聚类效果来看,这对头部姿势变化,年龄阶段不同,遮挡不同,光照条件变化,人脸表情变化具有鲁棒性。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

相关文章

  • 人脸识别算法分享系列之课程一

    本次课程,分为三个部分,第一个部分是人脸识别概述,第二个部分是讲解人工神经网络,第三部分是人脸识别算法概述。

    算法发
  • 基于字符尺度的文字识别算法

    文章地址:https://arxiv.org/pdf/1812.09900.pdf

    算法发
  • 人脸核身接入使用

    https://cloud.tencent.com/document/api/1007/31818

    算法发
  • 反向传播算法的工作原理(2)

    在第一部分(《反向传播算法的工作原理(1)》)已经得到了如下结论,本文将在前述基础上,做进一步的证明和解释。

    老齐
  • 机器学习课程_笔记02

    jeremyxu
  • Go http服务器

    用户5760343
  • Kettle7.1创建资源库,资源库颜色灰色,没有Connect按钮解决办法

    cn華少
  • CDN如何给子账号授权预热权限

    内容分发网络(CDN)接入了腾讯云云资源访问管理(Cloud Access Management)系统,您可以在 访问管理 控制台进行用户组、用户、角色、策略等...

    用户2553168
  • 内网渗透靶机-VulnStack 1

    靶机是红日团队开源的一个靶机,靠着这个环境学习到了很多啊哈哈哈!现在自己也是会搭建一些环境了!也是靠着这个靶机从0开始学内网,了解内网渗透,虽然很菜很菜很菜!靶...

    cn0sec
  • 反向传播算法的工作原理(1)

    反向传播算法是神经网络中的重要算法,通过它能够快速计算梯度,进而通过梯度下降实现权重和偏置参数的更新

    老齐

扫码关注云+社区

领取腾讯云代金券