一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于事件相机的速度感知方法、装置、设备和介质与流程

2022-03-04 22:55:14 来源:中国专利 TAG:


1.本技术涉及事件相机、速度感知技术领域,特别是涉及一种基于事件相机的速度感知方法、装置、设备和介质。


背景技术:

2.动态视觉传感器(事件相机)是受生物启发的低延迟传感器,其特性使事件相机成为高动态或者低光照条件等挑战性视觉应用的绝佳选择。然而由于其原理与传统相机完全不同,需要开发新的算法来解决即时定位与地图构建领域的视觉里程计问题。基于此,有研究引入了连续事件线约束(celc)并提出了一种基于线的闭式求解器来进行速度初始化,然而他们的求解器对事件流中的常见噪声表现出较差的鲁棒性。


技术实现要素:

3.鉴于以上所述现有技术的缺点,本技术的目的在于提供一种基于事件相机的速度感知方法、装置、设备和介质,以解决现有技术中求解器对事件流中的常见噪声表现出的鲁棒性较差的问题。
4.为实现上述目的及其他相关目的,本技术提供一种基于事件相机的速度感知方法,所述方法包括:s1、获取事件相机输出的事件流和imu数据,对事件流的线进行聚类和提取以得到多个线簇集;s2、随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件,基于三角点张量推导出celc约束,以得到初始线速度;s3、依据所述初始线速度对每个所述线簇集随机抽取若干个事件,利用基于普吕克坐标的线-线交叉约束以及普吕克坐标自身的约束,求出对应每个所述线簇集的3d线。
5.于本技术的一实施例中,所述方法包括:在所述簇中随机抽取至少5个事件;其中,包含:两个位于时间间隔开头的事件,两个位于时间间隔末尾的事件,以供分别形成两个线观测;一个位于时间间隔中点的中心事件,以形成点观测。
6.于本技术的一实施例中,所述方法包括:用j表示线簇集的编号,则两个线观测分别表示为l
sj
和l
ej
,所在时间戳为t
sj
和t
ej
;中心事件表示为e
kj
={x
kj
,y
kj
,t
kj
,s
kj
},t
kj
为事件的时间戳,s
kj
为事件的极性;观测向量为f
kj
=k-1
[x
kj
,y
kj
,1]
t
,[x
kj
,y
kj
,1]为中心事件坐标,k为事件相机内参矩阵。
[0007]
于本技术的一实施例中,所述celc约束为:f
kjtbkj
v=0;其中,v=0;其中,代表从t
kj
到t
sj
旋转的三列;代表从t
kj
到t
ej
旋转的三列;f
kjt
为观测向量;ω表示imu数据提供的已知角速度,v表示线速度。
[0008]
于本技术的一实施例中,所述基于普吕克坐标的线-线交叉约束以及普吕克坐标
自身的约束,包括:所述普吕克坐标为:l=[d
t
,m
t
]
t
;其中,m=r
×
d;d表示具有方向的长度;m表示几何面积;r表示3d线上的点相对于事件相机中心的位置cs;l上事件点的测量可以用普吕克坐标表示:其中,fk为观测向量;ω表示imu数据提供的已知角速度;r
sk
为旋转矩阵;旋转后的观测向量;t
sk
=v(t
k-ts);t
sk
表示观测向量在时间戳tk的事件相机中心的位置ck相对于cs的位置;v表示线速度;普吕克坐标的线-线交叉约束为:普吕克坐标自身的约束为:
[0009]
于本技术的一实施例中,所述方法包括:重复步骤s2和s3,采用角度误差度量作为内点度量,基于ransac算法鲁棒地求出对应每个线簇集的最终3d线。
[0010]
于本技术的一实施例中,所述方法包括:将各3d线重投影至各事件所在时间的虚拟帧,当事件到3d线的正交误差小于阈值则令该事件为内点,据以计算每个线簇集的内点率;重复步骤s2和s3并计算每个线簇集的内点率,直至所有内点率的平均值超过预设值或达到最大迭代,并将每个线簇集当前的3d线作为最终3d线。
[0011]
为实现上述目的及其他相关目的,本技术提供一种基于事件相机的速度感知装置,所述装置包括:获取模块,用于获取事件相机输出的事件流和imu数据,对事件流的线进行聚类和提取以得到多个线簇集;处理模块,用于随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件,基于三角点张量推导出celc约束,以得到初始线速度;依据所述初始线速度对每个所述线簇集随机抽取若干个事件,利用基于普吕克坐标的线-线交叉约束以及普吕克坐标自身的约束,求出对应每个所述线簇集的3d线。
[0012]
为实现上述目的及其他相关目的,本技术提供一种计算机设备,所述设备包括:存储器、及处理器;所述存储器用于存储计算机指令;所述处理器运行计算机指令实现如上所述的方法。
[0013]
为实现上述目的及其他相关目的,本技术提供一种计算机可读存储介质,存储有计算机指令,所述计算机指令被运行时执行如上所述的方法。
[0014]
综上所述,本技术提供的一种基于事件相机的速度感知方法、装置、设备和介质,通过获取事件相机输出的事件流和imu数据,对事件流的线进行聚类和提取以得到多个线簇集;随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件,基于三角点张量推导出celc约束,以得到初始线速度;依据所述初始线速度对每个所述线簇集随机抽取若干个事件,利用基于普吕克坐标的线-线交叉约束以及普吕克坐标自身的约束,求出对应每个所述线簇集的3d线。
[0015]
具有以下有益效果:
[0016]
本技术算法与之前算法的相比,可以在不论是增加的事件扰动还是对imu给出的角速度添加更高噪声水平时都更加鲁棒,而且在更小的时间间隔条件下也可以取得更高的精度。
附图说明
[0017]
图1显示为本技术于一实施例中基于事件相机的速度感知方法的流程示意图。
[0018]
图2显示为本技术于一实施例中celc的几何示意图。
[0019]
图3显示为本技术于一实施例中普吕克坐标求解3d线的几何示意图。
[0020]
图4a-4b显示为本技术于一实施例中本方法与其他方法得到的速度方向角误差比较的极坐标直方图。
[0021]
图5显示为本技术于一实施例中基于事件相机的速度感知装置的模块示意图。
[0022]
图6显示为本技术于一实施例中计算机设备的结构示意图。
具体实施方式
[0023]
以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0024]
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,虽然图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,但其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0025]
在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
[0026]
为解决上述问题,本技术公开了一种基于事件相机的速度感知方法、装置、设备和介质,
[0027]
本技术主要通过嵌套的两层ransac框架,用于在基于事件的惯性里程计系统中进行线速度初始化,利用连续事件线约束(celc)来估计初始线速度,然后提出了一个用于从事件中恢复3d线的最小求解器,以鲁棒地求出3d线并隐式地验证所估计线速度的质量。本技术的目的是:从位于事件相机前面的3d线生成事件的短时间切片中求出事件相机的速度,并与之前的算法相比提高其鲁棒性。
[0028]
如图1所示,展示为本技术于一实施例中的基于事件相机的速度感知方法的流程示意图。如图所示,所述方法包括:
[0029]
步骤s1:获取事件相机输出的事件流和imu数据,对事件流的线进行聚类和提取以得到多个线簇集。
[0030]
事件相机即为动态视觉传感器,不同于传统相机拍摄一幅完整的图像,事件相机拍摄的是“事件”,可以简单理解为“像素亮度的变化”,即事件相机输出的是像素亮度的变化情况。
[0031]
imu(inertial measurement unit)为惯性测量单元,是测量物体三轴姿态角(或角速率)以及加速度的装置。
[0032]
于本技术中,事件相机输出一系列事件点和imu数据,这里利用imu数据中的角速度,假设角速度已知来求线速度,对应有公式v=ω
·
r,线速度v的定义是:单位时间内通过的弧长;角速度ω的定义是:单位时间内通过的弧度数。
[0033]
本技术假设速度在短时间间隔内恒定的,则在给定的短时间间隔δt内进行针对事件流的线聚类和提取。
[0034]
步骤s2:随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件,基于三角点张量推导出celc约束,以得到初始线速度。
[0035]
ransac是“random sample consensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。它是一种不确定的算法——它有一定的概率得出一个合理的结果;为了提高概率必须提高迭代次数。
[0036]
于本技术中,随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件相当于“外层ransac”,如随机抽取2个线簇集,每个线簇集中随机抽取5个事件。
[0037]
例如,随机抽取2个线簇集,在所述簇中随机抽取至少5个事件;其中,包含:两个位于时间间隔开头的事件,两个位于时间间隔末尾的事件,以供分别形成两个线观测;一个位于时间间隔中点的中心事件,以形成点观测。简单来说,两个线观测和一个点观测是ransac运算初步计算需要的最小条件。
[0038]
如图2所示,展示为celc的几何示意图。用j表示线簇集的编号,则两个线观测分别表示为l
sj
和i
ej
,所在时间戳为t
sj
和t
ej
;中心事件可以表示为e
kj
={x
kj
,y
kj
,t
kj
,s
kj
},t
kj
为事件的时间戳,s
kj
为事件的极性;观测向量为f
kj
=k-1
[x
kj
,y
kj
,1]
t
,[x
kj
,y
kj
,1]为中心事件坐标,其坐标可以通过f
kj
=k-1
[x
kj
,y
kj
,1]
t
来归一化,k为已知的事件相机内参矩阵。
[0039]
进一步地,依据上述给出的样本,基于经典多视图几何中的三焦点张量推导出了celc约束(连续事件线约束),如图2给出的celc约束,这样就变成了一个齐次线性方程组(即ax=b),其最小二乘解为矩阵a'a最小特征值所对应的特征向量,然后用svd方法(奇异值分解法)求出一个线速度闭式解。
[0040]
具体来说,由f
kj
=k-1
[x
kj
,y
kj
,1]
t
可得,所述celc约束为:f
kjtbkj
u=0。其中,
[0041][0042]
这里的三角点:代表从t
kj
到t
sj
旋转的三列;
[0043]
代表从t
kj
到t
ej
旋转的三列;
[0044]fkjt
为观测向量;ω表示imu数据提供的已知角速度,v表示线速度。对应图2所示,其中的t
skj
和t
ekj
可以由v表示。
[0045]
步骤s3:依据所述初始线速度对每个所述线簇集随机抽取若干个事件,利用基于普吕克坐标的线-线交叉约束以及普吕克坐标自身的约束,求出对应每个所述线簇集的3d线。
[0046]
进一步地,通过步骤s2获得了初始线速度假设,再针对每个线簇集,随机选择若干个事件,即相当于“内层ransac”。例如,可随机选择4个事件。
[0047]
如图3所示,显示了基于于普吕克坐标(pliicker)的线-线交叉约束以及普吕克坐标自身的约束的原理图,利用这些约束使用代数方法解多项式方程系统就可以求出相对应的3d线。
[0048]
优选地,由于每条3d线的求解对于每个线簇集是单独的,索引线簇集j将不在求3d线的公式中使用。基于普吕克坐标的线求解器的几何示意如图3所示。未知量为3d线的普吕克坐标,可以表示为:
[0049]
l=[d
t
,m
t
]
t

[0050]
其中,m=r
×
d;d表示具有方向的长度;m表示几何面积;r表示3d线上的点相对于事件相机中心cs的位置。已知变量是观测向量和在时间戳tk的相机中心ck相对于cs的位置,由t
sk
给出。
[0051]
l上事件点的测量可以用普吕克坐标表示:
[0052][0053]
其中,fk为观测向量;ω表示imu数据提供的已知角速度;r
sk
为旋转矩阵;旋转后的观测向量;t
sk
=v(t
k-ts);t
sk
表示观测向量在时间戳tk的事件相机中心的位置ck相对于cs的位置;v表示线速度。
[0054]
进而普吕克坐标的线-线交叉约束可以表示为:
[0055][0056]
普吕克坐标自身的约束可以表示为:
[0057][0058]
其中,||||表示绝对值。
[0059]
于本技术一实施例中,所述方法包括:重复步骤s2和s3,采用角度误差度量作为内点度量,用经典的ransac框架鲁棒地求出对应每个线簇集的最终3d线。具体包括:
[0060]
a、将各3d线重投影至各事件所在时间的虚拟帧,当事件到3d线的正交误差小于阈值则令该事件为内点,据以计算每个线簇集的内点率。
[0061]
对于每个事件,将求出的每条3d线重新投影回事件所在时间的虚拟帧,并评估事件到线的正交误差。本技术将符合当前位姿的判断叫做内点,那么内点可以由正交误差是否小于给定的内点阈值来判定,进一步的可以得到每个线簇集的内点率。
[0062]
b、重复步骤s2和s3并计算每个线簇集的内点率,直至所有内点率的平均值超过预设值或达到最大迭代,并将每个线簇集当前的3d线作为最终3d线。
[0063]
简单来说,一旦所有内点率的平均值超过某个阈值或达到最大迭代,就终止外层ransac。
[0064]
为了验证本技术的ransac框架,本技术在两个真实数据上进行了实验。这些数据集由分辨率为346
×
260的davis346事件相机采集。真实值由外部运动跟踪系统提供。第一个数据集实在一架载有davis346的无人机(uav)以45
°
朝下看的方式采集。第二个数据集由小型自动地面车(agv)采集并使用向下看的方式。为使本技术更明显易懂,使用真实线速度与估计线速度之间的方向误差来评估本方法的结果:
[0065][0066]
其中,v
gt
和v
est
分别是真实线速度与估计线速度。如图4a-4b显示了误差的极坐标直方图。分布越接近于0的代表误差越小,可以看出,本技术所提出的方法celc-sac获得了比之前的方法celc-me更准确的结果。
[0067]
综上所述,本技术提供的算法与之前的相比,可以在不论是增加的事件扰动还是对imu给出的角速度添加更高噪声水平时都更加鲁棒,而且在更小的时间间隔条件下也可以取得更高的精度。
[0068]
如图5所示,展示为本技术于一实施例中的基于事件相机的速度感知装置的模块示意图。如图所示,所述装置500包括:
[0069]
获取模块501,用于获取事件相机输出的事件流和imu数据,对事件流的线进行聚类和提取以得到多个线簇集;
[0070]
处理模块502,用于随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件,基于三角点张量推导出celc约束,以得到初始线速度;依据所述初始线速度对每个所述线簇集随机抽取若干个事件,利用基于普吕克坐标的线-线交叉约束以及普吕克坐标自身的约束,求出对应每个所述线簇集的3d线。
[0071]
需要说明的是,上述系统各模块/单元之间的信息交互、执行过程等内容,由于与本技术所述方法实施例基于同一构思,其带来的技术效果与本技术方法实施例相同,具体内容可参见本技术前述所示的方法实施例中的叙述,此处不再赘述。
[0072]
还需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块502可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上处理模块502的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0073]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital signal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0074]
如图6所示,展示为本技术于一实施例中的计算机设备的结构示意图。如图所示,所述计算机设备600包括:存储器601、及处理器602;所述存储器601用于存储计算机指令;
所述处理器602运行计算机指令实现如图1所述的方法。
[0075]
在一些实施例中,所述计算机设备600中的所述存储器601的数量均可以是一或多个,所述处理器602的数量均可以是一或多个,而图6中均以一个为例。
[0076]
于本技术一实施例中,所述计算机设备600中的处理器602会按照如图1所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器601中,并由处理器602来运行存储在存储器601中的应用程序,从而实现如图1所述的方法。
[0077]
所述存储器601可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memorv),例如至少一个磁盘存储器。所述存储器601存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0078]
所述处理器602可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signalprocessing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0079]
在一些具体的应用中,所述计算机设备600的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清除说明起见,在图6中将各种总线都成为总线系统。
[0080]
于本技术的一实施例中,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如图1所述的方法。
[0081]
所述计算机可读存储介质,本领域普通技术人员可以理解:实现上述系统及各单元功能的实施例可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述系统及各单元功能的实施例;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0082]
综上所述,本技术提供的一种基于事件相机的速度感知方法、装置、设备和介质,通过获取事件相机输出的事件流和imu数据,对事件流的线进行聚类和提取以得到多个线簇集;随机抽取若干个所述线簇集并在抽取的各所述线簇集中随机抽取若干个事件,基于三角点张量推导出celc约束,以得到初始线速度;依据所述初始线速度对每个所述线簇集随机抽取若干个事件,利用基于普吕克坐标的线-线交叉约束以及普吕克坐标自身的约束,求出对应每个所述线簇集的3d线。
[0083]
本技术有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0084]
上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包含通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献