SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2408.09153 · 2024

Are CLIP features all you need for Universal Synthetic Image Origin Attribution?

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 13 functions out of this paper's own repositories and ran 10 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
ciodar/universalattribution canonical 10 of 13
FunctionStatusWhere it lives
collate_fn Ran ciodar/universalattribution/utils/common.py
pointer only (licence: NONE) · get_code("12c09a1a10ca585d")
create_logger Ran ciodar/universalattribution/utils/logger.py
pointer only (licence: NONE) · get_code("281336a57d89d2f5")
deep_update Ran ciodar/universalattribution/utils/config.py
pointer only (licence: NONE) · get_code("abec4902fd36544a")
evaluate_multiclass Ran ciodar/universalattribution/utils/evaluation.py
pointer only (licence: NONE) · get_code("07dcafe48b5005f4")
extract_features Ran ciodar/universalattribution/utils/feature_extraction.py
pointer only (licence: NONE) · get_code("5c806edc39b7b930")
get_curve_online Ran ciodar/universalattribution/utils/evaluation.py
pointer only (licence: NONE) · get_code("4411abd157c1879b")
get_feature_extractor Ran ciodar/universalattribution/utils/feature_extraction.py
pointer only (licence: NONE) · get_code("e829384ae5bbe7ec")
load_config Ran ciodar/universalattribution/utils/common.py
pointer only (licence: NONE) · get_code("ff3e80b5a6bf461f")
read_annotations Ran ciodar/universalattribution/utils/common.py
pointer only (licence: NONE) · get_code("ce24138500c16e6a")
update Ran ciodar/universalattribution/utils/config.py
pointer only (licence: NONE) · get_code("3d5ab682980fa9db")
create_linear_input Not yet run ciodar/universalattribution/utils/feature_extraction.py
pointer only (licence: NONE) · get_code("819d24b6de4ea149")
metric_ood Not yet run ciodar/universalattribution/utils/evaluation.py
pointer only (licence: NONE) · get_code("113fc8a663ad687e")
parse_data_str Not yet run ciodar/universalattribution/utils/config.py
pointer only (licence: NONE) · get_code("027bced136403def")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

The steady improvement of Diffusion Models for visual synthesis has given rise to many new and interesting use cases of synthetic images but also has raised concerns about their potential abuse, which poses significant societal threats. To address this, fake images need to be detected and attributed to their source model, and given the frequent release of new generators, realistic applications need to consider an Open-Set scenario where some models are unseen at training time. Existing forensic techniques are either limited to Closed-Set settings or to GAN-generated images, relying on fragile frequency-based "fingerprint" features. By contrast, we propose a simple yet effective framework that incorporates features from large pre-trained foundation models to perform Open-Set origin attribution of synthetic images produced by various generative models, including Diffusion Models. We show that our method leads to remarkable attribution performance, even in the low-data regime, exceeding the performance of existing methods and generalizes better on images obtained from a diverse set of architectures. We make the code publicly available at: https://github.com/ciodar/UniversalAttribution.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2408.09153")
get_code_for_paper("2408.09153")
have("2408.09153")

Connect an agent — have() is free.