测试的是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. hibernate连接数据库和使用

    hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibe ...

  2. ubuntu16.04开机花屏蓝屏解决方案

    这个时候大家在键盘上按键:Ctrl + Alt + F4, 我在网上看到如下这段:"sudo apt-get install xserver-xorg-lts-utopic sudo dpk ...

  3. Windows上IOCP Socket事件模型管理

     1.IOCP 2.使用IOCP 1)创建完成端口CreateIoCompletionPort: 2)向完成端口添加管理句柄与管理用户数据: 3)异步发送一个管理的事件请求: 4)开启工作线程来处理I ...

  4. rpm 数据库

    rpm 数据库 /var/lib/rpm

  5. Oarcle之单行函数(下)

    1.字符函数 ltrim 去除字符串左边指定字符,如果不设定第二个参数,则默认去除空格 rtrim去除字符串右边指定字符,如果不设定第二个参数,则默认去除空格 例如:select ltrim (‘a  ...

  6. DB2数据库常用的函数

    1.value函数 语法value(表达式1,表达式2)value函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值. eg:表示如果T1.ID ...

  7. PyCharm下使用Scrapy建立爬虫项目--MyFirstSpiderObject

    首先下载并安装Anaconda3以及PyCharm Anaconda3选中添加环境变量,如果忘记选中可以手动在path中添加如下环境变量 建文件夹scrapy 安装scrapy cmd进入对应目录,执 ...

  8. OLTP和OLAP的区别

    OLTP和OLAP的区别 联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理,比如数据库记录的增删查改.比如在银行的一笔交易记录,就是一 ...

  9. Prometheus监控学习笔记之Prometheus从1.x升级到2.x

    详细参考这篇文章 https://cloud.tencent.com/developer/article/1171434 prometheus 2.0于2017-11-08发布,主要是存储引擎进行了优 ...

  10. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...