DeepReality

DeepReality: Layer 2 detector weights

Trained weights for the Layer 2 detection core of DeepReality, a six-layer forensic system for detecting AI-generated and manipulated imagery.

Source code, documentation and the full pipeline: https://github.com/OmerKurtulus/DeepReality

These files are the three detectors that were trained for the project. They are not a standalone classifier: DeepReality reads them as three of fifteen independent analysis modules, and its verdict is produced by a reasoning layer that weighs them against documentary provenance, compression physics and localisation evidence. Used alone, they carry the limitations described below.

Files

File Pin Size Architecture
pin_b1_clip_ln_tune_final.pt PIN-B1 1.6 GB CLIP ViT-L/14, frozen backbone with LayerNorm tuning
pin_b2_siglip2_finetune_final.pt PIN-B2 1.4 GB SigLIP2-base-patch16-512, full fine-tune
pin_b3_freq_cnn_final.pt PIN-B3 19 MB Frequency CNN over DCT/DWT maps, trained from scratch

Two further models complete the detection core and are not hosted here. PIN-B4 is a public third-party checkpoint (prithivMLmods/AI-vs-Deepfake-vs-Real-Siglip2), and the PIN-F1 XGBoost meta-learner is small enough to be tracked directly in the GitHub repository.

Usage

Download the three files into the models/ directory of a DeepReality clone:

git clone https://github.com/OmerKurtulus/DeepReality.git
cd DeepReality

hf download OmerKurtulus/deepreality-models --local-dir models

PIN-B1 and PIN-B2 additionally fetch their base architectures from the Hub on first run. Placement instructions and the remaining setup are in models/README.md.

The system these weights belong to

A single image taken through all fifteen pins. Every figure is the output of one real pipeline run, not an illustration. PIN-B1, PIN-B2 and PIN-B3 are the three detectors hosted in this repository; the verdict is not theirs to make.

Worked example

Note what happens in that run. The four detectors agree at a mean of 0.932, and the reasoning layer still decides on the C2PA manifest instead, lowers its own confidence because the signing certificate had expired, and flags that three of the four detectors share a training corpus, so their agreement is correlated rather than independent.

Training data

All three detectors were trained on OpenDeepfake-Preview, 20,000 images.

Reported performance

Held-out results on the training corpus:

Pin Accuracy ROC-AUC
PIN-B1 99.77% 0.9997
PIN-B2 99.97% 1.0000
PIN-B3 96.50% 0.9923

Limitations, and why they matter

Read the figures above as in-distribution performance. They do not survive a change of corpus. Measured on ComplexDataLab/OpenFake the same detectors fall to 0.51 to 0.84 ROC-AUC. On Hemg/deepfake-and-real-images all four sit at chance, and PIN-B3 is anti-correlated with the label, which is worse than noise because a downstream fusion stage learns to trust it backwards.

This generalisation gap is the reason DeepReality exists. A single detector reporting 99% on its own benchmark tells you very little about an unseen generator, which is why the system combines paradigms that fail differently and subordinates all of them to documentary provenance when provenance is present.

The only figure measured by cross-validation on a corpus none of these detectors saw in training is the Layer 6 meta-learner: ROC-AUC 0.8846 at an Expected Calibration Error of 0.0203. That is the conservative number, and the one to quote.

Intended use. Research and assistive review. These weights should not be used as the sole basis for a consequential decision about a specific image or person.

Licence and citation

Released under the MIT licence. If you use this work, please cite it:

@software{kurtulus2026deepreality,
  author  = {Kurtulus, Omer Faruk},
  title   = {DeepReality: PIN Architecture for Multi-Layer AI Image Forensics},
  year    = {2026},
  url     = {https://github.com/OmerKurtulus/DeepReality},
  license = {MIT}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for OmerKurtulus/deepreality-models

Finetuned
(19)
this model