How rdxrf/fastpoly works
Fast-Poly is a nuScenes-focused 3D multi-object tracker. The documented workflow loads ordered detector results and scene tokens, tracks each scene, saves results, and evaluates them; its internals associate detections with predicted tracks and estimate object motion. The README also documents configurable parameter search and detector suppression. Some implementation details, including the evaluation and finetuning paths, were not sampled, so those relationships are shown only where documented; uncertain internal calls are omitted.
Main entry points: test.py Inference entry · nusc_tracker.py Tracker orchestration · nusc_trajectory.py Trajectory lifecycle · nusc_loader.py nuScenes loader
Components 24
Input and preparation
- nuScenes loader
dataloader/nusc_loader.py - Detection conversion
pre_processing/nusc_data_conversion.py - Detection NMS
pre_processing/nusc_nms.py - Dataset constants
data/script/NUSC_CONSTANT.py
Tracking lifecycle
- Tracker orchestration
tracking/nusc_tracker.py - Trajectory lifecycle
tracking/nusc_trajectory.py - Track life management
tracking/nusc_life_manage.py - Track score management
tracking/nusc_score_manage.py - Track geometry management
tracking/nusc_geometry_manage.py
Geometry and motion
- Association helpers
utils/matching.py - Box similarity
geometry/nusc_distance.py - 3D box geometry
geometry/nusc_box.py - Geometry utilities
geometry/nusc_utils.py - Kalman estimation
motion_module/kalman_filter.py - Motion models
motion_module/motion_model.py - Frame state
motion_module/nusc_object.py
Runtime and evaluation
- Inference entry
test.py - Tracker config
config/nusc_config.yaml - Results and evaluation
test.py - Parameter search
test.py
Other components
- User
- Detector results
- Scene tokens
- Evaluation database
Connections 20
- User → Inference entry: runs inference
README.md - Detector results → nuScenes loader: provides detections
README.md - Scene tokens → nuScenes loader: initializes scenes
README.md - Evaluation database → Inference entry: supports evaluation
README.md - Tracker config → Inference entry: configures tracker
README.md - Inference entry → nuScenes loader: loads scenes
- nuScenes loader → Detection conversion: converts detections
- Tracker orchestration → Detection NMS: applies suppression
- Tracker orchestration → Trajectory lifecycle: updates tracks
tracking/nusc_tracker.py - Trajectory lifecycle → Track life management: manages track life
tracking/nusc_life_manage.py - Trajectory lifecycle → Track score management: uses score management
tracking/nusc_trajectory.py - Trajectory lifecycle → Track geometry management: uses geometry management
tracking/nusc_trajectory.py - Tracker orchestration → Association helpers: constructs associations
tracking/nusc_tracker.py - Tracker orchestration → Box similarity: computes costs
tracking/nusc_tracker.py - Detection conversion → 3D box geometry: creates boxes
pre_processing/nusc_data_conversion.py - Detection NMS → Box similarity: scores overlap
pre_processing/nusc_nms.py - Kalman estimation → Motion models: uses motion models
motion_module/kalman_filter.py - Kalman estimation → Frame state: stores frame state
motion_module/kalman_filter.py - Inference entry → Results and evaluation: runs evaluation
README.md - User → Parameter search: enables search
README.md