CN112348937A - 人脸图像处理方法及电子设备 - Google Patents
人脸图像处理方法及电子设备 Download PDFInfo
- Publication number
- CN112348937A CN112348937A CN201910735963.9A CN201910735963A CN112348937A CN 112348937 A CN112348937 A CN 112348937A CN 201910735963 A CN201910735963 A CN 201910735963A CN 112348937 A CN112348937 A CN 112348937A
- Authority
- CN
- China
- Prior art keywords
- dimensional
- grid
- image
- model
- face
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 141
- 238000000034 method Methods 0.000 claims abstract description 72
- 239000011159 matrix material Substances 0.000 claims description 86
- 230000008859 change Effects 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 15
- 238000013519 translation Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 7
- 230000001815 facial effect Effects 0.000 claims description 6
- 238000000926 separation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 26
- 230000009466 transformation Effects 0.000 description 23
- 239000010410 layer Substances 0.000 description 22
- 230000006870 function Effects 0.000 description 16
- 238000009877 rendering Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 14
- 210000001508 eye Anatomy 0.000 description 12
- 230000000007 visual effect Effects 0.000 description 9
- 210000001331 nose Anatomy 0.000 description 8
- 230000004927 fusion Effects 0.000 description 7
- 210000000697 sensory organ Anatomy 0.000 description 7
- 210000000214 mouth Anatomy 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 210000000887 face Anatomy 0.000 description 3
- 230000008921 facial expression Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000353135 Psenopsis anomala Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种人脸图像处理方法,包括:电子设备获取待处理的二维图像,根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型,根据所述待处理的二维图像的拍摄参数获取所述三维网格模型的纹理图,根据所述基准网格的脸部的可见边界确定边界点,以及与所述边界点对应的控制点;所述电子设备根据预设的变形要求,结合所述边界点与控制点的对应关系,对所述三维网格模型进行变形处理,将所述纹理图像渲染至变形处理后的三维网格模型,根据渲染后的三维网格模型生成处理后的图像。通过三维网格模型的控制点和边界点,快速的对三维网格模型进行调整,使得图像处理效率得到提升,有利于实现高质量的实时图像处理。
Description
技术领域
本申请属于图像处理领域,尤其涉及一种人脸图像处理方法及电子设备。
背景技术
随着摄像技术的发展,摄像功能被越来越广泛的应用于智能设备,比如应用于智能手机、平板电脑和笔记本电脑等。通过摄像功能可以方便用户进行图像采集,包括拍摄照片或视频等,使得智能设备更受用户的青睐。
在使用智能设备的摄像功能时,由于智能设备的摄像装置一般设置在屏幕之外的区域,用户注视屏幕时,摄像装置所采集的图像中的人脸姿态会发生倾斜,需要对图像中的人脸姿态进行矫正。目前采用的基于3D人脸重建后进行形变融合方法,生成校正后的2D人脸并与背景融合时,需要耗费较长的时间,特别是在使用摄像功能进行视频通话时,达不到实时处理的要求。
发明内容
本申请提供一种人脸图像处理方法及电子设备,以解决现有技术中对图像中的人脸姿态进行矫正时,需要耗费较长时间,不能满足实时性要求的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供了一种人脸图像人脸图像处理方法,所述人脸图像处理方法包括:电子设备获取待处理的二维图像,根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型,根据所述待处理的二维图像的拍摄参数获取所述三维网格模型的纹理图,根据所述基准网格的脸部的可见边界确定边界点,以及与所述边界点对应的控制点;所述电子设备根据预设的变形要求,结合所述边界点与控制点的对应关系,对所述三维网格模型进行变形处理,将所述纹理图像渲染至变形处理后的三维网格模型,根据渲染后的三维网格模型生成处理后的图像。
可以看出,电子设备根据所获取的待处理的二维图像获取拍摄参数,根据二维图像结合基准网格构建三维网格模型,根据基准网格确定边界点和控制点,根据预设的变形要求,结合边界点和控制点对三维网格模型进行变形处理,可以有效的提高三维网格模型的变形处理效率,并将处理后的三维网格模型进行纹理图像的渲染,从而能够提高电子设备处理图像的效率,较好的满足电子设备对图像实时处理的时效性要求。比如可以应用于视频图像的实时处理,减少处理后的图像的延时,提升用户使用体验。
可能的,所述电子设备根据摄像头所采集的视频中实时提取视频帧,将所提取的视频帧作为待处理的二维图像;或者,所述电子设备将摄像头所拍摄的照片作为待处理的二维图像。在获取待处理的二维图像后,可以检测所述二维图像是否包括人脸图像,如果所述二维图像中包括人脸图像,则启用本申请所述人脸图像处理方法,调用预先设定的基准网格构建三维网格模型。如果所述二维图像中没有检测到人脸图像,则可以直接显示所采集的图像。
在一种可能的实现方式中,所述基准网格包括三维人脸模型基准网格和背景平面基准网格,所述三维网格模型包括三维人脸模型建模网格和背景平面建模网格,电子设备根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型的步骤包括:电子设备将三维人脸模型基准网格与所述待处理的二维图像拟合,并根据拟合后的三维人脸模型基准网格,获取所述待处理的二维图像的拍摄参数;根据所述拍摄参数,电子设备对所述三维人脸模型基准网格进行姿态调整,得到三维人脸模型建模网格,所述三维人脸模型建模网格与所述二维图像中的人脸姿态一致。
示例性的,所述基准网格中的三维人脸模型基准网格为通用人脸模型或三维变形模型。通过待处理的二维图像中所包括的人脸图像的特征,对基准网格进行拟合操作,使得基准网格变换后,得到包括人脸特征的基准网格。然后进一步结合二维图像中的姿态特征,可以为本申请中的拍摄参数中的旋转向量,对所述基准网格进行旋转,从而使得三维人脸模型能够有效的与二维图像中的人脸姿态匹配。
可能的实现方式中,所述拍摄参数包括模型视图矩阵和投影矩阵,所述根据所述拍摄参数,所述电子设备对所述三维人脸模型基准网格进行姿态调整的步骤包括:根据所述模型视图矩阵,电子设备提取旋转分量;根据所提取的旋转分量,电子设备控制拟合后的三维人脸模型基准网格旋转至所述待处理的二维图像所对应的人脸姿态。
当然,对所述三维人脸模型基准网格进行姿态调整时,不局限于此,还可以通过特征点组合的方式,或者通过特征对比的方式,确定所述三维人脸模型基准网格的旋转分量,对拟合后的三维人脸模型基准网格进行旋转操作。
在一种可能的实现方式中,所述电子设备根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型的步骤还包括:确定姿态调整后的三维人脸模型建模网格中发生位置改变的边界点;根据发生位置改变的边界点查找对应的控制点,根据所查找的控制点对所述背景平面基准网格进行变形控制。
可以看出,通过设定背景平面建模网格和三维人脸模型建模网格,在对三维人脸模型建模网格进行调整后,可以根据边界点的变化,快速的对背景平面建模网格进行适应性调整,有利于提高调整的响应速度。其中,所述三维人脸模型建模网格为三维人脸模型基准网格与二维图像中的人脸图像拟合后得到,所述背景平面建模网格可以在对三维人脸模型基准网格进行拟合或姿态调整时,根据边界点与控制点的关系调整背景平面基准网格得到。
在一种可能的实现方式中,所述纹理图包括三维人脸模型网格纹理图和背景平面网格纹理图,所述电子设备根据所述待处理的二维图像的拍摄参数获取所述三维网格模型的纹理图的步骤包括:根据所述模型视图矩阵和投影矩阵,所述电子设备获取所述三维人脸模型网格纹理图;根据投影矩阵,以及所述模型视图矩阵中的平移向量和缩放向量,所述电子设备获取所述背景平面网格纹理图。
其中,所述根据所述模型视图矩阵和投影矩阵,所述电子设备获取所述三维人脸模型网格纹理图的步骤可以包括:所述电子设备获取所述三维人脸模型建模网格中的顶点在空间直角坐标系中的坐标,在所述顶点坐标中的z坐标为0时渲染得到第一平面;所述电子设备根据第一平面的第一像素点的位置与模型视图矩阵、投影矩阵的乘积,确定第一像素点在待处理的二维图像上所对应的第二像素点,根据第二像素点的颜色确定第一像素点的颜色。
其中,所述根据投影矩阵,以及所述模型视图矩阵中的平移向量和缩放向量,所述电子设备获取所述背景平面网格纹理图的步骤可以包括:所述电子设备根据背景平面建模网格确定第二平面,并提取模型视图矩阵中的平移矩阵和缩放矩阵;所述电子设备根据第二平面的每一个第三像素点的位置与平移矩阵、缩放矩阵和投影矩阵的乘积,确定第三像素点在待处理的二维图像上所对应的第四像素点,根据第四像素点的颜色确定第三像素点的颜色。
可以看出,通过模型视图矩阵和投影矩阵,可以确定二维图像中的像素点与纹理图(包括三维人脸模型网格纹理图和背景平面网格纹理图)的对应关系,并且背景平面网格纹理图不需要旋转处理,则可以通过模型视图矩阵中的缩放向量和平移向量即可。通过生成三维网格模型的纹理图,便于在三维网格模型变换后,能够快速的生成三维网格模型的图像。不局限于此,还可以通过特征点匹配等方式,生成三维网格模型的纹理图。
在一种可能的实现方式中,所述电子设备对所述三维网格模型进行变形处理的步骤包括:所述电子设备获取所构建的三维网格模型中的三维人脸模型建模网格的姿态;所述电子设备根据所构建的三维人脸模型建模网格的姿态与目标姿态的角度关系,旋转所述三维人脸模型建模网格。
示例性的,当电子设备采集到的用户图像的角度为仰视角度,得到的二维图像呈现出双下巴、朝天鼻等特征时,对该二维图像进行调整时,所确定的目标姿态即为水平角度所对应的用户图像。所构建的三维人脸模型建模网格的姿态与目标姿态的角度关系,即为电子设备采集图像的仰视角度与水平线的夹角。使三维人脸模型建模网格根据该夹角向下旋转,使得三维人脸模型建模网格的姿态水平面向前方。
在一种可能的实现方式中,所述电子设备根据预设的变形要求,对所述三维人脸模型建模网格进行变形处理的步骤包括:所述电子设备获取预设的人脸美化参数;根据所述人脸美化参数,所述电子设备对所述三维网格模型中的三维人脸模型建模网格进行调整。
可能的实现方式中,所述人脸美化参数包括眼睛大小参数、眼睛间距参数、人脸胖瘦参数、嘴巴大小参数、***参数、脸型参数和鼻翼大小参数中的一种或者多种。
示例性的,当电子设备接收到用户的美化请求时,可以根据所述美化请求,选择预先设定的眼睛大小参数、眼睛间距参数、人脸胖瘦参数、嘴巴大小参数、***参数、脸型参数和鼻翼大小参数中的一种或者多种,作为当前美化请求对应的人脸美化参数。根据所述人脸美化参数对所述三维人脸模型建模网格进行调整。调整时,可以根据三维人脸模型建模网格中的特征点的距离,按照一定的比例进行调整。比如,人脸美化参数包括脸型参数时,可以选择两组或两组以上的,用于表征脸宽的特征点对,并且特征点对的距离符合预定的比值关系。根据预先设定的特征点对的距离的比值关系,对当前的三维人脸模型建模网格中相应的特征点对的距离的比值关系进行调整,使其与预设的比值关系相符,从而实现对人脸的美化,比如调整下巴相对于人脸的宽度,使得美化后得到瓜子脸型等。
在一种实现方式中,所述电子设备结合所述边界点与控制点的对应关系,对所述三维网格模型进行变形处理的步骤包括:所述电子设备获取边界点位于所述基准网格中的三维人脸模型基准网格上的第一位置,以及边界点位于所述三维网格模型中的三维人脸模型建模网格上的第二位置;在第二位置与第一位置的距离大于预定值时,所述电子设备查找所述边界点对应的控制点;所述电子设备根据所查找的控制点对所述背景平面建模网格进行变形处理。
在一种可能的实现方式中,所述电子设备根据所查找的控制点对所述背景平面建模网格进行变形处理的步骤包括:所述电子设备获取所述边界点的坐标位置在背景平面的坐标变化量;根据所述边界点的坐标位置在背景平面的坐标变化量,所述电子设备确定所述控制点的目标位置;根据所述目标位置,所述电子设备对背景平面建模网格进行拉普拉斯变形处理。
可以看出,在对三维人脸模型基准网格进行变形处理时,包括拟合或姿态调整等处理方式,背景平面基准网格可以根据边界点与控制点的对应关系,快速的确定目标变换位置,从而快速的对背景平面基准网格完成调整,因而提高图像处理的响应速度。
其中,根据所述边界点的坐标位置确定对应的控制点时,可以获取所述边界点在所述背景平面的垂直投影,或者也可以通过截取所述边界点的三维坐标其中的二维坐标得到对应的控制。
在一种可能的实现方式中,根据所述目标位置,所述电子设备对背景平面建模网格进行拉普拉斯变形处理的步骤包括:所述电子设备获取所述背景平面建模网格上设置的控制点;根据所设置的控制点,以及控制点的目标位置,所述电子设备对背景平面建模网格进行拉普拉斯变形处理。
可以看出,通过对背景平面建模网格中的控制点的目标位置,对所述背景平面建模网格进行拉普拉斯变形处理,可以使得背景平面建模网格与三维人脸模型建模网格有效的融合,提高变换后的图像的真实性,避免出现图像间隙。
在一种可能的实现方式中,在所述电子设备获取待处理的二维图像的步骤之前,所述方法还包括:所述电子设备构建三维人脸模型基准网格和背景平面基准网格;所述电子设备获取三维人脸模型基准网格中的脸部区域;根据所述脸部区域的可见边界,所述电子设备确定边界点和控制点的位置。
第二方面,本申请提供了一种电子设备,所述电子设备包括存储器、处理屏和计算机程序,所述显示屏用于处理后的图像,所述计算机程序存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行如第一方面任一项所述人脸图像处理方法。
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述人脸图像处理方法。
第四方面,本申请提供了一种包含指令的计算机程序产品,所述计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面任一项所述的人脸图像处理方法。
可以理解地,上述提供的第二方面所述的电子设备、第三方面所述的计算机存储介质,以及第四方面所述的计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种隐藏式摄像头的结构示意图;
图2为本申请实施例提供的一种使用隐藏式摄像头进行视频通话的示意图;
图3为本申请实施例提供的一种通过隐藏式摄像头拍摄的图像的效果示意图;
图4为本申请实施例提供的一种基于目标图像匹配的方式进行人脸图像处理的对比效果示意图;
图5为本申请实施例提供的一种人脸图像处理的流程示意图;
图6为本申请实施例提供的一种通用人脸模型示意图;
图7为本申请实施例提供的一种三维变形模型示意图;
图8为本申请实施例提供的一种基准网格示意图;
图9为本申请实施例提供的一种在基准网格右前方视角标记边界点的示意图;
图10为本申请实施例提供的一种在基准网格正面标记边界点的示意图;
图11为本申请实施例提供的一种经过变形处理后的建模网格示意图;
图12为本申请实施例提供的一种三维人脸模型网格纹理图的示意图;
图13为本申请实施例提供的一种背景平面网格纹理图的示意图;
图14a和图14b分别为本申请实施例提供的一种三维人脸模型建模网格变形处理后的侧面视图和正面视图;
图15为本申请实施例提供的一种通过姿态调整和渲染后的图像示意图;
图16a和图16b分别为本申请实施例提供的一种背景平面建模网格调整后的三维网格模型的正面视图和侧面视图;
图17为本申请实施例提供的一种图像处理装置的结构示意图;
图18为本申请实施例提供的一种电子设备的结构示意图;
图19为本申请实施例提供的电子设备的软件结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,本申请省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个、两个或两个以上;“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例的主要目的是用于解决现有的人脸图像处理时,对实时采集的人脸图像进行处理时,变换效果不佳、响应速度较慢的问题,具体介绍如下:
本申请所述人脸图像处理方式,可包括对图像中的人脸姿态或角度进行变换,或者对图像中的人脸进行特效处理,包括对人脸采集美颜、变胖、变瘦、哈哈镜等人脸图像处理方式。
在对图像中的人脸姿态进行变换的应用场景中,为了提高屏幕占比,解决防偷拍问题,出现了一种隐藏式摄像头的笔记本,其摄像头可能为设置在屏幕下方键盘的隐藏式摄像头。如图1所示,所述隐藏式摄像头可以选择键盘中部位置设置一个专门的按键,通过该按键来安装摄像头。在按键上设置摄像头时,可以通过按压式结构,将所述摄像头设置在按键的侧面,比如将摄像头设置在按键的前侧,或者当按键是可以旋转的按压式按键时,则可以设置在任意侧面。
当用户需要使用摄像头时,可以按压所述按键,所述按键的后侧可以为通过转轴固定,所述按键的前侧可以通过弹性部件的弹力向上弹出,使得摄像头所在的键盘侧面,与该键盘的前方的键盘平面之间的夹角大于90度,比如可以为120度、135度等,使得摄像头可以采集到正常使用所述笔记本的用户的完整的人脸图像。
当然,所述摄像头也可以设置为可以灵活调整为多个角度。可以根据当前检测到的到人脸图像的完整性,来调整所述摄像头的旋转角度。比如,当用户距离屏幕较近时,如果根据摄像头采集的图像仅能检测到用户的人脸图像的下部,则可以控制摄像头向上旋转,直到获取完整的人脸图像,或者用户距离屏幕较远时,如果采集的图像中人脸位于图像中的下部,则可以调整所述摄像头的角度,使人脸图像位于图像中部。
当用户使用该笔记本进行视频通话时,如图2所示,用户在视频通话过程中,眼睛注视方向通常在屏幕区域所对应的方向,隐藏式摄像头拍摄人脸的角度为仰角,从而使得用户在视频通话或拍照时,摄像头的拍摄角度,与用户的注视角度之间出现一定的夹角β,所拍摄的人脸图像会呈现出如图3所示的“大下巴”、“朝天鼻”等图像效果,达不到用户所期望的拍摄视角的要求。并且,在视频通话过程中,所拍摄的图像中的人脸所注视的角度,通常会呈现出没有注视或留意通话对方的假象(实际上用户正在注视屏幕中的通话对方),不利于提高用户沟通使用体验。
又或者,台式机通过外接摄像头的方式获取用户人脸图像,或者平板、笔记本通过设置在屏幕上方或下方的摄像头采集用户人脸图像时,由于摄像头的位置与屏幕中心位置存在差异,使得采集的图像的角度存在一定的俯角或者仰角,同样需要通过人脸图像处理方法对人脸进行变换,使得图像能够显示所期望的拍摄视角的样式,在视频通话时提高用户通话使用体验。
在对图像中的人脸进行特效处理的应用场景中,智能终端在采集包括用户人脸图像的照片或者视频时,为了得到更佳的拍摄效果,可以对拍摄图像中的人脸五官进行调整,或者对身材进行调整等。从而便于用户将调整后的照片或视频进行发布,包括如用户通过小视频应用程序(包括如抖音、快手等应用程序)发布短视频,或者通过微信、微博、博客等平台发布照片或者小视频等。
为了实现对采集的二维图像进行变换处理,使采集的人脸图像变换为正脸图像,或者使采集的人脸图像变换为经特效处理后的图像,可以包括如下人脸变换方式:
对采集的人脸图像进行二维变换的方式进行处理,可包括:首先获取一张用户的正脸照片,作为后续图片或视频处理的参考数据,并检测该正脸照片的特征点。在获取到待变换的照片时,对待变换的照片中的特征点进行识别。对采集的图像,按照预存的正脸照片为目标进行变形,变形后的人脸图像中的视线方向、五官朝向没有发生变化。
如图4所示,左图为待变换的照片。所述待变换的照片可能是用户在使用电子设备,比如使用带隐藏式摄像头功能的笔记本进行视频通话时,或者使用带隐藏式摄像头功能的笔记本拍摄视频,或者其它的摄像头与电子设备的屏幕位置不匹配的电子设备时,由于用户一般注视在屏幕区域,摄像头设置在人脸前下方,摄像头的采集角度为仰视角度,所采集的图像的下巴和鼻孔较大,用户的使用体验不佳。当然,该图示意为摄像头设置在屏幕下方的效果示意,当摄像头设置在屏幕之外的其它位置,同样所得到的图像也并非用户所期望的正脸图像。图4中的中图为通过预存的正脸照片为目标进行变形后的照片,虽然整个脸形有所改变,但人脸的视线方向、五官朝向没有发生改变,而图4中右图中的目标效果图可以看出,为了能够对人脸图像进行有效的处理,需要对人脸中的眼睛的视线进行变换,需要对人脸中的鼻子的显示视角变换。
其次,通过目标图像对人脸进行变换时,通常使用特征点在图片上建立网格,对网格中的每个三角面片,根据变换矩阵或函数对图像进行映射,在变换过程中需要遍历每个像素位置,通过插值计算像素颜色,变形处理范围越大,需要耗费的处理时间也越大,通常情况下,仅对五官局部进行变形时所耗费的时间为4-6ms,仅对面部进行变形时所耗费的时间通常为20-40ms,对于所采集的图像进行全图变换所需要的时间为130-170ms。因此,如果为了得到较好的图像效果,则会产生较大的处理时延。
而采用三维变形+背景二维融合的方式,根据采集的图像进行三维重建,将重建好的人脸在三维空间进行变形,然后将变形后的人脸重新投影为二维人脸目标图像,并将二维人脸目标图像与背景图像整合时,如果仅仅对人脸进行重建、变形和投影,则一般通过30-40ms即可完成,但是,人脸图像与背景图像之间会存在缝隙,影响图像的真实效果。而对投影后的二维人脸目标图像与背景图像融合时,需要耗费较长时间,将人脸图像与背景图像融合通常需要35-55ms。生成校正后的二维人脸模型与融合的流程则需要65-95ms,不能达到对视频实时处理的要求。
为了解决现有技术中对人脸图像进行处理时,人脸五官视角未进行相应的变换,或者完成人脸图像处理时需要的时间较长的问题,本申请实施例通过构建三维人脸模型基准网格和背景平面基准网格,对三维人脸模型基准网格进行变换时,通过三维人脸模型基准网格的边界点与背景平面基准网格控制点,相应的调整背景平面基准网格,从而提高人脸图像处理效率。
其中,所述三维人脸模型基准网格,可以为通过多边形(包括三角形、四边形等)所构成的三维人脸模型的网格模型。所述三维人脸基准网格所选用的三维人脸模型,可以为通用的人脸模型,也可以为使用图像处理设备的用户本人的三维人脸模型。
所述背景平面基准网格,即待处理的图像的大小所对应的平面网格。所述背景平面网格可以由均匀的网格所构成,也可以由非均匀网格构成。
根据本申请所述人脸图像处理方法处理待调整的图像时,通常可以如图5所示,主要包括以下三个处理步骤:S1基准网格预处理、S2当前图像建模和S3当前图像处理。下面结合附图,对各个处理过程作进一步描述。
S1、基准网格预处理:
S11构建基准网格
所需要构建的基准网格可以包括三维人脸模型基准网格和背景平面基准网格。
所述三维人脸模型基准网格可以为通用人脸模型、三维变形模型(3DMM,3DMorphable Models)或其变种模型等。
其中,所述通用人脸模型为根据通用的人脸所建立的三维人脸模型网格,可以包括如CANDIDE-3模型、CANDIDE模型等。如图6所示,CANDIDE-3模型包括113个顶点,168个面,通过对这些点和面的操作调节,使得通用人脸模型中的特征点与摄像头采集的二维图像(需要三维人脸模型重建的图像)中的人脸特征相匹配。使用通用人脸模型的优点是计算量较小,可以快速的响应三维人脸图像的重建。
所述通用人脸模型可以通过三维扫描仪获取所述通用人脸模型的数据,或者也可以通过计算机图形技术创建,或者也可以商业的建模软件生成所述通用人脸模型。
一种可选的实施方式中,所述通用人脸模型可以获取图像处理设备的用户,建立所述用户对应的通用人脸模型。
比如,可以通过扫描该用户的人脸模型,作为所述通用人脸模型。当所述电子设备有多个用户时,则可以存储多个用户对应的通用人脸模型,并根据当前使用电子设备的用户,选择该用户对应的通用人脸模型。
例如,当手机用户通过指纹或者账号登录电子设备时,可以获知当前使用设备的用户。根据预先存储的用户与通用人脸模型的对应关系,查找当前用户所对应的通用人脸模型。如果在使用过程中,当前用户与通用人脸模型的匹配度低于预定的匹配度时,比如新用户使用图像处理设备中存储的少量用户的通用人脸模型时。可以根据用户的人脸特征,选择对应于用户所在群体的通用人脸模型,比如用户所在群体可以为中年男性、青年女生等群体所确定的人群。
如果分别为用户建立各自的通用人脸模型,可以在后续的三维人脸模型重建时,提高采集的图像与三维人脸模型基准网格拟合的效率更高,有利于提高设备的响应速度。比如用户在使用摄像头隐藏功能的笔记本电脑进行视频通话,或者拍摄视频时,可以将笔记本所拍摄的大下巴、大鼻孔、仰视视角的实时图像进行拟合处理,可以提高拟合处理后的响应速度,提高视频显示的实时性。
当然,如果当前用户不存在预先设定的通用人脸模型,则可以采用预先设定的对应于用户群体的通用人脸模型。在用户使用次数达到预定次时,则可以采集该用户的脸部特征,在***中增加该用户与通用人脸模型的对应关系。
在选用三维变形模型3DMM作为三维人脸模型基准网格时,所述三维变形模型3DMM可以建立在三维人脸数据库的基础上,以人脸形状和人脸纹理统计为约束,并可以考虑到人脸的姿态和光照因素的影响,因而所述三维变形模型可调节的精度更高。如图7所示为三维变形模型的示意图,基于三维变形模型的三维人脸模型基准网格与通用人脸模型相比,三角面的个数、顶点的个数大大的增加,三维变形模型包括更多的特征与细节。
假设所述三维变形模型由m个人脸模型组成,其中每一个人脸模型都包含相应的人脸3D坐标形状向量Si,新的3D人脸模型可以表示为:
可选的实施方式中,在所述三维变形模型的基础上,还可以进一步包括人脸表情数据,使得三维变形模型进一步扩充为:
其中,ei表示脸部表情的主要成分,即区别于其它脸部表情的特征部分,βi为脸部表情系数。其中,所述脸部形状系数αi、脸部表情系数βi可以使用最小二乘法进行求解。
当然,也可以根据所采集的电子设备的用户图像数据,建立所述用户对应的3D变形模型,根据当前使用电子设备的用户调用对应的3D变形模型。如果根据当前用户调用的3D变形模型与当前获取的图像的匹配度低于预定值,则可以采用通过用户群体所确定的3D变形模型。
在构建三维人脸模型基准网格的同时,可以根据所采集的图像的大小,构建背景平面基准网格。如图8所示的基准网格示意图中,在三维人脸模型基准网格覆盖在背景平面基准网格之上。所构建的背景平面基准网格可以按照预定大小和形状的网格来构建。预定形状的网格可以包括三角网格、正方形网格等。所述背景平面基准网格中的三角网格可以为全部相同的三角网格,也可以仅仅在人脸周围的预定范围内设定相同形状的三角网格,可以在人脸区域之外,且在头部区域之内的预定范围内设置较为密集的三角网格,以便于在对人脸图像进行变形处理进,对所述预定范围的头部图像进行更为精确的适应性调整。
S12标记边界点和控制点
在构建完成了三维人脸模型基准网格和背景平面基准网格后,还需要对所构建的基准网格作进一步的标记处理,包括标记所述三维人脸模型基准网格的边界点、背景平面基准网格的固定点和控制点。所述边界点为预定的视角下,所述三维人脸模型基准网格的脸部的可见边界上的点。如图9所示为基准网格右前方视角所标记的边界点示意图,在右前方视角下,人脸模型的右侧可见部分较多,可见边界上的边界点距人脸正面中心线的距离较远。
所述边界点可以根据图像处理的精度,选择不同数量的边界点。比如,图像处理要求的精度越高,则可以选择数量更多的边界点。所述边界点可以均匀分布在所述相交线上,也可以根据人脸的轮廓线发生变形处理较为频繁的部位分布较为密集的边界点。如图9所示,可以在人脸的嘴部附近设置较多的边界点。
当可见视角为基准网格的正面时,如图10所示,根据所述三维人脸模型基准网格的脸部可见区域,确定所述脸部的可见边界,根据所述可见边界,即可确定正面视角所对应的边界点。
在确定所述三维人脸模型基准网格的边界点后,还可以根据所述边界点确定背景平面基准网格的控制点。如图10所示,根据三维人脸模型基准网格的正面视角所确定的边界点,以及根据所述边界点确定的背景平面基准网格的控制点可以完全重合,当然,不应局限于此,所述边界点与所述控制点之间的距离可以设置为小于预定的距离。
S13标记固定点
另外,为了能够使得背景平面基准网格在实施拉伸或者压缩时影响图像的整体大小,本申请还可以对背景平面基准网格设定固定点,通过固定点使得背景平面基准网格的整体大小不会发生改变,另一方面也有利于保证画面整体的稳定性。
在确定了背景平面基准网格的控制点后,还可以进一步设定背景平面基准网格的固定点。如图10所示,所述固定点的位置可以设置在背景平面基准网格的外边界处,通过外边界上的固定点,使得变形处理后的图像大小不会发生改变。当然,也可以通过对图像的背景区域的目标对象进行智能识别,根据所识别的目标对象,在背景平面基准网格所对应的图像中的目标对象所在的位置设定固定点。
所述边界点位于所述三维人脸模型基准网格,当所述三维人脸模型基准网格发生变形处理时,位于所述三维人脸模型基准网格上的边界点的位置也会发生相应的变化,包括边界点在平面方向上的向左移动、向右移动、向下移动或者向上移动,还可能包括向左上前方、左上后方、左下前方等。根据所述边界点的位置的改变,相应的由控制点确定背景平面基准网格的变形,可以根据拉普拉斯变形方法,对所述背景平面基准网格进行压缩或者拉伸。
假设背景平面基准网格所在的平面为直角坐标系的X轴和Y轴所确定的平面,在边界点的位置发生改变后,可以根据所述边界点的x坐标,y坐标的变化,对齐控制所对应的控制点的x坐标,y坐标的变化。
比如,可以获取边界点在变形前的坐标位置、变形后的坐标位置,提取变化前后的坐标位置中的x坐标和y坐标的变化,根据所提取的x坐标和y坐标的变化,控制该边界点所对应的控制点的坐标的变化。
也就是说,如果控制点和边界点重合时,则可以直接根据变化后的边界点的坐标位置中的x坐标和y坐标,确定所述控制点所需要变形的目标位置。
当所述控制点与边界点的之间的对应关系为相隔预定的距离时,则可以根据所述边界点的位置在xoy平面中的位置的变化量,相应的确定该边界点所对应的控制点的位置的变化量。
比如边界点的位置在xoy平面中的位置的变化量,可以分解为水平方向变化量和竖直方向,根据该水平方向变化量和竖直方向变化量,来确定所述控制点的移动,使其与三维人脸模型建模网格上的边界点对应。或者,所述边界点的变化量,又可以分解为移动距离和移动方向,根据所述移动距离和移动方向,确定所述控制点的移动。
作为本申请可选的实施方式中,可以识别所述背景平面基准网格所对应的图像中的物品,对背景平面基准网格所对应的图像中的物品进行全局的拉伸或压缩。即通过所识别的背景平面基准网格所对应的二维图像中的物品,确定物品的等比例调整控制点,当物品中的任意部分需要进行变形处理时,则根据该变形位置的变形处理方式,对该物体的其它控制点实施相同的变形处理,使得变形处理后的物品的形状仍然处于正常的状态,避免因融合引起的背景图像变形的瑕疵问题。
比如,当三维人脸模型附近有目标对象A,在识别目标对象A的整体轮廓后,并设定所述目标对象A的边界位置的等比例缩放的控制点。如果位于边界点的控制点进行了拉伸或者压缩处理,使得目标对象A的局部发生改变,比如局部受到拉伸或者挤压,则根据识别的目标对象A对应的等比例缩放的控制点进行变形处理,使得目标对象A实现整体的拉伸或压缩,从而避免因背景平面基准网格发生变形得到背景平面建模网格时,影响背景图像的真实性。
值得注意的是,上述基准网格的构建过程可以在人脸处理之前的任意时间执行,可以非实时的构建基准网格。即基准网格的构建可以拍摄图像之前完成即可,并且一经构建,可以重复应用于所拍摄的照片处理,或者重复应用于所拍摄的视频图像的视频帧的图像处理。
S2、当前图像建模:
S21人脸模型拟合,以及拍摄参数获取
在所述基准网格预处理完成后,则可以根据预先构建的基准网格进行图像的多次建模使用。比如在完成一次基准网格预处理后,在任意时刻需要启用人脸变换处理时,可以随时调用预先构建的基准网格进行图像建模。并且,所述基准网格可以在离线的状态下构建,即所述基准网格可以不需要对图像进行人脸图像处理过程中构建。
当用户使用摄像头进行拍照,或者使用摄像头拍摄视频时,如果接收到用户开启人像处理的指令,则实时的对所拍摄的照片进行人脸图像处理,或者对拍摄的视频进行视频帧的人脸图像处理。结合预先构建的三维人脸模型基准网格和背景平面基准网格,恢复所拍摄的照片或视频帧中的人脸图像所对应的三维人脸图像。
具体的,将所采集的二维图像(拍摄的照片或者拍摄的视频中的视频帧)进行建模时,可以采用模型拟合的方法得到二维图像对应的三维网格模型,所述三维人脸网格可以包括三维人脸模型。即可以利用图像中的人脸的特征点,以及预先构建的三维人脸模型基准网格中的特征点进行模型的拟合,得到与采集的二维图像的特征点匹配三维人脸模型建模网格。并且可以根据所述二维图像的特征点的位置,确定所述二维图像的拍摄参数,所述拍摄参数可以包括模型视图矩阵和投影矩阵。
在将所述图像与预先构建的三维人脸模型基准网格进行拟合时,可以通过改变三维人脸模型基准网格的顶点的位置,以及对所述三维人脸模型基准网格进行变形等处理,使得三维人脸模型建模网格中的特征点位置映射至所采集的图像时,与所采集的图像中的特征点的位置匹配。即由三维人脸模型建模网格所映射的特征点位置,与所采集的图像中的特征点的位置一致。
比如,在拟合过程中,可以先通过调整所述三维人脸型模型基准网格的姿态,包括对三维人脸模型基准网格的偏航角、俯仰角或翻滚角的调整,然后再对姿态调整后的三维人脸模型基准网格的细节图像处的顶点进行拟合变形,使得所采集的图像中的特征点,与调整后的三维人脸模型建模网格所投影映射的图像中的对应的特征点之间的距离之和最小,或者采集的图像中的特征点,调整后的三维人脸模型建模网格所投影映射的图像中对应的特征点完全匹配。
在将所述三维人脸模型建模网格与所采集的图像进行拟合后,可以根据两组特征点的对应关系,以及三维人脸模型网格(包括三维人脸模基准网格,以及根据所述三维人脸模型基准网格进行拟合得到的三维人脸模型建模网格)的特征点在拟合前后的变化,确定所述三维人脸模型基准网格变换为所采集的图像时,所对应的姿态的模型视图(MV,modelview)矩阵和投影矩阵。其中,根据特征点的对应关系和特征点的变化,来确定由所述三维人脸模型建模网格变换为所采集的图像的MV矩阵和投影矩阵的技术为公知技术,在此不再具体描述。
比如,通过摄像头采集到仰视视角的二维图像后,可以通过分析所述二维图像中的人脸的特征点的位置,结合预设的三维人脸模型基准网格中的特征点,将所述二维图像中的人脸的特征点与所述三维人脸模型基准网格拟合,即对所述三维人脸模型基准网格中的顶点的位置进行调整,使得调整后的网格匹配所述二维图像中的人脸的特征。
S22三维人脸模型变形处理
其中,所述MV矩阵可以提取其中的旋转分量,根据所提取的旋转分量对所述三维人脸模型建模网格进行相同角度的旋转,从而能够将三维人脸模型建模网格的姿态变换为所采集的图像所对应的姿态。其中,若所述MV矩阵为:
那么,根据所述MV矩阵提取其中的旋转分量R为:
其中,I0、I1和I2分别为MV矩阵的第0列、第1列、第2列所构成的向量的模。并且移动参数m30,m31和m32与旋转参数互不相关。
根据拟合过程所确定的MV矩阵,可以对所述三维人脸模型基准网格进行姿态调整。根据所述模型视图矩阵中的旋转分量,可对所述三维人脸模型基准网格进行旋转变换,还原所采集的图像所对应的人脸姿态。
可选的实施方式中,当所述三维人脸模型基准网格为通用人脸模型网格,使用所述通用人脸模型网格进行重建时,可以包括对所述人脸模型网格的整体性调整和局部性调整:
所述整体性调整可以针对模型的轮廓进行调整。可以通过包括如特征点对应的方式,使得通用人脸模型的整体布局,包括如眼睛、耳朵、鼻子、嘴巴、眉毛等部位,与待恢复的图片的五官布局尽量一致。
所述局部性调整可以针对局部细节,尤其是人脸五官进行微调整,使得局部细节更为准确。
通过调整后,可以使用基于顶点的插值运算重建人脸。
当所述三维人脸模型基准网格为三维变形模型网格时,在对三维变形模型网格进行人脸重建时,可以根据所述MV矩阵中的旋转分量,控制所述三维人脸模型基准网格进行旋转。比如,通过所述MV矩阵中的旋转分量R,将所述三维人脸模型基准网格调整为所采集的图像所对应的姿态,可以进一步根据二维人脸模型中的五官中的特征点的位置,来确定三维人脸模型基准网格的脸部特征的变化,可以包括如对眼睛、眉毛、嘴巴、鼻子、耳朵或脸型等脸部样式进行调整,从而使得调整后的三维人模型网格与采集的图像中的人脸更为匹配。
对于拟合后的三维人脸模型建模网格,与所采集的二维图像中的人脸的姿态不一致。包括如二维图像中人脸为仰视视角,而三维人脸模型建模网格为正面视角,为便于渲染得到三维人脸模型网格纹理图,需要将所述三维人脸模型建模网格进行旋转,使得旋转后的三维人脸模型建模网格与所采集的二维图像中的人脸的视角一致。
S23背景网格变形
在完成所述三维人脸模型建模网格的重建后,由于在对所述三维人脸模型进行变换时,旋转后的三维人脸模型的边界点位置可能会发生改变,根据预先设定的三维人脸模型的边界点的位置是否发生改变,来确定是否需要相应的调整背景平面基准网格中的控制点的位置。当三维人脸模型建模网格的边界点的位置发生改变,则查找与该边界点对应的控制点,并根据所述边界点的x坐标和y坐标的变化,使所述背景平面基准网格中与所述边界点对应的控制点与所述边界点对齐,从而完成对所述背景平面基准网格进行变形处理得到背景平面建模网格。
在确定位置发生变化后的边界点所对应的控制点后,可以根据边界点在变形前后的坐标的变化,比如根据所述边界点的x坐标和y坐标的变化,确定所述控制点的变形幅度,使得控制点在x方向和y方向与所述边界点对齐。根据对齐操作相应的调整控制点,对所述背景平面基准网格进行变形处理,使得变形处理后的控制点的位置与其对应的边界点的位置之间的距离小于预定值,或者使得处理后的控制点的位置与其对应的边界点的位置重合。
可选的实施方式中,在对背景平面基准网格所对应的图像中的物体有进行识别,并根据所识别的物体设定有等比例调整控制点时,如果物体中的任意一个控制点需要调整,即其中任意一个控制点移动时,该物体的其它控制点也相应的移动,其中任意一个缩放调整时,相应的控制其它等比例控制点进行缩放。
通过控制点对背景平面基准网格进行变形处理时,还可以与背景平面基准网格的固定点相结合,从而使得变形处理后的图像大小不发生改变。所述固定点可以设置在背景平面基准网格的四周,也可以设置在某些物体的位置。
所述背景平面网格(包括背景平面基准网格和背景平面建模网格)的变形处理方式,可以包括拉普拉斯变换。不应该局限于此,还可以包括如骨骼蒙皮动画算法等其它网格变形处理方式。
图11为经过变形处理后的建模网格示意图。所述建模网格示意图包括三维人脸模型建模网格和背景平面建模网格。根据图8所示的基准网格,经过模型视图矩阵的变形处理,并根据边界点的位置的改变,由控制点和固定点对背景平面基准网格进行变形处理后得到背景平面建模网格的图像的示意图。由图11可以看出,通过拟合,以及结合模型视图矩阵对所述三维人脸模型基准网格进行变形处理,包括对三维人脸模型基准网格进行旋转变形和/或缩放变形后,得到的三维人脸模型建模网格的可见边界的边界点的位置发生改变,根据边界点的位置的改变,相应的调整背景平面基准网格的控制点的位置,对背景平面基准网格进行变形处理,变形后得到的三维人脸模型建模网格与背景平面建模网格仍然可以有效的融合。
S24纹理图像渲染
得到与采集的二维图像的姿态相同的三维人脸模型建模网格后,可以根据MV矩阵及投影矩阵对所采集的图像进行渲染处理,得到三维人脸模型网格纹理图;提取所述MV矩阵中的平移分量和缩放分量,构成新的矩阵,并使用和三维人脸模型相同的投影矩阵,渲染得到背景平面网格纹理图。
其中,在获取三维人脸模型网格纹理图时,可以设定用于标注所述三维人脸模型建模网格上的顶点位置的直角坐标系OXYZ,所述三维人脸模型建模网格上的任意顶点的坐标位置可以表示为(x,y,z)。在所述直角坐标系中的XOY平面设定UV坐标系,所采集的图像可以通过所述UV坐标系表示为(u,v)。可以将三维人脸模型建模网格上所有网格的顶点坐标(x,y,z)中的z坐标设置为0,将x,y坐标设置成该顶点的二维u,v坐标,渲染得到第一平面,然后确定该平面上的每个第一像素点的颜色:可以根据该像素的位置乘以MV矩阵和投影矩阵,确定该第一像素点在所采集的图片上对应第二像素点,根据所对应的第二像素点对第一平面上的第一像素点的颜色进行取值。
同样,在获取背景平面网格纹理图时,由背景平面建模网格确定第二平面,所述第二平面可以通过缩放比例与待处理的二维图像对应。由于背景平面网格是建模成一个平面,不应该有姿态的变化,因此,对平面上的每个第三像素点的颜色,只需要获取MV矩阵中的平移分量和缩放分量,不需要考虑旋转分量,乘以投影矩阵,以及MV矩阵中的平移分量和缩放分量,确定该第三像素点在所获取的待处理的二维图像,比如所采集的图片上对应第四像素点,根据所对应的第四像素点对第二平面上的第三像素点的颜色进行取值。
比如,在提取所述MV矩阵中的平移分量和缩放分量时,对于给定的MV矩阵:
可以提取其平移分量T为:
其缩放分量S为:
其中,I0、I1和I2分别为MV矩阵的第0列、第1列、第2列所构成的向量的模。
根据渲染得到的三维人脸模型网格纹理图和背景平面网格纹理图,便于在对三维人脸模型建模网格的视角调整后,对整个网格进行渲染,得到处理后的图像。
比如,对于图3所示的仰视视角的二维图像,通过生成该二维图像中的人脸所对应的三维人脸模型建模网格后,根据投影矩阵和MV矩阵,确定渲染平面上的像素点的像素值与所述二维图像的对应关系,得到如图12所示的三维人脸模型网格纹理图,以及图13所示的背景平面网格纹理图。
S3、当前图像处理
S31人脸模型变形
对还原后的三维人脸模型建模网格,需要根据实际使用情况对三维人脸模型建模网格进行变形处理。
比如,当用户使用隐藏式摄像头的笔记本电脑,或者使用外接摄像头的台式电脑进行视频时,为了提升视频通话体验,使得视频画面中的人像的姿态,由注视屏幕的姿态变换为注视摄像头的姿态,需要对还原后的三维人脸模型建模网格进行姿态变换,比如对于隐藏式摄像头的笔记本,调整三维人脸模型的俯视角度等,当摄像头设置在台式电脑的显示器的左侧或右侧时,调整所述三维人脸模型建模网格的偏航角度,即将所述三维人脸模型向左旋转,或者向右旋转一定角度。
其中,所述三维人脸模型建模网格所需要旋转的角度,可以根据所述三维人脸模型基准网格在建模时所获取的MV矩阵中所提取的旋转分量来确定。
比如,隐藏式摄像头的笔记本所采集的二维人脸图像的姿态角度为水平向上20度,为了使得视频画面中的人像的姿态,由注视屏幕的姿态变换为注视摄像头的姿态,通过将将三维人脸模型建模网格向下旋转20度,得到如图14a所示的网格正面视图和图14b网格侧面视图中。此时,根据图14b可以看出,所述三维人脸模型建模网格的边界点的位置发生了改变,而与边界点对应的控制点未发生相应的变形处理,背景平面建模网格与变形处理后的所述三维人脸模型建模网格之间出现间隙。
对还原二维图像中的人脸所对应的姿态后的三维人脸模型建模网格进行变形处理时,根据实际应用场景的不同,可以包括多种不同的变形处理方式。比如,可以包括人脸姿态变形处理、人脸局部变形处理等。
对于人脸姿态变形处理时,可应用于采集图像的摄像头与屏幕中心位置不匹配的设备,包括如带隐藏摄像头功能的笔记本、台式电脑等。
比如,用户在使用隐藏式摄像头的笔记本电脑进行拍照、进行视频通话或者录制视频时,如果用户当前正在注视屏幕画面,则所采集的图像则会如图3所示,摄像头位于人脸所注视的方向的下方,所采集的图像会呈现出大下巴、朝天鼻的非用户所期待的图像。
当用户使用所述隐藏式摄像头的笔记本之前,可以预先离线对基准网格进行构建,包括三维人脸模型基准网格和背景平面基准网格的构建。对构建的基准网格进行标记时,通过识别所述基准网格中的三维人脸模型基准网格中的脸部位置,确定脸部的边界点,根据所述边界点确定用于对背景平面网格(包括背景平面基准网格和背景平面建模网格)进行变换的控制点,并可根据图像变换的幅度,确定背景平面网格中的固定点,比如可以设置固定点为图像的边缘处。
当摄像头采集到用户的人脸图像时,可以获取所述人脸图像的特征点,基于三维重建算法将所采集的人脸图像与三维人脸模型基准网格进行拟合,在拟合时根据特征点的对应关系,以及三维人脸模型建模网格的特征点在拟合前后的变化,确定模型视图矩阵和投影矩阵,并将拟合后的三维人脸模型基准网格按照模型视图矩阵中的旋转分量进行旋转,得到拍摄的图像所对应的人脸姿态的模型,并根据旋转后得到的三维人脸模型建模网格的边界点的位置的改变,确定需要调整的控制点,根据控制点对背景平面基准网格进行变形处理,使背景平面建模网格与三维人脸模型建模网格融合,并根据包括图像拍摄参数的MV矩阵,以及包括成像参数的投影矩阵,确定采集的图像所对应的三维人脸模型网格纹理图和背景平面网格纹理图。
根据用户的使用要求,比如,根据拍摄视角的大小,对人脸姿态进行变换,使得调整后的视角向下调整一定角度,比如向下调整20度,并对调整后的三维模型网格进行渲染,得到如图15所示的调整后的图像效果,得到用户的正脸图像。从而能够得到视频聊天时与用户对视的图像,并且通过控制点和边界点的对应关系来控制背景变形,有利于提高背景图像的整合效率。
当用户使用外接摄像头的台式电脑,或者使用普通笔记本进行拍照、进行视频通话或者录制视频时,如果用户当前正在注视屏幕画面,则所采集的图像则可能采集到用户人侧脸图像,或者采集到用户的俯视图像,不利于提高用户通话体验。
根据所采集的图像对三维人脸模型基准网格进行旋转处理时,根据所识别的人脸姿态,当所述摄像头设置在显示器左边时,将所述三维人脸模型基准网格向反方向旋转,以还原二维人脸图像所对应的三维人脸模型的姿态。当所述摄像头设置在显示器右边时,将所述三维人脸模型基准网格向反方向旋转,以还原二维人脸图像所对应的三维人脸图像的姿态,完成当前所采集的图像的建模。
在对当前建模后的人脸模型进行变形处理时,根据人脸三维模型建模网格的边界点的位置的改变,对所述背景平面基准网格进行变形处理得到背景平面建模网格,使得背景平面建模网格与背景平面建模网格有效的整合。并根据拟合时所获取的MV矩阵和投影矩阵,得到三维人脸模型网格纹理图和背景平面网格纹理图。根据二维平面图像中的视角,对建模后的人脸模型进行变形处理,包括向左旋转或向右旋转等,并对旋转后的背景平面基准网格进行变形处理,通过所获取的三维人脸模型网格纹理图和背景平面网格纹理图,对变形后的整个网格进行渲染,得处理后的二维图像,且处理后的二维图像中的人脸的注视方向与摄像头位置相匹配,使得用户在视频通话时,能够获得更好的关注体验。并且变换过程需要的时间相对较短,有利于提高视频图像显示的实时性,有利于提高用户使用体验。
在应用于人脸局部变形处理时,用户在使用任意智能设备采集到图像后,包括照片或者视频等图像,用户可能需要将所采集的图像发送给其它用户,或者需要将采集的图像发送至社交服务平台,为了提高用户使用的满意度,需要对采集的图像进行局部调整,比如包括瘦脸、瘦下巴等操作。
在这种应用场景下,得到由摄像头所采集的图像后,可以基于预设的基准网格模型,对将采集的图像中的人脸与三维人脸模型基准网格进行拟合并还原图像中人脸所对应的姿态,根据拟合过程确定MV矩阵和投影矩阵,并根据三维人脸模型建模网格中的边界点、背景平面基准网格中的控制点进行融合变换,根据MV矩阵和投影矩阵得到三维人脸模型网格纹理图和背景平面网格纹理图,根据预先设定的人脸变换要求,比如可以根据预先设定的人脸美化参数,对所述三维人脸模型建模网格进行变形处理。所述人脸美化参数可以包括眼睛大小参数、眼睛间距参数、人脸胖瘦参数、嘴巴大小参数、***参数、脸型参数和鼻翼大小参数中的一种或者多种。根据所述人脸美化参数对所述三维人脸模型建模网格进一步变形调整。在三维人脸模型建模网格调整后进一步对背景平面建模网格进行变换融合,通过渲染得到变换后的图像,比如,通过变换后得到瘦脸或瘦下巴后的图像。
S32背景网格变形
根据所述三维人脸模型建模网格的边界点所对应的控制点,结合背景平面建模网格中的固定点,对所述背景平面建模网格进行变换,比如进行拉普拉斯变形,使得如图16a所示的完成了背景平面建模网格变形后的网格正面视图和图16b所示的完成了变形处理后的网格侧面视图。通过所述MV矩阵中的旋转向量,控制与采集的二维图像中的人脸的视角一致的所述三维人脸模型建模网格,向相反方向旋转,从而使得旋转后的三维人脸模型建模网格转移为正面视角,便于根据所述正面视角的三维人脸模型建模网格生成正面的二维图像。
S33渲染至图像
根据渲染产生的三维人脸模型网格纹理图,以及背景平面网格纹理图,对变换得到的三维人脸模型建模网格和背景平面建模网格进行渲染,得到渲染后的三维人脸图像和背景平面图像,对所述三维人脸图像进行投影,即可得到处理后的二维图像。
当用户为智能设备的用户时,为了获取更佳的拍摄图像,需要对摄像头采集的照片或者采集的视频中的视频帧进行人脸变形处理。对所述人脸变形处理方式,包括对人脸进行瘦脸处理或瘦下巴等变形处理。
可以根据预先设定三维人脸模型标准网格(用于美化的三维人脸模型网格)的方式,或者预先设定的美化参数,将当前所采集的图像所还原的三维人脸模型建模网格进行变换,可以在所述三维人脸模型建模网格上设置控制点和固定点的方式,控制所述三维人脸模型建模网格按照标准的三维人脸模型或美化参数进行变形处理,得到变形处理后的三维人脸模型建模网格。
对变换后得到的三维人脸模型建模网格上的边界点的位置进行检测,如果变换后得到的三维人脸模型建模网格上的边界点的位置,相对于变换前的三维人脸模型基准网格的边界点的位置发生了改变,则可以根据变换后的所述边界点确定相应的背景平面建模网格的控制点,对所述背景平面建模网格进行变换,得到变换后得到的背景平面建模网格。或者在对所述背景平面建模网格进行变换时,还可以设定背景平面建模网格的固定点,通过固定点来控制背景平面建模网格的保留属性。比如,所述固定点可以设置在所述背景平面建模网格的四周。
可以根据变换前的三维网格模型的纹理特征,或者还可以结合当前的光线,对变换得到的三维人脸模型建模网格和背景平面建模网格进行渲染,得到渲染后的网格模型,结合当前的姿态角对渲染后的网格模型投影,可得到处理后的图像。
由于本申请在构建基准网格的同时,设定位于人脸的边界点和位于背景的控制点,通过背景点与控制点的对应关系,快速的对背景进行变形处理,在采用相同配置的前提下,能够生成无间隙效果的图像的同时,还能够显著的提高图像的处理效率。
比如,所采用的设备配置信息为:CPU为i7-8550,内存为16GB,摄像头所采集的图像的分辨率为1280*720时,采用本申请实施例所述的人脸图像处理方法,根据预设的基准网格,对三维人脸模型基准网格进行重建,重建后得到人脸三维模型建模网格,并渲染得到三维人脸模型网格纹理图和背景平面网格纹理图,该过程通常需要25-35ms,对重建得到的三维人脸模型建模网格和背景平面建模网格进行变形处理,该过程通常耗时2-3ms即可,对变形处理后的图像进行渲染,得到人脸变形处理后的图像的过程通常为4-6ms,因而,整个过程耗时约为31-45ms,而现有的采用目标图像进行二维变换的方式则需要130-170ms,通过三维变形+背景融合的方式需要65-95ms,本申请实施例所述人脸图像处理方法,在保证人脸图像与背景图像融合较好的同时,有效的减少了图像处理的时间。
应理解,上述实施例中各步骤并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的人脸图像处理方法,图17示出了本申请实施例提供的一种人脸图像处理装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
图17本申请实施例提供的一种人脸图像处理装置的结构示意图,所述人脸图像处理装置包括:
图像建模单元1701,用于由电子设备获取待处理的二维图像,根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型,根据所述待处理的二维图像的拍摄参数获取所述三维网格模型的纹理图,根据所述基准网格的脸部的可见边界确定边界点,以及与所述边界点对应的控制点;
模型变形单元1702,用于由所述电子设备根据预设的变形要求,结合所述边界点与控制点的对应关系,对所述三维网格模型进行变形处理,将所述纹理图像渲染至变形处理后的三维网格模型,根据渲染后的三维网格模型生成处理后的图像。
图17所述人脸图像处理装置,与上述人脸处理方法对应。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请实施例提供的人脸图像处理方法可以应用于笔记本、台式电脑、平板电脑、手机、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等具有摄像头的电子设备,本申请实施例对电子设备的具体类型不作任何限制。
图18示出的是与本申请实施例提供的电子设备1800的部分结构的框图。参考图18,电子设备1800包括:存储器1810、摄像头1820、显示单元1830、电源140以及处理器1850等部件。本领域技术人员可以理解,图18中示出的电子设备1800结构并不构成对电子设备1800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图18对电子设备100的各个构成部件进行具体的介绍:
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android***为例,示例性说明电子设备100的软件结构。
图2是本发明实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
所述应用程序层用于运行所安装的应用程序或***中的应用程序,包括如相机、日历、地图、WLAN、音乐、短信息、图库、通话、导航、蓝牙和视频等。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (19)
1.一种人脸图像处理方法,其特征在于,所述人脸图像处理方法包括:
电子设备获取待处理的二维图像,根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型,根据所述待处理的二维图像的拍摄参数获取所述三维网格模型的纹理图,根据所述基准网格的脸部的可见边界确定边界点,以及与所述边界点对应的控制点;
所述电子设备根据预设的变形要求,结合所述边界点与控制点的对应关系,对所述三维网格模型进行变形处理,将所述纹理图像渲染至变形处理后的三维网格模型,根据渲染后的三维网格模型生成处理后的图像。
2.根据权利要求1所述的人脸图像处理方法,其特征在于,所述基准网格包括三维人脸模型基准网格和背景平面基准网格,所述三维网格模型包括三维人脸模型建模网格和背景平面建模网格,电子设备根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型的步骤包括:
电子设备将三维人脸模型基准网格与所述待处理的二维图像拟合,并根据拟合后的三维人脸模型基准网格,获取所述待处理的二维图像的拍摄参数;
根据所述拍摄参数,电子设备对所述三维人脸模型基准网格进行姿态调整,得到三维人脸模型建模网格,所述三维人脸模型建模网格与所述二维图像中的人脸姿态一致。
3.根据权利要求2所述的人脸图像处理方法,其特征在于,所述拍摄参数包括模型视图矩阵和投影矩阵,所述根据所述拍摄参数,所述电子设备对所述三维人脸模型基准网格进行姿态调整的步骤包括:
根据所述模型视图矩阵,电子设备提取旋转分量;
根据所提取的旋转分量,电子设备控制拟合后的三维人脸模型基准网格旋转至所述待处理的二维图像所对应的人脸姿态。
4.根据权利要求2所述的人脸图像处理方法,其特征在于,所述电子设备根据预先设定的基准网格构建所述待处理的二维图像对应的三维网格模型的步骤还包括:
确定姿态调整后的三维人脸模型建模网格中发生位置改变的边界点;
根据发生位置改变的边界点查找对应的控制点,根据所查找的控制点对所述背景平面基准网格进行变形控制。
5.根据权利要求2所述的人脸图像处理方法,其特征在于,所述纹理图包括三维人脸模型网格纹理图和背景平面网格纹理图,所述电子设备根据所述待处理的二维图像的拍摄参数获取所述三维网格模型的纹理图的步骤包括:
根据所述模型视图矩阵和投影矩阵,所述电子设备获取所述三维人脸模型网格纹理图;
根据投影矩阵,以及所述模型视图矩阵中的平移向量和缩放向量,所述电子设备获取所述背景平面网格纹理图。
6.根据权利要求5所述的人脸图像处理方法,其特征在于,所述根据所述模型视图矩阵和投影矩阵,所述电子设备获取所述三维人脸模型网格纹理图的步骤包括:
所述电子设备获取所述三维人脸模型建模网格中的顶点在空间直角坐标系中的坐标,在所述顶点坐标中的z坐标为0时渲染得到第一平面;
所述电子设备根据第一平面的第一像素点的位置与模型视图矩阵、投影矩阵的乘积,确定第一像素点在待处理的二维图像上所对应的第二像素点,根据第二像素点的颜色确定第一像素点的颜色。
7.根据权利要求5所述的人脸图像处理方法,其特征在于,所述根据投影矩阵,以及所述模型视图矩阵中的平移向量和缩放向量,所述电子设备获取所述背景平面网格纹理图的步骤包括:
所述电子设备根据背景平面建模网格确定第二平面,并提取模型视图矩阵中的平移矩阵和缩放矩阵;
所述电子设备根据第二平面的每一个第三像素点的位置与平移矩阵、缩放矩阵和投影矩阵的乘积,确定第三像素点在待处理的二维图像上所对应的第四像素点,根据第四像素点的颜色确定第三像素点的颜色。
8.根据权利要求1-7任一项所述的人脸图像处理方法,其特征在于,所述电子设备对所述三维网格模型进行变形处理的步骤包括:
所述电子设备获取所构建的三维网格模型中的三维人脸模型建模网格的姿态;
所述电子设备根据所构建的三维人脸模型建模网格的姿态与目标姿态的角度关系,旋转所述三维人脸模型建模网格。
9.根据权利要求1-7任一项所述的人脸图像处理方法,其特征在于,所述电子设备根据预设的变形要求,对所述三维人脸模型建模网格进行变形处理的步骤包括:
所述电子设备获取预设的人脸美化参数;
根据所述人脸美化参数,所述电子设备对所述三维网格模型中的三维人脸模型建模网格进行调整。
10.根据权利要求9所述的人脸图像处理方法,其特征在于,所述人脸美化参数包括眼睛大小参数、眼睛间距参数、人脸胖瘦参数、嘴巴大小参数、***参数、脸型参数和鼻翼大小参数中的一种或者多种。
11.根据权利要求1-7任一项所述的人脸图像处理方法,其特征在于,所述电子设备结合所述边界点与控制点的对应关系,对所述三维网格模型进行变形处理的步骤包括:
所述电子设备获取边界点位于所述基准网格中的三维人脸模型基准网格上的第一位置,以及边界点位于所述三维网格模型中的三维人脸模型建模网格上的第二位置;
在第二位置与第一位置的距离大于预定值时,所述电子设备查找所述边界点对应的控制点;
所述电子设备根据所查找的控制点对所述背景平面建模网格进行变形处理。
12.根据权利要求11所述的人脸图像处理方法,其特征在于,所述电子设备根据所查找的控制点对所述背景平面建模网格进行变形处理的步骤包括:
所述电子设备获取所述边界点的坐标位置在背景平面的坐标变化量;
根据所述边界点的坐标位置在背景平面的坐标变化量,所述电子设备确定所述控制点的目标位置;
根据所述目标位置,所述电子设备对背景平面建模网格进行拉普拉斯变形处理。
13.根据权利要求12所述的人脸图像处理方法,其特征在于,根据所述目标位置,所述电子设备对背景平面建模网格进行拉普拉斯变形处理的步骤包括:
所述电子设备获取所述背景平面建模网格上设置的控制点;
根据所设置的控制点,以及控制点的目标位置,所述电子设备对背景平面建模网格进行拉普拉斯变形处理。
14.根据权利要求1所述的所述的人脸图像处理方法,其特征在于,所述基准网格中的三维人脸模型基准网格为通用人脸模型或三维变形模型。
15.根据权利要求1所述的所述的人脸图像处理方法,其特征在于,在所述电子设备获取待处理的二维图像的步骤之前,所述方法还包括:
所述电子设备构建三维人脸模型基准网格和背景平面基准网格;
所述电子设备获取三维人脸模型基准网格中的脸部区域;
根据所述脸部区域的可见边界,所述电子设备确定边界点和控制点的位置。
16.根据权利要求1所述的人脸图像处理方法,其特征在于,所述电子设备获取待处理的二维图像的步骤包括:
所述电子设备根据摄像头所采集的视频中实时提取视频帧,将所提取的视频帧作为待处理的二维图像;
或者,所述电子设备将摄像头所拍摄的照片作为待处理的二维图像。
17.一种电子设备,其特征在于,所述电子设备包括存储器、处理屏和计算机程序,所述显示屏用于处理后的图像,所述计算机程序存储在所述存储器中,所述计算机程序包括指令,当所述指令被所述电子设备执行时,使得所述电子设备执行权利要求1至16任一项所述人脸图像处理方法。
18.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述人脸图像处理方法。
19.一种包含指令的计算机程序产品,其特征在于,所述计算机程序产品在电子设备上运行时,使得电子设备执行如权利要求1-16任一项所述的人脸图像处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735963.9A CN112348937A (zh) | 2019-08-09 | 2019-08-09 | 人脸图像处理方法及电子设备 |
PCT/CN2020/105873 WO2021027585A1 (zh) | 2019-08-09 | 2020-07-30 | 人脸图像处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910735963.9A CN112348937A (zh) | 2019-08-09 | 2019-08-09 | 人脸图像处理方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112348937A true CN112348937A (zh) | 2021-02-09 |
Family
ID=74366971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910735963.9A Pending CN112348937A (zh) | 2019-08-09 | 2019-08-09 | 人脸图像处理方法及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112348937A (zh) |
WO (1) | WO2021027585A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223188A (zh) * | 2021-05-18 | 2021-08-06 | 浙江大学 | 一种视频人脸胖瘦编辑方法 |
CN113628322A (zh) * | 2021-07-26 | 2021-11-09 | 阿里巴巴(中国)有限公司 | 图像处理、ar显示与直播方法、设备及存储介质 |
CN115223022A (zh) * | 2022-09-15 | 2022-10-21 | 平安银行股份有限公司 | 一种图像处理方法、装置、存储介质及设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11810256B2 (en) | 2021-11-11 | 2023-11-07 | Qualcomm Incorporated | Image modification techniques |
CN114298891A (zh) * | 2021-12-29 | 2022-04-08 | 广州久邦世纪科技有限公司 | 一种基于OpenGL ES架构的图片处理方法 |
CN117808943B (zh) * | 2024-02-29 | 2024-07-05 | 天度(厦门)科技股份有限公司 | 一种三维卡通人脸重建方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020049504A (ko) * | 2000-12-19 | 2002-06-26 | 호창성 | 2차원 얼굴 정면 이미지를 이용한 3차원 얼굴 모델 생성방법 |
CN101739719A (zh) * | 2009-12-24 | 2010-06-16 | 四川大学 | 二维正面人脸图像的三维网格化方法 |
WO2012117729A1 (ja) * | 2011-03-03 | 2012-09-07 | パナソニック株式会社 | 追体験映像を提供することができる映像提供装置、映像提供方法、映像提供プログラム |
CN107392984A (zh) * | 2017-07-26 | 2017-11-24 | 厦门美图之家科技有限公司 | 一种基于人脸图像生成动画的方法及计算设备 |
CN108305312A (zh) * | 2017-01-23 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 3d虚拟形象的生成方法和装置 |
CN109377557A (zh) * | 2018-11-26 | 2019-02-22 | 中山大学 | 基于单帧人脸图像的实时三维人脸重建方法 |
CN109697688A (zh) * | 2017-10-20 | 2019-04-30 | 虹软科技股份有限公司 | 一种用于图像处理的方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103208133B (zh) * | 2013-04-02 | 2015-08-19 | 浙江大学 | 一种图像中人脸胖瘦的调整方法 |
CN104978764B (zh) * | 2014-04-10 | 2017-11-17 | 华为技术有限公司 | 三维人脸网格模型处理方法和设备 |
US11087536B2 (en) * | 2017-08-31 | 2021-08-10 | Sony Group Corporation | Methods, devices and computer program products for generation of mesh in constructed 3D images |
-
2019
- 2019-08-09 CN CN201910735963.9A patent/CN112348937A/zh active Pending
-
2020
- 2020-07-30 WO PCT/CN2020/105873 patent/WO2021027585A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020049504A (ko) * | 2000-12-19 | 2002-06-26 | 호창성 | 2차원 얼굴 정면 이미지를 이용한 3차원 얼굴 모델 생성방법 |
CN101739719A (zh) * | 2009-12-24 | 2010-06-16 | 四川大学 | 二维正面人脸图像的三维网格化方法 |
WO2012117729A1 (ja) * | 2011-03-03 | 2012-09-07 | パナソニック株式会社 | 追体験映像を提供することができる映像提供装置、映像提供方法、映像提供プログラム |
CN108305312A (zh) * | 2017-01-23 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 3d虚拟形象的生成方法和装置 |
CN107392984A (zh) * | 2017-07-26 | 2017-11-24 | 厦门美图之家科技有限公司 | 一种基于人脸图像生成动画的方法及计算设备 |
CN109697688A (zh) * | 2017-10-20 | 2019-04-30 | 虹软科技股份有限公司 | 一种用于图像处理的方法和装置 |
CN109377557A (zh) * | 2018-11-26 | 2019-02-22 | 中山大学 | 基于单帧人脸图像的实时三维人脸重建方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113223188A (zh) * | 2021-05-18 | 2021-08-06 | 浙江大学 | 一种视频人脸胖瘦编辑方法 |
CN113628322A (zh) * | 2021-07-26 | 2021-11-09 | 阿里巴巴(中国)有限公司 | 图像处理、ar显示与直播方法、设备及存储介质 |
CN113628322B (zh) * | 2021-07-26 | 2023-12-05 | 阿里巴巴(中国)有限公司 | 图像处理、ar显示与直播方法、设备及存储介质 |
CN115223022A (zh) * | 2022-09-15 | 2022-10-21 | 平安银行股份有限公司 | 一种图像处理方法、装置、存储介质及设备 |
CN115223022B (zh) * | 2022-09-15 | 2022-12-09 | 平安银行股份有限公司 | 一种图像处理方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2021027585A1 (zh) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111738220B (zh) | 三维人体姿态估计方法、装置、设备及介质 | |
US11189104B2 (en) | Generating 3D data in a messaging system | |
US11961189B2 (en) | Providing 3D data for messages in a messaging system | |
WO2021027585A1 (zh) | 人脸图像处理方法及电子设备 | |
CN113205568B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20130101164A1 (en) | Method of real-time cropping of a real entity recorded in a video sequence | |
CN103731583B (zh) | 用于拍照智能化合成、打印处理方法 | |
EP3992919B1 (en) | Three-dimensional facial model generation method and apparatus, device, and medium | |
WO2019024853A1 (zh) | 一种图像处理方法、装置及存储介质 | |
Liu et al. | Real-time robust vision-based hand gesture recognition using stereo images | |
CN111971713A (zh) | 使用图像和时间跟踪神经网络进行的3d面部捕获和修改 | |
JP7483301B2 (ja) | 画像処理及び画像合成方法、装置及びコンピュータプログラム | |
KR102353556B1 (ko) | 사용자 얼굴기반 표정 및 포즈 재현 아바타 생성장치 | |
CN116048244B (zh) | 一种注视点估计方法及相关设备 | |
US20220319231A1 (en) | Facial synthesis for head turns in augmented reality content | |
CN115668300A (zh) | 利用纹理解析的对象重建 | |
WO2023066120A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113706678A (zh) | 获取虚拟形象的方法、装置、设备及计算机可读存储介质 | |
CN112766215A (zh) | 人脸融合方法、装置、电子设备及存储介质 | |
CN116563506A (zh) | 直播场景下基于xr设备的三维表情人脸还原方法、***及设备 | |
Elgharib et al. | Egoface: Egocentric face performance capture and videorealistic reenactment | |
CN116452745A (zh) | 手部建模、手部模型处理方法、设备和介质 | |
CN117132515A (zh) | 一种图像处理方法及电子设备 | |
CN114241127A (zh) | 全景图像生成方法、装置、电子设备和介质 | |
CN111652023B (zh) | 嘴型的调整、直播方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |