paras-jain / mantisshrimp

End-to-End Object Detection Library - Unified Data API (Annotation Parsers) - Pluggable to any Training Library (fastai, Pytorch)

Home Page:https://lgvaz.github.io/mantisshrimp/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MantisShrimp

MantisShrimp is in very early development, all contributions are welcome! Be sure to check the issues board =)

tests docs codecov black license


image

The Problem We Are Solving

  • Object dectection datasets come in different sizes and most impotantly have different annotations formats ranging from the stanndard formarts such COCO and VOC to more self-tailored formats
  • When new object detection models are released with some source code, the latter is very often written in non-portable way: The source code is difficult to use for other datasets because of some hard-coded parts coupled with self developed tweaks
  • Both researchers and DL coders have to deploy a lot of effort to use many SOTA models for their own use-cases and/or to craft an enhanced model based on those already published

Our Solution

Mantisshrimp library provides some elegant solutions in those 2 fundamental components:

1- A Unified Data API:

Out of the box, we offer several annotation parsers that translates different annotation formats into a very flexibe parser:

  1. By default, we offer differents standard format parsers such as COCO and ROC,
  2. We host a community curated parsers where community contributors publish their own parsers to be shared, and therefore save time and energy in creating similar parsers over and over,
  3. We provide some intuitive tutorials that walk you through the steps of creating your own parser. Please, consider sharing it with the whole community.

2- A Universal Adapter to different DL Libraries:

  1. Mantisshrimp provides a universal adapter that allows you to hook up your dataset to the DL library of your choice (fastai, Pytorch Lightning and Pytorch), and train your model using a familiar API,
  2. Our library allows you to choose one of the public implementations of a given model, plug it in mantisshrimp model adapter, and seamlessly train your model,
  3. As a bonus, our library even allows to experiment with another DL library. Our tutorials have several examples showing you how to train a given model using both fastai and Pytorch Lightning libraries side by side.

Why Mantishrimp

  • Mantisshrimp: An object-detection library
  • Connects to different libraries/framework such as fastai, Pytorch Lightning, and Pytorch
  • Features a Unified Data API such: common Parsers (COCO, etc.),
  • Integrates community maintaned parsers for custom datasets shared on parsers hub
  • Provides flexible model implementations using different backbones
  • Helps both researchers and DL engineers in reproducing, replicating published models
  • Facilitates applying both existing and new models to standard datasets as well as custom datasets

Note: If you find this work useful, please let other people know by starring it. Thank you!

Hall of Fame

This library is only made possible because of @all-contributors, thank you ♥️ ♥️ ♥️

image0image1image2image3image4image5image6image7

Quick Start: Use Mantisshrimp Docker Container

To jumpstart using mantisshrimp package without manually installing it and its dependencies, use our docker container!

Please, follow the 3 steps:

  1. Install Docker by following the instructions shown here: https://docs.docker.com/engine/install/ (Only if Docker is not already installed)
  2. Run docker pull mantisshrimp, in your terminal
  3. Run docker run -it mantisshrimp, in your terminal

Enjoy!

Manual Install

Install PyTorch as per your preference from here.

Windows users might run into some issues with COCOAPI installation, to resolve them follow the discussion here.

Quick Example: How to train the Wheat Dataset

Contributing

Check out our contributing guide.

Feature Requests and questions

For Feature Requests and more questions raise a github issue. We will be happy to assist you.

Be sure to check the documentation.

About

End-to-End Object Detection Library - Unified Data API (Annotation Parsers) - Pluggable to any Training Library (fastai, Pytorch)

https://lgvaz.github.io/mantisshrimp/index.html

License:Apache License 2.0


Languages

Language:Python 98.7%Language:Dockerfile 1.3%