一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

利用相机进行车辆环境建模的制作方法

2022-11-28 12:12:52 来源:中国专利 TAG:

利用相机进行车辆环境建模
1.分案申请说明
2.本技术是申请日为2019年4月18日、申请号为201980004560.5、题 为“利用相机进行车辆环境建模”的中国发明专利申请的分案申请。
技术领域
3.本文描述的实施例大体涉及计算机视觉技术,更具体地,涉及利用相 机进行车辆环境建模。


背景技术:

4.通常称为汽车的“自动驾驶”或“辅助驾驶”操作的自主或半自主汽 车技术,正在商用和消费级车辆中快速发展和部署。这些系统使用一系列 传感器来连续观察车辆的运动和周围环境。可以使用各种传感器技术来观 察车辆的周围环境,例如,道路表面和边界、其他车辆、行人、对象和危 险、标志和道路标记、以及其他相关项。
5.用一个或多个相机实现的图像捕获传感器对于对象检测和识别以及读 取标志和道路标记特别有用。基于相机的系统已用于测量三维结构,例如 道路的竖直轮廓、车道标记、和路缘,并用于检测对象或危险。期望实用 的传感器系统在变化的天气和道路条件下可靠地运行。这些期望趋向于在 处理输入时带来无数挑战。在夜间来自阴影或灯光的输入噪声可能会干扰 道路表面检测。潮湿的道路或其他反射性表面通常会引入明显的运动,这 违反了道路表面模型。此外,考虑到这些道路表面检测的困难,在对道路 表面进行建模以实现自主驾驶或辅助驾驶时需要对危险进行快速(例如, 实时)的检测给硬件带来了负担。
附图说明
6.在不一定按比例绘制的附图中,相似的数字可以在不同的视图中描述 相似的组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。 附图通过示例而非限制的方式大体上示出了本文档中讨论的各种实施例。
7.图1是车辆环境的示例的框图。
8.图2是根据实施例的用于利用相机进行车辆环境建模的系统的示例的 框图。
9.图3示出了根据实施例的当前图像和先前图像。
10.图4示出了根据实施例的用于产生道路表面的伽马(gamma)模型的 神经网络的示例。
11.图5示出了根据实施例的基于机器学习(ml)的竖直轮廓引擎的示例 深度神经网络(dnn)。
12.图6是根据实施例的详述dnn的示例架构的表格。
13.图7-8是根据实施例的详述dnn的更复杂示例架构的表格。
14.图9示出了根据实施例的dnn训练系统的示例。
15.图10示出了根据实施例的多模式损失函数应用引擎的示例。
16.图11示出了根据实施例的神经网络的示例,该神经网络产生关于对象 是否在移动的决策。
17.图12示出了根据实施例的卷积神经网络的示例,该卷积神经网络产生 关于对象是否在移动的决策。
18.图13是示出根据实施例的用于操作竖直轮廓检测引擎的方法的示例的 流程图。
19.图14是示出根据实施例的用于配置dnn以在基于ml的轮廓引擎中 使用的方法的示例的流程图。
20.图15是示出根据实施例的用于在自主车辆沿道路移动时实时测量道路 的竖直轮廓的方法的示例的流程图。
21.图16是示出根据实施例的用于处理图像序列上的残余流(residualflow)以测量道路的竖直轮廓的示例途径的流程图。
22.图17是示出根据实施例的用于车辆控制的水坑检测和响应决策的方法 的示例的流程图。
23.图18是示出根据实施例的用于基于竖直轮廓信息和附加的水坑检测标 准来通过计算确定存在一个或多个水坑的方法的示例的流程图。
24.图19是示出根据实施例的用于通过计算确定自主车辆的当前情境场景 的方法的示例的流程图。
25.图20是示出根据实施例的用于对可用驾驶响应解决方案进行计算评估 的方法的示例的流程图,这些可用驾驶响应解决方案可以或可以不被选择 来对检测到水坑做出响应。
26.图21示出了根据实施例的用于与自动车辆控制系统一起使用的用于对 道路进行轮廓分析的基于相机的车载系统。
27.图22示出根据实施例的车辆上的多相机阵列。
28.图23示出了根据实施例的可由多相机阵列捕获的视场的示例。
29.图24是示出根据实施例的竖直轮廓检测引擎的示例的框图。
30.图25示出了根据实施例的预处理器引擎的示例。
31.图26示出了根据实施例的用于利用相机进行车辆环境建模的方法的示 例的流程图。
32.图27是示出可以在上面实现一个或多个实施例的机器的示例的框图。
33.图28是示出根据实施例的计算设备的示例硬件和软件架构的图示。
34.图29是示出根据实施例的可以使用的处理设备的框图。
35.图30是示出根据实施例的中央处理单元的示例组件的框图。
具体实施方式
36.各种车辆环境建模技术可以与各种传感器配置一起使用。当使用相机 (例如,可见光谱、红外(ir)等)时,传感器产生由像素组成的图像。 像素的各个方面可用于建模,例如颜色或亮度。一般而言,为对动态环境 建模,使用了一系列图像。这种类型的建模跟踪像素在连续图像之间的移 动,以推断环境的各方面,例如,车辆如何移动,其他车辆如何移动,对 象(例如,人,动物,球等)如何移动,道路上的障碍物等。
37.将图像转换为归一化状态(例如,以校正相机镜头畸变)、在图像之 间按顺序对齐像素(例如,通过单应性(homography)使较早的图像变形 以在很大程度上匹配较晚的图像)、以及测量剩余像素运动(例如,残余 运动)的迭代过程可用于对环境进行建模。可以如下计算残余运动
[0038][0039]
其中,项是伽马(gamma)—平面(例如,道路表面)上方的像素的高 度h与像素到传感器的距离z的比值,tz表示传感器向前的平移(例如, 车辆在图像之间移动了多远),d

π
表示传感器距平面的高度,表示核点 信息(例如,车辆正在向哪行进),以及表示应用基于单应性的变形后 的像素的对应图像坐标。
[0040]
下面描述计算残余运动的一些其他细节。但是,使用直接像素匹配存 在一些困难。例如,许多可能投射到道路表面上的事物并不代表道路表面, 例如,阴影或反射斑块(例如水坑)。尽管可以使用滤波技术来减少这种 噪声,但是更好的解决方案涉及经过训练以直接从一系列图像中计算伽马 的人工智能(例如,机器学习系统、人工神经网络(ann)、深度ann (dnn)、卷积ann(cnn)等)。这需要对道路表面成像中的常见噪 声问题的鲁棒解决方案。此外,这样的系统还可以接受传感器运动或核点 信息以进一步增强其伽马结果。根据伽马,可以确定道路平面上方的像素 的高度以及到该像素的距离。这样的道路表面建模对于例如避免坑洼或调 整用于减速带的悬架可能是有用的。直接从传感器数据确定伽马(例如, 通过ann)可能优于其他技术(例如,使用二维(2d)光流来确定残余 流,或者使用ann来确定在平面上方的高度和到像素技术的传感器的距 离),因为它强化了核点约束。此外,一个伽马可用于对齐(例如,变形) 该点的所有图像。尽管可以训练ann来直接确定点的深度或高度,但是 伽马提供了一些好处。例如,伽马计算比深度更稳定,因为距平面的高度 发生明显变化可能会导致距相机的深度发生小的相对变化。同样,在给定 h和参考平面的情况下,可能计算深度z,然后计算残余流,但这会增加 复杂性,因为ann为相同结果处理更多数据。这也是利用平面模型对图 像进行预变形并提供自我运动(ego-motion,em)(例如,传感器或车辆 的运动,例如,核点和)作为输入的原因。
[0041]
在示例中,可以使用类似的技术来训练网络以计算z或h而不是伽马。 在该示例中,可以将单应性平面输入参数提供给ann。例如,该平面可以 被定义为水平线(例如,平面的消失线)和到该平面的距离。该线可以被 提供为一对距离图像,并且到平面的距离可以被提供为恒定图像。这与上 面的提供核点和tz作为输入的方式类似。在示例中,对齐输入图像以仅考 虑旋转(例如,使用单应性,该单应性使用在无限远处平面)并计算z
[0042]
在示例中,代替针对整个图像计算伽马然后仅使用沿特定路径的伽马 (例如,用于悬架控制(suspension control)),可以训练ann仅沿着指 定路径产生伽马。例如,如果输出仅用于适用于车辆轮胎的事项(例如悬 架控制),这可能会更有计算效率,因为去卷积运算可能在计算上很昂贵。 可以以多种方式实现路径辨别(例如,仅为该路径产生伽马)。例如,可 以在ann的推断阶段给出路径作为输入,将ann训练为仅输出沿该路径 的值。在示
例中,可以如上所述训练完整的ann以产生伽马。在推断期 间,当给出路径时,做出关于在针对该路径的扩展阶段中需要哪些(去) 卷积的确定并且仅应用那些(去)卷积。例如,为确定输出的完整行的伽 马值,需要沿着整行进行卷积。然而,对于输出行的仅一段,仅需要在与 该段相对应的特定范围内执行去卷积。
[0043]
另外,经过不同训练的、具有相似结构的ann也可以将对象分类为 移动的或不移动的。例如,可以使用移动/不移动分类来提高主车辆更好地 选择事故避免动作的能力。同样,将输入图像直接用于识别特征中的残余 运动并确定结果。下面描述附加的细节和示例。
[0044]
图1是示出车载相机的示例视场100的图示,在该示例视场100存在 各种对象。如图所示,视场100包括道路表面102,其可以具有一个或多 个表面特征104,例如,凹陷104a(例如,坑洼、栅格、凹陷等)或突起 104b(例如,减速带、路缘、碎屑等)。视场100还可以包括阴影106、 反射表面108(例如,水坑、冰等)、行人110、或另一车辆112。对表面 特征104进行建模可以使得车辆能够避开它们、向驾驶员发出警报、或者 调整自身以更好地操纵它们(例如,调整车辆悬架以越过坑洼104a)。对 移动的或可能移动的行人110或车辆112进行理解和建模可类似地使得车 辆能够控制更改或向驾驶员发出警报以避免撞到它们,甚至避免或减少与 它们的不合需要的交互(例如,行驶通过水坑108而飞溅到行人110), 例如减速或调整行驶路径、停车等。
[0045]
道路建模的这些要素都可能带来一些挑战,本文所述的设备和技术将 解决这些挑战。例如,阴影106是用于道路表面点跟踪的噪声。来自水坑 的反射不仅掩盖了下面的道路表面而削弱点跟踪,而且实际上展示了图像 之间的像素运动,这通常与其他位置的像素运动相反。
[0046]
图2是根据实施例的利用相机202进行车辆环境建模的系统208的示 例的框图。系统208固定在车辆204上。在示例中,系统208被集成到相 机202或其他传感器中。在示例中,系统208与相机202或其他传感器(例 如,车辆204的信息娱乐系统的一部分)分离。在此,通过示例的方式, 相机被示出为安装在挡风玻璃上的前视相机。但是,本文所述的技术同样 适用于安装在车辆内部或外部的后置或侧面相机。一个这样的示例是外部 地安装在顶篷的拐角处的相机,其具有前向且稍微偏向侧面的视场。
[0047]
系统208包括处理电路,以经由从相机202获得的图像来执行车辆环 境建模。车辆环境建模可以包括对道路表面206、障碍物、妨碍物、和移 动体(例如,其他车辆、行人、动物等)进行建模。这些模型可以由系统 208直接使用、或通过另一管理系统使用,以调整车辆204的运行参数。 为了执行建模,系统208被布置为获得代表道路表面206的按时间顺序排 列的图像序列。该图像序列中的一个图像是当前图像(例如,相机202所 拍摄的最后图像)。
[0048]
系统208被布置为向人工神经网络(ann)提供数据集以产生伽马图 像。在此,伽马图像的像素是针对点的伽马值。如其他地方所述,伽马值 是点在平面上方的高度与距捕获当前图像的传感器的距离的比值。另外, 在此,平面表示道路表面206。
[0049]
尽管下面使用“伽马图像”,但是可以使用其他数据格式来表示场景 中的伽马。因此,伽马可以不是栅格格式,而是可以是使得伽马值能够经 由传感器数据与表面相关的任何形式(例如,值到点的伽马图)。这些各 种数据结构可以统称为伽马模型。
[0050]
在示例中,数据集包括图像序列的一部分。在此,图像序列的一部分 包括当前图
像。数据集还包括传感器202的运动(例如,传感器移动信息) 和核点(epipole)(例如,核点信息)。在示例中,图像序列的一部分包 括紧接着在当前图像之前的图像。在示例中,该图像序列的一部分总共是 三个图像。在示例中,该序列可以包括任意n个图像,其中n是大于一的 整数(即,{n∈ii|n》1})。在示例中,序列中的图像可以是连续捕获的 图像。在示例中,在生成在数据集中使用的图像序列的过程中,可以省略 原始帧序列中的一些帧。
[0051]
在示例中,以与当前图像相同的维数(尽管可能采用更大或更小的分 辨率)将核点提供为梯度图像。在此,梯度图像中的像素值表示当前图像 中的像素距核点的距离。在示例中,梯度图像仅表示距核点的水平(例如, x轴)距离,并且向ann提供第二梯度图像以表示距核点的竖直(例如, y轴)距离。
[0052]
在示例中,传感器206的运动被提供为具有与当前图像相同的维数 (尽管可能是更大或更小的分辨率)的恒定值图像。在示例中,该恒定值 是传感器206的前向运动(例如,z轴)与传感器202距平面206的高度的 比值。
[0053]
在示例中,ann是卷积神经网络(cnn)。在示例中,传感器206和 核点的运动在瓶颈层(bottleneck layer)处被提供给cnn(例如,参见下 面关于图5的讨论)。
[0054]
在示例中,利用无监督训练技术来训练ann,其中通过测量未来图像 模型与实际未来图像之间的差异来确定误差。在此,未来图像的模型是通 过对未来图像之前的图像进行伽马变形来产生的。因此,在此示例中,推 断的伽马值被用于预测未来图像将看起来是什么样的。当与未来图像进行 比较时,使用与模型的偏差来校正ann。
[0055]
在示例中,利用无监督训练技术来训练ann,其中通过测量针对一位 置的预测伽马与该位置处的传感器202移动之间的差异来确定误差。因此, 预测了伽马,并且传感器202或车辆204的自我运动被用来确定该伽马推 断是否正确(或推断的错误程度如何)。在此示例中,如果ann预测道 路表面206存在向下倾斜,而随后车辆没有检测到这种向下倾斜,则训练 会纠正预测该向下倾斜的推论。在示例中,传感器移动可以包括俯仰、偏 航、侧倾(roll)、或垂直于该平面的平移中的一者或多者。
[0056]
在示例中,利用无监督训练技术来训练ann,其中误差是由在两个不 同时间下的两个图像之间的重叠片段的伽马之间的差异来确定的,其中对 第一图像执行推断,并且其中重叠片段在第二图像中更靠近传感器202。 因此,在训练中,具有随后由车辆204穿过的表面206的视图的图像是先 前图像。重叠片段的伽马值由ann推断,并通过计算未来图像中相同段 的伽马值进行检查。当传感器202更接近一特征(例如,将来的重叠片段) 时,系统对伽马的估计值可能会更好,并且可以用在损失函数中来训练 ann。因此,将从当前三倍图像推断出的伽马图与从向当前伽马图变形的 未来三倍图像推断出的伽马图进行比较。当训练ann时,两个伽马图之 间的比较值(例如,差值或到最接近的表面点的距离)被用作损失的一部 分。
[0057]
系统208被布置为使用伽马图像对道路表面206进行建模。在示例中, 对道路表面进行建模包括计算与道路表面特征的平面的竖直偏差。在示例 中,对道路表面进行建模包括计算图像序列中的特征的残余运动。在此, 特征的残余运动是伽马值、传感器206的运动、和核点的乘积。
[0058]
在示例中,对道路表面进行建模包括使用伽马值使先前图像变形到当 前图像。基于伽马的变形特别准确,因为伽马使得特征能够基于其距传感 器202的距离以及其在道路
表面206上方的高度在图像之间进行匹配,而 不是尝试有时匹配图像中的那些特征的像素的短暂或复杂的颜色变化。
[0059]
在示例中,对道路表面进行建模包括从经伽马变形的图像识别反射区 域。在此,伽马变形的准确性可以使得能够进行诸如水坑之类的反射区域 的识别,因为反射产生的视觉信息的操作方式与图像中的其他对象不同。 例如,虽然当车辆接近时极点(pole)的顶部可能看起来比极点的底部更 快地朝向传感器202移动,但是极点的许多反射将看起来相反。因此,经 训练的ann将使像素与非反射移动相匹配,并忽略反射区域,因为其中 的像素运动与其他像素的运动不相符。此行为在整个反射表面上产生平坦 的伽马。经伽马变形的图像中具有平坦的伽马的连续区域可被识别为反射 区域。
[0060]
在示例中,对道路表面建模包括在使用伽马值进行变形之后通过残余 运动的连续区域来识别反射区域。在使用伽马变形后,剩余的残余运动将 被限制在表现出该独特行为的这种区域中。在示例中,这种残余运动区域 也可用于确定运动,例如,另一车辆、行人、移动的碎屑等的运动。
[0061]
在示例中,与当训练时在第一ann的损失函数中使用的主要几何约 束相对地,可以在另外的ann的损失函数中使用摄影测量约束来训练该 ann。如上所述,在利用主要几何约束进行训练之后,第一ann通常将 忽略反射表面中的运动。然而,另外的ann不会因为摄影测量约束将在 训练期间调整该另外的ann以尝试解释反射表面中的运动。因此,在示 例中,比较从第一ann和第二ann产生的伽马可以揭示其中产生的两个 伽马图不一致(例如,超过阈值)的反射表面。
[0062]
在示例中,系统208还被布置为在特征的残余运动上调用第二ann, 以确定这些特征表示在道路表面206的环境内移动的对象还是不移动的对 象。在示例中,向第二ann提供当前图像、至少一个先前图像、以及目 标标识符。目标标识符可以由另一系统提供,例如车辆识别系统。在示例 中,目标标识符是一个或多个图像,其中图像的像素指示距目标的中心的 距离,类似于以上针对核点信息描述的梯度图像。在示例中,目标标识符 包括目标的大小。在示例中,目标的大小是恒定值图像(例如,类似于上 面的传感器移动信息图像)。在示例中,目标标识符是与目标相对应的像 素的掩码。下面参照图11和图12描述这种第二ann的示例。
[0063]
图3示出了根据实施例的当前图像304和先前图像302。在当前图像 304中,两条线306和308被置于的轮胎的底部和减速带的顶部。要注意, 线306如何与先前图像302中的轮胎对齐。从线起的双端箭头指示该线相 对于路缘的固定端的移动。类似地,线308示出在先前图像302和当前图 像304之间减速带的顶部已移动。当图像302变形为图像304时,图像的 静态特征将匹配,但车辆的底部将移动。
[0064]
图4示出了根据实施例的用于产生道路表面的伽马模型414的神经网 络412的示例。图5-10示出了类似412的神经网络的一些附加细节和示例。 但是,作为概述,每个像素的残余运动由三部分组成:伽马、传感器(例 如,车辆)运动、和核点信息,如下:
[0065][0066]
核点信息取决于在单应性和核点之后的图像坐标。给定传感器的自我 运动(em),可以针对每个像素计算此值。传感器移动信息取决于前向 运动tz和传感器距平面的
高度d

π
。这对于整个图像都是固定的。
[0067]
伽马通过点在平面上方的高度h和该点距传感器的距离z来描述每个 像素处的场景的结构。因此,在给定传感器移动信息和核点信息的情况下, 神经网络412确定伽马模型414,并且可以计算每个点的残余运动以使得 一个图像能够变形到另一图像。
[0068]
在给定准确的伽马模型414的情况下,图像变形非常准确,因为每个 像素的距离和高度,通常表现得好像图像是静态场景。经典技术首先计算 残余流,然后通过去除核点信息和传感器移动信息来计算伽马。根据伽马, 沿着一条或多条轨道(例如,轮胎路径)计算点的高度和距离。然而,如 上所述,道路表面图像中噪声的变化程度导致直接残余运动检测有时会出 现问题。
[0069]
训练神经网络412以直接从图像中计算伽马提供了对图像中发现的噪 声的鲁棒对抗。因此,在给定当前图像402、使用单应性以及自我运动410 和核点(例如,平面)参数(图像406和408)作为输入而变形的一个或 多个先前图像404的情况下,神经网络产生伽马值的图像414作为输出。 如图所示,伽马模型414中的阴影越浅,伽马值越低。而且,从损失计算 中省略了车辆来训练神经网络412。这样做是为了防止车辆的运动在训练 期间影响附近的伽马值,但是,在推断期间通常不会掩盖车辆。在示例中, 在训练期间,未从神经网络412损失函数中掩盖车辆或其他移动对象。
[0070]
如图所示,将核点信息和传感器移动信息作为图像提供(例如,值的 栅格)。传感器移动信息图像410是恒定值的图像(例如,每个像素具有 相同的值)。由分别具有在水平(例如,x)406和竖直(例如,y)408方 向上到该核点的距离的像素值的两个图像表示核点信息。在使用卷积神经 网络(cnn)时,将核点信息提供为梯度图像而不是两个值是有帮助的。 在cnn中,在整个图像402上运行相同的滤波器组,并且必须告知每个图 像区域其相对于核点的位置。通过使用梯度图像406和406,滤波器具有 针对每个卷积的核点信息。
[0071]
图5是示出基于ml的轮廓引擎的示例dnn 500的图示。在示例中。 如图所示,dnn 500包括具有各种操作层的卷积网络部分502,这些操作 层可以包括卷积层、激活层、规范化层、和池化层。可以另外包括其他操 作层,例如内积层。在示例中,dnn 500另外包括去卷积部分504,包括 去卷积(例如,转置卷积)层、激活层、规范化层、和解池化层。
[0072]
在示例中,将一组预处理图像530作为输入506提供给卷积网络部分 502。每层生成特征图,该特征图继而被传递到后续层,以便沿着前向传 播路径508进行进一步处理。如图所示,卷积网络部分502的操作用于逐 渐地减小特征图的分辨率,同时增加沿着卷积前向传播路径508a的特征 图的通道的数量(维数)。去卷积网络部分504的操作用于逐渐地增大特 征图的分辨率,同时减小其沿着去卷积前向传播路径508b的维数。
[0073]
在示例中,除了前向传播路径508之外,还可以提供一个或多个旁路 路径510,以促进特征图从在先层传递到在后层,同时跳过位于该在先层 和在后层之间的一个或多个中间层。作为示例,旁路路径510可以在卷积 网络部分502的层与去卷积网络部分504的类似维数的层之间传递特征图。
[0074]“瓶颈”网络部分512位于卷积网络部分502和去卷积网络部分504 之间。在示例中,瓶颈网络部分512具有与其他层相比具有较低分辨率和 较高维数的一个或多个层。在示例中,瓶颈部分512包括输入514,其被 配置为接受图像格式的运动标记526和图像格式的核点位置数据528。
[0075]
在示例中,训练dnn 500以产生道路结构532,作为与预处理图像530 的当前(最新)图像相对应的伽马值的按像素映射。作为dnn 500的输出 的道路结构532可以具有与预处理图像530相同或不同的分辨率。例如, 道路结构532的分辨率可以按因子0.25、0.5、1、1.5、2或其他缩放因子进 行缩放,该因子可以是整数或非整数值。
[0076]
在另一示例中,道路结构532可以对应于预处理图像530的当前图像 的一部分。例如,道路结构532可以对应于视场100(图1)的裁剪图像, 从其中省略了不表示道路表面的一些部分。
[0077]
要注意的是,道路结构532的像素中的伽马值是无量纲值。在示例中, dnn 500针对水平线上方的点产生其他无量纲值(例如,)的映射作为 其输出。当伽马的值已知时,可以使用关系来恢复距离z和 道路表面的高度h,其中n

是n的转置,(x,y)是图像坐标,f是焦距。 dnn训练引擎550被配置为训练dnn 500,以基于一组训练数据产生对道 路结构532的准确确定。图9是更详细地示出dnn训练系统550的图示。 如图所示,dnn训练系统550包括具有与dnn 500相同或相似架构的dnn 902,以及多模式损失函数应用引擎950。
[0078]
图6是根据实施例的详述dnn的示例架构的表格。如图所示,按照以 下方面来描述每一层:其操作类型,连接(表示为输入0、输入1和输出 0),输出通道的数目,以及卷积/去卷积架构(包括内核宽度和步长), 以及激活函数和规范化类型。要注意的是,具有在输入/1列中指示的第二 输入以及所标识的第二输入源的层具有旁路连接。
[0079]
到图6的dnn的第1层的输入包括一组预处理图像,在输入/0列中被 表示为“图像”。图像格式的核点标记和图像格式的运动标记被输入到第 8层,如输入/1列中的“核点/运动”所示。
[0080]
图7-图8是根据实施例的详述dnn的更复杂的示例架构的表格。在第 1层处,将图像输入到dnn,如输入/1列中的“图像”所示。向第9层输 入图像格式的核点标记和图像格式的运动标记,如输入/1列中的“核点/运 动”所示。一些层(第44层和第49层)具有用于旁路连接的第三输入, 以输入/2列表示。另外,图7-图8的示例dnn的某些层执行调整大小操 作,例如,第22层、第28层、第34层、第42层、第47层和第52层。要 注意的是,第52层将特征图的大小调整为与预处理图像330相同的大小。
[0081]
图9示出了根据实施例的dnn训练系统的示例。在此,多模式损失函 数应用引擎950被配置为将训练数据930作为输入提供给dnn 902。训练 数据830可以包括由一个或多个车载相机捕获的图像帧的各种序列。图像 帧可以包括例如在各种照明和天气条件下在各种地理区域中的各种道路上 捕获的视频镜头。
[0082]
训练数据930可以伴随有与训练数据930的各个部分相对应的图像格 式的运动标记926和图像格式的核点标记928。图像格式的运动标记926和 图像格式的核点标记928可以被馈送到与用于训练数据930的图像帧的输 入层不同的输入层,以匹配dnn 902的结构和操作布置。这些输入沿前向 传播路径908前进通过dnn 902,以产生道路结构932作为dnn 902的输 出。
[0083]
可以最初利用计算参数(例如,权重、偏差等)的随机值配置dnn902。训练过程用
于调整计算参数的值,以优化dnn 902的输出,即道路 结构932。多模式损失函数应用引擎950被配置为执行参数优化。在示例 中,使用多个不同的损失函数来确定dnn 902的输出的准确度。多模式损 失函数应用引擎950为dnn 902的各个层产生计算参数调整920,这是使 用沿着反向传播路径910的向后传播来设置的。
[0084]
在示例中,针对dnn 902的各个层的计算参数调整920被收集并存储 在计算参数数据结构925中,计算参数数据结构925定义dnn 902的训练 结果。在示例中,将计算参数数据结构925传递(例如,作为dnn训练系 统输出的一部分)到竖直轮廓检测引擎,在此将其存储为用于配置基于 ml的轮廓引擎的计算参数。在示例中,推断引擎训练同时在当前三元组 和未来的三元组上运行,以分别产生output_curr(当前输出)和 output_future(未来输出)。可以将几何损失与来自output_curr的其他损失 组合,并往回传播以调整网络的权重,并且也可以传播没有几何损失的来 自output_future的损失以调整权重。在示例中,可以忽略output_future的 几何损失,仅将output_curr用于训练。
[0085]
图10示出了根据实施例的多模式损失函数应用引擎1050的示例。在 所描绘的示例中,多模式损失函数应用引擎1050包括四个不同的损失函数 训练引擎:摄影测量损失函数训练引擎1004、预测图像摄影测量损失函数 训练引擎1006、em损失函数训练引擎1008、和几何损失函数训练引擎 1010。此外,多模式损失函数应用引擎1050包括反向传播引擎1012和训 练数据库1020。损失函数训练引擎1004-1010被配置为对照用于代替传统 的“地面实况”值的相应的参考标准比较道路结构1032,来确定道路结构1032的准确度的误差或损失。
[0086]
在示例中,未(像在传统的有监督的机器学习系统中那样)使用实际 的地面实况数据。替代地,处理训练数据的图像以及其他可用数据(例如, 与图像相对应的自我运动、相机高度、核点等),来产生用于评估损失函 数的参考标准。在某种意义上,由于参考标准是基于训练数据的,因此可 以将其视为一种无监督学习。
[0087]
在示例中,地面实况数据可用于训练数据。作为示例,可以通过诸如 三维成像或扫描测量(例如,立体成像、lidar扫描等)之类的附加测量 模式来提供地面实况数据。因此,一个或多个损失函数可以基于实际的地 面实况来提供一种监督学习。
[0088]
损失函数训练引擎1004-1010可以各自贡献用于训练dnn的总体损失 函数的一个分量。反向传播引擎1012可以被配置为关于可变计算参数(例 如,权重、偏差)计算整体损失函数的偏导数,以使用梯度下降技术来确 定每个相应操作参数的调整方向。反向传播引擎1012可以在沿着反向传播 路径的每个连续层处应用更新的计算参数值。训练数据库1020可以包含训 练数据、图像格式的运动标记、和图像格式的核点标记,以应用于dnn的 (一个或多个)适当输入层。在示例中,根据张量流图元函数来定义损失 函数,该张量流图元函数包括这种图元的复杂组合。一旦以此方式定义了 损失,就可以使用张量流来计算偏导数。
[0089]
摄影测量损失函数训练引擎1004被配置为基于来自在前向传播路径中 被提供给dnn的训练数据的一组图像帧生成参考标准。在示例中,将三 个图像(当前图像、先前图像、和再先前图像)用作dnn的输入,使用 被生成为道路结构1032的伽马图来将先前图像和再先前图像变形到当前图 像。校正每个变形图像以补偿残余流,并将其与实际当前图像进行比较。
[0090]
可以根据下式确定残余流补偿
[0091][0092]
其中μ代表残余流,γ(伽马)是道路结构,项表示前向自我运动除以 相机高度,项描述道路表面的平面。
[0093]
可以使用适合的技术来计算图像比较,例如,规范化互相关、总绝对 差值(sad)、二进制描述符距离等,其可根据下式应用于围绕每个像素 的图像的补丁(patch):
[0094][0095]
其中i
curr
是未变形的当前图像,iw是经伽马变形和残余流补偿的先前(或 再先前)图像,以及i
baseline
是变形前的先前(或再先前)图像。在示例 中,对象检测(例如,车辆检测、自行车/行人检测)被用于从损失函数中 掩盖运动对象,以减少在所比较的图像之间检测到的运动。图像比较可以 包括图像之间的灰度级比较。
[0096]
在示例中,摄影测量损失函数训练引擎1004将可变权重应用于图像比 较的与道路和非道路特征相对应的部分。因此,可以消除在非道路部分中 发现的所比较的图像之间的差异程度。
[0097]
预测图像摄影测量损失函数训练引擎1006被配置为执行与摄影测量损 失函数训练引擎1004类似的图像变形、补偿和比较技术,不同之处在于, 除使用dnn用于产生道路结构1032的图像外在图像比较处理中还包括一 个或多个“未来”或“过去”图像。“未来”图像是比用于训练dnn的 当前一组图像更晚捕获的图像,而“过去”图像是更早捕获的图像。因此, 对于未来图像,由预测图像摄影测量损失函数训练引擎1006提供的损失函 数分量使用在运行时不可用的训练数据。要注意的是,计算出的推断产生 对该推断不被视为输入的图像起作用的伽马。
[0098]
em损失函数训练引擎1008被配置为基于将道路结构1032与“未来
”ꢀ
自我运动进行比较来产生损失函数分量,该“未来”自我运动表示车辆在 与道路结构1032相对应的道路部分上的通过。作为示例,在不存在道路结 构832中有任何颠簸或孔洞的任何指示的情况下,指示道路上的颠簸或孔 洞的自我运动是一种损失。在示例中,可以使用向上或向下的曲率。在示 例中,em可以延伸超过20m(例如,多达50m)。即使当部分道路距离 太远而无法计算残余流时,这也可以帮助dnn从道路结构正确建模表面 的长距离形状。类似地,当道路结构1032预测在该位置(特别是在车轮的 行驶路径中)出现颠簸或空洞时,缺少与该颠簸或空洞相对应的自我运动 会造成损失。
[0099]
在示例中,将具有0.5hz频率的低通滤波器或阻尼弹簧模型应用于道 路结构1032,以在车辆经过道路地形时对车辆的悬架的阻尼效应进行建模。 在另一示例中,在可获得车辆的悬架状态的情况下,将悬架信息与自我运 动一起考虑,以更准确地测量车轮的竖直运动。
[0100]
几何损失函数训练引擎1010被配置为使用包括“未来”图像帧和对应 的“未来”自
我运动的一组或多组“未来”训练数据来产生损失函数分量。
ꢀ“
未来”图像帧表示在用作输入的当前图像帧之前(与当前图像帧相距更 大的距离或比当前图像帧更晚捕获)的定义距离或时间步长处捕获的图像。 例如,“未来”图像帧和自我运动可以对应于训练数据的捕获图像的随后 接着的三个(图像)。在另一示例中,“未来”图像帧和自我运动对应于 距车辆的位置5米、20米、或某个其他定义的距离。
[0101]
参考标准基于使用dnn计算的“未来”道路结构(例如,伽马图)。 几何损失函数训练引擎1010使用“未来”自我运动将“未来”道路结构变 形为当前道路结构832,或者使用“未来”自我运动将当前道路结构1032 变形为“未来”道路结构。
[0102]
在示例中,将“未来”道路结构变形为当前道路结构1032,并在其之 间进行第一比较,并且将当前道路结构1032变形为“未来”道路结构,并 在它们之间进行第二比较。可以将第一比较和第二比较的结果进行组合 (例如,平均)以产生汇总比较,然后将该汇总比较用于确定几何损失函 数训练引擎1010的损失函数。
[0103]
在示例中,在使用多个相机和重叠的视场的情况下,来自多个视场的 相关图像可以用于实现几何损失函数训练。例如,可以处理“未来”左图 像和中心图像(在时间t3),要求来自时间t3的经伽马变形的图像在光度 上类似于在时间t2的中心图像。可以使用未来的两对图像来设置条件,即 从那些图像推断出的伽马在校正相机运动之后类似于使用来自时间t1和t2 的图像得出的伽马。在示例中,中央主相机可以与一个或多个安装在车顶 的左角或右角上的朝向前方或朝向侧面的相机一起使用。这些侧面相机可 以具有宽于90度的视场。右相机的视场可以与主相机的右视场明显重叠, 并且可以具有向后延伸的视场。左相机的视场可以与主相机的左视场明显 重叠,并且可以具有向后延伸的视场。在图22中示出了相机的这种布置, 其中相机2212b是主相机,相机2212a和2212c分别是左侧相机和右侧相 机。在示例中,来自角相机的图像可以在训练阶段中用于计算损失函数, 而无需在推断阶段被使用。
[0104]
由反向传播引擎1012将由两个或更多个损失函数训练引擎1004-1010 贡献的损失函数分量组合成聚合多模式损失函数,该聚合多模式损失函数 用于例如使用梯度下降技术训练dnn来生成计算参数调整。
[0105]
图11示出了根据实施例的神经网络1112(例如,dnn)的示例,该 神经网络1112产生关于对象是否正在移动的决策。神经网络1112的操作 类似于上述神经网络,例如神经网络412。神经网络1112的输入包括当前 图像1102、一个或多个先前图像1104、目标位置和目标大小。尽管在图11 中示出的示例使用神经网络1112来确定目标是否正在移动,但在示例中, 可以使用伽马对齐来确定移动的目标,该伽马对齐使用来自上述网络412 的伽马并利用启发式技术测量残余运动。例如,如果在诸如车辆或车轮之 类的已知类型的目标的底部检测到残余运动,则可以得出该车辆正在移动 的结论。
[0106]
如图所示,目标位置和大小作为图像被输入。目标位置包括两个梯度 图像,其中像素值代表距目标中心的距离。在此,水平梯度图像1106(例 如,位置x或p
x
)和竖直梯度图像1108(例如,位置y或py)组成对神经 网络1112的目标位置的输入。这些图像包括目标的外形以说明与目标的梯 度的关系。目标大小在此被表示为图像,其中所有像素都具有代表目标的 大小的相同值(例如,恒定值图像)。在示例中,掩模1116(例如,模板) 可以用于识别目标。在示例中,掩模替换梯度图像1106和1108或大小图 像1110中的一个或多个。使用
掩模可以减少例如在单个目标的情况下由神 经网络1112处理的图像数据的量。对于多个目标,掩模可能会导致多次处 理输入图像的相同部分,但是,例如,如果稍后在卷积推断链中使用掩模, 则可以缓解这种情况。
[0107]
例如,神经网络1112的输出1114是目标是在移动、不移动、还是
ꢀ“
可能”移动的类别标签,该类别标签表示无法以置信度阈值确定对象是 否正在移动。在示例中,类别标签是实数值得分,其中大值(例如,高于 第一阈值)指示移动,低值(例如,低于第二阈值)指示不移动,并且在 第一阈值和第二阈值之间意味着可能移动。输出1114可以是针对一个目标 推断的单值,或者可以是针对多个目标的向量(如图所示)。
[0108]
为了一次处理多个目标,可以生成输出向量。例如,图像1102中多达 八个汽车的八个输出将覆盖大多数场景。在示例中,使用诸如从一到八的 数字之类的不同标签对每个车辆进行掩盖1116。然后,位置i(例如vi)处 的输出1114将对应于标签i掩盖的区域。如果检测到k《8辆车,则使用标 签1到k,并且在训练和推断阶段忽略矢量值k 1到*。在示例中,输出 1114是奇异的(singular),神经网络1112经由二进制掩码在每个目标上 独立地(例如,串行地)操作。
[0109]
在示例中,将输入图像1102和1104对齐。在示例中,对齐是基于单 应性的。在示例中,对齐是基于道路表面对齐(例如,伽马对齐)的。图 像对齐通过道路表面上的稳定点(例如,静止车辆的车轮和道路的接触点) 来简化神经网络1112的训练或推断。因此,神经网络1112仅需要识别目 标的残余运动来确定其正在移动。
[0110]
图12示出了根据实施例的卷积神经网络1204的示例,该卷积神经网 络1204产生关于对象是否在运动的决策。在此,不是使用两个输入图像, 而是可以使用三个或更多个输入图像1202来提供更准确的结果。尽管可以 使用许多有效的神经网络结构,但是这里示出的是卷积级1204,其后是仿 射级1205,该仿射级1205将来自整个图像1202的信息聚合为单个值(例 如,移动/不移动/未知)。
[0111]
在示例中,卷积级1204接收图像1202作为三个通道。然后,卷积级 1204降低图像1202的分辨率,但是增加通道的数量,这创建了复杂的特 征。在示例中,目标位置可以在第一层中被引入为第四通道。在示例中, 可以稍后引入目标位置,例如在瓶颈中,或者在卷积级1204的狭窄部分 (其中存在许多低分辨率的通道),或者在仿射级1208处。在稍后的阶段 中针对多个目标引入目标掩模1206是有利的。例如,直到目标(例如,掩 模1206)的引入为止的计算的第一部分可被执行一次,并且将该结果用于 所有目标。
[0112]
在示例中,使原始图像1202作为仿射级1208的输入是有用的。这可 以通过“跳过”路径来实现。尽管是可选的,但是这种结构可以改善性能 分类执行。
[0113]
图13是示出根据实施例的用于操作竖直轮廓检测引擎的方法1300的 示例的流程图。由诸如上面或下面描述的计算硬件(例如,处理电路)执 行方法1300的操作。
[0114]
在操作1002,获得(例如,读取或接收)原始数据,包括两个或更多 个图像帧的序列、地平面、和自我运动数据、以及相机高度信息。图像帧 可以包括当前(例如,最近捕获的)图像以及一个或多个先前捕获的图像。 在操作1004,处理原始数据以确定图像帧的序列之间相对于道路平面的单 应性。然后,可以将一些图像帧变形以使得道路平面与序列的另一图像帧 对齐。根据示例,变形可以基于所测量的自我运动和地平面的特性。自我 运动可以是所测量的运动,或者可以通过计算从图像帧的内容确定。变形 的图像帧可以包括当
前图像帧,并且一个或多个先前的图像帧被变形为与 当前图像帧相对应。在另一示例中,当前图像帧和一个或多个其他帧被变 形以对应于未变形的较早图像帧。
[0115]
在示例中,在被dnn使用之前,针对诸如径向透镜畸变之类的透镜 畸变对图像进行校正。这种校正避免了在特定透镜上训练dnn。另外,要 注意的是,焦距不是伽马的等式的组成部分,从而可以训练来自多个不同 相机类型的图像。
[0116]
在操作1006,处理附加的原始数据(包括自我运动数据、地平面数据、 和相机高度数据),以产生运动信息(例如,核点),该运动信息被格式 化为一个或多个图像。
[0117]
在操作1010,使用dnn来产生推断。dnn可以执行卷积、非线性激 活、和池化操作。在示例中,执行去卷积和解池化操作。在各个层,根据 dnn的预建立的训练,通过dnn的操作来应用经训练的计算参数,例如, 权重或偏差。如上所述,dnn在推断模式下的操作产生道路结构图,例如 伽马图。在车辆以高达五十千米每小时(50km/h或约31英里每小时)行 驶时,使用诸如dnn之类的工具能够产生准确到距车辆十米(10m)分 之一厘米(1cm)或甚至是半毫米(0.5mm)内的地形测量。
[0118]
在操作1012,从道路结构图提取道路轮廓信息。还可以从道路结构图 提取附加信息,例如残余流信息,可以针对相关应用对该附加信息进行进 一步处理。
[0119]
道路轮廓信息可被传递到自动或半自动车辆控制系统,该系统自动调 整车辆操作的某些方面。例如,悬架控制系统可以基于表示车辆的预期行 驶路径的竖直轮廓数据来动态地调节车辆的悬架,悬架调节可以包括动态 地改变悬架的刚度,或者改变各个车轮的高度以符合道路的竖直轮廓。
[0120]
在示例中,道路轮廓信息可以被传递到驾驶策略系统,该驾驶策略系 统可以使用环境模型来确定未来的导航动作。驾驶策略系统可以使用道路 轮廓信息来选择或确定导航动作。驾驶策略系统的示例是例如在第 wo2018/001684号国际申请公开中描述的rss,该国际申请的全部内容通 过引用并入本文中。
[0121]
图14是示出根据实施例的用于配置dnn以用于基于ml的轮廓引擎 的方法1400的示例的流程图。由诸如上面或下面所描述的计算硬件(例如, 处理电路)执行方法1400的操作。
[0122]
在操作1402,将训练数据馈送到训练dnn。在训练dnn以其推断模 式进行操作时,训练数据被前向传播以产生测试结果作为其输出。将测试 结果与具有多个分量的损失函数进行比较。在操作1404,应用摄影测量损 失函数分量。摄影测量损失函数分量使用测试结果将训练数据的一个或多 个先前图像变形为训练数据的当前图像,并基于当前图像与先前图像之间 的差异产生损失。可以在围绕每个像素的补丁上使用归一化互相关函数, 以确定比较的图像帧之间的差异。
[0123]
在操作1406,应用预测图像摄影测量损失函数分量。预测图像摄影测 量损失函数分量采用与操作1404类似的技术,不同之处在于,在对图像进 行基于测试结果的图像变形以促进比较之后,将附加训练数据(例如,不 同于用于生成测试结果的训练数据)与当前图像和先前图像进行比较。比 较产生的任何差异均作为附加损失分量处理。
[0124]
可选地,在操作1404和1406中,出于比较和损失计算的目的,可以 给道路特征和非道路特征赋予不同的权重,其中道路特征的权重更大。另 外,可以掩盖诸如车辆和行人之类的已知移动对象,以减少对所比较的图 像之间的残余流的检测。
[0125]
在操作1408,应用em损失函数分量。em损失函数分量使用与车辆 传递训练数据图像(训练数据图像被处理以生成测试结果)相对应的em 数据,并且基于测试结果将em数据与车辆的预期运动进行比较以提供损 失分量。
[0126]
在操作1410,应用几何损失分量。几何损失分量使用了一部分训练数 据,这些训练数据未被用于生成测试结果。具体地,如上所述,由训练 dnn处理“未来”图像以产生“未来”测试结果。基于“未来”em对
ꢀ“
未来”测试结果进行变形以使其与测试结果对齐,或者—可替代地或附 加地—基于“未来”em对测试结果进行变形以使其与“未来”测试结果 对齐,并且计算“未来”和当前道路结构测试结果之间的比较,以提供额 外的损失分量。
[0127]
在操作1412处,将损失函数分量聚合为用于梯度下降计算的多模式损 失函数。在示例中,可以利用任意两个或更多个损失函数分量。例如,可 以聚合任何损失函数分量组合,如下表所示:
[0128][0129][0130]
在操作1414,通过训练dnn反向传播聚合的损失函数,其中在dnn 的每个可训练层为计算参数计算偏导数。在操作1416,基于所计算的损失 函数的梯度来调整每个可训练层的计算参数,以使得损失最小化。在操作 1418,可以使用附加训练数据来重复训练过程,以进一步优化参数值。在 每次反向传播迭代之后,可以应用训练迭代标准(例如,基于参数收敛), 以确定是否需要额外的训练周期。
[0131]
在操作1420,建立计算参数数据结构以包含用于dnn的每一层的优 化的计算参数值。数据结构可以采用任何合适的形式,例如,表格、链接 的列表、树、标注格式(例如,可扩展标记语言)文件等。在操作1422, 使用计算参数数据结构来配置车辆绑定dnn。
[0132]
图15是示出根据实施例的用于在自主车辆沿着道路移动时实时测量道 路的竖直轮廓的方法1500的示例的流程图。由诸如上面或下面描述的计算 硬件(例如,处理电路)执行方法1500的操作。
[0133]
在操作1501,捕获相机视场中的道路的相同部分的图像帧序列(例如, 第一图像帧a、第二图像帧b、和第三图像帧c)。在操作1502,将第一 图像帧a中的道路的图像点与第
二图像帧b中的道路的对应图像点进行匹 配。同样地,在操作1502,将第二图像帧b中的道路的图像点与第三图像 帧c中的道路的对应图像点进行匹配。
[0134]
在操作1503,计算靠近的图像对的单应性。在操作1503中,计算第 一单应性h
ab
,其将第一图像帧a变换为第二图像帧b。可以根据第一图 像帧a中道路的匹配图像点和第二图像b中道路的对应一组图像点来计算 第一单应性h
ab
。还可以根据第二图像帧b中道路的匹配图像点和第三图 像帧c中道路的对应图像点来计算第二单应性h
bc
,其将道路的第二图像 帧b变换到第三图像帧c。
[0135]
在操作1504,可以例如通过矩阵乘法将第一单应性h
ab
和第二单应性 h
bc
链接起来。通过使用链接的单应性作为初始估计(例如,猜测),可 以在操作1505计算第三单应性h
ac
,该h
ac
将道路的第一图像转换为道路 的第三图像。可以在操作1506分别处理从第一图像帧a到第二图像帧b和 第三图像帧c的残余流,以使用第三单应性h
ac
计算道路中的竖直轮廓。
[0136]
图16是示出了根据实施例的用于处理图像序列上的残余流以测量道路 的竖直轮廓的示例途径、方法1600的流程图。由诸如上面或下面描述的计 算硬件(例如,处理电路)执行方法1600的操作。
[0137]
在操作1601,最初将图像帧变形为第二图像帧以产生变形的图像。在 本上下文中,术语“变形”是指从图像空间到图像空间的变换。以下讨论 假定道路可被建模为平坦表面。因此,道路的成像点将根据单应性在图像 空间中移动。变形可以基于车辆的测得的运动(例如,基于速度计标记、 惯性传感器等)。
[0138]
例如,对于具有特定焦距(例如,以像素定义)的在已知高度处的给 定相机,以及在帧的各个捕获之间发生的已知车辆运动,可以计算点在两 个图像帧之间的道路平面的图像上的运动的预测。针对道路点的运动使用 几乎平坦的表面的模型,通过计算使第二图像朝着第一图像变形。以下 matlabtm代码是在操作1601执行初始变形的示例实现方式:
[0139][0140][0141]
在此示例中,dz是车辆的前向运动,h是相机的海拔高度,f是相机 的焦距。项p0=(x0;y0)是道路结构的消失点。
[0142]
在示例中,可以使用在将系统安装在车辆中期间获得的初始校准值, 其中x0是车辆的前进方向,而y0是车辆在水平表面上时的水平线。
[0143]
变量s是与在距相机不同的车辆距离z处捕获的两个图像帧之间的图 像坐标相关的总比例因子。在本上下文中,术语“相对比例变化”指的是 图像坐标中的总比例变化,其取决于到相机的距离z。
[0144]
在示例中,初始变形操作1601基于通过车辆运动补偿因子向第一图像 旋转来变换第二图像。可以基于旋转估计或偏航(yaw)、俯仰(pitch) 和侧倾的测量来实现车辆运动补偿。可以由惯性传感器(例如,被配置为 感测车辆的偏航、俯仰和侧倾的三轴加速度计)提供这些旋转估计或测量。 惯性传感器可以集成在相机中,也可以安装在车辆上或车辆中的其他位置。 可以替代地或另外地从一个或多个先前图像帧计算获得旋转估计。
[0145]
在1601处的初始变形还可以包括针对第一图像和第二图像之间的相对 比例变化的调整。可以将相对比例变化调整与旋转变换组合成单个变形操 作,其中仅执行一个双线性插值。
[0146]
在示例中,如果仅涉及俯仰和偏航旋转,则可以通过图像偏移来近似 这些旋转。例如,根据以下等式,偏航可以近似为δθ个像素的水平图像偏 移:
[0147]
δθ=δt
×
yawrate
[0148][0149]
在1601处的初始变形操作之后,道路上的特征的视运动(在本文中称为残 余流),被局部地近似为图像补丁从原始图像到变形图像的均匀平移。残 余流不同于原始图像和未变形图像之间基于实际车辆运动的差异,其中补 丁的运动还涉及非均匀的比例变化。
[0150]
在示例中,代替选择将总是给出向诸如车道标志和阴影之类的强特征 的偏置的特征点,可在操作1607中使用固定的点网格来进行跟踪。因此, 在1603,可以从梯形区域中选择点的网格,该梯形区域粗略地绘图表示(map)多达图像中向前的定义距离(例如,15米),并且具有大约一个 车道(例如,2-3米)的宽度。这些点可以以定义的间隔(例如,在水平 方向上每20个像素和在垂直方向上每10个像素)分隔开。可以使用具有 类似效果的其他选择方案。例如,可以根据特定分布随机选择点。在示例 中,使用了位于表面(例如,道路)上的十一个点的三条线。这些线位于 车辆的中心,距中心线的每一侧各两米。
[0151]
在操作1605,在原始图像中的每个点周围定位补丁。例如,补丁可以 在围绕补丁中心点的每个方向上具有定义的形状和大小。例如,补丁可以 是多个像素的正方形。在示例中,诸如椭圆形、矩形、梯形等其他形状, 可被认为是补丁。针对变形的图像计算归一化相关(例如,使用matlab
tm
函数normxcorr2),其中补丁中心在搜索区域中偏移。在实际使用中,可 能有偏航传感器但没有俯仰传感器。因此,可以在x方向而不是y方向上 使用更紧密的搜索区域。作为示例,可以使用在x方向上的(2
×
4 1)个 像素和在y方向上的(2
×
10 1)个像素的搜索区域。
[0152]
在示例中,确定产生最大相关性得分的偏移,并且随后以子像素分辨 率(例如,0.1像素)围绕最佳得分位置进行细化搜索。与将最大得分的周 围的整数分数拟合到抛物线表面或样条曲线并且使用最大得分周围的这些 整数得分来计算子像素匹配相比,该细化步骤可以提供更好的结果。
[0153]
通过选择得分高于定义的阈值(例如,t=0.7)的那些点,可以在搜 索阶段滤除无效的轨道,留下作为在1607进行的跟踪操作的结果的跟踪的 点1609。在相反方向上从变形图像到原始图像的逆跟踪给出相似的值。
[0154]
在操作1611,使用诸如随机样本一致性(random sample consensus, ransac)之类的合适技术,将作为跟踪操作1607的结果的跟踪点1609 拟合为单应性。随机选择一组点(例如,4个点)并用于计算单应性。然 后,使用单应性来变换点1609,并且对比定义的阈值更近的一组点进行计 数。重复多次随机选择一组点并计算比阈值更近的点的数目,并保留给出 最高计数的四个点。
[0155]
在1613,例如,使用四个最佳点来再次变换这些点和比(可能不同的) 定义的阈值更近的所有点(内部)以使用最小二乘技术来计算单应性。不 接近阈值的其余点被视为离群点(outlier)。
[0156]
在该过程的此阶段,内围点(inlier)的数目及其在变形图像中的扩散 对于成功找到道路平面模型是有益的。通常有超过50%的内围点和良好的 拟合。然后可以在操作1601使用单应性法来校正初始对齐变形。可以在操 作1601通过将校正集成到初始变形中来完成对初始对齐变形的校正,或者 连续地进行两个变形。前者是有利的,因为它仅需要一个插值步骤,并且 可以可选地通过两个单应性矩阵的矩阵乘法来执行。
[0157]
在示例中,将预变形之后的鲁棒跟踪应用于计算单应性。这可以用于 导出自我运动和平面估计以调整先前的平面估计。将自我运动模型和经调 整的平面模型相结合以获得单应性。在示例中,自我运动可以由自我运动 传感器和处理引擎来提供。这种类型的引擎使用本质矩阵对道路上的点和 道路上方的点进行鲁棒的跟踪。它还结合了任何惯性传感器和可用速度计 信息。由地平面引擎来提供地平面信息。该引擎跟踪道路上的点(在预变 形之后),然后使用计算出的自我运动来得出每个点的深度,从而产生这 些点的3d坐标。此后,通过算法将平坦表面拟合到3d点。在示例中,可 以使用默认平面,例如从车辆中的相机位置的初始校准得出的平面。自我 运动和平坦表面相结合以提供单应性。
[0158]
在示例中,可以使用道路表面的参数模型。例如,可以通过通信地耦 合的行驶路径几何结构或对象感测子系统来提供3d样条曲线模型。作为 一个这种子系统的示例,由英特尔(intel)公司的子公司移动眼 (mobileye)制造的道路体验管理系统
tm
(road experience management
tm
, rem
tm
)引擎可以以3d样条曲线的形式提供道路特征的表示。可以在美 国专利第9,665,100号和国际专利公布申请第wo 2018/200522 a1号中找到 rem的其他详细信息,上述两个申请的全部内容通过引用合并于此。例如, 可以将车道标志表示为3d样条曲线。子系统将3d样条曲线特征表示与图 像对齐。可以将3d样条曲线特征表示投影回道路的捕获图像上以进行进 一步处理。
[0159]
3d样条曲线中的每个点都有3d坐标。根据示例,可以使用该数据的 一种方式是通过沿着捕获图像的行内插和外推与3d样条曲线相关联的3d 位置。向侧边外推可以是零阶保持(即,恒定的)、一阶保持(例如,基 于两个样条曲线的线性扩展)等。在示例中,内插可以随着某些样条曲线 到位于图片本身外部的虚拟图像坐标的已知扩展发生。
[0160]
内插和外推可以为图像下部的所有点产生3d坐标。这些点可以在光 滑的3d表面上。转而,该表面可以用于使先前的图像向当前图像变形 (反之亦然)。可以在训练阶段和推断阶段中都执行该变形。
[0161]
图17是示出根据实施例的用于车辆控制的水坑检测和响应决策的方法 1700的示例的流程图。由诸如上面或以下描述的计算硬件(例如,处理电 路)执行方法1700的操作。
[0162]
在操作1702,由一个或多个相机捕获图像序列。在操作1704,接收或 测量自我运动和参考平面信息。如上所述,可以从惯性传感器中提供自我 运动信息,还可能结合来自车辆速度计的数据。地(例如,参考)平面信 息可以基于相机的固定高度,并且可以被存储为定义的恒定值,作为配置 或校准参数之一。
[0163]
在操作1706,将图像与实际运动测量一起处理以确定图像之间的残余 流。残余流表示从以下项之间的比较中检测到的差异:(a)由于车辆的 实际运动而在图像序列之间产生的道路表面外观的预测变化,和(b)所 捕获的序列中的图像之间的实际差异。这些差异可被进一步解释为竖直轮 廓,包括诸如凸起(凸点)和凹陷(低洼部分或孔洞)之类的东西。在操 作1708,可以使用上述技术中的任何技术或另一合适的基于图像处理的技 术来基于处理后的图像来通过计算确定道路的竖直轮廓。
[0164]
这些技术使用伽马或另一形式的结构来确定竖直轮廓。在示例中,可 以从残余流确定该结构。在示例中,诸如上面关于图4所描述的神经网络 可以直接确定该结构。确定伽马后,根据伽马使图像变形以确定残余流。 尽管可以使用各种光流技术,但也存在替代选项;使用仅使用两个或更多 个帧之间的摄影测量损失进行训练的第二神经网络。当面对像
水坑这样的 反射表面时,第一神经网络将产生几乎平坦的伽马,因为它忽略了水坑中 的移动反射。第二神经网络(经过训练可以绘制摄影测量损失)针对水坑 在道路上产生一个大孔洞。比较两个输出给出水坑的标准。
[0165]
效率是在通过计算伽马然后计算残余流比较两个神经网络的输出(直 接在输入图像上运行以分别产生伽马和摄影测量损失)时获得的优势。执 行伽马变形可能在计算上昂贵,并且还可能引入一些顺序约束,这可能会 削弱并行处理的能力。因为第一和第二神经网络可能包括若干相同的层, 所以非常有效的实现方式可以将两个网络结合起来,以训练具有两个输出 通道的单个神经网络:一个的光度量仅是伽马图;并且第二个具有结合的 光度量和几何神经网络。可以通过比较两个通道中的伽马来检测诸如水坑 之类的反射表面。在示例中,两个神经网络共享网络的多个部分,在其他 情况下则进行拆分。例如,第一和第二神经网络可以共享相同的结构,直 到出现瓶颈,然后才分叉。
[0166]
在示例中,第一和第二神经网络都被训练以输出结构(例如,伽马或 z)图,但是每一者是以不同的损失函数进行训练的。在示例中,损失函 数的差异是两种不同类型的损失的权重的差异。在示例中,损失是光度、 几何结构、em、或未来图像损失中的一个或多个。将两个输出组合可用 于检测移动的对象、反射物、或透明物。
[0167]
实际上,这是使用神经网络检测反射表面或镜面的一般方法。可以将 其应用于如下神经网络,该神经网络被训练以确定z或然后检测车辆或 建筑物侧面(例如窗户)上的反射表面。该技术的一个有趣用途是检测安 装在盲区交叉口处的镜子。一旦检测到镜子表面,就可以对其进行分析以 检测反射的图像中的车辆和行人,使得车辆视觉系统能够使用镜子来避免 事故。例如,如果在交叉口的镜子中检测到行人或车辆,则本车辆可以等 待直到该车辆或行人出现在相机的视图中,或者以其他方式修改其导航动 作。为检测在移动对象上的反射,可以使用主相机和拐角相机实现移动的 立体布置。这里,可以训练神经网络以使用摄影测量约束并随着时间使用 立体对来从立体图像推断深度,以添加几何约束。
[0168]
由于实际运动而导致的图像的预测变化与实际变化之间的差异可以进 一步表示移动的对象(例如,其他车辆、行人、自行车)、移动的阴影和 反射。因此,在示例中,在操作1710中,基于竖直轮廓信息和附加的水坑 检测标准,通过计算确定一个或多个水坑的存在。方法1800提供了操作1710的示例。
[0169]
在操作1712,确定当前情境场景。当前情境场景表示当前道路状况, 车辆运动、周围环境。在示例中,可以从以下各项中任何一项或多项来获 得情境场景:从本车上的传感器获得的数据,从地图中获得的道路模型及 其周围环境,从远程服务器、从附近目标车辆或智能基础设施对象传送到 本车的数据。方法1900提供操作1712的示例。
[0170]
在操作1714,基于当前情境场景评估可用的驾驶响应解决方案。该示 例中的驾驶响应解决方案特定于对检测到存在水坑做出响应。方法2000提 供操作1714的示例。在操作1716,基于对各种驾驶响应选项的评估来选 择驾驶响应解决方案。明显地,驾驶响应解决方案可以放弃采取任何回避 或其他行动。
[0171]
图18是根据实施例的示出用于基于竖直轮廓信息和另外的水坑检测标 准来通过计算确定一个或多个水坑的存在的方法1800的示例的流程图。由 诸如上面或下面描述的计算硬件(例如,处理电路)执行方法1800的操作。
[0172]
在操作1802,对照深度标准评估可以以图像的格式表示的逐点竖直轮 廓数据(例如,具有表示道路表面高度的值的像素)。例如,道路上表现 为深洞(例如,超过定义的最小深度阈值,超过与相邻点的定义的最大高 度变化等)的点(例如,像素)可以被标注或意其他方式与属于水坑的一 组点中的可能成员的标记相关联。例如,深度标准阈值可能在50cm到1.5 m的量级或甚至更大。
[0173]
在操作1804,对照几何标准来评估给定附近区域中达到或超过深度阈 值的点的区域。在示例中,几何标准定义潜在的水坑区域的空间特征。例 如,可以考虑诸如区域大小、区域形状以及达到或超过该区域中的深度标 准的点的连续性之类的特征。例如,大小或形状标准可以针对被认为是潜 在的水坑的区域指定最小表面积或区域的最小长度或宽度维数。连续性标 准可以指定最小连续性程度(例如,区域中的点的邻接、或满足深度标准 的相邻点之间的最大距离)。
[0174]
在操作1806,对照清晰度标准来评估潜在的水坑区域的边界清晰度。 清晰度评估可操作来将倾向于具有清晰边界的水坑与倾向于具有柔和边界 的移动阴影(也是图像分析操作中残余流的原因)区分开来。作为清晰度 标准的示例,可以应用两个因素:(1)将被应用于边界附近的可疑水坑 区域内部的点的针对负残余流的最小阈值(或道路表面凹陷深度),以及 (2)将被应用于可疑水坑区域边界之外的点的残余流的的最大限度(或 与参考道路平面对齐的道路表面平整度)。
[0175]
在操作1808,基于在操作1802、1804和1806处达到或未达到各种标 准,生成关于水坑确定的指示。
[0176]
图19是根据实施例的示出用于通过计算确定自主车辆的当前情境场景 的方法1900的示例的流程图。由诸如上面或下面描述的计算硬件(例如, 处理电路)执行方法1900的操作。
[0177]
在操作1902,评估车速。例如,可以从速度计或车辆控制系统获得该 评估。在操作1904,评估道路表面和道路状况。这些评估可以包括确定牵 引的质量或道路表面的打滑程度。例如,道路类型可以选自浇筑的路面、 石头、污垢、砾石等。可以基于制图数据、测得的车辆性能(例如,与转 向角和速度有关的车轮滑移和侧向运动),或基于这些因素的某种组合来 确定道路表面。可以从各种类别中,例如,干燥、潮湿、下雪、冰冷、多 尘、落叶或其他杂物覆盖等,确定道路状况。可以基于天气报告数据、测 得的车辆性能、或这些因素的组合来估计道路状况。可以从自主车辆控制 系统的另一引擎获得1904处的评估。作为确定合适的驾驶响应解决方案的 一部分,在1902和1904处的车辆速度和道路质量以及状况评估可被用于 通过计算确定操纵限制。
[0178]
在示例中,操纵限制可以包括限制的两个或更多个子类别。限制的这 种子类别可以包括,例如,可能与急速或强力操纵(与其他子类别中的操 纵相比)相关联的安全性操纵限制,以及可能与温和或更平缓的操纵相关 联的舒适感操纵限制,温和或更平缓的操纵通常允许车辆中的乘客以及可 能向道路的其他使用者和/或车辆的环境中的其他人(或动物)提供更高水 平的舒适感。
[0179]
在操作1906,评估水坑附近的任何行人的存在和位置。在当前情境中, 行人包括车辆外的人,例如,行走的人、骑自行车的人、坐在轮椅或手推 车上的人、在靠近路边坐着的人等。此行人评估可能基于对象辨识引擎提 供的信息,该对象辨识引擎是自主车辆控制
系统的一部分,并配置为检测 人。操作1906可以进一步评估任何检测到的行人是否在检测到的水坑附近 (例如,在“飞溅范围内”)。行人评估可用于通过计算确定在自主车辆 的控制中采取规避行动以避免飞溅行人的优先等级。在示例中,飞溅范围 可以是预定义的,例如距水坑的中心或边缘一定距离。在示例中,可以例 如基于水坑的大小、车辆的速度等来估计飞溅范围。
[0180]
在示例中,可以评估其他车辆(例如,包括自行车和摩托车)的存在 和位置。飞溅范围评估可以用于确定迎面驶来的车辆(从任何方向)是否 将以可能阻碍该迎面驶来的车辆的可见性的方式进入本车辆的飞溅范围。 类似地,飞溅范围评估可以用于确定主车辆是否将以可能阻碍该主车辆的 可见性的方式进入迎面驶来的车辆的飞溅范围。飞溅范围评估可以利用本 车辆或迎面驶来的车辆的各种特性来评估飞溅范围及其对所涉及车辆的影 响。车辆检测和评估可以用于通过计算确定在自主车辆的控制中采取规避 行动的优先等级,以避免飞溅迎面而来的车辆或避免被迎面而来的车辆飞 溅。
[0181]
在操作1908,相对于道路边界评估检测到的水坑的位置。类似地,在 操作1910,相对于道路上的任何车道标志来评估检测到的水坑的位置。在 操作1908和1910处的评估可用于规避动作确定中,以决定是否可驾驶自 主车辆以及在何处驾驶该自主车辆以避免水坑或减少或最小化任何飞溅。
[0182]
在操作1912,对附近车辆(例如,与自主车辆在相同方向上行驶的那 些车辆)的定位和移动特性进行评估。
[0183]
在操作1914,对任何迎面而来的车流的存在和移动特性进行评估。附 近或迎面而来的车流的移动特性可以包括诸如纵向距离、侧向距离(例如, 当前车道位置)、靠近速度、预测的移动变化(例如,车道变化、速度变 化、转弯)之类的因素。可从自主车辆的交通感测/检测或控制系统获得操 作1912和1914处的评估。这些对附近和即将来临的车辆交通的评估可用 于确定规避行为确定中来可能地限制自主车辆避开水坑以保持安全。
[0184]
图20是根据实施例的示出用于对可用驾驶响应解决方案进行计算评估 的方法2000的示例的流程图,该可用驾驶响应解决方案可以被选择或可以 不被选择来响应对水坑(或其他反射表面)的检测。使用诸如上面或下面 描述的计算硬件(例如,处理电路)来执行该方法的操作。
[0185]
在操作2002,评估响应于检测到水坑而采取行动的需要。采取行动的 需要取决于水坑是否在自主车辆的路线上,尤其是是否在至少一个车轮的 预计路线上。采取行动的需要可能还取决于水坑附近是否存在任何行人。 在某些实现方式中,采取行动的需要还可能取决于车辆驾驶员的偏好。
[0186]
例如,在示例实施例中,响应于水坑检测,可能存在对驾驶响应的不 同程度的需要。下表说明了几种情形的示例,这些情形要求对水坑响应的 不同程度的需要或偏好。呈现各种情形以及对应的风险得分增量值。风险 得分增量表示每种情形对计算的风险评估的对应贡献。
[0187][0188]
在这些示例中,可以假定主要在道路边缘的水坑(例如,具有符合道 路边界的细长形状)是由道路斜坡的径流引起的,而不主要是因为坑洼。 这种类型的水坑可能飞溅车辆本身或附近的行人。远离道路的边缘的水坑 可能飞溅车辆或行人,但也可能是由于坑洼所致,这可能会造成其他伤害, 例如,轮胎、车轮、悬架、底盘、或车辆的其他一部分。如果车辆正在高 速行驶,大的坑洼也可能使车辆偏离其行程。跨过道路主要部分的很大的 水坑可能是由于道路表面积水的低洼处所致。这种类型的水坑可能掩盖严 重的道路危害,例如,冲刷。覆盖道路表面的大部分的很大的水坑还可能 具有导致车辆严重失控的深度,例如,由于滑水,或者超过了车辆的引擎 进气口高度的极深的深度。
[0189]
行人的存在可以被视为以高速撞击水坑的加剧因素。在某些情况下, 行人的存在不会带来安全风险—反而是,人们偏好于按照社会规范礼貌地 操作自主车辆。因此,与行人相关联的风险增量大于与污染车辆相关联的 风险增量,但小于与撞击潜在坑洼相关联的风险。
[0190]
上表的最后一行显示了减轻因素,例如,水坑的大小确定小于定义的 阈值。例如,如果水坑的维数没有超过10cm,则可以认为该水坑太小而 不会导致明显的飞溅或与坑洼相关联的伤害。
[0191]
方法2000的操作2004-2012涉及对各种类型的驾驶响应的评估。每次 评估可以基于各种标准,其中考虑了诸如以下因素:
[0192]
1.行动减低安全风险的有效性;
[0193]
2.行动提高自主车辆的驾驶礼仪的有效性;
[0194]
3.行动导致或增加安全风险的潜在可能性;
[0195]
4.行动导致或增加车辆乘客不适感的潜在可能性;或
[0196]
5.行动导致不礼貌驾驶行为的潜在可能性。
[0197]
考虑到当前情境评估,可以通过向每个标准分配数值得分来通过计算 对每个驾驶响应的评估处理。因此,在2004,根据各种标准对速度降低进 行了评估。例如,速度降低可以减少或防止飞溅,并且可以减轻由撞击潜 在坑洼带来的任何伤害;但是,速度降低可能会使车辆的乘客感到烦恼, 并且,如果附近有车辆紧跟着自主车辆,速度降低可能会导致附近的车辆 也需要降低其速度,从而增加发生碰撞的风险,并可能使附近车辆的驾驶 员或乘客感到烦恼。
[0198]
在操作2006,车道内换档被评估为潜在的驾驶响应。在操作2008,车 道改变被评估为潜在的驾驶响应。与车道改变相比,车道内换挡对车辆乘 客和附近的车辆来说是不那么扰人的选项,尽管基于水坑的位置和大小以 及车辆的速度这也可能不太有效。
[0199]
在操作2010,评估瞬时转向到路肩上。在操作2012,评估瞬时转向进 入对向行车道。路肩和对向行车道转向代表较高风险的驾驶响应,当基于 当前情境场景确定其他驾驶响应无效或风险较高时,可能需要使用这种响 应。
[0200]
例如,可以考虑情境评估来通过计算评价这些标准中的每一标准。作 为在操作2004-2012中应用标准的一部分考虑到情境评估的结果,根据普 遍情况,某些驾驶响应可能更可取,或更不可取。因此,例如,任何附近 车辆的存在和到任何附近车辆的(一个或多个)相对距离可能会影响选择 降低速度、车道改变、车道换挡、或转向、或这些驾驶响应的组合来对检 测到水坑做出响应的程度。在示例中,转向可以是车道内转向,由此车辆 不改变车道,而是在车道内调适自身以避免水坑。在示例中,仅当存在行 人时才执行车道内转向或速度降低。因此,如果没有行人,则将不会执行 该操纵。例如,如果本车辆检测到水坑并检测到行人,则本车辆可以减速, 从而比未检测到行人的情况更慢地通过水坑。此外,如果检测到水坑,则 本车辆可以调整其路径远离行人,并且如果没有检测到水坑,则保持直行。 另外,如果有行人在人行道上并且存在水坑,则本车辆可以减速,但是如 果有行人在人行道上并且不存在水坑,则本车辆将不会减速(例如,或者 将更少地减速)。
[0201]
图21示出根据实施例的与自主车辆控制系统一起使用的用于对道路进 行轮廓分析的基于相机的车载系统。如图所示,该系统包括多个子系统、 组件、电路、模块、或引擎,为了简洁和一致性起见,将它们称为引擎, 但是将理解,这些术语可以互换使用。可以在硬件中实现引擎,也可以在 软件或固件的控制下在硬件中实现引擎。这样一来,引擎是专门用于执行 指定操作的有形实体,并以某种方式构造。
[0202]
在示例中,可以以指定的方式将电路布置(例如,内部地或相对于诸 如其他电路之类的外部实体)为引擎。在示例中,一个或多个硬件处理器 的全部或一部分可以由固件或软件(例如,指令、应用部分、或应用)配 置为操作来执行指定操作的引擎。在示例中,软件可以驻留在有形机器可 读存储介质上。在示例中,软件在由引擎的底层硬件执行时使硬件执行指 定的操作。因此,引擎被物理地构造、或被专门配置(例如,硬接线)、 或被临时配置(例如,被编程)为以指定的方式操作或执行本文所述的任 何操作的一部分或全部。
[0203]
考虑其中引擎被临时配置的示例,每个引擎都不需要在任一时刻被实 例化。例如,在引擎包括使用软件配置的通用硬件处理器核心的情况下; 通用硬件处理器核心可以在不同时间被配置为各自不同的引擎。软件可以 相应地配置硬件处理器核心,例如,以在一个时间实例处作为特定引擎, 并在不同的时间实例处作为不同的引擎。
[0204]
如所描绘的,该系统包括安装在车辆中或车辆上的相机或图像传感器 2112。每个图像传感器2112对视场成像,以提供由图像处理器2130读取 的图像帧2115。在示例中,可以在车辆中安装不止一个相机2112。例如, 系统可以具有指向不同方向的多个相机2112。系统还可以具有相对于车辆 指向相同或相似方向但安装在不同位置的多个相机2112。在示例中,系统 可以具有多个相机,这些相机具有部分或完全重叠的视场(例如,如下面 关于图22和图23所描述的)。在示例中,两个并排的相机可以以立体的 方式操作。尽管在此讨论了单相机系统,但是也可以使用多相机系统,其 中一些或所有相关图像和帧可以由不同的相机捕获,或者可以由从多个相 机捕获的图像的合成来创建。在本上下文中,实时操作以不可察觉的或名 义上的处理延迟进行操作,从而以与扫描或捕获视场的速率一致的速率检 测整个视场中的对象。
[0205]
图像处理器2130可用于同时或并行地处理图像帧2115,以服务于多 个驾驶员辅助系统或应用。图像处理器2130可用于处理图像帧2115,以 检测和辨识相机2112的前向视场中的图像或图像的部分。可以使用带有板 载软件和/或存储设备2113中的软件控制算法的专用硬件电路(未示出) 来实现驾驶员辅助系统。图像传感器2112可以是单色的、灰度的,或者图 像传感器2112可以是颜色敏感的。举例来说,图像帧2115被用于为以下 各项服务:用于道路的竖直轮廓或距路面的偏差的特征检测引擎2120、交 通标志辨识(tsr)引擎2121、前向碰撞警告(fcw)引擎2122、和竖直 轮廓检测引擎2123。在示例中,图像帧2115被在不同的驾驶员辅助应用 之间划分,并且在其他情况下,图像帧2115可以在不同的驾驶员辅助应用 之间共享。
[0206]
在示例中,该系统被用于准确地估计道路表面的平面(或双二次)模 型,并计算与平面(或双二次)道路表面模型的小偏离以检测或量化各种 道路表面特征104。在本上下文中,术语“道路表面模型”指的是道路表 面的平面或双二次模型。术语“竖直轮廓”或“竖直偏差”指的是沿垂直 于道路表面的轴与道路表面模型的偏差。
[0207]
在示例中,该系统被用于使用安装在本车辆中的相机2112准确地检测 并对道路表面(例如,形状)形状(例如,竖直轮廓)建模。使用本文提 供的系统和方法,可以测量诸如颠簸或孔洞、减速带、路缘、或井盖之类 的表面特征,并将其建模为距道路表面(例如,平面)的竖直偏差,该竖 直偏差具有子像素精度(例如,1-2厘米的量级)。这些技术可以类似地 应用于前向、侧向、或后向相机2112。伽马图可用于确定车辆前方或侧面 和后方的可驾驶区域。伽马图可单独用于确定表面坡度过于陡峭而无法行 驶的地方,也可如美国专利公开第2018/0101177号所述将其与基于灰度或 彩色图像的语义自由空间结合使用,该美国专利公开的全部内容通过引用 合并于此。道路平面的伽马图或高度图可用于区分尖锐的竖直边缘路缘石, 平滑倾斜的路缘石、或平缓的路肩(例如,道路下降处)。然后,可以控 制本车辆与尖锐的路缘石或边缘下降比与平滑倾斜的路缘石保持更大的距 离。
[0208]
在示例中,该系统可以进一步包括车辆控制处理器2140,该车辆控制 处理器2140实施一个或多个车辆控制引擎,以向车辆的机电致动器系统生 成扼制、制动、转向、或变速器选择命令,来实现自主或半自主驾驶操作。 车辆控制处理器2140可以接收由图像处理器2130提供的与发动机2120
‑ꢀ
2123产生的各种机器视觉评估有关的各种输出。
[0209]
图22示出了根据实施例的车辆上的多相机阵列。如图所示,相机 2212a-2212f安置在车辆周围以提供视场(例如,如下所述的那些)。
[0210]
图23示出了根据实施例的可由多相机阵列捕获的视场的示例。示出了 多个重叠的视场100a-100f。这里,道路表面是这些视图共有的。
[0211]
图24是示出根据实施例的竖直轮廓检测引擎2423的示例的框图。竖 直轮廓检测引擎2423包括预处理器引擎2422、基于机器学习(ml)的轮 廓引擎2424、和输出提取引擎2434。预处理器引擎2422被构造、编程、 或以其他方式配置为接收一组原始输入数据,并处理该组原始输入数据以 产生经预处理的一组输入数据,经预处理的该组输入数据将被传递到基于 ml的轮廓引擎2424进行进一步处理,其结果是指示对道路表面的竖直轮 廓的测量的输出。
[0212]
可以从车辆控制系统的组件提供该组原始输入数据。例如,自我运动 引擎2402、地平面引擎2406、或数据库2412可以各自提供原始数据项。 要注意的是,在本上下文中,术语“原始数据”指的是预处理器引擎2422 的输入侧上的信息。原始数据不限于直接从传感器(例如,一个或多个相 机)提供的数据或者以其他方式而未经处理的数据。而是,原始数据可以 通过其源或中间处理实体在某种程度上进行计算处理。
[0213]
自我运动引擎2402被配置为提供描述传感器的实际运动的自我运动 (em)信息2404。em信息2404可以基于由车辆的速度计或惯性传感器 (例如,被配置为感测车辆218的偏航、俯仰和侧倾的三轴加速度计)获 得的测量结果。惯性传感器可以集成在相机中,或者也可以安装在本车辆 上或中的其他位置。
[0214]
地平面引擎2406被配置为提供地平面(gp)信息2408。在示例中, 地平面引擎2406可基于由自我运动引擎2402提供的俯仰和侧倾数据来确 定gp信息2408、车辆悬架信息、或这些输入的某种组合。gp信息2408 可以指示道路的平面法向量以及到该平面的距离。在示例中,地平面引擎 2406可以基于3d扫描测量(例如,lidar)、立体成像、或其他(一种 或多种)合适的技术来计算平面法向矢量和到平面的距离。在示例中,地 平面引擎2406可以基于捕获的图像2416来计算gp信息2408,或者它可 以是固定的默认gp。
[0215]
数据库2412提供保存的数据项,例如相机高度信息2414和捕获的图 像2416,其可以包括连续捕获的图像帧215的序列。捕获的图像2416可以 包括当前的(最近捕获的))图像、上一图像、和再上一图像。
[0216]
预处理器引擎2422输出一组预处理图像2430,该组预处理图像基于 捕获的图像2416和其他原始数据输入项,例如em 2404、gp信息2408或 相机高度信息2414。另外,预处理器引擎2422输出图像格式的核点标记 2428和图像格式的运动标记2426,以供基于ml的轮廓引擎2424进一步 处理。
[0217]
在示例中,道路结构2432是表示针对当前捕获图像的每个像素的道路 平面高度与沿前向运动方向(沿z轴)距相机的距离之比的绘图,在本文 中被称为“伽马”。在示例中,伽马可以具有与一组预处理图像2430中的 任一图像相同或相似的分辨率,或者可以具有不同(例如,降低的)分辨 率。
[0218]
在示例中,基于ml的轮廓引擎2424读取一组预处理图像2430、图像 格式的核点标记2428、和图像格式的运动标记2426,并处理预处理器引擎 的这些图像格式的输出2422以产生道路结构2432,道路结构2432是代表 道路表面三维结构的图像格式的绘图。道路结构2428指示道路的竖直轮廓。 它可以包括道路表面上各个点的高度信息,或者可以包括其他值,可以根 据这些值从进一步的处理中通过计算确定高度信息。
[0219]
在示例中,基于ml的轮廓引擎2424包括经过训练的深度神经网络 (dnn),以计算道路的竖直轮廓。dnn基于计算参数2425在多个层上 执行各种分级操作,计算参数2425包括特定于每一层的加权、偏置、或其 他变量设置。基于dnn训练操作可以建立并且不定期地更新计算参数 2425,该dnn训练操作可以例如由dnn训练系统2450离线或远程地执 行。
[0220]
例如,输出提取引擎2434被配置为使用相机高度信息2414和gp 2408 来处理道路结构2432的伽马(γ)值,以产生代表距道路的平面的竖直高 度的高度图2436。在示例中,输出提取引擎2434被配置为基于下式来从 道路结构2432计算残余运动μ2438:
[0221][0222]
其中项是伽马,tz表示正向平移,d表示相机高度2414,表示核点信息, 且是表示应用了基于单应性的变形之后的对应图像坐标的项。
[0223]
在示例中,dnn产生伽马值的按像素输出,其中伽马是竖直轮廓高度 与沿前向运动方向(沿z轴)到相机的距离的计算比值。可以根据图像内 对应位置的相应伽马值确定竖直轮廓高度。
[0224]
在示例中,可以从高度h直接检测诸如人行道之类的道路边界特征。 在示例中,可以通过检测相对均质的正残余流区域来检测道路边界特征, 通过细长的线使得相对均质的正残余流区域与具有低残余流的区域区分开。 这些线大致朝向延伸焦点(foe)的方向或道路的方向(即车道标志消失 点的方向)。
[0225]
在示例中,可以类似地直接从高度h或作为具有正残余流的区域直接 检测颠簸或障碍物,具有正残余流的区域至少部分地被具有低残余流的区 域围绕。在示例中,另一方面,可将孔洞或凹陷检测为具有负残余流的区 域,其至少部分地被具有低残余流的区域围绕。
[0226]
在示例中,基于对图像中的水平表面(例如,可以从伽马图像或从所 确定的道路边界内部的区域的位置来确定)的分析来检测水坑。可用于确 定水坑的一些标准包括测试表面上是否存在具有指示深凹陷或孔洞的明显 残留流的尖锐边缘。作为示例,在基于dnn的实现方式中,可以分析可 疑水坑区域的边缘以寻找在伽马变形图像中静止的边缘特征。当仅使用摄 影测量约束时(例如,在负方向上超过定义的阈值),可以将可疑的水坑 区域识别为具有较大的负伽马值。
[0227]
在示例中,获得了经预处理的(例如,变形的、对齐的、和稳定化的) 图像。可能已作为道路轮廓分析操作的一部分生成了这些经预处理的图像, 而不是专门为水坑检测生成的。这里,与必须重新预处理图像的系统相比, 预处理图像的可用性促进了计算效率,并提升了特征检测的检测速度。
[0228]
图25示出根据实施例的预处理器引擎的示例。如图所示,预处理器引 擎2572包括参考帧引擎2502、单应性引擎2504、图像变形引擎2506、核 点图像生成器引擎2508、和运动信息图像生成器引擎2510。
[0229]
em信息2554被作为输入提供给参考帧引擎2502和运动信息图像生成 器引擎2510。在该示例中,em信息2554包括旋转(r)信息2512和平移(t)信息2514,这些信息是从车辆中的运动感测设备提供或导出的。gp 信息2558被提供给参考帧引擎2502。如图所示,gp
信息2558包括道路平 面的默认平面法向量指示符n 2516。
[0230]
捕获的图像2566被提供给参考帧引擎2502、单应性引擎2504、和图 像变形引擎2506。捕获的图像2566包括从视场中的道路的相同部分捕获 的一系列图像帧2518(例如,第一图像帧a、第二图像帧b、和第三图像 帧c)。在示例中,图像帧序列2518可具有少至两个图像帧、三个图像帧、 或多于三个图像帧。
[0231]
相机高度信息2564被提供给参考帧引擎2502和运动信息图像生成器 引擎2510。在示例中,相机高度信息2564包括代表标称相机高度的固定 值2520。在示例中,相机高度信息2564包括报告当前相机高度的动态指 示符,该动态指示符考虑诸如车辆的悬架状态之类的变量。
[0232]
在示例中,参考帧引擎2502被配置为基于em信息2554,将来自gp 信息2558的地平面标记调整为更新后的地平面表示。这在需要相对于稳定 的参考平面的道路断面输出时可能是重要的。例如,根据下式来调整地平 面的平面法向量:
[0233]
n(t)=αf[n
(t-1)
,r,t] βn
curr
γn
hist
[0234]
其中n(t)表示更新后的平面法向量,具有方向和大小信息。例如,n(t)可 以表示平面法向量n除以相机高度(即,距地平面的距离d,也称为 camh)。在示例中,可以使用相同的α、β和δ系数分别更新n和d:
[0235]
(n
new
;d
new
)=0:8_updated
r;t
[0236]
(n
prev
;d
prev
) 0:1_(n
curr
;d
cur
) 0:1_history(n
curr
;d
curr
)
[0237]
单应性引擎2504被配置为计算成对的图像帧2518之间的单应性。在 本上下文中,术语“单应性”指的是从投影空间到其自身的可逆变换,该 变换将直线映射到直线。在计算机视觉领域,空间中同一平面的两个图像 通过单应性(假设有针孔相机模型)相关。给定单应性可以通过计算被表 示并处理为矩阵(利用阵列或其他合适的数据结构来实现)。
[0238]
作为示例,由单应性引擎2504计算表示道路的第一图像帧a到道路的 第二图像帧b的变换的第一单应性h
ab
。可以根据第一图像帧a中道路的 匹配图像点和第二图像b中道路的图像点的对应集合来计算第一单应性 h
ab

[0239]
在示例中,可以基于自我运动和地平面信息将单应性h表示为:
[0240][0241]
其中r和t分别表示从em 2554的旋转和平移(例如,从帧a到帧b), camh表示来自相机高度信息2564的相机高度,n表示来自gp 2558的平 面法向量,k和k-1
表示校准元素。
[0242]
也可以由单应性引擎2504从第二图像帧b中的道路上的匹配图像点和 第三图像帧c中的道路上的相应图像点计算第二单应性h
bc
,其表示道路 的第二图像帧b到道路的第三图像帧c的变换。
[0243]
单应性引擎2504可以进一步例如通过矩阵乘法来链接第一单应性h
ab
和第二单应性h
bc
。通过使用链接的单应性作为初始猜测,可以计算出第 三单应性h
ac
,它表示道路的第一图像到道路的第三图像的变换。
[0244]
在示例中,单应性引擎2504使用图像帧之间的自我运动来计算单应性。 例如,第一图像帧a和第二图像帧b之间测得的旋转(表示为r
ab
)以及 第一图像帧a和第二图像帧b之间的平移(t
ab
)分别与第二图像帧b和 第三图像帧c之间的旋转和平移(表示为r
bc
和t
bc
)链
接在一起。该自 我运动链产生对第一图像帧a和第三图像帧c之间的旋转和平移(表示为 r
ac
和t
ac
)的确定。单应性引擎2504使用自我运动r
ab
和t
ab
来更新平 面法向量n
bc
,该平面法向量是在帧c的坐标系中使用帧b和c计算的平 面法线。它表示第二和第三图像帧b和c共同的稳定参考平面。单应性引 擎2504确定表示可用于与三个图像a、b和c的序列有关的所有单应性的 稳定参考帧的更新平面法向量(例如,n
bc
)。接下来,单应性引擎2504 基于旋转r
ac
、平移t
ac
、和平面法向n
ac
,组成针对第一图像帧a和第三 帧c之间的图像帧的转变的单应性h
ac

[0245]
在示例中,将预变形之后的鲁棒跟踪应用于计算单应性。这用于导出 自我运动和平面估计以调整先前的平面估计。自我运动和经调整的平面模 型相结合以获得单应性。作为示例,可以由自我运动传感器和处理引擎提 供自我运动。这种类型的引擎使用基本矩阵对道路上的点和道路上方的点 进行鲁棒性跟踪。它还结合了任何可用的惯性传感器和速度计信息。由地 平面引擎提供地平面信息。该引擎(在预变形之后)跟踪道路上的点,然 后使用计算出的自我运动得出每个点的深度,以产生这些点的3d坐标。 此后,通过算法将平面拟合到3d点。自我运动和平面相结合以提供单应 性。
[0246]
在示例中,可以实现道路表面的各个参数模型。例如,可以通过通信 地耦合的行驶路径几何结构或对象感测子系统来提供3d样条曲线模型。 作为一个这种子系统的示例,由intel公司的子公司mobileye制造的道路体 验管理(road experience management
tm
,rem)引擎可以以3d样条曲线 的形式提供道路特征的表示。例如,车道标志可被表示为3d样条曲线。 子系统将3d样条曲线特征表示与图像对齐。3d样条曲线特征表示可被投 影回捕获的道路的图像上以进行进一步处理。
[0247]
3d样条曲线的每个点都有3d坐标。在示例中,该数据可以用于沿着 捕获图像的行内插和外推与3d样条曲线相关联的3d位置。边的外推可以 是零阶保持(即,常数)、一阶保持(例如,基于两个样条曲线的线性扩 展)等。在示例中,内插可以与某些样条曲线到位于图片本身之外的虚拟 图像坐标的已知扩展一起发生。
[0248]
内插和外推可以为图像下部中的所有点产生3d坐标。这些点可以在 光滑的3d表面上。继而,该表面可以用于使先前的图像向当前图像变形 (反之亦然)。
[0249]
在可以访问多个重叠视图的示例中(例如,如参考图22和23所描述 的),可以由单应性引擎2504使用视场的组合来计算单应性。例如,可以 从对齐平坦道路表面的重叠区域的左前视场2300a到前中心视场2300b (在时间t2)获得单应性,该单应性可以用于使左前视场2300c的图像变 形到前中心视场2300b的图像。另外,可以在时间t1处的前中心视场 2300b的图像与时间t2处的前中心视场2300b的图像之间计算单应性(如 在单眼情况下)。此外,可以从左前视场2300a的图像(在时间t1处)到 前中心视场2300b的图像(也在时间t1处)计算单应性。使用该单应性, 左前视场2300a的图像(在时间t1处)可以被链式变形(chain-warped) 以与前中心视场2300b的图像(在时间t2处)对齐。
[0250]
在示例中,左前视场2300a的图像(在时间t1处)和前中心视场 2300b的图像(也在时间t1处)之间的单应性是从以下项得出的:用于前 中心视场的图像2300a(在时间t1)和前中心视场的图像(在时间t2处) 之间的单应性的平面法线、左前相机2212a和前向相机2212b的已知位置 (外部校准)、以及每个相机的内部校准参数(例如,焦距和镜头失真)。
[0251]
该技术可以与全局快门相机一起使用,但是在滚动快门相机的情况下 或在非同
步相机的情况下可能会引入误差。在后一种情况下,可以使用重 叠道路表面之间的3d点和跟踪点并计算单应性来从图像中得出两个相机 的相对位置。由于用于对齐的单应性通常使用一致的地平面,因此可以将 从跟踪得出的单应性分解以给出相对运动,并且可以使用该运动和一致的 接地平面法线来构造新的单应性。
[0252]
图像变形引擎2506被配置为对三个图像帧2518中的两个执行变形操 作。例如,第一图像帧a被变形到第三图像帧c,第二图像帧b被变形到 第三图像帧c。在该示例中,图像帧c可以表示当前图像,图像帧b表示 前一图像,而图像帧a表示再前一图像。
[0253]
核点图像生成器引擎2508被配置为以一个或多个图像的格式生成核点 位置数据2578。核点是表示前向运动的方向的向量。在示例中,图像格式 的核点位置数据2578包括一对图像,其中每个图像具有与图像帧a、b和 c相同或相似的分辨率。表示核点位置数据的图像对中的第一图像包含
ꢀ“
像素”,这些“像素”表示它们沿x轴距核点的相应距离。表示核点位 置数据的图像对中的第二个图像包含“像素”,这些“像素”表示它们沿 y轴距核点的相应距离。
[0254]
运动信息图像生成器引擎2510被配置为产生表示车辆的测量运动的图 像格式的运动标记2576。例如,图像格式的运动标记2576可以具有与核 点位置数据2578相同的维数。图像格式的运动标记2576的内容可以包括 具有表示车辆运动的固定值的“像素”。在示例中,图像格式的运动标记 2576中的车辆运动可以基于em 2554。在示例中,图像格式的运动标记 2576中的车辆运动还基于相机高度信息2564。在示例中,针对图像格式的 数据结构2576中的图像的每个“像素”,将沿前向(z轴)方向的平移的 当前量度与相机高度的比值(表示为tz/d)提供为恒定值。
[0255]
图26示出了根据实施例的用于利用相机进行车辆环境建模的方法2600 的示例的流程图。在诸如上面或下面描述的计算硬件(例如,处理电路) 中实现方法2600的操作。
[0256]
在操作2605,获得表示道路表面的按时间排序的图像序列。这里,图 像序列中的一个图像包括当前图像。
[0257]
在操作2610,将数据集提供给ann以产生场景的三维结构。在示例 中,数据集包括图像序列的一部分—其中图像序列的该部分包括当前图像、 捕获图像的传感器的运动、以及核点。在示例中,图像序列的该部分包括 紧接当前图像之前的图像。在示例中,图像序列该一部分总共是三个图像。 在示例中,图像序列的该部分包括当前图像之前的图像,这些图像被图像 序列中的一个或多个图像隔开。
[0258]
在示例中,将核点提供为具有与当前图像相同维数的梯度图像。这里, 梯度图像中的像素的值表示当前图像中的像素距核点的距离。在示例中, 基线为至少0.5m。在示例中,梯度图像的分辨率低于当前图像。在示例中, 梯度图像仅表示距核点的水平距离。在示例中,第二梯度图像被提供给 ann以表示距核点的竖直距离。
[0259]
在示例中,传感器的运动被提供为具有与当前图像相同维数的恒定值 图像。在示例中,恒定值是传感器的前向运动与传感器距平面的高度的比 值。
[0260]
在示例中,场景的三维结构是伽马图像。这里,伽马图像包括具有伽 马值的像素,该伽马值是点在平面上方的高度与距捕获当前图像的传感器 的距离的比值,该平面表示道路表面。
[0261]
在示例中,ann是卷积神经网络(cnn)。在示例中,传感器和核点 的运动在瓶颈层
处被提供给cnn。
[0262]
在示例中,使用无监督训练技术来训练ann,其中通过测量未来图像 的模型与未来图像之间的差异来确定误差。这里,未来图像的模型是通过 对未来图像之前的图像进行伽马变形来产生的。在示例中,采用无监督训 练技术来训练ann,其中通过测量位置的预测伽马与该位置处的传感器运 动之间的差异来确定误差,传感器运动包括垂直于平面的传感器的俯仰、 偏航、侧倾或平移。在示例中,使用无监督训练技术来训练ann,其中误 差是通过在两个不同时间的两个图像之间的重叠片段的伽马之差来确定的。 这里,对第一图像执行推断,并且重叠片段在第二图像中更靠近传感器。
[0263]
在操作2615,使用场景的三维结构对道路表面建模。在示例中,对道 路表面进行建模包括通过将场景的三维结构与第二ann的输出进行比较 来识别反射区域。这里,第二ann被训练为接受图像序列该一部分并产 生第二三维结构。与训练第一ann相比,第二ann的训练在图像序列的 该部分中涉及更多的摄影测量损失。在示例中,将ann和第二ann实现 为经训练以产生双通道输出的单个ann。这里,第一通道是场景的三维结 构,并且第二通道是由第二ann产生的三维结构,该第二ann在其训练 中使用了更多的摄影测量损失。在示例中,对道路表面进行建模包括计算 距道路表面特征的平面的垂直偏差。
[0264]
在示例中,方法2600被扩展为包括使用三维结构调用第二ann,以 确定特征表示道路表面的环境内的移动对象还是不移动对象。在示例中, 使用三维结构调用第二ann包括向第二ann提供以下项:当前图像;使 用三维结构变形的先前图像;和目标标识符。在示例中,目标标识符是图 像,其中该图像的像素指示距目标的中心的距离。在示例中,目标标识符 包括目标的大小。在示例中,目标标识符是与目标相对应的像素的掩码。
[0265]
图27示出了示例机器2700的框图,可以在该机器上执行所讨论的任 何一种或多种技术(例如方法)。如本文所述,示例可以包括机器2700中 的逻辑或多个组件或机构,或可以由其操作。电路(例如,处理电路)是 在机器2700的有形实体中实现的电路的集合,包括硬件(例如,简单电路、 门、逻辑等)。电路成员资格可以随着时间推移是灵活的。电路包括可以 在操作时单独或组合执行指定操作的成员。在示例中,电路的硬件可以被 不变地设计为执行特定的操作(例如,硬连线)。在示例中,电路的硬件 可以包括可变连接的物理组件(例如,执行单元、晶体管、简单电路等), 包括经物理修改(例如,磁地、电地、不变质量粒子的可移动地布置等) 来编码特定操作的指令的机器可读介质。在连接物理组件时,硬件组件的 基础电性质会发生变化,例如从绝缘体变为导体,反之亦然。该指令使得 嵌入式硬件(例如,执行单元或加载机构)能够通过可变连接在硬件中创 建电路的成员,以在操作时执行特定操作的部分。因此,在示例中,机器 可读介质元件是电路的一部分,或者在设备操作时通信地耦合到电路的其 他组件。在示例中,任何物理组件可以在一个以上电路的一个以上成员中 使用。例如,在操作中,执行单元可以在一个时间点在第一电路的第一电 路单元中使用,并且可以在不同的时间被第一电路中的第二电路单元或第 二电路中的第三电路单元重用。关于机器2700的这些组件的其他示例如下。
[0266]
在示例中,机器2700可以作为独立设备操作,或者可以连接(例如, 联网)到其他机器。在网络部署中,机器2700可以在服务器-客户端网络 环境中以服务器机器、客户端机器或两者的资格运行。在示例中,机器 2700可以在对等(p2p)(或其他分布式)网络环境中充当对等机器。机 器2700可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字 助理
(pda)、移动电话、web家电、网络路由器、交换机或网桥、或能 够执行指令(顺序的或其他方式)的任何机器,这些指令指定该机器要采 取的动作。此外,虽然仅示出了单个机器,但是术语“机器”也应被理解 为包括机器的任何集合,这些机器单独地或共同地执行一组(或多组)指 令以执行本文所讨论的任何一个或多个方法,例如,云计算、软件即服务 (saas)、其他计算机集群配置。
[0267]
机器(例如,计算机系统)2700可以包括硬件处理器2702(例如,中 央处理单元(cpu)、图形处理单元(gpu)、硬件处理器核心、或其任 意组合),主存储器2704,静态存储器(例如,用于固件、微代码、基本 输入输出(bios)、统一可扩展固件接口(uefi)等的存储器或存储设 备)2706,和大容量存储设备2708(例如,硬盘驱动器、磁带驱动器、闪 存、或其他块设备),其中一些或全部可通过互链(例如,总线)相互通 信2730。机器2700还可包括显示单元2710、字母数字输入设备2712(例 如,键盘)、用户界面(ui)导航设备2714(例如,鼠标)。在示例中, 显示单元2710、输入设备2712和ui导航设备2714可以是触摸屏显示器。 机器2700可以另外包括存储设备(例如,驱动单元)2708、信号生成设备 2718(例如,扬声器)、网络接口设备2720、以及一个或多个传感器2716, 例如全球定位系统(gps)传感器、罗盘、加速度计、或其他传感器。机 器2700可以包括输出控制器2728,例如,串行(例如,通用串行总线 (usb)、并行、或其他有线或无线(例如,红外(ir)、近场通信 (nfc)等)连接以通信或控制一个或多个外围设备(例如,打印机、读 卡器等)。
[0268]
处理器2702、主存储器2704、静态存储器2706、或大容量存储设备 2708的寄存器可以是机器可读介质2722、或包括机器可读介质2722,在 机器可读介质2722上存储了一组或多组数据结构或指令2724(例如,软 件),其中体现了本文描述的任何一种或多种技术或功能或由其来使用。 指令2724还可以在由机器2700执行期间完全或至少部分地驻留在处理器 2702、主存储器2704、静态存储器2706、或大容量存储设备2708的任何 寄存器内。在示例中,硬件处理器2702、主存储器2704、静态存储器2706、 或大容量存储器2708之一或其任何组合可以构成机器可读介质2722。虽 然机器可读介质2722被示为单个介质,但是术语“机器可读介质”可以包 括被配置为存储一个或多个指令2724的单个介质或多个介质(例如,集中 式或分布式数据库、和/或所关联的缓存和服务器)。
[0269]
术语“机器可读介质”可以包括能够存储、编码或携带由机器2700执 行的指令并且使得机器2700执行本公开的任何一种或多种技术的任何介质, 或者能够存储、编码或携带由此类指令使用或与之相关联的数据结构的任 何介质。非限制性机器可读介质示例可以包括固态存储器、光介质、磁介 质、和信号(例如,射频信号、其他基于光子的信号、声音信号等)。在 示例中,非暂态机器可读介质包括具有多个粒子的机器可读介质,这些粒 子具有不变(例如,静止)的质量,因此是物质的成分。因此,非暂态机 器可读介质是不包括暂态传播信号的机器可读介质。非暂态机器可读介质 的具体示例可以包括:非易失性存储器,例如半导体存储器设备(例如, 电可编程只读存储器(eprom)、电可擦除可编程只读存储器 (eeprom))和闪存设备;磁盘,例如,内部硬盘和可移动磁盘;磁光 盘;以及cd-rom和dvd-rom盘。
[0270]
在示例中,存储以其他方式提供在机器可读介质2722上的信息可以代 表指令2724,例如指令2724本身或可以从中导出指令2724的格式。可以 从中导出指令2724的这种格式可以包括源代码、编码指令(例如,以压缩 或加密形式)、封装指令(例如,分成多个包)
等。可以通过处理电路将 机器可读介质2722中代表指令2724的信息处理成指令以实现所讨论的任 何操作。例如,从信息中导出指令2724(例如,由处理电路进行的处理) 可以包括:编译(例如,从源代码、目标代码等)、解释、加载、组织 (例如,动态或静态链接)、编码、解码、加密、解密、封装、解封装、 或以其他方式将信息处理成指令2724。
[0271]
在示例中,指令2724的导出可以包括信息的组装、编译或解释(例如, 通过处理电路)以根据由机器可读介质2722提供的某种中间格式或预处理 格式创建指令2724。当信息被提供在多个部分中时,该信息可以被组合、 拆包和修改以创建指令2724。例如,信息可以在位于一个或多个远程服务 器上多个压缩的源代码包(或目标代码或二进制可执行代码等)中。可以 在通过网络传输时对源代码包进行加密,并在必要时对其进行解密、解压 缩、组装(例如,链接),并在本地机器上编译或解释(例如,成为库、 独立可执行文件等),并由本地机器执行。
[0272]
可以利用多种传输协议(例如,帧中继、互联网协议(ip)、传输控 制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等) 中的任何一种,经由网络接口设备2720,使用传输介质,在通信网络2726 上进一步发送或接收指令2724。示例性通信网络可以包括局域网(lan)、 广域网(wan)、分组数据网络(例如,互联网)、移动电话网络(例如, 蜂窝网络)、普通老式电话(pots)网络、和无线数据网络(例如,称 为的电气和电子工程师协会(ieee)802.11标准族、称为的ieee 802.16标准族)、ieee 802.15.4标准族、对等对等(p2p)网络及 其他。在示例中,网络接口设备2720可以包括一个或多个物理插孔(例如, 以太网、同轴、或电话插孔)或一个或多个天线以连接到通信网络2726。 在示例中,网络接口设备2720可以包括多个天线,以使用单输入多输出(simo)、多输入多输出(mimo)、或多输入单输出(miso)技术中 的至少一种进行无线通信。术语“传输介质”应被认为包括能够存储、编 码或携带供机器2700执行的指令的任何无形介质,并且包括数字或模拟通 信信号或其他无形介质以促进这种软件的通信。传输介质是机器可读介质。
[0273]
图28是示出计算设备的示例性硬件和软件架构的图示,其中示出了硬 件组件和软件组件之间的各种接口。如hw所示,硬件组件位于分隔线下 方,而由sw表示的软件组件位于分隔线上方。在硬件侧,处理设备2802 (可以包括一个或多个微处理器、数字信号处理器等,每个具有一个或多 个处理器核心)与存储器管理设备2804和系统互连2806接口连接。存储 器管理设备2804提供由正被执行的处理使用的虚拟存储器和物理存储器之 间的映射。存储器管理设备2804可以是中央处理单元的组成部分,该中央 处理单元还包括处理设备2802。
[0274]
互连2806包括底板,例如,存储器、数据和控制线,以及与输入/输 出设备的接口,例如,pci、usb等。存储器2808(例如,动态随机存取 存储器—dram)和诸如闪存之类的非易失性存储器2809(例如,电可擦 除只读存储器—eeprom、nand闪存、nor闪存等)通过存储器控制器 2810与存储器管理设备2804和互连2806接口连接。在示例中,该体系结 构可以支持外围设备的直接存储器访问(dma)。i/o设备(包括视频和 音频适配器、非易失性存储设备、外部外围设备链接,例如,usb,蓝牙 等)以及网络接口设备(例如,通过wi-fi或lte家庭接口进行通信的设 备)共同表示为i/o设备和联网2812,其通过对应的i/o控制器2814与互 连2806接口连接。
[0275]
在软件侧,预操作系统(pre-os)环境2816,其在初始系统开机时执 行,并负责发
起操作系统的启动。pre-os环境2816的一个传统示例是系统 基本输入/输出系统(bios)。在当今的系统中,实现了统一的可扩展固 件接口(uefi)。pre-os环境2816负责发起操作系统的开启,而且还根 据本发明的某些方面为嵌入式应用程序提供执行环境。
[0276]
操作系统(os)2818提供了内核,该内核控制硬件设备、管理对存储 器中的程序的存储器访问、协调任务并促进多任务处理、组织要存储的数 据、分配存储器空间和其他资源、将程序二进制代码加载到存储器中、发 起应用程序的执行,该应用程序然后与用户并与硬件设备进行交互,以及 检测各种定义的中断并做出响应。而且,操作系统2818提供设备驱动器以 及各种公共服务,例如,促进与外围设备接口连接和联网的那些公共服务, 其为应用提供抽象以使得应用不需要负责处理这种公共操作的细节。操作 系统2818另外提供图形用户界面(gui),该gui经由诸如监视器、键盘、 鼠标、麦克风、相机、触摸屏之类的外围设备促进与用户交互。
[0277]
运行时系统2820实现执行模型的部分,包括诸如在函数调用之前将参 数放到栈上、盘输入/输出(i/o)的行为、以及与并行执行相关的行为之 类的操作。运行时系统2820还可以执行支持服务,例如,类型检查、调试、 或代码生成和优化。
[0278]
库2822包括程序功能的集合,这些程序功能为应用程序提供进一步的 抽象。这些包括例如共享库、动态链接库(dll)。库2822可以是操作系 统2818、运行时系统2820的组成部分,或者可以是附加特征,或者甚至 是远程托管的。库2822定义了应用程序接口(api),应用程序2824可以 通过该api进行各种函数调用,以调用操作系统2818提供的服务。除由协 调计算设备本身的基本可操作性的较低级系统程序执行的任务之外,应用 程序2824是那些为用户执行有用任务的程序。
[0279]
图29是示出根据实施例的处理设备2902的框图。在示例中,所示的 两个或更多个处理设备2902被形成在共同的半导体基板上。cpu 2940可 以包含一个或多个处理核心2942,根据处理器的特定架构,每个处理核心 具有一个或多个算术逻辑单元(alu)、指令取回单元、指令解码单元、 控制单元、寄存器、数据栈指针、程序计数器、和其他必要的组件。作为 说明性示例,cpu 2940可以是x86型的处理器。处理设备2902还可以包 括图形处理单元(gpu)2944。在示例中,gpu 2944可以是专用协处理器, 其从cpu 2940分担了某些计算密集型操作,特别是与图形渲染相关联的 那些操作。cpu 2940和gpu 2944一般可以协同工作,共享对存储器资源、 i/o通道等的访问。
[0280]
在示例中,处理设备2902还可以包括看守处理器2946。看守处理器2946一般不像cpu 2940和gpu 2944那样参与执行软件代码的处理工作。 在示例中,看守处理器2946不与cpu 2940和gpu 2944共享存储器空间, 并且因此不被布置成执行操作系统或应用程序。替代地,看守处理器2946 可以执行支持cpu 2940、gpu 2944、和计算机系统的其他组件的技术工 作的专用固件。在示例中,看守处理器被实现为微控制器设备,其可以物 理上与cpu 2940存在于同一集成电路管芯上,或者可以存在于不同的集 成电路芯片上。看守处理器2946还可以包括一组专用的i/o设备,以使 其能够与外部实体进行通信。在一种类型的实施例中,看守处理器2946是 使用可管理性引擎(me)或平台安全处理器(psp)来实现的。输入/输 出(i/o)控制器2948协调各种处理设备2940、2944、2946之间以及与外 部电路(比如,系统互连)之间的信息流。
[0281]
图30是示出根据实施例的cpu 3040的示例组件的框图。如图所示, cpu 3040包括
一个或多个核心3052、缓存3054、和cpu控制器3056,它 们协调(一个或多个)核心3052的互操作和任务,并提供接口以促进cpu3040的各种内部组件之间以及与诸如存储器总线或系统互连之类的外部组 件的数据流。在一实施例中,cpu 3040的所有示例组件都被形成在共同的 半导体基板。
[0282]
cpu 3040包括非易失性存储器3058(例如,闪存、eeprom等), 用于存储基础代码的某些部分,例如,初始化引擎和微代码。而且,cpu3040可以与外部(例如,形成在单独的ic上)非易失性存储器设备3060 接口连接,该非易失性存储设备3060存储由初始化引擎启用的基础代码, 例如,系统bios或uefi代码。
[0283]
附加注释和示例
[0284]
示例1是用于对道路表面进行建模的设备,该设备包括:硬件传感器 接口,用于获得代表道路表面的按时间排序的图像序列,该图像序列中的 一个图像是当前图像;以及处理电路,用于:向人工神经网络(ann)提 供数据集以产生场景的三维结构,该数据集包括:该图像序列的一部分, 该图像序列的一部分包括当前图像;传感器的运动;和核点;以及使用场 景的三维结构对道路表面进行建模。
[0285]
在示例2中,示例1的主题包括,其中,该图像序列的一部分包括紧 接当前图像之前的图像。
[0286]
在示例3中,示例2的主题包括,其中,该图像序列的一部分是总共 三个图像。
[0287]
在示例4中,示例1-3的主题包括,其中,该图像序列的一部分包括 在当前图像之前的图像,这些图像被该图像序列中的一个或多个图像隔开。
[0288]
在示例5中,示例1-4的主题包括,其中,将核点提供为与当前图像 具有相同维数的梯度图像,梯度图像中的像素的值表示在当前图像中的像 素距核点的距离。
[0289]
在示例6中,示例5的主题包括,其中,基线为至少0.5m。
[0290]
在示例7中,示例5-6的主题包括,其中,梯度图像具有比当前图像 低的分辨率。
[0291]
在示例8中,示例5-7的主题包括,其中,梯度图像仅表示距核点的 水平距离,并且其中第二梯度图像被提供给ann以表示距核点的竖直距 离。
[0292]
在示例9中,示例1-8的主题包括,其中,传感器的运动被提供为与 当前图像具有相同维数的恒定值图像。
[0293]
在示例10中,示例9的主题包括,其中,恒定值是传感器的前向运动 与传感器距平面的高度的比值。
[0294]
在示例11中,示例1-10的主题包括,其中,场景的三维结构是伽马 图像,该伽马图像包括具有伽马值的像素,该伽马值是点在平面上方的高 度与距捕获当前图像的传感器的距离的比值,该平面表示道路表面。
[0295]
在示例12中,示例1-11的主题包括,其中,为对道路表面进行建模, 处理电路通过将场景的三维结构与第二ann的输出进行比较来标识反射 区域,第二ann被训练为接受图像序列的该部分并产生第二三维结构, 其中与第一ann的训练相比第二ann的训练在图像序列的该部分中使用 更多的摄影测量损失。
[0296]
在示例13中,示例12的主题包括,其中,该ann和第二ann被实 现为经训练而产生双通道输出的单个ann,其中,第一通道是场景的三维 结构,而第二通道是由在其训练中使用了更多摄影测量损失的第二ann产 生的三维结构。
[0297]
在示例14中,示例1-13的主题包括,其中,所述处理电路被配置为 使用所述三维结构调用第二ann,来确定所述特征表示道路表面的环境内 的移动对象还是非移动对象。
[0298]
在示例15中,示例14的主题包括,其中,为使用三维结构调用第二 ann,处理电路向第二ann提供以下项:当前图像;使用三维结构变形 的先前图像;和目标标识符。
[0299]
在示例16中,示例15的主题包括,其中,目标标识符是图像,其中 该图像的像素指示距目标中心的距离。
[0300]
在示例17中,示例15-16的主题包括,其中,目标标识符包括目标的 大小。
[0301]
在示例18中,示例15-17的主题包括,其中,目标标识符是与目标相 对应的像素的掩模。
[0302]
在示例19中,示例1-18的主题包括,其中,为对道路表面进行建模, 处理电路计算距道路表面特征的平面的竖直偏差。
[0303]
在示例20中,示例1-19的主题包括,其中,ann是卷积神经网络 (cnn)。
[0304]
在示例21中,示例20的主题包括:其中,传感器的运动和核点被在 瓶颈层处提供给cnn。
[0305]
在示例22中,示例1-21的主题包括,其中,使用无监督训练技术来 训练ann,其中通过测量未来图像的模型和未来图像之间的差异来确定误 差,通过对未来图像之前的图像进行伽马变形来产生该未来图像的模型。
[0306]
在示例23中,示例1-22的主题包括,其中,使用无监督训练技术来 训练ann,其中通过测量位置的预测伽马与该位置处的传感器移动之间的 差异来确定误差,传感器移动包括垂直于平面的俯仰、偏航、侧倾、或平 移。
[0307]
在示例24中,示例1-23的主题包括,其中,使用无监督训练技术来 训练ann,其中误差是通过在两个不同时间的两个图像之间的重叠片段的 伽马之差来确定的,其中对第一图像进行推断,并且其中重叠片段在图像 中更靠近传感器。
[0308]
示例25是用于对道路表面进行建模的方法,该方法包括:获得代表道 路表面的按时间排序的图像序列,该图像序列中的一个图像是当前图像; 向人工神经网络(ann)提供数据集以产生场景的三维结构,该数据集包 括:该图像序列的一部分,该图像序列的一部分包括当前图像;传感器的 运动;和核点;以及使用场景的三维结构对道路表面进行建模。
[0309]
在示例26中,示例25的主题包括,其中,该图像序列的一部分包括 紧接当前图像之前的图像。
[0310]
在示例27中,示例26的主题包括,其中,该图像序列的一部分总共 是三个图像。
[0311]
在示例28中,示例25-27的主题包括,其中,该图像序列的一部分包 括在当前图像之前的图像,这些图像被该图像序列中的一个或多个图像隔 开。
[0312]
在示例29中,示例25-28的主题包括,其中,将核点提供为与当前图 像具有相同维数的梯度图像,梯度图像中的像素的值表示在当前图像中的 像素距核点的距离。
[0313]
在示例30中,示例29的主题包括,其中,基线为至少0.5m。
[0314]
在示例31中,示例29-30的主题包括,其中,梯度图像具有比当前图 像低的分辨率。
[0315]
在示例32中,示例29-31的主题包括:其中,梯度图像仅表示距核点 的水平距离,并且其中第二梯度图像被提供给ann以表示距核点的竖直 距离。
[0316]
在示例33中,示例25-32的主题包括,其中,传感器的运动被提供为 与当前图像具有相同维数的恒定值图像。
[0317]
在示例34中,示例33的主题包括:其中,恒定值是传感器的前向运 动与传感器距平面的高度的比值。
[0318]
在示例35中,示例25-34的主题包括,其中,场景的三维结构是伽马 图像,该伽马图像包括具有伽马值的像素,该伽马值是点在平面上方的高 度与距捕获当前图像的传感器的距离的比值,该平面表示道路表面。
[0319]
在示例36中,示例25-35的主题包括,其中,对道路表面进行建模包 括:通过将场景的三维结构与第二ann的输出进行比较来标识反射区域, 第二ann被训练为接受图像序列的该部分并产生第二三维结构,其中与 第一ann的训练相比第二ann的训练在图像序列的该部分中使用更多的 摄影测量损失。
[0320]
在示例37中,示例36的主题包括:其中,该ann和第二ann被实 现为经训练而产生双通道输出的单个ann,其中,第一通道是场景的三维 结构,而第二通道是由在其训练中使用了更多摄影测量损失的第二ann产 生的三维结构。
[0321]
在示例38中,示例25-37的主题包括,使用所述三维结构调用第二 ann来确定所述特征表示道路表面的环境内的移动对象还是非移动对象。
[0322]
在示例39中,示例38的主题包括,其中,使用三维结构调用第二 ann包括向第二ann提供以下项:当前图像;使用三维结构变形的先前 图像;和目标标识符。
[0323]
在示例40中,示例39的主题包括,其中,目标标识符是图像,其中 该图像的像素指示距目标中心的距离。
[0324]
在示例41中,示例39-40的主题包括,其中,目标标识符包括目标的 大小。
[0325]
在示例42中,示例39-41的主题包括,其中,目标标识符是与目标相 对应的像素的掩模。
[0326]
在示例43中,示例25-42的主题包括,其中,对道路表面进行建模包 括计算距道路表面特征的平面的竖直偏差。
[0327]
在示例44中,示例25-43的主题包括,其中,ann是卷积神经网络 (cnn)。
[0328]
在示例45中,示例44的主题包括:其中,传感器的运动和核点被在 瓶颈层处提供给cnn。
[0329]
在示例46中,示例25-45的主题包括,其中,使用无监督训练技术来 训练ann,其中通过测量未来图像的模型和未来图像之间的差异来确定误 差,通过对未来图像之前的图像进行伽马变形来产生该未来图像的模型。
[0330]
在示例47中,示例25-46的主题包括:其中,使用无监督训练技术来 训练ann,其中通过测量位置的预测伽马与该位置处的传感器移动之间的 差异来确定误差,传感器移动包括垂直于平面的俯仰、偏航、侧倾、或平 移。
[0331]
在示例48中,示例25-47的主题包括,其中,使用无监督训练技术来 训练ann,其中误差是通过在两个不同时间的两个图像之间的重叠片段的 伽马之差来确定的,其中对第一图像进行推断,并且其中重叠片段在图像 中更靠近传感器。
[0332]
示例49是至少一种机器可读介质,包括用于对道路表面进行建模的指 令,所述指令在由处理电路执行时使得该处理电路执行操作,包括:获得 代表道路表面的按时间排序
的图像序列,该图像序列中的一个图像是当前 图像;向人工神经网络(ann)提供数据集以产生场景的三维结构,该数 据集包括:该图像序列的一部分,该图像序列的一部分包括当前图像;传 感器的运动;和核点;以及使用场景的三维结构对道路表面进行建模。
[0333]
在示例50中,示例49的主题包括,其中,该图像序列的一部分包括 紧接当前图像之前的图像。
[0334]
在示例51中,示例50的主题包括,其中,该图像序列的一部分总共 是三个图像。
[0335]
在示例52中,示例49-51的主题包括,其中,该图像序列的一部分包 括在当前图像之前的图像,这些图像被该图像序列中的一个或多个图像隔 开。
[0336]
在示例53中,示例49-52的主题包括,其中,将核点提供为与当前图 像具有相同维数的梯度图像,梯度图像中的像素的值表示在当前图像中的 像素距核点的距离。
[0337]
在示例54中,示例53的主题包括,其中,基线为至少0.5m。
[0338]
在示例55中,示例53-54的主题包括,其中,梯度图像具有比当前图 像低的分辨率。
[0339]
在示例56中,示例53-55的主题包括:其中,梯度图像仅表示距核点 的水平距离,并且其中第二梯度图像被提供给ann以表示距核点的竖直 距离。
[0340]
在示例57中,示例49-56的主题包括:其中,将传感器的运动提供为 具有与当前图像相同维数的恒定值图像。
[0341]
在示例58中,示例57的主题包括:其中,恒定值是传感器的前向运 动与传感器距平面的高度的比值。
[0342]
在示例59中,示例49-58的主题包括:其中,场景的三维结构是伽马 图像,该伽马图像包括具有伽马值的像素,该伽马值是点在平面上方的高 度与距捕获当前图像的传感器的距离的比值,该平面表示道路表面。
[0343]
在示例60中,示例49-59的主题包括,其中,对道路表面进行建模包 括:通过将场景的三维结构与第二ann的输出进行比较来标识反射区域, 第二ann被训练为接受图像序列的该部分并产生第二三维结构,其中与 第一ann的训练相比第二ann的训练在图像序列的该部分中使用更多的 摄影测量损失。
[0344]
在示例61中,示例60的主题包括:其中,该ann和第二ann被实 现为经训练而产生双通道输出的单个ann,其中,第一通道是场景的三维 结构,而第二通道是由在其训练中使用了更多摄影测量损失的第二ann产 生的三维结构。
[0345]
在示例62中,示例49-61的主题包括,其中,操作包括使用所述三维 结构调用第二ann来确定所述特征表示道路表面的环境内的移动对象还 是非移动对象。
[0346]
在示例63中,示例62的主题包括:其中使用三维结构调用第二ann 包括向第二ann提供以下项:当前图像;使用三维结构变形的先前图像; 和目标标识符。
[0347]
在示例64中,示例63的主题包括:其中,目标标识符是图像,其中 该图像的像素指示距目标中心的距离。
[0348]
在示例65中,示例63-64的主题包括,其中,目标标识符包括目标的 大小。
[0349]
在示例66中,示例63-65的主题包括,其中,目标标识符是与目标相 对应的像素的掩码。
[0350]
在示例67中,示例49-66的主题包括,其中,对道路表面进行建模包 括计算距道路
表面特征的平面的竖直偏差。
[0351]
在示例68中,示例49-67的主题包括,其中,ann是卷积神经网络 (cnn)。
[0352]
在示例69中,示例68的主题包括,其中,传感器的运动和核点被在 瓶颈层处提供给cnn。
[0353]
在示例70中,示例49-69的主题包括,其中,使用无监督训练技术来 训练ann,其中通过测量未来图像的模型和未来图像之间的差异来确定误 差,通过对未来图像之前的图像进行伽马变形来产生该未来图像的模型。
[0354]
在示例71中,示例49-70的主题包括,其中,使用无监督训练技术来 训练ann,其中通过测量位置的预测伽马与该位置处的传感器移动之间的 差异来确定误差,传感器移动包括垂直于平面的俯仰、偏航、侧倾、或平 移。
[0355]
在示例72中,示例49-71的主题包括,其中,使用无监督训练技术来 训练ann,其中误差是通过在两个不同时间的两个图像之间的重叠片段的 伽马之差来确定的,其中对第一图像进行推断,并且其中重叠片段在图像 中更靠近传感器。
[0356]
示例73是用于对道路表面进行建模的系统,该系统包括:用于获得代 表道路表面的按时间排序的图像序列的装置,该图像序列中的一个图像是 当前图像;用于向人工神经网络(ann)提供数据集以产生场景的三维结 构的装置,该数据集包括:该数据集包括:该图像序列的一部分,该图像 序列的一部分包括当前图像;传感器的运动;和核点;以及用于使用场景 的三维结构对道路表面进行建模的装置。
[0357]
在示例74中,示例73的主题包括其中,该图像序列的一部分包括紧 接当前图像之前的图像。
[0358]
在示例75中,示例74的主题包括,其中,图像序列的一部分总共是 三个图像。
[0359]
在示例76中,示例73-75的主题包括,其中,该图像序列的一部分包 括在当前图像之前的图像,这些图像被该图像序列中的一个或多个图像隔 开。
[0360]
在示例77中,示例73-76的主题包括,其中,将核点提供为与当前图 像具有相同维数的梯度图像,梯度图像中的像素的值表示在当前图像中的 像素距核点的距离。
[0361]
在示例78中,示例77的主题包括,其中,基线为至少0.5m。
[0362]
在示例79中,示例77-78的主题包括:其中,,梯度图像具有比当前 图像低的分辨率。
[0363]
在示例80中,示例77-79的主题包括,其中,梯度图像仅表示距核点 的水平距离,并且其中第二梯度图像被提供给ann以表示距核点的竖直 距离。
[0364]
在示例81中,示例73-80的主题包括,其中,传感器的运动被提供为 与当前图像具有相同维数的恒定值图像。
[0365]
在示例82中,示例81的主题包括,其中,恒定值是传感器的前向运 动与传感器距平面的高度的比值。
[0366]
在示例83中,示例73-82的主题包括:其中,场景的三维结构是伽马 图像,该伽马图像包括具有伽马值的像素,该伽马值是点在平面上方的高 度与距捕获当前图像的传感器的距离的比值,该平面表示道路表面。
[0367]
在示例84中,示例73-83的主题包括,其中,用于对道路表面进行建 模的装置包括:用于通过将场景的三维结构与第二ann的输出进行比较 来标识反射区域的装置,第二
ann被训练为接受图像序列的该部分并产 生第二三维结构,其中与第一ann的训练相比第二ann的训练在图像序 列的该部分中使用更多的摄影测量损失。
[0368]
在示例85中,示例84的主题包括:其中,该ann和第二ann被实 现为经训练而产生双通道输出的单个ann,其中,第一通道是场景的三维 结构,而第二通道是由在其训练中使用了更多摄影测量损失的第二ann产 生的三维结构。
[0369]
在示例86中,示例73-85的主题包括,用于使用所述三维结构调用第 二ann来确定所述特征表示道路表面的环境内的移动对象还是非移动对 象的装置。
[0370]
在示例87中,示例86的主题包括,其中,用于使用三维结构调用第 二ann的装置包括:用于向第二ann提供以下项的装置:当前图像;使 用三维结构变形的先前图像;和目标标识符。
[0371]
在示例88中,示例87的主题包括,其中,目标标识符是图像的像素 指示距目标的中心的距离的图像。
[0372]
在示例89中,示例87-88的主题包括,其中,目标标识符包括目标的 大小。
[0373]
在示例90中,示例87-89的主题包括,其中,目标标识符是与目标相 对应的像素的掩码。
[0374]
在示例91中,示例73-90的主题包括,其中,用于对道路表面进行建 模的装置包括用于计算距道路表面特征的平面的竖直偏差的装置。
[0375]
在示例92中,示例73-91的主题包括,其中,ann是卷积神经网络 (cnn)。
[0376]
在示例93中,示例92的主题包括,其中,传感器的运动和核点被在 瓶颈层处提供给cnn。
[0377]
在示例94中,示例73-93的主题包括:其中,使用无监督训练技术来 训练ann,其中通过测量未来图像的模型和未来图像之间的差异来确定误 差,通过对未来图像之前的图像进行伽马变形来产生该未来图像的模型。
[0378]
在示例95中,示例73-94的主题包括,其中,使用无监督训练技术来 训练ann,其中通过测量位置的预测伽马与该位置处的传感器移动之间的 差异来确定误差,传感器移动包括垂直于平面的俯仰、偏航、侧倾、或平 移。
[0379]
在示例96中,示例73-95的主题包括,其中,使用无监督训练技术来 训练ann,其中误差是通过在两个不同时间的两个图像之间的重叠片段的 伽马之差来确定的,其中对第一图像进行推断,并且其中重叠片段在图像 中更靠近传感器。
[0380]
示例97是用于对道路表面进行建模的方法,该方法包括:获得代表表 面的按时间排序的图像序列,该图像序列中的一个图像是当前图像;将数 据集提供给第一人工神经网络(ann)以产生场景的三维结构的第一输出, 该数据集包括:图像序列的一部分,图像序列的该部分包括当前图像;传 感器的运动;和核点;将该数据集提供给第二ann以产生场景的摄影测 量损失的第二输出;将第一输出和第二输出进行比较以确定该表面的特征。
[0381]
在示例98中,示例97的主题包括,其中,第一输出是场景的三维结 构,并且其中第二输出是基于场景的摄影测量损失的三维结构。
[0382]
在示例99中,示例98的主题包括,其中,第一输出是伽马图。
[0383]
在示例100中,示例99的主题包括,其中,将第一输出和第二输出进 行比较包括将第二输出中的孔洞与第一输出中的恒定伽马的连续区域对齐。
[0384]
在示例101中,示例97-100的主题包括,其中,使用损失函数来训练 第一ann和第二ann,这些损失函数在损失的类型之间的权重不同并且 使用相同类型的损失。
[0385]
在示例102中,示例101的主题包括,其中,损失的类型包括光度损 失、几何结构损失、传感器运动损失、或未来图像损失中的至少一种。
[0386]
在示例103中,示例97-102的主题包括,其中,第一ann和第二 ann被实现为经训练以产生双通道输出的单个ann,其中第一通道是所 述第一输出,并且第二通道是所述第二输出。
[0387]
在示例104中,示例97-103的主题包括,其中,第一ann和第二 ann被实现为共享单个ann直至出现瓶颈,然后则分叉。
[0388]
示例105是至少一种机器可读介质,其包括用于对道路表面进行建模 的指令,所述指令在由处理电路执行时使得该处理电路执行操作,包括: 获得代表表面的按时间排序的图像序列,该图像序列中的一个图像是当前 图像;将数据集提供给第一人工神经网络(ann)以产生场景的三维结构 的第一输出,该数据集包括:图像序列的一部分,图像序列的该部分包括 当前图像;传感器的运动;和核点;将该数据集提供给第二ann以产生 场景的摄影测量损失的第二输出;将第一输出和第二输出进行比较以确定 该表面的特征。
[0389]
在示例106中,示例105的主题包括:其中,第一输出是场景的三维 结构,并且其中第二输出是基于场景的摄影测量损失的三维结构。
[0390]
在示例107中,示例106的主题包括,其中,第一输出是伽马图。
[0391]
在示例108中,示例107的主题包括,其中,将第一输出和第二输出 进行比较包括将第二输出中的孔洞与第一输出中的恒定伽马的连续区域对 齐。
[0392]
在示例109中,示例105-108的主题包括,其中,使用损失函数来训 练第一ann和第二ann,这些损失函数在损失的类型之间的权重不同并 且使用相同类型的损失。
[0393]
在示例110中,示例109的主题包括,其中,损失的类型包括光度损 失、几何结构损失、传感器运动损失、或未来图像损失中的至少一种。
[0394]
在示例111中,示例105-110的主题包括:其中,第一ann和第二 ann被实现为经训练以产生双通道输出的单个ann,其中第一通道是所 述第一输出,并且第二通道是所述第二输出。
[0395]
在示例112中,示例105-111的主题包括,其中,第一ann和第二 ann被实现为共享单个ann直至出现瓶颈,然后则分叉。
[0396]
示例113是用于对道路表面进行建模的设备,该设备包括:图像捕获 设备,用于获得代表表面的按时间排序的图像序列,该图像序列中的一个 图像是当前图像;以及处理电路,用于:将数据集提供给第一人工神经网 络(ann)以产生场景的三维结构的第一输出,该数据集包括:图像序列 的一部分,图像序列的该部分包括当前图像;传感器的运动;和核点;将 该数据集提供给第二ann以产生场景的摄影测量损失的第二输出;将第 一输出和第二输出进行比较以确定该表面的特征。
[0397]
在示例114中,示例113的主题包括:其中,第一输出是场景的三维 结构,并且其中第二输出是基于场景的摄影测量损失的三维结构。
[0398]
在示例115中,示例114的主题包括,其中,第一输出是伽马图。
[0399]
在示例116中,示例115的主题包括,其中,将第一输出和第二输出 进行比较包括
将第二输出中的孔洞与第一输出中的恒定伽马的连续区域对 齐。
[0400]
在示例117中,示例113-116的主题包括,其中,使用损失函数来训 练第一ann和第二ann,这些损失函数在损失的类型之间的权重不同并 且使用相同类型的损失。
[0401]
在示例118中,示例117的主题包括,其中,损失的类型包括光度损 失、几何结构损失、传感器运动损失、或未来图像损失中的至少一种。
[0402]
在示例119中,示例113-118的主题包括,其中,第一ann和第二 ann被实现为经训练以产生双通道输出的单个ann,其中第一通道是所 述第一输出,并且第二通道是所述第二输出。
[0403]
在示例120中,示例113-119的主题包括,其中,第一ann和第二 ann被实现为共享单个ann直至出现瓶颈,然后则分叉。
[0404]
示例121是一种用于车辆的自主导航系统,该系统包括:至少一个图 像捕获设备,被配置为获得用户车辆附近区域的多个图像;数据接口;以 及至少一个处理设备,被配置为:经由数据接口接收所述多个图像;从所 述多个图像中确定在车辆的路径上存在水坑。
[0405]
在示例122中,示例121的主题包括:其中,至少一个处理设备被配 置为:从所述多个图像确定目标是否位于穿过水坑的车辆的飞溅区域内; 并且控制车辆执行导航操纵以修改车辆的飞溅区域,以使得车辆的新飞溅 区域不包括该目标。
[0406]
在示例123中,示例122的主题包括:其中,导航操纵是以下项中的 至少一项:使车辆减速,执行车道内转向以使得车辆的新路径距目标足够 远来防止目标被飞溅物击中,或执行车道内转弯,以使得车辆的新路径不 再通过水坑。
[0407]
在示例124中,示例121-123的主题包括,其中,目标是行人。
[0408]
在示例125中,示例121-124的主题包括,其中,目标是车辆。
[0409]
示例126是用于控制沿着道路行驶的自主车辆的方法,该方法由计算 平台执行,并且包括:存储表示从该车辆的角度看的至少一个视场的图像 序列,该至少一个视场包括道路的一部分;处理该图像序列以检测道路上 的水坑;确定水坑附近是否存在行人;并且响应于对水坑的检测而确定驾 驶响应解决方案,其中该驾驶响应解决方案是基于是否检测到存在行人的。
[0410]
在示例127中,示例126的主题包括,通过安装在车辆上的相机系统 捕获该图像序列;并且其中处理包括对该图像序列进行单眼图像处理。
[0411]
在示例128中,示例127的主题包括,其中,该图像序列是由相机系 统的多个图像传感器捕获的。
[0412]
在示例129中,示例126-128的主题包括,其中,处理该图像序列以 检测道路上的水坑包括:基于图像序列计算确定道路的竖直轮廓;确定该 竖直轮廓中是否存在超过深度阈值的凹陷;以及针对凹陷的特性应用水坑 检测标准。
[0413]
在示例130中,示例129的主题包括:其中,水坑检测标准包括边界 清晰度标准,并且其中应用水坑检测标准包括:产生对水坑的边界的计算 评估并且将该计算评估与边界清晰度标准进行。
[0414]
在示例131中,示例130的主题包括,其中,对水坑的边界的计算评 估包括:水坑内部沿着边界的点的竖直轮廓得分,以及水坑外部沿着边界 的点的竖直轮廓得分,并且其中,边界清晰度标准包括适用于在水坑内部 的点的竖直轮廓得分的第一阈值和适用于水
坑外部的点的竖直轮廓得分的 第二阈值。
[0415]
在示例132中,示例129-131的主题包括,其中,水坑检测标准包括 适用于水坑内部的点的竖直轮廓得分的连续性标准。
[0416]
在示例133中,示例126-132的主题包括,其中,确定在水坑附近是 否存在行人包括处理该图像序列以执行被配置为检测人的对象辨识操作。
[0417]
在示例134中,示例126-133的主题包括,其中,响应于对水坑的检 测而确定驾驶响应解决方案包括:响应于在水坑的附近的行人的肯定检测 而为车辆产生路线或速度响应,以减少由于水坑而飞溅行人的可能性或者 避免由于水坑而飞溅行人。
[0418]
在示例135中,示例134的主题包括,其中,确定驾驶响应解决方案 包括基于风险规避决策方案从多个潜在驾驶响应选项中选择驾驶响应解决 方案。
[0419]
在示例136中,示例135的主题包括,其中,对水坑附近的行人的肯 定检测被表示为针对风险规避决策方案的增量风险因子,其中,该增量风 险因子对与水坑相关联的总风险得分有贡献,并且其中总风险得分表示车 辆执行驾驶响应解决方案的必要程度。
[0420]
在示例137中,示例135-136的主题包括,其中,响应于对水坑的检 测来确定驾驶响应解决方案包括:将与每个潜在驾驶响应选项相关联的风 险与当前情境场景的风险评估进行比较,在当前情境场景中该潜在驾驶响 应选项对风险因子有贡献。
[0421]
在示例138中,示例137的主题包括执行对当前情境场景的评估。
[0422]
示例139是用于在沿道路行驶的车辆中使用的机器视觉系统的装置, 该装置包括:计算平台,该计算平台包括至少一个处理器和存储电路,其 中,该计算平台用于实现:数据库,用于包含表示从该车辆的角度看的至 少一个视场的图像序列,该至少一个视场包括道路的一部分;水坑检测引 擎,用于基于该图像序列检测道路上是否存在水坑;行人检测引擎,用于 确定水坑附近是否存在行人;以及驾驶响应引擎,用于响应于对水坑的检 测而确定驾驶响应解决方案,其中该驾驶响应解决方案是基于行人检测引 擎是否检测到存在行人的。
[0423]
在示例140中,示例139的主题包括,安装在车辆上的相机系统,其 可操作来捕获该图像序列;并且其中,水坑检测引擎将对图像序列执行单 眼图像处理。
[0424]
在示例141中,示例140的主题包括,其中,该图像序列由相机系统 的多个图像传感器捕获。
[0425]
在示例142中,示例139-141的主题包括,其中,水坑检测引擎用于: 基于该图像序列通过计算确定道路的竖直轮廓;确定竖直轮廓中是否存在 超过深度阈值的凹陷;并且针对凹陷的特性应用水坑检测标准。
[0426]
在示例143中,示例142的主题包括,其中,所述水坑检测标准包括 边界清晰度标准,并且其中,应用所述水坑检测标准包括:对所述水坑的 边界进行计算评估并且将所述计算结果与所述边界清晰度标准进行比较。
[0427]
在示例144中,示例143的主题包括,其中,对水坑的边界的计算评 估包括:水坑内部沿着边界的点的竖直轮廓得分,以及水坑外部沿着边界 的点的竖直轮廓得分,并且其中,边界清晰度标准包括适用于在水坑内部 的点的竖直轮廓得分的第一阈值和适用于水坑外部的点的竖直轮廓得分的 第二阈值。
[0428]
在示例145中,示例142-144的主题包括,其中,水坑检测标准包括 适用于水坑内
部的点的竖直轮廓得分的连续性标准。
[0429]
在示例146中,示例139-145的主题包括,其中,行人检测引擎通过 至少处理该图像序列以执行被配置为检测人的对象辨识操作,来确定水坑 附近是否存在行人。
[0430]
在示例147中,示例139-146的主题包括,其中,驾驶响应引擎将响 应于在水坑的附近的行人的肯定检测而为车辆产生路线或速度响应,以减 少由于水坑而飞溅行人的可能性或者避免由于水坑而飞溅行人。
[0431]
在示例148中,示例147的主题包括,其中,基于风险规避决策方案 从多个潜在驾驶响应选项中选择驾驶响应解决方案。
[0432]
在示例149中,示例148的主题包括,其中,对水坑附近的行人的肯 定检测被表示为针对风险规避决策方案的增量风险因子,其中,该增量风 险因子对与水坑相关联的总风险得分有贡献,并且其中总风险得分表示车 辆执行驾驶响应解决方案的必要程度。
[0433]
在示例150中,示例148-149的主题包括,其中,驾驶响应解决方案 引擎将与每个潜在驾驶响应选项相关联的风险与当前情境场景的风险评估 进行比较,在当前情境场景中该潜在驾驶响应选项对风险因子有贡献。
[0434]
在示例151中,示例150的主题包括,其中,驾驶响应解决方案引擎 执行对当前情境场景的评估。
[0435]
示例152是至少一种机器可读介质,包含指令,所述指令当由沿着道 路行驶的自主车辆的计算平台执行时,使得该计算平台:存储表示从该车 辆的角度看的至少一个视场的图像序列,该至少一个视场包括道路的一部 分;处理该图像序列以检测道路上的水坑;确定水坑附近是否存在行人; 以及响应于对水坑的检测而确定驾驶响应解决方案,其中该驾驶响应解决 方案是基于是否检测到存在行人的。
[0436]
在示例153中,示例152的主题包括,用于使得计算平台执行以下操 作的指令:通过安装在车辆上的相机系统捕获该图像序列;并且其中处理 包括对该图像序列进行单眼图像处理。
[0437]
在示例154中,示例153的主题包括,其中,该图像序列是由相机系 统的多个图像传感器捕获的。
[0438]
在示例155中,示例152-154的主题包括,其中,使得处理该图像序 列以检测道路上的水坑的指令包括用于以下操作指令:基于图像序列计算 确定道路的竖直轮廓;确定该竖直轮廓中是否存在超过深度阈值的凹陷; 以及针对凹陷的特性应用水坑检测标准。
[0439]
在示例156中,示例155的主题包括,其中,水坑检测标准包括边界 清晰度标准,并且其中应用水坑检测标准包括:产生对水坑的边界的计算 评估并且将该计算评估与边界清晰度标准进行。
[0440]
在示例157中,示例156的主题包括,其中,对水坑的边界的计算评 估包括:水坑内部沿着边界的点的竖直轮廓得分,以及水坑外部沿着边界 的点的竖直轮廓得分,并且其中,边界清晰度标准包括适用于在水坑内部 的点的竖直轮廓得分的第一阈值和适用于水坑外部的点的竖直轮廓得分的 第二阈值。
[0441]
在示例158中,示例155-157的主题包括,其中,水坑检测标准包括 适用于水坑内部的点的竖直轮廓得分的连续性标准。
[0442]
在示例159中,示例152-158的主题包括,其中,使得确定在水坑附 近是否存在行
人的指令包括用于以下操作的指令:处理该图像序列以执行 被配置为检测人的对象辨识操作。
[0443]
在示例160中,示例152-159的主题包括,其中,使得响应于对水坑 的检测而确定驾驶响应解决方案的指令包括用于以下操作的指令:响应于 在水坑的附近的行人的肯定检测而为车辆产生路线或速度响应,以减少由 于水坑而飞溅行人的可能性或者避免由于水坑而飞溅行人。
[0444]
在示例161中,示例160的主题包括,其中,使得确定驾驶响应解决 方案的指令包括用于以下操作的指令:基于风险规避决策方案从多个潜在 驾驶响应选项中选择驾驶响应解决方案。
[0445]
在示例162中,示例161的主题包括,其中,对水坑附近的行人的肯 定检测被表示为针对风险规避决策方案的增量风险因子,其中,该增量风 险因子对与水坑相关联的总风险得分有贡献,并且其中总风险得分表示车 辆执行驾驶响应解决方案的必要程度。
[0446]
在示例163中,示例161-162的主题包括,其中,使得响应于对水坑 的检测来确定驾驶响应解决方案的指令包括用于以下操作的指令:将与每 个潜在驾驶响应选项相关联的风险与当前情境场景的风险评估进行比较, 在当前情境场景中该潜在驾驶响应选项对风险因子有贡献。
[0447]
在示例164中,示例163的主题包括,用于执行对当前情境场景的评 估的指令。
[0448]
示例165是一种用于操作在车辆中使用的机器视觉系统的方法,该方 法包括:由机器视觉系统读取表示至少一个视场的图像的时间序列,该至 少一个视场包括由至少一个车载相机捕获的道路一部分;由机器视觉系统 基于图像的时间序列通过计算确定道路的竖直轮廓;并且由所述机器视觉 系统基于所述道路的竖直轮廓来检测道路上的水坑,包括:确定所述竖直 轮廓中是否存在超过深度阈值的凹陷;并且针对凹陷的特性应用水坑检测 标准。
[0449]
在示例166中,示例165的主题包括,其中,确定竖直轮廓包括比较 (a)由于车辆的实际运动而在该图像序列之间产生的道路外观的预测变 化,以及(b)所捕获的图像序列的图像之间的实际差异,其中,作为比 较结果而检测到的任何差异都表示该序列的图像之间的残余流,并且其中 该残余流表明道路的竖直轮廓。
[0450]
在示例167中,示例165-166的主题包括,其中,水坑检测标准包括 边界清晰度标准,并且应用水坑检测标准包括产生对水坑的边界的计算评 估并且将该计算评估与边界清晰度标准进行比较。
[0451]
在示例168中,示例167的主题包括,其中,对水坑的边界的计算评 估包括:水坑内部沿着边界的点的竖直轮廓得分,以及水坑外部沿着边界 的点的竖直轮廓得分,并且其中,边界清晰度标准包括适用于在水坑内部 的点的竖直轮廓得分的第一阈值和适用于水坑外部的点的竖直轮廓得分的 第二阈值。
[0452]
在示例169中,示例167-168的主题包括,其中,水坑检测标准包括 适用于水坑内部的点的竖直轮廓得分的连续性标准。
[0453]
在示例170中,示例165-169的主题包括,其中,该图像的时间序列 是从单个相机获得的。
[0454]
在示例171中,示例165-170的主题包括,其中,该图像的时间序列 是从多个相机
获得的。
[0455]
在示例172中,示例165-171的主题包括,通过机器视觉系统确定与 水坑有关的当前情境场景。
[0456]
在示例173中,示例172的主题包括,其中,当前情境场景包括水坑 的附近是否存在行人。
[0457]
在示例174中,示例172-173的主题包括,其中,当前情境场景包括 水坑相对于道路边界的位置。
[0458]
在示例175中,示例172-174的主题包括,其中,当前情境场景包括 水坑相对于道路上的车道标志的位置。
[0459]
在示例176中,示例172-175的主题包括,由机器视觉系统响应于对 水坑的检测而确定驾驶响应解决方案,该驾驶响应解决方案是基于当前情 境场景的。
[0460]
在示例177中,示例176的主题包括,其中,该驾驶响应解决方案包 括车辆的路线或速度响应,以避免或减轻车辆撞击水坑的任何影响。
[0461]
在示例178中,示例176-177的主题包括,驾驶响应解决方案包括基 于风险规避决策方案从多个潜在驾驶响应选项中选择驾驶响应解决方案。
[0462]
在示例179中,示例178的主题包括,其中,风险规避决策方案计算 与水坑相关联的风险得分,该风险得分表示车辆执行驾驶响应解决方案的 必要程度。
[0463]
在示例180中,示例178-179的主题包括,其中,驾驶响应解决方案 基于与每个潜在驾驶响应选项相关联的风险与当前情境场景的风险评估的 比较,在当前情境场景中潜在驾驶响应选项对风险因子有贡献。
[0464]
示例181是至少一种机器可读介质,其包含指令,当这些指令由沿道 路行驶的自主车辆的机器视觉系统执行时,使得该机器视觉系统:读取表 示至少一个视场的图像的时间序列,该至少一个视场包括由至少一个车载 相机捕获的道路一部分;基于图像的时间序列通过计算确定道路的竖直轮 廓;基于所述道路的竖直轮廓来检测道路上的水坑,包括:确定所述竖直 轮廓中是否存在超过深度阈值的凹陷;并且针对凹陷的特性应用水坑检测 标准。
[0465]
在示例182中,示例181的主题包括,其中,使得确定竖直轮廓的指 令包括用于以下操作的指令:比较(a)由于车辆的实际运动而在该图像 序列之间产生的道路外观的预测变化,以及(b)所捕获的图像序列的图 像之间的实际差异,其中,作为比较结果而检测到的任何差异都表示该序 列的图像之间的残余流,并且其中该残余流表明道路的竖直轮廓。
[0466]
在示例183中,示例181-182的主题包括,其中,水坑检测标准包括 边界清晰度标准,并且应用水坑检测标准包括产生对水坑的边界的计算评 估并且将该计算评估与边界清晰度标准进行比较。
[0467]
在示例184中,示例183的主题包括,其中,对水坑的边界的计算评 估包括:水坑内部沿着边界的点的竖直轮廓得分,以及水坑外部沿着边界 的点的竖直轮廓得分,并且其中,边界清晰度标准包括适用于在水坑内部 的点的竖直轮廓得分的第一阈值和适用于水坑外部的点的竖直轮廓得分的 第二阈值。
[0468]
在示例185中,示例183-184的主题包括,其中,水坑检测标准包括 适用于水坑内部的点的竖直轮廓得分的连续性标准。
[0469]
在示例186中,示例181-185的主题包括,其中,该图像的时间序列 是从单个相机获得的。
[0470]
在示例187中,示例181-186的主题包括,其中,该图像的时间序列 是从多个相机获得的。
[0471]
在示例188中,示例181-187的主题包括,用于使机器视觉系统确定 与水坑有关的当前情境场景的指令。
[0472]
在示例189中,示例188的主题包括,其中,当前情境场景包括水坑 的附近是否存在行人。
[0473]
在示例190中,示例188-189的主题包括,其中,当前情境场景包括 水坑相对于道路边界的位置。
[0474]
在示例191中,示例188-190的主题包括,其中,当前情境场景包括 水坑相对于道路上的车道标志的位置。
[0475]
在示例192中,示例188-191的主题包括,用于使得机器视觉系统响 应于对水坑的检测来确定驾驶响应解决方案的指令,该驾驶响应解决方案 是基于当前情境场景的。
[0476]
在示例193中,示例192的主题包括,其中,该驾驶响应解决方案包 括车辆的路线或速度响应,以避免或减轻车辆撞击水坑的任何影响。
[0477]
在示例194中,示例192-193的主题包括,驾驶响应解决方案包括基 于风险规避决策方案从多个潜在驾驶响应选项中选择驾驶响应解决方案。
[0478]
在示例195中,示例194的主题包括:其中,风险规避决策方案计算 与水坑相关联的风险得分,该风险得分表示车辆执行驾驶响应解决方案的 必要程度。
[0479]
在示例196中,示例194-195的主题包括,其中,驾驶响应解决方案 基于与每个潜在驾驶响应选项相关联的风险与当前情境场景的风险评估的 比较,在当前情境场景中潜在驾驶响应选项对风险因子有贡献。
[0480]
示例197是用于从沿道路行驶的车辆测量道路结构的机器实现的方法, 该方法包括:读取一组传入数据,该组传入数据包括:(a)表示至少一 个视场的捕获图像的时间序列,该至少一个视场包括由至少一个车载相机 捕获的所述道路的一部分;(b)表示至少一台车载相机的实际运动的自 我运动信息;(c)该道路的表面的参数模型;预处理该组传入数据,以 确定相对于道路平面信息的捕获图像的时间序列之间的至少一个单应性, 并使得该时间序列的至少一个图像基于所述单应性变形以与该时间序列的 另一图像对齐,以基于该时间序列产生经预处理的一组图像;预处理该组 传入数据,以产生该至少一个车载相机的运动的图像格式表示;并且提供 经预处理的一组图像以及运动的图像格式表示作为机器学习(ml)系统 的输入,其中所述ml系统配置为基于输入产生代表该道路的结构的地图。
[0481]
在示例198中,示例197的主题包括,其中,至少一个视场包括由单 个相机捕获的单个前向视场。
[0482]
在示例199中,示例197-198的主题包括,其中,至少一个视场包括 由多个相机捕获的前向视场。
[0483]
在示例200中,示例197-199的主题包括,其中,至少一个视场包括 由面向不同方向的多个相机捕获的多个重叠视场。
[0484]
在示例201中,示例197-200的主题包括,其中,该道路的表面的参 数模型包括表示垂直于该道路的表面的平面法向量的道路平面信息。
[0485]
在示例202中,示例197-201的主题包括,其中,该道路的表面的参 数模型包括该道路的三维样条曲线模型。
[0486]
在示例203中,示例197-202的主题包括,其中,该道路的表面的参 数模型包括从所述捕获图像的至少一部分中得出的道路平面信息。
[0487]
在示例204中,示例197-203的主题包括,其中,所述捕获图像的时 间序列包括三个连续图像序列,所述三个连续图像包括最近捕获的图像、 先前图像、和再先前图像。
[0488]
在示例205中,示例197-204的主题包括,其中,预处理该组传入数 据以产生至少一个车载相机的运动的图像格式表示包括:产生与所述时间 序列中的至少一个图像相对应的核点的图像格式表示。
[0489]
在示例206中,示例197-205的主题包括,其中,预处理该组传入数 据以产生至少一个车载相机的运动的图像格式表示包括:产生沿向前方向 的平移的当前量度与相机高度的比值。
[0490]
在示例207中,示例197-206的主题包括,其中,所述自我运动信息 是基于由车辆的运动传感器获得的测量的。
[0491]
在示例208中,示例197-207的主题包括,其中,所述自我运动信息 表示车辆的旋转和平移运动。
[0492]
在示例209中,示例197-208的主题包括,其中,表示由ml系统产生 的道路的结构的地图包括道路模型,该道路模型包括基于道路表面高度的 值的映射。
[0493]
在示例210中,示例209的主题包括,其中,基于道路表面高度的值 的映射包括道路表面高度与距观察点的距离的比值。
[0494]
示例211是至少一种机器可读介质,包括用于从沿道路行驶的车辆测 量道路的结构的指令,所述指令当被处理电路执行时使得所述处理电路执 操作,包括:读取一组传入数据,该组传入数据包括:(a)表示至少一 个视场的捕获图像的时间序列,该至少一个视场包括由至少一个车载相机 捕获的所述道路的一部分;(b)表示至少一台车载相机的实际运动的自 我运动信息;(c)该道路的表面的参数模型;预处理该组传入数据,以 确定相对于道路平面信息的捕获图像的时间序列之间的至少一个单应性, 并使得该时间序列的至少一个图像基于所述单应性变形以与该时间序列的 另一图像对齐,以基于该时间序列产生经预处理的一组图像;预处理该组 传入数据,以产生该至少一个车载相机的运动的图像格式表示;并且提供 经预处理的一组图像以及运动的图像格式表示作为机器学习(ml)系统 的输入,其中所述ml系统配置为基于输入产生代表该道路的结构的地图。
[0495]
在示例212中,示例211的主题包括,其中,至少一个视场包括由单 个相机捕获的单个前向视场。
[0496]
在示例213中,示例211-212的主题包括,其中,至少一个视场包括 由多个相机捕获的前向视场。
[0497]
在示例214中,示例211-213的主题包括,其中,至少一个视场包括 由面向不同方向的多个相机捕获的多个重叠视场。
[0498]
在示例215中,示例211-214的主题包括,其中,该道路的表面的参 数模型包括表
示垂直于该道路的表面的平面法向量的道路平面信息。
[0499]
在示例216中,示例211-215的主题包括,其中,该道路的表面的参 数模型包括该道路的三维样条曲线模型。
[0500]
在示例217中,示例211-216的主题包括,其中,该道路的表面的参 数模型包括从所述捕获图像的至少一部分中得出的道路平面信息。
[0501]
在示例218中,示例211-217的主题包括,其中,所述捕获图像的时 间序列包括三个连续图像序列,所述三个连续图像包括最近捕获的图像、 先前图像、和再先前图像。
[0502]
在示例219中,示例211-218的主题包括,其中,预处理该组传入数 据以产生至少一个车载相机的运动的图像格式表示包括:产生与所述时间 序列中的至少一个图像相对应的核点的图像格式表示。
[0503]
在示例220中,示例211-219的主题包括,其中,预处理该组传入数 据以产生至少一个车载相机的运动的图像格式表示包括:产生沿向前方向 的平移的当前量度与相机高度的比值。
[0504]
在示例221中,示例211-220的主题包括,其中,所述自我运动信息 是基于由车辆的运动传感器获得的测量的。
[0505]
在示例222中,示例211-221的主题包括,其中,所述自我运动信息 表示车辆的旋转和平移运动。
[0506]
在示例223中,示例211-222的主题包括,其中,表示由ml系统产生 的道路的结构的地图包括道路模型,该道路模型包括基于道路表面高度的 值的映射。
[0507]
在示例224中,示例223的主题包括,其中,基于道路表面高度的值 的映射包括道路表面高度与距观察点的距离的比值。
[0508]
示例225是用于从沿道路行驶的车辆测量道路结构的系统,该系统包 括:用于读取一组传入数据的装置,该组传入数据包括:(a)表示至少 一个视场的捕获图像的时间序列,该至少一个视场包括由至少一个车载相 机捕获的所述道路的一部分;(b)表示至少一台车载相机的实际运动的 自我运动信息;(c)该道路的表面的参数模型;用于以下操作的装置: 预处理该组传入数据,以确定相对于道路平面信息的捕获图像的时间序列 之间的至少一个单应性,并使得该时间序列的至少一个图像基于所述单应 性变形以与该时间序列的另一图像对齐,以基于该时间序列产生经预处理 的一组图像;用于预处理该组传入数据以产生该至少一个车载相机的运动 的图像格式表示的装置;以及用于提供经预处理的一组图像以及运动的图 像格式表示作为机器学习(ml)系统的输入的装置,其中所述ml系统被 配置为基于输入产生代表该道路的结构的地图。
[0509]
在示例226中,示例225的主题包括,其中,至少一个视场包括由单 个相机捕获的单个前向视场。
[0510]
在示例227中,示例225-226的主题包括,其中,至少一个视场包括 由多个相机捕获的前向视场。
[0511]
在示例228中,示例225-227的主题包括,其中,至少一个视场包括 由面向不同方向的多个相机捕获的多个重叠视场。
[0512]
在示例229中,示例225-228的主题包括,其中,该道路的表面的参 数模型包括表示垂直于该道路的表面的平面法向量的道路平面信息。
[0513]
在示例230中,示例225-229的主题包括,其中,该道路的表面的参 数模型包括该道路的三维样条曲线模型。
[0514]
在示例231中,示例225-230的主题包括,其中,该道路的表面的参 数模型包括从所述捕获图像的至少一部分中得出的道路平面信息。
[0515]
在示例232中,示例225-231的主题包括,其中,所述捕获图像的时 间序列包括三个连续图像序列,所述三个连续图像包括最近捕获的图像、 先前图像、和再先前图像。
[0516]
在示例233中,示例225-232的主题包括,其中,用于预处理该组传 入数据以产生至少一个车载相机的运动的图像格式表示的装置包括:用于 产生与所述时间序列中的至少一个图像相对应的核点的图像格式表示的装 置。
[0517]
在示例234中,示例225-233的主题包括,其中,用于预处理该组传 入数据以产生至少一个车载相机的运动的图像格式表示的装置包括:用于 产生沿向前方向的平移的当前量度与相机高度的比值的装置。
[0518]
在示例235中,示例225-234的主题包括,其中,所述自我运动信息 是基于由车辆的运动传感器获得的测量的。
[0519]
在示例236中,示例225-235的主题包括,其中,所述自我运动信息 表示车辆的旋转和平移运动。
[0520]
在示例237中,示例225-236的主题包括,其中,表示由ml系统产生 的道路的结构的地图包括道路模型,该道路模型包括基于道路表面高度的 值的映射。
[0521]
在示例238中,示例237的主题包括,其中,基于道路表面高度的值 的映射包括道路表面高度与距观察点的距离的比值。
[0522]
示例239是一种用于在沿道路行驶的车辆中使用的机器视觉系统的装 置,该装置包括:输入,用于读取表示至少一个视场的图像的时间序列, 该至少一个视场包括由至少一个车载相机捕获的所述道路的一部分;以及 耦合到所述输入的道路结构测量系统,该道路结构测量系统包括:第一深 度神经网络(dnn),其被配置为接收基于所述图像的时间序列的图像格 式的输入;其中该第一dnn被配置有从训练过程中得出的计算参数,其 中:训练数据被输入到训练dnn,该训练数据包括具有捕获的训练图像的 时间序列和对应的自我运动测量的第一部分,其中所述训练dnn基于对 第一部分的正向传播处理的产生测试结果,其中,正向传播处理包括应用 可由训练dnn训练的计算参数;基于多个不同损失分量的集合生成多模 式损失函数,多个不同损失分量包括基于训练数据的第一部分的第一损失 分量和基于训练数据的第二部分的第二损失分量,该训练数据的第二部分 具有所述第一部分中没有的至少一个捕获图像或自我运动测量;基于测试 结果来评估多模式损失函数以产生损失值,并根据训练过程细化可训练的 计算参数以降低损失值;提供经细化的可训练参数以配置所述第一dnn。
[0523]
在示例240中,示例239的主题包括,其中,所述训练过程包括利用 梯度下降训练使得所述损失函数通过所述训练dnn反向传播。
[0524]
在示例241中,示例239-240的主题包括,其中,将由第一dnn接收 的图像格式的输入包括:图像的时间序列;格式化为图像的核点信息,其 中该核点信息包括表示它们各自距核点距离的点;以及格式化为图像的运 动信息,其中该运动信息包括表示沿向前方向的平移的当前量度与相机高 度的比值的点。
[0525]
在示例242中,示例239-241的主题包括,其中,第一dnn是卷积 dnn,其包括多个层,这些层包括卷积层、激活层、和池化层;其中,第 一dnn包括馈送到不同层的多个输入端口,不同层包括第一输入层和不 同于第一输入层的第二输入层;其中第一图像格式的输入将被提供给第一 输入层,并且其中第二图像格式的输入将被提供给第二输入层。
[0526]
在示例243中,示例242的主题包括,其中,第一输入包括图像的时 间序列,并且其中,第二输入包括表示车辆的运动的图像格式的运动信息。
[0527]
在示例244中,示例239-243的主题包括,其中,第一dnn是卷积 dnn,其包括卷积部分和去卷积部分。
[0528]
在示例245中,示例244的主题包括,其中,第一dnn包括多个层, 每个层产生特征图,并将特征图前向传递到随后的层,以沿着前向传播路 径进行处理;其中卷积部分的连续层将操作来逐渐减小其相应特征图的分 辨率,同时增加沿前向传播路径的特征图的维数;其中,去卷积的去卷积 部分的连续层将操作来逐渐增加其对应特征图的分辨率,同时减小沿前向 传播路径的特征图的维数。
[0529]
在示例246中,示例245的主题包括,其中,第一dnn包括至少一个 旁路路径,该路径被布置为促进特征图沿着前向传播路径从前一层传递到 后一层,同时跳过一个或位于这些在前层和在后层之间的中间层。
[0530]
在示例247中,示例245-246的主题包括,其中,第一dnn包括位于 卷积部分和去卷积部分之间的瓶颈网络部分,其中,与第一dnn的其他 层相比,瓶颈网络部分包括具有相对较低分辨率的至少一个层。
[0531]
在示例248中,示例247的主题包括,其中,瓶颈部分包括被配置为 接受图像格式的运动标记和图像格式的核点位置数据的输入。
[0532]
在示例249中,示例239-248的主题包括,其中,第一dnn产生代表 道路的结构的地图作为其输出,该地图包括道路模型,该道路模型包括基 于道路表面高度的值的映射。
[0533]
在示例250中,示例248-249的主题包括,其中,基于道路表面高度 的值映射包括道路表面高度与距观察点的距离的比值。
[0534]
在示例251中,示例239-250的主题包括,其中,第一dnn具有与训 练dnn相同的架构。
[0535]
在示例252中,示例239-251的主题包括,其中,第一损失分量包括 基于训练图像的时间序列和对应自我运动测量的摄影测量损失分量,从训 练图像的时间序列和对应自我运动测量产生测试结果。
[0536]
在示例253中,示例252的主题包括:其中,第二损失分量基于在与 该训练图像的时间序列的图像中任一图像被捕获的时间不同的时间被捕获 的至少一个过去或未来训练图像。
[0537]
在示例254中,示例252-253的主题包括,其中,第二损失成分基于 在与从中产生了测试结果的自我运动测量中任一测量被获得的时间不同的 时间做出的至少一个过去或未来自我运动测量。
[0538]
在示例255中,示例252-254的主题包括,其中,第二损失分量基于 至少一个未来道路结构评估,该未来道路结构评估基于从训练数据的一部 分中获得的捕获图像和对应的测得的自我运动,该训练数据的一部分是在 比该训练图像的时间序列中任一图像被捕
获的时间更晚的时间捕获的。
[0539]
示例256是用于在沿着潮湿道路行驶的车辆中使用的机器视觉系统的 装置,该装置包括:输入以读取表示至少一个视场的图像的时间序列,该 至少由一个视场包括由至少一个车载相机捕获的道路的一部分;以及耦合 到所述输入的道路结构测量系统,该道路结构测量系统包括第一深度神经 网络(dnn),其被配置为接收基于图像的时间序列的图像格式的输入; 其中,当根据单应性使得该图像的时间序列中的至少第一图像变形并且与 该图像的时间序列中的第一图像对齐以揭示图像序列中的第一图像和第二 图像之间的残余运动时,该残余运动至少指示(a)道路表面形貌的变化, 以及(b)来自道路表面的镜面反射;并且其中,该道路结构测量系统被 配置为通过车辆表面的镜面反射区分出道路表面形貌的变化以产生形貌测 量,该形貌测量准确到当车辆以五十千米每小时的速度行驶时在距车辆至 少十米的距离处的道路表面高度变化的三厘米以内。
[0540]
在示例257中,示例256的主题包括,其中,第一dnn是卷积dnn, 其包括卷积部分和去卷积部分。
[0541]
在示例258中,示例257的主题包括:其中,第一dnn包括多个层, 每个层产生特征图,并将特征图前向传递到随后的层,以沿着前向传播路 径进行处理;其中卷积部分的连续层将操作来逐渐减小其相应特征图的分 辨率,同时增加沿前向传播路径的特征图的维数;其中,去卷积的去卷积 部分的连续层将操作来逐渐增加其对应特征图的分辨率,同时减小沿前向 传播路径的特征图的维数。
[0542]
在示例259中,示例258的主题包括:其中,第一dnn包括至少一个 旁路路径,该路径被布置为促进特征图沿着前向传播路径从前一层传递到 后一层,同时跳过一个或位于这些在前层和在后层之间的中间层。
[0543]
在示例260中,示例258-259的主题包括:其中,第一dnn包括位于 卷积部分和去卷积部分之间的瓶颈网络部分,其中,与第一dnn的其他 层相比,瓶颈网络部分包括具有相对较低分辨率的至少一个层。
[0544]
在示例261中,示例260的主题包括,其中,瓶颈部分包括被配置为 接受图像格式的运动标记和图像格式的核点位置数据的输入。
[0545]
在示例262中,示例256-261的主题包括,其中,第一dnn产生代表 道路的结构的地图作为其输出,该地图包括道路模型,该道路模型包括基 于道路表面高度的值的映射。
[0546]
在示例263中,示例261-262的主题包括,其中,基于道路表面高度 的值映射包括道路表面高度与距观察点的距离的比值。
[0547]
在示例264中,示例256-263的主题包括,其中,第一dnn被配置有 从训练过程中得出的计算参数,其中:训练数据被输入到训练dnn,该训 练数据包括具有捕获的训练图像的时间序列和对应的自我运动测量的第一 部分,其中所述训练dnn基于对第一部分的正向传播处理的产生测试结 果,其中,正向传播处理包括应用可由训练dnn训练的计算参数;基于 多个不同损失分量的集合生成多模式损失函数,多个不同损失分量包括基 于训练数据的第一部分的第一损失分量和基于训练数据的第二部分的第二 损失分量,该训练数据的第二部分具有所述第一部分中没有的至少一个捕 获图像或自我运动测量;基于测试结果来评估多模式损失函数以产生损失 值,并根据训练过程细化可训练的计算参数以降低损失值;提供经细化的 可训练参数以配置所述第一dnn。
[0548]
在示例265中,示例264的主题包括,其中,所述训练过程包括利用 梯度下降训练使得所述损失函数通过所述训练dnn反向传播。
[0549]
在示例266中,示例256-265的主题包括,其中,将由第一dnn接收 的图像格式的输入包括:图像的时间序列;格式化为图像的核点信息,其 中该核点信息包括表示它们各自距核点距离的点;以及格式化为图像的运 动信息,其中该运动信息包括表示沿向前方向的平移的当前量度与相机高 度的比值的点。
[0550]
在示例267中,示例256-266的主题包括:其中,第一dnn是卷积 dnn,其包括多个层,这些层包括卷积层、激活层、和池化层;其中,第 一dnn包括馈送到不同层的多个输入端口,不同层包括第一输入层和不 同于第一输入层的第二输入层;其中第一图像格式的输入将被提供给第一 输入层,并且其中第二图像格式的输入将被提供给第二输入层。
[0551]
在示例268中,示例267的主题包括,其中,第一输入包括图像的时 间序列,并且其中,第二输入包括表示车辆的运动的图像格式的运动信息。
[0552]
在示例269中,示例264-268的主题包括,其中,其中,第一dnn具 有与训练dnn相同的架构。
[0553]
在示例270中,示例264-269的主题包括,其中,第一损失分量包括 基于训练图像的时间序列和对应自我运动测量的摄影测量损失分量,从训 练图像的时间序列和对应自我运动测量产生测试结果。
[0554]
在示例271中,示例270的主题包括,其中,第二损失分量基于在与 该训练图像的时间序列的图像中任一图像被捕获的时间不同的时间被捕获 的至少一个过去或未来训练图像。
[0555]
在示例272中,示例270-271的主题包括,其中,第二损失成分基于 在与从中产生了测试结果的自我运动测量中任一测量被获得的时间不同的 时间做出的至少一个过去或未来自我运动测量。
[0556]
在示例273中,示例270-272的主题包括,其中,第二损失分量基于 至少一个未来道路结构评估,该未来道路结构评估基于从训练数据的一部 分中获得的捕获图像和对应的测得的自我运动,该训练数据的一部分是在 比该训练图像的时间序列中任一图像被捕获的时间更晚的时间捕获的。
[0557]
示例274是至少一种机器可读介质,其包括指令,所述指令当被处理 电路执行时,使得所述处理电路执行用于实现如示例1-273中任一示例所 述的操作。
[0558]
示例275是一种设备,包括用于实现如示例1-273中任一示例的装置。
[0559]
示例276是用于实现示例1-273中任一示例的系统。
[0560]
示例277是用于实现示例1-273中任一示例的方法。
[0561]
上面的详细描述包括对附图的引用,这些附图形成了详细描述的一部 分。附图通过说明的方式示出了可以实践的具体实施例。这些实施例在本 文中也被称为“示例”。这些示例可以包括除了示出或描述的那些元件之 外的元件。然而,本发明的发明人还设想了仅提供示出或描述的那些元件 的示例。此外,本发明的发明人设想了使用针对特定示例(或其一个或多 个方面)或针对本文示出或描述的其他示例(或其一个或多个方面)示出 或描述的那些元件(或其一个或多个方面)的任何组合或排列的示例。
[0562]
本文档中引用的所有出版物、专利、和专利文件都通过引用以其整体 并入本文,
就像通过引用将其单独并入一样。在本文档与通过引用并入的 那些文档之间的用法不一致的情况下,应将所并入的(一个或多个)引用 中的用法视为对本文档的补充;对于冲突的不一致之处,以本文档中的用 法为准。
[0563]
在本文档中,如专利文件中常用的那样,独立于“至少一个”或“一 个或多个”的任何其他实例或用法,术语“一”或“一个”包括一个或不 止一个。在本文档中,术语“或”用于指代非排他性的,从而“a或b
”ꢀ
包括“a但不包含b”,“b但不包含a”,以及“a和b”,除非另有 说明。在所附权利要求中,术语“包含”和“在其中”被用作相应术语
ꢀ“
包括”和“其中”的简明英语等效。此外,在所附权利要求中,术语
ꢀ“
包含”和“包括”是开放式的,也就是说,除权利要求中跟在此术语之 后列出的那些元素之外,还包括其他元素的系统、设备、物品、或处理仍 被认为落入该权利要求的范围。此外,在所附权利要求中,术语“第一”、
ꢀ“
第二”和“第三”等仅用作标签,并且不旨在对其对象强加数值要求。
[0564]
上面的描述旨在是说明性的,而不是限制性的。例如,上述示例(或 其一个或多个方面)可以彼此组合使用。例如,可以由本领域的普通技术 人员在回顾以上描述之后使用其他实施例。摘要是为了允许读者快速地确 定技术公开的性质,并且在摘要是在理解其将不会被用来解释或限制权利 要求的范围或含义的情况下提交的。另外,在以上详细描述中,各种特征 可以被分组在一起以简化本公开。这不应被解释为意在使未要求保护的公 开特征对于任何权利要求都是必不可少的。而是,发明性主题可以体现于 少于特定公开实施例的所有特征。因此,以下权利要求据此被结合到详细 描述中,其中每个权利要求独立地作为单独的实施例。应当参考所附权利 要求以及这些权利要求被赋予的等同物的全部范围来确定实施例的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献