基于FPGA的实时手势识别系统
张永强;陈香;王从政;董中飞;左鹏飞
【摘要】本文构建了一个基于FPGA的实时手势识别平台,并在该平台上实现了一
种基于表面肌电(sEMG)信号和加速度(ACC)信号的手势识别算法.具体实现过程中,
无线sEMG传感器和无线三轴ACC传感器穿戴于两手前臂实时获取sEMG信号
和ACC信号,并以无线方式发送到数据处理模块.数据处理模块充分利用FPGA的
并行处理优势,融合ACC和sEMG信息特征,实现了单双手手势的实时识别.经测试,
本文所用的手势识别算法移植到FPGA中以后,识别速度明显提高,16个中国手语手
势动作达到了95%以上的识别率.%Thispaperdevelopedareal-timegesture
recognitionsystembadonFPGA,andachievedagesturerecognition
algorithmbadonsurfaceelectromyography(sEMG)andacceleration
(ACC)ically,thewirelesssEMGnsorsand
wirelesstri-axialACCnsorswerewornonthearmstocollectsignalsand
cessingmodule
tookfulladvantageofFPGAparallelprocessing,andputsEMGandACC
signalfeaturestogethertoachievereal-timehandgesturerecognition.
Accordingtothetest,thehandgesturerecognitionalgorithmtransplanted
onFPGAgotfasterrecognitionspeedthanitwasrunonapersonal
computer,andtherecognitionrateforsixteenkindsofChinesign
gesturesreached95%above.
【期刊名称】《传感技术学报》
【年(卷),期】2011(024)011
【总页数】5页(P1653-1657)
【关键词】手势识别;FPGA;表面肌电;加速度
【作者】张永强;陈香;王从政;董中飞;左鹏飞
【作者单位】中国科学技术大学电子科学技术系,合肥230027;中国科学技术大学
电子科学技术系,合肥230027;中国科学技术大学电子科学技术系,合肥230027;中
国科学技术大学电子科学技术系,合肥230027;中国科学技术大学电子科学技术系,
合肥230027
【正文语种】中文
【中图分类】TP274.2;TP212.9
随着传感器技术、通信技术和IC技术的快速发展,人机交互已经从原来的键盘、
鼠标这种单一的交互模式,迅速发展成为融合多种传感器,运用多种通信方式的多
样化交互模式[1-2]。手势识别是当下人机交互领域的热点研究方向之一[3]。
目前,市场上和实验室里已有的手势识别系统主要分为基于数据手套和基于计算机
视觉的交互系统[4],它们提供了一种和谐自然的人机交互方式。但是,基于数
据手套的系统穿戴复杂,价格昂贵,大量推广比较困难[5]。而基于视觉的系统
易受环境干扰,识别率低,不适于大量手势识别[6]。针对前述两种手语识别系
统的弊端,基于表面肌电和加速度的手势识别在穿戴和价格方面有着更多优势,在
手势识别研究中取得了较好的进展[7]。
表面肌电信号是一种可以反映肌肉的活动状态和强度的电生理信号。不同的手势执
行过程中会伴随着不同肌肉群的收缩,将表面肌电电极安置在特定的肌肉群位置上,
可以检测到带有可分性手势信息的表面肌电信号。表面肌电信号主要反映的是手型
信息和手腕伸屈信息,对手指动作的识别有着独特优势。例如,Jun-UkChu等人
对四通道肌电信号使用广义小波变换进行特征提取,最终实现了10类手势的识别,
识别率不低于93%[8]。加速度传感器可检测手臂的空间运动信息,对运动尺度
较大的手势具有较好的区分能力。例如,刘剑锋等人采用隐马尔科夫模型作为分类
器实现了基于加速计信号的八类大幅度手势的识别,识别率达88%以上[9]。两
种传感器在手势信息描述上有着不同的优势,将二者有效的结合可以实现较高精度
的手势识别。本人所在实验室对加速计与表面肌电传感器信息进行融合,采用多级
决策树算法在PC机上实现了30类以上的典型手语词和模拟真实情景对话的16
个例句的识别[10]。
目前,基于表面肌电和加速度的手势识别系统多采用PC处理的方式[11-12],
很不利于实际场合的应用。因此,开发相应的嵌入式系统,对于该项技术的推广有
着十分重大的意义。FPGA硬件结构完全由用户自己定义,可以进行大量的并行性
运算,更灵活的实现各种算法。基于此,本文设计了以FPGA为核心的嵌入式系
统,进行大量的算法并行化处理,最终实现了多种手势的快速识别,为将来进一步
实现便携实用的手势识别系统奠定了基础。
1系统实现
FPGA实时手势识别平台的实物图和硬件结构图分别如图1和图2所示。从硬件
上,系统分成三个模块:无线数据采集发送模块、数据处理模块和结果显示模块。
图1手势识别系统实物图
图2系统硬件结构框图
1.1无线数据采集发送模块
本文所用无线数据采集发送模块[13]如图1(a)所示。模块尺寸为长35mm,宽
20mm,厚11mm,把sEMG或ACC的信号采集和数据的无线收发部分组装在
了一起,非常适合穿戴在人体上。
sEMG信号由实验室自制的sEMG传感器获取,ACC信号来自加速计芯片
MMA7361。选用C8051F411为控制器,C8051F411通过自带的12位ADC对
传感器输出信号采样,然后,控制射频芯片CC2500把数据发射出去。经测定,
sEMG传感器工作时的信噪比保持在20dB以上(此处信噪比指做手势产生的
sEMG信号幅度与静止状态下电极测量的噪声幅度之比),ACC芯片工作于1.5gn
模式时可以产生分辨率高达800mV/gn的模拟三轴加速度信号,每个ACC芯片
为系统提供来自三个方向的三通道ACC信号。无线通信方面,选用了TI公司的
CC2500无线收发芯片,芯片工作稳定,且尺寸较小。由于芯片工作在2.4GHz频
段,故其所需天线的尺寸也比较小,可将天线集成在PCB板上以达到缩小电极体
积的目的。同时,CC2500还具有功耗低等优点,有助于降低移动设备的功耗。
如图3所示,在用户双手前臂手臂各放置5个sEMG模块和1个ACC模块,就
构成了本系统所需的基于sEMG和ACC的16通道无线数据采集前端。
图3ACC和SEMG传感器的放置
1.2信号处理模块
本系统信号接收端为两片CC2500,直接由FPGA通过SPI接口控制,二者相互
独立工作于两个频段,互不干扰。
信号处理模块主要由FPGA组成,如图1(b)所示。FPGA选用EP3C10E144,属
于AlteraCycloneⅢ系列,具有423Kbit的嵌入式存储器,10320个逻辑单元
(LE),95个用户I/O管脚和46个硬件乘法器。
基于sEMG信号和ACC信号的手势识别,在算法流程上分为活动段检测、特征提
取和分类识别三个步骤。FPGA内部功能具体实现框图如图4所示。
图4FPGA内部模块框图
1.2.1活动段获取算法实现
信号是否进入活动段,通过监测sEMG信号来决定。多通道sEMG数据经过数据
汇总模块后,以帧为单位发送给活动段监测模块,每帧中含有5个通道的数据,
按时间先后顺序沿并行信号线依次发送。帧的同步信号标识每帧的开始,每通道的
信号由位的同步信号标识。
活动段检测算法采用绝对值移动平均(AMA)[14]的方法,其FPGA实现原理如
图5所示。先取得各通道sEMG信号绝对值的和,设置一个累加器1,用帧同步
信号作为累加器1的清零端,用位同步信号作为累加器1时钟,数据取绝对值后
流入累加器1,每个帧同步来到时累加器1输出一次结果。32点移动平均用移位
寄存器的结构实现,帧同步信号为移位寄存器提供时钟,在每个时钟周期进行一次
移位,累加器2加入新进寄存器的值,减去移出寄存器的值,累加的结果与阈值
比较。这种移位相加结构实现的活动段检测效率高,消耗的资源少,在FPGA上
实现具有一定的优势:假如试图用程序而不是逻辑实现该结构,每次移位需要执行
32次赋值操作,而在FPGA中,只需一个时钟周期就可完成任意点数的移位。本
系统使用两个这样的活动段监测模块以实现双手手势的独立并行处理。
图5活动段检测的FPGA实现
1.2.2特征提取算法实现
对于sEMG信号,采用每通道的绝对值均值作为特征。首先把接收到的每一个数
据经汇总后存入外部的SRAM中,当信号进入活动段时,对此时的数据所在的片
外SRAM的地址进行标记;当动作完成后,再对此时的数据所在的片外SRAM的
地址进行标记。这样,当一个动作完成时,根据标记的地址,集中的把活动段以内
的数据读出来进行特征提取运算。
ACC信号作用是判别手势所处的运动状态与方位,取平均值A=∑Xi/N作为手势
方位的判断,用一阶矩u=∑|Xi-A|/N判断运动的剧烈程度。由于求取平均值同
求取一阶矩十分相似,可以写成统一的形式F=∑|Xi-C|/N,求取平均值A时令
C=0,求取一阶矩u时令C=A。在CPU上,这种处理方式会引来更大的时间开
支,因为求取均值的时候做了不必要做的处理。但是在FPGA中只需要做一个这
样的结构,循环两次就可以先后得到均值和一阶矩,恰恰减少了FPGA资源的消
耗。实现原理如图6所示。
图6ACC信号特征求解的FPGA实现
由于除法运算会占用大量的逻辑单元和时钟周期,根据实际情况,整个活动段的
ACC点数N不会超过256个,采取把除法变换为乘法的方式,把所有可能出现的
N的倒数1/N(0-255)乘以65536(2的16次方)得到65536/N,按对应的存入一
个单独分配的内嵌RAM中,以N为对应数据的地址,发送给内部生成的ROM,
就可以在下一个时钟周期得到65536/N的数值。然后使用内置的硬件乘法器做乘
法,同时右移16位,即可在一个时钟周期里得到运算结果,最低精度为千分之一。
通过牺牲一个硬件乘法器和少数存储单元,换来了几十倍以上的时间和逻辑单元,
并且保证了运算的精度,这种方式对于拥有着丰富硬件乘法器和大量内嵌存储器的
FPGA来说,是十分合理的。
1.2.3识别算法实现
识别算法分为两个步骤:①通过ACC特征锁定手势动作的方位和运动的剧烈程度,
完成预分类;②使用sEMG特征完成最终分类。首先,通过特征提取得到三轴ACC
信号的均值和一阶矩,再通过三轴ACC信号的均值可以得知当前手势所处的方位。
把三轴ACC信号的一阶矩的和同某一阈值作比较,如果小于该阈值,判定该手势
为静态手势,否则,判定该手势为动态手势。
ACC特征的预分类,可以有效缩小识别范围,减少运算量。接着,把5通道
sEMG的绝对均值组成特征向量,设计正态分布下的贝叶斯分类器[15-16]对
手势动作进行精确的分类识别。分类器的结构如图7所示。
图7分类器结构
其中,X=(x1,x2,…,xd-1,xd)T为特征向量,d为特征维数,wi为类别,
gi(X)为类别wi的判别函数,N为类别数。本文的贝叶斯分类器使用最小错误判决
规则,同时,假定各类别的类条件概率密度函数P(X|wi)满足多变量正态分布,μi
和Σi分别表示X在类别wi下的均值向量和协方差阵。根据文献[15],可取如
下函数作为判别函数:
P(wi)为类别wi发生的先验概率,这里取每个类别的先验概率等同,判决函数可以
最终简化为
使用多个样本对分类器进行训练,获得判决函数所需的参数。当前的FPGA手势
识别系统尚未加入操作系统,没有提供足够强大的人机界面进行在线训练,训练工
作仍然通过PC机完成。为了计算方便,我们把判决函数所需的已知参数放在一起
组成模板,载入FPGA的自生成ROM中。将当前特征向量进行有限次数的加法、
乘法之后,即可得到识别结果。
在单手手势和双手手势的判别上,如果双手动作的活动段在时域上有重合部分,则
判别为双手手势。在活动段检测上,左右手是独立的,同时进行的。系统设定,无
论是单手手势,还是双手手势,退出活动段后会立即进行特征提取和分类识别,然
后直接把结果发送给单片机。识别结果用一个字节表示,图8给出了这个字节的
组成和每个bit所代表的含义。单片机通过解析这个字节便可得知所需信息,进一
步做出反应。这种方式没有引入相对于单手手势识别而言的任何延时,既兼容了单
双手手势的识别,同时保证了系统的实时性。
图8识别结果字节格式定义
1.3结果显示模块
本模块由单片机和液晶显示模块(简称LCD)构成,单片机接收到动作识别结果后,
以汉字的形式将结果在LCD上显示出来。系统选用了具有丰富的片上外设的
C8051F340单片机,其具有全速USB模块,可方便的实现单片机与PC的快速数
据传输,同时多达40个PIO口可方便实现同FPGA的并口通信和对LCD的并口
控制。
2结果与系统性能测试
我们从识别准确率和识别速度两方面开展相应实验对系统性能进行测试。
(1)手势识别准确率测试。选取了中国手语的8个单手词和8个双手词对系统识别
率进行测试,手语词的图片如图9所示。其中,单手词有:你,好,等号,坏,部,
山,永远和现在;双手词有:家,人,榜样,元旦,结婚,坐,今天和强大。
图916个中国手语手势
每类动作取20个样本训练分类器,训练完成后,将分类器参数载入FPGA中,进
行识别率测试。测试过程中,为了统计方便,规定每个动作重复测试20次。实验
选取了3位同学A,B,C作为受试者,被正确识别出的手势数和识别率如表1所
示。从表1可见,本系统实现了对16种手势动作的95%以上的正确识别。
表1手势识别测试结果好等号你坏永远部山现在识别率ABC
98.7%96.8%97.5%元旦结婚家榜样人坐强今天识别率2020202019
29291719202020ABC20201920
92020
97.5%97.5%95.6%
(2)手势识别速度测试。通过配置FPGA,引出一个活动段指示管脚和一个识别结
果指示管脚,每次识别时,用示波器测量这两个管脚电平变化边沿的时间差,即识
别时间(特征提取与分类所需的时间)。对多个时间长度不同的动作测量发现,特征
提取和分类所用的时间基本保持在1.4ms左右。同CPU主频为2.5GHz,且拥有
2G内存的个人计算机相比,运用同样的算法识别同样多种类的动作时,FPGA的
计算速度约是计算机的4倍,而FPGA目前接入的主时钟频率是50MHz,约为
计算机的1/50。经过对总体逻辑结构的分析认为,FPGA进行手势识别的主要时
间消耗在分类器模块。每次识别过程中,由于参与分类的判别函数个数是一样多的,
因此,分类器模块消耗的时间总是固定的,致使识别时间基本不变。
FPGA内部资源消耗情况如表2所示。
表2FPGA资源消耗逻辑单元3885(37%)9*9硬件乘法器12(26%)内嵌存储单
元13.5KB(23%)锁相环1(50%)
3结论
本文通过安置于人体的无线sEMG传感模块和无线三轴ACC传感模块,完成数据
采集与发送工作。在数据处理上,充分利用FPGA本身的特点,实现了具有FPGA
特色的手势动作模式识别算法。实验证明,本手势交互系统可实现多类手势动作的
准确实时识别,且具有便携的特点,对推广至其他实际应用场合,或者经过版图设
计、后端仿真等设计流程,最终研制出手势识别芯片,都具有较高的实用价值。
参考文献:
[1]迟健男,王志良,谢秀贞,等.多点触摸人机交互技术综述[J].智能系统学
报,2011,6(1):28-37.
[2]徐宝国,何乐生,宋爱国.基于脑电信号的人机交互实验平台的设计和应用
[J].电子测量与仪器学报,2008,22(1):81-85.
[3]ChenXiang,ZhangXu,ZhaoZhangyan,sture
RecognitionRearchBadonSurfaceEMGSensorsand2D-
accelerometers[C]//WearableComputers,2007:11-14.
[4]MitraS,eRecognition:ASurvey[J].IEEE
TransactionsonSystems,Man,andCybernetics,2007,37(3):311-324.
[5]吴江琴,高文,基于DGMM的中国手语识别系统[J].计算机研究与发展,
2000,37(5):551-558.
[6]StarnerT,WeaverJ,-TimeAmericanSignLanguage
RecognitionUsingDeskandWearableComputerBadVideo[J].IEEE
TransactionsonPatternAnalysisandMachineIntelligence,1998,
20(12):1371-1375.
[7]AsghariOskoeiM,ctricControlSystems—ASurvey
[J].BiomedicalSignalProcessingandControl,2007,2(4):275-294.
[8]Jun-UkChu,InhyukMoon,-TimeEMG
PatternRecognitionSystemBadonLinear-NonlinearFeatureProjection
foraMultifunctionMyoelectricHand[J].IEEETransactionsonBiomedical
Engineering,2006,53(11):2232-2239.
[9]JianfengLiu,ZhigengPan,lerometer-Bad
GestureRecognitionAlgorithmanditsApplicationfor3DInteraction
[J].ComputerScienceandInformationSystems,2010,7(1):177-188.
[10]李云,陈香,张旭,等.基于加速计与表面肌电传感器信息融合的手语识别
方法[J].航天医学与医学工程,2010,23(6):419-424.
[11]AnalaPandit,DhairyaDand,SisilMehta,eWearable
HandGestureRecognitionDeviceusingiMEMS[C]//SoftComputingand
PatternRecognition,2009:592-597.
[12]ChenXiang,ZhangXu,ZhaoZhangyan,leHand
GestureRecognitionBadonSurfaceEMGSignal[C]//International
ConferenceonBioinformaticsandBiomedicalEngineering,2007:506-509.
[13]胡巍,赵章琰,陈香,等.无线多通道表面肌电信号采集系统设计[J].电
子测量与仪器学报,2009,23(11):30-35.
[14]ChenXiang,ZhangXu,ZhaoZhangyan,leHand
GestureRecognitionbadonSurfaceEMGSignal[C]//International
ConferenceonBioinformaticsandBiomedicalEngineering,2007:506-509.
[15]孙即祥.现代模式识别[M].长沙:国防科技大学出版社,2002:91-99.
[16]汪增福.模式识别[M].合肥:中国科学技术大学出版社,2010:87-89.
本文发布于:2023-03-04 00:53:50,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677862431129334.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:单手模式.doc
本文 PDF 下载地址:单手模式.pdf
留言与评论(共有 0 条评论) |