首页 理论教育 如何准确估计碰撞时间?

如何准确估计碰撞时间?

时间:2023-06-21 理论教育 版权反馈
【摘要】:作为无源导航的一个具体应用,在这里,我们介绍一种称为碰撞时间估计的计算机视觉技术[4]。进一步,我们将展示“碰撞时间估计”技术在自动驾驶中的应用,如图12.5所示。出于实时性要求,我们需要尽可能地降低“碰撞时间估计”算法的计算复杂度。图12.7中给出了碰撞时间和膨胀中心的估计结果。自动驾驶系统可以根据碰撞时间的正负来控制车辆是否减速。

如何准确估计碰撞时间?

作为无源导航的一个具体应用,在这里,我们介绍一种称为碰撞时间估计的计算机视觉技术[4]。进一步,我们将展示“碰撞时间估计”技术在自动驾驶中的应用,如图12.5所示。

出于实时性要求,我们需要尽可能地降低“碰撞时间估计”算法的计算复杂度。因此,我们没有采样基于目标识别和分割的方法,而是基于本章所介绍的无源导航技术,开发出了一个快速的碰撞时间估计算法,该算法可以实时运行于智能手机之上。

对于自动驾驶,我们最关注的是与前车之间的距离变化。因此,我们可以将模型简化为平面物体的平移运动,如图12.6所示[5]。注意,相机的摆放姿态可能使得相机的光轴方向和车辆的运动方向不一致,因此,相机的(平移)运动速度为t=(U,V,W)T,而不是(0,0,W)T。根据本章中12.2小节的分析,我们知道:对于图12.6中的情况,对应的光流应为(参见式(12.18)):

我们可以将式(12.104)进一步整理为:

使得光流等于零的点(x0,y0):

被称为膨胀中心(Focus of Expansion,FOE),也就是说,物体的图像以这一点为中心向外膨胀(或向内收缩)。

进一步,我们可以整理得到:

注意,Z为与前方(平面)物体之间的距离,W为相机的前向运动速度,因此,碰撞时间(Time to Contact,TTC)为:

我们不妨令:

于是,式(12.107)可以进一步写为:

(www.xing528.com)

一个直观的想法是:通过匹配(从图像序列中估计出来的)光流来确定式(12.110)中的参数(A,B,C),然后,确定出碰撞时间TTC和膨胀中心(x0,y0),也就是说,

图12.6 对于自动驾驶,我们最关注的是与前车之间的距离变化。因此,我们可以将模型简化为平面物体的平移运动。

需要指出的是:估计光流的计算复杂度较高。在这里,我们采用一种被称为直接运动估计的技术,来提高算法的效率。具体操作为,将式(12.110)中的(u,v)直接代入光流约束方程(参见式(11.5))

可以进一步得到:

注意,上式并不是针对某一特定的(x,y),而是对于所有的(x,y)都成立!由于噪声的影响,上式不可能对于所有的(x,y)都成立。正如我们在本章中所介绍的,可以通过最小二乘法来进行求解,也就是说,

分别对A、B和C求偏导,再令求导结果等于零,我们得到了如下的线性方程组[2]:直接通过解析解公式,即可得到线性方程组(12.115)的解x=G-1 b。线性方程组(12.115)中的9个参数分别为:

图12.7中给出了碰撞时间和膨胀中心的估计结果。实验环境如图12.5所示。图12.7(a)中左上角给出了中间计算结果,其中上面的四幅子图分别为:E(灰度图)、Et、Ex和Ey,最下面的两幅子图为:手机内置惯导传感器给出的转动速度。本小节给出的碰撞时间估计算法假设小车只进行平移运动,只有在惯导传感器没有检测出明显的转动的情况下,碰撞时间估计结果才被直接用于小车的控制。图12.7(b)中的红色“柱状图”表示:估计出的碰撞时间为正,也就是说,和前方物体之间的距离在变小;图12.7(c)中的绿色“柱状图”表示:估计出的碰撞时间为负,也就是说,和前方物体之间的距离在变大。自动驾驶系统可以根据碰撞时间的正负来控制车辆是否减速。

图12.7 智能手机上的算法运行效果。对比(a)和(b),估计出的碰撞时间为正,和物体之间的距离变小;对比(b)和(c),估计出的碰撞时间为负,和物体之间的距离变大。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈