Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

适配mmdet

Basic Info
  • Host: GitHub
  • Owner: tianlan6767
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 46.3 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

README.md

SAHI: Slicing Aided Hyper Inference

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

teaser

downloads downloads ci
pypi version conda version ci
Open In Colab HuggingFace Spaces

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 with many vision utilities.

| Command | Description | |---|---| | predict | perform sliced/standard video/image prediction using any yolov5/mmdet/detectron2/huggingface model | | predict-fiftyone | perform sliced/standard prediction using any yolov5/mmdet/detectron2/huggingface 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 | calcualate and export many error analysis plots | | coco yolov5 | automatically convert any COCO dataset to yolov5 format |

Quick Start Examples

Check this link for a list of competitions that SAHI made us win

Tutorials

sahi-yolox

Installation

sahi-installation

Installation details: - Install `sahi` using pip: ```console pip install sahi ``` - On Windows, `Shapely` needs to be installed via Conda: ```console conda install -c conda-forge shapely ``` - Install your desired version of pytorch and torchvision: ```console conda install pytorch=1.10.2 torchvision=0.11.3 cudatoolkit=11.3 -c pytorch ``` - Install your desired detection framework (yolov5): ```console pip install yolov5==6.1.3 ``` - Install your desired detection framework (mmdet): ```console pip install mmcv-full==1.5.3 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html ``` ```console pip install mmdet==2.25.0 ``` - Install your desired detection framework (detectron2): ```console pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu113/torch1.10/index.html ``` - Install your desired detection framework (huggingface): ```console pip install transformers timm ```

Framework Agnostic Sliced/Standard Prediction

sahi-predict

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

sahi-analyse

Find detailed info at Error Analysis Plots & Evaluation.

Interactive Visualization & Inspection

sahi-fiftyone

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.

Find detailed info on MOT utilities (ground truth dataset creation, exporting tracker metrics in mot challenge format) at mot.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={arXiv preprint arXiv:2202.06934}, 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

sahi library currently supports all YOLOv5 models, MMDetection models, Detectron2 models, and HuggingFace object detection 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 or YOLOv5 wrapper as a reference.

Before opening a PR:

  • Install required development packages:

bash pip install -e ."[dev]"

  • Reformat with black and isort:

bash python scripts/run_code_style.py format

Contributors

Fatih Cagatay Akyon Sinan Onur Altinuc Devrim Cavusoglu Cemil Cengiz Ogulcan Eryuksel Kadir Nar Burak Maden Pushpak Bhoge M. Can V. Mehmet Ecevit Kadir Sahin Wey Youngjae Alzbeta Tureckova Wei Ji

Owner

  • Login: tianlan6767
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this package, please consider citing it."
authors:
- family-names: "Akyon"
  given-names: "Fatih Cagatay"
- family-names: "Cengiz"
  given-names: "Cemil"
- family-names: "Altinuc"
  given-names: "Sinan Onur"
- family-names: "Cavusoglu"
  given-names: "Devrim"
- family-names: "Sahin"
  given-names: "Kadir"
- family-names: "Eryuksel"
  given-names: "Ogulcan"
title: "SAHI: A lightweight vision library for performing large scale object detection and instance segmentation"
preferred-citation:
  type: article
  title: "Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection"
  doi: https://doi.org/10.48550/arXiv.2202.06934
  url: https://arxiv.org/abs/2202.06934
  journal: arXiv
  authors:
  - family-names: "Akyon"
    given-names: "Fatih Cagatay"
  - family-names: "Altinuc"
    given-names: "Sinan Onur"
  - family-names: "Temizel"
    given-names: "Alptekin"
  year: 2022

GitHub Events

Total
Last Year

Dependencies

.github/workflows/ci.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/ci_torch1.10.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/package_testing.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/publish_pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
requirements.txt pypi
  • click ==8.0.4
  • fire *
  • opencv-python >=4.2.0.32
  • pillow >=8.2.0
  • pybboxes ==0.1.4
  • pyyaml *
  • requests *
  • shapely >=1.8.0
  • terminaltables *
  • tqdm >=4.48.2
setup.py pypi