用户指南

第 9 章 — SfM 后端

专家模式下检查器中带有 Camera Alignment 选择器的界面 (Apple Photogrammetry / Native (Beta))
专家模式下检查器中带有 Camera Alignment 选择器的界面 (Apple Photogrammetry / Native (Beta))
Native (Beta) 已激活的检查器 — Camera Alignment 选择器选中第二个选项,其他训练配置参数均未更改
Native (Beta) 已激活的检查器 — Camera Alignment 选择器选中 第二个选项,其他训练配置参数均未更改

检查器中的 Camera Alignment 选择器是一个分段控件,提供两个选项 — Apple Photogrammetry (App Store 构建的默认选项,完全符合沙盒要求) 和 Native (Beta) (RadianceKit 自有的 FAST+BRIEF+GLOMAP 流水线后端,于阶段 3.8/3.9 开发,截至 2026 年 5 月)。Native (Beta) 仅在环绕轨道场景中得到验证, 在 ≥1 000 帧时比 Apple Photogrammetry 更快,但尚未满足阶段 3 §5 质量门 (finalLoss ≤ 0.0115) — 因此带有 Beta 标签。 来自 Metashape、COLMAP 或其他摄影测量软件的外部 SfM 结果可以 另外通过文件菜单导入 (Q3 COLMAP 文本格式、Q6 Workspace 导入) — 选择器不会切换,但导入的位姿将替换 SfM 结果。

SfM 是 Structure from Motion 的缩写。软件会根据一组 重叠的照片,为每张图像在共同的 3D 坐标系中重建相机的位置和视线方向。 在此过程中会生成一个粗略的 3D 点云,用于初始化 Gaussian Splatting 训练。SfM 结果是实际训练的输入,对后续的图像质量有决定性影响。

RadianceKit 提供五种 SfM 途径:两种内置后端 (Q1 Apple Photogrammetry、 Q4/Q5 Native)、两种来自外部工具的导入路径 (Q3 COLMAP 文本格式、 Q6 二进制 Workspace 导入) 以及 Q2 COLMAP 二进制 (仅在 App Store 之外 的 Developer 构建中可用)。哪种合适取决于场景类型 (围绕物体的环绕、 室内、无人机飞行) 以及外部软件是否已经提供了重建。

Q1 — Apple Photogrammetry

位置

专家视图 → 检查器 → 训练配置 → Camera Alignment 选择器,条目"Apple Photogrammetry"。

技术细节

封装了 Apple 内置的摄影测量框架,该框架最初 是为 Object Capture 开发的。Apple 在内部通过专有流水线提取特征 (步骤未公开),通过多视角匹配进行验证,并在 Apple Silicon Neural Engine + GPU 上求解 Bundle Adjustment。该后端完全符合 App Store 要求 (无外部二进制、Sandbox=true、设备端) ,但仅提供相机位姿 和粗略点云 — 没有轨迹长度或重投影误差等诊断指标。按 Apple 的建议,可扩展到数百张图像。在线性无人机飞行或大型户外场景中 超过约 500 帧时,可重现地观察到崩溃或单个相机被静默丢弃。

Q3 — COLMAP 文本格式 (Metashape / ETH3D)

位置

菜单"File → Import COLMAP / Metashape Workspace…" (Cmd+⇧+I) 或拖放包含 sparse/0/cameras.txt 的文件夹。

技术细节

读取标准化的 COLMAP 文本导出 — sparse/0/ 子文件夹中的三个文本文件 cameras.txtimages.txtpoints3D.txt — 并转换为内部 SfM 结果模型。格式定义与 COLMAP 二进制导出相同,只是用 ASCII 而非二进制。Agisoft Metashape、 RealityCapture、PolyCam 以及 ETH3D 基准测试都以这种布局输出。 解析器与二进制解析器共享相机模型检测 (所有常见模型:SIMPLE_PINHOLE、 PINHOLE、OPENCV、OPENCV_FISHEYE、FULL_OPENCV)。对注释行和空行 具有鲁棒性。在测试中可扩展到约 1 400 个相机 (ETH3D Tunnel) 而不出问题。

Q4 — Native SfM (增量式)

位置

专家视图 → 检查器 → 训练配置 → Camera Alignment 选择器,条目"Native (Beta)"。增量式是该后端的默认模式 — 检查器中没有单独的 Mapper 选择器。通过 CLI 可以使用 –native-sfm–sfm-mapper incremental 显式设置模式。

技术细节

整套 SfM 流水线的自主 GPU 加速实现: FAST+BRIEF 特征 或 通过 CoreML 的 SuperPoint+LightGlue (配合 –coreml-features),接着是 Hamming-KNN 匹配、RANSAC 基础矩阵、轨迹构建、初始对选择、双视图 Bootstrap (F→E 加 DLT)、 带 PnP 注册和多视角三角化的贪婪增量 Mapper,最后是通过 Cholesky 求解的 Schur 化简 Levenberg-Marquardt 加 Huber Loss 和解析雅可比 的 Bundle Adjustment。完全符合 App Store 要求:无外部二进制、 Sandbox=true。配合阶段 3.10 交付的 R2 崩溃检测器:如果应用程序 注册的输入帧少于 60 %,或者每相机点数低于 13,则自动回退到 全局 Mapper (Q5)。经验上在环绕/转盘场景上很干净;在更一般的 运动 (无人机飞行、几何复杂的室内空间) 上成功率较低 — 但检测器 会捕获这些情况。可可靠扩展到约 200 个相机,更高需要明显更长的 运行时间。

Q5 — Native SfM (全局)

位置

当增量 Mapper (Q4) 触发崩溃检测器时 (注册的输入帧少于 60 %,或每相机点数低于 13),自动调用。 仅可通过 CLI –sfm-mapper global 手动强制启用。在检查器中, 全局方法没有单独的选择器可访问 — 由应用程序自行决定何时切换。

技术细节

原生流水线的全局变体。先进行 特征提取 + 匹配 (与 Q4 相同),然后对所有已验证的对进行相对位姿 估计,接着是旋转平均 (在世界坐标系中同步所有相机旋转) 和 平移平均 (基于矩阵无关的稀疏公式的 LSQR,以避免在大量相机时 出现整数溢出)。原则上可扩展到约 5 000 个相机,但实际上超过几百 个相机后质量下降 — K-1351 上的阶段 3.8 §5 验收门测量结果是 finalLoss 0.07,而目标是 0.0115。被作为"回退层":在增量 Mapper 退化时启用,但本身不再接受质量检验。

Q6 — Metashape / COLMAP 文本 Workspace 导入 (阶段 Q7)

位置

文件菜单 → "Import COLMAP / Metashape Workspace…" (Cmd+⇧+I)。拖放包含 sparse/0/cameras.{bin,txt}images/ 的文件夹。

技术细节

自动检测通过拖放或 Open 面板 选择的文件夹是否符合三种 COLMAP Workspace 布局之一 (sparse/0/sparse/ 或根目录),以及重建是二进制 (cameras.bin) 还是文本 (cameras.txt)。二进制路径使用 COLMAP 二进制解析器,文本路径使用 ETH3D 加载器 — 两者都生成 相同的 SfM 结果模型,流水线的其余部分 (导入图像、启动 MCMC 训练) 与来源无关。图像通过应用程序沙盒书签系统以 security-scoped 方式打开,因此导入在 App Store 版本中也能工作。 特别针对"重用 Metashape 导出而无需重新计算重建"的情况。 文件菜单条目中提到的检测会在所选文件夹不是可识别的 Workspace 时在应用日志中发出警告。

何时使用哪种后端?

场景推荐后端
物体扫描,50–200 张照片Q1 Apple Photogrammetry
大型户外 / 无人机 / >500 张图Q6 Workspace 导入 (在 Metashape 或 COLMAP 中计算,然后加载)
已有 Metashape/RealityCapture 导出Q6 导入 (无需 SfM)
ETH3D / 学术 COLMAP 文本集Q3 COLMAP 文本导入
严格符合 App Store + 环绕场景Q4 Native 增量
Q4 失败Q5 Native 全局 (自动)
ETH3D 基准数据Q3 (autotest precomputed)

快速对比

后端App Store沙盒外部 二进制最佳用途最大 ~Cams
Q1 Apple PGOrbit-Object~300
Q2 COLMAP Binary❌ (仅 Developer 构建)colmap/glomapOutdoor large~5 000
Q3 COLMAP 文本导入Bench rigs~1 500
Q4 Native 增量Orbit-Object~200
Q5 Native 全局Q4 回退~1 351
Q6 Workspace 导入Metashape 复用按 来源