您好, 访客   登录/注册

基于Unity的手语交流平台的设计与实现

来源:用户上传      作者:陈建国 邓晓军 谭孟旭 张官正 于顺洪

  摘要:针对听力障碍人群与正常人群存在语言交流障碍的问题,基于Unity平台采用Leap Motion设备收集手势特征,利用Maya3D建模和几何模板匹配技术,采用.NetCore框架开发一款手语动态识别系统,为聋哑人群体创建一个无障碍交流的平台。实际应用效果表明,系统具有良好的易用性、识别率和可靠性,系统的研发为聋哑人与健全人群的交流带来了极大的便利。
  关键词:Unity;Maya 3D;LeapMotion;.NetCore框架;手语识别
  中图分类号:TP319 文献标识码:A
  文章编号:1009-3044(2020)09-0055-04
  1 国内外研究现状及分析
  据统计,世界上有将近2.5-3亿听力障碍人群,包括弱听、重听、老性耳聋等。大多数聋哑人仅使用手语与书面语与他人交流,因此多数聋哑人只能与家人或同群体互动交流,与正常人群体往来甚少。聋哑人士与不懂手语的正常人群沟通存在极大的障碍,而当前仅有非常小比例的正常人群体掌握了手语。听力障碍让他们与外界交流非常不便,随着科技的不断进步也使得他们期望通过科技改变生活。
  手语是聋哑人与正常人之间沟通的桥梁,目前市面上还没有成功的手语翻译产品,大多数都停留在实验室阶段。实现手语翻译的关键就是手语识别,20世纪80年代就有人开始了简单的手势识别研究。1983年,美国电话电报公司的G.J.Grimes发明一款能够识别72个单手字母“数字数据输入手套接口设备”,被认为是最早进行手语识别研究的人。目前对手语识别的研究主要分为两大类:基于数据手套的手语识别和基于视觉的手语识别。
  通过对文献的研究,上述两类手语识别设备主要存在以下问题:
  1)数据手套的成本高昂,佩戴和使用不便。虽然利用数据手套进行识别有数据量较小,识别率较高等优点,但是基于数据手套的手语识别大都停留在实验室研究阶段。
  2)国内对基于视觉的手语识别的研究比较少,而且可识别的静态手势的数量过少,手语识别系统的准确率不高。
  3)手语识别系统由软硬件构成的系统,系统体积较大,不方便携带。
  针对以上的问题,设计一款价格实惠、携带方便和识别率高的手语交流平台已凸显。本系统将采用Leap Motion收集手部特征,相对于数据手套其性价比和便携性的优势显而易见,通过对提取出的三维手势数据进行平面化,通过几何模板匹配算法,达到良好的手语识别率,并且采用百度语音API能够实现文字、语音的相互转换。利用Unity、Maya、Leap Motion能够实现手语、文字的相互转换。
  2 系统分析与设计
  2.1 需求分析
  2.1.1 性能需求
  本系统性能需求主要包括以下几个方面:
  1)兼容性。系统采用基于类聊天程序的交流模式,兼容市面上大多数电脑以及手机设备,对不同系统版本、分辨率、屏幕尺寸进行兼容性开发,特别针对市场占有率高的设备进行全面的兼容性测试。
  2)安全性。系统应当保证用户信息和系统数据的安全,通过用户登录和权限验证,实现代码混淆等途径保证系统的安全性。
  3)便携性。系统采用LeapMotion作为手势采集设備,该设备重量209,体积相当于半个手掌大小,便携性突出。
  4)可靠性。通过LeapMotion采集手势,对数据进行向量化,提出一种几何模板匹配识别算法,达到较好的识别率和可靠性。
  2.1.2 功能需求
  系统主要是方便聋哑人能和正常人进行交流。系统由硬件和软件平台构成,硬件主要包括:LeapMotion设备负责提取用户输入手势并解析成三维数据。软件平台主要包括用户交流平台和LeapMotion硬件串口数据转发平台,结合移动互联网的优势,实现用户间的交流。系统采用在线聊天交互模式,该模式类似于QQ等在线聊天工具,这样在最大程度上保证了用户使用的简便程度。平台的系统功能模块如图1所示,通过该平台实现聋哑人和正常人交流。
  2.2 系统设计
  系统的整体架构由Socket服务器、用户终端(包括PC客户端和Android客户端)以及数据库服务器、LeapMotion控制器4个部分组成,它们之间通过网络互联,其整体架构如图2所示。
  Socket服务器通过网络向各个终端接收和发送请求,然后进行处理并缓冲到数据库服务器中,之后当用户终端通过网络向Socket服务器发送数据请求时,Socket服务器利用负载均衡机制快速向数据库服务器集群请求数据,然后将数据返回给用户,对于用户发送过来的数据,Socket服务器会快速同步到各个数据库服务器。
  系统使用Maya制作手势模型,然后将模型进行骨骼绑定,之后将手势模型制作成动画,在Unity引擎中将该动画与动画对应的手势进行一一映射,就能实现文字转会成手语的功能。使用Leap motion对手势进行捕捉和提取,获得手上各个关节的具体位置向量信息,将该信息用算法进行分析、训练并保存。当再次出现该手势时,系统通过提取保存的数据并与之对比,便能快速实现手语识别的功能,手语识别过程如图3所示。
  3 关键技术研究
  3.1 Leap Motion手势特征提取
  通过建立三维空间的右手笛卡尔直角,重建手掌在真实世界的三维空间运动信息。坐标原点是控制器的中心,坐标X轴平行于控制器指向屏幕,坐标Y轴垂直指向上方,坐标Z轴指向背离屏幕的方向。
  根据Leap Motion捕捉到的目标信息,通过判断手掌法向量、手掌关节相对位移,计算手的移动方向、速度、位移以及俯仰角、翻滚角等变化情况定义了上移和下移、前移和后移以及左移和右移三种基本手势趋势。基于Leap Motion API所编写的手势判断处理模块,该程序在Leap API自带的Gesture之外,通过分析四种基本手势可组合判断不同类型手势。上移动即手掌平放后向远离设备的方向移动,下移即手掌平放后向靠近设备的方向移动。前移和后移前移即手掌平放后指尖抬高高于手腕的运动,后移即手掌平放后手腕抬高高于指尖的运动。左移和右移左移即手掌平放后左边抬高高于右边的运动,右移即手掌平放后右边抬高高于左边的运动。   Leap Motion设备内置的三个红外LED灯和两个带广角镜头的高帧率灰度摄像头示。通过这种方式可以在极低光照的环境中采集到图像信息,而灰度摄像头可以进一步减少运算数据量,提高算法速度。LeapMotion通过计算机视觉的算法(一般是三角测距法)不断将前方接收的立体图像作为一个帧接收并传人客户端程序,一个帧的对象提供了绑定数据即手势和元素的列表,这些数据用来描述设备视野内观察到整体的动作。根据之前接收的列表,建立三维特征库识别手势。手势的判别可分为两部分:一部分与包含位置和方向的静态姿势有关,另一部分则用来标识动态手势。
  3.2 噪声抑制技术
  手语识别系统处理的数据流是通过LeapMotion传感器实时返回的动作捕捉数据,包括手部各关键节点的空间轨迹、运动速度和指向矢量。这些信息主要用于对身体数据进行切割、探测操作。尽管理论上LeapMotion传感器的轨迹跟踪精度达到亚毫米级,但由于是通过软件算法实现其高精度跟踪,同时器件分辨率、熱磁噪声、人手抖动视觉遮挡及数值解算的奇异值都可能引入噪声信号,所以在实际使用时仍会产生识别不稳定的现象。本项目采用自适应截止频率低通滤波方法,通过检测用户手掌掌心点速度实时改变低通滤波器的截止频率,LeapMotion空间轨迹的获取如图4所示。
  3.3 Socket高并发通信
  通信系统基于TCP长连接实现,由于TCP在数据传递时,有确认、窗口、重传、拥塞控制机制,保证了较好的稳固性,使数据无差错,不丢失,不重复,且按序到达。在数据传完后,还会断开连接用来节约系统资源。其次,TCP采用了连续ARQ协议来保证数据传输的正确性,使用滑动窗口协议来保证接方能够及时处理所接收到的数据,进行流量控制,客户端与服务器通信过程如图5所示。TCP使用慢开始、拥塞避免、快重传和快恢复来进行拥塞控制,以避免网络拥塞。
  4 系统实现及结果分析
  手语交流平台由硬件平台和软件平台构成,硬件平台包括LeapMotion体感控制器,主要实现识别用户、手势的数据提取、计算分析用户身体信息功能;软件系统采用C#编程语言实现,主要实现手语双向翻译、聋哑人与正常人在线交流、手语教学等功能。采用可视化简洁的图形界面便于聋哑人以及正常人的使用。
  4.1 系统登录界面
  登录界面有登录、创建用户、创建手势库和退出四个功能如图6所示。
  4.2 系统交流窗口
  聊天交流可以在正常人(Normal模式)、聋哑人(Deaf模式)两种身份模式中随时切换。
  1)Normal(正常人模式)模式
  系统默认模式,在该模式下左下角的按钮图标为一个扬声器标志,点击这个按钮,便能连接到百度语音API然后进行录音,将音频转换为文字至输入框,将文字发送后,文字左边就会出现耳朵状图标,点击就能转换为语音播放出来。图7为Nor-mal模式下的聊天框。
  2)Deaf(聋哑人)模式
  Deaf模式是手语交流通信系统中最重要的功能,包括了手语识别、文字转换手势等交流所需核心功能。切换到Deaf模式,点击左下角的手掌按钮图标便能进行手语识别,如图8所示。手语识别主要是通过连接的LeapMotion提取手势,使用图像识别算法,识别出正确的手语。点清空将屏幕上识别出的字清空,点一键发送将识别出的字按顺序发送到输入框,点击文字能弹出手势视图用来介绍手语的动作展示,可以方便聋哑人检验是否是需要发出的正确手势含义,如图9所示。文字以方便正常入学习手语,还能拖动字体来改变词语顺序,以便对句子的结构进行调整。软件左边界面是能够查找不同的在线联系人,点击名字便能切换窗口,方便交流。当接收到消息的时候,点击文字就能够将文字转换成手语,通过播放手语聋哑人就可以读懂消息,如图10所示。
  4.3 系统自制识别手语
  不同地方的聋哑人也会使用不同的手语就如同各个地方的方言。因此为了能够识别“方言”手语,可以创建自定义手势识别库,创建自定义手语的界面如图11所示。在输入框中输入要保存的手语名称,然后点击后面对应的:“Submit”按钮就能通过LeapMotion设备进行手势存储,按“R”将手势录入,如果录入时手势录入错误,可以按“E”进行手势清空,按“S”将录入的手语保存的。之后在交流过程中就能识别“方言”手语。
  5 结束语
  本手语交流平台通过对手势识别算法改进,并在程序执行速度方面进行优化,同时对手势特征的提取进行了简化,实现了聋哑人与正常人正常交流。下一步将在系统的识别率、稳定性和易用性方面进行更深入的研究,同时在系统的功能方面加以完善,如加入学习、音乐和娱乐等功能,吸引更多的用户使用该平台,使系统不仅是一个手语识别系统而使其成为聋哑人交流、寓教于乐一体的综合平台,同时加入手语矫正功能,提供手语翻译员学习手语功能,并努力打造其生态圈。
  参考文献:
  [1]王继红,国内外手语翻译研究:历史与现状[[Jl.上海翻译,2009 (2):23-28.
  [2]张思远.优势视角下聋哑人社会融合研究[D],贵阳:贵州大学,2015.
  [3]王赋攀,吴亚东,杨文超,等.一种视觉信息融合数据手套设计研究[J].计算机研究与发展,2018,55(12):182-192.
  [4]任海兵,祝远新,徐光祐,等.基于视觉手势识别的研究一综述[Jl.电子学报,2000,28(2):118-121.
  [5]吕蕾,张金玲,朱英杰,等.一种基于数据手套的静态手势识别方法[J].计算机辅助设计与图形学学报,2015(12):2410-2418.
  【通联编辑:朱宝贵】
  基金项目:湖南省自然科学基金省市联合基金项目(2019JJ60054);2018年湖南省教育厅普通高校教学改革研究项目([2018]436号一441);2018年国家级大学生创新训练项目(201811535011)
  作者简介:陈建国(1998-),男,本科在读;通信作者:邓晓军(1974-),男,教授,主要从事大学生创新创业教育。
转载注明来源:https://www.xzbu.com/8/view-15209589.htm