Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

9 补全的接口与验收

📐 设计

输入

对每个需要补全的部件 p:

来源说明
mask_p第 4 章部件现在可见的区域(1x 二值)
alpha_p第 5 章亚像素覆盖率
tiers_p第 6 章色阶列表 [(role, rgb, mask)],告诉补全模块这个部件有哪几种颜色
occludersASSIGN 顺序压在 p 上面的部件集合——被它们挡住的地方才需要补
contextoriginmask 周边一圈的原图像素(建议 32px),给生成模型当条件
budget配置最大补全深度(像素),默认 = 0.4 × 部件等效半径

被遮挡区 = dilate(mask_p, budget) ∩ (∪ mask_occluders)

输出

格式说明
rgba_p(H, W, 4) uint8补完整的部件,alpha 在补全区为 255
mask_p'1x 二值新的完整 mask = mask_p ∪ 补全区
alpha_p'floatmask_p' 重新解的 α(第 5 章
reportjson补了多少像素、哪些像素被判为不可补(budget 外)、耗时

输出直接进第 6 章第 7 章,格式与未补全时相同。

验收标准

每条都要能自动量,不能靠看:

1. 重叠区不变。 原本可见的区域(mask_p)补全前后逐像素相同:max|Δ| = 0。补全只许加不许改。

2. 边界连续。 沿可见区与补全区的交界,两侧颜色的梯度不高于部件内部同类边的中位数。量法:在交界带上取梯度 p90,与部件内部(远离交界)的梯度 p90 比,比值 ≤ 1.5。

3. 色阶一致。 补全区的像素按 tiers_p 的颜色做最近邻归档,落在已有档之外(距离最近档 > 24)的像素比例 ≤ 5%。补全不许发明新颜色。

4. 不发明结构。 补全区的高频能量(measure.py 的 σ1 带通)不高于可见区的 1.2 倍。生成模型喜欢在空白处画出东西,这一条拦它。

5. 下游判据不变差。 走完叠层之后,第 15 章的每一项不低于未补全时的值。

不做的事

  • 不改可见区的任何像素
  • 不改 ASSIGN 顺序
  • 不补背景
  • 超出 budget 的区域标记为不可补,而不是硬补