一种障碍物检测方法、装置及存储介质和终端设备

实用新型 · 2020-04-23
申请号:CN202010016254.8 申请日:20200108 公开号:CN110807806A 公开日:20200218 授权公告号:CN110807806B 授权公告日:20200414 申请人地址:210033 江苏省南京市南京经济技术开发区红枫科技园A3栋第2层 国家/省市:84(南京) 代理机构:44570 主分类号:G06T7/70 代理人:李新干 申请人:中智行科技有限公司 当前权利人:中智行科技有限公司 发明人:乔倚松;王劲 分类号:G06T7/70;G06T5/00;G06F17/16 范畴分类:40B; 简要说明:本发明实施例公开了一种障碍物检测方法、装置及存储介质和终端设备,应用于信息处理技术领域。障碍物检测装置采集一段时间内(即采集周期内)所处环境中物体的多帧点云数据,并结合预置的函数模型进行拟合计算,得到拟合后的函数用于表示某一类物体的点云位置分布,进而根据该拟合后的函数对多帧点云数据进行过滤,最后根据过滤结果判断是否有上述某一类的障碍物。将采集的一段时间内(即采集周期内)的多帧点云数据作为一个整体进行分析,增加了体积小的物体的点云数据量,为准确地检测体积小的障碍物提供了基础;且通过结合预置的函数模型可以精确地拟合出环境中某一类物体的点云位置分布,使得根据拟合后的函数判断是否有这类障碍物更准确。 主权利要求:1.一种障碍物检测方法,其特征在于,包括:在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息;根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示某一类障碍物的点云位置分布;所述拟合计算包括:在已知离散点的坐标信息时,选择某一特定的函数模型,并根据离散点的坐标信息确定函数模型的多组变量值,通过调整选择的函数模型中待定系数,使得函数模型与已知离散点的差别最小,所述拟合后的函数表示所述离散点的分布,所述离散点为所述点云;根据所述拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云;如果所述过滤后点云的个数大于预置值,则确定检测到某一类障碍物;根据拟合后的函数中的系数与预置的对应关系,计算障碍物的实际位置信息;所述对应关系用于表示拟合后的函数中系数与障碍物的实际位置信息之间的函数计算关系;输出所述障碍物的实际位置信息;其中,所述对应关系包括:障碍物的实际横向坐标为所述拟合后的函数中第一系数与2倍的第二系数的比值取负值;所述障碍物的实际纵向坐标为所述拟合后的函数中第三系数与2倍的第四系数的比值取负值。 当前状态:1 代理机构:深圳紫藤知识产权代理有限公司 44570 引用专利:CN 106845416 A,20170613;CN 109360239 A,20190219 引用文献:谢德胜等.基于三维激光雷达的无人车障碍物检测与跟踪.《汽车工程》.2018,第40卷(第8期),第952页左栏第1行-第959页左栏最后一行. 权利要求,1.一种障碍物检测方法,其特征在于,包括:在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息;根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示某一类障碍物的点云位置分布;所述拟合计算包括:在已知离散点的坐标信息时,选择某一特定的函数模型,并根据离散点的坐标信息确定函数模型的多组变量值,通过调整选择的函数模型中待定系数,使得函数模型与已知离散点的差别最小,所述拟合后的函数表示所述离散点的分布,所述离散点为所述点云;根据所述拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云;如果所述过滤后点云的个数大于预置值,则确定检测到某一类障碍物;根据拟合后的函数中的系数与预置的对应关系,计算障碍物的实际位置信息;所述对应关系用于表示拟合后的函数中系数与障碍物的实际位置信息之间的函数计算关系;输出所述障碍物的实际位置信息;其中,所述对应关系包括:障碍物的实际横向坐标为所述拟合后的函数中第一系数与2倍的第二系数的比值取负值;所述障碍物的实际纵向坐标为所述拟合后的函数中第三系数与2倍的第四系数的比值取负值。2.如权利要求1所述的方法,其特征在于,所述方法还包括:将与障碍物检测装置之间的距离在预置范围的区域划分为多个子区域;根据所述多个点云的位置信息,确定各个所述点云所在子区域的位置信息;在所述多个子区域中,选取包含的点云个数大于预置值的候选子区域;根据所述候选子区域的位置信息对所述障碍物的实际位置信息进行校准,得到并输出所述障碍物的校准后实际位置。3.如权利要求2所述的方法,其特征在于,所述根据所述候选子区域的位置信息对所述障碍物的实际位置信息进行校准,具体包括:将所述候选子区域的位置信息与所述障碍物的实际位置信息进行加权平均,得到所述障碍物的校准后实际位置。4.如权利要求1所述的方法,其特征在于,所述采集障碍物检测装置所处环境中物体的多帧点云数据之后,所述方法还包括:根据预置的预处理策略对所述多帧点云数据进行预处理,得到预处理后的各帧点云数据;所述根据所述多个点云的位置信息及预置的函数模型进行拟合计算,具体包括:根据所述预处理后的各帧点云数据中多个点云的位置信息及预置的函数模型进行拟合计算。5.如权利要求4所述的方法,其特征在于,采集周期内的所述多帧点云数据是通过所述障碍物检测装置发射光线的方式采集,则所述预置的预处理策略包括如下至少一个策略:在所述多个点云中过滤地面点云;在所述多个点云中过滤较大物体的点云;在所述多个点云中过滤角度差值大于或等于预置角度的点云,所述角度差值为所述点云与障碍物检测装置连线的角度与所述点云对应的发射光线的角度之间的差值;及在所述多个点云中过滤对应反射光线的强度小于预置强度的点云。6.如权利要求1所述的方法,其特征在于,所述根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,具体包括:根据所述多个点云的位置信息确定所述函数模型的多组观测数据,每组观测数据中包括所述函数模型的变量值和函数值;根据所述多组观测数据调整所述函数模型中的待定系数,以得到所述拟合后的函数。7.如权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:如果所述过滤后点云的个数小于或等于预置值,确定未检测到所述某一类障碍物。8.如权利要求7所述的方法,其特征在于,所述方法还包括:调整所述预置的采集周期的长度,以便按照调整后的采集周期采集多帧点云数据。9.一种障碍物检测装置,其特征在于,包括:采集单元,用于在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息;拟合单元,用于根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示某一类障碍物的点云位置分布;所述拟合计算包括:在已知离散点的坐标信息时,选择某一特定的函数模型,并根据离散点的坐标信息确定函数模型的多组变量值,通过调整选择的函数模型中待定系数,使得函数模型与已知离散点的差别最小,所述拟合后的函数表示所述离散点的分布,所述离散点为所述点云;点云过滤单元,用于根据所述拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云;障碍物单元,用于如果所述过滤后点云的个数大于预置值,则确定检测到某一类障碍物;所述障碍物单元,还用于根据拟合后的函数中的系数与预置的对应关系,计算障碍物的实际位置信息;所述对应关系用于表示拟合后的函数中系数与障碍物的实际位置信息之间的函数计算关系;输出所述障碍物的实际位置信息;其中,所述对应关系包括:障碍物的实际横向坐标为所述拟合后的函数中第一系数与2倍的第二系数的比值取负值;所述障碍物的实际纵向坐标为所述拟合后的函数中第三系数与2倍的第四系数的比值取负值。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至8任一项所述的障碍物检测方法。11.一种终端设备,其特征在于,包括处理器和存储器,所述处理器,用于实现各个指令;所述存储器用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至8任一项所述的障碍物检测方法。 说明书, 一种障碍物检测方法、装置及存储介质和终端设备 技术领域 本发明涉及信息处理技术领域,特别涉及一种障碍物检测方法、装置及存储介质和终端设备。 背景技术 现在对障碍物的检测逐渐应用于越来越多的领域,比如机器人领域,或驾驶车辆等人工智能的领域,一般会在行进物体上安装障碍物检测装置,这样,通过障碍物检测装置可以检测到行进物体周围环境中的障碍物,以便进行躲避等操作。现有一种障碍物的检测方法包括:障碍物检测装置通过扫描等方式采集多帧点云数据,对多帧点云数据进行空间聚类,并基于整体分布特征的识别方法或基于局部特征的识别方法,识别出障碍物点云集合。 但是这种检测方法适用于体积较大的障碍物。对于体积小、高度低且反射面积窄的物体,比如交通锥等物体,由于很容易被其它较大物体遮挡等因素,并不是每一帧都能采集到点云数据,即使能采集到,也是较少的点云数据,这样,采用现有的检测方法不能对这种类型(体积小、高度低且反射面积窄等)的障碍物进行有效识别。 发明内容 本发明实施例提供一种障碍物检测方法、装置及存储介质和终端设备,实现了对体积小、高度低且反射面积窄的障碍物的检测。 本发明实施例第一方面提供一种障碍物检测方法,包括: 在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息; 根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示检测的障碍物反射点的位置分布; 根据所述拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云; 如果所述过滤后点云的个数大于预置值,则确定检测到障碍物。 本发明实施例第二方面提供一种障碍物检测装置,包括: 采集单元,用于在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息; 拟合单元,用于根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示检测的障碍物反射点的位置分布; 点云过滤单元,用于根据所述拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云; 障碍物单元,用于如果所述过滤后点云的个数大于预置值,则确定检测到障碍物。 本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的障碍物检测方法。 本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令; 所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的障碍物检测方法。 可见,在本实施例的方法中,障碍物检测装置会采集一段时间内(即采集周期内)所处环境中物体的多帧点云数据,并结合预置的函数模型进行拟合计算,得到拟合后的函数用于表示某一类物体的点云位置分布,进而根据该拟合后的函数对多帧点云数据进行过滤,最后根据过滤结果判断是否有上述某一类的障碍物。由于对于体积小、高度低且反射面积窄的物体,在通过发射光线方式采集点云数据过程中,并不是每一帧点云数据都存在这类物体的反射点,即使出现,其反射点的数量通常也只有1到2个点,则本实施例中将采集的一段时间内(即采集周期内)的多帧点云数据作为一个整体进行分析,增加了体积小的物体的点云数据量,为准确地检测体积小的障碍物提供了基础;且本实施例中通过结合预置的函数模型可以精确地拟合出环境中某一类物体的点云位置分布,使得根据拟合后的函数判断是否有这类障碍物更准确。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1是本发明实施例提供的一种障碍物检测方法的示意图; 图2是本发明一个实施例提供的一种障碍物检测方法的流程图; 图3是本发明一个实施例中对根据拟合后的函数得到的障碍物的实际位置信息进行校准的流程图; 图4是本发明一个实施例中障碍物检测装置划分的子区域的示意图; 图5a是本发明应用实施例中方法中障碍物检测装置的示意图; 图5b是本发明应用实施例中方法所应用于的一种场景的示意图; 图5c是本发明应用实施例中方法所应用于的另一种场景的示意图; 图6是本发明应用实施例提供的一种障碍物检测方法的流程图; 图7是本发明实施例提供的一种障碍物检测装置的结构示意图; 图8是本发明实施例提供的一种终端设备的结构示意图。 具体实施方式 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。 本发明实施例提供一种障碍物检测方法,主要可以应用于对障碍物检测装置周围环境中的障碍物特别是体积小的障碍物的检测,参考图1所示,障碍物检测装置通过如下步骤来实现障碍物检测: 在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息;根据所述多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示某一类物体的点云位置分布;根据所述拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云;如果所述过滤后点云的个数大于预置值,则确定检测到所述某一类的障碍物。 由于对于体积小、高度低且反射面积窄的物体,在通过发射光线方式采集点云数据过程中,并不是每一帧点云数据都存在这类物体的反射点,即使出现,其反射点的数量通常也只有1到2个点,则本实施例中将采集的一段时间内(即采集周期内)的多帧点云数据作为一个整体进行分析,增加了体积小的物体的点云数据量,为准确地检测体积小的障碍物提供了基础;且本实施例中通过结合预置的函数模型可以精确地拟合出环境中某一类物体的点云位置分布,使得根据拟合后的函数判断是否有这类障碍物更准确。 本发明实施例提供一种障碍物检测方法,主要是由障碍物检测装置所执行的方法,流程图如图2所示,包括: 步骤101,在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息。 可以理解,在障碍物检测装置中可以设置采集装置,该采集装置会按照一定的频率采集一段时间内(即采集周期内),障碍物检测装置所处环境中物体的多帧点云数据,每一帧点云数据为采集装置在某一时刻采集的点云数据,具体可以包括多个点云的位置信息,比如每个点云的三维坐标等,还可以包括多个点云的其它信息。当采集到多帧点云数据后,障碍物检测装置会发起本实施例的障碍物检测方法。 在一种具体的情况下,障碍物检测装置中设置的采集装置具体为激光雷达等用于发射光线的装置,该采集装置中设置有多个发射器和接收器,各个发射器在某个时刻会按照与平面呈一定的角度发射某一强度的光线(比如激光),当发射的光线遇到某些物体时,这些物体会对光线进行反射,而接收器会接收到物体对光线的反射信息,包括多个反射点的信息,其中某一反射点为障碍物检测装置所处环境中物体的一个点云,且一个反射点也会对应一条发射光线,即采集装置中某一线束发射的光线。 因此,通过采集装置可以获取到每个反射点(即物体的点云)的位置信息,比如三维坐标(x,y,z)等;采集装置还可以获取到每个反射点对应发射光线的强度I;及该发射点对应的采集装置的线束r的信息,比如对应线束是采集装置中哪条光线发射线发射的等信息,这些信息都可以包括在该反射点对应点云的数据中。 上述采集周期可以是在障碍物检测装置中设置的固定值,也可以是动态变化的,而障碍物检测装置可以是应用于可运动的物体中,比如,车辆或机器人等物体。 步骤102,根据多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,拟合后的函数用于表示某一类物体的点云位置分布。 这里预置的函数模型可以是任意的曲线函数模型,比如高斯分布函数,泊松分布函数等模型,函数模型的具体形式一般是由物体类型来决定,如果物体为体积小的交通锥等物体,则该函数模型具体可以为高斯分布函数等。 拟合计算包括:在已知若干离散点的坐标信息的情况下,选择某一特定的函数模型,并根据离散点的坐标信息确定函数模型的多组变量值(x1,x2,……,xn)和函数值(比如f1,f2,……,fn),通过调整该函数模型中若干待定系数f(λ1,λ2,…,λn),使得函数模型与已知离散点的差别(一般通过最小二乘法的方法标识)最小,这样得到的最终拟合后的函数可以表示这些离散点的分布。 例如,已知多组离散点(x1,y1),(x2,y2),……,(xn,yn),选了函数模型为y=kx,在拟合计算过程中,可以通过调整k,使得函数模型与多组离散点的差别最小,最终得到的y=k1*x即为这些离散点的分布。 在本实施例中,主要是根据上述步骤101中采集的多个点云的位置信息,具体为多个点云的坐标信息,确定预置的函数模型的多组观测数据,每组观测数据包括函数模型的变量值和函数值;然后根据多组观测数据调整函数模型中的待定系数,以得到拟合后的函数。 步骤103,根据拟合后的函数及多个点云的位置信息,对多个点云中不符合拟合后的函数的点云进行过滤,得到过滤后点云。 由于上述步骤102中拟合计算的误差等因素,则在多个点云中某些点云的位置信息可能会不符合拟合后的函数,具体地,将点云的位置信息代入到拟合后的函数中,如果函数的计算关系不成立,则过滤点云。 例如,拟合后的函数为y=k2*x,对于某一个点(x1,y1),如果将该点的坐标代入到拟合后的函数中,得到k2*x1与y1不相等(或不近似相等),则函数的计算关系不成立,需要过滤该点。 步骤104,如果过滤后点云的个数大于预置值,则确定检测到某一类的障碍物。 需要说明的是,当障碍物检测装置确定检测到障碍物后,还可以计算障碍物的实际位置信息,具体地: 障碍物检测装置可以根据拟合后的函数中的系数与预置的对应关系,计算障碍物的实际位置信息,然后再输出该障碍物的实际位置信息。其中,对应关系用于表示拟合后的函数中系数与障碍物的实际位置信息之间的函数计算关系。 例如,在一种情况下,对应关系包括:障碍物的实际横向坐标x0为拟合后的函数中第一系数c1与2倍的第二系数c3的比值的取负值,即x0=-(c1/2*c3);障碍物的实际纵向坐标y0为拟合后的函数中第三系数c2与2倍的第四系数c4的比值的取负值,即y0=-(c2/2*c4)。 进一步地,如果过滤后点云的个数小于或等于预置值,则确定未检测到上述某一类的障碍物,说明在上述采集周期内,在障碍物检测装置所处的环境中特别是在障碍物检测装置行进的线路上没有上述某一类的障碍物,则障碍物检测装置可以调整预置的采集周期的长度,以便在下次发起的流程中,按照调整后的采集周期采集多帧点云数据。 可见,在本实施例的方法中,障碍物检测装置会采集一段时间内(即采集周期内)所处环境中物体的多帧点云数据,并结合预置的函数模型进行拟合计算,得到拟合后的函数用于表示某一类物体的点云位置分布,进而根据该拟合后的函数对多帧点云数据进行过滤,最后根据过滤结果判断是否有上述某一类的障碍物。由于对于体积小、高度低且反射面积窄的物体,在通过发射光线方式采集点云数据过程中,并不是每一帧点云数据都存在这类物体的反射点,即使出现,其反射点的数量通常也只有1到2个点,则本实施例中将采集的一段时间内(即采集周期内)的多帧点云数据作为一个整体进行分析,增加了体积小的物体的点云数据量,为准确地检测体积小的障碍物提供了基础;且本实施例中通过结合预置的函数模型可以精确地拟合出环境中某一类物体的点云位置分布,使得根据拟合后的函数判断是否有这类障碍物更准确。 在一个具体的实施例中,为了使得输出的障碍物的实际位置信息更准确,障碍物检测装置可以对通过对应关系得到的障碍物的实际位置信息进行校准,具体可以通过如下步骤来实现,流程图如图3所示,包括: 步骤201,将与障碍物检测装置之间的距离在预置范围的区域划分为多个子区域。 具体地,障碍物检测装置可以将预置范围的区域划分为多个网格,或其它形状(比如圆形或长方形等)的子区域,例如图4所示,障碍物检测装置设置在车辆上,通过发射光线的方式采集多帧点云数据,且将障碍物检测装置周边100(m)×100(m)的矩形空间进行网格化,每个网格的大小可以为10(cm)×10(cm),对应一个子区域。 步骤202,根据上述步骤101采集的多个点云的位置信息,确定各个点云所在子区域的位置信息。 具体地,障碍物检测装置可以先确定各个子区域的位置信息,具体为各个子区域中心点的坐标信息,然后结合多个点云的位置信息,从而可以确定各个点云所在子区域的位置信息。 步骤203,在多个子区域中,选取包含的点云个数大于预置值的候选子区域,得到的候选子区域有至少一个。 具体地,障碍物检测装置会统计任一子区域 中包含的点云个数 ,如果 超过阈值 ,说明该子区域内存在障碍物,则选取该子区域为候选子区域。 步骤204,根据候选子区域的位置信息对所述障碍物的实际位置信息进行校准,得到并输出所述障碍物的校准后实际位置。 具体地,可以将候选子区域的位置信息与障碍物的实际位置信息进行加权平均,得到障碍物的校准后实际位置。假设候选子区域的位置信息为( , ),障碍物的实际位置信息为( , ),则可以通过如下公式1来得到校准后实际位置 ,其中,M为候选子区域的个数,: (1) 通过上述步骤201到204,可以对根据拟合后的函数计算得到的障碍物的实际位置信息进行校准,使得最终得到的障碍物的实际位置更准确。 在另一个具体的实施例中,当障碍物检测装置在执行了上述步骤101后,还可以先根据预置的预处理策略对多帧点云数据进行预处理,比如对多个点云进行过滤,将明显不属于障碍物的点云过滤掉,得到预处理后的各帧点云数据,则在执行上述步骤102时,主要是根据预处理后的各帧点云数据中多个点云的位置信息及预置的函数模型进行拟合计算,使得计算时使用较少的点云数据,简化了计算过程。 这里预置的预处理策略可以包括但不限于如下至少一个策略: 在多个点云中过滤地面点云,具体地,可以使用基于激光雷达射线角度阈值(Ray-Ground-Filter)的算法,或基于平面拟合的随机抽样一致(RANdom Sample Consensus,RANSAC)方法,或基于传感器安装高度的栅格高度差等方法,找出多个点云中的地面点云,并进行过滤。这里地面点云是指高度接近地面的物体的点云,比如地面的小草等物体。 在多个点云中过滤较大物体的点云,具体地,可以使用基于距离的欧式聚类算法,或具有噪声的基于密度的(Density-Based Spatial Clustering of Applications withNoise,DBSCAN)聚类算法,或基于深度学习方法的点云分割算法等对每帧点云数据中的点云进行聚类,找出多个点云中较大物体的点云,并进行过滤。由于在上述步骤101中点云数据采集的过程中,体积较小的物体比如交通锥桶对发射光线的反射面积很小,在通过发射光线方式采集点云数据过程中,一般情况下,在某一帧点云数据中,并不存在这类物体的反射点,即使出现,其反射点的数量通常也只有1到2个点,通过上述聚类算法或者基于深度学习的点云分割算法,可以找出较大物体的点云并过滤,从而保留了体积较小的物体的点云数据。 在多个点云中过滤角度差值大于或等于预置角度 的点云,这里角度差值为点云与障碍物检测装置连线的角度r1与点云对应的发射光线的角度r2之间的差值,即剩余的点云满足 ,说明这些点云是物体直接发射的点,而不是经过多次折射的点,进一步地提高了对障碍物检测的准确性。 及在多个点云中过滤对应反射光线的强度小于预置强度的点云。 以下以一个具体的应用实例来说明本发明中的障碍物检测,可以理解,本发明中障碍物检测的方法可以应用于运动的机器人,或行驶车辆,或无人驾驶车辆等场景下,而本实施例中以应用于行驶车辆中为例来说明。 具体地,如图5a所示,将障碍物检测装置设置于车辆中,比如车辆顶上等位置,在障碍物检测装置中包括的采集模块、障碍物检测模块和输出模块,其中,采集模块具体为激光雷达,用于采集该车辆所处环境中物体的点云数据;障碍物检测模块,用于根据采集模块采集的点云数据确定该车辆所处环境中是否有障碍物;输出装置用于当障碍物检测模块检测到有障碍物,则输出障碍物的实际位置信息。 进一步地,在车辆驾驶的位置可以设置电子设备,该电子设备可以获取障碍物检测装置中输出模块输出的障碍物的实际位置信息,确定是否需要执行变换行驶车道或停车等待等操作。 如图5b和5c所示,当设置有障碍物检测装置的车辆在其车道上行驶,通过本实施例的方法如果检测到该车辆的行驶车道前方有交通锥或三角警示牌等体积小的障碍物,则车辆会变换行驶车道或停车等待;如果检测到该车辆行驶的临近车道前方有交通锥或三角警示牌等体积小的障碍物,则车辆不会变换到临近车道上,而一直在当前车道上行驶。 参考图6所示,本实施例的障碍物检测方法可以包括如下步骤: 步骤301,障碍物检测装置中的障碍物检测模块会将所处环境中的区域划分为多个子区域,例如图4所示的多个网格。 步骤302,障碍物检测装置中的激光雷达即采集模块会在一个采集周期内,按照一定的频率发射激光,当接收到障碍物检测装置所处环境中物体的各个发射点的发射激光,则获取到多帧点云数据,包括多个点云的位置信息,还可以包括各个点云对应发射激光的强度,点云对应的激光雷达的线束信息,及点云所在的子区域的信息(比如网格的信息)等。 步骤303,障碍物检测装置中的障碍物检测模块对多帧点云数据进行预处理,具体可以包括但不限于如下处理:在多个点云中过滤地面点云;在多个点云中过滤较大物体的点云;在多个点云中过滤角度差值大于或等于预置角度的点云,这里角度差值为点云与障碍物检测装置(即激光雷达)连线的角度与点云对应的发射激光的角度之间的差值;及在多个点云中过滤对应反射光线的强度小于预置强度的点云。 步骤304,障碍物检测模块对预处理后的各帧点云数据中多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数。 在本实施例中以高斯分布模型为例来说明,一般高斯方程可以写成如下公式2的形式,其中,G为高斯分布的幅值, 和 是x和y方向上的标准差: (2) 对公式2两边取对数,并展开平方项得到如下公式3: (3) 结合上述公式3,将上述预处理后得到的N个点云的位置信息中横坐标和纵坐标的信息,作为该函数模型的多组观测数据,可以得到如下矩阵形式:A=BC,其中,A是N*1的向量,每个元素 可以用如下公式4来表示,可以设置每个元素都相同,为一个常量;B是N*5的矩阵,每一个元素 用如下公式5来表示;C是一个由高斯分布中系数组成的向量,可以用如下公式6来表示,其中,i=1,2,……,N: (4) (5) (6) 障碍物检测装置在拟合计算过程中,会根据多组观测数据调整高斯分布函数中的待定系数,即上述公式6中的各个分量,假设误差函数为E=A-BC,使用最小二乘法,使得该误差函数均方差最小,可以通过如下公式7来表示,其中N为预处理后的点云个数: (7) 由于E=A-BC,将矩阵B进行QR分解,即B=QR,则可以得到如下公式8,其中Q为N*N的正交矩阵,R为N*5的上三角矩阵: (8) 由于Q为正交矩阵,结合公式7和8可以得到如下公式9: (9) 结合公式9及如下公式10,即可得到公式11中的表示,其中,S是5维列向量,T为N-5维的列向量,R1为5*5的上三角方阵: (10) (11) 可见,当 时,MSE最小,即可以通过如下公式12来表示: (12) 由此可得到上述公式6中各个分量的值,分别为 , , , 和 ,即可得到拟合后的函数。 步骤305,障碍物检测装置中的障碍物检测模块将上述预处理后得到的N个点云的位置信息代入到拟合后的函数中,将不符合该拟合后的函数的点云过滤掉,如果过滤后的点云个数大于预置值,则确定检测到具有体积小等特点的某一类障碍物,比如交通锥或三角警示牌等,继续执行步骤306。 如果过滤后的点云个数小于或等于预置值,则确定未检测到该类障碍物,障碍物检测装置可以调整采集周期的长度,并按照调整后的采集周期,返回执行步骤302。 步骤306,障碍物检测装置中的障碍物检测模块根据拟合后的函数中的系数及预置的拟合后的函数中系数与障碍物的实际位置信息,计算障碍物的实际位置信息,可以将上述 , 作为障碍物实际的横纵坐标。 具体地可以通过如下公式13来表示: (13) 步骤307,对于预处理后的N个点云,障碍物检测装置中的障碍物检测模块根据各个点云所处的网格即子区域的位置信息,可以统计包含的点云个数大于预置值的至少一个网格;然后再根据至少一个网格的位置信息及上述步骤305中计算得到的障碍物实际的横纵坐标,得到校准后实际位置,具体计算方法见上述公式1所述,在此不进行赘述。 步骤308,障碍物检测装置中的输出模块输出障碍物的校准后实际位置。且如果该校准后实际位置位于障碍物检测装置所在车辆的车道前方,则车辆会进行停车或绕道等操作。 需要说明的是,当使用32线激光雷达的情况下,如果采用传统的聚类方法,其识别距离只有20m左右,对于激光雷达所在的行驶车辆来说,较近的识别距离使得车辆不能及时制动,或者作出绕行等相应的动作,而采用本实施例的方法可以在100m之外发现地面上的交通锥或者三角警示牌等体积较小的障碍物,使得车辆可以及时制动。 本发明实施例还提供一种障碍物检测装置,其结构示意图如图7所示,具体可以包括: 采集单元10,用于在预置的采集周期内,采集障碍物检测装置所处环境中物体的多帧点云数据,每帧点云数据中包括多个点云的位置信息; 拟合单元11,用于根据所述采集单元10采集的多个点云的位置信息及预置的函数模型进行拟合计算,得到拟合后的函数,所述拟合后的函数用于表示某一类物体的点云位置分布。 该拟合单元11,具体用于根据所述多个点云的位置信息确定所述函数模型的多组观测数据,每组观测数据中包括所述函数模型的变量值和函数值;根据所述多组观测数据调整所述函数模型中的待定系数,以得到所述拟合后的函数。 点云过滤单元12,用于根据所述拟合单元11得到的拟合后的函数及多个点云的位置信息,对所述多个点云中不符合所述拟合后的函数的点云进行过滤,得到过滤后点云。 障碍物单元13,用于如果所述点云过滤单元12得到的过滤后点云的个数大于预置值,则确定检测到上述某一类的障碍物。该障碍物单元13,还用于如果所述过滤后点云的个数小于或等于预置值,确定未检测到上述某一类的障碍物。 该障碍物单元13,还用于根据拟合后的函数中的系数与预置的对应关系,计算障碍物的实际位置信息;所述对应关系用于表示拟合后的函数中系数与障碍物的实际位置信息之间的函数计算关系;输出所述障碍物的实际位置信息。 其中,所述对应关系包括:障碍物的实际横向坐标为所述拟合后的函数中第一系数与2倍的第二系数的比值的取负值;所述障碍物的实际纵向坐标为所述拟合后的函数中第三系数与2倍的第四系数的比值的取负值。 进一步地,本实施例的障碍物检测装置还可以包括:所述方法还包括: 校准单元14,用于将与障碍物检测装置之间的距离在预置范围的区域划分为多个子区域;根据所述多个点云的位置信息,确定各个所述点云所在子区域的位置信息;在所述多个子区域中,选取包含的点云个数大于预置值的候选子区域;根据所述候选子区域的位置信息对所述障碍物单元13得到的障碍物的实际位置信息进行校准,得到并输出所述障碍物的校准后实际位置。 该校准单元14在根据所述候选子区域的位置信息对所述障碍物的实际位置信息进行校准时,具体用于将所述候选子区域的位置信息与所述障碍物的实际位置信息进行加权平均,得到所述障碍物的校准后实际位置。 预处理单元15,用于根据预置的预处理策略对所述多帧点云数据进行预处理以得到拟合后函数;则所述拟合单元11具体用于根据所述预处理后的各帧点云数据中多个点云的位置信息及预置的函数模型进行拟合计算。 所述预置的预处理策略包括但不限于如下至少一个策略:在所述多个点云中过滤地面点云;在所述多个点云中过滤较大物体的点云;在所述多个点云中过滤角度差值大于或等于预置角度的点云,所述角度差值为所述点云与障碍物检测装置连线的角度与所述点云对应的发射光线的角度之间的差值;及在所述多个点云中过滤对应反射光线的强度小于预置强度的点云。 调整单元16,用于当上述障碍物单元13未检测到障碍物,则调整所述预置的采集周期的长度,以便所述采集单元10按照所述调整后的采集周期采集多帧点云数据。 在本实施例的装置中,采集单元10会采集一段时间内(即采集周期内)所处环境中物体的多帧点云数据,拟合单元11结合预置的函数模型进行拟合计算,得到拟合后的函数用于表示某一类物体的点云位置分布,进而点云过滤单元12根据该拟合后的函数对多帧点云数据进行过滤,最后障碍物单元13根据过滤结果判断是否有上述某一类的障碍物。由于对于体积小、高度低且反射面积窄的物体,在通过发射光线方式采集点云数据过程中,并不是每一帧点云数据都存在这类物体的反射点,即使出现,其反射点的数量通常也只有1到2个点,则本实施例中将采集的一段时间内(即采集周期内)的多帧点云数据作为一个整体进行分析,增加了体积小的物体的点云数据量,为准确地检测体积小的障碍物提供了基础;且本实施例中通过结合预置的函数模型可以精确地拟合出环境中某一类物体的点云位置分布,使得根据拟合后的函数判断是否有这类障碍物更准确。 本发明实施例还提供一种终端设备,其结构示意图如图8所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。 具体地,在存储介质22中储存的应用程序221包括障碍物检测的应用程序,且该程序可以包括上述障碍物检测装置中的采集单元10,拟合单元11,点云过滤单元12,障碍物单元13,校准单元14,预处理单元15及调整单元16,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的障碍物检测的应用程序对应的一系列操作。 终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。 上述方法实施例中所述的由障碍物检测装置所执行的步骤可以基于该图8所示的终端设备的结构。 本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述障碍物检测装置所执行的障碍物检测方法。 本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令; 所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述障碍物检测装置所执行的障碍物检测方法。 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。 以上对本发明实施例所提供的一种障碍物检测方法、装置及存储介质和终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

文章推荐:

一种基于生物技术的多级发酵装置

智能笔记本

陶瓷茶杯(一辈子顺杯)

一种基于法律知识图谱的裁判文书相似性判断方法及系统

一种风光热电力互补系统

发表评论