L刘志敏

YOLOv11+ 端侧视觉检测:从训练到部署全链路

刘志敏
2026-05-28
6 分钟阅读
YOLO
计算机视觉
TensorRT
边缘计算

一、YOLOv11+ 新特性

YOLOv11+ 在 YOLOv8 的基础上进行了多项关键改进:
  • C3k2 模块:更高效的特征提取
  • 注意力机制:C2PSA 模块引入 PSA 注意力
  • 动态标签分配:更优的正样本匹配策略
  • 更轻量化:在同等精度下参数量减少 20-30%

二、数据集构建

2.1 数据标注

使用 LabelImg 或 Roboflow 进行标注,输出 YOLO 格式:
class_id x_center y_center width height

2.2 数据增强

from ultralytics import YOLO

model = YOLO('yolo11n.pt')
model.train(
    data='custom.yaml',
    epochs=100,
    imgsz=640,
    batch=16,
    augment=True,
    hsv_h=0.015,    # HSV 色调增强
    hsv_s=0.7,      # HSV 饱和度增强
    hsv_v=0.4,      # HSV 亮度增强
    degrees=5.0,    # 随机旋转
    translate=0.1,  # 随机平移
    scale=0.5,      # 随机缩放
    fliplr=0.5,     # 水平翻转
)

三、模型训练与优化

3.1 训练配置

# custom.yaml
path: ./datasets/custom
train: images/train
val: images/val
nc: 5  # 类别数
names: ['person', 'helmet', 'vest', 'fire', 'smoke']

3.2 训练技巧

技巧说明效果
预训练权重使用 COCO 预训练模型加快收敛
冻结骨干前 10 轮冻结 backbone防止过拟合
学习率预热前 3 轮线性增加 lr稳定训练
余弦退火学习率按余弦下降更好收敛

四、TensorRT 加速

4.1 导出 ONNX

model = YOLO('best.pt')
model.export(format='onnx', imgsz=640, simplify=True)

4.2 转换为 TensorRT

trtexec --onnx=best.onnx \
    --saveEngine=best.engine \
    --fp16 \
    --workspace=4096 \
    --minShapes=images:1x3x640x640 \
    --optShapes=images:4x3x640x640 \
    --maxShapes=images:8x3x640x640

4.3 性能对比

平台格式推理延迟吞吐量
Orin NXPyTorch45ms22 FPS
Orin NXTensorRT FP1612ms83 FPS
Orin NXTensorRT INT88ms125 FPS

五、端侧部署架构

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│   摄像头    │───▶│  边缘设备   │───▶│  云端服务   │
│  (RTSP)    │    │  (Orin NX) │    │  (告警平台) │
└─────────────┘    └─────────────┘    └─────────────┘
                        │
                   ┌────┴────┐
                   │  K3s    │
                   │ 边缘集群 │
                   └─────────┘

5.1 K3s 部署配置

apiVersion: apps/v1
kind: Deployment
metadata:
  name: vision-detection
spec:
  replicas: 1
  selector:
    matchLabels:
      app: vision-detection
  template:
    spec:
      nodeSelector:
        hardware: nvidia-jetson
      containers:
      - name: detector
        image: vision-detector:v1.0
        resources:
          limits:
            nvidia.com/gpu: 1

六、总结

YOLOv11+ 结合 TensorRT 在端侧设备上实现了高精度、低延迟的视觉检测。通过合理的数据增强、训练策略和推理优化,可以在 Orin NX 等边缘设备上达到 80+ FPS 的实时检测性能。
关于作者:十余年 Java 后端研发经验,近年专注于 AI 视觉识别与边缘计算领域。欢迎通过公众号「牛流刘」获取更多技术分享。