春节期间,支付宝的「扫福得福」活动火爆异常。AR是一种新的交互方式,与传统营销方式相比,可以使用户更深入地参与互动,给用户带来新体验。而支付宝红包,寄托着用户对未来的期盼,因此其团队就考虑将AR与红包相结合,探索一种新的玩法。在AR领域走在前面的支付宝,其AR红包的技术选型、技术架构及其背后的技术故事都有哪些? 写在前面

2004年12月12日,我加入雅虎中国,也加入了互联网大军。至今,我还依稀记得,当时心中那种对互联网的敬畏之情。2009年,在雅虎的四年外企生活一晃而过,我有幸加入支付宝团队,并参与支付宝无线支付。从那之后,我每天都要接受无线浪潮的洗礼,人生轨迹从此也发生了巨变。

今天是我到阿里的第4096天,谈起“红包”,让我回忆起了,2015年参加第一次支付宝春节口令红包项目,团队获得蚂蚁金服CEO大奖;2016年负责识别猴子,开始具有了AR雏形,后续又提出了儿童时代“集卡片”玩法,可谓集五福前身;2016年开始建造支付宝AR系统,全面支撑了2017年AR实景红包、AR扫福等一系列活动……

提到AR红包,这是我们团队的一次大胆创新,现在就来和大家分享一下支付宝AR红包背后的技术和故事。

支付宝AR红包背景 AR的发展和旧玩法

AR是增强现实技术的简称,其历史可以追溯到1968年——哈佛大学电气工程副教授萨瑟兰,发明了名为“达摩克利斯之剑”的头戴式显示设备。

1998年,在当时的体育转播图文包装和运动数据追踪领域领先的公司Sportvision,在橄榄球赛的电视转播上使用了AR技术,将得分线叠加到了屏幕中的球场上。此后,AR技术开始被用于天气预报——将计算机图像叠加到现实图像和地图上面,从那时起,AR才真正地开始了其爆炸式的发展。

1999年,增强现实开发工具ARToolKit便问世了,很多开发者加入这个行业,推动领域向前发展。目前Microsoft、Google、Apple等公司都在AR领域进行了大规模投入,旨在推动下一代视窗交互系统的变革。

为什么要做支付宝AR红包

AR是一趟奔驰的列车,从个人到团队,从团队到公司,都希望搭上这趟列车,但是如何搭上,用何种技术搭上都是新的挑战。

AR是一种新的交互方式,与传统营销方式相比,可以使用户更深入地参与互动,给用户带来新体验。而支付宝红包,寄托着用户对未来的期盼,因此团队就考虑将AR与红包相结合,探索一种新的玩法。

AR新玩法

2015年,我们开始关注AR这个领域,当时为2016年制定的一个新春红包方案就是用手机识别猴子。这个方案让大家有了AR的感觉,项目组也想做一些AR的创新玩法。但是,由于当时相关技术储备不足,就放弃了。

方案虽然放弃了,但探索AR的新玩法这件事,深深地烙在了我们的心里。2016年一开春,我们创新组就开始储备相关技术知识:识别跟踪算,OpenGL、3D渲染引擎,建模能力,AR体系架构,等等。这些相关技术也陆续在小视频美颜、人脸贴图等社交场景进行了实践,为后续AR相关技术快速成型提供了保障。

如何推进AR的新玩法呢?当时,我们团队定下了两个目标,一是找一个小场景落地AR概念,二是在春节红包上使用AR技术,后者是我们的年度终极目标。

2016年的“中秋节扫月亮”,算是支付宝在AR领域的第一次尝鲜,体验和反响还不错。迈出这第一步之后,各种业务需求也接踵而来,AR新玩法也越来越多——双12线下商圈“扫双12集四宝”的活动,2017年春节AR实景红包,扫可口可乐福娃领红,扫福集福……

支付宝AR红包带来的挑战

新玩法自然会带来新挑战,不说别的,单单用怎么样一种方式呈现AR红包,就是非常大的挑战。

大多数AR的玩法都是针对预设的2D图片,离线训练好识别模型,然后在此基础上实现识别互动。由于是2D图片并且预先验证过,因此能较好的保证识别的效果。

支付宝AR实景红包算是业界的一次大胆尝试。用户自由选择真实3D场景,拍摄一张图片作为线索图,其他人根据线索图到指定位置拍摄图片进行比对。而这种方式呈现AR红包,自然也对图像匹配的算法性能提出了新的挑战,主要涉及如下方面。

  1. 算法鲁棒性:由于针对真实的3D场景拍照,匹配算法需要容忍一定的遮挡和角度、距离、光线、图片质量等的变化;

  2. 计算复杂度:由于在终端上进行实时匹配,算法的复杂度不能太高,否则会导致用户寻找红包时间变长,手机功耗消耗过大等问题;

  3. 手机流量:移动端应用需要考虑用户的流量问题,需要在数据大小和识别率之间做好平衡;

  4. 手机兼容性:对拥有亿级用户的支付宝而言,机型特别是Andriod机型分布很广。对于我们3D模型渲染带来了很大的挑战,需要制定完善的兼容性方案,确保AR功能的正常使用。

AR实景红包的技术选型

AR红包的初期方案也和很多已有的产品类似,仅依靠LBS和手机陀螺仪来进行互动:用户在某个位置发一个红包,其他人到达这个地点后打开摄像头,朝着某个方向拍摄就能看到别人发的红包。这个方案由于仅依赖LBS和手机陀螺仪,方案比较成熟,但主要存在两个问题:

  1. 定位精度:产品初期的定位是让附近的人领取红包(比如附近几十米的人或者同一层楼的人),这对近距离定位要求就很高。内部也讨论了很多潜在的方案,比如结合WiFi定位、室内定位等等,但都不是很通用或者不成熟,没有很好的解决方案;

  2. 主观体验:由于GPS和陀螺仪的数据本身就存在较大的误差,位置定位和用户动作都无法精确度量,用户体验不太好,没有真实的藏↔找的体验。

因此在AR红包中,我们希望能够重新设计交互方式,提出了图片匹配方案。在发红包时,用户对着场景拍摄一张图;其他人想要领取红包,必须到达该位置并且对着同一场景拍摄,只有位置和图片匹配才能领取,大大增加了精确度和用户趣味性。最终该方案被采纳,诞生出了AR实景红包。

AR实景红包最终的技术架构 AR实景红包

整个AR实景红包由两个场景组成:一是藏红包,用户对着某场景拍一张图,将红包藏在这个场景里面;二是找红包,用户在地图页选择一个红包,通过线索图走到对应地点,打开摄像头拍摄进行图片比对,匹配成功后领取红包。

藏红包

并不是所有的场景都适合藏红包,比如白墙到处可见,会造成线索图不唯一的情况。因此在藏红包时,我们会校验当前场景是否满足预设要求。藏成功后,拍摄的图片会传到服务端处理:一是将图片转成特征码用于图片匹配,二是生成一张线索图用于找红包。

找红包

根据用户当前的位置,服务端会下发附近的红包信息。用户通过红包列表可以选择领取某一个红包,此时客户端会到服务端拉取该红包的特征码和线索图。线索图在本地展示,提示用户红包的样子。特征码用于客户端本地实时比对。用户找红包时,将摄像头采集的图像转换成特征码,与服务端下发的红包特征码进行比对,如果本地匹配成功,则把图片信息传到服务端做二次校验来防止作弊。服务端校验通过后,红包就可以领取了。

扫福得福

在扫福字得福卡的活动中,为了解决高并发的问题,采用了客户端+服务端并行处理的架构体系,可支持两种识别方式:

所有图片都传至服务端做处理,这样识别精度更高,但是服务器端能处理的数量有限;二是先走客户端检测,客户端无法识别的再上传服务端。客户端检测能力稍弱,但将计算能力分散到各终端,能极大缓解服务端的压力。

活动开启后,由于用户的积极参与,我们在活动早期就打开了客户端识别,使得系统顺利支撑了14万次/秒的福字识别峰值,确保了整个活动的顺利进行。但是客户端的识别精度有限也导致了不是福字被是被为福字的问题,这个也是我们后续的优化方向。

如何防冒领

正常用户要成功领取红包,需要按照线索图的提示找到红包隐藏地点并完成实景拍摄,也就是说位置+图像匹配两个条件都需要满足,才可以领红包。

AR实景红包上线之初,为了让用户有较好的体验,线索图做的比较简洁美观。第一版线索图是通过添加均匀的横条纹蒙版(类似百叶窗效果)来对原图进行遮挡,同时确保用户能简单的识别出图片。

但是,由于该方案比较简单,部分用户通过PS线索图来补全被遮挡部分,后续甚至出现了自动化的PS工具。我们随后进行了升级,每个红包的线索图都是动态选择一个蒙版,蒙版还会随机的动态旋转/偏移等。新的线索图方案,大大增加了自动化PS的难度,基本解决了PS的问题。

除了对付图片的攻击外、对于LBS篡改等其他作弊手段,蚂蚁安全团队也做了大量的防控技术手段,通过对用户的行为数据来分析潜在的作弊用户,也有效地拦截了大部分作弊用户。

AR的未来

AR是一种新颖的交互形式,虽然该领域已经有了很多年的发展历程,但技术成熟度和用户普及度都不是很高。目前市面上的AR应用场景还是比较窄的,仍然有很多挖掘的空间,特别是结合各行业自身的特点去思考,肯定会产出很多好的创意玩法。

AR红包正式上线时,那几天地图页都是满满的红包,我们也很兴奋,说明大家对这个新鲜事物都很感兴趣并且能够接受。除了个人红包玩法,很多商家对这种新型互动方式更加感兴趣,也主动联系我们。商家希望用户通过拍摄自己的品牌Logo来加深用户对品牌的认知,认为这是一种新颖的营销方式,未来还会有更多的成长空间。

后续我们会朝着AR开放平台的方向发展,提供一个开放的AR平台让更多商家和用户都参与进来。同时,结合线下支付场景,围绕用户体验,打造更多的创新产品。

写在最后

第一版Windows Mobile钱包的诞生让我完成向移动转型,接着,我带领团队经历了Symbian从鼎盛到衰退,然后又经历了WP项目的纠结,经历了Android从开发版到现在的家喻户晓,经历了iOS从奇怪的语法到后来轻车熟路……

技术在发展,而我们在不断地创新。2013年开启了支付宝声波支付,2014年银行卡识别和身份证识别用于钱包业务……同时,团队相关算法技术、工程能力和创新思维在这个过程中也得到很大的沉淀,为连续三年参与红包项目奠定了基础,为今年AR红包的新玩法奠定了基础。能力越大,责任也就越大,既然承担起了这份责任,我相信我们的努力定会不负使命。

扫福得福背后,支付宝AR红包的技术创新与故事相关推荐

  1. 扫福得福背后,支付宝 AR 红包的技术创新与故事

    春节期间,支付宝的「扫福得福」活动火爆异常.AR 是一种新的交互方式,与传统营销方式相比,可以使用户更深入地参与互动,给用户带来新体验.而支付宝红包,寄托着用户对未来的期盼,因此其团队就考虑将 AR ...

  2. 支付宝 AR 红包技术探讨及如何在下一波技术浪潮中畅泳

    AR继2016年在Pokemon Go的引爆下,2017年新年前后由支付宝带来了第二波热潮.这些现象背后预示着下一波技术浪潮,除人工智能及机器人外,代码构成的虚拟世界正逐步通过AR/VR侵入我们的生活 ...

  3. 较于微信红包,支付宝AR红包是个好产品吗?

    2016/12/26阅读 7.5k 评论 6收藏 23 零基础学产品,BAT产品总监带,2天线下集训+1年在线课程,全面掌握优秀产品经理必备技能.了解详情 好的产品是以用户目标为导向,能帮助用户更好的 ...

  4. 支付宝AR红包关闭,看昔日“网红”如何过气

    支付宝的AR红包于7月22日停止服务,和它合作的AR平台还好吗? 年初的时候,支付宝和QQ之间的AR红包大战可以说是抢尽了风头,关于AR营销以及AR进入消费端市场的讨论甚嚣尘上,镁客君当时还写过一篇文 ...

  5. 说一说关于破解支付宝AR红包的事

    当朋友圈的你们才开始分享支付宝AR红包的消息的时候,我已经对它动了一二三四次歪脑筋了,虽然事实证明并不是那么顺利,至今我也只在电脑前识别出5个不知道在哪里的红包,其中一个还因为定位信息不符开不了. 昨 ...

  6. Python + PIL 处理支付宝AR红包

    Python + PIL 处理支付宝AR红包 思路比较简单: 1.对图片进行锐化处理: 2.设(r_h, g_h, b_h)为支付宝遮罩黑条的RGB值,以此为中心,查找半径为Diff_radius的范 ...

  7. 支付宝AR红包引出Python中的PIL小试

    这两天支付宝AR红包火了,周围的同学全在玩.可是我一直在想这个原理是什么?通过请教大神和思考,知道了它有两个限定条件:GPS地理位置和图片的识别.所以,只要我们有了这两个限定条件,就不难进行该红包的破 ...

  8. 支付宝的商业与技术创新双轮驱动 创造数字时代普惠金融“奇迹”

    2019年6月28日,在中国国际软件博览会上,蚂蚁金服金融科技产品技术总监杨冰发表主题演讲,分享了蚂蚁金服在过去的十多年里,是如何通过商业创新与技术创新的双轮驱动,创造出数字时代的普惠金融" ...

  9. 【合集】支付宝春节红包背后的那些事——集五福,咻红包

    摘要:最近几年来,农历春节期间,大家增加了一项新的"年俗",那就是在支付宝上集五福,咻红包,从抢不到的"敬业福"到"咻咻咻咻,咻红包",支付 ...

最新文章

  1. ASP.NET Core 2.2中的Endpoint路由
  2. 有雄心的男人才有出息
  3. 扩增子分析流程QIIME. 1 使用Docker配置QIIME
  4. Python使用pandas的crosstab函数计算混淆矩阵并使用Seaborn可视化混淆矩阵实战
  5. JS callee 的例子
  6. 1.逐帧动画shader
  7. 神武4手游服务器维护,神武4手游 本周新手服限服开启 !
  8. ora-03113 访问某条记录_用了Excel十几年,你居然不知道“记录单”?!可能错过一个亿……...
  9. mongo(四)索引
  10. java中的ackerman_java8的函数式接口
  11. 深入理解JUnit 5的扩展模型
  12. 转载如果在浏览器网页标题栏左侧加自定义小图标
  13. 游戏封包模拟器_问道模拟器人物移动封包分析教程
  14. 在win11系统环境下使用anaconda以及pycharm配置人脸识别库--dlib,face-recognition等
  15. ubuntu设置变暗时间
  16. 1.2GHz Atom处理器 诺基亚N9配置曝光
  17. 深入理解 Plasma(四)Plasma Cash
  18. 云服务器免费suse系统,suse系统
  19. 关闭交互式服务检测(UI0Detect)
  20. python回调廖雪蜂_廖雪峰Python总结4

热门文章

  1. navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效
  2. java键盘监听延迟_解决JAVA键盘监听的延迟现象以及八个方向的运动
  3. OpenChatKit :开源的 ChatGPT ,开箱即用!前OpenAI团队打造,GitHub 7000+星
  4. 学习记录3——PMSM数学建模——simulink内数学模型搭建以及仿真
  5. 一招教你如何提高分销平台分账效率
  6. 指定的文件夹没有包含设备的兼容软件驱动程序...请确认它是为用于基于X64的系统的Windows设计的
  7. linux tar压缩权限,linux tar压缩命令
  8. 用python实现相声、评书自动下载(四)
  9. J2EE工作流管理系统jBPM详解(二)
  10. 我参加筑路机械专业筹建过程的回忆