摘要
Logs 战斗日志的每一行形如 [时:分:秒]玩家:某生物(数量)受到了N伤害。死亡单位:M。。生产读取器对每一行读三次 OCR,三次解析结果完全一致才接受。本实验先在 6 张难例截图上测量这条基线,发现 16 行“未知”都有同一个原因:三次读取中至少一次丢了时间戳的右括号 ],导致这一次句式解析失败——这是句式不一致,而不是 OCR 分数低(这些读取分数都在 0.90 以上)。
于是只冻结一个候选:对这些未知行,如果恰好有两次读取解析出完全相同的结果、另一次解析失败,就接受。这个候选只处理已保存的 OCR 结果,不读图、不调用 OCR。结果:正确输出的日志行从 24 增到 36,没有新增错误;负例页仍然零误报。
本文的结果数字取自实验保存的结果摘要文件(该实验目录只有协议文档,没有单独的结果报告)。
要回答的问题
- 生产日志读取器在短页、滚动长页、半透明背景页和非日志页上的逐行、逐字段表现如何?
- 未知行的主要原因是什么?能否用一个不改读图、不补字的保守规则把它们安全地找回?
数据与来源
6 张已有的原生 PNG,来自 5 段录像:
| 案例 | 内容 |
|---|---|
| 短页 | 5 行可见日志 |
| 滚动长页 | 29 行可见日志(1 行全文看不清,记为不确定) |
| 洞穴背景页 | 6 行可见日志,半透明背景 |
| 3 张负例页 | 战场、英雄画面、能力说明(其中“660 伤害”是说明文字,不是日志事件) |
合计 40 行可见日志、39 行可读。6 张原图在新预测前各以原生分辨率看过一次;参考文字复用之前已审的逐字标签,看不清的不按目录补字。这些来源以前曝光过,所以是开发评估,不是盲测。
方法
固定评分规则(事先写定):
- 参考框只交给评分器,不进入 OCR。预测行与最近的参考行纵向中心相距 16 像素以内才匹配;一行对应多个预测算歧义,不拼接。
- 全文比较只做 NFKC 规范化和去空白,保留所有标点、括号、玩家名拼写。
- 字段比较(伤害、死亡数、失去/恢复魔力、法术)必须在对应的行和角色上,玩家、时间、主体都要对;对的数字放在错的行上也算错。参考中未知的字段不计分,不当作 0。
- 整页正确要求所有已知行都对、零多余行、负例页零误报。
基线: 每张图调用一次常驻生产路由器的日志模式,保存完整响应和原始 OCR 结果。
唯一候选: 对基线的未知行,要求恰好有 3 次已有读取,每次文本非空、不超过 2048 字符、分数 ≥0.90、来自原行框;用现有句式解析每次的原文;只有“恰好两次解析出相等的非空结果、一次解析失败”才接受,并采用按保存顺序第一个完整原文。三次互相矛盾、只有一次有效、分数低、两次有效但不一致,仍保持未知。不修字、不拼接、不读参考答案。
设置
候选实现、协议和测试在应用前冻结;全部输出先写入新目录,再加载参考评分。之后不调参、不做第二种方法、不重新 OCR。新增 OCR 调用、读图、解码、GPU 调用均为 0。
结果
逐行合计(40 行可见、39 行可读):
| 基线 | 候选 | |
|---|---|---|
| 定位到的行 | 40 | 40 |
| 正确输出的行 | 24 | 36 |
| 输出的行 | 24 | 37 |
| 拒读(未知) | 16 | 3 |
候选多输出的 1 行对应参考中“全文不确定”的那一行,单独报告,不算正确也不算错。原来已输出的 24 行全部保持不变。
主要字段(预期数 / 正确 / 错误 / 缺失):
| 字段 | 基线 | 候选 |
|---|---|---|
| 受到伤害 | 13 / 3 / 0 / 10 | 13 / 11 / 0 / 2 |
| 显示的死亡数 | 13 / 3 / 0 / 10 | 13 / 11 / 0 / 2 |
| 失去魔力 | 5 / 4 / 0 / 1 | 5 / 5 / 0 / 0 |
| 恢复魔力 | 6 / 4 / 0 / 2 | 6 / 6 / 0 / 0 |
| 法术 | 5 / 5 / 0 / 0 | 5 / 5 / 0 / 0 |
逐页: 短页从“错”变为整页正确(新增 3 行);滚动长页新增 10 行,仍有 2 行拒读,因含不确定行,整页结论仍是“未知”;洞穴页没有变化,仍有 1 行拒读、整页“错”;3 张负例页基线和候选都是零误报。
候选处理全部 6 个保存响应用时约 0.0018 秒,评分约 0.020 秒——这是保存 JSON 的后处理时间,不是图像读取速度。
失败与负结果
- 洞穴半透明背景页的 1 行、滚动页的 2 行仍然读不回来。
- 同一 OCR 引擎的两次一致可能共享同一个错误读数,所以“二比一”不是独立投票,也没有校准置信度。
- 本批没有覆盖只有一两行的页、被部分裁掉的行、可证实的淡出过渡和缺字体的外文名。之前一个相关实验没有找到交付物或报告,记为不完整。
局限
- 已曝光的开发来源,不是盲测;样本只有 6 张图。
- 候选的接受语义与公共“三次一致”合同不同,是单独的实验格式,不是默认行为或已确认的行动。
结论与下一步
日志未知行的主因是右括号偶尔丢失造成的句式不一致;在已保存读数上采用“两次一致、一次失败即接受”可以把正确行从 24 提到 36 且没有新增错误。结果已交给主会话独立验收;要推广,需要在更多独立来源上验证,并决定是否修改公共合同。
Comments