serendipityAc2Win's picture
Deploy EmbodiedCity leaderboard
c162d1f verified
Raw
History Blame Contribute Delete
1.36 kB
from typing import List
from .data_loader import METRIC_CHOICES, DIMENSION_METRICS
def get_metric_choices() -> List[str]:
"""获取带标记的指标选项"""
# 获取基础指标(排除维度指标和EWMScore)
basic_metrics = [m for m in METRIC_CHOICES if m not in DIMENSION_METRICS and m != "EWMScore"]
# 对维度指标加特殊标记,并按特定顺序排序
# 定义维度指标的顺序
dimension_order = ["Visual Quality", "Motion Quality", "Content Consistency",
"Physics Adherence", "3D Accuracy", "Controllability"]
# 确保维度指标按照指定顺序排列
ordered_dimensions = []
for dim in dimension_order:
if dim in DIMENSION_METRICS:
ordered_dimensions.append(dim)
# 添加可能遗漏的维度指标
for dim in DIMENSION_METRICS:
if dim not in ordered_dimensions:
ordered_dimensions.append(dim)
dimension_choices = [f"📊 {m}" for m in ordered_dimensions]
# 将EWMScore放在第一个,然后维度指标,最后基础指标
return ["EWMScore"] + dimension_choices + sorted(basic_metrics)
def clean_metric_names(metrics: List[str]) -> List[str]:
"""清理指标名称(去除特殊标记)"""
return [m.replace("📊 ", "") for m in metrics]