三维轨迹平滑处理方法、装置、设备及存储介质与流程

文档序号:19159158发布日期:2019-11-16 01:09阅读:274来源:国知局
三维轨迹平滑处理方法、装置、设备及存储介质与流程

本发明涉及三维技术领域,尤其涉及一种三维轨迹平滑处理方法、装置、设备及计算机可读存储介质。



背景技术:

目前,通过三维技术进行场景的搭建,甚至是一些目标的运动轨迹的记录,也都采用了三维技术,但是,由于噪声干扰的关系,采集到数据可能会存在较大的波动,为了解决这样的问题,目前常用的是对采集到的数据进行降噪(即是平滑)处理,例如数字滤波方法和非线性优化方式,但是,数字滤波容易把高频信息的特征点误认为噪声过滤掉,比如,当目标对象动作太快且幅度较大时,往往在数据降噪过程中容易丢掉这些数据信息,导致一些重要信息丢失从而无法获得准确的三维轨迹;而非线性运算的计算量较大,会占用较多的处理功耗,因此,有必要发展一种能避免上述问题的平滑处理方法。



技术实现要素:

本发明的主要目的在于提供一种三维轨迹平滑处理方法、装置、设备及计算机可读存储介质,旨在解决目前的平滑处理方式会导致数据量丢失的技术问题。

为实现上述目的,本发明提供一种三维轨迹平滑处理方法,该方法包括以下步骤:

跟踪目标三维数据轨迹rc,提取其中待处理的f帧数据信息rc,1、rc,2…rc,f;

根据所述f帧数据信息计算原始轨迹能量,以及构建相应的矩阵p,所述原始轨迹能量为未经过平滑处理的三维数据轨迹能量;

设置阈值snr及初始噪声轨迹能量,根据所述原始轨迹能量以及所述初始噪声轨迹能量计算所述三维数据轨迹的初始信噪比;

当所述初始信噪比大于所述阈值snr时,则对所述矩阵p进行降维估算,根据所述估算对所述三维数据轨迹进行平滑处理,判断经过平滑处理后的信噪比是否大于所述阈值snr;

若所述信噪比大于所述阈值snr,则循环进行所述平滑处理过程;

若所述信噪比不大于所述阈值snr,则循环结束,并输出最终平滑处理后的数据。

在本发明另一实施例中,所述f帧数据信息包括三维空间坐标值。

在本发明另一实施例中,所述矩阵p构建为其中,当f为奇数帧数时,当f为偶数帧数时,

在本发明另一实施例中,所述根据所述f帧数据信息计算原始轨迹能量包括:

根据平均能量计算公式,计算所述原始轨迹能量所述公式为:其中f为帧数,rc,i为第i帧的三维轨迹数据,||||f为frobenius范数。

在本发明另一实施例中,所述设置阈值snr及初始噪声轨迹能量,根据所述原始轨迹能量以及所述初始噪声轨迹能量计算所述三维数据轨迹的初始信噪比包括:

令初始噪声轨迹能量为eps,其中eps为浮点数间距;

计算所述原始轨迹能量值和所述初始噪声轨迹能量值之间的比值,得到所述初始信噪比。

在本发明另一实施例中,所述对所述矩阵p进行降维估算包括:

对所述矩阵p进行奇异值分解,得到l个奇异值以及对应的左奇异向量和右奇异向量;根据所述奇异值以及奇异向量对所述矩阵p进行估算,得到估算值其中,σi为奇异值,ui为左奇异向量,vi为右奇异向量,为vi的转置,l为奇异值的个数,c的初始值为0,每次循环增加1。

在本发明另一实施例中,所述根据所述估算对所述三维数据轨迹进行平滑处理,判断经过平滑处理后的信噪比是否大于所述阈值snr包括:

当f为奇数帧数时,根据对f帧数据进行平滑处理;

当f为偶数帧数时,根据对f帧数据进行平滑处理;

其中,所述即为经过平滑处理后的第i帧的三维轨迹数据,根据所述获得噪声轨迹数据所述rc,i为第i帧的原始三维轨迹数据,则根据平均能量计算公式得到噪声轨迹能量以及经过平滑处理后的三维数据轨迹能量所述经过平滑处理后的信噪比即为

为了解决上述技术问题,本发明还提供了一种装置,该装置包括:

捕捉模块,用于跟踪目标三维数据轨迹;

处理模块,其被配置为:

提取其中待处理f帧数据信息;

根据所述f帧数据信息计算原始轨迹能量,以及构建相应的矩阵p,所述原始轨迹能量为未经过平滑处理的三维数据轨迹能量;

设置阈值snr及初始噪声轨迹能量,根据所述原始轨迹能量以及所述初始噪声轨迹能量计算所述三维数据轨迹的初始信噪比;

当所述初始信噪比大于所述阈值snr时,则对所述矩阵p进行降维估算,根据所述估算对所述三维数据轨迹进行平滑处理,判断经过平滑处理后的信噪比是否大于所述阈值snr;

若所述信噪比大于所述阈值snr,则循环进行所述平滑处理过程;

若所述信噪比不大于所述阈值snr,则循环结束,并输出最终平滑处理后的数据。

在本发明另一实施例中,所述处理模块在提取所述数据点的f帧数据信息时,包括提取所述数据点的三维空间坐标值。

在本发明另一实施例中,所述处理模块在配置构建所述矩阵p时,将所述矩阵p配置为其中,当f为奇数帧数时,当f为偶数帧数时,

在本发明另一实施例中,在配置所述处理模块为计算原始轨迹能量包括:

配置根据平均能量计算公式,计算所述原始轨迹能量所述公式为:其中f为帧数,rc,i为第i帧的三维轨迹数据,||||f为frobenius范数。

在本发明另一实施例中,在配置所述处理模块为设置阈值snr及初始噪声轨迹能量,根据所述原始轨迹能量以及所述初始噪声轨迹能量计算所述三维数据轨迹的初始信噪比包括:

令初始噪声轨迹能量为eps,其中eps为浮点数间距;

计算所述原始轨迹能量值和所述初始噪声轨迹能量值之间的比值,得到所述初始信噪比。

在本发明另一实施例中,在配置所述处理模块为所述对所述矩阵p进行降维估算包括:

配置所述处理模块对所述矩阵p进行奇异值分解,得到l个奇异值以及对应的左奇异向量和右奇异向量;根据所述奇异值以及奇异向量对所述矩阵p进行估算,得到估算值其中,σi为奇异值,ui为左奇异向量,vi为右奇异向量,为vi的转置,l为奇异值的个数,c的初始值为0,每次循环增加1。在本发明另一实施例中,在配置所述处理模块为根据所述估算对所述三维数据轨迹进行平滑处理,判断经过平滑处理后的信噪比是否大于所述阈值snr包括:

当f为奇数帧数时,根据对f帧数据进行平滑处理;

当f为偶数帧数时,根据对f帧数据进行平滑处理;

其中,所述即为经过平滑处理后的第i帧的三维轨迹数据,根据所述获得噪声轨迹数据所述rc,i为第i帧的原始三维轨迹数据,则根据平均能量计算公式得到噪声轨迹能量以及经过平滑处理后的轨迹能量所述经过平滑处理后的信噪比即为

此外,为实现上述目的,本发明还提供了一种三维轨迹平滑处理设备,所述三维轨迹平滑处理设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的三维轨迹平滑处理程序,所述三维轨迹平滑处理程序被所述处理器执行时实现如上述任一项所述的三维轨迹平滑处理方法的步骤。

此外,为实现上述目的,本发明还一种计算机可读存储介质,所述计算机可读存储介质上存储有三维轨迹平滑处理程序,所述三维轨迹平滑处理程序被处理器执行时实现如上述任一项所述的三维轨迹平滑处理方法的步骤。

本发明提供的三维轨迹平滑处理方法,通过计算目标三维数据轨迹中数据点的能量值来确定当前的初始信噪比,并将初始信噪比与预设的信噪比阈值进行比较,若确定需要对数据点进行估算平滑处理,则通过平滑处理后的信噪比与信噪比阈值的对比结果判断是否需要进行循环平滑处理,直至平滑后的信噪比不大于信噪比阈值时停止平滑处理;通过上述的实施能够实时监测平滑处理过程中的信噪比是否达到要求值,避免大幅丢掉轨迹数据中的高频信息,通过与设置的阈值信噪比进行对比,达到一个一个数据进行精细处理的效果,从而避免将高频信息过滤掉。

附图说明

图1为本发明实施例方案涉及的轨迹跟踪设备的运行环境的结构示意图;

图2为本发明提供的三维轨迹平滑处理方法一个实施例的流程示意图;

图3为本发明提供的一种装置的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种轨迹跟踪设备。

参照图1,图1为本发明实施例方案涉及的轨迹跟踪设备运行环境的结构示意图。

如图1所示,该轨迹跟踪设备包括:处理器101,例如cpu,通信总线102、用户接口103,网络接口104,存储器105。其中,通信总线102用于实现这些组件之间的连接通信。用户接口103可以包括显示屏(display)、输入单元比如键盘(keyboard),网络接口104可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器105可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器105可选的还可以是独立于前述处理器101的存储装置。

本领域技术人员可以理解,利用轨迹跟踪设备捕捉跟踪到目标三维轨迹后,其中的处理器101可以对三维轨迹中的数据点实施降噪平滑处理,因此三维轨迹平滑处理装置可以成为轨迹跟踪设备的组成部分。图1中示出的轨迹跟踪设备的硬件结构并不构成对三维轨迹平滑处理装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在实际应用中,所述三维轨迹平滑处理装置可以是作为一个移动终端中的一个插件使用,即是说基于图1的硬件实现的移动终端也可以用于开发实现三维轨迹平滑处理功能,具体是通过本发明实施例提供的三维轨迹平滑处理方法来实现。

如图1所示,作为一种计算机可读存储介质的存储器105中可以包括操作系统、网络通信模块、用户接口模块以及基于跨三维轨迹平滑处理程序。其中,操作系统是管理和控制三维轨迹平滑处理设备和软件资源的程序,支持三维轨迹平滑处理程序以及其它软件和/或程序的运行。

在图1所示的轨迹跟踪设备的硬件结构中,网络接口104主要用于接入网络;用户接口103主要用于连接采集单元,例如摄像头,获取三维轨迹的数据,而处理器101可以用于调用存储器105中存储的三维轨迹平滑处理程序,并执行以下三维轨迹平滑处理方法的各实施例的操作。

在本发明实施例中,对于图1的实现还可以是一种移动终端,该移动终端的处理器通过读取存储在缓存器或者存储单元中的可以实现三维轨迹平滑处理方法的程序代码来对采集到的三维轨迹上的数据点进行平滑(降噪)处理。

基于上述轨迹跟踪设备硬件结构,提出本发明三维轨迹平滑处理方法的各个实施例。

参照图2,图2为本发明实施例提供的三维轨迹平滑处理方法的流程图。在本实施例中,所述三维轨迹平滑处理方法具体包括以下步骤:

步骤s210,跟踪目标三维数据轨迹rc,提取其中待处理的f帧数据信息rc,1、rc,2…rc,f。

在该步骤中,通过相应的设备跟踪到目标对象的运动轨迹之后,输入到计算机中便可形成相应的数据轨迹图,计算机系统可判断出噪声比较多需要进行处理的数据信息,比如其中有f帧数据信息rc,1、rc,2…rc,f需要处理,从而提取出来。其提取的f帧数据信息具体是三维空间坐标值,而这里的跟踪可理解为是一个采集数据的过程,实时记录物体在三维空间中运动所产生的运动记录,其中所述目标三维数据轨迹包括f帧有先后顺序的数据点,三维数据轨迹具体可以通过设备上的摄像头例如动作捕捉相机进行采集,也可以是通过基于三维坐标系搭建而成的建模系统,实时监控采集物体运动的轨迹,该轨迹是由上述数据点的运动形式体现。

在实际应用中,三维数据轨迹具体代表由摄像机拍摄到的每一帧的数据轨迹信息构成的动作变化情况。

步骤s220,根据所述f帧数据信息计算原始轨迹能量,以及构建相应的矩阵p,所述原始轨迹能量为未经过平滑处理的三维数据轨迹能量。

在本实施例中,原始轨迹能量即为未经过平滑处理的最初跟踪得到的三维数据轨迹能量,在计算所述原始轨迹能量时,具体根据平均能量计算公式计算得到,其公式为其中f为帧数,rc,i为第i帧的三维轨迹数据,||||f为frobenius范数。

在该步骤中,在构建矩阵p时,还包括判断需处理的三维数据轨迹的总帧数属于奇数还是偶数,根据判断的结果计算出矩阵的行和列的数量,从而构建出矩阵。

在本实施例中,矩阵p可能是方阵,也可能是接近l阶方阵,具体由三维轨迹的帧数f来决定,矩阵p的行和列的数量分别为l和f-l+1,其中,当f为奇数帧数时,当f为偶数帧数时,由此构建成矩阵p为里面的数据元素即为f帧中的相应的某帧的三维轨迹数据。

步骤s230,设置阈值snr及初始噪声轨迹能量,根据所述原始轨迹能量以及所述初始噪声轨迹能量计算所述三维数据轨迹的初始信噪比。

在本实施例中,所述阈值snr为所期望的最低信噪比阈值,可根据需求设置所期望的snr,因此数据点的信噪比不能小于该阈值snr。在本实施例中,初始化时设置循环次数初始值c=0,可令初始噪声轨迹能量为eps,其中eps为浮点数间距,其为非常小的值。通过计算原始轨迹能量值和初始噪声轨迹能量的比值r,可得到所述初始信噪比,其中本实施例中,由于eps的值非常小,比值r则会较大,因此,一般情况下,初始时r会大于阈值snr。

步骤s240,当所述初始信噪比大于所述阈值snr时,则对所述矩阵p进行降维估算,根据所述估算对所述三维数据轨迹进行平滑处理,判断经过平滑处理后的信噪比是否大于所述阈值snr。当初始信噪比满足大于所述阈值snr的条件时,说明此时可以进一步进行平滑处理以达到所期望的值,只要信噪比不小于阈值snr即可。

在本实施例中,对于对所述矩阵p进行降维估算的过程,具体是通过对所述矩阵p进行奇异值分解,得到l个奇异值以及对应的左奇异向量和右奇异向量;根据所述奇异值以及奇异向量对所述矩阵p进行估算,得到估算值其中,σi为奇异值,ui为左奇异向量,vi为右奇异向量,为vi的转置,l为奇异值的个数,c的初始值为0,每次循环增加1。利用这个估算值可以对三维数据轨迹执行平滑处理操作,且每次平滑后所获得的信噪比会逐渐变小,因为三维数据轨迹经过的平滑次数越多,处理掉的噪声信息就越多,平滑后得到的轨迹能量因而越小,噪声轨迹能量越大。

步骤s250,若所述平滑处理后的信噪比大于所述阈值snr,则循环进行所述平滑处理过程,此时平滑处理后的信噪比仍然满足大于阈值snr时,表明信噪比还没小于所期望的最低值,此时还可以继续对轨迹数据进行平滑处理,以便得到更好的三维效果。

步骤s260,若所述信噪比不大于所述阈值snr,则循环结束,并输出最终平滑处理后的数据。此时表明信噪比已经处于最低值状态,不能继续进行平滑,需要跳出循环操作过程,从而输出最终平滑处理后的每帧数据,该每帧数据则根据帧顺序构成最终平滑后的三维数据轨迹。

在本实施例中,对于步骤s250和s260是用于检验平滑处理后的目标三维数据轨迹是否满足期望条件,即基于调整后的目标三维数据轨迹中的数据点信息计算出信噪比,将该信噪比与预设的信噪比进行比较,若不大于,则认为平滑处理满足条件,反之,则不满足,需要执行再次平滑处理,以此循环,直至平滑处理后的轨迹信噪比不满足条件即可停止。

在本实施例中,循环平滑处理过程采用以下的方式来实现:

当f为奇数帧数时,根据对f帧数据进行平滑处理;

当f为偶数帧数时,根据对f帧数据进行平滑处理;

其中,所述即为经过平滑处理后的第i帧的三维轨迹数据,根据所述获得噪声轨迹数据所述rc,i为第i帧的原始三维轨迹数据,则根据平均能量计算公式得到噪声轨迹能量以及经过平滑处理后的三维数据轨迹能量所述经过平滑处理后的信噪比即为

将该计算得到的信噪比与阈值进行比较,执行步骤s250和s260的过程,从而获得最终的三维轨迹。

上述可组成平滑处理后的轨迹数据信息由此可获得噪声轨迹rn=rc-rs,rc为原始数据轨迹,将噪声轨迹数据信息代入平均能量计算公式即可得到噪声轨迹能量从而求得平滑处理后的信噪比在实际应用中,对于上述的降维估算过程可以通过将其编写成代码的方式进行控制,若需要再次平滑调整时,则将c调整至c+1,即每次循环自动增加1,代表将上述的步骤重新执行一次,但是重新执行的待处理轨迹数据应该是前一次平滑调整后得到的轨迹数据。

在本发明实施例通过根据三维数据轨迹的实时帧能量值和预设的信噪比来控制数据的平滑降噪处理,这样能够实时监测平滑处理过程中的信噪比是否达到要求值,避免大幅丢掉轨迹数据中的高频信息,并且通过与设置的阈值信噪比进行对比,达到一个一个数据进行精细处理的效果,从而避免将高频信息过滤掉。

为了解决上述的问题,本发明实施例还提供了一种装置,该装置为用于实现三维轨迹平滑处理方法的装置,参照图3,图3为本发明实施例提供的装置的功能模块的示意图。在本实施例中,该装置包括:

捕捉模块31,用于跟踪目标三维数据轨迹rc;

处理模块32,其被配置为:

提取其中待处理的f帧数据信息rc,1、rc,2…rc,f;

根据所述f帧数据信息计算原始轨迹能量,以及构建相应的矩阵p,所述原始轨迹能量为未经过平滑处理的三维数据轨迹能量;

设置阈值snr及初始噪声轨迹能量,根据所述原始轨迹能量以及所述初始噪声轨迹能量计算所述三维数据轨迹的初始信噪比;

当所述初始信噪比大于所述阈值snr时,则对所述矩阵p进行降维估算,根据所述估算对所述三维数据轨迹进行平滑处理,判断经过平滑处理后的信噪比是否大于所述阈值snr;

若所述信噪比大于所述阈值snr,则循环进行所述平滑处理过程;

若所述信噪比不大于所述阈值snr,则循环结束,并输出最终平滑处理后的数据。

上述装置中的捕捉模块31可以为动作捕捉摄像机,通过光学式捕捉原理可以跟踪到目标对象的三维运动轨迹,其与处理模块32可以构成完整的动作捕捉系统。

基于与上述本发明实施例的三维轨迹平滑处理方法相同的实施例说明内容,因此本实施例对三维轨迹平滑处理装置的实施例内容不做过多赘述。

在本发明实施例中,还提供了一种轨迹跟踪设备,该设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的三维轨迹平滑处理程序,所述三维轨迹平滑处理程序被所述处理器执行时实现上述实施例提供的任一种三维轨迹平滑处理方法的步骤。

本发明还提供一种计算机可读存储介质。

本实施例中,所述计算机可读存储介质上存储有三维轨迹平滑处理程序,所述三维轨迹平滑处理程序被处理器执行时实现如上述任一项实施例中所述的三维轨迹平滑处理方法的步骤。其中,三维轨迹平滑处理程序被处理器执行时所实现的方法可参照本发明三维轨迹平滑处理方法的各个实施例,因此不再过多赘述。

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

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

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