用于自动驾驶的图像处理方法、装置、计算机设备和介质转让专利

申请号 : CN202111337815.5

文献号 : CN113936493B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程凯王军

申请人 : 北京百度网讯科技有限公司

摘要 :

本公开提供了一种用于自动驾驶的图像处理方法,涉及自动驾驶领域和计算机技术领域,该方法包括:获取预设区域的图像,识别图像中的目标对象和至少一个障碍物,目标对象包括车辆;以目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线,以及基于多个切线,确定目标对象的环境参数。本公开还提供了一种用于自动驾驶的图像处理装置、计算机设备和介质。

权利要求 :

1.一种用于自动驾驶的图像处理方法,包括:获取预设区域的图像;

识别所述图像中的目标对象和至少一个障碍物;所述目标对象包括车辆;

以所述目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线;以及基于所述多个切线,确定所述目标对象的环境参数;

其中,所述基于所述多个切线,确定所述目标对象的环境参数,包括:针对所述至少一个障碍物中的每个障碍物,确定所述多个切线中到达所述障碍物的切线作为处理切线,并根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围;以及根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数;

其中,所述根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:从所述处理切线中确定满足第一预设条件的至少一对相邻处理切线,所述第一预设条件包括由相邻处理切线与所述障碍物边界形成的区域内不存在任何障碍物;

根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围;

其中,所述根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数,包括:针对每个障碍物,确定所述起点与所述障碍物的多条切线所形成的最大夹角,作为所述障碍物对于所述目标对象的理论可视范围;以及基于每个障碍物的实际可视范围与理论可视范围的比值作为所述环境参数。

2.根据权利要求1所述的方法,其中,所述根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:针对所述障碍物,计算所述至少一对相邻处理切线中的每对相邻处理切线之间的夹角之和,作为所述障碍物的实际可视范围。

3.根据权利要求1所述的方法,其中,所述获取预设区域的图像包括:获取所述预设区域的二维俯视图。

4.根据权利要求1所述的方法,其中,所述获取预设区域的图像包括:获取所述预设区域的三维信息,并对所述三维信息进行投影处理以得到所述预设区域的二维俯视图。

5.根据权利要求1所述的方法,还包括:将所述目标对象建模为单个点;

将所述每个障碍物建模为多边形;

所述以所述目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,包括:以所述单个点为起点,通过与多边形的顶点的连线,来确定与所述障碍物的切线。

6.根据权利要求1所述的方法,还包括:对所述至少一个障碍物进行预处理,

其中,所述预处理包括:

基于尺寸和/或形状来确定所述至少一个障碍物中的待补足障碍物;

根据预设尺寸对所述待补足障碍物进行补足处理,得到所述待补足障碍物的完整图像。

7.根据权利要求1所述的方法,其中:

所述方法还包括:基于所述环境参数,产生针对所述车辆的自动驾驶策略。

8.一种用于自动驾驶的图像处理装置,包括:获取模块,用于获取预设区域的图像;

识别模块,用于识别所述图像中的目标对象和至少一个障碍物;所述目标对象包括车辆;

处理模块,用于以所述目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线;以及确定模块,用于基于所述多个切线,确定所述目标对象的环境参数;

其中,所述基于所述多个切线,确定所述目标对象的环境参数,包括:针对所述至少一个障碍物中的每个障碍物,确定所述多个切线中到达所述障碍物的切线作为处理切线,并根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围;以及根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数;

其中,所述根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:从所述处理切线中确定满足第一预设条件的至少一对相邻处理切线,所述第一预设条件包括由相邻处理切线与所述障碍物边界形成的区域内不存在任何障碍物;

根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围;

其中,所述根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数,包括:针对每个障碍物,确定所述起点与所述障碍物的多条切线所形成的最大夹角,作为所述障碍物对于所述目标对象的理论可视范围;以及基于每个障碍物的实际可视范围与理论可视范围的比值作为所述环境参数。

9.一种计算机设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。

10.一种计算机可读介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。

说明书 :

用于自动驾驶的图像处理方法、装置、计算机设备和介质

技术领域

[0001] 本公开涉及自动驾驶、计算机技术领域,更具体地,涉及一种用于自动驾驶的图像处理方法、图像处理装置、计算机设备和介质。

背景技术

[0002] 随着车辆技术和电子技术的快速发展,自动驾驶车辆越来越多地出现在人们的生活中。自动驾驶车辆可以通过各种传感器获得车辆所在的交通场景的信息,并根据交通场景信息确定合适的自动驾驶策略,以实现车辆的自动驾驶。
[0003] 然而,自动驾驶车辆在行驶过程中,会遇到障碍物遮挡的问题,例如,障碍物被背景遮挡,或者障碍物之间互相遮挡等。这影响了自动驾驶车辆对障碍物感知的稳定性和可靠性。
[0004] 在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:相关技术通常通过下边缘排序等方法分析障碍物的遮挡关系,该方法准确性和可靠性均较低,难以满足自动驾驶车辆对障碍物感知的要求。

发明内容

[0005] 有鉴于此,本公开提供了一种用于自动驾驶的图像处理方法、图像处理装置、计算机设备和介质。
[0006] 本公开的一个方面提供了一种图像处理方法,包括:获取预设区域的图像,识别所述图像中的目标对象和至少一个障碍物,以所述目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线,以及基于所述多个切线,确定所述目标对象的环境参数。
[0007] 根据本公开的实施例,所述基于所述切线,确定所述目标对象的环境参数,包括:针对所述至少一个障碍物中的每个障碍物,确定所述多个切线中到达所述障碍物的切线作为处理切线,并根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围;以及根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数。
[0008] 根据本公开的实施例,所述根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:从所述处理切线中确定满足第一预设条件的至少一对相邻处理切线,所述第一预设条件包括由相邻处理切线与所述障碍物边界形成的区域内不存在任何障碍物,以及根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围。
[0009] 根据本公开的实施例,所述根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:针对所述障碍物,计算所述至少一对相邻处理切线中的每对相邻处理切线之间的夹角之和,作为所述障碍物的实际可视范围。
[0010] 根据本公开的实施例,所述根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数,包括:针对每个障碍物,确定所述起点与所述障碍物的多条切线所形成的最大夹角,作为所述障碍物对于所述目标对象的理论可视范围,以及基于每个障碍物的实际可视范围与理论可视范围的比值作为所述环境参数。
[0011] 根据本公开的实施例,所述根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:针对所述障碍物,计算所述至少一对相邻处理切线中的每对相邻处理切线与所述障碍物的边界形成的区域的面积之和,作为所述障碍物的实际可视范围。
[0012] 根据本公开的实施例,所述根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数,包括:计算满足第二预设条件的相邻切线与所述预设区域的边界形成的区域的面积之和作为第一面积,所述第二预设条件包括由相邻切线与所述预设区域边界形成的区域内不存在任何障碍物,计算所述至少一个障碍物的实际可视范围之和作为第二面积,以及计算所述第一面积和所述第二面积之和与所述预设区域的面积的比值,作为所述环境参数。
[0013] 根据本公开的实施例,所述获取预设区域的图像包括:获取所述预设区域的二维俯视图。
[0014] 根据本公开的实施例,所述获取预设区域的图像包括:获取所述预设区域的三维信息,并对所述三维信息进行投影处理以得到所述预设区域的二维俯视图。
[0015] 根据本公开的实施例,所述方法还包括:将所述目标对象建模为单个点,将所述每个障碍物建模为多边形。所述以所述目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,包括:以所述单个点为起点,通过与多边形的顶点的连线,来确定与所述障碍物的切线。
[0016] 根据本公开的实施例,所述方法还包括:对所述至少一个障碍物进行预处理,其中,所述预处理包括:基于尺寸和/或形状来确定所述至少一个障碍物中的待补足障碍物,以及根据预设尺寸对所述待补足障碍物进行补足处理,得到所述待补足障碍物的完整图像。
[0017] 根据本公开的实施例,所述目标对象包括车辆。所述方法还包括:基于所述环境参数,产生针对所述车辆的自动驾驶策略。
[0018] 本公开的另一个方面提供了一种图像处理装置,该装置包括获取模块、识别模块、处理模块和确定模块。其中,获取模块用于获取预设区域的图像,识别模块用于识别所述图像中的目标对象和至少一个障碍物,处理模块用于以所述目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线,以及确定模块用于基于所述多个切线,确定所述目标对象的环境参数。
[0019] 根据本公开的实施例,所述基于所述切线,确定所述目标对象的环境参数,包括:针对所述至少一个障碍物中的每个障碍物,确定所述多个切线中到达所述障碍物的切线作为处理切线,并根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围;以及根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数。
[0020] 根据本公开的实施例,所述根据所述处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:从所述处理切线中确定满足第一预设条件的至少一对相邻处理切线,所述第一预设条件包括由相邻处理切线与所述障碍物边界形成的区域内不存在任何障碍物,以及根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围。
[0021] 根据本公开的实施例,所述根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:针对所述障碍物,计算所述至少一对相邻处理切线中的每对相邻处理切线之间的夹角之和,作为所述障碍物的实际可视范围。
[0022] 根据本公开的实施例,所述根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数,包括:针对每个障碍物,确定所述起点与所述障碍物的多条切线所形成的最大夹角,作为所述障碍物对于所述目标对象的理论可视范围,以及基于每个障碍物的实际可视范围与理论可视范围的比值作为所述环境参数。
[0023] 根据本公开的实施例,所述根据所述至少一对相邻处理切线确定所述障碍物对于所述目标对象的实际可视范围,包括:针对所述障碍物,计算所述至少一对相邻处理切线中的每对相邻处理切线与所述障碍物的边界形成的区域的面积之和,作为所述障碍物的实际可视范围。
[0024] 根据本公开的实施例,所述根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定所述目标对象的环境参数,包括:计算满足第二预设条件的相邻切线与所述预设区域的边界形成的区域的面积之和作为第一面积,所述第二预设条件包括由相邻切线与所述预设区域边界形成的区域内不存在任何障碍物,计算所述至少一个障碍物的实际可视范围之和作为第二面积,以及计算所述第一面积和所述第二面积之和与所述预设区域的面积的比值,作为所述环境参数。
[0025] 根据本公开的实施例,所述获取预设区域的图像包括:获取所述预设区域的二维俯视图。
[0026] 根据本公开的实施例,所述获取预设区域的图像包括:获取所述预设区域的三维信息,并对所述三维信息进行投影处理以得到所述预设区域的二维俯视图。
[0027] 根据本公开的实施例,所述装置还包括:第一建模模块,用于将所述目标对象建模为单个点,以及第二建模模块,用于将所述每个障碍物建模为多边形。所述处理模块还用于:以所述单个点为起点,通过与多边形的顶点的连线,来确定与所述障碍物的切线。
[0028] 根据本公开的实施例,所述装置还包括:预处理模块,用于对所述至少一个障碍物进行预处理,其中,所述预处理包括:基于尺寸和/ 或形状来确定所述至少一个障碍物中的待补足障碍物,以及根据预设尺寸对所述待补足障碍物进行补足处理,得到所述待补足障碍物的完整图像。
[0029] 根据本公开的实施例,所述目标对象包括车辆。所述装置还包括:策略生成模块,用于基于所述环境参数,产生针对所述车辆的自动驾驶策略。
[0030] 本公开的另一方面提供了一种计算机设备,包括:一个或多个处理器,存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
[0031] 本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
[0032] 本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
[0033] 根据本公开的实施例,可以至少部分地解决现有技术中自动驾驶车辆对障碍物感知的准确性和可靠性低的问题,并因此可以实现提高自动驾驶车辆对障碍物的感知能力的技术效果。

附图说明

[0034] 通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
[0035] 图1示意性示出了根据本公开实施例的应用图像处理方法的示例性系统架构;
[0036] 图2示意性示出了根据本公开实施例的图像处理方法的流程图;
[0037] 图3A示意性示出了根据本公开实施例的切线示意图;
[0038] 图3B示意性示出了根据本公开另一实施例的切线示意图;
[0039] 图3C示意性示出了根据本公开实施例的实际可视范围示意图;
[0040] 图3D示意性示出了根据本公开另一实施例的实际可视范围示意图;
[0041] 图4示意性示出了根据本公开的实施例的图像处理装置的框图;以及
[0042] 图5示意性示出了根据本公开实施例计算机设备的框图。

具体实施方式

[0043] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0044] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0045] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0046] 在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有 B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C 等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C 的系统等)。
[0047] 本公开的实施例提供了一种图像处理方法。该图像处理方法可以包括:获取预设区域的图像,并识别该预设区域的图像中的目标对象和至少一个障碍物。然后,以目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线。接下来,基于多个切线,确定目标对象的环境参数。
[0048] 图1示意性示出了根据本公开实施例的应用图像处理方法的示例性系统架构100。
[0049] 需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
[0050] 如图1所示,根据该实施例的系统架构100可以包括图像获取装置101、网络102、服务器103和目标对象104。网络102是用以在图像获取装置101与服务器103之间,或者在图像获取装置101与目标对象104之间,或者在服务器103与目标对象104之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0051] 图像获取装置101可以是二维图像获取装置,也可以是三维图像获取装置。例如,图像获取装置101可以是车载激光雷达,也可以是道路监控器等。图像获取装置101可以用于获取目标对象104周围环境的图像数据。
[0052] 服务器103可以是提供各种服务的服务器。例如,服务器103可以接收来自图像获取装置101获取到的图像,对图像进行分析处理,并将处理结果反馈给目标对象104。
[0053] 目标对象104例如可以是自动驾驶车辆。目标对象104例如可以根据服务器103反馈的处理结果确定自动驾驶策略,从而实现自动驾驶。
[0054] 需要说明的是,本公开实施例所提供的图像处理方法可以由服务器103执行。相应地,本公开实施例所提供的图像处理装置可以设置于服务器103中。
[0055] 应该理解,图1中的图像获取装置、网络、服务器和目标对象的数目仅仅是示意性的。根据实际需要,可以具有任意数目的图像获取装置、网络、服务器和目标对象。
[0056] 图2示意性示出了根据本公开实施例的图像处理方法的流程图。
[0057] 如图2所示,该方法包括操作S201~S204。
[0058] 在操作S201,获取预设区域的图像。
[0059] 根据本公开实施例,预设区域可以是感兴趣区域(Region Of Interest,简称ROI)。例如,可以基于目标对象的位置确定感兴趣区域。
[0060] 在本公开实施例中,获取预设区域的图像可以是获取预设区域的俯视图。本公开实施例中的预设区域的俯视边界例如可以是多边形、圆形或者不规则形。
[0061] 在本公开一实施例中,获取预设区域的图像可以是获取预设区域的二维俯视图。例如,可以通过摄像装置俯拍预设区域,从而获取预设区域的二维俯视图。例如,可以通过道路监控器获取预设区域的二维俯视图。
[0062] 在本公开另一实施例中,获取预设区域的图像也可以是获取预设区域的三维信息,并对三维信息进行投影处理以得到预设区域的二维俯视图。例如,可以通过传感器获取预设区域的三维信息,并将三维信息进行投影处理以得到预设区域的二维俯视图。例如,可以通过车载探测器获取预设区域的三维点云数据,并将三维点云数据投影至二维俯视图以得到预设区域的二维俯视图。
[0063] 接下来,在操作S202,识别图像中的目标对象和至少一个障碍物。
[0064] 根据本公开实施例,目标对象例如可以是自动驾驶车辆,障碍物例如可以是图像中除目标对象外的其他物体,例如,其他车辆、围栏或者楼房等。
[0065] 接下来,在操作S203,以目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线。
[0066] 根据本公开实施例,可以以目标对象为起点,对障碍物的轮廓做切线。其中,障碍物的切线为与障碍物轮廓只有一个交点的线。可以理解,以目标对象为起点,针对每个障碍物可以得到两个切线。
[0067] 在本公开实施例中,可以将目标对象建模为单个点,将障碍物建模为多边形,从而可以以该单个点为起点,通过与多边形的顶点的连线来确定与障碍物的切线。本公开实施例通过将障碍物建模为多边形可以减少确定切线的计算量,直接通过与多边形的顶点的连线确定切线即可。
[0068] 例如,可以根据障碍物的轮廓形状将其建模为合适的多边形。例如,当障碍物为车辆时,可以将其建模为矩形,建立单个点到矩形的四个顶点的连线,其中,最外侧的两个连线为该单个点到该障碍物的切线。
[0069] 图3A示意性示出了根据本公开实施例的切线示意图。接下来结合图3A来描述操作S203的具体实施例。
[0070] 例如,如图3A所示,点O为目标对象,障碍物包括A、B和C。以O为起点,对障碍物A做切线,可以得到切线L2和L6;以O为起点,对障碍物B做切线,可以得到切线L4和L5;以O为起点,对障碍物C做切线,可以得到切线L1和L3。
[0071] 在操作S204,基于多个切线,确定目标对象的环境参数。
[0072] 根据本公开实施例,可以针对至少一个障碍物中的每个障碍物,确定多个切线中到达该障碍物的切线作为处理切线,并根据处理切线确定该障碍物对于目标对象的实际可视范围。然后,根据至少一个障碍物中的每个障碍物的实际可视范围,确定目标对象的环境参数。
[0073] 例如,如图3A所示,针对障碍物A,到达障碍物A的切线有L2、 L3、L4、L5和L6,则L2、L3、L4、L5和L6作为障碍物A的处理切线,可以基于L2、L3、L4、L5和L6确定障碍物A对于目标对象 O的实际可视范围。
[0074] 类似地,针对障碍物B,到达障碍物B的切线有L4和L5,则L4 和L5作为障碍物B的处理切线,可以基于L4和L5确定障碍物B对于目标对象O的实际可视范围。
[0075] 类似地,针对障碍物C,到达障碍物C的切线有L1、L2和L3,则L1、L2和L3作为障碍物C的处理切线,可以基于L1、L2和L3 确定障碍物C对于目标对象O的实际可视范围。
[0076] 本公开实施例可以根据障碍物A、B和C的实际可视范围来确定目标对象O的环境参数。
[0077] 在本公开实施例中,根据处理切线确定障碍物对于目标对象的实际可视范围,可以包括:从处理切线中确定满足第一预设条件的至少一对相邻处理切线,第一预设条件包括由相邻处理切线与障碍物边界形成的区域内不存在任何障碍物,以及根据至少一对相邻处理切线确定障碍物对于目标对象的实际可视范围。
[0078] 例如,如图3A所示,针对障碍物A,可以从处理切线L2、L3、 L4、L5和L6中确定满足第一预设条件的相邻处理切线为(L3,L4) 和(L5,L6),可以根据相邻处理切线(L3,L4)和(L5,L6)确定障碍物A对应目标对象O的实际可视范围。
[0079] 类似地,针对障碍物B,可以从处理切线L4和L5中确定满足第一预设条件的相邻处理切线为(L4,L5),可以根据相邻处理切线(L4, L5)确定障碍物B对应目标对象O的实际可视范围。
[0080] 类似地,针对障碍物C,可以从处理切线L1、L2和L3中确定满足第一预设条件的相邻处理切线为(L1,L2)和(L2,L3),然后根据相邻处理切线(L1,L2)和(L2,L3)确定障碍物C对应目标对象O的实际可视范围。
[0081] 在本公开一实施例中,为了减少计算量,在确定处理切线时,或者在确定满足第一预设条件的相邻处理切线时,可以不考虑多个切线中起点和与相切障碍物的切点之间存在其他障碍物的切线。例如,如图3A所示,切线L2在起点O和与障碍物A的切点之间存在障碍物 C,则可以不考虑切线L2。
[0082] 图3B示意性示出了根据本公开另一实施例的切线示意图。接下来结合图3B来描述上述不考虑多个切线中起点和与相切障碍物的切点之间存在其他障碍物的切线的具体实施例。
[0083] 例如,如图3B所示,可以删除切线L2,则针对障碍物A的处理切线有L3、L4、L5和L6,其中相邻处理切线为(L3,L4)和(L5, L6)。针对障碍物B的处理切线有L4和L5,相邻处理切线有(L4, L5)。针对障碍物C的处理切线有L1和L3,其中相邻处理切线为(L1, L3)。
[0084] 具体地,在本公开一实施例中,根据至少一对相邻处理切线确定障碍物对于目标对象的实际可视范围,可以是针对障碍物,计算至少一对相邻处理切线中的每对相邻处理切线之间的夹角之和,作为障碍物的实际可视范围。
[0085] 图3C示意性示出了根据本公开实施例的实际可视范围示意图。接下来结合图3C来描述计算实际可视范围的具体实施例。
[0086] 如图3C所示,针对障碍物A,相邻处理切线(L3,L4)之间的夹角为θ2,相邻处理切线(L5,L6)之间的夹角为θ4,则障碍物A 的实际可视范围为θ2+θ4。
[0087] 针对障碍物B,相邻处理切线(L4,L5)之间的夹角为θ3,则障碍物B的实际可视范围为θ3。
[0088] 针对障碍物C,相邻处理切线(L1,L3)之间的夹角为θ1,则障碍物C的实际可视范围为θ1。
[0089] 根据本公开实施例,根据至少一个障碍物中的每个障碍物的实际可视范围,确定目标对象的环境参数,可以包括:针对每个障碍物,确定起点与障碍物的多条切线所形成的最大夹角,作为障碍物对于目标对象的理论可视范围,以及基于每个障碍物的实际可视范围与理论可视范围的比值作为环境参数。
[0090] 例如,如图3C所示,针对障碍物A,理论可视范围为图中虚线(L2)与L6形成的夹角θA,则环境参数为(θ2+θ4)/θA。该环境参数可以作为障碍物A相对于目标对象的遮挡比例。
[0091] 针对障碍物B,理论可视范围为L4与L6形成的夹角θB,则环境参数为θ3/θB(=1)。该环境参数可以作为障碍物B相对于目标对象的遮挡比例。
[0092] 针对障碍物C,理论可视范围为L1与L6形成的夹角θC,则环境参数为θ1/θC(=1)。该环境参数可以作为障碍物C相对于目标对象的遮挡比例。
[0093] 具体地,在本公开另一实施例中,根据至少一对相邻处理切线确定障碍物对于目标对象的实际可视范围,还可以是针对障碍物,计算至少一对相邻处理切线中的每对相邻处理切线与障碍物的边界形成的区域的面积之和,作为障碍物的实际可视范围。
[0094] 例如,图3D示意性示出了根据本公开另一实施例的实际可视范围示意图。接下来结合图3D描述计算实际可视范围的具体实施例。
[0095] 如图3D所示,针对障碍物A,相邻处理切线(L3,L4)与障碍物A的边界形成的区域Q2的面积为S2,相邻处理切线(L5,L6) 与障碍物A的边界形成的区域Q4的面积为S4,则障碍物A的实际可视范围为S2+S4。
[0096] 针对障碍物B,相邻处理切线(L4,L5)与障碍物B的边界形成的区域Q3的面积为S3,则障碍物B的实际可视范围为S3。
[0097] 针对障碍物C,相邻处理切线(L1,L3)与障碍物C的边界形成的区域Q1的面积为S1,则障碍物C的实际可视范围为S1。
[0098] 根据本公开实施例,根据至少一个障碍物中的每个障碍物的实际可视范围,确定目标对象的环境参数,还可以包括:计算满足第二预设条件的相邻切线与预设区域的边界形成的区域的面积之和作为第一面积,第二预设条件包括由相邻切线与预设区域边界形成的区域内不存在任何障碍物,计算至少一个障碍物的实际可视范围之和作为第二面积,以及计算第一面积和第二面积之和与预设区域的面积的比值,作为环境参数。
[0099] 例如,如图3D所示,满足第二预设条件的相邻切线为(L1,L6),相邻切线(L1,L6)与预设区域的边界形成的区域Q5的面积为S5,则第一面积为S5。障碍物A、B和C的实际可视范围之和为 S1+S2+S3+S4,则第二面积为S1+S2+S3+S4。预设区域的面积可以用 S表示,则环境参数可以为(S1+S2+S3+S4+S5)/S。该环境参数可以作为该预设区域的环境复杂度。
[0100] 可以理解,图3A~图3D仅示出了障碍物位于目标对象一侧的实施例。可以理解,在本公开各实施例中,基于获取到的预设区域的图像,从图像中识别到的障碍物可以分布于目标对象的任何方位上。
[0101] 根据本公开实施例的图像处理方法,还可以包括对至少一个障碍物进行预处理。其中,预处理例如可以是基于尺寸和/或形状来确定至少一个障碍物中的待补足障碍物,根据预设尺寸对待补足障碍物进行补足处理,得到待补足障碍物的完整图像。
[0102] 可以理解,如果通过车载探测器获得预设区域内的图像,可能存在障碍物图像信息不全的问题。例如,如果障碍物M高于车载探测器,则探测器扫描到的被障碍物M遮挡的障碍物N可能不完整。因此投二维俯视图中的障碍物N的轮廓可能不是真实的障碍物N的轮廓。
[0103] 有鉴于此,考虑到本公开的图像处理方法可以用在自动驾驶车辆在路上驾驶的场景中。障碍物多为车辆,则可以根据各种车辆轮廓的平均长宽尺寸,补足扫描到的不完整的障碍物的完整图像。
[0104] 例如,识别的障碍物车辆为梯形轮廓,可以根据车辆的当前尺寸 (例如,车长),确定与该车辆对应的预设尺寸,根据预设尺寸补足该车辆的完整图像。
[0105] 根据本公开实施例,目标对象例如可以是自动驾驶车辆。该方法还可以包括基于获得的环境参数,产生针对该自动驾驶车辆的自动驾驶策略,以实现自动驾驶车辆的自动行驶。例如,当环境复杂高时,可以产生驾驶速度较低的驾驶策略。又例如,当环境复杂度超过阈值时,可以从自动驾驶切换为人工驾驶等。
[0106] 本公开实施例通过对图像中目标对象和障碍物做切线处理,并且基于切线确定目标对象的环境参数,可以提高目标对象对周围环境的感知能力。例如,本公开实施例可以通过相邻处理切线之间的夹角确定各障碍物的遮挡比例。又例如,本公开实施例可以通过相邻处理切线与障碍物围成的区域的面积确定环境复杂度。从而可以通过多个环境参数提高目标对象对于周围环境的感知能力,有助于目标对象基于周围环境状况制定相应的策略。
[0107] 本公开实施例可以通过车载探测器获取预设区域的三维图像,并对三维图像进行投影处理获得二维俯视图,基于二维俯视图确定目标对象的环境参数(例如,各障碍物的遮挡比例),从而可以直接与三维环境中的障碍物对应,避免了二维回三维的复杂算法,提高了目标对象感知能力的准确性。
[0108] 图4示意性示出了根据本公开的实施例的图像处理装置400的框图。
[0109] 如图4所示,装置400包括获取模块410、识别模块420、处理模块430和确定模块440。
[0110] 获取模块410用于获取预设区域的图像。根据本公开实施例,获取模块410例如可以执行上文参考图2描述的操作S201,在此不再赘述。
[0111] 识别模块420用于识别图像中的目标对象和至少一个障碍物。根据本公开实施例,识别模块420例如可以执行上文参考图2描述的操作S202,在此不再赘述。
[0112] 处理模块430用于以目标对象为起点,分别针对至少一个障碍物中的每个障碍物做切线,以得到多个切线。根据本公开实施例,处理模块430例如可以执行上文参考图2描述的操作S203,在此不再赘述。
[0113] 确定模块440用于基于多个切线,确定目标对象的环境参数。根据本公开实施例,确定模块440例如可以执行上文参考图2描述的操作S204,在此不再赘述。
[0114] 根据本公开的实施例,基于切线,确定目标对象的环境参数,可以包括:针对至少一个障碍物中的每个障碍物,确定多个切线中到达障碍物的切线作为处理切线,并根据处理切线确定障碍物对于目标对象的实际可视范围;以及根据至少一个障碍物中的每个障碍物的实际可视范围,确定目标对象的环境参数。
[0115] 根据本公开的实施例,根据处理切线确定障碍物对于目标对象的实际可视范围,可以包括:从处理切线中确定满足第一预设条件的至少一对相邻处理切线,第一预设条件包括由相邻处理切线与障碍物边界形成的区域内不存在任何障碍物,以及根据至少一对相邻处理切线确定障碍物对于目标对象的实际可视范围。
[0116] 根据本公开的实施例,根据至少一对相邻处理切线确定障碍物对于目标对象的实际可视范围,包括:针对障碍物,计算至少一对相邻处理切线中的每对相邻处理切线之间的夹角之和,作为障碍物的实际可视范围。
[0117] 根据本公开的实施例,根据至少一个障碍物中的每个障碍物的实际可视范围,确定目标对象的环境参数,包括:针对每个障碍物,确定起点与障碍物的多条切线所形成的最大夹角,作为障碍物对于目标对象的理论可视范围,以及基于每个障碍物的实际可视范围与理论可视范围的比值作为环境参数。
[0118] 根据本公开的实施例,根据所述至少一对相邻处理切线确定障碍物对于目标对象的实际可视范围,包括:针对障碍物,计算至少一对相邻处理切线中的每对相邻处理切线与障碍物的边界形成的区域的面积之和,作为障碍物的实际可视范围。
[0119] 根据本公开的实施例,根据所述至少一个障碍物中的每个障碍物的实际可视范围,确定目标对象的环境参数,包括:计算满足第二预设条件的相邻切线与预设区域的边界形成的区域的面积之和作为第一面积,第二预设条件包括由相邻切线与预设区域边界形成的区域内不存在任何障碍物,计算至少一个障碍物的实际可视范围之和作为第二面积,以及计算第一面积和第二面积之和与预设区域的面积的比值,作为环境参数。
[0120] 根据本公开的实施例,获取预设区域的图像包括:获取预设区域的二维俯视图。
[0121] 根据本公开的实施例,获取预设区域的图像包括:获取预设区域的三维信息,并对三维信息进行投影处理以得到预设区域的二维俯视图。
[0122] 根据本公开的实施例,该装置400还包括:第一建模模块,用于将目标对象建模为单个点,以及第二建模模块,用于将每个障碍物建模为多边形。处理模块还用于:以单个点为起点,通过与多边形的顶点的连线,来确定与障碍物的切线。
[0123] 根据本公开的实施例,该装置400还包括:预处理模块,用于对至少一个障碍物进行预处理。其中,预处理包括:基于尺寸和/或形状来确定至少一个障碍物中的待补足障碍物,以及根据预设尺寸对待补足障碍物进行补足处理,得到待补足障碍物的完整图像。
[0124] 根据本公开的实施例,目标对象包括车辆。该装置400还包括:策略生成模块,用于基于所述环境参数,产生针对所述车辆的自动驾驶策略。
[0125] 根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0126] 例如,获取模块410、识别模块420、处理模块430和确定模块 440中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块410、识别模块420、处理模块430和确定模块440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块
410、识别模块420、处理模块430和确定模块440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0127] 图5示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机设备的方框图。图5示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0128] 如图5所示,根据本公开实施例的计算机设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508 加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501 可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0129] 在RAM 503中,存储有系统500操作所需的各种程序和数据。处理器501、ROM 502以及RAM 503通过总线504彼此相连。处理器501 通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502 和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0130] 根据本公开的实施例,系统500还可以包括输入/输出(I/O)接口 505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
[0131] 根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质 511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0132] 本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0133] 根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/ 或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
[0134] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0135] 本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0136] 以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。