Files
wiki/AI核心技能原理说明.html
zdh 5167d9e36e
Deploy Wiki to Production / deploy (push) Has been cancelled
feat: 所有页面添加「← 返回知识库」导航链接
覆盖 27 个此前缺少返回链接的报告页和独立页面(共 50 个 HTML 页,index.html 首页除外)
- 标准报告页:header/header-bar 内插入 back-link
- 特殊页面:深国际、中医馆、YqBoot、交互式演示等单独适配
- 统一文案「← 返回知识库」,URL 按目录深度自动推算
2026-06-05 19:07:17 +08:00

512 lines
32 KiB
HTML
Raw Permalink 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.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AI 核心技能原理说明</title>
<style>
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{
font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans SC","Helvetica Neue",sans-serif;
color:#1d1d1f;background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;
}
.wrapper{max-width:800px;margin:0 auto;padding:56px 48px 72px}
h1{font-size:2rem;font-weight:700;letter-spacing:.04em;margin-bottom:8px}
h2{font-size:.875rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.08em;margin:40px 0 16px;padding-bottom:8px;border-bottom:1px solid #e5e5ea}
h3{font-size:1.05rem;font-weight:600;color:#1d1d1f;margin:20px 0 8px}
h4{font-size:.875rem;font-weight:600;color:#515154;margin:12px 0 4px}
p{margin-bottom:8px;font-size:.9375rem;color:#333}
ul,ol{margin:6px 0 6px 20px;font-size:.9rem;color:#333}
li{margin-bottom:4px}
pre{background:#f5f5f7;border-radius:6px;padding:14px 18px;overflow-x:auto;font-size:.8125rem;line-height:1.6;margin:10px 0;white-space:pre}
code{font-family:"SF Mono","Cascadia Code","Consolas",monospace;font-size:.8125rem}
p code,li code{background:#f5f5f7;padding:1px 6px;border-radius:3px;font-size:.8125rem}
table{width:100%;border-collapse:collapse;margin:12px 0;font-size:.85rem}
thead th{text-align:left;padding:8px 12px;font-size:.75rem;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e5e5ea}
tbody td{padding:8px 12px;border-bottom:1px solid #f0f0f3;vertical-align:top}
tr:last-child td{border-bottom:none}
strong{color:#1d1d1f}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}
.tag-row span{font-size:.75rem;color:#515154;background:#f5f5f7;padding:4px 12px;border-radius:4px;font-weight:500}
.summary-box{background:#f5f5f7;border-radius:8px;padding:18px 22px;margin:14px 0;font-size:.9rem}
@media(max-width:640px){
.wrapper{padding:28px 16px 48px}
h1{font-size:1.625rem}
table{font-size:.78rem}
pre{padding:10px 14px;font-size:.75rem}
}
@media print{
.wrapper{max-width:100%;padding:0}
h2{margin-top:28px}
}
</style>
</head>
<body>
<div class="wrapper">
<a href="./index.html" style="display:inline-block;margin-bottom:8px;color:var(--color-primary);text-decoration:none;font-size:13px;">← 返回知识库</a>
<h1>AI 核心技能原理说明</h1>
<p style="color:#86868b;font-size:.875rem">系统梳理大模型应用开发的关键技术原理,涵盖从基础模型到上层应用的完整技术栈。</p>
<div class="tag-row">
<span>LLM 基础</span><span>Prompt Engineering</span><span>Agent 架构</span>
<span>Skills 编排</span><span>RAG 知识库</span><span>AI Coding</span><span>YOLO 视觉</span>
</div>
<!-- ===== 1. LLM ===== -->
<h2>大语言模型(LLM)基础</h2>
<h3>核心原理</h3>
<ul>
<li><strong>Transformer 架构</strong>:所有现代 LLM 的基础。核心是 Self-Attention 机制——每个 token 计算与序列中所有其他 token 的相关性权重,并行处理,突破 RNN 的串行瓶颈,解决长距离依赖问题。</li>
</ul>
<h4>训练三阶段</h4>
<ol>
<li><strong>Pre-training(预训练)</strong>:海量语料上做 Next Token Prediction,学习语言的统计规律和世界知识</li>
<li><strong>SFT(监督微调)</strong>:用高质量指令-回答对训练,让模型学会"对话"</li>
<li><strong>RLHF(人类反馈强化学习)</strong>:用人类偏好数据训练奖励模型,再用 PPO 优化,对齐人类价值观。解决"模型能力强但不一定听话"的对齐问题</li>
</ol>
<h3>关键概念</h3>
<table>
<thead><tr><th>概念</th><th>说明</th></tr></thead>
<tbody>
<tr><td><strong>Token</strong></td><td>模型处理的最小文本单元,中文约 1.5-2 字符/token</td></tr>
<tr><td><strong>Context Window</strong></td><td>模型一次能处理的 token 上限(如 128K、200K</td></tr>
<tr><td><strong>Temperature</strong></td><td>控制输出随机性,0 = 确定性,1 = 高随机</td></tr>
<tr><td><strong>Top-P / Top-K</strong></td><td>采样策略,限制候选 token 范围,平衡多样性与质量</td></tr>
</tbody>
</table>
<h3>主流模型对比</h3>
<table>
<thead><tr><th>模型</th><th>特点</th><th>适用场景</th></tr></thead>
<tbody>
<tr><td><strong>GPT-4o</strong></td><td>多模态,综合能力最强</td><td>复杂推理、多模态任务</td></tr>
<tr><td><strong>Claude 4</strong></td><td>长上下文 200K,安全性高,代码能力强</td><td>长文档分析、代码生成</td></tr>
<tr><td><strong>DeepSeek-V3</strong></td><td>开源,MoE 架构,性价比极高</td><td>国内部署、成本敏感场景</td></tr>
<tr><td><strong>通义千问</strong></td><td>中文优化,阿里云生态深度集成</td><td>政务、企业中文场景</td></tr>
</tbody>
</table>
<!-- ===== 2. Prompt ===== -->
<h2>Prompt Engineering</h2>
<h3>核心方法论</h3>
<table>
<thead><tr><th>技术</th><th>原理</th><th>示例</th></tr></thead>
<tbody>
<tr><td><strong>Zero-shot</strong></td><td>不给示例,直接提问</td><td>"将以下文本分类为正面/负面:..."</td></tr>
<tr><td><strong>Few-shot</strong></td><td>给 2-5 个示例,模型学习输入输出模式</td><td>示例 1 → 示例 2 → 新输入</td></tr>
<tr><td><strong>CoT(思维链)</strong></td><td>要求模型"一步步思考",激活推理能力</td><td>"让我们一步步分析:首先...其次..."</td></tr>
<tr><td><strong>结构化输出</strong></td><td>约束输出格式(JSON / XML</td><td>"请以 JSON 格式返回,包含 name、age 字段"</td></tr>
<tr><td><strong>Self-Consistency</strong></td><td>多次采样 + 投票,提升推理准确率</td><td>同一问题跑 5 次,取多数答案</td></tr>
</tbody>
</table>
<h3>为什么 CoT 有效</h3>
<ul>
<li>LLM 是自回归的——每个 token 基于前文生成</li>
<li>写出推理过程 = 给模型更多"思考空间",中间步骤的 token 约束了后续输出的方向</li>
<li>复杂推理任务(数学、逻辑)中 CoT 可将准确率从 ~20% 提升到 ~80%</li>
</ul>
<h3>Function Calling 原理</h3>
<ol>
<li>定义函数的 JSON Schema(函数名、参数、描述)</li>
<li>模型判断用户意图 → 返回函数名 + 结构化参数(而非自然语言)</li>
<li>应用层执行函数 → 结果回传模型 → 模型生成最终回复</li>
<li>本质:让模型"学会"输出结构化指令,模型不直接调用函数,而是输出参数由应用层执行</li>
</ol>
<!-- ===== 3. Agent ===== -->
<h2>Agent 智能体</h2>
<h3>核心架构:ReAct 循环</h3>
<pre>用户输入 → Agent CoreLLM
├─ 规划(Plan)
├─ 调用工具(Tool Use)
├─ 观察结果(Observation
├─ 反思调整(Reflection
└─ 循环直到目标达成 → 输出</pre>
<h3>关键设计模式</h3>
<table>
<thead><tr><th>模式</th><th>原理</th><th>适用场景</th></tr></thead>
<tbody>
<tr><td><strong>ReAct</strong></td><td>Reasoning + Acting 交替:思考一步 → 执行一步 → 观察 → 再思考</td><td>需要与外部交互的任务</td></tr>
<tr><td><strong>Plan-and-Execute</strong></td><td>先生成完整计划,再逐步执行</td><td>复杂多步任务</td></tr>
<tr><td><strong>Multi-Agent</strong></td><td>多个 Agent 分工协作,各司其职</td><td>跨领域复杂流程</td></tr>
</tbody>
</table>
<h3>多 Agent 协作</h3>
<ul>
<li><strong>分工原则</strong>:每个 Agent 有明确角色和工具集,互不越界</li>
<li><strong>通信方式</strong>:共享内存/消息队列(Agent A 输出 → Agent B 输入)、中央调度器(Orchestrator 统一分发任务、汇总结果)</li>
<li><strong>冲突仲裁</strong>:定义优先级规则或由调度 Agent 决策</li>
</ul>
<h3>安全护栏(Guardrails</h3>
<ul>
<li><strong>输入护栏</strong>:敏感词过滤、注入攻击检测</li>
<li><strong>输出护栏</strong>:内容合规校验、事实性核查</li>
<li><strong>行为护栏</strong>:限制可调用的工具范围、设置最大循环次数防止死循环</li>
</ul>
<div class="summary-box">
<strong>Agent vs 普通 LLM 调用</strong>:Agent 的核心区别在于拥有自主规划 + 工具调用 + 循环决策能力,不是一次问答,而是多步自主完成任务。
</div>
<!-- ===== 4. Skills ===== -->
<h2>Skills 编排系统</h2>
<h3>设计理念</h3>
<p>将业务能力封装为标准化、可复用的 Skill 模块,由 LLM 根据用户意图自动选择并编排执行。</p>
<h3>架构流程</h3>
<pre>用户输入
意图识别(LLM
Skill 路由(语义匹配最相关的 Skill 组合)
编排执行(串行 / 并行 / 条件分支)
结果聚合 → 输出</pre>
<h3>Skill 定义规范</h3>
<pre>{
"name": "report_generator",
"description": "根据查询条件生成业务报表",
"parameters": {
"report_type": "销售报表 / 库存报表 / 财务报表",
"date_range": "起止日期",
"format": "PDF / Excel"
},
"auth_required": true
}</pre>
<h3>关键机制</h3>
<table>
<thead><tr><th>机制</th><th>说明</th></tr></thead>
<tbody>
<tr><td><strong>热加载</strong></td><td>Skill 注册/下线不重启系统,通过配置中心或数据库动态生效</td></tr>
<tr><td><strong>自动路由</strong></td><td>LLM 用语义匹配(Embedding 相似度)找到最相关的 Skill</td></tr>
<tr><td><strong>依赖解析</strong></td><td>Skill A 的输出可能是 Skill B 的输入,编排引擎自动处理依赖顺序</td></tr>
<tr><td><strong>降级策略</strong></td><td>首选 Skill 不可用时,自动回退到备选方案或转人工</td></tr>
</tbody>
</table>
<div class="summary-box">
<strong>与 Function Calling 的关系</strong>:Skills 编排是更高层的抽象,一个 Skill 可能包含多个 Function Call。类比:Skills 编排 ≈ 微服务 + API 网关 + 服务编排,只是"路由规则"由 LLM 动态决定。
</div>
<!-- ===== 5. RAG ===== -->
<h2>知识库(RAG)系统</h2>
<h3>为什么需要 RAG</h3>
<ul>
<li>LLM 训练数据有截止日期,无法回答最新问题</li>
<li>LLM 可能产生幻觉(编造不存在的事实)</li>
<li>企业私有数据不能用于训练公共模型</li>
<li>RAG = 检索(<strong>R</strong>etrieve+ 增强(<strong>A</strong>ugment+ 生成(<strong>G</strong>enerate</li>
</ul>
<h3>核心流程</h3>
<pre><strong>文档入库(离线)</strong>
原始文档 → 解析 → 分块 → Embedding → 存入向量数据库
<strong>在线问答</strong>
用户提问 → Embedding → 向量检索(Top-K)→ 拼接 Prompt → LLM 生成 → 返回</pre>
<h3>分块策略(Chunking</h3>
<table>
<thead><tr><th>策略</th><th>适用场景</th><th>优缺点</th></tr></thead>
<tbody>
<tr><td><strong>固定长度</strong></td><td>通用场景</td><td>实现简单但可能切断语义</td></tr>
<tr><td><strong>语义分块</strong></td><td>长文档</td><td>按段落/章节切分,语义完整</td></tr>
<tr><td><strong>滑动窗口</strong></td><td>需要上下文</td><td>相邻块有重叠,避免信息断裂</td></tr>
</tbody>
</table>
<h3>Embedding 模型选择</h3>
<ul>
<li>中文:bge-large-zh、text2vec-large-chinese、m3e</li>
<li>多语言:text-embedding-3-largeOpenAI)、bge-m3</li>
<li>Embedding 本质:将文本映射到高维向量空间,语义相近的文本向量距离近</li>
</ul>
<h3>检索优化</h3>
<table>
<thead><tr><th>技术</th><th>说明</th></tr></thead>
<tbody>
<tr><td><strong>混合检索</strong></td><td>语义检索(向量)+ 关键词检索(BM25)加权融合,提升召回率</td></tr>
<tr><td><strong>Rerank</strong></td><td>粗召回后用精排模型重排序,提升 Top-N 精度</td></tr>
<tr><td><strong>元数据过滤</strong></td><td>按时间/分类/权限等结构化字段预过滤,缩小检索范围</td></tr>
</tbody>
</table>
<!-- ===== 6. AI Coding ===== -->
<h2>AI Coding</h2>
<h3>主流工具原理</h3>
<table>
<thead><tr><th>工具</th><th>底层原理</th><th>特点</th></tr></thead>
<tbody>
<tr><td><strong>Claude Code</strong></td><td>Claude 模型 + 工具调用(文件读写/Shell/搜索),Agent 模式自主执行</td><td>复杂任务拆解,长期上下文</td></tr>
<tr><td><strong>GitHub Copilot</strong></td><td>Codex 模型,实时上下文(当前文件+相邻Tab+项目结构)补全</td><td>IDE 深度集成,毫秒级响应</td></tr>
<tr><td><strong>Cursor</strong></td><td>多模型支持,全文件上下文编辑,Composer 模式</td><td>重构友好,Diff 预览</td></tr>
<tr><td><strong>Aider</strong></td><td>CLI 工具,Git 集成,Map-Reduce 处理大代码库</td><td>终端场景,可脚本化</td></tr>
</tbody>
</table>
<h3>三种工作模式</h3>
<ol>
<li><strong>补全模式</strong>:根据光标上下文,实时续写代码(Copilot 类)</li>
<li><strong>对话模式</strong>:自然语言描述需求 → AI 生成/修改代码(Cursor / Claude Code</li>
<li><strong>Agent 模式</strong>:AI 自主规划 → 读写文件 → 执行命令 → 检查结果 → 迭代修复(Claude Code</li>
</ol>
<h3>工程化实践</h3>
<ul>
<li><strong>小步提交</strong>:每次 AI 修改控制在 200 行 diff 以内,便于 Review 和回滚</li>
<li><strong>测试驱动</strong>:先让 AI 写测试,再写实现——"测试是 AI 的 spec"</li>
<li><strong>代码审查</strong>:AI 生成代码必须人工 Review,重点关注边界条件和安全问题</li>
<li><strong>上下文质量</strong>:清晰的上下文(项目结构 + 技术栈 + 编码规范)大幅提升 AI 输出质量</li>
</ul>
<!-- ===== 7. YOLO ===== -->
<h2>AI 视觉(YOLO</h2>
<h3>核心思想</h3>
<ul>
<li><strong>You Only Look Once</strong>:将目标检测转化为回归问题</li>
<li>输入图片 → 单次 CNN 前向传播 → 同时输出边界框 + 类别概率</li>
<li>相比 R-CNN 系列的两阶段方法(先提候选区 → 再分类),YOLO 更快,适合实时场景</li>
</ul>
<h3>演进路线</h3>
<table>
<thead><tr><th>版本</th><th>关键改进</th><th>年份</th></tr></thead>
<tbody>
<tr><td><strong>YOLOv5</strong></td><td>工程化最成熟,社区生态好</td><td>2020</td></tr>
<tr><td><strong>YOLOv8</strong></td><td>无锚框检测,多任务(检测/分割/姿态)统一框架</td><td>2023</td></tr>
<tr><td><strong>YOLOv10</strong></td><td>NMS-Free,端到端,效率进一步提升</td><td>2024</td></tr>
</tbody>
</table>
<h3>训练部署流程</h3>
<pre>数据采集 → 标注(LabelImg / LabelStudio)→ 数据集划分(训练/验证/测试)
→ 数据增强(翻转/旋转/色彩抖动/Mosaic)
→ 模型训练(预训练权重微调)
→ 模型转换(ONNX / TensorRT
→ 边缘/服务端部署</pre>
<h3>网络架构:Backbone + Neck + Head</h3>
<table>
<thead><tr><th>组件</th><th>作用</th><th>YOLOv8 示例</th></tr></thead>
<tbody>
<tr><td><strong>Backbone</strong></td><td>特征提取网络,从原始图像中提取多尺度特征图</td><td>CSPDarknet + C2f 模块(跨阶段局部网络,提升梯度流动)</td></tr>
<tr><td><strong>Neck</strong></td><td>特征融合层,将不同尺度的特征图进行融合,增强多尺度检测能力</td><td>PAN-FPN(路径聚合网络 + 特征金字塔),自顶向下 + 自底向上双向融合</td></tr>
<tr><td><strong>Head</strong></td><td>检测头,输出最终的边界框坐标 + 类别概率 + 置信度</td><td>解耦头(Decoupled Head):分类和回归分支分离,各自优化</td></tr>
</tbody>
</table>
<h3>关键技术原理</h3>
<h4>锚框(Anchor Box</h4>
<ul>
<li>预定义的一组宽高比和尺度的候选框,模型预测的是相对于锚框的偏移量而非绝对坐标</li>
<li>YOLOv5:基于训练集聚类(K-Means)自动生成锚框尺寸</li>
<li>YOLOv8:引入 <strong>Anchor-Free</strong> 机制,直接预测目标中心点和宽高,消除锚框超参数调优</li>
</ul>
<h4>NMS(非极大值抑制)</h4>
<ul>
<li>同一目标可能产生多个重叠的检测框,NMS 用于去除冗余框</li>
<li>流程:按置信度排序 → 选取最高分框 → 计算与其他框的 IoU → 抑制 IoU > 阈值的框 → 重复</li>
<li>YOLOv10:引入 <strong>NMS-Free</strong> 训练,通过一对一标签分配(One-to-One Assignment)在推理时不再需要 NMS 后处理</li>
</ul>
<h4>损失函数</h4>
<table>
<thead><tr><th>损失类型</th><th>说明</th><th>常用函数</th></tr></thead>
<tbody>
<tr><td><strong>分类损失</strong></td><td>衡量类别预测的准确性</td><td>BCE Loss(二元交叉熵)</td></tr>
<tr><td><strong>定位损失</strong></td><td>衡量边界框坐标的准确性</td><td>CIoU Loss(考虑重叠面积 + 中心点距离 + 宽高比)</td></tr>
<tr><td><strong>置信度损失</strong></td><td>衡量"该框包含目标"的置信度</td><td>BCE Loss + Focal Loss(聚焦难分样本)</td></tr>
</tbody>
</table>
<h3>核心评估指标</h3>
<table>
<thead><tr><th>指标</th><th>定义</th><th>意义</th></tr></thead>
<tbody>
<tr><td><strong>IoU</strong></td><td>预测框与真实框的交集 / 并集</td><td>衡量定位精度,> 0.5 通常认为检测正确</td></tr>
<tr><td><strong>mAP</strong></td><td>所有类别 AP 的平均值</td><td>综合衡量检测精度,最常用的整体指标</td></tr>
<tr><td><strong>mAP@0.5</strong></td><td>IoU 阈值 = 0.5 时的 mAP</td><td>宽松标准,反映"找得到"的能力</td></tr>
<tr><td><strong>mAP@0.5:0.95</strong></td><td>IoU 从 0.5 到 0.95(步长 0.05)取平均</td><td>严格标准,反映"定位准"的能力(COCO 数据集主要指标)</td></tr>
<tr><td><strong>FPS</strong></td><td>每秒处理帧数</td><td>衡量推理速度,实时场景通常需要 ≥ 25 FPS</td></tr>
</tbody>
</table>
<h3>模型优化与加速</h3>
<table>
<thead><tr><th>技术</th><th>原理</th><th>效果</th></tr></thead>
<tbody>
<tr><td><strong>模型量化(INT8</strong></td><td>将 FP32 权重和激活值映射到 INT8,降低计算精度换取速度</td><td>推理速度 2-4x 提升,精度损失 < 1%</td></tr>
<tr><td><strong>模型剪枝</strong></td><td>移除不重要的通道/层,减少参数量和计算量</td><td>模型体积缩减 30-50%,速度提升</td></tr>
<tr><td><strong>TensorRT 加速</strong></td><td>NVIDIA 推理优化引擎:层融合、显存优化、内核自动调优</td><td>推理速度 3-5x 提升,适合 GPU 部署</td></tr>
<tr><td><strong>ONNX 导出</strong></td><td>将 PyTorch 模型导出为 ONNX 通用格式,跨框架/跨硬件部署</td><td>一次导出,多端部署(GPU / CPU / Edge TPU</td></tr>
<tr><td><strong>OpenVINO</strong></td><td>Intel 推理引擎,针对 CPU / VPU / FPGA 优化</td><td>x86 平台 CPU 推理加速,无需 GPU</td></tr>
</tbody>
</table>
<h3>主流检测模型对比</h3>
<table>
<thead><tr><th>模型</th><th>类型</th><th>精度 (mAP)</th><th>速度</th><th>适用场景</th></tr></thead>
<tbody>
<tr><td><strong>YOLOv8</strong></td><td>单阶段 Anchor-Free</td><td></td><td></td><td>实时检测、边缘部署</td></tr>
<tr><td><strong>YOLOv10</strong></td><td>单阶段 NMS-Free</td><td>更高</td><td>更快</td><td>端到端实时检测</td></tr>
<tr><td><strong>Faster R-CNN</strong></td><td>两阶段</td><td>最高</td><td></td><td>高精度离线分析</td></tr>
<tr><td><strong>SSD</strong></td><td>单阶段</td><td>中等</td><td></td><td>轻量级移动端</td></tr>
<tr><td><strong>RT-DETR</strong></td><td>基于 Transformer</td><td></td><td>较快</td><td>端到端 + 全局上下文建模</td></tr>
</tbody>
</table>
<h3>视频流推理 Pipeline(工程实践)</h3>
<pre>
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ RTSP │───→│ 解码 │───→│ 抽帧 │───→│ YOLO │───→│ 告警 │
│ 取流 │ │ FFmpeg │ │ (1-N fps)│ │ 推理 │ │ 推送 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
┌──────────┐
│ 目标跟踪 │
│ DeepSORT │
└──────────┘
</pre>
<ul>
<li><strong>取流</strong>FFmpeg / GStreamer 拉取 RTSP 视频流,支持 H.264/H.265 硬解码</li>
<li><strong>抽帧</strong>:按业务需求设置帧率(实时监控 5-10 fps,高精度场景 25 fps),跳帧策略节省算力</li>
<li><strong>推理</strong>:预处理(Resize + Normalize)→ GPU 推理 → 后处理(NMS / 坐标映射)</li>
<li><strong>目标跟踪</strong>:DeepSORT(卡尔曼滤波 + 匈牙利匹配 + ReID 特征),跨帧关联同一目标,实现轨迹追踪与计数</li>
<li><strong>告警推送</strong>:检测到目标 → 截图存证 → 通过 MQTT / WebSocket / 钉钉机器人实时推送告警</li>
</ul>
<h3>常见应用场景与模型选型</h3>
<table>
<thead><tr><th>场景</th><th>检测目标</th><th>推荐模型</th><th>部署方式</th></tr></thead>
<tbody>
<tr><td><strong>安全生产</strong></td><td>安全帽、反光衣、烟火、区域入侵</td><td>YOLOv8s</td><td>边缘盒子(Jetson Orin</td></tr>
<tr><td><strong>智慧交通</strong></td><td>车牌、车型、车流统计、违停</td><td>YOLOv8m + LPRNet</td><td>边缘服务器(T4 GPU</td></tr>
<tr><td><strong>农业物联网</strong></td><td>病虫害识别、果实计数、生长阶段</td><td>YOLOv8n</td><td>边缘网关 / 云端 GPU</td></tr>
<tr><td><strong>工业质检</strong></td><td>产品缺陷、尺寸偏差、装配完整性</td><td>YOLOv8x</td><td>工业相机 + GPU 工控机</td></tr>
<tr><td><strong>安防监控</strong></td><td>人脸、人体、异常行为、物品遗留</td><td>YOLOv8l</td><td>NVR + 算力卡 / 中心服务器</td></tr>
</tbody>
</table>
<h3>实施场景注意事项(实战经验)</h3>
<div class="summary-box">
以下基于实际项目踩坑经验总结——涉及 GB/T 28181 国标平台、海康/大华 SDK、开源方案(FastBee / WVP-GB28181 / FFmpeg + YOLO)在真实场景中的落地要点。
</div>
<h4>摄像头接入与取流</h4>
<table>
<thead><tr><th>问题</th><th>常见坑</th><th>对策</th></tr></thead>
<tbody>
<tr><td><strong>协议兼容</strong></td><td>不同品牌摄像头支持的协议不同——海康优先 ISUP / EHOME,大华有私有 SDK,ONVIF 各厂商实现程度不一</td><td>优先对接 GB/T 28181 国标(强制标准),兜底 RTSP;海康/大华单独适配 SDK 以获得完整 PTZ 控制和报警回调</td></tr>
<tr><td><strong>RTSP 稳定性</strong></td><td>RTSP 基于 UDP,网络抖动导致花屏、断流;长时间运行 TCP 会话可能被防火墙断开</td><td>使用 TCP 传输模式(<code>?tcp</code> 参数);增加断线重连 + 指数退避策略;FFmpeg 设置 <code>-rtsp_transport tcp -stimeout 5000000</code></td></tr>
<tr><td><strong>多路并发</strong></td><td>直接拉 50+ 路 RTSP 流导致带宽和连接数爆炸,单台服务器网卡成为瓶颈</td><td>分级架构:边缘网关(NVR / 工控机)本地拉流 + 推理,只上传告警事件到中心;或使用流媒体服务(ZLM / SRS)统一收流转发</td></tr>
<tr><td><strong>视频编码</strong></td><td>H.265 摄像头越来越普及,但部分开源推理框架对 H.265 硬解支持不佳</td><td>确认 GPU 硬解能力(NVIDIA NVDEC / Intel QSV);必要时在接入层统一转码为 H.264;优先选 H.264 流的摄像头子码流做推理</td></tr>
</tbody>
</table>
<h4>推理性能与资源规划</h4>
<table>
<thead><tr><th>问题</th><th>常见坑</th><th>对策</th></tr></thead>
<tbody>
<tr><td><strong>GPU 资源估算</strong></td><td>低估了多路视频并发推理的显存和算力需求,上线后发现 GPU 跑不满或 OOM</td><td>单路 YOLOv8s 约占用 1.5-2GB 显存;一张 T4(16GB)实际可跑 8-12 路(需留显存给解码 + 前后处理);做好压测再承诺路数</td></tr>
<tr><td><strong>抽帧策略</strong></td><td>全部 25fps 逐帧推理,GPU 资源浪费且告警风暴(同一个目标连续告警几十次)</td><td>按场景定抽帧率:周界入侵 5fps、烟火检测 2fps、车牌识别 10fps;配合跳帧 + 告警去重(同一目标同一区域 N 秒内只告警一次)</td></tr>
<tr><td><strong>子码流推理</strong></td><td>用主码流(1080P/4K)做推理,分辨率远超模型输入尺寸(640×640),浪费解码 + 预处理算力</td><td>摄像头开启子码流(704×576 或 640×480),专门用于 AI 推理;主码流仅用于录像存储和人工调阅</td></tr>
<tr><td><strong>批处理 vs 实时</strong></td><td>为提升吞吐量攒批次推理,但引入几百毫秒延迟,告警不及时</td><td>安防场景优先低延迟:单帧推理、不攒批;离线分析(如事后检索)可以用大 batch 提升吞吐</td></tr>
<tr><td><strong>模型选型误区</strong></td><td>追求大模型高精度(YOLOv8x),忽略边缘设备算力限制</td><td>边缘设备用 YOLOv8n/s + TensorRT INT8 量化;中心服务器可用大模型做二次复核(小模型初筛 → 大模型确认)</td></tr>
</tbody>
</table>
<h4>告警策略与误报控制</h4>
<table>
<thead><tr><th>问题</th><th>常见坑</th><th>对策</th></tr></thead>
<tbody>
<tr><td><strong>误报泛滥</strong></td><td>检测灵敏度设太高或未做区域过滤,一天几百条误报告警,客户直接关系统</td><td>多级过滤:置信度阈值(≥0.6)+ 检测区域 ROI 绘制(排除马路/绿化带等干扰区)+ 时间策略(工作时间告警、非工作时间静默)</td></tr>
<tr><td><strong>告警风暴</strong></td><td>同一事件持续触发(如一个烟头在画面中 5 分钟,告警 300 次)</td><td>告警去重窗口:同一摄像头 + 同一目标类别 + N 秒内合并为一条;告警升级机制:持续超过 M 分钟升级为严重告警</td></tr>
<tr><td><strong>目标跟踪丢失</strong></td><td>DeepSORT 在遮挡、光照变化、密集场景下 ID Switch 严重,导致计数不准</td><td>结合 ROI 区域限定跟踪范围;遮挡后给 ReID 特征匹配设置合理的超时时间(如 30 帧);密集场景考虑 ByteTrack(低分框也做匹配,抗遮挡更好)</td></tr>
<tr><td><strong>昼夜差异</strong></td><td>白天训练模型用在夜间红外画面,检测率断崖下降</td><td>训练集必须包含红外/微光场景样本(至少 20%);或分时段加载不同模型(白天模型 + 夜间模型)</td></tr>
<tr><td><strong>天气影响</strong></td><td>雨雪雾天气导致画面模糊,检测失效</td><td>数据增强时加入高斯模糊、亮度抖动、模拟雨雪噪声;极端天气自动切换为移动侦测兜底方案</td></tr>
</tbody>
</table>
<h4>存储与回溯</h4>
<table>
<thead><tr><th>问题</th><th>常见坑</th><th>对策</th></tr></thead>
<tbody>
<tr><td><strong>告警截图丢失</strong></td><td>只存告警记录不存截图/短视频,事后追查无依据</td><td>告警触发时同时保存:告警时刻前后各 3 秒的短视频片段 + 关键帧截图 + 检测框标注图;存储策略:热数据 SSD(7 天)、冷数据 NAS/对象存储(90 天)</td></tr>
<tr><td><strong>录像回溯</strong></td><td>告警记录和录像时间戳不对齐,事后查证时找不到对应录像片段</td><td>告警记录强制记录 NTP 时间戳(精确到毫秒)+ 摄像头编号 + 帧序号;对接 NVR 录像回放 API 实现一键跳转到告警时刻回放</td></tr>
<tr><td><strong>存储成本</strong></td><td>全量录像 7×24 存储,100 路 1080P 一个月几十 TB</td><td>常态录像:低码率 + 移动侦测录像(只录有动静的);告警录像:高清 + 完整片段;定期清理策略自动化</td></tr>
</tbody>
</table>
<h4>系统可靠性与运维</h4>
<table>
<thead><tr><th>问题</th><th>常见坑</th><th>对策</th></tr></thead>
<tbody>
<tr><td><strong>单点故障</strong></td><td>AI 推理服务挂了,所有摄像头告警全部中断,且没有感知</td><td>服务健康检查 + 自动重启(systemd / k8s 探针);关键通道双机热备;监控告警通道本身的心跳(超过 1 分钟无数据触发运维告警)</td></tr>
<tr><td><strong>GPU 掉卡</strong></td><td>GPU 长时间运行温度过高掉卡或驱动崩溃,进程无感知卡死</td><td>定时检测 GPU 可用性(nvidia-smi + CUDA 可用性探针);异常时自动重启推理服务;边缘设备注意散热和防尘</td></tr>
<tr><td><strong>模型更新</strong></td><td>模型迭代后直接全量替换,新模型在某个点位效果变差,缺乏回滚能力</td><td>灰度发布:先在 10% 通道上验证新模型,对比告警准确率;保留上一版本模型,支持一键回滚;记录模型版本 + 通道的告警效果基线</td></tr>
<tr><td><strong>时钟同步</strong></td><td>服务器、摄像头、NVR 时钟不同步,告警时序混乱,多路联动失败</td><td>全系统强制 NTP 对时;摄像头每天自动校时;告警时间以服务器收到帧的时间戳为准(而非摄像头 OSD 时间)</td></tr>
<tr><td><strong>日志与审计</strong></td><td>出了事故查不到为什么没告警——是模型没检测到?还是告警规则过滤了?还是推送通道断了?</td><td>全链路埋点:取流状态 → 抽帧计数 → 推理耗时 → 检测结果 → 过滤规则命中 → 告警推送状态,每个环节都可追溯</td></tr>
</tbody>
</table>
<h4>国标 GB/T 28181 对接注意事项</h4>
<ul>
<li><strong>SIP 信令</strong>:国标基于 SIP 协议,摄像头/NVR 作为 SIP UA 注册到平台。注意 SIP 超时设置(默认 3600 秒),需定期发送心跳保持在线</li>
<li><strong>目录推送</strong>:平台通过 Catalog 订阅获取设备列表。设备增删改后需触发目录同步,否则平台看不到新设备</li>
<li><strong>流媒体分发</strong>:AI 推理不要直接从摄像头拉流(摄像头并发拉流能力有限,通常 3-5 路),应通过国标平台的流媒体服务(ZLM / SRS)统一分发</li>
<li><strong>PTZ 控制</strong>:球机预置位巡航 + AI 检测联动——检测到目标后自动调用预置位、变焦放大做二次确认</li>
<li><strong>报警订阅</strong>:国标支持摄像头自带报警(移动侦测/IO 输入)的 SIP 订阅推送,可结合 AI 告警做交叉验证</li>
</ul>
<!-- ===== Summary ===== -->
<h2>技术全景总结</h2>
<table>
<thead><tr><th>方向</th><th>核心原理</th></tr></thead>
<tbody>
<tr><td><strong>LLM</strong></td><td>Transformer + 三阶段训练,Self-Attention 是核心</td></tr>
<tr><td><strong>Prompt</strong></td><td>通过输入设计引导模型行为,CoT 通过中间推理 token 约束输出路径</td></tr>
<tr><td><strong>Agent</strong></td><td>LLM + 规划 + 工具调用 + 循环决策 = 自主完成任务</td></tr>
<tr><td><strong>Skills 编排</strong></td><td>业务能力模块化,LLM 语义匹配 + 动态路由,自动编排执行</td></tr>
<tr><td><strong>RAG</strong></td><td>检索外部知识增强 LLM,离线入库 + 在线问答双 Pipeline,解决幻觉与知识时效</td></tr>
<tr><td><strong>AI Coding</strong></td><td>AI 辅助代码生成/审查/测试,Agent 模式实现自主开发闭环</td></tr>
<tr><td><strong>YOLO</strong></td><td>单阶段目标检测,Backbone+Neck+Head 架构,一次前向传播同时输出检测框与类别,适合实时视频流推理</td></tr>
</tbody>
</table>
</div>
</body>
</html>