# Animation Technical Review V6 — Complete Test Report

日期：2026-08-27
项目：`xingyue-animation-review`
范围：技术性缺陷审核；lip-sync 保持 detector-only，不进入 VLM 和视觉预算。

## 1. 当前生产流程

```text
视频
  → 逐帧特征抽取
  → visual detector + blur detector
  → 可选 lip-sync detector/router
  → 候选合并为 shot-local events
  → Doubao VLM 上下文过滤
  → visual queue + 独立 lip-sync queue
  → report.md / review-delivery.json / compact-review.json
```

默认生产配置：`config/production-detect-vlm-v6-target40-config.yaml`。
实验配置：

- `config/production-detect-vlm-v6-performance-config.yaml`
- `config/production-detect-vlm-v6-fast-feature-config.yaml`
- `config/production-detect-vlm-v6-fast-feature-interval8-config.yaml`

## 2. V6 候选与召回基线

历史 V6 评估使用 `datasets/v1.2/output/manifest_可用.jsonl` 作为正向技术缺陷标签，并排除已定义的范围外标签。V6 的视觉队列目标为每集最多 28 个，lip-sync 最多 12 个，合计目标 40 个；实际队列由事件风险和配置化 family allocation 决定，不把 40 当作缺陷数量。

已有五集 V6 结果：P24/EP20、P24/EP21、P24/EP23、P24/EP25、P26/EP16。

- 技术 GT：17 条视觉技术缺陷标签。
- 五集 V6 的最终交付结构：每集 28 个 visual + 12 个 lip-sync；lip-sync 是否存在取决于该集 detector 结果。
- 既有五集评估记录：16/17、约 94.1% 的原始视觉 detector 覆盖；最终队列质量应以对应 run 的 `review-delivery.json` 和评估文件为准。
- 已完成的五集专项报告：`analysis/fast-feature-v1-20260826/fast-feature-v1-results.md`。

完整历史自适应预算研究见：`analysis/adaptive-visual-budget-study-20260826.md`。

- 固定 28 项视觉队列：`89/115`，`77.4%`。
- 稳定 adaptive 23–28：`89/115`，`77.4%`，平均约 `26.24` 项。
- 固定 20 项：`87/115`，`75.7%`。
- 结论：40 是当前交付上限/目标，不是每集必须填满的真实缺陷数；当前版本先保持固定 V6 行为。

## 3. 性能并发实验

测试集：P24/EP20，视频约 3.6 分钟，原始候选 169 个，VLM 任务 279 个。

### 本地阶段 A/B

| 配置 | 总 wall time | 特征抽取 | detector 阶段 | 结果 |
|---|---:|---:|---:|---|
| V6 baseline | 387.05s | 77.03s | 36.58s | 169 candidates / 63 events / 40 queue |
| performance | 364.94s | 73.94s | 35.89s | 169 candidates / 63 events / 40 queue |

本地总耗时下降 `22.11s`，约 `5.7%`。其中 detector 并发本身只改善约 `0.7s`，主要收益来自媒体 clip 并发生成；因此不能把这 22 秒归因于 Doubao 并发。

### Doubao 并发 50

- 任务数：`279`。
- 配置：`vlm.concurrency: 50`，通过 `animation-review batch --concurrency 50` 透传。
- 首轮 wall time：约 `58.75s`。
- 首轮结果：`278` 成功、`1` 个失败。
- 失败原因为一次中断后留下 48 字节损坏视频，不是服务端限流。
- 修复 resume 后补跑成功，最终 `279/279` 成功，`pending=0`。

这证明并发 50 在当前单集上可运行，但尚未做 Doubao 并发 4 vs 50 的严格同任务收费 A/B；生产上仍应根据服务端限流和错误率逐步放量。

## 4. Fast Feature V1

实现位置：`src/extract-production-features.py`。保持每个源视频帧一行，不降低全局特征 FPS，主要做以下优化：

- 人脸完整检测从每帧改为每 3 帧一次，中间短暂复用稳定人脸框。
- 光流缩小到最大宽度 640px、最多 200 个角点。
- 复用低分辨率图像计算全画面清晰度。
- 可选使用 float32 计算。

测试集：P24/EP20、P24/EP21、P24/EP23、P24/EP25、P26/EP16。

| 指标 | 结果 |
|---|---:|
| baseline 抽取总耗时 | 361.90s |
| fast-feature-v1 抽取总耗时 | 246.47s |
| 加速 | 31.9% |
| baseline 原始视觉 GT | 16/17 |
| fast 原始视觉 GT | 17/17 |
| black/flicker/judder 候选保留 | 100% |
| blur baseline→fast | 212/213 |
| deformation baseline→fast | 280/284 |
| 人脸框中位 IoU | 0.965–0.974 |

报告：`analysis/fast-feature-v1-20260826/fast-feature-v1-results.md`。
判断：速度收益明显，候选和脸框质量没有明显下降；适合作为继续观察的快速配置，但尚未替换默认 V6。

## 5. Fast Feature V2 Interval8

配置：`config/production-detect-vlm-v6-fast-feature-interval8-config.yaml`。在 V1 基础上把完整人脸检测间隔改为每 8 帧，稳定框最多复用 7 帧。

| 指标 | 结果 |
|---|---:|
| baseline 抽取总耗时 | 361.90s |
| interval8 抽取总耗时 | 218.61s |
| 加速 | 39.6% |
| baseline 原始视觉 GT | 16/17 |
| interval8 原始视觉 GT | 16/17 |
| black/flicker/judder 候选保留 | 100% |
| blur baseline→fast | 213/213 |
| deformation baseline→fast | 281/284 |
| 人脸框中位 IoU | 0.930–0.947 |

报告：`analysis/fast-feature-v2-interval8-20260826/fast-feature-v2-interval8-results.md`。

判断：interval8 比 V1 再快约 11%，但人脸框 IoU 下降，blur/deformation 候选增多，EP20 的一条液化 GT 没有被覆盖。因此暂不作为生产默认，建议后续改成按切镜、框漂移和运动强度自适应调整检测间隔。

## 6. Compact 生产交付

性能配置启用后会额外输出：

- `compact-review.json`：每个最终交付 event 的时间范围、问题类型、峰值时间、风险分数、截图路径和可用 bbox。
- `compact-screenshots/`：最终候选峰值截图。
- deformation/blur/flicker 在有可靠跟踪框时绘制 tracked-face bbox。
- black/freeze/judder 等全画面问题不虚构局部 bbox，使用 `null`。

P24/EP20 compact 实测：40 个最终项目、40 张截图，compact 约 10.6MB；完整产物约 435MB。完整产物仍保留，确保 VLM JSON、失败重试和审计追溯可用。

## 7. 结论与上线建议

1. 当前默认仍使用 V6 target40，保证既有召回和队列行为可复现。
2. 若目标是降低本地耗时，优先试用 fast-feature-v1；五集实验得到约 31.9% 特征抽取加速，未观察到原始视觉 GT 下降。
3. interval8 作为激进实验保留，不建议直接作为生产默认。
4. Doubao 并发可以配置为 50；单集 279 任务已验证最终全成功，但应监控限流、重试和失败率。
5. 服务化只输出 compact 交付时，建议保留 `review-delivery.json`、`compact-review.json`、截图和 VLM 结果摘要，按存储策略异步归档大体积媒体。
6. 所有候选仍是待人工确认的审核项，不等同于已确认缺陷。
