Hızlı Başlangıç

August 1, 2026 · View on GitHub

SAHI (Slicing Aided Hyper Inference), büyük görselleri örtüşen dilimlere (tiles) ayırarak, her dilimde dedektörünüzü çalıştırıp sonuçları birleştirerek büyük görsellerdeki küçük nesneleri tespit eder. Yeniden eğitim (retraining) gerektirmeden tüm tespit modelleriyle çalışır.

sliced inference

Kurulum

PyPI - Version Conda Version PyPI - Python Version

pip install sahi

Object detection için ayrıca bir framework'e ihtiyacınız olacaktır. En yaygın tercih Ultralytics'tir:

pip install ultralytics

??? note "Diğer kurulum yöntemleri"

**Conda:**

[![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/sahi.svg)](https://anaconda.org/conda-forge/sahi)
[![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/sahi.svg)](https://anaconda.org/conda-forge/sahi)

```bash
conda install -c conda-forge sahi
```

!!! note
    CUDA ortamında kurulum yapıyorsanız, `ultralytics`, `pytorch` ve `pytorch-cuda` paketlerini aynı komutta yüklemeniz tavsiye edilir:
    ```bash
    conda install -c pytorch -c nvidia -c conda-forge pytorch torchvision pytorch-cuda=11.8 ultralytics
    ```

**Kaynak koddan:**
```bash
pip install git+https://github.com/obss/sahi.git@main
```

**Geliştirme (düzenlenebilir):**
```bash
git clone https://github.com/obss/sahi
cd sahi
pip install -e .
```

Bağımlılıkların tam listesi için pyproject.toml dosyasına bakabilirsiniz.

Python ile Sliced Prediction

from sahi import AutoDetectionModel
from sahi.predict import get_sliced_prediction

# Load a model (works with any supported framework)
detection_model = AutoDetectionModel.from_pretrained(
    model_type="ultralytics",
    model_path="yolo26n.pt",
    confidence_threshold=0.25,
    device="cuda:0",  # or "cpu"
)

# Run sliced prediction
result = get_sliced_prediction(
    "path/to/your/image.jpg",
    detection_model,
    slice_height=512,
    slice_width=512,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

# Export visualizations
result.export_visuals(export_dir="demo_data/")

# Access individual predictions
for pred in result.object_prediction_list:
    print(pred.category.name, pred.score.value, pred.bbox.to_xyxy())

CLI ile Prediction

Python kodu yazmadan Sliced Inference çalıştırın:

sahi predict \
  --model_path yolo26n.pt \
  --model_type ultralytics \
  --source /path/to/images/ \
  --slice_height 512 \
  --slice_width 512

Sonuçlar varsayılan olarak runs/predict/exp dizinine kaydedilir.

Postprocessing Backend Seçimi

Dilimleme sonrasında SAHI, örtüşen prediction'ları NMS veya NMM ile birleştirir. Mevcut en iyi backend otomatik olarak seçilir:

BackendNe zaman seçilirKurulum
torchvisionCUDA veya Apple MPS GPU + torchvision mevcut olduğundapip install torch torchvision
numbanumba yüklü, GPU yokpip install numba
numpyHer zaman mevcut (fallback)--

Seçimi manuel olarak geçersiz kılma:

from sahi.postprocess.backends import set_postprocess_backend

set_postprocess_backend("numpy")       # always available
set_postprocess_backend("numba")       # JIT-compiled
set_postprocess_backend("torchvision") # GPU-accelerated
set_postprocess_backend("auto")        # restore auto-detection

Sonraki Adımlar