技术深度解析
Meta的年龄估算系统建立在一个多模态计算机视觉流水线上,融合了两个主要数据流:面部几何分析和全身骨骼估算。面部组件使用一个卷积神经网络(CNN),该网络在数百万张带有标签的面部图像专有数据集上训练,其中真实年龄已知。该模型提取关键面部标志点——例如眼间距、前额高度与下巴长度的比例、以及下颌线角度——这些特征在发育期与生理年龄高度相关。该系统并非试图预测精确年龄,而是将用户划分为宽泛的年龄区间(例如13岁以下、13-17岁、18岁以上)。
全身组件使用一个独立的模型,很可能基于类似OpenPose或MediaPipe的姿态估算架构,用于估算身高和肢体比例。在账户创建流程或用户被标记进行年龄验证时,摄像头会捕捉一段短视频。AI从2D帧中重建3D骨骼模型,测量骨骼长度和关节角度。这些测量数据被输入到一个回归模型中,该模型基于来自CDC生长图表和CAESAR(民用美国与欧洲表面人体测量资源)数据库等来源的人体测量数据进行训练。模型输出一个关于年龄区间的概率分布。
一个关键的工程挑战是处理摄像头质量、光照条件和用户姿态的变化。Meta的系统采用多帧集成方法,对几秒钟视频的预测结果进行平均,以提高鲁棒性。整个推理过程在设备端运行以保护隐私——原始视频从不发送到Meta的服务器;只有年龄区间预测结果被传输。这是一个关键的设计选择,旨在缓解部分隐私担忧,尽管模型本身需要定期在服务器端更新。
对于对底层技术感兴趣的开发者,有几个开源仓库提供了相关的构建模块。MediaPipe框架(GitHub: google/mediapipe,28k+星标)提供可用于年龄估算的实时人脸和姿态检测模型。OpenPose仓库(GitHub: CMU-Perceptual-Computing-Lab/openpose,30k+星标)提供鲁棒的多人体关键点检测。对于人体测量建模,SMPL(Skinned Multi-Person Linear Model)模型家族(GitHub: nkolot/SPIN,2.5k+星标)能够从单张图像估算3D身体形状,可用于推断骨骼长度。然而,Meta的专有数据集和微调才是其在准确性上占据优势的关键。
基准数据: 尽管Meta尚未发布正式基准,我们可以将其方法与在公开数据集上训练的学术年龄估算模型进行比较。
| 模型 | 数据集 | MAE(平均绝对误差) | ±2年内准确率 | 备注 |
|---|---|---|---|---|
| Meta(专有,估算) | 内部(数百万) | ~1.8年(针对18岁以下) | ~85% | 多模态(面部+身体) |
| DeepAge (ResNet-50) | IMDB-WIKI | 2.5年 | 78% | 仅面部 |
| DEX (VGG-16) | Adience | 3.1年 | 72% | 仅面部,小数据集 |
| 基于FaceNet | UTKFace | 2.8年 | 75% | 仅面部 |
数据要点: Meta的多模态方法很可能实现了显著低于纯面部学术模型的错误率,尤其是在骨骼生长最快的18岁以下关键人群中。然而,缺乏独立验证是一个令人担忧的问题。
关键参与者与案例研究
Meta并非唯一涉足年龄验证领域的公司。多家公司和平台正在开发或部署竞争性解决方案,各有不同的权衡。
Yoti(总部位于英国)是最著名的独立年龄验证提供商。Yoti的系统使用面部年龄估算,声称对13-17岁人群的准确度在1.5年以内。它已被Epic Games(《堡垒之夜》)等平台以及多家英国零售商用于年龄限制购买。Yoti的模型在超过20万张图像的多样化数据集上训练,并获得了英国年龄检查认证计划的认证。与Meta的关键区别在于,Yoti是第三方服务,而非平台运营商,这减少了利益冲突,但引入了延迟和成本。
TikTok(字节跳动)自2022年起一直在测试自己的年龄估算技术。TikTok的系统分析应用内行为模式(例如使用时长、内容偏好、话题标签使用)并结合定期的面部扫描。字节跳动已发表关于名为AgeFormer的模型的研究,该模型使用Transformer架构处理视频序列,在内部数据上实现了1.2年的MAE。TikTok的方法更全面,但也更具侵入性,因为它需要持续的行为监控。
Snapchat(Snap Inc.)采用更简单的方法:要求用户提交政府签发的身份证件照片,然后使用活体检测模型确保证件照片是真实的。这种方法更准确,但摩擦成本高——手动操作繁琐。