ZhangYuhan commited on
Commit
e83848d
Β·
1 Parent(s): 4227c7b

update leaderboard

Browse files
leaderboards/object_hi3deval.csv CHANGED
@@ -1,5 +1,7 @@
1
  Method,Task,Geometry Plausibility,Geometry Details,Texture Quality,Geo.-Tex. Coherence,Prompt-3D Alignment,Overall
 
2
  hunyuan3d-2.0,"Image-to-3D",6.2919,2.7215,2.7644,0.9876,3.4334,16.1988
 
3
  trellis,"Image-to-3D",5.8626,2.392,2.4693,0.9702,3.5048,15.1989
4
  spar3d,"Image-to-3D",5.7791,2.3031,2.4749,0.9601,3.4842,15.0014
5
  triposr,"Image-to-3D",5.2216,2.4225,2.3758,0.9562,3.3643,14.3404
 
1
  Method,Task,Geometry Plausibility,Geometry Details,Texture Quality,Geo.-Tex. Coherence,Prompt-3D Alignment,Overall
2
+ hunyuan3d-2.5-i,"Image-to-3D",6.460,2.86,2.79,0.981,3.47,16.561
3
  hunyuan3d-2.0,"Image-to-3D",6.2919,2.7215,2.7644,0.9876,3.4334,16.1988
4
+ hunyuan3d-2.5-t,"Text-to-3D",6.42,2.7,2.45,0.947,3.18,15.697
5
  trellis,"Image-to-3D",5.8626,2.392,2.4693,0.9702,3.5048,15.1989
6
  spar3d,"Image-to-3D",5.7791,2.3031,2.4749,0.9601,3.4842,15.0014
7
  triposr,"Image-to-3D",5.2216,2.4225,2.3758,0.9562,3.3643,14.3404
serve/leaderboard.py CHANGED
@@ -10,29 +10,23 @@ import numpy as np
10
  import pandas as pd
11
  from serve.model import model_config
12
 
13
- def hyperlink(name, link):
14
- return f'<a target="_blank" href="{link}" style="color: var(--link-text-color); \
15
- text-decoration: underline;text-decoration-style: dotted;">{name}</a>'
 
 
 
 
16
 
17
- def amend_model_name(name, rank):
18
- model_name = model_config[name].model_name
19
  if rank==1:
20
- return "πŸ₯‡ " + model_name
21
  elif rank==2:
22
- return "πŸ₯ˆ " + model_name
23
  elif rank==3:
24
- return 'πŸ₯‰ ' + model_name
25
  else:
26
- return model_name
27
-
28
- def get_cfg_info(name):
29
- config = model_config[name]
30
- links = []
31
- if config.page_link:
32
- links.append(hyperlink("Page", config.page_link))
33
- if config.code_link:
34
- links.append(hyperlink("Code", config.code_link))
35
- return ", ".join(links) if links else "N/A", config.organization if config.organization else "N/A"
36
 
37
  def get_leaderboard_values(leaderboard_df):
38
  leaderboard_vals = []
@@ -43,13 +37,11 @@ def get_leaderboard_values(leaderboard_df):
43
  if model_name not in model_config.keys() or model_config[model_name].task != task:
44
  continue
45
 
46
- values = [rank, amend_model_name(model_name, rank), task]
 
47
  values = values + [row.get(dim, np.NaN) for dim in leaderboard_df.columns[2:]]
48
  # values.append(round(np.sum([v for v in values[3:] if pd.notna(v)]), 4))
49
-
50
- links, organization = get_cfg_info(model_name)
51
- # values.append(links)
52
- values.append(organization)
53
 
54
  leaderboard_vals.append(values)
55
  return leaderboard_vals
@@ -77,20 +69,22 @@ def build_leaderboard_tab(leaderboard_file: str, task: str = ""):
77
  # df = df.drop(df[df["Task"]!=task.split()[0]].index)
78
  leaderboard_df = df.drop(df[df["Method"].isnull()].index)
79
  leaderboard_df = leaderboard_df.reset_index(drop=True)
 
80
 
81
  leaderboard_vals = get_leaderboard_values(leaderboard_df)
82
  leaderboard = gr.Dataframe(
83
  headers = ['Rank', "πŸ€– Model", "πŸͺ§ Task" ]
84
  + [f"{dim}" for dim in leaderboard_df.keys()[2:-1]]
85
  + ["⭐ Overall", "πŸ›οΈ Orgnization"], # "πŸ”— Links",
86
- datatype = ["number", "str", "str"]
87
  + ["number"] * (len(leaderboard_df.columns) - 3)
88
- + ["number", "str"],
89
  value = leaderboard_vals,
90
  height = 680,
91
- column_widths = [60, 140, 100]
92
  + [120] * (len(leaderboard_df.columns) - 3)
93
- + [120, 160],
94
  wrap = True,
 
95
  )
96
  return leaderboard
 
10
  import pandas as pd
11
  from serve.model import model_config
12
 
13
+ def amend_model_name(config):
14
+ if config.page_link:
15
+ return '[' + config.model_name + '](' + config.page_link + ')'
16
+ elif config.code_link:
17
+ return '[' + config.model_name + '](' + config.page_link + ')'
18
+ else:
19
+ return config.model_name
20
 
21
+ def amend_rank(rank):
 
22
  if rank==1:
23
+ return "πŸ₯‡"
24
  elif rank==2:
25
+ return "πŸ₯ˆ"
26
  elif rank==3:
27
+ return 'πŸ₯‰'
28
  else:
29
+ return rank
 
 
 
 
 
 
 
 
 
30
 
31
  def get_leaderboard_values(leaderboard_df):
32
  leaderboard_vals = []
 
37
  if model_name not in model_config.keys() or model_config[model_name].task != task:
38
  continue
39
 
40
+ cfg = model_config[model_name]
41
+ values = [amend_rank(rank), amend_model_name(cfg), task]
42
  values = values + [row.get(dim, np.NaN) for dim in leaderboard_df.columns[2:]]
43
  # values.append(round(np.sum([v for v in values[3:] if pd.notna(v)]), 4))
44
+ values.append(cfg.organization if cfg.organization else "N/A")
 
 
 
45
 
46
  leaderboard_vals.append(values)
47
  return leaderboard_vals
 
69
  # df = df.drop(df[df["Task"]!=task.split()[0]].index)
70
  leaderboard_df = df.drop(df[df["Method"].isnull()].index)
71
  leaderboard_df = leaderboard_df.reset_index(drop=True)
72
+ leaderboard_df = leaderboard_df.sort_values(by="Overall", ascending=False).reset_index(drop=True)
73
 
74
  leaderboard_vals = get_leaderboard_values(leaderboard_df)
75
  leaderboard = gr.Dataframe(
76
  headers = ['Rank', "πŸ€– Model", "πŸͺ§ Task" ]
77
  + [f"{dim}" for dim in leaderboard_df.keys()[2:-1]]
78
  + ["⭐ Overall", "πŸ›οΈ Orgnization"], # "πŸ”— Links",
79
+ datatype = ["number", "markdown", "markdown"]
80
  + ["number"] * (len(leaderboard_df.columns) - 3)
81
+ + ["number", "markdown"],
82
  value = leaderboard_vals,
83
  height = 680,
84
+ column_widths = [60, 120, 100]
85
  + [120] * (len(leaderboard_df.columns) - 3)
86
+ + [120, 180],
87
  wrap = True,
88
+ type="pandas",
89
  )
90
  return leaderboard
serve/markdown.py CHANGED
@@ -1,3 +1,7 @@
 
 
 
 
1
 
2
  def hyperlink(name, link):
3
  return f'<a target="_blank" href="{link}" style="color: var(--link-text-color); \
@@ -77,10 +81,16 @@ This leaderboard integrates results from three complementary benchmarks that spa
77
  return md
78
 
79
 
80
- def get_hi3deval_intro_md(num_model=None):
 
81
  md = f'''
82
  This leaderboard is evaluated using **Hi3DEval**, a straight forward scoring benchmark that does **not rely on pairwise comparisons**.
83
 
 
 
 
 
 
84
  Specifically, each dimension is assigned an absolute score within clearly defined value ranges:
85
 
86
  - Geometry Plausibility: range [0, 9]
 
1
+ home_icon = "https://img.shields.io/badge/Website-Page-blue?logo=homeassistant&logoColor=white&style=flat-square"
2
+ arxiv_icon = "https://img.shields.io/badge/ArXiv-Paper-b31b1b?logo=arxiv&logoColor=white&style=flat-square"
3
+ github_icon = "https://img.shields.io/badge/GitHub-Repo-181717?logo=github&logoColor=white&style=flat-square"
4
+
5
 
6
  def hyperlink(name, link):
7
  return f'<a target="_blank" href="{link}" style="color: var(--link-text-color); \
 
81
  return md
82
 
83
 
84
+
85
+ def get_hi3deval_intro_md():
86
  md = f'''
87
  This leaderboard is evaluated using **Hi3DEval**, a straight forward scoring benchmark that does **not rely on pairwise comparisons**.
88
 
89
+ <div style="display: flex; gap: 10px; align-items: center;">
90
+ <a href="https://zyh482.github.io/Hi3DEval/" target="_blank"><img src="{home_icon}"></a>
91
+ <a href="https://arxiv.org/abs/xxxx.xxxxx" target="_blank"> <img src="{arxiv_icon}"></a>
92
+ </div>
93
+
94
  Specifically, each dimension is assigned an absolute score within clearly defined value ranges:
95
 
96
  - Geometry Plausibility: range [0, 9]
serve/model.py CHANGED
@@ -83,6 +83,17 @@ register_model_config(
83
  organization="ByteDance"
84
  )
85
 
 
 
 
 
 
 
 
 
 
 
 
86
  register_model_config(
87
  nick_name="grm-t",
88
  model_name="GRM",
@@ -139,12 +150,12 @@ register_model_config(
139
  organization="Tencent Hunyuan3D Team"
140
  )
141
  register_model_config(
142
- nick_name="hunyuan3d-2.5",
143
  model_name="Hunyuan3D 2.5",
144
  task="Image-to-3D",
145
  representation="",
146
  paradigm="",
147
- page_link="",
148
  code_link="",
149
  organization="Tencent Hunyuan3D Team"
150
  )
 
83
  organization="ByteDance"
84
  )
85
 
86
+ register_model_config(
87
+ nick_name="hunyuan3d-2.5-t",
88
+ model_name="Hunyuan3D 2.5",
89
+ task="Text-to-3D",
90
+ representation="",
91
+ paradigm="",
92
+ page_link="https://3d-models.hunyuan.tencent.com/",
93
+ code_link="",
94
+ organization="Tencent Hunyuan3D Team"
95
+ )
96
+
97
  register_model_config(
98
  nick_name="grm-t",
99
  model_name="GRM",
 
150
  organization="Tencent Hunyuan3D Team"
151
  )
152
  register_model_config(
153
+ nick_name="hunyuan3d-2.5-i",
154
  model_name="Hunyuan3D 2.5",
155
  task="Image-to-3D",
156
  representation="",
157
  paradigm="",
158
+ page_link="https://3d-models.hunyuan.tencent.com/",
159
  code_link="",
160
  organization="Tencent Hunyuan3D Team"
161
  )