一种人脸关键点检测、妆容处理方法、装置及存储介质与流程

文档序号:33249067发布日期:2023-02-18 00:16阅读:32来源:国知局
一种人脸关键点检测、妆容处理方法、装置及存储介质与流程

1.本公开涉及图像处理技术领域,尤其涉及一种人脸关键点检测、妆容处理方法、装置及存储介质。


背景技术:

2.随着科学技术的发展,图像关键点检测作为一种常见的图像处理方式被人们所熟知,也因为其广泛的运用前景,出现于日常生活的各个场景中。
3.相关技术中,可以对匹配同一视频流的多帧连续视频帧进行人脸关键点检测。但由于视频流中不同视频帧中的人脸关键点位置变化不连续,导致人脸关键点在视频流中存在抖动问题。


技术实现要素:

4.为克服相关技术中存在的问题,本公开提供一种人脸关键点检测、妆容处理方法、装置及存储介质。
5.根据本公开实施例的第一方面,提供一种人脸关键点检测方法,包括:
6.获取目标人脸所对应的视频流数据;针对所述视频流数据中的各个视频帧,对所述视频帧进行人脸关键点检测,得到所述视频帧所对应的初始人脸关键点信息;确定所述初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值;基于所述卡尔曼增益值,对所述初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。
7.一实施方式中,确定所述初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值,包括:基于各所述初始人脸关键点所表征的面部特征,确定各所述初始人脸关键点所属的关键点类别;分别确定各所述关键点类别所对应的卡尔曼增益值;将所述关键点类别所对应的卡尔曼增益值,确定为属于所述关键点类别的各初始人脸关键点所对应的卡尔曼增益值。
8.一实施方式中,所述分别确定各所述关键点类别所对应的卡尔曼增益值,包括:针对各个所述关键点类别,确定属于所述关键点类别的各所述初始人脸关键点所对应的基准人脸关键点;确定所述基准人脸关键点所对应的卡尔曼增益值;将所述基准人脸关键点所对应的卡尔曼增益值,确定为所述关键点类别所对应的卡尔曼增益值。
9.一实施方式中,采用如下方式确定指定人脸关键点所对应的卡尔曼增益值,其中,所述指定人脸关键点为所述初始人脸关键点或所述基准人脸关键点:判断所述指定人脸关键点所对应的目标视频帧是否为所述视频流数据的首帧视频帧;若是,则将第一目标数值确定为所述指定人脸关键点所对应的卡尔曼增益值;否则,基于所述指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定所述指定人脸关键点所对应的卡尔曼增益值;其中,所述参考人脸关键点为所述目标视频帧相邻的前一帧视频帧中与所述指定人脸关键点相对应的人脸关键点。
10.一实施方式中,采用如下方式确定所述第一偏移距离:确定所述指定人脸关键点
所对应的第一位置信息,以及,确定平滑处理后的所述参考人脸关键点所对应的第二位置信息;确定所述第一位置信息与和所述第二位置信息之间的距离差值;将所述距离差值确定为所述第一偏移距离。
11.一实施方式中,基于所述指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定所述指定人脸关键点所对应的卡尔曼增益值,包括:基于所述第一偏移距离,确定所述指定人脸关键点的系统过程误差;将所述系统过程误差与所述参考人脸关键点的预测误差之间的和值,确定为所述指定人脸关键点的预测误差;基于所述指定人脸关键点的预测误差和目标观测误差,确定所述指定人脸关键点所对应的卡尔曼增益值。
12.一实施方式中,确定所述指定人脸关键点的系统过程误差,包括:确定目标距离与所述第一偏移距离之间的比值;将所述比值确定为所述指定人脸关键点的系统过程误差。
13.一实施方式中,基于所述指定人脸关键点的预测误差和目标观测误差,确定所述指定人脸关键点所对应的卡尔曼增益值之后,所述方法还包括:基于所述指定人脸关键点的卡尔曼增益值,更新所述指定人脸关键点的预测误差;基于所述指定人脸关键点所对应的更新后的预测误差,确定所述目标视频帧相邻的下一帧视频中的指定人脸关键点所对应的卡尔曼增益值。
14.一实施方式中,基于所述指定人脸关键点的卡尔曼增益值,更新所述指定人脸关键点的预测误差,包括:确定第二目标数值与所述指定人脸关键点所对应的卡尔曼增益之间的差值;确定所述差值与所述指定人脸关键点的预测误差之间的第一乘积值;将所述第一乘积值确定为所述指定人脸关键点所对应的更新后的预测误差。
15.一实施方式中,基于所述卡尔曼增益值,对所述初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息,包括:确定所述初始人脸关键点相对于参考人脸关键点的第二偏移距离;其中,所述参考人脸关键点为目标视频帧相邻的前一帧视频帧中与指定人脸关键点相对应的人脸关键点,所述目标视频帧为所述初始人脸关键点所属的视频帧;确定所述第二偏移距离与所述目标人脸关键点的卡尔曼增益值之间的第二乘积值;确定所述参考人脸关键点在平滑处理后所对应的第二位置信息与所述第二乘积值的和值;将所述和值确定为平滑后的目标人脸关键点信息。
16.根据本公开实施例的第二方面,提供一种妆容处理方法,所述妆容处理方法中涉及的人脸关键点检测方法与前述实施例的人脸关键点检测方法相同,可引用前述实施例的全部内容,所述方法包括:
17.响应于用户触发的妆容处理请求,获取目标人脸所对应的视频流数据;针对所述视频流数据中的各个视频帧,对所述视频帧进行人脸关键点检测,得到所述视频帧所对应的初始人脸关键点信息;确定各所述初始人脸关键点信息所对应的卡尔曼增益值;基于所述卡尔曼增益值,对所述初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息;基于所述目标人脸关键点信息,执行针对所述目标人脸的妆容处理操作。
18.根据本公开实施例的第三方面,提供一种人脸关键点检测装置,包括:
19.获取单元,用于获取目标人脸所对应的视频流数据;检测单元,用于针对所述视频流数据中的各个视频帧,对所述视频帧进行人脸关键点检测,得到所述视频帧所对应的初始人脸关键点信息;确定单元,用于确定所述初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值;处理单元,用于基于所述卡尔曼增益值,对所述初始人脸关键点信
息进行平滑处理,得到平滑后的目标人脸关键点信息。
20.一实施方式中,所述确定单元采用如下方式确定所述初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值:基于各所述初始人脸关键点所表征的面部特征,确定各所述初始人脸关键点所属的关键点类别;分别确定各所述关键点类别所对应的卡尔曼增益值;将所述关键点类别所对应的卡尔曼增益值,确定为属于所述关键点类别的各初始人脸关键点所对应的卡尔曼增益值。
21.一实施方式中,所述确定单元采用如下方式分别确定各所述关键点类别所对应的卡尔曼增益值:针对各个所述关键点类别,确定属于所述关键点类别的各所述初始人脸关键点所对应的基准人脸关键点;确定所述基准人脸关键点所对应的卡尔曼增益值;将所述基准人脸关键点所对应的卡尔曼增益值,确定为所述关键点类别所对应的卡尔曼增益值。
22.一实施方式中,所述确定单元采用如下方式确定指定人脸关键点所对应的卡尔曼增益值,其中,所述指定人脸关键点为所述初始人脸关键点或所述基准人脸关键点:判断所述指定人脸关键点所对应的目标视频帧是否为所述视频流数据的首帧视频帧;若是,则将第一目标数值确定为所述指定人脸关键点所对应的卡尔曼增益值;否则,基于所述指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定所述指定人脸关键点所对应的卡尔曼增益值;其中,所述参考人脸关键点为所述目标视频帧相邻的前一帧视频帧中与所述指定人脸关键点相对应的人脸关键点。
23.一实施方式中,所述确定单元采用如下方式确定所述第一偏移距离:确定所述指定人脸关键点所对应的第一位置信息,以及,确定平滑处理后的所述参考人脸关键点所对应的第二位置信息;确定所述第一位置信息与和所述第二位置信息之间的距离差值;将所述距离差值确定为所述第一偏移距离。
24.一实施方式中,所述确定单元采用如下方式基于所述指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定所述指定人脸关键点所对应的卡尔曼增益值:基于所述第一偏移距离,确定所述指定人脸关键点的系统过程误差;将所述系统过程误差与所述参考人脸关键点的预测误差之间的和值,确定为所述指定人脸关键点的预测误差;基于所述指定人脸关键点的预测误差和目标观测误差,确定所述指定人脸关键点所对应的卡尔曼增益值。
25.一实施方式中,所述确定单元采用如下方式基于所述偏移距离,确定所述指定人脸关键点的系统过程误差:确定目标距离与所述第一偏移距离之间的比值;将所述比值确定为所述指定人脸关键点的系统过程误差。
26.一实施方式中,所述确定单元还用于:基于所述指定人脸关键点的预测误差和目标观测误差,确定所述指定人脸关键点所对应的卡尔曼增益值之后,基于所述指定人脸关键点的卡尔曼增益值,更新所述指定人脸关键点的预测误差;基于所述指定人脸关键点所对应的更新后的预测误差,确定所述目标视频帧相邻的下一帧视频中的指定人脸关键点所对应的卡尔曼增益值。
27.一实施方式中,所述确定单元采用如下方式基于所述指定人脸关键点的卡尔曼增益值,更新所述指定人脸关键点的预测误差:确定第二目标数值与所述指定人脸关键点所对应的卡尔曼增益之间的差值;确定所述差值与所述指定人脸关键点的预测误差之间的第一乘积值;将所述第一乘积值确定为所述指定人脸关键点所对应的更新后的预测误差。
28.一实施方式中,所述处理单元采用如下方式基于所述卡尔曼增益值,对所述初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息:确定所述初始人脸关键点相对于参考人脸关键点的第二偏移距离;其中,所述参考人脸关键点为目标视频帧相邻的前一帧视频帧中与指定人脸关键点相对应的人脸关键点,所述目标视频帧为所述初始人脸关键点所属的视频帧;确定所述第二偏移距离与所述目标人脸关键点的卡尔曼增益值之间的第二乘积值;确定所述参考人脸关键点在平滑处理后所对应的第二位置信息与所述第二乘积值的和值;将所述和值确定为平滑后的目标人脸关键点信息。
29.根据本公开实施例第四方面,提供一种妆容处理装置,所述妆容处理装置中涉及的人脸关键点检测装置与前述实施例的人脸关键点检测装置相同,可引用前述实施例的全部内容,所述装置包括:
30.获取单元,响应于用户触发的妆容处理请求,获取目标人脸所对应的视频流数据;检测单元,用于针对所述视频流数据中的各个视频帧,对所述视频帧进行人脸关键点检测,得到所述视频帧所对应的初始人脸关键点信息;确定单元,用于确定各所述初始人脸关键点信息所对应的卡尔曼增益值;处理单元,用于基于所述卡尔曼增益值,对所述初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息;基于所述目标人脸关键点信息,执行针对所述目标人脸的妆容处理操作。
31.根据本公开实施例第五方面,提供一种电子设备,包括:
32.处理器;用于存储处理器可执行指令的存储器;
33.其中,所述处理器被配置为:执行第一方面或者第一方面任意一种实施方式中所述的人脸关键点检测方法。
34.根据本公开实施例第六方面,提供一种电子设备,包括:
35.处理器;用于存储处理器可执行指令的存储器;
36.其中,所述处理器被配置为:执行第二方面或者第二方面任意一种实施方式中所述的妆容处理方法。
37.根据本公开实施例第七方面,提供一种存储介质,所述存储介质中存储有指令,当所述存储介质中的指令由处理器执行时,使得处理器能够执行第一方面或者第一方面任意一种实施方式中所述的人脸关键点检测方法。
38.根据本公开实施例第八方面,提供一种存储介质,所述存储介质中存储有指令,当所述存储介质中的指令由处理器执行时,使得处理器能够执行第二方面或者第二方面任意一种实施方式中所述的妆容处理方法。
39.本公开的实施例提供的技术方案可以包括以下有益效果:获取目标人脸所对应的视频流数据,并针对视频流数据中的各个视频帧,对所述视频帧进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息。确定各初始人脸关键点所对应的卡尔曼增益值,由于卡尔曼滤波方式具有优秀的数据还原能力,能够还原人脸关键点的位置,因此,通过卡尔曼增益值,对初始人脸关键点信息进行平滑处理,可以有效改善视频流中人脸关键点的抖动问题。
40.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
41.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
42.图1是根据一示例性实施例示出的一种人脸关键点检测方法的流程图。
43.图2是根据一示例性实施例示出的一种确定各视频帧中各人脸关键点的示意图。
44.图3是根据一示例性实施例示出的一种确定各初始人脸关键点所对应的卡尔曼增益值的方法流程图。
45.图4是根据一示例性实施例示出的一种确定每个关键点类别所对应的卡尔曼增益值的方法流程图。
46.图5是根据一示例性实施例示出的一种确定指定人脸关键点所对应的卡尔曼增益值的方法流程图。
47.图6是根据一示例性实施例示出的一种确定指定人脸关键点所对应的卡尔曼增益值的方法流程图。
48.图7是根据一示例性实施例示出的一种确定目标人脸关键点的卡尔曼增益值的方法流程图。
49.图8是根据一示例性实施例示出的一种确定目标人脸关键点的卡尔曼增益值的方法流程图。
50.图9是根据一示例性实施例示出的一种确定目标视频帧相邻的下一帧视频中的指定人脸关键点所对应的卡尔曼增益值的方法流程图。
51.图10是根据一示例性实施例示出的一种更新指定人脸关键点的预测误差的方法流程图。
52.图11是根据一示例性实施例示出的一种对初始人脸关键点进行平滑处理的方法流程图。
53.图12是根据一示例性实施例示出的一种为对目标人脸执行妆容处理操作的方法流程图。
54.图13是根据一示例性实施例示出的一种为目标人脸添加妆容前的效果示意图。
55.图14是根据一示例性实施例示出的一种为目标人脸添加妆容后的效果示意图。
56.图15是根据一示例性实施例示出的一种人脸关键点检测装置框图。
57.图16是根据一示例性实施例示出的一种妆容处理装置框图。
58.图17是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
59.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。
60.在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本公开一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本公开保护的范围。下面结合附图对本公开的实施例进行详细说明。
61.近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(artificial intelligence,ai)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三位重建、虚拟现实、增强现实、同步定位与地图构建(slam)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
62.本公开实施例提供的人脸关键点检测方法,可以应用于对目标人脸所对应的视频流进行人脸关键点检测的场景中。
63.相关技术中,对视频流进行人脸关键点检测时,通常采用对视频流中各视频帧进行人脸关键点检测的方式。相关技术中,由于得到的人脸关键点是通过对视频流中各视频帧进行人脸关键点检测得到的,因此,得到的人脸关键点,在视频流中的位置变化通常不是平滑连续的,导致检测出的人脸关键点在视频流中存在随机抖动的问题。
64.本公开实施例提供的人脸关键点检测方法,可以通过卡尔曼滤波的方式对视频流中各人脸关键点进行平滑处理。示例的,可以针对视频流数据中的各个视频帧,进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息,并确定出各初始人脸关键点所对应的卡尔曼增益值。由于卡尔曼滤波方式具有优秀的数据还原能力,因此,通过与各初始人脸关键点相对应的卡尔曼增益值,对各初始人脸关键点进行平滑处理,可以有效改善视频流中人脸关键点的抖动问题。
65.图1是根据一示例性实施例示出的一种人脸关键点检测方法的流程图,如图1所示,包括以下步骤。
66.在步骤s11中,获取目标人脸所对应的视频流数据。
67.示例的,视频流数据可以是对目标人脸进行视频流数据实时采集得到的,且采集视频流数据的设备和获取视频流数据的设备可以相同或不同。例如,可以通过一设备进行视频流数据实时采集,并将实时采集到的视频流数据实时发送至另一设备,以使另一设备获取视频流数据。又例如,可以通过一设备进行视频流数据实时采集,并直接通过该设备获取视频流数据。
68.在步骤s12中,针对视频流数据中的各个视频帧,对视频帧进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息。
69.示例的,如图2所示,可以对视频帧进行人脸关键点检测,进而确定出该视频帧中各人脸关键点的初始人脸关键点信息(示例以0至80共81个标号表征人脸关键点)。其中,可以理解的是,可以人脸关键点的检测数量可以是预先设置的。示例的,可以设置数量较多(n
>81)的人脸关键点,以提升人脸关键点的特征表征精度,也可以设置数量较少(n<81)的人脸关键点,以提高人脸关键点检测效率。其中,n表示目标图像帧中包括的人脸关键点的数量。本公开对人脸关键点的检测数量不做具体限定。
70.在步骤s13中,确定初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值。
71.在步骤s14中,基于卡尔曼增益值,对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。
72.本公开实施例提供的人脸关键点检测方法,可以将目标人脸关键点信息,确定为匹配视频流中各视频帧的人脸关键点。由于目标人脸关键点信息,是通过卡尔曼增益值进行平滑处理得到的,因此,可以有效改善视频流中人脸关键点的抖动问题。
73.本公开实施例中,可以针对每一人脸关键点,分别确定卡尔曼增益值,以此保证人脸关键点的平滑处理效果。但由于通常的,用于表征同一面部特征的多个人脸关键点的抖动情况相近或相同。因此,也可以对表征同一面部特征的多个人脸关键点,设置相同的卡尔曼增益值。
74.一实施方式中,可以根据各初始人脸关键点所表征的面部特征,确定各人脸关键点所属的关键点类别。进一步的,可以在确定每个关键点类别所对应的卡尔曼增益值的情况下,将关键点类别所对应的卡尔曼增益值,确定为属于该关键点类别的各初始关键点所对应的卡尔曼增益值。
75.图3是根据一示例性实施例示出的一种确定各初始人脸关键点所对应的卡尔曼增益值的方法流程图,如图3所示,包括以下步骤。
76.在步骤s21中,基于各初始人脸关键点所表征的面部特征,确定各初始人脸关键点所属的关键点类别。
77.示例的,可以对表征眼部特征的全部人脸关键点设置相同类别。当然,还可以根据人脸关键点用于表征左眼或右眼,对关键点类别进行更加细致的划分(将用于表征左眼的全部人脸关键点设置为某一类别,将用于表征右眼的全部人脸关键点设置为另一类别),本公开对人脸关键点所属类别的划分方式不做具体限定。
78.在步骤s22中,分别确定各关键点类别所对应的卡尔曼增益值。
79.示例的,可以针对每一类别设置对应的基准人脸关键点。进一步的,可以在确定基准人脸关键点的情况下,将该基准人脸关键点所对应的卡尔曼增益值,确定为该基准人脸关键点所属关键点类别所对应的卡尔曼增益值。
80.图4是根据一示例性实施例示出的一种确定每个关键点类别所对应的卡尔曼增益值的方法流程图,如图4所示,包括以下步骤。
81.在步骤s221中,针对各个关键点类别,确定属于关键点类别的各初始人脸关键点所对应的基准人脸关键点。
82.本公开实施例中,由于表征同一面部特征的多个人脸关键点的抖动情况相近或相同,因此,表征同一面部特征的多个人脸关键点中的任一人脸关键点,都可以作为基准关键点。
83.示例的,可以在需要确定关键点类别所对应的卡尔曼增益值时,随机选取一人脸关键点,并将该人脸关键点作为基准人脸关键点。当然,还可以通过预先设置的方式确定基
准人脸关键点,本公开对基准人脸关键点的确定方式不做具体限定。
84.在步骤s222中,确定基准人脸关键点所对应的卡尔曼增益值。
85.在步骤s223中,将基准人脸关键点所对应的卡尔曼增益值,确定为关键点类别所对应的卡尔曼增益值。
86.本公开实施例提供的人脸关键点检测方法,可以针对每一关键点类别,确定一基准人脸关键点。进一步的,可以确定基准人脸关键点所对应的卡尔曼增益值,以及将基准人脸关键点所对应的卡尔曼增益值作为基准人脸关键点所属关键点类别所对应的卡尔曼增益值,以此确定各个关键点类别所对应的卡尔曼增益值。
87.在步骤s23中,将关键点类别所对应的卡尔曼增益值,确定为属于关键点类别的各初始人脸关键点所对应的卡尔曼增益值。
88.本公开实施例中,可以对人脸关键点进行类别划分,并对属于同一人脸关键点类别的全部人脸关键点设置相同的卡尔曼增益值,该方法在保证人脸关键点平滑处理效果的同时,提高确定匹配人脸关键点的卡尔曼增益值的效率。
89.由于本公开实施例提供的人脸关键点检测方法,是通过人脸关键点在前一视频帧中的所处的位置,辅助确定该人脸关键点在当前视频帧中所处的位置。并且,对首帧视频帧而言,不存在可以作为参考的前一视频帧。因此,一示例中,可以直接将首帧视频帧所对应的卡尔曼增益值设置为默认值,该方法可以直接将对应首帧视频帧的初始人脸关键点信息,确定为目标人脸关键点信息,以此满足对首帧视频帧的处理需求。
90.另一示例中,针对非首帧视频帧,可以通过与该非首帧视频帧相邻的前一帧视频帧,确定该非首帧视频帧中指定人脸关键点的卡尔曼增益值。
91.本公开为便于描述,将目标视频帧中待进行卡尔曼增益值确定的人脸关键点称为指定人脸关键点,将目标视频帧的相邻前一帧图像中,与指定人脸关键点相对应的人脸关键点称为参考人脸关键点,将指定人脸关键点相对于参考人脸关键点的偏移距离称为第一偏移距离。其中,如图2所示,目标视频帧的相邻前一帧图像中,与指定人脸关键点相对应的人脸关键点,可以理解为目标视频帧的相邻前一帧图像中,与指定人脸关键点的标号相同的人脸关键点。
92.图5是根据一示例性实施例示出的一种确定指定人脸关键点所对应的卡尔曼增益值的方法流程图,如图5所示,包括以下步骤。其中,指定人脸关键点可以为初始人脸关键点,也可以为基准人脸关键点。
93.在步骤s31中,判断指定人脸关键点所对应的目标视频帧是否为视频流数据的首帧视频帧。
94.在步骤s32a中,若是,则将第一目标数值确定为指定人脸关键点所对应的卡尔曼增益值。
95.本公开实施例中,第一目标数值可以理解为为首帧视频帧设置的卡尔曼增益值默认值。示例的,可以将第一目标数值设置为0。
96.在步骤s32b中,否则,基于指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定指定人脸关键点所对应的卡尔曼增益值。
97.示例的,如图2所示,若目标人脸关键点的标号为“80”,则与目标图像帧相邻的前一帧图像中标号为“80”的人脸关键点,即为与目标人脸关键点相对应的参考人脸关键点。
进一步的,可以根据目标人脸关键点在目标视频帧中所处的位置,以及参考人脸关键点在目标图像帧相邻的前一帧图像中所处的位置,确定出指定人脸关键点相对于参考人脸关键点的偏移距离。其中,指定人脸关键点相对于参考人脸关键点的偏移距离,可以表征指定人脸关键点在相邻视频帧中的位移情况,引用该偏移距离进行卡尔曼增益值的估算,可以得到指定人脸关键点的卡尔曼增益值。
98.一示例中,可以采用如下方式确定指定人脸关键点相对于参考人脸关键点的偏移距离。
99.本公开为便于描述,将指定人脸关键点对应的平滑前的位置信息称为第一位置信息,将参考人脸关键点对应的平滑后的位置信息称为第二位置信息。
100.图6是根据一示例性实施例示出的一种确定指定人脸关键点所对应的卡尔曼增益值的方法流程图,如图6所示,包括以下步骤。
101.在步骤s41中,确定指定人脸关键点所对应的第一位置信息,以及,确定平滑处理后的参考人脸关键点所对应的第二位置信息。
102.示例的,确定第一位置信息,可以是在初始人脸关键点信息中,确定出与指定人脸关键点相匹配的位置信息。此外,示例的,由于对每一视频帧进行人脸关键点平滑处理时,与该视频帧相邻的前一视频帧对应的人脸关键点信息,为平滑后的目标人脸关键点信息。因此,确定第二位置信息,可以是在得到的平滑后的目标人脸关键点信息中,确定匹配参考人脸关键点的目标人脸关键点信息,并通过匹配参考人脸关键点的目标人脸关键点信息,确定出参考人脸关键点的位置信息。
103.在步骤s42中,确定第一位置信息与第二位置信息之间的距离差值。
104.示例的,距离差值可以理解为,第一位置信息对应的位置坐标与第二位置信息对应的位置坐标之间的距离值。
105.在步骤s43中,将距离差值确定为第一偏移距离。
106.本公开实施例中,将距离差值确定为偏移距离,可以理解为将第一位置信息和第二位置信息之间的距离差值,作为指定人脸关键点由目标视频帧相邻的前一帧中所处的位置移动至目标视频帧中所处的位置的过程中,指定人脸关键点对应的位移情况。
107.本公开实施例提供的人脸关键点检测方法,可以确定出视频流中包括首诊视频帧在内的各帧视频帧中,各人脸关键点所对应的卡尔曼增益值,以备后续对个人脸关键点进行平滑处理。
108.通常的,人脸关键点在视频流中的抖动问题,通常是由两方面因素造成的。一方面,由于针对相邻视频帧而言,同一关键点的实际位置变化存在时间跨度(受抽帧间隔影响),因此,同一关键点在多帧视频帧中的位置变化并不是平滑连续的。若关键点的实际位置发生微小变化(肉眼无法察觉,但实际存在),则人脸关键点会在视频流中发生相应的抖动。另一方面,人脸关键点的检测位置与人脸关键点的实际位置之间通常存在差异,该差异可能会在人脸关键点的实际位置发生微小变化时被进一步放大,进而造成人脸关键点在视频流中的抖动。
109.本公开实施例中,可以通过观测误差表征人脸关键点的实际位置与人脸关键点的观测位置之间的位置差异度。以及可以通过预测误差表征人脸关键点在由首帧视频帧中所处的位置移动至在目标视频帧中所处的位置的过程中,人脸关键点所累积的位置差异度。
进一步的,可以通过观测误差和预测误差计算得到卡尔曼增益值。
110.一实施方式中,可以通过偏移距离以及预设观测误差,确定指定人脸关键点的卡尔曼增益值。其中,预设观测误差可以理解为通过观测人脸关键点在视频流中的抖动情况人为设置的。
111.图7是根据一示例性实施例示出的一种确定目标人脸关键点的卡尔曼增益值的方法流程图,如图7所示,包括以下步骤。
112.在步骤s51中,基于偏移距离,确定指定人脸关键点的系统过程误差。
113.本公开实施例中,系统过程误差(示例以q表示)用于改善关键点实际位置变化而引起的人脸关键点抖动。
114.示例的,在确定偏移距离的情况下,可以采用如下方式确定指定人脸关键点的系统过程误差。
115.图8是根据一示例性实施例示出的一种确定目标人脸关键点的卡尔曼增益值的方法流程图,如图8所示,包括以下步骤。
116.在步骤s511中,确定目标距离与第一偏移距离之间的比值。
117.其中,目标距离为预设距离值,且示例的,可以将目标距离设置为偏移距离的理论值最大值。通过该比值的数值大小,可以侧面反应指定人脸关键点在相邻视频帧中对应的位移情况。示例的,可以通过α=偏移距离/目标距离的方式,确定目标距离与偏移距离之间的比值(示例以α表示)。
118.在步骤s512中,将该比值确定为指定人脸关键点的系统过程误差。
119.一实施方式中,若该比值较小,则说明指定人脸关键点的实际位置变化较小。换言之,第一位置信息所表征的位置坐标与第二位置信息所表征的位置坐标之间的差异,主要由检测误差引起(即,由指定人脸关键点的检测坐标位置与指定人脸关键点的实际坐标位置之间的坐标位置差异引起)。该情况下,设置数值较小的系统过程误差(示例以趋于数值0的系统过程误差表征数值较小的过程误差),可以有效改善因检测误差而引起的人脸关键点抖动。
120.另一实施方式中,若该比值较大,则说明指定人脸关键点的实际位置变化较大。换言之,第一位置信息所表征的位置坐标与第二位置信息所表征的位置坐标之间的差异,主要由指定人脸关键点的实际位移引起(即,由指定人脸关键点在视频流中对应的实际位置变化引起)。该情况下,为提高指定人脸关键点的跟随性,可以设置数值较大的过程误差(示例以趋于数值1的系统过程误差表征数值较大的过程误差),以改善因人脸关键点的实际位移而导致的人脸关键点抖动。
121.在步骤s52中,将系统过程误差与参考人脸关键点的预测误差之间的和值,确定为指定人脸关键点的预测误差。
122.其中,指定人脸关键点的预测误差表征指定人脸关键点由首帧视频帧中对应的位置移动至目标视频帧中对应的位置的过程中,指定人脸关键点在首帧视频帧中对应的目标人脸关键点信息所表征的位置信息与指定人脸关键点对应的初始人脸关键点信息所表征的位置信息之间所累积的位置差异。
123.示例的,可以通过f=last_f+q的方式,确定指定人脸关键点的预测误差。其中,f表示指定人脸关键点的预测误差,last_f表示参考人脸关键点的预测误差,q表示匹配指定
人脸关键点的系统过程误差。一示例中,若确定目标视频帧为首帧视频帧,则确定指定人脸关键点的预测误差f为默认值。并且,示例的,预测误差f的默认值可以为0。由于本公开是通过k=f/(f+r)的方式,确定指定人脸关键点的卡尔曼增益值k,因此,在目标视频帧为首帧视频帧,且确定指定人脸关键点的预测误差f为0的情况下,指定人脸关键点的卡尔曼增益值也为0。
124.在步骤s53中,基于指定人脸关键点的预测误差和目标观测误差,确定指定人脸关键点的卡尔曼增益值。
125.通常的,观测误差过小或过大都会对人脸关键点的视觉效果造成影响。例如,若预设观测误差过小,则关键点的抖动幅度会增强。又例如,若预设观测误差过大,则人脸关键点在视频中实际的显示效果,会附带有拖影。若通过人脸关键点,为视频流添加相关特效,则所添加的特效也会附带有拖影,进而影响所添加特效的视觉效果。
126.示例的,可以人为观测人脸关键点在视频流中的显示效果,若人脸关键点的抖动较为明显,则可以将观测误差调高,以减小人脸关键点的抖动。若人脸关键点(或所添加特效)的拖影较为明显,则可以将观测误差调低,以改善拖影现象。本公开实施例提供的人脸关键点检测方法,可以根据人脸关键点(或为视频流数据中各视频帧添加的特效)的实际显示效果,调整预设观测误差,以使人脸关键点(或所添加的特效)即不会出现较为明显的“拖影”,也不会出现较为明显的抖动,该方法兼顾了视频画面的抖动情况及拖影情况,可以满足用户的视觉需求。
127.本公开实施例中,在确定指定人脸关键点的预测误差的情况下,可以根据指定人脸关键点的预测误差(示例以f表示),以及预设观测误差(示例以r表示),确定指定人脸关键点的卡尔曼增益值(示例以k表示)。示例的,可以通过k=f/(f+r)的方式,确定指定人脸关键点的卡尔曼增益值。
128.通常的,观测误差和预测误差为计算卡尔曼增益值所使用的常用参数。由于本公开实施例中,观测误差和预测误差分别对应了造成人脸关键点抖动因素的表征,因此,通过观测误差以及预测误差计算卡尔曼增益值,并通过卡尔曼增益值对各人脸关键点进行平滑处理,可以有效改善视频流中人脸关键点的抖动问题。
129.一实施方式中,可以在得到指定人脸关键点的卡尔曼增益值之后,更新指定人脸关键点的预测误差。
130.图9是根据一示例性实施例示出的一种确定目标视频帧相邻的下一帧视频中的指定人脸关键点所对应的卡尔曼增益值的方法流程图,如图9所示,包括以下步骤。
131.在步骤s61中,基于指定人脸关键点的卡尔曼增益值,更新指定人脸关键点的预测误差。
132.一示例中,可以计算第二目标数值与指定人脸关键点所对应的卡尔曼增益值之间的差值,并将该差值与指定人脸关键点的预测误差之间的乘积值,确定为指定人脸关键点所对应的更新后的预测误差。
133.本公开为便于描述,将计算指定人脸关键点所对应的更新后的预测误差时,所使用的预设数值称为第二目标数值,将第二目标数值与指定人脸关键点所对应的卡尔曼增益值之间的差值,与指定人脸关键点的预测误差之间的乘积值,称为第一乘积值。
134.图10是根据一示例性实施例示出的一种更新指定人脸关键点的预测误差的方法
流程图,如图10所示,包括以下步骤。
135.在步骤s611中,确定第二目标数值与指定人脸关键点所对应的卡尔曼增益之间的差值。
136.示例的,可以将第二目标数值设置为1。
137.在步骤s612中,确定差值与指定人脸关键点的预测误差之间的第一乘积值。
138.在步骤s613中,将第一乘积值确定为指定人脸关键点所对应的更新后的预测误差。
139.示例的,可以采用的方式,更新指定人脸关键点的预测误差。其中,f表示指定人脸关键点的预测误差,f
*
表示指定人脸关键点的更新后的预测误差,k表示指定人脸关键点的卡尔曼增益值。
140.在步骤s62中,基于指定人脸关键点所对应的更新后的预测误差,确定目标视频帧相邻的下一帧视频中的指定人脸关键点所对应的卡尔曼增益值。
141.本公开实施例中,更新后的指定人脸关键点的预测误差,可以表征指定人脸关键点由首帧视频帧中对应的位置移动至目标视频帧中对应的位置的过程中,指定人脸关键点在首帧视频帧中对应的目标人脸关键点信息所表征的位置信息与指定人脸关键点对应的目标人脸关键点信息所表征的位置信息之间所累积的位置差异。
142.本公开实施例提供的人脸关键点检测方法,可以在计算目标图像的相邻下一帧图像的人脸关键点的预测误差时,使用指定人脸关键点的更新后的卡尔曼增益值。由于指定人脸关键点的更新后的卡尔曼增益值可以更加精确的表征指定人脸关键点的实际误差,因此,该方法可以提升对图像帧序列视频流数据中各视频帧的指定人脸关键点进行平滑处理的处理效果,进一步改善人脸关键点的抖动问题。
143.本公开实施例中,可以可以采用如下方式对初始人脸关键点进行平滑处理,得到平滑后的目标人脸关键点信息。
144.本公开为便于描述,将初始人脸关键点相对于参考人脸关键点的偏移距离称为第二偏移距离,将第二偏移距离与目标人脸关键点的卡尔曼增益值之间的乘积值,称为第二乘积值。
145.图11是根据一示例性实施例示出的一种对初始人脸关键点进行平滑处理的方法流程图,如图11所示,包括以下步骤。
146.在步骤s71中,确定初始人脸关键点相对于参考人脸关键点的第二偏移距离。
147.其中,参考人脸关键点为目标视频帧相邻的前一帧视频帧中与初始人脸关键点相对应的人脸关键点,目标视频帧为初始人脸关键点所属的视频帧。
148.示例的,可以通过表示初始人脸关键点相对于参考人脸关键点的偏移距离,其中,p
t
表示初始人脸关键点在目标视频帧中所处的位置,sp
t-1
表示参考人脸关键点在目标视频帧相邻的前一帧视频帧中所处的位置。
149.在步骤s72中,确定第二偏移距离与目标人脸关键点的卡尔曼增益值之间的第二乘积值。
150.示例的,第二乘积值可以通过表示。
151.在步骤s73中,确定参考人脸关键点在平滑处理后所对应的第二位置信息与第二
乘积值的和值。
152.在步骤s74中,将和值确定为对应初始人脸关键点的平滑后的目标人脸关键点信息。
153.示例的,可以采用的方式确定对应初始人脸关键点的目标人脸关键点信息(示例以sp
t
表示,其中,t表示目标视频帧对应的帧数),其中,k表示初始人脸关键点的卡尔曼增益值,sp
t-1
表示对应参考人脸关键点的目标人脸关键点信息,t-1表示参考人脸关键点所属的视频帧所对应的帧数。例如,若对应目标视频帧中的全部人脸关键点目标人脸关键点信息为(其中,n表示目标视频帧中包括的人脸关键点的数量),且对应初始人脸关键点的目标人脸关键点信息为则可以通过的方式计算得到对应初始人脸关键点的目标人脸关键点信息。其中,表示对应参考人脸关键点的目标人脸关键点信息,m表示初始人脸关键点在目标视频帧中对应的标号。由于,初始人脸关键点与参考人脸关键点对应的标号是相同的,因此,m也可以表示参考人脸关键点在目标视频帧的相邻前一帧图像中对应的标号。
154.一实施方式中,可以预设观测误差(示例以r表示),并将对应参考人脸关键点的目标人脸关键点信息、参考人脸关键点的预测误差以及初始人脸关键点信息定义为目标人脸关键点的卡尔曼增益值(示例以k表示)的相关参数。计算初始人脸关键点相对于参考人脸关键点的偏移距离,并确定该偏移距离与目标距离之间的比值(示例以α表示)。进一步的,可以将该比值确定为系统过程误差(示例以q表示)。由于所设定的目标距离为该偏移距离的最大值,因此,偏移距离与目标距离的比值,处于0.0至1.0的数值范围内。此外,为防止系统过程误差计算出错,设置一极小值(示例以eps表示),并将该极小值与比值α之间的和值,系统过程误差q。进一步的,在确定初始人脸关键点的过程误差q的情况下,通过f=last_f+q的方式计算初始人脸关键点的预测误差f,其中,last_f表示参考人脸关键点的预测误差。在确定指定人脸关键点的预测误差f的情况下,通过k=f/(f+r)的方式确定目标人脸关键点的卡尔曼增益值k,进而通过目标人脸关键点的卡尔曼增益值k,得到对应初始人脸关键点的平滑后的目标人脸关键点信息。进一步的,可以通过的方式对初始人脸关键点的预测误差f进行更新,得到初始人脸关键点的更新后的预测误差f
*
。最后,输出对应初始人脸关键点的平滑后的目标人脸关键点信息,以及初始人脸关键点的更新后的预测误差f
*
。其中,初始人脸关键点的平滑后的目标人脸关键点信息,可以作为对应视频流的最终检测人脸关键点信息。此外,对应初始人脸关键点的平滑后的目标人脸关键点信息,以及初始人脸关键点的更新后的预测误差f
*
,还可以用于确定目标视频帧的相邻下一视频帧中,与初始人脸关键点相对应的人脸关键点的目标人脸关键点信息。
155.本公开实施例提供的人脸关键点检测方法,可以对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。由于相较于初始人脸关键点,目标人脸关键点在视频流中的位置变化更加平滑流畅,因此,该方法可以改善视频流中人脸关键点的抖动问题。
156.本公开实施例还提供了一种妆容处理方法,该方法可以引用前述任意一种实施例中涉及的人脸关键点检测方法,描述不够详尽之处,可参阅上述实施例中有关人脸关键点
检测方法所描述的实施例。
157.本公开实施例中,可以对视频流数据中各视频帧进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息。进一步的,可以确定各初始人脸关键点信息所对应的卡尔曼增益值,并通过卡尔曼增益至对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。该情况下,通过目标人脸关键点信息,指定针对目标人脸的妆容处理操作,可以改善所添加妆容的抖动问题。
158.图12是根据一示例性实施例示出的一种为对目标人脸执行妆容处理操作的方法流程图,如图12所示,包括以下步骤。
159.在步骤s81中,响应于用户触发的妆容处理请求,获取目标人脸所对应的视频流数据。
160.示例的,可以通过触控操作、操作物理按键、语音识别和/或人脸识别等方式触发妆容处理请求。
161.在步骤s82中,针对视频流数据中的各个视频帧,对视频帧进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息。
162.在步骤s83中,确定各初始人脸关键点信息所对应的卡尔曼增益值。
163.在步骤s84中,基于卡尔曼增益值,对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。
164.在步骤s85中,基于目标人脸关键点信息,执行针对目标人脸的妆容处理操作。
165.示例的,如图13及图14所示,可以通过目标人脸关键点信息,对目标人脸的唇部区域添加口红试色妆容。该情况下,对唇部区域添加口红试色妆容的显示效果平滑流畅,口红试色妆容的抖动问题可以得到较为明显的改善。并且,口红试色妆容不会带有较为明显的拖影。当然,可以理解的是,除为目标人脸添加口红试色妆容外,还可以为视频流中的各人脸图像添加例如“换脸”、“戴面具”和/或“戴饰品”等其他妆容,本公开对所添加妆容的类型不做具体限定。
166.本公开实施例中,各初始人脸关键点信息所对应的卡尔曼增益值,可以是通过预测误差和观测误差确定的。其中,可以通过观测误差表征人脸关键点的检测位置与人脸关键点的实际位置之间存在的差异,以及通过预测误差表征人脸关键点在多帧视频帧中位移时,检测位置与实际位置之间所累积的位置差异。该情况下,由于观测误差和预测误差分别对应了造成人脸关键点抖动因素的表征,因此,通过观测误差以及预测误差计算卡尔曼增益值,并通过卡尔曼增益值对各人脸关键点进行平滑处理,可以有效改善视频流中人脸关键点的抖动问题。此外,本公开实施例提供的妆容处理方法,还可以对指定人脸关键点的预测误差进行更新。由于指定人脸关键点的更新后的卡尔曼增益值可以更加精确的表征指定人脸关键点的实际误差,因此,该方法可以提升对视频流数据中各视频帧的指定人脸关键点进行平滑处理的处理效果,进一步改善人脸关键点的抖动问题。
167.在本公开实施例提供的妆容处理方法中,通过卡尔曼增益值,对初始人脸关键点信息进行平滑处理,可以得到位置变化更加平滑流畅的目标人脸关键点。在此基础上,通过目标人脸关键点信息,执行针对目标人脸的妆容处理操作,可以得到使所添加的妆容更加稳定,提高妆容的视觉效果。
168.基于相同的构思,本公开实施例还提供一种人脸关键点检测装置。
169.可以理解的是,本公开实施例提供的人脸关键点检测装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开实施例中所公开的各示例的单元及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
170.图15是根据一示例性实施例示出的一种人脸关键点检测装置框图。参照图15,该装置100包括获取单元101、检测单元102、确定单元103和处理单元104。
171.获取单元101,用于获取目标人脸所对应的视频流数据。检测单元102,用于针对视频流数据中的各个视频帧,对视频帧进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息。确定单元103,用于确定初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值。处理单元104,用于基于卡尔曼增益值,对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。
172.一实施方式中,确定单元103采用如下方式确定初始人脸关键点信息中的各初始人脸关键点所对应的卡尔曼增益值:基于各初始人脸关键点所表征的面部特征,确定各初始人脸关键点所属的关键点类别。分别确定各关键点类别所对应的卡尔曼增益值。将关键点类别所对应的卡尔曼增益值,确定为属于关键点类别的各初始人脸关键点所对应的卡尔曼增益值。
173.一实施方式中,确定单元103采用如下方式分别确定各关键点类别所对应的卡尔曼增益值:针对各个关键点类别,确定属于关键点类别的各初始人脸关键点所对应的基准人脸关键点。确定基准人脸关键点所对应的卡尔曼增益值。将基准人脸关键点所对应的卡尔曼增益值,确定为关键点类别所对应的卡尔曼增益值。
174.一实施方式中,确定单元103采用如下方式确定指定人脸关键点所对应的卡尔曼增益值,其中,指定人脸关键点为初始人脸关键点或基准人脸关键点:判断指定人脸关键点所对应的目标视频帧是否为视频流数据的首帧视频帧。若是,则将第一目标数值确定为指定人脸关键点所对应的卡尔曼增益值。否则,基于指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定指定人脸关键点所对应的卡尔曼增益值。其中,参考人脸关键点为目标视频帧相邻的前一帧视频帧中与指定人脸关键点相对应的人脸关键点。
175.一实施方式中,确定单元103采用如下方式确定第一偏移距离:确定指定人脸关键点所对应的第一位置信息,以及,确定平滑处理后的参考人脸关键点所对应的第二位置信息。确定第一位置信息与和第二位置信息之间的距离差值。将距离差值确定为第一偏移距离。
176.一实施方式中,确定单元103采用如下方式基于指定人脸关键点相对于参考人脸关键点的第一偏移距离,确定指定人脸关键点所对应的卡尔曼增益值:基于第一偏移距离,确定指定人脸关键点的系统过程误差。将系统过程误差与参考人脸关键点的预测误差之间的和值,确定为指定人脸关键点的预测误差。基于指定人脸关键点的预测误差和目标观测误差,确定指定人脸关键点所对应的卡尔曼增益值。
177.一实施方式中,确定单元103采用如下方式基于偏移距离,确定指定人脸关键点的系统过程误差:确定目标距离与第一偏移距离之间的比值。将比值确定为指定人脸关键点
的系统过程误差。
178.一实施方式中,确定单元103还用于:基于指定人脸关键点的预测误差和目标观测误差,确定指定人脸关键点所对应的卡尔曼增益值之后,基于指定人脸关键点的卡尔曼增益值,更新指定人脸关键点的预测误差。基于指定人脸关键点所对应的更新后的预测误差,确定目标视频帧相邻的下一帧视频中的指定人脸关键点所对应的卡尔曼增益值。
179.一实施方式中,确定单元103采用如下方式基于指定人脸关键点的卡尔曼增益值,更新指定人脸关键点的预测误差:确定第二目标数值与指定人脸关键点所对应的卡尔曼增益之间的差值。确定差值与指定人脸关键点的预测误差之间的第一乘积值。将第一乘积值确定为指定人脸关键点所对应的更新后的预测误差。
180.一实施方式中,处理单元104采用如下方式基于卡尔曼增益值,对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息:确定初始人脸关键点相对于参考人脸关键点的第二偏移距离。其中,参考人脸关键点为目标视频帧相邻的前一帧视频帧中与指定人脸关键点相对应的人脸关键点,目标视频帧为初始人脸关键点所属的视频帧。确定第二偏移距离与目标人脸关键点的卡尔曼增益值之间的第二乘积值。确定参考人脸关键点在平滑处理后所对应的第二位置信息与第二乘积值的和值。将和值确定为平滑后的目标人脸关键点信息。
181.图16是根据一示例性实施例示出的一种妆容处理装置框图。参照图16,该装置200包括获取单元201、检测单元202、确定单元203和处理单元204。
182.获取单元201,响应于用户触发的妆容处理请求,获取目标人脸所对应的视频流数据。检测单元202,用于针对视频流数据中的各个视频帧,对视频帧进行人脸关键点检测,得到视频帧所对应的初始人脸关键点信息。确定单元203,用于确定各初始人脸关键点信息所对应的卡尔曼增益值。处理单元204,用于基于卡尔曼增益值,对初始人脸关键点信息进行平滑处理,得到平滑后的目标人脸关键点信息。基于目标人脸关键点信息,执行针对目标人脸的妆容处理操作。
183.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
184.如图17所示,本发明的一个实施方式提供了一种电子设备300。其中,该电子设备300包括存储器301、处理器302、输入/输出(input/output,i/o)接口303。其中,存储器301,用于存储指令。处理器302,用于调用存储器301存储的指令执行本发明实施例的人脸关键点检测方法,或妆容处理方法。其中,处理器302分别与存储器301、i/o接口303连接,例如可通过总线系统和/或其他形式的连接机构(未示出)进行连接。存储器301可用于存储程序和数据,包括本发明实施例中涉及的多视频合并标注方法的程序,处理器302通过运行存储在存储器301的程序从而执行电子设备300的各种功能应用以及数据处理。
185.本发明实施例中处理器302可以采用数字信号处理器(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现,所述处理器302可以是中央处理单元(centralprocessingunit,cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元中的一种或几种的组合。
186.本发明实施例中的存储器301可以包括一个或多个计算机程序产品,所述计算机
程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(randomaccessmemory,ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)等。
187.本发明实施例中,i/o接口303可用于接收输入的指令(例如数字或字符信息,以及产生与电子设备300的用户设置以及功能控制有关的键信号输入等),也可向外部输出各种信息(例如,图像或声音等)。本发明实施例中i/o接口303可包括物理键盘、功能按键(比如音量控制按键、开关按键等)、鼠标、操作杆、轨迹球、麦克风、扬声器、和触控面板等中的一个或多个。
188.在一些实施方式中,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行时,执行上文所述的任何方法。
189.尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
190.本发明的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。
191.此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
192.出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。
193.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
194.可以理解的是,本公开中“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
195.进一步可以理解的是,术语“第一”、“第二”等用于描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。例如,在不脱离本公开范围的
情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
196.进一步可以理解的是,除非有特殊说明,“连接”包括两者之间不存在其他构件的直接连接,也包括两者之间存在其他元件的间接连接。
197.进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
198.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利范围指出。
199.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利范围来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1