后续优化清单(现有系统 + 学习节奏)
用大白话说:这一页帮你搞懂——你这套系统接下来该先优化哪一块、按什么顺序学,才能又快又稳地把延迟压下来、把精度保住。
两份清单:① 你 cpu_model_stream.py 系统的工程优化(按优先级);② 学习节奏检查表。可直接当飞书/网站的「行动页」。
一、现有系统的工程优化(按优先级)
下面按「先做哪个、后做哪个」排好序了。P0 最该先动,越往后优先级越低。咱们一步步来,别跳。
P0 —— 先量再改(治本前先测)
动手前先量一量。解码(说人话:把视频流还原成一帧帧图)、推理(说人话:让模型看一眼图、给出结果)、绘制(说人话:在画面上画检测框)、推流编码(说人话:把画面像直播一样发出去)——先搞清楚现在卡在哪一格,改起来才有方向。模型后缀 .pt(说人话:原始 PyTorch 模型)还是 .engine(说人话:用 TensorRT 加速过的模型)也要先确认。
- 给 解码 / 推理 / 绘制 / 推流编码 各插计时打点,跑真实流,输出耗时表(见 项目 1)。
- 确认建任务存的模型后缀是
.pt还是.engine(决定前面量化讨论是否生效)。
P1 —— 编解码搬离 CPU(最大瓶颈)
你系统最大的瓶颈在编解码——它现在占着你的 CPU(电脑的脑子)。我们把这活儿挪到显卡硬件上,一下子就松了。
- 拉流改用 NVDEC 硬件解码(ffmpeg
-c:v h264_cuvid等),别软解。 - 推流改用 NVENC 硬编码(
-c:v h264_nvenc),替换libx264软编码(L636)。 - 解码搬进独立线程 + 队列,让解码慢 ≠ 推理停(解 Phase 0 阻塞点①)。
P2 —— 多路并发真并行
一路视频嫌慢?我们就让多路视频在 GPU(说人话:显卡,跑模型的「工厂」)上真·同时跑,把工厂喂满。显存(说人话:显卡上的内存,模型要占的地方,像工厂的仓库)也得省着用。
- 打开
fram_load_dir的模型缓存,同模型多路只加载一次(省显存)。 - 多路帧跨路 batch 一次推理(提 GPU 利用率,破
batch=1逐帧)。 - 用 CUDA streams 让多路在 GPU 上真重叠,而非排队串行。
P3 —— 精度与速度平衡
速度和精度常打架。我们用「量化」(说人话:把模型「减肥」,像压缩图片一样,体积小了、跑得快,但尽量不掉准头)来换速度。NMS(说人话:把重复的框合并掉,只留最好的)也顺手搬上显卡。掉点(说人话:变不准了)太多就往回找补。
- 导出 FP16.engine 实测(近无损 ~2×),替换 PyTorch FP16。
- 若还要更快:出 INT8.engine,同域校准 + 回测 mAP(说人话:衡量模型准不准的打分);掉点就走混合精度(检测 head 留 FP16)或退回 FP16。
- 后处理 NMS 用 EfficientNMS 插件在 GPU 做,别回 CPU。
P4 —— 精度专项(对应 Phase 2)
高空镜头常漏检远处的人。这项目专治这个,属于精度专项。
- 高空「近/远漏检」:拆评测 → 加高空难负样本 + cut-paste → 拆 person 子类 / 训高空专家 → 推理端时序投票 + 动态阈值。
P5 —— 可靠性
系统要能长期跑、出事要有人知道。这项目管「稳不稳」。
- 落盘
ARCHITECTURE.md(把 Phase 0 的架构图存进项目,团队可读)。 - 补「模型加载失败告警 + 自动回退 .pt」的日志。
二、学习节奏检查表(周维度)
这是给你排好的 10 周学习表,每周围绕一个重点,做完有交付物才算过关。节奏不对可微调,但纪律别丢。
| 周次 | 这周学什么 | 做完要交什么(验收标准) |
|---|---|---|
| W1 | Python 补强 + Phase 0 拆系统 | 口述系统数据流;Python 读码不卡 |
| W2 | 方法论 + 项目 1(分段计时) | 输出各段耗时表 |
| W3 | Phase 1 CNN + YOLO 原理 | 画 YOLO 全流程;讲清 CIoU |
| W4 | 动手:改损失/加注意力跑通 | mAP 对比报告 |
| W5 | Phase 2 训练数据 | 近/远分域评测 + 难负样本实验 |
| W6 | Phase 3 量化 + TensorRT | 三格式延迟/mAP 报告 |
| W7 | 多路改造一项 | 解码独立线程 / NVENC / 跨路 batch 任一项落地 |
| W8 | Phase 4 裸写最小 agent | agent 跑通调工具 |
| W9 | 映射 LangChain/OpenClaw | 六模块对照图 |
| W10 | Phase 5 视觉 Agent 收口 | agent 调视觉工具 demo |
三、面试/简历能讲的叙事(收口用)
学完这些,你面试/写简历时能讲一段完整故事。下面这段话可以直接拿去用。
「我搭过生产级实时视觉推理管线(ffmpeg 拉推流 + TensorRT 量化 + 多路并发),能压住延迟并保小目标精度;同时写过能编排这条管线的 agent,把视觉能力暴露成工具。两端都自己读码、自己调优,不靠黑箱。」
这段 = 视觉部署 + Agent 双修,对应市场稀缺的五项能力(界定问题 / 读码定位 / 领域纵深 / 生产落地 / 取舍判断)。