两种常用的参考图像质量评价指标
- PSNR(Peak Signal to Noise Ratio)峰值信噪比:
峰值信噪比(PSNR)是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程术语。由于许多信号都有非常宽的动态范围,峰值信噪比常用对数分贝单位来表示。
PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。
MSE 表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;
M
S
E
=
1
H
×
W
∑
i
=
1
H
∑
j
=
1
W
(
X
(
i
,
j
)
−
Y
(
i
,
j
)
)
2
M S E=\frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W}(X(i, j)-Y(i, j))^{2}
MSE=H×W1i=1∑Hj=1∑W(X(i,j)−Y(i,j))2
PSNR的单位是dB,数值越大表示失真越小。n为每像素的比特数,一般的灰度图像取8,即像素灰阶数为256.
P S N R = 10 log 10 ( ( 2 n − 1 ) 2 M S E ) P S N R=10 \log _{10}\left(\frac{\left(2^{n}-1\right)^{2}}{M S E}\right) PSNR=10log10(MSE(2n−1)2)
一般地,针对 uint8 数据,最大像素值为 255,;针对浮点型数据,最大像素值为 1。
上面是针对灰度图像的计算方法,如果是彩色图像,通常有三种方法来计算。
- 分别计算 RGB 三个通道的 PSNR,然后取平均值。
- 计算 RGB 三通道的 MSE ,然后再除以 3 。
- 将图片转化为 YCbCr 格式,然后只计算 Y 分量也就是亮度分量的 PSNR。
其中,第二和第三种方法比较常见。
针对超光谱图像,我们需要针对不同波段分别计算 PSNR,然后取平均值,这个指标称为 MPSNR。
- SSIM(Structural Similarity)结构相似性:
μ X , μ Y \mu_{X}, \mu_{Y} μX,μY分别表示图像X和Y的均值, σ X , σ Y \sigma_{X}, \sigma_{Y} σX,σY分别表示图像X和Y的方差, σ X Y \sigma_{X Y} σXY表示图像X和Y的协方差,即
μ X = 1 H × W ∑ i = 1 H ∑ j = 1 W X ( i , j ) \mu_{X}=\frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W} X(i, j) μX=H×W1i=1∑Hj=1∑WX(i,j)
σ X = ( 1 H × W − 1 ∑ i = 1 H ∑ j = 1 W ( X ( i , j ) − μ X ) 2 ) 1 2 \sigma_{X}=\left(\frac{1}{H \times W-1} \sum_{i=1}^{H} \sum_{j=1}^{W}\left(X(i, j)-\mu_{X}\right)^{2}\right)^{\frac{1}{2}} σX=(H×W−11i=1∑Hj=1∑W(X(i,j)−μX)2)21
σ X Y = 1 H × W − 1 ∑ i = 1 H ∑ j = 1 W ( X ( i , j ) − μ X ) ( Y ( i , j ) − μ Y ) \sigma_{X Y}=\frac{1}{H \times W-1} \sum_{i=1}^{H} \sum_{j=1}^{W}\left(X(i, j)-\mu_{X}\right)\left(Y(i, j)-\mu_{Y}\right) σXY=H×W−11i=1∑Hj=1∑W(X(i,j)−μX)(Y(i,j)−μY)
SSIM分别从 亮度、对比度、结构 三方面度量图像相似性。
l
(
X
,
Y
)
=
2
μ
X
μ
Y
+
C
1
μ
X
2
+
μ
Y
2
+
C
1
l(X, Y)=\frac{2 \mu_{X} \mu_{Y}+C_{1}}{\mu_{X}^{2}+\mu_{Y}^{2}+C_{1}}
l(X,Y)=μX2+μY2+C12μXμY+C1
c ( X , Y ) = 2 σ X σ Y + C 2 σ X 2 + σ Y 2 + C 2 c(X, Y)=\frac{2 \sigma_{X} \sigma_{Y}+C_{2}}{\sigma_{X}^{2}+\sigma_{Y}^{2}+C_{2}} c(X,Y)=σX2+σY2+C22σXσY+C2
s ( X , Y ) = σ X Y + C 3 σ X σ Y + C 3 s(X, Y)=\frac{\sigma_{X Y}+C_{3}}{\sigma_{X} \sigma_{Y}+C_{3}} s(X,Y)=σXσY+C3σXY+C3
C
1
,
C
2
,
C
3
C_{1}, C_{2}, C_{3}
C1,C2,C3为常数,为了避免分母为0的情况,通常取
C
1
=
(
K
1
∗
L
)
2
,
C
2
=
(
K
2
∗
L
)
2
,
C
3
=
C
2
2
C 1=(K 1 * L)^{2}, C 2=(K 2 * L)^{2}, C 3=\frac{C_{2}}{2}
C1=(K1∗L)2,C2=(K2∗L)2,C3=2C2, 一般地K1=0.01, K2=0.03, L=255. 则
SSIM
(
X
,
Y
)
=
l
(
X
,
Y
)
∗
c
(
X
,
Y
)
∗
s
(
X
,
Y
)
\operatorname{SSIM}(X, Y)=l(X, Y) * c(X, Y) * s(X, Y)
SSIM(X,Y)=l(X,Y)∗c(X,Y)∗s(X,Y)
SSIM取值范围[0,1],值越大,表示图像失真越小.
SSIM的特殊形式如下:
S S I M ( X , Y ) = ( 2 μ X μ Y + C 1 ) ( 2 σ X Y + C 2 ) ( μ X 2 + μ Y 2 + C 1 ) ( σ X 2 + σ Y 2 + C 2 ) S S I M(X, Y)=\frac{\left(2 \mu_{X} \mu_{Y}+C_{1}\right)\left(2 \sigma_{X Y}+C_{2}\right)}{\left(\mu_{X}^{2}+\mu_{Y}^{2}+C_{1}\right)\left(\sigma_{X}^{2}+\sigma_{Y}^{2}+C_{2}\right)} SSIM(X,Y)=(μX2+μY2+C1)(σX2+σY2+C2)(2μXμY+C1)(2σXY+C2)
MSSIM(Mean Structural Similarity )平均结构相似性
在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用加权计算每一窗口的均值、方差以及协方差,权值
w
i
j
w_{i j}
wij满足
∑
i
∑
j
w
i
j
=
1
\sum_{i} \sum_{j} w_{i j}=1
∑i∑jwij=1,通常采用高斯核,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构相似性MSSIM:
μ
X
=
∑
i
=
1
H
∑
j
=
1
W
w
i
j
X
(
i
,
j
)
\mu_{X}=\sum_{i=1}^{H} \sum_{j=1}^{W} w_{i j} X(i, j)
μX=i=1∑Hj=1∑WwijX(i,j)
σ X = ( ∑ i = 1 H ∑ j = 1 W w i j ( X ( i , j ) − μ X ) ) 1 2 \sigma_{X}=\left(\sum_{i=1}^{H} \sum_{j=1}^{W} w_{i j}\left(X(i, j)-\mu_{X}\right)\right)^{\frac{1}{2}} σX=(i=1∑Hj=1∑Wwij(X(i,j)−μX))21
σ X Y = ∑ i = 1 H ∑ j = 1 W w i j ( X ( i , j ) − μ X ) ( Y ( i , j ) − μ Y ) \sigma_{X Y}=\sum_{i=1}^{H} \sum_{j=1}^{W} w_{i j}\left(X(i, j)-\mu_{X}\right)\left(Y(i, j)-\mu_{Y}\right) σXY=i=1∑Hj=1∑Wwij(X(i,j)−μX)(Y(i,j)−μY)
MSSIM = 1 N ∑ k = 1 N SSIM ( x k , y k ) \operatorname{MSSIM}=\frac{1}{N} \sum_{k=1}^{N} \operatorname{SSIM}\left(x_{k}, y_{k}\right) MSSIM=N1k=1∑NSSIM(xk,yk)