Skip to content

fastdup is a powerful, free tool designed to rapidly generate valuable insights from image and video datasets. It helps enhance the quality of both images and labels, while significantly reducing data operation costs, all with unmatched scalability.

License

Notifications You must be signed in to change notification settings

visual-layer/fastdup

Repository files navigation


PyPi PyPi PyPi Contributors License OS

An unsupervised and free tool for image and video dataset analysis founded by the authors of XGBoost, Apache TVM & Turi Create - Danny Bickson, Carlos Guestrin and Amir Alush.


Documentation · Features · Report Bug · Blog · Quickstart · Visual Layer Cloud

Getting Started

pip install fastdup from PyPI:

pip install fastdup

More installation options are available here.

Initialize and run fastdup:

import fastdup

fd = fastdup.create(input_dir="IMAGE_FOLDER/")
fd.run()

Explore the results in a interactive web UI:

fd.explore()   

run

Alternatively, visualize the result in a static gallery:

fd.vis.duplicates_gallery()    # gallery of duplicates
fd.vis.outliers_gallery()      # gallery of outliers
fd.vis.component_gallery()     # gallery of connected components
fd.vis.stats_gallery()         # gallery of image statistics (e.g. blur, brightness, etc.)
fd.vis.similarity_gallery()    # gallery of similar images

results

Features & Advantages

fastdup handles labeled/unlabeled datasets in image or video format, providing a range of features:

What sets fastdup apart from other similar tools:

  • Quality: High-quality analysis to identify duplicates/near-duplicates, outliers, mislabels, broken images, and low-quality images.
  • Scale: Highly scalable, capable of processing 400M images on a single CPU machine. Scales up to billions of images.
  • Speed: Optimized C++ engine enables high performance even on low-resource CPU machines.
  • Privacy: Runs locally or on your cloud infrastructure. Your data stays where it is.
  • Ease of use: Works on labeled or unlabeled datasets in image or video format with support for major operating systems like MacOS, Linux and Windows.

Learn from Examples

Learn the basics of fastdup through interactive examples. View the notebooks on GitHub or nbviewer. Even better, run them on Google Colab or Kaggle, for free.

⚡ Quickstart: Learn how to install fastdup, load a dataset and analyze it for potential issues such as duplicates/near-duplicates, broken images, outliers, dark/bright/blurry images, and view visually similar image clusters. If you're new, start here!

📌 Dataset: Oxford-IIIT Pet.
🧹 Finding and Removing Duplicates: Learn how to how to analyze an image dataset for duplicates and near-duplicates.

📌 Dataset: Oxford-IIIT Pet.
🖼 Finding and Removing Mislabels: Learn how to analyze an image dataset for potential image mislabels and export the list of mislabeled images for further inspection.

📌 Dataset: Food-101.
🎁 Image Similarity Search: Perform image search in a large dataset of images.

📌 Dataset: Shopee Product Matching.
🤗 Hugging Face Datasets: Load and analyze datasets from Hugging Face Datasets. Perfect if you already have a dataset hosted on Hugging Face hub.
🧠 TIMM Embeddings: Compute dataset embeddings using TIMM (PyTorch Image Models) and run fastdup over the them to surface dataset issues. Runs on CPU and GPU.
🦖 ONNX Embeddings: Bring your own ONNX model. In this example we extract feature vectors of your images using DINOv2 model. Runs on CPU.

See more examples.

Join the Community

Get help from the fastdup team or community members via the following channels:

Logo Logo GitHub Issues

Community-contributed blog posts on fastdup:

Deploying AWS Lambda functions with Docker Container by using Custom Base Image
🖋️ atahan bulus    •    🗓 16 September 2023
Renumics: Cleaning Image Classification Datasets With fastdup and Renumics Spotlight
🖋️ Daniel Klitzke    •    🗓 4 September 2023
Roboflow: How to Reduce Dataset Size Without Losing Accuracy
🖋️ Arty Ariuntuya    •    🗓 9 August 2023
The weighty significance of data cleanliness — or as I like to call it, “cleanliness is next to model-ness” — cannot be overstated.
🖋️ Alexander Lan    •    🗓 9 March 2023
Clean Up Your Digital Life: How I Found 1929 Fully Identical Images, Dark, Bright and Blurry Shots in Minutes, For Free.
🖋️ Dickson Neoh    •    🗓 23 February 2023
fastdup: A Powerful Tool to Manage, Clean & Curate Visual Data at Scale on Your CPU - For Free.
🖋️ Dickson Neoh    •    🗓 3 January 2023
Master Data Integrity to Clean Your Computer Vision Datasets.
🖋️ Paul lusztin    •    🗓 19 December 2022

What our users say:

feedback

feedback2

Visual Layer Cloud

Visual Layer offers commercial services for managing, cleaning, and curating visual data at scale.

Sign-up for free.

Visual.Layer.Cloud.mp4

Not convinced? Interact with Visual Layer Cloud public dataset with no sign-up required.

Disclaimer

Usage Tracking

We have added an experimental crash report collection using Sentry.

We DO NOT collect user-specific information such as folder names, user names, image names, image content, etc. We do collect data related to fastdup's internal operations and performance statistics such as total number of images, average runtime per image, total free memory, total free disk space, number of cores, etc.

This help us identify and resolve stability issues, thereby improving the overall reliability of fastdup. The code for the data collection is found here. On MAC we use Google crashpad to report crashes.

Users have the option to opt out of the experimental crash reporting system through one of the following methods:

  • Define an environment variable called SENTRY_OPT_OUT
  • or run() with turi_param='run_sentry=0'

License

fastdup is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.

For any more information or inquiries regarding the license, please contact us at [email protected] or see the LICENSE file.