测试的是Cifar10数据集,采用VGG模型的网络参数是[32, 'M', 64, 'M', 128, 128, 'M', 256, 256, 'M', 256, 256],准确度大概在90.6左右

1、将输入图片分割为左右两部分,分别进行卷积运算,最后全连接层再将两部分结合在一起,最后观察准确度。准确度大概在88.8左右。

开始时分析,这样只是中间的部分信息没有进行融合,后面再去思考的时候发现是  对于单个卷积核而言,左右是不同的,这样的话,提取的特征就会有所偏向。

2、将channel的数目减半分为两个,在最后的时候将两个网络cat在一起,准确度大概在88.5左右。应用上Knowledge distrilling的知识,能把准确度提高1%。

3、将channel数目减半,并且将图片分割为左右,上下,四个部分,最后在cat在一起。

准确度在88.0左右。

4、如果将图片分为左右两部分,进行卷积时使用相同的卷积核,最后再cat在一起,最后的准确度在85.7左右,明显要低于使用不同的卷积核。

5、如果将图片分为左右两部分,分别进行卷积运算,两部分是不同的卷积核,在最后两层卷积的时候将两部分cat在一起卷积,准确度在89.5左右。

6、将图片分为上下两个部分,分别进行卷积,两部分是不同的卷积核,但是会在每层卷积-BN-ReLU之后,交换分界处的信息。准确度在90.5左右。

7,将图片分为上下两个部分,进行卷积,两部分是相同的卷积核,相同的BN层参数,会在每层卷积-BN-ReLU之后,交换分界处的信息,准确度在90.6左右。 (这种方式和标准的VGG在计算上是相同的)

8、将图片分为上下两个部分,分别进行卷积,但是上下两部分使用相同的BN层参数,会在每层卷积-BN-ReLU之后,交换分界处信息,准确度在70.3左右。(准确度是最低的)

下面用以记录自己的部分分析:

所谓的权值共享,一个个3×3的卷积核,不仅仅是降低了计算量这么简单,还有一个重要的作用是提高了全局感受能力,也许并没有空洞卷积之类的,但是对于单个卷积核而言,重要的整张图所对应的卷积核是相同的。如果一张图中,一部分对应一个卷积核,那么所谓的全局感知能力就会下降。也许在卷积核的感知区域还有文章可做。

再次思考一下上面分割为上下两个部分,使用不同的卷积核,不同的BN层数,交换分界处信息的情况。仔细思考这个分界处的信息是否有足够的依据,毕竟是不同的卷积核提取的信息,如果将feature map看作是特征,那么就相当于将不同的上下特征局部信息进行融合。关键这种融合会改变原来的特征,产生新的特征,也许这新的特征是不正确的。也许需要上下这些特征去匹配交界处的相似性。

现在CNN中的卷积计算可以看作是当前计算机视觉中最为关键的部分了,这种对图像去提取很多的特征,构成一组特征图,再根据这些特征图在图与图之间进行融合相加产生新的特征,不断的重复这样的操作,同时使用maxpooling降低维度信息,最后完成了特征映射。

想一下MobileNet这种所谓的深度卷积核逐点卷积,深度卷积完成的是对于单个特征图的局部感知和全局感知,因为这个过程中使用的是3×3卷积核对于整个feature map进行卷积,逐点卷积完成的是单个特征图的全局感知和特征图组的信息融合。

之前自己做过将CNN的feature map在H和W两个维度做一些平移之类的,然后再进行正常的卷积操作,最后的准确度没有提高,当时想的是这样可以扩大局部感受野,相当于把卷积核扩大了,但是事实并不是这样的。如果把卷积核扩大,是对于单个特征图而言的,能够保证全局感知的,而在H和W两个维度做一些平移之类的,相当于在feature maps的不同H\W位置做了信息融合,这种位置不对应的信息融合破坏了特征信息。再来思考ResNet、Cat这种操作,为什么能够行得通,因为它们是对于整个feature map所做的特征维度的操作,并且还保证了特征位置的统一性。而BN层这种层是对于单个特征所做的变换,是为了让特征内部的数据具有更好的分布特性。

CNN 分割的更多相关文章

  1. Sklearn——SVC学习笔记(图像分割)

    新年第二更. 很长时间前就想总结一下用SVC来做图像分割的方法了,方法实现了,但是一直没有总结,今天再来回顾一遍. 首先介绍一下.今天要总结的图像分割其实属于像素级分类,其输出是把图像按照不同的类别逐 ...

  2. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

    摘要 点云是一种重要的几何数据结构类型.由于其不规则的格式,大多数研究人员将此类数据转化为常规的三维体素网格或图像集合.然而,这使数据变得不必要的庞大,并导致问题.在本文中,我们设计了一种新型的直接处 ...

  3. CNN结构:场景分割与Relation Network

    参考第一个回答:如何评价DeepMind最新提出的RelationNetWork 参考链接:Relation Network笔记  ,暂时还没有应用到场景中 LiFeifei阿姨的课程:CV与ML课程 ...

  4. 卷积神经网络(CNN)学习算法之----基于LeNet网络的中文验证码识别

    由于公司需要进行了中文验证码的图片识别开发,最近一段时间刚忙完上线,好不容易闲下来就继上篇<基于Windows10 x64+visual Studio2013+Python2.7.12环境下的C ...

  5. 《Benign and maligenant breast tumors classification based on region growing and CNN segmentation》翻译阅读与理解

    注明:本人英语水平有限,翻译不当之处,请以英文原版为准,不喜勿喷,另,本文翻译只限于学术交流,不涉及任何版权问题,若有不当侵权或其他任何除学术交流之外的问题,请留言本人,本人立刻删除,谢谢!! 另:欢 ...

  6. 论文笔记之:A CNN Cascade for Landmark Guided Semantic Part Segmentation

    A CNN Cascade for Landmark Guided Semantic Part Segmentation  ECCV 2016 摘要:本文提出了一种 CNN cascade (CNN ...

  7. RCNN (Regions with CNN) 目标物检测 Fast RCNN的基础

    Abstract: 贡献主要有两点1:可以将卷积神经网络应用region proposal的策略,自底下上训练可以用来定位目标物和图像分割 2:当标注数据是比较稀疏的时候,在有监督的数据集上训练之后到 ...

  8. 卷积神经网络CNN与深度学习常用框架的介绍与使用

    一.神经网络为什么比传统的分类器好 1.传统的分类器有 LR(逻辑斯特回归) 或者 linear SVM ,多用来做线性分割,假如所有的样本可以看做一个个点,如下图,有蓝色的点和绿色的点,传统的分类器 ...

  9. Tensorflow之卷积神经网络(CNN)

    前馈神经网络的弊端 前一篇文章介绍过MNIST,是采用的前馈神经网络的结构,这种结构有一个很大的弊端,就是提供的样本必须面面俱到,否则就容易出现预测失败.如下图: 同样是在一个图片中找圆形,如果左边为 ...

随机推荐

  1. Go 初体验 - 并发与锁.1 - sync.Mutex 与 sync.RWMutex

    ==== Mutex为互斥锁,顾名思义,被Mutex锁住的代码同时只允许一个协程访问,其它协程进来就要排队 如何使用?看代码: 输出: 释义: 并发1000个协程同时更改m的元素,这样会有一部分更改成 ...

  2. Git 撤销到某个版本的代码

    Git checkout 版本号 文件名带路径的

  3. html5 css练习,弹性三栏布局

    *{    margin: 0;    padding: 0;} body,html{    width: 100%;    height: 100%;        font: bold 24px ...

  4. html5css练习 旋转

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. jbe 可以用来修改Java class的字节码,配合jd-gui 使用

    jbe  可以用来修改Java class的字节码,配合jd-gui 使用

  6. Conv1D、Conv2D、Conv3D

    由于计算机视觉的大红大紫,二维卷积的用处范围最广.因此本文首先介绍二维卷积,之后再介绍一维卷积与三维卷积的具体流程,并描述其各自的具体应用. 1. 二维卷积 图中的输入的数据维度为14×1414×14 ...

  7. golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题

    golang学习笔记20 一道考察对并发多协程操作一个共享变量的面试题 下面这个程序运行的能num结果是什么? package main import ( "fmt" " ...

  8. Matlab学以致用--模拟os任务装载情况

    2012-06-08 21:26:42 用matlab来建模,仿真不同时刻os task在队列中的装载情况.输入参数如下 作为初学者,M文件写的有点长.能实现功能就算学以致用了. clear;clc ...

  9. 在 Azure 上部署 Kubernetes 集群

    在实验.演示的时候,或者是生产过程中,我经常会需要运行一些 Docker 负载.虽然这在本地计算机上十分容易,但是当你要在云端运行的时候就有点困难了.相比于本地运行,在云端运行真的太复杂了.我尝试了几 ...

  10. 最大熵模型(MEM)

    1. 最大熵原理 最大熵Max Entropy原理:学习概率模型时,在所有可能的概率模型(即概率分布)中,熵最大的模型是最好的模型. 通常还有其他已知条件来确定概率模型的集合,因此最大熵原理为:在满足 ...