障碍物的识别方法和装置、存储介质、电子装置与流程

文档序号:18475912发布日期:2019-08-20 21:03阅读:161来源:国知局
障碍物的识别方法和装置、存储介质、电子装置与流程

本发明涉及自动驾驶领域,具体而言,涉及一种障碍物的识别方法和装置、存储介质、电子装置。



背景技术:

自动驾驶汽车(英文全称为autonomousvehicles或self-pilotingautomobile)又称无人驾驶汽车、电脑驾驶汽车、或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车,在20世纪已有数十年的历史,21世纪初呈现出接近实用化的趋势。

自动驾驶汽车可依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作,让电脑可以在没有任何人类主动的操作下,自动安全地操作机动车辆。在汽车自动驾驶的过程中,可以通过激光雷达实现行人、自行车等障碍检测,如通过激光雷达采集点云数据,通过在三维空间中对点云进行聚类,然后针对特定对象分析其相关的特征,例如法向量、尺寸信息(包括长宽高以及比例信息)、密度等特征,然后通过设置特定的规则进行判断,如人为设计相关特征以及对应阈值等。

在自动驾驶、半自动驾驶等领域,采用上述方案进行障碍检测时,由于对点云数据进行分析时,需要人为设计相关特征以及对应阈值等,而行人、骑行者在激光点云中形态差异较大,比较难以找到直接有效的特征以及对应阈值,因此,使得对障碍物的识别准确率较低。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种障碍物的识别方法和装置、存储介质、电子装置,以至少解决相关技术中对障碍物的识别准确率较低的技术问题。

根据本发明实施例的一个方面,提供了一种障碍物的识别方法,包括:在目标车辆自动行驶的过程中,获取点云数据,其中,点云数据为目标车辆上的传感器对目标车辆的行驶环境进行扫描得到的;将点云数据转换为用于表示行驶环境的第一图像;通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,其中,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

根据本发明实施例的另一方面,还提供了一种障碍物的识别装置,包括:获取单元,用于在目标车辆自动行驶的过程中,获取点云数据,其中,点云数据为目标车辆上的传感器对目标车辆的行驶环境进行扫描得到的;转换单元,用于将点云数据转换为用于表示行驶环境的第一图像;识别单元,用于通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,其中,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

在本发明实施例中,在目标车辆自动行驶的过程中,获取点云数据,将点云数据转换为用于表示行驶环境的第一图像;通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,由于在处理过程中,采用神经网络模型,可以利用预先学习到的障碍物的特征来对图像中的障碍物进行识别,可以解决相关技术中对障碍物的识别准确率较低的技术问题,进而达到提高障碍物的识别准确率的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的障碍物的识别方法的硬件环境的示意图;

图2是根据本发明实施例的一种可选的障碍物的识别方法的流程图;

图3是根据本发明实施例的一种可选的前视图的示意图;

图4是根据本发明实施例的一种可选的障碍物分割的示意图;

图5是根据本发明实施例的一种可选的三维点云的示意图;

图6是根据本发明实施例的一种可选的距离视图的示意图;

图7是根据本发明实施例的一种可选的高度视图的示意图;

图8是根据本发明实施例的一种可选的强度视图的示意图;

图9是根据本发明实施例的一种可选的前视图的示意图;

图10是根据本发明实施例的一种可选的障碍物分割结果的示意图;

图11是根据本发明实施例的一种可选的前视图的示意图;

图12是根据本发明实施例的一种可选的障碍物的识别装置的示意图;以及

图13是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

自动驾驶汽车(autonomousvehicles;self-pilotingautomobile)又称无人驾驶汽车、电脑驾驶汽车、或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车。

激光雷达,是一种以发射激光束探测目标的位置、速度等特征量的雷达系统,通过向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,就可获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等参数,从而对目标进行探测、跟踪和识别。

激光点云:点云是在和目标表面特性的海量点集合,当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息,若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点。

根据本发明实施例的一方面,提供了一种障碍物的识别方法的方法实施例。

可选地,在本实施例中,上述障碍物的识别方法可以应用于如图1所示的由终端101和/或服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务、地图服务等),可在服务上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于车载的pc、手机、平板电脑等。

本发明实施例的障碍物的识别方法可以由终端101来执行,终端101执行本发明实施例的障碍物的识别方法也可以是由安装在其上的客户端来执行。图2是根据本发明实施例的一种可选的障碍物的识别方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤s202,在目标车辆自动行驶的过程中,终端获取点云数据,其中,点云数据为目标车辆上的传感器对目标车辆的行驶环境进行扫描得到的。此处的传感器为可以采集点云数据的传感器,如雷达传感器。

上述的终端为随动于目标车辆的智能终端,可以为车自身,也可以是集成或者设置在车上的设备,如车载pc、手机、平板、车载导航设备等,目标车辆可以为具有自动行驶功能的车辆,如全自动驾驶车辆、半自动驾驶车辆等。

上述的点云数据可为激光雷达传感器的多个激光线束扫描得到的数据,激光雷达可借着扫描技术来测量对象的尺寸及形状等特征,激光雷达可采用一个稳定度及精度良好的旋转马达,当光束打到由马达所带动的多面棱规反射而形成扫描光束,由于多面棱规位于扫描透镜的前焦面上,并均匀旋转使激光束对反射镜而言,其入射角相对地连续性改变,因而反射角也作连续性改变,经由扫描透镜的作用,形成一平行且连续由上而下的扫描线,从而形成扫描线数据,即单线束激光扫描一次形成的点云序列。

本申请的激光雷达可为低线束激光雷达、多线束激光雷达,低线束激光雷达扫描一次可产生较少线束扫描线,低线束产品一般包括4线束、8线束,主要为2.5d激光雷达,垂直视野范围一般不超过10°;多线束激光雷达(或称3d激光雷达)扫描一次可产生多条扫描线,多线束产品一般包括16线束、32线束、64线束等,3d激光雷达与2.5d激光雷达最大的区别在于激光雷达垂直视野的范围,可达到30°甚至40°以上,在本申请的方案中,可以采用64线束的激光雷达,以实现水平视野为360°、纵向视野30°左右的扫描。

步骤s204,终端将点云数据转换为用于表示行驶环境的第一图像。

由于直接对点云数据进行处理,数据处理量较大(点云数据包括目标距离、方位、高度、速度、姿态、甚至形状等信息),计算量大效率低,而且由于行人、骑行者的形态差异较大,较难找到统一的几何规则进行统一判断,难以达到较好的识别准确率,为了提高数据处理效率,本申请在障碍物识别时,将点云数据转换为了图像,进而采用图像识别的方式来进行障碍物识别,降低了对数据处理带来的时间消耗、硬件消耗,提高了数据的处理效率,另外,由于神经网络模型能够建模和提取未知的特征和关系,只要辅以恰当的标识图片进行训练,即可实现较高准确率的识别,而不用人为的进行几何规则的设定,无需人为的干预,可以避免人为经验不足所造成的影响。

步骤s206,终端通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

对象(如上述的第一对象和第二对象等)可以为影响目标车辆行驶的可移动障碍物,如其他车辆、人、自行车、动物等可移动的对象。

采用本申请的神经网络模型来实现障碍物识别,通过神经网络模型对标识有障碍物的图片的学习,能够通过学习自动提取输入的图像特征、输出数据(是否为“障碍物”)间的映射关系,并自适应的将学习内容记忆于网络的权值中,即建立图像特征与障碍物之间的映射关系,进而具备利用学习到的这种映射关系来识别障碍物的能力。

上述实施例以将本发明实施例的障碍物的识别方法由终端101来执行为例进行说明,本发明实施例的障碍物的识别方法也可以由服务器103来执行,其与上述实施例的区别仅在于执行主体由终端变换为了服务器,本发明实施例的障碍物的识别方法还可以是由服务器103和终端101共同执行,如服务器103执行其中的一个或两个步骤(如步骤s202至步骤s204),而终端执行剩余步骤(如步骤s206)。

通过上述步骤s202至步骤s206,在目标车辆自动行驶的过程中,获取点云数据,将点云数据转换为用于表示行驶环境的第一图像;通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,由于在处理过程中,采用神经网络模型,可以利用预先学习到的障碍物的特征来对图像中的障碍物进行识别,可以解决相关技术中对障碍物的识别准确率较低的技术问题,进而达到提高障碍物的识别准确率的技术效果。

在本申请的技术方案中,通过将三维激光点云投影到相关视图上,并且建立两者之间的关系,根据行人、骑行者的特点,在成像尺寸最大的前视图上利用计算视觉中的实例分割技术对行人、骑行者进行检测,达到了较好的检测效果,并且由于前视图尺寸较小,计算耗时相对较小,满足了自动驾驶实时在线感知的诉求。

本申请的技术方案可以应用在先进驾驶辅助系统adas(advanceddriverassistancesystem)中,利用安装于车上的各式各样的传感器,在第一时间收集车内外的环境数据,进行静、动态物体的辨识、侦测与追踪等技术上的处理,从而能够让驾驶者在最快的时间察觉可能发生的危险,以引起注意和提高安全性的主动安全技术,adas采用的传感器主要有激光雷达等,当车辆检测到潜在危险时,即利用本申请的技术的方案检测到障碍物时,会发出警报提醒驾车者注意异常的车辆或道路情况,或直接驾驶车辆避开所检测到的障碍物。下面结合图2所示的步骤进一步详述本申请的技术方案。

在步骤s202提供的技术方案中,在第一车辆目标车辆自动行驶的过程中,终端获取点云数据,点云数据为第一车辆目标车辆上的雷达传感器对第一车辆目标车辆的行驶环境进行扫描得到的。

本申请的雷达传感器可以为velodynehdl-64e激光雷达传感器,其适用于障碍物探测和车辆船只导航,它坚固耐用,拥有360°视野及高传输速率,适用于3d移动数据采集和地图绘制应用,其水平视野为360°,纵向视野为26.8°,5-15hz可选帧速率,输出130w像素每秒,hdl-64e可提供可靠的远距传感数据,hdl-64e具有一体式设计的优势,使用64个激光器,安装牢固,稳定可靠。

在步骤s204提供的技术方案中,终端将点云数据转换为用于表示行驶环境的第一图像。

上述的第一图像可以为车辆的前视图front-view,在velodyne64e中64个激光器通过环扫周围360°,通过将所有环扫一周打在周围物体的激光点投影到一个圆柱面上,并将圆柱面摊开成一个矩形,从而形成激光点云的前视图front-view,如图3所示。

在上述实施例中,将点云数据转换为用于表示行驶环境的第一图像可包括如下所示的步骤1-步骤2:

步骤1,可以将行驶环境作为一个三维空间,以车辆所在位置为原点,经过原点和障碍物的轴为x轴,经过原点、垂直于x轴且与x轴处于同一水平面的轴作为y轴,经过原点且垂直于水平面的轴作为z轴,根据点云数据确定行驶环境的距离视图、高度视图以及强度视图,距离视图中像素点的像素值用于指示该像素点与雷达传感器之间的距离,高度视图中像素点的像素值用于指示该像素点与雷达传感器之间的高度差,如在z轴上的差值,强度视图中像素点的像素值用于指示该像素点对雷达传感器的激光扫描信号的反射强度,如发射强度为1,反射强度一般大于等于0且小于等于1,如为0.5。

可选地,根据点云数据确定行驶环境的距离视图、高度视图以及强度视图可以通过如下方式实现:

确定一个以雷达传感器为中心的圆柱体为目标柱体,将点云数据投影至目标柱体的侧面;保留位于目标柱体的侧面的点云数据中的距离信息,并对目标柱体的侧面进行截图,得到行驶环境的距离视图,相当于展开目标柱体的侧面得到距离视图,保留位于目标柱体的侧面的点云数据中的高度信息,并对目标柱体的侧面进行截图,得到行驶环境的高度视图,相当于展开目标柱体的侧面得到高度视图,保留位于目标柱体的侧面的点云数据中的反射强度信息,并对目标柱体的侧面进行截图,得到行驶环境的强度视图,相当于展开目标柱体的侧面得到强度视图。

步骤2,将距离视图、高度视图以及强度视图组合为第一图像。

可选地,将距离视图、高度视图以及强度视图组合为第一图像可以通过如下方式实现:将距离视图中像素点的像素值作为第一图像中相同位置的像素点的第一通道(如r通道,或称红色通道)的取值,将高度视图中像素点的像素值作为第一图像中相同位置的像素点的第二通道(如g通道,或称绿色通道)的取值,并将强度视图中像素点的像素值作为第一图像中相同位置的像素点的第三通道(如b通道,或称蓝色通道)的取值,以确定第一图像。

在步骤s206提供的技术方案中,终端通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

在本申请的实施例中,通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象可包括如下所示的步骤1至步骤3:

步骤1,将第一图像的第一通道的取值、第二通道的取值以及第三通道的取值作为第一神经网络模型的输入。

可选地,可以将第一图像中的按照像素各个通道的取值按照像素所在位置组成一维矩阵,以便于输入第一神经网络模型,如[像素点1的r值,像素点1的g值,像素点1的b值,像素点2的r值,像素点2的g值,像素点2的b值,……,像素点n的r值,像素点n的g值,像素点n的b值]。

可选地,可以将第一图像中的按照像素按照通道组成一维矩阵,以便于输入第一神经网络模型,如[像素点1的r值,像素点2的r值,……,像素点n的r值,像素点1的g值,像素点2的g值,……,像素点n的g值,像素点1的b值,像素点2的b值,……,像素点n的b值]。

可选地,还可以将第一图像变换为灰度图,这样每个像素具有一个灰度值,这样就可以将灰度值作为第一神经网络模型的输入,如[像素点1的灰度值,像素点2的灰度值,……,像素点n的灰度值]。

步骤2,通过第一神经网络模型对第一图像中的行驶环境进行对象识别,从而得到第一对象,对象识别包括从行驶环境查找到与学习到的可移动的障碍物的特征匹配的第一对象。

可选地,在通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象之前,可以按照如下方式对模型进行训练:通过训练集中的第二图像对第二神经网络模型进行训练来初始化第二神经网络模型中各个网络层的权重参数,得到第三神经网络模型;在第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值(如95%)的情况下,将第三神经网络模型作为第一神经网络模型;在第三神经网络模型对测试集的图片中第三对象的识别准确率未达到第一阈值的情况下,继续使用训练集中的第二图像对第三神经网络模型进行训练,直至第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值。

上述作为训练图像的第二图像分为两个部分,标记有为障碍物的对象的正样本,标记有不为障碍物的对象的负样本,通过这两类样本可以让神经网络模型具备区分障碍物的能力。

在神经网络中,至少包括两个卷积层,第一个卷积层用于进行语义分割,实现像素级别的语义分割,对图像中的每个像素都划分出对应的类别,即实现像素级别的分类,此处的类别主要分为两个,其中一个是属于障碍物,另一个是不属于障碍物;第二个卷积层用于实现实例分割,在语义分割中,类的具体对象,即为实例,实例分割不但要进行像素级别的分类,还需在具体的类别基础上区别开不同的实例,具体差异,可参考图4。

以图4为例,输入为左侧图像,即为待识别的图像,中间为实现了语义分割后的图像,相当于将人物从背景中分割出来了,右侧为实现了实例分割后的图像,相当于实现了单个个体人物的识别分割。

步骤3,获取第一神经网络模型输出的用于表示第一对象的输出结果。

可选地,在通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象之后,将距离视图中位置与第一图像中第一对象所在位置相同的像素点的像素值作为第一对象与目标车辆之间的间隔距离;根据间隔距离控制目标车辆。

根据间隔距离控制目标车辆包括:在间隔距离小于第二阈值(如10米)的情况下,控制目标车辆执行对第一对象的避让操作,以避免撞到行人、其他车辆、骑行者等;在间隔距离不小于第二阈值的情况下,控制目标车辆执行对第一对象的提醒操作,如用喇叭、灯光等进行提示。

在本申请技术方案中,结合了激光雷达的机械结构以及行人、骑行者自身的特点,通过建立三维空间和前视图的对应关系,将三维空间中的行人、骑行者的检测转化到前视图上来进行,并且利用计算视觉的实例分割技术,对行人、骑行者进行较好的检测,从而达到的快速高效、稳定的在自动驾驶交通场景下对行人、骑行者的检测感知,对自动驾驶的实际落地应用有着重要的意义。

作为一种可选的实施例,下面结合具体实施方式详述本申请的技术方案。

激光雷达作为自动驾驶的核心感知部分,其受外界干扰相对较小,对光源、天气等因素适应性较强,当前利用激光雷达进行感知和定位等相关技术是实现无人驾驶的关键因素,行人、骑行者作为交通场景中的主要参与者之一,对其的感知检测有着重大的意义,在激光雷达的感知中,可以采用通过对激光雷达的原始点云数据进行处理来实现对行人、骑行者等的检测。

上述方案在检测行人、骑行者时,velodyne64线激光雷达扫描一帧数据在12万个点云数据,对激光雷达的原始点云数据进行处理这一方案由于点云的数据量较大,如直接处处理较难达到实时性需求;另外,由于直接对点云数据进行分析,而且涉及相关的特征计算,所涉及的算法耗时较大,除非限定感知区域否则较难以达到实时应用;由于其对聚类后的对象进行判断主要是通过特征工程,人为设计相关特征以及对应阈值等来实现识别,行人、骑行者在激光点云中形态差异较大,比较难以找到直接有效的特征以及对应阈值,对聚类对象进行判断,导致其算法效果难以提升,较难达到在自动驾驶场景中应用。

在激光点云中对行人、骑行者的检测的方案不多,而且效果普遍不是很好,上述方案主要通过在三维空间中对点云进行聚类,然后针对特定对象分析其相关的特征,例如法向量、尺寸信息(包括长宽高以及比例信息)、密度等特征,然后通过设置特定的规则进行判断,但是由于激光点云在行人、骑行者等小目标上的反射点相对较少,而且对应的点云信息仅包含几何信息,直接处理原始的点云,不仅计算量大效率低,而且由于行人、骑行者的形态差异较大,较难找到统一的几何规则进行统一判断,一般的方法难以达到较好的效果。

为了克服上述提及的问题,本申请还提供了一种技术方案,是将激光雷达点云数据转换成图像进行处理,例如将点云中的高程信息、反射率信息等转成图像进行处理。

本发明之所以通过将激光点云转换成视图(view)进行处理,是因为行人和骑行者自身几何比例原因使得在顶视图中其成像的尺寸较小,采用前视(front-view)图进行处理可以使得行人和骑行者等障碍物尺寸相对更大,然后在前视图中利用成熟的计算机视觉相关技术进行处理,处理结果表明该方法相对快速有效,能达到较好的行人、骑行者识别检测效果。下面结合步骤1-步骤3进行说明:

步骤1,建立前视图和三维点云的关联。

前视图作为根据激光雷达设备硬件特点而选择的特定视角,其中因为行人、骑行者其在前视图中成像的面积相对较大,而且由于其运动相对慢一些,考虑自动驾驶车辆周围40米范围内的目标即可满足当前的感知需求,具体的行人、骑行者的三维点云可参考图5。

其获取了三维点云后,就可以通过投影方法获取其在前视图视角的各种视图,根据三维点云的扫描方式,可将点云投影到一个以传感器为中心轴的柱体侧面,按实际视角截取此侧面的局部区域形成视图。将点云中的扫描点与传感器之间的距离作为视图中的像素值,得到距离视图如图6所示;将点云中的扫描点高度作为视图中的像素值,得到高度视图如图7所示;将点云中的扫描点反射强度作为视图中的像素值,得到强度视图如图8所示。

然后通过将三种视图按照图像的通道编码方式合成彩色图像,如将三种视图分别作为图像的rgb通道叠加组合成彩色图像,具体参考图9。

步骤2,分割前视图。

众所周知,图像是由许多像素(pixel)组成,语义分割顾名思义就是将像素按照图像中表达语义含义的不同进行分组分割。本申请的神经网络模型采用全卷积神经网络fcn,直接进行像素级别端到端(end-to-end)的语义分割,它可以基于主流的深度卷积神经网络模型cnn来实现,在fcn中,全连接层fc6和fc7均是由卷积层实现,而最后的全连接层fc8层则被替代为一个m个通道(channel)的1x1卷积层,作为网络的最终输出,之所以有m个通道是因为障碍物中包含m个类别。

采用上述fcn,在前视图上使用深度学习方法进行图像分割,基于全连接网络(fcn)训练图像语义分割模型,对感兴趣的对象分割出来,例如图10所示的结果,将目标对象(如行人和自行车)分割出来。

步骤3,前视图分割结果投影。

前视图分割出来后可以投影会三维点云获取根据激光图像的标定关系,投影到图像中,投影结果可参考图11。

根据图9所示前视图之距离视图中的距离信息,将前视图分割结果的像素点对应到三维点云中的扫描点,在三维点云中重建扫描结果并绘制三维检测框,将三维检测结果投影回图像中,结果可参考图11。

本发明通过深入研究传统激光点云转图像算法,结合当前velodyne64e的机械结构特点,以及在实践中对激光点云处理进行相关的实验验证,提出了一种将激光点云将激光点云转换成前视图,并且在前视图中利用计算视觉的实例分割算法对行人、骑行者进行检测,实现交通场景下行人、骑行者的感知,对自动驾驶的普及落地应用有着重大的意义。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

根据本发明实施例的另一个方面,还提供了一种用于实施上述障碍物的识别方法的障碍物的识别装置。图12是根据本发明实施例的一种可选的障碍物的识别装置的示意图,如图12所示,该装置可以包括:

获取单元1201,用于在目标车辆自动行驶的过程中,获取点云数据,其中,点云数据为目标车辆上的传感器对目标车辆的行驶环境进行扫描得到的。

转换单元1203,用于将点云数据转换为用于表示行驶环境的第一图像。

识别单元1205,用于通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,其中,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

需要说明的是,该实施例中的获取单元1201可以用于执行本申请实施例中的步骤s202,该实施例中的转换单元1203可以用于执行本申请实施例中的步骤s204,该实施例中的识别单元1205可以用于执行本申请实施例中的步骤s206。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

通过上述模块,在目标车辆自动行驶的过程中,获取点云数据,将点云数据转换为用于表示行驶环境的第一图像;通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,由于在处理过程中,采用神经网络模型,可以利用预先学习到的障碍物的特征来对图像中的障碍物进行识别,可以解决相关技术中对障碍物的识别准确率较低的技术问题,进而达到提高障碍物的识别准确率的技术效果。

可选地,转换单元包括:确定模块,用于根据点云数据确定行驶环境的距离视图、高度视图以及强度视图,其中,距离视图中像素点的像素值用于指示该像素点与雷达传感器之间的距离,高度视图中像素点的像素值用于指示该像素点与雷达传感器之间的高度差,强度视图中像素点的像素值用于指示该像素点对雷达传感器的扫描信号的反射强度;组合模块,用于将距离视图、高度视图以及强度视图组合为第一图像。

可选地,确定模块包括:投影子模块,用于将点云数据投影至目标柱体的侧面,其中,目标柱体以雷达传感器为中心;截图子模块,用于保留位于目标柱体的侧面的点云数据中的距离信息,并对目标柱体的侧面进行截图,得到行驶环境的距离视图,保留位于目标柱体的侧面的点云数据中的高度信息,并对目标柱体的侧面进行截图,得到行驶环境的高度视图,保留位于目标柱体的侧面的点云数据中的反射强度信息,并对目标柱体的侧面进行截图,得到行驶环境的强度视图。

可选地,组合模块还可用于:将距离视图中像素点的像素值作为第一图像中相同位置的像素点的第一通道的取值,将高度视图中像素点的像素值作为第一图像中相同位置的像素点的第二通道的取值,并将强度视图中像素点的像素值作为第一图像中相同位置的像素点的第三通道的取值,以确定第一图像。

可选地,识别单元可包括:输入模块,用于将第一图像的第一通道的取值、第二通道的取值以及第三通道的取值作为第一神经网络模型的输入;识别模块,用于通过第一神经网络模型对第一图像中的行驶环境进行对象识别,从而得到第一对象,其中,对象识别包括从行驶环境识别出与学习到的可移动的障碍物的特征匹配的第一对象;获取模块,用于获取第一神经网络模型输出的用于表示第一对象的输出结果。

可选地,本申请的装置还可包括:训练单元,用于在通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象之前,执行以下操作:通过训练集中的第二图像对第二神经网络模型进行训练来初始化第二神经网络模型中各个网络层的权重参数,得到第三神经网络模型;在第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值的情况下,将第三神经网络模型作为第一神经网络模型;在第三神经网络模型对测试集的图片中第三对象的识别准确率未达到第一阈值的情况下,继续使用训练集中的第二图像对第三神经网络模型进行训练,直至第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值。

可选地,本申请的装置还可包括:距离测量单元,用于在通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象之后,将距离视图中位置与第一图像中第一对象所在位置相同的像素点的像素值作为第一对象与目标车辆之间的间隔距离;控制单元,用于根据间隔距离控制目标车辆。

上述的控制单元可包括:第一控制模块,用于在间隔距离小于第二阈值的情况下,控制目标车辆执行对第一对象的避让操作;第二控制模块,用于在间隔距离不小于第二阈值的情况下,控制目标车辆执行对第一对象的提醒操作。

激光雷达作为自动驾驶的核心感知部分,其受外界干扰相对较小,对光源、天气等因素适应性较强,当前利用激光雷达进行感知和定位等相关技术是实现无人驾驶的关键因素,行人、骑行者作为交通场景中的主要参与者之一,对其的感知检测有着重大的意义,在激光雷达的感知中,可以采用通过对激光雷达的原始点云数据进行处理来实现对行人、骑行者等的检测。

上述方案在检测行人、骑行者时,velodyne64线激光雷达扫描一帧数据在12万个点云数据,对激光雷达的原始点云数据进行处理这一方案由于点云的数据量较大,如直接处处理较难达到实时性需求;另外,由于直接对点云数据进行分析,而且涉及相关的特征计算,所涉及的算法耗时较大,除非限定感知区域否则较难以达到实时应用;由于其对聚类后的对象进行判断主要是通过特征工程,人为设计相关特征以及对应阈值等来实现识别,行人、骑行者在激光点云中形态差异较大,比较难以找到直接有效的特征以及对应阈值,对聚类对象进行判断,导致其算法效果难以提升,较难达到在自动驾驶场景中应用。

在激光点云中对行人、骑行者的检测的方案不多,而且效果普遍不是很好,上述方案主要通过在三维空间中对点云进行聚类,然后针对特定对象分析其相关的特征,例如法向量、尺寸信息(包括长宽高以及比例信息)、密度等特征,然后通过设置特定的规则进行判断,但是由于激光点云在行人、骑行者等小目标上的反射点相对较少,而且对应的点云信息仅包含几何信息,直接处理原始的点云,不仅计算量大效率低,而且由于行人、骑行者的形态差异较大,较难找到统一的几何规则进行统一判断,一般的方法难以达到较好的效果。

为了克服上述提及的问题,本申请还提供了一种技术方案,是将激光雷达点云数据转换成图像进行处理,例如将点云中的高程信息、反射率信息等转成图像进行处理。

本发明之所以通过将激光点云转换成视图(view)进行处理,是因为行人和骑行者自身几何比例原因使得在顶视图中其成像的尺寸较小,采用前视(front-view)图进行处理可以使得行人和骑行者等障碍物尺寸相对更大,然后在前视图中利用成熟的计算机视觉相关技术进行处理,处理结果表明该方法相对快速有效,能达到较好的行人、骑行者识别检测效果。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的另一个方面,还提供了一种用于实施上述障碍物的识别方法的服务器或终端。

图13是根据本发明实施例的一种终端的结构框图,如图13所示,该终端可以包括:一个或多个(图13中仅示出一个)处理器1301、存储器1303、以及传输装置1305,如图13所示,该终端还可以包括输入输出设备1307。

其中,存储器1303可用于存储软件程序以及模块,如本发明实施例中的障碍物的识别方法和装置对应的程序指令/模块,处理器1301通过运行存储在存储器1303内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的障碍物的识别方法。存储器1303可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1303可进一步包括相对于处理器1301远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

上述的传输装置1305用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1305包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1305为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器1303用于存储应用程序。

处理器1301可以通过传输装置1305调用存储器1303存储的应用程序,以执行下述步骤:

在目标车辆自动行驶的过程中,获取点云数据,其中,点云数据为目标车辆上的雷达传感器对目标车辆的行驶环境进行扫描得到的;

将点云数据转换为用于表示行驶环境的第一图像;

通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,其中,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

处理器1301还用于执行下述步骤:

通过训练集中的第二图像对第二神经网络模型进行训练来初始化第二神经网络模型中各个网络层的权重参数,得到第三神经网络模型;

在第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值的情况下,将第三神经网络模型作为第一神经网络模型;

在第三神经网络模型对测试集的图片中第三对象的识别准确率未达到第一阈值的情况下,继续使用训练集中的第二图像对第三神经网络模型进行训练,直至第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值。

采用本发明实施例,在目标车辆自动行驶的过程中,获取点云数据,将点云数据转换为用于表示行驶环境的第一图像;通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,由于在处理过程中,采用神经网络模型,可以利用预先学习到的障碍物的特征来对图像中的障碍物进行识别,可以解决相关技术中对障碍物的识别准确率较低的技术问题,进而达到提高障碍物的识别准确率的技术效果。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图13所示的结构仅为示意,终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图13其并不对上述电子装置的结构造成限定。例如,终端还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行障碍物的识别方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s12,在目标车辆自动行驶的过程中,获取点云数据,其中,点云数据为目标车辆上的雷达传感器对目标车辆的行驶环境进行扫描得到的;

s14,将点云数据转换为用于表示行驶环境的第一图像;

s16,通过第一神经网络模型从第一图像中识别出位于行驶环境中的第一对象,其中,第一神经网络模型是利用标识有第二对象的第二图像对第二神经网络模型进行训练得到的,第一对象和第二对象为可移动的障碍物。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

s22,通过训练集中的第二图像对第二神经网络模型进行训练来初始化第二神经网络模型中各个网络层的权重参数,得到第三神经网络模型;

s24,在第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值的情况下,将第三神经网络模型作为第一神经网络模型;

s26,在第三神经网络模型对测试集的图片中第三对象的识别准确率未达到第一阈值的情况下,继续使用训练集中的第二图像对第三神经网络模型进行训练,直至第三神经网络模型对测试集的图片中第三对象的识别准确率达到第一阈值。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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