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

图像处理方法、装置、电子设备及存储介质

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


图像处理方法、装置、电子设备及存储介质

技术领域

本公开涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。

背景技术

随着智能终端的发展,在诸如拍照、视频拍摄和网络直播等图像生成场景中,对人脸图像进行图像特效处理已成为一种主流的图像处理技术。

目前的图像特效处理过程可以包括:用户点击选定的设定特效模板(例如,设定的动物形象模板、设定的装饰物模板等)。终端在接收到针对设定特效模板的点击输入后,可以将选定的设定特效模板与用户的人脸图像进行特效融合,并显示融合后的特效图像。之后,终端可以接收用户在特效图像上输入的移动轨迹,并在移动轨迹的固定位置上绘制指示移动轨迹的线条图案。目前的图像特效处理仅能实现设定特效模板下用户绘制的线条图案的特效显示效果,特效显示效果较为单一。

发明内容

本公开提供一种图像处理方法、装置、电子设备及存储介质,能够实现用户自主绘制跟随人脸移动的特效线条,丰富特效显示效果。

根据本公开实施例的第一方面,提供一种图像处理方法,所述方法包括:

响应于特效显示指令,获取在包括人脸图像的显示页面中用户输入的移动轨迹;

根据所述显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及所述移动轨迹中至少一个轨迹点的轨迹位置信息,确定各所述轨迹点相对所述人脸图像的相对位置;

重复执行图像特效处理,所述图像特效处理包括:

根据所述显示页面在所述当前时刻之后所显示人脸图像中,所述人脸关键点的第二位置信息对所述相对位置进行转换,得到各所述轨迹点在显示屏幕上的第一绝对位置;

连接位于各所述第一绝对位置的轨迹点,生成第一特效线条;

在所述显示页面中,显示所述第一特效线条。

在一种可能实现方式中,所述至少两个人脸关键点包括:第一人脸关键点、第二人脸关键点以及目标人脸关键点,所述第一人脸关键点与所述第二人脸关键点关于所述目标人脸关键点对称,所述目标人脸关键点为所述人脸图像的对称轴上的任一人脸关键点。

在一种可能实现方式中,所述根据所述显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及所述移动轨迹中至少一个轨迹点的轨迹位置信息,确定每个所述轨迹点相对所述人脸图像的相对位置,包括:

针对各所述轨迹点,根据所述目标人脸关键点的第一位置信息和所述轨迹点的轨迹位置信息,确定所述轨迹点指向所述目标人脸关键点的平移向量;

根据所述第一人脸关键点和所述第二人脸关键点的第一位置信息,确定所述人脸图像中当前人脸姿态的第一旋转矩阵以及第一缩放矩阵;

根据所述第一旋转矩阵、所述第一缩放矩阵以及所述平移向量,得到所述轨迹点相对所述人脸图像的相对位置。

在一种可能实现方式中,所述第一位置信息和所述轨迹位置信息均包括在所述显示屏幕上的绝对坐标,

所述根据所述第一人脸关键点和所述第二人脸关键点的第一位置信息,确定所述人脸图像中当前人脸的第一旋转矩阵以及第一缩放矩阵,包括:

根据所述第一人脸关键点和所述第二人脸关键点的第一位置信息,以及第一长度,得到所述第一旋转矩阵,所述第一长度为所述第一人脸关键点指向所述第二人脸关键点的第一向量的长度;

根据所述第一人脸关键点和所述第二人脸关键点连线的参考长度,以及所述第一长度,得到所述第一缩放矩阵,所述参考长度为针对所述人脸图像中处于正视姿态的人脸设定的所述第一长度。

在一种可能实现方式中,所述根据所述第一旋转矩阵、所述第一缩放矩阵以及所述平移向量,得到所述轨迹点相对所述人脸图像的相对位置,包括:

根据所述第一缩放矩阵、所述第一旋转矩阵、所述平移向量以及第一公式,得到所述相对位置,所述第一公式包括:

其中,Q表示所述相对位置、Ms

在一种可能实现方式中,所述根据所述显示页面在所述当前时刻之后所显示人脸图像中,所述人脸关键点的第二位置信息对所述相对位置进行转换,得到各所述轨迹点在显示屏幕上的第一绝对位置,包括:

针对各所述轨迹点,根据所述第一人脸关键点和所述第二人脸关键点的第二位置信息,确定所述人脸图像中当前人脸姿态的第二旋转矩阵以及第二缩放矩阵;

根据所述第二旋转矩阵、所述第二缩放矩阵、所述目标人脸关键点的第二位置信息以及所述相对位置,得到所述轨迹点的第一绝对位置。

在一种可能实现方式中,所述第二位置信息包括在显示屏幕上的绝对坐标,所述根据所述第一人脸关键点和所述第二人脸关键点的第二位置信息,确定所述人脸图像中当前人脸姿态的第二旋转矩阵以及第二缩放矩阵,包括:

根据所述第一人脸关键点和所述第二人脸关键点的第二位置信息,以及第二长度,得到所述第二旋转矩阵,所述第二长度为所述第一人脸关键点指向所述第二人脸关键点的第二向量的长度;

根据所述第一人脸关键点和所述第二人脸关键点连线的参考长度,以及所述第二长度,得到所述第二缩放矩阵,所述参考长度为针对所述人脸图像中处于正视姿态的人脸设定的所述第二长度。

在一种可能实现方式中,所述根据所述第二旋转矩阵、所述第二缩放矩阵、所述目标人脸关键点的第二位置信息以及所述相对位置,得到所述轨迹点的第一绝对位置,包括:

根据所述第二旋转矩阵、所述第二缩放矩阵、所述目标人脸关键点的第二位置信息、所述相对位置以及第二公式,得到所述轨迹点的第一绝对位置,所述第二公式包括:

R=Mr

其中,R表示所述第一绝对位置、Mr

在一种可能实现方式中,所述图像特效处理还包括:

根据所述第一特效线条,生成与所述第一特效线条对称的第二特效线条,所述第二特效线条与所述第一特效线条以所述人脸图像中人脸为基准左右对称;

在所述显示页面中显示所述第二特效线条。

在一种可能实现方式中,所述方法还包括:

根据各所述轨迹点相对所述人脸图像的相对位置,确定各所述轨迹点的对称点相对所述人脸图像的相对位置,所述对称点与所述轨迹点以所述人脸为基准左右对称;

所述根据所述第一特效线条,生成与所述第一特效线条对称的第二特效线条,包括:

根据所述人脸关键点的第二位置信息,以及各所述对称点的相对位置,确定各所述对称点在所述显示屏幕上的第二绝对位置;

连接位于各所述第二绝对位置的对称点,生成所述第二特效线条。

在一种可能实现方式中,所述相对位置包括相对所述人脸图像的相对坐标,所述根据各所述轨迹点相对所述人脸图像的相对位置,确定各所述轨迹点的对称点相对所述人脸图像的相对位置,包括:

对所述轨迹点的相对坐标中第一方向的坐标值执行正负数转换处理,得到处理后的坐标值,所述第一方向与所述人脸图像的对称轴垂直;

更新所述轨迹点的相对位置,使得更新后的相对位置中第一方向的坐标值为所述处理后的坐标值;

确定所述更新后的相对位置为所述对称点的相对位置。

根据本公开实施例的第二方面,提供一种图像处理装置,所述装置包括:

获取模块,用于响应于特效显示指令,获取在包括人脸图像的显示页面中用户输入的移动轨迹;

确定模块,用于根据所述显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及所述移动轨迹中至少一个轨迹点的轨迹位置信息,确定各所述轨迹点相对所述人脸图像的相对位置;

图像特效处理模块,用于重复执行图像特效处理,所述图像特效处理包括:

根据所述显示页面在所述当前时刻之后所显示人脸图像中,所述人脸关键点的第二位置信息对所述相对位置进行转换,得到各所述轨迹点在显示屏幕上的第一绝对位置;

连接位于各所述第一绝对位置的轨迹点,生成第一特效线条;

在所述显示页面中,显示所述第一特效线条。

在一种可能实现方式中,所述至少两个人脸关键点包括:第一人脸关键点、第二人脸关键点以及目标人脸关键点,所述第一人脸关键点与所述第二人脸关键点关于所述目标人脸关键点对称,所述目标人脸关键点为所述人脸图像的对称轴上的任一人脸关键点。

在一种可能实现方式中,所述确定模块,还用于:

针对各所述轨迹点,根据所述目标人脸关键点的第一位置信息和所述轨迹点的轨迹位置信息,确定所述轨迹点指向所述目标人脸关键点的平移向量;

根据所述第一人脸关键点和所述第二人脸关键点的第一位置信息,确定所述人脸图像中当前人脸姿态的第一旋转矩阵以及第一缩放矩阵;

根据所述第一旋转矩阵、所述第一缩放矩阵以及所述平移向量,得到所述轨迹点相对所述人脸图像的相对位置。

在一种可能实现方式中,所述第一位置信息和所述轨迹位置信息均包括在所述显示屏幕上的绝对坐标,所述确定模块,还用于:

根据所述第一人脸关键点和所述第二人脸关键点的第一位置信息,以及第一长度,得到所述第一旋转矩阵,所述第一长度为所述第一人脸关键点指向所述第二人脸关键点的第一向量的长度;

根据所述第一人脸关键点和所述第二人脸关键点连线的参考长度,以及所述第一长度,得到所述第一缩放矩阵,所述参考长度为针对所述人脸图像中处于正视姿态的人脸设定的所述第一长度。

在一种可能实现方式中,所述确定模块,还用于:

根据所述第一缩放矩阵、所述第一旋转矩阵、所述平移向量以及第一公式,得到所述相对位置,所述第一公式包括:

其中,Q表示所述相对位置、Ms

在一种可能实现方式中,所述图像特效处理模块,还用于:

针对各所述轨迹点,根据所述第一人脸关键点和所述第二人脸关键点的第二位置信息,确定所述人脸图像中当前人脸姿态的第二旋转矩阵以及第二缩放矩阵;

根据所述第二旋转矩阵、所述第二缩放矩阵、所述目标人脸关键点的第二位置信息以及所述相对位置,得到所述轨迹点的第一绝对位置。

在一种可能实现方式中,所述第二位置信息包括在显示屏幕上的绝对坐标,所述图像特效处理模块,还用于:

根据所述第一人脸关键点和所述第二人脸关键点的第二位置信息,以及第二长度,得到所述第二旋转矩阵,所述第二长度为所述第一人脸关键点指向所述第二人脸关键点的第二向量的长度;

根据所述第一人脸关键点和所述第二人脸关键点连线的参考长度,以及所述第二长度,得到所述第二缩放矩阵,所述参考长度为针对所述人脸图像中处于正视姿态的人脸设定的所述第二长度。

在一种可能实现方式中,所述图像特效处理模块,还用于:

根据所述第二旋转矩阵、所述第二缩放矩阵、所述目标人脸关键点的第二位置信息、所述相对位置以及第二公式,得到所述轨迹点的第一绝对位置,所述第二公式包括:

R=Mr

其中,R表示所述第一绝对位置、Mr

在一种可能实现方式中,所述图像特效处理还包括:

根据所述第一特效线条,生成与所述第一特效线条对称的第二特效线条,所述第二特效线条与所述第一特效线条以所述人脸图像中人脸为基准左右对称;

在所述显示页面中显示所述第二特效线条。

在一种可能实现方式中,所述确定模块,还用于:

根据各所述轨迹点相对所述人脸图像的相对位置,确定各所述轨迹点的对称点相对所述人脸图像的相对位置,所述对称点与所述轨迹点以所述人脸为基准左右对称;

所述图像特效处理模块,还用于:

根据所述人脸关键点的第二位置信息,以及各所述对称点的相对位置,确定各所述对称点在所述显示屏幕上的第二绝对位置;

连接位于各所述第二绝对位置的对称点,生成所述第二特效线条。

在一种可能实现方式中,所述相对位置包括相对所述人脸图像的相对坐标,所述确定模块,还用于:

对所述轨迹点的相对坐标中第一方向的坐标值执行正负数转换处理,得到处理后的坐标值,所述第一方向与所述人脸图像的对称轴垂直;

更新所述轨迹点的相对位置,使得更新后的相对位置中第一方向的坐标值为所述处理后的坐标值;

确定所述更新后的相对位置为所述对称点的相对位置。

根据本公开实施例的第三方面,提供了一种电子设备,包括:

一个或多个处理器;

用于存储所述一个或多个处理器可执行指令的一个或多个存储器;

其中,所述一个或多个处理器被配置为执行上述第一方面或第一方面的任一种可能实现方式所述的图像处理方法。

根据本公开实施例的第四方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述第一方面或第一方面的任一种可能实现方式所述的图像处理方法。

根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第一方面的任一种可能实现方式所述的图像处理方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例中,可以通过根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及用户在显示页面中输入的移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置。以便重复执行根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置,并在显示页面中,显示位于各第一绝对位置的轨迹点连接成的第一特效线条的过程。上述技术方案中,第一特效线条是根据用户输入的移动轨迹绘制的,实现了用户自主绘制特效的功能。并且,在获取移动轨迹中各轨迹点与当前人脸图像的相对位置之后,可以采用显示页面实时所显示的人脸图像中,人脸关键点的位置信息以及各轨迹点相对位置,确定各轨迹点在显示屏幕上的第一绝对位置,从而在连接位于各第一绝对位置的轨迹点后生成并显示第一特效线条。这样,生成的第一特效线条的显示位置会随着显示页面实时所显示的人脸图像的显示位置的变化而变化,实现了第一特效线条跟随人脸移动的特效,丰富特效显示效果。

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

附图说明

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

图1是根据一示例性实施例示出的一种图像处理方法的流程图。

图2是根据一示例性实施例示出的人脸图像的示意图。

图3是根据一示例性实施例示出的一种确定轨迹点相对位置方法的流程图。

图4是根据一示例性实施例示出的一种人脸图像的显示页面的示意图。

图5是根据一示例性实施例示出的一种人脸图像的显示页面的示意图。

图6是根据一示例性实施例示出的一种确定轨迹点第一绝对位置方法的流程图。

图7是根据一示例性实施例示出的一种生成第二特效线条方法的流程图。

图8是根据一示例性实施例示出的另一种生成第二特效线条方法的流程图。

图9是根据一示例性实施例示出的一种图像处理装置的框图。

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

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

图1是根据一示例性实施例示出的一种图像处理方法的流程图。该图像处理方法可以应用于电子设备。电子设备可以为具有显示屏幕的终端,该终端可以安装有对人脸图像进行图像特效处理的应用程序。本申请实施例以电子设备为终端为例进行说明。如图1所示,图像处理方法可以包括以下步骤:

在步骤101中,响应于特效显示指令,获取在包括人脸图像的显示页面中用户输入的移动轨迹。

本公开实施例中,用户想要在使用终端进行拍照、视频拍摄或者网络直播等拍摄人脸的过程中,可以对人脸图像进行图像特效处理。其中,人脸图像不仅可以包括人脸,也可以还包括背景。例如,背景可以为建筑物或者风景等。可选的,用户可以操作终端打开具有图像特效处理功能的应用程序,在终端上显示应用程序中包括人脸图像的显示页面。终端可以在接收到特效显示指令后,响应于该特效显示指令,获取在包括人脸图像的显示页面中用户输入的移动轨迹。

其中,特效显示指令可以是终端在显示页面中接收到执行设定操作后触发的。例如,特效显示指令可以是用户针对自主绘制控件执行设定操作后触发。设定操作可以包括针对自主绘制控件的点击、长按、滑动或者语音等形式的输入。包括人脸图像的显示页面可以为拍摄界面、直播界面或者短(长)视频拍摄界面等。

可选的,用户输入的移动轨迹可以是用户移动输入件的轨迹。输入件可以是用户的手指或者触控笔等。移动轨迹可以包括至少一个按移动顺序排布的轨迹点。该至少一个轨迹点指的是一个或多个轨迹点。可选的,终端获取用户输入的移动轨迹可以指的是:终端获取用户输入的至少一个轨迹点的轨迹位置信息。其中,轨迹点的轨迹位置信息指的是轨迹点在终端的显示屏幕上的绝对位置。示例的,轨迹点的位置信息可以为轨迹点的绝对坐标,该绝对坐标指的是以显示屏幕的特定点(例如,中心点)为原点,在显示屏幕上相对于特定点的位置坐标。

示例的,用户想要在网络直播过程中,对自身人脸添加兔耳朵特效。用户可以操作终端打开网络直播的应用程序,在终端上显示包括用户人脸图像的显示页面。用户在显示页面针对自主绘制图标执行点击操作,并可以采用手指在显示页面所显示的人脸图像的人脸的头部左上方位置处,滑动绘制左兔耳朵形状线条。终端可以接收到针对自主绘制图标的点击操作后,可以生成特效显示指令,并响应于该特效显示指令。获取用户输入的绘制左兔耳朵形状线条对应的手指移动轨迹。通过后续步骤,可以使得显示页面包括的人脸图像中人脸具有兔耳朵特效。

在步骤102中,根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置。

本公开实施例中,终端可以获取在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及移动轨迹中各轨迹点的轨迹位置信息。根据至少两个人脸关键点的第一位置信息以及至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置。可选的,轨迹点相对人脸图像的相对位置可以采用目标人脸关键点指向轨迹点的向量表征。或者,也可以采用轨迹点相对人脸图像的相对坐标表征。本公开实施例采用轨迹点相对人脸图像的相对坐标表征轨迹点相对人脸图像的相对位置。

可选的,终端可以通过对显示页面中显示的人脸图像进行人脸关键点检测处理,得到人脸图像中的至少两个人脸关键点。示例的,终端可以采用人工智能(ArtificialIntelligence,AI)技术实现对人脸图像进行人脸关键点检测处理。

可选的,至少两个人脸关键点可以包括:第一人脸关键点、第二人脸关键点以及目标人脸关键点。目标人脸关键点可以为人脸图像的对称轴上的任一人脸关键点。第一人脸关键点与第二人脸关键点可以根据目标人脸关键点对称。例如,目标人脸关键点为第一人脸关键点与第二人脸关键点之间连线的锚点。第一人脸关键点与第二人脸关键点之间的连线,可以跟随目标人脸关键点的移动而移动。这样,由于第一人脸关键点与第二人脸关键点为关于目标关键点对称的两个人脸关键点,而目标关键点为人脸图像的对称轴上的关键点,因此第一人脸关键点和第二人脸关键点的连线,其倾斜角度可以较好的反映显示页面所显示的人脸图像中人脸的旋转角度。且位于人脸图像的对称轴上的连线中点的第一位置信息可以反映人脸图像的位置信息,从而在考虑到人脸图像中当前人脸的位置、姿态信息的情况下,确定各轨迹点的相对位置或者第一绝对位置的准确性较高。

本公开实施例中,人脸关键点的第一位置信息可以是人脸关键点在显示屏幕上的绝对位置信息。例如,人脸关键点的第一位置信息可以是人脸关键点的绝对坐标。该绝对坐标指的是以显示屏幕的特定点(例如,中心点)为原点,在显示屏幕上相对于特定点的位置坐标。参见图2,其示出了根据一示例性实施例示出的人脸图像的示意图。如图2所示,目标人脸关键点C可以为人脸鼻尖处的点,且位于人脸图像对称轴上。第一人脸关键点A和第二人脸关键点B可以为位于人脸边缘两侧的两个对称点。该第一人脸关键点A和第二人脸关键点B之间连线的倾斜角可以用于反映人脸的旋转角度。

可选的,终端可以将各轨迹点在显示屏幕上的绝对位置,通过空间变化处理确定各轨迹点相对人脸图像的相对位置。示例的,如图3所示,终端根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置的过程可以包括以下步骤1021至步骤1023。

在步骤1021中,针对各轨迹点,根据目标人脸关键点的第一位置信息和轨迹点的轨迹位置信息,确定轨迹点指向目标人脸关键点的平移向量。

本公开实施例,针对至少一个轨迹点中各轨迹点,终端可以根据目标人脸关键点的第一位置信息和轨迹点的轨迹位置信息,计算轨迹点指向目标人脸关键点的平移向量。以对轨迹点执行平移操作。该平移向量表征轨迹点至目标人脸关键点的平移姿态信息,也即是轨迹点与目标人脸关键点的相对位置。

可选的,假设显示页面在当前时刻所显示人脸图像中,目标人脸关键点C的绝对坐标(x

在步骤1022中,根据第一人脸关键点和第二人脸关键点的第一位置信息,确定人脸图像中当前人脸姿态的第一旋转矩阵以及第一缩放矩阵。

本公开实施例中,第一旋转矩阵可以表示人脸图像中当前人脸姿态的旋转姿态信息。第一缩放矩阵可以表示人脸图像中当前人脸姿态的缩放姿态信息。

可选的,在人脸关键点的第一位置信息以及轨迹点的轨迹位置信息均为在终端的显示屏幕上的绝对坐标的情况下,终端根据第一人脸关键点和第二人脸关键点的第一位置信息,确定人脸图像中当前人脸姿态的第一旋转矩阵以及第一缩放矩阵的过程可以包括以下步骤10221至步骤10222。

在步骤10221中,根据第一人脸关键点和第二人脸关键点的第一位置信息,以及第一长度,得到第一旋转矩阵。第一长度为第一人脸关键点指向第二人脸关键点的第一向量的长度。

本公开实施例中,终端可以根据第一人脸关键点和第二人脸关键点的第一位置信息,得到第一人脸关键点指向第二人脸关键点的第一向量。确定第一向量的第一长度。在确定第一长度之后,可以根据第一人脸关键点的第一位置信息、第二人脸关键点的第一位置信息以及第一长度,得到第一旋转矩阵。

示例的,继续以步骤1021中假设的人脸关键点为例,针对假设的轨迹点P进行示意性说明。终端根据第一人脸关键点A的第一位置信息为(x

则根据第一人脸关键点A的第一位置信息、第二人脸关键点B的第二位置信息以及第一长度AB,得到第一旋转矩阵M

其中,第一旋转矩阵M

在步骤10222中,根据第一人脸关键点和第二人脸关键点连线的参考长度,以及第一长度,得到第一缩放矩阵。参考长度为针对人脸图像中处于正视姿态的人脸设定的第一长度。

示例的,继续以步骤1021中假设的人脸关键点为例,针对假设的轨迹点P进行示意性说明。第一向量

则根据第一人脸关键点和第二人脸关键点连线的参考长度D,以及第一长度AB,得到第一缩放矩阵M

其中,第一缩放矩阵M

本公开实施例中,由于第一人脸关键点和第二人脸关键点的连线,其倾斜角度可以较好的反映显示页面所显示的人脸图像中人脸的旋转角度。因此,根据第一人脸关键点指向第二人脸关键点的第一向量的第一长度,确定的用于指示人脸图像中当前人脸的旋转姿态信息的第一旋转矩阵的准确性较高。且同时利用第一人脸关键点和第二人脸关键点的连线在人脸图像中处于正视姿态的人脸的长度,以及该连线在当前人脸图像中的真实第一长度,可以在重复利用第一人脸关键点和第二人脸关键点的连线的相关信息的基础上,确定用于指示人脸图像中当前人脸的缩放姿态信息的第一缩放矩阵,减少终端计算量。

在步骤1023中,根据第一旋转矩阵、第一缩放矩阵以及平移向量,得到轨迹点相对人脸图像的相对位置。

可选的,终端根据第一旋转矩阵、第一缩放矩阵以及平移向量,得到轨迹点相对人脸图像的相对位置的过程可以包括:终端可以根据第一缩放矩阵、第一旋转矩阵、平移向量以及第一公式,得到相对位置。第一公式包括:

其中,Q表示轨迹点相对人脸图像的相对位置、M

本公开实施例中,根据人脸图像中当前人脸姿态的第一旋转矩阵、第一缩放矩阵以及轨迹点指向目标人脸关键点的平移向量,计算轨迹点相对人脸图像的相对位置的方案,由于轨迹点指向目标人脸关键点的平移向量可以反映轨迹点相对人脸图像的相对距离,第一旋转矩阵可以反映人脸图像中当前人脸的旋转姿态信息。第一缩放矩阵可以反映人脸图像中当前人脸的缩放姿态信息。因此,在考虑到人脸图像中当前人脸的各类姿态信息的情况下,可以得到较为真实地轨迹点与人脸图像的相对位置。因而根据人脸图像中当前人脸姿态的第一旋转矩阵、第一缩放矩阵计算得到的相对位置的准确性较高。

在步骤103中,重复执行图像特效处理。图像特效处理包括:根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置;连接位于各第一绝对位置的轨迹点,生成第一特效线条。在显示页面中,显示第一特效线条。

本公开实施例中,由于在终端获取到用户输入的移动轨迹之后,与终端绘制第一特效线条之前的时间内,用户的人脸还可能会发生诸如倾斜、侧头等姿态变化。因此,终端在计算轨迹点相对人脸图像的相对位置时,与终端执行图像特效处理时,显示界面所显示的人脸图像中的人脸姿态可能并不相同。

基于此,终端需要根据其获取到用户输入的移动轨迹之后,实时所显示的人脸图像计算轨迹点在显示屏幕上的绝对位置,以生成并显示第一特效线条。相类似的,终端显示的特效线条(第一特效线条以及后续第二特效线条的统称)具有刷新频率。每次刷新的过程中均需要重复执行图像特效处理,以使得终端可以显示最近一次(最新)绘制的特效线条,且该特效线条相对每个人脸图像中人脸的位置均相同。从而在视觉上可以认为为跟随人脸移动的同一线条。其中,每个刷新间隙过程中用户的人脸也可能会发生姿态变化。因而采用终端实时显示的人脸图像的人脸关键点,执行图像特效处理。

示例的,请参考图4,其示出了本公开实施例提供的一种显示页面的人脸图像示意图。如图4所示,其示出的人脸图像为用户输入移动轨迹时的人脸图像。图4中位于人脸图像中头部左上方,虚线绘制的形如耳朵的折线线条为用户输入的移动轨迹L0。P为移动轨迹L0上一点。请参考图5,其示出了本公开实施例提供的一种显示页面的人脸图像示意图。如图5所示,其示出的人脸图像为终端在执行图像特效处理过程中,显示页面当前时刻之后所显示的人脸图像。该人脸图像相对图4所示的人脸图像产生了人脸头部倾斜的姿态变化。图5中位于人脸图像中头部左上方的虚线所示的折线线条L1为:与图4所示的用户输入的移动轨迹对应的特效线条。特效线条上的P1点与移动轨迹上P点对应。其中,图4和图5为同一用户不同时刻的人脸图像。图4和图5所示的人脸图像中,人脸关键点均为同一个目标人脸关键点C、同一个第一人脸关键点A以及同一个第二人脸关键B。

可选的,终端可以重复执行图像特效处理,直至接收到特效关闭指令。从而实现第一特效线条的显示位置(即在显示屏幕上的绝对位置)会随着实时显示的人脸图像的显示位置的变化而变化,实现第一特效线条跟随人脸移动的特效,丰富特效显示效果。其中,特效关闭指令可以是在显示页面中执行设定操作后触发的。示例的,特效关闭指令可以是用户针对特效触发控件执行设定输入触发的。该特效触发控件也可以是该显示页面中特效按钮。设定输入可以包括针对特效触发控件的点击、长按、滑动或者语音等形式的输入。

其中,图像特效处理过程包括以下步骤A至步骤C。

在步骤A中,根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置。

本公开实施例中,终端可以获取显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息。在获取到第二位置信息之后,终端可以根据人脸关键点的第二位置信息对各轨迹点相对人脸图像的相对位置进行转换,得到各轨迹点对应在显示屏幕上的第一绝对位置。其中,获取的该人脸图像中的人脸关键点与步骤102中,至少两个人脸关键点相同。可选的,各轨迹点在显示屏幕上的第一绝对位置可以采用轨迹点在显示屏幕的像素坐标系中的坐标表征。

可选的,如图6所示,终端根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置的过程可以包括以下步骤1031至步骤1032。

在步骤1031中,针对各轨迹点,根据第一人脸关键点和第二人脸关键点的第二位置信息,确定人脸图像中当前人脸姿态的第二旋转矩阵以及第二缩放矩阵。

本公开实施例中,第二旋转矩阵可以表示人脸图像中当前人脸姿态的旋转姿态信息。第二缩放矩阵可以表示人脸图像中当前人脸姿态的缩放姿态信息。

可选的,在人脸关键点的第二位置信息以及轨迹点的轨迹位置信息均为在终端的显示屏幕上的绝对坐标的情况下,终端针对至少一个轨迹点中各轨迹点,根据第一人脸关键点和第二人脸关键点的第二位置信息,确定人脸图像中当前人脸姿态的第二旋转矩阵以及第二缩放矩阵的过程可以包括以下步骤10311至步骤10312。

在步骤10311中,根据第一人脸关键点和第二人脸关键点的第二位置信息,以及第二长度,得到第二旋转矩阵,第二长度为第一人脸关键点指向第二人脸关键点的第二向量的长度。

本公开实施例中,终端可以根据第一人脸关键点和第二人脸关键点的第二位置信息,得到第一人脸关键点指向第二人脸关键点的第二向量。确定第二向量的第二长度。在确定第二长度之后,可以根据第一人脸关键点的第二位置信息、第二人脸关键点的第二位置信息以及第二长度,得到第二旋转矩阵。

示例的,假设在终端获取用户输入的移动轨迹之后,到终端执行图像特效处理,生成并显示第一特效线条之前,用户的头部发生了姿态变化。此时,终端在显示页面中所显示的人脸图像的人脸位置发生了改变。例如,在终端获取用户输入的移动轨迹之后,到终端执行图像特效处理,生成并显示第一特效线条之前,用户的头部从图4所示的姿态,变化为图5所示的姿态。

继续以步骤1021中假设的人脸关键点为例,针对假设的轨迹点P进行示意性说明。终端根据第一人脸关键点A的第二位置信息(x

其中,第二旋转矩阵M

在步骤10312中,根据第一人脸关键点和第二人脸关键点连线的参考长度,以及第二长度,得到第二缩放矩阵。参考长度为针对人脸图像中处于正视姿态的人脸设定的第二长度。

本公开实施例中,针对人脸图像中处于正视姿态的人脸设定的第一长度和第二长度相等。示例的,续以步骤1021中假设的人脸关键点为例,针对假设的轨迹点P进行示意性说明。第二向量

其中,第二缩放矩阵M

本公开实施例中,由于第一人脸关键点和第二人脸关键点的连线,其倾斜角度可以较好的反映显示页面所显示的人脸图像中人脸的旋转角度。因此,根据第一人脸关键点指向第二人脸关键点的第二向量的第二长度,确定的用于指示人脸图像中当前人脸的旋转姿态信息的第二旋转矩阵的准确性较高。且同时利用第一人脸关键点和第二人脸关键点的连线在人脸图像中处于正视姿态的人脸的长度,以及该连线在当前人脸图像中的真实长度,可以在重复利用第一人脸关键点和第二人脸关键点的连线的相关信息的基础上,确定用于指示人脸图像中当前人脸的缩放姿态信息的第二缩放矩阵,减少终端计算量。

在步骤1032中,根据第二旋转矩阵、第二缩放矩阵、目标人脸关键点的第二位置信息以及相对位置,得到轨迹点的第一绝对位置。

可选的,终端根据第二旋转矩阵、第二缩放矩阵、目标人脸关键点的第二位置信息以及相对位置,得到轨迹点的第一绝对位置的过程可以包括:终端根据第二旋转矩阵、第二缩放矩阵、目标人脸关键点的第二位置信息、相对位置以及第二公式,得到轨迹点的第一绝对位置。第二公式包括:

R=Mr

其中,R表示轨迹点在显示屏幕上的第一绝对位置、Mr

这样,由于第二旋转矩阵可以反映人脸图像中当前人脸的旋转姿态信息。第二缩放矩阵可以反映人脸图像中当前人脸的缩放姿态信息。因此,采用第二公式确定轨迹点的第一绝对位置,可以不仅使得轨迹点的第一绝对位置跟随人脸图像的显示位置的变化而变化,还会因人脸图像中当前人脸的旋转姿态信息以及缩放姿态信息的变化而变化。进而使得连接各第一绝对位置的轨迹点,生成的第一特效线条不仅可以跟随人脸图像中的人脸移动,还可以实现跟随人脸图像中的人脸旋转和缩放,丰富特效显示效果。

需要说明的是,若终端在执行前述步骤102时其所显示的人脸图像中人脸姿态与执行步骤103时其所显示的人脸图像中人脸姿态发生变化时,则针对同一轨迹点,步骤102得到的轨迹点相对人脸图像的相对位置与步骤103得到的轨迹点相对显示屏幕的绝对位置不同。若终端在执行前述步骤102时其所显示的人脸图像中人脸姿态与执行步骤103时其所显示的人脸图像中人脸姿态未发生变化时,则针对同一轨迹点,步骤102得到的轨迹点相对人脸图像的相对位置与步骤103得到的轨迹点相对显示屏幕的绝对位置相同。即二者位置重合。

本公开实施例中,根据第二旋转矩阵、第二缩放矩阵、目标人脸关键点的第二位置信息以及相对位置,得到轨迹点的第一绝对位置的方案,由于第二旋转矩阵可以反映人脸图像中当前人脸的旋转姿态信息。第二缩放矩阵可以反映人脸图像中当前人脸的缩放姿态信息。因此,采用第二旋转矩阵、第二缩放矩阵以及目标人脸关键点的第二位置信息将轨迹点的相对位置,转换成轨迹点的第一绝对位置,可以不仅使得轨迹点的第一绝对位置跟随人脸图像的显示位置的变化而变化,还会因人脸图像中当前人脸的旋转姿态信息以及缩放姿态信息的变化而变化。进而使得连接各第一绝对位置的轨迹点,生成的第一特效线条不仅可以跟随人脸图像中的人脸移动,还可以实现跟随人脸图像中的人脸旋转和缩放,丰富特效显示效果。

在步骤B中,连接位于各第一绝对位置的轨迹点,生成第一特效线条。

可选的,终端可以根据用户输入的移动轨迹中各轨迹点的排布顺序,连接各轨迹点分别对应的各第一绝对位置的轨迹点,生成第一特效线条。

示例的,移动轨迹包括按序排列的轨迹点X1、轨迹点X2以及轨迹点X3。轨迹点X1的第一绝对位置为Y1。轨迹点X2的第一绝对位置为Y2。轨迹点X3的第一绝对位置为Y3。终端按照轨迹点X1、轨迹点X2以及轨迹点X3的排序顺序,依次连接位于第一绝对位置为Y1的轨迹点、位于第一绝对位置为Y2的轨迹点以及位于第一绝对位置为Y3的轨迹点,生成第一特效线条。

在步骤C中,在显示页面中,显示第一特效线条。

本公开实施例中,终端可以在其当前所显示的显示页面中,显示生成的第一特效线条。

本公开实施例中,可以通过根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及用户在显示页面中输入的移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置。以便重复执行根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置,并在显示页面中,显示位于各第一绝对位置的轨迹点连接成的第一特效线条的过程。

上述技术方案中,第一特效线条是根据用户输入的移动轨迹绘制的,实现了用户可以自主绘制特效。并且,在获取移动轨迹中各轨迹点与当前人脸图像的相对位置之后,可以采用显示页面实时所显示的人脸图像中,人脸关键点的位置信息以及各轨迹点相对位置,确定各轨迹点在显示屏幕上的第一绝对位置,从而在连接位于各第一绝对位置的轨迹点后生成并显示第一特效线条。这样,生成的第一特效线条的显示位置会随着显示页面实时所显示的人脸图像的显示位置的变化而变化,实现了第一特效线条跟随人脸移动的特效,丰富特效显示效果。

可选的,终端不仅可以根据用户输入的移动轨迹绘制自主绘制移动轨迹对应的第一特效线条。还可以根据第一特效线条绘制与该第一特效线条对称的第二特效线条。第二特效线条与第一特效线条以人脸图像中人脸为基准左右对称。例如,如图5所示,终端不仅可以绘制图5中位于人脸图像中头部左上方的虚线所示的形如耳朵的特效线条L1。还可以绘制图5中位于人脸图像中头部右上方的虚线所示的形如耳朵的特效线条L2。特效线条L1与特效线条L2以人脸图像中人脸为基准左右对称。特效线条L1上的P1点与特效线条L2上的P2点以人脸图像中人脸为基准左右对称。则本公开实施例中,图像特效处理还可以包括以下步骤D至步骤E。

在步骤D中,根据第一特效线条,生成与第一特效线条对称的第二特效线条。第二特效线条与第一特效线条以人脸图像中人脸为基准左右对称。

本公开实施例中,终端可以根据第一特效线条生成以终端当前所显示的人脸图像中人脸为基准左右对称的第二特效线条。其中,终端根据第一特效线条生成与该第一特效线条对称的第二特效线条的实现方式有多种。本公开实施例以以下两种为例进行说明。

第一种可选的实现方式,如图7所示,终端根据第一特效线条生成与该第一特效线条对称的第二特效线条的过程可以包括以下步骤701至步骤702。

在步骤701中,根据人脸关键点的第二位置信息,以及各对称点的相对位置,确定各对称点在显示屏幕上的第二绝对位置。

本公开实施例中,终端在执行上述步骤102根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置之后。终端还可以根据各轨迹点相对人脸图像的相对位置,确定各轨迹点的对称点相对人脸图像的相对位置。其中,对称点与轨迹点以人脸为基准左右对称。

可选的,在轨迹点相对人脸图像的相对位置为轨迹点相对人脸图像的相对坐标的情况下,若相对坐标所属的二维坐标系,其一个轴可以为人脸图像的对称轴。则终端根据各轨迹点相对人脸图像的相对位置,确定各轨迹点的对称点相对人脸图像的相对位置的过程可以包括:终端对轨迹点的相对坐标中第一方向的坐标值执行正负数转换处理,得到处理后的坐标值,第一方向与人脸图像的对称轴垂直。更新轨迹点的相对位置,使得更新后的相对位置中第一方向的坐标值为处理后的坐标值。确定更新后的相对位置为对称点的相对位置。其中,在对称点与轨迹点以人脸为基准左右对称的情况下,第一方向可以为与人脸图像左右对称的对称轴垂直的方向。

示例的,假设终端确定的轨迹点P1相对人脸图像的相对坐标为(x

本公开实施例中,终端根据人脸关键点的第二位置信息,以及各对称点的相对位置,确定各对称点在显示屏幕上的第二绝对位置。也即是终端根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对各对称点的相对位置进行转换,得到各对称点在显示屏幕上的第二绝对位置。该终端根据人脸关键点的第二位置信息,以及各对称点的相对位置,确定各对称点在显示屏幕上的第二绝对位置的过程可以参考前述图像特效处理过程中步骤A,根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置的过程,本公开实施例对此不做赘述。

在步骤702中,连接位于各第二绝对位置的对称点,生成第二特效线条。

可选的,终端可以根据用户输入的移动轨迹中各轨迹点的排布顺序,连接各轨迹点的分别对应的各对称点中,各第二绝对位置的轨迹点,生成第二特效线条。

示例的,移动轨迹包括按序排列的轨迹点X1、轨迹点X2以及轨迹点X3。轨迹点X1对应的对称点X4的第二绝对位置为Y4。轨迹点X2对应的对称点X5第二绝对位置为Y5。轨迹点X3对应的对称点X6第二绝对位置为Y6。终端按照轨迹点X1、轨迹点X2以及轨迹点X3的排序顺序,依次连接位于第二绝对位置为Y4的轨迹点、位于第二绝对位置为Y5的轨迹点以及位于第二绝对位置为Y6的轨迹点,生成第二特效线条。

第二种可选的实现方式,如图8所示,终端根据第一特效线条生成与该第一特效线条对称的第二特效线条的过程可以包括以下步骤801至步骤802。

在步骤801中,根据人脸关键点的第二位置信息,以及各轨迹点的第一绝对位置,确定各轨迹点的对称点在显示屏幕上的第二绝对位置。轨迹点与对称点以人脸为基准左右对称。

可选的,在人脸关键点的第二位置信息为人脸关键点在显示屏幕上的绝对坐标的情况下。终端根据人脸关键点的第二位置信息,以及各轨迹点的第一绝对位置,确定各轨迹点的对称点在显示屏幕上的第二绝对位置的过程可以包括以下步骤8011至步骤8013。

在步骤8011中,根据第一人脸关键点和第二人脸关键点的第二位置信息,得到由第一人脸关键点指向第二人脸关键点的第二向量,以及垂直与第二向量的第三向量。

示例的,继续以步骤1021中假设的人脸关键点为例,针对假设的轨迹点P进行示意性说明。终端根据第一人脸关键点A的第二位置信息(x

在步骤8012中,根据目标人脸关键点的第二位置信息,以及轨迹点的第一绝对位置,得到由目标人脸关键点指向轨迹点的第四向量。

示例的,继续以步骤1021中假设的人脸关键点为例,针对假设的轨迹点P进行示意性说明。假设轨迹点P的第一绝对位置为(x

在步骤8013中,根据第二向量、第三向量、第四向量以及目标人脸关键点的第二位置信息,得到对称点的第二绝对位置。

可选的,终端根据第二向量、第三向量、第四向量、目标人脸关键点的第二位置信息以及第三公式,得到对称点的第二绝对位置。第三公式包括:

其中,M表示对称点的第二绝对位置,

本公开实施例中,第一种可选的实现方式中,利用对称点与轨迹点以人脸为基准左右对称的特征,可以直接将轨迹点的相对坐标中,与人脸图像的对称轴垂直的第一方向的坐标值执行正负数转换处理后,得到的相对坐标确定为该轨迹点的对称点的相对坐标。之后根据与前述步骤103中类似的步骤根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对对称点的相对位置进行转换,得到对称点在显示屏幕上的第二绝对位置。相较于第二种可选的实现方式,简化了确定对称点在显示屏幕上的第二绝对位置的过程,提高了对称点的第二绝对位置的计算效率。

在步骤802中,连接位于各第二绝对位置的对称点,生成第二特效线条。

可选的,终端可以根据用户输入的移动轨迹中各轨迹点的排布顺序,连接各轨迹点的分别对应的各对称点中,各第二绝对位置的轨迹点,生成第二特效线条。

示例的,移动轨迹包括按序排列的轨迹点X1、轨迹点X2以及轨迹点X3。轨迹点X1对应的对称点X4的第二绝对位置为Y4。轨迹点X2对应的对称点X5第二绝对位置为Y5。轨迹点X3对应的对称点X6第二绝对位置为Y6。终端按照轨迹点X1、轨迹点X2以及轨迹点X3的排序顺序,依次连接位于第二绝对位置为Y4的轨迹点、位于第二绝对位置为Y5的轨迹点以及位于第二绝对位置为Y6的轨迹点,生成第二特效线条。

在步骤E中,在显示页面中显示第二特效线条。

终端可以在其当前所显示的显示页面中,显示生成的第二特效线条。

本公开实施例中,终端可以通过根据第一特效线条,生成与第一特效线条以人脸图像中人脸为基准左右对称的第二特效线条。并在显示页面中显示第二特效线条。实现了用户在人脸图像中,自主绘制以人脸为基准左右对称特效线条的功能。

并且,终端在获取用户输入的移动轨迹中,各轨迹点的对称点的相对位置之后,采用实时页面所显示的人脸图像中,人脸关键点的第二位置信息以及各对称点的相对位置,确定的各轨迹点的对称点在显示屏幕上的第二绝对位置。从而连接各第二绝对位置的对称点生成的第二特效线条。因而,生成的第二特效线条的显示位置会跟随显示页面实时所显示的人脸图像的显示位置的变化而变化。实现了第二特效线条跟随人脸移动的特效。进而使得绘制的以人脸为基准左右对称特效线条均可以随人脸移动,丰富特效显示效果。

本公开实施例中,可以通过根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及用户在显示页面中输入的移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置。以便重复执行根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置,并在显示页面中,显示位于各第一绝对位置的轨迹点连接成的第一特效线条的过程。上述技术方案中,第一特效线条是根据用户输入的移动轨迹绘制的,实现了用户自主绘制特效的功能。并且,在获取移动轨迹中各轨迹点与当前人脸图像的相对位置之后,可以采用显示页面实时所显示的人脸图像中,人脸关键点的位置信息以及各轨迹点相对位置,确定各轨迹点在显示屏幕上的第一绝对位置,从而在连接位于各第一绝对位置的轨迹点后生成并显示第一特效线条。这样,生成的第一特效线条的显示位置会随着显示页面实时所显示的人脸图像的显示位置的变化而变化,实现了第一特效线条跟随人脸移动的特效,丰富特效显示效果。

图9是根据一示例性实施例示出的一种图像处理装置的框图。参照图9,图像处理装置900包括:获取模块901、确定模块902以及图像特效处理模块903。

获取模块901,用于响应于特效显示指令,获取在包括人脸图像的显示页面中用户输入的移动轨迹;

确定模块902,用于根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置;

图像特效处理模块903,用于重复执行图像特效处理,图像特效处理包括:

根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置;

连接位于各第一绝对位置的轨迹点,生成第一特效线条;

在显示页面中,显示第一特效线条。

在一种可能实现方式中,至少两个人脸关键点包括:第一人脸关键点、第二人脸关键点以及目标人脸关键点,第一人脸关键点与第二人脸关键点关于目标人脸关键点对称,目标人脸关键点为人脸图像的对称轴上的任一人脸关键点。

在一种可能实现方式中,确定模块902,还用于:

针对各轨迹点,根据目标人脸关键点的第一位置信息和轨迹点的轨迹位置信息,确定轨迹点指向目标人脸关键点的平移向量;

根据第一人脸关键点和第二人脸关键点的第一位置信息,确定人脸图像中当前人脸姿态的第一旋转矩阵以及第一缩放矩阵;

根据第一旋转矩阵、第一缩放矩阵以及平移向量,得到轨迹点相对人脸图像的相对位置。

在一种可能实现方式中,第一位置信息和轨迹位置信息均包括在显示屏幕上的绝对坐标,确定模块902,还用于:

根据第一人脸关键点和第二人脸关键点的第一位置信息,以及第一长度,得到第一旋转矩阵,第一长度为第一人脸关键点指向第二人脸关键点的第一向量的长度;

根据第一人脸关键点和第二人脸关键点连线的参考长度,以及第一长度,得到第一缩放矩阵,参考长度为针对人脸图像中处于正视姿态的人脸设定的第一长度。

在一种可能实现方式中,确定模块902,还用于:

根据第一缩放矩阵、第一旋转矩阵、平移向量以及第一公式,得到相对位置,第一公式包括:

其中,Q表示相对位置、Ms

在一种可能实现方式中,图像特效处理模块903,还用于:

针对各轨迹点,根据第一人脸关键点和第二人脸关键点的第二位置信息,确定人脸图像中当前人脸姿态的第二旋转矩阵以及第二缩放矩阵;

根据第二旋转矩阵、第二缩放矩阵、目标人脸关键点的第二位置信息以及相对位置,得到轨迹点的第一绝对位置。

在一种可能实现方式中,第二位置信息包括在显示屏幕上的绝对坐标,图像特效处理模块903,还用于:

根据第一人脸关键点和第二人脸关键点的第二位置信息,以及第二长度,得到第二旋转矩阵,第二长度为第一人脸关键点指向第二人脸关键点的第二向量的长度;

根据第一人脸关键点和第二人脸关键点连线的参考长度,以及第二长度,得到第二缩放矩阵,参考长度为针对人脸图像中处于正视姿态的人脸设定的第二长度。

在一种可能实现方式中,图像特效处理模块903,还用于:

根据第二旋转矩阵、第二缩放矩阵、目标人脸关键点的第二位置信息、相对位置以及第二公式,得到轨迹点的第一绝对位置,第二公式包括:

R=Mr

其中,R表示第一绝对位置、Mr

在一种可能实现方式中,图像特效处理还包括:

根据第一特效线条,生成与第一特效线条对称的第二特效线条,第二特效线条与第一特效线条以人脸图像中人脸为基准左右对称;

在显示页面中显示第二特效线条。

在一种可能实现方式中,确定模块902,还用于:

根据各轨迹点相对人脸图像的相对位置,确定各轨迹点的对称点相对人脸图像的相对位置,对称点与轨迹点以人脸为基准左右对称;

图像特效处理模块903,还用于:

根据人脸关键点的第二位置信息,以及各对称点的相对位置,确定各对称点在显示屏幕上的第二绝对位置;

连接位于各第二绝对位置的对称点,生成第二特效线条。

在一种可能实现方式中,相对位置包括相对人脸图像的相对坐标,确定模块902,还用于:

对轨迹点的相对坐标中第一方向的坐标值执行正负数转换处理,得到处理后的坐标值,第一方向与人脸图像的对称轴垂直;更新轨迹点的相对位置,使得更新后的相对位置中第一方向的坐标值为处理后的坐标值;确定更新后的相对位置为对称点的相对位置。

本公开实施例中,可以通过确定模块根据显示页面在当前时刻所显示人脸图像中,至少两个人脸关键点的第一位置信息,以及用户在显示页面中输入的移动轨迹中至少一个轨迹点的轨迹位置信息,确定各轨迹点相对人脸图像的相对位置。以便使得图像特效处理模块重复执行根据显示页面在当前时刻之后所显示人脸图像中,人脸关键点的第二位置信息对相对位置进行转换,得到各轨迹点在显示屏幕上的第一绝对位置,并在显示页面中,显示位于各第一绝对位置的轨迹点连接成的第一特效线条的过程。上述技术方案中,第一特效线条是根据用户输入的移动轨迹绘制的,实现了用户自主绘制特效的功能。并且,在获取移动轨迹中各轨迹点与当前人脸图像的相对位置之后,可以采用显示页面实时所显示的人脸图像中,人脸关键点的位置信息以及各轨迹点相对位置,确定各轨迹点在显示屏幕上的第一绝对位置,从而在连接位于各第一绝对位置的轨迹点后生成并显示第一特效线条。这样,生成的第一特效线条的显示位置会随着显示页面实时所显示的人脸图像的显示位置的变化而变化,实现了第一特效线条跟随人脸移动的特效,丰富特效显示效果。

图10是根据一示例性实施例示出的一种电子设备的框图。该电子设备可以为终端。该电子设备1000可以是:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,电子设备1000包括有:处理器1001和存储器1002。

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

存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的信息显示方法。

在一些实施例中,电子设备1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头1006、音频电路1007、定位组件1008和电源1009中的至少一种。

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

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

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

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

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

定位组件1008用于定位电子设备1000的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1008可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

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

在一些实施例中,电子设备1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。

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

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

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

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

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

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

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

在示例性实施例中,还提供了一种非计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述各个方法实施例提供的图像处理方法。例如,该计算机可读存储介质可以是ROM(Read-Only Memory,只读内存)、RAM(Random Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品,包括计算机程序。该计算机程序被处理器执行时能够执行上述各个方法实施例提供的图像处理方法。

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

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 图像处理方法、存储介质、电子设备及图像处理装置
  • 图像处理方法和图像处理装置及电子设备和存储介质
技术分类

06120113114948