计算机视觉:基于Numpy的图像处理技术(二):图像主成分分析(PCA)
创始人
2024-02-05 16:51:15

计算机视觉:基于Numpy的图像处理技术(二):图像主成分分析🏳️‍🌈

文章目录

  • 计算机视觉:基于Numpy的图像处理技术(二):图像主成分分析:rainbow_flag:
    • 图像主成分分析:m:
      • 1、概念:orange_book:
      • 2、原理:page_facing_up:
      • 3、步骤:paw_prints:
        • 1、数据中心化:减去每一维数据的均值
        • 2、求特征协方差矩阵
        • 3、计算协方差矩阵对应最大特征值的特征向量
        • 4、根据阈值*t*,计算方差贡献率,确定要返回特征向量个数K
      • 4、代码实现:snake:

演示图片如图,又是机甲“小花”

hua

图像主成分分析Ⓜ️

1、概念📙

主成分分析(PCA)是一个有用的降维方法。可以在使用尽可能少数维度下,尽可能多地保持数据的信息。我们知道小花是一副图像,具有很高的维数。在许多计算机视觉应用里,都会使用降维操作。

Numpy类库中的 flatten()方法可将图像转换成一维向量。
x⃗={x1,x2,…,xn}\vec x = {\lbrace x_{1},x_{2},\dots,x_n\rbrace} x={x1​,x2​,…,xn​}

2、原理📄

主成分分析希望能够通过旋转坐标系将数据在新的坐标系下表示,如果新的坐标系下某些轴包含的信息太少,则可以将其省略,从而达到降维的目的。

3、步骤🐾

有一组数据:可以理解为一副图像的灰度图,由多个行向量组成的矩阵。确定主成分个数的阈值t,一般选择80%左右,后续做判断使用。
z⃗={z⃗1,z⃗2,…,z⃗n}\vec z = {\lbrace \vec z_{1},\vec z_{2},\dots,\vec z_n\rbrace} z={z1​,z2​,…,zn​}

1、数据中心化:减去每一维数据的均值

均值为:

μ⃗=1n∑i=1nz⃗i\vec \mu= \frac{1}{n} \sum_{i=1}^{n} \vec z_{i} μ​=n1​i=1∑n​zi​

将其中心化后表示为:
x⃗={x⃗1,x⃗2,…,x⃗n}={z⃗1−μ⃗,z⃗2−μ⃗,…,z⃗n−μ⃗}\vec x = {\lbrace \vec x_{1},\vec x_{2},\dots,\vec x_n\rbrace} ={\lbrace \vec z_{1}-\vec \mu,\vec z_{2}-\vec \mu,\dots,\vec z_n- \vec \mu\rbrace} x={x1​,x2​,…,xn​}={z1​−μ​,z2​−μ​,…,zn​−μ​}

2、求特征协方差矩阵

M(cov)=x⃗x⃗TM(cov) =\vec x \vec x^T M(cov)=xxT

3、计算协方差矩阵对应最大特征值的特征向量

将特征值从大到小排列,得到n个特征值
λ1,λ2,…,λn\lambda_1,\lambda_2, \dots,\lambda_n λ1​,λ2​,…,λn​
其对应的特征向量:
A=a⃗1,a⃗2,…,a⃗nA = \vec a_1,\vec a_2, \dots,\vec a_n A=a1​,a2​,…,an​

4、根据阈值t,计算方差贡献率,确定要返回特征向量个数K

K=argmax∑i=1kλi∑j=1nλj≥tK=arg max \frac{\sum_{i=1}^k \lambda_i}{\sum_{j=1}^{n} \lambda_j} \ge t K=argmax∑j=1n​λj​∑i=1k​λi​​≥t

R⃗=ATz⃗\vec R = A^T\vec z R=ATz

4、代码实现🐍

对小花图像进行PCA,求出其特征向量、投影矩阵、方差和均值

from PIL import Image
import numpy as npdef pca(X):"""主成分分析输入:矩阵X,存储训练数据,每一行为一条数据返回:投影矩阵(按维度重要性排序的)方差和均值"""# 获取维数num_data ,dim = X.shape# print(num_data,dim)# 数据中心化(减去每一维的均值)mean_X = X.mean(axis = 0)X = X -mean_Xif dim > num_data:# 使用紧致技巧# 协方差矩阵# M = np.dot(X,X.T)M = np.cov(X,rowvar=True)# 特征值和特征向量e,EV = np.linalg.eigh(M)# print(E,EV)# 紧致技巧tmp = np.dot(X.T,EV).TV = tmp[::-1]#求平方根需要求其绝对值S = np.sqrt(np.abs(e))[::-1]for i in range(V.shape[1]):V[:,i] /= Sprint("投影矩阵",V)print('特征向量',EV)return V, S, mean_Xelse:# 使用SVD方法U,S,V = np.linalg.svd(X)# 返回前num_data维的数据V = V[:num_data]# 返回投影矩阵,方差和均值print("投影矩阵",V)return V,S,mean_Xhua = np.array(Image.open('hua.jpg').convert('L'))
pca(hua)

小花这里没有使用SVD方法,因为她的长是大于宽的,所以采用了PCA降维,输出的投影矩阵特征向量如下:

投影矩阵 [[ 8.03605309e-02  8.39756720e-02  9.83425336e-02 ... -9.76770092e-02-1.07195860e-01 -6.24628102e-02][ 3.86431783e-01  3.65459420e-01  3.48954567e-01 ...  1.78539067e-011.60010909e-01  9.88472061e-02][ 4.35651716e-01  4.36100201e-01  3.93508064e-01 ...  1.17824688e-011.39685140e-01  1.07992053e-01]...[ 2.01307349e+00  8.67143722e-01 -1.67130144e-01 ...  1.31632783e-01-1.57440711e+00 -1.57331512e+00][-7.05993726e-01  7.58672673e-01 -2.56566104e+00 ... -1.32999335e+00-4.83894676e-01 -5.13382909e-01][ 6.00337969e-06  1.40041622e-05  7.53382818e-06 ... -1.04562028e-05-1.44956931e-05 -1.41024684e-05]]
特征向量 [[ 0.05538488 -0.00144137 -0.03434008 ... -0.05946286  0.00335706-0.00604234][ 0.05538488 -0.01475328  0.04735503 ... -0.05991643  0.00076363-0.00695584][ 0.05538488  0.01067808 -0.01482254 ... -0.05387841  0.00558545-0.00799025]...[ 0.05538488  0.006086   -0.01555427 ... -0.04001481 -0.048959450.02703765][ 0.05538488 -0.01572941  0.01562869 ... -0.04218723 -0.048458060.02248818][ 0.05538488  0.00939665 -0.00982804 ... -0.04250774 -0.048248290.01907884]]

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...