YOLO12 改进、魔改|直方图 Transformerm模块HTB ,通过动态范围特征分组、针对性注意力与多尺度融合,提高对遮挡以及多尺度目标的关注能力

在恶劣天气(如雨、雪、雾)下的图像恢复任务中,传统 Transformer 模型为降低计算量,常将自注意力限制在固定空间范围或仅在通道维度操作,导致难以捕捉长距离空间特征,尤其无法有效处理天气退化像素(如雪花、雨滴)与清晰背景像素的差异。为解决这一局限,研究者提出了 Histogram Transformer Block(HTB),作为 Histoformer 的核心组件,旨在通过动态范围的特征处理机制,实现对长距离相似退化特征的精准捕捉,同时兼顾局部与全局特征融合,提升恶劣天气下图像恢复的效率与精度。

1.HTB 原理

HTB 的核心原理是通过动态范围特征分组与针对性注意力机制,突破传统卷积和自注意力的局限:

动态范围直方图自注意力(DHSA):将空间特征按像素强度排序并划分为多个 "强度箱(bin)",在箱内或箱间应用自注意力。这使得模型能针对性聚焦于动态范围内的相似特征(如同一强度的雪花或雨滴),将长距离的退化像素统一处理,同时通过 Bin-wise 重塑(全局范围特征整合)和 Frequency-wise 重塑(局部精细特征提取),平衡全局与局部信息。

动态范围卷积:通过对像素进行水平和垂直排序,使卷积操作不再局限于相邻像素,而是在相似强度的像素间进行,增强对天气退化模式的捕捉能力。

双尺度门控前馈(DGFF):采用 5×5 普通卷积和 3×3 扩张卷积两个并行分支,结合门控机制(通过激活函数生成门控图筛选关键特征),提取多尺度、多范围的特征,弥补单一尺度卷积对复杂天气特征的漏检。

HTB 的结构以 "特征增强 - 融合" 为核心,包含两个关键模块,整体遵循 "归一化 - 处理 - 残差连接" 的设计:

整体框架:输入特征先经层归一化(LN),送入 DHSA 模块处理后与原始特征残差相加;再经层归一化,送入 DGFF 模块处理后再次残差相加,输出增强后的特征。

DHSA 模块:内部包含动态范围卷积(对特征分分支排序后卷积)和直方图自注意力(通过两种重塑机制生成箱内 / 箱间注意力图,再融合),最终将特征恢复至原始空间顺序。

DGFF 模块:先通过 1×1 卷积扩展通道,分两个分支分别用 5×5 深度卷积和 3×3 扩张深度卷积提取特征,再通过门控机制(Mish 激活后的分支特征与另一分支特征逐元素相乘)融合,最后通过 1×1 卷积压缩通道输出。

2.HTB 习作思路

HTB 在目标检测中的优点

HTB 凭借动态范围自注意力对长距离相似特征的捕捉能力,能有效聚合恶劣天气下被干扰的目标特征(如被雨雾遮挡的车辆、被雪花覆盖的行人),减少天气噪声对目标特征一致性的破坏;同时,双尺度卷积机制可保留目标的多尺度细节(如小目标的边缘、大目标的局部纹理),使检测器更精准区分目标与背景,尤其在天气导致目标特征模糊或碎片化的场景中,显著提升检测的召回率与定位精度。

HTB 在分割中的优点

HTB 通过直方图自注意力维持像素间的强度关联,能精准区分相似强度的前景(如目标)与背景(如被天气影响的环境),避免因天气导致的强度混淆;动态范围卷积则增强了对模糊边界(如雾中物体的边缘、雪中植被的轮廓)的特征提取,结合双尺度融合细化边界细节,使分割结果在像素级上更贴合真实目标形态,尤其在天气导致前景与背景过渡模糊的场景中,提升分割的边界精度与区域一致性。

3. YOLO与 HTB 的结合

YOLO 追求实时性与检测效率,HTB 的动态范围卷积和轻量化注意力设计(通过分箱机制减少计算量)能在增加有限计算负担的同时,增强对恶劣天气下特征的提取能力;其多尺度特征融合可与 YOLO 的特征金字塔网络(FPN)互补,提升 YOLO 对小目标、模糊目标的识别速度与准确性,使其在复杂天气场景中更稳健。

4. HTB 代码部分

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

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

5. HTB 引入到YOLOv12中

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

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

第二:在task.py中导入 包

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

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

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

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

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

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

python 复制代码
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/yolo12_HTB")\
        # .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 = True
                          )
相关推荐
YOLO数据集集合4 小时前
滑坡检测数据集 | 滑坡检测 地质灾害 无人机巡检 应急响应 目标检测 YOLO格式 深度学习数据集 计算机视觉10670期
深度学习·yolo·目标检测·计算机视觉·无人机·滑坡
晨间晓4 小时前
目标进了这个区域多久?我用 YOLO + ByteTrack 做了 ROI 占用与停留分析
yolo
YOLO数据集集合7 小时前
小麦穗检测数据集 | 小麦穗检测 植物表型 密集目标检测 农业AI9182期
人工智能·yolo·目标检测·机器学习·目标跟踪·小麦穗
FL16238631291 天前
城市道路叶子叶堆检测数据集VOC+YOLO格式351张2类别
人工智能·yolo·机器学习
AI日报派送佬1 天前
Ultralytics YOLO 模型训练技巧与最佳实践
人工智能·python·深度学习·yolo·机器学习·计算机视觉
FL16238631292 天前
外来入侵植物检测数据集VOC+YOLO格式1111张5类别
人工智能·yolo·机器学习
菜鸟变凤凰20232 天前
基于深度学习 YOLOv8 的各种识别系统(Vue3 + Element Plus + Django 全栈项目)
深度学习·yolo·django
冷雨夜中漫步2 天前
YOLO快速入门——(2)YOLO V26安装与快速入门
图像处理·算法·yolo·计算机视觉
YOLO数据集集合2 天前
遥感滑坡图像识别数据集 | 滑坡识别 遥感影像 语义分割 灾害监测 无人机航拍 目标检测 深度学习数据集 计算机视觉9172期
人工智能·yolo·目标检测·计算机视觉·无人机·滑坡
YOLO数据集集合2 天前
空中鸟类检测数据集 | 单目标 鸟类检测 生态监测 鸟击防范 目标检测9174期
安全·yolo·目标检测·飞鸟数据集·飞鸟