gsplat op• 数据种类:table × matrix → table
• 调用: import fullseye as fs; fs.ledger.gs_render(gs: 'dict', pose, K, width: 'int', height: 'int', *, light=(0.3, -0.5, 0.8), ambient: 'float' = 0.35, sky=(0.62, 0.75, 0.92), max_radius: 'int' = 64, max_pairs: 'int' = 12000000, antialias: 'bool' = True) -> 'dict'(要直接调用实现,import gsplatnp; gsplatnp.gs_render(gs: 'dict', pose, K, width: 'int', height: 'int', *, light=(0.3, -0.5, 0.8), ambient: 'float' = 0.35, sky=(0.62, 0.75, 0.92), max_radius: 'int' = 64, max_pairs: 'int' = 12000000, antialias: 'bool' = True) -> 'dict';从台账取用则 opsdrive.get("gs_render"))
> 该算子的说明尚无译文,以下照原文给出。
3DGS をカメラ(`pose = world→camera 4×4、K` 3×3、driveworld.world_camera と同じ規約: −Z を見る、行は上が小さい)で描く。
手順: (1) 中心をカメラ系へ、深さ d = −z ≤ 1e-6 は捨てる、(2) 2-D 共分散 Σ' = J W Σ Wᵀ Jᵀ + 0.3 I、
J = [[fx/d, 0, fx·x/d²], [0, −fy/d, −fy·y/d²]]、(3) 半径 r = ⌈3 √λ_max(Σ')⌉(≤ `max_radius`、超える物は捨てずに r を切る)の窓の
画素ごとに α = min(0.99, o · exp(−½ Δᵀ Σ'⁻¹ Δ))(α < 1/255 は捨てる)、(4) 画素ごとに深さの順で手前から
C = Σ c_i α_i T_i、T_i = Π_{j<i}(1 − α_j)、背景 = (1 − Σ α_i T_i) · sky。色は Lambert(world_camera と同じ ambient + (1 − ambient)|n·l|、
光はカメラ系)。すべて配列演算(ガウシアン × 窓の画素の組を平らに並べ、画素 → 深さで並べて群ごとの累積和で T を出す)。
返り値: `color (H,W,3)・alpha (H,W)(= Σ α_i T_i)・depth` (H,W)(α で重みづけた深さ / alpha、alpha < 0.5 は NaN)・
`label (H,W)(重み最大のガウシアンのラベル、alpha < 0.5 は −1)・n_pairs・n_visible`。
fail-closed: 画像の大きさ ≤ 0、max_radius < 1、組の数が `max_pairs` を超える(遅すぎる描画を黙って走らせない)は ValueError。
• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。
• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。
• 算法的正典(作者・年份)与用途见上面的族使用指南。
• poc_kendama — py -3.11 examples/poc_kendama.py
table 作为输入)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
gsplat)gs_from_world · gs_update · gs_render_fn
*Provenance: gsplatnp.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.