如今日益发展的计算机技术带动了很多领域的发展,今天我们通过一个真正实用的例子来讲解PCA使用原理。
在系列的侦探大片中,人脸识别技术已经进入人们的视线。同时一些app软件的发展也把这项技术带到了我们的身边。
我们就用上面的图片作为引入,来一步步讲解人脸识别, 要识别目标人需要通过如下操作。
人脸检测
通过一些开源的SDK和组件我们可以在图片上快速的识别出人脸的位置,并且获得人脸的图片信息。(非本章重点,这里就不过多介绍)
人脸识别
我们现在通过人脸检测得到数据去人脸的素材库去匹配相关人。但是通过什么算法去匹配海量的人脸数据成为了人脸识别的核心问题。我们想象下每个人脸图片的像素点矩阵为300*500,而我们要匹配的人群是100000人,我们要做的是要把要识别的像素点和我们拥有的海量数据样本进行匹配找到最相近图片。无疑这种操作是非常耗时和消耗资源的,假如我们把每个样本数据的关键识别数据取出来和我们的识别数据关键数据进行匹配,是不是可以减少匹配量?
有效和高质量的抽取关键数据就成为了最关键的步骤,这个过程就是矩阵降维。我们可以通过PCA对数据进行降维。
PCA (主成分分析)一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成分分析经常用减少数据集的维数,同时保持数据集的对方差贡献最大的特征。这是通过保留