边缘 AI:站内复标 + 主动学习闭环可执行手册
日期:约 2026-10-25(Asia/Shanghai)
定位:对齐 90 天路径 D31–60「现场数据飞轮」 —— 边缘抓难例 → 脱敏入库 → 站内/内网标注 → 微调(仅 A 轨)→ 许可门禁 → 签名仓 OTA。
本文不是标注外包合同、个人信息保护影响评估(PIA)终稿或标书金标准承诺书。
衔接:edge-ai-license-ledger-template.md、edge-ai-model-signstore-mender-cookbook.md、edge-ai-event-schema-acceptance.md、edge-ai-ppe-smoke-fire-model-shortlist.md、edge-ai-intrusion-e-fence-sop.md、edge-ai-insulator-nest-fod-shortlist.md、edge-ai-power-dev-roadmap.md。
0. 一句话闭环
公开集只冷启动;商用精度靠站内复标。 边缘侧按触发规则抓难例(低分 / 高熵 / 规则不一致 / 人工驳回 / 长期 suspect)→ 抓拍脱敏 + 权属落账 → Label Studio 或 CVAT 离线标注 → 按 task 分桶进训练集 → 许可白名单 + A 轨骨干微调 → 新旧模型 A/B → Ed25519 签名仓发布。难例集是内部飞轮资产,禁止冒充公开金标准写进标书。
边缘推理 ──触发──► 难例队列(按 task 分桶)
│ 脱敏 / URI / 权属
▼
标注台(内网)
│ 抽检通过
▼
训练集增量 + 验证集冻结
│ 许可台账门禁
▼
A 轨微调 → INT8 导出
│ A/B 达标
▼
签名仓 model.ver OTA(canary→prod)
1. 难例触发(边缘侧,可配置)
所有触发写入同一难例队列,字段至少:site / bay / cam / task / event_code / score / entropy / quality / snap_uri / trigger_reason / ts(对齐事件 Schema)。
| 触发码 | 条件(建议默认) | 适用 task | 备注 |
|---|---|---|---|
LOW_SCORE |
最高类置信度 ∈ [T_low, T_high)(如 0.35–0.55) |
ppe / smoke / intrusion / insulator / fod | 过低常是空帧,过高是「已知会」;中间带最有信息量 |
HIGH_ENTROPY |
分类/多类 softmax 熵 > H_th;或 top1–top2 差距 < δ | 同上 | 与 LOW_SCORE 可 OR,去重按帧哈希 |
RULE_MODEL_MISMATCH |
规则层与模型层结论冲突(例:多边形内有轨迹但检测无 person;油位阈值突变但视觉「正常」) |
intrusion / meter / oil | 优先抓,往往暴露标定或 ROI 漂移 |
HUMAN_REJECT |
值班/安监在 HMI 点「误报」或「漏报补录」 | 全 task | 驳回带标签:false_pos / false_neg / wrong_class |
SUSPECT_STALE |
quality=suspect 且超过 N 小时(建议 24–72h)无人确认/升级 |
全 task(PPE/闯入默认 suspect) | 防「永远灰色」;到期强制进复审桶 |
硬规则
- 触发只采样抓拍 + 元数据,不改告警业务逻辑;业务仍走防抖与默认
suspect。 - 同一
(cam, task, 近似帧哈希)冷却窗(建议 5–15 min)内最多入队 1 次,防雨雾刷屏。 SMOKE_FIRE/PERSON_INTRUSION/PPE_VIOLATION禁止因难例触发去联跳闸或强制联锁。
2. 抓取与脱敏 / 权属
2.1 抓拍与 URI
| 项 | 要求 |
|---|---|
| 对象 | JPEG/PNG 单帧为主;可选前后各 1–2 s 短视频(带宽配额另计) |
| 存储 | 站端或站控区对象存储;snap_uri 用短时效预签名 URL或内网路径,日志禁止落长时效完整链 |
| 元数据旁路 | JSON sidecar:model.ver、config.ver、ROI/多边形版本、触发码 |
| 保留期 | 难例原图建议 30–90 天可配;标注完成后可迁「训练集冷存」,与告警抓拍保留期分策略 |
2.2 脱敏(默认开启)
| 对象 | 处理 | 说明 |
|---|---|---|
| 人脸 | 检测框高斯模糊 / 马赛克 | 作业安监与闯入帧必做;算法调试可用「未脱敏副本」须物理隔离与单独授权 |
| 车牌 / 车辆号 | 模糊 | 进站工程车常见 |
| 铭牌 / 二维码 / 工号牌 | 按业主要求模糊或裁切 | 避免泄漏资产编号到外包标注环境 |
| 音频 | 本闭环默认不采 | 若异音任务另开通道,单独权属 |
2.3 权限与合同条款(写入采购/运维附件)
| 条款要点 | 建议写法(摘要) |
|---|---|
| 数据权属 | 站内抓拍与复标标签 归业主;承建方仅限项目期处理 |
| 出境与云 | 默认 不出站控区 / 不出内网;禁止默认上传公有云标注 SaaS |
| 分包标注 | 须书面授权 + 脱敏集;禁止二次转发 |
| 模型衍生 | 基于业主数据微调的权重,商用分发边界在合同中写清 |
| 销毁 | 项目结束或保留期到,出具删除证明 |
3. 标注工具短名单(许可核验约 2026-10-25)
| 工具 | 形态 | 开源许可(核验要点) | 电力站内建议 | 风险 |
|---|---|---|---|---|
| Label Studio Community | 可自托管 | 核心 Apache-2.0(GitHub HumanSignal/label-studio;Community ≠ Enterprise) | 首选:多模态模板、导出 YOLO/COCO;内网 Docker | Cloud/Enterprise 功能(SSO/高级 RBAC 等)另购;勿把 SaaS 条款当成 Apache |
| CVAT Community | 可自托管 | 核心 MIT(cvat-ai/cvat);FFmpeg 等依赖含 LGPL/GPL;/serverless 第三方资产可能含 NC |
首选:框/多边形/视频插值强;闯入多边形复标友好 | 部署前扫依赖与 serverless 资产许可;Online/Enterprise 另议 |
| Roboflow Annotate | 托管为主 | 标注产品闭源;其 Inference 等库另有 Apache/MIT,≠ 可自托管标注 UI | 仅允许:无敏感帧的公开冷启动实验;站内难例 默认不用 | 数据上传条款、信用点计量;YOLO 系 AGPL 权重商业自托管需另购许可(见 Roboflow Licensing) |
| 离线可选项 | labelImg / anyLabeling / X-AnyLabeling 等 | 多为许可型工具;逐仓核 SPDX,不确定标 unknown | 单机断网柜、小批量补框;导出后仍要进统一版本库 | 协作与抽检弱;勿多工具并行导致标签体系分叉 |
落地默认:站控区 Label Studio 或 CVAT 二选一(或分 task:检测用 CVAT、多类型表单用 LS);Roboflow 不进难例主路径。
4. 回流配额与分桶
对齐路线图 W5–6:PPE/闯入合计约 2k~5k 框(或等价片段)为阶段量级,用周配额防止边缘盘与标注人力被刷爆。
task(与 Schema task 对齐) |
周难例上限(建议) | 分桶优先级 | 验证集冻结策略 |
|---|---|---|---|
ppe |
800 帧 / 站 | HUMAN_REJECT > MISMATCH > LOW_SCORE | 每站固定 10–15% 持出,不进训练 |
smoke / fire |
400 | 夜间误报、蒸汽负样本优先 | 烟/汽难区分集单独桶 |
intrusion |
600 | MISMATCH(区内外)优先 | 多边形版本变更后重评持出集 |
insulator / nest / fod |
300(巡检季可上调) | 缺陷稀有类超采 | NC 公开集不与站内混仓商用 |
meter / oil / thermal |
200 | 读数争议帧 | 金标准读数由人工录入 sidecar |
| 全站合计 | ≤ 2000 帧/周(可配) | 超限按优先级丢弃或降采样 | 周报:入队/标注/废弃 |
分桶目录示例:datasets/{site}/{task}/{yyyyww}/{trigger}/;标签与许可台账行 DS-xxx 关联。
5. 训练门禁 → 签名发布
| 门禁 | 通过条件 | 失败处置 |
|---|---|---|
| 许可台账 | 基座权重、增强库、导出工具均在白名单;无 NC / 无未评估 AGPL 进入商用微调;台账行状态 green/conditional 且有法务签批引用 | 停训;黄灯仅实验仓 |
| A 轨骨干 | PPE/闯入/烟火/绝缘子检测默认 YOLOX / RTMDet(Apache-2.0) 等短名单 A 轨;Ultralytics 等仅评测或已签 Enterprise | 禁止把评测轨权重写入生产 model.ver |
| 数据配比 | 本阶段训练集 现场复标占比 > 公开冷启动(路线图 D60 门禁) | 未达标不升 prod |
| A/B 指标 | 同验证集 v1:mAP@0.5(或任务约定 F1)不劣于上一 model.ver;关键误报率(蒸汽当烟、区外当闯入等)不升;INT8 相对 FP 跌落写入报告 |
保留旧 current;canary 自动回滚 |
| 制品绑定 | model.ver = 内容哈希;绑定 schema_ver、校准集哈希、config.ver |
缺一不可签名 |
| 签名 OTA | Ed25519 签模型包;先 channel=canary 24–48h 无 MODEL_VERIFY_FAIL 再 prod;系统轨仍走 Mender,分轨 |
错签必上送失败事件,不切换 |
训练配方(摘要):难例超采 + 同类易例欠采;保留公开冷启动负样本防遗忘;导出路径跟网关 BOM(.rknn / .bmodel / .engine…)。
6. 两周试点清单(D31 起可直接排期)
| 日 | 动作 | 验收 |
|---|---|---|
| D1 | 选定 1 站 2~4 路;打开 ppe+intrusion 触发;配额 500 帧/周 |
队列有入账、冷却生效 |
| D2 | 脱敏管道上线;合同权属条款 checklist 签字 | 抽 20 张无人脸清晰可见 |
| D3–4 | 内网拉起 Label Studio 或 CVAT;导入预标(当前模型框) | 标注员完成培训集 50 张 |
| D5–7 | 标注 ≥800 框(PPE+闯入);双人抽检 ≥10% | 一致率阈值写入周报 |
| D8–9 | A 轨微调 + INT8;许可台账勾选 | 实验仓产出候选 model.ver |
| D10–11 | 验证集 A/B;canary OTA | 指标表 + 无验签失败 |
| D12–14 | 扩 smoke 触发;复盘误报 Top10;冻结验证集 v1 哈希 |
D60 门禁材料初稿 |
并行注意:表计/红外 PoC 可同窗启动,但难例配额与标注人力分开记账,避免安监闭环被表计抢光。
7. 禁止事项与标书红线
- 禁止用难例集、内部复标集、未公开权属的站内视频,在标书/投标技术规格中写作「公开金标准」「开源 benchmark 成绩」。
- 禁止把 Roboflow 云端自动标注结果(含站内上传帧)直接当商用训练集,除非合同与出境评估已过。
- 禁止 NC(如部分 InsPLAD 用法)与站内数据混训后声称「可商用权重」。
- 禁止难例触发联锁保护;事件默认
suspect,确认流见 Schema 文档。 - 禁止未签名或许可台账未过的权重进入签名仓
prod。 - 公开集指标只可标注为「冷启动参考」;现场指标必须写明
site、验证集哈希、model.ver。
8. 与系列文档的接口
| 文档 | 本闭环如何用 |
|---|---|
| 许可台账 | 每次增量训练前勾选基座/数据/工具行;新增自采行补权属 |
| 签名仓 + Mender | 只发布过门禁的包;MODEL_VERIFY_FAIL 监控纳入周报 |
| 事件 Schema | 触发码进扩展字段或 trigger_reason;quality/task/event_code 复用 |
| PPE / 闯入 / 绝缘子短名单 | task 与 A 轨类名以此为准,复标标签枚举锁定 |
| 90 天路径 | 本手册 = D31–60「现场复标 + 数据飞轮」的操作细化 |
9. 来源与核验说明
| 主题 | 核验摘要(约 2026-10-25) | 置信 |
|---|---|---|
| Label Studio Community 许可 | GitHub / PyPI 示 Apache-2.0 | 高 |
| CVAT Community 许可 | GitHub LICENSE 为 MIT;文档提示 FFmpeg LGPL/GPL、serverless 第三方可能 NC | 高(依赖须再扫) |
| Roboflow Annotate | 标注产品 闭源托管;商业模型许可另见官网 Licensing | 高 |
| 周配额与框数量级 | 沿用路线图 W5–6 量级,非现场承诺值 | 中(按站裁剪) |
不确定项标 unknown,以台账法务复核为准。
字数目标约 2000–3500 汉字;表格优先;仅落盘,不替代法务与安监规程。