资讯详情

基于 PCA 的人脸识别系统及人脸姿态分析

文章目录

  • 1 PCA
    • 1.1 原理
    • 1.2 算法流程
      • 1.2.1 零均值化
      • 1.2.2 计算协方差矩阵
      • 1.2.3 特征值和特征向量
      • 1.2.4 降维得到 K 维特征
      • 1.2.5 PCA 的优缺点
  • 2 Python 实现 PCA
  • 3 基于 PCA 的人脸识别
    • 3.1 ORL 数据集
      • 3.1.1 数据读取和数据处理
      • 3.1.2 数据分组
      • 3.1.3 使用 PCA 特征提取
      • 3.1.4 人脸识别
      • 3.1.5 人脸识别的 GUI 界面
      • 3.1.6 实验结果
      • 3.1.7 全部代码
    • 3.2 Yale 数据集
      • 3.2.1 数据读取和数据处理
      • 3.2.2 数据分组
      • 3.2.3 使用 PCA 进行特征提取
      • 3.2.4 人脸识别和可视化
      • 3.2.5 实验结果
      • 3.2.6 全部代码
    • 3.3 UMIST 数据集
      • 3.3.1 数据读取和数据处理
      • 3.3.2 数据分组
      • 3.3.3 使用 PCA 特征提取
      • 3.3.4 人脸识别和可视化
      • 3.3.5 实验结果
      • 3.3.6 全部代码
  • 4 基于 MediaPipe 的姿态分析
    • 4.1 MediaPipe Solutions
      • 4.1.1 ML 管道
      • 4.1.2 姿势估计质量
      • 4.1.3 人 / 姿势检测模型 (BlazePose 检测器)
      • 4.1.4 Pose Landmark 模型 (BlazePose GHUM 3D)
      • 4.1.5 API
      • 4.1.6 示例
    • 4.2 ORL 数据集
      • 4.2.1 读取和处理数据
      • 4.2.2 姿态估计
      • 4.2.3 全部代码
    • 4.3 Yale 数据集
    • 4.4 UMIST 数据集
    • 4.5 结果分析
  • 5 基于 KNN 的人脸识别
    • 5.1 KNN
    • 5.2 ORL 数据集
    • 5.3 Yale 数据集
    • 5.4 UMIST 数据集
    • 5.5 KNN 的优缺点
    • 5.4 UMIST 数据集
    • 5.5 KNN 的优缺点

1 PCA

??在解决实际问题的时候,多变量问题是经常会遇到的,变量太多,无疑会增加分析问题的难度与复杂性。同时,在许多实际问题中,多个变量有一定的相关性。因此,在研究各变量之间关系的基础上, 用更少的新变量代替更多的原始变量,并尽可能多地保留更多的原始变量所反映的信息?事实上,这种想法是可以实现的。

1.1 原理

??(Principal Components Analysis,,主要成分分析)是一种统计分析方法,将多个变量化为少数综合指标。从数学的角度来看,这是一种降维处理技术。 以下示例说明其原理,并添加以下数据:

img

以上数据可视为椭圆形,椭圆有长轴和短轴。 在短轴方向上, 在极端情况下,在极端情况下,如果短轴稍微退化, 这些点的变化只能在长轴的方向上解释。这样,从二维到一维的降维自然就完成了。 从数据波动的角度来看,短轴上数据的方差较小,因此轴上的信息属于次信息;长轴上数据的方差较大,因此轴上的信息属于主信息。了解 PCA 在基本原理之后,我们必须考虑一个问题,PCA 优化的目标是什么?请看下图:

我们将上图中的点投影到两个超平面上,分别得到不同超平面的方差:0.045,0.因此,所有样本点都投影到方差 0.206 的超平面能在实现降维的目标且保留更多的信息。因此 PCA 要尽可能分离所有样本的投影,即找到样本投影后方差最大的超平面来降低维度。我们称上述降维标准为 ;同时,样本点击超平面的距离足够近,即下图中所有红线(即投影造成的损失)加起来最小,即保留更多信息。我们称这个标准为

1.2 算法流程

??PCA 算法流程的总体描述如下:



下面对每个步骤进行详细分析。

1.2.1 零均值化

  此步骤的目的是标准化输入数据集,使数据成比例缩小。更确切地说,在使用 PCA 之前必须标准化数据的原因是 PCA 方法对初始变量的方差非常敏感。也就是说,如果初始变量的范围之间存在较大差异,那么范围较大的变量占的比重较大,和较小的变量相比(例如,范围介于 0 和 100 之间的变量较 0 到 1 之间的变量会占较大比重),这将导致主成分的偏差。通过将数据转换为同样的比例可以防止这个问题。在实现过程中,我们的操作区别于标准的标准化,我们只将每个样本减去它们的均值。

1.2.2 计算协方差矩阵

  此步骤的目的是了解输入数据集的变量相对于彼此平均值变化,换句话说,查看它们是否存在关系。因为有时候变量由于高度相关,这样就会包含冗余信息。因此,为了识别变量的相关性,我们计算协方差矩阵。下面以二维矩阵为例: C = [ C o v ( x , x ) C o v ( x , y ) C o v ( x , z ) C o v ( y , x ) C o v ( y , y ) C o v ( y , z ) C o v ( z , x ) C o v ( z , y ) C o v ( z , z ) ] C= \begin{bmatrix} Cov(x,x)&Cov(x,y)&Cov(x, z)\\ Cov(y,x)&Cov(y, y)&Cov(y,z)\\ Cov(z,x)&Cov(z, y)&Cov(z,z) \end{bmatrix} C=⎣ ⎡​Cov(x,x)Cov(y,x)Cov(z,x)​Cov(x,y)Cov(y,y)Cov(z,y)​Cov(x,z)Cov(y,z)Cov(z,z)​⎦ ⎤​ 上述矩阵中,对角线上分别是特征 x , y , z x, y,z x,y,z 的方差,非对角线上是协方差。由于协方差是可交换的 C o v ( a , b ) = C o v ( b , a ) Cov(a, b) = Cov(b,a) Cov(a,b)=Cov(b,a),协方差矩阵关于主对角线是对称的,这意味着上三角部分和下三角部分相等。协方差矩阵可以告诉我们变量之间的关系,总结有如下三点:

  • 如果协方差为正则:两个变量一起增加或减少(正相关);
  • 如果协方差为负则:两个变量其中一个增加,另一个减少(负相关);
  • 协方差绝对值越大,两者对彼此的影响越大,反之越小。

1.2.3 特征值和特征向量

  求协方差矩阵 C C C 的特征值 λ \lambda λ 和相对应的特征向量 u u u (每一个特征值对应一个特征向量): C u = λ u Cu = \lambda u Cu=λu 特征值 λ \lambda λ 会有 N N N 个,每一个 λ \lambda λ 对应一个特征向量 u u u,将特征值 λ \lambda λ 按照从大到小的顺序排序,选择最大的前 K K K 个,并将其相对应的 K K K 个特征向量拿出来,我们会得到一组 { ( λ 1 , u 1 ) , ( λ 2 , u 2 ) , ⋯   , ( λ k , u k ) } \{(\lambda_1,u_1),(\lambda_2,u_2),\cdots,(\lambda_k, u_k)\} {(λ1​,u1​),(λ2​,u2​),⋯,(λk​,uk​)}。为什么只取特征值较大的特征向量,因为较大特征值对应的特征向量保留了原始数据的大部分信息吗,也即方差较大,可作为数据的主成分。

1.2.4 降维得到 K 维特征

  选取最大的前 K K K 个特征值和相对应的特征向量,并进行投影的过程,就是降维的过程。对于每个样本 X i X_i Xi​,原始的特征是 ( x 1 , x 2 , ⋯   , x m ) (x_1, x_2, \cdots,x_m) (x1​,x2​,⋯,xm​),投影之后的新特征是 ( y 1 , y 2 , ⋯   , y k ) (y_1,y_2,\cdots,y_k) (y1​,y2​,⋯,yk​),计算过程如下: [ y 1 i y 2 i ⋮ y k i ] = [ u 1 T ⋅ ( x 1 i , x 2 i , ⋯   , x m i ) T u 2 T ⋅ ( x 1 i , x 2 i , ⋯   , x m i ) T ⋮ u k T ⋅ ( x 1 i , x 2 i , ⋯   , x m i ) T ] \begin{bmatrix} y_1^i\\ y_2^i\\ \vdots \\ y_k^i\\ \end{bmatrix} = \begin{bmatrix} u^T_1\cdot(x_1^i, x_2^i, \cdots,x_m^i)^T\\ u^T_2\cdot(x_1^i, x_2^i, \cdots,x_m^i)^T\\ \vdots\\ u^T_k\cdot(x_1^i, x_2^i, \cdots,x_m^i)^T \end{bmatrix} ⎣ ⎡​y1i​y2i​⋮yki​​⎦ ⎤​=⎣ ⎡​u1T​⋅(x1i​,x2i​,⋯,xmi​)Tu2T​⋅(x1i​,x2i​,⋯,xm

标签: 1004tk2系列圆形连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台