YOLOv8改进 - 注意力篇 - 引入SCAM注意力机制

一、本文介绍

作为入门性篇章,这里介绍了SCAM注意力在YOLOv8中的使用。包含SCAM原理分析,SCAM的代码、SCAM的使用方法、以及添加以后的yaml文件及运行记录。

二、SCAM原理分析

SCAM官方论文地址:SCAM文章

SCAM官方代码地址:SCAM代码

SCAM注意力机制(空间上下文感知模块):

空间上下文感知模块(SCAM)在FEM和FFM之后,特征映射已经考虑了局部上下文信息,并且能够很好地表示小对象特征。在此阶段对小目标和背景之间的全局关系进行建模比在主干阶段更有效。利用全局上下文信息来表示像素之间的跨空间关系,可以抑制无用背景,增强目标和背景的区分能力。受GCNet和SCP的启发,SCAM由三个分支组成。第一个部分使用GAP和GMP整合全球信息。第二个分支使用1 × 1卷积生成特征映射的线性变换结果,该特征映射在图4中称为value。第三个分支使用1 × 1卷积来简化查询和键的倍数。这个卷积在图4中称为QK。随后,将第一分支和第三分支分别与第二分支矩阵相乘。得到的两个分支分别表示跨通道和空间的上下文信息。最后,利用广播Hadamard积在这两个分支上得到了SCAM的输出。

相关代码:

SCAM注意力的代码,如下。


class Conv_withoutBN(nn.Module):
    # Standard convolution with args(ch_in, ch_out, kernel, stride, padding, groups, dilation, activation)
  
### YOLOv8 内置跟踪器工作原理 YOLOv8 的内置跟踪器基于检测模型的结果实现多目标跟踪功能。该跟踪器主要依赖于SORT (Simple Online and Realtime Tracking)算法及其变体Deep SORT来关联不同帧中的物体实例[^1]。 - **SORT算法**:通过卡尔曼滤波预测目标位置,并利用IOU(Intersection over Union)度量匹配当前帧的检测框与前一时刻的目标状态估计值之间的相似程度。当新出现的对象无法找到合适的匹配项时,则创建新的轨迹;如果现有轨迹连续几帧未更新则被删除。 - **Deep SORT扩展**:引入外观特征描述子以增强区分能力,防止因遮挡或重叠造成的ID切换问题。通常采用预训练好的ResNet提取每一步骤中候选区域对应的表观向量,在计算代价函数时综合考虑运动学先验和视觉相似性得分来进行更鲁棒的身份分配决策过程[^2]。 对于YOLOv8而言,默认配置下可能集成了上述两种策略之一作为基础框架,同时针对具体应用场景做了优化调整,比如改进后的空间上下文感知模块(SCAM),有助于提升小尺寸移动实体识别精度以及减少误报率等问题[^3]。 ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') # 加载YOLOv8 nano版本权重文件 results = model.track(source='path/to/video.mp4', show=True, tracker="bytetrack.yaml") # 启动视频流并开启追踪模式 ``` 这段代码展示了如何加载一个预先训练过的YOLOv8模型并对给定路径下的视频执行对象检测与实时跟踪操作。`track()` 方法允许指定不同的跟踪算法配置文件(`tracker`)参数来自定义行为特性,例如使用ByteTrack替代默认选项可以获得更好的性能表现。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值