4.2 基于PCA寻找模式(模型)(PCA to find patterns)
假设我们有20张图像,每张图像由N个像素的高和N个像素的宽组成(N*N的矩阵)。对于每张图像,我们可以使用上一节的方法将其表示为一个图像向量。然后,我们可以将所有的图像(现在一张图像对应一个向量)放到一个大矩阵里面,形如:

以此作为我们使用PCA算法的第一步(现在处理的对象是一个由20张图像构成的大矩阵)。一旦使用PCA,我们要做的就是求解协方差矩阵得到特征向量(eigenvectors)。这(PCA)为什么有用呢?假设我们想实现面部识别,原始的数据集是人脸图像。问题是,给定一张新的人脸图像,识别出这张新图像对应原始数据图像中的哪一类人脸图像,也就是根据人脸图像信息进行分类(注意,这张新图像并不是来自于我们一开始所给的那20张图像)?这个问题在计算机视觉的解法是,基于PCA分析得到的新坐标系下,测量新的人脸图像与已知的20张人脸图像之间的区别,而不是在原来的坐标系。
http://www.cnblogs.com/XMU-hcq/p/6353698.html
事实证明经过PCA算法得到的新的坐标系更有利于识别人脸,这是因为PCA算法告诉我们原始图像(数据)之间的差异(differences and similarities)。PCA算法确定了数据中的统计模型。
因为所有的向量都是
维,所以我们将得到
个特征向量(eigenvector)。实际上,我们也可以丢弃一些意义不大的eigenvectors(只保留特征值前k大对应的eigenvectors),识别的效果同样不错。
4.3 基于PCA的图像压缩(PCA for image compression)
使用PCA算法进行图像压缩又称为Hotelling 变换或者K-L变换。假如我们有20张图像,每张
个像素。我们可以构造
个向量,每个向量20维,每一维对应这20张图像中同一个像素的强度值,下文我(博主)将补充说明。这一点与上一个例子的大不同,上一个例子是构成的向量vector中的每个元素都是对应不同的像素,而现在这个例子构成的每个向量(
个)的元素对应20张图像相同的一个像素值。
---------------
补充说明:
个20维的向量
第1个向量形如:

第2个向量形如:

第
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式