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)।

प्रत्येक वस्तु के लिए अंतराल 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 % pixel में α < 0.95 की खाली जगह रह गई), σn = normal_ratio · σt, R = [t1 t2 n] (फलक के स्थानीय निर्देशांक)। त्रुटि (प्रत्येक के लिए स्थिर, फ़्रेमों में समान): फलक के स्थानीय निर्देशांक में स्थिति 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,) (world के 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], या बिना फलक वाला world ValueError उठाते हैं।

खाली इनपुट (world खाली dict) पर 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.