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
                          )
相关推荐
2501_941837268 小时前
蛤蜊生存状态分类识别 _ 基于YOLOv10n的海洋生物检测与分类_1
yolo·数据挖掘
Loacnasfhia912 小时前
面部表情识别与分类_YOLOv10n与MobileNetV4融合方案详解
yolo·分类·数据挖掘
Loacnasfhia915 小时前
贝类海产品物种识别与分类_---_基于YOLOv10n与特征金字塔共享卷积的改进方法
yolo·分类·数据挖掘
Coding茶水间15 小时前
基于深度学习的狗品种检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
Dev7z17 小时前
基于改进YOLOv5n与OpenVINO加速的课堂手机检测系统设计与实现
人工智能·yolo·openvino·手机检测·课堂手机检测
微尘hjx19 小时前
【数据集 02】车牌CCPD命名规则及下载地址
yolo·ccpd·ccpd2019·ccpd2020·车牌·车牌数据集
智驱力人工智能20 小时前
景区节假日车流实时预警平台 从拥堵治理到体验升级的工程实践 车流量检测 城市路口车流量信号优化方案 学校周边车流量安全分析方案
人工智能·opencv·算法·安全·yolo·边缘计算
Katecat9966321 小时前
YOLOV8-ReCalibrationFPN-P3456:沥青路面施工阶段自动识别与分类
yolo·分类·数据挖掘
wfeqhfxz25887821 天前
【目标检测系列】:基于YOLOv10n的MAN卡车超载检测系统·结合FasterCGLU与WFU优化算法_1
算法·yolo·目标检测
zy_destiny2 天前
【工业场景】用YOLOv26实现桥梁检测
人工智能·深度学习·yolo·机器学习·计算机视觉·目标跟踪