图像处理
文章平均质量分 67
墨晓白
在校研究生一枚,入行机器学习五年不到。想把自己做的一些简单的项目与各位大牛一起分享。一方面是希望可以对刚入坑的同志提供些帮助,另一方面也希望能得到各位同仁的指点,可以共同进步。会尽量写的详细些,把自己刚入坑时犯的错都记录下来,已示警戒。
展开
-
可视化特征图
一副图像输入网络中,每一层都会生成特征图,将指定层的特征图进行可视化,可以方便我们直观去理解每层网络提取出的特征是什么。主要分为三个步骤:1.将输入图片转成tensor形式[1,c,h,w], 其中1代表batchsize为12.创建模型,并且指定需要可视化的层3.保存特征图的每一层,转成伪彩图进行保存from torchvision import datasets, models, transformsimport torch.nn as nnimport numpy as np原创 2021-10-18 14:29:36 · 4522 阅读 · 1 评论 -
CNN以及Transformer特征图可视化
热力图是一张和原始图片等同大小图,该图片上每个位置的像素取值范围从0到1,一般用0到255的灰度图表示。可以理解为对预测输出的贡献分布,分数越高的地方表示原始图片对应区域对网络的响应越高、贡献越大。主要有两种类型的可视化方法,利用GAP层,以及基于梯度传导的方法,具体可参考文档万字长文:特征可视化技术(CAM)https://mp.weixin.qq.com/s/WKImrtpjQBziz6Wr5uOGNw 这里主要介绍如何使用git-hub上提供的安装包进行可视化操作C...原创 2021-09-23 11:29:55 · 8355 阅读 · 10 评论 -
使用Sklearn进行多便签分类的评价指标(Roc, Map, HammingLoss, OneErrorLoss)
最近在做多便签图像分类的任务,模型训练完之后,就需要使用测试集来验证模型的性能,一些比较通用的评价指标就是必不可少的工具,但是网上大多都是关于二分类以及多分类的评价指标,多便签分类的评价指标的介绍,还是比较少的,因此特开一贴,整理出四个常用的评价指标,并使用sklearn进行实现,如有谬误,还请各位指正!一. ROC(AUC) ROC就是一条以假阳率为横轴,真阳率为纵轴的曲线,然后我们通过计算这条曲线下的面积,也就是AUC(Are under curve)作为评价指标,具...原创 2021-03-26 11:36:29 · 2762 阅读 · 0 评论 -
使用sklearn工具包对分类结果进行客观评价(准确率,敏感率,召回率,F1-score, 以及混淆矩阵)
图像分类是CV领域内比较常见的任务,我们评价分类模型时,除了最基本的准确率之外,还会用到各种各样的指标,下面就挑出最具有代表性的几个常用评价指标进行介绍,并且使用sklearn工具包进行实现。一、图像分类常见评价指标1.1 混淆矩阵如下图所示,要了解各个评价指标,首先需要知道混淆矩阵,混淆矩阵中的P表示Positive,即正例或者阳性,N表示Negative,即负例或者阴性。表中FP表示实际为负但被预测为正的样本数量,TN表示实际为负被预测为负的样本的数量,TP表示实际为正被预测为正的样本数量,原创 2020-12-15 20:50:56 · 3261 阅读 · 0 评论 -
关于torch.max(a,dim)中维度的选取
Pytorch中,经常会使用torch.max(a,dim)对tensor进行处理,特别是针对多维的tensor,就感觉对dim的选取似懂非懂。一、针对1维的数据这个比较好理解,就是针对1维的数据取最大值,返回一个tensor类型的数值,和该数值对应的下标,合起来就是一个tuple类型。import torcha = torch.randn(3) #随机生成数组max=torch.max(a,dim=0) #默认dim=0print("a:\n", a)print("********原创 2020-10-16 21:18:02 · 5251 阅读 · 1 评论 -
Pytorch读取npy数据格式,编写dataset模块,可配合Dataloader进行使用
在训练模型前,最重要的部分就是制作好数据集,有些情况下,由于图片数据过多,然后存储很不方便,我们就需要将数据制作成npy类型的数据格式。npy数据格式是一个四维的数组[N,H,W, C],其中N代表数据集的总数,H, W,C分别代表每一张图片对应的长、宽、以及通道数。数据制作好之后,就是如何加载数据问题,TF中加载数据相对比较容易,但是Pytorch中,我们一般都是将数据制作成dataset,再传入Dataloader进行加载,因此就需要继承Dataset的类,然后编写读取npy的数据格...原创 2020-08-24 10:59:40 · 14760 阅读 · 3 评论 -
求取差值图像时,解决两个图像相减,差值图像结果限定在[0,255]范围内问题
这是因为当我们使用imread函数直接去加载图像时,读取的图像格式是 CV_8UC3 即为uint8 是unsigned 的,因此在图像相减过程中会自动将像素值限定在[0,255]范围内。假设img1中像素值为(12,3,255),img2像素值为(13,4,23),则img1-img2的像素值为(255,255,232),但是我们实际上是需要(-1,-1, 232)。为了解决这个问题,我们可以在...原创 2020-02-26 17:11:12 · 6932 阅读 · 4 评论 -
详解向图像加入高斯白噪声
研究生期间主要研究的课题就是关于图像去噪内容的,我们最常用的方法就是向图片图片添加固定噪声浓度的高斯白噪声来模拟自然界中的真实含噪图片。但是具体加入的高斯白噪声到底是什么类型的噪声,他在图像中出现的频率,以及噪点的深度是多少也都是值得我们在意的地方,只有弄懂这些,你才会更深刻地理解向图像中添加高斯噪声的含义。一、高斯分布凡是学过概率统计的人,想必高斯分布是大家再熟悉不过...原创 2020-02-13 22:35:00 · 7800 阅读 · 0 评论