An open API service indexing awesome lists of open source software.

https://github.com/voxel51/fiftyone-plugins

A curated list of plugins that you can add to your FiftyOne install!
https://github.com/voxel51/fiftyone-plugins

artificial-intelligence computer-vision data-science deep-learning fiftyone machine-learning plugins python

Last synced: 6 months ago
JSON representation

A curated list of plugins that you can add to your FiftyOne install!

Awesome Lists containing this project

README

          

# FiftyOne Plugins ๐Ÿ”Œ๐Ÿš€

FiftyOne provides a powerful
[plugin framework](https://docs.voxel51.com/plugins/index.html) that allows for
extending and customizing the functionality of the tool.

With plugins, you can add new functionality to the FiftyOne App, create
integrations with other tools and APIs, render custom panels, and add custom
buttons to menus.

With
[FiftyOne Teams](https://docs.voxel51.com/teams/teams_plugins.html#delegated-operations),
you can even write plugins that allow users to execute long-running tasks from
within the App that run on a connected compute cluster.

For example, here's a taste of what you can do with the
[@voxel51/brain](https://github.com/voxel51/fiftyone-plugins/tree/main/plugins/brain)
plugin!

https://github.com/voxel51/fiftyone-plugins/assets/25985824/128d9fbd-9835-49e8-bbb9-93ea5093871f

## Table of Contents

This repository contains a curated collection of
[FiftyOne Plugins](https://docs.voxel51.com/plugins/index.html), organized into
the following categories:

- [Core Plugins](#core-plugins): core functionality that all FiftyOne users
will likely want to install. These plugins are maintained by the FiftyOne
team
- [Voxel51 Plugins](#voxel51-plugins): non-core plugins that are officially
maintained by the FiftyOne team
- [Example Plugins](#example-plugins): these plugins exist to inspire and
educate you to create your own plugins! Each emphasizes a different aspect
of the plugin system
- [Community Plugins](#community-plugins): third-party plugins that are
contributed and maintained by the community. These plugins are not
officially supported by the FiftyOne team, but they're likely awesome!

๐Ÿ”Œ๐Ÿค **Contribute Your Own Plugin** ๐Ÿš€๐Ÿš€

Want to showcase your own plugin here? See the
[contributing section](#contributing) for instructions!

## Core Plugins


Name
Description


@voxel51/annotation
โœ๏ธ Utilities for integrating FiftyOne with annotation tools


@voxel51/brain
๐Ÿง  Utilities for working with the FiftyOne Brain


@voxel51/dashboard
๐Ÿ“Š Create your own custom dashboards from within the App


@voxel51/evaluation
โœ… Utilities for evaluating models with FiftyOne


@voxel51/io
๐Ÿ“ A collection of import/export utilities


@voxel51/indexes
๐Ÿ“ˆ Utilities working with FiftyOne database indexes


@voxel51/plugins
๐Ÿงฉ Utilities for managing and building FiftyOne plugins


@voxel51/delegated
๐Ÿ“ก Utilities for managing your delegated operations


@voxel51/runs
๐Ÿƒ Utilities for managing your custom runs


@voxel51/utils
โš’๏ธ Call your favorite SDK utilities from the App


@voxel51/zoo
๐ŸŒŽ Download datasets and run inference with models from the FiftyOne Zoo, all without leaving the App

## Voxel51 Plugins


Name
Description


@voxel51/voxelgpt
๐Ÿค– An AI assistant that can query visual datasets, search the FiftyOne docs, and answer general computer vision questions


@voxel51/mlflow
๐Ÿ“‹ Track model training experiments on your FiftyOne datasets with MLflow!


@voxel51/huggingface_hub
๐Ÿค— Push FiftyOne datasets to the Hugging Face Hub, and load datasets from the Hub into FiftyOne!


@voxel51/transformers
๐Ÿค— Run inference on your datasets using Hugging Face Transformers models!

## Example Plugins


Name
Description


@voxel51/hello-world
๐Ÿ‘‹ An example plugin that contains both Python and JavaScript components


@voxel51/operator-examples
โš™๏ธ A collection of example operators showing how to use the operator type system to build custom FiftyOne operations


@voxel51/panel-examples
๐Ÿ“Š A collection of example panels demonstrating common patterns for building Python panels

## Community Plugins

๐Ÿ”Œ๐Ÿค **Contribute Your Own Plugin** ๐Ÿš€๐Ÿš€

Want to showcase your own plugin here? See the
[contributing section](#contributing) for instructions!


Name
Description


@harpreetsahota/vitpose
๐Ÿง˜๐Ÿฝ Run ViTPose Models from Hugging Face on your FiftyOne Dataset


@harpreetsahota/moondream2
๐ŸŒ” Run Moondream2 Models from Hugging Face on your FiftyOne Dataset


@harpreetsahota/depth_pro_plugin
๐Ÿฅฝ Perfom zero-shot metric monocular depth estimation using the Apple Depth Pro model


@harpreetsahota/janus_vqa
๐Ÿ‹ Run the Janus Pro Models from Deepseek on your Fiftyone Dataset


@harpreetsahota/hiera_video_embeddings
๐ŸŽฅ Compute embeddings for video using Facebook Hiera Models


@harpreetsahota/aimv2_embeddings
๐ŸŽ Compute embeddings using AIMv2 Models


@segmentsai/segments-voxel51-plugin
โœ๏ธ Integrate FiftyOne with the Segments.ai annotation tool!


@jacobmarks/image_issues
๐ŸŒฉ๏ธ Find common image quality issues in your datasets


@jacobmarks/concept_interpolation
๐Ÿ“ˆ Find images that best interpolate between two text-based extremes!


@jacobmarks/text_to_image
๐ŸŽจ Add synthetic data from prompts with text-to-image models and FiftyOne!


@jacobmarks/twilio_automation
๐Ÿ“ฒ Automate data ingestion with Twilio!


@wayofsamu/line2d
๐Ÿ“‰ Visualize x,y-Points as a line chart.


@jacobmarks/vqa-plugin
โ” Ask (and answer) open-ended visual questions about your images!


@jacobmarks/youtube_panel_plugin
๐Ÿ“บ Play YouTube videos in the FiftyOne App!


@jacobmarks/image_deduplication
๐Ÿชž Find exact and approximate duplicates in your dataset!


@jacobmarks/keyword_search
๐Ÿ”‘ Perform keyword search on a specified field!


@jacobmarks/pytesseract_ocr
๐Ÿ‘“ Run optical character recognition with PyTesseract!


@brimoor/pdf-loader
๐Ÿ“„ Load your PDF documents into FiftyOne as per-page images


@jacobmarks/zero_shot_prediction
๐Ÿ”ฎ Run zero-shot (open vocabulary) prediction on your data!


@jacobmarks/active_learning
๐Ÿƒ Accelerate your data labeling with Active Learning!


@jacobmarks/reverse_image_search
โช Find the images in your dataset most similar to an image from filesystem or the internet!


@jacobmarks/concept_space_traversal
๐ŸŒŒ Navigate concept space with CLIP, vector search, and FiftyOne!


@jacobmarks/audio_retrieval
๐Ÿ”Š Find the images in your dataset most similar to an audio file!


@jacobmarks/semantic_document_search
๐Ÿ”Ž Perform semantic search on text in your documents!


@allenleetc/model-comparison
โš–๏ธ Compare two object detection models!


@ehofesmann/filter_values
๐Ÿ”Ž Filter a field of your FiftyOne dataset by one or more values.


@jacobmarks/gpt4_vision
๐Ÿค– Chat with your images using GPT-4 Vision!


@swheaton/anonymize
๐Ÿฅธ Anonymize/blur images based on a FiftyOne Detections field.


@jacobmarks/double_band_filter
filter icon Filter on two numeric ranges simultaneously!


@danielgural/semantic_video_search
filter icon Semantically search through your video datasets using FiftyOne Brain and Twelve Labs!


@jacobmarks/emoji_search
๐Ÿ˜ Semantically search emojis and copy to clipboard!


@danielgural/img_to_video
๐Ÿฆ‹ Bring images to life with image to video!


@ehofesmann/edit_label_attributes
โœ๏ธ Edit attributes of your labels directly in the FiftyOne App!


@danielgural/audio_loader
๐ŸŽง Import your audio datasets as spectograms into FiftyOne!


@jacobmarks/albumentations_augmentation
๐Ÿชž Test out any Albumentations data augmentation transform with FiftyOne!


@jacobmarks/image_captioning
๐Ÿ–‹๏ธ Caption all your images with state of the art vision-language models!


@jacobmarks/multimodal_rag
๐Ÿฆ™ Create and test multimodal RAG pipelines with LlamaIndex, Milvus, and FiftyOne!


@danielgural/optimal_confidence_threshold
๐Ÿ” Find the optimal confidence threshold for your detection models automatically!


@danielgural/outlier_detection
โŒ Find those troublesome outliers in your dataset automatically!


@danielgural/clustering_algorithms
๐Ÿ•ต๏ธ Find the clusters in your data using some of the best algorithms available!


@jacobmarks/clustering
๐Ÿ‡ Cluster your images using embeddings with FiftyOne and scikit-learn!


@mmoollllee/fiftyone-tile
โฌœ Tile your high resolution images to squares for training small object detection models


@mmoollllee/fiftyone-timestamps
๐Ÿ•’ Compute datetime-related fields (sunrise, dawn, evening, weekday, ...) from your samples' filenames or creation dates


@jacobmarks/florence2
๐Ÿง™ Connect Microsoft's Florence-2 Vision-Language Model to your data!


@allenleetc/plotly-map-panel
๐ŸŒŽ Plotly-based Map Panel with adjustable marker cosmetics!


@madave94/multi_annotator_toolkit
๐Ÿงน Tackle noisy annotation! Find and analyze annotation issues in datasets with multiple annotators per image.

## Using Plugins

### Install FiftyOne

If you haven't already, install
[FiftyOne](https://github.com/voxel51/fiftyone):

```shell
pip install fiftyone
```

### Installing a plugin

In general, you can install all plugin(s) in a GitHub repository by running:

```shell
fiftyone plugins download https://github.com/path/to/repo
```

For instance, to install all plugins in this repository, you can run:

```shell
fiftyone plugins download https://github.com/voxel51/fiftyone-plugins
```

You can also install a specific plugin using the `--plugin-names` flag:

```shell
fiftyone plugins download \
https://github.com/voxel51/fiftyone-plugins \
--plugin-names
```

**๐Ÿ’ก Pro tip:** Some plugins require additional setup. Click the plugin's link
and navigate to the project's README for instructions.

### Plugin management

You can use the
[CLI commands](https://docs.voxel51.com/cli/index.html#fiftyone-plugins) below
to manage your downloaded plugins:

```shell
# List all plugins you've downloaded
fiftyone plugins list

# List the available operators and panels
fiftyone operators list

# Disable a particular plugin
fiftyone plugins disable

# Enable a particular plugin
fiftyone plugins enable
```

### Local development

If you plan to develop plugins locally, you can clone the repository and
symlink it into your FiftyOne plugins directory like so:

```shell
cd /path/to/fiftyone-plugins
ln -s "$(pwd)" "$(fiftyone config plugins_dir)/fiftyone-plugins"
```

## Contributing

### Showcasing your plugin ๐Ÿค

Have a plugin you'd like to share with the community? Awesome! ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰

Just follow these steps to add your plugin to this repository:

1. Make sure your plugin repo has a `README.md` file that describes the plugin
and how to install it
2. Fork this repository
3. Add an entry for your plugin to the [Community Plugins](#community-plugins)
table above
4. Submit a pull request into this repository

### Contributing to this repository ๐Ÿ™Œ

You're also welcome to contribute to the plugins that live natively in this
repository. Check out the [contributions guide](CONTRIBUTING.md) for
instructions.

## Join the Community

If you want join a fast-growing community of engineers, researchers, and
practitioners who love computer vision, join the
[FiftyOne Discord community](https://community.voxel51.com/?_gl=1*1ph47fb*_gcl_au*NjI4MTMwMzIxLjE3MzY0NTM0MDc.) ๐Ÿš€๐Ÿš€๐Ÿš€

**๐Ÿ’ก Pro tip:** the `#plugins` channel is a great place to discuss plugins!

## About FiftyOne

If you've made it this far, we'd greatly appreciate if you'd take a moment to
check out [FiftyOne](https://github.com/voxel51/fiftyone) and give us a star!

FiftyOne is an open source library for building high-quality datasets and
computer vision models. It's the engine that powers this project.

Thanks for visiting! ๐Ÿ˜Š