gs_from_world — DRIVE gsplat op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.gs_from_world(world: 'dict', *, spacing: 'float' = 0.004, max_per_object: 'int' = 20000, pos_noise: 'float' = 0.0, color_noise: 'float' = 0.0, sigma_ratio: 'float' = 1.0, normal_ratio: 'float' = 0.1, opacity: 'float' = 0.99, curv_ratio: 'float' = 0.5, edge_ratio: 'float' = 0.25, seed: 'int' = 0) -> 'dict' (implementation को सीधे call करना हो तो import gsplatnp; gsplatnp.gs_from_world(world: 'dict', *, spacing: 'float' = 0.004, max_per_object: 'int' = 20000, pos_noise: 'float' = 0.0, color_noise: 'float' = 0.0, sigma_ratio: 'float' = 1.0, normal_ratio: 'float' = 0.1, opacity: 'float' = 0.99, curv_ratio: 'float' = 0.5, edge_ratio: 'float' = 0.25, seed: 'int' = 0) -> 'dict', registry से लेना हो तो opsdrive.get("gs_from_world"))

उपयोग

world की faces पर Gaussians चिपकाया गया 3DGS लौटाता है (world = driveworld का world dict: V, F, face_color, objects)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

物体ごとに間隔 s_o = max(spacing, √(物体の面積 / max_per_object))、個数 N_o = ⌈面積 / s_o²⌉。面は面積に比例した層化抽出(累積面積の (k + u)/N_o 点、u は物体ごとの一様乱数)で選び、面の中は R2 低食い違い列(一様乱数だと隙間 = 穴が空く)。共分散は面に沿う平たい円盤局所間隔 s_f = max(s_o / 8, min(s_o, curv_ratio · R_f / sigma_ratio))(R_f = 面の曲率半径の見積り、角 ≥ 75° は数えない):

平たい円盤が曲面からはみ出さない大きさに抑え、細い所(糸)はそのぶん密に置く(個数の重み = 面積 / s_f²)。角(隣の面と 75° 以上)に接する面は s_f ≤ edge_ratio · s_o(3DGS が縁で細かくするのと同じ: 大きな円盤が縁の外 —— 玉の穴の口 —— へはみ出して穴を塞いだ)。Σ = R diag(σt², σt², σn²) Rᵀ、σt = sigma_ratio · s_f(既定 1.0 = 3DGS の初期値「近い 3 点までの平均距離」と同じ。0.7 では板の 7 % の画素で α < 0.95 の隙間が残った)、σn = normal_ratio · σt、R = [t1 t2 n] (面の局所座標)。誤差(1 個ごとに固定、コマをまたいで同じ): 面の局所座標での位置 N(0, pos_noise²)(3 軸)・色 N(0, color_noise²)(切り詰め)。

返り値 dict: face (N,)・bary (N,3)・offset_local (N,3)・color (N,3)・opacity (N,)・sigma_t (N,)・sigma_n (N,)・ obj (N,)(世界の objects の索引)・label (N,)・spacing_obj (物体数,)、加えて gs_update が埋める mu (N,3)・ R (N,3,3)(列 = t1, t2, n)・normal (N,3)。

fail-closed: spacing ≤ 0、max_per_object < 1、雑音 < 0、sigma_ratio ≤ 0、normal_ratio ≤ 0、opacity ∉ (0, 1]、面の無い世界は ValueError。

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_kendama — py -3.11 examples/poc_kendama.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (gsplat)

gs_update · gs_render · gs_render_fn · gs_read_file


*Provenance: gsplatnp.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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