Recent Releases of sahi

sahi - v0.11.33 Release

What's Changed

  • docs: Simplify and improve context7 config by @fcakyon in https://github.com/obss/sahi/pull/1218
  • build: Eliminate unnecessary CI workflow triggers by @fcakyon in https://github.com/obss/sahi/pull/1219
  • fix: Fix incorrect context7 config structure by @fcakyon in https://github.com/obss/sahi/pull/1220
  • refactor: ๐Ÿงน improve test and utility code organization by @onuralpszr in https://github.com/obss/sahi/pull/1223
  • ๐Ÿ‘ท Bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/obss/sahi/pull/1229
  • fix: ๐Ÿ› Update version to 0.11.33 to fix sahi installation in dev by @onuralpszr in https://github.com/obss/sahi/pull/1233

Full Changelog: https://github.com/obss/sahi/compare/0.11.32...0.11.33

- Python
Published by fcakyon 6 months ago

sahi - v0.11.32

What's Changed

  • docs: ๐Ÿ“ Introduce mkdocs-material to sahi project to have documentation page by @onuralpszr in https://github.com/obss/sahi/pull/1210
  • ๐Ÿ‘ท Bump astral-sh/setup-uv from 5 to 6 by @dependabot[bot] in https://github.com/obss/sahi/pull/1211
  • fix: ๐Ÿž update deployment branch from 'develop' to 'main' in publish_docs workflow by @onuralpszr in https://github.com/obss/sahi/pull/1212
  • docs: ๐Ÿ“ Introduce mkdocs-material to sahi project to have documentation page by @onuralpszr in https://github.com/obss/sahi/pull/1213
  • Add DeepWiki documentation badge in README.md by @RizwanMunawar in https://github.com/obss/sahi/pull/1215
  • refactor: ๐Ÿ›  remove redundant logging imports and centralize logger configuration by @onuralpszr in https://github.com/obss/sahi/pull/1214
  • update version to 0.11.32 by @fcakyon in https://github.com/obss/sahi/pull/1216

New Contributors

  • @onuralpszr made their first contribution in https://github.com/obss/sahi/pull/1210
  • @dependabot[bot] made their first contribution in https://github.com/obss/sahi/pull/1211
  • @RizwanMunawar made their first contribution in https://github.com/obss/sahi/pull/1215

Full Changelog: https://github.com/obss/sahi/compare/0.11.31...0.11.32

- Python
Published by fcakyon 7 months ago

sahi - 0.11.31

What's Changed

  • Make Category immutable and add tests by @gboeer in https://github.com/obss/sahi/pull/1206
  • Update docstring for greedy_nmm by @kikefdezl in https://github.com/obss/sahi/pull/1205
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1208

New Contributors

  • @kikefdezl made their first contribution in https://github.com/obss/sahi/pull/1205

Full Changelog: https://github.com/obss/sahi/compare/0.11.30...0.11.31

- Python
Published by fcakyon 7 months ago

sahi - 0.11.30

# SAHI v0.11.30 Release Notes

We're excited to announce SAHI v0.11.30 with improved performance tracking, enhanced testing infrastructure, and better developer experience!

## ๐Ÿ“ˆ Milestones - Academic papers citing SAHI reached 400! (#1168)

## ๐Ÿš€ Key Updates

### Performance & Monitoring - Fixed postprocess duration tracking in get_sliced_prediction - now properly separates slice, prediction, and postprocess timings for accurate performance monitoring (#1201) - Thanks @Toprak2!

### Framework Updates - 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)

### Testing Infrastructure - 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)

### Developer Experience - 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

## ๐Ÿ› ๏ธ Improvements

### Code Quality & Safety - 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!

### Infrastructure & Stability - Improved dependency management and documentation (#1183) - Enhanced pyproject.toml configuration for better package management (#1181) - Optimized CI/CD workflows for MMDetection tests (#1186)

## ๐Ÿ› Bug Fixes - 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)

## ๐Ÿ“ฆ Dependencies - 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)

## ๐Ÿ“š Documentation - Added context7.json for better AI tool integration (#1200) - Updated README with new contributors (#1175, #1179) - Added Roboflow+SAHI Colab tutorial link (#1177)

## Acknowledgments

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

- Python
Published by fcakyon 8 months ago

sahi - 0.11.29

What's Changed

  • Make bounding box immutable by @gboeer in https://github.com/obss/sahi/pull/1194
  • Improve type hints and docstrings by @gboeer in https://github.com/obss/sahi/pull/1195
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1196

Full Changelog: https://github.com/obss/sahi/compare/0.11.28...0.11.29

- Python
Published by fcakyon 8 months ago

sahi - 0.11.28

What's Changed

  • Add overloaded operators for prediction score by @gboeer in https://github.com/obss/sahi/pull/1190
  • Improve detectron2 support by @Arnesh1411 in https://github.com/obss/sahi/pull/1116
  • Use immutable arguments for bounding boxes by @gboeer in https://github.com/obss/sahi/pull/1191
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1192

New Contributors

  • @Arnesh1411 made their first contribution in https://github.com/obss/sahi/pull/1116

Full Changelog: https://github.com/obss/sahi/compare/0.11.27...0.11.28

- Python
Published by fcakyon 8 months ago

sahi - 0.11.27

What's Changed

  • fix: Update inference method to use 'threshold' instead of 'confidence' by @nok in https://github.com/obss/sahi/pull/1180
  • Update README.md by @nok in https://github.com/obss/sahi/pull/1179
  • improve pyproject.toml by @fcakyon in https://github.com/obss/sahi/pull/1181
  • Refactor dependency management and some docs by @fcakyon in https://github.com/obss/sahi/pull/1183
  • update: refactor ultralytics support by @fcakyon in https://github.com/obss/sahi/pull/1184
  • Refactor mmdet tests by @fcakyon in https://github.com/obss/sahi/pull/1185
  • update torchvision support to latest api by @fcakyon in https://github.com/obss/sahi/pull/1182
  • optimize mmdet workflow trigger condition by @fcakyon in https://github.com/obss/sahi/pull/1186
  • Migrate tests to pytest by @fcakyon in https://github.com/obss/sahi/pull/1187
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1188

Full Changelog: https://github.com/obss/sahi/compare/0.11.26...0.11.27

- Python
Published by fcakyon 8 months ago

sahi - 0.11.26

What's Changed

  • Bump opencv packages from 4.10.0.84 to 4.11.0.86 by @ducviet00-h2 in https://github.com/obss/sahi/pull/1171
  • Add new framework Roboflow (RFDETR models) by @nok in https://github.com/obss/sahi/pull/1161
  • add new contributors to readme by @fcakyon in https://github.com/obss/sahi/pull/1175
  • add roboflow+sahi colab url to readme by @fcakyon in https://github.com/obss/sahi/pull/1177
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1176

New Contributors

  • @ducviet00-h2 made their first contribution in https://github.com/obss/sahi/pull/1171
  • @nok made their first contribution in https://github.com/obss/sahi/pull/1161

Full Changelog: https://github.com/obss/sahi/compare/0.11.25...0.11.26

- Python
Published by fcakyon 8 months ago

sahi - 0.11.25

What's Changed

  • update sahi citation in readme by @fcakyon in https://github.com/obss/sahi/pull/1168
  • remove matplotlib-stubs as its not maintained by @fcakyon in https://github.com/obss/sahi/pull/1169
  • Fix torch import errors by @ducviet00 in https://github.com/obss/sahi/pull/1172
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1173

Full Changelog: https://github.com/obss/sahi/compare/0.11.24...0.11.25

- Python
Published by fcakyon 8 months ago

sahi - 0.11.24

What's Changed

  • Fix typo and scripts URL by @gboeer in https://github.com/obss/sahi/pull/1155
  • fix ci workflow bug by @Dronakurl in https://github.com/obss/sahi/pull/1156
  • [DOC] Fix typos by @gboeer in https://github.com/obss/sahi/pull/1157
  • Remove deepsparse integration by @fcakyon in https://github.com/obss/sahi/pull/1164
  • Fix: Make pytorch is not a hard dependency by @ducviet00 in https://github.com/obss/sahi/pull/1162
  • fix: specify a device other than cuda:0 by @0xf21 in https://github.com/obss/sahi/pull/1158
  • fix: correct regex string formatting in select_device function by @fcakyon in https://github.com/obss/sahi/pull/1165
  • add TensorrtExecutionProvider to yolov8onnx by @p-constant in https://github.com/obss/sahi/pull/1091
  • update version by @fcakyon in https://github.com/obss/sahi/pull/1166

New Contributors

  • @gboeer made their first contribution in https://github.com/obss/sahi/pull/1155
  • @ducviet00 made their first contribution in https://github.com/obss/sahi/pull/1162
  • @0xf21 made their first contribution in https://github.com/obss/sahi/pull/1158
  • @p-constant made their first contribution in https://github.com/obss/sahi/pull/1091

Full Changelog: https://github.com/obss/sahi/compare/0.11.23...0.11.24

- Python
Published by fcakyon 8 months ago

sahi - 0.11.23

What's Changed

  • fix(CI): numpy dependency fixes #1119 by @Dronakurl in https://github.com/obss/sahi/pull/1144
  • Fix: Predict cannot find TIF files in source directory by @dibunker in https://github.com/obss/sahi/pull/1142
  • Fixed typos in demo Notebooks by @picjul in https://github.com/obss/sahi/pull/1150
  • fix: Fix Polygon Repair and Empty Polygon Issues, see #1118 by @mario-dg in https://github.com/obss/sahi/pull/1138
  • improve package ci logging by @fcakyon in https://github.com/obss/sahi/pull/1151

New Contributors

  • @dibunker made their first contribution in https://github.com/obss/sahi/pull/1142
  • @picjul made their first contribution in https://github.com/obss/sahi/pull/1150
  • @mario-dg made their first contribution in https://github.com/obss/sahi/pull/1138

Full Changelog: https://github.com/obss/sahi/compare/0.11.22...0.11.23

- Python
Published by fcakyon 10 months ago

sahi - 0.11.22

What's Changed

  • Improve suppot for latest mmdet (v3.3.0) by @fcakyon in https://github.com/obss/sahi/pull/1129
  • Improve support for latest yolov5-pip and ultralytics versions by @fcakyon in https://github.com/obss/sahi/pull/1130
  • support latest huggingface/transformers models by @fcakyon in https://github.com/obss/sahi/pull/1131
  • refctor coco to yolo conversion, update docs by @fcakyon in https://github.com/obss/sahi/pull/1132
  • bump version by @fcakyon in https://github.com/obss/sahi/pull/1134

Full Changelog: https://github.com/obss/sahi/compare/0.11.21...0.11.22

Core Documentation Files

Prediction Utilities

  • 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.)

Slicing Utilities

  • Guide for slicing large images and datasets
  • Image slicing examples
  • COCO dataset slicing examples
  • Interactive demo notebook reference

COCO Utilities

  • 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

CLI Commands

  • Complete reference for SAHI command-line interface
  • Prediction commands
  • FiftyOne integration
  • COCO dataset operations
  • Environment information
  • Version checking
  • Custom script usage

FiftyOne Integration

  • Guide for visualizing and analyzing predictions with FiftyOne
  • Dataset visualization
  • Result exploration
  • Interactive analysis

Interactive Examples

All documentation files are complemented by interactive Jupyter notebooks in the demo directory: - slicing.ipynb - Slicing operations demonstration - inference_for_ultralytics.ipynb - YOLOv8/YOLO11/YOLO12 integration - inference_for_yolov5.ipynb - YOLOv5 integration - inference_for_mmdetection.ipynb - MMDetection integration - inference_for_huggingface.ipynb - HuggingFace models integration - inference_for_torchvision.ipynb - TorchVision models integration - inference_for_rtdetr.ipynb - RT-DETR integration - inference_for_sparse_yolov5.ipynb - DeepSparse optimized inference

Getting Started

If you're new to SAHI:

  1. Start with the prediction utilities to understand basic inference
  2. Explore the slicing utilities to learn about processing large images
  3. Check out the CLI commands for command-line usage
  4. Dive into COCO utilities for dataset operations
  5. Try the interactive notebooks in the demo directory for hands-on experience

- Python
Published by fcakyon 12 months ago

sahi - 0.11.21

What's Changed

  • Exclude classes from inference using pretrained or custom models by @gguzzy in https://github.com/obss/sahi/pull/1104
  • pyproject.toml, pre-commit, ruff, uv and typing issues, fixes #1119 by @Dronakurl in https://github.com/obss/sahi/pull/1120
  • add class exclusion example into predict docs by @gguzzy in https://github.com/obss/sahi/pull/1125
  • Add OBB demo by @fcakyon in https://github.com/obss/sahi/pull/1126
  • fix a type hint typo in predict func by @fcakyon in https://github.com/obss/sahi/pull/1111
  • Remove numpy<2 upper pin by @weiji14 in https://github.com/obss/sahi/pull/1112
  • fix ci badge on readme by @fcakyon in https://github.com/obss/sahi/pull/1124
  • fix version in pyproject.toml by @fcakyon in https://github.com/obss/sahi/pull/1127

New Contributors

  • @Dronakurl made their first contribution in https://github.com/obss/sahi/pull/1120
  • @gguzzy made their first contribution in https://github.com/obss/sahi/pull/1104

Full Changelog: https://github.com/obss/sahi/compare/0.11.20...0.11.21

- Python
Published by fcakyon 12 months ago

sahi - 0.11.20

What's Changed

  • add yolo11 and ultralytics obb task support by @fcakyon in https://github.com/obss/sahi/pull/1109
  • support latest opencv version by @fcakyon in https://github.com/obss/sahi/pull/1106
  • simplify yolo detection model code by @fcakyon in https://github.com/obss/sahi/pull/1107
  • Pin shapely>2.0.0 by @weiji14 in https://github.com/obss/sahi/pull/1101

Full Changelog: https://github.com/obss/sahi/compare/0.11.19...0.11.20

- Python
Published by fcakyon about 1 year ago

sahi - 0.11.19

What's Changed

  • fix ci actions by @fcakyon in https://github.com/obss/sahi/pull/1073
  • Update has_mask method for mmdet models (handle an edge case) by @ccomkhj in https://github.com/obss/sahi/pull/1066
  • Another self-intersection corner case handling by @sergiev in https://github.com/obss/sahi/pull/982
  • Update README.md by @fcakyon in https://github.com/obss/sahi/pull/1077
  • drop non-working yolonas support by @fcakyon in https://github.com/obss/sahi/pull/1097
  • drop yolonas support part2 by @fcakyon in https://github.com/obss/sahi/pull/1098
  • Update has_mask method for mmdet models (handle ConcatDataset) by @ccomkhj in https://github.com/obss/sahi/pull/1092

New Contributors

  • @ccomkhj made their first contribution in https://github.com/obss/sahi/pull/1066

Full Changelog: https://github.com/obss/sahi/compare/0.11.18...0.11.19

- Python
Published by fcakyon over 1 year ago

sahi - 0.11.19

What's Changed

  • fix ci actions by @fcakyon in https://github.com/obss/sahi/pull/1073
  • Update has_mask method for mmdet models (handle an edge case) by @ccomkhj in https://github.com/obss/sahi/pull/1066
  • Another self-intersection corner case handling by @sergiev in https://github.com/obss/sahi/pull/982
  • Update README.md by @fcakyon in https://github.com/obss/sahi/pull/1077

New Contributors

  • @ccomkhj made their first contribution in https://github.com/obss/sahi/pull/1066

Full Changelog: https://github.com/obss/sahi/compare/0.11.18...0.11.19

- Python
Published by fcakyon over 1 year ago

sahi - 0.11.18

What's Changed

  • add yolov8 mask support, improve mask processing speed by 4-5x by @mayrajeo in https://github.com/obss/sahi/pull/1039
  • fix has_mask method for mmdet models by @Alias-z in https://github.com/obss/sahi/pull/1054
  • Fix TypeError: 'GeometryCollection' object is not subscriptable when slicing COCO by @Alias-z in https://github.com/obss/sahi/pull/1047
  • support opencv-python version 4.9 by @iokarkan in https://github.com/obss/sahi/pull/1041
  • add upperlimit to numpy dep by @fcakyon in https://github.com/obss/sahi/pull/1057
  • add more unit tests by @MMerling in https://github.com/obss/sahi/pull/1048
  • upgrade ci actions by @fcakyon in https://github.com/obss/sahi/pull/1049

New Contributors

  • @iokarkan made their first contribution in https://github.com/obss/sahi/pull/1041
  • @MMerling made their first contribution in https://github.com/obss/sahi/pull/1048
  • @Alias-z made their first contribution in https://github.com/obss/sahi/pull/1047

Full Changelog: https://github.com/obss/sahi/compare/0.11.16...0.11.18

- Python
Published by fcakyon over 1 year ago

sahi - v0.11.16

What's Changed

  • Update README.md by @fcakyon in https://github.com/obss/sahi/pull/966
  • Updated the constant variables for Yolov8 by @AmoghDhaliwal in https://github.com/obss/sahi/pull/917
  • Slicing: add unique slice index number to output file name by @jokober in https://github.com/obss/sahi/pull/943
  • update version by @fcakyon in https://github.com/obss/sahi/pull/967
  • Correcting type hints for get_slice_bboxes(). by @S-aiueo32 in https://github.com/obss/sahi/pull/930
  • Correcting slice_image() by @S-aiueo32 in https://github.com/obss/sahi/pull/931
  • Customize YOLOv8 image_size & device + Allow Saving Slices by @lakshaymehra in https://github.com/obss/sahi/pull/929
  • fix package testing workflow paths by @fcakyon in https://github.com/obss/sahi/pull/968
  • remove detectron2 from package tests by @fcakyon in https://github.com/obss/sahi/pull/979
  • ONNX runtime support by @karl-joan in https://github.com/obss/sahi/pull/922
  • Fix RLE when segmentation is None by @bobyard-com in https://github.com/obss/sahi/pull/996
  • update functions docstrings and type hinting by @fcakyon in https://github.com/obss/sahi/pull/1016
  • fix postprocess type options description by @williamlung in https://github.com/obss/sahi/pull/1013
  • revert back package version by @fcakyon in https://github.com/obss/sahi/pull/1017
  • Improve printout readability by @jacobmarks in https://github.com/obss/sahi/pull/1009
  • improve readme by @fcakyon in https://github.com/obss/sahi/pull/1018
  • remove an unused list in postprocess by @developer0hye in https://github.com/obss/sahi/pull/1002
  • add more contributors to readme by @fcakyon in https://github.com/obss/sahi/pull/1019
  • add more contributors to readme by @fcakyon in https://github.com/obss/sahi/pull/1020
  • Adds link to new FiftyOne tutorial by @jacobmarks in https://github.com/obss/sahi/pull/1023
  • RTDETR implementation by @edugzlez in https://github.com/obss/sahi/pull/940
  • Improve yolov8 config by @GuillaumeBruand in https://github.com/obss/sahi/pull/988
  • update readme by @fcakyon in https://github.com/obss/sahi/pull/1034
  • relax opencv version by @fcakyon in https://github.com/obss/sahi/pull/1035
  • disable slice export by default by @fcakyon in https://github.com/obss/sahi/pull/1036
  • remove quality param in slice export due to errors by @fcakyon in https://github.com/obss/sahi/pull/1037
  • fix for using bgr image in inference instead of rgb by @bilkosem in https://github.com/obss/sahi/pull/1022

New Contributors

  • @AmoghDhaliwal made their first contribution in https://github.com/obss/sahi/pull/917
  • @S-aiueo32 made their first contribution in https://github.com/obss/sahi/pull/930
  • @lakshaymehra made their first contribution in https://github.com/obss/sahi/pull/929
  • @karl-joan made their first contribution in https://github.com/obss/sahi/pull/922
  • @bobyard-com made their first contribution in https://github.com/obss/sahi/pull/996
  • @williamlung made their first contribution in https://github.com/obss/sahi/pull/1013
  • @jacobmarks made their first contribution in https://github.com/obss/sahi/pull/1009
  • @developer0hye made their first contribution in https://github.com/obss/sahi/pull/1002
  • @edugzlez made their first contribution in https://github.com/obss/sahi/pull/940
  • @GuillaumeBruand made their first contribution in https://github.com/obss/sahi/pull/988
  • @bilkosem made their first contribution in https://github.com/obss/sahi/pull/1022

Full Changelog: https://github.com/obss/sahi/compare/0.11.15...0.11.16

- Python
Published by devrimcavusoglu almost 2 years ago

sahi - v0.11.16

What's Changed

  • Update README.md by @fcakyon in https://github.com/obss/sahi/pull/966
  • Updated the constant variables for Yolov8 by @AmoghDhaliwal in https://github.com/obss/sahi/pull/917
  • Slicing: add unique slice index number to output file name by @jokober in https://github.com/obss/sahi/pull/943
  • update version by @fcakyon in https://github.com/obss/sahi/pull/967
  • Correcting type hints for get_slice_bboxes(). by @S-aiueo32 in https://github.com/obss/sahi/pull/930
  • Correcting slice_image() by @S-aiueo32 in https://github.com/obss/sahi/pull/931
  • Customize YOLOv8 image_size & device + Allow Saving Slices by @lakshaymehra in https://github.com/obss/sahi/pull/929
  • fix package testing workflow paths by @fcakyon in https://github.com/obss/sahi/pull/968
  • remove detectron2 from package tests by @fcakyon in https://github.com/obss/sahi/pull/979
  • ONNX runtime support by @karl-joan in https://github.com/obss/sahi/pull/922
  • Fix RLE when segmentation is None by @bobyard-com in https://github.com/obss/sahi/pull/996
  • update functions docstrings and type hinting by @fcakyon in https://github.com/obss/sahi/pull/1016
  • fix postprocess type options description by @williamlung in https://github.com/obss/sahi/pull/1013
  • revert back package version by @fcakyon in https://github.com/obss/sahi/pull/1017
  • Improve printout readability by @jacobmarks in https://github.com/obss/sahi/pull/1009
  • improve readme by @fcakyon in https://github.com/obss/sahi/pull/1018
  • remove an unused list in postprocess by @developer0hye in https://github.com/obss/sahi/pull/1002
  • add more contributors to readme by @fcakyon in https://github.com/obss/sahi/pull/1019
  • add more contributors to readme by @fcakyon in https://github.com/obss/sahi/pull/1020

New Contributors

  • @AmoghDhaliwal made their first contribution in https://github.com/obss/sahi/pull/917
  • @S-aiueo32 made their first contribution in https://github.com/obss/sahi/pull/930
  • @lakshaymehra made their first contribution in https://github.com/obss/sahi/pull/929
  • @karl-joan made their first contribution in https://github.com/obss/sahi/pull/922
  • @bobyard-com made their first contribution in https://github.com/obss/sahi/pull/996
  • @williamlung made their first contribution in https://github.com/obss/sahi/pull/1013
  • @jacobmarks made their first contribution in https://github.com/obss/sahi/pull/1009
  • @developer0hye made their first contribution in https://github.com/obss/sahi/pull/1002

Full Changelog: https://github.com/obss/sahi/compare/0.11.15...0.11.16

- Python
Published by fcakyon almost 2 years ago

sahi - v0.11.15

What's Changed

  • add more yolov8 download utils by @pranavdurai10 in https://github.com/obss/sahi/pull/887
  • add learnopencv research article url into readme by @pranavdurai10 in https://github.com/obss/sahi/pull/892
  • update supergradients version in tests by @fcakyon in https://github.com/obss/sahi/pull/894
  • added yolov8x download utils + update README.md by @pranavdurai10 in https://github.com/obss/sahi/pull/898
  • Replace mmdet v2 for v3 by @i-aki-y in https://github.com/obss/sahi/pull/893
  • Update README.md by @pranavdurai10 in https://github.com/obss/sahi/pull/925
  • fix continious integration workflows by @fcakyon in https://github.com/obss/sahi/pull/963
  • Self-intersection handling by @sergiev in https://github.com/obss/sahi/pull/961
  • Slicing: Quality focused default image format selection and jpg quality by @jokober in https://github.com/obss/sahi/pull/956
  • update version by @fcakyon in https://github.com/obss/sahi/pull/964

New Contributors

  • @pranavdurai10 made their first contribution in https://github.com/obss/sahi/pull/887
  • @i-aki-y made their first contribution in https://github.com/obss/sahi/pull/893
  • @sergiev made their first contribution in https://github.com/obss/sahi/pull/961
  • @jokober made their first contribution in https://github.com/obss/sahi/pull/956

Full Changelog: https://github.com/obss/sahi/compare/0.11.14...0.11.15

- Python
Published by fcakyon over 2 years ago

sahi - 0.11.14

What's Changed

  • support Deci-AI YOLO-NAS models by @ssahinnkadir in https://github.com/obss/sahi/pull/874
  • Significant speed improvement for Detectron2 models by @MyosQ in https://github.com/obss/sahi/pull/865
  • support ultralytics>=8.0.99 by @eVen-gits in https://github.com/obss/sahi/pull/873
  • Documentation typo, and missing value by @Hamzalopode in https://github.com/obss/sahi/pull/859
  • update version by @fcakyon in https://github.com/obss/sahi/pull/876
  • update black version by @fcakyon in https://github.com/obss/sahi/pull/877

New Contributors

  • @Hamzalopode made their first contribution in https://github.com/obss/sahi/pull/859
  • @eVen-gits made their first contribution in https://github.com/obss/sahi/pull/873
  • @MyosQ made their first contribution in https://github.com/obss/sahi/pull/865

Full Changelog: https://github.com/obss/sahi/compare/0.11.13...0.11.14

- Python
Published by fcakyon almost 3 years ago

sahi - v0.11.13

What's Changed

  • Add hide labels/confidence by @aphilas in https://github.com/obss/sahi/pull/844
  • Add support for sparse YOLOv5 models by @mwitiderrick in https://github.com/obss/sahi/pull/848
  • Add support for DeepSparse dynamic image pipelines by @mwitiderrick in https://github.com/obss/sahi/pull/850
  • fix package testing by @fcakyon in https://github.com/obss/sahi/pull/853

New Contributors

  • @aphilas made their first contribution in https://github.com/obss/sahi/pull/844
  • @mwitiderrick made their first contribution in https://github.com/obss/sahi/pull/848

Full Changelog: https://github.com/obss/sahi/compare/0.11.12...0.11.13

- Python
Published by fcakyon almost 3 years ago

sahi - v0.11.12

What's Changed

  • update readme by @fcakyon in https://github.com/obss/sahi/pull/825
  • update yolov5 in tests by @fcakyon in https://github.com/obss/sahi/pull/826
  • fix coco2yolov5 cli by @fcakyon in https://github.com/obss/sahi/pull/828
  • fromcocodictorpath, added threading for processing coco_dict["images"] by @ilkermanap in https://github.com/obss/sahi/pull/827
  • update yolo in tests by @fcakyon in https://github.com/obss/sahi/pull/829
  • update mmdet in tests by @fcakyon in https://github.com/obss/sahi/pull/830
  • Add yolov8 to SAHI by @NguyenTheAn in https://github.com/obss/sahi/pull/833
  • Added heuristic for bounding bbox ordering by @MLDovakin in https://github.com/obss/sahi/pull/835
  • update citation info by @fcakyon in https://github.com/obss/sahi/pull/837
  • Fix RGB channel ordering for yolov8 by @mayrajeo in https://github.com/obss/sahi/pull/836
  • update minor version by @fcakyon in https://github.com/obss/sahi/pull/842

New Contributors

  • @ilkermanap made their first contribution in https://github.com/obss/sahi/pull/827
  • @NguyenTheAn made their first contribution in https://github.com/obss/sahi/pull/833
  • @MLDovakin made their first contribution in https://github.com/obss/sahi/pull/835
  • @mayrajeo made their first contribution in https://github.com/obss/sahi/pull/836

Full Changelog: https://github.com/obss/sahi/compare/0.11.11...0.11.12

- Python
Published by fcakyon almost 3 years ago

sahi - v0.11.11

What's Changed

  • improve segmentation visualization by @fcakyon in https://github.com/obss/sahi/pull/812

Full Changelog: https://github.com/obss/sahi/compare/0.11.10...0.11.11

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.10

What's Changed

  • Update requirements.txt by @dean-wetherby-simplisafe in https://github.com/obss/sahi/pull/802
  • fix pybboxes version by @fcakyon in https://github.com/obss/sahi/pull/803
  • improve coco to yolov5 conversion by @fcakyon in https://github.com/obss/sahi/pull/805
  • increase version by @fcakyon in https://github.com/obss/sahi/pull/806

New Contributors

  • @dean-wetherby-simplisafe made their first contribution in https://github.com/obss/sahi/pull/802

Full Changelog: https://github.com/obss/sahi/compare/0.11.9...0.11.10

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.9

What's Changed

  • update yolov5 version in ci by @fcakyon in https://github.com/obss/sahi/pull/797
  • fix torch dependency in HuggingfaceDetectionModel by @fcakyon in https://github.com/obss/sahi/pull/798
  • update installation, support latest transformers version by @fcakyon in https://github.com/obss/sahi/pull/799

Full Changelog: https://github.com/obss/sahi/compare/0.11.8...0.11.9

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.8

What's Changed

  • update coco to yolov5 export by @fcakyon in https://github.com/obss/sahi/pull/794

Full Changelog: https://github.com/obss/sahi/compare/0.11.7...0.11.8

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.7

What's Changed

  • make default verbose false for min version check by @fcakyon in https://github.com/obss/sahi/pull/765
  • download mmdet yolox model from hfhub in tests by @fcakyon in https://github.com/obss/sahi/pull/766
  • update torchvision demo by @fcakyon in https://github.com/obss/sahi/pull/776
  • The coco.md file has been updated. by @kadirnar in https://github.com/obss/sahi/pull/777
  • Added indent parameter to save_json parameter. by @kadirnar in https://github.com/obss/sahi/pull/783
  • fix slicing tests by @fcakyon in https://github.com/obss/sahi/pull/787
  • fix json.decoder.JSONDecodeError in coco to yolov5 conversion by @kadirnar in https://github.com/obss/sahi/pull/786

Full Changelog: https://github.com/obss/sahi/compare/0.11.6...0.11.7

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.6

What's Changed

  • fix detectron2 device by @fcakyon in https://github.com/obss/sahi/pull/763
  • update dependency versions in ci by @fcakyon in https://github.com/obss/sahi/pull/760
  • remove python3.6 in ci by @fcakyon in https://github.com/obss/sahi/pull/762

Full Changelog: https://github.com/obss/sahi/compare/0.11.5...0.11.6

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.5

What's Changed

  • fixes a bug that prevents cuda device selection by @fcakyon in https://github.com/obss/sahi/pull/756

Full Changelog: https://github.com/obss/sahi/compare/0.11.4...0.11.5

- Python
Published by fcakyon about 3 years ago

sahi - v0.11.4

What's Changed

  • improve bbox data structure by @fcakyon in https://github.com/obss/sahi/pull/730
  • make some classes importable from highest level by @fcakyon in https://github.com/obss/sahi/pull/731
  • add min dependency version check by @fcakyon in https://github.com/obss/sahi/pull/734
  • handle numpy bbox in object annotation by @fcakyon in https://github.com/obss/sahi/pull/735
  • add 2 slicing utils by @fcakyon in https://github.com/obss/sahi/pull/736
  • fix predict script by @fcakyon in https://github.com/obss/sahi/pull/737
  • update torch torchvision versions in ci by @fcakyon in https://github.com/obss/sahi/pull/729
  • update ci workflow name by @fcakyon in https://github.com/obss/sahi/pull/732

Full Changelog: https://github.com/obss/sahi/compare/0.11.3...0.11.4

- Python
Published by fcakyon over 3 years ago

sahi - v0.11.3

What's Changed

  • update model dependency and device management by @fcakyon in https://github.com/obss/sahi/pull/725
  • implement indexing support for slice image result by @fcakyon in https://github.com/obss/sahi/pull/726
  • update version by @fcakyon in https://github.com/obss/sahi/pull/727

Full Changelog: https://github.com/obss/sahi/compare/0.11.2...0.11.3

- Python
Published by fcakyon over 3 years ago

sahi - v0.11.2

What's Changed

  • support uppercase letter image/video extensions by @fcakyon in https://github.com/obss/sahi/pull/713
  • add cited paper list and competition winners by @fcakyon in https://github.com/obss/sahi/pull/705
  • fix a typo in readme by @fcakyon in https://github.com/obss/sahi/pull/706
  • update version by @fcakyon in https://github.com/obss/sahi/pull/707
  • make ci trigger more efficient by @fcakyon in https://github.com/obss/sahi/pull/709
  • update mmcv mmdet in ci by @fcakyon in https://github.com/obss/sahi/pull/714
  • update contributing and contributors sections in readme by @fcakyon in https://github.com/obss/sahi/pull/715
  • update predict docs by @fcakyon in https://github.com/obss/sahi/pull/723

Full Changelog: https://github.com/obss/sahi/compare/0.11.1...0.11.2

- Python
Published by fcakyon over 3 years ago

sahi - v0.11.1

What's Changed

  • fix coco segm eval by @fcakyon in https://github.com/obss/sahi/pull/701
  • add float bbox and segm point support, remove mot utils by @fcakyon in https://github.com/obss/sahi/pull/702

Full Changelog: https://github.com/obss/sahi/compare/0.11.0...0.11.1

- Python
Published by fcakyon over 3 years ago

sahi - v0.11.0

What's Changed

  • refactor models structure by @fcakyon in https://github.com/obss/sahi/pull/694

Full Changelog: https://github.com/obss/sahi/compare/0.10.8...0.11.0

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.8

What's Changed

  • remove layer support by @fcakyon in https://github.com/obss/sahi/pull/692
  • Fixed a bug in greedynmm func by @youngjae-avikus in https://github.com/obss/sahi/pull/691
  • flake8 dependency fix for python3.7. by @devrimcavusoglu in https://github.com/obss/sahi/pull/676
  • fix links in readme by @fcakyon in https://github.com/obss/sahi/pull/689

Full Changelog: https://github.com/obss/sahi/compare/0.10.7...0.10.8

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.7

What's Changed

  • update pybboxes version by @fcakyon in https://github.com/obss/sahi/pull/598
  • add support for yolov5==6.1.9 by @fcakyon in https://github.com/obss/sahi/pull/601
  • refactor demo notebooks by utilizing newly introduced AutoDetectionMoโ€ฆ by @ishworii in https://github.com/obss/sahi/pull/516
  • add norfair>=2.0.0 support by @fcakyon in https://github.com/obss/sahi/pull/595
  • Changed Mask class to store RLE encoded masks to save RAM. by @ChristofferEdlund in https://github.com/obss/sahi/pull/599
  • update workflow versions by @fcakyon in https://github.com/obss/sahi/pull/603

New Contributors

  • @ishworii made their first contribution in https://github.com/obss/sahi/pull/516
  • @ChristofferEdlund made their first contribution in https://github.com/obss/sahi/pull/599

Full Changelog: https://github.com/obss/sahi/compare/0.10.6...0.10.7

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.6

What's Changed

  • support yolov5>=6.1.9 by @fcakyon in https://github.com/obss/sahi/pull/592
  • update installation in readme by @fcakyon in https://github.com/obss/sahi/pull/584

Full Changelog: https://github.com/obss/sahi/compare/0.10.5...0.10.6

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.5

What's Changed

bugfix

  • fix auto slice warning by @fcakyon in https://github.com/obss/sahi/pull/574
  • fix a slice_image error by @fcakyon in https://github.com/obss/sahi/pull/575

other

  • fix layer tests by @fcakyon in https://github.com/obss/sahi/pull/577
  • update ci package versions by @fcakyon in https://github.com/obss/sahi/pull/576

Full Changelog: https://github.com/obss/sahi/compare/0.10.4...0.10.5

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.4

What's Changed

  • hotfix for occasional segmentation fault by @fcakyon in https://github.com/obss/sahi/pull/546
  • refactor requirement checking by @fcakyon in https://github.com/obss/sahi/pull/549
  • Code formatting and checks are moved to a single module. by @devrimcavusoglu in https://github.com/obss/sahi/pull/548
  • fix a typo in type hinting by @ymerkli in https://github.com/obss/sahi/pull/553
  • fix an incorrect url in comments by @aynursusuz in https://github.com/obss/sahi/pull/554
  • update version by @fcakyon in https://github.com/obss/sahi/pull/555
  • fix linting script by @devrimcavusoglu in https://github.com/obss/sahi/pull/558
  • fix an incorrect url in comments by @aynursusuz in https://github.com/obss/sahi/pull/559

New Contributors

  • @ymerkli made their first contribution in https://github.com/obss/sahi/pull/553
  • @aynursusuz made their first contribution in https://github.com/obss/sahi/pull/554

Full Changelog: https://github.com/obss/sahi/compare/0.10.3...0.10.4

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.3

What's Changed

  • fix coco2fiftyone script by @fcakyon in https://github.com/obss/sahi/pull/540
  • fix segmentation fault in same cases by @fcakyon in https://github.com/obss/sahi/pull/541

Full Changelog: https://github.com/obss/sahi/compare/0.10.2...0.10.3

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.2

What's Changed

  • add automatic slice size calculation by @mcvarer in https://github.com/obss/sahi/pull/512
  • Fix bug that Unable to print for prediction time when verbose=2 by @youngjae-avikus in https://github.com/obss/sahi/pull/521
  • pybboxes allow oob, strict=False fix. by @devrimcavusoglu in https://github.com/obss/sahi/pull/528
  • update predict verbose by @fcakyon in https://github.com/obss/sahi/pull/514
  • update pybboxes version by @fcakyon in https://github.com/obss/sahi/pull/531

New Contributors

  • @youngjae-avikus made their first contribution in https://github.com/obss/sahi/pull/521

Full Changelog: https://github.com/obss/sahi/compare/0.10.1...0.10.2

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.1

What's Changed

  • add python 3.10 support by @fcakyon in https://github.com/obss/sahi/pull/503
  • add filename to exportvisuals by @mcvarer in https://github.com/obss/sahi/pull/507
  • refactor automodel to lazyload models by @fcakyon in https://github.com/obss/sahi/pull/509
  • update automodel loading method to from_pretrained by @fcakyon in https://github.com/obss/sahi/pull/510

New Contributors

  • @mcvarer made their first contribution in https://github.com/obss/sahi/pull/507

Full Changelog: https://github.com/obss/sahi/compare/0.10.0...0.10.1

- Python
Published by fcakyon over 3 years ago

sahi - v0.10.0

New Features

- Layer.ai integration

```python from sahi import AutoDetectionModel

detectionmodel = AutoDetectionModel.fromlayer("layer/yolov5/models/yolov5s")

result = getslicedprediction( "image.jpeg", detectionmodel, sliceheight = 512, slicewidth = 512, overlapheightratio = 0.2, overlapwidth_ratio = 0.2 ) ```

- HuggingfFace Transformers object detectors

```python from sahi.model import HuggingfaceDetectionModel

detectionmodel = HuggingfaceDetectionModel( modelpath="facebook/detr-resnet-50", imagesize=640, confidencethreshold=0.5 )

result = getslicedprediction( "image.jpeg", detectionmodel, sliceheight = 512, slicewidth = 512, overlapheightratio = 0.2, overlapwidth_ratio = 0.2 ) ```

- TorchVision object detectors

```python import torchvision from sahi.model import TorchVisionDetectionModel

model = torchvision.models.detection.fasterrcnnresnet50fpn(pretrained=True)

detectionmodel = TorchVisionDetectionModel( model=model, imagesize=640, confidence_threshold=0.5 )

result = getslicedprediction( "image.jpeg", detectionmodel, sliceheight = 512, slicewidth = 512, overlapheightratio = 0.2, overlapwidth_ratio = 0.2 ) ```

- Support for exporting predictions in COCO format

```python from sahi.utils.coco import Coco, CocoImage, CocoAnnotation, CocoPrediction from sahi.utils.file import save_json from pycocotools.cocoeval import COCOeval from pycocotools.coco import COCO

coco_obj = Coco()

add n images to coco_obj

for _ in range(n): image = CocoImage(**kwargs)

# add n annotations to the image
for _ in ange(n):
    image.add_annotation(CocoAnnotation(**kwargs))

# add n predictions to the image
for _ in range(n)
    image.add_prediction(CocoPrediction(**kwargs))

# add image to coco object
coco_obj.add_image(image)

export ground truth annotations

cocogt = cocoobj.json savejson(cocogt , "ground_truth.json")

export predictions

cocopredictions = cocoobj.predictionarray savejson(coco_predictions, "predictions.json")

cocogroundtruth = COCO(annotationfile="cocodataset.json") cocopredictions = cocogroundtruth.loadRes("cocopredictions.json") cocoevaluator = COCOeval(cocogroundtruth, cocopredictions, "bbox") cocoevaluator.evaluate() cocoevaluator.accumulate() coco_evaluator.summarize() ```

What's Changed

  • refactor torch utils by @fcakyon in https://github.com/obss/sahi/pull/468
  • add automodel structure for unified model loading by @fcakyon in https://github.com/obss/sahi/pull/469
  • add support to instantiate a DetectionModel from layer by @mecevit in https://github.com/obss/sahi/pull/462
  • refactor automodel by @fcakyon in https://github.com/obss/sahi/pull/470
  • update layer versions in workflows by @fcakyon in https://github.com/obss/sahi/pull/471
  • update version to 0.10.0 by @fcakyon in https://github.com/obss/sahi/pull/474
  • Added support for exporting predictions in COCO format by @PushpakBhoge in https://github.com/obss/sahi/pull/465
  • update contributors in readme by @fcakyon in https://github.com/obss/sahi/pull/477
  • update device priority for Detectron2DetectionModel by @fcakyon in https://github.com/obss/sahi/pull/479
  • fix pickle export for video by @fcakyon in https://github.com/obss/sahi/pull/481
  • update continuous integration by @fcakyon in https://github.com/obss/sahi/pull/483
  • refactor import and torch utils by @fcakyon in https://github.com/obss/sahi/pull/484
  • make detectionmodel classes more explicit in automodel by @fcakyon in https://github.com/obss/sahi/pull/485
  • utilize check_requirements in several modules by @fcakyon in https://github.com/obss/sahi/pull/487
  • update package versions in workflows by @fcakyon in https://github.com/obss/sahi/pull/488
  • add support for huggingface transformers object detectors by @devrimcavusoglu in https://github.com/obss/sahi/pull/475
  • add torchvision detector support by @fcakyon in https://github.com/obss/sahi/pull/486
  • remove legacy image_size parameter by @kadirnar in https://github.com/obss/sahi/pull/494
  • AutoDetectionModel can be imported from sahi by @fcakyon in https://github.com/obss/sahi/pull/498
  • add python3.6 support by @fcakyon in https://github.com/obss/sahi/pull/489
  • refactor exception handling by @kadirnar in https://github.com/obss/sahi/pull/499
  • improve requirements and import handling by @fcakyon in https://github.com/obss/sahi/pull/502

New Contributors

  • @mecevit made their first contribution in https://github.com/obss/sahi/pull/462
  • @PushpakBhoge made their first contribution in https://github.com/obss/sahi/pull/465

Full Changelog: https://github.com/obss/sahi/compare/0.9.4...0.10.0

- Python
Published by fcakyon over 3 years ago

sahi - v0.9.4

What's Changed

  • reduce ram usage by adding buffer based merging by @weypro in https://github.com/obss/sahi/pull/445
  • improve json loading by @qingfengtommy in https://github.com/obss/sahi/pull/453

New Contributors

  • @weypro made their first contribution in https://github.com/obss/sahi/pull/445
  • @qingfengtommy made their first contribution in https://github.com/obss/sahi/pull/453

Full Changelog: https://github.com/obss/sahi/compare/0.9.3...0.9.4

- Python
Published by fcakyon over 3 years ago

sahi - v0.9.3

What's Changed

  • add support for video prediction by @madenburak in https://github.com/obss/sahi/pull/442

sahi-video-inf * export prediction visuals by default @fcakyon in ## * add detection_model input to predict function by @ssahinnkadir in https://github.com/obss/sahi/pull/443 * refactor postprocess call by @fcakyon in https://github.com/obss/sahi/pull/458 * update yolov5, mmdet, norfair versions in ci by @fcakyon in https://github.com/obss/sahi/pull/459

New Contributors

  • @madenburak made their first contribution in https://github.com/obss/sahi/pull/442

Full Changelog: https://github.com/obss/sahi/compare/0.9.2...0.9.3

- Python
Published by fcakyon almost 4 years ago

sahi - v0.9.2

What's Changed

  • fix fiftyone utils by @fcakyon in https://github.com/obss/sahi/pull/423
  • update paper doi badge by @fcakyon in https://github.com/obss/sahi/pull/424
  • update env setup in readme by @kadirnar in https://github.com/obss/sahi/pull/408
  • update contributing section in readme by @fcakyon in https://github.com/obss/sahi/pull/434
  • update cli docs by @fcakyon in https://github.com/obss/sahi/pull/437
  • update package versions in ci by @fcakyon in https://github.com/obss/sahi/pull/439
  • update version by @fcakyon in https://github.com/obss/sahi/pull/440

Full Changelog: https://github.com/obss/sahi/compare/0.9.1...0.9.2

- Python
Published by fcakyon almost 4 years ago

sahi - v0.9.1

What's Changed

  • add the list of competitions sahi made us win by @fcakyon in https://github.com/obss/sahi/pull/385
  • add citation to paper by @fcakyon in https://github.com/obss/sahi/pull/387
  • add arxiv url for the SAHI paper by @fcakyon in https://github.com/obss/sahi/pull/388
  • handle invalid mask prediction by @fcakyon in https://github.com/obss/sahi/pull/390
  • improve code quality by @fcakyon in https://github.com/obss/sahi/pull/398
  • improve nms postprocess by @tureckova in https://github.com/obss/sahi/pull/405

Full Changelog: https://github.com/obss/sahi/compare/0.9.0...0.9.1

- Python
Published by fcakyon almost 4 years ago

sahi - v0.9.0

detectron2

What's Changed

  • add detectron2 support by @kadirnar in https://github.com/obss/sahi/pull/322
  • update detectron notebook by @fcakyon in https://github.com/obss/sahi/pull/355
  • refactor readme by @fcakyon in https://github.com/obss/sahi/pull/316
  • refactor slice_coco script and cli by @fcakyon in https://github.com/obss/sahi/pull/359
  • update analysis gif in readme by @fcakyon in https://github.com/obss/sahi/pull/362
  • update slice_coco export naming by @fcakyon in https://github.com/obss/sahi/pull/361
  • fix broken links in readme by @fcakyon in https://github.com/obss/sahi/pull/365
  • add kaggle notebook into readme by @rkinas in https://github.com/obss/sahi/pull/366
  • handle when class name contains invalid char by @fcakyon in https://github.com/obss/sahi/pull/369
  • handle out of image bbox predictions by @fcakyon in https://github.com/obss/sahi/pull/373
  • handle annotation dict without segmentation by @tureckova in https://github.com/obss/sahi/pull/374
  • fix unused coco util by @fcakyon @oulcan in https://github.com/obss/sahi/pull/375
  • fix coco util tests by @fcakyon in https://github.com/obss/sahi/pull/376
  • update torch, torchvision, mmdet, mmcv in tests by @fcakyon in https://github.com/obss/sahi/pull/379
  • handle nms-postprocess in edge cases by @fcakyon in https://github.com/obss/sahi/pull/370

New Contributors

  • @kadirnar made their first contribution in https://github.com/obss/sahi/pull/322
  • @tureckova made their first contribution in https://github.com/obss/sahi/pull/374

Full Changelog: https://github.com/obss/sahi/compare/0.8.22...0.9.0

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.22

What's Changed

  • fix LSNMS potprocess handle numpy array index in ObjectPredictionList by @fcakyon in https://github.com/obss/sahi/pull/350
  • fix unused coco merge util by @fcakyon in https://github.com/obss/sahi/pull/353

Full Changelog: https://github.com/obss/sahi/compare/0.8.20...0.8.22

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.20

What's Changed

  • fix typo in print by @fcakyon in https://github.com/obss/sahi/pull/339
  • Update error analysis by @fcakyon in https://github.com/obss/sahi/pull/340
  • fix warning messages in coco analysis by @fcakyon in https://github.com/obss/sahi/pull/341
  • add auto postprocess type to predict by @fcakyon in https://github.com/obss/sahi/pull/342
  • refactor fiftyone utils by @fcakyon in https://github.com/obss/sahi/pull/345

Full Changelog: https://github.com/obss/sahi/compare/0.8.19...0.8.20

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.19

What's Changed

  • fix visual export for windows by @fcakyon in https://github.com/obss/sahi/pull/335
  • refactor scripts by @fcakyon in https://github.com/obss/sahi/pull/333

Full Changelog: https://github.com/obss/sahi/compare/0.8.18...0.8.19

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.18

What's Changed

  • refactor postprocessing and coco eval for 100x speed up by @fcakyon in https://github.com/obss/sahi/pull/320
  • refactor image_size and model_confidence for faster inference by @fcakyon in https://github.com/obss/sahi/pull/329
  • remove deprecated coco util by @fcakyon in https://github.com/obss/sahi/pull/323
  • fix LSNMSPostprocess by @fcakyon in https://github.com/obss/sahi/pull/330
  • fix rmtree in tests by @fcakyon in https://github.com/obss/sahi/pull/326

Full Changelog: https://github.com/obss/sahi/compare/0.8.16...0.8.18

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.16

What's Changed

  • refactorize model classes, handle invalid polygons, minor improvements by @fcakyon in https://github.com/obss/sahi/pull/311
  • refactor tests and coco utils by @fcakyon in https://github.com/obss/sahi/pull/313
  • fix nms postprocess by @fcakyon in https://github.com/obss/sahi/pull/314
  • update predict verbose by @fcakyon in https://github.com/obss/sahi/pull/317
  • print exports dirs after process finishes by @fcakyon in https://github.com/obss/sahi/pull/318

Full Changelog: https://github.com/obss/sahi/compare/0.8.15...0.8.16

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.15

What's Changed

  • update default params to match coco eval and error analysis by @fcakyon in https://github.com/obss/sahi/pull/306
  • utilize max_detections in cocoerroranalysis by @fcakyon in https://github.com/obss/sahi/pull/307
  • reformat cocoerroranalysis with black by @fcakyon in https://github.com/obss/sahi/pull/308

Full Changelog: https://github.com/obss/sahi/compare/0.8.14...0.8.15

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.14

What's Changed

  • fix a typo in image id by @fcakyon in https://github.com/obss/sahi/pull/299
  • update mmdet, mmcv, yolov5 version in ci by @fcakyon in https://github.com/obss/sahi/pull/303

Full Changelog: https://github.com/obss/sahi/compare/0.8.13...0.8.14

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.13

What's Changed

  • fix typo in sahi coco analyse command by @fcakyon in https://github.com/obss/sahi/pull/295
  • add support for fiftyone > 0.14.2 by @fcakyon in https://github.com/obss/sahi/pull/296
  • fix yolov5 category mapping by @fcakyon in https://github.com/obss/sahi/pull/297

Full Changelog: https://github.com/obss/sahi/compare/0.8.12...0.8.13

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.12

Check YOLOX + SAHI demo: HuggingFace Spaces

downloads

What's Changed

  • fix nms postprocess by @fcakyon in https://github.com/obss/sahi/pull/287
  • fix shapely tests for shapely v2.0.0 by @fcakyon in https://github.com/obss/sahi/pull/288
  • add requests into dependencies by @fcakyon in https://github.com/obss/sahi/pull/290
  • add demo gif to readme by @fcakyon in https://github.com/obss/sahi/pull/294

Full Changelog: https://github.com/obss/sahi/compare/0.8.11...0.8.12

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.11

What's Changed

  • add url image read to read_image_as_pil by @fcakyon in https://github.com/obss/sahi/pull/283
  • faster mmdet config download by @fcakyon in https://github.com/obss/sahi/pull/285
  • add HuggingFace Spaces badge. by @devrimcavusoglu in https://github.com/obss/sahi/pull/282
  • update to v0.8.11 by @fcakyon in https://github.com/obss/sahi/pull/284

Full Changelog: https://github.com/obss/sahi/compare/0.8.10...0.8.11

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.10

What's Changed

  • improve mmdet config download util by @fcakyon in https://github.com/obss/sahi/pull/278
  • update version to v0.8.10 by @fcakyon in https://github.com/obss/sahi/pull/279
  • add zenodo doi and citation into readme by @fcakyon in https://github.com/obss/sahi/pull/280
  • fix broken link in readme by @fcakyon in https://github.com/obss/sahi/pull/277
  • fix mmcv installation in readme by @fcakyon in https://github.com/obss/sahi/pull/281

Full Changelog: https://github.com/obss/sahi/compare/0.8.9...0.8.10

- Python
Published by fcakyon about 4 years ago

sahi - v0.8.9

What's Changed

  • improve result visuals/plots by @fcakyon in https://github.com/obss/sahi/pull/271
  • add get_coco_with_clipped_bboxes utility to coco class by @ssahinnkadir in https://github.com/obss/sahi/pull/264
  • fix mmdet channel order by @fcakyon in https://github.com/obss/sahi/pull/266
  • handle when mask prediction is empty by @fcakyon in https://github.com/obss/sahi/pull/269
  • handle invalid annotation polygon by @fcakyon in https://github.com/obss/sahi/pull/268
  • add missing shapely 2.0.0 support by @fcakyon in https://github.com/obss/sahi/pull/270

  • update torch, torchvision, mmdet, mmcv versions in tests by @fcakyon in https://github.com/obss/sahi/pull/267

Full Changelog: https://github.com/obss/sahi/compare/0.8.8...0.8.9

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.8

enhancement

  • add coco to yolov5 export utilty (#258)
  • shapely 2.0.0 support, supported fiftyone versions (#257)
  • update shapely to v1.8.0 (#259) ## bugfixes
  • fix a bug in coco upsampling/downsampling (#253)
  • fix a bug in exportcocoas_yolov5 (#262) ## ci
  • update yolov5 version in tests (#256)

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.6

improvements

  • update postprocess behaviour (#247) ## testing
  • update torch to 1.9.1 for workflows (#248)
  • update mmdet version to 2.17.0 for testing (#250)
  • add yolov5n weight download util (#251)
  • improve test durations (#252)

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.5

bugfixes, enhancements

  • handle when image name is very short in yolov5 conversion (#230)
  • fix coco category creation without supercategory (#237)
  • fix yolov5 conf threshold (#242)
  • fix mmdet img size (#243)
  • handle when mmdet config contains resize with keep_ratio=False (#244)
  • update yolov5 version to 6.0.1 in ci tests (#245)

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.4

  • handle predictions with negative bbox values (#225)
  • fix removeinvalidcoco_results (#227)
  • fix coco evaluation (#228)

Remove invalid coco results: ```python from sahi.utils.file import savejson from sahi.utils.coco import removeinvalidcocoresults

remove invalid predictions from COCO results JSON

cocoresults = removeinvalidcocoresults("coco_result.json")

export processed COCO results

savejson(cocoresults, "fixedcocoresult.json")

bonus: remove invalid predictions from COCO results JSON by giving COCO

dataset path to also filter out bbox results exceeding image height&width

cocoresults = removeinvalidcocoresults("cocoresult.json", "cocodataset.json") ```

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.3

  • fix a bug in coco2fiftyone (#223)

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.2

  • fix optional dependencies (#221)
  • move conda builds to conda-forge (#219)

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.1

make repo compatible for conda-forge: - Include requirements.txt in sdist (#217) thanks to @weiji14

- Python
Published by fcakyon over 4 years ago

sahi - v0.8.0

new cli description:

| Command | Description | |---|---| | predict | perform sliced/standard prediction using any yolov5/mmdet model | | predict-fiftyone | perform sliced/standard prediction using any yolov5/mmdet model and explore results in fiftyone app | | coco slice | automatically slice COCO annotation and image files | | coco fiftyone | explore multiple prediction results on your COCO dataset ordered by false positives | | coco evaluate | evaluate classwise COCO AP and AR for given predictions and ground truth | | coco analyse | calcualate and export many detection and segmentation error margin plots | | coco yolov5 | automatically convert any COCO dataset to yolov5 format |

new cli usage:

predict

bash sahi predict --source image/file/or/folder --model_path path/to/model --model_config_path path/to/config

predict-fiftyone

bash sahi predict-fiftyone --image_dir image/file/or/folder --dataset_json_path dataset.json --model_path path/to/model --model_config_path path/to/config

coco slice

bash sahi coco slice --image_dir dir/to/images --dataset_json_path dataset.json

coco fiftyone

bash sahi coco fiftyone --image_dir dir/to/images --dataset_json_path dataset.json cocoresult1.json cocoresult2.json

coco evaluate

bash sahi coco evaluate --dataset_json_path dataset.json --result_json_path result.json

coco analyse

bash sahi coco analyse --dataset_json_path dataset.json --result_json_path result.json

coco yolov5

bash sahi coco yolov5 --image_dir dir/to/images --dataset_json_path dataset.json --train_split 0.9

breaking changes in predict cli:

  • config_path to model_config_path
  • conf_thresh to model_confidence_threshold
  • match_metric to postprocess_match_metric
  • match_thresh to postprocess_match_threshold
  • class_agnostic to postprocess_class_agnostic
  • pickle to export_pickle, crop to export_crop
  • novisual to export_visual
  • no_sliced_pred to no_sliced_prediction
  • no_standard_pred to no_standard_prediction
  • coco_file to dataset_json_path

- Python
Published by fcakyon over 4 years ago

sahi - v0.7.4

enhancements

  • add script for inspecting cocoresults in fiftyone (#192)
  • create symlinks for mot utils (#199)
  • handle when iou_thrs is a single float (#196)
  • Update coco_evaluation.py (#197)

bugfix

  • fix coco_evaluation script (#195)
  • fix a typo in object annotation (#194)

- Python
Published by fcakyon over 4 years ago

sahi - v0.7.3

enhancements

  • handle negative bbox coords, utilize image_size param (#188)
  • add getupsampledcoco utility to Coco (#189)
  • add category and negative sample based coco up/sub-sampling (#191)

  • Subsample COCO dataset file:

```python from sahi.utils.coco import Coco

specify coco dataset path

coco_path = "coco.json"

init Coco object

coco = Coco.fromcocodictorpath(coco_path)

create a Coco object with 1/10 of total images

subsampledcoco = coco.getsubsampledcoco(subsampleratio=10)

export subsampled COCO dataset

savejson(subsampledcoco.json, "subsampled_coco.json")

bonus: create a Coco object with 1/10 of total images that contain first category

subsampledcoco = coco.getsubsampledcoco(subsampleratio=10, category_id=0)

bonus2: create a Coco object with negative samples reduced to 1/10

subsampledcoco = coco.getsubsampledcoco(subsampleratio=10, category_id=-1) ```

  • Upsample COCO dataset file:

```python from sahi.utils.coco import Coco

specify coco dataset path

coco_path = "coco.json"

init Coco object

coco = Coco.fromcocodictorpath(coco_path)

create a Coco object with each sample is repeated 10 times

upsampledcoco = coco.getupsampledcoco(upsampleratio=10)

export upsampled COCO dataset

savejson(upsampledcoco.json, "upsampled_coco.json")

bonus: create a Coco object with images that contain first category repeated 10 times

subsampledcoco = coco.getsubsampledcoco(upsampleratio=10, category_id=0)

bonus2: create a Coco object with negative samples upsampled by 10 times

upsampledcoco = coco.getupsampledcoco(upsampleratio=10, category_id=-1) ```

- Python
Published by fcakyon over 4 years ago

sahi - v0.7.2

  • add large tiff image reading support (#183)
  • add concurrent slice export (#184)

- Python
Published by fcakyon over 4 years ago

sahi - v0.7.1

  • fix segmentation slicing (#174)

- Python
Published by fcakyon over 4 years ago

sahi - v0.7.0

  • refactor predict api (#170)

breaking changes

in predict and predict_fiftyone funtions: - replaced model_name arg with model_type - replaced model_parameters arg with model_path, model_config_path, model_confidence_threshold, model_device, model_category_mapping, model_category_remapping

in DetectionModel base class: - replaced prediction_score_threshold arg with confidence_threshold

updated demo notebooks accordingly

- Python
Published by fcakyon over 4 years ago

sahi - v0.6.2

  • add input size parameter for inference (#169)

Example usages:

```python

detectionmodel = Yolov5DetectionModel( modelpath=yolov5modelpath, device="cpu", # or 'cuda' )

result = detectionmodel.performinference( image, image_size=1280 )

result = getprediction( "demodata/small-vehicles1.jpeg", detectionmodel, imagesize=1280 )

result = getslicedprediction( "demodata/small-vehicles1.jpeg", detectionmodel, imagesize=1280, sliceheight = 256, slicewidth = 256, overlapheightratio = 0.2, overlapwidth_ratio = 0.2 )

```

- Python
Published by fcakyon over 4 years ago

sahi - v0.6.1

  • refactor slice_coco script (#165)
  • make default for ignorenegativesamples, False (#166)

- Python
Published by fcakyon over 4 years ago

sahi - v0.6.0

enhancement

  • add cocoevaluation script, refactor cocoerroranalysis script (#162) `cocoevaluation.py` script usage:

bash python scripts/coco_evaluation.py dataset.json results.json

will calculate coco evaluation and export them to given output folder directory.

If you want to specify mAP metric type, set it as --metric bbox mask.

If you want to also calculate classwise scores add --classwise argument.

If you want to specify max detections, set it as --proposal_nums 10 100 500.

If you want to specify a psecific IOU threshold, set it as --iou_thrs 0.5. Default includes 0.50:0.95 and 0.5 scores.

If you want to specify export directory, set it as --out_dir output/folder/directory.

coco_error_analysis.py script usage:

bash python scripts/coco_error_analysis.py dataset.json results.json

will calculate coco error plots and export them to given output folder directory.

If you want to specify mAP result type, set it as --types bbox mask.

If you want to export extra mAP bar plots and annotation area stats add --extraplots argument.

If you want to specify area regions, set it as --areas 1024 9216 10000000000.

If you want to specify export directory, set it as --out_dir output/folder/directory.

bugfixes

  • prevent empty bbox coco json creation (#164)
  • dont create mot info while when type='det' (#163)

breaking changes

  • refactor predict (#161) By default, scripts apply both standard and sliced prediction (multi-stage inference). If you don't want to perform sliced prediction add --no_sliced_pred argument. If you don't want to perform standard prediction add --no_standard_pred argument.

- Python
Published by fcakyon over 4 years ago

sahi - v0.5.2

  • fix negative bbox coord error (#160)

- Python
Published by fcakyon over 4 years ago

sahi - v0.5.1

  • add predict_fiftyone script to perform sliced/standard inference over yolov5/mmdetection models and visualize the incorrect prediction over the fiftyone ui.

sahi_fiftyone

  • fix mot utils (#152)

- Python
Published by fcakyon over 4 years ago

sahi - v0.5.0

  • add check for image size in slice_image (#147)
  • refactor prediction output (#148)
  • fix slice_image in readme (#149)

refactor prediction output

```python

perform standard or sliced prediction

result = getprediction(image, detectionmodel) result = getslicedprediction(image, detection_model)

export prediction visuals to "demo_data/"

result.exportvisuals(exportdir="demo_data/")

convert predictions to coco annotations

result.tococoannotations()

convert predictions to coco predictions

result.tococopredictions(image_id=1)

convert predictions to imantics annotation format

result.toimanticsannotations()

convert predictions to fiftyone detection format

result.tofiftyonedetections() ```

  • Check more in colab notebooks:

YOLOv5 + SAHI demo: Open In Colab

MMDetection + SAHI demo: Open In Colab

- Python
Published by fcakyon over 4 years ago

sahi - v0.4.8

  • update mot utils (#143)
  • add fiftyone utils (#144)

FiftyOne Utilities

Explore COCO dataset via FiftyOne app: ```python from sahi.utils.fiftyone import launch_fiftyone_app # launch fiftyone app: session = launch_fiftyone_app(coco_image_dir, coco_json_path) # close fiftyone app: session.close() ```
Convert predictions to FiftyOne detection: ```python from sahi import get_sliced_prediction # perform sliced prediction result = get_sliced_prediction( image, detection_model, slice_height = 256, slice_width = 256, overlap_height_ratio = 0.2, overlap_width_ratio = 0.2 ) # convert first object into fiftyone detection format object_prediction = result["object_prediction_list"][0] fiftyone_detection = object_prediction.to_fiftyone_detection(image_height=720, image_width=1280) ```

- Python
Published by fcakyon over 4 years ago

sahi - v0.4.6

new feature

  • add more mot utils (#133)

    MOT Challenge formatted ground truth dataset creation:

  • import required classes:

python from sahi.utils.mot import MotAnnotation, MotFrame, MotVideo

  • init video:

python mot_video = MotVideo(name="sequence_name")

  • init first frame:

python mot_frame = MotFrame()

  • add annotations to frame:

```python motframe.addannotation( MotAnnotation(bbox=[xmin, ymin, width, height]) )

motframe.addannotation( MotAnnotation(bbox=[xmin, ymin, width, height]) ) ```

  • add frame to video:

python mot_video.add_frame(mot_frame)

  • export in MOT challenge format:

python mot_video.export(export_dir="mot_gt", type="gt")

  • your MOT challenge formatted ground truth files are ready under mot_gt/sequence_name/ folder.
Advanced MOT Challenge formatted ground truth dataset creation: - you can customize tracker while initializing mot video object: ```python tracker_params = { 'max_distance_between_points': 30, 'min_detection_threshold': 0, 'hit_inertia_min': 10, 'hit_inertia_max': 12, 'point_transience': 4, } # for details: https://github.com/tryolabs/norfair/tree/master/docs#arguments mot_video = MotVideo(tracker_kwargs=tracker_params) ``` - you can omit automatic track id generation and directly provide track ids of annotations: ```python # create annotations with track ids: mot_frame.add_annotation( MotAnnotation(bbox=[x_min, y_min, width, height], track_id=1) ) mot_frame.add_annotation( MotAnnotation(bbox=[x_min, y_min, width, height], track_id=2) ) # add frame to video: mot_video.add_frame(mot_frame) # export in MOT challenge format without automatic track id generation: mot_video.export(export_dir="mot_gt", type="gt", use_tracker=False) ``` - you can overwrite the results into already present directory by adding `exist_ok=True`: ```python mot_video.export(export_dir="mot_gt", type="gt", exist_ok=True) ```
MOT Challenge formatted tracker output creation: - import required classes: ```python from sahi.utils.mot import MotAnnotation, MotFrame, MotVideo ``` - init video by providing video name: ```python mot_video = MotVideo(name="sequence_name") ``` - init first frame: ```python mot_frame = MotFrame() ``` - add tracker outputs to frame: ```python mot_frame.add_annotation( MotAnnotation(bbox=[x_min, y_min, width, height], track_id=1) ) mot_frame.add_annotation( MotAnnotation(bbox=[x_min, y_min, width, height], track_id=2) ) ``` - add frame to video: ```python mot_video.add_frame(mot_frame) ``` - export in MOT challenge format: ```python mot_video.export(export_dir="mot_test", type="test") ``` - your MOT challenge formatted ground truth files are ready as `mot_test/sequence_name.txt`.
Advanced MOT Challenge formatted tracker output creation: - you can enable tracker and directly provide object detector output: ```python # add object detector outputs: mot_frame.add_annotation( MotAnnotation(bbox=[x_min, y_min, width, height]) ) mot_frame.add_annotation( MotAnnotation(bbox=[x_min, y_min, width, height]) ) # add frame to video: mot_video.add_frame(mot_frame) # export in MOT challenge format by applying a kalman based tracker: mot_video.export(export_dir="mot_gt", type="gt", use_tracker=True) ``` - you can customize tracker while initializing mot video object: ```python tracker_params = { 'max_distance_between_points': 30, 'min_detection_threshold': 0, 'hit_inertia_min': 10, 'hit_inertia_max': 12, 'point_transience': 4, } # for details: https://github.com/tryolabs/norfair/tree/master/docs#arguments mot_video = MotVideo(tracker_kwargs=tracker_params) ``` - you can overwrite the results into already present directory by adding `exist_ok=True`: ```python mot_video.export(export_dir="mot_gt", type="gt", exist_ok=True) ```

documentation

  • update coco docs (#134)
  • add colab links into readme (#135)

Check YOLOv5 + SAHI demo: Open In Colab

Check MMDetection + SAHI demo: Open In Colab

bug fixes

  • fix demo notebooks (#136)

- Python
Published by fcakyon over 4 years ago

sahi - v0.4.5

enhancement

  • add colab demo support (#127)
  • add warning for image files without suffix (#129)
  • seperate mmdet/yolov5 utils (#130)

- Python
Published by fcakyon over 4 years ago

sahi - v0.4.4

new feature

documentation

  • update installation (#118)
  • add details for coco2yolov5 usage (#120)

bug fixes

  • fix typo (#117)
  • update coco2yolov5.py (#115)

breaking changes

  • drop python 3.6 support (#123)

- Python
Published by fcakyon over 4 years ago

sahi - v0.4.3

refactorize postprocess (#109)

  • specify postprocess type as --postprocess_type UNIONMERGE or --postprocess_type NMS to be applied over sliced predictions
  • specify postprocess match metric as --match_metric IOS for intersection over smaller area or --match_metric IOU for intersection over union
  • specify postprocess match threshold as --match_thresh 0.5
  • add --class_agnostic argument to ignore category ids of the predictions during postprocess (merging/nms)

export visuals with gt (#107)

  • export visuals with predicted + gt annotations into visuals_with_gt folder when coco_file_path is provided
  • keep source folder structure when exporting results
  • add from_coco_annotation_dict classmethod to ObjectAnnotation
  • remove unused imports/classes/parameters
  • better typing hints

- Python
Published by fcakyon over 4 years ago

sahi - v0.4.2

CLI usage: bash python scripts/predict.py --model_type yolov5 --source image/file/or/folder --model_path path/to/model

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.19

  • refactorize slicing, faster coco indexing (#95)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.18

  • utilize ignorenegativesamples property (#90):

Filter out images that does not contain any annotation

```python from sahi.utils.coco import Coco

set ignorenegativesamples as False if you want images without annotations present in json and yolov5 exports

coco = Coco.fromcocodictorpath("coco.json", ignorenegativesamples=True) ```

  • fix typo in getareafiltered_coco (#89)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.17

  • improve .stats (#85):

```python from sahi.utils.coco import Coco

init Coco object

coco = Coco.fromcocodictorpath("coco.json")

get dataset stats

coco.stats { 'numimages': 6471, 'numannotations': 343204, 'numcategories': 2, 'numnegativeimages': 0, 'numimagespercategory': {'human': 5684, 'vehicle': 6323}, 'numannotationspercategory': {'human': 106396, 'vehicle': 236808}, 'minnumannotationsinimage': 1, 'maxnumannotationsinimage': 902, 'avgnumannotationsinimage': 53.037243084530985, 'minannotationarea': 3, 'maxannotationarea': 328640, 'avgannotationarea': 2448.405738278109, 'minannotationareapercategory': {'human': 3, 'vehicle': 3}, 'maxannotationareaper_category': {'human': 72670, 'vehicle': 328640}, }

```

  • add category based annotation area filtering (#86):

```python

filter out images with seperate area intervals per category

intervalspercategory = { "human": {"min": 20, "max": 10000}, "vehicle": {"min": 50, "max": 15000}, } areafilteredcoco = coco.getareafilteredcoco(intervalspercategory=intervalsper_category) ```

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.15

  • add getareafiltered_coco method to Coco class (#75):

```python from sahi.utils.coco import Coco from sahi.utils.file import save_json

init Coco objects by specifying coco dataset paths and image folder directories

coco = Coco.fromcocodictorpath("coco.json")

filter out images that contain annotations with smaller area than 50

areafilteredcoco = coco.getareafiltered_coco(min=50)

filter out images that contain annotations with smaller area than 50 and larger area than 10000

areafilteredcoco = coco.getareafiltered_coco(min=50, max=10000)

export filtered COCO dataset

savejson(areafilteredcoco.json, "areafiltered_coco.json") ```

  • faster yolov5 conversion with mp argument (#80): ```python

    multiprocess support

    if name == main: coco = Coco.fromcocodictorpath( "coco.json", imagedir="cocoimages/" mp=True ) coco.exportasyolov5( outputdir="output/folder/dir", trainsplit_rate=0.85, mp=True ) ```

  • update torch and mmdet versions in workflows (#79)

  • remove optional dependencies from conda (#78)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.14

  • add stats property for Coco class (#70)

```python from sahi.utils.coco import Coco

init Coco object

coco = Coco.fromcocodictorpath("coco.json")

get dataset stats

coco.stats { 'avgannotationarea': 2448.405738278109, 'avgnumannotationsinimage': 53.037243084530985, 'maxannotationarea': 328640, 'maxnumannotationsinimage': 902, 'minannotationarea': 3, 'minnumannotationsinimage': 1, 'numannotations': 343204, 'numannotationspercategory': { 'human': 106396, 'vehicle': 236808 }, 'numcategories': 2, 'numimages': 6471, 'numimagesper_category': { 'human': 5684, 'vehicle': 6323 } }

```

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.12

  • improve coco to yolov5 conversion (#68)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.11

  • fix coco subsampling and category updating (#64)
  • increase test coverage (#64)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.10

  • fix yolo export (#62)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.9

  • faster Coco merging and category updating (#59)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.8

  • increase coco split and yolo export speeds (#58)
  • reduce json export size (#57)
  • make multiprocess call optional (#55)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.7

  • faster coco dataset indexing (#53)
  • category remapping feature for coco datasets (#53)
  • fix exportasyolov5 paths (#52)

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.6

  • make some dependencies optional
  • fix some coco utils

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.5

- Python
Published by fcakyon almost 5 years ago

sahi - v0.3.4

  • add new coco utils (https://github.com/obss/sahi/pull/42). check here for example usages.

- Python
Published by fcakyon almost 5 years ago