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

推理车道的方法、训练车道推理模型的方法及装置与流程

2022-02-21 03:40:32 来源:中国专利 TAG:


1.本技术涉及自动驾驶领域,并且更具体地,涉及一种推理车道的方法、训练车道推理模型的方法及装置。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。
3.自动驾驶是人工智能领域的一种主流应用,自动驾驶技术依靠计算机视觉、雷达、监控装置和全球定位系统等协同合作,让机动车辆可以在不需要人类主动操作下,实现自动驾驶。自动驾驶的车辆使用各种计算系统来帮助将乘客或货物从一个位置运输到另一位置。一些自动驾驶车辆可能要求来自操作者(诸如,领航员、驾驶员、或者乘客)的一些初始输入或者连续输入。自动驾驶车辆允许操作者从手动模操作式切换到自动驾驶模式或者介于两者之间的模式。由于自动驾驶技术无需人类来驾驶机动车辆,所以理论上能够有效避免人类的驾驶失误,减少交通事故的发生,且能够提高公路的运输效率。因此,自动驾驶技术越来越受到重视。
4.车辆能否获得在自动驾驶时可用的准确可选的车道,是影响自动驾驶安全性的关键因素。例如,可以在离线环境采集训练数据训练神经网络模型,并使用训练好的神经网络模型进行车道推理。但是,目前训练好的神经网络模型往往较为复杂。


技术实现要素:

5.本技术提供一种推理车道的方法、训练车道推理模型的方法及装置,有助于降低用于车道推理的神经网络模型的复杂度。
6.第一方面,提供了一种推理车道的方法,该方法包括:
7.获取车辆的多种不同类型的传感器的检测结果;对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据;使用预设的神经网络模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道。
8.在现有技术中,当神经网络模型需要实现的功能较多时,例如,对光线条件、路面类型等泛化能力,以及路面认知、路面与驾驶意图的匹配、对动态障碍物及静态障碍物的处理都依靠同一个神经网络模型进行处理,可能会导致神经网络模型过于复杂。
9.对于这种复杂度较高的神经网络模型,其模型的设计要求也非常高,目前很难设计出一个达到实用性水平的能够处理复杂任务的神经网络模型(例如,能够处理复杂自动
驾驶任务的神经网络模型)。
10.在本技术实施例中,所述交通元素数据为同一个坐标系下的数据,可以避免因需要处理多种不同类型的数据而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
11.需要说明的是,上述获取多种不同类型的传感器检测到的交通元素数据可以包括:直接获取传感器检测到的原始数据,也就是说,此时,所述检测到的原始数据就是所述交通元素数据。
12.或者,上述获取多种不同类型的传感器检测到的交通元素数据也可以包括:获取传感器检测到的检测结果(例如,传感器获取到的原始数据或原始图像等)后,对所述检测到的检测结果进行处理后得到处理结果,此时,所述处理后得到的处理结果就是所述交通元素数据。
13.结合第一方面,在第一方面的某些实现方式中,所述获取车辆的多种不同类型的传感器检测到的交通元素数据,包括:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
14.在本技术实施例中,获取所述多种不同类型的传感器的检测结果,并对所述检测结果进行处理,得到同一个坐标系下的所述交通元素数据,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
15.结合第一方面,在第一方面的某些实现方式中,所述对所述检测结果进行处理得到所述交通元素数据,包括:对所述检测结果进行坐标系转换,得到所述交通元素数据。
16.在本技术实施例中,对所述检测结果进行坐标系转换,可以将所述检测结果转换到同一个坐标系下,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
17.结合第一方面,在第一方面的某些实现方式中,所述多种不同类型的传感器包括摄像头、激光雷达或毫米波雷达。
18.结合第一方面,在第一方面的某些实现方式中,所述交通元素数据为交通元素的轮廓、位置和/或运动轨迹,所述交通元素包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
19.结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述使用预设的神经网络模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道,包括:使用预设的神经网络模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
20.在本技术实施例中,通过所述环境感知图像可以直观的表示所述车辆周围的环境,此时,基于所述环境感知图像进行车道推理,可以使得推理得到(所述车辆的)车道更加准确。
21.可选地,所述根据所述交通元素数据确定环境感知图像包括:基于所述交通元素数据,将所述交通元素叠加到初始图像(例如,对传感器采集的一帧或多帧感知图像进行拼
接后得到的环视图像,或生成的以所述车辆为中心、环境空白的初始环境图像)中,得到所述环境感知图像。
22.结合第一方面,在第一方面的某些实现方式中,所述使用预设的神经网络模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道,包括:使用预设的神经网络模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
23.在本技术实施例中,所述车辆的驾驶意图用于指示所述车辆待行驶的路线,基于所述交通元素数据和所述车辆的驾驶意图进行车道推理,可以进一步提高推理得到(所述车辆的)车道的准确性。
24.结合第一方面,在第一方面的某些实现方式中,所述车辆的驾驶意图为所述车辆待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
25.在本技术实施例中,所述车辆的驾驶意图为路线示意图或车辆语义指示,通过所述车辆的驾驶意图可以直观地和准确地指示所述车辆待行驶的路线。
26.结合第一方面,在第一方面的某些实现方式中,所述车辆的车道通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道通过路面代价图表示。
27.在本技术实施例中,通过所述车道的中心线和所述车道的宽度或者路面代价图表示,可以直观地和准确地表示所述车辆的车道。
28.第二方面,提供了一种训练车道推理模型的方法,该方法包括:
29.获取车辆的多种不同类型的传感器的检测结果;对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据;使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道;根据所述车辆的车道,调整所述车道推理模型的参数。
30.在现有技术中,当神经网络模型需要实现的功能较多时,例如,对光线条件、路面类型等泛化能力,以及路面认知、路面与驾驶意图的匹配、对动态障碍物及静态障碍物的处理都依靠同一个神经网络模型进行处理,可能会导致神经网络模型过于复杂。
31.对于这种复杂度较高的神经网络模型,其模型的设计要求也非常高,目前很难设计出一个达到实用性水平的能够处理复杂任务的神经网络模型(例如,能够处理复杂自动驾驶任务的神经网络模型)。
32.在本技术实施例中,所述交通元素数据为同一个坐标系下的数据,可以避免因需要处理多种不同类型的数据而导致所述车道推理模型过于复杂,从而能够降低所述车道推理模型的复杂度。
33.需要说明的是,上述获取多种不同类型的传感器检测到的交通元素数据可以包括:直接获取传感器检测到的原始数据,也就是说,此时,所述检测到的原始数据就是所述交通元素数据。
34.或者,上述获取多种不同类型的传感器检测到的交通元素数据也可以包括:获取传感器检测到的检测结果(例如,传感器获取到的原始数据或原始图像等)后,对所述检测到的检测结果进行处理后得到处理结果,此时,所述处理后得到的处理结果就是所述交通元素数据。
35.结合第二方面,在第二方面的某些实现方式中,所述获取车辆的多种不同类型的传感器检测到的交通元素数据,包括:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
36.在本技术实施例中,获取所述多种不同类型的传感器的检测结果,并对所述检测结果进行处理,得到同一个坐标系下的所述交通元素数据,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致所述车道推理模型过于复杂,从而能够降低所述车道推理模型的复杂度。
37.结合第二方面,在第二方面的某些实现方式中,所述对所述检测结果进行处理得到所述交通元素数据,包括:对所述检测结果进行坐标系转换,得到所述交通元素数据。
38.在本技术实施例中,对所述检测结果进行坐标系转换,可以将所述检测结果转换到同一个坐标系下,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致所述车道推理模型过于复杂,从而能够降低所述车道推理模型的复杂度。
39.结合第二方面,在第二方面的某些实现方式中,所述多种不同类型的传感器包括摄像头、激光雷达或毫米波雷达。
40.结合第二方面,在第二方面的某些实现方式中,所述交通元素数据为交通元素的轮廓、位置和/或运动轨迹,所述交通元素包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
41.结合第二方面,在第二方面的某些实现方式中,所述方法还包括:根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道,包括:使用所述车道推理模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
42.在本技术实施例中,通过所述环境感知图像可以直观的表示所述车辆周围的环境,此时,基于所述环境感知图像进行车道推理,可以使得推理得到(所述车辆的)车道更加准确。
43.可选地,所述根据所述交通元素数据确定环境感知图像包括:基于所述交通元素数据,将所述交通元素叠加到初始图像(例如,对传感器采集的一帧或多帧感知图像进行拼接后得到的环视图像,或生成的以所述车辆为中心、环境空白的初始环境图像)中,得到所述环境感知图像。
44.结合第二方面,在第二方面的某些实现方式中,所述使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道,包括:使用所述车道推理模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
45.在本技术实施例中,所述车辆的驾驶意图用于指示所述车辆待行驶的路线,基于所述交通元素数据和所述车辆的驾驶意图进行车道推理,可以进一步提高推理得到(所述车辆的)车道的准确性。
46.结合第二方面,在第二方面的某些实现方式中,所述车辆的驾驶意图为所述车辆待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶
方向、行驶车道或行驶路口中的至少一种。
47.在本技术实施例中,所述车辆的驾驶意图为路线示意图或车辆语义指示,通过所述车辆的驾驶意图可以直观地和准确地指示所述车辆待行驶的路线。
48.结合第二方面,在第二方面的某些实现方式中,所述车辆的车道通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道通过路面代价图表示。
49.在本技术实施例中,通过所述车道的中心线和所述车道的宽度或者路面代价图表示,可以直观地和准确地表示所述车辆的车道。
50.第三方面,提供了一种推理车道的装置,包括:
51.获取单元,用于获取车辆的多种不同类型的传感器的检测结果;对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据;车道推理单元,用于使用预设的神经网络模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道。
52.在本技术实施例中,所述交通元素数据为同一个坐标系下的数据,可以避免因需要处理多种不同类型的数据而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
53.需要说明的是,上述获取多种不同类型的传感器检测到的交通元素数据可以包括:直接获取传感器检测到的原始数据,此时,所述检测到的原始数据就是所述交通元素数据。
54.或者,上述获取多种不同类型的传感器检测到的交通元素数据也可以包括:获取传感器检测到的检测结果(例如,传感器获取到的原始数据或原始图像等)后,对所述检测到的检测结果进行处理后得到处理结果,此时,所述处理后得到的处理结果就是所述交通元素数据。
55.结合第三方面,在第三方面的某些实现方式中,所述获取单元具体用于:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
56.在本技术实施例中,获取所述多种不同类型的传感器的检测结果,并对所述检测结果进行处理,得到同一个坐标系下的所述交通元素数据,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
57.结合第三方面,在第三方面的某些实现方式中,所述获取单元具体用于:对所述检测结果进行坐标系转换,得到所述交通元素数据。
58.在本技术实施例中,对所述检测结果进行坐标系转换,可以将所述检测结果转换到同一个坐标系下,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
59.结合第三方面,在第三方面的某些实现方式中,所述多种不同类型的传感器包括摄像头、激光雷达或毫米波雷达。
60.结合第三方面,在第三方面的某些实现方式中,所述交通元素数据为交通元素的轮廓、位置和/或运动轨迹,所述交通元素包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
61.结合第三方面,在第三方面的某些实现方式中,所述装置还包括叠加单元,用于:
根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述车道推理单元具体用于:使用预设的神经网络模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
62.在本技术实施例中,通过所述环境感知图像可以直观的表示所述车辆周围的环境,此时,基于所述环境感知图像进行车道推理,可以使得推理得到(所述车辆的)车道更加准确。
63.结合第三方面,在第三方面的某些实现方式中,所述车道推理单元具体用于:使用预设的神经网络模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
64.在本技术实施例中,所述车辆的驾驶意图用于指示所述车辆待行驶的路线,基于所述交通元素数据和所述车辆的驾驶意图进行车道推理,可以进一步提高推理得到(所述车辆的)车道的准确性。
65.结合第三方面,在第三方面的某些实现方式中,所述车辆的驾驶意图为所述车辆待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
66.在本技术实施例中,所述车辆的驾驶意图为路线示意图或车辆语义指示,通过所述车辆的驾驶意图可以直观地和准确地指示所述车辆待行驶的路线。
67.结合第三方面,在第三方面的某些实现方式中,所述车辆的车道通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道通过路面代价图表示。
68.在本技术实施例中,通过所述车道的中心线和所述车道的宽度或者路面代价图表示,可以直观地和准确地表示所述车辆的车道。
69.第四方面,提供了一种训练车道推理模型的装置,包括:
70.获取单元,用于获取车辆的多种不同类型的传感器的检测结果;对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据;车道推理单元,用于使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道;调整单元,用于根据所述车辆的车道,调整所述车道推理模型的参数。
71.在本技术实施例中,所述交通元素数据为同一个坐标系下的数据,可以避免因需要处理多种不同类型的数据而导致所述车道推理模型过于复杂,从而能够降低所述车道推理模型的复杂度。
72.需要说明的是,上述获取多种不同类型的传感器检测到的交通元素数据可以包括:直接获取传感器检测到的原始数据,也就是说,此时,所述检测到的原始数据就是所述交通元素数据。
73.或者,上述获取多种不同类型的传感器检测到的交通元素数据也可以包括:获取传感器检测到的检测结果(例如,传感器获取到的原始数据或原始图像等)后,对所述检测到的检测结果进行处理后得到处理结果,此时,所述处理后得到的处理结果就是所述交通元素数据。
74.结合第四方面,在第四方面的某些实现方式中,所述获取单元具体用于:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
75.在本技术实施例中,获取所述多种不同类型的传感器的检测结果,并对所述检测结果进行处理,得到同一个坐标系下的所述交通元素数据,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致所述车道推理模型过于复杂,从而能够降低所述车道推理模型的复杂度。
76.结合第四方面,在第四方面的某些实现方式中,所述获取单元具体用于:对所述检测结果进行坐标系转换,得到所述交通元素数据。
77.在本技术实施例中,对所述检测结果进行坐标系转换,可以将所述检测结果转换到同一个坐标系下,可以避免因需要直接处理所述检测结果(所述检测结果包含多种不同类型的数据)而导致所述车道推理模型过于复杂,从而能够降低所述车道推理模型的复杂度。
78.结合第四方面,在第四方面的某些实现方式中,所述多种不同类型的传感器包括摄像头、激光雷达或毫米波雷达。
79.结合第四方面,在第四方面的某些实现方式中,所述交通元素数据为交通元素的轮廓、位置和/或运动轨迹,所述交通元素包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
80.结合第四方面,在第四方面的某些实现方式中,所述装置还包括叠加单元,用于:根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述车道推理单元具体用于:使用所述车道推理模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
81.在本技术实施例中,通过所述环境感知图像可以直观的表示所述车辆周围的环境,此时,基于所述环境感知图像进行车道推理,可以使得推理得到(所述车辆的)车道更加准确。
82.结合第四方面,在第四方面的某些实现方式中,所述车道推理单元具体用于:使用所述车道推理模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
83.在本技术实施例中,所述车辆的驾驶意图用于指示所述车辆待行驶的路线,基于所述交通元素数据和所述车辆的驾驶意图进行车道推理,可以进一步提高推理得到(所述车辆的)车道的准确性。
84.结合第四方面,在第四方面的某些实现方式中,所述车辆的驾驶意图为所述车辆待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
85.在本技术实施例中,所述车辆的驾驶意图为路线示意图或车辆语义指示,通过所述车辆的驾驶意图可以直观地和准确地指示所述车辆待行驶的路线。
86.结合第四方面,在第四方面的某些实现方式中,所述车辆的车道通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道通过路面代价图表示。
87.在本技术实施例中,通过所述车道的中心线和所述车道的宽度或者路面代价图表示,可以直观地和准确地表示所述车辆的车道。
88.第五方面,提供了一种推理车道的装置,所述装置包括存储介质和中央处理器,所
述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面中的任一可能的实现方式中的方法。
89.第六方面,提供了一种训练车道推理模型的装置,所述装置包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第二方面中的任一可能的实现方式中的方法。
90.第七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面中或第二方面中的任一可能的实现方式中的方法。
91.可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中或第二方面中的任一可能的实现方式中的方法。
92.第八方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面中或第二方面中的任一可能的实现方式中的方法的指令。
93.第九方面,提供一种汽车,所述汽车包括上述第三方面中或第四方面中的任一可能的装置。
94.在本技术实施例中,所述交通元素数据为同一个坐标系下的数据,可以避免因需要处理多种不同类型的数据而导致神经网络模型过于复杂,从而能够降低用于车道推理的神经网络模型的复杂度。
附图说明
95.图1为本技术实施例提供的一种自动驾驶汽车的结构示意图;
96.图2为本技术实施例提供的一种自动驾驶系统的结构示意图;
97.图3为本技术实施例提供的一种神经网络处理器的结构示意图;
98.图4为本技术实施例提供的一种云侧指令自动驾驶汽车的应用示意图;
99.图5为本技术实施例提供的一种自动驾驶系统的结构示意图;
100.图6为本技术实施例提供的一种道路结构认知模块的示意性框图;
101.图7为本技术一个实施例提供的推理车道的方法的示意性框图;
102.图8为本技术另一个实施例提供的推理车道的方法的示意性流程图;
103.图9为本技术一个实施例中对传感器的检测结果进行处理的示意性流程图;
104.图10为本技术一个实施例中的确定环境感知图像的示意性流程图;
105.图11为本技术另一个实施例中的确定环境感知图像的示意性流程图;
106.图12为本技术一个实施例中的确定车辆的驾驶意图的示意性流程图;
107.图13为本技术另一个实施例中的确定车辆的驾驶意图的示意性流程图;
108.图14为本技术一个实施例中生成的路线示意图的示意性框图;
109.图15为本技术一个实施例中使用神经网络模型进行车道推理的示意性框图;
110.图16为本技术另一个实施例中使用神经网络模型进行车道推理的示意性框图;
111.图17为本技术一个实施例提供的训练车道推理模型的方法的示意性框图;
112.图18是本技术实施例提供的推理车道的装置的示意性框图;
113.图19是本技术实施例提供的训练驾驶行为决策模型的装置的示意性框图;
114.图20是本技术实施例提供的一种用于自动驾驶车辆的装置的示意性框图。
具体实施方式
115.下面将结合附图,对本技术中的技术方案进行描述。
116.本技术实施例的技术方案可以应用于各种车辆,该车辆具体可以为内燃机车、智能电动车或者混合动力车,或者,该车辆也可以为其他动力类型的车辆等,本技术实施例对此并不限定。
117.本技术实施例中的车辆可以为自动驾驶车辆,例如,所述自动驾驶车辆可以配置有自动驾驶模式,该自动驾驶模式可以为完全自动驾驶模式,或者,也可以为部分自动驾驶模式,本技术实施例对此并不限定。
118.本技术实施例中的车辆还可以配置有其他驾驶模式,所述其他驾驶模式可以包括运动模式、经济模式、标准模式、雪地模式及爬坡模式等多种驾驶模式中的一种或多种。所述自动驾驶车辆可以在自动驾驶模式和上述多种(驾驶员驾驶车辆的)驾驶模型之间进行切换,本技术实施例对此并不限定。
119.图1是本技术实施例提供的车辆100的功能框图。
120.在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。
121.例如,车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
122.车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。
123.可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
124.行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如,气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
125.能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。
126.传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。
127.在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
128.传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。
129.例如,传感器系统104可包括定位系统122(定位系统可以是gps系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,imu)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
130.定位系统122可用于估计车辆100的地理位置。imu 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,imu 124可以是加速度计和陀螺仪的组合。
131.雷达126可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。
132.激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
133.相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
134.控制系统106为控制车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、传感器融合算法138、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。
135.转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
136.油门134用于控制引擎118的操作速度并进而控制车辆100的速度。
137.制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。
138.计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(structure from motion,sfm)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
139.路线控制系统142用于确定车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、gps 122和一个或多个预定地图的数据以为车辆100确定行驶路线。
140.障碍物避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
141.当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
142.车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器
152。
143.在一些实施例中,外围设备108提供车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。
144.无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3g蜂窝通信,例如cdma、evd0、gsm/gprs,或者4g蜂窝通信,例如lte。或者5g蜂窝通信。无线通信系统146可利用wifi与无线局域网(wireless local area network,wlan)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或zigbee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,dsrc)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
145.电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
146.车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
147.处理器113可以是任何常规的处理器,诸如商业可获得的cpu。替选地,该处理器可以是诸如asic或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机110的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机110的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
148.在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
149.在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
150.除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自
主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。
151.用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车车在电脑148、麦克风150和扬声器152。
152.计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
153.可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
154.可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本技术实施例的限制。
155.在道路行进的自动驾驶汽车,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
156.可选地,自动驾驶汽车车辆100或者与自动驾驶车辆100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
157.除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
158.上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本技术实施例不做特别的限定。
159.图2是本技术实施例提供的自动驾驶系统的示意图。
160.如图2所示的自动驾驶系统包括计算机系统101,其中,计算机系统101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(i/o)总线113耦合。i/o接口115和i/o总线耦合。i/o接口115和多种i/o设备进行通信,比如输
入设备117(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)121,(例如,cd-rom,多媒体接口等)。收发器123(可以发送和/或接受无线电通信信号),摄像头155(可以捕捉静态和动态数字视频图像)和外部usb接口125。其中,可选地,和i/o接口115相连接的接口可以是usb接口。
161.其中,处理器103可以是任何传统处理器,包括精简指令集计算(reduced instruction set computer,risc)处理器、复杂指令集计算(complex instruction set computer,cisc)处理器或上述的组合。可选地,处理器可以是诸如专用集成电路(application specific integrated circuit,asic)的专用装置。可选地,处理器103可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
162.可选地,在本文所述的各种实施例中,计算机系统101可位于远离自动驾驶车辆的地方,并且可与自动驾驶车辆无线通信。在其它方面,本文所述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
163.计算机101可以通过网络接口129和软件部署服务器149通信。网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,vpn)。可选地,网络127还可以是无线网络,比如wifi网络,蜂窝网络等。
164.硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机101的操作系统137和应用程序143。
165.操作系统包括解析器139(shell)和内核(kernel)141。shell是介于使用者和操作系统之内核(kernel)间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
166.内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供cpu时间片管理、中断、内存管理、io管理等等。
167.应用程序143包括控制汽车自动驾驶相关的程序,比如,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。应用程序143也存在于deploying server 149的系统上。在一个实施例中,在需要执行应用程序143时,计算机系统101可以从deploying server14下载应用程序143。
168.传感器153和计算机系统101关联。传感器153用于探测计算机101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选地,如果计算机101位于自动驾驶车辆上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。
169.例如,应用程序143可以根据传感器153探测到的周围的环境信息进行车道推理,得到车辆的待行驶的车道(或可行驶的车道),此时,基于所述待行驶的车道,就可以对自动驾驶车辆进行路径规划,进而确定车辆的控制量,实现车辆的自动驾驶。
170.图3是本技术实施例提供的一种芯片硬件结构图,该芯片包括神经网络处理器20。该芯片可以为在如图2所示的处理器103中,用以根据环境信息进行车道推理。在本技术实施例中,预训练的神经网络中各层的算法均可在如图3所示的芯片中得以实现。
171.本技术实施例中的推理车道的方法也可以在如图3所示的芯片中得以实现,其中,该芯片可以与实现上述预训练的神经网络的芯片是同一个芯片,或者,该芯片也可以与实现上述预训练的神经网络的芯片是不同的芯片,本技术实施例对此并不限定。
172.神经网络处理器npu 50npu作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。npu的核心部分为运算电路50,通过控制器504控制运算电路503提取存储器中的矩阵数据并进行乘法运算。
173.在一些实现中,运算电路203内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路203是二维脉动阵列。运算电路203还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路203是通用的矩阵处理器。
174.举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器202中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器201中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)208中。
175.向量计算单元207可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元207可以用于神经网络中非卷积/非fc层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
176.在一些实现种,向量计算单元能207将经处理的输出的向量存储到统一缓存器206。例如,向量计算单元207可以将非线性函数应用到运算电路203的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元207生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路203的激活输入,例如,用于在神经网络中的后续层中的使用。
177.统一存储器206用于存放输入数据以及输出数据。
178.权重数据直接通过存储单元访问控制器205(direct memory access controller,dmac)将外部存储器中的输入数据搬运到输入存储器201和/或统一存储器206、将外部存储器中的权重数据存入权重存储器202,以及将统一存储器206中的数据存入外部存储器。
179.总线接口单元(bus interface unit,biu)210,用于通过总线实现主cpu、dmac和取指存储器209之间进行交互。
180.与控制器204连接的取指存储器(instruction fetch buffer)209,用于存储控制器204使用的指令;
181.控制器204,用于调用取指存储器209中缓存的指令,实现控制该运算加速器的工作过程。
182.一般地,统一存储器206,输入存储器201,权重存储器202以及取指存储器209均为片上(on-chip)存储器,外部存储器为该npu外部的存储器,该外部存储器可以为双倍数据
率同步动态随机存储器(double data rate synchronous dynamic random access memory,ddr sdram)、高带宽存储器(high bandwidth memory,hbm)或其他可读可写的存储器。
183.计算机系统112还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统104收集的传感器数据可以被转移到另一个计算机对此数据进行处理。
184.例如,如图4所示,来自计算机系统312的数据可以经由网络被传送到云侧的服务器320用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、wifi和http、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备,诸如调制解调器和无线接口。
185.在一个示例中,服务器320可以包括具有多个计算机的服务器,例如,负载均衡服务器群,为了从计算机系统312接收、处理并传送数据的目的,其与网络的不同节点交换信息。该服务器可以被类似于计算机系统312配置,具有处理器330、存储器340、指令350、和数据360。
186.示例性地,服务器320的数据360可以包括地图信息和/或自动驾驶车辆周围道路情况的相关信息。例如,服务器320可以接收、检测、存储、更新、以及传送与自动驾驶车辆道路情况的相关信息。
187.例如,地图信息可以为高精度地图,地图信息中可以包括预存的车道线信息(例如,车道标识线)。
188.再例如,自动驾驶车辆周围道路情况的相关信息包括与自动驾驶车辆的预测行驶路径具有交汇点的其他车辆的位置信息以及运动参数的信息,比如,其他车辆当前的位置信息、其他车辆的速度信息、其他车辆的预测行驶轨迹信息等。
189.图5为本技术实施例的一个自动驾驶系统500的示例性结构框图。如图5所示,自动驾驶系统500可以包括传感器510、感知定位地图子系统520、融合子系统530、预测认知子系统540、规划子系统550、控制子系统560及执行器570。
190.需要说明的是,图5所示的自动驾驶系统500仅为示例而非限定,本领域的普通技术人员可以理解,自动驾驶系统500中可以包括更多或更少的模块或子系统(或单元),本技术实施例中对此并不限定。
191.传感器510可以用于感知车辆(例如,自动驾驶车辆)外部的物体,并将感知到的数据传送给感知定位发图模块520。其中,传感器510可以包括摄像头、毫米波雷达、激光雷达以及超声波雷达等传感器
192.感知定位地图子系统520可以用于获取环境中的交通要素数据,提供车辆(例如,自动驾驶车辆)的定位,及车辆所在的道路拓扑信息。
193.如图5所示,感知定位地图子系统520包括视觉感知模块522、雷达感知模块524、定位模块526及地图模块526,其中,视觉感知模块522可以用于检测车道标识线、行驶车辆、可通行区域、交通标识,雷达感知模块524可以用于检测车辆、道路边沿及可通行区域,定位模块526可以用于实现车辆的全局定位,地图模块526可以用于获取周边道路拓扑。
194.融合子系统530可以用于多个感知模块输出结果的融合,实现更精准的运动目标
检测、可通行区域检测和路沿检测。
195.如图5所示,融合子系统530包括目标融合模块532、可通行路面融合模块534、路沿检测及融合模块536,其中,目标融合模块532可以用于实现视觉感知目标与雷达检测目标的融合和跟踪,可通行路面融合模块534可以用于实现视觉检测可通行区域与雷达检测可通行区域的融合和跟踪,路沿检测及融合模块536可以用于视觉语义分割结果与雷达检测路沿的融合和跟踪。
196.预测认知子系统540可以用于实现对环境的进一步理解和推理。
197.如图5所示,预测认知子系统540包括目标预测模块542及道路结构认知模块544,其中,目标预测模块542可以用于实现检测运动目标的未来运动预测,道路结构认知模块544可以用于进行车道推理,获得自动驾驶车辆的待行驶的车道(或可行驶的车道)。
198.规划子系统550可以用于基于获得的环境检测结果及环境认知结果规划自车驾驶策略。
199.如图5所示,规划子系统550包括高度自动驾驶(highly automated driving,had)规划器552、部分自动驾驶(partial automated driving,pad)规划器554及功能管理器556,其中,had规划器552可以用于进行高度自动驾驶功能情况下的规划,所包含的自动驾驶功能较多,pad规划器554可以用于部分自动驾驶,如自适应巡航等功能,功能管理器556可以用于启动、切换had功能和pad功能。
200.控制子系统560用于基于规划结果计算车身控制量,从而向底盘电控系统发出目标控制量指令。
201.如图5所示,控制子系统560包括横向控制模块562、纵向控制模块564及仲裁器566,其中,横向控制模块562可以用于计算实现目标轨迹的转向系统控制量,纵向控制模块564可以用于计算实现目标速度曲线的动力和制动系统控制量,仲裁器566可以用于实现多功能控制量的仲裁。
202.执行器570可以用于实现控制子系统发出的控制指令,实现符合预期的转向和加减速。
203.需要说明的,上述图5所示的自动驾驶系统500仅为示例而非限定,所述自动驾驶系统500中可以包括更多或更少的系统、模块、子模型或单元,本技术实施例中对此并不限定。
204.在现有技术中,上述图5中的道路结构认知模块544可以通过多种解决方案进行车道推理,具体如下:
205.方案一:
206.基于车道标识线的检测进行车道推理,即通过机器视觉或图像检测等方法,检测图像中的车道标识线,并基于检测到的车道标识线确定自动驾驶车辆的待行驶的车道(或可行驶的车道)。
207.但是,该方法过度依赖于实际的车道标识线及实时的环境条件。
208.例如,在当前的技术条件下,车道标识线检测在以下几种情况下容易出现失效:
209.1、车道线磨损或丢失;
210.2、光照条件不佳,比如,有逆光或者有栏杆阴影等光影干扰;
211.3、路面标识复杂,比如,有文字或者在匝道处有引导标识线。
212.方案二:
213.基于高精度地图进行车道推理,即查询高精度地图,获得高精度地图中预先存储的车道标识线信息,并基于该车道标识线信息确定自动驾驶车辆的待行驶的车道(或可行驶的车道)。
214.但是,该方法过度依赖于高精度地图的制作、更新及维护,且还需要较高精度的定位,才能获得准确可靠的车道信息。
215.方案三:
216.为了弥补上述方案一及方案二中的不足,方案三中提出了基于环境车辆进行车道推理的方法,即根据预设的条件筛选感兴趣车辆,在筛选出感兴趣车辆之后,确定该感兴趣车辆的行驶轨迹,并基于该感兴趣车辆的行驶轨迹确定自动驾驶车辆的待行驶的车道(或可行驶的车道)。其中,所述预设的条件可以包括车辆的距离范围、车辆的行驶轨迹曲率、车辆的观测周期等。
217.但是,该方法对环境车辆(即感兴趣车辆)的依赖性太强,例如,在无前车时,该方案无法实施;在环境车辆的驾驶行为不遵守交通规则(例如,环境车辆不按车道标识线的指示行驶)时,基于该环境车辆的行驶轨迹确定出的待行驶的车道可能会与其他车辆的行驶轨迹发生冲突,进而可能会带来驾驶风险。
218.方案四:
219.结合实时感知和驾驶意图进行端到端自动驾驶的方案,即先在离线环境中,基于采集的训练数据对神经网络模型进行训练,得到可以用于端到端自动驾驶的神经网络模型;接下来,在在线环节中,将局部感知(即局部环境感知)与驾驶意图作为输入,采用离线环境中训练得到的神经网络模型,计算得到控车(即控制自动驾驶车辆)的控制量。
220.但是,本技术通过研究及分析发现,该方法(方案四)中的局部感知仅包括摄像头采集的图像信息,对光线条件、路面类型等泛化能力,以及路面认知、路面与驾驶意图的匹配、对动态障碍物及静态障碍物的处理都需要依靠同一个神经网络模型进行处理,会导致(用于端到端自动驾驶的)神经网络模型过于复杂。
221.同时,该方法的输入为摄像头采集的图像信息(及驾驶意图),输出为控车结果(例如,所述控车结果可以为对自动驾驶车辆的控制量),训练得到的神经网络模型对采集图像的摄像头、及所控车辆(即自动驾驶车辆)的尺寸等均有较强的依赖。例如,若更换摄像头的安装位置或车辆,则需要重新采集训练数据,并基于重新采集的训练数据对神经网络模型进行训练。而且,由于该方法的输出为控车结果,并没有输出自动驾驶车辆的待行驶的车道(或可行驶的车道),因此,会导致使用该方法进行自动驾驶时的决策控制逻辑不可追溯。
222.因此,本技术提出了一种推理车道的方法,通过获取多种不同类型的传感器检测到的位于同一个坐标系下的交通元素数据,并基本该交通元素数据进行车道推理,得到车辆的车道,有助于降低用于车道推理的神经网络模型的复杂度。
223.下面结合图6至图16对本技术实施例中的推理车道的方法进行详细说明。
224.图6为本技术实施例提供的一种道路结构认知模块600的结构示意图。
225.图6中的道路结构认知模块600可以为上述图5中的道路结构认知模块544,该道路结构认知模块600可以包括多个子模块或单元。
226.如图6所示,该道路结构认知模块600可以包括感知道路结构建模子模块610、地图
道路结构建模子模块620、结合环境和意图的道路结构建模子模块630及道路模型可靠性分析子模块640。
227.感知道路结构建模子模块610可以用于实现前述现有技术中的方案一,即基于车道标识线进行车道推理,该模块610的主要应用场景可以为车道标识线清晰可见且车道标识线的线型、曲率等在(机器视觉模型或图像检测模型的)感知范围能力内。
228.地图道路结构建模子模块620可以用于实现前述现有技术中的方案二,即基于高精度地图进行车道推理,该模块620的主要应用场景可以为高精度定位及高精度地图可用。
229.结合环境和意图的道路结构建模子模块630可以用于实现本技术实施例中的推理车道的方法,该方法不绝对依赖车道标识线、高精度定位或高精度地图,因此,该模块630的应用可以为全场景。
230.道路模型可靠性分析子模块640可以用于分析上述模块610、模块620及模块630输出的道路模型(例如,自动驾驶车辆的待行驶的车道或可行驶的车道),对这几个模块输出的道路模型评估,确定出各道路模型的可靠性等级,输出可靠性等级最高的道路模型及该道路模型的可靠性等级。
231.需要说明的是,本技术实施例中所说的自动驾驶车辆的待行驶的车道(或可行驶的车道)可以为车道的形状信息,例如,车道的几何形状,或者,也可以为车道的代价信息,例如,车道的代价图(或代价栅格图),或者,还可以为其他能够描述车道的信息,本技术实施例中对此并不限定。
232.图7是本技术实施例提供的推理车道的方法700的示意性流程图。图7所示的方法700可以由图1中的车辆100中的处理器113执行、或者,也可以由图2中的自动驾驶系统中的处理器103执行,或者,还可以由图4中的服务器320中的处理器320执行。
233.图7所示的方法700可以包括步骤710及步骤720,应理解,图7所示的方法700仅为示例而非限定,方法700中可以包括更多或更少的步骤,本技术实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。
234.s710,获取车辆的多种不同类型的传感器的检测结果。
235.其中,所述多种不同类型的传感器可以包括摄像头、激光雷达或毫米波雷达,或者,所述多种不同类型的传感器也可以包括其他传感器,本技术实施例中对此并不限定。
236.s720,对所述检测结果进行处理,得到位于同一个坐标系下的交通元素数据。
237.其中,所述交通元素数据可以为同一个坐标系下的数据。
238.可选地,所述交通元素数据可以为交通元素的类型、轮廓、位置和/或运动轨迹,所述交通元素可以为静止物体(stationary object),或者,所述交通元素也可以为运动物体(moving object)。
239.例如,所述交通元素可以包括车道标识线、所述车辆周围的其他车辆、行人、道路(例如,所述车辆周围的道路或路沿等)或交通灯中的一种或多种。
240.应理解,上述得到位于同一个坐标系下的交通元素数据可以包括:直接获取传感器检测到的原始数据,此时,所述检测到的原始数据就是所述交通元素数据。
241.或者,上述得到位于同一个坐标系下的交通元素数据也可以包括:获取传感器检测到的检测结果(例如,传感器获取到的原始数据或原始图像等)后,对所述检测到的检测结果进行处理后得到处理结果,此时,所述处理后得到的处理结果就是所述交通元素数据。
242.需要说明的,这里所说的对所述检测到的检测结果(例如,传感器的检测结果)进行处理,可以是指下述图8中方法800中的s810。
243.具体地,可以包括对所述检测结果进行下述多种处理方式中的至少一种:
244.处理方式一:
245.对所述检测结果(例如,传感器获取到的原始数据或原始图像等)进行坐标系转换。
246.例如,可以将激光雷达检测到的测距数据转换到指定的坐标系,或者,也可以将所述测距数据在多种坐标系之间进行转换,这里所说的坐标系可以包括车体坐标系、相对坐标系或图像坐标系等,也可以包括其他常用坐标系,这里并不作限定。
247.处理方式二:
248.确定(或识别)所述检测结果中包含的交通元素的类型(例如,车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯等)。也就是说,可以认为所述交通元素数据包括交通元素的类型。
249.例如,可以识别出摄像头到的图像中包含的交通元素。
250.处理方式三:
251.基于所述检测结果确定(该检测结果对应的)交通元素的轮廓、位置和/或运动轨迹。
252.例如,可以使用现有算法对所述检测结果(或所述传感器的检测结果中包括的交通元素)进行处理,确定所述交通元素的轮廓、位置和/或运动轨迹。
253.其中,所述交通元素的轮廓可以包括所述交通元素的几何特征或所述交通元素的中心线等能够描述所述交通元素的轮廓特征的信息,本技术实施例中对此并不限定。
254.上述多种处理方式的具体实现方法可以参考现有技术,本技术实施例中不再赘述。
255.应理解,上述对所述检测到的检测结果(例如,传感器的检测结果)进行处理的方法仅为示例而非限定,还可以对所述检测结果进行其他处理(例如,对交通元素的运动轨迹进行滤波等),本技术实施例中对此并不限定。
256.在本技术实施例中,所述方法700还可以包括s712。
257.s712,根据所述交通元素数据确定环境感知图像。
258.其中,所述环境感知图像可以用于指示所述车辆周围的环境,所述环境感知图像可以包括环视图像或前视图像中的至少一种。
259.例如,所述环境感知图像可以为世界模型(world model)。在自动驾驶领域中,所述世界模型可以指所述车辆的环境感知信息的汇总。
260.可选地,可以基于所述交通元素数据,将所述交通元素叠加到所述环境感知图像中。
261.例如,可以将所述交通元素数据转换到同一个坐标系下,然后根据每一个交通元素相对于所述车辆的位置和视角,将所述交通元素数据叠加到所述环境感知图像中,即得到所述车辆的环视图像或前视图像。
262.具体的拼接算法可以参考现有技术,本技术实施例中对此不再赘述。
263.s730,使用预设的神经网络模型,基于所述交通元素数据进行车道推理,得到所述
车辆的车道。
264.可选地,在上述s720中根据所述交通元素数据确定环境感知图像的情况下,还可以使用预设的神经网络模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
265.其中,所述神经网络模型可以是基于(离线采集的)交通元素数据和/或驾驶意图(intention)训练后得到的。具体的训练方法可以参考现有技术,这里不再赘述。
266.可选地,所述车辆的驾驶意图可以为所述车辆的待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
267.例如,所述语义指示可以包括“左转”、“右转”、“直行”及“停止”;或者,所述语义指示也可以包括“走右侧两车道”、“走左一车道”及“从第二个出口驶出”等。
268.应理解,上述举例仅为示例而非限定,本技术实施例中对所述语义指示的方式(或形式)并不限定。
269.同时,本技术实施例中对确定所述驾驶意图的方法也不限定,具体方法可参考现有技术,这里不再赘述。
270.在本技术实施例中,还可以使用预设的神经网络模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
271.可选地,所述车辆的车道可以通过所述车道的中心线和所述车道的宽度表示;或者,所述车辆的车道也可以通过所述车辆的车道通过路面代价图表示;或者,也可以现有技术中的其他表示所述车辆的车道,本技术实施例中对此并不限定。
272.图8是本技术实施例提供的推理车道的方法800的示意性流程图。图8所示的方法700可以由图1中的车辆100中的处理器113执行、或者,也可以由图2中的自动驾驶系统中的处理器103执行,或者,还可以由图4中的服务器320中的处理器320执行。
273.图8所示的方法800可以包括步骤810、步骤820、步骤830及步骤840,应理解,图8所示的方法800仅为示例而非限定,方法800中可以包括更多或更少的步骤,本技术实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。
274.s810,对传感器的检测结果进行处理,得到交通元素数据。
275.这里所说的对传感器的检测结果进行处理包括:对传感器的检测结果(例如,传感器获取到的原始数据或原始图像等)进行坐标系转换、确定(或识别)所述传感器的检测结果中包含的交通元素,以及基于传感器的检测结果确定(该检测结果对应的)交通元素的轮廓、位置和/或运动轨迹中的至少一种,
276.具体可以参见图7中的(对所述传感器的检测结果进行的)多种处理方式的描述,这里不再赘述。
277.可选地,上s810可以如图9中的方法900所示,该方法900可以包括步骤910、步骤920及步骤930。
278.s910,将所述检测结果中的道路与上一时刻(或上一帧)的道路进行匹配和拼接。
279.可选地,所述检测结果可以认为是当前帧的检测结果,通过s910可以实现当前帧(的检测结果中的道路)与上一帧(的检测结果中的道路)的匹配和拼接。
280.可选地,通过s910也可以实现当前帧(的检测结果中的道路)与当前帧以前的其他
帧(的检测结果中的道路)的匹配和拼接。
281.s920,将所述检测结果中的车道标识线与上一时刻的车道标识线进行匹配和拼接。
282.s930,更新所述检测结果中的运动物体的轨迹,并对该轨迹进行滤波处理。
283.需要说明的是,上述方法900中的各个步骤都并非必须执行的步骤,只有在所述检测结果中包含相应的交通元素的情况下,才会执行相应的步骤。
284.例如,在所述检测结果中包含道路的情况下,执行s910,否则,不执行s910。
285.s820,根据所述交通元素数据,确定环境感知图像。
286.可选地,所述s820可以通过下述任一方案实现。
287.方案一:
288.如图10所示,方案一可以包括步骤1010及步骤1020,具体如下。
289.s1010,拼接环视图像。
290.根据多个视角的传感器采集的图像相对于所述车辆的位置和视角,将所述多个视角的传感器采集的图像进行拼接,形成一个完整的环视图像。
291.s1020,将所述交通元素叠加到所述环视图像中,得到环境感知图像。
292.需要说明的是,在上述s1020中,只有在包含某一种交通元素的情况下,才会执行该交通元素对应的步骤。
293.例如,在所述检测结果中包含道路的情况下,将道路叠加到所述环视图像中。
294.方案二:
295.如图11所示,方案二可以包括步骤1110及步骤1120,具体如下。
296.s1110,生成初始环境图像。
297.例如,可以生成以所述车辆为中心、环境空白的初始图像,该图像就可以称为初始环境图像。
298.s1120,将所述交通元素叠加到所述初始环境图像中,得到环境感知图像。
299.与上述s1020类似,在s1120中,只有在包含某一种交通元素的情况下,才会执行该交通元素对应的步骤。
300.上述两种方案得到的所述环境感知图像都可以包括前视图像和/或环视图像。同时,上述两种方案中的拼接方法及叠加方法具体可以参考现有技术,这里不再赘述。
301.s830,确定车辆的驾驶意图。
302.可选地,所述s830可以通过下述任一方法实现。
303.方法一:
304.如图12中的方法1200所示,方法一可以包括下述多个步骤。
305.s1210,是否需要重新规划路线。
306.可选地,可以根据车辆的当前位置确定所述车辆是否偏离已规划路线。
307.s1220,获取待行驶道路的路点序列。
308.若所述车辆已偏离已规划路线,则可以重新规划路线,获得待行驶道路的路点序列;否则,可以继续使用原待行驶道路的路点序列,即将原待行驶道路的路点序列作为待行驶道路的路点序列。
309.所述待行驶道路的路点序列可以使用{p(1),p(2),p(3),

,p(n)}表示,其中,p
(k)表示第k个路点的位置信息,k和n均为正整数。
310.s1230,得到车辆当前对应的路点p(i)。
311.可选地,可以将所述车辆的当前位置投影到s1220中确定的所述待行驶道路的路点序列中,将所述待行驶道路的路点序列中与所述车辆的当前位置最近的点作为所述当前对应的路点p(i),其中,i为正整数。
312.s1240,估计t时刻后的车辆对应的路点p(j)。
313.可选地,可以根据所述车辆的当前速度,估计t时刻后的车辆对应的路点p(j),其中,t和j可以为正整数。
314.其中,t的取值可以预先设定,例如,可以设定t为10秒;或者,t的取值可以根据车辆的位置及行驶的道路等确定,例如,车辆是否位于城市中的拥挤路段,或者,车辆是否行驶在高速公路上。
315.s1250,根据p(i)及p(j),计算车辆的朝向角变化。
316.s1260,根据车辆的朝向角变化确定驾驶意图。
317.可选地,方法一确定的驾驶意图可以为语义指示(例如,离散的驾驶意图),可以包括两种:
318.(1)道路级驾驶意图
319.道路级驾驶意图可以对应道路级导航,可以包括“左转”、“右转”、“直行”、“停止”等;
320.(2)车道级驾驶意图
321.车道级驾驶意图可以对应车道级导航,可以包括待行驶车道号,如“左侧第一车道”、“右侧两个车道”。
322.方法二:
323.s1310,是否需要重新规划路线。
324.可选地,可以根据车辆的当前位置确定所述车辆是否偏离已规划路线。
325.s1320,获取待行驶道路的路点序列。
326.若所述车辆已偏离已规划路线,则可以重新规划路线,获得待行驶道路的路点序列;否则,可以继续使用原待行驶道路的路点序列,即将原待行驶道路的路点序列作为待行驶道路的路点序列。
327.所述待行驶道路的路点序列可以使用{p(1),p(2),p(3),

,p(n)}表示,其中,p(k)表示第k个路点的位置信息,k和n均为正整数。
328.s1330,得到车辆当前对应的路点p(i)。
329.可选地,可以将所述车辆的当前位置投影到s1220中确定的所述待行驶道路的路点序列中,将所述待行驶道路的路点序列中与所述车辆的当前位置最近的点作为所述当前对应的路点p(i),其中,i为正整数。
330.s1340,确定路点p(i)周围的局部地图。
331.可选地,可以将所述车辆当前对应的路点p(i)周围、半径d范围内的地图路网作为局部地图。
332.其中,d为正整数,d的取值可以根据车辆的当前速度确定。例如,当车辆的车速较低时,d的取值可以为20米。
333.s1350,估计t时刻后的车辆对应的路点p(i m)。
334.可选地,可以根据所述车辆的当前速度,估计t时刻后的车辆对应的路点p(i m),其中,t、i和m均为正整数。
335.其中,t的取值可以预先设定,例如,可以设定t为10秒;或者,t的取值可以根据车辆的位置及行驶的道路等确定,例如,车辆是否位于城市中的拥挤路段,或者,车辆是否行驶在高速公路上。
336.s1360,估计t时刻前的车辆对应的路点p(i-n)。
337.可选地,可以根据所述车辆的当前速度,估计t时刻前的车辆对应的路点p(i-n),其中,n为正整数。
338.s1370,根据路点p(i-n)、路点p(i)及路点p(i m),绘制局部地图。
339.可选地,可以将{p(i),

,p(i m)}作为待行驶的路点,绘制到所述局部地图中,将{p(i-n),

,p(i)}作为历史路点(即已行驶的路点),绘制到所述局部地图中。其中,所述待行驶的路点在所述局部地图中的标记与所述历史路点在所述局部地图中的标记不同,例如,标记的颜色、标记的类型等不同。
340.如图14所示,细实线表示待行驶的路点,虚线表示历史路点,粗实线表示道路。
341.s1380,根据局部地图确定车辆的驾驶意图。
342.可选地,方法二确定的驾驶意图可以为路线示意图(例如,局部路线示意图),路线示意图可以包括所述车辆的历史道径和待行驶路径,例如,图14中所示的a、b及c三种路线示意图。
343.在图14中,a部分表示直道上的直行示意图,待行驶路径为直行路线;b部分表示车辆已经行驶过右转路线,待行驶路径为直行路线;c部分表示车辆已经行驶过直行路线,待行驶路线为右转路线。
344.s840,使用预设的神经网络模型,基于所述环境感知图像和所述驾驶意图进行车道推理,得到所述车辆的车道。
345.其中,所述车辆的车道,可以通过下述任一方式表达:
346.方式一:
347.车道中心线及宽度:根据车辆所处的环境(即车辆的视野范围和系统需求),设定车道的长度需求。
348.例如,当车辆处于车速较慢的环境时,车道的长度需求可以为20m,以每米一个点的距离进行采样的话,需要20个位置点来表示车道,其中,每个位置点包括三个数值,分别对应该搁置点的横坐标、纵坐标和宽度。
349.方式二:
350.代价栅格图:可以将车辆周围的区域划分为p*q个栅格,所述车辆的车道也可以通过该p*q个栅格中的多个栅格进行表示,其中,p和q均为正整数。
351.根据车载传感器的认知能力,代价栅格图的分辨率,即每个栅格的大小可以设计为20cm*20cm,或者10cm*10cm。每个栅格有[0,1]区间的数值表示其代价值。
[0352]
可选地,所述神经网络模型可以是基于离线采集的环境感知图像和驾驶意图训练后得到的。
[0353]
可选地,在s840中,可以将s820中确定的环境感知图像和s830中确定的驾驶意图
作为输入,使用所述预先训练得到的神经网络模型进行车道推理,得到所述车辆的车道。
[0354]
例如,如图15所示,可以将s820中方案一确定的环境感知图像和s830中方法一确定的驾驶意图作为输入,输出为车道的中心线和所述车道的宽度,所述神经网络模型的结构可以如图15所示。
[0355]
如图15所示,所述神经网络模型可以使用resnet50网络提取环境感知图像中的特征,得到环境感知特征,可以使用解码器将驾驶意图解码为驾驶意图特征(即离散的驾驶意图),该驾驶意图特征可以使用四维向量分别对应“左转”、“右转”、“直行”、“停止”这四种离散的驾驶意图;所述神经网络模型可以使用连接层(concatenate layer)连接环境感知特征与驾驶意图特征,得到连接后的特征,并将该连接后的特征输入全连接层;所述全连接层可以生成4个平行的全连接模型(这里的“4”为离散的驾驶意图的数目),其中,每一个全连接模型有两层压缩层,将特征高度压缩,最终,全连接层输出的特征(即4个平行的全连接模型)的深度下降为4,同时,每个压缩层前都可以进行一次丢弃(dropout),通过屏蔽部分连接元达到防止特征过拟合的目的;最后,所述神经网络模型根据输入意图,从全连接层输出的特征(即4个平行的全连接模型)中挑选出该输入意图所对应的预测输出,即其中一个全连接模型,该全连接模型就是推理得到的车道。
[0356]
再例如,如图16所示,可以将s820中方案二确定的环境感知图像和s830中方法二确定的驾驶意图作为输入,输出为车道的中心线和所述车道的宽度,所述神经网络模型的结构可以如图16所示。
[0357]
如图16所示,所述神经网络模型可以使用resnet50网络提取环境感知图像中的特征,得到环境感知特征,同样地,也可以使用resnet50网络提取驾驶意图中的特征,得到驾驶意图特征;
[0358]
所述神经网络模型使用连接层(concatenate layer)连接环境感知特征与驾驶意图特征,得到连接后的特征,并将该连接后的特征输入全连接层;
[0359]
所述全连接层有两层压缩层,可以将特征高度压缩,最终,全连接层输出的特征的深度下降为1,同时,每个压缩层前都可以进行一次丢弃(dropout),通过屏蔽部分连接元达到防止特征过拟合的目的;最后,所述全连接层输出推理得到的车道。
[0360]
需要说明的是,上述图15和图16中的所述神经网络模型的处理过程具体可以参考现有技术,本技术实施例中不再赘述。
[0361]
图17是本技术实施例提供的训练车道推理模型的方法1700的示意性流程图。图17所示的方法1700可以由图1中的车辆100中的处理器113执行、或者,也可以由图2中的自动驾驶系统中的处理器103执行,或者,还可以由图4中的服务器320中的处理器320执行。
[0362]
图17所示的方法1700可以包括步骤1710、步骤1720及步骤1730,应理解,图17所示的方法1700仅为示例而非限定,方法1700中可以包括更多或更少的步骤,本技术实施例中对此并不限定,下面分别对这几个步骤进行详细的介绍。
[0363]
s1710,获取车辆的多种不同类型的传感器的检测结果。
[0364]
s1720,对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据。
[0365]
其中,所述交通元素数据可以为同一个坐标系下的数据。
[0366]
s1730,使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆
的车道。
[0367]
s1740,根据所述车辆的车道,调整所述车道推理模型的参数。
[0368]
可选地,所述获取车辆的多种不同类型的传感器检测到的交通元素数据,可以包括:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
[0369]
可选地,所述对所述检测结果进行处理得到所述交通元素数据,可以包括:对所述检测结果进行坐标系转换,得到所述交通元素数据。
[0370]
可选地,所述多种不同类型的传感器可以包括摄像头、激光雷达或毫米波雷达。
[0371]
可选地,所述交通元素数据可以为所述交通元素的轮廓、位置和/或运动轨迹,所述交通元素可以包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
[0372]
可选地,所述方法还可以包括:根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道,可以包括:使用所述车道推理模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
[0373]
可选地,所述使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道,可以包括:使用所述车道推理模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
[0374]
可选地,所述车辆的驾驶意图可以为所述车辆的待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示可以用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
[0375]
可选地,所述车辆的车道可以通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道可以通过路面代价图表示。
[0376]
图18是本技术一个实施例提供的推理车道的装置1800的示意性框图。应理解,图18示出的推理车道的装置1800仅是示例,本技术实施例的装置1800还可包括其他模块或单元。应理解,行为规划装置1800能够执行图7或图8的方法中的各个步骤,为了避免重复,此处不再详述。
[0377]
获取单元1810,用于获取车辆的多种不同类型的传感器的检测结果。
[0378]
转换单元1820,用于对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据。
[0379]
车道推理单元1830,用于使用预设的神经网络模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道。
[0380]
可选地,所述获取单元1810具体用于:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
[0381]
可选地,所述获取单元1810具体用于:对所述检测结果进行坐标系转换,得到所述交通元素数据。
[0382]
可选地,所述多种不同类型的传感器包括摄像头、激光雷达或毫米波雷达。
[0383]
可选地,所述交通元素数据为交通元素的轮廓、位置和/或运动轨迹,所述交通元素包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
[0384]
可选地,所述装置1800还包括叠加单元1840,用于:根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述车道推理单元1830具体用于:使用预设的神经网络模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
[0385]
可选地,所述车道推理单元1830具体用于:使用预设的神经网络模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
[0386]
可选地,所述车辆的驾驶意图为所述车辆待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
[0387]
可选地,所述车辆的车道通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道通过路面代价图表示。
[0388]
应理解,这里的推理车道的装置1800以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
[0389]
作为一个示例,本技术实施例提供的推理车道的装置1800可以是自动驾驶车辆的车载设备,或者,可以是配置于车载设备中的芯片,以用于执行本技术实施例所述的方法。
[0390]
图19是本技术一个实施例提供的训练车道推理模型的装置1900的示意性框图。应理解,图19示出的训练车道推理模型的装置1900仅是示例,本技术实施例的装置1900还可包括其他模块或单元。应理解,行为规划装置1900能够执行图17的方法中的各个步骤,为了避免重复,此处不再详述。
[0391]
获取单元1910,用于获取车辆的多种不同类型的传感器的检测结果。
[0392]
转换单元1920,用于对所述检测结果进行坐标系转换,得到位于同一个坐标系下的交通元素数据。
[0393]
车道推理单元1930,用于使用车道推理模型,基于所述交通元素数据进行车道推理,得到所述车辆的车道;
[0394]
调整单元1940,用于根据所述车辆的车道,调整所述车道推理模型的参数。
[0395]
可选地,所述获取单元1910具体用于:获取所述多种不同类型的传感器的检测结果;对所述检测结果进行处理得到所述交通元素数据。
[0396]
可选地,所述获取单元1910具体用于:对所述检测结果进行坐标系转换,得到所述交通元素数据。
[0397]
可选地,所述多种不同类型的传感器包括摄像头、激光雷达或毫米波雷达。
[0398]
可选地,所述交通元素数据为交通元素的轮廓、位置和/或运动轨迹,所述交通元素包括车道标识线、所述车辆周围的其他车辆、行人、道路或交通灯中的一种或多种。
[0399]
可选地,所述装置1900还包括叠加单元1950,用于:根据所述交通元素数据确定环境感知图像,所述环境感知图像用于指示所述车辆周围的环境及所述交通元素,所述环境感知图像包括环视图像或前视图像中的至少一种;其中,所述车道推理单元1930具体用于:使用所述车道推理模型,基于所述环境感知图像进行车道推理,得到所述车辆的车道。
[0400]
可选地,所述车道推理单元1930具体用于:使用所述车道推理模型,基于所述交通元素数据和车辆的驾驶意图进行车道推理,得到所述车辆的车道,所述车辆的驾驶意图用于指示所述车辆待行驶的路线。
[0401]
可选地,所述车辆的驾驶意图为所述车辆待行驶的车道的路线示意图或车辆语义指示,所述车辆语义指示用于指示所述车辆的行驶方向、行驶车道或行驶路口中的至少一种。
[0402]
可选地,所述车辆的车道通过所述车道的中心线和所述车道的宽度表示,或者,所述车辆的车道通过路面代价图表示。
[0403]
应理解,这里的训练车道推理模型的装置1900以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
[0404]
作为一个示例,本技术实施例提供的训练车道推理模型的装置1900可以是自动驾驶车辆的车载设备,或者,可以是配置于车载设备中的芯片,以用于执行本技术实施例所述的方法。
[0405]
图20是本技术一个实施例的装置800的示意性框图。图20所示的装置800包括存储器801、处理器802、通信接口803以及总线804。其中,存储器801、处理器802、通信接口803通过总线804实现彼此之间的通信连接。
[0406]
存储器801可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器801可以存储程序,当存储器801中存储的程序被处理器802执行时,处理器802用于执行本技术实施例的规划推理车道的方法或训练车道推理模型的方法的各个步骤,例如,可以执行图7、图8或图17所示实施例的各个步骤。
[0407]
处理器802可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本技术方法实施例的推理车道的方法或训练车道推理模型的方法。
[0408]
处理器802还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术实施例的规划自动驾驶车辆的方法的各个步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。
[0409]
上述处理器802还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以
实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0410]
结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成本技术实施例中自动驾驶车辆的行为规划装置包括的单元所需执行的功能,或者,执行本技术方法实施例的规划自动驾驶车辆的方法,例如,可以执行图7、图8或图17所示实施例的各个步骤/功能。
[0411]
通信接口803可以使用但不限于收发器一类的收发装置,来实现装置800与其他设备或通信网络之间的通信。
[0412]
总线804可以包括在装置800各个部件(例如,存储器801、处理器802、通信接口803)之间传送信息的通路。
[0413]
应理解,本技术实施例所示的装置800可以是自动驾驶车辆中的车载设备,或者,也可以是配置于车载设备中的芯片。
[0414]
应理解,本技术实施例中的处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0415]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0416]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过
有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0417]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0418]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0419]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0420]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0421]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0422]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0423]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0424]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0425]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0426]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

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

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

相关文献