生成动态图的方法、装置、电子设备及存储介质与流程

wunan 71 0
生成动态图的方法、装置、电子设备及存储介质与流程

[0001]
本公开涉及图像处理领域,尤其涉及一种生成动态图的方法、装置、电子设备及存储介质。


背景技术:

[0002]
动态图是介于视频与静态图像的特殊媒体,被广泛地应用于社交媒体、网络新闻、数字论坛、信息公告甚至是通信邮件中,以提升用户的情感表达效果。作为简洁无声、循环播放、低存储介质消耗以及丰富情感表达的记录时空变化的容器,动态图具有良好的平台兼容性、可移植性以及需要较低的网络传输带宽等特点,近年来受到了广泛地应用。然而目前在社交媒体上传播使用的动态图主要通过人工借助专业的动态图制作软件(例如,gifsoup、screentogif、ezgif等制作工具)来生成,这使得动态图的生成需要较为专业的制作人员并且制作过程繁琐。


技术实现要素:

[0003]
本公开提供一种生成动态图的方法、装置、电子设备及存储介质,以至少解决相关技术中的生成动态图时制作过程繁琐的问题。本公开的技术方案如下:
[0004]
根据本公开实施例的第一方面,提供一种生成动态图的方法,所述方法包括:获取包括对象的图像帧序列;检测所述图像帧序列中与所述对象相应的图像区域;基于所述图像帧序列和所述图像区域确定与所述对象的动作有关的信息,并根据与所述对象的动作有关的信息从所述图像帧序列筛选至少一部分图像帧序列;基于所述至少一部分图像帧序列生成动态图。
[0005]
可选地,所述获取包括对象的图像帧序列,包括:获取包括所述对象的视频;计算所述视频中相邻帧之间的相似性,并根据相似性对所述视频进行镜头分割来获取同一镜头下的帧序列;对获取的同一镜头下的帧序列进行采样,并将采样后的帧序列作为包括所述对象的图像帧序列。
[0006]
可选地,所述检测所述图像帧序列中与所述对象相应的图像区域,包括:基于所述图像帧序列利用对象检测模型检测所述图像区域。此外,可选地,所述基于所述图像帧序列和所述图像区域确定与所述对象的动作有关的信息,包括:基于所述图像帧序列中的包括所述图像区域的连续图像帧序列,利用动作识别模型确定与所述对象的动作有关的信息,其中,所述对象检测模型和所述动作识别模型是基于深度神经网络的模型。
[0007]
可选地,与所述对象的动作有关的信息包括与动作类别有关的信息,或者包括与动作类别有关的信息以及与动作幅度有关的信息。
[0008]
可选地,与所述对象的动作有关的信息包括所述对象的动作类别、动作类别的置信度以及动作幅度的大小,其中,所述根据与所述对象的动作有关的信息从所述图像帧序列筛选至少一部分图像帧序列,包括:确定所述对象的动作类别是否属于预定动作类别以及动作类别的置信度和动作幅度的大小是否满足预定条件,并根据确定结果从所述图像帧
序列筛选至少一部分图像帧序列。
[0009]
可选地,所述基于所述至少一部分图像帧序列生成动态图,包括:获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图。
[0010]
可选地,所述获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图,包括:基于与所述对象的动作有关的信息获取所述文字;根据所述图像区域裁剪所述至少一部分图像帧序列;基于所述文字和裁剪后的图像帧序列生成动态图。
[0011]
可选地,所述基于与所述对象的动作有关的信息获取所述文字,包括:基于所述对象的动作类别,从预先建立的文字库中查找与该动作类别对应的文字列表,并且将该文字列表中的任意一条文字确定为与所述至少一部分图像帧序列匹配的文字。
[0012]
可选地,所述获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图,包括:根据所述图像区域裁剪所述至少一部分图像帧序列;基于裁剪后的图像帧序列的图像特征和与所述对象的动作有关的信息获取所述文字;基于所述文字和裁剪后的图像帧序列生成动态图。
[0013]
可选地,所述基于裁剪后的图像帧序列的图像特征和与所述对象的动作有关的信息获取所述文字,包括:基于所述对象的动作类别,从预先建立的文字库中查找与该动作类别对应的文字列表;在所述文字列表中查找与所述图像特征对应的文字,作为与所述至少一部分图像帧序列匹配的文字。
[0014]
可选地,所述基于所述文字和裁剪后的图像帧序列生成动态图,包括:根据所述文字的内容以及裁剪后的图像帧序列的特点确定所述文字在待生成的动态图中的显示属性;将所述文字按照确定的显示属性与裁剪后的图像帧序列进行组合来生成动态图。
[0015]
可选地,所述显示属性包括所述文字在待生成的动态图中的显示大小、显示位置和显示颜色中的至少一个。
[0016]
可选地,所述根据所述文字的内容以及裁剪后的图像帧序列的特点确定所述文字在待生成的动态图中的显示属性,包括:根据所述文字的内容以及裁剪后的图像帧序列的大小,确定所述文字在待生成的动态图中的显示大小和显示位置,并根据裁剪后的图像帧序列中所述显示位置处的像素信息确定所述文字在待生成的动态图中的显示颜色。
[0017]
根据本公开实施例的第二方面,提供一种生成动态图的装置,所述装置包括:获取单元,被配置为获取包括对象的图像帧序列;对象检测单元,被配置为检测所述图像帧序列中与所述对象相应的图像区域;动作识别单元,被配置为基于所述图像帧序列和所述图像区域确定与所述对象的动作有关的信息,并根据与所述对象的动作有关的信息从所述图像帧序列筛选至少一部分图像帧;动态图生成单元,被配置为基于所述至少一部分图像帧生成动态图。
[0018]
可选地,获取单元被配置为:获取包括所述对象的视频;计算所述视频中相邻帧之间的相似性,并根据相似性对所述视频进行镜头分割来获取同一镜头下的帧序列;对获取的同一镜头下的帧序列进行采样,并将采样后的帧序列作为包括所述对象的图像帧序列。
[0019]
可选地,检测单元被配置为:基于所述图像帧序列利用对象检测模型检测所述图像区域,动作识别单元被配置为:基于所述图像帧序列中的包括所述图像区域的连续图像帧序列,利用动作识别模型确定与所述对象的动作有关的信息,其中,所述对象检测模型和
所述动作识别模型是基于深度神经网络的模型。
[0020]
可选地,与所述对象的动作有关的信息包括与动作类别有关的信息,或者包括与动作类别有关的信息以及与动作幅度有关的信息。
[0021]
可选地,与所述对象的动作有关的信息包括所述对象的动作类别、动作类别的置信度以及动作幅度的大小,其中,动作识别单元被配置为:确定所述对象的动作类别是否属于预定动作类别以及动作类别的置信度和动作幅度的大小是否满足预定条件,并根据确定结果从所述图像帧序列筛选至少一部分图像帧序列。
[0022]
可选地,动态图生成单元被配置为:获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图。
[0023]
可选地,所述获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图,包括:基于与所述对象的动作有关的信息获取所述文字;根据所述图像区域裁剪所述至少一部分图像帧序列;基于所述文字和裁剪后的图像帧序列生成动态图。
[0024]
可选地,所述基于与所述对象的动作有关的信息获取所述文字包括:基于所述对象的动作类别,从预先建立的文字库中查找与该动作类别对应的文字列表,并且将该文字列表中的任意一条文字确定为与所述至少一部分图像帧序列匹配的文字。
[0025]
可选地,所述获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图,包括:根据所述图像区域裁剪所述至少一部分图像帧序列;基于裁剪后的图像帧序列的图像特征和与所述对象的动作有关的信息获取所述文字;基于所述文字和裁剪后的图像帧序列生成动态图。
[0026]
可选地,所述基于裁剪后的图像帧序列的图像特征和与所述对象的动作有关的信息获取所述文字,包括:基于所述对象的动作类别,从预先建立的文字库中查找与该动作类别对应的文字列表;在所述文字列表中查找与所述图像特征对应的文字,作为与所述至少一部分图像帧序列匹配的文字。
[0027]
可选地,所述基于所述文字和裁剪后的图像帧序列生成动态图,包括:根据所述文字的内容以及裁剪后的图像帧序列的特点确定所述文字在待生成的动态图中的显示属性;将所述文字按照确定的显示属性与裁剪后的图像帧序列进行组合来生成动态图。
[0028]
可选地,所述显示属性包括所述文字在待生成的动态图中的显示大小、显示位置和显示颜色中的至少一个。
[0029]
可选地,所述根据所述文字的内容以及裁剪后的图像帧序列的特点确定所述文字在待生成的动态图中的显示属性,包括:根据所述文字的内容以及裁剪后的图像帧序列的大小,确定所述文字在待生成的动态图中的显示大小和显示位置,并根据裁剪后的图像帧序列中所述显示位置处的像素信息确定所述文字在待生成的动态图中的显示颜色。
[0030]
根据本公开实施例的第三方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的生成动态图的方法。
[0031]
根据本公开实施例的第四方面,提供了一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如上所述的生成动态图的方法。
[0032]
根据本公开实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品中的指令被电子设备中的至少一个处理器运行以执行如上所述的生成动态图的方法。
[0033]
本公开的实施例提供的技术方案至少带来以下有益效果:由于可以根据与对象的动作有关的信息从图像帧序列中筛选至少一部分图像帧序列并基于所述至少一部分图像帧序列生成动态图,因此,能够方便地自动基于获取的图像帧序列生成动态图,而无需繁琐的手工制作过程,节省了大量的人力和时间成本。
[0034]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0035]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的示例实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0036]
图1是本公开的示例性实施例可以应用于其中的示例性系统架构图;
[0037]
图2是根据本公开示例性实施例示出的一种生成动态图的方法的流程图;
[0038]
图3是根据本公开示例性实施例示出的一种生成动态图的装置的框图;
[0039]
图4是根据本公开示例性实施例示出的一种电子设备的框图。
具体实施方式
[0040]
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0041]
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0042]
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
[0043]
图1示出了本公开的示例性实施例可以应用于其中的示例性系统架构100。
[0044]
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如视频数据上传请求、视频数据获取请求)等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频录制类应用、音频播放类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显
示屏并且能够进行音视频播放和录制的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
[0045]
终端设备101、102、103可以安装有图像采集装置(例如摄像头),以采集视频数据。实践中,组成视频的最小视觉单位是帧(frame)。每一帧是一幅静态的图像。将时间上连续的帧序列合成到一起便形成动态视频。此外,终端设备101、102、103也可以安装有用于将电信号转换为声音的组件(例如扬声器)以播放声音,并且还可以安装有用于将模拟音频信号转换为数字音频信号的装置(例如,麦克风)以采集声音。
[0046]
终端设备101、102、103可以利用安装于其上的图像采集装置进行视频数据的采集,并可以利用安装于其上的支持视频播放的视频处理组件播放视频数据。
[0047]
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的视频录制类应用提供支持的后台服务器。后台服务器可以对所接收到的音视频数据上传请求等数据进行解析、存储等处理,并且还可以接收终端设备101、102、103所发送的音视频数据获取请求,并将该音视频数据获取请求所指示的音视频数据反馈至终端设备101、102、103。
[0048]
终端设备101、102、103可以将采集的视频数据发送给服务器105。服务器105可以将接收到的视频进行处理来生成动态图,并将生成的动态图发送给终端设备101、102、103,使得终端设备101、102、103可在其用户界面上向用户展示生成的动态图。可选地,终端设备也可以自身对采集的视频数据进行处理来生成动态图,并进行动态图展示。
[0049]
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
[0050]
需要说明的是,本公开实施例提供的生成动态图的方法既可以在终端设备101、102、103中执行,也可以在服务器105中执行,或者也可以在终端设备101、102、103和服务器105中协作执行。
[0051]
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。
[0052]
图2是根据示例性实施例示出的一种生成动态图的方法的流程图。
[0053]
在步骤s201,获取包括对象的图像帧序列。这里,对象可以是人或动物(例如,猫、狗等拥有较多肢体活动的动物)。根据示例性实施例,在步骤s201,可首先获取包括所述对象的视频,然后,计算所述视频中相邻帧之间的相似性,并根据相似性对所述视频进行镜头分割来获取同一镜头下的帧序列,最后,对获取的同一镜头下的帧序列进行采样,并将采样后的帧序列作为包括所述对象的图像帧序列。作为示例,可响应于用户输入,从本地获取包括对象的视频,或者,也可响应于用户请求,从外部装置(例如,服务器)获取包括对象的视频,需要说明的是,本公开对获取视频的方式并无限制。在获取到包括所述对象的视频后,可对所述视频解码进行解码,例如,利用opencv或者ffmpeg等对所述视频进行解码,但不限于此。随后,计算解码后的视频中相邻帧之间的相似性,例如,可采用图像像素统计(例如,
利用图像像素统计直方图)来计算相似性,但不限于此。接下来,根据相似性对视频进行镜头分割来获取同一镜头下的帧序列,这样可保证之后生成的动态图在同一个视频镜头场景中。最后,为了减少对视频冗余帧的处理,可以对获取的同一镜头下的帧序列进行采样来获得包括所述对象的图像帧序列,例如,可进行等距采样、关键帧采样等,但是采样方式不限于以上示例。为描述方便,可将在步骤s201获取的包括对象的图像帧序列表示为{i1,i2,

,,i
n
},其中,i
n
是同一镜头下的图像帧,n是大于等于1的正整数。
[0054]
在获取到包括对象的图像帧序列之后,在步骤s201,检测所述图像帧序列中与所述对象相应的图像区域。根据示例性实施例,可基于所述图像帧序列利用对象检测模型检测所述图像区域,但不限于此,例如,可直接通过特征匹配在每个图像帧中检测与对象相应的图像区域。作为示例,对象检测模型可以是基于深度神经网络(例如,yolo v3、faster rcnn等)的模型,但不限于此。事实上,在本公开中,不管对象检测模型是哪种类型的检测模型,只要对象检测模型能够针对图像帧序列中的每个图像帧提供该图像帧中与对象对应的图像区域即可。在对象检测模型是基于深度神经网络的模型的情况下,对象检测模型在被用于检测图像区域之前,需要预先完成训练。具体地,可首先获取包括对象的图像集,并标注图像集中的每个图像的对象区域信息,然后利用标注后的对象的图像集训练对象检测模型。例如,如果对象是人,则可获取包括人的图像集,并在图像集中的每个图像中用矩形框标记出与人对应的区域,然后利用标注后的图像集训练对象检测模型。在对象检测模型被训练好之后,如果将包括对象的图像帧序列输入到对象检测模型,则对象检测模型可直接提供每个图像帧中的对象区域信息,从而可实现检测与对象相应的图像区域。
[0055]
在检测到与对象对应的图像区域之后,在步骤s203,基于所述图像帧序列和所述图像区域确定与所述对象的动作有关的信息,并根据与所述对象的动作有关的信息从所述图像帧序列筛选至少一部分图像帧序列。根据示例性实施例,可基于所述图像帧序列中的包括所述图像区域的连续图像帧序列,利用动作识别模型确定与所述对象的动作有关的信息。这里,连续图像帧序列是同一视频镜头场景下的并且包括所述对象的图像帧序列。例如,假设图像帧序列{i1,i2,

,,i
n
}中的i
i
到i
j
为满足前述条件的连续j-i+1帧帧序列,则可将连续j-i+1帧帧序列输入动作识别模型来利用动作识别模型确定与对象的动态有关的信息。此外,由于动作识别所涉及的操作和运算较多,因此,动作识别网络模型通常要求最多输入预定数量的连续图像帧,例如,w帧。在这种情况下,若j-i+1<w帧则将j-i+1帧皆输入网络中,若j-i+1>=w帧,则需要按照预定遍历间隔在j-i+1帧中遍历连续的w帧,然后,将遍历的w帧输入动作识别模型。例如,遍历间隔可以设置为w/2,但不限于此。
[0056]
作为示例,所述动作识别模型可以是基于深度神经网络的模型(例如,slow-fast、x3d、i3d等模型),但不限于此。事实上,在本公开中,不管动作识别模型是哪种类型的模型,只要其能够针对满足上述条件的连续帧图像序列识别出对象的动作信息即可。根据示例性实施例,与所述对象的动作有关的信息包括与动作类别有关的信息,或者包括与动作类别有关的信息以及与动作幅度有关的信息。
[0057]
在动作识别模型是基于深度神经网络的模型的情况下,动作识别模型在被用于确定与对象有关的信息之前,需要预先完成训练。具体而言,可构建动作视频数据集,并利用构建的动作视频数据集训练动作识别模型。例如,如果对象是人,则可以直接将开源的动作视频数据集(例如,kinetics400、kinetics600、ava、ucf101等)作为训练动作识别模型的训
练数据集,或者可根据关键词搜索线上视频数据,并对这些视频数据进行标注,然后将标注的视频数据集作为用于训练动作识别模型的训练数据集。标注内容可包括动作的起止时间戳和动作类别信息,或者可包括动作的起止时间戳、动作类别信息和动作幅度信息(例如,动作幅度分数,即,用于衡量动作幅度大小的分数)。
[0058]
作为示例,与所述对象的动作有关的信息可包括所述对象的动作类别、动作类别的置信度以及动作幅度的大小。动作类别例如可以是动作识别模型输出的动作类别标签,动作类别的置信度用于衡量动作类别的识别准确度,并且例如可以是动作识别模型输出的动作类别的置信度分数。在与所述对象的动作有关的信息包括所述对象的动作类别、动作类别的置信度以及动作幅度的大小的情况下,根据与所述对象的动作有关的信息从所述图像帧序列筛选至少一部分图像帧序列可包括:确定所述对象的动作类别是否属于预定动作类别以及动作类别的置信度和动作幅度的大小是否满足预定条件,并根据确定结果从所述图像帧序列筛选至少一部分图像帧序列。例如,可从所述图像帧序列中筛选出动作类别为适于输出动态图的预设动作类别,动作类别的置信度分数大于预设分数,并且动作幅度大小大于预定幅度的至少一部分图像帧序列。而如果动作类别不属于预设动作类别,或者动作类别的置信度分数小于或等于预设分数,或者动作幅度大小小于或等于预定幅度,则可摈弃掉这些图像帧。
[0059]
在筛选出至少一部分图像帧序列之后,在步骤s204,基于所述至少一部分图像帧序列生成动态图。具体地,根据示例性实施例,在步骤s204,可获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图。通过为所述至少一部分图像帧序列匹配文字并基于匹配的文字和所述至少一部分图像帧序列生成动态图,可使得生成的动态图内容更加丰富且更加具有趣味性。
[0060]
根据示例性实施例,获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图可以包括:首先,基于与所述对象的动作有关的信息获取与所述至少一部分图像帧序列匹配的文字,例如,可基于所述对象的动作类别(例如,可以是动作识别模型输出的动作分类标签),从预先建立的文字库中查找与该动作类别对应的文字列表,并且将该文字列表中的任意一条文字确定为与所述至少一部分图像帧序列匹配的文字。例如,如果动作类别是跳舞,则匹配的文字可以是“大家动起来”等指示跳舞的文字。再例如,如果动作类别是喝酒,则匹配的文字可以是诸如“感情深一口闷”;如果动作类别是下跪,则匹配的文字可以是诸如“请收下我的膝盖”;如果动作类别是游泳,则匹配的文字可以是诸如“尽情徜徉”,等等。然后,根据所述图像区域裁剪所述至少一部分图像帧序列。具体地,可根据所述至少一部分图像帧序列的每个图像帧中与对象对应的图像区域计算每个图像帧中能够包含所有同类对象的裁剪范围,并根据计算出的裁剪范围对每个图像帧进行裁剪。最后,基于与所述至少一部分图像帧序列匹配的文字和裁剪后的图像帧序列生成动态图。
[0061]
可选地,根据另一示例性实施例,获取与所述至少一部分图像帧序列匹配的文字并基于所述文字和所述至少一部分图像帧序列生成动态图可以包括:首先,根据所述图像区域裁剪所述至少一部分图像帧序列。然后,基于裁剪后的图像帧序列的图像特征和与所述对象的动作有关的信息获取所述文字。具体地,例如,可先基于所述对象的动作类别,从预先建立的文字库中查找与该动作类别对应的文字列表,之后,可在所述文字列表中查找
与所述图像特征对应的文字,作为与所述至少一部分图像帧序列匹配的文字。这里,图像特征可以是对裁剪后的图像帧序列中的每个图像帧进行特征提取而获得的特征。例如,在动作识别模型是基于深度神经网络的模型的情况下,图像特征可以是利用动作识别模型获得的每个图像帧的卷积特征,而卷积特征可以是每个图像帧的特征图feature map。此外,预先建立的文字库中卷积特征与文字的对应关系可以是根据已有文字的动态图输入动作识别模型后得到的卷积特征以及对已有文字的动态图进行文字识别所获得的文字识别结果(可以辅以人工标注校准)建立的。此外,在所述文字列表中查找与所述图像特征对应的文字时,可以根据裁剪后的图像帧序列的卷积特征在与所述文字列表对应的卷积特征列表中查找与该卷积特征最相似的卷积特征(例如,可以是欧式距离或余弦距离最小的卷积特征),并将与查找到的卷积特征对应的文字作为与所述至少一部分图像帧序列匹配的文字。最后,基于与所述至少一部分图像帧序列匹配的文字和裁剪后的图像帧序列生成动态图。
[0062]
在以上示例性实施例中,基于与所述至少一部分图像帧序列匹配的文字和裁剪后的图像帧序列生成动态图可以包括:根据所述文字的内容以及裁剪后的图像帧序列的特点确定所述文字在待生成的动态图中的显示属性,并将所述文字按照确定的显示属性与裁剪后的图像帧序列进行组合来生成动态图。例如,显示属性可包括所述文字在待生成的动态图中的显示大小、显示位置和显示颜色中的至少一个,但不限于此。此外,裁剪后的图像帧序列的特点可以包括裁剪后的图像帧序列的大小和裁剪后的图像帧序列的像素信息,但不限于此。根据一示例性实施例,可根据所述文字的内容以及裁剪后的图像帧序列的大小,确定所述文字在待生成的动态图中的显示大小和显示位置,并根据裁剪后的图像帧序列中所述显示位置处的像素信息确定所述文字在待生成的动态图中的显示颜色。例如,如果裁剪的图像帧序列是矩形并且所述文字的内容较长,则可以根据矩形的水平方向和垂直方向上的长度确定所述文字的显示位置(例如,在水平方向的长度较大时,使所述文字在水平方向上显示),而且可根据矩形的水平方向的长度确定文字的大小。另外,为了使显示的文字更加突出或显眼,可根据裁剪后的图像帧序列中文字所显示位置处的像素信息确定所述文字在待生成的动态图中的显示颜色。例如,可以统计文字显示位置处的图像区域的各像素的颜色信息,并据此确定该图像区域的主要颜色,随后可根据该主要颜色选择以该主要颜色作为背景色较为显眼的前景颜色,作为所述文字在待生成的动态图中的显示颜色。例如,如果该主要颜色为黑色,则可以选取白色作为文字的显示颜色。在文字的显示属性确定后,可以利用ffmpeg或者moviepy等视频图像处理包将匹配的文字按照显示的属性与裁剪后的图像帧序列合成,并输出动态图。例如,可以在动态图的下方以白色字体显示文字“大家动起来”。
[0063]
以上已经结合图2描述了根据本公开示例性实施例的生成动态图的方法,根据所述方法,由于可以根据与对象的动作有关的信息从图像帧序列中筛选至少一部分图像帧序列并基于所述至少一部分图像帧序列生成动态图,因此,能够方便地基于获取的图像帧序列自动生成动态图,而无需繁琐的手工制作过程,节省了大量的人力和时间成本。
[0064]
图3是根据本公开示例性实施例示出的一种生成动态图的装置(以下,为描述方便,将其简称为“动态图生成装置”)的框图。
[0065]
参照图3,动态图生成装置300可包括获取单元301、对象检测单元302、动作识别单元303和动态图生成单元304。具体地,获取单元301可获取包括对象的图像帧序列。对象检
测单元302可检测所述图像帧序列中与所述对象相应的图像区域。动作识别单元303可基于所述图像帧序列和所述图像区域确定与所述对象的动作有关的信息,并根据与所述对象的动作有关的信息从所述图像帧序列筛选至少一部分图像帧。动态图生成单元304可基于所述至少一部分图像帧生成动态图。由于图2所示的生成动态图的方法可由图3所示的动态图生成装置300来执行,因此,关于图3中的单元所执行的操作中涉及的任何相关细节均可参见关于图2的相应描述,这里都不再赘述。
[0066]
此外,需要说明的是,尽管以上在描述动态图生成装置300时将其划分为用于分别执行相应处理的单元,然而,本领域技术人员清楚的是,上述各单元执行的处理也可以在动态图生成装置300不进行任何具体单元划分或者各单元之间并无明确划界的情况下执行。
[0067]
图4是根据本公开实施例的一种电子设备400的框图,该电子设备可包括至少一个存储器401和至少一个处理器402,所述至少一个存储器中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的生成动态图的方法。
[0068]
作为示例,电子设备可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0069]
在电子设备中,处理器可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0070]
处理器可运行存储在存储器中的指令或代码,其中,存储器还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
[0071]
存储器可与处理器集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器和处理器可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器能够读取存储在存储器中的文件。
[0072]
此外,电子设备还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。
[0073]
根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开示例性实施例的生成动态图的方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计
算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0074]
根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可被电子设备中的至少一个处理器执行以实现根据本公开示例性实施例的生成动态图的方法。
[0075]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0076]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
下载地址赞助后可见
支付19.9元查看

标签: #计算 #推算 #计数设备的制造及其应用技术