问题标签 [ssim]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
12302 浏览

python - 在我的模型中使用 Pytorch SSIM 损失函数

我正在通过这个 repo尝试这个 SSIM loss 实现来进行图像恢复。

为了参考作者GitHub上的原始示例代码,我尝试了:

然而,结果并没有像我预期的那样出来。在前 10 个 epoch 之后,打印的结果图像都是黑色的。

loss = - criterion(inputs, outputs)是作者提出的,但是,对于经典的 Pytorch 训练代码,这将是loss = criterion(y_pred, target),因此应该在loss = criterion(inputs, outputs)这里。

但是,我尝试loss = criterion(inputs, outputs)了但结果仍然相同。

谁能分享一些关于如何正确利用 SSIM 损失的想法?谢谢。

0 投票
1 回答
7356 浏览

python - 如何使用 python 比较一个图像和许多其他图像之间的 SSIM?

使用这个精彩的页面:https ://www.pyimagesearch.com/2014/09/15/python-compare-two-images/ 我能够在三个图像之间找到 SSIM

但是,我不太确定如何将其应用于许多图像。特别是,我如何从包含数百张图像的文件夹中获取一张图像(测试图像)并计算测试图像和所有其他图像之间的 MSE/SSIM?

谢谢!

0 投票
0 回答
404 浏览

ffmpeg - 当它包含inf值时如何计算平均PSNR?

我通过 VQMT 获得了 PSNR,然后我在计算的 csv 文件中发现了一些“inf”值,我理解这意味着解码序列中的帧与原始视频帧相同。还有一些值,例如 111.29。我的问题是,在 inf 之前 PSNR 的最大值是多少?因为看起来 111.29 是一个非常高的值,但它们并不相同!为什么我有这么大的价值观?

在 CSV 文件的末尾(包含所有帧的 PSNR),平均 PSNR 写为“inf”。我的问题是我应该如何获得平均 PSNR?我应该忽略 inf 帧并获得其余帧的平均值吗?在我看来这不是很准确!或者我应该,例如,将 inf 替换为 111.229 之类的东西,然后用它取平均值?

我的问题是我知道 111.229 可能是两个帧相同时的最大阈值,但我找不到任何参考,如果这是正确的,你知道任何参考吗?

0 投票
0 回答
279 浏览

python - SSIM 无法获得图像差异

我正在开发一个射击模拟器项目。我正在使用 IP 摄像机捕捉带有弹孔的屏幕。我面临的问题是只得到新的弹孔。我尝试了 SSIM 方法来实现:

我得到了这个结果。我之前和之后的图像是相同的(由于屏幕上有空气而几乎没有运动),但 SSIM 方法总是检测相同图像中的变化。

我的第一张图片是:
在此处输入图像描述

第二张图是:
在此处输入图像描述

我处理后得到的结果是 在此处输入图像描述

还有其他获得新差异的方法吗?我尝试在图像上应用 Canny 方法,但它没有按预期工作。

0 投票
1 回答
460 浏览

python - Matlab / Python中两个图像之间的精细百分比(%)相似度指数

我正在尝试分析两个图像:使用傅立叶变换生成的原始版本和近似版本。

例子:

原来的: 在此处输入图像描述

大约:

在此处输入图像描述

我怎样才能找到代表这两个图像之间相似性的值。我曾尝试在 Matlab 中使用 SSIM,但它给出的值为 0.67,我个人认为这是不准确的。

在此处输入图像描述

同样,一些在线工具,例如这个:https : //deepai.org/machine-learning-model/image-similarity 给出的距离值为 6。(0 是最好的)

0 投票
2 回答
611 浏览

imagemagick - WebP 的 SSIM 计算

当使用 SSIM 作为比较指标时,ImageMagick 的“比较”似乎提供了不相关的数字。我正在使用 ImageMagick 7.0.8-58 Q16。

我尝试了各种级别的 WebP 压缩(包括无损)

提供 0.734809。虽然我希望视觉上无法区分的图像约为 0.999(显然没有伪影,因为它是一个以无损模式压缩的 WebP 文件)

收到这样的结果,我认为将 PNG 与 WebP 进行比较存在问题,因此我尝试将原始 PNG 与具有目标 SSIM 的压缩 JPEG 进行比较。Fred 的 ImageMagick Scripts 中的 SSIM 包给出了 ssim=0.949 和 dssim=0.051 的结果。相反,ImageMagick 为同一个文件给出了 0.711049 结果。

遗憾的是,Fred 的 SSIM 似乎不适用于 WebP,GraphicsMagick 的比较不支持 SSIM。那么我如何从 ImageMagick 获得准确的 SSIM,或者还有哪些其他方法可以为 WebP 文件获取 SSIM?

0 投票
1 回答
693 浏览

python - 使用 OpenCV 和 Python 提取楼层布局和阈值

我尝试使用SSIM提取两个图像之间的差异以仅获取地板区域(image_a是原始图像,而image_b已绘制地板)。

预期的输出是阈值掩码。

我遇到的问题是 ssim 差异的阈值在我的情况下不起作用(示例如下所示)。

有人可以提供更好的阈值技术或理论吗?

检测到最大轮廓 的 image_a 检测到最大轮廓的 image_b阈值在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
10405 浏览

python - 哪个 SSIM 是正确的:skimage.metrics.structural_similarity()?

Stackoverflow 社区,

bmp我正在尝试在 Python 上的两个图像之间计算 SSIM(结构相似性) 。我找到了在 python 库中实现的结构相似性()函数以及托管在此处skimage的原始MatLab实现的等效代码。暗示如下:

我正在使用这段代码阅读图像:

输入图像的形状 和分别dtype为 :ref_imageimpaired_image

(512, 512) 浮动64

(512, 512) 浮动64

我已经使用相同的条件和相同的输入图像进行了测试,如下所示:

结果有很大不同,这里是结果:

Skimage来自python 库的 SSIM :

SSIM : 0.38135154028457885

上面代码中的 SSIM:

SSIM : 0.8208087737160036

编辑:

我添加了阅读和调用代码

以上 Python 代码来自信号处理库,据作者介绍,该函数试图精确模仿作者提供的 SSIM MATLAB ssim.ma 的功能

更新

我已经测试了在相同图像上用 MatLab 编写的原始代码,结果如下:

SSIM : 0.8424

这与上面给出的 Python 实现的结果相差不远。

0 投票
1 回答
412 浏览

python - 在 python 上使用 ms_ssim 比较两个图像

我想比较两个图像,但 ms_ssim 想要 4D 张量

https://pypi.org/project/pytorch-msssim/

我试过了

但我得到不同的错误

0 投票
2 回答
93 浏览

python - 实时摄像头馈送中的差异检测

我面临着一个挑战,我得到了一张照片,我需要找到这张照片中的一个物体和我面前的一个物体之间的区别,我将使用 python 通过 IP 摄像机看到。 这是最初递给我的照片

原手照片

这是来自 IP 摄像机的提要的样子

在此处输入图像描述

现在我应该编写一个程序来检测两个对象之间的差异和每个不同部分的颜色代码。如果它只包含这 2 张图片,这一切都很容易,但后者应该是来自相机的实时馈送,因此我编写的程序会因相机位置不同或曝光不同而导致差异不堪重负。

现在彩色视频源上的输出应该是这样的

在此处输入图像描述

颜色编码不是问题

我尝试给绘制的轮廓一个设定的区域来绘制,显然它没有工作,ssim分数计算也没有。我应该如何解决这个问题,因为感觉就像我正在尝试重新发明已经构建的东西,但经过 2 周的尝试后我找不到。