vgg16_vgg16分类 - CSDN
精华内容
参与话题
  • VGG16模型理解

    万次阅读 2018-01-04 11:39:52
    VGG16作为很入门的CNN网络,同时也有很多基于VGG16的改进网络,比如用于语义分割的Segnet等。 VGG16输入224*224*3的图片,经过的卷积核大小为3x3x3,stride=1,padding=1,pooling为采用2x2的max pooling方式: ...

    VGG16作为很入门的CNN网络,同时也有很多基于VGG16的改进网络,比如用于语义分割的Segnet等。

    VGG16输入224*224*3的图片,经过的卷积核大小为3x3x3,stride=1,padding=1,pooling为采用2x2的max pooling方式:


    1、输入224x224x3的图片,经过64个卷积核的两次卷积后,采用一次pooling。经过第一次卷积后,c1有(3x3x3)个可训练参数

    2、之后又经过两次128的卷积核卷积之后,采用一次pooling

    3、再经过三次256的卷积核的卷积之后,采用pooling

    4、重复两次三个512的卷积核卷积之后再pooling。

    5、三次Fc


    展开全文
  • 详解VGG16以及启发

    万次阅读 2018-01-04 09:43:37
    论文名字是《Very Deep Convolutional Networks For Large-Scale Image Recongnition》 下载链接:... 为什么要读VGG16? 作为基础网络,分类性能非常好;VGG16的网络结
    论文名字是《Very Deep Convolutional Networks For Large-Scale Image Recongnition》

    为什么要读VGG16?

    1. 作为基础网络,分类性能非常好;
    2. VGG16的网络结构非常规整,修改起来相对容易;
    3. 在ImageNet上训练的model已经公布,可以在此基础上对其他数据集进行finetuning,且对其他数据集适应能力很好;
    4. 目标检测领域使用VGG16做基础网络的网络结构很多,同样效果也很好;
    5. 作者在训练VGG16的过程中使用了很多trick,在训练网络的过程中,提供了宝贵的经验。
    6. 文中同样提供了一种在竞赛中提高准确率的思路,Fusion,这种思路在以后的论文中也经常使用。
    读VGG16论文的第一步:看图!


    这张图在介绍VGG16时是肯定会用到的,这张图蕴含的信息非常多,我在这里的解读可能有限,如有补充请留言。

    一:

    这是6个网络的对比图。从A到E,网络越来越深。其中加入了一些层用来验证效果。

    二:

    每一列详细讲解了每个网络的结构。

    三:

    这是一种正确做实验的方式,即用最简单的方法把问题解决,然后针对出现的问题逐步优化。
    网络A:先提一个比较浅的网络,这个网络很容易就在ImageNet上收敛了。
    然后呐?
    网络A-LRN:加一些别人(AlexNet)已经实验说有效的东西(LRN),but,好像没用。
    然后呐?
    网络B:那就加2层试试?好像有效果了。
    然后呐?
    网络C:再加两层1*1卷积吧,肯定能收敛。效果好像更好了。有点激动。
    然后呐?
    网络D:把1*1卷积核改成3*3的吧,试一试。效果又变好了。好像是目前最好的了(2014年)。
    然后呐?
    网络E:还能不能往上加了?又变好了!太厉害了!
    然后呐?
    可能作者也试验了,不过效果可能就会出现深度网络出现的一系列问题,梯度消失。再深可能效果更差了。
    不过,这只是猜测,也可以试试看。
    效果好不好不能只靠说,看下表:

    VGG19的网络结构图如下所示:


    训练技巧:

    两大原因导致VGG16收敛速度很快(相对的)
    1. 小的卷积核,统统使用了3*3的卷积核;
    2. 某些层的初始化。
    作者首先训练了网络A,因为A比较小,所以更容易收敛。
    训练好A后,得到model去finetune 网络C,可以一次类推进而得到网络E。使用这种训练方法,显然可以加快收敛。

    感受野:

    文中有所提及,也就是为什么VGG16通过一组3*3的卷积核可以代替AlexNet中11*11的卷积核的感受野。
    如果对感受野的概念不够清晰的话,可以移步:http://blog.csdn.net/u010725283/article/details/78593410
    那么使用多个3*3代替7*7或者11*11的好处,后面的会有更多讲解。

    Fusion,提高性能的好办法。也叫做assembling learning。
    具体是怎么做呐?
    方法很简单,将几个网络输出结合,也即是将softmax层的输出平均即可。
    这样的方法在比赛中经常用到,基本都可以提高1%-%2的performance。
    但是实际部署算法时是没法用的,这样的计算代价太大了。


    最后,文中还对单目标的检测做了实验,效果也是当时最好。这个在后面文中详解。









    展开全文
  • 【深度学习】初识VGG16

    万次阅读 2018-11-15 16:23:36
    一. 简述  VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经...VGG模型有一些变种,其中最受欢迎的当然是 VGG-16,这是一个拥有16...

    一. 简述  
    VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经网络模型。它在图像分类和目标检测任务中都表现出非常好的结果。在2014年的ILSVRC比赛中,VGG 在Top-5中取得了92.3%的正确率。

    VGG结构图

    VGG-16

    VGG模型有一些变种,其中最受欢迎的当然是 VGG-16,这是一个拥有16层的模型。你可以看到它需要维度是 224*224*3 的输入数据。

    VGG16输入224*224*3的图片,经过的卷积核大小为3x3x3,stride=1,padding=1,pooling为采用2x2的max pooling方式:

    1、输入224x224x3的图片,经过64个卷积核的两次卷积后,采用一次pooling。经过第一次卷积后,c1有(3x3x3)个可训练参数

    2、之后又经过两次128的卷积核卷积之后,采用一次pooling

    3、再经过三次256的卷积核的卷积之后,采用pooling

    4、重复两次三个512的卷积核卷积之后再pooling。

    5、三次Fc

    使用keras建立vgg16模型

    def VGG_16(weights_path=None):
        model = Sequential()
        model.add(ZeroPadding2D((1,1),input_shape=(3,224,224)))
        model.add(Convolution2D(64, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(64, 3, 3, activation='relu'))
        model.add(MaxPooling2D((2,2), strides=(2,2)))
    
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(128, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(128, 3, 3, activation='relu'))
        model.add(MaxPooling2D((2,2), strides=(2,2)))
    
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(256, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(256, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(256, 3, 3, activation='relu'))
        model.add(MaxPooling2D((2,2), strides=(2,2)))
    
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(512, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(512, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(512, 3, 3, activation='relu'))
        model.add(MaxPooling2D((2,2), strides=(2,2)))
    
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(512, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(512, 3, 3, activation='relu'))
        model.add(ZeroPadding2D((1,1)))
        model.add(Convolution2D(512, 3, 3, activation='relu'))
        model.add(MaxPooling2D((2,2), strides=(2,2)))
    
        model.add(Flatten())
        model.add(Dense(4096, activation='relu'))
        model.add(Dropout(0.5))
        model.add(Dense(4096, activation='relu'))
        model.add(Dropout(0.5))
        model.add(Dense(1000, activation='softmax'))
    
        if weights_path:
            model.load_weights(weights_path)
    
        return model

    参考源:

    VGG16学习笔记

    Very Deep Convolutional Networks for Large-Scale Image Recognition

    使用vgg16模型进行图片预测

    VGG in TensorFlow

    VGG ILSVRC 16 layers

    Netscope

    vgg16构造模型图

    展开全文
  • vgg16详细过程

    千次阅读 2019-06-24 11:18:53
    1、输入224x224x3的图片,经64个3x3的卷积核作两次卷积+ReLU,卷积后的尺寸变为224x224x64 2、作max pooling(最大化池化),池化单元尺寸为2x2(效果为图像尺寸减半),池化后的尺寸变为112x112x64 ...

    在这里插入图片描述1、输入224x224x3的图片,经64个3x3的卷积核作两次卷积+ReLU,卷积后的尺寸变为224x224x64
    2、作max pooling(最大化池化),池化单元尺寸为2x2(效果为图像尺寸减半),池化后的尺寸变为112x112x64
    3、经128个3x3的卷积核作两次卷积+ReLU,尺寸变为112x112x128
    4、作2x2的max pooling池化,尺寸变为56x56x128
    5、经256个3x3的卷积核作三次卷积+ReLU,尺寸变为56x56x256
    6、作2x2的max pooling池化,尺寸变为28x28x256
    7、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为28x28x512
    8、作2x2的max pooling池化,尺寸变为14x14x512
    9、经512个3x3的卷积核作三次卷积+ReLU,尺寸变为14x14x512
    10、作2x2的max pooling池化,尺寸变为7x7x512
    11、与两层1x1x4096,一层1x1x1000进行全连接+ReLU(共三层)
    12、通过softmax输出1000个预测结果

    展开全文
  • 深度学习笔记(六)--VGG16网络

    万次阅读 多人点赞 2018-07-25 17:44:12
    VGG-16 VGG,也叫作VGG-16网络。值得注意的一点是,VGG-16网络没有那么多超参数,这是一种只需要专注于构建卷积层的简单网络。首先用3×3,步幅为1的过滤器构建卷积层,padding参数为same卷积中的参数。然后用一个2...
  • 一、VGGNet 1、VGGNet介绍 通常,我们不会自己训练大型的...这里,我们使用预训练模型VGGNet进行花朵图像(图像库来自Tensorflow Inception tutorial)分类。 VGG论文: http://www.robots.ox.ac.uk/~vgg/res...
  • VGG16和VGG19网络结构图

    万次阅读 2018-11-07 10:31:24
    VGG16 VGG19
  • vgg16介绍

    万次阅读 2018-10-15 15:15:29
        预处理 图片的预处理就是每一个像素减去了均值,算是比较简单的处理。...整体使用的卷积核都比较小(3x3),3x3是可以表示「左右」、「上下」、「中心」这些模式的最小单元了。...3 × 3 which is the ...
  • VGG16和VGG19介绍

    万次阅读 2019-03-12 16:12:18
    VGG16和VGG19介绍 转载自:https://www.jianshu.com/p/e0845ecaf7f7 image.png 《Very Deep Convolutional Networks for Large-Scale Image Recognition》 arXiv:[1409.1556] Very Deep Convolutional ...
  • VGG16学习笔记

    万次阅读 多人点赞 2018-03-22 16:01:44
    一. 简述 VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,...VGG结构图VGG-16VGG模型有一些变种,其中最受欢迎的当然是 VGG-16,这是一个拥有16层的模型。你可以看...
  • 【深度学习】全面理解VGG16模型

    千次阅读 多人点赞 2019-06-18 22:24:48
    全面理解VGG16模型VGG16的结构层次介绍结构图VGG16模型所需要的内存容量介绍卷积中的基本概念1.从input到conv1:2.从conv1到conv2之间的过渡:3.conv2到conv3:4.进入conv3:5.从conv3到conv4之间的过渡:6.最后到三...
  • VGG16

    千次阅读 2018-01-30 17:01:10
    代码修改工程目录介绍caffe-fast-rcnn —> caffe框架data —> 存放数据,以及读取文件的... 三种模型, ZF(S)/VGG1024(M)/VGG16(L)output —> 输出的model存放的位置,不训练此文件...
  • vgg16

    千次阅读 2018-05-30 09:20:42
    https://blog.csdn.net/u013473520/article/details/50730620
  • Vgg16 model

    2018-03-25 11:41:46
    vgg16 模型 用于初始训练,准确率非常高,可以直接将其封装到云平台中!
  • 利用Tensorflow实现VGG16及训练自己的数据

    万次阅读 多人点赞 2018-07-26 17:52:33
    参考:《Tensorflow实战》《Tensorflow 实战Google深度学习框架》 https://blog.csdn.net/sinat_16823063/article/details/53946549 https://blog.csdn.net/yaoqi_isee/article/details/77526497 ...
  • 刚开始接触深度学习、卷积神经网络的时候非常懵逼,不知道从何入手,我觉得应该有一个进阶的过程,也就是说,理应有一些基本概念作为奠基石,让你有底气去完全理解一个庞大的卷积神经网络: 本文思路: ...
  • 利用vgg16进行的猫狗图像的分类,由于其在模型比普通的cnn的层更加复杂,所以分类效果较优。同时可根据结果添加dropout层避免出现的过拟合现象。训练和测试图像较大没有放上来,可私聊/评论后发送。
  • vgg16解构

    2019-06-24 16:30:11
    Usage: with slim.arg_scope(vgg.vgg_arg_scope()): outputs, end_points = vgg.vgg_16(inputs) ...from keras.applications.vgg16 import VGG16 VGG16().summary() _____________________________...
  • 深入理解卷积神经网络 VGG16

    千次阅读 2019-09-04 20:15:50
    文章目录一、常规认识二、一些基本...三、理解神经网络 VGG 16四、用VGG16 来做一个图像识别案例 一、常规认识 很多人想入门做深度学习,但往往翻遍网络看完一篇又一篇所谓的“入门教程”,paper,包括很多深度学习...
  • 基于tensorflow + Vgg16进行图像分类识别

    万次阅读 热门讨论 2018-03-22 11:06:06
    1. VGG-16介绍 vgg是在Very Deep Convolutional Networks for Large-Scale Image Recognition期刊上提出的。模型可以达到92.7%的测试准确度,在ImageNet的前5位。它的数据集包括1400万张图像,1000个类别。 vgg-16...
1 2 3 4 5 ... 20
收藏数 26,137
精华内容 10,454
关键字:

vgg16