|
|
import streamlit as st
|
|
|
import numpy as np
|
|
|
from tensorflow.keras.models import load_model
|
|
|
from PIL import Image
|
|
|
|
|
|
import os
|
|
|
os.system("pip install tensorflow")
|
|
|
|
|
|
from tensorflow.keras.models import load_model
|
|
|
|
|
|
|
|
|
model = load_model("xception_deepfake_image.h5")
|
|
|
|
|
|
|
|
|
st.title("DeepFake Image Detector")
|
|
|
|
|
|
|
|
|
uploaded_file = st.file_uploader("Upload an image...", type=["jpg", "png", "jpeg"])
|
|
|
|
|
|
if uploaded_file is not None:
|
|
|
image = Image.open(uploaded_file)
|
|
|
st.image(image, caption="Uploaded Image", use_column_width=True)
|
|
|
|
|
|
|
|
|
image = image.resize((256, 256))
|
|
|
image = np.array(image) / 255.0
|
|
|
image = np.expand_dims(image, axis=0)
|
|
|
|
|
|
|
|
|
prediction = model.predict(image)
|
|
|
result = "FAKE" if prediction > 0.5 else "REAL"
|
|
|
|
|
|
st.write(f"**Prediction:** {result}")
|
|
|
|