Spaces:
Running
Running
Commit
·
3344287
1
Parent(s):
6853b5a
update v1.1
Browse files- .gitattributes +1 -1
- README.md +1 -1
- app.py +7 -2
- constants.py +18 -14
- file_v1.0/app.py +588 -0
- file_v1.0/constants.py +101 -0
- {file → file_v1.0}/model_name_Open-Domain.json +0 -0
- {file → file_v1.0}/results_Human-Domain.csv +1 -1
- {file → file_v1.0}/results_Open-Domain.csv +1 -1
- {file → file_v1.0}/results_Single-Domain.csv +1 -1
- file_v1.1/model_name_Open-Domain.json +10 -0
- file_v1.1/results_Human-Domain.csv +20 -0
- file_v1.1/results_Open-Domain.csv +11 -0
- file_v1.1/results_Single-Domain.csv +12 -0
.gitattributes
CHANGED
|
@@ -34,4 +34,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 34 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 36 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 37 |
-
OpenS2V-Nexus_logo.png filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 34 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 36 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
OpenS2V-Nexus_logo.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -25,7 +25,7 @@ thumbnail: >-
|
|
| 25 |
**OpenS2V-Eval** introduces 180 prompts from seven major categories of S2V, which incorporate both real and synthetic test data. Furthermore,
|
| 26 |
to accurately align human preferences with S2V benchmarks, we propose three automatic metrics: **NexusScore**, **NaturalScore**, **GmeScore**
|
| 27 |
to separately quantify subject consistency, naturalness, and text relevance in generated videos. Building on this, we conduct a comprehensive
|
| 28 |
-
evaluation of
|
| 29 |
|
| 30 |
## 📣 Evaluate Your Own Models
|
| 31 |
For how to evaluate your customized model like OpenS2V-Eval in the [OpenS2V-Nexus paper](https://huggingface.co/papers/2505.20292), please refer to [here](https://github.com/PKU-YuanGroup/OpenS2V-Nexus/tree/main/eval).
|
|
|
|
| 25 |
**OpenS2V-Eval** introduces 180 prompts from seven major categories of S2V, which incorporate both real and synthetic test data. Furthermore,
|
| 26 |
to accurately align human preferences with S2V benchmarks, we propose three automatic metrics: **NexusScore**, **NaturalScore**, **GmeScore**
|
| 27 |
to separately quantify subject consistency, naturalness, and text relevance in generated videos. Building on this, we conduct a comprehensive
|
| 28 |
+
evaluation of 18 representative S2V models, highlighting their strengths and weaknesses across different content.
|
| 29 |
|
| 30 |
## 📣 Evaluate Your Own Models
|
| 31 |
For how to evaluate your customized model like OpenS2V-Eval in the [OpenS2V-Nexus paper](https://huggingface.co/papers/2505.20292), please refer to [here](https://github.com/PKU-YuanGroup/OpenS2V-Nexus/tree/main/eval).
|
app.py
CHANGED
|
@@ -41,7 +41,8 @@ def compute_scores(input_data):
|
|
| 41 |
[
|
| 42 |
input_data["total_score"],
|
| 43 |
input_data["aes_score"],
|
| 44 |
-
input_data["
|
|
|
|
| 45 |
input_data["facesim_cur"],
|
| 46 |
input_data["gme_score"],
|
| 47 |
input_data["nexus_score"],
|
|
@@ -56,7 +57,8 @@ def compute_scores_human_domain(input_data):
|
|
| 56 |
[
|
| 57 |
input_data["total_score"],
|
| 58 |
input_data["aes_score"],
|
| 59 |
-
input_data["
|
|
|
|
| 60 |
input_data["facesim_cur"],
|
| 61 |
input_data["gme_score"],
|
| 62 |
input_data["natural_score"],
|
|
@@ -125,6 +127,7 @@ def add_opendomain_eval(
|
|
| 125 |
f"{input_data[4] * 100:.2f}%",
|
| 126 |
f"{input_data[5] * 100:.2f}%",
|
| 127 |
f"{input_data[6] * 100:.2f}%",
|
|
|
|
| 128 |
]
|
| 129 |
csv_data.loc[col] = new_data
|
| 130 |
csv_data.to_csv(CSV_DIR_OPEN_DOMAIN_RESULTS, index=False)
|
|
@@ -191,6 +194,7 @@ def add_humandomain_eval(
|
|
| 191 |
f"{input_data[3] * 100:.2f}%",
|
| 192 |
f"{input_data[4] * 100:.2f}%",
|
| 193 |
f"{input_data[5] * 100:.2f}%",
|
|
|
|
| 194 |
]
|
| 195 |
csv_data.loc[col] = new_data
|
| 196 |
csv_data.to_csv(CSV_DIR_HUMAN_DOMAIN_RESULTS, index=False)
|
|
@@ -258,6 +262,7 @@ def add_singledomain_eval(
|
|
| 258 |
f"{input_data[4] * 100:.2f}%",
|
| 259 |
f"{input_data[5] * 100:.2f}%",
|
| 260 |
f"{input_data[6] * 100:.2f}%",
|
|
|
|
| 261 |
]
|
| 262 |
csv_data.loc[col] = new_data
|
| 263 |
csv_data.to_csv(CSV_DIR_SINGLE_DOMAIN_RESULTS, index=False)
|
|
|
|
| 41 |
[
|
| 42 |
input_data["total_score"],
|
| 43 |
input_data["aes_score"],
|
| 44 |
+
input_data["motion_amplitude"],
|
| 45 |
+
input_data["motion_smoothness"],
|
| 46 |
input_data["facesim_cur"],
|
| 47 |
input_data["gme_score"],
|
| 48 |
input_data["nexus_score"],
|
|
|
|
| 57 |
[
|
| 58 |
input_data["total_score"],
|
| 59 |
input_data["aes_score"],
|
| 60 |
+
input_data["motion_amplitude"],
|
| 61 |
+
input_data["motion_smoothness"],
|
| 62 |
input_data["facesim_cur"],
|
| 63 |
input_data["gme_score"],
|
| 64 |
input_data["natural_score"],
|
|
|
|
| 127 |
f"{input_data[4] * 100:.2f}%",
|
| 128 |
f"{input_data[5] * 100:.2f}%",
|
| 129 |
f"{input_data[6] * 100:.2f}%",
|
| 130 |
+
f"{input_data[7] * 100:.2f}%",
|
| 131 |
]
|
| 132 |
csv_data.loc[col] = new_data
|
| 133 |
csv_data.to_csv(CSV_DIR_OPEN_DOMAIN_RESULTS, index=False)
|
|
|
|
| 194 |
f"{input_data[3] * 100:.2f}%",
|
| 195 |
f"{input_data[4] * 100:.2f}%",
|
| 196 |
f"{input_data[5] * 100:.2f}%",
|
| 197 |
+
f"{input_data[6] * 100:.2f}%",
|
| 198 |
]
|
| 199 |
csv_data.loc[col] = new_data
|
| 200 |
csv_data.to_csv(CSV_DIR_HUMAN_DOMAIN_RESULTS, index=False)
|
|
|
|
| 262 |
f"{input_data[4] * 100:.2f}%",
|
| 263 |
f"{input_data[5] * 100:.2f}%",
|
| 264 |
f"{input_data[6] * 100:.2f}%",
|
| 265 |
+
f"{input_data[7] * 100:.2f}%",
|
| 266 |
]
|
| 267 |
csv_data.loc[col] = new_data
|
| 268 |
csv_data.to_csv(CSV_DIR_SINGLE_DOMAIN_RESULTS, index=False)
|
constants.py
CHANGED
|
@@ -3,7 +3,8 @@ MODEL_INFO = ["Model", "Venue", "Evaluated by"]
|
|
| 3 |
ALL_RESULTS = [
|
| 4 |
"TotalScore↑",
|
| 5 |
"Aesthetics↑",
|
| 6 |
-
"
|
|
|
|
| 7 |
"FaceSim↑",
|
| 8 |
"GmeScore↑",
|
| 9 |
"NexusScore↑",
|
|
@@ -13,7 +14,8 @@ ALL_RESULTS = [
|
|
| 13 |
OPEN_DOMAIN_RESULTS = [
|
| 14 |
"TotalScore↑",
|
| 15 |
"Aesthetics↑",
|
| 16 |
-
"
|
|
|
|
| 17 |
"FaceSim↑",
|
| 18 |
"GmeScore↑",
|
| 19 |
"NexusScore↑",
|
|
@@ -22,7 +24,8 @@ OPEN_DOMAIN_RESULTS = [
|
|
| 22 |
HUMAN_DOMAIN_RESULTS = [
|
| 23 |
"TotalScore↑",
|
| 24 |
"Aesthetics↑",
|
| 25 |
-
"
|
|
|
|
| 26 |
"FaceSim↑",
|
| 27 |
"GmeScore↑",
|
| 28 |
"NaturalScore↑",
|
|
@@ -30,7 +33,8 @@ HUMAN_DOMAIN_RESULTS = [
|
|
| 30 |
SINGLE_DOMAIN_RESULTS = [
|
| 31 |
"TotalScore↑",
|
| 32 |
"Aesthetics↑",
|
| 33 |
-
"
|
|
|
|
| 34 |
"FaceSim↑",
|
| 35 |
"GmeScore↑",
|
| 36 |
"NexusScore↑",
|
|
@@ -49,23 +53,23 @@ NEW_DATA_TITLE_TYPE = [
|
|
| 49 |
"number",
|
| 50 |
]
|
| 51 |
|
| 52 |
-
CSV_DIR_OPEN_DOMAIN_RESULTS = "./
|
| 53 |
-
CSV_DIR_HUMAN_DOMAIN_RESULTS = "./
|
| 54 |
-
CSV_DIR_SINGLE_DOMAIN_RESULTS = "./
|
| 55 |
|
| 56 |
COLUMN_NAMES = MODEL_INFO + ALL_RESULTS
|
| 57 |
COLUMN_NAMES_HUMAN = MODEL_INFO + HUMAN_DOMAIN_RESULTS
|
| 58 |
|
| 59 |
LEADERBORAD_INTRODUCTION = """
|
| 60 |
-
# OpenS2V-Eval Leaderboard
|
| 61 |
|
| 62 |
-
Welcome to the leaderboard of the OpenS2V-Eval!
|
| 63 |
|
| 64 |
-
🏆 OpenS2V-Eval is a core component of **OpenS2V-Nexus**, designed to establish a foundational infrastructure for *Subject-to-Video* (S2V) generation. It presents 180 prompts spanning seven major categories of S2V, incorporating both real and synthetic test data. To better align evaluation with human preferences, it introduce three new automatic metrics—NexusScore, NaturalScore, and GmeScore—that independently assess subject consistency, naturalness, and textual relevance in generated videos.
|
| 65 |
-
|
| 66 |
If you like our project, please give us a star ⭐ on GitHub for the latest update.
|
| 67 |
|
| 68 |
-
[GitHub](https://github.com/PKU-YuanGroup/OpenS2V-Nexus) | [Arxiv](https://arxiv.org/) | [Home Page](https://pku-yuangroup.github.io/OpenS2V-Nexus/) | [OpenS2V-Eval](https://huggingface.co/datasets/BestWishYsh/OpenS2V-Eval) | [OpenS2V-5M](https://huggingface.co/datasets/BestWishYsh/OpenS2V-5M)
|
| 69 |
"""
|
| 70 |
|
| 71 |
SUBMIT_INTRODUCTION = """# Submission Guidelines
|
|
@@ -78,7 +82,7 @@ SUBMIT_INTRODUCTION = """# Submission Guidelines
|
|
| 78 |
|
| 79 |
TABLE_INTRODUCTION = """In the table below, we use six dimensions as the primary evaluation metrics for each task.
|
| 80 |
1. Visual Quality: Aesthetics.
|
| 81 |
-
2. Motion
|
| 82 |
3. Text Relevance: GmeScore.
|
| 83 |
4. Subject Consistency: FaceSim and NexusScore.
|
| 84 |
5. Subject Naturalness: NaturalScore.
|
|
@@ -86,7 +90,7 @@ TABLE_INTRODUCTION = """In the table below, we use six dimensions as the primary
|
|
| 86 |
|
| 87 |
TABLE_INTRODUCTION_HUMAN = """In the table below, we use six dimensions as the primary evaluation metrics for each task.
|
| 88 |
1. Visual Quality: Aesthetics.
|
| 89 |
-
2. Motion
|
| 90 |
3. Text Relevance: GmeScore.
|
| 91 |
4. Subject Consistency: FaceSim.
|
| 92 |
5. Naturalness: NaturalScore.
|
|
|
|
| 3 |
ALL_RESULTS = [
|
| 4 |
"TotalScore↑",
|
| 5 |
"Aesthetics↑",
|
| 6 |
+
"MotionSmoothness↑",
|
| 7 |
+
"MotionAmplitude↑",
|
| 8 |
"FaceSim↑",
|
| 9 |
"GmeScore↑",
|
| 10 |
"NexusScore↑",
|
|
|
|
| 14 |
OPEN_DOMAIN_RESULTS = [
|
| 15 |
"TotalScore↑",
|
| 16 |
"Aesthetics↑",
|
| 17 |
+
"MotionSmoothness↑",
|
| 18 |
+
"MotionAmplitude↑",
|
| 19 |
"FaceSim↑",
|
| 20 |
"GmeScore↑",
|
| 21 |
"NexusScore↑",
|
|
|
|
| 24 |
HUMAN_DOMAIN_RESULTS = [
|
| 25 |
"TotalScore↑",
|
| 26 |
"Aesthetics↑",
|
| 27 |
+
"MotionSmoothness↑",
|
| 28 |
+
"MotionAmplitude↑",
|
| 29 |
"FaceSim↑",
|
| 30 |
"GmeScore↑",
|
| 31 |
"NaturalScore↑",
|
|
|
|
| 33 |
SINGLE_DOMAIN_RESULTS = [
|
| 34 |
"TotalScore↑",
|
| 35 |
"Aesthetics↑",
|
| 36 |
+
"MotionSmoothness↑",
|
| 37 |
+
"MotionAmplitude↑",
|
| 38 |
"FaceSim↑",
|
| 39 |
"GmeScore↑",
|
| 40 |
"NexusScore↑",
|
|
|
|
| 53 |
"number",
|
| 54 |
]
|
| 55 |
|
| 56 |
+
CSV_DIR_OPEN_DOMAIN_RESULTS = "./file_v1.1/results_Open-Domain.csv"
|
| 57 |
+
CSV_DIR_HUMAN_DOMAIN_RESULTS = "./file_v1.1/results_Human-Domain.csv"
|
| 58 |
+
CSV_DIR_SINGLE_DOMAIN_RESULTS = "./file_v1.1/results_Single-Domain.csv"
|
| 59 |
|
| 60 |
COLUMN_NAMES = MODEL_INFO + ALL_RESULTS
|
| 61 |
COLUMN_NAMES_HUMAN = MODEL_INFO + HUMAN_DOMAIN_RESULTS
|
| 62 |
|
| 63 |
LEADERBORAD_INTRODUCTION = """
|
| 64 |
+
# OpenS2V-Eval-1.1 Leaderboard
|
| 65 |
|
| 66 |
+
Welcome to the leaderboard of the OpenS2V-Eval-1.1! The v1.1 version adds motion smoothness on top of v1.0 to provide a more accurate measurement of motion quality.
|
| 67 |
|
| 68 |
+
🏆 OpenS2V-Eval is a core component of **OpenS2V-Nexus**, designed to establish a foundational infrastructure for *Subject-to-Video* (S2V) generation. It presents 180 prompts spanning seven major categories of S2V, incorporating both real and synthetic test data. To better align evaluation with human preferences, it introduce three new automatic metrics—NexusScore, NaturalScore, and GmeScore—that independently assess subject consistency, naturalness, and textual relevance in generated videos.
|
| 69 |
+
|
| 70 |
If you like our project, please give us a star ⭐ on GitHub for the latest update.
|
| 71 |
|
| 72 |
+
[GitHub](https://github.com/PKU-YuanGroup/OpenS2V-Nexus) | [Arxiv](https://arxiv.org/) | [Home Page](https://pku-yuangroup.github.io/OpenS2V-Nexus/) | [OpenS2V-Eval](https://huggingface.co/datasets/BestWishYsh/OpenS2V-Eval) | [OpenS2V-5M](https://huggingface.co/datasets/BestWishYsh/OpenS2V-5M) | [OpenS2V-Eval-v1.0-LeaderBoard](https://huggingface.co/spaces/BestWishYsh/OpenS2V-Eval/tree/main/file_v1.0)
|
| 73 |
"""
|
| 74 |
|
| 75 |
SUBMIT_INTRODUCTION = """# Submission Guidelines
|
|
|
|
| 82 |
|
| 83 |
TABLE_INTRODUCTION = """In the table below, we use six dimensions as the primary evaluation metrics for each task.
|
| 84 |
1. Visual Quality: Aesthetics.
|
| 85 |
+
2. Motion Quality: Motion Smoothness and Motion Amplitude.
|
| 86 |
3. Text Relevance: GmeScore.
|
| 87 |
4. Subject Consistency: FaceSim and NexusScore.
|
| 88 |
5. Subject Naturalness: NaturalScore.
|
|
|
|
| 90 |
|
| 91 |
TABLE_INTRODUCTION_HUMAN = """In the table below, we use six dimensions as the primary evaluation metrics for each task.
|
| 92 |
1. Visual Quality: Aesthetics.
|
| 93 |
+
2. Motion Quality: Motion Smoothness and Motion Amplitude.
|
| 94 |
3. Text Relevance: GmeScore.
|
| 95 |
4. Subject Consistency: FaceSim.
|
| 96 |
5. Naturalness: NaturalScore.
|
file_v1.0/app.py
ADDED
|
@@ -0,0 +1,588 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
import pandas as pd
|
| 3 |
+
import json
|
| 4 |
+
import io
|
| 5 |
+
|
| 6 |
+
from constants import (
|
| 7 |
+
SUBMIT_INTRODUCTION,
|
| 8 |
+
COLUMN_NAMES,
|
| 9 |
+
MODEL_INFO,
|
| 10 |
+
ALL_RESULTS,
|
| 11 |
+
NEW_DATA_TITLE_TYPE,
|
| 12 |
+
SINGLE_DOMAIN_RESULTS,
|
| 13 |
+
TABLE_INTRODUCTION,
|
| 14 |
+
CITATION_BUTTON_LABEL,
|
| 15 |
+
CITATION_BUTTON_TEXT,
|
| 16 |
+
COLUMN_NAMES_HUMAN,
|
| 17 |
+
CSV_DIR_HUMAN_DOMAIN_RESULTS,
|
| 18 |
+
CSV_DIR_OPEN_DOMAIN_RESULTS,
|
| 19 |
+
HUMAN_DOMAIN_RESULTS,
|
| 20 |
+
CSV_DIR_SINGLE_DOMAIN_RESULTS,
|
| 21 |
+
TABLE_INTRODUCTION_HUMAN,
|
| 22 |
+
LEADERBORAD_INTRODUCTION,
|
| 23 |
+
OPEN_DOMAIN_RESULTS,
|
| 24 |
+
)
|
| 25 |
+
|
| 26 |
+
global \
|
| 27 |
+
filter_component, \
|
| 28 |
+
data_component_opendomain, \
|
| 29 |
+
data_component_humandomain, \
|
| 30 |
+
data_component_singledomain
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
def upload_file(files):
|
| 34 |
+
file_paths = [file.name for file in files]
|
| 35 |
+
return file_paths
|
| 36 |
+
|
| 37 |
+
|
| 38 |
+
def compute_scores(input_data):
|
| 39 |
+
return [
|
| 40 |
+
None,
|
| 41 |
+
[
|
| 42 |
+
input_data["total_score"],
|
| 43 |
+
input_data["aes_score"],
|
| 44 |
+
input_data["motion_score"],
|
| 45 |
+
input_data["facesim_cur"],
|
| 46 |
+
input_data["gme_score"],
|
| 47 |
+
input_data["nexus_score"],
|
| 48 |
+
input_data["natural_score"],
|
| 49 |
+
],
|
| 50 |
+
]
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
def compute_scores_human_domain(input_data):
|
| 54 |
+
return [
|
| 55 |
+
None,
|
| 56 |
+
[
|
| 57 |
+
input_data["total_score"],
|
| 58 |
+
input_data["aes_score"],
|
| 59 |
+
input_data["motion_score"],
|
| 60 |
+
input_data["facesim_cur"],
|
| 61 |
+
input_data["gme_score"],
|
| 62 |
+
input_data["natural_score"],
|
| 63 |
+
],
|
| 64 |
+
]
|
| 65 |
+
|
| 66 |
+
|
| 67 |
+
def add_opendomain_eval(
|
| 68 |
+
input_file,
|
| 69 |
+
model_name_textbox: str,
|
| 70 |
+
revision_name_textbox: str,
|
| 71 |
+
venue_type_dropdown: str,
|
| 72 |
+
team_name_textbox: str,
|
| 73 |
+
model_link: str,
|
| 74 |
+
):
|
| 75 |
+
if input_file is None:
|
| 76 |
+
return "Error! Empty file!"
|
| 77 |
+
else:
|
| 78 |
+
selected_model_data = json.load(io.BytesIO(input_file))
|
| 79 |
+
|
| 80 |
+
scores = compute_scores(selected_model_data)
|
| 81 |
+
input_data = scores[1]
|
| 82 |
+
input_data = [float(i) for i in input_data]
|
| 83 |
+
|
| 84 |
+
csv_data = pd.read_csv(CSV_DIR_OPEN_DOMAIN_RESULTS)
|
| 85 |
+
|
| 86 |
+
if revision_name_textbox == "":
|
| 87 |
+
col = csv_data.shape[0]
|
| 88 |
+
model_name = model_name_textbox
|
| 89 |
+
name_list = [
|
| 90 |
+
name.split("]")[0][1:] if name.endswith(")") else name
|
| 91 |
+
for name in csv_data["Model"]
|
| 92 |
+
]
|
| 93 |
+
assert model_name not in name_list
|
| 94 |
+
else:
|
| 95 |
+
model_name = revision_name_textbox
|
| 96 |
+
model_name_list = csv_data["Model"]
|
| 97 |
+
name_list = [
|
| 98 |
+
name.split("]")[0][1:] if name.endswith(")") else name
|
| 99 |
+
for name in model_name_list
|
| 100 |
+
]
|
| 101 |
+
if revision_name_textbox not in name_list:
|
| 102 |
+
col = csv_data.shape[0]
|
| 103 |
+
else:
|
| 104 |
+
col = name_list.index(revision_name_textbox)
|
| 105 |
+
|
| 106 |
+
if model_link == "":
|
| 107 |
+
model_name = model_name # no url
|
| 108 |
+
else:
|
| 109 |
+
model_name = "[" + model_name + "](" + model_link + ")"
|
| 110 |
+
|
| 111 |
+
venue = venue_type_dropdown
|
| 112 |
+
if team_name_textbox == "":
|
| 113 |
+
team = "User Upload"
|
| 114 |
+
else:
|
| 115 |
+
team = team_name_textbox
|
| 116 |
+
|
| 117 |
+
new_data = [
|
| 118 |
+
model_name,
|
| 119 |
+
venue,
|
| 120 |
+
team,
|
| 121 |
+
f"{input_data[0] * 100:.2f}%",
|
| 122 |
+
f"{input_data[1] * 100:.2f}%",
|
| 123 |
+
f"{input_data[2] * 100:.2f}%",
|
| 124 |
+
f"{input_data[3] * 100:.2f}%",
|
| 125 |
+
f"{input_data[4] * 100:.2f}%",
|
| 126 |
+
f"{input_data[5] * 100:.2f}%",
|
| 127 |
+
f"{input_data[6] * 100:.2f}%",
|
| 128 |
+
]
|
| 129 |
+
csv_data.loc[col] = new_data
|
| 130 |
+
csv_data.to_csv(CSV_DIR_OPEN_DOMAIN_RESULTS, index=False)
|
| 131 |
+
return "Evaluation successfully submitted!"
|
| 132 |
+
|
| 133 |
+
|
| 134 |
+
def add_humandomain_eval(
|
| 135 |
+
input_file,
|
| 136 |
+
model_name_textbox: str,
|
| 137 |
+
revision_name_textbox: str,
|
| 138 |
+
venue_type_dropdown: str,
|
| 139 |
+
team_name_textbox: str,
|
| 140 |
+
model_link: str,
|
| 141 |
+
):
|
| 142 |
+
if input_file is None:
|
| 143 |
+
return "Error! Empty file!"
|
| 144 |
+
else:
|
| 145 |
+
selected_model_data = json.load(io.BytesIO(input_file))
|
| 146 |
+
|
| 147 |
+
scores = compute_scores_human_domain(selected_model_data)
|
| 148 |
+
input_data = scores[1]
|
| 149 |
+
input_data = [float(i) for i in input_data]
|
| 150 |
+
|
| 151 |
+
csv_data = pd.read_csv(CSV_DIR_HUMAN_DOMAIN_RESULTS)
|
| 152 |
+
|
| 153 |
+
if revision_name_textbox == "":
|
| 154 |
+
col = csv_data.shape[0]
|
| 155 |
+
model_name = model_name_textbox
|
| 156 |
+
name_list = [
|
| 157 |
+
name.split("]")[0][1:] if name.endswith(")") else name
|
| 158 |
+
for name in csv_data["Model"]
|
| 159 |
+
]
|
| 160 |
+
assert model_name not in name_list
|
| 161 |
+
else:
|
| 162 |
+
model_name = revision_name_textbox
|
| 163 |
+
model_name_list = csv_data["Model"]
|
| 164 |
+
name_list = [
|
| 165 |
+
name.split("]")[0][1:] if name.endswith(")") else name
|
| 166 |
+
for name in model_name_list
|
| 167 |
+
]
|
| 168 |
+
if revision_name_textbox not in name_list:
|
| 169 |
+
col = csv_data.shape[0]
|
| 170 |
+
else:
|
| 171 |
+
col = name_list.index(revision_name_textbox)
|
| 172 |
+
|
| 173 |
+
if model_link == "":
|
| 174 |
+
model_name = model_name # no url
|
| 175 |
+
else:
|
| 176 |
+
model_name = "[" + model_name + "](" + model_link + ")"
|
| 177 |
+
|
| 178 |
+
venue = venue_type_dropdown
|
| 179 |
+
if team_name_textbox == "":
|
| 180 |
+
team = "User Upload"
|
| 181 |
+
else:
|
| 182 |
+
team = team_name_textbox
|
| 183 |
+
|
| 184 |
+
new_data = [
|
| 185 |
+
model_name,
|
| 186 |
+
venue,
|
| 187 |
+
team,
|
| 188 |
+
f"{input_data[0] * 100:.2f}%",
|
| 189 |
+
f"{input_data[1] * 100:.2f}%",
|
| 190 |
+
f"{input_data[2] * 100:.2f}%",
|
| 191 |
+
f"{input_data[3] * 100:.2f}%",
|
| 192 |
+
f"{input_data[4] * 100:.2f}%",
|
| 193 |
+
f"{input_data[5] * 100:.2f}%",
|
| 194 |
+
]
|
| 195 |
+
csv_data.loc[col] = new_data
|
| 196 |
+
csv_data.to_csv(CSV_DIR_HUMAN_DOMAIN_RESULTS, index=False)
|
| 197 |
+
return "Evaluation successfully submitted!"
|
| 198 |
+
|
| 199 |
+
|
| 200 |
+
def add_singledomain_eval(
|
| 201 |
+
input_file,
|
| 202 |
+
model_name_textbox: str,
|
| 203 |
+
revision_name_textbox: str,
|
| 204 |
+
venue_type_dropdown: str,
|
| 205 |
+
team_name_textbox: str,
|
| 206 |
+
model_link: str,
|
| 207 |
+
):
|
| 208 |
+
if input_file is None:
|
| 209 |
+
return "Error! Empty file!"
|
| 210 |
+
else:
|
| 211 |
+
selected_model_data = json.load(io.BytesIO(input_file))
|
| 212 |
+
|
| 213 |
+
scores = compute_scores(selected_model_data)
|
| 214 |
+
input_data = scores[1]
|
| 215 |
+
input_data = [float(i) for i in input_data]
|
| 216 |
+
|
| 217 |
+
csv_data = pd.read_csv(CSV_DIR_SINGLE_DOMAIN_RESULTS)
|
| 218 |
+
|
| 219 |
+
if revision_name_textbox == "":
|
| 220 |
+
col = csv_data.shape[0]
|
| 221 |
+
model_name = model_name_textbox
|
| 222 |
+
name_list = [
|
| 223 |
+
name.split("]")[0][1:] if name.endswith(")") else name
|
| 224 |
+
for name in csv_data["Model"]
|
| 225 |
+
]
|
| 226 |
+
assert model_name not in name_list
|
| 227 |
+
else:
|
| 228 |
+
model_name = revision_name_textbox
|
| 229 |
+
model_name_list = csv_data["Model"]
|
| 230 |
+
name_list = [
|
| 231 |
+
name.split("]")[0][1:] if name.endswith(")") else name
|
| 232 |
+
for name in model_name_list
|
| 233 |
+
]
|
| 234 |
+
if revision_name_textbox not in name_list:
|
| 235 |
+
col = csv_data.shape[0]
|
| 236 |
+
else:
|
| 237 |
+
col = name_list.index(revision_name_textbox)
|
| 238 |
+
|
| 239 |
+
if model_link == "":
|
| 240 |
+
model_name = model_name # no url
|
| 241 |
+
else:
|
| 242 |
+
model_name = "[" + model_name + "](" + model_link + ")"
|
| 243 |
+
|
| 244 |
+
venue = venue_type_dropdown
|
| 245 |
+
if team_name_textbox == "":
|
| 246 |
+
team = "User Upload"
|
| 247 |
+
else:
|
| 248 |
+
team = team_name_textbox
|
| 249 |
+
|
| 250 |
+
new_data = [
|
| 251 |
+
model_name,
|
| 252 |
+
venue,
|
| 253 |
+
team,
|
| 254 |
+
f"{input_data[0] * 100:.2f}%",
|
| 255 |
+
f"{input_data[1] * 100:.2f}%",
|
| 256 |
+
f"{input_data[2] * 100:.2f}%",
|
| 257 |
+
f"{input_data[3] * 100:.2f}%",
|
| 258 |
+
f"{input_data[4] * 100:.2f}%",
|
| 259 |
+
f"{input_data[5] * 100:.2f}%",
|
| 260 |
+
f"{input_data[6] * 100:.2f}%",
|
| 261 |
+
]
|
| 262 |
+
csv_data.loc[col] = new_data
|
| 263 |
+
csv_data.to_csv(CSV_DIR_SINGLE_DOMAIN_RESULTS, index=False)
|
| 264 |
+
return "Evaluation successfully submitted!"
|
| 265 |
+
|
| 266 |
+
|
| 267 |
+
def get_all_df_opendomain():
|
| 268 |
+
df = pd.read_csv(CSV_DIR_OPEN_DOMAIN_RESULTS)
|
| 269 |
+
df = df.sort_values(by="TotalScore↑", ascending=False)
|
| 270 |
+
return df
|
| 271 |
+
|
| 272 |
+
|
| 273 |
+
def get_baseline_df_opendomain():
|
| 274 |
+
df = pd.read_csv(CSV_DIR_OPEN_DOMAIN_RESULTS)
|
| 275 |
+
df = df.sort_values(by="TotalScore↑", ascending=False)
|
| 276 |
+
present_columns = MODEL_INFO + checkbox_group_opendomain.value
|
| 277 |
+
df = df[present_columns]
|
| 278 |
+
return df
|
| 279 |
+
|
| 280 |
+
|
| 281 |
+
def get_all_df_humandomain():
|
| 282 |
+
df = pd.read_csv(CSV_DIR_HUMAN_DOMAIN_RESULTS)
|
| 283 |
+
df = df.sort_values(by="TotalScore↑", ascending=False)
|
| 284 |
+
return df
|
| 285 |
+
|
| 286 |
+
|
| 287 |
+
def get_baseline_df_humandomain():
|
| 288 |
+
df = pd.read_csv(CSV_DIR_HUMAN_DOMAIN_RESULTS)
|
| 289 |
+
df = df.sort_values(by="TotalScore↑", ascending=False)
|
| 290 |
+
present_columns = MODEL_INFO + checkbox_group_humandomain.value
|
| 291 |
+
df = df[present_columns]
|
| 292 |
+
return df
|
| 293 |
+
|
| 294 |
+
|
| 295 |
+
def get_all_df_singledomain():
|
| 296 |
+
df = pd.read_csv(CSV_DIR_SINGLE_DOMAIN_RESULTS)
|
| 297 |
+
df = df.sort_values(by="TotalScore↑", ascending=False)
|
| 298 |
+
return df
|
| 299 |
+
|
| 300 |
+
|
| 301 |
+
def get_baseline_df_singledomain():
|
| 302 |
+
df = pd.read_csv(CSV_DIR_SINGLE_DOMAIN_RESULTS)
|
| 303 |
+
df = df.sort_values(by="TotalScore↑", ascending=False)
|
| 304 |
+
present_columns = MODEL_INFO + checkbox_group_singledomain.value
|
| 305 |
+
df = df[present_columns]
|
| 306 |
+
return df
|
| 307 |
+
|
| 308 |
+
|
| 309 |
+
block = gr.Blocks()
|
| 310 |
+
|
| 311 |
+
|
| 312 |
+
with block:
|
| 313 |
+
gr.HTML("""
|
| 314 |
+
<div style='display: flex; align-items: center; justify-content: center; text-align: center;'>
|
| 315 |
+
<img src="https://www.pnglog.com/6xm07l.png" style='width: 400px; height: auto; margin-right: 10px;' />
|
| 316 |
+
</div>
|
| 317 |
+
""")
|
| 318 |
+
gr.Markdown(LEADERBORAD_INTRODUCTION)
|
| 319 |
+
with gr.Tabs(elem_classes="tab-buttons") as tabs:
|
| 320 |
+
# table Opendomain
|
| 321 |
+
with gr.TabItem("🏅 Open-Domain", elem_id="OpenS2V-Nexus-tab-table", id=0):
|
| 322 |
+
with gr.Row():
|
| 323 |
+
with gr.Accordion("Citation", open=False):
|
| 324 |
+
citation_button = gr.Textbox(
|
| 325 |
+
value=CITATION_BUTTON_TEXT,
|
| 326 |
+
label=CITATION_BUTTON_LABEL,
|
| 327 |
+
elem_id="citation-button",
|
| 328 |
+
show_copy_button=True,
|
| 329 |
+
)
|
| 330 |
+
|
| 331 |
+
gr.Markdown(TABLE_INTRODUCTION)
|
| 332 |
+
|
| 333 |
+
checkbox_group_opendomain = gr.CheckboxGroup(
|
| 334 |
+
choices=ALL_RESULTS,
|
| 335 |
+
value=OPEN_DOMAIN_RESULTS,
|
| 336 |
+
label="Select options",
|
| 337 |
+
interactive=True,
|
| 338 |
+
)
|
| 339 |
+
|
| 340 |
+
data_component_opendomain = gr.components.Dataframe(
|
| 341 |
+
value=get_baseline_df_opendomain,
|
| 342 |
+
headers=COLUMN_NAMES,
|
| 343 |
+
type="pandas",
|
| 344 |
+
datatype=NEW_DATA_TITLE_TYPE,
|
| 345 |
+
interactive=False,
|
| 346 |
+
visible=True,
|
| 347 |
+
)
|
| 348 |
+
|
| 349 |
+
def on_checkbox_group_change_opendomain(selected_columns):
|
| 350 |
+
selected_columns = [
|
| 351 |
+
item for item in ALL_RESULTS if item in selected_columns
|
| 352 |
+
]
|
| 353 |
+
present_columns = MODEL_INFO + selected_columns
|
| 354 |
+
updated_data = get_baseline_df_opendomain()[present_columns]
|
| 355 |
+
updated_data = updated_data.sort_values(
|
| 356 |
+
by=present_columns[1], ascending=False
|
| 357 |
+
)
|
| 358 |
+
updated_headers = present_columns
|
| 359 |
+
update_datatype = [
|
| 360 |
+
NEW_DATA_TITLE_TYPE[COLUMN_NAMES.index(x)] for x in updated_headers
|
| 361 |
+
]
|
| 362 |
+
|
| 363 |
+
filter_component = gr.components.Dataframe(
|
| 364 |
+
value=updated_data,
|
| 365 |
+
headers=updated_headers,
|
| 366 |
+
type="pandas",
|
| 367 |
+
datatype=update_datatype,
|
| 368 |
+
interactive=False,
|
| 369 |
+
visible=True,
|
| 370 |
+
)
|
| 371 |
+
|
| 372 |
+
return filter_component
|
| 373 |
+
|
| 374 |
+
checkbox_group_opendomain.change(
|
| 375 |
+
fn=on_checkbox_group_change_opendomain,
|
| 376 |
+
inputs=checkbox_group_opendomain,
|
| 377 |
+
outputs=data_component_opendomain,
|
| 378 |
+
)
|
| 379 |
+
|
| 380 |
+
# table HumanDomain
|
| 381 |
+
with gr.TabItem("🏅 Human-Domain", elem_id="OpenS2V-Nexus-tab-table", id=1):
|
| 382 |
+
with gr.Row():
|
| 383 |
+
with gr.Accordion("Citation", open=False):
|
| 384 |
+
citation_button = gr.Textbox(
|
| 385 |
+
value=CITATION_BUTTON_TEXT,
|
| 386 |
+
label=CITATION_BUTTON_LABEL,
|
| 387 |
+
elem_id="citation-button",
|
| 388 |
+
show_copy_button=True,
|
| 389 |
+
)
|
| 390 |
+
|
| 391 |
+
gr.Markdown(TABLE_INTRODUCTION_HUMAN)
|
| 392 |
+
|
| 393 |
+
checkbox_group_humandomain = gr.CheckboxGroup(
|
| 394 |
+
choices=HUMAN_DOMAIN_RESULTS,
|
| 395 |
+
value=HUMAN_DOMAIN_RESULTS,
|
| 396 |
+
label="Select options",
|
| 397 |
+
interactive=True,
|
| 398 |
+
)
|
| 399 |
+
|
| 400 |
+
data_component_humandomain = gr.components.Dataframe(
|
| 401 |
+
value=get_baseline_df_humandomain,
|
| 402 |
+
headers=COLUMN_NAMES_HUMAN,
|
| 403 |
+
type="pandas",
|
| 404 |
+
datatype=NEW_DATA_TITLE_TYPE,
|
| 405 |
+
interactive=False,
|
| 406 |
+
visible=True,
|
| 407 |
+
)
|
| 408 |
+
|
| 409 |
+
def on_checkbox_group_change_humandomain(selected_columns):
|
| 410 |
+
selected_columns = [
|
| 411 |
+
item for item in ALL_RESULTS if item in selected_columns
|
| 412 |
+
]
|
| 413 |
+
present_columns = MODEL_INFO + selected_columns
|
| 414 |
+
updated_data = get_baseline_df_humandomain()[present_columns]
|
| 415 |
+
updated_data = updated_data.sort_values(
|
| 416 |
+
by=present_columns[1], ascending=False
|
| 417 |
+
)
|
| 418 |
+
updated_headers = present_columns
|
| 419 |
+
update_datatype = [
|
| 420 |
+
NEW_DATA_TITLE_TYPE[COLUMN_NAMES_HUMAN.index(x)]
|
| 421 |
+
for x in updated_headers
|
| 422 |
+
]
|
| 423 |
+
|
| 424 |
+
filter_component = gr.components.Dataframe(
|
| 425 |
+
value=updated_data,
|
| 426 |
+
headers=updated_headers,
|
| 427 |
+
type="pandas",
|
| 428 |
+
datatype=update_datatype,
|
| 429 |
+
interactive=False,
|
| 430 |
+
visible=True,
|
| 431 |
+
)
|
| 432 |
+
|
| 433 |
+
return filter_component
|
| 434 |
+
|
| 435 |
+
checkbox_group_humandomain.change(
|
| 436 |
+
fn=on_checkbox_group_change_humandomain,
|
| 437 |
+
inputs=checkbox_group_humandomain,
|
| 438 |
+
outputs=data_component_humandomain,
|
| 439 |
+
)
|
| 440 |
+
|
| 441 |
+
# table SingleDomain
|
| 442 |
+
with gr.TabItem("🏅 Single-Domain", elem_id="OpenS2V-Nexus-tab-table", id=2):
|
| 443 |
+
with gr.Row():
|
| 444 |
+
with gr.Accordion("Citation", open=False):
|
| 445 |
+
citation_button = gr.Textbox(
|
| 446 |
+
value=CITATION_BUTTON_TEXT,
|
| 447 |
+
label=CITATION_BUTTON_LABEL,
|
| 448 |
+
elem_id="citation-button",
|
| 449 |
+
show_copy_button=True,
|
| 450 |
+
)
|
| 451 |
+
|
| 452 |
+
gr.Markdown(TABLE_INTRODUCTION)
|
| 453 |
+
|
| 454 |
+
checkbox_group_singledomain = gr.CheckboxGroup(
|
| 455 |
+
choices=ALL_RESULTS,
|
| 456 |
+
value=SINGLE_DOMAIN_RESULTS,
|
| 457 |
+
label="Select options",
|
| 458 |
+
interactive=True,
|
| 459 |
+
)
|
| 460 |
+
|
| 461 |
+
data_component_singledomain = gr.components.Dataframe(
|
| 462 |
+
value=get_baseline_df_singledomain,
|
| 463 |
+
headers=COLUMN_NAMES,
|
| 464 |
+
type="pandas",
|
| 465 |
+
datatype=NEW_DATA_TITLE_TYPE,
|
| 466 |
+
interactive=False,
|
| 467 |
+
visible=True,
|
| 468 |
+
)
|
| 469 |
+
|
| 470 |
+
def on_checkbox_group_change_singledomain(selected_columns):
|
| 471 |
+
selected_columns = [
|
| 472 |
+
item for item in ALL_RESULTS if item in selected_columns
|
| 473 |
+
]
|
| 474 |
+
present_columns = MODEL_INFO + selected_columns
|
| 475 |
+
updated_data = get_baseline_df_singledomain()[present_columns]
|
| 476 |
+
updated_data = updated_data.sort_values(
|
| 477 |
+
by=present_columns[1], ascending=False
|
| 478 |
+
)
|
| 479 |
+
updated_headers = present_columns
|
| 480 |
+
update_datatype = [
|
| 481 |
+
NEW_DATA_TITLE_TYPE[COLUMN_NAMES.index(x)] for x in updated_headers
|
| 482 |
+
]
|
| 483 |
+
|
| 484 |
+
filter_component = gr.components.Dataframe(
|
| 485 |
+
value=updated_data,
|
| 486 |
+
headers=updated_headers,
|
| 487 |
+
type="pandas",
|
| 488 |
+
datatype=update_datatype,
|
| 489 |
+
interactive=False,
|
| 490 |
+
visible=True,
|
| 491 |
+
)
|
| 492 |
+
|
| 493 |
+
return filter_component
|
| 494 |
+
|
| 495 |
+
checkbox_group_singledomain.change(
|
| 496 |
+
fn=on_checkbox_group_change_singledomain,
|
| 497 |
+
inputs=checkbox_group_singledomain,
|
| 498 |
+
outputs=data_component_singledomain,
|
| 499 |
+
)
|
| 500 |
+
|
| 501 |
+
# table Submission
|
| 502 |
+
with gr.TabItem("🚀 Submit here! ", elem_id="seed-benchmark-tab-table", id=4):
|
| 503 |
+
with gr.Row():
|
| 504 |
+
gr.Markdown(SUBMIT_INTRODUCTION, elem_classes="markdown-text")
|
| 505 |
+
|
| 506 |
+
with gr.Row():
|
| 507 |
+
gr.Markdown(
|
| 508 |
+
"# ✉️✨ Submit your result here!", elem_classes="markdown-text"
|
| 509 |
+
)
|
| 510 |
+
|
| 511 |
+
with gr.Row():
|
| 512 |
+
with gr.Column():
|
| 513 |
+
model_name_textbox = gr.Textbox(
|
| 514 |
+
label="Model name", placeholder="ConsisID"
|
| 515 |
+
)
|
| 516 |
+
revision_name_textbox = gr.Textbox(
|
| 517 |
+
label="Revision Model Name (Optinal)", placeholder="ConsisID"
|
| 518 |
+
)
|
| 519 |
+
venue_type_dropdown = gr.Dropdown(
|
| 520 |
+
label="Venue Type",
|
| 521 |
+
choices=["Open-Source", "Close-Source"],
|
| 522 |
+
value="Open-Source",
|
| 523 |
+
)
|
| 524 |
+
team_name_textbox = gr.Textbox(
|
| 525 |
+
label="Your Team Name (If left blank, it will be user upload))", placeholder="User Upload"
|
| 526 |
+
)
|
| 527 |
+
model_link = gr.Textbox(
|
| 528 |
+
label="Model Link",
|
| 529 |
+
placeholder="https://github.com/PKU-YuanGroup/ConsisID",
|
| 530 |
+
)
|
| 531 |
+
|
| 532 |
+
with gr.Column():
|
| 533 |
+
input_file = gr.File(label="Click to Upload a json File", type="binary")
|
| 534 |
+
|
| 535 |
+
submit_button_opendomain = gr.Button("Submit Result (Open-Domain)")
|
| 536 |
+
submit_button_humandomain = gr.Button("Submit Result (Human-Domain)")
|
| 537 |
+
submit_button_singledomain = gr.Button("Submit Result (Single-Domain)")
|
| 538 |
+
|
| 539 |
+
submission_result = gr.Markdown()
|
| 540 |
+
|
| 541 |
+
submit_button_opendomain.click(
|
| 542 |
+
add_opendomain_eval,
|
| 543 |
+
inputs=[
|
| 544 |
+
input_file,
|
| 545 |
+
model_name_textbox,
|
| 546 |
+
revision_name_textbox,
|
| 547 |
+
venue_type_dropdown,
|
| 548 |
+
team_name_textbox,
|
| 549 |
+
model_link,
|
| 550 |
+
],
|
| 551 |
+
outputs=submission_result,
|
| 552 |
+
)
|
| 553 |
+
|
| 554 |
+
submit_button_humandomain.click(
|
| 555 |
+
add_humandomain_eval,
|
| 556 |
+
inputs=[
|
| 557 |
+
input_file,
|
| 558 |
+
model_name_textbox,
|
| 559 |
+
revision_name_textbox,
|
| 560 |
+
venue_type_dropdown,
|
| 561 |
+
team_name_textbox,
|
| 562 |
+
model_link,
|
| 563 |
+
],
|
| 564 |
+
outputs=submission_result,
|
| 565 |
+
)
|
| 566 |
+
|
| 567 |
+
submit_button_singledomain.click(
|
| 568 |
+
add_singledomain_eval,
|
| 569 |
+
inputs=[
|
| 570 |
+
input_file,
|
| 571 |
+
model_name_textbox,
|
| 572 |
+
revision_name_textbox,
|
| 573 |
+
venue_type_dropdown,
|
| 574 |
+
team_name_textbox,
|
| 575 |
+
model_link,
|
| 576 |
+
],
|
| 577 |
+
outputs=submission_result,
|
| 578 |
+
)
|
| 579 |
+
|
| 580 |
+
with gr.Row():
|
| 581 |
+
data_run = gr.Button("Refresh")
|
| 582 |
+
data_run.click(get_baseline_df_opendomain, outputs=data_component_opendomain)
|
| 583 |
+
data_run.click(get_baseline_df_humandomain, outputs=data_component_humandomain)
|
| 584 |
+
data_run.click(
|
| 585 |
+
get_baseline_df_singledomain, outputs=data_component_singledomain
|
| 586 |
+
)
|
| 587 |
+
|
| 588 |
+
block.launch()
|
file_v1.0/constants.py
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MODEL_INFO = ["Model", "Venue", "Evaluated by"]
|
| 2 |
+
|
| 3 |
+
ALL_RESULTS = [
|
| 4 |
+
"TotalScore↑",
|
| 5 |
+
"Aesthetics↑",
|
| 6 |
+
"Motion↑",
|
| 7 |
+
"FaceSim↑",
|
| 8 |
+
"GmeScore↑",
|
| 9 |
+
"NexusScore↑",
|
| 10 |
+
"NaturalScore↑",
|
| 11 |
+
]
|
| 12 |
+
|
| 13 |
+
OPEN_DOMAIN_RESULTS = [
|
| 14 |
+
"TotalScore↑",
|
| 15 |
+
"Aesthetics↑",
|
| 16 |
+
"Motion↑",
|
| 17 |
+
"FaceSim↑",
|
| 18 |
+
"GmeScore↑",
|
| 19 |
+
"NexusScore↑",
|
| 20 |
+
"NaturalScore↑",
|
| 21 |
+
]
|
| 22 |
+
HUMAN_DOMAIN_RESULTS = [
|
| 23 |
+
"TotalScore↑",
|
| 24 |
+
"Aesthetics↑",
|
| 25 |
+
"Motion↑",
|
| 26 |
+
"FaceSim↑",
|
| 27 |
+
"GmeScore↑",
|
| 28 |
+
"NaturalScore↑",
|
| 29 |
+
]
|
| 30 |
+
SINGLE_DOMAIN_RESULTS = [
|
| 31 |
+
"TotalScore↑",
|
| 32 |
+
"Aesthetics↑",
|
| 33 |
+
"Motion↑",
|
| 34 |
+
"FaceSim↑",
|
| 35 |
+
"GmeScore↑",
|
| 36 |
+
"NexusScore↑",
|
| 37 |
+
"NaturalScore↑",
|
| 38 |
+
]
|
| 39 |
+
|
| 40 |
+
NEW_DATA_TITLE_TYPE = [
|
| 41 |
+
"markdown",
|
| 42 |
+
"markdown",
|
| 43 |
+
"number",
|
| 44 |
+
"number",
|
| 45 |
+
"number",
|
| 46 |
+
"number",
|
| 47 |
+
"number",
|
| 48 |
+
"number",
|
| 49 |
+
"number",
|
| 50 |
+
]
|
| 51 |
+
|
| 52 |
+
CSV_DIR_OPEN_DOMAIN_RESULTS = "./results_Open-Domain.csv"
|
| 53 |
+
CSV_DIR_HUMAN_DOMAIN_RESULTS = "./results_Human-Domain.csv"
|
| 54 |
+
CSV_DIR_SINGLE_DOMAIN_RESULTS = "./results_Single-Domain.csv"
|
| 55 |
+
|
| 56 |
+
COLUMN_NAMES = MODEL_INFO + ALL_RESULTS
|
| 57 |
+
COLUMN_NAMES_HUMAN = MODEL_INFO + HUMAN_DOMAIN_RESULTS
|
| 58 |
+
|
| 59 |
+
LEADERBORAD_INTRODUCTION = """
|
| 60 |
+
# OpenS2V-Eval Leaderboard
|
| 61 |
+
|
| 62 |
+
Welcome to the leaderboard of the OpenS2V-Eval!
|
| 63 |
+
|
| 64 |
+
🏆 OpenS2V-Eval is a core component of **OpenS2V-Nexus**, designed to establish a foundational infrastructure for *Subject-to-Video* (S2V) generation. It presents 180 prompts spanning seven major categories of S2V, incorporating both real and synthetic test data. To better align evaluation with human preferences, it introduce three new automatic metrics—NexusScore, NaturalScore, and GmeScore—that independently assess subject consistency, naturalness, and textual relevance in generated videos.
|
| 65 |
+
|
| 66 |
+
If you like our project, please give us a star ⭐ on GitHub for the latest update.
|
| 67 |
+
|
| 68 |
+
[GitHub](https://github.com/PKU-YuanGroup/OpenS2V-Nexus) | [Arxiv](https://arxiv.org/) | [Home Page](https://pku-yuangroup.github.io/OpenS2V-Nexus/) | [OpenS2V-Eval](https://huggingface.co/datasets/BestWishYsh/OpenS2V-Eval) | [OpenS2V-5M](https://huggingface.co/datasets/BestWishYsh/OpenS2V-5M)
|
| 69 |
+
"""
|
| 70 |
+
|
| 71 |
+
SUBMIT_INTRODUCTION = """# Submission Guidelines
|
| 72 |
+
1. Fill in *'Model Name'* if it is your first time to submit your result **or** Fill in *'Revision Model Name'* if you want to update your result.
|
| 73 |
+
2. Fill in your home page to *'Model Link'* and your team name to *'Your Team Name'*.
|
| 74 |
+
3. After evaluation, follow the guidance in the [github repository](https://github.com/PKU-YuanGroup/OpenS2V-Nexus) to obtain `model_name.json` and upload it here.
|
| 75 |
+
4. Click the *'Submit Eval'* button.
|
| 76 |
+
5. Click *'Refresh'* to obtain the updated leaderboard.
|
| 77 |
+
"""
|
| 78 |
+
|
| 79 |
+
TABLE_INTRODUCTION = """In the table below, we use six dimensions as the primary evaluation metrics for each task.
|
| 80 |
+
1. Visual Quality: Aesthetics.
|
| 81 |
+
2. Motion Amplitude: Motion.
|
| 82 |
+
3. Text Relevance: GmeScore.
|
| 83 |
+
4. Subject Consistency: FaceSim and NexusScore.
|
| 84 |
+
5. Subject Naturalness: NaturalScore.
|
| 85 |
+
"""
|
| 86 |
+
|
| 87 |
+
TABLE_INTRODUCTION_HUMAN = """In the table below, we use six dimensions as the primary evaluation metrics for each task.
|
| 88 |
+
1. Visual Quality: Aesthetics.
|
| 89 |
+
2. Motion Amplitude: Motion.
|
| 90 |
+
3. Text Relevance: GmeScore.
|
| 91 |
+
4. Subject Consistency: FaceSim.
|
| 92 |
+
5. Naturalness: NaturalScore.
|
| 93 |
+
"""
|
| 94 |
+
|
| 95 |
+
CITATION_BUTTON_LABEL = "Copy the following snippet to cite these results"
|
| 96 |
+
CITATION_BUTTON_TEXT = r"""@article{yuan2025opens2v,
|
| 97 |
+
title={OpenS2V-Nexus: A Detailed Benchmark and Million-Scale Dataset for Subject-to-Video Generation},
|
| 98 |
+
author={Yuan, Shenghai and He, Xianyi and Deng, Yufan and Ye, Yang and Huang, Jinfa and Lin, Bin and Luo, Jiebo and Yuan, Li},
|
| 99 |
+
journal={arXiv preprint arXiv:2505.20292},
|
| 100 |
+
year={2025}
|
| 101 |
+
}"""
|
{file → file_v1.0}/model_name_Open-Domain.json
RENAMED
|
File without changes
|
{file → file_v1.0}/results_Human-Domain.csv
RENAMED
|
@@ -6,7 +6,7 @@ Model,Venue,Evaluated by,TotalScore↑,Aesthetics↑,Motion↑,FaceSim↑,GmeSco
|
|
| 6 |
[VACE-1.3B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,49.02%,53.18%,16.87%,22.29%,73.61%,73.00%
|
| 7 |
[VACE-14B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,58.57%,52.78%,11.76%,64.65%,69.53%,74.33%
|
| 8 |
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,53.64%,50.80%,14.14%,46.30%,72.17%,71.67%
|
| 9 |
-
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-
|
| 10 |
[HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom),Open-Source,OpenS2V Team,55.85%,49.67%,15.13%,62.25%,69.78%,67.00%
|
| 11 |
[Hailuo(20250503)](https://hailuoai.video/),Closed-Source,OpenS2V Team,60.20%,52.75%,31.83%,57.79%,71.42%,74.52%
|
| 12 |
[ConsisID](https://github.com/PKU-YuanGroup/ConsisID),Open-Source,OpenS2V Team,52.97%,41.76%,38.12%,43.14%,72.03%,64.67%
|
|
|
|
| 6 |
[VACE-1.3B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,49.02%,53.18%,16.87%,22.29%,73.61%,73.00%
|
| 7 |
[VACE-14B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,58.57%,52.78%,11.76%,64.65%,69.53%,74.33%
|
| 8 |
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,53.64%,50.80%,14.14%,46.30%,72.17%,71.67%
|
| 9 |
+
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-A2),Open-Source,OpenS2V Team,54.27%,39.88%,31.98%,55.02%,63.63%,67.33%
|
| 10 |
[HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom),Open-Source,OpenS2V Team,55.85%,49.67%,15.13%,62.25%,69.78%,67.00%
|
| 11 |
[Hailuo(20250503)](https://hailuoai.video/),Closed-Source,OpenS2V Team,60.20%,52.75%,31.83%,57.79%,71.42%,74.52%
|
| 12 |
[ConsisID](https://github.com/PKU-YuanGroup/ConsisID),Open-Source,OpenS2V Team,52.97%,41.76%,38.12%,43.14%,72.03%,64.67%
|
{file → file_v1.0}/results_Open-Domain.csv
RENAMED
|
@@ -6,6 +6,6 @@ Model,Venue,Evaluated by,TotalScore↑,Aesthetics↑,Motion↑,FaceSim↑,GmeSco
|
|
| 6 |
[VACE-1.3B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,45.53%,48.24%,18.83%,20.58%,71.26%,37.95%,71.78%
|
| 7 |
[VACE-14B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,52.87%,47.21%,15.02%,55.09%,67.27%,44.20%,72.78%
|
| 8 |
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,50.71%,46.67%,14.29%,48.55%,69.43%,42.44%,70.26%
|
| 9 |
-
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-
|
| 10 |
[Phantom-14B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,52.32%,46.39%,33.42%,51.48%,70.65%,37.43%,68.66%
|
| 11 |
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Open-Source,OpenS2V Team,47.93%,45.02%,21.81%,30.83%,70.47%,43.04%,69.49%
|
|
|
|
| 6 |
[VACE-1.3B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,45.53%,48.24%,18.83%,20.58%,71.26%,37.95%,71.78%
|
| 7 |
[VACE-14B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,52.87%,47.21%,15.02%,55.09%,67.27%,44.20%,72.78%
|
| 8 |
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,50.71%,46.67%,14.29%,48.55%,69.43%,42.44%,70.26%
|
| 9 |
+
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-A2),Open-Source,OpenS2V Team,49.61%,39.40%,25.60%,45.95%,64.54%,43.77%,67.22%
|
| 10 |
[Phantom-14B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,52.32%,46.39%,33.42%,51.48%,70.65%,37.43%,68.66%
|
| 11 |
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Open-Source,OpenS2V Team,47.93%,45.02%,21.81%,30.83%,70.47%,43.04%,69.49%
|
{file → file_v1.0}/results_Single-Domain.csv
RENAMED
|
@@ -6,7 +6,7 @@ Model,Venue,Evaluated by,TotalScore↑,Aesthetics↑,Motion↑,FaceSim↑,GmeSco
|
|
| 6 |
[VACE-1.3B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,47.33%,41.81%,33.78%,22.38%,65.35%,38.52%,76.00%
|
| 7 |
[VACE-14B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,58.00%,41.30%,35.54%,64.65%,58.55%,51.33%,77.33%
|
| 8 |
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,49.95%,42.98%,19.30%,44.03%,65.61%,37.78%,76.00%
|
| 9 |
-
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-
|
| 10 |
[HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom),Open-Source,OpenS2V Team,51.64%,34.08%,26.83%,55.93%,54.31%,50.75%,68.66%
|
| 11 |
[Phantom-14B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,53.17%,47.46%,41.55%,51.82%,70.07%,35.35%,69.35%
|
| 12 |
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Open-Source,OpenS2V Team,49.13%,46.31%,27.43%,33.77%,69.02%,42.45%,69.81%
|
|
|
|
| 6 |
[VACE-1.3B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,47.33%,41.81%,33.78%,22.38%,65.35%,38.52%,76.00%
|
| 7 |
[VACE-14B](https://github.com/ali-vilab/VACE),Open-Source,OpenS2V Team,58.00%,41.30%,35.54%,64.65%,58.55%,51.33%,77.33%
|
| 8 |
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,49.95%,42.98%,19.30%,44.03%,65.61%,37.78%,76.00%
|
| 9 |
+
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-A2),Open-Source,OpenS2V Team,51.64%,33.83%,21.60%,54.42%,61.93%,48.63%,70.60%
|
| 10 |
[HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom),Open-Source,OpenS2V Team,51.64%,34.08%,26.83%,55.93%,54.31%,50.75%,68.66%
|
| 11 |
[Phantom-14B](https://github.com/Phantom-video/Phantom),Open-Source,OpenS2V Team,53.17%,47.46%,41.55%,51.82%,70.07%,35.35%,69.35%
|
| 12 |
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Open-Source,OpenS2V Team,49.13%,46.31%,27.43%,33.77%,69.02%,42.45%,69.81%
|
file_v1.1/model_name_Open-Domain.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"total_score": 0.562269546381486,
|
| 3 |
+
"aes_score": 0.44594517904800374,
|
| 4 |
+
"motion_smoothness": 0.8693211435903602,
|
| 5 |
+
"motion_amplitude": 0.4160163568750958,
|
| 6 |
+
"facesim_cur": 0.4010164068564032,
|
| 7 |
+
"gme_score": 0.6620000359470859,
|
| 8 |
+
"nexus_score": 0.4588851569398767,
|
| 9 |
+
"natural_score": 0.745910020449898
|
| 10 |
+
}
|
file_v1.1/results_Human-Domain.csv
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Model,Venue,Evaluated by,TotalScore↑,Aesthetics↑,MotionSmoothness↑,MotionAmplitude↑,FaceSim↑,GmeScore↑,NaturalScore↑
|
| 2 |
+
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-A2),Closed-Source,OpenS2V Team,56.43%,39.89%,80.19%,31.49%,55.01%,63.63%,59.31%
|
| 3 |
+
[Vidu2.0(20250503)](https://www.vidu.cn/),Closed-Source,OpenS2V Team,57.7%,47.33%,91.31%,14.54%,38.5%,70.43%,67.78%
|
| 4 |
+
[EchoVideo](https://github.com/bytedance/EchoVideo),Closed-Source,OpenS2V Team,56.36%,39.93%,77.96%,35.58%,48.65%,68.4%,62.22%
|
| 5 |
+
[Hailuo(20250503)](https://hailuoai.video/),Closed-Source,OpenS2V Team,65.26%,52.75%,99.1%,31.8%,57.69%,71.42%,69.2%
|
| 6 |
+
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Closed-Source,OpenS2V Team,57.72%,51.2%,90.26%,14.76%,32.87%,70.88%,70.28%
|
| 7 |
+
[Concat-ID-CogVideoX](https://github.com/ML-GSAI/Concat-ID),Closed-Source,OpenS2V Team,55.89%,44.13%,81.9%,31.07%,43.87%,73.67%,58.75%
|
| 8 |
+
[HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom),Closed-Source,OpenS2V Team,61.22%,49.67%,84.73%,15.13%,62.25%,69.78%,60.56%
|
| 9 |
+
[Concat-ID-Wan-AdaLN](https://github.com/ML-GSAI/Concat-ID),Closed-Source,OpenS2V Team,59.85%,43.13%,85.86%,17.19%,50.05%,71.9%,68.47%
|
| 10 |
+
[FantasyID](https://github.com/Fantasy-AMAP/fantasy-id),Closed-Source,OpenS2V Team,54.33%,45.6%,85.44%,23.41%,32.48%,72.68%,62.36%
|
| 11 |
+
[ConsisID](https://github.com/PKU-YuanGroup/ConsisID),Closed-Source,OpenS2V Team,54.19%,41.77%,79.83%,37.99%,43.19%,72.03%,55.83%
|
| 12 |
+
[Kling1.6(20250503)](https://app.klingai.com/cn/),Closed-Source,OpenS2V Team,60.19%,50.94%,84.75%,50.02%,41.02%,67.79%,71.55%
|
| 13 |
+
[VideoMaker](https://github.com/WuTao-CS/VideoMaker),Closed-Source,OpenS2V Team,54.23%,31.76%,77.5%,50.09%,76.45%,45.28%,47.08%
|
| 14 |
+
[VACE-P1.3B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,53.97%,51.91%,95.8%,8.78%,19.98%,73.27%,65.83%
|
| 15 |
+
[VACE-1.3B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,54.9%,53.18%,95.84%,16.87%,22.29%,73.61%,65.28%
|
| 16 |
+
[Pika2.1(20250503)](https://pika.art/),Closed-Source,OpenS2V Team,56.84%,52.39%,85.29%,28.77%,29.42%,75.03%,67.53%
|
| 17 |
+
[ID-Animator](https://github.com/ID-Animator/ID-Animator),Closed-Source,OpenS2V Team,49.75%,42.03%,94.69%,33.54%,31.56%,52.91%,56.11%
|
| 18 |
+
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Closed-Source,OpenS2V Team,60.0%,50.8%,92.02%,14.09%,46.29%,72.17%,65.83%
|
| 19 |
+
[VACE-14B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,65.78%,52.78%,94.96%,11.76%,64.65%,69.53%,69.31%
|
| 20 |
+
[Phantom-14B](https://github.com/Phantom-video/Phantom),Closed-Source,OpenS2V Team,64.22%,49.14%,94.81%,41.24%,55.04%,72.55%,69.86%
|
file_v1.1/results_Open-Domain.csv
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Model,Venue,Evaluated by,TotalScore↑,Aesthetics↑,MotionSmoothness↑,MotionAmplitude↑,FaceSim↑,GmeScore↑,NexusScore↑,NaturalScore↑
|
| 2 |
+
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Closed-Source,OpenS2V Team,52.51%,45.02%,93.17%,21.81%,30.83%,70.47%,43.04%,66.9%
|
| 3 |
+
[VACE-P1.3B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,48.98%,47.34%,96.8%,12.03%,16.59%,71.38%,40.19%,64.31%
|
| 4 |
+
[Phantom-14B](https://github.com/Phantom-video/Phantom),Closed-Source,OpenS2V Team,56.77%,46.39%,96.31%,33.42%,51.46%,70.65%,37.43%,69.35%
|
| 5 |
+
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-A2),Closed-Source,OpenS2V Team,52.25%,39.41%,87.93%,25.6%,45.95%,64.54%,43.75%,60.32%
|
| 6 |
+
[Pika2.1(20250503)](https://pika.art/),Closed-Source,OpenS2V Team,51.88%,46.88%,87.06%,24.71%,30.38%,69.19%,45.4%,63.32%
|
| 7 |
+
[Kling1.6(20250503)](https://app.klingai.com/cn/),Closed-Source,OpenS2V Team,56.23%,44.59%,86.93%,41.6%,40.1%,66.2%,45.89%,74.59%
|
| 8 |
+
[Vidu2.0(20250503)](https://www.vidu.cn/),Closed-Source,OpenS2V Team,51.95%,41.48%,90.45%,13.52%,35.11%,67.57%,43.37%,65.88%
|
| 9 |
+
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Closed-Source,OpenS2V Team,54.89%,46.67%,93.3%,14.29%,48.56%,69.43%,42.48%,62.5%
|
| 10 |
+
[VACE-1.3B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,49.89%,48.24%,97.2%,18.83%,20.57%,71.26%,37.91%,65.46%
|
| 11 |
+
[VACE-14B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,57.55%,47.21%,94.97%,15.02%,55.09%,67.27%,44.08%,67.04%
|
file_v1.1/results_Single-Domain.csv
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Model,Venue,Evaluated by,TotalScore↑,Aesthetics↑,MotionSmoothness↑,MotionAmplitude↑,FaceSim↑,GmeScore↑,NexusScore↑,NaturalScore↑
|
| 2 |
+
[VACE-P1.3B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,49.2%,48.93%,95.68%,11.91%,18.04%,70.78%,36.24%,66.85%
|
| 3 |
+
[VACE-1.3B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,51.13%,49.41%,95.42%,22.51%,22.37%,70.87%,38.34%,68.33%
|
| 4 |
+
[Kling1.6(20250503)](https://app.klingai.com/cn/),Closed-Source,OpenS2V Team,56.67%,45.97%,85.76%,47.17%,39.27%,65.36%,49.3%,73.63%
|
| 5 |
+
[Pika2.1(20250503)](https://pika.art/),Closed-Source,OpenS2V Team,53.12%,47.43%,86.07%,26.32%,32.33%,69.84%,47.35%,64.68%
|
| 6 |
+
[SkyReels-A2-P14B](https://github.com/SkyworkAI/SkyReels-A2),Closed-Source,OpenS2V Team,55.06%,40.85%,85.54%,26.41%,54.42%,61.81%,48.6%,61.85%
|
| 7 |
+
[MAGREF-480P](https://github.com/MAGREF-Video/MAGREF),Closed-Source,OpenS2V Team,53.44%,46.31%,92.63%,27.43%,33.77%,69.02%,42.45%,68.33%
|
| 8 |
+
[Phantom-14B](https://github.com/Phantom-video/Phantom),Closed-Source,OpenS2V Team,57.02%,47.46%,94.86%,41.55%,51.82%,70.07%,35.3%,71.11%
|
| 9 |
+
[Phantom-1.3B](https://github.com/Phantom-video/Phantom),Closed-Source,OpenS2V Team,54.5%,49.0%,93.7%,16.38%,44.03%,69.54%,37.72%,66.76%
|
| 10 |
+
[VACE-14B](https://github.com/ali-vilab/VACE),Closed-Source,OpenS2V Team,61.75%,48.94%,93.16%,19.69%,64.65%,65.86%,50.82%,70.56%
|
| 11 |
+
[Vidu2.0(20250503)](https://www.vidu.cn/),Closed-Source,OpenS2V Team,52.9%,43.32%,91.88%,17.52%,36.19%,66.96%,44.84%,66.11%
|
| 12 |
+
[HunyuanCustom](https://github.com/Tencent-Hunyuan/HunyuanCustom),Closed-Source,OpenS2V Team,56.89%,44.84%,86.49%,17.94%,55.93%,62.71%,56.49%,58.98%
|