大规模人脸图像编辑理论、方法及应用
来源:未知 时间:2021-18-16 浏览次数:299次
生物特征识别(BIOMETRICS)技术,是指通过计算机利用人体所固有的生理特征(指纹、虹膜、面相、DNA等)或行为特征(步态、击键习惯等)来进行个人身份鉴定的技术。本文主要介绍图像编辑涉及的理论基础和它的方法和应用一、基础理论
1、全光人脸分析
在计算机处理图像的过程中,涉及一个基本的概念就是全光函数。它是决定空间中光线呈现形式的因素组成的一个函数,包括光谱信息、时间信息、空间信息、深度信息、亮度信息和方向信息等。如果波长固定,那就是灰度图像,如果有多个波长,那就是彩色图像;如果是时间有变化那么就是视频;空间信息自然不用说了;如果考虑深度信息就是深度成像,在成像时会测量图像的深度信息;如果考虑亮度信息就是高动态图像;如果考虑光线方向,就是光场相机。所有这些组成了全光函数,在人脸识别中我们需要对这个函数有所了解,从而得到比较符合真实世界的图像。目前,我们智能感知与计算研究中心依托国家自然科学基金委重大仪器专项[1]和华为公司合作项目[4][5],已设计和搭建全光人脸采集系统和深度数码变焦图像分析设备。这部分工作主要由中心的张堃博和胡坦浩完成。
2、视觉拓扑优先
图像编辑的基本研究目标是希望生成/合成的图像是符合人的视觉认知的,通俗而言就是让观察者判断不出这个图像是真实的还是计算机生成的。基于这些考虑,中科院的陈霖院士提出了视觉拓扑优先的概念,他认为人在识别人脸时对拓扑信息的变化的感知优先于其它信息。实际上,对于拓扑结构变化的敏感性是生物感知系统中的基本特性,例如蜜蜂对空心圆和实心圆的拓扑结构变化非常敏感。相关成果发表在《科学》杂志上。视觉拓扑优先机制的数学建模问题一直是一个困难问题,我们中心在国家自然基金委重点基金项目[3]的支持下,深入研究了视觉拓扑优先的多种数学表达形式,例如全局和局部结构、小波分解、heatmap和人脸解析图等。根据拓扑变换的性质,相关的人脸图像编辑任务可以分为拓扑不变任务和拓扑变换任务。
3、生成对抗结构
这里涉及到最常用的模型是生成模型,即学习联合概率密度分布,它可以从统计的角度表示数据的分布情况,能够反映同类数据本身的相似度。生成模型的主要功能有两个:一是进行密度估计,二是生成样本。生成/合成人脸时,所要的就是生成/合成的人脸和真实人脸相似。生成模型中大家比较熟悉的就是GAN,即生成对抗网络。大家都比较熟悉,我在这里就不再详细介绍了。此外,我们也结合变分自编码机和胶囊模型来研究新的生成式模型。
4、身份保持结构
每个人都有自己的身份信息。人脸生成/合成任务自然希望能够保持这个身份信息。在身份保持方面,我们的研究借鉴视觉认知中最基本的概念,即,定序测量(Ordinal Measures,OM)。这是一个基本的度量方式。人类所采用的度量方式主要包含以下四种。
生活中,定序测量的思想随处可见。比如我们只需要知道篮球比足球重,至于重多少克则大多数情况下是没有必要知道的。根据 OM 概念,中科院的谭铁牛院士提出一个既简单又好用的方法,即,通过简单的比较大小,实现计算机视觉的复杂特征提取。最初这个研究工作应用到虹膜识别,判断虹膜是否属于同一个人。基本思路就是通过比较大小得到一个特征编码,通过这个特征编码便可以进行分类。目前这种思想已经被广泛应用于计算机视觉中。
我们把这种定序测量的方式引入到卷积神经网络的激活函数中。常用的激活函数有两种:ReLU 和Maxout。通常认为,由于 Maxout 需要使用两条直线才能近似 ReLU,因此,Maxout 网络通常是 ReLU 网络大小的两倍以上。而我们这个方法采用的定序测量非常简单,就是比数值大小,谁的值小谁就被抑制掉,因此可以得到一个比较小的卷积神经网络。
不同于以前的方法,我们借鉴神经学中一个基本的概念:侧向抑制。这是神经元的激活机制,即通过对比机制来减少临近神经元的激活,同时神经元能够抑制一些神经信号传播,这种方式能够增加神经信号的清晰度。借用这种概念,我们在网络中添加了侧向抑制的机制,以眉毛区域为例,其相邻水平位置激活,相邻竖直位置就会被抑制。引入上述概念后,依托于国家自然科学基金委重点项目[2],我们中心的吴翔等设计了一个轻量级的神经网络 Light CNN [6],该网络具有提炼度高,空间占用小的特点。它在人脸识别以及车辆识别问题上都已经取得了较好的效果。这个网络所具有的结构小而分辨率高的特点能够辅助我们在人脸图像编辑过程中进行身份判别。该工作发表在上。目前,该研究工作受到国内外研究者的较大关注,相关代码已经在 github 上公布,依据网络层数不同,分为 LightCNN9 和 LightCNN29 两个版本。
以上四个部分就是我们在研究人脸图像的过程中遇到的基础问题。首先,需要对光的结构比较了解,只有了解了光的信息才有比较好的成像效果;其次,因为图像是给人看的,因此生成的图像要符合人的认知;另外,介绍了一种基本的网络结构,即生成对抗网络,来指导人脸图像的编辑;最后是身份保持损失,目的是希望合成后的人脸图像保持原有的身份信息。这四个部分构成了图像编辑的主要基础部分,当然还有一些其它部分。
二、方法应用
接下来介绍一下我们中心近期做的一些相关研究内容,由于时间关系,主要包括七个主要部分。每个部分在计算机视觉中都是独立的分支,在金融民生或公共安全领域也都有很重要的应用。
1、超分辨率
第一个是图像超分辨率,即在给定低分辨率(LR)输入的情况下估计出高分辨率(HR)图像的问题。例如摄像头采集的图像一般分辨率比较低,如何对它进行超分,得到一张清晰的图像并保持其身份信息,就是我们所研究的内容。
超分算法一般可以分为两大类,一类属于通用的超分算法,例如基于插值的方法、基于图像统计的方法或者基于字典学习等的方法,这类算法适用于所有的图像超分问题。另一类属于特定领域的超分算法,例如基于先验统计的方法,现在也有基于生成模型的方法以及感知损失函数的方法。
我们中心的黄怀波等提出在超分的过程中使用小波分解技术[13]。假设超分图像的每个位置在超分时都依赖于原始的图像对应的地方,这样我们的超分算法不会破坏全局信息。通常,超分问题被建模为一个概率问题。在这种模型中,给定输入的图像,直接预测完整的图像,这个预测过程不能保证是不变的。不同于此,我们在训练时输入一张高清的图像,然后进行小波分解,对分解后的图像分别预测,之后再合成完整高清图像,这样得到的结果就可以尽量避免出现偏差。
2、视角旋转
另外一个比较重要、也是现在各大公司比较关注的人脸视角旋转应用,即将归一化的人脸旋转到任意姿态。例如从一张正脸图像生成侧脸图像;或反之,从采集到的一张侧脸恢复其正脸图像,公安领域常有此需求。
视角旋转有 x、y、z 三个方向,我们目前只考虑左右偏转。如果从单张图像进行旋转的话,这需要「无中生有」,因为有些信息是没有的,所以旋转时结果存在偏差。人脸旋转有两部分研究内容,一部分是 2D 模型,一部分是 3D 模型。
既然图像合成比较难,又不能直接预测,因此,我们引入几个局部通路专门负责人脸局部信息的合成,该工作发表在 ICCV 2017 [15]。根据人脸五官,我们引入四个局部通路,再加上一个全局的通路,同时保持全局和局部的拓扑保持不变。局部四个部分进行分别合成,最后再与全局进行融合,得到一个正脸。我们中心在该问题上的后续工作成果[9]发表在 CVPR2018 上。
3、上妆去妆
另外一个做的比较多的就是上妆去妆。「上妆」自然是希望在拍摄后把人脸进行妆颜美化,去妆则是去除掉图像中的妆容从而变为素颜。作为一个单独的研究问题,上妆去妆从 2009 年开始陆续得到研究者的关注。2018 年,我们中心的李祎等提出利用生成网络来完成去妆[11],并在 AAAI2018 上发表。我们主要希望针对手机用户,使得去妆之后能够得到比较好的视觉结果。跟前面的方法类似,这里仍需要保持拓扑结构,同时我们提出两层对抗网络,采用两个判别器,一个是进行身份信息判别,另外一个对是否为真实图像进行判别。
最新的自动上妆工作是2018年美国 Adobe 公司提出的模型。该方法以 cycleGAN 模型为基础,对眼部、唇部和其他面部皮肤分别上妆,之后再把分块上妆结果反贴回原脸。由于该方法在合成全脸化妆效果时使用的是 image warping 方法,因此该方法实际上采用的是一种半生成模型。
4、表情编辑
表情编辑涉及到两个问题,一个是表情合成,一个是表情去除。2018 年,我们中心的宋凌霄等提出一个新的表情合成/去除的算法[14],包括一下几个基本部分:一、拓扑结构变化,因为眨眼的时候拓扑结构发生变化,因此希望用这个信息指导表情的变化;二、身份保持,我们不希望添加了表情后变成了另外一个人。我们的工作有两个特点,一个特点是能够得到一个真实图像,另外一个是能够识别身份信息。
下面是我们方法得到的合成效果。
5、年龄变换
从娱乐领域而言,预测脸部年龄的变化是一个重要的应用,其基本任务就是如何使人脸图像老化/年轻化。
年龄变换在电影中应用比较广泛,例如年轻的演员在电影中变老,或年老的演员需要扮演年轻人等。在公安领域也有应用,比如寻找丢失多年的儿童;当然在隐私防范或生活娱乐中也有很多应用。
年龄合成作为计算机视觉的一个分支问题,其研究始于 1994 年。我们中心的李佩佩等在 2018 年提出了一种基于全局和局部的生成方法[12]。做年龄合成时,我们知道一般额头、眼睛以及嘴角变化比较大。因此除了做一个全局通道外,我们还在模型汇总另外添加了三个局部通道,随后将这三个局部通道合起来后再与全局通道融合在一起。同时,我们也使用多个判别器来保证合成结果的视觉效果。这是我们得到的实验结果:
6、像素补充
接下来的工作是人脸补充,即把遮挡了的人脸补全,这在图像编辑中也有很重要作用。现有方法可以归纳为三类:早期是使用基于补丁的方法,即通过观察缺失内容的上下文信息,从相同图像或外部图像数据库中搜索相似的补丁;其次是基于扩散方程的方法,即利用扩散方程迭代地沿着边界将低级特征从上下文区域传播到缺失区域;第三种则是基于稀疏表示的方法,即如果缺了某块儿区域,便通过编码或者解码,把原始的图像补充上去[8]。2017 年,国外学者进一步研究了基于生成模型的人脸补充,其目的是希望生成的拓扑结构和真实的拓扑结构保持一致。
在图像感知的时候,拓扑结构先于其它结构,所以我们考虑把拓扑结构作为先验条件。基于这种考虑,我们中心的宋林森等提出一种新的方法(Geometry-Aware Face Completion and Editing),先预测缺失的地方,随后再把这个拓扑结构跟原图一起输入,来生成真实的图像。
7、跨光谱合成
所谓跨光谱合成,指根据某种光谱/模态下的人脸图像,直接合成其他光谱/模态人脸 图像的技术。这个技术广泛应用于异质人脸识别,例如下图的可见光图像和近红外图像间的人脸识别。这个问题的挑战和光线有关,一方面不同的图像之间光线差别比较大,而另一方面可用于跨光谱训练的图像数据集也比较小。不过这个领域的研究也比较多,包括基于字典学习的方法、基于补丁映射的方法和基于生成模型的方法等。
我们的工作[10]是基于生成模型的方法,发表在 AAAI 2018 上,这应该是第一篇使用GAN模型的跨光谱合成方法。我们构建了生成对抗异质人脸识别模型(AD-HFR),并使用了全局和局部的结构,除了对整个脸部进行生成外,还对眼睛部分进行了专门处理,并且包含了身份保持函数。
三、总结
本次报告主要介绍了人脸图像编辑涉及的基础理论和应用方法。由于时间关系,基础理论部分还有部分内容没有深入介绍;而在应用部分,今天主要讲了超分辨率等,但还有人脸生成等许多应用没有涉及。
事实上人脸图像编辑,是计算机视觉中一个长期的研究目标,当前仍有很多问题没有解决。例如,当前研究的人脸图像分辨率大多是 128×128,随着手机的发展,其分辨率将会越来越高,那么如何编辑更高分辨率的图像?同时,很多场景对精确度的需求也变得越来越高,比如在 3D 重建中,医疗领域希望人脸的深度信息精度能够从 0.1 厘米提升到 0.05 毫米,这样便可以精准估计面部运动和身份信息。另外,一些特殊应用场景会要求生成十几万人乃至几亿人的人脸数据。另一方面,人脸图像编辑也是机器学习的重要研究内容,它的理论学习方法、硬件和软件都需要更大的突破,才能得到符合人类视觉感知的结果。
感谢中心成员张堃博、宋凌霄、吴翔、李祎、胡坦浩、黄怀波、李志航、李佩佩、胡一博和宋林森等人对于本次报告给予的协助和支持。谢谢大家。
- 上一篇: PHP软件开发中如何提高项目的运行效率
- 下一篇: 流行且好用的人工智能开源框架有哪些?