alexmourachko
Initial commit
57f7624
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)