深度学习及AR在移动端打车场景下的应用

2018 年 2 月 2 日 美团技术团队

点击蓝字订阅,不错过下一篇好文章


作为美团点评技术团队的传统节目,每年两次的Hackathon已经举办多年,产出很多富于创意的产品和专利,成为工程师文化的重要组成部分。本文就是2017年冬季Hackathon 4.0一个获奖项目的实践总结。


前言


2017年在移动端直接应用AI算法成为一种主流方向。Apple也在WWDC 2017上重磅推出Core ML框架。准备Hackathon的过程中,我们就想能否基于Core ML的深度学习能力,结合AR,做酷一点的产品。我们观察到在晚上下班时间,是公司的打车高峰时段,这时候经常会有一堆车在黑暗中打着双闪,你很难通过辨认车牌去找到你叫的专车,所以我们把产品定向为一个打车时帮助用户找到车的App。


很快我们就把上面的想法落地实现了,开发了一个叫做WhereAreYou的简单App应用,相当于AR版本的微信共享位置,只要打开摄像头就可以看到小伙伴们的方位和远近。当然了,应用于打车场景下,就是让用户知道目标车辆从何驶来、距离多远。程序大概结构如图一所示:


图一


远距离下使用AR帮助用户找到目标方位


我们用Node.js写了一个简单的服务,用户可以创建一个共享位置的group,其他用户拿到groupID后可以加入这个组,接着程序会通过服务来共享他们各自的GPS信息,同一个group内的成员可以在地图上看到其他成员的位置。值得一提的是,我们添加了一个AR模式,成员点击AR按钮后可以进入,此时摄像头会被打开,如果同一个组的其他小伙伴方位距离此用户很近,屏幕上就会出现一个3D模型,告诉用户附近有某某小伙伴,距离此地的远近等信息。主要过程和效果如图二所示:


图二


项目做到这里都很顺利,接下来就遇到了一些难点,主要是利用ARKit渲染模型的部分。其中有一个问题是如何把两个GPS空间上的方位反映到用户屏幕上,经过一些努力,我们终于攻克这个难关,这里可以分享一点干货:


  1. 首先考虑空间上的两个点P0、