1. 项目概述
在计算机视觉领域,红外小目标检测一直是个颇具挑战性的任务。这类目标通常只占据几个像素,信噪比极低,传统卷积神经网络很难有效捕捉其特征。最近我在改进YOLO26模型时,尝试了一种名为风车状卷积(PConv)的新型结构,配合基于尺度的动态损失函数(SD Loss),在IRSTD-1K和SIRST-UAVB数据集上都取得了显著提升。本文将详细分享这次改进的具体实现和实战经验。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心原理与技术解析
2.1 风车状卷积(PConv)设计理念
标准卷积在处理红外小目标时存在明显局限:对称的卷积核和填充方式无法匹配目标像素的高斯分布特性。PConv的创新点在于其独特的不对称结构设计:
- 风车状核布局:通过将卷积核分解为多个旋转对称的子核,形成类似风车的放射状结构
- 动态感受野:每个子核具有不同的感受野,组合后能覆盖更广且更具方向性的区域
- 参数效率:采用分组卷积技术,仅增加约15%的参数就实现了3倍以上的有效感受野扩展
实测发现,这种结构对点状目标和微小线性目标的特征提取效果尤为突出。在SIRST-UAVB数据集上,PConv使小目标的召回率提升了8.3%。
2.2 基于尺度的动态损失(SD Loss)
传统损失函数对不同尺寸目标的优化存在明显偏差:
| 目标尺寸 | 位置损失敏感度 | 尺度损失敏感度 |
|---|---|---|
| 大目标 | 低 | 高 |
| 小目标 | 高 | 低 |
SD Loss的创新在于引入动态权重调整机制:
python复制def scale_aware_weight(target_size):
base_size = 8 # 基准尺寸
alpha = 0.5 # 位置权重系数
beta = 1.5 # 尺度权重系数
scale = target_size / base_size
loc_weight = alpha * (1 + torch.log(scale))
size_weight = beta * (1 - torch.lo
