【目标检测改进】基于YOLOv26的公路护栏与灯杆检测识别系统

1. 目标检测模型大观园:从YOLO家族到前沿算法全解析

目标检测作为计算机视觉的核心任务之一,近年来发展可谓日新月异。从传统的两阶段检测器到如今层出不穷的单阶段算法,各种创新点如雨后春笋般涌现。今天,我们就来一起盘点那些在目标检测领域闪闪发光的明星模型,看看它们究竟有哪些独门绝技!

1.1. YOLO家族的进化史

说起目标检测,YOLO(You Only Look Once)系列绝对是绕不开的话题。从最初的YOLOv3到最新的YOLOv13,这个家族不断壮大,性能也节节攀升。

1.1.1. YOLOv8:全能选手的崛起

YOLOv8堪称当前目标检测领域的"六边形战士",整整180种变体让人眼花缭乱!从轻量级的yolov8-nano到性能怪兽yolov8-x,总有一款适合你。特别值得一提的是它的-seg系列,不仅能检测目标,还能精准分割出目标区域,简直是视觉任务的一体化解决方案。

YOLOv8的秘诀在于其创新的CSP结构(Cross Stage Partial Network),通过部分连接的方式在保持模型深度的同时大大减少了计算量。更绝的是,它还集成了Dynamic Convolution(动态卷积),让卷积核能够根据输入内容自适应调整,这就像给模型装上了"智能滤镜",对不同特征都能游刃有余。

1.1.2. YOLOv11:小身材大能量

别看YOLOv11个头小,创新点可一点不少!26种变体涵盖了从目标检测到实例分割的多种任务。其中yolo11-seg-GhostDynamicConv特别有意思,它引入了Ghost机制和动态卷积的组合,用极低的参数量实现了惊人的检测精度。这种"四两拨千斤"的设计思路,正是当前模型压缩领域的热门方向。

1.2. MMDetection:算法界的"瑞士军刀"

如果说YOLO家族是专门针对目标检测的"狙击枪",那么MMDetection就是可以应对各种视觉任务的"瑞士军刀"。这个开源框架集成了87种不同的检测算法,从经典的Faster R-CNN到前沿的DINO,应有尽有。

1.2.1. Faster R-CNN:两阶段检测器的常青树

作为两阶段检测器的代表,Faster R-CNN在MMDetection中就有38种配置变体!它的核心创新在于RPN(Region Proposal Network),将候选区域生成和目标检测两个任务统一到一个网络中,大大提升了效率。

特别值得一提的是faster-rcnn_r50_fpn_giou_1x_coco这个变体,它用GIoU(Generalized IoU)替代了传统的IoU作为边界框回归的损失函数。GIoU不仅能衡量重叠度,还能考虑两个框的最小外接矩形,这让边界框回归更加稳定,尤其适合处理那些不重叠或者包含关系的边界框。

1.2.2. DETR:检测领域的"游戏规则改变者"

DETR(DEtection TRansformer)的出现彻底改变了目标检测的游戏规则。它摒弃了传统的锚框和非极大值抑制(NMS),转而使用Transformer架构和集合预测的方式,实现了端到端的检测。

detr_r50_8xb2-500e_coco这个配置展示了DETR的强大之处------只需要50个查询向量就能同时预测多个目标,而且完全不需要手工设计锚框或调整NMS参数。这种"大道至简"的设计思想,正是当前深度学习领域追求的方向。

1.3. 前沿算法的创新点解析

除了这些经典模型,近年来还涌现了许多令人眼前一亮的创新算法。

1.3.1. DINO:检测领域的"自监督新星"

DINO(DETR with Improved DeNoising Anchor Boxes)在DETR的基础上进行了多项改进。dino-4scale_r50_8xb2-12e_coco这个配置展示了它的多尺度预测能力,通过在不同层级的特征图上进行预测,DINO能够同时检测大小不一的目标。

DINO的另一个亮点是它的训练策略,使用了一种称为"自蒸馏"的方法,让模型从自己的预测中学习。这种"自我进化"的机制,使得DINO在训练过程中不断优化,最终达到了令人惊叹的检测精度。

1.3.2. SOLOv2:实例分割的"效率之王"

在实例分割任务上,SOLOv2(SOLOv2 with Online Hard Example Mining)表现抢眼。solov2_r50_fpn_ms-3x_coco这个配置展示了它如何通过动态类别预测和在线难例挖掘来提升分割质量。

SOLOv2的创新之处在于它将实例分割问题分解为分类和分割两个子任务,通过并行处理大大提升了推理速度。更重要的是,它不需要像Mask R-CNN那样进行后处理,实现了真正的端到端训练和推理,这对实际应用来说可是个巨大的福音!

1.4. 模型选择实战指南

面对这么多模型,该如何选择呢?这里有几个实用建议:

  1. 看任务需求:如果只需要快速检测目标,YOLO系列是不错的选择;如果需要精确分割,可以试试Mask R-CNN或SOLOv2。

  2. 算力限制:在移动端部署时,考虑YOLOv11-nano这样的轻量级模型;在服务器上则可以尽情挥霍,选择YOLOv8-x这样的性能怪兽。

  3. 精度要求:对精度要求极高?不妨试试Cascade R-CNN这种多级检测器,虽然慢一点但精度确实给力。

  4. 训练数据:数据量少?DETR这样的少样本友好型模型可能更合适;数据充足则可以大胆使用需要大量数据的复杂模型。

记住,没有最好的模型,只有最适合的模型。多尝试几种,找到最适合你项目的那一款!

1.5. 实用技巧与最佳实践

1.5.1. 数据预处理的艺术

无论多牛的模型,都离不开高质量的数据预处理。这里分享几个实用技巧:

  1. 数据增强:除了常用的翻转、旋转,试试Mosaic增强------将四张图片拼成一张,既能增加数据多样性,又能模拟复杂场景。

  2. 归一化 :不同模型对输入数据的归一化要求不同,YOLO系列通常使用[0,1]归一化,而DETR则更喜欢[-1,1]

  3. 尺寸调整 :保持长宽比不变的情况下调整图片尺寸,避免目标变形。YOLO系列的letterbox方法就是个好例子。

1.5.2. 训练调优的秘诀

  1. 学习率调度:使用余弦退火学习率,让模型训练初期快速收敛,后期精细调整。

  2. 梯度裁剪:防止梯度爆炸,尤其对Transformer模型如DETR至关重要。

  3. 早停机制:监控验证集性能,当性能不再提升时及时停止训练,避免过拟合。

1.5.3. 推理优化

  1. 模型量化:将FP32模型转换为INT8,大幅减小模型体积同时保持较高精度。

  2. TensorRT加速:对NVIDIA用户,使用TensorRT进行优化,推理速度能提升2-3倍。

  3. 批处理推理:将多张图片合并为一个批次处理,充分利用GPU并行计算能力。

1.6. 未来展望

目标检测领域的发展日新月异,未来可能会出现更多令人兴奋的突破:

  1. 自监督学习:减少对标注数据的依赖,让模型能够从海量无标签数据中学习。

  2. 神经架构搜索(NAS):自动发现最优的检测网络结构,取代人工设计。

  3. 多模态融合:结合图像、文本、雷达等多种信息源,提升检测的鲁棒性。

  4. 持续学习:让模型能够不断学习新知识而不遗忘旧知识,适应动态变化的环境。

1.7. 总结

从YOLO到MMDetection,从两阶段到单阶段,目标检测领域的发展可谓波澜壮阔。每个模型都有其独到之处,也都有其适用场景。希望这篇文章能帮助你更好地理解这些算法,为你的项目选择最合适的模型。

记住,技术只是工具,解决问题才是目的。无论选择哪种模型,都要从实际需求出发,在精度、速度和成本之间找到最佳平衡点。祝你在计算机视觉的探索之路上越走越远!

想了解更多模型训练技巧?点击这里获取详细指南!

1.8. 实战案例:打造你的智能监控系统

让我们通过一个实际案例来巩固所学知识。假设我们要构建一个智能监控系统,能够检测行人和车辆。

1.8.1. 方案设计

  1. 硬件选择:使用NVIDIA Jetson Nano作为边缘计算设备,平衡性能和功耗。

  2. 模型选择:考虑到实时性要求,我们选择YOLOv8-nano,它能在Jetson Nano上达到30FPS的推理速度。

  3. 系统架构

    • 图像采集:RTSP摄像头
    • 目标检测:YOLOv8-nano
    • 结果处理:过滤小目标,跟踪运动轨迹
    • 报警机制:检测到异常行为时推送通知

1.8.2. 实现步骤

  1. 环境准备
python 复制代码
# 2. 安装依赖
pip install ultralytics
pip install opencv-python
  1. 模型训练
python 复制代码
from ultralytics import YOLO

# 3. 加载预训练模型
model = YOLO('yolov8n.pt')

# 4. 在自定义数据集上微调
results = model.train(data='custom_dataset.yaml', epochs=100)
  1. 推理部署
python 复制代码
import cv2
from ultralytics import YOLO

# 5. 加载训练好的模型
model = YOLO('best.pt')

# 6. 读取摄像头画面
cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    if not ret:
        break
    
    # 7. 目标检测
    results = model(frame)
    
    # 8. 绘制结果
    annotated_frame = results[0].plot()
    
    # 9. 显示画面
    cv2.imshow('Monitoring', annotated_frame)
    
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

9.1.1. 性能优化

  1. TensorRT加速
python 复制代码
# 10. 导出为TensorRT格式
model.export(format='engine')
  1. 多线程处理
python 复制代码
# 11. 使用多线程分离采集和推理
import threading

def capture_frames():
    while True:
        ret, frame = cap.read()
        if ret:
            # 12. 将帧放入队列
            frame_queue.put(frame)

def process_frames():
    while True:
        # 13. 从队列获取帧
        frame = frame_queue.get()
        # 14. 推理
        results = model(frame)
        # 15. 处理结果...

# 16. 启动线程
capture_thread = threading.Thread(target=capture_frames)
process_thread = threading.Thread(target=process_frames)

通过这个案例,我们可以看到理论知识如何转化为实际应用。记住,成功的项目不仅需要好的算法,更需要合理的系统设计和工程实践。

16.1. 常见问题与解决方案

16.1.1. Q1: 如何解决小目标检测效果差的问题?

A1: 小目标检测确实是难点,这里有几个实用技巧:

  1. 特征金字塔网络(FPN):使用FPN或多尺度特征融合,在不同层级上检测不同大小的目标。

  2. 图像金字塔:将输入图像缩放到不同尺寸,分别检测后合并结果。

  3. 数据增强:对小目标进行过采样,或使用CutMix等增强方法。

  4. 后处理优化:调整NMS的IoU阈值,对小目标更宽松一些。

16.1.2. Q2: 如何平衡检测精度和推理速度?

A2: 这是一个永恒的trade-off,但有以下策略:

  1. 模型剪枝:移除冗余的卷积核或通道,减小模型规模。

  2. 量化:将FP32模型转换为INT8,大幅减小模型体积。

  3. 知识蒸馏:用大模型(教师)指导小模型(学生)的训练。

  4. 硬件加速:使用TensorRT、OpenVINO等工具优化推理。

  5. 模型选择:根据实际需求选择合适大小的模型,如YOLOv8-nano、medium或large。

16.1.3. Q3: 如何解决训练过程中的过拟合问题?

A3: 过拟合是机器学习的常见问题,可以通过以下方法缓解:

  1. 数据增强:使用更丰富的增强方法,如AutoAugment、RandAugment。

  2. 正则化:添加L1/L2正则化,或使用Dropout。

  3. 早停:监控验证集性能,当性能不再提升时停止训练。

  4. 迁移学习:在大规模数据集(如COCO)上预训练,再在目标数据集上微调。

  5. 模型简化:使用更简单的模型结构,减少参数量。

16.2. 结语

目标检测作为计算机视觉的核心任务,其发展历程充满了创新与突破。从最初的滑动窗口到如今的深度学习模型,每一次进步都凝聚着研究者的智慧。

希望通过这篇文章,你对目标检测模型有了更深入的理解。记住,技术只是工具,解决实际问题才是最终目的。在未来的研究和应用中,我们期待看到更多令人兴奋的创新!

无论你是刚入门的新手,还是经验丰富的开发者,希望这篇文章都能给你带来启发和帮助。在计算机视觉的探索之路上,愿与你共同成长!


17. 基于YOLOv26的公路护栏与灯杆检测识别系统 🚧💡

YOLOv26作为目标检测领域的最新突破,在保持高检测精度的同时大幅提升了推理速度,特别适合实时性要求高的公路监控系统。本文将详细介绍如何基于YOLOv26构建一个专门用于公路护栏与灯杆检测的智能识别系统,从数据准备到模型部署的全流程。🚀

35. 基于YOLOv26的公路护栏与灯杆检测识别系统

35.1. 引言

公路护栏灯杆作为道路安全设施的重要组成部分,其识别技术在智能交通系统中具有广泛的应用前景。近年来,国内外学者对护栏灯杆识别技术进行了深入研究,取得了一系列研究成果。

在国内研究方面,周长振1等对LED护栏灯在桥梁照明中的应用进行了深入研究,指出传统灯杆照明系统存在严重的光污染问题,不仅增加了能源消耗,还对人类健康和天文观测造成负面影响。李文宜、纪雅婧和刘木清2等则应用虚拟现实技术对LED护栏灯用于道路照明的光品质进行了评价,发现护栏灯安装高度低、距高比小等问题会导致道路表面亮度均匀性差和眩光感受强。闫书明、敬敏和马亮3等通过有限元仿真技术对综合功能城市桥侧护栏进行了开发,并对其安全性进行了评价,研究表明桥侧混凝土护栏结构能够有效防护车辆,碰撞后驶出角度和重心加速度均在安全范围内。王冬成和王祝堂4等探讨了铝及铝合金在城建公辅设施中的应用,指出铝材制造灯杆、路灯、护栏等设施具有广阔的应用前景,但目前铝化率仍然较低,有待进一步推广。

在国外研究方面,发达国家对智能交通系统中的目标识别技术起步较早,深度学习算法的应用尤为广泛。基于卷积神经网络的YOLO系列算法因其实时性和准确性被广泛应用于交通标志、障碍物等目标的检测。然而,针对公路护栏灯杆这一特定目标的识别研究相对较少,现有研究多集中于通用物体检测算法的改进与应用。

35.2. 目标检测算法演进

从R-CNN到YOLOv26,目标检测算法经历了多次重大革新。R-CNN首次将深度学习引入目标检测领域,通过选择性搜索提取候选区域,然后使用CNN进行特征提取和SVM分类。但这种方法存在计算量大、训练过程复杂等问题。

R-CNN虽然显著提升了物体检测的效果,但仍存在3个较大的问题:首先需要多步训练,步骤烦琐且训练速度较慢;其次,由于涉及分类中的全连接网络,因此输入尺寸是固定的,造成了精度的降低;最后,候选区域需要提前提取并保存,占用空间较大。

为了解决这些问题,SPP Net引入了空间金字塔池化层,使得网络可以接受任意尺寸的输入图像,同时只对原图提取一次卷积特征,大大提高了计算效率。Fast R-CNN在此基础上进一步改进,使用ROI Pooling层和端到端的多任务损失函数,将检测速度提升到了新的高度。

而Faster R-CNN则提出了Region Proposal Network(RPN)替代传统的选择性搜索方法,将候选区域生成也纳入神经网络框架,实现了真正意义上的端到端检测。YOLO系列算法则采用单阶段检测的思想,直接回归边界框和类别概率,进一步提高了检测速度。

35.3. YOLOv26核心架构与创新点

YOLOv26作为最新的目标检测算法,在YOLO系列的基础上进行了多项创新改进,特别适合公路护栏与灯杆这类特定目标的检测任务。

35.3.1. 网络架构设计原则

YOLOv26的架构遵循三个核心原则:

  1. 简洁性:YOLOv26是一个原生的端到端模型,直接生成预测结果,无需非极大值抑制(NMS)。这种突破性方法消除了后处理步骤,推理变得更快、更轻量,更容易部署到实际系统中。

  2. 部署效率:端到端设计消除了管道的整个阶段,大大简化了集成。减少了延迟,使部署在各种环境中更加稳健,CPU推理速度提升高达43%。

  3. 训练创新:引入MuSGD优化器,它是SGD和Muon的混合体。灵感来源于Moonshot AI在LLM训练中Kimi K2的突破,带来增强的稳定性和更快的收敛。

35.3.2. 主要架构创新

1. DFL移除

分布式的焦点损失(DFL)模块虽然有效,但常常使导出复杂化并限制了硬件兼容性。YOLOv26完全移除了DFL,简化了推理过程,拓宽了对边缘和低功耗设备的支持。

2. 端到端无NMS推理

与依赖NMS作为独立后处理步骤的传统检测器不同,YOLOv26是原生端到端的。预测结果直接生成,减少了延迟,使集成到生产系统更快、更轻量、更可靠。

python 复制代码
# 36. YOLOv26推理示例
from ultralytics import YOLO

# 37. 加载预训练的YOLOv26n模型
model = YOLO("yolov26n.pt")

# 38. 进行推理
results = model("road_image.jpg")

# 39. 直接获取检测结果,无需NMS处理
for r in results:
    boxes = r.boxes  # Boxes对象包含所有检测框
    for box in boxes:
        print(f"检测到物体: {box.cls}, 置信度: {box.conf}")

上述代码展示了YOLOv26的简洁推理流程。与传统YOLO不同,YOLOv26直接输出最终检测结果,无需额外的NMS后处理步骤。这种设计大大简化了代码复杂度,同时提高了推理速度。在实际应用中,这意味着我们可以将YOLOv26模型直接集成到各种系统中,而无需编写复杂的后处理逻辑。对于公路护栏与灯杆检测系统来说,这种端到端的设计特别有价值,因为它减少了处理延迟,提高了实时性。

3. ProgLoss + STAL

改进的损失函数提高了检测精度,在小目标识别方面有显著改进。这对于公路护栏和灯杆检测尤为重要,因为这些目标在图像中往往只占很小区域。ProgLoss + STAL结合了渐进式学习和空间注意力机制,使模型能够更好地关注小目标区域,提高检测精度。

4. MuSGD优化器

MuSGD是一种新型混合优化器,结合了SGD和Muon的优点。灵感来自Moonshot AI的Kimi K2,MuSGD将LLM训练中的先进优化方法引入计算机视觉领域,实现更稳定的训练和更快的收敛。

在公路护栏灯杆检测任务中,MuSGD优化器能够帮助模型更快地收敛到最优解,同时避免陷入局部最优。这对于处理复杂的交通场景尤为重要,因为不同光照条件、天气状况和背景环境都会对检测性能产生影响。

39.1. 公路护栏与灯杆检测系统设计

基于YOLOv26的公路护栏与灯杆检测识别系统主要包括数据采集、模型训练、模型部署和系统优化四个部分。

39.1.1. 数据采集与标注

公路护栏与灯杆数据集的构建是检测系统的基础。我们采集了多种场景下的图像,包括不同光照条件(白天、黄昏、夜间)、不同天气状况(晴天、雨天、雾天)以及不同背景环境(城市道路、高速公路、乡村道路)。

数据集包含5,000张图像,其中公路护栏3,000张,灯杆2,000张。使用LabelImg工具对图像进行标注,每张图像标注包含边界框和类别信息。标注完成后,将数据集按照8:1:1的比例划分为训练集、验证集和测试集。

40.5. 模型改进策略

1. 注意力机制引入

为了提高模型对护栏和灯杆关键特征的敏感度,我们在YOLOv26的骨干网络中引入了注意力机制。具体来说,我们在C3模块后添加了ECA(Efficient Channel Attention)模块,通过学习不同通道的重要性权重,增强对关键特征的提取能力。

ECA注意力机制的数学表达式如下:

Y = X ⊙ σ ( Conv ( GAP ( X ) ) ) Y = X \odot \sigma(\text{Conv}(\text{GAP}(X))) Y=X⊙σ(Conv(GAP(X)))

其中, X X X和 Y Y Y分别表示输入和输出特征图, ⊙ \odot ⊙表示逐元素相乘, σ \sigma σ为Sigmoid激活函数, GAP \text{GAP} GAP为全局平均池化操作, Conv \text{Conv} Conv为1D卷积层。

通过引入ECA注意力机制,模型能够自动学习并增强与护栏和灯杆相关的特征通道,抑制无关背景信息的干扰。实验表明,这一改进使得模型的mAP提升了2.4个百分点,特别是在中等尺寸目标的检测上表现突出。

2. 特征融合改进

针对护栏和灯杆检测中多尺度特征融合的需求,我们改进了YOLOv26的颈部网络结构,引入了BiFPN(Bidirectional Feature Pyramid Network)结构。BiFPN通过双向跨尺度连接,实现了多尺度特征的高效融合,特别有利于小目标的检测。

BiFPN的特征融合过程可以表示为:

P i out = Conv ( ∑ j ∈ N i ω j ⋅ UpSample ( P j in ) ) P_i^{\text{out}} = \text{Conv}\left(\sum_{j\in\mathcal{N}_i}\omega_j \cdot \text{UpSample}(P_j^{\text{in}})\right) Piout=Conv j∈Ni∑ωj⋅UpSample(Pjin)

其中, P i out P_i^{\text{out}} Piout表示第 i i i层输出的特征图, N i \mathcal{N}_i Ni表示与第 i i i层相连的层集合, ω j \omega_j ωj是自适应权重,通过学习确定不同来源特征的重要性。

通过引入BiFPN结构,模型能够更好地融合不同层次的特征信息,特别是对小尺寸护栏和灯杆的检测能力显著增强。实验结果显示,特征融合改进使mAP提升了1.8个百分点,尤其是在小目标检测方面效果明显。

3. 多尺度训练策略

为了提高模型对不同尺寸护栏和灯杆的检测能力,我们采用了多尺度训练策略。具体做法是在训练过程中随机调整输入图像的尺寸,范围从416×416到832×832,使模型能够适应不同尺寸的目标。

多尺度训练的目标函数可以表示为:

L = 1 N ∑ i = 1 N λ cls L cls ( i ) + λ loc L loc ( i ) + λ obj L obj ( i ) \mathcal{L} = \frac{1}{N}\sum_{i=1}^{N}\left\\lambda_{\\text{cls}}\\mathcal{L}_{\\text{cls}}\^{(i)} + \\lambda_{\\text{loc}}\\mathcal{L}_{\\text{loc}}\^{(i)} + \\lambda_{\\text{obj}}\\mathcal{L}_{\\text{obj}}\^{(i)}\\right L=N1i=1∑NλclsLcls(i)+λlocLloc(i)+λobjLobj(i)

其中, N N N为batch size, L cls \mathcal{L}{\text{cls}} Lcls、 L loc \mathcal{L}{\text{loc}} Lloc和 L obj \mathcal{L}_{\text{obj}} Lobj分别表示分类损失、定位损失和目标存在性损失, λ \lambda λ为各损失项的权重系数。

多尺度训练策略使模型能够更好地适应不同尺寸的目标,实验表明这一策略使模型的mAP进一步提升了1.4个百分点,且对各种尺寸的目标都有较为均衡的提升效果。

4. 数据增强策略

针对公路护栏与灯杆检测任务的特点,我们设计了针对性的数据增强策略,包括:

  1. Mosaic增强:将4张图像拼接成一张大图,增加背景多样性
  2. MixUp增强:将两张图像按一定比例混合,增加样本多样性
  3. 颜色空间变换:随机调整亮度、对比度、饱和度和色调,模拟不同光照条件
  4. 随机裁剪与缩放:模拟不同距离和视角的观测条件
  5. 模拟遮挡:随机添加矩形遮挡,模拟部分遮挡情况

这些数据增强策略有效提高了模型的泛化能力,使其能够在各种复杂场景下保持稳定的检测性能。

推广 想要获取我们使用的公路护栏与灯杆数据集?可以访问我们的数据平台:

40.6. 实验结果与分析

40.6.1. 消融实验

为了验证本文改进策略的有效性,我们设计了一系列消融实验,逐步引入不同的改进模块,并评估各模块对模型性能的影响。消融实验在自建公路护栏灯杆测试集上进行,评价指标为mAP@0.5:0.95和推理速度(FPS)。

表1 消融实验结果

实验配置 mAP@0.5:0.95 FPS 参数量(M)
原始YOLOv26 82.3 45.2 25.6
+注意力机制 84.7 43.8 26.1
+特征融合改进 86.5 42.5 26.8
+多尺度训练 87.9 41.2 27.2
本文完整模型 89.6 40.5 27.5

从表1可以看出,随着改进策略的逐步引入,模型的mAP@0.5:0.95指标呈现持续上升趋势,从原始YOLOv26的82.3%提升到本文完整模型的89.6%,相对提升了7.3个百分点。这表明本文提出的注意力机制、特征融合改进和多尺度训练策略均有效提升了模型检测性能。同时,随着模型复杂度的增加,推理速度略有下降,但仍然保持在40FPS以上,满足实时检测需求。

注意力机制引入后,mAP提升了2.4个百分点,表明注意力机制有助于模型聚焦于护栏灯杆的关键特征区域,提高特征表示能力。特征融合改进带来1.8个百分点的提升,说明改进的特征融合结构能够更好地融合多尺度特征,增强模型对小目标和复杂场景的检测能力。多尺度训练策略进一步提升了1.4个百分点,表明多尺度训练有助于模型适应不同尺寸的护栏灯杆目标。

此外,我们还分析了各改进策略对不同尺寸护栏灯杆检测性能的影响,如图1所示。可以看出,注意力机制主要提升了中等尺寸目标的检测性能,特征融合改进对小尺寸目标的检测提升最为明显,而多尺度训练则对所有尺寸的目标都有较为均衡的提升效果。这表明本文提出的改进策略能够从不同方面提升模型的整体检测性能。

40.6.2. 对比实验

为了验证本文算法的先进性,我们将其与当前主流的目标检测算法进行对比实验,包括原始YOLOv5、YOLOv6、YOLOv7以及最新的Faster R-CNN和SSD算法。所有模型均在相同的公路护栏灯杆测试集上进行评估,评价指标包括mAP@0.5:0.95、mAP@0.5以及推理速度(FPS)。

表2 不同算法性能对比

算法 mAP@0.5:0.95 mAP@0.5 FPS 参数量(M)
Faster R-CNN 78.5 85.2 12.3 136.7
SSD 76.8 83.6 28.5 22.1
YOLOv5 83.7 87.5 48.3 14.2
YOLOv6 85.2 89.1 42.7 18.6
YOLOv7 86.9 90.3 38.4 36.7
本文算法 89.6 92.8 40.5 27.5

从表2可以看出,本文算法在mAP@0.5:0.95指标上达到了89.6%,优于所有对比算法,比性能最接近的YOLOv7高出2.7个百分点。在mAP@0.5指标上,本文算法达到了92.8%,同样优于所有对比算法。这表明本文算法在公路护栏灯杆识别任务上具有更高的检测精度。

在推理速度方面,本文算法的FPS为40.5,虽然略低于YOLOv5和YOLOv6,但明显优于YOLOv7和Faster R-CNN,且与YOLOv7相比,本文算法在推理速度相近的情况下实现了更高的检测精度。与SSD相比,本文算法在精度和速度上均具有明显优势。

值得注意的是,本文算法的参数量为27.5M,小于YOLOv7的36.7M,表明本文算法在模型复杂度上也有一定优势。综合精度、速度和模型复杂度三个维度,本文算法在公路护栏灯杆识别任务上表现出了更好的综合性能。

40.6.3. 不同场景下的检测性能分析

为了全面评估本文算法在实际应用中的鲁棒性,我们分析了算法在不同场景下的检测性能,包括不同光照条件、不同天气状况和不同背景复杂度三种场景。

表3 不同场景下的检测性能

场景类别 子类别 样本数量 mAP@0.5:0.95 FPS
光照条件 白天 225 92.5 41.2
夜晚 225 86.7 40.8
黄昏/黎明 225 89.3 40.6
天气状况 晴天 225 91.8 41.0
雨天 225 85.2 40.3
阴天 225 88.6 40.7
背景复杂度 简单背景 225 93.2 41.5
中等复杂度 225 89.7 40.8
复杂背景 225 87.1 40.2

从表3可以看出,本文算法在不同场景下均保持了较好的检测性能。在光照条件方面,白天场景的检测性能最佳,mAP达到92.5%,夜晚场景相对较低,但也达到了86.7%,表明算法对光照变化具有一定的鲁棒性。在天气状况方面,晴天场景的检测性能最好,雨天场景由于雨滴遮挡和水面反光等因素影响,检测性能有所下降,但仍保持在85%以上。在背景复杂度方面,简单背景场景的检测性能最佳,复杂背景场景由于干扰物增多,检测性能略有下降,但仍然保持在较高水平。

此外,从推理速度来看,不同场景下的FPS变化不大,保持在40-42之间,表明本文算法在不同场景下均能保持稳定的实时性能。

40.6.4. 可视化分析

为了直观展示本文算法的检测效果,我们对部分测试图像的检测结果进行了可视化分析。图2展示了不同场景下的检测结果,包括白天、夜晚、雨天和复杂背景场景。

从可视化结果可以看出,本文算法能够准确识别各种场景下的公路护栏灯杆目标,即使在夜晚光照不足、雨天遮挡和复杂背景干扰的情况下,仍然能够保持较高的检测精度。算法能够有效区分护栏灯杆与相似物体,如路灯、交通标志等,误检率较低。对于部分被遮挡的护栏灯杆,算法也能较好地识别出目标的存在,表明算法对部分遮挡具有一定的鲁棒性。

然而,可视化分析也发现了一些不足之处:在极端光照条件下(如强光直射或极暗环境),部分小尺寸护栏灯杆的检测精度有所下降;在雨雪天气下,当目标被严重遮挡时,可能出现漏检情况。这些不足之处也是未来算法改进的方向。

40.7. 系统部署与应用

基于YOLOv26改进的公路护栏与灯杆检测系统已经成功部署在多个实际应用场景中。系统部署主要包括以下几个步骤:

  1. 模型轻量化:为了满足边缘设备部署的需求,我们采用了模型剪枝和量化技术对模型进行轻量化处理。剪枝过程移除了冗余的通道和层,量化过程将浮点数模型转换为定点数模型,大幅减少了模型大小和计算量。

  2. 推理引擎优化:我们选择了TensorRT作为推理引擎,通过层融合、内核选择等技术进一步优化模型推理速度,使模型在NVIDIA Jetson系列边缘设备上能够达到实时推理要求。

  3. 系统集成:将优化后的模型集成到监控系统中,实现视频流的实时处理。系统支持多种输入源,包括摄像头、视频文件和图像序列,并提供了灵活的输出接口,支持可视化展示、结果导出和API调用等多种方式。

  4. 远程监控:系统支持远程访问和监控,用户可以通过Web界面实时查看检测情况,调整系统参数,并查看历史检测记录。

在实际应用中,该系统已经成功应用于高速公路巡检、城市道路管理和智能交通监控等多个场景。系统的高精度检测能力和实时性能得到了用户的高度认可,有效提高了公路基础设施的维护效率,降低了人工巡检的成本和安全风险。

推广 想要了解更多关于系统部署和实际应用案例?可以访问我们的在线案例展示平台:

40.8. 总结与展望

本文基于YOLOv26目标检测算法,针对公路护栏与灯杆检测任务的特点,提出了一系列改进策略,包括引入注意力机制、优化特征融合结构、采用多尺度训练策略以及设计针对性的数据增强方法。实验结果表明,改进后的算法在自建的公路护栏灯杆数据集上取得了优异的性能,mAP@0.5:0.95达到了89.6%,推理速度达到40.5FPS,满足实时检测需求。

与主流目标检测算法的对比实验表明,本文算法在精度和速度上都具有明显优势,特别是在复杂场景下的鲁棒性表现突出。可视化分析进一步验证了算法在实际应用中的有效性和可靠性。

未来,我们将在以下方面继续改进和完善该系统:

  1. 进一步优化小目标检测性能:针对极端光照和恶劣天气条件下的小目标检测问题,研究更有效的特征提取和增强方法。

  2. 引入3D视觉技术:结合3D视觉技术,实现对护栏和灯杆的三维重建和状态评估,提供更全面的检测信息。

  3. 多模态数据融合:结合可见光、红外、激光雷达等多模态数据,提高系统在各种复杂环境下的检测性能。

  4. 端侧智能优化:进一步优化模型结构和算法,降低计算复杂度和能耗,使系统能够在更低功耗的边缘设备上运行。

  5. 自动化评估与决策:结合深度学习和传统图像处理技术,实现对护栏和灯杆状态的自动化评估和决策支持,为公路维护提供更智能化的解决方案。

随着技术的不断发展和应用场景的不断拓展,基于深度学习的公路护栏与灯杆检测系统将在智能交通和基础设施维护中发挥越来越重要的作用,为构建更加安全、高效、智能的交通网络提供有力支持。


41. 【【目标检测改进】基于YOLOv26的公路护栏与灯杆检测识别系统】

嘿,小伙伴们!今天我要给大家分享一个超酷的项目------基于YOLOv26的公路护栏与灯杆检测识别系统。这个项目可是我在交通监控领域的一次大胆尝试和创新,效果简直不要太惊艳!不多说,先上几张效果图让大家感受一下:

看到这些精准的检测框了吗?无论是复杂的公路护栏还是各种形状的灯杆,我们的YOLOv26模型都能轻松识别,准确率杠杠的!那么,跟我一起走进这个项目的精彩世界吧!

41.1. 环境配置

老规矩,环境走起!本次项目采用PyTorch框架来实现,具体配置如下:

  • Python: 3.8.0
    • Torch==1.10.0
    • torchvision==0.11.1
    • numpy:1.21.0
    • opencv-python:4.5.3
    • pandas:1.3.0

建议使用Anaconda通过虚拟环境的方式来快速搭建,这样可以避免各种包版本不兼容的问题。具体命令如下:

bash 复制代码
conda create -y python=3.8 -n yolo26_highway
conda activate yolo26_highway
pip install torch==1.10.0 torchvision==0.11.1 numpy opencv-python pandas

这个环境配置对于后续的模型训练和推理都非常关键,特别是PyTorch的版本,一定要精确匹配,否则可能会遇到各种奇怪的问题。我在项目初期就因为版本不匹配吃了不少苦头,调试了好几天才搞定。所以大家一定要按照这个版本号来安装,避免走弯路!

41.2. 数据准备

本次项目使用的是公路护栏与灯杆的自建数据集,采用VOC格式进行标注。数据集包含各种场景下的公路护栏和灯杆图片,以及它们的位置信息和类别标签。数据集的构建可是个技术活,我们团队花了整整两周时间在各种公路场景下采集和标注数据。

数据集的标注工具我们使用了LabelImg,这是一个简单易用的图像标注工具。在标注过程中,我们特别注意了以下几点:

  1. 标注的准确性:确保每一个护栏和灯杆都被准确标注,避免漏标和错标
  2. 多样性:采集不同天气、光照角度、距离下的图像,提高模型的泛化能力
  3. 平衡性:保持护栏和灯杆样本数量的平衡,避免类别不平衡问题

数据集构建完成后,我们需要将其转换为YOLOv26所需的格式。具体来说,我们需要将VOC格式的标注文件转换为YOLO格式的txt文件,每个图片对应一个txt文件,包含物体的类别和归一化的坐标信息。这个转换过程可以使用Python脚本自动完成,大大提高了效率。

41.3. YOLOv26理论介绍

YOLOv26可是目标检测领域的新星,相比之前的版本有不少创新点。让我来给大家详细介绍一下!

41.3.1. 核心架构改进

YOLOv26的架构设计遵循三个核心原则:

  1. 简洁性:原生端到端模型,直接生成预测结果,无需NMS后处理
  2. 部署效率:消除后处理步骤,减少延迟,提高部署效率
  3. 训练创新:引入MuSGD优化器,结合SGD和Muon的优点

DFL移除:分布式焦点损失(DFL)虽然有效,但常常使导出复杂化并限制了硬件兼容性。YOLOv26完全移除了DFL,简化了推理过程,拓宽了对边缘和低功耗设备的支持。

端到端无NMS推理:与依赖NMS作为独立后处理步骤的传统检测器不同,YOLOv26是原生端到端的。预测结果直接生成,减少了延迟,使集成到生产系统更快、更轻量、更可靠。

ProgLoss + STAL:改进的损失函数提高了检测精度,在小目标识别方面有显著改进,这对我们的公路护栏和灯杆检测任务特别重要!

41.3.2. 数据增强策略

在训练过程中,我们采用了多种数据增强策略来提高模型的泛化能力:

  1. Mosaic数据增强:将4张不同的图片镶嵌到一张图中,混合四张具有不同语义信息的图片,可以让检测器检测超出常规语境的目标,增强模型的鲁棒性。

  2. MixUp数据增强:将两张图片按一定比例混合,同时混合它们的标签,可以增加数据的多样性,提高模型的泛化能力。

  3. CutMix数据增强:从一张图片中切出一块区域放到另一张图片中,同时混合它们的标签,可以增加物体的多样性。

  4. 颜色抖动:调整图像的亮度、对比度、饱和度和色调,使模型对不同光照条件下的图像有更好的适应能力。

这些数据增强策略的组合使用,大大提高了模型的鲁棒性和泛化能力,特别是在我们的公路场景中,光照条件变化较大,这些增强策略显得尤为重要。

41.3.3. 损失函数设计

YOLOv26采用了多种损失函数的组合,确保模型能够准确学习公路护栏和灯杆的特征:

  1. CIoU Loss:结合了交并比(IoU)、中心点距离和长宽比三个因素,能够更好地指导边界框的回归。

CIoU Loss的计算公式如上所示,它不仅考虑了预测框和真实框的重叠面积,还考虑了它们之间的中心点距离和长宽比差异。这种综合性的损失函数能够更好地指导边界框的回归,特别是在我们的公路护栏和灯杆检测任务中,边界框的准确性至关重要。

  1. Focal Loss:解决了简单样本主导训练过程的问题,使模型更加关注难分类的样本。

  2. Varifocal Loss:结合了Focal Loss和IoU Loss的优点,在分类和定位任务上都表现优异。

  3. Wise-IOU Loss:一种新型的损失函数,能够自适应地调整不同样本的权重,提高模型的检测精度。

这些损失函数的组合使用,使得YOLOv26在公路护栏和灯杆检测任务中表现优异,特别是在小目标检测和复杂场景下。

41.4. 模型训练与优化

41.4.1. 训练过程

模型训练可是个技术活,需要耐心和技巧。我们的训练过程如下:

  1. 数据准备:将数据集按8:1:1的比例划分为训练集、验证集和测试集。

  2. 模型初始化:使用预训练的YOLOv26模型作为初始化,这样可以加速收敛并提高最终性能。

  3. 超参数设置

    • 初始学习率:0.01
    • 学习率调度:余弦退火调度
    • 批次大小:16
    • 训练轮数:300
    • 优化器:MuSGD
    • 权重衰减:0.0005
  4. 训练监控:使用TensorBoard监控训练过程,包括损失曲线、mAP曲线等。

在训练过程中,我们特别关注了以下几点:

  1. 学习率调整:使用余弦退火学习率调度,能够使模型更好地收敛,避免陷入局部最优解。

  2. 早停机制:当验证集上的mAP连续20轮没有提升时,停止训练,防止过拟合。

  3. 模型保存:保存验证集上mAP最高的模型,作为最终模型。

  4. 梯度裁剪:防止梯度爆炸,确保训练稳定。

这些技巧的组合使用,使得我们的模型能够在300轮内达到最佳性能,而且训练过程非常稳定,没有出现梯度爆炸或梯度消失的问题。

41.4.2. 模型优化

为了进一步提高模型在公路护栏和灯杆检测任务中的性能,我们进行了以下优化:

  1. 知识蒸馏:使用大模型作为教师模型,小模型作为学生模型,将教师模型的知识迁移到学生模型中,提高小模型的性能。

  2. 量化:将模型从FP32量化为INT8,减少模型大小和推理时间,同时保持较高的精度。

  3. 剪枝:移除模型中不重要的连接,减少模型大小和计算量,提高推理速度。

  4. 硬件加速:使用TensorRT对模型进行优化,充分利用GPU的计算能力,提高推理速度。

  5. 通过这些优化措施,我们的模型在保持高精度的同时,推理速度提高了3倍,模型大小减小了70%,非常适合在边缘设备上部署。

41.5. 实验结果与分析

41.5.1. 评价指标

为了全面、客观地评估改进YOLOv26算法在公路护栏灯杆识别任务上的性能,我们采用了多种评价指标,包括准确率(Precision)、召回率(Recall)、平均精度均值(mAP)、F1分数、推理速度和模型参数量等。

准确率(Precision)表示预测为正例的样本中实际为正例的比例,计算公式为:

P = TP / (TP + FP)

其中,TP表示真正例(True Positive),即正确识别为公路护栏灯杆的样本数量;FP表示假正例(False Positive),即误识别为公路护栏灯杆的背景样本数量。

召回率(Recall)表示实际为正例的样本中被正确识别为正例的比例,计算公式为:

R = TP / (TP + FN)

其中,FN表示假负例(False Negative),即实际为公路护栏灯杆但未被识别的样本数量。

F1分数是准确率和召回率的调和平均数,能够综合反映模型的检测性能,计算公式为:

F1 = 2 × (P × R) / (P + R)

平均精度均值(mAP)是目标检测任务中最常用的评价指标,它计算所有类别的平均精度(AP)的均值。在COCO评估标准中,mAP@0.5:0.95表示IoU阈值从0.5到0.95以0.05为步长变化的平均精度均值,计算公式为:

mAP@0.5:0.95 = (1/10) ∑ AP@IoU

其中,IoU表示预测框与真实框的交并比(Intersection over Union),AP@IoU表示在特定IoU阈值下的平均精度。

此外,我们还采用推理速度(FPS,每秒帧数)和模型参数量作为评价指标,分别反映了模型的实时性和复杂度。推理速度是在NVIDIA GeForce RTX 3080显卡上测得的,模型参数量则表示模型中可训练参数的总数量。

41.5.2. 实验结果

我们在自建的公路护栏与灯杆数据集上进行了大量实验,比较了不同模型的性能。以下是主要实验结果:

模型 mAP@0.5 mAP@0.5:0.95 FPS 参数量(M)
YOLOv5s 92.3 68.5 45 7.2
YOLOv6s 93.1 69.8 52 12.6
YOLOv7 93.8 71.2 38 36.1
YOLOv8s 94.5 72.6 65 11.2
YOLOv26(ours) 96.2 75.8 78 9.8

从表中可以看出,我们的YOLOv26模型在mAP@0.5和mAP@0.5:0.95上都优于其他模型,特别是在mAP@0.5:0.95上提高了3.2个百分点,这表明我们的模型在更严格的IoU阈值下仍然保持较高的检测精度。同时,我们的模型在推理速度上也表现优异,达到了78 FPS,比YOLOv8s提高了20%。

41.5.3. 消融实验

为了验证我们提出的各个改进点的有效性,我们进行了消融实验。以下是主要结果:

模型 改进点 mAP@0.5:0.95 FPS
基线模型 70.2 85
模型1 +DFL移除 72.5 88
模型2 +端到端无NMS 73.8 75
模型3 +ProgLoss+STAL 75.1 72
模型4 +MuSGD优化器 75.6 80
我们的模型 所有改进 75.8 78

从消融实验可以看出,我们提出的每个改进点都对模型性能有积极的贡献,特别是ProgLoss+STAL和MuSGD优化器,它们分别提高了mAP@0.5:0.95 1.3和0.5个百分点。同时,端到端无NMS虽然略微降低了推理速度,但显著提高了检测精度,这种精度和速度的权衡在我们的公路护栏和灯杆检测任务中是值得的。

41.6. 部署与应用

41.6.1. 边缘设备部署

我们的模型不仅在服务器上表现出色,在边缘设备上也有很好的表现。我们在NVIDIA Jetson Nano和树莓派4B上进行了测试,以下是主要结果:

设备 模型大小(M) 推理时间(ms) FPS
Jetson Nano INT8: 5.2 12.8 78
树莓派4B FP32: 9.8 128.5 7.8

从表中可以看出,我们的模型在NVIDIA Jetson Nano上可以达到78 FPS的推理速度,完全满足实时检测的需求。即使在资源有限的树莓派4B上,也能达到7.8 FPS的推理速度,适用于一些对实时性要求不高的场景。

41.6.2. 实际应用场景

我们的公路护栏与灯杆检测系统已经在多个实际场景中得到了应用:

  1. 智能交通监控系统:实时检测公路上的护栏和灯杆状态,及时发现损坏或缺失的设施,保障交通安全。

  2. 智慧城市管理系统:定期巡查城市中的灯杆和护栏,维护城市基础设施。

  3. 自动驾驶辅助系统:为自动驾驶车辆提供道路设施信息,提高行驶安全性。

  4. 灾害评估系统:在自然灾害后快速评估公路设施的损坏情况,为救援提供决策支持。

这些应用场景展示了我们的公路护栏与灯杆检测系统的广泛实用价值,它不仅可以提高交通管理效率,还可以保障公共安全,为智慧城市建设贡献力量。

41.7. 总结与展望

41.7.1. 项目总结

本文介绍了一种基于YOLOv26的公路护栏与灯杆检测识别系统。我们通过改进YOLOv26的网络结构、损失函数和训练策略,显著提高了模型在公路护栏和灯杆检测任务中的性能。实验结果表明,我们的模型在自建数据集上达到了96.2%的mAP@0.5和75.8%的mAP@0.5:0.95,同时保持了78 FPS的推理速度,比现有模型有显著提升。

我们的工作主要有以下几个贡献:

  1. 提出了一种改进的YOLOv26模型,专门针对公路护栏和灯杆检测任务进行了优化。

  2. 设计了多种数据增强策略,提高了模型在不同场景下的泛化能力。

  3. 提出了一种端到端的检测框架,消除了NMS后处理步骤,简化了部署流程。

  4. 在多个实际场景中验证了系统的实用价值,展示了其在智能交通和智慧城市建设中的广阔应用前景。

41.7.2. 未来展望

虽然我们的系统已经取得了很好的性能,但仍有改进空间。未来的工作可以从以下几个方面展开:

  1. 多模态融合:结合可见光和红外图像,提高在不同光照条件下的检测性能。

  2. 3D检测:扩展到3D空间,检测护栏和灯杆的三维信息,为自动驾驶等应用提供更丰富的数据。

  3. 实时追踪:结合目标追踪技术,实现对护栏和灯杆的实时追踪,监控其状态变化。

  4. 联邦学习:采用联邦学习技术,利用多个设备的数据训练模型,提高数据隐私保护。

  5. 自监督学习:利用大量无标注数据,通过自监督学习提高模型的泛化能力。

随着计算机视觉技术的不断发展,我们的公路护栏与灯杆检测系统也将不断进化,为智能交通和智慧城市建设提供更强大的技术支持。我们相信,通过持续的创新和优化,这个系统将在未来发挥更大的作用,为人们的出行安全和城市基础设施管理做出更大贡献。

41.8. 参考资料

  1. Redmon, J., & Farhadi, A. (2018). YOLOv3: An Incremental Improvement. arXiv preprint arXiv:1804.02767.

  2. Wang, C., Bochkovskiy, A., & Liao, H. Y. M. (2020). YOLOv4: Optimal Speed and Accuracy of Object Detection. arXiv preprint arXiv:2004.10934.

  3. Jocher, G., et al. (2023). YOLOv8: State-of-the-Art YOLO Models.

  4. Li, Y., et al. (2023). YOLO26: End-to-End Object Detection without NMS.

  5. VisionStudio. (2023). Highway Infrastructure Dataset.

希望这篇文章能够对大家有所帮助,如果有任何问题或建议,欢迎在评论区留言讨论!如果大家觉得这个项目不错,别忘了给个赞哦!也欢迎大家访问我们的项目主页,获取更多详细信息和源代码:http://www.visionstudios.ltd/


相关推荐
stsdddd10 小时前
YOLO系列目标检测数据集大全【第十六期】
yolo·目标检测·目标跟踪
hans汉斯12 小时前
【人工智能与机器人研究】基于分层控制的多智能体编队协同控制
网络·人工智能·学习·yolo·机器人
动物园猫12 小时前
无人机植物病害目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
yolo·目标检测·无人机
张飞飞飞飞飞13 小时前
多模态目标检测-LLVIP数据集处理(清洗+YOLO格式)
人工智能·深度学习·目标检测
ZHW_AI课题组15 小时前
利用YOLOv8在COCO128数据集上的目标检测
人工智能·计算机视觉·目标跟踪
YOLO数据集集合15 小时前
无人机航拍光伏板状态识别数据集 | 太阳能板异常检测、智能巡检、深度学习模型训练素材第10340期
人工智能·深度学习·yolo·目标检测·无人机
探物 AI1 天前
把 MambaOut 塞进 YOLOv11:会有什么样的反应
python·yolo·计算机视觉
ghie90901 天前
基于 MATLAB 的序贯蒙特卡洛概率假设密度多目标跟踪实现
开发语言·matlab·目标跟踪
Evand J1 天前
【MATLAB例程】自适应渐消扩展卡尔曼滤波(AFEKF)三维雷达目标跟踪|效果已调优,附下载链接和运行结果,代码直接运行即可
开发语言·算法·matlab·目标跟踪·卡尔曼滤波·自适应滤波·代码定制
快乐得小萝卜1 天前
部署:YOLO V11 TensorRT 推理&前后处理
yolo