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

152 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TensorRT Pipeline 架构设计
## 1. 整体架构
项目采用模块化设计,主要分为以下几个核心模块:
### 1.1 输入模块 (Input)
- 视频文件读取(已完成)
- 异步读取支持
- 帧率控制
- 帧队列管理
- RTSP流读取开发中
- 输入源管理(待开发)
### 1.2 推理模块 (Inference)
- TensorRT引擎管理已完成
- ONNX模型转换已完成
- GPU加速预处理已完成
- 批处理支持(已完成)
- CUDA内存优化已完成
### 1.3 渲染模块 (Render)
- 检测结果可视化(已完成)
- 性能指标显示(已完成)
- 自定义渲染样式(已完成)
- 测试模式支持(已完成)
### 1.4 输出模块 (Output)
- RTSP推流待开发
- 视频文件保存(待开发)
- 输出参数配置(待开发)
## 2. 核心类设计
```mermaid
classDiagram
Pipeline --> InputManager
Pipeline --> TrtInference
Pipeline --> FrameDrawer
Pipeline --> OutputManager
InputManager --> RtspReader
InputManager --> VideoReader
OutputManager --> RtspWriter
OutputManager --> VideoWriter
```
## 3. 数据流
```mermaid
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输入支持
- 实现基础输出功能
- 完善系统测试
### 中期目标
- 实现完整输出模块
- 优化性能
- 完善文档
### 长期目标
- 系统集成
- 性能调优
- 发布稳定版本