- Implement sync_models.py for preparing and uploading ONNX artifacts. - Create build_node.py for building and validating Blender scripts. - Add docs.py for building and previewing documentation with Mike or MkDocs. - Introduce model_exports.py for exporting PyTorch models to ONNX format. - Develop pack.py for packaging the project with dependencies for different platforms. - Add test_sync_models.py to validate sync_models functionality. - Add test_tool_commands.py to ensure repository tools have correct command scripts. - Initialize tools package with __init__.py.
52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
# Job 产物
|
||
|
||
Server 在 Job 目录写入图片、JSON 或 Debug NPZ;Blender 根据 Job 返回值读取文件并创建 Image、Mesh、Material 与 Object。
|
||
|
||
## 正式 Job
|
||
|
||
| Job | 主要文件 | Blender 消费方式 |
|
||
| | | |
|
||
| `remove-background` | `image.0001.png` 起 | 替换 Image Empty 的颜色数据 |
|
||
| `upscale-image` | `upscale.0001.png` 起 | 替换或新建高清颜色数据 |
|
||
| `refine-image-region` | `image.png`、`bounds.json` | Image Box / Lasso 读取 Fit to Foreground 结果 |
|
||
| `generate-depth-plane-geometry` | `image.0001.*`、`z-depth.exr`、`depth.json` | 创建 Depth Plane |
|
||
| `generate-cutout-artifacts` | 可选 Region、Depth 与 Normal 文件 | 创建 Cutout Shape 与材质 |
|
||
|
||
Depth Job 保存可由 Blender 直接加载的模型空间 EXR;Blender 主线程负责轮廓提取、三角化、Depth 标定和数据创建。
|
||
|
||
## Depth 与 Normal 文件
|
||
|
||
MoGe-2 Prediction 只存在于 Server 内存。`geometry/prediction_artifacts.py` 共享一次推理,并按请求写出以下文件:
|
||
|
||
| 文件 | 内容 |
|
||
| --- | --- |
|
||
| `vector-depth.exr` | RGB 保存相机空间 XYZ,Alpha 保存有效区 |
|
||
| `z-depth.exr` | RGB 重复保存相机 Z,Alpha 保存有效区 |
|
||
| `depth.json` | 保存 `image_size`、3×3 `intrinsics` 与 `reference_depth` |
|
||
| `tangent-normal.png` | Tangent Space Normal Map |
|
||
| `object-normal.png` | Object Space Normal Map |
|
||
|
||
Blender 通过 `common/depth_data.py` 加载 EXR,设为 Non-Color 并 Pack。Depth 与 Normal 数据块分别由 `depth_data_name()` 和 `normal_data_name()` 命名。Blender 读取 Z 与 Alpha 进行最终 Region 的本地标定,Geometry Nodes 采样已加载的 EXR。
|
||
|
||
## Cutout Region 产物
|
||
|
||
Blender 先把 `RegionPath` 栅格化为 `RegionMask`,再把局部 RGBA 作为 Server 输入。Server 不接收 Path 或 Mask 对象协议:
|
||
|
||
- 开启 Fit to Foreground 时,`region.png` 保存 Fit to Foreground 后的局部 RGBA,`region_bounds.json` 保存它相对输入裁切图的范围;
|
||
- 需要 Vector Depth 时请求 `vector-depth.exr` 与 `depth.json`;
|
||
- 需要 Z Depth 时请求 `z-depth.exr` 与 `depth.json`;
|
||
- Normal Map 按空间请求 `tangent-normal.png` 或 `object-normal.png`。
|
||
|
||
Surface 与 Balloon 的本地路径直接使用 `RegionMask` 构建 Shape。最终颜色图由 Blender 按 Region 范围裁切源 Image,并保留源 RGBA。
|
||
|
||
## Debug 产物
|
||
|
||
| Job | 文件 |
|
||
| | |
|
||
| `debug-da3` | `prediction.npz` |
|
||
| `debug-moge2` | `prediction*.npz` |
|
||
| `debug-ben2` | `foreground*.png` |
|
||
| `debug-upscale` | `prediction*.png` |
|
||
|
||
Debug Job 保存模型适配层的直接输出。
|