人脸识别算法分几种(这7种最著名的人脸识别算法)
7种最著名的人脸识别算法
人脸识别算法是任何人脸检测和识别系统或软件的基础组件。专家将这些算法分为两种核心方法:几何方法侧重于区分特征,光度统计方法用于从图像中提取值。 然后将这些值与模板进行比较以消除差异。 这些算法还可以分为两个更一般的类别——基于特征的模型和整体模型。前者侧重于面部标志并分析它们的空间参数和与其他特征的相关性,而整体方法将人脸视为一个整体。
人工神经网络是图像识别中最流行和最成功的方法。人脸识别算法基于数学计算,神经网络同时执行大量数学运算。
这些算法执行三个主要任务:检测图像、视频或实时流中的人脸;计算人脸的数学模型;将模型与训练集或数据库进行比较以识别或验证一个人。
本文涵盖了最著名的人脸识别算法和关键特征。 由于每种方法都有其特定任务的优势,研究人员积极尝试组合方法和开发新技术。
卷积神经网络 (CNN)
卷积神经网络(CNN)是人工神经网络(ANN)和人工智能发展的突破之一。它是深度学习中最流行的算法之一,深度学习是一种机器学习,模型学习直接对图像、视频、文本或声音执行分类任务。该模型在多个领域显示出令人印象深刻的结果:计算机视觉、自然语言处理 (NLP) 和最大的图像分类数据集 (Image Net)。CNN 是一个普通的神经网络,带有新的层——卷积层和池化层。CNN 可以有几十个和几百个这样的层,每个层都学会检测不同的成像特征。
特征脸
Eigenfaces 是一种人脸检测和识别方法,用于确定图像数据集中的人脸方差。它使用这些差异通过机器学习对人脸进行编码和解码。一组特征脸是通过对大量人脸图像的统计分析确定的“标准化人脸成分”的集合。面部特征被分配了数学值,因为这种方法不使用数字图片,而是使用统计数据库。任何人脸都是这些值以不同百分比的组合。
Fisherfaces
Fisherfaces 是最流行的面部识别算法之一;它被认为是优于它的许多替代品。作为 Eeigenfaces 算法的改进,它经常与 Eigenfaces 进行比较,并被认为在训练过程中的类别区分方面更成功。该算法的主要优势在于它能够对光照和面部表情变化进行内插和外推。有报告称,在预处理阶段与 PCA 方法结合时,Fisherfaces 算法的准确度为 93%。
内核方法:PCA 和 SVM
主成分分析(PCA)是一种具有许多实际应用的通用统计方法。当在人脸识别过程中使用时,PCA 旨在减少源数据的大小,同时保留最相关的信息。它生成一组加权特征向量,这些特征向量依次构建特征脸——大量不同的人脸图像。特征脸的线性组合代表训练集中的每个图像。 PCA 用于从训练图像集的协方差矩阵中接收这些特征向量。对于每张图像,计算其主要成分(从 5 到 200)。其他组件编码面部和噪声之间的细微差异。识别过程包括将未知图像的主要成分与所有其他图像的成分进行比较。
支持向量机 (SVM) 是一种机器学习算法,它使用两组分类原则来区分人脸和“非人脸”。对于每个类别,SVM 模型都会接收一个标记的训练数据集来对新的测试数据进行分类。研究人员将线性和非线性 SVM 训练模型应用于人脸识别。最近的结果表明,非线性训练机具有更大的余量和更好地识别和分类结果。
Haar Cascade
Haar Cascade 是一种用于在图像上定位对象的对象检测方法。该算法从大量正样本和负样本中学习——前者包含感兴趣的对象,而后者包含除您要查找的对象之外的任何内容。训练后,分类器可以在新图像上找到感兴趣的对象。该方法结合局部二值模式算法进行人脸识别,用于刑事鉴定。 Haar 级联分类器使用 200 个(共 6000 个)特征,即使表情变化也能确保 85-95% 的识别率。
三维识别
3D人脸识别技术的基本思想是人类头骨的独特结构。每个人的头骨结构都是独一无二的,可以用几十个参数来描述。这种面部识别方法基于将 3D 面部扫描与数据库模式进行比较。它有一个重要的优势——化妆、面部毛发、眼镜和类似因素不会影响检测和识别过程。最新研究使用了将 3D 几何信息映射到规则 2D 网格上的技术。它允许将 3D 数据的描述性与 2D 数据的计算效率相结合,并显示出 FRGC v2(人脸识别大挑战 3D 面部数据库)报告的最高性能。
皮肤纹理分析
皮肤识别技术有很多应用——人脸检测算法、不良图像过滤、手势分析等。它通常使用高分辨率图像。皮肤纹理分析的特殊情况使用不同的独特参数,如痣、肤色、肤色等。最近基于纹理特征和肤色组合的研究显示了有趣的结果。研究人员使用神经网络来开发和测试皮肤识别系统。项目中使用的前馈神经网络将输入纹理图像分类为“皮肤”和“非皮肤”,并表现出令人印象深刻的性能。
热像仪
热像仪是一种用于监测被检表面温度分布的设备。温度分布以不同颜色对应温度的彩色图片显示。该技术已经有几个适应全球变化的实际应用——基于智能手机的免疫证书、远程发烧检测和热面部识别。热成像仪人脸识别模型基于人脸的独特温度模式。人类一致的温度“特征”是用热红外 (IR) 虚部测量的。在人脸识别中使用热敏方法有一个不可否认的好处——化妆、胡须、帽子和眼镜不会影响其准确性。此外,它还可以区分双胞胎兄弟姐妹。
ANFIS
自适应神经模糊干扰系统 (ANFIS) 是一种人工神经网络。该方法将神经网络原理与模糊逻辑原理相结合,将它们的优点结合在一个单一的结构中。ANFIS 用于在预处理阶段对从数据集中提取的图像特征进行分类。数据科学家将这种方法与各种特征提取算法相结合。因此,一些研究报告称,在使用二维主成分分析进行特征提取后,ANFIS 分类准确度达到了令人难以置信的 97.1%。
局部二元模式直方图 (LBPH)
该方法使用局部二进制模式 (LBP),这是计算机视觉中一种简单有效的纹理算子,它通过设置每个像素的邻域阈值并将结果视为二进制数来标记图像中的像素。在学习阶段,LBPH 算法为每个标记和分类的图像创建直方图。每个直方图代表训练集中的每个图像。这样,实际的识别过程意味着比较任意两幅图像的直方图。
FaceNet
Google研究人员于 2015 年开发的人脸识别系统 FaceNet 基于人脸识别基准数据集。可用的预训练模型和各种开源第三方实现使该系统非常广泛。与早期开发的其他算法相比,FaceNet 在研究调查、测试性能和准确性方面显示出出色的结果。FaceNet 准确提取人脸嵌入,高质量特征用于后期训练人脸识别系统。
NEC
日本科技公司 NEC 开发的解决方案可以在识别年龄变化的同时高度准确地识别人。该解决方案使用自适应区域混合匹配,这是一种专注于高度相似的段进行映射的模型。 NEC 技术将输入和注册的图像分成小片段,并且只关注相似度较大的片段。它可以让系统显示出更高的识别准确率,即使是在面部戴着口罩或眼镜的情况下。作为其底层算法,NEC 解决方案使用广义学习矢量量化 (GLVQ)。
旷视 (FACE )
旷视算法基于图像检测和模糊图像搜索技术。该技术解决方案使用该公司基于大数据构建的专有深度学习框架 MegEngine。该公司的技术成功地进行了人脸信息提取,包括几个关键功能:人脸和人体检测和跟踪、人脸识别和聚类、关键点检测、人脸属性估计和人脸搜索引擎。
面部识别:结合不同的技术
每种面部识别技术都有其有效的特点。然而,最近的研究证明,最好的结果是通过不同算法和方法的组合来实现的。这些组合旨在解决面部识别过程中的许多常规问题——面部表情、姿势、光照条件、图像噪声等方面的差异。最新的实验将 LBP 算法与先进的图像处理技术相结合:双边滤波、直方图均衡、对比度调整、和图像混合。这样的技术显示了对 LBP 代码的显着改进,并且对于进一步研究看起来非常有希望。
总结有多种人脸识别算法和方法。尽管它们都有一个主要目标,但它们可以是针对特定任务和问题的。 根据使用目的和实施情况,它们的范围从神经网络和数学模型到私营公司的技术解决方案。
本文涵盖了最广泛的算法和方法。然而,更多的研究和科学实验表明,在面部识别过程中结合不同的算法以获得更好的结果是不可否认的好处。 它导致新技术和特定用途方法的出现。
人脸识别算法常见问题人脸检测算法是如何工作的?
通常,训练特定的神经网络来检测人脸地标并将人脸与图像中的其他对象区分开来。 地标是通用的人类面部特征,如眼睛、鼻子、嘴巴、眉毛等。实际实现的方式因算法而异。
什么是人脸识别算法?
人脸识别算法是一种建立生物特征人脸模型以供进一步分析和人脸识别过程的方法。
如何在 OpenCV 中进行人脸检测?
开源计算机视觉库 (OpenCV) 是一个流行的计算机视觉算法、图像处理和数值开源通用算法库。使用OpenCV,可以分三步进行人脸识别过程:
- 人脸检测
- 使用人脸嵌入进行特征提取
- 面部识别
如何训练人脸识别算法?
在面部识别算法准备好执行必要的任务之前,它们需要处理大量数据——精确标记的图像集。 这些集合用于开发机器学习模型。
作者:TSINGSEE
原文链接:https://juejin.cn/post/7034011351811162126
来源:掘金
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com