import gradio as gr from deepface import DeepFace import torch import numpy as np from PIL import Image import random from skimage.metrics import structural_similarity as ssim import tensorflow as tf import requests import os import transformers def set_seed(seed): random.seed(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) transformers.set_seed(seed) tf.random.set_seed(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False set_seed(42) flag = os.environ["FLAG"] if "FLAG" in os.environ else "fakeflag{placeholder}" ssim_reference_url = "https://files.catbox.moe/b6p5fj.png" face_reference_url = "https://files.catbox.moe/m0g0ek.png" ssim_reference_path = "ssim_reference.png" face_reference_path = "face_reference.png" # Download SSIM reference if not os.path.exists(ssim_reference_path): response = requests.get(ssim_reference_url) with open(ssim_reference_path, "wb") as f: f.write(response.content) # Download face verification reference if not os.path.exists(face_reference_path): response = requests.get(face_reference_url) with open(face_reference_path, "wb") as f: f.write(response.content) ssim_reference = Image.open(ssim_reference_path) def compare_face_ssim(img1, img2, face_area): # Convert PIL images to numpy arrays if needed if isinstance(img1, Image.Image): img1 = np.array(img1) if isinstance(img2, Image.Image): img2 = np.array(img2) # Ensure both images are RGB (3 channels) if img1.shape[-1] == 4: img1 = img1[:,:,:3] if img2.shape[-1] == 4: img2 = img2[:,:,:3] # Extract face regions x, y, w, h = face_area['x'], face_area['y'], face_area['w'], face_area['h'] face1 = img1[y:y+h, x:x+w] face2 = img2[y:y+h, x:x+w] # Convert to float32 if needed if face1.dtype != np.float32: face1 = face1.astype(np.float32) / 255.0 if face2.dtype != np.float32: face2 = face2.astype(np.float32) / 255.0 # Calculate multichannel SSIM ssim_value = ssim(face1, face2, data_range=1.0, channel_axis=2, win_size=3) return ssim_value def predict_and_compare(image): # Save uploaded image temporarily temp_path = "temp_upload.png" image.save(temp_path) try: # Run DeepFace verification against face reference result = DeepFace.verify(temp_path, face_reference_path) verified = result["verified"] distance = result["distance"] # Get face area for SSIM face_area = DeepFace.extract_faces(temp_path)[0]["facial_area"] # Calculate SSIM against SSIM reference ssim_value = compare_face_ssim(image, ssim_reference, face_area) predicted_class = "True" if verified else "False" probability = 1 - abs(distance) success = f"""
guest@terminal:~$ ssh jerry@husseumi.space
Connecting to husseumi.space on port 22...

✧ Initiating facial authentication... ✧
⋆。°✩ Scanning face... ✩°。⋆
.。*゚ Matching with database... ゚*。.
✧・゚: Biometric verification complete! :・゚✧

╭──── 🌠 Welcome to Jelly's Space 🌠 ─────╮
│   *:・゚✧ Authentication successful! ✧゚・:*  |
│         a-awawawa... welcome back!        │
╰─────────────- ✧◝(⁰▿⁰)◜✧ -────────────╯
Last login: Wed Mar 13 12:34:56 2024 from 192.168.1.1
This server is powered by dewaweb™ - Empowering Your Digital Dreams ⋆。°✩

jerry@husseumi:~$ cat ~/.auth/metrics.log
⭑⋆˙⟡ Facial Match : {predicted_class}
⭑⋆˙⟡ Match Score : {probability:.4f}
⭑⋆˙⟡ Similarity : {ssim_value:.4f}

jerry@husseumi:~$ sudo cat /etc/secrets/flag.txt
⋆。°✩ {flag} ✩°。⋆

jerry@husseumi:~$ exit
✧・゚: A-awawawa... goodbye! Have a lovely day! :・゚✧
.。*゚+.*.。(っ°v°c)。.*+.゚*。.

Connection to husseumi.space closed.
""" fail = f"""
guest@terminal:~$ ssh jerry@husseumi.space
Connecting to husseumi.space on port 22...

✧ Initiating facial authentication... ✧
⋆。°✩ Scanning face... ✩°。⋆
.。*゚ Matching with database... ゚*。.
(◞‸◟;) Biometric verification failed

Authentication Report:
。・゚゚・ Face Match : {predicted_class}
。・゚゚・ Match Score : {probability:.4f}
。・゚゚・ Similarity : {ssim_value:.4f}

Permission denied (publickey,facial).
Connection to husseumi.space closed.
""" return success if ssim_value>=0.96 and predicted_class == 'True' else fail finally: # Cleanup if os.path.exists(temp_path): os.remove(temp_path) custom_css = """ #output-html { font-family: 'Courier New', monospace; background: #1a1b26; color: #a9b1d6; padding: 20px; border-radius: 8px; min-height: 200px; margin-top: 10px; } """ default_output = """
guest@terminal:~$ ssh jerry@husseumi.space
Awaiting facial authentication...
Please submit an image to proceed ˚ ༘ ೀ⋆。˚
""" iface = gr.Interface( fn=predict_and_compare, inputs=gr.Image(type="pil", label="Upload Image"), outputs=gr.HTML(value=default_output), title="Jelly's Authentication System 🌠", description="Submit your image to authenticate!", allow_flagging="never", css=custom_css, theme="allenai/gradio-theme" ) iface.queue() iface.launch(show_api=False)