PFAE(Pyramidal Frequency Attention Extraction)通过频域注意力机制提高边界模糊、遮挡等场景的的检测能力

发布于:2025-07-04 ⋅ 阅读:(16) ⋅ 点赞:(0)

         在伪装物体检测中,现有方法多依赖空间局部特征,难以捕捉全局信息,而 Transformer 类方法计算成本高昂。频率域特征因具备全局建模能力,可有效抑制背景噪声、提升伪装物体语义清晰度,但频域与空域的频繁转换会增加计算复杂度。基于此,PFAE 模块被提出,旨在通过频域注意力机制更高效地提取高频特征,解决传统方法在处理边界模糊、遮挡等场景时的局限性。

1.PFAE原理

        PFAE 模块的核心原理是结合频域注意力与多尺度特征融合。首先,对输入特征进行通道降维,通过不同膨胀率的扩张卷积分支提取多尺度特征;每个分支利用快速傅里叶变换(FFT)生成查询 Q、键 K 和值 V,经点乘、激活实部与虚部后得到频域注意力图,再与 V 点乘并通过逆傅里叶变换(IFFT)转回空域。过程中引入频率权重模块(FWM)进行残差连接,最后通过卷积操作与残差连接生成混合特征,实现对频域信息的增强与多尺度特征的聚合。

PFAE 模块的结构如图 2 所示,主要包含以下部分:

        特征降维:通过 1×1 卷积对输入特征 E₄降维,得到E^4​。

        多尺度扩张卷积分支:4 个分支,膨胀率为2n−1(n≥2),每个分支包含频域注意力模块。

        频域注意力计算:利用 FFT 生成 Q、K、V,计算注意力图Af​,并通过 IFFT 转回空域。

        频率权重模块(FWM):通过频域残差连接增强频域信息表示。

        特征融合与输出:通过卷积操作与残差连接,将多分支特征融合生成最终输出E5​。

2. PFAE 在不同领域的应用描述

医学领域

        在医学影像伪装目标检测相关论文中,PFAE 模块可被描述为:“针对医学影像中病灶与周围组织边界模糊、易受噪声干扰的挑战,提出基于频域注意力的金字塔频率注意力提取模块(PFAE)。该模块通过多尺度扩张卷积捕获不同大小的病灶特征,结合频域变换抑制背景噪声,增强病灶区域的语义特征。在肺部结节、乳腺肿瘤等检测任务中,PFAE 能有效提取隐藏于复杂解剖结构中的病灶高频特征,提升分割精度,为医学辅助诊断提供更可靠的依据。”

遥感领域

        用于遥感图像伪装目标检测的论文中,可这样描述 PFAE:“在遥感场景中,伪装目标(如军事设施、隐藏车辆等)常与自然背景高度相似,传统方法难以有效区分。PFAE 模块通过频域注意力机制,捕捉目标与背景在频率域的差异特征,抑制植被、地形等复杂背景的干扰。多尺度结构可适应不同大小目标的检测需求,从遥感图像的高频分量中提取目标的轮廓与结构信息,实现对伪装目标的鲁棒检测,为遥感监测与安全预警提供技术支持。”

缺陷检测领域

        在工业缺陷伪装检测的论文中,PFAE 的描述可如下:“工业产品表面缺陷常因光照、纹理等因素与正常区域难以区分,传统方法易受局部特征干扰。PFAE 模块通过频域变换提取缺陷区域的高频特征,结合多尺度扩张卷积捕获不同尺度的缺陷模式,有效抑制产品表面纹理、划痕等噪声的影响。在金属板材、半导体晶圆等缺陷检测中,该模块能从复杂背景中精准定位伪装缺陷,提升检测的准确率与鲁棒性,为工业质量控制提供高效解决方案。”

农业领域

        于农业伪装目标检测相关论文中,PFAE 可表述为:“农业场景中,病虫害植株、杂草等伪装目标常与正常作物外观相似,传统检测方法难以精准识别。PFAE 模块利用频域注意力机制,提取病虫害叶片、杂草等目标的独特频率特征,抑制作物叶片纹理、自然光照等背景干扰。多尺度结构可适应不同生长阶段目标的检测需求,从图像高频分量中增强目标的语义信息,实现对农田中伪装目标的准确识别与定位,为精准农业管理提供技术支撑。”

3. PFAE与yolo结合       

        将PFAE与YOLO结合时,可借助PFAE的频域注意力与多尺度特征提取能力,增强YOLO对伪装目标的全局语义理解,抑制复杂背景干扰;其轻量化结构适配YOLO的实时检测框架,在工业缺陷、遥感目标等场景中,能提升YOLO对边界模糊、尺度多变伪装目标的检测精度与鲁棒性,同时保持高效推理速度。

4. PFAE代码部分

PFAE(金字塔频率注意力提取模块)抑制复杂背景干扰,提升小目标、边界模糊目标的检测精度_哔哩哔哩_bilibili

YOLO12模型改进方法,快速发论文,总有适合你的改进,还不改进上车_哔哩哔哩_bilibili

 代码获取:YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

5. PFAE引入到YOLOv12中

第一: 先新建一个v12_changemodel,将下面的核心代码复制到下面这个路径当中,如下图如所示。E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。

            ​​​​​​           

第二:在task.py中导入

 ​​​           ​​​​​​​       

第三:在task.py中的模型配置部分下面代码

                   ​​​​​​​​​​​​​​ ​​​​​​​  

第四:将模型配置文件复制到YOLOV12.YAMY文件中

       ​​​​​​​​​​​​​​ ​​​​​​​  

     ​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码


from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __name__=="__main__":

    # 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO("/home/shengtuo/tangfan/YOLO12/ultralytics/cfg/models/12/yolo12_PFAE.yaml")
        # .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weights

    results = model.train(data="/home/shengtuo/tangfan/YOLO12/ultralytics/cfg/datasets/fire_smoke.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 = True
                          )

 上面是原模型,下面是改进模型

  

 ​​​​​​​​​​​​​​ ​​​​​​​  


网站公告

今日签到

点亮在社区的每一天
去签到