Skip to main content

用于在点云中标记 3D 边界框的轻量级工具。

项目描述

欢迎投稿!

标签云

用于在点云中标记 3D 边界框的轻量级工具。

标签工具概述

:new: labelCloud 现在是 PyPI 的一部分,可以通过 pip 安装!

:new:我们目前正在评估 labelCloud 并邀请您填写此问卷https://forms.gle/moEyjGSa1Eiiq7VT8(约 5 分钟)!

设置

:information_source:目前 labelCloud 支持 Python 3.6 到 3.9。

通过点子(PyPI)

pip install labelCloud
labelCloud --example  # start labelCloud with example point cloud

通过 git(手动)

git clone https://github.com/ch-sa/labelCloud.git  # 1. Clone repository
pip install -r requirements.txt  # 2. Install requirements
# 3. Copy point clouds into `pointclouds` folder.
python3 labelCloud.py  # 4. Start labelCloud

config.ini根据文档编辑文件或设置,根据您的需要配置软件。

标签

labelCloud 支持两种不同的标记方式(拾取跨越)以及用于后续更正的多个鼠标和键盘选项。

标签方法的截屏视频(有关该工具的简短介绍和预览, 另请参见https://www.youtube.com/watch?v=8GF9n1WeR8A 。)

拣货模式

  • 选择边界框的位置(前顶边)
  • 通过滚动鼠标滚轮来调整 z 轴旋转

跨越模式

  • 随后通过选择四个顶点来跨越边界框的长度、宽度和高度
  • 最后两个顶点(宽度和高度)的图层将被锁定,以便于选择

更正

  • 使用左侧的按钮或快捷方式更正边界框的平移尺寸旋转
  • 通过将光标放在一侧上方并使用鼠标滚轮滚动来调整边界框的大小

默认情况下,边界框的 x 和 y 旋转将被禁止。用于标记9 DoF-Bounding Boxesz-Rotation Only Mode在菜单、设置或config.ini文件中停用。现在您可以自由地围绕所有三个轴旋转。

导入和导出选项

labelCloud 专为多功能用途而构建,旨在支持所有常见的点云文件格式和标签格式,以存储 3D 边界框。该工具旨在轻松适应多种用例。config.ini要更改设置,只需编辑(请参阅文档)中的相应行以获取所有参数的描述)。

支持的导入格式

类型 文件格式
有色 *.pcd, *.ply, *.pts,*.xyzrgb
无色 *.xyz, *.xyzn, *.bin(基蒂)

支持的导出格式

标签格式 描述
centroid_rel 质心[x, y, z];尺寸[length, width, height]
以弧度表示的欧拉角的相对旋转 (-pi..+pi)[yaw, pitch, roll]
centroid_abs 质心[x, y, z];尺寸[length, width, height]
以度为单位的欧拉角的绝对旋转 (0..360°)[yaw, pitch, roll]
vertices 边界框的 8 个顶点,每个顶点都有[x, y, z](有关顺序,请参见documentation.md
kitti 质心;方面; z-旋转(见规格
kitti_untransformed 见上文,但没有转换。

您可以通过继承抽象BaseLabelFormat轻松创建自己的导出器。所有的旋转都是逆时针的(即 90°/π 的 z 轴旋转是从正 x 轴到负 y 轴!)。

捷径

捷径 描述
导航
鼠标左键 旋转点云
鼠标右键 平移点云
鼠标滚轮 放大点云
更正
W, A, S, D
Ctrl+ 鼠标右键
将边界框向后、左、前、右平移
Q,E 向上、向下提升边界框
X,Y 围绕 z 轴旋转边界框
用光标在边界框边上方滚动(“侧拉”) 更改边界框的尺寸
C& V, B&N 围绕 y 轴、x 轴旋转边界框
一般的
Del 删除当前边界框
R 重置视角
Esc 取消选定的点

有关软件约定,请参阅documentation.md

使用和归因

使用该工具时,请随时给我发一封包含反馈或用例描述的邮件 (christoph.sager[at]tu-dresden.de)。如果您正在使用该工具进行科学项目,请考虑引用我们的未决出版物

# CAD Journal
@article{Sager_2022,
    doi = {10.14733/cadaps.2022.1191-1206},
    url = {http://cad-journal.net/files/vol_19/CAD_19(6)_2022_1191-1206.pdf},
    year = 2022,
    month = {mar},
    publisher = {{CAD} Solutions, {LLC}},
    volume = {19},
    number = {6},
    pages = {1191--1206},
    author = {Christoph Sager and Patrick Zschech and Niklas Kuhl},
    title = {{labelCloud}: A Lightweight Labeling Tool for Domain-Agnostic 3D Object Detection in Point Clouds},
    journal = {Computer-Aided Design and Applications}
} 

# CAD Conference
@misc{sager2021labelcloud,
  title={labelCloud: A Lightweight Domain-Independent Labeling Tool for 3D Object Detection in Point Clouds}, 
  author={Christoph Sager and Patrick Zschech and Niklas Kühl},
  year={2021},
  eprint={2103.04970},
  archivePrefix={arXiv},
  primaryClass={cs.CV}
}

致谢

我要感谢Robotron RCV 团队在软件准备和用户评估方面的支持。该软件是作为我的毕业论文的一部分开发的,题为“labelCloud:开发用于点云中 3D 对象检测的标签工具”,在德累斯顿工业大学的商业信息学主席,特别是智能系统。正在进行的研究可以在我们的 ResearchGate 项目中进行

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

labelCloud-0.7.8.tar.gz (2.3 MB 查看哈希

已上传 source

内置分布

labelCloud-0.7.8-py3-none-any.whl (2.3 MB 查看哈希

已上传 py3