包括计算摄影(例如人像模式和闪光反射)和增强现实效果(例如虚拟化身) 在内的各种现实世界应用都依赖于通过跟踪虹膜来估计眼睛位置。一旦可以进行准确的虹膜跟踪,我们就会证明无需使用专用的深度传感器就可以确定从相机到用户的公制距离。这反过来可以改善各种用例,从计算摄影、虚拟试戴合适尺寸的眼镜和帽子,到根据观看者的距离采用字体大小的可用性增强。
由于计算资源有限、光照条件多变以及存在头发或斜视等遮挡,虹膜追踪在移动设备上是一项具有挑战性的任务。通常,采用复杂的专用硬件,限制了可应用该解决方案的设备范围。
FaceMesh可用于驱动虚拟化身(中)。通过额外使用虹膜跟踪(右),虚拟化身的生动性得到显著增强。
MediaPipe Iris 实现的眼睛重新着色的示例。
今天,我们宣布发布MediaPipe Iris,这是一种用于精确估计虹膜的新型机器学习模型。基于我们在MediaPipe Face Mesh上的工作,该模型能够使用单个 RGB 摄像头实时追踪涉及虹膜、瞳孔和眼部轮廓的标志点,而无需专门的硬件。通过使用虹膜标志点,该模型还能够确定拍摄对象与摄像头之间的度量距离,相对误差小于 10%,而无需使用深度传感器。请注意,虹膜追踪不会推断人们正在注视的位置,也不提供任何形式的身份识别。由于该系统是在MediaPipe中实现的(MediaPipe 是一个供研究人员和开发人员构建世界一流的 ML 解决方案和应用程序的开源跨平台框架),它可以在大多数现代手机、台式机、笔记本电脑甚至网络上运行。
针对远视人士的可用性原型:观察到的字体大小保持不变,与设备与用户的距离无关。
用于虹膜跟踪的 ML 管道 管道
的第一步利用了我们之前在3D 人脸网格方面的工作,该工作使用高保真面部特征来生成近似面部几何的网格。从这个网格中,我们分离出原始图像中的眼睛区域以用于虹膜跟踪模型。然后将问题分为两部分:眼睛轮廓估计和虹膜定位。我们设计了一个多任务模型,该模型由一个统一的编码器组成,每个任务都有一个单独的组件,这使我们能够使用特定于任务的训练数据。
虹膜(蓝色)和眼睑(红色)追踪的示例。
为了从裁剪后的眼部区域训练模型,我们手动注释了约 50,000 张图像,代表了来自不同地理位置的各种照明条件和头部姿势,如下所示。
用眼睑(红色)和虹膜(蓝色)轮廓标注的眼睛区域。
裁剪的眼睛区域作为模型的输入,模型通过单独的组件来预测标志。
基于虹膜的深度:从单张图像进行深度估算
我们的虹膜追踪模型能够确定拍摄对象到相机的度量距离,误差小于 10%,且无需任何专门的硬件。这是通过依赖这样一个事实实现的:人眼的水平虹膜直径在广泛的人群 [ 1、2、3、4 ] 中大致保持恒定在 11.7±0.5 毫米,以及一些简单的几何参数。为了说明,考虑投影到方形像素传感器上的针孔相机模型。可以使用相机的焦距从面部特征点估算到拍摄对象的距离,焦距可以通过相机捕捉 API 获得,也可以直接从所捕捉图像的EXIF 元数据中获得,以及其他相机固有参数。给定焦距,从拍摄对象到相机的距离与拍摄对象眼睛的物理大小成正比,如下图所示。
可以使用相似三角形根据焦距(f)和虹膜大小计算出拍摄对象的距离(d )。
左图: MediaPipe Iris 仅通过虹膜追踪预测 Pixel 2 上的厘米距离,无需使用深度传感器。右图:真实深度。
为了量化该方法的准确性,我们通过收集 200 多名参与者的前置同步视频和深度图像,将其与 iPhone 11 上的深度传感器进行了比较。我们使用激光测距设备通过实验验证了 iPhone 11 深度传感器的误差在 2 米以内的距离内小于 2%。我们的评估表明,使用虹膜大小进行深度估计的方法的平均相对误差为 4.3%,标准差为 2.4%。我们对戴眼镜和不戴眼镜的参与者测试了我们的方法(不考虑参与者戴隐形眼镜的情况),发现眼镜会使平均相对误差略微增加至 4.8%(标准差为 3.1%)。我们没有对患有任何眼疾(如老年环或眼翳)的参与者测试这种方法。考虑到 MediaPipe Iris 不需要专门的硬件,这些结果表明,在具有广泛成本点的设备上从单个图像获得度量深度是可能的。
估计误差的直方图(左)和虹膜实际距离与估计距离的比较(右)。
MediaPipe Iris 的发布
我们将虹膜和深度估计模型作为跨平台 MediaPipe 管道发布,该管道可在桌面、移动设备和 Web 上运行。正如我们最近在Google 开发者博客文章中关于 Web 上的 MediaPipe所述,我们利用WebAssembly和XNNPACK在浏览器中本地运行我们的 Iris ML 管道,而无需将任何数据发送到云端。
使用MediaPipe 的 WASM堆栈,您可以在浏览器中本地运行模型!左图:虹膜跟踪。右图:仅根据带有 EXIF 数据的照片计算虹膜深度。可以在此处尝试虹膜跟踪,并在此处进行虹膜深度测量。
未来方向
我们计划扩展我们的 MediaPipe Iris 模型,使其具有更稳定的跟踪功能,从而降低错误率,并将其部署到可访问性用例中。我们坚信共享代码可以实现可重复的研究、快速实验和不同领域新想法的开发。在我们的文档和随附的模型卡中,我们详细介绍了预期用途、局限性和模型公平性,以确保这些模型的使用符合Google 的 AI 原则。请注意,任何形式的监视或识别都明确超出了范围,并且无法通过此技术实现。我们希望向更广泛的研究和开发社区提供这种虹膜感知功能,从而产生创造性的用例,刺激负责任的新应用和新的研究途径。
有关 MediaPipe 的更多 ML 解决方案,请参阅我们的解决方案页面和Google 开发者博客以获取最新更新。
致谢
我们要感谢 Artsiom Ablavatski、Andrei Tkachenka、Buck Bourdon、Ivan Grishchenko 和 Gregory Karpiak 在模型评估和数据收集方面的支持;感谢 Yury Kartynnik、Valentin Bazarevsky 和 Artsiom Ablavatski 开发网格技术;感谢 Aliaksandr Shyrokau 和注释团队在数据准备方面的辛勤工作;感谢 Vidhya Navalpakkam、Tomer Shekel 和 Kai Kohlhoff 的领域专业知识;感谢 Fan Zhang、Esha Uboweja、Tyler Mullen、Michael Hays 和 Chuo-Ling Chang 帮助将模型集成到 MediaPipe;感谢 Matthias Grundmann、Florian Schroff 和 Ming Guan Yong 对构建这项技术的持续帮助。
评论