战场上,一支部队既有身体,脚下也常有数量牌,还站在某个六角格里。既然这些东西在位置上有关,程序能不能一起看,少漏几个目标?可以尝试,而且数量牌已经在一批旧图上帮助找回了身体;但信息加得更多,并不保证结果更好。

这篇集中解释试过什么、哪些失败、为什么没有采用。数量牌曾在75张旧图上帮助少漏11个身体,但也多报了1个框。最新30张新来源图里,新整图模型把208块牌全找到了,却多画5个框;混合训练模型比旧模型少漏2块、多报相同,也没有全对。 最后一轮再用这些自动框比较读字:本地VL四倍读对200/202个数量,但仍会错读、给假框填数字。主文 P82讲身体检测,P83讲数量牌;这里不拿任何一个成绩代表整屏识别率。

第一次阅读,先看每节的问题和结果表,再展开复现参数。本篇的结论是保留候选、默认不换;最后一轮数字对照和新来源定位对照是本次收尾重点。历史失败没有删除,恢复后的工作另列于P00计划。

flowchart LR
  A[Same source frames] --> B[Body detections]
  A --> C[Quantity plates]
  A --> D[Uncertain grid]
  B --> E[Compare links and misses]
  C --> E
  D -. Proposed soft hint .-> E
  E --> F[Keep gains and failures]

图 1:身体与数量牌已有比较;网格联合仍待试验。每加一种线索,都要检查找回了什么,又损失了什么。

1. 数量牌能帮忙,但不能只把门槛放低

身体检测器会给每个框一个分数。把门槛降低,可以找回模糊或被挡住的身体,也会把更多背景当成身体。数量牌提供了一个额外理由:低分框下面如果真的有牌,这个框更值得保留。

下面是 9 月 12 日同一批 75 张开发复测图、969 个身体参考的结果。只比较身体位置,不包含物种或数字正确率。这批图已被查看,不能再叫新盲测。

方法 漏掉的身体 多报的框 决定
冻结身体基线 31 33 比较起点
只降低分数门槛 8 178 误检太多,不采用此工作点
用数量牌支持低分身体 22 33 找回 9 个,保留候选路线
再要求数字读出来 25 33 没有更好
在牌上方重新检测局部图 22 33 当前组合没有额外收益
身体+脚下牌扩大成联合框辅助训练 56 15 少误检,但漏得更多

“再要求数字”的主工作点经过单独选型,所以不能把 22→25 全归因于 OCR。固定同一门槛只加数字条件时,也少找回了一个正确身体。它说明:字读不清,不是身体不存在的理由。

联合大框训练同样不是白做:它找回了 18 个旧漏检,却丢了 43 个原本正确的身体。这是明确的取舍,不符合当时优先减少漏检的目标。这里试的是用自动配对产生辅助大框,不是所有联合训练方法都已经失败。

查看七种方法的逐帧对照。其他身体模型的比较在 P904。

最新对照:换成新牌模型,多找回了什么

9 月 24 日,用学习式数量牌模型重新处理同一批 75 张原图。身体候选、分数门槛和旧颜色要求都不变,也没有训练新模型。唯一改变是:从“绿色血条在哪里”改用模型实际找到的牌面位置。

支持身体的线索 找对身体 漏检 多报
不用牌,身体基线 938 31 33
旧血条规则 947 22 33
新数量牌模型 949 20 34

969 个身体参考中找到 949 个,找到率是 97.94%;但它还多报 34 个框,所以不能说输出有 97.94% 都是对的。和旧血条方法逐个比较,新方法其实是找回 3 个、丢掉 1 个、又增加 1 个误检,并非全面变好。

两个具体失败很有启发。第一张图的红色 68 牌已经找到了,位置也合适,却因牌内红色比例略低于旧门槛而被挡掉。第二张雪地图里,一个错位的低分身体框靠近蓝牌,被错误保留。前者是后处理误删,后者说明“离牌近”仍不够证明整个身体框正确。

打开 75 图对照与五张变化图。报告保留所有图,不只挑好的;每张可以打开原尺寸,并展开四种方法。全部数量牌推断约 6.89 秒,包含该阶段加载和读图,但不含旧身体推断、OCR或视频解码。没有复制原图。

这轮保留候选路线,不更换默认算法。尤其雪地仍漏 13 个,并从 17 个多报增加到 18 个;下一批数据应优先修这个薄弱点。

拥挤时,一个牌可能靠近两个身体。原方法很保守:只有双方都没有其他候选才连接。这样不容易贸然作答,却也会留下许多人眼能分清的关系。

这次不改检测模型,只比较三种配对。第一种沿用唯一候选;第二种让每块牌直接选位置得分最高的身体;第三种要求身体和牌互相把对方排第一,而且明显好于第二名。分数接近时,第三种选择不回答,不会为了凑齐关系强选另一个身体。

现在已检查完 60 张旧训练图。数量牌模型找对了 717 块,多报 1 块,另漏掉 19 块。身体框沿用旧参考,新增牌和关系仍待审阅,因此这里只做开发诊断。模型输出来自同一批原图的已核对缓存,没有根据新标签调参数或重训。

配对办法 与参考相符 与参考不符 拒绝配对
双方唯一才连接 575 2 141
每块牌直接选最高分 704 9 5
双方明显领先才连接 699 2 17

表中每行合计 718 个模型框,包含那 1 个假牌。完整参考有 736 块牌,漏掉的 19 块不能从总体结果里消失。第三种比第一种多给出了 124 条相符关系。第二种虽然回答更多,却会受重复身体框干扰:例如雪地图中,两个几乎重叠的框竞争红色 122 牌,最高分法选了评分时没有匹配的重复框,第三种则拒绝了这次选择。岩地图的红色 20 也出现了同类问题。

还有一处不能马上归咎于算法。红珊瑚图的红色 16 对应一个身体,但旧参考在附近有两个重叠框,三种方法都与这个参考不符。查看前后两张已有关键帧后,仍不能确定另一个轮廓是否是一支存活部队。这张图暂停进入训练,原标签和上表评分都保留。 不能删掉困难图后宣称全对,也不能只删一个框、让模型把它学成背景。

另一处共同不符发生在洞穴图:程序把蓝色 38 连到了附近身体,但身体框偏移,与参考框的重叠没有达到评分门槛。只有一个近邻,不代表身体框就画对了。 这不一定是把数字分给了另一种生物,却仍是不合格的定位结果。还有一张红珊瑚图同时漏掉红色 52 真牌、把倒地身体旁背景当成假牌;三种方法都拒绝连接这个假牌,不能因此说漏检已解决。

打开三种配对的逐图对照。展开每种方法,可以看到相同原图上的身体框、牌框和连线,并跳到对应标注。这一轮没有运行数字OCR,也没有加网格;“连对牌”还不等于“数量读对”。

方法和初跑修正

身体使用已有 YOLO26s 模型,输入边长 960,沿用选型阈值 0.40;数量牌阈值 0.10。位置分数仍是原来的水平距离和身体底部距离,第三种要求双方第一、第二名至少差 0.25。这是预设研究参数,不是概率或经过校准的置信度。

前一轮13图中,初跑忘了复现旧连接器的像素取整,唯一法得到132条相符关系。统一取整后是134相符、1不符、29拒绝;直接最高分法161/2/1,双向法159/1/4。后来19图是197/1/38、232/3/1、230/1/5。本轮60图继续使用相同取整和参数。不同批次分母不同,不能把总命中数增加当作准确率提高。

3. 找到更多牌,也可能带来更多假牌

旧规则从绿色血条附近找红蓝牌。补上黄色血条、再要求牌里有浅色字,看起来很合理:两张开发图的找到数从 18/22 变成 20/22。但换到另外三张旧录像图,反而由 20/21 降成 19/21。暗字和部分遮挡不满足新规则,真实牌也被删了。

后来训练了专门找数量牌的模型。去掉重复框后,四张比较图找到 37/40;再加绿色规则,能到 39/40,且这四张没有多报。可在另外七张跨录像图里,同样的补充仍只找到 56/58,却新增了 3 个假框。 因此没有默认叠加绿色规则。两个分母来自不同批次,不能说模型从 97.5% 退步到了 96.6%。

规则失败原图 · 数量牌模型对照 · 跨录像复测。

还有一种失败不在模型里:模型直接能找到牌,视频流程却把“场景未知”的帧跳过去。入口修复和模型改进必须分开记录,否则会误以为训练一次就解决了所有问题。

补到68张训练图,为什么没有采用新模型?

旧模型只用12张图、103块牌训练。后来补完了一批困难图的标注,把其中可训练的部分与旧图合并,去除一张重复原图后,得到68张图、788块牌。模型结构、初始化、训练参数和输出门槛不变;实际训练26轮,再让两个模型读取同样的11张回归图。这11张不参与训练,但以前已经看过,不能称为独立盲测。

先看实际输出会经过的原有步骤:如果两个框几乎重叠,就留下得分较高的那个。这样,同一块牌不会被算成两块。

回归来源 原12图训练+原有去重 补到68图+原有去重 结论
旧4张图、40块牌 找到37,漏3,多报0 找到36,漏4,多报0 多漏一块
9月23日7张图、58块牌 找到56,漏2,多报0 找到56,漏2,多报0 没有改善

退步的是这张图上方的红牌:前景蓝紫身体挡住了部分牌面,牌仍看得见。旧模型能找到,新模型却漏掉。另一张拥挤布阵图的两个遮挡牌也仍然漏检。有更多标注,不等于当前训练配方就一定能学好遮挡。 这还不足以确定失败根因,但足以说明不能直接换模型。

这里还有一个容易误报的“进步”:不做去重时,七张图的多报从3个减到1个,看似更好;补查后发现,原有去重已经能把这些重复框去掉,两个模型最终都是零多报。上表的去重检查是在看到原始结果后追加的诊断,没有改参数;预先固定的原始框成绩也保留在完整审阅页里,不能互相替换。

这轮训练约236秒;同机11图的热调用中位数,旧模型13.5毫秒、新模型13.9毫秒,只计检测,不含读图、OCR或后处理。新数据增加了每轮训练量,验证也只有2张图,因此这不是等算力、充分选型的最终比较。接着检查另一个可能的问题:小牌是不是在整图缩小时变得太小了?

只把图放大,旧模型却认不出来了

这些原图宽2560像素,检测前缩到1280。回归图的牌中位高度原本38像素,缩完只剩19像素。于是固定旧模型,试两种办法:整图输入改为2560;或者从四个角各取宽、高的60%,让每块单独进入1280输入。四块互相重叠,再把找到的位置放回原图、去掉重复框。最后还试了整图与四块结果合并。只是改变看图方式,没有重新训练。

先在原来的两张开发图上比较,按漏检加误检最少来选,同分选计算量小的。这个步骤已经选择了旧整图1280,然后才运行下面11张已曝光回归图;没有看到结果后改门槛。

方法 旧4图:找到 / 多报 另7图:找到 / 多报
原整图1280 37/40 · 多报0 56/58 · 多报0
整图2560 0/40 · 多报1 0/58 · 多报1
四块各1280 18/40 · 多报2 25/58 · 多报2
原整图+四块 37/40 · 多报5 56/58 · 多报3

整图2560退步得很明显,所以另外检查了模型真正收到的像素尺寸:确实是2560,没有偷偷缩回1280。在一张开发图里,同一块牌的预测位置仍接近参考,但模型分数从约0.90降到0.009,没过固定0.10门槛。这不是单纯把框画错了坐标;模型对放大后的图没有保持原来的判断。 训练时看惯的大小与现在不同,是待验证的解释,不是已经找到的唯一根因。

逐图审阅页保留两张开发图、四块的实际范围和所有回归结果。原方法约18毫秒,整图2560约44毫秒,四块约55毫秒,均为这11图热调用中位数,含本轮去重、不含读图和加载;合并两路的顺序耗时之和约76毫秒。更慢不是淘汰原因,没补回真牌却增加假框才是。

因此没有采用这几种直接改尺寸的办法。问题转向训练:如果模型在学习时就见过这些局部,会不会更好?下一节实际比较了这件事,没有在原来的11张回归图上调门槛。

4. 让模型学过局部,反而不一定要分块使用

上一轮只是把旧模型看到的图放大。这轮重新训练两个模型:一个只学整图;另一个每张原图既学整图,也学四个角落的局部。两者都从相同的通用预训练模型 YOLO26s 开始,其他训练设置相同。局部图只在内存里裁,不保存成一堆截图。

数据也重新分工。修订后的标签与旧训练图合并后,按录像文件划分出55张训练图、617块牌;开发集由2张扩大到17张、212块牌,用来选方法。这两组不混用。混合训练产生275个视图,但它们仍只来自55张原图,不能当作多收集了220张数据。裁到一半的牌仍保留标签,没牌的局部则作为负例。

两个新模型训练完后,比较五种用法。先在开发集按“漏检+误检”最少选择,再处理那11张已看过、但本轮不参与训练的回归图。开发集选中的是新整图模型:212块全找到,多报1;混合模型直接看整图则找到211、多报1。所有参考仍待CTO审阅,录像是否拆自同一局也还没审计,因此不称为独立验收。

下面把11张回归图放在同一张表里,共98块牌。一个预测框只对应一个参考;“整张全对”要求该图既不漏牌,也不多框。

训练与使用方式 找到 / 98块 多报 整张全对
原12图模型,整图检测 93 0 8/11
新整图训练,整图检测(开发选中) 95 1 7/11
新混合训练,整图检测 97 0 10/11
新混合训练,四块检测 97 7 7/11
新混合训练,整图与四块合并 97 9 6/11

这次终于有了一个值得继续验证的候选:混合训练后,仍然只运行一次整图检测。 分块检测没有在这批回归图补回更多真牌,却多画了假框。不过,回归较好的方法并不是开发集选中的方法,不能看完表以后偷偷改写选型结果。下一轮应该把候选固定下来,用真正没参与开发的新资料确认。

还有一项容易被总数掩盖的问题。上表允许预测框与参考框有一定偏差,使用的重叠比例门槛是 IoU 0.3;提高到0.5后,混合整图变成96/98、1个多报、9/11整张全对。这张图里的蓝牌被特效覆盖,模型虽然给了框,却框得偏大。它不能算已经准确定位,也没有据此补猜数字。

另一张拥挤布阵图更明确地改善了:旧模型漏两块,新整图漏一块,混合整图七块全部找回。与此同时,前景生物遮住的牌仍漏检;新整图模型还在战术阶段图的地面多画了一框。这就是它找到更多牌,却少一张整图全对的原因。

混合训练实际更新1511次,整图训练414次,分别用约847秒和280秒;它用了更多计算,不能把收益全归因于“多看局部”这一个因素。使用时,三个整图方法同机热调用中位数都约18毫秒;分块约54毫秒、两路合并约75毫秒,包含视图处理和去重,不含读文件、加载模型或OCR。准确率的限制比这点耗时差更重要。

完整28张图、五种方法与训练成本可以逐项展开。旧失败记录不删,默认模型也暂时不换。下一步停止反复调整这11张图,补独立录像的遮挡、特效和背景反例;牌的位置合格以后,再检查数字以及它属于哪个身体。

新来源30张:模型找得更多,为什么仍不换默认?

为了不再围着旧11张图调参数,这次先固定三个整图候选,再找没有用于这些模型开发的新资料。查来源时发现,几段看起来没用过的9月22、23日录像,其实早已参加过渡帧试验,因此没有拿它们冒充新测试。一段重新封装过、来源过程还不清楚的录像也先隔离。

首批从三段9月19、20日录像取图:每段均匀放十个固定窗口,各看12秒、每秒采十帧,只保存窗口内最早的稳定代表。30个窗口都取到了图,其他采样画面没有保存。 不因为内容是选秀,或被身体挡住,就另换一张更容易的图。

30张现在已全部查看并标参考,合计208块脚下牌,202个数字可读,6个被遮挡而留未知。9张是大厅、加载或选秀,没有脚下牌,也保留为检查误检的负例。打开书本的画面只标仍露出的牌;完全被挡住的位置不补框。参考在查看模型结果前完成,仍待CTO审阅。

打开30张原图与完整数量牌标注。这里只保留30张精选原图与12张来源首尾证据,共约164MiB,没有复制原视频或保存裁切。原稳定筛选仍留下一张含攻击伤害浮字的图;“被选中”不保证完全没有动画,这张困难图也没有换掉。

然后让三个冻结模型回答同一批图,输入大小和门槛不变。身体、数字读取和网格没有参与这张表,只比较数量牌的位置。

模型,都只看一次整图 找到 / 208块 多报 整张全对 / 30张
原12图训练 203 1 26
新整图训练,开发集选中 208 5 25
新混合训练,整图使用 205 1 27

九张无牌图三个模型都没乱画框;只看21张有牌图,全对分别为17、16、18张。新整图模型没有漏牌,却因为误检更多,整张全对反而少了一张。 混合模型也会漏掉旧模型能找到的牌,所以没有直接换默认。

更严格检查位置,把框的重叠门槛从0.3提高到0.5,找到数分别降为187、198、201。一块真实牌附近画了偏框,可能同时记一次漏检和一次多报;这不是凭空出现了两个错误物体,而是位置没有达到要求。只说“208块全找到”会掩盖这件事。

几个失败可以直接看图:新整图在第7图的条形光效附近多画一框;混合模型漏了第9图火焰挡住的蓝牌。第24图则不是完全没有检测:混合模型框在红牌上沿,位置不合格。数字看不清,也不能据此删掉真实存在的牌。

全部三模型结果可逐图展开,白框是参考,青框是预测。三个整图方法的热调用中位数约19—20毫秒,含视图处理、模型和去重,不含文件读取、加载或OCR;它不是整个视频流水线的速度。

三段录像的首尾和内部窗口支持六个对局分组,但不是六局完整审核;未知改名副本和精确起止也没有排除。因此这是一次暂定来源隔离的比较,不是生产验收。这30张已经看过结果,以后只能作为回归。下一步补身体、牌与格子关系;需要继续训练的遮挡图另从训练来源采集,不拿这批答案反复调参数。

5. 放大和多模型一致,为什么还会失败

对同一组自动裁出的牌,比较了原尺寸、补边放大、灰度和不同模型。七张已曝光图有 56 个可读数量,另有不可读牌单列。下面都是这 56 个参考的完整数字结果,漏牌也留在分母里。

读法 正确 读错 拒识 漏牌
原 PP 两次一致 43 1 11 1
PP 补边放大 4 倍 31 1 23 1
本地 VL 原尺寸 54 1 0 1
两次 VL 一致 53 1 1 1
两次 VL 一致,还需 PP 支持 42 0 13 1

PP 是 PP-OCRv6 medium 数字读取器;VL 是本地 PaddleOCR-VL-1.6。这里保留 VL 原尺寸作为下一轮候选,没有据此宣称它在所有画面上最好。两次 VL 仍会共同把部分遮挡的参考 13 读成 12;要求 PP 支持又会挡掉正确的 11。

最新 32 帧视频回放还留下了一个更直接的例子:原图是 21,两次 PP 都输出 211。 点这里看这张原图与输出。它不在该轮四张固定评分图中,作为额外错例保留,不能因首帧成绩不错就忽略它。

九种读法及全部原文保留了完整对照。框找得准、字读得对、数字属于谁,是三个问题;不能拿其中一个替另两个过关。

最后一轮:同一批自动框,五种读法全部保留

上一节旧七图的结果值得扩大检查。因此在新增30张固定窗口图上,沿用开发集预选的新整图检测器,不重训、不换框、不调分数门槛。它输出213个框:208个对应参考牌,5个没有对应牌。读字模型看到的是这些自动位置,不是人工答案的位置。

原图是2560×1440;生产裁图程序在自动框四周加4像素,直接从原图读这一块。PP-OCRv6 medium比较原尺寸、四倍补边、灰度二倍补边;本地PaddleOCR-VL-1.6比较原尺寸与四倍补边。放大采用Lanczos,补边宽8像素。PP要求分数至少0.80;两种模型都只接受1–4位完整数字,截断或非数字拒识。这些条件在运行前固定,不按每项参考答案选择胜者。

202个可读参考上的读法 读对 读错 拒识 5个假框中输出数字 6个不可读参考中输出数字
PP原尺寸 184 5 13 0 1
PP四倍补边 122 13 67 1 1
PP灰度二倍补边 150 15 37 1 0
VL原尺寸 199 3 0 1 5
VL四倍补边 200 2 0 1 5

位置按一对一框重叠匹配,IoU至少0.3;文字不参与选择配对。这一口径下没有可读参考漏框,所以前三列相加都是202。后两列不算正确,也不加入202的分母。9张无牌图全部保留,检测器没有在这9张提出框,因此这里没有额外OCR调用;不能据此证明OCR能判断所有背景。

这次VL更会读小数字,但“放大更好”仍不是普遍结论。四倍VL把一张红珊瑚图中的 27→21、24→26 修正了,却在另一张图把原先正确的 80 读成 30,只净增加一个正确读数。PP放大则明显退步,原尺寸184个读对降到122个;本轮没有继续调这批答案来挽救它。

另一个重要失败是第6张图:红牌上的 185 被身体部件部分挡住,VL原尺寸和四倍都读成了18,PP原尺寸反而读对。它说明两次同意仍可能一起漏字。这是检查后的失败解释,不是临时加入“遇到这个图就选PP”的规则。

打开第6张的真实裁图与五种读数,或查看全部30张。页面可只看错误、拒识和未知;每项都能展开原文、分数和耗时,并回到完整原图。遮挡到参考也读不清的6处保持未知;VL给出数字不代表这些数一定错,但没有证据把它们算对。

如果要求框的位置更精确(IoU至少0.5),VL四倍只有192个“位置合格且数字正确”,另2错、8个可读参考因偏框不匹配。与此同时,未匹配框中的数字输出升为11个;这里含偏框,不等于画面凭空多了11块牌。读字成绩不能掩盖定位问题。

三种PP输入合计21.42秒,两种VL输入合计69.14秒,均为213区域、包括进程启动和读图,不含视频解码、检测或人工标注。本轮只保存小型清单、原始输出和报告,未新增图片、裁图或视频。统一环境中的两个引擎分别在子进程运行,没有新增环境。

这批参考在上一轮预测前标好,但已用于定位比较,仍是助手待CTO的开发证据;来源隔离审计也未闭合。五种读法的成绩不足以宣称世界最优OCR或生产独立验收。本轮到这里停止:保留VL作为后续验证候选,先处理假框、遮挡与参考审核,不换默认算法。

6. 网格应该帮助配对,而不是替画面下结论

目前已有身体—牌的位置候选,但还没有完成身体、牌、网格三者的联合准确率评估。P105 的旧实验比较的是网格角点位置,不是生物检测或部队格号。它也发现:在那批旧图上,固定模板比几种逐图调整更准,不能默认“多修正一次就更好”。

旧身体补检函数依赖血条框,新数量牌模型只输出牌面框。本轮已经修好这个接线问题:没有血条时,就使用真实牌面的位置,不虚构血条。两种路径共用同一段几何计算;上面的 75 图对照实际用了它,但它还不是默认视频身体流程,也没有加入网格。

下一轮在同批帧上比较四路:身体单独、身体+牌、身体+网格、身体+牌+网格。网格只增加一个可撤销的位置线索;网格缺失或偏移时,退回不用网格的结果。身体动画、透视和遮挡都会影响框底部,所以不能把它直接吸附到最近格心。

这次也向 GPT 咨询了方法,随后另查原始资料:Pictorial Structures把部件外观和可变形的位置关系分开;PersonLab通过关键点和相对位移组合人物部件。它们给我们提供“先保留独立检测,再比较软配对;必要时再学脚点”的思路,不是在本游戏上验证过的收益。先不换大模型,也不把距离分数写成真实概率。

两个身体竞争同一块牌时,先保留多个候选;没有牌也不删掉清楚的身体。上方行动条不在战场网格里,应先完成卡片—数量的局部关联,再用额外证据研究它对应哪支部队,不能用相同物种或相同数量强配。

7. 新数据优先补困难场景,但测试集不拿来训练

新数量牌支持后,剩下的 20 个身体漏检里,17 个是部分遮挡;雪地图占了 13 个漏检。这两组有重叠,不能相加。下一批应优先补拥挤、遮挡、雪地、特效、尸体和书页边缘,同时保留常规清晰图。只加更多相邻清晰帧,未必能修这些问题。

每张完整图同时标身体、牌、可读数字和它们的关系。看得清地面接触点、格子时才加位置参考;看不清就明确写未知。训练数据用于改模型,未参与调参的测试数据用于检查是否真的变好。 同一局拆出来的相邻视频也不能分到两边。

现在已经从已有身体训练来源里选出 60 张候选,来自 18 段录像。雪地、洞穴、草地、熔岩、红珊瑚和岩地各 10 张,优先选有遮挡的图;数量牌模型原先用于选型和测试的录像没有选入。它们用于开发和补训,不是新的独立测试图。

目前已逐张检查完这 60 张原尺寸图片,标出 736 个数量牌:688 个数字可读,48 个读不清,保留未知。其中 734 块能连到一个继承身体参考,另外 2 块找不到对应的身体参考,不强行配对。19 个牌是模型漏掉后手工补入的,另拒绝 1 处背景误检。原身体框没有算成本轮重新确认;新增参考仍待 CTO 审阅。

这批图包括布阵、较低分辨率录像、鼠标遮挡、伤害预览、施法动画,以及红蓝单位站在同一侧的情况;不能把左边一律标成红方。动画图可以用作困难检测样本,但“能标出牌”不等于“通过了稳定关键帧筛选”。

这些漏牌常被鼠标、前景生物、火焰或悬浮伤害文字挡住。例如一张雪地图的红牌被伤害预览挡住,程序没有找到它;补标时能确认牌和对应身体,却不能把压在上面的伤害数字当作生物数量。新检查的图里,也有前景法杖和草叶穿过数字。牌存在、数字能否读出、数字属于谁,必须分别记录。

打开联合标注审阅页。页面可分别显示身体、牌、数字和关联线,模型建议默认隐藏;原图不复制。第一版有 3 张因身体参考争议暂停训练,程序导出 57张、696个牌 用于研究。除了前面提到的重叠框,还发现两张图漏标了身体:能看到脚下牌,却没有对应身体参考。不能让这些身体被当作背景学进去。已审核数、训练可用数、模型正确数是三回事。

这57张已经用于前面介绍的68图补训,但新权重没有胜过旧模型。上面的身体配对比较仍使用旧模型,不能把它多给出的124条关系算成这次训练的收益。

先修两处缺标,不把改标签算成算法提升

重新查看整张原图和拥挤局部后,可以补回其中两个人物。红珊瑚图里,蓝色 17 牌上方有一个持杖人物;熔岩图右上方,红色 38 前景人物后面还露出另一个白发人物。旧参考分别漏了他们,所以这次各补一个身体框,把原先没有归属的牌连过去。新增身体的物种仍未知,熔岩那块蓝牌被挡住的数字也不猜。

打开两处缺标的新旧对照。青框是新补的人工参考,不是模型预测;可以关掉青框,直接看到旧版漏了哪里。两张图原有的25个身体位置也逐一检查过,没有改框;已有物种标签不算重新确认。

修订版另存为 59张、723个牌 的研究训练参考。剩下那张重叠轮廓的存活状态仍说不清,继续隔离。修标签这一步不算模型提升,旧57张导出和旧评分表保留;后来的真实训练另见第4节。地面点、网格、困难负例和30张独立保留图仍要补,先核对分开的录像是否来自同一局。

8. 以后怎样查“到底试过什么”

每轮记录同样八件事:想解决的问题、数据分区、方法参数、比较基线、结果与耗时范围、失败原图、采用与否的原因、下一步。算法没效果、参考标错、程序接线失败会分开写;原图按路径引用,不再复制一堆中间截图。

主博客负责让人顺着读懂当前方法;这篇 P912 与 P904 负责让人查选型过程。统一入口在 P900 研究目录,当前生产完成度仍以 P00 总报告为准。

结论很简单:位置关系可以帮助找身体,也能帮助把牌连回身体,但不能代替识别和标注质量。新图比较中,新候选补回了部分旧漏牌,也暴露出误检和偏框;还没有一个候选全面胜出。下一步把身体、牌与网格放在同批图里检查,保留失败,不急着替换默认。