news 2026/9/10 10:46:15

CVAT 3D 点云标注:从 LiDAR 数据到自动驾驶数据集的完整链路

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CVAT 3D 点云标注:从 LiDAR 数据到自动驾驶数据集的完整链路

CVAT 3D 点云标注:从 LiDAR 数据到自动驾驶数据集的完整链路

【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat

CVAT(Computer Vision Annotation Tool)的 3D 标注能力,让你在浏览器里完成 LiDAR 点云标注的完整链路:服务端自动识别 .pcd 点云与 Velodyne .bin 数据并统一转换,cvat-canvas3d/ 前端画布提供透视加三个正投影的同步编辑,cuboid 标注配合 Track 插值,把原始点云变成 3D 检测与跟踪数据集。值得关注的是,它把点云标注纳入了和 2D 任务相同的项目、质检与团队协作体系,而不是一个孤立的桌面工具。

🧭 快速认知:3D 标注链路如何组成

核心组成可以拆成四层:

  • cvat-canvas3d/:TypeScript 编写的 3D 画布模块,负责点云渲染与 cuboid 绘制编辑,对外暴露 perspective、top、side、front 四个视图节点。
  • cvat/apps/engine/media_extractors.py:后端媒体抽取器,上传时自动检测数据维度,并把 Velodyne 的 .bin 点云转换成 .pcd 统一处理。
  • 上下文图像机制:数据集中带同步相机图时,透视窗口可并排显示 context image,帮助判断点云里的物体类别。
  • cvat-sdk/:Python SDK,覆盖建任务、传数据、导入导出标注的全流程,支持脚本化批处理。

技术栈上,前端是 TypeScript 加 WebGL 渲染,多视图状态由同一个 3D 模型对象维护,任一视图的编辑都会同步到其他视图。

🚀 上手路径:从点云归档到第一个 3D 标注

第一步,按目录结构组织点云归档。创建 3D 任务时,归档必须是下面四种结构之一,且 2D 与 3D 数据不能混在同一个任务里:

数据格式目录结构适用说明
Velodynevelodyne_points/data/.bin + data/.png原始 LiDAR 二进制数据,服务端自动转 pcd
3D pointcloudpointcloud/.pcd + related_images/点云与上下文图像分开组织
3D Option 1data/image.pcd + image.png点云与图像同名配对
3D Option 2data/image_1/image_1.pcd + context_*.png点云同目录放多张上下文图

第二步,创建任务。在 Tasks 页面点 +,上传归档,Dimension 选择 3D;CVAT 会根据点云文件自动确认数据维度。

第三步,画第一个 cuboid。在 Objects 面板选择 Draw new cuboid,选标签,选 Shape 或 Track;光标会跟随一个立方体,放到场景中后,用投影窗口微调位置和尺寸,拖动中点旋转朝向。

第四步,熟悉导航。Shift+方向键旋转相机,Alt+J/L、Alt+U/O 平移,Alt+K/I 缩放;投影窗口支持直接保存或拷贝当前视图截图。

第五步(可选),本地部署。克隆仓库后,用仓库根目录的 docker-compose.yml 通过 docker compose 拉起服务端:

git clone https://gitcode.com/GitHub_Trending/cvat/cvat cd cvat docker compose up -d

如果想跳过 UI 用脚本建任务,SDK 的调用骨架如下:

from cvat_sdk import make_client client = make_client(host="https://your-cvat-server", token="<token>") task = client.tasks.create(name="urban_lidar_01") task.upload_data("scenes.zip")

🔍 能力拆解:多视角同步标注与 cuboid 工具集

四视图画布:透视为主,投影微调

  • 透视(Perspective)是主工作窗口,提供点云场景的 3D 空间感知,也是放置、旋转 cuboid 的主要操作面。
  • Top / Side / Front 三个投影绑定在当前选中的 cuboid 上:选中后投影以该物体为中心,把它呈现为一个 2D 矩形,此时在投影里拖拽就等于在 3D 空间里精确调整。
  • 投影只显示选中的那个物体,在遮挡严重的城市街景里,这一点比纯 3D 拖拽更容易对齐。

Shape 与 Track:单帧标注与序列跟踪

模式工作方式适用场景
Shape每帧独立标注,无连续性物体只出现一帧、或需要逐帧校验位置
Track基于插值预测后续帧位置,唯一 ID 贯穿序列同一物体跨帧跟踪,减少重复劳动

Track 模式下,你在第 1 帧放好 cuboid,前进几帧后它会出现在对应位置(插值结果),只需微调,不用每帧重画。对一条行车轨迹来说,工作量差距是明显的。

cuboid 还提供两个细节能力:一是 objects 侧边栏的 details 面板可以手动输入 X(长)、Y(宽)、Z(高)三个尺寸数值,适合车辆这类尺寸已知的物体;二是外观选项里可以开关 cuboid 朝向箭头(X 红、Y 绿、Z 蓝),俯仰角对齐时更直观。另外,cuboid 支持 Shift+N 剪切、Ctrl+C/V 复制粘贴,粘贴时需要双击把物体放到 3D 空间里,批量摆放重复物体时会用到。

LiDAR 加相机多模态联动

当归档里带同步相机图(related_images 目录或点云同目录的图像)时,透视窗口会自动带出 context image。点云擅长几何与位置,但类别区分(车、人、骑行者)有时看不清,标注员对照相机帧判断类别,这是 CVAT 提升点云标注准确率的关键机制。

⚙️ 质量与效率:从个人速度到团队产出

效率侧有三个主要抓手:

  • 分段并行:高级配置里的 Segment size 可以把大集拆成多个段落,分配成不同 job 给多名标注员,同一任务上并发标注。
  • 插值减负:Track 模式标注关键帧,中间帧由插值补齐,单个物体的手工标注帧数大幅下降。
  • 在线处理:任务创建时开启 Use cache 后,数据 on-the-fly 处理并缓存,减少任务创建前的等待时间。

质量侧,cvat/apps/quality_control/ 提供了系统化的质检机制:

机制作用
一致性检查比较同一物体不同帧标注的几何差异,IoU 不达标即标记
属性比对校验同一物体跨帧的属性值是否一致
质量报告生成质检报告,定位需要返工的帧与物体,可导出复查

建议的流程是:先在项目里配好质量需求(consistency、属性比对规则),标注员按 job 分段标注,质检报告出来后再定向返修,而不是全量人工复审。批量场景下,cvat-sdk 与 cvat-cli 都支持脚本化导入导出,质检后的修正标注可以走同一套 API 回写。

🏁 落地参考:自动驾驶 LiDAR 标注场景

典型配置思路:把街景按片段组织归档,每段一个 .pcd 配同步相机帧,Dimension 建为 3D;标签体系定义 car、pedestrian、cyclist 等类别,并为标签配置 occluded、truncated 属性;用 Track 模式完成整条轨迹跟踪,投影窗口负责精细对齐,质量报告负责收尾抽查。

几个实际限制要提前知道:

  • 2D 与 3D 数据不能混在同一任务。想同时标注相机图,走 context image 机制,而不是再建一个 2D 任务去对齐。
  • .bin 仅支持 Velodyne 目录结构,服务端会将其转为 .pcd;其他原始格式建议先转成 .pcd 再上传。
  • 点云渲染和传输受浏览器与网络带宽约束,超大场景建议用分段把单任务规模压下来。
  • 团队协作依赖 job 分配与质检流程,权限、任务分配建议在标注员入场前配好,避免事后返工。

🔭 延伸与展望

  • 自动化预标注:仓库提供 components/serverless/ 的 serverless 部署配置,把预训练模型挂成服务后,可先跑预标注再人工修正。
  • 数据集对接:数据集导出支持多种格式,dataset_manifest.md 中专门描述了 3D 点云数据,可直接对接下游训练管线。
  • 开发者接口:REST API 加 cvat-sdk,标注平台可以嵌进自己的 CI/数据处理流水线。

CVAT 的 3D 标注不只是一个浏览器里的 3D 工具,而是把点云数据、渲染、质检、协作放进同一条流水线:数据层统一 pcd 与 bin,渲染层是四视图同步画布,质量层是 quality_control,出口是 SDK 与多格式导出。如果团队正在启动自动驾驶数据标注,建议先用小规模场景跑通"归档 → 3D 任务 → Track 标注 → 导出"四步,验证格式和标签体系,再放大分段规模并接入质检流程。

【免费下载链接】cvatComputer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enterprise products, as well as labeling services, for image, video, and 3D annotation with AI-assisted labeling, quality assurance, team collaboration, analytics, and developer APIs.项目地址: https://gitcode.com/GitHub_Trending/cvat/cvat

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 10:45:25

2026游戏开黑语音哪个好用?NN 多端互通语音低延迟

开黑软件装了不少&#xff0c;最后每天打开的其实就一款。问题在于&#xff1a;下载前看宣传个个都说自己好&#xff0c;真正用起来才发现——有的开黑频道管理费劲&#xff0c;有的老电脑跑不动&#xff0c;有的全是手游大厅氛围&#xff0c;端游玩家进去格格不入。所以"…

作者头像 李华
网站建设 2026/9/10 10:42:39

开源科研AI框架OpenAI4S:本地部署与知识库驱动的AI for Science实践

1. 项目全貌&#xff1a;为什么科研圈需要一版开源的 Claude-Science搞科研的朋友这两年应该都有同感&#xff1a;AI 工具越来越多&#xff0c;但真正能顺手用在科研流程里的其实没几个。ChatGPT 写写邮件、润色个摘要没问题&#xff0c;一到正经的文献追溯、实验设计、数据交叉…

作者头像 李华
网站建设 2026/9/10 10:42:15

MarkItDown实战:用Python将PDF/Office批量转Markdown,高效对接LLM与RAG

做AI项目这几年&#xff0c;我最大的感受是&#xff1a;模型选型、Prompt调优这些事反而是最不占时间的&#xff0c;真正磨人的是把各种格式的资料喂给模型之前那一段“预处理”。领导甩来一个几十页的PDF培训材料&#xff0c;同事发来一个满是透视表的Excel&#xff0c;客户那…

作者头像 李华
网站建设 2026/9/10 10:41:58

七自由度车辆动力学模型Simulink搭建与Dugoff轮胎模型实战

1. 这个模型到底是干什么的&#xff0c;值不值得搭第一次看到“七自由度车辆动力学模型”这个名字&#xff0c;你大概会下意识觉得这是一套特别庞大的东西。实际在车辆动力学仿真这个圈子里&#xff0c;七自由度&#xff08;7DOF&#xff09;模型恰恰是做控制算法验证、底盘调校…

作者头像 李华