深度学习知识【CSPNet网络详解】

news2024/9/30 11:38:27

CSPNet的贡献

1.增强了CNN的学习能力,能够在轻量化的同时保持准确性。
2.降低计算瓶颈。
3.降低内存成本。

CSPNet介绍

在神经网络推理过程中计算量过高的问题是由于网络优化中的梯度信息重复导致的。CSPNet通过将梯度的变化从头到尾地集成到特征图中,在减少了计算量的同时可以保证准确率。

CSPNet不仅仅是一个网络,更是一个处理思想,可以和ResNet、ResNext、DenseNet、EfficientNet等网络结合。

从下图可以看出,CSPNet与其他模型结合后的效果:

在这里插入图片描述

CSPNet的结构

作者给出了几种设计思路:
在这里插入图片描述
【①密集块(Dense Block)是DenseNet网络结构的核心部分,它是由多个密集连接层(Dense Layer)组成的模块,用于提取图像中的特征信息。 在每个密集块中,所有前面层的输出都会与当前层的输入进行连接,并通过一个非线性变换进行处理。】

上图中的Transition Layer代表过渡层,主要包含瓶颈层( 1 × 1 卷 积 ) 和池化层(可选)。
其中(a)图是原始的DenseNet的特征融合方式。(b)图是CSPDenseNet的特征融合方式。(c)图是Fusion First的特征融合方式。(d)图是Fusion Last的特征融合方式。

Fusion First的方式是对两个分支的feature map先进行concatenation操作,这样梯度信息可以被重用。

Fusion Last的方式是对Dense Block所在分支先进行transtion操作,然后再进行concatenation,梯度信息将被截断,因此不会重复性使用梯度信息。

在这里插入图片描述
上图是对Fusion First、Fusion Last和CSP最终结构进行实验对比,我们可以得到如下结论:

使用Fusion First有助于降低计算代价,但是准确率有显著下降。
使用Fusion Last也是极大降低了计算代价,top-1 accuracy仅仅下降了0.1个百分点。
同时使用Fusion First和Fusion Last相结合的CSP所采用的融合方式可以在降低计算代价的同时,提升准确率。
下图是DenseNet的示意图和CSPDenseNet的改进示意图:
在这里插入图片描述

改进点在于CSPNet将浅层特征映射为两个部分,一部分经过Dense模块(图中的Partial Dense Block),另一部分直接与Partial Dense Block输出进行concate。

CSP思想的应用
CSP思想也可以应用到ResNet或者ResNeXt中:

总结
CSPNet和PRN都是一个思想,将feature map拆成两个部分,一部分进行卷积操作,另一部分和上一部分卷积操作的结果进行concate。

从实验结果来看,分类问题中,使用CSPNet可以降低计算量,但是准确率提升很小;在目标检测问题中,使用CSPNet作为Backbone带来的提升比较大,可以有效增强CNN的学习能力,同时也降低了计算量。

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

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

相关文章

Golang案例开发之gopacket抓包三次握手四次分手(3)

文章目录 前言一、理论知识三次握手四次分手二、代码实践1.模拟客户端和服务器端2.三次握手代码3.四次分手代码验证代码完整代码总结前言 TCP通讯的三次握手和四次分手,有很多文章都在介绍了,当我们了解了gopacket这个工具的时候,我们当然是用代码实践一下,我们的理论。本…

如何在linux环境上部署单机ES(以8.12.2版本为例)

ES安装(以8.12.2版本为例) 首先创建好对应的文件夹然后在对应的文件夹下执行依次这些命令 1.wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.12.2-linux-x86_64.tar.gz 2.wget https://artifacts.elastic.co/downloads/…

002_avoid_for_loop_in_Matlab避免使用for循环

避免使用for循环 在程序设计思想中,循环是一个很有力的工具。在循环中,计算机很轻松地重复执行相同的操作。循环是汇编之上的编程中最重要的概念之一。Matlab的循环有两个语言构造,一个是for循环,另一个是while循环。在Matlab中&…

Git原理及使用

1、Git初识 Git是一种版本控制器: 对于同一份文件,做多次改动,Git会记录每一次改动前后的文件。 通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。 注意: Git其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,⽹⻚,所有的程序代码…

基于docker配置pycharm开发环境

开发过程中,为了做好环境隔离,经常会采用docker来进行开发,但是如何快速将docker中的环境和本地开发的IDE链接起来是一个常见问题,下面对其进行简单的总结: (1)前期准备 开发环境docker和工具p…

【练习】双指针算法思想

🎥 个人主页:Dikz12🔥个人专栏:Java算法📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 1. 移动零 1.1 题目描述 1.2 讲解算法原理 1.3 编…

STM32 AD单通道函数设计

单片机学习! 目录 文章目录 前言 一、ADC配置步骤 二、详细步骤 2.1 开启RCC时钟 2.2 配置GPIO 2.3 配置多路开关 2.4 配置ADC转换器 2.5 开启ADC电源 2.6 ADC进行校准 2.6.1 复位校准 2.6.2 等待复位校准完成 2.6.3 开始校准 2.6.4 等待校准完成 三、启动AD转换函数…

数据结构大合集06——树与二叉树的相关函数运算算法

函数运算算法合集06 1、树的基本运算1.1 树的存储结构1.1.1 双亲存储结构1.1.2 孩子链存储结构1.1.3 孩子兄弟链式存储结构 2、二叉树的顺序存储2.1 二叉树顺序存储的结构体2.2 顺序存储的基本思路 3、二叉树的链式存储3.1 二叉树的链式存储的结构体3.2 链式存储的基本算法3.2.…

docker镜像复制与常见命令

一、前言 最近通过阿里的镜像仓库远程拉取镜像,发现以前的版本不见了,拉取了最新的镜像,有发现版本不配问题。那么想使用老版本的镜像那就要从别的环境获取。于是就需要进行离线镜像复制,打包,上传,重新导入…

时序预测 | Matlab实现BiTCN-GRU双向时间卷积神经网络结合门控循环单元时间序列预测

时序预测 | Matlab实现BiTCN-GRU双向时间卷积神经网络结合门控循环单元时间序列预测 目录 时序预测 | Matlab实现BiTCN-GRU双向时间卷积神经网络结合门控循环单元时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现BiTCN-GRU双向时间卷积神经网络结…

Tkinter 一文读懂

Tkinter 简介 Tkinter(即 tk interface,简称“Tk”)本质上是对 Tcl/Tk 软件包的 Python 接口封装,它是 Python 官方推荐的 GUI 工具包,属于 Python 自带的标准库模块,当您安装好 Python 后,就可…

AI新工具(20240322) 免费试用Gemini Pro 1.5;先进的AI软件工程师Devika;人形机器人Apptronik给你打果汁

✨ 1: Gemini Pro 1.5 免费试用Gemini Pro 1.5 Gemini 1.5 Pro是Gemini系列模型的最新版本,是一种计算高效的多模态混合专家(MoE)模型。它能够从数百万个上下文Token中提取和推理细粒度信息,包括多个长文档和数小时的视频、音频…

R语言逻辑回归与lasso模型

一、数据描述 数据集heart_learning.csv与heart_test.csv是关于心脏病的数据集,heart_learning.csv是训练数据集,heart_test.csv是测试数据集。 变量名称变量说明age年龄sex性别,取值1代表男性,0代表女性pain 胸痛的类型&#x…

SQLiteC/C++接口详细介绍sqlite3_stmt类(十二)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(十一) 下一篇: SQLiteC/C接口详细介绍sqlite3_stmt类(十三) 48、sqlite3_stmt_isexplain sqlite3_stmt_is…

Django日志(四)

一、Filters介绍 过滤器用于从logger传递给handler的哪些日志要做额外控制 默认情况下,满足日志级别的任何消息都将处理。只要级别匹配,任何日志消息都会被处理。不过,也可以通过添加 filter 来给日志处理的过程增加额外条件。例如,可以添加一个 filter 只允许某个特定来源…

手机网页关键词视频爬虫采集软件可导出视频分享链接|视频无水印批量下载工具

全新音视频批量下载工具,为您解放视频管理烦恼! 现如今,音上涌现出大量精彩的视频内容,但是要想高效地获取、管理和分享这些视频却是一件颇具挑战的事情。针对这一难题,我们自主研发了全新的音视频批量下载工具&#x…

什么是单点登录?

单点登录(Single Sign On,简称 SSO)简单来说就是用户只需在一处登录,不用在其他多系统环境下重复登录。用户的一次登录就能得到其他所有系统的信任。 为什么需要单点登录 单点登录在大型网站应用频繁,比如阿里旗下有淘…

B-tree - 深度解析+C语言实现+opencv绘图助解

B-tree - 深度解析C语言实现opencv绘图助解 1. 概述2. B-tree介绍3. Btree算法实现3.1 插入3.1.1 排序3.1.2 分裂1) 叶子节点的分裂2) 根节点的分裂(特殊的分裂)3) 内节点的分裂 3.2 删除3.2.1 再平衡(Rebalance)左旋右旋合并 3.2…

蓝桥杯 2022 省B 积木画

这是个典型的动态规划问题,重点在于找到他的递推方程。 可简单算出填满第0 1 2 3 4列个数为0 1 2 5 11; 运气好点,找到递推公式dp[i]2*dp[i-1]dp[i-3]; 直接解决了。 但我们还是按照动态规划一步一步来。 思路分析: 状态定义&a…

css3鼠标悬停图片特效,图片悬停效果源码

特效介绍 css3鼠标悬停图片特效,图片悬停效果源码,可以在网页上面作为自己的动态加载名片,放到侧边栏或者网站合适的位置即可 动态效果 代码下载 css3鼠标悬停图片特效,图片悬停效果源码