saakshigupta commited on
Commit
5b83057
·
verified ·
1 Parent(s): 188aa2f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -50
app.py CHANGED
@@ -468,39 +468,6 @@ def preprocess_image_xception(image):
468
  input_tensor = transform(image).unsqueeze(0)
469
  return input_tensor, image, None
470
 
471
- # After the get_xception_transform function, add this function to use embedded sample images
472
-
473
- def get_embedded_sample_image(sample_name):
474
- """Return a sample image embedded in the code to avoid URL issues"""
475
- import base64
476
- from PIL import Image
477
- import io
478
-
479
- # These are base64 encoded small sample images to avoid URL fetching
480
- sample_images = {
481
- "Real face sample": "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
482
- ",
483
- "Likely deepfake sample": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/wAALCACAAIABAREA/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/9oACAEBAAA/APZc0UlFITUckyRjLMBVCfWbaLOXyfTNZtx4jt1/5aAj2zXO6p4wS3VmEm0Dr81cDrXxM1DcY7WMOw6qG
484
- ",
485
- "Neutral face sample": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxEQEhUQEhIVFRUXFxgWGBcVGBcXGBgYGBcYFhgXFRcYHSggGBolGxUVITEhJSkrLi4uFx8zODMtNygtLisBCgoKDg0OGxAQGy0mICUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLf/AABEIAQEAxAMBIgACEQEDEQH/
486
- "
487
- }
488
-
489
- if sample_name in sample_images:
490
- try:
491
- # Decode the base64 image
492
- image_bytes = base64.b64decode(sample_images[sample_name])
493
- # Create a PIL image from the bytes
494
- return Image.open(io.BytesIO(image_bytes))
495
- except Exception as e:
496
- st.error(f"Error loading embedded sample image: {e}")
497
- import traceback
498
- st.error(traceback.format_exc())
499
- else:
500
- st.error(f"Unknown sample image: {sample_name}")
501
-
502
- return None
503
-
504
  # Main app
505
  def main():
506
  # Initialize session state variables
@@ -583,7 +550,7 @@ def main():
583
  st.subheader("Upload an Image")
584
 
585
  # Add alternative upload methods
586
- upload_tab1, upload_tab2, upload_tab3 = st.tabs(["File Upload", "URL Input", "Sample Images"])
587
 
588
  uploaded_image = None
589
 
@@ -612,22 +579,6 @@ def main():
612
  except Exception as e:
613
  st.error(f"Error loading image from URL: {str(e)}")
614
 
615
- with upload_tab3:
616
- sample_options = [
617
- "Real face sample",
618
- "Likely deepfake sample",
619
- "Neutral face sample"
620
- ]
621
- selected_sample = st.selectbox("Select a sample image:", sample_options)
622
-
623
- if st.button("Load Sample"):
624
- with st.spinner(f"Loading sample image: {selected_sample}"):
625
- # Use the embedded sample function instead of URL fetching
626
- uploaded_image = get_embedded_sample_image(selected_sample)
627
- if uploaded_image is not None:
628
- st.session_state.upload_method = "sample"
629
- st.success("Sample image loaded successfully!")
630
-
631
  # If we have an uploaded image, process it
632
  if uploaded_image is not None:
633
  # Display the image
 
468
  input_tensor = transform(image).unsqueeze(0)
469
  return input_tensor, image, None
470
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
471
  # Main app
472
  def main():
473
  # Initialize session state variables
 
550
  st.subheader("Upload an Image")
551
 
552
  # Add alternative upload methods
553
+ upload_tab1, upload_tab2 = st.tabs(["File Upload", "URL Input"])
554
 
555
  uploaded_image = None
556
 
 
579
  except Exception as e:
580
  st.error(f"Error loading image from URL: {str(e)}")
581
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
  # If we have an uploaded image, process it
583
  if uploaded_image is not None:
584
  # Display the image