Nuscenes 榜单处理

简介: description 英文翻译中文根据年份、传感器模态过滤待续。。。日期2024/03/19:根据 NDS、mAP、Date 排序2024/03/14:文章撰写日期

最近有个关于 Nuscenes 数据集打榜任务。在调研的过程中需要看 Nuscenes 榜单中的算法。但是算法太多,且都是折叠的,需要一个个点开看,很不方便。发现榜单是用 json 文件组织的。故写了一个可以轻松处理榜单 json 的类。

关于如何获取 Nuscenes json 的 URL 看前文:获取游览器具体下载地址。

import pandas as pd
import requests
from datetime import datetime

class NusLeaderBoard:

"""
这是一个可以批处理 Nuscenes 3D Objecet 榜单的类
已完成的功能:
1.从网页上获取榜单数据,并导出为 Excel 文件
2.根据 NDS、mAP、Date 排序
TODO:
description 英文翻译中文
根据年份、传感器模态过滤
"""

def __init__(self, detection_url) -> None:
    self.detection_url = detection_url  # "https://nuscenes.org/detection.json"
    self.json_data = self.get_detection_json()

def get_detection_json(self):
    """
    抓取 Nuscenes 3D Object Detection 榜单数据
    """
    response = requests.get(self.detection_url)
    if response.status_code == 200:
        json_data = response.json()
        return json_data

def _parse_datetime(self, time_str):
    """
    将时间字符串解析为 datetime 类型。时间字符串有两种类型:
        formats = ['%Y-%m-%dT%H:%M:%S.%fZ', '%Y-%m-%dT%H:%M:%S']
    自动匹配传入的字符串 time_str 格式
    """
    formats = ['%Y-%m-%dT%H:%M:%S.%fZ', '%Y-%m-%dT%H:%M:%S']
    for fmt in formats:
        try:
            return datetime.strptime(time_str, fmt)
        except ValueError:
            pass
    raise ValueError("Unsupported datetime format: {}".format(time_str))

def sort(self, key="NDS", reverse=True):
    """
    根据 NDS、mAP 排序
    key: 排序关键字,"Date", "mAP", "mATE", "mASE", "mAOE", "mAVE", "mAAE", "NDS"
    """
    if key == "Date":
        self.json_data = sorted(
            self.json_data,
            key=lambda x: self._parse_datetime(x["meta"]["submit_meta"][
                "submitted_at"]),
            reverse=reverse)
    else:
        self.json_data = sorted(
            self.json_data,
            key=lambda x: x["result"][0]["test_split"][key],
            reverse=reverse)

def export2excel(self, json_data=None, output_path='output.xlsx'):
    data = []
    for method in json_data:
        method_name = method['meta']['submit_meta']["method_name"]
        method_description_en = method['meta']['submit_meta'][
            "method_description"]
        # method_description_cn = translator.translate(method_description_en, src='en', dest='zh-cn')
        data.append([method_name, method_description_en])
    df = pd.DataFrame(data, columns=['method_name', 'method_description'])
    # 将数据导出到Excel文件
    df.to_excel(output_path, index=False)

if name == '__main__':

nlb = NusLeaderBoard("https://nuscenes.org/detection.json")
nlb.sort(key="NDS")
nlb.export2excel(nlb.json_data, 'output.xlsx')

已完成的功能
image.png
):

从网页上获取榜单数据
image.png
)
并导出为 Excel 文件
根据 NDS、mAP、Date 排序
TODO:

description 英文翻译中文
根据年份、传感器模态过滤
待续。。。

日期
2024/03/19:根据 NDS、mAP、Date 排序
2024/03/14:文章撰写日期

相关文章
|
7月前
|
数据采集 供应链 算法
钛媒体重磅揭晓年度创新场景Top10榜单,宝洁等十家企业上榜
钛媒体重磅揭晓年度创新场景Top10榜单,宝洁等十家企业上榜
145 0
|
18天前
|
人工智能 自然语言处理 搜索推荐
浪潮信息 Yuan-embedding-1.0 模型登顶MTEB榜单第一名
浪潮信息Yuan-Embedding-1.0模型在C-MTEB评测基准中荣获Retrieval任务第一名,推动中文语义向量技术发展
|
6天前
|
数据可视化 项目管理 数据库
一文看懂团队协作工具:谁能胜出2024榜单?
随着远程办公和数字化管理的普及,团队协作工具成为企业必备。本文深入评测了六款主流工具:板栗看板、Notion、Trello、Asana、ClickUp 和 Slack,从功能特色、优缺点、使用场景及性价比等方面进行分析,帮助你选择最适合团队的协作利器。
20 0
|
4月前
|
人工智能 测试技术 计算机视觉
7B最强长视频模型! LongVA视频理解超千帧,霸榜多个榜单
【8月更文挑战第1天】新模型LongVA实现7B级最强长视频理解!通过长上下文转移技术,LongVA能够处理超千帧视频,显著提升长视频理解精度。不同于传统模型依赖视觉重采样导致的信息损失,LongVA扩展语言主干上下文长度,无需额外视频训练即可理解大量视觉标记。在V-NIAH等基准上取得SOTA成绩,处理2000帧以上视频无额外复杂度增加。但实时应用及非视频任务仍面临挑战。[论文](https://arxiv.org/abs/2406.16852)
93 4
|
7月前
|
传感器 自动驾驶 安全
镭神智能荣登2023科创好公司榜单
榜单评选根据科创企业近三年营业收入复合增长率等经营维度、总融资金额等资金维度、发明专利申请等科创维度,三大方面全面拆解企业实力,评选出芯片半导体、创新医疗、智能制造、数字经济、新能源汽车及智能驾驶、新能源及碳中和、新材料等七大科创赛道内有杰出表现的公司,为中国科创行业的发展风向提供了一份观察视角。
|
机器学习/深度学习 编解码 人工智能
2022年「百强AI论文」出炉:清华紧随谷歌排名第二,宁波工程学院成最大黑马
2022年「百强AI论文」出炉:清华紧随谷歌排名第二,宁波工程学院成最大黑马
2022年「百强AI论文」出炉:清华紧随谷歌排名第二,宁波工程学院成最大黑马
|
安全 数据可视化 量子技术
Nature Index增刊发布:中科院影响力位列榜首,天津大学获最高国际合作得分
Nature Index增刊发布:中科院影响力位列榜首,天津大学获最高国际合作得分
246 0
|
关系型数据库 MySQL
如何快速实现一个榜单排名的需求
可以看到使用rank()函数的时候相同的点赞数会返回相同的排名,排名会产生跳跃,最终的排名不是连续的 dense_rank()
107 0
|
云栖大会 Anolis 开发者
|
Java BI Go
TIOBE 5 月榜单出炉:C# 增速最快,有望进入 TOP3
近期,TIOBE 发布 5 月份编程语言排行榜,和 4 月相比,本月编程语言 Top 10 并没有明显的位置变化,Top 5 依然是 Python、C、Java、C++ 和 C#,不过本次榜单最值得关注的是 C# 在所有编程语言中增幅最高,为 1.98%。
133 0
TIOBE 5 月榜单出炉:C# 增速最快,有望进入 TOP3