Spaces:
Sleeping
A newer version of the Gradio SDK is available:
6.9.0
title: Digital Image Forensics Toolkit
emoji: π΅οΈββοΈ
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
Digital Image Forensics Toolkit π΅οΈββοΈ
This repository provides a collection of fundamental digital forensic algorithms designed to detect "cheap fakes"βimage manipulations created with standard editing software like Photoshop or GIMP. The tools are implemented in Python and deployed on a local server using a Gradio web interface.
These methods are effective for identifying traditional forgeries such as splicing, copy-move, and inconsistent lighting.
Forensic Tools
This toolkit includes the following analysis methods:
π¨ Color Filter Array Analysis (CFA.py)
Analyzes artifacts introduced during the camera's raw image processing. Inconsistencies in the Color Filter Array (CFA) interpolation pattern can reveal areas that have been spliced from another image or copy-pasted within the same image (copy-move).
π» JPEG Ghost Detection (JPEG_Ghost.py)
Detects forgeries by identifying regions within an image that were compressed with different JPEG Quality Factors (QF). When an area from a different JPEG image is spliced in, it often carries the "ghost" of its original compression level, which this tool can reveal.
πΈ PRNU Analysis (PRNU.py)
Uses the Photo Response Non-Uniformity (PRNU) pattern, a unique noise fingerprint inherent to every digital camera sensor. By comparing the PRNU of an image against a camera's known fingerprint, this tool can identify tampered regions (splicing, copy-move) that do not share the same origin. While typically used for source camera identification, local correlation analysis makes it a powerful forgery detector.
βοΈ Shadow Consistency Analysis (shadows.py)
A utility for verifying geometric consistency of shadows in an image. By projecting vanishing points, it helps determine if all shadows correspond to a single, coherent light source. This method is based on principles of perspective and can be useful for analyzing both traditional manipulations and AI-generated images.
βοΈ Getting Started
Prerequisites
- Python 3.10+
- pip
Installation
pip install -r requirements.txt
Run locally
python app.py
π Deploying to Hugging Face Spaces
This repo is ready for a Gradio Space.
- Set the Space SDK to: Gradio
- Set the entry point to:
app.py - Hardware: CPU is sufficient
The requirements.txt already includes all dependencies.