使用深度学习进行手语识别

原创
2021/09/09 10:05
阅读数 407

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达


介绍


手语识别是一个多年来一直在研究的问题,然而,我们还远未在我们的社会中找到完整的解决方案。


在为解决这一问题而开展的工作中,大多数工作基本上基于两种方法:基于接触的系统,诸如传感器手套; 或仅使用相机的基于视觉的系统,后者更便宜,而深度学习的蓬勃发展使其更具吸引力。


这篇文章展示了一个使用卷积神经网络的手语双摄像头第一人称视觉翻译系统的原型,文章分为三个主要部分:系统设计、数据集和深度学习模型训练和评估。


视觉系统


视觉是手语的一个关键因素,每一种手语都是为了让一个人在另一个人面前理解,从这个角度来看,一个手势是完全可以观察到的。从另一个角度查看手势会使理解变得困难或几乎不可能,因为无法观察到每个手指的位置和动作。


试图从第一视觉的角度理解手语也有同样的局限性,有些手势最终看起来是一样的。但是,这种模糊性可以通过在不同位置放置更多摄像机来解决。这样,一台相机看不到的东西,可以被另一台相机完美地观察到。


视觉系统由两个摄像头组成:一个头戴式摄像头和一个胸戴式摄像头。使用这两个摄像头,我们可以获得标志的两个不同视图,一个顶视图和一个底视图,它们一起工作以识别标志。

从顶视图和底视图的角度对应于巴拿马手语中的字母 Q 的符号


种设计的另一个好处是用户将获得自主权。在传统方法中无法实现的功能,即用户不是残疾人,而是需要在手语者做出手语动作时取出带有相机的系统并聚焦手语表达者的第三人。


数据集


为了开发该系统的第一个原型,使用了来自巴拿马手册字母表的 24 个静态标志的数据集。

巴拿马语手册字母表

为了将此问题建模为图像识别问题,我们舍弃了字母 J、Z、RR 和 Ñ 等动态手势,因为它们给解决方案增加了额外的复杂性。


数据收集和预处理

为了收集数据集,要求四名用户佩戴视觉系统,并在两台摄像机以640x480像素分辨率记录的同时,执行每一个手势10秒钟。。


要求用户在三种不同的场景中执行此过程:室内、室外和绿色背景场景。对于室内和室外场景,要求用户在执行手势的同时四处走动,以获得具有不同背景、光源和位置的图像。绿色背景场景用于数据增强过程,我们将在后面描述。


获取视频后,提取帧并将其降低到 125x125 像素分辨率。

从左到右:绿色背景场景,室内和室外

数据增强

由于进入卷积神经网络之前的预处理被简化为只是重新缩放,因此背景总是会传递给模型。在这种情况下,模型需要能够识别一个标志,尽管它可能具有不同的背景。


为了提高模型的泛化能力,人为地添加了更多不同背景的图像来代替绿色背景,这样就可以在不投入太多时间的情况下获得更多数据。


具有新背景的图像

在训练期间,还添加了另一个数据增强过程,包括执行一些变换,例如一些旋转、光强度的变化和重新缩放。

旋转、光强度和重新缩放的变化

选择这两种数据增强过程有助于提高模型的泛化能力。


顶视图和底视图数据集

这个问题被建模为一个包含 24 个类的多类分类问题,问题本身被分成两个较小的多类分类问题。


决定哪些手势将根据顶视图模型进行分类,哪些手势将根据底视图模型进行分类的方法是选择所有从底视图角度看过于相似的手势作为要从顶视图模型进行分类的手势,其余手势将根据底视图模型进行分类。所以基本上,顶视图模型用于解决歧义。


因此,数据集被分为两部分,每个模型一部分,如下表所示。


深度学习模型


作为最先进的技术,卷积神经网络是解决这个问题的选择。它训练了两种模型:一种用于顶视图,另一种用于底视图。


建筑学

顶视图和底视图模型都使用了相同的卷积神经网络架构,唯一的区别是输出单元的数量。


卷积神经网络的架构如下图所示。

卷积神经网络架构

为了提高模型的泛化能力,在全连接层的层之间使用了 dropout 技术来提高模型性能。


评估

在测试集中使用与系统在室内的正常使用相对应的数据对模型进行评估,换句话说,在背景中,它出现了一个人作为观察者,类似于上图中的输入图像(卷积神经网络架构),结果如下所示。

虽然模型学会了对一些符号进行分类,例如 Q、R、H;总的来说,结果不是特别好,看来模型的泛化能力不太好。然而,该模型也通过显示系统潜力的实时数据进行了测试。


底部视图模型使用具有绿色统一背景的实时视频进行测试。当我在笔记本电脑中运行底视图模型时,我戴着胸戴式摄像头以每秒 5 帧的速度拍摄视频,并尝试拼写 fútbol(西班牙语)这个词,通过单击模拟每个字母的条目。


结论


手语识别是一个困难的问题,如果我们考虑所有可能的手势组合,这类系统需要理解和翻译。也就是说,解决这个问题的最好方法可能是将它划分为更简单的问题,而这里介绍的系统将对应于其中一个问题的可能解决方案。


该系统的性能不太好,但已经证明,它可以只用摄像机和卷积神经网络构建第一人称手语翻译系统。


据观察,该模型倾向于将几个符号相互混淆,例如 U 和 W。但是仔细想想,也许它不需要具有完美的性能,因为使用拼写校正器或单词预测器会增加翻译的准确性。


下一步是分析解决方案并研究改进系统的方法,通过收集更多质量数据、尝试更多卷积神经网络架构或重新设计视觉系统来进行一些改进。

好消息,小白学视觉团队的知识星球开通啦,为了感谢大家的支持与厚爱,团队决定将价值149元的知识星球现时免费加入。各位小伙伴们要抓住机会哦!


下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复: 扩展模块中文教程 即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


本文分享自微信公众号 - 小白学视觉(NoobCV)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部