奇异值分解(SVD):从理论到图像压缩实战
创作时间:
作者:
@小白创作中心
奇异值分解(SVD):从理论到图像压缩实战
引用
51CTO
1.
https://blog.51cto.com/deephub/10784375
奇异值分解(SVD)是一种强大的线性代数技术,广泛应用于数据科学领域,特别是在图像压缩方面。本文将从数学原理出发,深入浅出地讲解SVD的工作机制,并通过Python代码演示如何使用SVD进行图像压缩。
奇异值分解的基本概念
奇异值分解(Singular Value Decomposition,简称SVD)可以将任意形状的矩阵分解成三个部分的乘积:U、S、V。原矩阵A可以表示为:
其中,A矩阵中的奇异值就是\Sigma矩阵中的对角线元素,它们是矩阵A的特征值的平方根,表示A矩阵在各个主方向上的拉伸程度。U矩阵是AAT的特征向量构成的正交矩阵,表示数据集在降维后的新的坐标系中的投影。V矩阵是ATA的特征向量构成的正交矩阵,表示每个数据点在降维后的新坐标系中的坐标。
数学原理
假设我们有一个矩阵A:
要计算 SVD,首先需要通过找到 AA^{T} 的特征值来计算奇异值。具体步骤如下:
- 计算矩阵 AA^{T} 的特征值和特征向量
- 计算矩阵 A^{T}A 的特征值和特征向量
- 将特征值的平方根作为奇异值
- 构建 U、S、V 三个矩阵
以一个具体的例子来说明:
通过计算得到:
最终得到SVD分解:
图像压缩实战
接下来,我们将使用Python代码演示如何使用SVD进行图像压缩。实验所用的图像如下:
导入库和读取图片
import requests
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('flower.bmp')
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray_image = gray_image.astype(np.float64)
执行奇异值分解
U, s, V = np.linalg.svd(gray_image, full_matrices=False)
可视化奇异值
top_10_singular_values = s[:10]
plt.plot(range(1, len(s) + 1), s, 'r-')
plt.xlabel("Rankings")
plt.ylabel("Singular Values")
plt.title("Singular Values versus their Rankings")
plt.savefig("Singular_values_vs_rankings.png")
plt.show()
从图中可以看出,图像的大部分信息都集中在前几个奇异值中:
重建和显示图像
k_values = [10, 50, 100]
plt.figure(figsize=(12,6))
for i in range(len(k_values)):
low_rank = U[:, :k_values[i]] @ np.diag(s[:k_values[i]]) @ V[:k_values[i], :]
plt.subplot(2,3,i+1),
plt.imshow(low_rank, cmap='gray'),
plt.title(f"For K value = {k_values[i]}")
plt.savefig("Reconstruction_with_k_values.png")
从重建的图像中可以看出,随着K值的增加,图像的清晰度逐渐提高:
总结
通过本文,我们了解了奇异值分解(SVD)的基本原理及其在图像压缩中的应用。SVD不仅是一种强大的数学工具,更是一个实用的数据处理方法,广泛应用于数据降维、图像压缩等领域。希望本文能帮助读者更好地理解这一重要概念。
热门推荐
王宝强、金晨领衔,四位实力演员加盟2025央视春晚
春晚邀网红歌手引热议,云朵吴莫愁成焦点
双十一必看:教你挑选完美糖醋排骨的四大关键食材
糖醋排骨:江南名菜里的宫廷印记与家常温情
民事诉讼中的和解、调解与仲裁制度探析
躯体化与情感的关系:当情绪成了身体的语言
朋友圈背景图|面对伤感情绪,勇敢前行!
涡流现象:从电磁感应到工业应用
潘多拉魔盒:一个关于欲望与诱惑的古老寓言
宙斯的礼物:潘多拉魔盒开启人类灾难与希望
打开潘多拉魔盒:一个关于灾难与希望的古老传说
育儿必修课:如何有效管理孩子的情绪
新手爸妈如何搞定育儿情绪管理?
小六龄童章金星:英年早逝的戏剧天才
六小龄童:章氏猴戏传承人的艺术人生
张红甫详解糖醋排骨:选材、炸制、调味三大关键
实测47款颈椎按摩仪:这17款最值得买
搭建一座属于你的社交圈
自驾游必备:宠物健康出行指南
留学生心理健康指南:如何有效应对孤独、焦虑与压力
带宝宝和宠物一起旅行:实用攻略与安全指南
糖醋排骨:从宫廷御膳到家常菜的演变与文化内涵
糖醋排骨新吃法:黑醋搭配糍粑成创意菜
宝宝哭闹背后的情感依恋秘密
母乳不足让宝宝哭闹不止?这些方法帮你轻松应对
儿童营养师王斌揭秘:宝宝哭闹的秘密
柴油的分类与使用指南:如何选择合适的柴油牌号
炎夏解暑,一学就会的绿豆汤制作教程
5G核心网与NFV基础设施的完美融合
牛肉绿豆可以同食,但脾胃虚寒者慎用