自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 Rethinking Image Inpainting via a Mutual Encoder-Decoder with Feature Equalizations

今天看到一篇文章结构很好的图片Inpainting 的文章,在这里推荐给大家。这是一个很经典的编码解码的方式,当然这种结构方式,也可以用在其他编码解码的问题上面。比如语义分割,其实我在研究了很多U-Net 网络之后发现在语义分割网络中,大家喜欢直接连接浅层和高层,或者在浅层和高层直接加上各种注意力。或者是对编码层加上各种注意力结构来提高网络的编码能力。我在这篇文章中看到了一个不同的连接方式。整个结构图如下。我们可以发现,在这篇文章中,作者对编码层的不同层之间进行了操作。这种方式在语义分割中很少见。感

2021-01-21 11:43:18 13

原创 权值衰减和L2正则化是一回事吗?

我们在神经网络的训练中经常会遇到权重衰减和正则化这两个概念。尤其是L2正则化,它跟权重衰减是不是一回事。我在这篇文章得到了解释Weight Decay == L2 Regularization?正则化正则化可以定义为我们为了减少泛化误差而不是减少训练误差而对训练算法所做的任何改变。有许多正规化策略。有的对模型添加额外的约束,如对参数值添加约束,有的对目标函数添加额外的项,可以认为是对参数值添加间接或软约束。如果我们仔细使用这些技术,这可以改善测试集的性能。在深度学习的环境中,大多数正则化技术都基于正

2021-01-08 10:51:18 37 1

原创 Faster R-CNN

今天在知乎上面看到一篇讲Faster R-CNN 网络的文章 写的很好。我在这里分享给大家。令我“细思极恐”的Faster R-CNN大家搞目标检测的可以看看这篇文章。学习学习。

2020-12-29 23:32:37 20

原创 Attentional Feature Fusion 特征融合方法

今天看到一篇很新颖的文章,这篇文章主要是进行特征融合操作的。我们一开始我们在做多尺度的特征融合,大多都是直接将他们相加或者拼接起来。这些方法一般都是比较简单的操作。这里作者使用了注意力的方法进行了特征融合,在这里作者主要参考的是使用SENet网络的结构。这是因为SENet计算attention的方式就是把每个通道的像素值做一个平均之后,然后经过一系列操作后,用sigmoid函数归一化。这样的操作对于大尺度的目标还是有效果的,但是对于小目标效果就不太好,所以的话本文就提出了多尺度的方法来计算。其实我个人也

2020-12-22 08:18:41 93

原创 layer quant_conv2d_8 expects 2 weights, but the saved weights have 1 elements keras

我在两个服务器上运行代码的时候,把一个运行的权重加载到另一个服务器模型上面去,突然出现了。layer quant_conv2d_8 expects 2 weights, but the saved weights have 1 elements这样问题。当时我检查了一下模型发现两个一样了。并没有什么不同。为什么出现这样的问题。最后我在Google上找到了答案。原来是我两个模型 一个使用了use_bias=False 而另一个 我把这个给注释了。这么一个小小的错误。就导致了出现这个问题。大家以后再模.

2020-11-27 19:34:50 96

原创 大的batchsize 降低了模型泛化能力

最近在跑ImageNet 数据集,在弄到了一个很好的服务器以后,我把模型训练从原来的batchsize=128调到可512,这个时候突然发现模型训练的准确度降低了很多。一开始我以为是我模型的问题,我把模型稍微修改了,然后把学习率之类的也进行了调整,最后发现这个问题还是存在。这个时候我才意识到这个不一定时我的模型的问题了。也许是batchsize的问题了,然后我进行了一些文献的调查发现确实有这些问题。然而在早期深度学习,过大的 batch size 训出的模型往往会比小 batch size 训出的模型差

2020-11-20 16:27:36 69

原创 知识蒸馏,teacher and studenet 网络

最近在学习一些分类网络,发现现在直接使用新的网络结构提高整个分类准确度已经很难了,现在人们提出了各种新型的训练思路。我发现这个知识蒸馏训练的思路真的很好。我看完以后发现可以做的事很多。知识蒸馏是利用从一个大型模型或模型集合中提取的知识来训练一个紧凑的神经网络。利用这些知识,我们可以在不严重影响紧凑模型性能的情况下,有效地训练小型紧凑模型。大、小模型我们称大模型或模型集合为繁琐模型或教师网络,而称小而紧凑的模型为学生网络。 一个简单的类比是,一个大脑小巧紧凑的学生为了考试而学习,他试图从老师那里.

2020-11-03 10:57:43 102

原创 HS-ResNet: Hierarchical-Split Block on Convolutional Neural Network

最近在研究一些模型网络简化的问题,因此我看到了一篇挺有意思的论文。HS-ResNet: Hierarchical-Split Block on Convolutional Neural Network。这篇文章时对传统的卷积模块进行修改,去掉了冗余块特征信息。简化网络结构。但是并没有降低网络准确度。从这个准确度图中我们可以看到整个模型相比于各种 ResNet50的变体,准确度都时有提升。整篇文章的思路就是下面这幅图可以准确概括出来的。具体怎么操作,大家一眼就可以看出来。我在这里就步细说了。其

2020-10-21 17:15:22 1739 3

原创 keras 实验细节分析

最近在训练imagenNet 数据集,在使用keras 训练时需要多GPU 训练。因此我使用了keras 里面的多GPU训练,在训练的时候不管使用几个GPU发现速度并没有提升多少,然后我查看了GPU使用情况,发现第一个GPU占用率最大。其他的你说他没有运行吧,它也在运行使用率都是个位数。这时候,我发现这才是导致训练的时间没有变化的原因。因此我找了很多方法,各种动态调试。最后我发现解决这个问题的办法竟然时keras tensorflow 的版本问题。我原来使用了tensorflow 1.14.0版本,然后我降

2020-10-15 11:24:45 63

原创 精简网络结构

最近在看一些网络精简结构的相关的文章,对于网络的加速,结构的精简看了一些文章。我在知乎上面看到了一片很好的文章。他总结了各种精简结构比如ShuffleNet和MobileNet对于结构精简的提升。文章名字是深入剖析MobileNet和它的变种(例如:ShuffleNet)为什么会变快?整篇文章可以用下面一幅图概括。这里面介绍了相关的结构精简的原因,大家可以去看看。...

2020-09-08 11:38:06 98

原创 maxpooling 和步长为2的卷积

现阶段大家在分割网络或者其他网络中对于maxpooling 的使用越来越少了,大家都开始都使用步长为2的卷积了。这个问题一开始我也没有在意,我一开始在进行分割时还是使用了maxpooling的方法,然后在后面使用resnet50等作为新的backbone的时候,我才发现大家现在maxpooling 越来越少了。然后我调研了一下,发现也有人研究过这个问题了。然后我看到这篇文章CNN真的需要下采样(上采样)吗?这里对这个问题进行了分析。这篇文章最后的结论是这样:从工程的角度看,采样能极大减小fea.

2020-09-07 10:33:21 362

原创 ResNet 各个版本的区别

最近在研究分类问题,提到分类那就是必须要提到ResNet 这个经典的模型了。这个模型也分成了很多个版本。每个版本区别如下这就是每一个版本ResNet的区别。我们可以看到主要的区别就是每一个卷积的多少的区别。这里又一个keras 的简单实现。 def ResNet50(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=Non

2020-08-17 16:54:06 620 1

原创 Split to Be Slim 特征富裕的另外一个处理事情

最近几年在一些顶会上面,出现了一些一些即插即用 网络模块,前一个是ghostNet 网络模块,最近又看到一些网络模块。Split to Be Slim: An Overlooked Redundancy in Vanilla Convolution 还有这篇文章。这篇文章也是提出了一种新的即插即用的网络。看这些即插即用的模块,一般都是分成两个部分的。然后再结合在一起。...

2020-07-09 16:48:31 262

原创 Depth-wise Convolution keras 运行时间缓慢原因

提到depth-wise conv2D 大家都如数家珍,这里我就简单的介绍一下,用两张图就可以概述出来了,大家想要看具体的介绍可以看A Basic Introduction to Separable Convolutions这篇文章介绍的很清楚。上图是一个正常的卷积操作,是一个12×12×3的特征图经过256个卷积核大小为5×5×3的卷积得到了一个8×8×256的特征图。这是正常的卷积。参数量为256 x 5 x 5 x 3 = 19200,乘法次数为256 x 5 x 5 x 3 x 8 x.

2020-06-24 11:02:40 426

原创 多尺度特征的融合操作

在目标检测和分割的任务中,我们都喜欢用多尺度 特征融合操作来提高准确率。以语义分割为例,大家在看到U-Net 以后想到的第一个自认为的创新就是加上 ASPP 结构。加上一个特征金字塔结构。然后做实验发现整个效果还是不错的。其实这个特征金字塔的结构就是一个多尺度特征融合的例子。在这里也可以证明了多尺度特征融合在深度学习中的好处。那为什么多尺度融合有效果呢。 我们知道现在的检测和分割网络基本都喜欢用卷积神经网络通过逐层抽象的方式来提取目标的特征,我们可以知道高层网络的感受野比较大,语义信息表征...

2020-06-19 11:06:29 5962

原创 Improving Convolutional Networks with Self-Calibrated Convolutions 自卷积模块

在2020 cvpr 上面我又看到一篇挺好的文章,这里分享给大家。这个文章是Improving Convolutional Networks with Self-Calibrated Convolutions。这是一个即插即用的一个模块,挺好的。这个模块主要是用来增大网络的感受野的。另外这个模块也可以不需要增加太多的参数就可以获得这个效果。整体还是比较有效的。整篇 论文 的核心大概就是这幅图了。它首先对于input 按照通道的方向分成了 x1和x2 两个特征。对于x1特征进了卷积操作。其中F1-F4

2020-06-10 18:34:52 464

原创 self-attention 和 convolutional layer 之间的关系

自注意网络,这个点,现在在NLP方面特别火,现在自注意力网络也有大量的应用在CV上面,尤其在结合CNN。那么这个self-attention和convolutionl layer之间到底有什么关系呢?是两个独立的模块还是两个可以转换关系。最近我看到了这篇论文。On the Relationship between Self-Attention and Convolutional Layers这个论文就是讲解了这个关系。我觉得论文挺好的,所以分享给大家。如果大家懒得看全文,只要看下面这一段就可以了。.

2020-05-28 15:33:53 638

原创 模型过参数化在医学图像中的影响 个人看法

在神经网络训练中,模型参数越多,虽然越容易导致过拟合,但是也可以容易的训练。在进行transfer learning时,可以看出过参数化是网络可以成功的关键。The Utility of Feature Reuse和Transfusion这两篇论文讨论了这些问题。...

2020-05-25 16:42:32 403

原创 工作随笔

由于今年疫情的原因,弄到今天才到院里来,才开始正式的工作。希望在剩下的下半年之类,能多发论文,然后明年顺利毕业。加油。

2020-05-13 11:01:54 131

原创 关于ResNet 网络的一些思考和看法

resnet 现在在深度学习上面已经成了一个很成熟的神经网络结构了。现在许多学习任务基本都是用resnet来做backbone做各种任务。说起resnet大家的第一映像是什么?是不是就是那一根跳跃连接的线图1。如果再问你一下为什么加这根线呢?研究深的人也许会说这是为了解决梯度消失/爆炸的问题。最后大家都会说了解到这里基本就够了,会用就行了。如果 现在跟你说你的理解错了,你会怎么说,你会说这不可能。...

2020-05-01 17:53:42 723 1

原创 ResNeSt 新的ResNet的变体

在现在语义分割、分类上面的操作的时候Backbone 使用ResNet网络的有很多,这也是一种很成功的网络。对于提高网络的准确率有很好的作用。但是随着现在技术的发展人们提出了各种的新的ResNet的变体。这里是一种的新的变体ResNeSt.这种新的变体到底有多强,在这里我就不细说了,大家可以去论文中看看。ResNeSt 的全称是:Split-AttentionNetworks,也就是特别...

2020-04-19 11:32:07 774 2

原创 GhostNet 幽灵网络结构,keras 实现

由于疫情在家,基本没有什么事情干。在看看论文在CVPR2020中我看到了一篇比较有趣的论文,大家在跑CNN网络的时候,如果你去看一下不同通道的特征图,你会发现有一些特征图很类似,用肉眼看大家也不会觉得有什么区别。当时对于我们这些小菜鸟来说,这也没有什么问题,只要我们要的结果出来就好,准确度上去就可以了。我们也不会去在意这些事,这个时候我们就和大牛体现出差距了,大牛观察到这些问题,想到这些什么原因,...

2020-03-23 16:38:45 969

原创 视网膜分支动脉阻塞分割框架

因为疫情的原因,到现在还么有去院里正式工作,在家里老师也催着我写研究方案,最近看到一篇论文是讲视网膜分支动脉阻塞分割的。论文题目是 “A Framework for Classification and Segmentationof Branch Retinal Artery Occlusion in SD-OCT”。我看了一下发现这个视网膜动脉分割的水挺深的,原以为也是跟普通的医学图像分割一样,...

2020-02-22 16:21:13 292

原创 Batch normalization和Instance normalization 在域适应问题中的的作用

最近在研究域适应的问题,也是为了解决,医学图像中,数据量不足的问题。我的想法是使用域适应的方法来进行分割。在研究这个问题的时候我发现,原来我一直认为的BN算法也是可以应用到域适应这个方面的。其实在域适应这个问题之前还有一个IN算法在风格迁移问上有着广泛的应用。这两个有什么区别呢。我在知乎上面看到一个很好的一个总结。BN和IN其实本质上是同一个东西,只是IN是作用于单张图片,但是BN作用于一...

2020-01-03 15:57:25 484

原创 基于条件的对抗生成网络 Conditional Generative Adversarial Nets

最近在看对抗生成网络的相关论文,发现一些比较有趣的论文,在这里跟大家分享一下的。在经典的生成对抗模型中,往往有两个模型一个生成模型,它去获取数据的分布,然后一个判别模型,它去评估这个样本来自训练集的概率。这两个和模型都是同时训练,他去调整参数使模型去最小化然后去调整参数使模型去最小化最后这个损失函数为而在条件生成对抗网络中需要加入一个额外的信息.这个可以是各种辅助的信息,比如类别...

2019-12-17 11:17:01 283

原创 GAN 网络六年总结

今天看到很好的一篇论文,总结了整个GAN六年的发展,主要以计算视觉为主。论文题目是The Six Fronts of the Generative Adversarial Networks。大家可以参考一下。如果大家是搞医学图像的,还可以参考这篇文章:GANs for Medical Image Analysis也是一个总结。可以让大家有一个综合的概念。...

2019-12-10 21:43:17 224

原创 adaptive pooling keras 实现。

今天看论文时,看到一篇语义分割的文章,发现作者使用了一个adaptive average pooling的pooling 操作。一看这个怎么还没有见过。然后百度一搜发现这是pytroch 独有的一个pooling 操作。我平时一般使用的是keras.看了一下这个原理,发现它是知道输出大小再进行pooling 池化的操作。我们平时一般使用的池化操作一般都是定义 kerne_size ,str...

2019-11-06 16:53:13 829 3

原创 anaconda spyder could not Could not Initialize GLX 已放弃(核心转存)

今天手贱安装了依赖包,突然把整个anaconda 环境搞奔溃了。然后只能重新安装,安装完了以后 打开spyder 出现了could not Could not Initialize GLX已放弃的(核心转移之类的错误)然后科学上网找了一些方法。看网上分析原因是因为 QT的原因 现在我列举出来给大家参考一下conda install qt=5.6* pyqt=5.6*这是一种方法,我试了效...

2019-10-19 23:09:35 1178

原创 为什么卷积神经网络中一般用奇数的卷积核

今天看到一篇比较有意思的文章,也解开了我一直一个疑问:为什么现在卷积神经网络中卷积核都是奇数的。比如3×3,5×5,7×7.3×3的卷积核也是在VGG证明了用两个可以代替一个7*7效果更好,且参数还更少。那么为什么没有人用两个2×2的卷积核代替3×3的卷积核,或者就是直接用2×2的卷积代替3×3呢?今天看到的文章,Convolution with even-sized kernels an...

2019-10-15 09:33:18 779

原创 keras 训练是 各种loss 变化情况

在使用keras 训练网络时,虽然网络设计好了,数据也加载进去了,但是发现训练时候总是出现各种各种稀奇古怪的问题。我在这里就列举几个常见的问题。供大家参考一下。当val_loss曲线或val_acc曲线震荡不平滑时的原因可能如下:1 学习率可能太大2 batch size太小3 样本分布不均匀4 缺少加入正则化大家可以在这几个方面去进行调整,一步一步的调整,先调整学习率,然后再...

2019-10-11 16:40:23 1227

原创 VOC 2012数据语义分割和VOC 2012 数据扩增 。10582 for training。benchmark_RELEASE

最近在做语义分割,需要用到VOC2012 数据库进行处理。发现网上的教程很多也很杂。我在这里按自己的理解把过程写出来。首先是原始的VOC 2012 数据集。大家在网上下载下来解压以后可以看到几个文件夹。如下这里于一系列的文件夹。第一个是一些标签,有些是我自己扩增数据的文件夹。主要是 第 1 4 5 6 8 这个几个文件夹。这几个文件夹具体是干什么的。大家看一下里面内容就知道了。我...

2019-09-11 15:17:11 515

原创 keras 数据增强 opencv 方法

在进行深度学习时,由于数据量的不足我们往往需要对数据进行增强操作。keras 有自带的数据增强函数。但是里面增强很多,我们可控方式也太少。因为我们往往需要自己进行扩充。下面是使用了opnencv 进行数据增强的方法。def gamma_transform(img, gamma): gamma_table = [np.power(x / 255.0, gamma) * 255.0 f...

2019-09-08 16:09:20 351

原创 segnet keras 实现

segnet 是早期的一个图像分割网络,虽然现在相比于deeplab 等一些大牛的网络结构的准确度有一定的的下降。但是这是segnet,在早期是有一个很好的图像分割思路。其中segnet 和其他网络最大的区别是使用了一个池化索引的方法,进行了上采样。这里使用了keras 进行了实现,其中最主要的就是池化索引和上采样这个操作。其他网络的结构用keras 是很容易实现的。from...

2019-08-09 16:30:06 1666 8

原创 交叉熵、KL散度问题。

最近在研究GAN算法。这其中使用了KL散度等一些概念问题。在网上发现了一个很精彩的解释。目前分类损失函数为何多用交叉熵,而不是KL散度。首先损失函数的功能是通过样本来计算模型分布与目标分布间的差异,在分布差异计算中,KL散度是最合适的。但在实际中,某一事件的标签是已知不变的(例如我们设置猫的label为1,那么所有关于猫的样本都要标记为1),即目标分布的熵为常数。而根据下面KL公式可以看到...

2019-07-25 15:43:46 498

原创 GAN 算法

GAN是基于可微生成器网络的另一种生成建模方式。实际是通过对先验分布施加一个运算G, 来拟合一个新的分布如果从传统的判别式网络的思路出发,只要选定合适的loss,就可以使生成分布和真实分布之间的距离尽可能逼近。这里通常使用了KL散度。其实现在在图像分割领域GAN网络也达到了了大量的应用了。在上述描述中我们可以发现可以增加一个loss函数来拟合一个数据的分布。因此后期我想到了应用这种方法来...

2019-07-04 17:46:12 638

原创 Zero-shot One-shot Few-shot learning 算法

Zero-shot learning 指的是我们之前没有这个类别的训练样本。但是我们可以学习到一个映射X->Y。如果这个映射足够好的话,我们就可以处理没有看到的类了One-shot learning 指的是我们在训练样本很少,甚至只有一个的情况下,依旧能做预测few-shot learining 指的是训练样本少量,但稍微比one-shot 多一点。...

2019-06-17 21:17:23 801

原创 医学图像处理 小知识

以前我在处理医学图像数据时,往往都是处理nii 的数据。我要需要对图像进行切片时。直接读出矩阵时就可以了。最近有一批新的数据是dcm 类型的。由于dcm数据的独特性。每一个文件基本就是一个切片。因此我就直接进行读取了。我使用了label_path = 'H:\\CTdata3\headCTA\\DICOM'slices = [pydicom.dcmread(label_path + '\\...

2019-06-12 20:15:21 1246 3

原创 RAM: Residual Attention Module 新的注意力模型

现在注意力模型在计算机视觉领域应用的越来越广泛了。不光在图像分割,其他领域也应用的比较多。RAM这篇文章是应用在图像超分辨率上。这是因为应用到图像超分辨领域的注意力模型大都没有考虑超分辨和其它高层计算机视觉问题的天然不同。作者提出了一个新的注意力模型,由针对 SR 问题优化的新的通道和空间注意力机制以及将这两者结合起来的融合机制组成上图就是这种模型的结构图。在以前的方法中,通道注意力...

2019-05-15 16:52:29 830 1

原创 卷积神经网络的理解 Squeeze-and-Excitation (SE)网络

对于CNN网络来说,其核心计算是卷积算子,其通过卷积核从输入特征图学习到新特征图。从本质上讲,卷积是对一个局部区域进行特征融合,这包括空间上(H和W维度)以及通道间(C维度)的特征融合我们可以发现卷积实际上是对局部区域进行的特征融合。 这也导致了普通卷积神经网络的感受野不大,当然你也可以设计出更多的通道特征来增加这个,但是这样做导致了计算量大大的增加。因此为了空间上融合更多特征融合,或者是...

2019-05-14 16:05:04 1975

原创 Non-local Networks Meet Squeeze-Excitation Networks and Beyond 论文解读。

最近关注到了这篇论文,发现这篇论文挺有意思的。因此在这里按我的理解说说这篇论文。这里不做论文完整的翻译。GCNet 网络结构结构了non-local network和Squeeze-excitation networks.我们知道non-local network(NLNet)可以捕获长距离依赖关系。可以发现NLnet的网络结构采用的是自注意力机制来建模像素对关系。在这篇文章中non-l...

2019-05-09 16:02:47 1441

Andrew Y. Ng论文

这是我在网络上下载的一些Andrew Y. Ng关于深度学习的论文。现在拿出来跟大家分享。一起学习学习

2014-12-28

深度学习sparseae_exercise

此代码不是原创 是参考斯坦福大学的教程 还有大牛blog中的代码.我只是自己敲出来自己研究研究。现在把拿出来大家分享分享.

2014-12-28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除