Skip to main content

Antidupe

Image deduplicator using CNN, Cosine Similarity, Image Hashing, Structural Similarity Index Measurement, and Euclidean Distance

Installation

You can install Antidupe using pip:

pip install antidupe

Usage

Basic Usage

from antidupe import Antidupe
from PIL import Image

# Initialize Antidupe
antidupe = Antidupe()

# Load images (as numpy arrays or PIL.Image objects)
image1 = Image.open("image1.jpg")
image2 = Image.open("image2.jpg")

# Check for duplicates
is_duplicate = antidupe.predict([image1, image2])

if is_duplicate:
    print("Duplicate images detected!")
else:
    print("Images are not duplicates.")

Customizing Thresholds

You can customize the similarity thresholds for each technique during runtime or initialization:

  • Note that negative values will disable the measurement layer.
# Initialize Antidupe with custom thresholds
custom_thresholds = {
    'ih': 0.2,    # Image Hash
    'ssim': 0.2,  # SSIM
    'cs': 0.2,    # Cosine Similarity
    'cnn': 0.2,   # CNN
    'dedup': 0.1 # Mobilenet
}
antidupe = Antidupe(limits=custom_thresholds)

# Check for duplicates
is_duplicate = antidupe.predict([image1, image2])

Debugging

You can enable debug mode to print debugging messages:

# Initialize Antidupe with debug mode enabled
antidupe = Antidupe(debug=True)

# Check for duplicates
is_duplicate = antidupe.predict([image1, image2])

Changing Limits During Runtime

You can change the similarity thresholds during runtime:

# Set new limits during runtime
new_thresholds = {
    'ih': 0.1,
    'ssim': 0.1,
    'cs': 0.1,
    'cnn': 0.1,
    'dedup': 0.15
}
antidupe.set_limits(limits=new_thresholds)

# Check for duplicates
is_duplicate = antidupe.predict([image1, image2])

Requirements

  • Python 3.x
  • SSIM PIL
  • ImageDeDup
  • NumPy
  • MatPlotLib
  • Pillow
  • ImageHash
  • Torch
  • Efficientnet Pytorch
  • TorchVision

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Metadata

Release files for antidupe 0.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for antidupe 0.0.8
File Size Uploaded
antidupe-0.0.8.tar.gz 9.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for antidupe 0.0.8
File Interpreter ABI Platform
antidupe-0.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 20.3 kB

Release files / antidupe-0.0.8.tar.gz

Download URL antidupe-0.0.8.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a897f80942405bb215e2c012101438f494612c1c8623c14de972a05263492556
BLAKE2b-256 checksum
How to use checksums
7eba008048fdaf204acc3c2516327f1468f2bb9ad1dab30f9536add408573e89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / antidupe-0.0.8-py3-none-any.whl

Download URL antidupe-0.0.8-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2221b557d1a08f7a826da898c257fbf3c422c2774cf91fb6a9b24345a359d9f4
BLAKE2b-256 checksum
How to use checksums
c1915cc7ac664796d7844cd37e02d1539851d9e20afeee0de8125835e38d7894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.0.8 This release

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page