目标检测算法——YOLOv5/YOLOv7改进之结合CBAM注意力机制
深度学习Tricks,第一时间送达
论文题目:《CBAM: Convolutional Block Attention Module》
论文地址: https://arxiv.org/pdf/1807.06521.pdf
实验证明,将CBAM注意力模块嵌入到YOLOv5网络中,有利于解决原始网络无注意力偏好的问题。近期较忙,想要代码的小伙伴请私信~
CBAM注意力结构基本原理:从上图明显可以看到, CBAM一共包含2个独立的子模块, 通道注意力模块(Channel Attention Module,CAM) 和空间注意力模块(Spartial Attention Module,SAM) ,分别进行通道与空间维度上的注意力特征融合。 这样不只能够节约参数和计算力,并且保证了其能够做为即插即用的模块集成到现有的网络架构中去。
那对应YOLOv5结合CBAM需要修改哪些地方:
1.common.py
加入CBAM代码
class ChannelAttentionModule(nn.Module):def __init__(self, c1, reduction=16):super(ChannelAttentionModule, self).__init__()mid_channel = c1 // reductionself.avg_pool = nn.AdaptiveAvgPool2d(1)self.max_pool = nn.AdaptiveMaxPool2d(1)self.shared_MLP = nn.Sequential(nn.Linear(in_features=c1, out_features=mid_channel),nn.ReLU(),nn.Linear(in_features=mid_channel, out_features=c1))self.sigmoid = nn.Sigmoid()#self.act=SiLU()def forward(self, x):avgout = self.shared_MLP(self.avg_pool(x).view(x.size(0),-1)).unsqueeze(2).unsqueeze(3)maxout = self.shared_MLP(self.max_pool(x).view(x.size(0),-1)).unsqueeze(2).unsqueeze(3)return self.sigmoid(avgout + maxout)
class SpatialAttentionModule(nn.Module):def __init__(self):super(SpatialAttentionModule, self).__init__()self.conv2d = nn.Conv2d(in_channels=2, out_channels=1, kernel_size=7, stride=1, padding=3) #self.act=SiLU()self.sigmoid = nn.Sigmoid()def forward(self, x):avgout = torch.mean(x, dim=1, keepdim=True)maxout, _ = torch.max(x, dim=1, keepdim=True)out = torch.cat([avgout, maxout], dim=1)out = self.sigmoid(self.conv2d(out))return outclass CBAM(nn.Module):def __init__(self, c1,c2):super(CBAM, self).__init__()self.channel_attention = ChannelAttentionModule(c1)self.spatial_attention = SpatialAttentionModule()def forward(self, x):out = self.channel_attention(x) * xout = self.spatial_attention(out) * outreturn out
2.yolo.py
找到相应位置,加入CBAM。
if m in [Conv, GhostConv, Bottleneck, GhostBottleneck, SPP,
DWConv, MixConv2d, Focus, CrossConv, BottleneckCSP, C3, C3TR, CBAM]:
3.yolov5s.yaml
根据实际训练效果,在配置文件中的C3模块后面适当添加CBAM注意力模块,过程中注意通道数和网络层数的变化(注:不同添加位置效果可能不大一样)。综上,YOLOv5结合注意力结构就大功告成了!!!
目标检测算法——YOLOv5/YOLOv7改进之结合CBAM注意力机制相关推荐
- 目标检测算法——YOLOv5/YOLOv7改进之结合GAMAttention
>>>深度学习Tricks,第一时间送达<<< 目录 超越CBAM,全新注意力GAM:不计成本提高精度! (一)前沿介绍 1.GAM结构图 2.相关实验结果 (二) ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合PP-LCNet(轻量级CPU网络)
>>>深度学习Tricks,第一时间送达<<< 目录 PP-LCNet--轻量级且超强悍的CPU级骨干网络!! (一)前沿介绍 1.PP-LCNet主要模块 2. ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合SOCA(单幅图像超分辨率)
>>>深度学习Tricks,第一时间送达<<< 目录 CVPR19 单幅图像超分辨率来了!!! (一)前沿介绍 论文题目:Second-order Attentio ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合RepVGG(速度飙升)
>>>深度学习Tricks,第一时间送达<<< 目录 RepVGG--极简架构,SOTA性能!!! (一)前沿介绍 1.RepVGGBlock模块 2.相关实验结果 ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)
>>>深度学习Tricks,第一时间送达<<< 目录 (一)前言介绍 1.摘要 2.不同注意力步骤比较 (二)相关实验 (三)YOLOv5结合无参注意力SimAM ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合轻量化网络MobileNetV3(降参提速)
>>>深度学习Tricks,第一时间送达<<< 论文题目:Searching for MobileNetV3 论文地址:https://arxiv.org/abs/ ...
- 目标检测算法——YOLOv5/YOLOv7改进之结合BiFPN
>>>深度学习Tricks,第一时间送达<<< 论文题目:<EfficientDet: Scalable and Efficient Object Detec ...
- 目标检测算法——YOLOv5/YOLOv7改进|将IOU Loss替换为EIOU Loss
>>>深度学习Tricks,第一时间送达<<< 论文题目:<Focal and Efficient IOU Loss for Accurate Boundin ...
- 目标检测算法——YOLOv5/YOLOv7改进结合轻量型Ghost模块
>>>深度学习Tricks,第一时间送达<<< 论文题目:<GhostNet:More Features from Cheap Operations> ...
最新文章
- 潘建伟团队进行人类首次洲际量子通信,给奥地利发去了什么?
- linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题
- 恒丰银行深夜紧急澄清!“我行与建设银行的报道严重不实”!恒丰银行称目前自身经营稳定有序
- 通过GetProcAddress函数动态调用dll中地函数,是否必须通过extern C声明导出函数?(转)...
- OD使用教程3(下) - 调试篇03|解密系列
- 漫话:如何给女朋友解释什么是删库跑路?
- 奥迪推出大型自动驾驶数据集A2D2
- 机试题:地图定位、拍照并显示、录制视频并播放
- centos虚拟机克隆
- Vue学习笔记(六)
- 发那科oimf是什么时候出的_请问下FANUC Oi-MF系统怎么把卡里的程序传到机床里面?...
- MyEclipse配色
- 单片机c语言曲普两只蝴蝶,51曲谱网_51单片机简谱编码
- 【Chinapub读书会第9期】5月28日赵鑫磊带你深入解析Linux
- Eclipse中开发测试脚本
- EXCEL去掉所有英文
- python 刷b站点击量_python + selenium 刷B站播放量的实例代码
- 运筹与决策(二)excel画图、公式与函数用法
- 【Unity3D日常开发】灯光系统,太阳光晕效果实现
- mysql 人名_jsp为什么按人名查询mysql结果不显示在页面上?可以
热门文章
>>>深度学习Tricks,第一时间送达<<< 目录 超越CBAM,全新注意力GAM:不计成本提高精度! (一)前沿介绍 1.GAM结构图 2.相关实验结果 (二) ...
>>>深度学习Tricks,第一时间送达<<< 目录 PP-LCNet--轻量级且超强悍的CPU级骨干网络!! (一)前沿介绍 1.PP-LCNet主要模块 2. ...
>>>深度学习Tricks,第一时间送达<<< 目录 CVPR19 单幅图像超分辨率来了!!! (一)前沿介绍 论文题目:Second-order Attentio ...
>>>深度学习Tricks,第一时间送达<<< 目录 RepVGG--极简架构,SOTA性能!!! (一)前沿介绍 1.RepVGGBlock模块 2.相关实验结果 ...
>>>深度学习Tricks,第一时间送达<<< 目录 (一)前言介绍 1.摘要 2.不同注意力步骤比较 (二)相关实验 (三)YOLOv5结合无参注意力SimAM ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:Searching for MobileNetV3 论文地址:https://arxiv.org/abs/ ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:<EfficientDet: Scalable and Efficient Object Detec ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:<Focal and Efficient IOU Loss for Accurate Boundin ...
>>>深度学习Tricks,第一时间送达<<< 论文题目:<GhostNet:More Features from Cheap Operations> ...