跳到主要内容

数据上传

数据上传页面把本地文件或对象存储中的数据导入平台。平台内的数据集以 MCAP 为基准格式:视频与音频在浏览器内转换为 MCAP,BAG 由后台服务转换为 MCAP,MCAP 与 LeRobot 目录按原样入库。导入完成后的数据集在数据管理页面统一检索与预览。

上传页面的格式选择与项目、存储选择(管理员,测试环境)

使用前提​

选择接入方式、项目与云存储后,页面才显示对应的上传表单。

项内容
菜单入口数据 → 上传
路由/upload
必需权限「数据上传」
接口校验上传记录写入接口校验 「数据列表」
可见角色管理员、项目经理、采集员
项目前置未选择项目时提示「请先选择项目」
云存储前置未选择云存储时提示「请选择云存储」;无可选项时由管理员在云存储页面配置

数据接入​

接入方式​

页面顶部的接入方式卡片决定上传入口与转换行为。

接入方式支持格式转换行为约束
MCAP 文件MCAP原文件入库,不做转换无
BAG 文件BAG后台识别 ROS1 或 ROS2 并转换为 MCAP转换在服务端执行
视频文件MP4、WebM(浏览器可解码的视频容器)浏览器内转码为 MCAP需 Chrome 94+ 或 Edge 94+
音频文件MP3、WAV、AAC、Ogg浏览器内转为 AudioData 消息依赖浏览器的音频解码能力,无浏览器类型限制
图片文件JPG、PNG原文件入库,用于图像标注无
HDF5 文件HDF5上传时选择机器人类型,入库后按预处理管道处理需管理员配置预处理管道
LeRobot 文件夹LeRobot v2、v3校验 meta/info.json 后流式打包为 tar需选择整个数据集文件夹
美团文件夹美团采集目录(data 与 video)打包上传后预处理为 MCAP需管理员配置预处理管道
Lumos FastUMI 文件夹UMI、EGO按 session 打包为 .lumos需管理员配置预处理管道
zc0touch 文件夹含 data.json 的目录每个目录打包为 .zc0touch需管理员配置预处理管道
SenseXperience 文件夹设备采集 episode 目录按 episode 目录上传仅在已配置 sensexperience 对象存储时显示
BVH 文件BVH原文件入库,用于动作可视化标注需管理员配置预处理管道
批量自动上传取决于脚本数据类型本地脚本监控目录并自动上传见「批量上传脚本」
从云端导入MCAP、HDF5、LeRobot扫描对象存储后导入需先选择项目

浏览器前置条件​

视频转 MCAP 依赖浏览器的 MediaStreamTrackProcessor 与 HTMLVideoElement.captureStream(Firefox 前缀 mozCaptureStream 作为回退)。页面在进入视频接入方式时检测这两个接口是否存在,属运行时能力检测,不按浏览器版本白名单判断。

项目取值
依赖接口MediaStreamTrackProcessor;HTMLVideoElement.captureStream
检测方式运行时检测上述接口是否存在
支持浏览器Chrome 94+、Edge 94+(同时提供两个接口)
不支持浏览器Firefox 不提供 MediaStreamTrackProcessor;Safari 18+ 提供 MediaStreamTrackProcessor,但不提供 HTMLVideoElement.captureStream
检测时机进入视频接入方式时
不支持时表现提示「浏览器不兼容」并阻止拖拽与选择文件
兼容处置改用 Chrome 94+ 或 Edge 94+;或先将文件转换为 MCAP 后按 MCAP 文件上传

视频转换参数​

选择视频接入方式后显示以下参数,转换在浏览器内执行。

参数取值默认值约束
图像画质20%、50%、70%、100%70%画质越高,文件越大、耗时越长
视频帧率自动、10 FPS、15 FPS、30 FPS自动自动按原视频帧率处理
包含音频勾选、取消勾选勾选决定是否保留音轨

音频转换参数​

音频文件转为 ROS 标准 AudioData 消息,无需配置。

项目取值
输出消息ROS 消息类型 audio_common_msgs/msg/AudioData,写入 io_teleop/audio_data 话题,消息编码 CDR
消息频率固定 10 Hz
采样格式16 位有符号小端 PCM(s16le)
元数据通道记录采样率、声道数与编码格式(s16le)
声道处理按原声道数逐声道写入

上传与导入​

上传队列与进度​

同一批次的上传以列表逐条显示状态。文件大小决定上传方式与可用的操作。

项目取值说明
分片上传阈值100 MB超过该值使用分片上传,分片大小 10 MB
暂停与续传仅分片上传支持未达到阈值的文件只提供取消
进度显示上传速度、已上传与总大小、预计剩余时间逐文件刷新
离开确认有文件处于上传或等待状态时关闭或刷新页面时弹出确认
视频处理超时10 分钟超时后本次转换失败

上传状态​

列表逐条显示状态,取值与后续动作如下。

状态含义后续动作
pending文件已选择,等待开始无
uploading正在转换或上传无
paused分片上传已暂停点击续传
success上传成功,数据集已创建点击「查看数据集」
error处理或上传失败查看原因后重试
cancelled上传被取消重新上传

重复上传与同名校验​

上传记录写入接口按来源地址判重;同项目同名记录按系统配置 DATASET_REUPLOAD_RECOVER 处理。

命中情况处理结果
来源地址与已有数据集一致复用已有记录合并上传信息,不新建,提示「文件已存在」
同项目存在同名未删除数据集复用已有记录不新建
同名数据集已删除,恢复开关为开启恢复保留原有标注、任务关联与数据标签
同名数据集已删除,恢复开关为关闭拒绝提示「同项目同名数据已删除,当前系统配置禁止恢复后重传」
无同名记录新建建立新数据集,必要时追加后缀名

批量上传脚本​

「批量自动上传」提供在机器人终端运行的脚本,监控指定目录并自动上传新文件。脚本按当前项目与云存储生成。

项目取值
数据类型单文件(mcap、bag、hdf5)、文件夹(智元机器人数据格式)、文件夹(LeRobot 数据格式)、文件夹(美团采集格式)、文件夹(鹿明 FastUMI)、文件夹(zc0touch)
父目录层级0 层(默认)、1 层、2 层
脚本命令upload(前台运行)、install(安装为 systemd 服务)、uninstall(卸载服务)
权限要求upload 为普通用户;install 与 uninstall 需 root

父目录层级用于避免同名文件冲突:0 层直接使用文件名,1 层加直接父目录前缀,2 层加两层父目录前缀。例如 episode_1.mcap 在 2 层模式下变为 2025-01-01_10-30_episode_1.mcap。

从云端导入​

「从云端导入」扫描对象存储并导入既有数据。

项目取值
数据类型MCAP、HDF5、LeRobot
运行模式测试(仅扫描并预览)、导入(扫描后入库)
统计项发现数量、待导入数量、已导入数量、导入数量
逐条状态to_import(待导入)、already_imported(已导入)

约束与限制​

项目取值适用范围
项目与云存储均为必选全部接入方式
分片上传阈值100 MB单文件
分片大小10 MB单文件
视频处理超时10 分钟视频接入方式
视频转换浏览器Chrome 94+、Edge 94+视频接入方式
隐藏文件排除打包上传时排除名称以「.」开头的文件文件夹类接入方式
空文件拦截大小为 0 的文件不能上传单文件
HDF5 机器人类型预处理管道配置了机器人类型时必选HDF5 接入方式

失败处理​

现象可能原因处置责任方
提示「请先选择项目」未选择归属项目在项目选择器中选择项目上传人
提示「请选择云存储」未选择目标云存储选择云存储;无可选项时联系管理员配置上传人、管理员
视频接入提示「浏览器不兼容」浏览器缺少 MediaStreamTrackProcessor 或 HTMLVideoElement.captureStream改用 Chrome 94+ 或 Edge 94+;或先转换为 MCAP 后上传上传人
视频处理超时视频时长或分辨率过高降低画质或帧率后重试上传人
上传失败并显示原因网络中断、文件损坏、存储空间不足分片上传可续传;文件损坏先修复;空间不足联系管理员扩容上传人、管理员
提示「不能上传空文件」所选文件大小为 0改用有效文件上传人
LeRobot 打包校验失败缺少 meta/info.json 或目录结构不符按 LeRobot 目录结构补齐后重新上传上传人
提示「文件已存在」来源地址与已有数据集重复在数据管理页面确认既有记录上传人
提示同项目同名数据已删除系统配置禁止恢复后重传联系管理员调整恢复配置,或改用其他文件名管理员

相关页面​

页面用途
数据管理上传后数据集的检索、预览与批量操作
标注任务为上传的数据创建标注任务
数据导出导出标注结果用于训练
模块权限配置 「数据上传」 等模块权限
数据格式MCAP 与 ROS 数据模型口径