物体关键点的定位方法、图像处理方法、装置及存储介质与流程

文档序号:17539730发布日期:2019-04-29 14:25阅读:417来源:国知局
物体关键点的定位方法、图像处理方法、装置及存储介质与流程

本发明涉及计算机领域,具体而言,涉及一种物体关键点的定位方法、图像处理方法、装置及存储介质。



背景技术:

目前,对于单张图像处理(photoshop,简称为ps)图中的物体关键点定位,需要用户或者设计师肉眼确定人体的各个物体关键点,耗时耗力,限制了应用场景;另外,视频应用中通常对对象所在的画面区域进行整体拉伸,即使定位了物体关键点,在视频中的前后视频帧出现抖动的情况下,对物体关键点进行定位的准确性低。

针对上述对物体关键点进行定位的准确性低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种物体关键点的定位方法、图像处理方法、装置及存储介质,以至少解决相关技术对物体关键点进行检测的准确性低的效率低的技术问题。

根据本发明实施例的一个方面,提供了一种物体关键点的定位方法。该方法包括:对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;获取在目标视频流的历史视频帧中目标物体对应的历史检测区域;根据历史检测区域和当前检测区域,获取确定后的当前检测区域;基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集;根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

根据本发明实施例的另一方面,还提供了一种图像处理方法。该方法包括:对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域;基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;根据在历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置;根据当前目标物体关键点集的位置,从当前视频帧中识别出目标物体的部位;对识别出的目标物体的部位进行调整处理;显示调整处理后的目标物体的图像。

根据本发明实施例的另一方面,还提供了一种物体关键点的定位装置。该装置包括:检测单元,用于对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;第一获取单元,用于获取在目标视频流的历史视频帧中目标物体对应的历史检测区域;第二获取单元,用于根据历史检测区域和当前检测区域,获取确定后的当前检测区域;定位单元,用于基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;第三获取单元,用于获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集;调整单元,用于根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

根据本发明实施例的另一方面,还提供了一种图像处理装置。该装置包括:检测单元,用于对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;获取单元,用于根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域;定位单元,用于基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;第一调整单元,用于根据在历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置;识别单元,用于根据当前目标物体关键点集的位置,从当前视频帧中识别出目标物体的部位;第二调整单元,用于对识别出的目标物体的部位进行调整处理;显示单元,用于显示调整处理后的目标物体的图像。

根据本发明实施例的另一方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的物体关键点的定位方法。

在本发明实施例中,由于从目标视频流的当前视频帧中,检测目标物体的当前物体检测区域,并根据历史视频帧中的目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集,根据在目标视频流的历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置,实现了对物体关键点进行稳定,避免了视频帧间物体关键点的抖动,从而实现了提高对物体关键点进行定位的准确性的技术效果,进而解决了相关技术对物体关键点进行检测的准确性低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种物体关键点的定位方法的硬件环境的示意图;

图2是根据本发明实施例的一种物体关键点的定位方法的流程图;

图3是根据本发明实施例的一种对当前视频帧的当前检测区域进行稳定处理和对当前视频帧中目标物体的关键点集进行稳定处理的示意图;

图4是根据本发明实施例的一种图像处理方法的流程图;

图5是根据本发明实施例的一种人体关键点定位方法的流程图;

图6是根据本发明实施例的一种多框校验的示意图;

图7是根据本发明实施例的一种视频帧图片的人体检测框的位置变化的示意图;

图8是根据本发明实施例的一种特征金字塔网络结构的示意图;

图9是根据本发明实施例的一种人体关键点分布的示意图;

图10是根据本发明实施例的一种关键点定位的示意图;

图11是根据本发明实施例的一种对目标人体的人体检测框进行检测的场景示意图;

图12是根据本发明实施例的一种对目标人体的人体关键点进行检测的场景示意图;

图13是根据本发明实施例的一种美体功能入口的示意图;

图14是根据本发明实施例的一种瘦身前后的对比示意图;

图15是根据本发明实施例的一种物体关键点的定位装置的示意图;

图16是根据本发明实施例的一种图像处理装置的示意图;以及

图17是根据本发明实施例的一种电子装置的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例的一个方面,提供了一种物体关键点的定位方法,可选地,上述物体关键点的定位方法可以但不限于应用于如图1所示的环境中。其中,图1是根据本发明实施例的一种物体关键点的定位方法的硬件环境的示意图。如图1所示,用户102可以与用户设备104之间可以进行数据交互,用户设备104中可以但不限于包括存储器106和处理器108。用户设备104可以确定目标视频中的待处理的目标物体,通过处理器108对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域,根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集,执行步骤s102,通过网络110将第一物体关键点集发送给服务器112。

服务器112中包含有数据库114和处理器116。服务器112在获取到第一物体关键点集之后,处理器116从数据库114中获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集的位置,并根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置,最后执行步骤s104,通过网络110向用户设备102返回当前目标物体关键点集的位置。

需要说明的是,上述仅为本发明实施例的物体关键点的定位方法的硬件环境的一种举例,并不限于本发明实施例的硬件环境仅为上述,比如,还可以包括通过客户端执行上述物体关键点的定位方法,此处不再一一举例说。

需要说明的是,在相关技术中,对于单张图像处理中的物体关键点定位,需要用户或者设计师肉眼确定人体的各个物体关键点,耗时耗力;另外,视频应用中通常对对象所在的画面区域进行整体拉伸,即使定位了物体关键点,在视频中的前后视频帧出现抖动的情况下,对物体关键点进行定位的准确性低。

而该实施例由于从目标视频流的当前视频帧中,检测目标物体的当前物体检测区域,并根据历史视频帧中的目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集,根据在目标视频流的历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置,实现了对物体关键点进行稳定,避免了视频帧间物体关键点的抖动,从而实现了提高对物体关键点进行定位的准确性的技术效果,进而解决了相关技术对物体关键点进行检测的准确性低的技术问题。

图2是根据本发明实施例的一种物体关键点的定位方法的流程图。如图2所示,该方法可以包括以下步骤:

步骤s202,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域。

在本申请上述步骤s202提供的技术方案中,目标视频流可以为视频应用中的短视频的视频流,该目标视频流中的当前视频帧中的目标物体处于当前视频帧所显示的目标场景中,可以为待进行关键点定位的对象,比如,该目标物体为需要进行关键点定位的人体、动物等对象,目标场景可以为自拍场景、跳舞场景等视频场景,此处不做任何限制。

在该实施例中,对当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域,也即,与目标物体相关联的检测区域,该当前检测区域为目标物体在目标视频流的当前视频帧的图像中所显示的目标场景中所处的区域,该所处的区域包括确定的位置和范围。可选地,该实施例的当前检测区域可以为物体检测框,该物体检测框可以为矩形框,用于将目标物体在目标场景中所处的位置和范围标记出来可选地,当目标物体为人体时,该物体检测框为人体检测框。

需要说明的是,在其它实施方式中,该物体检测框也可以为其它形状的实施方式,比如,为椭圆形框、六边形框等,只要便于计算机设备进行目标物体在图像中的位置坐标进行检测和计算的物体检测框都在本发明实施例的范围之内,此处不再一一举例说明。

可选地,该实施例基于深度神经网络训练的检测模型对目标物体进行检测,该检测模型可以是基于开源的单次多框,检测器(singleshotmultiboxdetector,简称为ssd)架构训练成的网络模型。

可选地,该实施例将当前视频帧输入至上述检测模型,可以产生多个候选检测框和多个候选检测框的置信度,可以从中选择置信度最大的三个候选框,比如,第一候选框、第二候选框和第三候选框。将第一候选框、第二候选框和第三候选框分别和当前视频帧在目标视频流的相邻的一个历史视频帧的历史检测区域进行校验,可以从第一候选框、第二候选框和第三候选框中选择与历史检测区域的重叠度最大的一个候选检测框,作为当前视频帧的当前检测区域,从而就能保证时刻定位同一个目标物体。

步骤s204,获取在目标视频流的历史视频帧中目标物体对应的历史检测区域。

在本申请上述步骤s204提供的技术方案中,历史视频帧为在目标视频流中,以当前视频帧为起点,过去预设时间范围内的视频帧,可选地,该实施例的当前视频帧也会成为目标视频流中当前视频帧之后的视频帧的一个历史视频帧,比如,在当前视频帧为目标视频流的第二个视频帧的情况下,则该当前视频帧为目标视频流的第三个视频帧(还可以是第四个视频帧、第五个视频帧等)的一个历史视频帧。

该实施例的历史检测区域可以为历史视频帧中的与目标物体对应的经稳定处理后的检测区域,也即,为对目标物体进行检测的历史检测结果,预先缓存在第一预定位置。

可选地,在当前视频帧为目标视频流的第二个视频帧的情况下,历史视频帧为目标视频流的上一个视频帧,也即,历史视频帧为目标视频流的第一个视频帧,则历史检测区域为第一个视频帧中与目标物体对应的经稳定处理后的检测区域,可以存储在第一预定位置中的第一子位置中;在当前视频帧为目标视频流的第三个视频帧的情况下,则历史视频帧为目标视频流的上一个视频帧和上上一个视频帧,也即,历史视频帧为目标视频流的第一个视频帧和第二个视频帧,则历史检测区域可以为第一个视频帧中的与目标物体对应的经稳定处理后的检测区域,和/或第二个视频帧中的与目标物体对应的经稳定处理后的检测区域,第一个视频帧中的与目标物体对应的经稳定处理后的检测区域可以存储在第一预定位置中的第一子位置中,第二个视频帧中的与目标物体对应的经稳定处理后的检测区域可以存储在第一预定位置中的第二子位置中,其中,第一预定位置中的第二子位置可以与第一预定位置中的第一子位置相邻。以此类推,从而确定历史视频帧中目标物体对应的历史检测区域。

在获得对目标物体的当前检测区域之后,可以从上述第一预定位置中获取上述历史检测区域。

步骤s206,根据历史检测区域和当前检测区域,获取确定后的当前检测区域。

在本申请上述步骤s206提供的技术方案中,当前检测区域指示目标物体在当前视频帧的图像中所显示的目标场景中所处的区域,决定了对目标物体上的物体关键点集的获取。而当前检测区域指示的区域的稳定性,也即,区域中目标物体所在的背景的稳定性,也影响着目标物体上的物体关键点集的稳定性。因而,该实施例在获得对目标物体的当前检测区域之后,需要对当前检测区域进行调整,比如,对当前检测区域进行稳定处理,可以通过历史检测区域对当前检测区域进行调整,得到确定后的当前检测区域,该确定后的当前检测区域和与当前视频帧相邻的历史视频帧中目标物体对应的历史检测区域,二者之间的区域变化值小于第一目标阈值,也即,确定后的当前检测区域和历史检测区域所指示的区域,在大部分局部时域上不变,或者变化小。

该实施例的上述第一目标阈值用于衡量区域变化值小的临界值,该区域变化值可以通过确定后的当前检测区域所指示的区域的坐标值与历史检测区域所指示的区域的坐标值二者之间的变化值进行确定。

可选地,在根据历史检测区域和当前检测区域,获取确定后的当前检测区域之后,可以将原来用于表示物体检测区域的位置变化的曲线,转化为阶梯轨迹,进而根据确定后的当前检测区域,检测目标物体的物体关键点集。

该实施例通过对当前检测区域进行稳定处理,使得当前视频帧中目标物体所处的区域和与当前视频帧的相邻的历史视频帧中目标物体所处的区域,在时域上是局部稳定的,从而为目标物体的多个物体关键点的检测提供稳定的背景,进而减少由于背景变化造成对物体关键点进行检测的误差,保证最终输出的物体关键点的准确性。

在根据历史检测区域和当前检测区域,获取确定后的当前检测区域之后,可以将确定后的当前检测区域存储在上述第一预定存储位置中,成为当前视频帧之后的视频帧中与目标物体对应的检测区域的一个历史检测区域,以用于对当前视频帧之后的视频帧中与目标物体对应的检测区域进行稳定处理,也即,确定后的当前检测区域会作为当前视频帧之后的视频帧的检测区域进行稳定调整的基础,一旦确定之后,会先存储至第一预定存储位置中。比如,在当前视频帧为目标视频流的第三个视频帧的情况下,将确定后的当前检测区域存储在第一预定存储位置的第三子位置中,该第一预定存储位置的第三子位置可以与上述第一预定存储位置的第二子位置相邻,则该确定后的当前检测区域为目标视频流的第四个视频帧中与目标物体对应的检测区域的一个历史检测区域,以用于对第四个视频帧中与目标物体对应的检测区域进行稳定处理。

步骤s208,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集。

在本申请上述步骤s208提供的技术方案中,第一物体关键点集包括多个物体关键点,该多个物体关键点覆盖了物体的轮廓,可以为标识出物体关键部位的特征点。

该实施例可以预先对多个物体关键点进行定义,比如,当目标物体为人体时,则物体关键点为人体关键点,可以定义用于指示左耳朵、左眼、鼻子等人体部位的人体关键点,该多个人体关键点可以分别位于所指示的部位的位置上。可选地,在实际场景中,物体的运动是非常复杂的,“左”、“右”、“内”、“外”很难区分,可以定义从左到右物体上先出现的一侧,为物体左侧,从右到左物体上先出现的一侧,为物体右侧。可选地,当物体关键点为人体时,从左到右先出现的肩膀,为左肩膀,从左到右先出现的大腿,为左大腿。通过对多个物体关键点进行定义,从而避免对多个物体关键点的定义出现歧义。

可选地,该实施例通过关键点检测算法基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集,可以基于确定后的当前检测区域,对目标物体的每一个关键点分别进行关键点定位,从而得到第一物体关键点集,该第一物体关键点集可以为人体关键点集,包括66个人体关键点。其中,该关键点检测算法可以是基于深度学习模型中的特征金字塔网络(featurepyramidnetworks,简称为fpn)得到的。

步骤s210,获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集。

在本申请上述步骤s210提供的技术方案中,该实施例的第二物体关键点集为相对当前视频帧而言的历史视频帧中目标物体对应的物体关键点集,包括的多个物体关键点与第一物体关键点包括的多个物体关键点一一对应,为在获得对目标物体的当前检测区域之前,对目标视频流的历史视频帧中的目标物体进行关键点定位得到,也即,为对目标物体进行关键点定位的历史检测结果。

在该实施例中,第二物体关键点集可以为历史视频帧中与目标物体对应的稳定调整后的物体关键点集,存储在第二预定位置,该第二预定位置可以和第一预定位置相同。可选地,在当前视频帧为目标视频流的第二个视频帧的情况下,历史视频帧为目标视频流的上一个视频帧,也即,为目标视频流的第一个视频帧,则第二物体关键点集为第一个视频帧中与目标物体对应的稳定调整后的物体关键点集,存储在第二预定位置中的第一子位置;在当前视频帧为目标视频流的第三个视频帧的情况下,则历史视频帧为目标视频流的上一个视频帧和上上一个视频帧,也即,历史视频帧为目标视频流的第一个视频帧和第二个视频帧,则该第二物体关键点集可以为第一个视频帧中的与目标物体对应的稳定调整后的物体关键点集,和/或第二个视频帧中的与目标物体对应的稳定调整后的物体关键点集,第一个视频帧中的与目标物体对应的稳定调整后的关键点集存储在第二预定位置中的第二子位置,第二个视频帧中的与目标物体对应的稳定调整后的物体关键点集存储在第二预定位置中的第三子位置,其中,第二预定位置中的第二子位置可以与第二预定位置中的第一子位置相邻,第二预定位置中的第三子位置可以与第二预定位置中的第二子位置相邻。以此类推,从而确定历史视频帧中与目标物体对应的第二物体关键点集。

在基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集之后,从第二预定位置获取上述第二物体关键点集。

步骤s212,根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

在本申请上述步骤s212提供的技术方案中,第二目标物体关键点集的位置为已经检测出的历史视频帧中对目标物体的检测结果,该第二目标物体关键点集的位置可以通过第二目标物体关键点集在目标物体上的坐标进行表示。

在该实施例中,由于预测误差的存在,使得目标视频流中的点位存在抖动。在获取第二目标物体关键点集的位置之后,根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置,其中,第一目标物体关键点集的位置可以通过第一目标物体关键点集在目标物体上的坐标进行表示,当前目标物体关键点集的位置可以通过当前目标物体关键点集在目标物体上的坐标进行表示。

该实施例的当前视频帧中的当前目标物体关键点集的位置和与当前视频帧相邻的历史视频帧中目标物体的第二物体关键点集的位置,二者之间的位置变化幅度小于第二目标阈值,该第二目标阈值用于衡量第一物体关键点集和第二物体关键点集的位置变化幅度小的临界值,也即,降低了当前视频帧中的目标物体的关键点集与历史视频帧中的目标物体的关键点集之间的抖动幅度。

在根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置之后,可以将当前目标物体关键点集存储在第二预定存储位置中,该第二预定存储位置可以和第一预定存储位置相同,以用于对当前视频帧之后的视频帧的物体关键点集的位置进行稳定调整,也即,当前目标物体关键点集会作为对当前视频帧之后的视频帧的物体关键点集的位置进行稳定调整的基础,一旦确定之后,会存储至第二预定存储位置。比如,在当前视频帧为目标视频流的第三个视频帧的情况下,将当前目标物体关键点集存储在第二预定存储位置的第三子位置中,该第二预定存储位置的第三子位置可以与上述第二预定存储位置的第二子位置相邻,以用于对第四个视频帧(还可以是第五个视频帧、第六个视频帧等)的物体关键点集的位置进行稳定调整。

在当前视频帧成为目标视频流中当前视频帧之后的视频帧的一个历史视频帧的情况下,该当前目标物体关键点集也会成为历史视频帧中目标物体对应的第二物体关键点集。比如,在当前视频帧为目标视频流的第三个视频帧的情况下,则该当前目标物体关键点集为目标视频流的第四个视频帧(还可以是第五个视频帧、第六个视频帧等)的历史视频帧中与目标物体对应的第二物体关键点集。

作为一种可选的实施方式,步骤s206,根据历史检测区域和当前检测区域,获取确定后的当前检测区域包括:当历史视频帧为与当前视频帧相邻的一个历史视频帧时,根据历史检测区域和当前检测区域,获取确定后的当前检测区域。

在该实施例中,在根据历史检测区域和当前检测区域,获取确定后的当前检测区域时,可以获取与当前视频帧相邻的一个历史视频帧中的历史检测区域,通过历史检测区域对当前检测区域进行调整,以使得确定后的当前检测区域所指示的区域与历史检测区域所指示的区域,二者之间的区域变化值小于预定阈值,进而使得确定后的当前检测区域和历史检测区域所指示的区域,在大部分局部时域上不变,或者变化小。

作为一种可选的实施方式,当历史视频帧为与当前视频帧相邻的一个历史视频帧时,根据历史检测区域和当前检测区域,获取确定后的当前检测区域包括:当历史视频帧为与当前视频帧相邻的一个历史视频帧时,获取历史检测区域与当前检测区域之间的重叠度;在重叠度大于目标阈值的情况下,将历史检测区域作为确定后的当前检测区域;在重叠度不小于目标阈值的情况下,直接将当前检测区域作为确定后的当前检测区域。

在该实施例中,在对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域之后,对当前检测区域进行稳定处理,也即,稳框处理,可以通过对与当前视频帧相邻的一个历史视频帧中的对目标物体进行检测得到的结果,来对当前检测区域进行稳定处理。

可选地,针对与当前视频帧相邻的一个历史视频帧,获取用于指示目标物体在历史视频帧的图像中所显示的目标场景中所处的区域的历史检测区域,再获取当前检测区域和历史检测区域之间的重叠度,也即,获取当前检测区域所指示的目标物体在当前视频帧的图像中所显示的目标场景中所处的区域a与历史检测区域所指示的目标物体在历史视频帧的图像中所显示的目标场景中所处的区域b之间的重叠度。

可选地,通过区域a与区域b相交的面积比上区域a与区域b相并的面积,得到重叠度

在获取当前检测区域和历史检测区域之间的重叠度之后,判断重叠度是否大于目标阈值。该目标阈值用于衡量当前检测区域和历史检测区域重叠的多少,可以为0.4。在当前检测区域和历史检测区域之间的重叠度大于第二目标阈值的情况下,确定当前检测区域和历史检测区域重叠的区域较大,则将历史检测区域确定为对当前检测区域进行稳定处理后的检测区域,也即,继续沿用当前视频帧的上一历史视频帧的历史检测区域,作为对当前检测区域进行稳定处理后的检测区域,实现前后视频帧的背景在时域上是局部稳定的,以提高对目标物体的物体关键点进行检测的准确性。

在重叠度不小于目标阈值的情况下,可以直接将当前检测区域作为确定后的当前检测区域,也即,可以不对当前检测区域进行稳定处理。

可选地,目标视频流中的第一个视频帧可以不用进行稳定处理。

作为另一种可选示例,当前检测区域和历史检测区域可以为矩形框,在目标场景中具有确定的位置。在根据历史检测区域和当前检测区域,获取确定后的当前检测区域之前,可以获取当前检测区域的第一尺寸、当前检测区域在目标场景中的第一位置、历史检测区域的第二尺寸和历史检测区域在目标场景中的第二位置,其中,第一尺寸和第二尺寸可以通过面积进行表示,第一位置和第二位置可以通过目标场景中的坐标值进行表示。

在获取当前检测区域的第一尺寸和历史检测区域的第二尺寸之后,获取第一尺寸和第二尺寸的尺寸变化值,并判断尺寸变化值是否小于第一预定阈值,该第一预定阈值是用于衡量第一尺寸和第二尺寸变化的大小的临界值。在获取当前检测区域在目标场景中的第一位置和确定后的当前检测区域在目标场景中的第二位置之后,获取第一位置和第二位置之间的位置变化值,判断位置变化值是否小于第二预定阈值,该第二预定阈值是用于衡量第一位置和第二位置变化的大小的临界值。如果判断出尺寸变化值小于第一预定阈值,且位置变化值小于第二预定阈值,则将历史检测区域确定为历史检测区域,从而保证与目标物体相关联的人体检测框的大小和位置,在大部分局部时域上变化小或者是不变的,以提高对目标物体的物体关键点进行检测的准确性,进而提高对目标物体进行处理的效率。

作为一种可选的实施方式,步骤s212,根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置包括:当历史视频帧为与当前视频帧相邻的一个历史视频帧时,将第二物体关键点集的位置确定为当前目标物体关键点集的位置;或者当历史视频帧为与当前视频帧相邻的多个历史视频帧时,通过多组第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前目标物体关键点集的位置,其中,多个历史视频帧与多组第二物体关键点集一一对应。

在该实施例中,历史视频帧可以为与当前视频帧相邻的一个历史视频帧。历史视频帧中目标物体对应的第二物体关键点集的位置,为已经检测出的历史视频帧中的物体关键点的检测结果,将第二物体关键点集的位置直接确定为当前目标物体关键点集的位置,也即,将第二物体关键点集中的多个物体关键点的位置,直接作为当前目标物体关键点集中多个物体关键点的位置。

可选地,历史视频帧可以为与当前视频帧相邻的多个历史视频帧,比如,当前视频帧为目标视频流的第三个视频帧,则历史视频帧为目标视频流的第一个视频帧和第二个视频帧。每个历史视频帧对应一组第二物体关键点集,该一组第二物体关键点集可以包括目标物体上的所有关键点,比如,目标物体为人体,则一组第二物体关键点集可以包括66个人体关键点。通过多组第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,可以通过每组第二物体关键点集中包括的多个物体关键点的位置,对第一物体关键点集中包括的对应多个物体关键点,进行稳定调整,得到当前目标物体关键点集的位置。

图3是根据本发明实施例的一种对当前视频帧的当前检测区域进行稳定处理和对当前视频帧中目标物体的关键点集进行稳定处理的示意图。如图3所示,目标视频流包括第n个视频帧、第n-1个视频帧、第n-2个视频帧……第n-m个视频帧、第n+1个视频帧、第n+2个视频帧……第n+n个视频帧,其中,第n个视频帧为目标视频流的当前视频帧,第n-1个视频帧、第n-2个视频帧……第n-m个视频帧为目标视频流的多个历史视频帧,第n+1个视频帧、第n+2个视频帧……第n+n个视频帧为目标视频流中当前视频帧之后的多个视频帧,n为大于等于1的自然数,1≤m<n,且m为自然数,n为大于等于1的自然数。

可选地,该实施例的第n-1个视频帧可以为当前视频帧的第一历史视频帧,对应第一组第二物体关键点集{关键点a1,关键点b1……关键点z1}和第一历史检测区域,第n-2个视频帧可以为当前视频帧的第二历史视频帧,对应第二组第二物体关键点集{关键点a2,关键点b2……关键点z2}和第二历史检测区域,第n-m个视频帧可以为当前视频帧的第n历史视频帧,对应第m组第二物体关键点集{关键点am,关键点bm……关键点zm}和第m历史检测区域,第n个视频帧为当前视频帧,对应第一物体关键点集{关键点an,关键点bn,关键点zn}。上述第一组第二物体关键点集、第二组第二物体关键点集……第m组第二物体关键点集存储在第二预定位置。

在该实施例中,在对目标视频流的第n个视频帧中的目标物体进行检测,获得对目标物体的当前检测区域之后,可以根据第一历史检测区域和当前检测区域,获取确定后的当前检测区域,也即,根据第一历史检测区域对当前检测区域进行稳定处理,得到确定后的当前检测区域。可选地,在第一历史检测区域和当前检测区域的重叠度大于目标阈值的情况下,将第一历史检测区域作为确定后的当前检测区域;在重叠度不小于目标阈值的情况下,直接将当前检测区域作为确定后的当前检测区域。该实施例的第一历史检测区域可以由第二历史检测区域确定,第二历史检测区域可以由第n-3个视频帧中与目标物体对应的历史检测区域确定,以此类推。可选地,目标视频流的第一个视频帧的检测区域不用进行稳定处理。

在根据第一历史检测区域和当前检测区域,获取确定后的当前检测区域之后,可以将确定后的当前检测区域存储在第一预定位置中,可以成为第n+1个视频帧中与目标物体对应的检测区域的一个历史检测区域,以用于对第n+1个视频帧中与目标物体对应的检测区域进行稳定处理。

通过上述方法还可以类推,对第n+2个视频帧、第n+3个视频帧中与目标物体对应的检测区域进行稳定处理。

该实施例还可以通过每组第二物体关键点集中包括的多个物体关键点的位置,对第一物体关键点集中包括的对应多个物体关键点,进行稳定调整,比如,通过第一组第二物体关键点集中的关键点a1的位置、第二组第二物体关键点集中的关键点a2的位置……第m组第二物体关键点集中的关键点am的位置,对第一物体关键点集中关键点an的位置进行稳定调整,得到当前目标物体关键点集中的关键点an的位置;通过第一组第二物体关键点集中的关键点b1的位置、第二组第二物体关键点集中的关键点b2的位置……第m组第二物体关键点集中的关键点bm的位置,对第一物体关键点集中关键点bn的位置进行稳定调整,得到当前目标物体关键点集中的关键点bn的位置;通过第一组第二物体关键点集中的关键点z1的位置、第二组第二物体关键点集中的关键点z2的位置……第m组第二物体关键点集中的关键点zm的位置对第一物体关键点集中关键点zn的位置进行稳定调整,得到当前目标物体关键点集中的关键点zn的位置,从而实现通过每组第二物体关键点集中包括的多个物体关键点的位置,对第一物体关键点集中包括的对应多个物体关键点,进行稳定调整,从而得到第n组的当前物体关键点集{关键点an,关键点bn……关键点zn}。

可选地,在得到第n组的当前物体关键点集{关键点an,关键点bn……关键点zn}之后,将当前物体关键点集存储至第二预定存储位置中,以用于对当前视频帧之后的视频帧的物体关键点集的位置进行稳定调整其中,第二预定存储位置可以和第一预定存储位置相同。比如,对第n+1个视频帧的物体关键点集的位置进行稳定调整。

可选地,通过当前物体关键点集中的关键点an、第一组第二物体关键点集中的关键点a1的位置、第二组第二物体关键点集中的关键点a2的位置……第m组第二物体关键点集中的关键点am的位置,对第n+1个视频帧的物体关键点集中关键点an+1的位置进行稳定调整,得到关键点an+1的位置;通过当前物体关键点集中的关键点bn、第一组第二物体关键点集中的关键点b1的位置、第二组第二物体关键点集中的关键点b2的位置……第m组第二物体关键点集中的关键点bm的位置,对第n+1个视频帧的物体关键点集中关键点bn+1的位置进行稳定调整,得到关键点bn+1的位置;通过当前物体关键点集中的关键点zn、第一组第二物体关键点集中的关键点z1的位置、第二组第二物体关键点集中的关键点z2的位置……第m组第二物体关键点集中的关键点zm的位置,对第n+1个视频帧的物体关键点集中关键点zn+1的位置进行稳定调整,得到关键点zn+1的位置,从而基于第n组的当前物体关键点集{关键点an,关键点bn……关键点zn},得到第n+1组的当前物体关键点集{关键点an+1,关键点bn+1……关键点zn+1}。

通过上述方法还可以类推,对第n+2个视频帧、第n+3个视频帧中与目标物体对应的物体关键点集的位置进行稳定调整。

作为一种可选的实施方式,通过多组第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置包括:从第一物体关键点集中确定待稳定调整的第一目标物体关键点的位置;从每组第二物体关键点集中,确定与第一目标物体关键点对应的第二目标物体关键点的位置,得到多个第二目标物体关键点的位置,其中,第二目标物体关键点所指示的目标物体的部位和第一目标物体关键点所指示的目标物体的部位相同;获取多个第二目标物体关键点的位置的加权和;通过目标视频流的帧率确定目标系数;根据加权和与目标系数对第一目标物体关键点的位置进行平滑处理,得到稳定调整后的第一目标物体关键点的位置。

该实施例的历史视频帧可以为与当前视频帧相邻的多个历史视频帧,可以通过与多个历史视频帧对应的多组第二物体关键点集的位置对第一物体关键点集包括的多个关键点的位置一一进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。可选地,第一物体关键点集包括多个物体关键点,从中确定待稳定调整的第一目标物体关键点的位置,再从每组第二物体关键点集中,确定与第一目标物体关键点对应的第二目标物体关键点的位置,得到多个第二目标物体关键点的位置。该第二目标物体关键点所指示的目标物体的部位和第一目标物体关键点所指示的目标物体的部位相同,比如,第二目标物体关键点和第二目标物体关键点均指示目标人体的眼睛部位。

该实施例通过对多个第二目标物体关键点的检测结果来对第一目标物体关键点进行稳定处理,可以根据多个第二目标物体关键点的检测结果来对第一目标物体关键点进行时空滤波稳定处理。可选地,分别获取多个第二目标物体关键点在目标物体上的第一位置,得到多个第一位置,比如,{pt-i}i=0:w,其中,t用于表示当前视频帧,w用于表示历史视频帧的数量;在获取多个第一位置之后,获取多个第一位置的加权和,比如,对{pt-i}i=0:w进行加权运算,得到加权和通过目标视频流的帧率确定目标系数,比如,通过目标视频流的帧率c1和c2值;根据加权和与目标系数对第一目标物体关键点在目标物体上的位置进行平滑处理,得到稳定调整后的第一目标物体关键点的位置pt’,比如,根据加权和和目标系数c1和c2对第一目标物体关键点在目标物体上的位置进行平滑处理,得到稳定调整后的第一目标物体关键点的位置pt’:

其中,考虑了时间因素,w用于表示历史视频帧的数量,也即,时空滤波的窗口的大小。

根据加权和与目标系数对第一目标物体关键点在目标物体上的位置进行平滑处理,得到的稳定调整后的第一目标物体关键点的位置,和与当前视频帧相邻的一个历史视频帧中目标物体上的第二目标物体关键点的位置,二者之间的变化幅度小于第二目标阈值,从而实现对第一目标物体关键点的稳定处理。

可选地,该实施例还可以通过上述方法,对多个第一物体关键点中除第一目标物体关键点之外的其它物体关键点,进行稳定处理,从而得到稳定后的多个物体关键点,保证了目标物体上的多个物体关键点在视频序列上是平稳的,从而消除物体关键点的预测误差,在前后视频帧中表现出更强的时空一致性,减小抖动,提高了对物体关键点进行定位的准确性。

作为另一种可选的实施方式,步骤s202,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域包括:对当前视频帧进行检测,得到多个第一候选检测区域;将多个第一候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域。

在该实施例中,将多个目标视频帧、多个目标物体的检测区域和多个目标物体的检测区域的置信度作为对第一子目标模型进行训练的数据,其中,多个目标视频帧为第一子目标模型的输入数据,多个目标物体的检测区域和多个目标物体的检测区域的置信度为第一子目标模型的输出数据,每个目标物体的检测区域可以为目标物体在目标视频的每个目标视频帧的图像中所显示的目标场景中所处的区域。通过上述数据基于深度神经网络对第二子目标模型进行训练,得到第一目标模型,该第一目标模型用于对目标视频包括的视频帧进行检测,以得到多个物体的检测区域和多个物体的检测区域的置信度。该实施例的第一子目标模型可以为基于深度神经网络的初始建立的检测模型。

可选地,该实施例的第一目标模型是基于开源的单次多框,检测器ssd架构训练的网络模型(mobilenetv1),且该网络模型的通道数根据移动端需求减少为原来的1/4,以方便模型的部署和加速。

该实施例的物体检测区域的检测算法可以通过第一目标模型对当前视频帧进行检测,得到多个第一候选检测区域和多个第一候选检测区域的置信度,该第一候选检测区域的置信度用于指示第一候选检测区域被确定为当前检测区域的概率。从多个第一候选检测区域中选择与历史检测区域的重叠度最大的第一候选检测区域,将该重叠度最大的第一候选检测区域确定为当前检测区域。可选地,该实施例历史检测区域可以为与当前视频帧相邻的多个历史视频帧中目标物体对应的多个历史检测区域,从多个第一候选检测区域中选择与多个历史检测区域中的至少两个重叠,且重叠度最大的第一候选检测区域。

作为另一种可选的实施方式,将多个第一候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域包括:当历史视频帧为与当前视频帧相邻的一个历史视频帧时,将多个第一候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域。

在该实施例中,在确定当前检测区域时,可以将与当前视频帧相邻的一个历史视频帧中目标物体对应的历史检测区域,作为参考的对象,将多个第一候选检测区域中,与该历史检测区域的重叠度最大的第一候选检测区域确定为当前检测区域。

举例而言,将与当前视频帧相邻的一个历史视频帧中目标物体对应的历史检测区域a,作为参考的对象。将当前视频帧中的图片的尺寸调整到300x300作为网络模型的输入,产生1000个第一候选检测区域,将与历史检测区域a的iou最大的第一候选检测区域作为当前视频帧的当前检测区域,这样就能保证人体检测框时刻定位同一目标物体。

作为一种可选的实施方式,将多个第一候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域包括:从多个第一候选检测区域中选择目标数量的目标候选检测区域,其中,每个目标候选检测区域的置信度,大于等于多个第一候选检测区域中除目标数量的目标候选检测区域之外的任一第一候选检测区域的置信度;将目标数量的目标候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域。

在该实施例中,在将多个第一候选检测区域中置信度最大的第一候选检测区域,确定为当前检测区域时,从多个第一候选检测区域中选择目标数量的目标候选检测区域,比如,选择三个目标候选检测区域b0、b1和b2,每个目标候选检测区域的置信度,大于等于多个第一候选检测区域中除目标数量的目标候选检测区域之外的任一第一候选检测区域的置信度,也即,这三个目标候选检测区域b0、b1和b2的置信度在多个当前检测区域中的置信度中最大。然后将目标数量的目标候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域,这样就能保证人体检测框时刻定位同一目标物体。

作为一种可选的实施方式,在步骤s202,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域之前,该方法还包括:对与当前视频帧相邻的一个历史视频帧进行检测,得到多个第二候选检测区域;在与当前视频帧相邻的一个历史视频帧,为目标视频流的第一个视频帧的情况下,将多个第二候选检测区域中置信度最大的第二候选检测区域,确定为历史检测区域,其中,置信度用于指示对应的第二候选检测区域被确定为历史检测区域的概率。

在该实施例中,在检测目标视频流中与目标物体相关联的当前检测区域之前,通过第一目标模型对与当前视频帧相邻的一个历史视频帧进行检测,得到多个第二候选检测区域和多个第二候选检测区域的置信度,该第二候选检测区域的置信度用于指示第二候选检测区域被确定为历史检测区域的概率,该历史检测区域为对与当前视频帧相邻的一个历史视频帧中的目标物体进行检测得到的结果。可选地,在与当前视频帧相邻的一个历史视频帧为目标视频流的第一个视频帧的情况下,将多个第二候选检测区域中置信度最大的第二候选检测区域,直接确定为历史检测区域。

在该实施例中,目标视频流的第一个视频帧,可以将通过由第一目标模型确定的多个候选框中置信度最大的侯选检测区域,确定为需要得到的物体检测区域的结果,而在后续视频帧中,会选择与前一视频帧的物体检测区域重叠度最大的候选检测区域作为需要确定的物体检测区域,以保证物体检测区域可以时刻定位同一个目标物体。

可选地,在该实施例中,在对目标物体的检测区域进行检测时,可以通过上述物体检测区域的检测方法每隔多帧对目标物体的检测区域进行检测,从而提高处理效率。可选地,第一视频帧通过上述方法已经得到对应的物体检测区域,第二视频帧为目标视频流中在上述第一视频帧之后的一个视频帧,如果第二视频帧和第一视频帧相隔第一数量的视频帧,则满足隔帧检测的条件,可以通过第一目标模型对第二视频帧进行检测,得到多个第三候选检测区域和多个第三候选检测区域的置信度,该第三候选检测区域的置信度用于指示第三候选检测区域被确定为与第二视频帧的目标物体相关联的检测区域的概率。

在通过第一目标模型对第二视频帧进行检测,得到多个第三候选检测区域和多个第三候选检测区域的置信度之后,可以将多个第三候选检测区域中,与第二视频帧相邻的上一视频帧中的目标物体对应的检测区域的重叠度最大的第三候选检测区域,确定为与第二视频帧中与目标物体相关联的物体检测区域。

该实施例考虑到处理的性能,并不是每个视频帧都经过物体区域的检测算法来获得物体检测区域,可以通过物体区域的检测算法检测每隔第一数量的视频帧检测一次,其中,第一数量越大,处理效率越高,时间越短。可选地,在当前视频帧的物体关键点的置信度普遍较低的情况下,通过人体检测算法对当前视频帧进行检测。

在该实施例中,并不是每个视频帧都经过人体检测算法来获得人体检测框,可以运用与当前视频帧相邻的一个历史视频帧的第二物体关键点集的检测结果,来生成当前视频帧中的与目标物体相关联的人体检测框。

该实施例的历史检测区域用于指示目标物体在与当前视频帧相邻的一个历史视频帧的图像中所显示的目标场景中所处的区域,可以根据历史检测区域内的目标物体的第二物体关键点集,来生成与当前视频帧的目标物体相关联的当前检测区域,该当前检测区域所指示的目标物体在当前视频帧的图像中所显示的目标场景中所处的区域,包括第二物体关键点集所处的区域,比如,该当前检测区域包括第二物体关键点集中所有的物体关键点,可以将包括第二物体关键点集的最小矩形框,沿竖方向扩展目标比例的边长,比如,扩展1/5边长,得到当前检测区域,从而实现确定目标视频中与目标物体相关联的当前检测区域。

作为另一种可选的实施方式,步骤s208,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集包括:在当前视频帧中的目标物体不完全位于确定后的当前检测区域内的情况下,以确定后的当前检测区域的中心为中心,对确定后的当前检测区域进行外扩处理,得到目标检测区域;根据目标检测区域内包括的目标物体的目标图像,获取第一物体关键点集。

在该实施例中,由于算法的准确性,确定后的当前检测区域不一定完全将目标物体检测框住,在当前视频帧中的目标物体不完全位于确定后的当前检测区域内的情况下,对确定后的当前检测区域进行外扩处理,可以以确定后的当前检测区域的中心为中心,对确定后的当前检测区域进行外扩处理,将确定后的当前检测区域的宽和高进行适应性增加,得到目标物体检测框,这样当前视频帧中的目标物体在目标场景中所处的区域完全位于目标物体检测框中,该目标物体检测框可以指示人体兴趣区域,进而对目标物体检测框内包括的目标物体的目标图像进行处理,得到第一物体关键点集。

作为另一种可选的实施方式,根据目标检测区域内包括的目标物体的目标图像,获取第一物体关键点集包括:对目标图像进行处理,得到第一物体关键点集的多组置信度,其中,每组置信度用于预测第一物体关键点集中的一个物体关键点的位置;通过每组置信度构建目标矩阵;根据每组置信度中的最大置信度在对应的目标矩阵中的行和列,确定第一目标坐标;通过第一目标坐标,确定第一物体关键点集中的一个物体关键点的位置。

在该实施例的物体关键点检测算法中,可以将多个包括物体的图像、多个物体关键点作为对第二子目标模型进行训练的数据,通过该训练数据对第二子模型基于深度学习进行训练,得到第二目标模型,其中,物体关键点用于指示物体上的一个部位,第二子目标模型可以为初始检测建立的模型。

可选地,该实施例的物体关键点检测算法是基于深度学习模型中的特征金字塔网络fpn,基础网络是精简后的网络(vgg)。可选地,该实施例将卷积层替换为残差结构(residualblock),并在卷积层后运用批量规范化(batchnormalization)和激活函数(prelu)以提升物体关键点检测的准确性。

该实施例通过第二目标模型,对目标物体检测框内的目标图像进行处理,可以将目标图像输入到fpn网络中,从而得到第一物体关键点集的热力图,对应于多个目标矩阵,该目标矩阵也即热力图矩阵,其中,目标图像包括目标物体,也即,该目标图像为包括人体区域的局部图像块。由fpn网络得到的热力图的尺寸与输入的目标图像的尺寸是成比例关系的,也即,得到的目标矩阵的大小与输入的目标图像也是具有对应关系的。通过fpn网络可以获取第一物体关键点集的多组置信度,每组置信度用于预测第一物体关键点集中的一个物体关键点的位置。通过每组置信度构建目标矩阵,其中,每组置信度中的每个置信度用于预测对应的物体关键点在目标物体上的位置。可选地,多个目标矩阵为66个矩阵,与66个物体关键点一一对应。可选地,从多个置信度中选择值最大的第一置信度,并根据第一置信度在目标矩阵中的行号和列号来确定第一目标坐标pm1,再通过第一目标坐标,确定第一物体关键点集中的一个物体关键点的位置。

在通过第一目标坐标,确定第一物体关键点集中的一个物体关键点的位置时,由于目标矩阵和目标矩阵网络的输入的目标图像是具有对应关系的,根据这种对应关系和由目标矩阵的最大置信度的行和列确定的第一目标坐标,可以反算出第一物体关键点在目标图像上的位置。可选地,如果目标图像是由初始图像确定的,则目标图像在初始图像中的位置和比例关系也是确定的,就可以计算出第一物体关键点在初始图像的位置。

作为另一种可选的实施方式,通过第一目标坐标,确定第一物体关键点集中对应的一个物体关键点的位置包括:根据每组置信度中的次大置信度在目标矩阵中的行和列,确定第二目标坐标;将第一目标坐标向第二目标坐标偏移目标距离;根据偏移目标距离后的第二目标坐标,确定与目标矩阵对应的一个物体关键点在目标物体上的位置。

在该实施例中,由于受噪声影响,热力图能量多数不是正态分布的,用最大置信度值预测点位并准确度低。在通过第一目标坐标,确定第一物体关键点集中对应的一个物体关键点的位置时,可以根据目标矩阵的第二置信度的行和列,确定与目标矩阵对应的第二目标坐标pm2,该第二置信度小于第一置信度且大于第三置信度,该第三置信度为多个置信度中除第一置信度和第二置信度之外的任一置信度,也即,该第二置信度为多个置信度中的次大置信度,进而将第一目标坐标向第二目标坐标偏移目标距离,比如,偏移目标距离后的第二目标坐标p=pm1+0.25*(pm2-pm1),进而根据偏移目标距离后的第二目标坐标,确定与目标矩阵对应的一个物体关键点在目标物体上的位置。

该实施例按照上述方法在目标物体上确定第一物体关键点集,比如,得到包括66个物体关键点的第一物体关键点集。

可选地,按照第一目标比例对当前物体检测区域进行调整;对确定后的当前物体检测区域内的包括目标物体的目标图像进行处理,得到第一物体关键点集。

可选地,在对确定后的目标物体检测区域内的包括目标物体的目标图像进行处理,得到第一物体关键点集中的物体关键点时,该方法还包括:按照第二目标比例对第一目标坐标进行调整,其中,第二目标比例为第一目标比例的倒数;将目标物体上与调整后的第一目标坐标所对应的点的位置,确定为第一物体关键点集中的物体关键点在目标物体上的位置。

在该实施例中,第一目标模型处理的目标图像有尺寸要求,比如,宽×高为192×256,也即,3:4比例。由于目标物体检测框难以保证3:4比例,则按照第一目标比例对目标物体检测框进行调整,比如,对目标物体检测按照3:4的比例切割,从而方便缩放到192×256,以作为第二目标模型的输入,进而通过第二目标模型,对确定后的当前检测区域内的包括目标物体的目标图像进行处理,得到第一物体关键点集。

在该实施例中,在从多个置信度中选择第一置信度,并根据第一置信度在目标矩阵中的行和列确定第一目标坐标之后,按照第二目标比例对第一目标坐标进行调整,比如,按照人体检测框的切割位置和缩放尺度,将第一目标坐标反算为原目标图像的坐标,进而将当前视频帧的目标物体上与调整后的第一目标坐标所对应的点,确定为第一物体关键点集中的物体关键点。

可选地,在该实施例中,热力图的尺寸和网络的输入(目标图像)是成比例关系的,根据这种比例关系和热力图的尺寸,可以反算出物体关键点在目标图像上的位置,由于目标图像来源于对确定后的当前检测区域进行外扩处理得到的目标检测区域,位置和比例关系也是确定的,就可以计算出物体关键点在目标检测区域的图像中的位置。

通过上述方法可以确定第一物体关键点集中的每一个物体关键点,进而通过关键点稳定算法,对第一物体关键点集中的每一物体关键点的位置进行稳定。

图4是根据本发明实施例的一种图像处理方法的流程图。如图4所示,该方法包括以下步骤:

步骤s402,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域。

需要说明的是,该步骤s402提供的技术方案可以包括步骤s202所提供的技术方案。

步骤s404,根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域。

需要说明的是,该步骤s404提供的技术方案可以包括步骤s204和步骤s206所提供的技术方案。

步骤s406,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集。

需要说明的是,该步骤s406提供的技术方案可以包括步骤s208所提供的技术方案。

步骤s408,根据在历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

需要说明的是,该步骤s408提供的技术方案可以包括步骤s210和步骤s212所提供的技术方案。

步骤s410,根据当前目标物体关键点集的位置,从当前视频帧中识别出目标物体的部位。

在本申请上述步骤s410提供的技术方案中,当前目标物体关键点集为对第一目标物体关键点集进行稳定调整后的关键点集,与历史视频帧中的目标物体的关键点集之间的抖动幅度小,消除了关键点的预测误差。另外,当前目标物体关键点集中的每一个关键点可以用于指示目标物体的一个部位,比如,当目标物体为人体时,当前目标物体关键点集中的关键点有66个,用于指示人体上的66个不同的部位,且覆盖了物体的轮廓。在此基础上,根据当前目标物体关键点集的位置,从当前视频帧中准确识别出目标物体的部位,比如,识别出人体的耳朵、嘴巴、鼻子、眼睛等部位。从当前视频帧中识别出的目标物体的部位所在的区域和与历史视频帧中识别出目标物体的部位所在的区域,二者之间的抖动幅度小。

步骤s412,对识别出的目标物体的部位进行调整处理。

在本申请上述步骤s412提供的技术方案中,在从当前视频帧中识别出目标物体的部位之后,显示识别出的目标物体的部位的图像,进而接收用于对部位进行调整处理的调整处理指令。可选地,用户根据显示出的目标物体的部位的图像,确定需要进行调整处理的部位,通过该对需要调整处理的部位进行操作,触发调整处理指令,进而响应该调整处理指令,对目标物体的部位进行实时调整处理。比如,用户通过调节“瘦腰”功能的滑竿,触发瘦腰指令,响应瘦腰指令以实时调节瘦腰的程度,该实施例同样可以实现长腿、提臀等部位的调整处理,此次不做限定。

步骤s414,显示调整处理后的目标物体的图像。

在本申请上述步骤s414提供的技术方案中,调整处理后的目标物体的图像可以呈现出对目标物体的部位进行调整的效果,在对目标物体的部位进行调整的效果未达到预定效果的情况下,可以继续对识别出的目标物体的部位进行调整处理。由于该实施例基于稳定处理后的第一物体关键点集来对目标物体的部位进行调整,使得对目标物体的调整效果更加自然,实现了实时对目标物体进行细致处理,避免了由于目标视频流中的前后视频帧出现抖动导致对目标物体的处理效果差的问题,从而使得对目标物体的处理效果更加真实、自然,减小了对目标物体的处理效果与用户接受的自然美化效果差距。

在该实施例中,物体检测区域的检测算法和物体关键点的检测算法基于深度神经网络方法,稳定算法可以基于时空滤波算法,这三者是物体关键点实时追踪的核心,决定着最终输出的物体关键点的准确性和前后视频帧间的稳定性;采用深度网络方法使得在领域数据上有很好的收敛和泛化性能,使人体检测框和点定位都能达到很好的精度;对当前检测区域进行稳定,目的是为物体关键点的检测提供稳定的背景,减少背景变化造成的误差,对第一物体关键点集的位置的稳定调整,则可以消除点的预测误差,在前后视频帧图片中表现出更强的时空一致性,减小抖动,提高了对物体关键点进行检测的准确性,进而通过稳定处理后的物体关键点对目标物体的部位进行调整,使得对物体的调整效果更加自然,避免了在视频中的前后视频帧出现抖动的情况下,对目标物体的处理效果差,从而实现了提高对目标物体的处理效率的技术效果。

下面结合优选的实施例对本发明的技术方案进行说明,可以以目标物体为人体,检测区域为人体框,以及人体检测算法及其稳定追踪算法、66个人体关键点检测算法及其稳定追踪算法进行举例说明。

图5是根据本发明实施例的一种人体关键点定位方法的流程图。如图5所示,该方法包括以下步骤:

步骤s501,输入一个视频帧图片。

该实施例的视频可以为短视频,该短视频以人物为主题,包括多个视频帧图片,输入一个视频帧图片,该视频帧图片包括人体的图像,在当前视频帧图片中定位并追踪人体的图像。

步骤s502,通过人体检测算法对当前视频帧图片进行检测,得到当前人体检测框。

该实施例通过目标检测算法对当前视频帧进行检测的结果可以是由矩形检测框进行表示的检测区域,该检测框用于表示人体所在的位置及其大小。可选地,在该实施例中,目标检测算法包括人体检测算法,该人体检测算法基于较高性能的深度神经网络,其人体检测模型可以是基于开源的单次多框,检测器ssd架构训练的mobilenetv1网络模型,且该网络模型的通道数可以根据移动端需求减少为原来的1/4,从而方便模型的部署和加速。该实施例通过深度神经网络模型,可以使得在领域数据上有很好的收敛和泛化性能,从而使人体检测框的检测达到很好的精度,其中,泛化性能指模型除了在训练数据和测试数据上表现很好之外,在实际场景中的更多数据上的表现也很好。

可选地,该实施例将当前视频帧图片的尺寸调整到300x300作为网络模型的输入,该网络模型可以产生1000个候选人体检测框,该网络模型还可以输出候选人体检测框的置信度,该置信度用于指示侯选框被选中为人体检测框的概率。

该实施例通过人体检测算法检测人体得到的矩形检测框为人体检测框,该人体检测框可以将人体所在的位置和大小用矩形框起来。考虑到短视频场景大多数都以一个人物为主题,该实施例以一个人物进行举例,只检测并跟踪一人。

在输入一个视频帧图片之后,通过人体检测算法对当前视频帧图片进行检测。在当前视频帧图片为视频的第一个视频帧图片时,将当前视频帧图片的1000个候选人体检测框中置信度最大的人体检测框确定为人体所在框,得到当前人体检测框a。

在当前视频帧图片不为视频的第一个视频帧图片时,需要进行多框校验,需要从网络模型根据当前视频帧图片输出的1000个候选人体检测框中,选择其中置信度最大的3个候选人体检测框b0、b1和b2和当前视频帧图片的前一视频帧图片的人体检测框a进行校验。

图6是根据本发明实施例的一种多框校验的示意图。如图6所示,人体检测框b0、b1和b2和人体检测框a进行校验,分别计算人体检测框a与人体检测框b0、b1和b2的重叠度iou,iou的计算为也即,为a和b相交的第一面积,与a和b相并的第二面积之比。

从人体检测框b0、b1和b2中选择与人体检测框a的iou最大的检测框b1作为当前视频帧图片的当前人体检测框,从而保证人体检测框时刻都定位同一个人。

可选地,如果每个帧视频帧图片都按照上述人体检测算法进行检测,则整体更耗时一些。该实施例考虑到性能问题,并不是每个视频帧图片都需要经过上述人体检测算法来获得当前人体检测框,也会运用上一视频帧的人体关键点检测结果来生成当前人体检测框。也即,根据前一视频帧图片的人体关键点的位置计算出一个人体所在的人体检测框,作为当前视频帧图片的当前人体检测框。

在该实施例中,对视频中的视频帧图片进行隔帧检测,比如,每隔4个视频帧图片按照上述人体检测算法检测一次,可以提高运行效率,隔的视频帧图片的数量越多,效率越高。只有当前一视频帧图片的人体关键点检测置信度普遍较低的情况下,才按照上述人体检测算法执行对当前视频帧图片的检测。

步骤s503,利用上一视频帧图片的检测结果稳定当前视频帧图片的人体检测框,得到稳定后的当前人体检测框,并缓存稳定后的当前人体检测框。

当前人体检测框的区域决定了人体关键点检测算法的输入,而区域中人体所在背景的稳定性,也影响着视频时序上人体关键点的稳定性,因此该实施例采取人体检测的稳定追踪算法,利用上一视频帧图片的检测结果稳定当前视频帧图片的人体检测框,得到稳定后的当前人体检测框,并缓存稳定后的当前人体检测框,从而为当前视频帧图片的人体关键点的检测,提供稳定的背景,使得前后视频帧图片的人体关键点模型输入的背景在时域上是局部稳定的,减少由于背景变化造成的误差。其中,人体检测的稳定追踪算法,也即,稳框算法,用于对人体检测框进行稳定操作。

可选地,在利用上一视频帧图片的检测结果稳定当前视频帧图片的人体检测框时,设定如果当前视频帧图片的当前人体检测框和前一视频帧图片的人体检测框的iou大于目标阈值时,则继续沿用前一视频帧图片的人体检测框作为当前视频帧图片的人体检测框,其中,目标阈值可以为0.4。也即,该实施例既可以根据前视频帧图片的人体关键点的位置计算出一个人体所在的框,作为当前视频帧图片的当前人体检测框,也可以利用前一视频帧图片的人体检测框对当前视频帧图片的当前人体检测框进行稳框。

可选地,如果当前视频帧图片为视频的第一个视频帧图片,则不需要对当前视频帧图片的当前人体检测框进行稳框了。

图7是根据本发明实施例的一种视频帧图片的人体检测框的位置变化的示意图。如图7所示,人体检测框的位置p(x或y分量)从原来的曲线轨迹转化为阶梯轨迹,使得人体检测框的大小和位置在大部分局部时域上都是不变的,使得前后视频帧图片的人体关键点模型输入的背景在时域上是局部稳定的。

步骤s504,将局部人体兴趣区域输入到人体关键点检测算法,得到第一人体关键点集。

该实施例的人体关键点检测算法基于深度神经网络,使得在领域数据上有很好的收敛和泛化性能,使点定位达到很好的精度,可以通过时空滤波算法进行计算。

可选地,该实施例的人体关键点检测算法是基于深度学习模型的中的特征金字塔网络fpn。该fpn主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量情况下,大幅度提升了小物体检测的性能。

图8是根据本发明实施例的一种特征金字塔网络结构的示意图。如图8所示,输入视频帧图片(image),得到关键点热力图(heatmaps),基础网络是精简后的vgg网络。可选地,该实施例将卷积层替换为残差结构(residualblock),并在卷积层后运用批量规范化(batchnormalization)和prelu激活函数以提升关键点检测的准确性。

需要说明的是,该实施例的人体关键点检测算法是基于fpn结构设计仅为本发明实施例的一种举例,并不限于该实施例的人体关键点检测算法仅基于fpn结构设计,还可以是基于hourglass结构设计,基础网络也可以是vgg网络、mobilenetv1、mobilenetv2、shufflenetv1、shufflenetv2等小网络及其变种,此处不做任何限制。

图9是根据本发明实施例的一种人体关键点分布的示意图。如图9所示,包括1~66个人体关键点,用于指示人体上的一个部位在人体上的位置。如表1所示,表1为人体关键点定义表,对人体关键点进行了定义,其中,左右按照图片上的方位来定。

表1人体关键点定义表

该实施例的人体关键点网络模型的训练基于大量严格标注的数据,如果标注中出现歧义,就会造成模型的训练失效。按照图9中的人体模型定义人体关键点的位置比较清晰,但在实际场景中,人体的运动是非常复杂的,表1中的“左”。“右”、“内”、“外”通常就很难区分。因而该实施例还需要定义标准,比如,从左到右身体上先出现的一侧为身体左侧,从左到右先出现的肩膀为左肩膀,从左到右先出现的大腿为左大腿;内外是相对身体的正中定义的。根据这个标准,数据标注就不会出现歧义。

在利用上一视频帧图片的检测结果稳定当前视频帧图片的人体检测框,得到稳定后的人体检测框之后,将该兴趣区域输入到人体关键点检测算法中,得到第一人体关键点集。

可选地,由于算法准确度的问题,根据稳定机制定位的人体检测框不一定刚好把人体检测框住,为了保证将人体全部包含进去,该实施例需要对人体所在矩形区域进行适当外扩,可以保持人体检测框的中心不变,使人体检测框的宽和高适应性增大,也即,将人体检测框的中心向外放大一点。

可选地,在该实施例中,热力图的尺寸和网络的输入图像是成比例关系的,根据这种比例关系和热力图的尺寸,可以反算出人体关键点在目标图像上的位置,由于目标图像来源于原图,原图位置和比例关系也是确定的,就可以计算出人体关键点在原图中的位置。

可选地,该实施例人体关键点检测算法其输入要求是宽192高256,也即,宽高之比为3:4。由于外扩的历史检测区域难以保证比例为3:4,需要将外扩的历史检测区域处理为3:4,从而方便缩放到192×256,以作为人体关键点检测算法的输入。外扩的历史检测区域所包括的区域可以为兴趣区域,为历史检测区域二次处理的结果。在将外扩的历史检测区域处理为3:4之后,将其输入到fpn网络中,预测得到66个人体关键点的热力图(heatmaps),也即,66个矩阵,该66个人体关键点与66个矩阵一一对应,每个矩阵用于表示矩阵中的元素的位置的置信度。可选地,该实施例根据热力图矩阵的最大置信度的位置(行号、列号)可映射原历史检测区域包括的图像,反算出关键点在原历史检测区域包括的图像中人体上的坐标值,也即,点位。

但是,由于受到噪声影响,热力图多数不是正态分布的,用最大置信度预测点位并不准确,因此该实施例对每张热力图采取最大值点位pm1向次大值点位pm2偏移1/4的距离进行预测:

p=pm1+0.25*(pm2-pm1)

从而得到66个关键点的局部坐标。然后,根据人体检测框的切割位置和缩放尺度3:4反算出原图坐标,确定出66个关键点在人体上的坐标。

步骤s505,利用历史视频帧图片的检测结果稳定当前视频帧图片的第一人体关键点集,得到第二人体关键点集,并缓存第二人体关键点集。

该实施例的人体关键点检测的稳定追踪算法,也即,稳点算法,用于对人体的人体关键点进行稳点操作。在将局部人体兴趣区域输入到人体关键点检测算法,得到第一人体关键点集之后,通过人体关键点检测的稳定追踪算法,利用历史视频帧图片的检测结果稳定当前视频帧图片的第一人体关键点,得到第二人体关键点集,并缓存及输出第二人体关键点集。

在该实施例中,根据人体关键点算法可以计算每帧的人体关键点,但由于预测误差的存在,使得视频中看来点位存在抖动。为减少视频帧间点位的抖动,需要一个时域点稳定算法。假设某个关键点在第t帧位置为pt(x分量或y分量),可以用与当前视频帧相邻的历史视频帧图片中与pt对应的点的位置{pt-i}i=0:w进行加权,对pt进行时空滤波,重新进行计算:

其中,历史视频帧图片为与当前视频帧相邻的前几视频帧图片,w用于表示历史视频帧图片的数量,也即,基于时空滤波算法的窗口大小。根据帧率选择合适的c1和c2值,对66个关键点分别作平滑处理,从而保证点位在视频序列上是平稳的。

该实施例可以消除关键点的预测误差,在前后视频帧图片中表现出更强的时空一致性,减小抖动,从而保证前后视频帧图片的人体关键点的准确性和稳定性。

该实施例通过将视频帧图片输入到人体检测算法中检测人体检测框,得到当前人体检测区域,采取人体检测的稳定追踪算法利用前一视频帧图片的检测结果对当前视频帧图片的当前人体检测区域进行稳框,得到历史检测区域,根据稳定后的历史检测区域进行外扩,以选定人体兴趣区域,将外扩后的历史检测区域输入到人体关键点检测算法中,得到第一人体关键点集;基于人体关键点检测的稳定追踪算法,利用历史帧的检测结果对当前第一人体关键点集也进行稳定操作,得到第二人体关键点集,从而通过第二人体关键点对人体的部位进行调整,满足人体美化的需求,进而达到细致的美化效果,接近用户接受的自然美化效果。

在该实施例中,人体检测算法和人体关键点检测算法基于深度神经网络方法,稳定算法可以基于时空滤波算法,这三者是人体关键点实时追踪的核心,决定着最终输出的人体关键点的准确性和前后帧间的稳定性;采用深度网络方法使得在领域数据上有很好的收敛和泛化性能,使人体检测框和点定位都能达到很好的精度;稳框算法的作用是为人体关键点检测提供稳定的背景,减少背景变化造成的误差,稳点算法则可以消除点的预测误差,在前后视频帧图片中表现出更强的时空一致性,减小抖动。

下面以目标物体为动物对该实施例的物体关键点的定位方法进行举例说明。

该实施例的视频可以为动物短视频,包括多个视频帧图片,该视频帧图片包括动物的图像,比如,包括猫、狗等动物的图像,在当前视频帧图片中定位并追踪动物的图像。

该实施例可以通过动物检测算法对当前视频帧进行检测,得到动物检测框,其中,动物检测算法可以同人体检测算法,都是基于较高性能的深度神经网络进行确定,使动物检测框的检测达到很好的精度。

当前动物检测框的区域决定了动物关键点检测算法的输入,而区域中动物所在背景的稳定性,也影响着视频时序上动物关键点的稳定性,因此该实施例需要稳定当前视频帧图片的动物检测框。如果当前视频帧图片的当前动物检测区域和前一视频帧图片的动物检测框的重叠度大于目标阈值时,则继续沿用前一视频帧图片的动物检测框作为当前视频帧图片的动物检测框,并缓存稳定后的当前动物检测框。可选地,如果当前视频帧图片为视频的第一个视频帧图片,则不需要对当前视频帧图片的当前动物检测框进行稳框。

在利用上一视频帧图片的检测结果稳定当前视频帧图片的动物检测框之后,通过动物关键点检测算法得到第一动物关键点集,该第一动物关键点集包括多个动物关键点,用于指示动物的部位,比如,用于指示狗的尾巴、四肢等,该动物关键点检测算法同人体关键点检测算法,都是基于深度神经网络进行确定。

在得到第一动物关键点集之后,利用历史视频帧图片的动物关键点集的检测结果,通过时空滤波算法来稳定当前视频帧图片的第一动物关键点集,得到第二动物关键点集,并缓存第二动物关键点集。

在该实施例中,动物检测算法可以同上述人体检测算法,动物关键点检测算法可以同上述人体关键点检测算法,稳定算法可以基于时空滤波算法,这三者都是动物关键点实时追踪的核心,决定着最终输出的动物关键点的准确性和前后帧间的稳定性;另外,在算法中采用深度网络方法使得在领域数据上有很好的收敛和泛化性能,使动物检测框和点定位都能达到很好的精度。

需要说明的是,该实施例的目标物体为人体、动物进而本发明实施例的一种举例,并不代表该实施例的目标物体仅为人体、动物,任何需要对关键点进行定位以提高定位的准确性的物体都在本发明实施例的范围之内,此处不再一一举例说明。

本发明实施例的应用环境可以但不限于参照上述实施例中的应用环境,本实施例中对此不再赘述。本发明实施例提供了用于实施上述人体关键点的定位方法的一种可选的具体应用。

该实施例的方案可以实现移动端上覆盖人体轮廓的人体关键点的实时定位,首先在视频中定位并追踪人体,并在局部检测并稳定追踪局部关键点,人体检测模型和关键点检测模型合计3m,可以支持在移动端30fps的实时美体,效果更自然。

该实施例可以应用于短视频app、手机相机功能、p图软件等,可以在自拍、跳舞等场景中,实现瘦脸,涂唇,磨皮等等,也可以实现丰胸、瘦腰、长腿、瘦腿等,并且可以实现实时瘦腰、拉腿、提臀特效,能够适应正面、侧身、背身、下蹲以及四肢姿态复杂的动作,满足多样场景的人体美化需求。

图10是根据本发明实施例的一种关键点定位的示意图。如图10所示,该实施例为覆盖人体轮廓的移动端实时关键点追踪方法,当前视频帧图片中包括一人体,该人体包括66个关键点,用于指示人体上的部位的位置,如表1所示。对该人体的66个关键点进行稳定操作,利用历史视频帧图片的检测结果对当前视频帧图片的66个关键点进行稳定操作,从而得到稳定后的66个关键点。

图11是根据本发明实施例的一种对目标人体的人体检测框进行检测的场景示意图。如图11所示,通过移动终端拍摄目标人体的跳舞视频,对视频中的目标人体进行检测,确定出目标人体的人体检测框,可以将目标人体的轮廓框住。其中,a人体检测框用于指示目标人体在跳舞视频的当前视频帧的图像中所显示的目标场景中所处的区域的位置和范围,b人体检测框用于指示目标人体在与当前视频帧相邻的历史视频帧的图像中所显示的目标场景中所处的区域的位置和范围。通过a人体检测框与b人体检测框相交的面积比a人体检测框与b人体检测框相并的面积,得到重叠度:

在a人体检测框与b人体检测框的重叠度大于目标阈值的情况下,将b人体检测框直接确定为当前视频帧的人体检测框,使得人体检测线框的大小和位置在大部分局部时域上是不变的,从而实现对当前视频帧的人体检测框的稳定处理。

图12是根据本发明实施例的一种对目标人体的人体关键点进行检测的场景示意图。如图12所示,在确定图11所示的人体检框b为当前视频帧的人体检测框之后,将人体检框b包括的图像输入到关键点检测算法中,得到多个人体关键点。可选地,从多个人体关键点中选择一个人体关键点,基于稳定算法利用历史视频帧的目标人体关键点的位置b1、位置b2、位置b3对当前视频帧的对应的目标人体关键点的位置a进行稳定操作。可以对位置b1、位置b2、位置b3进行加权求和,基于时空滤波对位置a进行平滑处理,从而得到目标关键点在目标人体上的位置a。该位置a为对目标人体关键点在目标人体上的位置a进行稳定之后的位置,从而减少视频帧间点位的抖动。

图13是根据本发明实施例的一种美体功能入口的示意图。如图13所示,在终端上,进入美体功能入口,对视频帧中的人体进行检测。在对当前视频帧图片的66个关键点进行稳定操作之后,消除了点的预测误差,使得在前后视频帧图片中表现出更强的时空一致性之后,通过稳定后的关键点对人体的部位进行调整,比如,选择“瘦腰”功能,通过调节“瘦腰”功能的滑竿,以实时调节瘦腰的程度,从而实现对人体的瘦腰,达到更细致的美化效果,使得更接近用户接受的自然美化效果。

图14是根据本发明实施例的一种瘦身前后的对比示意图。如图14所示,在终端上,进入美体功能入口,对视频帧中的人体进行检测。在对当前视频帧图片的66个关键点进行稳定操作之后,通过稳定后的关键点对人体的整体部位进行调整,比如,选择整体瘦身功能,实现对人体的瘦身,达到更细致的美化效果,使得更接近用户接受的自然美化效果。

该实施例可以辅助实现瘦身、长腿等美体功能,以及加载身体挂件,避免了针对单张图的ps方案需要人工干预,耗时耗力,限制应用场景的缺陷,也表面了对人体简单拉伸,效果并不真实的缺陷,从而提高了对视频中的对象进行处理的效率,提升了用户体验。

需要说明的是,通过上述方法可以对每个人体关键点都进行稳定操作,从而实现对多个人体关键点分别作平滑处理,保证点位在视频序列上是平稳的。

作为另一种可选示例,该实施例进入美体功能入口,对视频帧中的人体进行检测。在对当前视频帧图片的66个关键点进行稳定操作之后,消除了点的预测误差,使得在前后视频帧图片中表现出更强的时空一致性之后,通过稳定后的人体关键点对人体的部位进行调整,比如,选择“瘦腰”功能,通过调节“瘦腰”功能的滑竿,以实时调节瘦腰的程度,从而实现对人体的瘦腰,达到更细致的美化效果,使得更接近用户接受的自然美化效果。

该实施例通过稳框算法的为人体关键点检测提供稳定的背景,减少背景变化造成的误差,稳点算法则可以消除点的预测误差,在前后视频帧图片中表现出更强的时空一致性,减小抖动,进而通过稳定处理后的人体关键点对目标人体的部位进行调整,使得对对象的调整效果更加自然,避免了在视频中的前后视频帧出现抖动的情况下,对目标人体的处理效果差,从而实现了提高对目标人体的处理效率的技术效果。

可以辅助实现瘦身、长腿等美体功能,以及加载身体挂件,避免了针对单张图的ps方案需要人工干预,耗时耗力,限制应用场景的缺陷,也表面了对人体简单拉伸,效果并不真实的缺陷,从而提高了对视频中的对象进行处理的效率,提升了用户体验。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

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

根据本发明实施例另一方面,还提供了一种用于实施上述物体关键点的定位方法的物体关键点的定位装置。图15是根据本发明实施例的一种物体关键点的定位装置的示意图。如图15所示,该物体关键点的定位装置150可以包括:检测单元10、第一获取单元20、第二获取单元30、定位单元40、第三获取单元50和调整单元60。

检测单元10,用于对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域。

第一获取单元20,用于获取在目标视频流的历史视频帧中目标物体对应的历史检测区域。

第二获取单元30,用于根据历史检测区域和当前检测区域,获取确定后的当前检测区域。

定位单元40,用于基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集。

第三获取单元50,用于获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集。

调整单元60,用于根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

第二获取单元30包括:获取模块,用于当历史视频帧为与当前视频帧相邻的一个历史视频帧时,根据历史检测区域和当前检测区域,获取确定后的当前检测区域。

需要说明的是,该实施例中的检测单元10可以用于执行本申请实施例中的步骤s202,该实施例中的第一获取单元20、可以用于执行本申请实施例中的步骤s204,该实施例中的第二获取单元30可以用于执行本申请实施例中的步骤s206,该实施例中的定位单元40可以用于执行本申请实施例中的步骤s208,该实施例中的第三获取单元50可以用于执行本申请实施例中的步骤s210,该实施例中的调整单元60可以用于执行本申请实施例中的步骤s212。

根据本发明实施例另一方面,还提供了一种用于实施上述图像处理方法的图像处理装置。图16是根据本发明实施例的一种图像处理装置的示意图。如图16所示,该图像处理装置160可以包括:检测单元70、获取单元80、定位单元90、第一调整单元100、识别单元110、第二调整单元120和显示单元130。

检测单元70,用于对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域。

获取单元80,用于根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域。

定位单元90,用于基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集。

第一调整单元100,用于根据在历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

识别单元110,用于根据当前目标物体关键点集的位置,从当前视频帧中识别出目标物体的部位。

第二调整单元120,用于对识别出的目标物体的部位进行调整处理。

显示单元130,用于显示调整处理后的目标物体的图像。

需要说明的是,该实施例中的检测单元70可以用于执行本申请实施例中的步骤s402,该实施例中的获取单元80可以用于执行本申请实施例中的步骤s404,该实施例中的定位单元90可以用于执行本申请实施例中的步骤s406,该实施例中的第一调整单元100可以用于执行本申请实施例中的步骤s408,该实施例中的识别单元110可以用于执行本申请实施例中的步骤s410,该实施例中的第二调整单元120可以用于执行本申请实施例中的步骤s412,该实施例中的显示单元130可以用于执行本申请实施例中的步骤s414。

在该实施例中,由于从目标视频流的当前视频帧中,检测目标物体的当前物体检测区域,并根据历史视频帧中的目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集,根据在目标视频流的历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置,实现了对物体关键点进行稳定,避免了视频帧间物体关键点的抖动,从而实现了提高对物体关键点进行定位的准确性的技术效果,进而解决了相关技术对物体关键点进行检测的准确性低的技术问题。

此处需要说明的是,上述单元和模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本发明实施例的又一方面,还提供了一种用于实施上述物体关键点的定位方法的电子装置。

图17是根据本发明实施例的一种电子装置的结构框图。如图17所示,该电子装置包括存储器172和处理器174,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;

s2,获取在目标视频流的历史视频帧中目标物体对应的历史检测区域;根据历史检测区域和当前检测区域,获取确定后的当前检测区域;

s3,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;

s4,获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集;

s5,根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;

s2,根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域;

s3,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;

s4,根据在历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置;

s5,根据当前目标物体关键点集的位置,从当前视频帧中识别出目标物体的部位;

s6,对识别出的目标物体的部位进行调整处理;

s7,显示调整处理后的目标物体的图像。

可选地,本领域普通技术人员可以理解,图17所示的结构仅为示意,电子装置也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图17其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图17中所示更多或者更少的组件(如网络接口等),或者具有与图17所示不同的配置。

其中,存储器172可用于存储软件程序以及模块,如本发明实施例中的媒体文件的投放方法和装置对应的程序指令/模块,处理器174通过运行存储在存储器172内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的物体关键点的定位方法。存储器172可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器172可进一步包括相对于处理器174远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器172具体可以但不限于用于存储目视频的视频帧、人体检测框、物体关键点等信息。作为一种示例,如图10所示,上述存储器172中可以但不限于包括上述物体关键点的定位装置110中的检测单元10、第一获取单元20、第二获取单元30、定位单元40、第三获取单元50和调整单元60。此外,还可以包括但不限于上述媒体文件的投放装置中的其他模块单元,本示例中不再赘述。

上述的传输装置176用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置176包括一个网络适配器(networkinterfacecontroller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置176为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

此外,上述电子装置还包括:显示器178,用于显示上述目标代码在第一目标函数中的执行状态;连接总线180,用于连接上述电子装置中的各个模块部件。

根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;

s2,获取在目标视频流的历史视频帧中目标物体对应的历史检测区域;根据历史检测区域和当前检测区域,获取确定后的当前检测区域;

s3,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;

s4,获取在目标视频流的历史视频帧中目标物体对应的第二物体关键点集;

s5,根据第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

根据与当前视频帧相邻的一个历史视频帧中的历史检测区域,对当前检测区域进行调整。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

当历史视频帧为与当前视频帧相邻的一个历史视频帧时,根据历史检测区域和当前检测区域,获取确定后的当前检测区域。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,当历史视频帧为与当前视频帧相邻的一个历史视频帧时,获取历史检测区域与当前检测区域之间的重叠度;

s2,在重叠度大于目标阈值的情况下,将历史检测区域作为确定后的当前检测区域;

s3,在重叠度小于等于目标阈值的情况下,直接将当前检测区域作为确定后的当前检测区域。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,当历史视频帧为与当前视频帧相邻的一个历史视频帧时,将第二物体关键点集的位置确定为当前目标物体关键点集的位置;或者

s2,当历史视频帧为与当前视频帧相邻的多个历史视频帧时,通过多组第二物体关键点集的位置对第一物体关键点集的位置进行稳定调整,得到当前目标物体关键点集的位置,其中,多个历史视频帧与多组第二物体关键点集一一对应。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,从第一物体关键点集中确定待稳定调整的第一目标物体关键点的位置;

s2,从每组第二物体关键点集中,确定与第一目标物体关键点对应的第二目标物体关键点的位置,得到多个第二目标物体关键点的位置,其中,第二目标物体关键点所指示的目标物体的部位和第一目标物体关键点所指示的目标物体的部位相同;

s3,获取多个第二目标物体关键点的位置的加权和;

s4,通过目标视频流的帧率确定目标系数;

s5,根据加权和与目标系数对第一目标物体关键点的位置进行平滑处理,得到稳定调整后的第一目标物体关键点的位置。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,对当前视频帧进行检测,得到多个第一候选检测区域;

s2,将多个第一候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

当历史视频帧为与当前视频帧相邻的一个历史视频帧时,将多个第一候选检测区域中,与历史检测区域的重叠度最大的第一候选检测区域,确定为当前检测区域。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,在对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域之前,对与当前视频帧相邻的一个历史视频帧进行检测,得到多个第二候选检测区域;

s2,在与当前视频帧相邻的一个历史视频帧,为目标视频流的第一个视频帧的情况下,将多个第二候选检测区域中置信度最大的第二候选检测区域,确定为历史检测区域,其中,置信度用于指示对应的第二候选检测区域被确定为历史检测区域的概率。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,在当前视频帧中的目标物体不完全位于确定后的当前检测区域内的情况下,以确定后的当前检测区域的中心为中心,对确定后的当前检测区域进行外扩处理,得到目标检测区域;

s2,根据目标检测区域内包括的目标物体的目标图像,获取第一物体关键点集。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,对目标图像进行处理,得到第一物体关键点集的多组置信度,其中,每组置信度用于预测第一物体关键点集中的一个物体关键点的位置;

s2,通过每组置信度构建目标矩阵;

s3,根据每组置信度中的最大置信度在对应的目标矩阵中的行和列,确定第一目标坐标;

s4,通过第一目标坐标,确定第一物体关键点集中的一个物体关键点的位置。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

根据每组置信度中的次大置信度在目标矩阵中的行和列,确定第二目标坐标;将第一目标坐标向第二目标坐标偏移目标距离;

根据偏移目标距离后的第二目标坐标,确定与目标矩阵对应的一个物体关键点在目标物体上的位置。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,对目标视频流的当前视频帧中的目标物体进行检测,获得对目标物体的当前检测区域;

s2,根据在目标视频流的历史视频帧中目标物体对应的历史检测区域和当前检测区域,获取确定后的当前检测区域;

s3,基于确定后的当前检测区域,对目标物体进行关键点定位,得到第一物体关键点集;

s4,根据在历史视频帧中目标物体对应的第二物体关键点集的位置,对第一物体关键点集的位置进行稳定调整,得到当前视频帧中的当前目标物体关键点集的位置;

s5,根据当前目标物体关键点集的位置,从当前视频帧中识别出目标物体的部位;

s6,对识别出的目标物体的部位进行调整处理;

s7,显示调整处理后的目标物体的图像。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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