APP下载

一种基于DSP的实时手势交互系统*

2011-10-08王从政董中飞张永强杨基海

传感技术学报 2011年5期
关键词:手势识别率红外

王从政,陈 香,董中飞,张永强,杨基海

(中国科学技术大学电子科学与技术系,合肥230027)

手势识别是人机交互和虚拟现实技术领域的热点研究方向之一[1]。目前,基于表面肌电和加速度信号的手势识别研究取得了较好的进展[2-4]。Anala等[5]利用3轴加速度信号实现了用户手势与计算机屏幕的交互。Vasiliki等[6]利用sEMG和ACC信号的分析处理实现了60个希腊字母手势的识别,平均识别率达到了92%。李国峰等[7]基于MEMS加速度传感器实现了一种智能输入系统。本文作者所在的实验室在仅使用sEMG信号的情况下,实现了16类手势动作的识别,识别率可达90.3%[8],同时利用sEMG和ACC信号实现了基于手势控制的虚拟游戏[9]。

现有的手势识别研究成果多是使用有线信号采集设备在PC平台上得到[5,8],采集设备与 PC之间的连接线不但对使用者造成不便,限制某些动作的执行,还会给测量引入工频干扰,影响采集信号的质量,不利于手势识别技术的推广。为解决上述问题,本文工作特色包括:①将用于手势识别的sEMG和ACC信号采集设备做成无线模块[10],使其具有工作独立、体积小、方便安置于人体等特点;②采用DSP芯片实现手势动作模式识别算法;③将实时识别的手势动作结果以指令的形式发送到应用模块,以图片形式在液晶屏上显示,同时发送至红外遥控编码实现家用电器的遥控。实验证明,本手势交互系统可实现对8类手势动作的准确识别,且在家用空调的红外遥控中得到了成功应用。本系统具有便携的特点,可推到其他实际应用场合,具有较高的实用价值。

1 系统实现

实时手势交互系统主要包括数据采集及无线发射模块、无线信号接收及处理模块和手势应用模块,系统结构框图如图1所示。数据采集模块具有sEMG和ACC信号获取、滤波、放大及AD转换功能,无线发射模块则是利用单片机控制无线发射芯片实现对采集数据的无线发送。对于无线信号接收模块,其功能为通过无线接收芯片实现数据接收,利用单片机将接收到的信号实时发送给信号处理模块,最后单片机获取信号处理模块得到的识别结果,并将其利用串口传送给手势应用模块。手势应用模块根据其串口接收的命令进行LCD显示控制及红外遥控指令发送。

图1 系统结构框图

1.1 数据采集及无线发射模块

数据采集及无线发射模块以单片机C8051F411为核心,其结构框图如图2所示,其中,sEMG采集和ACC采集是两个独立的模块,本系统具有5个sEMG采集模块和1个3D ACC采集模块。

对于sEMG模块,首先是利用差分电极[11]进行信号拾取,差分电极即两个长条形的镀金焊盘,其中,焊盘长为 10 mm,宽为 2.5 mm,两者间距为10 mm。接着对sEMG信号进行两级放大,其中前级放大使用了高输入阻抗、高CMRR、低电流噪声的仪表运放AD8220,后级为运放OPA364构成的切比雪夫I型1阶带通滤波放大电路,两级共完成约1 000倍的放大,且滤波电路的通带范围为20 Hz~1 000 Hz。最后单片机利用200 ksps的12位AD模块实现信号采样,并通过芯片CC2500实现数据的无线发射。该模块装配后,尺寸为长35 mm,宽20 mm,厚11 mm。对其性能进行测试后发现,sEMG模块工作时的信噪比保持在20 dB以上(此处信噪比指做手势产生的sEMG信号幅度与静止状态下电极测量的噪声幅度之比),在无线通信的稳定性方面,不论电极工作于室内或者室外,均可保证7.5 m内稳定通信。

对于加速度模块,ACC信号的产生来自芯片MMA7361,该芯片工作于1.5 g模式时可以产生分辨率高达800 mV/g的模拟加速度信号,且其尺寸只有3 mm×5 mm。ACC模块的滤波部分主要是为了降低ACC信号中的时钟噪声,该模块的采集及发射部分与sEMG模块的电路相同。

数据采集及无线发射模块控制器选用了C8051F411,其具有QFN-28封装,较小的芯片尺寸有助于缩小电极体积,且无需附加外围电路,可实现电路的简化,同时,该控制器具有50 MIPS的高速、流水线结构,可以满足系统的实时处理需要。此外,该单片机还具有丰富的片上外设,其中多通道12位AD转换模块可方便地实现SEMG和ACC信号的采集,SPI模块可用于实现无线收发芯片CC2500的配置和控制。无线收发芯片选用了 TI公司的CC2500,该芯片具有较小的尺寸,由于其工作在免许可的2.4 GHz频段,故其所需天线的尺寸也比较小,可将天线集成在PCB板上以达到缩小电极体积的目的。同时,CC2500还具有功耗低等优点,有助于降低移动设备的功耗。

图2 无线采集模块结构框图

1.2 无线信号接收及处理模块

该模块主要由单片机C8051F340和定点DSP组成,结构框图如图3所示。该模块上电后,单片机系统有两种工作模式:一是通过HPI接口与DSP相互通信,实现数据的实时传送,DSP模块的主要功能为信号的实时处理及处理结果的存储;二是利用单片机的USB接口实现系统与上位机的通信,保证原始信号可以在PC上存储为数据文件。同时,单片机对采样数据的无线接收也使用CC2500芯片实现。最后,该单片机还要利用HPI接口实现通过DSP分析所得手势分类结果的实时获取,并且通过其串口将识别结果发送到应用模块。

本模块的单片机选用了具有丰富的片上外设的C8051F340,其中片上的SPI接口可用于无线收发芯片CC2500的控制及有效数据的接收,全速USB模块可方便的实现单片机与PC的快速数据传输,片上的UART模块可用于与应用模块通信。

定点DSP是本系统的核心处理器,实现数据的实时处理并返回手势动作的识别结果。TMS320VC5502是TI的16位定点、运行频率可达300 MHz的高速DSP,具有高性能和低功耗等优势,有利于实现数据的实时处理。同时,考虑到信号处理算法对存储器的要求,该芯片还具有大容量的片上存储器,即64 KB的DARAM和16 KB的ICache,而且通过其EMIF接口还可以无缝的扩展8 MB的SDRAM,既能满足当前系统算法的存储器需要,也为系统算法的升级提供裕量。此外,该处理器还具有多种片上外设,为了实时地从单片机端获取数据,其HPI接口可以使其片上DARAM成为8位MCU的外扩SRAM,故DSP通过两者共用存储器的方式实现采集数据的获取,同时,其片上还具有DMA模块,可以高效的实现存储器内部数据搬移。

图3 无线信号接收及处理模块结构框图

本模块是手势识别系统的核心,其软件设计既要能独立运行,又要联系其他模块,本模块的单片机端流程图如图4所示,DSP端程序流程图如图5所示。

图4 单片机端流程图

单片机端以20 ms为周期将分别接收的多通道采集数据写入DSP的DARAM,DSP端将每个周期接收的数据进行搬移,防止单片机再次写入数据时发生覆盖。存储在缓冲区内的数据首先要进行预处理,即低通滤波,降低由于无线通信带入的噪声。滤波后的数据到手势识别结果的输出主要包含活动段检测,特征提取和分类算法三部分。

图5 DSP端程序流程图

活动段检测[12]是实现连续采集数据中有实际动作的数据段分离。分离后的有效数据减小了数据量,可以降低系统对处理器的要求。由于sEMG信号幅度与手势动作有直接联系,活动段检测主要针对sEMG信号进行。本文利用移动窗[8,12]实现活动段检测,其步骤如下:①对原始信号加窗,再求绝对值之和;②首先将其与动作起始阈值比较(若判断动作的结束应与结束阈值比较),阈值的设定由实验确定,当绝对值之和大于起始阈值时,保留其小于结束阈值前的所有数据。

本文对于sEMG信号的特征提取,取每导信号的MAV(绝对值均值)及4阶AR模型的前三个系数[8]组成特征向量,由于有5个sEMG电极,则可得一个20维的特征向量。对于ACC信号的特征提取,通过观察手势动作过程中加速度信号的波形变化,对每轴ACC信号进行减采样得三点数据,数据分别为有效数据段的起始点、结束点及3/4位置点。通过两类传感器的特征融合,特征提取的结果为一个29维的特征向量。对于模式分类算法,本文使用Bayes线性分类器[13]进行分类识别,基本过程为:先采集用户的若干组动作信号作为训练样本,再利用训练样本生成的特征向量对分类器进行训练得到最终的分类器参数。

1.3 手势应用模块

该模块主要有两大功能,一是展示手势识别结果,为系统的手势识别率统计提供直观的依据,二是将识别结果应用于实际用途,即用手势进行家用空调的红外遥控,体现研究的实用价值。模块的实现框图如图6所示。从单片机通过串口实时从主单片机获取手势识别结果,并按照预定编码在LCD上显示相应识别结果并通过红外发射电路发送空调遥控指令,其中LCD上显示的结果图片存储于TF卡中,故单片机还需通过SPI接口控制CH376实现TF卡中位图文件的读取。

图6 手势应用模块结构框图

手势应用模块的核心单元为单片机C8051F340,该单片机的片上外设SPI接口可用于操作TF卡的管理芯片CH376,UART模块用于实现与主单片机的通信,较多的通用IO端口可实现液晶屏显示及红外发射电路的驱动。系统中两单片机间的通信是为了传递手势识别结果,本系统将识别结果以单字符的形式编码并传送,即系统最多可为256种分类动作结果进行编码和传送。由于本研究以空调红外遥控为应用实例,考虑到常用空调遥控的功能有电源关闭、温度升降、风向模式(手动或者自动)以及模式正反顺序切换(制冷、除湿、送风、制热),本文以8类动作实现对以上功能的控制,识别结果的编码为字符0~7。对于手势动作的选择,根据实验室的前期研究成果,本文选择了8类具有高分类准确率的手势动作,依次为:握拳(HDGP)、伸掌(EXPM)、伸腕(EXWR)、屈腕(FLWR)、伸大指(EXTF)、OK 手势(OKAY)、握拳后画0(NUM0)和握拳后画1(NUM1)。各类手势动作图片如图7所示。

图7 八类手势动作

CH376是用于管理TF卡中存储文件的控制芯片,单片机可以使用SPI接口对其配置及操作,本系统的TF卡内存储了LCD显示所需的图片文件,可通过CH376进行文件读取。LCD显示选用了高画质的TFT真彩色LCD模块,单片机利用串口接收动作识别结果的编码,并且以编码为索引读取TF卡中相应文件,通过解析16色RGB565位图得到要显示的数据矩阵,最后实现LCD上的画面显示。

红外发射模块负责红外编码串的发送,单片机将串口接收的结果字符依据手势动作与红外发射指令对应表转换成对应的红外遥控编码,实现家用空调的红外遥控。本系统使用的红外发光二极管是常用的940 nm透明二极管,红外编码发射的载波频率为38 kHz,其利用定时器通过软件实现,稳定的载波频率使得红外遥控距离达8 m以上,足以满足家用空调遥控的需要。八类手势动作与红外遥控指令对应关系见表1。该模块的单片机程序是实现相应功能的关键,程序流程图如图8所示。

表1 手势动作与红外遥控指令对应关系表

图8 手势应用程序流程图

1.4 系统模块集成

实时手势识别系统由数据采集及无线发射模块、无线信号接收及处理模块和手势应用模块组成。5个表面肌电传感器和1个3D加速计电极通过无线2.4GHz方式将采集的数据实时向空间发送,主单片机利用CC2500获取无线数据,并且有选择的将其传输给PC或者DSP,当DSP收到一段完整数据时,经过处理会实时的返回识别结果,从单片机通过主单片机的中转获取识别结果,并且将其以图片显示和转换成红外指令发送。系统的实物图如图9所示。

图9 手势识别系统实物图

2 系统实验与结果分析

我们在实验室环境下利用本系统首先对3位受试者进行了动作识别测试实验。测试实验分为两种模式:一种为当天训练方案,即让受试者在同一天对系统进行训练和测试;另一种为多天训练方案,让受试者分别在多天内对手势识别系统进行训练,进而得到性能趋于稳定的训练模板。

表2给出了当天训练方案的实验结果,给出了3名受试者,8个动作的测试情况,测试时每个动作重复20次。由表2可知,3名受试者分别得到了100%、98.8%和98.1%的正确识别率。虽然当天训练方案得到了较高的识别率,但每次使用前都需先训练系统,显然与系统的实用性不符。

表2 当天训练方案测试结果

图10给出了多天训练方案的测试实验结果,包括2至5天的测试情况,其中第n天使用利用前n-1天采集数据训练好的模板进行测试,每天每个动作测试20次,每天依次给出了HDGP到NUM1的正确识别率。设计多天训练测试实验的目的是试图为系统训练出稳定的测试模板,使得用户在对系统进行了一定时间的训练后可直接使用系统,无需每次使用前都对系统进行训练,增强系统的实用性。观察图10所示测试结果可知,经过4天训练后,系统识别率已基本达到当天测试的水平,即用户经4天训练可得到较好的分类效果。

图10 多天训练方案测试结果

分析表2和图10所列数据可知,在当天训练方案中不同受试者的动作识别率有一些差距,这与受试者的训练程度有关,WCZ为已训练受试者,而其他两位是首次参加测试实验,故前者具有更高的识别率。对于多天训练方案,有些动作(如 NUM0、NUM1)一直具有较高的识别率,实际应用时可将其设置为常用功能的控制,同时,对于另外的一些动作(如EXPM、EXWR),经过多天测试后识别率也都有较大的提高,若用户想要得到更高识别率,可在使用系统前延长训练天数。

在动作识别测试实验后,我们进一步从3名受试者中随机选择一位进行了空调红外遥控性能测试实验,测试时使用对应的多天训练模板,受试者每类动作重复240次,得到了表3所示测试结果。分析表3可知,利用手势进行空调红外遥控的平均失误率为2.45%,可以基本满足应用需要。

表3 单人多天模板测试红外遥控结果

3 结论

本文设计并实现了一套基于定点DSP的实时无线手势识别系统。该系统采用无线方式传送手势动作表面肌电和加速度信号,利用DSP进行实时数据处理和手势动作的实时识别,并将识别结果转换成控制命令,实现基于手势动作的家用电器实时控制。对8类动作开展的实时测试和空调红外遥控实验结果表明,本系统具有较高的识别率,可有效的实现对家用电器的红外遥控。本研究工作为基于表面肌电和加速计信号的手势识别研究推进至实用场合进行了一次有意义的尝试。

[1]Chen Xiang,Zhang Xu,Zhao Zhangyan,et al.Hand Gesture Recognition Research Based on Surface EMG Sensors and 2D-accelerometers[C].Wearable Computers,2007:11-14.

[2]Mohammadreza Asghari Oskoei,Huosheng Hu.Myoelectric Control Systems—A Survey[J].Biomedical Signal Processing and Control,2007,2(4):275-294.

[3]Zhao Zhangyan,Chen Xiang,Zhang Xu,et al.Study on Online Gesture sEMG Recognition[C].LNCS,2007:1257-1265.

[4]王昌喜,杨先军,徐强,等.基于三维加速度传感器的上肢动作识别系统[J].传感技术学报,2010,23(6):816-819.

[5]Anala Pandit,Dhairya Dand,Sisil Mehta,et al.A Simple Wearable Hand Gesture Recognition Device using iMEMS[C].Soft Computing and Pattern Recognition,2009:592-597.

[6]Vasiliki E,Leontios I.Using Sample Entropy for Automated Sign Language Recognition on sEMG and Accelerometer Data[J].Medical and Biological Engineering and Computing,2010,48(3):255-267.

[7]李国峰,王锦,张勇,等.基于MEMS加速度传感器的智能输入系统[J].传感技术学报,2009,22(5):643-646.

[8]Chen Xiang,Zhang Xu,Zhao Zhangyan,et al.Multiple Hand Gesture Recognition based on Surface EMG Signal[C].International Conference on Bioinformatics and Biomedical Engineering,2007:506-509.

[9]Xu Zhang,Xiang Chen,Zhao Zhangyan,et al.Hand Gesture Recognition and Virtual Game Control Based on 3D Accelerometer and EMG Sensors[C].International Conference on Intelligent User Interfaces,2009:401-406.

[10]胡巍,赵章琰,陈香,等.无线多通道表面肌电信号采集系统设计[J].电子测量与仪器学报,2009,23(11):30-35.

[11]HERMIE J.Development of Recommendations for SEMG Sensors and Sensor Placement Procedures[J].Journal of Electromyo-graphy and Kinesiology,2000,10(5):361-374.

[12]尹少华,杨基海.基于递归量化分析的表面肌电特征提取和分类[J].中国科学技术大学学报,2006,36(5):550-555.

[13]汪增福.模式识别[M].合肥:中国科学技术大学出版社,2010:108-118.

猜你喜欢

手势识别率红外
网红外卖
闪亮的中国红外『芯』
基于类图像处理与向量化的大数据脚本攻击智能检测
挑战!神秘手势
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
TS系列红外传感器在嵌入式控制系统中的应用
V字手势的由来
提升高速公路MTC二次抓拍车牌识别率方案研究
胜利的手势
基于快速递推模糊2-划分熵图割的红外图像分割