File size: 4,514 Bytes
57f7624
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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)