CN114565532A - 视频美颜处理方法、装置、存储介质与电子设备 - Google Patents
视频美颜处理方法、装置、存储介质与电子设备 Download PDFInfo
- Publication number
- CN114565532A CN114565532A CN202210189813.4A CN202210189813A CN114565532A CN 114565532 A CN114565532 A CN 114565532A CN 202210189813 A CN202210189813 A CN 202210189813A CN 114565532 A CN114565532 A CN 114565532A
- Authority
- CN
- China
- Prior art keywords
- key frame
- face
- image
- face image
- video
- 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 24
- 239000011159 matrix material Substances 0.000 claims abstract description 132
- 238000012545 processing Methods 0.000 claims abstract description 132
- 230000008859 change Effects 0.000 claims abstract description 90
- 238000013528 artificial neural network Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000003796 beauty Effects 0.000 claims description 162
- 230000001815 facial effect Effects 0.000 claims description 43
- 230000009466 transformation Effects 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 37
- 238000005192 partition Methods 0.000 claims description 18
- 238000006073 displacement reaction Methods 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 210000000887 face Anatomy 0.000 description 30
- 230000006870 function Effects 0.000 description 25
- 238000004364 calculation method Methods 0.000 description 19
- 230000000694 effects Effects 0.000 description 19
- 230000007547 defect Effects 0.000 description 18
- 238000012549 training Methods 0.000 description 14
- 230000003313 weakening effect Effects 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 230000004927 fusion Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000016776 visual perception Effects 0.000 description 4
- 206010027145 Melanocytic naevus Diseases 0.000 description 3
- 208000007256 Nevus Diseases 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000002537 cosmetic Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000002874 Acne Vulgaris Diseases 0.000 description 1
- 206010000496 acne Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000011166 aliquoting Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010008 shearing 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
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本公开提供一种视频美颜处理方法、装置、存储介质与电子设备,涉及图像与视频处理技术领域。该方法包括:获取待处理视频,检测待处理视频中的人脸;根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像;通过预先训练的深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵;利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到待处理视频对应的美颜视频。本公开降低了视频美颜处理的算力资源开销。
Description
技术领域
本公开涉及图像与视频处理技术领域,尤其涉及一种视频美颜处理方法、视频美颜处理装置、计算机可读存储介质与电子设备。
背景技术
美颜是指利用图像处理技术对图像或视频中的人像进行美化处理,以更好地满足用户的审美需求。
在视频美颜处理中,通常对视频中的每一帧图像均进行美颜处理,需要较高的算力资源开销,可能导致设备的高功耗,或者影响视频美颜处理的时效性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种视频美颜处理方法、视频美颜处理装置、计算机可读存储介质与电子设备,进而至少在一定程度上降低视频美颜处理的算力资源开销。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种视频美颜处理方法,包括:获取待处理视频,检测所述待处理视频中的人脸;根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像;通过预先训练的深度神经网络对所述关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成所述关键帧人脸图像的信息矩阵,所述三维网格是对所述关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的;利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到所述待处理视频对应的美颜视频。
根据本公开的第二方面,提供一种视频美颜处理装置,包括:数据获取模块,被配置为获取待处理视频,检测所述待处理视频中的人脸;图像提取模块,被配置为根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像;信息矩阵生成模块,被配置为通过预先训练的深度神经网络对所述关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成所述关键帧人脸图像的信息矩阵,所述三维网格是对所述关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的;美颜处理模块,被配置为利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到所述待处理视频对应的美颜视频。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的视频美颜处理方法及其可能的实施方式。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的视频美颜处理方法及其可能的实施方式。
本公开的技术方案具有以下有益效果:
一方面,通过深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,可以对非关键帧人脸图像复用关键帧人脸图像的信息矩阵,无需通过深度神经网络对非关键帧人脸图像进行处理,简化了对非关键帧人脸图像进行美颜处理的过程;并且,深度神经网络用于输出信息矩阵,而不直接输出美颜后的图像,由此减少了深度神经网络的计算量,有利于实现轻量化的网络。因此,本方案降低了视频美颜处理的算力资源开销与实现成本,提高了视频美颜处理的响应速度,有利于应用在直播视频美颜等时效性需求较高的场景。另一方面,通过对关键帧人脸图像的信息矩阵的复用,能够提升关键帧人脸图像与非关键帧人脸图像间的人脸美颜效果一致性,改善画面闪动的现象。再一方面,通过深度神经网络的处理实现去瑕疵或其他美颜功能,以替代固定的多个算法流程,增加了美颜处理的灵活性,适用于多样的光照条件或皮肤状况,改善了美颜效果,并且降低了耗时与内存占用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种系统架构的示意图;
图2示出本示例性实施方式中一种视频美颜处理方法的流程图;
图3示出本示例性实施方式中确定关键帧与非关键帧的示意图;
图4示出本示例性实施方式中对原始人脸子图像进行组合的示意图;
图5示出本示例性实施方式中深度神经网络的结构图以及对关键帧人脸图像进行美颜处理的示意图;
图6示出本示例性实施方式中一种视频美颜处理方法的子流程图;
图7示出本示例性实施方式中以美颜人脸图像替换待处理视频的原始图像帧中的人脸的示意图;
图8示出本示例性实施方式中一种视频美颜处理方法的示意性流程图;
图9示出本示例性实施方式中一种视频美颜处理装置的结构示意图;
图10示出本示例性实施方式中一种电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
精细化美颜处理所需的计算量一般较高。而在视频美颜处理中,通常需要对每一帧进行美颜处理。相关技术的一种方案中,为降低视频美颜处理的计算量,大多采用较为简易的美颜处理方式,例如进行全局磨皮,不进行人像去瑕疵或采用简易的去瑕疵处理,等等。显然,该方案无法保证美颜质量。
此外,在视频美颜处理中,对于不同帧中的同一张人脸,经常存在美颜效果不一致的问题,呈现出画面闪动的现象,影响美颜后的视觉感受。
鉴于上述一个或多个问题,本公开的示例性实施方式提供一种视频美颜处理方法。下面结合图1对本示例性实施方式运行环境的系统架构与应用场景进行示例性说明。
图1示出了系统架构的示意图,该系统架构100可以包括终端110与服务器120。其中,终端110可以是智能手机、平板电脑、台式电脑、笔记本电脑等终端设备,服务器120泛指提供本示例性实施方式中视频美颜处理相关服务的后台系统,可以是一台服务器或多台服务器形成的集群。终端110与服务器120之间可以通过有线或无线的通信链路形成连接,以进行数据交互。
在一种实施方式中,终端110可以拍摄或者通过其他方式获取待处理视频,将其上传至服务器120。例如,用户在终端110上打开美颜处理相关App(Application,应用程序,美颜处理相关App如美颜相机、视频直播App、具有视频通话功能的App等),从相册中选取待处理视频,或者实时拍摄待处理视频,将其上传至服务器120以进行美颜处理。服务器120执行上述视频美颜处理方法,以得到经过美颜处理的视频,并返回终端110。
在一种实施方式中,服务器120可以执行对深度神经网络的训练,将经过训练的深度神经网络发送至终端110进行部署,例如将该深度神经网络的相关数据打包在上述美颜处理相关App的更新包中,使终端110通过更新App而获得该深度神经网络并部署在本地。进而,终端110在拍摄或者通过其他方式获取待处理视频后,可以通过执行上述视频美颜处理方法,调用该深度神经网络实现视频的美颜处理。
在一种实施方式中,可以由终端110执行对深度神经网络的训练,例如从服务器120处获取深度神经网络的基本架构,通过本地的数据集进行训练,或者从服务器120处获取数据集,对本地构建的深度神经网络进行训练,或者完全不依赖服务器120而训练得到深度神经网络。进而,终端110可以通过执行上述视频美颜处理方法,调用该深度神经网络实现视频的美颜处理。
由上可知,本示例性实施方式中的视频美颜处理方法的执行主体可以是上述终端110或服务器120,本公开对此不做限定。
下面结合图2对本示例性实施方式中的视频美颜处理方法进行说明,图2示出了该视频美颜处理方法的示例性流程,可以包括:
步骤S210,获取待处理视频,检测待处理视频中的人脸;
步骤S220,根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像;
步骤S230,通过预先训练的深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,三维网格是对关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的;
步骤S240,利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到待处理视频对应的美颜视频。
基于上述方法,一方面,通过深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,可以对非关键帧人脸图像复用关键帧人脸图像的信息矩阵,无需通过深度神经网络对非关键帧人脸图像进行处理,简化了对非关键帧人脸图像进行美颜处理的过程;并且,深度神经网络用于输出信息矩阵,而不直接输出美颜后的图像,由此减少了深度神经网络的计算量,有利于实现轻量化的网络。因此,本方案降低了视频美颜处理的算力资源开销与实现成本,提高了视频美颜处理的响应速度,有利于应用在直播视频美颜等时效性需求较高的场景。另一方面,通过对关键帧人脸图像的信息矩阵的复用,能够提升关键帧人脸图像与非关键帧人脸图像间的人脸美颜效果一致性,改善画面闪动的现象。再一方面,通过深度神经网络的处理实现去瑕疵或其他美颜功能,以替代固定的多个算法流程,增加了美颜处理的灵活性,适用于多样的光照条件或皮肤状况,改善了美颜效果,并且降低了耗时与内存占用。
下面对图2中的每个步骤做具体说明。
参考图2,在步骤S210中,获取待处理视频,检测待处理视频中的人脸。
待处理视频是需要进行美颜处理的视频。应当理解,视频美颜处理可以是视频处理中的一个环节,此外还可以进行其他方面的视频处理,如去模糊、去噪、色彩增强等。本公开对于视频美颜处理与其他视频处理的先后顺序不做限定。例如,视频美颜处理可以是视频处理中的第一个环节,则待处理视频可以是原始视频;视频美颜处理可以是视频处理中的最后一个环节,则待处理视频可以是经过去模糊、去噪、色彩增强等处理后的视频。
本示例性实施方式中,待处理视频本质上是一段图像帧序列,例如通过连拍模式拍摄的多张图像,也可以视为待处理视频。待处理视频可以是当前实时拍摄或实时接收的视频流,也可以是已完成拍摄或接收的完整视频,如本地存储的一段视频。本公开对于视频帧率、图像分辨率等参数不做限定,例如视频帧率可以采用30fps(帧每秒)、60fps、120fps等,图像分辨率可以采用720P、1080P、4K等以及对应的不同宽高比。
通过检测待处理视频中的人脸,可以获得每一帧图像中的人脸信息。在一种实施方式中,可以对待处理视频中的每一帧图像均进行人脸检测,得到每一帧图像的人脸信息。在另一种实施方式中,可以对待处理视频中的一部分帧进行人脸检测,得到其人脸信息,对于未进行人脸检测的帧,可以复用这部分人脸信息。例如,基于相邻帧之间的帧差信息,将待处理视频的所有帧划分为动态帧与静态帧,如相邻帧之间的帧差值超过预设帧差值时,将相邻帧中的前一帧确定为静态帧,后一帧确定为动态帧,相邻帧之间的帧差值未超过预设帧差值时,两帧均为静态帧。对于动态帧进行人脸检测,得到人脸信息,对于静态帧,可以复用上一动态帧的人脸信息。
人脸信息包括但不限于以下任意一种或多种:人脸的包围盒(用于表示人脸的位置),人脸关键点,性别、年龄等人脸分类信息。其中,包围盒(Bounding Box)是指图像中包围人脸、且具有一定几何形状的区域,本公开对于包围盒的形状不做限定,如可以是矩形、梯形等任意形状。
在一种实施方式中,将初始检测出的人脸区域包围盒称为基础包围盒,例如可以是包含人脸的最小包围盒、或者通过相关算法得到的人脸框。对基础包围盒进行优化,例如扩展、位置修正等,将优化后的包围盒称为稳定包围盒。在步骤S210中,可以检测得到待处理视频的每一帧图像中人脸的稳定包围盒,通过稳定包围盒来表示人脸的位置。
在一种实施方式中,可以将待处理视频的每一帧图像中的人脸与前序帧中的人脸进行匹配,根据匹配结果确定每一帧图像中的人脸的稳定包围盒。
其中,可以首先对每一帧图像进行人脸检测。本公开对于人脸检测算法不做限定,例如可以通过特定的神经网络检测人脸关键点,包括脸部边界的关键点,根据脸部边界的关键点生成人脸的基础包围盒。
其次,可以将每一帧图像中的人脸与其前序帧中的人脸进行匹配。为便于说明,将当前匹配的一帧图像记为待匹配帧,其前序帧可以是位于其之前,已确定人脸的稳定包围盒或者已完成美颜处理的任一帧图像,例如在对待处理视频进行逐帧美颜处理时,可以将待匹配帧的上一帧作为前序帧。通待匹配帧与前序帧中的人脸,可以基于前序帧中的人脸的稳定包围盒,确定待匹配帧中的人脸的稳定包围盒。
在一种实施方式中,上述将待处理视频的每一帧图像中的人脸与前序帧中的人脸进行匹配,根据匹配结果确定每一帧图像中的人脸的稳定包围盒,可以包括以下步骤:
检测待匹配帧中的人脸,记为待确定人脸,将待确定人脸与待匹配帧的前序帧中的已确定人脸进行匹配;
如果上述待确定人脸与已确定人脸匹配不成功,则根据第一扩展参数对待确定人脸的基础包围盒进行扩展,得到待确定人脸的稳定包围盒;
如果上述待确定人脸与已确定人脸匹配成功,则根据已确定人脸的稳定包围盒确定待确定人脸的稳定包围盒。
其中,待确定人脸是指需要进行美颜、但未被确定稳定包围盒的人脸,可视为身份未知的人脸,已确定人脸是指已被确定稳定包围盒的人脸,可视为身份已知的人脸。前序帧中已被确定稳定包围盒的人脸均为已确定人脸。相对应的,待匹配帧中所检测出的人脸为未被确定稳定包围盒的人脸,即待确定人脸。将待匹配帧中的待确定人脸与前序帧中的已确定人脸进行匹配,可以推断待确定人脸的稳定包围盒与该待确定人脸匹配的已确定人脸的稳定包围盒之间具有相关性,可以由此确定待确定人脸的稳定包围盒。
一般的,通过人脸检测算法可以在待匹配帧中检测出所有的人脸,其中可能包括不需要美颜的人脸(例如远处路人的人脸),考虑到在视频美颜的场景中,通常需要对较大的人脸进行美颜(较小的人脸美颜后效果不明显),因此可以通过人脸面积阈值对所检测出的人脸进行过滤。在一种实施方式中,可以根据经验或者待匹配帧的大小,设置人脸面积阈值,示例性的,人脸面积阈值可以是待匹配帧的尺寸*0.05;如果人脸的基础包围盒的面积大于或等于人脸面积阈值,则为需要美颜的人脸,可以将该人脸的基础包围盒等信息予以保留,也可以将该人脸记为待确定人脸;如果人脸的基础包围盒的面积小于人脸面积阈值,则为不需要美颜的人脸,可以删除该人脸的基础包围盒等相关信息,不对其进行后续处理。
在一种实施方式中,为便于后续的美颜处理,例如对每一帧图像中的人脸组合后进行美颜处理,可以设置每一帧图像中的人脸数量上限。或者考虑到设备性能的限制,避免对过多的人脸进行美颜处理,也可以设置每一帧图像中的人脸数量上限。如可以设置为4,如果经过上述人脸面积阈值的过滤后,所保留的人脸的数量大于4,则可以从中进一步筛选出4张待确定人脸,如可以是面积最大的4张人脸,也可以是距离待匹配帧的中心最近的4张人脸,这样在后续无需对其他人脸进行美颜处理。
在一种实施方式中,为便于跟踪与识别待处理视频中的人脸,可以对每一张人脸分配ID(Identity Document,标识)。例如,从第一帧开始,为每一张人脸分配ID;后续在每一帧图像中检测出人脸后,将每一张人脸与上一帧图像中的人脸进行匹配;如果匹配成功,则继承上一帧图像中的人脸ID与其他相关信息;如果匹配不成功,则作为新的人脸,分配新的ID。
本公开对于匹配待确定人脸与已确定人脸的方式不做限定,例如可以采用人脸识别算法,将每一张待确定人脸与每一张已确定人脸进行识别比对,如果相似度高于预设的相似度阈值,则确定待确定人脸与已确定人脸匹配成功。
在一种实施方式中,可以根据待确定人脸的基础包围盒与已确定人脸的基础包围盒的重叠度(Intersection Over Union,IOU,也称为交并比),确定待确定人脸与已确定人脸是否匹配成功。下面提供计算重叠度的示例性方式:
获取待确定人脸的基础包围盒在待匹配帧中的位置,以及已确定人脸的基础包围盒在前序帧中的位置,统计两个基础包围盒中位置重合的像素点数量,记为k1,以及位置不重合的像素点数量,记为k2(表示待确定人脸的基础包围盒中与已确定人脸的基础包围盒不重合的像素点数量)与k3(表示已确定人脸的基础包围盒中与未确定人脸的基础包围盒不重合的像素点数量),则两个基础包围盒的重叠度为:
在确定重叠度后,如果该重叠度达到预设的重叠度阈值,则确定该待确定人脸与该已确定人脸匹配成功。重叠度阈值可以根据经验与实际需求设定,例如可以设为0.75。
此外,还可以通过ICP(Iterative Closest Point,迭代最近邻点)算法等对待确定人脸的基础包围盒与已确定人脸的基础包围盒中的任一个进行迭代变换,并根据最终变换后的待确定人脸的基础包围盒与已确定人脸的基础包围盒中像素值相同的像素点数量与像素值不同的像素点数量计算两个基础包围盒的重叠度,由此判断是否匹配成功。
需要说明的是,由于待匹配帧中可能存在多个待确定人脸,前序帧中存在多个已确定人脸,可以分别对每一张待确定人脸与每一张已确定人脸进行匹配计算,得到相似度矩阵或重叠度矩阵,进而可以采用匈牙利算法等实现全局的最大匹配,再根据每一对待确定人脸与已确定人脸的相似度或重叠度确定其是否匹配成功。
待确定人脸与已确定人脸匹配不成功,说明该待确定人脸是待处理视频中新出现的人脸,无法从前序帧中获得参考信息。因此可以在该待确定人脸的基础包围盒基础上,进行适当的扩展,得到稳定包围盒。第一扩展参数为针对新出现人脸的基础包围盒的扩展参数,可以根据经验或实际需求确定,例如第一扩展参数可以是1.25,表示将基础包围盒的宽度与高度均扩展到1.25倍。
假设待确定人脸的基础包围盒表示为[bb0,bb1,bb2,bb3],bb0为基础包围盒左上点的横坐标,bb1为基础包围盒左上点的纵坐标,bb2为基础包围盒右下点的横坐标,bb3为基础包围盒右下点的纵坐标,该基础包围盒的宽度为w,高度为h。请注意,图像中的像素坐标通常是以图像左上点为(0,0),右下点为(Wmax,Hmax),Wmax与Hmax表示图像的宽度与高度。因此有bb0<bb2,bb1<bb3。以expand_alpha1表示第一扩展参数,当根据第一扩展参数对该基础包围盒进行中心扩展(即上下左右均匀扩展)时,可以得到稳定包围盒的尺寸为:
其中,expand_w与expand_h分别为待确定人脸的稳定包围盒的宽度与高度。在一种实施方式中,如果扩展后的宽度expand_w超出待匹配帧的宽度Wmax,则expand_w=Wmax;如果扩展后的高度expand_h超出待匹配帧的高度Hmax,则expand_h=Hmax。
稳定包围盒的中心点坐标等于基础包围盒的中心点坐标,即:
其中,center_x表示待确定人脸的稳定包围盒的中心点x坐标,center_y表示待确定人脸的稳定包围盒的中心点y坐标。公式(3)表明稳定包围盒的中心点与基础包围盒的中心点保持一致。
则可以计算稳定包围盒的左上点与右下点的坐标如下:
其中,expand_bb0为稳定包围盒左上点的横坐标,expand_bb1为稳定包围盒左上点的纵坐标,expand_bb2为稳定包围盒右下点的横坐标,expand_bb3为稳定包围盒右下点的纵坐标。由此得到待确定人脸的稳定包围盒。在一种实施方式中,如果计算出的坐标超出了待匹配帧的边界,则以待匹配帧的边界坐标替代该超出边界的坐标。最终可以将该扩展包围表示为[expand_bb0,expand_bb1,expand_bb2,expand_bb3]的形式。
需要补充的是,上述各坐标通常采用图像中的像素坐标,为整数,因此在计算时,可以采用float型数据进行计算,然后进行取整,并将结果保存为int型数据。示例性的,在涉及到除法运算时,采用float型数据进行计算并缓存中间结果,在计算最终的结果(包括上述expand_w、expand_h、center_x、center_y、expand_bb0、expand_bb1、expand_bb2、expand_bb3)时进行取整,并以int型数据进行保存。
对于中心点坐标,由于保存int型数据会影响后续处理其他帧的精确性,可以保存int型与float型数据,例如将公式(3)中计算的结果保存为float型数据,如下所示:
其中,center_x_float、center_y_float表示以float型数据所保存的中心点坐标,center_x、center_y表示以int型数据所保存的中心点坐标,int()表示取整运算。在一种实施方式中,可以将int()替换为Round(),表示四舍五入取值。
进一步的,为保证结果的准确性,可以将公式(4)更改为如下计算方法:
由此降低小数部分对于准确性的影响。
一般的,待匹配帧中的待确定人脸相对于与之匹配的前序帧中的已确定人脸来说,变化不会太大,体现为位置变化与尺寸变化均不会太大,因此可以在已确定人脸的稳定包围盒的基础上,进行适当的位置变化与尺寸变化,得到待确定人脸的稳定包围盒。
在一种实施方式中,可以根据待确定人脸的基础包围盒相对于已确定人脸的基础包围盒的位置变化参数与尺寸变化参数,对该已确定人脸的稳定包围盒进行位置变化与尺寸变化,得到该待确定人脸的稳定包围盒。
在一种实施方式中,上述根据已确定人脸的稳定包围盒确定待确定人脸的稳定包围盒,可以包括以下步骤:
将已确定人脸的稳定包围盒的中心点作为待确定人脸的稳定包围盒的中心点。
也就是说,从前序帧到待匹配帧,同一张人脸的稳定包围盒的中心点可以保持一致。
示例性的,考虑到小数部分的影响,可以通过以下公式(7)计算待确定人脸的稳定包围盒的中心点坐标:
在一种实施方式中,上述根据已确定人脸的稳定包围盒确定待确定人脸的稳定包围盒,可以包括以下步骤:
基于预设稳定系数,对已确定人脸的稳定包围盒的中心点坐标与待确定人脸的基础包围盒的中心点坐标进行加权,得到待确定人脸的稳定包围盒的中心点坐标。
上述步骤表示将已确定人脸的稳定包围盒的位置与待确定人脸的基础包围盒的位置进行融合,以作为待确定人脸的稳定包围盒的位置。在融合时,采用预设稳定系数对两者的中心点坐标进行加权,预设稳定系数可以是已确定人脸的稳定包围盒的权重,可以根据经验或实际场景确定。一般的,人脸移动越快的场景,预设稳定系数越小。示例性的,在直播场景中,人脸通常在一定的范围内移动幅度很小,预设稳定系数可以设为0.9,则计算待确定人脸的稳定包围盒的中心点坐标如下:
其中,pre_center_x表示已确定人脸的稳定包围盒的中心点x坐标,pre_center_y表示已确定人脸的稳定包围盒的中心点y坐标。可见,公式(8)表示以已确定人脸的稳定包围盒的中心点坐标权重为0.9,待确定人脸的基础包围盒的中心点坐标权重为0.1,对两个中心点坐标进行加权,得到待确定人脸的稳定包围盒的中心点坐标。
与上述公式(5)类似的,可以保存int型与float型数据中心点坐标,则有:
其中,pre_center_x_float是已保存的pre_center_x的float型数据,pre_center_y_float是已保存的pre_center_y的float型数据。
通过上述加权以计算中心点坐标的方式,实质上采用了对中心点坐标进行动量更新的机制,能够避免同一张人脸的稳定包围盒的中心点坐标从前序帧到待匹配帧出现过度移动,以导致后续截取的原始人脸子图像发生抖动,影响美颜效果。
在一种实施方式中,上述根据已确定人脸的稳定包围盒确定待确定人脸的稳定包围盒,可以包括以下步骤:
如果待确定人脸的基础包围盒的尺寸大于已确定人脸的稳定包围盒的尺寸与第一倍率之积,则根据第二扩展参数对已确定人脸的稳定包围盒的尺寸进行扩展,得到待确定人脸的稳定包围盒的尺寸;
如果待确定人脸的基础包围盒的尺寸小于已确定人脸的稳定包围盒的尺寸与第二倍率之积,则根据第三扩展参数对已确定人脸的稳定包围盒的尺寸进行缩小,得到待确定人脸的稳定包围盒的尺寸;第一倍率大于第二倍率;
如果待确定人脸的基础包围盒的尺寸小于已确定人脸的稳定包围盒的尺寸与第一倍率之积、且大于已确定人脸的稳定包围盒的尺寸与第二倍率之积,则将已确定人脸的稳定包围盒的尺寸作为待确定人脸的稳定包围盒的尺寸。
上述步骤表示根据待确定人脸的基础包围盒的尺寸与已确定人脸的稳定包围盒的尺寸的比较结果,分为三种情况分别进行计算。第一倍率与第二倍率可以是整数倍率,也可以是非整数倍率。在一种实施方式中,第一倍率大于或等于1,第二倍率小于1。示例性的,第一倍率可以是1,第二倍率可以是第一扩展参数的平方倒数,如expand_alpha1=1.25,则第二倍率t2=1/1.252=0.64。
在进行计算时,可以对宽度与高度分别进行比较与计算,例如宽度的比较结果属于上述第一种情况,高度的比较结果属于第二种情况,则分别在两种情况下计算待确定人脸的稳定包围盒的宽度与高度。
假设第一倍率为t1,第二倍率为t2,对宽度的计算进行说明:
第一种情况、如果w>pre_expand_w·t1,以expand_alpha2表示第二扩展参数,则有:
expand_w=pre_expand_w·expand_alpha2 (10)
第二种情况、如果w<pre_expand_w·t2,以expand_alpha3表示第三扩展参数,则有:
expand_w=pre_expand_w·expand_alpha3 (11)
第三种情况、如果pre_expand_w·t2<w<pre_expand_w·t1,则有:
expand_w=pre_expand_w (12)
对于高度,同样可以按照上述三种情况分别进行计算,得到expand_h。
一般的,在视频连续多帧图像中,只要人脸不快速靠近镜头、不快速远离镜头或者不移出画面,人脸的尺寸不会发生剧烈变化,则满足上述第三种情况,此时使待确定人脸的稳定包围盒的尺寸等于已确定人脸的稳定包围盒的尺寸,即保持稳定包围盒的尺寸不变。而上述第一种情况与第二种情况均是人脸的尺寸发生剧烈变化的情况,第一种情况是人脸剧烈变大,此时根据第二扩展参数适当扩大已确定人脸的稳定包围盒的尺寸,得到待确定人脸的稳定包围盒的尺寸,第二扩展参数可以根据经验与实际场景确定;第二种情况是人脸剧烈变小,此时根据第三扩展参数适当缩小已确定人脸的稳定包围盒的尺寸,得到待确定人脸的稳定包围盒的尺寸,第三扩展参数可以根据经验与实际场景确定。
在一种实施方式中,如果扩展后的宽度expand_w超出待匹配帧的宽度Wmax,则expand_w=Wmax;如果扩展后的高度expand_h超出待匹配帧的高度Hmax,则expand_h=Hmax。
通过上述三种情况的计算,能够避免同一张人脸的稳定包围盒的尺寸从前序帧到待匹配帧出现过度变化,以导致人脸发生抖动,影响美颜效果。
分别得到待确定人脸的稳定包围盒的中心点坐标与尺寸后,可以计算出该稳定包围盒的左上点与右下点的坐标,以将稳定包围盒表示为[expand_bb0,expand_bb1,expand_bb2,expand_bb3]的形式。
由上可知,在待确定人脸与已确定人脸匹配成功的情况下,根据已确定人脸的稳定包围盒确定待确定人脸的稳定包围盒,使得待确定人脸在一定程度上继承了已确定人脸的稳定包围盒的信息,从而保证了不同帧之间人脸的稳定包围盒具有一定的连续性与稳定性,不会发生剧烈的位置或尺寸变化,进而保证了后续进行美颜处理时人脸美颜效果的一致性,防止由于人脸的剧烈变化导致美颜后的人脸发生闪动现象。
在一种实施方式中,得到待确定人脸的稳定包围盒后,可以保存其稳定包围盒的相关参数,并将该待确定人脸标记为已确定人脸,以用于后续帧中待确定人脸的匹配与稳定包围盒的确定。
以上说明了如何检测待处理视频中的人脸,包括以稳定包围盒的方式来表示每一帧中的人脸。下面继续参考图2,在步骤S220中,根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像。
每一张人脸在待处理视频中可能出现在不同帧上,可以将这些帧划分为该人脸的关键帧与非关键帧。例如,对于人脸H1,待处理视频中有Z0帧出现过该人脸,可以将该K0帧划分为Z1个关键帧和Z2个非关键帧,满足Z0=Z1+Z2。应当理解,对于不同的人脸,关键帧与非关键帧的划分情况不同,如存在某一帧是某一张人脸的关键帧,却是另一张人脸的非关键帧这样的情况。
关键帧可以是美颜处理时重点关注的帧,非关键帧可以是无需重点关注的帧。本示例性实施方式中,可以根据人脸在不同帧之间的变化可以划分关键帧与非关键帧。一般的,如果某一张人脸在某一帧上出现显著的变化,如位置的变化、表情的变化等,则该帧可以是该人脸的关键帧,如果未出现显著的变化,则该帧可以是该人脸的非关键帧。
在一种实施方式中,可以将待处理视频中出现人脸的第一帧确定为该人脸的关键帧。参考图3进行说明。图3示出了待处理视频的帧序列,包括第1帧、第2帧、第3帧等,在第3帧中首次出现人脸H1,则第3帧是人脸H1的关键帧。
在一种实施方式中,上述根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像,可以包括以下步骤:
响应于人脸在待处理视频中的待处理帧与待处理帧的参考帧之间的变化程度满足预设条件,将待处理帧确定为人脸的关键帧,从关键帧中提取人脸的关键帧人脸图像。
其中,待处理帧可以是当前进行美颜处理的帧,如在实时拍摄视频并进行美颜处理的场景中,待处理帧可以是当前最新拍摄的一帧。
待处理帧的参考帧用于对待处理帧中人脸的变化程度的计算提供参考,其可以是待处理视频中待处理帧的前序帧或前序关键帧。本公开对于参考帧的数量不做限定,例如,可以将待处理帧的上一帧或上一关键帧作为其参考帧,也可以将待处理帧之前的多帧或多个关键帧作为其参考帧。在一种实施方式中,可以将待处理帧的上一关键帧至上一帧均作为待处理帧的参考帧。
参考上述图3举例说明,第3帧是人脸H1的关键帧,在判断后续的第4帧、第5帧等是否为人脸H1的关键帧时,可以将第3帧作为参考帧,计算第4帧、第5帧等相较于第3帧的人脸H1的变化程度。以此逐帧进行判断,判断到第10帧时,如果第10帧相较于第3帧的人脸H1的变化程度满足预设条件,则确定第10帧也是人脸H1的关键帧。后续判断第11帧、第12帧等是否为人脸H1的关键帧时,可以将第10帧作为参考帧。或者,可以将待处理帧的上一关键帧至上一帧均作为待处理帧的参考帧,例如在判断第7帧是否为人脸H1的关键帧时,可以将第3帧(上一关键帧)至第6帧(上一帧)这4帧均作为参考帧。
在一种实施方式中,如果待处理帧中包括多张人脸,则可以对不同人脸分别选取参考帧以计算变化程度并进行判断。示例性的,待处理帧中包括人脸H1、H2,人脸H1的上一关键帧是第3帧,则在判断待处理帧是否为人脸H1的关键帧时,可以将第3帧作为参考帧;人脸H2的上一关键帧是第5帧,则在判断待处理帧是否为人脸H2的关键帧时,可以将第5帧作为参考帧。
在一种实施方式中,在计算人脸在待处理帧与参考帧之间的变化程度时,可以获取人脸在待处理帧中的稳定包围盒以及人脸在参考帧中的稳定包围盒,基于两个稳定包围盒来计算该人脸在两帧之间的变化程度。
预设条件用于判断人脸的变化程度是否较高,进而判断待处理帧是否为人脸的关键帧。通过判断人脸在待处理帧与参考帧之间的变化程度是否满足预设条件来确定人脸的关键帧与非关键帧,可以对待处理视频中的每一帧进行判断,以实现关键帧与非关键帧的精细划分,有利于后续在保证美颜处理质量的情况下降低计算量,提高效率。
本公开对于预设条件的具体内容不做限定。示例性的,人脸在待处理视频中的待处理帧与待处理帧的参考帧之间的变化程度满足预设条件,包括以下至少一种:
①人脸在待处理帧与参考帧之间的尺寸变化值超过第一程度值。
其中,人脸的尺寸可以通过以下一种或多种方式进行表征:人脸的稳定包围盒的尺寸,如稳定包围盒的宽expand_w和高expand_h;人脸关键点之间的距离,如左侧脸部边缘点与右侧脸部边缘点之间的距离,其可以表示人脸的宽度,底部边缘点与额头点之间的距离,其可以表示人脸的高度,等等;人脸的面积,如人脸区域的像素数。第一程度值是针对人脸的尺寸变化值所设定的衡量标准,用于衡量人脸的尺寸变化值是否较大,以判断待处理帧是否为关键帧。第一程度值可以根据经验或实际情况确定。例如,在确定待处理帧中人脸的稳定包围盒时,如果沿用了待处理帧的前序帧中已确定人脸的稳定包围盒的尺寸,则可以设置第一程度值为0或很小的数值,这样在检测到人脸的稳定包围盒在待处理帧与参考帧之间发生尺寸变化(包括宽或高的变化)时,很容易超过第一程度值,从而有利于识别出人脸的变化,将待处理帧确定为人脸的关键帧。
人脸在待处理帧与参考帧之间的尺寸变化值超过第一程度值时,说明在待处理帧中人脸发生了比较显著的尺寸变化,可以将待处理帧作为人脸的关键帧。由此,通常能够检测出人脸与镜头的相对距离或角度发生变化的情况,得到合适的关键帧。
②人脸在待处理帧与参考帧之间的关键点位移值超过第二程度值。
其中,人脸关键点可以包括但不限于以下任意一种或多种:左眼瞳孔中心点、右眼瞳孔中心点、鼻尖中心点、左嘴角点、右嘴角点,等等。人脸的关键点位移值是指人脸关键点在待处理帧中的位置与其在参考帧中的位置之间的距离。其中,人脸关键点的位置可以是人脸关键点在人脸的稳定包围盒内的相对位置,如人脸关键点基于稳定包围盒的基准点(如可以是左上点)的相对位置。人脸的关键点位移值用于表示人脸关键点的位置变化。应当理解,人脸的关键点位移值可以体现人脸本身的移动情况,也可以体现镜头的运动情况(如镜头抖动时导致不同帧之间的人脸发生位移)。第二程度值是针对人脸的关键点位移值所设定的衡量标准,用于衡量人脸的关键点位移值是否较大,以判断待处理帧是否为关键帧。第二程度值可以根据经验或实际情况确定。在一种实施方式中,第二程度值可以是稳定包围盒的尺寸乘以一定的系数。示例性的,稳定包围盒的尺寸为240*240,系数为0.05,则第二程度值可以是240*0.05=12像素。
人脸在待处理帧与参考帧之间的关键点位移值超过第二程度值时,说明在待处理帧中人脸发生了比较显著的关键点位移,可以将待处理帧作为人脸的关键帧。由此,通常能够检测出人脸发生位移或者表情变化的情况,得到合适的关键帧。
在一种实施方式中,可以计算各种人脸关键点在待处理帧与参考帧之间的位移值,并以其中的最大位移值与第二程度值进行比较,与判断待处理帧是否为关键帧。
在一种实施方式中,可以针对不同人脸关键点分别设置第二程度值,在计算每一种人脸关键点在待处理帧与参考帧之间的位移值后,将每一种人脸关键点的位移值与其对应的第二程度值进行比较,如果存在至少一种人脸关键点的位移值超过第二程度值,则判断待处理帧为关键帧,或者如果存在一定数量的人脸关键点的位移值超过第二程度值,则判断待处理帧为关键帧。
③人脸在待处理帧与参考帧之间的颜色变化值超过第三程度值。
其中,人脸的颜色变化值可以通过以下一种或多种方式进行表征:待处理帧中的人脸区域(如人脸的稳定包围盒)与参考帧中的人脸区域的像素差值,该像素差值可以是像素平均绝对差值、主色的差值或像素统计值(如最大值、最小值、平均值、中值)的差值等;待处理帧中的人脸关键点与参考帧中的人脸关键点的像素差值。第三程度值是针对人脸的颜色变化值所设定的衡量标准,用于衡量人脸的颜色变化值是否较大,以判断待处理帧是否为关键帧。第三程度值可以根据经验或实际情况确定。
人脸在待处理帧与参考帧之间的颜色变化值超过第三程度值时,说明在待处理帧中人脸发生了比较显著的颜色变化,可以将待处理帧作为人脸的关键帧。由此,通常能够检测出环境光线变化或人脸本身状态变化的情况,得到合适的关键帧。
需要补充的是,如果选取了待处理帧的多个参考帧,则可以将多个参考帧的相关数据计算平均值或加权平均值,如将多个参考帧中的人脸尺寸、人脸关键点的位置、颜色值等计算平均值或加权平均值。然后计算待处理帧中的人脸相对于该平均值或加权平均值的变化程度。
应当理解,本示例性实施方式可以采用上述任意一种条件,也可以采用多种条件的组合,不同条件之间可以是“与”或者“或”的关系。示例性的,采用上述条件①或条件②,即满足条件①或条件②的任意一种时,将待处理帧确定为人脸的关键帧。
如果人脸在待处理帧与参考帧之间的变化程度不满足预设条件,则将待处理帧确定为人脸的非关键帧。
以上说明了如何划分关键帧与非关键帧。对于非关键帧来说,还可以将其与特定的关键帧形成对应关系,以便于后续复用该关键帧的信息矩阵。一般的,可以将非关键帧对应到与其人脸相近的关键帧。
在一种实施方式中,上述根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像,还可以包括以下步骤:
将相邻两关键帧之间的非关键帧确定为相邻两关键帧中的前一关键帧对应的非关键帧,从非关键帧中提取关键帧人脸图像对应的非关键帧人脸图像。
参考上述图3举例说明,假设人脸H1在待处理视频的第3帧至第155帧中均有出现,其中第3帧、第10帧、第22帧是相邻的三个关键帧,即第4帧至第9帧、第11帧至第21帧均为非关键帧。其中,第4帧至第9帧中的人脸H1相比于第3帧中的人脸H1来说,变化程度通常较低,可以将第4帧至第9帧均确定为第3帧对应的非关键帧,在美颜处理时其可以复用第3帧中人脸H1的美颜相关信息(如信息矩阵)。同理,可以将第11帧至第21帧确定为第10帧对应的非关键帧。由此,将关键帧与非关键帧进行准确对应,有利于后续实现高质量的美颜处理。
在确定人脸的关键帧与非关键帧的情况下,可以基于关键帧提取关键帧人脸图像,基于非关键帧提取非关键帧人脸图像。下面以提取关键帧人脸图像为例进行说明,提取非关键帧人脸图像的方式类似,因而不再赘述。
在一种实施方式中,可以将关键帧整个作为关键帧人脸图像。
在一种实施方式中,可以按照关键帧中人脸的基础包围盒或稳定包围盒截取图像,得到关键帧人脸图像。在按照稳定包围盒提取关键帧人脸图像时,可能存在稳定包围盒的边界超出关键帧的情况,即稳定包围盒的一部分位于关键帧以外的情况。对此,可以仅截取处于关键帧以内的稳定包围盒的图像以作为关键帧人脸图像,也可以截取完整的稳定包围盒的图像,对超出关键帧的部分填充第一预设像素值,第一预设像素值可以是(R0,G0,B0)、(R255,G255,B255)等。
在一种实施方式中,可以从关键帧中提取一张或多张原始人脸子图像(如可以是稳定包围盒内截取的图像),按照深度神经网络的输入图像尺寸对其进行变换与组合,得到关键帧人脸图像。
在一种实施方式中,如果关键帧中包括多张人脸,该关键帧是其中一些人脸的关键帧,是另一些人脸的非关键帧,则可以将对应于关键帧的那些人脸的原始人脸子图像组合为关键帧人脸图像,将对应于非关键帧的那些人脸的原始人脸子图像组合为非关键帧人脸图像。举例来说,待处理视频的第10帧中包括4张人脸,为人脸H1、人脸H2、人脸H3、人脸H4,经过计算每张人脸相较于参考帧的变化程度并判断是否满足预设条件,确定第10帧是人脸H1的关键帧、人脸H2的关键帧、人脸H3的非关键帧、人脸H4的非关键帧。可以从第10帧中分别提取人脸H1、人脸H2、人脸H3、人脸H4的稳定包围盒的图像,得到4张原始人脸子图像,然后将人脸H1的原始人脸子图像与H2的原始人脸子图像组合为一张关键帧人脸图像,将人脸H3的原始人脸子图像和H4的原始人脸子图像组合为一张非关键帧人脸图像。
输入图像尺寸是与深度神经网络的输入层匹配的图像尺寸。可以将原始人脸子图像组合为一张关键帧人脸图像(或非关键帧人脸图像),该关键帧人脸图像的尺寸为输入图像尺寸。本示例性实施方式对于输入图像尺寸的大小以及宽高比不做限定,示例性的,可以设置输入图像尺寸的长边与短边的比例接近
在一种实施方式中,深度神经网络可以是全卷积网络,全卷积网络可以处理不同尺寸的图像。在这种情况下,深度神经网络对于输入的图像尺寸没有要求,尺寸的大小对于计算量、内存占用、美颜精细度有影响。可以根据用户设置的美颜精细度或者设备的性能,确定输入图像尺寸。由此,该深度神经网络可以部署在高、中、低等不同性能的设备上,适用范围很广,无需针对不同的设备部署不同的深度神经网络,降低了网络的训练成本。示例性的,考虑在移动终端上适合进行轻量化计算,可以将输入图像尺寸确定为较小的数值,例如为宽448*高320。
在获取输入图像尺寸后,需要将原始人脸子图像组合为该尺寸大小的关键帧人脸图像。具体组合的方式与人脸子图像的数量相关。在一种实施方式中,可以通过以下步骤生成关键帧人脸图像:
根据人脸子图像的数量,将输入图像尺寸分割为与原始人脸子图像一一对应的子图像尺寸;
分别基于每个子图像尺寸将对应的原始人脸子图像进行变换;
将变换后的原始人脸子图像进行组合,生成关键帧人脸图像。
下面结合图4举例说明。图6中Q表示原始原始人脸子图像的数量,图6分别示出了Q为1~4时的输入图像尺寸分割与图像组合的示例性方式。假设输入图像尺寸为宽448*高320,Q为1时,子图像尺寸也为宽448*高320;Q为2时,子图像尺寸为输入图像尺寸的一半,即宽224*高320;Q为3时,子图像尺寸分别为输入图像尺寸的0.5、0.25、0.25,即宽224*高320、宽224*高160、宽224*高160;Q为4时,子图像尺寸分别均为输入图像尺寸的0.25,即宽224*高160。将各个原始人脸子图像分别变换为与子图像尺寸一致,需要特别说明的是,当各个子图像尺寸不一致时,如Q为3的情况,可以按照原始人脸子图像的大小顺序与子图像尺寸的大小顺序,将原始人脸子图像与子图像尺寸进行一一对应,即最大的原始人脸子图像对应到最大的子图像尺寸,最小的原始人脸子图像对应到最小的子图像尺寸。在将原始人脸子图像进行变换后,再将变换后的原始人脸子图像按照图4所示的方式进行组合,生成一张关键帧人脸图像。
在一种实施方式中,当Q为偶数时,可以将输入图像尺寸进行Q等分,得到Q个相同的子图像尺寸。具体地,可以将Q分解为两个因数的乘积,即Q=q1*q2,使q1/q2的比例与输入图像尺寸的宽高比(如)尽可能接近,将输入图像尺寸的宽度进行q1等分,高度进行q2等分。当Q为奇数时,将输入图像尺寸进行Q+1等分,得到Q+1个相同的子图像尺寸,将其中的两个子图像尺寸合并为一个子图像尺寸,其余Q-1个子图像尺寸不变,由此得到Q个子图像尺寸。
在一种实施方式中,可以先计算原始人脸子图像的尺寸比例(或面积比例),如可以是S1:S2:S3:…:SQ,再按照该比例将输入图像尺寸分割为Q个子图像尺寸。
确定每个原始人脸子图像对应的子图像尺寸后,可以基于子图像尺寸对原始人脸子图像进行变换。在一种实施方式中,上述分别基于每个子图像尺寸将对应的原始人脸子图像进行变换,可以包括以下任意一种或多种变换方式:
变换方式一、当原始人脸子图像的宽度与高度的大小关系与子图像尺寸的宽度与高度的大小关系不同时,将原始人脸子图像旋转90度。也就是说,在原始人脸子图像与子图像尺寸中,均为宽度大于高度或者均为宽度小于高度,则原始人脸子图像与子图像尺寸的宽度与高度的大小关系相同,无需旋转原始人脸子图像;否则,原始人脸子图像与子图像尺寸的宽度与高度的大小关系不同,需要将原始人脸子图像旋转90度(顺时针或逆时针旋转皆可)。例如,子图像尺寸为宽224*高320时,即宽度小于高度,如果原始人脸子图像为宽度大于高度的情况,则将原始人脸子图像旋转90度。
在一种实施方式中,为了保持原始人脸子图像中人脸的角度,也可以不对原始人脸子图像进行旋转。
变换方式二、当原始人脸子图像的尺寸大于子图像尺寸时,根据子图像尺寸将原始人脸子图像进行下采样。其中,原始人脸子图像的尺寸大于子图像尺寸,是指原始人脸子图像的宽度大于子图像尺寸的宽度,或者原始人脸子图像的高度大于子图像尺寸的高度。在视频美颜场景中,待处理视频一般是终端设备拍摄的清晰视频,其图像的尺寸较大,因此原始人脸子图像的尺寸大于子图像尺寸是比较常见的情况,即通常情况下需要对原始人脸子图像进行下采样。
下采样可以采用双线性插值、最近邻插值等方法实现,本公开对此不做限定。
在进行下采样后,原始人脸子图像的宽度与高度中的至少一个与子图像尺寸对齐,具体包括以下几种情况:
原始人脸子图像的宽度、高度均与子图像尺寸相同;
原始人脸子图像的宽度与子图像尺寸的宽度相同,高度小于子图像尺寸的高度;
原始人脸子图像的高度与子图像尺寸的高度相同,宽度小于子图像尺寸的宽度。
需要说明的是,如果已经对原始人脸子图像进行了上述旋转,得到经过旋转的原始人脸子图像,则当该原始人脸子图像的尺寸大于子图像尺寸时,根据子图像尺寸对其进行下采样,具体的实现方式与上述原始人脸子图像的下采样方式相同,因而不再赘述。
反之,当原始人脸子图像(或经过旋转的原始人脸子图像)的尺寸小于或等于子图像尺寸时,可以不进行下采样的处理步骤。
变换方式三、当原始人脸子图像的尺寸小于子图像尺寸时,根据原始人脸子图像与子图像尺寸的差值将原始人脸子图像进行填充,使填充后的原始人脸子图像的尺寸等于子图像尺寸。其中,原始人脸子图像的尺寸小于子图像尺寸,是指原始人脸子图像的宽度与高度中的至少一个小于子图像尺寸,另一个不大于子图像尺寸,具体包括以下几种情况:
原始人脸子图像的宽度小于子图像尺寸的宽度,高度也小于子图像尺寸的高度;
原始人脸子图像的宽度小于子图像尺寸的宽度,高度等于子图像尺寸的高度;
原始人脸子图像的高度小于子图像尺寸的高度,宽度等于子图像尺寸的高度。
可以填充第二预设像素值,可以是与人脸颜色差别较大的像素值,如(R0,G0,B0)、(R255,G255,B255)等。第二预设像素值与上述第一预设像素值没有关系,两者可以相同,也可以不同。
一般可以填充在原始人脸子图像的四周,例如将原始人脸子图像的中心与子图像尺寸的中心重合,对原始人脸子图像四周的差值部分进行填充,使填充后原始人脸子图像的尺寸与子图像尺寸一致。当然也可以将原始人脸子图像与子图像尺寸的一侧边缘对齐,对另一侧进行填充。本公开对此不做限定。
需要说明的是,如果已经对原始人脸子图像进行了上述旋转与下采样中至少一种处理,得到经过旋转与下采样中至少一种处理的原始人脸子图像,则当该原始人脸子图像的尺寸小于子图像尺寸时,根据其与子图像尺寸的差值进行填充,具体的实现方式与上述原始人脸子图像的填充方式相同,因而不再赘述。
上述变换方式一、二、三为常用的三种变换方式,可以根据实际需求使用其中的任意一种或多种。例如,依次采用变换方式一、二、三对每张原始人脸子图像进行处理,将处理后的原始人脸子图像组合为关键帧人脸图像。
在上述变换中,改变了原始人脸子图像的方向、尺寸等,这是为了便于深度神经网络的统一处理。后续还需要对美颜后的人脸图像进行逆变换,使其恢复为与原始人脸子图像的方向、尺寸等一致,以适应原待处理视频。因此,可以保存相应的变换信息,包括但不限于:对每张原始人脸子图像旋转的方向与角度,下采样的比例,填充的像素的坐标。这样便于后续根据该变换信息进行逆变换。
在将变换后的原始人脸子图像进行组合后,可以保存组合信息,包括但不限于每张原始人脸子图像的尺寸(即对应的子图像尺寸)以及在关键帧人脸图像中的位置,各原始人脸子图像的排列方式与顺序。后续可以根据该组合信息对美颜后的人脸图像进行拆分,以得到每一张人脸单独的美颜人脸图像。
在一种实施方式中,上述根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像,可以包括以下步骤:
根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取包括人脸的至少一个图像序列;
在每个图像序列中,确定一帧为人脸的关键帧,并确定其他帧为关键帧对应的非关键帧;
从关键帧中提取关键帧人脸图像,从非关键帧中提取非关键帧人脸图像。
其中,在确定人脸的图像序列时,可以从人脸发生显著变化的位置进行分割。参考上述图3举例说明,待处理视频的第3帧首次出现人脸H1,对于后续出现人脸H1的每一帧,如第4帧、第5帧等,计算其中的人脸H1相较于参考帧的变化程度,参考帧可以选取第3帧、上一帧、前面多帧等,具体请参考上文关于参考帧部分的内容。如果变化程度较高(例如满足预设条件),则以相应的帧作为下一图像序列的起始。例如,计算第10帧中的人脸H1相较于第3帧的变化程度满足预设条件,则将第3帧至第9帧作为人脸H1的第一个图像序列,从第10帧开始确定新的图像序列,如通过后续帧的计算,可以得到第10帧至第21帧为人脸H1的第二个图像序列。
在一种实施方式中,待处理视频中某张人脸的出现可能存在不连续的情况,如人脸H1在第3帧至第8帧出现,第9帧中未出现,从第10帧开始继续出现,则提取的人脸H1的图像序列可能包括不连续的帧,本公开对此不做限定。
通过图像序列的确定,能够体现人脸的变化情况。由上可知,在每个图像序列内人脸的变化程度通常较低,一个图像序列内的所有图像帧可以复用其中某一帧(即关键帧)的人脸的美颜相关信息。而不同图像序列之间人脸的变化程度通常较高,难以跨图像序列而复用人脸的美颜相关信息。因此,可以在每个图像序列内确定一帧关键帧,其余的均为该关键帧对应的非关键帧。本公开对于选取哪一帧作为关键帧不做限定。例如,可以将每个图像序列内的任意一帧作为关键帧,也可以将每个图像序列内的特定一帧作为关键帧,该特定一帧可以是图像序列的第一帧、最后一帧、中间帧、最接近平均值的一帧等。进而,从关键帧中提取关键帧人脸图像,从非关键帧中提取非关键帧人脸图像。
通过上述方式,能够保证对关键帧与非关键帧划分的准确性,有利于提高后续的美颜质量。
以上说明了如何确定关键帧、非关键帧,以及如何得到关键帧人脸图像与非关键帧人脸图像。继续参考图2,在步骤S230中,通过预先训练的深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,三维网格是对关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的。
其中,关键帧人脸图像的空域即关键帧人脸图像的图像平面所在的二维空间,具有两个维度,第一维度例如可以是图像的宽度方向,第二维度例如可以是图像的高度方向。像素值域是指关键帧人脸图像的像素值的数值范围,如可以是[0,255],或者将像素值进行归一化,则像素值域为[0,1]。将像素值域作为第三维度,与上述第一维度、第二维度形成三维空间。本示例性实施方式可以预先对该三维空间进行划分,包括对空域进行划分以及对像素值域进行划分,得到三维网格。三维网格在空域上的二维投影称为空域网格;三维网格在像素值域上的一维投影称为值域分区。示例性的,可以以16像素*16像素的区域作为空域网格,以[0,1/8)、[1/8,1/4)、[1/4,3/8)等(将[0,1]均分为8个分区)作为值域分区,从而得到三维网格。由此,可以对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵。信息矩阵是用于对关键帧人脸图像进行美颜处理的参数矩阵。
在一种实施方式中,深度神经网络的结构可以参考图5所示,包括基础卷积层、网格特征卷积层、局部特征卷积层、输出层这4个主要部分,每部分又可以包括多个中间层,网格特征卷积层、局部特征卷积层是处于基础卷积层与输出层之间的两个并列的部分。
参考图6所示,上述通过预先训练的深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,可以包括以下步骤S610至S640:
步骤S610,通过基础卷积层按照空域网格的尺寸对关键帧人脸图像进行下采样卷积处理,得到基础特征图像。
下采样卷积处理是指通过卷积来减小图像尺寸,达到下采样效果。可以采用步长大于1的卷积层来实现下采样卷积处理。结合图5举例来说,待处理人脸图像的维度为(B,W,H,C),B表示图像数量,可以将一张或多张关键帧人脸图像输入深度神经网络进行处理,因此B可以是任意正整数;W表示关键帧人脸图像的宽度,H表示关键帧人脸图像的高度,C表示关键帧人脸图像的通道数,当关键帧人脸图像为RGB图像时,C为3。空域网格的尺寸为16像素*16像素。基础卷积层可以包括4个步长为2的3*3卷积层(3*3表示卷积核尺寸,仅为示例性,也可替换为其他尺寸),关键帧人脸图像经过其处理后,高度与宽度均缩减为1/16;当然本公开也可以设置其他数量与步长的卷积层,以达到相同的下采样效果,如可以将上述4个步长为2的3*3卷积层替换为两个步长为4的5*5卷积层。此外,基础卷积层还可以包括一个或多个步长为1的3*3卷积层(3*3表示卷积核尺寸,仅为示例性,也可替换为其他尺寸),用于对下采样卷积后的图像进一步提取特征同时不改变图像尺寸,得到基础特征图像;当然设置步长为1的卷积层并非必需。基础特征图像的维度为(B,W/16,H/16,k1),k1为基础特征图像的通道数,表示特征的维度,与基础卷积层中最后一个卷积层的卷积核数量相关,本公开不做限定。基础特征图像中的一个像素点相当于关键帧人脸图像中的16像素*16像素。
由上可知,基础卷积层的处理过程是在关键帧人脸图像中每个空域网格的范围内逐步提取特征,通过卷积核的设置将不同维度的特征表示在不同的通道中,最终得到基础特征图像,基础特征图像是关键帧人脸图像在空域网格的尺度上的特征图像。
步骤S620,通过网格特征卷积层对基础特征图像提取空域网格内的特征,得到网格特征图像。
基础卷积层所提取的基础特征图像反映了关键帧人脸图像中的基础性特征,可以通过网格特征卷积层进一步在空域网格范围内提取更加深度的特征,得到网格特征图像。结合图5举例来说,网格特征卷积层可以包括一个或多个步长为1的3*3卷积层(3*3表示卷积核尺寸,仅为示例性,也可替换为其他尺寸),用于对基础卷积图像进一步提取网格特征同时不改变图像尺寸,得到网格特征图像。网格特征图像的维度为(B,W/16,H/16,k2),k2为网格特征图像的通道数,表示特征的维度,与网格特征卷积层中最后一个卷积层的卷积核数量相关,本公开不做限定。
步骤S630,通过局部特征卷积层对基础特征图像提取空域网格间的特征,得到局部特征图像。
基于基础卷积层所提取的基础特征图像,可以通过局部特征卷积层进一步在空域网格间提取更加深度的特征,得到局部特征图像,相比于上述网格特征图像,局部特征图像为局部的多个空域网格范围内的特征,其尺度相对更大。结合图5举例来说,局部特征卷积层可以包括下采样层、一个或多个步长为1的3*3卷积层(3*3表示卷积核尺寸,仅为示例性,也可替换为其他尺寸)、上采样层。其中,下采样层可以是2*2(或其他尺寸)的池化层,可以采用最大值池化、平均值池化等,通过池化融合了局部的2*2个空域网格范围内的特征;当然也可以采用池化以外的方式(如步长大于1的卷积)实现下采样。进而,通过卷积层从下采样后的特征图像中提取特征,为空域网格间的特征。上采样层可以是2*2(或其他尺寸)的转置卷积层,其通过对卷积层输出的特征图像进行转置卷积来实现上采样,从而恢复下采样前的图像尺寸(即W/16*H/16);当然也可以采用转置卷积以外的方式(如插值)实现上采样。上采样后得到局部特征图像,其维度为(B,W/16,H/16,k3),k3为局部特征图像的通道数,表示特征的维度,与局部特征卷积层中最后一个卷积层的卷积核数量相关,本公开不做限定。
步骤S640,通过输出层按照值域分区的数量对网格特征图像与局部特征图像进行维度转换,得到关键帧人脸图像的信息矩阵,值域分区为三维网格在像素值域上的一维投影。
网格特征图像与局部特征图像从不同尺度上反映了关键帧人脸图像的特征。输出层可以将网格特征图像与局部特征图像进行合并,再进行维度转换。合并的方式包括但不限于相加、拼接(concat)等。由上可知,网格特征图像与局部特征图像的维度中,图像尺寸W/16、H/16与空域网格的尺寸相对应,而通道数k2、k3与卷积核的数量相关,通过维度转换使通道数与值域分区的数量相匹配,从而使输出的信息矩阵与三维网格相对应。结合图5举例说明,输出层可以包括拼接层与一个或多个步长为1的1*1卷积层(1*1表示卷积核尺寸,仅为示例性,也可替换为其他尺寸),拼接层用于对网格特征图像与局部特征图像进行拼接,得到维度为(B,W/16,H/16,k2+k3)的拼接特征图像,卷积层用于对拼接特征图像进行维度转换,得到信息矩阵G,其维度为(B,W/16,H/16,G_z*G_n)。G_z为值域分区的数量,如在进行三维网格的划分时,将像素值域进行8等分,则G_z为8;G_n为每个三维网格对应的子信息矩阵gi的维度(即子信息矩阵gi的元素个数),i表示三维网格的序数。
在一种实施方式中,步骤S640所得到的信息矩阵G可视为子信息矩阵gi的集合,对于每张关键帧人脸图像,深度神经网络可以输出其对应的信息矩阵G,包括W/16*H/16*G_z个子信息矩阵gi,而W/16*H/16*G_z正是三维网格的数量,即信息矩阵G包括每个三维网格对应的子信息矩阵gi。
以上说明了如何获得关键帧人脸图像的信息矩阵。继续参考图2,在步骤S240中,利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到待处理视频对应的美颜视频。
一般的,可以将关键帧人脸图像的像素值与信息矩阵相乘,实现对像素值的数值转换,得到关键帧人脸图像对应的美颜人脸图像。
在一种实施方式中,上述利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,可以包括以下步骤:
基于关键帧人脸图像对基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵;
根据关键帧人脸图像的像素点对应的美颜信息矩阵,分别对关键帧人脸图像的像素点进行美颜处理。
其中,信息矩阵可以包括每个三维网格对应的基准信息矩阵,该基准信息矩阵相当于上述子信息矩阵gi。基准信息矩阵用于表示三维网格内所有像素点进行美颜处理的基准信息,可视为该三维网格内所有像素点进行美颜处理所需信息的概括,而美颜信息矩阵用于表示单个像素点的美颜处理的具体信息。基准信息矩阵可以进一步对应于三维网格的基准点,例如该基准点可以是三维网格的中心点。由于关键帧人脸图像的每个像素点分布在各自所属的三维网格中的不同位置,相对于三维网格内的基准点存在偏移,因此可以对基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵。通过这样的方式,可以将像素点之间的空间与值域分布关系映射到基准信息矩阵、美颜信息矩阵上,得到每个像素点对应的美颜信息矩阵。进而对关键帧人脸图像的每个像素点,均可以采用对应的美颜信息矩阵进行美颜处理,从而实现对关键帧人脸图像的像素级美颜处理,并保证美颜质量。
在一种实施方式中,可以根据关键帧人脸图像的像素点相对于一个或多个三维网格的中心点的偏移,对一个或多个基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵。示例性的,假设关键帧人脸图像的宽度为128,高度也为128,空域网格的大小为16像素*16像素,则三维空间的第一维度与第二维度均被8等分;像素值域[0,1]也被均分为8个值域分区,则三维空间被划分为8*8*8个三维网格。以{0,0,0}表示位于关键帧人脸图像左上角,且像素值为[0,1/8)的三维网格,该三维网格的中心点坐标为(8,8,1/16);获取关键帧人脸图像中处于该三维网格内的像素点,对每个像素点计算其与中心点的偏移,包括在第一维度、第二维度、第三维度上的偏移量,并根据偏移量分别基于{0,0,0}三维网格的基准信息矩阵以及其相邻的三维网格{1,0,0}、{0,1,0}、{0,0,1}的基准信息矩阵进行三线性插值,得到{0,0,0}三维网格中每个像素点对应的美颜信息矩阵。需要说明的是,如果三维网格未处于边界上,则可以基于该三维网格的基准信息矩阵以及其相邻的6个三维网格的基准信息矩阵进行三线性插值,得到该三维网格中每个像素点对应的美颜信息矩阵。
应当理解,本公开对于具体的插值算法不做限定,例如也可以采用非线性插值算法。
由上可知,在进行插值时,需要计算像素点的像素值与基准点的像素值的偏移,即像素点与基准点在第三维度上的偏移。当关键帧人脸图像为单通道图像时,可以直接采用关键帧人脸图像的像素值进行计算。当关键帧人脸图像为多通道图像时,则难以基于多通道的像素值与基准点的像素值进行计算。基于此,在一种实施方式中,上述基于关键帧人脸图像对基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵,可以包括以下步骤:
当关键帧人脸图像为多通道图像时,将关键帧人脸图像转换为单通道的参考值图像;
基于参考值图像对基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵。
其中,参考值图像是通过单通道对关键帧人脸图像的多通道进行表征的图像,如关键帧人脸图像为RGB图像时,参考值图像可以是其对应的灰度图像,灰度可以采用归一化的数值,值域为[0,1]。请注意参考值图像与上述参考帧图像为不同的概念。
在一种实施方式中,可以采用以下公式将关键帧人脸图像转换为单通道的参考值图像:
其中,R、G、B为关键帧人脸图像中每个像素点归一化后的像素值;n表示将R、G、B的值域划分为n个分区,j表示分区的序数;arj、agj、abj分别为R、G、B的每个分区的转换系数,可以根据经验或实际需求确定;shiftrj、shiftgj、shiftbj分别为R、G、B的每个分区中设置的转换阈值,表示只对大于该转换阈值的像素值进行转换,转换阈值可以根据经验或实际需求设置;guidemapr、guidemapg、guidemapb分别为通过分区转换后的R、G、B的单通道图像;gr、gg、gb分别为R、G、B的融合系数,可以是经验系数;guidemapbias为融合后添加的偏移量,也可以根据经验确定;guidemapz为参考值图像,其值域为[0,1]。
在一种实施方式中,也可以通过预设的模型训练得到上述arj、agj、abj、shiftrj、shiftgj、shiftbj、gr、gg、gb、guidemapbias等参数,通过设置模型的初始值,使得最终得到的参考值图像的值域满足[0,1]。
在一种实施方式中,也可以采用R、G、B中任一通道的归一化值作为参考值,将关键帧人脸图像转换为参考值图像。例如,采用R通道的归一化值作为参考值,其计算方法如下:
guidemapz=gr/255 (14)
参考图5所示,可以基于参考值图像对信息矩阵G中的基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵,可以将这些美颜信息矩阵作为一个集合,其维度为(B,W,H,G_n)。
在得到美颜信息矩阵后,可以将每个像素点的像素值与对应的美颜信息矩阵相乘,得到处理后的像素值,从而形成美颜人脸图像。示例性的,将像素点i的像素值表示为像素值向量[r,g,b],其对应的美颜信息矩阵为:
则有以下关系:
其中,[r′g′b′]表示美颜处理后的像素值。
在一种实施方式中,上述根据关键帧人脸图像的像素点对应的美颜信息矩阵,分别对关键帧人脸图像的每个像素点进行美颜处理,可以包括:
根据美颜信息矩阵的维度对关键帧人脸图像添加新通道,并将新通道填充预设数值;
分别将关键帧人脸图像的每个像素点的像素值向量与每个像素点对应的美颜信息矩阵相乘,以完成美颜处理;每个像素点的像素值向量为每个像素点的各通道的数值所形成的向量。
其中,美颜信息矩阵的维度表示美颜信息矩阵的行数与列数。由公式(15)可知,需要将每个像素点的像素值向量与美颜信息矩阵进行叉乘运算,说明像素值向量的维度与美颜信息矩阵的行数需要相同。而像素值向量的维度等同于关键帧人脸图像的通道数,因此,如果关键帧人脸图像的通道数不等于(一般是小于)美颜信息矩阵的行数,则可以对关键帧人脸图像添加新通道。对于添加的新通道,可以填充预设数值,如可以是1。由此,相当于将关键帧人脸图像中每个像素点的像素值向量转换为齐次向量。
示例性的,假设像素点i对应的美颜信息矩阵为:
即该美颜信息矩阵的行数为4,关键帧人脸图像为RGB图像,其通道数为3,因此需要添加一个新通道,将新通道统一填充数值1。则像素点i的像素值向量为[r,g,b,1],从而满足以下关系:
由此,通过信息矩阵的处理,得到美颜人脸图像,其维度为(B,W,H,C),在公式(15)与(16)中,C=3。美颜人脸图像与关键帧人脸图像的维度相同,说明本示例性实施方式的美颜处理过程不改变图像维度。
如果在将关键帧人脸图像输入深度神经网络前,对其像素值进行了归一化处理,则得到美颜人脸图像后,可以对其像素值进行反归一化处理,如可以将[0,1]值域内的像素值统一乘以255,以得到[0,255]值域内的像素值。
以上说明了如何对关键帧人脸图像进行美颜处理。在一种实施方式中,上述利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,还可以包括以下步骤:
获取关键帧人脸图像与非关键帧人脸图像之间的像素对应关系;
基于上述像素对应关系,调用关键帧人脸图像的像素点对应的美颜信息矩阵对非关键帧人脸图像中对应的像素点进行美颜处理。
需要说明的是,上述步骤可以是对一帧非关键帧人脸图像的美颜处理过程,而一帧关键帧人脸图像可以对应多帧非关键帧人脸图像,则对于每一帧非关键帧人脸图像,均可以通过上述步骤进行美颜处理。
像素对应关系用于表示关键帧人脸图像中的像素点与非关键帧人脸图像中的像素点之间的对应关系。一般的,具有对应关系的两个像素点是真实世界中的同一点。在关键帧人脸图像与非关键帧人脸图像之间,虽然人脸的变化程度较低,但是通常会存在轻微的移动、表情变化、环境或脸部状态的变化等,即存在局部或全局的变换,这使得关键帧人脸图像中的某个位置的像素点,其在非关键帧人脸图像中可能对应到另一位置的像素点。本示例性实施方式中,基于像素对应关系,可以将非关键帧人脸图像中的像素点对应到关键帧人脸图像中的像素点,以便于调用对应像素点的美颜信息矩阵。例如,对于非关键帧人脸图像中的脸部痣点,通过像素对应关系将其对应到关键帧人脸图像中的脸部痣点,进而可以调用关键帧人脸图像中该脸部痣点对应的美颜信息矩阵来对非关键帧人脸图像中的脸部痣点进行美颜处理,有利于实现准确地美颜处理。
在一种实施方式中,上述获取关键帧人脸图像与非关键帧人脸图像之间的像素对应关系,可以包括以下步骤:
根据关键帧人脸图像中的人脸关键点与其在非关键帧人脸图像中对应的人脸关键点,确定关键帧人脸图像与非关键帧人脸图像之间的变换关系;
基于变换关系,将关键帧人脸图像中的像素点与非关键帧人脸图像中的像素点进行对应,以得到像素对应关系。
其中,人脸关键点可以包括但不限于以下任意一种或多种:左眼瞳孔中心点、右眼瞳孔中心点、鼻尖中心点、左嘴角点、右嘴角点,等等。一般的,所选取的人脸关键点越多,计算得到的变换关系越准确。在关键帧人脸图像与非关键帧人脸图像中确定多个人脸关键点对,根据这些人脸关键点对中两个人脸关键点的相对位置关系,可以计算关键帧人脸图像与非关键帧人脸图像之间的变换关系。例如,该变换关系可以是仿射变换关系,通常包括关键帧人脸图像与非关键帧人脸图像之间的旋转矩阵与平移向量。进而,基于该变换关系,可以得到每个像素点的对应关系,即可以将非关键帧人脸图像中的每个像素点均对应到关键帧人脸图像中,以便于对每个像素点准确调用美颜信息矩阵,有利于实现像素级的美颜处理。
在一种实施方式中,在将非关键帧人脸图像中的像素点均对应到关键帧人脸图像时,可能存在未与关键帧人脸图像的像素点对应的情况,如通过变换关系计算出的像素点位于关键帧人脸图像以外。基于此,针对非关键帧人脸图像中未与关键帧人脸图像的像素点对应的像素点,可以不进行美颜处理,即在美颜人脸图像中保持该像素点的原值,以避免进行了不合适的美颜处理,产生负面效果。
利用信息矩阵对关键帧人脸图像与非关键帧人脸图像进行美颜处理后,得到美颜人脸图像。可以使用美颜人脸图像替换掉待处理视频中对应的人脸,如替换掉待处理视频中人脸的稳定包围盒部分的图像,得到待处理视频对应的美颜视频。从而完成视频美颜处理。
在一种实施方式中,考虑到美颜人脸图像通常是美颜程度较高的人脸图像,在使用美颜人脸图像替换掉待处理视频中对应的人脸之前,可以对美颜人脸图像进行美颜弱化处理。美颜弱化处理是指降低美颜人脸图像的美颜程度,以增加真实感与自然感。下面以关键帧人脸图像对应的美颜人脸图像的处理为例,提供美颜弱化处理的两种示例性方式。应当理解,对非关键帧人脸图像对应的美颜人脸图像进行美颜弱化处理的方式相同,因而不再赘述。
美颜弱化处理方式一、根据设定的美颜程度参数,将关键帧人脸图像融合至美颜人脸图像。其中,美颜程度参数可以是特定美颜功能下的美颜力度参数,如去瑕疵程度。本示例性实施方式中,美颜程度参数可以是用于当前设定的参数,系统默认的参数,或者上一次美颜所使用的参数等。在确定美颜程度参数后,可以以美颜程度参数作为比重,将关键帧人脸图像融合至美颜人脸图像。用于融合的关键帧人脸图像是该美颜人脸图像对应的美颜前的图像。
举例来说,假设去瑕疵程度的范围为0~100,当前设定的值为a,参考如下公式:
其中,image_blend表示融合后的图像,image_ori表示美颜前的关键帧人脸图像,image_deblemish表示美颜人脸图像。当a为0时,表示不进行去瑕疵处理,则完全使用美颜前的关键帧人脸图像;当a为100时,表示完全去瑕疵处理,则完全使用美颜人脸图像。因此,公式(17)表示通过融合,得到介于关键帧人脸图像与美颜人脸图像中间的图像,a越大,所得到的图像越接近于美颜人脸图像,即美颜程度越高,美颜效果越明显。
美颜弱化处理方式二、将关键帧人脸图像的高频图像融合至美颜人脸图像。其中,高频图像是指包含关键帧人脸图像中细节纹理等高频信息的图像。
在一种实施方式中,可以通过以下方式获取高频图像:
将关键帧人脸图像进行下采样再进行上采样,根据关键帧人脸图像与上采样图像的差别,获取关键帧人脸图像的高频图像。
其中,下采样图像的分辨率低于原始的关键帧人脸图像,一般在下采样的过程中,不可避免地会损失图像的高频信息。对下采样图像进行上采样,使得到的上采样图像与关键帧人脸图像的分辨率相同。上采样可以采用双线性插值、最近邻插值等方法。通过上采样虽然能够恢复分辨率,但是难以完全恢复出所损失的高频信息,即上采样图像可视为关键帧人脸图像的低频图像。由此,确定关键帧人脸图像与上采样图像的差别,例如可以将关键帧人脸图像与上采样图像相减,结果为关键帧人脸图像的高频信息,将相减后的值形成图像,即关键帧人脸图像的高频图像。
在将上述高频图像融合至美颜人脸图像时,可以采用直接相加的方式,将高频图像叠加到美颜人脸图像中,使得美颜人脸图像中增加细节纹理等高频信息,更具有真实感。
由于关键帧人脸图像与上采样图像通常是非常相近的,基于其差值得到的高频图像中,像素值一般较小,如RGB各通道值不超过4。然而,对于关键帧人脸图像中的突变位置,比如脸上的小黑痣等,其具有强烈的高频信息,因此在高频图像中对应位置的像素值可能比较大。在将高频图像融合至美颜人脸图像时,这些位置的像素值可能产生不良影响,例如产生“痣印”等锐利边缘,导致视觉感受不自然。
针对于上述问题,在一种实施方式中,视频美颜处理方法还可以包括以下步骤:
在高频图像中确定瑕疵点;
将高频图像中上述瑕疵点周围预设区域内的像素值调整到预设数值范围内。
其中,瑕疵点是具有强烈高频信息的像素点,可以将高频图像中像素值较大的点确定为瑕疵点。或者,在一种实施方式中,可以通过以下方式确定瑕疵点:
将美颜人脸图像与对应的关键帧人脸图像相减,得到每个像素点的差值;
当判断某个像素点的差值满足预设瑕疵条件时,将该像素点在高频图像中对应的像素点确定为瑕疵点。
其中,预设瑕疵条件用于衡量美颜人脸图像与关键帧人脸图像的差别,以判断每个像素点是否为被去除的瑕疵点。在去瑕疵处理中,通常会将人脸中的小黑痣、痘等去除,并填充人脸肤色,在该位置处,美颜人脸图像与关键帧人脸图像的差别很大,因此可以通过设定预设瑕疵条件来甄别瑕疵点。
示例性的,预设瑕疵条件可以包括:各个通道的差值均大于第一颜色差阈值,且各个通道的差值中的至少一个大于第二颜色差阈值。第一颜色差阈值与第二颜色差阈值可以是经验阈值。例如,当上述通道包括RGB时,第一颜色差阈值可以是20,第二颜色差阈值可以是40。由此,得到每个像素点在美颜人脸图像中与在关键帧人脸图像中的差值后,对差值中RGB三个通道的具体差值进行判断,判断每个通道的差值是否均大于20,以及其中是否有至少一个通道的差值大于40,当满足这两个条件时,表示满足预设瑕疵条件,则将高频图像中对应位置的像素点确定为瑕疵点。
确定瑕疵点后,可以在高频图像中进一步确定瑕疵点周围的预设区域,例如可以是以瑕疵点为中心的5*5像素区域,具体的尺寸可以根据高频图像的尺寸来确定,本公开不做限定。将预设区域内的像素值调整到预设数值范围内,预设数值范围一般是较小的数值范围,可以根据经验与实际需求确定,在调整时通常需要减小像素值。示例性的,预设数值范围可以是-2~2,而瑕疵点周围的像素值可能超出-5~5,将其调整到-2~2内,实际上进行了限值处理。由此能够弱化“痣印”等锐利边缘,增加视觉上的自然感受。
在一种实施方式中,还可以通过对关键帧人脸图像进行滤波,以提取高频信息,得到高频图像。
在一种实施方式中,在基于深度神经网络的输入图像尺寸将上述一张或多张原始人脸子图像进行变换与组合时,如果对原始人脸子图像进行下采样,则可以将下采样后得到的下采样人脸子图像进行上采样,得到上采样人脸子图像,根据原始人脸子图像与上采样人脸子图像的差别,获取原始人脸子图像的高频图像。在美颜弱化处理方式二中,可以将美颜人脸图像拆分为与原始人脸子图像对应的单张人脸的美颜人脸子图像,将原始人脸子图像的高频图像融合至美颜人脸子图像,以实现美颜弱化处理。
需要说明的是,如果对原始人脸子图像进行下采样前,还进行了旋转,则对下采样人脸子图像进行上采样后,还可以进行反向旋转,使得到的上采样人脸子图像与原始人脸子图像的方向也相同。
以上说明了两种美颜弱化处理方式。本示例性实施方式可以同时采用这两种美颜弱化处理方式,例如,先通过美颜弱化处理方式一进行关键帧人脸图像与美颜人脸图像的融合,在此基础上,再通过美颜弱化处理方式二将高频图像叠加到其中,得到经过美颜弱化处理的美颜人脸图像,该美颜人脸图像兼具有较好的美颜效果与真实感。
在一种实施方式中,上述通过信息矩阵对关键帧人脸图像或非关键帧人脸图像所进行的美颜处理可以是第一阶段美颜处理,第一阶段美颜处理如去瑕疵处理等,具体与深度神经网络的训练过程相关。在此基础上,还可以进行第二阶段美颜处理,如对第一阶段美颜处理后的美颜人脸图像做进一步的磨皮、形变、立体等处理,得到最终的美颜人脸图像。最后将该最终的美颜人脸图像替换掉待处理视频中的人脸,以实现全面、充分地视频美颜处理。
在一种实施方式中,在将待处理视频中的人脸替换为对应的美颜人脸图像时,还可以执行以下步骤:
对位于待处理视频中的未替换区域与美颜人脸图像之间的边界区域进行渐变处理,使边界区域形成平滑过渡。
其中,待处理视频中的未替换区域即待处理视频的原始图像帧中除需替换的人脸以外的区域。上述未替换区域与美颜人脸图像之间的边界区域实际包括两部分:未替换区域中与美颜人脸图像相邻的边界区域,以及美颜人脸图像中与未替换区域相邻的边界区域。本示例性实施方式可以对其中任一部分进行渐变处理,也可以同时对两部分进行渐变处理。
参考图7所示,为了以美颜人脸图像替换待处理视频的原始图像帧中的人脸,可以在美颜人脸图像中确定一定比例(如10%)的边界区域,其从美颜人脸图像的边缘向内延伸。需要注意的是,边界区域通常需要避开人脸部分,以避免渐变处理中改变人脸部分的颜色。例如,通过上述稳定包围盒截取原始人脸子图像以作为关键帧人脸图像,使得关键帧人脸图像中的人脸与边界具有一定的距离,则美颜人脸图像中的人脸与边界也具有一定的距离,这样在进行渐变处理时,可以较好地避开人脸部分。确定边界区域后,获取边界区域的内边缘颜色,记为第一颜色;获取未替换区域的内边缘颜色,记为第二颜色;再对边界区域进行第一颜色与第二颜色的渐变处理。由此,未替换区域与美颜人脸图像的边界处为渐变色区域(图7中的斜线区域),这样形成平滑过渡,防止产生颜色突变,导致视觉感受不和谐。
在一种实施方式中,视频美颜处理方法还可以包括对深度神经网络的训练过程。本公开对于具体的训练方式不做限定,下面提供两种具体示例:
训练方式一、可以包括以下步骤:
将待处理样本图像输入待训练的深度神经网络,以输出样本信息矩阵;
利用样本信息矩阵对待处理样本图像进行处理,得到待处理样本图像对应的美颜样本图像;
基于待处理样本图像对应的标注图像与美颜样本图像的差别,更新深度神经网络的参数。
其中,深度神经网络可以间接实现不同美颜功能的组合,本示例性实施方式可以根据实际需求,获取对应于不同美颜功能的美颜图像数据集,以训练所需的深度神经网络。例如,如果需要训练去瑕疵的深度神经网络,则获取具有瑕疵的待处理样本图像,通过人工去瑕疵处理,得到对应的标注图像(Ground truth),由此构建去瑕疵的美颜图像数据集;如果需要训练去瑕疵+形变的深度神经网络,则获取具有瑕疵的待处理样本图像,通过人工去瑕疵与形变处理,得到对应的标注图像,由此构建去瑕疵+形变的美颜图像数据集。当然,也可以先获取标注图像,经过反向处理,得到待处理样本图像,例如获取无瑕疵的人脸图像,对其进行添加瑕疵、反向形变(是指与美颜中的形变相反的处理,例如美颜中常进行“瘦脸”的形变,反向形变可以是将脸部拉宽)等处理,得到待处理样本图像,将无瑕疵的人脸图像作为其对应的标注图像,构建去瑕疵+形变的美颜图像数据集。可见,本示例性实施方式可以通过构建不同的美颜图像数据集,训练任意一种或多种美颜功能组合的深度神经网络。
在一种实施方式中,可以将多张人脸图像进行组合,得到一张待处理样本图像,并可以将该多张人脸图像对应的人工美颜后图像进行组合,得到该待处理样本图像对应的一张标注图像,然后将该待处理样本图像与标注图像添加至美颜图像数据集中。换句话说,美颜图像数据集可以包括单人脸的图像、多人脸的图像、组合人脸的图像等不同类型。
待处理样本图像的处理流程与上述关键帧人脸图像的处理流程相同,得到美颜样本图像后,基于美颜样本图像与标注图像的差别,计算第一损失函数值,并由此对深度神经网络的参数进行反向传播更新。本公开对于第一损失函数的具体形式不做限定,例如可以采用L1或L2损失等。
通过训练方式一,可以使深度神经网络间接地实现类似于人工美颜处理的效果。
训练方式二、可以包括以下步骤:
将待处理样本图像输入待训练的深度神经网络,利用深度神经网络输出的第一样本信息矩阵对待处理样本图像进行美颜处理,得到美颜样本图像,通过变换参数对美颜样本图像进行变换,得到第一变换样本图像;
通过变换参数对待处理样本图像进行变换,将变换后的待处理样本图像输入深度神经网络,并利用深度神经网络输出的第二样本信息矩阵对变换后的待处理样本图像进行美颜处理,得到第二变换样本图像;
基于第一变换样本图像与第二变换样本图像的差别,更新深度神经网络的参数。
其中,对待处理样本图像进行两种处理:第一种处理是将待处理样本图像输入深度神经网络,为便于区分,将深度神经网络输出的信息矩阵记为第一样本信息矩阵,然后利用第一样本信息矩阵对待处理样本图像进行美颜处理,得到美颜样本图像,进而通过预先生成的变换参数对美颜样本图像进行变换,得到第一变换样本图像。第二种处理是先通过变换参数对待处理样本图像进行变换,然后将变换后的待处理样本图像输入深度神经网络,得到第二样本信息矩阵,最后利用第二样本信息矩阵对变换后的待处理样本图像进行美颜处理,得到第二变换样本图像。基于第一变换样本图与第二变换样本图的差别,计算第二损失函数值,并由此对深度神经网络的参数进行反向传播更新。本公开对于第二损失函数的具体形式不做限定,例如可以采用L1或L2损失等。
其中,对图像的变换可以包括透视变换或仿射变换等,具体地,可以对图像进行平移、旋转、缩放、错切等变换中的一种或多种。在一种实施方式中,可以预先确定变换参数的数值范围,然后在该范围内随机生成变换参数。例如,获取预设的第一数值区间、第二数值区间、第三数值区间;在第一数值区间内随机生成平移参数,在第二数值区间内随机生成旋转参数,在第三数值区间内随机生成缩放参数。本示例性实施方式可以根据经验与实际场景确定三个数值区间。示例性的,第一数值区间可以是[-3,3],单位为像素,表示平移的像素数;第二数值区间可以是[-5,5],单位为度,表示旋转的度数;第三数值区间可以是[0.97,1.03],单位为倍,表示缩放的倍率。进而,分别在三个数值区间内生成随机数,得到平移参数、旋转参数、缩放参数,即上述变换参数。由此能够避免变换参数过大导致的训练过程难以收敛。
一般的,在视频美颜处理时,如果在不同帧之间,特别是在相邻帧之间,发生图像内容的变化,可能导致对不同帧的美颜效果不一致,呈现出画面的闪动现象,影响视觉感受。第一变换样本图与第二变换样本图的差别反映了深度神经网络的抗闪动效果。通过训练方式二,可以使得深度神经网络具有一定程度的对图像变换的不变性,即具有抗闪动能力,从而保证对视频美颜处理的效果一致性。
本示例性实施方式中,可以结合上述任意一种或多种训练方式。例如,结合上述训练方式一和二,基于美颜样本图像与标注图像的差别,计算第一损失函数值,基于第一变换样本图像与第二变换样本图像的差别,计算第二损失函数值,根据第一损失函数值与第二损失函数值计算总损失函数值,通过总损失函数值更新深度神经网络的参数。
图8示出了视频美颜处理方法的示意性流程,包括:
步骤S801,获取待处理视频,并检测待处理视频中每一帧的人脸。
步骤S802,根据不同帧之间人脸的变化程度,将待处理视频按照人脸划分为关键帧与关键帧对应的非关键帧。
步骤S803,对关键帧提取关键帧人脸图像,对非关键帧提取非关键帧人脸图像。
步骤S804,将关键帧人脸图像输入预先训练的深度神经网络,输出关键帧人脸图像的信息矩阵。
步骤S805,利用上述信息矩阵对关键帧人脸图像和非关键帧人脸图像进行美颜处理,得到对应的美颜人脸图像。
步骤S806,利用美颜人脸图像对待处理视频中的人脸进行替换,得到待处理视频对应的美颜视频,从而完成视频美颜处理。
本公开的示例性实施方式还提供一种视频美颜处理装置。参考图9所示,该视频美颜处理装置900可以包括:
数据获取模块910,被配置为获取待处理视频,检测待处理视频中的人脸;
图像提取模块920,被配置为根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像;
信息矩阵生成模块930,被配置为通过预先训练的深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,三维网格是对关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的;
美颜处理模块940,被配置为利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到待处理视频对应的美颜视频。
在一种实施方式中,上述根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像,包括:
响应于人脸在待处理视频中的待处理帧与待处理帧的参考帧之间的变化程度满足预设条件,将待处理帧确定为人脸的关键帧,从关键帧中提取关键帧人脸图像。
在一种实施方式中,上述根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像,还包括:
将相邻两关键帧之间的非关键帧确定为相邻两关键帧中的前一关键帧对应的非关键帧,从非关键帧中提取关键帧人脸图像对应的非关键帧人脸图像。
在一种实施方式中,上述人脸在待处理视频中的待处理帧与待处理帧的参考帧之间的变化程度满足预设条件,包括以下至少一种:
人脸在待处理帧与参考帧之间的尺寸变化值超过第一程度值;
人脸在待处理帧与参考帧之间的关键点位移值超过第二程度值;
人脸在待处理帧与参考帧之间的颜色变化值超过第三程度值。
在一种实施方式中,上述根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取人脸的关键帧人脸图像以及关键帧人脸图像对应的非关键帧人脸图像,包括:
根据人脸在待处理视频的不同帧之间的变化,从待处理视频中提取包括人脸的至少一个图像序列;
在每个图像序列中,确定一帧为人脸的关键帧,并确定其他帧为关键帧对应的非关键帧;
从关键帧中提取关键帧人脸图像,从非关键帧中提取非关键帧人脸图像。
在一种实施方式中,深度神经网络包括基础卷积层、网格特征卷积层、局部特征卷积层、输出层;上述通过预先训练的深度神经网络对关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成关键帧人脸图像的信息矩阵,包括:
通过基础卷积层按照空域网格的尺寸对关键帧人脸图像进行下采样卷积处理,得到基础特征图像,空域网格为三维网格在空域上的二维投影;
通过网格特征卷积层对基础特征图像提取空域网格内的特征,得到网格特征图像;
通过局部特征卷积层对基础特征图像提取空域网格间的特征,得到局部特征图像;
通过输出层按照值域分区的数量对网格特征图像与局部特征图像进行维度转换,得到关键帧人脸图像的信息矩阵,值域分区为三维网格在像素值域上的一维投影。
在一种实施方式中,信息矩阵包括每个三维网格对应的基准信息矩阵;上述利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,包括:
基于关键帧人脸图像对基准信息矩阵进行插值,得到关键帧人脸图像的像素点对应的美颜信息矩阵;
根据关键帧人脸图像的像素点对应的美颜信息矩阵,分别对关键帧人脸图像的像素点进行美颜处理。
在一种实施方式中,上述利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,还包括:
获取关键帧人脸图像与非关键帧人脸图像之间的像素对应关系;
基于像素对应关系,调用关键帧人脸图像的像素点对应的美颜信息矩阵对非关键帧人脸图像中对应的像素点进行美颜处理。
在一种实施方式中,上述获取关键帧人脸图像与非关键帧人脸图像之间的像素对应关系,包括:
根据关键帧人脸图像中的人脸关键点与其在非关键帧人脸图像中对应的人脸关键点,确定关键帧人脸图像与非关键帧人脸图像之间的变换关系;
基于变换关系,将关键帧人脸图像中的像素点与非关键帧人脸图像中的像素点进行对应,以得到像素对应关系。
在一种实施方式中,上述利用关键帧人脸图像的信息矩阵对关键帧人脸图像与关键帧人脸图像对应的非关键帧人脸图像进行美颜处理,还包括:
针对非关键帧人脸图像中未与关键帧人脸图像的像素点对应的像素点,不进行美颜处理。
上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种可选的实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供一种电子设备。该电子设备可以是上述终端110或服务器120。一般的,该电子设备可以包括处理器与存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行上述视频美颜处理方法。
下面以图10中的移动终端1000为例,对该电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图10中的构造也能够应用于固定类型的设备。
如图10所示,移动终端1000具体可以包括:处理器1001、存储器1002、总线1003、移动通信模块1004、天线1、无线通信模块1005、天线2、显示屏1006、摄像模块1007、音频模块1008、电源模块1009与传感器模块1010。
处理器1001可以包括一个或多个处理单元,例如:处理器1001可以包括AP(Application Processor,应用处理器)、调制解调处理器、GPU(Graphics ProcessingUnit,图形处理器)、ISP(Image Signal Processor,图像信号处理器)、控制器、编码器、解码器、DSP(Digital Signal Processor,数字信号处理器)、基带处理器和/或NPU(Neural-Network Processing Unit,神经网络处理器)等。本示例性实施方式中的视频美颜处理方法可以由AP、GPU或DSP来执行,此外,可以由NPU来执行深度神经网络相关的处理,例如NPU可以加载深度神经网络的参数并执行深度神经网络相关的算法指令。
编码器可以对图像或视频进行编码(即压缩),以减小数据大小,便于存储或发送。解码器可以对图像或视频的编码数据进行解码(即解压缩),以还原出图像或视频数据。移动终端1000可以支持一种或多种编码器和解码器,例如:JPEG(Joint PhotographicExperts Group,联合图像专家组)、PNG(Portable Network Graphics,便携式网络图形)、BMP(Bitmap,位图)等图像格式,MPEG(Moving Picture Experts Group,动态图像专家组)1、MPEG10、H.1063、H.1064、HEVC(High Efficiency Video Coding,高效率视频编码)等视频格式。
处理器1001可以通过总线1003与存储器1002或其他部件形成连接。
存储器1002可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器1001通过运行存储在存储器1002的指令,执行移动终端1000的各种功能应用以及数据处理。存储器1002还可以存储应用数据,例如存储图像,视频等文件。
移动终端1000的通信功能可以通过移动通信模块1004、天线1、无线通信模块1005、天线2、调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动通信模块1004可以提供应用在移动终端1000上3G、4G、5G等移动通信解决方案。无线通信模块1005可以提供应用在移动终端1000上的无线局域网、蓝牙、近场通信等无线通信解决方案。
显示屏1006用于实现显示功能,如显示用户界面、图像、视频等。摄像模块1007用于实现拍摄功能,如拍摄图像、视频等。音频模块1008用于实现音频功能,如播放音频,采集语音等。电源模块1009用于实现电源管理功能,如为电池充电、为设备供电、监测电池状态等。传感器模块1010可以包括一种或多种传感器,用于实现相应的感应检测功能。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
Claims (13)
1.一种视频美颜处理方法,其特征在于,包括:
获取待处理视频,检测所述待处理视频中的人脸;
根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像;
通过预先训练的深度神经网络对所述关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成所述关键帧人脸图像的信息矩阵,所述三维网格是对所述关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的;
利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到所述待处理视频对应的美颜视频。
2.根据权利要求1所述的方法,其特征在于,所述根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像,包括:
响应于所述人脸在所述待处理视频中的待处理帧与所述待处理帧的参考帧之间的变化程度满足预设条件,将所述待处理帧确定为所述人脸的关键帧,从所述关键帧中提取所述关键帧人脸图像。
3.根据权利要求2所述的方法,其特征在于,所述根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像,还包括:
将相邻两关键帧之间的非关键帧确定为所述相邻两关键帧中的前一关键帧对应的非关键帧,从所述非关键帧中提取所述关键帧人脸图像对应的所述非关键帧人脸图像。
4.根据权利要求2所述的方法,其特征在于,所述人脸在所述待处理视频中的待处理帧与所述待处理帧的参考帧之间的变化程度满足预设条件,包括以下至少一种:
所述人脸在所述待处理帧与所述参考帧之间的尺寸变化值超过第一程度值;
所述人脸在所述待处理帧与所述参考帧之间的关键点位移值超过第二程度值;
所述人脸在所述待处理帧与所述参考帧之间的颜色变化值超过第三程度值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像,包括:
根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取包括所述人脸的至少一个图像序列;
在每个所述图像序列中,确定一帧为所述人脸的关键帧,并确定其他帧为所述关键帧对应的非关键帧;
从所述关键帧中提取所述关键帧人脸图像,从所述非关键帧中提取所述非关键帧人脸图像。
6.根据权利要求1所述的方法,其特征在于,所述深度神经网络包括基础卷积层、网格特征卷积层、局部特征卷积层、输出层;所述通过预先训练的深度神经网络对所述关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成所述关键帧人脸图像的信息矩阵,包括:
通过所述基础卷积层按照空域网格的尺寸对所述关键帧人脸图像进行下采样卷积处理,得到基础特征图像,所述空域网格为所述三维网格在所述空域上的二维投影;
通过所述网格特征卷积层对所述基础特征图像提取所述空域网格内的特征,得到网格特征图像;
通过所述局部特征卷积层对所述基础特征图像提取所述空域网格间的特征,得到局部特征图像;
通过所述输出层按照值域分区的数量对所述网格特征图像与所述局部特征图像进行维度转换,得到所述关键帧人脸图像的信息矩阵,所述值域分区为所述三维网格在所述像素值域上的一维投影。
7.根据权利要求1所述的方法,其特征在于,所述信息矩阵包括每个所述三维网格对应的基准信息矩阵;所述利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,包括:
基于所述关键帧人脸图像对所述基准信息矩阵进行插值,得到所述关键帧人脸图像的像素点对应的美颜信息矩阵;
根据所述关键帧人脸图像的像素点对应的美颜信息矩阵,分别对所述关键帧人脸图像的像素点进行美颜处理。
8.根据权利要求7所述的方法,其特征在于,所述利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,还包括:
获取所述关键帧人脸图像与所述非关键帧人脸图像之间的像素对应关系;
基于所述像素对应关系,调用所述关键帧人脸图像的像素点对应的美颜信息矩阵对所述非关键帧人脸图像中对应的像素点进行美颜处理。
9.根据权利要求8所述的方法,其特征在于,所述获取所述关键帧人脸图像与所述非关键帧人脸图像之间的像素对应关系,包括:
根据所述关键帧人脸图像中的人脸关键点与其在所述非关键帧人脸图像中对应的人脸关键点,确定所述关键帧人脸图像与所述非关键帧人脸图像之间的变换关系;
基于所述变换关系,将所述关键帧人脸图像中的像素点与所述非关键帧人脸图像中的像素点进行对应,以得到所述像素对应关系。
10.根据权利要求8所述的方法,其特征在于,所述利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,还包括:
针对所述非关键帧人脸图像中未与所述关键帧人脸图像的像素点对应的像素点,不进行美颜处理。
11.一种视频美颜处理装置,其特征在于,包括:
数据获取模块,被配置为获取待处理视频,检测所述待处理视频中的人脸;
图像提取模块,被配置为根据所述人脸在所述待处理视频的不同帧之间的变化,从所述待处理视频中提取所述人脸的关键帧人脸图像以及所述关键帧人脸图像对应的非关键帧人脸图像;
信息矩阵生成模块,被配置为通过预先训练的深度神经网络对所述关键帧人脸图像提取基于三维网格的特征,并根据所提取的特征生成所述关键帧人脸图像的信息矩阵,所述三维网格是对所述关键帧人脸图像的空域与像素值域所形成的三维空间进行划分而得到的;
美颜处理模块,被配置为利用所述关键帧人脸图像的信息矩阵对所述关键帧人脸图像与所述关键帧人脸图像对应的所述非关键帧人脸图像进行美颜处理,基于美颜处理的结果得到所述待处理视频对应的美颜视频。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10任一项所述的方法。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210189813.4A CN114565532A (zh) | 2022-02-28 | 2022-02-28 | 视频美颜处理方法、装置、存储介质与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210189813.4A CN114565532A (zh) | 2022-02-28 | 2022-02-28 | 视频美颜处理方法、装置、存储介质与电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114565532A true CN114565532A (zh) | 2022-05-31 |
Family
ID=81715244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210189813.4A Pending CN114565532A (zh) | 2022-02-28 | 2022-02-28 | 视频美颜处理方法、装置、存储介质与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114565532A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115410262A (zh) * | 2022-10-09 | 2022-11-29 | 刘鹏 | 面部图像信息预测系统 |
-
2022
- 2022-02-28 CN CN202210189813.4A patent/CN114565532A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115410262A (zh) * | 2022-10-09 | 2022-11-29 | 刘鹏 | 面部图像信息预测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112330574B (zh) | 人像修复方法、装置、电子设备及计算机存储介质 | |
CN110324664B (zh) | 一种基于神经网络的视频补帧方法及其模型的训练方法 | |
CN110675404B (zh) | 图像处理方法、图像处理装置、存储介质与终端设备 | |
Rao et al. | A Survey of Video Enhancement Techniques. | |
WO2022141819A1 (zh) | 视频插帧方法、装置、计算机设备及存储介质 | |
US9390478B2 (en) | Real time skin smoothing image enhancement filter | |
CN111598776B (zh) | 图像处理方法、图像处理装置、存储介质与电子设备 | |
JP6094863B2 (ja) | 画像処理装置、画像処理方法、プログラム、集積回路 | |
WO2023284401A1 (zh) | 图像美颜处理方法、装置、存储介质与电子设备 | |
WO2018082185A1 (zh) | 图像处理方法和装置 | |
WO2018136373A1 (en) | Image fusion and hdr imaging | |
WO2022206202A1 (zh) | 图像美颜处理方法、装置、存储介质与电子设备 | |
CN111402258A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
CN112602088A (zh) | 提高弱光图像的质量的方法、系统和计算机可读介质 | |
CN113902611A (zh) | 图像美颜处理方法、装置、存储介质与电子设备 | |
CN114049278A (zh) | 图像美颜处理方法、装置、存储介质与电子设备 | |
CN112233041A (zh) | 图像美颜处理方法、装置、存储介质与电子设备 | |
CN114565532A (zh) | 视频美颜处理方法、装置、存储介质与电子设备 | |
CN114331918A (zh) | 图像增强模型的训练方法、图像增强方法及电子设备 | |
CN111932594B (zh) | 一种基于光流的十亿像素视频对齐方法及装置、介质 | |
WO2024032331A9 (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN112200817A (zh) | 基于图像的天空区域分割和特效处理方法、装置及设备 | |
CN115330633A (zh) | 图像色调映射方法及装置、电子设备、存储介质 | |
CN115187488A (zh) | 图像处理方法及装置、电子设备、存储介质 | |
CN114359100A (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 |