CoralNet-Toolbox

CoralNet-Toolbox ๐Ÿชธ๐Ÿงฐ

CoralNet-Toolbox

[![python-version](https://img.shields.io/pypi/pyversions/CoralNet-Toolbox.svg)](https://pypi.org/project/CoralNet-Toolbox) [![version](https://img.shields.io/pypi/v/CoralNet-Toolbox.svg)](https://pypi.python.org/pypi/CoralNet-Toolbox) [![pypi-passing](https://github.com/Jordan-Pierce/CoralNet-Toolbox/actions/workflows/pypi.yml/badge.svg)](https://pypi.org/project/CoralNet-Toolbox) [![windows](https://github.com/Jordan-Pierce/CoralNet-Toolbox/actions/workflows/windows.yml/badge.svg)](https://pypi.org/project/CoralNet-Toolbox) [![macos](https://github.com/Jordan-Pierce/CoralNet-Toolbox/actions/workflows/macos.yml/badge.svg)](https://pypi.org/project/CoralNet-Toolbox) [![ubuntu](https://github.com/Jordan-Pierce/CoralNet-Toolbox/actions/workflows/ubuntu.yml/badge.svg)](https://pypi.org/project/CoralNet-Toolbox)

๐Ÿ” Annotation

Create patches, rectangles, and polygons with AI assistance

๐Ÿง  AI-Powered

Leverage SAM, YOLOE, and various foundation models

๐Ÿš€ Complete Workflow

From data collection to model training and deployment

๐Ÿšฆ Quick Start

Running the following command will install the coralnet-toolbox, which you can then run from the command line:

# cmd

# Install
pip install coralnet-toolbox

# Run
coralnet-toolbox

๐Ÿ“š Guides

For further instructions please see the following guides:

๐ŸŽฅ Watch the Video Demos

Video Title

โฉ TL;Dr

The CoralNet-Toolbox is an unofficial codebase that can be used to augment processes associated with those on CoralNet.

It usesโœจUltralytics๐Ÿš€ as a base, which is an open-source library for computer vision and deep learning built in PyTorch. For more information on their AGPL-3.0 license, see here.

๐Ÿš€ Supported Models

The toolbox integrates a variety of state-of-the-art models to help you create rectangle and polygon annotations efficiently. Below is a categorized overview of the supported models and frameworks:

| Category | Models | |-------------------------|---------------------------------------------------------------------------------------------------------| | **Trainable** | - ๐Ÿฆพ [YOLOv3](https://docs.ultralytics.com/models/)
- ๐Ÿฆˆ [YOLOv4](https://docs.ultralytics.com/models/)
- ๐Ÿฆ… [YOLOv5](https://docs.ultralytics.com/models/)
- ๐Ÿฌ [YOLOv6](https://docs.ultralytics.com/models/)
- ๐Ÿข [YOLOv7](https://docs.ultralytics.com/models/)
- ๐Ÿ™ [YOLOv8](https://docs.ultralytics.com/models/)
- ๐Ÿ  [YOLOv9](https://docs.ultralytics.com/models/)
- ๐Ÿฆ‘ [YOLOv10](https://docs.ultralytics.com/models/)
- ๐Ÿš€ [YOLO11](https://docs.ultralytics.com/models/)
- ๐Ÿณ [YOLO12](https://docs.ultralytics.com/models/) | | **Segment Anything** | - ๐Ÿชธ [SAM](https://github.com/facebookresearch/segment-anything)
- ๐ŸŒŠ [CoralSCOP](https://github.com/zhengziqiang/CoralSCOP)
- โšก [FastSAM](https://github.com/CASIA-IVA-Lab/FastSAM)
- ๐Ÿ” [RepViT-SAM](https://github.com/THU-MIG/RepViT)
- โœ‚๏ธ [EdgeSAM](https://github.com/chongzhou96/EdgeSAM)
- ๐Ÿ“ฑ [MobileSAM](https://github.com/ChaoningZhang/MobileSAM) | | **Visual Prompting** | - ๐Ÿ‘๏ธ [YOLOE](https://github.com/THU-MIG/yoloe)
- ๐Ÿค– [AutoDistill](https://github.com/autodistill):
   โ€ข ๐Ÿฆ’ Grounding DINO
   โ€ข ๐Ÿฆ‰ OWLViT
   โ€ข โšก OmDetTurbo |

These models enable fast, accurate, and flexible annotation workflows for a wide range of use cases for patch-based image classification, object detection, instance segmentation.

๐Ÿ› ๏ธ Toolbox Features

| ![Patch Annotation Tool](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Patches.gif)
**Patch Annotation** | ![Rectangle Annotation Tool](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Rectangles.gif)
**Rectangle Annotation** | ![Polygon Annotation Tool](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Polygons.gif)
**(Multi) Polygon Annotation** | |:--:|:--:|:--:| | ![Patch-based Image Classification](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Classification.gif)
**Image Classification** | ![Object Detection](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Object_Detection.gif)
**Object Detection** | ![Instance Segmentation](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Instance_Segmentation.gif)
**Instance Segmentation** | | ![Segment Anything Model (SAM)](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Segment_Anything.gif)
**Segment Anything (SAM)** | ![Polygon Classification](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Classifying_Polygons.gif)
**Polygon Classification** | ![Region-based Detection](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Work_Areas.gif)
**Region-based Detection** | | ![Cut](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Cut.gif)
**Cut** | ![Combine](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Combine.gif)
**Combine** | ![Simplify](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Simplify.gif)
**Simplify** | | ![See Anything (YOLOE)](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/See_Anything.gif)
**See Anything (YOLOE)** | ![Patch-based LAI Classification](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Classifying_Orthomosaics.gif)
**Patch-based LAI Classification** | ![Video Inference](https://raw.githubusercontent.com/Jordan-Pierce/CoralNet-Toolbox/refs/heads/main/figures/tools/Analytics.gif)
**Video Inference** |

</div>

Enhance your CoralNet experience with these tools:

๐Ÿ“ TODO