1 回答
TA贡献1780条经验 获得超1个赞
在我看来,您分享的绘图示例就像核密度图。密度图“直方图的一种变体,它使用核平滑来绘制值,通过平滑噪声来实现更平滑的分布。” (见https://datavizcatalogue.com/methods/density_plot.html)
建立在matplotlib之上的seaborn库有一个kdeplot函数,它可以处理两组数据。这是一个玩具示例:
import numpy as np
from scipy.fftpack import dct
import seaborn
sample1 = dct(np.random.rand(100))
sample2 = dct(np.random.rand(30))
seaborn.kdeplot(sample1, color="r")
seaborn.kdeplot(sample2, color="b")
请注意,重新运行此代码会产生稍微不同的图像,因为我使用的是随机生成的数据。
要直接回答您编号的问题:
1. 图中的 X 轴和 Y 轴分别代表什么?
在 kdeplot 中,X 轴表示密度,y 轴表示具有这些值的观察数。与直方图不同,它应用了一种平滑方法来尝试估计噪声观测数据背后的数据“真实”分布。
2.noise_dct_data和ground_truth_dct_data中存储的值是DCT系数吗?
根据您设置代码的方式,是的,这些变量存储了您所做的 DCT 转换的结果。
3. Y轴是否代表其对应DCT系数的频率?
是的,但要平滑。类似于直方图,但不完全相同。
4.直方图是否适合表示DCT系数分布?
这取决于观察的数量,但如果你有足够的数据,直方图应该会给你非常相似的结果。
5. DCT系数通常根据其频率分为三个子带,即低、中、高频段。我们可以用来在低、中或高频段对 DCT 系数进行分类的阈值是多少?换句话说,我们如何对DCT系数频带进行径向分类?
我认为这个问题可能太复杂而无法在堆栈上令人满意地回答,但我在这里的建议是尝试弄清楚文章的作者是如何完成这项任务的。引用的文章“Blind Image Quality Assessment: A Natural Scene Statistics Approach in the DCT Domain”似乎在谈论径向基函数 (RBF),但这看起来像是一种在频率数据上训练监督模型以进行预测的方法扫描的整体质量。
关于数据分区,他们指出,“为了从局部图像块中捕获方向信息,DCT 块被定向分区。......上、中和下分区对应于低频、中频和高频 DCT 子带。"
我认为,至少在他们的一种情况下,分区是由子带 DCT 确定的。(参见https://ieeexplore.ieee.org/document/499836)似乎有大量关于这些类型方法的文献。
添加回答
举报