掌桥专利:专业的专利平台
掌桥专利
首页

一种图像特效的生成方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 11:45:49


一种图像特效的生成方法、装置、电子设备及存储介质

技术领域

本公开涉及计算机领域,尤其涉及一种图像特效的生成方法、装置、电子设备及存储介质。

背景技术

为了增加用户在拍摄过程中的可玩性以及多样性,现有的应用为用户提供了很多拍摄功能及特效,如“鼻尖跳舞”功能,能够为用户呈现鼻子移动的视觉效果。

对于“鼻尖跳舞”功能,目前的实现方式为:在用户对自己的鼻子施加外力,使得自己的鼻子运动后,电子设备通过预设的算法或者函数,获取该用户的鼻子的运动轨迹,根据该运动轨迹生成相应的特效,以实现模拟鼻子移动的效果。

但是,上述实现方式只是简单的考虑了鼻子的运动轨迹,可能会导致呈现出的特效是机械的运动,效果不够逼真。

发明内容

本公开提供一种图像特效的生成方法、装置、电子设备及存储介质,以至少解决相关技术中,显示特效时,效果不够逼真的问题。本公开的技术方案如下:

根据本公开实施例的第一方面,提供一种图像特效的生成方法,包括:获取当前待处理图像帧,当前待处理图像帧包括目标对象;获取目标对象的历史运动信息、目标对象在历史时长内的目标模拟外力信息以及目标对象在历史时长内的目标运动轨迹;历史运动信息包括目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息;历史时长包括上一待处理图像帧与当前待处理图像帧之间的时间间隔;根据历史运动信息、目标模拟外力信息、目标运动轨迹以及历史时长,确定目标对象的当前目标位置;将当前待处理图像帧中的目标对象移动到当前目标位置,以生成当前已渲染图像帧。

可选的,在当前待处理图像帧为首个获取到的图像帧的情况下,上述图像特效的生成方法还包括:获取当前待处理图像帧对应的目标特效信息;目标特效信息包括目标对象的类型和/或当前待处理图像帧对应的多媒体资源类型;根据目标特效信息及预设的第一映射关系,确定与当前待处理图像帧对应的目标运动轨迹集合;第一映射关系包括特效信息与运动轨迹集合的对应关系,运动轨迹集合包括不同对象在不同时间间隔内的运动轨迹。

可选的,上述“获取目标对象在历史时长内的目标运动轨迹”,包括:基于历史时长和目标运动轨迹集合,确定目标对象在历史时长内的目标运动轨迹;目标运动轨迹集合包括目标对象在不同时间间隔内的运动轨迹。

可选的,上述“获取目标模拟外力信息”,包括:基于历史时长及预设的第二映射关系,确定目标模拟外力信息;第二映射关系中包括目标对象在不同时间间隔内的模拟外力信息。

可选的,上述“根据历史运动信息、目标模拟外力信息、目标运动轨迹以及历史时长,确定目标对象的当前目标位置”,包括:根据历史位置信息、历史速度信息、目标模拟外力信息以及历史时长,确定目标对象的在当前已渲染图像帧中的当前位置信息;获取目标对象在当前待处理图像中的当前初始位置;根据当前位置信息、目标运动轨迹以及当前初始位置,确定当前目标位置。

可选的,上述“根据历史位置信息、历史速度信息、目标模拟外力信息以及历史时长,确定目标对象的在当前已渲染图像帧中的当前位置信息”,包括:根据历史位置信息、历史运动速度、历史时长以及目标模拟外力信息,确定目标对象在当前已渲染图像帧中的当前速度信息;根据当前速度信息、历史运动速度以及历史时长,确定目标对象在历史时长内的偏移量;根据历史位置信息以及偏移量,确定当前位置信息。

可选的,上述目标模拟外力信息包括目标模拟外力的大小,在目标模拟外力的大小不为0的情况下,上述当前速度信息满足以下公式:

v

其中,v

可选的,上述目标模拟外力信息包括目标模拟外力的大小,在目标模拟外力的大小为0的情况下,上述当前速度信息满足以下公式:

v

其中,v

可选的,上述“根据历史位置信息以及偏移量,确定当前位置信息”,包括:确定目标对象在历史时长内的运动方向;在运动方向为远离历史初始位置的情况下,基于历史位置信息对应的形变量与偏移量之和,确定当前位置信息;历史初始位置为目标对象在上一待处理图像帧中的位置;在历史运动方向为靠近历史初始位置的情况下,基于历史位置信息对应的形变量与偏移量之差,确定当前位置信息。

可选的,上述图像特效的生成方法,在上述“根据历史位置信息以及偏移量,确定当前位置信息”之后,还包括:确定当前速度信息、当前位置信息为当前已渲染图像帧的运动信息,并存储当前已渲染图像帧的运动信息。

根据本公开实施例的第二方面,提供一种图像处理装置,包括获取单元、确定单元以及渲染单元;获取单元,用于获取当前待处理图像帧,当前待处理图像帧包括目标对象;获取单元,还用于获取目标对象的历史运动信息、目标对象在历史时长内的目标模拟外力信息以及目标对象在历史时长内的目标运动轨迹;历史运动信息包括目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息;历史时长包括上一待处理图像帧与当前待处理图像帧之间的时间间隔;确定单元,用于根据获取单元获取到的历史运动信息、目标模拟外力信息、目标运动轨迹以及历史时长,确定目标对象的当前目标位置;渲染单元,用于将当前待处理图像帧中的目标对象移动到当前目标位置,以生成当前已渲染图像帧。

可选的,在上述当前待处理图像帧为首个获取到的图像帧的情况下,上述获取单元还用于获取当前待处理图像帧对应的目标特效信息;目标特效信息包括目标对象的类型和/或当前待处理图像帧对应的多媒体资源类型;确定单元,还用于根据目标特效信息及预设的第一映射关系,确定与当前待处理图像帧对应的目标运动轨迹集合;第一映射关系包括特效信息与运动轨迹集合的对应关系,运动轨迹集合包括不同对象在不同时间间隔内的运动轨迹。

可选的,上述获取单元,具体用于基于历史时长和目标运动轨迹集合,确定目标对象在历史时长内的目标运动轨迹;目标运动轨迹集合包括目标对象在不同时间间隔内的运动轨迹。

可选的,上述获取单元,具体用于基于历史时长及预设的第二映射关系,确定目标模拟外力信息;第二映射关系中包括目标对象在不同时间间隔内的模拟外力信息。

可选的,上述确定单元具体用于:根据历史位置信息、历史速度信息、目标模拟外力信息以及历史时长,确定目标对象的在当前已渲染图像帧中的当前位置信息;获取目标对象在当前待处理图像中的当前初始位置;根据当前位置信息、目标运动轨迹以及当前初始位置,确定当前目标位置。

可选的,上述确定单元具体用于:根据历史位置信息、历史运动速度、历史时长以及目标模拟外力信息,确定目标对象在当前已渲染图像帧中的当前速度信息;根据当前速度信息、历史运动速度以及历史时长,确定目标对象在历史时长内的偏移量;根据历史位置信息以及偏移量,确定当前位置信息。

可选的,上述目标模拟外力信息包括目标模拟外力的大小,在目标模拟外力的大小不为0的情况下,上述当前速度信息满足以下公式:

v

其中,v

可选的,上述目标模拟外力信息包括目标模拟外力的大小,在目标模拟外力的大小为0的情况下,上述当前速度信息满足以下公式:

v

其中,v

可选的,上述确定单元具体用于:确定目标对象在历史时长内的运动方向;在运动方向为远离历史初始位置的情况下,基于历史位置信息对应的形变量与偏移量之和,确定当前位置信息;历史初始位置为目标对象在上一待处理图像帧中的位置;在历史运动方向为靠近历史初始位置的情况下,基于历史位置信息对应的形变量与偏移量之差,确定当前位置信息。

可选的,上述图像处理装置还包括存储单元;确定单元,用于在根据历史位置信息以及偏移量,确定当前位置信息之后,确定当前速度信息、当前位置信息为当前已渲染图像帧的运动信息;存储单元,用于存储当前已渲染图像帧的运动信息。

根据本公开实施例的第三方面,提供一种电子设备,包括:处理器、用于存储处理器可执行的指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面及其任一种可能的实现方式提供的图像特效的生成方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如第一方面及其任一种可能的实现方式提供的图像特效的生成方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的实现方式提供的图像特效的生成方法。

本公开提供的技术方案至少带来以下有益效果:考虑到目标对象在不同受力情况下具有不同的运动效果,本公开实施例能够获目标对象在历史时长内的受力情况、运动轨迹,以及目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息等动力学的特性参数,并根据上述特性参数确定目标对象在当前已渲染图像帧中的当前目标位置,并进一步的将当前待处理图像帧中的目标对象移动到当前目标位置,使得目标对象运动的运动特效更加符合动力学原理,更加贴合目标对象在受力情况下的实际运动情况,能够有效提高图像特效显示的逼真程度,提高用户体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的一种图像处理系统结构示意图;

图2是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之一;

图3是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之二;

图4是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之三;

图5是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之四;

图6是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之五;

图7是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之六;

图8是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图之七;

图9是根据一示例性实施例示出的一种图像处理装置的结构示意图;

图10是根据一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。

本公开实施例提供的图像特效的生成方法可以适用于图像处理系统。图1示出了该图像处理系统的一种结构示意图。如图1所示,图像处理系统10用于对用户拍摄的图像进行处理,图像处理系统10包括图像处理装置11以及电子设备12。图像处理装置11与电子设备12连接。图像处理装置11与电子设备12之间可以采用有线方式连接,也可以采用无线方式连接,本公开实施例对此不作限定。

图像处理装置11可以用于与电子设备12进行数据交互,例如,从电子设备12中获取多个待处理的图像帧,向电子设备12发送处理后得到已渲染图像帧。

图像处理装置11还可以用于对在获取到的待处理图像帧之后,确定待处理图像帧中目标对象,并获取目标对象在历史时长内的模拟外力信息、运动轨迹动以及目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息。并进一步的,图像处理装置11可以根据上述步骤中获取到的力学参数确定目标对象在当前已渲染图像帧中的当前目标位置,并根据确定到的当前目标位置,对当前待处理图像帧进行渲染,以生成当前已渲染图像帧。

电子设备12可以用于响应于用户的操作,执行拍摄功能,以生成待处理图像帧,或者接收其他设备发送的待处理图像帧或者视频数据,或者接收图像处理装置11发送的已渲染图像帧并显示已渲染图像帧。

在不同的应用场景中,图像处理装置11和电子设备12可以为相互独立的设备,也可以集成于同一设备中,本公开对此不作具体限定。

当图像处理装置11和电子设备12集成于同一设备时,图像处理装置11和电子设备12之间的通信方式为该设备内部模块之间的通信。这种情况下,二者之间的通信流程与“图像处理装置11和电子设备12之间相互独立的情况下,二者之间的通信流程”相同。

在本公开提供的以下实施例中,本公开以图像处理装置11和电子设备12相互独立设置为例进行说明。

图2是根据一示例性实施例示出的一种图像特效的生成方法的流程示意图。在一些实施例中,上述图像特效的生成方法可以应用到如图1所示的图像处理装置或者电子设备或者其他类似设备。

如图2所示,本公开实施例提供的图像特效的生成方法,包括下述S201-S204。

S201、图像处理装置获取当前待处理图像帧。

其中,当前待处理图像帧包括目标对象。

作为一种可能的实现方式,图像处理装置可以接收电子设备发送的待处理图像帧。

在一种情况下,电子设备可以响应于用户的开启拍摄操作,通过电子设备中的拍摄单元采集图像帧,若采集到的图像帧中该包括有目标对象时,电子设备将包括有目标对象的图像帧作为当前待处理图像帧,向图像处理装置发送当前待处理图像帧。

在另一种情况下,电子设备还可以接收其他类似设备发送的图像帧,并检测接收到的图像帧中是否包括目标图像。若接收到的图像帧中包括有目标对象,则电子设备将包括有目标对象的图像帧作为当前待处理图像帧,并向图像处理装置发送当前待处理图像帧。

在第三种情况下,电子设备还可以在接收其他类似设备发送的拍摄有目标对象的视频数据后,对视频数据进行解码,以得到多个图像帧,并按照多个图像帧的拍摄顺序,将每一个图像帧作为当前待处理图像帧,向图像处理装置发送当前待处理图像帧。

需要说明的,目标对象可以包括用户的面目五官或者其他具有在受力情况下具有弹性形变的部位。

示例性的,目标对象可以为鼻子、眉毛或者嘴巴等。

S202、图像处理装置获取目标对象的历史运动信息、目标对象在历史时长内的目标模拟外力信息以及目标对象在历史时长内的目标运动轨迹。

其中,历史运动信息包括目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息。历史时长包括上一待处理图像帧与当前待处理图像帧之间的时间间隔。

作为一种可能的实现方式,图像处理装置可以从存储器中获取目标对象的历史运动信息、目标模拟外力信息以及目标运动轨迹。

需要说明的,图像处理装置的存储器中预先存储有目标对象在历史时长内的历史运动信息、目标模拟外力信息以及目标运动轨迹。

上一已渲染图像帧为图像处理装置对上一待处理图像帧中该包括的目标对象进行移动,生成的图像帧。历史时长也可以为上一已渲染图像帧与当前已渲染图像帧之间的时间间隔。

历史位置信息可以为目标对象在上一已渲染图像中的位置与上一初始位置之间的距离,上一初始位置为目标对象在上一待处理图像帧中的位置。历史位置信息还可以为目标对象在上一已渲染图像帧中的坐标值。

历史速度信息包括目标对象在受力的情况下,在上一已渲染图像帧生成的时刻的瞬时速度。

目标模拟外力信息包括目标对象受到的模拟推力,以目标对象为鼻子为例,目标模拟外力信息可以包括以一个恒定的推力向上或向下推动鼻子,或者以一个恒定的力矩向左或向右推动鼻子。

目标运动轨迹包括目标对象在历史时长内,在受力的作用下形成的运动轨迹。

目标对象的受力情况可以根据预设的力学分析模型得到。

从受力情况的类型来看,目标对象在受力的作用下的运动轨迹包括受外力直线运动、未受外力直线运动、受外力弧线运动以及未受外力弧线运动。

其中,受外力直线运动,表明目标对象在受外部推力、内部阻力、自身弹力的作用下,出的匀加速直线运动或者匀减速直线运动。内部阻力为目标对象在运动中自身产生的热量转换得到的。

未受外力直线运动,表明目标对象在未受到外部推力的情况下,受内部阻力以及自身弹力的作用下,目标对象做出的匀速加速直线运动或者匀减速直线运动。

受外力弧线运动,表明目标对象在受到外部推力矩、内部阻力矩、自身弹力的作用下,目标对象做出的弧线运动。

非受外力弧线运动,表明目标对象在未受到外部推力矩的情况下,受目标对象的内部阻力矩、自身弹力的作用下,目标对象作出的弧线运动。

以目标对象为鼻子为例,目标对象在受到向上的推力之后,从初始位置开始向上移动做匀加速直线运动。当目标对象开始移动之后,会受到目标对象内部热能转换成为固定数值的内部阻力,同时还会受到目标对象自身因出现偏移量出现的回弹力。随着偏移量的增大,自身受到的回弹力越大。在目标对象向上匀加速直线运动的过程中,当向上的推力撤销,此时目标对象只受到内部阻力和回弹力,向上做匀减速直线运动。当目标对象到达最顶点的时刻,此时回弹力最大,在这种情况下,目标对象处于静止状态。目标对象在受到回弹力以及内部阻力的情况下,从最高点的静止开始向下做匀加速直线运动。进一步的,随着目标对象的偏移量逐渐减小,回弹力也逐渐减小,在中间某个时刻,回弹力开始小于内部阻力,这时目标对象开始做向下的匀减速直线运动,直至恢复至初始位置。

S203、图像处理装置根据历史运动信息、目标模拟外力信息、目标运动轨迹以及历史时长,确定目标对象的当前目标位置。

作为一种可能的实现方式,图像处理装置根据历史位置信息、历史速度信息、目标模拟外力信息以及历史时长,确定目标对象的在历史时长内的偏移量。进一步的,图像处理装置获取目标对象在当前待处理图像中的当前初始位置,并根据目标对象在历史时长内的偏移量、目标运动轨迹以及当前初始位置,确定目标对象在当前已渲染图像帧中的当前目标位置。

此步骤的具体实现方式,可以参照本公开实施例的后续描述,此处不再进行赘述。

S204、图像处理装置将当前待处理图像帧中的目标对象移动到当前目标位置,以生成当前已渲染图像帧。

作为一种可能的实现方式,图像处理装置将当前待处理图像帧中的目标对象从当前待处理图像帧中分割,并将分隔得到的目标对象移动到当前目标位置,并基于移动后的目标对象进行图像渲染,以生成当前已渲染图像帧。

在一种情况下,图像处理装置在生成当前已渲染图像帧之后,向电子设备发送当前已渲染图像帧,以使得电子设备显示当前已渲染图像帧。

可以理解的,图像处理装置在对n个待处理图像帧进行连续处理之后并发送,相应的,电子设备侧在接收到n个已渲染图像帧之后并显示n个已渲染图像帧,能够为用户提供相应的图像特效。

上述实施例提供的技术方案至少具有以下有益效果:考虑到目标对象在不同受力情况下具有不同的运动效果,本公开实施例能够获目标对象在历史时长内的受力情况、运动轨迹,以及目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息等动力学的特性参数,并根据上述特性参数确定目标对象在当前已渲染图像帧中的当前目标位置,并进一步的将当前待处理图像帧中的目标对象移动到当前目标位置,使得目标对象运动的运动特效更加符合动力学原理,更加贴合目标对象在受力情况下的实际运动情况,能够有效提高图像特效显示的逼真程度,提高用户体验。

在一种设计中,如图3所示,本公开实施例提供的当前待处理图像帧为首个获取到的图像帧的情况下,本公开实施例提供的图像特效的生成方法,还包括下述S301-S302。

S301、图像处理装置获取当前待处理图像帧对应的目标特效信息。

其中,目标特效信息包括目标对象的类型和/或当前待处理图像帧对应的多媒体资源类型。

作为一种可能的实现方式,图像处理装置从电子设备中获取当前待处理图像帧中目标对象的类型,和/或当前待处理图像帧对应的多媒体资源类型。

需要说明的,多媒体资源类型可以包括用户在触发开启拍摄操作时,选择的场景类型以及音乐的类型,目标对象的类型可以包括用户在触发开启拍摄操作时,选择的需要生成动态特效的部位。

S302、图像处理装置根据目标特效信息及预设的第一映射关系,确定与当前待处理图像帧对应的目标运动轨迹集合。

其中,第一映射关系包括特效信息与运动轨迹集合的对应关系,运动轨迹集合包括不同对象在不同时间间隔内的运动轨迹。

作为一种可能的实现方式,图像处理装置根据目标特效信息,查询第一映射关系,从第一映射关系包括的多个运动轨迹集合中确定目标运动轨迹集合。

需要说明的,第一映射关系可以由运维人员预先在图像处理装置中设定。目标运动轨迹集合包括多个连续的运动轨迹。

示例性的,在多个连续的运动轨迹中,第1-3秒(s)为目标对象向上的直线运动,第4-6s为目标对象向下的直线运动,第7-9s为目标对象向左的弧线运动,第10-12s为目标对象向右的弧线运动。

上述实施例提供的技术方案至少具有以下有益效果:给出了一种结合场景为用户自动匹配运动轨迹集合的实现方式,可以避免用户执行频繁的选择操作。

在一种设计中,为了能够获取目标对象在历史时长内的目标运动轨迹,如图3所示,本公开实施例提供的S202中,具体可以包括下述S2021。

S2021、图像处理装置基于历史时长和目标运动轨迹集合,确定目标对象在历史时长内的目标运动轨迹。

其中,目标运动轨迹集合包括目标对象在不同时间间隔内的运动轨迹。

作为一种可能的实现方式,图像处理装置根据历史时长的时间段查询目标运动轨迹集合,从目标运动轨迹集合中确定目标对象在历史时长内对应的目标运动轨迹。

上述实施例提供的技术方案至少具有以下有益效果:给出了一种能够基于历史时长,精确确定目标运动轨迹的实现方式,保证了后续图像特效的生成方法执行的准确性。

在一种设计中,为了能够获取目标模拟外力信息,如图4所示,本公开实施例提供的S202中,具体还可以包括下述S2022。

S2022、图像处理装置基于历史时长及预设的第二映射关系,确定目标模拟外力信息。

其中,第二映射关系中包括目标对象在不同时间间隔内的模拟外力信息。

作为一种可能的实现方式,图像处理装置根据历史时长的时间段查询第二映射关系,从第二映射关系所包括的模拟外力信息中确定与历史时长对应的目标模拟外力信息。

需要说明的,第二映射关系以及第二映射关系所包括的模拟外力信息可以由运维人员预先在图像处理装置中设定。

在实际应用中,本公开实施实例可以先执行S2021,后执行S2022,也可以先执行S2022,后执行S2021,还可以同时执行S2021及S2022,本公开实施例对此不作限定。

上述实施例提供的技术方案至少具有以下有益效果:提供了一种基于历史时长查询与历史时长对应的目标模拟外力信息的具体实现方式,通过查询的方式,能够提高图像处理装置的响应速度,节省图像特效的生成方法的整体耗时。

在一种设计中,为了能够确定当前目标位置,结合图2,如图5所示,本公开实施例提供的S203,具体包括下述S2031-S2033。

S2031、图像处理装置根据历史位置信息、历史速度信息、目标模拟外力信息以及历史时长,确定目标对象的在当前已渲染图像帧中的当前位置信息。

其中,当前位置信息为目标对象在当前已渲染图像帧中的位置与目标图像在当前待处理图像帧中的当前初始位置之间的距离。当前速度信息为目标对象在当前已渲染图像帧中的瞬时速度。

可以理解的,当前速度信息可以为目标对象在历史时长的结束时刻的瞬时速度。

作为一种可能的实现方式,图像处理装置根据历史位置信息、历史运动速度、历史时长以及目标模拟外力信息,确定目标对象在当前已渲染图像帧中的当前速度信息。进一步的,图像处理装置根据当前速度信息、历史运动速度以及历史时长,确定目标对象在历史时长内的偏移量,并基于历史位置信息以及目标对象在历史时长内的偏移量,确定当前位置信息。

需要说明的,在上述实现方式中,图像处理装置根据当前速度信息、历史运动速度以及历史时长,确定目标对象在历史时长内的偏移量的具体实现方式,可以参照现有技术中的加速度公式,此处不再进行赘述。

此步骤中图像处理装置确定当前速度信息的具体实现方式,具体可以参照本公开实施例的后续描述,此处不再进行赘述。

S2032、图像处理装置获取目标对象在当前待处理图像中的当前初始位置。

作为一种可能的实现方式,图像处理装置可以利用预设的图像识别技术,确定当前待处理图像帧中包括目标对象,并确定上述目标对象在当前待处理图像帧中的当前初始位置。

需要说明的,对于当前待处理图像帧中具有不规则轮廓的目标对象,图像处理装置可以将目标对象的轮廓边缘上的任意一个点的位置或者目标对象的中心位置作为目标对象的当前初始位置,本公开实施实例对此不作限定。

在实际应用中,本公开实施实例可以先执行S2031,后执行S2032,也可以先执行S2032,后执行S2031,还可以同时执行S2031及S2032,本公开实施例对此不作限定。

此步骤的实现方式,具体还可以参照现有技术中关于图像检测、识别的描述,此处不再进行赘述。

S2033、图像处理装置根据当前位置信息、目标运动轨迹以及当前初始位置,确定当前目标位置。

作为一种可能的实现方式,图像处理装置根据当前位置信息以及当前初始位置,在目标运动轨迹上确定当前目标位置上。

可以理解的,当前初始位置以及当前目标位置上都位于目标运动轨迹上,当前位置信息包括初始位置以及当前目标位置在目标运动轨迹上的距离。

上述实施例提供的技术方案至少具有以下有益效果:能够基于目标对象在历史时长涉及的力学特征参数确定目标对象的当前位置信息,并根据当前位置信息与当前初始位置确定目标对象的当前目标位置,这样一来,即使用户在拍摄过程,目标对象存在真实的移动(即在不同的待处理图像帧中,目标对象处于不同的位置),后续生成的特效也能够实现“跟随”的效果。

在一种设计中,为了能够确定目标对象的当前位置信息,结合图5,如图6所示,本公开实施例提供的S2031,具体包括下述S401-S403。

S401、图像处理装置根据历史位置信息、历史运动速度、历史时长以及目标模拟外力信息,确定目标对象在当前已渲染图像帧中的当前速度信息。

作为一种可能的实现方式,图像处理装置根据目标模拟外力信息中目标模拟外力的大小、历史位置信息、历史运动速度、历史时长以及预设的公式,确定目标对象的当前速度信息。

需要说明的,目标模拟外力信息包括目标模拟外力的大小、方向。

在一种设计中,在目标模拟外力的大小不为0的情况下,当前速度信息满足以下公式一:

v

其中,v

可以理解的,上述公式一适用于目标模拟外力的方向与目标对象受到的内部阻力、弹力的方向处于同一直线的情况下,在目标模拟外力的方向与目标对象受到的内部阻力、弹力的方向之间存在夹角,且目标模拟外力的大小不为0的情况下,目标对象的目标运动轨迹为圆弧运动,当前速度信息为目标对象的瞬时角速度,且当前速度信息满足以下公式二:

v

其中,v

在一种设计中,在目标模拟外力的大小为0的情况下,当前速度信息满足以下公式三:

v

其中,v

可以理解的,上述公式三适用于目标对象受到的内部阻力与弹力的方向处于同一直线的情况下,在目标对象受到的内部阻力与弹力的方向之间存在夹角,目标对象的目标运动轨迹为圆弧运动,当前速度信息为目标对象的瞬时角速度,且当前速度信息满足以下公式四:

v

其中,v

需要说明的,本公开实施例中涉及的外部推力、内部阻力、预设弹力系数以及预设质量,为运维人员通过预设的运动力学模型,确定得到的,可以由运维人员预先在图像处理装置中设置。

可以理解的,运维人员通过预设的动力学模型,经过模拟仿真确定得到的外部推力、内部阻力、预设弹力系数以及预设质量,能够使图像处理装置最终渲染得到并显示的目标图像帧可以处于最佳的显示效果。

S402、图像处理装置根据当前速度信息、历史运动速度以及历史时长,确定目标对象在历史时长内的偏移量。

作为一种可能的实现方式,图像处理装置根据当前速度信息、历史运动速度、历史时长以及预设的加速度公式,确定目标对象在历史时长内的偏移量。

在一种情况下,上述目标对象在历史时长内的偏移量满足以下公式五:

Δs=(v

其中,Δs为目标对象在历史时长内的偏移量,v

S403、图像处理装置根据历史位置信息以及偏移量,确定当前位置信息。

作为一种可能的实现方式,图像处理装置获取目标对象在历史时长内的运动方向,并基于目标对象的运动方向、历史位置信息以及偏移量,确定目标对象的当前位置信息。此步骤的具体实现方式,可以参照本公开实施例的后续描述,此处不再进行赘述。

上述实施例提供的技术方案至少具有以下有益效果:能够结合目标对象在模拟受力的情况下,针对不同的模拟外力的大小、方向以及运动轨迹,准确的确定目标对象在当前已渲染图像帧中的当前位置信息。

在一种设计中,为了能够确定目标对象的当前位置信息,如图7所示,本公开实施例提供的S403,具体包括下述S4031-S4033。

S4031、图像处理装置确定目标对象在历史时长内的运动方向。

作为一种可能的实现方式,图像处理装置从目标运动轨迹集合中获取目标对象在历史时长内的运动方向。

需要说明的,目标运动轨迹集合中还包括目标对象在不同时间间隔内的运动方向。

S4032、在运动方向为远离历史初始位置的情况下,图像处理装置基于历史位置信息对应的形变量与偏移量之和,确定当前位置信息。

其中,历史初始位置为目标对象在上一待处理图像帧中的位置。

在一种可能的实现方式中,在运动方向为远离历史初始位置的情况下,图像处理装置确定历史位置信息对应的形变量与偏移量之和为目标对象在当前已渲染图像帧中的形变量,并将目标对象在当前已渲染图像帧中的形变量确定为当前位置信息。

可以理解的,在目标对象处于远离历史初始位置的运动轨迹以及运动方向的情况下,目标对象距离历史初始位置越来越远,确定到的当前位置信息为历史位置信息对应的形变量与偏移量之和。

S4033、在历史运动方向为靠近历史初始位置的情况下,图像处理装置基于历史位置信息对应的形变量与偏移量之差,确定当前位置信息。

在一种可能的实现方式中,在运动方向为远离历史初始位置的情况下,图像处理装置确定历史位置信息对应的形变量与偏移量之差为目标对象在当前已渲染图像帧中的形变量,并将目标对象在当前已渲染图像帧中的形变量确定为当前位置信息。

可以理解的,在目标对象处于接近历史初始位置的运动轨迹以及运动方向的情况下,目标对象距离历史初始位置越来越近,确定到的当前位置信息为历史位置信息对应的形变量与偏移量之差。

上述实施例提供的技术方案至少具有以下有益效果:能够在目标对象不同的运动方向的情况下,根据目标对象在历史时长内的运动方向、偏移量以及历史初始位置,准确的确定到目标对象在当前已渲染图像帧中的形变量,保证了图像特效的生成方法的准确性。

在一种设计中,为了能够从存储器中获取目标对象的历史运动信息,结合图6,如图8所示,本公开实施例提供的图像特效的生成方法,在S403之后,还包括下述S404-S405。

S404、图像处理装置确定当前速度信息、当前位置信息为当前已渲染图像帧的运动信息。

S405、图像处理装置存储当前已渲染图像帧的运动信息。

作为一种可能的是实现方式,图像处理装置将当前已渲染图像的运动信息,存储至图像处理装置的储存器中。

可以理解的,图像处理装置将当前已渲染图像帧的运动信息存储在存储器中,可以作为下一待处理图像帧中目标对象所需要的历史运动信息。

上述实施例提供的技术方案至少具有以下有益效果:将当前速度信息、当前位置信息作为当前已渲染图像帧的运动信息进行存储,能够对后续接收到的待处理图像帧同样适用于本公开实施例提供的图像特效的生成方法。

另外,本公开还提供一种图像处理装置,参照图9所示,该图像处理装置50包括获取单元501、确定单元502以及渲染单元503。

获取单元501,用于获取当前待处理图像帧,当前待处理图像帧包括目标对象。例如,如图2所示,获取单元501可以用于执行S201。

获取单元501,还用于获取目标对象的历史运动信息、目标对象在历史时长内的目标模拟外力信息以及目标对象在历史时长内的目标运动轨迹。历史运动信息包括目标对象在上一已渲染图像帧中的历史位置信息以及历史速度信息。历史时长包括上一待处理图像帧与当前待处理图像帧之间的时间间隔。例如,如图2所示,获取单元501可以用于执行S202。

确定单元502,用于根据获取单元501获取到的历史运动信息、目标模拟外力信息、目标运动轨迹以及历史时长,确定目标对象的当前目标位置。例如,如图2所示,确定单元502可以用于执行S203。

渲染单元503,用于将当前待处理图像帧中的目标对象移动到当前目标位置,以生成当前已渲染图像帧。例如,如图2所示,确定单元502可以用于执行S204。

可选的,如图9所示,本公开提供的实施例中,在当前待处理图像帧为首个获取到的图像帧的情况下,获取单元501还用于获取当前待处理图像帧对应的目标特效信息。目标特效信息包括目标对象的类型和/或当前待处理图像帧对应的多媒体资源类型。例如,如图3所示,获取单元501可以用于执行S301。

确定单元502,还用于根据目标特效信息及预设的第一映射关系,确定与当前待处理图像帧对应的目标运动轨迹集合。第一映射关系包括特效信息与运动轨迹集合的对应关系,运动轨迹集合包括不同对象在不同时间间隔内的运动轨迹。例如,如图3所示,确定单元502可以用于执行S302。

可选的,如图9所示,本公开实施例提供的获取单元501,具体用于基于历史时长和目标运动轨迹集合,确定目标对象在历史时长内的目标运动轨迹。目标运动轨迹集合包括目标对象在不同时间间隔内的运动轨迹。例如,如图3所示,确定单元502可以用于执行S2021。

可选的,如图9所示,本公开实施例提供的获取单元501,具体用于基于历史时长及预设的第二映射关系,确定目标模拟外力信息。第二映射关系中包括目标对象在不同时间间隔内的模拟外力信息。例如,如图4所示,确定单元502可以用于执行S2022。

可选的,如图9所示,本公开实施例提供的确定单元502具体用于:

根据历史位置信息、历史速度信息、目标模拟外力信息以及历史时长,确定目标对象的在当前已渲染图像帧中的当前位置信息。例如,如图5所示,确定单元502可以用于执行S2031。

获取目标对象在当前待处理图像中的当前初始位置。例如,如图5所示,确定单元502可以用于执行S2032。

根据当前位置信息、目标运动轨迹以及当前初始位置,确定当前目标位置。例如,如图5所示,确定单元502可以用于执行S2033。

可选的,如图9所示,本公开实施例提供的确定单元502具体用于:

根据历史位置信息、历史运动速度、历史时长以及目标模拟外力信息,确定目标对象在当前已渲染图像帧中的当前速度信息。例如,如图6所示,确定单元502可以用于执行S401。

根据当前速度信息、历史运动速度以及历史时长,确定目标对象在历史时长内的偏移量。例如,如图6所示,确定单元502可以用于执行S402。

根据历史位置信息以及偏移量,确定当前位置信息。例如,如图6所示,确定单元502可以用于执行S403。

可选的,如图9所示,本公开实施例提供的目标模拟外力信息包括目标模拟外力的大小,在目标模拟外力的大小不为0的情况下,当前速度信息满足以下公式:

v

其中,v

可选的,如图9所示,本公开实施例提供的目标模拟外力信息包括目标模拟外力的大小,在目标模拟外力的大小为0的情况下,当前速度信息满足以下公式:

v

其中,v

可选的,如图9所示,本公开实施例提供的确定单元502具体用于:

确定目标对象在历史时长内的运动方向。例如,如图7所示,确定单元502可以用于执行S4031。

在运动方向为远离历史初始位置的情况下,基于历史位置信息对应的形变量与偏移量之和,确定当前位置信息。历史初始位置为目标对象在上一待处理图像帧中的位置。例如,如图7所示,确定单元502可以用于执行S4032。

在历史运动方向为靠近历史初始位置的情况下,基于历史位置信息对应的形变量与偏移量之差,确定当前位置信息。例如,如图7所示,确定单元502可以用于执行S4033。

可选的,如图9所示,本公开实施例提供的图像处理装置50还包括存储单元504。

确定单元502,用于在根据历史位置信息以及偏移量,确定当前位置信息之后,确定当前速度信息、当前位置信息为当前已渲染图像帧的运动信息。例如,如图8所示,确定单元502可以用于执行S404。

存储单元504,用于存储当前已渲染图像帧的运动信息。例如,如图8所示,存储单元504可以用于执行S405。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图10为本公开提供的一种电子设备的结构示意图。如图10所示,电子设备60可以包括至少一个处理器601以及用于存储处理器可执行指令的存储器603。其中,处理器601被配置为执行存储器603中的指令,以实现上述实施例中的图像特效的生成方法。

另外,电子设备60还可以包括通信总线602以及至少一个通信接口604。

处理器601可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本公开方案程序执行的集成电路。

通信总线602可包括一通路,在上述组件之间传送信息。

通信接口604,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。

存储器603可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。

其中,存储器603用于存储执行本公开方案的指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的指令,从而实现本公开方法中的功能。

在具体实现中,作为一种实施例,处理器601可以包括一个或多个CPU,例如图10中的CPU0和CPU1。

在具体实现中,作为一种实施例,电子设备60可以包括多个处理器,例如图10中的处理器601和处理器607。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,电子设备60还可以包括输出设备605和输入设备606。输出设备605和处理器601通信,可以以多种方式来显示信息。例如,输出设备605可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备606和处理器601通信,可以以多种方式接受用户的输入。例如,输入设备606可以是鼠标、键盘、触摸屏设备或传感设备等。

本领域技术人员可以理解,图9中示出的结构并不构成对电子设备60的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的图像特效的生成方法。

另外,本公开还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如上述实施例所提供的图像特效的生成方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

相关技术
  • 一种图像特效的生成方法、装置、电子设备及存储介质
  • 图像特效的生成方法、装置、电子设备及存储介质
技术分类

06120113045798