2015 年的 Google I/O 上,Google 神秘的 ATAP 部门(Advanced Technologies and Projects)曾经展示过非常酷炫的 Project Soli。因为当时技术还在早期阶段,只是小范围里给 60 名开发者发放了开发套件,用于内部测试。在今年的 I/O 2016 里,Google 除了带来 Daydream、Android N 等重磅更新,ATAP 也低调展示了 Project Soli 的最新进展。我们今天就来扒一扒 Project Soli 的来龙去脉,让我们深入了解这项技术的原理和应用。
Soli 是什么
Soli 是一项运用微型雷达监测空中手势动作的新型传感技术。这种特殊设计的雷达传感器可以追踪亚毫米精准度的高速运动,然后将雷达讯号进行各种处理之后,辨识成一系列通用的交互手势,方便控制各种可穿戴和微型装置。
目前 Google 设计的这些通用交互手势,是基于人们平时所熟悉的一些物理工具和动作,比如按钮,转盘和滑杆:
虽然这些动作都是虚拟的,但因为是多个手指之间的相互动作,它可以给用户很好的触觉感应和物理反馈。也因为人类有精准的小肌肉运动技能(fine motor skills),它可以让这些虚拟工具透过我们手势运动实现很高的流畅性和精准度。
Google 相信这些有物理反馈与触感的交互方式是比平面的触摸屏幕或者语音辨识技术更自然的控制方式,为人机界面引入了新的思惟与机会。
Soli 与其他手势追踪技术的区别
目前关于手掌与手指运动辨识与追踪的技术,市面上已经有好种不同的解决方案:
微软 Kinect 为代表的深度感应技术(结构光和飞行时间两种)
LeapMotion 为代表的红外线投影与成像
uSense 为代表的光学立体成像技术
相比这几种常见的解决方案,采用毫米波雷达的 Soli 技术有以下几种优点:
依赖红外线的深度感应和投影技术在室外红外线干扰多的环境可靠性很差,毫米波雷达则无这方面问题。
基于光学立体成像的技术需要相当大的计算量获取深度数据,高的分辨率较难实现,功耗不低;同时由于依赖可见光,在低光亮环境无法使用,毫米雷达波也无这方面问题。
同时因为毫米波雷达的频率远低于红外线和可见光,相比基于红外线的时间飞行技术,毫米波雷达可以计算相移(Phase shift)和多普勒效应(Doppler Effect),从而以很低的计算量获取物体的运动与方向。
毫米波雷达对于一些材料还有很好的穿透性,不受光路遮挡的影响。
因为天线技术近年来有不小提高,不到一平方釐米的面积 Google 就可以把传感器和天线阵集成到一起,这方便了该技术应用到可穿戴装置和手机上,而其他的解决方案目前还不能如此小巧:
这次 I/O 2016 大会上,Google 就带来了跟 LG 合作的智慧手表,在表带处继承了 Soli 技术,用于捕捉用户指尖的微小动作。这样的体积与功耗,传统手势感应技术是无法想像。
在这个 demo 里,展示著用手指的按键与滑动两种动作可以发送不同的指令:
在 Soli 专案的影片介绍里,也出现了跟智慧手表相关的设计概念:
是不是很酷炫?智慧手表受限于屏幕大小,如果触控操作直接在屏幕上进行的话,手指就会遮挡屏幕;如果设计物理按键或者拨盘也很难操作。而这种空中手势有望解决上面这些问题。
Soli 的原理与实现
目前 Soli 项目公开的技术细节非常少,目前我们知道的是它可能采取了单发射、多接收的天线设计。在天线前面的障碍物会反射电波回到雷达天线,而反射讯号的能量、延时以及多普勒效应则对应了物体的各项特征,包括物体的大小、形状、材料、距离以及速度。
Google 在介绍 Soli 的时候专门强调 Soli 不像传统的雷达传感器,并没有需要很大的带宽和空间分辨率。事实上,Soli 的分辨率比手指可以实现的精细动作更低,所以对手指运动的捕捉需要分析反射讯号在时间上的动态变化,这也对手势辨识的算法提了更高要求。
从原始的雷达讯号到最终的手势控制需要经历下面几步:
- 捕捉原始反射讯号
- 将接收的时序讯号处理和转换到 Range Doppler Map
- 特征提取、辨识、定位与追踪
- 从提取的特征完成手势辨识
Soli SDK 为第三方开发者提供了上面每一步的程序接口,同时兼容不同类型的雷达,支持从每秒 100 到 10,000 的采样帧数。
Soli 的雷达采用了调频连续波 Frequency Modulated Continuous Wave(FMCW)的调制格式。这项技术目前已经用在汽车自动巡航等应用,可以同时实现对物体距离和速度的感应。下面我们结合 NVDIA 最近发表的一篇论文《Short-range FMCW monopulse radar for hand-gesture sensing》来解释这项技术的原理:
FMCW 这种格式是由周期性锯齿波函数调制。雷达发射的迅号从物体反射回后产生了时间与频率上的差异。其中时间的延时 τ 是电波往返的时间,频率上的变化 fd 则是物体运动导致的多普勒效应。
我们把接收到的讯号跟原讯号相乘,然后在模拟讯号领域进行低通过滤,这样就可以产生明显的 beat 讯号。然后把二维的时序讯号各自做 FFT 转换,减去静止不变的背景环境,就可以获得所需的 Range Doppler Map(RDM):
RDM 的每一格都对应着目标的目前距离和运动速度。因为不同物体可以在不同距离或在相似的距离,但是各自有不同的速度,RDM 便实现了同时追踪多个物体的效果。比如下图是一个正在移动的手掌,每一个绿框可以是被辨识出来的手指。
如果我们有多个接收天线,透过比较每个天线之间 RDM 的相位差,我们可以计算出每个物体的到达角度(Angle of Arrival),配合上之前算出的距离,这样就实现了对物体的空间定位。如果跟传统的深度感应器进行校准之后,则可以获得三度深度图。
我们可以把四度的矢量信号(三度空间位置加上径向速度)映射到一个手掌模型上,导入后端的手势学习模型中进行辨识。
这是 5 个不同用户进行 4 种手势产生的 RDM,可以明显看出手势之间的差异是明显的,而不同用户在进行同一手势时是有很多相似点的。
所以 FMCW 这种格式相比其他雷达有以下这些优点:
- 同时计算速度与距离,距离讯息准确度高。
- Beat 频率不高,对应采样率也低,降低了模拟电路与数字信号处理的难度,整个算法可以嵌入在低功耗芯片上实现。
- 最短测量距离跟讯号波长相关,所以物体可以离天线非常近,甚至可以贴到天线上。
由此可见,Soli 采用的这种 FMCW 技术是它实现微型化雷达和极低功耗的基础。Google 网站上展示的 2014 年的早期产品原型还是一个巨大的机盒,然后仅一年多之后就把系统缩小到了不到 1 平方公分的面积,其中包含了多种天线和感应器。
Google 对 Soli 的目标是制造出成本低廉、可以大规模量产并且功耗极低的微型雷达芯片,期望可以集成到最小的行动装置里面。透过这两年的发展,可以说 Google 离这个目标已经非常近了。
Soli 的应用
下面整理了一些过去一年早期开发者在使用 dev kit 进行的各种有趣的应用:
因为毫米波雷达对部分材质有一定的穿透作用,反射讯号也有一些差别,有开发者据此设计出材质探测器,不仅可以识别塑料和多种金属,还能辨识水跟牛奶。
车内手势是一项有意思的应用,相比可见光和红外光的技术,Soli 可以完美解决不同光照环境下传统技术不稳定的问题,而且雷达对捕捉细微运动有很强的优势。
在 Soli 的帮助下我们对手机触控屏幕的互动又多了新的一个维度,Hover 在屏幕上的手指现在也可以精确地捕捉和预测了
既然 Soli 可以扫描和计算出深度图,为何不拿来做成 3D 扫描与成像的应用?
这个应用很酷炫,手指空中划出 3D 密码,抽屉自动开启!
利用 Soli 对手势的捕捉设计出一套乐器如何?
一个类似的专案号称用 Soli 设计了全世界最小的小提琴! 精确捕捉手指的每一点动作然后映射到音符上。
总结
从 2014 年项目开始,到 2015 年 I/O 上发表的初期原型到今年 I/O 带来的各种创意应用,这两年 Soli 进展很快。Google 宣称相比 2015 年的版本,目前芯片面积缩小了 70%,功耗下降了 22 倍,从本来就不高的 1.2 瓦进一步下降到了 0.054 瓦,算法也得到了 256 倍的效率提升。
据媒体报导,Google 年底或明年会有全新的 dev kit 提供给更多开发者,相信在不远的未来我们将会看到采用 Soli 技术的智慧手表,VR/AR 装置以及智慧家电出现在市场中。
另 外一个巨大的市场就是可穿戴装置,事实上 ATAP 的另外一个神奇专案 Project Jacquard 正在跟 Levi 牛仔合作一种可触摸布料,用于制造智慧外套。Soli 采用的雷达技术正好可以穿透许多传统的纺织材料,很可能成为来为智慧服装标配的交互途径。Soli 这种新颖的雷达技术以后也可以跟其他射频与传感技术进行融合,或许可以创造出更多意想不到的应用。
(本文由 雷锋网 授权转载;本文作者陈哲,现为 Google Glass 部门高级软件工程师,关注智能感应、VR/AR、可穿戴设备等领域。曾任加拿大黑莓软件工程师,从事无线通信和感应器软件方面的设计与开发。加拿大 McGill 大学电子工程专业荣誉学士,滑铁卢大学电子工程硕士。;首图来源:Google)
延伸阅读:
- Google 的 Project Soli 专案想让你靠弹指唤醒手机