integrate — 3D tsdf_fusion op

数据种类:sdf × depthsdf

调用: import fullseye as fs; fs.ledger.integrate(tsdf: 'np.ndarray', weight: 'np.ndarray', depth: 'np.ndarray', K, R, t, trunc: 'float', bounds: 'Optional[Bounds]' = None) -> 'None'(要直接调用实现,import tsdf_fusion; tsdf_fusion.integrate(tsdf: 'np.ndarray', weight: 'np.ndarray', depth: 'np.ndarray', K, R, t, trunc: 'float', bounds: 'Optional[Bounds]' = None) -> 'None';从台账取用则 ops3d.get("integrate"))

用法

用投影式 TSDF 把一张深度整合进 volume(原地,加权滑动平均)。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

各 voxel 中心を (K,R,t) で射影(`X_cam = R X + t, u = fx*X/Z+cx`)し、対応画素の

観測深度 `d_meas と voxel のカメラ深度 d_voxel = Z_cam` を比較。

`sdf = min(1, (d_meas - d_voxel)/trunc)` を、以下すべてを満たす voxel にのみ適用:

画像内・`d_meas>0 かつ有限・(d_meas - d_voxel) >= -trunc`(表面より trunc 以上奥=

遮蔽領域は観測不能として 更新しない)。この valid 集合では sdf ∈ [-1,1]。

更新: `tsdf = (w*tsdf + sdf)/(w+1)weight = w+1`(1 フレーム重み 1)。

bounds を渡すと voxel 中心を world で解釈し (K,R,t) は world→camera。bounds=None(既定)

では voxel 中心を grid-index フレーム((i+0.5,...))で解釈し (K,R,t) は grid→camera とする

(`fuse` は bounds を渡すので world 座標で融合される)。

背景知识指南(该算子背后的物理与约定)

depth_sensors — 深度センサの知識 — 測距原理・実機の値・欠測の出方

参考(示例数据・文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

可运行的示例(实际调用该算子并已验证的样例)

transforms_reprpy -3.11 examples_3d/transforms_repr.py

类型可衔接的下一个算子(可接受 sdf 作为输入)

sdf_to_occupancy · fuse_to_voxel · extract_surface_points · query_distance · sdf_union · sdf_intersect · sdf_subtract · sdf_smooth_union

同类别(tsdf_fusion)

fuse · extract_surface_points


*Provenance: tsdf_fusion.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.