当前位置: 首页 > 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.xdnf.cn/news/1234207.html

相关文章:

  • AVDTP Media Packet 报文深度解析:蓝牙音频流的幕后功臣
  • Celery-分布式任务队列
  • linux2.6 和 unix-v6 源码实验
  • K8S服务发现原理及开发框架的配合
  • 利用AI渲染技术提升元宇宙用户体验的技术难点有哪些?
  • 语义分割--deeplabV3+
  • Navicat连接远程服务器上的mysql
  • ubuntu24.04安装selenium、chrome、chromedriver
  • elk快速部署、集成、调优
  • [Oracle] TO_DATE()函数
  • 二叉树算法之【前序遍历】
  • GitOps:云原生时代的革命性基础设施管理范式
  • 每日五个pyecharts可视化图表-bars(2)
  • Python Seaborn【数据可视化库】 全面讲解
  • 基于图像识别与分类的中国蛇类识别系统
  • k8s日志收集
  • zookeeper常见命令和常见应用
  • SpringBoot学习总结
  • python学智能算法(三十一)|SVM-Slater条件理解
  • Vim编辑器详解:从入门到高效使用
  • 【Unity】背包系统 + 物品管理窗口 (上)
  • 【一天一个知识点】RAG遇见推理
  • 谷歌开源Agent框架ADK快速入门
  • 前端应用权限设计面面观
  • 防御综合实验
  • 【0基础PS】PS工具详解--图案图章工具
  • 安灯系统(Andon System)
  • 【昇腾推理PaddleOCR】生产级部署方式
  • SpringBoot与TurboGears2跨栈、整合AI服务、智能客服路由系统整合实战
  • FreeRTOS源码分析二:task启动(RISCV架构)