您好, 访客   登录/注册

基于Arduino的多重手势识别传感器的设计与实现

来源:用户上传      作者:

  摘要:人机交互技术日益发展,发展过程中,键盘和鼠标成为人机交互的主要媒介,但相较于机械装置,人体姿势是更为自然的一种人机交互方式。手势是一种最为自然且直观的非语言交流方式。在目前的手势识别领域中,大多使用单一的传感器,识别手势动作单一,动作数量有限,本文提出了一种基于Arduino平台的多重传感手势识别器,主要将两种不同原理的手势识别传感器进行基于组合数公式算法的交叉复合连接,并对一般机械车进行交叉控制。该识别器提高了智能识别本身的传感可辨范围以及识别效率,并解决了单一手势识别传感器的安全性和精准性问题。
  关键词:人机交互;3D手势识别;RGB红外手势识别;多重传感手势识别器
  中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2019)11-0134-04
  0 引言
  目前手势识别技术正值大红大火时期。最初的手势识别主要是利用机器设备,通过直接检测瘦胳膊各关节的角度和空间位置,满足了人们对方便的需求。目前在许多领域都应用的手势识别技术,例如:虚拟现实(VR),仿生机械臂和智能駕驶等。本文实现的多重手势识别传感器控制的机械车,可以帮助特殊人群;可以替代人工繁重劳动;可以代替人参与一些特殊环境的操作控制:比如受限空间操作、恶略环境操作、甚至是空间操作、深海操作等等,可以广泛应用于日常生活当中。
  人机交互的传统定义是,人输入信息给设备,设备给出反馈的形式。传统的人机交互形式由按键或者触摸屏来控制,信息入口固定,操作性也是比较单一,单一的操作性并不能保证识别的精确性。相较之,摄像头的图像识别能最大程度的保证识别的精确性,但是问题在于摄像头捕捉到的图像来源于现实中的人本身,不能保证识别后的安全性,可能会带来身体信息泄露的情况,包括面部、指纹等。
  为了解决上述的准确度和安全性的问题,需要一种既可以保证精确性又可以提供高安全性的方式来进行人机交互。本文提出的多重传感器,相较于单一传感器可以提供更复杂的识别系统,同时可以通过大量的测试来保证精确性,最后也不存在信息泄露的问题。本方案实现更加复杂的识别系统应用的是组合数公式算法,该算法是统计学的一类组合计算方法,它主要应用于计算n个不同元素中,任取m(m<n)个元素并成一组的可能性计算。该多重传感手势识别器考虑到周围的各种环境因素以及识别范围的问题,综合两种不同机理的手势识别传感器实现复合连接机制,提高手势识别传感器识别手势的精确性。并且在传感器选择上,选择非触控式、非摄像式的手势识别传感器,增强识别器的使用安全性。
  1 多重传感手势识别器构建
  本文提出的多重传感手势识别器需要有手势获取功能,判别功能,多重复合连接与控制及交叉控制功能,主要构成有一下三个模块,设计流程模块如图1所示。
  首先,第一模块是对于同一Arduino板将两个不同原理的手势识别传感器进行有效的复合连接[1]。以由简单到复杂的方式,在该模块将先测试RGB红外手势识别传感器3D手和势识别传感器的使用有效性,同时将同步测试单一的传感器识别的准确率。最后将两个传感器同时连接在一块Arduino板上进行复合使用测试,成功即完成复合连接多重传感手势识别器。[5]
  第二模块实现的是多重传感手势识别器与一般机械车的连接使用。该模块将分为两个步骤。首先,为不损坏硬件本身及机械车内部,将首先利用LED灯进行识别器对外连接的使用测试。其次,在成功的基础上,将进一步连接机械车,实现可连接使用的测试。
  第三模块的目的是实现多重传感手势识别器对一般机械车的交叉控制。本模块主要分为三个部分。第一部分是对于控制机械车的多种手势的设计,在该部分将设计多种基础且可用性强的手势,便于生活应用。第二部分会针对设计出的手势,在代码设计中实现识别器对机械车的交叉控制。第三部分会在手势设计完成且识别器与机械车连接交叉控制使用无碍的基础上完成识别精确度的测试。
  2 手势识别传感器复合连接设计
  旨在提高手势识别的准确性要求,基于已存在的单一手势识别器,本文提出使用两个不同原理的传感器,分别基于RGB红外实现手势识别和电近场实现3D手势识别。本实验主要实现两个传感器的单独连接测试,以及双传感器的交叉复合连接,实现如图2所示。
  2.1 RGB红外手势识别传感器识别
  RGB红外手势识别传感器模块需要集成RGB、环境光、近程和手势传感器等多种模块于一体,同时还需要具备UV-IR遮光滤光片课实现精准的环境光和相关色温检测的功能。[4]
  通过红外发射器发射红外信号,当手以一个方向从传感器上方移动过时,利用4个定向二极管来感知反射回的红外线能量,当二极管接受到反射回的红外信号时,二极管电压值会有较明显的增加,由于二极管电压值变化的顺序与手移动时的方向是一致的,所以可以通过不同方位上的二极管的电压值变化的时间差来判断手势方向。
  对于RGB红外手势识别传感器与Arduino的连接,传感器的数字IO引脚D与Arduino的接口2连接,APDS-9960传感器的I2C数据信号SDA引脚和I2C时钟信号SCL引脚分别与Arduino的SDA和SCL接口相连接,传感器的正极VCC引脚和负极GND引脚分别与Arduino的5V和GND接口相连。综合考虑,我们在本实验中采用了APDS-9960红外手势识别传感器。
  2.2 3D手势识别传感器的识别
  3D手势识别传感器模块使用识别时会将位置数据、触摸或多触摸信息添加到自由空间[3]手势传感中,最后通过电近场[2],当手靠近时,会干扰磁场,从而使磁场接收器检测到变化。
  对于3D手势识别传感器与Arduino的连接,传感器的数字IO引脚D与Arduino的接口7连接,传感器的I2C数据信号SDA引脚和I2C时钟信号SCL引脚分别与Arduino的A4和A5接口相连接,传感器的正极VCC引脚和负极GND引脚分别于Arduino的5V和GND接口相连接。本文使用的3D手势识别传感器是基于Microchip专利的GestIC技术,能够实现我们所需要的功能。   2.3 双传感器的交叉复合连接
  多重传感手势识别器,本文将上述两个不同原理的手势识别传感器进行复合连接,实现多重传感手势识别器。由于两个传感器的原理不同,实现功能时的引脚连接是不同的最宏观的体现。在连接测试时,主要解决的问题时两个传感器的引脚冲突问题。根据上述的连接测试可知,两个传感器的数据信号和时钟信号并不冲突,但是一般的正极VCC和负极GND两引脚发生冲突。解决方法有两个,其一是改变硬件条件,通过扩展Arduino板增加引脚;其二可以通过程序设计改变Arduino引脚的属性,从而导出两对正负极接口。
  3 多重传感手势识别器与机械车的连接与控制
  3.1 多重传感手势识别器与机械车的连接
  基于第一模块设计的多重传感手势识别器,再该阶段将实现识别器的独立实验测试,以及与一般机械车的连接实验。
  在已连接好双传感器的Arduino板上,将4色的LED测试灯连接在对应即将连在小车上的引脚位置,编写简单的if语句代码,进行二者同步使用是否可行的测试。
  在LED灯正常亮灯的基础上,接下来进行与机械车的本体的连接。该部分主要是将Arduino板与机械车相结合。[6]Arduino板上的引脚接口主要用于与传感器连接,在拷入代码之后,实现与小车的连接使用的是USB接口,也因此该多重传感手势识别器可以针对不同类型的机械车,具有普遍适用性。
  3.2 多重传感手势识别器对机械车的交叉控制
  在可识别手势的基础上,本实验针对两种传感器设计实现六种不同的基础手势,主要用于复合识别应用。[7]应用引言中提到的组合数公式算法,将两个传感器的基础手势进行结合,使使用者在使用的过程中,可以从不同的手势组合,亦或同一手势组合的不同发生顺序来进行对机械车的不同控制方式,如表1所示。[8]
  基于3.2的连接与LED灯测试代码,添加定义变量等,并且修改if语句,将具体的操作写入if语句。之后就可以针对设计好的多重手势向Arduino板中拷入代码完成多重传感手势识别器的设计与实现。将该Arduino板与机械车进行连接,进行接下来相应的精确性测试。
  4 实验测试分析
  本文设计实现了传感器与实物之间的连接使用,如图3所示,以及不同识别原理的传感器之间的交叉应用。目的在于提高传感器的安全性和精确性。本模块的测试识别准确率主要体现在精确性方面。
  在三阶段阶段设计后,本实验最后进行了识别率的测试,如表2所示。
  通过抽样测试多重传感手势识别器的识别准确率可以发现,准确率较单个识别器有了一定的提高。安全性方面,因为手势组合后的繁多样式,以及摄像头的避用,对各人信息的安全保护方面做了加强。
  5 结语
  本文运用Arduino单片机与RGB手势识别传感器&3D手势识别传感器三种主要工具,通过传感器的基于组合数公式的交叉复合连接使用,基于不同传感器的多种识别原理,设计實现了复杂的多重传感手势识别器,用识别简单手势的传感器组合实现了复杂手势的识别,实现了对机械车的控制和操作,在已有技术的基础上提高了一定的准确性;在不使用摄像头、指纹等元素,以及复杂多样的手势动作设计的情况下,一定程度的保证了用户使用的安全性;而且操作不受时间,地点等其他因素的限制,更为方便。本实验设计的多重传感手势识别器旨在提高人们的生活质量,尤其为特殊人群提供便利。该针对不同原理识别器复杂综合应用的技术可以衍生设计出更多相关专用技术,应用于不同需求的工程项目中,具有较好的发展前景。
  参考文献
  [1] 梁梓廷,叶军,郑树海,等.基于Arduino的手势识别控制装置[J].电脑知识与技术,2017,13(18):184-185.
  [2] 周雄健.基于静电电容式触摸检测的3D手势识别技术[J].家电科技,2018(12):58-61.
  [3] 梁秀波,张顺,李启雷,等.运动传感驱动的3D只管手势交互[J].计算机辅助设计与图形学学报,2010,22(3):521-533.
  [4] 刘鑫辰,傅慧源,马华东.基于RGB-D摄像头的实时手指跟踪与手势识别[J].计算机科学,2014,41(10):50-61.
  [5] 李袁媛,林尹雅,李想,等.基于Arduino平台的三位手势感应台灯设计与实现[J].无线互联科技,2018(15):70-73.
  [6] 胡荐苛,丁哲通,蒋晨.基于Leap Motion手势识别的Arduino智能车控制[J].机械设计与制造工程,2017,46(8):51-54.
  [7] Shweta K.Yewale,Pankaj K.Bharne.Artificial Neutral Network Approach for Hand Gesture Recognition[J].3th International Journal of Engineering Science and Technology,2011,3(4):2603-2608.
  [8] COLLINS R,GROSS R,SHI J.Silhouette-based human identification from body shapeand Gait[J].5th International Conference on Automatic Face and Gesture Recognition,2002.
转载注明来源:https://www.xzbu.com/8/view-15115533.htm