CN117893651A - 实时数据处理方法及装置 - Google Patents
实时数据处理方法及装置 Download PDFInfo
- Publication number
- CN117893651A CN117893651A CN202311715068.3A CN202311715068A CN117893651A CN 117893651 A CN117893651 A CN 117893651A CN 202311715068 A CN202311715068 A CN 202311715068A CN 117893651 A CN117893651 A CN 117893651A
- Authority
- CN
- China
- Prior art keywords
- state
- measurement
- covariance matrix
- capture data
- dynamic capture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 91
- 238000005259 measurement Methods 0.000 claims abstract description 71
- 238000001914 filtration Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 31
- 206010044565 Tremor Diseases 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 59
- 230000007704 transition Effects 0.000 claims description 14
- 230000008030 elimination Effects 0.000 claims description 13
- 238000003379 elimination reaction Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 4
- 230000026676 system process Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 abstract description 12
- 239000012636 effector Substances 0.000 description 25
- 210000000988 bone and bone Anatomy 0.000 description 23
- 230000009466 transformation Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013016 damping Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 229920002334 Spandex Polymers 0.000 description 1
- 210000001015 abdomen Anatomy 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000001513 elbow Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 210000002832 shoulder Anatomy 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000004759 spandex Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Operations Research (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种实时数据处理方法及装置,其中,该方法包括:实时获取动捕数据;利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;其中,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,包括:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。本申请解决了现有技术中动捕数据未处理导致驱动数字人时动作不逼真的技术问题。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种实时数据处理方法及装置。
背景技术
动捕数据是通过使用运动捕捉技术(Motion Capture,简称MoCap)获得的一种数字化的运动信息。这种技术通常涉及在被测对象的身体上放置传感器、摄像头或其他装置,以捕捉和记录其运动的实时信息。运动捕捉系统可以用于记录人体、动物或物体的运动,以便后续分析、动画制作、虚拟现实(VR)应用等领域。实时动捕数据(实时动作捕捉数据)可能会受到噪音和抖动的影响。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种实时数据处理方法及装置,以至少解决现有技术中动捕数据未处理导致驱动数字人时动作不逼真的技术问题。
根据本发明实施例的一个方面,提供了一种实时数据处理方法,包括:实时获取动捕数据;利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;其中,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,包括:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。
根据本发明实施例的另一方面,还提供了一种实时数据处理装置,包括:获取模块,被配置为实时获取动捕数据;处理模块,被配置为利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;其中,所述处理模块还被配置为:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。
在本发明实施例中,实时获取动捕数据;利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;其中,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,包括:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。通过上述方案,解决了现有技术中动捕数据未处理导致驱动数字人时动作不逼真的技术问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种动捕数据处理系统的结构示意图;
图2是根据本申请实施例的另一种动捕数据处理系统的流程图;
图3是根据本申请实施例的一种实时数据处理方法的流程图;
图4是根据本申请实施例的一种实时动捕数据的处理方法的流程图;
图5是根据本申请实施例的一种滤波和消抖处理的流程图;
图6是根据本申请实施例的一种动捕数据自动化后处理方法的流程图;
图7是根据本申请实施例的一种快调处理的方法的流程图;
图8是根据本申请实施例的一种实时数据的IK处理方法的流程图;
图9是根据本申请实施例的一种自动逆向运动学解算方法的流程图;
图10示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
实施例1
根据本申请实施例,提供了一种动捕数据处理系统,如图1和2所示,该系统包括:动捕装置22、动捕数据处理装置24、快调服务器26、渲染服务器28,其中,动捕装置22包括动捕头盔222、动捕服224和动捕手套226。当然,在其他一些示例中,动捕装置22也可以包括动捕头盔222、动捕服224和动捕手套226中的一个或多个。
动捕数据处理系统中动捕头盔222通过USB数据线与动捕数据处理装置24连接,动捕服224和动捕手套226通过WIFI等无线网络与无线路由器21连接。在其他一些示例中,还可以是动捕头盔222、动捕服224和动捕手套226均通过WIFI等无线网络与无线路由器21连接。
无线路由器21将动捕服224和动捕手套226捕捉到的动捕数据发送给动捕数据处理装置24,动捕头盔222通过USB数据线将捕捉到的动捕数据发送给动捕数据处理装置24。动捕数据处理装置24将处理后的动捕数据再经无线路由器21发送到快调服务器26,快调服务器26对动捕数据进行快调处理,之后通过无线路由器21再发送给渲染服务器28进行实时渲染。
动捕数据处理系统中各设备之间的通信主要有网络通信和数字串行通信,相关的连接线材有六类网线、无线网络、USB数据线、增强型USB数据线、SDI线、串口线等。
动捕头盔222设置有摄像头,其拍摄速度高达60帧/秒,能够捕捉快速的唇部动作、眨眼动作,以及面部的抽动和抖动。此外,本实施例中的动捕头盔222是开放式的结构,这样,空气能够在其中流通,从而使得佩带动捕头盔222的人员能够在进行表演时更加舒适。动捕头盔222需要连接专用的数据线,如果数据线长度不够,还可以通过连接增强型USB延长线延长。
动捕服224由惯性传感器、控制盒、莱卡面料等组成。本实施例中的动捕服224共有17个传感器,能够同时追踪23个不同的身体环节的动作,追踪部位包括双脚、小腿、膝盖、腹部、双手、手肘以及肩膀等。本实施例中的动捕服224通过这样的结构,能够满足运动捕捉和动画设计的严格需求,具有使用简单、穿戴舒适、数据质量高的有益效果。
在其他的实施例中,动捕服224上还可以通过放置可追踪标记来捕捉穿戴动捕服224的人或其他物体的运动轨迹。例如,可以放置反光标记,通过红外相机等追踪装置来跟踪这些标记。
动捕手套226由惯性传感器、弹性面料、手部动作捕捉系统等组成。本实施例中,动捕手套226上设置有12颗高性能的九轴惯性传感器,姿态更新频率为120Hz,采集点数量为12个节点,静态精度为0.02度,动态精度为0.2度,解算频率为约1000Hz,数据延迟为30ms。手部动作捕捉系统实时采集动捕手套226上的惯性传感器感测到的动捕数据,经分析计算后再经由无线路由器21发送给动捕数据处理装置24。
本实施例中的动捕装置22的数量并没有限制,可以为一个也可以为多个,主要视角色的数量而定。
动捕数据处理装置24将在下文详细描述,因此,此处不再赘述。
快调服务器26用于从动捕数据处理装置24处理后的动捕数据中获取动捕装置22中的对象、事件等,并在程序打包后动态调整位置、旋转缩放,还用于触发引擎里已制作好的动画、特效等。
渲染服务器28用于基于快调服务器26处理后的动捕数据实时渲染三维模型。渲染服务器28以大约每秒20到120帧的速率实时计算和显示三维模型。在实时渲染中,以可接受的最低渲染速度(通常为每秒24帧)实现尽可能高的照片级真实感。渲染服务器28除了渲染三维模型之外,还可以模拟镜头光晕、景深或运动模糊等视觉效果。
实施例2
本申请实施例提供了一种实时数据处理方法,在动捕数据处理装置执行,如图3所示,该方法包括以下步骤:
步骤S302,实时获取动捕数据。
系统实时获取动捕数据,例如,使用传感器、摄像头或其他运动捕捉设备来捕捉目标对象的运动信息。这些数据可以包含有关目标对象位置、速度、加速度等方面的信息。
步骤S304,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;
首先,确定用于描述动力学和观测模型的系统的状态方程和测量方程。例如,基于系统状态向量、状态转移矩阵、控制输入矩阵、控制输入向量和系统过程噪声,确定所述状态方程;基于测量向量、测量矩阵和测量噪声,确定所述测量方程。
本实施例通过确定系统的状态方程和测量方程,可以建立一个数学模型,清晰地描述了系统的动力学和观测模型。具体而言,基于系统状态向量、状态转移矩阵、控制输入矩阵、控制输入向量以及系统过程噪声,确定了系统的状态方程,这有助于准确预测系统的未来状态。同时,基于测量向量、测量矩阵和测量噪声,确定了系统的测量方程,提供了从系统状态到实际测量之间的映射关系。这种建模的有益效果在于为后续卡尔曼滤波等实时数据处理方法提供了坚实的基础,使其能够更有效地对实时动捕数据进行滤波、消抖和预测,从而提高动捕数据的准确性和稳定性。
接着,初始化卡尔曼滤波器的状态和协方差矩阵。例如,初始状态估计;初始状态协方差矩阵、过程噪声协方差矩阵和测量噪声协方差矩阵。本实施例通过初始化卡尔曼滤波器的状态和协方差矩阵,系统能够在开始实时数据处理之前建立一个良好的起点。通过设定初始状态估计,提供了对系统状态的初始猜测,以及设置初始状态协方差矩阵、过程噪声协方差矩阵和测量噪声协方差矩阵,以考虑系统状态的不确定性和测量过程中的噪声。这种初始化的有益效果在于为卡尔曼滤波器提供了一个合理的起始状态,使其能够更准确、稳定地跟踪和估计动捕数据的状态变化,有助于提高数据处理的精确性和可靠性。
最后,利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。
1)利用所述系统的状态方程来进行状态预测。例如,获取上一时刻的状态估计、上一时刻的控制输入;基于所述上一时刻的状态估计、所述上一时刻的控制输入、状态转移矩阵、和控制输入矩阵,来进行所述状态预测。本实施例通过利用系统的状态方程进行状态预测,系统能够基于先前时刻的状态估计和控制输入,运用状态转移矩阵和控制输入矩阵来预测当前时刻的系统状态。为实时数据处理提供了关键信息,使系统能够在没有新测量的情况下推断出当前状态。通过获取上一时刻的状态估计和控制输入,结合系统动态的描述,状态预测有助于更准确地估计系统的演变,为后续卡尔曼滤波提供了有力的基础,提高了对动捕数据的预测准确性。
2)利用所述协方差矩阵来进行协方差预测。例如,获取上一时刻的状态协方差矩阵;基于所述上一时刻的状态协方差矩阵、状态转移矩阵和过程噪声协方差矩阵,来进行协方差预测。本实施例通过利用协方差矩阵进行协方差预测,系统能够估计状态变量之间的协方差,并在考虑了上一时刻的状态协方差矩阵、状态转移矩阵和过程噪声协方差矩阵的基础上,预测当前时刻的状态协方差矩阵。利用卡尔曼滤波算法考虑系统动态的不确定性,特别是在没有新测量时,通过预测状态协方差,系统可以更好地估计未知变量的方差和协方差,为实时数据处理提供更准确的信息。这有益于提高系统对状态变量的估计精度,特别是在面临噪声和不确定性的情况下。
3)计算卡尔曼增益,利用测量方程,通过所述卡尔曼增益来修正所述状态估计,同时利用测量噪声来更新所述协方差矩阵。例如,基于预测的状态协方差矩阵、描述状态与测量之间的映射关系的测量矩阵、和测量噪声协方差矩阵,计算卡尔曼增益;基于预测的状态估计、所述卡尔曼增益、实际测量值和测量矩阵,更新状态;基于所述卡尔曼增益、所述测量矩阵、和预测的状态协方差矩阵,更新协方差矩阵。卡尔曼增益的计算考虑了系统的动态性和测量的不确定性,使得系统更有针对性地修正状态估计。通过利用测量方程,卡尔曼增益将实际测量值与预测的状态进行比较,使得系统能够更准确地校正状态估计,尤其在存在测量噪声的情况下。同时,通过更新协方差矩阵,系统能够更好地反映状态估计的不确定性,保持对系统动态的适应性。这一过程有助于提高对实时动捕数据的估计精度,使卡尔曼滤波器更有效地应对噪声和变化,从而在实时数据处理中取得更可靠的结果。
实施例3
实时动捕数据可能受到噪音和抖动的影响。在实时动捕数据中,噪音是指不希望的随机干扰,可能来自传感器误差、环境干扰或设备故障。噪音可能导致运动数据中出现不真实的波动或不准确的运动轨迹,从而影响对实际运动的准确分析和建模。抖动是指运动数据中的快速震动或波动,通常是由于机械震动、传感器抖动或其他运动干扰引起的。抖动可能导致系统检测到不真实的运动变化,使得捕捉到的运动数据不稳定,难以用于需要精确运动信息的应用,例如虚拟现实或生物医学研究。
为了解决上述噪音和抖动干扰的问题,本申请实施例提供了一种实时动捕数据的处理方法,如图4所示,该方法包括以下步骤:
步骤S402,实时获取动捕数据。
系统通过使用传感器、摄像头或其他运动捕捉设备实时获取动捕数据。这些数据可能包括目标对象的位置、速度、加速度等信息。
具体地,选择能够提供足够高的精度和频率的传感器,以确保对目标对象运动的准确捕捉。针对选择的传感器,建立数据采集系统,确保实时地获取目标对象的动捕数据。设置采样率、调整灵敏度等参数,以满足应用的需求。
确定所获取的数据类型,包括但不限于目标的位置、速度、加速度、旋转等。确保数据的实时性,尽量减少延迟,以满足对实时性要求较高的应用场景,如虚拟现实中的实时互动。
步骤S404,噪音和抖动检测。
系统对实时动捕数据进行噪音和抖动的检测。通过分析数据中的波动和震动,可以识别出潜在的噪音和抖动源,包括传感器误差、环境干扰和设备故障。
利用统计学方法对实时动捕数据进行波动分析。计算数据的标准差、方差等统计指标,以检测是否存在异常的波动。使用傅里叶变换或其他频域分析方法,将实时动捕数据转换到频域,以便识别高频成分,这些高频成分可能是噪音或抖动的指标。
实现滑动窗口技术,通过比较窗口内的数据变化幅度,检测是否存在异常的波动。这有助于及时发现和定位噪音和抖动。引入自适应阈值,根据数据的实际变化情况调整噪音和抖动的检测阈值,以适应不同的工作环境和运动模式。
步骤S406,滤波和消抖处理。
基于上述检测结果,系统采用滤波和消抖处理方法。这些滤波方法能够有效地平滑运动数据,去除高频噪音和抖动,从而提高数据的精确性和稳定性。如图5所示,该滤波和消抖处理方法包括以下步骤:
步骤S4062,建立目标对象运动的动力学模型。
例如,建立状态方程和测量方程。这些方程描述了目标对象的运动规律以及传感器的测量过程。
本实施例引入新的参数:目标对象的质量m和外部力Fext,状态向量可以扩展为:
改进的状态方程可以表示为:
Xk+1=A·Xk+B·Uk+wk
其中,A是状态转移矩阵,B是控制输入矩阵,Uk是控制输入向量,wk是过程噪声。新引入的参数可以在状态方程中体现,例如,考虑到牛顿的第二定律:
Fext=m·ak
那么,状态方程可以进一步基于系统状态向量、状态转移矩阵、控制输入矩阵、控制输入向量和系统过程噪声,确定所述状态方程、外部力和目标对象的质量来确定,具体地,调整为:
其中,m是目标对象的质量,F是外部力,是系统外部施加在目标对象上的力,可以包括重力、用户交互力等。
测量方程可以表示为:
Zk=C·Xk+Wk
其中,C是测量矩阵,Wk是测量噪声。这里新引入的参数可以用于更灵活地描述传感器的特性,例如,如果传感器对速度的测量有误差,可以通过调整C矩阵的相应元素进行校正。
本实施例引入目标对象的质量m和外部力Fext,使得状态方程更能反映真实物体的运动特性,有助于理解系统行为。引入外部力允许系统考虑外部因素对目标对象运动的影响,使模型更加灵活和适应多样化的环境。质量m可以通过外部控制来改变,从而增加了对系统的控制能力。这对于实时系统和交互式应用中的实时调整是有益的。
步骤S4064,卡尔曼滤波初始化。
定义状态向量,该向量包含系统中需要估计的状态变量,例如目标对象的位置、速度、加速度等。
初始化卡尔曼滤波器,包括初始状态估计、初始状态协方差矩阵、过程噪声协方差矩阵和测量噪声协方差矩阵。这些参数的初始值可以通过先验知识或历史数据进行估计。
步骤S4066,预测步骤。
根据动力学模型进行预测步骤,使用状态方程和过程噪声协方差矩阵来估计下一时刻的状态和协方差矩阵。
1)状态估计预测。
本实施例引入系统的阻尼比ζ和自然频率ωn,用于更好地描述系统的动态特性。状态向量中加入速度和加速度的缩放因子,以更灵活地调整状态的变化速度。具体地,基于时间步长、阻尼比ζ和自然频率确定状态转移矩阵A,然后,利用改进的状态转移矩阵A进行状态估计预测:
其中,
Δt是时间步长,w1k和w2k是过程噪声。
2)协方差矩阵预测。
本实施例引入过程噪声协方差矩阵中的缩放因子α和β,以更好地调整协方差矩阵的预测:
其中,Q是过程噪声协方差矩阵,I是单位矩阵。
本实施例引入了阻尼比、自然频率、缩放因子等参数,以更好地适应不同系统的动态特性。这些参数可以根据具体应用和实际场景进行调整,使模型更加贴近真实情况。这个改进可以提高对系统动态特性的建模能力,从而提高状态估计的准确性。
步骤S4068,测量更新步骤。
利用测量方程和测量噪声协方差矩阵,通过比较实际测量值和预测值,计算卡尔曼增益,并更新状态估计和协方差矩阵。
跳转回步骤S4066,迭代进行预测和更新步骤,根据实时测量不断调整状态估计,以提高对目标对象运动的准确估计。
设置固定的迭代次数。可以事先确定一个最大迭代次数,当达到这个次数时,跳出迭代,输出卡尔曼滤波器得到的最终估计值,这些值通常是更加平滑、精确和稳定的动捕数据。
通过这一系列步骤,该实时数据处理方法有效地应对了实时动捕数据可能受到的噪音和抖动影响,提供了更为精确和稳定的运动信息,适用于虚拟现实、生物医学研究等需要高质量运动数据的应用场景。
实施例4
本申请实施例提供了一种动捕数据自动化后处理方法,在快调装置上执行,如图6所示,该方法包括以下步骤:
步骤S602,实时从动捕装置获取动捕数据;
步骤S604,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,得到滤波和消抖处理后的所述动捕数据;
具体参见实施例2和实施例3中的处理方法,此处不再赘述。
步骤S606,对滤波和消抖处理后的所述动捕数据进行快调处理,以实现动捕数据自动化后处理。
快调处理的方法如图7所示,包括以下步骤:
步骤S6062,从所述动捕数据中获取所述动捕装置的对象和事件。
解析滤波和消抖处理后的所述动捕数据,捕捉滤波和消抖处理后的所述动捕数据中的对象和事件;将捕捉到的对象和事件与已知的对象和事件进行匹配,以确定识别出的对象和事件类型。
具体地,首先解析动捕数据。对滤波和消抖处理后的动捕数据进行解析,以获取其中的关键信息,如关节角度、位置、速度等。接着,捕捉对象和事件。通过解析后的数据,识别其中可能包含的对象和事件。例如,进行关键点的检测、运动分析,以确定动捕数据中的目标对象和发生的事件。然后,匹配已知的对象和事件。将捕捉到的对象和事件与预先知道的对象和事件进行匹配。这可以通过事先训练好的模型、算法或规则进行匹配,以确定捕捉到的对象和事件的具体类型。最后,确定对象和事件类型。根据匹配结果,确定动捕数据中识别出的对象和事件的类型。例如,对象可能是人体的各个关节,事件可能是特定的动作、手势等。
步骤S6064,动态调整所述对象的位置并旋转缩放所述对象,并触发预先已制作的与所述对象或所述事件相关的动画及特效。
首先,动态调整所述对象的位置并旋转缩放所述对象。例如,根据捕捉到的对象,调整虚拟环境中待渲染对象的位置,确保所述虚拟环境中相应对象与实际动作匹配;根据捕捉到的对象,进行旋转和缩放操作,以反映实际动作的方向和幅度。
1)位置调整。
根据捕捉到的对象信息,调整虚拟环境中待渲染对象的位置。例如,进行平移操作,确保虚拟环境中的对象与实际动作的位置匹配。例如,如果对象是人体的关节点,可以通过调整其在虚拟环境中的位置,使之与捕捉到的实际动作保持一致。
2)旋转和缩放操作。
根据捕捉到的对象信息,进行旋转和缩放操作,以反映实际动作的方向和幅度。例如,如果对象是人体的手臂,可以根据捕捉到的手臂运动方向进行旋转,同时根据手臂的伸缩情况进行缩放,以更准确地反映真实动作。
根据捕捉到的对象信息,进行旋转和缩放操作,以反映实际动作的方向和幅度。例如,如果对象是人体的手臂,可以根据捕捉到的手臂运动方向进行旋转,同时根据手臂的伸缩情况进行缩放,以更准确地反映真实动作。为了避免在虚拟环境中产生不连贯或突兀的效果,可能需要在调整过程中实现平滑过渡,使虚拟环境中的对象运动看起来更加自然。
接着,触发预先已制作的与所述对象或所述事件相关的动画及特效。例如,根据捕捉到的事件,触发与该事件相关的预先制作动画,其中,所述预先制作动画包括人体动作和物体运动;根据所述事件的性质,添加相应的特效,所述特效包括光影和粒子效果。
本实施例能够根据捕捉到的对象信息对虚拟环境中的对象进行实时调整,确保其与实际动作匹配。这对于提高虚拟环境的真实感和用户体验至关重要。
实施例5
本申请实施例提供了一种实时数据的IK处理方法,如图8所示,该方法包括以下步骤:
步骤S802,建立虚拟目标对象的骨骼结构,其中,所述骨骼结构包括:关节的类型、关节参数、和连接关系。
具体地,首先,定义骨骼结构。确定虚拟目标对象的骨骼结构,包括骨骼的数量、类型和排列方式。关节的类型可以包括旋转关节、球形关节等,根据目标对象的运动自由度来选择。然后,设定关节参数。为每个关节设定相关参数,如旋转轴的位置、旋转范围、初始角度等。这些参数会影响骨骼的运动范围和方式。最后,连接关节。定义关节之间的连接关系,确定哪些骨骼通过关节连接在一起。这反映了虚拟目标对象骨架的层次结构和运动链。
步骤S804,获取所述虚拟目标对象的实时的末端执行器的目标位置和方向;
首先,实时从动捕装置获取动捕数据,并对所述动捕数据进行处理。
例如,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,得到滤波和消抖处理后的所述动捕数据,具体地,参见实施例2和3中的方法,此处不再赘述。之后,对滤波和消抖处理后的所述动捕数据进行快调处理,以对所述动捕数据进行自动化后处理。解析处理后的动捕数据,提取有关虚拟目标对象末端执行器的信息,包括位置和方向。这可以通过捕捉滤波和消抖处理后的数据中的关键点或标记来实现。将捕捉到的对象和事件与已知的对象和事件进行匹配。这一步旨在确定虚拟目标对象的末端执行器是哪一个,以及当前发生了什么事件。具体地处理方法参见实施例4,此处不再赘述。
接着,基于处理后的所述动捕数据,来确定所述虚拟目标对象的实时的末端执行器的目标位置和方向。
基于匹配得到的对象和事件信息,确定虚拟目标对象的实时末端执行器的目标位置和方向。具体地,分析匹配到的对象在动捕数据中的相对运动。这包括对象的平移、旋转等运动信息。将相对运动的信息转换为虚拟环境的坐标系。从动捕装置的坐标系转换到虚拟环境坐标系。基于转换后的相对运动信息,计算虚拟目标对象的实时末端执行器在三维空间中的坐标。分析匹配到的事件信息,以确定虚拟目标对象的末端执行器的朝向。包括计算对象的方向向量、角度等。
步骤S806,基于所述目标位置和方向,使用逆向运动学IK算法,通过不断调整所述骨骼结构的关节的角度,来逼近所述末端执行器达到所述目标位置和方向的解。
首先,在所述骨骼结构上添加控制器,所述控制器是一组控制点或关键点,用于控制所述虚拟目标对象的姿势或关节角度;
接着,所述控制器基于所述目标位置和方向,使用逆向运动学IK算法,对所述骨骼结构进行自动逆向运动学解算,计算出每个关节的关节角度或姿势,以使所述末端执行器达到所述目标位置和方向。
例如,可以采用以下公式,计算关节角度:
其中,θi是关节的旋转角度,αi是相邻关节的旋转角度。使用上述公式,可以在给定末端执行器目标位置和方向的情况下,计算出每个关节的角度,从而实现所需的运动。这有助于机器人在复杂的工作环境中执行精确的动作。
在一些实施例中,需要对角度进行限制。例如,基于关节的默认角度D、加权平均值W、误差调整因子E(用于根据误差的大小调整角度的变化)、通过逆向运动学计算得到的关节角度C、关节的最大旋转范围M来调整关节角度:
在虚拟环境中,通过调整关节角度A,可以实现更加自然和流畅的动画效果。这对于虚拟角色的动画表现来说是关键的,使其看起来更逼真。此外,还可以避免关节超出限制。如果虚拟目标对象的骨架有一些关节角度的物理限制,通过调整角度A可以确保在这些限制范围内运动,避免不自然的关节运动。最后,通过优化关节角度,可以使虚拟目标对象的动作更加逼真。这对于需要高度模拟真实动作的虚拟环境,如训练模拟或虚拟现实游戏,具有重要意义。并且,通过调整角度A,可以实现对虚拟目标对象姿态的精确控制。总体而言,虚拟目标对象的逆向运动学问题中调整后的角度可以提高虚拟环境中动画的逼真性和表现力,使得虚拟目标对象在交互和展示方面更具吸引力。
具体地,对所述骨骼结构进行自动逆向运动学解算,计算所述目标位置和当前末端执行器位置之间的误差;使用梯度下降法,计算所述误差的梯度或导数,并基于所述梯度或导数进行关节角度的数值优化,直至满足预设的收敛条件。例如,基于所述梯度或导数,根据数值优化方法计算关节角度的变化量,并基于所述变化量更新所述关节角度;使用更新后的关节角度计算新的目标函数值,检查所述新的目标函数值是否满足设定的收敛条件。
在一些实施例中,还可以利用控制器和标准骨骼动画数据的标准姿势数据,进行自动逆向运动学解算。逆向运动学解算是根据末端效应器(如手或脚)的位置,计算出每个关节的角度,以使其能够到达指定的位置。逆向运动学解算可以使用数学库或专业的动画引擎完成。
如图9所示,具体的自动逆向运动学解算方法包括以下步骤:
步骤S8062,根据所述虚拟目标对象的骨架,计算出所述虚拟目标对象的骨架的末端效应器的位置和姿势。
通过正向运动学计算,根据虚拟目标对象的骨架结构,逐步计算每个骨骼的世界变换矩阵,从而准确获取末端效应器的位置和姿势。具体而言,该过程从根部开始,按照骨骼的层次结构依次遍历每个骨骼,计算其相对于父骨骼的变换矩阵,得到最终的末端效应器位置和姿势。
通过上述方法,计算出所述虚拟目标对象的骨架的末端效应器的位置和姿势,可以进一步地计算每个关节的角度,以使其能够到达指定的位置。通过计算末端效应器的位置和姿势,可以提高逆向运动学解算的精度和效率,并确保动画的连贯性和自然性。
步骤S8064,将标准骨骼动画数据的末端效应器的位置和姿势转换到所述虚拟目标对象的坐标系下。
首先,为虚拟目标对象的每个骨骼构建变换矩阵。对于每个虚拟目标对象的骨骼,构建一个变换矩阵。该变换矩阵包含了骨骼的平移、旋转和缩放信息。
然后,计算骨骼的最终变换矩阵。对于每个骨骼,通过其父骨骼的变换矩阵,计算该骨骼的最终变换矩阵。这可以通过将骨骼的平移、旋转和缩放信息转换为一个变换矩阵T,然后将该骨骼的父骨骼的变换矩阵P与变换矩阵T相乘得到。
接着,将标准骨骼动画数据的位置和姿态转换到虚拟目标对象坐标系下。对于标准骨骼动画数据中的每个骨骼,通过该骨骼的变换矩阵,计算其在虚拟目标对象坐标系下的位置和姿态。这包括将骨骼在标准骨骼动画数据中的位置和姿态转换为一个变换矩阵S。将骨骼的变换矩阵M与变换矩阵S相乘,得到该骨骼在虚拟目标对象坐标系下的位置和姿态。
最后,转换所有骨骼的位置和姿态。对标准骨骼动画数据中的所有骨骼重复上述计算过程,将它们的位置和姿态都转换为虚拟目标对象坐标系下的位置和姿态。
通过这一过程,完成了将标准骨骼动画数据的末端效应器位置和姿势精确地映射到虚拟目标对象坐标系下的操作。这确保了后续逆向运动学解算过程中,虚拟目标对象能够以高精度和自然的方式执行动作,同时对复杂的骨骼层次结构和动画效果也能够处理得很好。
本实施例提供的上述方法计算效率高,因为可以对每个骨骼的变换矩阵进行缓存,以便在计算过程中使用。并且,可以精确地计算出骨骼的末端效应器的位置和姿势,并且可以处理复杂的骨骼层次结构和动画效果。此外,该方法还适用于各种不同类型的虚拟目标对象和骨骼动画数据,并且可以轻松地集成到现有的动画引擎和游戏引擎中。
步骤S8066,计算所述虚拟目标对象的骨架的末端效应器的位置和姿势与转换后的所述标准骨骼动画数据的末端效应器位置和姿势之间的误差。
在计算每个关节的角度时,可以使用关节的限制(例如旋转范围)和加权平均值。采用上述方法计算出的加权平均值可以更好地控制每个关节的运动范围,使得关节在运动时能够更加自然和流畅。
对于所述虚拟目标对象的骨架的每个关节,基于相应的所述加权平均值,计算所述虚拟目标对象的骨架的末端效应器的位置和姿势。
每个关节的运动范围可以通过定义关节的最小角度、最大角度和默认角度来实现。最小角度和最大角度定义了关节的旋转范围,而默认角度定义了关节在初始状态下的位置。
在运动过程中,可以使用加权平均值来控制关节的运动范围。例如,如果加权平均值为0.5,则关节的旋转范围将限制在默认角度的50%之内。如果加权平均值为1,则关节将可以完全自由地旋转。
本实施例中,使用三次插值来计算关节的实际角度。具体来说,可以使用默认角度、最小角度和最大角度来定义三个关键帧,然后使用加权平均值来计算中间的角度。这样可以确保关节在运动过程中的角度变化是平滑的。
另外,还可以使用其他方法来控制关节的运动范围,例如使用角度限制器(angleclamping)或三角函数来定义关节的运动范围,即位置(关机角度)和姿势。
实施例6
本申请实施例提供了一种实时数据的IK处理装置,包括:构建模块,被配置为建立虚拟目标对象的骨骼结构,其中,所述骨骼结构包括:关节的类型、关节参数、和连接关系;获取模块,被配置为获取所述虚拟目标对象的实时的末端执行器的目标位置和方向;处理模块,被配置为基于所述目标位置和方向,使用逆向运动学IK算法,通过不断调整所述骨骼结构的关节的角度,来逼近所述末端执行器达到所述目标位置和方向的解。
本申请实施例提供了一种动捕数据自动化后处理装置,包括:获取模块,被配置为实时从动捕装置获取动捕数据;处理模块,被配置为利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,得到滤波和消抖处理后的所述动捕数据;后处理模块,被配置为对滤波和消抖处理后的所述动捕数据进行快调处理,以实现动捕数据自动化后处理。
本申请实施例提供了一种实时数据处理装置,包括:获取模块,被配置为实时获取动捕数据;处理模块,被配置为利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;其中,所述处理模块还被配置为:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。
需要说明的是:上述实施例提供装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与装置相应的方法实施例属于同一构思,其具体实现过程详见方法实施例,此处不再赘述。
实施例7
图10示出了适于用来实现本公开实施例的电子设备的结构示意图。需要说明的是,图10示出的电子设备仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,该电子设备包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的方法和装置中限定的各种功能。在一些实施例中,电子设备还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现上述方法实施例的各个步骤等。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种实时数据处理方法,其特征在于,包括:
实时获取动捕数据;
利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;
其中,利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,包括:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。
2.根据权利要求1所述的方法,其特征在于,确定用于描述动力学和观测模型的系统的状态方程和测量方程,包括:
基于系统状态向量、状态转移矩阵、控制输入矩阵、控制输入向量和系统过程噪声,确定所述状态方程;
基于测量向量、测量矩阵和测量噪声,确定所述测量方程。
3.根据权利要求2所述的方法,其特征在于,初始化卡尔曼滤波器的状态和协方差矩阵,包括:
初始状态估计;
初始状态协方差矩阵、过程噪声协方差矩阵和测量噪声协方差矩阵。
4.根据权利要求3所述的方法,其特征在于,利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,包括:
利用所述系统的状态方程来进行状态预测,并利用所述协方差矩阵来进行协方差预测;
计算卡尔曼增益,利用测量方程,通过所述卡尔曼增益来修正所述状态估计,同时利用测量噪声来更新所述协方差矩阵。
5.根据权利要求4所述的方法,其特征在于,利用所述系统的状态方程来进行状态预测,包括:
获取上一时刻的状态估计、上一时刻的控制输入;
基于所述上一时刻的状态估计、所述上一时刻的控制输入、状态转移矩阵、和控制输入矩阵,来进行所述状态预测。
6.根据权利要求4所述的方法,其特征在于,利用所述协方差矩阵来进行协方差预测,包括:
获取上一时刻的状态协方差矩阵;
基于所述上一时刻的状态协方差矩阵、状态转移矩阵和过程噪声协方差矩阵,来进行协方差预测。
7.根据权利要求4所述的方法,其特征在于,计算卡尔曼增益,利用测量方程,通过所述卡尔曼增益来修正所述状态估计,同时利用测量噪声来更新所述协方差矩阵,包括:
基于预测的状态协方差矩阵、描述状态与测量之间的映射关系的测量矩阵、和测量噪声协方差矩阵,计算卡尔曼增益;
基于预测的状态估计、所述卡尔曼增益、实际测量值和测量矩阵,更新状态;
基于所述卡尔曼增益、所述测量矩阵、和预测的状态协方差矩阵,更新协方差矩阵。
8.一种实时数据处理装置,其特征在于,包括:
获取模块,被配置为实时获取动捕数据;
处理模块,被配置为利用卡尔曼滤波方法来对所述动捕数据进行滤波和消抖处理,以实时处理所述动捕数据;
其中,所述处理模块还被配置为:确定用于描述动力学和观测模型的系统的状态方程和测量方程;初始化卡尔曼滤波器的状态和协方差矩阵;利用所述系统的状态方程和测量方程以及所述状态和协方差矩阵来对所述动捕数据进行预测和更新处理,以得到所述动捕数据的估计值。
9.一种电子设备,其特征在于,包括:
存储器,被配置为存储计算机程序;
处理器,被配置为在所述程序运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,在所述程序运行时,使得计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311715068.3A CN117893651A (zh) | 2023-12-13 | 2023-12-13 | 实时数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311715068.3A CN117893651A (zh) | 2023-12-13 | 2023-12-13 | 实时数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117893651A true CN117893651A (zh) | 2024-04-16 |
Family
ID=90651407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311715068.3A Pending CN117893651A (zh) | 2023-12-13 | 2023-12-13 | 实时数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117893651A (zh) |
-
2023
- 2023-12-13 CN CN202311715068.3A patent/CN117893651A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11337652B2 (en) | System and method for measuring the movements of articulated rigid bodies | |
JP2021103564A (ja) | 仮想オブジェクト駆動方法、装置、電子機器及び可読記憶媒体 | |
CN109064487B (zh) | 一种基于Kinect骨骼节点位置追踪的人体姿势比较方法 | |
Zhao et al. | Robust realtime physics-based motion control for human grasping | |
Aristidou et al. | Real-time marker prediction and CoR estimation in optical motion capture | |
JP5555207B2 (ja) | 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム | |
WO2010095191A1 (ja) | 情報処理装置および情報処理方法 | |
CN106600668A (zh) | 一种与虚拟角色进行互动的动画生成方法、装置及电子设备 | |
CN110076772A (zh) | 一种机械臂的抓取方法及装置 | |
CN116420170B (zh) | 姿势的消歧 | |
US11861777B2 (en) | Using a determined optimum pose sequence to generate a corresponding sequence of frames of animation of an animation character | |
CN112580582B (zh) | 动作学习方法、装置、介质及电子设备 | |
CN113496168B (zh) | 手语数据采集方法、设备、存储介质 | |
US20230290101A1 (en) | Data processing method and apparatus, electronic device, and computer-readable storage medium | |
JP7205631B2 (ja) | 情報処理装置、制御方法及びプログラム | |
CN117893651A (zh) | 实时数据处理方法及装置 | |
CN117576163A (zh) | 动捕数据自动化后处理方法及装置 | |
CN117765139A (zh) | 实时数据的ik处理方法及装置 | |
CN116248920A (zh) | 虚拟角色直播处理方法、装置及系统 | |
CN113240044B (zh) | 一种基于多Kinect的人体骨骼数据融合评价方法 | |
CN114756130A (zh) | 一种手部虚实交互系统 | |
KR20150025462A (ko) | 상호작용하는 캐릭터를 모델링 하는 방법 및 장치 | |
Chen et al. | Differentiable Discrete Elastic Rods for Real-Time Modeling of Deformable Linear Objects | |
CN112884887B (zh) | 三维建模方法和装置 | |
Kjær‐Nielsen et al. | Ring on the hook: Placing a ring on a moving and pendulating hook based on visual input |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Building 60, 1st Floor, No.7 Jiuxianqiao North Road, Chaoyang District, Beijing 021 Applicant after: Shiyou (Beijing) Technology Co.,Ltd. Address before: 4017, 4th Floor, Building 2, No.17 Ritan North Road, Chaoyang District, Beijing Applicant before: 4U (BEIJING) TECHNOLOGY CO.,LTD. Country or region before: China |