基于YOLOv11m_GAM_Attention的肺结节检测系统
项目结构
本项目基于Ultralytics官方代码进行改进,目录结构如下:
lung-nodule-detection/ │ ├── app.py # Flask应用程序主入口 ├── detect.py # YOLO检测模块 ├── best.pt # 预训练权重文件(基于YOLOv11训练得到) ├── requirements.txt # 项目依赖文件 │ ├── static/ # 静态资源目录 │ ├── uploads/ # 用户上传图像存储 │ ├── results/ # 检测结果存储 │ ├── images/ # 系统图片资源 │ │ └── yolov11.jpg # 系统背景图 │ └── fonts/ # 字体文件 │ └── simhei.ttf # 中文字体文件 │ └── templates/ # 前端模板 ├── index.html # 主界面模板 └── exit.html # 退出页面模板
功能特点
本系统具备以下核心功能:
- 图像上传:支持PNG/JPG/JPEG格式的肺部CT图像
- 智能检测:采用YOLOv11m_GAM_Attention模型进行肺结节检测
- 可视化展示:
- 标注目标框、类别和置信度的检测图像
- 实时检测耗时统计
- 目标数量统计
- 数据输出:
- 目标位置坐标(xmin, ymin, xmax, ymax)
- 目标类别及置信度详情
- 可导出CSV格式的检测报告
安装与运行
环境部署步骤:
- 安装依赖:
pip install -r requirements.txt
- 文件准备:
- 将GAMA_YOLO11m模型权重置于项目根目录
- 中文字体放入
static/fonts/目录
- 创建必要目录:
mkdir -p static/uploads static/results static/fonts
- 启动服务:
python app.py
- 访问系统:
http://localhost:5000
使用说明
- 通过主页"选择文件"按钮上传CT图像
- 系统自动处理并显示检测结果
- 功能操作区:
- 使用目标选择器切换查看不同检测目标
- 查看底部详细检测数据表格
- 点击"保存"导出CSV报告
- 点击"退出"安全关闭系统
YOLOv11m_GAM_Attention模型
性能对比表:
| 模型 | 输入尺寸 | mAP50 | mAP50-95 | 参数量(M) | FLOPs(B) |
| YOLOv11m_GAM_Attention | 640 | 0.888 | 0.587 | 23.9 | 80.2 |
| YOLO11m(基准) | 640 | 0.859 | 0.579 | 20.0 | 67.6 |
模型架构创新:
- 注意力机制设计:
- 通道注意力子模块:采用3D排列+双层MLP结构
- 空间注意力子模块:基于卷积的空间信息融合
- 技术优化:
- 避免最大池化操作以减少信息损失
- 采用分组卷积+通道混洗控制参数增长
- 在P3/P4/P5特征层均集成GAM模块
- 应用效果:
- 专为肺结节检测任务优化
- 显著提升对小目标的检测灵敏度
- 较基准模型mAP50提升3.4%