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.
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, filtering, merging, splitting) at COCO.md.
Adding new detection framework support
sahi
library currently supports all MMDetection models. Moreover, 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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sahi-0.3.15.tar.gz
.
File metadata
- Download URL: sahi-0.3.15.tar.gz
- Upload date:
- Size: 40.2 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.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c4c7fffbd3d7786916bc8c8a8940cb0bffefd6eb83bd1abde92df9cfe75c00f |
|
MD5 | 9a5b4059d2590b1eba3656697f9bcc4a |
|
BLAKE2b-256 | 9fbe7df64c91756946c099b0997e6069746e51de8eb627f46a467986960b705a |
File details
Details for the file sahi-0.3.15-py3-none-any.whl
.
File metadata
- Download URL: sahi-0.3.15-py3-none-any.whl
- Upload date:
- Size: 44.0 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.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfbd4743e2ce13654e323a0e7204ccb530ac1418234fad0ef21e5d796442f389 |
|
MD5 | 8b4a7a442b662f294da0c1e46418e1a3 |
|
BLAKE2b-256 | 7062399d57daf931a453de952780b15cbd1ede4aec840192e584718a9f99b857 |