前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第五:人脸识别算法课程系列文章-Facenet算法

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

原创
作者头像
算法发
修改2020-09-25 11:22:33
1.3K0
修改2020-09-25 11:22:33
举报

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

●人脸验证( 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模块的参数设置,这个其实是和下面这个网络是一样的,具体是不是一样的,其实还是要去对照一下的,

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

人脸聚类是什么呢?

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

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

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

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

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

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档