Open Mo-Junyang opened 1 year ago
我是一名刚入手医学图像生成的研究生,刚拜读了您的这篇文章Quantitative Cerebral Blood Volume Image Synthesis from Standard MRI Using Image-to-Image Translation for Brain Tumors,这项工作令人印象深刻。
阅读后,我对您这篇文章的一个小细节有些困惑。 在文中的SSIM指标解释那里提到” The range of the SSIM is 0–1,“。
我查阅了资料,维基百科中提到”The resultant SSIM index is a decimal value between -1 and 1“; 一个做视频质量分析的公司,在他们的网站https://vicuesoft.com/glossary/term/ssim-ms-ssim/ 中,提到 The resulting SSIM index ranges from −1 to +1. SSIM原文提到公式的其中一个项可以为负值”Note also that s(x, y) can take on negative values“
因此我对SSIM的取值范围产生了一些疑惑,希望您能告诉我您的看法,解答我的疑惑,感谢!
感谢关注,磁共振图像的intensity是非负的,通常归一化后的范围取[0, *], 所以计算的SSIM取不到负数的部分。有些研究将图像的范围映射到[-1, 1],这仅仅作为网络的输出,不建议在计算SSIM时使用。
非常感谢您的解答!请问归一化与否是不是不会影响到ssim的取值?
一个极端的例子是:将[0,1,2,3,4,5,6]
和[6,5,4,3,2,1,0]
分别扩张成7*7大小的图像,并归一化到[0,1]
from skimage.metrics import structural_similarity as struct_sim
>>>a
array([[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ],
[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ],
[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ],
[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ],
[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ],
[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ],
[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667,
0.83333333, 1. ]])
>>>b
array([[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ],
[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ],
[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ],
[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ],
[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ],
[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ],
[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333,
0.16666667, 0. ]])
>>>c = struct_sim(a,b,data_range = 1)
>>>c
-0.9920966614086147
如上,数据分布在[0,1]之间,但在极端不相似的情况下,由于其负相关性,ssim公式中的协方差将会出现负值,则取值仍会出现负值。 图像的value范围会影响到SSIM中的常数C的取值,但归一化与否好像不会使得SSIM取不到负值?因此我的疑惑仍旧是SSIM的取值范围是否应该是[-1,1],或者说是否应该说,该取值 通常 为[0,1],当不相似到出现负相关的情况时,负值就会出现。再次感谢您的回复!
非常感谢您的解答!请问归一化与否是不是不会影响到ssim的取值? 一个极端的例子是:将
[0,1,2,3,4,5,6]
和[6,5,4,3,2,1,0]
分别扩张成7*7大小的图像,并归一化到[0,1]from skimage.metrics import structural_similarity as struct_sim >>>a array([[0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ], [0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ], [0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ], [0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ], [0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ], [0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ], [0. , 0.16666667, 0.33333333, 0.5 , 0.66666667, 0.83333333, 1. ]]) >>>b array([[1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ], [1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ], [1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ], [1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ], [1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ], [1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ], [1. , 0.83333333, 0.66666667, 0.5 , 0.33333333, 0.16666667, 0. ]]) >>>c = struct_sim(a,b,data_range = 1) >>>c -0.9920966614086147
如上,数据分布在[0,1]之间,但在极端不相似的情况下,由于其负相关性,ssim公式中的协方差将会出现负值,则取值仍会出现负值。 图像的value范围会影响到SSIM中的常数C的取值,但归一化与否好像不会使得SSIM取不到负值?因此我的疑惑仍旧是SSIM的取值范围是否应该是[-1,1],或者说是否应该说,该取值 通常 为[0,1],当不相似到出现负相关的情况时,负值就会出现。再次感谢您的回复!
我大概理解了你的困惑,你可以这么认为,但这仅限于你使用的这个函数。这个函数只是SSIM当\alpha=1 \beta=1 \gamma=1 的特例,SSIM的定义中,\gamma可以是任意值,这要求关于协方差计算的结构项必须取正值,当这一项为负值时不符合SSIM的定义。
感谢您的回复!很抱歉我还有一些困惑。
SSIM的定义中,\gamma可以是任意值,这要求关于协方差计算的结构项必须取正值,当这一项为负值时不符合SSIM的定义。
关于这一个要求必须取正值的定义可以麻烦给一个出处吗,我查阅了SSIM的原文,其中在简化α=β=γ=1之前,描述结构项时特别谈到结构项s(x,y)可以取到负值。γ取任意值时会对这一项有限制吗?感谢!
感谢您的回复!很抱歉我还有一些困惑。
SSIM的定义中,\gamma可以是任意值,这要求关于协方差计算的结构项必须取正值,当这一项为负值时不符合SSIM的定义。
关于这一个要求必须取正值的定义可以麻烦给一个出处吗,我查阅了SSIM的原文,其中在简化α=β=γ=1之前,描述结构项时特别谈到结构项s(x,y)可以取到负值。γ取任意值时会对这一项有限制吗?感谢!
这是一个计算问题,如果你愿意可以计算一下γ=1.1时的SSIM值。
我明白了!当γ为分数时,协方差若是负数就会出现负数单位,超出实数范围,若是当αβγ都取1这个特例时,则可以认为SSIM存在负数。非常感谢您的耐心解答!
我是一名刚入手医学图像生成的研究生,刚拜读了您的这篇文章Quantitative Cerebral Blood Volume Image Synthesis from Standard MRI Using Image-to-Image Translation for Brain Tumors,这项工作令人印象深刻。
阅读后,我对您这篇文章的一个小细节有些困惑。 在文中的SSIM指标解释那里提到” The range of the SSIM is 0–1,“。
我查阅了资料,维基百科中提到”The resultant SSIM index is a decimal value between -1 and 1“; 一个做视频质量分析的公司,在他们的网站https://vicuesoft.com/glossary/term/ssim-ms-ssim/ 中,提到 The resulting SSIM index ranges from −1 to +1. SSIM原文提到公式的其中一个项可以为负值”Note also that s(x, y) can take on negative values“
因此我对SSIM的取值范围产生了一些疑惑,希望您能告诉我您的看法,解答我的疑惑,感谢!