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

特效显示方法、装置、计算机设备及存储介质

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


特效显示方法、装置、计算机设备及存储介质

技术领域

本申请涉及互联网技术领域,特别涉及一种特效显示方法、装置、计算机设备及存储介质。

背景技术

随着互联网技术的不断发展,在拍摄或直播时使用特效已成为一种新的娱乐方式。用户可以使用人脸特效,如美颜特效、萌脸特效等,此时终端会在对应画面中为用户的脸部添加该人脸特效。

目前,特效显示方法通常为:终端对采集到的图像帧进行人脸检测,得到图像帧的人脸检测结果,基于该人脸检测结果,在对应图像帧中为用户的脸部添加人脸特效。

然而,在拍摄或直播过程中,由于用户的脸部可能不会一直正对终端,导致终端有时无法检测到用户的人脸,会出现人脸特效突然消失或者变形的情况。

发明内容

本申请实施例提供了一种特效显示方法、装置、计算机设备及存储介质,提供了一种基于人脸关键点跟踪的特效显示方法,避免由于人脸检测失败而造成后续人脸特效突然消失或者变形的问题。该技术方案如下:

一方面,提供了一种特效显示方法,由终端执行,该方法包括:

响应于对目标特效的显示指令,在第一图像帧的人脸位置上,显示目标特效,该人脸位置基于多个第一人脸关键点确定,该多个第一人脸关键点基于对该第一图像帧的人脸检测得到;

响应于第二图像帧人脸检测失败,基于该多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点,该第二图像帧为该第一图像帧之后的图像帧;

响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效包括:

对于该第二人脸关键点,获取该第一图像帧的第一图像特征和该第二图像帧的第二图像特征,该第一图像特征为该第二人脸关键点对应的第一人脸关键点关联区域的图像特征,该第二图像特征为该第二人脸关键点关联区域的图像特征;

确定多个该第二人脸关键点的该第一图像特征与该第二图像特征之间的图像相似度;

响应于多个该第二人脸关键点对应的图像相似度均达到第一阈值,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,确定多个该第二人脸关键点的该第一图像特征与该第二图像特征之间的图像相似度之后,该方法还包括:

基于多个该第二人脸关键点对应的图像相似度,确定目标比例,该目标比例为图像相似度达到第一阈值的第二人脸关键点的数量占第二人脸关键点总数的比例;

响应于该目标比例达到比例阈值,执行该在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效的步骤。

在一些实施例中,响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效包括:

确定第一人脸轮廓和第二人脸轮廓之间的人脸相似度,该第一人脸轮廓为该多个第一人脸关键点对应的人脸轮廓,该第二人脸轮廓为该多个第二人脸关键点对应的第二人脸轮廓;

响应于该人脸相似度达到第二阈值,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,确定该第一人脸轮廓和该第二人脸轮廓之间的人脸相似度之前,该方法还包括:

分别将该多个第一人脸关键点和该多个第二人脸关键点的位置信息输入特征提取网络,通过该特征提取网络对人脸特征进行提取,得到该第一人脸轮廓的第一人脸特征和该第二人脸轮廓的第二人脸特征;

基于该第一人脸特征和该第二人脸特征,执行该确定该第一人脸轮廓和该第二人脸轮廓之间的人脸相似度的步骤。

在一些实施例中,基于该多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点包括:

将该多个第一人脸关键点输入人脸跟踪网络,通过该人脸跟踪网络对该第二图像帧进行人脸关键点跟踪,得到该多个第二人脸关键点。

一方面,提供了一种特效显示装置,该装置包括:

第一显示模块,用于响应于对目标特效的显示指令,在第一图像帧的人脸位置上,显示目标特效,该人脸位置基于多个第一人脸关键点确定,该多个第一人脸关键点基于对该第一图像帧的人脸检测得到;

跟踪模块,用于响应于第二图像帧人脸检测失败,基于该多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点,该第二图像帧为该第一图像帧之后的图像帧;

第二显示模块,用于响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,该第二显示模块,包括:

获取子模块,用于对于该第二人脸关键点,获取该第一图像帧的第一图像特征和该第二图像帧的第二图像特征,该第一图像特征为该第二人脸关键点对应的第一人脸关键点关联区域的图像特征,该第二图像特征为该第二人脸关键点关联区域的图像特征;

确定子模块,用于确定多个该第二人脸关键点的该第一图像特征与该第二图像特征之间的图像相似度;

显示子模块,用于响应于多个该第二人脸关键点对应的图像相似度均达到第一阈值,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,该确定子模块,还用于基于多个该第二人脸关键点对应的图像相似度,确定目标比例,该目标比例为图像相似度达到第一阈值的第二人脸关键点的数量占第二人脸关键点总数的比例;

该显示子模块,还用于响应于该目标比例达到比例阈值,执行该在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效的步骤。

在一些实施例中,该第二显示模块,包括:

确定子模块,用于确定第一人脸轮廓和第二人脸轮廓之间的人脸相似度,该第一人脸轮廓为该多个第一人脸关键点对应的人脸轮廓,该第二人脸轮廓为该多个第二人脸关键点对应的第二人脸轮廓;

显示子模块,用于响应于该人脸相似度达到第二阈值,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,该装置还包括特征提取模块,用于分别将该多个第一人脸关键点和该多个第二人脸关键点的位置信息输入特征提取网络,通过该特征提取网络对人脸特征进行提取,得到该第一人脸轮廓的第一人脸特征和该第二人脸轮廓的第二人脸特征;

该确定子模块,还用于基于该第一人脸特征和该第二人脸特征,执行该确定该第一人脸轮廓和该第二人脸轮廓之间的人脸相似度的步骤。

在一些实施例中,该跟踪模块,用于:

将该多个第一人脸关键点输入人脸跟踪网络,通过该人脸跟踪网络对该第二图像帧进行人脸关键点跟踪,得到该多个第二人脸关键点。

一方面,提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码,该至少一条程序代码由该处理器加载并执行以实现上述的特效显示方法。

一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行以实现上述的特效显示方法。

一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述特效显示方法。

本申请实施例提供的技术方案,在人脸图像帧中显示特效时,若当前图像帧无法检测到人脸,基于之前图像帧所检测到的人脸关键点,对当前图像帧进行人脸关键点跟踪,就能够跟踪到当前图像帧的人脸关键点,提供了一种基于人脸关键点跟踪的特效显示方法,进而,在该图像帧对应的人脸关键点满足目标条件的情况下,基于人脸跟踪到的人脸关键点进行特效的显示,避免由于人脸检测失败而造成后续人脸特效突然消失或者变形的问题,确保了特效的持续显示。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种特效显示方法的实施环境的示意图;

图2是本申请实施例提供的一种特效显示方法的流程图;

图3是本申请实施例提供的一种特效显示方法的流程图;

图4是本申请实施例提供的一种特效显示装置的结构示意图;

图5是本申请实施例提供的一种终端的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

图1是本申请实施例提供的一种特效显示方法的实施环境的示意图。参见图1,该实施环境包括:终端101。

终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种。终端101具有通信功能,可以接入有线网络或无线网络。终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。

本申请实施例中,终端101运行有具备特效显示功能的目标应用程序,如拍摄应用程序、社交应用程序、直播应用程序等。其中,特效是指人脸特效,例如,美颜特效、萌物特效、配饰特效等等。

下面对本申请所提供的特效显示方法的应用场景进行说明:

在一些实施例中,本申请所提供的特效显示方法应用于拍摄场景下的特效显示。例如,用户利用拍摄应用程序拍照或录像时,该拍摄应用程序的界面中展示有多个人脸特效,用户可以选择该拍摄应用程序所展示的任一人脸特效,则终端101响应于对该任一人脸特效的选择操作,在终端101的拍摄画面的人脸位置上,显示被选中的人脸特效。

在一些实施例中,本申请所提供的特效显示方法应用于直播场景下的特效显示,在该实施例中,终端101为主播用户所操作的终端。在一种可选的实施例中,主播用户利用直播应用程序进行直播时,直播间界面中展示有多个人脸特效,主播用户可以选择该直播应用程序所展示的任一人脸特效,则终端101响应于对该任一人脸特效的选择操作,在直播画面中主播用户的人脸位置上,显示被选中的人脸特效。在另一种可选的实施例中,主播用户利用直播应用程序进行直播时,直播间内的观众用户可以向主播用户赠送特效礼物,终端101响应于观众用户向主播用户赠送特效礼物,在直播画面中主播用户的人脸位置上,显示对应的人脸特效。

在上述场景下进行特效显示时,由于用户的脸部可能不会一直正对终端101,导致终端101有时无法检测到用户的人脸,会出现人脸特效突然消失或者变形的情况,从而影响拍摄效果或直播效果。本申请实施例中,提供了一种特效显示方法,在终端101无法检测到用户的人脸时,采用本申请实施例所提供的特效显示方法,能够确保人脸特效的持续展示,避免出现人脸特效突然消失或者变形的情况,确保拍摄效果或直播效果。

需要说明的是,在上述所涉及的直播场景下,特效显示方法的实施环境还包括:服务器102。

服务器102可以是直播应用程序的后台服务器。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102与终端101可以通过有线或无线通信方式进行直接或间接的连接,本申请实施例对此不作限定。可选地,上述服务器102的数量可以更多或更少,本申请实施例对此不加以限定。当然,服务器102还可以包括其他功能服务器,以便提供更全面且多样化的服务。

在一些实施例中,服务器102用于响应于直播间内的观众用户向主播用户赠送特效礼物,向终端101发送特效礼物通知,该特效礼物通知用于触发终端101在直播画面中显示对应的特效。在另一些实施例中,服务器102还用于获取终端101的直播数据流,将该直播数据流发送至直播间内多个观众用户对应的终端,进而,该多个观众用户对应的终端在直播画面中主播用户的人脸位置上,显示对应的人脸特效,此时,观看该直播的观众用户可以看到主播用户的脸上出现了对应的人脸特效。

图2是本申请实施例提供的一种特效显示方法的流程图,该实施例由终端执行,参见图2,该实施例包括:

201.终端响应于对目标特效的显示指令,在第一图像帧的人脸位置上,显示目标特效,该人脸位置基于多个第一人脸关键点确定,该多个第一人脸关键点基于对该第一图像帧的人脸检测得到。

本申请实施例中,目标特效是指待显示的特效。其中,特效是指人脸特效,例如,美颜特效、萌物特效、配饰特效等等。

在一些实施例中,终端响应于对目标特效的显示指令,对当前采集到的第一图像帧进行人脸检测,得到多个第一人脸关键点,基于该多个第一人脸关键点,确定第一图像帧的人脸位置,进而在该第一图像帧的人脸位置上,显示目标特效。

202.终端响应于第二图像帧人脸检测失败,基于该多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点,该第二图像帧为该第一图像帧之后的图像帧。

在一些实施例中,终端在无法检测到人脸的情况下,基于第一图像帧经人脸检测得到的多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点。

203.终端响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

本申请实施例中,目标条件为预先设定的判断条件,用于判断人脸关键点是否跟踪成功。

在一些实施例中,终端在人脸关键点跟踪成功的情况下,基于该多个第二人脸关键点,确定第二图像帧的人脸位置,进而在该第二图像帧的人脸位置上,显示目标特效。

本申请实施例提供的技术方案,在人脸图像帧中显示特效时,若当前图像帧无法检测到人脸,基于之前图像帧所检测到的人脸关键点,对当前图像帧进行人脸关键点跟踪,就能够跟踪到当前图像帧的人脸关键点,提供了一种基于人脸关键点跟踪的特效显示方法,进而,在该图像帧对应的人脸关键点满足目标条件的情况下,基于人脸跟踪到的人脸关键点进行特效的显示,避免由于人脸检测失败而造成后续人脸特效突然消失或者变形的问题,确保了特效的持续显示。

上述图2所示为本申请的基本流程,下面基于一种具体实施方式,来对本申请提供的方案进行进一步阐述,图3是本申请实施例提供的一种特效显示方法的流程图,该实施例由终端执行,参见图3,该实施例包括:

301.终端响应于对目标特效的显示指令,对第一图像帧进行人脸检测,得到多个第一人脸关键点。

在一些实施例中,目标特效的显示指令是基于对目标特效的选择操作触发的,例如,用户在拍摄时对目标特效实施选择操作,或者用户在直播时对目标特效实施选择操作,均能够触发对目标特效的显示指令。在另一些实施例中,目标特效的显示指令是基于直播间内观众用户向主播用户赠送特效礼物触发的,例如,服务器响应于观众用户向主播用户赠送特效礼物,向终端发送特效礼物通知,该特效礼物通知也即是对目标特效的显示指令。

本申请实施例中,第一图像帧为当前时刻终端所采集到的图像帧。人脸检测为人脸关键点检测,人脸关键点检测是指在人脸图像中定位出人脸面部的关键点。第一人脸关键点是指第一图像帧对应的人脸关键点。人脸关键点是指人脸面部的关键点,包括眉毛、眼睛、鼻子、嘴巴以及脸部轮廓的点。可选地,第一人脸关键点的数量为106点。

在一些实施例中,终端基于人脸关键点检测算法,对第一图像帧进行人脸检测,得到该第一图像帧对应的多个第一人脸关键点。

可选地,人脸检测算法为ASM(Active Shape Model,主动形状模型)算法、AAM(Active Appearance Models,主动外观模型)算法、TCNN(Tweaked Convolutional NeuralNetworks,修正卷积神经网络)算法、DAN(Deep Alignment Network,级联深度神经网络)算法中的任一项。本申请实施例对采用何种人脸检测算法不作限定。

302.终端在基于该多个第一人脸关键点所确定的人脸位置上,显示目标特效。

在一些实施例中,终端基于第一图像帧中的多个第一人脸关键点,进行曲线拟合,得到该多个第一人脸关键点对应的第一人脸轮廓,基于该第一人脸轮廓和目标特效的特效参数,确定该目标特效对应的人脸位置,进而在第一图像帧的人脸位置上显示目标特效。

在上述实施例中,终端响应于对目标特效的显示指令,从第一图像帧开始,对所采集到的图像帧依次进行人脸检测,得到对应图像帧的人脸关键点,进而在对应图像帧中显示目标特效。在第一图像帧之后的图像帧人脸检测失败的情况下,执行后续步骤所示出的特效显示方法。

303.终端响应于第二图像帧人脸检测失败,基于该多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点,该第二图像帧为该第一图像帧之后的图像帧。

本申请实施例中,第二图像帧为第一图像帧之后人脸检测失败的图像帧。例如,第二图像帧可以是第一图像帧的下一图像帧。

在一些实施例中,终端响应于第二图像帧人脸检测失败,将该多个第一人脸关键点输入人脸跟踪网络,通过该人脸跟踪网络对该第二图像帧进行人脸关键点跟踪,得到该多个第二人脸关键点。其中,人脸跟踪网络为人脸关键点跟踪网络,用于对图像帧进行人脸关键点跟踪。在该实施例中,采用人脸跟踪网络来进行人脸关键点跟踪,能够快速确定出第二图像帧中的多个人脸关键点,提高了人脸跟踪效率。

在一些实施例中,终端在经人脸关键点跟踪得到多个第二人脸关键点后,判断该多个第二人脸关键点是否满足目标条件。在一种可选的实施例中,终端响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效;在另一种可选的实施例中,终端响应于该多个第二人脸关键点不满足目标条件,停止显示该目标特效。在该实施例中,通过设置目标条件,确保在满足目标条件的情况下,将人脸跟踪得到的第二人脸关键点确定为第二图像帧的人脸检测结果,如此,提高了特效显示的准确性。下面基于步骤304至步骤310,来对判断该多个第二人脸关键点是否满足目标条件的过程进行说明:

304.对于该第二人脸关键点,终端获取该第一图像帧的第一图像特征和该第二图像帧的第二图像特征,该第一图像特征为该第二人脸关键点对应的第一人脸关键点关联区域的图像特征,该第二图像特征为该第二人脸关键点关联区域的图像特征。

本申请实施例中,第一图像特征是指第一图像帧中的人脸关键点关联区域的图像特征,第二图像特征是指第二图像帧中的人脸关键点关联区域的图像特征。可选地,图像特征为纹理特征、颜色特征、形状特征与空间关系特征中的任一项。

在一些实施例中,以第一图像特征为例,终端获取第一图像特征的过程为:终端在第一图像帧中,确定包括该多个第一人脸关键点的图像区域,将该图像区域的图像特征确定为第一图像特征;或者,终端在第一图像帧中,确定与该多个第一人脸关键点相邻的图像区域,将该图像区域的图像特征确定为第一图像特征。其中,图像区域也即是图像块。终端获取第二图像特征的过程与获取第一图像特征的过程类似,不再赘述。

305.终端确定多个该第二人脸关键点的第一图像特征与第二图像特征之间的图像相似度。

在一些实施例中,终端获取该第一图像帧的第一图像特征和该第二图像帧的第二图像特征后,计算第一图像特征和第二图像特征之间的距离,将计算得到的距离确定为第一图像特征与第二图像特征之间的图像相似度。

本申请实施例中,图像相似度采用第一图像特征与第二图像特征之间的距离来表示。可选地,距离为余弦距离、欧氏距离、曼哈顿距离、切比雪夫距离、卡方距离及汉明距离中的任一项,本申请实施例对选择何种距离不作限定。应理解地,距离越小,则图像相似度越大,距离越大,则图像相似度越小。

306.终端基于多个该第二人脸关键点对应的图像相似度,确定目标比例,该目标比例为图像相似度达到第一阈值的第二人脸关键点的数量占第二人脸关键点总数的比例。

其中,第一阈值为预先设定的固定阈值,如0.8。本申请实施例中,图像相似度达到第一阈值,用于表征该图像相似度对应的人脸关键点跟踪正确;图像相似度未达到第一阈值,用于表征该图像相似度对应的人脸关键点跟踪错误。通过设置第一阈值,以便判断人脸关键点是否跟踪正确。

示例地,以第一人脸关键点中的关键点1A、关键点2A和关键点3A,第二人脸关键点中的关键点1B、关键点2B和关键点3B为例,其中,关键点1B是基于关键点1A跟踪得到的点,关键点2B是基于关键点2A跟踪得到的点,关键点3B是基于关键点3A跟踪得到的点,假设关键点1A和关键点1B的图像相似度为0.5,关键点2A和关键点2B的图像相似度为0.8,关键点3A和关键点3B的图像相似度为0.9。可以发现,关键点1A和关键点1B的图像相似度未达到第一阈值0.8,则关键点1A跟踪错误;关键点2A和关键点2B的图像相似度达到第一阈值0.8,则关键点2A跟踪正确;关键点3A和关键点3B的图像相似度达到第一阈值0.8,则关键点3A跟踪正确。

相应地,目标比例也即是跟踪正确的关键点数量占关键点总数的比例,因此,目标比例能够表征人脸关键点跟踪的跟踪准确率,目标比例越大,则跟踪准确率越高,目标比例越小,则跟踪准确率越低。

在一些实施例中,终端在多个第二人脸关键点对应的图像相似度中,确定图像相似度达到第一阈值的第二人脸关键点的数量,将该数量占第二人脸关键点总数的比例确定为目标比例。

307.终端响应于该目标比例达到比例阈值,执行步骤308。

其中,比例阈值为预先设定的百分比阈值,如60%。本申请实施例中,目标比例达到比例阈值,用于表征人脸关键点整体跟踪正确,也即是大部分人脸关键点跟踪正确;图像相似度未达到第一阈值,用于表征人脸关键点整体跟踪错误,也即是大部分人脸关键点跟踪错误。通过设置比例阈值,以便判断人脸关键点是否整体跟踪正确,以便获知人脸跟踪的跟踪准确率,进而,在目标比例达到比例阈值的情况下,再执行后续过程,确保在人脸关键点整体跟踪正确的情况下再执行后续过程,提高了特效显示的准确性。

上述步骤304至步骤307,提供了一种跟踪有效性的判别方案,通过设置第一阈值和比例阈值,以便对任一人脸关键点是否跟踪正确进行判断、对多个人脸关键点是否整体跟踪正确进行判断,实现了对人脸关键点跟踪的有效性和准确率的判断。

308.终端确定第一人脸轮廓和第二人脸轮廓之间的人脸相似度,该第一人脸轮廓为该多个第一人脸关键点对应的人脸轮廓,该第二人脸轮廓为该多个第二人脸关键点对应的第二人脸轮廓。

本申请实施例中,第一人脸轮廓是指第一图像帧中由多个第一人脸关键点形成的人脸轮廓;第二人脸轮廓是指第二图像帧中由多个第二人脸关键点形成的人脸轮廓。本申请实施例中,人脸相似度是指第一人脸轮廓和第二人脸轮廓之间的刚体相似度。其中,刚体是指在受力后其大小、形状和内部各点相对位置都保持不变的物体。本申请实施例中采用刚体相似度,来表示从第一人脸轮廓转变为第二人脸轮廓时,两个人脸轮廓的大小、形状和内部各点相对位置之间的相似度。应理解地,刚体相似度越大,则表明第一人脸轮廓和第二人脸轮廓越相似;刚体相似度越小,则表明第一人脸轮廓和第二人脸轮廓越不相似。

在一些实施例中,终端分别将该多个第一人脸关键点和该多个第二人脸关键点的位置信息输入特征提取网络,通过该特征提取网络对人脸特征进行提取,得到该第一人脸轮廓的第一人脸特征和该第二人脸轮廓的第二人脸特征,基于该第一人脸特征和该第二人脸特征,确定该第一人脸轮廓和该第二人脸轮廓之间的人脸相似度。

其中,位置信息是指人脸关键点在对应图像帧中的坐标,如第一人脸关键点在第一图像帧中的坐标,第二人脸关键点在第二图像帧中的坐标。人脸关键点的坐标为二维坐标,包括横坐标和纵坐标。第一人脸特征和第二人脸特征可以为向量的形式。

本申请实施例中,特征提取网络也即是刚体特征提取网络,用于提取人脸轮廓的刚体特征。可选地,特征提取网络为卷积神经网络,卷积神经网络是一类包含卷积计算且具有深度结构的神经网络。卷积神经网络包括输入层、融合层和卷积层。输入层可以对输入特征进行去均值等预处理,使输入特征标准化。融合层包括每个输入特征对应的权重参数,可以基于该权重参数对输入特征进行进一步处理。卷积层可以对输入特征进行多次卷积计算以得到输出特征。可选地,以第一人脸关键点的数量为106点为例,特征提取网络的输入特征为106*2维。

在一些实施例中,终端确定人脸相似度的过程为:终端计算第一人脸特征和第二人脸特征之间的距离,将计算得到的距离确定为第一人脸特征和第二人脸特征之间的人脸相似度。

本申请实施例中,人脸相似度采用第一人脸特征和第二人脸特征之间的距离来表示。可选地,距离为余弦距离、欧氏距离、曼哈顿距离、切比雪夫距离、卡方距离及汉明距离中的任一项,本申请实施例对选择何种距离不作限定。应理解地,距离越小,则人脸相似度越大,距离越大,则人脸相似度越小。

示例地,终端计算第一人脸特征和第二人脸特征之间的余弦相似度(也即是计算第一人脸特征和第二人脸特征之间的余弦距离),将计算得到的余弦相似度确定为第一人脸特征和第二人脸特征之间的人脸相似度。

在一些实施例中,终端在将位置信息输入特征提取网络之前,还对该多个第一人脸关键点的位置信息、该多个第二人脸关键点的位置信息进行归一化处理,得到归一化处理后的位置信息,再将该归一化处理后的位置信息输入特征提取网络,以获取第一人脸特征和第二人脸特征。如此,通过对位置信息进行预处理,便于后续特征提取网络对输入的位置信息进行数据处理,提高了特征提取的效率。

309.终端响应于该人脸相似度达到第二阈值,执行步骤310。

其中,第二阈值为预先设定的固定阈值,如0.8。本申请实施例中,人脸相似度达到第二阈值,用于表征人脸跟踪成功;人脸相似度未达到第二阈值,用于表征人脸跟踪失败。

上述步骤308至步骤309提供了一种人脸相似度的判断方法,通过判断两个人脸轮廓的人脸特征之间的人脸相似度是否达到第二阈值,确保在人脸相似度较高的情况下,再执行后续过程,提高了特效显示的准确性。

310.终端在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,终端基于第二图像帧中的多个第二人脸关键点,进行曲线拟合,得到该多个第二人脸关键点对应的第二人脸轮廓,基于该第二人脸轮廓和目标特效的特效参数,确定该目标特效对应的人脸位置,进而在第二图像帧的人脸位置上显示目标特效。如此,实现了目标特效的持续显示,减少了特效的跳变,能够改善特效跳变的问题,提升了用户的特效体验。

上述步骤304至步骤309是通过先判断图像相似度是否达到第一阈值,再判断目标比例是否达到比例阈值,再判断人脸相似度是否达到第二阈值,来判断多个第二人脸关键点是否满足目标条件。在另一些实施例中,终端还能够根据其中的一项或两项判断过程,来判断多个第二人脸关键点是否满足目标条件,相应过程如下:

在一种可选的实施例中,步骤306至步骤309为可选步骤。相应地,终端得到多个第二人脸关键点对应的图像相似度后,判断该多个第二人脸关键点对应的图像相似度是否达到第一阈值,响应于多个该第二人脸关键点对应的图像相似度均达到第一阈值,执行在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效的步骤。在该实施例中,通过对各个人脸关键点的图像相似度进行判断,就能够确定多个第二人脸关键点是否满足目标条件,无需执行后续判断目标比例是否达到比例阈值、判断人脸相似度是否达到第二阈值的过程,减少了终端的处理内容,提高了终端的处理效率。

在另一种可选的实施例中,步骤308至步骤309为可选步骤。相应地,终端响应于该目标比例达到比例阈值,执行在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效的步骤。在该实施例中,通过对多个人脸关键点的目标比例(跟踪准确率)进行判断,就能够确定多个第二人脸关键点是否满足目标条件,无需执行后续判断人脸相似度是否达到第二阈值的过程,减少了终端的处理内容,提高了终端的处理效率。

在步骤310之后,终端继续循环执行上述过程,也即是终端继续对采集到的下一图像帧进行人脸检测,响应于该下一图像帧人脸检测成功,则基于所检测到的人脸关键点,进行目标特效的显示,响应于该下一图像帧人脸检测失败,则基于上述步骤303至步骤310所示出的特效显示方法,进行目标特效的显示。

在上述步骤301至步骤310中,是以第一图像帧中的多个第一人脸关键点为例,对第二图像帧进行人脸关键点跟踪。其中,第二图像帧可能是第一图像帧之后的图像帧。需要说明的是,在第二图像帧人脸检测失败的情况下,还能够设置对于第一图像帧的选择策略,如下:

在一些实施例中,终端响应于该第二图像帧人脸检测失败,优先选取与该第二图像帧相邻的图像帧,也即是选取该第二图像帧的上一图像帧,将选取得到的图像帧确定为第一图像帧,再执行后续对第二图像帧进行人脸关键点跟踪的过程。在该实施例中,通过选取与当前图像帧相邻的图像帧,来对当前图像帧进行人脸关键点跟踪,由于相邻图像帧之间的关联性较大,能够提高人脸关键点跟踪的有效性和准确性。

在另一些实施例中,终端响应于该第二图像帧人脸检测失败,优先选取该第二图像帧之前人脸检测成功的图像帧,将选取得到的图像帧确定为第一图像帧,再执行后续对第二图像帧进行人脸关键点跟踪的过程。当然,在理想情况下,终端选取与第二图像帧相邻的、且人脸检测成功的图像帧。在该实施例中,通过选取当前图像帧之前的人脸检测成功的图像帧,来对当前图像帧进行人脸关键点跟踪,由于人脸检测得出的结果比人脸跟踪得出的结果更为准确,进而基于人脸检测成功的图像帧,能够提高后续特效显示的准确性。

示例地,对于图像帧1、图像帧2、图像帧3,假设图像帧1人脸检测成功,图像帧2人脸检测失败,图像帧3人脸检测失败。其中,对于图像帧2,可以选取图像帧1来对图像帧2进行人脸跟踪。对于图像帧3,可以选取与图像帧3相邻的图像帧2来对图像帧3进行人脸跟踪,也可以选取图像帧3之前人脸检测成功的图像帧1来对图像帧3进行人脸跟踪。

在一个具体示例中,终端响应于对目标特效的显示指令,对当前采集到的图像帧进行人脸检测,得到第N帧(当前帧)的人脸关键点,其中,N为大于1的正整数;当第N+1帧人脸检测失败时,基于第N帧的人脸关键点,对每个人脸关键点进行人脸关键点跟踪,同时统计每个人脸关键点对应的图像相似度;当图像相似度大于第一阈值(如0.8)时则记为跟踪正确,反之跟踪错误,统计所有人脸关键点的跟踪准确率(目标比例),若跟踪准确率大于比例阈值(如60%),则关键点跟踪整体成功;再判断第N帧的人脸关键点所形成的人脸轮廓S0、和第N+1帧的人脸关键点所形成的人脸轮廓S1之间的刚体相似度(人脸相似度),若该刚体相似度大于第二阈值(如0.8),则判定人脸跟踪成功,将人脸跟踪结果作为第N+1帧的人脸检测结果,进行目标特效的显示,以确保特效的持续显示,减少特效跳变的问题;当第N+2帧人脸检测成功时,以检测到的人脸关键点为准,继续进行特效的显示;循环执行上述过程。

本申请实施例提供的技术方案,在人脸图像帧中显示特效时,若当前图像帧无法检测到人脸,基于之前图像帧所检测到的人脸关键点,对当前图像帧进行人脸关键点跟踪,就能够跟踪到当前图像帧的人脸关键点,提供了一种基于人脸关键点跟踪的特效显示方法,进而,在该图像帧对应的人脸关键点满足目标条件的情况下,基于人脸跟踪到的人脸关键点进行特效的显示,避免由于人脸检测失败而造成后续人脸特效突然消失或者变形的问题,确保了特效的持续显示。

图4是本申请实施例提供的一种特效显示装置的结构示意图,参见图4,该装置包括:

第一显示模块401,用于响应于对目标特效的显示指令,在第一图像帧的人脸位置上,显示目标特效,该人脸位置基于多个第一人脸关键点确定,该多个第一人脸关键点基于对该第一图像帧的人脸检测得到;

跟踪模块402,用于响应于第二图像帧人脸检测失败,基于该多个第一人脸关键点,对该第二图像帧进行人脸关键点跟踪,得到多个第二人脸关键点,该第二图像帧为该第一图像帧之后的图像帧;

第二显示模块403,用于响应于该多个第二人脸关键点满足目标条件,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

本申请实施例提供的技术方案,在人脸图像帧中显示特效时,若当前图像帧无法检测到人脸,基于之前图像帧所检测到的人脸关键点,对当前图像帧进行人脸关键点跟踪,就能够跟踪到当前图像帧的人脸关键点,提供了一种基于人脸关键点跟踪的特效显示方法,进而,在该图像帧对应的人脸关键点满足目标条件的情况下,基于人脸跟踪到的人脸关键点进行特效的显示,避免由于人脸检测失败而造成后续人脸特效突然消失或者变形的问题,确保了特效的持续显示。

在一些实施例中,该第二显示模块403,包括:

获取子模块,用于对于该第二人脸关键点,获取该第一图像帧的第一图像特征和该第二图像帧的第二图像特征,该第一图像特征为该第二人脸关键点对应的第一人脸关键点关联区域的图像特征,该第二图像特征为该第二人脸关键点关联区域的图像特征;

确定子模块,用于确定多个该第二人脸关键点的该第一图像特征与该第二图像特征之间的图像相似度;

显示子模块,用于响应于多个该第二人脸关键点对应的图像相似度均达到第一阈值,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,该确定子模块,还用于基于多个该第二人脸关键点对应的图像相似度,确定目标比例,该目标比例为图像相似度达到第一阈值的第二人脸关键点的数量占第二人脸关键点总数的比例;

该显示子模块,还用于响应于该目标比例达到比例阈值,执行该在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效的步骤。

在一些实施例中,该第二显示模块403,包括:

确定子模块,用于确定第一人脸轮廓和第二人脸轮廓之间的人脸相似度,该第一人脸轮廓为该多个第一人脸关键点对应的人脸轮廓,该第二人脸轮廓为该多个第二人脸关键点对应的第二人脸轮廓;

显示子模块,用于响应于该人脸相似度达到第二阈值,在基于该多个第二人脸关键点所确定的人脸位置上,显示该目标特效。

在一些实施例中,该装置还包括特征提取模块,用于分别将该多个第一人脸关键点和该多个第二人脸关键点的位置信息输入特征提取网络,通过该特征提取网络对人脸特征进行提取,得到该第一人脸轮廓的第一人脸特征和该第二人脸轮廓的第二人脸特征;

该确定子模块,还用于基于该第一人脸特征和该第二人脸特征,执行该确定该第一人脸轮廓和该第二人脸轮廓之间的人脸相似度的步骤。

在一些实施例中,该跟踪模块402,用于:

将该多个第一人脸关键点输入人脸跟踪网络,通过该人脸跟踪网络对该第二图像帧进行人脸关键点跟踪,得到该多个第二人脸关键点。

需要说明的是:上述实施例提供的特效显示装置在显示特效时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的特效显示装置与特效显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图5示出了本申请一个示例性实施例提供的终端500的结构框图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio LayerIV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端500包括有:处理器501和存储器502。

处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器501所执行以实现本申请中方法实施例提供的特效显示方法中终端所执行的内容。

在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、显示屏505、摄像头组件506、音频电路507、定位组件508和电源509中的至少一种。

外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置在终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在另一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。

摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。

定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。

加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器513可以设置在终端500的侧边框和/或显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在显示屏505的下层时,由处理器501根据用户对显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置在终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。

光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制显示屏505的显示亮度。具体地,当环境光强度较高时,调高显示屏505的显示亮度;当环境光强度较低时,调低显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。

接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制显示屏505从息屏状态切换为亮屏状态。

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

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由终端中的处理器执行以完成上述实施例中的特效显示方法。例如,所述计算机可读存储介质可以是只读内存(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact-Disc Read-Only Memory)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 道具特效显示方法、装置、计算机设备及存储介质
  • AR特效的显示方法、装置、计算机设备及存储介质
技术分类

06120113097781