- 创建基本项目结构和目录 - 添加CMake构建系统 - 实现基础的配置解析功能 - 添加YOLO推理框架支持 - 集成RTSP和视频流处理功能 - 添加性能监控和日志系统
108 lines
2.6 KiB
Plaintext
108 lines
2.6 KiB
Plaintext
# 项目开发上下文记录
|
||
|
||
## 1. 环境信息
|
||
- 操作系统:Ubuntu 22.04 (容器环境)
|
||
- CUDA: 12.1
|
||
- TensorRT: 8.6
|
||
- OpenCV: 4.10.0
|
||
- 项目路径:/app
|
||
- SSH访问:root@localhost -p 2222
|
||
|
||
## 2. 开发历程
|
||
1. 基础框架搭建
|
||
- 完成项目目录结构
|
||
- 配置CMake构建系统
|
||
- 设置基本依赖
|
||
|
||
2. 配置系统开发
|
||
- 实现YAML配置解析
|
||
- 完成配置验证
|
||
- 测试通过
|
||
|
||
3. 推理模块开发
|
||
- 实现ONNX模型转换
|
||
- 完成TensorRT引擎管理
|
||
- 实现推理流程(预处理、推理、后处理、NMS)
|
||
- 所有测试通过
|
||
|
||
4. 输入模块开发
|
||
- 基本功能完成
|
||
- 待进行测试验证
|
||
|
||
5. 渲染模块开发
|
||
- 实现基础渲染器
|
||
- 实现帧绘制器
|
||
- 支持测试模式
|
||
- 所有基础测试通过
|
||
|
||
## 3. 当前状态
|
||
1. 已完成模块:
|
||
- 配置系统(config_parser)
|
||
- 推理模块(inference)
|
||
- CUDA辅助功能(cuda_helper)
|
||
- 渲染模块基础功能(render)
|
||
|
||
2. 进行中:
|
||
- 输入模块测试
|
||
- 渲染模块高级功能
|
||
|
||
3. 待开发:
|
||
- 输出模块(output)
|
||
- 系统集成
|
||
|
||
## 4. 关键文件位置
|
||
1. 配置文件:
|
||
- 主配置:/app/pipeline/configs/pipeline.yaml
|
||
- CMake配置:/app/CMakeLists.txt
|
||
|
||
2. 模型文件:
|
||
- ONNX模型:/app/models/yolov8n.onnx
|
||
- TensorRT引擎:/app/models/yolov8n.engine
|
||
|
||
3. 测试文件:
|
||
- 测试配置:/app/tests/CMakeLists.txt
|
||
- 测试用例:/app/tests/test_*.cpp
|
||
|
||
## 5. 注意事项
|
||
1. 代码规范:
|
||
- 使用C++17标准
|
||
- 遵循项目的错误处理机制
|
||
- 保持日志记录的一致性
|
||
|
||
2. 测试要求:
|
||
- 所有新功能必须有对应的单元测试
|
||
- 测试覆盖率要求大于80%
|
||
- 确保内存管理正确
|
||
|
||
3. 性能考虑:
|
||
- 注意GPU内存使用
|
||
- 关注CUDA同步点
|
||
- 避免不必要的数据拷贝
|
||
|
||
## 6. 后续开发建议
|
||
1. 完成输入模块测试
|
||
2. 添加渲染模块高级功能
|
||
3. 开发输出模块
|
||
4. 进行系统集成
|
||
5. 性能优化和测试
|
||
|
||
## 7. 已知问题
|
||
1. 推理模块:
|
||
- 需要监控GPU内存使用
|
||
- 可能需要优化批处理逻辑
|
||
|
||
2. 输入模块:
|
||
- 需要完善错误处理
|
||
- 待进行性能测试
|
||
|
||
3. 渲染模块:
|
||
- 需要添加高级渲染功能
|
||
- 需要进行压力测试
|
||
- 需要测试多线程安全性
|
||
|
||
## 8. 变更历史
|
||
1. 2024-01-xx:完成基础框架
|
||
2. 2024-01-xx:完成配置系统
|
||
3. 2024-01-xx:完成推理模块
|
||
4. 2024-01-xx:输入模块基本完成
|
||
5. 2024-01-xx:渲染模块基础功能完成 |