【点云处理】Lidar点云障碍物形状估计(1)

本文介绍了在自动驾驶场景中,如何利用OpenCV的minAreaRect函数处理Lidar点云,估计障碍物的3D矩形边界框。考虑到偏航角,忽略俯仰和翻滚角,通过计算水平面上的最小外接矩形并结合垂直方向的极值确定高度,从而确定3D矩形框。博客解释了minAreaRect函数返回的宽高定义,并澄清了坐标轴理解的常见误区。
摘要由CSDN通过智能技术生成

        自动驾驶场景中对Lidar点云障碍物的形状估计就是要给点云簇找到一个合适的3D矩形框。简单起见,我们只考虑偏航角(Yaw),忽略俯仰和翻滚角,这也符合自动驾驶场景中对一般障碍物的设定。有了这个设定之后我们很容易就可以想到一种简单快速的方法来做这个事情。通过OpenCV来计算水平面上的最小外接矩形,再找出垂直方向的最大最小值来确定高度即可确定最终的3D矩形框。

 以上图为例,橙色3D框内的卡车是我们待估计的点云簇,通过minAreaRect函数可得到该簇在2D平面上的最小外接矩形的中心(x,y),宽,高以及 旋转角度。

rect = cv2.minAreaRect(points)

这里有一个疑点就是,minAreaRect是如何定义的矩形框的宽(width)高(height)?网络上的资料会告诉你x正轴逆时针旋转碰到的第一条边为宽(width),而无论其长度。旋转的角读范围为[-90,0),你没有看错,角度就是负的。这个理解没有错,前提是搞对坐标轴的定义,因为你有可能是照下图理解的,这个就有问题。

照此理解,点云簇中的寛高会被误认为下面这个样子。

 但是,OpenCV中坐标原点在左上角,所以确切地说因该是下面这个样子的。

回到点云图像中来,你可以把点云转过来看。这就很方便地看出来哪条边是宽(width),哪条边是高(height)了。

 

【参考】

cvBox2D和RotatedRect中返回的角度angle详解 - 士多啤梨苹果橙 - 博客园

RotatedRect中返回的角度angle详解_W`Peak的博客-CSDN博客

Lidar(激光雷达)是一种通过发射激光束并测量其反射回来的时间来获取目标距离和位置的技术。在Lidar3D点云成像显示实验中,我们将使用激光雷达来获取环境中物体的精确距离和形状信息,并将这些信息以点云的形式进行展示。 实验开始时,我们会将激光雷达安装在一个恰当的位置,它可以扫描整个环境并收集大量的点云数据。激光束被发射出去,然后碰撞并反射回来,激光雷达会测量回程时间来计算物体与设备的距离。 接下来,我们需要将收集到的数据进行处理处理。通过使用算法和软件,我们可以将点云数据转换为3D模型或图像,并根据距离为每个点着色。这样,我们可以获得一个具有形状和颜色的完整点云模型,显示物体的外形和空间位置。 在实验的过程中,我们可以对不同的场景和物体进行扫描和成像。例如,我们可以在室内或室外环境中进行扫描,观察家具、建筑物或汽车等物体的形状和位置。我们还可以使用不同的激光参数和扫描模式来改变点云的密度和清晰度,以适应不同的应用和需求。 这种Lidar3D点云成像显示实验具有广泛的应用前景。例如,在自动驾驶汽车中,激光雷达可以帮助识别和跟踪其他车辆和障碍物。在建筑和测绘领域,激光雷达可以用来测量建筑物的形状和尺寸。在机器人技术中,激光雷达可以用于导航和避障。总之,这种实验为我们提供了一种全新的方式来观察和理解我们周围的世界。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值