深度学习模型中颜色空间转换
目录
背景
方法
结论
背景
情况是这样的,我训练一个深度学习模型,用于图片的处理,读取图片时使用的是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.因为我们中间将其转为了普通矩阵,因此如果是特征图,可以在此时将其可视化出来。
深度学习模型中颜色空间转换相关推荐
- 【AI初识境】深度学习模型中的Normalization,你懂了多少?
文章首发于微信公众号<有三AI> [AI初识境]深度学习模型中的Normalization,你懂了多少? 这是<AI初识境>第6篇,这次我们说说Normalization.所谓 ...
- 手工计算深度学习模型中的参数数量
https://www.toutiao.com/a6649299295855968782/ 2019-01-22 20:37:14 计算深度学习模型的可训练参数的数量被认为太微不足道了,因为您的代码已 ...
- 【深度学习】深度学习模型中的信任危机及校正方法
作者: 北邮 GAMMA Lab 硕士生 刘洪瑞,副教授 王啸 1 前言 深度学习在计算机视觉.自然语言处理.数据挖掘等诸多研究领域中的潜力被广泛认可,在目标检测.语音识别.医疗检测.金融欺诈检 ...
- CMU | 深度学习模型中集成优化、约束和控制
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作分享,不代表本公众号立场,侵权联系删除 转载于:专知 AI博士笔记系列推荐 周志华<机器学习>手推笔 ...
- 「AI初识境」深度学习模型中的Normalization,你懂了多少?
https://www.toutiao.com/a6694436118189834765/ 这是<AI初识境>第6篇,这次我们说说Normalization.所谓初识,就是对相关技术有基本 ...
- 如何向深度学习模型中加入先验知识?
链接:https://www.zhihu.com/question/279012198 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:采石工 https://www.zhihu.com/ ...
- 深度学习模型中的参数数量(备忘)
原文地址:huay' blog/模型中的参数数量(备忘) 记录模型参数数量的计算方法 最早使用 tensorflow 的时候没怎么注意这个问题: 后面高级 API 用的多了,有点忘记怎么计算模型的参数 ...
- 在 Netflix 评论中做情感分析的深度学习模型
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 原标题 | Sentiment Analysis with Deep Learning of Netf ...
- 提升深度学习模型的表现,你需要这20个技巧
选自machielearningmastery 机器之心编译 作者:Jason Brownlee 参与:杜夏德.陈晨.吴攀.Terrence.李亚洲 本文原文的作者 Jason Brownlee 是一 ...
最新文章
- 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存
- [转]GetProcAddress函数
- 如何用python画圆形的代码-简单实现python画圆功能
- tpp letter
- tmeminifile and tinifile
- oracle 分析函数、GROUPING函数
- mysql搜索结果去重_MySQL去除查询结果重复
- pdf转txt出现句子异常中断,如何连接被切断的字符串
- zebradesginer zpl代码,如何从ZebraDesigner标签获取ZPL代码?
- 数学——对数公式log常识回顾
- 计算机大会 话筒 视频,在视频会议中如何使用全向麦克风
- 2013-2015阿里双十一技术网络文章总结
- Fixture证书权限导致CSR申请证书失败的问题 [已解决]
- 提示网站服务器403,浏览器打开网页时出现http 403 禁止访问错误是什么原因?
- 华为手机刷微博体验更好?技术角度的分析和思考
- 百度apollo自动驾驶planning代码学习-Apollo/modules/planning/common/Smoother类代码详解
- MARC21与CNMARC对应关系
- 如何在IDEA中创建web项目并且部署到Tomcat中
- 淘宝购物车效果(加,减,删除,全选)
- 一封感动万千男人的离婚书