type
status
date
slug
summary
tags
category
icon
password
Property
May 10, 2023 09:18 AM
文章来自Fntp学习总结

0x001 人脸向量计算介绍

人脸识别中的向量一般指的是人脸图像在某个特征空间中的表示,也称为特征向量(feature vector)。
常见的人脸识别方法是使用卷积神经网络(Convolutional Neural Networks, CNN)来提取人脸图像的特征向量。
CNN 是一种深度神经网络模型,其主要是由卷积层和全连接层(Fully Connected Layer)组成的。
卷积层可以提取图像的局部特征,全连接层可以将卷积层提取出的特征向量映射到一个高维空间中,生成特征向量。
在经过训练之后,特征向量可以用来表示人脸图像的特征,用于进行人脸识别。 在实际应用中,通常使用已经经过训练的人脸识别模型来生成人脸图像的特征向量。
常见的人脸识别模型包括 FaceNet、DeepFace、VGGFace 等。
这些模型在训练时使用了大量的人脸图像数据进行训练,可以有效地提取人脸图像的特征向量,用于人脸识别。
需要注意的是,由于人脸图像在不同的特征空间中可能有不同的表示,因此在进行人脸识别时,需要使用相同的特征空间和相同的特征提取方法来提取人脸图像的特征向量。

0x002 人脸特征向量提取方法

(1)基于传统特征的方法:这类方法使用传统的特征提取方法(如局部二值模式,Gabor 滤波器等)来提取人脸图像的特征向量,然后使用分类器(如支持向量机,K近邻等)进行分类。这类方法的优点是计算速度快,缺点是准确率相对较低。
(2)基于深度学习的方法:这类方法使用深度神经网络模型来提取人脸图像的特征向量,然后使用分类器进行分类。这类方法的优点是准确率相对较高,缺点是计算量大,需要大量的训练数据和计算资源。
(3)基于度量学习的方法:这类方法使用度量学习算法(如三元组损失函数,中心损失函数等)来优化特征向量的表示,使得同一个人的特征向量更加相似,不同的人的特征向量更加不相似。这类方法的优点是可以提高特征向量的表达能力,缺点是计算量较大。
下面以FaceNet为例举例说明人脸特征提取的方法:
FaceNet是谷歌于[CVPR2015.02](FaceNet: A Unified Embedding for Face Recognition and Clustering)发表,提出了一个对识别(这是谁?)、验证(这是用一个人吗?)、聚类(在这些面孔中找到同一个人)等问题的统一解决的框架,即它们都可以放到特征空间里统一处理,只需要专注于解决的仅仅是如何将人脸更好的映射到特征空间。其本质是通过卷积神经网络学习人脸图像到128维欧几里得空间的映射,该映射将人脸图像映射为128维的特征向量,联想到二维空间的相关系数的定义,使用特征向量之间的距离的倒数来表征人脸图像之间的"相关系数"(为了方便理解,后文称之为相似度),对于相同个体的不同图片,其特征向量之间的距离较小(即相似度较大),对于不同个体的图像,其特征向量之间的距离较大(即相似度较小)。最后基于特征向量之间的相似度来解决人脸图像的识别、验证和聚类等问题。
除了 FaceNet,还有 DeepFace、VGGFace、SphereFace、ArcFace 等人脸识别方法可以提取人脸向量。
这些方法都是基于深度学习的方法,使用深度神经网络模型来提取人脸图像的特征向量,并且都使用了度量学习算法来优化特征向量的表示。

0x003 人脸向量计算流程下文以FaceNet为例子讲解向量计算流程

(1)预处理 首先需要对输入的人脸图像进行一些预处理,包括对图像进行裁剪、缩放、归一化等操作。
在 FaceNet 中,使用 MTCNN(Multi-task Cascaded Convolutional Networks)对人脸进行检测和对齐,
然后将对齐后的人脸图像缩放到固定的尺寸(160x160),并进行像素归一化处理(将像素值缩放到[-1, 1]范围内)。
(2)特征提取 FaceNet 的特征提取部分使用了一个深度神经网络模型,该模型包含多个卷积层和全连接层。
在输入经过预处理后,通过该模型可以得到一个 128 维的特征向量。
其中,每一个维度的值表示该维度所代表的特征在人脸图像中的重要性,不同的维度对应不同的特征,如眼睛、嘴巴、鼻子等。
(3)后处理 最后一步是对特征向量进行后处理。
在 FaceNet 中,使用了一个三元组损失函数来训练模型,该损失函数可以使得同一个人的特征向量更加相似,不同的人的特征向量更加不相似。
因此,在得到特征向量后,需要对其进行归一化,使其满足 L2 范数等于 1 的条件。
综上所述,人脸向量的计算过程是:对输入的人脸图像进行预处理,然后通过深度神经网络模型提取特征向量,在后处理中对特征向量进行归一化,得到最终的人脸向量

🤗总结归纳

本文主要介绍了人脸向量计算的方法,包括使用卷积神经网络提取人脸图像的特征向量以及对特征向量进行后处理的过程。在实际应用中,常使用已经经过训练的人脸识别模型来生成人脸图像的特征向量。人脸向量的计算过程是:对输入的人脸图像进行预处理,然后通过深度神经网络模型提取特征向量,在后处理中对特征向量进行归一化,得到最终的人脸向量。

 
💡
有关计算机视觉-人脸计算的向量相关的问题,欢迎您在底部评论区留言,一起交流~
 
计算机视觉(一):深度学习的人脸应用计算机视觉(三):人脸识别之特征提取
fntp
fntp
多一点兴趣,少一点功利
公告
type
status
date
slug
summary
tags
category
icon
password
Property
Sep 5, 2023 06:04 AM
📝 博客只为了记录我的学习生涯
😎 我的学习目标是成为一名极客
🤖 我热爱开源当然我也拥抱开源
💌 我期待能收到你的Email留言
📧 我的邮箱:stickpoint@163.com
欢迎交流~