【问题标题】:How to generate 3D point cloud from Lidar range data如何从激光雷达范围数据生成 3D 点云
【发布时间】:2017-08-02 16:05:23
【问题描述】:

我有一组由激光雷达捕获的视频。我的数据是原始数据,这意味着每个视频文件都包含范围和强度(​​灰度)数据。现在,我想从范围数据创建 3D 点云。根据我阅读的内容,我拥有的激光雷达数据看起来与 Kinect 数据(深度 + 强度)几乎相同。但是,虽然有一些代码和方程可以让你将 Kinect 深度转换为 3D 点云,但我还没有找到任何适用于激光雷达数据的这样的方程。我希望有人可以帮助我提供一个方程式或示例代码(最好在 Matlab 中),将激光雷达范围数据转换为 3D 点云。

编辑:我的视频包含室内和室外的人类目标。不幸的是,我无法分享任何数据。用于视频录制的激光雷达相机是 TigerCub 3D 闪光激光雷达。我没有任何访问相机的权限,只有数据。另外,我查看了相机的手册,但找不到任何有用的信息。就像 Kinect 一样,我认为距离(深度)数据和 3D 点云之间一定存在关系,我只需要这样一个方程来帮助我生成 3D 点云。

【问题讨论】:

  • 你真的应该给more information你的激光雷达系统。一个例子也会很有帮助。请发布您到目前为止尝试过的内容。
  • @m7913d 请检查编辑。
  • 为什么投反对票?!只是要求一个方程式!
  • 一个我们无法给出的方程式,因为我们没有得到足够的信息。我们能做的最好的就是给出一个非常一般的等式,而不是goal of stackoverflow。请使用您喜欢的搜索引擎查找更多信息。
  • Kinect 中有一个从深度(在激光雷达范围的情况下)数据中提取点云 (x,y,z) 的通用方程。有一些常量会根据 Kinect 相机的类型改变值。我想激光雷达也有一个通用方程,它可能仅在取决于相机类型的某些常数的值方面有所不同(我还添加了激光雷达的类型!)。我不认为有人会因为无法回答问题而投反对票!

标签: matlab 3d point-clouds lidar


【解决方案1】:

这可能对有相同问题的其他人有用。基本上,3D 闪光激光雷达相机的操作(甚至外观)与 2D 数码相机非常相似。 3D闪光灯激光雷达相机的焦平面阵列具有行和列的像素,但它还捕获对象的深度或范围的第三维数据,后者称为范围数据。这意味着 3D 闪光激光雷达相机会生成强度和距离数据。

3D 闪光激光雷达和 2D 数码相机之间的相似性让我们可以将 2D 数码相机的针孔相机类比应用于 3D 闪光激光雷达相机。因此,激光雷达测距数据的 3D 点云可以通过以下公式计算:

x(pointCloud)= x(image)*range/f 
y(pointCloud)= y(image)*range/f 
z(pointcloud)= range

您只需乘以一个常数即可获得所需单位的数据(取决于 f 的单位,即相机的焦距)。 x,y(image), and range 是每个点的 x, y 和 range(从范围数据中提取), x,y, and z(pointCloud) 是点云中的对应坐标。有关详细说明,请参阅this paper

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 2013-07-28
    • 2018-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 2020-06-15
    相关资源
    最近更新 更多