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

一、概述

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

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

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

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

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

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

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

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

二、我们现在的业务场景

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

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

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

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

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

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

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

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

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

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

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

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

在 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)。

大屏解决方案: 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 ,从而指导网络获取手区域以外的语义信息,增强检测能力。

海尔电视手势

四、落地与优化闭环

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

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

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

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

4.1.1 更强的端上检测算法

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

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

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

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

端上量化

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

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

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

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

使用围栏的优化结果:

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

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 基于视频理解的动态手势识别算法

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

Our Temporal Generation Network

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

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

六、未来展望

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

6.1 3D 手势崛起

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

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

6.2 手势在 IOT 场景的应用

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

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

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

Bearbot 手势遥控器

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

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

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

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

  1. 奇门对接需求设计_从2020《奇门遁甲》看网络电影精品化的“正确打开方式”...

    作者 / 1982 "你知道什么是奇门遁甲吗?" 随着2020版网络电影<奇门遁甲>终极预告的神秘发问,观众跟随男主视角一下被带入了那个波云诡谲的东方奇幻世界:雾隐门四 ...

  2. 揭秘超分辨率的正确打开方式

    写在前边:图像和视频通常包含着大量的视觉信息,且视觉信息本身具有直观高效的描述能力,所以随着信息技术的高速发展,图像和视频的应用逐渐遍布人类社会的各个领域.近些年来,在计算机图像处理,计算机视觉和机器 ...

  3. 通过机器学习识别“迪士尼在逃公主”,程序员宠女的正确打开方式!

    到了庆祝的时候了!我们刚刚送走了圣诞老人.现在正等待新年的钟声敲响.所以我想到建立一个很酷的东西(至少我的七岁小公主会觉得)同时学一点机器学习.所以我们要做一个什么? 我借用的我女儿所有迪士尼公主人偶 ...

  4. 鸿蒙电视如何播放手机上的歌,鸿蒙这么用 荣耀智慧屏联动手机的正确打开方式...

    原标题:鸿蒙这么用 荣耀智慧屏联动手机的正确打开方式 上周末,荣耀刚刚发布了全新的智慧屏产品,依托于华为系的优势资源,其图像素质.影音内容这些围绕于"屏"的部分我们是相当放心的,所 ...

  5. 为什么说vivo S7才是5G轻薄旗舰的正确打开方式

    8月3日,vivo发布了最新的5G旗舰机型S7.S7 170g的整机重量和7.39mm的机身厚度,瞬间让其成为年轻用户追捧的热点. 一.厚重的5G手机 众所周知,5G手机由于在信号处理的技术要求上比4 ...

  6. Python Matplotlib绘图的正确打开方式

    Python Matplotlib绘图的正确打开方式 文章目录 Python Matplotlib绘图的正确打开方式 1.先搞懂fig.axes.axis `Figure` `Axes` `Axis` ...

  7. 腾讯案例实战!聊聊设计中「需求」的正确打开方式

    吹斯坦 · 粥:入行早期是带交互设计团队,近两年负责产品团队,对于"需求"的接受方和给予方角色都有过扮演,今天想和大家探讨一下"需求的正确打开方式". 每次探讨 ...

  8. 论品质自驾游正确打开方式:晒晒彭于晏的自驾游新装备

    阳春三月,又逢一年春暖花开季,正是自驾好时节! 试想一下,鲜花盛开,春风徐徐,家人(美人)相伴,开着心爱的座驾和春天来场约会.与此同时,自驾游途中享受各种健康美味的吃货之旅,玩转露营烧烤. 这是何其幸 ...

  9. 彭于晏牵手英得尔T20,这才是品质自驾游正确打开方式

    国家旅游局数据中心数据显示,2018年春节期间,全国共接待游客3.86亿人次,同比增长12.1%,旅游收入达到4750亿元,同比增长12.6%.而在活跃的旅游市场中,自驾游占比接近85%,成为国内家庭 ...

最新文章

  1. 程序员请收好:10个非常实用的 VS Code 插件
  2. SAP MM PR中的Fixed ID字段与MD04里PR单据号后的星号
  3. python要在哪里写代码-如何更优雅地写python代码
  4. 怎样把android应用部署到手机上
  5. Linux 下 top 命令的使用详解
  6. vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
  7. Java:写2个线程,其中一个线程打印1-52,另一个线程打印A-Z,打印顺序应该是12A34B56C...5152Z。
  8. 把图片做成html,HTML5实践-图片设置成灰度图
  9. C#发现之旅第二讲 C#-XSLT开发
  10. 本想制衡经销商价格,不料成为黄牛货源地!茅台电商公司被迫解散!
  11. Change Eclipse Tooltip's Color in Ubuntu
  12. oracle instr函数详解
  13. mysql安装包及安装教程(附网盘地址)
  14. 塔吊安全智能监控系统智慧工地整体解决方案
  15. 生态环境之水污染网格化监测预警方案
  16. Excel在统计分析中的应用—第十三章—时间序列分析-季节变动的测定(季节虚拟变量回归法)
  17. Day8:盈利源泉是否可持续(1)
  18. 如何在html修改图片大小,HTML – 如何在CSS中动态调整图像大小?
  19. repository ‘Gradle Libs‘ was added by unknown code
  20. uniapp、uniCloud实现微信公众号自动查询淘宝京东优惠券制作过程

热门文章

  1. 使用pg_resetwal时空穿梭找回“幽灵”元组
  2. 你已经是个成熟的985大学了,请不要在大一教 C 语言!
  3. mysql创建表时遇到的问题_MySQL语言创建表时遇到了问题,请问我错在哪里了?...
  4. c++ 获取时间戳_分布式系统理论基础三-时间、时钟和事件顺序
  5. python 设置x轴_python matplotlib坐标轴设置的方法
  6. 作为IT面试官,我如何考核计算机专业毕业生?作为培训班老师,我又如何提升他们?...
  7. [MySQL] 为什么要给表加上主键
  8. 20、Flask实战第20天:Flask上下文
  9. Redis(七)Redis的噩梦:阻塞
  10. Mybatis 逆向工程 自动生成代码