SuperAPI AI 工具集

ncore

数据与分析

查看项目

更新于 10-16 02:34

技能介绍

用途:将任意传感器数据集转换为合法的 NVIDIA NCore V4 store,供 NuRec / Asset Harvester / ncore_vis 消费,或接入机器人到仿真(r2s)流程。适用于用户有原始传感器数据需被 NuRec 或 Asset Harvester 摄取,或现有转换器无法通过 validate.py、产生 NuRec 数据质量问题的场景。若用户已在 V4 上只想训练或渲染(用 nre 技能)、需要从稀疏视图生成逐对象 3D 资产(用 asset-harvester)、或只需浏览现有 NVIDIA 数据集(用 physical-ai-datasets),则不应使用本技能。

主要能力:覆盖两条路径。路径 A 驱动仓库内已有转换器(PAI、Waymo、COLMAP/ScanNet++),通过 Bazel 构建后按数据集运行;路径 B 针对不支持格式(PandaSet、NuScenes、KITTI、Argoverse、自定义 AV 平台、立体、单目+深度、单目+LiDAR、机器人 bag 等),从 ncore_template/ 模板编写新转换器,实现 get_sequence_ids、from_config、convert_sequence 等契约。也支持已有 numpy/torch 数组时跳过 Bazel,直接调用 ncore.data.v4 API 写入。

使用方式:安装 pip install nvidia-ncore;上游转换器需 git clone --depth 1 https://github.com/NVIDIA/ncore.git 并用 bazel build //tools/data_converter/pai:convert(或 waymo、colmap)。转换器接受 --root-dir、--output-dir、--no-cameras、--camera-id、--no-lidars、--lidar-id、--verbose 等基础参数,以及 pai-v4、pai-stream-v4、waymo-v4、colmap-v4、scannetpp-v4 子命令。常用子参数包括 --store-type {itar,directory}、--profile {default,separate-sensors,separate-all}、--sequence-meta/--no-sequence-meta、--world-global-mode {none,identity,localized}。路径 B 需复制模板并实现四个手写钩子,按 Poses → Intrinsics → Masks → Camera → LiDAR → Radar → Cuboids → finalize 顺序写入。

关键约定:时间戳统一为微秒 uint64,序列区间半开 [start, stop),动态位姿须精确覆盖区间;位姿中间计算用 float64,最后转 float32,但 world→world_global 保持 float64;动态位姿需重参考到首个 ego 位姿;位姿轨迹须密集(间距小于 LiDAR 扫描时长);T_camera_rig 与 T_lidar_rig 用 float32;LiDAR 方向向量为单位向量、位于传感器坐标、按每射线测量时刻计算;坐标系为 Rig +X 前 +Y 左 +Z 上,相机 +X 右 +Y 下 +Z 前,LiDAR 方位角 0°=+X、90°=+Y。

限制:需 Linux、Python ≥ 3.10、pip、git;路径 A 需 Bazel;每个转换片段可能占用数十 GB 磁盘;拉取受限 PAI 片段需 HF_TOKEN,且应使用长度检查避免泄露令牌。资料未提供具体收费、价格或性能数据。