point cloud labeler 的学习和使用。

本文介绍了PointLabeler,一个专为标记KITTI点云数据的工具,支持大规模点云渲染和精细结构标签。它利用OpenGL着色器处理大量点云,并详细讲解了安装步骤、使用方法和文件结构。着重于导航、标记技巧和常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地址为:https://github.com/jbehley/point_labeler
用于标记单个点云或点云流的工具。
给定KITTI点云数据集的姿态,我们加载重叠点云的贴图。因此,在一个特定的区域内,多个点云被同时标记。(类似与对SLAM图进行标记)

特点

支持KITTI视觉基准点云。
xml中的可读标签描述文件允许定义标签名称、id和颜色。
现代OpenGL着色器甚至可以渲染数百万个点。
用于标记单个点和多边形的工具。
标签的过滤使得即使是复杂的结构也可以轻松地进行标签。

依赖

在这里插入图片描述

build

sudo apt install git libeigen3-dev libboost-all-dev qtbase5-dev libglew-dev catkin
sudo apt install python-pip
sudo pip install catkin_tools catkin_tools_fetch empy

cd
mkdir catkin_ws
cd catkin_ws
mkdir src
catkin init
cd src
git clone https://github.com/ros/catkin.git

cd ~/catkin_ws/src
git clone https://github.com/jbehley/point_labeler.git

catkin deps fetch

catkin build point_labeler

使用

在bin目录下,运行./labeler启动标签工具。

该标记工具允许以基于瓦的方式标记点云序列,即,该工具加载与当前瓦位置重叠的所有扫描。因此,您将始终标记与当前贴图重叠的扫描部分。

在settings.cfg文件中,您可以更改以下选项:
tile size: 100.0 # 100.0 #贴图大小(越小加载的扫描次数越少)
max scans: 500 # 扫描次数加载一个贴图。(应该是1000),但目前这非常消耗内存。
min range: 0.0 # 考虑点的最小距离
max range: 50.0 # 点云中点的最大距离。
add car points: true # 添加可能由汽车本身引起的传感器原点点数。默认值:false。

文件结构

When loading a dataset, the data must be organized as follows:
在这里插入图片描述

文档介绍

在下面,我们将使用LMB作为鼠标左键,MMB作为鼠标中键,RMB作为鼠标右键。通常情况下,这意味着您可以通过点击相应的按钮来激活功能。
在这里插入图片描述点云显示在主视图(1)中,您还可以用鼠标导航以获得点云的近距离视图。标签在框(2)中被选中,按下按钮显示当前选中的标签。还可以使用CTRL和单击按钮来选择要筛选的标签。时间轴(3)允许你选择特定的激光扫描,但这只有在你从(2)的Visuals选项卡中选择显示单个扫描时才可见。tile selector(4)用于从更大的点云中选择一个tile。(5)中的按钮用于打开、保存贴图、返回等。

点云中的导航

在tile坐标系中,有三个彩色向量对应于:

x方向的红色向量
y方向的绿色向量
蓝色的z方向向量

在控制台输出中,您将看到当前选择的tile的tile坐标。例如,200,-100,50表示x = 200(红色方向)的瓷砖,y = -100(绿色方向)的tile大小为50。

tile选择

由于整个点云包含数十亿个点,我们使用一个贴图来表示点云的一小部分。在左边的贴图选择视图中,你可以选择正方形来加载所选贴图内的所有点。当前选中的贴图用橙色边框突出显示。
穿过 tile的红线显示了汽车在场景中行驶的路径。
在这里插入图片描述

移动相机

你必须按住ctrl键才能在场景中移动。即使有画笔或多边形工具选择,移动仍然是可能的。
在这里插入图片描述
在这里插入图片描述

使用

通过上述链接下载

下载依赖

编译

/home/pf/Open_Code/PointLabeler_ws/devel/.private/glow/lib/libglow.so:对‘boost::filesystem::path::filename() const’未定义的引用
看问题是动态库没有找到这个库
按照源码readme中的要求 重新下载sudo apt install git libboost-all-dev
此时提示库已存在且是最新
分析:有可能是存在多个库导致系统不知道应该链接到哪个 需要了解find_package到底是如何工作 学习(Cmake之深入理解find_package()的用法 - 希葛格的韩少君的文章 - 知乎
https://zhuanlan.zhihu.com/p/97369704

重新catkin build point_labeler
仍然出现未定义引用该问题
卸载上述方法下载的boost
编译仍存在该问题–尝试另一种方法打印编译信息
使用catkin_make 编译时可以看出 找到的boost是 链接到了 /home/pf/anaconda3/lib/cmake/boost_headers-1.70.0
分析 可能是虚拟环境的问题–退出虚拟base环境
编译未通过
分析可能是catkin包的问题
安装指南中需要下载一个catkin-但是我的电脑已经存在
将src中的catkin包删除, 找到的包链接到本地库Boost version: 1.65.1
重新使用catkin build point_labeler 编译
编译通过!!
在这里插入图片描述

加载文件

运行./labeler
打开WADS下的某个文件要包含poses.txt文件
这是我加载出来的带有降雪标签和积雪标签(unlabeled)的点云图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值