公司动态

labelCloud 上手:2 种标注模式给 3D 点云拉边界框,附安装命令与导出格式对照

📅 2026/8/22 22:07:34
labelCloud 上手:2 种标注模式给 3D 点云拉边界框,附安装命令与导出格式对照
labelCloud 上手2 种标注模式给 3D 点云拉边界框附安装命令与导出格式对照【免费下载链接】labelCloudA lightweight tool for labeling 3D bounding boxes in point clouds.项目地址: https://gitcode.com/gh_mirrors/la/labelCloud你手里有一批激光雷达点云要人工标 3D 边界框来训练 3D 目标检测模型但又不想为此专门学一套大型软件。labelCloud 是一个轻量级 Python 点云标注工具读入 pcd、ply 等格式的点云用鼠标拉出 3D 边界框再按你指定的格式含 KITTI导出标签适合做 3D 检测数据准备的开发者。它适合谁三个维度10 秒判断数据类型点云为*.pcd、*.ply、*.pts、*.xyzrgb彩色或*.xyz、*.xyzn、*.binKITTI 格式无色。任务类型3D 边界框目标检测标签或基于边界框的语义分割把框内点染上框的类别。运行环境Windows / macOS / Linux 本地桌面 GUI按 README 说明支持 Python 3.7–3.9。如果你的任务是 2D 图像标注或多人群协作平台标注它覆盖不到——它是单人、本地、批量处理一个pointclouds/文件夹里样本的工具。labelCloud 3D 点云标注的数据流程跑通它最短路径是 pip 加示例工程pip install labelCloud labelCloud --example # 自动生成示例点云、示例标签和 config.ini想跟最新代码就走源码git clone https://gitcode.com/gh_mirrors/la/labelCloud cd labelCloud pip install -r requirements.txt python3 labelCloud.py点云放pointclouds/文件夹标签写到labels/文件夹文件名与点云一一对应。首次启动会弹出欢迎对话框这是你必须做的两件事选标注模式物体检测 / 语义分割填类别列表名称、颜色、id并指定默认类别再定导出格式。类别漏填的话后续框会挂错类别。文件夹结构和启动细节见 安装说明。labelCloud 欢迎对话框设置标注模式、类别标签与导出格式的初始化界面首次启动的配置入口核心能力拆解能力分三块标注、校正、导出。标注模式picking 一次点击出框spanning 逐顶点定尺寸picking在框的“前上边缘”位置点一下滚轮调 z 轴朝向尺寸取config.ini里std_boundingbox_*参数。车辆、行人这类形状规则的物体很快。spanning依次选 4 个顶点逐次跨出长、宽、高后两个顶点的层高被锁定更容易点中。尺寸各异的物体用它。出框之后靠键盘精修常用快捷键分组如下分组快捷键作用平移W/A/S/DQ/E前后左右、上下移动框旋转Z/X、C/V、B/N分别绕 z、y、x 轴旋转尺寸I/O、K/L、,/.加/减长、宽、高尺寸光标悬停框边 滚轮side pulling拉伸对应维度导航R/F、T/G、1–9、Y/H切样本、切框、选框、切类别通用Del删框P重置视角—注意默认只允许 z 轴旋转z_rotation_only True要做 9 自由度标注先在菜单或config.ini里关掉 z-Rotation Only Mode。两种标注模式的实际操作导出格式对照表标签文件按所选格式写入labels/与点云同名5 种格式的区别格式内容备注centroid_rel质心 尺寸 相对旋转弧度制-π..πcentroid_abs质心 尺寸 绝对旋转角度制0..360°vertices框 8 个顶点的[x, y, z]顶点顺序见 docs/conventions.mdkittiKITTI 目标格式需要calib/里的标定文件kitti_untransformedKITTI 标签结构不做坐标变换基于边界框的语义分割欢迎对话框打开分割开关后照常标框框位置合适时按 Assign框内所有点就写入当前类别。结果存到labels/segmentation/是np.int8的*.bin数组长度等于点数每个值是类别索引。进阶与生态可调参数集中在config.ini导出精度export_precision、逐帧标签传播propagate_labels把上一帧框带到新帧、9 自由度开关、平移/旋转步进都在这里含义见 配置说明。增删类别、改颜色编辑labels/_classes.json。扩展点自定义导出格式继承BaseLabelFormat实现 import/export 两个方法见 labelCloud/definitions/label_formats/base.py点云读取器同理在labelCloud/io/pointclouds/下照着numpy.py扩展。对接训练链路kitti/kitti_untransformed是标准 KITTI 标签结构下游按 KITTI 数据处理的流水线可直接消费你的格式不在列表里就自己写一个 exporter。常见问题与坑picking 模式出来的框为什么都一个尺寸尺寸就是config.ini[LABEL] 段std_boundingbox_length/width/height的默认值。按你的主要物体改这三个数或出框后用I/O、K/L、,/.微调。导出的旋转角度和框架对不上先确认选的是centroid_rel相对弧度还是centroid_abs绝对角度制两者数值差一个 π 和一次单位换算用vertices时顶点顺序固定以 docs/conventions.md 的约定为准。kitti 导出报缺文件每个点云都要配一个标定文件放在calib/路径由calib_folder指定。你不需要标定变换、只要标签结构一致直接改选kitti_untransformed。下一步跑一遍labelCloud --example用自带示例点云从标注到导出完整走一遍再对照 docs/configuration.md 把类别和格式改成你项目里的。【免费下载链接】labelCloudA lightweight tool for labeling 3D bounding boxes in point clouds.项目地址: https://gitcode.com/gh_mirrors/la/labelCloud创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考