牙齿的图像处理、直播方法、装置、电子设备和存储介质与流程

文档序号:22189882发布日期:2020-09-11 22:00阅读:267来源:国知局
牙齿的图像处理、直播方法、装置、电子设备和存储介质与流程

本发明实施例涉及图像处理的技术,尤其涉及一种牙齿的图像处理、直播方法、装置、电子设备和存储介质。



背景技术:

随着技术发展,社会公众针对图像或者视频的图像美化处理存在越来越大的需求。若图像数据包含人脸,用户经常会对该人脸的局部区域进行图像处理,如实现牙齿美白的功能。

目前,常使用如下两种调整方式:

第一种,识别人脸中的牙齿区域的人脸数据,直接对该牙齿区域的人脸数据进行图像处理,从而实现对牙齿区域的进行美白的操作。但这种方式会对使得该牙齿区域的人脸数据,与其他区域的人脸数据之间无法平和过渡,有突变的显示效果,从而导致人脸失真明显。

第二种,使用神经网络等深度学习对该局部区域的人脸数据进行图像处理,以实现容貌更改操作。但深度学习复杂度高,处理速度慢,处理时间较长,导致图像数据显示存在较为明显的延时,在直播等对实时性要求较高的场景中,性能存在瓶颈。



技术实现要素:

本发明实施例提供一种牙齿的图像处理、直播方法、装置、电子设备和存储介质,以解决兼顾对牙齿的局部处理的质量与效率的问题。

第一方面,本发明实施例提供了一种牙齿的图像处理方法,包括:

绘制原始图像数据,所述原始图像数据中具有原始人脸数据;

确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

对所述原始图像数据的进行亮度调整,获得目标图像数据;

在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果。

在此基础上,所述根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据,包括:

将所述原始图像数据划分为多个第一网格,所述第一网格的第一顶点为所述原始人脸数据的第一人脸关键点;

将所述嘴巴蒙版数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述蒙版人脸数据的第二人脸关键点;

依次根据所述第一人脸关键点调整所述第二人脸关键点,以使所述第二网格对齐所述第一网格;

依次绘制调整之后的第二网格,以将所述嘴巴蒙版数据绘制在所述原始图像数据上。

在此基础上,所述在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上显示部分所述图像处理的处理效果,包括:

确定所述嘴巴蒙版数据的有效区域,所述嘴巴蒙版数据包括第二人脸关键点,所述第二人脸关键点包括嘴巴的嘴巴关键点,所述嘴巴关键点包括上嘴唇的上嘴唇关键点、下嘴唇的下嘴唇关键点,所述有效区域包括:所述上嘴唇关键点和所述下嘴唇关键点围成的封闭区域;

在所述嘴巴蒙版数据上绘制所述目标图像数据,以将所述目标图像数据透过所述有效区域,显示在所述原始图像数据上。

在此基础上,所述依次根据所述第一人脸关键点调整所述第二人脸关键点,以使所述第二网格对齐所述第一网格,包括:

确定所述第二人脸关键点的第二顶点坐标;

在每帧所述原始图像数据中确定所述第一人脸关键点的第一顶点坐标;

参考所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的偏移,调整所述第二人脸关键点的第二顶点坐标

在此基础上,所述参考所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的偏移,调整所述第二人脸关键点的第二顶点坐标,包括:

确定所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的第一偏移距离;

将所述第一偏移距离映射至所述嘴巴蒙版数据中,获得第二偏移距离;

在所述第二人脸关键点的第二顶点坐标的基础上加上所述第二偏移距离,以更新所述第二人脸关键点的第二顶点坐标。

在此基础上,所述将所述原始图像数据划分为多个第一网格,包括:

确定位置相邻的第一人脸关键点,作为第一目标关键点;

在所述原始图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格;

所述将所述嘴巴蒙版数据划分为多个第二网格,包括:

确定位置相邻的第二人脸关键点,作为第二目标关键点;

在所述嘴巴蒙版数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。

在此基础上,所述确定位置相邻的第一人脸关键点,作为第一目标关键点,包括:

将所述原始图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;

确定位于同一条第一边两侧的第一人脸关键点位置相邻;

所述确定位置相邻的第二人脸关键点,作为第二目标关键点,包括:

将所述嘴巴蒙版数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;

确定位于同一条第二边两侧的第二人脸关键点位置相邻。

在此基础上,所述目标图像数据具有与所述原始图像数据具有同样的第一网格;所述在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果,包括:

确定所述目标图像数据的第一网格与所述嘴巴蒙版数据的有效区域是否重叠;

若是,则在所述第一网格中重叠的部分显示所述目标图像数据的像素;

若否,则在所述第一网格显示所述原始图像数据的像素。

第二方面,本发明实施例还提供了一种直播方法,包括:

采集原始视频数据,所述原始视频数据包括原始图像数据,所述原始图像数据具有主播用户对应的原始人脸数据;

绘制每帧原始图像数据;

确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

根据每帧所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

对所述原始图像数据的进行亮度调整,获得目标图像数据;

在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始视频数据的所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果;

在一直播间发布具有部分所述亮度调整的处理效果的所述原始视频数据。

第三方面,本发明实施例还提供了一种牙齿的图像处理装置,包括:

图像获取模块,用于绘制原始图像数据,所述原始图像数据中具有原始人脸数据;

蒙版确定模块,用于确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

对齐模块,用于根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

处理模块,用于对所述原始图像数据的进行亮度调整,获得目标图像数据;

合成模块,用于在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果。

第四方面,本发明实施例还提供了一种直播装置,包括:

视频采集模块,用于采集原始视频数据,所述原始视频数据包括原始图像数据,所述原始图像数据具有主播用户对应的原始人脸数据;

图像绘制模块,用于绘制每帧原始图像数据;

蒙版确定模块,用于确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

对齐模块,用于根据每帧所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

处理模块,用于对所述原始图像数据的进行亮度调整,获得目标图像数据;

合成模块,用于在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始视频数据的所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果;

发布模块,用于在一直播间发布具有部分所述亮度调整的处理效果的所述原始视频数据。

第五方面,本发明实施例还提供了一种电子设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的牙齿的图像处理方法或如第二方面所述的直播方法。

第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如第一方面所述的牙齿的图像处理方法或如第二方面所述的直播方法。

本发明通过绘制原始图像数据,所述原始图像数据中具有原始人脸数据;确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;对所述原始图像数据的进行亮度调整,获得目标图像数据;在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果,一方面,对整体的原始图像数据进行图像处理,获取具有整体处理效果的目标图像数据,使用嘴巴蒙版数据选取部分目标图像数据绘制在原始图像数据上,使得原始图像数据具有局部处理的处理效果,进而使得局部处理的更加平滑,减少突变的情况,避免人脸失真,另一方面,根据原始人脸数据与蒙版人脸数据的对应关系,对齐嘴巴蒙版数据和原始图像数据,可以使得嘴巴蒙版数据跟随原始图像数据变化,也是局部处理位置的调整,可降低运算量,并且,对齐的方式相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,从而减少显示时的延时,适用于直播等对实时性要求较高的场景。

附图说明

图1a为本发明实施例一提供的一种牙齿的图像处理方法的流程图;

图1b为本发明实施例一提供的嘴巴蒙版数据的示意图;

图2a至图2c为本发明实施例一提供的一种人脸关键点的示例图;

图3a至图3c为本发明实施例一提供的一种网格顺序的示例图;

图4为本发明实施例一提供的一种相邻人脸关键点的示例图;

图5为本发明实施例一提供的一种维诺图的示例图;

图6为本发明实施例一提供的一种网格的示例图;

图7为本发明实施例一提供的嘴巴蒙版数据的工作示意图;

图8为本发明实施例二提供的一种直播方法的流程图;

图9为本发明实施例三提供的一种牙齿的图像处理装置的结构示意图;

图10为本发明实施例四提供的一种直播装置的结构示意图;

图11为本发明实施例五提供的一种电子设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1a为本发明实施例一提供的一种牙齿的图像处理方法的流程图,本实施例可适用于基于人脸数据进行蒙版对齐、对原始图像数据进行局部处理的情况,该方法可以由牙齿的图像处理装置来执行,该装置可以由软件和/或硬件实现,可配置在电子设备中,可以包括手机、平板、pda(personaldigitalassistant,个人数字助理)、智能穿戴设备(如智能眼镜、智能手表)等移动终端,也可以包括智能电视、个人电脑等非移动终端,这些电子设备包括cpu(centralprocessingunit,中央处理器)、gpu(graphicsprocessingunit,图形处理器)等处理器,以及配置有用于渲染2d矢量图形的应用程序编程接口(api)或渲染引擎,如opengl(opengraphicslibrary,开放图形库)、opengles(openglforembeddedsystems,用于嵌入式系统的opengl)、metal、valkan、u3d、ue4等等,该方法具体包括如下步骤:

s110、绘制原始图像数据,所述原始图像数据中具有原始人脸数据。

在具体实现中,电子设备的操作系统可以包括android(安卓)、ios、windows等等。

一方面,在这些操作系统中支持运行可进行图像处理的应用,如直播应用、图像编辑应用、相机应用、即时通讯工具、图库应用,等等。

诸如图像编辑应用、即时通讯工具、图库应用等应用,其ui(userinterface,用户界面)可提供导入的控件,用户可通过触控或鼠标等外设操作该导入的控件,选择本地存储的图像数据(以缩略图或路径表示),也可以选择网络存储的图像数据(以url(uniformresourcelocators,统一资源定位器)表示),使得应用获取该图像数据,作为原始图像数据。

诸如直播应用、图像编辑应用、相机应用、即时通讯工具等应用,其ui可提供拍照、录像的控件,用户可通过触控或鼠标等外设操作该拍照、录像的控件,通知应用调用摄像头采集图像数据,作为原始图像数据。

另一方面,该应用可调用电子设备的摄像头采集原始视频数据,该视频数据中具有多帧原始图像数据,部分或全部原始图像数据中具有用户,即用于表示用户的像素点,即原始人脸数据。

本实施例中,原始图像数据中具有原始人脸数据,所谓原始人脸数据,可以指原始图像数据中用于表示人脸的像素点。

s120、确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据。

蒙版一词本身即来自生活应用,也就是“蒙在上面的板子”的含义。蒙版就是选框的外部(选框的内部就是选区)。

在计算机中,蒙版可以使用嘴巴蒙版数据进行表示。在嘴巴蒙版数据中可以使用白色表示选中的区域,即为嘴巴蒙版数据的有效区域;可以使用黑色表示没有被选的区域,即嘴巴蒙版数据的无效区域。嘴巴蒙版数据中区域的有效性,指的是有效区域所映射的像素可以被编辑,而无效区域所映射的像素受到保护和隔离而不被编辑。

进一步的,还可以从通道的角度来理解,白色代表被选中的区域,含有灰度的区域则是部分选取。当灰度为黑色时,则代表没有被选中的区域。

本实施例中,可以将嘴巴蒙版数据叠加到原始图像数据中时,在原始图像数据中确定有效区域所映射的像素。

诸如直播应用、图像编辑应用、相机应用、即时通讯工具等应用,可以对原始图像数据进行图像处理,以对原始图像数据中的原始人脸数据进行容貌更改操作。一般的,容貌更改操作可以对整个原始人脸数据进行图像处理。但更多的是,采用局部处理的方式,对原始人脸数据中的指定人脸数据进行图像处理。

本实施例中的嘴巴蒙版数据可以用于确定原始人脸数据中的指定人脸数据所在的区域。

具体的,嘴巴蒙版数据具有蒙版人脸数据,所谓蒙版人脸数据,可以指嘴巴蒙版数据中用于表示人脸中口腔所对应的像素点。该蒙版人脸数据所在的区域中包括有效区域,该有效区域在原始人脸数据中所映射的人脸数据,即为原始人脸数据的指定人脸数据。进一步的,在该原始人脸数据中的指定人脸数据中显示处理效果,即具有局部处理的效果。

嘴巴蒙版数据中包括有效区域,该有效区域可以在原图图像数据中映射显示图像处理的处理效果的区域,从而实现局部处理的效果。该嘴巴蒙版数据的有效区域为嘴唇张开时所露出的口腔所处的区域,参考图1b中的阴影部分。

s130、根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据。

本实施例中,步骤s130可以进一步细化为步骤s131-s134:

s131、将所述原始图像数据划分为多个第一网格,所述第一网格的第一顶点为所述原始人脸数据的第一人脸关键点。

在本发明实施例中,应用对该原始图像数据进行人脸检测,识别该原始人脸数据中包含的第一人脸关键点。

其中,人脸检测也称为人脸关键点检测、定位或者人脸对齐,是指给定人脸数据,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等等。

人脸检测通常使用如下方法:

1、利用人工提取特征,如haar特征,使用特征训练分类器,使用分类器进行人脸检测。

2、从通用的目标检测算法中继承人脸检测,例如,利用fasterr-cnn来检测人脸。

3、使用级联结构的卷积神经网络,例如,cascadecnn(级联卷积神经网络),mtcnn(multi-taskcascadedconvolutionalnetworks,多任务卷积神经网络)。

在具体实现中,这些实现人脸检测的方法可以集成在应用的模块中,应用可直接调用该模块检测图像数据中的第一人脸关键点,这些实现人脸检测的方法也可以集成在sdk(softwaredevelopmentkit,软件开发工具包),该sdk作为应用的组装数据,应用可请求sdk对原始图像数据进行人脸检测,sdk检测到原始图像数据中的第一人脸关键点,并将第一人脸关键点返回应用。

需要说明的是,第一人脸关键点的数量,可以由本领域技术人员根据实际情况设置,对于静态的图像处理,实时性要求较低,可以检测较为稠密的第一人脸关键点,如1000个,除了能定位人脸重要特征点之外,还能准确的描述出五官的轮廓;对于直播等,实时性要求较高,可以检测较为稀疏的第一人脸关键点,如68、81、106个,定位人脸上比较明显且重要的特征点(如眼睛关键点、眉毛关键点、鼻子关键点、嘴巴关键点、轮廓关键点等),以降低处理量、减少处理时间,等等,本发明实施例对此不加以限制。

为使本领域技术人员更好地理解本发明实施例,在本发明实施例中,以较为稀疏的第一人脸关键点作为一种示例进行说明。

例如,对图2a所示的原始图像数据进行人脸检测,可以输出如图2b的68个第一人脸关键点。

第一网格(mesh),代表单个的可绘制实体,其第一顶点至少包括第一人脸关键点,即以第一人脸关键点作为第一网格的至少部分第一顶点,将原始图像数据进行网格化,划分为多个(两个及两个以上)第一网格。

所谓网格化,是将凹多边形或有边相交的多边形划分成凸多边形,如三角形,以便被opengl等api或渲染引擎渲染。

需要说明的是,第一网格之间是有序的,从而形成网格序列,使得符合opengl等api或渲染引擎的渲染规范。

例如,对于opengl,一般情况下有三种绘制一系列三角形(网格):

1、gl_triangles

每三个点一组画一个三角形,三角形之间是独立的。

如图3a所示,第一个三角形使用顶点v0、v1、v2,第二个三角形使用顶点v3、v4、v5,以此类推。

2、gl_triangle_strip

从第三个点开始,每点与前面的两个点组合画一个三角形,即线性连续三角形串:

如图3b所示,第一个三角形,顶点排列顺序是v0,v1,v2;第二个三角形,顶点排列顺序是v2,v1,v3;第三个三角形,顶点排列顺序是v2,v3,v4;第四个三角形,顶点排列顺序是v4,v3,v8。

这个顺序是为了保证三角形按照相同的方向绘制的,使这个三角形的序列能够正确形成表面的一部分。

3、gl_triangle_fan。

从第三个点开始,每点与前一个点和第一个点组合画一个三角形,即扇形连续三角形。

如图3c所示,第一个三角形的顶点排列顺序是v2,v1,v0,第二个三角形的顶点排列顺序是v3,v2,v0,第一个三角形的顶点排列顺序是v4,v3,v0。

在本发明的一个实施例中,s131可以包括如下步骤:

s1311、确定位置相邻的第一人脸关键点,作为第一目标关键点。

s1312、在所述原始图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格。

进一步的,步骤s1311可以细化为包括:将所述原始图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;确定位于同一条第一边两侧的第一人脸关键点位置相邻。

在本发明实施例中,对于位置相邻的两个第一人脸关键点,可作为一对第一目标关键点,依次以第一目标关键点作为第一网格的第一顶点、连接该对第一目标关键点,则可以生成第一网格。

在一种检测位置相邻的方式中,可通过定义法(intersectofhalfplanes)、增量(incremental)算法、分治法、planesweep算法等方式,将包含第一人脸关键点的原始图像数据转换为第一维诺图(voronoi图)。

第一维诺图,又称泰森多边形或dirichlet图,它包括一组由连接两邻点直线的垂直平分线组成的连续多边形(又称单元cell)。

在第一维诺图中,任意两个第一人脸关键点p和q之间的欧氏距离,记作dist(p,q)。

设p={p1,p2,…,pn}为平面上任意n个互异的第一人脸关键点,这些第一人脸关键点也就是基点。所谓p对应的voronoi图,就是平面的一个子区域划分——整个平面因此被划分为n个单元,它们具有这样的性质:

任一第一人脸关键q位于第一人脸关键pi所对应的单元中,当且仅当对于任何的pj∈pj,j≠i,都有dist(q,pi)<dist(q,pj)。此时,将与p对应的voronoi图记作vor(p)。

“vor(p)”或者“voronoi图”所指示是组成该子区域划分的边和顶点。在vor(p)中,与基点pi相对应的单元记作v(pi)——称作与pi相对应的voronoi单元。

在本发明实施例中,第一维诺图包括多个第一单元,每个第一单元包含一个第一人脸关键点,该第一单元具有多条第一边,此时,可确定位于同一条第一边两侧的第一人脸关键点位置相邻,将位于同一条边两侧的第一人脸关键点连接,则可生成第一网格。

例如,参见图4,将原始图像数据中转换为第一维诺图,图4显示了部分第一人脸关键点(黑点)和部分第一单元的边(实线)。

其中,在第一单元400中,第一边401两侧的第一人脸关键点411与第一人脸关键点412相邻,可连接第一人脸关键点411与第一人脸关键点412,同理,连接第一人脸关键点411与第一人脸关键点413,以及,连接第一人脸关键点413与第一人脸关键点412,从而生成第一网格(虚线边)420。

进一步地,图2b所示的原始图像数据,包含68个第一人脸关键点,可转换为如图5所示的第一维诺图,从而确定位置相邻的第一人脸关键点,按照既定的顺序连接位置相邻的第一人脸关键点,可获得如图6所示的第一网格。

在本发明的另一个实施例中,s131可以包括如下步骤:

s1313、确定位于所述原始图像数据边缘上的点,作为第一边缘点。

s1314、确定与所述第一边缘点位置相邻的第一人脸关键点,作为第三目标关键点。

s1315、在所述原始图像数据中以所述第一边缘点、所述第三目标关键点作为顶点、连接所述边缘点与所述第三目标关键点,获得第一网格。

第一人脸关键点组成的第一网格一般不能完全覆盖原始图像数据,此时,可在原始图像数据边缘上选取一些点,作为第一边缘点。

需要说明的是,为了方便运算,选取的第一边缘点对称。

例如,如图6所示,选择原始图像数据的四个顶点、以及、每两个顶点之间的中点作为第一边缘点。

将第一边缘点及其相邻的第一人脸关键点作为一对第三目标关键点,依次以第三目标关键点作为第一网格的第一顶点、按照顺序连接该对第三目标关键点,则可以生成第一网格。

需要说明的是,第一边缘点与第一人脸关键点位置相邻的关系,可由本领域技术人员根据实际情况进行设置,本发明实施例对此不加以限制。

一般而言,第一人脸关键点中的眉毛关键点、轮廓关键点与第一边缘点相邻,第一边缘点的数量少于与其位置相邻的第一人脸关键点的数量。

例如,图2b所示的原始图像数据,包含68个第一人脸关键点、8个第一边缘点,25个第一人脸关键点与8个第一边缘点位置相邻,按照既定的顺序连接位置相邻的第一人脸关键点、第一边缘点,可获得如图6所示的第一网格。

需要说明的是,第一网格的第一顶点可同时包括第一人脸关键点、第一边缘点,与每个第一人脸关键点、每个第一边缘点位置相邻的点(可以是第一人脸关键点,也可以是第一边缘点)均已确定,此时,可按照既定的顺序连接各第一人脸关键点、第一边缘点,从而生成第一网格。

在本发明的又一个实施例中,第一网格的第一顶点包括第一人脸关键点、位于原始图像数据边缘上的第一边缘点,第一边缘点与第一人脸关键点具有第一编号,其中,第一边缘点的第一编号是预设的,第一人脸关键点的第一编号是在人脸检测时生成的,或者,基于人脸检测时生成的编号映射获得,并且、第一边缘点的第一编号与第一人脸关键点的第一编号互不重复。

例如,如图2c所示第一人脸关键点共68个,情况如下:

轮廓关键点共17个,第一编号分别为1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17。

眉毛关键点共10个,第一编号分别为18、19、20、21、22、23、24、25、26、27。

鼻子关键点共9个,第一编号分别为28、29、30、31、32、33、34、35、36。

眼睛关键点共12个,第一编号分别为37、38、39、40、41、42、43、44、45、46、47、48。

嘴巴关键点共20个,第一编号分别为49、50、51、52、53、54、55、56、57、58、59、60、61、62、63、64、65、66、67、68。

第一边缘点共8个,第一编号分别为69、70、71、72、73、74、75、76。

此时,s131可以包括如下步骤:

s1316、查询预设的、且具有顺序的网格变量。

其中,每个网格变量中的顶点标记有第三编号。

s1317、若所述第一编号与所述第三编号相同,则在所述原始图像数据中以所述第一编号所属的第一边缘点或第一人脸关键点作为第一顶点、连接所述第一编号所属的第一边缘点或第一人脸关键点,获得第一网格。

因为人脸检测的方法是预先设定的,其输出的第一人脸关键点一般是固定的,并且,第一边缘点也一般是固定的,使得与每个第一人脸关键点、每个第一边缘点位置相邻的点(可以是第一人脸关键点,也可以是第一边缘点)均是固定的,即每个第一网格中第一顶点的顺序是固定的。

因此,可在首次(离线)将某帧原始图像数据按照某一方式划分为多个第一网格时,按照顺序记录每个第一网格中每个第一顶点(可以是第一人脸关键点,也可以是第一边缘点)的编号,作为第三编号,此时,每个第一网格保留第一顶点的第三编号,作为网格变量。

对于其他(实时)原始图像数据,若按照相同的方式划分为第一网格,则可以将其点(可以是第一人脸关键点,也可以是第一边缘点)的第一编号与网格变量的第三编号进行匹配,若两者相同,则可以按照网格变量中限定的顺序连接第一编号所表示的点(可以是第一人脸关键点,也可以是第一边缘点),从而将该原始图像数据划分为多个第一网格。

例如,如图2c所示,网格变量可以表示为(1,76,2)、(2,76,3)、(3,76,4)、(4,76,5),等等。

对于图2b所示的原始图像数据,第一编号为1、2的第一人脸关键点以及第一编号为76的第一边缘点,与其中一个网格变量中的第三编号匹配成功,则可以按照其顺序连接第一人脸关键点、第一边缘点,从而组成一个第一网格(1,76,2)。

s132、将所述嘴巴蒙版数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述蒙版人脸数据的第二人脸关键点。

嘴巴蒙版数据预设有第二人脸关键点,保证第二人脸关键点与第一人脸关键点的保持一致。

第二网格(mesh),代表单个的可绘制实体,其第二顶点至少包括第二人脸关键点,即以第二人脸关键点作为第二网格的至少部分第二顶点,将嘴巴蒙版数据进行网格化,划分为多个(两个及两个以上)第二网格。

在本发明的一个实施例中,s132包括:

确定位置相邻的第二人脸关键点,作为第二目标关键点;

在所述嘴巴蒙版数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。

进一步地,所述确定位置相邻的第二人脸关键点,作为第二目标关键点,包括:

将所述嘴巴蒙版数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;

确定位于同一条第二边两侧的第二人脸关键点位置相邻。

在本发明的另一个实施例中,s132包括:

确定位于所述嘴巴蒙版数据边缘上的点,作为第二边缘点;

确定与所述第二边缘点位置相邻的第二人脸关键点,作为第四目标关键点;

在所述嘴巴蒙版数据中以所述第二边缘点、所述第四目标关键点作为第二顶点、连接所述第二边缘点与所述第四目标关键点,获得第二网格。

在本发明的又一个实施例中,所述第二网格的第二顶点还包括位于所述嘴巴蒙版数据边上的第二边缘点,所述第二边缘点与所述第二人脸关键点具有第二编号;s132包括:

查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;

若所述第二编号与所述第三编号相同,则在所述嘴巴蒙版数据中以所述第二编号所属的第二边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。

需要说明的是,第二网格的划分方式与第一网格的划分方式保持一致,所以第二网格的划分方式描述的比较简单,相关之处参见第一网格的划分方式的部分说明即可,本发明实施例在此不加以详述。

s133、依次根据所述第一人脸关键点调整所述第二人脸关键点,以使所述第二网格对齐所述第一网格。

一般情况下,用户的人脸会经常发生变化,变现为每帧原始图像数据中原始人脸数据的第一人脸关键点经常发生变化。

依次调整第二人脸关键点,使得第二人脸关键点依次对齐每帧原始图像数据中的第一人脸关键点,在保持蒙版人脸关键点作为第二网格的第二顶点的情况下,调整第二人脸关键点,可连同调整第二网格,使得第二网格内的蒙版人脸数据随着原始人脸数据的变化而变化,从而实现第二网格对齐第一网格,嘴巴蒙版数据对齐原始图像数据的效果。

在本发明的一个实施例中,s133包括:

s1331、确定所述第二人脸关键点的第二顶点坐标。

s1332、在每帧所述原始图像数据中确定所述第一人脸关键点的第一顶点坐标。

s1333、参考所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的偏移,调整所述第二人脸关键点的第二顶点坐标。

在具体实现中,当所述原始图像数据来源于原始视频数据时,该原始视频数据中相邻两帧的原始图像数据之间的差异比较小,例如,1秒钟的视频数据包括60帧原始图像数据,每两帧图像数据之间相差16.67ms,用户在这16.67ms的变动较小,因此,可以通过帧同步进行人脸驱动,即对于相同编号的第二人脸关键点与第一人脸关键点(即第一人脸关键点的第一编号与第二人脸关键点的第二编号相同),可参考该第一人脸关键点的第一顶点坐标在每相邻两帧原始图像数据之间的偏移调整该第二人脸关键点的第二顶点坐标。

进一步地,步骤s1333包括:

s13331、确定所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的第一偏移距离。

对于具有相同第一编号的第一关键点,可以依次计算该第一关键点在当前帧原始图像数据的第一定点坐标与在上一帧原始图像数据的第一定点坐标之间的偏移,作为第一偏移距离。

s13332、将所述第一偏移距离映射至所述嘴巴蒙版数据中,获得第二偏移距离。

如果蒙版人脸数据与原始人脸数据尺寸相同,则可以直接在嘴巴蒙版数据中应用第一偏移距离为第二偏移距离。

如果蒙版人脸数据与原始人脸数据尺寸不同相同,计算蒙版人脸数据与原始人脸数据之间的尺寸比例。

在一个示例中,第一人脸关键点包括第一眼睛关键点,第二人脸关键点包括第二眼睛关键点。

在此示例中,可以确定第一眼睛关键点(如图2c所示的、第一编号为40、43的人脸关键点)之间的距离,作为第一眼间距。

相对于地,确定第二眼睛关键点之间的距离,作为第二眼间距。

计算第二眼间距与第一眼间距之间的距离比例,作为蒙版人脸数据与原始人脸数据之间的尺寸比例。

在本示例中,由于眼睛之间的肌肉稀疏,以眼间距计算蒙版人脸数据与原始人脸数据之间的尺寸比例,精度高。

当然,除了眼间距之外,也可以采用其他方式计算蒙版人脸数据与原始人脸数据之间的尺寸比例,例如,以眉心与鼻尖之间的距离计算蒙版人脸数据与原始人脸数据之间的尺寸比例,等等,本发明实施例对此不加以限制。

计算第一偏移距离与尺寸比例之间的乘积,作为第二人脸关键点的第二偏移距离。

s13333、在所述第二人脸关键点的第二顶点坐标的基础上加上所述第二偏移距离,以更新所述第二人脸关键点的第二顶点坐标。

将每帧原始图像数据中第一人脸关键点的偏移分别追加到嘴巴蒙版数据中相应的第二人脸关键点上,这样,嘴巴蒙版数据就会跟着原始图像数据中真实的人脸(原始人脸数据)动起来了。此时,嘴巴蒙版数据中的有效区域也可以跟随原始人脸数据中口腔所在的区域。

s134、依次绘制调整之后的第二网格,以将所述嘴巴蒙版数据绘制在所述原始图像数据上。

将嘴巴蒙版数据绘制在原始图像数据上,相当于在原始图像数据上确定嘴巴蒙版数据的有效区域所映射的指定人脸数据。需要注意的是,绘制嘴巴蒙版数据时,嘴巴蒙版数据本身不显示。

s140、对所述原始图像数据的进行亮度调整,获得目标图像数据。

在增加原始图像数据的亮度之后,可以提高整张原始图像数据的亮度。在亮度增加的情况下,可以对牙齿进行增白的效果。当然,亮度调整的程度,根据牙齿区域所需要的美白程度进行确定。

s150、在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上显示部分所述图像处理的处理效果。

为了进一步说明嘴巴蒙版数据的工作原理,本实施例中以图7所示的例子进行说明。原始图像数据1000具有两个白色的圆圈;嘴巴蒙版数据2000的有效区域为右边的白圈所示围成的区域;将该嘴巴蒙版数据2000与该原始图像数据1000对齐,使得嘴巴蒙版数据2000上的白圈与原始图像数据1000中右边的白圈对齐。进一步的,对原始图像数据1000进行图像处理,获得目标图像数据3000,该目标图像数据3000上具有两个黑圈。进一步的,由于嘴巴蒙版数据的作用,最终的显示效果为只在有效区域映射的位置,显示图像处理的处理效果,其显示效果,如图像4000所示。

在一实施例中,目标图像数据具有与所述原始图像数据具有同样的第一网格,步骤s150可以细化为:确定所述目标图像数据的第一网格与所述嘴巴蒙版数据的有效区域是否重叠;若是,则在所述第一网格中重叠的部分显示所述目标图像数据的像素;若否,则在所述第一网格显示所述原始图像数据的像素。

以下,将针对不同的美白牙齿的局部处理应用进行详细的说明,步骤s150细化为:

s1511、确定所述嘴巴蒙版数据的有效区域,所述嘴巴蒙版数据包括第二人脸关键点,所述第二人脸关键点包括嘴巴的嘴巴关键点,所述嘴巴关键点包括上嘴唇的上嘴唇关键点(如图2c中的第一编号为49、55、56、57、58、57、58、59、60、61、68、67、66、65的人脸关键点)、下嘴唇的下嘴唇关键点(如图2c中的第一编号为3、4、5、6、12、13、14、15的人脸关键点),所述有效区域包括:所述上嘴唇关键点和所述下嘴唇关键点围成的封闭区域;

s1512、在所述嘴巴蒙版数据上绘制所述目标图像数据,以将所述目标图像数据透过所述有效区域,显示在所述原始图像数据上。

本发明实施例通过绘制原始图像数据,所述原始图像数据中具有原始人脸数据;确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;对所述原始图像数据进行图像处理,得到目标图像数据;在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上显示部分所述图像处理的处理效果,一方面,对整体的原始图像数据进行图像处理,获取具有整体处理效果的目标图像数据,使用嘴巴蒙版数据选取部分目标图像数据绘制在原始图像数据上,使得原始图像数据具有局部处理的处理效果,进而使得局部处理的更加平滑,减少突变的情况,避免人脸失真,另一方面,根据原始人脸数据与蒙版人脸数据的对应关系,对齐嘴巴蒙版数据和原始图像数据,可以使得嘴巴蒙版数据跟随原始图像数据变化,也是局部处理位置的调整,可降低运算量,并且,对齐的方式相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,从而减少显示时的延时,适用于直播等对实时性要求较高的场景。

实施例二

图8为本发明实施例二提供的一种直播方法的流程图,本实施例可适用于基于人脸数据进行蒙版对齐、对原始图像数据进行局部处理的情况,该方法可以由牙齿的图像处理装置来执行,该装置可以由软件和/或硬件实现,可配置在电子设备中,可以包括手机、平板、pda(personaldigitalassistant,个人数字助理)、智能穿戴设备(如智能眼镜、智能手表)等移动终端,也可以包括智能电视、个人电脑等非移动终端,这些电子设备包括cpu(centralprocessingunit,中央处理器)、gpu(graphicsprocessingunit,图形处理器)等处理器,以及配置有用于渲染2d矢量图形的应用程序编程接口(api)或渲染引擎,如opengl(opengraphicslibrary,开放图形库)、opengles(openglforembeddedsystems,用于嵌入式系统的opengl)、metal、valkan、u3d、ue4等等,该方法具体包括如下步骤:

s210、采集原始视频数据,所述原始视频数据包括原始图像数据,所述原始图像数据具有主播用户对应的原始人脸数据;

一方面,直播应用中,其ui可提供拍照、录像的控件,主播用户可通过触控或鼠标等外设操作该拍照、录像的控件,通知应用调用摄像头采集图像数据,作为原始图像数据。

另一方面,该应用可调用电子设备的摄像头采集原始视频数据,该视频数据中具有多帧原始图像数据,部分或全部原始图像数据中具有主播用户,即用于表示主播用户的像素点,即原始人脸数据。

s220、绘制每帧所述原始图像数据。

本实施例中,可以新建一图层,绘制所述原始图像数据,可以不进行显示。

s230、确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

本实施例中,可以将嘴巴蒙版数据叠加到原始图像数据中时,在原始图像数据中确定有效区域所映射的像素。

本实施例中的嘴巴蒙版数据可以用于确定原始人脸数据中的指定人脸数据所在的区域。

具体的,嘴巴蒙版数据具有蒙版人脸数据,所谓蒙版人脸数据,可以指嘴巴蒙版数据中用于表示人脸中口腔所处的像素点。该蒙版人脸数据所在的区域中包括有效区域,该有效区域在原始人脸数据中所映射的人脸数据,即为原始人脸数据的指定人脸数据。进一步的,在该原始人脸数据中的指定人脸数据中显示处理效果,即具有局部处理的效果。

嘴巴蒙版数据中包括有效区域,该有效区域可以在原图图像数据中映射显示图像处理的处理效果的区域,从而实现局部处理的效果。该嘴巴蒙版数据的有效区域为嘴唇张开时所露出的口腔所处的区域,参考图1b中的阴影部分。

s240、根据每帧所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

本实施例中,步骤s240可以进一步细化为步骤s241-s244:

s241、将所述原始图像数据划分为多个第一网格,所述第一网格的第一顶点为所述原始人脸数据的第一人脸关键点。

在本发明的一个实施例中,s241可以包括如下步骤:

s2411、确定位置相邻的第一人脸关键点,作为第一目标关键点。

s2412、在所述原始图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格。

步骤s2411可以细化为:将所述原始图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;确定位于同一条第一边两侧的第一人脸关键点位置相邻。

在本发明的另一个实施例中,s241可以包括如下步骤:

s2413、确定位于所述原始图像数据边缘上的点,作为第一边缘点。

s2414、确定与所述第一边缘点位置相邻的第一人脸关键点,作为第三目标关键点。

s2415、在所述原始图像数据中以所述第一边缘点、所述第三目标关键点作为顶点、连接所述边缘点与所述第三目标关键点,获得第一网格。

第一人脸关键点组成的第一网格一般不能完全覆盖原始图像数据,此时,可在原始图像数据边缘上选取一些点,作为第一边缘点。

需要说明的是,为了方便运算,选取的第一边缘点对称。

一般而言,第一人脸关键点中的眉毛关键点、轮廓关键点与第一边缘点相邻,第一边缘点的数量少于与其位置相邻的第一人脸关键点的数量。

在本发明的又一个实施例中,第一网格的第一顶点包括第一人脸关键点、位于原始图像数据边缘上的第一边缘点,第一边缘点与第一人脸关键点具有第一编号,其中,第一边缘点的第一编号是预设的,第一人脸关键点的第一编号是在人脸检测时生成的,或者,基于人脸检测时生成的编号映射获得,并且、第一边缘点的第一编号与第一人脸关键点的第一编号互不重复。示例性的,68个第一人脸关键点的编号方式,可以参照前述方法。

此时,s241可以包括如下步骤:

s2416、查询预设的、且具有顺序的网格变量。

其中,每个网格变量中的顶点标记有第三编号。

s2417、若所述第一编号与所述第三编号相同,则在所述原始图像数据中以所述第一编号所属的第一边缘点或第一人脸关键点作为第一顶点、连接所述第一编号所属的第一边缘点或第一人脸关键点,获得第一网格。

s242、将所述嘴巴蒙版数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述蒙版人脸数据的第二人脸关键点。

嘴巴蒙版数据预设有第二人脸关键点,保证第二人脸关键点与第一人脸关键点的保持一致。

在本发明的一个实施例中,s242包括:

确定位置相邻的第二人脸关键点,作为第二目标关键点;

在所述嘴巴蒙版数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。

进一步地,所述确定位置相邻的第二人脸关键点,作为第二目标关键点,包括:

将所述嘴巴蒙版数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;

确定位于同一条第二边两侧的第二人脸关键点位置相邻。

在本发明的另一个实施例中,s242包括:

确定位于所述嘴巴蒙版数据边缘上的点,作为第二边缘点;

确定与所述第二边缘点位置相邻的第二人脸关键点,作为第四目标关键点;

在所述嘴巴蒙版数据中以所述第二边缘点、所述第四目标关键点作为第二顶点、连接所述第二边缘点与所述第四目标关键点,获得第二网格。

在本发明的又一个实施例中,所述第二网格的第二顶点还包括位于所述嘴巴蒙版数据边上的第二边缘点,所述第二边缘点与所述第二人脸关键点具有第二编号;s242包括:

查询预设的、且具有顺序的网格变量,每个所述网格变量中的顶点标记有第三编号;

若所述第二编号与所述第三编号相同,则在所述嘴巴蒙版数据中以所述第二编号所属的第二边缘点或第二人脸关键点作为第二顶点、连接所述第二编号所属的第二边缘点或第二人脸关键点,获得第二网格。

需要说明的是,第二网格的划分方式与第一网格的划分方式保持一致,所以第二网格的划分方式描述的比较简单,相关之处参见第一网格的划分方式的部分说明即可,本发明实施例在此不加以详述。

s243、依次根据所述第一人脸关键点调整所述第二人脸关键点,以使所述第二网格对齐所述第一网格。

一般情况下,用户的人脸会经常发生变化,变现为每帧原始图像数据中原始人脸数据的第一人脸关键点经常发生变化。

依次调整第二人脸关键点,使得第二人脸关键点依次对齐每帧原始图像数据中的第一人脸关键点,在保持蒙版人脸关键点作为第二网格的第二顶点的情况下,调整第二人脸关键点,可连同调整第二网格,使得第二网格内的蒙版人脸数据随着原始人脸数据的变化而变化,从而实现第二网格对齐第一网格,嘴巴蒙版数据对齐原始图像数据的效果。

在本发明的一个实施例中,s243包括:

s2431、确定所述第二人脸关键点的第二顶点坐标。

s2432、在每帧所述原始图像数据中确定所述第一人脸关键点的第一顶点坐标。

s2433、参考所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的偏移,调整所述第二人脸关键点的第二顶点坐标。

进一步地,步骤s2433包括:

s24331、确定所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的第一偏移距离。

对于具有相同第一编号的第一关键点,可以依次计算该第一关键点在当前帧原始图像数据的第一定点坐标与在上一帧原始图像数据的第一定点坐标之间的偏移,作为第一偏移距离。

s24332、将所述第一偏移距离映射至所述嘴巴蒙版数据中,获得第二偏移距离。

如果蒙版人脸数据与原始人脸数据尺寸相同,则可以直接在嘴巴蒙版数据中应用第一偏移距离为第二偏移距离。

如果蒙版人脸数据与原始人脸数据尺寸不同相同,计算蒙版人脸数据与原始人脸数据之间的尺寸比例。

在一个示例中,第一人脸关键点包括第一眼睛关键点,第二人脸关键点包括第二眼睛关键点。

在此示例中,可以确定第一眼睛关键点(如图2c所示的、第一编号为40、43的人脸关键点)之间的距离,作为第一眼间距。

相对地,确定第二眼睛关键点之间的距离,作为第二眼间距。

计算第二眼间距与第一眼间距之间的距离比例,作为蒙版人脸数据与原始人脸数据之间的尺寸比例。

当然,除了眼间距之外,也可以采用其他方式计算蒙版人脸数据与原始人脸数据之间的尺寸比例,例如,以眉心与鼻尖之间的距离计算蒙版人脸数据与原始人脸数据之间的尺寸比例,等等,本发明实施例对此不加以限制。

计算第一偏移距离与尺寸比例之间的乘积,作为第二人脸关键点的第二偏移距离。

s24333、在所述第二人脸关键点的第二顶点坐标的基础上加上所述第二偏移距离,以更新所述第二人脸关键点的第二顶点坐标。

将每帧原始图像数据中第一人脸关键点的偏移分别追加到嘴巴蒙版数据中相应的第二人脸关键点上,这样,嘴巴蒙版数据就会跟着原始图像数据中真实的人脸(原始人脸数据)动起来了。此时,嘴巴蒙版数据中的有效区域也可以跟随原始人脸数据中口腔所在的区域。

s244、依次绘制调整之后的第二网格,以将所述嘴巴蒙版数据绘制在所述原始图像数据上。

将嘴巴蒙版数据绘制在原始图像数据上,相当于在原始图像数据上确定嘴巴蒙版数据的有效区域所映射的指定人脸数据。需要注意的是,绘制嘴巴蒙版数据时,嘴巴蒙版数据本身不显示。

s250、对所述原始图像数据的进行亮度调整,获得目标图像数据;

在增加原始图像数据的亮度之后,可以提高整张原始图像数据的亮度。在亮度增加的情况下,可以对牙齿进行增白的效果。当然,亮度调整的程度,根据牙齿区域所需要的美白程度进行确定。

s260、在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始视频数据的所述原始图像数据上显示部分所述图像处理的处理效果;

在一实施例中,目标图像数据具有与所述原始图像数据具有同样的第一网格,步骤s260可以细化为:确定所述目标图像数据的第一网格与所述嘴巴蒙版数据的有效区域是否重叠;若是,则在所述第一网格中重叠的部分显示所述目标图像数据的像素;若否,则在所述第一网格显示所述原始图像数据的像素。

以下,将针对不同的美白牙齿的局部处理应用进行详细的说明,步骤s260细化为:

s2611、确定所述嘴巴蒙版数据的有效区域,所述嘴巴蒙版数据包括第二人脸关键点,所述第二人脸关键点包括嘴巴的嘴巴关键点,所述嘴巴关键点包括上嘴唇的上嘴唇关键点(如图2c中的第一编号为49、55、56、57、58、57、58、59、60、61、68、67、66、65的人脸关键点)、下嘴唇的下嘴唇关键点(如图2c中的第一编号为3、4、5、6、12、13、14、15的人脸关键点),所述有效区域包括:所述上嘴唇关键点和所述下嘴唇关键点围成的封闭区域;

s2612、在所述嘴巴蒙版数据上绘制所述目标图像数据,以将所述目标图像数据透过所述有效区域,显示在所述原始图像数据上。

s270、在一直播间发布具有部分所述图像处理的处理效果的所述原始视频数据。

直播应用可通过rtsp、rtmp、hls等协议,将原始视频数据发送至直播平台(直播服务器),直播平台(直播服务器)公开该直播间,使得观众用户可以在客户端中打开直播间,接收该原始视频数据并进行播放。

本发明实施例通过采集原始视频数据,所述原始视频数据包括原始图像数据,所述原始图像数据具有主播用户对应的原始人脸数据;绘制每帧原始图像数据;确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;根据每帧所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;对所述原始图像数据的进行亮度调整,获得目标图像数据;在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始视频数据的所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果;在一直播间发布具有部分所述亮度调整的处理效果的所述原始视频数据,一方面,对整体的原始图像数据进行图像处理,获取具有整体处理效果的目标图像数据,使用嘴巴蒙版数据选取部分目标图像数据绘制在原始图像数据上,使得原始图像数据具有局部处理的处理效果,进而使得局部处理的更加平滑,减少突变的情况,避免人脸失真,另一方面,根据原始人脸数据与蒙版人脸数据的对应关系,对齐嘴巴蒙版数据和原始图像数据,可以使得嘴巴蒙版数据跟随原始图像数据变化,也是局部处理位置的调整,可降低运算量,并且,对齐的方式相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,从而减少显示时的延时,适用于直播等对实时性要求较高的场景。

实施例三

图9为本发明实施例三提供的一种牙齿的图像处理装置的结构图,包括:图像获取模块91、蒙版确定模块92、对齐模块93、处理模块94和合成模块95。其中:

图像获取模块91,用于绘制原始图像数据,所述原始图像数据中具有原始人脸数据;

蒙版确定模块92,用于确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

对齐模块93,用于根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

处理模块94,用于对所述原始图像数据的进行亮度调整,获得目标图像数据;

合成模块95,用于在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果。

本发明通过绘制原始图像数据,所述原始图像数据中具有原始人脸数据;确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;对所述原始图像数据的进行亮度调整,获得目标图像数据;在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果,一方面,对整体的原始图像数据进行图像处理,获取具有整体处理效果的目标图像数据,使用嘴巴蒙版数据选取部分目标图像数据绘制在原始图像数据上,使得原始图像数据具有局部处理的处理效果,进而使得局部处理的更加平滑,减少突变的情况,避免人脸失真,另一方面,根据原始人脸数据与蒙版人脸数据的对应关系,对齐嘴巴蒙版数据和原始图像数据,可以使得嘴巴蒙版数据跟随原始图像数据变化,也是局部处理位置的调整,可降低运算量,并且,对齐的方式相比于神经网络等深度学习更为简单,可提高处理速度、减少处理时间,从而减少显示时的延时,适用于直播等对实时性要求较高的场景。

在上述实施例的基础上,对齐模块93还用于:

将所述原始图像数据划分为多个第一网格,所述第一网格的第一顶点为所述原始人脸数据的第一人脸关键点;

将所述嘴巴蒙版数据划分为多个第二网格,所述第二网格的第二顶点至少包括所述蒙版人脸数据的第二人脸关键点;

依次根据所述第一人脸关键点调整所述第二人脸关键点,以使所述第二网格对齐所述第一网格;

依次绘制调整之后的第二网格,以将所述嘴巴蒙版数据绘制在所述原始图像数据上。

在上述实施例的基础上,合成模块95还用于:

确定所述嘴巴蒙版数据的有效区域,所述嘴巴蒙版数据包括第二人脸关键点,所述第二人脸关键点包括嘴巴的嘴巴关键点,所述嘴巴关键点包括上嘴唇的上嘴唇关键点、下嘴唇的下嘴唇关键点,所述有效区域包括:所述上嘴唇关键点和所述下嘴唇关键点围成的封闭区域;

在所述嘴巴蒙版数据上绘制所述目标图像数据,以将所述目标图像数据透过所述有效区域,显示在所述原始图像数据上。

在上述实施例的基础上,依次根据所述第一人脸关键点调整所述第二人脸关键点,以使所述第二网格对齐所述第一网格,包括:

确定所述第二人脸关键点的第二顶点坐标;

在每帧所述原始图像数据中确定所述第一人脸关键点的第一顶点坐标;

参考所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的偏移,调整所述第二人脸关键点的第二顶点坐标。

在上述实施例的基础上,所述参考所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的偏移,调整所述第二人脸关键点的第二顶点坐标,包括:

确定所述第一人脸关键点的第一顶点坐标在每相邻两帧所述原始图像数据之间的第一偏移距离;

将所述第一偏移距离映射至所述嘴巴蒙版数据中,获得第二偏移距离;

在所述第二人脸关键点的第二顶点坐标的基础上加上所述第二偏移距离,以更新所述第二人脸关键点的第二顶点坐标。

在上述实施例的基础上,所述将所述原始图像数据划分为多个第一网格,包括:

确定位置相邻的第一人脸关键点,作为第一目标关键点;

在所述原始图像数据中以所述第一目标关键点作为第一顶点、连接所述第一目标关键点,获得第一网格;

所述将所述嘴巴蒙版数据划分为多个第二网格,包括:

确定位置相邻的第二人脸关键点,作为第二目标关键点;

在所述嘴巴蒙版数据中以所述第二目标关键点作为第二顶点、连接所述第二目标关键点,获得第二网格。

在上述实施例的基础上,所述确定位置相邻的第一人脸关键点,作为第一目标关键点,包括:

将所述原始图像数据转换为第一维诺图,所述第一维诺图包括多个第一单元,每个所述第一单元包含一个第一人脸关键点,所述第一单元具有多条第一边;

确定位于同一条第一边两侧的第一人脸关键点位置相邻;

所述确定位置相邻的第二人脸关键点,作为第二目标关键点,包括:

将所述嘴巴蒙版数据转换为第二维诺图,所述第二维诺图包括多个第二单元,每个所述第二单元包含一个第二人脸关键点,所述第二单元具有多条第二边;

确定位于同一条第二边两侧的第二人脸关键点位置相邻。

在上述实施例的基础上,合成模块95还用于:

确定所述目标图像数据的第一网格与所述嘴巴蒙版数据的有效区域是否重叠;

若是,则在所述第一网格中重叠的部分显示所述目标图像数据的像素;

若否,则在所述第一网格显示所述原始图像数据的像素。

本发明实施例所提供的牙齿的图像处理装置可执行本发明实施例一所提供的牙齿的图像处理方法,具备执行方法相应的功能模块和有益效果。

实施例四

图10为本发明实施例四提供的一种直播装置的结构图,包括:视频采集模块101、图像绘制模块102、蒙版确定模块103、对齐模块104、处理模块105、合成模块106和发布模块107。其中:

视频采集模块101,用于采集原始视频数据,所述原始视频数据包括原始图像数据,所述原始图像数据具有主播用户对应的原始人脸数据;

图像绘制模块102,用于绘制每帧原始图像数据;

蒙版确定模块103,用于确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

对齐模块104,用于根据每帧所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

处理模块105,用于对所述原始图像数据的进行亮度调整,获得目标图像数据;

合成模块106,用于在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始视频数据的所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果;

发布模块107,用于在一直播间发布具有部分所述亮度调整的处理效果的所述原始视频数据。

实施例五

图11为本发明实施例五提供的一种电子设备的结构示意图。如图11所示,该设备包括处理器1100、存储器1101、通信模块1102、输入装置1103和输出装置1104;设备中处理器1100的数量可以是一个或多个,图11中以一个处理器1100为例;设备中的处理器1100、存储器1101、通信模块1102、输入装置1103和输出装置1104可以通过总线或其他方式连接,图11中以通过总线连接为例。

存储器1101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种牙齿的图像处理方法对应的模块(例如,如图9所示的一种牙齿的图像处理装置中的图像获取模块91、蒙版确定模块92、对齐模块93、处理模块94和合成模块95),如本实施例中的一种直播方法对应的模块(例如,如图10所示的一种直播装置中的视频采集模块101、图像绘制模块1002、蒙版确定模块103、对齐模块104、处理模块105、合成模块106和发布模块107)。处理器1100通过运行存储在存储器1101中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的一种牙齿的图像处理方法或直播方法。

存储器1101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器1101可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器1101可进一步包括相对于处理器1100远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信模块1102,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置1103可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。

本实施例提供的一种设备,可执行本发明任一实施例提供的牙齿的图像处理方法或直播方法,具体相应的功能和有益效果。

实施例六

本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种牙齿的图像处理方法,该方法包括:

绘制原始图像数据,所述原始图像数据中具有原始人脸数据;

确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

根据所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

对所述原始图像数据的进行亮度调整,获得目标图像数据;

在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果。

或者,

一种直播方法,该方法包括:

采集原始视频数据,所述原始视频数据包括原始图像数据,所述原始图像数据具有主播用户对应的原始人脸数据;

绘制每帧原始图像数据;

确定嘴巴蒙版数据,所述嘴巴蒙版数据中具有蒙版人脸数据;

根据每帧所述原始人脸数据和蒙版人脸数据的对应关系,对齐所述嘴巴蒙版数据和所述原始图像数据;

对所述原始图像数据的进行亮度调整,获得目标图像数据;

在所述嘴巴蒙版数据上绘制所述目标图像数据,以在所述原始视频数据的所述原始图像数据上的嘴巴部分显示所述亮度调整的处理效果;

在一直播间发布具有部分所述亮度调整的处理效果的所述原始视频数据。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例一提供的牙齿的图像处理方法,或者本发明实施例二提供的直播方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机电子设备(可以是个人计算机,服务器,或者网络电子设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述在牙齿的图像处理装置,或者直播装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1