基于事件相机和激光雷达的运动检测方法、装置及设备

文档序号:32884811发布日期:2023-01-12 21:25阅读:36来源:国知局
基于事件相机和激光雷达的运动检测方法、装置及设备

1.本发明涉及传感器融合、计算机视觉与运动检测算法技术领域,尤其涉及一种基于事件相机和激光雷达的运动检测方法、装置及设备。


背景技术:

2.随着科技的发展,激光雷达在生活中的应用变得越来越常见:既可以提高智能手机拍照或者摄像时的对焦精度,也可以帮助汽车实现不同级别的自动驾驶;既可以让扫地机器人进行定位,对指定区域进行清扫,也可以提高测绘精度,构建更清晰的地图。激光雷达的原理是向目标发射激光束,然后将接收到的从目标反射回来的信号与发射信号进行比较,经过相关处理后,即可获得包含物体空间位置信息的点云。然而,激光雷达在一次扫描中,并不能获得物体的动态信息,即判断物体运动与否。在很多应用场景下,例如在同步定位建图(slam)中,如果能够得知点云是否运动,即可大大提高建图与定位的精度和速度。
3.事件相机是一种较为新颖的传感器,由研究者受人类视网膜原理启发而发明,仅能拍摄到运动的或者表面光照变化的物体。如果一个物体保持静止而且其表面光照情况不发生变化,那么它将不会被事件相机所记录。除此之外,事件相机的成像并不是一帧帧的画面,而是和激光雷达类似的点云。与激光雷达相对应的是,尽管事件相机可以获得物体的动态信息,但是其并不包括物体的空间深度信息,仅能获取点云在平面上的位置。
4.目前,已有一些利用事件相机进行动态监测的技术,如专利zl202110811885.3通过神经网络来进行事件相机所采集信号进行处理,判断物体是否运动。专利zl202011088240.3通过事件流积分、滤波的方式来获得每个事件相机数据点的速度,进而判断是否运动。在激光雷达和事件相机融合方面,专利zl202111502007.x通过事件相机来提高激光雷达点云的密度。
5.但是,在基于事件相机的动态识别的现有技术中,一个固有的缺陷是,由于未和激光雷达融合,导致即使可以判断物体是否运动,但是并不能获得所扫描点云的空间信息。而基于激光雷达的动态识别技术的缺陷是,至少需要两帧的激光雷达信息,才能获得结果。无论是神经网络的计算还是事件流的积分,都需要大量的计算资源和训练时间,导致实时识别的困难。而基于激光雷达和事件相机的融合算法,虽然能提高激光雷达点云的密度,但是不能判断物体的动态信息。


技术实现要素:

6.鉴于上述问题,本发明提供了一种基于事件相机和激光雷达的运动检测方法、装置及设备,在输出点云空间信息的同时判断每个点是否运动。
7.为达到上述目的,本发明的第一方面提供了一种基于事件相机和激光雷达的运动检测方法,包括:步骤s1,对事件相机和激光雷达进行配置和标定;步骤s2,获取待检测的运动目标,对运动目标进行扫描,在一个扫描周期内,采集事件相机的多个二维成像点和激光雷达的多个三维点云;步骤s3,将多个三维点云分别投影至事件相机所在平面,得到激光雷
达的多个二维投影点;步骤s4,提取多个二维投影点中的距离数据,根据激光雷达的最远有效距离z
max
和预设的距离分隔阈值m,对距离数据进行聚类,得到z
max
/m个距离范围类别;步骤s5,针对各个距离范围类别中的每一个二维投影点,遍历计算该二维投影点分别与事件相机的所有二维成像点和同一距离范围类别中的激光雷达的所有二维投影点之间的欧拉距离,在欧拉距离小于预设距离时,累计二维成像点的目标点数和二维投影点的目标点数;步骤s6,将二维成像点的目标点数和二维投影点的目标点数分别与预设的第一点数阈值和第二点数阈值进行比较,得出该二维投影点的运动状态检测结果,并生成对应的运动状态标识;步骤s7,重复上述步骤s5~s6,直至激光雷达的所有二维投影点的运动状态标识均生成,将激光雷达的三维点云以及对应的运动状态标识合并输出。
8.本发明的第二方面提供了一种基于事件相机和激光雷达的运动检测装置,包括:配置标定模块,用于对事件相机和激光雷达进行配置和标定;数据采集模块,用于获取待检测的运动目标,对运动目标进行扫描,在一个扫描周期内,采集事件相机的多个二维成像点和激光雷达的多个三维点云;数据投影模块,用于将多个三维点云分别投影至事件相机所在平面,得到激光雷达的多个二维投影点;距离聚类模块,用于提取多个二维投影点中的距离数据,根据激光雷达的最远有效距离z
max
和预设的距离分隔阈值m,对距离数据进行聚类,得到z
max
/m个距离范围类别;点数累计模块,用于针对各个距离范围类别中的每一个二维投影点,遍历计算该二维投影点分别与事件相机的所有二维成像点和同一距离范围类别中的激光雷达的所有二维投影点之间的欧拉距离,在欧拉距离小于预设距离时,累计二维成像点的目标点数和二维投影点的目标点数;点数比较模块,用于将二维成像点的目标点数和二维投影点的目标点数分别与预设的第一点数阈值和第二点数阈值进行比较,得出该二维投影点的运动状态检测结果,并生成对应的运动状态标识;结果输出模块,用于重复上述点数累计模块至点数比较模块的步骤,直至激光雷达的所有二维投影点的运动状态标识均生成,将激光雷达的三维点云以及对应的运动状态标识合并输出。
9.本发明的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
10.与现有技术相比,本发明提供的基于事件相机和激光雷达的运动检测方法、装置及设备,至少具有以下有益效果:
11.(1)本发明融合了事件相机和激光雷达的优势,既可以获取物体的空间位置,又判断物体是否运动,实现了在输出点云空间信息的同时判断每个点是否运动;
12.(2)相较于其他只使用激光雷达或者rgb相机的运动检测算法相比,本发明只需要激光雷达的一个扫描周期(例如一帧)的数据,即可完成运动状态检测;
13.(3)本发明还可利用包含运动信息的点云数据简化很多任务的实现。比如:在地图测绘过程中,运动的车辆,行人会对测绘形成干扰,应用本发明的运动检测方法可以把所有运动的点云滤除,简化建图过程。此外,在某些目标检测任务中,可以通过运动与否先对所有点云进行一次筛选。例如,要识别树木或者路牌,那么就仅在静止的点云中进行识别,可以缩短识别时间,简化工作过程。
附图说明
14.通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
15.图1(a)、图1(b)和图1(c)分别示意性示出了根据本发明实施例的事件相机和激光雷达的安装方式的主视图、俯视图和侧视图;
16.图2示意性示出了根据本发明实施例的基于事件相机和激光雷达的运动检测方法的流程图;
17.图3示意性示出了根据本发明实施例的事件相机和激光雷达的水平视角几何关系图;
18.图4示意性示出了根据本发明实施例的事件相机的多个二维成像点和激光雷达的多个二维投影点的分布图;
19.图5示意性示出了根据本发明实施例的事件相机和激光雷达采样时序图;
20.图6示意性示出了根据本发明实施例的基于事件相机和激光雷达的运动检测装置的框图;
21.图7示意性示出了根据本公开实施例的适于实现访问控制方法的电子设备的方框图。
22.【附图标记说明】
23.1-激光雷达;2-事件相机;21-事件相机的镜头中心;3-保护壳以及其他配套电路。
具体实施方式
24.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
25.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
26.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
27.图1(a)、图1(b)和图1(c)分别示意性示出了根据本发明实施例的事件相机和激光雷达的安装方式的主视图、俯视图和侧视图。
28.在进行下述步骤之前,首先需要依据以下原则安装事件相机2和激光雷达1:事件相机2及其配套电路固定于保护壳中,激光雷达1固定于保护壳3上;激光雷达1的中心轴和事件相机的镜头中心21重合。
29.具体地,从主视图和俯视角的视角来看,激光雷达1的中心轴和事件相机的镜头中心21应重合,以图1(a)和图1(b)中虚线所示。如图1(c)所示,从侧视图的视角来看,激光雷达1不能安装的过于靠后,即激光雷达1应尽量靠近z轴原点,使得保护壳3不会阻挡激光雷达1向下扫描的光束,将激光雷达1的中心到事件相机2的距离记为l。
30.接着,在事件相机2和激光雷达1安装完成后,图2示意性示出了根据本发明实施例的基于事件相机和激光雷达的运动检测方法的流程图。
31.如图2所示,根据该实施例的基于事件相机和激光雷达的运动检测方法,可以包括操作s1~操作s7。
32.步骤s1,对事件相机和激光雷达进行配置和标定。
33.本发明实施例中,该配置和标定具体包括:控制激光雷达1的水平视角小于事件相机2的水平视角;控制激光雷达1的垂直视角是事件相机2的垂直视角的60%~80%,且线束均匀分布;确保事件相机2和激光雷达1在探测不同距离的物体时的视差小于预设的视差阈值。
34.请参阅图3,其以俯视角视角表示事件相机2和激光雷达1,激光雷达1的水平视角如虚线所示,可以记为θ
lh
;事件相机2的水平视角如实线所示,可以记为θ
eh
。对于垂直方向,激光雷达1的垂直视角一般不可调,在采购设备时应保证其垂直视角是事件相机2垂直视角的60%-80%,且线束均匀分布。将激光雷达1的垂直视角记为θ
lv
,事件相机2的垂直视角记为θ
ev
。在标定过程中,通过视差阈值的设置和相关公式,应确保事件相机2和激光雷达1在探测不同距离的物体时的视差尽量小。该视差阈值可以根据实际应用的需要进行设置,具体本发明不做限制。
35.步骤s2,获取待检测的运动目标,对运动目标进行扫描,在一个扫描周期内,采集事件相机的多个二维成像点和激光雷达的多个三维点云。
36.步骤s3,将多个三维点云分别投影至事件相机所在平面,得到激光雷达的多个二维投影点。
37.本发明实施例中,在一个扫描周期内,激光雷达的多个二维投影点根据以下公式来得出:
38.x

li
=lx
li
/z
li
39.y

li
=ly
li
/z
li
40.其中,(x

li
,y

li
)为激光雷达的多个二维投影点的坐标;(x
li
,y
li
,z
li
)为激光雷达的多个三维点云的坐标;l为激光雷达的中心到事件相机的距离。
41.请参阅图4,黑色实心方框代表事件相机采集的多个二维成像点,空心圆代表激光雷达的多个二维投影点。由于在配置和标定时已经保证了激光雷达的水平视角和垂直视角均小于事件相机的,因此激光雷达的投影范围不会超出事件相机的平面。在投影后,激光雷达的距离数据(也即z轴数据)虽然不会显示在图上,但是依然会保存,供后续任务使用。
42.需要说明的是,在对运动目标进行扫描时,事件相机的采样时间大于激光雷达的采样时间。请参阅图5,黑色方块代表事件相机采样的时间戳,空心圆代表激光雷达采样的时间戳。当采集到一次激光雷达的数据后,开始记录每个事件相机的点在其平面内的坐标,记录为p
ei
(x
ei
,y
ei
)。在下一次激光雷达的数据到来之前,即可针对投影后的激光雷达点p

li
(x

li
,y

li
)和事件相机点p
ei
(x
ei
,y
ei
)进行计算。这里,激光雷达的多个投影点和和事件相机的多个二维成像点满足以下关系式:
[0043][0044]
其中,p
ei
(x
ei
,y
ei
)为事件相机的多个二维成像点的二维坐标;p

li
(x

li
,y

li
)为激
光雷达的多个二维投影点;集合a代表事件相机成像的平面范围;集合b代表激光雷达投影后的平面范围。可以理解的是,集合b被集合a包含是由激光雷达的视角小于事件相机的视角保证的。
[0045]
步骤s4,提取多个二维投影点中的距离数据,根据激光雷达的最远有效距离z
max
和预设的距离分隔阈值m,对距离数据进行聚类,得到z
max
/m个距离范围类别。
[0046]
针对激光雷达的每个二维投影点,根据其距离数据(也即z轴数据)进行一次聚类。最远有效距离z
max
是由激光雷达自身来设定的,聚类后将激光雷达的所有二维投影点分割到z
max
/m个距离范围类别之中,使得每个距离范围类别之中具有至少一个二维投影点。
[0047]
例如,最远有效距离z
max
为200,设定距离分隔阈值m为10,那么所有二维投影点可以分为20个距离范围类别,第一个距离范围类别之中包含距离为0-10的所有二维投影点,第二个距离范围类别之中包含距离10-20的所有二维投影点,以此类推。
[0048]
步骤s5,针对各个距离范围类别中的每一个二维投影点,遍历计算该二维投影点分别与事件相机的所有二维成像点和激光雷达在同一距离范围类别中的激光雷达的所有二维投影点之间的欧拉距离,在欧拉距离小于预设距离时,累计二维成像点的目标点数和二维投影点的目标点数。
[0049]
具体地,针对各个距离范围类别中的每一个二维投影点,将该二维投影点作为参考点,遍历该参考点分别与对应的距离范围类别中的事件相机的所有二维成像点,以及同一距离范围类别中的激光雷达的所有二维投影点这两种点,计算该参考点与这两种点中的任意一点的欧拉距离。
[0050]
接着,将每个欧拉距离与预设距离进行比较,在欧拉距离小于预设距离时,将符合条件的这两种点按照归属于事件相机或者激光雷达,分别累计至事件相机的二维成像点的目标点数或者是激光雷达的二维投影点的目标点数。
[0051]
其中,欧拉距离根据以下公式计算得出:
[0052][0053]
其中,(xi,yi)表示当前选定的第i个二维投影点的坐标;(xj,yj)表示事件相机的任意一个二维成像点或者与该第i个二维投影点在同一距离范围类别中的任意一个二维投影点的坐标;d(i,j)表示欧拉距离。
[0054]
具体地,对于一个在50~60距离范围类别中的激光雷达的二维投影点,将其作为参考点,计算该参考点和此时投影平面上事件相机的所有二维成像点以及同样在50~60距离范围类别中的激光雷达的所有二维投影点的欧拉距离。如果计算得出的任意一个欧拉距离小于预设距离(例如为1)时,将这类点的数目记录下来,用n1,n2表示。
[0055]
基于上述欧拉公式,i最终将遍历该距离范围类别中的每一个二维投影点。即每次选定一个i,就更新所有的j,j点包含全部的事件相机的点和同距离范围内激光雷达的点。然后在下一个i点继续重复这个过程,直到所有的激光雷达的二维投影点都当过一次i点。
[0056]
步骤s6,将二维成像点的目标点数和二维投影点的目标点数分别与预设的第一点数阈值和第二点数阈值进行比较,得出该二维投影点的运动状态检测结果,并生成对应的运动状态标识。
[0057]
本发明实施例中,第一点数阈值和第二点数阈值各自根据不同的使用场景或者使
用环境而不同。
[0058]
本发明实施例中,运动状态检测结果包括运动或静止。在此基础上,当二维成像点的目标点数大于第一点数阈值,且二维投影点的目标点数大于第二点数阈值时,该二维投影点的运动状态检测结果为运动;否则为静止。
[0059]
然后,根据该二维投影点的运动状态检测结果,生成对应的运动状态标识,例如可以将“0”表示为静止,“1”表示为运动。
[0060]
步骤s7,重复上述步骤s5~s6,直至激光雷达的所有二维投影点的运动状态标识均生成,将激光雷达的三维点云以及对应的运动状态标识合并输出。
[0061]
本发明实施例中,运动目标的检测结果按照以下数据格式来输出:
[0062]
data(x,y,z,p)
[0063]
其中,(x,y,z)为所述激光雷达的三维点云的坐标;p为运动状态标识,其有两个数值,“0”表示为静止,“1”表示为运动。
[0064]
通过上述实施例,本发明融合了事件相机和激光雷达的优势,既可以获取物体的空间位置,又判断物体是否运动,实现了在输出点云空间信息的同时判断每个点是否运动。
[0065]
相较于其他只使用激光雷达或者rgb相机的运动检测算法相比,本发明只需要激光雷达的一个扫描周期(例如一帧)的数据,即可完成运动状态检测。
[0066]
此外,本发明还可利用包含运动信息的点云数据简化很多任务的实现。比如:在地图测绘过程中,运动的车辆,行人会对测绘形成干扰,应用本发明的运动检测方法可以把所有运动的点云滤除,简化建图过程。此外,在某些目标检测任务中,可以通过运动与否先对所有点云进行一次筛选。例如,要识别树木或者路牌,那么就仅在静止的点云中进行识别,可以缩短识别时间,简化工作过程。
[0067]
基于上述基于事件相机和激光雷达的运动检测方法,本发明还提供了一种基于事件相机和激光雷达的运动检测装置,以下将结合图6对该装置进行详细描述。
[0068]
图6示意性示出了根据本发明实施例的基于事件相机和激光雷达的运动检测装置的框图。
[0069]
如图6所示,根据该实施例的基于事件相机和激光雷达的运动检测装置600包括配置标定模块610、数据采集模块620、数据投影模块630、距离聚类模块640、点数累计模块650、点数比较模块660和结果输出模块670。
[0070]
配置标定模块610,用于对事件相机和激光雷达进行配置和标定;
[0071]
数据采集模块620,用于获取待检测的运动目标,对所述运动目标进行扫描,在一个扫描周期内,采集所述事件相机的多个二维成像点和所述激光雷达的多个三维点云;
[0072]
数据投影模块630,用于将所述多个三维点云分别投影至所述事件相机所在平面,得到所述激光雷达的多个二维投影点;
[0073]
距离聚类模块640,用于提取所述多个二维投影点中的距离数据,根据所述激光雷达的最远有效距离z
max
和预设的距离分隔阈值m,对所述距离数据进行聚类,得到z
max
/m个距离范围类别;
[0074]
点数累计模块650,用于针对各个距离范围类别中的每一个二维投影点,遍历计算该二维投影点分别与事件相机的所有二维成像点和同一距离范围类别中的所有二维投影点之间的欧拉距离,在所述欧拉距离小于预设距离时,累计所述二维成像点的目标点数和
所述二维投影点的目标点数;
[0075]
点数比较模块660,用于将所述二维成像点的目标点数和二维投影点的目标点数分别与预设的第一点数阈值和第二点数阈值进行比较,得出该二维投影点的运动状态检测结果,并生成对应的运动状态标识;
[0076]
结果输出模块670,用于重复上述点数累计模块至点数比较模块的步骤,直至所述激光雷达的所有二维投影点的运动状态标识均生成,将所述激光雷达的三维点云以及对应的运动状态标识合并输出。
[0077]
需要说明的是,装置部分的实施例方式与方法部分的实施例方式对应类似,并且所达到的技术效果也对应类似,具体细节请参照上述方法实施例方式部分,在此不再赘述。
[0078]
根据本发明的实施例,配置标定模块610、数据采集模块620、数据投影模块630、距离聚类模块640、点数累计模块650、点数比较模块660和结果输出模块670中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,配置标定模块610、数据采集模块620、数据投影模块630、距离聚类模块640、点数累计模块650、点数比较模块660和结果输出模块670中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,配置标定模块610、数据采集模块620、数据投影模块630、距离聚类模块640、点数累计模块650、点数比较模块660和结果输出模块670中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0079]
图7示意性示出了根据本公开实施例的适于实现访问控制方法的电子设备的方框图。
[0080]
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0081]
在ram 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、rom 702以及ram 703通过总线704彼此相连。处理器701通过执行rom 702和/或ram 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除rom 702和ram 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0082]
根据本公开的实施例,电子设备700还可以包括输入/输出(i/o)接口705,输入/输出(i/o)接口705也连接至总线704。电子设备700还可以包括连接至i/o接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、
调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
[0083]
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
[0084]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。此外,位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。
[0085]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1