hzlsaber/So-Fake

The offical repository of "So-Fake: Benchmarking and Explaining Social Media Image Forgery Detection"

Python

35

60 commits

updated Aug 1, 2026

See the code

README

So-Fake: Benchmarking Social-Media Image Forgery Detection

arXiv PDF Huggingface Models Dataset

Zhenglin Huang, Xiangtai Li, Xi Yang, Bei Peng, Xiaowei Huang, Baoyuan Wu, Dacheng Tao, Ming-Hsuan Yang, Guangliang Cheng

Welcome to So-Fake, a benchmark and evidence-grounded framework for social-media image forgery detection.

In this work, we propose:

✅ One Dataset: So-Fake-Set, a large-scale training/validation corpus with approximately 2M images across 12 semantic categories and three authenticity scopes: REAL, FULL_SYNTHETIC, and TAMPERED.

✅ One Benchmark: So-Fake-OOD, a 100K held-out OOD benchmark with authentic images from Reddit, X, Instagram, Bluesky, and Tumblr, and forgeries from disjoint commercial generators.

✅ One Method: So-Fake-R1, an evidence-grounded framework that combines semantic observation, forensic anomaly evidence, an evidence gate, and selective Decision Maker arbitration.

Abstract

Generative models now produce synthetic images that are increasingly difficult to distinguish from authentic social-media content, threatening information integrity and public trust. Robust mitigation requires both representative benchmarks and reliable detectors, yet existing resources often lack broad social-media content, recent high-fidelity generators, joint protocols, and dedicated OOD evaluation.

We introduce So-Fake, a comprehensive benchmark for social-media image forgery detection. So-Fake-Set provides approximately 2M training and validation images across 12 semantic categories, spanning authentic images and forgeries generated by diverse synthesis and editing models. So-Fake-OOD provides a 100K held-out benchmark that combines authentic imagery from five social-media platforms with forgeries from disjoint commercial generators, approximating real deployment shifts. Under a unified three-way protocol over REAL, FULL_SYNTHETIC, and TAMPERED images, So-Fake jointly evaluates authenticity detection, tampered-region localization, and explanation in both in-domain and OOD settings.

We further present So-Fake-R1, an evidence-grounded framework with three roles: a Visual Observer for semantic cues, a Forensic Evidence Provider for low-level anomaly evidence, and a Decision Maker for selective arbitration. A deterministic evidence gate accepts sufficiently supported evidence directly and routes conflicting or weakly supported cases to the Decision Maker. Extensive experiments establish So-Fake as a challenging benchmark and show that So-Fake-R1 achieves strong OOD detection and localization while providing evidence-grounded explanations.

News

  • 🔥 (01-08-2026) We released the inference code for So-Fake-R1 and model download scripts.
  • 🔥 (01-08-2026) We update So-Fake-OOD.
  • 🔥 (29-10-2025) We are pleased to announce the release of So-Fake-Set.
  • 🔥 (23-05-2025) We are pleased to announce the release of So-Fake-OOD.

Overview

(a) So-Fake. So-Fake comprises So-Fake-Set (train/val) and So-Fake-OOD (test), spanning REAL, FULL_SYNTHETIC, and TAMPERED images for detection, localization, and explanation. (b) So-Fake-R1. So-Fake-R1 builds complementary Visual Observer and Forensic Evidence Provider records, then uses an Evidence Gate and a Decision Maker to produce the final authenticity label, forgery scope, localization, and explanation.

Dataset Access

We provide the So-Fake datasets and So-Fake-R1 model release through Hugging Face:

  1. So-Fake-Set
  2. So-Fake-OOD
  3. So-Fake-R1 model weights

For platform-policy compliance, X and Instagram samples in So-Fake-OOD are released through source hyperlinks rather than redistributed image files.

So-Fake-R1 Inference

We provide an inference-only release of So-Fake-R1 under sofake_r1/. It contains the runtime code, one example image, and scripts for downloading the released model weights.

pip install -r sofake_r1/requirements.txt
python sofake_r1/scripts/download_weights.py
export PY=/path/to/ms-swift-env/bin/python  # optional, if swift is not in default python
bash sofake_r1/scripts/infer_one_image.sh \
  sofake_r1/examples/example.jpg \
  outputs/sofake_r1_example

The example run produces the Visual Observer result, Forensic Evidence Provider result, evidence route, Decision Maker output, final label, bbox, and mask path in:

outputs/sofake_r1_example/sofake_r1_single_image_result.jsonl

Method

So-Fake-R1. The Visual Observer produces semantic evidence, the Forensic Evidence Provider derives low-level anomaly descriptors and support regions, and the Evidence Gate either directly accepts sufficiently supported records or routes hard cases to the Decision Maker for arbitration.

Generative Methods

Details of generative methods used in constructing So-Fake-Set and So-Fake-OOD. Column abbreviations: Set = So-Fake-Set, OOD = So-Fake-OOD, F = fully synthetic images, T = tampered images. Real data source abbreviations: F30k = Flickr30k, OI = OpenImages, OF = OpenForensics.

Visual Cases

Visual Cases of full synthetic images
Visual Cases of tampered images

Visual Output

Complete So-Fake-R1 routed-arbitration example

Citation

@misc{huang2026sofake,
      title={So-Fake: Benchmarking Social-Media Image Forgery Detection},
      author={Zhenglin Huang and Xiangtai Li and Xi Yang and Bei Peng and Xiaowei Huang and Baoyuan Wu and Dacheng Tao and Ming-Hsuan Yang and Guangliang Cheng},
      journal={arXiv preprint arXiv:2505.18660},
      year={2026}
}

Contributors

hzlsaber

60 commits

hzlsaber/So-Fake

The offical repository of "So-Fake: Benchmarking and Explaining Social Media Image Forgery Detection"

Python

35

60 commits

updated Aug 1, 2026

See the code

README

So-Fake: Benchmarking Social-Media Image Forgery Detection

arXiv PDF Huggingface Models Dataset

Zhenglin Huang, Xiangtai Li, Xi Yang, Bei Peng, Xiaowei Huang, Baoyuan Wu, Dacheng Tao, Ming-Hsuan Yang, Guangliang Cheng

Welcome to So-Fake, a benchmark and evidence-grounded framework for social-media image forgery detection.

In this work, we propose:

✅ One Dataset: So-Fake-Set, a large-scale training/validation corpus with approximately 2M images across 12 semantic categories and three authenticity scopes: REAL, FULL_SYNTHETIC, and TAMPERED.

✅ One Benchmark: So-Fake-OOD, a 100K held-out OOD benchmark with authentic images from Reddit, X, Instagram, Bluesky, and Tumblr, and forgeries from disjoint commercial generators.

✅ One Method: So-Fake-R1, an evidence-grounded framework that combines semantic observation, forensic anomaly evidence, an evidence gate, and selective Decision Maker arbitration.

Abstract

Generative models now produce synthetic images that are increasingly difficult to distinguish from authentic social-media content, threatening information integrity and public trust. Robust mitigation requires both representative benchmarks and reliable detectors, yet existing resources often lack broad social-media content, recent high-fidelity generators, joint protocols, and dedicated OOD evaluation.

We introduce So-Fake, a comprehensive benchmark for social-media image forgery detection. So-Fake-Set provides approximately 2M training and validation images across 12 semantic categories, spanning authentic images and forgeries generated by diverse synthesis and editing models. So-Fake-OOD provides a 100K held-out benchmark that combines authentic imagery from five social-media platforms with forgeries from disjoint commercial generators, approximating real deployment shifts. Under a unified three-way protocol over REAL, FULL_SYNTHETIC, and TAMPERED images, So-Fake jointly evaluates authenticity detection, tampered-region localization, and explanation in both in-domain and OOD settings.

We further present So-Fake-R1, an evidence-grounded framework with three roles: a Visual Observer for semantic cues, a Forensic Evidence Provider for low-level anomaly evidence, and a Decision Maker for selective arbitration. A deterministic evidence gate accepts sufficiently supported evidence directly and routes conflicting or weakly supported cases to the Decision Maker. Extensive experiments establish So-Fake as a challenging benchmark and show that So-Fake-R1 achieves strong OOD detection and localization while providing evidence-grounded explanations.

News

  • 🔥 (01-08-2026) We released the inference code for So-Fake-R1 and model download scripts.
  • 🔥 (01-08-2026) We update So-Fake-OOD.
  • 🔥 (29-10-2025) We are pleased to announce the release of So-Fake-Set.
  • 🔥 (23-05-2025) We are pleased to announce the release of So-Fake-OOD.

Overview

(a) So-Fake. So-Fake comprises So-Fake-Set (train/val) and So-Fake-OOD (test), spanning REAL, FULL_SYNTHETIC, and TAMPERED images for detection, localization, and explanation. (b) So-Fake-R1. So-Fake-R1 builds complementary Visual Observer and Forensic Evidence Provider records, then uses an Evidence Gate and a Decision Maker to produce the final authenticity label, forgery scope, localization, and explanation.

Dataset Access

We provide the So-Fake datasets and So-Fake-R1 model release through Hugging Face:

  1. So-Fake-Set
  2. So-Fake-OOD
  3. So-Fake-R1 model weights

For platform-policy compliance, X and Instagram samples in So-Fake-OOD are released through source hyperlinks rather than redistributed image files.

So-Fake-R1 Inference

We provide an inference-only release of So-Fake-R1 under sofake_r1/. It contains the runtime code, one example image, and scripts for downloading the released model weights.

pip install -r sofake_r1/requirements.txt
python sofake_r1/scripts/download_weights.py
export PY=/path/to/ms-swift-env/bin/python  # optional, if swift is not in default python
bash sofake_r1/scripts/infer_one_image.sh \
  sofake_r1/examples/example.jpg \
  outputs/sofake_r1_example

The example run produces the Visual Observer result, Forensic Evidence Provider result, evidence route, Decision Maker output, final label, bbox, and mask path in:

outputs/sofake_r1_example/sofake_r1_single_image_result.jsonl

Method

So-Fake-R1. The Visual Observer produces semantic evidence, the Forensic Evidence Provider derives low-level anomaly descriptors and support regions, and the Evidence Gate either directly accepts sufficiently supported records or routes hard cases to the Decision Maker for arbitration.

Generative Methods

Details of generative methods used in constructing So-Fake-Set and So-Fake-OOD. Column abbreviations: Set = So-Fake-Set, OOD = So-Fake-OOD, F = fully synthetic images, T = tampered images. Real data source abbreviations: F30k = Flickr30k, OI = OpenImages, OF = OpenForensics.

Visual Cases

Visual Cases of full synthetic images
Visual Cases of tampered images

Visual Output

Complete So-Fake-R1 routed-arbitration example

Citation

@misc{huang2026sofake,
      title={So-Fake: Benchmarking Social-Media Image Forgery Detection},
      author={Zhenglin Huang and Xiangtai Li and Xi Yang and Bei Peng and Xiaowei Huang and Baoyuan Wu and Dacheng Tao and Ming-Hsuan Yang and Guangliang Cheng},
      journal={arXiv preprint arXiv:2505.18660},
      year={2026}
}

Contributors

hzlsaber

60 commits

Languages

Python

96.1%

Shell

3.9%