plane_segmentation — 3D segment op

• Data kinds: points → labels

• Call: import fullseye as fs; fs.ledger.plane_segmentation(points, thresh: 'float', min_inliers: 'int', max_planes: 'int' = 5, iters: 'int' = 300, seed: 'int' = 0) -> 'np.ndarray' (implementation को सीधे call करना हो तो import segment3d; segment3d.plane_segmentation(points, thresh: 'float', min_inliers: 'int', max_planes: 'int' = 5, iters: 'int' = 300, seed: 'int' = 0) -> 'np.ndarray', registry से लेना हो तो ops3d.get("plane_segmentation"))

उपयोग

बार-बार RANSAC से अधिकतम max_planes planes को एक-एक करके निकालता है (residual points -1)।

बचे हुए point set पर ransac_fit.ransac_plane लगाता है, और उसके सबसे बड़े consensus वाले plane के inlier की संख्या min_inliers या अधिक हो तो नया label देकर उसे हटाता है → बाकी पर फिर से detect करता है, यह दोहराता है। कई फ़र्श/दीवार/सीढ़ी जैसी सतहों को एक बार में अलग करता है (एक ही plane fit करने वाले pcseg से यही अंतर है)। जैसे ही inlier min_inliers से कम हो जाते हैं, रुक जाता है, और बाकी points residual -1 रहते हैं (गोले और जटिल objects यहीं रहते हैं)।

Args:

points: (N,3) point cloud।

thresh: point-plane दूरी का inlier threshold (एक दूरी, > 0 होनी चाहिए)।

min_inliers: plane स्वीकार करने के लिए न्यूनतम inlier संख्या (>= 3 होनी चाहिए)।

max_planes: निकाले जाने वाले planes की अधिकतम संख्या (>= 1 होनी चाहिए)।

iters: हर RANSAC के iterations की संख्या।

seed: random seed (deterministic; हर plane के लिए seed+plane index इस्तेमाल होता है)।

Returns:

labels: (N,) int। Detection के क्रम (≈ consensus के घटते क्रम) में planes को 0,1,2,... देता है,

किसी भी plane में न आने वाले residual points -1 हैं। खाली input पर shape (0,)।

संदर्भ (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 के स्रोत।

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

• object_segmentation — py -3.11 examples_3d/object_segmentation.py

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

fuse_to_voxel · vol_region_props

इसी category के (segment)

region_growing · euclidean_cluster · vol_watershed


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

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