💡💡💡本文创新:魔改SimAM注意力,引入切片操作,增强小目标特征提取能力
💡💡💡问题点:SimAM计算整张特征图的像素差平均值时加权可能会忽略小目标的重要性,同时与整体平均值相比可能和背景信息相似,导致加权增强较弱,进而使得SimAM对小目标的增强能力较差。
💡💡💡本文内容:通过魔改SimAM注意力提升YOLO11-seg的分割能力
💡💡💡Mask mAP50 从原始的0.673 提升至0.681
《YOLOv11魔术师专栏》将从以下各个方向进行创新:
【原创自研模块】【多组合点优化】【注意力机制】【卷积魔改】【block&多尺度融合结合】【损失&IOU优化】【上下采样优化 】【小目标性能提升】【前沿论文分享】【训练实战篇】
【pose关键点检测】【yolo11-seg分割】
定期向订阅者提供源码工程,配合博客使用。
订阅者可以申请发票,便于报销
💡💡💡为本专栏订阅者提供创新点改进代码,改进网络结构图,方便paper写作!!!
💡💡💡适用场景:红外、小目标检测、工业缺陷检测、医学影像、遥感目标检测、低对比度场景
💡💡💡适用任务:所有改进点适用【检测】、【分割】、【pose】、【分类】等
💡💡💡全网独家首发创新,【自研多个自研模块】,【多创新点组合适合paper 】!!!
☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️
包含注意力机制魔改、卷积魔改、检测头创新、损失&IOU优化、block优化&多层特征融合、 轻量级网络设计、24年最新顶会改进思路、原创自研paper级创新等
🚀🚀🚀 本项目持续更新 | 更新完结保底≥80+ ,冲刺100+ 🚀🚀🚀
🍉🍉🍉 联系WX: AI_CV_0624 欢迎交流!🍉🍉🍉
⭐⭐⭐专栏涨价趋势 159 ->199->259->299,越早订阅越划算⭐⭐⭐
💡💡💡 2024年计算机视觉顶会创新点适用于Yolov5、Yolov7、Yolov8、Yolov9等各个Yolo系列,专栏文章提供每一步步骤和源码,轻松带你上手魔改网络 !!!
💡💡💡重点:通过本专栏的阅读,后续你也可以设计魔改网络,在网络不同位置(Backbone、head、detect、loss等)进行魔改,实现创新!!!
☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️ ☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️☁️
1.YOLO11介绍
Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。
Segmentation 官方在COCO数据集上做了更多测试:
2.数据集介绍
道路裂纹分割数据集是一个全面的4029张静态图像集合,专门为交通和公共安全研究而设计。它非常适合自动驾驶汽车模型开发和基础设施维护等任务。该数据集包括训练、测试和验证集,有助于精确的裂缝检测和分割。
训练集3712张,验证集200张,测试集112张
标签可视化:
3.如何训练YOLO11-seg模型
3.1 修改 crack-seg.yaml
# Ultralytics YOLO 🚀, AGPL-3.0 license # Crack-seg dataset by Ultralytics # Documentation: https://docs.ultralytics.com/datasets/segment/crack-seg/ # Example usage: yolo train data=crack-seg.yaml # parent # ├── ultralytics # └── datasets # └── crack-seg ← downloads here (91.2 MB) # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: D:/ultralytics-seg/data/crack-seg # dataset root dir train: train/images # train images (relative to 'path') 3717 images val: valid/images # val images (relative to 'path') 112 images test: test/images # test images (relative to 'path') 200 images # Classes names: 0: crack
3.2 如何开启训练
import warnings warnings.filterwarnings('ignore') from ultralytics import YOLO if __name__ == '__main__': model = YOLO('ultralytics/cfg/models/11/yolo11-seg.yaml') #model.load('yolov8n.pt') # loading pretrain weights model.train(data='data/crack-seg.yaml', cache=False, imgsz=640, epochs=200, batch=16, close_mosaic=10, device='0', optimizer='SGD', # using SGD project='runs/train', name='exp', )
3.3 训练结果可视化
YOLO11-seg summary (fused): 265 layers, 2,834,763 parameters, 0 gradients, 10.2 GFLOPs Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 7/7 [00:07<00:00, 1.06s/it] all 200 249 0.83 0.784 0.816 0.632 0.746 0.707 0.673 0.228
Mask mAP50 为 0.673
MaskPR_curve.png
BoxPR_curve.png
3.4 魔改SimAM
原文链接:YOLOv11全网首发:注意力独家魔改 | 具有切片操作的SimAM注意力,魔改SimAM助力小目标检测-CSDN博客
摘要:SimAM是一个无神经网络的特征增强模块,具有轻量级的优点,且在提升识别性能方面有潜力,基于此我们设计了新模块sws,之所以加入切片操作是因为SimAM计算整张特征图的像素差平均值时加权可能会忽略小目标的重要性,小目标在航拍图像中占比比较小,与整体平均值相比可能和背景信息相似,导致加权增强较弱,进而使得SimAM对小目标的增强能力较差。
因此我们引入了切片操作,当特征图被切成不同的块后,大目标由于其纹理特征明显会影响所在块的平均值,导致其获得的额外加权减少,而合并特征图后,大目标依然可以保持高可识别度甚至获得进一步增强;而小目标的特征与局部平均值差距更大,从而获得更多加权,小目标特征得到增强,即sws模块保证了大、小目标都获得了公正的关注和增强。
YOLO11-seg-Conv_SWS summary (fused): 293 layers, 2,835,451 parameters, 0 gradients, 10.2 GFLOPs Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100%|██████████| 7/7 [00:08<00:00, 1.20s/it] all 200 249 0.856 0.759 0.814 0.645 0.783 0.666 0.681 0.236
Mask mAP50 从原始的0.673 提升至0.681