IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 用skimage里的函数计算彩色图像SSIM时,明明设置multichannel=True却还是报错ValueError: win_size exceeds image extent. -> 正文阅读

[人工智能]用skimage里的函数计算彩色图像SSIM时,明明设置multichannel=True却还是报错ValueError: win_size exceeds image extent.

问题描述

在用skimage的函数计算两张图片的SSIM时:

from skimage.metrics import structural_similarity as SSIM

我想在模型训练过程中计算验证集GT和pre图片的SSIM,对输入SSIM函数的图像shape已转换为(B,H,W,C)

SSIM((data_val[1].numpy().transpose(0, 2, 3, 1)*255).astype(np.uint8),
     (pred_rgb.detach().cpu().numpy().transpose(0, 2, 3, 1)*255).astype(np.uint8), multichannel=True))

此时已经设置 multichannel=True,但是在验证集evaluation的过程中依旧报错:

ValueError: win_size exceeds image extent.  If the input is a multichannel (color) image, set multichannel=True.

出现原因

进到structural_similarity源码,发现win_size默认大小为7:

if win_size is None:
    if gaussian_weights:
        # set win_size used by crop to match the filter size
        r = int(truncate * sigma + 0.5)  # radius as in ndimage
        win_size = 2 * r + 1
    else:
        win_size = 7   # backwards compatibility

win_size大小要大于图片的shape,否则的话就会raise ValueError:

if np.any((np.asarray(im1.shape) - win_size) < 0):
    raise ValueError(
        "win_size exceeds image extent.  If the input is a multichannel "
        "(color) image, set multichannel=True.")

本人验证集50张图片,batch size=16,在计算SSIM时传进去的数组尺寸为(B,H,W,C),即使再设置multichannel=True后也需要im.shape>win_size,因此当验证集按照bs=16,取到最后一个batch时输入尺寸为(2,H,W,C),此时B<win_size如果像我这样按照一个batch去计算SSIM,当出现一个batch中数量小于win_size时则会出现上诉错误!

解决方法

  1. 按照单张图去计算SSIM,此时注意输进去的图片去掉batch这个维度,应为(H,W,C)
  2. 取batch时确保每一个batch数都大于win_size(默认为7)。
  3. 更改win_size大小,此做法并不推荐,因为要是和别的文章中数值进行比较,win_size大小不一样应该会对结果有一定影响,还是默认大小比较好,不过我没做实验,不知道此影响多大。

欢迎讨论与补充。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:19:34  更:2022-04-27 11:22:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:51:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码