VGG论文解析—Very Deep Convolutional Networks for Large-Scale Image Recognition

news2024/11/15 13:49:15

VGG论文解析—Very Deep Convolutional Networks for Large-Scale Image Recognition -2015

研究背景

大规模图像识别的深度卷积神经网络 VGG(牛津大学视觉几何组)

认识数据集:ImageNet的大规模图像识别挑战赛

LSVRC-2014:ImageNet Large Scale Visual Recoanition Challenge(14年的相关比赛)

相关研究借鉴:

AlexNet ZFNet OverFeat

研究成果

  • ILSVRC定位冠军,分类亚军

  • 开源VGG16,VGG19

  • 开启小卷积核,深度卷积模型时代3*3卷积核成为主流模型

LSVRC: ImageNet Large Scale Visual Recognition Challenge 是李飞飞等人于2010年创办的图像识别挑战赛,自2010起连续举办8年,极大地推动计算机视觉发展。

比赛项目涵盖:图像分类(Classification)、目标定位(Object localization)、目标检测(Object detection)、视频目标检测(Object detection from video)、场景分类(Scene classification)、场景解析(Scene parsing)

竞赛中脱颖而出大量经典模型:
alexnet,vgg,googlenet ,resnet,densenet等

  1. AlexNet:ILSVRC-2012分类冠军,里程碑的CNN模型
  2. ZFNet:ILSVRC-2013分类冠军方法,对AlexNet改进
  3. OverFeat:ILSVRC-2013定位冠军,集分类、定位和检测于一体的卷积网络方法(即将全连接层替换为1x1的卷积层)

论文精读

摘要

In this work we investigate the effect of the convolutional network depth on its accuracy in the large-scale image recognition setting. Our main contribution is a thorough evaluation of networks of increasing depth using an architecture with very small (3×3) convolution filters, which shows that a significant improvement on the prior-art configurations can be achieved by pushing the depth to 16–19 weight layers. These findings were the basis of our ImageNet Challenge 2014 submission, where our team secured the first and the second places in the localisation and classification tracks respectively. We also show that our representations
generalise well to other datasets, where they achieve state-of-the-art results. We have made our two best-performing ConvNet models publicly available to facilitate further research on the use of deep visual representations in computer vision.

摘要进行解读

  1. 本文主题:在大规模图像识别任务中,探究卷积网络深度对分类准确率的影响
  2. 主要工作:研究3*3卷积核增加网络模型深度的卷积网络的识别性能,同时将模型加深到16-19层
  3. 本文成绩:VGG在ILSVRC-2014获得了定位任务冠军和分类任务亚军
  4. 泛化能力:VGG不仅在ILSVRC获得好成绩,在别的数据集中表现依旧优异
  5. 开源贡献:开源两个最优模型,以加速计算机视觉中深度特征表示的进一步研究

快速泛读论文确定小标题的结构

  1. Introduction
  2. ConvNet Configurations
  • 2.1 Architecture
  • 2.2 Configuratoins
  • 2.3 Discussion
  1. Classification Framework
  • 3.1 Training
  • 3.2Testing
  • 3.3ImplementationDetails
  1. Classification Experiments
  • 4.1 Singlescaleevaluation
  • 4.2 Multi-Scale evaluation
  • 4.3 Multi-Cropevaluation
  • 4.4 ConvNetFusion
  • 4.5 Comparison with the state of the art
  1. Conclusion

在这里插入图片描述

根据图表结构:论文中提出了A A-LRN B C D E等五种VGG网络对应的论文结构。

VGG网络结构

模型结构

During training, the input to our ConvNets is a fixed-size 224 × 224 RGB image. The only preprocessing we do is subtracting the mean RGB value, computed on the training set, from each pixel.
The image is passed through a stack of convolutional (conv.) layers, where we use filters with a very small receptive field: 3 × 3 (which is the smallest size to capture the notion of left/right, up/down,center). In one of the configurations we also utilise 1 × 1 convolution filters, which can be seen as a linear transformation of the input channels (followed by non-linearity). The convolution stride is fixed to 1 pixel; the spatial padding of conv. layer input is such that the spatial resolution is preserved after convolution, i.e. the padding is 1 pixel for 3 × 3 conv. layers. Spatial pooling is carried out by five max-pooling layers, which follow some of the conv. layers (not all the conv. layers are followed by max-pooling). Max-pooling is performed over a 2 × 2 pixel window, with stride 2.
A stack of convolutional layers (which has a different depth in different architectures) is followed by three Fully-Connected (FC) layers: the first two have 4096 channels each, the third performs 1000- way ILSVRC classification and thus contains 1000 channels (one for each class). The final layer is the soft-max layer. The configuration of the fully connected layers is the same in all networks. All hidden layers are equipped with the rectification (ReLU (Krizhevsky et al., 2012)) non-linearity. We note that none of our networks (except for one) contain Local Response Normalisation (LRN) normalisation (Krizhevsky et al., 2012): as will be shown in Sect. 4, such normalisation does not improve the performance on the ILSVRC dataset, but leads to increased memory consumption and computation time. Where applicable, the parameters for the LRN layer are those of (Krizhevsky et al., 2012).

论文的原文中提到了整个VGG网络的输入是224 x 224的RGB三通道的彩色图片。使用了大小为3x3的卷积核(也尝试的使用了1x1的卷积核)同时使用了2x2的最大池化,步长为2同时不在使用LRN这种方法

11 weight layers in the network A(8 conv. and 3 FC layers) to 19 weight layers in the network E (16 conv. and 3 FC layers).

VGG11由8个卷积层和3个全连接层组成,VGG19由16个卷积层和3个全连接层组成

整个全连接层与AlexNet相同都是4096 x 4096 x1000,最后通过softmax函数完成1000分类、

整个VGG全部采用3x3的卷积

在这里插入图片描述
对A(VGG11)的过程和共性进行解读
在这里插入图片描述

首先论文中使用的是:224x224x3的一个输入,我们设置的是3x3的卷积核,论文中的作者进行了padding填充(1)保持经过卷积之后的图片大小不变。(conv-64)因此经过了第一层的卷积之后,得到了224x224x64的输出。

而最大池化的步骤2x2且步长为2
F o = ⌊ F in  − k + 2 p s ⌋ + 1 F_{o}=\left\lfloor\frac{F_{\text {in }}-k+2 p}{s}\right\rfloor+1 Fo=sFin k+2p+1

按照公式进行计算:
(224-2)/2 +1=112 因此输出是112x112的大小,在512之前,每次的通道数翻倍。

卷积不改变图片的大小,池化使得图片的大小减半,通道数翻倍

共性

  1. 5个maxpool
  2. maxpool后,特征图通道数翻倍直至512
  3. 3个FC层进行分类输出
  4. maxpool之间采用多个卷积层堆叠,对特征进行提取和抽象

参数计算

在这里插入图片描述
说明了网络的层数变化,对参数的变化影响不大

在这里插入图片描述
F i × ( K s × K s ) × K n + K n F_{i} \times\left(K_{\mathrm{s}} \times K_{\mathrm{s}}\right) \times K_{n}+K_{n} Fi×(Ks×Ks)×Kn+Kn

模型演变

A:11层卷积(VGG11)
A-LRN:基于A增加一个LRN
B:第1,2个block中增加1个卷积33卷积
C:第3,4,5个block分别增加1个1
1卷积
表明增加非线性有益于指标提升
D:第3,4,5个block的11卷积替换为33(VGG16)
E:第3,4,5个block再分别增加1个3*3卷积

其中最为常用的结构就是A中的VGG11和D中的VGG16

VGG的特点

  1. 堆叠3x3的卷积核

增大感受野2个33堆叠等价于1个553个33堆叠等价于1个77
在这里插入图片描述
增加非线性激活函数,增加特征抽象能力
减少训练参数
可看成7 * 7卷积核的正则化,强迫7 * 7分解为3 * 3

假设输入,输出通道均为C个通道
一个77卷积核所需参数量:7 * 7 C * C=49C2
三个33卷积核所需参数量:3(3 * 3* C *C)=27C2
参数减少比:(49-27)/49~44%

之后的数据处理过程和测试过程的相关的内容,放到之后在进行下一次的解读,通过这一次主要要理解的是VGG的网络结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1701077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【EI会议】2024年互联网技术与环境工程国际会议(IACITEE 2024)

【EI会议】2024年互联网技术与环境工程国际会议(IACITEE 2024) 2024 International Conference on Internet Technology and Environmental Engineering 互联网技术与环境工程国际会议(IACITEE 2024)将在重庆举行,主…

R包显示颜色条

方式1 rm(listls()) ncolors 5 data data.frame(valuerep(5,ncolors)) # 一定要加入这个结果的 colors colorRampPalette(c("blue","red"))(nrow(data)) #colors c(#0000FF,#3F00BF,#7F007F,#BF003F,#FF0000) barplot(data$value,colcolors,names.arg …

高光谱成像技术简介,怎么选择成像方案?

目录 一、什么是光谱?二、光谱和光谱分析方法的类型三、多光谱和高光谱的区别四、高光谱在水果品质检测中的应用1. 高光谱成像系统2. 高光谱图像的获取方式3. 高光谱图像处理与分析4. 在水果品质检测中的应用总结 五、针对自己的应用场景怎么使用高光谱技术六、参考…

【量算分析工具-水平距离】GeoServer改造Springboot番外系列四

水平距离 水平距离计算方式,我目前接触到的有四种:Flat Earth距离、大圆路径距离(Haversine公式)、JTS库方法(黑盒)、测地距离(Vincenty公式)。 说明:这里的EARTH_RADIUS…

30多万汉字词语押韵查询ACCESS\EXCEL数据库

押韵,也作“压韵”。作诗词曲赋等韵文时在句末或联末用同韵的字相押,称为押韵。诗歌押韵,使作品声韵和谐,便于吟诵和记忆,具有节奏和声调美。旧时押韵,要求韵部相同或相通,也有少数变格。现代新…

Hadoop3:HDFS中NameNode和SecondaryNameNode的工作机制(较复杂)

一、HDFS存储数据的机制简介 HDFS存储元数据(meta data)的时候 结果,记录在fsImage文件里 过程,记录在Edits文件里 同时fsImageEdits最终结果,这个最终结果(fsImageEdits)会保存一份在内存中,为了提升性能…

JVM 常见配置参数

JVM 配置常见参数 Java虚拟机的参数,在启动jar包的时候通过java 命令指定JVM参数 -options表示Java虚拟机的启动参数,class为带有main()函数的Java类,args表示传递给主函数main()的参数。 一、系统查看参数: -XX:PrintVMOptions可以在程序…

ES的安装以及配置+ik分词

环境:windows10、ES(8.13.3)、Kibana(8.13.3)、Logstash(8.13.3)、ik(8.13.3) 1.下载安装ES Download Elasticsearch | ElasticDownload Elasticsearch or the complet…

四元数学习总结(2)

导语:相比矩阵,用四元数处理3D旋转的优势是毋庸置疑的,但由于概念复杂,难于理解,一直令我摸不着头脑。最近学习更是发现在机器人、无人机、SLAM等先进领域,四元数被当成实数、整数这样的基础,所…

超简单白话文机器学习 - 支持向量机SVM(含算法讲解,公式全解,手写代码实现,调包实现)

1. 支持向量机SVM 支持向量机,因其英文名为support vector machine,故一般简称SVM,通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略便是间隔最大化&#xff…

学浪的缓存怎么导出来

学浪的缓存导出问题困扰着许多用户,备份和管理数据变得至关重要。在数字化时代,保护和利用数据是企业和个人不可或缺的需求。在这篇文章中,我们将深入探讨学浪缓存导出的方法,为您解决疑惑,让您轻松掌握数据的安全与便…

java:程序包javax. servLet不存在

一.原因 1.项目Tomcat 服务器依赖未导入 2.项目的 SDK 版本选择错误 二.解决方法 方案一: 1.选择项目结构选项 2.导入Tomcat依赖 把tomcat里面的【jsp-api.jar】和【servlet-api.jar】这两个包导入 方案二: 1.选择项目结构选项 2.选择自己的jdk版本…

海外短剧系统源码

随着互联网的普及和全球化的加速,海外短剧系统源码的开发成为了一个新兴的领域。海外短剧,即那些在海外市场流行的短视频剧集,以其短小精悍、节奏快速、内容多样的特点,迅速吸引了全球观众的注意。本文将探讨海外短剧系统源码的开…

反对加征关税,特斯拉上海厂传减产20% | 百能云芯

特斯拉公司首席执行官马斯克近日在公开场合表达了对美国计划对中国电动车加征关税的反对立场,强调特斯拉不支持任何扭曲市场的举措。据知情人士透露,特斯拉上海工厂正计划在今年第二季度至少削减Model Y车型的产量20%,以应对市场需求的变化。…

需求跟踪矩阵是什么?怎么创建?一文详解

一、什么是需求跟踪矩阵 对项目经理或产品经理来说,需求清单肯定不陌生,那什么是需求跟踪矩阵呢? 需求跟踪矩阵(Requirement Track Matrix,简称RTM ),是把产品需求从其来源连接到能满足需求的…

大模型应用之基于Langchain的测试用例生成

一 用例生成实践效果 在组内的日常工作安排中,持续优化测试技术、提高测试效率始终是重点任务。近期,我们在探索实践使用大模型生成测试用例,期望能够借助其强大的自然语言处理能力,自动化地生成更全面和高质量的测试用例。 当前…

MIC工作原理(驻极体麦克风)

1.驻极体麦克风声电转换原理 如图所示,驻极体麦克风属于电容式麦克风,背极板和振膜构成平板版电容器,背极板驻有一定量的电荷,背极板通过金属环连接到FET的栅极;振膜镀层金属,通过金属外壳连接到FET的S极&…

社区矫正程序管理端和小程序(支持人脸识别)

社区矫正作为我国刑事处罚执行方式中独特的种类,从2003年进行试点至今已有近20年的时间,在罪犯改造方面取得了突出成就,在法治国家建设过程中具有十分重要的意义。相较于监狱内服刑的执行方式,社区矫正更加侧重于对服刑人员进行教…

常见web安全漏洞

一、信息泄露 概念 信息泄露是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信 息,如用户名、密码、源代码、服务器信息、配置信息等。 造成信息泄露主要的三个原因: ①Web服务器配置存在问题,导致一些系统…

最详细Linux提权总结(建议收藏)

1、内核漏洞脏牛提权 查看内核版本信息 uname -a 具体提权 1、信息收集配合kali提权 uname -a #查看内核版本信息 内核版本为3.2.78,那我们可以搜索该版本漏洞 searchsploit linux 3.2.78 找到几个可以使用的脏牛提权脚本,这里我使用的是40839.c脚…