目录

背景

方法

结论


背景

情况是这样的,我训练一个深度学习模型,用于图片的处理,读取图片时使用的是skimage包,然后进行一系列常见的处理变为tensor类型送入模型中进行训练。这个模型为我自己设计的,同时还有其他的论文设计的模型,他们共用一个数据预处理,现在我不想动数据处理模块,只想在我设计的模型中进行颜色空间的转换,看看模型在另外的颜色空间中是否有不一样的表现,那么如何做呢?(如果有其他好方法或者错误记得私信我,谢谢~~!!!)

方法

所以就出现了比较蠢的方法,把即将送入模型中的tensor张量数据类型转一圈。先把batch维度删去,再从GPU中转出来,转为numpy类型,还需要通道维度的变换,最后用skimage.color包对转出来的矩阵进行颜色空间的变换。

如下,现在即将送入模型的张量为s,那么,可以在模型中使用如下代码进行颜色空间的转换,我是将ycbcr颜色空间转换为rgb颜色空间。

import skimage.color as sc
s = sr.squeeze(0)  #输入的s是即将送入模型中的用skimage读取后转换的tensor张量
s = s.cpu().numpy()  #从GPU中取出,并转换为矩阵
s = sc.ycbcr2rgb(s)*255  #颜色空间变换!255是送入模型的tensor为0-1
s = np.transpose(s,[2,0,1])  #现在的结果s就是图片RGB矩阵,值0-255
###
#你的对s的其他操作
###
s = torch.from_numpy(s).cuda() #转为tensor并放入GPU
s = s.unqueeze(0)   #增加batch 维度,此时的s可以送入模型中训练

结论

1.注意的是cv2包读取图片时矩阵是按照BGR排列的,这和其他包不同

2.注意转换时的图片的通道、宽度、高度的排列顺序。以及浮点、整型等(在这我未考虑,对结果影响不大)。

3.注意skimage等读出图片的矩阵数值范围是0-255,而送入模型中训练的tensor值范围是0-1

4.因为我们中间将其转为了普通矩阵,因此如果是特征图,可以在此时将其可视化出来。

深度学习模型中颜色空间转换相关推荐

  1. 【AI初识境】深度学习模型中的Normalization,你懂了多少?

    文章首发于微信公众号<有三AI> [AI初识境]深度学习模型中的Normalization,你懂了多少? 这是<AI初识境>第6篇,这次我们说说Normalization.所谓 ...

  2. 手工计算深度学习模型中的参数数量

    https://www.toutiao.com/a6649299295855968782/ 2019-01-22 20:37:14 计算深度学习模型的可训练参数的数量被认为太微不足道了,因为您的代码已 ...

  3. 【深度学习】深度学习模型中的信任危机及校正方法

    ‍ ‍作者: 北邮 GAMMA Lab 硕士生 刘洪瑞,副教授 王啸 1 前言 深度学习在计算机视觉.自然语言处理.数据挖掘等诸多研究领域中的潜力被广泛认可,在目标检测.语音识别.医疗检测.金融欺诈检 ...

  4. CMU | 深度学习模型中集成优化、约束和控制

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:专知 AI博士笔记系列推荐 周志华<机器学习>手推笔 ...

  5. 「AI初识境」深度学习模型中的Normalization,你懂了多少?

    https://www.toutiao.com/a6694436118189834765/ 这是<AI初识境>第6篇,这次我们说说Normalization.所谓初识,就是对相关技术有基本 ...

  6. 如何向深度学习模型中加入先验知识?

    链接:https://www.zhihu.com/question/279012198 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:采石工 https://www.zhihu.com/ ...

  7. 深度学习模型中的参数数量(备忘)

    原文地址:huay' blog/模型中的参数数量(备忘) 记录模型参数数量的计算方法 最早使用 tensorflow 的时候没怎么注意这个问题: 后面高级 API 用的多了,有点忘记怎么计算模型的参数 ...

  8. 在 Netflix 评论中做情感分析的深度学习模型

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 原标题 | Sentiment Analysis with Deep Learning of Netf ...

  9. 提升深度学习模型的表现,你需要这20个技巧

    选自machielearningmastery 机器之心编译 作者:Jason Brownlee 参与:杜夏德.陈晨.吴攀.Terrence.李亚洲 本文原文的作者 Jason Brownlee 是一 ...

最新文章

  1. 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存
  2. [转]GetProcAddress函数
  3. 如何用python画圆形的代码-简单实现python画圆功能
  4. tpp letter
  5. tmeminifile and tinifile
  6. oracle 分析函数、GROUPING函数
  7. mysql搜索结果去重_MySQL去除查询结果重复
  8. pdf转txt出现句子异常中断,如何连接被切断的字符串
  9. zebradesginer zpl代码,如何从ZebraDesigner标签获取ZPL代码?
  10. 数学——对数公式log常识回顾
  11. 计算机大会 话筒 视频,在视频会议中如何使用全向麦克风
  12. 2013-2015阿里双十一技术网络文章总结
  13. Fixture证书权限导致CSR申请证书失败的问题 [已解决]
  14. 提示网站服务器403,浏览器打开网页时出现http 403 禁止访问错误是什么原因?
  15. 华为手机刷微博体验更好?技术角度的分析和思考
  16. 百度apollo自动驾驶planning代码学习-Apollo/modules/planning/common/Smoother类代码详解
  17. MARC21与CNMARC对应关系
  18. 如何在IDEA中创建web项目并且部署到Tomcat中
  19. 淘宝购物车效果(加,减,删除,全选)
  20. 一封感动万千男人的离婚书

热门文章

  1. 微信第三方平台授权流程说明
  2. 键盘上各按键对应的英文名(转载)
  3. 8款炫酷的HTML5特效源码
  4. java门禁系统项目开发实现
  5. 谷歌AlphaFold近日宣称预测出地球上几乎所有蛋白质结构
  6. 关于小米 Mi4 手机的评测
  7. tecplot 通过数据点、坐标点绘制云图、三维云图
  8. misrosoft word (受保护的视图)已停止工作问题
  9. 【本人秃顶程序员】图解分布式架构的演进过程
  10. apk对齐优化,作为移动开发程序员应该怎样去规划自己的学习路线?系列篇