之前的 “机器视觉入职培训” 文章都是基于一些图像最基本、最底层的操作学习,接下来通过几个小型的项目来做点更加实际的栗子,通过机器视觉去识别物体,对物体进行分类。
这里需要学习到机器视觉中的图像特诊检测算法,例如经典的有PCA、HOG、LBP等,在接下来的文章中详细介绍这些算法,希望对新入职的小伙伴有更好的帮助。
降维目的
- 减小预测变量的个数,使数据规模更小
- 确保降维后的数据尽可能相互独立
- 提供一个更符合人类思维方式的数据来对原数据进行解析
降维的方式有很多种,如LDA(Latent Dirichlet Allocation),非负矩阵分解、奇异矩阵分解等众多矩阵分解的方法都可以对数据进行降维。而PCA是最常用、计算过程简单、通用性强的降维算法。PCA能够对高位数据进行降维后去除了噪声(投影,后面会提到),发现数据中的模式。因此本次的人脸主特征提取使用了PCA方法。
PCA计算过程
1. 特征中心化
去均值化过程,即每一维的数据都减去该维的均值。这里的“维”指的就是一个特征(属性),变换之后每一维的均值都变成了0。假设一列为一个特征维度,那么就是把每列的每个数据都减去该列的均值。
2. 求特征协方差矩阵C
协方差绝对值越大,两者对彼此的影响越大,反之越小。如果数据是3维,那么协方差矩阵是:
3. 计算协方差矩阵C的特征值S和特征向量V
C=V∗S∗V−1 ,其中S为特征值,V为特征向量。
4. 选取 k 个特征值及其对应的特征向量
将特征值按照从大到小的顺序排序,选择其中最大的k个特征值,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。
5. 将样本点投影到k个特征向量上
假设样例数为 m ,特征数为