首页 文章

如何从Lidar范围数据生成3D点 Cloud

提问于
浏览
1

我有一组由激光雷达拍摄的视频 . 我的数据是原始数据,这意味着每个视频文件都包含范围和强度(灰度)数据 . 现在,我想从范围数据创建3D点 Cloud . 根据我的内容,我所拥有的激光雷达数据看起来与Kinect数据(深度强度)非常相似 . 但是,虽然有代码和方程可以让你将Kinect深度转换为3D点 Cloud ,但我还没有找到任何这样的激光雷达数据方程 . 我希望有人可以帮助我使用方程式或示例代码(最好是在Matlab中)来完成从激光雷达范围数据到3D点 Cloud 的转换 .

Edit: 我所拥有的视频包含室内和室外的人类目标 . 不幸的是,我无法分享任何数据 . 用于视频录制的激光雷达相机是TigerCub 3D闪光灯 . 我没有找到任何有用的信息 . 就像Kinect一样,我认为范围(深度)数据和3D点 Cloud 之间必然存在关系,而我所需要的只是这样一个方程式来帮助我生成3D点 Cloud .

1 回答

  • 1

    这可能对具有相同问题的另一个人有用 . 基本上,3D闪光激光雷达相机操作(甚至看起来)非常像2D数码相机 . 3D闪光激光雷达相机的焦平面阵列具有行和列的像素,但它还捕获第三维数据,该数据是对象的深度或范围,其中后者称为范围数据 . 这意味着3D闪光激光雷达相机会生成强度和范围数据 .

    3D闪光激光雷达和2D数码相机之间的相似性让我们将相同的针孔相机类比应用于2D数码相机,3D闪光激光雷达相机 . 因此,激光雷达范围数据的3D点 Cloud 可以通过以下等式计算:

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

    您只需要乘以常数即可获得所需单位的数据(取决于f的单位,即相机的焦距) . x,y(图像)和范围是每个点的x,y和范围(从范围数据中提取),x,y和z(pointCloud)是点 Cloud 中的对应坐标 . 有关直通说明,请参阅this paper .

相关问题