首页> 中国专利> 一种对象模型构建方法、装置及电子设备

一种对象模型构建方法、装置及电子设备

摘要

本发明实施例提供一种对象模型构建方法、装置及电子设备,可以获取连续采集的每帧图像中目标对象的关键点组,并且基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息,以及基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息和位置信息进行滤波,以及根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型,由于可以根据各帧图像的包含的形状信息、滤波后姿态信息和滤波后位置信息构建目标对象的对象模型,因此构建目标对象的对象模型所使用的信息相比于比使用单帧的信息更多,从而使得构建的对象模型的精确率更高。

著录项

  • 公开/公告号CN112837389A

    专利类型发明专利

  • 公开/公告日2021-05-25

    原文格式PDF

  • 申请/专利权人 北京爱奇艺科技有限公司;

    申请/专利号CN202110136906.6

  • 发明设计人 刘思阳;

    申请日2021-02-01

  • 分类号G06T11/00(20060101);G06T5/00(20060101);G06T7/73(20170101);

  • 代理机构11413 北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人项京;马敬

  • 地址 100080 北京市海淀区海淀北一街2号鸿城拓展大厦11层1101

  • 入库时间 2023-06-19 11:05:16

说明书

技术领域

本发明涉及数据处理技术领域,特别是涉及一种对象模型构建方法、装置及电子设备。

背景技术

对象模型重建是计算机视觉中一个比较复杂的任务,其可以应用到多个业务场景,如:虚拟形象、交互游戏等业务场景。其中,上述对象模型可以是人体模型、车辆模型等等。下面以人体模型为例进行说明。

现有技术中,当需要对目标人物进行人体模型重建时,一般需要获得单帧包含有目标人物的图片,然后基于上述图片的图片内容,构建适用于上述图片所反映场景的人体模型。

发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

由于拍摄角度、光线等因素的影响,单帧图片可能会存在图片内容模糊不清晰的现象,而且单帧图片包含的信息较少,所以采用上述方式构建的对象模型精确率低。

发明内容

本发明实施例的目的在于提供一种对象模型构建方法,以实现提高构建的对象模型的精确率。具体技术方案如下:

第一方面,本发明实施例中提供一种对象模型构建方法,包括:

获取针对目标对象进行连续采集的每帧图像中包含的所述目标对象的关键点组;

基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息;

基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息进行滤波,得到滤波后姿态信息,并基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息;

根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型。

第二方面,本发明实施例中提供一种对象模型构建装置,包括:

关键点组获取模组,用于获取针对目标对象进行连续采集的每帧图像中包含的所述目标对象的关键点组获取连续采集的每帧图像中目标对象的关键点组;

信息确定模组,用于基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息;

信息滤波模组,用于基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息进行滤波,得到滤波后姿态信息,并基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息进行滤波,得到滤波后姿态信息,并对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息;

模型构建模组,用于根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型。

第三方面,本发明实施例中提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。

本发明实施例提供的对象模型构建方法、装置及电子设备,可以获取多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的对象模型精确率更高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明一个实施例提供的第一种对象模型构建方法的流程图。

图2为本发明一个实施例提供的第二种对象模型构建方法的部分流程图。

图3为本发明一个实施例提供的第三种对象模型构建方法的部分流程图。

图4A为本发明一个实施例提供的关键点关系图。

图4B为本发明一个实施例提供的关键点实际分布图。

图5为本发明一个实施例提供的第四种对象模型构建方法的部分流程图。

图6为本发明另一个实施例提供的对象模型构建方法的流程图。

图7为本发明一个实施例提供的滤波方法的流程图。

图8为本发明一个实施例提供的滤波参数确定方法的流程图。

图9为本发明一个实施例提供的数差值确定示意图。

图10为本发明另一个实施例提供的滤波方法的流程图。

图11为本发明一个实施例提供的滤波方法的流程图示意图。

图12为本发明一个实施例提供的对象模型构建装置的结构示意图。

图13为本发明一个实施例提供的电子设备的结构示意图。

具体实施方式

本发明实施例提供了一种对象模型构建方法、装置及电子设备,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

在本发明的一个实施例中,如图1所示,提供一种对象模型构建方法,包括:

S101:获取针对目标对象进行连续采集的每帧图像中包含的目标对象的关键点组。

S102:基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息。

S103:基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息进行滤波,得到滤波后姿态信息,并基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息。

S104:根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型。

在本发明实施例提供的如图1所示的对象模型构建方法中,由于可以根据各帧图像的包含的形状信息、滤波后姿态信息和滤波后位置信息构建目标对象的对象模型,因此构建目标对象的对象模型所使用的信息相比于比使用单帧的信息更多,从而使得构建的对象模型的精确率更高。

上述目标对象可以图像中所包含的人体、动物、车辆、建筑物等,以下以人体为例对本发明实施例提供的对象模型构建方法进行说明,本发明实施例所提及的人体并不对本发明实施例起限定作用。

可选的,针对目标对象进行连续采集的每帧图像可以为实时采集到的视频流中的每帧图像,也可以是视频中包含目标对象的每帧图像,当需要对视频所包含的目标对象进行模型构建时,可以逐帧的读取视频中的图像。

可选的,图像中的目标对象为图像中所包含的各对象中属于预设类型的对象。可选的,当图像中包含有多个属于预设类型的对象时,目标对象可以为多个对象中所占比例最大的对象,或被预先标记的对象。

上述获取目标对象的关键点组可以通过关键点识别模型进行,不同类型的对象所使用的关键点识别模型是不同的,对于人体而言,识别人体的关键点识别模型可以为多种人体关键点识别算法,包括:OpenPose(开放式)、AlphaPose (阿尔法布斯)、CPN(CascadedPyramid Network,级联金字塔网络)和CPM (Convolutional Pose Machines,卷积姿势机)等。

对于人体而言,其通过人体关键点识别模型可以获取多个关键点,每个人体关键点可以使用二维坐标表示。

示例性的,通过人体关键点识别模型可以获取24个关键点,关键点组J为:

J={(x

其中,x

针对上述步骤S102,针对每帧图像和该帧的关键点组,输入至人体重建模型,从而得到该帧图像中目标对象的姿态信息、形状信息和位置信息。

在一个实施例中,为了提升人体重建模型的处理效率,在将图像输入至人体重建模型之前,可以图像进行裁剪、缩放等操作,其中,裁剪是为了增加目标对象在图像中的占比,缩放是为了将剪裁后的图像调整至预设的图像大小。

示例性的,向对图像进行裁剪、再对裁剪后的图像进行缩放,最后将缩放后的图像输入至人体重建模型。

一个示例中,关键点组为:J={(x

首先,需要通过关键点组中每个关键点确定出剪裁框,再基于剪裁框对图像进行剪裁。

其中,剪裁框可以使用对角坐标的方式进行标识,设最终得到的剪裁框使用对角点A和点B标识,为{(x

h

x

x

y

y

其中,x

确定出剪裁框后,按照剪裁框对图像进行剪裁,得到剪裁后的图像。

可选的,在得到剪裁后的图像后,进一步的还可以对剪裁后的图像进行缩放,为了方便人体重建模型更有效率的对图像进行处理,每一种人体重建模型需要输入固定长和宽的图像,设人体重建模型所需的尺寸为:w×h,其中,w为所需图像的长,h为所需图像的宽。剪裁后的图像所需的缩放倍数s

按照缩放倍数对剪裁得到的图像进行缩放,得到缩放后图像。

进一步的,将缩放后图像输入至人体重建模型,得到每帧缩放后图像中目标对象的姿态信息、形状信息和位置信息。

由于对图像进行缩放并不会影响姿态信息和形状信息,但会影响位置信息,因此,需要将位置信息根据缩放倍数、剪裁框坐标和缩放后尺寸进行还原。

设得到的位置信息包括人体X轴位移o

其中,o′

针对上述步骤S103,为了尽可能的消除所得到的姿态信息、位置信息中所包含的噪音,可以对姿态信息和位置信息进行滤波,以防止由于姿态信息中噪音过多导致重建后的对象模型存在关节的旋转抖动、肢体动作不连贯等问题,和防止由于位置信息中噪音过多导致重建后的对象模型的空间位置存在抖动的问题。

在一个实施例,为了更好对姿态信息和位置信息进行滤波,可以使用关键点组中所携带的滤波信息对姿态信息和位置信息进行滤波。

针对上述步骤S104,可以根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型。

在本发明的第二种实施例中,如图2所示,上述步骤S104,包括:

S201:根据各帧图像的形状信息和滤波后姿态信息,生成目标对象的预构建模型。

本步骤中,可以将每帧图像的形状信息和滤波后姿态信息输入至SMPL (SkinnedMulti-Person Linear Model,蒙皮多人线性模型)模型,得到人体模型,作为目标对象的预构建模型。

S202:将预构建模型调整至滤波后位置信息所指示的位置区域内,得到目标对象的对象模型。

本步骤中,在得到预构建模型后,为了使得所得到的预构建象模型与图像中目标对象进行贴合,可以根据滤波后位置信息,将对象模型调整至与各帧图像所反映场景相匹配的位置。即将预构建模型调整至滤波后位置信息所指示的位置区域内,得到目标对象的对象模型。举例而言,当各帧图像为对目标房屋中间位置的人物进行连续采集所得到的图像时,再基于形状信息、状态信息生成预构建模型后,需要将该预构建模型调整至滤波后位置信息所指示的目标房屋中间的区域,以实现模型与图像中目标对象的贴合

在本发明实施例提供的如图2所示的对象模型构建方法中,由于获取多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的对象模型精确率更高。

在本发明的第三种实施例中,如图3所示,上述步骤S103,包括:

S301:基于各帧图像中目标对象的姿态信息,构建与每一类型的关键点对应的姿态信息序列,作为待滤波时间序列,姿态信息序列中的姿态信息作为待滤波时间序列中的数值。

本步骤中,举例而言,各帧图像包含图像1、图像2和图像3,其中图像1包含关键点11和关键点12,对应的姿态信息为信息11和信息12,图像2包含关键点21和关键点22,对应的姿态信息为信息21和信息22;图像3包含关键点31和关键点32,对应的位置信息为信息31和信息32。其中,关键点11、关键点21和关键点31为第一类关键点,关键点12、关键点22和关键点32为第二类关键点。针对第一类关键点,构建的姿态信息序列为{信息11、信息21、信息31},而针对第二类关键点,构建的姿态信息序列为{信息12、信息22、信息32}。

上述姿态信息可以为任意反映目标对象空间姿态的信息,如可以关键点组中各个关键点的轴角(Axis-Angle),也可以是关键点组中各个关键点的全局旋转信息。

在一个实施例中,当姿态信息为关键点组中各个关键点的轴角时,可以将各个关键点的轴角转换为各个关键点的全局旋转信息。

示例性的,关键点组中包含有24个关键点,每个关键点的轴角可以用1×3 维的轴角矩阵表示,则每帧图像中目标对象的姿态信息为24×3维的姿态信息矩阵。且轴角为使用Local(局部)的表示方法,24个关键点中包含有1个起始关键点,其他每个关键点都有一个父关键点,一个关键点的轴角信息反映其与父关键点的位置关系。如图4A为本发明实施例提供的关键点关系图,包含24 个人体的关键点,图4B本发明实施例提供的关键点实际分布图。

示例性的,当需要计算“L_Knee”关键点的全局旋转矩阵时,则需要将“L_Knee”关键点的轴角矩阵乘上它到“Pelvis”关键点之间关键点的轴角矩阵即可,如下式所示:

其中,

或者,将该点的旋转矩阵乘以其父节点的全局旋转矩阵,如下式所示:

其中,

在确24个关键点的全局旋转信息后,也就是确定出24个3×3的全局旋转信息后,针对每个3×3矩阵,将各帧图像所确定每一类型的关键点3×3矩阵,构建与每一类型的关键点对应的姿态信息序列,作为待滤波时间序列。

也可以针对每一类型的关键点3×3矩阵中包含的9个数值中每个数值都构建一个待滤波的数值矩阵。

S302:针对每一类型的关键点,从各帧图像中目标对象的关键点组,选取属于该类型的关键点,并按照每帧图像采集的先后顺序,对所提取的关键点进行排序,构建该类型的关键点序列,作为与属于该类型的关键点对应的待滤波时间序列的相关序列,关键点序列中的关键点作为相关序列中的数值。

本步骤中,以上述示例进一步进行说明,对于图像1、图像2和图像3而言,采集顺序分别为先采集图像1、再采集图像2、最后采集图像3,则针对第一类关键点,选取属于该类型的关键点分别关键点11、关键点21和关键点31,则按照图1、图2和图3的采集顺序,对关键点11、关键点21和关键点31进行排序得到{关键点11、关键点21、关键点31},得到第一类关键点的关键点序列{关键点11、关键点21、关键点31}。作为待滤波时间序列{信息11、信息21、信息31} 的相关序列,同理,构建{关键点12、关键点22、关键点32},作为待滤波时间序列{信息12、信息22、信息32}的相关序列。

可选的,在一种实现方式中,由于每个关键点由X轴坐标和Y轴坐标表示,则针对每一类型的关键点构建出由X轴坐标和/或由Y轴坐标组成的X轴序列和/ 或Y轴序列。可以分别作为姿态信息序列的相关序列。

S303:基于相关序列,对所构建待滤波时间序列中每一数值进行滤波,得到滤波后姿态信息。

本步骤中,当每一类型的关键点对应的姿态信息序列对应有两个相关序列后,可以分别按照每个相关序列对姿态信息序列进行滤波,做好取均值即可。

在本发明实施例提供的如图3所示的对象模型构建方法中,由于获取多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的对象模型精确率更高,并且,由于每帧图像中目标对象的姿态信息是基于关键点组来确定的,因此,姿态信息相比于关键点所包含的噪音更多,从而关键点所携带的滤波信息比姿态信息携带的滤波信息更准确,因此,可以提高对姿态信息进行滤波的效果。

在本发明的第四种实施例中,如图5所示,上述步骤S103,包括:

S501:对每个图像中目标对象的关键点组中各关键点的坐标进行取平均,得到每个图像中目标对象的重心的坐标。

本步骤中,可以计算出每个图像中目标对象的重心,可选的,设重心的坐标为(x

S502:提取各帧图像中目标对象的位置信息所表征坐标,并按照每帧图像采集的先后顺序,对所提取的坐标进行排序,得到第一坐标序列,作为待滤波坐标。

本步骤中,其构建方式与S302相似,在此不再赘述。可选的,在一种实现方式中,每帧图像中目标对象的位置信息为(o′

S503:提取采集的各图像中目标人物的重心的坐标,并按照每帧图像采集的先后顺序,对所提取的坐标进行排序,得到第二坐标序列,作为待滤波坐标的相关序列。

本步骤中,其构建方式与S302相似,在此不再赘述。可选的,在一种实现方式中,每帧图像中目标对象的重心为(x

S504:基于所构建待滤波时间序列的相关序列,对所构建待滤波时间序列中每一数值进行滤波。

本步骤中,X轴待滤波时间序列的相关序列为X轴相关序列,Y轴待滤波时间序列的相关序列为Y轴相关序列,即根据X轴相关序列对X轴待滤波时间序列进行滤波,根据Y轴相关序列对Y轴待滤波时间序列进行滤波。

在本发明实施例提供的如图5所示的对象模型构建方法中,由于获取多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的对象模型精确率更高,并且,由于每帧图像中目标对象的姿态信息是基于关键点组来确定的,因此,位置信息相比于通过关键点计算得到的重心所包含的噪音更多,从而重心所携带的滤波信息比位置信息携带的滤波信息更准确,因此,可以提高对位置信息进行滤波的效果。

在本发明的一个实施例中,如图6所示,还提供一种人体模型构建方法的流程示意图,当需要构建人体模型时,输入连续采集包含目标人体的多帧图像,通过关键点识别模型对输入的图像进行关键点识别,得到关键点组。通过关键点组确定人体的剪裁框,对图像进行剪裁,得到剪裁图像,并将剪裁图像输入至人体重建模型,输出人体的姿态信息、形状信息和位置信息,同时基于关键点组通过滤波算法对姿态信息进行滤波,得到滤波后姿态信息,并通过关键点组得到人体的重心,再基于重心通过滤波算法对位置信息进行滤波得到滤波后位置信息,再将形状信息和滤波后位置信息输入至SMPL模型,得到预建模型,再通过滤波后位置信息对预建模型进行调整得到人体模型。

在本发明实施例提供的如图6所示的对象模型构建方法中,由于获取人体的多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出人体的姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于人体的多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的人体模型精确率更高。

在本发明的一个实施例中,如图7所示,提供一种滤波方法,以对上述待滤波时间序列进行滤波,包括:

S701:针对相关序列中的每个序列数值,根据相关序列中其他序列数值与该序列数值的采样时间差和数值差,确定该序列数值的滤波参数,作为待滤波时间序列中与该序列数值采样时间相同的序列数值的滤波参数。

其中,上述待滤波时间序列可以为每一关键点类型对应的姿态信息序列,或目标对象的第一坐标序列,既上述实施例所提及的X轴待滤波时间序列和Y 轴待滤波时间序列。

可选的,在一种实现方式中,当带滤波时间序列为姿态信息序列时,相关序列为该姿态信息序列对应的关键点序列。

可选的,在另一种实现方式中,当带滤波时间序列为X轴待滤波时间序列时,其相关序列为X轴相关序列;当带滤波时间序列为Y轴待滤波时间序列时,其相关序列为Y轴相关序列。

为了表述方便,针对上述姿态信息序列、X轴待滤波时间序列和Y轴待滤波时间序列以待滤波时间序列表述,其实现方式一致。

可选的,待滤波时间序列可以使用时间序列X表示,记为:

X={x

上式中,l为时间序列X所包含的序列数值的个数,x

为了表述方便,在本发明实施例中,将待滤波时间序列的相关序列使用时间序列B表示,记为:

B={b

上式中,l为时间序列B所包含的序列数值的个数,b

在一个实施例中,时间序列X和时间序列B中序列号相同的序列数值的采样时间相同。

可选的,在执行步骤S702之前,可以先对相关序列进行弱滤波,其中,弱滤波为滤波强度小于预设强度阈值的滤波处理,以进一步的降低相关序列所包含的噪声,从而进一步的提高对待滤波时间序列进行滤波的效果。

S702:根据待滤波时间序列中每个序列数值的滤波参数,对待滤波时间序列进行滤波。

相关序列中的序列数值即为上述b

可选的,针对相关序列中的每个序列数值,可以计算除该序列数值以外的每个序列数值与该序列数值的数值差和采样时间差的倒数的乘积,作为该序列数值的一个滤波参数;还可以先计算出每个序列数值与邻近数值的差值,当需要确定相关序列中一个序列数值的滤波参数时,可以根据其他序列数值与邻近数值的差值、和该序列数值与其他数值的数值差进行确定。

当确定出相关序列中每个序列数值的滤波参数后,可以将确定出的序列数值的滤波参数作待滤波时间序列中与该序列数值采样时间相同的序列数值的滤波参数,并进一步的,根据待滤波时间序列中每个序列数值的滤波参数,对待滤波时间序列进行滤波。

本发明实施例提供的如图7所示的滤波方法,可以通过与待滤波时间序列存在相关性、且包含的噪声少于待滤波时间序列的相关序列的滤波参数对待滤波时间序列进行滤波,由于相关序列包含的噪声少于待滤波时间序列,从而相关序列携带的滤波信息比待滤波时间序列携带的滤波信息更准确,因此,可以提高对待滤波时间序列进行滤波的效果。

在本发明的一个实施例中,针对步骤S702,可以按照如图8所示方式确定相关序列中每个序列数值的滤波参数,如图8所示,为本发明的一个实施例提供的滤波参数确定方法,包括:

S801:从相关序列中选择序列号与第一序列数值的序列号之间的序列号差值的绝对值小于预设差值的序列数值,作为第二序列数值;其中,第一序列数据为待确定滤波参数的序列数值。

本步骤中,预设差值可以为根据实际需求和经验确定的,如可以为3,当相关序列中第一序列数值的序列号为4时,则相关序列中与第一序列数值的序列号之间的序列号差值的绝对值小于预设差值的序列数值可以分别为序列号为2、3、5和6的数值。又如,存在序列号分别为1、2、3、4、5、6、7、8和9 的9个序列差值,第一序列数值为5,若预设差值为3,则1与5的序列号差值的绝对值为4,2与5的序列号差值的绝对值为3、3与5的序列号差值的绝对值为2, 4与5的序列号差值的绝对值为1、6与5的序列号差值的绝对值为1、7与5的序列号差值的绝对值为2、8与5的序列号差值的绝对值为3、9与5的序列号差值的绝对值为4,其中,3、4、6和7与5的序列号差值的绝对值小于3,即第二序列数值为3、4、6和7。同样的道理,若预设差值为4、则第二序列数值为2、3、4、 6、7和8。

在上述实施例中,相关序列记为时间序列B:

B={b

针对相关序列B中的序列数值b

B′={b

其中,m为预设差值,b

在一个实施例中,由于时间序列B中不存在序列号小于等于0的数值,因此,当t-m≤0时,可以不获取b

B′={b

由于不存在b

B′={b

相应的,当t+m>l时,可以不获取b

在一个实施例中,为了提高待滤波时间序列两端的序列数值的滤波效果,针对序列数值b

S802:根据每个第二序列数值与第一序列数值之间的采样时间差和数值差,确定该序列数值的滤波参数。

其中,当待滤波时间序列对应有采样时间间隔,采样时间间隔为待滤波时间序列相邻序列数值的采样时间,则在一种方式中可以采用如下方式确定该序列数值的滤波参数,包括步骤:

步骤1:计算每个第二序列数值与该第二序列数值的邻近序列数值之间的数值差,作为邻近数值差,其中,第二序列数值的邻近序列数值为:序列号在该第二序列数值的序列号和第一序列数值的序列号之间、且与该第二序列数值相邻的序列数值。

本步骤中,第二序列数值的邻近数值为:序列号在该第二序列数值的序列号和第一序列数值的序列号之间、且与该第二序列数值相邻的序列数值,即针对序列号大于第一序列数值的第二序列数值,第二序列数值的邻近数值为:与第二序列数值相邻、且序列号小于第二序列数值的数值,针对序列号小于第一数值的第二序列数值,第二序列数值的邻近数值为:与第二序列数值相邻、且序列号大于第二序列数值的数值。

示例性的,如图9所示,为本发明实施例提供的数差值确定示意图,图中 Bt为第一序列数值,Bt-2、Bt-1、Bt+1和Bt+2分别为第一序列数值Bt的第二序列数值,对于Bt-2而言,序列号在t-2和t之间,且与Bt-2相邻的是Bt-1,即Bt-2的邻近数值为Bt-1,即图中的Vt-2,而对于Bt+2而言,序列号在t+2和t之间,且与Bt+2相邻的是Bt+1,即Bt+2的邻近数值为Bt+1,即图中的Vt+2,图中Vt-2、Vt-1、Vt+1和 Vt+2分别为Bt-2、Bt-1、Bt+1和Bt+2与其邻近数值的数值差,其中,Bt-2的邻近数值为Bt-1,Bt-1的邻近数值为Bt,Bt+1的邻近数值为Bt,Bt+2的邻近数值为Bt+1,即Vt-2=Bt-1-Bt-2,Vt-1=Bt-Bt-1,Vt+1=Bt-Bt+1,Vt+1=Bt+1-Bt+2。

步骤2:确定每个第二序列数值与第一序列数值的序列号差值。

本步骤中,本领域技术人员所知的,时间序列的采样时间间隔是固定的。由于相关序列的采样时间间隔是固定的,因此序列数值的序列号差值可以反映出序列数值采样时间的差异情况,因此,可以计算出每个第二序列数值与第一数值的序列号序列差值。即采样时间为采样时间间隔和序列号差值的乘积。

步骤3:根据每个第二序列数值与第一序列数值的序列号差值和待滤波时间序列对应的采样时间间隔,确定该第二序列数值对第一序列数值的影响力参数,其中,第二序列数值对第一序列数值的影响力参数表征对第一序列数值进行滤波时第二序列数值所产生影响的程度。

本步骤中,可以将每个第二序列数值与第一序列数值的序列号差值和待滤波时间序列的采样时间间隔相乘,将乘积作为该第二数值对第一数值的影响力参数。

在一个实施例中,还可以按照以下公式,确定每一第二序列数值的影响力参数:

其中,

在一个实施例中,上述采样时间间隔T为待滤波时间序列采样周期F的倒数

步骤4:根据每个第二序列数值对应的邻近数值差和影响力参数,确定第一序列数值的滤波参数。

本步骤中,可以根据每个第二序列数值对应的邻近数值差和影响力参数,确定第一序列数值的滤波参数,如将每个第二序列数值对应的邻近数值差和影响力参数相乘,将乘积作为第一序列数值的滤波参数,还可以使用其他方式,在本发明实施例后续详细描述,在此不再赘述。

本发明实施例提供的如图2所示的滤波参数确定方法,可以通过邻近数值差和影响力参数确定出第一数值的滤波参数,进而可以根据确定出的滤波参数对待滤波时间序列进行滤波,进而提高了对待滤波时间序列进行滤波的效果。

在本发明的另一个实施例中,针对上述步骤4,还可以按照如图10所示的滤波参数确定方法实现,包括:

S1001:根据每个第二序列数值对应的邻近数值差,确定该第二序列数值相对于与第一序列数值的采样时间相同的第二序列数值的变化程度,变化程度表征数值变化大小。

本步骤中,可用将邻近数值差作为第二序列数值相对于与第一序列数值的采样时间相同的第二序列数值的变化程度。

在一个实施例中,还可以按照以下公式,确定每个第二序列数值相对于与第一序列数值的采样时间相同的第二序列数值的变化程度:

其中,函数g(x)为:

u的取值范围为1~m,m为预设差值,

通过函数g(x)和预设的数值差v

S1002:根据每个第二数值的变化程度和影响力参数,确定第一数值的滤波参数。

本步骤中,可以先确定各第二序列数值的变化程度的平均变化程度,以及确定各第二序列数值的影响力参数的平均影响力参数,将平均变化程度和平均影响力参数的乘积作为第一数值的滤波参数。

可以按照以下公式确定第一数值的滤波参数:

其中,w

本发明实施例提供的如图10所示的滤波参数确定方法,可以通过变化程度和影响力参数确定出第一序列数值的滤波参数,进而可以根据确定出的滤波参数对待滤波时间序列进行滤波,进而提高了对待滤波时间序列进行滤波的效果,进一步的,通过函数g(x)和预设的数值差v

在一个实施例中,为了更准确的对待滤波时间序列进行滤波,可以基于第一序列数值对需要进行滤波的第一序列数值进行调,即当第一序列数值的滤波参数按照上述公式确定后,可以按照以下公式对待滤波时间序列进行滤波:

其中,

在本发明的另一个实施例中,如图11所示,提供一种滤波方法的流程图示意图,在需要对待滤波时间序列进行滤波时,先确定出相关序列,并通过弱滤波器对相关序列进行滤波。针对待滤波时间序列中的待滤波的第一序列数值,从相关序列中确定出对应的第二序列数值,并采样上述实施例所提供的方法计算出影响力参数和变化程度,进而对第一序列数值进行调整,得到调整后的第一序列数值,当对待滤波时间序列中每一第一序列数值进行调整后,即完成滤波,得到滤波后序列。

基于同一发明构思,根据本发明实施例提供的对象模型构建方法,本发明实施例还提供了一种对象模型构建装置,如图12所示,该装置包括:

关键点组获取模组1201,用于获取针对目标对象进行连续采集的每帧图像中包含的目标对象的关键点组;

信息确定模组1202,用于基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息;

信息滤波模组1203,用于基于基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息进行滤波,得到滤波后姿态信息,并基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息;

模型构建模组1204,用于根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型。

进一步的,模型构建模组,具体用于根据各帧图像的形状信息和滤波后姿态信息,生成目标对象的预构建模型;将预构建模型调整至滤波后位置信息所指示的位置区域内,得到目标对象的对象模型。

进一步的,信息滤波模组,具体用于基于各帧图像中目标对象的姿态信息,构建与每一类型的关键点对应的姿态信息序列,作为待滤波时间序列,姿态信息序列中的姿态信息作为待滤波时间序列中的数值;针对每一类型的关键点,从各帧图像中目标对象的关键点组,选取属于该类型的关键点,并按照每帧图像采集的先后顺序,对所提取的关键点进行排序,构建该类型的关键点序列,作为与属于该类型的关键点对应的待滤波时间序列的相关序列,关键点序列中的关键点作为相关序列中的数值;基于相关序列,对待滤波时间序列中每一数值进行滤波,得到滤波后姿态信息。

进一步的,信息滤波模组,具体用于对每个图像中目标对象的关键点组中各关键点的坐标进行取平均,得到每个图像中目标对象的重心的坐标;提取各帧图像中目标对象的位置信息所表征坐标,并按照每帧图像采集的先后顺序,对所提取的坐标进行排序,得到第一坐标序列,作为待滤波坐标;提取采集的各图像中目标人物的重心的坐标,并按照每帧图像采集的先后顺序,对所提取的坐标进行排序,得到第二坐标序列,作为待滤波坐标的相关序列;基于待滤波时间序列的相关序列,对待滤波时间序列中每一数值进行滤波。

进一步的,信息滤波模组,具体用于针对相关序列中的每个序列数值,根据相关序列中其他序列数值与该序列数值的采样时间差和数值差,确定该序列数值的滤波参数,作为待滤波时间序列中与该序列数值采样时间相同的序列数值的滤波参数;根据待滤波时间序列中每个序列数值的滤波参数,对待滤波时间序列进行滤波。

进一步的,信息滤波模组,具体用于按照以下方式确定相关序列中每个序列数值的滤波参数:从相关序列中选择序列号与第一序列数值的序列号之间的序列号差值的绝对值小于预设差值的序列数值,作为第二序列数值;其中,第一序列数据为待确定滤波参数的序列数值;根据每个第二序列数值与第一序列数值之间的采样时间差和数值差,确定该序列数值的滤波参数。

进一步的,待滤波时间序列对应有采样时间间隔,采样时间间隔为待滤波时间序列相邻序列数值的采样时间差;

信息滤波模组,具体用于计算每个第二序列数值与该第二序列数值的邻近序列数值之间的数值差,作为邻近数值差,其中,第二序列数值的邻近序列数值为:序列号在该第二序列数值的序列号和第一序列数值的序列号之间、且与该第二序列数值相邻的序列数值;确定每个第二序列数值与第一序列数值的序列号差值;根据每个第二序列数值与第一序列数值的序列号差值和待滤波时间序列对应的采样时间间隔,确定该第二序列数值对第一序列数值的影响力参数,其中,第二序列数值对第一序列数值的影响力参数表征对第一序列数值进行滤波时第二序列数值所产生影响的程度;根据每个第二序列数值对应的邻近数值差和影响力参数,确定第一序列数值的滤波参数。

进一步的,信息滤波模组,具体用于按照以下公式,确定每一第二序列数值的影响力参数:

其中,

进一步的,信息滤波模组,具体用于根据每个第二序列数值对应的邻近数值差,确定该第二序列数值相对于与第一序列数值的采样时间相同的第二序列数值的变化程度,变化程度表征数值变化大小;根据每个第二数值的变化程度和影响力参数,确定第一数值的滤波参数。

进一步的,信息滤波模组,具体用按照以下公式,确定每个第二序列数值相对于与第一序列数值的采样时间相同的第二序列数值的变化程度:

其中,函数g(x)为:

u的取值范围为1~m,m为预设数量的一半,

进一步的,信息滤波模组,具体用按照以下公式对待滤波时间序列进行滤波:

其中,

本发明实施例提供的如图12所示的滤波参数确定装置,可以获取多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的对象模型精确率更高。

本发明实施例还提供了一种电子设备,如图13所示,包括处理器1301、通信接口1302、存储器1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完成相互间的通信,

存储器1303,用于存放计算机程序;

处理器1301,用于执行存储器1303上所存放的程序时,实现如下步骤:

获取针对目标对象进行连续采集的每帧图像中包含的所述目标对象的关键点组;

基于所获取的关键点组,确定每帧图像中目标对象的姿态信息、形状信息和位置信息;

基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的姿态信息进行滤波,得到滤波后姿态信息,并基于各帧图像中目标对象的关键点组,对每帧图像中目标对象的位置信息进行滤波,得到滤波后位置信息;

根据各帧图像的形状信息、滤波后姿态信息和滤波后位置信息,构建目标对象的对象模型。

本发明实施例提供的如图13所示的电子设备,可以获取多帧图像中目标对象的关键点组,并基于所获取的关键点组确定出姿态信息、形状信息和位置信息,并通过关键点组对姿态信息和位置信息进行滤波,并进一步的根据滤波后的姿态信息和滤波后的位置信息,以及形状信息构建对象模型,由于可以基于多帧图像的关键点组对获取的姿态信息和位置信息进行滤波,从而可以提高姿态信息和位置信息的准确度,进而基于准确度更高的姿态信息和位置信息构建出的对象模型精确率更高。

需要说明的是,上述电子设备实现对象模型构建方法的其他实施例,与前述方法实施例部分提及的对象模型构建方法相同,在此不再赘述。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的对象模型构建方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的对象模型构建方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号