手势识别如何搞定?我们需要基于大型视频数据库的端到端的学习
图:pixabay
原文来源:medium
作者:Twenty Billion Neurons
「机器人圈」编译:多啦A亮
意图手势
手势,和说话一样,是人类交流的一种自然形式。事实上,它们可能是最自然的表达形式。进化研究表明,人类语言以手势动作开始,而不是声音。事实证明,婴儿用手势来传达情感和欲望——在他们学会说话之前。
因此,许多技术公司一再试图用手势控制器替换键盘和鼠标,因为这样可以记录用户的手或手臂动作的意图,这一点也就不足为奇了。虽然第一批这样的系统使用有线手套(https://en..org/wiki/Wired_glove),但现代方法往往依赖于特殊的摄像机和计算机视觉算法。最著名的例子是2010年11月推出的微软Kinect(https://en..org/wiki/Kinect),问世时作为最畅销的消费设备而创吉尼斯世界纪录。尽管Kinect取得了初步的成功,但手势控制器在消费者中并未得到广泛的认可。
其原因可能是传统的手势控制系统有以下几个缺点:首先,它们要求用户购买诸如立体照相机(stereo camerash,https://en..org/wiki/Stereo_cameras)或新型3D图像传感器(time-of-flight cameras,https://en..org/wiki/Time-of-flight_camera)之类的特殊硬件来捕捉三维的视觉数据。这排除了像笔记本电脑或智能手机这样的标准消费硬件。第二,现有系统的性能不完善。现实世界是凌乱的,每个用户都倾向于以不同的方式执行给定的手势。这使得建立强大的、与用户无关的识别模型变得困难。
图:我们解决手势识别问题的流水线。它使用端到端的方法,在该模型中只学习输入手势视频片段和相应的标签。
在TwentyBN上,我们采用了不同的手势识别方法,使用了一个非常大的注释数据集的动态手势视频和神经网络训练了这些数据。我们创建了一个端到端的解决方案,可以在各种相机平台上运行。这使得我们能够构建一个鲁棒的手势识别系统,并且仅使用RGB相机实时工作。
“Jester”数据集

为了训练我们的系统,我们使用了一个大量数据集,这些数据集是我们社区群众工作者拍摄的短而密集的视频剪辑。数据集包含25个不同类别的人类手势中的大约15万个视频,用于训练/开发/测试,视频分配比例为8:1:1;它还包括两个“无手势”课程,以帮助网络区分具体的手势和未知的手部动作。视频显示人类演员在网络摄像头前执行通用手势,例如“向左滑动/向右滑动”、“向上/向下滑动两个手指”或“向前/向前滚动”。如果你想了解更多关于这个数据集,你可能感兴趣地发现,我们已经发布了一个非商业用途的创作公共许可证下具有重大意义的快照(snapshot)技术。https://www.twentybn.com/datasets
这些视频片段具有挑战性,因为它们捕捉真实世界的复杂动态。给你一个示例,看看这个视频剪辑,显示一个人做手势:
图:来自“Jester”数据集的示例剪辑。
虽然手势易于被人类识别,但由于视频素材包含次优照明条件和背景噪音(猫穿过现场),因此对于计算机来说很难理解。Jester上的训练迫使神经网络学习可以将信号(手动)与噪声(背景运动)分离的视觉特征的相关层次。基本的运动检测是不够的。
模型架构
我们过去几个月的工作重点是神经网络的设计和训练,有效地利用了我们日益增长的Jester数据集。我们研究了几种结构,以提出满足我们高性能要求并创建最少运行时间消耗的解决方案。最后,我们聚集在一个包含三维卷积网络(3D-CNN)以提取时空特征的架构、一个循环层(LSTM)来建模更长的时间关系,以及一个输出类别概率的softmax层。
图:描述我们的模型架构的示意图。
与处理图像的2D-CNN相反,3D-CNN在图像处理方面表现得更好,3D-CNN使用将二维卷积扩展到时域的三维滤波器。视频被处理为帧的三维“volume”。在神经网络的较低层中使用这样的3D滤波器是有帮助的,特别是在运动发挥关键作用的任务中。网络的输出是一系列特征,每一个特征都可以看作是一个小的输入视频片段的压缩表示。
然后,特征序列由LSTM层处理,使得更长的时间依赖性成为可能。在测试时,我们利用一个循环网络是一个可以穿越时间的动态系统这一事实。在训练时,每个循环隐藏状态通过softmax层转换成类概率的向量,并且获得的预测序列在时间上被平均化。平均化的向量用于计算损失。人们可以认为这是一种要求网络尽快输出适当标签的方法,迫使它与视频中发生的情况保持同步。这种常见的方法使得模型能够具有反应性,并在完全完成手势之前在线输出正确的类的最佳猜测。
我们的3D-CNN架构是按顺序排列的滤波器大小为1和3的层序列。滤波器大小为1的层用于解释信道相关性,并减少下一层的信道数。具有滤波器大小为3的层捕获空间信息。最终架构能够以87%的离线验证精度达到18fps的处理速度。
图:我们处理视频的整体流水线

结论
为了展示我们的结果,我们使用Python和Javascript构建了一个简单的客户端服务器系统,我们可以用它来实时演示我们网络的推理过程。
该系统由几个并行进程组成,每个进程各自负责系统的不同部分:视频捕获、网络推理、编排和HTTP服务。该模型在TensorFlow中实现,我们使用protocol-buffers来保存并加载网络。这使我们可以在Web浏览器中查看当前的摄像头视频流,并检查到预测的结果质量。你可以在此查看更长的视频结果。(https://www.youtube.com/watch?v=VlPnqL5osYQ)
点击链接查看原文:https://medium.com/twentybn/gesture-recognition-using-end-to-end-learning-from-a-large-video-database-2ecbfb4659ff
QTTabBar——我心中最好的资源管理器多标签工具
QTTabBar是我最喜欢的资源管理器多标签工具。同类型的工具还有几款,值得推荐有功能更加强大的Total Commander,但是Total Commander是一款共享软件(付费后升级成正式版),且界面有点太复古。所以我目前还是选择的QTTabBar。
不少文章都介绍过QTTabBar,但没有介绍使用技巧,所以大部分朋友都是放在收藏夹吃灰。其实只要稍微设置一下,QTTabBar可让你的资源管理器像浏览器一样方便快捷(此处点名批评IE)。
在github上有一个QTTabBar的修改版,支持全中文,对于新手而言更加友好(支持win11)。我推荐新手使用这个版本:https://github.com/indiff/qttabbar
但是如果你的系统是win11,想获得最佳的适配效果,建议去官网下载最新的2048 Bete2版:http://qttabbar.wikidot.com/(很多人会找错官网)
安装软件win10系统可以在文件夹选项里开启QTTabBar(标签)和QTTabBar标准按钮(工具栏)。
我个人喜欢精简界面,所以我只需要显示标签栏,就好像浏览器的多标签功能一样,效果入下图:
在上图的红色框区域右键,可以进入QTTabBar的设置界面,中文界面的设置相对很简单。重点主要看一下“快捷键”、预览提示、标签外观这几项。如果对文字描述不太理解,可以设置一项就点击应用查看效果。

其实设置只需要做一次,大概10分钟。后续使用记住几个快捷键即可。比如鼠标空白处双击可以返回上一层文件夹、ctrl+w关闭当前标签。并不需要记住全部快捷键,只需要记住顺手的几个命令即可。
其实软件可以实现的功能还是挺多的,但是学习成本也高了。所以并不需要精通所有功能,用着顺手就行。
软件的大部分操作基本可通过快捷键进行,但是要想真正和浏览器一样还需要鼠标手势支持。QTTabBar本身不支持鼠标手势,所以我用到了另外一个小工具:Stroke。开源地址是https://github.com/poerin/Stroke
这是一个鼠标手势工具,你只需设置对应命令的手势即可。
最终实现的效果图就像下面这个动图一样:
QTTabBar其实也支持分栏显示,如果你下载的是官方的2048版本,那么在菜单里直接可以开启分栏:
如果你用的是旧版本,就需要去官网下载command files来开启底部分栏或者左边分栏的功能:
如果你习惯了这两个软件的配合之后,你会发现资源管理器变得顺手多了。这个功能适合经常需要整理很多文档的朋友。对于只是把电脑当个电视和游戏机的朋友其实就不需要花力气去研究了。
标题:强大手势与标签;强势手势
链接:https://yqqlyw.com/news/rj/63370.html
版权:文章转载自网络,如有侵权,请联系删除!
用户评论
哇!这个手势也太酷了吧!感觉很有未来感,不知道以后会用哪些酷炫的手势来操作手机啦~
有19位网友表示赞同!
我之前看过类似的手势识别技术,但精度不高,经常识别错误。这次的文章介绍的很详细,希望能有更多实际应用场景吧!
有8位网友表示赞同!
手势控制确实很方便快捷,尤其是在我们日常操作复杂设备的时候。希望这种技术能够普及,让科技更贴近我们的生活。
有20位网友表示赞同!
我觉得这个强势手势操作很有意思,但会不会过于依赖视觉?对于视力不好的朋友来说会不会带来不便呢?
有11位网友表示赞同!
这篇文章讲的太专业了!我一个菜鸟都听不懂。能不能用更通俗易懂的语言解释一下吧?
有17位网友表示赞同!
手势识别技术发展很迅速,未来可能取代传统的鼠标键盘操作,想想就激动人!希望能更快地应用到生活各个方面!
有14位网友表示赞同!
强势手势的操作体验真的太棒了!简洁高效,还能自定义手势动作。真是让人眼前一亮的科技创新!
有18位网友表示赞同!
我更喜欢传统的键盘和鼠标输入方式,感觉使用起来更加精准可靠。这种手势操作有时候反应速度慢,容易出现误识别的情况。
有12位网友表示赞同!
这篇文章写的很详细,而且图文并茂,很好理解手势识别技术的原理了!希望能有更多应用案例来加深理解!
有10位网友表示赞同!
未来所有智能设备都采用手势操作?想想就太酷了! 这将彻底改变我们的交互体验。
有16位网友表示赞同!
强势手势操作听起来很高端,但我更希望科技能让生活更加简单方便,而不是增加复杂性。
有8位网友表示赞同!
手势标签这个概念很有趣,可以大大提升用户操作效率!例如我们可以自定义不同的手势组合来执行特定功能。
有9位网友表示赞同!
强势手势和标签的结合确实很巧妙,可以实现更加精准、高效的控制。期待它能够应用到更多领域!
有17位网友表示赞同!
其实我还是习惯使用传统的操控方式,感觉更安全一些。这种新技术听着很厉害,但我担心会出现安全隐患?
有12位网友表示赞同!
我试过了很多手势识别软件,精度真的很一般。这个强势手势听起来可期待性很高呢!
有12位网友表示赞同!
如果手势操作可以实现多维度控制,比如旋转、缩放等动作,那将是真正的高级体验!
有15位网友表示赞同!
很期待未来能够看到更加完善的手势识别技术,让我们的生活更加智能化和便捷!
有11位网友表示赞同!