adarshcod30 commited on
Commit
d4cc7bd
·
verified ·
1 Parent(s): 48caf7e

State the scope limit: face swaps, not AI-generated images

Browse files
Files changed (1) hide show
  1. README.md +18 -1
README.md CHANGED
@@ -11,6 +11,19 @@ A multi-backbone CNN ensemble that classifies face crops as **Real** or
11
  **Fake**. Backbones: resnet50, vgg16, efficientnetv2b0. Their pooled embeddings are
12
  concatenated and read by a shared classifier head.
13
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  ## Output
15
 
16
  A single sigmoid: **P(Real)**. Fake is `1 - p`.
@@ -80,11 +93,15 @@ Accuracy with a single degradation family applied to the whole test set, one at
80
 
81
  ## Limitations
82
 
 
 
 
83
  - Trained on **face crops**. Behaviour on full scenes or non-face images is
84
  undefined.
85
  - A score near the threshold is not evidence. Treat the margin as part of
86
  the output.
87
- - Performance degrades on manipulation methods absent from OpenForensics.
 
88
  - Research and educational use. Not a forensic authority.
89
  - **Validation tracks test closely.** Recall on genuine images at threshold 0.5 is 0.986 on validation and 0.961 on test — a gap of 0.025. The 10th percentile of scores on genuine images is 0.977 and 0.830 respectively, so the operating point fitted on validation transfers. This is a property of the corruption-matched augmentation, not of the benchmark.
90
 
 
11
  **Fake**. Backbones: resnet50, vgg16, efficientnetv2b0. Their pooled embeddings are
12
  concatenated and read by a shared classifier head.
13
 
14
+ > ### ⚠️ Scope: face swaps, not AI-generated images
15
+ >
16
+ > Trained on OpenForensics, where a fake is a GAN face **Poisson-blended into
17
+ > a real photograph**. The model therefore looks for the *seam* left by that
18
+ > compositing. An image generated whole by a diffusion model — ChatGPT,
19
+ > Gemini, Midjourney, Stable Diffusion — has no seam, and this model calls it
20
+ > genuine: measured on ChatGPT and Gemini output, **10 of 10 were classified
21
+ > as Real, most scoring above 0.999**.
22
+ >
23
+ > **A high `probability_real` is not evidence that an image is not
24
+ > AI-generated.** For that you need a synthetic-image detector, which is a
25
+ > different problem with different features.
26
+
27
  ## Output
28
 
29
  A single sigmoid: **P(Real)**. Fake is `1 - p`.
 
93
 
94
  ## Limitations
95
 
96
+ - **Face swaps only.** See the scope notice above: fully AI-generated images
97
+ are outside what this model can detect, and it reports them as genuine with
98
+ high confidence.
99
  - Trained on **face crops**. Behaviour on full scenes or non-face images is
100
  undefined.
101
  - A score near the threshold is not evidence. Treat the margin as part of
102
  the output.
103
+ - Performance degrades on manipulation methods absent from OpenForensics,
104
+ which was released in 2021 and predates current diffusion generators.
105
  - Research and educational use. Not a forensic authority.
106
  - **Validation tracks test closely.** Recall on genuine images at threshold 0.5 is 0.986 on validation and 0.961 on test — a gap of 0.025. The 10th percentile of scores on genuine images is 0.977 and 0.830 respectively, so the operating point fitted on validation transfers. This is a property of the corruption-matched augmentation, not of the benchmark.
107