feat(#1754): 渲染期画面扰动——让批量视频本身更不同 #1755

Merged
auto-approve-bot merged 1 commits from fix/visual-perturbation-variant-render into develop 2026-09-07 13:55:52 +08:00

1 Commits

Author SHA1 Message Date
saas-backend-agent 73b924bb38 feat(#1754): 渲染期画面扰动——让批量视频本身更不同
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 0s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 28s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 28s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m32s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m38s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 1m41s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m38s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 2m3s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m56s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 5m39s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 2s
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 6m20s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m41s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 29s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 35s
问题:批量生成 N=3 视频画面高度相似,仅靠素材顺序区分不够。

修复方案:
1. variant_plan_selector.py 新增 generate_visual_perturbation(rng):
   为每个变体生成随机视觉扰动参数(hflip/zoom_ratio/speed_factor/
   brightness_shift),参数范围经校准确保肉眼可感知但不影响质量。

2. edit_plan_service.py ensure_variant_plans:
   每个变体 plan 创建后调用 generate_visual_perturbation 并存入
   plan.config.visual_perturbation(变体 0 不做 hflip 保持预览方向)。

3. unified_render_service.py 两条渲染路径均应用扰动:
   - _build_filter_complex(多 clip 路径)
   - _render_pass_through(单 clip 直通路径)
   扰动滤镜顺序:hflip(scale前) → scale+pad → zoom+crop → eq brightness

4. 17 个新单测覆盖:参数范围/概率分布/滤镜生成/plan config 注入。
2026-09-07 13:49:11 +08:00