Anderson 视角

AI工具去除化妆以防止未成年人绕过年龄检查

mm
Flux, SDXL, Photoshop Neural filters, Firefly, Krita et al.

化妆的外观让未成年用户,尤其是女孩,能够绕过基于自拍的年龄检查,例如在约会应用和电子商务网站上。一个新的AI工具解决了这个漏洞,使用一个鉴别模型来擦除化妆,同时保留身份,使得未成年人更难欺骗自动系统。

 

第三方基于自拍的年龄验证服务的使用正在增加,这部分是由于全球范围内对在线年龄验证的普遍推动,不仅是在英国的在线安全法案中,现在由英国的Ofcom强制执行,年龄验证可以由各种第三方服务进行,使用各种方法,包括视觉年龄验证,人工智能用于预测用户的年龄(通常来自移动设备的实时摄像头)。使用这种方法的服务包括Ondato、TrustStamp和Yoti。

然而,年龄估计并非万无一失,传统上青少年渴望获得成年人的权利,这意味着年轻人已经开发出各种方法来进入禁止他们年龄段的约会网站、论坛和其他环境。

这些方法之一,主要由女性使用,就是化妆,这种方法被证明能够欺骗自动化的年龄估计系统,通常会高估年轻人的年龄,并低估老年人的年龄。

不仅仅是女孩

在考虑化妆作为“女性化”的问题之前,我们必须注意到任何人脸上的化妆都是一个非常不可靠的性别指标:

在论文“面部化妆对自动性别和年龄估计算法的影响”中,美国研究人员发现,性别验证系统被性别交换化妆所欺骗。来源:https://cse.msu.edu/~rossarun/pubs/ChenCosmeticsGenderAge_VISAPP2014.pdf

在论文“面部化妆对自动性别和年龄估计算法的影响”中,美国研究人员发现,性别验证系统被性别交换化妆所欺骗。来源:https://cse.msu.edu/~rossarun/pubs/ChenCosmeticsGenderAge_VISAPP2014.pdf

2024年,美国18-24岁的男性消费者中有72%被估计将化妆融入他们的日常生活中,尽管大多数人使用化妆产品来增强健康皮肤的外观,而不是沉迷于与女性视觉美学相关的表演性化妆/唇膏组合。

因此,我们不能不沿着新研究中探讨的最常见场景的思路来处理本文中所讨论的材料——即使用化妆来破坏自动化视觉年龄验证系统的女性未成年人。

有效的化妆去除——AI方式

上述研究来自纽约大学的三位贡献者,以新论文《DiffClean:基于扩散的化妆去除,用于准确的年龄估计》的形式出现。

该项目的目标是实现一种AI驱动的方法来从图像(可能包括视频图像)中去除化妆的外观,以便更好地了解化妆背后的人的真实年龄。

来自新论文的化妆去除示例。来源:https://arxiv.org/pdf/2507.13292

来自新论文的化妆去除示例,显著改变了年龄预测。来源:https://arxiv.org/pdf/2507.13292

开发此类系统的挑战之一是围绕收集或整理未成年女孩化妆图像的潜在敏感性。最终,研究人员使用了一种名为EleGANt的第三方生成对抗网络来人工地施加化妆风格,这种方法被证明非常有效:

清华大学2022年的EleGANt系统使用生成对抗网络(GAN)将化妆真实地叠加到源照片上。来源:https://arxiv.org/pdf/2207.09840

清华大学2022年的EleGANt系统使用生成对抗网络(GAN)将化妆真实地叠加到源照片上。来源:https://arxiv.org/pdf/2207.09840

使用这种方法获得的合成数据,以及来自各种辅助项目和数据集的帮助,作者能够在面对表演性或“明显”的化妆时超过最先进的年龄估计方法。

论文指出:

‘DiffClean使用文本引导的扩散模型来抵御化妆攻击。它提高了年龄估计(小于18岁与成年人准确率提高了4.8%)和面部验证(TMR提高了8.9%,FMR=0.01%)与基线相比,在数字模拟和真实化妆图像上。’

让我们来看看他们如何完成这项任务。

方法

为了避免使用真实的未成年人化妆图像,作者使用EleGANt将合成化妆应用于来自UTKFace数据集的图像,生成用于训练的前后对。

UTKFace数据集示例。来源:https://susanqq.github.io/UTKFace/

UTKFace数据集示例。来源:https://susanqq.github.io/UTKFace/

DiffClean然后被训练来逆转这一转换。由于年龄估计算法在处理年轻年龄组时最容易出错,研究人员发现有必要开发一个代理年龄分类器,针对目标年龄(10-19岁)进行微调。为此,他们使用了SSRNet架构,在UTKFace上进行训练,使用加权L1损失。

2021年OpenAI的扩散模型的简化版本为转换提供了骨架,作者保留了核心架构,但修改了它以包含额外的注意力头,在不同的分辨率下,增加了更深的层和BigGAN风格的块,以提高上采样和下采样的阶段。

使用CLIP提示引入了方向控制:具体来说,带有化妆的脸没有化妆的脸,这样模型就可以学习沿着所需的语义方向移动,使化妆能够被去除,而不会损害面部细节、年龄线索或身份。

使用EleGANt应用的合成化妆。每个三元组显示原始UTKFace图像(左),参考化妆风格(中)和风格转移后的结果(右)。

使用EleGANt应用的合成化妆。每个三元组显示原始UTKFace图像(左),参考化妆风格(中)和风格转移后的结果(右)。这种化妆转移在计算机视觉文献中很常见,这种功能也可以在Adobe Photoshop的神经滤镜中找到,可以将参考图像中的化妆应用于目标图像。

四个关键损失函数指导了化妆去除,而不会影响面部身份或年龄线索。除了上述基于CLIP的损失外,身份被使用加权的ArcFace损失来保存,来自InsightFace库,这些损失衡量了生成的脸与原始干净图像和“化妆”的图像之间的相似度,确保了化妆去除前后主体的视觉一致性。

第三,感知损失使用了学习的感知相似性度量(LPIPS),使用L1距离来执行像素级的现实性,并保留原始图像在化妆被去除后的整体外观。

最后,年龄被使用在UTKFace数据集上微调的SSRNet来监督,模型使用平滑的L1损失(对于10-29岁年龄范围内的错误有更重的惩罚,因为在这个范围内的错误最常见)。模型的一个变体用基于CLIP的年龄提示取代了它,提示模型匹配特定年龄的外观。

在推理时(与训练时相反),使用了2023年的MiVOLO框架来进行年龄估计。

数据和测试

在UTKFace上微调的SSRNet使用了15,364张图像的训练集,对于6,701张图像的测试集。原始的20,000张图像被过滤以去除任何年龄超过70岁的人,然后以70:30的比例分割。

按照2023年的DiffAM项目之前的方法,训练分两个阶段进行,初始会话使用300张真实世界的化妆图像(这次是200/100的训练和验证集),来自BeautyGAN的MT数据集。

然后使用300张额外的UTKFace图像进一步完善模型,这些图像使用EleGANt进行了合成化妆处理。这创建了一个最终的训练集,包含600个样本,跨五个来自BeautyGAN的参考风格。由于化妆去除涉及将多种化妆风格映射到一个干净的脸上,训练集中注重广泛的泛化,而不是覆盖每一种可能的化妆变化。

性能是在合成和真实世界图像上评估的。合成测试使用了2,556张Flickr-Faces-HQ(FFHQ)数据集的图像,均匀地采样了九个年龄组,年龄低于70岁,并使用EleGANt进行了修改。

使用3,000张来自BeautyFace和355张来自LADN的图像来评估泛化,这两个数据集都包含真实的化妆。

BeautyFace数据集的示例,展示了定义面部受影响区域的语义分割。来源:https://li-chongyi.github.io/BeautyREC_files/

BeautyFace数据集的示例,展示了定义面部受影响区域的语义分割。来源:https://li-chongyi.github.io/BeautyREC_files/

指标和实现

作者使用了平均绝对误差(MAE)作为指标,来衡量真实年龄和预测年龄之间的差异,结果越低越好;年龄组准确率用于评估预测年龄是否属于正确的年龄组(在这种情况下,结果越低越好);小于18岁/成年人准确率用于评估正确识别18岁以上的人的能力(在这种情况下,结果越高越好)。

此外,作者还报告了身份验证指标,以真匹配率(TMR)和假匹配率(FMR)为单位,并报告了相关的接收者操作特性(ROC)值。

SSRNet在64×64px图像上使用批大小为50的Adam优化器进行了微调,权重衰减为1e−4,并使用余弦退火调度器和学习率为1e−3,训练200个epoch,并使用早期停止。

相比之下,DiffClean模块接收256×256px的输入图像,并使用Adam优化器对五个epoch进行了微调,学习率为4e−3。采样使用40个DDIM逆向步骤和6个DDIM正向步骤。所有训练都在单个NVIDIA A100 GPU(无论是否具有40GB或80GB的VRAM)上进行。

竞争系统包括CLIP2Protect和上述的DiffAM。作者使用“matte”化妆风格,因为CLIP2Protect中指出这种风格可以实现更高的成功率(但这也可能为那些试图破坏这种方法的人提供了一条途径——但那是另一回事了)。

为了复制DiffAM作为基线,使用BeautyGAN的预训练模型在MT数据集上进行了微调。对于对抗性化妆转移,使用DiffAM的检查点,并使用目标模型、参考图像和身份的默认参数。

DiffClean与基线在年龄估计任务上的性能比较,使用MiVOLO。报告的指标是小于18岁/成年人分类准确率、年龄组准确率和平均绝对误差(MAE)。使用CLIP年龄损失的DiffClean在所有指标上都取得了最好的结果。

DiffClean与基线在年龄估计任务上的性能比较,使用MiVOLO。报告的指标是小于18岁/成年人分类准确率、年龄组准确率和平均绝对误差(MAE)。使用CLIP年龄损失的DiffClean在所有指标上都取得了最好的结果。

作者指出:

‘我们的方法DiffClean优于两个基线,CLIP2Protect和DiffAM,并且能够成功恢复由于化妆而破坏的年龄线索,通过降低MAE(到5.71)和提高整体年龄组预测准确率(到37%)。’

‘我们的目标集中在小于18岁的年龄组,我们的结果表明我们实现了88.6%的优异小于18岁与成年人年龄分类。’

基线和提议方法的化妆去除结果。最左边的列显示源图像,下一个是CLIP2Protect和DiffAM的输出。第三列显示了通过SSRNet和CLIP基于年龄损失的DiffClean的结果。作者认为DiffClean更有效地去除了化妆,避免了CLIP2Protect中的特征失真和DiffAM中遗漏的化妆残留。

基线和提议方法的化妆去除结果。最左边的列显示源图像,下一个是CLIP2Protect和DiffAM的输出。第三列显示了通过SSRNet和CLIP基于年龄损失的DiffClean的结果。作者认为DiffClean更有效地去除了化妆,避免了CLIP2Protect中的特征失真和DiffAM中遗漏的化妆残留。

作者进一步指出,化妆并不对感知年龄有统一的影响,而是可以增加、减少或保持面部的感知年龄不变。因此,DiffClean并不应用一种“统一的年龄减少”,而是尝试通过去除化妆来恢复原始的年龄线索:

CelebA-HQ和CACD数据集的化妆去除示例。每列显示一对图像,在化妆去除前(左)和化妆去除后(右)。在第一列中,预测年龄在化妆去除后降低;在第二列中,预测年龄保持不变;在第三列中,预测年龄增加。

CelebA-HQ和CACD数据集的化妆去除示例。每列显示一对图像,在化妆去除前(左)和化妆去除后(右)。在第一列中,预测年龄在化妆去除后降低;在第二列中,预测年龄保持不变;在第三列中,预测年龄增加。

为了测试DiffClean在新数据上的性能,它被运行在BeautyFace和LADN数据集上,这些数据集包含真实的化妆,但没有相同主题的无化妆图像。比较了化妆去除前后的年龄预测,以评估DiffClean如何减少化妆引入的失真:

LADN(左对)和BeautyFace(右对)数据集的化妆去除结果。DiffClean通过去除化妆来降低预测年龄,缩小了显现年龄和实际年龄之间的差距。白色数字显示了处理前后的估计年龄。

LADN(左对)和BeautyFace(右对)数据集的化妆去除结果。DiffClean通过去除化妆来降低预测年龄,缩小了显现年龄和实际年龄之间的差距。白色数字显示了处理前后的估计年龄。

结果表明,DiffClean一致地缩小了显现年龄和实际年龄之间的差距。在两个数据集上,它平均降低了过估计和低估错误约三岁,表明该系统对真实世界的化妆风格泛化良好。

结论

很有趣,也许是不可避免的,表演性化妆会被用作对抗手段。鉴于女孩的成熟速度不同,但总体上更快,识别未成年女性和成年女性之间的界限可能是研究界面临的最雄心勃勃的任务之一。

然而,时间和数据可能最终会确定一致的年龄相关标志,可以用来锚定视觉年龄验证系统。

 

* 由于这个话题容易引起激烈的语言,并且“女孩”这个词是排他性的(而“女性和女孩”,目前被接受的术语,指的是女性性别的人,不是这个案例中的准确描述),我默认使用“女性”作为最好的妥协方案,尽管它没有捕捉到所有人口统计学的细微差别,对于这些差别,我表示歉意。

在这篇文章中,我使用“表演性”来指代旨在被看到和识别为化妆的化妆,例如睫毛膏、眼线、腮红和粉底,与其他“隐秘”的化妆应用不同。

首次发布于2025年7月18日

机器学习作家,人类图像合成领域专家。曾任 Metaphysic.ai 研究内容负责人。
个人网站: martinanderson.ai
联系: [email protected]
Twitter:@manders_ai