不确定这是否是提出这个问题的地方。
我对PCA的存储空间有疑问。
如果我们使用PCA压缩图像,
我们至少要存储 1)主要组件的数量 2)提取平均值的numpy数组
由于原始图像阵列大小和平均减去的数组大小相同。所需的存储量将是相同的,因此压缩在哪里?
答案 0 :(得分:1)
首先:使用PCA压缩图像是可能的,但是不可能(没有任何意义)没有损失。基本思想是最小化维度数量,同时最大化维持的方差。
假设您有n张尺寸为x * y的图像。
然后,您将计算一个大小为x * y的平均图像,您必须存储该图像。 此外,您可以使用前k个特征向量/主成分来减少维数。因此,您可以从x * y维度到k维度减少每个图像(基于您选择保留多少方差)。 最后,您需要存储前k个特征向量/主成分,这是一个大小为k *(x * y)的矩阵。
总结:您可以将大小为x * y的n张图像缩小为
a)n个大小为k的数组
b)尺寸为x * y的单个平均图像 c)包含前k个主成分的大小为k *(x * y)的矩阵这是否确实会导致压缩取决于您选择的k和图像数量。
虽然理论上可行,但这种压缩确实包含损失。