看如何用AR来升级购买咖啡豆的体验
AR介绍
AR全名扩增实境,是一种实时融合现实与虚拟的图像技术。如果把AR当作是一个小二,那他在星巴克店里的工作是这样的:“我看看相机里有没有咖啡壶,有的话我就在上面放个交互按钮给客人,然后让这个按钮一直粘着咖啡壶。”AR小二的工作内容其实就是AR技术的三板斧:感知(寻找咖啡壶),渲染(画上互动按钮),追踪(粘着咖啡壶)。
在图像领域,“追踪”与“渲染”已经是较为成熟的技术。主要的技术障壁在于“感知”这项魔术上。举个例子,国外知名的《精灵宝可梦Go》是第一个火红的游戏,是一款类似抓猫猫的AR游戏。虽然大火,但是《精灵宝可梦Go》的缺点是它的AR模式无法与环境交互,玩家可能会看到皮卡丘浮在半空,小火龙站在湖面上等等诡异的画面。技术上而言,《精灵宝可梦Go》只使用了基于纯硬件的“追踪”与“渲染”,完全没有感知能力。低端的AR能力使得玩家没有代入感,大部分的玩家是长时关闭AR模式在进行游戏的。
《精灵宝可梦Go》的AR效果
那具备高度感知能力的AR应是什么样子呢?目前很多社交软件与照相软件都可以实时地让视频里的用户突出狗舌头,戴上猫耳朵,画上萌萌的猫胡须,甚至有些软件可以让用户实现AR化妆。这些软件都具备成熟的人脸感知能力,包括人脸的位置,嘴巴的开合,甚至五官的位置与轮廓。但是这些感知是有局限性的,聚焦在相对成熟的人脸感知领域;相对的,要让机器感知人类惊鸿一瞥就能理解的大千万物是更为艰难的任务。
客户端识别
AR讲求实时,能够在客户端实现的识别就在客户端完成是最有效率的。我们在客户端使用经典机器学习算法识别一些不易受环境影响纹理的大型物体,例如店内的大铜罐,烘豆机等等,并且采用了多种数据预处理策略,最后达到非常惊艳的效果,在客户端运算也不像服务端访问会受到网络流量限制,响应时间也非常快速,效果是十分稳定的。
但是店里可以被AR感知的物体变化多端,从大型的吧台到手持的法压壶都可以被识别。这些物体有一些传统机器视觉难以克服的难题:
- 金属反光:从不同的角度无环境看一件物体,可能是截然不同的纹理。
- 透明:例如法压壶等中空的透明容器,里面会放多少物体没人知道,甚至大部分的时候是空的
- 变化的环境:随处放置的小物件,细小的目标物,各种不同的手机相机,都增加了识别到难度。
为了克服这些难题,我们架设了一套基于深度学习的云识别服务。
云识别服务
深度学习在图像上的应用已经十分成熟,包括图像分类模型,目标识别模型等。我们结合了两者来实现图像感知功能,以下简述两者的特点:
- 目标识别模型:可以感知目标物的内容的位置,缺点是感知能力较弱
- 图像分类模型:拥有高感知能力的“分类模型”,缺点是无法确定目标位置
透过结合了分类模型与检测模型优点,对于大部分的物体可以用检测模型识别位置,而难以感知的物体交给分类模型,并且“猜”一个位置出来。
左:分类模型的输出,右:识别模型的输出
图像合成
无论是机器学习还是深度学习都需要大量的数据支持,但是大量且多样化的资料采集是非常旷日费时的工程。对于可任意放置、透明且反光的咖啡法压壶而言,训练数据多样性的重要性更不容忽视。
图像合成正式解决多样性问题的利器。透过图像合成,我们可以自动化的将任意的目标物,放置在任意的背景:
- 在绿幕搭配图像采集工具,大量采集目标物图像
- 搭配自动绿幕抠图,抠出图像目标
- 与任意背景图像合成,并将目标色彩转换至与背景相近的色彩分布
值得注意的是,图像合成不在乎合成结果是否合乎逻辑,例如大小与物理定律。合成目的在于教导机器区分前景与背景。
图像合成步骤
色彩融合示意图
色彩与成像模拟
对于一个基本的AR应用,上述的工程算是大功告成了。但AR感知相当依赖摄像头的成像质量,对于大规模的商业AR应用来说,适配不同的手机摄像头仍是绝对要的。
实际使用大量手机并大量采集资料是一个解决方式,但是对于一个人工智能团队来说这不是一个智能的办法。我们利用两种自动化算法,可以从已有的图像转换成其他摄像头采集的模拟图像:
1.纯色彩变化:以图像B的色彩当作参考,将图像A的色彩分布转化与图像B一致
纯色彩变化范例
2.响应曲线模拟:将摄像头A的响应曲线用另一款摄像头B的响应曲线替代,模拟摄像头B的生成图像
响应曲线模拟结果范例
AR与新零售
融合现实与虚拟的AR技术让星巴克臻选咖啡烘焙工坊重构为一家新零售的咖啡工坊。即使星巴克小伙伴们应接不暇,AR也能让每个客户进入星巴克的那一刻起成了探险者,透过自己手机的摄像头在店内自由寻宝,比起小伙伴的带领更能引发用户的好奇心。
虚实结合的AR与打通线上与线下的新零售理念不谋而合,结合AR的新零售应用还有无限可能。天猫精灵APP中的AR说明书就是一例,还没体验过的可以下载感受下。
最后,如若大家有更多好的想法,也欢迎在留言区一起交流。我们期待看到更多不一样的解决方案。
原文发布时间为:2018-02-27
本文作者:白饭