矩阵奇异值分解SVD用于图像压缩的要点

来源:互联网 发布:有哪些好玩的页游 知乎 编辑:程序博客网 时间:2024/05/18 02:28

矩阵奇异值分解:对于矩阵A,存在酉矩阵P和Q,使得PHAQ=D,其中D为对角线矩阵,其对角线上的元素为矩阵A的奇异值;并且有A=PDQH

       奇异值分解用于图像压缩的思路:从上面的理论中,我们可以看出D矩阵是稀疏矩阵,相对于原始矩阵(图像)A,D的有效数据少的多,而对于稀疏矩阵我们已经有很多压缩存储算法。然后,仅仅根据这个知识是无法直接把奇异值分解用于图像压缩的,因为在使用矩阵D来恢复矩阵A时,需要知道P和Q的内容,这样,反而增加了需要存储或传输的数据量,根本起不到压缩的作用。有人提出仅仅存储或传输矩阵D,而使用相同的P和Q,实验证明这种做法是行不通的,因为原始图像A的特征并没有全部存放在其特征值(与奇异值有对应关系)中,因此可能会得到意料之外的恢复结果

       要点:1)之所以能够把矩阵奇异值分解用于图像压缩,是因为在矩阵D中,对角线元素为矩阵A的奇异值,并且是从大到小排列的。这时,如果矩阵D中存在非常小(根据不同的需要来决定)的奇异值,则可以丢弃这些奇异值,同时,也就丢弃了矩阵P和Q中的某些行与列,从而减少了需要存储或传输的数据量,达到压缩的目的。当然,这属于有损压缩。2)如果对整个图像进行奇异值分解,运算量很大,这时,可以对原始图像进行分块计算,然后根据分块的特点自适应选择奇异值数目,可能效果会更好。3)对于对角线矩阵D这个特殊的稀疏矩阵,有很多压缩存储方式,但是考虑到其对角线特性,我认为将其转换成一维数组来存储或传输比较合适,在需要恢复原始图像时,也可以很容易地从一维数组转换成对角线矩阵D。

原创粉丝点击