The offical repository of "So-Fake: Benchmarking and Explaining Social Media Image Forgery Detection"
Python
35
60 commits
updated Aug 1, 2026
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.
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.
(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.
We provide the So-Fake datasets and So-Fake-R1 model release through Hugging Face:
For platform-policy compliance, X and Instagram samples in So-Fake-OOD are released through source hyperlinks rather than redistributed image files.
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
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.
@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}
}
60 commits
Python
96.1%
Shell
3.9%
The offical repository of "So-Fake: Benchmarking and Explaining Social Media Image Forgery Detection"
Python
35
60 commits
updated Aug 1, 2026
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.
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.
(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.
We provide the So-Fake datasets and So-Fake-R1 model release through Hugging Face:
For platform-policy compliance, X and Instagram samples in So-Fake-OOD are released through source hyperlinks rather than redistributed image files.
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
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.
@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}
}
60 commits
Python
96.1%
Shell
3.9%