边缘端手势识别:AI 交互的正确打开方式-阿里云开发者社区

开发者社区> 机器智能技术> 正文

边缘端手势识别:AI 交互的正确打开方式

简介: 本文分享自天猫精灵 M 实验室,介绍 M 实验室关于手势识别交互能力的研究,包括在手势识别方面所做的一些业务和算法上的探索,以及手势识别未来的应用和对相关算法的一些展望。

--------点击屏幕右侧或者屏幕底部“+订阅”,关注我,随时分享机器智能最新行业动态及技术干货----------

image.png

一、概述

“手势是人类沟通的最自然的方式。硬件限制是我们不能很好地控制我们的设备的唯一限制”,这里的硬件限制指的是传统的手势识别算法需要额外的深度传感器。感谢近十多年不断发展的可适应 AI 和边缘计算崛起,使得这一切逐渐变为可能。

我们或将在智能手机、平板电脑、台式电脑、笔记本电脑、智能手表和智能电视,IOT 设备中看到更多结合空中手势来操作的未来功能。

今年我们已经看到有这样的趋势,科技巨头都纷纷推出了自己的手势识别能力:谷歌在自己的手机和智能音箱上提供了手势交互的能力,华为在旗舰手机 Mate30 上推出了自己的手势操控等等,苹果也刚刚提交了手势在智能音箱上应用的相关专利,实际上,手势作为人机交互最自然的方式场景简直是不言自明,想像一下这些场景:

在看电视的时候想要换台,想要调整音量,找不到遥控器的时候,直接使用手势来操作,免去找不到遥控器的抓狂烦恼。

在驾驶汽车,如果你听到了一首很难听的歌,希望赶快切掉,如果需要与触摸屏显示器进行交互,驾驶员必须将视线从道路上移开,这样有潜在的危险,使用手势识别使得驾驶更安全。

在使用 iPad 看剧时,这个时候老板/老婆电话突然进来了,我们对着 iPad 使用静音手势操控设备静音,科技以人为本。

在智能家居场景,使用手势操作你的电灯,空调,甚至抽油烟机都是可以想象的场景

总结来说:“You are the only interface you need”。

二、我们现在的业务场景

我们所属天猫精灵 M 实验室,主要负责跟天猫精灵相关的视觉算法,我们的主要研究方向人机交互视觉算法,包括手势识别,肢体识别,还有多模态视觉语音交互等。

image.png

去年,我们推出了基于天猫精灵智能音箱的超轻量手势识别算法,今年我们更进一步,在技术,业务,算法上进行了更为深入的探索:

  • 在天猫精灵大屏产品 CC, CCH, CCL 等上线了手势操控能力。
  • 我们同优酷iPad客户端的小伙伴一起,在优酷 iPad 版也成功应用了我们的手势识别能力。
  • 我们在教育领域,我们尝试了使用手指作为输入,实现了手指点读的相关能力,让小朋友“哪里不会点哪里”。
  • 目前我们在跟电视厂商等 IOT 生态厂商合作,实现大屏手势交互第一步,未来丢掉遥控器将不是梦。

0b78pqaawaaaeqaobc4wofpfa7gdbn6aacya.gif

手势应用: 天猫精灵手势识别 x 优酷 ipad 播放器操控

0b78teaawaaatqaobduwozpfbgodbomqacya.gif

手势能力: 基于动作识别的动态手势识别

三、无处不在的单点(静态)手势

3.1 从天猫精灵到优酷 iPad 手势识别

去年,我们推出了基于天猫精灵智能音箱的超轻量手势识别算法,今年我们与优酷的小伙伴合作,把单点手势能力进一步移植到了优酷 iPad 场景中。

3.1.1 单点手势应用:优酷吃饭看剧神器

image.png

来自用户的声音:吃饭看剧神器

这是在优酷上线后用户自发介绍的使用视频,也非常符合我们的场景预期和用户痛点:

在看剧的时候,经常有需要跳过某一小段,快进或者快退的时刻,解决不便直接操作的时刻(例如吃饭,手里不方便等场景)。

在 iPad 场景:1)受设备体积和重量影响,很少手持设备;2)屏幕较大,用户距离设备通常有一定距离,手势识别带来了更为极致的体验提升。

3.2 走的更远:大屏远距手势交互

3.2.1 大屏交互场景

近年来,智能电视(智屏)正越来越多的进入千家万户。据工信部预测,到 2020 年,智能电视市场渗透率有望达到 90% 以上。除了数量优势,强大的交互能力是智慧家庭入口的必备特质。作为智慧家庭 IoT 的另一个重要入口,智能电视的大屏幕更易实现交互。

3.2.2 挑战

要走的更远,也常常伴随更大的挑战。和天猫精灵 CC 或 iPad 这种近身设备相比,在智能电视场景进行手势算法研发面临主要面临的挑战有:

  • 更远的距离。智能电视有一块大屏幕,往往 3-5 米是一个对人较为舒适和健康的观看距离。在这样一个距离下,人手在画面占比非常小。
  • 更多的人数。可能有多人同时在看电视,因此我们要能及时甄别和响应每一位观众的交互需求。
  • 更复杂的背景。不同家庭不同电视的摆放位置千变万化,我们的算法要在变化中找不变(手势识别)
  • 有限的算力。虽然智能电视越来越普及,但是它们配置的硬件性能依然非常有限。

3.2.3 大屏方案

针对以上挑战,经过我们算法研发探索,提出语义注意力机制导引的快速人手检测和分类方法(Contextual-attention-guided fast tiny hand detection and classification)。

image.png

大屏解决方案: Contextual-attention-guided fast tiny hand detection and classification

  • 1)Lightweight hourglass-like backbone

    轻量级类 hourglass 模块对输入进行下采样,在获取具有高层语义信息的特征图的同时,尽量保留细节性特征,有利于对 tiny hand 的检测。

  • 2)Contextual attention

    3-5 米场景下,人手在整个输入图像中占的像素比非常小。手虽然很小,但是手一般长“人”身上,而且距离人体特定的部位(如手腕、胳膊、人脸)较近,同时与这些部位可能会有相近的颜色。这些人体或人体部位往往较手要更大,为我们 tiny hand 的检测提供了额外的 clues,利用这些 clues,可以更好的对 tiny hand 进行检测。基于此,我们利用 Similarity Context 和 Semantics Context 来作为 Contextual attention ,从而指导网络获取手区域以外的语义信息,增强检测能力。

image.png

海尔电视手势

四、落地与优化闭环

相信任何一个做过 AI 算法落地的同学,都会遇到各种各样的实际算法问题,不管是科大讯飞的语音交互,到现在无处不在的人脸识别,甚至谷歌的搜索词排名算法,基于深度学习的AI算法的非常重要的一个特点就是越用越好,并渐渐形成数据相关壁垒。

我们在手势先后在天猫精灵和优酷上线后,我们同样也经历了这样的一个过程,为了让我们的算法“越用越好”:

  • 提出了新的检测算法,应用了前沿的 Overflow-aware 量化方案,极致算法体验。
  • 我们接入了 AutoML 助力 AI 应用快速落地,以动态闭环的形式优化我们的算法。

4.1 更快更强的端上检测算法 + overflow-aware 量化应用

4.1.1 更强的端上检测算法

image.png

基于 anchor-free 方案,更高效的算法框架,使用 heatmap 辅助 anchor 方案

基于天猫精灵音箱,IOT 视觉模组等不同设备算力的硬件条件,对端上的手势识别提出了更加高的要求,我们进一步提升手势识别算法能力框架:基于流行的 anchor-free centernet 算法,提出了 centernet-lite 的端上检测算法,不过在实际算法的落地的过程中,我们发现目前流行的 anchor-free 方案在小网络有一些天然劣势:

  • 由于其天然基于 heatmap,最终精度与 heatmap 有很大关系,这对小型化不利。
  • 同时,由于 heatmap 的原因,这种方案无法很好的解决同一类物体重叠的情况。

4.1.2 应用 Overflow-aware 低比特量化算法

image.png

端上量化

加速目前业界流行的方案为谷歌 8bit 量化算法,事实上,有更优秀的低比特量化算法:通过学习的方法,学习每一层的 min/max 范围,动态的调整每一层的量化方案,目前在推理引擎端加速比为 70%。

最终我们采用使用 heatmap 方案来辅助 anchor 检测方案且融合 Overflow,这取得了比较好的精度和效果的平衡,在天猫精灵硬件上。

image.png

4.2 优化闭环:AUTOAI 的手势线上识别优化框架 (让算法越用越好)

我们利用在 deep learning 中有类似模型蒸馏的思想,通过采用预先训练好的复杂模型(Teacher model)的输出作为监督信号去训练线上网络(student model)。我们可以在不直接接触业务数据的情况下,不断进行算法的优化。

使用围栏的优化结果:

image.png

五、产品级的序列(动态)手势

5.1 为什么要做动态手势识别

我们在单点手势已经做了非常多的尝试和应用落地,但是动态手势作为一种更自然更“爽”的交互方式,是我们一直在不断钻研的实际方向。

从产品的思路上来说,动态手势提供了更多的交互感和参与感,其应用的场景可能也是不一样的,比如单点手势可能应用与 IOT 设备等操控类型的算法场景,动态手势其独特的参与感让其更适用于教育,娱乐,线下运营等实际场景,这也是我们不断突破这个场景的原因。

5.2 基于 skeleton 的动态手势识别算法

去年,我们实现了基于 skeleton-based 的动态手势识别算法(相关工作已经投稿ISMAR2019,并成功发表,链接:https://ieeexplore.ieee.org/document/8951971)

但是在实际的产品化过程中,我们发现对于通用的动态手势识别,纯粹的 skeleton-based 方案可能并不实用,主要原因有:

  1. 算力:完成 skeleton-based 的一系列操作:手势检测+指尖回归+时序网络等需要较高算力,在天猫精灵等 IOT 设备上无法达到产品级别的能力。
  2. motion blur:由于手势运动较快的原因,大部分动态手势都有运动模糊的情况,对检测+关键点这类算法非常不友好。

因此,我们把目光投到了以动作识别为基础、指尖回归为辅助的时序推理方案。

5.3 基于视频理解的动态手势识别算法

image.png

原理:图像关系的时序推理(temporal reasoning)能力,要让计算机认识这两个行为,需要两张及以上的帧图像来相互辅助识别。一个行为需要被多个帧协作来解释。这种方案很好的解决了 motion blur 的问题,且算力上更可控。

image.png

Our Temporal Generation Network

为解决运动模糊等问题,采用基于 RGB 时序序列为主框架的视频识别方案,提取连续采样帧的特征,并使用改良的高效快速的非退化 3D 卷积网络,对时序特征进行融合。

同时针对特定手势的识别,提出一种基于手指关键点的辅助分支,使用 heatmap 分支对指尖关键点进行多任务学习并回归,检测出手指的运动轨迹,与 RGB 分支进行特征融合,辅助动态手势识别。算法整体结合了基于 RGB 和关键点方案的优势,达到了速度与精度的平衡。

image.png

六、未来展望

我们已经在单点手势识别,序列手势识别在算法、业务都进行了较多的探索和尝试,关于手势识别的未来算法探索方向和业务发力点,我们也有一些自己的展望:

6.1 3D 手势崛起

3D 人手姿势估计是指基于输入的 RGB 或 RGB-D 图片进行人手建模并找到关键部件(如,骨节点)位置的过程。我们生活在三维世界,三维手势交互必然带来更自然更舒适的交互体验。我们也在 3D 人手交互方面正进行积极探索,未来在电商产品交互式展示、VR/AR、手语识别、在线教育等方面,我们会推出更多的交互性更强的产品,提供更人性化的交互体验和服务。

image.png

**Oculus Quest 在今年推出的 3D 手势操控
**

6.2 手势在 IOT 场景的应用

手势控制能否超越语音控制成为智能家居设备最自然不过的设备呢?在 IOT 场景,如果可以使用手势控制电视,灯泡,空调等等。目前已经有一些 startup 开始了在这方面的探索。

比如 Bixi,Bixi 是一款手势小遥控器,感应你的空中手势,可以指挥你最喜欢的智能手机应用程序、LifX 或者 Hue 灯泡、互联网扬声器、GoPro 和许多其他 IoT 设备。

再比如如下图的 Bearbot 万用遥控器,除了萌系的外观以外,还可以支持自定义手势控制全屋家电,让你从此摆脱一堆遥控器的束缚。

image.png

Bearbot 手势遥控器

6.3 手势在教育场景的更多应用

除了手指点读,手势在教育行业其实应该有更多的应用,比如现在大火的在线教育,手势可以增加虚拟课堂的互动感和,同时对于小朋友来说,手势/视觉提供的有趣新奇的操控体验也是对幼儿提高课堂注意力非常重要的一环,例如,引导举手回答问题。再比如,我们需要做一些课堂小练习,普通的模式太枯燥,使用动态手势识别“画对勾”,“画叉叉”让小朋友以互动游戏的方式完成这些练习。

image.png

原文链接:https://mp.weixin.qq.com/s/SA6U_4GCZFJw0nKoeeDB1w

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
机器智能技术
使用钉钉扫一扫加入圈子
+ 订阅

阿里云机器智能研究领域主要围绕机器学习等前沿技术开展理论与应用研究。《机器智能技术》圈子基于阿里巴巴达摩院的技术沉淀,围绕【研究报告】、【前沿技术】、【应用案例】、【行业新闻】、【传奇人物】多个方向为广大开发者贡献干货内容。

官方博客