12

GitHub - obss/sahi: A lightweight vision library for performing large scale obje...

 2 years ago
source link: https://github.com/obss/sahi
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

SAHI: Slicing Aided Hyper Inference

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

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 prediction using any yolov5/mmdet/detectron2 model

predict-fiftyone perform sliced/standard prediction using any yolov5/mmdet/detectron2 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

Tutorials

Installation

Installation details:

Framework Agnostic Sliced/Standard Prediction

Find detailed info on sahi predict command at cli.md.

Find detailed info on image/dataset slicing utilities at slicing.md.

Error Analysis Plots & Evaluation

Find detailed info at Error Analysis Plots & Evaluation.

Interactive Visualization & Inspection

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:

@misc{akyon2022sahi,
      title={Slicing Aided Hyper Inference and Fine-tuning for Small Object Detection}, 
      author={Fatih Cagatay Akyon and Sinan Onur Altinuc and Alptekin Temizel},
      year={2022},
      eprint={2202.06934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
@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 and 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 or YOLOv5 wrapper as a reference.

Before opening a PR:

  • Install required development packages:
pip install -U -e .[dev]
  • Reformat with black and isort:
black . --config pyproject.toml
isort .
Contributors

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK