在张量流中使用 SSIM 损失函数处理 RGB 图像

2023-11-23

我想用SSIM指标作为我正在研究的模型的损失函数张量流。 SSIM 应该测量去噪自动编码器的重构输出图像与输入未损坏图像之间的相似度(RGB).

据我了解,为了在张量流中使用 SSIM 指标,图像应该是归一化为 [0,1] 或 [0,255],而不是 [-1,1]。将我的张量转换为 [0,1] 并实现 SSIM 作为我的损失函数后,重建的图像是黑白的,而不是彩色的 RGB 图像。

tf.reduce_mean(tf.image.ssim(reconstructed, truth, 1.0))

我的模型运行良好MSE(均方误差),重建图像是彩色的(RGB).

using tf.losses.mean_squared_error(truth, reconstructed)重建的图像将是 RGB 图像,而使用 SSIM 会给我一个一维图像。

为什么使用SSIM 作为损失函数给出的结果与 MSE 不同(就重建图像通道而言)在张量流中?


我能够通过将图像的动态范围更改为来解决该问题2.0,因为我的图像在之间缩放[-1, 1] by:

loss_rec = tf.reduce_mean(tf.image.ssim(truth, reconstructed, 2.0))

由于更高的图像质量显示出更好的SSIM值,我必须尽量减少负面影响我的损失函数(SSIM)来优化我的模型:

optimizer = tf.train.AdamOptimizer(learning_rate).minimize(-1 * loss_rec)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在张量流中使用 SSIM 损失函数处理 RGB 图像 的相关文章

  • 如何打印前面有一定数量空格的整数?

    C has printf Xd Y 它只打印整数 X 并使其在控制台窗口上占据 Y 空格 例如 printf 3d 10 console 10 printf 5d 5 console 5 我如何在 python 3 中使用它 This pr
  • 需要根据数据框中的行号应用不同的公式

    我正在努力在数据框中找到某种移动平均值 该公式将根据正在计算的行数而变化 实际场景是我需要计算Z列 Edit 2 以下是我正在使用的实际数据 Date Open High Low Close 0 01 01 2018 1763 95 176
  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 创建 xyz 海拔数据的曲面图

    我正在尝试用 python 创建一座山的表面图 其中我有一些 xyz 数据 最终结果应该类似于that https i stack imgur com rKQV0 png 该文件的格式如下 616000 0 90500 0 3096 712
  • 打印出网络架构中每一层的形状

    在 Keras 中 我们可以如下定义网络 有什么办法可以输出每层之后的形状 例如 我想打印出以下形状inputs在定义行之后inputs 然后打印出形状conv1在定义行之后conv1 etc inputs Input 1 img rows
  • 删除 tkinter 文本默认绑定

    我正在制作一个简单的 tkinter 文本编辑器 但我想要所有默认绑定文本小部件如果可能的话删除 例如当我按Ctrl i它默认插入一个制表符 我制作了一个事件绑定来打印文本框中有多少行 我将事件绑定设置为Ctrl i以及 当我运行它时 它会
  • 将列表值转换为 pandas 中的行

    我有数据帧 其中一列具有相同长度的 numpy ndarray 值 df list 0 Out 92 array 0 0 0 0 29273096 0 30691767 0 27531403 我想将这些列表值转换为数据框并从 df iloc
  • argparse 不检查位置参数

    我正在创建一个脚本 它使用 argparse 接受位置参数和可选参数 我已经阅读了 Doug 的教程和 python 文档 但找不到答案 parser argparse ArgumentParser description script t
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • Python FTP下载550错误

    我编写了一个 ftp 爬虫来下载特定文件 它会一直工作 直到找到要下载的特定文件 然后抛出此错误 ftplib error perm 550 该文件存在于我的下载文件夹中 但文件大小为 0 kb 我需要转换某些内容才能下载吗 我可以访问 f
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • matplotlib vlines 图中未应用 y 轴的最小值

    我正在 matplotlib 中绘制 vlines 图 数据集中的所有 y 值如下 gt 0 我希望 y 轴最底部的刻度能够读取0 但相反 我得到 500 这是代码 usr bin env python import numpy as np
  • Pygame:有人可以帮我实现双跳吗?

    我知道已经有其他关于此问题的帖子了 但我的运动系统与我发现的有点不同 所以随后我问这个问题 我的运动系统基于一个名为的命名元组Move up left right down 然后就是这个 def update self move block
  • “KMeans”对象没有属性“k”

    我使用 Yellowbrick 包绘制数据集的肘部曲线 以使用 KMeans 作为模型找到数据集的最佳簇数 我正在使用 Scikit learn KMeans 和 Yellowbrick kelbowvisualizer 函数 生成了肘部曲
  • 将 str.contains 映射到 pandas DataFrame

    python 初学者 我正在寻找创建字符串的字典映射以及关联的值 我有一个数据框 想要创建一个新列 如果字符串匹配 则会将该列标记为 x df pd DataFrame comp dell notebook dell notebook S3
  • 如何将 django ModelForm 字段显示为不可编辑

    接受我的初步教训django ModelForm 我想让用户能够编辑博客中的条目 BlogEntry has a date postedTime title and content 我想向用户展示一个编辑表单 其中显示所有这些字段 但仅包含
  • 如何使用 python 模块的多个 git 分支?

    我想使用 git 来同时处理我正在编写的模块中的多个功能 我目前正在使用 SVN 只有一个工作区 因此我的 PYTHONPATH 上只有该工作区 我意识到这不太理想 所以我想知道是否有人可以建议一种更 正确 的方法来做到这一点 让我用一个假
  • 为数据集生成随机 JSON 结构排列

    我想生成 JSON 结构的许多不同排列作为同一数据集的表示 最好不需要对实现进行硬编码 例如 给定以下 JSON name smith occupation agent enemy humanity nemesis neo 应该产生许多不同
  • 如何创建简单的梯度下降算法

    我正在研究简单的机器学习算法 从简单的梯度下降开始 但在尝试用 python 实现它时遇到了一些麻烦 这是我试图重现的示例 我获得了有关房屋的数据 居住面积 以英尺为单位 和卧室数量 以及最终的价格 居住面积 英尺2 2104 卧室 3 价
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp

随机推荐

  • 使用 jQuery 调用控制器操作

    我有一个很好的页面 可以完成我需要的一切 然而 其中一个元素 部分页面 比我想要加载的时间要长几秒钟 所以我想做的是首先显示没有此部分的页面 但在其位置显示 正在加载 gif 然后在我的jquery document ready funct
  • 如何在使用 Entity Framework 4.1 创建的生产中的现有数据库上使用迁移?

    我有一个正在生产的系统 是使用 Entity Framework 4 1 Code First 创建的 现在 我已经升级到 4 3 并需要应用迁移 但我需要涵盖几个用例 新开发人员需要使用种子数据从头开始创建数据库 这Seed 方法还应用一
  • 直接使用 dplyr 改变数据库表中的变量

    这是 MonetDBLite 数据库文件中的 mtcars 数据 library MonetDBLite library tidyverse library DBI dbdir lt getwd con lt dbConnect Monet
  • Express 中间件中的 req.locals、res.locals、res.data、req.data、app.locals

    有人提出了一些类似的问题 但我的问题是 如果我想传播通过不同路由中间件获得的中间结果 最好的方法是什么 app use f1 app use f2 app use f3 function f1 req res next some datab
  • 如何使用微调器制作警报对话框[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我知道如何制作一个警报对话框 但我需要制作一个带有旋转器的对话框 以便当它弹出时 人们可
  • CMake ENDIF 和 ELSE 参数的目的

    在CMake中ELSE and ENDIF控制流函数将表达式作为参数 这些都是optional根据文档 那么这些的目的是什么呢 难道只是为了原创IF为了维护目的表达更清晰 或者它是否提供了一些功能 正如您所说 这些表达式是可选的 当您嵌套时
  • 使用 Mongodb ObjectID 作为文档 ID?

    我正在尝试用 mongoDB 制作一个板 我想用 ObjectID 分配文档 ID 如果用户可以通过以下方式访问文档页面http www example com 4easdf123123其中 4easdf123123 是 mongoDB O
  • 通过线程工作时出现错误“解释器关闭后无法安排新的 future”

    我有一个大问题 三天内我自己都无法解决 我们有一个应用程序 可以创建 Json 文件并通过 Boto3 库将它们发送到 Amazon S3 服务器 该应用程序是在 Python 3 8 上开发的 没有任何问题 然后Python升级到3 9
  • C 中的算法 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 学习 C 算法的最佳地点或
  • 如何减少 Android xml 布局中文本周围的填充?

    我有 1 英寸高的文本 但视图框占用 1 5 英寸 因此白色字体上方和下方有 1 4 英寸的黑色空间 我想减少 1 4 英寸 这样我就可以在 6 英寸屏幕上显示 5 行文本 而不是 4 行 我可以使用 android lineSpacing
  • 如何给 html 按钮标签添加图像

    我想知道是否有办法给出 HTML 按钮标签
  • 如何控制 Pelican 文章类别中的页面顺序?

    我正在使用 pelican jinja2 模板来生成基于类别的导航菜单 我需要一种方法来控制页面的顺序 或者至少需要一个技巧来允许我选择要列出的第一个页面 for a in articles if a category category l
  • 使用注释生成 equals / hashcode / toString

    我相信我在某处读到人们在编译时 使用 APT 通过确定哪些字段应该是哈希 相等测试的一部分来生成 equals hashcode toString 方法 我在网上找不到类似的东西 我可能梦见过它 可以这样做 public class Per
  • Or 与 OrElse

    有什么区别or and OrElse if temp is dbnull value or temp 0 产生错误 未为类型 DBNull 和类型 Integer 定义运算符 而这个就像一个魅力 if temp is dbnull valu
  • Expect 中的正则表达式

    我刚刚开始学习期望脚本 我一直在尝试从输出中提取以下内容 core 4046140998 01 10 133211 使用以下命令使用期望脚本 有人可以告诉我哪里出了问题吗 我想将整个字符串 即 core 4046140998 01 10 1
  • spring boot https PKCS12 DerInputStream.getLength(): lengthTag=111,太大

    我需要在 https 上使用 Spring boot 应用程序 我有一个 LetsEncrypt 签名的密钥 我将此证书转换为 PKCS12 如下所示 openssl pkcs12 export in fullchain pem inkey
  • 为什么 PL/SQL 中不允许静态 ddl?

    在 Oracle PL SQL 块中 为什么允许动态 sql begin execute immediate drop table table name end 但静态不是吗 begin drop table table name end
  • pyspark,比较数据框中的两行

    我试图将数据帧中的一行与下一行进行比较 以查看时间戳的差异 目前数据如下 itemid eventid timestamp 134 30 2016 07 02 12 01 40 134 32 2016 07 02 12 21 23 125
  • 在没有框架的情况下路由 REST 请求?

    我一直在阅读这篇文章来学习如何构建 REST API http www gen x design com archives create a rest api with php 有一次它说 假设您已将请求路由到用户的正确控制器 如果没有框架
  • 在张量流中使用 SSIM 损失函数处理 RGB 图像

    我想用SSIM指标作为我正在研究的模型的损失函数张量流 SSIM 应该测量去噪自动编码器的重构输出图像与输入未损坏图像之间的相似度 RGB 据我了解 为了在张量流中使用 SSIM 指标 图像应该是归一化为 0 1 或 0 255 而不是 1