旋转⼀张脸,总共要⼏步?

作者: 朱翔昱

来源: 格致论道讲坛

发布日期: 2023-11-02 13:40:31

本文介绍了朱翔昱在中国科学院⾃动化研究所的研究工作,主要围绕⼈脸识别技术的细分⽅向——⼈脸转正展开。文章详细描述了从侧脸图像到正脸图像的转换过程,包括三维⼈脸重建和⼈脸校正的技术细节,以及这些技术在⼈脸识别系统、刑侦领域、虚拟试装、元宇宙等⽅⾯的应⽤。同时,文章还探讨了⼈脸识别技术在安全领域的挑战和未来发展⽅向。

各位来宾,⼤家好!我是朱翔昱,来⾃中国科学院⾃动化研究所,今天很荣幸与⼤家分享我们的⼯作。相信⼤家平时都常⽤“⼈脸识别”功能,⽐如说上下班打卡、电⼦⽀付,进出⽕⻋站等等。今天我想由⼩⻅⼤,给⼤家介绍⼈脸识别的⼀个细分⽅向,带⼤家了解⼈脸识别是如何⼀步步克服困难,⾛向⼤家⽣活的。

为什么要识别侧脸?时值2012年,我进⼊中国科学院⾃动化所,跟随⼈脸识别的资深专家李⼦⻘⽼师从事⼈脸识别的研究。

当时我进到课题组⾥,发现⼈脸识别的各个⽅向都有师兄在做,有的研究识别、有的研究检测、有的研究跟踪。我发现我没什么可做的,没办法,我去找李⽼师商量。⽼师说,正好海关提出了⼀个需求,现有技术很难做,你看看能不能解决这个问题。当时⼈脸识别⾥正脸的识别率是很⾼的,但是⼀旦遇到侧脸,它的识别性能就会下降。然⽽海关⾥⼈来⼈往,你很难去限制这些⼈的⾏为,所以拍摄出来的照⽚⼤多数都是侧脸图像。

那么,能不能想办法把这张侧脸图像转到正脸,再送去识别?这就是我开始接触⼈脸转正这个⼯作的契机。

我们先来看⼀下,⼈脸转正为什么很重要。⾸先,姿态是影响⼈脸识别的⼀个关键因素。⼤家可以想象⼀下,那些仅有数⾯之缘的陌⽣⼈,你还记得他的侧脸⻓什么样吗?进⼀步来说,我给你⼀张陌⽣⼈的侧脸图⽚,你能不能想象出他的身份证照⻓什么样⼦?⼀般来说是很难的,除⾮经过专业训练。

就像图中这个⼩孩的侧脸和正脸的外观变化是很大的,很难匹配到⼀起。除了姿态之外,表情也是影响⼈脸识别⼀个很关键要素。有个⽣动的例⼦,就是《九品芝麻官》⾥周星驰靠这种搞怪的表情骗过了官差的“⼈脸识别系统”。我们就想到,如果能从⼀张⼈脸图像⽣成他正⾯的⽆表情图像,再送去识别,不就解决这个问题了吗?像上⾯这样,侧脸图像被校正成正脸,这时候就可以进⾏匹配了。

我们进⼀步分析,⼈脸的姿态和表情变化到底来源于什么?⼈脸其实是个三维物体,我们在拍摄⼈脸图像的时候,⼈脸是可以旋转的,可以⽤正⾯、侧⾯、甚⾄下巴⾯对镜头。这种旋转⾏为就导致了⼈脸图⽚的姿态变化。下⾯这⼀⾏显示⼈的表情变化。也就是说,⽆论是姿态变化还是表情变化,都是在三维空间中发⽣的。⼈脸校正之所以困难,就是因为我们在拍摄⼈脸图像的时候,把⼈脸从三维结构变成了⼆维图像。

在这个过程中,⼈脸的三维结构就丢失了。那么反过来,如果我们能够⽣成⼀张图像对应的三维⼈脸结构,再基于这个三维结构进⾏姿态和表情的校正,这个⼯作就变得⾮常直接和可靠。分析到这⾥,我和李⽼师就确定了这个技术路线。

重建⼀张三维⼈脸已完成:30%。显然,这个过程包含了两个技术,第⼀个是三维重建,第⼆个是⼈脸校正。我们先来看第⼀个技术三维重建。三维重建是依赖于⼀些⼯具的,其中最关键就是三维⼈脸模型。

三维⼈脸模型是这么构建的:我们找来⼀个三维的扫描仪,然后再找来男男⼥⼥、⽼⽼少少200个⼈,尽可能覆盖更多的脸形变化。然后扫描出他们的三维⼈脸,再进⾏点对点的配准,再经过⼀些数理统计的办法,就能得到这个三维⼈脸模型。三维⼈脸模型其实是由⼀系列参数控制的,⽐如说通过控制形状参数,可以改变脸形;通过控制表情参数可以控制⼈脸的⾏为;通过控制姿态参数,可以控制⼈脸的旋转。

也就是说,我给定姿态、形状和表情参数,我就能获得⼀个三维⼈脸。基于这个三维⼈脸模型,我们就想出来第⼀个办法——分析合成法。这个⽅法就是通过模拟⼀张⼈脸图像的⽣成过程,再使⽣成图像去逼近⽬标⼈脸,完成三维重建。

我们来看⼀下这个流程。这是我们的三维⼈脸模型,加上姿态、形状、纹理、光照参数,就⽣成了⼀张⼈脸图像。然后我们搜索这些参数,使得⽣成的图像跟⽬标图像尽可能相似。

⼀旦他俩⻓得⼀样,我们就认为三维⼈脸重建就成功了。这个视频就显示了如何通过三维⼈脸模型进⾏三维⼈脸重建。这也是我们组第⼀个三维⼈脸重建的结果,当时⽤到了各种⼈脸识别系统中,取得了不错的效果。然⽽,很快李⽼师⼜来找上我说,系统性能是不错,但是速度实在是太慢了。它是通过不断地迭代慢慢地去搜索,然后重建⼀张三维⼈脸。

重建⼀张⼈脸图像的过程通常需要⼀分钟,这在很多识别系统尤其是实时⼈脸系统识别⾥很难接受的。

那么接下来,我就去想怎么把这个速度给提升上来。恰好那时候⼈⼯神经⽹络开始流⾏。所谓⼈⼯神经⽹络是你通过训练它,让它看懂⼀张图像。应⽤在这个任务⾥,就是你需要通过训练⼀个神经⽹络,让它看懂图像中的⼈脸,然后把图像中⼈脸的姿态形状和表情参数返回给我,我去做三维重建。

我很快就在神经⽹络上尝试了⼀下,可是发现这个重建结构整体偏差是很⼤的。我就去分析这个原因,把神经⽹络输出的200个参数逐个分析了⼀下,发现了问题所在。三维⼈脸姿态、形状和表情这三组参数,它们的重要性是完全不⼀样的。其中姿态参数最关键,只要姿态参数偏上⼀点,整个⼈脸就偏掉了,其次是表情参数,最后才是形状参数。

如果不加区分把这些参数都送给神经⽹络学习,神经⽹络就会浪费资源在那些不重要的参数上,也就是说它不会抓住重点。所以我们经过⼀系列的研究,提出来⼀系列的学习策略,让神经⽹络⾃⼰能够知道哪些参数最重要,哪些参数次重要。它在学习的时候就会先学重要参数,再学不重要参数。

最终,我们就实现了基于神经⽹络的三维⼈脸重建办法。

最重要的⼀个特性就是在速度上有了重⼤的进化,从原来的分析合成法⼀分钟⼀张的速度,进化到了现在每秒钟⼀百张的速度,这个速度快到甚⾄可以在⼿机端进⾏实时的重建。即便是在这种⻜速变化的⼈脸上,三维重建也能够准确地去捕捉到⼈脸的细微动作。并且进⼀步在这种⼤姿态上它也能够稳定地重建,⽐如说完全的侧脸以及超⼤的俯仰⻆,它都可以稳定重建。到此,我们就实现了整个流程中的第⼀步——三维⼈脸重建。

如何把侧⾯转正已完成:50%。接下来,我们要考虑如何使⽤这个重建的三维⼈脸去把⼀张图像转正。要把⼀张⼈脸转正,需要先把这张图像背后的三维世界重建出来。⼈脸内部我们可以使⽤刚才重建的三维⼈脸获得,那么在⼈脸外部我们就只能粗略估计它的深度信息,这个信息不需要很准确,有就⾏。这样就把整张图像变成了⼀个三维物体。左图是⼆维的图像,到右边就把整张图像变成了⼀个三维物体。

它既然是个三维物体,显然可以在三维空间中旋转。我们把图像在三维空间中旋转到正⾯,然后再把表情给校正到位,重新成像,就得到了⼀个初步的校正结果,就是左下⻆这张图像。整个⼈脸的结构都已经转过来了,可是图像有⼀个缺陷,它有⼀个⿊边。这个⿊边怎么产⽣的呢?因为原图本来是⼀个侧脸,有半边脸是看不⻅的,⼀旦把它转到正脸以后,看不⻅的半边脸就暴露出来。

这部分在原图中是没有像素的,所以它只能空着,就形成了⼀个⿊边。显然需要去填充它,⽣成⼀张更完整的⼈脸图像。

那如何填充这个⿊边呢?⼤家会很⾃然地想,⼈脸不是对称的,可以⽤左半边脸的纹理去填充右半边脸纹理。但是很遗憾,虽然⼈脸本身是对称的,但是加上光照就不⼀定是对称的。想象⼀下,假设⼀束光从⼈脸⼀侧打过来,⼈脸会变成⼀半明⼀半暗的状态,也就是俗称的“阴阳脸”。

在室外环境下,光照就会更加复杂,我们就更⽆法使⽤对称性的假设。如果直接进⾏对称性的填充,只能得到⼀个⾮常不⾃然的结果,就像图中她的右半边脸有不⾃然的发⿊现象,这显然是我们不想看到的。经过上⾯分析,我们就想,能不能把⼈脸的光照和⼈脸本身分解开,然后再单独对⼈脸进⾏填充?

基于这个想法,我们就提出⼀个光照模型。我们通过分析⼈脸的明暗变化,就可以把⼈脸光照那⼀部分给分解出来,然后再⽤原图减去这个光照的部分,就得到⼀个跟光照⽆关的、⾯部细节的部分,这⼀部分是满⾜对称性的要求的。由于⾯部细节是对称的,所以我们就⽤对称性对它进⾏⼀个填充,然后再加回到刚才我们估计的光照部分,就得到最终的校正结果。⼤家看这个校正结果,⿊边去除了,这就是⼀个⾮常⾼保真的校正结果。

到此我们就可以回顾⼀下整个⼈脸转正的流程。⾸先根据⼀张输⼊图像,我们重建它的三维⼈脸;其次,将整张图像变成⼀个三维物体,在三维空间中对它进⾏转正;然后,把表情校正,重新成像;再把暴露出来的这半边脸给填充好,就得到了最终的校正结果。通过⼈脸校正,我们就提升了⼈脸识别系统对带姿态⼈脸的⼀个校正识别能⼒。其实⼈脸校正不光可以给⼈脸识别系统等机器看,还可以给⼈看。

举个例⼦,在刑侦领域经常只能获得⼀张嫌疑⼈侧脸低质量的图像,这时候如果使⽤我们这个系统,就可以尝试把正脸恢复出来,然后再去交给警官进⾏⽐对和侦查,提升刑侦的效率。

让⼈脸识别更⼈性化已完成:80%。其实,⼈脸校正背后蕴含的技术还有更⼴阔的应⽤范围。⽐如这个三维⼈脸重建的虚拟试装。⼤家可能在⼿机端试⽤过这类⾯部产品的虚拟试⽤功能。

它背后的逻辑就是通过⼿机采集到的⼈脸图像,把三维⼈脸给恢复出来,然后在三维⼈脸上化妆或者穿戴配饰,再重新成像返回给客户,就可以让客户体验到产品的虚拟效果。还有现在⾮常⽕的元宇宙,虚拟主播、虚拟带货背后也依赖三维重建。它把重建出来的三维⼈脸的表情和姿态系数映射到⼀个数字⼈身上,就实现了数字⼈的驱动。也就是说你做什么动作,这个数字⼈就做什么动作,来完成虚拟的交互。

有些应⽤也对三维⼈脸重建提出了更⾼层次的需求,就⽐如为⽤户定制个性化的虚拟形象。这就要求神经⽹络能够准确地捕捉⼈脸⾯部细节,让重建出来的三维⼈脸⼀看就是你。这属于⼀个新兴的⽅向,称之为精细三维⼈脸重建。理解⼈脸的三维结构,不仅对前⾯所说的身份识别、虚拟现实、增强现实的应⽤很关键,在安全领域上也⾮常关键。

就⽐如这个视频是⼀种对⼈脸识别的攻击性⾏为,通过把其他⼈的照⽚打印出来放给⼈脸识别系统看,让系统误以为这个照⽚上的⼈脸就在它⾯前,从⽽通⾏放过。这就产⽣了⼀个⾮常⼤的安全隐患。如果我们能够理解、发现⼈脸的三维结构,就可以很⾃然地区分真实⼈脸和⼀些伪造的东⻄。⽐如说照⽚是平⾯的,显然就是假的,⽽⼈脸有特定的三维结构,是真的,这时候它才放⾏。

这个领域称为⼈脸防伪,也是现在⼈脸识别研究的⼀个前沿⽅向,⽤于保证⼈脸识别系统的安全性。

伴随着解决⼀个个像⼈脸校正这样的⼩问题,⼈脸识别不断提升⾃身的性能,最终⾛进⼤家的⽣活中。但是我相信,⼈脸的潜⼒远不⽌于此,⼈脸作为⼈类社会⽣活中⾄关重要的对象,除了包含身份信息以外,还包含有更深层次的信息,⽐如说社会学上的情感信息,甚⾄更深层次的健康信息。在未来,我们通过更深⼊地理解⼈脸,就可以理解⼈类的深层次需求,使得⼈⼯智能系统更加⼈性化。

UUID: 7fbd3a79-caed-4450-a65c-d21496c97933

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/中科院物理所公众号-pdf2txt/2023/中科院物理所_2023-11-02「转」_旋转一张脸,总共要几步?.txt

是否为广告: 否

处理费用: 0.0137 元