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

车辆自主级功能的制作方法

2022-03-02 00:42:35 来源:中国专利 TAG:

车辆自主级功能
1.相关申请交叉引用
2.n/a
技术领域
3.本发明涉及在移动车辆中执行自动功能。


背景技术:

4.随着时间的推移,车辆通过实现一定程度的自主性(例如,通过融合感知传感器技术和人工智能(artificial intelligence,ai)),并通过车辆与车辆(vehicle-to-vehicle,v2v)或车辆与基础设施(vehicle-to-infrastructure,v2i)通信与邻近车辆和基础设施合作而变得越来越“智能”。例如,高速公路上的车辆通过v2v相互通信,这样道路上的每一车辆都可以了解附近的车辆。
5.国际自动机工程师学会(sae international)是一个全球活跃的专业协会和标准制定组织,面向汽车和航空航天行业等各行业的工程专业人员。sae使用六个级别(0级至5级)对车辆自主性进行分类。在0级车辆中,人类驾驶员独立控制一切,包括转向、油门、刹车等。在1级车辆中,转向、加速和刹车各自单独地受到自动控制。目前,有大量车辆在道路上运行,这些车辆包括传感器技术,例如车道保持辅助系统(lane keep assist system,lkas)相机。lkas相机从道路车道标记中提取车道几何形状,并使1级车辆能够执行车道保持辅助功能,例如车道偏离警示(lane departure warning,ldw)、道路偏离警示(road departure warning,rdw)和车道居中(lane centering,lc)。
6.在2级车辆中,多个操作是自动同时完成的。例如,可以自动执行同时转向和加速以实现变道。在另一个示例中,通用汽车公司的“super cruise”免提高速公路驾驶系统通过利用高精度地图(例如高清(high definition,hd)地图)和高精度全球定位系统(global positioning system,gps)技术运行。
7.在3级车辆中,车辆驾驶员将有更多的自由,在特定条件下完全将注意力从道路上转移开。换句话说,车辆驾驶员将能够将驾驶控制完全移交给车辆,驾驶员仍然能够监控各种车辆系统,并在需要时进行干预。在特定情况下,安全关键功能可以转移给车辆。
8.在4级车辆中,驾驶员不需要进行车辆系统监控。4级车辆旨在运行安全关键功能,并在整个行程期间监控道路状况。
9.在5级车辆中,驾驶员不需要适合驾驶,甚至不需要有驾照。5级车辆可以在没有人为干预的情况下执行任何和所有驾驶任务。5级车辆没有驾驶员驾驶舱,车上的每个人都是乘客。3-5级车辆利用感知传感器技术(例如光检测和测距(light detection and ranging,lidar))以及高精度定位技术,将驾驶功能完全委托给车辆ai。
10.目前,绝大多数在道路上运行的车辆都是非智能(例如0级)车辆,因为这些车辆不具备执行更高级别车辆的自主功能(例如用于提供ldw、rdw和lc的lkas)所需的任何高精度传感器技术。即使随着更智能车辆的出现,预计0级车辆在未来很长一段时间内仍将保持其
普及率,因为更高级别车辆由于使用高精度传感器(例如,高精度lidar雷达和gps)而价格昂贵。此外,传统的定位技术大多依赖于gps技术,而gps技术无法满足现代智能交通系统的准确度要求。


技术实现要素:

11.现在描述各种示例,简单地介绍一系列概念,在具体实施方式中会进一步描述这些概念。发明内容不旨在确定所请求保护的主题的关键特征或基本特征,也不旨在用于限制所请求保护的主题范围。
12.根据本发明的第一方面,提供了一种用于执行与移动车辆相关联的自主级功能的计算机实现方法。所述方法包括使用卷积神经网络的卷积层从所述移动车辆内的相机获得的多个图像帧中提取多个特征。使用所述卷积神经网络的第一全连接(fully connected,fc)层生成所述多个特征之间的相关性序列。使用空间长短期记忆(long-short-term memory,lstm)对所述相关性序列进行降维,以生成经修改的相关性序列。使用所述卷积神经网络的第二fc层,根据所述经修改的相关性序列生成与所述移动车辆相关联的道路参数估计数据。根据所述道路参数估计数据,提供车道保持辅助系统(lane keep assist system,lkas)警示。
13.在第一方面所述的方法的第一种实现方式中,使用时间lstm检测所述道路参数估计数据中的一个或多个时间序列数据模式。
14.根据第一方面或第一方面的任一上述实现方式,在所述方法的第二种实现方式中,使用所述时间lstm,根据所述检测到的一个或多个时间序列数据模式修改所述道路参数估计数据,以生成经修改的道路参数估计数据。
15.根据第一方面或第一方面的任一上述实现方式,在所述方法的第三种实现方式中,所述经修改的道路参数估计数据包括车道参数信息和车道上下文信息。
16.根据第一方面或第一方面的任一上述实现方式,在所述方法的第四种实现方式中,所述车道参数信息包括以下各项中的一个或多个:车道标记航向角度、车道标记偏移、车道标记曲率、车道标记曲率导数和车道标记类型。
17.根据第一方面或第一方面的任一上述实现方式,在所述方法的第五种实现方式中,所述车道上下文信息包括以下各项中的一个或多个:相对道路距离,表示所述移动车辆在所述多个图像帧的两个连续帧之间行驶的距离;所述移动车辆正在行驶的道路车道的车道编号指示;与所述移动车辆正在行驶的道路相关联的车道数量。
18.根据第一方面或第一方面的任一上述实现方式,在所述方法的第六种实现方式中,使用第二卷积神经网络的卷积层,使用所述相机获得的所述多个图像帧提取所述移动车辆的地理位置信息。
19.根据第一方面或第一方面的任一上述实现方式,在所述方法的第七种实现方式中,使用贝叶斯滤波将一个或多个空间约束应用于所述地理位置信息,以生成所述移动车辆的经更新的地理位置信息。所述一个或多个空间约束是基于所述道路参数估计数据。输出所述移动车辆的所述经更新的地理位置信息。
20.根据本发明的第二方面,提供了一种用于执行与移动车辆相关联的自主级功能的系统。所述系统包括存储指令的存储器和与所述存储器通信的一个或多个处理器。所述一
个或多个处理器执行所述指令,以使用卷积神经网络的卷积层从所述移动车辆内的相机获得的多个图像帧中提取多个特征。使用所述卷积神经网络的第一全连接(fully connected,fc)层生成所述多个特征之间的相关性序列。使用空间长短期记忆(long-short-term memory,lstm)对所述相关性序列进行降维,以生成经修改的相关性序列。使用所述卷积神经网络的第二fc层,根据所述经修改的相关性序列生成与所述移动车辆相关联的道路参数估计数据。根据所述道路参数估计数据,提供车道保持辅助系统(lane keep assist system,lkas)警示。
21.在第二方面所述的系统的第一种实现方式中,所述一个或多个处理器还用于执行所述指令,以使用时间lstm检测所述道路参数估计数据中的一个或多个时间序列数据模式。
22.根据第二方面或第二方面的任一上述实现方式,在所述系统的第二种实现方式中,所述一个或多个处理器还用于执行所述指令以使用所述时间lstm,根据所述检测到的一个或多个时间序列数据模式修改所述道路参数估计数据,以生成经修改的道路参数估计数据。
23.根据第二方面或第二方面的任一上述实现方式,在所述系统的第三种实现方式中,所述经修改的道路参数估计数据包括车道参数信息和车道上下文信息。
24.根据第二方面或第二方面的任一上述实现方式,在所述系统的第四种实现方式中,所述车道参数信息包括以下各项中的一个或多个:车道标记航向角度、车道标记偏移、车道标记曲率、车道标记曲率导数和车道标记类型。
25.根据第二方面或第二方面的任一上述实现方式,在所述系统的第五种实现方式中,所述车道上下文信息包括以下各项中的一个或多个:相对道路距离,表示所述移动车辆在所述多个图像帧的两个连续帧之间行驶的距离;所述移动车辆正在行驶的道路车道的车道编号指示;与所述移动车辆正在行驶的道路相关联的车道数量。
26.根据第二方面或第二方面的任一上述实现方式,在所述系统的第六种实现方式中,所述一个或多个处理器还用于使用第二卷积神经网络的卷积层,使用所述相机获得的所述多个图像帧提取所述移动车辆的地理位置信息。
27.根据第二方面或第二方面的任一上述实现方式,在所述系统的第七种实现方式中,所述一个或多个处理器还用于使用贝叶斯滤波将一个或多个空间约束应用于所述地理位置信息,以生成所述移动车辆的经更新的地理位置信息。所述一个或多个空间约束是基于所述道路参数估计数据。输出所述移动车辆的所述经更新的地理位置信息。
28.根据本发明的第三方面,提供了一种非瞬时性计算机可读介质,存储用于执行与移动车辆相关联的自主级功能的指令。所述指令由计算设备的一个或多个处理器执行时,使所述一个或多个处理器使用卷积神经网络的卷积层从所述移动车辆内的相机获得的多个图像帧中提取多个特征。使用所述卷积神经网络的第一全连接(fully connected,fc)层生成所述多个特征之间的相关性序列。使用空间长短期记忆(long-short-term memory,lstm)对所述相关性序列进行降维,以生成经修改的相关性序列。使用所述卷积神经网络的第二fc层,根据所述经修改的相关性序列生成与所述移动车辆相关联的道路参数估计数据。根据所述道路参数估计数据,提供车道保持辅助系统(lane keep assist system,lkas)警示。
29.在所述第三方面所述的非瞬时性计算机可读介质的第一种实现方式中,所述指令还使所述一个或多个处理器使用时间lstm检测所述道路参数估计数据中的一个或多个时间序列数据模式。
30.根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第二种实现方式中,所述指令还使所述一个或多个处理器使用所述时间lstm,根据所述检测到的一个或多个时间序列数据模式修改所述道路参数估计数据,以生成经修改的道路参数估计数据。
31.根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第三种实现方式中,所述经修改的道路参数估计数据包括车道参数信息和车道上下文信息。
32.根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第四种实现方式中,所述车道参数信息包括以下各项中的一个或多个:车道标记航向角度、车道标记偏移、车道标记曲率、车道标记曲率导数和车道标记类型。
33.根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第五种实现方式中,所述车道上下文信息包括以下各项中的一个或多个:相对道路距离,表示所述移动车辆在所述多个图像帧的两个连续帧之间行驶的距离;所述移动车辆正在行驶的道路车道的车道编号指示;与所述移动车辆正在行驶的道路相关联的车道数量。
34.根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第六种实现方式中,所述指令还使所述一个或多个处理器使用第二卷积神经网络的卷积层,使用所述相机获得的所述多个图像帧提取所述移动车辆的地理位置信息。
35.根据第三方面或第三方面的任一上述实现方式,在所述非瞬时性计算机可读介质的第七种实现方式中,所述指令还使所述一个或多个处理器使用贝叶斯滤波将一个或多个空间约束应用于所述地理位置信息,以生成所述移动车辆的经更新的地理位置信息。所述一个或多个空间约束是基于所述道路参数估计数据。输出所述移动车辆的所述经更新的地理位置信息。
36.根据本发明的第四方面,提供了一种用于执行与移动车辆相关联的自主级功能的系统。所述系统包括提取模块,用于从所述移动车辆内的相机获得的多个图像帧中提取多个特征。
37.所述系统包括相关模块,用于生成所述多个特征之间的相关性序列。所述系统包括降维模块,用于执行所述相关性序列的降维,以生成经修改的相关性序列。所述系统包括估计模块,用于根据所述经修改的相关性序列生成与所述移动车辆相关联的道路参数估计数据。所述系统包括通知模块,用于根据所述道路参数估计数据,提供车道保持辅助系统(lane keep assist system,lkas)警示。
38.上述示例中的任一个可以与上述其它示例中的任何一个或多个组合以在本发明范围内产生新实施例。
附图说明
39.在不一定按比例绘制的附图中,在不同视图中,相同的数字可以描述类似组件。附图通过示例而非限制的方式一般地示出了在本文中描述的各种实施例。
40.图1是一些示例实施例提供的使用dl架构(dl architecture,dla)训练深度学习(deep learning,dl)模型的框图。
41.图2是一些示例实施例提供的使用在dla内训练的神经网络模型生成经过训练的dl模型的图。
42.图3示出了一些示例实施例提供的各种sae自主级别和使用本文公开的技术使较低sae自主级车辆能够使用计算设备执行较高sae自主级功能。
43.图4示出了可以结合一些示例实施例使用的各种车道参数信息。
44.图5示出了可以结合一些示例实施例使用的车道上下文信息。
45.图6示出了一些示例实施例提供的用于估计车道参数信息和车道上下文信息的lkas模块。
46.图7示出了一些示例实施例提供的用于图6的lkas模块的道路参数估计器子网(road parameters estimator sub-network,rpesn)。
47.图8示出了一些示例实施例提供的用于图6的lkas模块的道路参数估计器网络(road parameters estimator network,rpen)。
48.图9a-图9d示出了一些示例实施例提供的用于确定作为车道上下文信息的一部分的rpen里程计的多个图像帧。
49.图10示出了一些示例实施例提供的通过位置追踪和位置识别进行连续位姿估计的示例。
50.图11示出了一些示例实施例提供的与连续位姿估计技术结合使用的示例特征稀疏环境。
51.图12示出了一些示例实施例提供的用于高精度定位的定位模块的框图。
52.图13示出了一些示例实施例提供的使用图12的定位模块进行具有车道准确度的高精度定位的示例。
53.图14示出了一些示例实施例提供的可以使用图12的定位模块的示例郊区和城市环境。
54.图15是一些示例实施例提供的用于执行与移动车辆相关联的自主级功能的方法的流程图。
55.图16是一些示例实施例提供的代表性软件架构的框图,该软件架构可与本文描述的各种设备硬件结合使用。
56.图17是一些示例实施例提供的实现算法和执行方法的设备的电路的框图。
具体实施方式
57.首先应当理解,虽然下文提供了一个或多个实施例的说明性实现方式,但结合图1-图17描述的所公开的系统和方法可以使用任何数量的技术来实现,无论这些技术是当前已知还是尚未存在的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
58.本发明涉及在车辆中启用国际自动机工程师学会(最初是美国汽车工程师学会(society of automotive engineers))车辆自主级功能。
59.以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实践的具体实施例。这些实施例进行了足够详细的描述以使本领域技术人员能够实践所公开的主题,应理解,可以利用其它实施例,并且在不脱离本发明范围的情况下可以进行结构、逻辑和电更改。因此,以下示例实施例的描述不具有限定意义,本发明的范围由所附权利要求书界定。
60.本文所使用的术语“正向计算”和“反向计算”是指与神经网络模型(或另一种模型)的训练有关在工作机器中所执行的计算。在正向计算和反向计算期间执行的计算根据先前迭代的结果(例如,根据先前反向计算结束时生成的梯度)修改权重。梯度是指在工作机器正在计算的模型权重变化时,对该工作机器的输出变化的测量。梯度测量所有权重与误差变化有关的变化。梯度值越大,模型学习的速度就越快。
61.本文所使用的术语lkas是指帮助驾驶员将车辆保持在适当车道上的一组辅助系统。lkas功能的示例是ldw、rdw、lc等。ldw是一个警示系统,当车辆在没有适当信号通知的情况下偏离车道时,向驾驶员传递警示。rdw(也称为道路偏离缓解(road departure mitigation,rdm))是一个警示系统,当车辆离开道路边界时,向驾驶员传递警示。lc是一种机制,旨在使移动车辆保持在车道中央,减轻驾驶员的转向任务。
62.本文所使用的术语“高清地图”(或hd地图)是指与较高sae自主级车辆相关的为自动驾驶目的而构建的地图类别。hd地图的特点是精度极高,例如厘米级准确度。hd地图包括车道位置、道路边界位置、路缘的位置和高度、交通标志和道路标记的位置等信息。
63.本文所使用的术语“车道线图”是指包括道路的地理参考车道线在内的地图类别。车道线图是hd地图的子集,仅包括车道线信息。
64.本文所使用的术语“x级车辆”(其中,x是0与5之间的整数)是指sae的车辆自主级别。
65.本文所使用的术语“惯性测量单元(或imu)”是指将加速度计、陀螺仪和磁力计结合在一起的设备。imu是一种旨在追踪对象的位置和方向的设备,嵌入智能手机等大多数现代计算设备中。
66.本文公开的技术可以用于使0级车辆能够执行更高级别的功能(例如,1级或2级车辆的功能),而不会因更高级别的车辆使用的高精度传感器而产生额外的成本。这可以通过使用用户广泛可用的计算设备(例如智能手机设备)的传感能力来实现。
67.在所提出的技术中,计算设备(例如,相机、imu和gps)的传感器使用神经网络(neural network,nn)提取道路的车道信息(例如,道路参数),从而在车辆上启用lkas功能,而没有额外的高精度设备成本。使用一个训练数据库,该训练数据库包括在沿路线行驶时从驾驶员角度记录的道路的图像序列,以及对应的消费者级别gps数据、工业级别gps数据和路线的车道线图。道路参数地面真值(是与图像相关联的道路参数的真值)可以从车道线图和工业级gps数据提供的高精度地理位置中获得。数据集包括各种道路几何形状、驾驶员角度的视点、天气和一天中的不同时间。然后,可以使用输入数据(例如视频帧)和对应的输出数据(例如,与视频帧相关联的道路参数的地面真值)对称为道路参数估计器网络(road parameters estimator network,rpen)的深度nn进行训练。经过训练的nn能够泛化,因此学习检测车道线,并提取从未见过的道路的道路参数。该经过训练的nn后续可以由0级车辆使用计算设备相机作为输入,用来生成道路参数估计数据,该道路参数估计数据包
括用于输出的车道参数信息和车道上下文信息。车道参数信息可以包括车道标记航向角度、车道标记偏移、车道标记曲率、车道标记曲率导数和车道标记类型。车道参数信息由车辆用来执行lkas功能,例如提供ldw和rdw警示通知,这些通知可以通过显示器或其它通知装置传递给车辆驾驶员。
68.本文公开的技术也可以用于提供准确的车辆定位(例如,车道级定位)。用于启用lkas功能的同一训练数据库和nn用于提供包括车道上下文信息的道路参数估计数据。使用第二nn(例如,基于视觉的重定位算法),该第二nn可以使用驾驶员角度的道路的图像序列和计算设备(例如驾驶员使用的智能手机)的粗略gps数据预测准确的地理位置(例如,车辆经纬度)。传感器融合技术用于结合两个nn的结果,以提供车辆当前位置的车道级准确度。在这方面,0级车辆驾驶员可以使用计算设备(例如智能手机)的传感能力来提供车辆的准确定位。
69.现有技术使用成本高昂的高精度雷达和gps系统执行更高级别的车辆自主功能。相比之下,本文公开的技术可以使用在消费者设备(例如智能手机)上运行的神经网络,以及设备传感器能力(例如,相机、imu、gps),以通过启用lkas功能(例如,ldw和rdw通知)并提供车道级车辆定位等方式,提供用于提高车辆的sae自主级别的传感功能。
70.本文公开的技术估计新车道上下文信息,例如车辆所在的车道编号(也称为“egolaneno”)、与车辆正在行驶的道路相关联的车道数量(也称为“nooflanes”)和车辆在两个连续图像帧之间行驶的相对道路距离(也称为rpen里程计或“relativeroaddistance”),而该新车道上下文信息是现有导航系统无法估计的。此外,所公开的技术用于通过根据车道上下文信息(例如egolaneno)以及其它车道参数信息和车道上下文信息的实时提取对车辆可能位置施加空间约束来提高车辆的现有定位系统的地理位置准确度。
71.图1是一些示例实施例提供的使用dl架构(dl architecture,dla)训练深度学习(deep learning,dl)模型以生成经过训练的dl模型110的框图100。在一些示例实施例中,机器学习程序(machine-learning program,mlp)(包括深度学习程序,也统称为机器学习算法或工具)用于执行与关联数据或其它基于人工智能(artificial intelligence,ai)的功能相关联的操作。
72.如图1所示,根据训练数据102(可以包括特征)在dla 106内执行深度学习模型训练108。在深度学习模型训练108期间,可以评估来自训练数据102的特征,以便进一步训练dl模型。dl模型训练108产生经过训练的dl模型110。经过训练的dl模型110可以包括一个或多个分类器112,这些分类器112可以用于根据新数据114提供dl评估结果116。
73.在一些方面中,训练数据102可以包括输入数据103,例如从驾驶员角度获得的图像数据、gps数据(例如,与图像数据相关联的地理位置信息)和车道线图数据(例如,与图像数据相关联的车道线图地理位置数据)。训练数据102还可以包括对应于输入数据103的道路参数地面真值数据。输入数据103和输出数据105在dl模型训练108期间用于训练dl模型110。在这方面,经过训练的dl模型110接收新数据114(例如,使用如智能手机等计算设备从驾驶员角度拍摄图像),检测车道线,并使用新数据114提取以前从未见过的道路的道路参数信息(例如,车道参数信息和车道上下文信息)。所提取的道路参数信息(例如,作为dl评估结果116输出)用于提供本文描述的lkas相关功能(例如ldw/rdw通知和车道居中)以及车
道级车辆定位信息。
74.深度学习是机器学习的一部分,机器学习的研究领域是使计算机能够在不用显式编程的情况下学习。机器学习探索的是算法(本文也称为工具)的研究和构建,这些算法可以从现有数据中学习,可以关联数据并且可以对新数据进行预测。这类机器学习工具的工作方式是,根据示例训练数据(例如训练数据102)建立模型,以便作出以输出或评估结果116表示的数据驱动的预测或决策。尽管针对一些机器学习工具(例如深度学习架构)呈现了示例实施例,但本文呈现的原理也可以适用其它机器学习工具。
75.在一些示例实施例中,可以使用不同的机器学习工具。例如,逻辑回归、朴素贝叶斯(naive-bayes)、随机森林、神经网络、矩阵分解和支持向量机工具可以在深度学习模型训练108期间使用(例如,用于关联训练数据102)。
76.机器学习中两种常见的问题类型为分类问题和回归问题。分类问题(classification/categorization problem)旨在将项目分类为若干类别值之一(例如,该对象是苹果还是橙子?)。回归算法旨在量化某些项目(例如,通过提供实数值)。在一些实施例中,dla 106可以用于使用机器学习算法,这些机器学习算法使用训练数据102来查找影响结果的识别特征之间的相关性。
77.机器学习算法利用训练数据102中的特征分析新数据114,以生成评估结果116。这些特征包括所观察到的用于训练机器学习模型的现象的各个可测量属性。特征的概念与如线性回归等统计技术中使用的解释变量的概念有关。选择信息性、鉴别性和独立特征对于mlp在模式识别、分类和回归中的高效操作非常重要。特征可以属于不同类型,例如,数字特征、字符串和图形。在一些方面,训练数据可以具有不同类型,特征是数字,供计算设备使用。
78.在一些方面,在dl模型训练108期间使用的特征可以包括输入数据103、输出数据105,以下各种中的一种或多种:来自多个传感器(例如,音频传感器、运动传感器、gps传感器、图像传感器)的传感器数据;来自多个致动器(例如,无线开关或其它致动器)的制动器事件数据;来自多个外部源的外部信息;与传感器状态数据(例如,获得时间传感器数据)、致动器事件数据或外部信息源数据相关联的定时器数据;用户通信信息;用户数据;用户行为数据等。
79.机器学习算法使用训练数据102来查找影响评估结果116的识别特征之间的相关性。在一些示例实施例中,训练数据102包括标记数据,该标记数据是一个或多个识别特征和一个或多个结果的已知数据。dla 106内的dl模型训练108使用训练数据102(可以包括识别特征)训练dl模型。训练结果是经过训练的dl模型110。当使用dl模型110进行评估时,将新数据114作为输入提供给经过训练的dl模型110,dl模型110生成评估结果116作为输出。例如,dla 106可以部署在移动设备上,并且新数据114可以包括lr图像(例如,来自lr视频的帧,如实时lr视频馈送)。dla 106对lr图像执行ur功能(例如,提高图像分辨率,同时降低噪声、去除块伪影和提高图像对比度),以实时生成hr输出图像。
80.图2是一些示例实施例提供的使用在dla 106内训练的神经网络模型204生成经过训练的dl模型206的图200。参考图2,源数据202由神经网络模型204(或另一种类型的机器学习算法或技术)分析,以生成经过训练的dl模型206(可以与经过训练的dl模型110相同)。源数据202包括训练数据集,例如102(包括输入数据103和输出数据105),该数据集包括由
一个或多个特征识别的数据。本文所使用的术语“神经网络”和“神经网络模型”可互换。
81.机器学习技术训练模型,以准确预测输入模型的数据(例如,用户在给定的对话语句中说了什么;名词是人、地方还是事物;明天的天气会怎么样)。在学习阶段,根据输入的训练数据集开发模型,以优化模型,从而正确预测给定输入的目标输出。通常,学习阶段可以是有监督的、半监督的或无监督的;指示与训练输入相对应提供“正确”输出的下降水平。在监督学习阶段,所有目标输出都提供给模型,并引导模型开发将输入映射到输出的通用规则或算法。相比之下,在无监督学习阶段,不为输入提供所需输出,以便模型可以开发自身的规则来发现训练数据集内的关系。在半监督学习阶段,提供不完全标记的训练集,训练数据集的一些输出已知,一些输出未知。
82.可以持续几个周期针对一个训练数据集运行模型,其中,将训练数据集重复输入模型中,以细化其结果(即,整个数据集在一个周期内处理)。在迭代期间,针对整个数据集的小批次(或一部分)运行模型(例如,神经网络模型或另一种机器学习模型)。在监督学习阶段,开发模型以预测给定输入集(例如,源数据202)的目标输出,并在几个周期内进行评估,从而更可靠地提供输出,该输出指定为与训练数据集的最大数量输入的给定输入对应。在另一个示例中,对于无监督学习阶段,开发模型以将数据集聚类成n个组,并在几个周期内评估该模型将给定输入放置到给定组的一致性,以及该模型在每个周期产生n个所需集群的可靠性。
83.在运行一个周期后评估模型,并调整这些模型的变量(例如,权重、偏置或其它参数)的值,以尝试通过迭代更好地细化模型。本文所使用的术语“权重”用于指机器学习模型使用的参数。在反向计算期间,模型可以输出梯度,这些梯度可用于更新与正向计算相关联的权重。
84.在各个方面,对假阴性偏置评估,对假阳性偏置评估,或对模型的总体准确度均匀地偏置评估。根据所使用的机器学习技术,可以通过多种方式调整值。例如,在遗传算法或进化算法中,预测所需输出最成功的模型的值用于开发模型在后续周期使用的值,这些值可以包括随机变化/突变,以提供额外的数据点。本领域普通技术人员熟悉可应用于本发明的几种其它机器学习算法,包括线性回归、随机森林、决策树学习、神经网络、深度神经网络等。
85.每个模型通过改变影响输入的一个或多个变量的值,以更接近地映射到所需结果,在几个周期内开发规则或算法,但由于训练数据集可能会变化,并且优选是非常大的,因此可能无法实现完美的准确度和精度。因此,构成学习阶段的多个周期可以被设定为给定数量的试验或固定的时间/计算预算,或者,当给定模型的准确度足够高或足够低或达到准确度稳定阶段时,可以在达到该数字/预算之前终止。例如,如果训练阶段设计为运行n个周期并生成至少95%准确度的模型,并且这种模型是在第n个周期之前生成的,则学习阶段可以提前结束,并使用满足最终目标准确度阈值的生成模型。类似地,如果给定模型的准确度不足以满足随机机率阈值(例如,模型在确定给定输入的真/假输出时仅有55%的准确度),则该模型的学习阶段可能会提前终止,但学习阶段的其它模型可以继续训练。类似地,当给定模型在多个周期内的结果中持续提供相似的准确度或波动时(已经达到性能稳定阶段),则给定模型的学习阶段可能会在达到周期数/计算预算之前终止。
86.学习阶段完成后,模型就会最终确定。在一些示例实施例中,根据测试标准评估最
终确定的模型。在第一示例中,将包括输入的已知输出的测试数据集输入最终确定的模型中,以确定模型在处理尚未训练的数据时的准确度。在第二示例中,假阳性率或假阴性率可用于评估最终确定后的模型。在第三示例中,每个模型中数据集群之间的定界用于选择为其数据集群产生最清晰边界的模型。
87.在一些示例实施例中,dl模型206由神经网络模型204(例如,深度学习网络、深度卷积网络或递归神经网络)训练,神经网络模型204包括布置成网络的一系列“神经元”(例如长短期记忆(long short term memory,lstm)节点)。神经元是用于数据处理和人工智能,特别是机器学习的架构元素,它包括内存,内存可以根据提供给给定神经元的输入的权重确定何时“记住”和何时“忘记”该内存中保存的值。本文使用的每个神经元用于从网络中的其它神经元接收预定义数量的输入,以便为所分析的帧的内容提供关系和子关系输出。各个神经元可以在神经网络的各种配置中链接在一起或组织成树结构,以提供交互和关系学习建模,以确定对话语句中每个帧如何相互关联。
88.例如,作为神经元的lstm包括几个门,用于处理输入向量(例如,来自对话语句的音素)、存储单元和输出向量(例如,上下文表示)。输入门和输出门分别控制流入和流出存储单元的信息,而遗忘门可选地根据神经网络中早期链接单元的输入从存储单元中删除信息。在训练阶段的过程中调整各种门的权重和偏置向量,一旦训练阶段完成,将最终确定这些权重和偏置用于正常操作。本领域技术人员将理解,神经元和神经网络可以以编程方式(例如,通过软件指令)构建或通过连接每个神经元以形成神经网络的专用硬件构建。
89.神经网络使用特征分析数据以生成评估结果(例如,识别语音单位)。特征是所观察现象的单独的可测量属性。特征的概念与如线性回归等统计技术中使用的解释变量的概念有关。此外,深度特征表示深度神经网络的隐藏层中的节点输出。
90.神经网络(例如,神经网络模型204)有时称为人工神经网络(artificial neural network,ann)或神经网络模型,是一种以动物大脑的生物神经网络为基础的计算系统。这些系统逐步提高性能(称为学习),以执行任务,通常无需任务专用的编程。例如,在图像识别中,可以教导神经网络通过分析已标记有对象名称的示例图像来识别包含对象的图像,在学习对象和名称之后,所述神经网络可以使用分析结果来识别未标记图像中的对象。神经网络是基于称为神经元的连接单元的集合,其中,神经元之间的每个连接(称为突触)可以传输单向信号,其激活强度随连接强度而变化。接收神经元可以激活信号并将信号传播到与其连接的下游神经元,这通常基于来自潜在的许多传输神经元的组合输入信号是否具有足够的强度,其中,强度是一个参数。
91.深度神经网络(deep neural network,dnn),也称为卷积神经网络(convolutional neural network,cnn),是一种由多个卷积层组成的堆叠神经网络。这些层由节点构成,这些节点是发生计算的位置,松散布局,形成如人脑中的神经元的图案,神经元在遇到足够的刺激时触发。节点将数据的输入与一组系数或权重组合在一起,这些系数或权重可以放大或抑制该输入,这将为算法正在试图学习的任务的输入分配重要性。对这些输入-权重乘积求和,并将总和通过节点的激活函数,以确定信号是否进一步通过网络以影响最终结果以及信号进一步通过网络以影响最终结果的程度。dnn使用多层非线性处理单元的级联进行特征提取和转换。每个连续层使用上一层的输出作为输入。高级别特征从低级别特征派生,以形成分层表示。输入层之后的层可以是卷积层,这些卷积层产生特征
映射,这些特征映射是输入的过滤结果,并由下一个卷积层使用。
92.在dnn架构的训练中,回归可以包括成本函数的最小化,其中,回归被构造为一组统计过程,用于估计各变量之间的关系。成本函数可以实现为返回表示神经网络在映射训练示例中的表现的数值以校正输出的函数。在训练中,如果成本函数值不在预定范围内,则根据已知的训练图像使用反向传播,其中,反向传播是训练人工神经网络的常用方法,与随机梯度下降(stochastic gradient descent,sgd)方法等优化方法一起使用。
93.反向传播的使用可以包括传播和权重更新。当输入呈现给神经网络时,将该输入逐层向前传播通过神经网络,直到它到达输出层。然后,使用成本函数将神经网络的输出与所需输出进行比较,并为输出层中的每个节点计算误差值。误差值从输出开始反向传播,直到每个节点具有一个相关联的误差值,该误差值大致表示其对原始输出的贡献。反向传播可以使用这些误差值来计算成本函数相对于神经网络中权重的梯度。将计算得到的梯度输入选择的优化方法中以更新权重,从而尝试最小化成本函数。
94.即使训练架构106称为使用神经网络模型的深度学习架构(并且经过训练的模型称为经过训练的深度学习模型,例如经过训练的dl模型110和206),但本发明在这方面不受限制,并且其它类型的机器学习训练架构也可以使用本文公开的技术用于模型训练。
95.图3示出了一些示例实施例提供的各种sae自主级别和使用本文公开的技术使较低sae自主级车辆能够使用计算设备执行较高sae自主级功能的图300。参考图3,图300示出了分别与sae自主级别0、1、2
……
5相关联的车辆302、304、306
……
308。车辆304执行1级功能,例如提供车道偏离警示310。车辆306执行2级功能,例如车道居中316。车辆308执行5级功能,例如自动驾驶322。
96.如图3所示,车道偏离警示310可以基于道路参数信息,例如由高精度lkas相机312检测到的车道线信息314。车道居中316和自动驾驶322功能使用高精度定位320,该高精度定位320是使用更高级车辆上存在的高精度gps 318和高精度雷达或lidar(例如lidar 324)执行的。
97.在一些方面中,计算设备330(例如智能手机或其它消费者设备)可以在0级车辆302内使用,以执行本文所述的技术326(例如,用于确定道路参数估计数据)和技术328(例如,用于确定车道级车辆定位)。在这方面,通过使用计算设备330执行技术326和328,0级车辆302可以升级到更高级车辆332,而不需要昂贵的高精度设备,例如lkas相机312、高精度gps 318和lidar 324。
98.图4示出了可以结合一些示例实施例使用的各种车道参数信息。参考图4,图400示出了位于包括车道402和404的道路上的车辆406。在一些方面,安装在车辆406内的前置相机(例如,lkas相机或智能手机等计算设备的相机)可以用于拍摄道路的多个图像并提取车道参数信息,所述车道参数信息包括以下各项中的一个或多个:车道标记航向角度(c1)、车道标记偏移(c0)、车道标记曲率(c2)、车道标记曲率导数(c3)和车道标记类型。在图4中,c2和c3为零,因为道路是笔直的,没有曲率。
99.在一些方面,安装在车辆406内的前置相机可以使用本文公开的技术来提取车道参数信息。更具体而言,相机可以检测车道标记(或车道线),每个车道标记可以用描述函数x(z)的3次多项式模型进行建模,其中,z是距离相机的物理纵向距离,x是距离相机的物理横向偏移。以下公式可以用于推导距离相机的物理横向偏移x:x=c3·
z3 c2·
z2 c1·
z c0,
其中,c0是z=0时的车道标记偏移408(例如,当车辆在车道1 402或车道2 404中时,在z=0时从车辆406的中心到左车道线或右车道线的距离,单位为米),c1是z=0时的车道标记航向角度(例如,道路412的方向与车辆410的方向之间的角度),c2是z=0时的车道标记曲率,c3是z=0时的车道标记曲率导数。对于直线车道,车道标记曲率c2≈0且车道标记曲率导数c3≈0。
100.图5示出了可以结合一些示例实施例使用的车道上下文信息。参考图5,图500示出了车辆506在具有两条车道(车道1 502和车道2 504)的道路上移动。在一些方面,根据本文公开的技术确定的车道上下文信息可以包括以下各项中的一个或多个:相对道路距离(δs)512,表示移动车辆506在由车载相机拍摄的两个连续图像帧之间行驶的距离(例如,车辆位置508和510之间行驶的距离);移动车辆正在行驶的道路车道的车道编号指示(例如,egolaneno信息指示车道1 502为车辆506正在行驶的车道);以及与移动车辆正在行驶的道路相关联的车道数量(例如,对于图5中所示的示例,nooflanes为2)。
101.图6示出了一些示例实施例提供的用于估计车道参数信息和车道上下文信息的lkas模块600。模块可以包括设计成执行一个或多个功能的硬件和/或软件。参考图6,lkas模块600可以包括dnn 604,可以使用多个视频帧602对dnn 604进行训练以生成道路参数估计数据610,所述多个视频帧602可以由车载相机(例如,在车辆的用户的计算设备上的相机)拍摄。在一些方面,dnn 604可以使用神经网络模型(例如图2的模型204),该神经网络模型已经使用输入数据103和输出数据105进行训练,从而可以根据驾驶员角度的图像数据(例如,从安装在移动车辆内的前置相机拍摄的视频帧)估计道路参数。在训练期间,使用数据库,该数据库包括输入数据103(例如,在驾驶时从驾驶员角度记录的道路的图像序列及其对应的消费者级gps、工业级gps和路线的车道线图)以及输出数据105(例如,可以从车道线图和工业级gps提供的高精度地理位置获得的道路参数的地面真值)。训练数据集(例如,数据103和105)还包括在一天中不同天气和时间拍摄的具有各种道路几何形状以及驾驶员角度的不同视点的训练图像。
102.在一些方面,dnn 604还称为道路参数估计器网络(road parameters estimator network,rpen),并包括道路参数估计器子网(road parameters estimator sub-network,rpesn)702和至少一个lstm节点806,如结合图7和图8所示。经过训练的dnn 604能够泛化,因此学习观察车道线,并提取从未见过的道路的车道信息。
103.在操作中,lkas模块600接收视频帧602(例如,通过0级车辆驾驶员的计算设备相机),视频帧602作为输入被传送到dnn 604。dnn 604使用rpesn 702和lstm 806生成道路参数估计数据610,该道路参数估计数据610可以包括车道参数信息608和车道上下文信息606。车道上下文信息606可以包括相对道路距离(或里程计信息,例如图5中的相对道路距离512)、egolaneno信息和nooflanes信息,如结合图5所述。车道参数信息608可以包括车道标记航向角度信息、车道标记偏移信息、车道标记曲率信息、车道标记曲率导数信息和车道标记类型,如结合图4所述。在这方面,经过训练的dnn 604使用从0级车辆用户的计算设备接收的图像作为输入,以产生车道上下文信息和车道参数信息作为输出。道路参数估计数据610可以用于生成包括ldw或rdw的lkas警示。除了为lkas功能提供传感器功能外,消费者设备还可以通过其显示器向用户传达警示,实际上在无需外部组件帮助的情况下提供了端到端方案。
104.图7示出了一些示例实施例提供的用于图6的lkas模块的道路参数估计器子网(road parameters estimator sub-network,rpesn)。参考图7,rpesn 702包括经过预训练的cnn706、池化层708、第一全连接(fully connected,fc)层710、空间lstm 712和第二fc层714。
105.rpesn 702的输入是由消费者设备(例如,计算设备,例如0级车辆驾驶员的智能手机)的相机捕获的多个视频帧704,所述多个视频帧704首先被馈送到经过预训练的cnn 706。经过预训练的cnn 706用作分类网络,而不是从零开始训练深度神经网络,原因有如下两个:(a)训练卷积网络依赖于非常大的标记图像数据集,这增加了实现成本和处理时间;(b)与分类问题不同,每个输出标签由至少一个训练样本覆盖,回归中的输出空间理论上是连续的和无限的。因此,可以省略从零开始训练卷积神经网络,而是可以使用已经基于大型图像数据集训练的经过预训练的分类网络。在经过预训练的cnn 706的卷积层之后,平均池化层708收集整个图像的每个特征通道的信息。在池化层708之后,第一fc层710学习提取特征之间的相关性。第一fc层710的输出可以视为一个序列,该序列被馈送到空间lstm 712,该空间lstm 712的内存块执行降维。空间lstm 712用于根据从第一fc层710输出的序列评估特征的空间关系。在这方面,空间lstm 712存储单元识别道路参数估计任务中最有用的特征相关性。然后,空间lstm 712的输出被传递到第二fc层714,第二fc层714生成包括车道上下文信息的道路参数估计数据716。
106.图8示出了一些示例实施例提供的用于图6的lkas模块的道路参数估计器网络(road parameters estimator network,rpen)800。参考图8,rpen 800接收由rpesn 804处理的多个图像和802作为输入。在一些方面,由rpesn 804生成的道路参数估计数据进一步由时间lstm 806处理,以生成经修改的(或最终)道路参数估计数据808。
107.对于时刻i,rpen 800使用rpesn 804(与rpesn 702相同)处理大小为k帧的固定长度视觉输入,该rpesn 804的输出被馈送到循环序列模型(时间lstm 806)的堆栈中。时间lstm 806生成包括车道上下文信息(例如相对道路距离信息)和陆地参数信息的最终道路参数估计数据808。在一些方面,车道上下文信息中的相对道路信息也称为rpen里程计信息。
108.传统的前馈神经网络没有时间顺序的概念,它考虑的唯一输入是它所接触到的当前示例。与传统的前馈神经网络不同,时间lstm 806可以使用其内部状态(内存)来识别时间序列数据(例如,序列图像帧802)中的模式,并生成经修改的(或最终)道路参数估计数据808。如图8所示,时间lstm 806形成具有环路的网络,其中,来自前一时间的输出作为输入馈送到当前时间,从而允许过去的信息持续存在。时间lstm 806用于对道路参数估计数据的时间动力学和依赖性进行建模。例如,时间约束将道路参数的当前状态绑定到其先前状态,并且车道标记偏移信息(c0)的显著变化(例如,高于预定阈值)可以触发egolaneno信息的变化。nooflanes信息的变化通常伴随车道线类型的变化(例如,虚线变实线或道路合并标志前方)。
109.图9a-图9d示出了一些示例实施例提供的用于确定作为车道上下文信息的一部分的rpen里程计的多个图像帧。参考图9a-图9d,示出了由rpen 800接收进行处理的序列图像帧900a、900b、900c和900d。更具体而言,对rpesn 702内的经过预训练的cnn 706进行训练以对车道线(例如,车道线906)的形状和轮廓,以及车道线的视图如何随着与这些车道线的
consensus,ransac)循环内的n个2d-3d匹配计算相机位姿,以处理离群值。构建3d模型的经典方法是使用运动中的结构。这些点基本上是通过对局部特征匹配基本上进行三角测量来重建的,从而创建从特征描述符到3d点的多对一映射。这种方法面临的挑战之一是场景大小的缩放低效。匹配的计算复杂度随着场景大小的增加而提高。此外,随着找到多个具有相似局部外观的3d点的概率增加,2d-3d匹配的独特性降低。另一个挑战是,这种方法需要良好的初始位姿估计,当场景具有不一致的照度、运动模糊、无纹理表面以及图像之间缺乏重叠时,处理可能会很有挑战性。这在车辆定位应用中可能会引起关注,特别是当车辆在高速公路上快速行驶(通常是一个无功能区域)时。
116.基于机器学习的定位(特别是深度学习)最近在使用单目图像进行基于视觉的定位方面表现出了巨大前景。一些定位技术(例如,posenet)使用深度cnn直接基于rgb图像回归相机的连续位姿。但是,posenet的准确度与实际应用中的要求相去甚远,在同一模型中的位置和方向之间学习也存在困难。对posenet的一些改进包括一种名为posenet17的方法。这种深度学习方法尝试基于场景几何形状学习和推断权重。在其它方法中,例如mapnet,除了用于相机定位的图像外,还融合视觉里程计和gps等传感输入。其它方法引入cnn和lstm架构,直接回归地理位置(例如,通过地理空间深度nn),使用单目相机图像和手机中的粗gps以接近车道级准确度预测地理位置。与传统方法相比,机器学习方法有以下几个优势,使其适合实时应用,例如车辆重定位:(a)深度学习方法不需要初始位姿估计;(b)机器学习方法对环境挑战鲁棒性较高,例如照明、天气、动态对象和无纹理场景(这是因为它可以学习比从点特征中获得的更丰富的特征);(c)深度学习方法具有更快的推理能力;和(d)定位的机器学习方法可以高效地缩放场景大小,因为它能够使用深度学习模型学习地图的紧凑表示。但是,机器学习方法的准确度并不像传统的基于特征的方法那样最佳,特别是对于室内环境。基于视觉的重定位依赖于地标识别。因此,它在城市地区表现良好,但在郊区或农村地区表现较差。不幸的是,即使在城市地区,也没有已知的定位技术可以提供车道级定位。
117.人们高度需要车辆定位的车道级准确度,因为它可以开放许多应用,消费者设备可以依赖这些应用在无需外部组件帮助的情况下提供端到端方案。例如,通过车道级位姿感知和定位,可以实现以下目标:(a)如果消费者设备中的汽车导航系统了解汽车当前所行驶的车道,则由其做出的估计的“到达时间(time of arrival,toa)”预测可以更准确;和(b)如果汽车目前行驶的车道很快将因事故或施工区而并道或拥堵,则可以事先提供警示。
118.图12示出了一些示例实施例提供的用于高精度定位的定位模块1200的框图。参考图12,定位模块1200包括rpen 1202(可以与图8的rpen 800相同)、神经网络1204和传感器融合模块1206。
119.传感器融合模块1206可以接收以下各项作为输入:来自rpen 1202的rpen里程计信息1216和道路参数估计数据、来自神经网络1204的经纬度信息1220、来自粗gps 1212的经纬度信息1222、附加信息1224,例如车辆在来自视觉里程计或imu输入1208(可从计算设备imu传感器提取)的相邻位姿之间行驶的距离,以及车道线图信息1214。
120.神经网络1204可以是现成的重定位算法,例如公开可用的地理空间nn,该地理空间nn与rpen 1202一起部署,以提供可能的车辆位置的空间约束。地理空间nn 1204使用来自驾驶员角度的道路的图像序列和来自计算设备(例如,驾驶员的消费者设备,例如智能手
机)的粗gps 1212的位置数据1222预测车道级准确度的地理位置1220(纬度和经度)。
121.rpen 1202可以使用从计算设备获得的驾驶员角度的道路的图像序列预测道路参数(例如,如结合图3-图9d所述)。rpen 1202、地理空间nn 1204的输出以及车道线图信息1214和粗gps位置数据1222作为输入传送到传感器融合模块1206内的贝叶斯滤波算法,该贝叶斯滤波算法预测准确的(例如,基于车道的)地理位置作为输出1226。传感器融合模块1206使用的基于贝叶斯滤波的传感器融合算法的传感器输入包括:由rpen输出1216和1218施加的空间约束以及车道线图信息1214、来自粗gps 1212和现成的重定位算法(例如地理空间nn 1204)的绝对位置信息,以及来自imu、视觉里程计和来自rpen的里程计输出的相邻位姿之间的约束。
122.在一些方面,传感器融合模块1206使用的基于贝叶斯滤波的车辆位姿估计算法包括以下处理功能:(a)根据先前对车辆位置(时间t)的了解和运动学方程,预测车辆在时间t 1后的地理位置;(b)给定传感器的观测结果,贝叶斯滤波器将这些观测结果与预测进行比较;和(c)根据作为输入传送到传感器融合模块1206的预测和传感器读数更新关于车辆地理位置的知识。
123.图13示出了一些示例实施例提供的使用图12的定位模块进行具有车道准确度的高精度定位的示例1300。
124.给定车道线图信息,rpen 1202的道路参数估计数据(例如,1216和1218)与道路的纵向相比具有更高的横向准确度。因此,如图13所示,rpen 1202输出在车辆位置的概率分布中提供横向约束。然后,车道线图可用于将此横向约束转换为地理坐标空间(纬度、经度)。
125.如图13所示,根据来自粗gps 1212的输出实现粗gps准确度位置1302。地理空间nn 1204能够仅使用来自驾驶员角度的图像和粗gps数据几乎到达车道级准确度位置1304。rpen里程计1216(例如,相对道路距离信息)以及如视觉里程计和imu等输入在相邻位姿之间产生约束,而现成的重定位算法、粗gps输出以及rpen道路参数1218对车辆的位置施加空间限制,从而产生rpen定位准确度位置1306。传感器融合模块1206使用的贝叶斯滤波算法(例如粒子滤波器(particle filter,pf)或扩展卡尔曼滤波器(extended kalman filter,ekf))利用这些约束,通过融合粗gps准确度位置1302、地理空间nn准确度位置1304和rpen准确度位置1306来准确定位车辆并实现车道级准确度位置1308。在一些方面,在没有视觉里程计和imu输入1224的情况下,有可能实现车辆的准确车道级定位。
126.图14示出了一些示例实施例提供的可以使用图12的定位模块的郊区环境1402的示例和示例城市环境1404。
127.现成的基于视觉的重定位算法(例如地理空间nn 1204)依赖于地标识别。在这方面,地理空间nn 1204在城市地区(例如1404)表现良好,但在郊区或农村地区(例如1402)表现较差。城市地区可能是gps的问题地区,但gps在农村或郊区表现十分良好。rpen依赖于道路及其车道标记,而这些通常被基于视觉的重定位所忽略。因此,基于视觉的重定位、gps和rpen相互补充,并可由定位模块1200用来提供准确的基于车道的定位。
128.图15是一些示例实施例提供的用于执行与移动车辆相关联的自主级功能的方法1500的流程图。方法1500包括操作1502、1504、1506、1508和1510。作为示例而非限制,方法1500可以由lkas模块1760执行,lkas模块1760用于在图17所示的设备1700等移动设备内执
行。
129.参考图15,在操作1502中,使用卷积神经网络的卷积层,从移动车辆内的相机获得的多个图像帧中提取多个特征。例如,经过预训练的cnn(例如,经过预训练的cnn 706,其是cnn 604的一部分)从由车载相机获得的图像(例如,图像704)中提取多个特征。在操作1504中,使用深度神经网络的第一fc层生成多个特征之间的相关性序列。例如,第一fc层在经过预训练的cnn提取的多个特征之间生成相关性序列。
130.在操作1506中,使用空间长短期记忆(long-short-term memory,lstm)模型对相关性序列进行降维,以生成经修改的相关性序列。例如,道路参数估计器子网(road parameter estimator sub-network,rpesn)(例如,rpesn 702)内的空间lstm(例如,lstm 712)执行相关性序列的降维。在操作1508中,使用深度神经网络的第二fc层,根据经修改的相关性序列生成与移动车辆相关联的道路参数估计数据。例如,第二fc层714生成与移动车辆相关联的道路参数估计数据716。在操作1510中,根据道路参数估计数据,提供车道保持辅助系统(lane keep assist system,lkas)警示。例如,ldw或rdw通知可以由用于生成道路参数估计数据716的计算设备提供。
131.本文公开的方面使用消费者设备(例如1700)来提供提高车辆的sae自主级别所需的传感功能。本文描述的rpen估计新参数,例如egolaneno、nooflanes和relativeroaddistance。
132.此外,本文描述的rpen通过观察车道线外观随距离车道线的距离的变化,提供了相邻位姿之间的约束。基于贝叶斯滤波的位姿估计算法可以利用这一约束,提高地理位置准确度并提供基于车道的车辆定位。本文公开的技术用于通过如下方式提高现有车辆定位系统的地理位置准确度:在给定道路的车道线图下,根据如egolaneno(自我意识车辆位于哪个车道编号上)等车道上下文信息以及视觉传感器提供的车道参数的实时提取对车辆可能位置施加空间约束。
133.图16是一些示例实施例提供的代表性软件架构1600的框图,该软件架构1600可与本文描述的各种设备硬件结合使用。图16仅仅是软件架构1602的非限制性示例,应理解,可以实现许多其它架构来促进实现本文所描述的功能。软件架构1602可以在如图17的设备1700等硬件中执行,该硬件包括处理器1705、内存1710、存储器1715和1720以及i/o接口1725和1730等。
134.示出了代表性硬件层1604,该硬件层1604可以表示图17的设备1700等。代表性硬件层1604包括具有相关联的可执行指令1608的一个或多个处理单元1606。可执行指令1608表示软件架构1602的可执行指令,包括实现图1-图15的方法、模块等。硬件层1604还包括内存或存储模块1610,所述内存或存储模块1610也具有可执行指令1608。硬件层1604还可以包括其它硬件1612,所述其它硬件1612表示硬件层1604的任何其它硬件,如图示为设备1700的一部分的其它硬件。
135.在图16的示例架构中,软件架构1602可以概念化为各层的堆栈,其中,每个层具有特定功能。例如,软件架构1602可以包括操作系统1614、库1616、框架/中间件1618、应用1620和表示层1644等层。在操作上,应用1620或各层内的其它组件可以通过软件堆栈调用应用编程接口(application programming interface,api)调用1624,并响应api调用1624接收以消息1626示出的响应、返回值等。图16所示的各层实际是代表性的,并非所有软件架
构1602都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件1618,而其它操作系统可能提供这种层。其它软件架构可以包括其它层或不同的层。
136.操作系统1614可以管理硬件资源并提供公共服务。操作系统1614可以包括内核1628、服务1630和驱动器1632等。内核1628可以作为硬件与其它软件层之间的抽象层。例如,内核1628可以负责内存管理、处理器管理(例如,调度)、组件管理、组网、安全设置等。服务1630可以为其它软件层提供其它公共服务。驱动器1632可以负责控制底层硬件或与底层硬件连接。例如,根据硬件配置,驱动器1632可以包括显示器驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(universal serial bus,usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
137.库1616可提供可供应用1620或其它组件或层使用的公共基础设施。库1616的功能通常是使其它软件模块可以通过比与底层操作系统1614功能(例如,内核1628、服务1630或驱动器1632)直接连接更容易的方式执行任务。库1616可以包括系统库1634(例如,c标准库),所述系统库1634可以提供如内存分配功能、字符串操作功能、数学功能等功能。此外,库1616可以包括api库1636,例如媒体库(例如,支持各种媒体格式(如mpeg4、h.264、mp3、aac、amr、jpg、png)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可以提供各种关系数据库功能的sqlite)、网页库(例如,可以提供网页浏览功能的webkit)等。库1616还可以包括多种其它库1638,以向应用1620和其它软件组件/模块提供许多其它api。
138.框架/中间件1618(有时也称为中间件)可以提供可供应用1620或其它软件组件/模块使用的高级公共基础设施。例如,框架/中间件1618可提供各种图形用户界面(graphical user interface,gui)功能、高级资源管理、高级位置服务等。框架/中间件1618可以提供可供应用1620或其它软件组件/模块使用的广泛的其它api,其中一些api可以是特定操作系统1614或平台专用的。
139.应用1620包括内置应用1640、第三方应用1642、lkas模块1660和定位模块1662。在一些方面,lkas模块1660可以包括合适的电路、逻辑、接口或代码,并用于执行与图6的lkas模块600相关联并结合图1-图15所述的一个或多个功能。定位模块1662可以包括合适的电路、逻辑、接口或代码,并用于执行与图12的定位模块1200相关联并结合图10-图14所述的车辆定位功能中的一个或多个。
140.代表性内置应用1640的示例可以包括但不限于联系人应用、浏览器应用、阅读器应用、定位应用、媒体应用、消息应用或游戏应用。第三方应用1642可以包括任何内置应用1640以及广泛种类的其它应用。在具体示例中,第三方应用1642(例如,由除特定平台的供应商以外的实体使用android
tm
或ios
tm
软件开发工具包(software development kit,sdk)开发的应用)可以是在如ios
tm
、android
tm
、phone或其它移动操作系统等移动操作系统上运行的移动软件。在该示例中,第三方应用1642可以调用由移动操作系统(例如操作系统1614)提供的api调用1624,以便促进实现本文描述的功能。
141.应用1620可以利用内置操作系统功能(例如,内核1628、服务1630和驱动器1632)、库(例如,系统库1634、api库1636和其它库1638)以及框架/中间件1618创建用户界面,从而与系统用户交互。或者或另外,在一些系统中,可以通过表示层(例如表示层1644)与用户进行交互。在这些系统中,应用/模块“逻辑”可以和与用户交互的应用/模块的各方面分开。
142.某些软件架构使用虚拟机。在图16的示例中,虚拟机由虚拟机1648示出。虚拟机创建软件环境,在软件环境中,应用/模块可以如同在硬件机器(例如,图17的设备1700)中执行一样执行。虚拟机1648由主机操作系统(例如,操作系统1614)托管,并且通常(尽管并不总是)具有虚拟机监控器1646。该虚拟机监控器1646用于管理虚拟机1648的操作以及与主机操作系统(即操作系统1614)的连接。软件架构1602在如操作系统1650、库1652、框架/中间件1654、应用1656或表示层1658等虚拟机1648内执行。在虚拟机1648内执行的这些软件架构层可以与前述对应层相同,也可以不同。
143.图17是一些示例实施例提供的实现算法和执行方法的设备的电路的框图。不需要在各个实施例中使用所有组件。例如,客户端、服务器和基于云的网络设备可以各自使用不同的组件集,或者,例如在服务器的情况下,使用较大存储设备。
144.一个计算机1700(也称为计算设备1700、计算机系统1700或计算机1700)形式的示例计算设备可以包括处理器1705、内存1710、可移动存储器1715、不可移动存储器1720、输入接口1725、输出接口1730和通信接口1735,它们均通过总线1740连接。尽管示例计算设备被示出和描述为计算机1700,但所述计算设备在不同的实施例中可以呈不同形式。
145.内存1710可以包括易失性内存1745和非易失性内存1750,并且可以存储程序1755。计算设备1700可以包括或可以访问计算环境,所述计算环境包括各种计算机可读介质,例如易失性内存1745、非易失性内存1750、可移动存储器1715和不可移动存储器1720。计算机存储器包括随机存取内存(random-access memory,ram)、只读内存(read-only memory,rom)、可擦除可编程只读内存(erasable programmable read-only memory,eprom)和电可擦除可编程只读内存(electrically erasable programmable read-only memory,eeprom)、闪存或其它内存技术、只读光盘内存(compact disc read-only memory,cd rom)、数字通用磁盘(digital versatile disk,dvd)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁性存储设备,或任何其它能够存储计算机可读指令的介质。
146.存储在计算机可读介质中的计算机可读指令(例如,存储在内存1710中的程序1755)可由计算设备1700的处理器1705执行。硬盘驱动、cd-rom和ram是包括存储设备等非瞬时性计算机可读介质的制品的一些示例。术语“计算机可读介质”和“存储设备”不包括被认为过于瞬时的载波。“计算机可读非瞬时性介质”包括所有类型的计算机可读介质,包括磁性存储介质、光存储介质、闪存介质和固态存储介质。应当理解,软件可以安装在计算机中并随计算机一起出售。或者,可以获取软件并将其装载到计算机中,包括通过物理介质或分配系统获取软件,包括(例如)从软件创作者拥有的服务器或从软件创作者未拥有但使用的服务器获取软件。例如,可以将软件存储在服务器中,以便通过互联网分布。本文所使用的术语“计算机可读介质”和“机器可读介质”可以互换。
147.程序1755可以使用使用本文所述的模块的客户偏好结构,例如lkas模块1760和定位模块1765,它们可以分别与图16的lkas模块1660和定位模块1662相同。
148.本文所述的任何一个或多个模块可以使用硬件(例如,机器的处理器、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或其任何合适的组合)实现。此外,这些模块中的任何两个或更多个可以组合成单个模块,并且本文所述的单个模块的功能可以在多个模块之间细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备内实现的模块可以
分布到多个机器、数据库或设备中。
149.在一些方面,作为程序1755一部分的lkas模块1760、定位模块1765以及一个或多个其它模块可以集成为单个模块,执行集成模块的对应功能。
150.虽然上文详细描述了几个实施例,但也可以进行其它修改。例如,在图中描述的逻辑流程不需要所示的特定顺序或连续顺序来达到期望的结果。可以向所描述的流程提供其它步骤或从所描述的流程中删除步骤,并可以向所描述的系统添加其它组件或从所描述的系统中移除组件。其它实施例可以在所附权利要求书的范围内。
151.在一个示例实施例中,计算机1700包括:提取模块,用于从移动车辆内的相机获得的多个图像帧中提取多个特征;序列模块,用于生成多个特征之间的相关性序列;减少模块,用于执行相关性序列的降维以生成经修改的相关性序列;道路参数模块,用于根据经修改的相关性序列生成与移动车辆相关联的道路参数估计数据;以及警示模块,用于根据道路参数估计数据提供车道保持辅助系统(lane keep assist system,lkas)警示。在一些实施例中,计算机1700可以包括其它模块或附加模块,以用于执行实施例中所描述的步骤中的任一步骤或步骤的组合。此外,如任何附图中所示或任何权利要求中所述的方法的任何额外或替代实施例或方面也预期可以包括类似的模块。
152.在示例实施例中,提供计算机系统1700以执行与移动车辆相关联的自主级功能。计算机系统1700包括存储指令的存储器1710,以及与存储器1710通信的一个或多个处理器1705。一个或多个处理器1705执行指令,以使用卷积神经网络的卷积层从移动车辆内的相机获得的多个图像帧中提取多个特征;使用卷积神经网络的第一全连接(fully connected,fc)层生成多个特征之间的相关性序列;使用空间长短期记忆(long-short-term memory,lstm)执行相关性序列的降维,以生成经修改的相关性序列;使用卷积神经网络的第二fc层,根据经修改的相关性序列生成与移动车辆相关联的道路参数估计数据;并根据道路参数估计数据,提供车道保持辅助系统(lane keep assist system,lkas)警示。
153.还应理解,可以在符合本发明的一个或多个计算设备中安装并与符合本发明的一个或多个计算设备一起销售包括一个或多个计算机可执行指令的软件,所述一个或多个计算机可执行指令有利于上文结合本发明的任何一个步骤或所有步骤所描述的处理和操作。或者,可以获取软件并将其装载到一个或多个计算设备中,包括通过物理介质或分布系统获取软件,包括例如从软件创作者拥有的服务器或从软件创作者未拥有但使用的服务器获取软件。例如,可以将软件存储在服务器中,以便通过互联网分布。
154.此外,本领域技术人员应理解,本发明在其应用中不限于在说明书中阐述或附图中说明的组件的构造和布置细节。本文的实施例能够适用其它实施例,并且能够以各种方式实践或执行。此外,应理解,本文使用的措辞和术语是为了描述目的,不应视为限制性的。在本文中使用“包括”、“包含”或“具有”及其变体旨在涵盖其后列举的项目及其等效物以及其它项目。除非另有限制,否则术语“连接”、“耦合”和“安装”以及其变体在本文中被广泛使用,并且涵盖直接连接和间接连接、耦合和安装。另外,术语“连接”和“耦合”及其变体不限于物理或机械连接或耦合。此外,如“上”、“下”、“底部”和“顶部”等术语是相对的,用于帮助说明,但并不具有限制性。
155.可以至少部分地在数字电子电路、模拟电子电路中,或计算机硬件、固件、软件或其组合中实现根据所说明的实施例使用的说明性设备、系统和方法的组件。例如,这些组件
可以实现为有形地体现于信息载体中,或机器可读存储设备中的计算机程序产品(例如,计算机程序、程序代码或计算机指令),以由数据处理装置(例如,可编程处理器、计算机或多台计算机)执行,或用于控制数据处理装置的操作。
156.计算机程序可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以部署成任何形式,包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其它单元。可以将计算机程序部署成在一台计算机中或多台计算机中在一个站点处执行,也可以分布在多个站点处并通过通信网络互连。此外,用于实现本文描述的技术的功能程序、代码和代码段很容易被本文描述的技术所属领域的程序员理解为在权利要求书的范围内。与说明性实施例相关联的方法步骤可以由一个或多个可编程处理器执行,从而执行计算机程序、代码或指令来执行功能(例如,对输入数据进行操作或生成输出)。例如,方法步骤也可以由专用逻辑电路(例如,现场可编程门阵列(field programmable gate array,fpga)或专用集成电路(application-specific integrated circuit,asic))执行,并且用于执行所述方法的装置可以实施为该专用逻辑电路。
157.结合本文所公开实施例描述的各种说明性逻辑块、模块和电路可以使用通用处理器、数字信号处理器(digital signal processor,dsp)、asic、fpga或其它可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件或它们为执行本文描述的功能而设计的任何组合来实现或执行。通用处理器可以为微处理器,可选地,该处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以实现为计算设备的组合,例如dsp和微处理器、多个微处理器、一个或多个微处理器结合dsp核,或任何其它类似的配置的组合。
158.例如,适合执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器从只读内存或随机存取内存或两者中接收指令和数据。计算机的必需元件是用于执行指令的处理器和用于存储指令和数据的一个或多个内存设备。通常,计算机还包括一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),或与一个或多个用于存储数据的大容量存储设备可操作地耦合以从所述大容量存储设备接收数据和/或将数据传送给所述大容量存储设备。适于体现计算机程序指令和数据的信息载体包括各种形式的非易失性内存,例如,包括半导体内存设备,例如电可编程只读内存或电可编程rom(electrically programmable read-only memory,eprom)、电可擦除可编程rom(electrically erasable programmable rom,eeprom)、闪存设备或数据存储盘(例如,磁盘、内置硬盘、可移动磁盘、磁光盘、或cd-rom/dvd-rom盘)。处理器和内存可以由专用逻辑电路补充或并入专用逻辑电路。
159.本领域技术人员应当理解,可以使用多种不同的技术和技术方法中的任何一种来表示信息和信号。例如,上文描述中可以引用的数据、指令、命令、信息、信号、比特、符号和芯片可以由电压、电流、电磁波、磁场或磁粒、光场或光粒、或者任何组合表示。
160.本文所使用的“机器可读介质”(或“计算机可读介质”)包括能够暂时或永久存储指令和数据的设备,可以包括但不限于随机存取内存(random-access memory,ram)、只读内存(read-only memory,rom)、缓冲内存、闪存、光学介质、磁性介质、高速缓存内存、其它类型的存储器(例如,可擦除可编程只读内存(erasable programmable read-only memory,eeprom))或其任何合适的组合。术语“机器可读介质”应理解为包括能够存储处理器指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务
器)。术语“机器可读介质”还应理解为包括能够存储由一个或多个处理器执行的指令的任何介质或多种介质的组合,一个或多个处理器执行所述指令时,一个或多个处理器执行本文描述的任何一种或多种方法。相应地,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。本文使用的术语“机器可读介质”不包括信号本身。
161.此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或集成。示出或描述为彼此耦合、或直接耦合、或彼此通信的其它项目可通过某种接口、设备或中间组件以电方式、机械方式或其它方式间接耦合或通信。变化、替换和变更的其它实例可由本领域技术人员确定,并可在不偏离本文公开的范围的情况下举例。
162.尽管已经参考本发明的特定特征和实施例描述了本发明,但是明显在不脱离本发明的情况下可以制定本发明的各种修改和组合。例如,可以将其它组件添加到所描述的系统中或从所描述的系统中移除其它组件。因此,说明书和附图仅被视为所附权利要求书所定义的本发明的说明并且考虑落于本发明范围内的任何和所有修改、变体、组合或等效物。其它方面可以在所附权利要求书的范围内。最后,除非另有特别说明,否则本文所使用的连词“或”是指非排他性的“或”。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献