-
Notifications
You must be signed in to change notification settings - Fork 34
ITEP-80577 Tracker improvements in time-chunking and time-based parameters #693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Please request a fresh review when the comments are addressed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the tracker configuration from frame-based to time-based parameters, improving intuitiveness and camera FPS independence. It fixes a bug where dynamic FPS scaling was ineffective due to incorrect dictionary key usage, and adjusts time-chunking configuration to use rate (FPS) instead of interval (milliseconds).
Changes:
- Replaced frame-based tracker parameters with time-based equivalents (seconds instead of frame counts)
- Introduced
effective_object_update_rateparameter to define tracker's reference frame rate - Changed time-chunking from interval-based (ms) to rate-based (FPS) configuration
- Removed non-functional dynamic FPS scaling logic
- Updated documentation with conversion guidelines
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/system/metric/test_data/tracker-config.json | Updated to use time-based parameters instead of frame-based |
| tests/system/metric/test_data/tracker-config-time-chunking.json | Converted to time-based parameters and rate-based time-chunking |
| tests/system/metric/tc_tracker_metric.py | Updated to read new time-based parameters and rate-based time-chunking |
| controller/src/controller/tracking.py | Added effective_object_update_rate constant and threading parameter passing |
| controller/src/controller/time_chunking.py | Refactored from interval-based to rate-based time-chunking configuration |
| controller/src/controller/scene_controller.py | Implemented validation and extraction logic for new time-based parameters |
| controller/src/controller/scene.py | Updated Scene initialization to use effective_object_update_rate and removed dynamic FPS logic |
| controller/src/controller/ilabs_tracking.py | Updated to accept and use effective_object_update_rate parameter |
| controller/src/controller/cache_manager.py | Updated to include effective_object_update_rate in scene data |
| controller/docs/user-guide/How-to-configure-tracker.md | Comprehensive documentation update with parameter descriptions and conversion examples |
| controller/config/tracker-config.json | Updated default configuration to time-based parameters |
| controller/config/tracker-config-time-chunking.json | Updated time-chunking configuration to use rate instead of interval |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
saratpoluri
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Haven't checked if time chunking still works. @jdanieck please verify.
📝 Description
Changes:
effective_object_update_rateused as a reference frame rate for deriving tracker internal frame-based parameters from high level time-based parameters. The parameter reflects the real rate of objects observations as seen by the trackerframe_rateinstead ofrate).time_chunking_interval_millisecondsconfiguration parameter withtime_chunking_rate_fps✨ Type of Change
Select the type of change your PR introduces:
🧪 Testing Scenarios
Time-chunking disabled
Low-level tracker parameters before applying PR changes (
mainbranch):Low-level tracker parameters after applying PR changes (
time-chunking-improvementsbranch):Time-chunking enabled
Low-level tracker parameters before applying PR changes (
mainbranch):Low-level tracker parameters after applying PR changes (
time-chunking-improvementsbranch):Describe how the changes were tested and how reviewers can test them too:
✅ Checklist
Before submitting the PR, ensure the following: