elastic_deform — 3D augment op

• Data kinds: points → points

• Call: import fullseye as fs; fs.ledger.elastic_deform(points, sigma: 'float', alpha: 'float', seed: 'int' = 0) -> 'np.ndarray' (implementation को सीधे call करना हो तो import pcl_augment; pcl_augment.elastic_deform(points, sigma: 'float', alpha: 'float', seed: 'int' = 0) -> 'np.ndarray', registry से लेना हो तो ops3d.get("elastic_deform"))

उपयोग

smooth random displacement field से elastic deformation (correlation length sigma, RMS amplitude alpha)।

हर point पर स्वतंत्र Gaussian random vector रखकर, spatial Gaussian weight exp(-d²/2σ²) से smoothing करके displacement field बनाता है (पास के point coherent रूप से चलते हैं)। field को RMS 1 पर normalise करके फिर alpha से गुणा किया जाता है, इसलिए displacement का RMS norm ठीक alpha होता है (σ→∞ पर field स्थिर = rigid translation, σ→0 पर हर point स्वतंत्र)। non-rigid object deformation/लचीली वस्तुओं की training के लिए।

सावधानी (honest): neighbour search cKDTree.query_pairs(r=3σ) है। σ जितना cloud के व्यास के करीब हो, जोड़ों की संख्या उतनी O(N²) के करीब होती है, इसलिए बड़े cloud में σ को local scale पर रखें।

sigma < 0 पर ValueError। sigma == 0 या केवल 1 point वाले cloud में smoothing नहीं होती और हर point का स्वतंत्र displacement होता है। alpha की जाँच नहीं होती (0 पर कोई displacement नहीं, ऋणात्मक पर field बस उलट जाता है)। seed से deterministic। return value float64 (N,3) है, points की संख्या और क्रम बना रहता है (deformation से पहले और बाद का संबंध index से पता चलता है, इसलिए non-rigid registration की त्रुटि (error) सीधे मापी जा सकती है)। खाली input पर खाली लौटता है।

संदर्भ (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 करते हैं)

• sensor_seg — py -3.11 examples_3d/sensor_seg.py

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

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

इसी category के (augment)

jitter · random_rotation · random_scale · random_dropout · cutout


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

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