如何比较两种插值(图像大小调整)算法的质量?

信息处理 图像处理 插值 重采样
2022-01-27 21:07:45

我正在实现图像大小调整算法(Bilinear、Bicubic、Lanczos 和其他一些算法)。

我如何定量比较它们?

我正在考虑考虑大量图像样本并在所有图像上运行这些算法,并逐对比较标准插值实现。我应该在这里使用什么指标?还有其他方法可以做到这一点吗?

4个回答

通常要测试插值算法(对于调整大小,还有旋转和各种“可逆”图像变换,您会多次应用正向算法(即调整大小为两倍,获取结果并将其调整为大小的 1.5 倍,等),然后应用所有的反向变换。

您应用的转换越多,您看到的错误就越多,您的比较就越敏感。它还可以更好地代表您的用例(人们选择已经调整大小的图像,调整大小并发布它)

然后计算结果和原始图像之间的最大差异(或标准偏差,或只是视觉比较)。

在您的情况下,您还可以应用所有正向变换,然后将其调整为原始大小。

有许多方法可以评估您的调整大小算法。研究人员通常使用 PSNR 来比较图像质量。请参阅http://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio

请注意,它们使用与标准相同的图像集。请参阅“测试静止图像”中的http://www.hlevkin.com/

无论如何,如果要计算 PSNR,则需要两张图像(原始图像和测试图像)。因此,当您将分辨率为 a1 的图像调整为 a2 时,您必须将其向后调整为原始 (a1)。然后您可以通过计算 PSNR 来评估它。(我们通常使用与缩小步骤相同的算法来放大(a2-->a1)。)

关键是,如果你想单独测试缩小算法,什么是正确的方法?让我们看看其他人做了什么。

  • 使用测试算法缩小规模,使用FIXED算法扩大规模。(通常是传统的,例如双线性、双三次。)

同样,要使用升迁算法,

  • 以传统方式缩小规模,然后用测试算法扩大规模。

在这种调整大小的场景中不使用 PSNR,因为 PSNR 或 SSIM 技术仅用于相同大小的图像,但是如果我们使用不同的插值技术调整大小,图像的大小会相对于原始图像发生变化,如果我们再次调整大小将图像调整为原始图像也称为反冲技术,在这种技术中我们无法评估质量,因为边缘的宽度会发生变化,实际上,调整大小的图像边缘宽度会显着增加,特别是在缩小时。

当您将上述方法与标准插值进行比较时,您可以使用 PSNR 和 SSIM 等措施,这些措施在最新版本的 MATLAB 发行版中作为内置函数提供。使用标准插值输出作为参考图像,并使用方法的输出作为目标来计算度量。