欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 用于跟踪交通灯的里程计系统和方法独创技术23670字

用于跟踪交通灯的里程计系统和方法

2021-02-22 06:25:23

用于跟踪交通灯的里程计系统和方法

  本申请要求于2018年3月7日提交的序列号为62/639,758的美国临时申请的优先权的权益,其公开内容通过引用以其整体并入本文中。

  技术领域

  本公开涉及车辆引导的领域,并且特别地涉及用于在公共道路上引导车辆的车辆计算机视觉系统。

  背景技术

  在公路上自动驾驶是积极研究的问题,其导致了许多驾驶员辅助系统的出现。然而,城市街道和住宅街道的自动驾驶提供了新的挑战集合,这在范围从感知到行为计划到防撞系统的多个领域中需要更复杂的算法。感知的一个关键部分是交通灯和其它道路标志的检测和分类。由于交通灯的小尺寸以及与都市环境中的其它对象(诸如灯、装饰品和反射)的高模糊性,交通灯呈现了具有挑战性的问题。

  关于交通灯检测和分类的先前工作利用聚光灯检测和颜色阈值、模板匹配或地图信息。所有这些系统都做出了强大的假设。通常,这些先前的系统需要交通灯至少具有一定的尺寸,以用于算法在独特的背景(诸如天空前面的悬置交通灯)上工作,或者假设存在包含关于环境中所有交通灯的位置的先验知识的地图。

  随着深度神经网络的最新进展和性能,在机器学习并且尤其是计算机视觉的若干领域中已经做出了显著的改进。深度学习已经被用于图像分类、端到端对象检测、像素精确对象分割以及其它应用。然而,深度神经网络当前的缺点是用来训练网络的训练数据的量。

  因此,在使用计算机视觉来标识道路标志(诸如交通灯)的领域中的进一步发展是合期望的。

  发明内容

  根据本公开的示例性实施例,一种在道路上操作自主车辆的方法包括:用自主车辆的车辆引导系统的立体视觉相机来生成立体视觉数据,该立体视觉数据表示道路上的交通灯;用车辆引导系统的控制器基于立体视觉数据来生成视差图数据;以及用自主车辆的里程计系统在第一时间和第一时间之后的第二时间生成车辆的里程计数据。该方法进一步包括:基于第一时间的视差图数据来确定交通灯的位置;基于里程计数据来确定第二时间的视差图数据中的交通灯的预测位置;确定预测位置处的交通灯的状态;以及基于交通灯的所确定的状态来操作自主车辆。

  根据本公开的另一示例性实施例,车辆引导系统包括:立体视觉相机、里程计系统和控制器。立体视觉相机被配置成生成表示交通灯的立体视觉数据。里程计系统被配置成在第一时间和第一时间之后的第二时间生成对应车辆的里程计数据。控制器可操作地连接到立体视觉相机和里程计系统。控制器被配置成:(i)基于立体视觉数据来生成视差图数据,(ii)基于第一时间的视差图数据来确定交通灯的位置,(iii)基于里程计数据来确定第二时间的视差图数据中的交通灯的预测位置,(iv)确定预测位置处的交通灯的状态,以及(v)基于交通灯的所确定的状态来操作车辆。

  附图说明

  通过参考以下详细描述和附图,上述特征和优点以及其它特征和优点对于本领域普通技术人员来说应该变得更加容易显而易见,其中:

  图1是包括如本文中所公开的车辆引导系统的车辆的框图;

  图2是图1的车辆在第一时间和第二时间以及两个交通灯的框图;

  图3是视差图数据的表示、图2的交通灯的边界框周围表示以及如由图1的车辆引导系统所生成和确定的交通灯的预测位置;

  图4是说明了操作图1的车辆引导系统的示例性方法的流程图;以及

  图5是说明了由车辆引导系统的跟踪神经网络所实行的更新步骤的可视化的框图。

  具体实施方式

  出于促进对本公开的原理的理解的目的,现在将参考附图中所图示的并且在以下书面说明书中所描述的实施例。应当理解,由此不意图对本公开的范围进行限制。还应当理解,本公开包括对所图示的实施例的任何更改和修改,并且包括本公开所属领域的技术人员通常会想到的本公开的原理的进一步应用。

  本公开的方面在附带的描述中公开。在不脱离本公开的精神或范围的情况下,可以设计本公开的替代实施例及其等同物。应当注意,本文中关于“一个实施例”、“实施例”、“示例性实施例”等等的任何讨论指示,所描述的实施例可以包括特定特征、结构或特性,并且这样的特定特征、结构或特性不一定包括在每个实施例中。此外,对前述内容的引用不一定包括对相同实施例的引用。最后,不管是否明确描述,本领域普通技术人员将容易领会,可以结合本文中所讨论的任何其它实施例的特征、结构或特性来利用给定实施例的每一个特定特征、结构或特性,或者与本文中所讨论的任何其它实施例的特征、结构或特性进行组合来利用给定实施例的每一个特定特征、结构或特性。

  出于本公开的目的,短语“A和/或B”意味着(A)、(B)或(A和B)。出于本公开的目的,短语“A、B和/或C”意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。

  关于本公开的实施例所使用的术语“包括”、“包含”、“具有”等等是同义的。

  如图1中所示出的,车辆100包括:车辆引导系统104、传动系108和电池112,每个均可操作地连接到控制器116。车辆引导系统104被配置成使用里程计数据120来定位交通灯182的位置(图2),例如,实时且以高准确率地定位。可靠的交通灯检测和分类对于都市环境中的自动驾驶至关重要。当前,不存在可以在没有基于地图的信息的情况下,并且在平滑的都市驾驶所需要的足够距离中,实时可靠地检测交通灯182的系统。下面描述车辆100和车辆引导系统104的每个元件。

  车辆100的传动系108被配置成生成用于移动车辆100的力。在示例性实施例中,传动系108包括:可操作地连接到电池112和车辆100的一个或多个车轮132的电动机128。可充电电池112向电动机128供应电功率,以用于旋转输出柄(未示出)。电动机128的输出柄的旋转导致车轮132的旋转,这导致车辆100的移动。

  在一个实施例中,车辆100是完全自主控制的车辆,并且电动机128的旋转速度由车辆引导系统104自动确定。在另一个实施例中,车辆100是半自主车辆,其在大多数状况和环境下由人类操作员控制,但是可由车辆引导系统104基于例如检测到的交通灯182针对紧急制动进行控制。在另外的实施例中,车辆100完全由操作员控制,并且包括驾驶员辅助特征,诸如当接近用交通灯182控制的十字路口时、但是并不控制或改变车辆100的行进方向的警告。

  在其它实施例中,电机128是内燃引擎(ICE),和/或电机128包括电动机和ICE,它们如在混合动力车辆中一起工作来旋转车轮132。因此,车辆100被提供为任何类型的车辆,其包括自主车辆、操作员控制的车辆、电动车辆、内燃车辆和混合动力车辆。

  车辆100的控制器116被配置成执行程序指令数据,以便操作传动系108和车辆引导系统104,并且向电池112充电。控制器116被提供为至少一个微控制器和/或微处理器。

  车辆引导系统104包括:里程计系统136、立体视觉系统140和存储器144,每个均可操作地连接到控制器148。里程计系统136包括:运动传感器以生成里程计数据120,所述里程计数据120标识车辆100在3D空间中随着时间的推移的位置。在示例性实施例中,里程计系统136的运动传感器包括:至少一个加速度计152、至少一个陀螺仪156和至少一个罗盘160。加速度计152例如是微机电系统(MEMS)加速度计,其被配置成生成对应于车辆100沿着至少一个轴线的加速度的加速度数据164。加速度数据164作为里程计数据120的一部分存储在存储器144中。

  陀螺仪156例如是MEMS陀螺仪,其被配置成生成对应于车辆100沿着至少一个轴线的测量角速度的陀螺仪数据168。陀螺仪数据168作为里程计数据120的一部分存储在存储器144中。

  罗盘160例如是MEMS罗盘,其被配置成生成对应于车辆100附近的磁场沿着至少一个轴线的改变的方向数据172。方向数据172作为里程计数据120的一部分存储在存储器144中。

  因此,在示例性实施例中,里程计系统136由九轴运动感测设备提供,该九轴运动感测设备感测三个轴线上的加速度、三个轴线上的角速度以及三个轴线上的磁场改变。里程计系统136也可以被提供为任何其它运动感测设备,并且在本文中也可以被称为惯性测量单元。

  立体视觉系统140被配置成从至少两个有利点生成图像数据176。立体视觉系统140包括:第一成像设备180和第二成像设备184。每个成像设备180、184(在本文中也被称为相机、摄像机和传感器)被配置成生成表示车辆100周围的外部区域的图像数据176,所述车辆100周围诸如是在车辆100的前面以及在车辆100的行驶方向上。在示例性实施例中,第一成像设备180安装在车辆100的驾驶员的侧前部上,并且第二成像设备184安装在车辆100的乘客的侧前部上。在另一个实施例中,成像设备180、184位于车辆100的前面,并且彼此间隔开例如八到三十厘米。两个成像设备180、184都被配置成在从车辆100的前面延伸的视野内生成图像数据176。因此,成像设备180、184生成图像数据176,该图像数据176表示交通灯182、路标以及当车辆100以向前行驶方向行进时车辆100接近的其它道路信息项。在示例性实施例中,成像设备180、184被配置为可见光相机。在其它实施例中,成像设备180、184被配置为红色、绿色、蓝色以及深度传感器(即,“RGB-D传感器”)、热相机和/或红外相机。图像数据176从成像设备180、184传输到控制器148,并且作为立体视觉数据188存储在存储器144中。

  存储器144是电子存储设备,其被配置成至少存储里程计数据120、立体图像数据188、视差图数据192、检测神经网络194和跟踪神经网络196,以及用于操作车辆引导系统104的程序指令数据198。存储器144在本文中也被称为非瞬态计算机可读介质。

  车辆引导系统104的控制器148被配置成执行程序指令数据198,以便操作车辆引导系统104。控制器148被提供为至少一个微控制器和/或微处理器。

  里程计数据130表示在特定时间车辆100的位置。如图2中所示出的,车辆100被示为在第一时间(t-1)处于第一位置,并且在第二时间(t)处于第二位置。里程计数据130包括:车辆100从第一时间到第二时间的改变位置。例如,里程计数据130包括由车辆100行进的距离(D)和车辆100已经旋转的角度(θ)。在其它实施例中,里程计数据130包括:车辆100的任何其它期望的位置信息。

  控制器148基于来自立体视觉系统140的图像数据176来生成立体视觉数据188。立体视觉数据188包括:表示车辆100前面的结构、特征和环境的3D信息。例如,立体视觉数据188包括:对应于当车辆100正在以行驶方向向前移动时车辆100正在接近的交通灯182的信息和数据。

  控制器148基于立体视觉数据188来生成视差图数据192。图3中示出了视差图数据192的表示。在一个实施例中,视差图数据192基于立体视觉数据188的图像的比较,并且包括:在数据192中所表示的元件的相对深度信息。例如,如图2中所示出的,车辆100正在接近包括两个交通灯182的十字路口。在图3的视差图数据192中,交通灯数据204用边界框208(如本文中所描述的)勾勒出轮廓。视差图数据192对应于来自第一成像设备180和第二成像设备184的图像数据176的差异。

  检测神经网络194用成千上万个交通灯的图像进行训练。在一个实施例中,检测神经网络194是人工卷积神经网络,其被配置成接收图像数据176的输入并且生成标识交通灯182的位置的输出。在定位交通灯182时,检测神经网络194将边界框(未示出)放置在图像数据176和/或视差图数据192中检测到的交通灯182的位置处,并且标识交通灯182实际上位于边界框的位置处的置信因子。

  在一个实施例中,跟踪神经网络196也是人工卷积神经网络,其用成千上万个交通灯的图像进行训练,并且被配置成处理视差图数据192和/或图像数据176,以定位表示交通灯182的交通灯数据204。在定位交通灯数据204时,跟踪神经网络196将边界框208中的一个放置在交通灯数据204的位置处,并且标识交通灯182实际上位于边界框208的位置处的置信因子。跟踪神经网络196通常比检测神经网络194更快地生成输出,并且在一些实施例中,被配置成跟踪检测神经网络196可能没有检测到的交通灯182。

  在操作中,车辆引导系统104被配置成基于图像数据176和里程计数据120来检测、跟踪和预测交通灯182的位置。特别地,车辆引导系统104使用检测神经网络194来检测图像数据176中(一个或多个)交通灯182的存在。然后,车辆引导系统104使用里程计数据120来确定检测到的交通灯182的运动估计,并且使用跟踪神经网络196来校正前述运动估计,由此得到交通灯182的快速且准确的预测位置220(图3)。立体视觉数据188被用来三角测量交通灯182在3D世界中的位置,并且里程计数据120被用来估计交通灯182相对于车辆100的移动。参考图4的流程图和示例性方法400来描述附加的操作细节。

  如图4中在框404处所示出的,方法400包括:生成图像数据176和立体视觉数据188。当车辆100在行驶方向上移动时,图像数据176由成像设备180、184中的每一个生成。立体视觉数据188由立体视觉系统140基于图像数据176来生成。车辆100可以自主移动或者在人类驾驶员的控制下移动。至少立体视觉数据188存储在存储器144中,并且在一些实施例中,图像数据176也存储在存储器144中。在该示例中,图像数据176和立体视觉数据188包括:交通灯数据204,其表示车辆100在其上操作的道路上的交通灯182。

  接下来,在框408处,方法400包括:用里程计系统136来生成里程计数据120。参照图2,里程计数据120在第一时间(t-1)和第一时间之后的第二时间(t)生成。生成里程计数据120包括:在第一时间生成对应于车辆100在3D空间中的位置的数据,以及在第二时间生成对应于车辆100在3D空间中的位置的数据。附加地,车辆引导系统104确定车辆100从第一时间到第二时间的位置的改变。生成的里程计数据120存储在存储器144中。

  例如,车辆引导系统104确定在时间(t-1)车辆100处于零度旋转的参考位置处。然后,在时间(t),车辆引导系统104确定车辆100已经旋转了三度并且已经移动了一米的距离(D)。因此,车辆引导系统104已经确定了车辆100的两个位置,并且还确定了车辆100的位置的改变。

  在框410中,车辆引导系统104生成视差图数据192,其示例在图3中表示。如本文中阐述的,从视差图数据192,车辆引导系统104跟踪交通灯182的在3D空间中的位置。在一些实施例中,该过程被称为生成交通灯182的运动模型。

  在一个实施例中,车辆引导系统104为每个视频帧/图像计算视差图,并且每个交通灯182被三角测量为车辆参考帧。边界框208中的视差值的中值被用来表示整个交通灯数据204。这使得车辆引导系统104能够更好地处理视差值中的噪声。接下来,车辆引导系统104根据以下等式使用线性三角测量来重建边界框208的四个角部的3D坐标:

  

  其中c表示角部的标识。使用从相机帧到车辆参考帧的变换,在先前的车辆参考帧(t-1)中使用线性三角测量。车辆引导系统104在时间步长t-1t的车辆参考帧之间实行变换。基于该变换,导出以下等式:

  

  其中,P是从车辆参考帧到相机图像帧的投影矩阵,c角部的重新投影图像坐标,并且表示均匀坐标符号。从四个重新投影的角部构造时间步长t中的边界框估计。如下面所描述的,该边界框位置用跟踪神经网络196来细化。

  接下来,在框412处,车辆引导系统104使用检测神经网络194在图像数据176、立体视觉数据188和/或视差图数据192中定位交通灯。在示例性实施例中,针对对应于交通灯182的数据的存在,对图像数据176的帧或图像进行处理。例如,代替将图像数据176的完整帧取作检测神经网络194的输入,检测神经网络194仅接收图像数据176的帧/图像的子集,其可以被称为图像数据176的补丁或裁剪。在特定实施例中,图像数据176的每一帧包括在帧的上部中的三个裁剪,因为大多数交通灯182在该区域中被发现。该过程增加了速度,用该速度,检测神经网络194能够在图像数据176中定位交通灯182。

  在方法400的框416处,车辆引导系统104基于里程计数据120在第二时间(t)预测视差图数据192中的交通灯182的位置(即,预测位置220(图3))。由于交通灯182是环境中的静态对象,因此车辆引导系统104使用立体视觉系统140和里程计系统136来三角测量交通灯182的预测位置。

  在特定示例中,车辆引导系统104确定在第一时间,左交通灯182位于距离车辆100十米处,并且在对应的向量中具有坐标[25,30]。根据里程计数据120,车辆引导系统104确定车辆100已经移动了一米并且已经旋转了三度。因此,在第二时间(t)预测视差图数据192中的左交通灯182的位置时,车辆引导系统104确定交通灯距离车辆100九米,并且具有坐标[32,31],该坐标已经使用基于车辆100所移动的所确定的角度(θ)和距离(D)的三角测量进行更新。因此,坐标[32,31]表示如由左边界框220所表示的第二时间(t)的视差图数据192中左交通灯182的预测位置。该过程被用来确定如视差图数据192中由右边界框220所表示的右交通灯182的位置。

  接下来,在方法400的框418中,使用跟踪神经网络196来细化标识交通灯数据204的位置的边界框208的位置。车辆引导系统104跟踪宽度小至3到4个像素的交通灯数据204。然而,交通灯数据204的暗模式可能不会产生太多的特征点,尤其是在未点亮的建筑前面或者背景中存在树的情况下。除此之外,交通灯182以由立体视觉系统188的帧速率与交通灯182的刷新速率之间的差异给出的频率闪烁。而且,交通灯182的状态可以在跟踪的时间期间改变,诸如例如从红色变成绿色或者从绿色变成红色。

  应用框418的优化方法,以防止跟踪神经网络196的发散。特别地,为了处理这些状况并且参照图5,跟踪神经网络196被训练成从原型图像估计交通灯182的错位。特别地,跟踪神经网络196采用由上述运动模型所估计的原型和候选边界框208。跟踪神经网络196扩展并且重新缩放原型和候选边界框208,使得交通灯数据204具有近似二十个像素的参考宽度,并且整个裁剪近似为64×64像素。所有三个通道取自两个图像,并且组合成6×64×64张量。输出是3元素向量[u,v,e]T,其中uv是候选图像中交通灯数据204的坐标,并且e是坐标估计的估计误差。误差估计e表示位置估计的不确定性,并且被用来触发原型图像的更新。根据该方法,方法400标识例如宽度从三到六个像素的交通灯数据204的小区域。附加地,跟踪神经网络196可以被训练以克服照明改变、噪声、部分遮挡,并且还改变交通灯182的状态。因此,在框418中,车辆引导系统104至少基于第一时间(t-1)的视差图数据192来优化交通灯182的预测位置。该方法防止了发散并且增加了跟踪神经网络196的不变性。

  在方法400的框420处,车辆引导系统104针对表示来自方法400的框416的预测位置处的交通灯182的数据176来搜索图像数据176。交通灯182的边界框220(即,预测位置)使得车辆引导系统104能够迅速处理图像数据176和视差图数据192,并且当车辆100以高达每小时一百公里的速度在道路上移动时,能够实时准确地定位交通灯182的位置。特别地,预测位置使车辆引导系统104聚焦在图像数据176的区域上,所述图像数据176的区域最有可能在第二时间包括表示交通灯182的交通灯数据204。

  接下来,在框422处,车辆引导系统104将预测位置处的交通灯182的状态确定为例如红色、黄色或绿色。交通灯182的状态存储在存储器144中,并且车辆引导系统104基于交通灯182的所确定的状态来引导车辆100。

  在方法400的框424处,车辆100被操作,并且在一个实施例中,车辆100是完全自主的,并且当检测到交通灯182的状态是红色时,车辆引导系统104使得车辆100在十字路口处完全停止。在另一个示例中,当确定交通灯182的状态为绿色时,车辆引导系统104使得车辆100前进通过十字路口。以该方式,自主车辆100基于交通灯182的所确定的状态进行操作。

  在一个特定实施例中,视差图数据192中所有检测到的交通灯182的状态是用小的分类网络来确定的,该分类网络区分开不同的交通灯状态,并且附加地移除误报。边界框208、220被扩展和重新缩放,使得交通灯数据204是二十像素宽,并且整个裁剪是64×64像素。这在左和右提供了近似二十二个像素的场景。额外的空白给出了被用于分类的区域场景。例如,在没有附加场景的情况下,交通灯杆或汽车的零件(在误报的情况下)将不会被考虑。

  虽然已经在附图和前面的描述中详细图示和描述了本公开,但是同样的内容应当被视为是说明性的,而在性质上不是限制性的。应当理解,仅呈现了优选的实施例,并且在本公开的精神内的所有改变、修改和进一步的应用期望被保护。

《用于跟踪交通灯的里程计系统和方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)