常见的卷积神经网络结构——分类、检测和分割
本文持续更新~~
本文整理了近些年来常见的卷积神经网络结构,涵盖了计算机视觉领域的几大基本任务:分类任务、检测任务和分割任务。对于较复杂的网络,本文只会记录其中的核心模块以及重要的网络设计思想,并不会记录完整的网络结构。
有一些网络结构是通用的,可以用于分类、检测和分割任务中的任意一个,本文就选取了其中一个有代表性的任务进行描述。
目录
- 分类任务
- 1.VGG
- 2. Inception v1
- 3. Inception V2
- 4. ResNet
- 5. DenseNet
- 检测任务
- 1. FPN
- 2. PAN
- 分割任务
- 1. FCN
- 2. U-Net
- 3. SegNet
- 4. PSPNet
- 参考文章
分类任务
1.VGG
论文地址:https://arxiv.org/abs/1409.1556
论文提出了6种不同的VGG网络,最常用的是VGG16。VGG16采用了5组13层卷积和5层最大池化,并且使用3层全连接和1层Softmax完成分类任务。
VGGNet使用的卷积核全部为3×33×33×3,优点在于:两个3×33×33×3的卷积核和一个5×55×55×5的卷积核的感受野大小一致,但参数量更少;两个3×33×33×3的卷积核比一个5×55×55×5的卷积核的非线性表达能力更强,因为其拥有两个激活函数,可提高网络的学习能力。

2. Inception v1
论文地址:https://arxiv.org/pdf/1409.4842
通过设计一个稀疏网络结构,但是能够产生稠密的数据,既能增加神经网络表现,又能保证计算资源的使用效率。 共4个通道,其中3个卷积通道分别使用1×11×11×1、3×33×33×3、5×55×55×5的卷积核,保证了每个通道的感受野大小不同,从而获得不同尺度的特征;1个池化通道采用最大池化操作,以减少空间大小,降低过度拟合。使用1×11×11×1的卷积核进行降维,减小了特征图的维度。

3. Inception V2
论文地址:https://arxiv.org/pdf/1502.03167
在不增加过多计算量的同时提高网络的表达能力,因而修改 Inception 的内部计算逻辑,提出了比较特殊的卷积计算结构。使用3×33×33×3的卷积核代替5×55×55×5的卷积核(用小卷积核代替大卷积核);分解卷积,将n×nn×nn×n的卷积分解为1×n1×n1×n +++ n×1n×1n×1,进一步降低了参数量;在保持相同感受野的同时减少参数量。


4. ResNet
论文地址:https://arxiv.org/abs/1512.03385
ResNet可以说是卷积神经网络的一个里程碑式的结构,自从ResNet被提出后,此后的分类、检测和分割等任务大都使用ResNet作为骨干网络进行特征提取。
ResNet的思想比较简单,引入了一个残差结构来解决梯度消失的问题。普通网络需要直接拟合输出H(x)H(x)H(x),而ResNet通过引入一个shortcut连接,将需要拟合的映射变为F(x)=H(x)−xF(x)=H(x)-xF(x)=H(x)−x。即相对于直接优化潜在映射H(x)H(x)H(x),优化残差映射F(x)F(x)F(x)更容易。

5. DenseNet
论文地址:https://arxiv.org/abs/1608.06993
DenseNet通过建立前面所有层与后面层的密集连接,即直接将前面所有层的特征Concat后传到下一层,实现了特征在通道维度上的复用。
DenseNet采用了激活函数在前,卷积层在后的顺序,与一般的卷积网络不同;每个BottleNeck中,1×11×11×1大小的卷积的作用是固定输出通道数,达到降维的作用。

检测任务
1. FPN
论文地址:https://arxiv.org/abs/1612.03144
FPN(Feature Pyramid Network,特征图金字塔网络),主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。FPN通过高层特征进行上采样(对高层特征进行放大,即卷积后的特征数最少的那一层)和低层特征进行自顶向下的连接(反向卷积),而且每一层都会进行预测。
算法大致结构如下:一个自底向上的线路,一个自顶向下的线路,横向连接(lateral connection)。

2. PAN
论文地址:https://arxiv.org/abs/1803.01534
PAN(Path Aggregation Network,路径聚合网络)采用自底向上路径增强的方法,在较低的层次上使用精确的定位信号来增强整个特征层次结构,缩短了较低层次与最上层特征之间的信息路径。提出了自适应特征池,它将特征网格和所有特征层连接起来,使每个特征层中的有用信息直接传播到下面的建议子网络。

分割任务
1. FCN
论文地址:https://arxiv.org/abs/1411.4038
FCN是对图像进行像素级的分类(也就是每个像素点都进行分类),从而解决了语义级别的图像分割问题。FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的特征图进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,最后在上采样的特征图进行像素的分类。简单的说,FCN与CNN的区别在于FCN把CNN最后的全连接层换成卷积层,其输出的是一张已经标记好的图,而不是一个概率值。

2. U-Net
论文地址:https://arxiv.org/abs/1505.04597
网络的左侧是由卷积和Max Pooling构成的一系列降采样操作,由4个block组成,每个block使用了3个有效卷积和1个Max Pooling降采样,每次降采样之后Feature Map的个数乘2,因此有了图中所示的Feature Map尺寸变化。最终得到了尺寸为32×3232 × 3232×32的Feature Map。网络的右侧部分同样由4个block组成,每个block开始之前通过反卷积将Feature Map的尺寸乘2,同时将其个数减半(最后一层略有不同),然后和左侧对称的Feature Map合并,由于左侧和右侧的Feature Map的尺寸不一样,U-Net是通过将左侧的Feature Map裁剪到和扩展路径相同尺寸的Feature Map进行归一化的(即图1中左侧虚线部分)。右侧的卷积操作依旧使用的是有效卷积操作,最终得到的Feature Map的尺寸是338×338338 × 338338×338。由于该任务是一个二分类任务,所以网络有两个输出Feature Map。

3. SegNet
论文地址:https://arxiv.org/abs/1511.00561
SegNet的核心由一个编码器网络和一个对应的解码器网络以及一个像素级分类层组成。

4. PSPNet
论文地址:https://arxiv.org/abs/1612.01105
PSPNet的核心模块是Pyramid Pooling Modules,融合了四种不同金字塔尺度下的特征。通过CNN得到的特征图经过四种尺度的池化操作得到四种尺寸的特征图,然后经过卷积操作改变特征图的通道,在通过上采样操作恢复特征图的尺寸大小,最后与输入特征图进行Concat,得到最终的金字塔池化全局特征。

参考文章
四、全卷积网络FCN详细讲解(超级详细哦)
快速理解Unet的网络结构
SegNet算法详解
相关文章:
常见的卷积神经网络结构——分类、检测和分割
本文持续更新~~ 本文整理了近些年来常见的卷积神经网络结构,涵盖了计算机视觉领域的几大基本任务:分类任务、检测任务和分割任务。对于较复杂的网络,本文只会记录其中的核心模块以及重要的网络设计思想,并不会记录完整的网络结构。…...
20230323英语学习
Why Can You “Hear the Ocean” in Seashells? 为啥能在贝壳里“听见海的声音”? We’re told a number of stories as kids. One of the more harmless of these little lies is the one about seashells.You know the one: hold up a seashell to your ear, an…...
【粉丝投稿】上海某大厂的面试题,岗位是测开(25K*16)
简单介绍一句,大专出身,三年经验。跳了四次槽,面试了无数次,现在把自己的面试经验整理出来分享给大家,堪称必杀技! 1,一切从实际出发,对实际工作进行适当修饰 2,不会的简…...
shell简单使用介绍
脚本的基本元素声明,在解释并执行当前脚本文件中的语句之前,需要声明使用的命令解释器#一般写的解释器为 #!/bin/bash这里的#不再是注释了,而是必要的声明命令,也就是需要执行的语句注释,对代码进行解释说明分为单行注…...
RK3568平台开发系列讲解(调试篇)内核函数调用堆栈打印方法汇总
🚀返回专栏总目录 文章目录 一、dump_stack 函数二、WARN_ON(condition)函数三、BUG_ON (condition)函数四、panic (fmt...)函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将对驱动调试方法进行汇总学习。 一、dump_stack 函数 dump_stack 作用:打印内核调…...
一次内存泄露排查
前因: 因为测试 长时间压测导致 接口反应越来越慢,甚至 导致服务器 崩溃 排查过程 1、top 查看是 哪个进程 占用 内存过高 2、根据 进程 id 去查找 具体是哪个 程序的问题 ps -ef| grep 41356 可以看到 具体的 容器位置 排查该进程 对象存活 状态…...
「Mac安装ps」Adobo Photoshop 2023 下载安装详情教程,支持 AI 插件的 24 版 Photoshop
前言 Adobo Photoshop 2023 已推出,由于目前AI人工智能技术火爆,而很多的 AI 插件最低也需要24版的 photoshop ,所以这里我遍搜集并整理了此新版本的 photoshop 安装使用教程,后续也将提供 AI 插件的下载安装教程 安装文件下载 …...
Redis单线程还是多线程?IO多路复用原理
目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、Redis6.0引入多线程四、Redis主线程和IO线程是如何完成请求的?1、服务端和客户端建立socket连接2、IO线程读取并解析请求3、主线程执行请求命令4、IO线程会写回socket和主线程清…...
小菜鸟Python历险记:(第五集)
今天写的文章是记录我从零开始学习Python的全过程。在Python中对方法进行备注的时候,往往都是写在方法中的第一行所在位置。在书写注释以后,在调用方法的时候,鼠标点击方法会有一个浮动的提示显示备注内容。具体如下图所示:注释的…...
【思维模型】五分钟了解<复利思维>,为何学习复利思维?什么是复利思维?如何应用复利思维?
【思维模型】五分钟了解<复利思维>,为何学习复利思维?什么是复利思维?如何应用复利思维?1. 为何学习复利思维?2. 什么是复利思维?3. 如何应用复利思维?4. 小结参考&#…...
Vue.js语法详解:从入门到精通
Vue.js是一个流行的JavaScript框架,用于构建用户界面。它的核心特性包括数据双向绑定、组件化架构、虚拟DOM和响应式系统等。在本文中,我们将深入探讨Vue.js的语法,帮助读者更好地理解和应用Vue.js。1.模板语法Vue.js的模板语法采用了类似HTM…...
程序员的代码行数越少越好?
有些人可能会认为,应用程序中的代码行越少,就越容易阅读。这句话只有部分正确,我认为代码可读性的度量标准包括:代码应具备一致性代码应具备自我描述性代码应具备良好的文档代码应使用稳定的现代功能代码不应过于复杂代码的性能不…...
【每日一题Day156】LC1032字符流 | 字典树
字符流【LC1032】 设计一个算法:接收一个字符流,并检查这些字符的后缀是否是字符串数组 words 中的一个字符串。 例如,words ["abc", "xyz"] 且字符流中逐个依次加入 4 个字符 a、x、y 和 z ,你所设计的算法…...
V2G模式下含分布式能源网优化运行研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 📋📋📋本文目录如下:🎁🎁🎁 目录 💥1 概述 📚2 运行结果 &am…...
手写一个简单的RPC框架
学习RPC框架,由繁化简,了解其本质原理 文章目录项目简介什么是RPC?项目模块项目代码common模块client模块server模块framework模块测试项目简介 什么是RPC? RPC(Remote Procedure Call)即远程过程调用&am…...
【剑指offer】旋转数组的最小数字
👑专栏内容:剑指offer⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录一、题目描述1、题目2、示例示例1示例2二、题目分析1、暴力法2、二分法三、代码汇总1、暴力法2、二分法一、题目描述 1、题…...
【Dorker】Portainer轻量级可视化工具
文章目录Portainer简介登录Portainer第一次登录需创建admin,访问地址:xxx.xxx.xxx.xxx:9000选择local选项卡后本地docker详细信息展示安装nginx私有镜像仓库管理Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板…...
基于 vue.js 进行组件封装的方案
摘要:本文将介绍如何基于 vue.js 进行组件封装的方案。我们将从分析组件封装的优势开始,然后依次介绍 vue.js 的基本概念,以及如何创建、封装和使用自定义组件。最后,我们将通过一个实际的示例,演示如何实现一个基于 v…...
【Unityc#专题篇】之c#基础篇
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:uni…...
Python(白银时代)——模块、包、异常
异常 概念 程序运行时,如果Python 解释器遇到了错误,会停止程序运行,并且提示错误信息,这就是异常 程序停止执行并提示错误信息的动作,称为 抛出异常 异常捕获 try: 里面的代码,不确定是否能够正常执行. …...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
