foe_from_flow — DRIVE ttc op

• Data kinds: image2d × image2d → table

• Call: import fullseye as fs; fs.ledger.foe_from_flow(u, v, mask=None, *, min_speed: 'float' = 0.3, max_speed: 'float' = inf, iters: 'int' = 5, angle_scale: 'float' = 0.05) -> 'dict' (implementation को सीधे call करना हो तो import drivettc; drivettc.foe_from_flow(u, v, mask=None, *, min_speed: 'float' = 0.3, max_speed: 'float' = inf, iters: 'int' = 5, angle_scale: 'float' = 0.05) -> 'dict', registry से लेना हो तो opsdrive.get("foe_from_flow"))

उपयोग

optical flow से focus of expansion (FoE) का अनुमान लगाता है: {"foe": (col, row), "n", "residual"}।

शुद्ध स्थानांतरण का प्रवाह FoE से त्रिज्यीय होता है (Longuet-Higgins & Prazdny 1980), इसलिए हर पिक्सेल की प्रवाह-रेखा (बिंदु p_i से प्रवाह की दिशा में गुज़रने वाली रेखा) FoE से होकर गुज़रती है। FoE = वह बिंदु जो Σ w_i·dist(F, प्रवाह-रेखा_i)² को न्यूनतम करे (2×2 सामान्य समीकरण)। भार पुनरावृत्ति से 1/|p_i − F|·1/(1 + (角度残差/angle_scale)²) (Cauchy जैसा) हैं। जितना दूर पिक्सेल, उसकी प्रवाह-रेखा की दिशा की त्रुटि FoE की स्थिति पर उतना अधिक प्रभाव डालती है, इसलिए दूरी से भाग दिया जाता है, और बाहरी मान (अवरोध, बनावट-रहित) कोण अवशेष से हटाए जाते हैं। 15वें दौर में "ज्ञात" माने गए FoE को प्रवाह से निकालने का प्रवेश-द्वार (16वाँ दौर)।

प्रमेय-गेट: वास्तविक प्रवाह (flow_from_depth_motion) देने पर foe_from_motion से 1e-9 तक मेल।

mask उपयोग किए जाने वाले पिक्सेल हैं (डिफ़ॉल्ट = परिमित और गति [min_speed, max_speed] वाले पिक्सेल)। 3 से कम मान्य पिक्सेल, या सामान्य समीकरण अव्युत्क्रमणीय (सभी प्रवाह-रेखाएँ समांतर) हों तो 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_world_terrain — py -3.11 examples/poc_world_terrain.py

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

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

इसी category के (ttc)

relative_motion · foe_from_motion · flow_from_depth_motion · ttc_truth · ttc_from_flow · ttc_from_scale · ttc_from_range · label_extent


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

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