DEGConv模块引入YOLO的核心优势及解决的问题
💡💡💡问题点:YOLO在裂缝检测中面临的核心问题
1)感受野局限:标准卷积核难以捕捉裂缝的长程连续性与不规则分支结构。
2)方向性特征缺失:裂缝常沿多方向延伸,普通卷积缺乏对方向敏感的特征提取能力。
3)纹理与边缘模糊:裂缝在图像中常表现为低对比度、细线状结构,易被背景噪声淹没。
4)拓扑结构建模不足:裂缝的交叉、重叠、分叉等复杂拓扑关系难以被传统卷积有效编码。
💡💡💡总结:DEGConv通过方向先验嵌入、边缘增强卷积和动态门控三大机制,针对性解决了YOLO在处理裂缝类细长、多方向、低对比度目标时的特征提取不足问题,显著提升了裂缝检测的精度与鲁棒性。
💡💡💡本文改进:DEGConv结合YOLO26的C3k2模块,进行二次创新。
💡💡💡在crack-seg分割任务中,C3k2结合DEGConv , Mask 原始mAP50原始为0.68 提升至 0.688 , R 原始为 0.655提升至 0.683 ,Mask mAP50-95原始为0.225提升至 0.239
博主简介
AI小怪兽 | 计算机视觉布道者 | 视觉检测领域创新者
深耕计算机视觉与深度学习领域,专注于视觉检测前沿技术的探索与突破。长期致力于YOLO系列算法的结构性创新、性能极限优化与工业级落地实践,旨在打通从学术研究到产业应用的最后一公里。
1.YOLO26原理介绍
论文:https://arxiv.org/pdf/2509.25164
摘要:本研究对Ultralytics YOLO26进行了全面分析,重点阐述了其关键架构改进及其在实时边缘目标检测中的性能基准测试。YOLO26于2025年9月发布,是YOLO系列最新、最先进的成员,专为在边缘及低功耗设备上实现高效、精确且易于部署的目标而构建。本文依次详述了YOLO26的架构创新,包括:移除了分布焦点损失(DFL);采用端到端的无NMS推理;集成了渐进损失(ProgLoss)与小目标感知标签分配(STAL);以及引入了用于稳定收敛的MuSGD优化器。除架构外,本研究将YOLO26定位为多任务框架,支持目标检测、实例分割、姿态/关键点估计、定向检测及分类。我们在NVIDIA Jetson Nano与Orin等边缘设备上呈现了YOLO26的性能基准测试,并将其结果与YOLOv8、YOLOv11、YOLOv12、YOLOv13及基于Transformer的检测器进行比较。本文进一步探讨了其实时部署路径、灵活的导出选项(ONNX、TensorRT、CoreML、TFLite)以及INT8/FP16量化技术。文章重点展示了YOLO26在机器人、制造业及物联网等领域的实际应用案例,以证明其跨行业适应性。最后,讨论了关于部署效率及更广泛影响的见解,并展望了YOLO26及YOLO系列的未来发展方向。
关键词:YOLO26;边缘人工智能;多任务目标检测;无NMS推理;小目标识别;YOLO(You Only Look Once);目标检测;MuSGD优化器
分割结构框图如下:
1.1 YOLO11 vs YOLO26结构差异性
1.1.1 SPPF 核心差异对比
1)池化次数灵活性:YOLO11 的 3 次池化是硬编码的,要修改必须改源码;YOLO26 通过n参数可灵活调整(比如设为 2 次或 4 次),无需改核心逻辑。
2)Shortcut 设计:YOLO26 新增的残差连接能缓解深层网络的梯度消失问题,提升特征复用能力,而 YOLO11 无此设计。
3)激活函数控制:YOLO26 禁用 Conv1 的激活函数,让特征在池化前保持更 “原始” 的状态,是工程上对特征提取的优化。
源码位置:ultralytics/nn/modules/block.py
1.1.2 C3k2 核心差异对比
1)注意力机制的新增:YOLO26 的 C3k2 首次引入PSABlock(金字塔注意力模块),通过attn参数控制是否启用,这是两者最核心的功能差异 —— 启用后模块会先通过 Bottleneck 提取基础特征,再通过 PSABlock 增强关键区域的特征权重,提升小目标 / 复杂场景的检测效果。
2)分支逻辑的扩展:YOLO11 的分支仅受c3k控制,而 YOLO26 的分支逻辑优先级为attn > c3k,即只要attn=True,会优先启用注意力模块,忽略c3k的配置。
重复模块m (n次迭代): ┌─────────────────────────────────────────────────────────┐ │ │ │ 如果 attn=True: │ │ Sequential( │ │ Bottleneck(self.c, self.c), │ ←─ 先特征提取 │ PSABlock(self.c, attn_ratio=0.5, num_heads=...) │ ←─ 后注意力增强 │ ) │ │ │ │ 否则如果 c3k=True: │ │ C3k(self.c, self.c, 2) │ ←─ 同YOLOv11 │ │ │ 否则: │ │ Bottleneck(self.c, self.c) │ ←─ 同YOLOv11 │ │ └─────────────────────────────────────────────────────────┘
YOLO26 C3k2代码:
源码位置:ultralytics/nn/modules/block.py
1.2 YOLO26核心创新点
YOLO26引入了多项关键架构创新,使其区别于前几代YOLO模型。这些增强不仅提高了训练稳定性和推理效率,还从根本上重塑了实时边缘设备的部署流程。本节将详细描述YOLO26的四项主要贡献:(i)移除分布焦点损失(DFL),(ii)引入端到端无NMS推理,(iii)新颖的损失函数策略,包括渐进损失平衡(ProgLoss)和小目标感知标签分配(STAL),以及(iv)开发用于稳定高效收敛的MuSGD优化器。我们将详细讨论每一项架构增强,并通过对比分析突显其相对于YOLOv8、YOLOv11、YOLOv12和YOLOv13等早期YOLO版本的优势。
1.2.1 创新点1:移除分布焦点损失(DFL)
YOLO26最重要的架构简化之一是移除了分布焦点损失(DFL)模块(图3a),该模块曾存在于YOLOv8和YOLOv11等早期YOLO版本中。DFL最初旨在通过预测边界框坐标的概率分布来改进边界框回归,从而实现更精确的目标定位。虽然该策略在早期模型中展示了精度提升,但也带来了不小的计算开销和导出困难。在实践中,DFL在推理和模型导出期间需要专门处理,这使针对ONNX、CoreML、TensorRT或TFLite等硬件加速器的部署流程变得复杂。
源码位置:ultralytics/utils/loss.py
通过reg_max 设置为1,移除了分布焦点损失(DFL)
class BboxLoss(nn.Module): """Criterion class for computing training losses for bounding boxes.""" def __init__(self, reg_max: int = 16): """Initialize the BboxLoss module with regularization maximum and DFL settings.""" super().__init__() self.dfl_loss = DFLoss(reg_max) if reg_max > 1 else None
1.2.2 创新点2:端到端无NMS推理
YOLO26从根本上重新设计了预测头,以直接产生非冗余的边界框预测,无需NMS。这种端到端设计不仅降低了推理复杂度,还消除了对手动调优阈值的依赖,从而简化了集成到生产系统的过程。对比基准测试表明,YOLO26实现了比YOLOv11和YOLOv12更快的推理速度,其中nano模型在CPU上的推理时间减少了高达43%。这使得YOLO26对于移动设备、无人机和嵌入式机器人平台特别有利,在这些平台上,毫秒级的延迟可能产生重大的操作影响。
源码位置:ultralytics/utils/nms.py
1.2.3 创新点3:ProgLoss和STAL:增强训练稳定性和小目标检测
训练稳定性和小目标识别仍然是目标检测中持续存在的挑战。YOLO26通过整合两种新颖策略来解决这些问题:渐进损失平衡(ProgLoss)和小目标感知标签分配(STAL),如图(图3c)所示。
ProgLoss在训练期间动态调整不同损失分量的权重,确保模型不会过拟合于主导物体类别,同时防止在稀有或小类别上表现不佳。这种渐进式再平衡改善了泛化能力,并防止了训练后期的不稳定。另一方面,STAL明确优先为小目标分配标签,由于像素表示有限且易被遮挡,小目标尤其难以检测。ProgLoss和STAL共同为YOLO26在包含小目标或被遮挡目标的数据集(如COCO和无人机图像基准)上带来了显著的精度提升。
1.2.4 创新点4:用于稳定收敛的MuSGD优化器
YOLO26的最后一项创新是引入了MuSGD优化器(图3d),它结合了随机梯度下降(SGD)的优势与最近提出的Muon优化器(一种受大型语言模型训练中使用的优化策略启发而发展的技术)。MuSGD利用SGD的鲁棒性和泛化能力,同时融入了来自Muon的自适应特性,能够在不同数据集上实现更快的收敛和更稳定的优化。
源码位置:ultralytics/optim/muon.py
2.如何训练YOLO26分割模型
2.1 如何训练裂缝分割数据集
2.1.1 数据集介绍
裂缝分割数据集是一个为交通与公共安全研究相关人员设计的综合性资源。它对于开发自动驾驶汽车模型或探索各类计算机视觉应用也大有裨益。该数据集包含 4029 张从不同道路和墙面场景采集的静态图像,是裂缝分割任务的宝贵资产。无论您是研究交通基础设施,还是旨在提高自动驾驶系统的准确性,该数据集都为训练深度学习模型提供了丰富的图像集合。
数据集结构
《裂缝分割数据集》被组织为三个子集:
- 训练集:3717 张图像及相应的标注。
- 测试集:112 张图像及相应的标注。
- 验证集:200 张图像及相应的标注。
2.2 训练可视化对比
训练方式:
import warnings warnings.filterwarnings('ignore') from ultralytics import YOLO if __name__ == '__main__': model = YOLO('ultralytics/cfg/models/26/yolo26n-seg.yaml') #model.load('yolo26n-seg.pt') # loading pretrain weights model.train(data='data/crack-seg/crack-seg.yaml', cache=False, imgsz=640, epochs=300, batch=32, close_mosaic=10, workers=2, device='0', # optimizer='SGD', # using SGD,auto project='runs/train', name='exp', )
训练结果可视化结果
YOLO26-seg summary (fused): 139 layers, 2,689,079 parameters, 0 gradients, 9.6 GFLOPs Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 7/7 1.4it/s 5.1s all 200 249 0.852 0.707 0.784 0.602 0.788 0.655 0.68 0.225
3 CVPR2026 MixerCSeg | DEGConv方向引导边缘门控,破解细长裂缝检测难题
3.1 原理介绍
论文:MixerCSeg: An Efficient Mixer Architecture for Crack Segmentation via Decoupled Mamba Attention
摘要:特征编码器通过塑造细粒度纹理和薄结构的表示,在像素级裂缝分割中扮演着关键角色。现有的基于CNN、Transformer和Mamba的模型各自仅能捕获所需空间或结构信息的一部分,在建模复杂裂缝模式方面存在明显不足。为解决此问题,我们提出了MixerCSeg,一种混合架构,其设计如同一个协同配合的专家团队,其中类CNN路径专注于局部纹理,类Transformer路径捕获全局依赖,而类Mamba流则在单一编码器内建模序列上下文。MixerCSeg的核心是TransMixer,它探索Mamba的潜在注意力行为,同时建立能够自然表达局部性和全局感知的专用路径。为了进一步增强结构保真度,我们引入了一种空间块处理策略和一种方向引导边缘门控卷积,该卷积能在不显著增加计算开销的情况下,增强对不规则裂缝几何形状的边缘敏感性。随后,采用空间细化多级融合模块在不增加复杂度的情况下细化多尺度细节。在多个裂缝分割基准上的大量实验表明,MixerCSeg仅以2.05 GFLOPs和2.54 M参数量就实现了最先进的性能,展现了其高效性和强大的表征能力。
图2展示了我们提出的MixerCSeg模型,该模型由三个核心组件构成:TransMixer模块、DEGConv模块和SRF模块。其中,TransMixer模块旨在提取像素级裂缝特征,DEGConv模块用于捕捉裂缝的纹理与拓扑线索,而SRF模块则实现高效的多级特征融合。具体而言,对于输入图像P ∈ R^{3×H×W},首先通过主干层将其投影为视觉特征,并经由TransMixer模块处理以获取多尺度特征图{F1, F2, F3, F4}。随后,这些特征被送入DEGConv模块,该模块应用空间块处理策略,将方向先验嵌入引入特征图,从而增强模型对形态各异的裂缝的纹理特征与语义特征的感知能力。最后,SRF模块对多尺度特征图进行融合,分割头输出像素级裂缝分割结果r ∈ R^{1×H×W}。
3.1.1 方向引导边缘门控卷积
与被动处理信息的普通卷积相比,门控卷积能够动态调节信息流,从而更有效地保留重要特征。在实际场景中,裂缝常常向多个方向延伸出分支,这对模型精确追踪这些交叉重叠的路径构成了显著挑战。为解决此问题,我们设计了一个方向引导边缘门控卷积模块。该模块融合了多视角处理策略与方向先验,以精确建模复杂的裂缝结构,其处理流程如图2(b)所示。
重排。对于第i层的特征图 F_i ∈ R^{C_i × H_i × W_i},我们将其划分为 N 个不重叠、大小为 h_i × w_i 的视图,记为 F_i = {F_i^1, F_i^2, ..., F_i^N},其中 N = (H_i / h_i) × (W_i / w_i)。F_i^j ∈ R^{C_i × h_i × w_i} 表示第 j 个局部视图的特征图。
方向嵌入生成。我们首先将输入的 F_i^j 沿通道维度进行平均,得到 ˜F_i^j ∈ R^{1×h_i×w_i}。随后,使用 Sobel 算子计算该视图的水平梯度 d_x 和垂直梯度 d_y。然后,通过反正切函数 θ = arctan(d_y / d_x) ∈ R^{1×h_i×w_i} 计算每个像素的弧度值,并将结果约束在区间 [0, π] 内。
为了获得更紧凑的特征表示并减少单个异常像素的干扰,我们进一步将视图划分为大小为 (cell_h, cell_w) 的单元格,并将弧度区间 [0, π] 均匀划分为 n 个区间。对于每个单元格 C_{a,b},我们计算每个像素的弧度方向所对应的区间索引,统计每个区间内的像素数量,并使用该区间的中心弧度值进行加权,从而得到该单元格的定向直方图特征。该过程可表示为:
其中,θ(u,v) ∈ [0,π] 表示位置 (u,v) 处的方向弧度值,n 是区间数量,k = 0, ..., n-1 是区间索引。I[·] 是指示函数。c_k = π/(2n) + k·(π/n) 是第 k 个区间的中心弧度值,|C_{a,b}| = cell_h × cell_w 是单元格中的总像素数。
最后,我们聚合所有单元格的特征,得到空间方向先验向量 p ∈ R^{n_{bins} × (h_i/cell_h) × (w_i/cell_w)},然后将其转换为一个一维的方向嵌入向量:
这里,avgpool 表示自适应平均池化操作,ϵ 是最终得到的方向嵌入向量。
边缘卷积。为了增强模型对裂缝纹理特征的感知,我们设计了一个轻量级的边缘卷积。首先,采用逐点卷积将特征映射到低维空间,从而降低计算复杂度。随后,使用核大小为 1×k 和 k×1 的条带卷积,分别提取裂缝在水平和垂直方向上的方向特征。最后,将两个方向的特征沿通道维度拼接,并使用深度卷积得到输出结果。
门控机制。如图 2(b) 所示,我们首先将方向嵌入特征与原始特征图相加,使用 EdgeConv 和 sigmoid 函数生成门控权重,同时将 EdgeConv 应用于原始特征,然后通过逐元素相乘将它们组合起来:
最后,将来自不同空间块的独立特征进行重排,以恢复图像原有的空间结构。为了进一步减轻重排可能引入的边界不对齐问题,我们引入一个额外的 EdgeConv 层进行后处理,最终得到优化后的特征表示 F_i'。
3.2 yolo26-seg-C3k2_DEGConv.yaml
源码详见:
https://cv2023.blog.csdn.net/article/details/160888891
3.3 训练结果可视化结果
Mask 原始mAP50原始为0.68 提升至 0.688 , R 原始为 0.655提升至 0.683 ,Mask mAP50-95原始为0.225提升至 0.239
YOLO26-seg-C3k2_DEGConv summary: 355 layers, 2,616,623 parameters, 0 gradients, 9.7 GFLOPs Class Images Instances Box(P R mAP50 mAP50-95) Mask(P R mAP50 mAP50-95): 100% ━━━━━━━━━━━━ 7/7 1.3it/s 5.5s all 200 249 0.851 0.755 0.795 0.614 0.786 0.683 0.688 0.239