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

CCViM Block(上下文聚类视觉曼巴模块),通过多方向扫描(水平 / 垂直 / 翻转)提取目标延展特征,结合聚类层对边界点的动态聚合,提升目标的定位能力

        传统视觉模型在处理复杂场景时面临 “全局依赖捕获不足” 与 “局部细节丢失” 的双重挑战:CNN 受限于局部感受野,难以建模长距离关系;Transformer 虽能处理全局依赖,却存在二次计算复杂度问题。CCViM Block(上下文聚类视觉曼巴模块)基于 Vision Mamba 架构,通过动态上下文聚类与多方向扫描的结合,在保持线性计算效率的同时,实现全局与局部特征的协同建模,尤其适用于医学、遥感等对空间上下文敏感的领域。

1.CCViM Block原理

       CCViM Block 的核心原理是将图像特征视为动态点集,通过自适应聚类选择性状态空间扫描实现特征优化:

        动态聚类:将特征点按语义相似性聚合成若干中心(如 4 或 25 个),聚合邻域信息的同时减少冗余计算;

       多方向扫描:借鉴 Mamba 的线性状态空间模型,沿水平、垂直等方向提取长距离依赖,通过选择性机制动态组合最优扫描路径;

         双分支融合:通过残差结构融合通道语义与空间上下文,平衡特征表达能力与计算效率。

CCViM Block 采用双分支残差架构:

 1. 线性变换分支:通过 1×1 卷积调整特征维度,捕获通道间关联;

 2. 空间上下文分支

          深度卷积层:提取局部空间特征;

        CCS6 层:核心模块,包含 4 个扫描方向(水平 / 垂直 / 翻转)与 2 种聚类配置(4/25 中心),通过门控机制选择 4 种操作融合;

 3. 归一化与残差连接:通过 LayerNorm 稳定训练,并通过残差连接保留原始特征信息。

2. CCViM Block习作思路

医学领域

在医学图像分割中,CCViM Block 通过动态聚类强化病灶局部细节(如细胞核边界、肿瘤边缘),同时利用多方向扫描捕获解剖结构的全局关联(如器官位置关系)。

遥感领域

针对遥感影像中地物尺度差异大的特点,CCViM Block 以 4 个聚类中心聚合农田、森林等大面积同质区域特征,以 25 个中心捕获城市建筑、道路等异质纹理,结合经纬方向扫描提取地物分布模式。

缺陷检测领域

工业缺陷检测中,CCViM Block 通过水平 - 垂直翻转扫描强化划痕、裂纹等线性缺陷的延展特征,利用 4 个聚类中心突出缺陷区域的纹理突变点,抑制背景干扰。

农业领域

农业场景中,CCViM Block 通过动态聚类适应作物冠层密度变化:4 个中心捕获整齐作物行的全局分布,25 个中心细化单株叶片纹理,结合行列扫描整合农田布局信息,尤其在遮挡条件下对病斑边界的定位能力显著优于传统方法。

3. YOLO与CCViM Block的结合    

        将 CCViM Block 与 YOLO 结合,可在保持 YOLO 实时检测效率的基础上,通过动态上下文建模强化多尺度目标的特征表达,具体优势如下:

1. 多尺度目标检测精度提升

        CCViM Block 的动态聚类机制能自适应聚合不同尺度目标的特征 —— 对小目标(如医学影像中的微小结节、遥感图像中的小型车辆),通过增加聚类中心数量(如 25 个)捕捉细节纹理;对大目标(如工业场景中的大型构件缺陷、农田中的整片作物区域),以少聚类中心(如 4 个)整合全局上下文。这种机制弥补了 YOLO 在跨尺度检测时的特征失衡问题。

2. 边界定位与轮廓完整性优化

        CCViM Block 通过多方向扫描(水平 / 垂直 / 翻转)提取目标延展特征,结合聚类层对边界点的动态聚合(如强化医学病灶、工业缺陷的边缘特征点),使检测框更贴合真实轮廓。

4.CCViM Block代码部分

CCViM:Context Clustering Vision Mamba上下文聚类视觉曼巴模型,自适应聚合不同尺度的目标特征(如小目标的细节与大目标的全局上下_哔哩哔哩_bilibili

YOLOv11模型改进讲解,教您如何根据自己的数据集选择最优的模块提升精度_哔哩哔哩_bilibili

 代码获取:YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

5. CCViM Block到YOLOv11中

第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。

            ​​​​​​    

第二:在task.py中导入

 ​​​                  

第三:在task.py中的模型配置部分下面代码

                     

第四:将模型配置文件复制到YOLOV11.YAMY文件中

          

      ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码​​​​​​​

from sympy import falsefrom ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld
import torch
if __name__=="__main__":# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型model = YOLO("/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/models/11/yolo11_ccvim.yaml")\# .load(r'E:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt')  # build from YAML and transfer weightsresults = model.train(data="/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/datasets/VOC_my.yaml",epochs=300,imgsz=640,batch=4,# cache = False,# single_cls = False,  # 是否是单类别检测# workers = 0,# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',amp = False)

 

http://www.lryc.cn/news/579974.html

相关文章:

  • Python爬虫 模拟登录状态 requests版
  • Vue2中的keep-alive:组件状态缓存与性能优化实战指南
  • Linux 如何上传本地文件以及下载文件到本地命令总结
  • Linux探秘坊-------13.进程间通信
  • 五、Flutter动画
  • 【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
  • 【Git】git命令合集
  • 网安系列【4】之OWASP与OWASP Top 10:Web安全入门指南
  • Rust 闭包
  • 暴雨服务器成功中标华中科技大学集成电路学院服务器采购项目
  • 封装一个png的编码解码操作
  • 数据库位函数:原理、应用与性能优化
  • 企业该怎么做竞争分析?一文了解
  • Linux-进程概念(3)
  • 【WEB】Polar靶场 6-10题 详细笔记
  • 类图+案例+代码详解:软件设计模式----原型模式
  • vue3 el-table 行筛选 设置为单选
  • 电商分拣的“效率密码”:艾立泰轻量化托盘引领自动化流水线革新
  • vue3 获取选中的el-table行数据
  • 【WRFDA第三期】OBSPROC namelist 变量总结
  • Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
  • OpenCV中DPM(Deformable Part Model)目标检测类cv::dpm::DPMDetector
  • 前端基础知识Webpack系列 - 03(webpack中常见的Loader?解决了什么问题?)
  • STM32CubeMX教程1 实现点灯点灯
  • 量化开发(系列第3篇): C++在高性能量化交易中的核心应用与技术栈深度解析
  • 三态逻辑详解:单片机GPIO、计算机总线系统举例
  • 【python实用小脚本-128】基于 Python 的 Hacker News 爬虫工具:自动化抓取新闻数据
  • RK-Android11-性能优化-限制App内存上限默认512m
  • 基于Hadoop的公共自行车数据分布式存储和计算平台的设计与实现
  • 如何调节笔记本电脑亮度?其实有很多种方式可以调整亮度