integrate — 3D tsdf_fusion op

• Datenarten: sdf × depth → sdf

• Aufruf: 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' (die Implementierung direkt: 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'; aus dem Register: ops3d.get("integrate"))

Verwendung

Integriert ein Tiefenbild per projektivem TSDF in das Volumen (in-place, gewichteter laufender Mittelwert).

Projiziert jedes voxel-Zentrum mit (K,R,t) (X_cam = R X + t, u = fx*X/Z+cx) und vergleicht die beobachtete Tiefe d_meas des zugehörigen Pixels mit der Kameratiefe des voxels d_voxel = Z_cam. sdf = min(1, (d_meas - d_voxel)/trunc) wird nur auf voxel angewendet, die alle folgenden Bedingungen erfüllen:

innerhalb des Bildes, d_meas>0 und endlich, (d_meas - d_voxel) >= -trunc (mehr als trunc hinter der Oberfläche = der verdeckte Bereich ist nicht beobachtbar und wird nicht aktualisiert). Auf dieser valid-Menge gilt sdf ∈ [-1,1].

Aktualisierung: tsdf = (w*tsdf + sdf)/(w+1), weight = w+1 (Gewicht 1 pro 1 Frame).

Werden bounds übergeben, werden voxel-Zentren in world interpretiert und (K,R,t) ist world→camera. Bei bounds=None (Standard) werden voxel-Zentren im grid-index-Frame ((i+0.5,...)) interpretiert und (K,R,t) ist grid→camera (fuse übergibt bounds, daher wird in world-Koordinaten fusioniert).

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• depth_sensors — Tiefensensoren — Messprinzipien, Werte realer Geräte, wie Messlücken entstehen

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• transforms_repr — py -3.11 examples_3d/transforms_repr.py

Typkompatible Folge-Operatoren (nehmen sdf als Eingabe)

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

Gleiche Kategorie (tsdf_fusion)

fuse · extract_surface_points


*Provenance: tsdf_fusion.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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