主成分分析法在图像压缩和重建中的应用研究-含Matlab代码

一、引言

主成分分析法是用降维的思想,用几个互不相关的主成分反映原始变量的大部分信息的统计方法。能有效降低数据维度,减少计算量,在涉及到数理统计的各个领域均有广泛的应用。本文先介绍主成分分析的原理,再通过 matlab 用主成分分析法对图像进行压缩,实现主成分在图像处理中的应用。

二、主成分分析法概念及性质

2.1 概念

假定有n个样本,每个样本由p个变量构成,则可以组成一个 n×p 阶的数据矩阵:

在这里插入图片描述

设 x1,x2,…,xP 为原变量,z1,z2,…,zm(m≤p)为新变量,则:

在这里插入图片描述
系数 在这里插入图片描述为新变量对原变量的反应情况。

2.2 性质

zi 与zk(i≠k;i,k=1,2,…,m;j=1,2,…,p)相互无关;z1 是 x1,x2,…,xP 的一切线性组合中方差最大者,z2是与 z1 不相关的 x1,x2,…,xP 的所有线性组合中方差最大者;zm 是与 z1,z2,……,zm-1都不相关的 x1,x2,…xP 的所有线性组合中方差最大者。则新变量指标 z1,z2,…,zm 分别称为原变量指标 x1,x2,…,xP 的第1,第 2,…,第 m 主成分。

通过以上表述可知,主成分分析的实质是计算主成分 zi(i=1,2,…,m)所反映的原变量 xj(j=1,2,…,p)上的荷载 lij(i=1,2,…,m;j=1,2,…,p)。它们分别是相关矩阵(也就是 x1,x2,…,xP 的相关系数矩阵)m 个较大的特征值所对应的特征向量。

三、计算步骤

3.1 计算相关系数矩阵

相关系数矩阵为:

在这里插入图片描述

rij(i,j=1,2,…,p)为原变量xi与xj标准化后的相关系数,rij=rji,其计算公式为:

在这里插入图片描述

3.2 计算特征值与特征向量

解特征方程|λI-R|=0,求出特征值,并使其按大小顺序排列 λ1≥λ2≥…≥λp≥0;分别求出对应于特征值 λi 的特征向量 ei(i=1,2,…,p),要求‖ei‖=1,即在这里插入图片描述 ,其中,eij 表示向量 ei 的第 j 个分量,也就是说 ei 为单位向量。

3.3 计算主成分贡献率及累计贡献率

主成分贡献率为:

在这里插入图片描述

主成分累计贡献率为:

在这里插入图片描述
一般取累计贡献率达 85%~95%的特征值 λ1,λ2,…,λm 所对应的第 1、第 2、…、第 m(m≤p)个主成分。

3.4 计算主成分载荷

在这里插入图片描述,主成分载荷就是zi与xj之间的相关系数(主成分不相关)。

3.5 各主成分的得分

各主成分的得分为:

在这里插入图片描述

在这里插入图片描述

四、图像压缩与重建实验分析

众所周知,图像信息所含的数据量巨大。为了便于图像的存储,提高存储效率,研究图像压缩具有重要的意义。图像压缩的目的是减少数据存储量,便于存储和传输。黑白图像每个像素点由不同的灰度值来表示,相邻灰度值之间具有一定相关性,这为采用主成分分析法去研究图像相关性提供了一定可实践的条件。因此,我们将图像分割成很多子块,将子块作为样本,假设图像数组大小为 128×288,子块大小为 8×4,I 可以划分成(128/8)×(288/4)=1152 个子块,每个样本包含 8×4=32 个元素。将 1152个样本按列组装成 1152×32 的矩阵,每行对应一个子块,每列对应不同子块同一位置的像素。由于像素之间具有相关性,1152×32 矩阵列与列间也存在相关性,因此能用主成分分析实现降维,进而实现图像压缩。

通过 matlab 编程,设置主成分个数为1,14,27,40来观测不同主成分个数对图像压缩与重构效果,如图1所示。

在这里插入图片描述

图1 不同主成分参数下的图像压缩与重构效果

由试验结果得知,主成分个数越多,压缩效果越差,但是图像信息损失相应的也减少。我们可以根据实际需求设置主成分个数,实现不同的压缩效果。

五、参考文献

[1]曲双红,李华,李刚.基于主成分分析的几种常用改进方法[J].统计与决策,2011(05):155-156.
[2]亓文永,叶心太.应用于图像特征识别的主成分分析算法[J].科技信息(科学教研),2008(22):19,30.
[3]刘涛,杨风暴.主成分分析在图像压缩中的应用[J].哈尔滨师范大学自然科学学报,2008(04):69-72.
[4]陈洁文,陈勇,林海明.主成分分析应用中应注意的问题[J].统计与决策,2009(08):140-141.

六、Matlab代码获取

下载链接如下:

https://download.csdn.net/download/m0_70745318/87723662


博主简介:研究方向涉及智能图像处理、深度学习等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研中心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值