在微小目标检测(TOD)中,传统特征金字塔网络(FPN)存在明显缺陷:微小目标因像素占比极低,特征易被压缩和干扰,且 FPN 对所有特征采用统一处理方式,未针对微小目标进行增强;同时,FPN 通过像素级相加融合上下层特征,缺乏空间感知能力,导致特征错位。受传统频率域方法(高频成分对应微小目标细节)启发,高频感知模块(HFP)被提出以解决这些问题。
1.HFP原理
HFP 基于 “微小目标特征主要对应图像高频成分” 的特性,通过高通滤波器提取输入特征图的高频响应,过滤低频背景信息。随后,利用高频响应分别生成通道注意力权重和空间注意力权重:通道权重突出含更多微小目标特征的通道,空间权重聚焦微小目标所在区域,最终通过加权融合增强原始特征中微小目标的表达。
HFP 包含三个核心部分:
高频特征生成器:通过离散余弦变换(DCT)和高通滤波器(由 α 控制滤波范围)提取高频响应,α 决定过滤的低频区域大小;
通道路径(CP):对高频响应进行全局平均池化(GAP)和全局最大池化(GMP),经卷积层生成通道权重,动态分配各通道重要性;
空间路径(SP):通过 1×1 卷积聚合高频响应的通道信息,生成空间掩码,定位微小目标所在像素区域。两者输出经元素相乘后相加,再通过 3×3 卷积得到增强特征
2. 在不同领域论文中的描述
检测领域
在检测领域论文中,HFP 可描述为:“针对微小目标特征微弱、易受干扰的问题,HFP 通过提取特征图高频成分,构建通道与空间双路径注意力机制,动态强化含微小目标的通道和区域,有效提升检测模型对小尺度目标的识别与定位精度,缓解传统网络对微小目标的漏检问题。”
分割领域
在分割领域论文中,HFP 可描述为:“为增强分割任务中细粒度目标(如微小物体、边缘结构)的特征区分度,HFP 利用高频响应突出目标细节,通过通道和空间权重调整,聚焦关键区域,辅助模型生成更精准的分割掩码,尤其适用于含大量小尺度目标的场景。”
3. YOLO与HFP的结合
将 HFP插入YOLO 之后,能进一步增强 YOLO 输出特征中微小目标的高频细节,抑制背景噪声;同时通过动态权重分配,让 YOLO 更聚焦于小目标区域,提升复杂场景下小目标的检测准确率,减少漏检和误检。
4. HFP代码部分
高频感知模块High Frequency Perception(HFP),提高微小目标检测任务中的精度_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何根据自己的数据集选择最优的模块提升精度_哔哩哔哩_bilibili
代码获取:https://github.com/tgf123/YOLOv8_improve
5. HFP到YOLOv11中
第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。
第二:在task.py中导入包
第三:在task.py中的模型配置部分下面代码
第四:将模型配置文件复制到YOLOV11.YAMY文件中
第五:运行代码
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld
import torch
if __name__=="__main__":
# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
model = YOLO("/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/models/11/yolo11_DiffAttention.yaml")\
# .load(r'E:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt') # build from YAML and transfer weights
results = model.train(data="/home/shengtuo/tangfan/YOLO11/ultralytics/cfg/datasets/VOC_my.yaml",
epochs=300,
imgsz=640,
batch=4,
# cache = False,
# single_cls = False, # 是否是单类别检测
# workers = 0,
# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
amp = False
)