随着科技的不断发展,无人驾驶技术逐渐成为了汽车行业的热门话题。在实现无人驾驶的过程中,定位技术是至关重要的一环。本文将重点介绍基于视觉的定位算法在无人驾驶中的应用及其面临的挑战。
基于视觉的定位算法主要分为两大类:一类是基于拓扑与地标的算法,另一类是基于几何的视觉里程计算法。基于拓扑与地标的算法通过将所有地标组成一个拓扑图,当无人车监测到某个地标时,便可以大致推断出自己所在的位置。这种方法相对简单,但要求预先建立精准的拓扑图。而基于几何的视觉里程计算法则不需要预先建立拓扑图,可以在定位的同时扩展地图。视觉里程计算法主要分为单目及双目两种。
双目视觉里程计算法通过左右图像triangulation计算出特征点的深度,然后从深度信息中推算出物体的大小。具体步骤如下:
1. 双目摄像机抓取左右两图。
2. 双目图像经过triangulation产生当前帧的disparity map。
3. 提取当前帧与之前帧的特征点,可以使用Harris Corner Detector进行特征点提取。
4. 对比当前帧与之前帧的特征点,找出帧与帧之间的特征点对应关系,可以使用RANSAC算法。
5. 根据帧与帧之间的特征点对应关系,推算出两帧之间车辆的运动,最小化两帧之间的reprojection error实现。
6. 根据推算出的两帧之间车辆的运动,以及之前的车辆位置,计算出最新的车辆位置。
通过以上视觉里程计算法,无人车可以实时推算出自己的位置,进行自主导航。然而,纯视觉定位计算的一个很大的问题是算法本身对光线相当敏感。在不同的光线条件下,同样的场景不能被识别。特别在光线较弱时,图像会有很多噪点,极大地影响了特征点的质量。在反光的路面,这种算法也很容易失效。这也是影响视觉里程计算法在无人驾驶场景普及的一个主要原因。
为了解决这些问题,可能的解决方法是在光线条件不好的情况下,更加依赖根据车轮及雷达返回的信息进行定位。
领取专属 10元无门槛券
私享最新 技术干货