Spaces:
Running
Running
Update layout
Browse files- app.py +14 -1
- app_dup.py +72 -0
- demo_source_data +1 -0
app.py
CHANGED
@@ -35,6 +35,19 @@ with gr.Blocks(title="World-in-World: Building a Closed-Loop World Interface to
|
|
35 |
gr.HTML("<h1 style='text-align: center; margin-bottom: 1rem'>π World-in-World: Building a Closed-Loop World Interface to Evaluate World Models</h1>")
|
36 |
|
37 |
with gr.Tabs():
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
with gr.TabItem("π Leaderboard"):
|
39 |
leaderboard_table = gr.DataFrame(
|
40 |
value=create_leaderboard(),
|
@@ -69,4 +82,4 @@ with gr.Blocks(title="World-in-World: Building a Closed-Loop World Interface to
|
|
69 |
""")
|
70 |
|
71 |
if __name__ == "__main__":
|
72 |
-
demo.launch()
|
|
|
35 |
gr.HTML("<h1 style='text-align: center; margin-bottom: 1rem'>π World-in-World: Building a Closed-Loop World Interface to Evaluate World Models</h1>")
|
36 |
|
37 |
with gr.Tabs():
|
38 |
+
# New Zone before Leaderboard
|
39 |
+
with gr.TabItem("π§βπ« Instruction & Environment Feedback"):
|
40 |
+
with gr.Row():
|
41 |
+
with gr.Column(scale=1):
|
42 |
+
gr.HTML("<h3 style='text-align: center;'>Instruction:</h3>")
|
43 |
+
gr.Markdown("Navigate to the Toaster in the room and be as close as possible to it.")
|
44 |
+
|
45 |
+
with gr.Column(scale=2):
|
46 |
+
gr.HTML("<h3 style='text-align: center;'>Closed-Loop Environmental Feedback</h3>")
|
47 |
+
gr.Video("/home/user/app/demo_source_data/AR/FTwan21_lora/X7HyMhZNoso/E145/A001/world_model_gen/bbox_gen_video_1.mp4", label="Left Image")
|
48 |
+
gr.Image("/home/user/app/demo_source_data/AR/FTwan21_lora/X7HyMhZNoso/E145/A001/real_obs.png", label="Bird Eye View", type="pil")
|
49 |
+
gr.Model3D("/home/user/app/demo_source_data/scenes_glb/5ZKStnWn8Zo.glb", label="3D Scene")
|
50 |
+
|
51 |
with gr.TabItem("π Leaderboard"):
|
52 |
leaderboard_table = gr.DataFrame(
|
53 |
value=create_leaderboard(),
|
|
|
82 |
""")
|
83 |
|
84 |
if __name__ == "__main__":
|
85 |
+
demo.launch()
|
app_dup.py
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import pandas as pd
|
3 |
+
|
4 |
+
# Static data - reordered columns: Method, #Param., Input Type, Control Type, Model Type, Mean Traj. β, Acc. β
|
5 |
+
STATIC_DATA = [
|
6 |
+
["w/o WM", "72B", "RGB", "β", "VLM", 6.24, 50.27],
|
7 |
+
["PathDreamer [36]", "0.69B", "RGB-D; Sem; Pano", "Viewpoint", "Image Gen.", 5.28, 56.99],
|
8 |
+
["SE3DS [11]", "1.1B", "RGB-D; Pano", "Viewpoint", "Image Gen.", 5.29, 57.53],
|
9 |
+
["NWM [25]", "1B", "RGB", "Trajectory", "Video Gen.", 5.68, 57.35],
|
10 |
+
["SVD [6]", "1.5B", "RGB", "Image", "Video Gen.", 5.29, 57.71],
|
11 |
+
["LTX-Video [5]", "2B", "RGB", "Text", "Video Gen.", 5.37, 56.08],
|
12 |
+
["Hunyuan [4]", "13B", "RGB", "Text", "Video Gen.", 5.21, 57.71],
|
13 |
+
["Wan2.1 [23]", "14B", "RGB", "Text", "Video Gen.", 5.24, 58.26],
|
14 |
+
["Cosmos [1]", "2B", "RGB", "Text", "Video Gen.", 5.898, 52.27],
|
15 |
+
["Runway", "β", "β", "Text", "Video Gen.", "β", "β"],
|
16 |
+
["SVDβ [6]", "1.5B", "RGB; Pano", "Action", "Video Gen. Post-Train", 5.02, 60.98],
|
17 |
+
["LTXβ [5]", "2B", "RGB; Pano", "Action", "Video Gen. Post-Train", 5.49, 57.53],
|
18 |
+
["WAN2.1β [23]", "14B", "RGB; Pano", "Action", "Video Gen. Post-Train", "XXX", "XXX"],
|
19 |
+
["Cosmosβ [1]", "2B", "RGB; Pano", "Action", "Video Gen. Post-Train", 5.08, 60.25],
|
20 |
+
]
|
21 |
+
|
22 |
+
COLUMNS = ["Method", "#Param.", "Input Type", "Control Type", "Model Type", "Mean Traj. β", "Acc. β"]
|
23 |
+
|
24 |
+
def create_leaderboard():
|
25 |
+
df = pd.DataFrame(STATIC_DATA, columns=COLUMNS)
|
26 |
+
# Sort by accuracy in descending order (highest first), handling non-numeric values
|
27 |
+
df_clean = df.copy()
|
28 |
+
# Replace non-numeric values with -1 for sorting (so they appear at bottom)
|
29 |
+
df_clean['Acc. β'] = pd.to_numeric(df_clean['Acc. β'], errors='coerce').fillna(-1)
|
30 |
+
df_sorted = df_clean.sort_values('Acc. β', ascending=False)
|
31 |
+
# Return original df with the sorted order but original values
|
32 |
+
return df.iloc[df_sorted.index].reset_index(drop=True)
|
33 |
+
|
34 |
+
with gr.Blocks(title="World-in-World: Building a Closed-Loop World Interface to Evaluate World Models", theme=gr.themes.Soft()) as demo:
|
35 |
+
gr.HTML("<h1 style='text-align: center; margin-bottom: 1rem'>π World-in-World: Building a Closed-Loop World Interface to Evaluate World Models</h1>")
|
36 |
+
|
37 |
+
with gr.Tabs():
|
38 |
+
with gr.TabItem("π Leaderboard"):
|
39 |
+
leaderboard_table = gr.DataFrame(
|
40 |
+
value=create_leaderboard(),
|
41 |
+
headers=COLUMNS,
|
42 |
+
datatype=["str", "str", "str", "str", "str", "number", "number"],
|
43 |
+
interactive=False,
|
44 |
+
wrap=True
|
45 |
+
)
|
46 |
+
|
47 |
+
with gr.TabItem("π About"):
|
48 |
+
gr.Markdown("""
|
49 |
+
# World-in-World: Building a Closed-Loop World Interface to Evaluate World Models
|
50 |
+
|
51 |
+
This leaderboard showcases performance metrics across different types of AI models in world modeling tasks:
|
52 |
+
|
53 |
+
## Model Categories
|
54 |
+
- **VLM**: Vision-Language Models
|
55 |
+
- **Image Gen.**: Image Generation Models
|
56 |
+
- **Video Gen.**: Video Generation Models
|
57 |
+
- **Video Gen. Post-Train**: Post-training specialized Video Generation Models
|
58 |
+
|
59 |
+
## Metrics Explained
|
60 |
+
- **Acc. β**: Accuracy score (higher values indicate better performance)
|
61 |
+
- **Mean Traj. β**: Mean trajectory error (lower values indicate better performance)
|
62 |
+
|
63 |
+
## Notes
|
64 |
+
- β indicates post-training specialized models
|
65 |
+
- XXX indicates results pending/unavailable
|
66 |
+
- β indicates not applicable or not available
|
67 |
+
|
68 |
+
*Results represent performance on world modeling evaluation benchmarks and may vary across different evaluation settings.*
|
69 |
+
""")
|
70 |
+
|
71 |
+
if __name__ == "__main__":
|
72 |
+
demo.launch()
|
demo_source_data
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
Subproject commit 444734e2db2d0dc0533f12e31185e5859117b670
|