import numpy as np import cv2 import gradio as gr from tensorflow.keras.utils import img_to_array from tensorflow.keras.models import load_model import os model = load_model(r'deepfake_detection_model.h5') def predict_image(img): x = img_to_array(img) x = cv2.resize(x, (256, 256), interpolation=cv2.INTER_AREA) x /= 255.0 x = np.expand_dims(x, axis=0) prediction = np.argmax(model.predict(x), axis=1) if prediction == 0: return 'Fake Image' else: return 'Real Image' # Define the Gradio Interface with the desired title and description description_html = """
This model was trained by Rudolf Enyimba in partial fulfillment of the requirements of Solent University for the degree of MSc Artificial Intelligence and Data Science
This model was trained to detect deepfake images.
The model achieved an accuracy of 91% on the test set.
Upload a face image or pick from the samples below to test model accuracy
""" # Define example images and their true labels for users to choose from example_data = ['AI POPE.jpg'] gr.Interface( fn=predict_image, inputs="image", outputs=gr.Label(num_top_classes=15,min_width=360), title="Deepfake Image Detection(CNN)", description=description_html, allow_flagging='never', examples=example_data ).launch()