Skip to main content

A vision library for performing sliced inference on large images/small objects

Project description

SAHI: Slicing Aided Hyper Inference

A vision library for performing sliced inference on large images/small objects.

teaser

downloads pypi version conda version ci

Overview

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

Getting started

Blogpost

Check the official SAHI blog post.

Installation

  • Install sahi using conda:
conda install -c obss sahi
  • Install sahi using pip:
pip install sahi
  • Install your desired version of pytorch and torchvision:
pip install torch torchvision
  • Install your desired detection framework (such as mmdet):
pip install mmdet

Usage

  • Sliced inference:
result = get_sliced_prediction(
    image,
    detection_model,
    slice_height = 256,
    slice_width = 256,
    overlap_height_ratio = 0.2,
    overlap_width_ratio = 0.2
)

Refer to inference notebook for detailed usage.

  • Slice an image:
from sahi.slicing import slice_image

slice_image_result, num_total_invalid_segmentation = slice_image(
    image=image_path,
    output_file_name=output_file_name,
    output_dir=output_dir,
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)
  • Slice a coco formatted dataset:
from sahi.slicing import slice_coco

coco_dict, coco_path = slice_coco(
    coco_annotation_file_path=coco_annotation_file_path,
    image_dir=image_dir,
    slice_height=256,
    slice_width=256,
    overlap_height_ratio=0.2,
    overlap_width_ratio=0.2,
)

Refer to slicing notebook for detailed usage.

Scripts

Find detailed info on script usage (predict, coco2yolov5, coco_error_analysis) at SCRIPTS.md.

COCO Utilities

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

Adding new detection framework support

sahi library currently only supports MMDetection models. However it is easy to add new frameworks.

All you need to do is, creating a new class in model.py that implements DetectionModel class. You can take the MMDetection wrapper as a reference.

Contributers

Project details


Release history Release notifications | RSS feed

This version

0.3.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sahi-0.3.9.tar.gz (38.4 kB view details)

Uploaded Source

Built Distribution

sahi-0.3.9-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file sahi-0.3.9.tar.gz.

File metadata

  • Download URL: sahi-0.3.9.tar.gz
  • Upload date:
  • Size: 38.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for sahi-0.3.9.tar.gz
Algorithm Hash digest
SHA256 62ed54e73cd3ed9497ba1a6eec0c852567fcfea0e30b6372f8727b69d68a5bf0
MD5 d45e1fdcb36c41c2e063cff604280b0a
BLAKE2b-256 e8eb2fd15908e0c3d04cb8959b0cce551a53873ba9f8e0a45e55fc09cc2b9b9a

See more details on using hashes here.

File details

Details for the file sahi-0.3.9-py3-none-any.whl.

File metadata

  • Download URL: sahi-0.3.9-py3-none-any.whl
  • Upload date:
  • Size: 42.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for sahi-0.3.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ad42e5d945e225ccf01633db0f54e5d6728ba8280e11561125989437f257f9f2
MD5 bbe7cd5b63155799f3c1b80f0872094b
BLAKE2b-256 f374880cb48102b39d1106a901c1690e9a3c016bd44310f4e86b9d883ce8894a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page