| # ============================================================================= | |
| # ERPT Pipeline Configuration(移植自原版 ERPT) | |
| # 严格遵循 ERPT_native 坐标系约定:右手系 [X右, Y上, Z前] | |
| # ============================================================================= | |
| # --- 数据路径 --- | |
| data: | |
| data_dir: "inputs" | |
| output_dir: "outputs" | |
| depth_dir: null # 可选:外部深度目录 | |
| # --- ERP 参数 --- | |
| erp: | |
| auto_size: true # 自动从图像检测尺寸 | |
| width: 4096 # 参考宽度 | |
| height: 2048 # 参考高度 | |
| # --- Tangent 切片参数(原版配置) --- | |
| tangent: | |
| scheme: "icosahedron" | |
| num_faces: 20 | |
| add_poles: true | |
| face_resolution: 768 # 每个 face 的分辨率(像素) | |
| fov_deg: 90.0 # 普通 face 的基础 FOV(度) | |
| padding_factor: 1.3 # 有效 FOV = 90 * 1.3 = 117° | |
| pole_fov_deg: 160.0 # 极区切片使用更大 FOV | |
| pole_resolution: 768 # 极区分辨率 | |
| pole_extra_rings: 2 # 额外极区密采样环数 | |
| seam_wrap: true | |
| # --- Depth Pro 参数(原版配置) --- | |
| depth_pro: | |
| enabled: true | |
| repo_dir: "third_party/ml-depth-pro" | |
| checkpoint_path: "third_party/ml-depth-pro/checkpoints/depth_pro.pt" | |
| precision: "fp16" # "fp32" | "fp16" | "bf16" | |
| depth_def: "z" # "z" (z-depth) | "ray" (ray-depth) | |
| pass_f_px: true # 传递已知焦距 | |
| # --- 深度融合参数(原版配置) --- | |
| fusion: | |
| blend_mode: "multiband" # "softmin_invdepth" | "multiband" | |
| output_scale: 1.10 # 全局尺度校正 | |
| # 权重模式 | |
| weight_mode: "cosine" | |
| k: 4 # cosine 权重指数 | |
| # 深度竞争 | |
| depth_competition: "softmin_invdepth" | |
| softmin_alpha: 10.0 | |
| # 极区处理 | |
| pole_boost: false | |
| pole_boost_factor: 1.5 | |
| pole_latitude_deg: 75.0 | |
| pole_ramp_deg: 10.0 | |
| pole_ring: | |
| enabled: false | |
| min_latitude_deg: 60.0 | |
| ramp_deg: 10.0 | |
| face_pole_suppress: | |
| enabled: false | |
| min_latitude_deg: 70.0 | |
| ramp_deg: 10.0 | |
| min_scale: 0.4 | |
| # 极区一致性校正 | |
| pole_consistency: | |
| enabled: true | |
| min_latitude_deg: 60.0 | |
| min_overlap_pixels: 4000 | |
| max_abs_log_shift: 0.7 | |
| ref_slice_types: ["face", "pole_ring"] | |
| target_slice_types: ["pole_north", "pole_south"] | |
| # Z-buffer 门限 | |
| project_zbuffer_eps_abs_m: 0.02 | |
| project_zbuffer_eps_rel: 0.02 | |
| # Multiband 金字塔 | |
| multiband: | |
| levels: 6 | |
| highfreq_levels: 2 | |
| eps: 1.0e-6 | |
| # 有效性 | |
| min_weight_sum: 1.0e-6 | |
| # --- Warp 参数(原版配置) --- | |
| warp: | |
| enabled: true | |
| center_frame: 0 | |
| target_frames: "auto" # "auto" 自动识别所有非中心帧;或指定列表如 [1, 2, 3] | |
| # Splatting 方法 | |
| method: "softmax_splatting" # "softmax_splatting" | "zbuffer_splatting" | "zbuffer_point" | |
| alpha: 2.0 # softmax 温度 | |
| # 自适应 Splat 半径 | |
| splat_radius_px: 1.5 # 基础半径 | |
| radius_min_px: 0.6 # 半径下限 | |
| radius_max_px: 2.2 # 中纬度上限 | |
| radius_max_pole_px: 3.4 # 极区上限 | |
| pole_radius_scale: 3.0 # 极区放大因子 | |
| pole_lat_threshold: 60.0 # 极区纬度阈值(度) | |
| depth_radius_scale: false # 深度缩放 | |
| depth_ref_m: 2.0 # 深度参考值 | |
| depth_scale_factor: 1.0 # 深度已在 fusion.output_scale 烘焙 | |
| depth_edge_aware: true # 深度边缘感知 | |
| depth_edge_threshold: 0.3 # 深度梯度阈值 | |
| depth_edge_min_scale: 0.12 # 边缘处最小半径缩放 | |
| # 遮挡门控 | |
| occlusion_gate: | |
| enabled: true | |
| abs_eps_m: 0.05 | |
| rel_eps: 0.05 | |
| # Z-buffer 参数 | |
| zbuffer_eps_abs_m: 0.03 | |
| zbuffer_eps_rel: 0.03 | |
| zbuffer_min_weight: 0.001 | |
| # 空洞填充 | |
| hole_fill_enabled: false | |
| max_hole_px: 16 | |
| # 有效性 | |
| min_weight_sum: 1.0e-4 | |
| min_hit_sum: 1.0e-6 | |
| # 输出控制 | |
| output_flow: true | |
| output_depth: true | |
| # --- 运行参数 --- | |
| run: | |
| device: "cuda" | |
| save_intermediates: true | |