rtsp_tensorrt/docs/architecture.md
sladro e13cb3659c feat: 初始化项目结构
- 创建基本项目结构和目录
- 添加CMake构建系统
- 实现基础的配置解析功能
- 添加YOLO推理框架支持
- 集成RTSP和视频流处理功能
- 添加性能监控和日志系统
2024-12-24 16:25:03 +08:00

2.8 KiB
Raw Blame History

TensorRT Pipeline 架构设计

1. 整体架构

项目采用模块化设计,主要分为以下几个核心模块:

1.1 输入模块 (Input)

  • 视频文件读取(已完成)
    • 异步读取支持
    • 帧率控制
    • 帧队列管理
  • RTSP流读取开发中
  • 输入源管理(待开发)

1.2 推理模块 (Inference)

  • TensorRT引擎管理已完成
  • ONNX模型转换已完成
  • GPU加速预处理已完成
  • 批处理支持(已完成)
  • CUDA内存优化已完成

1.3 渲染模块 (Render)

  • 检测结果可视化(已完成)
  • 性能指标显示(已完成)
  • 自定义渲染样式(已完成)
  • 测试模式支持(已完成)

1.4 输出模块 (Output)

  • RTSP推流待开发
  • 视频文件保存(待开发)
  • 输出参数配置(待开发)

2. 核心类设计

classDiagram
    Pipeline --> InputManager
    Pipeline --> TrtInference
    Pipeline --> FrameDrawer
    Pipeline --> OutputManager
    InputManager --> RtspReader
    InputManager --> VideoReader
    OutputManager --> RtspWriter
    OutputManager --> VideoWriter

3. 数据流

graph LR
    A[输入源] --> B[预处理]
    B --> C[推理]
    C --> D[后处理]
    D --> E[渲染]
    E --> F[输出]
    
    subgraph GPU Memory
        B
        C
        D
    end

4. 性能优化

已实现优化

  • CUDA流水线
  • 异步读取
  • 零拷贝传输
  • 批处理基础支持

待实现优化

  • 动态批处理
  • 内存池优化
  • 多流并行
  • 跨模块流水线

5. 配置系统

已完成功能

  • YAML配置解析
  • 配置验证
  • 运行时参数调整
  • 渲染样式配置

待完成功能

  • 多路输入配置
  • 输出参数配置
  • 动态参数调整

6. 开发进度

已完成模块

  1. 配置系统 (100%)

    • YAML解析器
    • 配置验证
    • 参数管理
  2. 推理模块 (100%)

    • TensorRT引擎
    • 预处理器
    • CUDA优化
    • 批处理支持
  3. 渲染模块 (100%)

    • 基础渲染器
    • 帧绘制器
    • 性能显示
    • 测试支持
  4. 输入模块 (90%)

    • 视频读取器
    • 帧队列
    • 异步支持

开发中模块

  1. 输入模块扩展

    • RTSP支持
    • 多路输入
  2. 输出模块

    • 视频保存
    • RTSP推流

待开发功能

  1. 系统集成

    • Pipeline实现
    • 模块协调
    • 性能优化
  2. 测试完善

    • 系统测试
    • 性能测试
    • 压力测试

7. 后续计划

短期目标

  • 完成RTSP输入支持
  • 实现基础输出功能
  • 完善系统测试

中期目标

  • 实现完整输出模块
  • 优化性能
  • 完善文档

长期目标

  • 系统集成
  • 性能调优
  • 发布稳定版本