SSIM理解

  • Post author:
  • Post category:其他




1.向量相似性的计算

  • 内积:





    I

    <

    x

    ,

    y

    >

    =

    i

    x

    i

    ,

    y

    i

    I<x, y>=\sum_i x_i, y_i






    I




    <








    x


    ,




    y




    >






    =
















    i





























    x










    i


















    ,





    y










    i























    直观解释是:如果x大的地方y也比较大,x小的地方y也比较小,那么整体内积是偏大的,内积越大两个向量越相似。

  • 余弦相似度:由于向量内积没有界限,一种解决办法是除以长度之后再求内积





    C

    o

    s

    S

    i

    m

    (

    x

    ,

    y

    )

    =

    i

    x

    i

    y

    i

    i

    x

    i

    2

    i

    y

    i

    2

    =

    &lt;

    x

    ,

    y

    &gt;

    x

    y

    CosSim(x,y) = \frac{\sum_ix_iy_i}{\sqrt{\sum_ix_i^2}\sqrt{\sum_iy_i^2}}=\frac{&lt;x, y&gt;}{||x||||y||}






    C


    o


    s


    S


    i


    m


    (


    x


    ,




    y


    )




    =







































    i





















    x










    i








    2




























































    i





















    y










    i








    2
































































    i





















    x










    i



















    y










    i






































    =

























    x














    y




















    <




    x


    ,




    y




    >

























    余弦相似度与向量的幅值无关,只与向量的方向相关。

  • 皮卡尔逊相关系数:余弦相似度受到向量的平移影响,上式如果将



    x

    x






    x





    平移到



    x

    +

    1

    x+1






    x




    +








    1





    余弦值就会改变,如何才能保证平移不变性,就是下面要说的皮卡尔逊相关系数:





    Corr

    (

    x

    ,

    y

    )

    =

    i

    (

    x

    i

    x

    )

    (

    y

    i

    y

    )

    (

    x

    i

    x

    )

    2

    (

    y

    i

    y

    )

    2

    =

    x

    x

    ,

    y

    y

    x

    x

    y

    y

    =

    cossim

    (

    x

    x

    ,

    y

    y

    \operatorname{Corr}(x, y)=\frac{\sum_{i}\left(x_{i}-\overline{x}\right)\left(y_{i}-\overline{y}\right)}{\sqrt{\sum\left(x_{i}-\overline{x}\right)^{2}} \sqrt{\sum\left(y_{i}-\overline{y}\right)^{2}}}=\frac{\langle x-\overline{x}, y-\overline{y}\rangle}{\|x-\overline{x}\|\|y-\overline{y}\|}=\operatorname{cossim}(x-\overline{x}, y-\overline{y}







    C


    o


    r


    r



    (


    x


    ,




    y


    )




    =


































    (



    x











    i


































    x














    )












    2















































    (



    y











    i


































    y























    )












    2

























































    i






















    (



    x











    i


































    x














    )






    (



    y











    i


































    y























    )























    =






















    x

















    x




















    y

















    y









































    x

















    x














    ,




    y

















    y














































    =









    c


    o


    s


    s


    i


    m



    (


    x





















    x














    ,




    y





















    y




























    皮卡尔逊相关系数具有平移不变性和尺度不变性。



2. SSIM计算

比较两幅图像的结构相似性(structure similarity),主要从三个方面进行比较:两度(luminance)



I

(

x

,

y

)

I(x,y)






I


(


x


,




y


)





, 对比度(constrast)



c

(

x

,

y

)

c(x,y)






c


(


x


,




y


)





和结构(structure)



s

(

x

,

y

)

s(x,y)






s


(


x


,




y


)





,最终



x

x






x









y

y






y





的相似度是这三者的函数:





S

(

x

,

y

)

=

f

(

l

(

x

,

y

)

,

c

(

x

,

y

)

,

s

(

x

,

y

)

)

S(x,y)=f\left(l(x,y), c(x,y), s(x,y)\right)






S


(


x


,




y


)




=








f





(


l


(


x


,




y


)


,




c


(


x


,




y


)


,




s


(


x


,




y


)


)








这三个度量相似性的公式遵循以下三个原则:

  • 对称性:



    s

    (

    x

    ,

    y

    )

    =

    s

    (

    y

    ,

    x

    )

    s(x,y) = s(y,x)






    s


    (


    x


    ,




    y


    )




    =








    s


    (


    y


    ,




    x


    )




  • 有界性:



    s

    (

    x

    ,

    y

    )

    1

    s(x,y) \leq 1






    s


    (


    x


    ,




    y


    )













    1




  • 极限值为1:



    s

    (

    x

    ,

    y

    )

    =

    1

    s(x,y)=1






    s


    (


    x


    ,




    y


    )




    =








    1





    当且仅当



    x

    =

    y

    x=y






    x




    =








    y






2.1亮度的计算

如果一个图像有



n

n






n





个像素点,每个像素的像素值为



x

i

x_i







x










i





















,那么该图像的平均亮度为:





μ

x

=

1

n

i

=

1

N

x

i

\mu_x=\frac{1}{n}\sum_{i=1}^Nx_i







μ










x




















=



















n














1































i


=


1


















N




















x










i























可以用以下公式计算两幅图



x

x






x









y

y






y





的亮度相似度:





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


)




=




















μ










x








2




















+





μ










y








2




















+





C










1






























2



μ










x



















μ










y




















+





C










1









































2.1对比度的计算

对比度即图像明暗的变化剧烈程度,也就是像素值的标准差,其计算公式为:





σ

x

=

(

1

N

1

i

=

1

n

(

x

i

μ

x

)

2

)

1

/

2

\sigma_x=\left(\frac{1}{N-1}\sum_{i=1}^n (x_i – \mu_x)^{2} \right)^{1/2}







σ










x




















=











(














N









1














1































i


=


1


















n

















(



x










i


























μ










x



















)











2











)













1


/


2















对比度相似度的计算公式为:





l

(

x

,

y

)

=

2

σ

x

σ

y

+

C

1

σ

x

2

+

σ

y

2

+

C

1

l(x,y) = \frac{2\sigma_x\sigma_y+C_1}{\sigma_x^2+\sigma_y^2+C_1}






l


(


x


,




y


)




=




















σ










x








2




















+





σ










y








2




















+





C










1






























2



σ










x



















σ










y




















+





C










1









































2.1结构相似度的计算:

对一幅图像而言,其亮度和对比度均为标量,而其结构显然无法用一个标量表示,二是应该用该图所有像素组成的向量来表示,同时研究结构相似度是应排除亮度和对比度的影响,即排除均值和标准差的影响,即研究归一化的两个向量



(

x

μ

x

)

/

σ

x

(x-\mu_x)/\sigma_x






(


x














μ










x


















)


/



σ










x

























(

y

μ

y

)

/

σ

y

(y-\mu_y)/\sigma_y






(


y














μ










y


















)


/



σ










y





















之间的关系,两个向量的模长为



N

1

\sqrt{N-1}














N









1



























因此他们的余弦相似度为:





s

(

x

,

y

)

=

(

1

N

1

x

μ

x

σ

x

)

(

1

N

1

y

μ

y

σ

y

)

s(x,y)=\left(\frac{1}{\sqrt{N-1}} \frac{x-\mu_x}{\sigma_x}\right)\left(\frac{1}{\sqrt{N-1}} \frac{y-\mu_y}{\sigma_y}\right)






s


(


x


,




y


)




=










(






















N









1




































1
































σ










x






























x










μ










x





































)








(






















N









1




































1
































σ










y






























y










μ










y





































)













s

(

x

,

y

)

=

1

σ

x

σ

y

(

1

N

1

i

=

1

N

(

x

i

μ

x

)

(

y

i

μ

y

)

)

s(x,y)= \frac{1}{\sigma_x\sigma_y}\left(\frac{1}{N-1}\sum_{i=1}^N(x_i-\mu_x)(y_i – \mu_y)\right)






s


(


x


,




y


)




=




















σ










x



















σ










y






























1
























(














N









1














1































i


=


1


















N

















(



x










i


























μ










x


















)


(



y










i


























μ










y


















)



)









上式中后一部分为协方差,结构相似度定义为:





s

(

x

,

y

)

=

σ

x

y

σ

x

σ

y

s(x,y)=\frac{\sigma_{xy}}{\sigma_x\sigma_y}






s


(


x


,




y


)




=




















σ










x



















σ










y































σ











x


y








































最终SSIM是计算公式为:





SSIM

(

x

,

y

)

=

(

2

μ

x

μ

y

+

C

1

)

(

2

σ

x

y

+

C

2

)

(

μ

x

2

+

μ

y

2

+

C

1

)

(

σ

x

2

+

σ

y

2

+

C

2

)

\operatorname{SSIM}(\mathbf{x}, \mathbf{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)}







S


S


I


M



(



x



,





y



)




=





















(




μ











x










2





















+





μ











y










2





















+





C











1




















)








(




σ











x










2





















+





σ











y










2





















+





C











2




















)

















(


2



μ











x




















μ











y





















+





C











1



















)






(


2



σ











x


y





















+





C











2



















)


























版权声明:本文为qq_34535410原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。