道路结构检测方法及装置转让专利

申请号 : CN201911245257.2

文献号 : CN113022573B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周伟

申请人 : 华为技术有限公司

摘要 :

本申请提供道路检测方法及装置,涉及自动驾驶技术领域,能够不依赖高精地图实现道路结构的检测。该方法包括:确定本车道的边界信息以及邻车道的边界信息,并根据本车道的边界信息和邻车道的边界信息确定道路结构信息。本车道的边界信息用于表征当前车道的边界的位置;邻车道的边界信息用于表征相邻车道的边界的位置;边界信息包括车道线信息和/或车道边缘的位置信息;道路结构信息包括本车道与邻车道的合并点和/或本车道与邻车道的分离点的位置信息。

权利要求 :

1.一种道路结构检测方法,其特征在于,包括:

通过一个或多个传感器采集感应信息,根据所述感应信息确定本车道的边界信息,所述本车道的边界信息用于表征当前车道的边界的位置;

根据所述感应信息确定邻车道的边界信息,所述邻车道的边界信息用于表征相邻车道的边界的位置;所述邻车道的边界信息是根据检测到的所述邻车道的行车轨迹信息和道路边界信息确定的,所述道路边界信息用于表征道路边界的位置;所述道路边界信息是根据所述一个或多个传感器采集的感应信息确定的;

其中,所述本车道的边界信息包括本车道的车道线信息和/或本车道的车道边缘的位置信息,所述邻车道的边界信息包括所述邻车道的车道线信息和/或所述邻车道的车道边缘的位置信息;

根据所述本车道的边界信息和所述邻车道的边界信息确定道路结构信息,所述道路结构信息包括所述本车道与所述邻车道的合并点和/或所述本车道与所述邻车道的分离点的位置信息。

2.根据权利要求1所述的道路结构检测方法,其特征在于,

所述邻车道的边界信息包括以下至少一个:

右邻车道的左车道线RL的位置信息;

左邻车道的右车道线LR的位置信息;

右邻车道的左边缘的位置信息;

左邻车道的右边缘的位置信息。

3.根据权利要求2所述的道路结构检测方法,其特征在于,

所述RL的第一位置由道路边界向左平移第一宽度得到;或者,所述RL的第二位置由行车轨迹向左平移第二宽度得到;或者,RL的第三位置由所述RL的第一位置和所述RL的第二位置经预设算法融合得到;

所述LR的第四位置由道路边界向右平移第三宽度得到;或者,所述LR的第五位置由行车轨迹向右平移第四宽度得到;或者,所述LR的第六位置由所述LR的第四位置和所述LR的第五位置经预设算法融合得到;

所述右邻车道的左边缘的第七位置由道路边界向左平移第五宽度得到;或者,所述左边缘的第八位置由行车轨迹向左平移第六宽度得到;或者,所述左边缘的第九位置由所述左边缘的第七位置和所述左边缘的第八位置经预设算法融合得到;

所述左邻车道的右边缘的第十位置由道路边界向右平移第七宽度得到;或者,所述右边缘的第十一位置由行车轨迹向右平移第八宽度得到;或者,所述右边缘的第十二位置由所述右边缘的第十位置和所述右边缘的第十一位置经预设算法融合得到;

其中,所述第一宽度为车道宽度的整数倍,所述第二宽度为半车道宽度的奇数倍,所述第三宽度为所述车道宽度的整数倍,所述第四宽度为所述半车道宽度的奇数倍,所述第五宽度为所述车道宽度的整数倍,所述第六宽度为所述半车道宽度的奇数倍,所述第七宽度为所述车道宽度的整数倍,所述第八宽度为所述半车道宽度的奇数倍。

4.根据权利要求1至3中任一项所述的道路结构检测方法,其特征在于,

所述合并点与参考点之间的距离小于或等于第一阈值,和/或,所述分离点与所述参考点之间的距离小于或等于所述第一阈值,所述参考点包括当前车辆。

5.根据权利要求3所述的道路结构检测方法,其特征在于,所述方法还包括:根据第一阈值调整至少一个宽度,所述宽度包括如下一种或多种宽度:所述第一宽度、所述第二宽度、所述第三宽度、所述第四宽度、所述第五宽度、所述第六宽度、所述第七宽度、所述第八宽度;

根据至少一个宽度调整所述合并点和/或所述分离点。

6.根据权利要求4所述的道路结构检测方法,其特征在于,所述第一阈值是通过传感器的感知范围确定的,或者,所述第一阈值为预配置的数值。

7.根据权利要求5所述的道路结构检测方法,其特征在于,所述第一阈值是通过传感器的感知范围确定的,或者,所述第一阈值为预配置的数值。

8.根据权利要求1或2或3或5或6或7所述的道路结构检测方法,其特征在于,所述邻车道的边界信息是根据道路先验数据确定的,所述道路先验数据包括车道宽度。

9.根据权利要求4所述的道路结构检测方法,其特征在于,所述邻车道的边界信息是根据道路先验数据确定的,所述道路先验数据包括车道宽度。

10.一种道路结构检测装置,其特征在于,包括:

一个或多个传感器,用于采集感应信息;

处理器,用于根据所述感应信息确定本车道的边界信息,所述本车道的边界信息用于表征当前车道的边界的位置;用于根据所述感应信息确定邻车道的边界信息,所述邻车道的边界信息用于表征相邻车道的边界的位置;其中,所述本车道的边界信息包括本车道的车道线信息和/或本车道的车道边缘的位置信息;所述邻车道的边界信息包括所述邻车道的车道线信息和/或所述邻车道的车道边缘的位置信息;所述邻车道的边界信息是根据检测到的行车轨迹信息和道路边界信息确定的,所述道路边界信息用于表征道路边界的位置;所述道路边界信息是根据所述一个或多个传感器采集的感应信息确定的;

所述处理器,还用于根据所述本车道的边界信息和所述邻车道的边界信息确定道路结构信息,所述道路结构信息包括所述本车道与所述邻车道的合并点和/或所述本车道与所述邻车道的分离点的位置信息。

11.根据权利要求10所述的道路结构检测装置,其特征在于,所述邻车道的边界信息包括以下至少一个:右邻车道的左车道线RL的位置信息;

左邻车道的右车道线LR的位置信息;

右邻车道的左边缘的位置信息;

左邻车道的右边缘的位置信息。

12.根据权利要求11所述的道路结构检测装置,其特征在于,

所述RL的第一位置由道路边界向左平移第一宽度得到;或者,所述RL的第二位置由行车轨迹向左平移第二宽度得到;或者,RL的第三位置由所述RL的第一位置和所述RL的第二位置经预设算法融合得到;

所述LR的第四位置由道路边界向右平移第三宽度得到;或者,所述LR的第五位置由行车轨迹向右平移第四宽度得到;或者,所述LR的第六位置由所述LR的第四位置和所述LR的第五位置经预设算法融合得到;

所述右邻车道的左边缘的第七位置由道路边界向左平移第五宽度得到;或者,所述左边缘的第八位置由行车轨迹向左平移第六宽度得到;或者,所述左边缘的第九位置由所述左边缘的第七位置和所述左边缘的第八位置经预设算法融合得到;

所述左邻车道的右边缘的第十位置由道路边界向右平移第七宽度得到;或者,所述右边缘的第十一位置由行车轨迹向右平移第八宽度得到;或者,所述右边缘的第十二位置由所述右边缘的第十位置和所述右边缘的第十一位置经预设算法融合得到;

其中,所述第一宽度为车道宽度的整数倍,所述第二宽度为半车道宽度的奇数倍,所述第三宽度为所述车道宽度的整数倍,所述第四宽度为所述半车道宽度的奇数倍,所述第五宽度为所述车道宽度的整数倍,所述第六宽度为所述半车道宽度的奇数倍,所述第七宽度为所述车道宽度的整数倍,所述第八宽度为所述半车道宽度的奇数倍。

13.根据权利要求10至12中任一项所述的道路结构检测装置,其特征在于,所述合并点与参考点之间的距离小于或等于第一阈值,和/或,所述分离点与所述参考点之间的距离小于或等于所述第一阈值,所述参考点包括车辆。

14.根据权利要求12所述的道路结构检测装置,其特征在于,所述处理器,还用于根据第一阈值调整至少一个宽度;以及用于根据至少一个宽度调整所述合并点和/或所述分离点;所述宽度包括如下一种或多种宽度:所述第一宽度、所述第二宽度、所述第三宽度、所述第四宽度、所述第五宽度、所述第六宽度、所述第七宽度、所述第八宽度。

15.根据权利要求13所述的道路结构检测装置,其特征在于,所述第一阈值是通过传感器的感知范围确定的,或者,所述第一阈值为预配置的数值。

16.根据权利要求14所述的道路结构检测装置,其特征在于,所述第一阈值是通过传感器的感知范围确定的,或者,所述第一阈值为预配置的数值。

17.根据权利要求13所述的道路结构检测装置,其特征在于,所述邻车道的边界信息是根据道路先验数据确定的,所述道路先验数据包括车道宽度。

18.根据权利要求10、11、12、14、15、16中任一项所述的道路结构检测装置,其特征在于,所述邻车道的边界信息是根据道路先验数据确定的,所述道路先验数据包括车道宽度。

19.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,如权利要求1至9中任一项所述的道路结构检测方法被实现。

20.一种芯片系统,其特征在于,包括处理器和通信接口,所述处理器用于实现权利要求1至9任意一项所述的道路结构检测方法。

21.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求1至9任意一项所述的道路结构检测方法。

22.一种道路结构检测装置,其特征在于,包括处理器和存储器;

所述存储器用于存储计算机执行指令,当所述装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述装置执行如权利要求1‑9中任意一项所述的道路结构检测方法。

说明书 :

道路结构检测方法及装置

技术领域

[0001] 本申请涉及自动驾驶领域,尤其涉及道路结构检测方法及装置。

背景技术

[0002] 在自动驾驶中,智能车辆需要对周边的环境进行感知。智能车辆可以通过多种传感器对车辆周边的环境进行检测、分类,并将这些信息传输到规划和控制模块,形成对智能车辆的驾驶策略,完成整个自动驾驶的过程。
[0003] 在行驶过程中,较为重要的方面是检测道路结构,以便于智能车辆能够根据道路结构调整驾驶策略,规避一些道路上的障碍物等,实现更好的自动驾驶。目前现有的一种道路结构检测技术是,利用高精地图获取一些车道信息等,进而确定道路结构。但是,高精地图通常覆盖区域有限,当所行驶区域没有高精地图覆盖时,智能车辆无法获取到相应信息,进而无法确定道路结构。

发明内容

[0004] 本申请提供一种道路结构检测方法及装置,能够不依赖高精地图实现道路结构的检测。
[0005] 为达到上述目的,本申请采用如下技术方案:
[0006] 第一方面,本申请提供一种道路结构检测方法,该方法可以由智能车辆(或者车辆中组件)或者具有控制功能的其他设备(或者其他设备中的组件)执行。该方法包括:确定本车道的边界信息以及邻车道的边界信息,并根据本车道的边界信息和邻车道的边界信息确定道路结构信息。本车道的边界信息用于表征当前车道的边界的位置;邻车道的边界信息用于表征相邻车道的边界的位置;边界信息包括车道线信息和/或车道边缘的位置信息;道路结构信息包括本车道与邻车道的合并点和/或本车道与邻车道的分离点的位置信息。
[0007] 示例性的,车道之间可以使用涂料标记划分边界。或者,使用凸起物(比如护栏、水泥墩等)之类划分边界。当然,还可能是其他边界划分方式。
[0008] 可见,本申请实施例提供的道路结构检测方法,无需借助高精地图,能够在没有高精地图覆盖的区域完成道路结构的检测。也就是说,本申请提供的道路结构检测方法的适用范围更加广泛,能够应用在有高精地图覆盖的区域和无高精地图覆盖的区域。
[0009] 在一种可能的实现方式中,车道线可以是采用涂料在路面上画出的,这样,可以利用视觉传感器(比如摄像头)采集车道线的视觉信息,以确定车道线位置。车道边缘可以是利用凸起物(比如护栏)来划分的,这样,可以利用雷达或者类似组件发射特定的波,并获取车道边缘凸起物的发射波,通过发射波和反射波的特征(比如相位差、频率差等)获取车道边缘的位置。当然,也可以通过摄像头等采集车道边缘诸如护栏的视觉信息,以确定诸如护栏的位置信息。
[0010] 在一种可能的实现方式中,邻车道的边界信息是根据检测到的行车轨迹信息和/或道路边界信息确定的,道路边界信息用于表征道路边界的位置。
[0011] 也就是说,可以根据检测到的行车轨迹信息确定邻车道的边界信息,或者,可以根据道路边界信息确定邻车道的边界信息,或者,根据检测到的行车轨迹信息以及道路边界信息两者确定邻车道的边界信息。
[0012] 其中,可以利用车辆的视觉传感器,比如摄像头采集邻车道的车辆的视觉信息,以确定检测到的行车轨迹信息。还可以利用车辆的雷达或者具有相似功能的组件,利用收发激光、毫米波等方式,确定其他车道中车辆的位置、速度等信息,以确定该其他车道的行车轨迹信息。当然,也可以采用其他方式确定其他车道的行车轨迹信息。
[0013] 当采用涂料等平面图案标记道路边界线时,可以采用摄像头等组件采集道路边界线的视觉信息,以确定道路边界位置,即道路边界信息。当采用凸起物(护栏、或水泥墩等)等划分道路边界时,同样可以采用摄像头确定道路边界信息。也可以采用雷达等组件确定道路边界信息。
[0014] 可见,本申请的技术方案中,邻车道边界信息是根据道路边界信息和/或检测到的行车轨迹信息推断出的,而并非直接通过摄像头检测邻车道边界信息。这样一来,能够一定程度上避免直接通过摄像头采集邻车道的车道线位置时,因摄像头检测性能不佳(比如检测距离较小)或者环境因素(比如雾霾),导致采集的邻车道的车道线位置不准确,或者无法采集到邻车道的车道线位置的问题。
[0015] 在一种可能的实现方式中,邻车道的边界信息包括以下至少一个:
[0016] 右邻车道的左车道线RL的位置信息;
[0017] 左邻车道的右车道线LR的位置信息;
[0018] 右邻车道的左边缘的位置信息;
[0019] 左邻车道的右边缘的位置信息。
[0020] 在一种可能的实现方式中,当本车道与右邻车道之间存在合并点或分离点时,需根据上述本车道的边界信息和右邻车道的边界信息确定合并点或分离点位置。这里,需要先确定右邻车道的边界信息。
[0021] 当采用涂料标记方式划分车道边界时,右邻车道的边界信息,指的是右邻车道的左车道线(RL)位置。其中,RL的位置可由道路边界信息推导而来,具体的,RL的第一位置由道路边界向左平移第一宽度得到。或者,RL位置由其他车道的行车轨迹推导而来,具体的,RL的第二位置由行车轨迹向左平移第二宽度得到。或者,RL位置可由道路边界位置和其他车道的行车轨迹联合推导而来,具体的,RL的第三位置(可称为融合位置)由RL的第一位置和RL的第二位置经预设算法融合得到。这样,当第一位置和第二位置中存在准确度较差的位置时,能够校正融合位置与实际合并点(和/或分离点)位置之间的偏差,提升最终确定的位置结果的准确度。
[0022] 当采用凸起物或类似方式划分车道边界时,右邻车道的边界信息,指的是右邻车道的左边缘位置。其中,该左边缘的位置可由道路边界位置推导而来,具体的,右邻车道的左边缘的第七位置由道路边界向左平移第五宽度得到。或者,该左边缘的位置可由其他车道的行车轨迹推导而来,具体的,左边缘的第八位置由行车轨迹向左平移第六宽度得到。或者,该左边缘的位置可由道路边界位置以及其他车道的行车轨迹两者推导而来,具体的,左边缘的第九位置由左边缘的第七位置和左边缘的第八位置经预设算法融合得到。
[0023] 类似的,当采用涂料标记方式划分车道边界时,左邻车道的边界信息,指的是左邻车道的右车道线(LR)位置。LR的第四位置由道路边界向右平移第三宽度得到;或者,LR的第五位置由行车轨迹向右平移第四宽度得到;或者,LR的第六位置由LR的第四位置和LR的第五位置经预设算法融合得到。
[0024] 当采用凸起物或类似方式划分车道边界时,左邻车道的边界信息,指的是左邻车道的右边缘位置。左邻车道的右边缘的第十位置由道路边界向右平移第七宽度得到;或者,右边缘的第十一位置由行车轨迹向右平移第八宽度得到;或者,右边缘的第十二位置由右边缘的第十位置和右边缘的第十一位置经预设算法融合得到。
[0025] 其中,第一宽度为车道宽度的整数倍,第二宽度为半车道宽度的奇数倍,第三宽度为车道宽度的整数倍,第四宽度为半车道宽度的奇数倍,第五宽度为车道宽度的整数倍,第六宽度为半车道宽度的奇数倍,第七宽度为车道宽度的整数倍,第八宽度为半车道宽度的奇数倍。
[0026] 在一种可能的实现方式中,合并点与参考点之间的距离小于或等于第一阈值,和/或,分离点与参考点之间的距离小于或等于第一阈值,参考点包括车辆。
[0027] 当初步确定的合并点与车辆之间的距离小于或等于第一阈值,视为初步确定的合并点位置准确,无需再进一步调整合并点的位置。
[0028] 在一种可能的实现方式中,当初步确定的合并点与车辆之间的距离小于或等于第一阈值,其可能是在确定邻车道边界信息时,由道路边界和/或行车轨迹所需平移的第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度不准确,可能导致初步确定的合并点和/或分离点位置不准确。此种情况下,需进一步调整合并点和/或分离点位置,以提升道路结构检测结果的准确性。具体的,根据第一阈值调整第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度;基于调整的第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度,调整合并点;和/或,根据第一阈值调整第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度;基于调整的第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度,调整分离点。
[0029] 上述技术方案中,调整道路边界位置所需平移的宽度,和/或行车轨迹所需平移的宽度,并基于该调整,确定邻车道的边界信息,使得到的邻车道的边界信息更为精准,由此确定的合并点(和/或分离点)位置更为准确。基于精准的合并点(和/或分离点)位置,可以制定更为精准的驾驶策略,以指导车辆驾驶,提升驾驶的安全性。
[0030] 在一种可能的实现方式中,第一阈值是通过传感器的感知范围确定的,或者,第一阈值为预配置的数值。
[0031] 在一种可能的实现方式中,邻车道的边界信息是根据道路先验数据确定的,道路先验数据包括车道宽度。
[0032] 第二方面,本申请提供一种道路结构检测装置,该装置可以为车辆,也可以是能够支持车辆实现驾驶功能的装置,其可以和车辆匹配使用,例如可以是车辆中的装置(比如是车辆中的芯片系统,或者车辆的计算机系统上运行的操作系统和/或驱动等),还可以是其他设备(比如服务器)或设备中的芯片等。该装置包括确定模块、调整模块,这些模块可以执行上述第一方面任一种设计示例中的道路结构检测方法,具体的:
[0033] 确定模块,用于确定本车道的边界信息,本车道的边界信息用于表征当前车道的边界的位置;确定邻车道的边界信息,邻车道的边界信息用于表征相邻车道的边界的位置。其中,边界信息包括车道线信息和/或车道边缘的位置信息。
[0034] 确定模块,还用于根据本车道的边界信息和邻车道的边界信息确定道路结构信息,道路结构信息包括本车道与邻车道的合并点和/或本车道与邻车道的分离点的位置信息。
[0035] 在一种可能的设计中,邻车道的边界信息是根据检测到的行车轨迹信息和/或道路边界信息确定的,道路边界信息用于表征道路边界的位置。
[0036] 在一种可能的设计中,邻车道的边界信息包括以下至少一个:
[0037] 右邻车道的左车道线RL的位置信息;
[0038] 左邻车道的右车道线LR的位置信息;
[0039] 右邻车道的左边缘的位置信息;
[0040] 左邻车道的右边缘的位置信息。
[0041] 在一种可能的设计中,RL的第一位置由道路边界向左平移第一宽度得到;或者,RL的第二位置由行车轨迹向左平移第二宽度得到;或者,RL的第三位置由RL的第一位置和RL的第二位置经预设算法融合得到。
[0042] LR的第四位置由道路边界向右平移第三宽度得到;或者,LR的第五位置由行车轨迹向右平移第四宽度得到;或者,LR的第六位置由LR的第四位置和LR的第五位置经预设算法融合得到。
[0043] 右邻车道的左边缘的第七位置由道路边界向左平移第五宽度得到;或者,左边缘的第八位置由行车轨迹向左平移第六宽度得到;或者,左边缘的第九位置由左边缘的第七位置和左边缘的第八位置经预设算法融合得到。
[0044] 左邻车道的右边缘的第十位置由道路边界向右平移第七宽度得到;或者,右边缘的第十一位置由行车轨迹向右平移第八宽度得到;或者,右边缘的第十二位置由右边缘的第十位置和右边缘的第十一位置经预设算法融合得到。
[0045] 其中,第一宽度为车道宽度的整数倍,第二宽度为半车道宽度的奇数倍,第三宽度为车道宽度的整数倍,第四宽度为半车道宽度的奇数倍,第五宽度为车道宽度的整数倍,第六宽度为半车道宽度的奇数倍,第七宽度为车道宽度的整数倍,第八宽度为半车道宽度的奇数倍。
[0046] 在一种可能的设计中,合并点与参考点之间的距离小于或等于第一阈值,和/或,分离点与参考点之间的距离小于或等于第一阈值,参考点包括车辆。
[0047] 在一种可能的设计中,调整模块,用于根据第一阈值调整第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度;基于调整的第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度,调整合并点;和/或,用于根据第一阈值调整第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度;基于调整的第一宽度和/或第二宽度和/或第三宽度和/或第四宽度和/或第五宽度和/或第六宽度和/或第七宽度和/或第八宽度,调整分离点。
[0048] 在一种可能的设计中,第一阈值是通过传感器的感知范围确定的,或者,第一阈值为预配置的数值。
[0049] 在一种可能的设计中,邻车道的边界信息是根据道路先验数据确定的,道路先验数据包括车道宽度。
[0050] 第三方面,本申请实施例提供一种道路结构检测装置,该装置具有实现上述第一方面中任一项的道路结构检测方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
[0051] 第四方面,提供一种道路结构检测装置,包括:处理器。处理器用于与存储器耦合,并读取存储器中的指令之后,根据指令执行如上述第一方面中任一项的道路结构检测方法。
[0052] 其中,存储器可以是装置的外置存储器。该外置存储器与处理器耦合。存储器也可以指装置中包括的存储器。即该装置可选的包括存储器。
[0053] 另外,该装置还可以包括通信接口。用以该装置和其他设备之间通信。通信接口可以比如但不限于是收发器,收发电路等。
[0054] 第五方面,本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行第一方面的方法。
[0055] 第六方面,本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行第一方面的方法。
[0056] 第七方面,本申请实施例提供了一种道路结构检测装置,该检测装置可以为传感器装置,例如雷达装置。该装置还可以为芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面方法的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
[0057] 第八方面,提供一种道路结构检测装置,该装置可以为电路系统,电路系统包括处理电路,处理电路被配置为执行如上述第一方面中任一项的道路结构检测方法。
[0058] 第九方面,本申请实施例提供了一种系统,系统包括第二至第四方面中任一方面的装置,和/或第七方面的芯片系统,和/或第八方面的电路系统,和/或第五方面中的可读存储介质,和/或第六方面中的计算机程序产品,和/或一个或多个类型的传感器,和/或智能车。
[0059] 其中,一个或多个类型的传感器可以但不限于是视觉传感器(比如摄像头等),雷达或其他具有类似功能的传感器。
[0060] 第十方面,本申请实施例提供了一种智能车,其中包括第二至第四方面中任一方面的装置,和/或第七方面的芯片系统,和/或第八方面的电路系统,和/或第五方面中的可读存储介质,和/或第六方面中的计算机程序产品。

附图说明

[0061] 图1为本申请实施例提供的一种自动驾驶汽车的结构示意图;
[0062] 图2为本申请实施例提供的一种自动驾驶汽车的结构示意图;
[0063] 图3为本申请实施例提供的一种计算机系统的结构示意图;
[0064] 图4为本申请实施例提供的一种神经网络处理器的结构示意图;
[0065] 图5为本申请实施例提供的一种云侧指令自动驾驶汽车的应用示意图;
[0066] 图6为本申请实施例提供的一种云侧指令自动驾驶汽车的应用示意图;
[0067] 图7为本申请实施例提供的一种计算机程序产品的结构示意图;
[0068] 图8为本申请实施例提供的道路结构检测方法的场景示意图;
[0069] 图9为本申请实施例提供的道路结构检测方法的流程示意图;
[0070] 图10、图11为本申请实施例提供的道路结构检测方法的场景示意图;
[0071] 图12为本申请实施例提供的道路结构检测装置的结构示意图;
[0072] 图13为本申请实施例提供的道路结构检测装置的结构示意图。

具体实施方式

[0073] 本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0074] 本申请实施例提供的道路结构检测方法应用在智能车辆上,或者应用于具有控制功能的其他设备(比如云端服务器)中。车辆可通过其包含的组件(包括硬件和软件)实施本申请实施例提供的道路结构检测方法,获取本车道的车道线信息,以及邻车道的边界信息,并根据这两者确定道路结构信息。或者,其他设备(比如服务器)通过包含的组件可以用于实施本申请实施例的道路结构检测方法,获取本车道的车道线信息,以及邻车道的边界信息,并根据这两者确定道路结构信息,向目标车辆发送该道路结构信息。该道路结构信息用于目标车辆制定驾驶策略。
[0075] 图1是本申请实施例提供的车辆100的功能框图。在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。例如,车辆100可以在处于自动驾驶模式的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式时,可以将车辆100置为在没有和人交互的情况下操作。
[0076] 车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
[0077] 行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,行进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。
[0078] 引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
[0079] 能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。
[0080] 传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
[0081] 传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是全球定位系统(global positioning system,GPS),也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
[0082] 不同类型的传感器有着不同的特点。对于毫米波雷达而言,可以全天候工作,同时有着良好的测距测速精度,但是分类识别效果不好。摄像头具有强大的分辨率,有着很强的目标识别分类效果,但是因为丧失了深度信息,所以对于测距测速等性能可能不佳。激光雷达具有较好的深度信息,同时也可以进行测距测速,但是检测的距离不远。可以看到,这些不同类型的传感器有着不同的特征,在不同功能需求下,需要不同的传感器进行融合处理,来实现更好的性能。
[0083] 定位系统122可用于估计车辆100的地理位置。IMU 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。
[0084] 雷达126,或称为雷达装置,也可以称为探测器、探测装置或者无线电信号发送装置。可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。其工作原理是通过发射信号(或者称为探测信号),并接收经过目标物体反射的反射信号(在本文中,也称为目标物体的回波信号,双程回波信号等),来探测相应的目标物体。
[0085] 其中,雷达根据不同的用途有多种不同的雷达波形,包括但不限于脉冲毫米波、步进调频连续波、线性调频连续波。其中,线性调频连续波较为常见、技术较为成熟。线性调频连续波具有较大的时带积,通常具有较高的测距精度和测距分辨率。其支持自适应巡航控制(Adaptive Cruise Control,ACC)、自动紧急制动(Autonomous Emergency Braking,AEB)、变道辅助(Lance Change Assist,LCA)、盲点监测(Blind Spot Monitoring,BSD)等辅助驾驶功能。
[0086] 激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
[0087] 相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
[0088] 控制系统106可控制车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、计算机视觉系统140、路线控制系统142以及障碍规避系统144。
[0089] 转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
[0090] 油门134用于控制引擎118的操作速度并进而控制车辆100的速度。
[0091] 制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。
[0092] 计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像,以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(structure from motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
[0093] 路线控制系统142用于确定车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器、定位系统122和一个或多个预定地图的数据以为车辆100确定行驶路线。
[0094] 障碍规避系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
[0095] 当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
[0096] 车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。
[0097] 在一些实施例中,外围设备108提供车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备或用户通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。
[0098] 无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用第三代(3rd‑generation,3G)蜂窝通信,例如码分多址(code division multiple access,CDMA)、数据演化(evolution data only,EVDO)、全球移动通信系统(global system for mobile communications,GSM),通用无线分组业务(general packet radio service,GPRS),或者第四代(the 4th generation,4G)蜂窝通信,例如长期演进(long term evolution,LTE)。或者第五代(5th‑Generation,5G)蜂窝通信。无线通信系统146可利用无线保真(wireless fidelity,WiFi)与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或紫蜂(ZigBee)与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备。
[0099] 电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源,从而为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
[0100] 车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
[0101] 处理器113可以是任何常规的处理器,诸如商业可获得的中央处理单元(Central Processing Unit,CPU)。替选地,该处理器可以是诸如专用集成电路(Application Specific Integrated Circuit,ASIC)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同物理外壳中的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机系统、或存储器实际上可以包括可以在相同的物理外壳内的多个处理器、计算机系统、或存储器,或者包括可以不在相同的物理外壳内的多个处理器、计算机系统、或存储器。例如,存储器可以是硬盘驱动器,或位于不同于物理外壳内的其它存储介质。因此,对处理器或计算机系统的引用将被理解为包括对可以并行操作的处理器或计算机系统或存储器的集合的引用,或者可以不并行操作的处理器或计算机系统或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
[0102] 在此处所描述的各个方面中,处理器可以位于远离该车辆的位置并且与该车辆进行无线通信,这类处理器可以称为远程处理器。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
[0103] 在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向行进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
[0104] 除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。
[0105] 比如,在本申请实施例中,数据存储装置114从传感器系统104或车辆100的其他组件获取的本车道的车道线信息,还可以从上述组件获取检测到的行车轨迹信息和/或道路边界信息。其中,道路边界信息用于表征道路边界的位置。数据存储装置114还可以存储上述获取的信息。再比如,车辆基于雷达126的测速、测距功能,得到其他车辆与自身之间的距离、其他车辆的速度等。如此,处理器113可从数据存储装置114获取这些信息,并基于这些信息,确定道路结构信息。道路结构信息可以用于辅助车辆确定驾驶策略,以控制车辆进行驾驶。
[0106] 用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150和扬声器152中的一个或多个。
[0107] 计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可利用来自控制系统106的输入,以便控制转向系统132,从而规避由传感器系统104和障碍规避系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
[0108] 可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
[0109] 可选地,上述组件只是一个示例。实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本申请实施例的限制。
[0110] 在道路行进的智能汽车,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定智能汽车所要调整的速度。
[0111] 可选地,车辆100或者与车辆100相关联的计算设备(如图1的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此,还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,智能汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
[0112] 除了提供调整智能汽车的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得智能汽车遵循给定的轨迹和/或维持与智能汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
[0113] 上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本申请实施例不做特别的限定。
[0114] 在本申请的另一些实施例中,智能车辆还可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
[0115] 参见图2,示例性的,车辆中可以包括以下模块:
[0116] 环境感知模块201,用于获取路侧传感器和/或车载传感器识别的车辆、行人、路面物体的信息。路侧传感器与车载传感器可以是摄像头(相机)、激光雷达、毫米波雷达等。环境感知模块获取到的数据可以是原始采集的视频流、雷达的点云数据或者是经过分析的结构化的人、车、物的位置、速度、转向角度、尺寸大小数据。对于原始的视频流数据、雷达的点云数据,环境感知模块可以将这些数据处理成可识别的结构化的人、车、物的位置、速度、转向角度、尺寸大小等数据,并向控制模块202传递这些数据,以便于控制模块202生成驾驶策略。在本申请实施例中,环境感知模块201包括摄像头或者雷达,用于获取车辆所在本车道的边界信息。还用于获取道路边界信息和/或检测到的行车轨迹信息。其中,道路边界信息和/或检测到的行车轨迹信息,用于确定邻车道边界信息。本车道边界信息和邻车道边界信息,用于确定道路结构信息。
[0117] 控制模块202:该模块可以是车辆所具备的传统控制模块,其作用是根据环境感知模块201输入的数据(本车道边界信息、行车轨迹信息和/或道路边界信息),确定道路结构信息。还用于将根据行车轨迹信息确定的邻车道边界信息,和根据道路边界信息确定的邻车道边界信息进行融合,得到更为准确的邻车道边界信息。还用于根据道路结构信息生成驾驶策略,并输出驾驶策略对应的动作指令,向控制模块203发送该动作指令。该动作指令用于指示控制模块203对车辆进行驾驶控制。控制模块202可以是具有控制、处理功能的组件或子系统的集合。比如,可以是图1所示的处理器113,或者处理器中的部分功能模块,或者类似组件或类似子系统。
[0118] 控制模块203:用于从控制模块202接收动作指令,以控制车辆完成驾驶操作。控制模块203可以是具有控制、处理功能的组件或子系统的集合。比如,可以是图1所示的处理器113,或者类似组件或类似子系统。
[0119] 当然,还可以将上述各个模块集成在一个模块中。该集成模块用于提供上述多个功能。
[0120] 车载通信模块(图2中并未示出):用于车辆和其他车之间的信息交互。车载通信模块可以比如但不限于为如图1所示的无线通信系统146中的组件。
[0121] 存储组件(图2中并未示出),用于存储上述各个模块的可执行代码。运行这些可执行代码可实现本申请实施例的部分或全部方法流程。存储组件可以比如但不限于为如图1所示的数据存储装置114中的组件。
[0122] 在本申请实施例的一种可能的实现方式中,如图3所示,图1所示的计算机系统112包括处理器303,处理器303和系统总线305耦合。处理器303可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)307,显示适配器307可以驱动显示器309,显示器309和系统总线305耦合。系统总线305通过总线桥311和输入输出(I/O)总线(BUS)313耦合。I/O接口315和I/O总线313耦合。I/O接口315和多种I/O设备进行通信,比如输入设备317(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)321,(例如,CD‑ROM,多媒体接口等)。收发器323(可以发送和/或接收无线电通信信号),摄像头355(可以捕捉静态和动态数字视频图像)和外部通用串行总线(Universal Serial Bus,USB)接口325。其中,可选地,和I/O接口315相连接的接口可以是USB接口。
[0123] 其中,处理器303可以是任何传统处理器,包括精简指令集计算(Reduced Instruction Set Computer,RISC)处理器、复杂指令集计算(Complex Instruction Set Computer,CISC)处理器或上述的组合。可选地,处理器可以是诸如专用集成电路(application specific integrated circuit,ASIC)的专用装置。可选地,处理器303可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
[0124] 可选地,在本文所述的各种实施例中,计算机系统112可位于远离车辆的地方,并且可与车辆100无线通信。在其它方面,本文所述的一些过程可设置在车辆内的处理器上执行,其它一些过程由远程处理器执行,包括采取执行单个操纵所需的动作。
[0125] 计算机系统112可以通过网络接口329和软件部署服务器(deploying server)349通信。网络接口329是硬件网络接口,比如,网卡。网络(network)327可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络327还可以为无线网络,比如WiFi网络,蜂窝网络等。
[0126] 硬盘驱动器接口331和系统总线305耦合。硬盘驱动器接口331和硬盘驱动器333相连接。系统内存335和系统总线305耦合。运行在系统内存335的数据可以包括计算机系统112的操作系统(OS)337和应用程序343。
[0127] 操作系统包括但不限于Shell 339和内核(kernel)341。Shell 339是介于使用者和操作系统的内核(kernel)间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
[0128] 内核341由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等功能。
[0129] 应用程序343包括控制汽车驾驶相关的程序,比如,管理汽车和路上障碍物交互的程序,控制汽车路线或者速度的程序,控制汽车和路上其他汽车交互的程序。应用程序343也存在于deploying server 349的系统上。在一个实施例中,在需要执行应用程序343时,计算机系统112可以从deploying server 349下载应用程序343。
[0130] 又比如,应用程序343可以是控制车辆根据本车道的车道线信息、邻车道的边界信息(根据道路边界信息和/或检测到的行车轨迹信息确定),确定道路结构信息的应用程序。计算机系统112的处理器303调用该应用程序343,得到最终的道路结构。
[0131] 传感器353和计算机系统112关联。传感器353用于探测计算机系统112周围的环境。举例来说,传感器353可以探测动物,汽车,障碍物和人行横道等。进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境。比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选地,如果计算机系统112位于汽车上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。
[0132] 在本申请的另一些实施例中,本申请实施例的道路结构检测方法还可以由芯片系统执行。芯片系统可以位于车辆,也可以位于其他位置,比如,位于服务器。参见图4,是本申请实施例提供的一种芯片系统的示例性结构图。
[0133] 神经网络处理器(neural‑network processing unit,NPU)50可以作为协处理器挂载到主CPU(host CPU)上,由host CPU为NPU分配任务。NPU的核心部分为运算电路503。示例性的,通过控制器504控制运算电路503,从而运算电路503可提取存储器中的矩阵数据并进行乘法运算。
[0134] 在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列,或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
[0135] 举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路503从权重存储器502中获取权重矩阵B相应的数据,并缓存在运算电路503中每一个PE上。运算电路503从输入存储器501中取输入矩阵A相应的数据,并根据输入矩阵A和权重矩阵B进行矩阵运算,得到矩阵运算的部分结果或最终结果可保存在累加器(accumulator)508中。
[0136] 又比如,运算电路503可用于实现特征提取模型(如卷积神经网络模型),并将图像数据输入卷积神经网络模型,通过该模型的运算,得到图像的特征。进而,将图像特征输出到分类器,由分类器输出图像中物体的分类概率。
[0137] 统一存储器506用于存放输入数据以及输出数据。外部存储器中的权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)505被送往到权重存储器502中。外部存储器中的输入数据可通过DMAC被搬运到统一存储器506中,或者被搬运到输入存储器501中。
[0138] 总线接口单元(Bus Interface Unit,BIU)510,用于高级可拓展接口(advanced extensible interface,AXI)总线与DMAC和取指存储器(instruction fetch buffer)509的交互。还用于取指存储器509从外部存储器获取指令,还用于存储单元访问控制器505从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
[0139] DMAC主要用于将外部存储器中的输入数据搬运到统一存储器506,或将权重数据搬运到权重存储器502中,或将输入数据搬运到输入存储器501中。
[0140] 向量计算单元507可包括多个运算处理单元。用于在需要的情况下,可以对运算电路503的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/FC层网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
[0141] 在一些实现中,向量计算单元507将经处理的输出向量存储到统一存储器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出向量还能够用作运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
[0142] 控制器504连接取指存储器(instruction fetch buffer)509,控制器504使用的指令可存储在取指存储器509中。
[0143] 作为一种可能的实现方式,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On‑Chip)存储器。外部存储器私有于该NPU硬件架构。
[0144] 结合图1至图3,主CPU和NPU共同配合,可实现图1中车辆100所需功能的相应算法,也可实现图2所示车辆所需功能的相应算法,也可以实现图3所示计算机系统112所需功能的相应算法。当图4所示芯片系统位于除车辆之外的位置,比如服务器,主CPU和NPU共同配合,可以实现服务器所需功能的相应算法。
[0145] 在本申请的另一些实施例中,计算机系统112还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统104收集的传感器数据可以被转移到另一个计算机,由另一计算机对此数据进行处理。如图5所示,来自计算机系统112的数据可以经由网络被传送到云侧的计算机系统720用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和超文本传输协议(hypertext transfer protocol,HTTP)、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备执行,诸如调制解调器和无线接口。
[0146] 在一个示例中,计算机系统720可以包括具有多个计算机的服务器,例如负载均衡服务器群。为了从计算机系统112接收、处理并传送数据,计算机系统720与网络的不同节点交换信息。该服务器720可以具有类似于计算机系统112的配置,并具有处理器730、存储器740、指令750、和数据760。
[0147] 在一个示例中,服务器720的数据760可以包括提供天气相关的信息。例如,服务器720可以接收、监视、存储、更新、以及传送与天气相关的各种信息。该信息可以包括例如以报告形式、雷达信息形式、预报形式等的降水、云、和/或温度信息和/或湿度信息。
[0148] 参见图6,为车辆和云服务中心(云服务器)交互的示例。云服务中心可以经诸如无线通信网络的网络511,从其操作环境500内的车辆513、512接收信息(诸如车辆传感器收集到数据或者其它信息)。
[0149] 云服务中心520根据接收到的数据,运行其存储的控制汽车驾驶相关的程序对车辆513、512进行控制。控制汽车驾驶相关的程序可以为:管理汽车和路上障碍物交互的程序,或者控制汽车路线或者速度的程序,或者控制汽车和路上其他汽车交互的程序。
[0150] 示例性的,云服务中心520通过网络511可将地图的部分提供给车辆513、512。在其它示例中,可以在不同位置之间划分操作。例如,多个云服务中心可以接收、证实、组合和/或发送信息报告。在一些示例中还可以在车辆之间发送信息报告和/传感器数据。其它配置也是可能的。
[0151] 在一些示例中,云服务中心520向车辆发送关于环境内可能的驾驶情况所建议的解决方案(如,告知前方障碍物,并告知如何绕开它))。例如,云服务中心520可以辅助车辆确定当面对环境内的特定障碍时如何行进。云服务中心520向车辆发送指示该车辆应当在给定场景中如何行进的响应。例如,云服务中心520基于收集到的传感器数据,可以确认道路前方具有临时停车标志的存在,又比如,基于“车道封闭”标志和施工车辆的传感器数据,确定该车道由于施工而被封闭。相应地,云服务中心520发送用于车辆通过障碍的建议操作模式(例如:指示车辆变道另一条道路上)。云服务中心520观察其操作环境500内的视频流,并且已确认车辆能安全并成功地穿过障碍时,对该车辆所使用的操作步骤可以被添加到驾驶信息地图中。相应地,这一信息可以发送到该区域内可能遇到相同障碍的其它车辆,以便辅助其它车辆不仅识别出封闭的车道还知道如何通过。
[0152] 在一些实施例中,所公开的方法可以实施为以机器可读格式,被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图7示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品600是使用信号承载介质601来提供的。信号承载介质601可以包括一个或多个程序指令602,其当被一个或多个处理器运行时可以提供以上针对图1至图6描述的全部功能或者部分功能,或者可以提供后续实施例中描述的全部或部分功能。例如,参考图9中所示的实施例,S901至S903中的一个或多个特征可以由与信号承载介质601相关联的一个或多个指令来承担。此外,图7中的程序指令602也描述示例指令。
[0153] 在一些实施例中,当本申请实施例的技术方案由车辆或车辆中的组件执行,计算机程序产品可以为车辆或其组件所使用的程序产品。当本申请实施例的技术方案由车辆之外的其他装置执行,比如服务器,计算机程序产品可以为该其他装置所使用的程序产品。
[0154] 在一些示例中,信号承载介质601可以包含计算机可读介质603,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(read‑only memory,ROM)或随机存储记忆体(random access memory,RAM)等等。在一些实施方式中,信号承载介质601可以包含计算机可记录介质604,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质601可以包含通信介质605,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质601可以由无线形式的通信介质605(例如,遵守电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令602可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图1至图6描述的计算设备可以被配置为,响应于通过计算机可读介质603、和/或计算机可记录介质604、和/或通信介质605中的一个或多个传达到计算设备的程序指令602,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
[0155] 本申请实施例提供的道路结构检测方法应用在自动/半自动驾驶或其他驾驶场景中。具体的,应用在确定道路结构信息的场景中。道路结构信息包括本车道与邻车道的合并点和/或本车道与邻车道的分离点的位置信息。示例性的,应用在图8中(a)或图8中(b)所示的场景中。如图8中(a)所示,车辆801所在本车道和邻车道(即靠近本车道的车道),即本车道和右邻车道之间存在合并点A。其中,合并点A的位置,即本车道的右车道线(host right lane line,HR)与右邻车道的左车道线(right left lane line,RL)的交叉位置。在本申请实施例中,除非另有说明,车道线通常指使用涂料(比如油漆等)在路面上画出的平面图案。如图8中(b)所示,车辆802所在本车道和右邻车道之间存在分离点B。其中,分离点B的位置,与本车道边缘侧的护栏等凸起物(或水泥墩)和邻车道边缘侧的护栏(或水泥墩)等凸起物的位置有关。示例性的,当两条车道通过护栏隔离时,分离点B的位置为两个护栏的交叉位置。当两条车道通过水泥墩隔离时,分离点B的位置为两个水泥墩的交叉位置。图8中(a)与图8中(b)所示场景的区别在于,合并点或分离点位置是根据什么因素确定的,一种情况下,合并点或分离点的位置由平面的车道线交叉位置确定,一种情况下,合并点或分离点的位置由路面凸起物的位置确定。
[0156] 下面结合各个附图详细描述本申请实施例的道路结构检测方法。
[0157] 本申请实施例提供一种道路结构检测方法,该方法可应用于图1至图6中的装置或图7所示的计算机程序产品或由远离车辆的其他装置中,在下述阐述技术方案时,省略了技术方案的执行主体。参见图9,该方法包括如下步骤:
[0158] S901、确定本车道的边界信息。
[0159] 其中,所述本车道边界信息用于表征本车道(即当前车道)的边界的位置;本车道的边界信息包括本车道的车道线信息,和/或所述本车道边缘的位置信息。作为一种可能的实现方式,车道之间可以采用凸起物划分车道边缘。本车道边缘的位置信息包括但不限于本车道边缘侧凸起物的位置信息。本车道边缘侧的凸起物包括但不限于本车道边缘侧的护栏、水泥墩。
[0160] 作为一种可能的实现方式,可以利用视觉传感器(比如摄像头)采集车道线的视觉信息,以确定车道线位置。可以利用雷达或者类似组件获取车道边缘的位置。
[0161] S902、确定邻车道边界信息。
[0162] 所述邻车道边界信息用于表征相邻车道的边界的位置;邻车道的边界信息包括所述邻车道的车道线信息,和/或所述邻车道边缘的位置信息。当车道之间采用凸起物划分车道边缘时,邻车道边缘的位置信息,可以指邻车道边缘侧凸起物的位置信息。凸起物包括但不限于邻车道边缘侧的护栏、水泥墩。
[0163] 作为一种可能的实现方式,所述邻车道边界信息是根据检测到的行车轨迹信息和/或道路边界信息,以及道路先验数据确定的。即邻车道边界信息是根据道路先验数据和检测到的行车轨迹信息确定的。或者,邻车道边界信息是根据道路先验数据和道路边界信息确定的。或者,邻车道边界信息是根据道路先验数据、检测到的行车轨迹信息,以及道路边界信息确定的。
[0164] 其中,所述道路边界信息用于表征道路边界(edge)的位置。
[0165] 这里,示例性的说明几种确定行车轨迹信息、道路边界信息的方式。其中,可以利用车辆的视觉传感器,比如摄像头采集邻车道的车辆的视觉信息,以确定检测到的行车轨迹信息。还可以利用车辆的雷达或者具有相似功能的组件,利用收发激光、毫米波等方式,确定其他车道中车辆的位置、速度等信息,以确定该其他车道的行车轨迹信息。当然,也可以采用其他方式确定其他车道的行车轨迹信息,本申请实施例对此不限制。当采用涂料等平面图案标记道路边界线时,可以采用摄像头等组件采集道路边界线的视觉信息,以确定道路边界位置,即道路边界信息。当采用凸起物(护栏、或水泥墩等)等划分道路边界时,同样可以采用摄像头确定道路边界信息。也可以采用雷达等组件确定道路边界信息。本申请实施例对确定道路边界信息的方式不做限定。
[0166] 在本申请实施例中,所述道路先验数据包括车道宽度。其中,不同场景中,车道宽度可能不同。比如,城市道路每车道宽度为3.5米,交叉路口分流车道每车道为2.3‑2.5米,干线公路(包括高速公路)每车道宽为3.75米。也就是说,本申请实施例中确定邻车道边界信息所使用的车道宽度,需根据车辆当前所处场景有关。其中,可以利用自车的传感器,比如摄像头采集当前场景下的车道宽度。自车也可以从网络中的其他设备(比如服务器)中直接获取当前场景下的车道宽度。本申请实施例对获取车道宽度的方式不做限定。
[0167] 如下具体说明确定邻车道边界信息的方式。其中,如下根据是以车道线还是以凸起物划分合并点或分离点,分为两种情况分别进行阐述:
[0168] 情况1:当采用涂料标记车道线这种方式划分合并点或分离点时,若邻车道为右邻车道,所述邻车道的边界信息包括RL的位置信息;若邻车道为左邻车道,邻车道的边界信息包括左邻车道的右车道线(left right lane line,LR)的位置信息。如图8的(a)中示出了LR的示例。需要说明的是,图8的(a)中,将RL、LR同时标注出来,而实际应用场景中,可能有些情况下LR、RL不同时存在于道路中。也就是说,实际场景中,可能只存在RL或只存在LR。可以理解的是,本申请实施例仅为一种举例,本领域技术人员可以应用本方法检测其他的道路边界信息,例如与本车道不相邻的其他车道之间的合并点和分离点,进而可以提供充足的道路信息,以供决策执行模块预测行驶路径。
[0169] 在情况1的一种可能的实现方式中,根据道路边界信息和道路先验数据确定RL和/或LR。具体的,将所述道路边界向左平移第一宽度得到所述RL的第一位置;将所述道路边界向右平移第三宽度得到所述LR的第四位置。
[0170] 第一宽度为车道宽度的整数倍,所述第三宽度为车道宽度的整数倍。
[0171] 通常,可以将道路边界信息可以用三次方程(由于路面通常是平面,也可以用二次方程或其他可能的方程)来描述。可以将道路边界信息(构成该道路边界的点)映射到世界坐标系,并在世界坐标系中对这些点进行一系列操作,以得到RL或LR的位置。示例性的,以确定RL位置为例,参见图10中(a),在将道路边界上的点映射到世界坐标系之后,对道路边界上的全部点向左平移(即向靠近原点o的一侧平移)。由于车辆事先并不感知道路边界和本车道之间存在几个车道,因此,在进行平移操作时,先以最小粒度为单位,即先平移一个车道宽度得到初步确定的RL。该初步确定的RL用于后续确定初步的合并点或分离点位置。当初步确定的合并点或分离点位置满足预设条件时,无需调整初步确定的RL。反之,当初步确定的合并点或分离点位置不满足预设条件时,还需再调整初步确定的RL,直至最终合并点或分离点位置满足预设条件。这里先介绍初步确定RL的方式,具体如何判断合并点或分离点位置是否满足预设条件,以及具体如何调整RL等,将在下文给予详细说明。
[0172] LR的确定方式可参见RL的确定方式,这里不再具体阐述。
[0173] 在另一些实施例中,也可以将道路边界信息映射到图像平面(或称为图像坐标系),通过在图像平面上对道路边界上的点进行诸如平移的一系列操作,以确定RL或LR的位置。
[0174] 当然,本申请实施例并不限制所映射的坐标系的类型。
[0175] 在情况1的又一种可能的实现方式中,根据检测到的行车轨迹信息和道路先验数据确定RL和/或LR。具体的,将所述行车轨迹向左平移第二宽度得到RL的第二位置;将所述行车轨迹向右平移第四宽度得到LR的第五位置。
[0176] 其中,所述第二宽度为半车道宽度的奇数倍,所述第四宽度为半车道宽度的奇数倍。
[0177] 这里,可以将检测到的行车轨迹信息用三次方程(由于道路通常是平面,也可以用二次方程或其他可能的方程)来描述。可以将该行车轨迹信息(构成该行车轨迹的点)映射到世界坐标系,并在世界坐标系中对这些点进行诸如平移的一系列操作,以得到RL或LR的位置。示例性的,以确定RL位置为例,参见图10中(b),在将行车轨迹上的点映射到世界坐标系之后,对该行车轨迹上的全部点向左平移半个车道宽度,即可得到RL。LR的确定方式可参见RL的确定方式,这里不再具体阐述。
[0178] 需要说明的是,本申请实施例中,以观测车位于车道中心为例,来设置第二宽度或第四宽度。考虑到观测车实际上可能不是在车道中心,第二宽度或第四宽度的实际宽度还可以调整为其他宽度。
[0179] 在另一些实施例中,也可以将行车轨迹信息映射到图像平面,通过在图像平面上对行车轨迹上的点进行诸如平移的一系列操作,以确定RL或LR的位置。
[0180] 在情况1的再一种可能的实现方式中,根据道路边界信息、检测到的行车轨迹信息和道路先验数据确定RL和/或LR。具体的,将第一位置和第二位置经预设算法融合得到RL的第三位置;将第四位置和第五位置经预设算法融合得到LR的第六位置。
[0181] 以确定RL为例,容易理解的是,在上述两种情况中,根据道路边界信息和道路先验数据确定的RL,与根据邻车道行车轨迹和道路先验数据确定的RL之间,可能存在一些偏差。比如,由于雷达探测距离较小,可能探测的近距离的行车轨迹较为准确,由此得到的RL位置较为准确,探测的远距离的道路边界信息不是很准确,由此得到的RL位置可能不是很准确。
这种情况下,为了提升所确定RL位置的准确性,可以将两种RL位置信息进行融合。其中,采用的融合算法可以但不限于是加权求和。其中,根据道路边界信息确定的RL的第一位置的权重、根据行车轨迹信息确定的RL的第二位置的权重,可以根据实际场景设定。比如,当雷达本身探测距离较小,或出现雾霾天气导致探测距离较小,第二位置可能更接近RL的准确位置时,设置第二位置的权重大于第一位置的权重。这种情况下,由于可以根据实际场景或者车辆本身性能等因素实时确定权重,所以能够提升融合得到的位置信息的准确性。当然,第一位置和第二位置的权重,还可以预先设置好。比如,根据一些历史数据或其他数据提前设定第一位置和第二位置的权重。预设值权重的方式,无需根据实际场景调整第一位置和第二位置的权重,实现起来较为简单。
[0182] 情况2:当采用凸起物划分合并点或分离点时,若邻车道为右邻车道,所述邻车道的边界信息包括右邻车道的左边缘的位置信息;若邻车道为左邻车道,邻车道的边界信息包括左邻车道的右边缘的位置信息。
[0183] 在情况2的一种可能的实现方式中,根据道路边界信息和道路先验数据确定右邻车道的左边缘和/或左邻车道的右边缘的位置。具体的,将所述道路边界向左平移第五宽度得到所述右邻车道的左边缘的第七位置;将所述道路边界向右平移第七宽度得到所述左邻车道的右边缘的第十位置。
[0184] 第五宽度为车道宽度的整数倍,所述第七宽度为车道宽度的整数倍。
[0185] 示例性的,以确定右邻车道的左边缘的位置为例,参见图10中(c),在将道路边界上的点映射到世界坐标系之后,对道路边界上的全部点向左平移一个车道宽度,即可得到右邻车道的左边缘的位置。左邻车道的右边缘位置的确定方式可参见右邻车道的左边缘位置的确定方式,这里不再具体阐述。
[0186] 在情况2的又一种可能的实现方式中,根据检测到的行车轨迹信息和道路先验数据确定右邻车道的左边缘和/或左邻车道的右边缘的位置。具体的,将所述行车轨迹向左平移第六宽度得到右邻车道的左边缘的第八位置;将所述行车轨迹向右平移第八宽度得到左邻车道的右边缘的第十一位置。
[0187] 其中,所述第六宽度为半车道宽度的奇数倍,所述第八宽度为半车道宽度的奇数倍。
[0188] 示例性的,以确定右邻车道的左边缘凸起物(比如护栏)位置为例,参见图10中(d),在将行车轨迹上的点映射到世界坐标系之后,对该行车轨迹上的全部点向左平移半个车道宽度,即可得到右邻车道的左边缘凸起物的位置。左邻车道的右边缘凸起物位置的确定方式可参见右邻车道的左边缘凸起物位置的确定方式,这里不再具体阐述。
[0189] 在另一些实施例中,也可以将行车轨迹信息映射到图像平面,以确定右邻车道的左边缘或左邻车道的右边缘的位置。
[0190] 在情况2的再一种可能的实现方式中,根据道路边界信息、检测到的行车轨迹信息和道路先验数据确定右邻车道的左边缘和/或左邻车道的右边缘的位置。具体的,将右邻车道的左边缘的第一位置和第二位置经预设算法融合得到右邻车道的左边缘的第三位置;将左邻车道的右边缘的第四位置和第五位置经预设算法融合得到左邻车道的右边缘的第六位置。
[0191] 根据右邻车道的左边缘的第一位置、第二位置和融合算法得到第三位置的具体方式,可参见上述根据RL的第一位置、第二位置和融合算法得到第三位置的过程,这里不再赘述。
[0192] 需要说明的是,本申请实施例中所提及的车道,不仅指普通车道,还可以指诸如紧急停车带等道路结构。当路面出现紧急停车带时,因为紧急停车带和普通车道宽度相差不大,可以按照普通车道宽度进行处理。或者,可以采用实际的紧急停车带宽度进行上述平移操作,以确定邻车道边界信息。
[0193] 可见,本申请实施例中,邻车道边界信息是根据道路边界信息和/或检测到的行车轨迹信息推断出的,而并非直接通过摄像头检测邻车道边界信息。这样一来,能够一定程度上避免直接通过摄像头采集邻车道的车道线位置时,因摄像头检测性能不佳(比如检测距离较小)或者环境因素(比如雾霾),导致采集的邻车道的车道线位置不准确,或者无法采集到邻车道的车道线位置的问题。
[0194] S903、根据本车道的边界信息和邻车道边界信息确定道路结构信息。
[0195] 当采用涂料标记车道线的方式划分合并点或分离点时,S903具体实现为:根据本车道的车道线信息(HR)和邻车道的车道线信息,确定合并点或分离点的位置信息。以本车道和右邻车道之间存在合并点为例,参见图10中(a)或图10中(b),在确定HR和RL的位置之后,HR和RL的交叉位置即合并点A的位置。
[0196] 当采用凸起物的方式划分合并点或分离点时,S903具体实现为:根据本车道边缘侧的凸起物信息和邻车道边缘侧的凸起物信息,确定合并点或分离点的位置信息。以本车道和右邻车道之间存在合并点为例,参见图10中(c)或图10中(d),在确定本车道的右边缘护栏(或水泥墩等)和右邻车道的左边缘护栏(或水泥墩等)的位置之后,这两个护栏(或水泥墩)的交叉位置即合并点A的位置。
[0197] 在本申请实施例中,在初步确定合并点或分离点的位置的基础上,还需判断初步确定的合并点(或分离点)位置是否符合预设条件。具体的,以判断初步确定的合并点位置是否符合预设条件为例,预设条件可以是:初步确定的所述合并点(比如图10中(a)‑图10中(d)中确定的合并点A)与参考点之间的距离小于或等于第一阈值。其中,参考点为一个位置基准,用于判断初步确定的合并点(或分离点)位置是否准确。当初步确定的合并点(或分离点)位置与该参考点之间的距离小于第一阈值时,可以认为初步确定的合并点(或分离点)位置准确。例如,参考点可以是当前车辆(比如图8中(a)的车辆801)。所述第一阈值是通过传感器的感知范围确定的,或者,所述第一阈值为预配置的数值。
[0198] 在本申请实施例中,当初步确定的合并点与车辆之间的距离小于或等于第一阈值,比如图10中(a)‑图10中(d)初步确定的合并点A位置与车辆之间的距离小于或等于第一阈值,视为初步确定的合并点位置准确,无需再进一步调整合并点的位置。类似的,当道路上出现分离点的场景中,同样要求所述分离点与车辆之间的距离小于或等于第一阈值。当初步确定的分离点与车辆之间的距离小于或等于第一阈值,视初步确定的分离点位置准确,无需再进一步调整分离点位置。
[0199] 反之,当初步确定的合并点与车辆之间的距离大于第一阈值,其可能是在确定邻车道边界信息时调整的宽度不准确。此种情况,应当调整上述至少一个宽度。具体的,根据所述第一阈值调整上述至少一个宽度;基于调整的至少一个宽度,调整合并点和/或分离点。
[0200] 比如,参见图11中(a),当车辆801所在本车道和道路边界之间存在多个车道(图11中(a)所示为两个),将道路边界上的点整体向左平移一个车道宽度,实际得到的是右邻车道的右车道线,并将右邻车道的右车道线视为初步确定的RL。这样一来,基于初步确定的RL(实际是右邻车道的右车道线)和本车道的右车道线初步确定合并点位置如图11中(a)所示B点位置。该初步确定的B点位置与车辆之间的距离较大,并且如图11中(a)所示,B点并非真实合并点。因此,需要将平移宽度由一个车道宽度按照一定补步长进行调整,这里步长可以是一个车道宽度。这里需要将平移宽度由一个车道宽度调整至两个车道宽度,即将道路边界上的点调整为向左平移两个车道宽度,即在首次向左平移一个车道宽度后再向左平移一个车道宽度,得到调整后的RL。如图11中(a)所示,经过该次调整,可得到实际的RL。该RL与HR的交叉点位置,即合并点位置满足预设条件,则该合并点位置视为最终的合并点位置。这里,调整之后的第一宽度实际为两个车道宽度。
[0201] 当然,还可以调整第一宽度之外的其他宽度。比如,当前场景中,如图11中(a)所示,左邻车道与本车道之间也存在合并点,则除了调整上述第一宽度为两个车道宽度之外,可能还需调整左侧道路边界所需平移的宽度,即第三宽度为两个车道宽度,以得到实际的LR位置。
[0202] 又比如,参见图11中(b),当车辆801所在本车道和检测到的行车轨迹之间存在多个车道(图11中(b)所示为两个),将行车轨迹的点整体向左平移半个车道宽度,实际得到的是车道线1101,并将车道线1101视为初步确定的RL。这样一来,基于初步确定的RL(实际是车道线1101)和本车道的右车道线初步确定合并点位置如图11中(b)所示C点位置。该初步确定的C点位置与车辆之间的距离较大,如图11中(b)所示,C点并非真实合并点。因此,需要将平移宽度由半个车道宽度按照一定补步长进行调整,这里步长可以是一个车道宽度。这里需要将平移宽度由半个车道宽度调整至1.5个车道宽度,即将行车轨迹上的点调整为向左平移1.5个车道宽度,即在首次向左平移半个车道宽度后再向左平移一个车道宽度,得到车道线1102。如图11中(b)所示,经过该次调整,得到车道线1102与HR的交叉点(B)位置仍不满足预设条件,因此,还需调整平移宽度。这里,将行车轨迹上的点调整为向左平移2.5个车道宽度,即在向左平移1.5个车道宽度后再向左平移一个车道宽度,如图11中(b)所示,经过该次调整,得到了实际RL,该RL与HR的交叉点A位置满足预设条件,则该A点位置视为最终的合并点位置。
[0203] 本申请实施例提供的道路结构检测方法,能够基于本车道的边界信息和邻车道边界信息确定道路结构信息,其中,边界信息包括车道线信息和/或车道边缘的位置信息。也就是说,本申请实施例中,无需借助高精地图即可确定道路结构信息。因此,在没有高精地图覆盖的区域,车辆仍能够确定道路结构。
[0204] 本申请实施例可以根据上述方法示例对道路结构检测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0205] 在采用对应各个功能划分各个功能模块的情况下,图12示出上述实施例中所涉及的道路结构检测装置的一种可能的结构示意图。如图12所示,道路结构检测装置16包括确定模块161、调整模块162。当然,道路结构检测装置16还可以包括其他模块(比如存储模块),或者道路结构检测装置可以包括更少的模块。
[0206] 确定模块,用于确定本车道的边界信息,所述本车道的边界信息用于表征当前车道的边界的位置;确定邻车道的边界信息,所述邻车道的边界信息用于表征相邻车道的边界的位置。其中,所述边界信息包括车道线信息和/或车道边缘的位置信息。
[0207] 确定模块,还用于根据所述本车道的边界信息和所述邻车道的边界信息确定道路结构信息,所述道路结构信息包括所述本车道与所述邻车道的合并点和/或所述本车道与所述邻车道的分离点的位置信息。
[0208] 在一种可能的设计中,所述邻车道的边界信息是根据检测到的行车轨迹信息和/或道路边界信息确定的,所述道路边界信息用于表征道路边界的位置。
[0209] 在一种可能的设计中,所述邻车道的边界信息包括以下至少一个:
[0210] 右邻车道的左车道线RL的位置信息;
[0211] 左邻车道的右车道线LR的位置信息;
[0212] 右邻车道的左边缘的位置信息;
[0213] 左邻车道的右边缘的位置信息。
[0214] 在一种可能的设计中,所述RL的第一位置由道路边界向左平移第一宽度得到;或者,所述RL的第二位置由行车轨迹向左平移第二宽度得到;或者,RL的第三位置由所述RL的第一位置和所述RL的第二位置经预设算法融合得到。
[0215] 所述LR的第四位置由道路边界向右平移第三宽度得到;或者,所述LR的第五位置由行车轨迹向右平移第四宽度得到;或者,所述LR的第六位置由所述LR的第四位置和所述LR的第五位置经预设算法融合得到。
[0216] 所述右邻车道的左边缘的第七位置由道路边界向左平移第五宽度得到;或者,所述左边缘的第八位置由行车轨迹向左平移第六宽度得到;或者,所述左边缘的第九位置由所述左边缘的第七位置和所述左边缘的第八位置经预设算法融合得到。
[0217] 所述左邻车道的右边缘的第十位置由道路边界向右平移第七宽度得到;或者,所述右边缘的第十一位置由行车轨迹向右平移第八宽度得到;或者,所述右边缘的第十二位置由所述右边缘的第十位置和所述右边缘的第十一位置经预设算法融合得到。
[0218] 其中,所述第一宽度为车道宽度的整数倍,所述第二宽度为半车道宽度的奇数倍,所述第三宽度为所述车道宽度的整数倍,所述第四宽度为所述半车道宽度的奇数倍,所述第五宽度为所述车道宽度的整数倍,所述第六宽度为所述半车道宽度的奇数倍,所述第七宽度为所述车道宽度的整数倍,所述第八宽度为所述半车道宽度的奇数倍。
[0219] 在一种可能的设计中,所述合并点与参考点之间的距离小于或等于第一阈值,和/或,所述分离点与所述参考点之间的距离小于或等于所述第一阈值,所述参考点包括车辆。
[0220] 在一种可能的设计中,调整模块,用于根据所述第一阈值调整所述第一宽度和/或所述第二宽度和/或所述第三宽度和/或所述第四宽度和/或所述第五宽度和/或所述第六宽度和/或所述第七宽度和/或所述第八宽度;基于调整的所述第一宽度和/或所述第二宽度和/或第三宽度和/或第四宽度和/或所述第五宽度和/或所述第六宽度和/或所述第七宽度和/或所述第八宽度,调整所述合并点;和/或,用于根据所述第一阈值调整所述第一宽度和/或所述第二宽度和/或第三宽度和/或第四宽度和/或所述第五宽度和/或所述第六宽度和/或所述第七宽度和/或所述第八宽度;基于调整的所述第一宽度和/或所述第二宽度和/或第三宽度和/或第四宽度和/或所述第五宽度和/或所述第六宽度和/或所述第七宽度和/或所述第八宽度,调整所述分离点。
[0221] 在一种可能的设计中,所述第一阈值是通过传感器的感知范围确定的,或者,所述第一阈值为预配置的数值。
[0222] 在一种可能的设计中,所述邻车道的边界信息是根据道路先验数据确定的,所述道路先验数据包括车道宽度。
[0223] 参见图13,本申请还提供一种道路结构检测装置10,包括处理器1001。
[0224] 可选的,道路结构检测装置10还可包括存储器1002。
[0225] 处理器1001与存储器1002相连接(如通过总线1004相互连接)。
[0226] 可选的,道路结构检测装置10还可包括收发器1003,收发器1003连接处理器1001和存储器1002,收发器用于接收/发送数据。
[0227] 处理器1001,可以执行图9所对应的任意一个实施方案及其各种可行的实施方式的操作。比如,用于执行确定模块161、调整模块162的操作,和/或本申请实施例中所描述的其他操作。处理器1001,还用于控制传感器1005,使得传感器1005获取一些感应信息。该传感器1005可以包括在道路结构检测装置10内。也可以是外置传感器。
[0228] 当道路结构检测装置10包括传感器1005,即传感器1005为道路结构检测装置10的内置传感器时,可选的,传感器1005中可以集成上述方法实施例中的全部数据处理功能。这种情况下,道路结构检测装置10可以不包括处理器1001。传感器1005可以用于执行上述方法实施例,即用于执行确定模块161、调整模块162的操作,和/或本申请实施例中所描述的其他操作。在本申请实施例中,数据处理可以是融合运算。即传感器1005可以将由道路边界信息确定的邻车道边界信息,以及由行车轨迹信息确定的邻车道边界信息进行融合运算,以提升邻车道边界信息的准确性。数据处理还可以是上述方法实施例中的其他数据处理过程,比如当初步确定的合并点(或分离点)位置大于或等于第一阈值,传感器1005可以用于调整道路边界位置和/或行车轨迹所需平移的宽度。本申请实施例对传感器1005可以执行的具体数据处理功能不进行限制。
[0229] 如上文,传感器1005可以指视觉传感器(如摄像头)或者雷达之类的传感器。还可以指具有类似功能的其他传感器。
[0230] 当然,传感器1005还可以不集成数据处理功能,或集成一部分数据处理功能。这种情况下,传感器1005联合处理器可以执行上述方法实施例,道路结构检测装置10需包括传感器1005和处理器1001。
[0231] 在一种示例中,传感器1005为传统传感器,其并不具备数据功能。作为一种可能的实现方式,传感器1005用于确定道路边界信息,和/或行车轨迹信息。即传感器1005用于。处理器用于根据道路边界信息,和/或行车轨迹信息,确定邻车道边界信息,并根据邻车道边界信息和本车道边界信息,确定合并点(和/或分离点)位置。其中,当根据道路边界信息以及行车轨迹信息确定邻车道边界信息时,涉及融合运算。
[0232] 在另一示例中,也可以是传感器1005具备一部分数据处理功能,处理器具备一部分数据处理功能。比如,传感器1005可以根据其采集的道路边界位置,进行数据处理,得到邻车道边界信息。这种情况下,处理器可以用于融合运算等其他数据处理功能。本申请实施例不对传感器1005和处理器1001的具体分工(即具体分别处理哪部分数据)不做限定。
[0233] 关于处理器、存储器、总线和收发器的具体介绍,可参见上文,这里不再赘述。
[0234] 本申请还提供一种道路结构检测装置,包括非易失性存储介质,以及中央处理器,非易失性存储介质存储有可执行程序,中央处理器与非易失性存储介质连接,并执行可执行程序以实现本申请实施例的道路结构检测方法。
[0235] 本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当处理器在执行该程序代码时,该道路结构检测装置执行如图9所示的道路结构检测方法。
[0236] 在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。道路结构检测装置的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得道路结构检测装置实施执行图9所示的道路结构检测方法中相应步骤。
[0237] 在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。
[0238] 计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0239] 通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0240] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0241] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0242] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0243] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read‑only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0244] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。