yolov5项目增加注意力机制

1. 添加步骤

1.1 models/common.py 加入新增的网络结构

1.2 在models/yolo.py注册组件

1.3 models/yolov5_xxx.yaml 新建一个文件夹,修改模型结构配置

1.3.1 注意力模块的添加位置

注意力机制可以添加在backbone,Neck,Head等部分,常见的有两种,一种是在主干的SPPF前添加一层;二是将backbone中的C3全部替换。不同的位置效果可能不同,需要我们用数据集反复测试。

这就是所谓的调参

1.3.2 修改后续层的参数

当在网络中添加了新的层之后,该层后续层的编号会发生变化。

1. Concat

如原本Concat层的系数也要修改,[-1, 14],[-1, 10] -> [-1, 15], [-1, 11]

2. Detect

同样Detec指定的是[17, 20, 23]层,在添加了SE注意力层之后,就需要对Detect进行修改,[17, 20, 23] -> [18, 21, 24]

1.4 验证是否加入成功

1.5 train.py 修改'--cfg'默认参数,训练时指定模型结构配置文件

2. 增加SE注意力机制

2.1 新增SE模块

放在common.py中

2.2 注册组件

yolo.py

2.3 创建yolov5s_SE.yaml文件

2.3.1 将SE模块写入第9层

2.3.2 修改后续层的参数

Concat

改为

Detect

更改为

3. 验证是否加入成功

修改yolo.py

运行yolo.py 第9层成功加入SE模块

4. 修改train.py

相关推荐
微臣愚钝27 分钟前
深度学习-简介
人工智能
tonngw31 分钟前
TensorFlow 基本原理与使用场景
人工智能·python·tensorflow
Matrix_111 小时前
论文阅读:Deep Hybrid Camera Deblurring for Smartphone Cameras
人工智能·计算摄影
jndingxin1 小时前
OpenCV计算摄影学(21)非真实感渲染之边缘保留滤波器edgePreservingFilter()
人工智能·opencv·计算机视觉
美狐美颜sdk1 小时前
跨平台直播美颜SDK开发指南:如何兼容iOS、Android与Web
人工智能·深度学习·美颜sdk·视频美颜sdk·美颜api
Sheakan1 小时前
【NeurIPS 2024】LLM-ESR:用大语言模型破解序列推荐的长尾难题
人工智能·语言模型·自然语言处理
Francek Chen1 小时前
【通义千问】蓝耘智算 | 智启未来:蓝耘MaaS×通义QwQ-32B引领AI开发生产力
人工智能·开源·aigc·通义千问
wjpwjpwjp08311 小时前
【3D视觉学习笔记2】摄像机的标定、畸变的建模、2D/3D变换
人工智能·笔记·深度学习·学习·计算机视觉·3d
Elastic 中国社区官方博客2 小时前
Elasticsearch:为推理端点配置分块设置
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索