对象三维检测及智能驾驶控制的方法、装置、介质及设备与流程

文档序号:19993031发布日期:2020-02-22 02:28阅读:131来源:国知局
对象三维检测及智能驾驶控制的方法、装置、介质及设备与流程

本申请涉及计算机视觉技术,尤其是涉及一种对象三维检测方法、对象三维检测装置、智能驾驶控制方法、智能驾驶控制装置、电子设备、计算机可读存储介质以及计算机程序。



背景技术:

对象三维检测即对象三维检测,通常用于预测出物体的空间位置、运动方向以及3d尺寸等三维空间参数。例如,在自动驾驶技术中,需要针对路面上的其他车辆进行三维检测,以获得其他车辆的三维长方体、车辆行驶方向以及与拍摄装置的位置关系等。准确的获得物体的三维检测结果,有利于提高自动驾驶的安全性。



技术实现要素:

本申请实施方式提供一种对象三维检测和智能驾驶控制技术方案。

根据本申请实施方式其中一方面,提供一种对象三维检测方法,所述方法包括:获取待处理图像中的目标对象的关键点的二维坐标;根据所述关键点的二维坐标,构建所述目标对象的伪三维检测体;获取所述关键点的深度信息;根据所述关键点的深度信息和所述伪三维检测体,确定所述目标对象的三维检测体。

在本申请一实施方式中,所述待处理图像包括:设置在移动物体上的摄像装置所摄取的视频中的视频帧,或者,设置在固定位置的摄像装置所摄取的视频中的视频帧。

在本申请又一实施方式中,所述目标对象包括以下至少之一:机动车辆、非机动车辆、行人、动物、建筑物、植物、障碍物、危险物、交通标识物、物品。

在本申请再一实施方式中,所述根据所述关键点的二维坐标,构建所述目标对象的伪三维检测体,包括:根据关键点和目标对象包括的面之间预定的第一所属关系以及所述关键点的二维坐标,构建至少一个目标对象的可能面;根据所述可能面构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述根据所述可能面构建所述目标对象的伪三维检测体,包括:根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面;根据所述最佳面构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面,包括:根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面和一次佳面;所述根据所述最佳面构建所述目标对象的伪三维检测体包括:根据所述最佳面和所述次佳面构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述目标对象的关键点为多个;所述根据所述关键点的二维坐标,构建所述目标对象的伪三维检测体之前,所述方法还包括:从多个所述关键点中选取符合预测准确度要求的关键点;所述根据所述关键点的二维坐标,构建所述目标对象的伪三维检测体包括:根据所述选取出的关键点的二维坐标,构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述获取待处理图像中的目标对象的关键点的二维坐标之前,所述方法还包括:对所述待处理图像进行目标对象检测,获得包括有目标对象的二维目标检测框;所述获取待处理图像中的目标对象的关键点的二维坐标,包括:基于所述待处理图像对应所述二维目标检测框的图像部分,获取所述目标对象的关键点的二维坐标。

在本申请再一实施方式中,所述方法还包括:在所述目标对象检测过程中,在未成功获取到包括有目标对象的二维目标检测框的情况下,不进行对象的三维检测处理。

在本申请再一实施方式中,所述根据所述最佳面和所述次佳面构建所述目标对象的伪三维检测体包括:确定最佳面的法向量;根据最佳面中的顶点沿所述法向量方向的拓展,形成所述伪三维检测体;其中,所述确定最佳面的法向量包括:将次佳面中的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将除了对应最佳面之外的其他关键点中预测准确度最高的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将最佳面的相邻面中的、与最佳面垂直的边上的两个关键点的坐标差,作为最佳面的法向量。

在本申请再一实施方式中,所述根据所述关键点的深度信息和所述伪三维检测体,确定所述目标对象的三维检测体包括:根据所述关键点的深度信息,将所述关键点的二维坐标转换为三维空间中的三维坐标;根据所述关键点的三维坐标,构建所述目标对象的初始三维检测体;根据所述伪三维检测体对所述初始三维检测体进行校正,形成所述目标对象的三维检测体。

在本申请再一实施方式中,所述将所述关键点的二维坐标转换为三维空间中的三维坐标包括:将符合预测准确度要求的关键点的二维坐标转换为三维空间中的三维坐标。

在本申请再一实施方式中,所述根据所述关键点的三维坐标,构建所述目标对象的初始三维检测体包括:根据所述关键点的三维坐标各自对应的面,确定所述目标对象的最佳面,并在三维空间,构建所述目标对象的最佳面;确定最佳面的法向量;根据最佳面中的顶点沿所述法向量方向的拓展,形成所述初始三维检测体。

在本申请再一实施方式中,所述确定最佳面的法向量包括:将次佳面中的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将除了对应最佳面之外的其他关键点中预测准确度最高的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将最佳面的相邻面中的、与最佳面垂直的边上的两个关键点的坐标差,作为最佳面的法向量。

在本申请再一实施方式中,所述根据所述伪三维检测体对所述初始三维检测体进行校正,形成所述目标对象的三维检测体包括:根据所述二维平面中的伪三维检测体,对所述三维空间中的初始三维检测体进行调整,以提高调整后的三维检测体映射在二维平面中的区域与所述伪三维检测体间的面积重叠情况。

在本申请再一实施方式中,所述根据所述伪三维检测体对所述初始三维检测体进行校正,形成所述目标对象的三维检测体还包括下述至少之一:根据所述目标对象的预设长宽高比例,对所述初始三维检测体进行校正;根据所述目标对象在待处理图像中的检测框对所述初始三维检测体进行校正,以使调整后的三维检测体映射在二维平面中的区域属于所述检测框。

在本申请再一实施方式中,所述方法还包括:针对具有时序关系的多个待处理图像中的同一目标对象的三维检测体进行平滑处理。

在本申请再一实施方式中,所述平滑处理包括:对三维检测体的长宽高的平滑处理、对三维检测体的运动方向的平滑处理、对三维检测体的鸟瞰图中心点的平滑处理以及对三维检测体的顶点的平滑处理中的至少一个。

在本申请再一实施方式中,所述方法还包括下述至少一个:根据所述目标对象的关键点的三维坐标,获取所述三维检测体的运动方向;根据所述目标对象的关键点的三维坐标,获取所述目标对象与摄取所述待处理图像的摄像装置之间的位置关系。

根据本申请实施方式的其中再一方面,提供一种智能驾驶控制方法,所述方法包括:以车辆上设置的摄像装置采集的视频包括的视频帧为待处理图像,并采用上述方法确定目标对象的三维检测体;根据所述三维检测体的信息生成车辆控制指令;向所述车辆发送所述车辆控制指令。

在本申请一实施方式中,所述三维检测体的信息包括以下至少之一:三维检测体的运动方向、三维检测体与所述摄像装置之间的位置关系、三维检测体的尺寸。

根据本申请实施方式其中再一方面,提供一种对象三维检测装置,所述装置包括:获取二维坐标模块,用于获取待处理图像中的目标对象的关键点的二维坐标;构建三维检测体模块,用于根据所述关键点的二维坐标,构建所述目标对象的伪三维检测体;获取深度信息模块,用于获取所述关键点的深度信息;确定三维检测体模块,用于根据所述关键点的深度信息和所述伪三维检测体,确定所述目标对象的三维检测体。

在本申请一实施方式中,所述待处理图像包括:设置在移动物体上的摄像装置所摄取的视频中的视频帧,或者,设置在固定位置的摄像装置所摄取的视频中的视频帧。

在本申请又一实施方式中,所述目标对象包括以下至少之一:机动车辆、非机动车辆、行人、动物、建筑物、植物、障碍物、危险物、交通标识物、物品。

在本申请再一实施方式中,所述构建三维检测体模块,包括:第一子模块,用于根据关键点和目标对象包括的面之间预定的第一所属关系以及所述关键点的二维坐标,构建至少一个目标对象的可能面;第二子模块,用于根据所述可能面构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述第二子模块包括:第一单元,用于根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面;第二单元,用于根据所述最佳面构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述第一单元进一步用于:根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面和一次佳面;所述第二单元进一步用于:根据所述最佳面和所述次佳面构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述目标对象的关键点为多个;所述装置还包括:选取关键点模块,用于在构建三维检测体模块执行构建伪三维检测体操作之前,从多个所述关键点中选取符合预测准确度要求的关键点;所述构建三维检测体模块进一步用于,根据所述选取出的关键点的二维坐标,构建所述目标对象的伪三维检测体。

在本申请再一实施方式中,所述装置还包括:获取目标检测框模块,用于在获取二维坐标模块执行操作之前,对所述待处理图像进行目标对象检测,获得包括有目标对象的二维目标检测框;所述获取二维坐标模块进一步用于:基于所述待处理图像对应所述二维目标检测框的图像部分,获取所述目标对象的关键点的二维坐标。

在本申请再一实施方式中,在所述目标对象检测过程中,在获取目标检测框模块未成功获取到包括有目标对象的二维目标检测框的情况下,对象三维检测装置不进行对象的三维检测处理。

在本申请再一实施方式中,所述第二单元进一步用于:确定最佳面的法向量;根据最佳面中的顶点沿所述法向量方向的拓展,形成所述伪三维检测体;其中,所述确定最佳面的法向量包括:将次佳面中的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将除了对应最佳面之外的其他关键点中预测准确度最高的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将最佳面的相邻面中的、与最佳面垂直的边上的两个关键点的坐标差,作为最佳面的法向量。

在本申请再一实施方式中,所述确定三维检测体模块包括:第三子模块,用于根据所述关键点的深度信息,将所述关键点的二维坐标转换为三维空间中的三维坐标;第四子模块,用于根据所述关键点的三维坐标,构建所述目标对象的初始三维检测体;第五子模块,用于根据所述伪三维检测体对所述初始三维检测体进行校正,形成所述目标对象的三维检测体。

在本申请再一实施方式中,所述第三子模块进一步用于:将符合预测准确度要求的关键点的二维坐标转换为三维空间中的三维坐标。

在本申请再一实施方式中,所述第四子模块包括:第三单元,用于根据所述关键点的三维坐标各自对应的面,确定所述目标对象的最佳面,并在三维空间,构建所述目标对象的最佳面;第四单元,用于确定最佳面的法向量;第五单元,用于根据最佳面中的顶点沿所述法向量方向的拓展,形成所述初始三维检测体。

在本申请再一实施方式中,所述第四单元进一步用于:将次佳面中的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将除了对应最佳面之外的其他关键点中预测准确度最高的关键点向最佳面所做的垂线,作为最佳面的法向量;或者,将最佳面的相邻面中的、与最佳面垂直的边上的两个关键点的坐标差,作为最佳面的法向量。

在本申请再一实施方式中,所述第五子模块进一步用于:根据所述二维平面中的伪三维检测体,对所述三维空间中的初始三维检测体进行调整,以提高调整后的三维检测体映射在二维平面中的区域与所述伪三维检测体间的面积重叠情况。

在本申请再一实施方式中,所述第五子模块还用于至少执行下述操作之一:根据所述目标对象的预设长宽高比例,对所述初始三维检测体进行校正;根据所述目标对象在待处理图像中的检测框对所述初始三维检测体进行校正,以使调整后的三维检测体映射在二维平面中的区域属于所述检测框。

在本申请再一实施方式中,所述装置还包括:平滑处理模块,用于针对具有时序关系的多个待处理图像中的同一目标对象的三维检测体进行平滑处理。

在本申请再一实施方式中,所述平滑处理包括:对三维检测体的长宽高的平滑处理、对三维检测体的运动方向的平滑处理、对三维检测体的鸟瞰图中心点的平滑处理以及对三维检测体的顶点的平滑处理中的至少一个。

在本申请再一实施方式中,所述装置还包括下述至少一个:获取运动方向模块,用于根据所述目标对象的关键点的三维坐标,获取所述三维检测体的运动方向;获取位置关系模块,用于根据所述目标对象的关键点的三维坐标,获取所述目标对象与摄取所述待处理图像的摄像装置之间的位置关系。

根据本申请实施方式的其中再一方面,提供一种智能驾驶控制装置,所述装置包括:以车辆上设置的摄像装置采集的视频包括的视频帧为待处理图像,并采用上述对象三维检测装置确定目标对象的三维检测体;生成指令模块,用于根据所述三维检测体的信息生成车辆控制指令;发送指令模块,用于向所述车辆发送所述车辆控制指令。

在本申请一实施方式中,所述三维检测体的信息包括以下至少之一:三维检测体的运动方向、三维检测体与所述摄像装置之间的位置关系、三维检测体的尺寸。

根据本申请实施方式再一方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请任一方法实施方式。

根据本申请实施方式再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请任一方法实施方式。

根据本申请实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本申请任一方法实施方式。

基于本申请提供的对象三维检测方法、对象三维检测装置、智能驾驶控制方法、智能驾驶控制装置、电子设备、计算机可读存储介质及计算机程序,本申请通过利用目标对象的关键点的二维坐标,在二维平面中,构建该目标对象的伪三维检测体,由于目标对象的关键点检测结果的准确度,目前可以得到相应的保障,因此,本申请通过关键点的深度信息和伪三维检测体,可以使目标对象的三维检测体的大小尽可能的接近目标对象的实际大小。由此可知,本申请提供的技术方案有利于在使计算资源消耗较小的情况下,提高对象三维检测的准确性,从而有利于在保证低实现成本的情况下,提高自动驾驶的安全性。

下面通过附图和实施方式,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施方式,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请的对象三维检测方法一个实施方式的流程图;

图2为本申请的待处理图像中目标对象的关键点一个实施方式的示意图;

图3为本申请的伪三维检测体一个实施方式的示意图;

图4为本申请的智能驾驶控制方法一个实施方式的流程图;

图5为本申请的对象三维检测装置一个实施方式的结构示意图;

图6为本申请的智能驾驶控制装置一个实施方式的结构示意图;

图7为实现本申请实施方式的一示例性设备的框图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法以及设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本申请实施例可以应用于终端设备、计算机系统及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子,包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

示例性实施例

图1为本申请对象三维检测方法一个实施例的流程图。如图1所示,该实施例方法包括:步骤s100、步骤s110、步骤s120以及步骤s130。下面对图1中的各步骤进行详细说明。

s100、获取待处理图像中的目标对象的关键点的二维坐标。

在一个可选示例中,本申请中的待处理图像可以为呈现静态的图片或照片等图像,也可以为呈现动态的视频中的视频帧,例如,设置在移动物体上的摄像装置所摄取的视频中的视频帧,再例如,设置在固定位置的摄像装置所摄取的视频中的视频帧。上述移动物体可以为车辆、机器人或者机械臂等。上述固定位置可以为桌面或者墙壁等。本申请不限制移动物体和固定位置的具体表现形式。

在一个可选示例中,本申请中的待处理图像可以是利用普通的高清摄像装置所获得的图像,从而本申请可以避免必须使用雷达测距装置以及深度摄像装置等而导致的实现成本较高等现象。

在一个可选示例中,本申请中的目标对象至少包括:前后左右四个面。例如,本申请中的目标对象可以是机动车辆(即机动车,尤指汽车,如燃油汽车、电动汽车或者无人驾驶汽车等)、非机动车辆(如自行车、人力三轮车等)行人、动物、建筑物、植物、障碍物、危险物、交通标识物或者物品等。本申请不限制目标对象的具体表现形式。由于目标对象可以为多种形式,因此,本申请的对象三维检测方法具有通用性强的特点。

在一个可选示例中,本申请中的关键点是具有语义的关键点,且该关键点通常是目标对象的外轮廓关键点。在目标对象为车辆的情况下,本申请中的具有语义的关键点可以包括:车辆左前角关键点(如图2中的1,下述简称左前下)、车顶左前角关键点(如图2中的2,下述简称左前上)、车顶左后角关键点(如图2中的3,下述简称左后上)、车辆左后角关键点(如图2中的4,下述简称左后下)、左后轮底部关键点(如图2中的5,下述简称左后轮)、左前轮底部关键点(如图2中的6,下述简称左前轮)、车辆右前角关键点(如图2中的7,下述简称右前下)、车顶右前角关键点(如图2中的8,下述简称右前上)、车顶右后角关键点(与图2中的3左右对称,下述简称右后上)、车辆右后角关键点(与图2中的4左右对称,下述简称右后下)、右后轮底部关键点(与图2中的5左右对称,下述简称右后轮)以及右前轮底部关键点(与图2中的6左右对称,下述简称右前轮)。也就是说,关键点的语义可以表示出关键点在车辆上的具体位置。另外,本申请中的车辆也可以包括更多数量的关键点。本申请不对目标对象的关键点的数量以及关键点所表达的具体语义进行限制。

在一个可选示例中,本申请中的任一关键点通常均会对应伪三维检测体(如三维长方体)的一个面或者两个面或者三个面,同样的,本申请中的关键点通常会对应三维检测体的一个面或者两个面或者更多面。也就是说,关键点与伪三维检测体的面以及三维检测体的面之间存在对应关系。如图2中,左前下、左前上、右前下和右前上对应伪三维检测体以及三维检测体的前面,即从车辆的前方位置可以观测到左前下、左前上、右前下和右前上这四个关键点;左前下、左前上、左后下、左后下、左前轮和左后轮对应伪三维检测体以及三维检测体的左面,即从车辆的左方位置可以观测到左前下、左前上、左后下、左后下、左前轮和左后轮这六个关键点;左后下、左后上、右后下和右后上对应伪三维检测体以及三维检测体的后面,即从车辆的后方位置可以观测到左后下、左后上、右后下和右后上这四个关键点;右前下、右前上、右后下、右后下、右前轮和右后轮对应伪三维检测体以及三维检测体的右面,即从车辆的右方位置可以观测到左后下、左后上、右后下和右后上这四个关键点;右前下、右前上、右后下、右后下、右前轮和右后轮这六个关键点;左前下、左前上、右前下、右前上、左后下、左后上、右后下和右后上对应伪三维检测体以及三维检测体的上面,即从车辆的上方位置可以观测到左前下、左前上、右前下、右前上、左后下、左后上、右后下和右后上这八个关键点;左前下、右前下、左后下、右后下、左前轮、右前轮、左后轮和右后轮对应伪三维检测体以及三维检测体的下面,即从车辆的下方位置可以观测到左前下、右前下、左后下、右后下、左前轮、右前轮、左后轮和右后轮这八个关键点。另外,需要特别说明的是,本申请可以不设置关键点与伪三维检测体以及三维检测体的上面和下面的对应关系。

在一个可选示例中,本申请可以利用现有的神经网络来获取待处理图像中的目标对象的关键点的二维坐标。例如,将包含有目标对象(如车辆)的待处理图像输入神经网络中,经由该神经网络对待处理图像进行关键点检测(如车辆关键点检测)处理,从而根据神经网络输出的信息可以获得目标对象的各关键点在待处理图像中的二维坐标。再例如,先对待处理图像进行目标对象检测处理,获得包含有目标对象的二维目标检测框的位置,之后,可以根据二维目标检测框的位置对待处理图像进行切分处理,从而获得目标对象图像块(即包含有目标对象的图像块,例如,车辆图像块,即包含有车辆的图像块),再将目标对象图像块输入神经网络中,经由该神经网络对目标对象图像块进行关键点检测(如车辆关键点检测)处理,从而根据神经网络输出的信息可以获得目标对象(如车辆)的各关键点在目标对象图像块(如车辆图像块)中的二维坐标,进而可以将目标对象的各关键点在目标对象图像块中的二维坐标转换为目标对象的各关键点在待处理图像中的二维坐标。本申请不限制利用神经网络获得目标对象的关键点的二维坐标的具体实现方式。另外,在成功获得二维目标检测框(即包含有目标对象的检测框)的情况下,本申请继续执行对象三维检测方法中的其他步骤,否则,本申请可以不再执行对象三维检测方法中的其他步骤,从而有利于节约计算资源。

在一个可选示例中,本申请中的神经网络可以包括但不限于卷积层、非线性relu层、池化层以及全连接层等,该神经网络所包含的层数越多,则网络越深。本申请的神经网络可以使用stackhourglass神经网络框架结构,也可以采用基于asm(activeshapemodel,主动形状模型)、aam(activeappearncemodel,主动表观模型)或者基于级联形状回归算法的神经网络框架结构。本申请对神经网络的具体结构不作限制。

s110、根据关键点的二维坐标,在二维平面中,构建目标对象的伪三维检测体。

在一个可选示例中,本申请中的目标对象的伪三维检测体通常是指:在二维平面中可以将目标对象框于其中的长方体。也就是说,通过在二维平面中作图,可以形成一长方体,由于该长方体并不是三维空间中的真实的长方体,而是从平面上,看上去的一个长方体,因此,本申请将其称为伪三维检测体。然而,虽然伪三维检测体并不是三维空间中的真实的长方体,但是,伪三维检测体的长宽高仍然可以反映出目标对象的长宽高。在通常情况下,可以将伪三维检测体的长宽高认为是伪三维检测体内的目标对象的长宽高。也就是说,伪三维检测体可以认为是二维平面中的目标对象的外接长方体。另外,本申请中的伪三维检测体包括伪三维正方体。

在一个可选示例中,本申请可以先针对当前获得的目标对象的所有关键点进行筛选,以挑选出符合预测准确度要求的关键点(如挑选出置信度高于预定置信度阈值的关键点),然后,再利用挑选出的符合预测准确度要求的关键点的二维坐标,在二维平面,构建目标对象的伪三维检测体。由于在构建目标对象的伪三维检测体的过程中,避免了预测准确度低的关键点被使用,因此,本申请有利于提高构建出的伪三维长方体的准确性。

在一个可选示例中,本申请可以先根据关键点和目标对象包括的面之间预定的第一所属关系以及关键点的二维坐标,构建出目标对象的至少一个可能面;然后,再根据构建出的可能面,构建目标对象的伪三维检测体。本申请中的可能面可以为最佳面,本申请中的可能面也可以为最佳面和次佳面。

在一个可选示例中,本申请可以先确定出待处理图像中的目标对象的最佳面,并在二维平面中构建出该最佳面,然后,确定出该最佳面的法向量,并基于该最佳面中的关键点沿该法向量方向的拓展,形成伪三维检测体。有利于快捷准确的构建出伪三维检测体。

在一个可选示例中,本申请确定出待处理图像中的目标对象的最佳面的方式可以为:首先,针对符合预测准确度要求的关键点各自对应的面,确定各个面的质量,即基于符合预测准确度要求的关键点,为各个面进行质量评定。然后,将质量评定最高的面作为目标对象的最佳面。

在一个可选示例中,面的质量评定方式可以为:统计各个面所对应的符合预测准确度要求的关键点的数量,将统计出的数量作为面的质量评定分数,从而一个面所对应的符合预测准确度要求的关键点的数量越多,则该面的质量评定分数越高。一个例子:图2中,假定关键点1、关键点2、关键点3、关键点4、关键点5、关键点6、关键点7和关键点8均为符合预测准确度要求的关键点;由于关键点1、关键点2、关键点3、关键点4、关键点5和关键点6对应车辆的左面,而关键点1、关键点2、关键点7和关键点8对应车辆的前面,因此,车辆的左面的指令评定分数最高,车辆的左面为最佳面。

在一个可选示例中,面的质量评定方式也可以为:统计各个面所对应的符合预测准确度要求的关键点的预测准确度之和,这样,至少一个面会对应一个预测准确度分值,本申请可以将面所对应的预测准确度分值,作为面的质量评定分数,从而一个面所对应的预测准确度分值越高,则该面的质量评定分数越高。

在一个可选示例中,面的质量评定方式还可以为:统计各个面所对应的符合预测准确度要求的关键点的数量以及预测准确度之和,这样,每一个面会对应一个关键点数量以及预测准确度分值,本申请可以计算每个面所对应的预测准确度分值与关键点数量的商,即计算每一个面的预测准确度平均分值,将面所对应的预测准确度平均分值作为面的质量评定分数,从而一个面所对应的预测准确度平均分值越高,则该面的质量评定分数越高。

上述仅例举了三种面的质量评定方式,本申请还可以采用其他方式来确定面的质量,本申请不限制面的质量评定方式的具体实现方式。

在一个可选示例中,本申请可以通过多种方式,在二维平面中,构建最佳面,例如,可以利用最佳面上的一个关键点在二维平面中做垂线(即通过关键点的竖直方向的线),最佳面上的一个边即位于该垂线上,该垂线与其他面上的边的交点,即为最佳面的一个顶点。再例如,可以利用最佳面上的两个关键点在二维平面中做连接线,该连接线可以为最佳面上的一个边,或者该连接线及其延长线可以为最佳面上的一个边,即这两个关键点可以是最佳面上的两个顶点,或者,这两个关键点的连接线的延伸线与其他面的边的交点为该最佳面的顶点。再例如,利用最佳面上的一个关键点做平行线,该平行线是与最佳面上的另一条边相互平行的线,即通过最佳面上的一个关键点做最佳面上的另一条边的平行线,最佳面上的一个边即位于该平行线上,该平行线与上述垂线的交点或者与其他面的边的交点即为该最佳面的顶点。本申请不限制在二维平面中构建最佳面的具体实现方式。

在一个可选示例中,本申请可以通过多种方式确定出最佳面的法向量,第一个例子:先确定出伪三维检测体的次佳面,然后,利用次佳面中的关键点向最佳面做垂线,从而可以将该垂线作为最佳面的法向量。第二个例子:从所有符合预测准确度要求的关键点中去除对应最佳面的关键点,从剩余的关键点中挑选一个预测准确度最高的关键点,经由该关键点向最佳面做垂线,并将该垂线作为最佳面的法向量。第三个例子,如果存在两个关键点属于最佳面的相邻面,且这两个关键点的连接线位于相邻面的与最佳面相垂直的边上,则可以将这两个关键点在二维平面的坐标差,作为最佳面的法向量。例如,图2中,假定车辆的左面为最佳面,车辆的前面为次佳面,关键点7在二维平面的坐标为(u7,v7),关键点1在二维平面的坐标为(u1,v1),本申请可以将(u7-u1,v7-v1)作为最佳面的法向量。上述仅例举了三个例子,本申请还可以采用其他方式来获得最佳面的法向量,本申请不限制获得最佳面的法向量的具体实现方式。

在一个可选示例中,本申请确定次佳面的过程可以为:先确定与最佳面相邻接的面,并针对除了属于最佳面的关键点之外的其他关键点,统计与最佳面相邻接的各面各自包含的关键点数量,本申请可以将包含关键点数据最多的面作为次佳面,从而可以避免次佳面选取不当的现象。例如,图2中,由于关键点检测过程出现错误,本申请不但获取到关键点1、关键点2、关键点3、关键点4、关键点5、关键点6、关键点7以及关键点8,而且,还获取到关键点10;假定关键点1、关键点2、关键点3、关键点4、关键点5、关键点6、关键点7、关键点8以及关键点10均符合预测准确度要求,而且,关键点10的预测准确度较高;在上述情况下,很显然关键点10出现了关键点检测错误的情况,本申请通过利用上述方式来确定次佳面,可以避免从关键点10向最佳面做垂线,从而获得最佳面的法向量的现象。

在一个可选示例中,本申请在确定了最佳面及其法向量之后,可以将最佳面中的顶点沿该最佳面的法向量方向的拓展,从而会与其他面的边相交,最终形成伪三维检测体。例如,图2中,先形成通过关键点1的第一垂线以及通过关键点4的第二垂线,再形成同时经过关键点6和关键点5,而且与第一垂线和第二垂线分别相交的第一线,之后,形成经过关键点2或者关键点3与上述第一线相平行,而且与两条垂线分别相交的第二线,从而形成了最佳面的四条线以及四个顶点;该最佳面的法向量为(u7-u1,v7-v1);该法向量也为次佳面的底边,本申请可以形成通过关键点7的第三垂线,并通过关键点7做与第一线或者第二线向平行的第三线,最佳面中的左上角的顶点沿该法向量方向拓展,会与第三垂线相交,形成次佳面的顶边,而且该交点与关键点8的连线,会与最佳面中的右上角的顶点沿该法向量方向拓展的线相交,经该相交点做第四垂线,第四垂线会与最佳面右下角顶点沿法向量方向拓展的线相交,从而在二维空间中,形成伪三维检测体。本申请为待处理图像中的目标对象所形成的伪三维检测体的一个具体例子如图3所示。本申请在确定了最佳面及其法向量之后,可以通过多种方式形成伪三维检测体,本申请不限制形成伪三维检测体的具体实现过程。

s120、获取关键点的深度信息。

在一个可选示例中,本申请可以先利用单目方式或者双目方式等,获得待处理图像的深度图;然后,利用关键点的二维坐标从该深度图中读取出关键点的深度值。本申请也可以采用h矩阵的方式直接获得关键点的深度值,即利用关键点的二维坐标与h矩阵相乘,从相乘的结果中获得关键点的深度值(单位可以为米);还有,在摄像装置为基于深度的摄像装置时,可以直接获得关键点的深度值;本申请不限制获得关键点的深度值的具体实现过程。

s130、根据关键点的深度信息和伪三维检测体,确定目标对象的三维检测体。

在一个可选示例中,本申请可以先根据关键点的二维坐标和深度信息,在三维空间中构建目标对象的初始三维检测体(如初始三维长方体),然后,至少将伪三维检测体作为三维检测体的约束条件,对初始三维检测体进行校正处理,从而获得目标对象的三维检测体(如三维长方体)。

在一个可选示例中,本申请可以先根据关键点的深度信息,将关键点的二维坐标转换为三维空间中的三维坐标,然后,再根据转换获得的关键点的三维坐标,构建目标对象的初始三维检测体。本申请在将关键点的二维坐标转换为三维空间中的三维坐标的过程中,可以有选择性的进行转换,例如,仅将符合预测准确度要求的关键点的二维坐标转换为三维空间中的三维坐标。当然,本申请也可以将所有关键点的二维坐标均转换为三维空间中的三维坐标,而在构建目标对象的初始三维检测体的过程中,仅根据符合预测准确度要求的关键点的三维坐标,来构建目标对象的初始三维检测体。本申请中的三维空间通常为真实世界的三维空间,例如,基于摄像装置的三维坐标系的三维空间。

在一个可选示例中,本申请可以通过多种方式将关键点的二维坐标转换为三维空间中的三维坐标。

例如,将上述获得的关键点的深度值转换为三维空间中的距离,该距离可以认为是关键点与摄像装置之间的距离;之后,利用下述公式(1)计算出各关键点的三维坐标:

p×[x,y,z]t=w×[u,v,1]t公式(1)

在上述公式(1)中,p表示摄像装置的参数;x、y、z表示关键点的三维坐标,即关键点在真实世界的三维空间中的三维坐标,其中的z可以代入上述获得的关键点的深度值;u和v表示关键点的二维坐标,即关键点在待处理图像的坐标系中的二维坐标;w表示缩放因子。

如果将p表示为下述3×3的矩阵:

则,上述公式(1)可以表示为下述公式(2)的形式:

通过将多个关键点的二维坐标代入到上述公式(2)中,可以求解出变量x、y和w,从而获得关键点的三维坐标,即(x,y,z)。

在一个可选示例中,本申请可以先确定出目标对象在三维空间中的最佳面,并在三维平面中构建出该最佳面,然后,确定出该最佳面的法向量,并基于该最佳面中的关键点沿该法向量方向的拓展,形成初始三维检测体(如三维长方体)。

在一个可选示例中,本申请确定出目标对象在三维空间中的最佳面的方式可以为:首先,针对符合预测准确度要求的关键点各自对应的面,确定各个面的质量,即基于符合预测准确度要求的关键点,为各个面进行质量评定;然后,将质量评定最高的面作为目标对象的最佳面。面的质量评定方式可以如上述步骤s110中例举的几种方式。在此不再重复说明。

在一个可选示例中,本申请可以通过多种方式,在三维平面中,构建最佳面,例如,可以利用最佳面上的一个关键点在三维空间中做垂线(即作通过关键点的竖直方向(y方向)的线),最佳面上的一个边即位于该垂线上,该垂线与其他面上的边的交点,即为最佳面的一个顶点。再例如,可以利用最佳面上的两个关键点在三维空间中做连接线,该连接线可以为最佳面上的一个边,或者该连接线及其延长线可以为最佳面上的一个边,即这两个关键点可以是最佳面上的两个顶点,或者,这两个关键点的连接线的延伸线与其他面的边的交点为该最佳面的顶点。再例如,利用最佳面上的一个关键点做平行线,该平行线是与最佳面上的另一条边相互平行的线,即通过最佳面上的一个关键点做最佳面上的另一条边的平行线,最佳面上的一个边即位于该平行线上,该平行线与上述垂线的交点或者与其他面的边的交点即为该最佳面的顶点。本申请不限制在三维空间中构建最佳面的具体实现方式。

在一个可选示例中,本申请可以通过多种方式确定出最佳面的法向量,第一个例子:先确定出三维检测体的次佳面,然后,利用次佳面中的关键点向最佳面做垂线,从而可以将该垂线作为最佳面的法向量。第二个例子:从所有符合预测准确度要求的关键点中去除对应最佳面的关键点,从剩余的关键点中挑选一个预测准确度最高的关键点,经由该关键点向最佳面做垂线,并将该垂线作为最佳面的法向量。第三个例子,如果存在两个关键点属于最佳面的相邻面,且这两个关键点的连接线位于相邻面的与最佳面相垂直的边上,则可以将这两个关键点在三维空间的坐标差,作为最佳面的法向量。例如,图2中,假定车辆的左面为最佳面,车辆的前面为次佳面,关键点7在三维空间的坐标为(x7,y7,z7),关键点1在三维空间的坐标为(x1,y1,z1),本申请可以将(x7-x1,y7-y1,z7-z1)作为最佳面的法向量。上述仅例举了三个例子,本申请还可以采用其他方式来获得最佳面的法向量,本申请不限制获得最佳面的法向量的具体实现方式。

在一个可选示例中,本申请在确定了最佳面及其法向量之后,可以将最佳面中的顶点沿该最佳面的法向量方向的拓展,从而会与其他面的边相交,最终形成初始三维检测体。例如,图2中,先形成通过关键点1的第一垂线以及通过关键点4的第二垂线,再形成同时经过关键点6和关键点5,而且与第一垂线和第二垂线分别相交的第一线,之后,形成经过关键点2或者关键点3与上述第一线相平行,而且与两条垂线分别相交的第二线,从而形成了最佳面的四条线以及四个顶点;该最佳面的法向量为(x7-x1,y7-y1,z7-z1);该法向量也为次佳面的底边,本申请可以形成通过关键点7的第三垂线,并通过关键点7做与第一线或者第二线向平行的第三线,最佳面中的左上角的顶点沿该法向量方向拓展,会与第三垂线相交,形成次佳面的顶边,而且该交点与关键点8的连线,会与最佳面中的右上角的顶点沿该法向量方向拓展的线相交,经该相交点做第四垂线,第四垂线会与最佳面右下角顶点沿法向量方向拓展的线相交,从而在二维空间中,形成三维检测体。本申请在确定了最佳面及其法向量之后,可以通过多种方式形成初始三维检测体,本申请不限制形成初始三维检测体的具体实现过程。

通过上述方式,由于不需要道路分割以及语义分割等计算机视觉基础任务,因此,可以快速的为目标对象构建出初始三维检测体,且构建该初始三维检测体的计算资源的消耗较小,实现成本较低。另外,由于本申请是以目标对象的关键点为基础,来构建初始三维检测体的,构建初始三维检测体的过程与目标对象是否位于地面等因素无关,因此,本申请可以有效避免在目标对象位于非地面上等场景下,无法实现对象三维检测等现象,从而有利于提高对象三维检测的适用范围。

在一个可选示例中,本申请可以将初始三维检测体中的各顶点映射在二维平面中,从而得到初始三维检测体在二维平面中的图形。本申请通过对三维空间中的初始三维检测体进行调整,可以使映射在二维平面中的图形区域与二维平面中的伪三维检测体的面积重叠情况发生变化,例如,使两者的重叠面积尽可能最大,再例如,使两者的交并比尽可能最大。

在一个可选示例中,本申请使两者的面积重叠情况发生变化的方式可以包括:调整初始三维检测体在三维空间中的位置,使初始三维检测体映射在二维平面中的图形区域与伪三维检测体的重叠面积最大,例如,使初始三维检测体映射在二维平面中的图形区域完全覆盖伪三维检测体;再例如,使伪三维检测体完全覆盖初始三维检测体映射在二维平面中的图形区域。

在一个可选示例中,本申请使两者的面积重叠情况发生变化的方式也可以包括:调整初始三维检测体在三维空间中的尺寸,使初始三维检测体映射在二维平面中的图形区域与伪三维检测体的图形区域尽可能一致。例如,初始三维检测体在映射在二维空间中时,如果其长/宽/高的长度与伪三维检测体的长/宽/高的长度的比值不满足预定比值(如0.9-1.1等),则本申请可以对初始三维检测体在三维空间中的长/宽/高的长度进行调整,以使调整后的三维检测体映射在二维空间中的长/宽/高的长度与伪三维检测体的长/宽/高的长度的比值满足预定比值或者相同。

由于检测待处理图像中的目标对象的关键点的准确度已经相对较高,且检测速度相对较快,因此,利用目标对象的关键点可以快速的在二维平面中构建出准确度较高的伪三维检测体。本申请通过利用伪三维检测体来对三维空间中的初始三维检测体进行校正,有利于提高针对目标对象在三维空间中所构建出的三维检测体的准确度。

在一个可选示例中,本申请还可以将针对目标对象预设的长宽高比例作为初始三维检测体的约束条件,从而在三维空间中,可以根据该约束条件对初始三维检测体进行校正。例如,在目标对象为车辆的情况下,本申请可以预设车辆的长宽高比例为2:1:1,从而在初始三维检测体的长宽高比例超出2:1:1一定范围时,可以对初始三维检测体的长宽高进行调整,使调整后的三维检测体的长宽高比例不会超出2:1:1一定范围。

在一个可选示例中,本申请还可将目标对象在待处理图像中的检测框作为初始三维检测体的约束条件,从而在三维空间中,可以根据该约束条件对初始三维检测体进行校正。例如,在目标对象为车辆的情况下,本申请可以将车辆检测框(也可以称为车辆外接框)作为初始三维检测体的约束条件,对初始三维检测体的整体位置和/或长宽高进行调整,从而在调整后的三维检测体映射在二维空间中时,完全落入在检测框内。由于目标对象的检测框通常较为准确,因此,利用检测框作为约束条件对初始三维检测体进行校正,有利于提高对象三维检测结果的准确性。

在一个可选示例中,在待处理图像为具有时序关系的多个待处理图像中的一个待处理图像(如视频中的一视频帧)的情况下,本申请可以对调整后的三维检测体进行平滑处理。该平滑处理可以包括:对三维检测体的长宽高的平滑处理、对三维检测体的运动方向的平滑处理以及对三维检测体的鸟瞰图中心点的平滑处理中的至少一个。另外,本申请也可以对三维检测体的八个顶点进行平滑处理。本申请通过对三维检测体进行平滑处理,有利于提高对象三维检测的准确性,且可以避免目标对象在前后相邻的两视频帧中的大幅度晃动,从而有利于提高自动驾驶的安全性。

在实现平滑处理的过程中,本申请可以利用当前待处理图像之前的多个历史待处理图像(如5个或者6个或者7个等历史视频帧),采用相应的拟合函数来预测当前待处理图像的目标对象的三维检测体的长宽高、运动方向或者鸟瞰图中心点等参数。当然,本申请也可以为目标对象的三维检测体的8个顶点进行平滑处理。本申请中的拟合函数可以采用二次函数、三次指数函数或者对数函数等,本申请不限制在平衡处理过程中所采用的拟合函数的具体表现形式。

作为拟合函数的二次函数的一个例子如下述公式(3)所示:

x=f(t)=at2+bt+c公式(3)

在上述公式(3)中,x表示进行优化拟合的历史视频帧的值,如在采用5个历史视频帧进行拟合的情况下,x=(x1,x2,x3,x4,x5),t表示历史视频帧所对应的时刻,如在采用5个历史视频帧进行拟合的情况下,t=(t1,t2,t3,t4,t5),a、b和c表示二次函数的系数。

本申请可以利用历史视频帧先获得公式(3)中的a、b和c,然后,再利用公式(3)获得当前视频帧的预测结果pred

本申请可以通过加权的方式对当前视频帧中的目标对象的三维检测体的长宽高、运动方向或者鸟瞰图中心点等参数进行相应的调整,从而实现相应的平滑处理,例如,本申请可以利用下述公式(4)来对当前视频帧中的目标对象的三维检测体的长宽高、运动方向或者鸟瞰图中心点等参数进行相应的调整:

x6=α*pred+β*x6'公式(4)

在上述公式(4)中,α表示预测结果对应的权重,pred表示预测结果,β表示当前视频帧的对象三维检测结果对应的权重,x6’表示当前视频帧的对象三维检测结果,x6表示平滑处理后的当前视频帧的对象三维检测结果。

权重值的设置可以根据实际需求确定,例如,在预测结果与当前视频帧的对象三维检测结果相差不大(如相差不超过预定值等)的情况下,可以设置α=0.5和β=0.5;再例如,在预测结果与当前视频帧的对象三维检测结果相差较大(如相差达到预定值)的情况下,可以设置α=0.8和β=0.2,也可以设置α=0.7和β=0.3等。本申请对权重的具体取值不作限制。

在一个可选示例中,本申请还可以获取最终获得的三维检测体的三维空间参数,例如,三维检测体的运动方向、三维检测体与摄取待处理图像的摄像装置之间的位置关系、以及三维检测体的尺寸中的至少一个。获取的三维空间参数可以用于对目标对象进行控制,例如,根据获取的三维空间参数产生相应的控制指令等。

图4为本申请的智能驾驶控制方法的一个实施例的流程图。本申请的智能驾驶控制方法可以适用于自动驾驶(如完全无人辅助的自动驾驶)环境中,也可以适用于辅助驾驶环境中。本申请不限制智能驾驶控制方法的应用环境。

如图4所示,该实施例方法包括:步骤s400、步骤s410、步骤s420、步骤s430、步骤s440以及步骤s450。下面对图4中的各步骤进行详细说明。

s400、获取车辆上设置的摄像装置采集的待处理图像中的目标对象的关键点的二维坐标。本步骤的具体实现方式可以参见上述方法实施方式中针对图1中的s100的描述,在此不再详细说明。

s410、根据关键点的二维坐标,构建目标对象的伪三维检测体。本步骤的具体实现方式可以参见上述方法实施方式中针对图1中的s110的描述,在此不再详细说明。

s420、获取关键点的深度信息。本步骤的具体实现方式可以参见上述方法实施方式中针对图1中的s120的描述,在此不再详细说明。

s430、根据关键点的深度信息和伪三维检测体,确定目标对象的三维检测体。本步骤的具体实现方式可以参见上述方法实施方式中针对图1中的s130的描述,在此不再详细说明。

s440、根据三维检测体的信息生成车辆控制指令。

在一个可选示例中,本申请中的三维检测体的信息包括以下至少之一:三维检测体的运动方向、三维检测体与所述摄像装置之间的位置关系、三维检测体的尺寸。本申请不限制三维检测体的信息所包含的具体内容。

在一个可选示例中,本申请根据三维检测体的信息,所生成的车辆控制指令可以包括:刹车指令、减速行驶指令、左转向指令、右转向指令、保持当前速度行驶指令、鸣笛指令以及加速行驶指令中的至少一种,本申请不限制车辆控制指令的具体表现形式。

s450、向车辆发送车辆控制指令。

需要特别说明的是,本申请的对象三维检测技术除了可以适用于智能驾驶控制领域之外,还可以应用在其他领域中;例如,可以实现工业制造中的对象检测、超市等室内领域的对象检测、安防领域中的对象检测等等,本申请不限制对象三维检测技术的适用场景。

图5为本申请的对象三维检测装置一个实施例的结构示意图。如图5所示,该实施例的装置包括:获取二维坐标模块500、构建三维检测体模块510、获取深度信息模块520以及确定三维检测体模块530。可选的,该装置还可以包括:选取关键点模块540、获取目标检测框模块550、平滑处理模块560、获取运动方向模块570以及获取位置关系模块580。

获取二维坐标模块500用于获取待处理图像中的目标对象的关键点的二维坐标。本申请中的待处理图像可以为:设置在移动物体上的摄像装置所摄取的视频中的视频帧。本申请中的待处理图像也可以为:设置在固定位置的摄像装置所摄取的视频中的视频帧。本申请中的目标对象包括以下至少之一:机动车辆、非机动车辆、行人、动物、建筑物、植物、障碍物、危险物、交通标识物、物品。

在一个可选示例中,在获取二维坐标模块500执行操作之前,获取目标检测框模块550可以对待处理图像进行目标对象检测,以获得包括有目标对象的二维目标检测框。这样获取二维坐标模块500可以基于待处理图像对应的二维目标检测框的图像部分,获取目标对象的关键点的二维坐标。另外,在目标对象检测过程中,如果获取目标检测框模块550未成功获取到包括有目标对象的二维目标检测框,则本申请的对象三维检测装置可以不再进行对象的三维检测处理,例如,获取二维坐标模块500不再执行获取二维目标检测框的操作。

构建三维检测体模块510用于根据关键点的二维坐标,构建目标对象的伪三维检测体。

在一个可选示例中,构建三维检测体模块510可以包括:第一子模块和第二子模块。其中的第一子模块用于根据关键点和目标对象包括的面之间预定的第一所属关系以及关键点的二维坐标,构建至少一个目标对象的可能面。其中的第二子模块用于根据可能面构建目标对象的伪三维检测体。

在一个可选示例中,上述第二子模块可以包括:第一单元和第二单元。其中的第一单元用于根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面。其中的第二单元用于根据最佳面构建目标对象的伪三维检测体。另外,第一单元可以根据面质量预定判断规则在构建的至少一个可能面中确定一最佳面和一次佳面;而第二单元可以根据最佳面和次佳面构建目标对象的伪三维检测体。

在一个可选示例中,第二单元可以先确定最佳面的法向量,然后,第二单元根据最佳面中的顶点沿法向量方向的拓展,形成伪三维检测体。其中,第二单元确定最佳面的法向量的方式可以为:将次佳面中的关键点向最佳面所做的垂线,作为最佳面的法向量。本申请的第二单元确定最佳面的法向量的方式也可以为:将除了对应最佳面之外的其他关键点中预测准确度最高的关键点向最佳面所做的垂线,作为最佳面的法向量。本申请的第二单元确定最佳面的法向量的方式还可以为:将最佳面的相邻面中的、与最佳面垂直的边上的两个关键点的坐标差,作为最佳面的法向量。

在一个可选示例中,在目标对象的关键点为多个的情况下,在构建三维检测体模块510执行构建伪三维检测体操作之前,选取关键点模块540可以用于从多个关键点中选取符合预测准确度要求的关键点,从而构建三维检测体模块510可以根据选取关键点模块540所选取出的关键点的二维坐标,构建目标对象的伪三维检测体。

获取深度信息模块520用于获取关键点的深度信息。

确定三维检测体模块530用于根据关键点的深度信息和伪三维检测体,确定目标对象的三维检测体。

在一个可选示例中,确定三维检测体模块530可以包括:第三子模块、第四子模块以及第五子模块。其中的第三子模块用于根据关键点的深度信息,将关键点的二维坐标转换为三维空间中的三维坐标。例如,第三子模块可以将符合预测准确度要求的关键点的二维坐标转换为三维空间中的三维坐标。其中的第四子模块用于根据关键点的三维坐标,构建目标对象的初始三维检测体。其中的第五子模块用于根据伪三维检测体对初始三维检测体进行校正,形成目标对象的三维检测体。例如,第五子模块根据二维平面中的伪三维检测体,对三维空间中的初始三维检测体进行调整,以提高调整后的三维检测体映射在二维平面中的区域与伪三维检测体间的面积重叠情况。另外,第五子模块还可以根据目标对象的预设长宽高比例,对初始三维检测体进行校正。第五子模块也可以根据目标对象在待处理图像中的检测框对初始三维检测体进行校正,以使调整后的三维检测体映射在二维平面中的区域属于所述检测框。

在一个可选示例中,第四子模块可以包括:第三单元、第四单元和第五单元。其中的第三单元用于根据关键点的三维坐标各自对应的面,确定目标对象的最佳面,并在三维空间,构建目标对象的最佳面。其中的第四单元用于确定最佳面的法向量。例如,第四单元将次佳面中的关键点向最佳面所做的垂线,作为最佳面的法向量;再例如,第四单元将除了对应最佳面之外的其他关键点中预测准确度最高的关键点向最佳面所做的垂线,作为最佳面的法向量;再例如,第四单元将最佳面的相邻面中的、与最佳面垂直的边上的两个关键点的坐标差,作为最佳面的法向量。上述第五单元用于根据最佳面中的顶点沿法向量方向的拓展,形成初始三维检测体。

平滑处理模块560用于针对具有时序关系的多个待处理图像中的同一目标对象的三维检测体进行平滑处理。本申请中的平滑处理可以包括:对三维检测体的长宽高的平滑处理、对三维检测体的运动方向的平滑处理、对三维检测体的鸟瞰图中心点的平滑处理以及对三维检测体的顶点的平滑处理中的至少一个。

获取运动方向模块570用于根据目标对象的关键点的三维坐标,获取三维检测体的运动方向。

获取位置关系模块580用于根据目标对象的关键点的三维坐标,获取目标对象与摄取所述待处理图像的摄像装置之间的位置关系。

本申请中的获取二维坐标模块500、构建三维检测体模块510、获取深度信息模块520、确定三维检测体模块530、选取关键点模块540、获取目标检测框模块550、平滑处理模块560、获取运动方向模块570以及获取位置关系模块580等模块所执行的具体操作,可以参见上述方法实施方式中的相关描述。在此不再重复说明。

图6为本申请的智能驾驶控制装置的一个实施例的结构示意图。图6中的装置主要包括:对象三维检测装置600、生成指令模块610以及发送指令模块620。

生成指令模块610用于根据对象三维检测装置600所获得的三维检测体的信息生成车辆控制指令。

发送指令模块620用于向车辆发送车辆控制指令。

对象三维检测装置600的结构可以参见上述装置实施方式中的描述,生成指令模块610以及发送指令模块620所执行的具体操作,可以参见上述方法实施方式中的相关描述。在此不再重复说明。

示例性设备

图7示出了适于实现本申请的示例性设备700,设备700可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(pc,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图7中,设备700包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(cpu)701,和/或,一个或者多个利用神经网络进行视觉跟踪的图像处理器(gpu)713等,处理器可以根据存储在只读存储器(rom)702中的可执行指令或者从存储部分708加载到随机访问存储器(ram)703中的可执行指令而执行各种适当的动作和处理。通信部712可以包括但不限于网卡,所述网卡可以包括但不限于ib(infiniband)网卡。处理器可与只读存储器702和/或随机访问存储器703中通信以执行可执行指令,通过总线704与通信部712相连、并经通信部712与其他目标设备通信,从而完成本申请中的相应步骤。

上述各指令所执行的操作可以参见上述方法实施例中的相关描述,在此不再详细说明。此外,在ram703中,还可以存储有装置操作所需的各种程序以及数据。cpu701、rom702以及ram703通过总线704彼此相连。

在有ram703的情况下,rom702为可选模块。ram703存储可执行指令,或在运行时向rom702中写入可执行指令,可执行指令使中央处理单元701执行上述物体分割方法所包括的步骤。输入/输出(i/o)接口705也连接至总线704。通信部712可以集成设置,也可以设置为具有多个子模块(例如,多个ib网卡),并分别与总线连接。

以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装在存储部分708中。

需要特别说明的是,如图7所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图7的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,gpu713和cpu701可分离设置,再如理,可将gpu713集成在cpu701上,通信部可分离设置,也可集成设置在cpu701或gpu713上等。这些可替换的实施方式均落入本申请的保护范围。

特别地,根据本申请的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本申请实施方式包括一种计算机程序产品,其包含有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本申请提供的方法中的步骤对应的指令。

在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载及安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本申请中记载的实现上述相应步骤的指令。

在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任意实施例中所述的对象三维检测方法或者智能驾驶控制方法。

该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(softwaredevelopmentkit,sdk)等等。

在一个或多个可选实施方式中,本公开实施例还提供了另一种视觉跟踪方法和神经网络的训练方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中的方法包括:第一装置向第二装置发送对象三维检测指示或者智能驾驶控制指示,该指示使得第二装置执行上述任一可能的实施例中的对象三维检测方法或者智能驾驶控制方法;第一装置接收第二装置发送的对象三维检测结果或者智能驾驶控制结果。

在一些实施例中,该视对象三维检测指示或者智能驾驶控制指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行对象三维检测操作或者智能驾驶控制操作,相应地,响应于接收到调用指令,第二装置可以执行上述对象三维检测方法或者智能驾驶控制方法中的任意实施例中的步骤和/或流程。

应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。

可能以许多方式来实现本申请的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

本申请的描述,是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言,是显然的。选择和描述实施方式是为了更好说明本申请的原理以及实际应用,并且使本领域的普通技术人员能够理解本申请实施例可以从而设计适于特定用途的带有各种修改的各种实施方式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1