当前位置: 首页 > news >正文

蛇形卷积介绍

蛇形卷积常用于特征提取模块的改进  ----  适用于细长微弱的局部结构特征与复杂多变的形态特征(将应用于管状结构上的动态蛇形卷积移植到杂草识别上)

管状目标分割的特点细长且复杂,标准卷积、空洞卷积无法根据目标特征调整关注区域,可变形卷积可以根据特征自适应学习感兴趣区域,但是对于管状目标,可变形卷积无法限制关注区域的连通性,而动态蛇形卷积则可变形卷积的基础上,限制了关注区域的连通性

在动态蛇形卷积中引入变形偏移△,对于可变形卷积模型被完全自由的学习偏移,感知场往往会偏离目标,特别是在处理一些细长复杂多变的目标,因此蛇形卷积采用迭代策略,依次选择每个要处理目标的下一个位置进行观察,从而确保了观察连续性,不会由于大的偏移将感知范围扩散的太远,我们将连续性约束加入卷积核的设计中,每一个卷积卷积位置都由前一个位置为基准,自由选择摆动方向,从而在自由选择的同时确保感受的连续性

卷积核咋蛇变呢??

普通的卷积核比如(3*3)的格子位置是规整的,但动态蛇形卷积要让这些格子“蛇形”排列,所以得从新算每一个格子的位置

位置算法----累加偏移的过程

从中心格子开始,往外扩展时,每个新格子的位置 = 前一个格子位置+偏移量(△,在范围在(1,-1))

比如计算x轴方向

中心是(xi,yj),往右边扩展(+c方向),每个新格子的y坐标要把之前的偏移(△y)累加

往左扩展(-c方向)同理,也是累加偏移

计算y轴格子位置同理

简单来说:从中心出发,每一步走的时候,把偏移一点点加上,让卷积核格子蛇形扭起来。

将C3_Snake替换掉我们YOLOv5里原来的C3特征提取模块,让模型更好的提取特征

左边模块(Bottlenck_D+C3_Snake)

Input(输入):将图像数据丢进去

Conv(普通卷积)+DySnakeConv(动态蛇形卷积):两条分支,一条普通卷积,另一条用动态蛇形卷积(更灵活提取数据特征)

合并:两次合并,最后输出,第一次合并普通卷积+动态蛇形卷积,第二次卷积,在第一次合并的基础上+原始数据

普通卷积稳住基本盘,动态蛇形卷积(更灵活提取)两者一结合更厉害

右边模块(多分枝+拼接)

Input输入

Conv+DSConv(动态蛇形卷积*2),三条分支,不同分支抓住不同的特征

Concat(拼接):把三条分支的结果“并排拼起来”,在用一次普通卷积整理,最后输出

用不同的卷积分支广撒网抓特征,抓住的特征拼起来,在经过一次普通卷积让模型拿到更全面的信息

http://www.dtcms.com/a/312706.html

相关文章:

  • Spring Cloud微服务中的内存泄漏问题定位与解决方案
  • 【Unity】背包系统 + 物品管理窗口 (上)
  • 7.13.B+树
  • 【机器学习】线性回归算法详解:线性回归、岭回归、Lasso回归与Elastic Net
  • [AI8051U入门第十四步]W5500实现UDP通信
  • 第六章第三节 TIM 输出比较
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现各类垃圾的分类检测识别(C#代码UI界面版)
  • 学习游戏制作记录(实现克隆攻击的克隆复制和水晶代替克隆)8.3
  • 机器学习——下采样(UnderSampling),解决类别不平衡问题,案例:逻辑回归 信用卡欺诈检测
  • LangChain缓冲记忆组件的使用与解析
  • 决策树学习全解析:从理论到实战
  • 数据结构:在链表中插入节点(Inserting in a Linked List)
  • 回归的wry
  • 浅谈Python中的os.environ:环境变量交互机制
  • Uniapp一根数据线实现真机调试运行【uniapp如何把项目运行在手机上】
  • io_submit系统调用及示例
  • 基于springboot的在线考试系统/考试信息管理平台
  • Suno的100个高质量歌词元标签(MetaTags)详解与使用指南
  • SpringBoot3.x入门到精通系列:2.4 RESTful API设计
  • 电脑声音标志显示红叉的原因
  • Spring Batch的2种STEP定义方式
  • spring-ai-alibaba 学习(二十)——graph之检查点
  • VUE2 学习笔记16 插槽、Vuex
  • 大屏项目展示
  • python学智能算法(三十一)|SVM-Slater条件理解
  • 【MySQL进阶】------MySQL程序
  • 全排列二(回溯算法)
  • 位图:用bit改变存储格局
  • Linux 文件与目录操作命令宝典
  • Apache Shenyu 本地启动及快速入门