当前位置: 首页 > news >正文

NAVSIM 数据集:NAVSIM 中 scene_name、Scene、一个训练sample、filtered_scenes 的关系总结

NAVSIM 中scene_nameScene、训练 sample 与filtered_scenes的关系总结

1. 核心结论

在 NAVSIM 的语境下,一个scene_name下包含的所有帧,并不一定就是一个训练 sample

更准确地说:

scene_name 的所有帧 ≠ 一个 NAVSIM 训练 sample NAVSIM Scene 对象 ≈ 一个训练 / 评测 sample

NAVSIM 中真正的训练 sample,是由:

SceneLoader + SceneFilter

从 log 中的连续帧序列里切出来的一个固定长度窗口,并进一步封装成 NAVSIM 的Scene对象。

源码中Scenedataclass 的语义就是:

single sample in NAVSIM

因此,理解 NAVSIM 数据组织时,要区分:

原始数据里的 scene_name NAVSIM 源码里的 Scene 对象

这两个概念不是同一个层级。


2.scene_name是什么?

原始数据中的每一帧通常会带有字段:

scene_name="log-0060-scene-0001"

它表示:

当前 frame 属于 OpenScene / 原始数据中的哪个场景片段

例如一个 log 里可能有如下帧:

frame 0 -> scene_name = log-0060-scene-0001 frame 1 -> scene_name = log-0060-scene-0001 frame 2 -> scene_name = log-0060-scene-0001 ... frame 20 -> scene_name = log-0060-scene-0002

因此,scene_name更像是原始数据组织层面的场景片段 ID。

它不是 NAVSIM 训练 sample 的直接索引。


3. NAVSIM 的Scene是什么?

NAVSIM 源码中有一个Scenedataclass,通常包含:

scene_metadata map_api frames

其中:

frames = 一段连续帧序列

这段帧序列描述了:

自车状态 周围环境状态 历史信息 未来监督信息

在 NAVSIM 语境下,一个Scene对象通常就对应一个训练或评测 sample。

也就是说:

NAVSIM Scene 对象 = SceneFilter 切出来的固定长度 frame window = Dataset 每次 __getitem__ 使用的基本样本单位

4. NAVSIM 训练 sample 是如何生成的?

NAVSIM 不是简单地把同一个scene_name下的所有帧打包成一个 sample。

它的生成逻辑是:

logs / .pkl 文件 ↓ 读取 scene_dict_list ↓ SceneFilter 按固定长度切窗口 ↓ 得到 frame_list ↓ 过滤不合格窗口 ↓ 用当前帧 token 作为 key ↓ 保存到 filtered_scenes ↓ SceneLoader 构造 Scene 对象 ↓ Dataset 生成 feature / target

所以实际的 sample 单位是:

一个固定长度的 frame_list

而不是:

一个 scene_name 下的全部 frame

5.filtered_scenes是什么?

navsim/common/dataloader.py中,filtered_scenes本质上是一个字典:

filtered_scenes[token]=frame_list

它的含义是:

key = 当前帧 / initial frame 的 token value = 以这个 token 为规划起点的一段固定长度 frame_list

所以它不是:

filtered_scenes[scene_name] = 该 scene_name 下所有帧

而是:

filtered_scenes[current_frame_token] = 一个 NAVSIM sample 对应的帧窗口

6.filter_scenes()的核心逻辑

核心代码逻辑如下:

forframe_listinsplit_list(scene_dict_list,scene_filter.num_frames,scene_filter.frame_interval):iflen(frame_list)<scene_filter.num_frames:continueifscene_filter.has_routeandlen(frame_list[scene_filter
http://www.jsqmd.com/news/818634/

相关文章:

  • 别再死记硬背公式了!用Verilog手把手带你玩转DDS:从相位累加器到波形输出的保姆级仿真
  • R公司摆线针轮减速机装配线优化【附代码】
  • 【大白话说Java面试题 第51题】【JVM篇】第11题:什么情况下我们需要破坏双亲委派模型?
  • 多智能体协作框架:从架构设计到工程实践
  • TI AM5708异构多核开发板工业应用实战:从硬件解析到DSP协同编程
  • Android自动化技能库:从uiautomator2封装到实战巡检机器人构建
  • 轻量级爬虫框架TinyClaw:模块化设计与实战应用解析
  • 零信任运维推荐榜选型指南:门禁密评、门禁记录完整性、阅后即焚、防偷拍屏幕、防定位探测器、防录音、防录音器、防录音截断器选择指南 - 优质品牌商家
  • 不同分子量PEG修饰酶的研究与定制合成应用
  • 构建多平台博客数据分析工具:从数据聚合到可视化实践
  • 高功率ISG逆变器设计:从分立器件到电源模块的必然选择
  • 2026工业石墨阳极板技术解析:石墨热场/石墨片/石墨电极板/石墨电极棒/石墨硬毡/石墨管/石墨纸/石墨软毡/石墨靶材/选择指南 - 优质品牌商家
  • AI智能体开发脚手架:基于模板快速构建可工程化智能体系统
  • 对比直接采购与使用Token Plan套餐在长期项目中的成本观感
  • ElevenLabs被封/限频/断供后怎么办?——从备案资质、声纹版权到实时唇形同步,一文配齐国产可商用配音全栈方案
  • 2026年当下,江苏废电机回收行业优选服务商实力盘点 - 2026年企业推荐榜
  • 遥感数据分析避坑指南:哨兵2A计算NDVI/EVI时,90%的人会搞错的波段和公式
  • SDR++软件定义无线电入门终极指南:从零开始掌握跨平台SDR接收
  • 招商加盟、连锁机构如何做线上全网获客?2026加盟招商推广指南与服务商盘点 - 年度推荐企业名录
  • 191k Star 的 Superpowers:把 AI 从“会写代码“改造成“守纪律的工程师“
  • 嵌入式Linux设备型号信息全解析:从RK3562开发板到生产实践
  • JDspyder:3步实现京东抢购自动化的Python脚本解决方案
  • 基于HFSS-API的指数渐变传输线自动化建模与宽带匹配优化
  • local-claw:轻量级容器化开发环境工具的设计与实战
  • Katib:Kubernetes原生机器学习自动超参数调优实战指南
  • CloakBrowser 拆机:57 个 C++ 补丁能不能撑起“30/30 通过“的承诺?
  • 开源工具picprose:AI驱动的图片处理与文案生成一体化解决方案
  • 2026年5月更新:探寻靠谱废钢回收服务商,宁波皓诚再生资源有限公司深度解析 - 2026年企业推荐榜
  • PPT数据可视化——从Excel表格到专业图表的5分钟蜕变之路
  • 短视频代运营、抖音运营、短视频拍摄服务商2026全网获客指南与自媒体运营策略 - 年度推荐企业名录