论文解读--Visual Lane Tracking and Prediction for Autonomous Vehicles-程序员宅基地

技术标签: 算法  自动驾驶  论文解读  目标检测  人工智能  目标跟踪  

自动驾驶汽车视觉车道线跟踪和预测

摘要

        我们提出了一种用于自动驾驶汽车跟踪水平道路车道标记位置的可视化方法。我们的方法是基于预测滤波的。预测步骤估计在每个新的图像帧中期望的车道标记位置。它也是基于汽车的运动学模型和嵌入式测程传感器产生的信息。使用适当准备的测试车辆获得的实验结果表明,在某些条件下,如振荡和变道,预测步骤可以显著地减少跟踪误差。因此,我们相信我们的方法应用于基于图像的控制自动驾驶汽车可以提高系统性能。

1.介绍

        汽车本身无疑是现代自动化的最大挑战之一。一方面,飞机和船舶的汽车驾驶员是众所周知的和广泛使用的。另一方面,由于更加复杂,对于汽车和卡车,这项技术仍在开发中。其目标是使汽车自动从地址A驾驶到地址B,与有经验的人类司机一样安全(或更安全)。在这种情况下,用户就只是一名乘客。

        对于汽车来说,自动驾驶系统的一个基本要求是能够将车辆保持在道路内,并行驶在车道的中心。这需要了解周围环境的知识,这是通过安装在汽车上的传感器获得的,例如,照相机、激光扫描、GPS和惯性单元。

       (NASHMAN,1992年)、(SCHNEIDERMAN,1994年)、(POMERLEAU,1996年)、(BROGGI,1999年)和(LU,2002年)等项目只依赖于摄像机生成的灰度图像,用于检测道路的位置和估计曲率。在(CHRISMAN,1998)和(SALES,2010)中,彩色图像被用来对属于道路的区域进行分类。这一想法也被应用于(DAHLKAMP,2006),以扩大系统的范围,超出在其自主车辆上使用的激光测距仪(LRF)传感器的范围。

        立体视觉系统允许计算场景上物体的距离。在(BROGGI,2010)和(LIMA,2010)中使用了双目视觉系统(立体视觉)用于障碍检测。但是,这种系统具有计算成本高的缺点。

        像(GUIZZO,2011)和(自动驾驶实验室,2012)等项目将LRF传感器与相机、GPS、IMU和地图信息相结合,使自动驾驶研究达到前所未有的水平。这两个项目都成功地完成了在真实城市环境中的自主导航任务。

        在巴西,这一领域的研究正在开始发展,我们强调一些:为你驾驶,UNIFEI(VEERMAS,2010),CADU,UFMG(LIMA,2010),VERO,CTI /Campinas(VERO,2012),EESC / USP(SENA,2012),CARINACARINA,2010),由ICMC / USP开发。我们大学的另一个小组(UFES)也在开发一个自动驾驶汽车项目。他们买了一辆已经安装了主要硬件组件的车,他们主要关注的是软件方面。他们的主要目标是了解人类大脑是如何利用图像来解释世界的(LCAD,2013)。另一方面,我们项目的主要目标是建立一辆具有简单和低计算成本的解决方案的自动驾驶汽车。为了实现这一目标,我们正在通过安装执行器和传感器来调整普通汽车。我们的汽车已经能够在可控的条件下,在真实的道路上自动驾驶(VIVACQUA等人,2012年)。

        我们的系统由一台连接到一个USB摄像头的笔记本电脑和一个接口板组成。USB摄像头安装在前挡风玻璃上,指向道路。接口板将计算机连接到汽车编码器,并连接到负责驱动轮定位的步进电机。

        计算视觉系统产生的视觉信息受到由遮挡、反射、阴影等引起的噪声或误差的影响。为了使这些问题的影响最小化,对原始图像进行过滤过程,以产生更可靠的信息。这些信息是所谓的模型状态的基础,并被反馈到视觉算法中,以定义感兴趣的图像区域(ROI)(见图1)。在(VIVACQUA 等人,2012)中,这些信息也被控制器用来使自动驾驶汽车保持在道路的中心。

图1:用来生成模型状态的可视化信息流

        一些视觉车道跟踪的方法(SCHNEIDERMAN,1994)、(AUFRERE,2000)、(LU,2002)和(CHOI,2012)。它们都使用某种过滤过程来更新其模型状态(描述车道标记的参数),但没有一种方法使用预测为了实现预测,车辆的位移信息必须是可访问的和可靠的。我们已经对我们的自动驾驶汽车进行了必要的调整,在本文中,我们提出了一种基于预测过滤的可视化方法来跟踪水平道路车道标记的位置的可视化方法。预测步骤估计在每一个新的图像帧中的期望车道标记位置,以最小化跟踪误差。下面的几部分将对我们的系统进行解释,并讨论一些实验结果。

2.参照系

        在进行预测步骤之前,需要将系统参照系从相机的参照系更改为汽车的参照系,考虑到摄像机在原点(自我参照系-OR)。在自动驾驶汽车中使用的视觉系统检测到的水平车道标记(VIVACQUA,2012)通过反向透视投影(图2)进行映射,就像图像是从天空看到的一样,假设道路是完美的平面(鸟瞰图)。

图2:参照系。(A)相机参照系;(B)汽车参照系

        在自我参照系中,原点是地平面中相机正下方的点,Z轴对应于汽车的位移方向(当向前移动时),X轴是横向方向。图2 (B)显示了与图2 (A)图像中检测到的信息对应的两条导线(左和右)。预测步骤的基本思想是,可以根据运动学模型预测汽车在下一个图像帧中的位置,在实际帧上的位置。        

3.汽车运动学模型

        汽车运动学模型可以用图3所示的自行车模型来近似。图中:Pr为描述车辆轨迹的圆周的中心,Pc为车辆中的摄像机位置(或原点),R为Pc描述的轨迹曲率半径,Lt为车辆前后轴的距离,Lr为或原点与后轴的距离,α为前轮转角。

图3:汽车运动学模型

        使用汽车运动学模型(1),根据其参数和前轮转角(α),我们可以计算出世界参照系(WR)中的车辆轨迹。

 (1)

        其中,x、z、θ为车辆在WR中的位置和方向,v为车辆的线速度。值得注意的是,世界参照系WR的起源是固定在地面上的,而不是固定在汽车上的。因此,当汽车移动时,点Pc描述了点线轨迹,固定物体在世界中的位置保持不变。

4.位置预测

        在OR参考系中,点Pc与原点重合,世界上的固定物体旋转Pr,但方向相反。图4显示了在或参考系统中所看到的世界上一个固定物体的初始位置。根据初始位置的信息和由运动学模型所定义的轨迹,可以估计未来的位置。

图4:对象位置预测:(a)右转;(b)左转;(c)直行。

        旋转中心(Pr)、摄像机轨迹的曲率半径(R)和角位移(Δθ)采用(2)、(3)和(4)进行计算。

        以米为单位的距离(通过位于前轴的编码器获得)和前轮转角(α)(通过安装在驱动轮轴上的另一个编码器获得):

 (2)

 (3)

 (4)

        其中,ΔL为位移距离。

5.抛物线旋转

        要估计任何物体的新位置,人们只需知道旋转中心(Pr)、旋转角度(Δθ),并应用一个二维旋转操作。在(VIVACQUA,2012)中描述的自动驾驶车辆的具体案例中,系统被测试,跟踪对象是构成道路模型的两个道路车道标记。每一个标记都用一个二次多项式表示。

 (5)

        给定旋转抛物线的一个点(X,Z),我们可以通过反向旋转操作,在原始抛物线中找到相应的点(X,Z),由下式给出

 (6)

 (7)

        其中Px和Pz为旋转中心的坐标。在(5)中替换(6)和(7),我们得到了旋转抛物线的一般形式:

 (8)

        这种形式与软件中使用的原始数据结构不兼容,不允许对X给定Z的显式计算,这在计算上是不可取的。为了解决这个问题,我们提出了一种方法来找到一个良好的旋转抛物线的近似值,以保持在(5)中给出的默认形式。

        考虑旋转的抛物线方程

 (9)

        我们需要解决的问题是找到系数a2r,a1r和a0r。解决这个问题的一般思想是:找到区间内原始抛物线x (z)的中心点M[z0..z1];应用Δθ绕Pr点旋转(从而使M变成Mr);考虑Mr属于新的抛物线xr (z);并考虑这个点的切线方向被旋转角度Δθ减去。

        切线在M点上的倾角由给出。利用切线差的性质,我们有:

。由于旋转的抛物线曲率没有改变,我们有a2r=a2。系数a1r可以用计算,系数a0r用计算。通过这样做,我们得到在OR参考系的旋转抛物线参数。

图5:旋转抛物线的近似值

6.滤波

        我们考虑到车道标记位置在连续帧中不会有太大的变化,大量的噪声会导致图像快速变化(如反射或遮挡)。为此,我们选择使用一阶低通滤波器,考虑到其对系统行为的影响,我们在实验中定义了该时间常数:如果该值过低,滤波对零星误差测量的衰减作用很小。另一方面,如果它太高,这将延迟响应,并且会给模型带来困难,例如在弯道前后发生的道路形状的缓慢变化。在用车载摄像机在80km/h速度下拍摄的视频进行测试后,我们发现τ = 3的值在鲁棒性和响应速度之间产生了很好的折衷。

        式(10)表示表示状态模型的向量Wi。式(11)是低通滤波器的表达式,它从视觉系统(Ui)生成的度量中更新模型状态。

 (10)

 (11)

7.实验结果

        为了测量预测系统的性能,我们使用一个适当适应的测试车辆进行了一些实验,以获取与里程长测量同步的道路图像。该车辆在三种曲率条件下驾驶,如图6: (A)在左转;(B)在一条直线上;和(C)在右转。在每个曲率条件下,车辆就轨迹的振荡水平以三种不同模式进行(图6 (D)至6 (F)):无振荡(L0),车辆沿与导线平行的道路行驶;低振荡水平(L1),车辆周期性穿过中心线;高振荡(L2),车辆也穿过中心线,但有更明显的偏差。

图6:实验条件:(A)左转、(B)直行、(C)右转、(D、E、F)对应路线

        在轨迹中引入振荡,迫使车辆移动不平行于道路线,以便预测能够证明其保持模型状态接近瞬时测量的能力。

        测试在100米长的路径上以大约40 km/h的速度进行,每40 ms采集一次数据(图像和里程计)。图7显示了图6中每个轨迹的注册驱动轮位置。

图7:在试验中获得的驱动轮位置数据

        收集到的数据在实验室进行分析,用来评估系统性能(有和不使用预测)。所使用的性能指数是绝对水平平均误差(AHAE),由模型定义的曲线与瞬时测量定义的曲线的差值计算出来。

 (12)

8.讨论

        图8显示了从测试中获得的视频中获得的帧序列,它与图6(D)中所示的L2轨迹的情况相对应。这个序列对应于车辆远离中心线的延伸,可以从黄色标记的连续位移到左边。

图8:帧序列,显示了有和没有预测的跟踪过程。

        图8清楚地显示,与只使用滤波和预测的模型(黑色虚线)相比,使用滤波和预测的模型(白色虚线)更接近度量值(红色连续线)。这说明了我们的方法的好处。

        感知模型状态和视觉测量之间更接近的另一种方法是通过图9中的图,图中显示了过滤模型和带有预测的过滤模型的多项式的参数a0(车道偏移)和a1(车道方向)。曲率参数(a2)没有给出,因为它在考虑的拉伸中实际上是恒定的。

图9:仅滤波和滤波-预测的模型参数表现

图10:振荡等级2中的累积误差

        在图9中,我们可以注意到低通滤波去除高频噪声的能力,这导致了延迟平滑曲线(没有预测情况)。通过使用预测,可以减少不期望的延迟(预测)。这种减少是因为预测补偿了汽车运动对捕获图像的影响。图10为具有较高振荡(L2)的测试条件下,指数AHAE的归一化累积误差(NAE),其中认为无预测的累积误差为1。用(13)计算,其中n为实验中使用的总帧数。

 (13)

        在所有测试用例中,有预测的累积误差上升速率小于未有预测的累积误差(低于0,51)。

        图11总结为在所有测试条件下得到的最终NAE值,详见图11。我们可以注意到,当汽车以较高振荡水平的轨迹行驶时,NAE的值会降低。这是因为当存在振荡时,车道标记在摄像机视野内横向发生位移,预测的使用补偿了这种效应,使模型更接近真实测量,同时保持滤波过程给出的鲁棒性。我们相信,预测步骤将提高自动驾驶车辆在类似条件下驾驶时的性能。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41691854/article/details/134761426

智能推荐

HTML5 Web SQL 数据库_方式准则的定义-程序员宅基地

文章浏览阅读1k次。1、HTML5 Web SQL 数据库 Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。如果你是一个 Web 后端程序员,应该很容易理解 SQL 的操作。Web SQL 数据库可以在最新版的 Safari, Chrome 和 Opera 浏览器中工作。2、核心方法 以下是规范中定义的三个_方式准则的定义

spring Boot 中使用线程池异步执行多个定时任务_springboot启动后自动开启多个线程程序-程序员宅基地

文章浏览阅读4.1k次,点赞2次,收藏6次。spring Boot 中使用线程池异步执行多个定时任务在启动类中添加注解@EnableScheduling配置自定义线程池在启动类中添加注解@EnableScheduling第一步添加注解,这样才会使定时任务启动配置自定义线程池@Configurationpublic class ScheduleConfiguration implements SchedulingConfigurer..._springboot启动后自动开启多个线程程序

Maven编译打包项目 mvn clean install报错ERROR_mvn clean install有errors-程序员宅基地

文章浏览阅读1.1k次。在项目的target文件夹下把之前"mvn clean package"生成的压缩包(我的是jar包)删掉重新执行"mvn clean package"再执行"mvn clean install"即可_mvn clean install有errors

navacate连接不上mysql_navicat连接mysql失败怎么办-程序员宅基地

文章浏览阅读974次。Navicat连接mysql数据库时,不断报1405错误,下面是针对这个的解决办法:MySQL服务器正在运行,停止它。如果是作为Windows服务运行的服务器,进入计算机管理--->服务和应用程序------>服务。如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。创建1个文本文件(此处命名为mysql-init.txt),并将下述命令置于单一行中:SET PASSW..._nvarchar链接不上数据库

Python的requests参数及方法_python requests 参数-程序员宅基地

文章浏览阅读2.2k次。Python的requests模块是一个常用的HTTP库,用于发送HTTP请求和处理响应。_python requests 参数

近5年典型的的APT攻击事件_2010谷歌网络被极光黑客攻击-程序员宅基地

文章浏览阅读2.7w次,点赞7次,收藏50次。APT攻击APT攻击是近几年来出现的一种高级攻击,具有难检测、持续时间长和攻击目标明确等特征。本文中,整理了近年来比较典型的几个APT攻击,并其攻击过程做了分析(为了加深自己对APT攻击的理解和学习)Google极光攻击2010年的Google Aurora(极光)攻击是一个十分著名的APT攻击。Google的一名雇员点击即时消息中的一条恶意链接,引发了一系列事件导致这个搜_2010谷歌网络被极光黑客攻击

随便推点

微信小程序api视频课程-定时器-setTimeout的使用_微信小程序 settimeout 向上层传值-程序员宅基地

文章浏览阅读1.1k次。JS代码 /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { setTimeout( function(){ wx.showToast({ title: '黄菊华老师', }) },2000 ) },说明该代码只执行一次..._微信小程序 settimeout 向上层传值

uploadify2.1.4如何能使按钮显示中文-程序员宅基地

文章浏览阅读48次。uploadify2.1.4如何能使按钮显示中文博客分类:uploadify网上关于这段话的搜索恐怕是太多了。方法多也试过了不知怎么,反正不行。最终自己想办法给解决了。当然首先还是要有fla源码。直接去管网就可以下载。[url]http://www.uploadify.com/wp-content/uploads/uploadify-v2.1.4...

戴尔服务器安装VMware ESXI6.7.0教程(U盘安装)_vmware-vcsa-all-6.7.0-8169922.iso-程序员宅基地

文章浏览阅读9.6k次,点赞5次,收藏36次。戴尔服务器安装VMware ESXI6.7.0教程(U盘安装)一、前期准备1、下载镜像下载esxi6.7镜像:VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso这里推荐到戴尔官网下载,Baidu搜索“戴尔驱动下载”,选择进入官网,根据提示输入服务器型号搜索适用于该型号服务器的所有驱动下一步选择具体类型的驱动选择一项下载即可待下载完成后打开软碟通(UItraISO),在“文件”选项中打开刚才下载好的镜像文件然后选择启动_vmware-vcsa-all-6.7.0-8169922.iso

百度语音技术永久免费的语音自动转字幕介绍 -程序员宅基地

文章浏览阅读2k次。百度语音技术永久免费的语音自动转字幕介绍基于百度语音技术,识别率97%无时长限制,无文件大小限制永久免费,简单,易用,速度快支持中文,英文,粤语永久免费的语音转字幕网站: http://thinktothings.com视频介绍 https://www.bilibili.com/video/av42750807 ...

Dyninst学习笔记-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏9次。Instrumentation是一种直接修改程序二进制文件的方法。其可以用于程序的调试,优化,安全等等。对这个词一般的翻译是“插桩”,但这更多使用于软件测试领域。【找一些相关的例子】Dyninst可以动态或静态的修改程序的二进制代码。动态修改是在目标进程运行时插入代码(dynamic binary instrumentation)。静态修改则是直接向二进制文件插入代码(static b_dyninst

在服务器上部署asp网站,部署asp网站到云服务器-程序员宅基地

文章浏览阅读2.9k次。部署asp网站到云服务器 内容精选换一换通常情况下,需要结合客户的实际业务环境和具体需求进行业务改造评估,建议您进行服务咨询。这里仅描述一些通用的策略供您参考,主要分如下几方面进行考虑:业务迁移不管您的业务是否已经上线华为云,业务迁移的策略是一致的。建议您将时延敏感型,有快速批量就近部署需求的业务迁移至IEC;保留数据量大,且需要长期稳定运行的业务在中心云上。迁移方法请参见如何计算隔离独享计算资源..._nas asp网站