Releases: OpenSportsLab/VideoAnnotationTool
Releases · OpenSportsLab/VideoAnnotationTool
VideoAnnotationTool V1.1.4.1
- Modified apply_action_filter to make Hand Labelled and Smart Labelled filters inclusive rather than mutually exclusive.
- Added real-time filter refreshing and refactored logic for batch confirmation, undo/redo, and robust confidence parsing.
- Added logic to reset smart annotation UI components in the right panel within the _clear_workspace method.
- Inserted filter refresh calls in refresh_ui_after_undo_redo to ensure the left list syncs immediately after undo/redo.
- Fixed key mismatch in batch undo logic by changing old_batch to old_data to match the history stack.
- Corrected undo key names and updated batch results to pass rich dictionaries with confidence instead of plain strings.
- Added descriptive "Start:" and "End:" labels before the batch inference selection comboboxes in the UI.
- Fix Save/Export button state to properly recognize confirmed smart annotations in Classification mode.
VideoAnnotationTool V1.1.4
- Implemented dynamic label mapping in config.yaml to remove hardcoded class dependencies.
- Fixed cross-loading bugs; eliminated the need to start from an empty JSON; fixed task-name validation errors.
- Implemented dual-track export (Hand/Smart labels); refined schema to ensure standard action_classification output.
- Implemented "hard-root" logic; eliminated redundant dataset copying by referencing source paths directly.
- Introduced a compact tabbed interface (Hand/Smart); optimized vertical spacing and implemented dynamic font scaling.
- Developed independent Smart Annotation confirmation; added a 4-state filter (All/Hand/Smart/None).
- Expanded the Undo/Redo system to support batch operations and AI inference tasks.
Video Annotation Tool
Update from "SoccernetPro" to “Video Annotation Tool”
- Update release.yml
- Update release.yml
- Update ci.yml
- Update welcome_widget.py
- Update viewer.py
- Update README.md
- Delete .DS_Store
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update deploy_docs.yml
- Update release.yml
- Update ci.yml
- Update README.md
- Update welcome_widget.py
- Delete test_data/invalid_json/invalid_classification_json/IMPORT04.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT03.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT02.1.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT02-2.json
V1.1.2.2
- Update app_state.py
- Update history_manager.py
- Update editor.py
- Update inference_manager.py
- Update inference_manager.py
- Update main.py
- Update release.yml
- Update ci.yml
- Update requirements.txt
- Update inference_manager.py
- Update inference_manager.py
- Update ci.yml
- Update release.yml
- Update ci.yml
- Update requirements.txt
- Update release.yml
- Update ci.yml
- Update requirements.txt
- Update config.yaml
- Update release.yml
SoccernetPro_Smart_Annotation_Tool
- Update inference_manager.py
- Update main.py
- Update release.yml
- Update ci.yml
- Update requirements.txt
- Update inference_manager.py
- Update inference_manager.py
- Update ci.yml
- Update release.yml
- Update ci.yml
- Update requirements.txt
- Update release.yml
- Update ci.yml
- Update requirements.txt
- Update config.yaml
- Update release.yml
- Update deploy_docs.yml
- Update ci.yml
- Update requirements.txt
- Update ci.yml
SoccernetPro_Annotation_Tool
- Update welcome_widget.py
- Delete test_data/invalid_json/invalid_classification_json/IMPORT04.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT03.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT02.1.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT02-2.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT01.1.json
- Delete test_data/invalid_json/invalid_classification_json/IMPORT01-2.json
- Upload invalid JSON of classification
- Update style.qss
- Update dynamic_widgets.py
- Update gui_overview.md
- Upload screenshots of main UI pages
- Create README.md
- Delete docs/assets/localization-UI.png
- Delete docs/assets/classification-UI.png
- Update loc_file_manager.py
- Update dense_file_manager.py
- Update ci.yml
- Update release.yml
- Update ci.yml
V1.1.1
- Delete annotation_tool/ui/description/media_player/preview.py
- Update README.md
- Update README.md of UI/common
- Upload invalid test JSON of dense description
- Create README.md
- Add files via upload
- Create README.md
- implemented strict cross-modal JSON validation in Description and Dense-Description with detailed error reporting, preserved global and item-level metadata during I/O, and resolved UI synchronization issues regarding hierarchical clip structures and annotation status indicators.
- Update router.py
- Delete annotation_tool/controllers/classification/annotation_manager.py
- Delete annotation_tool/controllers/classification/navigation_manager.py
- Update style.qss
- Update desc_input_widget.py
- Update init.py
- Update release.yml
- Update release.yml
- Update ci.yml
- Update release.yml
- Update release.yml
- Delete annotation_tool/README_old.md
V1.1.0
- Update style.qss
- Update desc_input_widget.py
- Update init.py
- Update release.yml
- Update release.yml
- Update ci.yml
- Update release.yml
- Update release.yml
- Delete annotation_tool/README_old.md
- Merge pull request #4 from OpenSportsLab/sync-from-feb8-20260210
- Sync annotation_tool updates from Feb8 (Move the video play to public UI, Implement the dense description, finish reconstruction)
- Create the control of dense description
- Create UI of dense description
- Create README.md
- Create README.md for dense_description
- Create README.md of dense_description
- Update README.md
- Update README.md
- Update README.md
- Update annotation_tool , Add description Tool and replace viewer.py
SoccerNetProAnalyzer_v1.0.7
- Update release.yml
- Add .exe file for Windows and Linux
SoccerNetProAnalyzer_v1.0.6
Release Notes - 2026-01-03
The first released version in 2026! Happy new year!
Documentation work and automatic flow
- I set up an MkDocs-based online documentation site generated from the
docs/directory and deployed automatically to GitHub Pages using GitHub Actions. - I also configured cross-platform CI workflows to automatically build standalone GUI binaries for Linux, Windows, and macOS on each push or release.
New Features
- Context-Aware Keyboard Shortcuts: Added global keyboard shortcuts (e.g.,
Spacefor Play/Pause,Ctrl+Sfor Save,Arrowsfor Seeking) that automatically dispatch commands to the active mode (Classification or Localization). - Streamlined Spotting Workflow: Updated the "Add new label" logic in Localization mode. The system now pauses playback, captures the current timestamp, creates the label, spots the event, and resumes playback automatically.
Bug Fixes
- Classification Data Export: Fixed a critical bug where saving/exporting a Classification project resulted in an empty
datalist. Annotations are now correctly serialized. - Relative Path Resolution: Solved "Video not found" errors upon reloading projects. Paths are now calculated relative to the JSON file's location during save and load operations.
- Startup Crash: Fixed an
AttributeErrorcrash ("CenterPanel object has no attribute media_preview") that occurred when loading a Classification project due to incorrect widget referencing. - UI Consistency:
- Restored the advanced Tab/Grid layout for the Localization Right Panel to match the original design specifications.
- Corrected the style of the "Clear All" button in the Localization Left Panel to match standard button styling.
Improvements
- Auto-Play on Load: Classification projects now automatically select and play the first video clip upon loading.
- Non-Intrusive Notifications: Replaced modal "OK" dialogs with a 5-second temporary toast message when successfully loading projects or switching modes, improving user flow.
- Button Label Clarity: Renamed the label creation button to "+ Add new label at current time" to accurately reflect its dual functionality (Create + Spot).