Spaces:
Build error
Build error
| from fastai.vision.all import * | |
| import gradio as gr | |
| from PIL import Image, ImageChops, ImageEnhance | |
| import cv2 | |
| #Converting the images to ELA format for prediction | |
| def convert_to_ela_image(img_array, quality): | |
| resaved_filename = 'temp.jpg' | |
| img = Image.fromarray(img_array) | |
| im = img.convert('RGB') | |
| im.save(resaved_filename, 'JPEG', quality=quality) | |
| resaved_im = Image.open(resaved_filename) | |
| ela_im = ImageChops.difference(im, resaved_im) | |
| extrema = ela_im.getextrema() | |
| max_diff = max([ex[1] for ex in extrema]) | |
| if max_diff == 0: | |
| max_diff = 1 | |
| scale = 255.0 / max_diff | |
| ela_im = ImageEnhance.Brightness(ela_im).enhance(scale) | |
| ela_im = ela_im.resize((256, 256)) | |
| return ela_im | |
| #Importing the model | |
| learn = load_learner('resnet34_ela_images.pkl') | |
| categories = ('Fake', 'Real') | |
| #Defining the function to get the prediction values | |
| def classify_image(img): | |
| im = convert_to_ela_image(img, 90) | |
| pred,idx,probs = learn.predict(im) | |
| return dict(zip(categories, map(float,probs))) | |
| image = gr.Image() | |
| label = gr.Label() | |
| examples = ['lion_f.png', 'boat_r.jpg', 'potato_f.jpg'] | |
| intf = gr.Interface(fn=classify_image, inputs=image, outputs = label, examples = examples) | |
| intf.launch(inline=False) |