NOBODY204 commited on
Commit
a277df2
·
verified ·
1 Parent(s): 059fe78

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -8
app.py CHANGED
@@ -15,7 +15,7 @@ import cv2
15
 
16
  NOISE_THRESHOLD = 0.55
17
  FREQ_THRESHOLD = 500
18
- ELA_THRESHOLD = 0.25
19
  MIN_SIGNALS = 2
20
 
21
 
@@ -159,12 +159,21 @@ def detect_deepfake(img):
159
  ai_confidence += 20; signals_triggered += 1
160
  reasons.append(f"⚠️ Gradients trop lisses (ratio={gradient_ratio:.2f} < 1.2)")
161
 
162
- # S5Retouche locale
163
- if silent_ratio > 0.20 and inter_block_var > 0.08:
 
 
 
 
 
 
 
 
 
164
  ai_confidence += 30; signals_triggered += 1
165
  reasons.append(
166
- f"⚠️ Retouche locale — {silent_ratio*100:.0f}% zones sans bruit, "
167
- f"variance inter-blocs={inter_block_var:.3f}"
168
  )
169
 
170
  # S6 — Skin smoothing
@@ -253,8 +262,8 @@ def process(input_img):
253
  report += f" [S1] Bruit capteur corrigé : {noise_val:.3f} (seuil < {NOISE_THRESHOLD})\n"
254
  report += f" [S2] Pic FFT : {freq_val:.0f} (seuil > {FREQ_THRESHOLD})\n"
255
  report += f" [S3] ELA moyenne : {ela_val:.4f} (seuil < {ELA_THRESHOLD})\n"
256
- report += f" [S5] Zones sans bruit : {silent_ratio*100:.1f}% (seuil > 20%)\n"
257
- report += f" [S5] Variance inter-blocs : {inter_block_var:.3f} (seuil > 0.08)\n"
258
  if skin_ratio >= 0.02:
259
  report += f" [S6] Texture peau (std) : {skin_std:.1f} (seuil < 8.0, zone={skin_ratio*100:.0f}%)\n"
260
  else:
@@ -285,4 +294,4 @@ with gr.Blocks() as demo:
285
 
286
  run_btn.click(process, inputs=in_img, outputs=[out_plot, out_text])
287
 
288
- demo.launch(share=True, theme=gr.themes.Soft())
 
15
 
16
  NOISE_THRESHOLD = 0.55
17
  FREQ_THRESHOLD = 500
18
+ ELA_THRESHOLD = 0.30 # relevé de 0.25 → 0.30 pour attraper les retouches légères
19
  MIN_SIGNALS = 2
20
 
21
 
 
159
  ai_confidence += 20; signals_triggered += 1
160
  reasons.append(f"⚠️ Gradients trop lisses (ratio={gradient_ratio:.2f} < 1.2)")
161
 
162
+ # S5aTraitement IA global (Nano Banana, Gemini Edit, Remini…)
163
+ # > 55% zones silencieuses = bruit effacé globalement par un outil IA
164
+ # Nano Banana écrase le bruit uniformément donc inter_block_var reste faible
165
+ if silent_ratio > 0.55:
166
+ ai_confidence += 22; signals_triggered += 1
167
+ reasons.append(
168
+ f"⚠️ Traitement IA global — {silent_ratio*100:.0f}% zones sans bruit "
169
+ f"(seuil > 55%) — Nano Banana / Gemini Edit / filtre IA detecte"
170
+ )
171
+ # S5b — Composite / retouche par zone (fond remplace, objet insere)
172
+ elif silent_ratio > 0.20 and inter_block_var > 0.08:
173
  ai_confidence += 30; signals_triggered += 1
174
  reasons.append(
175
+ f"⚠️ Composite / retouche locale — {silent_ratio*100:.0f}% zones sans bruit, "
176
+ f"variance inter-blocs={inter_block_var:.3f} — masquage par zone"
177
  )
178
 
179
  # S6 — Skin smoothing
 
262
  report += f" [S1] Bruit capteur corrigé : {noise_val:.3f} (seuil < {NOISE_THRESHOLD})\n"
263
  report += f" [S2] Pic FFT : {freq_val:.0f} (seuil > {FREQ_THRESHOLD})\n"
264
  report += f" [S3] ELA moyenne : {ela_val:.4f} (seuil < {ELA_THRESHOLD})\n"
265
+ report += f" [S5a] Zones sans bruit : {silent_ratio*100:.1f}% (seuil > 55% global | > 20%+blocs pour composite)\n"
266
+ report += f" [S5b] Variance inter-blocs : {inter_block_var:.3f} (seuil > 0.08 si 20-55% silencieux)\n"
267
  if skin_ratio >= 0.02:
268
  report += f" [S6] Texture peau (std) : {skin_std:.1f} (seuil < 8.0, zone={skin_ratio*100:.0f}%)\n"
269
  else:
 
294
 
295
  run_btn.click(process, inputs=in_img, outputs=[out_plot, out_text])
296
 
297
+ demo.launch(share=True, theme=gr.themes.Soft())