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 支持 LiDAR 点云标注:把 .pcd / .bin 点云文件导入 3D 任务,在透视 + 三向投影视图里画 3D 边界框,配合 Track 模式做连续帧跟踪,最后导出给检测模型训练。下面是我在自动驾驶数据标注项目里实际走通的流程,每一步都可以直接复现。
1. 先把点云数据按目录结构打包好
标注 3D 任务前最容易卡住的地方不是画图,而是数据没组织好。CVAT 要求一个可预测的目录结构,核心规则是:一帧一个点云文件,帧号与关联图像一一对应。
| 目录项 | 作用 |
|---|---|
*.pcd/*.bin | 每一帧的 LiDAR 点云,按帧编号命名 |
related_images/ | 与该帧点对齐的摄像头图像,用于辅助判断物体类别 |
- PCD 是通用点云格式;Velodyne 原始
.bin也直接支持,解析逻辑在 velodynepoint.py - 点云与图像必须时间对齐,错位会导致框贴不合物体
- 数据集打包规范可参考 dataset_manifest 文档,它同时描述图像序列与 3D 点云序列
数据就绪后,在任务页面新建 3D 类型任务并上传压缩包即可。任务创建时定义好类别(car、pedestrian、traffic_cone……)和每个类别的属性字段,后面所有框都会继承这套标签体系。
2. 四视图画布:3D标注工作区长什么样
进入任务后是四个窗口:
| 视图 | 作用 |
|---|---|
| Perspective(透视) | 主工作区,点云三维呈现,鼠标或 Shift+方向键旋转相机 |
| Top(顶视) | 俯投影,确认地面位置的平面坐标 |
| Side(侧视) | 左视投影,校核宽度方向 |
| Front(前视) | 正视投影,校核高度与距离 |
关键机制:三个投影视图只显示当前选中的那个对象,框会自动居中显示成矩形。在 2D 投影上微调 3D 框是这个工作区的核心技巧——透视视图里挪动一个旋转过的 cuboid 很费劲,但在前视投影上拖动高度就精确多了。常用导航快捷键:Alt+J/L 左右平移、Alt+U/O 升降、Alt+K/I 缩放(详见 3D任务工作区文档)。
3. 画一个 3D 边界框的两种姿势
对象面板里选Draw new cuboid,有两种绘制方式:
| 方式 | 操作 | 适用情况 |
|---|---|---|
| by 4 points | 先点底面 3 点定平面,第 4 点定纵深 | 目标清晰、透视完整 |
| from rectangle | 先在目标正面画矩形,再编辑纵深与透视 | 目标部分遮挡、快速起框 |
建议 4 点法只画最贴近的两个侧面角点加顶/底面,减少点的数量。画好后:
- 拖 4 个角点改尺寸
- 选中中点上下/左右拖动,旋转整个框
- 在侧边栏 details 面板直接输入 X/Y/Z 三个维度的精确数值(长度、宽度、高度),适合有规格要求的场景
渲染层由 cvat-canvas3d 模块 承担,cuboid 的网格、控制点绘制都在 cuboid.ts。
4. 连续帧跟踪:Track 模式怎么用
单帧画框是 Shape 模式;自动驾驶场景更常用Track 模式——它给每个对象分配唯一 ID,并在帧间做插值:
- 目标出现的起点帧画第一个框并调准
- 跳到下一帧,CVAT 按插值给出预测位置,你只负责校正
- 目标消失前重复上述动作,中间帧自动带框
实际体感:车辆匀速行驶时大部分帧只需点一下确认,弯道或变道帧才需要精细调整。对象支持 Ctrl+C / Ctrl+V 复制粘贴(3D 空间内双击落点),Shift+N剪切到别处。完整操作说明见 3D 对象标注文档。
5. 关联图像对齐:点云分不清类别时的解法
点云没有颜色纹理,远处的小物体到底是锥桶还是行人,有时只能靠相机图像判断。CVAT 的解法是related_images 关联图像:
- 点云文件旁边放同名关联图像文件夹,透视视图内会挂出一个 context image 窗口
- 对照图像确认类别,再回到点云里调框
- 图像与点云的对应关系靠命名规则绑定,目录结构示例见 contextual-images 文档
这一步看似小事,但能显著减少"类别标错"这类返工。
6. 标注结果的交付:导出与自动预标
标注完成后的产出走数据集导出,3D 任务常用格式:
| 导出格式 | 说明 |
|---|---|
| CVAT for 3D | 平台自有格式,含 cuboid 完整参数,往返编辑首选 |
| KITTI | 自动驾驶检测经典格式 |
| Velodyne | 原始点云格式回存 |
想减少人工量,可以在导入后先用 ML 模型自动预标:把训练好的 3D 检测模型部署到 CVAT 的 Serverless 推理端点,任务里点 "Auto annotation",模型输出的 cuboid 以草稿形式落到画布,标注员只做修正。预标 + 人工校正的组合,是 3D 标注提速最直接的一招。
批量管理(建任务、拉数据、回传结果)也可以走 CVAT SDK,一条client.tasks.create(...)就能把上面的类别体系写进新任务,省掉点页面的功夫。
适合谁 / 如何开始
- 手头有 .pcd / .bin 点云 + 对齐相机图像的自动驾驶团队:直接按第 1、2 节搭数据,半天内可以出第一批标注
- 需要批量预标的算法团队:优先接 Serverless 自动标注链路
- 想深入交互细节:读 3D对象标注文档 和 3D任务工作区文档
【免费下载链接】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),仅供参考