单目视觉里程计:来自后视相机的车辆的速度和横摆率的制作方法

文档序号:19189603发布日期:2019-11-20 01:56阅读:231来源:国知局
单目视觉里程计:来自后视相机的车辆的速度和横摆率的制作方法

本公开总体涉及用于确定车辆的速度和横摆率中的一者或多者的方法、系统和装置。本公开尤其涉及基于从车辆的单目相机接收的连续图像来确定车辆的速度和横摆率。



背景技术:

汽车为商业、政府和私人实体提供了交通的很大部分。目前正在开发和部署自主车辆和驾驶辅助系统以提供安全性,减少所需的用户输入量,或甚至完全消除用户参与。例如,一些驾驶辅助系统(诸如防撞系统)可以在人驾驶时监测车辆的驾驶、位置和速度和其它对象。当系统检测到即将发生碰撞或撞击时,防撞系统可以介入并应用制动、操纵车辆或执行其它避让或安全操纵。作为另一个示例,自主车辆可以在很少或没有用户输入的情况下驾驶和导航车辆。通常需要准确地和快速地确定车辆的速度和横摆率,以使自动驾驶系统或驾驶辅助系统能够安全地导航道路或行驶路线。



技术实现要素:

本公开旨在提供用于确定车辆的速度和横摆率中的一者或多者的改进的系统、方法和装置。本公开尤其旨在提供用于基于从车辆的单目相机接收的连续图像来确定车辆的速度和横摆率的改进的系统、方法和装置。本公开的方法包括接收包括第一图像和第二图像的连续图像,其中从车辆的相机接收所述图像。所述方法包括从所述连续图像中的每一者提取一个或多个地面特征。所述方法包括计算所述第一图像和所述第二图像的地面特征的坐标。所述方法包括基于从所述第一图像到所述第二图像的所述地面特征的所述坐标的变化而估计所述车辆的速度和横摆率。

附图说明

参考以下附图描述本公开的非限制性及非穷进性实现方式,其中除非另有说明,否则相同的附图标记在各个附图中指代相同的零件。参考以下描述和附图将更好地理解本公开的优点,在附图中:

图1是示出根据一个实现方式的包括自动驾驶/辅助系统的车辆控制系统的实现方式的示意性框图;

图2示出了根据一个实现方式的用于基于来自相机的图像而估计车辆的速度和横摆率的示例过程流程的示意性框图;

图3示出了根据一个实现方式的由车辆的单目相机捕获的示例图像;

图4示出了根据一个实现方式的由移动车辆的单目相机捕获的图像的示例序列;

图5示出了根据一个实现方式的用于估计车辆的速度和横摆率的方法的示意性流程图;

图6示出了根据一个实现方式的用于估计车辆的速度和横摆率的方法的示意性流程图;以及

图7是根据一个实现方式的示例计算系统的示意性框图。

具体实施方式

实时地确定车辆的速度和横摆率可以是改进自主车辆或驾驶员辅助特征的操作的重要方面。例如,车辆必须精确地知道其当前速度和横摆率以安全地导航。存在各种当前方法来确定车辆的速度和横摆率,但是这种方法需要大量计算或必需使用昂贵的传感器。

必须准确地测量车辆的位置、运动和定向参数,以实现车辆的自主功能,诸如驾驶员辅助功能。各种传感器,包括全球定位传感器、惯性测量单元传感器和车轮编码器,可以用于测量这些参数。然而,这种传感器在一定速度范围内是无效的,并且可能在不同状况下提供不准确的结果。例如,车轮编码器受到因路况造成的车辆滑移的影响,并且从车轮编码器接收的数据的准确度在诸如停车场景的低速情况下很差。惯性测量单元传感器噪声大,并且易于漂移。此外,全球定位系统依赖于环境,并且这种系统的准确度与高成本相关联。

申请人认识到,可以利用具有适当的计算机视觉的相机来克服上述传感器(包括全球定位系统、惯性测量单元传感器和车轮编码器)的限制。申请人认识到,基于立体相机的视觉里程计在计算上是昂贵的,并且需要车辆上的专用相机对。由于现代车辆都配备了后视相机,因此可以开发单目视觉里程计,而无需额外的传感器成本。

传统的单目视觉里程计依赖于对极几何定理来计算两个相机图像之间的相对位姿。然而,对极几何定理的基本原理需要捕获到的图像之间有足够的运动量,否则解决方案将陷入空运动模糊。另一方面,利用附加的信息的单目视觉里程计只能计算高达一个比例因子的平移,即,仅在要计算的行驶方向上。这种约束先前已经禁止使用单目视觉里程计的实现方式用于车辆运动估计。

在公开和描述用于基于单目视觉里程计而估计车辆的速度和横摆率的方法、系统和装置之前,应理解,本公开不限于本文公开的配置、过程步骤和材料,因为这样的配置、过程步骤和材料可能有所不同。还应理解,本文采用的术语仅用于描述实现方式,而不旨在进行限制,因为本公开的范围将仅由所附权利要求及其等同物限制。

在描述和要求保护本发明时,将根据下文阐述的定义来使用以下术语。

必须注意,除非上下文另有明确地说明,否则在本说明书和附图中所用的单数形式“一个”、“一种”和“该”包括复数指称。

如本文所用,术语“包含”、“包括”、“含有”、“其特征在于”及其语法等同物是包含性或开放式术语,其不排除附加的、未表述的要素或方法步骤。

申请人已经开发了用于基于从车辆的单目相机接收的输入而实时地确定车辆的当前速度和横摆率的系统、方法和装置。根据一个实施例,公开了一种用于确定车辆的速度和横摆率的方法。该方法包括从车辆的相机接收包括第一图像和第二图像的连续图像。该方法包括从连续图像中的每一者提取一个或多个地面特征。该方法包括计算第一图像和第二图像的地面特征的坐标并基于从第一图像到第二图像的地面特征的坐标的变化而估计车辆的速度和横摆率。

本公开的各种实施例被配置为检测连续图像中的关键点特征,以恢复车辆的运动学参数。所公开的这种系统、方法和装置利用单目相机并解决与单目相机相关联的先前问题,包括比例模糊问题。本公开的实施例特别适于其中基于对极几何定理或同构变换的其它方法已经失败的较慢车辆速度。申请人还提出了能够输出测量估计输出的可靠性的实时测量协方差的系统、方法和装置。

将结合下面的附图讨论进一步的实施例和示例。

现在参考附图,图1示出了可用于自动地定位车辆的示例车辆控制系统100。自动驾驶/辅助系统102可以用于自动化或控制车辆的操作或向人类驾驶员提供辅助。例如,自动驾驶/辅助系统102可以控制车辆的制动、转向、加速、车灯、警报、驾驶员通知、无线电或任何其它辅助系统中的一者或多者。在另一个示例中,自动驾驶/辅助系统102可能不能够提供对驾驶(例如,转向、加速或制动)的任何控制,但是可以提供通知和警报以辅助人类驾驶员安全地驾驶。自动驾驶/辅助系统102可以使用神经网络或其它模型或算法来基于由一个或多个传感器收集的感知数据而检测或定位对象。

车辆控制系统100还包括一个或多个传感器系统/装置,以用于检测在主车辆(例如,包括车辆控制系统100的车辆)的传感器范围附近或内的对象的存在。例如,车辆控制系统100可以包括一个或多个雷达系统106、一个或多个激光雷达系统108、一个或多个相机系统110、全球定位系统(gps)112和/或一个或多个超声系统114。车辆控制系统100可以包括数据存储器116,以用于存储关于导航和安全的相关或有用数据,诸如地图数据、驾驶历史或其它数据。车辆控制系统100还可以包括收发器118,以用于与移动或无线网络、其它车辆、基础设施或任何其它通信系统进行无线通信。

车辆控制系统100可以包括车辆控制执行器120以控制车辆的驾驶的各个方面(诸如电动马达、开关或其它执行器),以控制制动、加速、转向等。车辆控制系统100还可以包括一个或多个显示器122、扬声器124或其它装置,使得可以提供对人类驾驶员或乘客的通知。显示器122可以包括平视显示器、仪表盘显示器或指示器、显示屏或车辆的驾驶员或乘客可看见的任何其它可视指示器。扬声器124可以包括车辆的声音系统的一个或多个扬声器,或可以包括专用于驾驶员通知的扬声器。

应理解,图1的实施例仅以示例的方式给出。其它实施例可以在不脱离本公开的范围的情况下包括更少或另外的部件。另外,所示的部件可以组合或包括在其它部件内而没有限制。

在一个实施例中,自动驾驶/辅助系统102被配置成控制主车辆的驾驶或导航。例如,自动驾驶/辅助系统102可以控制车辆控制执行器120以行驶道路、停车场、车道或其它位置上的路径。例如,自动驾驶/辅助系统102可以基于由部件106至118中的任何一个提供的信息或感知数据而确定路径。传感器系统/装置106至110和114可以用于获得实时传感器数据,使得自动驾驶/辅助系统102可以实时地辅助驾驶员或驾驶车辆。

在一个实施例中,车辆控制系统100包括定位部件104,以确定车辆相对于地图、道路等的位置。例如,定位组件104可以使用车载相机来相对于先前创建或获得的地图定位车辆。在一个实施例中,定位组件104可以使得车辆控制系统100能够在不使用在环境中发射能量并检测反射的有源传感器(诸如激光雷达或雷达)的情况下定位车辆。地图可以包括基于矢量的语义图或激光雷达强度图。创建从相机导出的投影的自上而下图像并将其与先前制作的矢量或激光雷达强度图进行比较。比较过程可以通过使用如互信息的技术或通过提供最佳拟合相对位置的比较技术来完成。

图2示出了用于估计车辆的速度和横摆率的方法的示例过程流程200。过程流程200包括接收第一图像202(表示为时间k)和第二图像206(表示为时间k+1)。由单目相机在捕获第一图像202之后捕获第二图像206。在一个实施例中,第一图像202和第二图像206是以快速时间连续的方式捕获的连续图像。过程流程200包括第一图像202的特征检测204和第二图像206的特征跟踪208。过程流程200包括在210处丢弃异常图像点。在已经丢弃异常图像点之后,生成地面平面投影212。基于地面平面投影212,过程流程200包括在214处估计帧间变换以生成原始帧间旋转和平移216。过程流程200包括在218处用运动学方程进行滤波以生成滤波的帧间旋转和平移220。在224处,滤波的帧间旋转和平移220经历运动和特征位置传播,并且在208处经历特征跟踪。

过程流程200框架检测连续图像中的关键点特征,以恢复车辆的运动学参数。给定包括诸如第一图像202和第二图像206的连续图像的输入,提取连续图像中的每个图像的感兴趣的区域(roi)。在一个实施例中,感兴趣的区域的大部分都填充了在车辆后部周围的地面平面。地面平面图有助于克服在传统上在单目视觉里程计中遇到的比例问题。感兴趣的区域指示原始图像的子图像,并且感兴趣的区域可以用自适应直方图均衡算法来进行处理以增强感兴趣的区域内的图像特征的可见性。

特征检测204包括从第一图像202和从单目相机接收的一个或多个附加的图像提取感兴趣的区域(roi)。在一个实施例中,特征检测204从在车辆周围的区域提取感兴趣的区域,并且可以特别地包括提取在车辆的后部周围的地面平面区域。在一个实施例中,感兴趣的区域的大部分都填充了地面平面并包括地面特征。地面特征包括例如在单目相机周围的地面平面上检测到的图像点。在一个实施例中,地面特征包括涉及例如在车辆周围的沥青、混凝土或污垢表面的图像点,并且可以特别地涉及位于地面平面上或内的可检测和可跟踪的对象。

特征检测204包括计算感兴趣的区域中的地面特征的三维坐标。在一个实施例中,使用光流算法来计算三维坐标,以用于计算两个连续图像中的地面特征之间的对应关系。对于连续图像中的每一者,实时地计算一个或多个地面特征的一组三维坐标。使用光流算法来计算来自两个连续图像的地面特征之间的对应关系。对于给定的相机配置和一组地面特征的图像坐标,三维坐标指示相机光线与地面平面的交叉点。

光流算法基于连续图像而估计运动作为瞬时图像速度或离散图像位移。在一个实施例中,光流算法计算在每个体素位置处在时间k和时间k+1拍摄的两个连续图像之间的运动。在这样的实施例中,测量是基于图像序列的使用相对于图像的空间和时间坐标的偏导数的局部taylor级数近似。应理解,在不脱离本公开的范围的情况下,可以使用任何合适的方法或任何合适的光流算法。示例光流算法方法包括例如lucas-kanade方法、horn-schunuck方法、buxton-buxton方法、black-jepson方法、一般变分方法、离散优化方法、相位相关方法和基于框的方法。

特征跟踪208包括从第二图像206提取对应的感兴趣的区域,其至少部分地对应于通过针对特征检测204公开的相同过程从第一图像202提取的感兴趣的区域。在一个实施例中,单目相机和/或其上附接单目相机的车辆已经在第一图像202和第二图像206之间移动。在这样的实施例中,第二图像206的感兴趣的区域的一部分将对应于或等同于第一图像202的感兴趣的区域的一部分。应理解,至少一个点或地面特征应对应在第一图像202的感兴趣的区域和第二图像206的感兴趣的区域之间。在如关于特征检测204过程所示的实施例中,感兴趣的区域的大部分都填充了包括地面特征的地面平面。特征跟踪208利用光流算法来计算在第一图像202中检测到的地面特征与在第二图像206中检测到的对应的地面特征之间的对应关系,其中第一图像202和第二图像206是由单目相机拍摄的连续图像。特征跟踪208还计算第二图像206的地面特征的一组三维坐标。

在210处丢弃异常图像点的过程通过使用中值流异常丢弃来减少光流估计中的误差。在210处丢弃异常图像点的过程包括估计指示图像的一般流动或移动的中值流,其中中值流被计算为两个或更多个连续图像之间的所有图像点的移动的中值。在一个实施例中,中值流指示单目相机在第一图像202和第二图像206之间的一般流动或移动。在210处丢弃异常图像点的过程包括消除第一图像202和第二图像206的与中值流具有大偏差的所有图像点。在一个实施例中,在与中值流的偏差超过预定的阈值量的情况下,图像点作为异常被丢弃。在一个实施例中,第一图像202的图像点和第二图像206的对应的图像点都被作为异常丢弃,其中坐标从第一图像202的图像点到第二图像206的对应的图像点的变化基本上大于或小于中值流。

中值流异常丢弃的过程减少在特征跟踪208时通过光流算法计算的光流估计中的对应关系误差。中值流异常丢弃是基于以下事实:当所有点分布在平坦的地面平面上时,在图像平面中检测到的和相关联的点(当相机在连续图像之间移动时)共有一般方向。中值流指示图像点的一般运动,并且被计算为第一图像202的所有图像点和第二图像206的所有对应的图像点与相关联的图像点中的每一者的光流方向相比的移动的中值。中值流异常丢弃的过程消除与中值流有大偏差的点。在车辆正在旋转的实施例中,中值流可以由宽区域分布。考虑到这种效应,地面平面上的感兴趣的区域被分为跨水平方向的子图像。因此,通过独立的中值流异常丢弃过程来对子图像中的每一者的图像点进行滤波。

地面平面投影212从连续图像中的每一者提取估计的地面点。例如,地面平面投影212从第一图像202提取估计的地面点pk和从第二图像206提取对应的估计的地面点pk+1。例如,假设图像中有分布在地面上的一组点,即“地面特征”,通过将图像点投影到地面平面上来计算每个点的三维位置p。

在214处估计帧间变换的过程包括从地面平面投影212接收估计的地面点,并且基于估计的地面点而使用刚体转换来确定第一图像202和第二图像206之间的相机的运动和定向变化。在一个实施例中,通过基于刚体变换方程而开发的最小平方成本函数来最小化旋转和平移。刚体变换的过程保持刚体中的点之间的距离,并且因此,可以测量单目相机或单目相机所附于的车辆的运动和定向变化。给定来自第一图像202的第一组点和来自第二图像206的第二组点,根据下面的方程1用刚体变换来推断帧间旋转和平移。

pk+1=rpk+t

方程1

在方程1中,变量pk+1是指从第二图像206提取的图像点。变量r是指第一图像202与第二图像206之间的旋转。变量pk是指从第一图像202提取的对应于图像点pk+1的图像点。变量t是指平移。

在214处估计帧间变换的过程的实际应用期间,由于存在异常图像噪声和外部噪声因子,原始传感器输出一般是有噪声的或无法收敛。当二次测量可用时,在214处的过程利用传感器融合框架来提高测量准确度。在期望或需要仅相机测量的实施例中,在214处的过程利用具有α-β滤波器的算法,该算法使用估计结果的过去历史和车辆的运动学模型来对原始视觉里程计测量进行滤波。

原始帧间旋转和平移216是来自在214处的估计的帧间变换的过程的输出。在一个实施例中,从第一图像202到第二图像206测量的旋转表示为rk+1。在一个实施例中,从第一图像202到第二图像206测量的平移表示为tl+1。在一个实施例中,根据下面的方程2来估计旋转和平移。

方程2

在方程2中,变量pk+1是指从第二图像206提取的图像点。变量是指在用运动学方程进行滤波之后的滤波的帧间旋转。变量pk是指从第一图像202提取的对应于图像点pk+1的图像点。变量是指在用运动学方程进行滤波之后的滤波的帧间平移。

在218处用运动学方程进行滤波的过程包括基于从在214处估计帧间变换的过程接收的输出而确定车辆的速度和横摆率。例如,旋转rk+1和平移tk+1用于确定车辆的速度和横摆率。在一个实施例中,在218处用运动学方程进行滤波的过程包括利用具有α-β滤波器的算法,该算法使用估计结果的过去历史和车辆的运动学模型来对原始视觉里程计测量进行滤波。

滤波的帧间旋转和平移220被接收作为来自在218处用运动学方程进行滤波的过程的输出。在一个实施例中,接收滤波的旋转测量和滤波的平移测量。应理解,这些输出可以用于基于包括第一图像202和第二图像206的连续图像而确定车辆的速度和横摆率。

在一个实施例中,用经典rodriguez参数(crp)用cayley变换来使单目相机(或在其上附接有单目相机的车辆)的旋转参数化,如下面的方程3至5所示。

r=[i+q(q)]-1[i-q(q)]

方程3

q=[q1,q2,q3]

方程4

方程5

当围绕主轴的旋转大于π时,crp经历奇异性。然而,当从诸如车载单目相机的单目相机计算帧间旋转时,这可以被避免。因此,假设平面运动,主旋转角等于偏航角。就主旋转角而言的crp由下面的方程6示出。根据下面的方程7来计算偏航角。

方程6

ψ≈θ=2tan-1(|q|)

方程7

在224处的运动和特征位置传播的过程从通过在218处用运动学方程进行滤波来处理的滤波的帧间旋转和平移220接收滤波的旋转和平移测量。在224处的运动和特征位置传播的过程通过在求解光流算法之前预测特征点位置、使用运动恢复结构算法来识别异常点并将特征点提供给光流算法来使用来自存储在存储器中的先前估计的数据改进过程流程200的输出。在一个实施例中,滤波器应用于光流算法。滤波器包括从先前测量估计高阶运动学项并传播来自先前测量的状态和估计的高阶运动学项。然后,基于从单目相机接收的图像而计算的实时测量与协方差加权平均值或简单的平均值的传播融合。该融合基于先前测量而提供额外的信息源,这可以减少确定车辆的当前速度和/或横摆率中的一者或多者的误差。

在一个实施例中,为了进一步改进过程流程200的视觉里程计框架的性能,在224处的运动和特征位置传播的过程包括反馈回路机制,其利用先前估计结果来提高连续图像帧中的运动和定向变化的估计的计算成本、稳健性和准确度。假设当光流算法的目标平台是道路车辆系统并且视觉里程计算法的更新频率相当高时,运动学状态的变化率约束到小值,在当前时间步骤的车辆运动将接近于在先前估计时的车辆运动。相对于相机帧的三维点位置的估计也可以存储在存储器中,在224处的过程可以包括在求解光流算法之前将特征点位置预测到连续图像帧的当前测量中。将预测的特征点位置投影到包括第一图像202和第二图像206的连续图像中,以计算图像点的位置的预测。将预测的图像点的位置作为初始条件提供给光流算法。在初始条件接近实际解时,光流估计的收敛性质得到改进。

另外,在过程步骤224处公开的反馈机制允许系统利用运动恢复结构算法来计算检测到的地面特征的三维坐标并识别另外的异常点。运动恢复结构算法不依赖于地面特征分布在地面上的假设。因此,运动恢复结构算法可以进行检查以确定检测到的地面特征是否确实在地面平面上。考虑到因噪声测量和/或相机校准造成的误差,地面特征坐标经受相对于阈值的测试。当估计的运动恢复结构地面特征坐标与相机高度之间的差值在阈值范围内时,地面特征被接受为位于地面平面中的地面特征,或否则作为异常被丢弃。

另外,可以计算单目相机(或单目相机所附接的车辆)的瞬时速度。鉴于视频帧率“fps”,根据下面的方程8来计算瞬时速度“v”。

v=|t|×fps

方程8

图3示出了由附接到车辆的后部的单目相机捕获的示例图像300。从图像300提取感兴趣的区域302,并且如图3所示,感兴趣的区域302的大部分包括在车辆的后部周围的地面平面。地面平面包括一个或多个地面特征,诸如在地面平面中可检测到的图像点,并且地面特征可以用于基于由相机捕获的两个或更多个连续图像而估计车辆的速度和横摆率。

图4示出了从单目相机接收的多个示例图像,其可以用于计算单目相机的平移和/或旋转。在时间k从相机接收第一图像202,并且在时间k+1从相机接收第二图像206。如图4所示,相机已经从时间=k移动到时间=k+1,并且第一图像202中示出的情景与第二图像206中示出的情景不同。在一个实施例中,根据图2中所示的过程流程200来计算相机的平移402和相机的旋转404。

图5示出了用于估计车辆的速度和/或横摆率的方法500的过程流程图。在502处,方法500开始,并且处理器(诸如自动驾驶/辅助系统102)从车辆的相机接收包括第一图像202和第二图像206的连续图像。在504处,处理器从连续图像中的每一者中提取一个或多个地面特征。在506处,处理器计算第一图像和第二图像的地面特征的坐标。在508处,处理器基于从第一图像到第二图像的地面特征的坐标的变化而估计车辆的速度和横摆率。

图6示出了用于估计车辆的速度和/或横摆率的方法600的过程流程图。在602处,方法600开始,并且处理器(诸如自动驾驶/辅助系统102)从车辆的单目相机接收包括第一图像202和第二图像206的连续图像。在604处,处理器从连续图像中的每一者中提取一个或多个地面特征。在606处,处理器使用光流算法计算第一图像和第二图像的地面特征的三维坐标。在608处,处理器使用运动恢复结构算法来识别连续图像中的一者或多者中的异常点并丢弃异常点。在610处,处理器计算从第一图像到第二图像的中值流,该中流值指示单目相机从第一图像的捕获时间到第二图像的捕获时间的移动。在612处,处理器丢弃第一图像和第二图像的作为异常的一个或多个图像点,因为其具有偏离中值流达预定的阈值量的检测到的移动。在614处,处理器基于从第一图像到第二图像的地面特征的三维坐标的变化而估计车辆的速度和横摆率。在616处,处理器使用经典rodriguez参数用cayley变换来使车辆的旋转参数化。

现在参考图7,示出了示例计算装置700的框图。计算装置700可以用于执行各种程序,诸如本文讨论的那些程序。在一个实施例中,计算装置700可以用作自动驾驶/辅助系统102、车辆控制系统等。计算装置700可以执行如本文所讨论的各种监测功能,并且可以执行一个或多个应用程序,诸如本文所述的应用程序或功能性。计算装置700可以是各种计算装置中的任何一种,所述计算装置诸如台式计算机、内置式计算机、车辆控制系统、笔记本计算机、服务器计算机、手持式计算机、膝上型计算机等。

计算装置700包括一个或多个处理器702,一个或多个存储器装置704、一个或多个接口706、一个或多个大容量存储装置708、一个或多个输入/输出(i/o)装置710以及显示装置730,所有这些装置都耦合到总线712。处理器702包括执行存储在存储器装置704和/或大容量存储装置708中的指令的一个或多个处理器或控制器。处理器702还可以包括各种类型的计算机可读介质,诸如高速缓存存储器。

存储器装置704包括各种计算机可读介质,诸如易失性存储器(例如,随机存取存储器(ram)714)和/或非易失性存储器(例如,只读存储器(rom)716)。存储器装置704还可以包括可重写rom,诸如快闪存储器。

大容量存储装置708包括各种计算机可读介质,诸如磁带、磁盘、光盘、固态存储器(例如,快闪存储器)等。如图7所示,特定大容量存储装置是硬盘驱动器724。各种驱动器也可以包括在大容量存储装置708中,以使得能够从各种计算机可读介质读出和/或向各种计算机可读介质写入。大容量存储装置708包括可移除介质726和/或不可移除介质。

i/o装置710包括允许将数据和/或其它信息输入到计算装置700或从计算装置700检索数据和/或其它信息的各种装置。示例i/o装置710包括光标控制装置、键盘、小键盘、麦克风、监视器或其它显示装置、扬声器、打印机、网络接口卡、调制解调器等。

显示装置730包括能够向计算装置700的一个或多个用户显示信息的任何类型的装置。显示装置730的示例包括监视器、显示终端、视频投影装置等。

接口706包括允许计算装置700与其它系统、装置或计算环境交互的各种接口。示例接口706可以包括任何数量的不同的网络接口720,诸如到局域网(lan)、广域网(wan)、无线网络和互联网的接口。其它接口包括用户接口718和外围装置接口722。接口706还可以包括一个或多个用户接口元素718。接口706还可以包括一个或多个外围接口,诸如用于打印机、定点装置(鼠标、跟踪板、或现在为本领域的普通技术人员所知或以后发现的任何合适的用户接口)、键盘等的接口。

总线712允许处理器702、装置704、接口存储器706、大容量存储装置708和i/o装置710以及耦合到总线712的其它装置或部件彼此通信。总线712表示几种类型的总线结构中的一种或多种,诸如系统总线、pci总线、ieee总线、usb总线等。

出于说明目的,程序和其它可执行程序部件在本文中被示出为离散框,但是应理解,这些程序和部件可以在各个时间上驻留在计算装置700的不同的存储部件中并由处理器702执行。可选地,本文所述的系统和过程可以用硬件或硬件、软件和/或固件的组合来实现。例如,可以对一个或多个专用集成电路(asic)进行编程以执行本文所述的系统和程序中的一者或多者。

示例

以下示例涉及另外的实施例。

示例1是一种用于估计车辆的速度和横摆率中的一者或多者的方法。所述方法包括:从车辆的相机接收包括第一图像和第二图像的连续图像;从所述连续图像中的每一者提取一个或多个地面特征;计算所述第一图像和所述第二图像的地面特征的坐标;以及基于从所述第一图像到所述第二图像的所述地面特征的所述坐标的变化而估计所述车辆的速度和横摆率。

示例2是如示例1中的方法,其中所述第一图像和所述第二图像的所述地面特征是存在于所述第一图像和所述第二图像中的每一者中的可检测的图像点,并且在所述车辆周围的地面平面中被检测到。

示例3是如示例1至2中任一个中的方法,其中计算所述第一图像和所述第二图像的所述地面特征的坐标包括利用光流算法估计三维坐标。

示例4是如示例1至3中任一个中的方法,所述方法还包括基于从存储器检索的在先计算而预测所述第一图像和所述第二图像的所述地面特征的特征点位置,其中在求解所述光流算法之前预测所述特征点位置。

示例5是如示例1至4中任一个中的方法,所述方法还包括将所述特征点位置提供给所述光流算法,以提高计算所述第一图像和所述第二图像的所述地面特征的所述三维坐标的准确度。

示例6是如示例1至5中任一个中的方法,所述方法还包括:使用运动恢复结构算法来识别所述连续图像中的一者或多者中的异常点;以及丢弃所述异常点,以改进对所述车辆的所述速度和所述横摆率的所述估计。

示例7是如示例1至6中任一个中的方法,所述方法还包括:计算从所述第一图像到所述第二图像的中值流,所述中值流指示所述单目相机从所述第一图像的捕获时间到所述第二图像的捕获时间的移动;其中所述中值流被计算为所述第一图像的多个图像点的坐标与所述第二图像的多个对应的图像点相比的变化的中值。

示例8是如示例1至7中任一个中的方法,所述方法还包括:识别异常点,所述异常点包括来自所述第一图像的第一异常点和来自所述第二图像的对应的第二异常点;以及丢弃所述异常点,以减少计算从所述第一图像到所述第二图像的所述中值流时的误差;其中识别所述异常点包括检测从所述第一异常点到所述第二异常点的坐标的变化超过预定的阈值量。

示例9是如示例1至8中任一个中的方法,其中估计所述车辆的所述速度和所述横摆率中的一者或多者包括利用刚体变换来测量所述车辆的运动和所述车辆的定向变化。

示例10是如示例1至9中任一个中的方法,所述方法还包括使用经典rodriguez参数用cayley变换来使所述车辆的旋转参数化。

示例11是如示例1至10中任一个中的方法,其中所述车辆上的所述相机是附接到所述车辆的后部的后视单目相机。

示例12是如示例1至11中任一个中的方法,所述方法还包括从所述连续图像中的每一者提取感兴趣的区域,其中所述感兴趣的区域的大部分包括在所述车辆周围的地面平面,并且其中所述一个或多个地面特征是所述地面平面中的可检测到的图像点。

示例13是如示例1至12中任一个中的方法,其中在所述车辆慢速行驶时实时地从所述车辆的所述相机接收所述连续图像。

示例14是一种被配置为估计车辆的速度和/或横摆率的系统。所述系统包括单目相机,所述单目相机被配置为捕获车辆的周围环境的连续图像。所述系统包括非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器:从所述单目相机接收包括第一图像和第二图像的连续图像;从所述连续图像中的每一者提取一个或多个地面特征;使用光流算法计算所述第一图像和所述第二图像的地面特征的三维坐标;以及基于从所述第一图像到所述第二图像的所述地面特征的所述三维坐标的变化而估计所述车辆的速度和横摆率中的一者或多者。

示例15是如示例14中的系统,其中所述指令还致使所述一个或多个处理器:基于从存储器检索的在先计算而预测所述第一图像和所述第二图像的所述地面特征的特征点位置,其中在求解所述光流算法之前预测所述特征点位置;以及将所述特征点位置并入所述光流算法中,以提高计算所述第一图像和所述第二图像的所述地面特征的所述三维坐标的准确度。

示例16是如示例14至15中任一个中的系统,其中所述指令还致使所述一个或多个处理器:使用运动恢复结构算法来识别所述连续图像中的一者或多者中的异常点;以及丢弃所述异常点,以改进对所述车辆的所述速度和所述横摆率的所述估计。

示例17是如示例14至16中任一个中的系统,其中所述指令还致使所述一个或多个处理器:计算从所述第一图像到所述第二图像的中值流,所述中值流指示所述单目相机从所述第一图像的捕获时间到所述第二图像的捕获时间的移动;其中所述中值流被计算为所述第一图像的多个图像点的坐标与所述第二图像的多个对应的图像点相比的变化的中值。

示例18是如示例14至17中任一个中的系统,其中所述指令致使所述一个或多个处理器通过利用刚体变换测量所述车辆的运动和所述车辆的定向变化来估计所述车辆的所述速度和所述横摆率中的一者或多者。

示例19是如示例14至18中任一个中的系统,其中所述指令还致使所述一个或多个处理器从所述连续图像中的每一者提取感兴趣的区域,其中所述感兴趣的区域的大部分包括在所述车辆周围的地面平面,并且其中所述一个或多个地面特征是所述地面平面中的可检测到的图像点。

示例20是一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器:从车辆的单目相机接收包括第一图像和第二图像的连续图像;从所述连续图像中的每一者提取一个或多个地面特征;使用光流算法计算所述第一图像和所述第二图像的地面特征的三维坐标;以及基于从所述第一图像到所述第二图像的所述地面特征的所述三维坐标的变化而估计所述车辆的速度和横摆率中的一者或多者。

示例21是一种包括用于实施示例1至20中任一个中的方法或实现示例1至20中任一个中的系统或设备的构件的系统或装置。

在以上公开内容中,已经参考附图,该附图形成本公开的一部分,并且其中以说明的方式示出可实践本公开的具体实现方式。应理解,可以利用其它实现方式,并且可以在不脱离本公开的范围的情况下做出结构改变。本说明书中对“一个实施例”、“实施例”、“示例性实施例”等的提及指示所述的实施例可以包括特定特征、结构或特性,但是每一个实施例可不一定包括该特定特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否明确地描述,结合其它实施例实现这样的特征、结构或特性都被认为是在本领域的技术人员的知识范围内。

本文公开的系统、装置和方法的实现方式可以包括或利用包括计算机硬件(诸如像一个或多个处理器和系统存储器,如本文所讨论)的专用或通用计算机。在本公开的范围内的实现方式还可以包括用于携带或存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机系统存取的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(装置)。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实现方式可以包括至少两种截然不同的种类的计算机可读介质:计算机存储介质(装置)和传输介质。

计算机存储介质(装置)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram的)、快闪存储器、相变存储器(“pcm”)、其它类型的存储器、其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于存储所期望的程序代码手段(呈计算机可执行指令或数据结构的形式,并且可由通用或专用计算机存取)的任何其它介质。

本文公开的装置、系统和方法的实现方式可以通过计算机网络进行通信。“网络”被定义为使得能够在计算机系统和/或模块和/或其它电子装置之间传输电子数据的一个或多个数据链路。当通过网络或另一种通信连接(硬接线、无线或硬接线或无线的组合)向计算机传递或提供信息时,计算机适当地将连接视为传输介质。传输介质可以包括网络和/或数据链路,其可以用于携带呈计算机可执行指令或数据结构的形式的期望的程序代码手段,并且可以由通用或专用计算机存取。上述的组合也应包括在计算机可读介质的范围内。

计算机可执行指令包括例如在处理器中执行时使通用计算机、专用计算机或专用处理装置执行某个功能或功能组的指令和数据。计算机可执行指令可以是例如二进制文件、中间格式指令(诸如汇编语言)或甚至源代码。虽然已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应理解,在所附权利要求中限定的主题不一定限于上面描述的所述的特征或动作。相反,所述的特征和动作被公开为实施权利要求的示例形式。

本领域的技术人员将了解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,所述计算机系统配置包括内置式车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持式装置、多处理器系统、基于微处理器或可编程的消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、平板计算机、寻呼机、路由器、交换机、各种存储装置等。本公开还可以在分布式系统环境中实践,其中通过网络链接(通过硬接线数据链路、无线数据链路或通过硬接线与无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储装置这两者中。

此外,在适当时,本文所述的功能可以在以下一个或多个中执行:硬件、软件、固件、数字部件或模拟部件。例如,可以对一个或多个专用集成电路(asic)进行编程以执行本文所述的系统和程序中的一者或多者。某些术语贯穿描述和权利要求使用以指代特定系统部件。术语“模块”和“部件”用在某些部件的名称中以反映它们在软件、硬件、电路、传感器等中的实现独立性。本领域的技术人员将了解,可以用不同名称来提及部件。本文件并不意图区分名称不同但功能相同的部件。

应注意,上面讨论的传感器实施例可以包括计算机硬件、软件、固件或以上项的任何组合以执行其功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电路。这些示例装置在本文中提供用于说明目的而不是旨在进行限制。本公开的实施例可以在其它类型的装置中实现,如相关领域的技术人员将获知。

本公开的至少一些实施例涉及计算机程序产品,其包括存储在任何计算机可用介质上的这种逻辑(例如,呈软件的形式)。这种软件在一种或多种数据处理装置中执行时使装置如本文所述的进行操作。

虽然上面已经描述了本公开的各种实施例,但是应理解,仅以举例的方式呈现了这些实施例而不是进行限制。相关领域的技术人员将清楚,可以在不脱离本公开的精神和范围的情况下作出在形式和细节上的各种改变。因此,本公开的广度和范围不应受上述示例性实施例中的任何一个的限制,而应仅根据以下权利要求及其等同物限定。已经出于说明和描述目的而呈现了以上描述。不旨在穷举或将本公开限制为所公开的精确形式。鉴于上述教导,许多修改和变化是可能的。此外,应注意,任何或所有前述替代实现方式可以以所期望的任何组合使用以形成本公开的附加混合实现方式。

此外,虽然已经描述和示出了本公开的特定实现方式,但是本公开不限于如此描述和示出的各部分的特定形式或设置。本公开的范围由所附权利要求、在此提交的以及在不同申请中提交的任何未来权利要求及其等同物来定义。

根据本发明,一种方法包括:从车辆的相机接收包括第一图像和第二图像的连续图像;从所述连续图像中的每一者提取一个或多个地面特征;计算所述第一图像和所述第二图像的地面特征的坐标;以及基于从所述第一图像到所述第二图像的所述地面特征的所述坐标的变化而估计所述车辆的速度和横摆率。

根据一个实施例,所述第一图像和所述第二图像的所述地面特征是存在于所述第一图像和所述第二图像中的每一者中的可检测的图像点,并且在所述车辆周围的地面平面中被检测到。

根据一个实施例,计算所述第一图像和所述第二图像的所述地面特征的坐标包括利用光流算法估计三维坐标。

根据一个实施例,上述发明的特征还在于,基于从存储器检索的在先计算而预测所述第一图像和所述第二图像的所述地面特征的特征点位置,其中在求解所述光流算法之前预测所述特征点位置。

根据一个实施例,上述发明的特征还在于,将所述特征点位置提供给所述光流算法,以提高计算所述第一图像和所述第二图像的所述地面特征的所述三维坐标的准确度。

根据一个实施例,上述发明的特征还在于,使用运动恢复结构算法来识别所述连续图像中的一者或多者中的异常点;以及丢弃所述异常点,以改进对所述车辆的所述速度和所述横摆率的所述估计。

根据一个实施例,上述发明的特征还在于,计算从所述第一图像到所述第二图像的中值流,所述中值流指示所述单目相机从所述第一图像的捕获时间到所述第二图像的捕获时间的移动;其中所述中值流被计算为所述第一图像的多个图像点的坐标与所述第二图像的多个对应的图像点相比的变化的中值。

根据一个实施例,上述发明的特征还在于,识别异常点,所述异常点包括来自所述第一图像的第一异常点和来自所述第二图像的对应的第二异常点;以及丢弃所述异常点,以减少计算从所述第一图像到所述第二图像的所述中值流时的误差;其中识别所述异常点包括检测从所述第一异常点到所述第二异常点的坐标的变化超过预定的阈值量。

根据一个实施例,估计所述车辆的所述速度和所述横摆率中的一者或多者包括利用刚体变换来测量所述车辆的运动和所述车辆的定向变化。

根据一个实施例,上述发明的特征还在于,使用经典rodriguez参数用cayley变换来使所述车辆的旋转参数化。

根据一个实施例,所述车辆上的所述相机是附接到所述车辆的后部的后视单目相机。

根据一个实施例,上述发明的特征还在于,从所述连续图像中的每一者提取感兴趣的区域,其中所述感兴趣的区域的大部分包括在所述车辆周围的地面平面,并且其中所述一个或多个地面特征是所述地面平面中的可检测到的图像点。

根据一个实施例,在所述车辆慢速行驶时实时地从所述车辆的所述相机接收所述连续图像。

根据本发明,提供了一种系统,所述系统具有:单目相机,所述单目相机被配置为捕获车辆的周围环境的连续图像;以及非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器:从所述单目相机接收包括第一图像和第二图像的连续图像;从所述连续图像中的每一者提取一个或多个地面特征;使用光流算法计算所述第一图像和所述第二图像的地面特征的三维坐标;以及基于从所述第一图像到所述第二图像的所述地面特征的所述三维坐标的变化而估计所述车辆的速度和横摆率中的一者或多者。

根据一个实施例,所述指令还致使所述一个或多个处理器:基于从存储器检索的在先计算而预测所述第一图像和所述第二图像的所述地面特征的特征点位置,其中在求解所述光流算法之前预测所述特征点位置;以及将所述特征点位置并入所述光流算法中,以提高计算所述第一图像和所述第二图像的所述地面特征的所述三维坐标的准确度。

根据一个实施例,所述指令还致使所述一个或多个处理器:使用运动恢复结构算法来识别所述连续图像中的一者或多者中的异常点;以及丢弃所述异常点,以改进对所述车辆的所述速度和所述横摆率的所述估计。

根据一个实施例,所述指令还致使所述一个或多个处理器:计算从所述第一图像到所述第二图像的中值流,所述中值流指示所述单目相机从所述第一图像的捕获时间到所述第二图像的捕获时间的移动;其中所述中值流被计算为所述第一图像的多个图像点的坐标与所述第二图像的多个对应的图像点相比的变化的中值。

根据一个实施例,所述指令致使所述一个或多个处理器通过利用刚体变换测量所述车辆的运动和所述车辆的定向变化来估计所述车辆的所述速度和所述横摆率中的一者或多者。

根据一个实施例,所述指令还致使所述一个或多个处理器从所述连续图像中的每一者提取感兴趣的区域,其中所述感兴趣的区域的大部分包括在所述车辆周围的地面平面,并且其中所述一个或多个地面特征是所述地面平面中的可检测到的图像点。

根据本发明,公开了一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器:从车辆的单目相机接收包括第一图像和第二图像的连续图像;从所述连续图像中的每一者提取一个或多个地面特征;使用光流算法计算所述第一图像和所述第二图像的地面特征的三维坐标;以及基于从所述第一图像到所述第二图像的所述地面特征的所述三维坐标的变化而估计所述车辆的速度和横摆率中的一者或多者。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1