Spaces:
Sleeping
Sleeping
import requests | |
import zipfile | |
import gradio as gr | |
from src.examples import audio_examples_tab, examples_tab | |
from src.mk_attacks_variations import mk_audio_variations, mk_image_variations | |
from src.mk_leaderboard import mk_leaderboard | |
from pathlib import Path | |
abs_path = Path(__file__).parent | |
with gr.Blocks(theme=gr.themes.Base()) as demo: | |
gr.Markdown( | |
""" | |
# 🥇 Omni Seal Bench Watermarking Leaderboard | |
""" | |
) | |
with gr.Tabs(): | |
with gr.Tab("Audio"): | |
gr.Markdown( | |
""" | |
### Performance on Ravdess dataset | |
""" | |
) | |
mk_leaderboard( | |
abs_path / "data/audio_benchmark.csv", | |
default_selection=[ | |
"TimeDomain_bit_acc", | |
"AmplitudeDomain_bit_acc", | |
"identity_snr", | |
"identity_bit_acc", | |
"identity_detect_prob", | |
"avg_bit_acc", | |
"avg_tn_bit_acc", | |
"avg_detect_prob", | |
"avg_tn_detect_prob", | |
], | |
core_columns=["model", "snr"], | |
filter_columns=["model"], | |
search_columns=["model"], | |
categories={ | |
"speed": "Time", | |
"updownresample": "Time", | |
"echo": "Time", | |
"random_noise": "Amplitude", | |
"lowpass_filter": "Amplitude", | |
"highpass_filter": "Amplitude", | |
"bandpass_filter": "Amplitude", | |
"smooth": "Amplitude", | |
"boost_audio": "Amplitude", | |
"duck_audio": "Amplitude", | |
"shush": "Amplitude", | |
}, | |
) | |
mk_audio_variations(abs_path / "data/audio_attacks_variations.csv") | |
with gr.Tab("Image"): | |
gr.Markdown( | |
""" | |
### Performance on Val2014 dataset | |
""" | |
) | |
mk_leaderboard( | |
abs_path / "data/image_benchmark.csv", | |
default_selection=[ | |
"Visual_bit_acc", | |
"Geometric_bit_acc", | |
"Compression_bit_acc", | |
"Inpainting_bit_acc", | |
"Mixed_bit_acc", | |
"avg_bit_acc", | |
"avg_p_value", | |
"avg_word_acc", | |
], | |
core_columns=[ | |
"model", | |
"psnr", | |
"ssim", | |
"lpips", | |
], | |
filter_columns=[ | |
"model", | |
], | |
search_columns=["model"], | |
categories={ | |
"proportion": "Geometric", | |
"collage": "Inpainting", | |
"crop": "Geometric", | |
"rot": "Geometric", | |
"jpeg": "Compression", | |
"brightness": "Visual", | |
"contrast": "Visual", | |
"saturation": "Visual", | |
"sharpness": "Visual", | |
"resize": "Geometric", | |
"overlay_text": "Inpainting", | |
"hflip": "Geometric", | |
"perspective": "Geometric", | |
"median_filter": "Visual", | |
"hue": "Visual", | |
"gaussian_blur": "Visual", | |
"comb": "Mixed", | |
"avg": "Averages", | |
"none": "Baseline", | |
}, | |
) | |
mk_image_variations(abs_path / "data/image_attacks_variations.csv") | |
with gr.Tab("Image examples"): | |
examples_tab(abs_path) | |
with gr.Tab("Audio examples"): | |
audio_examples_tab(abs_path) | |
with gr.Tab("Docs"): | |
README_URL = "https://raw.githubusercontent.com/facebookresearch/omnisealbench/refs/heads/main/README.md" | |
def fetch_readme(): | |
response = requests.get(README_URL, timeout=4) | |
if response.status_code == 200: | |
return response.text | |
else: | |
return "Failed to fetch README.md. Please check the URL or try again later." | |
# Define the Gradio interface | |
gr.Markdown(fetch_readme()) | |
if __name__ == "__main__": | |
demo.launch(ssr_mode=False) | |