AI大模型系列之九:人脸识别技术

目录

人脸识别系统的实战过程

人脸识别技术流程

人脸图像采集及检测

人脸图像预处理

人脸图像特征提取

人脸图像匹配与识别

RetinaNet人脸检测框架


人脸识别是一种 计算机视觉类型, 它使用光学输入分析图像—在本例中,它特别关注图像中显示的人脸。面部识别技术可用作构建基块,以支持人脸识别、分组和验证等其他功能。

人脸识别系统的应用阶段分为4个过程:

  1. 人脸检测:除图像增广技术外,所使用的技术与训练阶段保持一致;
  2. 人脸对齐:与训练阶段保持一致;
  3. 特征提取:使用训练好的人脸识别模型获得人脸向量;
  4. 特征匹配:将测试图像的特征向量与人脸库中已知标签的图像的特征向量进行匹配,通常用欧式距离衡量两个特征向量的距离,或者是余弦相似度对比两个特征向量的相似性。
人脸图像处理过程
  • 信息的获取:是通过传感器,将光或声音等信息转化为电信息。信息可以是二维的图象如文字,图象等;可以是一维的波形如声波,心电图,脑电图;也可以是物理量与逻辑值。
  • 预处理:包括A\D,二值化,图象的平滑,变换,增强,恢复,滤波等, 主要指图象处理。
  • 特征抽取和选择:在模式识别中,需要进行特征的抽取和选择,例如,一幅64x64的图象可以得到4096个数据,这种在测量空间的原始数据通过变换获得在特征空间最能反映分类本质的特征。这就是特征提取和选择的过程。
  • 分类器设计:分类器设计的主要功能是通过训练确定判决规则,使按此类判决规则分类时,错误率最低。
  • 分类决策:在特征空间中对被识别对象进行分类。

人脸检测和识别过程:

  • 首先建立人脸的面像档案。即用摄像机采集单位人员的人脸的面像文件或取他们的照片形成面像文件,并将这些面像文件生成面纹(Faceprint)编码贮存起来。
  • 获取当前的人体面像。即用摄像机捕捉的当前出入人员的面像,或取照片输入,并将当前的面像文件生成面纹编码。
  • 用当前的面纹编码与档案库存的比对。即将当前的面像的面纹编码与档案库存中的面纹编码进行检索比对。上述的“面纹编码”方式是根据人脸脸部的本质特征和开头来工作的。这种面纹编码可以抵抗光线、皮肤色调、面部毛发、发型、眼镜、表情和姿态的变化,具有强大的可靠性,从而使它可以从百万人中精确地辨认出某个人。人脸的识别过程,利用普通的图像处理设备就能自动、连续、实时地完成。
人脸图像处理过程

主要包括四个组成部分,分别为:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。

人脸图像采集及检测
  • 人脸图像采集:不同的人脸图像都能通过摄像镜头采集下来,比如静态图像、动态图像、不同的位置、不同表情等方面都可以得到很好的采集。当用户在采集设备的拍摄范围内时,采集设备会自动搜索并拍摄用户的人脸图像。
  • 人脸检测:人脸检测在实际中主要用于人脸识别的预处理,即在图像中准确标定出人脸的位置和大小。人脸图像中包含的模式特征十分丰富,如直方图特征、颜色特征、模板特征、结构特征及Haar特征等。人脸检测就是把这其中有用的信息挑出来,并利用这些特征实现人脸检测。
  • 主流的人脸检测方法基于以上特征采用Adaboost学习算法,Adaboost算法是一种用来分类的方法,它把一些比较弱的分类方法合在一起,组合出新的很强的分类方法。
  • 人脸检测过程中使用Adaboost算法挑选出一些最能代表人脸的矩形特征(弱分类器),按照加权投票的方式将弱分类器构造为一个强分类器,再将训练得到的若干强分类器串联组成一个级联结构的层叠分类器,有效地提高分类器的检测速度。
人脸图像预处理

对于人脸的图像预处理是基于人脸检测结果,对图像进行处理并最终服务于特征提取的过程。系统获取的原始图像由于受到各种条件的限制和随机 干扰,往往不能直接使用,必须在图像处理的早期阶段对它进行灰度校正、噪声过滤等图像预处理。对于人脸图像而言,其预处理过程主要包括人脸图像的光线补 偿、灰度变换、直方图均衡化、归一化、几何校正、滤波以及锐化等。

人脸图像特征提取

人脸识别系统可使用的特征通常分为视觉特征、像素统计特征、人脸图像变换系数特征、人脸图像代数 特征等。人脸特征提取就是针对人脸的某些特征进行的。人脸特征提取,也称人脸表征,它是对人脸进行特征建模的过程。人脸特征提取的方法归纳起来分为两大 类:一种是基于知识的表征方法;另外一种是基于代数特征或统计学习的表征方法。

基于知识的表征方法主要是根据人脸器官的形状描述以及他们之间的距离特性来获得有助于人脸分类的特征数据,其特征分 量通常包括特征点间的欧氏距离、曲率和角度等。人脸由眼睛、鼻子、嘴、下巴等局部构成,对这些局部和它们之间结构关系的几何描述,可作为识别人脸的重要特 征,这些特征被称为几何特征。基于知识的人脸表征主要包括基于几何特征的方法和模板匹配法。

人脸图像匹配与识别

提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输 出。人脸识别就是将待识别的人脸特征与已得到的人脸特征模板进行比较,根据相似程度对人脸的身份信息进行判断。这一过程又分为两类:一类是确认,是一对一 进行图像比较的过程,另一类是辨认,是一对多进行图像匹配对比的过程。

RetinaNet人脸检测框架

2019年何凯明提出Focal Loss时为了验证Focal Loss的可行性,顺便(没错,就是顺便)提出了RetinaNet。RetinaFace是在RetinaNet基础上引申出来的人脸检测框架,所以大致结构和RetinaNet非常像。

        主要改进:

        1.MobileNet-0.25作为Backbone,当然也有ResNet版本。

        2.Head中增加关键点检测。

        3.Multi-task Loss

        论文地址:https://arxiv.org/pdf/1905.00641.pdf

        官方代码:https://github.com/deepinsight/insightface/tree/master/RetinaFace

        官方代码是mxnet的,提供一个Pytorch版:oaifaye/retinafaceoaifaye/retinafaceoaifaye/retinaface

RetinaNet模型架构

FPN(特征金字塔),很成熟的结构了,多用于目标检测,因为目标有大有小,所以不同的特征层做融合有助于检测不同尺度的目标。

        这里FPN取了三个关键特征层,然后将通道数都处理成64,这样三个关键特征层由浅到深分别是1,64,80,80、1,64,40,40、1,64,20,20。深层的关键特征层经过2x的Upsampling与浅层进行融合,最后三个融合后的分支分别输出到SSH结构。

        SSH(Single Stage Headless)模块可以进一步增加感受野,进一步加强特征提取,是个锦上添花的模块。

        Head分三种:

        BboxHead:框的回归预测结果用于对先验框进行调整获得预测框,即解码前的bounding box的中心点偏移量和宽高。
        ClsHead:分类预测结果用于判断先验框内部是否包含脸。
        LdmHead:解码前的五官关键点坐标。

       总的来说,RetinaFace和RetinaNet很像,还有SSD的影子,确实提供了一个可用的高效的人脸检测框架,可改进的地方也有很多,需要大家自己动手实验了。

ArcFace人脸识别模型

ArcFace是一种基于深度学习卷积神经网络构建的人脸识别模型

2019年发布,其核心思想是通过学习将人脸图像映射到一个高维特征空间中的稠密特征表示,采用余弦距离作为判别指标,使得同一个人的人脸特征向量之间的余弦距离较小,不同人的人脸特征向量之间的余弦距离较大。ArcFace模型在人脸识别领域具有很高的准确性和可靠性,广泛应用于人脸识别技术和安全系统中。

ArcFace模型具有以下优点:

  • 准确性高。ArcFace在常见的人脸识别任务中取得了非常好的性能,能够实现高准确性的人脸匹配和识别。
  • 抗干扰能力强。ArcFace模型在面对光照变化、表情变化、遮挡等干扰因素时,仍能保持较高的稳定性和可靠性,对人脸图像的变化有较好的适应性。
  • 特征嵌入明显。ArcFace模型通过学习得到的人脸特征向量在高维空间中有较明显的嵌入效果,同一个人的人脸特征向量距离较近,不同人的特征向量距离较远,增加了模型的判别力。

ArcFace模型也存在一些缺点:

  • 复杂性高。ArcFace模型相比其他简单的人脸识别模型,比如FaceNet,模型结构更加复杂,需要更大的计算资源和更长的训练时间。
  • 数据依赖性强。ArcFace模型的性能与训练数据的质量和数量密切相关,需要大规模的人脸数据集进行训练,从而使模型具有更好的泛化能力。
  • 隐私问题。由于ArcFace模型具有较强的人脸识别能力,潜在的隐私问题也随之出现。在应用和部署过程中,需要遵循隐私保护的原则和规定。
  • 17
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值