# sahi
**Repository Path**: haohe123456/sahi
## Basic Information
- **Project Name**: sahi
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2024-01-30
- **Last Updated**: 2025-08-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
SAHI: Slicing Aided Hyper Inference
A lightweight vision library for performing large scale object detection & instance segmentation
## Overview
SAHI helps developers overcome real-world challenges in object detection by enabling **sliced inference** for detecting small objects in large images. It supports various popular detection models and provides easy-to-use APIs.
| Command | Description |
|---|---|
| [predict](https://github.com/obss/sahi/blob/main/docs/cli.md#predict-command-usage) | perform sliced/standard video/image prediction using any [ultralytics](https://github.com/ultralytics/ultralytics)/[mmdet](https://github.com/open-mmlab/mmdetection)/[huggingface](https://huggingface.co/models?pipeline_tag=object-detection&sort=downloads)/[torchvision](https://pytorch.org/vision/stable/models.html#object-detection) model - see [CLI guide](docs/cli.md#predict-command-usage) |
| [predict-fiftyone](https://github.com/obss/sahi/blob/main/docs/cli.md#predict-fiftyone-command-usage) | perform sliced/standard prediction using any supported model and explore results in [fiftyone app](https://github.com/voxel51/fiftyone) - [learn more](docs/fiftyone.md) |
| [coco slice](https://github.com/obss/sahi/blob/main/docs/cli.md#coco-slice-command-usage) | automatically slice COCO annotation and image files - see [slicing utilities](docs/slicing.md) |
| [coco fiftyone](https://github.com/obss/sahi/blob/main/docs/cli.md#coco-fiftyone-command-usage) | explore multiple prediction results on your COCO dataset with [fiftyone ui](https://github.com/voxel51/fiftyone) ordered by number of misdetections |
| [coco evaluate](https://github.com/obss/sahi/blob/main/docs/cli.md#coco-evaluate-command-usage) | evaluate classwise COCO AP and AR for given predictions and ground truth - check [COCO utilities](docs/coco.md) |
| [coco analyse](https://github.com/obss/sahi/blob/main/docs/cli.md#coco-analyse-command-usage) | calculate and export many error analysis plots - see the [complete guide](docs/README.md) |
| [coco yolo](https://github.com/obss/sahi/blob/main/docs/cli.md#coco-yolo-command-usage) | automatically convert any COCO dataset to [ultralytics](https://github.com/ultralytics/ultralytics) format |
### Approved by the Community
[📜 List of publications that cite SAHI (currently 400+)](https://scholar.google.com/scholar?hl=en&as_sdt=2005&sciodt=0,5&cites=14065474760484865747&scipsc=&q=&scisbd=1)
[🏆 List of competition winners that used SAHI](https://github.com/obss/sahi/discussions/688)
### Approved by AI Tools
SAHI's documentation is [indexed in Context7 MCP](https://context7.com/obss/sahi), providing AI coding assistants with up-to-date, version-specific code examples and API references. We also provide an [llms.txt](https://context7.com/obss/sahi/llms.txt) file following the emerging standard for AI-readable documentation. To integrate SAHI docs with your AI development workflow, check out the [Context7 MCP installation guide](https://github.com/upstash/context7#%EF%B8%8F-installation).
## Installation
### Basic Installation
```bash
pip install sahi
```
Detailed Installation (Click to open)
- Install your desired version of pytorch and torchvision:
```console
pip install torch==2.7.0 torchvision==0.22.0 --index-url https://download.pytorch.org/whl/cu126
```
(torch 2.1.2 is required for mmdet support):
```console
pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121
```
- Install your desired detection framework (ultralytics):
```console
pip install ultralytics>=8.3.161
```
- Install your desired detection framework (huggingface):
```console
pip install transformers>=4.49.0 timm
```
- Install your desired detection framework (yolov5):
```console
pip install yolov5==7.0.14 sahi==0.11.21
```
- Install your desired detection framework (mmdet):
```console
pip install mim
mim install mmdet==3.3.0
```
- Install your desired detection framework (roboflow):
```console
pip install inference>=0.50.3 rfdetr>=1.1.0
```
## Quick Start
### Tutorials
- [Introduction to SAHI](https://medium.com/codable/sahi-a-vision-library-for-performing-sliced-inference-on-large-images-small-objects-c8b086af3b80) - explore the [complete documentation](docs/README.md) for advanced usage
- [Official paper](https://ieeexplore.ieee.org/document/9897990) (ICIP 2022 oral)
- [Pretrained weights and ICIP 2022 paper files](https://github.com/fcakyon/small-object-detection-benchmark)
- [2025 Video Tutorial](https://www.youtube.com/watch?v=ILqMBah5ZvI) (RECOMMENDED)
- [Visualizing and Evaluating SAHI predictions with FiftyOne](https://voxel51.com/blog/how-to-detect-small-objects/)
- ['Exploring SAHI' Research Article from 'learnopencv.com'](https://learnopencv.com/slicing-aided-hyper-inference/)
- [Slicing Aided Hyper Inference Explained by Encord](https://encord.com/blog/slicing-aided-hyper-inference-explained/)
- ['VIDEO TUTORIAL: Slicing Aided Hyper Inference for Small Object Detection - SAHI'](https://www.youtube.com/watch?v=UuOJKxn-M8&t=270s)
- [Video inference support is live](https://github.com/obss/sahi/discussions/626)
- [Kaggle notebook](https://www.kaggle.com/remekkinas/sahi-slicing-aided-hyper-inference-yv5-and-yx)
- [Satellite object detection](https://blog.ml6.eu/how-to-detect-small-objects-in-very-large-images-70234bab0f98)
- [Error analysis plots & evaluation](https://github.com/obss/sahi/discussions/622) (RECOMMENDED)
- [Interactive result visualization and inspection](https://github.com/obss/sahi/discussions/624) (RECOMMENDED)
- [COCO dataset conversion](https://medium.com/codable/convert-any-dataset-to-coco-object-detection-format-with-sahi-95349e1fe2b7)
- [Slicing operation notebook](demo/slicing.ipynb)
- `YOLOX` + `SAHI` demo:
- `YOLO12` + `SAHI` walkthrough:
- `YOLO11-OBB` + `SAHI` walkthrough:
(NEW)
- `YOLO11` + `SAHI` walkthrough:
- `Roboflow/RF-DETR` + `SAHI` walkthrough:
(NEW)
- `RT-DETR v2` + `SAHI` walkthrough:
(NEW)
- `RT-DETR` + `SAHI` walkthrough:
- `HuggingFace` + `SAHI` walkthrough:
- `YOLOv5` + `SAHI` walkthrough:
- `MMDetection` + `SAHI` walkthrough:
- `TorchVision` + `SAHI` walkthrough:
### Framework Agnostic Sliced/Standard Prediction
Find detailed info on using `sahi predict` command in the [CLI documentation](docs/cli.md#predict-command-usage) and explore the [prediction API](docs/predict.md) for advanced usage.
Find detailed info on video inference at [video inference tutorial](https://github.com/obss/sahi/discussions/626).
### Error Analysis Plots & Evaluation
Find detailed info at [Error Analysis Plots & Evaluation](https://github.com/obss/sahi/discussions/622).
### Interactive Visualization & Inspection
Explore [FiftyOne integration](docs/fiftyone.md) for interactive visualization and inspection.
### Other utilities
Check the [comprehensive COCO utilities guide](docs/coco.md) for YOLO conversion, dataset slicing, subsampling, filtering, merging, and splitting operations. Learn more about the [slicing utilities](docs/slicing.md) for detailed control over image and dataset slicing parameters.
## Citation
If you use this package in your work, please cite as:
```bibtex
@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}
}
```
```bibtex
@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
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) to get started. Thank you 🙏 to all our contributors!