支付宝在春节期间的扫福字活动是使用的什么技术?

2020-04-14 11:10发布

6条回答
Ross
2楼 · 2020-04-14 11:14

那个应该用的是文字识别技术,当扫福字的时候,会在福字的上面有一些点,这些点就是特征识别点,如果不能够被这些特征识别点所识别,这个字就不能够扫到,一家之言,如有不同见解,请多指教.

七一wmt
3楼 · 2020-04-14 14:03

AR技术

梅向南
4楼 · 2020-04-14 17:14

AR技术,主要是识别图片功能。

Transform
5楼 · 2020-04-15 00:45

这个是典型的AR技术(增强现实)扫描图片后可以弹出动画或者解释说明。这个是可以用Unity实现的哦

男孩无衣
6楼 · 2020-04-15 20:41

https://www.sohu.com/a/221448443_218969


搜狐网的这个帖子说的很清楚了, 转载一下。 侵删。


支付宝2月5日宣布,迎接农历戊戌年的"集五福"活动将从2月6日起正式启动,在丁酉除夕(2月15日)前集满五福的用户可以平分5亿元红包。

从攒五福到抢红包,全国人民的春节活动越来越多样,其背后技术挑战也更复杂:业务层挑战与实现方案、AR红包支付架构变化、技术难点和攻克手段、优化细节和保障方法、安全风险和攻防实战等,每一年的红包背后,如果能拍摄出来,都将是一部技术大片。但是问题来了,这么神奇的技术背后,到底是如何做到的呢?

  • AR扫福框架设计

支付宝扫红包客户端的识别策略采用了分帧处理的模式。

首先在第一帧的时候进行对于海报的识别,大概就是对于之前提到的14种海报进行识别,而且每帧处理的时间大概控制在100毫秒以内,所以能够非常迅速地判断当前拍摄的是不是海报。

在下一帧的时候就需要判断手机是不是静止的,因为有时候在客户端识别不成功,需要将图片传到服务端去,就需要判断当前手机是否处于静止状态。而静止判断也有很多种方式,比如通过手机的陀螺仪以及传感器等进行判断,而支付宝技术团队则使用的是通过图像判断,使用图像前后帧的差异大小判断,如果在两到三秒连续的时间内图像的差异不是很大,那么就认为当前用户的意图是想要拍摄一张图片并发送到服务器端进行识别,所以在第二帧进行的是图像静止判断处理。如果静止判断成功,就会将图片传到服务器端进行识别。

第三个步骤,就是本地福字检测。为了应对可能出现的服务端压力扛不住的情况,需要做一个基于本地客户端的紧急预案,于是支付宝多媒体猎鹰团队在客户端做了基于LBP的福字检测的本地备案算法。本地福字检测的目的就是为服务端分流,而且这一功能会在需要的时候打开。其实在活动初期的时候这个开关是处于关闭状态的,所以扫红包的过程只有前面的海报识别和传图到服务端这两个步骤,当活动进行到第二天的时候因为服务端压力比较大,才将三个步骤全部开启。这种策略的好处就是为用户提供的整体体验不会存在卡顿情况,因为每个模块处理完成也就是在100毫秒以内,所以每秒也能进行大约10次的尝试,平均下来每个模块大约也有三次机会。支付宝AR扫福框架的反应速度和流畅性都得到了很好的保证,而客户端福字识别的模块的加入也能够进行分流,帮助服务端减轻了负担。

活动效果

最终达到的效果就是在同时开启客户端和服务端的福字识别之后,识别的峰值达到了14WTPS。活动开启的第一天预估的峰值大概在1万左右,但是由于用户参与的热情很高,所以在活动开启一天之后就达到了服务端识别能力的上限,于是就立刻开启了客户端的本地识别。但是这也同时带来了一些问题,因为客户端的识别能力有限,所以一些不是福字的图像会被误识别成福字,而这些都是在后续开发的时候在技术包装和储备上面需要进一步完善的地方。

但是总体活动效果上看还是不错的,能够把大多数用户拍的福字识别出来,少量的误识在产品上是可以被接受的。整体上70%的识别任务都是在客户端完成的,而且识别过程还是比较流畅的,只有少量本地无法识别的情况才会上传到服务端,这样的做法节省了服务器的资源。通过这样的活动也引起了很大的关注,网上也很多出现了很多趣闻,所以整体上效果还是不错的。

实现AR扫福时面临着一些主要的挑战:

1. 多识别任务并发,在扫一扫的入口不仅仅需要识别福字还要识别不同的海报,而且一些商家的红包也是通过扫一扫的入口传一张图到后台进行识别的,所以这是一个多任务并发的过程。

2. 扫福字请求高并发,因为春节扫福集福活动的关注量比较大,所以扫福字的请求数也比较高,每秒需要处理的计算量也是非常大的。

3. 福字识别的挑战,当时提出的需求是福字识别不仅仅需要能识别网页上的福字,而且对于一些手写的福字或者墙上贴的福字也都要进行识别,因为需要识别的福字样式非常丰富,所以从福字本身的识别难度上来看也存在一定的挑战。

  • AR扫福民间破密

对于了解电脑的朋友肯定都知道,计算机是根据二进制的原理运行的,也就是说,无论屏幕上显示的是什么,背后计算机接收的全部都是又0和1组成的一串数字,最后翻译解码后,形成对应的图像。所以要想让手机识别,你扫描的是一个福字,而非其他什么文字或者场景,这就需要完成以下几步才可以完成这个看似简单的识别过程。

第一步就是要先对动态的手机照相机进行稳定的识别,所以这时就需要你稳定手机,对准所要识别的区域,支付宝软件后台开始执行,对焦、拍摄等一些简单初始的图像,并将图像进行简单的对齐,校正操作。

第二步处理过的图像进行"二植化"处理,将复杂的颜色划分归类,并分为前景色和背景色,前景色定义为黑色,背景信息定义为白色。这样做的目的,一是为了方便计算机识别判断,二是为了节约带宽和资源。

第三步是将处理好的图片,进行修复,去噪处理,是主题更加清晰,当一切准备就绪,程序就会开始执行"字符切割"处理,由于拍摄原因多种多样,所以难免对一些拍的不好的地方,精心智能的切割补位处理,同时福字在春联和窗花上的特殊性和多变性,也使得切割有一定局限,为了解决这个局限,就需要在进行下一步"字符识别"时,对数据的算法进行优化,bundling features算法、hash function(散列函数)等。

第四步算法都是比较常用的算法,但是这里聪明的支付宝为了,规避不必要的人力浪费,最好的办法就是,基于一个"福"字来编写算法,所以完全不用考虑到适应所有汉字结构,同时,支付宝最终的目的是为了,让用户扫出福字,所以对算法要求并不是很严格。这也就是为什么,有时候你会发现,并不是一定要写一个正确的福字才会识别,只要是结构相近的就可以。

第五步当识别的字符与数据库中的字符基本吻合时,就会向支付宝服务器发送反馈指令,同时在接受到指令时反馈到用户手机,说了这么多,感觉挺麻烦的事,其实,在手机应用程序执行起来,也就不到0.5秒的时间,就可以完成,随着你扫描的越多,系统也会自动学习,优化。

  • 支付宝2018集五福活动介绍

1、活动时间:2月6日00:00-2月15日22:00,用户可以在AR、蚂蚁庄园和蚂蚁森林参与集福卡,获得的福卡种类随机【和谐、爱国、敬业、友善、富强、万能六类福卡】,领取成功的福卡可在活动页 面"我的福卡"中查看。万能福可在2月15日22:00集福截止前转化为任意一类福卡。

2、活动中获得的福卡可转赠、可与好友交换,集齐和谐、爱国、敬业、友善、富强五类福卡,合成五福后即可在2月15日22:18拼手气分5亿现金,同一账户仅能分到一个现金红包(金额随机)。若集齐五福后未主动合成,系统将在2月15日开奖前为你合成五福。

3、集齐五福的用户,可在2月15日22:18-2月16日00:00,前往"我的福卡"页面领取现金红包。若超时未领取,系统将自动发放至支付宝账户余额,获得现金红包的用户可到"红包-红包记录-我收到的红包"中查看记录。

4、仅限手机支付宝10.1.12及以上版本参与。

  • 2018支付宝AR扫福攻略

今年五福还是"富强福、和谐福、友善福、爱国福、敬业福",并有3种玩法:

一、支付宝AR扫"福"字,扫任何一个福字都能扫到福到。另外,今年AR扫"福"字增加一个彩蛋,即让朋友摆"五福到"手势也有机会得福卡,或将手机相机设置到前置摄像头,并拍摄摆出的"五福到"手势。

二、在蚂蚁森林给好友浇水也有机会福卡,与亲戚朋友"合种"树也有机会得福卡。

三、在蚂蚁庄园收金蛋有福卡,还可能有真鸡蛋,由天猫超市配送,为减轻快递员压力,数量有限。

  • 2018支付宝AR扫福获取福卡办法

1、活动时间:2月6日00:00-2月15日22:00.

2、活动期间使用AR扫任意"福"字(建议扫字体结构清晰的"福")、让朋友比个"五福到"手势,都有机会获得福卡。

  • 支付宝2018集五福奖励说明

1、活动时间:2月6日00:00-2月15日22:00.

2、活动内容:用户在领取福卡之后,点击福卡背面即得一张五福刮刮卡,刮开有机会得到奖品,好友转赠的福卡,点击福卡背面也可以刮奖。

3、奖品内容:五福刮刮卡有上百种奖品,包括定向使用的红包、商家优惠券、天猫优惠券、流量券和话费券等。

4、奖品领取和使用规则以相关奖品的使用说明为准,本次活动涉及的奖品服务提供方以具体产品页面提示为准。

5、活动有效期:请在2月15日22:00前刮奖领取奖品,逾期刮奖失效。刮刮卡奖品使用有效期,以相关奖品页面的说明为准。

 

小狮子
7楼 · 2020-07-08 09:22

使用的是AR技术,其实原理比较简单就是一张图片的事,使用高通ARDK就可以的,希望可以帮助到你

相关问题推荐

  • 回答 6

    第一步:对着Assets点击右键,选择ExportPackage第二步:选择场景文件以及和场景相关的资源或者素材,然后点击Export第三步:给导出的资源取名,并且选择要保存的位置即可

  • 回答 87
    已采纳

    玩游戏玩的很好,说明你对于游戏里面的规则、剧情设置还是比较了解的,对于从事游戏相关岗位来说也是优势之一。但是学习游戏开发还是要对游戏开发的工作内容做进一步的了解,游戏开发涉及代码较多,可以通过进一步的了解,判断自己是否适合学习这个方向,另外...

  • 回答 18

    个人觉得如果有一定的技术基础的话还是可以考虑自学,如果零基础的话可能会有些难度

  • 回答 11

    游戏开发入门不难。后期发展需要你有丰富的奇思妙想。游戏开发肯定是培训好,自学学得不系统,并且不易发现自身薄弱之处。游戏开发的学习时长还是要看你自己对知识与技术的掌握能力,一般来说,游戏开发的学习时长大约在五个月左右。...

  • 回答 10

    问题还是出在粒子的sorting fudge。在unity的2d模式下,游戏本身的背景相当于是sorting fudge的0,当你把粒子的sorting fudge设为0以上的时候,粒子就都会被背景盖住。所以在3d模式下给alpha正值来给add垫底的话,到了2d模式下就会通通不显示。所以遇上这样的...

  • 回答 17

    虚幻4引擎,你会看到和平精英加载页面左下角有这个图标。

  • 回答 8
    已采纳

    转载知乎上的两位答友的回答,各有道理。作者:风小锐链接:https://www.zhihu.com/question/322249959/answer/675883379来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。未来Unity有可能出现3A大作吗? 有可能。基于Unity已...

  • 回答 11

    在Assets文件夹里面.点击右键Create/Material即可以创建材质球

  • 回答 23

    可以让模型师直接作出这样的形状,如果用纯Unity制作,就要用基本游戏对象拼接了,包括楼梯,城堡,都可以拼接出来。正常情况不会这样做,因为不够精美,都是建模师来实现,毕竟Unity不属于专业的建模软件,侧重于实现功能。...

  • 回答 18

    粒子系统由粒子发射器、粒子动画器和粒子渲染器三部分组成,主要用于游戏场景中一些特殊效果,如水、烟火等等

  • 回答 18

    首先,Python开发游戏非常尴尬,原因是没有好用的游戏开发库。Python开发游戏仅推荐PyGame,PyGame是对多年以前很流行的游戏开发库——SDL的封装。但是说实话功能太简陋了,做个动画都得考虑刷新的问题。楼主要做简单小游戏,只需要画一两周熟悉Unity引擎,然...

  • 回答 9

    1.标记水体碰撞的位置2.计算水波的传递 通过波动公式,3D或者2D 波动公式都行3.水面顶点采样波动传递结果计算结果做顶点Y轴偏移

  • 回答 15

    Unity3D中两种阴影的实现传统的ShadowMapShadowMap说起来十分简单,把摄像机和光源的位置重叠,那么场景中该光源的阴影区域就是那些摄像机看不到的地方,主要应用在前向渲染路径中。具体实现分以下几个步骤:如果有平行光开启了阴影,Unity就会为该光源计算它...

  • 回答 18

    Doozy UI是Unity UI视图层的框架,本身使用的还是UGUI的组件,但提供了一套强大的UI管理功能,可以很方便的实现一些炫酷效果,方便的UI系统管理与事件传递机制。

  • 回答 12

    Unity3d更好,因为U3D占有的市场更大,目前cocos大都是用来开发棋牌游戏的,在这方面它有着巨大的优势。而Unity3d既可以用来开发大型3D游戏,也可以用来开发vr游戏、vr应用,这是比较不错的,未来有着巨大的前景。另外ue4也是个不错的选择,近年来用ue4开发的...

  • 回答 11

    当Unity 需要做热更新的时候(2013年开始),而普通的C#又做不到的时候,而对于游戏行业来说Lua脚本热更新已经是很成熟的方案,自然Lua 热更新就成为了Unity热更新的首选。

没有解决我的问题,去提问