sahi

0.11.22last stable release 1 month ago
Complexity Score
Medium
Open Issues
6
Dependent Projects
14
Weekly Downloadsglobal
34,331

License

  • MIT
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Nopatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

SAHI: Slicing Aided Hyper Inference

A lightweight vision library for performing large scale object detection & instance segmentation




Overview

Object detection and instance segmentation are by far the most important applications in Computer Vision. However, the detection of small objects and inference on large images still need to be improved in practical usage. Here comes the SAHI to help developers overcome these real-world problems with many vision utilities.

Command Description predict perform sliced/standard video/image prediction using any ultralytics/mmdet/huggingface/torchvision model predict-fiftyone perform sliced/standard prediction using any ultralytics/mmdet/huggingface/torchvision 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 with fiftyone ui ordered by number of misdetections coco evaluate evaluate classwise COCO AP and AR for given predictions and ground truth coco analyse calculate and export many error analysis plots coco yolo automatically convert any COCO dataset to ultralytics format

Quick Start Examples

📜 List of publications that cite SAHI (currently 300+)

🏆 List of competition winners that used SAHI

Tutorials

  • Introduction to SAHI

  • Official paper (ICIP 2022 oral)

  • Pretrained weights and ICIP 2022 paper files

  • 2025 Video Tutorial (RECOMMENDED)

  • Visualizing and Evaluating SAHI predictions with FiftyOne

  • ‘Exploring SAHI’ Research Article from ‘learnopencv.com’

  • Slicing Aided Hyper Inference Explained by Encord

  • ‘VIDEO TUTORIAL: Slicing Aided Hyper Inference for Small Object Detection - SAHI’

  • Video inference support is live

  • Kaggle notebook

  • Satellite object detection

  • Error analysis plots & evaluation (RECOMMENDED)

  • Interactive result visualization and inspection (RECOMMENDED)

  • COCO dataset conversion

  • Slicing operation notebook

  • YOLOX + SAHI demo:

  • YOLO12 + SAHI walkthrough: (NEW)

  • YOLO11-OBB + SAHI walkthrough: (NEW)

  • YOLO11 + SAHI walkthrough:

  • RT-DETR v2 + SAHI walkthrough: (NEW)

  • RT-DETR + SAHI walkthrough: (NEW)

  • DeepSparse + SAHI walkthrough:

  • HuggingFace + SAHI walkthrough:

  • YOLOv5 + SAHI walkthrough:

  • MMDetection + SAHI walkthrough:

  • TorchVision + SAHI walkthrough:

Installation

Installation details:
  • Install sahi using pip:
pip install sahi
  • On Windows, Shapely needs to be installed via Conda:
conda install -c conda-forge shapely
  • Install your desired version of pytorch and torchvision:
pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu126

(torch 2.1.2 is required for mmdet support):

pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121
  • Install your desired detection framework (yolov5):
pip install yolov5==7.0.14 sahi==0.11.21
  • Install your desired detection framework (ultralytics):
pip install ultralytics>=8.3.86
  • Install your desired detection framework (mmdet):
pip install mim
mim install mmdet==3.3.0
  • Install your desired detection framework (huggingface):
pip install transformers>=4.42.0 timm

Framework Agnostic Sliced/Standard Prediction

Find detailed info on sahi predict command at cli.md.

Find detailed info on video inference at video inference tutorial.

Find detailed info on image/dataset slicing utilities at slicing.md.

Error Analysis Plots & Evaluation

Find detailed info at Error Analysis Plots & Evaluation.

Interactive Visualization & Inspection

Find detailed info at Interactive Result Visualization and Inspection.

Other utilities

Find detailed info on COCO utilities (yolov5 conversion, slicing, subsampling, filtering, merging, splitting) at coco.md.

Citation

If you use this package in your work, please cite it as:

@article{akyon2022sahi,
  title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection},
  author={Akyon, Fatih Cagatay and Altinuc, Sinan Onur and Temizel, Alptekin},
  journal={2022 IEEE International Conference on Image Processing (ICIP)},
  doi={10.1109/ICIP46576.2022.9897990},
  pages={966-970},
  year={2022}
}
@software{obss2021sahi,
  author       = {Akyon, Fatih Cagatay and Cengiz, Cemil and Altinuc, Sinan Onur and Cavusoglu, Devrim and Sahin, Kadir and Eryuksel, Ogulcan},
  title        = {{SAHI: A lightweight vision library for performing large scale object detection and instance segmentation}},
  month        = nov,
  year         = 2021,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.5718950},
  url          = {https://doi.org/10.5281/zenodo.5718950}
}

Contributing

Add new frameworks

sahi library currently supports all Ultralytics (YOLOv8/v10/v11/RTDETR) models, MMDetection models, Detectron2 models, and HuggingFace object detection models. Moreover, it is easy to add new frameworks.

All you need to do is, create a new .py file under sahi/models/ folder and create a new class in that .py file that implements DetectionModel class. You can take the MMDetection wrapper or YOLOv5 wrapper as a reference.

Open a Pull Request

  • Install the uv package manager on your system.
  • Install pre-commit hooks with uv run pre-commit install.

Contributors

Fatih Cagatay Akyon

Sinan Onur Altinuc

Devrim Cavusoglu

Cemil Cengiz

Ogulcan Eryuksel

Kadir Nar

Dronakurl

Burak Maden

Pushpak Bhoge

M. Can V.

Christoffer Edlund

Ishwor

Mehmet Ecevit

Kadir Sahin

Wey

Youngjae

Alzbeta Tureckova

So Uchida

Yonghye Kwon

Neville

Janne Mäyrä

Christoffer Edlund

Ilker Manap

Nguyễn Thế An

Wei Ji

Aynur Susuz

Pranav Durai

Lakshay Mehra

Karl-Joan Alesma

Jacob Marks

William Lung

Amogh Dhaliwal

Dependencies

CVE IssuesActive
0
Scorecards Score
5.10
Test Coverage
No Data
Follows Semver
Yes
Github Stars
4,365
Dependenciestotal
10
DependenciesOutdated
0
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No

Learn how to distribute sahi in your own private PyPI registry

pip install sahi
Processing...
Done

107 Releases

PyPI on Cloudsmith

Getting started with PyPI on Cloudsmith is fast and easy.