工程安全与Uber的实时身份检查

工程安全与Uber的实时身份检查

安全和保障是优步业务的核心。安全的一个重要部分是验证搭载乘客的司机和伴侣是接受优步筛选程序的同一个人。通过工程设计,我们采取了一种积极主动的方法,通过一种新的安全解决方案称为实时ID检查这保证了开车的人是对的。

实时身份检查(Real-Time ID Check)可以确保接你的司机是接受优步筛选程序的同一个人。

这一功能保护乘客免受未经验证的司机的侵害,并通过确保司机的账户不被泄露来防止欺诈。以下是优步工程安全团队最近如何构建这一关键工具的故事。

用自拍构建解决方案

为了构建一个有效且可扩展的解决方案,我们需要一种可以在全球范围内部署的技术,并且仍然能提供高度可信的结果。我们首先评估了人脸、语音和手势识别方面的各种前沿技术解决方案。每一项技术都带来了独特的挑战,特别是考虑到我们的产品在世界各地使用的环境差异很大。

语音识别解决方案面临的一个挑战是,在音乐和交通的背景干扰下,它们的性能会急剧下降。这个解决方案对于我们平台上有语言障碍的司机搭档来说也是不切实际的。手势识别算法在一个受控制的环境中,只有少数精通技术的用户,能取得很好的结果。然而,由于用户体验的挑战和陡峭的学习曲线,它没有满足我们的全球规模要求。

与我们评估的所有其他解决方案相比,人脸识别脱颖而出。典型的人脸验证算法包括三个主要步骤:

  1. 人脸检测:在给定的图像中识别一张脸。如果没有检测到人脸,则跳过接下来的步骤,因为没有人脸可以匹配。
  2. 特征提取:通过从图像中提取面部特征,如眼睛位置和脸型,构建一个特征集。
  3. 面对匹配:将该特征集与给定人脸的已验证特征集进行比较。

一旦我们决定使用人脸验证,我们就研究了几家领先的供应商,并进行了比较分析。我们将每个供应商的结果绘制为在不同程度的匹配置信度阈值下的真阳性率(TPR)与假阳性率(FPR)的比值。由此产生的受试者工作特征(ROC)曲线使我们能够确定可能的最大TPR,同时最小化FPR。寻找具有最高TPR的解决方案,我们最终选择了使用微软的Face API认知服务套件。

一个通过微软face API进行人脸检测的例子。

在我们的测试中,微软的Face API不仅是最准确的,而且还为我们的产品提供了一组强大的关键功能。我们的实时ID检查利用了两个特定的api:

  • Face-Detect检测图像中的人脸,并提供其他属性,如人脸是否戴眼镜。这个API甚至智能到可以区分老花镜和太阳眼镜。这帮助我们过滤掉了没有人脸的图像,并提高了验证自拍的匹配分数。
  • Face-Verify将面部检测API检测到的人脸与已经验证过的人脸进行比较,并提供两张人脸是否属于同一个人的置信度评分。基于置信度分数,我们可以采取适当的验证操作,例如要求用户重拍自拍照。

用户体验

实时身份检查的关键目标之一是避免驾驶员与合作伙伴之间不必要的摩擦。因此,我们专注于让用户体验在项目的每个阶段都尽可能无缝衔接。基于用户反馈和原型测试,我们完善了设计并调整了工程。这使我们能够创造一个简单而有效的体验,司机可以在几秒钟内完成。

以下是这种体验:

  • 司机搭档是随机选择的,提交一张自拍进行验证。
  • 微软的Face API用于检测提交的图片是否包含人脸。如果没有检测到人脸,则要求驾驶员-伙伴重新提交。
  • 一旦检测到人脸,微软的人脸API验证功能就会将人脸与与司机账户相关联的验证图片进行比较。
  • 如果面部匹配,则允许司机和搭档开始搭载乘客。如果面部不匹配,在我们调查情况时,司机会被暂时封锁。

从原型到全球规模

早期的原型表明,全球对这种身份检查工具的期望——让它适用于任何地方的司机——将带来一系列独特的挑战。

低照度的环境下

我们最初的UI利用了Driver应用程序现有的照片捕捉体验来拍摄头像照片。我们很快意识到,UI的黑暗背景在低光条件下(如夜间)无法使用结果。为了解决这个问题,我们切换到白色UI,并提高了屏幕的亮度,从而大大提高了拍摄照片的质量。

黑色的界面白色的界面在光线较弱的情况下,比如晚上的停车场,灯光UI是至关重要的。

设备的平台

在使用微软的Face API之前,我们最初使用客户端人脸检测来确保自拍照中存在人脸。然而,我们的许多司机合作伙伴使用的低端安卓手机不支持人脸检测。甚至一些声称支持人脸检测的设备也不能很好地运行。

通过使用微软的Face API,我们将检测逻辑转移到后端,并消除了这些硬件限制。这导致了一致的结果,无论设备,并为我们提供了更好的诊断检测故障的见解。此外,这一过程还提高了司机-伴侣档案照片的质量。

开车自拍

作为一种有效的安全措施,实时身份检查要求随机选择的司机伙伴验证他们的身份。由于这个选择过程的随机性质,这个请求可能会在驾驶伙伴驾驶时弹出。为了防止不安全和分心驾驶,我们增加了使用司机手机GPS的运动检测。如果车辆正在移动,我们会在司机开始验证流程之前提示他们靠边停车。

该功能在车辆行驶时使用安全措施提示。

戴眼镜自拍

尽管微软的Face API能够在用户戴着太阳镜或普通眼镜有反射的情况下检测到人脸,但这些配件会影响新自拍是否与司机的头像相匹配。如果照片不匹配,并且检测到眼镜,该功能会要求驾驶伙伴摘掉眼镜并重试:

眼镜检测可以防止错误的验证分数。

现实世界的影响

一个产品的真正成功体现在它对人们生活的影响上。自2016年9月我们首次推出以来,在市场上,超过99%的司机伴侣都通过了实时身份检查(Real-Time ID Check),大多数不匹配都是由于个人资料照片不清晰。

乘客可以放心地知道他们的司机已经经过了验证,司机的合作伙伴可以放心,骗子没有使用他们的账户。如果你有兴趣通过工程对现实世界产生影响安全和保障与我们来成为我们故事的一部分吧

“实时身份检查”背后的Uber团队自豪地拍下了自己的照片。

Nitin Bajaj是Uber工程公司信任与安全项目团队的软件工程师,Shimul Sachdeva是工程经理。他们与产品经理迪马•科瓦列夫(Dima Kovalev)共同撰写了这篇文章。

本文是工程安全系列文章的一部分我们之前关于远程信息处理的文章了解更多关于优步工程这类工作的信息。

有关Uber安全与隐私团队的更多信息,请参阅他们自己的团队Uber安全+隐私博客雷竞技到底好不好用

评论