写在前面
曾经有过一段时间的工作是围绕着人脸识别展开的,也形形色色做了不少这方面的工作,包括训练,部署和SDK封装之类的,也做过蒸馏,量化等尝试,发现再怎么做,人脸识别的瓶颈还是再哪里,好不容易调出来一版比较满意的版本,在经过现场和不同环境的使用后,得到的反馈是:还是不行啊。没办法,实验室里面的数据都是99%以上的识别率,外面的人都是先入为主了,他们不知道有折扣这么一说,牢骚归牢骚,总的来说人脸识别也算是人工智能/深度学习领域一个较为成熟,落地较多的一种应用,现在的很多场合都有这个技术的应用,相信现在的人都有用过。在这里我们就简单了解一下人脸识别中的其中一个方法-ArcFace。
基本概念
在这个章节里有几个基本概念是需要了解的。
1 人脸识别包含哪些步骤,有人嘴里经常说人脸识别,但不知道这不是一个单一的技术,它包含了,人脸检测/定位,人脸对齐,人脸特征提取,人脸特征比对(有的地方也叫人脸相似度计算)四个过程,总的来说,人脸识别就是用来分辨这两张脸属于张三是张三,张三不是李四的一个过程。当然了,除了前面提到的四个过程,还有要给人脸活体检测,这个在个人看来,是个伪命题,但在实际应用中又十分重要。
2 什么是人脸识别中的特征嵌入(embedding)?特征嵌入是将人脸图像映射到一个低维向量空间的过程,在这个空间中,同一个人的不同图像应该距离较近,不同人的图像应该距离较远。这也是人脸识别中最重要的一个重要工作,就是把一个人的特征抽象化后映射到一个低维的空间里,这样在后续的比对过程只需要在这个空间里面进行计算比对就可以了。
3 为什么需要人脸对齐(face alignment)?人脸对齐可以消除姿态、角度等变化带来的影响,使网络更容易学习到判别性特征。姿态角度变化在人脸识别的过程中是一块难以解决的牛皮藓。
4 前面提到的人脸识别的一个方法-ArcFace,其实讲的是人脸特征提取模型训练时候用到的一个损失函数。至于什么是训练和损失函数,大家可以自行去了解了。
ArcFace
ArcFace是C

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



