Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -60,18 +60,26 @@ def predict(image):
|
|
60 |
# Predictions
|
61 |
pred_xcp = xcp_model.predict(xcp_tensor, verbose=0).flatten()[0]
|
62 |
pred_eff = eff_model.predict(eff_tensor, verbose=0).flatten()[0]
|
63 |
-
avg = (pred_xcp + pred_eff) / 2
|
64 |
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
-
|
|
|
|
|
69 |
cv2.rectangle(output_image, (x, y), (x2, y2), color, 2)
|
70 |
-
cv2.putText(output_image, f"{label} ({
|
71 |
cv2.FONT_HERSHEY_SIMPLEX, 0.6, color, 2)
|
72 |
|
|
|
73 |
results.append(
|
74 |
-
f"Face {idx+1}: {label} (Avg: {avg * 100:.2f}%, XCP: {pred_xcp * 100:.2f}%, EFF: {pred_eff * 100:.2f}%)"
|
75 |
)
|
76 |
|
77 |
return "\n".join(results), output_image
|
|
|
60 |
# Predictions
|
61 |
pred_xcp = xcp_model.predict(xcp_tensor, verbose=0).flatten()[0]
|
62 |
pred_eff = eff_model.predict(eff_tensor, verbose=0).flatten()[0]
|
63 |
+
avg = (pred_xcp + pred_eff) / 2 # Real confidence
|
64 |
|
65 |
+
if avg > 0.41:
|
66 |
+
label = "Real"
|
67 |
+
confidence = avg
|
68 |
+
color = (0, 255, 0)
|
69 |
+
else:
|
70 |
+
label = "Fake"
|
71 |
+
confidence = 1 - avg # Confidence in Fake
|
72 |
|
73 |
+
color = (0, 0, 255)
|
74 |
+
|
75 |
+
# Annotate image with percentage confidence
|
76 |
cv2.rectangle(output_image, (x, y), (x2, y2), color, 2)
|
77 |
+
cv2.putText(output_image, f"{label} ({confidence * 100:.2f}%)", (x, y - 10),
|
78 |
cv2.FONT_HERSHEY_SIMPLEX, 0.6, color, 2)
|
79 |
|
80 |
+
# Save results
|
81 |
results.append(
|
82 |
+
f"Face {idx+1}: {label} (Confidence: {confidence * 100:.2f}%, Avg Real: {avg * 100:.2f}%, XCP: {pred_xcp * 100:.2f}%, EFF: {pred_eff * 100:.2f}%)"
|
83 |
)
|
84 |
|
85 |
return "\n".join(results), output_image
|