奇异值分解(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不仅是一种强大的数学工具,更是一个实用的数据处理方法,广泛应用于数据降维、图像压缩等领域。希望本文能帮助读者更好地理解这一重要概念。
热门推荐
《三妹》重播引热议:一部展现70年代农村教师坚守的温情之作
练束梅《三妹》:无声胜有声,眼神里都是戏
《三妹》:一段刻骨铭心的爱情与一个时代的缩影
揭秘古罗马士兵的秘密武器:Caligae行军靴
职场高效道歉策略:30秒内赢得原谅的艺术
道歉的艺术:让对方瞬间原谅你的小妙招
从《爸爸去哪儿》看父母如何正确向孩子道歉
道歉的艺术:Aaron Lazare教你如何正确道歉
过期中药饮片中药材销毁处置方法有哪些
冬虫夏草的每日推荐用量是3克至6克
冬虫夏草的8种常见药方食方
花岙岛必打卡:海上第一石林
长春旅游攻略景点大全,长春旅游必去十大景点有哪些?看这里!
新疆塔城夏季避暑胜地:喀拉峻草原旅游攻略
跟着《飞驰人生》打卡塔城最美景区
塔城红楼博物馆:百年建筑里的文化记忆
塔城红楼博物馆:百年俄式建筑里的文化瑰宝
新课改背景下的高中教研处创新管理
学案导学:打造高效的高中教研计划
清朝灭亡后,爱新觉罗的后代都去哪了?答案来了!
揭秘植物过冬的奇妙奥秘,生存智慧大揭秘
植物过冬的方法有哪些
怎样判断脑供血不足是颈椎病引起的
腰椎管狭窄症的诊断与治疗指南
详细解读冬虫夏草、蛹虫草以及虫草花的区别
秋冬高原工作必备:红景天&布洛芬,你准备好了吗?
秋冬月季花修剪,你的手套准备好了吗?
冬季月季修剪技巧:备战明年的美丽绽放
江苏扬州:“农业新质生产力”发力,让“奇珍异果”挂满架
10岁宝宝专属:这些水果最适宜!