图像质量指标
PSNR(Peak Signal-to-Noise Ratio 峰值信噪比)
PSNR(Peak Signal-to-Noise Ratio),峰值信噪比,是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程术语。由于许多信号都有非常宽的动态范围,所以峰值信噪比常用对数分贝单位来表示。
以灰度图为例,设大小均为
m
×
n
m \times n
m×n原始图像和处理图像分别为
I
o
I_o
Io和
I
p
I_p
Ip,均方误差(MSE)定义为
M
S
E
=
1
m
n
∑
i
=
0
m
−
1
∑
j
=
0
m
−
1
[
I
o
(
i
,
j
)
−
I
p
(
i
,
j
)
]
2
MSE=\frac{1}{mn}\sum_{i=0}^{m-1}\sum_{j=0}^{m-1}[I_o(i,j)-I_p(i,j)]^2
MSE=mn1i=0∑m−1j=0∑m−1[Io(i,j)−Ip(i,j)]2
PSNR通过MSE计算,定义为
P
S
N
R
=
10
⋅
log
10
(
M
A
X
I
2
M
S
E
)
PSNR=10 \cdot \log_{10}(\frac{{MAX_I}^2}{MSE})
PSNR=10⋅log10(MSEMAXI2)
其中
M
A
X
I
{MAX_I}
MAXI为表示图像像素值的最大值,例如图像一个像素点用8bit来表示,则
M
A
X
I
=
2
8
−
1
=
255
{MAX_I}=2^8-1=255
MAXI=28−1=255。
处理图像与原始图像越接近,MSE越小,则PSNR越大。一般来说:
- P S N R > 40 d B PSNR>40dB PSNR>40dB时,说明图像质量极好(非常接近原始图像)
- 30 d B < P S N R < 40 d B 30dB<PSNR<40dB 30dB<PSNR<40dB时,说明图像质量好(存在可以接受的失真)
- 20 d B < P S N R < 30 d B 20dB<PSNR<30dB 20dB<PSNR<30dB时,说明图像质量差(存在不可接受的失真)
- P S N R < 20 d B PSNR<20dB PSNR<20dB时,说明图像质量极差
对于彩色图像,以RGB图像为例,有以下3种方式计算PSNR:
- 计算RGB三通道每个通道的PSNR值,再求平均
- 计算RGB三通道每个通道的MSE值,取平均,再计算PSNR
- 将RGB转换成YUV颜色空间,仅仅计算Y(亮度)分量的PSNR
其中方法2和方法3较常用。
PSNR是最普遍,最广泛使用的评鉴画质的客观量测法,不过许多实验结果都显示,PSNR的分数无法和人眼看到的视觉品质完全一致,有可能PSNR较高者看起来反而比PSNR较低者差。这是因为人眼的视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多因素的影响而产生变化(例如:人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响)。
SSIM(Structural Similarity 结构相似性)
SSIM(Structural Similarity),结构相似性,是一种衡量两幅图像相似度的指标。SSIM 主要考量图片的三个关键特征:亮度(Luminance),对比度(Contrast),结构 (Structure)
SSIM使用的两张图像中,一张为未经压缩的无失真图像x,另一张为失真后的图像y。SSIM定义为
S
S
I
M
(
x
,
y
)
=
l
(
x
,
y
)
α
⋅
c
(
x
,
y
)
β
⋅
s
(
x
,
y
)
γ
SSIM(x,y)=l(x,y)^\alpha \cdot c(x,y)^\beta \cdot s(x,y)^\gamma
SSIM(x,y)=l(x,y)α⋅c(x,y)β⋅s(x,y)γ
其中
α
>
0
,
β
>
0
,
γ
>
0
\alpha >0,\beta >0, \gamma >0
α>0,β>0,γ>0
亮度(Luminance)
亮度通过平均所有像素值来衡量
u
x
=
1
N
∑
i
=
1
N
x
i
u_x=\frac{1}{N}\sum_{i=1}^{N}x_i
ux=N1i=1∑Nxi
u
y
=
1
N
∑
i
=
1
N
y
i
u_y=\frac{1}{N}\sum_{i=1}^{N}y_i
uy=N1i=1∑Nyi
l
(
x
,
y
)
=
2
u
x
u
y
+
c
1
u
x
2
+
u
y
2
+
c
1
l(x,y)=\frac{2u_xu_y+c_1}{u_x^2+u_y^2+c_1}
l(x,y)=ux2+uy2+c12uxuy+c1
c
1
c_1
c1为常数,为了避免分母为0
对比度(Contrast)
对比度通过像素的样本标准差、协方差来衡量
σ
x
=
∑
i
=
1
N
(
x
i
−
u
x
)
2
N
−
1
\sigma_x=\sqrt{\frac{\sum_{i=1}^N(x_i-u_x)^2}{N-1}}
σx=N−1∑i=1N(xi−ux)2
σ
y
=
∑
i
=
1
N
(
y
i
−
u
y
)
2
N
−
1
\sigma_y=\sqrt{\frac{\sum_{i=1}^N(y_i-u_y)^2}{N-1}}
σy=N−1∑i=1N(yi−uy)2
σ
x
y
=
∑
i
=
1
N
(
x
i
−
u
x
)
(
y
i
−
u
y
)
N
−
1
\sigma_{xy}=\frac{\sum_{i=1}^N(x_i-u_x)(y_i-u_y)}{N-1}
σxy=N−1∑i=1N(xi−ux)(yi−uy)
c
(
x
,
y
)
=
2
σ
x
y
+
c
2
σ
x
2
+
σ
y
2
+
c
2
c(x,y)=\frac{2\sigma_{xy}+c_2}{\sigma_x^2+\sigma_y^2+c_2}
c(x,y)=σx2+σy2+c22σxy+c2
c
2
c_2
c2为常数,作用同
c
1
c_1
c1
结构 (Structure)
s
(
x
,
y
)
=
σ
x
y
+
c
3
σ
x
σ
y
+
c
3
s(x,y)=\frac{\sigma_{xy}+c_3}{\sigma_x\sigma_y+c_3}
s(x,y)=σxσy+c3σxy+c3
c
3
c_3
c3为常数,作用同
c
1
c_1
c1
关于常数 c 1 , c 2 , c 3 c_1,c_2,c_3 c1,c2,c3
常数 c 1 = ( k 1 L ) 2 c_1=(k_1L)^2 c1=(k1L)2, c 2 = ( K 2 L ) 2 c_2=(K_2L)^2 c2=(K2L)2, c 3 = c 2 2 c_3=\frac{c_2}{2} c3=2c2,经验上常取 k 1 = 0.01 , k 2 = 0.03 k_1=0.01,k_2=0.03 k1=0.01,k2=0.03, L L L为像素动态取值范围,即 L = 2 b i t s p e r p i x e l − 1 L=2^{bits\ per\ pixel}-1 L=2bits per pixel−1(与PSNR中的 M A X I {MAX_I} MAXI是一个意思)
实际工程计算中,一般设定
α
=
β
=
γ
=
1
\alpha=\beta=\gamma=1
α=β=γ=1,SSIM可以简化为公式
S
S
I
M
(
x
,
y
)
=
(
2
u
x
u
y
+
c
1
)
(
2
σ
x
y
+
c
2
)
(
u
x
2
+
u
y
2
+
c
1
)
(
σ
x
2
+
σ
y
2
+
c
2
)
SSIM(x,y)=\frac{(2u_xu_y+c_1)(2\sigma_{xy}+c_2)}{(u_x^2+u_y^2+c_1)(\sigma_x^2+\sigma_y^2+c_2)}
SSIM(x,y)=(ux2+uy2+c1)(σx2+σy2+c2)(2uxuy+c1)(2σxy+c2)
SSIM满足以下3个条件
- 对称性: S S I M ( x , y ) = S S I M ( y , x ) SSIM(x,y)=SSIM(y,x) SSIM(x,y)=SSIM(y,x)
- 有界性: − 1 ≤ S S I M ( x , y ) ≤ 1 -1\leq SSIM(x,y) \leq 1 −1≤SSIM(x,y)≤1
- 最大值唯一性:当且仅当 x = y x=y x=y时, S S I M = 1 SSIM=1 SSIM=1
MSSIM(Mean SSIM 平均结构相似性)
在实际应用当中,当需要衡量一整张图片的质量时,可以利用滑动窗将图像分块(blocks)。计算每个block的平均值、标准差、协方差,然后得到每个block的SSIM,再对每个block的SSIM求平均,缺点是会造成块效应(block artifacts)。考虑到滑动窗的分块影响,可以采用高斯加权(圆对称高斯加权)计算每个block的平均值、标准差、协方差,然后得到每个block的SSIM,再对每个block的SSIM求平均即得到MSSIM。
参考: