在自动驾驶领域,车辆轨迹预测至关重要,但传统预测模型存在局限性。早期基于统计模型(如卡尔曼滤波器、隐马尔可夫模型等)将车辆视为独立运动实体,忽略了车辆间的社会交互,在复杂交互场景下易产生较大预测偏差。随着深度学习发展,基于 LSTM 的模型被引入,如 Social LSTM 通过社会池化建模行人交互,但现有社会池化方法仍存在不足,包括难以捕捉车辆间交互的动态性、仅关注目标车辆与局部邻居的交互而忽略高阶交互、未充分利用附近车辆未来运动状态的预期来辅助预测等。为解决这些问题,研究人员提出 Wave-pooling 方法,旨在更有效地捕捉车辆间的动态和高阶交互。
上面是原模型,下面是改进模型

1. 受波叠加模块介绍
Wave-pooling 受 Wave-MLP 启发,将场景中的每辆车建模为具有特定振幅和相位的波。其中,振幅反映每个车辆的动态信息,相位则用于调制车辆间的交互。根据波的叠加原理,当多个波交叉时,合成波在某点的位移是各波在该点产生的单独位移的矢量和。在车辆交互场景中,车辆间的动态交互可通过对应波的叠加来反映。例如,当两辆车的波相位差较小时,类似波的相长干涉,表明它们之间相关性高、交互作用强;相位差较大时,类似相消干涉,交互作用弱 。
2. YOLOv11与Restormer 的结合
本文在C3K2模块中引入受波叠加模块,捕捉待检测目标之间的关联,增强目标检测的精度。
3. 受波叠加模块代码部分
YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHub
视频讲解:YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili
YOLOv11模型改进讲解,教您如何根据自己的数据集选择最优的模块提升精度_哔哩哔哩_bilibili
YOLOv11全部代码,现有几十种改进机制。
4. 将 受波叠加模块 引入到YOLOv11中
第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。
第二:在task.py中导入包
第三:在task.py中的模型配置部分下面代码
第四:将模型配置文件复制到YOLOV11.YAMY文件中
第五:运行成功
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld
if __name__=="__main__":
# 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
model = YOLO(r"D:\model\yolov11\ultralytics\cfg\models\11\yolo11_waveblock.yaml")\
.load(r'D:\model\yolov11\yolo11n.pt') # build from YAML and transfer weights
results = model.train(data=r'D:\model\yolov11\ultralytics\cfg\datasets\VOC_my.yaml',
epochs=300,
imgsz=640,
batch=64,
# cache = False,
# single_cls = False, # 是否是单类别检测
# workers = 0,
# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
amp = True
)