我们的目标是:给程序一段游戏录像,它能挑出值得看的图片,找到其中的界面元素,读出文字和数字,再把结果放回原图,让人逐项检查。

现在有一条能运行的离线流程,也有一些有效的局部方法,但还不能稳定读全每张关键帧。 最大缺口不是少一篇推理文章,而是有些区域被跳过、有些对象漏框、数字仍会读错,以及内容还没可靠地连到同一支部队。

这轮研发到此暂停,先交给 CTO 阅读和反馈。下面是截至 9 月 24 日的收尾报告;“下一步”是恢复后可选的工作,不是正在后台继续执行的承诺。

1. 建议先看总图,再看具体问题

第一次阅读,沿完整目录从选帧一路读到输出;每章先解释为什么要做、算法看什么,再看实验。只想验收本轮,可以先看下面这张表,然后打开 P912 的失败图。

P00 是总报告;P20、P40 等组报告负责说明这一组的整体状态。P900 之后是研究与未采用方案。编号表示责任,不是完成度;生产目录里的代码也可能仍是可选功能,尚未成为默认流程。

flowchart LR
 A["Video"] --> B["Select clear frames"]
 B --> C["Locate readable regions"]
 C --> D["Read text and detect objects"]
 D --> E["Link observations"]
 E --> F["Review on source images"]

图 1:一处数字最终可用,前面每一步都不能缺。某个读字模型成绩好,不等于整条流程已完成。

2. 各组现在能做什么

处理步骤 已有结果 主要缺口与阅读入口
输入与选帧 直接读原视频、小批次计算,不再先生成代理视频;已比较五帧与三帧质量方法 短提示仍漏,三帧方案还会选进半透明图,未采用。看 P20
场景与布局 能利用文字和画面提出场景;部分清楚面板不再被整图“未知”一起挡住 暂停、遮挡、淡入需要不同检查;局部放行不等于整图可读。看 P40
文字与数字 15张开发生物面板165项与参考相符;同源六张书页名称—角标配对102/126→122/126 已曝光回归;完整说明、暗字、错误区域仍会失败。看 P60
视觉对象 身体、行动卡、数量牌和状态小图标各有定位方法;四张图行动卡数量47/49相符、2未知 物种、位置、数字不能合成一个分数;底栏技能、玩家头像尚缺整帧接线。看 P80
对象与空间关系 身体—牌保留位置候选;六角格有保存的标定;60张旧图做了三种配对对照 身体、脚下牌、行动卡还没稳定关联为同一支部队;加网格的联合比较未跑。看 P100
组合与输出 两段录像六个固定区间留下32张候选,全部完成运行;可续跑、回看来源 只有少量逐字段参考,没有整帧准确率;新结果仍分布在时间线和对照页。看 P120
数据与交付 主要引擎、小训练和网站已在同一 Python 环境实跑;标注与预测分开存 来源改名副本、完整对局隔离、残余旧入口和重复大JSON仍待整理。看 P140

这些结果不是同一批数据,不能把分子分母相加。文中的“相符”指程序结果与逐图填写的参考一致;参考仍待 CTO 复核,不能直接叫产品准确率。“拒识”指程序没有给出确定读数,不等于画面没有这个元素。

3. 最后一轮:牌找到了,数字真的读对了吗

战场上一个生物模型通常代表一支部队,脚下红色或蓝色的小牌显示剩余数量。这轮从三段录像的固定时间窗口选出30张图,其中9张没有数量牌。其余画面共标出208块牌:202个数字可读、6个看不清。先填写参考,再运行三个参数已固定的检测器。

新整图模型找到208块,却多画5个框;混合训练模型找到205块、多画1个。更严格检查框的位置时,成绩又会下降。找牌有了进展,但不能只拿“208/208”宣布成功。 定位实验与失败保留全部原图。

最后保持新整图模型的213个自动框不动,不用人工框帮忙,只比较五种数字读法:

同202个可读数量 读对 读错 拒识
PP-OCRv6 原尺寸 184 5 13
同一PP模型四倍补边 122 13 67
本地 PaddleOCR-VL 原尺寸 199 3 0
同一VL模型四倍补边 200 2 0

灰度对照和严格定位结果放在完整实验。放大对PP明显不利,对VL只净增一个正确读数,还引入了新的 80→30 错误;两次VL都会把遮挡的 185 读成 18。它们还在一个假框、五个参考不可读的位置输出数字。因此保留候选,不换默认。

三种PP输入合计21.42秒,两种VL输入合计69.14秒,均处理213区域,含启动和读原图;不含检测、视频解码,也不是单图常驻延迟。没有新存截图、裁图或视频,只增加文字记录和审阅页。参考仍由助手填写、待CTO审核;这批图已曝光,不能再作新的盲测。

打开30图数字审阅页。可以只看错误、拒识与未知,展开模型原文,再跳回完整截图。它需要本机标注服务运行。

4. 怎样读成绩,才不会高估进度

“跑完”只表示程序完成;“有输出”只表示覆盖;“与参考相符”才是在特定数据上的正确结果。助手参考不等于CTO确认,已看过的回归图也不等于未见测试。

现在最完整的一次整帧检查,仍是 P120 的32张候选。它发现:四张战斗首帧的英雄数字和计时48项相符,脚下41个可读数量初次却只读到16个。后来找牌模型把同批数量提高到34个相符、7拒识,其中一个新增相符来自修正人工框,不是算法改善;另一帧还有 21→211 错读。局部高分与整帧缺口可以同时存在。

没有完整身体身份、全部图标与对象关系参考,就没有可信的“整屏识别率”。接线、代码测试和速度也分别报告,不用其中任何一项代替它。

失败没有删掉:P900 研究目录列出补数据后退步、直接放大失败、联合大框漏检增加、过渡分类器未采用等结果。P912解释这些取舍;早期文章保留各轮原分母和失败样例。

5. 恢复以后,先完成小而完整的一张图

先等待CTO核对标注与报告,尤其是遮挡数字、存活身体和容易混淆的场景。之后建议按下面顺序恢复,而不是再同时增加很多模型:

  1. 冻结一小批整帧验收参考。 按完整对局与录像来源隔离,补齐场景、身体、牌、数字、行动卡和可见面板;看不清的明确留空。已曝光的30张只作回归。
  2. 补齐默认流程与审核入口。 明确哪些候选值得接入;同一帧的旧结果、新结果和失败都在一个页面可查,不能只让模型在独立脚本里表现好。
  3. 解决联合关系。 在同一批参考上比较身体单独、身体+牌、身体+网格、三者联合。网格不可靠时不用它,不能硬把目标吸到最近格子;行动条与身体的身份关联单独验收。
  4. 再补剩余UI。 底栏技能、玩家身份、状态图标名称与时长仍有空白。状态图标读不出时,未来可以用悬浮文字补证据;在线鼠标执行属于后续模块,本轮不做。

每一步同时报告漏掉多少、错报多少、拒识多少、整张全对多少,以及端到端耗时。隐藏技能与装备推断、分析视频生成继续暂停;先把可见画面读稳。

6. 想核对代码状态,再看工程明细

下面由项目状态文件生成,方便查接线、证据路径和未测项。它是上文的明细,不需要先读完才能理解结论。

研发收尾时,统一环境的Perception全套4,106项测试、跨模块边界71项,以及博客17项检查均通过。首次运行有一项因为测试临时目录名太长,触发Windows路径保护;缩短目录后全套重跑通过,没有修改保护规则。这些只证明所检查的代码行为和页面链接,不替代原图准确率。网页已做桌面、窄屏和失败案例入口检查,收尾报告现已公开发布。本轮继续整理文字与阅读顺序,博客检查已增加到18项并通过;没有重跑模型实验,不把编辑更新计成识别能力提升。

展开任务状态、测量范围和工程证据

最后核对:2026-09-24 · 交付进度,不是完成证明

代码、历史报告与接线盘点;跨来源整帧验收未完成。统一环境的真实模型兼容检查见 p140,不计作准确率验收。

当前主处理程序的默认链路声明了 12 类输出,7 类已接入。接入数不等于准确率,也不表示能读完整张图。

未列入这条默认链路:战场生物、生物数量牌/血条、底栏技能与图标、玩家头像/己方颜色、魔法状态图标。其中部分已有可选处理分支,但还不能算默认的整帧能力。

整帧准确率
未测
统一环境 p50 / p95 耗时
未测
独立录像 / 已审字段
未汇总

p50 是一半运行能达到的耗时,p95 是 95% 运行能达到的耗时。尚未在统一环境测量,不能用某个局部模型的速度替代。

p01 · 模块与观察合同

已集成待验收

已有薄观察合同;不借重命名改变公共语义。

p02 · UI 全覆盖清单

原型 / 待接入

两录像32候选全部保留,参考待CTO。四图英雄/时钟48相符;行动卡47/49、2拒识。脚下数量原16/41,固定模型33/41;修正一处参考框后34/41、7拒识,另帧已发现21→211错读。完整整帧参考与独立验收未完成。

p03 · 路线、发布与风险

原型 / 待接入

9篇P组报告、25篇公开方法博客与观察合同已完成本轮阅读整理;成功与失败均留档,历史成绩保持原分母。仅本地更新、未公开发布,整帧验收未完成;收尾后暂停等CTO反馈。

已有测量能说明什么

新两录像固定区间保留并展示的候选帧:32/32 frames。 六个12秒区间,全部候选有运行清单。六首帧有类别检查,四战斗首帧有局部字段参考;不是完整标注或独立验收。

下一步:按CTO要求收尾暂停,先审博客与原图,不自动继续。恢复后先做新来源整帧参考和来源隔离,再解决数量OCR一致错读/拒识、时间线接线与身体—牌—格关系;底栏技能/玩家头像仍待接入。多级完整JSON重复仍待迁移,不再优化书顶重复资源。

返回 p00 总报告 · 全部阅读目录