摘要
单位受伤时,屏幕上的伤害数字(“飘字”,左边带拳头或骷髅图标)只出现很短时间。App 正式的离线视频分析在战斗中大约每 40 秒才取一张关键帧,很容易错过这些飘字。本实验(开发诊断,不是 App 新策略)想知道:能否用一个不跑 OCR 的廉价图像探针,在 10 帧/秒的视频里快速找出“可能有飘字图标”的帧,只挑少量去做完整读取?
结果:在三个预先固定的开发窗口里,150 个扫描帧中 31 帧有信号,按规则每窗最多挑 2 帧、共 6 帧;探针每帧中位耗时约 29–34 毫秒。6 张图用现有读取器(v3)读,首轮只有 2/3 个窗口读到字面;查出一张图被“两个文字框仅背景边距相交”误拒后,做了一个窄修复(v4),三个窗口各至少读到一条字面,共 5 条已接受观察。这只证明了有界的技术可行性,还没有接进 App。
要回答的问题
不改正式读取器和 App 预算的前提下,一个廉价探针能否在短窗口里提议出值得完整读取的飘字帧?挑出的帧读出来效果如何?
数据与来源
- 预先限定三个已知窗口:一段训练录像(10 月 10 日 01:39)的 550–556 秒;另一段(10 月 10 日 16:57)的 585–589.5 秒和 594–598.5 秒。这些是已选的开发样例,不是正式触发点,也不是独立测试集。
- 另用已有的 28 张图检查探针与完整读取器在“有无图标”上是否一致。
方法
探针:在原生画面下部区域,在读取器使用的红色优势通道和“拳头去粉色”通道里分别找亮度 > 35 的连通块;块的高 18–58、宽 14–54、面积 ≥ 80 且比例合理,才生成局部模板搜索框(外扩 12 像素、重叠去重)。每帧最多 32 个框,超出记为“溢出”(不能当成没有图标)。每个框用原有的模板阈值判断,命中只代表“值得进一步读取”,不输出伤害、数字、阵营或目标。
挑帧:按时间顺序取窗口内第一张有信号的帧,之后至少间隔 500 毫秒再取一张,每窗最多 2 张。不能看完 OCR 结果再挑漂亮的帧;重复帧只是观察,不算两次事件。只保留挑中的原图,不缓存全部帧。
读取:挑中的图先人工目视确认没有面板/菜单遮挡,再用现有 v3 读取器完整读取;首轮结果原样保留。
设置
CPU 8 核限制、串行,复用已有的 10 帧/秒原生解码器。探针耗时只含探针本身,不含解码、模型、OCR 或 App。
结果
探针与挑帧
| 窗口 | 扫描帧 | 有信号帧 | 挑中 | 最大搜索框 | 探针中位 / p95(毫秒) |
|---|---|---|---|---|---|
| 01:39 录像 550–556 秒 | 60 | 15 | 2 | 23 | 29.12 / 34.93 |
| 16:57 录像 585–589.5 秒 | 45 | 10 | 2 | 16 | 32.88 / 35.87 |
| 16:57 录像 594–598.5 秒 | 45 | 6 | 2 | 18 | 34.06 / 36.94 |
共 150 帧、31 帧有信号、6 帧挑中;12 个信号因 500 毫秒间隔跳过、13 个因每窗 2 张上限跳过,119 帧无信号,0 次溢出。28 张旧图上,探针的图标有无与完整读取器一致(这不是数字准确率)。
挑中图的读取
| 采样时刻(毫秒) | 首轮 v3 | 修复后 v4 |
|---|---|---|
| 552200 | 拳头 −821;另一个拳头字面触边被拒 | 不变 |
| 552700 | 骷髅字面未知,其他可见飘字没全部检出 | 不变 |
| 586600 | 拳头字面组件不完整,未知 | 不变 |
| 587100 | 两个文字框相交,拳头/骷髅都被拒 | 拳头 −314、骷髅 −5 |
| 595600 | 拳头 −27 | 不变 |
| 596100 | 拳头 −27 | 不变 |
误拒修复:587100 毫秒那一帧,两个文字框的交集区域里两个通道都没有超过阈值的前景墨迹——它们只是背景边距相交,文字本身是独立的;v3 却按“矩形相交”一律拒绝。v4 只在相交区域两个通道都没有前景时放行,任一通道有墨迹仍拒绝;模板、OCR 门槛不变。34 张图(旧 28 + 新 6)完整重读:旧 28 张全部不变,只有这一张改变。相关 116 项测试通过。
失败与负结果
- 首轮只有 2/3 个窗口有接受字面;6 张中仍有 2 张没有任何接受字面。
- 第一个窗口读到的是 −821,不能宣称该窗口 553 秒附近的 −1200 被自动捕获。
- v4 的放行条件依赖像素阈值,低对比背景与弱墨迹仍可能混淆,这不是证明文字独立的通用方法。
局限
- 只测了三个开发窗口;没有测整局、跨场景的误触发率和溢出频率,没有自动判定遮挡。
- 没有证明这样做能保住正式的面板、日志、魔法书读取预算,也没有接入 App 的生产、保存、导入和界面。
- 5 条已接受观察(含重复的 −27)不等于伤害事件数,未知和未检出都不是零。
结论与下一步
廉价探针加有界挑帧在技术上可行,探针和 v4 修复先冻结,不再扩大私有研究。根据外部审阅建议:在接入负责人确认分工后,先在正式视频分析路径上做一次不增加模型调用的“影子预算”对照——统计整局的触发与误触发、实际成本、原有面板/日志/书页是否保住——再决定是否为瞬态飘字设例外额度。不能把这三个窗口硬编码成正式触发器,也不能把这 6 次 OCR 当作整局预算问题已解决。
Comments