Spaces:
Running
Running
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
|