⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议。
Skip to content

4.4 质量评估:PSNR与SSIM实测

在重建实验里,“看起来更清晰”并不等于“更接近真值”。本节用两个常用指标:

  • PSNR:基于 MSE 的信噪比指标,偏向像素误差
  • SSIM:结构相似性指标,更贴近人眼对结构的敏感度

来对结果做定量比较。


1. PSNR

给定参考图像 (I) 与重建图像 (\hat I),均方误差:

MSE=1N(II^)2

PSNR:

PSNR=10log10(MAX2MSE)

其中 (MAX) 是像素最大值(常见为 1 或 255)。


2. SSIM

SSIM 更关注局部亮度、对比度与结构的相似性。实践中直接使用库函数即可。


3. 实测代码(以 CT FBP 为例)

python
import numpy as np
from skimage.data import shepp_logan_phantom
from skimage.transform import radon, iradon
from skimage.metrics import peak_signal_noise_ratio, structural_similarity

img = shepp_logan_phantom()
angles = np.linspace(0., 180., max(img.shape), endpoint=False)
sino = radon(img, theta=angles, circle=True)

# baseline
recon = iradon(sino, theta=angles, filter_name="ramp", circle=True)

psnr = peak_signal_noise_ratio(img, recon, data_range=img.max() - img.min())
ssim = structural_similarity(img, recon, data_range=img.max() - img.min())

print("PSNR:", psnr)
print("SSIM:", ssim)

4. 指标的局限性

⚠️ 不要“唯指标论”

PSNR/SSIM 是非常有用的 baseline,但在医学影像里仍可能出现:

  • 指标更好,但病灶边界被抹平
  • 指标相近,但下游分割/检测性能差异很大

因此更稳妥的做法是:指标 + 视觉检查 + 下游任务指标 结合评估。

Released under the MIT License.