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 · gs_read_file
*Provenance: gsplatnp.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.