可移动平台的障碍物检测方法、装置及可移动平台
技术领域
本发明涉及障碍物检测领域,尤其涉及一种可移动平台的障碍物检测方法、装置及可移动平台。
背景技术
无人驾驶车辆是利用车载传感器来感知车辆周围环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶。车载传感器主要包括激光雷达、毫米波雷达和视觉传感器。其中,激光雷达的基本原理为主动对被探测对象发射激光脉冲信号,并获得其反射回来的脉冲信号,根据发射信号和接收信号之间的时间差计算被测对象的深度信息;基于激光雷达的已知发射方向,获得被测对象相对激光雷达的角度信息;结合前述深度和角度信息得到点云。然而,激光雷达所探测的点云为非结构化的无序数据,不可直接作为神经网络的输入,因此,如何利用点云和神经网络检测障碍物成为亟待解决的热点问题。
发明内容
本发明提供一种可移动平台的障碍物检测方法、装置及可移动平台,可以利用神经网络对点云进行处理,以得到可移动平台所处周围环境的障碍物信息,并且障碍物检测的准确率高,可以更好的描述障碍物的轮廓信息。
具体地,本发明是通过如下技术方案实现的:
根据本发明的第一方面,提供一种可移动平台的障碍物检测方法,所述方法包括:
获取所述可移动平台所处周围环境对应的点云;
将所述点云划分至三维网格中,并确定每个三维网格对应的网格数据,所述网格数据包括所述每个三维网格的点云密度;
将所述网格数据输入到预先训练的神经网络中,以确定所述可移动平台所处周围环境的障碍物信息。
根据本发明的第二方面,提供一种可移动平台的障碍物检测装置,包括:
存储装置,用于存储程序指令;
一个或多个处理器,调用所述存储装置中存储的程序指令,当所述程序指令被执行时,所述一个或多个处理器单独地或共同地被配置用于:
获取所述可移动平台所处周围环境对应的点云;
将所述点云划分至三维网格中,并确定每个三维网格对应的网格数据,所述网格数据包括所述每个三维网格的点云密度;
将所述网格数据输入到预先训练的神经网络中,以确定所述可移动平台所处周围环境的障碍物信息。
根据本发明的第三方面,提供一种可移动平台,包括:
平台主体;
动力系统,安装于所述平台主体,用于为所述可移动平台提供动力;
传感器,安装于所述平台主体,用于获取所述可移动平台所处周围环境对应的点云;
以及第二方面所述的可移动平台的障碍物检测装置。
由以上本发明实施例提供的技术方案可见,本发明提出了一种新型的三维点云表示方式,通过将点云三维网格化,解决了无序点云无法作为神经网络的输入的问题,此外,将不规则点云处理成规则的表示形式,能够更好地表现障碍物的轮廓信息。同时,通过将包括点云密度的网格数据作为神经网络的输入,可以对每个三维网格的点云的数量作区分,提高障碍物检测的准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中的一种可移动平台的障碍物检测方法的方法流程图;
图2是本发明一实施例中的一种对点云进行上采样处理的方法流程图;
图3是本发明一实施例中的一种神经网络的一具体网络结构示意图;
图4是本发明一实施例中的一种可移动平台的障碍物检测方法的一种具体的方法流程图;
图5是本发明一实施例中的一种可移动平台的障碍物检测装置的结构框图;
图6是本发明一实施例中的一种可移动平台的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
本发明实施例的可移动平台可以为汽车、无人飞行器、遥控车、无人船或机器人,其中,汽车可以为无人驾驶车辆,也可以为有人驾驶车辆,无人飞行器可以为无人机或其他无人飞行器。当然,可移动平台并不限于上述列举的可移动平台,也可为其他可移动平台。
以无人机驾驶车辆为例,无人驾驶车辆是利用车载传感器来感知车辆周围环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶。车载传感器主要包括激光雷达、毫米波雷达和视觉传感器。其中,激光雷达的基本原理为主动对被探测对象发射激光脉冲信号,并获得其反射回来的脉冲信号,根据发射信号和接收信号之间的时间差计算被测对象的深度信息;基于激光雷达的已知发射方向,获得被测对象相对激光雷达的角度信息;结合前述深度和角度信息得到点云。然而,激光雷达所探测的点云为非结构化的无序数据,不可直接作为神经网络的输入。本发明通过将点云三维网格化,解决了无序点云无法作为神经网络的输入的问题,此外,将不规则点云处理成规则的表示形式,能够更好地表现障碍物的轮廓信息。同时,通过将包括点云密度的网格数据作为神经网络的输入,可以对每个三维网格的点云的数量作区分,提高障碍物检测的准确率。
图1是本发明一实施例中的一种可移动平台的障碍物检测方法的方法流程图;如图1所示,本发明实施例的可移动平台的障碍物检测方法可以包括如下步骤:
S101:获取可移动平台所处周围环境对应的点云;
点云的获取方式可根据需要选择,例如,在某些实施例中,点云由安装在可移动平台上的单个传感器检测获得,该传感器可以为激光雷达、毫米波雷达等,此外还可以基于立体视觉获取周围环境对应的点云。
在某些实施例中,点云由安装在可移动平台上的多个传感器检测确定,多个传感器可以为激光雷达、毫米波雷达、双目摄像头中至少两个的组合;当然,多个传感器不限于上述传感器的组合,也可以为其他能够获得点云的至少两个传感器的组合。
采用单个传感器检测获得的点云一般较为稀疏,在稀疏点云的条件下,障碍物检测效果不佳。因此,在获取可移动平台所处周围环境对应的点云时,可以获取预设时长内探测到的点云,从而实现点云的累积,实现点云密度上的基础提升。其中,预设时长可以根据需要设定,如50ms或其他时长大小。作为一可行的实现方式,对于采集时刻为t的点云,获取t至t-50ms的时间段内通过激光雷达检测获得的所有点云。
S102:将点云划分至三维网格中,并确定每个三维网格对应的网格数据,网格数据包括每个三维网格的点云密度;
该步骤中,在x、y、z三个方向上按照一定分辨率,进行栅格划分,从而将空间的点云划分至三维网格中,其中,x、y、z可以为自定义的坐标系,也可以为世界坐标系。x、y、z三个方向进行栅格划分的分辨率大小可相等,也可不相等。
其中,每个三维网格的点云密度根据每个三维网格的点云的数量和对应的三维网格的体积确定。可选的,每个三维网格的点云密度为每个三维网格的点云的数量和对应的三维网格的体积的比值,也即,每个三维网格的点云密度=该三维网格的点云的数量/该三维网格的体积。其中,每个三维网格的体积可以相同也可以不同,计算每个三维网格的点云密度的方式不限于上述计算方式,也可选择其他计算方式。
进一步的,在某些实施例中,每个三维网格的点云密度为对所有三维网格的点云密度进行归一化后确定的点云密度,归一化后确定的点云密度处于特定数值范围(通常大于等于0且小于等于1),方便后续的数据运算。点云密度归一化的方式可根据需要选择,例如,在一可行的实现方式中,归一化后的每个三维网格的点云密度为每个三维网格的点云密度与所有三维网格的点云密度中的最大值的比值,也即,归一化后的每个三维网格的点云密度=每个三维网格的点云密度/所有三维网格的点云密度中的最大值。当然,点云密度归一化的方式也可采用其他归一化方式。
网格数据不仅包括上述点云密度,还包括其他信息,从而有利于后续进一步确定可移动平台所处周围环境的障碍物信息;可选的,网格数据还可以包括每个三维网格的位置;可选的,网格数据还可以包括每个三维网格的尺寸大小;可选的,网格数据还可以包括每个三维网格的位置和每个三维网格的尺寸大小。
其中,三维网格的位置可由三维网格的顶点坐标表示。示例的,三维网格的形状可以为立方体,三维网格的位置可以由三维网格的8个顶点的坐标表示。此外,三维网格的位置还可以通过其他方式表示,例如由三维网格中心点的坐标表示。
采用单个传感器检测获得的点云一般较为稀疏,在稀疏点云的条件下,障碍物检测效果不佳。为解决点云稀疏问题,相关技术采用多个传感器组合方式来获得点云,例如采用激光雷达检测获得点云的同时,利用其它传感器进行辅助融合,从而获得密集质量较高的点云,不同传感器之间的数据融合过程较为复杂,同时,多个传感器还增加了硬件成本。
在本实施例中,所述可移动平台的障碍物检测方法还可以包括:在获取可移动平台所处周围环境对应的点云之后,将点云划分至三维网格中之前,对点云进行上采样处理,从而获得密集质量较高的点云,解决了点云稀疏问题。进一步的,本实施例将上采样处理后的点云划分至三维网格中。
图2是对点云进行上采样处理的一种具体实现方式,参见图2,对点云进行上采样处理的过程可以包括:
S201:针对每个点云,确定距离该点云的预设距离内的第一空间的点云的数量;
本实施例中,步骤S201中的点云为上述步骤S101中进行点云的累积所获得的点云。
其中,预设距离可根据需要设定,比如,可以为1cm、2cm、3cm、4cm、5cm、6cm、7cm、8cm、9cm、10cm等等。
在本实施例中,第一空间为一球形空间;可以理解,第一空间也可为以该点云为中心形成的正方体、长方体或其他规则形状的空间区域。
S202:若第一空间的点云的数量小于第一预设阈值,则在第一空间内插入新的点云,使得上采样处理后第一空间的点云的数量达到第一预设阈值。
本实施例中,若第一空间的点云的数量大于或等于上述第一预设阈值,则无需对该第一空间的点云进行处理,从而减少计算量。
通过上述上采样处理,得到密度更高的点云,实现了在稀疏点云的条件下,达到较好的障碍物检测效果的目的;同时,可移动平台基于单个传感器检测获得的点云即可获得较好的障碍物检测效果,减少了对传感器的数量要求,从而降低了设备成本。
上述第一预设阈值可根据检测障碍物时的漏检率和/或误检率确定,作为一种可行的实现方式,设定初始阈值,在初始阈值的基础上,对初始阈值依次增大,再将增大后获得的各阈值作为上述步骤S202中第一预设阈值,对点云进行上采样处理,再根据每次上采样处理后的点云进行障碍物检测,若以当前阈值进行障碍物检测对应的增益相比上一个阈值进行障碍物检测对应的增益小于预设增益阈值时,将当前阈值作为第一预设阈值,上述增益根据每次进行障碍物检测时的漏检率和/或误检率确定。即使选择更大第一预设阈值,进行障碍物检测对应的增益也不会存在明显的增加,故无需继续增大第一预设阈值。
可选的,根据预设步长对初始阈值依次增大,例如,按照1*预设长、2*预设长、…、N*预设步长的规律依次增大初始阈值,其中,N为增大处理的次数;可选的,预设步长为初始阈值*0.2%;当然,预设步长也可以设置为其他数值。
上采样处理的方式可以选择为双线性插值方式,也可采用其他插值方式在第一空间内插入新的点云。
S103:将网格数据输入到预先训练的神经网络中,以确定可移动平台所处周围环境的障碍物信息。
其中,预设训练的神经网络可以为卷积神经网络,卷积神经网络(ConvolutionalNeural Network,CNN)是一种前馈神经网络,卷积神经网络由一个或多个卷积层和全连通层组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。
下面,阐述一种具体的神经网络的网络结构。
如图3所示,本实施例的神经网络可以包括卷积层和池化层、ROI Pooling层、全连接层和修正层。
其中,卷积层和池化层用于对输入神经网络的网格数据进行处理,得到第一特征图,本实施例的卷积和池化层采用常规的卷积和池化操作对网格数据进行处理,得到第一特征图。
ROI Pooling层用于根据第一特征图的特征信息,预测可移动平台所处周围环境的初始障碍物信息,可选的,ROI Pooling层预测初始障碍物候选框的位置信息,如初始障碍物候选框的顶点的位置坐标或其他用于表征初始障碍物候选框的位置的信息。
全连接层用于对经ROI Pooling层处理后的第一特征图进行处理,得到第二特征图,可选的,全连接层包括至少两个,上述至少两个全连接层对ROI Pooling层处理后的第一特征图依次处理后获得第二特征图,本实施例中,由两个全连接层对第一特征图依次处理后获得第二特征图。
修正层用于根据第二特征图的特征信息,修正初始障碍物信息,确定可移动平台所处周围环境的障碍物信息。本实施例中,修正层可以根据第二特征图的特征信息,修正初始障碍物候选框的位置信息和/或对初始障碍物候选框进行筛选,确定最终的障碍物候选框,比如,ROI Pooling层预测的初始障碍物候选框的位置信息可能不太准确,修正层对初始障碍物候选框的位置信息进行修正后,能够获得准确的障碍物候选框的位置信息;又如,修正层可以排除掉ROI Pooling层预测的初始障碍物候选框中不是障碍物的候选框。
上述障碍物信息可以包括:障碍物候选框的位置信息和障碍物候选框的置信度。可选的,障碍物候选框的位置信息包括障碍物候选框的顶点的位置坐标;可选的,障碍物候选框为长方体或正方体,障碍物候选框的位置信息包括长方体或正方体的8个顶点的位置坐标;当然,障碍物候选框的位置信息还可以包括其他用于表示障碍物的位置的信息。当然,上述障碍物信息还可以包括障碍物候选框的其他信息,如障碍物候选框的大小。
进一步的,在某些实施例中,如图4所示,在将网格数据输入到预先训练的神经网络中,确定可移动平台所处周围环境的障碍物信息之后,所述可移动平台的障碍物检测方法还可以包括:
S401:根据障碍物候选框的位置信息和障碍物候选框的置信度,确定可移动平台所处周围环境的障碍物的预测结果。
基于上述步骤S101、S102、S103和S401,即能够准确地检测可移动平台所处周围环境的障碍物的存在情况。
其中,在根据障碍物候选框的位置信息和障碍物候选框的置信度,确定可移动平台所处周围环境的障碍物的预测结果时,具体的,若障碍物候选框的置信度大于或等于预设置信度阈值,则判定对应的障碍物候选框中存在障碍物,并将障碍物候选框的位置信息作为预测结果;若障碍物候选框的置信度小于预设置信度阈值,则判定对应的障碍物候选框的中不存在障碍物。上述预设置信度阈值的大小可根据需要设置,本实施例中,预设置信度阈值大于等于80%,比如预设置信度阈值可以为80%、85%、90%、95%或其他。
可以理解地,神经网络的网络结构不限于图3所示的网络结构,还可以设计成其他网络结构形式。
需要说明的时,本发明实施例中,在训练上述神经网络的参数时,输入待训练的神经网络的数据形式与上述网格数据的形式相同。上述神经网络的训练过程可以包括但不限于如下步骤:
(1)、对输入点云进行标注,获取标注后的点云数据集,将点云数据集作为上述神经网络的训练样本和测试样本;
(2)、构建上述神经网络的网络结构;
(3)、对点云数据集中的每个点云进行上采样处理和三维网格化处理,作为网络输入,训练神经网络,生成上述神经网络的参数。
其中,对输入点云进行标注,即根据点云标注障碍物的位置信息和/或大小等障碍物信息。
对点云数据集中的每个点云进行上采样处理的方式与上述实施例中对点云进行上采样处理的方式相同,对点云数据集中的每个点云进行三维网格化处理的处理方式也与上述实施例中对点云进行三维网格化处理的方式(即步骤S102)相同。
本发明实施例的可移动平台的障碍物检测方法,提出了一种新型的三维点云表示方式,通过将点云三维网格化,解决了无序点云无法作为神经网络的输入的问题,此外,将不规则点云处理成规则的表示形式,能够更好地表现障碍物的轮廓信息。同时,通过将包括点云密度的网格数据作为神经网络的输入,可以对每个三维网格的点云的数量作区分,提高障碍物检测的准确率。。
此外,还需要说明的是,本实施例的障碍物可以为静态障碍物,也可以为动态障碍物。
对应于上述实施例的可移动平台的障碍物检测方法,本发明实施例还提供一种可移动平台的障碍物检测装置,参见图5,该可移动平台的障碍物检测装置100可以包括存储装置110和一个或多个处理器120。
其中,存储装置110,用于存储程序指令;一个或多个处理器120,调用存储装置110中存储的程序指令,当程序指令被执行时,一个或多个处理器120单独地或共同地被配置用于:获取可移动平台所处周围环境对应的点云;将点云划分至三维网格中,并确定每个三维网格对应的网格数据,网格数据包括每个三维网格的点云密度;将网格数据输入到预先训练的神经网络中,以确定可移动平台所处周围环境的障碍物信息。
可选的,所述点云由安装在所述可移动平台上的激光雷达检测获得。
可选的,所述一个或多个处理器120单独地或共同地被进一步配置用于:
获取预设时长内所述可移动平台所处周围环境对应的点云。
可选的,所述获取所述可移动平台所处周围环境对应的点云之后,将所述点云划分至三维网格中之前,所述一个或多个处理器120单独地或共同地被配置用于:
对所述点云进行上采样处理;
所述将所述点云划分至三维网格中时,所述一个或多个处理器120单独地或共同地被配置具体用于:
将上采样处理后的点云划分至三维网格中。
可选的,所述一个或多个处理器120单独地或共同地被进一步配置用于:
针对每个点云,确定距离该点云的预设距离内的第一空间的点云的数量;
若所述第一空间的点云的数量小于第一预设阈值,则在所述第一空间内插入新的点云,使得上采样处理后第一空间的点云的数量达到所述第一预设阈值。
可选的,所述上采样处理的方式为双线性插值方式。
可选的,所述每个三维网格的点云密度根据所述每个三维网格的点云的数量和对应的三维网格的体积确定。
可选的,所述每个三维网格的点云密度为所述每个三维网格的点云的数量和对应的三维网格的体积的比值。
可选的,所述每个三维网格的点云密度为对所有三维网格的点云密度进行归一化后确定的点云密度。
可选的,所述归一化后确定的点云密度为所述每个三维网格的点云密度与所述所有三维网格的点云密度中的最大值的比值。
可选的,所述网格数据还包括所述每个三维网格的位置和/或所述每个三维网格的尺寸大小。
可选的,所述障碍物信息包括:障碍物候选框的位置信息和所述障碍物候选框的置信度。
可选的,所述障碍物候选框的位置信息包括:所述障碍物候选框的顶点的位置坐标。
可选的,所述一个或多个处理器120单独地或共同地被配置用于:
根据所述障碍物候选框的位置信息和所述障碍物候选框的置信度,确定所述可移动平台所处周围环境的障碍物的预测结果。
可选的,所述一个或多个处理器单独地或共同地被进一步配置用于:
若所述障碍物候选框的置信度大于或等于预设置信度阈值,则判定对应的障碍物候选框中存在障碍物,并将所述障碍物候选框的位置信息作为所述预测结果;
若所述障碍物候选框的置信度小于预设置信度阈值,则判定对应的障碍物候选框的中不存在障碍物。
可选的,所述神经网络包括:
卷积层和池化层,用于对输入所述神经网络的网格数据进行处理,得到第一特征图;
ROI Pooling层,用于根据所述第一特征图的特征信息,预测所述可移动平台所处周围环境的初始障碍物信息;
全连接层,用于对经所述ROI Pooling层处理后的第一特征图进行处理,得到第二特征图;
修正层,用于根据所述第二特征图的特征信息,修正所述初始障碍物信息,确定所述可移动平台所处周围环境的障碍物信息。
上述存储装置可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储装置110还可以包括上述种类的存储器的组合。
上述处理器可以是中央处理器(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本发明实施例提供一种可移动平台,如图6所示,所述可移动平台200可以包括平台主体210、动力系统220、传感器230以及可移动平台的障碍物检测装置100。
其中,动力系统220安装于平台主体210,用于为可移动平台200提供动力。
本实施例的传感器230安装在所述平台主体210,用于获取所述可移动平台200所处周围环境对应的点云,可选的,由单个传感器检测获得点云,该传感器可以为激光雷达。
在本实施例中,可移动平台的障碍物检测装置100与传感器230电连接,本实施例的可移动平台的障碍物检测装置100被配置成用于:通过所述传感器230获取所述可移动平台所处周围环境对应的点云;将点云划分至三维网格中,并确定每个三维网格对应的网格数据,网格数据包括每个三维网格的点云密度;将网格数据输入到预先训练的神经网络中,以确定可移动平台200所处周围环境的障碍物信息。
可移动平台的障碍物检测装置100可以实现如本发明图1、图2以及图4所示实施例的可移动平台的障碍物检测方法,可参见上述实施例的可移动平台的障碍物检测方法对本实施例的可移动平台200进行说明。
此外,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例的可移动平台的障碍物检测方法的步骤。
所述计算机可读存储介质可以是前述任一实施例所述的云台的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是云台的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括云台的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述云台所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。