We're excited to announce SAHI v0.11.31 with important bug fixes and improvements!
- Make Category immutable and add tests by @gboeer in obss#1206
- Update docstring for greedy_nmm by @kikefdezl in obss#1205
- update version by @fcakyon in obss#1208
- @kikefdezl made their first contribution in obss#1205
Full Changelog: https://github.com/obss/sahi/compare/0.11.30...0.11.31
We're excited to announce SAHI v0.11.30 with improved performance tracking, enhanced testing infrastructure, and better developer experience!
- Academic papers citing SAHI reached 400! (#1168)
- Fixed postprocess duration tracking in
get_sliced_prediction- now properly separates slice, prediction, and postprocess timings for accurate performance monitoring (#1201) - Thanks @Toprak2!
- Refactored Ultralytics support with ONNX model support and better compatibility (#1184)
- Updated TorchVision support to latest API (#1182)
- Improved Detectron2 support with better config handling to prevent KeyError issues (#1116) - Thanks @Arnesh1411!
- Added Roboflow framework support for RF-DETR models from the Roboflow Universe (#1161) - Thanks @nok!
- Removed deepsparse integration as the framework is no longer maintained (#1164)
- Migrated test suite to pytest (#1187)
- Tests now run faster with better parallel execution
- Extended Python version coverage (3.8, 3.9, 3.10, 3.11, 3.12)
- Updated to more recent PyTorch versions for better compatibility testing
- Improved test organization and maintainability
- Refactored MMDetection tests for better reliability (#1185)
- Added Context7 MCP integration for AI-assisted development
(#1198)
- SAHI's documentation is now indexed in Context7 MCP
- Provides AI coding assistants with up-to-date, version-specific code examples
- Includes llms.txt file for AI-readable documentation
- Check out the Context7 MCP installation guide to integrate SAHI docs with your AI workflow
- Immutable bounding boxes for thread-safe operations (#1194, #1191) - Thanks @gboeer!
- Enhanced type hints and docstrings throughout the codebase (#1195) - Thanks @gboeer!
- Overloaded operators for prediction scores enabling intuitive score comparisons (#1190) - Thanks @gboeer!
- PyTorch is now a soft dependency improving flexibility (#1162) - Thanks @ducviet00!
- Improved dependency management and documentation (#1183)
- Enhanced pyproject.toml configuration for better package management (#1181)
- Optimized CI/CD workflows for MMDetection tests (#1186)
- Fixed CUDA device selection to support devices other than cuda:0 (#1158) - Thanks @0xf21!
- Corrected parameter naming from 'confidence' to 'threshold' for consistency (#1180) - Thanks @nok!
- Fixed regex string formatting in device selection function (#1165)
- Resolved torch import errors when PyTorch is not installed (#1172) - Thanks @ducviet00!
- Fixed model instantiation issues with
AutoDetectionModel.from_pretrained(#1158)
- Updated OpenCV packages from 4.10.0.84 to 4.11.0.86 (#1171) - Thanks @ducviet00-h2!
- Removed unmaintained matplotlib-stubs dependency (#1169)
- Cleaned up unused configuration files (#1199)
- Added context7.json for better AI tool integration (#1200)
- Updated README with new contributors (#1175, #1179)
- Added Roboflow+SAHI Colab tutorial link (#1177)
Special thanks to all contributors who made this release possible: @nok, @gboeer, @Toprak2, @Arnesh1411, @0xf21, @ducviet00, @ducviet00-h2, @p-constant, and @fcakyon!
Full Changelog: https://github.com/obss/sahi/compare/0.11.24...0.11.30
- Make bounding box immutable by @gboeer in obss#1194
- Improve type hints and docstrings by @gboeer in obss#1195
- update version by @fcakyon in obss#1196
Full Changelog: https://github.com/obss/sahi/compare/0.11.28...0.11.29
- Add overloaded operators for prediction score by @gboeer in obss#1190
- Improve detectron2 support by @Arnesh1411 in obss#1116
- Use immutable arguments for bounding boxes by @gboeer in obss#1191
- update version by @fcakyon in obss#1192
- @Arnesh1411 made their first contribution in obss#1116
Full Changelog: https://github.com/obss/sahi/compare/0.11.27...0.11.28
- fix: Update inference method to use 'threshold' instead of 'confidence' by @nok in obss#1180
- Update README.md by @nok in obss#1179
- improve pyproject.toml by @fcakyon in obss#1181
- Refactor dependency management and some docs by @fcakyon in obss#1183
- update: refactor ultralytics support by @fcakyon in obss#1184
- Refactor mmdet tests by @fcakyon in obss#1185
- update torchvision support to latest api by @fcakyon in obss#1182
- optimize mmdet workflow trigger condition by @fcakyon in obss#1186
- Migrate tests to pytest by @fcakyon in obss#1187
- update version by @fcakyon in obss#1188
Full Changelog: https://github.com/obss/sahi/compare/0.11.26...0.11.27
- Bump opencv packages from
4.10.0.84to4.11.0.86by @ducviet00-h2 in obss#1171 - Add new framework Roboflow (RFDETR models) by @nok in obss#1161
- add new contributors to readme by @fcakyon in obss#1175
- add roboflow+sahi colab url to readme by @fcakyon in obss#1177
- update version by @fcakyon in obss#1176
- @ducviet00-h2 made their first contribution in obss#1171
- @nok made their first contribution in obss#1161
Full Changelog: https://github.com/obss/sahi/compare/0.11.25...0.11.26
- update sahi citation in readme by @fcakyon in obss#1168
- remove matplotlib-stubs as its not maintained by @fcakyon in obss#1169
- Fix torch import errors by @ducviet00 in obss#1172
- update version by @fcakyon in obss#1173
Full Changelog: https://github.com/obss/sahi/compare/0.11.24...0.11.25
- Fix typo and scripts URL by @gboeer in obss#1155
- fix ci workflow bug by @Dronakurl in obss#1156
- [DOC] Fix typos by @gboeer in obss#1157
- Remove deepsparse integration by @fcakyon in obss#1164
- Fix: Make pytorch is not a hard dependency by @ducviet00 in obss#1162
- fix: specify a device other than cuda:0 by @0xf21 in obss#1158
- fix: correct regex string formatting in select_device function by @fcakyon in obss#1165
- add TensorrtExecutionProvider to yolov8onnx by @p-constant in obss#1091
- update version by @fcakyon in obss#1166
- @gboeer made their first contribution in obss#1155
- @ducviet00 made their first contribution in obss#1162
- @0xf21 made their first contribution in obss#1158
- @p-constant made their first contribution in obss#1091
Full Changelog: https://github.com/obss/sahi/compare/0.11.23...0.11.24
- fix(CI): numpy dependency fixes #1119 by @Dronakurl in obss#1144
- Fix: Predict cannot find TIF files in source directory by @dibunker in obss#1142
- Fixed typos in demo Notebooks by @picjul in obss#1150
- fix: Fix Polygon Repair and Empty Polygon Issues, see #1118 by @mario-dg in obss#1138
- improve package ci logging by @fcakyon in obss#1151
- @dibunker made their first contribution in obss#1142
- @picjul made their first contribution in obss#1150
- @mario-dg made their first contribution in obss#1138
Full Changelog: https://github.com/obss/sahi/compare/0.11.22...0.11.23
- Improve support for latest mmdet (v3.3.0) by @fcakyon in obss#1129
- Improve support for latest yolov5-pip and ultralytics versions by @fcakyon in obss#1130
- support latest huggingface/transformers models by @fcakyon in obss#1131
- refctor coco to yolo conversion, update docs by @fcakyon in obss#1132
- bump version by @fcakyon in obss#1134
Full Changelog: https://github.com/obss/sahi/compare/0.11.21...0.11.22
- Detailed guide for performing object detection inference
- Standard and sliced inference examples
- Batch prediction usage
- Class exclusion during inference
- Visualization parameters and export formats
- Interactive examples with various model integrations (YOLOv8, MMDetection, etc.)
- Guide for slicing large images and datasets
- Image slicing examples
- COCO dataset slicing examples
- Interactive demo notebook reference
- Comprehensive guide for working with COCO format datasets
- Dataset creation and manipulation
- Slicing COCO datasets
- Dataset splitting (train/val)
- Category filtering and updates
- Area-based filtering
- Dataset merging
- Format conversion (COCO ↔ YOLO)
- Dataset sampling utilities
- Statistics calculation
- Result validation
- Complete reference for SAHI command-line interface
- Prediction commands
- FiftyOne integration
- COCO dataset operations
- Environment information
- Version checking
- Custom script usage
- Guide for visualizing and analyzing predictions with FiftyOne
- Dataset visualization
- Result exploration
- Interactive analysis
All documentation files are complemented by interactive Jupyter notebooks in the demo directory:
slicing.ipynb- Slicing operations demonstrationinference_for_ultralytics.ipynb- YOLOv8/YOLO11/YOLO12 integrationinference_for_yolov5.ipynb- YOLOv5 integrationinference_for_mmdetection.ipynb- MMDetection integrationinference_for_huggingface.ipynb- HuggingFace models integrationinference_for_torchvision.ipynb- TorchVision models integrationinference_for_rtdetr.ipynb- RT-DETR integrationinference_for_sparse_yolov5.ipynb- DeepSparse optimized inference
If you're new to SAHI:
- Start with the prediction utilities to understand basic inference
- Explore the slicing utilities to learn about processing large images
- Check out the CLI commands for command-line usage
- Dive into COCO utilities for dataset operations
- Try the interactive notebooks in the demo directory for hands-on experience
- Exclude classes from inference using pretrained or custom models by @gguzzy in obss#1104
- pyproject.toml, pre-commit, ruff, uv and typing issues, fixes #1119 by @Dronakurl in obss#1120
- add class exclusion example into predict docs by @gguzzy in obss#1125
- Add OBB demo by @fcakyon in obss#1126
- fix a type hint typo in predict func by @fcakyon in obss#1111
- Remove numpy<2 upper pin by @weiji14 in obss#1112
- fix ci badge on readme by @fcakyon in obss#1124
- fix version in pyproject.toml by @fcakyon in obss#1127
- @Dronakurl made their first contribution in obss#1120
- @gguzzy made their first contribution in obss#1104
Full Changelog: https://github.com/obss/sahi/compare/0.11.20...0.11.21
- add yolo11 and ultralytics obb task support by @fcakyon in obss#1109
- support latest opencv version by @fcakyon in obss#1106
- simplify yolo detection model code by @fcakyon in obss#1107
- Pin shapely>2.0.0 by @weiji14 in obss#1101
Full Changelog: https://github.com/obss/sahi/compare/0.11.19...0.11.20
- fix ci actions by @fcakyon in obss#1073
- Update has_mask method for mmdet models (handle an edge case) by @ccomkhj in obss#1066
- Another self-intersection corner case handling by @sergiev in obss#982
- Update README.md by @fcakyon in obss#1077
- drop non-working yolonas support by @fcakyon in obss#1097
- drop yolonas support part2 by @fcakyon in obss#1098
- Update has_mask method for mmdet models (handle ConcatDataset) by @ccomkhj in obss#1092
- @ccomkhj made their first contribution in obss#1066
Full Changelog: https://github.com/obss/sahi/compare/0.11.18...0.11.19
- add yolov8 mask support, improve mask processing speed by 4-5x by @mayrajeo in obss#1039
- fix has_mask method for mmdet models by @Alias-z in obss#1054
- Fix
TypeError: 'GeometryCollection' object is not subscriptablewhen slicing COCO by @Alias-z in obss#1047 - support opencv-python version 4.9 by @iokarkan in obss#1041
- add upperlimit to numpy dep by @fcakyon in obss#1057
- add more unit tests by @MMerling in obss#1048
- upgrade ci actions by @fcakyon in obss#1049
- @iokarkan made their first contribution in obss#1041
- @MMerling made their first contribution in obss#1048
- @Alias-z made their first contribution in obss#1047
Full Changelog: https://github.com/obss/sahi/compare/0.11.16...0.11.18
- support Deci-AI YOLO-NAS models by @ssahinnkadir in obss#874
- Significant speed improvement for Detectron2 models by @MyosQ in obss#865
- support ultralytics>=8.0.99 by @eVen-gits in obss#873
- Documentation typo, and missing value by @Hamzalopode in obss#859
- update version by @fcakyon in obss#876
- update black version by @fcakyon in obss#877
- @Hamzalopode made their first contribution in obss#859
- @eVen-gits made their first contribution in obss#873
- @MyosQ made their first contribution in obss#865
Full Changelog: https://github.com/obss/sahi/compare/0.11.13...0.11.14