examples
fiftyone
examples | fiftyone | |
---|---|---|
6 | 21 | |
381 | 6,712 | |
7.1% | 2.1% | |
6.8 | 10.0 | |
3 months ago | 6 days ago | |
Jupyter Notebook | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
examples
- FLaNK-AIM Weekly 06 May 2024
- FLaNK Stack Weekly for 07August2023
-
Vector database built for scalable similarity search
As another commenter noted, Milvus is overkill and a "bit much" if you're learning/playing.
A good intro to the field with progression towards a full Milvus implementation could be starting with towhee[0] (which is also supported by Milvus).
towhee has an example to do exactly what you want with CLIP[1].
[0] - https://towhee.io/
[1] - https://github.com/towhee-io/examples/tree/main/image/text_i...
-
Ask HN: Any good self-hosted image recognition software?
Usually this is done in three steps. The first step is using a neural network to create a bounding box around the object, then generating vector embeddings of the object, and then using similarity search on vector embeddings.
The first step is accomplished by training a detection model to generate the bounding box around your object, this can usually be done by finetuning an already trained detection model. For this step the data you would need is all the images of the object you have with a bounding box created around it, the version of the object doesnt matter here.
The second step involves using a generalized image classification model thats been pretrained on generalized data (VGG, etc.) and a vector search engine/vector database. You would start by using the image classification model to generate vector embeddings (https://frankzliu.com/blog/understanding-neural-network-embe...) of all the different versions of the object. The more ground truth images you have, the better, but it doesn't require the same amount as training a classifier model. Once you have your versions of the object as embeddings, you would store them in a vector database (for example Milvus: https://github.com/milvus-io/milvus).
Now whenever you want to detect the object in an image you can run the image through the detection model to find the object in the image, then run the sliced out image of the object through the vector embedding model. With this vector embedding you can then perform a search in the vector database, and the closest results will most likely be the version of the object.
Hopefully this helps with the general rundown of how it would look like. Here is an example using Milvus and Towhee https://github.com/towhee-io/examples/tree/3a2207d67b10a246f....
Disclaimer: I am a part of those two open source projects.
-
Deep Dive into Real-World Image Search Engine with Python
I have shown how to Build an Image Search Engine in Minutes in the previous tutorial. Here is another one for how to optimize the algorithm, feed it with large-scale image datasets, and deploy it as a micro-service.
-
Build an Image Search Engine in Minutes
The full tutorial is at https://github.com/towhee-io/examples/blob/main/image/reverse_image_search/build_image_search_engine.ipynb
fiftyone
-
Anomaly Detection with FiftyOne and Anomalib
pip install -U git+https://github.com/voxel51/fiftyone.git
-
May 8, 2024 AI, Machine Learning and Computer Vision Meetup
In this brief walkthrough, I will illustrate how to leverage open-source FiftyOne and Anomalib to build deployment-ready anomaly detection models. First, we will load and visualize the MVTec AD dataset in the FiftyOne App. Next, we will use Albumentations to test out augmentation techniques. We will then train an anomaly detection model with Anomalib and evaluate the model with FiftyOne.
-
Voxel51 Is Hiring AI Researchers and Scientists — What the New Open Science Positions Mean
My experience has been much like this. For twenty years, I’ve emphasized scientific and engineering discovery in my work as an academic researcher, publishing these findings at the top conferences in computer vision, AI, and related fields. Yet, at my company, we focus on infrastructure that enables others to unlock scientific discovery. We have built a software framework that enables its users to do better work when training models and curating datasets with large unstructured, visual data — it’s kind of like a PyTorch++ or a Snowflake for unstructured data. This software stack, called FiftyOne in its single-user open source incarnation and FiftyOne Teams in its collaborative enterprise version, has garnered millions of installations and a vibrant user community.
-
How to Estimate Depth from a Single Image
We will use the Hugging Face transformers and diffusers libraries for inference, FiftyOne for data management and visualization, and scikit-image for evaluation metrics.
-
How to Cluster Images
With all that background out of the way, let’s turn theory into practice and learn how to use clustering to structure our unstructured data. We’ll be leveraging two open-source machine learning libraries: scikit-learn, which comes pre-packaged with implementations of most common clustering algorithms, and fiftyone, which streamlines the management and visualization of unstructured data:
-
Efficiently Managing and Querying Visual Data With MongoDB Atlas Vector Search and FiftyOne
FiftyOne is the leading open-source toolkit for the curation and visualization of unstructured data, built on top of MongoDB. It leverages the non-relational nature of MongoDB to provide an intuitive interface for working with datasets consisting of images, videos, point clouds, PDFs, and more.
-
FiftyOne Computer Vision Tips and Tricks - March 15, 2024
Welcome to our weekly FiftyOne tips and tricks blog where we recap interesting questions and answers that have recently popped up on Slack, GitHub, Stack Overflow, and Reddit.
- FLaNK AI for 11 March 2024
-
How to Build a Semantic Search Engine for Emojis
If you want to perform emoji searches locally with the same visual interface, you can do so with the Emoji Search plugin for FiftyOne.
- FLaNK Stack Weekly for 07August2023
What are some alternatives?
towhee - Towhee is a framework that is dedicated to making neural data processing pipelines simple and fast.
caer - High-performance Vision library in Python. Scale your research, not boilerplate.
milvus-lite - A lightweight version of Milvus
pytorch-lightning - Build high-performance AI models with PyTorch Lightning (organized PyTorch). Deploy models with Lightning Apps (organized Python to build end-to-end ML systems). [Moved to: https://github.com/Lightning-AI/lightning]
gorilla-cli - LLMs for your CLI
ZnTrack - Create, visualize, run & benchmark DVC pipelines in Python & Jupyter notebooks.
anomalib - An anomaly detection library comprising state-of-the-art algorithms and features such as experiment management, hyper-parameter optimization, and edge inference.
Serpent.AI - Game Agent Framework. Helping you create AIs / Bots that learn to play any game you own!
EverythingApacheNiFi - EverythingApacheNiFi
streamlit - Streamlit — A faster way to build and share data apps.
OpenBuddy - Open Multilingual Chatbot for Everyone