视频美化方法、装置及电子设备转让专利

申请号 : CN201910580711.3

文献号 : CN110288552A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄佳斌

申请人 : 北京字节跳动网络技术有限公司

摘要 :

本公开实施例中提供了一种视频美化方法、装置及电子设备,属于图像处理技术领域,该方法包括:获取目标视频中相邻的第一视频帧和第二视频帧;分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合;基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合;分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作。通过本公开的处理方案,能够对视频中存在的头部区域的图像执行美化处理。

权利要求 :

1.一种视频美化方法,其特征在于,包括:

获取目标视频中相邻的第一视频帧和第二视频帧,所述第一视频帧在目标视频的时间维度上早于所述第二视频帧;

分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合;

基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合;

分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,形成第一美化图像和第二美化图像,所述第一美化图像和第二美化图像用以构成美化视频的视频帧。

2.根据权利要求1所述的方法,其特征在于,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作之后,所述方法还包括:获取与所述第二视频帧相邻的第三视频帧;

对所述第三视频帧进行关键点检测,形成第四关键点集合;

基于所述第三关键点集合和所述第四关键点集合,对所述第三视频帧执行图像美化操作,形成第三美化图像;

将所述第三美化图像作为所述美化视频的视频帧。

3.根据权利要求1所述的方法,其特征在于,所述基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,包括:获取第一关键点集合中的第一关键点的坐标(x1,y1),以及第二关键点集合中的第二关键点的坐标(x2,y2),所述第二关键点与所述第一关键点相对应;

基于预先设置的平滑系数L,计算第二关键点平滑处理后的坐标(x2’,y2’),其中x2’=x1*L+x2*(1-L)y2’=y1*L+y2*(1-L)。

4.根据权利要求1所述的方法,其特征在于,所述分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,包括:分别对第一视频帧和第二视频帧上目标对象的头部区域和头部相邻区域执行关键点检测,得到多个头部关键点和多个头部相邻区域关键点。

5.根据权利要求4所述的方法,其特征在于,所述分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测之后,所述方法还包括:基于所述头部关键点,确定头部区域的中心点坐标及头部表示区域。

6.根据权利要求5所述的方法,其特征在于,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,包括:分别在第一视频帧和第二视频帧上,利用获取到的针对头部区域的形变参数,以所述中心点坐标为中心,对所述头部表示区域的图像执行变形操作,形成头部变形图像。

7.根据权利要求6所述的方法,其特征在于,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,还包括:分别在第一视频帧和第二视频帧上,利用所述中心点坐标和所述头部相邻区域关键点,将所述头部变形图像与所述目标对象的头部相邻区域进行匹配设置,获得目标对象的美化图像。

8.根据权利要求4所述的方法,其特征在于,所述对第一视频帧和第二视频帧上目标对象的头部区域和头部相邻区域执行关键点检测,包括:分别在第一视频帧和第二视频帧上,获取所述头部区域的灰度图像;

获取所述灰度图像中任一像素点gc的一个局部小邻域内,以gc为中心像素点,以r为半径的p个均匀分布的像素点集合gp;

利用中心像素点gc与像素点集合gp中每一像素点之间的差值,对像素点gc周围的p个均匀分布的的像素点进行二值化处理;

基于二值化处理后的头部区域图像,对目标对象的头部区域执行关键点检测。

9.一种视频美化装置,其特征在于,包括:

获取模块,用于获取目标视频中相邻的第一视频帧和第二视频帧,所述第一视频帧在目标视频的时间维度上早于所述第二视频帧;

检测模块,用于分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合;

平滑模块,用于基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合;

执行模块,用于分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,形成第一美化图像和第二美化图像,所述第一美化图像和第二美化图像用以构成美化视频的视频帧。

10.一种电子设备,其特征在于,所述电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述任一权利要求1-8所述的基于人体关键点图像小头美化方法。

11.一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述任一权利要求1-8所述的视频美化方法。

说明书 :

视频美化方法、装置及电子设备

技术领域

[0001] 本公开涉及图像处理技术领域,尤其涉及一种视频美化方法、装置及电子设备。

背景技术

[0002] 图像处理(image processing)又称为影像处理,是用计算机对图像进行达到所需结果的技术。起源于20世纪20年代,一般为数字图像处理。图像处理技术的主要内容包括图像压缩、增强复原、匹配描述识别3个部分,常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为,应用广泛,多用于测绘学、大气科学、天文学、美图、使图像提高辨识等。
[0003] 随着智能手机的普遍,手机的拍摄的视频也越来越多,但由于智能手机的前置镜头在拍照过程中,只能手握或者使用近距离拍照,拍出来的视频里的人头比例较大,产生照片的人不美观的问题。

发明内容

[0004] 有鉴于此,本公开实施例提供一种视频美化方法、装置及电子设备,至少部分解决现有技术中存在的问题。
[0005] 第一方面,本公开实施例提供了一种视频美化方法,包括:
[0006] 获取目标视频中相邻的第一视频帧和第二视频帧,所述第一视频帧在目标视频的时间维度上早于所述第二视频帧;
[0007] 分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合;
[0008] 基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合;
[0009] 分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,形成第一美化图像和第二美化图像,所述第一美化图像和第二美化图像用以构成美化视频的视频帧。
[0010] 根据本公开实施例的一种具体实现方式,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作之后,所述方法还包括:
[0011] 获取与所述第二视频帧相邻的第三视频帧;
[0012] 对所述第三视频帧进行关键点检测,形成第四关键点集合;
[0013] 基于所述第三关键点集合和所述第四关键点集合,对所述第三视频帧执行图像美化操作,形成第三美化图像;
[0014] 将所述第三美化图像作为所述美化视频的视频帧。
[0015] 根据本公开实施例的一种具体实现方式,所述基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,包括:
[0016] 获取第一关键点集合中的第一关键点的坐标(x1,y1),以及第二关键点集合中的第二关键点的坐标(x2,y2),所述第二关键点与所述第一关键点相对应;
[0017] 基于预先设置的平滑系数L,计算第二关键点平滑处理后的坐标(x2’,y2’),其中[0018] x2’=x1*L+x2*(1-L)
[0019] y2’=y1*L+y2*(1-L)。
[0020] 根据本公开实施例的一种具体实现方式,所述分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,包括:
[0021] 分别对第一视频帧和第二视频帧上目标对象的头部区域和头部相邻区域执行关键点检测,得到多个头部关键点和多个头部相邻区域关键点。
[0022] 根据本公开实施例的一种具体实现方式,所述分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测之后,所述方法还包括:
[0023] 基于所述头部关键点,确定头部区域的中心点坐标及头部表示区域。
[0024] 根据本公开实施例的一种具体实现方式,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,包括:
[0025] 分别在第一视频帧和第二视频帧上,利用获取到的针对头部区域的形变参数,以所述中心点坐标为中心,对所述头部表示区域的图像执行变形操作,形成头部变形图像。
[0026] 根据本公开实施例的一种具体实现方式,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,还包括:
[0027] 分别在第一视频帧和第二视频帧上,利用所述中心点坐标和所述头部相邻区域关键点,将所述头部变形图像与所述目标对象的头部相邻区域进行匹配设置,获得目标对象的美化图像。
[0028] 根据本公开实施例的一种具体实现方式,所述对第一视频帧和第二视频帧上目标对象的头部区域和头部相邻区域执行关键点检测,包括:
[0029] 分别在第一视频帧和第二视频帧上,获取所述头部区域的灰度图像;
[0030] 获取所述灰度图像中任一像素点gc的一个局部小邻域内,以gc为中心像素点,以r为半径的p个均匀分布的像素点集合gp;
[0031] 利用中心像素点gc与像素点集合gp中每一像素点之间的差值,对像素点gc周围的p个均匀分布的的像素点进行二值化处理;
[0032] 基于二值化处理后的头部区域图像,对目标对象的头部区域执行关键点检测。
[0033] 第二方面,本公开实施例提供了一种视频美化装置,包括:
[0034] 获取模块,用于获取目标视频中相邻的第一视频帧和第二视频帧,所述第一视频帧在目标视频的时间维度上早于所述第二视频帧;
[0035] 检测模块,用于分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合;
[0036] 平滑模块,用于基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合;
[0037] 执行模块,用于分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,形成第一美化图像和第二美化图像,所述第一美化图像和第二美化图像用以构成美化视频的视频帧。
[0038] 第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:
[0039] 至少一个处理器;以及,
[0040] 与该至少一个处理器通信连接的存储器;其中,
[0041] 该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述任第一方面或第一方面的任一实现方式中的视频美化方法。
[0042] 第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述第一方面或第一方面的任一实现方式中的基于人体关键点图像美体方法。
[0043] 第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的基于人体关键点图像美体方法。
[0044] 本公开实施例中的基于人体关键点图像美体方案,包括分别对目标图像上目标对象的头部区域和头部相邻区域执行关键点检测,得到多个头部关键点和多个头部相邻区域关键点;基于所述头部关键点,确定头部区域的中心点坐标及头部表示区域;利用获取到的针对头部区域的形变参数,以所述中心点坐标为中心,对所述头部表示区域的图像执行变形操作,形成头部变形图像;利用所述中心点坐标和所述头部相邻区域关键点,将所述头部变形图像与所述目标对象的头部相邻区域进行匹配设置,获得目标对象的美化图像。通过本公开的方案,解决了图像中人体头部和身材比例协调问题,以及前置摄像头拍照的头像美化问题。

附图说明

[0045] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0046] 图1为本公开实施例提供的一种视频美化流程示意图;
[0047] 图2为本公开实施例提供的另一种视频美化流程示意图;
[0048] 图3为本公开实施例提供的另一种视频美化流程示意图;
[0049] 图4为本公开实施例提供的另一种视频美化流程示意图;
[0050] 图5为本公开实施例提供的一种视频美化装置结构示意图;
[0051] 图6为本公开实施例提供的电子设备示意图。

具体实施方式

[0052] 下面结合附图对本公开实施例进行详细描述。
[0053] 以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0054] 需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0055] 还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0056] 另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
[0057] 本公开实施例提供一种视频美化方法。本实施例提供的视频美化方法可以由一计算装置来执行,该计算装置可以实现为软件,或者实现为软件和硬件的组合,该计算装置可以集成设置在服务器、终端设备等中。
[0058] 参见图1,本公开实施例提供的一种视频美化方法,包括:
[0059] S101,获取目标视频中相邻的第一视频帧和第二视频帧,所述第一视频帧在目标视频的时间维度上早于所述第二视频帧。
[0060] 目标视频是需要进行美化处理的视频,目标视频可以是通过智能手机等设备拍摄获得的视频,也可以是通过其他方式获得的视频,目标视频由多个视频帧组成。
[0061] 目标视频中包含目标对象,通常来讲,目标对象可以是人,比如,用户通过手机等设备拍摄了一张包含人物的视频,视频中的人物便构成了目标对象。目标对象除了可以是人之外,还可以是动物等其他类型的对象。
[0062] 目标对象在目标视频上显示有头部区域和头部相邻区域。例如,用户通过手机自拍获得了一张照片,则照片中人物的脸、耳朵、鼻子、头发、嘴巴、眼睛等器官共同构成了目标对象的头部区域。与人头部相邻的脖子、肩膀等区域共同构成头部相邻区域。
[0063] 获得目标视频之后,可以通过提取目标视频中的视频帧来获得相邻的第一视频帧和第二视频帧,第一视频帧和第二视频帧可以是目标视频中任意相邻的两个视频帧。
[0064] S102,分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合。
[0065] 获得第一视频帧和第二视频帧之后,可以分别针对第一视频帧和第二视频帧的头部区域和头部相邻区域执行关键点检测,进而得到多个头部关键点和多个头部相邻区域关键点。对头部区域和头部相邻区域的关键词检测可以采用诸如CPM(Convolutional Pose Machine,卷积姿态检测器),PAF(Part Affinity Fields,局部亲和立场检测方法)等方式来进行。在此对于关键点的检测方法不作限定。
[0066] 通过对第一视频帧进行关键点检测,能够获得第一关键点集合,通过对第二视频帧进行关键点检测,能够获得第二关键点集合。
[0067] S103,基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合。
[0068] 第一视频帧和第二视频帧上的关键点在检测的过程中,会导致第一视频帧和第二视频帧上的同一个部位的关键点之间产生抖动,这些抖动会影响到相邻关键帧之间的平滑性。
[0069] 为此,需要对相邻的第一视频帧和第二视频帧上的关键点进行平滑处理,从而消除抖动的关键点。
[0070] 具体的,可以获取第一关键点集合中的第一关键点的坐标(x1,y1),以及第二关键点集合中的第二关键点的坐标(x2,y2),第二关键点与第一关键点为目标对象上同一个部位的关键点。接下来通过预先设置的平滑系数L,计算第二关键点平滑处理后的坐标(x2’,y2’),L为介于0和1之间的参数,通过如下公式:
[0071] x2’=x1*L+x2*(1-L)
[0072] y2’=y1*L+y2*(1-L)
[0073] 可以计算第二关键点的平滑处理后的坐标(x2’,y2’)。通过这种方式,可以对第二视频帧上第二关键点集合中所有的关键点进行平滑处理,第二视频帧上平滑处理后形成的新的关键点集合构成了第三关键点集合。
[0074] S104,分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,形成第一美化图像和第二美化图像,所述第一美化图像和第二美化图像用以构成美化视频的视频帧。
[0075] 头部区域在目标视频上形成视频帧的过程中,通常会由于拍摄角度等原因,导致头部区域的面积与身体的其他部位的面积相比略大,从而影响了目标对象的整体美观,为此可以通过对头部区域进行变形的方式来调整目标对象在目标图像上的显示,从而达到美化的效果。
[0076] 在进行形变之前,可以进一步的获取头部区域的形变参数,形变参数表示了对头部区域的缩放比例,例如,形变参数可以是0.9,表示对头部区域执行0.9倍的缩放处理。
[0077] 形变参数可以通过多种方式获得,作为一种方式,形变参数可以根据用户在相应的交互界面上输入的值来确定。或者,作为另外一种方式,形变参数还可以通过自动计算目标对象在目标图形上身体各个部分的比例来自动计算得到。
[0078] 在获得形变参数之后,可以对这头部区域进行形变。例如,可以将头部区域边界向头部的中心方向进行压缩形变。在对头部区域进行形变的过程中,会导致头部区域的图像由于形变而和头部相邻区域之间产生空隙,导致形变后的头部区域和头部相邻区域不能够较好的贴合在一起。
[0079] 为此,可以根据头部区域的中心点坐标和头部相邻区的关键点之间的距离,来计算头部区域由于形变而产生的空隙长度。比如,头部中心点坐标和头部相邻区的距离是a,形变系数是b,则在头部区域的图像完成形变之后,头部区域和头部相邻区之间会产生a*(1-b)的缝隙,此时,可以通过在a*(1-b)的缝隙区域填充头部相邻区域色彩值的方式,来完成头部变形图像与所述目标对象的头部相邻区域的匹配,进而得到目标对象的美化图像。
[0080] 这样一来,通过分别针对第一视频帧和第二视频帧执行形变和匹配操作,便得到了第一美化图像和第二美化图像,该第一美化图像和第二美化图像用以构成美化视频的视频帧。
[0081] 通过上述方式,能够对目标视频中的视频帧进行美化,从而提高了视频帧中目标对象的美化效果。
[0082] 参见图2,根据本公开实施例的一种具体实现方式,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作之后,所述方法还包括:
[0083] S201,获取与所述第二视频帧相邻的第三视频帧。
[0084] 与获取第一视频帧和第二视频帧类似,为了进一步的对视频中所有的视频帧进行效果美化,可以进一步的获取与第二视频帧相邻的第三视频帧,第三视频帧在目标视频的时间维度上晚于第二视频帧。
[0085] S202,对所述第三视频帧进行关键点检测,形成第四关键点集合。
[0086] 获得第三视频帧之后,可以对第三视频帧的头部区域和头部相邻区域执行关键点检测,进而得到多个头部关键点和多个头部相邻区域关键点。对头部区域和头部相邻区域的关键词检测可以采用诸如CPM(Convolutional Pose Machine,卷积姿态检测器),PAF(Part Affinity Fields,局部亲和立场检测方法)等方式来进行。在此对于关键点的检测方法不作限定。
[0087] S203,基于所述第三关键点集合和所述第四关键点集合,对所述第三视频帧执行图像美化操作,形成第三美化图像。
[0088] 此处可以采用与步骤S103-S104中类似的美化操作步骤,通过第三关键点集合对第四关键点结合执行平滑处理后,在利用平滑处理后的关键点集合对第三视频帧执行图像美化操作,形成第三美化图像。
[0089] S204,将所述第三美化图像作为所述美化视频的视频帧。
[0090] 通过步骤S201-S204中的处理方式,能够持续的对目标视频中的视频帧执行图像美化操作。
[0091] 参见图3,根据本公开实施例的一种具体实现方式,所述基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,包括:
[0092] S301,获取第一关键点集合中的第一关键点的坐标(x1,y1),以及第二关键点集合中的第二关键点的坐标(x2,y2),所述第二关键点与所述第一关键点相对应;
[0093] S302,基于预先设置的平滑系数L,计算第二关键点平滑处理后的坐标(x2’,y2’)。
[0094] 具体的,可以采用公式x2’=x1*L+x2*(1-L),y2’=y1*L+y2*(1-L)来计算计算第二关键点平滑处理后的坐标(x2’,y2’)。
[0095] 根据本公开实施例的一种具体实现方式,在分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测的过程中,可以分别对第一视频帧和第二视频帧上目标对象的头部区域和头部相邻区域执行关键点检测,得到多个头部关键点和多个头部相邻区域关键点。
[0096] 根据本公开实施例的一种具体实现方式,在分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测之后,还可以基于所述头部关键点,确定头部区域的中心点坐标及头部表示区域。头部关键点可以是包含了眼睛、鼻子、耳朵等多个器官特征的关键点集合,通过计算得到的头部关键点,可以确定头部区域的中心点坐标。具体的,可以获取头部关键点的坐标位置,利用这些关键点坐标信息来计算出头部的中心点,比如把头部的关键点坐标进行平均计算,或者是对关键点坐标进行加权平均等。还可以采取其他的类似方式来计算头部区域的中心点坐标。获得头部区域的中心点坐标之后,可以基于该中心点坐标来针对头部区域执行相应图像处理。除了计算头部区域的中心点坐标之外,还可以利用这些关键点坐标信息计算出头部的大小,比如利用头部关键点坐标得到一个最小的矩形能够使这些关键点全部在这个矩形内部,取得这个矩形的最长边然后乘以一个系数,可以估算出头部的大小,进而基于该矩形获得头部表示区域。头部表示区域能够用来描述头部的大致区域。当然,根据实际的需要,除了采用矩形来描述头部表示区域之外,还可以采用圆形、椭圆形等其他图形。
[0097] 根据本公开实施例的一种具体实现方式,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,可以分别在第一视频帧和第二视频帧上,利用获取到的针对头部区域的形变参数,以所述中心点坐标为中心,对所述头部表示区域的图像执行变形操作,形成头部变形图像。
[0098] 根据本公开实施例的一种具体实现方式,所述对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,还包括:分别在第一视频帧和第二视频帧上,利用所述中心点坐标和所述头部相邻区域关键点,将所述头部变形图像与所述目标对象的头部相邻区域进行匹配设置,获得目标对象的美化图像。
[0099] 参见图4,根据本公开实施例的一种具体实现方式,所述对第一视频帧和第二视频帧上目标对象的头部区域和头部相邻区域执行关键点检测,包括:
[0100] S401,分别在第一视频帧和第二视频帧上,获取所述头部区域的灰度图像。
[0101] 为了方便执行关键点检测,可以将第一视频帧和第二视频帧转换为灰度图像,通过灰度图像来计算头部区域和头部相邻区域的关键点。为此可以在转换后的灰度图像上获取头部区域的灰度图像。
[0102] S402,获取所述灰度图像中任一像素点gc的一个局部小邻域内,以gc为中心像素点,以r为半径的p个均匀分布的像素点集合gp。
[0103] r可以根据实际的需要进行设置,例如,r可以是若干个像素值。
[0104] S403,利用中心像素点gc与像素点集合gp中每一像素点之间的差值,对像素点gc周围的p个均匀分布的的像素点进行二值化处理。
[0105] 具体的,当中心像素点gc与像素点集合gp中任一像素点之间的差值大于0时,可以将该像素点集合中的像素值二值化为0,反之,则将其二值化为1。通过对像素点进行二值化处理,能够提高关键点的计算效率。
[0106] S404,基于二值化处理后的头部区域图像,对目标对象的头部区域执行关键点检测。
[0107] 具体的,可以对二值化后的头部区域图像的二进制字符串执行循环右移操作,得到头部区域图像的多组旋转不变特征L。对于每组旋转不变特征L,在目标点设定半径为r的兴趣范围,计算每个目标点的贡献值 计算每个目标点在多个不同方向上的特征T,基于特征T来确定头部区域的关键点。
[0108] 例如,可以对每个目标点计算出8个方向Di(i=1,2,…,8)上的加权和,得到第i个目标点的特征Ti,其中,Ti=L*w(r)。通过比较目标点的特征Ti与预设值之间的大小,可以确定该目标点是否为关键点。
[0109] 与上面的方法实施例相对应,参见图5,本公开还提供了一种视频美化装置50,包括:
[0110] 获取模块501,用于获取目标视频中相邻的第一视频帧和第二视频帧,所述第一视频帧在目标视频的时间维度上早于所述第二视频帧;
[0111] 检测模块502,用于分别对第一视频帧和第二视频帧执行针对目标对象的关键点检测,形成第一关键点集合和第二关键点集合;
[0112] 平滑模块503,用于基于所述第二关键点集合与所述第一关键点集合中关键点之间的对应关系,对所述第二关键点集合中的关键点执行平滑处理,得到第三关键点集合;
[0113] 执行模块504,用于分别基于所述第一关键点集合和所述第三关键点集合中的关键点,对所述第一视频帧和所述第二视频帧执行针对目标对象头部区域的图像美化操作,形成第一美化图像和第二美化图像,所述第一美化图像和第二美化图像用以构成美化视频的视频帧。
[0114] 图5所示装置可以对应的执行上述方法实施例中的内容,本实施例未详细描述的部分,参照上述方法实施例中记载的内容,在此不再赘述。
[0115] 参见图6,本公开实施例还提供了一种电子设备60,该电子设备包括:
[0116] 至少一个处理器;以及,
[0117] 与该至少一个处理器通信连接的存储器;其中,
[0118] 该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述方法实施例中视频美化方法。
[0119] 本公开实施例还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行前述方法实施例中。
[0120] 本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,该计算机程序包括程序指令,当该程序指令被计算机执行时,使该计算机执行前述方法实施例中的视频美化方法。
[0121] 下面参考图6,其示出了适于用来实现本公开实施例的电子设备60的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0122] 如图6所示,电子设备60可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备60操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0123] 通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备60与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种装置的电子设备60,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0124] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
[0125] 需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
[0126] 上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0127] 上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
[0128] 或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
[0129] 可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0130] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0131] 描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
[0132] 应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
[0133] 以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。