定「睛」一看,就能区分照片真假?近日,来自纽约州立大学的华人研究员提出了一种全新的检测方法,可以根据眼睛形状判断人像的真假。不过,前提是你能把图放得了这么大才行。
现在,利用GAN生成的人脸几乎真实到让「肉眼」检测都达到了瓶颈。
比如说,
https://thispersondoesnotexist.com/,在这上每刷新一次都会生成一幅让你真假难辨的人脸。
不过,既然这些人脸是基于深度学习生成的,那我们就用魔法去打败魔法!
真实的人像(左),GAN生成的人像(右)
最近的研究表明,基于深度学习模型的检测方法确实可以提供了不少可行的方案。
然而,这些方法通常面临两个挑战:
- 检测结果缺乏可解释性;
- 由于过拟合导致在不同的合成方法中,泛化的稳健性很低。
为了消除这些限制并探索一个更稳健的模型,来自纽约州立大学奥尔巴尼和布法罗分校的华人研究员提出了一种全新的方法,通过不规则的瞳孔形状检测出GAN生成的人脸。
论文地址:https://arxiv.org/pdf/2109.00162.pdf
结果表明,从两只眼睛中提取瞳孔并分析它们的形状,可以有效区分GAN生成的人脸和真实的人像照片。
真实的人眼(左4),GAN生成的人眼(右4)
论文的主要贡献有三个方面:
- 发现不规则的瞳孔形状广泛存在于高质量的StyleGAN生成的人脸中,这与真实的人类瞳孔不同。
- 提出了一种新的基于生理学的方法,可以使用不规则的瞳孔形状作为检测GAN生成的人脸的依据,并且简单而有效。
- 提出的方法不仅可以用于设计自动检测方法,而且也给利用「肉眼」区分GAN生成的人脸提供了一个新的线索。
眼睛不会骗人
作者从人眼的主要解剖部位着手进行研究,眼睛的中心是虹膜和瞳孔,而白色区域是巩膜。
对于一个普遍意义上健全的人来说,瞳孔的形状是近乎圆形的。然而,在GAN生成的眼睛部分,可以观察到明显的伪影和不一致,如瞳孔的边界不是椭圆形的。
人眼的解剖结构
真实的眼睛(左),瞳孔为明显的圆形或椭圆形(黄色);GAN生成的眼睛(右),瞳孔为不规则的形状(红色)
这种现象普遍存在于GAN生成的人脸上,其中一个根本原因是,目前的GAN模型缺乏对人眼解剖学的理解,特别是瞳孔的几何形状。
方法实现
作者利用模型对两只眼睛的瞳孔进行自动提取,并在之后评估这些瞳孔的形状是否为椭圆形。
1. 瞳孔分割和边界检测
首先通过人脸检测器来定位人脸,然后用提取器获得人脸的landmark。
在对两只眼睛对应的区域进行适当裁剪之后,使用EyeCool提取瞳孔的掩码及其边界。
(a)输入的高分辨率人脸图像;(b)裁剪的眼睛图像;(c)图像(b)的预测瞳孔掩码;(d)对(c)进行椭圆拟合后的瞳孔掩码
EyeCool是一个改进的基于U-Net的模型,可以同时对瞳孔和虹膜、内部和外部边界进行分割。
其中EfficientNet-B5被用作编码器,并在解码器中添加了一个边界注意块,以提高模型关注物体边界的能力。
此外,Dice损失和MSE损失都被用来训练模型,其中Dice损失被用来评估分割部分,MSE被用来计算边界热图的回归损失。
2. 椭圆拟合的瞳孔
利用基于最小平方的椭圆拟合方法可用于预测瞳孔掩码的外部边界,以估计椭圆拟合的瞳孔边界。
u为预测的瞳孔掩码的外边界上的点的坐标,利用最小二乘法找到一组参数θ,使数据点和椭圆之间的距离测量最小:
并通过最小化N个数据点上的代数距离平方之和来确定椭圆的大小:
3. 测量不规则瞳孔的形状
Boundary IoU(BIoU)可以用来对边界质量敏感的图像分割。
相比于平等对待所有像素的Mask IoU,BIoU计算的是预测和基准真相之间的边界轮廓在一定距离内掩码像素的IoU。
因此,作者使用BIoU来评估距离瞳孔外边界d像素范围内的瞳孔掩码像素。
其中P表示预测的瞳孔掩码,F表示椭圆的瞳孔掩码,参数d是距离边界的距离,控制测量对边界的敏感性。
左:预测的瞳孔掩码P和椭圆的瞳孔掩码F;
中:Pd和Fd是距离边界d以内的掩码像素(蓝色和黄色);
右:预测的瞳孔掩码和椭圆修正的瞳孔掩码的距离参数d之间的边界IoU计算。
此外,当把d放大到足以包括掩码内的所有像素时,BIoU就等于掩码IoU。为了使BIoU对边界质量更加敏感,可以减少参数d以忽略掩码内部像素。
预测的瞳孔掩码和椭圆的瞳孔掩码之间的BIoU得分的范围是[0, 1],较大的值表明瞳孔的边界与椭圆的形状更相似,那么人脸也更可能是真实的;否则就是用GAN模型生成的。
结果分析
数据集
真实人脸图像来自FlickrFaces-HQ(FFHQ)数据集,GAN生成的人脸由StyleGAN2创建。每个类别有1000张图像,分辨率为1024×1024。
结果
真实的人的瞳孔是清晰的椭圆形,这可以从预测的瞳孔掩码和椭圆的瞳孔掩码之间较高的BIoU分数中反映出来。然而,不规则瞳孔形状的伪影导致BIoU得分明显降低。
真实的人眼
GAN生成的人眼
此外,真实的人脸和GAN生成的人脸在BIoU得分的分布上有明显的区别。
真实的人脸和GAN生成的人脸在边界IoU上得分的分布情况
接收者操作特征(ROC)曲线,对应的AUC(ROC曲线下的面积)为0.94。
ROC曲线是基于边界IoU的得分,d=4
由此表明,不规则的瞳孔形状能有效地识别GAN生成的人脸,并用来与真实的人脸进行区分。
超参数分析
BIoU测量法有一个基本参数d,它表示与边界的距离。当d足够大时,BIoU将减少到Mask IoU,从而对边界不那么敏感,这就是为什么AUC分数随着d的增加而减少。
x轴表示超参数d的变化,y轴为AUC得分
局限性
1. 当真实面孔的形状为非椭圆形时,可能会出现假阳性。例如瞳孔和虹膜区域的疾病。
由于瞳孔和虹膜区域的疾病和感染,导致的非椭圆形异常瞳孔
2. 瞳孔上的遮挡或瞳孔分割失败也可能导致错误的预测。
遮挡和瞳孔周围的噪声以及瞳孔分割失败
整体而言,论文提出利用瞳孔进行区分的方法是非常有效的。
不过,前提是图像的分辨率足够高……