landmark-fit-repair

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Landmark Fit Repair

地标拟合修复

Bbox and IoU are too coarse for final mascot/logo matching. This skill turns named feature drift into recipe edits.
边界框(bbox)和交并比(IoU)对于吉祥物/标志的最终匹配来说精度太低。本技能将命名特征的偏差转化为配方编辑操作。

Landmark classes

地标类别

  • structural_tip
    : outer part tips and extrema;
  • shell_corner
    : face/shell/rim corners;
  • feature
    : eyes, smile, brows, decals;
  • ring
    : aura center/radius/dots;
  • depth_marker
    : side/back/top thickness markers.
  • structural_tip
    :外部部件的尖端和极值点;
  • shell_corner
    :面部/外壳/边缘的边角;
  • feature
    :眼睛、微笑、眉毛、贴花;
  • ring
    :光环中心/半径/圆点;
  • depth_marker
    :侧面/背面/顶部的厚度标记。

Workflow

工作流程

  1. Define a landmark JSON for the source reference.
  2. Detect or render corresponding product landmarks.
  3. Compare by name and view.
  4. Convert deltas into repair actions: move boundary control point, scale one component, shift feature curve, tune depth, or adjust aura radius.
  5. Rebuild from recipe; do not hand-edit final geometry without updating the recipe/manifest.
  1. 为源参考文件定义地标JSON。
  2. 检测或渲染对应产品的地标。
  3. 按名称和视角进行对比。
  4. 将偏差转化为修复操作:移动边界控制点、缩放单个组件、偏移特征曲线、调整深度或修改光环半径。
  5. 根据配方重建模型;在未更新配方/清单的情况下,不得手动编辑最终几何形状。

Hard gates

硬性限制

  • No final export when named structural landmarks exceed tolerance.
  • Face features must be validated separately from body silhouette.
  • Aura/context landmarks must not affect base GLB acceptance.
  • 当命名结构地标超出公差范围时,禁止最终导出。
  • 面部特征必须与身体轮廓分开验证。
  • 光环/环境地标不得影响基础GLB文件的验收。

Script

脚本

  • scripts/landmark_fit_report.py
    compares two named-landmark JSON files and emits repair deltas.
  • scripts/landmark_fit_report.py
    用于对比两个命名地标JSON文件,并输出修复偏差值。

Landmark JSON schema

地标JSON schema

json
{
  "schema": "landmarks.v1",
  "image_size": [width, height],
  "landmarks": [
    {"view":"front", "name":"leaf_top_tip", "class":"structural_tip", "x":627, "y":130}
  ]
}
For part masks, generate initial landmarks from extrema: top/bottom/left/right, centroid, and contour inflection points. Then rename them to semantic names before repair.
json
{
  "schema": "landmarks.v1",
  "image_size": [width, height],
  "landmarks": [
    {"view":"front", "name":"leaf_top_tip", "class":"structural_tip", "x":627, "y":130}
  ]
}
对于部件蒙版,从极值点生成初始地标:顶部/底部/左侧/右侧、质心和轮廓拐点。然后在修复前将它们重命名为语义化名称。