Spaces:
Runtime error
Runtime error
import base64 | |
import json | |
import os, shutil | |
import re | |
import time | |
import uuid | |
import cv2 | |
import numpy as np | |
import streamlit as st | |
from PIL import Image | |
# from extract_video import extract_method_single_video | |
import shlex | |
import subprocess | |
from file_picker import st_file_selector | |
import os | |
from inference import classify_fake, heatmap_analysis | |
DEBUG = True | |
SAMPLE_FOLDER = 'examples' | |
def main(): | |
st.markdown("###") | |
uploaded_file = st.file_uploader('Upload a picture', type=['jpg', 'jpeg', 'png'], accept_multiple_files=False) | |
with st.spinner(f'Loading samples...'): | |
while not os.path.isdir(SAMPLE_FOLDER): | |
time.sleep(1) | |
st.markdown("### or") | |
selected_file = st_file_selector(st, path=SAMPLE_FOLDER, key = 'selected', label = 'Choose a sample image') | |
if uploaded_file: | |
img = Image.open(uploaded_file).convert('RGB') | |
st.image(img) | |
elif selected_file: | |
img = Image.open(os.path.join(SAMPLE_FOLDER, selected_file)).convert('RGB') | |
st.image(img) | |
else: | |
return | |
with st.spinner(f'Analyzing image...'): | |
try: | |
modified_probability = classify_fake(img) | |
except Exception as e: | |
if DEBUG: | |
st.write(e) | |
else: | |
st.text("Encountered a problem while analyzing image 🚨") | |
return | |
if modified_probability > 0.6: | |
st.error(' MODIFIED IMAGE! ', icon="🚨") | |
else: | |
st.success(" REAL IMAGE! ", icon="✅") | |
st.text("modified probability {:.2f}".format(modified_probability)) | |
if modified_probability > 0.6: | |
with st.spinner(f'Analyzing heatmap...'): | |
try: | |
modified, reverse, heatmap = heatmap_analysis(img) | |
except Exception as e: | |
if DEBUG: | |
st.write(e) | |
else: | |
st.text("Encountered a problem while analyzing image 🚨") | |
return | |
st.write("### Heatmap") | |
st.image(heatmap) | |
st.write("### Reversed stretch imgae") | |
st.image(reverse) | |
if __name__ == "__main__": | |
st.set_page_config( | |
page_title="Nodeflux Photosop Detection", page_icon=":pencil2:" | |
) | |
st.title("Photosop Detection") | |
main() |