Skip to main content

Aiposematic: Scramble & Recover using image key + operation string , By: Fibo Metavinci

Project description

AIPosematic: Overt Adversarial Protection for Digital Art

AIPosematic is a Python package inspired by nature's defense mechanisms, designed to help artists and creators protect their digital artwork in an overt and visually distinctive way. Unlike traditional digital watermarking or covert adversarial examples, AIPosematic applies visible, intentional transformations that signal the work is protected while simultaneously disrupting AI training processes.

How It Works

AIPosematic employs a multi-layered approach to protect digital images:

  1. Visual Signature

    • Applies a unique, visible pattern to the image that serves as a warning to AI systems
    • The pattern is designed to be aesthetically integrated while remaining clearly artificial
    • Functions as a "digital aposematism" - a warning signal in the digital ecosystem
  2. Technical Implementation

    • Pixel Shuffling: Rearranges pixels using a deterministic but non-obvious pattern
    • Key-Based Recovery: Uses a separate key image to reverse the transformation
    • High-Frequency Noise: Adds subtle noise patterns that disrupt feature extraction
    • Edge Manipulation: Modifies edge regions to confuse edge detection algorithms
    • QR Code Integration: Embeds recovery information in visually integrated QR codes
  3. Dual Protection

    • Human-Visible: The protection is intentionally visible to establish clear provenance
    • AI-Disruptive: The transformations are designed to confuse and degrade the performance of AI models
    • Reversible: Original image can be recovered with the proper key and transformation sequence

Installation

pip install aiposematic

Basic Usage

from aiposematic import new_aposematic_img, recover_aposematic_img

# Protect an image
result = new_aposematic_img(
    "original.png",
    op_string='-^+',  # Transformation operations
    scramble_mode='QR'  # Key generation mode
)

# The protected image and cipher key are saved
print(f"Protected image: {result['img_path']}")
print(f"Cipher key: {result['cipher_key']}")

# Recover the original image
recovered_path = recover_aposematic_img(
    result['img_path'],
    cipher_key=result['cipher_key']
)
print(f"Recovered image: {recovered_path}")

Key Features

  • Multiple Scrambling Modes:

    • BUTTERFLY: Creates a butterfly pattern key meant to confuse AI models
    • QR: Generates a pattern of QR codes meant to confuse AI models
  • Customizable Transformations:

    • Chain multiple operations (+, -, ^, etc.) for custom protection schemes
    • Adjust intensity and visibility of protection patterns
  • High-Quality Output:

    • Preserves image quality for human viewers
    • Maintains compatibility with standard image formats

Use Cases

  • Digital Art Protection: Clearly mark and protect digital artwork
  • Dataset Poisoning: Create "do not train" markers for AI datasets
  • Provenance Tracking: Embed recoverable ownership information
  • Ethical AI Development: Create clear visual indicators of usage restrictions

License

MIT License - See LICENSE for details.

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting pull requests.

Acknowledgements

Inspired by natural aposematism and the need for better digital rights management in the age of generative AI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiposematic-0.2.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiposematic-0.2-py2.py3-none-any.whl (12.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file aiposematic-0.2.tar.gz.

File metadata

  • Download URL: aiposematic-0.2.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for aiposematic-0.2.tar.gz
Algorithm Hash digest
SHA256 313659ee640559b1f132975e18fac39c7e3c87a2d52f17c89fa5efa373ff4850
MD5 bf54fb958d11a696c2d6ecabc6eaf26e
BLAKE2b-256 9d59aca78ad4461ba1bafa8f2c398e7bfb901e12517d3f9f2288fc5e423cdc76

See more details on using hashes here.

File details

Details for the file aiposematic-0.2-py2.py3-none-any.whl.

File metadata

  • Download URL: aiposematic-0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for aiposematic-0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 253f656a91babfbd07b7936f8349c45cef7b049299eef14bd9f2e51ed6cfab67
MD5 cafb3cfe5ad6bd965caeea26b6bdb360
BLAKE2b-256 fbc239a46f73c161879d5169a4033a0af0eeccacee95d6d3c7f08ae171467481

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page