谷歌AI新技术:通过追踪虹膜,普通摄像头也能测距
目前的主流智能手机大多配有多个摄像头,每个都有不同分工,有的是黑白摄像头,负责提供更准确的对比度信息,有的则负责捕捉人物或场景深度,测量物体和手机之间的距离。
近日,谷歌 AI 研究团队发明了一种测量距离的新方法:通过机器学习模型捕捉和追踪用户的眼球(虹膜),就可以判断其与手机的距离。整个过程只用到普通的 RGB 摄像头,无需深度传感器或专用摄像头。
如果这项技术未来获得实装,那么手机上的摄像头数量终于有望减少了。
这项研究名为 MediaPipe Iris,属于谷歌 MediaPipe 机器学习开源项目的一部分。该项目旨在为研究人员和开发者提供免费、成熟的跨平台机器学习解决方案,其中还包括脸部识别、面部五官追踪、手势捕捉和物体识别等常见的计算机视觉任务。
眼球或虹膜追踪并非新技术,三星最早在 8 年前的 Galaxy S3 上就实装了眼球追踪技术。然而受到硬件性能、光照条件和潜在遮挡物的限制,这项技术的易用性较差,近几年已经被指纹和面部识别所取代。
不过,在某些应用场景下,虹膜追踪仍然有不可替代的地位,比如操控 VR 和 AR 设备很依赖虹膜追踪,手机相机的人像模式也需要追踪虹膜来确定眼睛和人脸的位置。通常来说,这些设备需要专用的传感器来获取这些数据,限制了设备的使用场景和潜力。
谷歌 AI 团队发表的最新研究成果,只需要一个普通的 RGB 摄像头就能实时追踪虹膜、瞳孔和眼睛轮廓的位置,并且支持手机端、电脑和网页上运行。该算法不会记录用户的生物特征,也不会追踪眼球的视线。
研究的第一步,是训练一套可以准确追踪眼睛轮廓的模型。得益于研究团队之前的研究成果——用机器学习算法捕捉面部五官轮廓(也是 MediaPipe 项目的一部分)——这项步骤得以简化许多。他们直接从五官轮廓中分离出眼睛区域,然后再将任务分为两部分:找出眼睛轮廓和虹膜定位。
他们还设计了一套多任务模型,只用一个统一的编码器,但每一个任务有一个单独的组件。这样就可以让训练数据只针对某一个任务。
为了训练模型,研究人员手动标注了 5 万张图片,囊括了世界上不同肤色和眼球颜色的图片,还包括各种光照条件和头部姿势。
模型的工作原理基于一条普适事实:尽管人的身材有瘦有胖,肤色和眼球颜色各异,但绝大多数人的虹膜水平直径约为 11.7±0.5 毫米。确定这一点之后,构建模型就更简单了,几乎就是初中物理的水平。
利用小孔成像原理,摄像头得以收集外界的光线,然后投影在传感器的像素上。因此我们可以通过内置 API 或者 EXIF 元数据调取成像时的焦距,获得传感器到相机孔的距离。由于虹膜直径是一个几乎固定的值,我们只需要计算出像素在传感器上的长度,就可以用比例推算出虹膜到相机的距离,即物体到相机的距离。
为了量化该方法的准确性,团队收集了 200 多个志愿者用 iPhone 11 拍摄的面部视频和深度图像。志愿者戴不戴眼镜都可以,但不能有任何眼疾。统计发现,iPhone 11 传感器测量 2 米以内深度的误差不到 2%。
作为对比,MediaPipe Iris 模型的平均估算误差约为 4.3%,标准差为 2.4%,约为 iPhone 11 误差的两倍。如果用户戴眼镜(不算隐形眼镜),估算误差会略微提高到 4.8%,因为镜片会让光线发生折射,更容易影响距离的计算。
尽管有 4%-5% 的误差,新模型的表现也算是可以接受的,毕竟还没有用到任何专用硬件辅助,在使用成本上占据了不小的优势,同时证明了在硬件性能有限的前提下,仍然可以通过单个摄像头获得深度/距离参数。
值得一提的是,依托于 MediaPipe 跨平台机器学习框架,这套虹膜测距模型可以直接在设备上本地运行,无需将数据发回到云服务器上运算,进一步提升了应用潜力。
下一步,谷歌 AI 团队计划继续提升 Iris 模型追踪虹膜的稳定性,降低错误率,并且尝试在手机的辅助功能中部署该技术,开放给更多开发者,探索更多的应用场景,比如能随着头部移动而自动变化网页浏览的字体大小。